:root{--ground:#f6f4ef;--surface:#fff;--ink:#1e1a15;--ink-soft:#4b4238;--muted:#7d7365;--line:#e4ded2;--line-firm:#c8bda9;--accent:#1f5f8b;--accent-deep:#17475f;--accent-wash:#e5eff5;--accent-ring:#1f5f8b29;--dark:#1e1a15;--dark-ink:#ded6c9;--dark-soft:#b3a897;--dark-faint:#857a6b;--dark-accent:#6fb3d9;--hdr-bg:#f6f4eff0;--hero-bg:linear-gradient(165deg, #1e1a15 0%, #2b241b 60%, #382f22 100%);--hero-glow:radial-gradient(circle at 50% 0%, #6fb3d92e, transparent 62%);--hero-ink:#ded6c9;--hero-h:#fff;--hero-em:#6fb3d9;--hero-eyebrow:#6fb3d9;--hero-lede:#b8ad9c;--hero-note:#9d9280;--trust-bg:#ffffff0f;--trust-line:#ffffff24;--trust-stat:#6fb3d9;--trust-label:#b8ad9c;--quote-bg:linear-gradient(180deg, var(--ground), var(--accent-wash));--field-bg:#f7f5f0;--star:#c98f2c;--on-accent:#fff;--display-transform:uppercase;--display-tracking:.01em;--display-weight:600;--r-btn:4px;--f-display:"Oswald", "Arial Narrow", Helvetica, sans-serif;--f-body:"Source Sans 3", "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--shadow-sm:0 1px 2px #0000000d, 0 4px 12px -8px #00000038;--shadow-md:0 2px 5px #0000000f, 0 16px 34px -22px #0006}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{background:var(--ground);color:var(--ink);font-family:var(--f-body);-webkit-font-smoothing:antialiased;margin:0;font-size:17px;line-height:1.62}img{max-width:100%;display:block}h1,h2,h3,h4{font-family:var(--f-display);font-weight:var(--display-weight,800);letter-spacing:var(--display-tracking,-.015em);text-wrap:balance;text-transform:var(--display-transform,none);margin:0;line-height:1.06}p{margin:0}a{color:var(--accent-deep);text-underline-offset:3px}:where(a,button,input,select,textarea,summary):focus-visible{outline:3px solid var(--accent);outline-offset:2px;border-radius:3px}.shell{max-width:var(--shell,1160px);margin:0 auto;padding-inline:clamp(18px,4vw,32px)}.eyebrow{font-family:var(--f-body);letter-spacing:.18em;text-transform:uppercase;color:var(--accent);margin:0 0 12px;font-size:12.5px;font-weight:700}.section{padding-block:clamp(54px,8vw,94px)}.section-head{max-width:60ch;margin-bottom:clamp(26px,4vw,44px)}.section-head h2{margin-bottom:14px;font-size:clamp(31px,4.8vw,48px)}.section-head p{color:var(--ink-soft);font-size:18.5px}.btn{font-family:var(--f-body);letter-spacing:.02em;border-radius:var(--r-btn,5px);cursor:pointer;border:2px solid #0000;justify-content:center;align-items:center;gap:9px;padding:14px 26px;font-size:15.5px;font-weight:700;text-decoration:none;transition:background-color .15s,border-color .15s,color .15s,transform .12s;display:inline-flex}.btn:active{transform:translateY(1px)}.btn-primary{background:var(--accent);color:var(--on-accent,#fff);border-color:var(--accent)}.btn-primary:hover{background:var(--accent-deep);border-color:var(--accent-deep)}.btn-ghost{color:var(--ink);border-color:var(--line-firm);background:0 0}.btn-ghost:hover{border-color:var(--accent);color:var(--accent-deep)}.btn-on-dark{color:#fff;background:0 0;border-color:#ffffff61}.btn-on-dark:hover{background:#ffffff1a;border-color:#fff}.btn-lg{padding:17px 30px;font-size:17px}.btn-block{width:100%}.hdr{z-index:60;background:var(--hdr-bg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);position:sticky;top:0}.hdr-in{align-items:center;gap:18px;min-height:72px;display:flex}.brand{color:var(--ink);align-items:center;gap:11px;margin-right:auto;text-decoration:none;display:flex}.brand-mark{border-radius:var(--r-mark,8px);background:var(--accent);width:40px;height:40px;color:var(--on-accent,#fff);font-family:var(--f-display);letter-spacing:.02em;flex:none;place-items:center;font-size:16px;font-weight:800;display:grid}.brand-text b{font-family:var(--f-display);font-size:19px;font-weight:800;line-height:1.05;display:block}.brand-text span{letter-spacing:.16em;text-transform:uppercase;color:var(--muted);font-size:10.5px;font-weight:700;display:block}.nav{gap:24px;display:flex}.nav a{color:var(--ink-soft);font-size:15.5px;font-weight:600;text-decoration:none}.nav a:hover{color:var(--accent-deep)}.hdr-phone{font-family:var(--f-display);color:var(--ink);white-space:nowrap;font-size:18px;font-weight:800;text-decoration:none}@media (width<=980px){.nav,.hdr-phone{display:none}}.hero{background:var(--hero-bg);color:var(--hero-ink);position:relative;overflow:hidden}.hero:after{content:"";pointer-events:none;background:var(--hero-glow);border-radius:50%;height:92%;position:absolute;inset:auto -12% -58% 44%}.hero-in{z-index:1;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);align-items:center;gap:clamp(28px,5vw,54px);padding-block:clamp(44px,7vw,80px);display:grid;position:relative}@media (width<=900px){.hero-in{grid-template-columns:minmax(0,1fr)}}.hero .eyebrow{color:var(--hero-eyebrow)}.hero h1{color:var(--hero-h);margin-bottom:18px;font-size:clamp(38px,6.2vw,62px)}.hero h1 em{color:var(--hero-em);font-style:normal}.hero-lede{color:var(--hero-lede);max-width:46ch;margin-bottom:26px;font-size:clamp(18px,2.1vw,20.5px)}.hero-cta{flex-wrap:wrap;gap:12px;margin-bottom:22px;display:flex}.hero-note{color:var(--hero-note);font-size:15.5px;font-weight:600}.trust-card{background:var(--trust-line);border:1px solid var(--trust-line);border-radius:var(--r-card,8px);grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;margin:0;padding:0;list-style:none;display:grid;overflow:hidden}.trust-card li{background:var(--trust-bg);padding:20px 18px 22px}.trust-card b{font-family:var(--f-display);color:var(--trust-stat);font-size:28px;font-weight:800;line-height:1.05;display:block}.trust-card span{color:var(--trust-label);margin-top:4px;font-size:14.5px;display:block}.svc-grid{grid-template-columns:repeat(auto-fit,minmax(310px,1fr));gap:20px;display:grid}.svc{background:var(--surface);border:1px solid var(--line);border-top:3px solid var(--accent);border-radius:var(--r-card,8px);box-shadow:var(--shadow-sm);flex-direction:column;gap:12px;padding:26px 26px 28px;transition:box-shadow .18s,transform .18s;display:flex}.svc:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.svc h3{font-size:25px}.svc-lead{font-family:var(--f-body);letter-spacing:.12em;text-transform:uppercase;color:var(--accent-deep);font-size:12.5px;font-weight:700}.svc p{color:var(--ink-soft);font-size:16.5px}.svc ul{border-top:1px solid var(--line);flex-direction:column;gap:7px;margin:4px 0 0;padding:15px 0 0;list-style:none;display:flex}.svc li{color:var(--ink-soft);grid-template-columns:18px minmax(0,1fr);gap:9px;font-size:15.5px;display:grid}.tick{color:var(--accent);margin-top:4px}.process{background:var(--dark);color:var(--dark-ink)}.process .eyebrow{color:var(--dark-accent)}.process h2{color:#fff;margin-bottom:14px;font-size:clamp(30px,4.5vw,46px)}.process .lede{color:var(--dark-soft);max-width:62ch;margin-bottom:38px;font-size:18.5px}.steps{counter-reset:st;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:28px 30px;margin:0;padding:0;list-style:none;display:grid}.steps li{counter-increment:st}.steps li:before{content:counter(st, decimal-leading-zero);font-family:var(--f-display);letter-spacing:.16em;color:var(--dark-accent);margin-bottom:10px;font-size:13px;font-weight:800;display:block}.steps b{font-family:var(--f-display);color:#fff;margin-bottom:5px;font-size:20px;display:block}.steps p{color:var(--dark-soft);font-size:16px}.area-in{grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);align-items:start;gap:clamp(26px,5vw,50px);display:grid}@media (width<=880px){.area-in{grid-template-columns:minmax(0,1fr)}}.area-h{margin-bottom:14px;font-size:clamp(30px,4.4vw,44px)}.area-lede{color:var(--ink-soft);margin-bottom:24px;font-size:18.5px}.town-primary{flex-wrap:wrap;gap:9px;margin-bottom:18px;display:flex}.town-primary span{background:var(--accent);color:var(--on-accent,#fff);border-radius:var(--r-btn,5px);padding:8px 15px;font-size:15.5px;font-weight:700}.town-also{flex-wrap:wrap;gap:8px;margin-bottom:16px;display:flex}.town-also span{background:var(--surface);border:1px solid var(--line-firm);color:var(--ink-soft);border-radius:var(--r-btn,5px);padding:6px 12px;font-size:15px}.area-note{color:var(--muted);font-size:16px}.hours-card{background:var(--surface);border:1px solid var(--line-firm);border-radius:var(--r-card,8px);box-shadow:var(--shadow-md);padding:24px}.hours-card h3{margin-bottom:14px;font-size:23px}.hours-lines{font-variant-numeric:tabular-nums;margin-bottom:14px;font-size:16px}.hours-lines span{border-bottom:1px dashed var(--line);justify-content:space-between;gap:14px;padding:7px 0;display:flex}.hours-lines span:last-child{border-bottom:0}.hours-foot{color:var(--muted);margin-bottom:16px;font-size:15px}.reviews{background:var(--surface);border-block:1px solid var(--line)}.rev-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px;display:grid}.rev{border:1px solid var(--line);border-radius:var(--r-card,8px);background:var(--ground);flex-direction:column;gap:13px;margin:0;padding:24px;display:flex}.rev .stars{color:var(--star);gap:3px;display:flex}.rev blockquote{margin:0;font-size:17px}.rev figcaption{color:var(--muted);margin-top:auto;font-size:14.5px}.rev figcaption b{color:var(--ink-soft);font-size:15.5px;display:block}.quote{background:var(--quote-bg)}.quote-in{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);align-items:start;gap:clamp(26px,5vw,54px);display:grid}@media (width<=920px){.quote-in{grid-template-columns:minmax(0,1fr)}}.quote-why{position:sticky;top:94px}@media (width<=920px){.quote-why{position:static}}.quote-h{margin-bottom:14px;font-size:clamp(30px,4.4vw,44px)}.quote-lede{color:var(--ink-soft);font-size:18.5px}.quote-why ul{flex-direction:column;gap:12px;margin:22px 0 0;padding:0;list-style:none;display:flex}.quote-why li{color:var(--ink-soft);grid-template-columns:20px minmax(0,1fr);gap:11px;font-size:16.5px;display:grid}.form-card{background:var(--surface);border:1px solid var(--line-firm);border-radius:var(--r-card,8px);box-shadow:var(--shadow-md);padding:clamp(22px,3.4vw,32px)}.f-row{grid-template-columns:repeat(auto-fit,minmax(185px,1fr));gap:15px;margin-bottom:15px;display:grid}.field{flex-direction:column;gap:6px;min-width:0;display:flex}.field label{letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft);font-size:12.5px;font-weight:700}.field .opt{color:var(--muted);text-transform:none;letter-spacing:0;font-weight:500}.field input,.field select,.field textarea{font-family:var(--f-body);color:var(--ink);background:var(--field-bg);border:1.5px solid var(--line-firm);border-radius:var(--r-btn,5px);width:100%;padding:11px 13px;font-size:16.5px;transition:border-color .15s,background-color .15s,box-shadow .15s}.field textarea{resize:vertical;min-height:92px}.field input:hover,.field select:hover,.field textarea:hover{border-color:var(--muted)}.field input:focus,.field select:focus,.field textarea:focus{background:var(--surface);border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-ring);outline:none}.field input[aria-invalid=true],.field select[aria-invalid=true]{background:#fdf1ef;border-color:#c0392b}.err{color:#a5271a;font-size:14px;font-weight:600}.chips{flex-wrap:wrap;gap:9px;display:flex}.chip{display:inline-block;position:relative}.chip input{opacity:0;width:0;height:0;position:absolute}.chip span{border:1.5px solid var(--line-firm);border-radius:var(--r-btn,5px);background:var(--field-bg);color:var(--ink-soft);cursor:pointer;padding:9px 15px;font-size:15px;font-weight:600;transition:all .14s;display:block}.chip span:hover{border-color:var(--accent);color:var(--accent-deep)}.chip input:checked+span{background:var(--accent);border-color:var(--accent);color:var(--on-accent,#fff)}.chip input:focus-visible+span{outline:3px solid var(--accent);outline-offset:2px}.dropzone{border:2px dashed var(--line-firm);border-radius:var(--r-btn,5px);background:var(--field-bg);text-align:center;cursor:pointer;padding:20px;transition:border-color .15s,background-color .15s;display:block}.dropzone:hover,.dropzone.over{border-color:var(--accent);background:var(--accent-wash)}.dropzone b{font-family:var(--f-display);color:var(--ink);font-size:16px;display:block}.dropzone small{color:var(--muted);font-size:14.5px}.filelist{flex-direction:column;gap:7px;margin:12px 0 0;padding:0;list-style:none;display:flex}.filelist li{background:var(--accent-wash);border:1px solid var(--line-firm);border-radius:var(--r-btn,5px);align-items:center;gap:10px;padding:7px 11px;font-size:15px;display:flex}.filelist span{text-overflow:ellipsis;white-space:nowrap;margin-right:auto;overflow:hidden}.filelist button{color:var(--accent-deep);cursor:pointer;font-size:15px;font-weight:700;font-family:var(--f-body);background:0 0;border:0;padding:2px 6px}.form-foot{border-top:1px solid var(--line);flex-direction:column;gap:12px;margin-top:20px;padding-top:20px;display:flex}.form-foot small{color:var(--muted);font-size:14.5px}.sent{text-align:center;flex-direction:column;align-items:center;gap:12px;padding:28px 10px;display:flex}.sent-mark{background:var(--accent-wash);width:60px;height:60px;color:var(--accent-deep);border-radius:50%;place-items:center;display:grid}.sent h3{font-size:27px}.sent p{color:var(--ink-soft);max-width:46ch}.faq-list{border-top:1px solid var(--line-firm);max-width:850px}.faq-item{border-bottom:1px solid var(--line-firm)}.faq-item summary{cursor:pointer;font-family:var(--f-display);font-size:20px;font-weight:var(--display-weight,800);padding:20px 44px 20px 0;list-style:none;position:relative}.faq-item summary::-webkit-details-marker{display:none}.faq-item summary:after{content:"";border-right:2.5px solid var(--accent);border-bottom:2.5px solid var(--accent);width:11px;height:11px;transition:transform .2s;position:absolute;top:50%;right:8px;transform:translateY(-70%)rotate(45deg)}.faq-item[open] summary:after{transform:translateY(-30%)rotate(-135deg)}.faq-item summary:hover{color:var(--accent-deep)}.faq-answer{color:var(--ink-soft);max-width:68ch;padding:0 0 22px;font-size:16.5px}.ftr{background:var(--dark);color:var(--dark-soft);padding-block:clamp(38px,6vw,60px) 22px}.ftr-grid{border-bottom:1px solid #ffffff21;grid-template-columns:repeat(auto-fit,minmax(205px,1fr));gap:30px;padding-bottom:28px;display:grid}.ftr h4{font-family:var(--f-body);letter-spacing:.16em;text-transform:uppercase;color:#fff;margin-bottom:14px;font-size:12px;font-weight:800}.ftr a{color:var(--dark-soft);text-decoration:none}.ftr a:hover{color:#fff;text-decoration:underline}.ftr ul{flex-direction:column;gap:8px;margin:0;padding:0;font-size:16px;list-style:none;display:flex}.ftr-phone{font-family:var(--f-display);font-size:25px;font-weight:800;color:#fff!important}.ftr-bottom{color:var(--dark-faint);flex-wrap:wrap;gap:8px 22px;padding-top:18px;font-size:14px;display:flex}.ftr-bottom p{margin-right:auto}.sticky-bar{z-index:70;background:var(--line-firm);border-top:1px solid var(--line-firm);gap:1px;display:none;position:fixed;bottom:0;left:0;right:0}.sticky-bar a{text-align:center;background:var(--surface);color:var(--ink);flex:1;padding:15px 8px;font-size:15.5px;font-weight:700;text-decoration:none}.sticky-bar a.primary{background:var(--accent);color:var(--on-accent,#fff)}@media (width<=980px){.sticky-bar{display:flex}body{padding-bottom:58px}}.skip{background:var(--accent);color:var(--on-accent,#fff);z-index:100;padding:12px 18px;font-weight:700;position:absolute;top:0;left:-9999px}.skip:focus{top:8px;left:8px}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.001ms!important;animation-duration:.001ms!important}}
