/* The approved flyer palette. Film timing and geometry are preserved. */
:root{--forest:#06283d;--deep:#031b2d;--cream:#faf8f1;--lime:#c7e9e5;--ink:#06283d;--muted:#526c78;--line:#bad4d5;--teal:#008f95;--copper:#a67b58}
html,body{overflow-x:clip}body{background:var(--cream)}
.site-header{background:var(--cream);color:var(--ink);border:0;min-height:112px;position:relative;z-index:3}
.hero-shell{background:var(--cream)}
.site-header:before{content:"";position:absolute;inset:0 calc((100vw - 100%)/-2);background:var(--cream);z-index:-1}
.site-header .brand-tagline{color:var(--teal)}
.site-header .brand-location{color:var(--ink)}
.site-header .brand-emblem{width:100px;height:88px}
.site-header .brand-emblem img{width:100px;height:100px}
.site-header .header-actions{display:flex;gap:12px;align-items:center;margin:0;padding:0;border:0;width:auto;order:0}
.site-header .header-cta{display:inline-flex;align-items:center;justify-content:center;gap:14px;white-space:nowrap;max-width:none;min-height:46px;border:1px solid var(--teal);padding:10px 21px;color:var(--ink);font-size:14px;font-weight:600;margin:0}
.site-header .header-cta span{margin:0;font-size:20px}
.site-header .header-cta:hover{background:#def1ed;color:var(--ink)}
.site-header .find-cta{background:var(--teal);color:var(--cream)}
.site-header .find-cta:hover{background:#087a82;color:white}
.cinema-version .hero{background:linear-gradient(180deg,#031b2d 0%,#093e52 32%,#167783 66%,#a9d6d7 100%);color:var(--cream)}
.cinema-version .ritual-stage::after{background:linear-gradient(90deg,#031b2d33,transparent 65%)}
.cinema-version .ritual-stage video{mix-blend-mode:lighten}
.cinema-version .hero-note,.cinema-version .hero-description{color:var(--cream)}
.cinema-version .hero h1 em{color:var(--lime)}
.button-lime:hover{background:#e1f3ee}
.flavour-strip{background:var(--lime);color:var(--ink)}
.strip-inner{min-height:78px}
.strip-inner>a{font-size:23px}
.background-story{background:var(--deep)}
.story-screen{background:radial-gradient(ellipse at 50% 48%,#7bb8be55,transparent 52%),linear-gradient(180deg,#031b2d 0%,#093e52 32%,#167783 66%,#a9d6d7 100%)}
.story-heart{background:linear-gradient(#031b2d 20%,#0b4859 54%,#8fc8cb 100%)}
.story-content .place-heading .eyebrow,.story-content .place-heading h2 em,.story-content .closing h2 em,.story-content .closing-star,h2 em{color:var(--teal)}
.story-content .place-heading>div,.story-content .place-heading>p,.story-content .menu-intro>div,.story-content .menu-intro>p,.story-content .section-title,.story-content .coffee-item,.story-content .food-copy,.story-content .closing{background:#faf8f1ed;border-color:#c7e9e566;box-shadow:0 12px 32px #031b2d14}
.story-content .place-photo figcaption,.story-content .food-photo figcaption,.story-content .menu-footnote>p{background:#faf8f1ed;color:var(--ink)}
.item-kicker,.section-number{color:var(--teal)}
.food-sticker{background:var(--lime);color:var(--ink)}
.story-toolbar button{background:var(--cream);color:var(--ink);border-color:var(--line)}
.story-toolbar button:focus-visible{outline-color:var(--teal)}
.site-footer{background:var(--deep);color:var(--cream);width:100%;max-width:none;padding-inline:max(28px,calc((100% - 1328px)/2));padding-top:32px}
.site-footer .footer-bottom{gap:24px;flex-wrap:wrap}
.site-footer .footer-bottom a:hover{color:var(--lime)}
.creator-credit{color:#c7e9e5c9}
.find-page .site-header{width:min(1328px,calc(100% - 112px))}
.find-hero{padding:42px 0 80px;color:var(--cream);background:radial-gradient(ellipse at 95% 15%,#008f9566,transparent 65%),var(--deep);position:relative;overflow:hidden}
.find-hero:after{content:"";position:absolute;right:-8%;bottom:-180px;width:55%;height:280px;border:2px solid #c7e9e52b;border-radius:50%;transform:rotate(-18deg);pointer-events:none}
.find-hero:before{content:"";position:absolute;inset:0 0 0 45%;background:linear-gradient(90deg,#031b2d,transparent 75%),linear-gradient(0deg,#031b2d55,#031b2d22),url('assets/our-place-real-20261024.jpg') center/cover;opacity:.65;pointer-events:none}
.find-hero>.wrap{position:relative;z-index:1}
.back-link{display:inline-block;font-size:13px;color:var(--lime);margin-bottom:55px}
.find-hero .eyebrow{color:var(--lime)}
.find-hero h1{font-size:clamp(48px,6.2vw,84px);max-width:850px}
.find-hero p:not(.eyebrow){max-width:560px;color:#e1efed;font-size:18px;margin-bottom:30px}
.visit-layout{display:grid;grid-template-columns:1fr 1.2fr;gap:8%;padding-block:90px;align-items:start}
.visit-details .eyebrow{color:var(--teal)}
.visit-details h2,.visit-photo h2{font:clamp(38px,4vw,58px)/1.1 var(--serif);letter-spacing:-1.5px}
.visit-detail{padding:24px 0;border-bottom:1px solid var(--line)}
.visit-detail h3{font-size:13px;letter-spacing:1.5px;text-transform:uppercase;color:var(--teal);margin-bottom:12px}
.visit-detail address{font-style:normal;font-size:18px;line-height:1.8}
.visit-detail p{font-size:14px;color:var(--muted);margin:8px 0 0}
.hours{margin:0}.hours>div{display:flex;justify-content:space-between;gap:16px;padding:5px 0}.hours dd{margin:0;white-space:nowrap}.contact-link{font-size:22px}
.visit-map{position:sticky;top:25px;border:1px solid var(--line);border-radius:26px;overflow:hidden;background:#e3f1ec}
.visit-map iframe{display:block;width:100%;height:560px;border:0}.visit-map>a{display:block;padding:19px 24px;color:var(--teal);font-weight:600;background:var(--cream)}
.visit-photo{display:grid;grid-template-columns:1.25fr 1fr;align-items:center;gap:7%;padding-bottom:90px}
.visit-photo>img{height:410px;object-fit:cover;border-radius:24px}.visit-photo .eyebrow{color:var(--teal);font-size:10px;letter-spacing:1.5px}
@media(max-width:800px){
 .cinema-version .hero h1{font-size:clamp(40px,10.6vw,64px);letter-spacing:-1.4px}
 .site-header{padding-block:14px;gap:12px;flex-wrap:wrap}
 .site-header .brand{flex:1 1 auto;gap:12px}
 .site-header .brand-emblem{width:80px;height:70px}.site-header .brand-emblem img{width:80px;height:80px}
 .site-header .brand-tagline{font-size:16px}.site-header .brand-location{font-size:10px}
 .site-header .header-actions{width:100%;justify-content:stretch;gap:10px}
 .site-header .header-cta{flex:1;padding:10px 14px;min-height:46px;font-size:13px}
 .strip-inner>a{font-size:17px}.strip-inner{min-height:72px}
 .story-content .coffee-item,.story-content .food-copy{background:linear-gradient(90deg,#031b2dbd,#093e5266);color:var(--cream);text-shadow:0 1px 8px #031b2dbb}
 .story-content .item-kicker,.story-content .food-copy .section-number,.story-content .food-copy h2 em{color:var(--lime)}
 .story-content .coffee-item h3,.story-content .food-list h3,.story-content .food-copy h2{color:var(--cream)}
 .story-content .coffee-item p,.story-content .food-list p,.story-content .section-description{color:#faf8f1ed}
 .story-content .food-list article{border-color:#c7e9e544}
 .find-page .site-header{width:calc(100% - 40px)}
 .find-hero{padding-block:26px 54px}.back-link{margin-bottom:35px}.find-hero p:not(.eyebrow){font-size:16px}
 .find-hero:before{left:0;opacity:.18;background-position:65% center}
 .visit-layout{grid-template-columns:1fr;gap:40px;padding-block:52px}.visit-map{position:static}.visit-map iframe{height:380px}
 .visit-photo{grid-template-columns:1fr;gap:30px;padding-bottom:55px}.visit-photo>img{height:300px}.hours>div{font-size:14px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Match the approved visual composition, not only its palette. */
.site-header{min-height:94px}
.site-header .brand{gap:20px;padding:8px 0}
.site-header .brand-emblem{width:260px;height:76px}
.site-header .brand-emblem img{position:static;width:260px;height:76px;object-fit:contain}
.site-header .brand-lockup{border-left:1px solid var(--ink);padding-left:20px;max-width:180px}
.site-header .brand-location{font-size:14px;line-height:1.35;letter-spacing:0}
.cinema-version .hero{height:650px;min-height:650px;max-height:650px;padding:65px max(56px,calc((100% - 1328px)/2)) 80px;background:radial-gradient(ellipse at 86% 19%,#008f95a8,transparent 43%),linear-gradient(125deg,#031b2d 12%,#06384c 59%,#117d89 100%)}
.cinema-version .hero:before{content:"";position:absolute;inset:-35px auto auto -18px;width:240px;height:245px;background:url('assets/copper-botanical.svg') center/contain no-repeat;transform:rotate(15deg);opacity:.85;pointer-events:none;z-index:1}
.cinema-version .hero:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:90px;background:url('assets/riverside-waves.svg') center bottom/100% 100% no-repeat;z-index:1;pointer-events:none}
.cinema-version .hero-copy{max-width:620px;padding-top:15px}
.cinema-version .hero h1{font-size:clamp(60px,7.2vw,104px);letter-spacing:-2.8px;line-height:.99;margin-bottom:25px;white-space:nowrap}
.cinema-version .hero .eyebrow{font-weight:500;letter-spacing:3px;margin-bottom:24px;font-size:13px}
.cinema-version .hero .tiny-star{display:none}
.cinema-version .hero-description{font-size:21px;line-height:1.45;max-width:520px;margin-bottom:30px}
.cinema-version .hero-note{display:none}
.cinema-version .ritual-stage video{height:1020px;width:1020px;top:auto;bottom:-170px;left:75%;transform:translateX(-50%);object-fit:contain;mix-blend-mode:lighten;mask-image:linear-gradient(90deg,transparent,#000 19%,#000 90%,transparent);filter:saturate(.78)}
.cinema-version .ritual-stage::after{background:none}
.cinema-version .ritual-visual{mix-blend-mode:lighten}
.cinema-version .ritual-stage video{mix-blend-mode:normal}
.cinema-version .ritual-caption{left:75%;bottom:62px;width:40%;z-index:2;font-size:10px}
.cinema-version .ritual-caption strong{font-size:18px}
.cinema-version .ritual-caption>span{font-size:9px;margin-bottom:3px}
.cinema-version .ritual-controls{bottom:12px;right:40px;z-index:3;gap:22px}
.cinema-version .ritual-controls button{font-size:11px}
.flavour-strip .strip-inner{min-height:58px;justify-content:center;gap:24px}
.flavour-strip p{font-size:12px;letter-spacing:4px;font-weight:650;margin:0;white-space:nowrap}
.strip-rule{height:1px;width:80px;background:var(--teal)}
.background-story{background:var(--cream)}
.story-screen{background:var(--cream)}
.story-screen:after{content:"";position:absolute;inset:0;background:#faf8f1c9;z-index:2}
.story-screen>video,.story-heart video{filter:brightness(1.18) saturate(.65);opacity:.85}
.story-heart{background:var(--cream)}
.story-toolbar{position:absolute;z-index:2;top:8px;right:20px;width:auto;height:32px;padding:0;margin:0;font-size:10px}
.story-toolbar>span{display:none}.story-toolbar button{padding:6px 12px;opacity:.7;font-size:10px}
.story-content .place-section{padding:40px 0 28px}
.story-content .place-section>.wrap{width:calc(100% - 40px);max-width:1450px}
.story-content .place-heading{grid-template-columns:1.45fr 1fr;gap:40px;max-width:1328px;margin:0 auto 35px;padding-inline:32px;position:relative}
.story-content .place-heading:after,.favourites:after{content:"";position:absolute;right:-35px;top:-10px;width:260px;height:180px;background:url('assets/riverside-waves.svg') center/contain no-repeat;opacity:.5;pointer-events:none;z-index:-1}
.story-content .place-heading>div,.story-content .place-heading>p{background:none;border:0;box-shadow:none;border-radius:0;padding:0}
.story-content .place-heading>p{border-left:1px solid var(--teal);padding-left:55px;font-size:19px;line-height:1.45;max-width:400px;margin:0;align-self:center}
.story-content .place-heading h2{font-size:clamp(45px,6.5vw,90px);letter-spacing:-2.5px;line-height:.97}
.story-content .place-photo{width:100%;margin:0}
.story-content .place-photo img{width:100%;height:400px;object-fit:cover;object-position:center 58%;border-radius:28px}
.story-content .place-photo figcaption{display:none}
.favourites{padding:0 0 55px;position:relative;color:var(--ink)}
.favourites-heading{display:flex;align-items:center;gap:35px;padding:4px 0 22px}
.favourites-heading h2{font-size:clamp(40px,5.4vw,76px);letter-spacing:-2px;white-space:nowrap}
.favourites-heading>span{height:1px;background:var(--teal);width:200px;opacity:.7}
.favourites-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.favourite-card{background:#faf8f1e6;border-radius:20px;overflow:hidden;box-shadow:0 6px 18px #06283d06;transition:transform .2s,box-shadow .2s}
.favourite-card:hover{transform:translateY(-4px);box-shadow:0 12px 25px #06283d12}
.favourite-card>img{width:100%;height:250px;object-fit:cover;border-radius:18px}
.favourite-card>div{padding:18px 24px 24px}
.favourite-card h3{font:clamp(22px,2.2vw,30px)/1.1 var(--serif);letter-spacing:-1px;margin:0 0 8px}
.favourite-card p{font-size:15px;line-height:1.45;margin:0}
.favourite-card>div>span{display:block;width:60px;height:1px;background:var(--teal);margin:23px auto 0}
.favourites:before{content:"";position:absolute;left:-85px;top:100px;bottom:0;width:130px;background:url('assets/copper-botanical.svg') left center/contain no-repeat;opacity:.6;pointer-events:none;z-index:-1}
.brew-caption-stage{color:var(--ink)}
.brew-caption-stack{text-shadow:none}
.brew-caption .eyebrow,.brew-caption h3 em{color:var(--teal)}
.brew-caption>p:last-child{color:var(--muted)}
.story-content .coffee-item,.story-content .food-copy{background:#faf8f1db;color:var(--ink);text-shadow:none}
.story-content .coffee-item h3,.story-content .food-list h3,.story-content .food-copy h2{color:var(--ink)}
.story-content .coffee-item p,.story-content .food-list p,.story-content .section-description{color:var(--muted)}
.story-content .item-kicker,.story-content .food-copy .section-number,.story-content .food-copy h2 em{color:var(--teal)}
@media(min-width:1500px){.cinema-version .hero{height:720px;min-height:720px;max-height:720px}.cinema-version .ritual-stage video{height:1150px;width:1150px;left:73%;bottom:-190px}.cinema-version .ritual-caption{left:73%}}
@media(min-width:801px) and (max-width:1100px){.site-header .brand-emblem,.site-header .brand-emblem img{width:215px;height:65px}.site-header .brand-lockup{padding-left:14px}.site-header .brand-location{font-size:12px}.site-header .brand{gap:12px}.site-header .header-cta{font-size:12px;padding:8px 14px}.cinema-version .hero{padding-inline:36px;height:600px;min-height:600px;max-height:600px}.cinema-version .hero h1{font-size:6.3vw}.cinema-version .hero-description{max-width:390px;font-size:17px}.cinema-version .ritual-stage video{height:850px;width:850px;bottom:-115px;left:76%}.cinema-version .hero-copy{max-width:54%}.favourite-card>img{height:210px}}
@media(max-width:800px){
 .site-header .brand-emblem,.site-header .brand-emblem img{width:210px;height:62px}.site-header .brand{gap:10px;padding:0}.site-header .brand-lockup{padding-left:12px;max-width:125px}.site-header .brand-location{font-size:11px}
 .cinema-version .hero{height:auto;min-height:800px;max-height:none;padding:56px 24px 350px;align-items:flex-start}
 .cinema-version .hero:before{width:160px;height:160px;opacity:.45;top:-35px;left:-40px}
 .cinema-version .hero h1{font-size:clamp(38px,10.8vw,76px);letter-spacing:-1.6px;white-space:normal;line-height:1.02}
 .cinema-version .hero-description{font-size:17px;line-height:1.55;max-width:490px}
 .cinema-version .hero .eyebrow{font-size:10px;letter-spacing:1.7px;white-space:nowrap}
 .cinema-version .ritual-stage video{width:620px;height:620px;left:50%;bottom:-20px;top:auto;transform:translateX(-50%);max-width:none;mask-image:linear-gradient(180deg,transparent,#000 17%,#000 96%,transparent)}
 .cinema-version .ritual-caption{left:50%;bottom:64px;width:90%}.cinema-version .ritual-controls{right:20px;left:20px;bottom:10px}.cinema-version .hero:after{height:56px}
 .flavour-strip .strip-inner{gap:10px;min-height:48px}.flavour-strip p{font-size:9px;letter-spacing:1.4px}.strip-rule{width:20px}
 .story-content .place-section{padding-top:48px}.story-content .place-heading{grid-template-columns:1fr;gap:22px;padding:0 4px;margin-bottom:26px}
 .story-content .place-heading h2{font-size:clamp(40px,10vw,68px);letter-spacing:-1.7px}.story-content .place-heading>p{font-size:16px;padding-left:18px}.story-content .place-photo img{height:290px;border-radius:22px}
 .favourites{width:calc(100% - 40px);padding-bottom:35px}.favourites-heading{gap:15px}.favourites-heading h2{white-space:normal;font-size:36px;line-height:1.05;letter-spacing:-1.3px}.favourites-heading>span{width:45px;flex-shrink:0}
 .favourites-grid{grid-template-columns:1fr;gap:20px}.favourite-card>img{height:245px}.favourite-card h3{font-size:29px}.favourite-card>div{padding:20px 22px}.favourites:after{width:140px;height:80px}
 .story-screen:after{background:#faf8f1c9}
 .story-content .food-list article{border-color:var(--line)}
}
@media(min-width:651px) and (max-width:800px){
 .site-header{min-height:78px;flex-wrap:nowrap;gap:15px;padding-block:8px}
 .site-header .brand{flex:none;gap:9px}.site-header .brand-emblem,.site-header .brand-emblem img{width:185px;height:55px}
 .site-header .brand-location{font-size:10px}.site-header .brand-lockup{padding-left:9px}
 .site-header .header-actions{width:auto;gap:8px;flex-shrink:0}.site-header .header-cta{padding:8px 12px;font-size:11px;gap:5px;min-height:39px}
 .cinema-version .hero{height:520px;min-height:520px;max-height:520px;padding:70px 30px 70px;align-items:center}
 .cinema-version .hero-copy{max-width:53%;padding-top:0}.cinema-version .hero h1{font-size:5.9vw;white-space:nowrap;letter-spacing:-1.5px}
 .cinema-version .hero-description{font-size:14px;line-height:1.5;max-width:340px}
 .cinema-version .hero .eyebrow{font-size:8px;letter-spacing:1.1px;margin-bottom:20px}
 .cinema-version .hero .button{font-size:12px;padding:12px 18px;gap:20px}
 .cinema-version .ritual-stage video{width:750px;height:750px;left:77%;bottom:-105px;mask-image:linear-gradient(90deg,transparent,#000 20%,#000 90%,transparent)}
 .cinema-version .ritual-caption{left:76%;width:45%;bottom:65px}.cinema-version .ritual-caption strong{font-size:13px}
 .cinema-version .ritual-controls{left:auto;right:18px;bottom:10px;gap:12px}
 .story-content .place-heading{grid-template-columns:1.4fr 1fr;gap:20px;padding-inline:15px}
 .story-content .place-heading h2{font-size:5.5vw}.story-content .place-heading>p{padding-left:22px;font-size:15px}
 .story-content .place-photo img{height:280px}.favourites-grid{grid-template-columns:repeat(3,1fr);gap:12px}
 .favourite-card>img{height:170px}.favourite-card>div{padding:15px}.favourite-card h3{font-size:22px}.favourite-card p{font-size:12px}
 .favourites-heading h2{font-size:40px}
}
