@font-face{font-family:Figtree;src:url('../assets/fonts/figtree-latin-wght-normal.woff2') format('woff2');font-weight:300 900;font-style:normal;font-display:swap}
@font-face{font-family:Newsreader;src:url('../assets/fonts/newsreader-latin-opsz-normal.woff2') format('woff2');font-weight:200 800;font-style:normal;font-display:swap}
@font-face{font-family:Newsreader;src:url('../assets/fonts/newsreader-latin-opsz-italic.woff2') format('woff2');font-weight:200 800;font-style:italic;font-display:swap}
:root{--white:#FFFFFF;--surface:#F4F6F5;--tile:#E9F2F1;--ink:#132322;--muted:#4F5F5C;--teal:#0B6468;--deep:#083F42;--amber:#FFC233;--amber-hover:#F2B01E;--aqua:#9AD3CB;--pale:#D5E5E3;--line:#DCE3E1;--control:#74847F;--error:#B3261E;--error-bg:#FCEEEC;--notice:#FFF6DC;--scrim:rgba(8,63,66,.55);--shadow:rgba(19,35,34,.10);--ease:cubic-bezier(.2,.7,.2,1);font-family:Figtree,ui-sans-serif,system-ui,sans-serif;font-size:16px;color:var(--ink);background:var(--white);fill:currentColor}
*,*::before,*::after{box-sizing:border-box}body{margin:0;line-height:1.6}h1,h2,h3,p,figure,dl,dd{margin:0}h1,h2{font-family:Newsreader,ui-serif,Georgia,serif;font-optical-sizing:auto;font-weight:600;letter-spacing:-.01em}h1{line-height:1.08}h2{font-size:40px;line-height:1.15}h3{font-size:20px;line-height:1.4}h1 em,h2 em{font-weight:500;color:var(--teal)}img{display:block;max-width:100%;height:auto;object-fit:cover}button,input,textarea,select{font:inherit;color:inherit}button{cursor:pointer}button,a,input,textarea,summary{touch-action:manipulation}button{background:none;border:0;padding:0}a{color:inherit;text-decoration:none}a,button{-webkit-tap-highlight-color:transparent}button:disabled{cursor:not-allowed}input,textarea{background:var(--white);border:1.5px solid var(--control);border-radius:6px;min-height:48px;padding:10px 12px;min-width:0;width:100%;line-height:1.4}textarea{resize:vertical}input:focus,textarea:focus{border-color:var(--teal)}input[type=radio],input[type=checkbox]{width:18px;min-height:18px;height:18px;margin:0;accent-color:var(--teal);flex:none}fieldset{padding:0;border:0;margin:0 0 24px;min-width:0}legend,label{font-weight:600}legend{margin-bottom:12px}label{display:block;margin-bottom:8px}svg{fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}svg>*{fill:none}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--teal);outline-offset:3px}button:focus:not(:focus-visible){outline:none}[hidden]{display:none!important}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.icon-defs{position:absolute;width:0;height:0;overflow:hidden}.icon,svg.icon{width:24px;height:24px;flex:none}.icon-button{display:inline-flex;align-items:center;justify-content:center;width:44px;min-width:44px;height:44px;border-radius:6px}.icon-button svg{width:22px;height:22px}.skip-link{position:fixed;z-index:100;top:8px;left:16px;padding:12px;background:var(--amber);transform:translateY(-160%)}.skip-link:focus{transform:none}.container{max-width:1280px;padding:0 20px;margin:0 auto}.section{padding:96px 0}main section,[id]{scroll-margin-top:116px}.lead{font-size:18px;line-height:1.55;color:var(--muted);max-width:62ch}.small,.field-help,.estimate-note,figcaption{font-size:14px;line-height:1.45;color:var(--muted)}.eyebrow{display:block;font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--teal);line-height:1.4}.button{display:inline-flex;justify-content:center;align-items:center;gap:8px;min-height:48px;padding:10px 24px;border-radius:6px;font-weight:700;line-height:1.3;text-align:center;transition:background-color 160ms var(--ease),color 160ms var(--ease),transform 160ms var(--ease)}.primary{background:var(--amber);color:var(--ink);border:1.5px solid var(--amber)}.secondary{background:transparent;color:var(--ink);border:1.5px solid var(--ink)}.button:active{transform:translateY(1px)}.button:disabled,.button[aria-disabled=true]{background:var(--surface);border-color:var(--line);color:var(--muted)}.text-link,.inline-link{color:var(--teal);font-weight:600}.text-link{display:inline-flex;align-items:center;min-height:44px;line-height:1.4;position:relative}.text-link::after,.footer-links a::after,.footer-links button::after{content:"";position:absolute;bottom:8px;left:0;right:0;height:1.5px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform 200ms var(--ease)}.inline-link{text-decoration:underline;text-underline-offset:3px;min-height:44px}.notice{background:var(--notice);border-radius:6px;padding:12px 16px;font-size:14px;line-height:1.5}.field-error{color:var(--error);background:var(--error-bg);font-size:14px;padding:8px 12px;margin-top:8px;border-radius:6px;line-height:1.45}.field-error a{color:inherit;text-decoration:underline}input[aria-invalid=true],textarea[aria-invalid=true]{border-color:var(--error)}.dark{background:var(--deep);color:var(--pale)}.dark h2,.dark h3,.dark .wordmark,.dark a,.dark button:not(.primary){color:var(--white)}.dark h2 em,.dark .eyebrow{color:var(--aqua)}.dark .lead,.dark .small{color:var(--pale)}.dark :focus-visible{outline-color:var(--amber)}.mobile-only{display:none}.numeric{font-variant-numeric:tabular-nums lining-nums}
@media(hover:hover){.primary:hover{background:var(--amber-hover);border-color:var(--amber-hover)}.secondary:hover{background:var(--ink);color:var(--white)}.text-link:hover::after,.footer-links a:hover::after,.footer-links button:hover::after{transform:scaleX(1)}.icon-button:hover,.cart-trigger:hover{color:var(--teal)}}
@media(max-width:899px){.section{padding:56px 0}h2{font-size:32px}.wide-only{display:none}main section,[id]{scroll-margin-top:68px}}
@media(max-width:599px){.container{padding:0 16px}h2{font-size:28px;line-height:1.18}h3{font-size:18px}.lead{font-size:16px;line-height:1.5}.mobile-only{display:inline-flex}.desktop-only{display:none}.button{padding-inline:16px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}
