:root{--paper:#f5f3ed;--ink:#262923;--wine:#653b39;--gold:#e1bc60}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font-family:'Avenir Next',Avenir,Arial,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:3px solid #a88120;outline-offset:7px}img{max-width:100%;display:block}h1,h2,p,figure{margin:0}h1,h2{font-weight:500;letter-spacing:-.065em;line-height:1.02}p{line-height:1.65}button{border:0}.skip{position:fixed;top:-100px;z-index:100;background:white;padding:20px}.skip:focus{top:0}.header{position:fixed;z-index:20;top:0;left:0;width:100%;display:flex;align-items:center;justify-content:space-between;padding:24px 4vw;color:#fff;transition:background .25s,color .25s;text-shadow:0 1px 12px #0003}.header.solid{background:var(--paper);color:var(--ink);text-shadow:none;padding-top:16px;padding-bottom:16px;border-bottom:1px solid #26292315}.brand{position:relative;font-size:21px;font-weight:600;line-height:.9;letter-spacing:-1px;padding-right:40px}.brand i{font-style:normal;position:absolute;right:0;top:-1px;font-size:38px;color:var(--gold)}nav{display:flex;gap:30px;font-size:14px}.book{font-size:14px;padding:13px 20px;border:1px solid #ffffff65;border-radius:30px}.book span{margin-left:25px}.solid .book{border-color:#26292350}.journey{height:650vh;background:#81918c}.stage{position:sticky;top:0;height:100svh;overflow:hidden;isolation:isolate}.map-scene,.facade-scene,.courtyard-scene,.vignette{position:absolute;inset:0}.map-scene{background:#a7b4a8}#map{position:absolute;inset:0}.map-fallback{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;background:#80988b;color:#fff;z-index:-1}.map-fallback span{font-size:55px}.map-failed .map-fallback{z-index:1}.maplibregl-ctrl-attrib{font-size:10px!important}.map-pin{display:flex;flex-direction:column;align-items:center;color:var(--ink);font-size:12px;font-weight:600;white-space:nowrap;filter:drop-shadow(0 3px 8px #0003)}.map-pin b{display:block;background:var(--paper);padding:9px 14px;border-radius:20px}.map-pin i{width:18px;height:18px;background:var(--wine);border:3px solid white;border-radius:50%;box-shadow:0 0 0 10px #653b3922;margin-top:10px}.facade-scene{opacity:0;pointer-events:none;will-change:transform,opacity;transform-origin:92% 75%}.facade-scene img,.courtyard-scene video{width:100%;height:100%;object-fit:cover}.courtyard-scene{opacity:0;pointer-events:none;will-change:opacity;background:url(poster.webp) center/cover}.vignette{background:linear-gradient(180deg,#14252055,transparent 28%,transparent 45%,#0f1e20ab);pointer-events:none}.city-copy{position:absolute;left:7vw;bottom:19%;color:white;will-change:opacity,transform}.city-copy>p{font-size:15px;margin-bottom:20px}.city-copy h1{font-size:clamp(46px,5.8vw,96px);max-width:1100px}.explore{display:flex;align-items:center;gap:25px;margin-top:30px;font-size:15px}.explore button{border:1px solid #fff9;border-radius:50%;width:44px;height:44px;color:white;background:none;font-size:24px}.address-copy{position:absolute;left:7vw;bottom:18%;color:white;opacity:0;pointer-events:none}.address-copy span{font-size:clamp(30px,4vw,65px);letter-spacing:-.05em}.address-copy p{margin-top:8px}.courtyard-copy{position:absolute;inset:22% 5vw auto;color:white;text-align:center;opacity:0;pointer-events:none}.courtyard-copy h2{font-size:clamp(75px,12vw,190px);line-height:.85;margin:28px 0;letter-spacing:-.07em;font-weight:500}.courtyard-copy>span{font-size:14px}.courtyard-copy p{font-size:18px}.journey-bottom{position:absolute;bottom:30px;left:4vw;right:4vw;display:flex;justify-content:space-between;align-items:center;color:white;font-size:12px;gap:12px}.scroll-hint b{margin-left:20px;font-size:21px;font-weight:400}.progress{position:absolute;bottom:0;width:100%;height:3px;background:#ffffff22}.progress i{display:block;height:100%;background:var(--gold);transform-origin:left;transform:scaleX(0)}.section{padding:120px 7vw}.about{position:relative;display:grid;grid-template-columns:1.15fr .85fr;gap:9vw;align-items:center;overflow:hidden}.small-label{display:block;font-size:13px;margin-bottom:26px}.about h2{font-size:clamp(38px,4.5vw,70px)}.lead{font:26px/1.35 Georgia,serif;margin:30px 0 20px;max-width:420px}.about-copy>p:not(.lead){font-size:16px;max-width:480px;color:#62645b}.text-link{display:flex;justify-content:space-between;max-width:360px;padding:24px 0 14px;margin-top:24px;border-bottom:1px solid #96998e;font-size:14px}.about-photo{position:relative;z-index:1}.about-photo img{height:610px;width:100%;object-fit:cover;border-radius:200px 200px 0 0}.about-photo figcaption{font-size:11px;color:#75776e;margin-top:14px}.flower-mark{font-size:250px;color:#e8e3d5;position:absolute;bottom:-25px;left:38%;line-height:1;transform:rotate(12deg)}.atmosphere{padding-top:25px}.section-heading{display:flex;align-items:end;justify-content:space-between;margin-bottom:55px;gap:40px}.section-heading h2{font-size:clamp(42px,6vw,90px)}.section-heading p{font-size:14px;color:#65685d}.gallery{display:grid;grid-template-columns:1.25fr .75fr;gap:45px 55px;align-items:start}.photo{position:relative;display:block;padding:0;background:transparent;text-align:left;overflow:hidden}.photo img{width:100%;height:100%;object-fit:cover;transition:transform .6s}.photo:hover img{transform:scale(1.025)}.photo>span{position:absolute;bottom:0;left:0;right:0;display:flex;justify-content:space-between;padding:50px 24px 24px;color:#fff;background:linear-gradient(transparent,#0008);font-size:14px}.photo i{font-style:normal}.photo-wide{height:440px}.photo-tall{height:530px;margin-top:130px}.photo-garden{height:410px;width:85%;margin-top:-120px}.menu-section{display:grid;grid-template-columns:1fr 1fr;background:#e9e6d9;min-height:580px}.menu-image img{height:100%;width:100%;object-fit:cover}.menu-copy{padding:80px 8vw 80px 6vw;align-self:center}.menu-copy h2{font-size:clamp(48px,5.5vw,84px)}.menu-copy p{max-width:350px;margin:28px 0;font-size:16px;color:#616153}.pill{display:inline-flex;align-items:center;justify-content:space-between;gap:40px;padding:17px 25px;border-radius:40px;font-size:14px}.dark{background:var(--ink);color:white}.light{background:var(--paper);color:var(--wine)}.contacts{background:var(--wine);color:var(--paper);padding-bottom:30px}.contact-top{display:flex;justify-content:space-between;font-size:13px;gap:20px;margin-bottom:60px;color:#e3c9bf}.contacts h2{font-size:clamp(60px,9.5vw,145px);margin-bottom:70px}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px}.contact-grid .small-label{margin-bottom:15px;color:#e1c8bb}.phone{font-size:clamp(24px,3.3vw,50px);letter-spacing:-.05em}.contact-grid p{font-size:14px;margin:15px 0 24px;color:#e1c8bb}.contact-grid .address{font-size:28px;line-height:1.4;color:var(--paper)}footer{display:flex;justify-content:space-between;border-top:1px solid #ffffff30;margin-top:90px;padding-top:26px;font-size:12px}.lightbox{border:0;background:#171c19;color:#fff;padding:40px;max-width:95vw;max-height:95svh}.lightbox::backdrop{background:#000b}.lightbox img{max-height:76svh;max-width:85vw;object-fit:contain}.lightbox p{margin-top:10px;font-size:14px}.close{position:absolute;right:8px;top:4px;background:none;color:#fff;font-size:25px}.noscript{padding:30px;background:#fff}.maplibregl-canvas{outline:none}.maplibregl-ctrl-bottom-right{bottom:65px!important}
@media(max-width:750px){.header{padding:19px 5vw}.brand{font-size:18px}.brand i{font-size:33px}nav{display:none}.book{font-size:12px;padding:11px 15px}.book span{margin-left:10px}.journey{height:550vh}.city-copy{left:6vw;right:6vw;bottom:23%}.city-copy h1{font-size:48px}.city-copy>p{font-size:12px}.courtyard-copy{top:32%}.courtyard-copy h2{font-size:23vw}.courtyard-copy p{font-size:14px}.address-copy{bottom:23%;left:6vw}.facade-scene{transform-origin:82% 75%}.facade-scene img{object-position:right center}.journey-bottom{bottom:30px;font-size:11px;align-items:end}.scene-caption{display:none}.scroll-hint{max-width:150px}.scroll-hint b{margin-left:5px}.section{padding:75px 6vw}.about{grid-template-columns:1fr;gap:40px}.about h2{font-size:43px}.about-photo{width:83%;margin-left:auto}.about-photo img{height:440px}.flower-mark{left:0;bottom:60px;font-size:170px}.lead{font-size:24px}.section-heading{display:block;margin-bottom:30px}.section-heading h2{font-size:48px}.section-heading p{margin-top:22px}.gallery{gap:18px;grid-template-columns:1fr 1fr}.photo-wide{height:290px;grid-column:1/-1}.photo-tall{height:320px;margin:0}.photo-garden{height:270px;width:100%;margin:50px 0 0}.photo>span{padding:35px 12px 15px;font-size:11px}.menu-section{grid-template-columns:1fr}.menu-image{height:290px}.menu-copy{padding:55px 6vw 65px}.contacts h2{font-size:59px;margin-bottom:45px}.contact-top{font-size:11px;margin-bottom:40px}.contact-grid{grid-template-columns:1fr;gap:30px}.phone{font-size:34px}footer{margin-top:55px;gap:20px;font-size:10px}.lightbox{padding:30px 10px}.lightbox img{max-width:87vw}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.journey{height:100svh}.map-scene,.city-copy,.address-copy{display:none}.facade-scene{opacity:1!important;transform:none!important}.courtyard-copy{opacity:1!important}.courtyard-copy>span,.courtyard-copy p{display:none}.scroll-hint{display:none}.photo img{transition:none}}
/* The cafe menu: the yellow facade, green garden and wine-coloured roof. */
.cafe-menu{padding:100px 7vw;background:#eee9da;scroll-margin-top:0}.menu-intro{display:flex;justify-content:space-between;align-items:center;padding-bottom:50px}.menu-intro h2{font-size:clamp(80px,10vw,150px);color:#354333;line-height:1;margin:14px 0 22px}.menu-intro p{font-size:20px;max-width:500px}.menu-seal{width:155px;height:155px;border:1px solid #78806b;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#354333;line-height:.65;font-size:18px;transform:rotate(9deg)}.menu-seal span{font-size:52px;line-height:.8;color:#9b7431}.menu-controls{border-top:1px solid #35433330;padding:26px 0 32px;display:grid;grid-template-columns:1fr 245px;gap:35px;align-items:start}.menu-filter{display:flex;flex-wrap:wrap;gap:8px}.menu-filter button{border:1px solid #35433330;border-radius:24px;padding:10px 17px;background:transparent;color:#354333;font-size:14px;transition:background .15s,color .15s}.menu-filter button:hover{background:#35433315}.menu-filter button[aria-pressed=true]{background:#354333;color:#fff;border-color:#354333}.menu-search{display:grid;gap:8px;font-size:12px;color:#454d40}.menu-search input{width:100%;border:0;border-bottom:1px solid #35433380;background:transparent;padding:10px 0;font:inherit;font-size:16px;border-radius:0;color:#262923}.menu-search input:focus-visible{outline:2px solid #9b7431;outline-offset:5px}.dish-grid{display:grid;grid-template-columns:1fr 1fr;column-gap:7vw;row-gap:54px;padding:20px 0 45px;align-items:start}.dish-group[hidden],.dish-group li[hidden],.menu-empty[hidden]{display:none}.dish-heading{margin-bottom:18px;min-height:58px}.dish-heading h3{font-family:Georgia,'Times New Roman',serif;font-size:30px;font-weight:400;letter-spacing:-.035em;margin:0;color:#653b39}.dish-heading p{font-size:12px;margin-top:7px;color:#646853}.dish-group ul{list-style:none;padding:0;margin:0}.dish-group li{display:flex;justify-content:space-between;align-items:baseline;gap:22px;padding:13px 0;border-bottom:1px solid #35433316;font-size:16px;line-height:1.4;break-inside:avoid}.dish-group li span{max-width:85%}.dish-group strong{font-weight:500;white-space:nowrap;font-variant-numeric:tabular-nums}.dish-group small{font-size:12px;color:#626652}.menu-allergy{border-top:1px solid #35433330;padding-top:24px;font-size:13px;color:#565d4e;max-width:760px}.menu-empty{padding:30px 0;font-size:20px}.dish-grid:empty{display:none}@media(max-width:750px){.cafe-menu{padding:70px 6vw}.menu-intro{padding-bottom:32px;gap:10px}.menu-intro h2{font-size:76px}.menu-intro p{font-size:15px;max-width:220px}.menu-seal{width:85px;height:85px;flex-shrink:0;font-size:12px}.menu-seal span{font-size:30px}.menu-controls{grid-template-columns:1fr;gap:22px;padding-top:22px}.menu-filter{flex-wrap:nowrap;overflow-x:auto;padding:3px 0 12px;max-width:88vw}.menu-filter button{white-space:nowrap;padding:9px 14px}.menu-search{max-width:100%}.dish-grid{grid-template-columns:1fr;gap:36px;padding-top:8px}.dish-heading{min-height:0;margin-bottom:12px}.dish-heading h3{font-size:29px}.dish-group li{font-size:16px;padding:14px 0;gap:15px}.menu-allergy{font-size:12px}}

.brand{padding-right:0}.book{white-space:nowrap;font-variant-numeric:tabular-nums}

.opening-hours{margin-top:45px}.opening-hours h3{font-size:16px;font-weight:500;margin-bottom:15px}.opening-hours p{font-size:15px;margin-top:8px}.opening-hours span{display:inline-block;margin-left:18px;opacity:.75;font-size:13px}@media(max-width:750px){.opening-hours span{display:block;margin-left:0}}

/* Mobile composition: retain the entire horizontal scene, with copy below it. */
@media(max-width:750px){
 html{scroll-padding-top:112px}.header,.header.solid{padding:14px 5vw 10px;flex-wrap:wrap;gap:13px;background:var(--paper);color:var(--ink);text-shadow:none}.header nav{display:flex;order:3;width:100%;justify-content:space-between;gap:10px;font-size:12px}.header .book{border-color:#26292350;font-size:12px;padding:10px 12px;min-height:40px}.brand{font-size:17px}
 .stage{background:#28372e}.journey{height:450svh}.facade-scene,.courtyard-scene{top:21%;bottom:auto;height:auto;aspect-ratio:16/9;background:none;transform-origin:center!important}.facade-scene img,.courtyard-scene video{width:100%;height:100%;object-fit:contain;object-position:center}.courtyard-scene{background: url(poster.webp) center/contain no-repeat}.vignette{background:linear-gradient(180deg,transparent 50%,#18271a33)}
 .city-copy{bottom:20%;left:6vw;right:6vw}.city-copy h1{font-size:clamp(34px,9vw,48px);line-height:1.08}.city-copy>p{font-size:12px}.explore{font-size:13px;gap:16px;margin-top:24px}
 .address-copy{top:calc(21% + 56.25vw + 24px);bottom:auto;left:6vw;right:6vw}.address-copy span{font-size:clamp(26px,7vw,34px)}.address-copy p{font-size:14px}
 .courtyard-copy{top:calc(21% + 56.25vw + 20px);left:6vw;right:6vw}.courtyard-copy h2{font-size:clamp(42px,13vw,64px);line-height:.95;margin:14px 0}.courtyard-copy>span{font-size:12px}.courtyard-copy p{font-size:13px;line-height:1.4;max-width:270px;margin:auto}
 .journey-bottom{bottom:max(18px,env(safe-area-inset-bottom));left:6vw;right:6vw;font-size:10px;align-items:center}.scroll-hint{max-width:165px}.maplibregl-ctrl-bottom-right{bottom:76px!important}.maplibregl-ctrl-attrib{max-width:94vw;font-size:9px!important}
 .section{padding:58px 6vw}.about{gap:30px}.about h2,.section-heading h2{font-size:clamp(30px,8.5vw,42px);line-height:1.08}.lead{font-size:22px}.about-photo{width:100%;margin:0}.about-photo img{height:auto;max-height:none;border-radius:150px 150px 0 0}.atmosphere{padding-top:12px}.gallery{display:flex;flex-direction:column;gap:24px}.photo-wide,.photo-tall,.photo-garden{width:100%;height:auto;margin:0}.photo img{height:auto;object-fit:contain}.photo>span{font-size:13px}.contacts h2{font-size:clamp(36px,10vw,54px);line-height:1.07;margin-bottom:35px}.contact-top{flex-wrap:wrap;line-height:1.5;margin-bottom:30px}.phone{font-size:clamp(25px,7.5vw,34px);white-space:nowrap}.contact-grid .address{font-size:24px}.contact-grid{gap:22px}footer{flex-direction:column;font-size:12px;line-height:1.6;margin-top:36px}
 .cafe-menu{padding:58px 6vw}.menu-intro h2{font-size:64px}.menu-filter{flex-wrap:wrap;overflow:visible;max-width:none;gap:7px}.menu-filter button{font-size:12px;padding:10px 12px;min-height:40px}.menu-controls{gap:20px}.dish-group li span{max-width:none;min-width:0}.dish-group strong{flex-shrink:0}.dish-group li{font-size:15px}.dish-heading h3{font-size:27px}.lightbox{width:94vw;padding:38px 10px 16px}.lightbox img{width:100%;max-width:100%;height:auto}
}
@media(max-width:750px) and (prefers-reduced-motion:reduce){.courtyard-copy{top:calc(21% + 56.25vw + 20px)}}

/* Restored original scroll-controlled video. */
.courtyard-scene video{display:block;width:100%;height:100%;object-fit:cover}@media(max-width:750px){.courtyard-scene video{object-fit:contain}}

/* ===== v13 additions ===== */

/* Hero copy stays readable over the light map. */
.map-scene::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,#0f1e2033 0%,transparent 30%,transparent 42%,#0f1e20b8 100%)}
.city-copy,.address-copy{text-shadow:0 2px 18px #0b161299,0 1px 3px #0b161266}
.city-copy>p{opacity:.95;font-weight:500}

/* Compact map attribution in the corner instead of a wide bar mid-screen. */
.maplibregl-ctrl-attrib.maplibregl-compact{background:#ffffffcc;border-radius:12px;min-height:22px}
.maplibregl-ctrl-bottom-right{bottom:70px!important;right:8px!important}

/* Delivery and pickup */
.delivery{background:var(--paper);display:grid;grid-template-columns:.9fr 1.1fr;gap:7vw;align-items:start}
.delivery h2{font-size:clamp(42px,5.5vw,84px);color:#354333}
.delivery .lead{max-width:380px}
.delivery-ways{display:grid;gap:22px}
.way{position:relative;border:1px solid #35433326;border-radius:28px;padding:34px 34px 30px;background:#fbfaf6}
.way-n{display:block;font-size:12px;color:#9b7431;letter-spacing:.08em;margin-bottom:14px}
.way h3{font-family:Georgia,'Times New Roman',serif;font-weight:400;font-size:30px;letter-spacing:-.03em;margin:0 0 12px;color:var(--wine)}
.way p{font-size:16px;color:#5c5f55;max-width:470px;margin-bottom:24px}
.way .pill{gap:28px}

/* Floating order button on phones once the walk is over */
.order-fab{display:none}
@media(max-width:750px){
 .delivery{grid-template-columns:1fr;gap:30px}
 .delivery h2{font-size:clamp(34px,9.5vw,46px);line-height:1.08}
 .way{padding:26px 22px 24px;border-radius:22px}
 .way h3{font-size:25px}
 .way p{font-size:15px}
 .way .pill{width:100%}
 .header nav{font-size:11.5px;gap:6px}
 .order-fab{display:flex;position:fixed;z-index:30;right:16px;bottom:max(16px,env(safe-area-inset-bottom));align-items:center;gap:8px;padding:14px 20px;border-radius:30px;background:var(--wine);color:#fff;font-size:15px;font-weight:500;box-shadow:0 8px 24px #2b151466;opacity:0;transform:translateY(20px);pointer-events:none;transition:opacity .25s,transform .25s}
 .past-journey .order-fab{opacity:1;transform:none;pointer-events:auto}
}
@media(prefers-reduced-motion:reduce){.order-fab{transition:none}}

/* Facade hero (16:9): keep the whole house in frame. */
.facade-scene img{object-position:center 45%}

/* Free delivery badge */
.free-delivery{display:inline-flex;gap:8px;align-items:baseline;flex-wrap:wrap;margin-top:6px;padding:12px 18px;border-radius:30px;background:#e1bc6033;color:#5a4320;font-size:15px}
.free-delivery b{color:var(--wine);font-weight:600}
