/* Eaves & Acres — main stylesheet. Mobile-first. Every color/space comes from tokens.css. */

/* ---------- Pillar theming ---------- */
:root{--pillar:var(--evergreen);--pillar-tint:var(--evergreen-tint);--hdr-h:64px;--hdr-off:var(--hdr-h)}
body.hdr-hidden{--hdr-off:0px}
[data-pillar="energy"]{--pillar:var(--ember);--pillar-tint:var(--ember-tint)}
[data-pillar="pool"]{--pillar:var(--lake);--pillar-tint:var(--lake-tint)}
[data-pillar="lawn"]{--pillar:var(--turf);--pillar-tint:var(--turf-tint)}
[data-pillar="garden"]{--pillar:var(--olive);--pillar-tint:var(--olive-tint)}
[data-pillar="climate"]{--pillar:var(--frost);--pillar-tint:var(--frost-tint)}

/* ---------- Base ---------- */
*,*::before,*::after{box-sizing:border-box}
html{scroll-padding-top:calc(var(--hdr-h) + 24px);-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font:400 var(--fs-body)/var(--lh-body) var(--font-sans);-webkit-font-smoothing:antialiased}
img,svg{max-width:100%;height:auto}
svg.icon{flex:none;height:auto}
a{color:var(--evergreen);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.2em}
a:hover{color:var(--evergreen-700);text-decoration-thickness:2px}
:focus-visible{outline:var(--focus-ring);outline-offset:2px}
h1,h2,h3,h4{color:var(--ink);text-wrap:balance}
h1{font:700 var(--fs-h1)/1.15 var(--font-serif);letter-spacing:-.01em;margin:0}
h2{font:650 var(--fs-h2)/1.2 var(--font-serif);margin:0 0 var(--s-5)}
h3{font:700 var(--fs-h4)/1.35 var(--font-sans);margin:0}
p{margin:0}
button{font:inherit;color:inherit}
input,select,textarea{font:inherit}
[hidden]{display:none!important}
.container{max-width:calc(var(--content-max) + 64px);margin:0 auto;padding:0 var(--gutter);width:100%}
.container--narrow{max-width:944px}
.sr-only{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip-link{position:absolute;left:-9999px;top:8px;z-index:400;background:var(--evergreen);color:#fff;padding:12px 16px;border-radius:var(--r-sm);font-weight:600;text-decoration:none}
.skip-link:focus{left:16px}
.hp{position:absolute!important;left:-9999px;width:1px;height:1px;opacity:0}
.tnum{font-variant-numeric:tabular-nums}
.muted{color:var(--muted)}.ink2{color:var(--ink-2)}.ink{color:var(--ink)}
.small{font-size:var(--fs-small);line-height:1.5}
.fw4{font-weight:400}.fw5{font-weight:500}.b{font-weight:600}
.b-ink{font-weight:600;color:var(--ink)}.b-green{font-weight:600;color:var(--evergreen)}
.grow{flex:1}.r{text-align:right}.r-lg{border-radius:var(--r-lg)}
.mt-48{margin-top:var(--s-7)}.mt-64{margin-top:var(--s-8)}.pt-48{padding-top:var(--s-7)}.mb-6{margin-bottom:6px}
.lead{font:400 var(--fs-lead)/1.55 var(--font-sans);color:var(--ink-2);max-width:62ch;text-wrap:pretty}
.lead--ink{color:var(--ink)}
.display{font:700 var(--fs-display)/1.1 var(--font-serif);letter-spacing:-.015em}
.eyebrow{display:flex;align-items:center;gap:8px;font:600 var(--fs-xs)/1.3 var(--font-sans);letter-spacing:.04em;text-transform:uppercase;color:var(--ink)}
.eyebrow--pillar{color:var(--pillar)}.eyebrow--green{color:var(--evergreen)}.eyebrow--frost{color:var(--frost)}
.eyebrow.muted{color:var(--muted)}
.link-arrow{display:inline-flex;align-items:center;gap:6px;min-height:44px;font-weight:600;font-size:17px}
.btn-link{min-height:48px;padding:0 4px;background:none;border:0;font:600 17px/1 var(--font-sans);color:var(--evergreen);text-decoration:underline;text-underline-offset:.2em;cursor:pointer}
.btn-link--icon{display:inline-flex;align-items:center;gap:6px;text-decoration:none;min-height:44px;font-size:16px}
.tint-ico{width:52px;height:52px;border-radius:var(--r-md);background:var(--pillar-tint);color:var(--pillar);display:flex;align-items:center;justify-content:center;flex:none}
.tint-ico--sm{width:40px;height:40px;border-radius:var(--r-sm)}
.tint-ico--lg{width:56px;height:56px}
.tint-ico--white{background:var(--surface)}
.ring-ico{width:48px;height:48px;border-radius:var(--r-pill);border:2px solid var(--evergreen);color:var(--evergreen);display:flex;align-items:center;justify-content:center}

/* ---------- Buttons ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:var(--btn-h);padding:0 24px;border-radius:var(--r-sm);border:0;font:600 17px/1 var(--font-sans);text-decoration:none;cursor:pointer;white-space:nowrap;transition:background var(--dur),transform var(--dur)}
.btn--primary{background:var(--evergreen);color:#fff}
.btn--primary:hover{background:var(--evergreen-700);color:#fff}
.btn--primary:active{transform:translateY(1px)}
.btn--secondary{background:var(--surface);color:var(--evergreen);border:2px solid var(--evergreen);padding:0 16px}
.btn--secondary:hover{background:var(--evergreen-tint);color:var(--evergreen-700)}
.btn--quiet{background:var(--surface);color:var(--ink);border:1.5px solid var(--border-strong);padding:0 18px}
.btn--quiet:hover{border-color:var(--evergreen);color:var(--evergreen)}
.btn--tool{height:var(--btn-h-tool)}
.btn--sm{height:48px;padding:0 14px;font-size:16px}
.btn[disabled],.btn.is-loading{background:var(--sand);color:var(--ink-2);cursor:not-allowed}
.sq-btn{width:48px;height:48px;display:inline-flex;align-items:center;justify-content:center;border:1.5px solid var(--border-strong);border-radius:var(--r-sm);color:var(--ink);background:var(--surface);cursor:pointer}
.sq-btn:hover{border-color:var(--evergreen);color:var(--evergreen)}
.icon-btn{width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:none;border:0;border-radius:var(--r-sm);color:var(--ink);cursor:pointer}
.icon-btn:hover{background:var(--sand)}
.icon-btn--lg{width:56px;height:56px}
.chip{height:48px;padding:0 16px;display:inline-flex;align-items:center;gap:6px;border-radius:var(--r-pill);border:1.5px solid var(--border-strong);background:var(--surface);color:var(--ink);font:600 16px/1 var(--font-sans);cursor:pointer;white-space:nowrap;text-decoration:none}
.chip:hover{border-color:var(--evergreen);color:var(--ink)}
.chip[aria-pressed="true"]{background:var(--evergreen);border-color:var(--evergreen);color:#fff}
.chip__ck{display:none}.chip[aria-pressed="true"] .chip__ck{display:block}
.chip--link:hover{border-color:var(--pillar);color:var(--pillar)}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.check-chip{display:inline-flex;align-items:center;gap:10px;min-height:48px;padding:0 16px 0 12px;border:1.5px solid var(--border-strong);border-radius:var(--r-sm);background:var(--surface);font:500 17px/1 var(--font-sans);cursor:pointer}
.check-chip:has(input:checked){border-color:var(--evergreen)}
.check-chip input,.gen-row__name input{width:24px;height:24px;margin:0;accent-color:var(--evergreen)}

/* ---------- Forms ---------- */
.field{display:flex;flex-direction:column;gap:6px;min-width:0}
.field--narrow{max-width:520px}
.label{font:600 17px/1.3 var(--font-sans);color:var(--ink)}
.label--lg{font-size:18px}
.input{width:100%;height:var(--input-h);border:1.5px solid var(--border-strong);border-radius:var(--r-sm);padding:0 14px;font:400 18px/1 var(--font-sans);color:var(--ink);background:var(--surface)}
.input:focus{outline:var(--focus-ring);outline-offset:2px;border-color:var(--evergreen)}
.input[aria-invalid="true"]{border:2px solid var(--danger)}
.input--select{height:48px;width:auto;padding:0 10px;font-weight:500;font-size:17px}
.input--area{height:auto;padding:12px 14px;line-height:1.5;resize:vertical}
.input--zip{font:500 22px/1 var(--font-sans);letter-spacing:.08em}
.input--zip-sm{width:180px;font:500 19px/1 var(--font-sans);letter-spacing:.06em}
.input--hero{flex:1 1 160px;height:64px;font:600 26px/1 var(--font-sans);letter-spacing:.1em;min-width:0}
.input--xl{flex:1 1 180px;height:72px;border-radius:var(--r-md);padding:0 20px;font:700 32px/1 var(--font-sans);letter-spacing:.12em;min-width:0}
.input--sm{height:48px;padding:0 34px 0 12px;font:500 18px/1 var(--font-sans)}
.input-wrap{position:relative;display:flex;align-items:center}
.input-wrap .unit{position:absolute;right:12px;font:500 16px/1 var(--font-sans);color:var(--muted);pointer-events:none}
.input-wrap .input:not(.input--sm){padding-right:64px}
.field-msg{min-height:24px;font:400 16px/1.45 var(--font-sans);color:var(--muted);display:flex;align-items:flex-start;gap:6px}
.field-msg--err,.field-msg.is-err{color:var(--danger);font-weight:500}
.field-msg--icon svg{margin-top:2px}

/* ---------- Header ---------- */
.site-header{position:sticky;top:0;z-index:var(--z-header);background:var(--paper);border-bottom:1px solid var(--line);transition:transform .28s var(--ease),box-shadow var(--dur)}
.site-header.is-hidden{transform:translateY(calc(-100% - 24px));box-shadow:none}
.hdr{height:var(--hdr-h);display:flex;align-items:center;gap:16px}
.logo{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink);min-height:48px;flex:none}
.logo:hover{color:var(--ink)}
.logo__mark{color:var(--evergreen);width:30px;height:30px}
.logo__word{font:600 22px/1 var(--font-serif);letter-spacing:-.01em;white-space:nowrap;color:var(--ink)}
.logo__word em{font-style:italic;color:var(--evergreen)}
.nav{display:none;align-items:center;gap:2px;margin:0 auto}
.nav__btn{height:48px;padding:0 10px;display:flex;align-items:center;gap:4px;background:none;border:0;border-bottom:3px solid transparent;border-top:3px solid transparent;font:600 16px/1 var(--font-sans);color:var(--ink);cursor:pointer;white-space:nowrap;text-decoration:none}
.nav__btn:hover{color:var(--evergreen)}
.nav__btn.is-active,.nav__btn[aria-expanded="true"]{border-bottom-color:var(--c)}
.nav__btn[aria-expanded="true"] .nav__chev{transform:rotate(180deg)}
.nav__chev{transition:transform var(--dur)}
.hdr__actions{display:flex;align-items:center;gap:8px;margin-left:auto;flex:none}
.zip-chip{height:48px;padding:0 16px 0 12px;display:flex;align-items:center;gap:6px;border-radius:var(--r-pill);border:1.5px solid var(--evergreen);background:var(--paper);color:var(--evergreen);font:600 16px/1 var(--font-sans);cursor:pointer;white-space:nowrap;font-variant-numeric:tabular-nums}
.zip-chip:hover{background:var(--evergreen-tint)}
.zip-chip.is-set{background:var(--surface)}
.mega{position:absolute;left:0;right:0;top:100%;z-index:var(--z-dropdown);background:var(--surface);border-bottom:1px solid var(--line);box-shadow:var(--shadow)}
.mega__in{max-width:var(--content-max);margin:0 auto;padding:32px;display:grid;grid-template-columns:1fr 1.3fr 1.2fr;gap:48px}
.mega .eyebrow{margin-bottom:12px}
.mega__topics,.mega__tools{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}
.mega__topics a{display:flex;align-items:center;min-height:44px;font:500 18px/1.3 var(--font-sans);color:var(--ink);text-decoration:none}
.mega__topics a:hover{color:var(--evergreen);text-decoration:underline}
.mega__topics .link-arrow{color:var(--evergreen)}
.mega__tools{gap:8px}
.mega__tools a{display:flex;align-items:center;gap:12px;min-height:52px;text-decoration:none;color:var(--ink);border-radius:var(--r-md);padding:4px}
.mega__tools a:hover{background:var(--paper)}
.mega__tools .tint-ico{width:44px;height:44px;border-radius:var(--r-sm)}
.mega__tname{display:block;font:600 17px/1.25 var(--font-sans)}
.mega__q{display:block;font:400 15px/1.3 var(--font-sans);color:var(--muted)}
.mega__start{display:flex;flex-direction:column;gap:12px;text-decoration:none;color:var(--ink);font:700 19px/1.3 var(--font-sans)}
.mega__start:hover span{text-decoration:underline}
.zip-pop{position:absolute;top:calc(100% + 8px);left:16px;right:16px;z-index:var(--z-dropdown);background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow);padding:24px;display:flex;flex-direction:column;gap:16px}
.zip-pop__form{display:flex;flex-direction:column;gap:12px}
.zip-pop__title{font:600 22px/1.2 var(--font-serif)}
.lockline{display:flex;align-items:center;gap:6px}
.facts-dl{margin:0;display:grid;grid-template-columns:auto 1fr;gap:10px 16px;font:400 17px/1.35 var(--font-sans);font-variant-numeric:tabular-nums}
.facts-dl dt{color:var(--muted)}.facts-dl dd{margin:0;font-weight:600}
.zip-pop__foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;border-top:1px solid var(--line);padding-top:12px}
.zip-pop__facts{display:flex;flex-direction:column;gap:12px}
@media (min-width:600px){.zip-pop{left:auto;right:var(--gutter);width:360px}}
@media (max-width:479px){.hdr{gap:8px}.hdr .logo{gap:8px}.hdr .logo__mark{width:24px;height:24px}.hdr .logo__word{font-size:19px}.hdr__actions{gap:2px}.hdr__actions .icon-btn{width:44px}.zip-chip{padding:0 10px 0 8px;font-size:15px;gap:4px}}
@media (max-width:379px){.hdr .logo__mark{display:none}}
@media (min-width:1200px){.nav{display:flex}.menu-btn{display:none}:root{--hdr-h:72px}}

