:root{--ivory:#faf7f0;--paper:#ffffff;--cream:#f3eee1;--forest:#1f4d3a;--forest-deep:#16382a;--forest-soft:#2e6b50;--sage:#a9c5b4;--sage-soft:#e5eee6;--amber:#e8a13a;--amber-deep:#c9861f;--amber-soft:#fbeed7;--ink:#1d251f;--ink-soft:#465049;--muted:#687069;--line:#e6dfd0;--line-strong:#d3c9b0;--star-off:#d9d2c2;--radius:4px;--radius-sm:3px;--radius-xs:2px;--shadow-sm:0 1px 2px rgba(29,37,31,0.06);--shadow-md:0 2px 6px rgba(29,37,31,0.05),0 16px 36px -18px rgba(29,37,31,0.28);--font-display:"Sora Variable","Sora","Segoe UI",system-ui,sans-serif;--font-body:"Inter Variable","Inter","Segoe UI",system-ui,sans-serif;--font-mono:ui-monospace,"SF Mono","Cascadia Mono","Segoe UI Mono",Menlo,Consolas,monospace}*,:after,:before{box-sizing:border-box}*{margin:0}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{font-family:var(--font-body);font-size:16px;line-height:1.6;color:var(--ink);background:var(--ivory);-webkit-font-smoothing:antialiased}img,svg{display:block;max-width:100%}img{height:auto}button,input,select,textarea{font:inherit;color:inherit}h1,h2,h3,h4{font-family:var(--font-display);font-weight:700;line-height:1.15;letter-spacing:-.015em;color:var(--ink);text-wrap:balance}p{text-wrap:pretty}a{color:var(--forest);text-decoration:none}a:hover{text-decoration:underline;text-underline-offset:3px}:focus-visible{outline:3px solid var(--amber);outline-offset:2px;border-radius:4px}::selection{background:var(--sage);color:var(--ink)}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:after,:before{animation-duration:.01ms!important;transition-duration:.01ms!important}}.container{max-width:1180px;margin-inline:auto;padding-inline:clamp(16px,4vw,28px)}.section{padding-block:clamp(56px,9vw,96px)}.section-tight{padding-block:clamp(40px,6vw,64px)}.skip-link{position:fixed;left:16px;top:-60px;z-index:300;background:var(--forest);color:#fff;font-weight:600;font-size:14px;padding:10px 16px;border-radius:8px;transition:top .2s ease}.skip-link:focus{top:12px}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.eyebrow{display:inline-block;font-family:var(--font-display);font-size:12px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--forest-soft)}.section-head{max-width:660px;margin-bottom:clamp(28px,4vw,44px)}.section-head h2{font-size:clamp(26px,3.6vw,36px);margin-top:12px}.section-head .lede{margin-top:12px;color:var(--ink-soft);font-size:17px;line-height:1.65}.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;font-family:var(--font-display);font-weight:600;font-size:15px;line-height:1.2;padding:13px 22px;border-radius:4px;border:2px solid transparent;cursor:pointer;transition:background .15s ease,color .15s ease,box-shadow .15s ease,transform .15s ease}.btn,.btn:hover{text-decoration:none}.btn:active{transform:translateY(1px)}.btn-primary{background:var(--forest);color:#fff}.btn-primary:hover{background:var(--forest-deep);box-shadow:var(--shadow-md)}.btn-light{background:var(--ivory);color:var(--forest-deep)}.btn-light:hover{background:#fff}.btn-outline{background:transparent;border-color:var(--forest);color:var(--forest)}.btn-outline:hover{background:var(--forest);color:#fff}.btn-quiet{background:var(--sage-soft);color:var(--forest-deep)}.btn-quiet:hover{background:#d8e5db}.btn-lg{padding:16px 28px;font-size:16px}.btn-lg,.btn-sm{border-radius:4px}.btn-sm{padding:9px 16px;font-size:13.5px}.btn-block{width:100%}.btn[disabled]{opacity:.55;cursor:not-allowed}.chip{display:inline-flex;align-items:center;gap:7px;padding:9px 16px;border-radius:4px;border:1.5px solid var(--line-strong);background:var(--paper);font-family:var(--font-display);font-weight:600;font-size:13.5px;color:var(--ink-soft);cursor:pointer;transition:background .15s ease,color .15s ease,border-color .15s ease}.chip:hover{border-color:var(--forest);color:var(--forest)}.chip[data-active=true]{background:var(--forest);border-color:var(--forest);color:#fff}.badge{display:inline-flex;align-items:center;gap:6px;font-family:var(--font-display);font-weight:700;font-size:11px;letter-spacing:.09em;text-transform:uppercase;padding:5px 10px;border-radius:7px;white-space:nowrap}.badge-amber{background:var(--amber);color:var(--ink)}.badge-forest{background:var(--forest);color:#fff}.badge-paper{background:rgba(255,255,255,.94);color:var(--forest-deep);border:1px solid var(--line)}.price{font-family:var(--font-mono);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-weight:600;letter-spacing:-.02em;color:var(--ink)}.price-compare{font-weight:400;color:var(--muted);text-decoration:line-through}.field{display:flex;flex-direction:column;gap:6px}.field>label{font-family:var(--font-display);font-size:13px;font-weight:600;color:var(--ink-soft)}.field input,.field select,.field textarea{width:100%;padding:12px 14px;border:1.5px solid var(--line-strong);border-radius:4px;background:var(--paper);font-size:16px;transition:border-color .15s ease}.field textarea{resize:vertical;min-height:130px}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--forest);outline:none;box-shadow:0 0 0 3px rgba(31,77,58,.12)}.field[data-invalid=true] input,.field[data-invalid=true] select,.field[data-invalid=true] textarea{border-color:#b4531f}.field .error-text{color:#a4401f;font-size:13px}.form-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:18px 20px;gap:18px 20px}.form-grid .span-2{grid-column:span 2}.form-note{font-size:13px;color:var(--muted)}@media (max-width:640px){.form-grid{grid-template-columns:1fr}.form-grid .span-2{grid-column:span 1}}.add-btn{position:relative;z-index:2}.nl-form{display:flex;gap:10px}.nl-form input{flex:1 1;min-width:0;padding:13px 16px;border:1.5px solid var(--line-strong);border-radius:4px;background:var(--paper);font-size:16px}.nl-form input:focus{border-color:var(--forest);outline:none;box-shadow:0 0 0 3px rgba(31,77,58,.12)}.nl-done{background:var(--forest);color:#f2ede0;padding:14px 18px;border-radius:11px;font-size:14.5px}@media (max-width:560px){.nl-form{flex-direction:column}}.qty{gap:2px;border:1.5px solid var(--line-strong);border-radius:10px;background:var(--paper);overflow:hidden}.qty,.qty button{display:inline-flex;align-items:center}.qty button{justify-content:center;width:38px;height:44px;background:transparent;border:none;cursor:pointer;color:var(--forest);transition:background .15s ease}.qty button:hover:not([disabled]){background:var(--sage-soft)}.qty button[disabled]{color:var(--star-off);cursor:not-allowed}.qty span{min-width:30px;text-align:center;font-family:var(--font-display);font-weight:600;font-size:15px}.qty-sm button{width:30px;height:34px}.qty-sm span{min-width:22px;font-size:13.5px}.prose{max-width:760px;font-size:16px}.prose h2{font-size:22px;margin:44px 0 12px}.prose h2:first-child{margin-top:0}.prose h3{font-size:17px;margin:28px 0 8px}.prose p{margin-bottom:14px;color:var(--ink-soft)}.prose ol,.prose ul{margin:0 0 16px 22px;color:var(--ink-soft)}.prose li{margin-bottom:7px}.prose li::marker{color:var(--forest-soft)}.prose strong{color:var(--ink)}.prose a{text-decoration:underline;text-underline-offset:3px}.prose .callout{background:var(--sage-soft);border-left:4px solid var(--forest);padding:16px 20px;border-radius:0 12px 12px 0;margin:20px 0}.prose .callout p{margin:0}.prose table{width:100%;border-collapse:collapse;margin:20px 0;font-size:15px}.prose td,.prose th{text-align:left;padding:10px 12px;border-bottom:1px solid var(--line);vertical-align:top}.prose th{font-family:var(--font-display);font-size:13.5px;color:var(--ink)}.prose td{color:var(--ink-soft)}.prose dt{font-family:var(--font-display);font-weight:600;margin-top:18px}.prose dd{margin-left:0;padding-left:16px;color:var(--ink-soft);border-left:3px solid var(--line)}.stat-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));grid-gap:1px;gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.stat-strip>div{background:var(--paper);padding:22px 24px}.stat-strip strong{display:block;font-family:var(--font-display);font-size:clamp(19px,2.4vw,24px);color:var(--forest);line-height:1.2}.stat-strip span{display:block;margin-top:4px;font-size:13.5px;color:var(--muted)}