@font-face{font-family:Unbounded;src:url(/fonts/Unbounded-Latin.woff2)format("woff2");font-weight:200 900;font-display:swap}@font-face{font-family:Figtree;src:url(/fonts/Figtree-Latin.woff2)format("woff2");font-weight:300 900;font-display:swap}@font-face{font-family:Space Mono;src:url(/fonts/SpaceMono-Bold-Latin.woff2)format("woff2");font-weight:700;font-display:swap}@font-face{font-family:Instrument Serif;src:url(/fonts/InstrumentSerif-Latin.woff2)format("woff2");font-weight:400;font-display:swap}@property --accent{syntax:"<color>";inherits:true;initial-value:#e8412c}@property --accent-ink{syntax:"<color>";inherits:true;initial-value:#fff}:root{--bg:#fff;--surface:#f1f2f4;--surface-2:#e4e6ea;--ink:#0f1013;--ink-2:#4a4f57;--ink-3:#868c95;--line:#0f10131f;--line-strong:#0f101338;--accent:#e8412c;--accent-ink:#fff;--accent-soft:color-mix(in srgb, var(--accent) 10%, #fff);--accent-deep:color-mix(in srgb, var(--accent) 78%, #000);--nav-h:56px;--bar-h:76px;--dock-h:108px;--radius:20px;--radius-sm:14px;--pad:18px;--wide:1120px;--font-display:"Unbounded", system-ui, sans-serif;--font-body:"Figtree", system-ui, sans-serif;--font-mono:"Space Mono", ui-monospace, Menlo, monospace;--font-serif:"Instrument Serif", Georgia, serif;--spring:cubic-bezier(.34, 1.4, .64, 1);--ease:cubic-bezier(.2, .7, .2, 1)}*{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:calc(var(--nav-h) + 12px);transition:--accent .4s,--accent-ink .4s}html.dock-shown{scroll-padding-top:calc(var(--nav-h) + var(--dock-h) + 12px)}body{font-family:var(--font-body);background:var(--bg);color:var(--ink);padding-bottom:calc(var(--bar-h) + env(safe-area-inset-bottom));-webkit-font-smoothing:antialiased;font-size:16px;line-height:1.5;overflow-x:clip}html.menu-open{overflow:hidden}img,svg,video{max-width:100%;display:block}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:0}input{font:inherit;color:inherit}::selection{background:var(--accent);color:var(--accent-ink)}:focus-visible{outline:3px solid var(--accent);outline-offset:3px;border-radius:6px}.kicker{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--accent);font-size:.66rem}.h1{font-family:var(--font-display);letter-spacing:-.035em;text-wrap:balance;font-size:clamp(2rem,8.4vw,2.7rem);font-weight:800;line-height:1.02}.h1 em{color:var(--accent);font-style:normal}.h2{font-family:var(--font-display);letter-spacing:-.03em;text-wrap:balance;font-size:clamp(1.45rem,6vw,1.9rem);font-weight:700;line-height:1.08}.lead{color:var(--ink-2);max-width:32em;font-size:1.05rem;line-height:1.5}.mono{font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;font-size:.66rem}.sec{padding:40px var(--pad)}.sec-head{margin-bottom:18px}.sec-head .lead{margin-top:8px}.wrap{max-width:var(--wide);margin:0 auto}.btn{letter-spacing:.06em;text-transform:uppercase;min-height:52px;transition:transform .18s var(--spring), background .25s, color .25s, box-shadow .25s;white-space:nowrap;border-radius:999px;justify-content:center;align-items:center;gap:.5em;padding:0 22px;font-size:.84rem;font-weight:800;display:inline-flex}.btn:active{transform:scale(.97)}.btn-accent{background:var(--accent);color:var(--accent-ink);box-shadow:0 10px 24px -14px var(--accent)}.btn-accent:hover{background:var(--accent-deep)}.btn-ink{background:var(--ink);color:#fff}.btn-ghost{border:2px solid var(--line-strong);color:var(--ink)}.btn-ghost:hover{border-color:var(--ink)}.btn-block{width:100%;display:flex}.btn[disabled]{opacity:.4;cursor:default}.chips{flex-wrap:wrap;gap:8px;display:flex}.chip{border:2px solid var(--line);letter-spacing:.02em;background:var(--bg);min-height:40px;transition:background .2s, color .2s, border-color .2s, transform .18s var(--spring);border-radius:999px;align-items:center;gap:.4em;padding:0 14px;font-size:.8rem;font-weight:700;display:inline-flex}.chip:active{transform:scale(.96)}.chip.sel,.chip[aria-checked=true]{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}.chip-ghost{color:var(--ink-2);border-style:dashed}.nav{z-index:50;height:var(--nav-h);padding:0 var(--pad);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--line);transition:transform .35s var(--ease);background:#ffffffe6;justify-content:space-between;align-items:center;gap:12px;display:flex;position:sticky;top:0}.wordmark{font-family:var(--font-display);letter-spacing:-.02em;white-space:nowrap;font-size:1.02rem;font-weight:700}.wordmark i{background:var(--accent);vertical-align:.02em;border-radius:50%;width:.38em;height:.38em;margin:0 .05em;transition:background .4s;display:inline-block}.nav-links{gap:22px;display:none}.nav-links a{color:var(--ink-2);font-size:.82rem;font-weight:700}.nav-links a:hover{color:var(--ink)}.nav-right{align-items:center;gap:6px;display:flex}.nav-gift{color:var(--accent);padding:10px 12px;font-size:.8rem;font-weight:800}.burger{width:44px;height:44px;position:relative}.burger span{background:var(--ink);height:2px;transition:transform .3s var(--ease), top .3s var(--ease);border-radius:2px;position:absolute;left:12px;right:12px}.burger span:first-child{top:17px}.burger span:nth-child(2){top:25px}.burger[aria-expanded=true] span:first-child{top:21px;transform:rotate(45deg)}.burger[aria-expanded=true] span:nth-child(2){top:21px;transform:rotate(-45deg)}.menu[hidden]{display:none}.menu{inset:var(--nav-h) 0 0 0;z-index:49;background:var(--bg);padding:0 var(--pad);flex-direction:column;justify-content:center;gap:4px;display:flex;position:fixed}.menu a{font-family:var(--font-display);letter-spacing:-.02em;border-bottom:1px solid var(--line);padding:12px 0;font-size:1.5rem;font-weight:600}.menu a.menu-gift{color:var(--accent)}.menu a:last-child{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);border-bottom:0;margin-top:12px;font-size:.7rem}.bar{z-index:60;padding:10px var(--pad) calc(10px + env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(16px);border-top:1px solid var(--line);transition:transform .32s var(--ease);background:#fffffff0;align-items:center;gap:12px;display:flex;position:fixed;bottom:0;left:0;right:0}html.typing .bar,html.menu-open .bar{transform:translateY(130%)}.bar-info{flex:1;min-width:0}.bar-title{white-space:nowrap;text-overflow:ellipsis;font-size:.95rem;font-weight:800;overflow:hidden}.bar-sub{font-family:var(--font-mono);letter-spacing:.04em;text-transform:uppercase;color:var(--ink-3);white-space:nowrap;text-overflow:ellipsis;margin-top:2px;font-size:.58rem;overflow:hidden}.bar-sub a{color:var(--accent);text-underline-offset:2px;text-decoration:underline}.bar .btn{flex:none;min-height:48px;padding:0 20px}.bar[data-state=build] .bar-info{display:none}.bar[data-state=build] .btn{flex:1}.bar.bounce{animation:barpop .45s var(--spring)}@keyframes barpop{40%{transform:translateY(-4px)}}.intro{padding:26px var(--pad) 10px;position:relative}.intro-beans{filter:drop-shadow(0 10px 16px #0f101338);width:136px;height:auto;animation:beansIn .9s var(--spring) both;pointer-events:none;position:absolute;top:10px;right:4px}@keyframes beansIn{0%{opacity:0;rotate:-10deg;scale:.85}to{opacity:1;rotate:0deg;scale:1}}.intro .kicker,.intro .h1{z-index:1;position:relative}.intro .h1{margin-top:10px}.intro .lead{margin-top:12px;font-size:1rem}.studio{padding:8px var(--pad) 8px}.preview-card{background:var(--surface);border-radius:var(--radius);padding:12px}.preview-stage{background:radial-gradient(ellipse at 50% 30%, #fff 0%, var(--accent-soft) 70%);border-radius:14px;justify-content:center;align-items:center;height:clamp(400px,60svh,560px);transition:background .4s;display:flex;position:relative;overflow:hidden}.preview-stage yr-bag{aspect-ratio:800/1315;width:auto;max-width:84%;height:86%}.dock{left:0;right:0;top:var(--nav-h);z-index:45;padding:8px var(--pad) 10px;-webkit-backdrop-filter:blur(16px);border-bottom:1px solid var(--line);transform:translateY(calc(-100% - var(--nav-h) - 24px));transition:transform .35s var(--ease);pointer-events:none;background:#fffffff0;position:fixed;box-shadow:0 12px 30px -20px #0f101373}.dock.show{transform:none}@media (width<=899px){.step[data-step=name],.step[data-step=look]{transition:transform .6s var(--spring), box-shadow .45s, border-color .3s}.step.lifted{transform:translateY(var(--lift,0));z-index:6;background:#fff;border-color:#0000;box-shadow:0 30px 70px -28px #0f10138c,0 0 0 1px #0f10130f}html.lifting .dock{transform:translateY(calc(-100% - var(--nav-h) - 24px))}html.lifting .bar{transform:translateY(130%)}html.lifting .nav{transform:translateY(-110%)}}.dock-inner{grid-template-columns:62px 1fr;align-items:center;gap:12px;display:grid}.dock-stage{background:var(--accent-soft);border-radius:10px;justify-content:center;align-items:center;height:76px;display:flex;overflow:hidden}.dock-stage yr-bag{width:42px}.dock-brand{font-family:var(--font-display);letter-spacing:-.02em;white-space:nowrap;text-overflow:ellipsis;font-size:.92rem;font-weight:700;line-height:1.15;overflow:hidden}.dock-mix{background:#7f7f7f2e;border-radius:999px;height:7px;margin:6px 0 5px;display:flex;overflow:hidden}.dock-mix i{width:0;height:100%;transition:width .5s var(--spring);display:block}.dock-stage{height:84px}.dock-line{font-family:var(--font-mono);letter-spacing:.03em;text-transform:uppercase;color:var(--ink-2);white-space:nowrap;text-overflow:ellipsis;margin-top:3px;font-size:.56rem;overflow:hidden}.steps{gap:12px;margin-top:12px;display:grid}.studio-gate{gap:2px;padding:6px 0 0;display:grid}.gate-custom{color:var(--ink-3);text-underline-offset:3px;text-decoration:underline;-webkit-text-decoration-color:var(--line-strong);text-decoration-color:var(--line-strong);justify-self:center;padding:10px 12px;font-size:.92rem;font-weight:600}.gate-custom:hover{color:var(--ink)}.gate-custom[hidden]{display:none}.steps-more{gap:12px;display:grid;position:relative}.steps-more:not(.open){display:none}.steps>*,.studio-preview,.preview-card{min-width:0}.step{background:var(--bg);border:1.5px solid var(--line);border-radius:var(--radius);padding:18px 16px;position:relative}.step-head{align-items:center;gap:10px;margin-bottom:14px;display:flex}.btn-lg{min-height:60px;font-size:.95rem}.build-cta{margin-top:18px}.ideas{margin-top:10px}.link-btn{text-align:center;width:100%;color:inherit;opacity:.7;text-underline-offset:3px;margin-top:12px;padding:8px;font-size:.84rem;font-weight:700;text-decoration:underline;display:block}.focus-body .mode{display:none}.step-expand{border:1.5px solid var(--line);min-height:34px;color:var(--ink-2);transition:border-color .2s, color .2s, transform .18s var(--spring);border-radius:999px;align-items:center;gap:6px;margin-left:auto;padding:0 10px;font-size:.72rem;font-weight:700;display:inline-flex}.step-expand svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:16px;height:16px}.step-expand span{display:none}.step-expand:hover{border-color:var(--ink);color:var(--ink)}.step-expand:active{transform:scale(.94)}.step-roast .step-expand{color:var(--roast-fg);border-color:#ffffff59}.summary .step-expand{color:#fff;border-color:#ffffff4d}.summary-cert{margin:4px 0 16px}.summary-cert.paper{animation:paperIn .7s var(--spring)}@keyframes paperIn{0%{opacity:0;transform:translateY(18px)scale(.96)}to{opacity:1;transform:none}}.step-num{font-family:var(--font-mono);letter-spacing:.04em;background:var(--accent);color:var(--accent-ink);border-radius:999px;padding:5px 9px 4px;font-size:.62rem;transition:background .4s}.step h2{font-family:var(--font-display);letter-spacing:-.025em;font-size:1.1rem;font-weight:700}.step-hint{color:var(--ink-2);margin-top:12px;font-size:.88rem}.field-label{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--accent);margin-bottom:6px;font-size:.62rem;display:block}.field-label-gap{margin-top:18px}.field-hint{color:var(--ink-3);margin:8px 0 12px;font-size:.8rem}.field-name{width:100%;font-family:var(--font-display);letter-spacing:-.03em;border:0;border-bottom:3px solid var(--ink);color:var(--accent);caret-color:var(--accent);appearance:none;background:0 0;border-radius:0;outline:none;padding:6px 0 8px;font-size:1.7rem;font-weight:700}.field-name::placeholder{color:var(--ink-3)}.field-name:focus{border-bottom-color:var(--accent)}.field-name::-webkit-search-cancel-button{display:none}.field-text::-webkit-search-cancel-button{display:none}.field-text{border:2px solid var(--line);background:var(--bg);appearance:none;border-radius:12px;outline:none;width:100%;min-height:46px;padding:8px 14px;font-size:1.05rem;font-weight:700}.field-text:focus{border-color:var(--accent)}.swatches{justify-content:space-between;gap:8px;display:flex}.swatch{flex-direction:column;flex:1;align-items:center;gap:8px;padding:6px 0;display:flex}.swatch i{background:var(--c);width:54px;height:54px;transition:transform .25s var(--spring), box-shadow .2s;border-radius:50%;display:block;box-shadow:0 0 0 3px #fff,0 0 0 5px #0000}.swatch span{color:var(--ink-2);font-size:.78rem;font-weight:700}.swatch.sel i{box-shadow:0 0 0 3px #fff, 0 0 0 5px var(--ink);transform:scale(1.1)}.swatch.sel span{color:var(--ink)}.typechips{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:12px;display:grid}.typechip{border:2px solid var(--line);transition:border-color .2s, background .2s, transform .18s var(--spring);border-radius:14px;flex-direction:column;align-items:center;gap:2px;padding:12px 6px 10px;display:flex}.typechip:active{transform:scale(.97)}.typechip b{font-size:1.6rem;font-weight:700;line-height:1.1}.typechip span{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-2);font-size:.58rem}.typechip.sel{border-color:var(--accent);background:var(--accent-soft)}.presets{scrollbar-width:none;gap:8px;padding-bottom:6px;display:flex;overflow-x:auto}.presets::-webkit-scrollbar{display:none}.presets .chip{flex:none}.mix{margin:12px 0 14px}.mix-bar{background:var(--surface);border-radius:999px;height:28px;display:flex;overflow:hidden}.mix-bar i{color:#fff;width:0;height:100%;font-style:normal;font-family:var(--font-mono);transition:width .5s var(--spring);justify-content:center;align-items:center;font-size:.62rem;display:flex;overflow:hidden}.mix-legend{font-family:var(--font-mono);letter-spacing:.04em;text-transform:uppercase;justify-content:space-between;gap:10px;margin-top:8px;font-size:.6rem;display:flex}.mix-legend span:first-child{color:var(--ink)}.mix-legend span:last-child{color:var(--ink-3);text-align:right;flex:none}.origins{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.origin{border:2px solid var(--line);background:var(--bg);transition:border-color .2s, background .2s, opacity .2s, transform .18s var(--spring);border-radius:14px;flex-direction:column;display:flex;position:relative}.origin.sel{border-color:var(--accent);background:var(--accent-soft)}.origin.full{opacity:.45}.origin.nudge{animation:.4s nudge}@keyframes nudge{25%{transform:translate(-3px)}75%{transform:translate(3px)}}.origin-main{text-align:left;flex-direction:column;flex:1;align-items:flex-start;gap:3px;width:100%;padding:12px 12px 10px;display:flex}.origin-about{border-top:1px solid var(--line);width:100%;min-height:40px;color:var(--accent);text-align:left;justify-content:space-between;align-items:center;padding:6px 12px;font-size:.8rem;font-weight:700;transition:background .2s;display:flex}.origin-about:after{content:"→";transition:transform .2s var(--ease)}.origin-about:hover:after{transform:translate(3px)}.origin-about:active{background:var(--accent-soft)}.origin-row{align-items:center;gap:7px;width:100%;display:flex}.origin-dot{background:var(--oc);border-radius:50%;flex:none;width:13px;height:13px}.origin b{letter-spacing:-.01em;font-size:.98rem;font-weight:800}.origin-pct{font-family:var(--font-mono);color:var(--accent);margin-left:auto;font-size:.7rem}.origin-meta{font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);font-size:.54rem}.origin-notes{color:var(--ink-2);font-size:.78rem;line-height:1.3}.parts{border-top:1px solid var(--line);justify-content:space-between;align-items:center;display:none}.origin.sel .parts{display:flex}.parts button{width:44px;height:40px;font-size:1.15rem;font-weight:700}.parts-n{font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-2);font-size:.6rem}.seg.seg-2{grid-template-columns:repeat(2,minmax(0,1fr))}.mode{margin-bottom:14px}.mode button{white-space:nowrap;font-size:.82rem}.step[data-step=beans].is-guide .compose-only,.step[data-step=beans]:not(.is-guide) .guide{display:none}.guide-progress{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);justify-content:space-between;align-items:center;margin-bottom:12px;font-size:.58rem;display:flex}.guide-dots{gap:5px;display:flex}.guide-dots i{background:var(--surface-2);border-radius:50%;width:8px;height:8px;transition:background .25s}.guide-dots i.on{background:var(--accent)}.guide-q h3,.guide-result h3{font-family:var(--font-display);letter-spacing:-.025em;font-size:1.25rem;font-weight:700;line-height:1.15}.guide-q p{color:var(--ink-2);margin:6px 0 14px;font-size:.9rem}.guide-answers{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.answer{border:2px solid var(--line);background:var(--bg);text-align:left;min-height:78px;transition:border-color .2s, background .2s, transform .18s var(--spring);border-radius:14px;flex-direction:column;align-items:flex-start;gap:2px;padding:14px 12px 12px;display:flex;position:relative}.answer:active{transform:scale(.97)}.answer b{font-size:.95rem;font-weight:800;line-height:1.2}.answer small{color:var(--ink-2);font-size:.76rem;line-height:1.3}.answer i{background:var(--c);border-radius:50%;width:12px;height:12px;margin-bottom:5px}.answer.sel{border-color:var(--accent);background:var(--accent-soft)}.answer.nudge{animation:.4s nudge}.guide-nav{justify-content:space-between;align-items:center;gap:10px;min-height:44px;margin-top:12px;display:flex}.guide-back{color:var(--ink-2);padding:8px 0;font-size:.85rem;font-weight:700}.guide-back[hidden],.guide-nav .btn[hidden]{display:none}.guide-nav .btn{min-height:46px;margin-left:auto}.guide-result .kicker{margin-bottom:8px}.guide-recipe{font-family:var(--font-mono);letter-spacing:.04em;text-transform:uppercase;color:var(--ink-2);margin-top:8px;font-size:.64rem}.guide-why{gap:8px;margin:14px 0 16px;list-style:none;display:grid}.guide-why li,.summary-why li{color:var(--ink-2);padding-left:16px;font-size:.9rem;line-height:1.45;position:relative}.guide-why li:before,.summary-why li:before{content:"";background:var(--accent);border-radius:50%;width:7px;height:7px;position:absolute;top:.55em;left:0}.guide-actions{flex-direction:column;gap:8px;display:flex}.guide-restart{color:var(--ink-3);padding:8px;font-size:.85rem;font-weight:700}.choices{gap:8px;margin:14px 0 6px;display:grid}.choice{border:2px solid var(--line);background:var(--bg);color:inherit;text-align:left;transition:border-color .2s, transform .18s var(--spring);border-radius:14px;grid-template-columns:64px 1fr auto;align-items:center;gap:12px;padding:8px 12px 8px 8px;display:grid}.choice:hover{border-color:var(--ink)}.choice:active{transform:scale(.985)}.choice-visual{background:var(--surface);border-radius:10px;width:64px;height:64px;display:flex;overflow:hidden}.choice-visual img{object-fit:cover;width:100%;height:100%}.choice-mix{flex-direction:column}.choice-mix i{width:100%;min-height:6px;display:block}.choice-body{flex-direction:column;min-width:0;display:flex}.choice-k{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--accent);font-size:.54rem}.choice-body b{margin-top:2px;font-size:.95rem;font-weight:800;line-height:1.2}.choice-body small{color:var(--ink-2);margin-top:2px;font-size:.76rem;line-height:1.3}.choice-edit{color:var(--accent);border:1.5px solid var(--accent);border-radius:999px;padding:5px 10px;font-size:.72rem;font-weight:800}.focus-body .choice{grid-template-columns:92px 1fr auto;gap:14px}.focus-body .choice-visual{border-radius:12px;width:92px;height:92px}.summary-why{gap:6px;margin:12px 0 0;list-style:none;display:grid}.summary-why[hidden]{display:none}.summary-why li{color:#fffc}.summary-why:before{content:"Why this blend";font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--accent);margin-bottom:2px;font-size:.58rem;display:block}.step-roast{--roast-bg:#8b4a22;--roast-fg:#fff;background:var(--roast-bg);color:var(--roast-fg);border-color:#0000;transition:background .5s,color .5s}.step-roast .step-num{background:var(--roast-fg);color:var(--roast-bg)}.seg{background:#00000024;border-radius:999px;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;padding:4px;display:grid}.seg button{border-radius:999px;justify-content:center;align-items:center;gap:7px;min-height:44px;font-size:.84rem;font-weight:800;transition:background .2s,color .2s;display:flex}.seg button i{border-radius:50%;width:14px;height:14px;box-shadow:inset 0 0 0 1px #00000040}.seg button.sel{background:var(--roast-fg);color:var(--roast-bg)}.seg-ink{background:var(--surface)}.seg-ink button.sel{background:var(--ink);color:#fff}.roast-word{font-family:var(--font-display);letter-spacing:-.03em;margin-top:18px;font-size:2rem;font-weight:800;line-height:1}.roast-note{opacity:.85;max-width:34em;margin-top:8px;font-size:.92rem}.grind-photo{aspect-ratio:16/10;background:var(--surface);border-radius:14px;margin-bottom:10px;position:relative;overflow:hidden}.grind-photo img{object-fit:cover;opacity:0;width:100%;height:100%;transition:opacity .45s;position:absolute;inset:0}.grind-photo img.on{opacity:1}.grind-caption{color:#fff;font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;background:#0f1013c7;border-radius:999px;padding:5px 10px;font-size:.56rem;position:absolute;bottom:10px;left:10px}.grind-opts{gap:6px;display:grid}.grind-opt{border:2px solid var(--line);background:var(--bg);text-align:left;min-height:58px;transition:border-color .2s, background .2s, transform .18s var(--spring);border-radius:14px;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:8px 12px 8px 10px;display:grid}.grind-opt:active{transform:scale(.985)}.grind-opt.sel{border-color:var(--accent);background:var(--accent-soft)}.grind-icons{color:var(--ink-2);gap:4px;transition:color .2s;display:flex}.grind-opt.sel .grind-icons{color:var(--accent)}.bicon{fill:none;stroke:currentColor;stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:24px;height:24px}.grind-text{flex-direction:column;gap:1px;min-width:0;display:flex}.grind-text b{font-size:.95rem;font-weight:800;line-height:1.2}.grind-text small{color:var(--ink-2);font-size:.76rem;line-height:1.3}.grind-check{border:2px solid var(--line-strong);border-radius:50%;width:20px;height:20px;transition:background .2s,border-color .2s;position:relative}.grind-check:after{content:"";border:solid var(--accent-ink);width:4px;height:8px;transition:transform .2s var(--spring);border-width:0 2px 2px 0;position:absolute;top:3px;left:6px;transform:rotate(45deg)scale(0)}.grind-opt.sel .grind-check{background:var(--accent);border-color:var(--accent)}.grind-opt.sel .grind-check:after{transform:rotate(45deg)scale(1)}.summary{background:var(--ink);color:#fff;border-color:var(--ink)}.summary .step-num{background:var(--accent);color:var(--accent-ink)}.profile{gap:7px;display:grid}.profile-row{grid-template-columns:84px 1fr;align-items:center;gap:10px;display:grid}.profile-row span{font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:#ffffffa6;font-size:.58rem}.profile-bar{background:#ffffff24;border-radius:999px;height:9px;overflow:hidden}.profile-bar i{background:var(--accent);width:0;height:100%;transition:width .55s var(--spring), background .4s;border-radius:999px;display:block}.cup-note{border-top:1px dashed #ffffff38;margin-top:16px;padding-top:14px;font-size:.95rem;line-height:1.45}.cup-note:before{content:"Cup note";font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--accent);margin-bottom:4px;font-size:.58rem;display:block}.receipt{margin:12px 0 18px}.receipt-row{border-bottom:1px dashed #ffffff38;justify-content:space-between;align-items:baseline;gap:12px;padding:9px 0;display:flex}.receipt-row>span{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:#ffffff8c;flex:none;font-size:.56rem}.receipt-row b{text-align:right;font-size:.9rem;font-weight:700}yr-bag{width:100%;display:block;position:relative;container-type:inline-size}.bag-render{position:relative}.bag-render img{width:100%;height:auto}.bag-tint{mix-blend-mode:multiply;pointer-events:none;transition:background .45s;position:absolute;inset:0;-webkit-mask-image:url(/img/bag-white-800.png);mask-image:url(/img/bag-white-800.png);-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}yr-bag.bounce{animation:bagpop .5s var(--spring)}@keyframes bagpop{35%{rotate:-1deg;scale:1.04}}.bag-label{text-align:center;color:#fff;pointer-events:none;width:62%;position:absolute;top:33%;left:50%;transform:translate(-50%)}.bag-mark{font-family:var(--font-mono);letter-spacing:.06em;opacity:.8;font-size:2.6cqw}.bag-name{font-family:var(--font-display);letter-spacing:-.02em;white-space:nowrap;margin-top:2.2cqw;font-size:11cqw;font-weight:800;line-height:1.05}yr-bag[data-font=serif] .bag-name{font-family:var(--font-serif);letter-spacing:-.01em;font-size:15cqw;font-weight:400}yr-bag[data-font=mono] .bag-name{font-family:var(--font-mono);letter-spacing:0;text-transform:uppercase;font-size:9.5cqw;font-weight:700}.bag-word{font-family:var(--font-mono);letter-spacing:.32em;text-indent:.32em;opacity:.95;margin-top:1.5cqw;font-size:3cqw}.bag-rule{opacity:.45;background:currentColor;width:40%;height:1px;margin:4cqw auto 3cqw}.bag-data{flex-direction:column;gap:.4cqw;display:flex}.bag-data span{font-family:var(--font-mono);letter-spacing:.04em;text-transform:uppercase;opacity:.85;font-size:2.3cqw;line-height:1.75;display:block}.bag-data .bag-blend{opacity:1}.bag-mix{background:#fff;border-radius:999px;width:64%;margin:1.2cqw auto 1.4cqw;padding:.9cqw}.bag-mix b{background:#17181c14;border-radius:999px;height:1.9cqw;display:flex;overflow:hidden}.bag-mix i{width:0;height:100%;transition:width .5s var(--spring);display:block}.bag-data .bag-recipe span{display:block}.bag-badge{opacity:.95;width:14.5cqw;margin:3cqw auto 0}.bag-badge svg{width:100%;height:auto;display:block}.bag-badge text{font-family:var(--font-mono);letter-spacing:1.9px;font-size:9px;font-weight:700}.bag-dot{vertical-align:middle;border-radius:50%;width:1.9cqw;height:1.9cqw;margin-right:1.2cqw;display:inline-block;position:relative;top:-.2cqw;box-shadow:0 0 0 .4cqw #fff}.focus{background:var(--bg);width:100%;max-width:none;height:100dvh;max-height:none;color:var(--ink);opacity:0;transition:opacity .28s ease, transform .3s var(--ease), background .55s ease, color .55s ease;border:0;flex-direction:column;margin:0;padding:0;position:fixed;inset:0;transform:scale(.985)}.focus[open]{display:flex}.focus.in{opacity:1;transform:none}.focus::backdrop{background:var(--ink)}html.focus-open{overflow:hidden}.focus-top{flex:none;align-items:center;gap:10px;height:54px;padding:0 10px 0 6px;display:flex}.focus-close{width:42px;height:42px;color:inherit;border-radius:50%;justify-content:center;align-items:center;font-size:1.55rem;line-height:1;display:flex}.focus-close:hover{background:#7f7f7f26}.focus-steps{flex:1;justify-content:center;gap:4px;display:flex}.focus-steps button{color:inherit;opacity:.45;flex-direction:column;align-items:center;gap:5px;padding:6px 4px;transition:opacity .2s;display:flex}.focus-steps button i{opacity:.35;background:currentColor;border-radius:2px;width:20px;height:4px;transition:background .3s,opacity .3s}.focus-steps button span{font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;font-size:.52rem}.focus-steps button.on{opacity:.8}.focus-steps button.on i{opacity:1;background:var(--accent)}.focus-steps button.cur{opacity:1}.focus-brand{font-family:var(--font-display);letter-spacing:-.02em;white-space:nowrap;text-overflow:ellipsis;text-align:right;max-width:92px;font-size:.72rem;font-weight:700;display:none;overflow:hidden}.focus-strip{flex:none;padding:0 18px 10px}.focus-strip .dock-line{opacity:.8;color:inherit}.focus-strip .dock-stage{background:#7f7f7f24}.tiles,.origin-photo,.answer-photo,.look-stage,.label-zoom,.fs-only{display:none}.focus-body .fs-only{display:block}.focus-body .label-zoom{background:var(--accent-soft);border-radius:16px;height:162px;margin:0 0 16px;display:block;position:relative;overflow:hidden}.focus-body .label-zoom yr-bag{width:160%;position:absolute;top:0;left:50%;transform:translate(-50%,-33.5%)}.suffix-chips{margin:10px 0 4px}.focus-body .look-stage{background:radial-gradient(ellipse at 50% 30%, #fffffff2 0%, var(--accent-soft) 70%);border-radius:18px;justify-content:center;align-items:center;height:min(42dvh,400px);margin-bottom:16px;transition:background .4s;display:flex;overflow:hidden}.focus-body .look-stage yr-bag{aspect-ratio:800/1315;width:auto;height:92%}.focus[data-step=look] .focus-strip{display:none}.focus-body .answer-photo{aspect-ratio:16/10;border-radius:12px 12px 0 0;align-self:stretch;margin:-12px -12px 10px;display:block;overflow:hidden}.focus-body .answer-photo img{object-fit:cover;width:100%;height:100%;display:block}.focus-body .answer{padding-top:12px}.focus-body .roast-tiles{gap:10px;display:grid}.focus-body .grind-tiles{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.focus-body .grind-tiles .tile:last-child{grid-column:1/-1}.focus-body .step-roast .seg,.focus-body .grind-opts,.focus-body .grind-photo{display:none}.focus-body .origin-photo{aspect-ratio:16/9;border-radius:12px 12px 0 0;margin:-12px -12px 10px;display:block;overflow:hidden}.focus-body .origin-photo img{object-fit:cover;width:100%;height:100%;display:block}.tile{aspect-ratio:16/9;text-align:left;width:100%;transition:border-color .2s, transform .18s var(--spring);background:#7f7f7f26;border:3px solid #0000;border-radius:16px;display:block;position:relative;overflow:hidden}.grind-tiles .tile{aspect-ratio:4/3}.grind-tiles .tile:last-child{aspect-ratio:16/9}.grind-tiles .tile-label b{font-size:.9rem}.grind-tiles .tile-label small{font-size:.5rem}.tile:active{transform:scale(.985)}.tile img{object-fit:cover;width:100%;height:100%;display:block}.tile:after{content:"";pointer-events:none;background:linear-gradient(#0000 48%,#0f1013b8);position:absolute;inset:0}.tile-label{z-index:1;color:#fff;justify-content:space-between;align-items:flex-end;gap:8px;display:flex;position:absolute;bottom:10px;left:12px;right:12px}.tile-label b{font-family:var(--font-display);letter-spacing:-.02em;font-size:1rem;font-weight:700;line-height:1.1;display:block}.tile-label small{font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;opacity:.9;margin-top:3px;font-size:.54rem;display:block}.tile-check{border:2px solid #fffc;border-radius:50%;flex:none;width:24px;height:24px;transition:background .2s,border-color .2s;position:relative}.tile-check:after{content:"";border:solid var(--accent-ink);width:5px;height:10px;transition:transform .2s var(--spring);border-width:0 2.5px 2.5px 0;position:absolute;top:3px;left:7px;transform:rotate(45deg)scale(0)}.tile.sel{border-color:var(--accent)}.tile.sel .tile-check{background:var(--accent);border-color:var(--accent)}.tile.sel .tile-check:after{transform:rotate(45deg)scale(1)}.step-roast .tile.sel{border-color:var(--roast-fg)}.step-roast .tile.sel .tile-check{background:var(--roast-fg);border-color:var(--roast-fg)}.step-roast .tile.sel .tile-check:after{border-color:var(--roast-bg)}.focus-body{-webkit-overflow-scrolling:touch;overscroll-behavior:contain;flex:1;min-height:0;overflow-y:auto}.focus-body.swap{animation:focusSwap .34s var(--ease)}@keyframes focusSwap{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}.focus-body .step{background:0 0;border:0;border-radius:0;padding:10px 18px 26px}.focus-body .step-expand,.focus-body [data-studio-cta],.focus-body .guide-nav,.focus-body .step-num,.focus-body .mix,.focus-body .guide-actions [data-love]{display:none}.focus-nav .btn[disabled]{opacity:.4}.focus-body .step-head{margin-bottom:12px}.focus-nav{padding:10px 18px calc(12px + env(safe-area-inset-bottom));border-top:1px solid #7f7f7f40;flex:none;gap:10px;display:flex}.focus-nav .btn{flex:1}.focus-nav [data-focus-back][hidden]{display:none}.focus-back{width:52px;height:52px;color:inherit;transition:border-color .2s, background .2s, transform .18s var(--spring);border:2px solid #7f7f7f73;border-radius:50%;flex:none;justify-content:center;align-items:center;display:flex}.focus-back svg{fill:none;stroke:currentColor;stroke-width:2.2px;stroke-linecap:round;stroke-linejoin:round;width:22px;height:22px}.focus-back:hover{border-color:currentColor}.focus-back:active{transform:scale(.92)}.focus-nav .btn-ghost{color:inherit;border-color:#7f7f7f73}.focus[data-step=roast]{background:var(--roast-bg);color:var(--roast-fg)}.focus[data-step=roast] .focus-strip .dock-stage{background:#ffffff38}.focus[data-step=roast] .focus-body .step-roast{background:0 0}.focus[data-step=summary]{background:var(--ink);color:#fff}.focus[data-step=summary] .focus-strip .dock-stage{background:#ffffff1a}.focus[data-step=summary] .focus-body .summary{background:0 0}.reviews-step{border:0}.fs-reviews{gap:12px;display:grid}.fs-review{background:var(--surface);border-radius:18px;padding:18px 18px 20px}.fs-review:nth-child(2n){background:var(--accent-soft)}.fs-review-top{grid-template-columns:auto 1fr auto;align-items:center;gap:12px;display:grid}.fs-avatar{background:var(--accent);width:40px;height:40px;color:var(--accent-ink);font-family:var(--font-display);letter-spacing:-.02em;border-radius:50%;justify-content:center;align-items:center;font-size:.8rem;font-weight:700;display:flex}.fs-review-who{flex-direction:column;min-width:0;display:flex}.fs-review-who b{font-size:.95rem;font-weight:800}.fs-review-who small{font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);margin-top:2px;font-size:.54rem}.fs-review p{font-family:var(--font-display);letter-spacing:-.02em;text-wrap:pretty;margin-top:14px;font-size:1.02rem;font-weight:600;line-height:1.4}.focus[data-step=reviews] .focus-strip .dock-stage{background:var(--accent-soft)}.sheet{background:var(--bg);width:100%;max-width:100%;max-height:84dvh;color:var(--ink);transition:transform .38s var(--ease);border:0;border-radius:24px 24px 0 0;margin:0;padding:0;position:fixed;inset:auto 0 0;overflow:hidden;transform:translateY(100%);box-shadow:0 -20px 60px -30px #0f101380}.sheet.in{transform:none}.sheet::backdrop{background:#0f101380}html.sheet-open{overflow:hidden}.sheet-panel{border-radius:24px 24px 0 0;flex-direction:column;max-height:84dvh;display:flex;position:relative;overflow:hidden}.sheet-handle{z-index:3;background:#ffffffe6;border-radius:2px;width:40px;height:4px;margin-left:-20px;position:absolute;top:10px;left:50%;box-shadow:0 1px 6px #0f101359}.sheet-close{z-index:3;width:36px;height:36px;color:var(--ink);background:#ffffffeb;border-radius:50%;justify-content:center;align-items:center;font-size:1.5rem;line-height:1;display:flex;position:absolute;top:12px;right:12px;box-shadow:0 2px 10px #0f10132e}.sheet-scroll{-webkit-overflow-scrolling:touch;overscroll-behavior:contain;flex:1;min-height:0;overflow-y:auto}.sheet-photo{margin:0}.sheet-photo img{aspect-ratio:16/9;object-fit:cover;width:100%}.sheet-body{padding:16px 18px 14px}.sheet-eyebrow{font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-2);align-items:center;gap:8px;font-size:.58rem;display:flex}.sheet-body h2{font-family:var(--font-display);letter-spacing:-.03em;margin-top:6px;font-size:1.7rem;font-weight:800;line-height:1.05}.sheet-lead{color:var(--ink-2);margin-top:8px;font-size:1rem;line-height:1.45}.sheet-facts{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:14px 0 0;display:grid}.sheet-facts div{background:var(--surface);border-radius:12px;padding:10px 12px}.sheet-facts dt{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);font-size:.54rem}.sheet-facts dd{margin:2px 0 0;font-size:.9rem;font-weight:700}.sheet-notes{flex-wrap:wrap;gap:6px;margin-top:14px;display:flex}.sheet-notes span{border:1.5px solid var(--oc);border-radius:999px;padding:5px 11px;font-size:.78rem;font-weight:700}.sheet-profile{gap:6px;margin-top:14px;display:grid}.sheet-profile div{grid-template-columns:84px 1fr;align-items:center;gap:10px;display:grid}.sheet-profile span{font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);font-size:.56rem}.sheet-profile i{background:var(--surface);border-radius:999px;height:8px;display:block;position:relative;overflow:hidden}.sheet-profile i:after{content:"";width:calc(var(--v) * 100%);background:var(--oc);border-radius:999px;position:absolute;inset:0}.sheet-body section{margin-top:18px}.sheet-body h4{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--accent);margin-bottom:4px;font-size:.58rem}.sheet-body section p{color:var(--ink-2);font-size:.95rem;line-height:1.5}.sheet-special{background:var(--accent-soft);border-radius:14px;padding:14px 14px 12px}.sheet-special p{color:var(--ink)}.sheet-foot{padding:10px 18px calc(12px + env(safe-area-inset-bottom));border-top:1px solid var(--line);background:var(--bg);flex:none}.plan-check{border:2px solid var(--line-strong);border-radius:50%;width:28px;height:28px;transition:background .2s,border-color .2s;position:absolute;top:14px;right:14px}.plan-check:after{content:"";border:solid var(--accent-ink);width:6px;height:12px;transition:transform .2s var(--spring);border-width:0 2.5px 2.5px 0;position:absolute;top:4px;left:9px;transform:rotate(45deg)scale(0)}.plan-badge{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--accent);border:1.5px solid var(--accent);border-radius:999px;align-self:flex-start;margin-bottom:10px;padding:4px 9px 3px;font-size:.56rem;display:inline-block}.trust{padding:24px var(--pad);gap:10px;display:grid}.trust div{align-items:center;gap:10px;font-size:.9rem;font-weight:700;display:flex}.trust div:before{content:"";background:var(--accent);border-radius:50%;flex:none;width:10px;height:10px}.how{background:var(--surface)}.how-photo{border-radius:var(--radius);margin-top:18px;overflow:hidden}.how-photo img{aspect-ratio:16/9;object-fit:cover;width:100%}.how-list{gap:12px;margin-top:18px;display:grid}.how-step{background:var(--bg);border-radius:var(--radius-sm);grid-template-columns:54px 1fr;align-items:start;gap:10px;padding:16px 14px;display:grid}.how-num{font-family:var(--font-display);color:var(--accent);letter-spacing:-.04em;font-size:1.9rem;font-weight:800;line-height:1}.how-step b{font-size:1rem;font-weight:800;display:block}.how-step p{color:var(--ink-2);margin-top:3px;font-size:.88rem}.fresh{background:var(--ink);color:#fff;text-align:center}.fresh-big{font-family:var(--font-display);letter-spacing:-.05em;color:var(--accent);font-size:clamp(3.6rem,20vw,6rem);font-weight:900;line-height:.95}.fresh .h2{margin-top:8px}.fresh .lead{color:#ffffffc7;margin:12px auto 0}.fresh .stamp{color:var(--accent);margin:22px auto 0}.fresh-photo{border-radius:var(--radius);margin-top:24px;overflow:hidden}.fresh-photo img{aspect-ratio:4/3;object-fit:cover;width:100%}.gift{background:var(--accent-soft);transition:background .4s}.gift-photo{border-radius:var(--radius);margin-bottom:22px;overflow:hidden}.gift-photo img{aspect-ratio:16/9;object-fit:cover;width:100%}.gift yr-certificate{margin-top:20px}.gift-steps{gap:10px;margin-top:18px;display:grid}.gift-step{color:var(--ink-2);grid-template-columns:28px 1fr;gap:8px;font-size:.92rem;display:grid}.gift-step b{font-family:var(--font-mono);color:var(--accent);padding-top:.25em;font-size:.62rem}.gift-step strong{color:var(--ink)}.gift-buy{flex-direction:column;gap:12px;margin-top:18px;display:flex}.gift-price{font-family:var(--font-display);letter-spacing:-.03em;font-size:1.5rem;font-weight:800}.gift-price span{font-family:var(--font-body);letter-spacing:0;color:var(--ink-3);font-size:.85rem;font-weight:600}.gift-note{color:var(--ink-3);margin-top:8px;font-size:.82rem}yr-certificate.bounce{animation:bagpop .5s var(--spring)}.lots{padding:40px 0 24px}.lots .sec-head{padding:0 var(--pad)}.lot-row{scroll-snap-type:x mandatory;scroll-padding-inline:var(--pad);padding:18px var(--pad) 16px;scrollbar-width:none;gap:12px;display:flex;overflow-x:auto}.lot-row::-webkit-scrollbar{display:none}.lot{aspect-ratio:3/4;scroll-snap-align:center;isolation:isolate;background:var(--ink);color:#fff;text-align:left;transition:transform .3s var(--spring), box-shadow .3s;border-radius:22px;flex:0 0 min(78vw,320px);position:relative;overflow:hidden;box-shadow:0 26px 50px -30px #0f1013a6}.lot:active{transform:scale(.975)}.lot-photo{display:block;position:absolute;inset:0}.lot-photo img{object-fit:cover;width:100%;height:100%;transition:transform 1.4s var(--ease);transform:scale(1.05)}.lot:after{content:"";pointer-events:none;background:linear-gradient(#0a0a0c00 36%,#0a0a0c66 62%,#0a0a0cd6 100%),linear-gradient(#0a0a0c61,#0a0a0c00 28%);position:absolute;inset:0}.lot-top,.lot-body{z-index:1;position:absolute;left:16px;right:16px}.lot-top{align-items:center;gap:8px;display:flex;top:16px}.lot-dot{background:var(--oc);border-radius:50%;flex:none;width:12px;height:12px;box-shadow:0 0 0 2px #ffffffe6}.lot-meta{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;text-overflow:ellipsis;opacity:.92;font-size:.56rem;overflow:hidden}.lot-body{gap:5px;display:grid;bottom:16px}.lot-name{font-family:var(--font-display);letter-spacing:-.035em;font-size:1.7rem;font-weight:800;line-height:1}.lot-notes{opacity:.94;min-height:2.7em;font-size:.84rem;font-weight:600;line-height:1.35}.lot-story{opacity:.86;font-size:.82rem;line-height:1.45;display:none}.lot-cta{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;opacity:.8;margin-top:6px;font-size:.56rem;transition:opacity .2s}@media (hover:hover){.lot:hover{transform:translateY(-4px);box-shadow:0 34px 60px -30px #0f1013bf}.lot:hover .lot-photo img{transform:scale(1.14)}.lot:hover .lot-cta{opacity:1}}@supports (animation-timeline:view()){@media (prefers-reduced-motion:no-preference){.lot{animation:linear both lotIn;animation-timeline:view(inline);animation-range:entry entry 60%}}}@keyframes lotIn{0%{opacity:.55;scale:.94}to{opacity:1;scale:1}}.reviews{background:var(--surface);padding:36px 0}.reviews .sec-head{padding:0 var(--pad)}.review-row{scroll-snap-type:x mandatory;scroll-padding-inline:var(--pad);padding:4px var(--pad) 10px;scrollbar-width:none;gap:10px;display:flex;overflow-x:auto}.review-row::-webkit-scrollbar{display:none}.review{scroll-snap-align:start;background:var(--bg);border-radius:var(--radius-sm);flex-direction:column;flex:0 0 min(78vw,320px);gap:10px;padding:18px 16px;display:flex}.stars{color:var(--accent);letter-spacing:.12em;font-size:.85rem}.review p{flex:1;font-size:.95rem;line-height:1.45}.review-meta{font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);font-size:.56rem}.acc{border-top:1px solid var(--line);margin-top:12px}.acc-item{border-bottom:1px solid var(--line)}.acc-head{text-align:left;justify-content:space-between;align-items:center;gap:12px;width:100%;padding:16px 0;font-size:1rem;font-weight:700;display:flex}.acc-head i{color:var(--accent);transition:transform .3s var(--ease);font-size:1.5rem;font-style:normal;font-weight:400;line-height:1}.acc-head[aria-expanded=true] i{transform:rotate(45deg)}.acc-body{max-height:0;transition:max-height .4s var(--ease);overflow:hidden}.acc-body p{color:var(--ink-2);padding:0 0 16px;font-size:.92rem;line-height:1.55}.footer{background:var(--ink);color:#fff;padding:40px var(--pad) 28px}.footer .wordmark{font-size:1.3rem}.footer-tag{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:#fff9;margin-top:8px;font-size:.62rem}.footer-cols{grid-template-columns:1fr 1fr;gap:20px;margin-top:28px;display:grid}.footer-col{gap:10px;font-size:.9rem;display:grid}.footer-col a{color:#fffc}.footer-col span{color:#ffffff73}.footer-legal{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:#ffffff80;border-top:1px solid #ffffff24;flex-wrap:wrap;justify-content:space-between;gap:10px 18px;margin-top:28px;padding-top:16px;font-size:.56rem;display:flex}.footer-legal div{gap:16px;display:flex}.stamp{width:104px;height:104px;color:var(--accent);position:relative;container-type:inline-size}.stamp svg{width:100%;height:100%;overflow:visible}.stamp svg circle{fill:none;stroke:currentColor}.stamp svg text{font-family:var(--font-mono);letter-spacing:.04em;fill:currentColor;font-size:8.2px}.stamp .spin{transform-origin:60px 60px;animation:36s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.stamp-center{text-align:center;flex-direction:column;justify-content:center;align-items:center;line-height:1.15;display:flex;position:absolute;inset:0}.stamp-center .s1{font-family:var(--font-mono);letter-spacing:.1em;opacity:.85;font-size:6cqw}.stamp-center .s2{font-family:var(--font-display);letter-spacing:-.02em;margin:.08em 0;font-size:11cqw;font-weight:800}.fs-plans{gap:14px;margin-top:18px;display:grid}.fs-plan .plan-badge{z-index:1;background:var(--accent);color:var(--accent-ink);border-color:var(--accent);margin:0;padding:4px 9px 3px;font-size:.52rem;position:absolute;top:-9px;left:14px;rotate:-2.5deg;box-shadow:0 3px 8px -3px #0f101359}.fs-plan{width:100%;color:var(--ink);border:2px solid var(--line);text-align:left;transition:border-color .2s, box-shadow .2s, transform .18s var(--spring);background:#fff;border-radius:16px;grid-template-columns:1fr auto;align-items:center;gap:12px;padding:14px 12px 14px 16px;display:grid;position:relative}.fs-plan:active{transform:scale(.985)}.fs-plan.sel{border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-soft)}.fs-plan-side{justify-items:center;gap:8px;display:grid}.fs-plan .plan-check{width:24px;height:24px;position:static}.fs-plan .plan-check:after{width:6px;height:11px;top:3px;left:7px}.fs-plan.sel .plan-check{background:var(--accent);border-color:var(--accent)}.fs-plan.sel .plan-check:after{transform:rotate(45deg)scale(1)}.fs-plan-main{gap:2px;min-width:0;display:grid}.fs-plan-main b{font-family:var(--font-display);letter-spacing:-.025em;font-size:1.05rem;font-weight:700}.fs-plan-who{font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);font-size:.56rem}.fs-plan-net{color:var(--ink-2);font-size:.84rem;font-weight:700}.fs-plan-price{text-align:center;line-height:1;font-family:var(--font-display);letter-spacing:-.03em;white-space:nowrap;font-size:1.2rem;font-weight:800}.fs-plan-price small{font-family:var(--font-body);letter-spacing:0;color:var(--ink-3);margin-top:4px;font-size:.64rem;font-weight:600;display:block}.fs-plans-foot{color:var(--ink-3);margin-top:14px;font-size:.8rem}.fs-plan.bounce,.focus-nav .btn.bounce{animation:bagpop .45s var(--spring)}yr-certificate{width:100%;display:block;position:relative;container-type:inline-size}.cert-paper{color:var(--ink);border:3px solid var(--accent);background:#fff;border-radius:16px;padding:3.5%;transition:border-color .4s;box-shadow:0 26px 50px -34px #0f10138c}.cert-frame{border:1px solid var(--line-strong);text-align:center;border-radius:9px;flex-direction:column;align-items:center;padding:6.5% 6% 5%;display:flex;position:relative}.cert-brand{font-family:var(--font-display);letter-spacing:-.02em;font-size:clamp(.8rem,3.6cqw,1.3rem);font-weight:700}.cert-brand i{background:var(--accent);border-radius:50%;width:.38em;height:.38em;margin:0 .05em;display:inline-block}.cert-kicker{max-width:100%;font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--accent);white-space:nowrap;text-overflow:ellipsis;margin-top:3.5%;font-size:clamp(.46rem,2cqw,.68rem);overflow:hidden}.cert-holder{width:100%;font-family:var(--font-display);letter-spacing:-.03em;white-space:nowrap;margin-top:3%;font-weight:800;line-height:1.05;overflow:hidden}yr-certificate[data-font=serif] .cert-holder{font-family:var(--font-serif);letter-spacing:-.01em;font-weight:400}yr-certificate[data-font=mono] .cert-holder{font-family:var(--font-mono);letter-spacing:0;text-transform:uppercase;font-weight:700}.cert-sub{max-width:100%;font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-2);white-space:nowrap;text-overflow:ellipsis;margin-top:2.5%;font-size:clamp(.44rem,1.9cqw,.62rem);overflow:hidden}.cert-rule{background:var(--accent);border-radius:2px;width:12%;height:3px;margin:4.5% auto 3.5%}.cert-lines{--cert-v:clamp(.58rem, 2.5cqw, .84rem);width:100%}.cert-line{border-bottom:1px dashed var(--line-strong);text-align:left;justify-content:space-between;align-items:baseline;gap:4%;padding:2% 0;display:flex}.cert-line:last-child{border-bottom:0}.cert-line span{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--accent);white-space:nowrap;flex:none;font-size:clamp(.42rem,1.8cqw,.58rem)}.cert-line b{min-width:0;height:calc(var(--cert-v) * 1.4);line-height:calc(var(--cert-v) * 1.4);font-weight:600;font-size:var(--cert-v);text-align:right;white-space:nowrap;text-overflow:ellipsis;flex:auto;overflow:hidden}.cert-foot{grid-template-columns:auto 1fr auto;align-items:end;gap:4%;width:100%;margin-top:6%;display:grid}.cert-qr{opacity:.9;width:clamp(30px,9cqw,56px);height:auto}.cert-sign{text-align:center;font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);font-size:clamp(.4rem,1.7cqw,.54rem)}.cert-sign i{background:var(--line-strong);width:60%;height:1px;margin:0 auto 6px;display:block}.cert-seal .stamp{width:clamp(52px,16cqw,92px);height:clamp(52px,16cqw,92px);transform:rotate(-9deg)}.cert-seal .stamp .spin{animation:none}.cert-gift{background:var(--ink);color:#fff;width:112%;font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;border-radius:0 0 8px 8px;margin:5% -6% -5%;padding:3% 4%;font-size:clamp(.4rem,1.8cqw,.58rem);line-height:1.7}.cert-gift b{color:var(--accent);white-space:nowrap}.cert-gift[hidden]{display:none}.ck-body{flex-direction:column;min-height:100dvh;padding-bottom:0;display:flex}.ck-nav{z-index:20;height:var(--nav-h);padding:0 var(--pad);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid var(--line);background:#ffffffeb;justify-content:space-between;align-items:center;display:flex;position:sticky;top:0}.ck-back,.ck-nav-spacer{color:var(--ink-2);flex:1 0 0;font-size:.84rem;font-weight:700}.ck{width:100%;max-width:560px;padding:0 var(--pad);flex:1;margin:0 auto}.ck-steps{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);gap:10px;padding:18px 0 0;font-size:.58rem;display:flex}.ck-steps i{font-style:normal}.ck-steps .on{color:var(--accent)}.stage-ck{text-align:center;padding:28px 0 56px;transition:opacity .4s,transform .4s}.stage-ck[hidden]{display:none}.stage-ck.out{opacity:0;transform:translateY(-14px)}.stage-ck.pre{opacity:0;transform:translateY(16px)}.stage-ck h1{font-family:var(--font-display);letter-spacing:-.035em;text-wrap:balance;margin-top:18px;font-size:clamp(1.7rem,7.4vw,2.3rem);font-weight:800;line-height:1.04}.stage-wide{text-align:left;max-width:none}.ck-stamp{width:84px;height:84px;margin:0 auto}.ck-chip{font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-2);margin-top:12px;font-size:.6rem}.ck-progress{background:var(--surface-2);border-radius:999px;width:min(280px,72%);height:6px;margin:34px auto 0;overflow:hidden}.ck-progress i{background:var(--accent);border-radius:999px;width:0;height:100%;transition:width 2.9s linear;display:block}.ck-status{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);margin-top:12px;font-size:.58rem}.ck-lead{max-width:400px;color:var(--ink-2);margin:14px auto 0;font-size:.98rem;line-height:1.5}.ck-lead strong{color:var(--ink);font-weight:700}.ck-form{text-align:left;width:100%;max-width:400px;margin:24px auto 0}.ck-form .field-label{margin:0 0 6px}.ck-form input{border:2px solid var(--line-strong);appearance:none;background:#fff;border-radius:14px;outline:none;width:100%;min-height:52px;padding:10px 16px;font-size:1.05rem;font-weight:600}.ck-form input:focus{border-color:var(--accent)}.ck-form input::-webkit-search-cancel-button{display:none}.ck-form .field-label:not(:first-child){margin-top:16px}.ck-form .field-hint{margin:8px 0 0}.ck-form .field-hint.err{color:#c62828}.ck-form .btn{width:100%;margin-top:20px}.ck-next-hint{text-align:center;color:var(--ink-3);margin-top:10px;font-size:.78rem}.ck-bag{width:150px;margin:18px auto 0}.ck-sub{margin-top:20px}.ck-sub-name{color:var(--ink-2);font-size:.95rem;font-weight:700}.ck-sub-name span{color:var(--ink)}.ck-sub-price{font-family:var(--font-display);letter-spacing:-.03em;margin-top:4px;font-size:2rem;font-weight:800;line-height:1.05}.ck-sub-per{font-family:var(--font-body);letter-spacing:0;color:var(--ink-3);font-size:.95rem;font-weight:600}.ck-sub-note{color:var(--ink-3);margin-top:6px;font-size:.84rem}.ck-pay-grid{text-align:left;width:100%;max-width:560px;margin:24px auto 0}.ck-pay-panel{border:1.5px solid var(--line);background:#fff;border-radius:18px;min-height:260px;padding:18px;position:relative;box-shadow:0 12px 30px -24px #0f101380}.ck-pay-btn{width:100%;margin-top:20px}.stripe-wm{aspect-ratio:360/150;vertical-align:-.26em;width:auto;height:1.15em;display:inline-block}#payForm{transition:opacity .4s}#payForm.pay-hidden{opacity:0;pointer-events:none}.ck-express{margin-bottom:20px}.ck-linkauth{margin-bottom:4px}.ck-mini-label{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);margin:20px 0 8px;font-size:.58rem}.ck-mini-label:first-child,.ck-express+.ck-mini-label{margin-top:0}.ck-divider{font-family:var(--font-mono);letter-spacing:.1em;color:var(--ink-3);align-items:center;gap:12px;margin-top:18px;font-size:.54rem;display:flex}.ck-divider i{background:var(--line);flex:1;height:1px}.ck-pay-loading{text-align:center;border-radius:inherit;flex-direction:column;justify-content:center;align-items:center;gap:16px;padding:0 18px;display:flex;position:absolute;inset:0}.ck-pay-loading[hidden]{display:none}.stripe-wm-loading{height:28px}.ck-spinner{border:3px solid var(--line);border-top-color:#635bff;border-radius:50%;width:26px;height:26px;animation:1s linear infinite ckspin}@keyframes ckspin{to{transform:rotate(360deg)}}.ck-pay-retry{width:auto;margin-top:4px}.ck-pay-err{color:#b3261e;background:#fdecea;border-radius:12px;margin-top:12px;padding:12px 14px;font-size:.86rem}.ck-cert{width:100%;margin-top:24px}.ck-done-actions{flex-direction:column;gap:10px;margin-top:22px;display:flex}.ck-done-actions .btn{width:100%;margin:0}.ck-code{border:2px dashed var(--accent);border-radius:14px;flex-direction:column;gap:2px;margin-top:18px;padding:12px 20px;display:inline-flex}.ck-code[hidden]{display:none}.ck-code span{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--accent);font-size:.54rem}.ck-code b{font-family:var(--font-display);letter-spacing:.05em;font-size:1.3rem;font-weight:700}.ck-foot{padding:16px var(--pad);border-top:1px solid var(--line);font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);flex-wrap:wrap;justify-content:space-between;gap:8px 16px;font-size:.54rem;display:flex}.ck-preview-note{color:var(--ink-3);margin-top:16px;font-size:.8rem}.claim-head{text-align:center;max-width:560px;margin:0 auto}.claim-head h1{font-family:var(--font-display);letter-spacing:-.035em;margin-top:12px;font-size:clamp(1.7rem,7.4vw,2.3rem);font-weight:800;line-height:1.04}.claim-lab{margin:18px calc(var(--pad) * -1) 0}.claim-lab .studio{padding-top:0}.ck-code-input{text-transform:uppercase;letter-spacing:.12em;font-family:var(--font-mono)}.legal{width:100%;max-width:720px;padding:28px var(--pad) 80px;flex:1;margin:0 auto}.legal h1{font-family:var(--font-display);letter-spacing:-.03em;margin-top:10px;font-size:clamp(1.7rem,7vw,2.4rem);font-weight:800;line-height:1.05}.legal-updated{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);margin:12px 0 28px;font-size:.58rem}.legal h2{margin:28px 0 8px;font-size:1.05rem;font-weight:800}.legal p,.legal li{color:var(--ink-2);font-size:.95rem;line-height:1.65}.legal p{margin:0 0 12px}.legal ul{margin:0 0 12px;padding-left:20px}.legal li{margin-bottom:6px}.legal li strong{color:var(--ink);font-weight:700}.legal a{text-underline-offset:3px;text-decoration:underline}.reveal{opacity:0;transition:opacity .55s ease, transform .55s var(--ease);transform:translateY(12px)}.reveal.in{opacity:1;transform:none}@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transition:none;transform:none}.spin,.ck-spinner{animation:none!important}*{transition-duration:.01ms!important;animation-duration:.01ms!important}}@media print{.ck-nav,.ck-foot,.ck-steps,.ck-done-actions,.ck-preview-note,.ck-stamp,.ck-lead,.ck-code,.stage-ck h1,.bar,.dock{display:none!important}body{background:#fff;padding:0}.stage-ck{padding:0}.ck-cert{max-width:640px;margin:0 auto}.cert-paper{box-shadow:none}.stamp .spin{animation:none}}@media (width>=640px){:root{--pad:28px}.origins{grid-template-columns:repeat(3,minmax(0,1fr))}.trust{grid-template-columns:repeat(3,1fr)}.gift-buy{flex-direction:row;justify-content:space-between;align-items:center}.ck-done-actions{flex-direction:row;justify-content:center}.ck-done-actions .btn{width:auto}}@media (width>=900px){:root{--pad:40px}.nav{padding:0 var(--pad)}.nav-links{display:flex}.burger{display:none}.wordmark{font-size:1.15rem}.intro{padding:56px var(--pad) 22px;text-align:center}.intro-beans{width:240px;top:30px;right:max(24px,50% - 560px)}.intro .h1{max-width:14em;margin-left:auto;margin-right:auto;font-size:clamp(2.8rem,5.2vw,4.2rem)}.intro .lead{margin:16px auto 0;font-size:1.15rem}.studio{max-width:var(--wide);padding:10px var(--pad) 40px;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:start;gap:28px;margin:0 auto;display:grid}.studio-preview{top:calc(var(--nav-h) + 16px);position:sticky}.preview-stage{height:480px}.preview-stage yr-bag{aspect-ratio:auto;width:256px;max-width:none;height:auto}.steps{margin-top:0}.step{padding:22px}.guide-actions{flex-flow:wrap;align-items:center}.guide-answers{grid-template-columns:repeat(2,minmax(0,1fr))}.dock{display:none}.sec{padding:64px var(--pad)}.sec-head{margin-bottom:26px}.h2{font-size:clamp(1.9rem,3vw,2.5rem)}.lots .sec-head,.reviews .sec-head{max-width:var(--wide);margin-left:auto;margin-right:auto}.plan{flex:none}.plans-foot{max-width:var(--wide);margin:0 auto}.trust{max-width:var(--wide);padding:30px var(--pad);margin:0 auto}.how-list{grid-template-columns:repeat(4,minmax(0,1fr))}.how-step{grid-template-columns:1fr;padding:22px 20px}.fresh-grid{text-align:left;max-width:var(--wide);grid-template-columns:1fr 1fr;align-items:center;gap:40px;margin:0 auto;display:grid}.fresh .lead,.fresh .stamp{margin-left:0}.fresh-photo{margin-top:0}.gift-grid{max-width:var(--wide);grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:48px;margin:0 auto;display:grid}.gift-photo{max-width:var(--wide);margin:0 auto 32px}.gift-photo img,.how-photo img{aspect-ratio:21/9}.gift yr-certificate{margin-top:0}.lot-row{max-width:var(--wide);padding:26px var(--pad) 12px;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;margin:0 auto;display:grid;overflow:visible}.lot{aspect-ratio:3/4.4;border-radius:24px;flex:none;animation:none}.lot-name{font-size:1.3rem}.lot-story{opacity:0;max-height:0;transition:max-height .5s var(--ease), opacity .4s;display:block;overflow:hidden}.lot:hover .lot-story{opacity:.88;max-height:140px}.review-row{max-width:var(--wide);grid-template-columns:repeat(4,minmax(0,1fr));margin:0 auto;display:grid;overflow:visible}.review{flex:none}.faq-inner{max-width:720px;margin:0 auto}.footer-inner{max-width:var(--wide);margin:0 auto}.footer-cols{grid-template-columns:1fr 1fr 1fr}.bar{border:1px solid var(--line);border-radius:999px;width:min(560px,100% - 40px);padding:10px 10px 10px 22px;bottom:18px;left:50%;right:auto;transform:translate(-50%);box-shadow:0 24px 50px -24px #0f101373}html.typing .bar,html.menu-open .bar{transform:translate(-50%,160%)}.ck-nav{padding:0 var(--pad)}.stage-pay{max-width:640px;margin:0 auto}.step-expand span{display:inline}.focus-top{height:64px;padding:0 22px 0 14px}.focus-steps{gap:18px}.focus-steps button i{width:44px}.focus-brand{max-width:240px;font-size:.9rem;display:block}.focus-main{display:contents}.focus-strip{width:100%;max-width:760px;padding:0 var(--pad) 12px;margin:0 auto}.focus-body .look-stage{height:min(48dvh,480px)}.fs-reviews{grid-template-columns:repeat(2,minmax(0,1fr))}.focus-body .label-zoom{height:240px}.focus-body .label-zoom yr-bag{width:120%}.focus-body .roast-tiles{grid-template-columns:repeat(3,minmax(0,1fr))}.focus-body .roast-tiles .tile{aspect-ratio:4/5}.focus-body .grind-tiles{grid-template-columns:repeat(3,minmax(0,1fr))}.focus-body .grind-tiles .tile,.focus-body .grind-tiles .tile:last-child{aspect-ratio:4/3;grid-column:auto}.focus-body .step{max-width:760px;padding:14px var(--pad) 30px;margin:0 auto}.focus-nav{justify-content:center}.focus-nav .btn{flex:0 260px}.sheet{opacity:0;width:min(680px,100% - 40px);max-height:86vh;transition:transform .3s var(--ease), opacity .3s ease;border-radius:24px;margin:auto;inset:0;transform:translateY(24px)}.sheet.in{opacity:1;transform:none}.sheet-panel{max-height:86vh}.sheet-handle{display:none}.sheet-photo{margin-top:0}.sheet-photo img{aspect-ratio:21/9}.claim-lab{margin:24px 0 0}}
