:root{--granite:#1c2226;--granite-2:#2a3237;--concrete:#eef1ef;--paper:#fff;--limestone:#d6dcd8;--clay:#b9532f;--clay-deep:#9a4224;--loblolly:#2e4b3f;--spray:#9cc3cf;--ink-soft:#56615f;--display:"Archivo", "Arial Narrow", system-ui, sans-serif;--body:"Instrument Sans", system-ui, -apple-system, sans-serif;--mono:"IBM Plex Mono", ui-monospace, Menlo, monospace;--wrap:1240px;--r:14px}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background:var(--concrete);color:var(--granite);font-family:var(--body);-webkit-font-smoothing:antialiased;font-size:17px;line-height:1.55;overflow-x:hidden}img{max-width:100%;display:block}a{color:inherit}.wrap{max-width:var(--wrap);margin:0 auto;padding-inline:clamp(16px,4vw,40px)}:focus-visible{outline:3px solid var(--clay);outline-offset:3px;border-radius:4px}.display{font-family:var(--display);letter-spacing:-.02em;font-weight:800;font-stretch:125%;line-height:.98}.label{font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft);font-size:12.5px}.btn{font-family:var(--body);cursor:pointer;white-space:nowrap;border:2px solid #0000;border-radius:999px;justify-content:center;align-items:center;gap:10px;padding:15px 24px;font-size:16px;font-weight:600;text-decoration:none;transition:background .2s,color .2s,border-color .2s,transform .2s;display:inline-flex}.btn:hover{transform:translateY(-1px)}.btn svg{flex:none;width:18px;height:18px}.btn-clay{background:var(--clay);color:#fff}.btn-clay:hover{background:var(--clay-deep)}.btn-line{border-color:var(--granite);color:var(--granite);background:0 0}.btn-line:hover{background:var(--granite);color:var(--concrete)}.on-dark .btn-line{color:#fff;border-color:#ffffff8c}.on-dark .btn-line:hover{color:var(--granite);background:#fff}.top{top:env(safe-area-inset-top,0px);z-index:50;-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--limestone);background:#eef1efe0;position:sticky}.top .wrap{align-items:center;gap:28px;height:72px;display:flex}.brand{align-items:center;gap:10px;text-decoration:none;display:flex}.brand svg{width:34px;height:34px}.brand b{font-family:var(--display);letter-spacing:-.01em;font-size:19px;font-weight:800;font-stretch:125%;line-height:1}.brand small{font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-soft);margin-top:3px;font-size:10px;display:block}.nav{gap:26px;margin-left:auto;display:flex}.nav a{color:var(--granite-2);font-size:15px;font-weight:500;text-decoration:none}.nav a:hover{color:var(--clay)}.top-cta{align-items:center;gap:10px;display:flex}.top-cta .phone{align-items:center;gap:8px;padding:10px 6px;font-size:15px;font-weight:600;text-decoration:none;display:flex}.top-cta .phone svg{width:16px;height:16px;color:var(--clay)}.top-cta .btn{padding:11px 20px;font-size:15px}.hero{padding-top:clamp(36px,6vw,72px)}.hero-grid{grid-template-columns:minmax(0,45fr) minmax(0,55fr);align-items:center;gap:clamp(32px,4.5vw,64px);display:grid}.hero h1{margin-bottom:24px;font-size:clamp(42px,4.8vw,70px)}.hero h1 em{color:var(--clay);font-style:normal}.hero-copy p{color:var(--granite-2);max-width:44ch;margin-bottom:28px;font-size:18.5px}.hero-copy .ctas{flex-wrap:wrap;gap:12px;display:flex}.hero-meta{border-top:1px solid var(--limestone);grid-template-columns:auto auto;justify-content:start;gap:10px 24px;margin-top:32px;padding-top:24px;display:grid}.hero-meta span{color:var(--ink-soft);align-items:center;gap:7px;font-size:14.5px;display:flex}.hero-meta svg{width:15px;height:15px;color:var(--loblolly)}.ba{border-radius:var(--r);background:var(--granite);-webkit-user-select:none;user-select:none;touch-action:pan-y;--pos:50%;position:relative;overflow:hidden}.ba img{object-fit:cover;pointer-events:none;width:100%;height:100%}.ba .before{clip-path:inset(0 calc(100% - var(--pos)) 0 0);position:absolute;inset:0}.ba .rule{top:0;bottom:0;left:var(--pos);pointer-events:none;background:#fff;width:3px;margin-left:-1.5px;position:absolute;box-shadow:0 0 0 1px #1c222626,0 0 24px #9cc3cfcc}.ba .grip{top:50%;left:var(--pos);background:var(--clay);color:#fff;pointer-events:none;border-radius:50%;place-items:center;width:54px;height:54px;transition:transform .2s;display:grid;position:absolute;transform:translate(-50%,-50%);box-shadow:0 6px 22px #1c222659}.ba .grip svg{width:26px;height:26px}.ba:hover .grip,.ba.dragging .grip{transform:translate(-50%,-50%)scale(1.08)}.ba .tag{font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;color:#fff;pointer-events:none;background:#1c2226b8;border-radius:999px;padding:7px 11px;font-size:12px;position:absolute;bottom:16px}.ba .tag.b{left:16px}.ba .tag.a{color:var(--granite);background:#ffffffe0;right:16px}.ba input[type=range]{opacity:0;cursor:ew-resize;-webkit-appearance:none;appearance:none;width:100%;height:100%;margin:0;position:absolute;inset:0}.ba:has(input:focus-visible){outline:3px solid var(--clay);outline-offset:3px}.hero-ba{aspect-ratio:1;width:100%;max-height:calc(100vh - 140px)}.hero-ba img{object-position:60% 50%}.hero-ba .hint{font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--granite);pointer-events:none;background:#ffffffe6;border-radius:999px;padding:8px 14px;font-size:12px;transition:opacity .4s;position:absolute;top:18px;left:50%;transform:translate(-50%)}.hero-ba.touched .hint{opacity:0}section{padding-block:clamp(72px,10vw,128px);scroll-margin-top:72px}.sec-head{flex-wrap:wrap;justify-content:space-between;align-items:end;gap:32px;margin-bottom:clamp(36px,5vw,56px);display:flex}.sec-head h2{max-width:16ch;font-size:clamp(34px,5vw,64px)}.sec-head p{max-width:44ch;color:var(--granite-2)}.services{grid-template-columns:1fr 1fr;gap:24px;display:grid}.svc{background:var(--paper);border-radius:var(--r);border:1px solid var(--limestone);flex-direction:column;display:flex;overflow:hidden}.svc-img{aspect-ratio:16/11;overflow:hidden}.svc-img img{object-fit:cover;width:100%;height:100%;transition:transform .8s}.svc:hover .svc-img img{transform:scale(1.03)}.svc-body{flex-direction:column;flex:1;padding:clamp(24px,3vw,38px);display:flex}.svc h3{margin:10px 0 12px;font-size:clamp(28px,3vw,38px)}.svc>.svc-body>p{color:var(--granite-2);margin-bottom:22px}.svc ul{border-top:1px solid var(--limestone);margin-bottom:28px;list-style:none}.svc li{border-bottom:1px solid var(--limestone);justify-content:space-between;gap:16px;padding:13px 0;font-weight:500;display:flex}.svc li span{color:var(--ink-soft);text-align:right;font-size:15px;font-weight:400}.svc .ctas{flex-wrap:wrap;gap:10px;margin-top:auto;display:flex}.svc.vent{background:var(--granite);color:#fff;border-color:var(--granite)}.svc.vent .label{color:var(--spray)}.svc.vent>.svc-body>p{color:#c9d1ce}.svc.vent ul,.svc.vent li{border-color:#ffffff24}.svc.vent li span{color:#aeb8b5}.warn{color:#f1ddd5;background:#b9532f29;border:1px solid #b9532f73;border-radius:10px;align-items:flex-start;gap:14px;margin-bottom:22px;padding:14px 16px;font-size:15px;display:flex}.warn svg{color:#e58a66;flex:none;width:20px;height:20px;margin-top:2px}.results{background:var(--granite);color:#fff}.results .sec-head p{color:#c9d1ce}.results .label{color:var(--spray)}.ba-grid{grid-template-columns:repeat(3,1fr);gap:20px;display:grid}.ba-grid figure .ba{aspect-ratio:4/3}.ba-grid figcaption{justify-content:space-between;gap:12px;margin-top:14px;font-weight:600;display:flex}.ba-grid figcaption span{font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;color:#aeb8b5;align-self:center;font-size:12px;font-weight:500}.seasons{border-top:2px solid var(--granite);grid-template-columns:repeat(4,1fr);display:grid}.season{border-right:1px solid var(--limestone);padding:26px 24px 8px 0;padding-left:24px}.season:first-child{padding-left:0}.season:last-child{border-right:0}.season .label{margin-bottom:10px;display:block}.season h3{font-family:var(--display);letter-spacing:-.01em;margin-bottom:8px;font-size:22px;font-weight:700;font-stretch:112%}.season p{color:var(--granite-2);font-size:15.5px}.season .fix{color:var(--clay);margin-top:12px;font-size:13.5px;font-weight:600;display:inline-block}.steps-wrap{background:var(--paper);border-block:1px solid var(--limestone)}.steps{counter-reset:s;grid-template-columns:repeat(3,1fr);gap:24px;display:grid}.step{padding-top:64px;position:relative}.step:before{counter-increment:s;content:counter(s);font-family:var(--display);color:var(--clay);font-size:44px;font-weight:800;font-stretch:125%;line-height:1;position:absolute;top:0;left:0}.step h3{margin-bottom:8px;font-size:21px;font-weight:600}.step p{color:var(--granite-2);font-size:16px}.areas{grid-template-columns:1.1fr 1fr;align-items:center;gap:clamp(32px,5vw,72px);display:grid}.map{background:var(--paper);border:1px solid var(--limestone);border-radius:var(--r);padding:12px}.map svg{width:100%;height:auto;display:block}.town-list{border-top:2px solid var(--granite);list-style:none}.town-list li{border-bottom:1px solid var(--limestone);justify-content:space-between;align-items:baseline;gap:16px;padding:18px 0;display:flex}.town-list b{font-family:var(--display);letter-spacing:-.01em;font-size:clamp(22px,2.4vw,28px);font-weight:700;font-stretch:118%}.town-list span{color:var(--ink-soft);text-align:right;font-size:15px}.areas .note{color:var(--granite-2);margin-top:20px}.faq{max-width:860px}.faq details{border-bottom:1px solid var(--limestone)}.faq details:first-of-type{border-top:2px solid var(--granite)}.faq summary{cursor:pointer;justify-content:space-between;align-items:center;gap:20px;padding:22px 0;font-size:19px;font-weight:600;list-style:none;display:flex}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:"+";font-family:var(--display);color:var(--clay);font-size:28px;font-weight:600;line-height:1;transition:transform .25s}.faq details[open] summary:after{transform:rotate(45deg)}.faq details p{color:var(--granite-2);max-width:68ch;padding:0 0 24px}.final{background:var(--clay);color:#fff;padding-block:clamp(64px,8vw,104px)}.final .wrap{flex-wrap:wrap;justify-content:space-between;align-items:end;gap:32px;display:flex}.final h2{max-width:14ch;font-size:clamp(38px,6vw,80px)}.final p{color:#fbe7df;max-width:44ch;margin-top:16px;font-size:18px}.final .ctas{flex-wrap:wrap;gap:12px;display:flex}.final .btn-white{color:var(--clay-deep);background:#fff}.final .btn-white:hover{background:var(--granite);color:#fff}footer{background:var(--granite);color:#aeb8b5;padding-block:56px calc(40px + env(safe-area-inset-bottom,0px));font-size:15px}footer .wrap{grid-template-columns:1.4fr 1fr 1fr;gap:40px;display:grid}footer .brand b{color:#fff}footer .brand small{color:#8c9794}footer h4{font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--spray);margin-bottom:14px;font-size:12px;font-weight:500}footer ul{gap:8px;list-style:none;display:grid}footer a{text-decoration:none}footer a:hover{color:#fff}footer .fine{color:#8c9794;border-top:1px solid #ffffff1a;grid-column:1/-1;padding-top:22px;font-size:13.5px}.dock{display:none}@media (width<=1020px){.nav{display:none}.hero-grid{grid-template-columns:1fr}.hero-ba{aspect-ratio:16/10}.hero-ba img{object-position:50% 50%}.services{grid-template-columns:1fr}.ba-grid{grid-template-columns:1fr 1fr}.ba-grid figure:last-child{grid-column:1/-1}.ba-grid figure:last-child .ba{aspect-ratio:16/9}.seasons{grid-template-columns:1fr 1fr}.season{border-right:0;border-bottom:1px solid var(--limestone);padding-bottom:22px;padding-left:0!important}.areas{grid-template-columns:1fr}}@media (width<=680px){body{padding-bottom:calc(76px + env(safe-area-inset-bottom,0px));font-size:16px}.top-cta{margin-left:auto}.top-cta .phone span,.top-cta .btn{display:none}.hero-ba{aspect-ratio:4/3}.hero-ba img{object-position:62% 50%}.hero-copy .ctas .btn{flex:1}.hero-meta,.ba-grid{grid-template-columns:1fr}.ba-grid figure:last-child .ba{aspect-ratio:4/3}.seasons{grid-template-columns:1fr}.steps{grid-template-columns:1fr;gap:36px}footer .wrap{grid-template-columns:1fr}.dock{z-index:60;padding:12px 16px calc(12px + env(safe-area-inset-bottom,0px));backdrop-filter:blur(8px);background:#1c2226f5;gap:10px;display:flex;position:fixed;bottom:0;left:0;right:0}.dock .btn{flex:1;padding:14px 12px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important;animation:none!important}}
