/* GENERATED FILE - DO NOT EDIT.
   Source: tools/css_src/{tokens.css, base.css, site.css}
   Rebuilt by tools/build_css.py (called from tools/build_all.py) on every
   build, from scratch - any change made directly here is silently
   overwritten on the next rebuild. Edit the source files instead. */
:root{--ink:#12446a;--ink-700:#0d3350;--sky:#277298;--sky-pale:#bfe3f4;--sage:#3f8f6d;--sage-pale:#bfe3d3;--whatsapp:#1f9e59;--paper:#f6f4ee;--paper-dim:#efece3;--stone:#8a7f6e;--stone-200:#e4ded1;--carbon:#1a1816;--text:var(--carbon);--text-muted:#5b5548;--surface:#ffffff;--border:#e3ddd0;--focus:#2b7ea8;--danger:#a4402c;--font-display:'Fraunces',ui-serif,Georgia,serif;--font-body:'Work Sans',ui-sans-serif,system-ui,sans-serif;--font-mono:'IBM Plex Mono',ui-monospace,'SF Mono',monospace;--step--1:clamp(0.83rem,0.80rem + 0.15vw,0.9rem);--step-0:clamp(1rem,0.96rem + 0.2vw,1.125rem);--step-1:clamp(1.2rem,1.13rem + 0.35vw,1.4rem);--step-2:clamp(1.2rem,1.1rem + 0.4vw,1.5rem);--step-3:clamp(1.5rem,1.3rem + 0.7vw,1.9rem);--step-4:clamp(2.3rem,1.95rem + 1.75vw,3.4rem);--step-5:clamp(2.9rem,2.3rem + 3vw,4.6rem);--space-3xs:0.25rem;--space-2xs:0.5rem;--space-xs:0.75rem;--space-sm:1rem;--space-md:1.3rem;--space-lg:2rem;--space-xl:1.5rem;--space-2xl:2.1rem;--space-3xl:9rem;--radius-sm:6px;--radius-md:8px;--radius-lg:13px;--ease:cubic-bezier(0.2,0.7,0.2,1);--dur:200ms;--content-w:1180px;--content-w-narrow:760px}
*,*::before,*::after{box-sizing:border-box}*{margin:0}html{color-scheme:light;-webkit-text-size-adjust:100%;scroll-behavior:smooth}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:0.01ms !important;animation-iteration-count:1 !important;transition-duration:0.01ms !important;scroll-behavior:auto !important}}body{font-family:var(--font-body);font-size:var(--step-0);line-height:1.55;color:var(--text);-webkit-font-smoothing:antialiased;background:var(--paper)}img,picture,svg{display:block;max-width:100%}img{height:auto}[hidden]{display:none !important}h1,h2,h3,h4{font-family:var(--font-display);font-weight:500;line-height:1.1;letter-spacing:-0.01em;color:var(--ink)}h1{font-size:var(--step-5);font-weight:400}h2{font-size:var(--step-3)}h3{font-size:var(--step-2)}h4{font-size:var(--step-1);font-family:var(--font-body);font-weight:600}h1,h2,h3{color:var(--ink-700)}p{max-width:65ch;text-wrap:pretty}p + p{margin-top:var(--space-sm)}a{color:var(--sky);text-decoration-thickness:1.5px;text-underline-offset:0.15em;transition:color var(--dur) var(--ease)}a:hover{color:var(--ink)}ul,ol{padding-left:1.2em}li + li{margin-top:0.4em}li > svg{flex-shrink:0}button,input,select,textarea{font-family:inherit;font-size:inherit;color:inherit}:focus-visible{outline:2.5px solid var(--focus);outline-offset:2px;border-radius:3px}::selection{background:var(--sky-pale);color:var(--ink-700)}.wrap{width:100%;max-width:var(--content-w);margin-inline:auto;padding-inline:var(--space-md)}.wrap--narrow{max-width:var(--content-w-narrow)}.section{padding-block:var(--space-2xl)}.section--tight{padding-block:var(--space-xl)}.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}.skip-link{position:absolute;left:var(--space-sm);top:-60px;background:var(--ink);color:#fff;padding:0.6em 1em;border-radius:var(--radius-sm);z-index:200;transition:top var(--dur) var(--ease)}.skip-link:focus{top:var(--space-sm)}.eyebrow{display:inline-flex;align-items:center;gap:0.6em;font-family:var(--font-mono);font-size:var(--step--1);letter-spacing:0.08em;text-transform:uppercase;color:var(--text-muted);margin-bottom:var(--space-sm)}.eyebrow::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--sage);flex-shrink:0}.lede{font-size:var(--step-1);color:var(--text-muted);max-width:52ch}.btn{display:inline-flex;align-items:center;gap:0.5em;font-family:var(--font-body);font-weight:600;font-size:var(--step--1);padding:0.85em 1.4em;border-radius:var(--radius-md);border:1.5px solid transparent;cursor:pointer;text-decoration:none;transition:transform var(--dur) var(--ease),background var(--dur) var(--ease),border-color var(--dur) var(--ease),box-shadow var(--dur) var(--ease);white-space:nowrap}.btn:hover{transform:translateY(-1px)}.btn:active{transform:translateY(0) scale(0.97);transition-duration:90ms}.btn--primary{background:var(--sage);border-color:var(--sage);color:#fff}.btn--primary:hover{background:#367a5c;color:#fff;box-shadow:0 6px 16px -6px rgba(63,143,109,0.55)}.btn--ink{background:var(--ink);border-color:var(--ink);color:#fff}.btn--ink:hover{background:var(--ink-700);color:#fff;box-shadow:0 6px 16px -6px rgba(18,68,106,0.5)}.btn--outline{background:transparent;border-color:var(--border);color:var(--ink)}.btn--outline:hover{border-color:var(--ink);color:var(--ink)}.btn--sm{padding:0.6em 1.1em;font-size:var(--step--1)}.btn--wa{background:#fff;border-color:var(--border);color:var(--text)}.btn--wa:hover{border-color:var(--sage);color:var(--ink)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-md)}.pill{display:inline-block;font-family:var(--font-mono);font-size:var(--step--1);padding:0.3em 0.75em;border-radius:999px;background:var(--stone-200);color:var(--ink-700)}
.site-header{position:sticky;top:0;z-index:100;background:var(--paper);border-bottom:1px solid var(--border)}.header-top{display:flex;align-items:center;gap:var(--space-sm);padding-block:var(--space-xs);min-height:64px}.header-contact{display:flex;align-items:center;gap:var(--space-sm)}.hc-item{display:inline-flex;align-items:center;gap:0.45em;color:var(--text);text-decoration:none;font-size:var(--step--1)}.hc-phone{color:var(--ink);font-weight:600}.hc-phone:hover{color:var(--sky)}.hc-phone svg,.hc-areas svg{flex-shrink:0}.hc-search{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:999px;border:1.5px solid var(--border);background:transparent;color:var(--ink);cursor:pointer;transition:border-color var(--dur) var(--ease),background var(--dur) var(--ease)}.hc-search:hover{border-color:var(--sky);background:#fff}.header-brand{display:flex;align-items:center;gap:var(--space-sm);flex-shrink:0;margin-right:auto}.brand-link{display:inline-flex}.brand-logo{width:248px;height:auto}.nav-toggle{display:none;width:40px;height:40px;border-radius:var(--radius-sm);border:1.5px solid var(--border);background:transparent;cursor:pointer;flex-direction:column;align-items:center;justify-content:center;gap:5px}.nav-toggle span{display:block;width:18px;height:2px;background:var(--ink);border-radius:2px;transition:transform var(--dur) var(--ease),opacity var(--dur) var(--ease)}.header-nav{border-top:1px solid var(--border)}.nav-inner{display:flex;justify-content:flex-end;align-items:center;gap:calc(var(--space-lg) - 8px);min-height:48px}.nav-inner > a,.nav-dropdown > button{font-family:var(--font-body);font-weight:600;font-size:var(--step--1);color:var(--ink);text-decoration:none;padding:0.4em 0;border-bottom:2px solid transparent}.nav-inner > a{margin-right:4px}.nav-inner > a:hover,.nav-dropdown > button:hover{border-bottom-color:var(--sage)}.nav-inner > a[aria-current="page"],.nav-dropdown > button[aria-current="page"]{border-bottom-color:var(--sky)}.nav-dropdown{position:relative}.nav-dropdown:nth-of-type(1),.nav-dropdown:nth-of-type(2){margin-right:-4px}.nav-dropdown > button{display:inline-flex;align-items:center;gap:0.3em;background:none;border:none;border-bottom:2px solid transparent;cursor:pointer}.nav-dropdown > button svg{transition:transform var(--dur) var(--ease)}.nav-dropdown-panel{position:absolute;right:0;top:100%;min-width:240px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:0 14px 34px -14px rgba(18,68,106,0.28);padding:var(--space-2xs);display:none;flex-direction:column}.nav-dropdown-panel--wide{flex-direction:row;gap:var(--space-xs);min-width:420px;padding:var(--space-xs)}.nav-dropdown-links{display:flex;flex-direction:column;min-width:230px}.nav-dropdown.is-open .nav-dropdown-panel{display:flex}.nav-dropdown.is-open > button svg{transform:rotate(180deg)}.nav-dropdown-panel a{padding:0.65em 0.8em;border-radius:var(--radius-sm);color:var(--text);text-decoration:none;font-size:var(--step--1)}.nav-dropdown-panel a:hover{background:var(--paper-dim);color:var(--ink)}.nav-promo-tile{position:relative;z-index:0;display:flex;flex-direction:column;justify-content:flex-end;width:200px;min-height:180px;border-radius:var(--radius-md);overflow:hidden;padding:var(--space-sm);text-decoration:none;flex-shrink:0}.nav-promo-tile::before{content:"";position:absolute;inset:0;z-index:-1;background-image:var(--tile-img);background-size:cover;background-position:center;transition:filter var(--dur) var(--ease)}.nav-promo-tile:hover::before{filter:blur(4px)}.nav-promo-fade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(18,68,106,0) 30%,rgba(13,51,80,0.92) 100%)}.nav-promo-text{position:relative;color:#fff;font-family:var(--font-display);font-size:var(--step-0);line-height:1.2;margin-bottom:0.6em}.nav-promo-cta{position:relative;color:#fff;font-weight:600;font-size:var(--step--1);display:inline-flex;align-items:center;gap:0.3em}@media (max-width:1180px){.brand-logo{width:217px}}@media (max-width:810px){.header-contact .hc-phone span,.header-contact .hc-areas span,.header-contact .hc-inquire span{display:none}.hc-areas,.hc-inquire{padding:0.7em}.hc-phone,.hc-areas,.hc-inquire{width:38px;height:38px;justify-content:center;padding:0}}@media (max-width:900px){.brand-logo{width:170px}.nav-toggle{display:inline-flex}.header-nav{display:none;position:absolute;left:0;right:0;top:100%;background:var(--surface);border-bottom:1px solid var(--border);box-shadow:0 18px 30px -18px rgba(18,68,106,0.3)}.site-header.is-open .header-nav{display:block}.nav-inner{flex-direction:column;align-items:flex-start;gap:0;padding-block:var(--space-2xs)}.nav-inner > a,.nav-dropdown{width:100%}.nav-inner > a,.nav-dropdown > button{width:100%;padding:0.85em 0.2em;border-bottom:1px solid var(--border);border-radius:0;justify-content:space-between}.nav-dropdown-panel{position:static;box-shadow:none;border:none;border-bottom:1px solid var(--border);background:var(--paper-dim);border-radius:0}.nav-dropdown-panel--wide{flex-direction:column;min-width:0}.nav-promo-tile{width:100%;margin-top:var(--space-2xs)}}@media (max-width:440px){.header-top{gap:var(--space-2xs);padding-inline:var(--space-sm)}.header-contact{gap:4px}.hc-phone,.hc-areas,.hc-inquire,.hc-search{width:34px;height:34px}.brand-logo{width:130px}}.search-overlay{position:fixed;inset:0;background:rgba(18,24,22,0.5);backdrop-filter:blur(2px);z-index:200;display:none;align-items:flex-start;justify-content:center;padding:10vh var(--space-md) var(--space-md)}.search-overlay.is-open{display:flex}.search-panel{width:100%;max-width:640px;background:var(--surface);border-radius:var(--radius-lg);border:1px solid var(--border);padding:var(--space-md);box-shadow:0 30px 70px -20px rgba(0,0,0,0.4)}.search-panel form{display:flex;gap:var(--space-2xs);align-items:center;border-bottom:1.5px solid var(--border);padding-bottom:var(--space-sm)}.search-panel input[type="search"]{flex:1;border:none;background:transparent;font-size:var(--step-1);font-family:var(--font-body);color:var(--text);outline:none}.search-close{border:none;background:var(--paper-dim);color:var(--text);width:32px;height:32px;border-radius:999px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.search-results{margin-top:var(--space-sm);max-height:50vh;overflow-y:auto}.search-results a{display:block;padding:0.7em 0.5em;border-radius:var(--radius-sm);text-decoration:none;color:var(--text)}.search-results a:hover{background:var(--paper-dim)}.search-results .sr-title{color:var(--ink);font-weight:600}.search-results .sr-cat{font-family:var(--font-mono);font-size:var(--step--1);color:var(--text-muted);text-transform:uppercase;letter-spacing:0.06em}.search-empty{color:var(--text-muted);font-size:var(--step--1);padding:0.5em}.site-footer{background:var(--carbon);color:#eee9de;padding-block:var(--space-2xl) var(--space-lg)}.footer-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr;gap:var(--space-lg)}.footer-wordmark{font-family:var(--font-display);font-size:var(--step-1);color:#fff;margin-bottom:var(--space-sm)}.footer-brand p{color:#b8b2a2;font-size:var(--step--1);max-width:32ch}.footer-col-heading{color:#fff;font-size:var(--step--1);text-transform:uppercase;letter-spacing:0.06em;font-family:var(--font-mono);font-weight:500;margin-bottom:var(--space-sm)}.footer-col ul{list-style:none;padding:0;display:flex;flex-direction:column;gap:0.1em}.footer-col li + li{margin-top:0}.footer-col a{color:#d9d3c4;text-decoration:none;font-size:var(--step--1)}.footer-col a:hover{color:#fff}.footer-nap{font-size:var(--step--1);color:#d9d3c4;line-height:1.7}.footer-nap a{color:#2f8ab8}.footer-nap a:hover{color:#fff}.footer-phone{color:#9c9585}.footer-social{display:flex;gap:0.8em;margin-top:1rem}.footer-social a{color:#d9d3c4;display:inline-flex}.footer-social a:hover{color:#fff}.footer-bottom{margin-top:var(--space-xl);padding-top:var(--space-md);border-top:1px solid rgba(255,255,255,0.12);display:flex;justify-content:space-between;align-items:center;gap:var(--space-md);flex-wrap:wrap;font-size:var(--step--1);color:#9c9585}.footer-bottom a{color:#b8b2a2}@media (max-width:860px){.footer-grid{grid-template-columns:1fr 1fr}}@media (max-width:560px){.footer-grid{grid-template-columns:1fr}.footer-bottom{flex-wrap:wrap}.footer-social{width:100%;gap:1.1em}.footer-social svg{width:23px;height:23px}}.strata{position:relative;height:96px;overflow:hidden;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.strata svg{width:100%;height:100%;display:block}.strata-caption{position:absolute;left:var(--space-md);bottom:6px;font-family:var(--font-mono);font-size:0.65rem;letter-spacing:0.08em;text-transform:uppercase;color:var(--ink-700);background:rgba(246,244,238,0.75);padding:1px 6px;border-radius:3px}.strata-label{position:absolute;transform:translateY(-50%);font-family:var(--font-mono);font-size:0.62rem;letter-spacing:0.06em;text-transform:uppercase;color:var(--ink-700);white-space:nowrap;pointer-events:none}.strata-label--dark{color:var(--paper)}@media (max-width:700px){.strata-label,.strata-caption{display:none}.strata{height:24px}}.hero{padding-block:var(--space-md) var(--space-sm)}.hero-grid{display:grid;grid-template-columns:1.1fr 0.9fr;gap:var(--space-2xl);align-items:center}@media (max-width:900px){.hero-grid{grid-template-columns:1fr;gap:var(--space-lg)}}.hero h1{font-size:var(--step-4);margin-top:0.3em}.hero .lede{margin-top:0.6em}@media (max-width:420px){.hero h1{font-size:clamp(1.5rem,0.25rem + 6vw,2rem)}}.hero--photo > .wrap{position:relative;background-image:url('/images/hero-kitchen-faucet.webp');background-size:auto 100%;background-repeat:no-repeat;background-position:right center;isolation:isolate}.hero--photo > .wrap::before{content:"";position:absolute;inset:0;z-index:0;background:linear-gradient(90deg,var(--paper) 0%,var(--paper) 28%,rgba(246,244,238,0.75) 48%,rgba(246,244,238,0) 68%)}.hero--photo > .wrap > *{position:relative;z-index:1}.hero--photo .hero-content{max-width:640px}@media (max-width:900px){.hero--photo > .wrap{background-size:cover;background-position:center right}.hero--photo .hero-content{max-width:none}}@media (max-width:810px){.hero--photo > .wrap::before{background:linear-gradient(180deg,rgba(246,244,238,0.5) 5%,rgba(246,244,238,0.475) 25%,rgba(246,244,238,0.425) 55%,rgba(246,244,238,0.325) 75%,rgba(246,244,238,0.175) 100%),linear-gradient(90deg,var(--paper) 0%,var(--paper) 28%,rgba(246,244,238,0.75) 48%,rgba(246,244,238,0) 68%)}}@media (max-width:630px){.hero--photo > .wrap{background-size:1010px auto;background-position:center right;background-color:var(--paper)}}@media (max-width:560px){.hero--photo > .wrap{background-size:cover;background-position:center right;background-color:transparent}}@media (max-width:560px) and (orientation:portrait){.hero--photo > .wrap{background-position-x:90%}}.about-hero--photo > .wrap{position:relative;isolation:isolate}.about-photo-band{position:absolute;top:0;right:0;width:clamp(55%,calc(55% + 20% * (900px - 100vw) / 500px),75%);aspect-ratio:900 / 1200;background-size:cover;background-position:top right;background-repeat:no-repeat;z-index:0}.about-photo-band::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,var(--paper) 0%,rgba(246,244,238,0.6) 30%,rgba(246,244,238,0) 70%)}.about-hero--photo > .wrap > .breadcrumb,.about-hero--photo > .wrap > .hero-content{position:relative;z-index:1}.about-hero--photo .hero-content{max-width:640px}@media (max-width:900px){.about-photo-band::before{background:linear-gradient(0deg,var(--paper) 0%,var(--paper) 20%,rgba(246,244,238,0) 70%),linear-gradient(90deg,var(--paper) 0%,rgba(246,244,238,0.65) 40%,rgba(246,244,238,0.15) 100%)}}.hero-top-row{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:0.6em;margin-bottom:0.3em}.hero-top-row .eyebrow{margin-bottom:0}.hero-rating{display:inline-flex;align-items:center;gap:0.4em;font-family:var(--font-mono);font-size:var(--step--1);color:var(--text-muted);white-space:nowrap}.hero-rating .stars{color:#d99a2b;letter-spacing:0.05em}.hero-bottom-proof{margin-top:var(--space-sm);padding-top:var(--space-sm);border-top:1px solid var(--border);font-size:var(--step--1);color:var(--text-muted)}.hero-bottom-proof .stars{color:#d99a2b;margin-right:0.5em}.hero-bottom-proof q{font-style:italic}.proof-break{display:block}@media (max-width:560px){.proof-break{display:none}}.hero-img-caption{display:flex;justify-content:space-between;align-items:center;gap:var(--space-sm);flex-wrap:wrap}.hero-img-caption .figcaption-label{font-family:var(--font-mono);font-size:0.72rem;text-transform:uppercase;letter-spacing:0.05em;color:var(--text-muted)}.hero-img-caption .figcaption-link{display:inline-flex;align-items:center;gap:0.3em;font-weight:600;font-size:var(--step--1);color:var(--sage);text-decoration:none;white-space:nowrap}.hero-img-caption .figcaption-link:hover{color:var(--ink)}.ama-subtitle{font-size:var(--step-1);color:var(--text-muted);max-width:none;margin-top:0.6em}.ama-bar{display:flex;align-items:stretch;border:1.5px solid var(--border);border-radius:var(--radius-md);background:var(--surface);overflow:hidden}.ama-bar input{flex:1;border:none;padding:0.9em 1.1em;font-family:var(--font-body);font-size:var(--step-0);color:var(--text);background:transparent}.ama-bar input:focus{outline:none}.ama-wa-btn{display:inline-flex;align-items:center;gap:0.4em;padding:0 1.2em;background:var(--whatsapp);color:#fff;border:none;cursor:pointer;font-weight:600;font-size:var(--step--1);transition:background var(--dur) var(--ease);flex-shrink:0}.ama-wa-btn:hover{background:#178549}@media (max-width:560px){.ama-bar{flex-direction:column}.ama-wa-btn{padding:0.9em 1.1em;justify-content:center}}.ama-suggestions{margin-top:0.6em;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);overflow:hidden}.ama-suggestion{display:block;width:100%;text-align:left;padding:0.8em 1.1em;border:none;border-bottom:1px solid var(--border);background:transparent;font-family:var(--font-body);font-size:var(--step--1);color:var(--ink);cursor:pointer}.ama-suggestion:last-child{border-bottom:none}.ama-suggestion:hover{background:var(--paper-dim)}.ama-suggestion .sug-cat{display:block;font-family:var(--font-mono);font-size:0.7rem;text-transform:uppercase;letter-spacing:0.05em;color:var(--text-muted);margin-bottom:0.2em}.ama-results{margin-top:var(--space-lg)}.ama-article h2{font-size:var(--step-2)}.ama-loading{color:var(--text-muted);font-size:var(--step--1)}.article-body h2{font-size:var(--step-2);margin-top:1.6em;margin-bottom:0.5em}.article-body p{color:var(--text);max-width:68ch}.article-body p + p{margin-top:1em}.article-body h2 + p{margin-top:0}.breadcrumb{font-family:var(--font-mono);font-size:var(--step--1);color:var(--text-muted);display:flex;gap:0.5em;flex-wrap:wrap;margin-bottom:var(--space-md)}.breadcrumb a{color:var(--text-muted);text-decoration:none}.breadcrumb a:hover{color:var(--ink)}.whatsapp-cta{display:inline-flex;align-items:center;gap:0.6em;background:var(--whatsapp);color:#fff;padding:0.9em 1.5em;border-radius:var(--radius-md);text-decoration:none;font-weight:600;transition:background var(--dur) var(--ease),box-shadow var(--dur) var(--ease),transform var(--dur) var(--ease)}.whatsapp-cta:hover{background:#178549;color:#fff;box-shadow:0 8px 20px -8px rgba(31,158,89,0.5);transform:translateY(-1px)}.whatsapp-cta:active{transform:translateY(0) scale(0.97);transition-duration:90ms}.trust-bar{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-md);padding-block:var(--space-lg)}.trust-item{display:flex;gap:0.8em;align-items:flex-start;transition:transform var(--dur) var(--ease)}.trust-item:hover{transform:translateY(-2px)}.trust-item .icon-badge{flex-shrink:0;transition:transform var(--dur) var(--ease)}.trust-item:hover .icon-badge{transform:scale(1.08)}.trust-item p{font-size:var(--step--1);color:var(--text-muted);margin:0}.trust-item strong{display:block;color:var(--ink);font-size:var(--step-0);margin-bottom:0.15em}@media (max-width:900px){.trust-bar{grid-template-columns:repeat(2,1fr)}}@media (max-width:560px){.trust-bar{grid-template-columns:1fr}}.icon-badge{width:40px;height:40px;border-radius:10px;background:var(--sage-pale);color:var(--ink-700);display:inline-flex;align-items:center;justify-content:center}.card-grid{display:grid;grid-template-columns:repeat(var(--cols,4),1fr);gap:var(--space-md)}@media (max-width:980px){.card-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:600px){.card-grid{grid-template-columns:1fr}}.cat-card{display:flex;flex-direction:column;gap:var(--space-sm);text-decoration:none;color:inherit;transition:transform var(--dur) var(--ease),box-shadow var(--dur) var(--ease),border-color var(--dur) var(--ease)}.cat-card:hover{transform:translateY(-3px);border-color:var(--sage);box-shadow:0 16px 30px -18px rgba(18,68,106,0.3)}.cat-card:active{transform:translateY(-1px) scale(0.99);transition-duration:90ms}.cat-card h3{font-size:var(--step-1);margin:0}.cat-card p{font-size:var(--step--1);color:var(--text-muted);margin:0}.cat-card .card-link{margin-top:auto;font-family:var(--font-mono);font-size:var(--step--1);color:var(--sage);display:inline-flex;align-items:center;gap:0.4em}.card-link svg,.faq-article-link svg,.nav-promo-cta svg{transition:transform var(--dur) var(--ease)}.cat-card:hover .card-link svg,.product-card:hover .card-link svg,.card-link:hover svg,.faq-article-link:hover svg,.nav-promo-tile:hover .nav-promo-cta svg{transform:translateX(3px)}.product-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-md)}@media (max-width:760px){.product-grid{grid-template-columns:1fr}}.product-card{display:flex;flex-direction:column;gap:var(--space-xs);text-decoration:none;color:inherit;position:relative;transition:transform var(--dur) var(--ease),box-shadow var(--dur) var(--ease),border-color var(--dur) var(--ease)}.product-card:hover{transform:translateY(-3px);border-color:var(--sky);box-shadow:0 16px 30px -18px rgba(18,68,106,0.3)}.product-card:active{transform:translateY(-1px) scale(0.99);transition-duration:90ms}.product-card .pc-top{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-sm)}.product-card h3{font-size:var(--step-1);margin:0}.product-card .pc-tag{font-size:var(--step--1);color:var(--sage);font-weight:600}.product-card .pc-price{font-family:var(--font-mono);color:var(--ink);white-space:nowrap}.product-card p{font-size:var(--step--1);color:var(--text-muted);margin:0}.badge-flag{position:absolute;top:-10px;right:var(--space-sm);background:var(--sage);color:#fff;font-size:0.68rem;font-family:var(--font-mono);text-transform:uppercase;letter-spacing:0.05em;padding:3px 8px;border-radius:999px}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-md);counter-reset:step}@media (max-width:900px){.steps{grid-template-columns:1fr 1fr}}@media (max-width:560px){.steps{grid-template-columns:1fr}}.step{position:relative;padding-top:var(--space-sm);transition:transform var(--dur) var(--ease)}.step:hover{transform:translateY(-3px)}.step::before{counter-increment:step;content:counter(step);font-family:var(--font-display);font-size:var(--step-3);color:var(--sage-pale);-webkit-text-stroke:1.5px var(--sage);display:block;margin-bottom:0.2em}.step h3{margin-bottom:0.3em}.card-title-sm{font-size:var(--step-1);font-family:var(--font-body);font-weight:600}.step p{font-size:var(--step--1);color:var(--text-muted)}.hero-tagline{position:relative}.hero-tagline::before{content:"";position:absolute;top:0;left:0;right:0;height:1.25px;background:linear-gradient(to right,transparent,var(--border) 50%,transparent)}.thread-divider{height:1.25px;width:100vw;margin-left:calc(50% - 50vw);background:linear-gradient(to right,transparent,var(--border) 50%,transparent)}.ripple-section{position:relative}.ripple-section canvas{position:absolute;left:0;right:0;top:-480px;width:100%;height:calc(100% + 480px);pointer-events:none;z-index:0;mask-image:linear-gradient(to bottom,transparent 0px,black 480px,black 100%);-webkit-mask-image:linear-gradient(to bottom,transparent 0px,black 480px,black 100%)}section:has(+ .ripple-section){position:relative;z-index:1}section:has(+ .ripple-section) .btn--outline{background-color:var(--paper)}.ripple-section > .wrap{position:relative;z-index:1}.band-dark{background:var(--carbon);color:#eee9de;position:relative;overflow:hidden}.band-dark h2,.band-dark h3{color:#fff}.band-dark .lede{color:#c7c1b2}.band-dark .eyebrow{color:var(--sage-pale)}.band-dark .eyebrow::before{background:var(--sky-pale)}.band-dark::before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background:radial-gradient(circle 480px at var(--mx,50%) var(--my,50%),rgba(255,255,255,0.06),transparent 70%);opacity:0;transition:opacity var(--dur) var(--ease)}.band-dark:hover::before{opacity:1}.band-dark > .wrap{position:relative;z-index:1}.faq-list{display:flex;flex-direction:column;gap:var(--space-xs);max-width:var(--content-w-narrow)}.faq-item{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);padding:0;overflow:hidden}.faq-item summary{cursor:pointer;list-style:none;padding:var(--space-sm) var(--space-md);font-family:var(--font-body);font-weight:600;color:var(--ink);display:flex;justify-content:space-between;align-items:center;gap:var(--space-sm);transition:background var(--dur) var(--ease)}.faq-item summary:hover{background:var(--paper-dim)}.faq-item summary::-webkit-details-marker{display:none}.faq-item summary::after{content:"+";font-family:var(--font-mono);font-size:1.2em;color:var(--sage);flex-shrink:0;transition:transform var(--dur) var(--ease)}.faq-item[open] summary::after{transform:rotate(45deg)}.faq-item .faq-a{padding:0 var(--space-md) var(--space-md);color:var(--text-muted);font-size:var(--step--1);max-width:none}.faq-item .faq-article-link{margin:0 var(--space-md) var(--space-md);font-family:var(--font-mono);font-size:var(--step--1);color:var(--sage);text-decoration:none;display:inline-flex;align-items:center;gap:0.4em}.area-grid{display:grid;grid-template-columns:repeat(var(--cols,5),1fr);gap:var(--space-sm)}@media (max-width:900px){.area-grid{grid-template-columns:repeat(3,1fr)}}@media (max-width:600px){.area-grid{grid-template-columns:repeat(2,1fr)}}.area-pill{position:relative;z-index:0;overflow:hidden;display:flex;flex-direction:column;gap:0.2em;padding:var(--space-sm);border:1px solid var(--border);border-radius:var(--radius-md);text-decoration:none;transition:border-color var(--dur) var(--ease),transform var(--dur) var(--ease)}.area-pill:hover{border-color:var(--sky);transform:translateY(-2px)}.ap-map{position:absolute;inset:0;z-index:-1;background-position:66.7% bottom;background-repeat:no-repeat;background-size:72px 72px;opacity:0;transition:opacity 1800ms var(--ease)}.ap-map.is-active{opacity:1}.area-pill::before{content:"";position:absolute;inset:0;z-index:0;background-color:rgba(255,255,255,var(--pill-alpha,1));transition:background-color 11000ms var(--ease)}.area-pill > *:not(.ap-map){position:relative;z-index:1}.area-pill.is-dimmed::before{transition:background-color 120ms var(--ease)}.invisible-ink{transition:opacity 1.2s ease}.invisible-ink.is-hidden{opacity:0}.area-pill:active{transform:translateY(0) scale(0.98);transition-duration:90ms}.area-pill .ap-name{color:var(--ink);font-weight:600;font-size:var(--step--1)}.area-pill .ap-zone{font-family:var(--font-mono);font-size:0.68rem;text-transform:uppercase;letter-spacing:0.05em;color:var(--text-muted)}.area-pill .ap-names{color:var(--text-muted);font-size:0.72rem;margin-top:0.15em}.area-ticker{overflow:hidden;border-block:1px solid var(--border);background:var(--paper-dim);padding-block:0.9em;margin-block:var(--space-lg);-webkit-mask-image:linear-gradient(to right,transparent,#000 6%,#000 94%,transparent);mask-image:linear-gradient(to right,transparent,#000 6%,#000 94%,transparent)}.area-ticker-track{display:flex;width:max-content;gap:0;animation:area-ticker-scroll 48s linear infinite;font-family:var(--font-mono);font-size:var(--step--1);color:var(--text-muted);white-space:nowrap}.area-ticker-track span{padding-inline:1em}.area-ticker:hover .area-ticker-track{animation-play-state:paused}@keyframes area-ticker-scroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}@media (prefers-reduced-motion:reduce){.area-ticker-track{animation:none}.area-ticker{overflow-x:auto}}.section-head{margin-bottom:var(--space-lg)}.section-head--center{margin-inline:auto;text-align:center}.section-head:has(.lede){max-width:62ch}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-2xl);align-items:center}@media (max-width:900px){.two-col{grid-template-columns:1fr;gap:var(--space-lg)}}.two-col--top{align-items:start}.framed-photo{border-radius:var(--radius-lg);overflow:hidden;border:1px solid var(--border);background:var(--surface)}.framed-photo img{width:100%}.framed-photo figcaption{padding:var(--space-sm) var(--space-md);font-size:var(--step--1);color:var(--text-muted);border-top:1px solid var(--border)}.pricing-table{width:100%;border-collapse:collapse;font-size:var(--step--1)}.pricing-table th,.pricing-table td{text-align:left;padding:0.8em 0.9em;border-bottom:1px solid var(--border)}.pricing-table tbody tr{transition:background var(--dur) var(--ease)}.pricing-table tbody tr:hover{background:var(--paper-dim)}.pricing-table th{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:0.05em;font-size:0.72rem;color:var(--text-muted);font-weight:500}.pricing-table td.num,.pricing-table th.num{font-family:var(--font-mono)}.table-wrap{overflow-x:auto;border:1px solid var(--border);border-radius:var(--radius-md)}.table-wrap .pricing-table{min-width:520px}.pricing-table--compact th,.pricing-table--compact td{padding:0.5em 0.7em}.pricing-table--compact td{font-size:0.86em}.pricing-table--compact svg{width:14px;height:14px}.pricing-table--compact .cap-yes{display:inline-flex;align-items:center;justify-content:center}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.cap-chart{display:flex;flex-direction:column;gap:0.85em}.cap-chart-row{display:grid;grid-template-columns:9.5em 1fr 10em;align-items:center;gap:1em}.cap-chart-label{font-size:var(--step--1);font-weight:600;color:var(--ink)}.cap-chart-track{height:10px;border-radius:999px;background:var(--stone-200);overflow:hidden}.cap-chart-fill{height:100%;border-radius:999px;background:var(--sage)}.cap-chart-fill--partial{opacity:0.5}.cap-chart-status{display:flex;align-items:center;gap:0.4em;font-size:var(--step--1);color:var(--text-muted);white-space:nowrap}.cap-chart-status svg{width:15px;height:15px;flex-shrink:0}.cap-chart-status--yes{color:var(--sage);font-weight:600}@media (max-width:560px){.cap-chart-row{grid-template-columns:1fr auto;grid-template-areas:"label label" "track status";row-gap:0.35em}.cap-chart-label{grid-area:label}.cap-chart-track{grid-area:track}.cap-chart-status{grid-area:status}}.spec-chart-panel{padding:var(--space-md)}.spec-strip{display:flex;flex-direction:column;gap:0.6em;padding-bottom:var(--space-md);margin-bottom:var(--space-md);border-bottom:1px solid var(--border)}.spec-row{display:flex;align-items:center;justify-content:space-between;gap:1em}.spec-row-label{display:flex;align-items:center;gap:0.6em;font-size:var(--step--1);color:var(--text-muted)}.spec-row-label svg{width:16px;height:16px;flex-shrink:0;color:var(--sage)}.spec-row-value{font-size:var(--step--1);font-weight:600;color:var(--ink);text-align:right;white-space:nowrap}@media (max-width:480px){.spec-row{flex-wrap:wrap}.spec-row-value{white-space:normal;text-align:left}}.spec-note{border-left:3px solid var(--sky);background:var(--paper-dim);padding:var(--space-sm) var(--space-md);border-radius:0 var(--radius-sm) var(--radius-sm) 0;font-size:var(--step--1);color:var(--text-muted)}.spec-note--warn{border-left-color:var(--danger)}.quiz-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-md);max-width:780px;margin-inline:auto}.quiz-question{font-family:var(--font-display);font-size:var(--step-1);color:var(--ink);margin-bottom:0.6em}.quiz-options{display:grid;grid-template-columns:repeat(3,1fr);gap:0.5em}.quiz-options button{text-align:left;padding:0.6em 0.85em;border:1.5px solid var(--border);border-radius:var(--radius-md);background:var(--paper);font-family:var(--font-body);font-size:var(--step--1);color:var(--text);cursor:pointer;transition:border-color var(--dur) var(--ease),background var(--dur) var(--ease)}.quiz-options button:hover{border-color:var(--sage);background:var(--sage-pale)}.quiz-back{margin-top:0.7em}.quiz-note{color:var(--text-muted);font-size:var(--step--1);margin-top:-0.4em;margin-bottom:0.7em}@media (max-width:640px){.quiz-options{grid-template-columns:1fr}}.quiz-check-options{display:grid;grid-template-columns:repeat(2,1fr);gap:0.5em 0.7em}.quiz-check{display:flex;align-items:center;gap:0.6em;padding:0.6em 0.85em;border:1.5px solid var(--border);border-radius:var(--radius-md);background:var(--paper);cursor:pointer;transition:border-color var(--dur) var(--ease),background var(--dur) var(--ease)}.quiz-check:has(input:checked){border-color:var(--sage);background:var(--sage-pale)}.quiz-check input[type="checkbox"]{width:1.1em;height:1.1em;flex-shrink:0;accent-color:var(--sage);cursor:pointer}.quiz-check span{font-size:var(--step--1);color:var(--text)}@media (max-width:640px){.quiz-check-options{grid-template-columns:1fr}}.quiz-slider-wrap{margin-top:0.3em}.quiz-slider-label{font-family:var(--font-display);font-size:var(--step-0);color:var(--ink);text-align:center;margin-bottom:0.6em;min-height:1.4em}.quiz-slider{width:100%;-webkit-appearance:none;appearance:none;height:6px;border-radius:999px;background:var(--stone-200);outline:none;cursor:pointer}.quiz-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:26px;height:26px;border-radius:50%;background:var(--sage);border:3px solid var(--surface);box-shadow:0 1px 4px rgba(0,0,0,0.25);cursor:pointer}.quiz-slider::-moz-range-thumb{width:26px;height:26px;border-radius:50%;border:3px solid var(--surface);background:var(--sage);box-shadow:0 1px 4px rgba(0,0,0,0.25);cursor:pointer}.quiz-slider-ticks{display:flex;justify-content:space-between;font-family:var(--font-mono);font-size:0.72rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:0.03em;margin-top:0.6em}.quiz-addons{margin-top:1.1em;padding-top:1em;border-top:1px solid var(--border)}.quiz-addons-title{font-family:var(--font-mono);font-size:var(--step--1);color:var(--text-muted);text-transform:uppercase;letter-spacing:0.05em;margin-bottom:0.6em}.quiz-addons-list{display:flex;flex-direction:column;gap:0.5em}.quiz-addon-card{display:flex;align-items:center;gap:0.8em;border:1px solid var(--border);border-radius:var(--radius-md);padding:0.6em;background:var(--paper)}.quiz-addon-img{width:48px;height:48px;object-fit:cover;border-radius:var(--radius-sm);flex-shrink:0}.quiz-addon-body{display:flex;flex-direction:column;gap:0.15em}.quiz-addon-name{font-weight:600;color:var(--ink);font-size:var(--step--1)}.quiz-addon-price{font-family:var(--font-mono);color:var(--text-muted);font-size:0.8em}.quiz-addon-link{font-size:0.8em;color:var(--sage);text-decoration:underline;width:fit-content}.quiz-wheel-section{margin-top:1.2em;padding-top:1.1em;border-top:1px solid var(--border)}.quiz-wheel-grid{align-items:center;gap:var(--space-md)}.quiz-wheel-eyebrow{font-family:var(--font-mono);font-size:var(--step--1);color:var(--sage);text-transform:uppercase;letter-spacing:0.05em}.quiz-wheel-title{font-family:var(--font-display);font-size:var(--step-1);color:var(--ink);margin-top:0.2em}.quiz-wheel-sub{color:var(--text-muted);margin-top:0.4em;font-size:var(--step--1)}.quiz-wheel-widget{display:flex;flex-direction:column;align-items:center;gap:0.9em}.quiz-wheel-pointer{width:0;height:0;margin-bottom:-14px;z-index:2;border-left:12px solid transparent;border-right:12px solid transparent;border-top:18px solid var(--ink)}.quiz-wheel{position:relative;width:190px;height:190px;border-radius:50%;border:4px solid var(--surface);box-shadow:0 2px 12px rgba(0,0,0,0.18)}.quiz-wheel-label{position:absolute;top:50%;left:50%;font-family:var(--font-mono);font-size:0.62rem;font-weight:700;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,0.4);text-align:center;width:2.4em;white-space:normal;line-height:1.1;pointer-events:none}.quiz-wheel-spin{min-width:200px;justify-content:center}.quiz-wheel-result{text-align:center}.quiz-wheel-prize{font-family:var(--font-display);font-size:var(--step-0);color:var(--ink);margin-bottom:0.6em}.quiz-result-img{width:100%;aspect-ratio:16/10;object-fit:cover;border-radius:var(--radius-md);border:1px solid var(--border);margin-bottom:0.8em}.quiz-result-eyebrow{font-family:var(--font-mono);font-size:var(--step--1);color:var(--sage);text-transform:uppercase;letter-spacing:0.05em}.quiz-result-name{font-family:var(--font-display);font-size:var(--step-2);color:var(--ink);margin-top:0.2em}.quiz-result-why{color:var(--text-muted);margin-top:0.5em;font-size:var(--step--1)}.quiz-result-price{font-family:var(--font-mono);color:var(--ink);margin-top:0.5em}.quiz-result-actions{display:flex;gap:0.7em;flex-wrap:wrap;margin-top:1em}.cat-header{align-items:center;margin-bottom:var(--space-lg)}.cat-header-img{width:100%;aspect-ratio:16/10;object-fit:cover;border-radius:var(--radius-lg);border:1px solid var(--border)}@media (max-width:900px){.cat-header{margin-bottom:var(--space-md)}}.product-gallery{display:flex;flex-direction:column;gap:var(--space-sm)}.product-gallery .framed-photo img{aspect-ratio:4/3;object-fit:cover}.product-gallery .framed-photo.photo-cycle{position:relative;aspect-ratio:4/3}.photo-cycle-layer{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity 1800ms var(--ease)}.photo-cycle-layer.is-active{opacity:1}.product-gallery-secondary{border-radius:var(--radius-lg);overflow:hidden;border:1px solid var(--border)}.product-gallery-secondary img{width:100%;aspect-ratio:16/9;object-fit:cover;display:block}.product-swatch{display:flex;flex-direction:column}.product-swatch-inner{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0.8em;background:var(--paper-dim);padding:var(--space-2xl) var(--space-md);text-align:center}.product-swatch-label{font-family:var(--font-display);font-size:var(--step-1);color:var(--ink);max-width:20ch}.product-swatch .strata{border-left:none;border-right:none;border-bottom:none;height:72px}.calc-shell{display:grid;grid-template-columns:1fr 1.2fr;gap:var(--space-lg)}.calc-shell > *{min-width:0}@media (max-width:900px){.calc-shell{grid-template-columns:1fr}}.calc-field{display:flex;flex-direction:column;gap:0.4em;margin-bottom:var(--space-md)}.calc-field label{font-weight:600;color:var(--ink);font-size:var(--step--1)}.calc-field .calc-hint{font-size:0.78rem;color:var(--text-muted)}.calc-field input,.calc-field select{width:100%;padding:0.7em 0.9em;border:1.5px solid var(--border);border-radius:var(--radius-sm);background:#fff;font-family:var(--font-mono);font-size:var(--step-0);color:var(--ink)}.calc-field input:focus,.calc-field select:focus{border-color:var(--sky);outline:none}.calc-results{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-sm)}.calc-result{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--space-sm)}.calc-result{display:flex;flex-direction:column}.calc-result .cr-label{font-family:var(--font-mono);font-size:0.7rem;text-transform:uppercase;letter-spacing:0.05em;color:var(--text-muted);min-height:3.2em}.calc-result .cr-value{font-family:var(--font-display);font-size:var(--step-2);color:var(--ink);margin-top:0}.calc-result .cr-value--sm{font-size:var(--step-1)}.calc-result .cr-label{margin-bottom:0.45rem}.calc-result .cr-value + .cr-value{margin-top:0.1em}@media (max-width:560px){.calc-results{grid-template-columns:1fr}}.chart-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-md);margin-top:var(--space-md)}.chart-bars{display:flex;align-items:flex-end;gap:6px;height:160px}.chart-bar{flex:1;background:linear-gradient(180deg,var(--sky),var(--sage));border-radius:4px 4px 0 0;transition:height 200ms var(--ease)}.chart-bar--sys{background:linear-gradient(180deg,var(--stone),var(--carbon))}.chart-label{margin-top:0.8em;font-family:var(--font-mono);font-size:var(--step--1);color:var(--text-muted);text-align:center}.calc-note{margin-top:var(--space-sm);font-size:var(--step--1);color:var(--text-muted)}.embed-box{background:var(--carbon);color:#eee9de;border-radius:var(--radius-md);padding:var(--space-md);font-family:var(--font-mono);font-size:var(--step--1);overflow-x:auto;white-space:pre-wrap;word-break:break-all}html.is-embed .site-header,html.is-embed .site-footer,html.is-embed .breadcrumb,html.is-embed .embed-section{display:none !important}html.is-embed body{background:var(--surface)}html.is-embed .section--tight{padding-block:var(--space-md)}html.is-embed .embed-credit{display:block !important}.embed-credit{display:none;text-align:center;padding:var(--space-sm);font-size:var(--step--1);border-top:1px solid var(--border);margin-top:var(--space-md)}.hero-bottom-proof q{font-family:var(--font-display);font-style:italic;font-weight:400;font-size:1.08em;color:var(--ink)}