:root{--ink:#123d3a;--teal:#087e82;--coral:#b93c2e;--yellow:#ffcc4d;--cream:#fffaf0;--muted:#4b6462;--line:#dbe7e4}*{box-sizing:border-box}body{margin:0;color:var(--ink);font:17px/1.65 Arial,Helvetica,sans-serif;background:#fff}a{color:inherit;text-underline-offset:4px}img{display:block;width:100%;height:100%;object-fit:cover}h1,h2,h3,p{margin-top:0}h1,h2{font-family:Georgia,'Times New Roman',serif;font-weight:500;line-height:1.07;letter-spacing:-.045em}h1{font-size:clamp(44px,6.4vw,92px);margin-bottom:25px}h2{font-size:clamp(34px,4vw,57px);margin-bottom:25px}h3{font-size:22px;line-height:1.25;letter-spacing:-.025em}p{margin-bottom:22px}.wrap{width:min(1240px,90%);margin:auto}.narrow{max-width:820px}.section{padding-top:90px;padding-bottom:90px}.eyebrow{text-transform:uppercase;letter-spacing:.15em;font-size:12px;font-weight:800;display:block;margin-bottom:22px;line-height:1.6}.topline{background:var(--teal);color:#fff;padding:9px 5%;font-size:11px;font-weight:700;letter-spacing:.12em;display:flex;justify-content:space-between}.topline span{font-weight:400;letter-spacing:.04em}header{background:#fff;border-bottom:1px solid var(--line)}.header-inner{display:flex;align-items:center;justify-content:space-between;gap:25px;padding-block:22px}.brand{display:flex;align-items:center;gap:11px;text-decoration:none;font-size:16px;letter-spacing:.03em;font-weight:800;line-height:1.4}.brand svg{width:58px;height:58px;flex-shrink:0}.brand small{display:block;letter-spacing:.22em;font-size:11px;font-weight:700;color:var(--teal)}nav{display:flex;gap:25px;align-items:center;font-size:14px;font-weight:700}nav a{text-decoration:none}nav a:hover{text-decoration:underline}.nav-cta{background:var(--ink);color:white;padding:13px 18px;border-radius:4px}.hero{display:grid;grid-template-columns:1fr 1fr;min-height:690px;background:var(--cream)}.hero-copy{padding:70px max(35px,calc((100vw - 1240px)/2));padding-right:50px}.hero h1{font-size:clamp(58px,6.7vw,98px)}.hero em{color:var(--teal);font-weight:400}.hero p{font-size:18px;max-width:470px}.hero-photo{position:relative;min-height:640px;overflow:hidden}.hero-photo>img{position:absolute;inset:0;object-position:50% 50%}.photo-note{position:absolute;bottom:35px;left:35px;background:var(--yellow);padding:25px 30px;transform:rotate(-3deg);box-shadow:0 8px 18px #123d3a22}.photo-note span{font-size:11px;letter-spacing:.1em;text-transform:uppercase;display:block}.photo-note b{display:block;font-family:Georgia,serif;font-size:29px;font-weight:400;line-height:1.15;margin-block:10px}.photo-note small{font-size:10px}.button{background:var(--coral);color:white;display:inline-flex;gap:22px;align-items:center;justify-content:center;padding:16px 23px;text-decoration:none;font:700 15px/1.5 Arial;border:0;border-radius:4px;cursor:pointer}.button:hover{background:#962d22;transform:translateY(-1px)}.button span{font-size:22px}.textlink{display:block;font-size:14px;font-weight:700;margin-top:20px}.hero-foot{font-size:10px;letter-spacing:.1em;margin-top:40px}.ribbon{display:flex;justify-content:space-evenly;gap:20px;flex-wrap:wrap;background:var(--yellow);padding:19px 5%;font-family:Georgia,serif;font-size:22px}.ribbon span:before{content:'✳';padding-right:13px;color:var(--teal)}.section-head{display:flex;justify-content:space-between;gap:45px;align-items:end;margin-bottom:35px}.section-head>div{flex:1}.section-head>p{max-width:420px;color:var(--muted)}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.service{display:block;text-decoration:none;border:1px solid var(--line);border-radius:7px;overflow:hidden;transition:box-shadow .15s}.service:hover{box-shadow:0 10px 25px #123d3a16}.service img{height:240px}.service>div{padding:26px}.service span{font-size:12px;color:var(--teal);font-weight:700}.service h3{margin-block:10px 15px}.service p{font-size:15px;color:var(--muted)}.service b{font-size:13px}.split-section{display:grid;grid-template-columns:1fr 1fr;background:#e7f5f0}.split-section>div:first-child{min-height:530px}.split-copy{padding:70px max(5vw,40px)}.checklist{padding:0;list-style:none}.checklist li{padding:13px 0 13px 28px;border-bottom:1px solid var(--line);position:relative}.checklist li:before{content:'✓';position:absolute;left:0;color:var(--teal);font-weight:700}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;margin-top:45px}.steps span{display:flex;background:var(--yellow);border-radius:50%;width:60px;height:60px;align-items:center;justify-content:center;font-family:Georgia,serif;font-size:26px;margin-bottom:25px}.steps p{color:var(--muted)}.communities{background:var(--cream)}.area-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.area-grid>a{background:white;text-decoration:none;padding:27px;border:1px solid var(--line);border-top:4px solid var(--teal);border-radius:5px}.area-grid>a:nth-child(3n+2){border-top-color:var(--coral)}.area-grid>a:nth-child(3n){border-top-color:#b88700}.area-grid>a:hover{background:#e7f5f0}.area-grid span{text-transform:uppercase;font-size:10px;letter-spacing:.08em;font-weight:700;color:var(--muted)}.area-grid h3{margin:12px 0}.area-grid p{font-size:14px;color:var(--muted)}.area-grid b{font-size:12px}.faq{margin-top:35px}.faq details{border-top:1px solid var(--line);padding:22px 0}.faq details:last-child{border-bottom:1px solid var(--line)}summary{cursor:pointer;font-weight:700}details p{padding-top:18px;color:var(--muted);margin-bottom:0}.cta{padding:80px 0;background:var(--teal);color:white;text-align:center}.cta h2{font-size:clamp(45px,5vw,70px)}.cta .button{background:var(--yellow);color:var(--ink)}footer{background:#123d3a;color:#edf8f3;padding:65px 0 25px}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:50px}footer h3{font-size:15px;color:var(--yellow)}footer a{display:block;font-size:14px;margin-bottom:12px}footer .footbrand{font-family:Georgia,serif;font-size:28px;line-height:1.15;text-decoration:none}footer p{font-size:14px;color:#bdd6cf;margin-top:20px}.fine{border-top:1px solid #ffffff30;margin-top:35px;padding-top:25px;font-size:11px;color:#bdd6cf;line-height:1.8}.page-intro{background:var(--cream);padding:75px 0}.page-intro h1{max-width:1000px}.lead{font-size:21px;max-width:780px;color:var(--muted)}.detail-split{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}.detail-split img{height:480px;border-radius:6px}.caption{font-size:12px;color:var(--muted);margin-top:12px}.soft{background:#e7f5f0}.gallery{display:grid;grid-template-columns:1fr 1fr;gap:35px}.gallery figure{margin:0}.gallery figure:first-child{grid-column:1/-1}.gallery img{height:380px;border-radius:6px}.gallery figure:first-child img{height:570px}.gallery figcaption{padding:22px 0}.gallery h2{font-size:28px;margin-bottom:10px}.gallery p{font-size:15px;color:var(--muted)}.form-layout{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:start}.form-layout h1{font-size:clamp(40px,5vw,70px)}.form-layout img{height:300px;border-radius:6px;margin-top:30px}.form-card{border:1px solid var(--line);border-top:5px solid var(--teal);padding:32px;border-radius:6px;box-shadow:0 10px 30px #123d3a0c}.form-card h2{font-size:32px}.notice{background:#fff3c9;border-left:3px solid #ba8800;padding:17px;font-size:14px;margin-bottom:20px}fieldset{padding:0;border:0;margin:0;min-width:0}label{display:block;font-size:13px;font-weight:700;margin-bottom:17px}input,select,textarea{display:block;width:100%;padding:13px;margin-top:7px;border:1px solid #a8bcb7;border-radius:4px;background:#fff;color:var(--ink);font:16px Arial;min-width:0}input:disabled,select:disabled,textarea:disabled{background:#f4f6f5}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.consent{display:flex;align-items:start;gap:10px;font-size:12px;font-weight:400}.consent input{width:18px;flex-shrink:0;margin-top:3px}.honeypot{display:none}button:disabled{opacity:.55;cursor:not-allowed}.skip{position:absolute;left:10px;top:-100px;z-index:20;background:white;padding:10px}.skip:focus{top:10px}:focus-visible{outline:3px solid #b93c2e;outline-offset:4px}.mobile-menu{display:none}
@media(min-width:1500px){.hero-copy{padding-left:max(6vw,calc((100vw - 1240px)/2))}}@media(max-width:1050px){nav{gap:15px;font-size:12px}.brand{font-size:13px}.hero-copy{padding:50px 6vw}.hero h1{font-size:70px}.service-grid{gap:18px}.service>div{padding:20px}.service h3{font-size:20px}.service img{height:200px}}@media(max-width:800px){nav{display:none}.mobile-menu{display:block;position:relative}.mobile-menu summary{list-style:none;background:var(--ink);color:white;padding:10px 15px;border-radius:4px;font-size:13px}.mobile-menu a{display:block;padding:10px 5px;background:white}.mobile-menu[open]{position:absolute;right:5%;top:70px;z-index:10;background:white;padding:15px;box-shadow:0 10px 30px #123d3a22}.hero{grid-template-columns:1fr}.hero-copy{padding:45px 6vw}.hero h1{font-size:74px}.hero-photo{min-height:480px}.hero-foot{margin-top:25px}.hero p{max-width:570px}.topline span{display:none}.section{padding-block:60px}.section-head{display:block}.section-head>p{max-width:none}.service-grid,.area-grid{grid-template-columns:1fr 1fr}.split-section,.detail-split,.form-layout{grid-template-columns:1fr}.split-section>div:first-child{min-height:350px}.split-section>div:first-child img{height:400px}.split-copy{padding:45px 6vw}.steps{gap:25px}.steps h3{font-size:20px}.steps p{font-size:15px}.footer-grid{grid-template-columns:1fr 1fr}.footer-grid>div:first-child{grid-column:1/-1}.detail-split{gap:35px}.page-intro{padding:50px 0}.form-layout{gap:30px}.gallery img,.gallery figure:first-child img{height:300px}.ribbon{justify-content:start;font-size:18px;gap:10px}.ribbon span{display:block;width:100%}}@media(max-width:500px){.hero h1{font-size:64px}.hero-photo{min-height:380px}.hero-copy p{font-size:16px}.photo-note{left:22px;bottom:22px;padding:18px 23px}.photo-note b{font-size:24px}.service-grid,.area-grid,.steps,.gallery{grid-template-columns:1fr}.service img{height:250px}.steps{gap:20px}.steps article{border-bottom:1px solid var(--line);padding-bottom:15px}.steps span{float:left;margin-right:20px}.steps h3{padding-top:13px}.steps p{clear:both;padding-top:12px}.brand svg{width:45px;height:45px}.brand{font-size:12px}.brand small{font-size:9px}.header-inner{padding-block:17px}.detail-split img{height:320px}.form-card{padding:22px}.form-row{grid-template-columns:1fr;gap:0}.gallery figure:first-child{grid-column:auto}.footer-grid{gap:25px}.lead{font-size:18px}.page-intro h1{font-size:44px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;transform:none!important}}

.topline .site-phone{color:inherit;display:inline-block;font-weight:800;margin-left:1rem;text-decoration:underline;white-space:nowrap}@media(max-width:800px){.topline .site-phone{display:block;margin:.35rem 0 0}}

/* Larger, easier-to-read site header on every page. */
.topline{padding:12px 4%;font-size:14px;gap:20px;align-items:center;letter-spacing:.08em}
.topline .site-phone{font-size:22px;letter-spacing:.04em}
.header-inner{width:min(1440px,92%);min-height:144px;padding-block:25px;gap:30px}
.brand{font-size:23px;gap:16px;white-space:nowrap}
.brand svg{width:86px;height:86px}
.brand small{font-size:15px}
nav{font-size:18px;gap:26px;white-space:nowrap}
.nav-cta{padding:17px 23px}
@media(max-width:1200px){
  header{position:relative}
  nav{display:none}
  .mobile-menu{display:block;position:relative}
  .mobile-menu summary{list-style:none;background:var(--ink);color:white;padding:12px 18px;border-radius:4px;font-size:17px;cursor:pointer}
  .mobile-menu a{display:block;padding:12px 8px;background:white;font-size:17px}
  .mobile-menu[open]{position:absolute;right:4%;top:24px;z-index:10;min-width:210px;background:white;padding:15px;box-shadow:0 10px 30px #123d3a22}
  .topline span{display:none}
}
@media(max-width:800px){
  .topline{display:block;text-align:center;padding:11px 4%;font-size:12px}
  .topline .site-phone{display:block;font-size:21px;margin:3px 0 0}
  .header-inner{min-height:118px;padding-block:22px;gap:15px}
  .brand{font-size:20px;gap:12px}
  .brand svg{width:72px;height:72px}
  .brand small{font-size:13px}
}
@media(max-width:500px){
  .header-inner{width:94%;min-height:110px;gap:10px}
  .brand{font-size:16px;gap:9px;letter-spacing:0}
  .brand svg{width:60px;height:60px}
  .brand small{font-size:11px;letter-spacing:.18em}
  .mobile-menu summary{font-size:15px;padding:11px 12px}
}
@media(max-width:350px){
  .brand{font-size:14px;gap:7px}
  .brand svg{width:52px;height:52px}
  .brand small{font-size:10px}
}

/* Phone options beside inquiry actions and throughout page content. */
.inquiry-actions{display:flex;flex-wrap:wrap;gap:14px;align-items:center}
.call-button{background:var(--ink);color:#fff;font-size:19px;letter-spacing:.01em;white-space:nowrap}
.call-button:hover{background:#087e82}
.intro-call{margin-top:24px;margin-bottom:0}
.intro-call a{font-size:22px;font-weight:800;color:var(--teal);white-space:nowrap}
.cta-call{margin-top:20px}
.cta .call-button{background:#fff;color:var(--ink)}
.cta .call-button:hover{background:var(--cream)}
.call-strip{background:var(--cream);padding:42px 0;border-top:1px solid var(--line)}
.call-strip>.wrap{display:flex;align-items:center;justify-content:space-between;gap:24px}
.call-strip h2{font-size:32px;letter-spacing:-.025em;margin-bottom:10px}
.call-strip p{margin-bottom:0}
@media(max-width:650px){.call-strip>.wrap{flex-direction:column;align-items:flex-start}.inquiry-actions .button{width:100%}.call-button{font-size:19px}.intro-call a{font-size:21px}}
