:root{--ink:#15201c;--moss:#356152;--moss-deep:#213f36;--amber:#d2802f;--amber-bright:#e0913c;--paper:#f2eee4;--card:#fbf9f3;--line:rgba(21,32,28,0.14);--muted:#5d6b63;--pass:#3a7d44;--cond:#b6822a;--display:"Bricolage Grotesque",system-ui,sans-serif;--body:"Inter",system-ui,sans-serif;--mono:"IBM Plex Mono",ui-monospace,monospace}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:var(--body);background:var(--paper);color:var(--ink);line-height:1.55;-webkit-font-smoothing:antialiased}a{color:inherit}.wrap{max-width:1080px;margin:0 auto;padding:0 24px}.eyebrow{font-family:var(--mono);font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--moss);font-weight:500}header{position:-webkit-sticky;position:sticky;top:0;z-index:50;background:rgba(242,238,228,.86);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}.bar{justify-content:space-between;height:64px}.bar,.logo{display:flex;align-items:center}.logo{gap:11px;font-family:var(--display);font-weight:800;font-size:18px;letter-spacing:-.01em;text-decoration:none}.logo .mark{width:30px;height:30px;flex:none}.nav{display:flex;gap:28px;align-items:center}.nav a{font-size:14px;text-decoration:none;color:var(--muted);font-weight:500}.nav a:hover{color:var(--ink)}.btn{font-family:var(--body);font-weight:600;font-size:14px;background:var(--amber);color:#fff;border:none;border-radius:8px;padding:11px 18px;cursor:pointer;text-decoration:none;display:inline-block;transition:background .15s ease,transform .15s ease}.btn:hover{background:var(--amber-bright);transform:translateY(-1px)}.btn.ghost{background:transparent;color:var(--ink);border:1px solid var(--line)}.btn.ghost:hover{border-color:var(--ink);background:transparent}.nav .btn{color:#fff}@media(max-width:720px){.nav a:not(.btn){display:none}}.hero{position:relative;overflow:hidden;border-bottom:1px solid var(--line)}.hero .contours{position:absolute;inset:0;opacity:.5;pointer-events:none}.hero .inner{position:relative;padding:84px 0 92px}.hero h1{font-family:var(--display);font-weight:800;font-size:clamp(38px,6.4vw,68px);line-height:1.02;letter-spacing:-.025em;margin:18px 0 0;max-width:14ch}.hero h1 .turn{color:var(--moss)}.hero p.lead{font-size:clamp(17px,2.2vw,20px);color:var(--muted);max-width:46ch;margin:22px 0 0}.hero .cta-row{gap:14px;margin-top:34px}.hero .cta-row,.hero .reg{display:flex;flex-wrap:wrap}.hero .reg{font-family:var(--mono);font-size:12px;color:var(--muted);margin-top:30px;align-items:center;gap:9px}.hero .reg .dot{width:7px;height:7px;border-radius:50%;background:var(--pass);flex:none}.reveal{opacity:0;transform:translateY(14px);animation:rise .7s cubic-bezier(.2,.7,.2,1) forwards}.reveal.d1{animation-delay:.06s}.reveal.d2{animation-delay:.13s}.reveal.d3{animation-delay:.2s}.reveal.d4{animation-delay:.27s}@keyframes rise{to{opacity:1;transform:none}}.strip{border-bottom:1px solid var(--line);background:var(--moss-deep);color:#e9efe9}.strip .row{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:24px;gap:24px;padding:26px 0}.strip .stat{font-family:var(--mono);font-size:12px;letter-spacing:.04em}.strip .stat b{display:block;font-family:var(--display);font-size:26px;font-weight:700;letter-spacing:-.01em;color:#fff;margin-bottom:2px}@media(max-width:720px){.strip .row{grid-template-columns:repeat(2,1fr);gap:18px}}section{padding:78px 0}.sec-head{max-width:60ch}.sec-head h2{font-family:var(--display);font-weight:700;font-size:clamp(26px,3.6vw,38px);letter-spacing:-.02em;margin:10px 0 0}.sec-head p{color:var(--muted);margin-top:12px;font-size:16px}.services{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:18px;gap:18px;margin-top:40px}.svc{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:24px;position:relative}.svc .num{font-family:var(--mono);font-size:12px;color:var(--amber);font-weight:600}.svc h3{font-family:var(--display);font-weight:700;font-size:19px;margin:12px 0 8px;letter-spacing:-.01em}.svc p{font-size:14.5px;color:var(--muted)}@media(max-width:820px){.services{grid-template-columns:1fr}}.estimator{background:var(--ink);color:#eef3ee}.estimator .eyebrow{color:var(--amber-bright)}.estimator h2{color:#fff}.estimator .sec-head p{color:#aebab2}.worksheet{margin-top:40px;display:grid;grid-template-columns:1.15fr .85fr;grid-gap:0;gap:0;border:1px solid rgba(255,255,255,.14);border-radius:16px;overflow:hidden}@media(max-width:860px){.worksheet{grid-template-columns:1fr}}.ws-form{padding:30px;background:rgba(255,255,255,.03)}.ws-out{padding:30px;background:rgba(255,255,255,.06);border-left:1px solid rgba(255,255,255,.12)}@media(max-width:860px){.ws-out{border-left:none;border-top:1px solid rgba(255,255,255,.12)}}.field{margin-bottom:20px}.field>label{display:block;font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:#9fb0a7;margin-bottom:9px}.seg{display:flex;flex-wrap:wrap;gap:8px}.seg button{font-family:var(--body);font-size:13.5px;font-weight:500;background:rgba(255,255,255,.05);color:#dfe7e1;border:1px solid rgba(255,255,255,.16);border-radius:8px;padding:9px 13px;cursor:pointer;transition:.13s}.seg button:hover{border-color:rgba(255,255,255,.4)}.seg button[aria-pressed=true]{background:var(--amber);border-color:var(--amber);color:#fff}.checks{flex-direction:column}.checks,.chk{display:flex;gap:11px}.chk{align-items:flex-start;cursor:pointer;font-size:14px;color:#dfe7e1}.chk input{margin-top:3px;accent-color:var(--amber);width:16px;height:16px;flex:none}.chk span small{display:block;color:#92a39a;font-size:12px}.takeoff{font-family:var(--mono);font-size:13px}.takeoff .line{display:flex;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:1px dashed rgba(255,255,255,.13);color:#c4d0c8}.takeoff .line span:last-child{color:#fff;white-space:nowrap}.takeoff .total{display:flex;justify-content:space-between;align-items:baseline;margin-top:18px;padding-top:16px;border-top:2px solid rgba(255,255,255,.3)}.takeoff .total .lbl{font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:#9fb0a7}.takeoff .total .amt{font-family:var(--display);font-weight:800;font-size:34px;color:#fff;letter-spacing:-.02em}.disc{font-family:var(--body);font-size:12px;color:#8c9d94;margin-top:16px;line-height:1.5}.ws-out .btn{width:100%;text-align:center;margin-top:20px}.request{background:var(--card);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}form.req{display:grid;grid-template-columns:1fr 1fr;grid-gap:18px;gap:18px;margin-top:36px}form.req .full{grid-column:1/-1}form.req label{display:block;font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-bottom:7px}form.req input,form.req select,form.req textarea{width:100%;font-family:var(--body);font-size:15px;color:var(--ink);background:var(--paper);border:1px solid var(--line);border-radius:8px;padding:12px 13px}form.req input:focus,form.req select:focus,form.req textarea:focus{outline:2px solid var(--moss);outline-offset:1px;border-color:transparent}form.req textarea{min-height:96px;resize:vertical}@media(max-width:680px){form.req{grid-template-columns:1fr}}.req-note{font-size:13px;color:var(--muted);margin-top:14px;font-family:var(--mono)}.sent{display:none;background:rgba(58,125,68,.12);border:1px solid var(--pass);border-radius:10px;padding:16px;margin-top:18px;font-size:14.5px;color:var(--moss-deep)}.sent.show{display:block}footer{background:var(--ink);color:#cdd8d1;padding:56px 0 40px}footer .grid{display:flex;justify-content:space-between;gap:40px;flex-wrap:wrap}footer .logo{color:#fff}footer a{color:#cdd8d1;text-decoration:none;font-size:14px}footer a:hover{color:#fff}footer .col h4{font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:#8c9d94;margin-bottom:14px}footer .col a,footer .col p{display:block;font-size:14px;margin-bottom:8px}footer .legal{margin-top:40px;padding-top:22px;border-top:1px solid rgba(255,255,255,.12);font-family:var(--mono);font-size:11px;color:#7e8f86;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}:focus-visible{outline:2px solid var(--moss);outline-offset:2px}@media(prefers-reduced-motion:reduce){.reveal{animation:none;opacity:1}.btn:hover,.reveal{transform:none}html{scroll-behavior:auto}}