@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./inter-cyrillic-ext-wght-normal-BOeWTOD4.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./inter-cyrillic-wght-normal-DqGufNeO.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./inter-greek-ext-wght-normal-DlzME5K_.woff2)format("woff2-variations");unicode-range:U+1F??}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./inter-greek-wght-normal-CkhJZR-_.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./inter-vietnamese-wght-normal-CBcvBZtf.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./inter-latin-ext-wght-normal-DO1Apj_S.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./inter-latin-wght-normal-Dx4kXJAl.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./fraunces-vietnamese-wght-normal-CnvboYUG.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./fraunces-latin-ext-wght-normal-Ca2vKHc0.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./fraunces-latin-wght-normal-ukD16Tqj.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Fraunces Variable;font-style:italic;font-display:swap;font-weight:100 900;src:url(./fraunces-vietnamese-wght-italic-BicUS2cM.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Fraunces Variable;font-style:italic;font-display:swap;font-weight:100 900;src:url(./fraunces-latin-ext-wght-italic-BfTTTDIL.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Fraunces Variable;font-style:italic;font-display:swap;font-weight:100 900;src:url(./fraunces-latin-wght-italic-Py8at3oI.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f3eadd;--bg-tint:#ecdfcd;--surface:#fffdf9;--surface-2:#f9f1e6;--ink:#2a1d14;--muted:#786451;--espresso:#3a2416;--espresso-deep:#21130b;--crema:#d8a85e;--gold:#c89351;--heading:var(--espresso);--accent:#b06a1f;--accent-2:#d99a3e;--accent-text:#8f5416;--accent-soft:#f6e7cf;--accent-ink:#fffaf2;--btn-2:#a0591a;--btn-1:#834710;--good:#2f7d52;--good-soft:#e3f0e7;--bad:#b23b3b;--good-fill:#2f7d52;--spend:#3a2416;--spend-tip:#c89351;--keep-once:#15432a;--keep:#2f7d52;--eco-ink:#276541;--eco-soft:#eef7f1;--eco-line:#cfe3d6;--line:#e8dac6;--line-strong:#ddc9ad;--radius:18px;--radius-sm:12px;--radius-lg:26px;--radius-pill:999px;--maxw:760px;--shadow-sm:0 1px 2px #3a24160d, 0 2px 6px #3a24160d;--shadow:0 2px 4px #3a24160d, 0 14px 30px -10px #3a241629;--shadow-lg:0 10px 20px -8px #3a24161f, 0 30px 60px -16px #3a241638;--shadow-gold:0 10px 28px -8px #b06a1f73;--font-display:"Fraunces Variable", Georgia, "Times New Roman", serif;--font-sans:"Inter Variable", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--ease:cubic-bezier(.22, 1, .36, 1)}*,:before,:after{box-sizing:border-box}[hidden]{display:none!important}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{color:var(--ink);font:16px/1.6 var(--font-sans);font-feature-settings:"cv05" 1, "ss01" 1;letter-spacing:-.005em;background-color:var(--bg);background-image:radial-gradient(1100px 520px at 50% -8%, #d8a85e38, transparent 62%), radial-gradient(900px 600px at 110% 0%, #b06a1f1a, transparent 55%), linear-gradient(180deg, var(--bg) 0%, var(--bg-tint) 100%);padding:env(safe-area-inset-top) 16px calc(env(safe-area-inset-bottom) + 36px);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;background-repeat:no-repeat;background-attachment:fixed;margin:0}::selection{background:color-mix(in srgb, var(--accent) 25%, transparent);color:var(--espresso-deep)}.app{max-width:var(--maxw);flex-direction:column;gap:18px;margin:0 auto;display:flex}.app-main{flex-direction:column;gap:18px;display:flex}.app-main:focus{outline:none}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{z-index:100;border-radius:var(--radius-sm);background:var(--surface);color:var(--accent-text);box-shadow:var(--shadow);transition:top .15s var(--ease);padding:10px 16px;font-weight:700;text-decoration:none;position:absolute;top:-60px;left:8px}.skip-link:focus{top:8px}.hero{text-align:center;padding:clamp(34px,7vw,60px) 8px 12px}.eyebrow{border-radius:var(--radius-pill);background:color-mix(in srgb, var(--surface) 70%, transparent);border:1px solid var(--line-strong);box-shadow:var(--shadow-sm);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);letter-spacing:.1em;text-transform:uppercase;color:var(--accent-text);align-items:center;gap:7px;margin-bottom:18px;padding:7px 15px 7px 13px;font-size:.74rem;font-weight:600;display:inline-flex}.hero h1{font-family:var(--font-display);font-optical-sizing:auto;letter-spacing:-.02em;color:var(--heading);margin:0 0 14px;font-size:clamp(2.1rem,7vw,3.4rem);font-weight:600;line-height:1.04}.hero h1 em{background:linear-gradient(100deg, var(--accent), var(--crema) 70%, var(--gold));-webkit-text-fill-color:transparent;color:var(--accent);-webkit-background-clip:text;background-clip:text;font-style:italic;font-weight:500}.tagline{max-width:46ch;color:var(--muted);margin:0 auto;font-size:clamp(1rem,2.4vw,1.12rem);line-height:1.55}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);transition:box-shadow .35s var(--ease), transform .35s var(--ease), border-color .35s var(--ease);padding:clamp(20px,4vw,28px);position:relative}.card h2{font-family:var(--font-display);font-optical-sizing:auto;letter-spacing:-.015em;color:var(--heading);align-items:center;gap:12px;margin:0 0 6px;font-size:clamp(1.25rem,3.4vw,1.5rem);font-weight:600;display:flex}.step-num{width:34px;height:34px;font-family:var(--font-sans);color:var(--accent-ink);background:linear-gradient(145deg, var(--btn-2), var(--btn-1));border-radius:50%;flex-shrink:0;place-items:center;font-size:.95rem;font-weight:700;display:inline-grid;box-shadow:0 4px 10px -2px #b06a1f80,inset 0 1px #fff6}.hint{color:var(--muted);margin:0 0 16px;font-size:.92rem;line-height:1.55}.ing-note{margin-top:14px;font-size:.86rem}.ing-library-link{color:var(--accent-text);white-space:nowrap;font-weight:600;text-decoration:none}.ing-library-link:hover{text-decoration:underline}.ing-library-link:focus-visible{outline:3px solid var(--accent-text);outline-offset:2px}.form-phase{flex-direction:column;gap:7px;margin-top:8px;display:flex}.app-main>.form-phase:first-child{margin-top:0}.form-phase-head{align-items:center;gap:12px;display:flex}.form-phase-badge{border-radius:var(--radius-pill);background:color-mix(in srgb, var(--accent) 11%, var(--surface));border:1px solid var(--line-strong);min-width:0;box-shadow:var(--shadow-sm);letter-spacing:.08em;text-transform:uppercase;color:var(--accent-text);align-items:center;gap:7px;padding:6px 14px 6px 12px;font-size:.72rem;font-weight:700;display:inline-flex}.form-phase-icon{flex-shrink:0;width:15px;height:15px;display:block}.form-phase-rule{background:linear-gradient(to right, var(--line-strong), transparent);flex:1;height:1px}.form-phase-note{color:var(--muted);margin:0 4px;font-size:.9rem;line-height:1.5}.hint strong{color:var(--accent-text);font-weight:600}.basket-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-bottom:4px;display:flex}.household{flex-wrap:wrap;align-items:center;gap:4px 10px;margin-bottom:10px;display:flex}.household-label{color:var(--heading);flex-basis:100%;font-size:.85rem;font-weight:600}.household-picker{margin-left:-5px;display:inline-flex}.household-opt{cursor:pointer;border-radius:10px;place-items:center;width:34px;height:40px;display:grid;position:relative}.household-opt input{opacity:0;pointer-events:none;position:absolute}.household-person{width:24px;height:24px}.hh-shape{fill:#0000;stroke:var(--line-strong);stroke-width:1.7px;stroke-linejoin:round;transition:fill .2s var(--ease), stroke .2s var(--ease)}.household-opt.is-on .hh-shape{fill:var(--accent-2);stroke:var(--heading)}@media (hover:hover){.household-picker:hover .household-opt:not(.is-on):not(:hover~*) .hh-shape{stroke:var(--heading)}}.household-readout{color:var(--heading);font-size:.8rem;font-weight:700}.household-note{color:var(--muted);margin:-4px 0 12px;font-size:.85rem;line-height:1.5}.freq-toggle{border-radius:var(--radius-pill);border:1.5px solid var(--line-strong);background:var(--surface);display:inline-flex;overflow:hidden}.freq-btn{font:inherit;color:var(--muted);cursor:pointer;transition:background .18s var(--ease), color .18s var(--ease);white-space:nowrap;background:0 0;border:none;padding:7px 15px;font-size:.82rem;font-weight:600}.freq-btn:hover:not([aria-pressed=true]){background:var(--accent-soft);color:var(--accent-text)}.freq-btn[aria-pressed=true]{background:linear-gradient(145deg, var(--btn-2), var(--btn-1));color:var(--accent-ink)}.ghost-btn{background:var(--surface);border:1px solid var(--line-strong);color:var(--accent-text);border-radius:var(--radius-pill);font:inherit;cursor:pointer;transition:background .2s var(--ease), color .2s var(--ease), border-color .2s var(--ease), transform 80ms var(--ease), box-shadow .2s var(--ease);padding:8px 16px;font-size:.85rem;font-weight:600}.ghost-btn:hover{background:var(--accent-soft);border-color:var(--accent);box-shadow:var(--shadow-sm)}.ghost-btn:active{transform:scale(.97)}.ghost-btn[aria-pressed=true]{background:linear-gradient(145deg, var(--btn-2), var(--btn-1));color:var(--accent-ink);box-shadow:var(--shadow-sm);border-color:#0000}.tip-toggle{flex-wrap:wrap;gap:8px;display:flex}.tip-btn{border:1.5px solid var(--line-strong);background:var(--surface);min-width:64px;color:var(--muted);border-radius:var(--radius-pill);font:inherit;cursor:pointer;transition:background .18s var(--ease), color .18s var(--ease), border-color .18s var(--ease), transform 80ms var(--ease);flex:auto;padding:9px 14px;font-size:.9rem;font-weight:600}.tip-btn:hover:not(.selected){background:var(--accent-soft);border-color:var(--accent);color:var(--accent-text)}.tip-btn:active{transform:scale(.96)}.tip-btn.selected{background:linear-gradient(145deg, var(--btn-2), var(--btn-1));color:var(--accent-ink);box-shadow:var(--shadow-sm);border-color:#0000}.tip-readout{color:var(--accent-text);margin:14px 0 0;font-size:.9rem;font-weight:600;line-height:1.5}.filter-toggle{flex-wrap:wrap;gap:6px;margin-top:10px;display:flex}.filter-btn{border:1.5px solid var(--line-strong);background:var(--surface);color:var(--muted);border-radius:var(--radius-pill);font:inherit;cursor:pointer;transition:background .18s var(--ease), color .18s var(--ease), border-color .18s var(--ease);padding:6px 12px;font-size:.78rem;font-weight:600}.filter-btn:hover:not(.selected){background:var(--accent-soft);border-color:var(--accent);color:var(--accent-text)}.filter-btn.selected{background:linear-gradient(145deg, var(--btn-2), var(--btn-1));color:var(--accent-ink);border-color:#0000}.pill-group{flex-wrap:wrap;gap:6px;display:flex}.pill-btn{border:1.5px solid var(--line-strong);background:var(--surface);color:var(--muted);border-radius:var(--radius-pill);font:inherit;cursor:pointer;transition:background .18s var(--ease), color .18s var(--ease), border-color .18s var(--ease);padding:7px 13px;font-size:.82rem;font-weight:600}.pill-btn:hover:not(.selected){background:var(--accent-soft);border-color:var(--accent);color:var(--accent-text)}.pill-btn.selected{background:linear-gradient(145deg, var(--btn-2), var(--btn-1));color:var(--accent-ink);border-color:#0000}.savings-hero{--keep-wash:color-mix(in srgb, var(--good) 12%, var(--surface));--behind-wash:color-mix(in srgb, var(--bad) 12%, var(--surface));--track:var(--keep-wash);text-align:center;margin-bottom:20px}.savings-hero.is-negative{--track:var(--behind-wash)}.savings-hero-label{color:var(--muted);margin:0;font-size:.95rem;font-weight:600}.savings-hero-value{font-family:var(--font-display);font-optical-sizing:auto;letter-spacing:-.02em;color:var(--heading);font-variant-numeric:tabular-nums;margin:2px 0 0;font-size:clamp(2.6rem,11vw,3.4rem);font-weight:600;line-height:1.05}.savings-hero.is-negative .savings-hero-value{color:var(--bad)}.savings-hero-equiv{color:var(--good);margin:6px 0 0;font-size:.95rem;font-weight:600}.savings-hero-equiv:empty{display:none}.savings-bars{text-align:left;grid-template-columns:minmax(58px,auto) minmax(0,1fr) auto;align-items:center;gap:8px 10px;margin-top:18px;display:grid}.savings-row{grid-template-columns:5.5rem minmax(0,1fr) 3.5rem;align-items:center;column-gap:10px;display:grid}.savings-bars>.savings-row{grid-column:1/-1;grid-template-columns:subgrid}.savings-row-label{letter-spacing:.05em;text-transform:uppercase;color:var(--muted);white-space:nowrap;font-size:.7rem;font-weight:700;line-height:1.25}.savings-bar{background:var(--track);border-radius:0 4px 4px 0;height:22px;display:flex;overflow:hidden}.savings-seg{height:100%;transition:width .5s var(--ease)}.savings-seg:not(:last-child){border-right:2px solid var(--track)}.savings-seg:last-child{border-radius:0 4px 4px 0}.savings-hero .seg-spend{background:var(--spend)}.savings-hero .seg-spend-tip{background:var(--spend-tip)}.savings-hero .seg-keep-once{background:var(--keep-once)}.savings-hero .seg-keep{background:var(--keep)}.savings-row-total{min-width:56px;font-family:var(--font-display);color:var(--heading);text-align:right;font-variant-numeric:tabular-nums;font-size:.95rem;font-weight:600}.savings-legend{color:var(--muted);flex-wrap:wrap;justify-content:center;gap:4px 14px;margin:12px 0 0;font-size:.74rem;display:flex}.savings-legend:empty{display:none}.savings-key{white-space:nowrap;align-items:center;gap:5px;display:inline-flex}.savings-dot{border-radius:3px;flex:none;width:10px;height:10px}@media (max-width:400px){.savings-bars{grid-template-columns:fit-content(76px) minmax(0,1fr) auto}.savings-row-label{white-space:normal}}.anatomy{--keep-wash:color-mix(in srgb, var(--good) 12%, var(--surface));--behind-wash:color-mix(in srgb, var(--bad) 12%, var(--surface));--track:var(--keep-wash);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-sm);box-shadow:var(--shadow-sm);margin-bottom:18px;padding:16px}.anatomy.is-negative{--track:var(--behind-wash)}.anatomy-title{font-family:var(--font-display);color:var(--heading);margin:0 0 12px;font-size:1.05rem;font-weight:600}.anatomy-vessels{justify-content:center;align-items:flex-end;gap:28px;display:flex}.anatomy-vessel{flex-direction:column;align-items:center;gap:6px;min-width:0;margin:0;display:flex}.anatomy-vessel-svg{width:calc(112px * var(--ar,1));max-width:100%;height:auto;display:block;overflow:visible}.anatomy-vessel figcaption{text-align:center;flex-direction:column;align-items:center;gap:1px;display:flex}.anatomy-vessel-name{letter-spacing:.05em;text-transform:uppercase;color:var(--muted);font-size:.72rem;font-weight:700;line-height:1.25}.anatomy-vessel-price{font-family:var(--font-display);color:var(--heading);font-variant-numeric:tabular-nums;min-height:1.2em;font-size:1.15rem;font-weight:600;line-height:1.2}.av-track{fill:var(--track)}.av-liquid{transform:scaleY(calc(var(--level,1) * var(--rise,1)));transform-box:fill-box;transform-origin:bottom;transition:transform .5s var(--ease)}.anatomy.is-filling .av-liquid{transition:none}.anatomy-vessel--shop .av-seg--base{fill:var(--spend)}.anatomy-vessel--home .av-seg--base{fill:var(--keep)}.av-seg--tip{fill:var(--spend-tip);transform:scaleY(var(--tip,0));transform-box:fill-box;transform-origin:top;transition:transform .5s var(--ease)}.av-outline,.av-detail,.av-halo{fill:none;stroke:var(--heading);stroke-width:2px;stroke-linejoin:round;stroke-linecap:round}.av-halo{stroke:var(--surface);stroke-width:5px}.anatomy-legend{color:var(--muted);text-align:center;text-wrap:balance;flex-wrap:wrap;justify-content:center;gap:2px 16px;margin:12px 0 0;font-size:.74rem;line-height:1.45;display:flex}.anatomy-legend:empty{display:none}.anatomy-verdict{color:var(--good);text-align:center;text-wrap:balance;margin:8px 0 0;font-size:.9rem;font-weight:600}.anatomy-verdict:empty{display:none}.anatomy-verdict--caveat{color:var(--ink);font-weight:500}.machine-compare-list{flex-direction:column;gap:8px;display:flex}.mc-row{border:1.5px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);transition:border-color .2s var(--ease), background .2s var(--ease);align-items:center;gap:8px;padding:8px 10px;display:flex}.mc-row.selected{border-color:var(--accent);background:linear-gradient(160deg, var(--surface), var(--accent-soft))}.mc-pick{text-align:left;cursor:pointer;font:inherit;background:0 0;border:none;flex-direction:column;flex:1;gap:2px;padding:4px;display:flex}.mc-name{color:var(--heading);flex-wrap:wrap;align-items:center;gap:8px;font-weight:700;display:flex}.mc-badge{text-transform:uppercase;letter-spacing:.05em;color:var(--accent-ink);background:linear-gradient(145deg, var(--btn-2), var(--btn-1));border-radius:var(--radius-pill);padding:2px 7px;font-size:.62rem;font-weight:800}.mc-badge--reviews{color:var(--accent-text);background:var(--surface);border:1px solid var(--accent);padding:1px 6px}.mc-note{margin-top:10px}.mc-meta{color:var(--muted);font-size:.82rem}.accessory-list{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;display:grid}.accessory-card{border:1.5px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--surface);transition:border-color .2s var(--ease), box-shadow .25s var(--ease), transform .2s var(--ease);flex-direction:column;gap:3px;padding:14px;text-decoration:none;display:flex;position:relative}.accessory-card:hover{border-color:var(--accent);box-shadow:var(--shadow);transform:translateY(-3px)}.accessory-buy,.buy-icon{width:30px;height:30px;color:var(--accent-text);background:var(--accent-soft);transition:background .2s var(--ease), color .2s var(--ease), transform .2s var(--ease);border-radius:50%;place-items:center;display:grid}.accessory-buy svg,.buy-icon svg{width:16px;height:16px}.accessory-card:hover .accessory-buy,.buy-icon:hover{color:var(--accent-ink);background:linear-gradient(145deg, var(--btn-2), var(--btn-1));transform:scale(1.08)}.accessory-buy{position:absolute;top:10px;right:10px}.buy-icon{flex-shrink:0;width:36px;height:36px;text-decoration:none}.buy-icon svg{width:18px;height:18px}.accessory-img{object-fit:contain;background:var(--surface-2);border-radius:10px;width:64px;height:64px;margin-bottom:6px}.accessory-art{background:linear-gradient(135deg, var(--surface-2) 0%, var(--line) 100%);width:64px;height:64px;color:var(--accent-text);stroke-width:2px;transition:background .25s var(--ease), color .25s var(--ease);border-radius:10px;flex-shrink:0;margin-bottom:6px;padding:7px}.accessory-card:hover .accessory-art{color:var(--accent)}.accessory-art-fallback{display:block}.accessory-category{text-transform:uppercase;letter-spacing:.08em;color:var(--accent-text);font-size:.66rem;font-weight:700}.accessory-name{color:var(--heading);font-size:.98rem;font-weight:700}.accessory-price{font-family:var(--font-display);color:var(--ink);font-weight:600}.accessory-blurb{color:var(--muted);margin-top:2px;font-size:.8rem;line-height:1.45}.drink-list{flex-direction:column;display:flex}.drink-row{border-top:1px solid var(--line);transition:background .2s var(--ease);border-radius:10px;grid-template-columns:1fr auto;align-items:center;gap:10px 12px;padding:15px 4px;display:grid}.drink-row:first-child{border-top:none}.drink-row:hover{background:color-mix(in srgb, var(--surface-2) 60%, transparent)}.drink-name-wrap{flex-direction:column;gap:1px;display:flex}.drink-name{color:var(--heading);font-size:1.02rem;font-weight:600;line-height:1.3}.drink-shop-price{color:var(--muted);font-size:.76rem;font-weight:500}.qty{flex-direction:column;align-items:center;gap:5px;display:inline-flex}.qty-label{color:var(--muted);font-size:.78rem;font-weight:500}.qty input{width:68px}.drink-prices{flex-wrap:wrap;grid-column:1/-1;gap:10px;padding-top:4px;display:flex}.drink-prices[hidden]{display:none}.drink-extras{width:-moz-fit-content;width:fit-content;color:var(--muted);cursor:pointer;grid-column:1/-1;align-items:center;gap:6px;font-size:.78rem;font-weight:500;display:inline-flex}.drink-extras input[type=checkbox]{width:15px;height:15px;accent-color:var(--accent);cursor:pointer}.price-field{color:var(--muted);background:var(--surface-2);border:1px solid var(--line);border-radius:10px;align-items:center;gap:7px;padding:7px 11px;font-size:.8rem;font-weight:500;display:inline-flex}.price-field input{width:74px}.week-shelf-wrap{flex-direction:column;align-items:flex-end;gap:6px;display:flex}.week-shelf{cursor:pointer;border-radius:12px;align-items:flex-end;gap:3px;margin:-4px -5px -3px;padding:4px 5px 3px;display:flex}.shelf-cup{background:0 0;border:none;place-items:center;width:32px;min-height:42px;margin:0;padding:0;display:grid}.shelf-cup svg{width:100%;height:100%;display:block;overflow:visible}.ws-outline{fill:none;stroke:var(--line-strong);stroke-width:2.1px;stroke-linejoin:round;stroke-linecap:round;transition:stroke .18s var(--ease)}.ws-detail{fill:none;stroke:var(--line-strong);stroke-width:1.9px;stroke-linejoin:round;stroke-linecap:round;opacity:0;transition:opacity .2s var(--ease), stroke .18s var(--ease)}.shelf-cup[data-fill=full] .ws-outline,.shelf-cup[data-fill=preview] .ws-outline{stroke:var(--heading)}.shelf-cup[data-fill=full] .ws-detail{opacity:1;stroke:var(--heading)}.ws-liquid{fill:var(--accent-2);transform-box:fill-box;transform-origin:bottom;transition:transform .34s var(--ease);transform:scaleY(0)}.shelf-cup[data-fill=full] .ws-liquid{transform:scaleY(1)}.shelf-cup[data-fill=preview] .ws-liquid{opacity:.3;transform:scaleY(1)}.ws-crema{fill:var(--crema);opacity:0;transition:opacity .22s var(--ease) .12s}.shelf-cup[data-fill=full] .ws-crema{opacity:1}.ws-garnish{opacity:0;transition:opacity .22s var(--ease) .18s}.shelf-cup[data-fill=full] .ws-garnish{opacity:.85}.ws-garnish-line{fill:none;stroke:var(--espresso);stroke-linecap:round;stroke-linejoin:round}.ws-garnish-dot{fill:var(--espresso)}.shelf-more{font:700 .72rem/1 var(--font-sans);color:var(--accent-text);background:var(--accent-soft);font-variant-numeric:tabular-nums;border-radius:999px;align-self:center;margin-left:5px;padding:5px 8px}.shelf-more[hidden]{display:none}.shelf-readout{color:var(--muted);flex-wrap:wrap;align-items:center;gap:4px 9px;font-size:.8rem;font-weight:500;display:flex}.shelf-count{color:var(--heading);font-variant-numeric:tabular-nums;font-weight:700}.shelf-mini{border:1px solid var(--line-strong);background:var(--surface);border-radius:9px;display:inline-flex;overflow:hidden}.shelf-mini-btn{-webkit-appearance:none;appearance:none;color:var(--accent);font:700 1rem/1 var(--font-sans);cursor:pointer;width:28px;height:26px;transition:background .15s var(--ease);background:0 0;border:none}@media (hover:hover){.shelf-mini-btn:hover{background:var(--accent-soft)}}.shelf-clear{-webkit-appearance:none;appearance:none;font:600 .74rem/1 var(--font-sans);color:var(--muted);cursor:pointer;text-decoration:underline;-webkit-text-decoration-color:var(--line-strong);text-decoration-color:var(--line-strong);text-underline-offset:3px;transition:color .15s var(--ease), background .15s var(--ease);animation:shelf-clear-in .22s var(--ease) both;background:0 0;border:none;border-radius:8px;margin:-7px -4px;padding:7px 8px}.shelf-clear[hidden]{display:none}@media (hover:hover){.shelf-clear:hover{color:var(--bad);background:var(--surface-2);text-decoration-color:currentColor}}@keyframes shelf-clear-in{0%{opacity:0;transform:translate(5px)}to{opacity:1;transform:none}}@media (max-width:520px){.week-shelf-wrap{grid-column:1/-1;align-items:stretch}.week-shelf{justify-content:space-between;gap:1px}.shelf-cup{flex:1 1 0;width:auto;max-width:40px}.shelf-readout{justify-content:flex-end;gap:7px}}.flavor-list{flex-direction:column;display:flex}.flavor-row{border-top:1px solid var(--line);transition:background .2s var(--ease);border-radius:10px;grid-template-columns:1fr auto;align-items:center;gap:8px 12px;padding:15px 4px;display:grid}.flavor-row:first-child{border-top:none}.flavor-row:hover{background:color-mix(in srgb, var(--surface-2) 60%, transparent)}.flavor-info{flex-direction:column;grid-column:1;gap:1px;min-width:0;display:flex}.flavor-row .qty,.flavor-row .week-shelf-wrap{grid-column:2}@media (max-width:520px){.flavor-row .week-shelf-wrap{grid-column:1/-1}}.flavor-name{color:var(--heading);font-size:1.02rem;font-weight:600;line-height:1.3}.flavor-blurb{color:var(--muted);font-size:.78rem;line-height:1.35}.flavor-foot{flex-wrap:wrap;grid-column:1/-1;justify-content:space-between;align-items:center;gap:2px 14px;display:flex}.flavor-meta{color:var(--ink);font-size:.8rem;font-weight:600}.flavor-readout{font-family:var(--font-display);color:var(--accent-text);margin:12px 0 0;font-size:.95rem;font-weight:600}.flavor-readout:empty{display:none}input[type=number]{font:inherit;border:1px solid var(--line-strong);background:var(--surface);color:var(--ink);text-align:right;transition:border-color .2s var(--ease), box-shadow .2s var(--ease);border-radius:11px;padding:9px 12px;font-weight:600}input[type=number]:hover{border-color:var(--accent)}input[type=number]:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 22%, transparent);outline:none}input[type=number]:focus-visible{outline:3px solid var(--accent-text);outline-offset:2px}select:focus-visible{outline:3px solid var(--accent-text);outline-offset:2px}a:focus-visible{outline:3px solid var(--accent-text);outline-offset:2px}.machine-card:focus-visible{outline:3px solid var(--accent-text);outline-offset:2px}.bean-card:focus-visible{outline:3px solid var(--accent-text);outline-offset:2px}.milk-card:focus-visible{outline:3px solid var(--accent-text);outline-offset:2px}.freq-btn:focus-visible{outline:3px solid var(--accent-text);outline-offset:2px}.tip-btn:focus-visible{outline:3px solid var(--accent-text);outline-offset:2px}.ghost-btn:focus-visible{outline:3px solid var(--accent-text);outline-offset:2px}.cta-btn:focus-visible{outline:3px solid var(--accent-text);outline-offset:2px}.reset-link:focus-visible{outline:3px solid var(--accent-text);outline-offset:2px}.stepper-btn:focus-visible{outline:3px solid var(--accent-text);outline-offset:2px}.week-shelf:focus-visible{outline:3px solid var(--accent-text);outline-offset:2px}.shelf-mini-btn:focus-visible{outline:3px solid var(--accent-text);outline-offset:2px}.shelf-clear:focus-visible{outline:3px solid var(--accent-text);outline-offset:2px}.onboarding-reopen:focus-visible{outline:3px solid var(--accent-text);outline-offset:2px}.onboarding-close:focus-visible{outline:3px solid var(--accent-text);outline-offset:2px}.skip-link:focus-visible{outline:3px solid var(--accent-text);outline-offset:2px}summary:focus-visible{outline:3px solid var(--accent-text);outline-offset:2px}.household-opt:has(input:focus-visible){outline:3px solid var(--accent-text);outline-offset:2px}.stepper{align-items:stretch;display:inline-flex}.stepper-btn{width:40px;min-height:40px;color:var(--accent);background:var(--surface);border:1px solid var(--line-strong);cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;transition:background .15s var(--ease), border-color .15s var(--ease), transform 80ms var(--ease);place-items:center;font-size:1.3rem;font-weight:700;line-height:1;display:grid}.stepper-dec{border-radius:11px 0 0 11px}.stepper-inc{border-radius:0 11px 11px 0}.stepper-btn:hover{border-color:var(--accent);background:var(--accent-soft)}.stepper-btn:active{transform:scale(.94)}.stepper-btn:focus-visible{z-index:1}.stepper input[type=number]{text-align:center;-webkit-appearance:textfield;appearance:textfield;border-left:none;border-right:none;border-radius:0;width:54px;padding-left:4px;padding-right:4px}.stepper input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.stepper input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.field-readout{margin-top:4px}.field-readout-row{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.field-readout-label{font-size:.94rem;font-weight:500}.field-readout-value{font-family:var(--font-display);color:var(--accent-text);white-space:nowrap;font-weight:700}.field-note{color:var(--muted);margin:5px 0 0;font-size:.78rem;line-height:1.45}.upkeep-hint{margin-top:10px}.upkeep-list{flex-direction:column;gap:14px;margin-top:16px;display:flex}.upkeep-row{border:1.5px solid var(--line);border-radius:var(--radius-sm);background:color-mix(in srgb, var(--surface-2) 60%, transparent);padding:13px 14px}.upkeep-head{justify-content:space-between;align-items:baseline;gap:10px;display:flex}.upkeep-label{font-size:.94rem;font-weight:600}.upkeep-monthly{font-family:var(--font-display);color:var(--accent-text);white-space:nowrap;font-size:.9rem;font-weight:700}.upkeep-controls{flex-wrap:wrap;align-items:center;gap:8px;margin-top:10px;display:flex}.upkeep-money{border:1.5px solid var(--line-strong);background:var(--surface);border-radius:999px;align-items:center;gap:2px;min-height:38px;padding:0 12px;display:inline-flex}.upkeep-money:focus-within{border-color:var(--accent)}.upkeep-currency{color:var(--muted);font-size:.9rem}.upkeep-money input[type=number].upkeep-amount{width:5.5ch;min-height:0;font:inherit;font-variant-numeric:tabular-nums;color:inherit;-webkit-appearance:textfield;appearance:textfield;background:0 0;border:0;padding:0;font-size:.95rem}.upkeep-amount:focus{outline:none}.upkeep-amount::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.upkeep-amount::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.upkeep-every{color:var(--muted);align-items:center;gap:8px;font-size:.9rem;display:inline-flex}.upkeep-interval{border:1.5px solid var(--line-strong);background:var(--surface);min-height:38px;font:inherit;color:inherit;border-radius:999px;padding:6px 10px;font-size:.9rem}.upkeep-note{color:var(--muted);margin:9px 0 0;font-size:.78rem;line-height:1.45}.upkeep-total{border-top:1.5px solid var(--line-strong);justify-content:space-between;align-items:baseline;gap:12px;margin-top:16px;padding-top:13px;display:flex}.upkeep-total-label{font-size:.96rem;font-weight:600}.upkeep-reset{margin-top:12px}.field-slider{margin-top:20px}.field-slider-head{justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:9px;display:flex}.field-slider-head label{font-size:.94rem;font-weight:500}input[type=range]{-webkit-appearance:none;appearance:none;background:var(--line-strong);cursor:pointer;border-radius:999px;width:100%;height:6px;margin:6px 0}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;background:var(--accent);border:3px solid var(--surface);cursor:pointer;border-radius:50%;width:22px;height:22px;box-shadow:0 1px 4px #00000040}input[type=range]::-moz-range-thumb{border:3px solid var(--surface);background:var(--accent);cursor:pointer;border-radius:50%;width:22px;height:22px;box-shadow:0 1px 4px #00000040}input[type=range]:focus-visible{outline:3px solid color-mix(in srgb, var(--accent) 45%, white);outline-offset:4px}.field.inline{justify-content:space-between;align-items:center;gap:12px;margin-top:14px;display:flex}.field.inline label,.field.inline>span{flex:auto;min-width:0;font-size:.94rem;font-weight:500}.field.inline input[type=number]{flex:none;width:6.5em}.field.field-pills{flex-direction:column;align-items:stretch;gap:8px;margin-top:14px;display:flex}.field.field-pills>span{font-size:.94rem;font-weight:500}.field.field-pills .pill-group{grid-template-columns:repeat(auto-fit,minmax(110px,1fr));display:grid}.field.field-pills .pill-btn{text-align:center}.machine-list{grid-template-columns:repeat(auto-fit,minmax(148px,1fr));gap:12px;display:grid}.machine-card{text-align:left;border:1.5px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--surface);cursor:pointer;transition:border-color .2s var(--ease), box-shadow .25s var(--ease), transform .2s var(--ease), background .25s var(--ease);flex-direction:column;gap:4px;padding:16px;display:flex;position:relative;overflow:hidden}.machine-card:hover{border-color:var(--accent);box-shadow:var(--shadow);transform:translateY(-3px)}.machine-card:active{transform:translateY(-1px)scale(.995)}.machine-card.selected{border-color:var(--accent);background:linear-gradient(160deg, var(--surface), var(--accent-soft));box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 26%, transparent), var(--shadow)}.machine-card.selected:after{content:"✓";width:22px;height:22px;color:var(--accent-ink);background:linear-gradient(145deg, var(--btn-2), var(--btn-1));border-radius:50%;place-items:center;font-size:.72rem;font-weight:800;display:grid;position:absolute;top:10px;right:10px;box-shadow:0 2px 6px -1px #b06a1f99}.machine-img{object-fit:contain;background:var(--surface-2);border-radius:10px;width:76px;height:76px;margin-bottom:6px}.machine-art{background:linear-gradient(135deg, var(--surface-2) 0%, var(--line) 100%);width:76px;height:76px;color:var(--accent-text);stroke-width:2px;transition:background .25s var(--ease), color .25s var(--ease);border-radius:10px;flex-shrink:0;margin-bottom:6px;padding:8px}.machine-card.selected .machine-art{background:linear-gradient(135deg, color-mix(in srgb, var(--accent) 12%, var(--surface-2)), color-mix(in srgb, var(--accent) 26%, var(--line)));color:var(--accent)}.machine-art-fallback{display:block}.machine-badges{flex-wrap:wrap;gap:4px;margin-bottom:2px;display:flex}.machine-badges .machine-badge{margin-bottom:0}.machine-badge{text-transform:uppercase;letter-spacing:.05em;color:var(--accent-ink);background:linear-gradient(145deg, var(--btn-2), var(--btn-1));border-radius:var(--radius-pill);align-self:flex-start;margin-bottom:2px;padding:2px 7px;font-size:.62rem;font-weight:800;display:inline-block}.machine-tier{text-transform:uppercase;letter-spacing:.08em;color:var(--accent-text);font-size:.68rem;font-weight:700}.machine-name{color:var(--heading);font-size:1.02rem;font-weight:700}.machine-price{font-family:var(--font-display);color:var(--heading);font-size:1.1rem;font-weight:600}.machine-blurb{color:var(--muted);font-size:.82rem;line-height:1.45}details summary{cursor:pointer;font-family:var(--font-display);color:var(--heading);letter-spacing:-.015em;align-items:center;gap:12px;font-size:clamp(1.25rem,3.4vw,1.5rem);font-weight:600;list-style:none;display:flex}details summary::-webkit-details-marker{display:none}details summary:after{content:"";border-right:2.5px solid var(--accent);border-bottom:2.5px solid var(--accent);width:9px;height:9px;transition:transform .25s var(--ease);margin-left:auto;transform:rotate(45deg)}details[open] summary:after{transform:rotate(225deg)}.opt{font-family:var(--font-sans);color:var(--muted);letter-spacing:0;font-size:.85rem;font-weight:500}.results{background:radial-gradient(120% 100% at 50% 0%, #d8a85e1a, transparent 55%), linear-gradient(165deg, var(--surface), var(--surface-2));border-color:var(--line-strong);box-shadow:var(--shadow-lg)}.results h2{justify-content:center;margin-bottom:18px}.result-grid{gap:4px 8px;margin-bottom:18px;display:grid}.result-grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}.result-grid--2{grid-template-columns:repeat(2,minmax(0,1fr))}.result{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-sm);box-shadow:var(--shadow-sm);flex-direction:column;gap:4px;padding:12px 10px;display:flex}@supports (grid-template-rows:subgrid){.result-grid>.result{grid-row:span 3;grid-template-rows:subgrid;display:grid}}.result-label{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-size:.68rem;font-weight:600;line-height:1.3}.result-value{font-family:var(--font-display);font-optical-sizing:auto;letter-spacing:-.02em;color:var(--heading);font-variant-numeric:tabular-nums;text-wrap:balance;font-size:clamp(.95rem,4.2vw,1.45rem);font-weight:600;line-height:1.15}.result-value--neg{color:var(--bad)}.result-sub{color:var(--muted);text-wrap:balance;font-size:.74rem;line-height:1.35}@media (max-width:380px){.result-label{letter-spacing:.04em;font-size:.64rem}}@media (max-width:359px){.result-grid--3{grid-template-columns:repeat(2,minmax(0,1fr))}.result-grid--3>.result:nth-child(3){grid-column:1/-1;margin-top:4px}}@media (min-width:520px){.result-grid{column-gap:12px}.result{padding:14px 16px}}.result-context{text-align:center;color:var(--accent-text);margin:4px 0 12px;font-size:.88rem;font-weight:600}.result-context:empty{display:none}.eco-impact{background:radial-gradient(120% 80% at 100% 0%, #2f7d521a, transparent 62%), linear-gradient(180deg, var(--eco-soft), var(--good-soft));border:1px solid var(--eco-line);border-radius:var(--radius);box-shadow:var(--shadow-sm);margin:0 0 18px;padding:16px 16px 14px;font-size:.85rem}.eco-impact-title{font-family:var(--font-sans);text-transform:uppercase;letter-spacing:.07em;color:var(--eco-ink);align-items:center;gap:8px;margin:0 0 12px;font-size:.78rem;font-weight:800;display:flex}.eco-impact-badge{border-radius:var(--radius-pill);width:26px;height:26px;color:var(--eco-ink);background:#2f7d5224;flex:none;justify-content:center;align-items:center;display:inline-flex}.eco-impact-badge-icon{width:16px;height:16px}.eco-impact-stats{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px;display:grid}.eco-impact-stat{background:color-mix(in srgb, var(--surface) 72%, transparent);border:1px solid var(--eco-line);border-radius:var(--radius-sm);flex-direction:column;gap:2px;padding:10px 12px 12px;display:flex}.eco-impact-glyphs{height:30px;color:var(--good);align-items:flex-end;margin-bottom:6px;display:flex}.eco-impact-glyph-row{stroke-width:1.5px;flex:auto;width:100%;min-width:0;height:100%}.eco-glyph--ghost{opacity:.35}.eco-impact-weight-icon{flex:none;width:27px;height:27px}.eco-impact-figure{font-family:var(--font-display);letter-spacing:-.02em;color:var(--eco-ink);font-variant-numeric:tabular-nums;margin:0;font-size:clamp(1.5rem,5.6vw,1.95rem);font-weight:700;line-height:1.05}.eco-impact-unit{font-size:.62em;font-weight:600}.eco-impact-caption{color:var(--eco-ink);margin:2px 0 0;font-size:.78rem;font-weight:600;line-height:1.35}.eco-impact-period{color:var(--eco-ink);margin:10px 0 0;font-size:.8rem;font-weight:600}.eco-impact-note{color:var(--muted);margin:6px 0 0}.eco-impact-sources{color:var(--muted);margin:6px 0 0;font-size:.76rem}.eco-impact-sources a{color:inherit;text-decoration:underline}.eco-impact-more{margin:8px 0 0;font-size:.8rem;font-weight:700}.eco-impact-more a{color:var(--eco-ink);text-decoration:none}.eco-impact-more a:hover{text-decoration:underline}.chart-wrap{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-sm);box-shadow:var(--shadow-sm);margin:8px 0 12px;padding:14px 18px 10px}.chart-head{margin-bottom:12px}.chart-title{color:var(--ink);margin:0;font-size:.95rem;font-weight:700}.chart-caption{color:var(--muted);text-wrap:balance;margin:3px 0 0;font-size:.78rem;line-height:1.45}.chart-plot{touch-action:pan-y;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;position:relative}.chart-plot:focus-visible{outline:2px solid var(--accent-text);outline-offset:3px;border-radius:4px}.timeline-svg{width:100%;height:116px;display:block;overflow:visible}.chart-be-flag,.chart-readout,.chart-zero-label{white-space:nowrap;pointer-events:none;font-variant-numeric:tabular-nums;font-size:.64rem;font-weight:700;line-height:1.4;position:absolute}.chart-zero-label{color:var(--muted);margin-right:6px;font-size:.62rem;font-weight:600;line-height:1;right:100%;transform:translateY(-50%)}.chart-be-flag{color:var(--accent-ink);background:var(--good-fill);border-radius:var(--radius-pill);box-shadow:var(--shadow-sm);padding:2px 8px;top:-3px;transform:translate(-50%)}.chart-be-flag:after{content:"";border-left:4px solid #0000;border-right:4px solid #0000;border-top:4px solid var(--good-fill);width:0;height:0;position:absolute;bottom:-4px;left:50%;transform:translate(-50%)}.chart-readout{color:var(--heading);background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--radius-pill);box-shadow:var(--shadow-sm);padding:2px 8px;top:-3px;transform:translate(-50%)}.chart-be-flag--left,.chart-readout--left{left:0;transform:none}.chart-be-flag--right,.chart-readout--right{left:auto;right:0;transform:none}.chart-be-flag--left:after,.chart-be-flag--right:after{display:none}.chart-wrap.is-scrubbing .chart-be-flag{opacity:.35}.chart-be-dot,.chart-end-dot,.chart-cursor-dot{background:var(--good);width:8px;height:8px;box-shadow:0 0 0 2.5px var(--surface);pointer-events:none;border-radius:50%;position:absolute;transform:translate(-50%,-50%)}.chart-end-dot--neg,.chart-cursor.is-neg .chart-cursor-dot{background:var(--bad)}.chart-cursor{background:color-mix(in srgb, var(--heading) 45%, transparent);pointer-events:none;width:1px;margin-left:-.5px;position:absolute;top:0;bottom:0}.chart-cursor-dot{top:0;left:50%}.chart-ticks{height:.85rem;color:var(--muted);margin-top:3px;font-size:.68rem;line-height:1.2;position:relative}.chart-ticks:empty{display:none}.chart-ticks span{white-space:nowrap;position:absolute;top:0;transform:translate(-50%)}.chart-labels{color:var(--muted);justify-content:space-between;margin-top:6px;font-size:.72rem;font-weight:500;display:flex}.chart-ticks:not(:empty)+.chart-labels{margin-top:2px}.chart-label-right{font-variant-numeric:tabular-nums;font-weight:700}.chart-zero,.chart-tick{stroke-width:1px;vector-effect:non-scaling-stroke;shape-rendering:crispedges}.chart-zero{stroke:var(--line-strong)}.chart-tick{stroke:var(--line)}.chart-area{opacity:.1}.chart-area--pos{fill:var(--good)}.chart-area--neg{fill:var(--bad)}.chart-line{fill:none;stroke-width:2.5px;stroke-linecap:round;stroke-linejoin:round}.chart-line--pos{stroke:var(--good)}.chart-line--neg{stroke:var(--bad)}.chart-be-line{stroke:var(--good);stroke-width:1px;vector-effect:non-scaling-stroke;opacity:.55}.bean-list{grid-template-columns:repeat(auto-fill,minmax(144px,1fr));gap:10px;margin-top:4px;display:grid}.bean-card{text-align:left;border:1.5px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--surface);cursor:pointer;transition:border-color .2s var(--ease), box-shadow .25s var(--ease), transform .2s var(--ease), background .25s var(--ease);flex-direction:column;gap:4px;padding:12px 14px 13px;display:flex;position:relative;overflow:hidden}.bean-card:hover{border-color:var(--accent);box-shadow:var(--shadow);transform:translateY(-2px)}.bean-card:active{transform:translateY(0)}.bean-card.selected{border-color:var(--accent);background:linear-gradient(160deg, var(--surface), var(--accent-soft));box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 26%, transparent), var(--shadow)}.bean-card.selected:after{content:"✓";width:18px;height:18px;color:var(--accent-ink);background:linear-gradient(145deg, var(--btn-2), var(--btn-1));border-radius:50%;place-items:center;font-size:.65rem;font-weight:800;display:grid;position:absolute;top:8px;right:8px}.organic-badge{text-transform:uppercase;letter-spacing:.07em;color:var(--good);background:var(--good-soft);border-radius:4px;align-self:flex-start;margin-bottom:1px;padding:2px 5px;font-size:.62rem;font-weight:700;display:inline-block}.bean-name{color:var(--heading);font-size:.88rem;font-weight:700;line-height:1.25}.bean-bag{color:var(--muted);font-size:.74rem;line-height:1.3}.bean-shot{font-family:var(--font-display);color:var(--accent-text);margin-top:2px;font-size:.94rem;font-weight:600}.bean-card--custom{border-style:dashed}.bean-card--decline{background:var(--surface-2);border-style:dashed}.bean-card--decline .bean-name,.bean-card--decline .bean-shot{color:var(--muted)}.bean-card--decline.selected .bean-name,.bean-card--decline.selected .bean-shot{color:var(--accent-text)}.decline-note{color:var(--ink);background:var(--surface-2);border:1px solid var(--line-strong);border-left:3px solid var(--accent);border-radius:var(--radius-sm);margin:12px 0 0;padding:11px 14px;font-size:.84rem;line-height:1.5}.bean-custom{border:1.5px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--accent-soft);margin-top:14px;padding:14px 16px}.bean-custom-fields{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:6px 20px;display:grid}.bean-custom-fields .field.inline{margin-top:8px}.bean-custom-fields input{max-width:110px}.bean-custom-readout{font-family:var(--font-display);color:var(--accent-text);margin:12px 0 0;font-size:.95rem;font-weight:600}.milk-list{grid-template-columns:repeat(auto-fill,minmax(126px,1fr));gap:10px;margin-top:4px;display:grid}.milk-card{text-align:left;border:1.5px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--surface);cursor:pointer;transition:border-color .2s var(--ease), box-shadow .25s var(--ease), transform .2s var(--ease), background .25s var(--ease);flex-direction:column;gap:3px;padding:11px 13px 12px;display:flex;position:relative;overflow:hidden}.milk-card:hover{border-color:var(--accent);box-shadow:var(--shadow);transform:translateY(-2px)}.milk-card:active{transform:translateY(0)}.milk-card.selected{border-color:var(--accent);background:linear-gradient(160deg, var(--surface), var(--accent-soft));box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 26%, transparent), var(--shadow)}.milk-card.selected:after{content:"✓";width:17px;height:17px;color:var(--accent-ink);background:linear-gradient(145deg, var(--btn-2), var(--btn-1));border-radius:50%;place-items:center;font-size:.62rem;font-weight:800;display:grid;position:absolute;top:7px;right:7px}.milk-name{color:var(--heading);font-size:.86rem;font-weight:700;line-height:1.25}.milk-detail{font-family:var(--font-display);color:var(--accent-text);margin-top:2px;font-size:.9rem;font-weight:600}.milk-serving{color:var(--muted);font-size:.72rem}.milk-custom{border:1.5px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--accent-soft);margin-top:14px;padding:14px 16px}.milk-custom-fields{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:6px 20px;display:grid}.milk-custom-fields .field.inline{margin-top:8px}.milk-custom-fields input{max-width:110px}.milk-custom-fields select{font:inherit;border:1.5px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--surface);color:inherit;cursor:pointer;padding:6px 8px}.milk-custom-readout{font-family:var(--font-display);color:var(--accent-text);margin:12px 0 0;font-size:.95rem;font-weight:600}.cta-btn{text-align:center;background:linear-gradient(135deg, var(--btn-2) 0%, var(--btn-1) 100%);color:var(--accent-ink);letter-spacing:.01em;border-radius:var(--radius-sm);box-shadow:var(--shadow-gold);isolation:isolate;transition:transform .2s var(--ease), box-shadow .25s var(--ease), filter .2s var(--ease);padding:17px 22px;font-size:1.05rem;font-weight:700;text-decoration:none;display:block;position:relative;overflow:hidden}.cta-btn:before{content:"";z-index:-1;transition:transform .7s var(--ease);background:linear-gradient(100deg,#0000 30%,#ffffff59 50%,#0000 70%);position:absolute;top:0;bottom:0;left:0;right:0;transform:translate(-120%)}.cta-btn:hover{filter:brightness(1.04);transform:translateY(-2px);box-shadow:0 14px 34px -8px #b06a1f8c}.cta-btn:hover:before{transform:translate(120%)}.cta-btn:active{transform:translateY(0)}.bean-cta-btn{text-align:center;border:1.5px solid var(--line-strong);background:var(--surface);color:var(--accent-text);border-radius:var(--radius-sm);transition:background .2s var(--ease), border-color .2s var(--ease), transform .2s var(--ease), box-shadow .2s var(--ease);margin-top:10px;padding:12px 18px;font-size:.95rem;font-weight:600;text-decoration:none;display:block}.bean-cta-btn:hover{background:var(--accent-soft);border-color:var(--accent);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.bean-cta-btn:active{transform:translateY(0)}.how-body{color:var(--muted);margin-top:16px;font-size:.92rem;line-height:1.6}.how-body>p{margin:0 0 14px}.formula-list{background:var(--surface-2);border:1px solid var(--line);border-radius:var(--radius-sm);grid-template-columns:auto 1fr;gap:10px 18px;margin:0 0 14px;padding:16px;display:grid}.formula-list dt{color:var(--heading);white-space:nowrap;font-weight:700}.formula-list dd{margin:0}.how-note{opacity:.85;margin:0;font-size:.82rem}.share-wrap{text-align:center;margin-top:14px}.ghost-btn:disabled{opacity:.6;cursor:default}.reset-link{font:inherit;color:var(--muted);cursor:pointer;text-underline-offset:3px;transition:color .2s var(--ease);background:0 0;border:none;margin:12px auto 0;padding:0;font-size:.78rem;text-decoration:underline;display:block}.reset-link:hover{color:var(--bad)}.disclosure{text-align:center;color:var(--muted);padding:8px 8px 12px;font-size:.82rem}.disclosure p{margin:5px 0}.disclosure .fine{opacity:.85;font-size:.76rem}.site-nav{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:22px;padding-top:12px;padding-bottom:14px;display:flex}.brand--nav{padding-left:2px}.brand{color:inherit;align-items:center;gap:10px;text-decoration:none;display:inline-flex}.brand-mark{filter:drop-shadow(0 3px 8px #b06a1f59);border-radius:10px;flex-shrink:0;width:32px;height:32px}.brand-lockup{flex-direction:column;line-height:1;display:inline-flex}.brand-word{font-family:var(--font-display);font-optical-sizing:auto;letter-spacing:-.01em;color:var(--heading);white-space:nowrap;font-size:1.28rem;font-weight:600}.brand-diy{background:linear-gradient(100deg, var(--accent), var(--crema) 70%, var(--gold));-webkit-text-fill-color:transparent;color:var(--accent);-webkit-background-clip:text;background-clip:text}.brand-tag{font-family:var(--font-sans);letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin-top:3px;font-size:.6rem;font-weight:700}.brand--nav .brand-word{font-size:1.15rem}.brand--nav .brand-mark{width:30px;height:30px}.brand--hero{gap:14px;margin:0 auto 22px}.brand--hero .brand-mark{border-radius:clamp(15px,3.7vw,19px);width:clamp(52px,12.5vw,68px);height:clamp(52px,12.5vw,68px)}.brand--hero .brand-word{font-size:clamp(2rem,7vw,2.9rem)}.brand--hero .brand-tag{margin-top:7px;font-size:clamp(.62rem,1.8vw,.72rem)}.site-nav-links{flex-wrap:wrap;gap:8px;display:flex}.site-nav-links a{color:var(--accent-text);border-radius:var(--radius-pill);transition:background .18s var(--ease), color .18s var(--ease);padding:6px 12px;font-size:.88rem;font-weight:600;text-decoration:none}.site-nav-links a:hover{background:var(--accent-soft)}.site-nav-links a[aria-current=page]{background:linear-gradient(145deg, var(--btn-2), var(--btn-1));color:var(--accent-ink)}.nav-soon{letter-spacing:.06em;text-transform:uppercase;vertical-align:1px;opacity:.75;margin-left:2px;font-size:.62rem;font-weight:700}.content-page{gap:18px}.article h1{font-family:var(--font-display);color:var(--heading);margin:0 0 12px;font-size:clamp(1.7rem,5vw,2.3rem);font-weight:600;line-height:1.15}.article h2{font-family:var(--font-display);color:var(--heading);margin:26px 0 8px;font-size:1.3rem;font-weight:600}.article h3{color:var(--accent-text);margin:18px 0 6px;font-size:1.05rem;font-weight:700}.article p{color:var(--ink);margin:0 0 14px}.article li{margin-bottom:6px}.article-lede{color:var(--muted);font-size:1.08rem}.breadcrumb{color:var(--muted);margin-bottom:14px;font-size:.8rem}.breadcrumb a{color:var(--accent-text);text-decoration:none}.breadcrumb span[aria-current]{color:var(--ink);font-weight:600}.review-cta{color:var(--accent-ink);background:linear-gradient(145deg, var(--btn-2), var(--btn-1));border-radius:var(--radius-pill);box-shadow:var(--shadow-gold);transition:transform .12s var(--ease), box-shadow .2s var(--ease);margin:6px 0 18px;padding:13px 22px;font-weight:700;text-decoration:none;display:inline-block}.review-cta:hover{transform:translateY(-2px)}.review-cta--alt{color:var(--accent-text);background:var(--surface);border:1.5px solid var(--accent);box-shadow:var(--shadow-sm)}.buy-cta{justify-content:center;align-items:center;gap:12px;display:flex}.review-cta.buy-cta{display:inline-flex}.buy-cta>svg{flex:none;width:22px;height:22px}.buy-text{text-align:left;flex-direction:column;min-width:0;display:flex}.buy-note{opacity:.88;font-size:.84em;font-weight:600}.compare-table-wrap{margin:0 0 18px;overflow-x:auto}.compare-table{border-collapse:collapse;width:100%;min-width:460px;font-size:.92rem}.compare-table th,.compare-table td{text-align:left;border-bottom:1px solid var(--line);vertical-align:top;padding:10px 12px}.compare-table thead th{font-family:var(--font-display);color:var(--heading);border-bottom:2px solid var(--line)}.compare-table tbody th{color:var(--ink);white-space:nowrap;font-weight:700}.compare-table a{color:var(--accent);text-decoration:none}.compare-table .price{color:var(--heading);white-space:nowrap;font-weight:700}.compare-table--matrix th,.compare-table--matrix td{vertical-align:middle;padding:10px 12px;line-height:1.35}.compare-table--matrix tbody th[scope=row]{min-width:172px}.compare-table--matrix .hint{color:var(--muted);margin:0;font-size:.78rem;font-weight:400;line-height:1.35;display:block}.compare-table--matrix .compare-row--diy td{color:var(--muted);font-style:italic}.compare-table--matrix .compare-row--diy .price{font-style:normal}.table-scroll-hint{color:var(--muted);margin:-10px 0 16px;font-size:.78rem;display:none}.brand-notes{margin:0 0 20px;padding:0;font-size:.88rem}.brand-note{border-bottom:1px solid var(--line);grid-template-columns:minmax(120px,.32fr) 1fr;gap:4px 14px;padding:7px 0;display:grid}.brand-note:last-child{border-bottom:0}.brand-note dt{color:var(--ink);font-weight:700}.brand-note dd{color:var(--muted);margin:0}@media (max-width:480px){.brand-note{grid-template-columns:1fr}}.site-footer{border-top:1px solid var(--line);text-align:center;margin-top:8px;padding-top:18px}.site-footer-cta{color:var(--accent-text);margin-bottom:12px;font-weight:700;text-decoration:none;display:inline-block}.site-footer-disclosure{color:var(--muted);margin:0 0 6px;font-size:.8rem}.site-footer-fine{color:var(--muted);margin:0;font-size:.74rem}.onboarding-reopen{left:auto;right:calc(env(safe-area-inset-right,0px) + 16px);bottom:calc(env(safe-area-inset-bottom) + 16px);z-index:900;border-radius:var(--radius-pill);background:linear-gradient(135deg, var(--btn-2) 0%, var(--btn-1) 100%);color:var(--accent-ink);font:inherit;letter-spacing:.01em;cursor:pointer;box-shadow:var(--shadow-gold);transition:transform .14s var(--ease), box-shadow .2s var(--ease);border:none;align-items:center;gap:7px;padding:11px 20px;font-size:.9rem;font-weight:700;display:inline-flex;position:fixed}.onboarding-reopen:hover{transform:translateY(-2px);box-shadow:0 14px 34px -8px #b06a1f8c}.onboarding-reopen:active{transform:translateY(0)}@media (max-width:480px){.onboarding-reopen{padding:9px 14px;font-size:.82rem}}body.has-sticky-cta .onboarding-reopen{bottom:calc(env(safe-area-inset-bottom) + 82px)}.sticky-cta{left:50%;bottom:calc(env(safe-area-inset-bottom) + 14px);z-index:950;border:1.5px solid var(--line-strong);border-radius:var(--radius);background:var(--surface);width:min(100% - 24px,560px);box-shadow:var(--shadow-lg);transition:transform .32s var(--ease);align-items:center;gap:10px;padding:12px 12px 12px 16px;display:flex;position:fixed;transform:translate(-50%)translateY(140%)}.sticky-cta.sticky-cta--shown{transform:translate(-50%)translateY(0)}.sticky-cta[hidden]{display:none}.sticky-cta-savings{font-family:var(--font-display);color:var(--heading);white-space:nowrap;flex:none;font-size:.92rem;font-weight:600}.sticky-cta-link{width:44px;height:44px;color:var(--accent-ink);background:linear-gradient(135deg, var(--btn-2) 0%, var(--btn-1) 100%);box-shadow:var(--shadow-gold);transition:transform .18s var(--ease), box-shadow .2s var(--ease);border-radius:50%;flex:none;place-items:center;margin-left:auto;text-decoration:none;display:grid}.sticky-cta-link svg{width:20px;height:20px}.sticky-cta-link[hidden]{display:none}.sticky-cta-link:hover{transform:translateY(-1px);box-shadow:0 14px 34px -8px #b06a1f8c}.sticky-cta-jump{text-align:center;cursor:pointer;font:inherit;color:var(--accent-ink);background:linear-gradient(135deg, var(--btn-2) 0%, var(--btn-1) 100%);border-radius:var(--radius-pill);white-space:nowrap;box-shadow:var(--shadow-gold);transition:transform .18s var(--ease), box-shadow .2s var(--ease);border:none;flex:auto;padding:9px 14px;font-size:.85rem;font-weight:700;text-decoration:none}.sticky-cta-jump:hover{transform:translateY(-1px);box-shadow:0 14px 34px -8px #b06a1f8c}.sticky-cta-dismiss{background:var(--surface-2);width:26px;height:26px;color:var(--muted);cursor:pointer;transition:background .18s var(--ease), color .18s var(--ease);border:none;border-radius:50%;flex-shrink:0;place-items:center;font-size:1.05rem;line-height:1;display:grid}.sticky-cta-dismiss:hover{background:var(--line);color:var(--ink)}body.onboarding-open{overflow:hidden}.onboarding-overlay{z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:onboarding-fade .25s var(--ease);background:#21130b8c;justify-content:center;align-items:center;padding:clamp(8px,3vw,28px);display:flex;position:fixed;top:0;bottom:0;left:0;right:0}.onboarding-overlay[hidden]{display:none}.onboarding-modal{background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--radius-lg);width:min(620px,100%);max-height:min(92dvh,860px);box-shadow:var(--shadow-lg);animation:onboarding-pop .32s var(--ease);flex-direction:column;display:flex;overflow:hidden}.onboarding-head{border-bottom:1px solid var(--line);background:var(--surface);flex:none;padding:16px clamp(20px,4vw,28px) 12px}.onboarding-progress{border-radius:var(--radius-pill);background:var(--surface-2);height:5px;overflow:hidden}.onboarding-progress-bar{border-radius:inherit;background:linear-gradient(90deg, var(--accent-2), var(--accent));width:12.5%;height:100%;transition:width .35s var(--ease);display:block}.onboarding-head-row{justify-content:space-between;align-items:center;gap:12px;margin-top:12px;display:flex}.onboarding-head-text{flex-direction:column;gap:6px;display:flex}.onboarding-stages{flex-wrap:wrap;align-items:center;gap:6px;margin:0;padding:0;list-style:none;display:flex}.onboarding-stage{color:var(--muted);align-items:center;gap:6px;font-size:.76rem;font-weight:600;display:inline-flex}.onboarding-stage+.onboarding-stage:before{content:"";background:var(--line-strong);width:14px;height:1px}.onboarding-stage-dot{border:1px solid var(--line-strong);background:var(--surface);width:20px;height:20px;color:var(--muted);border-radius:50%;place-items:center;font-size:.7rem;font-weight:700;display:inline-grid}.onboarding-stage.is-current{color:var(--heading);font-weight:700}.onboarding-stage.is-current .onboarding-stage-dot{background:linear-gradient(145deg, var(--btn-2), var(--btn-1));color:var(--accent-ink);border-color:#0000}.onboarding-stage.is-done .onboarding-stage-dot{border-color:var(--good);background:var(--good-soft);color:var(--eco-ink)}@media (max-width:460px){.onboarding-stage:not(.is-current) .onboarding-stage-label{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}}.onboarding-step-count{letter-spacing:.08em;text-transform:uppercase;color:var(--accent-text);margin:0;font-size:.72rem;font-weight:700}.onboarding-close{border:1px solid var(--line-strong);border-radius:var(--radius-pill);background:var(--surface);width:34px;height:34px;color:var(--muted);cursor:pointer;transition:background .18s var(--ease), color .18s var(--ease), border-color .18s var(--ease);flex:none;place-items:center;font-size:1rem;line-height:1;display:grid}.onboarding-close:hover{background:var(--surface-2);color:var(--ink);border-color:var(--line-strong)}.onboarding-pin{background:var(--surface-2);border:1px solid var(--line);border-radius:var(--radius-sm);flex-wrap:wrap;align-items:center;gap:8px;margin-top:10px;padding:8px 12px;font-size:.82rem;display:flex}.onboarding-pin-label{color:var(--muted)}.onboarding-pin-name{color:var(--heading)}.onboarding-pin-clear{margin-left:auto;padding:4px 12px;font-size:.8rem}.onboarding-body{-webkit-overflow-scrolling:touch;flex:auto;padding:4px 0;overflow-y:auto}.onboarding-body>.card{width:100%;box-shadow:none;border:none;border-radius:0;margin:0;transform:none}.onboarding-body>.results{box-shadow:none;border:none;border-radius:0}.onboarding-body>.card>details>summary{cursor:default}.onboarding-body h2:focus{outline:none}.onboarding-body h2:focus-visible{outline:3px solid var(--accent-text);outline-offset:2px;border-radius:4px}.onboarding-intro{flex-direction:column;gap:14px;padding:clamp(20px,4vw,28px);display:flex}.onboarding-intro-icon{background:var(--accent-soft);border:1px solid var(--line-strong);width:52px;height:52px;color:var(--accent-text);border-radius:50%;place-items:center;display:grid}.onboarding-intro-icon .form-phase-icon{width:26px;height:26px}.onboarding-intro-title{font-family:var(--font-display);font-optical-sizing:auto;color:var(--heading);margin:0;font-size:clamp(1.4rem,4.4vw,1.75rem);font-weight:600;line-height:1.15}.onboarding-intro-lead{color:var(--ink);margin:0;font-size:1rem;line-height:1.55}.onboarding-intro-aside{color:var(--muted);margin:0;font-size:.88rem;line-height:1.5}.onboarding-callout{border-radius:var(--radius-sm);border:1px solid var(--line-strong);border-left:4px solid var(--accent);background:var(--surface-2);padding:14px 16px}.onboarding-callout-label{letter-spacing:.07em;text-transform:uppercase;color:var(--accent-text);margin:0 0 4px;font-size:.74rem;font-weight:700}.onboarding-callout-text{color:var(--ink);margin:0;font-size:.92rem;line-height:1.5}.onboarding-benchmark{border-radius:var(--radius-sm);background:linear-gradient(135deg, var(--espresso) 0%, var(--espresso-deep) 100%);box-shadow:var(--shadow);flex-direction:column;gap:2px;padding:16px 18px;display:flex;position:relative;overflow:hidden}.onboarding-benchmark:before{content:"";pointer-events:none;background:radial-gradient(140% 120% at 0 0,#d8a85e4d,#0000 60%);position:absolute;top:0;bottom:0;left:0;right:0}.onboarding-benchmark>*{margin:0;position:relative}.onboarding-benchmark-label{letter-spacing:.07em;text-transform:uppercase;color:var(--crema);font-size:.74rem;font-weight:600}.onboarding-benchmark-value{font-family:var(--font-display);color:var(--surface);font-size:clamp(1.9rem,7vw,2.4rem);font-weight:600;line-height:1.1}.onboarding-benchmark-unit{font-family:var(--font-sans);color:var(--accent-2);font-size:.95rem;font-weight:600}.onboarding-benchmark-sub{color:color-mix(in srgb, var(--surface) 82%, transparent);font-size:.86rem;line-height:1.45}.onboarding-intro-steps-label{letter-spacing:.07em;text-transform:uppercase;color:var(--muted);margin:0 0 8px;font-size:.74rem;font-weight:700}.onboarding-intro-step-list{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.onboarding-intro-step-list li{color:var(--heading);align-items:center;gap:10px;font-size:.94rem;font-weight:600;display:flex}.onboarding-intro-step-list li:before{content:"";background:var(--accent);border-radius:50%;flex:none;width:7px;height:7px}.onboarding-body .flavor-buy{display:none}.onboarding-foot{border-top:1px solid var(--line);background:var(--surface);flex:none;align-items:center;gap:12px;padding:14px clamp(20px,4vw,28px);display:flex}.onboarding-foot-hint{text-align:center;color:var(--muted);flex:auto;font-size:.76rem}.onboarding-back{flex:none}.onboarding-next{flex:none;width:auto;padding:12px 24px;font-size:.95rem;display:inline-block}@keyframes onboarding-fade{0%{opacity:0}to{opacity:1}}@keyframes onboarding-pop{0%{opacity:0;transform:translateY(14px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}@media (max-width:520px){.onboarding-modal{border:none;border-radius:0;width:100%;height:100dvh;max-height:100dvh}.onboarding-overlay{padding:0}.onboarding-foot-hint{display:none}.onboarding-next{flex:auto}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}.drink-parade{width:100%;max-width:540px;height:auto;margin:clamp(18px,4.5vw,30px) auto 0;display:block;overflow:visible}.drink-parade .dp-vessel,.drink-parade .dp-line{fill:none;stroke:var(--heading);stroke-opacity:.62;stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round}.drink-parade .dp-line{stroke-width:1.4px;stroke-opacity:.42}.drink-parade .dp-vessel-fill{fill:color-mix(in srgb, var(--surface) 82%, transparent)}.drink-parade .dp-shine{fill:none;stroke:#fff;stroke-opacity:.7;stroke-width:2.4px;stroke-linecap:round}.drink-parade .dp-cap{fill:color-mix(in srgb, var(--espresso) 72%, transparent)}.drink-parade .dp-shadow{fill:var(--espresso);opacity:.09}.drink-parade .dp-shelf{stroke:url(#dp-shelf-grad);stroke-width:1.2px}.drink-parade .dp-glass{--dp-liquid:var(--accent);--dp-head:color-mix(in srgb, var(--dp-liquid) 28%, #fffaf2)}.drink-parade .dp-glass--espresso{--dp-liquid:#4a2c18;--dp-head:var(--crema)}.drink-parade .dp-glass--soda{--dp-liquid:#c2542f}.drink-parade .dp-glass--kombucha{--dp-liquid:#bb8a2e}.drink-parade .dp-glass--electrolytes{--dp-liquid:#4f90a8}.drink-parade .dp-glass--cold-brew{--dp-liquid:#35200f;--dp-head:#f3e3cd}.drink-parade .dp-glass--beer{--dp-liquid:#dfa632;--dp-head:#fdf3e0}.drink-parade .dp-glass--water{--dp-liquid:#8fc2d4}.drink-parade .dp-liquid-body{fill:var(--dp-liquid)}.drink-parade .dp-liquid-head,.drink-parade .dp-foam{fill:var(--dp-head)}.drink-parade .dp-ice{fill:#fff;fill-opacity:.34;stroke:#fff;stroke-opacity:.5;stroke-width:1.1px}.drink-parade .dp-bolt{fill:var(--accent-ink);fill-opacity:.85}.drink-parade .dp-bubble{fill:#fff;opacity:0}.drink-parade .dp-steam{fill:none;stroke:var(--heading);stroke-opacity:.55;stroke-width:1.5px;stroke-linecap:round;opacity:0;transform-box:fill-box;transform-origin:50% 100%}.drink-parade .dp-liquid{animation:13s infinite dp-tide;animation-delay:calc(var(--dp-i) * .55s)}@keyframes dp-tide{0%{transform:translateY(var(--dp-travel));animation-timing-function:cubic-bezier(.2,.75,.3,1)}13%{transform:translateY(0)}70%{animation-timing-function:cubic-bezier(.6,0,.75,.4);transform:translateY(0)}84%,to{transform:translateY(var(--dp-travel))}}.drink-parade .dp-bubble{transform-box:fill-box;transform-origin:50%;animation:dp-rise var(--dp-bd) linear infinite;animation-delay:var(--dp-bdelay)}@keyframes dp-rise{0%{opacity:0;transform:translateY(0)scale(.65)}14%{opacity:.6}78%{opacity:.42}to{transform:translateY(calc(var(--dp-bt) * -1)) scale(1);opacity:0}}.drink-parade .dp-steam{animation:13s ease-in-out infinite dp-steam;animation-delay:var(--dp-sd)}@keyframes dp-steam{0%,15%{opacity:0;transform:translateY(5px)scaleY(.55)}32%{opacity:.42}46%{opacity:.3}58%,to{opacity:0;transform:translateY(-12px)scaleY(1.2)}}.drink-parade .dp-ice{animation:7s ease-in-out infinite dp-glint;animation-delay:var(--dp-gd)}@keyframes dp-glint{0%,to{fill-opacity:.3}50%{fill-opacity:.55}}.drink-parade .dp-bolt{animation:5s ease-in-out infinite dp-pulse}@keyframes dp-pulse{0%,to{fill-opacity:.85}50%{fill-opacity:.4}}@media (prefers-reduced-motion:reduce){.drink-parade .dp-liquid,.drink-parade .dp-ice,.drink-parade .dp-bolt{animation:none!important}.drink-parade .dp-liquid{transform:none}.drink-parade .dp-bubble,.drink-parade .dp-steam{display:none}}.brand--live{--dy-cycle:7.2s}.brand-mark--live{--dy-fill:13.3px}.brand-mark--live .dy-glass{fill:none;stroke:var(--accent-ink);stroke-width:2.1px;stroke-linejoin:round;stroke-linecap:round}.brand-mark--live .dy-glass-fill{fill:#fff;fill-opacity:.13}.brand-mark--live .dy-liquid-body{fill:var(--accent-ink);fill-opacity:.94}.brand-mark--live .dy-liquid-head{fill:#fff}.brand-mark--live .dy-drop{fill:var(--accent-ink);opacity:0}.brand-mark--live .dy-bubble{fill:var(--accent);fill-opacity:.45;opacity:0}.brand-mark--live .dy-sheen{opacity:0}.brand-mark--live .dy-liquid{animation:dy-pour var(--dy-cycle) infinite}@keyframes dy-pour{0%,10.4%{transform:translateY(var(--dy-fill));animation-timing-function:cubic-bezier(.2,.85,.3,1)}14.6%,24.3%{transform:translateY(calc(var(--dy-fill) * .64));animation-timing-function:cubic-bezier(.2,.85,.3,1)}28.5%,38.2%{transform:translateY(calc(var(--dy-fill) * .32));animation-timing-function:cubic-bezier(.2,.85,.3,1)}42.4%,82%{animation-timing-function:cubic-bezier(.55,0,.75,.35);transform:translateY(0)}90%,to{transform:translateY(var(--dy-fill))}}.brand-mark--live .dy-drop{transform-box:fill-box;transform-origin:50% 100%;animation:dy-drop var(--dy-cycle) cubic-bezier(.45, 0, .85, .5) infinite;animation-delay:var(--dy-dd)}@keyframes dy-drop{0%{opacity:0;transform:translateY(-12px)scale(.45)}1.5%{opacity:1}5.2%{opacity:1;animation-timing-function:linear;transform:translateY(0)scale(1)}6.4%{opacity:0;transform:translateY(1.2px)scale(1.45,.3)}6.5%,to{opacity:0;transform:translateY(-12px)scale(.45)}}.brand-mark--live .dy-bubble{transform-box:fill-box;transform-origin:50%;animation:dy-fizz var(--dy-cycle) linear infinite;animation-delay:var(--dy-bd)}@keyframes dy-fizz{0%{opacity:0;transform:translateY(0)scale(.5)}10%{opacity:.55}24%,to{opacity:0;transform:translateY(-11px)scale(1)}}.brand-mark--live .dy-sheen{transform-box:view-box;transform-origin:20px 20px;animation:dy-sheen var(--dy-cycle) ease-in-out infinite}@keyframes dy-sheen{0%,44%{opacity:0;transform:translate(0)skew(-18deg)}47%{opacity:.85}56%,to{opacity:0;transform:translate(64px)skew(-18deg)}}.brand--live .brand-diy{transform-origin:50% 90%;animation:dy-lift var(--dy-cycle) var(--ease) infinite;animation-delay:var(--dy-kd);display:inline-block}@keyframes dy-lift{0%{transform:translateY(0)scale(1)}3%{transform:translateY(-3px)scale(1.06)}9%,to{transform:translateY(0)scale(1)}}.brand-tag--keyed{color:var(--muted)}.brand-tag-key b{color:var(--accent-text);border-bottom:1.5px solid color-mix(in srgb, var(--accent) 50%, transparent);font-weight:800}.brand--live .brand-tag-key{animation:dy-say var(--dy-cycle) ease-in-out infinite;animation-delay:var(--dy-kd)}@keyframes dy-say{0%,1%{color:var(--muted)}4%,10%{color:var(--heading)}20%,to{color:var(--muted)}}@media (prefers-reduced-motion:reduce){.brand-mark--live .dy-liquid{transform:none;animation:none!important}.brand-mark--live .dy-drop,.brand-mark--live .dy-bubble,.brand-mark--live .dy-sheen{display:none}.brand--live .brand-diy,.brand--live .brand-tag-key{animation:none!important}.brand--live .brand-diy{transform:none}}.hub-grid{grid-template-columns:1fr;gap:14px;margin-top:18px;display:grid}@media (min-width:560px){.hub-grid{grid-template-columns:repeat(2,1fr)}}.hub-card{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow-sm);color:var(--ink);transition:transform .18s var(--ease), box-shadow .18s var(--ease), border-color .18s var(--ease);flex-direction:column;gap:4px;padding:20px 18px;text-decoration:none;display:flex}.hub-card:hover{box-shadow:var(--shadow);border-color:var(--accent);transform:translateY(-2px)}.hub-card:focus-visible{box-shadow:var(--shadow);border-color:var(--accent);transform:translateY(-2px)}.hub-card-icon{width:44px;height:44px;color:var(--accent-text);stroke-width:1.8px;flex-shrink:0;align-self:center;margin-bottom:4px}.hub-card-name{font-family:var(--font-display);font-size:1.15rem;font-weight:600}.hub-card-tagline{color:var(--muted);font-size:.92rem}.hub-card-cta{color:var(--accent-ink);margin-top:8px;font-size:.9rem;font-weight:600}.hub-card--soon{cursor:default;background:var(--surface-2);box-shadow:none;border-style:dashed}.hub-card--soon .hub-card-icon,.hub-card--soon .hub-card-name{color:var(--muted)}.hub-card--soon:hover{box-shadow:none;border-color:var(--line);transform:none}.hub-card--soon:focus-visible{box-shadow:none;border-color:var(--line);transform:none}.hub-card-soon-badge{color:var(--muted);margin-top:8px;font-size:.9rem;font-weight:600}.legal-disclaimer-short{color:var(--muted);background:var(--surface-2);border:1px solid var(--line);border-radius:var(--radius-sm);margin:0 0 4px;padding:10px 14px;font-size:.84rem;line-height:1.5}.safety-note{color:var(--muted);background:var(--surface-2);border:1px solid var(--line);border-radius:var(--radius-sm);margin:24px 0 0;padding:10px 14px;font-size:.84rem;line-height:1.5}.safety-note a{color:inherit;white-space:nowrap}.legal-disclaimer{color:var(--muted);font-size:.86rem;line-height:1.6}.legal-disclaimer h2{font-size:1.05rem}.legal-disclaimer p{margin:0 0 12px}.legal-disclaimer p:last-child{margin-bottom:0}.legal-disclaimer strong{color:var(--ink)}.goal-chips{flex-wrap:wrap;gap:8px;margin:4px 0 10px;display:flex}.goal-chip{border:1.5px solid var(--line-strong);background:var(--surface);color:var(--muted);border-radius:var(--radius-pill);font:inherit;cursor:pointer;transition:background .18s var(--ease), color .18s var(--ease), border-color .18s var(--ease), transform 80ms var(--ease);align-items:center;gap:6px;padding:9px 16px;font-size:.88rem;font-weight:600;display:inline-flex}.goal-chip:hover:not(.selected){background:var(--accent-soft);border-color:var(--accent);color:var(--accent-text)}.goal-chip:active{transform:scale(.96)}.goal-chip.selected{background:linear-gradient(145deg, var(--btn-2), var(--btn-1));color:var(--accent-ink);box-shadow:var(--shadow-sm);border-color:#0000}.goal-chip:focus-visible{outline:3px solid var(--accent-text);outline-offset:2px}.goal-blurb{color:var(--muted);margin:4px 0 0;font-size:.88rem;line-height:1.5}.bean-card--goal{gap:3px;padding:13px 14px 14px}.goal-card-emoji{margin-bottom:4px;font-size:1.45rem;line-height:1}.goal-card-case{color:var(--muted);font-size:.78rem;line-height:1.4}.bean-card--goal.selected .goal-card-case{color:var(--ink)}.bean-list+.goal-blurb{margin-top:14px}.dial-status{background:var(--surface-2);border:1px solid var(--line);border-radius:var(--radius-sm);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 12px;margin:2px 0 16px;padding:10px 14px;display:flex}.dial-status-text{color:var(--heading);font-size:.88rem;font-weight:600}.dial-status-text.is-tuned{color:var(--accent-text)}.dial-reset{padding:6px 13px;font-size:.8rem}.dose-field-head{justify-content:space-between;align-items:baseline;gap:8px;margin-bottom:6px;display:flex}.dose-field-head .dose-field-label{margin-bottom:0}.dose-field-suggested{color:var(--muted);white-space:nowrap;font-size:.76rem}.dial-recipe{background:var(--accent-soft);border:1.5px solid var(--line-strong);border-radius:var(--radius-sm);padding:14px 16px}.dial-recipe-list{margin:0;padding:0;list-style:none}.dial-recipe-list li{color:var(--ink);border-bottom:1px dashed var(--line-strong);justify-content:space-between;align-items:baseline;gap:12px;padding:6px 0;font-size:.86rem;display:flex}.dial-recipe-amount{font-variant-numeric:tabular-nums;flex-shrink:0;font-weight:600}.dial-recipe-total{color:var(--heading);justify-content:space-between;align-items:baseline;margin:10px 0 0;font-size:.9rem;font-weight:600;display:flex}.dial-recipe-total strong{font-family:var(--font-display);color:var(--accent-text);font-size:1.2rem}.dial-recipe-note,.dial-recipe-empty{color:var(--muted);margin:8px 0 0;font-size:.78rem;line-height:1.45}.dial-recipe-empty{margin:0}.beta-badge{vertical-align:middle;font-family:var(--font-sans,inherit);letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;color:var(--accent-text);background:var(--accent-soft);border:1px solid var(--accent);border-radius:999px;margin-left:4px;padding:2px 8px;font-size:.68rem;font-weight:700;display:inline-block}.beta-note{max-width:46ch;color:var(--muted);text-align:left;background:var(--surface-2);border:1px solid var(--line);border-radius:var(--radius-sm);margin:14px auto 0;padding:10px 14px;font-size:.84rem;line-height:1.55}.beta-note .beta-badge{margin:0 6px 0 0}.ors-warning{color:#6b4a12;border-radius:var(--radius-sm);background:#fbeecb;border:1.5px solid #e3b559;margin-top:12px;padding:12px 14px;font-size:.86rem;font-weight:600;line-height:1.5}.dose-fields{grid-template-columns:1fr;gap:16px;margin-bottom:16px;display:grid}.dose-field-label{color:var(--ink);margin-bottom:6px;font-size:.92rem;font-weight:600;display:block}.dose-field-unit{color:var(--muted);font-weight:500}.dose-field-controls{align-items:center;gap:12px;display:flex}.dose-field-controls input[type=range]{accent-color:var(--accent);flex:auto}.dose-field-controls input[type=number]{border:1.5px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--surface);width:76px;color:var(--ink);font:inherit;flex-shrink:0;padding:7px 8px;font-size:.92rem}.dose-field-controls input[type=number]:focus-visible{outline:3px solid var(--accent-text);outline-offset:2px}.dose-field-controls input[type=range]:focus-visible{outline:3px solid var(--accent-text);outline-offset:2px}.mix-options{grid-template-columns:1fr;gap:12px;display:grid}.mix-option{color:var(--ink);flex-direction:column;gap:5px;font-size:.88rem;font-weight:600;display:flex}.mix-option select,.mix-option input[type=number]{border:1.5px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--surface);color:var(--ink);font:inherit;padding:9px 10px;font-size:.92rem}.mix-option select:focus-visible{outline:3px solid var(--accent-text);outline-offset:2px}.mix-option input:focus-visible{outline:3px solid var(--accent-text);outline-offset:2px}.mix-option--checkbox{flex-direction:row;align-items:center;gap:9px}.mix-option--checkbox input[type=checkbox]{width:18px;height:18px;accent-color:var(--accent)}.mix-results{flex-direction:column;gap:18px;display:flex}.recipe-row{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:4px 12px;padding:10px 0;display:flex}.recipe-row:last-child{border-bottom:none}.recipe-row-name{color:var(--ink);font-weight:600}.recipe-row-amount{color:var(--accent-text);font-size:.92rem;font-weight:600}.recipe-row-tsp{color:var(--muted);font-weight:500}.recipe-row-batch{color:var(--muted);flex-basis:100%;font-size:.84rem}.recipe-note{color:var(--muted);margin:14px 0 0;font-size:.84rem;line-height:1.5}.recipe-empty{color:var(--muted);font-size:.9rem}.shopping-list-subhead{font-family:var(--font-display);color:var(--heading);margin:18px 0 4px;font-size:1.02rem;font-weight:600}.shopping-row{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding:10px 0;display:flex}.shopping-row:last-child{border-bottom:none}.shopping-row-main{flex-direction:column;gap:2px;min-width:0;display:flex}.shopping-row-name{color:var(--ink);font-weight:600}.shopping-row-price{color:var(--muted);font-size:.84rem}.comparison-strip .comparison-row{border-radius:var(--radius-sm);justify-content:space-between;align-items:center;gap:12px;padding:9px 12px;display:flex}.comparison-strip .comparison-row+.comparison-row{margin-top:4px}.comparison-row--mine{background:var(--accent-soft);font-weight:700}.comparison-row--match:not(.comparison-row--mine){background:var(--surface-2)}.comparison-name{color:var(--ink)}.comparison-row--mine .comparison-name{color:var(--accent-text)}.comparison-price{font-variant-numeric:tabular-nums;color:var(--ink)}.comparison-match,.comparison-savings{color:var(--accent-text);margin:12px 0 0;font-size:.9rem;font-weight:600;line-height:1.5}.mix-advanced{border-top:1px solid var(--line);margin-top:14px;padding-top:12px}.mix-advanced>summary{cursor:pointer;color:var(--accent-text);font-size:.9rem;font-weight:700}.mix-advanced>summary:focus-visible{outline:3px solid var(--accent-text);outline-offset:2px;border-radius:var(--radius-sm)}.mix-advanced .hint{margin:10px 0 12px}.source-rows{flex-direction:column;gap:12px;display:flex}.source-row{border-bottom:1px solid var(--line);grid-template-columns:1fr;gap:8px 12px;padding:10px 0;display:grid}.source-row:last-child{border-bottom:none}.source-mineral{color:var(--ink);font-weight:700}.source-row select,.source-fixed{border:1.5px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--surface);color:var(--ink);font:inherit;padding:8px 10px;font-size:.9rem}.source-fixed{color:var(--muted)}.source-field{color:var(--muted);align-items:center;gap:6px;font-size:.82rem;font-weight:600;display:flex}.source-field input{border:1.5px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--surface);width:100%;color:var(--ink);font:inherit;padding:7px 8px;font-size:.9rem}.source-row select:focus-visible{outline:3px solid var(--accent-text);outline-offset:2px}.source-field input:focus-visible{outline:3px solid var(--accent-text);outline-offset:2px}.mix-profile{color:var(--muted);margin:12px 0 0;font-size:.86rem;line-height:1.6}.mix-profile b{color:var(--ink);font-variant-numeric:tabular-nums}.cost-comp{margin-top:16px}.cost-comp-head{justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:8px;display:flex}.cost-comp-title{color:var(--ink);font-size:.92rem;font-weight:700}.cost-comp-total{color:var(--accent-text);font-variant-numeric:tabular-nums;font-weight:700}.cost-comp-bar{border-radius:var(--radius-pill);background:var(--surface-2);border:1px solid var(--line);height:14px;display:flex;overflow:hidden}.cost-comp-seg{height:100%;transition:width .25s var(--ease)}.cost-comp-seg--mineral{background:var(--accent)}.cost-comp-seg--extra{background:var(--muted)}.cost-comp-seg--flavor{background:#e08a3c}.cost-comp-legend{color:var(--muted);flex-wrap:wrap;gap:6px 16px;margin-top:10px;font-size:.82rem;display:flex}.cost-comp-key{align-items:center;gap:6px;display:inline-flex}.cost-comp-key b{color:var(--ink)}.cost-comp-cents{color:var(--muted);font-variant-numeric:tabular-nums}.cost-comp-dot{border-radius:2px;flex:none;width:9px;height:9px;display:inline-block}.cost-comp-dot--mineral{background:var(--accent)}.cost-comp-dot--extra{background:var(--muted)}.cost-comp-dot--flavor{background:#e08a3c}@media (min-width:700px){.dose-fields{grid-template-columns:repeat(2,1fr)}.mix-options{grid-template-columns:repeat(3,1fr)}.source-row{grid-template-columns:1.1fr 1.6fr 1fr 1fr;align-items:center}}.trust-pill{border-radius:var(--radius-pill);background:var(--accent-soft);border:1px solid var(--line-strong);color:var(--accent-text);letter-spacing:.01em;transition:transform .18s var(--ease), box-shadow .18s var(--ease), border-color .18s var(--ease);align-items:center;gap:7px;margin-top:18px;padding:9px 18px;font-size:.82rem;font-weight:700;text-decoration:none;display:inline-flex}.trust-pill:hover{box-shadow:var(--shadow-sm);border-color:var(--accent);transform:translateY(-1px)}.trust-pill:focus-visible{box-shadow:var(--shadow-sm);border-color:var(--accent);transform:translateY(-1px)}.trust-pill svg{flex-shrink:0;width:14px;height:14px;display:block}.trust-strip{border:1px solid color-mix(in srgb, var(--good) 30%, var(--line));border-radius:var(--radius-sm);background:linear-gradient(160deg, var(--good-soft), var(--surface) 70%);text-align:center;margin:0 0 18px;padding:18px clamp(14px,4vw,24px)}.trust-badges{flex-wrap:wrap;justify-content:center;gap:8px;margin:0 0 10px;display:flex}.trust-badge{border-radius:var(--radius-pill);background:var(--surface);border:1px solid var(--line-strong);color:var(--heading);white-space:nowrap;align-items:center;gap:6px;padding:6px 13px;font-size:.78rem;font-weight:700;display:inline-flex}.trust-badge-icon{flex-shrink:0;width:15px;height:15px;display:block}.trust-promise{margin:0;max-width:62ch;color:var(--muted);margin-inline-start:auto;margin-inline-end:auto;font-size:.86rem;line-height:1.55}.trust-link{color:var(--accent-text);white-space:nowrap;margin-left:4px;font-weight:700;text-decoration:none;display:inline-block}.trust-link:hover{text-decoration:underline}.footer-nav{flex-wrap:wrap;justify-content:center;gap:6px;margin-bottom:14px;display:flex}.footer-nav a{color:var(--accent-text);border-radius:var(--radius-pill);transition:background .18s var(--ease), color .18s var(--ease);padding:6px 12px;font-size:.84rem;font-weight:600;text-decoration:none}.footer-nav a:hover{background:var(--accent-soft)}.footer-nav a[aria-current=page]{background:linear-gradient(145deg, var(--btn-2), var(--btn-1));color:var(--accent-ink)}.article ul li strong{color:var(--heading)}.hero{padding-top:clamp(30px,6vw,52px);padding-bottom:6px}.hero .eyebrow{margin-bottom:20px}.hero h1{margin-bottom:16px}.hero .tagline{margin-bottom:4px}.hub-card-cta{color:var(--accent-text)}.hub-card-teaser{font-family:var(--font-display);color:var(--good);align-items:center;margin-top:6px;font-size:.86rem;font-weight:600;display:inline-flex}.hub-card-teaser--fallback{font-family:var(--font-sans);color:var(--muted)}.hub-more{text-align:center;text-wrap:balance;margin:14px 0 0;font-size:.92rem}.hub-more .trust-link{white-space:normal;margin-left:0}.hub-deals .eyebrow{margin-bottom:10px}.hub-deals h2{margin-bottom:14px}.hub-deal{border:1px solid color-mix(in srgb, var(--keep) 30%, var(--line));border-radius:var(--radius-sm);background:color-mix(in srgb, var(--keep) 8%, var(--surface));grid-template-columns:auto minmax(0,1fr);align-items:center;gap:12px 14px;padding:14px;display:grid}.hub-deal-art{background:var(--surface);width:64px;height:64px;color:var(--accent-text);stroke-width:2px;border-radius:10px;padding:8px}.hub-deal-body p,.hub-deal-name{margin:0}.hub-deal-drink{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-size:.74rem;font-weight:600}.hub-deal-name{font-family:var(--font-display);letter-spacing:-.01em;text-wrap:balance;color:var(--heading);margin:2px 0 6px;font-size:1.1rem;font-weight:600;line-height:1.25}.hub-deal-price{flex-wrap:wrap;align-items:center;gap:4px 8px;display:flex}.hub-deal-price .pw-deal{align-self:center}.hub-deal-now{font-family:var(--font-display);font-variant-numeric:tabular-nums;color:var(--heading);font-size:1.35rem;font-weight:600}.hub-deal-body .hub-deal-was{color:var(--muted);margin-top:2px;font-size:.8rem}.hub-deal-cta{grid-column:1/-1;padding:12px 20px;font-size:.95rem}.hub-deals-more{color:var(--muted);margin:14px 0 0;font-size:.9rem;line-height:1.6}.hub-deals-more a{color:var(--accent-text);text-underline-offset:2px;font-weight:600;text-decoration:underline;text-decoration-thickness:1px}.hub-deals-more a:hover{text-decoration-thickness:2px}.hub-deals .pw-note{color:var(--muted);margin:12px 0 0;font-size:.8rem}@media (min-width:560px){.hub-deal{grid-template-columns:auto minmax(0,1fr) auto}.hub-deal-cta{white-space:nowrap;grid-column:auto}}.why-drinkiy{padding:clamp(8px,2vw,14px) 4px 4px}.why-drinkiy h2{text-align:center;font-family:var(--font-display);font-optical-sizing:auto;letter-spacing:-.015em;color:var(--heading);margin:0 0 16px;font-size:clamp(1.35rem,3.6vw,1.7rem);font-weight:600}.why-grid{grid-template-columns:1fr;gap:14px;display:grid}@media (min-width:720px){.why-grid{grid-template-columns:repeat(3,1fr)}@supports (grid-template-rows:subgrid){.why-grid{grid-template-rows:auto auto;row-gap:10px}.why-pillar{grid-row:span 2;grid-template-rows:subgrid}}}.why-pillar{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm);transition:transform .2s var(--ease), box-shadow .2s var(--ease);grid-template-columns:auto minmax(0,1fr);align-content:start;align-items:center;gap:10px 12px;padding:clamp(18px,3.4vw,24px);display:grid}.why-pillar:hover{box-shadow:var(--shadow);transform:translateY(-2px)}.why-icon{background:var(--accent-soft);width:38px;height:38px;color:var(--accent-text);border-radius:12px;grid-area:1/1;padding:8px;display:block}.why-pillar h3{font-family:var(--font-display);text-wrap:balance;color:var(--heading);grid-area:1/2;margin:0;font-size:1.05rem;font-weight:600;line-height:1.25}.why-pillar p{color:var(--muted);grid-column:1/-1;align-self:start;margin:0;font-size:.9rem;line-height:1.55}.why-pillar a{color:var(--accent-text);white-space:nowrap;font-weight:600;text-decoration:none}.why-pillar a:hover{text-decoration:underline}.notfound-hint{color:var(--muted);margin:0 0 10px;font-size:.88rem}.notfound-links{flex-wrap:wrap;gap:8px;display:flex}.notfound-links a{border:1.5px solid var(--line-strong);border-radius:var(--radius-pill);color:var(--accent-text);transition:background .18s var(--ease), border-color .18s var(--ease), transform .18s var(--ease);align-items:center;gap:6px;padding:8px 14px;font-size:.86rem;font-weight:600;text-decoration:none;display:inline-flex}.notfound-links a:hover{background:var(--accent-soft);border-color:var(--accent);transform:translateY(-1px)}.trust-line{color:var(--muted);text-align:center;justify-content:center;align-items:flex-start;gap:6px;margin:10px 0 0;padding:0 4px;font-size:.78rem;line-height:1.4;display:flex}.trust-line[hidden]{display:none}.trust-line-icon{width:14px;height:14px;color:var(--good);flex-shrink:0;margin-top:1px}.trust-line em{color:var(--accent-text);font-style:normal;font-weight:600}.disclosure-badge{border-radius:var(--radius-pill);background:var(--accent-soft);color:var(--accent-text);align-items:center;gap:6px;margin:0 0 6px;padding:5px 12px;font-size:.78rem;display:inline-flex}.disclosure-badge .trust-line-icon{width:13px;height:13px;color:var(--good)}.disclosure-badge strong{color:var(--accent-text);font-weight:800}.results-empty{border:1.5px dashed var(--line-strong);border-radius:var(--radius-sm);background:var(--accent-soft);color:var(--accent-text);text-align:center;justify-content:center;align-items:center;gap:8px;margin:0 0 18px;padding:14px 18px;font-size:.92rem;font-weight:600;display:flex}.results-empty[hidden]{display:none}.results .savings-hero,.results .result-grid,.results .anatomy,.results .chart-wrap,.machine-compare-card .machine-compare-list{transition:opacity .3s var(--ease), filter .3s var(--ease)}.results.is-empty .savings-hero,.results.is-empty .result-grid,.results.is-empty .anatomy,.results.is-empty .chart-wrap,.machine-compare-card.is-empty .machine-compare-list{opacity:.42;filter:saturate(.55)}.chart-label-right,.field-readout-value,.mc-meta{font-variant-numeric:tabular-nums}.mc-pick:focus-visible{outline:3px solid var(--accent-text);outline-offset:-2px;border-radius:var(--radius-sm)}.mc-row:hover:not(.selected){border-color:var(--line-strong);background:color-mix(in srgb, var(--surface-2) 55%, transparent)}#share-btn{transition:background .2s var(--ease), color .2s var(--ease), border-color .2s var(--ease), transform 80ms var(--ease), box-shadow .2s var(--ease)}#share-btn.share-btn--success{background:var(--surface);border-color:var(--good);color:var(--good)}#share-btn.share-btn--pop{animation:share-btn-pop .35s var(--ease)}@keyframes share-btn-pop{0%{transform:scale(1)}45%{transform:scale(1.07)}to{transform:scale(1)}}.reset-wrap{flex-wrap:wrap;justify-content:center;align-items:center;gap:6px 16px;margin-top:12px;display:flex}.reset-wrap .reset-link{margin:0}.reset-link--confirm{color:var(--bad);font-weight:700}.reset-link--confirm:hover{color:var(--bad);opacity:.85}.reset-link--cancel:hover{color:var(--ink)}.machine-card.is-revealing,.accessory-card.is-revealing{transition:none}.onboarding-progress{height:6px}.embed-page{margin:0}.app--embed{gap:14px;padding:0 14px 24px}.embed-bar{z-index:5;border-bottom:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow-sm);flex-wrap:wrap;align-items:center;gap:8px 14px;margin:0 -14px 4px;padding:8px 14px;display:flex;position:sticky;top:0}.embed-bar .brand{flex-shrink:0}.embed-bar-note{min-width:0;color:var(--muted);flex:180px;font-size:.74rem;line-height:1.35}.embed-bar-cta{color:var(--accent-text);white-space:nowrap;flex-shrink:0;font-size:.78rem;font-weight:700;text-decoration:none}.embed-bar-cta:hover{text-decoration:underline}.embed-bar-cta:focus-visible{text-decoration:underline}.app--embed .hero{padding-top:6px}.article{line-height:1.75}.article-lede{margin:0 0 6px;font-size:1.1rem;line-height:1.65}.article h2{margin:36px 0 12px;line-height:1.25}.article h2:first-of-type{margin-top:22px}.article h3{margin:22px 0 8px;line-height:1.3}.article p{margin:0 0 16px}.article ul{margin:0 0 18px;padding-left:22px}.article li{margin-bottom:8px;line-height:1.65}.article li:last-child{margin-bottom:0}.article strong{color:var(--heading);font-weight:700}.article em{color:var(--accent-text);font-style:italic}.article p a:not([class]),.article li:not(.cf-row) a:not([class]){color:var(--accent-text);text-underline-offset:.15em;text-decoration-thickness:1px}.compare-table{min-width:620px}.compare-table thead th:first-child,.compare-table tbody th[scope=row]{z-index:1;white-space:normal;background:var(--surface);min-width:132px;max-width:42vw;box-shadow:1px 0 0 var(--line);position:sticky;left:0}.compare-table tbody tr:hover th[scope=row],.compare-table tbody tr:hover td,.compare-table .compare-row--diy th[scope=row],.compare-table .compare-row--diy td{background:var(--accent-soft)}.compare-table th.num,.compare-table td.num{text-align:right;font-variant-numeric:tabular-nums}.compare-table .price,.compare-table--matrix td.num{white-space:nowrap}.compare-table-wrap{--table-edge-shadow:#3c281829;background:linear-gradient(to right, var(--surface) 55%, transparent) 0 0 / 34px 100% no-repeat local, linear-gradient(to left, var(--surface) 55%, transparent) 100% 0 / 34px 100% no-repeat local, radial-gradient(farthest-side at 0 50%, var(--table-edge-shadow), transparent) 0 0 / 13px 100% no-repeat scroll, radial-gradient(farthest-side at 100% 50%, var(--table-edge-shadow), transparent) 100% 0 / 13px 100% no-repeat scroll}.compare-table-wrap:focus-visible{outline:3px solid var(--accent-text);outline-offset:3px;border-radius:var(--radius-sm)}.compare-table--matrix{font-size:.86rem}@media (max-width:720px){.compare-table{font-size:.86rem}.compare-table th,.compare-table td,.compare-table--matrix th,.compare-table--matrix td{padding:9px 10px}.compare-table--matrix{font-size:.8rem}.table-scroll-hint{display:block}}@media (pointer:coarse){.compare-table td a,.compare-table th a{padding:5px 0;display:inline-block}}.trust-note{color:var(--muted);background:var(--surface-2);border:1px solid var(--line);border-left:3px solid var(--good);border-radius:var(--radius-sm);margin:0 0 24px;padding:11px 15px;font-size:.82rem;line-height:1.5}.trust-note a{color:var(--accent-text);font-weight:600;text-decoration:none}.trust-note a:hover{text-decoration:underline}.calc-callout{background:linear-gradient(155deg, var(--surface), var(--accent-soft) 130%);border:1.5px solid var(--accent);border-radius:var(--radius-sm);box-shadow:var(--shadow-sm);margin:22px 0;padding:clamp(18px,4vw,26px)}.calc-callout-eyebrow{text-transform:uppercase;letter-spacing:.08em;color:var(--accent-text);margin:0 0 6px;font-size:.72rem;font-weight:700}.calc-callout h2,.calc-callout h3{margin-top:0!important}.calc-callout p{color:var(--ink);margin:0 0 12px}.calc-callout-note{color:var(--accent-text);margin:0 0 16px;font-size:.86rem;font-weight:600}.calc-callout>p:last-child,.calc-callout>.review-cta,.calc-callout>.review-cta--alt{margin-bottom:0}.explore{padding:clamp(18px,4vw,26px)}.explore-heading{font-family:var(--font-display);color:var(--heading);margin:0 0 14px;font-size:1.2rem;font-weight:600}.explore-grid{grid-template-columns:1fr;gap:12px;display:grid}@media (min-width:640px){.explore-grid{grid-template-columns:repeat(3,1fr)}}.explore-card{color:inherit;background:var(--surface);border:1.5px solid var(--line-strong);border-radius:var(--radius-sm);transition:transform .2s var(--ease), box-shadow .2s var(--ease), border-color .2s var(--ease);flex-direction:column;gap:4px;padding:16px 18px;text-decoration:none;display:flex;position:relative}.explore-card:hover{border-color:var(--accent);box-shadow:var(--shadow);transform:translateY(-3px)}.explore-card:focus-visible{outline:3px solid var(--accent-text);outline-offset:2px}.explore-card--calc{background:linear-gradient(160deg, var(--surface), var(--accent-soft));border-color:var(--accent)}.explore-card-kicker{text-transform:uppercase;letter-spacing:.08em;color:var(--accent-text);font-size:.66rem;font-weight:700}.explore-card-title{font-family:var(--font-display);color:var(--heading);font-size:1rem;font-weight:600;line-height:1.3}.explore-card-teaser{color:var(--muted);font-size:.84rem;line-height:1.45}.explore-card-arrow{color:var(--accent-text);margin-top:auto;padding-top:6px;font-size:.84rem;font-weight:700}.video-reviews{margin-top:28px}.video-review-grid{grid-template-columns:1fr;gap:12px;margin:14px 0;display:grid}@media (min-width:640px){.video-review-grid{grid-template-columns:repeat(2,1fr)}}.video-review-card{color:inherit;background:var(--surface);border:1.5px solid var(--line-strong);border-radius:var(--radius-sm);transition:transform .2s var(--ease), box-shadow .2s var(--ease), border-color .2s var(--ease);align-items:flex-start;gap:14px;padding:16px 18px;text-decoration:none;display:flex}.video-review-card:hover{border-color:var(--accent);box-shadow:var(--shadow);transform:translateY(-3px)}.video-review-card:focus-visible{outline:3px solid var(--accent-text);outline-offset:2px}.video-review-play{color:var(--accent-text);flex:none}.video-review-play-icon{width:34px;height:34px;transition:transform .2s var(--ease);display:block}.video-review-card:hover .video-review-play-icon{transform:scale(1.08)}.video-review-body{flex-direction:column;gap:4px;min-width:0;display:flex}.video-review-kicker{text-transform:uppercase;letter-spacing:.08em;color:var(--accent-text);font-size:.66rem;font-weight:700}.video-review-title{font-family:var(--font-display);color:var(--heading);font-size:1rem;font-weight:600;line-height:1.3}.video-review-note{color:var(--muted);font-size:.84rem;line-height:1.45}.video-review-arrow{color:var(--accent-text);padding-top:6px;font-size:.84rem;font-weight:700}.video-reviews-intro{margin:6px 0 0}.video-reviews-disclosure{color:var(--muted);margin:4px 0 0;font-size:.8rem;line-height:1.5}.index-grid{grid-template-columns:1fr;gap:14px;margin:20px 0;display:grid}@media (min-width:640px){.index-grid{grid-template-columns:repeat(2,1fr)}}.index-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm);transition:transform .2s var(--ease), box-shadow .2s var(--ease), border-color .2s var(--ease);flex-direction:column;gap:6px;padding:20px 22px 44px;display:flex;position:relative}.index-card:hover{box-shadow:var(--shadow);border-color:var(--accent);transform:translateY(-2px)}.index-card--featured{background:linear-gradient(160deg, var(--surface), var(--accent-soft));border-color:var(--accent)}.index-card-meta{text-transform:uppercase;letter-spacing:.07em;color:var(--accent-text);font-size:.68rem;font-weight:700}.index-card-title{font-family:var(--font-display);color:var(--heading);margin:2px 0 0;font-size:1.15rem;font-weight:600;line-height:1.3}.index-card-title a{color:inherit;text-decoration:none}.index-card-title a:after{content:"";border-radius:inherit;position:absolute;top:0;bottom:0;left:0;right:0}.index-card-title a:focus-visible{outline:3px solid var(--accent-text);outline-offset:2px}.index-card-teaser{color:var(--muted);margin:0;font-size:.92rem;line-height:1.55}.index-card-arrow{color:var(--accent-text);transition:transform .2s var(--ease);font-size:1.05rem;font-weight:700;position:absolute;bottom:18px;right:22px}.index-card:hover .index-card-arrow{transform:translate(4px)}.embed-snippet-list{gap:14px;margin:18px 0 6px;display:grid}.embed-snippet{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface-2);padding:14px 16px 12px}.embed-snippet-title{align-items:center;gap:9px;margin:0 0 10px;font-size:1rem;display:flex}.embed-snippet-icon{width:28px;height:28px;color:var(--accent);flex-shrink:0}.embed-snippet-code{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);-moz-tab-size:2;tab-size:2;margin:0;padding:10px 12px;font-size:.76rem;line-height:1.55;overflow-x:auto}.embed-snippet-code code{white-space:pre}.embed-snippet-links{margin:9px 0 0;font-size:.82rem}.embed-snippet-links a{color:var(--accent-text);font-weight:600;text-decoration:none}.embed-snippet-links a:hover{text-decoration:underline}.embed-snippet-links a:focus-visible{text-decoration:underline}.ingredient-filter-target{height:0;scroll-margin-top:16px;display:block}.ingredient-filter{flex-wrap:wrap;gap:8px;margin:20px 0 10px;display:flex}.ingredient-filter-chip{color:var(--accent-text);background:var(--surface-2);border:1px solid var(--line);border-radius:var(--radius-pill);transition:border-color .18s var(--ease), background .18s var(--ease), color .18s var(--ease);align-items:center;gap:6px;padding:6px 12px;font-size:.86rem;font-weight:600;line-height:1.3;text-decoration:none;display:inline-flex}.ingredient-filter-chip:hover{background:var(--accent-soft);border-color:var(--accent)}.ingredient-filter-chip:focus-visible{outline:3px solid var(--accent-text);outline-offset:2px}.ingredient-filter-icon{stroke-width:2.4px;flex:none;width:20px;height:20px;margin-left:-4px}.article .ingredient-filter-hint{color:var(--muted);margin:0;font-size:.86rem;line-height:1.5}@supports not selector(:has(*)){.ingredient-filter,.article .ingredient-filter-hint{display:none}}.ingredient-library:not(:has(.ingredient-filter-target:target)) .ingredient-filter-chip[href=\#all-drinks]{background:linear-gradient(145deg, var(--btn-2), var(--btn-1));color:var(--accent-ink);border-color:#0000}.ingredient-library:has(#all-drinks:target) .ingredient-filter-chip[href=\#all-drinks]{background:linear-gradient(145deg, var(--btn-2), var(--btn-1));color:var(--accent-ink);border-color:#0000}.ingredient-library:has(#for-espresso:target) :-webkit-any(.ingredient-pick,.ingredient-category):not([data-drinks~=espresso]){display:none}.ingredient-library:has(#for-espresso:target) :is(.ingredient-pick,.ingredient-category):not([data-drinks~=espresso]){display:none}.ingredient-library:has(#for-espresso:target) .ingredient-filter-chip[href=\#for-espresso]{background:linear-gradient(145deg, var(--btn-2), var(--btn-1));color:var(--accent-ink);border-color:#0000}.ingredient-library:has(#for-soda:target) :-webkit-any(.ingredient-pick,.ingredient-category):not([data-drinks~=soda]){display:none}.ingredient-library:has(#for-soda:target) :is(.ingredient-pick,.ingredient-category):not([data-drinks~=soda]){display:none}.ingredient-library:has(#for-soda:target) .ingredient-filter-chip[href=\#for-soda]{background:linear-gradient(145deg, var(--btn-2), var(--btn-1));color:var(--accent-ink);border-color:#0000}.ingredient-library:has(#for-kombucha:target) :-webkit-any(.ingredient-pick,.ingredient-category):not([data-drinks~=kombucha]){display:none}.ingredient-library:has(#for-kombucha:target) :is(.ingredient-pick,.ingredient-category):not([data-drinks~=kombucha]){display:none}.ingredient-library:has(#for-kombucha:target) .ingredient-filter-chip[href=\#for-kombucha]{background:linear-gradient(145deg, var(--btn-2), var(--btn-1));color:var(--accent-ink);border-color:#0000}.ingredient-library:has(#for-electrolytes:target) :-webkit-any(.ingredient-pick,.ingredient-category):not([data-drinks~=electrolytes]){display:none}.ingredient-library:has(#for-electrolytes:target) :is(.ingredient-pick,.ingredient-category):not([data-drinks~=electrolytes]){display:none}.ingredient-library:has(#for-electrolytes:target) .ingredient-filter-chip[href=\#for-electrolytes]{background:linear-gradient(145deg, var(--btn-2), var(--btn-1));color:var(--accent-ink);border-color:#0000}.ingredient-library:has(#for-cold-brew:target) :-webkit-any(.ingredient-pick,.ingredient-category):not([data-drinks~=cold-brew]){display:none}.ingredient-library:has(#for-cold-brew:target) :is(.ingredient-pick,.ingredient-category):not([data-drinks~=cold-brew]){display:none}.ingredient-library:has(#for-cold-brew:target) .ingredient-filter-chip[href=\#for-cold-brew]{background:linear-gradient(145deg, var(--btn-2), var(--btn-1));color:var(--accent-ink);border-color:#0000}.ingredient-library:has(#for-water:target) :-webkit-any(.ingredient-pick,.ingredient-category):not([data-drinks~=water]){display:none}.ingredient-library:has(#for-water:target) :is(.ingredient-pick,.ingredient-category):not([data-drinks~=water]){display:none}.ingredient-library:has(#for-water:target) .ingredient-filter-chip[href=\#for-water]{background:linear-gradient(145deg, var(--btn-2), var(--btn-1));color:var(--accent-ink);border-color:#0000}.ingredient-library:has(#for-beer:target) :-webkit-any(.ingredient-pick,.ingredient-category):not([data-drinks~=beer]){display:none}.ingredient-library:has(#for-beer:target) :is(.ingredient-pick,.ingredient-category):not([data-drinks~=beer]){display:none}.ingredient-library:has(#for-beer:target) .ingredient-filter-chip[href=\#for-beer]{background:linear-gradient(145deg, var(--btn-2), var(--btn-1));color:var(--accent-ink);border-color:#0000}.ingredient-category{border-top:1px solid var(--line);margin:28px 0 0;padding-top:24px;scroll-margin-top:16px}.ingredient-category-head{margin-bottom:14px}.article h2.ingredient-category-title{font-family:var(--font-display);color:var(--heading);margin:0 0 6px;font-size:1.3rem;font-weight:600;line-height:1.25}.ingredient-category-title a{color:inherit;text-decoration:none}.ingredient-category-title a:hover{text-decoration:underline;-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent);text-underline-offset:3px}.ingredient-category-title a:focus-visible{outline:3px solid var(--accent-text);outline-offset:3px;border-radius:4px}.article .ingredient-category-blurb{color:var(--muted);margin:0 0 8px;font-size:.92rem;line-height:1.55}.article .ingredient-standard{margin:0;font-size:.86rem;line-height:1.5}.article .ingredient-category-more{margin:14px 0 0;font-size:.9rem;font-weight:600}.ingredient-category-more a{color:var(--accent-text);text-decoration:none}.ingredient-category-more a:hover{text-decoration:underline}.ingredient-category-more a:focus-visible{outline:3px solid var(--accent-text);outline-offset:2px;border-radius:4px}.article .ingredient-picks{grid-template-columns:minmax(0,1fr);gap:12px;margin:0;padding:0;list-style:none;display:grid}@media (min-width:640px){.article .ingredient-picks{grid-template-columns:repeat(2,minmax(0,1fr))}}.article .ingredient-picks--full{grid-template-columns:minmax(0,1fr);margin-top:4px}.article .ingredient-pick{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm);align-items:flex-start;gap:12px;margin:0;padding:16px;scroll-margin-top:16px;line-height:1.5;display:flex}.article .ingredient-pick--compact{gap:10px;padding:12px}.article .ingredient-pick:target{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft), var(--shadow-sm)}.ingredient-pick-art{background:var(--accent-soft);width:48px;height:48px;color:var(--accent-text);border-radius:12px;flex:none;padding:7px}@media (min-width:480px){.ingredient-pick-art{width:56px;height:56px;padding:8px}}.ingredient-pick-svg{stroke-width:2px;width:100%;height:100%;display:block}.ingredient-pick-body{flex-direction:column;flex:1 1 0;gap:6px;min-width:0;display:flex}.article .ingredient-pick-name{font-family:var(--font-display);color:var(--heading);overflow-wrap:break-word;margin:0;font-size:1rem;font-weight:600;line-height:1.3}.article .ingredient-pick-tags{flex-wrap:wrap;gap:4px;margin:0;display:flex}.ingredient-tag{letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;border-radius:var(--radius-pill);border:1px solid #0000;padding:2px 8px;font-size:.68rem;font-weight:700;line-height:1.4;display:inline-block}.ingredient-tag--clean{color:var(--eco-ink);background:var(--eco-soft);border-color:var(--eco-line)}.ingredient-tag--ethics{color:var(--accent-text);background:var(--accent-soft);border-color:var(--accent)}.ingredient-tag--label,.ingredient-tag--budget{color:var(--muted);background:var(--surface-2);border-color:var(--line)}.article .ingredient-pick-price{color:var(--muted);justify-content:space-between;align-items:center;gap:10px;margin:0;font-size:.9rem;display:flex}.article .ingredient-pick-blurb{margin:0;font-size:.9rem;line-height:1.55}.article .ingredient-pick-note{color:var(--muted);margin:0;font-size:.82rem;line-height:1.5}.article .ingredient-pick-serves{flex-direction:column;gap:6px;margin:4px 0 2px;padding:0;list-style:none;display:flex}.article .ingredient-pick-serves li{line-height:inherit;margin:0}.ingredient-pick-serves .ingredient-drink{border-radius:14px;flex-wrap:wrap;min-width:0;padding:5px 10px 5px 6px;display:flex}.ingredient-drink-cost{font-variant-numeric:tabular-nums;color:var(--muted);font-weight:500}.ingredient-pick-serves .ingredient-drink-cost{white-space:nowrap;flex:none;margin-left:auto;padding-left:6px}.article .ingredient-standard-box{background:var(--surface-2);border:1px solid var(--line);border-left:3px solid var(--good);border-radius:var(--radius-sm);margin:18px 0 22px;padding:14px 16px}.article .ingredient-standard-box p{margin:0 0 8px;font-size:.9rem;line-height:1.55}.article .ingredient-standard-box p:last-child{margin-bottom:0}.article .ingredient-standard-box .ingredient-standard-sources{color:var(--muted);font-size:.82rem}.ingredient-standard-sources a{color:var(--accent-text);font-weight:600;text-decoration:none}.ingredient-standard-sources a:hover{text-decoration:underline}.article .ingredient-premium{background:var(--accent-soft);border:1px solid var(--line-strong);border-radius:var(--radius-sm);margin:22px 0 16px;padding:14px 16px}.article .ingredient-premium-title{letter-spacing:.08em;text-transform:uppercase;color:var(--accent-text);margin:0 0 8px;font-size:.72rem;font-weight:700}.article .ingredient-premium ul{margin:0;padding:0;list-style:none}.article .ingredient-premium li{margin:0 0 8px;font-size:.92rem;line-height:1.55}.article .ingredient-premium li:last-child{margin-bottom:0}.article .ingredient-used-label{letter-spacing:.07em;text-transform:uppercase;color:var(--muted);margin:22px 0 8px;font-size:.68rem;font-weight:700}.article .ingredient-drinks{flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none;display:flex}.article .ingredient-drinks li{margin:0}.ingredient-drink{color:var(--accent-text);background:var(--surface-2);border:1px solid var(--line);border-radius:var(--radius-pill);transition:border-color .18s var(--ease), background .18s var(--ease);align-items:center;gap:6px;padding:4px 10px 4px 6px;font-size:.82rem;font-weight:600;text-decoration:none;display:inline-flex}.ingredient-drink:hover{background:var(--accent-soft);border-color:var(--accent)}.ingredient-drink:focus-visible{outline:3px solid var(--accent-text);outline-offset:2px}.ingredient-drink-icon{stroke-width:2.4px;flex:none;width:22px;height:22px}.article .ingredient-fine{color:var(--muted);margin:22px 0 0;font-size:.8rem;line-height:1.5}.ingredient-fine a{color:var(--accent-text);white-space:nowrap;font-weight:600;text-decoration:none}.ingredient-fine a:hover{text-decoration:underline}.article>.beta-note{max-width:none;margin:0}.cf{margin:22px 0 26px}.cf-head{margin:0 0 12px}.cf .cf-head .cf-title{font-family:var(--font-display);color:var(--heading);margin:0;font-size:clamp(1.15rem,3vw,1.35rem);font-weight:600;line-height:1.25}.cf .cf-sub,.cf .cf-note{color:var(--muted);margin:4px 0 0;font-size:.86rem;line-height:1.5}.cf .cf-note a{color:var(--accent-text);font-weight:700;text-decoration:none}.cf .cf-note a:hover{text-decoration:underline}.cf-rows{gap:10px;margin:0;padding:0;list-style:none;display:grid}.cf-row{border-radius:var(--radius-sm);transition:background-color .18s var(--ease);grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"art label value""art track track""art action action";align-items:center;row-gap:4px;padding:6px 8px;display:grid}.cf .cf-row{margin:0 -8px;line-height:1.3}.cf-row.is-emphasis{background:color-mix(in srgb, var(--good) 8%, var(--surface))}.cf-row:hover{background:var(--accent-soft)}.cf-art{width:40px;height:40px;color:var(--heading);stroke-width:2px;grid-area:art;margin-right:10px}.cf-art svg{width:100%;height:100%;display:block}.cf-label{flex-direction:column;grid-area:label;gap:1px;min-width:0;display:flex}.cf-name{color:var(--heading);flex-wrap:wrap;align-items:center;gap:3px 6px;font-weight:700;line-height:1.3;display:inline-flex}.cf-name .cf-chip{margin-left:0}.cf-name a{color:inherit;text-decoration:none}.cf-name a:hover{text-decoration:underline}.cf-meta{color:var(--muted);font-size:.8rem;line-height:1.35}.cf-track{background:var(--cf-track);border-radius:0 4px 4px 0;grid-area:track;height:20px;position:relative}.cf-bar{height:100%;width:calc(var(--v,0) * 100%);background:var(--cf-ink);transform-origin:0;border-radius:0 4px 4px 0;display:block}.cf-value{font-family:var(--font-display);color:var(--heading);font-variant-numeric:tabular-nums;white-space:nowrap;grid-area:value;justify-self:end;margin-left:10px;font-size:1.05rem;font-weight:600}.cf-action{grid-area:action;justify-self:end;margin-left:10px}@media (max-width:639.98px){.cf-rows:has(>.cf-row>.cf-action){grid-template-columns:auto minmax(0,1fr) auto;column-gap:0}.cf-row:has(>.cf-action){grid-column:1/-1;grid-template-areas:"art label value""art track action"}@supports (grid-template-columns:subgrid){.cf-row:has(>.cf-action){grid-template-columns:subgrid}}}@media (min-width:640px){.cf-rows{grid-template-columns:auto minmax(170px,1fr) minmax(0,2fr) auto auto;column-gap:0}.cf-row{grid-column:1/-1;grid-template-columns:auto minmax(170px,1fr) minmax(0,2fr) auto auto;grid-template-areas:"art label track value action"}@supports (grid-template-columns:subgrid){.cf-row{grid-template-columns:subgrid}}.cf-track,.cf-glyphs,.cf-empty{margin:0 10px}.cf-value{margin-left:0}}.cf--keep{--cf-ink:var(--keep);--cf-track:color-mix(in srgb, var(--keep) 12%, var(--surface))}.cf--keep-once{--cf-ink:var(--keep-once);--cf-track:color-mix(in srgb, var(--keep-once) 10%, var(--surface))}.cf--spend{--cf-ink:var(--spend);--cf-track:color-mix(in srgb, var(--spend) 8%, var(--surface))}.cf--dose{--cf-ink:var(--accent);--cf-track:color-mix(in srgb, var(--accent) 10%, var(--surface))}.cf-chip{vertical-align:middle;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;color:var(--accent-text);background:var(--accent-soft);border:1px solid var(--accent);border-radius:999px;margin-left:6px;padding:2px 8px;font-size:.68rem;font-weight:700;display:inline-block}.cf-chip--good{color:var(--eco-ink);background:var(--good-soft);border-color:var(--eco-line)}.cf-bar--range{top:0;left:calc(var(--lo) * 100%);width:calc((var(--hi) - var(--lo)) * 100%);border-radius:4px;position:absolute}.cf-marker{top:50%;left:calc(var(--v) * 100%);background:var(--surface);border:2.5px solid var(--cf-ink);border-radius:50%;width:10px;height:10px;position:absolute;transform:translate(-50%,-50%)}.cf-empty{color:var(--muted);grid-area:track;font-size:.84rem;line-height:1.4}.cf--keep{--cf-ink-soft:color-mix(in srgb, var(--keep) 35%, var(--surface))}.cf--keep-once{--cf-ink-soft:color-mix(in srgb, var(--keep-once) 30%, var(--surface))}.cf--spend{--cf-ink-soft:color-mix(in srgb, var(--spend) 28%, var(--surface))}.cf--dose{--cf-ink-soft:color-mix(in srgb, var(--accent) 38%, var(--surface))}.cf-bar--split{--cf-cut:calc((1 - var(--s,0)) * 100%);background:linear-gradient(to right, var(--cf-ink) 0 calc(var(--cf-cut) - 1px), var(--surface) calc(var(--cf-cut) - 1px) calc(var(--cf-cut) + 1px), var(--cf-ink-soft,var(--cf-track)) calc(var(--cf-cut) + 1px) 100%)}.cf .cf-key{color:var(--muted);flex-wrap:wrap;gap:6px 16px;margin:10px 0 0;padding:0;font-size:.8rem;list-style:none;display:flex}.cf .cf-key li{align-items:center;gap:6px;margin:0;line-height:1.4;display:inline-flex}.cf-key-swatch{background:var(--cf-ink);border-radius:0 3px 3px 0;flex:none;width:14px;height:10px}.cf-key-swatch--soft{background:var(--cf-ink-soft,var(--cf-track))}.cf-glyphs{color:var(--cf-ink);stroke-width:1.5px;grid-area:track;display:block}.cf-glyphs svg{width:100%;height:auto;max-height:40px;display:block}.cf-cell{min-width:72px;display:inline-block;position:relative}.cf-cell-bar{width:calc(var(--v) * 100%);background:var(--cf-cell-ink,color-mix(in srgb, var(--accent) 22%, transparent));border-radius:0 3px 3px 0;position:absolute;top:0;bottom:0;left:0;right:auto}.cf-cell-text{position:relative}.cf-mini{align-items:flex-end;gap:2px;height:34px;display:flex}.cf-mini i{max-width:32px;height:calc(var(--v) * 100%);background:var(--cf-ink);border-radius:3px 3px 0 0;flex:1;min-height:2px}.index-card-figure{margin:8px 0 2px}.index-card-stat{color:var(--accent-text);letter-spacing:.02em;font-size:.8rem;font-weight:700}@keyframes cf-grow{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes cf-rise{0%{opacity:0;translate:0 5px}to{opacity:1;translate:0}}@supports (animation-timeline:view()){@media screen and (prefers-reduced-motion:no-preference){.cf-bar,.cf-bar--range{animation:linear both cf-grow;animation-timeline:view();animation-range:entry cover 25%}.cf-value,.cf-marker,.cf-glyphs{animation:linear both cf-rise;animation-timeline:view();animation-range:entry cover 28%}}}.cf-matrix th,.cf-matrix td{vertical-align:middle;padding-inline-start:10px;padding-inline-end:10px}.cf-matrix tbody th a{color:var(--heading)}.cf-matrix td:last-child{min-width:130px}@media (max-width:720px){.cf-matrix td:last-child{min-width:180px}}.cf-feature{white-space:nowrap;align-items:center;gap:6px;display:inline-flex}.cf-feature svg{width:18px;height:18px;color:var(--heading);flex:none}.cf-feature--none{color:var(--muted);padding-left:24px}.cf-dots{gap:3px;display:inline-flex}.cf-dots i{background:var(--line-strong);border-radius:50%;width:8px;height:8px}.cf-dots .is-on{background:var(--keep)}@property --cf-rise{syntax:"<number>";inherits:true;initial-value:1}.cf-servings{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.cf-serving{margin:0;padding:12px 10px}.cf-serving .anatomy-title{font-family:var(--font-display);color:var(--heading);text-wrap:balance;margin:0 0 12px;font-size:.95rem;font-weight:600;line-height:1.3}.cf-serving .anatomy-vessels{grid-template-rows:auto auto;grid-template-columns:repeat(2,minmax(0,1fr));align-items:end;column-gap:8px;display:grid}.cf-serving .anatomy-vessel{grid-row:span 2;grid-template-rows:subgrid;justify-items:center;row-gap:6px;display:grid}.cf-serving .anatomy-vessel figcaption{align-self:end}.cf-serving .anatomy-vessel-name{letter-spacing:.03em;font-size:.66rem}.cf-serving .anatomy-vessel-svg{width:calc(84px * var(--ar,1))}.cf-serving .anatomy-verdict{color:var(--good);margin:8px 0 0;font-size:.85rem;line-height:1.4}.cf-serving .anatomy-verdict--caveat{color:var(--ink)}@media (min-width:720px){.cf-servings{grid-template-columns:repeat(3,minmax(0,1fr))}.cf-serving{padding:16px}}.cf-serving .av-liquid{transform:scaleY(calc(var(--level,1) * var(--cf-rise,1)));transition:none}@keyframes cf-pour{0%{--cf-rise:0}to{--cf-rise:1}}@supports (animation-timeline:view()){@media screen and (prefers-reduced-motion:no-preference){.cf-serving{animation:linear both cf-pour;animation-timeline:view();animation-range:entry cover 30%}}}.cf--dose{--cf-cell-ink:color-mix(in srgb, var(--accent) 34%, transparent)}.cf--dose td.num .cf-cell{text-align:right;min-width:6rem;display:block}.cf-cell-bar{transform-origin:0}.compare-table-wrap.cf--dose{container-type:inline-size}.compare-table--matrix .compare-row--diy .cf-diy{color:var(--ink);font-style:normal}.cf-diy-text{width:9rem;vertical-align:middle;width:min(26rem,max(8rem,100cqw - 212px));display:inline-block;position:sticky;left:188px}.compare-table .cf-diy a{color:var(--accent-text);font-weight:700}@supports (animation-timeline:view()){@media screen and (prefers-reduced-motion:no-preference){.compare-table-wrap.cf--dose{view-timeline:--cf-matrix block}.cf--dose .cf-cell-bar{animation:linear both cf-grow;animation-timeline:--cf-matrix;animation-range:entry 10% entry 60%}}}.article .cf-fine{color:var(--muted);margin:22px 0 0;scroll-margin-top:16px;font-size:.8rem;line-height:1.5}.cf-fine a{color:var(--accent-text);white-space:nowrap;font-weight:600;text-decoration:none}.cf-fine a:hover{text-decoration:underline}#cf-recycled .cf-art{stroke-width:1.1px}.cf-tag{color:var(--muted);grid-column:2/-1;justify-self:start;font-size:.75rem}.machine-deal,.pw-deal,.cf-tag--good{color:var(--eco-ink);background:color-mix(in srgb, var(--keep) 14%, transparent);border-radius:var(--radius-pill);align-self:flex-start;padding:2px 8px;font-size:.75rem;font-weight:700;line-height:1.3;display:inline-block}.price-watch{border:1px solid var(--line);border-radius:var(--radius-sm);margin:20px 0;padding:16px}.article .price-watch h2{margin:0 0 6px;font-size:1.15rem}.price-watch p{margin:0 0 10px}.price-watch .pw-deal{margin-left:6px}.pw-history{justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:10px;display:flex}.pw-steps{font-variant-numeric:tabular-nums;color:var(--muted);margin:0;padding:0;font-size:.85rem;list-style:none}.pw-steps li{justify-content:space-between;gap:12px;max-width:13rem;margin:0;line-height:1.5;display:flex}.pw-history .cf-mini{flex:0 0 96px;height:56px}.price-watch .pw-note{color:var(--muted);font-size:.8rem}.price-watch .pw-actions{flex-wrap:wrap;gap:4px 16px;margin-bottom:0;font-weight:700;display:flex}.rating{align-items:center;gap:8px;display:inline-flex}.rating-stars{flex:none;display:block}.rating-star{fill:none;stroke:var(--line-strong);stroke-width:1.2px;stroke-linejoin:round}.rating-star.is-on,.rating-star.is-half{fill:var(--accent);stroke:var(--accent)}.rating-text{color:var(--muted);font-variant-numeric:tabular-nums;font-size:.85rem;font-weight:700;line-height:1}.review-facts{background:var(--surface-2);border:1px solid var(--line);border-radius:var(--radius-sm);grid-template-columns:96px minmax(0,1fr);align-items:start;column-gap:16px;margin:22px 0 24px;padding:16px;line-height:1.4;display:grid}@media (min-width:640px){.review-facts{grid-template-columns:128px minmax(0,1fr);column-gap:22px;padding:20px}}.rf-art{box-sizing:border-box;aspect-ratio:1;width:100%;color:var(--heading);stroke-width:1.25px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-sm);padding:8px;display:block}.rf-art svg{width:100%;height:100%;display:block}.rf-body{flex-direction:column;align-items:flex-start;gap:6px;min-width:0;display:flex}.review-facts .rf-tier{letter-spacing:.07em;text-transform:uppercase;color:var(--muted);margin:0;font-size:.76rem;font-weight:700}.review-facts .rf-tier .cf-chip{margin-left:8px}.review-facts .rf-price{flex-wrap:wrap;align-items:baseline;gap:2px 8px;margin:0;display:flex}.rf-price-value{font-family:var(--font-display);color:var(--heading);font-variant-numeric:tabular-nums;font-size:1.6rem;font-weight:600;line-height:1.1}.rf-price-note{color:var(--muted);font-size:.8rem}.review-facts .pw-deal{align-self:center}.review-facts .rf-specs{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 14px;width:100%;margin:6px 0 0;display:grid}.rf-specs dt{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-size:.72rem;font-weight:700}.rf-specs dd{color:var(--ink);margin:3px 0 0;font-size:.92rem}.rf-specs .cf-feature{white-space:normal}.rf-specs .cf-feature--none{padding-left:0}.rf-specs .rf-payoff{font-family:var(--font-display);color:var(--heading);font-size:1.05rem;font-weight:600;line-height:1.25}.review-facts .rf-best{color:var(--ink);margin:8px 0 0;font-size:.9rem;line-height:1.45}.rf-best-label{color:var(--heading);font-weight:700}.review-facts .rf-source{color:var(--muted);margin:4px 0 0;font-size:.78rem;line-height:1.45}.cf-versus th,.cf-versus td{padding-inline-start:8px;padding-inline-end:8px;line-height:1.4}@media (min-width:721px){.cf-versus{font-size:.9rem}}.cf-versus td{white-space:nowrap}.cf-versus td:last-child{min-width:0}.cf-versus .rv-buy{justify-content:flex-end;align-items:center;gap:6px;display:inline-flex}.cf-versus td a.buy-icon{padding:0;display:grid}.cf-versus th .cf-chip{width:-moz-fit-content;width:fit-content;margin:4px 0 0;display:block}.cf-versus tbody tr.is-this-review th[scope=row],.cf-versus tbody tr.is-this-review td{background:color-mix(in srgb, var(--good) 8%, var(--surface))}.rt{--rt-gutter:68px;--rt-gutter-l:34px;--rt-height:240px;--rt-context:color-mix(in srgb, var(--muted) 50%, var(--surface))}@media (min-width:640px){.rt{--rt-height:260px}}.rt .rt-plot{height:var(--rt-height);margin:22px var(--rt-gutter) 0 var(--rt-gutter-l);position:relative}.rt-svg{width:100%;height:100%;display:block;position:absolute;top:0;bottom:0;left:0;right:0;overflow:visible}.rt-grid,.rt-zero{stroke-width:1px;vector-effect:non-scaling-stroke;shape-rendering:crispedges}.rt-grid{stroke:var(--line)}.rt-zero{stroke:var(--line-strong)}.rt-line{fill:none;stroke:var(--rt-context);stroke-width:2px;stroke-linecap:round;vector-effect:non-scaling-stroke}.rt-line--behind,.rt-line--ahead{stroke-width:2.5px}.rt-line--behind{stroke:var(--bad)}.rt-line--ahead{stroke:var(--keep)}.rt-dot,.rt-stem,.rt-flag,.rt-ylabel,.rt-origin,.rt-end{pointer-events:none;position:absolute}.rt-dot{left:var(--x);top:var(--y);background:var(--rt-context);width:10px;height:10px;box-shadow:0 0 0 2px var(--surface);border-radius:50%;transform:translate(-50%,-50%)}.rt-dot--typical{z-index:2;background:var(--keep);width:12px;height:12px}.rt-stem{left:var(--x);width:1px;height:var(--y);background:color-mix(in srgb, var(--keep) 55%, transparent);margin-left:-.5px;top:0}.rt-flag{--hw:calc(var(--n,19) * .25em + 8px);z-index:3;left:clamp(var(--hw), var(--x), calc(100% - var(--hw)));color:var(--accent-ink);background:var(--good-fill);border-radius:var(--radius-pill);box-shadow:var(--shadow-sm);padding:2px 8px;font-size:.7rem;font-weight:700;line-height:1.4;top:-3px;transform:translate(-50%)}.rt-flag,.rt-dot,.rt-stem{-webkit-print-color-adjust:exact;-moz-print-color-adjust:exact;print-color-adjust:exact}.rt-flag,.rt-ylabel,.rt-end,.rt-origin{white-space:nowrap;font-variant-numeric:tabular-nums}.rt-ylabel,.rt-end,.rt-origin{color:var(--muted);font-size:.72rem;line-height:1}.rt-ylabel,.rt-end{top:var(--y);transform:translateY(-50%)}.rt-ylabel{margin-right:6px;right:100%}.rt-ylabel--zero{font-weight:700}.rt-end{margin-left:6px;font-size:.78rem;left:100%}.rt-end--typical{color:var(--heading);font-weight:700}.rt-origin{margin-top:10px;line-height:1.25;top:100%;left:0}.rt-origin-money{font-weight:700;display:block}.rt .rt-years{height:2.6rem;margin:10px var(--rt-gutter) 0 var(--rt-gutter-l);color:var(--muted);padding:0;font-size:.72rem;list-style:none;position:relative}.rt .rt-years li{top:0;left:var(--x);white-space:nowrap;margin:0;padding-top:5px;line-height:1.2;position:absolute;transform:translate(-50%)}.rt .rt-years li:before{content:"";background:var(--line-strong);width:1px;height:7px;position:absolute;top:-4px;left:50%}@media (max-width:369px){.rt-origin{margin-top:34px}.rt .rt-years{height:4.6rem}}@keyframes rt-draw{0%{clip-path:inset(-8px 100% -8px 0)}to{clip-path:inset(-8px)}}@supports (animation-timeline:view()){@media screen and (prefers-reduced-motion:no-preference){.rt .rt-plot{view-timeline:--rt block}.rt-line{animation:linear both rt-draw;animation-timeline:--rt;animation-range:cover cover 40%}.rt-line--behind{animation-range:cover 0% cover calc(var(--x,100%) * .4)}.rt-line--ahead{animation-range:cover calc(var(--x,0%) * .4) cover 40%}.rt-dot,.rt-stem,.rt-flag{animation:linear both cf-rise;animation-timeline:--rt;animation-range:cover calc(var(--x) * .4) cover calc(var(--x) * .4 + 8%)}.rt-end{animation:linear both cf-rise;animation-timeline:--rt;animation-range:cover 36% cover 46%}}}.verdict-grid{grid-template-columns:minmax(0,1fr);gap:14px;margin:18px 0 8px;display:grid}@media (min-width:640px){.verdict-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.verdict{background:var(--surface-2);border:1px solid var(--line);border-left:3px solid var(--good);border-radius:var(--radius-sm);margin:0;padding:14px 16px 16px}.verdict--tradeoff{border-left-color:var(--accent)}.article .verdict .verdict-heading{font-family:var(--font-display);color:var(--heading);margin:0 0 10px;font-size:1.05rem;font-weight:600;line-height:1.3}.article .verdict .verdict-list{margin:0;padding:0;list-style:none}.article .verdict .verdict-list li{margin:0 0 10px;padding-left:22px;font-size:.95rem;line-height:1.55;position:relative}.article .verdict .verdict-list li:last-child{margin-bottom:0}.verdict-list li:before{font-weight:700;position:absolute;top:0;left:0}.verdict--good .verdict-list li:before{content:"✓︎";color:var(--eco-ink)}.verdict--tradeoff .verdict-list li:before{content:"–";color:var(--accent-text)}.index-grid--reviews{grid-template-columns:minmax(0,1fr)}.index-grid--reviews .index-card-teaser{max-width:62ch}.index-grid--reviews .index-card-figure{max-width:320px}.index-card-art{width:56px;height:56px;color:var(--heading);stroke-width:2px;margin:0 0 4px;display:block}.index-card-art svg{width:100%;height:100%;display:block}.index-card-rating{display:block}.index-card-rating .rating-text{font-size:.8rem}@media (min-width:480px){.index-card--review{min-height:150px;padding-left:110px}.index-card--review .index-card-art{width:72px;height:72px;margin:0;position:absolute;top:20px;left:22px}}.estimate-feedback-form textarea,.feedback-field textarea,.feedback-field input{width:100%;font:inherit;color:var(--ink);background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--radius-sm);transition:border-color .2s var(--ease), box-shadow .2s var(--ease);padding:10px 12px;font-size:.95rem}.estimate-feedback-form textarea,.feedback-field textarea{resize:vertical;min-height:84px}.estimate-feedback-form textarea:focus-visible{outline:3px solid var(--accent-text);outline-offset:2px}.feedback-field textarea:focus-visible{outline:3px solid var(--accent-text);outline-offset:2px}.feedback-field input:focus-visible{outline:3px solid var(--accent-text);outline-offset:2px}.feedback-kind input:focus-visible{outline:3px solid var(--accent-text);outline-offset:2px}.estimate-feedback-attach input:focus-visible{outline:3px solid var(--accent-text);outline-offset:2px}.estimate-feedback-more:focus-visible{outline:3px solid var(--accent-text);outline-offset:2px}.estimate-feedback{border-top:1px solid var(--line);text-align:center;margin-top:18px;padding-top:16px}.estimate-feedback-q{color:var(--heading);margin:0 0 10px;font-size:.92rem;font-weight:600}.estimate-feedback-choices{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.estimate-feedback-form{text-align:left;gap:10px;max-width:460px;margin:4px auto 0;display:grid}.estimate-feedback-form[hidden]{display:none}.estimate-feedback-form>label:first-child{color:var(--ink);font-size:.88rem;font-weight:600}.estimate-feedback-attach{color:var(--muted);cursor:pointer;align-items:flex-start;gap:8px;font-size:.8rem;display:flex}.estimate-feedback-attach input{accent-color:var(--accent);margin:2px 0 0}.estimate-feedback-form .ghost-btn{justify-self:start}.estimate-feedback-status{color:var(--muted);margin:0 0 10px;font-size:.85rem}.estimate-feedback-status:empty{margin:0}.estimate-feedback-more{color:var(--accent-text);text-underline-offset:3px;margin-top:8px;font-size:.8rem;display:inline-block}.feedback-form{gap:18px;margin-top:6px;display:grid}.feedback-kinds{border:0;gap:10px;min-width:0;margin:0;padding:0;display:grid}@media (min-width:560px){.feedback-kinds{grid-template-columns:repeat(2,minmax(0,1fr))}}.feedback-kinds legend{color:var(--heading);margin-bottom:10px;padding:0;font-weight:700}.feedback-kind{background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--radius-sm);cursor:pointer;transition:border-color .2s var(--ease), background .2s var(--ease);align-items:flex-start;gap:10px;padding:12px 14px;display:flex}.feedback-kind:hover{border-color:var(--accent)}.feedback-kind:has(input:checked){border-color:var(--accent);background:var(--accent-soft)}.feedback-kind input{accent-color:var(--accent);margin:3px 0 0}.feedback-kind-text strong{color:var(--ink);display:block}.feedback-kind-text span{color:var(--muted);font-size:.82rem;display:block}.feedback-field label{color:var(--ink);margin-bottom:6px;font-weight:600;display:block}.feedback-optional{color:var(--muted);font-weight:400}.article .feedback-field .hint{margin:6px 0 0}.feedback-hp{width:1px;height:1px;position:absolute;left:-10000px;overflow:hidden}.article .feedback-about,.article .feedback-status{margin:0}.feedback-about{color:var(--muted);font-size:.85rem}.feedback-about code{background:var(--surface-2);border-radius:6px;padding:2px 6px}.feedback-status{font-weight:600}.feedback-status:empty{display:none}.feedback-submit{cursor:pointer;border:0;font-family:inherit}.feedback-submit:disabled{opacity:.7;cursor:default}.article .feedback-fine{color:var(--muted);margin:20px 0 0;font-size:.82rem}.article .feedback-off{background:var(--surface-2);border-radius:var(--radius-sm);color:var(--muted);padding:14px 16px}.splash{display:none}@media (display-mode:standalone),(display-mode:fullscreen),(display-mode:minimal-ui){.splash{--splash-out-delay:1.75s;--splash-out:.5s;--splash-fill:13.3px;z-index:200;background:radial-gradient(118% 88% at 50% 16%, var(--surface), var(--bg) 46%, var(--bg-tint));pointer-events:none;animation:splash-out var(--splash-out) var(--ease) var(--splash-out-delay) both;place-items:center;padding:24px;display:grid;position:fixed;top:0;bottom:0;left:0;right:0}.splash-stage{text-align:center;flex-direction:column;align-items:center;margin-bottom:clamp(16px,7vh,56px);display:flex}.splash-mark{filter:drop-shadow(0 16px 34px #b06a1f57);width:clamp(88px,27vw,124px);height:auto;animation:splash-mark-in .6s var(--ease) 50ms both;border-radius:clamp(24px,7.4vw,34px)}.splash-glass{fill:none;stroke:var(--accent-ink);stroke-width:2.1px;stroke-linejoin:round;stroke-linecap:round}.splash-glass-fill{fill:#fff;fill-opacity:.13}.splash-liquid-body{fill:var(--accent-ink);fill-opacity:.94}.splash-liquid-head{fill:#fff}.splash-liquid{animation:.68s cubic-bezier(.22,.85,.3,1) .62s both splash-pour}.splash-drop{fill:var(--accent-ink);opacity:0;transform-box:fill-box;transform-origin:50% 100%;animation:.32s cubic-bezier(.45,0,.85,.5) .42s both splash-drop}.splash-bubble{fill:var(--accent);fill-opacity:.45;opacity:0;transform-box:fill-box;transform-origin:50%;animation:splash-fizz .7s linear var(--splash-bd) both}.splash-sheen{opacity:0;transform-box:view-box;transform-origin:20px 20px;animation:.6s ease-in-out 1.15s both splash-sheen}.splash-word{animation:splash-rise .55s var(--ease) .55s both;margin:clamp(18px,4.5vh,26px) 0 0;line-height:1}.splash-word .brand-word{font-size:clamp(1.9rem,8.5vw,2.5rem)}.splash-rule{background:linear-gradient(90deg, transparent, var(--accent), transparent);opacity:.55;width:clamp(90px,34vw,132px);height:1px;animation:splash-draw .58s var(--ease) .85s both;margin:14px 0 12px;display:block;transform:scaleX(0)}.splash-tag{animation:splash-rise .52s var(--ease) 1s both;margin:0}.splash-tag .brand-tag{font-size:clamp(.6rem,2.6vw,.7rem)}}@keyframes splash-out{0%{opacity:1;transform:scale(1)}to{opacity:0;visibility:hidden;transform:scale(1.04)}}@keyframes splash-mark-in{0%{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}@keyframes splash-pour{0%{transform:translateY(var(--splash-fill))}to{transform:translateY(0)}}@keyframes splash-drop{0%{opacity:0;transform:translateY(-12px)scale(.45)}14%{opacity:1}76%{opacity:1;animation-timing-function:linear;transform:translateY(0)scale(1)}to{opacity:0;transform:translateY(1.2px)scale(1.45,.3)}}@keyframes splash-fizz{0%{opacity:0;transform:translateY(0)scale(.5)}22%{opacity:.55}to{opacity:0;transform:translateY(-9px)scale(1)}}@keyframes splash-sheen{0%{opacity:0;transform:translate(0)skew(-18deg)}22%{opacity:.85}to{opacity:0;transform:translate(64px)skew(-18deg)}}@keyframes splash-rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes splash-draw{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@media (prefers-reduced-motion:reduce){.splash *,.splash :before,.splash :after{animation-delay:0s!important}.splash{animation:.62s linear .7s both splash-out-still!important}}@keyframes splash-out-still{0%{opacity:1}to{opacity:0;visibility:hidden}}
