/* Broad riverside ribbons and coffee foliage, following the approved artwork. */
.story-content{overflow:hidden;background:radial-gradient(ellipse at 100% 14%,#c7e9e52b,transparent 25%),radial-gradient(ellipse at 0% 54%,#c7e9e52e,transparent 30%)}
.story-heart video{mask-image:radial-gradient(ellipse at 50% 60%,#000 38%,#000b 55%,transparent 77%);mask-composite:add}
.story-screen>video.flow-mobile{mask-image:radial-gradient(ellipse at 50% 56%,#000 25%,#000d 49%,transparent 78%)}
.page-flora{position:absolute;inset:0;pointer-events:none;z-index:-1;overflow:hidden}
.page-flora:before,.page-flora:after{content:"";position:absolute;top:420px;bottom:0;width:200px;background:url('assets/coffee-botanical-rich.svg') center top/185px 630px repeat-y;opacity:.78}
.page-flora:before{left:-75px}.page-flora:after{right:-75px;top:780px;transform:scaleX(-1)}
.story-content .place-heading:after{width:430px;height:400px;right:-165px;top:-180px;background-image:url('assets/riverside-sweep.svg?v=15');opacity:.75;transform:rotate(8deg)}
.favourites:after{width:500px;height:400px;right:-200px;top:-200px;background-image:url('assets/riverside-sweep.svg?v=15');opacity:.67;transform:rotate(-7deg)}
.favourites:before{display:none}
.menu-intro,.coffee-section,.food-section,.closing{position:relative}
.story-content .menu-intro:after{content:"";position:absolute;left:-210px;top:140px;width:460px;height:420px;background:url('assets/riverside-sweep.svg?v=15') center/contain no-repeat;transform:rotate(165deg);opacity:.54;pointer-events:none;z-index:-1}
.story-content .coffee-section:after{content:"";position:absolute;right:-240px;bottom:-120px;width:510px;height:440px;background:url('assets/riverside-sweep.svg?v=15') center/contain no-repeat;transform:rotate(-28deg);opacity:.62;pointer-events:none;z-index:-1}
.story-content .food-section:after{content:"";position:absolute;left:-210px;bottom:-20px;width:460px;height:390px;background:url('assets/riverside-sweep.svg?v=15') center/contain no-repeat;transform:rotate(180deg);opacity:.58;pointer-events:none;z-index:-1}
.story-content .cake-section:after{left:auto;right:-230px;transform:rotate(-8deg)}
.story-content .closing:before{content:"";position:absolute;left:-185px;bottom:-40px;width:230px;height:370px;background:url('assets/coffee-botanical-rich.svg') center/contain no-repeat;transform:rotate(-16deg);pointer-events:none;opacity:.8}
.cinema-version .hero:before{background-image:url('assets/coffee-botanical-rich.svg');top:-105px;left:-60px;width:265px;height:360px;transform:rotate(48deg);opacity:1}
.cinema-version .hero:after{height:80px}
.cinema-version .hero-copy{z-index:3}
.cinema-version .ritual-visual{mix-blend-mode:normal}
.cinema-version .ritual-stage video{width:860px;height:860px;bottom:-80px;left:76%;filter:none;mix-blend-mode:normal;mask-image:linear-gradient(90deg,transparent,#000 18%,#000 88%,transparent),linear-gradient(180deg,transparent,#000 16%,#000 88%,transparent);mask-composite:intersect}
.cinema-version .ritual-caption{left:76%;bottom:64px;z-index:3}
.cinema-version .ritual-caption strong{font-size:17px}.cinema-version .ritual-caption>span{color:var(--lime)}
.favourites{padding-block:10px 55px}
.favourite-card{position:relative;z-index:1}
.favourites-heading,.story-content .place-heading>div,.story-content .place-heading>p{position:relative;z-index:1}
.story-content .place-heading>p{background:#faf8f1b8}
.find-page .find-hero:after{background:url('assets/riverside-sweep.svg?v=15') center/contain no-repeat;width:550px;height:420px;right:-100px;bottom:-180px;border:0;border-radius:0}
.visit-layout:before{content:"";position:absolute;left:-140px;top:130px;width:220px;height:420px;background:url('assets/coffee-botanical-rich.svg') center/contain no-repeat;opacity:.6;pointer-events:none;z-index:-1}
.visit-layout{position:relative;isolation:isolate}
.story-brew-space{position:relative}
.story-brew-space:before,.story-brew-space:after{content:"";position:absolute;width:510px;height:480px;background:url('assets/riverside-sweep.svg?v=15') center/contain no-repeat;opacity:.44;pointer-events:none;z-index:-1}
.story-brew-space:before{left:-250px;top:20%;transform:rotate(155deg)}.story-brew-space:after{right:-240px;bottom:-25px;transform:rotate(-12deg)}
@media(min-width:1500px){.cinema-version .ritual-stage video{width:1000px;height:1000px;bottom:-115px;left:73%}.cinema-version .ritual-caption{left:73%}}
@media(min-width:801px) and (max-width:1100px){.cinema-version .ritual-stage video{width:760px;height:760px;bottom:-70px;left:77%}.cinema-version .ritual-caption{left:77%}}
@media(max-width:800px){
 .page-flora:before,.page-flora:after{width:135px;background-size:135px 720px;opacity:.6}.page-flora:before{left:-65px}.page-flora:after{right:-65px}
 .story-content .place-heading:after{right:-140px;top:-100px;width:320px;height:300px;opacity:.65}
 .favourites:after{width:330px;height:310px;top:-140px;right:-170px}
 .story-content .menu-intro:after{width:320px;left:-160px;top:180px;height:280px}
 .story-content .coffee-section:after{width:340px;right:-160px;height:300px}
 .story-content .food-section:after{width:330px;height:300px;left:-160px}
 .story-content .cake-section:after{left:auto;right:-160px}
 .story-content .closing:before{left:-70px;bottom:-80px;width:150px;height:240px;opacity:.5}
 .cinema-version .hero:before{width:180px;height:260px;top:-100px;left:-50px;opacity:.8}
 .cinema-version .ritual-stage video{width:570px;height:570px;left:50%;bottom:-5px;transform:translateX(-50%)}
 .cinema-version .ritual-caption{left:50%;width:90%;bottom:68px}
 .cinema-version .hero{min-height:800px;padding-bottom:350px}
 .favourites-heading{padding-bottom:24px}
}
@media(min-width:651px) and (max-width:800px){.cinema-version .ritual-stage video{width:640px;height:640px;left:78%;bottom:-40px}.cinema-version .ritual-caption{left:77%;width:42%;bottom:64px}}

/* Tapered, flowing ribbons and a purposeful compact transition. */
.story-content .place-heading:after{width:380px;height:230px;top:-80px;right:-90px;transform:rotate(-5deg);opacity:.9}
.favourites:after{width:440px;height:250px;right:-130px;top:-105px;transform:rotate(3deg);opacity:.85}
.story-content .coffee-section:after{width:430px;height:300px;right:-180px;bottom:-70px;transform:rotate(-18deg)}
.story-content .food-section:after{width:440px;height:250px;left:-210px;bottom:0;transform:rotate(175deg)}
.story-content .cake-section:after{left:auto;right:-190px;transform:rotate(-5deg)}
.story-brew-space{height:auto;min-height:0;padding:42px 0 52px}
.story-brew-space:before,.story-brew-space:after{width:360px;height:230px;opacity:.5}
.story-brew-space:before{left:-155px;top:10%;transform:rotate(175deg)}
.story-brew-space:after{right:-150px;bottom:-35px;transform:rotate(-8deg)}
.ritual-note{display:grid;grid-template-columns:1.1fr 1fr;gap:70px;align-items:center;padding:36px 42px;border:1px solid #008f9533;border-radius:28px;background:linear-gradient(120deg,#faf8f1f2,#eef7f0e6);color:var(--ink);position:relative}
.ritual-note-copy .eyebrow{color:var(--teal);font-size:11px;letter-spacing:2px;margin-bottom:18px}
.ritual-note-copy h2{font-size:clamp(38px,4vw,56px);letter-spacing:-1.8px;line-height:1.05;margin-bottom:18px}
.ritual-note-copy>p:last-child{font-size:16px;line-height:1.65;color:var(--muted);max-width:400px;margin:0}
.ritual-steps{list-style:none;margin:0;padding:0}
.ritual-steps li{display:grid;grid-template-columns:34px 1fr;gap:16px;padding:18px 0;border-bottom:1px solid var(--line)}
.ritual-steps li:first-child{padding-top:0}.ritual-steps li:last-child{padding-bottom:0;border-bottom:0}
.ritual-steps li>span{font-size:11px;letter-spacing:1px;color:var(--teal);padding-top:4px}
.ritual-steps h3{font:26px/1.15 var(--serif);margin:0 0 6px}
.ritual-steps p{font-size:14px;line-height:1.55;margin:0;color:var(--muted)}
.story-content .place-heading>p{background:none;border:0;box-shadow:none;border-radius:0;padding-left:0;color:var(--ink)}
.site-footer{background:var(--cream);color:var(--ink);border-top:1px solid #008f9526;padding-top:30px}
.site-footer .footer-logo{width:min(310px,80%);margin:12px auto 28px}
.site-footer .footer-logo img{background:transparent;border-radius:0;height:auto;object-fit:contain}
.site-footer .footer-bottom{border-color:#008f9533;color:var(--muted)}
.site-footer .footer-bottom a{color:var(--ink)}
.site-footer .footer-bottom a:hover{color:var(--teal)}
.site-footer .creator-credit{color:var(--muted);padding-top:8px}
.site-header{position:sticky;top:0;z-index:40;box-shadow:0 1px 0 #008f9526,0 6px 22px #06283d09}
html{scroll-padding-top:calc(var(--header-height,96px) + 16px)}
.site-footer{padding-top:0;border-top:0}
.footer-brand-band{position:relative;width:100vw;margin-left:calc(50% - 50vw);padding:72px 24px 76px;isolation:isolate;background:var(--cream)}
.footer-brand-band:before,.footer-brand-band:after{content:"";position:absolute;left:0;right:0;height:68px;background:url('assets/riverside-waves.svg') center/100% 100% no-repeat;pointer-events:none;z-index:-1}
.footer-brand-band:before{top:0;transform:rotate(180deg)}
.footer-brand-band:after{bottom:0}
.site-footer .footer-brand-band .footer-logo{width:min(300px,76%);margin:0 auto}
.site-footer .footer-bottom{margin-top:0;padding-top:24px;border-top:0}
@media(max-width:800px){
 .footer-brand-band{padding-block:60px 65px}
 .footer-brand-band:before,.footer-brand-band:after{height:46px}
 .site-footer .footer-brand-band .footer-logo{width:min(270px,76%)}
 .story-content .place-heading:after{width:270px;height:180px;right:-115px;top:-35px}
 .favourites:after{width:300px;height:180px;right:-125px;top:-70px}
 .story-content .coffee-section:after{width:320px;height:220px;right:-150px;bottom:-40px}
 .story-content .food-section:after{width:320px;height:220px;left:-170px}
 .story-content .cake-section:after{left:auto;right:-155px}
 .story-brew-space{padding:24px 0 32px}
 .ritual-note{grid-template-columns:1fr;gap:28px;padding:28px 24px;border-radius:22px}
 .ritual-note-copy h2{font-size:39px}.ritual-note-copy>p:last-child{font-size:15px}
 .ritual-steps li{padding:15px 0;gap:12px}.ritual-steps h3{font-size:24px}.ritual-steps p{font-size:13px}
}

