/* V19 — compact heroes, quiet paper surfaces and reliable small-screen layouts. */
.site-header,.homepage .site-header { height:108px; padding-block:6px; }
.site-header .brand img,.homepage .site-header .brand img { height:94px; }
.homepage .hero { min-height:0; height:calc(100svh - 108px); max-height:700px; padding-top:0; padding-bottom:32px; align-items:center; }
.homepage .hero-art { height:100%; min-height:0; background-size:112% auto; background-position:center bottom; }
.homepage .hero-copy { align-self:center; padding-bottom:20px; }
.homepage .hero-copy h1 { font-size:clamp(48px,5.4vw,86px); }
.homepage .hero .eyebrow { margin:0 0 20px; }
.homepage .hero .hindi { margin:20px 0; }
.homepage .hero-note { margin:20px 0; }
.hero-order { margin-top:8px; }
.hero-order:disabled { opacity:1; cursor:not-allowed; }
.order-note { display:block; font:400 10px/1.5 var(--sans); margin-top:9px; opacity:.75; }
.homepage .feature--food .feature-copy { background:#fffaf0; border:1px solid #c9bca540; border-radius:3px; box-shadow:0 5px 24px #60492d0d; filter:none; padding:45px 10%; }
.food-photo img { clip-path:none; border-radius:3px; }
.group-form { background:transparent; box-shadow:none; border:0; border-left:1px solid #17495125; padding:12px 0 12px 40px; }
.visit-footer { background:transparent; background-blend-mode:normal; }
.visit-frontage,.visit-street { filter:grayscale(.65) sepia(.2); opacity:.18; }
.visit-section { border-top:1px solid #17495120; }
.careers-page .careers-hero { height:calc(100svh - 108px); min-height:560px; max-height:720px; background-position:center; }
.careers-hero-copy { top:45%; }
.careers-page .careers-intro { background:transparent; min-height:0; padding:70px 7%; border-top:1px solid #17495120; }
.careers-intro h2 { font-size:clamp(42px,4.7vw,68px); line-height:1.02; text-transform:none; }
.careers-apply.careers-apply--blue { background:var(--petrol); color:#fff8e9; min-height:0; padding:70px 7%; align-items:start; }
.careers-apply--blue h2 { font-size:clamp(48px,5vw,76px); line-height:1; text-transform:none; }
.careers-apply--blue .careers-form input,.careers-apply--blue .careers-form select,.careers-apply--blue .careers-form textarea { color:#fff8e9; border-color:#fff8e977; font:400 15px var(--sans); min-width:0; }
.careers-apply--blue select option { background:#174951; }
.careers-apply--blue .outline-button { color:#174951; background:#fff8e9; border-color:#fff8e9; }
.careers-apply--blue #careers-status { color:#fff8e9; }
.careers-preview-note { font:400 12px/1.7 var(--sans); margin:0; opacity:.85; }
.careers-form .cv-drop { padding:24px; border:1px dashed #fff8e988; text-align:center; background:#fff8e909; cursor:pointer; gap:14px; }
.cv-drop.is-dragging { background:#fff8e925; border-style:solid; }
.cv-drop input { max-width:100%; border:0 !important; padding:0 !important; font-size:12px !important; }
.cv-drop input::file-selector-button { padding:10px 14px; background:#fff8e9; border:0; color:#174951; margin-right:14px; cursor:pointer; }
.cv-drop span { font:400 11px/1.6 var(--sans); text-transform:none; letter-spacing:0; overflow-wrap:anywhere; }
.homepage .table-art { background-image:url('images-optimized/reservation-v19.png.webp'); inset:-12px -2% -12px 47%; background-size:cover; background-position:center; mask-image:linear-gradient(to right,transparent,#000 12%); -webkit-mask-image:linear-gradient(to right,transparent,#000 12%); }
.mobile-menu-open { overflow:hidden; }
@media(max-width:1150px) {
 .site-header,.homepage .site-header { height:96px; }
 .site-header .brand img,.homepage .site-header .brand img { height:84px; }
 .nav-toggle { position:relative; z-index:42; display:grid; place-content:center; gap:6px; width:48px; height:44px; flex:0 0 48px; padding:9px; border:1px solid #17495140; background:#faf6ed; margin-left:auto; cursor:pointer; }
 .nav-toggle span { display:block; width:28px; border-top:1.5px solid var(--ink); transition:transform .3s,opacity .3s; }
 .mobile-nav:not([hidden]) { display:block; position:fixed; inset:0; z-index:40; height:100dvh; overflow:auto; color:#fff8e9; background:#174951 url('images-optimized/paper-canvas.png.webp') center/1400px; background-blend-mode:multiply; clip-path:inset(0 0 100% 0); transition:clip-path .45s ease; }
 .mobile-nav.is-open:not([hidden]) { clip-path:inset(0); }
 .mobile-nav-inner { position:relative; min-height:100%; padding:80px 7% 30px; display:flex; flex-direction:column; justify-content:center; }
 .mobile-nav-kicker { font:600 10px var(--sans); letter-spacing:.17em; text-transform:uppercase; color:#dfc293; margin:0 0 20px; }
 .mobile-nav-links a,.mobile-nav-links button { display:block; width:100%; padding:8px 0; font:500 clamp(30px,6vh,48px)/1.1 var(--serif); letter-spacing:0; text-decoration:none; text-transform:none; text-align:left; color:inherit; background:none; border:0; border-bottom:1px solid #fff8e933; opacity:1; transform:none; }
 .mobile-nav-footer { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-top:25px; font:500 10px/1.6 var(--sans); }
 .mobile-book { color:inherit; background:none; border:0; text-decoration:none; }
 .mobile-menu-open .site-header { z-index:100; }
 .mobile-menu-open .nav-toggle { position:fixed; top:20px; right:5%; z-index:110; background:transparent; border-color:transparent; }
 .mobile-menu-open .nav-toggle span { border-color:#fff8e9; }
 .mobile-menu-open .nav-toggle span:first-child { transform:translateY(7.5px) rotate(45deg); }
 .mobile-menu-open .nav-toggle span:nth-child(2) { opacity:0; }
 .mobile-menu-open .nav-toggle span:last-of-type { transform:translateY(-7.5px) rotate(-45deg); }
 .homepage .hero { height:calc(100svh - 96px); min-height:530px; }
 .homepage .hero-art { height:100%; background-size:125% auto; }
 .careers-page .careers-hero { height:calc(100svh - 96px); }
}
@media(max-width:800px) {
 .homepage .feature--food { display:flex; flex-direction:column; align-items:stretch; gap:20px; padding:35px 6%; min-height:0; }
 .food-photo { width:100%; margin:0; }.food-photo img { width:100%; height:380px; min-height:0; max-height:none; object-fit:cover; }
 .homepage .feature--food .feature-copy { width:100%; margin:0; padding:32px 8%; }
 .homepage .feature--food .feature-copy h2 { font-size:clamp(36px,6vw,48px); }
 .homepage .feature--drinks { display:block; padding:45px 7%; }.homepage .feature--drinks .feature-copy { margin-bottom:30px; }
 .drinks-photos { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }.drink-print { margin:0; min-width:0; }.drink-print img { width:100%; }.drink-print figcaption { font-size:17px; }
 .careers-page .careers-intro,.careers-apply.careers-apply--blue { grid-template-columns:1fr; gap:35px; padding:50px 7%; }
 .careers-intro h2 { font-size:46px; }
 .group-form { border-left:0; border-top:1px solid #17495125; padding:28px 0 0; }
}
@media(max-width:700px) {
 .site-header,.homepage .site-header { height:84px; }.site-header .brand img,.homepage .site-header .brand img { height:76px; }
 .homepage .hero { height:auto; max-height:none; min-height:0; padding:10px 0 30px; gap:15px; }
 .homepage .hero-copy { padding:0 5%; }.homepage .hero-copy h1 { font-size:clamp(35px,8.5vw,56px); }
 .homepage .hero .eyebrow { margin-bottom:14px; }.homepage .hero .hindi { margin:15px 0; font-size:18px; }.homepage .hero .hindi br::after { content:' '; }
 .homepage .hero-art { width:100%; height:370px; min-height:0; aspect-ratio:auto; background-size:108% auto; background-position:center bottom; }
 .hero-order { padding:16px 24px; }.order-note { font-size:9px; }
 .homepage .story { display:flex; flex-direction:column; padding:40px 7%; }.homepage .story-copy,.postcard-wrap { width:100%; min-width:0; }
 .homepage .feature--food .feature-copy h2 { font-size:38px; }.food-photo img { height:320px; }.food-photo figcaption { font-size:23px; padding:13px 18px; }
 .homepage .feature--drinks .feature-copy h2 { font-size:40px; }.drinks-photos { grid-template-columns:repeat(3,minmax(0,1fr)); gap:7px; }.drink-print { padding:5px 5px 12px; }.drink-print figcaption { font-size:14px; line-height:1.15; }.drink-print img { aspect-ratio:3/5; height:auto; }
 .homepage .reservations { overflow:hidden; }.homepage .table-art { position:relative; inset:auto; width:116%; height:350px; margin:0 -8%; background-size:cover; background-position:center 55%; mask-image:linear-gradient(to bottom,transparent,#000 9%); -webkit-mask-image:linear-gradient(to bottom,transparent,#000 9%); }
 .careers-page .careers-hero { height:570px; min-height:0; max-height:none; background-position:57% center; }.careers-hero-copy { top:43%; width:62%; left:6%; }.careers-hero-copy h1 { font-size:43px; }.careers-hero-copy > p:not(.eyebrow) { font-size:16px; }
 .careers-form { gap:22px 16px; }.careers-form label { min-width:0; }.careers-form .cv-drop { padding:18px; }
 .visit-frontage,.visit-street { opacity:.09; }.visit-copy { padding:45px 6%; }.visit-section { min-height:0; }
 .group-teaser,.groups-hero,.group-enquiry { min-width:0; }.group-teaser > div,.groups-intro,.group-form { min-width:0; }
 .menu-overlay,.booking-overlay { max-width:100vw; }.menu-chooser { padding:75px 5% 35px; }.menu-card-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:420px) { .careers-form { grid-template-columns:1fr; }.careers-form .wide { grid-column:1; }.careers-hero-copy { width:68%; }.careers-hero-copy h1 { font-size:39px; }.homepage .hero-art { height:320px; } }
@media(prefers-reduced-motion:reduce) { .mobile-nav:not([hidden]),.nav-toggle span { transition:none; } }

/* V20: artwork dissolves into the canvas without masking the live text. */
.homepage .hero-copy h1 { font-size:clamp(56px,6.1vw,98px); }
.homepage .hero .hindi { font-size:26px; }
.homepage .hero-art {
 mask-image:linear-gradient(to right,transparent,#000 7%,#000 96%,transparent),linear-gradient(to bottom,transparent,#000 10%,#000 91%,transparent);
 mask-composite:intersect;
 -webkit-mask-image:linear-gradient(to right,transparent,#000 7%,#000 96%,transparent),linear-gradient(to bottom,transparent,#000 10%,#000 91%,transparent);
 -webkit-mask-composite:source-in;
}

.careers-page .careers-hero { background:none; }
.careers-page .careers-hero::before {
 content:''; position:absolute; inset:0; z-index:-1;
 background:url('careers-hero-v1.png') center/cover no-repeat;
 mask-image:linear-gradient(to right,transparent 24%,#000 55%,#000 97%,transparent),linear-gradient(to bottom,transparent,#000 12%,#000 88%,transparent);
 mask-composite:intersect;
 -webkit-mask-image:linear-gradient(to right,transparent 24%,#000 55%,#000 97%,transparent),linear-gradient(to bottom,transparent,#000 12%,#000 88%,transparent);
 -webkit-mask-composite:source-in;
}
.group-form { background:#fffaf0; border:1px solid #c9bca540; border-radius:3px; padding:40px; box-shadow:0 5px 24px #60492d0d; }
.visit-frontage { left:-2%; bottom:2%; width:32%; height:85%; object-fit:contain; object-position:center bottom; opacity:.24; filter:grayscale(.55) sepia(.15); mask-image:linear-gradient(to right,#000 45%,transparent 98%),linear-gradient(to bottom,transparent,#000 14%,#000 82%,transparent); mask-composite:intersect; }
.visit-street { right:-3%; bottom:9%; width:38%; height:55%; object-fit:contain; object-position:right bottom; transform:none; opacity:.3; filter:grayscale(.5) sepia(.15); mask-image:linear-gradient(to left,#000 45%,transparent 98%),linear-gradient(to bottom,transparent,#000 12%,#000 86%,transparent); mask-composite:intersect; }
@media(max-width:1150px) and (min-width:701px) { .homepage .hero-copy h1 { font-size:6.1vw; }.group-form { padding:28px; } }
@media(max-width:700px) {
 .homepage .hero-copy h1 { font-size:clamp(38px,9vw,62px); }.homepage .hero .hindi { font-size:20px; }
 .careers-page .careers-hero::before { background-size:auto 100%; background-position:57% center; }
 .group-form { padding:28px 22px; }
 .visit-frontage { width:55%; left:-23%; height:70%; opacity:.11; }
 .visit-street { width:65%; right:-27%; height:42%; bottom:4%; opacity:.14; }
}

/* V21: paintings based on the restaurant's real interiors. */
.menu-card--food { background-image:linear-gradient(0deg,#143c42d9,transparent 80%),url('images-optimized/1O1A7965.jpg.webp'); background-position:center; }
.menu-card--drinks { background-image:linear-gradient(0deg,#143c42d9,transparent 80%),url('images-optimized/1O1A8053.jpg.webp'); background-position:center; }
.homepage .table-art { background-image:url('images-optimized/reservation-v21.png.webp'); background-size:cover; background-position:center; }
.careers-page .careers-hero::before { inset:0 -2% 0 39%; background-image:url('images-optimized/careers-interior-v21.png.webp'); background-size:cover; background-position:center; mask-image:linear-gradient(to right,transparent,#000 10%,#000 97%,transparent),linear-gradient(to bottom,transparent,#000 6%,#000 94%,transparent); mask-composite:intersect; -webkit-mask-image:linear-gradient(to right,transparent,#000 10%,#000 97%,transparent),linear-gradient(to bottom,transparent,#000 6%,#000 94%,transparent); -webkit-mask-composite:source-in; }
.careers-page .careers-hero-copy { width:34%; }
.visit-street.visit-postcard { right:-4%; top:12%; bottom:auto; width:36%; height:76%; object-fit:contain; object-position:center; opacity:.68; filter:saturate(.65); transform:rotate(7deg); mask-image:linear-gradient(to left,#000 65%,transparent 100%); -webkit-mask-image:linear-gradient(to left,#000 65%,transparent 100%); }
@media(max-width:700px) {
 .careers-page .careers-hero { display:flex; flex-direction:column; height:auto; min-height:0; max-height:none; padding:22px 0 0; }
 .careers-page .careers-hero-copy { position:relative; inset:auto; transform:none; width:100%; padding:0 7% 20px; order:0; }
 .careers-page .careers-hero-copy h1 { font-size:48px; }
 .careers-page .careers-hero::before { position:relative; inset:auto; display:block; width:100%; height:360px; flex:none; order:1; background-size:cover; background-position:center; }
 .careers-page .careers-hero::after { display:none; }
 .visit-street.visit-postcard { top:13%; right:-24%; width:61%; height:64%; opacity:.24; }
}

