:root,[data-theme=ember]{--surface-bg:#100b08;--surface-sunken:#0a0705;--surface-panel:#1c1410;--surface-raised:#251a14;--surface-field:#241a11;--surface-inverse:#fff4e5;--ink-inverse:#21150f;--scrim:#080503d1;--head-bg:#100b08e8;--ink:#fff6e9;--ink-muted:#b9a394;--ink-faint:#8a7365;--ink-disabled:#6f5a4d;--line:#3a2b22;--line-strong:#553d30;--line-hair:#fff4e412;--accent:#ff7a2f;--accent-hover:#ff9354;--accent-active:#e9640f;--accent-soft:#ff7a2f24;--accent-line:#ff7a2f73;--on-accent:#1a0d05;--accent-2:#f5c451;--accent-2-soft:#f5c45124;--on-accent-2:#1a0d05;--success:#8fca6a;--success-soft:#8fca6a24;--warning:#f5c451;--warning-soft:#f5c45124;--danger:#ff8172;--danger-strong:#e5412c;--danger-soft:#ff817221;--on-danger:#1a0605;--focus-ring:#f5c451;--flavor-floral:#e6a8c8;--flavor-chocolate:#b98153;--flavor-citrus:#f2b32e;--flavor-nutty:#d8b48a;--flavor-berry:#e06a63;--flavor-herbal:#8fbb8a;--on-flavor:#1a0d05;--wash-warm:radial-gradient(120% 100% at 50% 0%, #ff7a2f1a 0%, transparent 62%);--glow-inner:inset 0 1px 0 #fff4e40f;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}[data-theme=porcelain]{--surface-bg:#f3f0e8;--surface-sunken:#e7e2d5;--surface-panel:#fffdf6;--surface-raised:#fffdf6;--surface-field:#f8f5ed;--surface-inverse:#1c1410;--ink-inverse:#fff6e9;--scrim:#1c141099;--head-bg:#f3f0e8eb;--ink:#22160f;--ink-muted:#6b5a4e;--ink-faint:#8d7c6f;--ink-disabled:#a1968b;--line:#ddd5c6;--line-strong:#bdb2a0;--line-hair:#22160f14;--accent:#b4431c;--accent-hover:#9c3714;--accent-active:#872e0f;--accent-soft:#b4431c1a;--accent-line:#b4431c73;--on-accent:#fff6e9;--accent-2:#8a5a12;--accent-2-soft:#f5c45138;--on-accent-2:#fff6e9;--success:#2f6b3c;--success-soft:#2f6b3c1a;--warning:#8a5a12;--warning-soft:#f5c45138;--danger:#a8281c;--danger-strong:#a8281c;--danger-soft:#a8281c17;--on-danger:#fff6e9;--focus-ring:#b4431c;--flavor-floral:#c8688f;--flavor-chocolate:#6b4326;--flavor-citrus:#8a5a12;--flavor-nutty:#8a6a45;--flavor-berry:#a83240;--flavor-herbal:#3d6b45;--on-flavor:#fff6e9;--wash-warm:radial-gradient(120% 100% at 50% 0%, #b4431c0f 0%, transparent 62%);--glow-inner:inset 0 1px 0 #ffffffb3;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:light){:root:not([data-theme]){--surface-bg:#f3f0e8;--surface-sunken:#e7e2d5;--surface-panel:#fffdf6;--surface-raised:#fffdf6;--surface-field:#f8f5ed;--surface-inverse:#1c1410;--ink-inverse:#fff6e9;--scrim:#1c141099;--head-bg:#f3f0e8eb;--ink:#22160f;--ink-muted:#6b5a4e;--ink-faint:#8d7c6f;--ink-disabled:#a1968b;--line:#ddd5c6;--line-strong:#bdb2a0;--line-hair:#22160f14;--accent:#b4431c;--accent-hover:#9c3714;--accent-active:#872e0f;--accent-soft:#b4431c1a;--accent-line:#b4431c73;--on-accent:#fff6e9;--accent-2:#8a5a12;--accent-2-soft:#f5c45138;--on-accent-2:#fff6e9;--success:#2f6b3c;--success-soft:#2f6b3c1a;--warning:#8a5a12;--warning-soft:#f5c45138;--danger:#a8281c;--danger-strong:#a8281c;--danger-soft:#a8281c17;--on-danger:#fff6e9;--focus-ring:#b4431c;--flavor-floral:#c8688f;--flavor-chocolate:#6b4326;--flavor-citrus:#8a5a12;--flavor-nutty:#8a6a45;--flavor-berry:#a83240;--flavor-herbal:#3d6b45;--on-flavor:#fff6e9;--wash-warm:radial-gradient(120% 100% at 50% 0%, #b4431c0f 0%, transparent 62%);--glow-inner:inset 0 1px 0 #ffffffb3;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}}:root{--photo-scrim:#080503c7;--ink-on-photo:#fff6e9;--accent-on-photo:#f5c451;--roast-light:#c98b52;--roast-medium:#8f5228;--roast-medium-dark:#5e3218;--roast-dark:#331a0d;--text-display:clamp(3.25rem, 9vw, 7.5rem);--text-h1:clamp(2.5rem, 6vw, 4.75rem);--text-h2:clamp(2rem, 4.4vw, 3.25rem);--text-h3:clamp(1.375rem, 2.2vw, 1.75rem);--text-h4:1.125rem;--text-body-lg:1.125rem;--text-body:1rem;--text-body-sm:.875rem;--text-caption:.8125rem;--text-label:.6875rem;--text-mono-lg:1.5rem;--text-mono:1rem;--text-mono-sm:.8125rem;--lh-display:.86;--lh-heading:1.04;--lh-snug:1.3;--lh-body:1.65;--lh-loose:1.85;--fw-regular:400;--fw-medium:500;--fw-semibold:600;--fw-bold:700;--fw-black:400;--ls-display:-.055em;--ls-heading:-.035em;--ls-tight:-.015em;--ls-normal:0;--ls-label:.16em;--ls-mono:.02em;--measure-article:68ch;--measure-copy:56ch;--space-0:0;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.5rem;--space-6:2rem;--space-7:2.5rem;--space-8:3rem;--space-9:4rem;--space-10:5rem;--space-11:7rem;--space-12:9rem;--gutter:1.25rem;--section-y:3.5rem;--content-max:90rem;--layout-gap:1rem;--tap-min:44px}@media (width>=600px){:root{--gutter:2rem;--section-y:5rem;--layout-gap:1.25rem}}@media (width>=900px){:root{--gutter:3rem;--section-y:6.5rem;--layout-gap:1.5rem}}@media (width>=1200px){:root{--gutter:4rem;--section-y:8.5rem}}:root{--radius-xs:4px;--radius-sm:8px;--radius-md:14px;--radius-lg:20px;--radius-xl:28px;--radius-2xl:40px;--radius-pill:999px}:root,[data-theme=ember]{--shadow-0:none;--shadow-1:0 1px 0 #00000080, var(--glow-inner);--shadow-2:0 8px 24px #00000073, var(--glow-inner);--shadow-3:0 18px 48px #0000008c, var(--glow-inner);--shadow-modal:0 40px 90px #000000b3, var(--glow-inner)}[data-theme=porcelain]{--shadow-0:none;--shadow-1:0 1px 2px #34281e0f;--shadow-2:0 10px 28px #34281e17;--shadow-3:0 20px 48px #34281e1f;--shadow-modal:0 40px 90px #34281e38}@media (prefers-color-scheme:light){:root:not([data-theme]){--shadow-1:0 1px 2px #34281e0f;--shadow-2:0 10px 28px #34281e17;--shadow-3:0 20px 48px #34281e1f;--shadow-modal:0 40px 90px #34281e38}}:root{--dur-instant:80ms;--dur-fast:.16s;--dur-base:.26s;--dur-slow:.42s;--dur-deliberate:.9s;--ease-standard:cubic-bezier(.2, 0, .2, 1);--ease-entrance:cubic-bezier(.16, .84, .28, 1);--ease-exit:cubic-bezier(.4, 0, 1, 1);--ease-spring:cubic-bezier(.22, 1.4, .36, 1);--ease-brand:cubic-bezier(.62, .05, .16, 1);--stagger:70ms;--reveal-distance:28px}@media (prefers-reduced-motion:reduce){:root{--dur-instant:0s;--dur-fast:0s;--dur-base:0s;--dur-slow:0s;--dur-deliberate:0s;--stagger:0s;--reveal-distance:0px}}:root{--font-sans:"Archivo", system-ui, -apple-system, "Segoe UI", Arial, sans-serif;--font-display:"Archivo Black", "Archivo", system-ui, Arial, sans-serif;--font-mono:"JetBrains Mono", ui-monospace, "SFMono-Regular", "Courier New", monospace}@font-face{font-family:Archivo;src:url(/fonts/archivo-variable-latin.woff2)format("woff2-variations");font-weight:100 900;font-style:normal;font-display:swap}@font-face{font-family:Archivo Black;src:url(/fonts/archivo-black-latin.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:JetBrains Mono;src:url(/fonts/jetbrains-mono-variable-latin.woff2)format("woff2-variations");font-weight:100 800;font-style:normal;font-display:swap}:root{--grain-opacity:.055;--grain-url:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.55'/%3E%3C/svg%3E")}[data-theme=porcelain]{--grain-opacity:.075}@media (prefers-color-scheme:light){:root:not([data-theme]){--grain-opacity:.075}}.rp-grain{pointer-events:none;z-index:1;opacity:var(--grain-opacity);background:var(--grain-url);mix-blend-mode:overlay;position:absolute;inset:0}.rp-grain--fixed{z-index:-1;position:fixed}.rp-hairline-wash{pointer-events:none;background-image:linear-gradient(var(--line-hair) 1px, transparent 1px), linear-gradient(90deg, var(--line-hair) 1px, transparent 1px);opacity:.6;background-size:64px 64px;position:absolute;inset:0}.rp-wash{pointer-events:none;background:var(--wash-warm);position:absolute;inset:0}.rp-ring{pointer-events:none;border:2px solid var(--accent);opacity:.09;border-radius:50%;position:absolute}.rp-reveal{opacity:0;transform:translateY(var(--reveal-distance));transition:opacity var(--dur-slow) var(--ease-entrance), transform var(--dur-slow) var(--ease-entrance);transition-delay:calc(var(--i,0) * var(--stagger));will-change:opacity, transform}.rp-reveal.is-in{opacity:1;transform:none}.rp-settle{animation:rp-settle var(--dur-deliberate) var(--ease-brand) both}@keyframes rp-settle{0%{opacity:0;transform:translateY(22px)scale(.985)}to{opacity:1;transform:none}}@keyframes rp-draw{0%{stroke-dashoffset:520px}to{stroke-dashoffset:0}}.rp-draw path{stroke-dasharray:520;animation:rp-draw var(--dur-deliberate) var(--ease-brand) both}@keyframes rp-bump{0%{transform:scale(1)}38%{transform:scale(1.32)}to{transform:scale(1)}}.rp-bump{animation:rp-bump var(--dur-slow) var(--ease-spring)}@keyframes rp-roll-up{0%{opacity:0;transform:translateY(60%)}to{opacity:1;transform:none}}.rp-roll{animation:rp-roll-up var(--dur-fast) var(--ease-entrance)}@keyframes rp-marquee{to{transform:translate(-50%)}}.rp-marquee-track{animation:26s linear infinite rp-marquee}@keyframes rp-steam{0%{opacity:0;transform:translateY(0)scaleX(1)}22%{opacity:.5}to{opacity:0;transform:translateY(-72px)scaleX(1.7)}}.rp-steam{animation:rp-steam 5.5s var(--ease-standard) infinite}@keyframes rp-bloom{0%{box-shadow:0 0 0 0 var(--accent-soft)}to{box-shadow:0 0 0 6px #0000}}:focus-visible{animation:rp-bloom var(--dur-base) var(--ease-exit)}@media (prefers-reduced-motion:reduce){.rp-reveal{opacity:1!important;transition:none!important;transform:none!important}.rp-settle,.rp-draw path,.rp-bump,.rp-roll,.rp-marquee-track,.rp-steam,:focus-visible{animation:none!important}.rp-draw path{stroke-dasharray:none!important;stroke-dashoffset:0!important}}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--surface-bg);color:var(--ink);font-family:var(--font-sans);font-size:var(--text-body);line-height:var(--lh-body);-webkit-font-smoothing:antialiased;margin:0;overflow-x:hidden}body:before{content:"";pointer-events:none;z-index:-1;opacity:var(--grain-opacity);background:var(--grain-url);mix-blend-mode:overlay;position:fixed;inset:0}img{max-width:100%;display:block}button,input,textarea,select{font:inherit;color:inherit}a{color:inherit;text-decoration:none}h1,h2,h3,h4{font-family:var(--font-display);font-weight:var(--fw-black);letter-spacing:var(--ls-heading);line-height:var(--lh-heading);margin:0}p{margin:0}:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px;border-radius:var(--radius-xs)}::selection{background:var(--accent);color:var(--on-accent)}.mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums;letter-spacing:var(--ls-mono)}.label-mono{font-family:var(--font-mono);font-size:var(--text-label);font-weight:var(--fw-medium);text-transform:uppercase;letter-spacing:var(--ls-label);color:var(--ink-muted);line-height:1.5}.label-mono--accent,.accent{color:var(--accent)}.muted{color:var(--ink-muted)}.section{max-width:var(--content-max);padding:var(--section-y) var(--gutter);margin:0 auto}.section--tight{padding-top:0}.section-head{justify-content:space-between;align-items:flex-end;gap:var(--space-6);margin-bottom:var(--space-7);flex-wrap:wrap;display:flex}.section-head__title{gap:var(--space-3);flex-direction:column;max-width:22ch;display:flex}.section-head h1,.section-head h2{font-size:var(--text-h2);letter-spacing:var(--ls-heading);text-wrap:balance;line-height:1.02}.section-head p{max-width:46ch;color:var(--ink-muted);font-size:var(--text-body);line-height:var(--lh-body);margin:0}.page-head{align-items:flex-start;gap:var(--space-4);max-width:58ch;margin-bottom:var(--space-8);flex-direction:column;display:flex}.page-head h1{font-size:var(--text-h1);letter-spacing:var(--ls-display);text-wrap:balance;line-height:.94}.page-head p{color:var(--ink-muted);font-size:var(--text-body-lg);max-width:52ch;line-height:1.6}.page-title{font-size:var(--text-h1);letter-spacing:var(--ls-display);margin:var(--space-4) 0 var(--space-3);line-height:.94}.rule-head{align-items:center;gap:var(--space-4);margin-bottom:var(--space-5);display:flex}.rule-head:after{content:"";background:var(--line);flex:1;height:1px}.rule-head h2{font-size:var(--text-h3);letter-spacing:var(--ls-tight)}.panel-head{align-items:center;gap:var(--space-3);margin-bottom:var(--space-4);display:flex}.panel-head:after{content:"";background:var(--line);flex:1;height:1px}.panel{background:var(--surface-panel);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-1);padding:var(--space-5)}.panel-soft{background:var(--surface-panel);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-1);padding:var(--space-6)}.stack{gap:var(--stack-gap,var(--space-4));flex-direction:column;display:flex}.grid{grid-template-columns:repeat(var(--grid-columns,3), minmax(0, 1fr));gap:var(--grid-gap,var(--layout-gap));display:grid}@media (width<=620px){.grid{grid-template-columns:minmax(0,1fr)}}.btn-row{gap:var(--space-3);flex-wrap:wrap;align-items:center;display:flex}.btn-row--center{margin-top:var(--space-7);justify-content:center}.btn{justify-content:center;align-items:center;gap:var(--space-2);min-height:var(--tap-min);padding:0 var(--space-5);border:1px solid var(--line);border-radius:var(--radius-md);color:var(--ink);font-size:.8125rem;font-weight:var(--fw-semibold);text-transform:uppercase;letter-spacing:.09em;cursor:pointer;transition:background var(--dur-fast) var(--ease-standard), border-color var(--dur-fast) var(--ease-standard), transform var(--dur-fast) var(--ease-standard);background:0 0;line-height:1;display:inline-flex}.btn:hover{border-color:var(--accent-line);background:var(--accent-soft);transform:translateY(-1px)}.btn:active{transform:scale(.985)}.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.btn.primary:hover{background:var(--accent-hover);border-color:var(--accent-hover)}.btn.primary:active{background:var(--accent-active);border-color:var(--accent-active)}.btn.wide{width:100%}.btn.lg{min-height:54px;padding:0 var(--space-7);font-size:.875rem}.btn.is-added{background:var(--success-soft);border-color:var(--success);color:var(--ink)}.btn[disabled]{opacity:.45;cursor:not-allowed;transform:none}.masthead{z-index:50;border-bottom:1px solid var(--line);background:var(--head-bg);-webkit-backdrop-filter:blur(16px);position:sticky;top:0}.masthead__inner{max-width:var(--content-max);padding:0 var(--gutter);align-items:center;gap:var(--space-5);min-height:76px;margin:0 auto;display:flex}.logo{color:var(--ink);flex:none;align-items:center;display:inline-flex}.logo:hover{color:var(--accent)}.masthead nav{gap:var(--space-6);margin-left:auto;display:flex}.masthead nav a{min-height:var(--tap-min);font-size:.75rem;font-weight:var(--fw-semibold);text-transform:uppercase;letter-spacing:.13em;color:var(--ink-muted);transition:color var(--dur-fast) var(--ease-standard);border-bottom:2px solid #0000;align-items:center;display:inline-flex}.masthead nav a:hover,.masthead nav a.is-active{color:var(--ink);border-bottom-color:var(--accent)}.head-actions{align-items:center;gap:var(--space-2);flex:none;display:flex}.head-actions form{display:flex}.icon-btn{justify-content:center;align-items:center;gap:var(--space-2);min-width:var(--tap-min);min-height:var(--tap-min);padding:0 var(--space-3);border-radius:var(--radius-md);color:var(--ink-muted);cursor:pointer;transition:color var(--dur-fast) var(--ease-standard), background var(--dur-fast) var(--ease-standard), border-color var(--dur-fast) var(--ease-standard);background:0 0;border:1px solid #0000;display:inline-flex;position:relative}.icon-btn:hover{color:var(--ink);background:var(--accent-soft);border-color:var(--accent-line)}.cart-count{border-radius:var(--radius-pill);background:var(--accent);min-width:18px;height:18px;color:var(--on-accent);font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:.625rem;font-weight:var(--fw-bold);justify-content:center;align-items:center;padding:0 5px;line-height:1;display:inline-flex;position:absolute;top:4px;right:2px}.cart-count.is-empty{color:var(--ink-faint);background:0 0}.account-chip__label{font-family:var(--font-mono);font-size:var(--text-label);text-transform:uppercase;letter-spacing:var(--ls-label);white-space:nowrap;text-overflow:ellipsis;max-width:16ch;overflow:hidden}.nav-toggle{display:none}@media (width<=900px){.masthead__inner{gap:var(--space-3)}.nav-toggle{min-height:var(--tap-min);padding:0 var(--space-3);border:1px solid var(--line);border-radius:var(--radius-md);color:var(--ink);font-size:.75rem;font-weight:var(--fw-semibold);text-transform:uppercase;letter-spacing:.13em;cursor:pointer;background:0 0;justify-content:center;align-items:center;margin-left:auto;display:inline-flex}.masthead nav{gap:var(--space-2);padding:var(--space-4) var(--gutter) var(--space-5);background:var(--head-bg);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid var(--line);flex-direction:column;margin-left:0;display:none;position:absolute;top:100%;left:0;right:0}.masthead nav.is-open{display:flex}.masthead nav a{border-bottom:none}.account-chip__label{display:none}}@media (width<=599px){.masthead__inner{gap:var(--space-2)}.logo svg{height:26px}.nav-toggle,.icon-btn{padding:0 var(--space-2)}}@media (width<=379px){.logo{width:30px;overflow:hidden}}footer.footer{border-top:1px solid var(--line);background:var(--surface-sunken);position:relative;overflow:hidden}.footer__top{z-index:1;max-width:var(--content-max);padding:var(--space-9) var(--gutter) var(--space-6);gap:var(--space-7);grid-template-columns:minmax(min(220px,100%),1.4fr) repeat(auto-fit,minmax(min(150px,100%),1fr));margin:0 auto;display:grid;position:relative}.footer__brand{gap:var(--space-4);color:var(--ink);flex-direction:column;display:flex}.footer__brand p,.footer__col p{color:var(--ink-muted);font-size:var(--text-body-sm);max-width:30ch;line-height:1.6}.footer__col{gap:var(--space-2);flex-direction:column;display:flex}.footer__col a{min-height:30px;color:var(--ink-muted);font-size:var(--text-body-sm);transition:color var(--dur-fast) var(--ease-standard);align-items:center;display:inline-flex}.footer__col a:hover{color:var(--accent)}.footer__bottom{z-index:1;border-top:1px solid var(--line);position:relative}.footer__bottom>div{max-width:var(--content-max);padding:var(--space-4) var(--gutter);justify-content:space-between;gap:var(--space-4);flex-wrap:wrap;margin:0 auto;display:flex}@media (width<=620px){.footer__top{gap:var(--space-6);grid-template-columns:minmax(0,1fr)}}.hero{border-bottom:1px solid var(--line);position:relative;overflow:hidden}.hero__inner{max-width:var(--content-max);grid-template-columns:repeat(auto-fit,minmax(min(340px,100%),1fr));align-items:stretch;min-height:min(760px,78vh);margin:0 auto;display:grid;position:relative}.hero-copy{justify-content:center;gap:var(--space-5);padding:var(--space-10) var(--gutter);border-right:1px solid var(--line);flex-direction:column;display:flex}.hero-copy h1{font-size:var(--text-display);letter-spacing:var(--ls-display);line-height:var(--lh-display);text-transform:uppercase}.hero-copy p{max-width:var(--measure-copy);color:var(--ink-muted);font-size:var(--text-body-lg);line-height:1.6}.hero-media{background:var(--surface-sunken);min-height:380px;position:relative;overflow:hidden}.hero-media img{object-fit:cover;filter:saturate(.92);width:100%;height:112%;position:absolute;inset:-6% 0}.hero-media__scrim{pointer-events:none;background:linear-gradient(100deg, var(--surface-bg) 0%, transparent 40%);position:absolute;inset:0}.photo-chip{left:var(--space-5);bottom:var(--space-5);padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);background:var(--photo-scrim);color:var(--ink-on-photo);z-index:2;position:absolute}@media (width<=900px){.hero-copy{border-right:none;border-bottom:1px solid var(--line);padding:var(--space-9) var(--gutter)}}.marquee{background:var(--accent);color:var(--on-accent);border-top:1px solid var(--accent);border-bottom:1px solid var(--accent);overflow:hidden}.marquee-track{width:max-content;display:flex}.marquee-track span{padding:var(--space-3) var(--space-6);white-space:nowrap;font-family:var(--font-mono);font-size:var(--text-label);font-weight:var(--fw-semibold);text-transform:uppercase;letter-spacing:var(--ls-label)}.stat-band{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--surface-panel);position:relative;overflow:hidden}.stat-band__inner{z-index:1;max-width:var(--content-max);padding:var(--space-9) var(--gutter);gap:var(--space-6);grid-template-columns:repeat(auto-fit,minmax(min(180px,100%),1fr));margin:0 auto;display:grid;position:relative}.stat{gap:var(--space-2);flex-direction:column;display:flex;position:relative}@media (width<=599px){.stat+.stat{padding-top:var(--space-5);border-top:1px solid var(--line)}}@media (width>=900px){.stat+.stat{padding-left:var(--space-6);border-left:1px solid var(--line)}}.stat b{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:clamp(2.5rem,4.4vw,3.5rem);font-weight:var(--fw-bold);letter-spacing:-.03em;line-height:1}.stat .label-mono{letter-spacing:.1em;max-width:18ch}.promise{background:var(--surface-inverse);color:var(--ink-inverse);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.promise__inner{max-width:var(--content-max);grid-template-columns:repeat(auto-fit,minmax(min(320px,100%),1fr));align-items:center;margin:0 auto;display:grid}.promise__media{min-height:420px;position:relative;overflow:hidden}.promise__media img{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.promise__copy{gap:var(--space-5);padding:var(--space-10) var(--space-8);flex-direction:column;display:flex}.promise__copy h2{font-size:var(--text-h2);max-width:18ch;line-height:1.02}.promise__copy p{max-width:46ch;font-size:var(--text-body);color:color-mix(in srgb, var(--ink-inverse) 78%, var(--surface-inverse));line-height:1.7}.promise .label-mono{color:color-mix(in srgb, var(--ink-inverse) 62%, var(--surface-inverse))}.promise__facts{gap:var(--space-6);flex-wrap:wrap;display:flex}.promise__facts div{gap:var(--space-1);flex-direction:column;display:flex}.promise__facts b{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:1.0625rem;font-weight:var(--fw-semibold)}.promise .btn.primary{background:var(--ink-inverse);border-color:var(--ink-inverse);color:var(--surface-inverse)}.promise .btn.primary:hover{background:color-mix(in srgb, var(--ink-inverse) 86%, var(--surface-inverse));border-color:color-mix(in srgb, var(--ink-inverse) 86%, var(--surface-inverse))}@media (width<=900px){.promise__media{min-height:260px}.promise__copy{padding:var(--space-9) var(--gutter)}}.closing{border-top:1px solid var(--line);position:relative;overflow:hidden}.closing__inner{z-index:1;max-width:var(--content-max);padding:var(--space-11) var(--gutter);text-align:center;align-items:center;gap:var(--space-5);flex-direction:column;margin:0 auto;display:flex;position:relative}.closing__inner h2{font-size:var(--text-h1);letter-spacing:var(--ls-display);text-wrap:balance;max-width:20ch;line-height:.95}.closing__inner p{max-width:48ch;color:var(--ink-muted);font-size:var(--text-body-lg);line-height:1.6}.closing__mark{color:var(--accent)}.control-bar{justify-content:space-between;align-items:center;gap:var(--space-4);margin-bottom:var(--space-7);padding-bottom:var(--space-5);border-bottom:1px solid var(--line);flex-wrap:wrap;display:flex}.filters{gap:var(--space-2);flex-wrap:wrap;display:flex}.filter{align-items:center;gap:var(--space-2);min-height:var(--tap-min);padding:0 var(--space-4);border:1px solid var(--line);border-radius:var(--radius-pill);color:var(--ink-muted);font-size:var(--text-body-sm);font-weight:var(--fw-medium);transition:color var(--dur-fast) var(--ease-standard), background var(--dur-fast) var(--ease-standard), border-color var(--dur-fast) var(--ease-standard);display:inline-flex}.filter:hover{color:var(--ink);border-color:var(--line-strong)}.filter.is-active{background:var(--ink);border-color:var(--ink);color:var(--surface-bg)}.filter-count{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:var(--text-label);color:currentColor;opacity:.7}.control-form{gap:var(--space-2);flex-wrap:wrap;display:flex}.control-search,.control-sort{min-height:var(--tap-min);padding:0 var(--space-4);border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface-field);color:var(--ink);font-size:var(--text-body-sm);transition:border-color var(--dur-fast) var(--ease-standard)}.control-search::placeholder{color:var(--ink-faint)}.control-search:hover,.control-sort:hover{border-color:var(--line-strong)}.control-submit{min-height:var(--tap-min);padding:0 var(--space-4);border:1px solid var(--line);border-radius:var(--radius-md);color:var(--ink);font-size:var(--text-label);text-transform:uppercase;letter-spacing:var(--ls-label);cursor:pointer;transition:background var(--dur-fast) var(--ease-standard), border-color var(--dur-fast) var(--ease-standard);background:0 0}.control-submit:hover{border-color:var(--accent-line);background:var(--accent-soft)}.products{gap:var(--layout-gap);grid-template-columns:repeat(auto-fill,minmax(min(280px,100%),1fr));display:grid}.products-empty{color:var(--ink-muted);font-size:var(--text-body-lg);padding:var(--space-8) 0}.products-empty a{color:var(--accent);text-underline-offset:3px;text-decoration:underline}.product{background:var(--surface-panel);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-1);transition:transform var(--dur-base) var(--ease-entrance), box-shadow var(--dur-base) var(--ease-standard), border-color var(--dur-fast) var(--ease-standard);flex-direction:column;display:flex;position:relative;overflow:hidden}.product:hover{border-color:var(--line-strong);box-shadow:var(--shadow-2);transform:translateY(-4px)}.product-media{aspect-ratio:4/3;background:var(--surface-sunken);flex:none;position:relative;overflow:hidden}.product-media img{object-fit:cover;width:100%;height:100%;transition:transform var(--dur-slow) var(--ease-standard)}.product:hover .product-media img{transform:scale(1.05)}.index{top:var(--space-3);left:var(--space-3);padding:5px var(--space-2);border-radius:var(--radius-xs);background:var(--photo-scrim);color:var(--ink-on-photo);font-family:var(--font-mono);font-size:var(--text-label);letter-spacing:var(--ls-label);z-index:2;position:absolute}.product-info{gap:var(--space-3);padding:var(--space-5);flex-direction:column;flex:1;display:flex}.product-info small{font-family:var(--font-mono);font-size:var(--text-label);text-transform:uppercase;letter-spacing:var(--ls-label);color:var(--ink-muted)}.product-title{justify-content:space-between;align-items:flex-start;gap:var(--space-3);display:flex}.product-info h3{font-size:var(--text-h4);letter-spacing:var(--ls-tight);line-height:1.15}.product-link:after{content:"";z-index:3;position:absolute;inset:0}.product-link{color:var(--ink)}.product:hover .product-link{color:var(--accent)}.product:has(.product-link:focus-visible){outline:2px solid var(--focus-ring);outline-offset:2px}.product-link:focus-visible{outline:none}.product-tag{padding:4px var(--space-2);border:1px solid var(--line);border-radius:var(--radius-pill);font-family:var(--font-mono);font-size:var(--text-label);text-transform:uppercase;letter-spacing:var(--ls-label);color:var(--ink-muted);flex:none}.spec{gap:var(--space-2);flex-wrap:wrap;display:flex}.spec span{padding:4px var(--space-3);border:1px solid var(--line);border-radius:var(--radius-pill);font-size:var(--text-caption);color:var(--ink-muted);align-items:center;gap:6px;display:inline-flex}.spec span:before{content:"";background:var(--flavor-nutty);border-radius:50%;flex:none;width:7px;height:7px}.spec span:nth-child(6n+1):before{background:var(--flavor-floral)}.spec span:nth-child(6n+2):before{background:var(--flavor-citrus)}.spec span:nth-child(6n+3):before{background:var(--flavor-chocolate)}.spec span:nth-child(6n+4):before{background:var(--flavor-berry)}.spec span:nth-child(6n+5):before{background:var(--flavor-herbal)}.product-foot{justify-content:space-between;align-items:center;gap:var(--space-3);padding-top:var(--space-2);margin-top:auto;display:flex}.product-foot strong{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:var(--text-mono);font-weight:var(--fw-semibold)}.product-cta{font-size:var(--text-label);text-transform:uppercase;letter-spacing:var(--ls-label);color:var(--ink-faint);transition:color var(--dur-fast) var(--ease-standard)}.product:hover .product-cta{color:var(--accent)}.product-detail{gap:var(--space-8);grid-template-columns:1.05fr .95fr;align-items:start;display:grid}.product-gallery{gap:var(--space-3);flex-direction:column;display:flex;position:sticky;top:100px}.product-gallery-main{aspect-ratio:4/5;border:1px solid var(--line);border-radius:var(--radius-xl);background:var(--surface-sunken);position:relative;overflow:hidden}.product-gallery-main img{object-fit:cover;width:100%;height:100%}.product-gallery-thumbs{gap:var(--space-2);flex-wrap:wrap;display:flex}.product-gallery-thumb{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface-sunken);cursor:pointer;width:76px;height:76px;transition:border-color var(--dur-fast) var(--ease-standard);padding:0;overflow:hidden}.product-gallery-thumb img{object-fit:cover;width:100%;height:100%}.product-gallery-thumb:hover{border-color:var(--line-strong)}.product-gallery-thumb.is-active{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.gallery-strip{justify-content:space-between;gap:var(--space-4);padding-top:var(--space-2);display:flex}.product-detail-info{gap:var(--space-4);flex-direction:column;display:flex}.product-detail-info h1{font-size:var(--text-h1);letter-spacing:var(--ls-display);line-height:.94}.deck{color:var(--ink-muted);font-size:var(--text-body-lg);max-width:var(--measure-copy);line-height:1.6}.tags{gap:var(--space-2);flex-wrap:wrap;display:flex}.tag{padding:var(--space-1) var(--space-3);border-radius:var(--radius-pill);background:var(--surface-field);font-size:var(--text-body-sm);color:var(--ink);align-items:center;gap:7px;display:inline-flex}.tag:before{content:"";background:var(--flavor-nutty);border-radius:50%;flex:none;width:8px;height:8px}.tag:nth-child(6n+1):before{background:var(--flavor-floral)}.tag:nth-child(6n+2):before{background:var(--flavor-citrus)}.tag:nth-child(6n+3):before{background:var(--flavor-chocolate)}.tag:nth-child(6n+4):before{background:var(--flavor-berry)}.tag:nth-child(6n+5):before{background:var(--flavor-herbal)}.step{gap:var(--space-3);padding-top:var(--space-4);border-top:1px solid var(--line);flex-direction:column;display:flex}.step:first-child{border-top:none;padding-top:0}.step-head{justify-content:space-between;gap:var(--space-3);font-family:var(--font-mono);font-size:var(--text-label);text-transform:uppercase;letter-spacing:var(--ls-label);color:var(--ink-muted);display:flex}.choices{gap:var(--space-2);flex-wrap:wrap;display:flex}.choice{min-height:var(--tap-min);padding:var(--space-3) var(--space-4);border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface-field);color:var(--ink);font-size:var(--text-body-sm);font-weight:var(--fw-medium);text-align:left;cursor:pointer;transition:background var(--dur-fast) var(--ease-standard), border-color var(--dur-fast) var(--ease-standard), color var(--dur-fast) var(--ease-standard);flex-direction:column;gap:3px;display:flex}.choice small{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:var(--text-label);letter-spacing:var(--ls-mono);color:var(--ink-muted)}.choice:hover{border-color:var(--line-strong)}.choice.is-active{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}.choice.is-active small{color:var(--accent)}.qty-stepper{align-items:center;gap:var(--space-2);padding:var(--space-1);border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface-field);width:max-content;display:inline-flex}.qty-stepper button{border-radius:var(--radius-sm);width:38px;height:38px;color:var(--ink);font-family:var(--font-mono);cursor:pointer;transition:background var(--dur-fast) var(--ease-standard);background:0 0;border:none;font-size:1rem}.qty-stepper button:hover{background:var(--accent-soft);color:var(--accent)}.qty-stepper>span{text-align:center;min-width:2ch;font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-weight:var(--fw-semibold)}.price-row{justify-content:space-between;align-items:baseline;gap:var(--space-4);padding-top:var(--space-4);border-top:1px solid var(--line);flex-wrap:wrap;display:flex}.price-row .price{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:var(--text-mono-lg);font-weight:var(--fw-semibold)}.spec-sheet table{border-collapse:collapse;width:100%}.spec-sheet td{padding:var(--space-3) 0;border-bottom:1px solid var(--line);font-size:var(--text-body-sm);vertical-align:top}.spec-sheet td:first-child{color:var(--ink-muted);width:45%}.spec-sheet td:last-child{font-family:var(--font-mono);font-variant-numeric:tabular-nums;text-align:right}.brew-guide{padding:var(--space-5);border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface-panel)}.brew-grid{gap:var(--space-4);margin-top:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(min(110px,100%),1fr));display:grid}.brew-value{gap:var(--space-1);flex-direction:column;display:flex}.brew-value b{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:1.125rem;font-weight:var(--fw-semibold)}.brew-value span{font-family:var(--font-mono);font-size:var(--text-label);text-transform:uppercase;letter-spacing:var(--ls-label);color:var(--ink-muted)}.brew-note{margin-top:var(--space-4);color:var(--ink-muted);font-size:var(--text-body-sm);line-height:1.6}@media (width<=900px){.product-detail{gap:var(--space-6);grid-template-columns:minmax(0,1fr)}.product-gallery{position:static}}.subscription{gap:var(--space-8);grid-template-columns:.95fr 1.05fr;align-items:start;display:grid}.sub-intro{gap:var(--space-4);padding:var(--space-7);border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface-panel);box-shadow:var(--shadow-1);flex-direction:column;display:flex;position:sticky;top:100px}.sub-intro h1{font-size:var(--text-h2);letter-spacing:var(--ls-heading);line-height:1.02}.sub-intro>p{color:var(--ink-muted);line-height:var(--lh-body)}.sub-price{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:clamp(2rem,4vw,2.75rem);font-weight:var(--fw-bold);letter-spacing:-.03em;padding-top:var(--space-3);border-top:1px solid var(--line)}.sub-price small{font-size:var(--text-body-sm);font-weight:var(--fw-regular);color:var(--ink-muted)}.sub-perks{gap:var(--space-2);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.sub-perks li{gap:var(--space-3);font-size:var(--text-body-sm);color:var(--ink-muted);line-height:1.5;display:flex}.sub-perks li:before{content:"+";font-family:var(--font-mono);color:var(--accent);flex:none}.sub-builder{gap:var(--space-5);flex-direction:column;display:flex}.sub-builder .choices{grid-template-columns:repeat(auto-fit,minmax(min(180px,100%),1fr));display:grid}.roast-rail{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface-panel);grid-template-columns:minmax(0,1fr) minmax(0,1fr);display:grid;position:relative;overflow:hidden}.roast-rail__media{position:relative}.roast-rail__media img{object-fit:cover;width:100%;height:100%;min-height:280px;display:block}.roast-rail__veil{background:var(--roast-dark);mix-blend-mode:multiply;opacity:var(--roast-veil,.24);transition:opacity var(--dur-slow) var(--ease-standard);position:absolute;inset:0}.roast-rail__corner{left:var(--space-3);bottom:var(--space-3);padding:var(--space-1) var(--space-2);border-radius:var(--radius-xs);background:var(--photo-scrim);color:var(--ink-on-photo);position:absolute}.roast-rail__swatches{z-index:2;gap:var(--space-1);flex-direction:column;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.roast-swatch{border-radius:var(--radius-pill);cursor:pointer;background:0 0;border:0;place-items:center;width:56px;height:56px;padding:0;display:grid}.roast-swatch__dot{width:30px;height:30px;box-shadow:inset 0 0 0 1px var(--line-hair);transition:width var(--dur-base) var(--ease-spring), height var(--dur-base) var(--ease-spring), box-shadow var(--dur-fast) var(--ease-standard);border-radius:50%}.roast-swatch:hover .roast-swatch__dot{width:36px;height:36px}.roast-swatch.is-active .roast-swatch__dot{width:44px;height:44px;box-shadow:0 0 0 3px var(--surface-panel), 0 0 0 5px var(--accent)}.roast-rail__panel{justify-content:center;gap:var(--space-3);padding:var(--space-6);padding-left:var(--space-8);flex-direction:column;display:flex}.roast-rail__counter{align-items:center;gap:var(--space-2);display:flex}.roast-rail__counter-now{color:var(--accent)}.roast-rail__counter-rule{width:var(--space-6);background:var(--line-strong);height:1px}.roast-rail__name{font-size:var(--text-h4);letter-spacing:var(--ls-heading)}.roast-rail__note{color:var(--ink-muted);font-size:var(--text-body-sm);line-height:var(--lh-body)}.roast-rail__hint{color:var(--ink-faint)}@media (width<=720px){.roast-rail{grid-template-columns:minmax(0,1fr)}.roast-rail__swatches{padding-top:var(--space-3);flex-direction:row;justify-content:center;position:static;transform:none}.roast-rail__panel{padding:var(--space-5)}}@media (width<=900px){.subscription{gap:var(--space-6);grid-template-columns:minmax(0,1fr)}.sub-intro{position:static}}.articles{gap:var(--layout-gap);grid-template-columns:1.4fr 1fr;display:grid}.side-stack{gap:var(--layout-gap);flex-direction:column;display:flex}.log-row{gap:var(--layout-gap);margin-top:var(--layout-gap);grid-template-columns:repeat(auto-fill,minmax(min(280px,100%),1fr));display:grid}.feature-article,.side-article{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface-panel);box-shadow:var(--shadow-1);transition:transform var(--dur-base) var(--ease-entrance), box-shadow var(--dur-base) var(--ease-standard), border-color var(--dur-fast) var(--ease-standard);display:block;position:relative;overflow:hidden}.feature-article:hover,.side-article:hover{border-color:var(--line-strong);box-shadow:var(--shadow-2);transform:translateY(-4px)}.feature-article{min-height:460px}.side-article{min-height:220px}.feature-article img,.side-article img{object-fit:cover;filter:saturate(.92);width:100%;height:100%;transition:transform var(--dur-slow) var(--ease-standard);position:absolute;inset:0}.feature-article:hover img,.side-article:hover img{transform:scale(1.05)}.article-overlay{z-index:1;justify-content:flex-end;gap:var(--space-2);padding:var(--space-5);background:linear-gradient(to top, var(--photo-scrim) 0%, transparent 78%);color:var(--ink-on-photo);flex-direction:column;display:flex;position:absolute;inset:0}.article-overlay .mono{font-size:var(--text-label);text-transform:uppercase;letter-spacing:var(--ls-label);opacity:.85}.article-overlay h3{font-size:var(--text-h4);letter-spacing:var(--ls-tight);line-height:1.2}.feature-article .article-overlay h3{font-size:var(--text-h3)}.article-overlay p{max-width:46ch;font-size:var(--text-body-sm);opacity:.85;line-height:1.55}.article-cue{font-size:var(--text-label);text-transform:uppercase;letter-spacing:var(--ls-label);color:var(--accent-on-photo);padding-top:var(--space-2)}.no-cover{background:var(--surface-inverse)}.no-cover .article-overlay{background:var(--photo-scrim)}@media (width<=900px){.articles{grid-template-columns:minmax(0,1fr)}.feature-article{min-height:340px}}.article-head{gap:var(--space-4);max-width:var(--measure-article);margin-bottom:var(--space-6);flex-direction:column;display:flex}.article-head h1{font-size:var(--text-h1);letter-spacing:var(--ls-display);text-wrap:balance;line-height:.96}.article-head .deck{font-size:var(--text-body-lg);color:var(--ink-muted)}.article-hero{border:1px solid var(--line);border-radius:var(--radius-xl);margin-bottom:var(--space-8);overflow:hidden}.article-hero img{aspect-ratio:16/9;object-fit:cover;width:100%}.article-body{max-width:var(--measure-article);font-size:var(--text-body-lg);line-height:var(--lh-loose);color:var(--ink)}.article-body>*+*{margin-top:var(--space-5)}.article-body h2{font-size:var(--text-h3);letter-spacing:var(--ls-tight);margin-top:var(--space-8)}.article-body a{color:var(--accent);text-underline-offset:3px;text-decoration:underline}.article-body blockquote{margin:var(--space-7) 0;padding-left:var(--space-5);border-left:2px solid var(--accent);font-family:var(--font-display);font-size:var(--text-h4);line-height:1.4}.article-body ul,.article-body ol{padding-left:var(--space-5)}.article-body img{border-radius:var(--radius-lg)}.article-more{margin-top:var(--space-10);padding-top:var(--space-6);border-top:1px solid var(--line)}.micro-head{font-family:var(--font-mono);font-size:var(--text-label);text-transform:uppercase;letter-spacing:var(--ls-label);color:var(--ink-muted);margin-bottom:var(--space-4)}.cart-line{align-items:center;gap:var(--space-4);padding:var(--space-4);margin-bottom:var(--space-3);border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface-panel);box-shadow:var(--shadow-1);transition:border-color var(--dur-fast) var(--ease-standard);grid-template-columns:92px 1fr auto auto auto;display:grid;position:relative}.cart-line:hover{border-color:var(--line-strong)}.cart-line img{object-fit:cover;border-radius:var(--radius-md);background:var(--surface-sunken);width:92px;height:92px}.cart-line__placeholder{border-radius:var(--radius-md);background:var(--surface-field);width:92px;height:92px;font-family:var(--font-mono);font-size:var(--text-label);letter-spacing:var(--ls-label);color:var(--ink-muted);justify-content:center;align-items:center;display:flex}.cart-line__info{gap:var(--space-1);flex-direction:column;min-width:0;display:flex}.cart-line__info small{font-family:var(--font-mono);font-size:var(--text-label);text-transform:uppercase;letter-spacing:var(--ls-label);color:var(--ink-muted)}.cart-line__info h3{font-size:var(--text-h4);letter-spacing:var(--ls-tight)}.cart-line__info p{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:var(--text-body-sm);color:var(--ink-muted)}.cart-line__qty{align-items:center;gap:var(--space-2);padding:var(--space-1);border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface-field);display:inline-flex}.cart-line__qty button{border-radius:var(--radius-sm);width:34px;height:34px;color:var(--ink);font-family:var(--font-mono);cursor:pointer;transition:background var(--dur-fast) var(--ease-standard);background:0 0;border:none}.cart-line__qty button:hover{background:var(--accent-soft);color:var(--accent)}.cart-line__qty--fixed{white-space:nowrap;background:0 0;border-color:#0000;padding:0}.cart-line__qty>span{text-align:center;min-width:2ch;font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-weight:var(--fw-semibold)}.cart-line__total{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:var(--text-mono);font-weight:var(--fw-semibold);flex-direction:column;align-items:flex-end;gap:2px;display:flex}.cart-line__total .mono{font-size:var(--text-label);letter-spacing:var(--ls-label);color:var(--ink-muted);font-weight:var(--fw-regular)}.cart-line__remove{width:var(--tap-min);height:var(--tap-min);border-radius:var(--radius-md);color:var(--ink-faint);cursor:pointer;transition:color var(--dur-fast) var(--ease-standard), border-color var(--dur-fast) var(--ease-standard);background:0 0;border:1px solid #0000;font-size:1.25rem;line-height:1}.cart-line__remove:hover{color:var(--danger);border-color:var(--danger)}.cart-summary{margin-top:var(--space-6);max-width:460px;padding:var(--space-6);border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface-panel);box-shadow:var(--shadow-1);margin-left:auto}.cart-summary__row{justify-content:space-between;gap:var(--space-4);padding:var(--space-3) 0;border-bottom:1px solid var(--line);font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:var(--text-body-sm);color:var(--ink-muted);display:flex}.cart-summary__row--grand{padding-top:var(--space-4);font-size:var(--text-mono-lg);font-weight:var(--fw-bold);color:var(--ink);border-bottom:none}.cart-summary .note{margin:var(--space-3) 0 var(--space-4);font-size:var(--text-body-sm);color:var(--ink-muted);line-height:1.6}.cart-empty{text-align:center;align-items:center;gap:var(--space-4);padding:var(--space-10) var(--gutter);border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface-panel);flex-direction:column;display:flex}.cart-empty h2{font-size:var(--text-h3)}.cart-empty p{color:var(--ink-muted);max-width:44ch}.cart-empty__mark{color:var(--accent)}@media (width<=900px){.cart-line{row-gap:var(--space-3);padding-right:var(--space-8);grid-template-columns:72px minmax(0,1fr);grid-template-areas:"media info""qty total"}.cart-line img,.cart-line__placeholder{grid-area:media;width:72px;height:72px}.cart-line__info{grid-area:info}.cart-line__qty{grid-area:qty}.cart-line__qty button{width:30px;height:30px}.cart-line__total{grid-area:total}.cart-line__remove{top:var(--space-2);right:var(--space-2);width:36px;height:36px;position:absolute}.cart-summary{max-width:none}}.checkout-grid{gap:var(--space-8);margin-top:var(--space-6);grid-template-columns:1.25fr .75fr;align-items:start;display:grid}.checkout-form{gap:var(--space-4);flex-direction:column;display:flex}.checkout-side{gap:var(--space-2);flex-direction:column;display:flex;position:sticky;top:100px}.signed-in{font-family:var(--font-mono);font-size:var(--text-label);text-transform:uppercase;letter-spacing:var(--ls-label);color:var(--ink-muted)}.signed-in b{color:var(--ink)}.order-item{justify-content:space-between;gap:var(--space-4);padding:var(--space-3) 0;border-bottom:1px solid var(--line);font-size:var(--text-body-sm);display:flex}.order-item span:first-child{flex-direction:column;gap:2px;display:flex}.order-item span:last-child{font-family:var(--font-mono);font-variant-numeric:tabular-nums;white-space:nowrap}.order-item small{font-family:var(--font-mono);font-size:var(--text-label);text-transform:uppercase;letter-spacing:var(--ls-label);color:var(--ink-muted)}.sum-row{justify-content:space-between;gap:var(--space-4);padding:var(--space-2) 0;font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:var(--text-body-sm);color:var(--ink-muted);display:flex}.sum-row--total{margin-top:var(--space-2);padding-top:var(--space-3);border-top:1px solid var(--line);font-size:var(--text-mono-lg);font-weight:var(--fw-bold);color:var(--ink)}.checkout-side .btn{margin-top:var(--space-4)}.free-note{align-items:center;gap:var(--space-2);margin-top:var(--space-3);font-family:var(--font-mono);font-size:var(--text-label);text-transform:uppercase;letter-spacing:var(--ls-label);color:var(--ink-muted);display:flex}.free-note b{color:var(--success)}.checkout-note{margin-top:var(--space-3);font-size:var(--text-body-sm);color:var(--ink-muted);line-height:1.6}@media (width<=960px){.checkout-grid{gap:var(--space-6);grid-template-columns:minmax(0,1fr)}.checkout-side{position:static}}.conf-eyebrow{align-items:center;gap:var(--space-2);display:flex}.conf-dot{background:var(--success);border-radius:50%;flex:none;width:9px;height:9px}.conf-id{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:var(--text-mono-sm);letter-spacing:var(--ls-label);text-transform:uppercase;color:var(--ink-muted);margin-bottom:var(--space-8)}.conf-id b{color:var(--ink)}.statusline{margin:0 0 var(--space-8);gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(min(160px,100%),1fr));padding:0;list-style:none;display:grid}.status-stop{gap:var(--space-2);padding-top:var(--space-5);border-top:1px solid var(--line);flex-direction:column;display:flex;position:relative}.status-stop:before{content:"";background:var(--surface-bg);border:1px solid var(--line-strong);border-radius:50%;width:11px;height:11px;position:absolute;top:-6px;left:0}.status-stop--done:before{background:var(--success);border-color:var(--success)}.status-stop--current:before{background:var(--accent);border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-soft)}.status-stop--current .label-mono{color:var(--accent)}.status-when{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:var(--text-body-sm);color:var(--ink-muted)}.conf-cols{gap:var(--layout-gap);grid-template-columns:1.3fr 1fr;align-items:start;display:grid}.addr{color:var(--ink-muted);font-style:normal;line-height:1.7}.addr b{color:var(--ink);display:block}.conf-actions{margin-top:var(--space-8)}@media (width<=900px){.conf-cols{grid-template-columns:minmax(0,1fr)}}.field{gap:var(--space-2);flex-direction:column;display:flex}.field label{font-family:var(--font-mono);font-size:var(--text-label);text-transform:uppercase;letter-spacing:var(--ls-label);color:var(--ink-muted)}.field input,.field textarea{width:100%;min-height:var(--tap-min);padding:var(--space-3) var(--space-4);border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface-field);color:var(--ink);font-size:var(--text-body);transition:border-color var(--dur-fast) var(--ease-standard)}.field textarea{resize:vertical;min-height:120px}.field input::placeholder,.field textarea::placeholder{color:var(--ink-faint)}.field input:hover,.field textarea:hover{border-color:var(--line-strong)}.field input:focus,.field textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);outline:none}.field-row{gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(min(200px,100%),1fr));display:grid}.field-hint{font-size:var(--text-caption);color:var(--ink-muted)}.field-error{gap:var(--space-2);font-size:var(--text-body-sm);color:var(--danger);display:flex}.field-error:before{content:"!";font-family:var(--font-mono);font-weight:var(--fw-bold);flex:none}.field--invalid input,.field--invalid textarea{border-color:var(--danger)}.checkbox{align-items:center;gap:var(--space-3);min-height:var(--tap-min);cursor:pointer;font-size:var(--text-body-sm);display:flex}.checkbox input[type=checkbox]{appearance:none;border:1px solid var(--line-strong);border-radius:var(--radius-xs);background:var(--surface-field);cursor:pointer;width:20px;height:20px;transition:background var(--dur-fast) var(--ease-standard), border-color var(--dur-fast) var(--ease-standard);flex:none;place-items:center;display:grid}.checkbox input[type=checkbox]:before{content:"";border-left:2px solid var(--on-accent);border-bottom:2px solid var(--on-accent);width:10px;height:6px;transition:transform var(--dur-fast) var(--ease-entrance);transform:rotate(-45deg)translate(1px,-1px)scale(0)}.checkbox input[type=checkbox]:checked{background:var(--accent);border-color:var(--accent)}.checkbox input[type=checkbox]:checked:before{transform:rotate(-45deg)translate(1px,-1px)scale(1)}.badge{align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-3);border:1px solid var(--line);border-radius:var(--radius-pill);font-family:var(--font-mono);font-size:var(--text-label);text-transform:uppercase;letter-spacing:var(--ls-label);color:var(--ink-muted);display:inline-flex}.badge--accent{background:var(--accent-soft);border-color:var(--accent-line);color:var(--accent)}.select-trigger{justify-content:space-between;align-items:center;gap:var(--space-3);width:100%;min-height:var(--tap-min);padding:var(--space-3) var(--space-4);border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface-field);color:var(--ink);font-size:var(--text-body);text-align:left;cursor:pointer;transition:border-color var(--dur-fast) var(--ease-standard);display:flex}.select-trigger:hover{border-color:var(--line-strong)}.select-trigger[data-placeholder]{color:var(--ink-faint)}.select-trigger[data-disabled]{opacity:.45;cursor:not-allowed}.select-trigger[data-state=open]{border-color:var(--accent)}.select-trigger-icon{color:var(--ink-muted);transition:transform var(--dur-fast) var(--ease-standard);flex:none}.select-trigger[data-state=open] .select-trigger-icon{transform:rotate(180deg)}.select-content{z-index:60;min-width:var(--radix-select-trigger-width);max-height:var(--radix-select-content-available-height);border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface-raised);box-shadow:var(--shadow-3);overflow:hidden}.select-content[data-side=bottom]{animation:select-slide-down var(--dur-fast) var(--ease-entrance)}.select-content[data-side=top]{animation:select-slide-up var(--dur-fast) var(--ease-entrance)}.select-viewport{padding:var(--space-1)}.select-item{justify-content:space-between;align-items:center;gap:var(--space-3);min-height:var(--tap-min);padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);font-size:var(--text-body-sm);cursor:pointer;-webkit-user-select:none;user-select:none;outline:none;display:flex}.select-item[data-highlighted]{background:var(--accent-soft);color:var(--accent)}.select-item[data-disabled]{opacity:.45;cursor:not-allowed}.select-item-indicator{color:var(--accent);display:inline-flex}.select-scroll-button{height:24px;color:var(--ink-muted);cursor:default;justify-content:center;align-items:center;display:flex}@keyframes select-slide-down{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}@keyframes select-slide-up{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}.dialog-overlay{z-index:100;background:var(--scrim);-webkit-backdrop-filter:blur(3px);position:fixed;inset:0}.dialog-overlay[data-state=open]{animation:dialog-fade-in var(--dur-base) var(--ease-entrance)}.dialog-overlay[data-state=closed]{animation:dialog-fade-out var(--dur-fast) var(--ease-exit)}.dialog-content{z-index:101;width:min(520px, calc(100vw - 2 * var(--gutter)));max-height:calc(100vh - 2 * var(--space-8));padding:var(--space-6);border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface-raised);box-shadow:var(--shadow-modal);position:fixed;top:50%;left:50%;overflow-y:auto;transform:translate(-50%,-50%)}.dialog-content[data-state=open]{animation:dialog-scale-in var(--dur-base) var(--ease-entrance)}.dialog-content[data-state=closed]{animation:dialog-scale-out var(--dur-fast) var(--ease-exit)}.dialog-title{font-size:var(--text-h3);letter-spacing:var(--ls-tight);padding-right:var(--space-8)}.dialog-description{margin-top:var(--space-3);color:var(--ink-muted);line-height:var(--lh-body)}.dialog-close{top:var(--space-4);right:var(--space-4);width:var(--tap-min);height:var(--tap-min);border-radius:var(--radius-md);color:var(--ink-muted);cursor:pointer;transition:color var(--dur-fast) var(--ease-standard), border-color var(--dur-fast) var(--ease-standard);background:0 0;border:1px solid #0000;justify-content:center;align-items:center;display:inline-flex;position:absolute}.dialog-close:hover{color:var(--ink);border-color:var(--line-strong)}@keyframes dialog-fade-in{0%{opacity:0}to{opacity:1}}@keyframes dialog-fade-out{0%{opacity:1}to{opacity:0}}@keyframes dialog-scale-in{0%{opacity:0;transform:translate(-50%,-50%)scale(.97)}to{opacity:1;transform:translate(-50%,-50%)scale(1)}}@keyframes dialog-scale-out{0%{opacity:1;transform:translate(-50%,-50%)scale(1)}to{opacity:0;transform:translate(-50%,-50%)scale(.97)}}.toast-viewport{z-index:120;bottom:var(--space-5);right:var(--space-5);width:min(380px, calc(100vw - 2 * var(--gutter)));gap:var(--space-2);outline:none;flex-direction:column;margin:0;padding:0;list-style:none;display:flex;position:fixed}.toast{padding:var(--space-4) var(--space-8) var(--space-4) var(--space-4);border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface-raised);box-shadow:var(--shadow-3);position:relative}.toast[data-state=open]{animation:toast-slide-in var(--dur-base) var(--ease-entrance)}.toast[data-state=closed]{animation:toast-fade-out var(--dur-fast) var(--ease-exit)}.toast[data-swipe=move]{transform:translateX(var(--radix-toast-swipe-move-x))}.toast[data-swipe=cancel]{transition:transform var(--dur-fast) var(--ease-standard);transform:translate(0)}.toast[data-swipe=end]{animation:toast-swipe-out var(--dur-fast) var(--ease-exit)}.toast-title{font-family:var(--font-display);font-size:var(--text-body);letter-spacing:var(--ls-tight)}.toast-description{margin-top:var(--space-1);color:var(--ink-muted);font-size:var(--text-body-sm);line-height:1.55}.toast-close{top:var(--space-2);right:var(--space-2);border-radius:var(--radius-sm);width:32px;height:32px;color:var(--ink-muted);cursor:pointer;background:0 0;border:none;position:absolute}.toast-close:hover{color:var(--ink)}@keyframes toast-slide-in{0%{opacity:0;transform:translate(16px)}to{opacity:1;transform:none}}@keyframes toast-fade-out{0%{opacity:1}to{opacity:0}}@keyframes toast-swipe-out{0%{transform:translateX(var(--radix-toast-swipe-end-x))}to{transform:translate(110%)}}@media (prefers-reduced-motion:reduce){.select-content,.dialog-overlay,.dialog-content,.toast{animation:none!important}.roast-rail__veil,.roast-swatch__dot{transition:none}}.error-page{max-width:var(--content-max);padding:var(--space-11) var(--gutter);text-align:center;align-items:center;gap:var(--space-4);flex-direction:column;margin:0 auto;display:flex}.error-page__mark{color:var(--accent)}.error-page h1{font-size:var(--text-h1);letter-spacing:var(--ls-display);line-height:.95}.error-page p{max-width:48ch;color:var(--ink-muted);font-size:var(--text-body-lg);line-height:1.6}.error-page pre{width:100%;max-width:var(--content-max);margin-top:var(--space-6);padding:var(--space-5);text-align:left;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface-panel);font-family:var(--font-mono);font-size:var(--text-mono-sm);color:var(--ink-muted);line-height:1.6;overflow-x:auto}.choice__name{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.choice__flag{padding:2px var(--space-2);border-radius:var(--radius-pill);background:var(--accent-soft);color:var(--accent);font-family:var(--font-mono);font-size:var(--text-label);text-transform:uppercase;letter-spacing:var(--ls-label)}
