/* Shared September refresh: real photography, generous tables, one paper palette. */
body { --ink:#174951; --terracotta:#aa573e; background:#f8f5ed url('images-optimized/paper-canvas.png.webp') center top/1400px auto; }
body main { background:none; }
.site-header,.homepage .site-header { position:relative; height:136px; max-width:1600px; padding:12px 5%; gap:24px; }
.site-header .brand,.homepage .site-header .brand { width:210px; }
.site-header .brand img,.homepage .site-header .brand img { height:112px; width:100%; }
.desktop-nav,.homepage .desktop-nav { background:none; backdrop-filter:none; border:0; padding:0; gap:20px; }
.desktop-nav a,.desktop-nav button { font-size:10px; letter-spacing:.12em; }
.header-book,.homepage .header-book { background:var(--ink); color:#fff8e9; border-color:var(--ink); white-space:nowrap; }
.solid-button { display:inline-flex; align-items:center; justify-content:space-between; gap:34px; padding:20px 28px; border:1px solid var(--ink); background:var(--ink); color:#fff8e9; font:600 11px var(--sans); letter-spacing:.13em; text-decoration:none; text-transform:uppercase; cursor:pointer; transition:background .25s,transform .25s; }
.solid-button:hover { background:#28636c; transform:translateY(-2px); }
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible { outline:2px solid #aa573e; outline-offset:5px; }
.homepage .hero { grid-template-columns:1fr 1.04fr; min-height:650px; padding:0 0 30px 6%; }
.homepage .hero-copy { padding-right:0; }
.homepage .hero-copy h1 { font-size:clamp(48px,5.7vw,88px); line-height:1.02; letter-spacing:-.055em; }
.homepage .hero-copy h1 em { white-space:nowrap; }
.homepage .hero-art { height:680px; background-image:url('images-optimized/hero-v18.png.webp'); background-size:114% auto; background-position:center bottom; width:calc(100% + 2px); margin-right:-2px; }
.homepage .hero-note { margin-top:25px; }
.food-photo img,.drink-print img,.group-teaser img,.groups-hero img { filter:saturate(.88) contrast(1.035); }
.food-photo img { object-position:center; }
.drink-print { transition:transform .7s cubic-bezier(.2,.7,.2,1),box-shadow .7s; animation:print-drift 7s ease-in-out infinite alternate; will-change:transform; }
.drink-print:nth-child(1) { --tilt:-4deg; }
.drink-print:nth-child(2) { --tilt:2deg; animation-delay:-3s; }
.drink-print:nth-child(3) { --tilt:-2deg; animation-delay:-5s; }
.drink-print:hover { animation-play-state:paused; box-shadow:0 18px 30px #513e2333; }
.drink-print img { transition:filter .5s; object-fit:cover; }
.drink-print:hover img { filter:saturate(1) contrast(1.04); }
@keyframes print-drift { from { transform:translateY(0) rotate(var(--tilt)); } to { transform:translateY(-9px) rotate(calc(var(--tilt) + 1.5deg)); } }
.homepage .reservations { min-height:560px; padding:70px 6%; grid-template-columns:1fr 1fr; }
.homepage .reservation-copy { max-width:620px; }
.homepage .reservation-copy h2 { font-size:clamp(39px,4vw,64px); }
.homepage .table-art { inset:0 -4% 0 48%; background-image:url('reservation-v18.png'); background-size:contain; background-position:center; mask-image:linear-gradient(to right,transparent,#000 14%); -webkit-mask-image:linear-gradient(to right,transparent,#000 14%); }
.group-teaser { max-width:1440px; margin:auto; padding:70px 7%; display:grid; grid-template-columns:1.05fr 1fr; gap:8%; align-items:center; border-top:1px solid #17495125; }
.group-teaser figure { margin:0; padding:12px 12px 24px; background:#fffaf0; box-shadow:0 8px 25px #5c493220; transform:rotate(-2deg); }
.group-teaser img { width:100%; height:410px; object-fit:cover; display:block; }
.group-teaser figcaption,.groups-hero figcaption { font:italic 26px var(--serif); text-align:center; padding-top:16px; }
.group-teaser h2,.group-enquiry h2 { font:500 clamp(45px,4.5vw,70px)/1 var(--serif); letter-spacing:-.035em; margin:20px 0; }
.group-teaser h2 em,.group-enquiry h2 em { font-weight:500; }
.group-teaser p:not(.eyebrow):not(.group-footnote) { font:500 22px/1.5 var(--serif); max-width:440px; margin-bottom:28px; }
.group-teaser .group-footnote { font:italic 17px var(--serif); margin-top:24px; }
.visit-footer { position:relative; width:100%; margin:0; background:#f2eadb url('images-optimized/paper-canvas.png.webp') center/1400px; background-blend-mode:multiply; }
.visit-section { position:relative; min-height:660px; display:grid; place-items:center; overflow:hidden; border-top:1px solid #1749512a; }
.visit-copy { position:relative; z-index:1; text-align:center; padding:65px 20px; width:min(580px,100%); }
.visit-copy .hindi { color:var(--terracotta); font-size:23px; margin:0 0 14px; }
.visit-copy h2 { margin:0 0 25px; font:500 clamp(52px,5.5vw,84px)/1.1 var(--serif); letter-spacing:-.04em; }
.visit-address { font:500 23px/1.45 var(--serif); }
.visit-hours { margin:22px 0 30px; font:500 19px/1.6 var(--serif); }
.visit-hours p { margin:0; }
.visit-directions { display:block; width:fit-content; margin:22px auto 0; text-underline-offset:5px; font:500 15px var(--serif); }
.visit-frontage { position:absolute; left:-8%; bottom:0; width:43%; height:95%; object-fit:contain; object-position:left bottom; opacity:.26; filter:sepia(.8) saturate(.45); mask-image:linear-gradient(to right,#000 45%,transparent); }
.visit-street { position:absolute; right:-36%; bottom:10%; width:90%; height:75%; object-fit:cover; object-position:right bottom; opacity:.27; filter:sepia(.8) saturate(.45); transform:rotate(-10deg); mask-image:linear-gradient(to left,#000 40%,transparent 85%); }
.footer-bottom { position:relative; display:grid; grid-template-columns:1fr 1fr 1fr 1fr; align-items:center; gap:6%; padding:45px 7%; border-top:1px solid #17495135; }
.footer-logo img { width:200px; max-width:100%; height:115px; object-fit:contain; mix-blend-mode:multiply; }
.footer-bottom p { font:500 18px/1.55 var(--serif); margin:8px 0; }
.footer-bottom .eyebrow { font:600 9px var(--sans); letter-spacing:.16em; margin-bottom:15px; }
.footer-bottom nav { display:flex; flex-direction:column; gap:8px; font:500 17px var(--serif); }
.footer-bottom nav a { text-decoration:none; }
.footer-bottom nav a:hover { text-decoration:underline; text-underline-offset:4px; }
.footer-farewell span { color:var(--terracotta); font-size:25px; }
.footer-farewell p { font:500 9px var(--sans); letter-spacing:.12em; text-transform:uppercase; }
.footer-colophon { margin:0; padding:18px 7%; border-top:1px solid #17495118; font:500 9px var(--sans); letter-spacing:.14em; text-align:center; text-transform:uppercase; }
.careers-hero-copy h1 { font-size:clamp(48px,5vw,76px); line-height:.97; text-transform:none; letter-spacing:-.04em; }
.careers-hero { min-height:720px; }
.careers-page .site-header { position:relative; }
.careers-hero-copy { transform:translateY(-50%); }
.menu-card-grid { grid-template-columns:repeat(3,1fr); max-width:1080px; }
.menu-card { min-height:240px; }
.menu-card strong { font-size:39px; }
.menu-card--roast { background-image:linear-gradient(0deg,#123a40aa,#123a4010),url('images-optimized/1O1A7965.jpg.webp'); }
.menu-card--dessert { background-image:linear-gradient(0deg,#123a40aa,#123a4010),url('images-optimized/food-v10.png.webp'); }
.menu-card--autumn { background-image:linear-gradient(0deg,#123a40aa,#123a4010),url('images-optimized/1O1A8064.jpg.webp'); }
.menu-card--special { background:#315858 url('images-optimized/paper-canvas.png.webp'); background-blend-mode:multiply; }
.menu-card:disabled { cursor:not-allowed; opacity:.62; filter:saturate(.2); }
.menu-card:disabled:hover { transform:none; }
.menu-card:disabled i { font-size:9px; }
.groups-hero { display:grid; grid-template-columns:1fr 1.05fr; gap:6%; align-items:center; padding:35px 7% 70px; max-width:1600px; margin:auto; }
.groups-intro h1 { font:500 clamp(58px,6vw,94px)/.98 var(--serif); letter-spacing:-.045em; margin:24px 0; }
.groups-intro > p:not(.eyebrow) { font:500 24px/1.5 var(--serif); max-width:400px; margin:25px 0 30px; }
.groups-hero figure { margin:0; padding:13px 13px 25px; background:#fffaf0; box-shadow:0 12px 35px #51432b22; transform:rotate(2deg); }
.groups-hero img { width:100%; height:500px; object-fit:cover; display:block; }
.groups-handwriting { display:block; font:italic 25px var(--serif); margin:27px 0 0; transform:rotate(-3deg); }
.gathering-occasions { display:flex; justify-content:center; align-items:center; gap:6%; padding:28px 5%; border-block:1px solid #17495133; font:500 12px var(--sans); letter-spacing:.09em; text-transform:uppercase; }
.gathering-occasions i { font:normal 28px var(--serif); color:var(--terracotta); }
.group-enquiry { display:grid; grid-template-columns:.85fr 1.2fr; gap:8%; padding:80px 7%; max-width:1500px; margin:auto; scroll-margin-top:25px; }
.enquiry-intro > p:not(.eyebrow):not(.form-disclaimer) { font:500 22px/1.5 var(--serif); }
.enquiry-note { display:flex; align-items:center; gap:20px; margin:30px 0; border-block:1px solid #17495125; padding:15px 0; }
.enquiry-note span { font-size:50px; color:var(--terracotta); }.enquiry-note p { font:italic 26px/1.1 var(--serif); }
.form-disclaimer { font:400 12px/1.7 var(--sans); max-width:350px; }
.group-form { display:grid; grid-template-columns:1fr 1fr; gap:25px 20px; padding:40px; background:#fffaf1 url('images-optimized/paper-v11.png.webp') center/100% 100%; box-shadow:0 12px 30px #51432b12; }
.group-form label { display:flex; flex-direction:column; gap:10px; font:600 10px var(--sans); letter-spacing:.06em; text-transform:uppercase; }
.group-form label small { display:contents; font-weight:400; }
.group-form input,.group-form select,.group-form textarea { width:100%; min-width:0; border:0; border-bottom:1px solid #17495166; padding:12px 0; background:transparent; border-radius:0; color:var(--ink); font:400 14px var(--sans); }
.group-form textarea { resize:vertical; }
.group-form .wide { grid-column:1/-1; }
.form-status { font:400 14px/1.6 var(--sans); padding:15px; border:1px solid #17495144; }
@media(max-width:1150px) {
 .desktop-nav,.homepage .desktop-nav { display:none; }.nav-toggle { display:flex; margin-left:0; }.header-book { margin-left:auto; }
 .site-header,.homepage .site-header { height:116px; }.site-header .brand img,.homepage .site-header .brand img { height:96px; }
 .homepage .hero-art { height:580px; background-size:125% auto; }.homepage .hero-copy h1 { font-size:5.7vw; }
 .group-form { padding:28px; }.groups-hero img { height:420px; }
 .homepage .table-art { left:47%; right:-9%; }
}
@media(max-width:700px) {
 .site-header,.homepage .site-header { height:100px; padding:8px 5%; gap:15px; }.site-header .brand,.homepage .site-header .brand { width:155px; }.site-header .brand img,.homepage .site-header .brand img { height:84px; }
 .header-book,.homepage .header-book { display:none; }.nav-toggle { margin-left:auto; }
 .homepage .hero { display:flex; flex-direction:column; padding:28px 0 28px; gap:12px; min-height:0; }.homepage .hero-copy { width:100%; padding:0 5%; text-align:center; }.homepage .hero-copy h1 { font-size:clamp(38px,8.6vw,59px); line-height:1.06; }.homepage .hero-copy h1 br { display:block; }.homepage .hero .hindi { margin:16px 0; font-size:19px; }.homepage .hero .hindi br { display:none; }.homepage .hero-art { height:440px; min-height:0; width:100%; margin:0; background-size:108% auto; background-position:center bottom; }.homepage .hero-note { display:none; }
 .homepage .reservations { display:flex; padding:50px 7% 0; min-height:0; }.homepage .reservation-copy h2 { font-size:43px; }.homepage .table-art { position:relative; inset:auto; width:116%; height:320px; margin:0 -8%; background-size:contain; mask-image:linear-gradient(to bottom,transparent,#000 8%); -webkit-mask-image:linear-gradient(to bottom,transparent,#000 8%); }
 .group-teaser,.groups-hero,.group-enquiry { grid-template-columns:1fr; gap:35px; padding:45px 7%; }.group-teaser img { height:320px; }.group-teaser h2 { font-size:49px; }.group-teaser figure { order:1; }.group-teaser > div { order:0; }
 .visit-section { min-height:0; }.visit-copy { padding:50px 20px; }.visit-copy h2 { font-size:58px; }.visit-address { font-size:21px; }.visit-frontage { left:-25%; width:80%; opacity:.11; }.visit-street { opacity:.09; right:-110%; width:180%; }
 .footer-bottom { grid-template-columns:1fr 1fr; gap:30px 20px; padding:30px 7%; }.footer-logo img { width:160px; }.footer-bottom p { font-size:16px; }.footer-farewell span { font-size:23px; }
 .careers-hero { min-height:620px; }.careers-hero-copy h1 { font-size:46px; line-height:1; }
 .menu-card-grid { grid-template-columns:1fr 1fr; }.menu-card { min-height:220px; }.menu-card strong { font-size:28px; }
 .groups-intro h1 { font-size:60px; }.groups-hero img { height:340px; }.groups-intro > p:not(.eyebrow) { font-size:22px; }.gathering-occasions { gap:15px; flex-wrap:wrap; font-size:9px; }.gathering-occasions i { font-size:18px; }.group-form { padding:28px 20px; gap:22px 15px; }.group-enquiry h2 { font-size:49px; }
}
@media(max-width:420px) { .group-form { grid-template-columns:1fr; }.group-form .wide { grid-column:1; }.menu-card strong { font-size:25px; }.homepage .hero-art { height:385px; }.footer-bottom { gap:25px 15px; } }
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; }.drink-print { animation:none; transform:rotate(var(--tilt)); }.drink-print,.solid-button { transition:none; } }
[hidden] { display:none !important; }

