:root{--paper:#f4f3ef;--surface:#fff;--surface-2:#faf9f6;--line:#e4e2dc;--line-strong:#cfccc3;--ink:#191a1b;--ink-2:#55585d;--ink-3:#8b8e93;--on-accent:#191a1b;--spruce:#70c41e;--spruce-deep:#5ea617;--spruce-tint:#eef8e3;--spruce-text:#3b7a0f;--sapwood:#f2ead9;--sapwood-deep:#dfd0ae;--stamp:#b4392c;--stamp-tint:#f7e6e3;--font-display:"Bricolage Grotesque Variable","Bricolage Grotesque","IBM Plex Sans",system-ui,sans-serif;--font-body:"IBM Plex Sans",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;--font-mono:"IBM Plex Mono",ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;--text-xs:0.75rem;--text-sm:0.875rem;--text-base:1rem;--text-md:1.125rem;--text-lg:1.375rem;--text-xl:1.75rem;--text-2xl:2.25rem;--text-3xl:clamp(2.25rem,1.4rem + 3.2vw,3.75rem);--leading-tight:1.1;--leading-snug:1.3;--leading:1.55;--radius-xs:3px;--radius-sm:6px;--radius-md:10px;--radius-pill:999px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--space-7:48px;--space-8:64px;--space-9:96px;--container:1200px;--gutter:24px;--nav-h:64px;--ease-out:cubic-bezier(0.23,1,0.32,1);--ease-in-out:cubic-bezier(0.77,0,0.175,1);--ease-drawer:cubic-bezier(0.32,0.72,0,1);--dur-fast:120ms;--dur:180ms;--dur-slow:260ms;--shadow-pop:0 12px 32px rgba(25,26,27,.14),0 2px 6px rgba(25,26,27,.08);--shadow-drawer:-16px 0 48px rgba(25,26,27,.18)}@media (max-width:640px){:root{--gutter:16px;--nav-h:56px}}*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{font-family:var(--font-body);font-size:var(--text-base);line-height:var(--leading);color:var(--ink);background:var(--paper);min-height:100vh;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}body.no-scroll{overflow:hidden}main{min-height:calc(100vh - var(--nav-h) - 200px);transition:opacity .18s ease,transform .18s ease}html.is-navigated main{animation:page-enter .52s var(--ease-out) both}body.is-leaving main{opacity:0;transform:translateY(-6px);pointer-events:none}@keyframes page-enter{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.route-progress{position:fixed;top:0;left:0;z-index:1200;height:2px;width:0;background:var(--spruce);opacity:0;pointer-events:none}.route-progress[data-state=slow]{opacity:1;animation:route-crawl 2.4s var(--ease-out) forwards}.route-progress[data-state=done]{width:100%;opacity:0;transition:width .2s ease,opacity .3s ease .15s}@keyframes route-crawl{0%{width:0}to{width:85%}}@media (prefers-reduced-motion:reduce){main{animation:none;transition:none}body.is-leaving main{opacity:1;transform:none}}img,svg,video{display:block;max-width:100%}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer;background:none;border:0}button:disabled{cursor:not-allowed}ol,ul{list-style:none}:focus-visible{outline:2px solid var(--spruce);outline-offset:2px;border-radius:var(--radius-xs)}::selection{background:var(--sapwood);color:var(--ink)}h1,h2,h3,h4{font-family:var(--font-display);font-weight:600;line-height:var(--leading-tight);letter-spacing:-.015em;color:var(--ink);text-wrap:balance}h1{font-size:var(--text-3xl);font-weight:700;letter-spacing:-.025em}h2{font-size:var(--text-2xl);letter-spacing:-.02em}h3{font-size:var(--text-lg)}h4{font-size:var(--text-md)}p{text-wrap:pretty}.lead{font-size:var(--text-md);max-width:60ch}.lead,.muted{color:var(--ink-2)}.small{font-size:var(--text-sm)}.mono{font-family:var(--font-mono);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.eyebrow{font-family:var(--font-mono);font-size:var(--text-xs);font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-2)}.link{color:var(--spruce-text);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px;transition:color var(--dur) ease}.link:hover{color:var(--spruce)}.link-quiet{border-bottom:1px solid var(--line-strong);transition:border-color var(--dur) ease,color var(--dur) ease}.link-quiet:hover{color:var(--spruce);border-color:var(--spruce)}.container{width:100%;max-width:calc(var(--container) + var(--gutter) * 2);margin-inline:auto;padding-inline:var(--gutter)}.section{padding-block:var(--space-8)}.section+.section{padding-top:0}.section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--space-5);margin-bottom:var(--space-6)}.section-head .lead{margin-top:var(--space-2)}.rule{border:0;border-top:1px solid var(--line)}@media (max-width:768px){.section{padding-block:var(--space-7)}.section-head{flex-direction:column;align-items:flex-start;gap:var(--space-3)}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:44px;padding:0 var(--space-5);border-radius:var(--radius-sm);border:1px solid transparent;font-weight:500;font-size:var(--text-sm);line-height:1;white-space:nowrap;transition:background-color var(--dur) ease,border-color var(--dur) ease,color var(--dur) ease,transform var(--dur-fast) var(--ease-out);-webkit-user-select:none;-moz-user-select:none;user-select:none}.btn:active{transform:scale(.98)}.btn:disabled{opacity:.5;transform:none}.btn svg{width:16px;height:16px;flex-shrink:0}.btn-primary{background:var(--spruce);color:var(--on-accent)}.btn-primary:hover:not(:disabled){background:var(--spruce-deep)}.btn-secondary{background:var(--surface);color:var(--ink);border-color:var(--line-strong)}.btn-secondary:hover:not(:disabled){border-color:var(--ink)}.btn-ghost{background:transparent;color:var(--ink);padding-inline:var(--space-3)}.btn-ghost:hover:not(:disabled){background:rgba(25,26,27,.05)}.btn-sm{min-height:36px;padding-inline:var(--space-4)}.btn-lg{min-height:52px;padding-inline:var(--space-6);font-size:var(--text-base)}.btn-block{width:100%}.btn-icon{width:40px;min-height:40px;padding:0}.field{display:flex;flex-direction:column;gap:var(--space-2)}.field-label{font-size:var(--text-sm);font-weight:500;color:var(--ink)}.field-label .optional{color:var(--ink-3);font-weight:400}.field-label .req,.required-note .req{margin-left:2px;color:var(--spruce-text);font-weight:600}.required-note{margin:0;font-size:var(--text-xs);color:var(--ink-2)}.field-hint{font-size:var(--text-xs);color:var(--ink-3)}.field-error{font-size:var(--text-xs);color:var(--stamp)}.input,.select,.textarea{width:100%;min-height:44px;padding:0 var(--space-4);background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--radius-sm);color:var(--ink);transition:border-color var(--dur) ease,box-shadow var(--dur) ease}.textarea{min-height:96px;padding-block:var(--space-3);resize:vertical;line-height:var(--leading)}.input::placeholder,.textarea::placeholder{color:var(--ink-3)}.input:hover,.select:hover,.textarea:hover{border-color:var(--ink-3)}.input:focus,.select:focus,.textarea:focus{outline:none;border-color:var(--spruce);box-shadow:0 0 0 3px var(--spruce-tint)}.input[aria-invalid=true],.select[aria-invalid=true],.textarea[aria-invalid=true]{border-color:var(--stamp)}.select{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding-right:40px;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none' stroke='%2355585d' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'><path d='M4 6l4 4 4-4'/></svg>");background-repeat:no-repeat;background-position:right 12px center}.input-group{display:flex;align-items:stretch;border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--surface);transition:border-color var(--dur) ease,box-shadow var(--dur) ease}.input-group:focus-within{border-color:var(--spruce);box-shadow:0 0 0 3px var(--spruce-tint)}.input-group .input{border:0;box-shadow:none;min-width:0;flex:1 1}.input-group-suffix{display:flex;align-items:center;padding-inline:var(--space-3);font-family:var(--font-mono);font-size:var(--text-sm);color:var(--ink-2);border-left:1px solid var(--line);white-space:nowrap}.stepper{display:inline-flex;align-items:stretch;border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--surface);height:40px}.stepper button{width:36px;display:grid;place-items:center;color:var(--ink-2);transition:background-color var(--dur) ease,color var(--dur) ease}.stepper button:hover:not(:disabled){background:var(--surface-2);color:var(--ink)}.stepper button svg{width:14px;height:14px;transition:transform var(--dur-fast) var(--ease-out)}.stepper button:active:not(:disabled) svg{transform:scale(.8)}.stepper input{width:64px;text-align:center;border:0;border-inline:1px solid var(--line);font-family:var(--font-mono);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;background:transparent;-moz-appearance:textfield}.stepper input::-webkit-inner-spin-button,.stepper input::-webkit-outer-spin-button{-webkit-appearance:none}.stepper input:focus{outline:none;background:var(--spruce-tint)}.chips{display:flex;flex-wrap:wrap;gap:var(--space-2)}.chip{display:inline-flex;align-items:center;gap:6px;min-height:36px;padding:0 14px;border-radius:var(--radius-pill);border:1px solid var(--line-strong);background:var(--surface);color:var(--ink);font-size:var(--text-sm);white-space:nowrap;transition:background-color var(--dur) ease,border-color var(--dur) ease,color var(--dur) ease,transform var(--dur-fast) var(--ease-out)}.chip:active{transform:scale(.97)}@media (hover:hover) and (pointer:fine){.chip:hover:not(.is-active){border-color:var(--ink)}}.chip.is-active{background:var(--ink);border-color:var(--ink);color:var(--surface)}.chip-count{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--ink-3)}.chip.is-active .chip-count{color:hsla(0,0%,100%,.7)}.badge{display:inline-flex;align-items:center;gap:4px;height:22px;padding:0 8px;border-radius:var(--radius-xs);font-family:var(--font-mono);font-size:11px;font-weight:500;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap}.badge-stamp{background:var(--sapwood);color:var(--ink)}.badge-muted{background:rgba(25,26,27,.08);color:var(--ink-2)}.badge-alert{background:var(--stamp-tint);color:var(--stamp)}.badge-ok{background:var(--spruce-tint);color:var(--spruce-text)}.price{font-family:var(--font-mono);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-weight:500;color:var(--ink);white-space:nowrap}.price-from{font-family:var(--font-body);margin-right:2px}.price-from,.price-unit{font-size:.8em;font-weight:400;color:var(--ink-2)}.price-old,.price-unit{font-family:var(--font-mono);white-space:nowrap}.price-old{font-size:.8em;color:var(--ink-3);text-decoration:line-through}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md)}.card-pad{padding:var(--space-5)}.skeleton{position:relative;overflow:hidden;background:rgba(25,26,27,.06)}.skeleton:after{content:"";position:absolute;inset:0;transform:translateX(-100%);background:linear-gradient(90deg,transparent,hsla(0,0%,100%,.55),transparent);animation:skeleton-shimmer 1.6s ease-in-out infinite}@keyframes skeleton-shimmer{to{transform:translateX(100%)}}.toast-region{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);z-index:1200;display:flex;flex-direction:column;gap:8px;pointer-events:none;width:max-content;max-width:calc(100vw - 32px)}.toast{display:flex;align-items:center;gap:12px;padding:12px 16px;background:var(--ink);color:var(--surface);border-radius:var(--radius-sm);font-size:var(--text-sm);box-shadow:var(--shadow-pop);pointer-events:auto;opacity:1;transform:translateY(0);transition:opacity var(--dur-slow) ease,transform var(--dur-slow) var(--ease-out)}@starting-style{.toast{opacity:0;transform:translateY(8px)}}.toast.is-leaving{opacity:0;transform:translateY(8px);transition-duration:var(--dur)}.toast button{color:var(--sapwood);font-weight:500;text-decoration:underline;text-underline-offset:3px;white-space:nowrap}.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}.row{display:flex;align-items:center;gap:var(--space-3)}.grid-products{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:var(--space-5);gap:var(--space-5)}@media (max-width:1024px){.grid-products{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:720px){.grid-products{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-4)}}@media (max-width:400px){.grid-products{grid-template-columns:1fr}}.prose{color:var(--ink-2);line-height:1.65}.prose p+p,.prose p+ul,.prose ul+p{margin-top:var(--space-3)}.prose ul{list-style:disc;padding-left:1.2em}.prose ol{list-style:decimal;padding-left:1.2em}.prose li+li{margin-top:4px}.prose strong{color:var(--ink);font-weight:600}.prose h1,.prose h2,.prose h3,.prose h4{margin-top:var(--space-5);margin-bottom:var(--space-2);font-size:var(--text-md)}.prose a{color:var(--spruce-text);text-decoration:underline;text-underline-offset:3px}html.lenis,html.lenis body{height:auto}html.lenis{scroll-behavior:auto!important}.lenis.lenis-stopped{overflow:hidden}html.has-scrollbar{scrollbar-width:none}html.has-scrollbar::-webkit-scrollbar{display:none;width:0;height:0}html.has-cursor,html.has-cursor *{cursor:none!important}html.has-cursor [contenteditable=true],html.has-cursor input,html.has-cursor select,html.has-cursor textarea{cursor:auto!important}[data-reveal]{opacity:0;transform:translateY(14px);transition:opacity .8s var(--ease-out),transform .8s var(--ease-out);transition-delay:var(--reveal-delay,0ms)}[data-reveal][data-in]{opacity:1;transform:none}[data-reveal][data-early]{opacity:1;transition:transform .8s var(--ease-out);transition-delay:var(--reveal-delay,0ms)}.is-tick{animation:tick .22s var(--ease-out)}@keyframes tick{0%{opacity:.35;transform:translateY(3px);filter:blur(2px)}to{opacity:1;transform:none;filter:none}}.is-entering{animation:enter-up var(--dur-slow) var(--ease-out)}@keyframes enter-up{0%{opacity:0;transform:translateY(4px)}}.xf-next{opacity:0;transform:scale(1.04);transition:opacity .45s ease-out,transform .8s var(--ease-out);will-change:opacity,transform}.xf-next.is-in{opacity:1;transform:scale(1)}.xf-next.no-transition{transition:none}.xf-thumb{position:relative}.xf-thumb:after{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;background:var(--spruce);transform:scaleX(0);transform-origin:left}.xf-thumb.is-timing:after{animation:xf-fill var(--xf-interval,5s) linear forwards}.xf-thumb.is-paused:after{animation-play-state:paused}@keyframes xf-fill{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}[data-reveal]{opacity:1;transform:none;transition:none}*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}[hidden]{display:none!important}.skip-link{position:absolute;top:-100px;left:16px;z-index:2000;padding:10px 14px;background:var(--ink);color:var(--surface);border-radius:var(--radius-sm);font-size:var(--text-sm)}.skip-link:focus{top:12px}.page-head{padding-block:var(--space-7) var(--space-6);display:flex;flex-direction:column;gap:var(--space-3);max-width:80ch}.page-head .eyebrow{margin-bottom:var(--space-1)}.page-head .lead{max-width:64ch}.page-badge{margin:0}.page-badge .badge{height:28px;padding:0 10px;gap:6px;font-size:12px}.arrow-link{display:inline-flex;align-items:center;gap:6px;font-weight:500;color:var(--ink);transition:color var(--dur) ease}.arrow-link svg{width:16px;height:16px;color:var(--ink-3);transition:transform var(--dur) var(--ease-out),color var(--dur) ease}@media (hover:hover) and (pointer:fine){.arrow-link:hover{color:var(--spruce-text)}.arrow-link:hover svg{transform:translateX(3px);color:currentColor}}.grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:var(--space-5);gap:var(--space-5)}@media (max-width:900px){.grid-3{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:560px){.grid-3{grid-template-columns:1fr;gap:var(--space-4)}}.spec{display:grid;grid-template-columns:max-content 1fr;grid-gap:var(--space-2) var(--space-4);gap:var(--space-2) var(--space-4);font-size:var(--text-sm)}.spec dt{font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.04em;text-transform:uppercase;color:var(--ink-3);padding-top:2px}.spec dd{color:var(--ink)}@font-face{font-family:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/_next/static/media/bricolage-grotesque-vietnamese-opsz-normal.f380e1e2.woff2) format("woff2-variations");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/_next/static/media/bricolage-grotesque-latin-ext-opsz-normal.2d56eb0c.woff2) format("woff2-variations");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/_next/static/media/bricolage-grotesque-latin-opsz-normal.bd7594ad.woff2) format("woff2-variations");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/_next/static/media/ibm-plex-sans-latin-400-normal.13a15bcd.woff2) format("woff2"),url(/_next/static/media/ibm-plex-sans-latin-400-normal.48b78688.woff) format("woff")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/_next/static/media/ibm-plex-sans-latin-ext-400-normal.20dd57fa.woff2) format("woff2"),url(/_next/static/media/ibm-plex-sans-latin-ext-400-normal.40b9fc05.woff) format("woff")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/_next/static/media/ibm-plex-sans-latin-500-normal.4cdcd386.woff2) format("woff2"),url(/_next/static/media/ibm-plex-sans-latin-500-normal.f8dd458c.woff) format("woff")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/_next/static/media/ibm-plex-sans-latin-ext-500-normal.91b576dd.woff2) format("woff2"),url(/_next/static/media/ibm-plex-sans-latin-ext-500-normal.e617d40b.woff) format("woff")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/_next/static/media/ibm-plex-sans-latin-600-normal.1cdb9a2c.woff2) format("woff2"),url(/_next/static/media/ibm-plex-sans-latin-600-normal.0eddcd6d.woff) format("woff")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/_next/static/media/ibm-plex-sans-latin-ext-600-normal.cb6ca6c6.woff2) format("woff2"),url(/_next/static/media/ibm-plex-sans-latin-ext-600-normal.73c474de.woff) format("woff")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/_next/static/media/ibm-plex-mono-latin-500-normal.dece0821.woff2) format("woff2"),url(/_next/static/media/ibm-plex-mono-latin-500-normal.2258ff2f.woff) format("woff")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/_next/static/media/ibm-plex-mono-latin-ext-500-normal.5a49cbe3.woff2) format("woff2"),url(/_next/static/media/ibm-plex-mono-latin-ext-500-normal.f9f2cfdc.woff) format("woff")}.CookieBanner_cc__x3N_5{position:fixed;left:16px;bottom:16px;z-index:900;width:min(400px,calc(100vw - 32px));padding:var(--space-4) var(--space-5);display:flex;flex-direction:column;gap:var(--space-3);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);box-shadow:var(--shadow-pop);transform:translateY(calc(100% + 24px));opacity:0;transition:transform var(--dur-slow) var(--ease-out),opacity var(--dur-slow) ease}.CookieBanner_cc__x3N_5[data-show=true]{transform:translateY(0);opacity:1}.CookieBanner_head__Q43T9{display:flex;align-items:center;justify-content:space-between}.CookieBanner_title__xoAOB{font-size:var(--text-base)}.CookieBanner_close__Vj1C4{width:28px;height:28px;display:grid;place-items:center;color:var(--ink-3);border-radius:var(--radius-xs)}.CookieBanner_close__Vj1C4 svg{width:14px;height:14px}.CookieBanner_close__Vj1C4:hover{color:var(--ink)}.CookieBanner_desc__7_V_2{font-size:var(--text-sm);color:var(--ink-2)}.CookieBanner_actions__v0Yhh{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap}