:root{--navy:#132e40;--orange:#f9821a;--ink:#202b33;--line:#132e402b;--soft:#f5f7f8;color-scheme:light}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;font:1rem/1.75 Arial,Helvetica,sans-serif;color:var(--ink);background:#fff}a{color:inherit;text-underline-offset:5px}a:hover{text-decoration-thickness:2px}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--orange);outline-offset:5px}img{max-width:100%;height:auto;display:block}.wrap{width:min(1280px,90%);margin-inline:auto}h1,h2,h3{font-family:Bahnschrift,'Arial Narrow',Arial,sans-serif;color:var(--navy);font-weight:700;line-height:1.12;text-transform:uppercase;overflow-wrap:break-word}h1{font-size:clamp(2.6rem,5.1vw,4.6rem);letter-spacing:-.025em;margin:20px 0 24px}h2{font-size:clamp(1.8rem,3vw,2.6rem);letter-spacing:-.02em;margin:0 0 25px}h3{font-size:1.35rem;margin:0 0 15px}p{margin:0 0 20px}ul{padding-left:22px}.eyebrow{font-size:.8rem;letter-spacing:.12em;font-weight:700;text-transform:uppercase;margin-bottom:18px}.eyebrow:before{content:'';display:inline-block;width:25px;height:3px;background:var(--orange);vertical-align:middle;margin-right:12px}.button{display:inline-flex;align-items:center;justify-content:center;padding:14px 23px;background:var(--orange);border:1px solid var(--orange);color:var(--navy);font:700 .9rem/1.5 Arial,sans-serif;text-decoration:none;cursor:pointer;min-height:48px}.button:hover{filter:brightness(.96)}.outline{background:transparent;border-color:currentColor}.text-link{display:inline-block;margin-top:20px;font-weight:700}.skip{position:absolute;left:12px;top:-100px;background:white;padding:15px;z-index:10}.skip:focus{top:10px}header{background:var(--navy);color:#fff}.header-row{display:flex;align-items:center;justify-content:space-between;gap:30px;padding-block:20px}.logo{width:185px;height:auto}.desktop{display:flex;align-items:center;gap:27px;font-size:.9rem}.desktop a{text-decoration:none}.desktop a:hover{text-decoration:underline}.mobile-nav{display:none}.trust{background:white;border-bottom:1px solid var(--line)}.trust-row{display:grid;grid-template-columns:180px repeat(5,minmax(0,1fr));align-items:center;gap:24px;padding-block:15px;min-height:104px}.trust p{font-size:.75rem;letter-spacing:.06em;text-transform:uppercase;line-height:1.5;margin:0}.trust img{width:145px;height:66px;object-fit:contain;margin:auto}.trust img:first-of-type{width:76px}.trust img:nth-of-type(3){width:120px}.home-hero{background:var(--navy);color:white;overflow:hidden}.home-hero>.wrap{position:relative;min-height:525px;display:flex;align-items:center;padding-block:65px}.hero-copy{position:relative;z-index:1;max-width:610px}.home-hero h1{color:white;font-size:clamp(3.4rem,5.8vw,5.3rem)}.home-hero .hero-photo{position:absolute;right:-5.55%;top:0;height:100%;width:74%;object-fit:cover;object-position:60% center}.home-hero>.wrap:after{content:'';position:absolute;inset:0 -6%;background:linear-gradient(90deg,var(--navy) 25%,#132e40b8 52%,#132e4010 100%)}.hero-copy{z-index:2}.lead{font-size:1.1rem;max-width:620px;line-height:1.8}.actions{display:flex;flex-wrap:wrap;gap:16px;margin:26px 0}.home-hero .outline{color:white}.facts{background:var(--orange);color:var(--navy)}.facts>.wrap{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;padding-block:25px}.facts p{display:flex;align-items:center;gap:18px;line-height:1.4;font-size:.95rem;margin:0}.facts strong{font:700 2.4rem/1 Bahnschrift,Arial,sans-serif}.section{padding-block:65px}.cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;border-left:1px solid var(--line);border-top:1px solid var(--line)}.card{min-width:0;border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:18px}.card>img{width:100%;height:180px;object-fit:cover}.card>div{padding-top:24px}.card h3 a{text-decoration:none}.card h3 a:hover{text-decoration:underline}.card p{font-size:.95rem;color:#485761}.card .text-link{margin-top:0;font-size:.9rem}.dark{background:var(--navy);color:#fff}.dark h2,.dark h3{color:white}.split{display:grid;grid-template-columns:1fr 1fr;gap:75px;align-items:center}.split>img{width:100%;height:440px;object-fit:cover}.checks{list-style:none;padding:0}.checks li{border-bottom:1px solid #ffffff30;padding:10px 0}.checks li:before{content:'✓';color:var(--orange);margin-right:13px}.project-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:28px}.project-grid img{width:100%;height:320px;object-fit:cover}.soft{background:var(--soft)}.breadcrumbs{font-size:.85rem;padding-block:18px;display:flex;flex-wrap:wrap;gap:10px}.page-hero{background:var(--navy);color:white}.page-hero>.wrap{display:flex;align-items:center;justify-content:space-between;gap:55px;padding-block:48px}.page-hero>.wrap>div{flex:1;min-width:0}.page-hero h1{color:#fff}.page-hero img{width:39%;height:330px;object-fit:cover}.prose{max-width:1060px;border-bottom:1px solid var(--line)}.prose>p,.legal p,.legal ul{max-width:850px}.steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px}.steps article{border-top:3px solid var(--orange);padding-top:23px}.steps p{font-size:1rem}.prose details{border-bottom:1px solid var(--line);padding-block:18px}.prose summary{font-weight:700;font-size:1.05rem;cursor:pointer;line-height:1.5}.prose details p{margin-top:15px;margin-bottom:0}.related{display:flex;flex-wrap:wrap;gap:15px;margin-top:25px}.towns{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;list-style:none;padding:0;margin:30px 0}.towns li{border-bottom:1px solid var(--line);padding:10px 0}.prose h2:not(:first-child){margin-top:45px}.gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}.gallery-grid figure{margin:0}.gallery-grid img{height:350px;width:100%;object-fit:cover}.gallery-grid figcaption{font-size:.9rem;padding-block:15px}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px}.contact-grid h2{font-size:1.75rem;margin-top:25px}.contact-grid h2:first-child{margin-top:0}label{display:block;font-weight:700;margin-bottom:8px}input,select,textarea{font:inherit;display:block;width:100%;border:1px solid #7c8a92;background:white;padding:12px;margin-bottom:22px;border-radius:0}textarea{resize:vertical}input:focus,select:focus,textarea:focus{outline:2px solid var(--navy);outline-offset:2px}#form-status{margin-top:15px}.legal a,.contact-grid a{overflow-wrap:anywhere}.cta{background:var(--orange);color:var(--navy)}.cta>.wrap{display:flex;align-items:center;justify-content:space-between;gap:40px;padding-block:45px}.cta h2{margin-bottom:15px}.cta p{max-width:750px;margin-bottom:0}.cta .eyebrow{margin-bottom:12px}.cta .eyebrow:before{background:var(--navy)}.cta .button{background:var(--navy);color:#fff;white-space:nowrap}footer{background:var(--navy);color:#fff;font-size:.9rem}.footer-grid{display:grid;grid-template-columns:1.3fr .8fr 1fr;gap:45px;padding-block:45px}.footer-grid p{margin-top:13px}.footer-grid a{overflow-wrap:anywhere}.footer-grid nav a{display:block;margin-bottom:8px}.copyright{border-top:1px solid #ffffff30;padding-block:18px;font-size:.8rem}dialog{max-width:95vw;max-height:95vh;padding:15px;border:0}dialog::backdrop{background:#000c}dialog img{max-height:78vh;width:auto;max-width:88vw}dialog button{margin:0 0 12px auto;display:block} @media(max-width:1000px){.desktop{gap:16px}.desktop>a:nth-child(3),.desktop>a:nth-child(4){display:none}.trust-row{grid-template-columns:130px repeat(5,minmax(0,1fr));gap:15px}.cards{grid-template-columns:repeat(2,minmax(0,1fr))}.hero-copy{max-width:55%}.home-hero h1{font-size:3.8rem}.split{gap:35px}.steps{gap:20px}}@media(max-width:700px){.wrap{width:88%}.header-row{padding-block:14px}.logo{width:150px}.desktop{display:none}.mobile-nav{display:block}.mobile-nav summary{cursor:pointer;padding:9px 14px;border:1px solid #ffffff60}.mobile-nav nav{position:absolute;z-index:5;left:0;right:0;background:var(--navy);padding:20px 6%;border-top:1px solid #ffffff40}.mobile-nav nav a{display:block;padding:9px 0}.trust-row{grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;padding-block:12px}.trust p{grid-column:1/-1;text-align:center;font-size:.75rem}.trust p br{display:none}.trust img{height:43px}.trust img:first-of-type{width:45px}.home-hero>.wrap{min-height:460px;padding-block:45px}.hero-copy{max-width:100%}.home-hero h1{font-size:3.3rem}.home-hero .hero-photo{width:115%;opacity:.35}.home-hero>.wrap:after{background:linear-gradient(90deg,#132e40db,#132e4030)}.lead{font-size:1rem}.facts>.wrap{gap:16px}.facts p{display:block;font-size:.85rem}.facts strong{display:block;font-size:1.9rem;margin-bottom:10px}.section{padding-block:40px}.card{padding:14px}.card>img{height:140px}.card h3{font-size:1.15rem}.card p{font-size:.9rem}.card>div{padding-top:18px}.split{grid-template-columns:1fr}.split>img{height:330px}.project-grid,.gallery-grid{grid-template-columns:1fr}.project-grid img{height:300px}.page-hero>.wrap{display:block;padding-block:35px}.page-hero img{width:100%;height:260px;margin-top:25px}.steps{grid-template-columns:1fr;gap:18px}.towns{grid-template-columns:1fr 1fr}.contact-grid{grid-template-columns:1fr;gap:40px}.cta>.wrap{display:block}.cta .button{margin-top:24px}.footer-grid{grid-template-columns:1fr;gap:30px}.actions .button{font-size:.85rem;padding:13px 17px}h1{font-size:2.6rem}.related{display:block}.related a{margin:0 10px 12px 0}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}@media print{header,.trust,.cta,.mobile-nav,.button{display:none}.home-hero,.page-hero,.dark,footer{background:white;color:black}.home-hero h1,.page-hero h1,.dark h2{color:black}.home-hero>.wrap:after{display:none}.hero-photo{display:none}.hero-copy{max-width:100%}.section{padding-block:20px}}

/* Extra image coverage prevents gaps during the subtle hero parallax. */
@media (prefers-reduced-motion: no-preference) {
  .home-hero .hero-photo.parallax-image { top: -140px; height: calc(100% + 280px); }
}
@media print {
  .home-hero .hero-photo.parallax-image { transform: none !important; }
}


/* Clear emergency contact route on desktop and mobile. */
.emergency-strip { background: #f9821a; color: #132e40; }
.emergency-strip .wrap { display: flex; align-items: center; flex-wrap: wrap; gap: 10px 25px; padding-block: 12px; font-size: .9rem; }
.emergency-strip p { margin: 0; flex: 1 1 400px; }
.emergency-strip a { font-weight: 700; padding-block: 5px; }
@media (max-width: 700px) { .emergency-strip .wrap { gap: 3px 20px; } .emergency-strip p { flex-basis: 100%; } }



/* Art-directed hero photography: landscape desktop, portrait phone. */
.home-hero picture.hero-photo { display: block; }
.home-hero picture.hero-photo > img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: 60% center; }
@media (max-width: 700px) {
  .home-hero picture.hero-photo { width: 114%; opacity: .55; }
  .home-hero picture.hero-photo > img { object-position: 50% 52%; }
}
@media (max-width: 700px) and (prefers-reduced-motion: no-preference) {
  .home-hero .hero-photo.parallax-image { top: -100px; height: calc(100% + 200px); }
}

