/* Final composition layer: the original brand, with a consistent type and spacing rhythm. */
:root {
  --page-width: 1440px;
  --section-space: clamp(56px, 6vw, 96px);
  --soft-ink: #6a5e53;
}
body { text-rendering: optimizeLegibility; }
/* A solid sticky surface avoids a full-width blur pass while scrolling. */
body[class] .topbar { background:var(--paper); backdrop-filter:none; -webkit-backdrop-filter:none; }
img { max-width: 100%; }
.topbar { padding-inline: max(5%, calc((100% - 1320px) / 2)); }
.topbar .wordmark img { width: 118px; height: 47px; }
.desktop-nav { gap: clamp(20px, 2.3vw, 34px); font-size: 13px; }
.desktop-nav a:hover { opacity: 1; color: var(--pink); }
.button { font-size: 13px; min-height: 54px; padding-inline: 24px; }
.button span { flex: none; }
p { text-wrap: pretty; }
h1, h2 { text-wrap: balance; }
.reveal { opacity: 1; transform: none; }
.editorial-hero { max-width: var(--page-width); min-height: 650px; }
.editorial-copy { padding: 68px 10% 42px; }
.editorial-copy h1 { font-size: clamp(60px, 6.5vw, 96px); line-height: 1.07; letter-spacing: -.045em; }
.editorial-copy .eyebrow { color: var(--pink); font-size: 11px; letter-spacing: .12em; }
.editorial-lede { font-size: 16px; max-width: 410px; line-height: 1.85; }
.hero-buy { width: 270px; }
.hero-price-note { font-size: 12px; color: var(--soft-ink); margin: 15px 0 34px; }
.hero-price-note strong { color: var(--ink); font-weight: 400; }
.hero-footnote { font-size: 10px; color: var(--soft-ink); letter-spacing: .08em; padding-top: 18px; }
.editorial-photo { min-height: 610px; margin:20px 24px 20px 0; }
.editorial-photo img { object-position: center 58%; }
.editorial-photo figcaption { font-size: 11px; padding: 10px 15px; left: 24px; bottom: 24px; border: 0; }
.brand-strip { font-size: 12px; padding-block: 22px; letter-spacing: .015em; color: var(--soft-ink); }
.shop-feature { padding-block: var(--section-space); column-gap: 8%; }
.feature-image { height: 540px; background:#67222a; grid-template-columns:minmax(0,1fr); grid-template-rows:minmax(0,1fr); overflow:hidden; }
.feature-image::before { content:''; position:absolute; inset:20px; border:1px solid #b97776; opacity:.45; pointer-events:none; }
.feature-image img { width:76%; height:76%; min-width:0; min-height:0; filter:drop-shadow(0 18px 16px #37141d66); }
.feature-image>span { left:34px; bottom:34px; font-size:10px; color:#f3dfca; }
.feature-image-label { position:absolute; left:34px; top:32px; color:#f3dfca; font-size:11px; letter-spacing:.12em; font-weight:400; }
.feature-title { align-items: baseline; }
.feature-title h2 { font-size: clamp(56px, 5vw, 72px); letter-spacing: -.045em; }
.feature-title small { display: inline-block; margin-left: 8px; font-size: 24px; vertical-align: middle; }
.feature-title>span { font-size: 20px; }
.feature-copy>p:not(.eyebrow) { font-size: 15px; line-height: 1.85; }
.feature-copy>.button { width:100%; max-width:380px; justify-content:space-between; }
.feature-facts { gap: 22px 24px; padding-block: 23px; }
.feature-facts dt { font-size: 11px; }
.feature-facts dd { font-size: 14px; }
.taste-line span { border: 0; border-left: 1px solid var(--line); padding: 2px 14px; font-size: 12px; color: var(--pink); }
.taste-line span:first-child { border-left: 0; padding-left: 0; }
.feature-copy .shop-note { text-align: left; font-size: 12px!important; line-height: 1.75; }
.order-explainer { padding-block: 58px; gap: 6%; }
.home-page .order-explainer { max-width:1440px; margin-inline:auto; }
.order-explainer h3 { font-size: 15px; line-height: 1.55; }
.order-explainer li p { font-size: 13px; line-height: 1.85; }
.explainer-intro h2 { font-size: 44px; }
.daily-ritual { padding-block: var(--section-space); column-gap: 8%; }
.cup-photo { position: relative; margin: 0; height: 520px; overflow: hidden; background: #e7dfd0; }
.cup-photo img { display: block; width: 100%; height: 100%; object-fit: cover; }
.cup-photo figcaption { position: absolute; bottom: 20px; left: 20px; right: 20px; background: var(--paper); padding: 10px 14px; width: max-content; max-width: calc(100% - 40px); font-size: 9px; letter-spacing: .1em; }
.cup-copy h2 { font-size: clamp(44px, 4.5vw, 64px); margin-bottom: 17px; }
.cup-copy .cup-lede { margin: 0 0 24px; font-size: 14px; }
.cup-switch[hidden] { display: none; }
.cup-switch { display:flex; gap:4px; padding:4px; background:#e8e1d5; border:1px solid var(--line); margin:26px 0; }
.cup-switch button { flex:1; padding:11px 8px; min-height:46px; border:1px solid transparent; cursor:pointer; color:var(--soft-ink); background:transparent; font-size:13px; }
.cup-switch button[aria-pressed="true"] { color:var(--pink); border-color:#d3c5b2; background:#fffaf2; font-weight:700; box-shadow:0 1px 2px #382c2610; }
.photo-switch-status:empty { display:none; }
.photo-switch-status { color:var(--pink); font-size:12px; line-height:1.7; margin:12px 0; }
[aria-busy="true"] button { cursor:progress; }
.cup-instructions { min-height: 156px; }
.cup-instructions h3 { font-size: 17px; margin: 0 0 10px; }
.cup-instructions p { font-size: 14px!important; line-height: 1.85!important; max-width: 430px!important; margin: 0 0 12px; }
.cup-instructions .cup-method-note { font-size: 12px!important; color: var(--soft-ink); }
.cup-copy .text-link { margin-top: 20px; }
.journal-section { padding-bottom: var(--section-space); }
.journal-heading { margin-bottom: 30px; }
.journal-heading h2 { font-size: 44px; }
.journal-grid { gap: 24px; }
.journal-grid img { height: auto; aspect-ratio: 1 / 1.12; object-fit: cover; }
.journal-grid a>span { padding-block: 15px; font-size: 13px; }
.journal-swipe-hint { display:none; }
.site-footer { align-items: center; gap: 40px; padding-block: 48px; }
.site-footer .wordmark { padding:8px; background:var(--paper); border-radius:2px; }
.site-footer .wordmark img { width: 115px; height: 50px; filter: none; }
.site-footer .footer-tagline { font-size: 12px; line-height: 1.85; color: #e1d8cc; margin-top: 16px; }
.site-footer nav { grid-template-columns: repeat(3, auto); gap: 16px 34px; font-size: 12px; }
.site-footer .footer-credit { font-size: 10px; letter-spacing: .08em; }
@media (max-width: 1100px) {
 .editorial-copy h1 { font-size: clamp(54px, 6.4vw, 72px); }
 .editorial-copy { padding: 50px 8% 35px; }
 .editorial-hero { min-height:600px; }
 .editorial-photo { min-height:560px; }
 .feature-image { height: 470px; }
 .order-explainer { grid-template-columns: 1fr; gap: 32px; }
 .order-explainer li { max-width: 320px; }
 .cup-photo { height: 480px; }
 .site-footer nav { grid-template-columns: repeat(2, auto); gap: 14px 28px; }
}
@media (max-width: 750px) {
 .desktop-nav.open { gap:0; padding:12px 6% 20px; background:var(--paper); max-height:calc(100svh - 70px); overflow-y:auto; overscroll-behavior:contain; box-shadow:0 12px 18px #382c2610; }
 .desktop-nav.open a { display:flex; align-items:center; min-height:49px; padding:12px 0; border-bottom:1px solid var(--line); font-size:15px; }
 .topbar .wordmark img { width: 95px; height: 42px; }
 .desktop-nav { gap: 14px; font-size: 15px; }
 .editorial-hero { min-height: 0; }
 .editorial-copy { padding: 43px 6% 28px; }
 .editorial-copy h1 { font-size: clamp(52px, 12.2vw, 80px); }
 .editorial-copy .eyebrow { font-size: 10px; margin-bottom: 22px; }
 .editorial-lede { font-size: 14px; margin: 20px 0 24px; }
 .hero-buy { width: 100%; max-width: 330px; }
 .hero-price-note { margin-bottom: 26px; }
 .hero-footnote { font-size: 9px; }
 .editorial-photo { min-height:0; height:340px; margin:0 6% 26px; }
 .editorial-photo figcaption { bottom: 20px; left: 20px; }
 .brand-strip { font-size: 10px; gap: 10px; padding-block: 20px; }
 .feature-image { height: 370px; }
 .feature-image img { width:76%; height:76%; }
 .feature-title h2 { font-size: 54px; }
 .feature-title small { margin-left: 4px; font-size: 21px; }
 .feature-title>span { font-size: 18px; }
 .feature-copy>p:not(.eyebrow) { font-size: 14px; }
 .order-explainer { padding-block: 44px; }
 .explainer-intro h2 { font-size: 40px; }
 .order-explainer li { max-width: none; }
 .order-explainer li p { font-size: 13px; }
 .cup-photo { height: 390px; }
 .cup-copy h2 { font-size: 46px; }
 .cup-instructions { min-height: 0; }
 .journal-heading h2 { font-size: 38px; }
 .journal-grid { display:flex; gap:20px; overflow-x:auto; padding-bottom:12px; scroll-snap-type:x proximity; scrollbar-width:thin; scrollbar-color:#92745d #eee7db; }
 .journal-grid>a { flex:0 0 83%; min-width:0; scroll-snap-align:start; }
 .journal-grid img { aspect-ratio:1; }
 .journal-grid:focus-visible { outline:2px solid var(--pink); outline-offset:5px; }
 .journal-swipe-hint { display:block; margin:10px 0 18px; font-size:11px; color:var(--soft-ink); }
 .topbar .nav-shop { min-height:44px; display:inline-flex; align-items:center; }
 .site-footer nav a { min-height:44px; display:flex; align-items:center; }
 .site-footer { align-items: flex-start; gap: 30px; padding-block: 40px; }
 .site-footer nav { grid-template-columns: 1fr 1fr; width: 100%; gap: 16px; }
}
@media(min-width:751px) and (max-width:1050px) {
 .feature-title { gap:12px; }
 .feature-title h2 { font-size:48px; }
 .feature-title small { font-size:18px; margin-left:4px; }
 .feature-title>span { font-size:17px; }
 .cup-copy h2 { font-size:43px; }
 .cup-photo { height:440px; }
}
@media(prefers-reduced-motion:reduce) {
 .journal-grid { scroll-snap-type:none; }
}
@media (max-width: 380px) {
 .editorial-copy h1 { font-size: 48px; }
 .feature-title h2 { font-size: 45px; }
 .feature-title>span { font-size: 16px; }
 .feature-title small { font-size: 18px; }
 .hero-footnote { font-size: 8px; }
 .brand-strip { font-size: 9px; }
 .cup-copy h2 { font-size: 40px; }
 .cup-photo { height: 340px; }
}

/* The supplied logo is a square star mark, not a horizontal wordmark. */
body .topbar .wordmark img { width: 58px; height: 58px; }
body .site-footer .wordmark img { width: 78px; height: 78px; }
@media(max-width:750px) {
 body .topbar .wordmark img, body.basket-page .topbar .wordmark img { width: 48px; height: 48px; }
}
.event-details h3{scroll-margin-top:110px}