/* Overlays (search, drawer) */
.overlay{position:fixed;inset:0;z-index:var(--z-modal);background:var(--paper);overflow-y:auto}
.search-ov__in{max-width:760px;margin:0 auto;padding:16px var(--gutter) 48px;display:flex;flex-direction:column;gap:24px}
.search-ov__bar{display:flex;align-items:center;gap:8px;padding-top:8px}
.search-field{flex:1;position:relative;display:flex;align-items:center}
.search-field>svg{position:absolute;left:16px;color:var(--muted)}
.search-field input{width:100%;height:64px;border:2px solid var(--evergreen);border-radius:var(--r-md);padding:0 16px 0 54px;font:500 21px/1 var(--font-sans);color:var(--ink);background:var(--surface)}
.search-field--sm>svg{left:14px}
.search-field--sm input{height:56px;border:1.5px solid var(--border-strong);border-radius:var(--r-sm);padding-left:48px;font:400 18px/1 var(--font-sans)}
.search-field--lg{max-width:760px}
.sr-group{display:flex;flex-direction:column;gap:8px;margin-bottom:24px}
.sr-h{margin:0;font:600 var(--fs-xs)/1.3 var(--font-sans);letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}
.sr-item{display:flex;align-items:center;gap:14px;min-height:60px;padding:6px 8px;border-radius:var(--r-md);text-decoration:none;color:var(--ink);font:600 18px/1.3 var(--font-sans)}
.sr-item:hover{background:var(--surface);color:var(--ink)}
.sr-item--g{flex-direction:column;align-items:flex-start;gap:4px;border-bottom:1px solid var(--line);border-radius:0}
.sr-item__k{font:600 var(--fs-xs)/1.3 var(--font-sans);letter-spacing:.04em;text-transform:uppercase;color:var(--pillar)}
mark{background:var(--sun-tint);color:var(--ink);padding:0 1px}
.sr-none{display:flex;flex-direction:column;gap:6px;padding:16px 20px;background:var(--sand);border-radius:var(--r-md)}
.drawer{display:flex;flex-direction:column}
.drawer__top{height:64px;flex:none;display:flex;align-items:center;justify-content:space-between;padding:0 16px;border-bottom:1px solid var(--line)}
.drawer__nav{padding:8px 16px 32px}
.drawer__grp{border-bottom:1px solid var(--line)}
.drawer__btn{width:100%;height:56px;display:flex;align-items:center;gap:12px;background:none;border:0;padding:0;font:600 19px/1 var(--font-sans);color:var(--ink);cursor:pointer;text-align:left}
.drawer__btn[aria-expanded="true"] .drawer__chev{transform:rotate(180deg)}
.drawer__grp ul{list-style:none;margin:0;padding:0 0 12px 52px}
.drawer__grp li a{display:flex;align-items:center;min-height:56px;font:400 18px/1.3 var(--font-sans);color:var(--ink);text-decoration:none;border-top:1px solid #EFE9DC}
.drawer__grp li a.b{font-weight:600}
.drawer__row{display:flex;align-items:center;height:56px;font:600 19px/1 var(--font-sans);color:var(--ink);text-decoration:none;border-bottom:1px solid var(--line)}
.drawer__small{display:flex;flex-wrap:wrap;gap:4px 20px;padding-top:16px}
.drawer__small a{display:flex;align-items:center;min-height:48px;font:500 17px/1 var(--font-sans);color:var(--ink-2)}

/* ---------- Footer ---------- */
.site-footer{background:var(--sand);border-top:1px solid var(--line);margin-top:0}
.site-footer__in{padding-top:64px;padding-bottom:32px;display:flex;flex-direction:column;gap:48px}
.site-footer__cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:40px 32px}
.fcol{display:flex;flex-direction:column;gap:6px}
.fcol a{display:flex;align-items:center;min-height:40px;font:400 17px/1.3 var(--font-sans);color:var(--ink)}
.fcol a.b-green{font-weight:600;color:var(--evergreen)}
.fcol__btn{display:flex;align-items:center;min-height:40px;padding:0;background:none;border:0;font:400 17px/1.3 var(--font-sans);color:inherit;text-decoration:underline;text-underline-offset:.2em;cursor:pointer;text-align:left}
/* Consent banner (0.6.2): fixed, so no layout shift */
.consent{position:fixed;z-index:60;left:16px;right:16px;bottom:16px;max-width:560px;margin:0 auto;padding:20px;background:var(--surface);color:var(--ink);border:1.5px solid var(--border-strong);border-radius:var(--r-md);box-shadow:0 8px 28px rgba(30,38,33,.18);display:flex;flex-direction:column;gap:10px}
.consent[hidden]{display:none}
.consent__h{font:700 19px/1.3 var(--font-sans);margin:0}
.consent__d{font:400 16px/1.5 var(--font-sans);margin:0;color:var(--ink-2)}
.consent__btns{display:flex;flex-wrap:wrap;gap:10px}
.fcol .logo{margin-bottom:12px;min-height:48px}
.fcol__h{margin:0 0 4px;font:600 var(--fs-xs)/1.3 var(--font-sans);letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}
.fcol--split{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:32px}
.site-footer__base{border-top:1px solid var(--line);padding-top:24px;display:flex;flex-wrap:wrap;gap:8px 32px;justify-content:space-between;font:400 16px/1.5 var(--font-sans);color:var(--ink-2)}

/* ---------- Breadcrumbs ---------- */
.crumbs{padding:16px 0 0;overflow-x:auto;white-space:nowrap;scrollbar-width:none}
.crumbs ol{list-style:none;margin:0;padding:0;display:flex;align-items:center;gap:6px;font:400 16px/1.5 var(--font-sans);color:var(--muted)}
.crumbs a{color:var(--muted)}
.crumbs [aria-current]{color:var(--ink-2)}
.crumbs__sep{display:flex}

/* ---------- Pills & badges ---------- */
.pills-row,.card__pills{display:flex;flex-wrap:wrap;align-items:center;gap:8px 10px}
.pill{display:inline-flex;align-items:center;height:30px;padding:0 10px;border-radius:var(--r-sm);background:var(--pillar-tint);color:var(--pillar);font:600 var(--fs-xs)/1 var(--font-sans);letter-spacing:.04em;text-transform:uppercase;text-decoration:none}
.card .pill{height:28px}
.pill:hover{color:var(--pillar)}
.type-label{font:600 var(--fs-xs)/1 var(--font-sans);letter-spacing:.04em;text-transform:uppercase;color:var(--ink-2)}
.badge-calc{display:inline-flex;align-items:center;gap:4px;height:28px;padding:0 8px;border-radius:var(--r-sm);border:1px solid var(--border-strong);font:600 14px/1 var(--font-sans)}
.badge-upd{display:inline-flex;align-items:center;height:24px;padding:0 8px;border-radius:var(--r-sm);background:var(--success-bg);color:var(--success);font:600 14px/1 var(--font-sans);margin-left:4px}
.badge-season{position:absolute;left:12px;top:12px;display:flex;align-items:center;gap:6px;height:30px;padding:0 10px;border-radius:var(--r-pill);background:var(--sun);color:var(--ink);font:600 14px/1 var(--font-sans);letter-spacing:.04em;text-transform:uppercase}

/* ---------- Images ---------- */
.ea-img{display:block;width:100%;height:auto;object-fit:cover;border-radius:var(--r-md);background:var(--placeholder)}
.ea-img--slot{position:relative;background-color:var(--placeholder);background-image:repeating-linear-gradient(135deg,rgba(140,133,118,.12) 0 1px,transparent 1px 11px);border:1.5px dashed var(--border-strong);display:flex;align-items:center;justify-content:center;padding:10px;overflow:hidden}
.ea-img--slot span{font:500 12px/1.5 ui-monospace,SFMono-Regular,Menlo,monospace;color:var(--ink-2);text-align:center;max-width:42ch;text-wrap:balance}

/* ---------- Grids & sections ---------- */
.grid{display:grid;gap:20px}
.grid--cards{grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));margin-bottom:20px}
.grid--tools{grid-template-columns:repeat(auto-fill,minmax(min(100%,270px),1fr));gap:16px}
.grid--4{grid-template-columns:repeat(auto-fill,minmax(min(100%,240px),1fr))}
.grid--start{grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr))}
.grid--topics{grid-template-columns:repeat(auto-fill,minmax(min(100%,260px),1fr));gap:16px}
.grid--keep{grid-template-columns:repeat(auto-fill,minmax(210px,1fr))}
.grid--means{grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:16px}
@media (min-width:1024px){.grid--cards{grid-template-columns:repeat(3,minmax(0,1fr))}.grid--4{grid-template-columns:repeat(4,minmax(0,1fr))}}
.sec{padding-top:56px}
.sec>h2{margin-bottom:20px}
.sec__top{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:8px;margin-bottom:20px}
.sec__top h2{margin:0}
.rail{display:grid;grid-auto-flow:column;grid-auto-columns:82%;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;padding:0 var(--gutter) 8px;margin:0 calc(-1 * var(--gutter));scroll-padding-left:var(--gutter)}
.rail>*{scroll-snap-align:start;min-width:0}
@media (min-width:768px){.rail{grid-auto-flow:row;grid-template-columns:repeat(4,minmax(0,1fr));overflow:visible;margin:0;padding:0}.rail>:nth-child(n+5){display:none}}

/* ---------- Cards ---------- */
.card{position:relative;height:100%;display:grid;grid-template-columns:1fr;align-content:start;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);overflow:hidden;cursor:pointer;transition:transform var(--dur) var(--ease),box-shadow var(--dur)}
.card:hover{transform:translateY(-2px);box-shadow:var(--shadow)}
.card__media{position:relative}
.card__media .ea-img{border-radius:0;border-width:0 0 1.5px 0}
.card__body{display:flex;flex-direction:column;gap:10px;padding:18px 20px 22px}
.card__title{font:700 clamp(19px,1.1rem + .2vw,21px)/1.3 var(--font-sans);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;text-wrap:pretty}
.card__title a{color:inherit;text-decoration:none;text-underline-offset:.15em;text-decoration-thickness:2px}
.card:hover .card__title a{text-decoration:underline}
.card__ex{font:400 17px/1.5 var(--font-sans);color:var(--ink-2);display:none}
.card__meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font:400 16px/1.4 var(--font-sans);color:var(--muted)}
@media (min-width:600px){.card__ex{display:block}}
.card--featured .card__body,.card--horizontal .card__body{padding:20px}
.card--featured .card__title,.card--horizontal .card__title{font:650 clamp(24px,1.2rem + .8vw,32px)/1.2 var(--font-serif)}
.card--featured .card__ex,.card--horizontal .card__ex{display:block}
@media (min-width:600px){.card--featured .card__body,.card--horizontal .card__body{padding:28px}}
@media (min-width:768px){.card--horizontal{grid-template-columns:1.25fr 1fr}.card--horizontal .card__media .ea-img{height:100%;border-width:0 1.5px 0 0}.card--horizontal .card__body{align-self:center}}
.results__featured{margin-bottom:20px}
.tcard{height:100%;display:flex;gap:14px;align-items:flex-start;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);padding:20px;cursor:pointer;transition:box-shadow var(--dur),border-color var(--dur)}
.tcard:hover{box-shadow:var(--shadow);border-color:var(--border-strong)}
.tcard__body{display:flex;flex-direction:column;gap:6px;min-width:0}
.tcard__title{font:700 19px/1.3 var(--font-sans)}
.tcard__title a{color:inherit;text-decoration:none;text-underline-offset:.15em}
.tcard:hover .tcard__title a{text-decoration:underline}
.tcard__q{font:400 16px/1.45 var(--font-sans);color:var(--ink-2)}
.tcard__go{display:flex;align-items:center;gap:6px;font:600 16px/1 var(--font-sans);color:var(--evergreen);margin-top:4px}
.topic-card{display:flex;align-items:center;gap:14px;padding:20px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);text-decoration:none;color:var(--ink)}
.topic-card:hover{border-color:var(--border-strong);box-shadow:var(--shadow);color:var(--ink)}
.topic-card__t{display:block;font:700 19px/1.3 var(--font-sans)}
.topic-card__n{display:block;font:400 16px/1.3 var(--font-sans);color:var(--ink-2)}
.rel-card{margin:24px 0;display:flex;align-items:center;gap:16px;padding:12px;border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface);text-decoration:none;color:var(--ink)}
.rel-card:hover{border-color:var(--border-strong);color:var(--ink)}
.rel-card__img{width:112px;flex:none}
.rel-card__img .ea-img{border-radius:var(--r-sm)}
.rel-card .eyebrow{margin-bottom:4px}
.rel-card__t{display:block;font:700 18px/1.35 var(--font-sans)}

