/* A separate edition: original café header and hero, with the ritual behind the page. */
.background-story{position:relative;isolation:isolate;background:var(--forest);color:var(--ink)}
.story-screen{position:sticky;top:0;height:100svh;margin-bottom:-100svh;overflow:hidden;z-index:0;pointer-events:none;background:radial-gradient(ellipse at 50% 48%,#81978a55,transparent 52%),linear-gradient(180deg,#071810 0%,#123428 32%,#325346 60%,#788e80 84%,#b4beb7 100%)}
.story-screen video{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;opacity:1}
.story-screen>video{inset:auto;top:0;left:50%;width:min(100vw,119.05svh);height:100svh;transform:translateX(-50%);mask-image:linear-gradient(90deg,transparent,black 10%,black 90%,transparent)}
.story-heart{position:absolute;inset:0;opacity:0;background:linear-gradient(#010905 20%,#12372b 54%,#718779 100%)}
.story-heart video{inset:auto;left:50%;top:50%;width:min(100vw,100svh);height:min(100vw,100svh);transform:translate(-50%,-50%);opacity:1;mask-image:linear-gradient(90deg,transparent,black 12%,black 88%,transparent),linear-gradient(0deg,transparent,black 8%,black 94%,transparent);mask-composite:intersect}
.story-heart video{transform:translate(-50%,-50%) translate(var(--cup-match-x,0px),var(--cup-match-y,0px)) scale(var(--cup-match-scale,1));transform-origin:center}
.story-content{position:relative;z-index:1}
.story-content .place-section,.story-content .menu-background{background:transparent;color:var(--ink)}
.story-content .place-heading{align-items:center}
.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:#f6f3e9ed;border:1px solid #ffffff70;border-radius:24px;padding:28px;box-shadow:0 12px 32px #061b1420}
.story-content .place-heading .eyebrow,.story-content .place-heading h2 em{color:#60805c}
.story-content .place-heading>p,.story-content .place-photo figcaption{color:var(--ink)}
.story-content .place-photo figcaption{display:table;margin-left:auto;background:#f6f3e9dc;border-radius:0 0 14px 14px;padding:12px 18px}
.story-content .section-title{width:fit-content;min-width:44%}
.story-content .section-title>p{margin-bottom:0}
.story-content .coffee-grid{gap:22px}
.story-content .coffee-item{padding:24px}
.story-content .food-copy{align-self:center}
.story-content .menu-intro{gap:5%}
.story-content .closing{margin-block:70px;max-width:820px;color:var(--forest)}
.story-content .closing>p:not(.eyebrow){color:var(--muted)}
.story-content .closing h2 em,.story-content .closing-star{color:#60805c}
.story-content .menu-footnote>p{background:#f6f3e9de;border-radius:30px;padding:12px 22px}
.story-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-block:26px;font-size:12px;color:var(--cream)}
.story-toolbar button{font:inherit;color:var(--forest);background:#f6f3e9e8;border:1px solid #163d3133;border-radius:28px;padding:10px 18px;cursor:pointer}
.story-toolbar button:focus-visible{outline:3px solid #60805c;outline-offset:4px}
.story-content .food-photo figcaption{background:#f6f3e9e8;align-self:flex-start;border-radius:0 0 12px 12px;padding:12px 18px}
@media(max-width:800px){.story-toolbar{font-size:11px;gap:12px}.story-toolbar button{padding:9px 12px;flex-shrink:0}.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 .food-copy{padding:22px;border-radius:20px}.story-content .coffee-grid{gap:16px}.story-content .coffee-item{padding:22px}.story-content .closing{width:calc(100% - 32px);padding:30px 22px}.story-content .section-title{width:100%}}

/* Give the visible grounds and pour room between the two menu sections. */
.story-brew-space{height:120svh}

.brew-caption-stage{position:sticky;top:32svh;padding-block:36px;color:var(--cream);pointer-events:none}
.brew-caption-stack{position:relative;width:min(340px,29vw);height:280px;text-shadow:0 2px 18px #06201965}
.brew-caption{position:absolute;inset:0;opacity:0;transform:translateY(10px)}
.brew-caption.is-current{opacity:1;transform:translateY(0)}
.brew-caption .eyebrow{color:var(--lime);font-size:11px;letter-spacing:2px;margin:0 0 22px}
.brew-caption h3{font:clamp(36px,3.4vw,54px)/1.08 var(--serif);letter-spacing:-.035em;margin:0 0 22px}
.brew-caption h3 em{color:var(--lime);font-weight:inherit}
.brew-caption>p:last-child{font-size:15px;line-height:1.75;color:#f6f3e9d9;max-width:305px;margin:0}
@media(max-width:800px){.brew-caption-stage{top:4svh;padding-block:22px}.brew-caption-stack{width:min(340px,90%);height:220px}.brew-caption .eyebrow{margin-bottom:12px}.brew-caption h3{font-size:34px;margin-bottom:14px}.brew-caption>p:last-child{font-size:14px;line-height:1.6;max-width:320px}}

.story-screen>video.flow-mobile{width:100vw;height:100svh;object-fit:contain;mask-image:none}

/* One continuous viewport scene follows the page down to its footer. */
.story-screen{position:fixed;inset:0;margin:0;height:100svh}
.site-footer{position:relative;z-index:2}
.story-screen>video.flow-mobile{transform:translateX(-50%) scale(var(--mobile-zoom,1));transform-origin:center}
@media(max-width:800px){.story-content .coffee-item,.story-content .food-copy{background:#f6f3e9d4}.story-content .place-heading>div,.story-content .menu-intro>div{background:#f6f3e9d4}}

@media(max-width:800px){
 .story-content .coffee-item,.story-content .food-copy{background:linear-gradient(90deg,#071810b3,#07181059);border-color:#f6f3e933;box-shadow:none;color:var(--cream);text-shadow:0 1px 8px #04140dd9}
 .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:#f6f3e9eb}
 .story-content .item-kicker,.story-content .food-copy .section-number,.story-content .food-copy h2 em{color:var(--lime)}
 .story-content .food-list article{border-color:#f6f3e933}
}
