:root{--ink:#20211f;--muted:#777873;--paper:#e9e5df;--cream:#f1eee8;--accent:#d1a47e;--line:rgba(32,33,31,.2);font-family:'Manrope','Noto Sans JP',sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;overflow-x:hidden}body.is-loading,body.menu-open{overflow:hidden}a{color:inherit;text-decoration:none}button{font:inherit}img,video{display:block;max-width:100%}::selection{background:var(--accent);color:#201d1a}.section-pad{padding:clamp(84px,11vw,180px) max(5vw,24px)}.reveal{opacity:0;transform:translateY(52px);transition:opacity .85s ease,transform .85s cubic-bezier(.2,.7,.2,1)}.reveal.is-visible{opacity:1;transform:translateY(0)}.section-kicker{display:flex;align-items:center;gap:14px;font-size:10px;font-weight:800;letter-spacing:.18em;white-space:nowrap}.section-kicker.light{color:#eee}.kicker-line{height:1px;width:35px;background:currentColor}.eyebrow{font-size:10px;letter-spacing:.28em;font-weight:800}.eyebrow.light{color:#f5f1e9}
/* Intro */
.loader{position:fixed;inset:0;background:#e9e5df;z-index:100;display:flex;flex-direction:column;justify-content:space-between;padding:28px max(4vw,24px);transition:transform .9s cubic-bezier(.76,0,.24,1);overflow:hidden}.loader.done{transform:translateY(-105%);pointer-events:none}.loader-top,.loader-bottom{display:flex;justify-content:space-between;gap:20px;font-size:10px;font-weight:800;letter-spacing:.13em}.loader-bottom{color:#74746e;font-weight:600}.loader-center{margin:auto;display:flex;flex-direction:column;align-items:center}.drip-scene{width:168px;height:170px;position:relative}.drip-scene svg{position:absolute;inset:0;width:100%;height:100%;fill:none;stroke:#34342f;stroke-width:2.4;stroke-linejoin:round;stroke-linecap:round}.drip-stream{position:absolute;z-index:1;width:2px;height:44px;background:#9d6445;top:0;left:50%;transform-origin:top;animation:pour 1.2s ease-in-out infinite}.drip-drop{position:absolute;width:9px;height:13px;border-radius:55% 55% 55% 0;background:#9d6445;transform:rotate(-45deg);left:calc(50% - 4px);top:64px;animation:drop 1.2s ease-in infinite}.coffee-fill{position:absolute;left:24%;right:24%;height:13px;bottom:7px;background:#805137;border-radius:50%;opacity:.8}.loader-caption{font-size:10px;font-weight:800;letter-spacing:.24em;margin-top:12px}.loader-number{font-size:clamp(72px,12vw,160px);font-weight:700;line-height:1;letter-spacing:-.095em;margin-top:6px}.loader-number small{font-size:.22em;letter-spacing:0;vertical-align:top;margin-left:12px}@keyframes pour{0%,100%{transform:scaleY(.1);opacity:.2}50%{transform:scaleY(1);opacity:1}}@keyframes drop{0%{transform:translateY(0) rotate(-45deg);opacity:0}25%{opacity:1}100%{transform:translateY(70px) rotate(-45deg);opacity:0}}
/* Navigation */
.scroll-progress{position:fixed;z-index:51;top:0;left:0;height:3px;background:#d8b18e;width:0;pointer-events:none}.site-header{height:84px;position:absolute;top:0;left:0;right:0;z-index:45;display:flex;align-items:center;justify-content:space-between;padding:0 max(4vw,24px);color:white;mix-blend-mode:normal}.site-header.scrolled{position:fixed;color:var(--ink);background:rgba(233,229,223,.94);backdrop-filter:blur(16px);height:70px;border-bottom:1px solid var(--line)}.wordmark{display:flex;align-items:center;gap:10px;font-size:10px;line-height:1.05;font-weight:800;letter-spacing:.1em}.mark{font-family:'DM Sans',sans-serif;font-size:32px;font-weight:700;position:relative;line-height:1}.mark-dot{font-size:7px;position:absolute;bottom:4px;right:-4px}.header-center{font-size:9px;letter-spacing:.17em;font-weight:700;opacity:.8}.header-star{margin:0 14px}.menu-toggle{color:inherit;background:none;border:0;display:flex;align-items:center;gap:6px;cursor:pointer;font-size:10px;font-weight:800;letter-spacing:.14em;padding:15px 0 15px 15px}.menu-toggle span{margin-right:9px}.menu-toggle i{width:17px;height:1px;background:currentColor;display:block;position:absolute;right:max(4vw,24px);transition:transform .25s}.menu-toggle i:nth-of-type(1){transform:translateY(-4px)}.menu-toggle i:nth-of-type(2){transform:translateY(4px)}.menu-toggle{padding-right:31px}.menu-open .menu-toggle i:nth-of-type(1){transform:rotate(45deg)}.menu-open .menu-toggle i:nth-of-type(2){transform:rotate(-45deg)}.menu-panel{position:fixed;z-index:44;inset:0;background:#292a27;color:#eee;transform:translateY(-105%);transition:transform .8s cubic-bezier(.76,0,.24,1);padding:130px max(5vw,24px) 50px}.menu-panel.open{transform:translateY(0)}.menu-panel-inner{max-width:1100px;margin:auto}.menu-panel p{color:#a9a9a1;font-size:11px;letter-spacing:.18em;margin:0 0 35px}.menu-panel a{display:flex;align-items:baseline;gap:35px;border-top:1px solid #5b5a55;padding:15px 0;font-size:12px;color:#aaa}.menu-panel a span{font-size:clamp(44px,7vw,100px);line-height:1;font-weight:800;color:#eee;letter-spacing:-.07em;transition:transform .25s,color .25s}.menu-panel a:hover span{transform:translateX(20px);color:#d1a47e}.menu-foot{font-size:13px;color:#aaa;margin-top:55px}
/* Hero */
.hero{height:100svh;min-height:650px;position:relative;overflow:hidden;background:#1b1c1a;color:#fff}.hero-video{position:absolute;width:100%;height:100%;object-fit:cover;object-position:center 48%;opacity:.8;transform:scale(1.08);animation:heroZoom 14s ease-out forwards}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,11,10,.62),rgba(10,11,10,.1) 70%),linear-gradient(0deg,rgba(10,11,10,.5),transparent 28%)}@keyframes heroZoom{to{transform:scale(1)}}.hero-meta{position:absolute;top:116px;left:max(5vw,24px);right:max(5vw,24px);display:flex;justify-content:space-between;font-size:9px;letter-spacing:.14em;font-weight:700}.hero-copy{position:absolute;left:max(5vw,24px);right:max(6vw,24px);bottom:7.5vh}.hero-copy .eyebrow{margin:0 0 28px}.hero h1{font-size:clamp(70px,11.4vw,185px);font-weight:800;letter-spacing:-.105em;line-height:.79;margin:0;white-space:nowrap}.hero h1 .line{display:block}.hero h1 .line:nth-child(2){padding-left:10vw}.outlined{-webkit-text-stroke:1.5px #fff;color:transparent}.period{color:#d8aa83}.hero-bottom{display:flex;align-items:end;justify-content:space-between;margin-top:42px}.hero-bottom p{font-family:'Noto Sans JP',sans-serif;font-size:clamp(14px,1.2vw,18px);line-height:1.9;letter-spacing:.06em;font-weight:500;margin:0}.circle-link{width:64px;height:64px;border:1px solid rgba(255,255,255,.75);border-radius:50%;display:grid;place-items:center;font-size:24px;transition:background .25s,color .25s,transform .25s}.circle-link:hover{background:#fff;color:#222;transform:rotate(45deg)}.hero-side{position:absolute;right:17px;top:50%;writing-mode:vertical-rl;font-size:9px;letter-spacing:.2em;font-weight:700}.ticker{overflow:hidden;background:#d4c3b3;padding:18px 0;border-bottom:1px solid #b8a998}.ticker-track{white-space:nowrap;width:max-content;animation:marquee 35s linear infinite;font-size:13px;font-weight:800;letter-spacing:.25em}.ticker b{font-size:20px;margin:0 34px;color:#967456}@keyframes marquee{to{transform:translateX(-50%)}}
/* About */
.manifesto{background:var(--paper);overflow:hidden}.manifesto-grid{display:grid;grid-template-columns:1.25fr .65fr;gap:6vw;align-items:end;margin:60px 0 100px}.manifesto h2,.collection h2,.closing h2{font-size:clamp(70px,10.2vw,166px);line-height:.91;letter-spacing:-.105em;font-weight:800;margin:0}.manifesto h2 em,.collection h2 em,.closing h2 em,.roast h2 em,.film h2 em{font-family:Georgia,serif;font-weight:400;letter-spacing:-.08em}.manifesto-text{max-width:425px;position:relative;padding-left:20px}.asterisk{font-size:36px;color:#b68765;position:absolute;top:-76px;left:20px}.jp-lead{font-family:'Noto Sans JP',sans-serif;font-size:clamp(20px,2vw,28px);font-weight:700;line-height:1.7;margin:0 0 26px}.manifesto-text p:not(.jp-lead){font-size:13px;color:#5d5e58;line-height:2.25;letter-spacing:.025em}.text-link{display:flex;justify-content:space-between;max-width:245px;border-bottom:1px solid var(--ink);padding:14px 0;margin-top:36px;font-size:10px;font-weight:800;letter-spacing:.15em}.text-link span{font-size:17px;line-height:.6}.manifesto-images{position:relative;display:flex;align-items:flex-start;gap:5vw;padding-bottom:115px}.parallax-frame{overflow:hidden;background:#d7d1c7;position:relative}.parallax-frame img{width:100%;height:115%;object-fit:cover;position:absolute;top:-7.5%;will-change:transform}.parallax-frame.wide{width:63%;height:43vw;max-height:660px}.parallax-frame.small{width:28%;height:31vw;max-height:470px;margin-top:13vw}.image-note{position:absolute;bottom:25px;right:4vw;font-size:9px;letter-spacing:.16em;font-weight:800;transform:rotate(-90deg);transform-origin:right center}
/* Roast */
.roast{height:135vh;min-height:800px;background:#272521}.roast-sticky{position:sticky;top:0;height:100vh;min-height:620px;overflow:hidden}.roast-image,.roast-image img,.roast-overlay{position:absolute;inset:0;width:100%;height:100%}.roast-image img{object-fit:cover;transform:scale(1.08)}.roast-overlay{background:linear-gradient(90deg,rgba(13,14,13,.78),rgba(13,14,13,.16) 78%),linear-gradient(0deg,rgba(13,14,13,.4),transparent 25%)}.roast-inner{position:relative;color:#fff;height:100%;padding:10vh max(5vw,24px) 42px;display:flex;flex-direction:column;justify-content:space-between}.roast-content{display:grid;grid-template-columns:1fr 2.8fr 1fr;align-items:end;gap:3vw}.roast-index{align-self:start;font-size:10px;font-weight:800;letter-spacing:.15em}.roast h2{font-size:clamp(76px,11vw,175px);letter-spacing:-.105em;line-height:.86;margin:0;white-space:nowrap}.roast h2 em{font-size:.67em}.roast-copy{max-width:280px;font-size:13px;line-height:2;color:#e2ded9}.roast-copy p:first-child{font-family:'Noto Sans JP',sans-serif;font-size:19px;font-weight:700;color:#fff}.roast-bottom{display:flex;justify-content:space-between;font-size:9px;letter-spacing:.15em;font-weight:800}
/* Products */
.collection{background:#e9e5df}.collection-head{display:flex;align-items:end;justify-content:space-between;gap:30px;margin:55px 0 85px}.collection h2{font-size:clamp(74px,10vw,150px)}.collection-intro{max-width:300px;font-family:'Noto Sans JP',sans-serif;font-size:13px;line-height:1.8;padding-bottom:6px}.collection-intro p{font-size:18px;font-weight:700;margin:0 0 15px}.collection-intro span{color:#77776f}.products{display:grid;grid-template-columns:repeat(2,1fr);gap:90px 3.5vw}.product-card{min-width:0}.product-image{height:clamp(310px,39vw,680px);background:#d9d5cf;position:relative;overflow:hidden}.product-image img{width:100%;height:100%;object-fit:cover;transition:transform .85s cubic-bezier(.2,.7,.2,1)}.product-card:hover .product-image img{transform:scale(1.07)}.product-number{position:absolute;top:22px;left:23px;font-size:10px;font-weight:800;letter-spacing:.14em;background:#ede9e2;padding:10px 13px}.product-badge{position:absolute;top:23px;right:23px;background:#222;color:#fff;padding:10px 13px;font-size:9px;letter-spacing:.12em;font-weight:800}.product-info{display:flex;justify-content:space-between;align-items:start;gap:20px;border-top:1px solid var(--ink);padding-top:22px;margin-top:17px}.product-info h3{font-family:'Noto Sans JP',sans-serif;font-size:clamp(17px,1.7vw,25px);line-height:1.5;margin:8px 0 7px;letter-spacing:-.04em}.product-info .english{font-size:9px;letter-spacing:.18em;font-weight:800;color:#686961}.product-info .size{font-size:11px;color:#70716b}.product-price{font-size:18px;font-weight:800;white-space:nowrap}.product-description{font-size:12px;line-height:1.9;color:#77776e;max-width:450px;min-height:44px}.buy-link{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--ink);padding:17px 0 16px;font-size:10px;font-weight:800;letter-spacing:.12em;transition:padding .25s,color .25s}.buy-link:hover{padding-left:12px;padding-right:12px;color:#a06846}.buy-link span:last-child{font-size:20px;line-height:0}.products-loading{color:#777}.collection-note{text-align:right;color:#898982;font-size:10px;margin:55px 0 0}
/* Keep the translated navigation completely hidden between openings. */
.menu-panel{visibility:hidden;pointer-events:none;overflow:hidden;transition:transform .8s cubic-bezier(.76,0,.24,1),visibility 0s linear .8s}
.menu-panel.open{visibility:visible;pointer-events:auto;transition:transform .8s cubic-bezier(.76,0,.24,1)}
.menu-open .site-header,.menu-open .site-header.scrolled{position:fixed;background:transparent;color:#fff;border-color:transparent;backdrop-filter:none}
/* Film & ending */
.film{height:100vh;min-height:660px;position:relative;overflow:hidden;color:#fff;background:#222}.film video{width:100%;height:100%;object-fit:cover}.film-shade{position:absolute;inset:0;background:rgba(12,12,11,.42)}.film-top{position:absolute;z-index:2;top:40px;left:max(5vw,24px);right:max(5vw,24px);display:flex;justify-content:space-between;font-size:9px;font-weight:800;letter-spacing:.17em}.film-message{position:absolute;z-index:2;left:max(5vw,24px);bottom:9vh}.film-message p{font-size:10px;letter-spacing:.2em;font-weight:800}.film h2{font-size:clamp(80px,12vw,180px);line-height:.83;letter-spacing:-.1em;margin:30px 0}.film-message span{font-family:'Noto Sans JP',sans-serif;font-size:15px}.closing{min-height:75vh;display:flex;flex-direction:column;justify-content:space-between;background:#cfcac2}.closing-top,.closing-bottom{display:flex;justify-content:space-between;align-items:end;gap:25px}.closing-top{font-size:9px;font-weight:800;letter-spacing:.18em}.closing h2{font-size:clamp(70px,11vw,170px);margin:80px 0}.closing-bottom{font-family:'Noto Sans JP',sans-serif;font-size:14px}.back-top{font:800 10px 'Manrope',sans-serif;letter-spacing:.15em;border-bottom:1px solid;padding-bottom:12px}footer{background:#262724;color:#eee;display:flex;justify-content:space-between;gap:20px;padding:30px max(5vw,24px);font-size:9px;font-weight:700;letter-spacing:.13em}
@media(max-width:1000px){.header-center{display:none}.roast-content{grid-template-columns:1fr}.roast-index{margin-bottom:20px}.roast-copy{max-width:520px;margin-top:30px}.manifesto-grid{grid-template-columns:1fr;gap:35px}.manifesto-text{margin-left:auto}.manifesto h2{font-size:clamp(65px,13vw,130px)}.collection-head{align-items:start;flex-direction:column}.collection-intro{margin-left:auto}}@media(max-width:700px){.site-header{height:68px}.site-header.scrolled{height:62px}.hero{min-height:620px}.hero-video{object-position:58% center}.hero-shade{background:linear-gradient(0deg,rgba(5,5,5,.69),rgba(5,5,5,.18))}.hero-meta{top:95px}.hero-meta span:last-child,.hero-side{display:none}.hero-copy{bottom:9vh}.hero h1{font-size:clamp(53px,13.2vw,88px);letter-spacing:-.09em}.hero h1 .line:nth-child(2){padding-left:7vw}.hero-bottom{margin-top:38px}.circle-link{width:52px;height:52px}.ticker{padding:15px 0}.ticker-track{font-size:10px}.section-pad{padding:85px 24px}.manifesto-grid{margin:52px 0 65px}.manifesto h2{font-size:clamp(60px,14vw,96px)}.manifesto-text{padding-left:0}.asterisk{left:0;top:-45px;font-size:25px}.manifesto-images{gap:10px;padding-bottom:55px}.parallax-frame.wide{width:70%;height:62vw}.parallax-frame.small{width:30%;height:45vw;margin-top:20vw}.image-note{display:none}.roast{height:115vh;min-height:780px}.roast-inner{padding-top:9vh}.roast h2{font-size:clamp(60px,13vw,96px)}.roast h2 em{font-size:.7em}.roast-copy{max-width:370px}.collection h2{font-size:clamp(60px,13.4vw,90px)}.collection-head{margin:50px 0}.collection-intro{margin:10px 0 0}.products{grid-template-columns:1fr;gap:75px}.product-image{height:105vw}.product-info h3{font-size:20px}.film{min-height:600px}.film h2{font-size:clamp(58px,13vw,90px)}.closing{min-height:560px}.closing h2{font-size:clamp(60px,13.4vw,100px)}footer{flex-wrap:wrap}.loader-top,.loader-bottom{font-size:8px}.menu-panel{padding-top:110px}.menu-panel a span{font-size:52px}}@media(max-width:420px){.hero h1{font-size:12.7vw}.hero-copy .eyebrow{font-size:8px}.hero-bottom p{font-size:13px}.manifesto h2,.collection h2,.closing h2{font-size:13vw}.roast h2{font-size:12vw}.loader-top span:last-child,.loader-bottom span:last-child{display:none}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}.reveal{opacity:1;transform:none}.hero-video{transform:none}.parallax-frame img{transform:none!important}}

/* Interaction and finishing */
[hidden], .loader[hidden] { display: none !important; }
.skip-link { position:fixed;z-index:150;left:20px;top:15px;padding:12px 20px;background:var(--paper);color:var(--ink);transform:translateY(-180%);font-size:13px; }
.skip-link:focus { transform:none; }
:focus-visible { outline:2px solid #ac7957;outline-offset:5px; }
.reveal { opacity:1;transform:none; }
.motion-ready .reveal { opacity:0;transform:translateY(44px); }
.motion-ready .reveal.is-visible { opacity:1;transform:none; }
.motion-paused .reveal { opacity:1;transform:none; }
.loader-bottom button { color:inherit;border:0;background:none;font:inherit;letter-spacing:inherit;cursor:pointer;padding:10px;margin:-10px; }
.coffee-fill { transform:scaleX(calc(.25 + var(--brew,0) * .75));transition:transform .08s linear; }
.hero-video { animation:none;transform:scale(calc(1.02 + var(--hero-progress,0) * .1)); }
.hero h1 .line { will-change:transform;transform:translate3d(calc(var(--hero-progress,0) * -45px),0,0); }
.hero h1 .line:nth-child(2) { transform:translate3d(calc(var(--hero-progress,0) * 70px),0,0); }
.parallax-frame img { height:125%;top:-12.5%; }
.roast { height:190vh; }
.roast-image img { transform:scale(calc(1 + var(--roast-progress,0) * .18));object-position:50% 55%; }
.roast-content h2 { transform:translateX(calc(var(--roast-progress,0) * -36px)); }
.roast-copy { min-height:165px; }
.roast-copy p:first-child { font-size:clamp(18px,1.5vw,23px); }
.chapter-track { display:flex;position:relative;gap:34px;padding-bottom:20px;border-bottom:1px solid #ffffff50; }
.chapter-track span { opacity:.4;transition:opacity .3s; }
.chapter-track span.active { opacity:1; }
.chapter-track i { position:absolute;bottom:-1px;left:0;height:2px;background:#d1a47e;width:calc(var(--roast-progress,0) * 100%); }
.film video { transform:scale(calc(1.12 - var(--film-in,1) * .12)); }
.motion-toggle { position:fixed;z-index:40;bottom:18px;right:24px;display:flex;gap:9px;align-items:center;border:1px solid #8a857b55;border-radius:100px;padding:10px 13px;background:#eeeae1e8;color:#292a27;backdrop-filter:blur(12px);font-size:9px;letter-spacing:.12em;font-weight:800;cursor:pointer; }
.motion-toggle span:first-child { font-size:13px; }
.motion-paused .ticker-track,.motion-paused .drip-stream,.motion-paused .drip-drop { animation-play-state:paused; }
.menu-panel.open { overflow-y:auto;overscroll-behavior:contain; }
.collection-toolbar { display:flex;justify-content:space-between;align-items:center;gap:25px;border-top:1px solid var(--line);padding:20px 0 35px; }
.filters { display:flex;gap:25px; }
.filters button { border:0;background:none;padding:8px 0;color:#77776f;font-size:12px;font-weight:600;cursor:pointer;position:relative; }
.filters small { font-size:8px;display:block;letter-spacing:.13em;margin-top:4px; }
.filters button[aria-pressed=true] { color:var(--ink); }
.filters button[aria-pressed=true]::after { content:'';position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--ink); }
#product-count { font-size:9px;letter-spacing:.12em;white-space:nowrap; }
button.product-image { display:block;width:100%;padding:0;border:0;color:inherit;text-align:left;cursor:pointer; }
.product-hover { position:absolute;left:50%;top:50%;transform:translate(-50%,-35%);background:#eeeae2e8;backdrop-filter:blur(8px);border-radius:100px;padding:18px 24px;opacity:0;transition:opacity .3s,transform .3s;font-size:10px;font-weight:800;letter-spacing:.15em;pointer-events:none; }
.product-image:hover .product-hover,.product-image:focus-visible .product-hover { opacity:1;transform:translate(-50%,-50%); }
button.buy-link { width:100%;background:none;border:0;border-bottom:1px solid;cursor:pointer;color:inherit;text-align:left; }
.retry-products { display:block;border:0;background:none;color:inherit;padding:15px 0;text-decoration:underline;cursor:pointer; }
.dialog-open { overflow:hidden; }
.product-dialog { border:0;padding:0;max-width:min(1040px,94vw);width:1040px;max-height:90svh;background:var(--cream);color:var(--ink);overflow:auto; }
.product-dialog::backdrop { background:#131511bb;backdrop-filter:blur(10px); }
#dialog-content { display:grid;grid-template-columns:1fr 1fr; }
.dialog-close { position:absolute;top:15px;right:17px;width:40px;height:40px;z-index:2;border:1px solid #292a2740;border-radius:50%;background:#eeeae3eb;font-size:25px;cursor:pointer;color:var(--ink); }
.dialog-image { min-height:600px;background:#d9d5ce; }
.dialog-image img { width:100%;height:100%;object-fit:cover; }
.dialog-copy { padding:75px 45px 45px;display:flex;flex-direction:column; }
.dialog-copy h2 { font-size:clamp(23px,2.4vw,34px);line-height:1.65;letter-spacing:-.06em;margin:24px 0 12px; }
.dialog-size { font-size:12px;color:#77776e; }
.dialog-description { font-size:13px;line-height:2.1;color:#55584f;white-space:pre-line;margin:20px 0 30px; }
.dialog-price { font-size:30px;letter-spacing:-.04em;margin-top:auto; }
.dialog-price small { font-size:10px;letter-spacing:0; }
.checkout-link { display:flex;justify-content:space-between;background:var(--ink);color:#fff;padding:21px;font-size:12px;font-weight:700;margin-top:26px;transition:background .25s; }
.checkout-link:hover { background:#6f5845; }
.dialog-note { font-size:10px;color:#77776f;line-height:1.8; }
.dialog-legal { font-size:10px;text-decoration:underline;text-underline-offset:4px;margin-top:8px; }
.sold-label { padding:21px;background:#ded9d0;font-size:13px;text-align:center; }
.document-page { background:var(--paper); }
.document-header { display:flex;justify-content:space-between;padding:30px 5vw;border-bottom:1px solid var(--line);font-size:10px;font-weight:800;letter-spacing:.12em;gap:25px; }
.document-content { max-width:1000px;margin:auto;padding:100px 5vw 140px;min-height:75vh; }
.document-content h1 { font-size:clamp(30px,5vw,64px);line-height:1.5;letter-spacing:-.06em;margin:30px 0 65px; }
.legal-list { display:grid;grid-template-columns:200px 1fr;font-size:13px;line-height:1.9; }
.legal-list dt,.legal-list dd { margin:0;padding:23px 0;border-bottom:1px solid var(--line); }
.legal-list dt { font-weight:700; }
.legal-list dd a { text-decoration:underline;text-underline-offset:4px; }
@media(max-width:1000px) {
  .roast-copy { max-width:420px;min-height:150px; }
  .dialog-image { min-height:500px; }
  .dialog-copy { padding:65px 30px 35px; }
}
@media(max-width:700px) {
  .hero h1 .line { transform:translate3d(calc(var(--hero-progress,0) * -15px),0,0); }
  .hero h1 .line:nth-child(2) { transform:translate3d(calc(var(--hero-progress,0) * 25px),0,0); }
  .roast { height:165svh;min-height:980px; }
  .roast-sticky { height:100svh;min-height:660px; }
  .roast-inner { padding-bottom:45px; }
  .roast-bottom>span { display:none; }
  .chapter-track { width:100%;gap:0;justify-content:space-between;font-size:8px; }
  .roast-content h2 { transform:translateX(calc(var(--roast-progress,0) * -8px)); }
  .motion-toggle { right:14px;bottom:12px;padding:9px 11px;font-size:8px; }
  .collection-toolbar { align-items:flex-start; }
  .filters { gap:18px;flex-wrap:wrap; }
  .filters button { font-size:10px; }
  #product-count { padding-top:12px;font-size:8px; }
  #dialog-content { grid-template-columns:1fr; }
  .product-dialog { max-height:92svh;max-width:92vw; }
  .dialog-image { height:39svh;min-height:240px;max-height:380px; }
  .dialog-copy { padding:32px 25px; }
  .dialog-copy h2 { font-size:25px;margin-top:12px; }
  .dialog-price { font-size:26px; }
  .legal-list { grid-template-columns:1fr; }
  .legal-list dt { padding-bottom:0;border-bottom:0; }
  .legal-list dd { padding-top:9px; }
}
@media(prefers-reduced-motion:reduce) {
  .motion-ready .reveal { opacity:1;transform:none; }
  .roast { height:auto;min-height:0; }
  .roast-sticky { position:relative; }
}


/* Final art direction */
.drip-scene { width:180px;height:190px;margin-bottom:10px; }
.drip-scene svg { stroke-width:1.5; }
.filter-rib { stroke:#9a8f80;stroke-width:1;opacity:.6; }
.brew-pour { stroke:#a77853;stroke-dasharray:30;stroke-dashoffset:0;animation:waterline 1.5s ease-in-out infinite; }
.brew-drop { fill:#8e5f3d;stroke:none;animation:brewdrop 1.05s ease-in infinite; }
.brew-liquid { fill:#926340;fill-opacity:.75;stroke:none;transform-origin:100px 197px;transform:scaleY(calc(.07 + var(--brew,0) * .86));transition:transform .1s linear; }
.dialog-copy h2 { text-wrap:balance; }
.motion-paused .brew-pour,.motion-paused .brew-drop { animation-play-state:paused; }
@keyframes waterline { 0%,100% { stroke-dashoffset:30;opacity:.2; } 35%,70% { stroke-dashoffset:0;opacity:1; } }
@keyframes brewdrop { 0% { transform:translateY(0);opacity:0; } 20% { opacity:1; } 100% { transform:translateY(24px);opacity:0; } }
@media(max-width:700px) { .hero h1 { font-size:clamp(56px,17.4vw,112px); } }
@media(max-width:420px) { .hero h1 { font-size:17.4vw; } }

/* The mobile film is already framed to 9:16; retain its center on tall screens. */
@media(max-width:700px) { .hero-video { object-position:50% 50%; } }

/* DEEP BY DESIGN: light, metal and the vertical pour. */
.roast { background:#242620; }
.roast-sticky { background:#242620; }
.roast-image { inset:0 0 0 auto;width:49%;height:100%;overflow:hidden;background:#72614c; }
.roast-image::after { content:'';position:absolute;inset:0;background:linear-gradient(90deg,#24262035,transparent 28%),linear-gradient(0deg,#15171060,transparent 25%);pointer-events:none; }
.roast-video { display:block;width:100%;height:100%;object-fit:cover;object-position:50% 28%;transform:scale(calc(1 + var(--roast-progress,0) * .08));transform-origin:50% 32%; }
.roast-overlay { background:linear-gradient(90deg,transparent 47%,#24262035 51%,transparent 62%);pointer-events:none; }
.roast-image-caption { position:absolute;bottom:44px;left:34px;z-index:1;font-size:9px;font-weight:700;letter-spacing:.2em;color:#fff; }
.roast-inner { padding:100px max(5vw,24px) 44px; }
.roast-content { display:flex;flex-direction:column;align-items:flex-start;gap:0;width:47%; }
.roast-index { color:#c8b49f;margin-bottom:28px;font-size:9px; }
.roast h2 { font-size:clamp(76px,9.5vw,160px);line-height:.89; }
.roast h2 em { font-size:.66em; }
.roast-content h2 { transform:translateX(calc(var(--roast-progress,0) * -10px)); }
.roast-copy { max-width:365px;min-height:153px;margin-top:28px;line-height:2;color:#c9cbc2; }
.roast-copy p:first-child { font-size:clamp(18px,1.5vw,23px);margin:0 0 14px; }
.roast-copy p:last-child { margin:0; }
.roast-bottom .chapter-track { width:44%;gap:15px;justify-content:space-between; }
.roast-bottom>span { color:#eee9e0;align-self:flex-end;padding-bottom:18px; }
@media(min-width:701px) and (max-width:1000px) {
  .roast-inner { padding-top:100px; }
  .roast h2 { font-size:clamp(70px,9.8vw,98px); }
  .roast-copy { font-size:12px; }
  .roast-bottom .chapter-track { font-size:8px;gap:8px; }
  .roast-image-caption { font-size:8px;left:22px;bottom:100px; }
}
@media(max-width:700px) {
  .roast-image { inset:0;width:100%; }
  .roast-video { object-position:50% 30%; }
  .roast-image::after { background:linear-gradient(180deg,#171b1730,transparent 28%); }
  .roast-overlay { background:linear-gradient(0deg,#171b17f2 0%,#171b17d9 24%,#171b1799 42%,#171b1730 62%,transparent 80%); }
  .roast-inner { padding:94px 24px 36px;gap:24px;justify-content:flex-start; }
  .roast-content { width:100%;margin-top:auto; }
  .roast-index { margin-bottom:18px; }
  .roast h2 { font-size:clamp(60px,15vw,100px); }
  .roast h2 em { font-size:.72em; }
  .roast-copy { max-width:370px;min-height:123px;margin-top:22px;font-size:12px;line-height:1.9; }
  .roast-copy p:first-child { font-size:18px;margin-bottom:12px; }
  .roast-bottom .chapter-track { width:100%;gap:10px; }
  .roast-bottom>span,.roast-image-caption { display:none; }
}
@media(min-width:701px) and (max-height:650px) {
  .roast { height:auto;min-height:0; }
  .roast-sticky { position:relative;height:760px;min-height:760px; }
}


/* OUR STORY: preserve the package silhouette and the label detail. */
.manifesto-images { display:grid;grid-template-columns:1.9fr 1fr;max-width:960px;margin-inline:auto;gap:64px;padding-bottom:64px; }
.manifesto-images .parallax-frame.wide { width:100%;height:auto;max-height:none;aspect-ratio:3/2; }
.manifesto-images .parallax-frame.small { width:100%;height:auto;max-height:none;aspect-ratio:1/1;margin-top:clamp(48px,6vw,96px); }
.manifesto-images .parallax-frame img { height:106%;top:-3%; }
.manifesto-images .wide img { object-position:50% 50%; }
.manifesto-images .small img { object-position:24% 50%; }
.manifesto-images .image-note { left:0;right:auto;bottom:20px;transform:none;font-size:8px;color:var(--muted); }
@media(min-width:701px) and (max-width:1000px) {
  .manifesto-images { gap:40px; }
}
@media(max-width:700px) {
  .manifesto-images { display:flex;flex-direction:column;max-width:420px;gap:24px;padding-bottom:0; }
  .manifesto-images .parallax-frame.wide { width:100%; }
  .manifesto-images .parallax-frame.small { width:76%;aspect-ratio:4/3;margin:0 0 0 auto; }
  .manifesto-images .small img { object-position:35% 50%; }
}


/* A bounded collection keeps the scale of a printed coffee catalogue. */
.collection.section-pad { padding:112px max(32px,calc((100% - 1120px)/2)) 120px; }
.collection-head { margin:44px 0 56px;gap:64px; }
.collection h2 { font-size:clamp(64px,7vw,104px);letter-spacing:-.085em; }
.collection-intro { max-width:270px;font-size:12px; }
.collection-intro p { font-size:16px;font-weight:500;line-height:1.9; }
.collection-toolbar { padding:18px 0 32px; }
.filters { gap:32px; }
.products { grid-template-columns:repeat(3,minmax(0,1fr));gap:56px 28px; }
.product-card { display:flex;flex-direction:column; }
.product-meta { display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:32px;margin-bottom:10px;border-bottom:1px solid var(--line);padding-bottom:12px; }
.product-number,.product-badge { position:static;background:none;color:var(--muted);padding:0;font-size:8px;line-height:1.5;letter-spacing:.14em; }
.product-badge { color:#79604c;font-weight:700; }
.product-image { height:auto;aspect-ratio:1; }
.product-image img { object-position:center; }
.product-card:hover .product-image img { transform:scale(1.035); }
.product-info { border:0;padding-top:0;margin-top:23px;gap:14px; }
.product-info>div:first-child { min-width:0; }
.product-info .english { font-size:8px;letter-spacing:.13em;display:block;min-height:24px; }
.product-info h3 { font-size:16px;font-weight:600;line-height:1.7;letter-spacing:-.025em;margin:4px 0 8px; }
.product-info .size { font-size:10px; }
.product-price { font-size:14px;font-weight:600;letter-spacing:-.03em; }
.product-description { font-size:11px;line-height:1.9;min-height:42px;margin:15px 0 18px; }
.product-card .buy-link { margin-top:auto;font-size:9px;letter-spacing:.06em;padding:13px 0; }
.product-hover { font-size:9px;padding:14px 20px; }
.collection-note { font-size:10px;line-height:1.8;margin-top:40px; }
.product-dialog { width:880px;max-width:calc(100vw - 80px);max-height:calc(100svh - 80px); }
#dialog-content { grid-template-columns:.95fr 1.05fr; }
.dialog-image { min-height:0;position:relative; }
.dialog-image img { position:absolute;inset:0;width:100%;height:100%;object-fit:cover; }
.dialog-copy { padding:64px 40px 36px;min-height:510px; }
.dialog-copy .eyebrow { font-size:9px;line-height:1.8;letter-spacing:.16em;margin:0; }
.dialog-copy h2 { font-size:25px;margin:18px 0 4px;line-height:1.6; }
.dialog-description { font-size:12px;margin:20px 0 28px; }
.dialog-price { font-size:26px; }
.checkout-link { margin-top:20px;padding:18px;font-size:11px;gap:16px; }
.dialog-close { width:34px;height:34px;font-size:22px;top:14px;right:14px; }
@media(min-width:701px) and (max-width:1000px) {
  .collection-head { flex-direction:row;align-items:end;gap:32px; }
  .collection-intro { max-width:225px; }
  .collection h2 { font-size:72px; }
  .products { grid-template-columns:repeat(2,minmax(0,1fr));gap:48px 26px; }
  .product-dialog { max-width:calc(100vw - 48px); }
  .dialog-copy { padding:60px 28px 30px; }
  .dialog-copy h2 { font-size:22px; }
}
@media(max-width:700px) {
  .collection.section-pad { padding:80px 24px; }
  .collection-head { margin:36px 0;gap:24px; }
  .collection h2 { font-size:clamp(54px,12.5vw,82px); }
  .collection-intro { margin:0; }
  .collection-intro p { font-size:14px;margin-bottom:8px; }
  .collection-toolbar { gap:12px;padding-bottom:24px; }
  .filters { gap:18px; }
  .filters button { font-size:10px; }
  .products { grid-template-columns:minmax(0,1fr);max-width:420px;margin-inline:auto;gap:40px; }
  .product-info h3 { font-size:17px; }
  .product-info .english { min-height:18px; }
  .product-description { min-height:0; }
  .collection-note { text-align:left; }
  .product-dialog { width:440px;max-width:calc(100vw - 32px);max-height:calc(100svh - 32px); }
  #dialog-content { grid-template-columns:minmax(0,1fr); }
  .dialog-image { height:32svh;min-height:200px;max-height:320px; }
  .dialog-image img { object-fit:contain; }
  .dialog-copy { padding:28px 26px;min-height:0; }
  .dialog-copy h2 { font-size:22px; }
  .dialog-copy .eyebrow { font-size:8px; }
}