/* ---------- Ads ---------- */
.ad{width:100%;margin:40px auto;display:flex;flex-direction:column;gap:6px}
.ad__label{font:400 14px/1.3 var(--font-sans);color:var(--muted);text-align:center}
.ad__box{min-height:280px;border:1px dashed var(--line);background:repeating-linear-gradient(45deg,#F6F1E6 0 8px,var(--sand) 8px 16px);border-radius:var(--r-sm);display:flex;align-items:center;justify-content:center;font:500 12px/1.4 ui-monospace,Menlo,monospace;color:var(--muted);text-align:center;padding:8px}
@media (min-width:768px){.ad__box{min-height:290px}}
.ad--sidebar{max-width:300px;margin:0 auto}.ad--sidebar .ad__box{min-height:600px}
.ad--infeed{margin:20px 0 40px}
.ad--anchor{position:fixed;left:0;right:0;bottom:0;z-index:var(--z-anchor-ad);margin:0;padding:6px;background:var(--paper);border-top:1px solid var(--line);gap:2px}
.ad--anchor .ad__box{min-height:50px}
.ad--anchor.is-off{display:none}
@media (min-width:768px){.ad--anchor{display:none}}
body.has-anchor{padding-bottom:84px}
@media (min-width:768px){body.has-anchor{padding-bottom:0}}
.ad--sidebar{display:none}
@media (min-width:1024px){.ad--sidebar{display:flex}}

/* ---------- ZIP strip ---------- */
.zstrip{margin-top:20px;height:96px;display:flex;align-items:center;gap:12px;padding:0 16px;border-radius:var(--r-md);background:var(--frost-tint);border:1px solid #C9D2D8;overflow:hidden}
@media (min-width:600px){.zstrip{height:68px}}
.zstrip__pin{color:var(--frost)}
.zstrip__skel{flex:1;display:flex;flex-direction:column;gap:8px}
.zstrip__skel span{display:block;height:14px;width:70%;border-radius:4px;background:#C9D2D8}
.zstrip__skel span+span{width:40%;background:#D6DDE2}
.zstrip__txt{flex:1;font:400 17px/1.45 var(--font-sans);color:var(--ink)}
.zstrip__txt strong{background:var(--sun-tint);padding:0 4px;border-radius:3px;white-space:nowrap}
.zstrip--hub{margin-top:4px;height:56px;max-width:520px;background:var(--surface);border-color:#C7CDB8}
.zstrip--hub .zstrip__pin{color:var(--pillar)}
.zstrip--hub .btn{height:40px}

/* ---------- Article ---------- */
.progress{position:fixed;left:0;top:0;height:3px;width:0;background:var(--pillar);z-index:101}
.art-grid{display:grid;grid-template-columns:minmax(0,var(--article-col));gap:48px;justify-content:center;align-items:stretch}
.art{min-width:0;padding-bottom:48px}
.art-side{display:none}
@media (min-width:1024px){.art-grid{grid-template-columns:minmax(0,var(--article-col)) var(--sidebar-col)}.art-side{display:flex;flex-direction:column;padding:32px 0 48px}.art-side__a{flex:1.6 1 0;min-height:0}.art-side__b{flex:1 1 0;min-height:0;padding-top:48px}.art-side__sticky{position:sticky;top:calc(var(--hdr-off) + 24px);transition:top var(--dur) var(--ease);display:flex;flex-direction:column;gap:24px}.toc-m{display:none}}
.art__head{display:flex;flex-direction:column;gap:16px;padding-top:20px}
.art__h1{text-wrap:balance}
.art__dek{font:400 var(--fs-lead)/1.55 var(--font-sans);color:var(--ink-2);max-width:62ch;text-wrap:pretty}
.art__meta{display:flex;align-items:flex-start;gap:12px;padding-top:4px;font:400 16px/1.5 var(--font-sans);color:var(--ink-2)}
.desk-mono{flex:none}
.desk-mono rect{fill:var(--evergreen)}
.desk-mono text{fill:#fff;font:700 17px var(--font-serif)}
.desk-mono--ember rect{fill:var(--ember)}.desk-mono--lake rect{fill:var(--lake)}.desk-mono--turf rect{fill:var(--turf)}.desk-mono--olive rect{fill:var(--olive)}.desk-mono--frost rect{fill:var(--frost)}
.hero-fig{margin:24px 0 0;display:flex;flex-direction:column;gap:8px}
.hero-fig figcaption{display:flex;flex-wrap:wrap;justify-content:space-between;gap:4px 16px;font:400 16px/1.5 var(--font-sans);color:var(--ink-2)}
.kt{margin-top:32px;background:var(--sand);border-radius:var(--r-md);padding:24px clamp(20px,3vw,32px)}
.kt .eyebrow{margin-bottom:14px}
.kt__ico{color:var(--pillar)}
.kt ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}
.kt li{display:flex;gap:12px;font:400 var(--fs-body)/1.55 var(--font-sans)}
.kt li svg{margin-top:3px}
.toc-m{margin-top:24px;border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface)}
.toc-m>button{width:100%;min-height:56px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 16px;background:none;border:0;font:700 18px/1.3 var(--font-sans);color:var(--ink);cursor:pointer;text-align:left}
.toc-m>button[aria-expanded="true"] .chev{transform:rotate(180deg)}
.chev{transition:transform var(--dur)}
.toc-m__list{list-style:none;margin:0;padding:0 16px 12px;border-top:1px solid var(--line)}
.toc-m__list a{display:flex;gap:10px;align-items:center;min-height:48px;font:400 17px/1.35 var(--font-sans);color:var(--ink);text-decoration:none;border-bottom:1px solid #EFE9DC}
.toc__n{width:22px;color:var(--pillar);font-weight:600;flex:none}
.toc-d .eyebrow{margin-bottom:8px}
.toc-d__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}
.toc-d__list a{display:flex;align-items:center;min-height:40px;padding:4px 0 4px 14px;border-left:3px solid var(--line);font:400 16px/1.35 var(--font-sans);color:var(--ink-2);text-decoration:none}
.toc-d__list .toc__n{display:none}
.toc-d__list a.is-current{border-left-color:var(--pillar);font-weight:600;color:var(--ink)}

/* Prose */
.prose{max-width:var(--article-col)}
.prose>*+*{margin-top:0}
.prose h2{margin:48px 0 16px;padding-top:20px;position:relative;text-wrap:balance}
.prose h2::before{content:"";position:absolute;left:0;top:0;width:40px;height:3px;background:var(--pillar)}
.prose--plain h2::before{display:none}.prose--plain h2{padding-top:0}
.prose h3{margin:32px 0 12px;font:700 var(--fs-h3)/1.3 var(--font-sans)}
.prose p{margin:0 0 1.1em;max-width:var(--measure)}
.prose ul,.prose ol:not(.steps){margin:0 0 1.1em;padding:0;list-style:none;display:flex;flex-direction:column;gap:10px;max-width:var(--measure)}
.prose ul>li{position:relative;padding-left:20px}
.prose ul>li::before{content:"";position:absolute;left:0;top:.7em;width:8px;height:8px;border-radius:2px;background:var(--pillar)}
.prose ol:not(.steps){counter-reset:n}
.prose ol:not(.steps)>li{counter-increment:n;position:relative;padding-left:40px}
.prose ol:not(.steps)>li::before{content:counter(n) ".";position:absolute;left:0;font-weight:700;color:var(--pillar)}
.prose a:visited{color:var(--evergreen-700)}
.prose img{border-radius:var(--r-md)}
.cite{font-size:.7em;line-height:0}
.callout{margin:24px 0;display:flex;gap:14px;padding:18px 20px;border-left:4px solid var(--c);background:var(--b);border-radius:0 var(--r-md) var(--r-md) 0;--c:var(--success);--b:var(--success-bg)}
.callout__icon{color:var(--c);margin-top:2px}
.callout__body{font:400 18px/1.6 var(--font-sans);color:var(--ink)}
.callout__label{color:var(--c)}
.callout--rule{--c:var(--ink-2);--b:var(--sand)}.callout--rule .callout__label{color:var(--ink)}
.callout--regional{--c:var(--frost);--b:var(--frost-tint)}
.callout--caution{--c:var(--warn);--b:var(--warn-bg)}
.callout--safety{--c:var(--danger);--b:var(--danger-bg)}
.callout--pro{--c:var(--ember);--b:var(--ember-tint)}
.worked{margin:24px 0;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);padding:clamp(20px,3vw,28px);display:flex;flex-direction:column;gap:14px}
.worked h3{margin:0;font:700 var(--fs-h4)/1.35 var(--font-sans)}
.worked dl{margin:0;display:grid;grid-template-columns:1fr;gap:8px 20px;font:400 18px/1.55 var(--font-sans);font-variant-numeric:tabular-nums}
.worked dt{font-weight:700;color:var(--ink-2)}.worked dd{margin:0}
@media (min-width:600px){.worked dl{grid-template-columns:96px minmax(0,1fr)}}
.steps{list-style:none;margin:0 0 1.1em;padding:0;display:flex;flex-direction:column;gap:28px}
.steps>li{display:grid;grid-template-columns:48px minmax(0,1fr);gap:16px}
.steps__n{width:48px;height:48px;border-radius:var(--r-pill);background:var(--pillar);color:#fff;display:flex;align-items:center;justify-content:center;font:700 21px/1 var(--font-sans)}
.steps>li>div{display:flex;flex-direction:column;gap:6px;padding-top:8px}
.steps h3{margin:0;font:700 var(--fs-h4)/1.35 var(--font-sans)}
.steps p{margin:0;max-width:64ch}
.steps__fig{margin:10px 0 0;display:flex;flex-direction:column;gap:8px}
figcaption{font:400 16px/1.5 var(--font-sans);color:var(--ink-2)}
.quote{margin:32px 0;padding:4px 0 4px 24px;border-left:4px solid var(--pillar)}
.quote p{margin:0 0 12px;font:600 clamp(22px,1.2rem + .5vw,27px)/1.4 var(--font-serif);font-style:italic;color:var(--ink)}
.quote footer{font:400 16px/1.5 var(--font-sans);color:var(--ink-2)}
.quote cite{font-style:normal}
.figure{margin:8px 0 24px;display:flex;flex-direction:column;gap:8px}
.ea-table{margin:0 0 1.1em}
.ea-table figcaption{font-weight:600;margin-bottom:8px}
.ea-table__wrap{position:relative}
.ea-table__scroll{overflow-x:auto;border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface)}
.ea-table table,.tbl{border-collapse:separate;border-spacing:0;width:100%;font:400 17px/1.45 var(--font-sans);color:var(--ink);font-variant-numeric:tabular-nums}
.ea-table table{min-width:600px}
.ea-table th,.ea-table td,.tbl th,.tbl td{text-align:left;padding:12px 14px;border-bottom:1px solid #EFE9DC;background:var(--surface)}
.ea-table thead th,.tbl thead th{background:var(--sand);font-weight:700;border-bottom:1px solid var(--line);white-space:nowrap}
.ea-table tbody tr:nth-child(even)>*,.tbl tbody tr:nth-child(even)>*{background:var(--sand-zebra)}
.ea-table tbody th{font-weight:600;white-space:nowrap}
.ea-table tr>:first-child{position:sticky;left:0;z-index:1}
.ea-table thead tr>:first-child{z-index:2}
.ea-table.is-scrolled tr>:first-child{box-shadow:4px 0 6px -4px rgba(30,38,33,.25)}
.ea-table__hint{position:absolute;top:1px;right:1px;bottom:1px;width:56px;border-radius:0 var(--r-md) var(--r-md) 0;background:linear-gradient(90deg,rgba(251,248,242,0),var(--paper) 70%);display:flex;align-items:center;justify-content:flex-end;padding-right:6px;pointer-events:none;font:600 14px/1 var(--font-sans);color:var(--ink-2)}
.ea-table.is-scrolled .ea-table__hint,.ea-table.no-overflow .ea-table__hint{display:none}
@media (min-width:760px){.ea-table__hint{display:none}}
.tbl caption{text-align:left;padding:12px 14px 0;font:600 16px/1.4 var(--font-sans);color:var(--ink-2);caption-side:top}
.tbl-box{border:1px solid var(--line);border-radius:var(--r-md);overflow:hidden;overflow-x:auto}
.tbl tfoot th,.tbl tfoot td{border-top:2px solid var(--ink);font-weight:700;padding:12px 14px}
.tbl .r{text-align:right}
.tilemap{margin:8px 0 24px;display:flex;flex-direction:column;gap:10px}
.tilemap__box{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);padding:clamp(12px,2vw,20px)}
.tilemap__grid{display:grid;grid-template-columns:repeat(11,minmax(0,1fr));gap:3px}
.tile{aspect-ratio:1;border-radius:3px;display:flex;align-items:center;justify-content:center;font:600 clamp(9px,1.3vw,13px)/1 var(--font-sans);position:relative}
.tile--c{background:var(--turf);color:#fff}.tile--t{background:#C9CFA0;color:var(--ink)}.tile--w{background:#E9B949;color:var(--ink)}
.tile.is-mine{outline:2.5px solid var(--ink);outline-offset:1px;z-index:1}
.legend{display:flex;flex-wrap:wrap;gap:8px 20px;margin-top:14px;font:500 16px/1.3 var(--font-sans);color:var(--ink)}
.legend span{display:flex;align-items:center;gap:8px}
.sw{display:inline-block;width:18px;height:18px;border-radius:3px}
.sw--c{background:var(--turf)}.sw--t{background:#C9CFA0}.sw--w{background:#E9B949}.sw--mine{outline:2.5px solid var(--ink);outline-offset:1px}
.sw--free{background:var(--turf)}.sw--hatch{background:repeating-linear-gradient(45deg,var(--frost) 0 3px,var(--frost-tint) 3px 8px)}
.tabs{margin:0 0 1.1em}
.tabs [role="tablist"]{display:flex;gap:4px;border-bottom:2px solid var(--line);overflow-x:auto}
.tabs [role="tab"]{min-height:52px;padding:0 16px;background:none;border:0;border-bottom:3px solid transparent;margin-bottom:-2px;font:500 17px/1.2 var(--font-sans);color:var(--ink-2);cursor:pointer;white-space:nowrap}
.tabs [role="tab"][aria-selected="true"]{border-bottom-color:var(--pillar);font-weight:700;color:var(--ink)}
.tabs [role="tabpanel"]{padding:20px 0 0}
.tabs [role="tabpanel"] h3{margin:0 0 10px}
.mini-tool{margin:8px 0 0;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow);padding:clamp(20px,3vw,28px);display:flex;flex-direction:column;gap:16px}
.mini-tool__head{display:flex;align-items:center;gap:12px}
.mini-tool__head .tint-ico{width:48px;height:48px}
.mini-tool__head h3{font:700 clamp(19px,1.1rem + .2vw,21px)/1.3 var(--font-sans)}
.mini-tool__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}
.mini-tool__res{min-height:64px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;background:var(--sun-tint);border-radius:var(--r-md);padding:12px 16px;font:400 17px/1.4 var(--font-sans)}
.mini-tool__num{font:700 26px/1 var(--font-sans)}
.tool-cta{margin:8px 0 0}
.faq{margin-top:8px}
.faq h2{margin:48px 0 16px;padding-top:20px;position:relative}
.faq h2::before{content:"";position:absolute;left:0;top:0;width:40px;height:3px;background:var(--pillar)}
.faq__list{border-top:1px solid var(--line)}
.faq__item{border-bottom:1px solid var(--line)}
.faq h3 button{width:100%;min-height:64px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 0;background:none;border:0;text-align:left;font:700 var(--fs-h4)/1.35 var(--font-sans);color:var(--ink);cursor:pointer}
.faq__plus{flex:none;width:36px;height:36px;border-radius:var(--r-pill);background:var(--pillar-tint);color:var(--pillar);display:flex;align-items:center;justify-content:center;transition:transform var(--dur) var(--ease)}
.faq button[aria-expanded="true"] .faq__plus{transform:rotate(45deg)}
.faq__a{padding:0 0 20px}
.faq__a p{max-width:66ch}
.fb{margin-top:40px;min-height:120px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);padding:20px 24px;display:flex;flex-direction:column;justify-content:center;gap:12px}
.fb__ask{display:flex;flex-wrap:wrap;align-items:center;gap:12px 20px}
.fb__q{font:700 19px/1.3 var(--font-sans);color:var(--ink)}
.fb__btns{display:flex;gap:8px}
.fb__more{display:flex;flex-direction:column;gap:8px;margin:0}
.fb__row{display:flex;flex-wrap:wrap;gap:8px}.fb__row .input{flex:1 1 240px}
.fb__sent{display:flex;align-items:center;gap:10px;font:600 19px/1.3 var(--font-sans);color:var(--success)}
.tool-main .fb{margin-top:0;min-height:88px}
.sources{margin-top:8px}
.sources h2{margin:48px 0 16px;padding-top:20px;position:relative}
.sources h2::before{content:"";position:absolute;left:0;top:0;width:40px;height:3px;background:var(--pillar)}
.sources ol{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:14px}
.sources li{display:grid;grid-template-columns:32px minmax(0,1fr);gap:8px;font:400 17px/1.55 var(--font-sans)}
.sources__n{font-weight:700;color:var(--pillar)}
.sources__back{font-size:15px;white-space:nowrap}
.howmade{margin-top:40px;background:var(--sand);border-radius:var(--r-md);padding:clamp(20px,3vw,32px);display:flex;flex-direction:column;gap:12px}
.howmade h2{margin:0;font:650 clamp(22px,1.2rem + .4vw,26px)/1.25 var(--font-serif)}
.howmade ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px;font:400 18px/1.6 var(--font-sans)}
.changelog{margin-top:32px}
.changelog h2{margin:0 0 12px;font:700 var(--fs-h4)/1.35 var(--font-sans)}
.changelog ul{list-style:none;margin:0;padding:0;border-left:2px solid var(--line)}
.changelog li{position:relative;padding:4px 0 4px 20px;font:400 17px/1.55 var(--font-sans)}
.changelog li::before{content:"";position:absolute;left:-7px;top:12px;width:12px;height:12px;border-radius:var(--r-pill);background:var(--pillar)}
.deskbox{margin-top:32px;display:flex;gap:16px;align-items:flex-start;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:24px 0}
.deskbox>div{display:flex;flex-direction:column;gap:6px}
.deskbox__name{font:700 19px/1.3 var(--font-sans)}
.deskbox p{font:400 17px/1.55 var(--font-sans);color:var(--ink-2);max-width:60ch}
.share{margin-top:24px;display:flex;flex-wrap:wrap;align-items:center;gap:16px 24px}
.share__pin{display:flex;align-items:center;gap:12px}
.share__thumb{width:56px}.share__thumb .ea-img{border-radius:4px}
.share__btns{display:flex;flex-wrap:wrap;gap:8px}
.share__msg,.ok-msg{font:500 16px/1 var(--font-sans);color:var(--success)}
.keep{margin-top:48px}
.keep h2{margin-bottom:20px}
.keep .link-arrow{margin-top:12px}
.art .nl{margin-top:40px}

/* ---------- Newsletter ---------- */
.nl{color:var(--ink)}
.nl__in{display:grid;grid-template-columns:1fr;gap:20px;align-items:start}
.nl__copy{display:flex;flex-direction:column;gap:10px}
.nl__h{margin:0;font:650 26px/1.2 var(--font-serif);text-wrap:balance}
.nl__p{font:400 18px/1.6 var(--font-sans);color:var(--ink-2);max-width:56ch}
.nl__form{display:flex;flex-direction:column;gap:14px;margin:0}
.nl__fields{display:grid;grid-template-columns:1fr;gap:12px}
.nl__ints{border:0;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}
.nl__ints legend{margin-bottom:6px;padding:0}
.nl__actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px 20px}
.nl__done{display:flex;gap:12px;align-items:flex-start;background:var(--success-bg);border-radius:var(--r-md);padding:20px;color:var(--success);font:500 18px/1.5 var(--font-sans)}
.nl--inline{background:var(--sand);border-radius:var(--r-lg);padding:24px 20px}
.nl--wide{background:var(--evergreen-tint);padding:48px 16px}
.nl--wide .nl__in{max-width:var(--content-max);margin:0 auto}
.nl--wide .nl__h{font:650 var(--fs-h2)/1.2 var(--font-serif)}
.nl--wide .nl__p{font-size:19px}
.nl--mini .nl__h{font:700 19px/1.35 var(--font-sans)}
.nl--mini .nl__p{font-size:16px}
.nl--mini .nl__in{gap:12px}
.nl--mini .field-msg{min-height:0}
@media (min-width:600px){.nl--inline{padding:32px}.nl--wide{padding:64px 32px}.nl:not(.nl--mini) .nl__fields{grid-template-columns:2fr 1fr}}
@media (min-width:900px){.nl--wide .nl__in{grid-template-columns:1fr 1.1fr;gap:64px}}

/* ---------- Tools ---------- */
.tool-head{display:flex;gap:16px;align-items:flex-start;padding:16px 0 20px;max-width:880px}
.tool-head__ico{display:none;margin-top:30px}
@media (min-width:600px){.tool-head__ico{display:flex}}
.tool-head__txt{display:flex;flex-direction:column;gap:10px}
.tool-head__h1{font-size:clamp(30px,1.4rem + 1.9vw,46px);text-wrap:balance}
.tool-head__dek{font:400 clamp(18px,1.1rem + .2vw,22px)/1.5 var(--font-sans);color:var(--ink-2);max-width:60ch}
.tool-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:24px;align-items:start}
@media (min-width:1024px){.tool-grid{grid-template-columns:minmax(0,8fr) minmax(0,4fr);gap:32px}}
.tool-main{min-width:0;display:flex;flex-direction:column;gap:24px}
.tool-page--lookup .tool-grid,.tool-page--lookup .tool-head{max-width:880px;margin-left:auto;margin-right:auto}
.tool-page--lookup .tool-grid{grid-template-columns:minmax(0,1fr)}
.tool-page--lookup .tool-head{padding-top:14px}
.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow);overflow:hidden}
.panel__in{padding:20px 16px;display:flex;flex-direction:column;gap:28px;margin:0}
@media (min-width:600px){.panel__in{padding:32px}}
.panel--pool .panel__in{gap:24px}
.panel__top{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px}
.panel h2,.panel__top h2{margin:0;font:700 var(--fs-h3)/1.3 var(--font-sans)}
.seg{display:grid;gap:8px}
.seg button{border:2px solid var(--border-strong);border-radius:var(--r-sm);background:var(--surface);color:var(--ink);font:600 17px/1.2 var(--font-sans);cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-height:56px;padding:8px 12px}
.seg button span{font:400 15px/1.2 var(--font-sans);color:var(--ink-2)}
.seg button[aria-checked="true"]{border-color:var(--evergreen);background:var(--evergreen-tint)}
.seg--2{grid-template-columns:1fr 1fr;max-width:520px}
.seg--3{grid-template-columns:repeat(3,minmax(0,1fr))}
.panel--pool .seg button{min-height:64px;border-radius:var(--r-md);font:700 19px/1.1 var(--font-sans);font-variant-numeric:tabular-nums}
.panel--pool .seg button[aria-checked="true"]{border-color:var(--lake);background:var(--lake-tint)}
.panel--pool .seg button span{font:500 14px/1 var(--font-sans)}
.seg--units{display:flex;padding:3px;border:1.5px solid var(--border-strong);border-radius:var(--r-sm);background:var(--paper);gap:0}
.seg--units button{min-height:42px;padding:0 14px;border:0;border-radius:4px;background:transparent;font:600 16px/1 var(--font-sans)}
.seg--units button[aria-checked="true"]{background:var(--evergreen);color:#fff}
.step{border:0;margin:0;padding:0;display:flex;flex-direction:column;gap:16px;min-width:0}
.step legend{padding:0;margin-bottom:16px;font:700 19px/1.35 var(--font-sans);display:flex;align-items:center;gap:10px}
.step__n{width:32px;height:32px;border-radius:var(--r-pill);background:var(--pillar);color:#fff;display:inline-flex;align-items:center;justify-content:center;font:700 17px/1 var(--font-sans)}
.field--zip{max-width:520px}
.field--zip .field-msg{min-height:48px}
.gen-head{display:none;grid-template-columns:minmax(0,1fr) 136px 136px;gap:12px;padding:0 14px;font:600 15px/1.3 var(--font-sans);color:var(--ink-2)}
.tip-wrap{position:relative;display:flex;justify-content:flex-end}
.tip{position:absolute;right:0;top:100%;z-index:20;width:min(340px,100%);background:var(--ink);color:#fff;border-radius:var(--r-md);padding:16px 18px;font:400 16px/1.5 var(--font-sans);box-shadow:0 4px 16px rgba(30,38,33,.2)}
.tip a{color:var(--sun);font-weight:600}
.gen-list{display:flex;flex-direction:column;gap:8px}
.gen-item{display:flex;flex-direction:column;gap:6px}
.gen-row{display:grid;grid-template-columns:1fr 1fr;gap:8px 12px;align-items:center;padding:6px 14px;border:1.5px solid var(--line);border-radius:var(--r-md);background:var(--paper)}
.gen-item.is-on .gen-row{border-color:var(--evergreen);background:var(--surface)}
.gen-item.has-err .gen-row{border-color:var(--danger)}
.gen-row__name{grid-column:1/-1;display:flex;align-items:center;gap:12px;min-height:48px;cursor:pointer;font:400 17px/1.3 var(--font-sans)}
.gen-item.is-on .gen-row__name{font-weight:600}
.gen-row__w{display:flex;flex-direction:column;gap:4px}
.gen-row__ml{font:500 15px/1.2 var(--font-sans);color:var(--ink-2)}
.gen-err{display:flex;gap:8px;align-items:center;padding:0 14px;font:500 16px/1.4 var(--font-sans);color:var(--danger)}
@media (min-width:600px){.gen-head{display:grid}.gen-row{grid-template-columns:minmax(0,1fr) 136px 136px}.gen-row__name{grid-column:auto}.gen-row__ml{position:absolute;left:-9999px}}
.btn--calc{align-self:flex-start;width:100%;padding:0 32px;font-size:18px}
@media (min-width:600px){.btn--calc{width:auto}}
.result{border-top:1px solid var(--line)}
.result__hi{min-height:300px;background:var(--sun-tint);padding:20px 16px;display:flex;flex-direction:column;justify-content:center;gap:12px}
@media (min-width:600px){.result__hi{min-height:230px;padding:32px}}
.result__hi--pool{min-height:230px;gap:10px}
@media (min-width:600px){.result__hi--pool{min-height:210px}}
.result__lo{padding:20px 16px;display:flex;flex-direction:column;gap:20px}
@media (min-width:600px){.result__lo{padding:32px}}
.result__skel{display:flex;flex-direction:column;gap:14px}
.result__skel span{display:block;height:18px;width:30%;border-radius:4px;background:#F2DFAE}
.result__skel span:nth-child(2){height:56px;width:85%;border-radius:6px}
.result__skel span:nth-child(3){width:65%}.result__skel span:nth-child(4){width:50%;background:#F6E7C2}
.result__err{display:flex;gap:14px;align-items:flex-start;background:var(--danger-bg);border-left:4px solid var(--danger);border-radius:0 var(--r-md) var(--r-md) 0;padding:18px 20px;color:var(--danger)}
.result__err div{display:flex;flex-direction:column;gap:4px}.result__err span{color:var(--ink);font-size:17px}
.result__empty-t{display:block;font:700 21px/1.3 var(--font-sans)}
[data-r="empty"]{display:flex;flex-direction:column;gap:6px}
.result__nums{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 18px}
.result__nums>span{display:flex;align-items:baseline;gap:8px;font:600 19px/1.2 var(--font-sans)}
.result__num{font:700 var(--fs-result)/1 var(--font-sans);letter-spacing:-.02em}
.result__num2{font:700 clamp(32px,1.6rem + 1.2vw,44px)/1 var(--font-sans)}
.result__sent{font:400 clamp(19px,1.15rem + .2vw,21px)/1.5 var(--font-sans);max-width:56ch}
.result__head{font:700 var(--fs-result)/1.02 var(--font-sans);letter-spacing:-.02em;text-wrap:balance}
.result__sub{font:500 clamp(19px,1.15rem + .2vw,21px)/1.45 var(--font-sans)}
.result__table{margin:0}
.result__table figcaption{font-weight:600;margin-bottom:8px}
.result__table .tbl td.r,.result__table .tbl th.r{text-align:right}
.result__actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.result__actions--grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
.result__actions--grid .btn{min-height:52px;height:auto;padding:0 12px}
@media (min-width:600px){.result__actions--grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
.peak-badge{display:inline-flex;align-items:center;height:22px;padding:0 6px;margin-left:4px;border-radius:4px;background:var(--sun-tint);font:600 13px/1 var(--font-sans);letter-spacing:.03em;text-transform:uppercase;vertical-align:2px}
.disclosure{border:1px solid var(--line);border-radius:var(--r-md)}
.disclosure h3{margin:0}
.disclosure button{width:100%;min-height:56px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 16px;background:none;border:0;font:700 18px/1.3 var(--font-sans);cursor:pointer;text-align:left}
.disclosure button[aria-expanded="true"] .chev{transform:rotate(180deg)}
.disclosure>div{padding:0 16px 18px;display:flex;flex-direction:column;gap:12px;font:400 17px/1.6 var(--font-sans)}
.formula{background:var(--paper);border-radius:var(--r-sm);padding:14px 16px;display:flex;flex-direction:column;gap:6px;font:400 17px/1.6 var(--font-sans)}
.bullets{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px;font:400 17px/1.55 var(--font-sans)}
.bullets li{position:relative;padding-left:18px}
.bullets li::before{content:"";position:absolute;left:0;top:.65em;width:8px;height:8px;border-radius:2px;background:var(--pillar)}
.details{border:1px solid var(--line);border-radius:var(--r-md);padding:0 16px}
.details summary{min-height:56px;display:flex;align-items:center;font:700 18px/1.3 var(--font-sans);cursor:pointer}
.details[open]>*:not(summary){margin-bottom:12px}
.stepper{display:grid;grid-template-columns:72px minmax(0,1fr) 72px;height:72px;border:1.5px solid var(--border-strong);border-radius:var(--r-md);overflow:hidden;background:var(--surface)}
.stepper>button{border:0;background:var(--lake-tint);color:var(--lake);cursor:pointer;display:flex;align-items:center;justify-content:center}
.stepper>button:first-child{border-right:1.5px solid var(--border-strong)}
.stepper>button:last-child{border-left:1.5px solid var(--border-strong)}
.stepper>button:active{background:#C9D9DC}
.stepper__val{position:relative;display:flex;align-items:center;justify-content:center}
.stepper__val input{width:100%;height:100%;border:0;text-align:center;padding:0 54px 0 8px;font:700 28px/1 var(--font-sans);color:var(--ink);background:transparent}
.stepper__val .unit{position:absolute;right:12px;font:500 16px/1 var(--font-sans);color:var(--muted)}
.tool-rail{display:flex;flex-direction:column;gap:24px;min-width:0}
.rail-box{background:var(--sand);border-radius:var(--r-md);padding:24px}
.rail-box h2,.rail-h{margin:0 0 12px;font:700 var(--fs-h4)/1.35 var(--font-sans)}
.rail-h{margin-bottom:8px}
.rail-link{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:56px;border-bottom:1px solid var(--line);font:600 17px/1.35 var(--font-sans);color:var(--ink);text-decoration:none}
.rail-link svg{color:var(--evergreen)}
.rail-link:hover{color:var(--evergreen)}
.rail-link--box{flex:1 1 260px;min-height:64px;padding:0 18px;border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface)}
.lookup-links{max-width:880px;margin:24px auto 0;display:flex;flex-wrap:wrap;gap:16px}
.rail-tool{display:flex;align-items:center;gap:12px;min-height:60px;border-bottom:1px solid var(--line);text-decoration:none;color:var(--ink);font:600 17px/1.3 var(--font-sans)}
.rail-ad{position:sticky;top:calc(var(--hdr-off) + 24px);transition:top var(--dur) var(--ease)}
.tool-article{max-width:var(--article-col);margin:64px auto 0}
.tool-page--lookup .tool-article{max-width:880px;margin-top:40px}
.deskline{margin-top:40px;display:flex;flex-wrap:wrap;align-items:center;gap:12px;border-top:1px solid var(--line);padding-top:20px;font:400 16px/1.5 var(--font-sans);color:var(--ink-2)}
.more-tools{margin-top:64px}
.more-tools h2{margin-bottom:20px}
.panel--soon .panel__in{gap:12px}
.fd-row{display:flex;flex-wrap:wrap;gap:10px}
.btn--xl{flex:1 1 200px;height:72px;border-radius:var(--r-md);font-size:19px}
.panel [data-fd-form]{gap:10px}
.result--fd{min-height:300px;padding:20px 16px;display:flex;flex-direction:column;gap:20px}
@media (min-width:600px){.result--fd{min-height:260px;padding:32px}}
.fd-empty{flex:1;display:flex;flex-direction:column;justify-content:center;gap:6px}
.fd-empty strong{font:700 21px/1.3 var(--font-sans)}
.fd-out{display:flex;flex-direction:column;gap:20px}
.fd-out__head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:6px}
.fd-out__head h3{font:700 var(--fs-h3)/1.3 var(--font-sans)}
.fd-tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:12px}
.fd-tile{border-radius:var(--r-md);padding:16px 18px;display:flex;flex-direction:column;gap:6px;font:400 16px/1.4 var(--font-sans);color:var(--ink-2)}
.fd-tile strong{font:700 clamp(32px,1.6rem + 1.2vw,44px)/1 var(--font-sans);color:var(--ink)}
.fd-tile--frost{background:var(--frost-tint)}.fd-tile--sun{background:var(--sun-tint)}
.fd-bar{margin:0;display:flex;flex-direction:column;gap:10px}
.fd-bar figcaption{font-weight:600}
.fd-bar svg{width:100%;height:auto;font-family:var(--font-sans)}
.fd-station{display:flex;gap:10px;align-items:flex-start}
.fd-station svg{color:var(--frost);margin-top:2px}
/* Planting zone lookup (0.6.1) */
.pz-tile--change{background:var(--evergreen-tint)}
.fd-tile strong.pz-change,.fd-tile strong.pz-frost{font-size:clamp(26px,1.3rem + .9vw,34px)}
.pz-scale{margin:0;display:flex;flex-direction:column;gap:10px}
.pz-scale figcaption{font:600 16px/1.4 var(--font-sans);color:var(--ink-2)}
.pz-scale__row{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:4px}
.pz-chip{min-width:44px;padding:8px 6px;border-radius:6px;background:var(--frost-tint);color:var(--ink-2);font:600 15px/1 var(--font-sans);text-align:center;font-variant-numeric:tabular-nums}
.pz-chip.is-on{background:var(--frost);color:#fff;box-shadow:0 0 0 2px var(--surface),0 0 0 4px var(--frost)}

/* ---------- Archive / filter bar / pagination ---------- */
.arch-head{background:transparent}
.arch-head__txt{display:flex;flex-direction:column;gap:12px;padding:24px 0 40px;max-width:760px}
.arch-head__count{font:500 16px/1.4 var(--font-sans);color:var(--ink-2)}
.anchor-pad{height:48px}
.fbar{position:sticky;top:var(--hdr-off);z-index:90;background:var(--paper);border-top:1px solid var(--line);border-bottom:1px solid var(--line);transition:top var(--dur)}
body.hdr-hidden .fbar{top:0}
.fbar__in{padding-top:12px;padding-bottom:12px;display:flex;flex-direction:column;gap:10px}
.fbar__top{display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px}
.fbar__h{margin:0 auto 0 0;font:700 var(--fs-h4)/1.35 var(--font-sans)}
.fbar__toggle[aria-expanded="true"] .chev{transform:rotate(180deg)}
.fbar__sort{display:flex;align-items:center;gap:8px;font:600 16px/1 var(--font-sans)}
.fbar__panel{display:none;flex-direction:column;gap:10px;max-height:50vh;overflow-y:auto}
.fbar__panel.is-open{display:flex}
.fbar__grp{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.fbar__lbl{width:100%;font:600 var(--fs-xs)/1 var(--font-sans);letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}
.fbar__status{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px;font:500 16px/1.4 var(--font-sans);color:var(--ink-2);font-variant-numeric:tabular-nums}
.fbar__status .btn-link{min-height:44px;font-size:16px}
@media (min-width:600px){.fbar__toggle{display:none}.fbar__panel{display:flex;max-height:none;overflow:visible}.fbar__lbl{width:72px}}
.results{padding-top:24px}
.card.is-filtered{display:none}
.empty-state{display:flex;flex-direction:column;gap:20px;padding:24px 0}
.empty-state__box{background:var(--sand);border-radius:var(--r-lg);padding:32px;display:flex;flex-direction:column;align-items:flex-start;gap:12px;margin:24px 0}
.empty-state__box h2,.empty-state__box h3{margin:0;font:700 var(--fs-h3)/1.3 var(--font-sans)}
.tools-strip{margin:20px 0 40px;background:var(--sand);border-radius:var(--r-lg);padding:clamp(20px,3vw,32px)}
.tools-strip__top{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:8px;margin-bottom:16px}
.tools-strip h2{margin:0;font:650 clamp(22px,1.2rem + .4vw,26px)/1.25 var(--font-serif)}
.pager{display:flex;flex-direction:column;align-items:center;gap:12px;padding:24px 0 8px}
.pager ol{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;justify-content:center;gap:8px}
.pager__num,.pager__nav{min-width:48px;height:48px;display:flex;align-items:center;justify-content:center;gap:4px;border:1.5px solid var(--border-strong);border-radius:var(--r-sm);background:var(--surface);color:var(--ink);font:600 17px/1 var(--font-sans);text-decoration:none;padding:0 14px}
.pager__num{padding:0}
.pager__num.is-cur{background:var(--evergreen);border-color:var(--evergreen);color:#fff;font-weight:700}
.pager__nav--next{border-color:var(--evergreen);color:var(--evergreen)}
.pager__nav.is-off{border-color:var(--line);color:var(--muted)}
.pager__gap{min-width:32px;height:48px;display:flex;align-items:center;justify-content:center;font:600 17px/1 var(--font-sans);color:var(--muted)}
.pager__label{font:500 16px/1 var(--font-sans);color:var(--ink-2)}
a.pager__num:hover,a.pager__nav:hover{border-color:var(--evergreen);color:var(--evergreen)}

/* ---------- Hubs ---------- */
.hub-head{background:var(--pillar-tint)}
.hub-head .container{padding-bottom:40px}
.hub-head__grid{display:grid;grid-template-columns:1fr;gap:32px 56px;align-items:center;padding-top:24px}
@media (min-width:900px){.hub-head__grid{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr)}}
.hub-head__txt{display:flex;flex-direction:column;gap:14px;min-width:0}
.hub-head__txt .tint-ico{width:56px;height:56px}
.hub-head__img{width:100%;max-width:600px;justify-self:end}
.hub-head__grid--topic .hub-head__img{max-width:420px}
.chip-nav{padding-top:40px;display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.chip-nav .fbar__lbl{width:auto;margin-right:6px}
.about-sec{margin-top:56px;border-top:1px solid var(--line);padding-top:40px;display:grid;grid-template-columns:1fr;gap:32px 48px}
@media (min-width:1024px){.about-sec{grid-template-columns:minmax(0,1.6fr) minmax(0,1fr)}}
.about-sec__topics{display:flex;flex-direction:column;gap:8px}
.about-sec__topics h3{margin:0 0 4px}
.about-sec__topics a{display:flex;align-items:center;justify-content:space-between;min-height:56px;padding:0 16px;border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface);font:600 17px/1.3 var(--font-sans);color:var(--ink);text-decoration:none}
.about-sec__topics span{font:400 15px/1 var(--font-sans);color:var(--muted)}

/* ---------- Home ---------- */
.hero{padding-top:24px}
@media (min-width:768px){.hero{padding-top:56px}}
.hero__grid{display:grid;grid-template-columns:1fr;gap:32px;align-items:center}
@media (min-width:768px){.hero__grid{grid-template-columns:minmax(0,1fr) minmax(0,1.05fr)}}
@media (min-width:1024px){.hero__grid{gap:64px}}
.hero__txt{display:flex;flex-direction:column;gap:20px;min-width:0}
.hero .lead{max-width:52ch}
.hero__img--d{display:none}.hero__img--d .ea-img{border-radius:var(--r-lg)}
@media (min-width:768px){.hero__img--m{display:none}.hero__img--d{display:block}.hero__zip{min-height:200px}}
.hero-form{margin:0;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow);padding:clamp(20px,3vw,28px);display:flex;flex-direction:column;gap:10px;max-width:560px}
.hero-form__row{display:flex;flex-wrap:wrap;gap:10px}
.btn--hero{flex:1 1 180px;height:64px;font-size:18px}
.glance{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow);overflow:hidden;max-width:600px}
.glance__top{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;padding:18px 24px;background:var(--frost-tint)}
.glance__top h2{margin:2px 0 0;font:650 24px/1.2 var(--font-serif)}
.glance__facts{margin:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));border-bottom:1px solid var(--line)}
.glance__facts div{padding:14px 24px;border-top:1px solid #EFE9DC;display:flex;flex-direction:column;gap:4px}
.glance__facts dt{font:500 15px/1.3 var(--font-sans);color:var(--muted)}
.glance__facts dd{margin:0;font:700 21px/1.2 var(--font-sans);font-variant-numeric:tabular-nums}
.glance__steps{padding:14px 24px 18px}
.glance__sh{font:700 17px/1.3 var(--font-sans);margin-bottom:4px}
.glance__steps a{display:flex;align-items:center;gap:12px;min-height:56px;border-top:1px solid #EFE9DC;text-decoration:none;color:var(--ink);font:500 17px/1.35 var(--font-sans)}
.glance__steps a>svg:last-child{color:var(--evergreen)}
.glance__steps .tint-ico--sm{width:36px;height:36px}
.pillar-tiles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.pillar-tiles>:nth-child(5){grid-column:1/-1}
@media (min-width:600px){.pillar-tiles{grid-template-columns:repeat(3,minmax(0,1fr))}.pillar-tiles>:nth-child(5){grid-column:auto}}
@media (min-width:1024px){.pillar-tiles{grid-template-columns:repeat(5,minmax(0,1fr))}}
.ptile{position:relative;background:var(--pillar-tint);border-radius:var(--r-md);padding:16px;display:flex;flex-direction:column;gap:10px;min-width:0}
@media (min-width:768px){.ptile{padding:20px}}
.ptile .tint-ico{width:48px;height:48px}
.ptile h3{font:700 clamp(19px,1.1rem + .2vw,21px)/1.25 var(--font-sans)}
.ptile h3 a{color:var(--ink);text-decoration:none}
.ptile h3 a:hover{text-decoration:underline}
.ptile__p{display:none;font:400 16px/1.45 var(--font-sans)}
@media (min-width:768px){.ptile__p{display:block}}
.ptile__tool{margin-top:auto;display:flex;align-items:center;gap:6px;min-height:44px;font:600 16px/1.3 var(--font-sans);color:var(--pillar)}
.trust{margin-top:64px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.trust__in{padding-top:56px;padding-bottom:56px;display:flex;flex-direction:column;gap:28px}
.trust__in h2{margin:0}
.trust__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:32px}
.trust__item{display:flex;flex-direction:column;gap:10px}
.trust__item p{font:400 17px/1.6 var(--font-sans);color:var(--ink-2)}

/* ---------- Pages ---------- */
.page-grid{display:grid;grid-template-columns:minmax(0,var(--article-col));gap:48px;justify-content:center;align-items:start;padding-bottom:64px}
@media (min-width:1024px){.page-grid{grid-template-columns:minmax(0,var(--article-col)) 240px}}
.page-art{min-width:0}
.page-head{padding:24px 0 8px;display:flex;flex-direction:column;gap:12px}
.page-head--wide{max-width:760px;padding-bottom:24px}
.page-fig{margin:24px 0 0}
.page-toc{display:none;position:sticky;top:calc(var(--hdr-off) + 24px);padding-top:32px}
@media (min-width:1024px){.page-toc{display:block}}
.page-toc .eyebrow{margin-bottom:8px}
.page-toc ol{list-style:none;margin:0;padding:0}
.page-toc a{display:flex;align-items:center;min-height:40px;padding:4px 0 4px 14px;border-left:3px solid var(--line);font:400 16px/1.35 var(--font-sans);color:var(--ink-2);text-decoration:none}
.page-toc a.is-current{border-left-color:var(--evergreen);color:var(--ink);font-weight:600}
.prose dl.method{margin:0 0 1.1em;display:grid;grid-template-columns:1fr;gap:10px 20px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);padding:20px 24px;font:400 17px/1.55 var(--font-sans);font-variant-numeric:tabular-nums}
.prose dl.method dt{font-weight:700;color:var(--ink-2)}.prose dl.method dd{margin:0}
@media (min-width:600px){.prose dl.method{grid-template-columns:140px minmax(0,1fr)}}
.sev{display:inline-flex;align-items:center;height:26px;padding:0 8px;border-radius:var(--r-sm);font:600 14px/1;white-space:nowrap;background:var(--info-bg);color:var(--info)}
.sev--data{background:var(--warn-bg);color:var(--warn)}.sev--typo{background:var(--sand);color:var(--ink-2)}
.contact{margin:24px 0 0;display:flex;flex-direction:column;gap:16px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:clamp(20px,3vw,32px);max-width:620px}
.ok-box{display:flex;gap:10px;align-items:center;background:var(--success-bg);color:var(--success);border-radius:var(--r-md);padding:16px;font:600 18px/1.4 var(--font-sans)}
.err-box{display:flex;gap:10px;align-items:center;background:var(--danger-bg);color:var(--danger);border-radius:var(--r-md);padding:16px;font:600 17px/1.4 var(--font-sans)}
.page-art .nl{margin-top:32px}
.az{position:sticky;top:var(--hdr-off);z-index:20;background:var(--paper);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:8px 0;display:flex;flex-wrap:wrap;gap:4px}
.az a,.az span{width:44px;height:44px;display:flex;align-items:center;justify-content:center;border-radius:var(--r-sm);font:700 17px/1 var(--font-sans)}
.az a{color:var(--evergreen);text-decoration:none;background:var(--surface);border:1px solid var(--line)}
.az span{color:var(--muted);font-weight:500}
.gl-sec{padding-top:32px;scroll-margin-top:150px}
.gl-letter{margin:0 0 8px;color:var(--evergreen)}
.gl-term{padding:16px 12px;margin:0 -12px;border-bottom:1px solid var(--line);border-radius:var(--r-sm);display:flex;flex-direction:column;gap:8px;scroll-margin-top:150px}
.gl-term:target{background:var(--sun-tint)}
.gl-term h3{display:flex;align-items:center;gap:8px;font:700 var(--fs-h3)/1.3 var(--font-sans)}
.gl-term p{max-width:68ch}
.gl-term .used{font:400 16px/1.5 var(--font-sans);color:var(--ink-2)}
.gl-term .used a{margin-right:12px}
.gl-link{display:flex;color:var(--muted)}
.tool-group{margin-bottom:40px}
.tool-group__head{background:var(--pillar-tint);border-radius:var(--r-md);padding:14px 18px;display:flex;align-items:center;gap:12px;margin-bottom:16px}
.tool-group__head h2{margin:0;font:650 clamp(22px,1.2rem + .4vw,26px)/1.25 var(--font-serif)}
.desk-head{display:flex;flex-wrap:wrap;gap:20px 28px;align-items:center;padding:28px 0 40px;border-bottom:1px solid var(--line)}
.desk-head>div{display:flex;flex-direction:column;gap:10px;flex:1 1 320px}
.desk-grid{display:grid;grid-template-columns:1fr;gap:32px;padding-top:40px}
@media (min-width:900px){.desk-grid{grid-template-columns:1fr 1fr}}
.desk-grid h2{margin-bottom:14px}
.desk-grid h3{margin:28px 0 10px;font-size:20px}
.checklist{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}
.checklist li{display:flex;gap:12px}
.checklist svg{color:var(--turf);margin-top:4px}
.plain-list{margin:0;padding-left:22px;display:flex;flex-direction:column;gap:6px;font-size:17px}
.process{background:var(--sand);border-radius:var(--r-lg);padding:clamp(20px,3vw,32px);align-self:start}
.process h2{font-size:clamp(22px,1.2rem + .4vw,26px)}
.process ol{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:14px}
.process li{display:grid;grid-template-columns:36px minmax(0,1fr);gap:12px;align-items:start;font:400 17px/1.55 var(--font-sans)}
.process li>span:last-child{padding-top:5px}
.process__n{width:36px;height:36px;border-radius:var(--r-pill);background:var(--turf);color:#fff;display:flex;align-items:center;justify-content:center;font:700 16px/1 var(--font-sans)}
.contrib{margin-top:40px;border:1.5px dashed var(--border-strong);border-radius:var(--r-md);padding:20px 24px;display:flex;flex-direction:column;gap:6px}
.contrib h2{margin:0;font:700 20px/1.35 var(--font-sans)}
.contrib p{font-size:17px;color:var(--ink-2)}
.state-head{padding-top:24px;display:flex;flex-direction:column;gap:14px;max-width:780px}
.state-map{display:grid;grid-template-columns:1fr;gap:32px;align-items:start}
@media (min-width:1024px){.state-map{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr)}}
.state-map__fig{margin:0;display:flex;flex-direction:column;gap:10px;min-width:0}
.state-map__fig h2{margin:0 0 6px}
.state-map__fig svg{width:100%;max-width:560px;height:auto;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);font-family:var(--font-sans)}
.state-map__shape{fill:var(--sand);stroke:var(--border-strong);stroke-width:2;stroke-linejoin:round}
.st{cursor:pointer;outline:none}
.st circle{stroke:#fff;stroke-width:3}
.st text{font-size:14px;font-weight:500;fill:var(--ink)}
.st.is-sel circle{stroke:var(--ink);r:11}
.st.is-sel text{font-weight:700}
.st:focus-visible circle{stroke:var(--evergreen);stroke-width:4}
.st--b1 circle,.dot--b1{fill:#A9BCCB;background:#A9BCCB}
.st--b2 circle,.dot--b2{fill:#5F7F99;background:#5F7F99}
.st--b3 circle,.dot--b3{fill:#2B4257;background:#2B4257}
.dot{display:inline-block;width:16px;height:16px;border-radius:var(--r-pill)}
.state-map__side{display:flex;flex-direction:column;gap:16px}
.st-detail{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:24px;display:flex;flex-direction:column;gap:12px}
.st-detail h3{font:700 var(--fs-h3)/1.3 var(--font-sans)}
.st-detail dl{margin:0;display:grid;grid-template-columns:1fr 1fr;gap:12px}
.st-detail dt{font:500 15px/1.3 var(--font-sans);color:var(--muted)}.st-detail dd{margin:0;font:700 24px/1.2 var(--font-sans)}
.st-detail .btn{align-self:flex-start}
.facts-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.fact{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);padding:16px;display:flex;flex-direction:column;gap:6px}
.fact span{font:500 15px/1.3 var(--font-sans);color:var(--muted)}.fact strong{font:700 21px/1.2 var(--font-sans)}
.mean{background:var(--pillar-tint);border-radius:var(--r-md);padding:24px;display:flex;flex-direction:column;gap:10px}
.mean .tint-ico{width:48px;height:48px}
.mean p{font:400 17px/1.6 var(--font-sans)}
.link-pillar{color:var(--pillar);margin-top:auto;font-size:16px}
.nf{padding-top:48px;padding-bottom:64px;display:flex;flex-direction:column;gap:56px}
.nf__grid{display:grid;grid-template-columns:1fr;gap:32px 56px;align-items:center}
@media (min-width:900px){.nf__grid{grid-template-columns:1fr 1fr}}
.nf__txt{display:flex;flex-direction:column;gap:16px}
.nf__form{display:flex;flex-wrap:wrap;gap:10px;max-width:560px}.nf__form .input{flex:1 1 220px}
.nf .sec{padding-top:0}
.pillar-links{display:flex;flex-wrap:wrap;gap:10px}
.pillar-links a{height:56px;padding:0 20px 0 14px;display:flex;align-items:center;gap:10px;border-radius:var(--r-md);background:var(--pillar-tint);color:var(--ink);font:600 17px/1 var(--font-sans);text-decoration:none}
.pillar-links svg{color:var(--pillar)}
.sitemap ul{columns:2 260px}
main{display:block}
#main:focus{outline:none}

/* =====================================================================
   v2 design language: paper grain, roof-and-furrow motif, editorial type,
   deep-evergreen bands. Adds three dark-band tokens (contrast-checked).
   ===================================================================== */
:root{--evergreen-900:#14402E;--on-dark:#E3E7DF;--on-dark-2:#B8CBBE;--grain:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0.12 0 0 0 0 0.15 0 0 0 0 0.13 0 0 0 .05 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
body{background-color:var(--paper);background-image:var(--grain)}
::selection{background:var(--sun-tint);color:var(--ink)}
h1 em,h2 em,.display2 em{font-style:italic;color:var(--evergreen);font-weight:600}
.kicker{display:inline-flex;align-items:center;gap:10px;font:700 var(--fs-xs)/1.2 var(--font-sans);letter-spacing:.12em;text-transform:uppercase;color:var(--evergreen);margin-bottom:10px}
.kicker::before{content:"";width:22px;height:2px;background:currentColor;border-radius:2px}
.kicker--line::before{width:36px}
.sec{padding-top:88px}
@media (max-width:767px){.sec{padding-top:60px}}
.sec-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:12px 32px;margin-bottom:28px}
.sec-head h2{margin:0;font-size:clamp(1.875rem,1.4rem + 1.3vw,2.625rem);letter-spacing:-.015em}
.sec-head__aside{max-width:44ch;margin:0;font:400 17px/1.55 var(--font-sans);color:var(--ink-2)}
.motif{position:absolute;color:var(--evergreen);opacity:.06;pointer-events:none}
.btn__arrow,.link-arrow svg{transition:transform var(--dur) var(--ease)}
.btn:hover .btn__arrow,.link-arrow:hover svg{transform:translateX(3px)}
.btn--primary{box-shadow:0 1px 0 rgba(255,255,255,.12) inset,0 8px 18px -10px rgba(23,72,52,.7)}
.btn--sun{background:var(--sun);color:var(--ink);border:0;padding:0 22px;gap:8px}
.btn--sun:hover{background:#E9B33A;color:var(--ink)}
.rv{opacity:0;transform:translateY(16px);transition:opacity .7s var(--ease),transform .7s var(--ease)}
.rv.rv-in{opacity:1;transform:none}

/* Header polish: frosted bar, pillar-colored underline that grows in */
.site-header{background:rgba(251,248,242,.9);-webkit-backdrop-filter:saturate(140%) blur(10px);backdrop-filter:saturate(140%) blur(10px)}
.site-header.is-scrolled{box-shadow:0 8px 24px -16px rgba(30,38,33,.4)}
.nav__btn{position:relative}
.nav__btn.is-active,.nav__btn[aria-expanded="true"]{border-bottom-color:transparent}
.nav__btn::after{content:"";position:absolute;left:10px;right:10px;bottom:2px;height:3px;border-radius:3px;background:var(--c,var(--evergreen));transform:scaleX(0);transform-origin:left;transition:transform var(--dur) var(--ease)}
.nav__btn:hover::after,.nav__btn.is-active::after,.nav__btn[aria-expanded="true"]::after{transform:scaleX(1)}

/* Hero v2 */
.hero2{position:relative;overflow:hidden;padding:32px 0 0;background:radial-gradient(1100px 520px at 88% -12%,rgba(242,193,78,.2),transparent 62%),radial-gradient(900px 520px at -12% 112%,rgba(31,92,67,.09),transparent 60%)}
@media (min-width:768px){.hero2{padding-top:64px}}
.motif--hero{width:760px;height:760px;right:-200px;top:-160px;opacity:.045}
.hero2__grid{position:relative;display:grid;grid-template-columns:minmax(0,1fr);gap:40px;align-items:center}
@media (min-width:1024px){.hero2__grid{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:72px}}
.hero2__txt{display:flex;flex-direction:column;gap:22px;min-width:0}
.hero2__txt .kicker{margin:0}
.display2{font:700 clamp(2.5rem,1.3rem + 3.8vw,4.5rem)/1.02 var(--font-serif);letter-spacing:-.025em;margin:0;text-wrap:balance;color:var(--ink)}
.display2 em{position:relative;white-space:nowrap}
.display2 em::after{content:"";position:absolute;left:2%;right:2%;bottom:.04em;height:.12em;background:var(--sun);border-radius:4px;z-index:-1;opacity:.85}
.hero2 .lead{max-width:50ch;margin:0}
.hero-form--v2{border-radius:20px;border-color:rgba(30,38,33,.1);box-shadow:0 1px 2px rgba(30,38,33,.06),0 22px 44px -24px rgba(30,38,33,.4);padding:22px}
.hero-form--v2 .input--hero{border-width:2px}
.hero2__media{position:relative;min-width:0;margin:0 0 44px}
.hero2__frame{position:relative;border-radius:28px;overflow:hidden;box-shadow:0 34px 64px -34px rgba(30,38,33,.55);transform:rotate(1.2deg)}
.hero2__frame .ea-img{border-radius:0;border:0}
@media (max-width:1023px){.hero2__frame{transform:none}.hero2__frame .ea-img{aspect-ratio:4/3!important}}
.float-card{position:absolute;left:-10px;bottom:-34px;width:min(340px,88%);background:var(--surface);border:1px solid var(--line);border-radius:18px;box-shadow:0 24px 48px -24px rgba(30,38,33,.5);padding:16px 18px;display:flex;flex-direction:column;gap:10px}
@media (min-width:1024px){.float-card{left:-48px;bottom:40px}}
.float-card__k{display:flex;align-items:center;gap:6px;font:700 13px/1.2 var(--font-sans);color:var(--frost);text-transform:uppercase;letter-spacing:.07em}
.float-card__row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.float-card__row span{display:block;font:500 13px/1.2 var(--font-sans);color:var(--muted)}
.float-card__row strong{display:block;margin-top:2px;font:700 22px/1.15 var(--font-sans);color:var(--ink)}
.float-card__bar{position:relative;height:10px;border-radius:999px;background:var(--frost-tint);overflow:hidden}
.float-card__bar i{position:absolute;top:0;bottom:0;background:linear-gradient(90deg,var(--turf),#6E9C45);border-radius:999px;transition:left .6s var(--ease),width .6s var(--ease)}
.float-chip{position:absolute;display:none;align-items:center;gap:8px;height:42px;padding:0 14px;border-radius:999px;background:var(--surface);border:1px solid var(--line);box-shadow:0 14px 30px -18px rgba(30,38,33,.55);font:600 15px/1 var(--font-sans);color:var(--ink)}
.float-chip svg{color:var(--pillar)}
.float-chip--a{right:-14px;top:24%;--pillar:var(--ember)}
.float-chip--b{right:14%;top:-20px;--pillar:var(--lake)}
@media (min-width:1024px){.float-chip{display:inline-flex}}
.proof{list-style:none;margin:64px 0 0;padding:22px 0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 24px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
@media (min-width:900px){.proof{grid-template-columns:repeat(4,minmax(0,1fr))}}
.proof li{display:flex;align-items:center;gap:12px;min-width:0;font:400 16px/1.35 var(--font-sans);color:var(--ink-2)}
.proof svg{color:var(--evergreen);flex:none}
.proof strong{color:var(--ink);font-weight:700}

/* Pillars v2: asymmetric tinted tiles */
.pillars2{display:grid;grid-template-columns:minmax(0,1fr);gap:14px}
@media (min-width:600px){.pillars2{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:1024px){.pillars2{grid-template-columns:repeat(6,minmax(0,1fr))}.p2--1,.p2--2{grid-column:span 3}.p2--3,.p2--4,.p2--5{grid-column:span 2}}
.p2{position:relative;display:flex;flex-direction:column;gap:12px;padding:26px;border-radius:22px;background:linear-gradient(160deg,var(--pillar-tint) 0%,rgba(255,255,255,.6) 100%);border:1px solid rgba(30,38,33,.07);overflow:hidden;cursor:pointer;transition:transform var(--dur) var(--ease),box-shadow var(--dur)}
.p2::after{content:"";position:absolute;right:-48px;bottom:-48px;width:200px;height:200px;border-radius:50%;border:26px solid var(--pillar);opacity:.07;pointer-events:none}
.p2:hover{transform:translateY(-3px);box-shadow:0 22px 44px -28px rgba(30,38,33,.55)}
.p2__top{display:flex;align-items:center;justify-content:space-between}
.p2__ico{width:56px;height:56px;border-radius:16px;background:var(--surface);color:var(--pillar);display:flex;align-items:center;justify-content:center;box-shadow:0 8px 18px -12px rgba(30,38,33,.55)}
.p2__num{font:700 14px/1 var(--font-sans);color:var(--pillar);letter-spacing:.1em}
.p2__t{margin:4px 0 0;font:650 clamp(24px,1.2rem + .6vw,30px)/1.15 var(--font-serif);letter-spacing:-.01em}
.p2__t a{color:var(--ink);text-decoration:none}
.p2:hover .p2__t a{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:4px}
.p2__p{margin:0;font:400 17px/1.5 var(--font-sans);color:var(--ink-2);max-width:42ch}
.p2__tools{list-style:none;margin:4px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:8px;position:relative;z-index:1}
.p2__tools a{display:inline-flex;align-items:center;gap:6px;min-height:40px;padding:0 13px;border-radius:999px;background:var(--surface);color:var(--ink);font:600 15px/1 var(--font-sans);text-decoration:none;border:1px solid rgba(30,38,33,.1);transition:border-color var(--dur)}
.p2__tools a svg{color:var(--pillar)}
.p2__tools a:hover{border-color:var(--pillar)}
.p2__go{margin-top:auto;display:inline-flex;align-items:center;gap:6px;padding-top:6px;font:700 16px/1 var(--font-sans);color:var(--pillar)}

/* Season clock */
.clock__months{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(66px,1fr);gap:6px;overflow-x:auto;padding:4px 2px 10px;scrollbar-width:none;scroll-snap-type:x proximity}
.clock__months::-webkit-scrollbar{display:none}
.clock__m{position:relative;height:66px;border-radius:14px;border:1.5px solid var(--line);background:var(--surface);font:600 16px/1 var(--font-sans);color:var(--ink-2);cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;scroll-snap-align:start;transition:background var(--dur),color var(--dur),border-color var(--dur)}
.clock__m:hover{border-color:var(--evergreen);color:var(--ink)}
.clock__m[aria-selected="true"]{background:var(--evergreen);border-color:var(--evergreen);color:#fff}
.clock__m i{font:700 11px/1 var(--font-sans);letter-spacing:.08em;text-transform:uppercase;font-style:normal;color:var(--evergreen)}
.clock__m[aria-selected="true"] i{color:var(--sun)}
.clock__panel{display:grid;grid-template-columns:minmax(0,1fr);gap:14px;margin-top:14px}
.clock__panel[hidden]{display:none}
@media (min-width:600px){.clock__panel{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:1024px){.clock__panel{grid-template-columns:repeat(4,minmax(0,1fr))}}
.task{position:relative;display:flex;flex-direction:column;gap:8px;padding:22px 20px 18px;border-radius:18px;background:var(--surface);border:1px solid var(--line);border-top:4px solid var(--pillar);cursor:pointer;transition:transform var(--dur) var(--ease),box-shadow var(--dur)}
.task:hover{transform:translateY(-2px);box-shadow:var(--shadow)}
.task__n{position:absolute;right:18px;top:16px;font:600 32px/1 var(--font-serif);font-style:italic;color:var(--pillar);opacity:.25}
.task__ico{width:42px;height:42px;border-radius:12px;background:var(--pillar-tint);color:var(--pillar);display:flex;align-items:center;justify-content:center}
.task__t{margin:4px 0 0;padding-right:28px;font:700 19px/1.3 var(--font-sans)}
.task__t a{color:var(--ink);text-decoration:none}
.task:hover .task__t a{text-decoration:underline}
.task__d{margin:0;font:400 16px/1.5 var(--font-sans);color:var(--ink-2)}
.task__pill{margin-top:auto;padding-top:8px;font:700 12px/1 var(--font-sans);letter-spacing:.08em;text-transform:uppercase;color:var(--pillar)}

/* Tools bento */
.bento{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,270px),1fr));gap:16px}
.bento__lead{grid-column:1/-1;position:relative;overflow:hidden;display:grid;grid-template-columns:minmax(0,1fr);gap:24px;padding:28px;border-radius:24px;background:radial-gradient(600px 300px at 100% 0,rgba(242,193,78,.14),transparent 60%),linear-gradient(140deg,var(--evergreen-900),var(--evergreen-700));color:var(--on-dark);cursor:pointer}
@media (min-width:900px){.bento__lead{grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);padding:40px;gap:40px;align-items:center}}
@media (min-width:1200px){.bento{grid-template-columns:repeat(4,minmax(0,1fr))}.bento:has(>:nth-child(5)) .bento__lead{grid-column:span 2;grid-row:span 2;grid-template-columns:minmax(0,1fr);align-items:start}}
.bento__copy{display:flex;flex-direction:column;gap:12px;min-width:0}
.bento__copy h3{margin:0;font:650 clamp(26px,1.3rem + .8vw,34px)/1.15 var(--font-serif);color:#fff}
.bento__copy h3 a{color:#fff;text-decoration:none}
.bento__lead:hover h3 a{text-decoration:underline;text-underline-offset:4px}
.bento__copy p{margin:0;font:400 17px/1.55 var(--font-sans);color:var(--on-dark);max-width:46ch}
.bento__copy .link-arrow{color:var(--sun)}
.bento__lead .tint-ico{background:rgba(255,255,255,.1);color:var(--sun)}
.bento__lead .eyebrow{color:var(--sun)}
.bento__demo{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.16);border-radius:18px;padding:20px;display:flex;flex-direction:column;gap:12px;min-width:0}
.bento__demo .eyebrow{color:var(--on-dark-2)}
.bento__num{font:700 clamp(44px,2rem + 2vw,60px)/1 var(--font-sans);color:#fff;letter-spacing:-.02em}
.bento__num span{margin-left:8px;font:600 17px/1 var(--font-sans);color:var(--on-dark);letter-spacing:0}
.meter{position:relative;height:12px;border-radius:999px;background:rgba(255,255,255,.14)}
.meter span{position:absolute;top:0;bottom:0;left:0;border-radius:999px;background:linear-gradient(90deg,var(--sun),#F6D27B)}
.meter i{position:absolute;top:-5px;width:3px;height:22px;background:#fff;border-radius:2px}
.meter__legend{display:flex;justify-content:space-between;font:500 14px/1 var(--font-sans);color:var(--on-dark-2)}
.bento__rows{list-style:none;margin:4px 0 0;padding:0;display:flex;flex-direction:column}
.bento__rows li{display:flex;justify-content:space-between;gap:12px;padding:9px 0;border-top:1px solid rgba(255,255,255,.12);font:400 16px/1.3 var(--font-sans);color:var(--on-dark)}
.bento__rows strong{color:#fff}
.bento .tcard{border-radius:18px}
.bento__lead :focus-visible{outline-color:var(--sun)}

@media (min-width:768px){.bento:has(>:nth-child(2):last-child){grid-template-columns:minmax(0,1fr)}.bento:has(>:nth-child(3):last-child){grid-template-columns:repeat(2,minmax(0,1fr))}.bento:has(>:nth-child(4):last-child){grid-template-columns:repeat(3,minmax(0,1fr))}}
/* Latest guides: magazine layout */
.mag{display:grid;grid-template-columns:minmax(0,1fr);gap:24px}
@media (min-width:1024px){.mag{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:36px}}
.mag__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}
.mag__list li{display:grid;grid-template-columns:104px minmax(0,1fr);gap:16px;align-items:center;padding:18px 0;border-top:1px solid var(--line);cursor:pointer}
.mag__list li:first-child{border-top:0;padding-top:0}
.mag__img .ea-img{border-radius:14px}
.mag__list h3{margin:4px 0 0;font:650 21px/1.25 var(--font-serif)}
.mag__list h3 a{color:var(--ink);text-decoration:none}
.mag__list li:hover h3 a{text-decoration:underline}
.mag__note{align-self:start;display:flex;flex-direction:column;gap:10px;padding:28px;border-radius:20px;background:var(--sand)}
.mag__note p{margin:0;font:400 17px/1.6 var(--font-sans);color:var(--ink-2)}
.card{border-radius:18px}
.card__media{overflow:hidden}
.card__media .ea-img:not(.ea-img--slot){transition:transform .5s var(--ease)}
.card:hover .card__media .ea-img:not(.ea-img--slot){transform:scale(1.035)}

/* Trust v2: numbered editorial promises on sand */
.trust2{margin-top:88px;background:var(--sand)}
.trust2__in{padding-top:72px;padding-bottom:72px;display:grid;grid-template-columns:minmax(0,1fr);gap:32px 72px}
@media (min-width:1024px){.trust2__in{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)}}
.trust2__head h2{margin:0 0 14px;font-size:clamp(1.875rem,1.4rem + 1.3vw,2.625rem)}
.trust2__head p{margin:0 0 18px;font:400 18px/1.6 var(--font-sans);color:var(--ink-2);max-width:44ch}
.trust2__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}
.trust2__list li{display:grid;grid-template-columns:72px minmax(0,1fr);gap:16px;padding:22px 0;border-top:1px solid rgba(30,38,33,.14)}
.trust2__list li:first-child{border-top:0;padding-top:0}
.trust2__n{font:600 46px/1 var(--font-serif);font-style:italic;color:var(--evergreen)}
.trust2__list h3{margin:0 0 6px;font:700 20px/1.3 var(--font-sans)}
.trust2__list p{margin:0;font:400 17px/1.6 var(--font-sans);color:var(--ink-2)}

/* Newsletter wide v2: dark band + sample reminder */
.nl--wide{position:relative;overflow:hidden;background:radial-gradient(700px 360px at 100% 100%,rgba(242,193,78,.12),transparent 60%),linear-gradient(140deg,var(--evergreen-900),#1A5139);color:var(--on-dark)}
.nl--wide .nl__h{color:#fff}
.nl--wide .nl__p,.nl--wide .nl__p em{color:var(--on-dark)}
.nl--wide .eyebrow,.nl--wide .eyebrow--green{color:var(--sun)}
.nl--wide .label,.nl--wide legend{color:#fff}
.nl--wide .small.muted{color:var(--on-dark-2)}
.nl--wide .check-chip{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.4);color:#fff}
.nl--wide .check-chip:has(input:checked){border-color:var(--sun)}
.nl--wide .check-chip input{accent-color:var(--sun)}
.nl--wide .btn--primary{background:var(--sun);color:var(--ink);box-shadow:none}
.nl--wide .btn--primary:hover{background:#E9B33A;color:var(--ink)}
.nl--wide .field-msg--err{color:#FFD9D9}
.nl--wide .input{border-color:transparent}
.nl--wide .nl__done{background:rgba(255,255,255,.08);color:#fff}
.nl--wide :focus-visible{outline-color:var(--sun)}
.mailcard{margin-top:22px;max-width:460px;display:flex;flex-direction:column;gap:8px;background:var(--surface);color:var(--ink);border-radius:18px;padding:18px 20px 20px;box-shadow:0 34px 64px -30px rgba(0,0,0,.65);transform:rotate(-1.5deg)}
.mailcard__bar{display:flex;gap:6px;margin-bottom:4px}
.mailcard__bar span{width:10px;height:10px;border-radius:50%;background:var(--line)}
.mailcard__from{display:flex;align-items:center;gap:8px;font:400 14px/1 var(--font-sans);color:var(--muted)}
.mailcard__from strong{color:var(--ink);font-weight:700;font-size:15px}
.mailcard__from svg{color:var(--evergreen)}
.mailcard__from span{margin-left:auto}
.mailcard__subj{font:650 19px/1.3 var(--font-serif)}
.mailcard p{margin:0;font:400 15px/1.55 var(--font-sans);color:var(--ink-2)}
.mailcard__chips{display:flex;gap:6px}
.mailcard__chips span{font:700 12px/1 var(--font-sans);letter-spacing:.05em;text-transform:uppercase;padding:6px 8px;border-radius:6px;background:var(--turf-tint);color:var(--turf)}
.mailcard__chips span+span{background:var(--frost-tint);color:var(--frost)}
@media (max-width:899px){.mailcard{display:none}}

/* Footer v2: deep evergreen */
.site-footer--v2{position:relative;overflow:hidden;background:var(--evergreen-900);color:var(--on-dark);border-top:0}
.motif--footer{width:600px;height:600px;right:-140px;bottom:-220px;color:#fff;opacity:.05}
.site-footer--v2 .site-footer__in{position:relative}
.site-footer__hero{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:20px;padding-bottom:40px;border-bottom:1px solid rgba(255,255,255,.14)}
.site-footer__tag{margin:0;max-width:20ch;font:650 clamp(28px,1.4rem + 1.4vw,44px)/1.1 var(--font-serif);letter-spacing:-.015em;color:#fff}
.site-footer__tag em{font-style:italic;color:var(--sun)}
.site-footer--v2 .fcol a,.site-footer--v2 .fcol__btn{color:var(--on-dark)}
.site-footer--v2 .fcol a:hover{color:#fff}
.site-footer--v2 .fcol a.b-green{color:var(--sun)}
.site-footer--v2 .fcol__h{color:var(--on-dark-2)}
.site-footer--v2 .logo,.site-footer--v2 .logo__word{color:#fff}
.site-footer--v2 .logo__word em,.site-footer--v2 .logo__mark{color:var(--sun)}
.site-footer--v2 .site-footer__base{border-top-color:rgba(255,255,255,.14);color:var(--on-dark-2)}
.site-footer--v2 .nl--mini .nl__h,.site-footer--v2 .nl--mini .label{color:#fff}
.site-footer--v2 .nl--mini .nl__p,.site-footer--v2 .nl--mini .small.muted{color:var(--on-dark-2)}
.site-footer--v2 .nl--mini .btn--primary{background:var(--sun);color:var(--ink);box-shadow:none}
.site-footer--v2 .nl--mini .input{border-color:transparent}
.site-footer--v2 .nl__done{color:#fff}
.site-footer--v2 :focus-visible{outline-color:var(--sun)}
@media (prefers-reduced-motion:reduce){.rv{opacity:1;transform:none}.hero2__frame,.mailcard{transform:none}}
.nl--wide{width:calc(100% - 2 * var(--gutter));max-width:var(--content-max);margin:88px auto;border-radius:28px;box-shadow:0 40px 80px -50px rgba(20,64,46,.8)}
@media (min-width:1024px){.nl--wide{padding:64px 56px}}
@media (max-width:599px){.nl--wide{margin:56px auto;border-radius:22px;padding:36px 20px}}

/* =====================================================================
   v2 Article: pillar-tinted hero band, wide hero image, "short answer"
   card, numbered sections on a rule, editorial blocks, one trust panel.
   ===================================================================== */
.progress{height:4px;background:linear-gradient(90deg,var(--pillar),var(--sun))}
.ahero{position:relative;overflow:hidden;background:linear-gradient(180deg,var(--pillar-tint) 0%,var(--pillar-tint) 68%,rgba(251,248,242,0) 68%)}
.ahero::after{content:"";position:absolute;inset:0 0 32% 0;background:radial-gradient(700px 360px at 92% 0,rgba(242,193,78,.22),transparent 65%);pointer-events:none}
.motif--ahero{width:560px;height:560px;right:-150px;top:-110px;color:var(--pillar);opacity:.07}
.ahero__in{position:relative;z-index:1;max-width:calc(var(--article-col) + 48px + var(--sidebar-col) + 2 * var(--gutter))}
.ahero__txt{max-width:840px;padding:8px 0 36px;gap:18px}
.art__h1{margin:0;font:700 clamp(2.25rem,1.35rem + 2.7vw,3.6rem)/1.06 var(--font-serif);letter-spacing:-.022em;text-wrap:balance}
.art__dek{margin:0;font-size:clamp(1.25rem,1.15rem + .35vw,1.4375rem);line-height:1.5;color:var(--ink-2)}
.pill--solid{gap:6px;height:32px;padding:0 12px;border-radius:999px;background:var(--pillar);color:#fff}
.pill--solid:hover{color:#fff;filter:brightness(1.08)}
.ahero__by{align-items:center;gap:14px;padding-top:6px}
.ahero__names{font:500 17px/1.45 var(--font-sans);color:var(--ink)}
.ahero__names a{font-weight:700}
.ahero__dot{color:var(--muted);margin:0 2px}
.ahero__pub{font:400 15px/1.4 var(--font-sans);color:var(--muted)}
.ahero__trust{list-style:none;margin:2px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.ahero__trust a,.ahero__trust li>span{display:inline-flex;align-items:center;gap:8px;min-height:42px;padding:0 14px 0 12px;border-radius:999px;background:rgba(255,255,255,.72);border:1px solid rgba(30,38,33,.1);font:400 15px/1.2 var(--font-sans);color:var(--ink-2);text-decoration:none}
.ahero__trust a:hover{border-color:var(--pillar);color:var(--ink)}
.ahero__trust svg{color:var(--pillar);flex:none}
.ahero__trust strong{color:var(--ink);font-weight:700}
.hero-fig--wide{margin:0;gap:10px}
.hero-fig--wide .ea-img{border-radius:24px;border:0;box-shadow:0 30px 60px -36px rgba(30,38,33,.55)}
@media (min-width:1024px){.hero-fig--wide .ea-img{aspect-ratio:21/9!important}}
@media (max-width:599px){.hero-fig--wide .ea-img{border-radius:16px}.ahero__txt{padding-bottom:28px}.ahero__trust a,.ahero__trust li>span{min-height:40px;font-size:14px}}
.hero-fig--wide figcaption{padding:0 4px}
.art{counter-reset:sec}
.art>.zstrip:first-child{margin-top:36px}
@media (min-width:1024px){.art-side{padding-top:36px}}
.zstrip{border-radius:16px}

/* The short answer */
.kt{position:relative;margin-top:28px;background:var(--surface);border:1px solid var(--line);border-radius:20px;padding:26px clamp(20px,3vw,32px) 24px;box-shadow:0 18px 40px -30px rgba(30,38,33,.45);overflow:hidden}
.kt::before{content:"";position:absolute;left:0;right:0;top:0;height:5px;background:linear-gradient(90deg,var(--pillar),var(--sun))}
.kt__head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 16px;margin-bottom:16px}
.kt__k{display:flex;align-items:center;gap:8px;font:700 var(--fs-xs)/1.2 var(--font-sans);letter-spacing:.12em;text-transform:uppercase;color:var(--pillar)}
.kt__stamp{font:500 14px/1 var(--font-sans);color:var(--muted);padding:7px 10px;border-radius:999px;background:var(--sand)}
.kt ol{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:14px}
.kt li{display:grid;grid-template-columns:32px minmax(0,1fr);gap:12px;align-items:start;font:400 var(--fs-body)/1.55 var(--font-sans)}
.kt__n{width:30px;height:30px;margin-top:1px;border-radius:50%;background:var(--pillar-tint);color:var(--pillar);display:flex;align-items:center;justify-content:center;font:700 15px/1 var(--font-sans)}

/* Numbered sections: the number sits on a hairline rule */
.art .prose h2,.art .faq h2,.art .sources h2{counter-increment:sec;margin:64px 0 18px;padding-top:26px;border-top:1px solid var(--line);font-size:clamp(1.75rem,1.35rem + 1vw,2.25rem);letter-spacing:-.012em}
.art .prose h2::before,.art .faq h2::before,.art .sources h2::before{content:counter(sec,decimal-leading-zero);top:-12px;left:0;width:auto;height:auto;padding:0 12px 0 0;background:var(--paper);font:700 15px/24px var(--font-sans);letter-spacing:.12em;color:var(--pillar)}
.art .prose>p:first-of-type::first-letter{float:left;margin:.04em .12em 0 0;font:700 4.2em/.8 var(--font-serif);color:var(--pillar)}
.art .prose a{text-decoration-thickness:1.5px;text-underline-offset:3px}
.art .prose ul>li::before{border-radius:50%}
.art .prose img,.art .figure .ea-img,.steps__fig .ea-img{border-radius:18px}

/* Callouts: tinted cards with an icon badge */
.callout{margin:28px 0;gap:16px;padding:20px 22px;border-left:0;border-radius:18px;box-shadow:inset 0 0 0 1px rgba(30,38,33,.06)}
.callout__icon{box-sizing:content-box;width:22px;height:22px;padding:9px;margin-top:0;border-radius:12px;background:var(--surface);flex:none;box-shadow:0 4px 12px -8px rgba(30,38,33,.5)}
.callout--safety{box-shadow:inset 0 0 0 1.5px rgba(155,28,28,.35)}

/* Steps: numbered timeline */
.steps{gap:32px}
.steps>li{position:relative}
.steps>li:not(:last-child)::before{content:"";position:absolute;left:23px;top:60px;bottom:-26px;width:2px;background:repeating-linear-gradient(180deg,var(--pillar) 0 6px,transparent 6px 12px);opacity:.45}
.steps__n{box-shadow:0 0 0 6px var(--pillar-tint);font-family:var(--font-serif)}

/* Worked example: a worksheet */
.worked{margin:28px 0;position:relative;background:var(--surface);border:1.5px dashed var(--border-strong);border-radius:20px;padding:30px clamp(20px,3vw,30px) 24px}
.worked>.eyebrow{position:absolute;top:-14px;left:20px;margin:0;gap:6px;padding:6px 11px;border-radius:999px;background:var(--sun);color:var(--ink);font:700 12px/1 var(--font-sans);letter-spacing:.1em;text-transform:uppercase}
.worked h3{margin-top:2px}
.worked>.eyebrow svg{color:var(--ink)}
.worked dl{gap:0 20px}
.worked dt,.worked dd{padding:10px 0;border-top:1px dashed var(--line)}
@media (max-width:599px){.worked dd{border-top:0;padding-top:0}}

/* Tables */
.ea-table__scroll{border-radius:16px}
.ea-table thead th{background:var(--evergreen-900);color:#fff;border-bottom:0}
.ea-table tbody tr:hover>*{background:var(--sun-tint)}

/* Pull quote */
.quote{margin:40px 0;padding:30px 28px 24px 76px;border:1px solid var(--line);border-left:0;border-radius:20px;background:var(--surface);position:relative}
.quote::before{content:"\201C";position:absolute;left:20px;top:14px;font:700 84px/1 var(--font-serif);color:var(--pillar);opacity:.35}
@media (max-width:599px){.quote{padding:56px 20px 20px}.quote::before{top:6px}}

/* Inline tool, related guide */
.mini-tool{border-radius:20px;border-top:5px solid var(--pillar)}
.mini-tool__res{border-radius:14px}
.rel-card{border-radius:16px;border-left:4px solid var(--pillar);transition:box-shadow var(--dur)}
.rel-card:hover{box-shadow:var(--shadow)}

/* FAQ as cards */
.faq__list{border-top:0;display:flex;flex-direction:column;gap:10px}
.faq__item{border:1px solid var(--line);border-radius:16px;background:var(--surface);padding:0 20px;transition:border-color var(--dur)}
.faq__item:has([aria-expanded="true"]){border-color:var(--pillar)}

/* Feedback + sources */
.fb{border-radius:18px;background:var(--sand);border-color:transparent}
.sources li{grid-template-columns:40px minmax(0,1fr);align-items:start}
.sources__n{width:28px;height:28px;border-radius:50%;background:var(--pillar-tint);display:flex;align-items:center;justify-content:center;font-size:14px}

/* Behind this guide */
.behind{margin-top:56px;background:var(--sand);border-radius:24px;padding:clamp(24px,4vw,40px)}
.behind h2{margin:0 0 22px;font:650 clamp(26px,1.3rem + .8vw,32px)/1.2 var(--font-serif)}
.behind__grid{display:grid;grid-template-columns:minmax(0,1fr);gap:24px}
@media (min-width:768px){.behind__grid{grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:32px}}
.behind__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:16px;font:400 17px/1.6 var(--font-sans)}
.behind__list li{display:grid;grid-template-columns:38px minmax(0,1fr);gap:12px;align-items:start}
.behind__ico{width:38px;height:38px;border-radius:12px;background:var(--surface);color:var(--evergreen);display:flex;align-items:center;justify-content:center}
.behind .changelog{margin:0;align-self:start;background:var(--surface);border-radius:18px;padding:20px 22px}
.behind .changelog h3{margin:0 0 14px;font:700 var(--fs-xs)/1.2 var(--font-sans);letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.behind .changelog ul{border-left:2px solid var(--line);margin-left:6px}
.behind .changelog li{display:flex;flex-direction:column;gap:2px;padding:0 0 14px 20px;font-size:16px}
.behind .changelog li:last-child{padding-bottom:0}
.behind .changelog li::before{top:5px;left:-8px;width:14px;height:14px;box-shadow:0 0 0 3px var(--surface)}
.behind .changelog li span{color:var(--ink-2)}
.behind .deskbox{margin-top:28px;padding:24px 0 0;border-bottom:0;border-top:1px solid rgba(30,38,33,.14);display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:12px 16px}
.behind .deskbox .link-arrow{grid-column:1/-1}
@media (min-width:768px){.behind .deskbox{grid-template-columns:auto minmax(0,1fr) auto}.behind .deskbox .link-arrow{grid-column:auto}}

/* Share */
.share{margin-top:28px;padding:16px 20px;border:1px solid var(--line);border-radius:18px;background:var(--surface)}
.share__lead{flex:1 1 200px;margin:0;font:650 20px/1.3 var(--font-serif)}

/* Keep reading */
.keep{margin-top:64px}
.keep .sec-head{margin-bottom:20px}
.keep h2{margin:0}

/* Sidebar TOC with reading progress */
.toc-d{background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:18px 18px 12px}
.toc-d__head{display:flex;align-items:baseline;justify-content:space-between;gap:8px}
.toc-d__head .eyebrow{margin:0}
.toc-d__left{font:700 13px/1 var(--font-sans);color:var(--pillar);white-space:nowrap}
.toc-d__bar{height:4px;margin:12px 0 10px;border-radius:4px;background:var(--line);overflow:hidden}
.toc-d__bar i{display:block;height:100%;width:0;background:var(--pillar);border-radius:4px;transition:width .2s linear}
.toc-d__list a{border-left-width:2px;border-radius:0 8px 8px 0;padding-right:8px;transition:background var(--dur),color var(--dur)}
.toc-d__list a:hover{color:var(--ink);background:var(--paper)}
.toc-d__list a.is-current{background:var(--pillar-tint)}
.toc-m{border-radius:16px}
.ahero__in>.crumbs{margin-bottom:6px}

/* =====================================================================
   v2 Hubs: full-bleed photo hero with evergreen scrim, photo topic
   cards, pillar month-by-month year, editorial about block.
   ===================================================================== */
.phero{position:relative;isolation:isolate;overflow:hidden;color:#fff;background:var(--evergreen-900);min-height:min(78vh,620px);display:flex}
.phero--topic{min-height:min(60vh,460px)}
.phero__bg{position:absolute;inset:0;z-index:-2}
.phero__bg .ea-img{position:absolute;inset:0;width:100%;height:100%;aspect-ratio:auto!important;border:0;border-radius:0;max-width:none}
.phero__bg .ea-img--slot{background-color:#2B4A3C}
.phero__scrim{position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(13,38,27,.92) 0%,rgba(13,38,27,.78) 38%,rgba(13,38,27,.3) 72%,rgba(13,38,27,.12) 100%),linear-gradient(0deg,rgba(13,38,27,.65) 0%,rgba(13,38,27,0) 42%)}
@media (max-width:767px){.phero__scrim{background:linear-gradient(180deg,rgba(13,38,27,.55) 0%,rgba(13,38,27,.82) 45%,rgba(13,38,27,.94) 100%)}}
.phero__in{position:relative;display:flex;flex-direction:column;justify-content:space-between;gap:32px;padding-bottom:40px;width:100%}
.phero .crumbs ol,.phero .crumbs a,.phero .crumbs__sep{color:rgba(255,255,255,.82)}
.phero .crumbs a:hover{color:#fff}
.phero .crumbs [aria-current]{color:#fff}
.phero__grid{display:grid;grid-template-columns:minmax(0,1fr);gap:24px;align-items:end;margin-top:auto}
@media (min-width:1024px){.phero__grid{grid-template-columns:minmax(0,1fr) 420px;gap:48px}}
.phero__txt{display:flex;flex-direction:column;gap:16px;max-width:680px}
.phero__badge{align-self:flex-start;display:inline-flex;align-items:center;gap:8px;height:34px;padding:0 14px;border-radius:999px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.28);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);font:700 13px/1 var(--font-sans);letter-spacing:.1em;text-transform:uppercase;color:#fff}
.phero__badge svg{color:var(--sun)}
.phero h1{margin:0;color:#fff;font:700 clamp(2.6rem,1.4rem + 4vw,5rem)/1 var(--font-serif);letter-spacing:-.025em;text-wrap:balance;text-shadow:0 2px 24px rgba(0,0,0,.25)}
.phero--topic h1{font-size:clamp(2.3rem,1.3rem + 3vw,4rem)}
.phero__lead{margin:0;max-width:56ch;font:400 clamp(1.125rem,1.05rem + .35vw,1.3125rem)/1.55 var(--font-sans);color:var(--on-dark)}
.phero__stats{list-style:none;margin:6px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:8px 22px;font:400 16px/1.3 var(--font-sans);color:var(--on-dark)}
.phero__stats li{display:inline-flex;align-items:center;gap:6px}
.phero__stats strong{font-weight:700;color:#fff;font-size:18px}
.phero__stats svg{color:var(--sun)}
.phero__zip .zstrip{max-width:none;height:auto;min-height:64px;padding:12px 16px;margin:0;background:rgba(255,255,255,.95);border-color:transparent;border-radius:18px;box-shadow:0 20px 40px -24px rgba(0,0,0,.6)}
.chip-nav--hub{margin-top:24px;display:flex;flex-wrap:wrap;gap:8px}
.chip-nav--hub .chip{border-radius:999px}

/* Photo topic cards */
.ptopics{display:grid;grid-template-columns:minmax(0,1fr);gap:14px}
@media (min-width:600px){.ptopics{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:1024px){.ptopics{grid-template-columns:repeat(6,minmax(0,1fr))}.ptopic{grid-column:span 2}.ptopics--2 .ptopic,.ptopics--4 .ptopic{grid-column:span 3}.ptopics--3 .ptopic--lead{grid-column:span 2}.ptopics--4 .ptopic--lead{grid-column:span 3}}
.ptopic{position:relative;isolation:isolate;display:flex;min-height:260px;border-radius:22px;overflow:hidden;color:#fff;text-decoration:none;background:var(--evergreen-900)}
.ptopic .ea-img{position:absolute;inset:0;z-index:-2;width:100%;height:100%;aspect-ratio:auto!important;border:0;border-radius:0;transition:transform .6s var(--ease)}
.ptopic:hover .ea-img{transform:scale(1.04)}
.ptopic__scrim{position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(13,38,27,.05) 0%,rgba(13,38,27,.45) 45%,rgba(13,38,27,.92) 100%)}
.ptopic__body{margin-top:auto;padding:22px;display:flex;flex-direction:column;gap:6px;width:100%}
.ptopic__ico{width:42px;height:42px;border-radius:12px;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.3);display:flex;align-items:center;justify-content:center;color:#fff;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);margin-bottom:6px}
.ptopic__t{font:650 clamp(24px,1.2rem + .6vw,30px)/1.15 var(--font-serif);color:#fff}
.ptopic__d{font:400 16px/1.5 var(--font-sans);color:var(--on-dark);max-width:44ch}
.ptopic__n{display:inline-flex;align-items:center;gap:6px;margin-top:6px;font:700 15px/1 var(--font-sans);color:var(--sun)}
.ptopic__n svg{transition:transform var(--dur) var(--ease)}
.ptopic:hover .ptopic__n svg{transform:translateX(3px)}
.ptopic:focus-visible{outline:3px solid var(--sun);outline-offset:3px}
@media (min-width:1024px){.ptopic--lead{min-height:340px}}

/* Pillar year */
.pyear__list{list-style:none;margin:0;padding:4px 2px 12px;display:grid;grid-auto-flow:column;grid-auto-columns:minmax(220px,1fr);gap:12px;overflow-x:auto;scroll-snap-type:x proximity;scrollbar-width:thin}
@media (min-width:1200px){.pyear__list{grid-auto-flow:row;grid-template-columns:repeat(4,minmax(0,1fr));overflow:visible}}
.pyear__item{scroll-snap-align:start;position:relative;display:flex;flex-direction:column;gap:6px;padding:18px 18px 16px;border-radius:18px;background:var(--surface);border:1px solid var(--line)}
.pyear__item.is-now{background:var(--evergreen-900);border-color:var(--evergreen-900);color:var(--on-dark)}
.pyear__mo{display:flex;align-items:center;gap:8px;font:600 26px/1 var(--font-serif);font-style:italic;color:var(--pillar)}
.pyear__item.is-now .pyear__mo{color:var(--sun)}
.pyear__mo i{font:700 11px/1 var(--font-sans);font-style:normal;letter-spacing:.1em;text-transform:uppercase;padding:4px 7px;border-radius:999px;background:var(--sun);color:var(--ink)}
.pyear__t{font:700 17px/1.35 var(--font-sans)}
.pyear__t a{color:var(--ink);text-decoration:none}
.pyear__t a:hover{text-decoration:underline}
.pyear__item.is-now .pyear__t a{color:#fff}
.pyear__d{font:400 15px/1.5 var(--font-sans);color:var(--ink-2)}
.pyear__item.is-now .pyear__d{color:var(--on-dark-2)}

.hub__guides{margin-top:72px}

/* About block */
.hub-about{margin-top:80px;display:grid;grid-template-columns:minmax(0,1fr);gap:32px;padding:clamp(24px,4vw,48px);border-radius:28px;background:var(--sand)}
@media (min-width:1024px){.hub-about{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:56px}}
.hub-about h2{margin:0 0 16px;font:650 clamp(28px,1.4rem + 1vw,38px)/1.15 var(--font-serif)}
.hub-about .prose p{font-size:18px}
.hub-about__side{display:flex;flex-direction:column;gap:18px}
.hub-about__desk{display:flex;align-items:center;gap:14px;padding:18px;border-radius:18px;background:var(--surface)}
.hub-about__desk>div{display:flex;flex-direction:column;gap:2px}
.hub-about__dn{font:700 18px/1.3 var(--font-sans);color:var(--ink)}
.hub-about__links{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}
.hub-about__links a{display:flex;align-items:center;gap:10px;min-height:48px;border-bottom:1px solid rgba(30,38,33,.12);font:600 16px/1.3 var(--font-sans);color:var(--ink);text-decoration:none}
.hub-about__links a:hover{color:var(--evergreen)}
.hub-about__links svg{color:var(--evergreen)}
.hub-about__topics{display:flex;flex-direction:column}
.hub-about__topics .eyebrow{margin-bottom:6px}
.hub-about__topics a{display:flex;justify-content:space-between;min-height:44px;align-items:center;font:500 16px/1.3 var(--font-sans);color:var(--ink);text-decoration:none;border-bottom:1px solid rgba(30,38,33,.08)}
.hub-about__topics a span{color:var(--muted)}
.facts-dl>div{display:contents}.facts-dl>div[hidden]{display:none}
.glance__facts>div[hidden]{display:none}
.glance__src{margin:4px 0 0}
.fd-none strong{font-size:20px}

/* Header nav: pillar name is a real link; the chevron button opens the mega menu */
.nav__item{position:relative;display:flex;align-items:center}
.nav__item .nav__btn{padding-right:2px}
.nav__more{width:28px;height:48px;display:flex;align-items:center;justify-content:center;background:none;border:0;padding:0;color:var(--muted);cursor:pointer;border-radius:6px}
.nav__more:hover,.nav__more[aria-expanded="true"]{color:var(--c,var(--evergreen))}
.nav__more[aria-expanded="true"] .nav__chev{transform:rotate(180deg)}
.nav__item:has(.nav__more[aria-expanded="true"]) .nav__btn::after{transform:scaleX(1)}
.nav__btn:hover{color:var(--ink)}

/* Pool volume tool */
.seg--4{grid-template-columns:repeat(2,minmax(0,1fr))}
@media (min-width:760px){.seg--4{grid-template-columns:repeat(4,minmax(0,1fr))}}
.pv-dims,.pv-depths{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px}
.pv-multi{border:0;margin:0;padding:0;display:flex;flex-direction:column;gap:14px}
.pv-multi legend{margin-bottom:8px}
.pv-sec{border:1px solid var(--line);border-radius:14px;padding:14px;display:flex;flex-direction:column;gap:12px;background:var(--paper)}
.pv-sec__h{display:flex;justify-content:space-between;align-items:center}
.pv-sec__f{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px}


.toc-tool{margin:0 0 32px;padding:16px 20px;border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface)}.toc-tool h2{font:700 18px/1.3 var(--font-sans);margin:0 0 8px}.toc-tool ol{list-style:none;margin:0;padding:0;columns:2 260px;column-gap:24px}.toc-tool li{break-inside:avoid}.toc-tool a{display:flex;gap:10px;align-items:baseline;padding:6px 0;min-height:32px}.tool-article>.kt{margin-bottom:24px}
.input-wrap--elev{width:180px}
.tcard__d{margin:6px 0 0;color:var(--ink-2,#3D4842);font-size:16px;line-height:1.5}.tcard__note{display:flex;gap:6px;align-items:flex-start;margin:8px 0 0;font-size:15px;color:var(--evergreen,#1F5C43)}.tcard__note .icon{flex:none;margin-top:2px}.tools-about{max-width:760px;margin:48px auto 0}

/* Video facade ([video] shortcode) */
.video{margin:8px 0 24px;display:flex;flex-direction:column;gap:8px}
.video__frame{position:relative;aspect-ratio:16/9;border-radius:18px;overflow:hidden;background:var(--ink)}
.video__play{position:absolute;inset:0;width:100%;height:100%;border:0;padding:24px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;background:linear-gradient(160deg,var(--evergreen-700),var(--ink));color:var(--paper);cursor:pointer;font:inherit;text-align:center}
.video__play:focus-visible{outline:3px solid var(--sun);outline-offset:-6px}
.video__icon circle{fill:var(--sun)}.video__icon path{fill:var(--ink)}
.video__play:hover .video__icon{transform:scale(1.06)}.video__icon{transition:transform var(--dur) var(--ease)}
.video__label{display:flex;flex-direction:column;gap:4px;max-width:34ch}
.video__t{font-weight:700;font-size:var(--fs-lead);line-height:1.3}
.video__m{font-size:var(--fs-small);opacity:.85}
.video__iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.video__note{margin:0;font-size:var(--fs-xs);color:var(--muted)}
.video figcaption{font-size:var(--fs-small);color:var(--ink-2)}

.hero2__frame picture{display:block}

/* Tables on phones (page review 2026-10-04): header text may wrap, tighter cells, no forced 600px minimum,
   and the row-label column stays visible while the rest scrolls sideways. */
@media (max-width:640px){
.ea-table table{min-width:0;font-size:15px;line-height:1.4}
.ea-table thead th,.tbl thead th,.ea-table tbody th{white-space:normal;min-width:0}
.ea-table tbody th:first-child,.ea-table thead th:first-child{min-width:5.5em}
.ea-table th,.ea-table td,.tbl th,.tbl td{padding:8px 8px}
.ea-table table{font-size:14.5px}
.ea-table tbody th:first-child,.ea-table thead th:first-child{position:sticky;left:0;z-index:1;box-shadow:1px 0 0 var(--line)}
.ea-table thead th:first-child{z-index:2}
}
/* Frost tool on phones (page review 2026-10-04): month labels on the season bar were ~6px when the 1000-unit SVG shrinks. */
@media (max-width:640px){.fd-bar svg text{font-size:24px}.fd-bar svg [data-b="ticks"] text{font-size:28px}}
