@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,400;0,500;0,600;1,400;1,500&display=swap');
:root{--cream:#fcf8ef;--ink:#39271e;--brown:#54291e;--rust:#9c4c2c;--line:#dbcfbf}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:130px}body{margin:0;background:var(--cream);color:var(--ink);font-family:'DM Sans',sans-serif;font-size:16px;line-height:1.65}a{color:inherit;text-decoration:none}a:hover{text-decoration:underline;text-underline-offset:5px}a:focus-visible{outline:3px solid #bf782d;outline-offset:6px}h1,h2,h3,p{margin-top:0}h1,h2,h3{line-height:1.15}h1,h2{font-family:'Playfair Display',Georgia,serif;font-weight:400;letter-spacing:-.035em}h1{font-size:clamp(3rem,5.7vw,5.8rem)}h2{font-size:clamp(2.3rem,4vw,4rem)}h3{font-family:'Playfair Display',Georgia,serif;font-size:1.65rem;font-weight:500}em{font-weight:400}header{height:112px;display:flex;align-items:center;justify-content:space-between;padding:10px 5%;background:#fff;position:relative;z-index:3;border-bottom:1px solid var(--line)}.brand img{width:103px;height:100px;object-fit:contain;display:block}header nav{display:flex;gap:38px;align-items:center;font-size:.95rem}header nav [aria-current]{color:var(--rust);border-bottom:1px solid var(--rust)}.nav-visit{border:1px solid var(--brown);padding:11px 23px;border-radius:3px}.hero{min-height:640px;height:calc(100svh - 168px);max-height:900px;position:relative;background:#241b14;color:#fff;overflow:hidden}.hero-photo{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(20,15,12,.89),rgba(20,15,12,.55) 42%,transparent 78%)}.hero-copy{position:relative;padding:85px 6%;max-width:760px}.eyebrow{font-size:.78rem;font-weight:600;letter-spacing:.16em;margin-bottom:24px}.hero h1{margin-bottom:25px;line-height:1.05}.hero h1 em{color:#eac292}.hero-copy>p:not(.eyebrow){font-size:1.1rem;color:#eee3d7;line-height:1.8}.button{display:inline-block;padding:15px 26px;border:1px solid var(--brown);background:var(--brown);color:#fff;border-radius:3px;font-weight:500;font-size:.95rem;margin-top:12px;transition:background .2s,transform .2s}.button:hover{background:#733c29;text-decoration:none;transform:translateY(-2px)}.button.light{background:#f9f3e8;color:var(--brown);border-color:#f9f3e8}.button.light:hover{background:#eac292}.hero-location{display:block;font-size:.86rem;margin-top:22px;color:#e7d8ca}.hero-caption{position:absolute;bottom:28px;right:5%;font-size:.75rem;letter-spacing:.14em;color:#f0dec9}.ribbon{display:flex;justify-content:space-around;gap:20px;padding:20px 4%;background:var(--brown);color:#f2dfc6;font-size:.75rem;letter-spacing:.15em}.section{padding:90px 6%;max-width:1500px;margin:auto}.intro{text-align:center;max-width:970px;padding-top:100px;padding-bottom:110px}.intro h2{margin-bottom:30px}.intro>p:last-child{max-width:640px;margin:auto;color:#6b584b;font-size:1.1rem}.section-head{display:flex;align-items:end;justify-content:space-between;gap:25px;margin-bottom:40px}.section-head h2{margin-bottom:0}.section-head .eyebrow{margin-bottom:14px}.text-link{border-bottom:1px solid var(--rust);padding-bottom:7px;white-space:nowrap}.favourites{padding-top:0}.favourite-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:70px}.feature-photo{position:relative;min-height:470px;overflow:hidden;border-radius:5px;color:white}.feature-photo>img{width:100%;height:100%;position:absolute;object-fit:cover;object-position:72% 50%;filter:brightness(.8)}.feature-photo>div{position:relative;background:linear-gradient(transparent,rgba(24,13,7,.9));padding:150px 32px 30px;min-height:470px;display:flex;flex-direction:column;justify-content:end}.feature-photo h3{font-size:2rem;margin:14px 0}.feature-photo p{margin-bottom:15px;max-width:330px}.feature-photo a{width:fit-content;border-bottom:1px solid #e0ba8c}.favourite-list article{display:flex;gap:25px;border-top:1px solid var(--line);padding:28px 0}.favourite-list article:last-child{border-bottom:1px solid var(--line)}.number{font-family:Georgia,serif;color:var(--rust);font-size:1.2rem}.favourite-list h3{margin-bottom:12px}.favourite-list p{color:#6b584b;max-width:350px;margin-bottom:0}.table{max-width:none;background:var(--brown);color:var(--cream);text-align:center;padding:90px 20px}.table h2 em{color:#eac292}.table>p:not(.eyebrow){max-width:600px;margin:0 auto 25px;color:#e6d5c2}.table-note{display:block;margin-top:28px;font-size:.75rem;letter-spacing:.15em;color:#e8c298}.visit{display:grid;grid-template-columns:1.3fr 1fr;gap:100px;align-items:center}.visit h2{margin-bottom:0}.visit-location{font-weight:600;font-size:1.2rem}.visit>div:last-child{max-width:390px}.visit>div:last-child>p:last-of-type{color:#6b584b}footer{background:#efe6d7;padding:46px 6%;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:35px}.wordmark{font-size:1.8rem;letter-spacing:-.04em}footer p{margin:8px 0 0;color:#6b584b;font-size:.88rem}footer>div:nth-child(2){display:flex;gap:25px}.small{font-size:.8rem}.skip{position:absolute;top:-100px;z-index:10;background:white;padding:15px}.skip:focus{top:0}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.menu-intro{padding-bottom:60px;background:#f1e7d7;max-width:none}.menu-intro h1{font-size:clamp(3rem,5.3vw,5rem);margin-bottom:28px}.menu-intro h1 em{color:var(--rust)}.menu-intro>p:last-child{max-width:580px;color:#6b584b}.menu-nav{position:sticky;top:0;background:var(--cream);border-bottom:1px solid var(--line);padding:20px 6%;display:flex;gap:34px;z-index:4;overflow:auto;white-space:nowrap;font-size:.95rem}.menu-nav a:hover{color:var(--rust)}.menu-content{padding-top:20px;padding-bottom:60px}.menu-section{display:grid;grid-template-columns:1fr 1.9fr;gap:80px;padding:65px 0;border-bottom:1px solid var(--line);scroll-margin-top:30px}.menu-title h2{font-size:2.5rem}.menu-title .eyebrow{color:var(--rust);letter-spacing:.08em}.menu-items{display:grid;grid-template-columns:1fr 1fr;gap:35px 50px}.menu-items h3{font-size:1.4rem;margin-bottom:10px}.menu-items p{color:#6b584b;margin-bottom:10px;font-size:.98rem}.badge{display:inline-block;color:var(--rust);font-size:.72rem;letter-spacing:.08em;font-weight:600}.menu-note{padding:32px;background:#f1e7d7;border-radius:4px;margin-top:45px}.menu-note h3{font-size:1.3rem;margin-bottom:12px}.menu-note p{margin:0;max-width:800px;color:#6b584b}.menu-end{background:var(--brown);color:var(--cream);text-align:center;padding:65px 20px}.menu-end h2{font-size:2.5rem}.menu-end em{color:#eac292}@media(min-width:1600px){.hero-copy{padding-left:10%;max-width:1000px}}@media(max-width:800px){header{height:96px;padding:8px 5%}.brand img{height:80px;width:80px}header nav{gap:22px}.nav-visit{padding:9px 15px}.hero{height:auto;min-height:590px}.hero-copy{padding:65px 6% 90px;max-width:650px}.hero-photo{object-position:63% 50%}.hero-shade{background:linear-gradient(90deg,rgba(20,15,12,.88),rgba(20,15,12,.5))}.hero-caption{right:auto;left:6%}.ribbon{flex-wrap:wrap;gap:10px 25px;font-size:.7rem}.section{padding:65px 6%}.favourites{padding-top:0}.favourite-grid{gap:35px}.section-head{align-items:start}.section-head h2{font-size:2.6rem}.favourite-grid{grid-template-columns:1fr}.feature-photo{min-height:400px}.feature-photo>div{min-height:400px}.favourite-list{display:grid;grid-template-columns:1fr}.visit{gap:35px;grid-template-columns:1fr}footer{flex-wrap:wrap}.menu-section{grid-template-columns:1fr;gap:20px;padding:45px 0}.menu-content{padding-top:0}.menu-nav{gap:25px;font-size:.9rem}.menu-items{gap:28px}}@media(max-width:480px){header nav{gap:18px;font-size:.87rem}.nav-visit{display:none}.hero h1{font-size:3.4rem}.hero-copy>p:not(.eyebrow){font-size:1rem}.hero .eyebrow{font-size:.7rem}.hero-copy{padding-top:55px}.hero{min-height:570px}.hero-caption{font-size:.65rem}.ribbon span{width:calc(50% - 15px);text-align:center}.section-head{flex-direction:column;gap:20px}.section-head h2{font-size:2.5rem}.feature-photo>div{padding-left:25px;padding-right:25px}.menu-items{grid-template-columns:1fr}.menu-intro h1{font-size:3rem}.menu-note{padding:25px}.menu-end h2{font-size:2rem}footer{padding:35px 6%;display:block}footer>div:nth-child(2){margin:25px 0}.intro h2,.visit h2{font-size:2.55rem}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button{transition:none}}
.item-heading{display:flex;justify-content:space-between;gap:16px;align-items:baseline}.price{white-space:nowrap;font-weight:600;color:var(--rust);font-size:1rem}.category-note{color:#6b584b;font-size:.92rem;max-width:300px}.original-menus{display:flex;justify-content:space-between;gap:20px;padding:27px 0;border-bottom:1px solid var(--line);color:#6b584b;font-size:.9rem}.original-menus>div{display:flex;gap:24px}.original-menus a{color:var(--brown);border-bottom:1px solid var(--brown)}@media(max-width:800px){.original-menus{flex-direction:column}.category-note{max-width:600px}}@media(max-width:480px){.original-menus>div{gap:20px;flex-wrap:wrap}}

.coffee-film{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:70px;padding-top:0;padding-bottom:100px}.film-copy{max-width:470px}.film-copy h2 em{color:var(--rust)}.film-copy>p:not(.eyebrow){color:#6b584b;font-size:1.1rem;margin-bottom:30px}.film-player{margin:0;justify-self:center;width:100%;max-width:330px}.film-player video{display:block;width:100%;aspect-ratio:512/910;background:#241b14;object-fit:contain;border-radius:5px}.film-player figcaption{font-size:.8rem;color:#6b584b;text-align:center;margin-top:14px}@media(max-width:800px){.coffee-film{gap:35px;padding-bottom:65px}.film-copy h2{font-size:2.5rem}}@media(max-width:600px){.coffee-film{grid-template-columns:1fr;padding-top:0;gap:30px}.film-copy{max-width:none}.film-player{max-width:320px}}

/* Branded menu colours and subtle original-logo watermarks. */
.menu-page{background:#f5eadb}.menu-page .menu-intro{background:linear-gradient(115deg,#f5e5cf 0%,#ead1b8 100%);position:relative;isolation:isolate;overflow:hidden}.menu-page .menu-intro::before{content:"";position:absolute;right:7%;top:50%;transform:translateY(-50%);width:280px;height:300px;background:url('/assets/logo.jpg') center/contain no-repeat;mix-blend-mode:multiply;opacity:.09;pointer-events:none;z-index:-1}.menu-page .menu-nav{background:#54291e;color:#fff7ed;border-bottom:1px solid #734735}.menu-page .menu-nav a:hover{color:#f2c28f}.menu-page .menu-content{padding-top:15px}.menu-page .original-menus{border-color:#cbb19a}.menu-page .menu-section{position:relative;isolation:isolate;overflow:hidden;background:linear-gradient(120deg,#fffaf2,#f4e6d5);border:1px solid #dec6b0;border-radius:8px;padding:44px 34px;margin-top:26px;gap:55px;box-shadow:0 3px 15px rgba(84,41,30,.025)}.menu-page .menu-section:nth-of-type(even){background:linear-gradient(120deg,#f8edde,#efddcb)}.menu-page .menu-section::before{content:"";position:absolute;right:5%;top:50%;transform:translateY(-50%);width:65%;max-width:460px;height:90%;max-height:490px;background:url('/assets/logo.jpg') center/contain no-repeat;mix-blend-mode:multiply;opacity:.065;pointer-events:none;z-index:-1}.menu-page .menu-title h2{color:#54291e}.menu-page .menu-note{background:#ead6c0;border:1px solid #d8b89c}.menu-page .menu-end{background:linear-gradient(110deg,#54291e,#713e2a)}@media(max-width:800px){.menu-page .menu-section{padding:30px 25px;gap:20px}.menu-page .menu-intro::before{right:2%;opacity:.065;width:230px}.menu-page .menu-section::before{right:7%;width:80%;max-width:370px}}@media(max-width:480px){.menu-page .menu-section{padding:26px 20px;border-radius:6px;margin-top:20px}.menu-page .menu-section::before{right:5%;width:90%;opacity:.055}.menu-page .menu-intro::before{right:-40px;width:200px}}

/* Real café moments and seasonal favourites. */
.intro{display:grid;grid-template-columns:.8fr 1.2fr;gap:65px;text-align:left;max-width:1300px;align-items:center}.welcome-portrait{display:block;width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:5px;object-position:center}.welcome-copy>p:last-child{color:#6b584b;font-size:1.1rem;margin-bottom:0}.pastry-story{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center;padding-top:0}.pastry-story .film-player{max-width:330px}.daily-gallery{padding-top:0}.daily-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}.daily-grid a{display:block}.daily-grid img{display:block;width:100%;aspect-ratio:1;object-fit:cover;border-radius:5px;transition:filter .2s}.daily-grid a:hover img{filter:brightness(.94)}.daily-grid span{display:block;margin-top:14px;font-family:'Playfair Display',Georgia,serif;font-size:1.25rem;line-height:1.35}.menu-category-photo{display:block;width:100%;max-width:300px;aspect-ratio:1;object-fit:cover;border-radius:5px;margin:24px 0 8px}.feature-photo>img{object-position:center}.film-player video{aspect-ratio:512/910}@media(max-width:800px){.intro{gap:35px}.daily-grid{grid-template-columns:repeat(2,1fr)}.pastry-story{gap:35px}}@media(max-width:600px){.intro{grid-template-columns:1fr}.welcome-portrait{max-width:380px;margin:auto}.pastry-story{grid-template-columns:1fr}.pastry-story .film-copy{grid-row:1}.daily-grid{gap:25px 16px}.daily-grid span{font-size:1.1rem}.menu-category-photo{max-width:100%;aspect-ratio:16/10}.text-link{white-space:normal}}

.menu-intro-film,.events-intro{display:grid;grid-template-columns:1.5fr 1fr;align-items:center;gap:65px}.menu-intro-copy>p:last-child{max-width:580px;color:#6b584b}.event-player{max-width:290px}.event-player video{aspect-ratio:478/850}.events-intro{min-height:650px}.events-intro>div{max-width:650px}.events-intro h1 em{color:var(--rust)}.events-intro p:not(.eyebrow){color:#6b584b}.events-lead{font-size:1.25rem}.event-email{margin-top:20px;overflow-wrap:anywhere}footer>div:nth-child(2){flex-wrap:wrap}@media(max-width:800px){header nav{gap:18px}.menu-intro-film,.events-intro{gap:30px;grid-template-columns:1.3fr 1fr}}@media(max-width:600px){.menu-intro-film,.events-intro{grid-template-columns:1fr}.menu-intro-film .event-player,.events-intro .event-player{max-width:300px}.nav-visit{display:none}header nav{gap:14px;font-size:.875rem}.brand img{width:70px;height:75px}.event-player figcaption{font-size:.875rem}}

.breakfast-photos{display:grid;gap:18px;margin-top:25px}.breakfast-photos img{display:block;width:100%;aspect-ratio:1;object-fit:cover;border-radius:5px}@media(min-width:481px) and (max-width:800px){.breakfast-photos{grid-template-columns:1fr 1fr}}

.catering-section{padding-top:0}.catering-heading{max-width:780px;margin-bottom:40px}.catering-heading>p:not(.eyebrow){color:#6b584b;font-size:1.1rem}.catering-gallery{display:grid;grid-template-columns:1fr 1fr;gap:32px}.catering-gallery figure{margin:0}.catering-gallery img{display:block;width:100%;height:auto;border-radius:5px}.catering-gallery figcaption{padding-top:12px;color:#6b584b;font-size:.95rem}@media(max-width:600px){header nav{flex-wrap:wrap;justify-content:flex-end;column-gap:14px;row-gap:6px;max-width:calc(100% - 85px);font-size:.8rem}.catering-gallery{grid-template-columns:1fr;gap:30px}}

.balsamic-feature{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center;max-width:1400px;margin:auto}.balsamic-feature>img{width:100%;height:auto;display:block;border-radius:6px}.balsamic-feature h3{font-size:1.45rem;margin-bottom:18px}.balsamic-feature p:not(.eyebrow){color:#6b584b}.balsamic-feature .balsamic-availability{font-weight:600;color:var(--brown)}@media(max-width:800px){.balsamic-feature{gap:32px}}@media(max-width:600px){.balsamic-feature{grid-template-columns:1fr}.balsamic-feature h2{font-size:2.6rem}}

.product-title{font-size:clamp(2.4rem,4.5vw,4.6rem)}.product-visit{padding-top:0;max-width:1400px;margin:auto}.product-visit>p{max-width:720px}
