:root{--ink:#101418;--ink-soft:#2a323c;--slate:#3d4a57;--line:#d7dde5;--paper:#f7f8fa;--white:#fff;--accent:#c45c16;--accent-hover:#a34b12;--accent-soft:#fff1e6;--ok:#1f7a4c;--shadow:0 18px 40px #10141814;--radius:14px;--max:1120px;--font-display:"Barlow Condensed", "Arial Narrow", sans-serif;--font-body:"Source Sans 3", "Segoe UI", sans-serif}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth}body{color:var(--ink);background:var(--paper);font-family:var(--font-body);-webkit-font-smoothing:antialiased;margin:0;font-size:1.0625rem;line-height:1.55}img{max-width:100%;height:auto;display:block}a{color:inherit}h1,h2,h3{font-family:var(--font-display);letter-spacing:.01em;margin:0 0 .6em;font-weight:700;line-height:1.05}h1{text-transform:uppercase;font-size:clamp(2.6rem,7vw,4.4rem)}h2{text-transform:uppercase;font-size:clamp(2rem,4.5vw,3rem)}h3{text-transform:uppercase;font-size:1.55rem}p{margin:0 0 1em}p:last-child{margin-bottom:0}.wrap{width:min(100% - 2rem, var(--max));margin-inline:auto}.eyebrow{letter-spacing:.12em;text-transform:uppercase;color:var(--accent);margin-bottom:.75rem;font-size:.8rem;font-weight:700;display:inline-block}.lede{color:var(--slate);max-width:42rem;font-size:1.15rem}.btn{border:2px solid #0000;border-radius:999px;justify-content:center;align-items:center;gap:.5rem;min-height:3rem;padding:.75rem 1.25rem;font-weight:700;text-decoration:none;transition:transform .16s,background-color .16s,color .16s,border-color .16s;display:inline-flex}.btn:hover{transform:translateY(-1px)}.btn-primary{background:var(--accent);color:var(--white)}.btn-primary:hover{background:var(--accent-hover)}.btn-secondary{background:0 0;border-color:currentColor}.btn-row{flex-wrap:wrap;gap:.75rem;margin-top:1.5rem;display:flex}.site-header{z-index:40;backdrop-filter:blur(10px);border-bottom:1px solid var(--line);background:#f7f8faeb;position:sticky;top:0}.site-header .wrap{justify-content:space-between;align-items:center;gap:1rem;min-height:4.25rem;display:flex}.brand{font-family:var(--font-display);text-transform:uppercase;letter-spacing:.02em;font-size:1.35rem;font-weight:700;text-decoration:none}.brand span{color:var(--accent)}.nav{align-items:center;gap:1.1rem;display:none}.nav a{color:var(--ink-soft);font-size:.95rem;font-weight:600;text-decoration:none}.nav a:hover{color:var(--accent)}.header-phone{color:var(--ink);font-weight:800;text-decoration:none}.hero{isolation:isolate;color:var(--white);background:#101418;align-items:end;min-height:min(88vh,720px);display:grid;position:relative;overflow:hidden}.hero-photo{min-height:min(88vh,760px)}.hero-compact{min-height:min(62vh,520px)}.hero-media{object-fit:cover;object-position:center;z-index:-2;width:100%;height:100%;animation:12s ease-out both hero-zoom;position:absolute;inset:0;transform:scale(1.04)}.hero-scrim{z-index:-1;background:linear-gradient(115deg,#101418e0 12%,#1014188c 52%,#10141847),linear-gradient(#0000 58%,#1014188c);position:absolute;inset:0}.hero:after{content:"";background:linear-gradient(transparent, var(--paper));pointer-events:none;height:120px;position:absolute;inset:auto 0 0}.hero .wrap{padding:5.5rem 0 4rem;position:relative}.hero .lede{color:#ffffffd1}.hero-panel{max-width:38rem;animation:.7s both rise}.media-band{gap:0;display:grid}.media-band img{object-fit:cover;width:100%;height:min(52vh,460px)}.media-split{background:var(--ink);color:var(--white);gap:0;display:grid}.media-split img{object-fit:cover;width:100%;height:100%;min-height:280px}.media-split .copy{padding:3rem 1.5rem}.media-split .copy .lede{color:#ffffffc7}.figure-frame{border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}.figure-frame img{object-fit:cover;width:100%;height:100%;min-height:240px;transition:transform .5s}.figure-frame:hover img{transform:scale(1.03)}.trust-row{color:#ffffffc7;flex-wrap:wrap;gap:.6rem 1.25rem;margin-top:1.5rem;font-size:.95rem;font-weight:600;display:flex}.section{padding:4.5rem 0}.section-tight{padding:3rem 0}.section-dark{background:var(--ink);color:var(--white)}.section-dark .lede{color:#ffffffc7}.grid-3{gap:1rem;display:grid}.grid-2{gap:1.25rem;display:grid}.service-link{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);grid-template-rows:160px auto;text-decoration:none;transition:border-color .16s,transform .16s;display:grid;overflow:hidden}.service-link img{object-fit:cover;width:100%;height:160px;transition:transform .5s}.service-link-body{padding:1.2rem 1.15rem 1.3rem}.service-link:hover{border-color:var(--accent);transform:translateY(-2px)}.service-link:hover img{transform:scale(1.04)}.service-link h3{margin-bottom:.4rem}.service-link p{color:var(--slate)}.grid-4{gap:1rem;display:grid}.prose{max-width:44rem}.prose ul{padding-left:1.2rem}.prose li{margin-bottom:.45rem}.cta-band{background:var(--accent-soft);border-top:1px solid #f0d2b8;border-bottom:1px solid #f0d2b8}.cta-band .wrap{align-items:center;gap:1rem;display:grid}.town-list{flex-wrap:wrap;gap:.55rem;margin-top:1.25rem;display:flex}.town-list span{background:var(--white);border:1px solid var(--line);border-radius:999px;padding:.4rem .8rem;font-size:.92rem;font-weight:600}.form{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);max-width:36rem;box-shadow:var(--shadow);gap:.9rem;padding:1.25rem;display:grid}.form label{gap:.35rem;font-size:.92rem;font-weight:700;display:grid}.form input,.form select,.form textarea{border:1px solid var(--line);width:100%;font:inherit;background:var(--paper);border-radius:10px;padding:.75rem .85rem}.form textarea{resize:vertical;min-height:8rem}.site-footer{background:var(--ink);color:#ffffffd1;padding:3rem 0 2rem}.site-footer a{color:var(--white);text-decoration:none}.site-footer .wrap,.footer-grid{gap:1.5rem;display:grid}.footer-grid h3{color:var(--white);font-size:1.2rem}.footer-grid ul{margin:0;padding:0;list-style:none}.footer-grid li{margin-bottom:.4rem}.sticky-call{z-index:50;display:flex;position:fixed;bottom:.75rem;left:.75rem;right:.75rem}.sticky-call a{box-shadow:var(--shadow);flex:1;justify-content:center}.legal{color:var(--slate);font-size:.95rem}.faq-list{gap:.65rem;max-width:48rem;margin-top:1.25rem;display:grid}.faq-item{background:var(--white);border:1px solid var(--line);border-radius:12px;padding:.85rem 1rem}.faq-item summary{cursor:pointer;font-weight:700;list-style:none}.faq-item summary::-webkit-details-marker{display:none}.faq-item summary:after{content:"+";float:right;color:var(--accent);font-weight:800}.faq-item[open] summary:after{content:"–"}.faq-item p{color:var(--slate);margin:.75rem 0 0}.price-table{border:1px solid var(--line);border-radius:var(--radius);background:var(--white);box-shadow:var(--shadow);margin-top:1.35rem;overflow:hidden}.price-row{border-top:1px solid var(--line);gap:.35rem;padding:.95rem 1.1rem;display:grid}.price-row:first-child{border-top:0}.price-head{background:var(--paper);letter-spacing:.06em;text-transform:uppercase;color:var(--slate);font-size:.8rem;font-weight:800}.price-range{font-family:var(--font-display);color:var(--accent);font-size:1.35rem;font-weight:700}.price-note{color:var(--slate);font-size:.95rem}.related-links{flex-wrap:wrap;gap:.55rem;margin-top:1rem;display:flex}.related-links a{border:1px solid var(--line);background:var(--white);border-radius:999px;padding:.45rem .8rem;font-size:.92rem;font-weight:700;text-decoration:none}.related-links a:hover{border-color:var(--accent);color:var(--accent)}@keyframes rise{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@keyframes hero-zoom{0%{transform:scale(1.1)}to{transform:scale(1.04)}}@media (width>=800px){.nav{display:flex}.grid-3{grid-template-columns:repeat(3,1fr)}.grid-4{grid-template-columns:repeat(2,1fr)}.grid-2{grid-template-columns:1.1fr .9fr;align-items:start}.media-split{grid-template-columns:1.05fr .95fr;align-items:stretch}.media-split .copy{align-content:center;padding:4rem 3rem;display:grid}.cta-band .wrap{grid-template-columns:1.4fr auto}.footer-grid{grid-template-columns:1.4fr 1fr 1fr}.sticky-call{display:none}.service-link{grid-template-rows:180px auto}.service-link img{height:180px}.price-row{grid-template-columns:1.1fr .7fr 1.4fr;align-items:center;gap:1rem}}@media (width>=1024px){.grid-4{grid-template-columns:repeat(4,1fr)}}@media (prefers-reduced-motion:reduce){.hero-media,.service-link img,.figure-frame img,.hero-panel{transition:none;animation:none}}
