:root{--ink:#061f44;--forest:#061f44;--forest-2:#061f44;--cream:#edf1f5;--paper:#ffffff;--line:#d5deeb;--orange:#ff6500;--muted:#526278;--shadow:0 18px 50px rgba(8,43,96,.13);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--cream);font-synthesis:none}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);line-height:1.55}a{color:inherit}button,input,textarea,select{font:inherit}.wrap{width:min(1160px,calc(100% - 40px));margin:auto}.eyebrow{font-size:.78rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--orange)}.site-header{position:sticky;top:0;z-index:20;background:rgba(247,244,236,.94);backdrop-filter:blur(12px);border-bottom:1px solid rgba(20,35,29,.12)}.nav{min-height:76px;display:flex;align-items:center;gap:28px}.brand{display:flex;align-items:center;gap:11px;text-decoration:none;font-weight:850;letter-spacing:-.03em}.brand-mark{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:var(--forest);color:#fff;font-size:1.25rem}.nav-links{margin-left:auto;display:flex;align-items:center;gap:23px}.nav-links a{text-decoration:none;font-size:.92rem;font-weight:650}.nav-links a:hover{color:var(--forest)}.btn{display:inline-flex;justify-content:center;align-items:center;gap:8px;min-height:48px;padding:0 19px;border:1px solid transparent;border-radius:10px;text-decoration:none;font-weight:800;cursor:pointer;transition:.18s ease}.btn-primary{color:white;background:var(--orange);box-shadow:0 8px 20px rgba(230,108,44,.23)}.btn-primary:hover{background:#c95720;transform:translateY(-1px)}.btn-secondary{background:transparent;border-color:rgba(20,35,29,.32)}.btn-secondary:hover{background:#fff}.hero{padding:82px 0 58px}.hero-grid{display:grid;grid-template-columns:1.15fr .85fr;align-items:center;gap:60px}.hero h1{font-family:Georgia,serif;font-size:clamp(3rem,6vw,5.7rem);line-height:.94;letter-spacing:-.055em;margin:18px 0 24px;max-width:760px}.hero-copy{font-size:1.18rem;color:var(--muted);max-width:650px}.actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:31px}.availability{display:flex;gap:10px;align-items:center;margin-top:26px;font-size:.91rem;color:var(--muted)}.dot{width:9px;height:9px;border-radius:50%;background:#2c9a67;box-shadow:0 0 0 5px rgba(44,154,103,.13)}.project-board{background:var(--forest);color:#fff;border-radius:26px;padding:30px;box-shadow:var(--shadow);transform:rotate(1.2deg);position:relative;overflow:hidden}.project-board:before{content:"";position:absolute;inset:-80px -80px auto auto;width:220px;height:220px;border:45px solid rgba(255,255,255,.07);border-radius:50%}.board-label{font-size:.8rem;letter-spacing:.12em;text-transform:uppercase;color:#b6ddce}.board-title{font-family:Georgia,serif;font-size:2rem;line-height:1.05;margin:12px 0 24px}.checklist{display:grid;gap:10px}.check{display:flex;gap:12px;align-items:center;padding:13px 14px;border-radius:10px;background:rgba(255,255,255,.09)}.check span:first-child{color:#ffd4bf;font-weight:900}.board-note{font-size:.88rem;color:#c8ddd5;border-top:1px solid rgba(255,255,255,.18);margin-top:24px;padding-top:18px}.trust-strip{background:var(--paper);border-block:1px solid var(--line)}.trust-grid{display:grid;grid-template-columns:repeat(4,1fr)}.trust-item{padding:24px 18px;border-right:1px solid var(--line);font-size:.94rem;font-weight:750}.trust-item:last-child{border:0}.section{padding:90px 0}.section.alt{background:var(--paper)}.section-head{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:38px}.section h2,.page-hero h1{font-family:Georgia,serif;font-size:clamp(2.25rem,4.5vw,4rem);line-height:1;letter-spacing:-.04em;margin:10px 0}.section-intro{max-width:570px;color:var(--muted)}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.service-card{padding:25px;border:1px solid var(--line);border-radius:16px;background:var(--paper);min-height:185px;transition:.18s ease}.service-card:hover{transform:translateY(-3px);box-shadow:var(--shadow);border-color:transparent}.service-card .num{color:var(--orange);font-size:.78rem;font-weight:850}.service-card h3{margin:22px 0 8px;font-size:1.16rem}.service-card p{margin:0;color:var(--muted);font-size:.93rem}.small-note{margin-top:22px;color:var(--muted)}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;counter-reset:steps}.step{counter-increment:steps;border-top:3px solid var(--forest);padding-top:20px}.step:before{content:"0" counter(steps);display:block;color:var(--orange);font-weight:900;font-size:.84rem;margin-bottom:32px}.step h3{font-size:1.1rem}.step p{font-size:.92rem;color:var(--muted)}.area-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:40px}.area-card{background:var(--forest-2);color:#fff;padding:35px;border-radius:22px}.towns{display:flex;flex-wrap:wrap;gap:9px;margin:24px 0}.towns span{padding:8px 11px;border:1px solid rgba(255,255,255,.2);border-radius:999px;font-size:.85rem}.checker{background:#fff;padding:30px;border-radius:20px;border:1px solid var(--line)}.field{display:grid;gap:7px;margin-bottom:16px}.field label{font-weight:750;font-size:.9rem}.field input,.field textarea,.field select{width:100%;border:1px solid #bbc1bc;border-radius:9px;background:#fff;padding:12px 13px;min-height:48px}.field textarea{min-height:130px;resize:vertical}.checker-row{display:flex;gap:10px}.checker-row input{flex:1}.result{margin-top:14px;padding:13px;border-radius:9px;background:#eff6f1;color:var(--forest);display:none}.why-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.why{padding:20px;border-left:3px solid var(--orange);background:rgba(255,255,255,.55)}.cta{padding:46px;background:var(--orange);color:#fff;border-radius:24px;display:flex;align-items:center;justify-content:space-between;gap:28px}.cta h2{font-size:clamp(2rem,4vw,3.6rem);margin:0}.cta .btn{background:#fff;color:var(--ink)}.faq-list{display:grid;gap:10px}.faq-list details{border:1px solid var(--line);background:#fff;border-radius:12px;padding:4px 18px}.faq-list summary{cursor:pointer;font-weight:800;padding:15px 30px 15px 0}.faq-list p{color:var(--muted);margin:0 0 18px}.site-footer{background:var(--ink);color:#edf4f0;padding:62px 0 88px}.footer-grid{display:grid;grid-template-columns:1.4fr repeat(3,1fr);gap:38px}.footer-grid h3{font-size:.82rem;text-transform:uppercase;letter-spacing:.1em;color:#9fb2a9}.footer-grid a{display:block;text-decoration:none;margin:9px 0;color:#d4ded9}.footer-note{color:#aebdb6;max-width:360px}.page-hero{padding:72px 0 44px}.page-hero p{font-size:1.12rem;max-width:700px;color:var(--muted)}.legal{max-width:780px}.legal h2{font-size:1.4rem;margin-top:40px}.estimate-shell{display:grid;grid-template-columns:.7fr 1.3fr;gap:30px;align-items:start}.estimate-aside{background:var(--forest);color:#fff;padding:30px;border-radius:18px;position:sticky;top:100px}.estimate-form{background:#fff;border:1px solid var(--line);border-radius:18px;padding:32px}.progress{height:6px;background:#e9ebe7;border-radius:99px;overflow:hidden;margin-bottom:30px}.progress span{display:block;height:100%;background:var(--orange);width:14.28%;transition:.2s}.form-step{display:none}.form-step.active{display:block}.choices{display:grid;grid-template-columns:1fr 1fr;gap:10px}.choice{position:relative}.choice input{position:absolute;opacity:0}.choice label{display:block;border:1px solid #c7cbc8;border-radius:10px;padding:14px;cursor:pointer}.choice input:checked+label{border-color:var(--forest);background:#edf5f1;box-shadow:inset 0 0 0 1px var(--forest)}.form-actions{display:flex;justify-content:space-between;margin-top:26px}.privacy-note{padding:13px;background:#f4f5f1;border-radius:9px;font-size:.88rem;color:var(--muted)}.setup-warning{border:1px solid #e9b08d;background:#fff5ee;color:#7b391c;padding:14px;border-radius:10px;margin-bottom:18px}.mobile-bar{display:none}.menu-btn{display:none}
@media(max-width:900px){.nav-links{display:none}.menu-btn{display:block;margin-left:auto;border:0;background:none;font-size:1.4rem}.hero-grid,.area-grid,.estimate-shell{grid-template-columns:1fr}.hero{padding-top:55px}.project-board{transform:none}.service-grid{grid-template-columns:1fr 1fr}.steps{grid-template-columns:1fr 1fr}.footer-grid{grid-template-columns:1fr 1fr}.estimate-aside{position:static}.trust-grid{grid-template-columns:1fr 1fr}.trust-item:nth-child(2){border-right:0}.nav>.btn{display:none}.mobile-menu.open{display:grid}.mobile-menu{display:none;padding:0 20px 18px;gap:9px}.mobile-menu a{text-decoration:none;font-weight:750;padding:8px 0}}
@media(max-width:620px){.wrap{width:min(100% - 28px,1160px)}.hero h1{font-size:3.05rem}.section{padding:66px 0}.service-grid,.steps,.why-grid,.footer-grid{grid-template-columns:1fr}.trust-grid{grid-template-columns:1fr 1fr}.trust-item{padding:18px 10px;font-size:.83rem}.section-head,.cta{align-items:start;flex-direction:column}.cta{padding:30px}.choices{grid-template-columns:1fr}.estimate-form{padding:22px}.checker-row{flex-direction:column}.site-footer{padding-bottom:110px}.mobile-bar{display:grid;grid-template-columns:1fr 1.25fr;position:fixed;z-index:30;bottom:0;inset-inline:0;background:#fff;border-top:1px solid var(--line);padding:9px;gap:8px}.mobile-bar .btn{min-height:50px}.mobile-bar .btn-secondary{border-color:var(--forest);color:var(--forest)}}
.brand-logo{display:block;width:176px;height:auto;mix-blend-mode:multiply}.site-footer .brand-logo{width:210px;background:#fff;border-radius:10px;padding:7px;mix-blend-mode:normal}.brand-wordmark{display:none}.hero-logo-accent{width:116px;height:116px;object-fit:contain;background:#fff;border-radius:20px;padding:8px;box-shadow:0 12px 34px rgba(8,43,96,.14);margin-bottom:22px}.site-header{box-shadow:0 4px 22px rgba(8,43,96,.06)}.project-board{background:linear-gradient(145deg,#082b60,#041d43)}.area-card{background:linear-gradient(145deg,#082b60,#041d43)}.btn-primary{background:#ff6500}.btn-primary:hover{background:#dc5700}.eyebrow{color:#e85c00}@media(max-width:620px){.brand-logo{width:142px}.nav{min-height:68px}.hero-logo-accent{width:90px;height:90px}}
.site-header{position:sticky;top:0;z-index:30;background:rgba(255,255,255,.86);backdrop-filter:blur(18px) saturate(145%);-webkit-backdrop-filter:blur(18px) saturate(145%);border:0;border-bottom:1px solid rgba(8,43,96,.12);box-shadow:0 8px 28px rgba(8,43,96,.06)}.nav{min-height:94px;gap:22px}.brand-logo{width:164px}.service-badge{padding-left:18px;border-left:1px solid var(--line);font-size:.75rem;line-height:1.25;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);max-width:145px}.nav-links{gap:6px}.nav-links a{padding:10px 12px;border-radius:8px;font-size:.87rem;color:#233f69}.nav-links a:hover{color:var(--forest);background:#eef3f9}.nav-cta{min-height:44px;padding-inline:17px;border-radius:8px;box-shadow:none}.menu-btn{align-items:center;gap:10px;color:var(--ink);font-weight:800;font-size:.88rem;text-transform:uppercase;letter-spacing:.08em}.menu-icon{width:22px;display:grid;gap:4px}.menu-icon i{display:block;height:2px;background:currentColor;border-radius:2px}.mobile-menu{display:none;background:rgba(255,255,255,.96);border-top:1px solid var(--line)}.project-board{transform:none}.project-board:hover{transform:translateY(-2px)}.result.in-area{background:#e9f7ef;color:#145b35;border:1px solid #a9d9bd}.result.out-area{background:#fff1ec;color:#8a3518;border:1px solid #f1b9a5}
@media(max-width:1050px){.service-badge{display:none}.nav-links{gap:2px}.nav-links a{padding-inline:9px}}
@media(max-width:900px){.nav{min-height:78px}.brand-logo{width:148px}.menu-btn{display:flex;margin-left:auto;border:0;background:transparent;padding:10px}.mobile-menu.open{display:grid;grid-template-columns:1fr 1fr;padding:14px 20px 22px}.mobile-menu a{padding:13px 14px;border:1px solid var(--line);border-radius:8px;background:#f8fafc}.mobile-menu a:last-child{grid-column:1/-1;color:#fff;background:var(--orange);border-color:var(--orange);text-align:center}.nav>.btn{display:none}}
@media(max-width:520px){.mobile-menu.open{grid-template-columns:1fr}.mobile-menu a:last-child{grid-column:auto}}
.step-error{margin:16px 0 4px;padding:12px 14px;border:1px solid #efad94;border-radius:9px;background:#fff1ec;color:#8a3518;font-weight:700}.field input[aria-invalid="true"],.field textarea[aria-invalid="true"],.field select[aria-invalid="true"]{border-color:#c94c26;box-shadow:0 0 0 3px rgba(201,76,38,.12)}.choice input[aria-invalid="true"]+label{border-color:#c94c26;background:#fff4ef}.field label:has(+ input[required])::after,.field label:has(+ textarea[required])::after{content:" · Required";color:#a54224;font-size:.76rem;font-weight:700}
.skip-link{position:fixed;z-index:100;left:14px;top:14px;transform:translateY(-160%);padding:12px 16px;background:#fff;color:var(--ink);border:2px solid var(--orange);border-radius:8px;font-weight:800}.skip-link:focus{transform:none}.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}:focus-visible{outline:3px solid #1769aa;outline-offset:3px}.btn-primary{background:#c94a00}.btn-primary:hover{background:#a93e00}.form-step h2{outline:none}.photo-previews{display:grid;gap:10px;margin-top:14px}.photo-preview{display:grid;grid-template-columns:64px 1fr auto;align-items:center;gap:12px;padding:10px;border:1px solid var(--line);border-radius:10px}.photo-preview img{width:64px;height:56px;object-fit:cover;border-radius:7px}.photo-preview span{overflow-wrap:anywhere;font-size:.85rem;color:var(--muted)}.photo-preview button,.edit-link{min-height:44px;padding:8px 12px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--ink);font-weight:750;cursor:pointer}.review-list{display:grid;gap:10px}.review-list>section{display:flex;justify-content:space-between;gap:18px;align-items:start;padding:18px;border:1px solid var(--line);border-radius:12px}.review-list h3{margin:0 0 6px}.review-list p{margin:0;color:var(--muted);white-space:pre-line}.result[hidden]{display:none!important}@media(max-width:900px){.estimate-aside{padding:16px 20px}.estimate-aside h1,.estimate-aside>p:not(.step-count){display:none}.estimate-aside .eyebrow{margin-bottom:6px}.estimate-shell{gap:12px}.photo-preview{grid-template-columns:54px 1fr}.photo-preview button{grid-column:2}.review-list>section{align-items:center}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
