
:root{--navy:#0b2b4d;--navy2:#153f67;--gold:#c99b37;--gold2:#e8c66e;--ink:#172a3d;--muted:#607186;--line:#e1e8ef;--soft:#f5f8fb;--white:#fff;--shadow:0 16px 44px rgba(11,43,77,.10);--radius:20px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:#fff;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.65}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.container{width:min(1160px,calc(100% - 40px));margin:auto}.topbar{background:var(--navy);color:#e8eef5;font-size:.84rem}.topbar .container{min-height:37px;display:flex;justify-content:space-between;align-items:center;gap:16px}.topbar strong{color:var(--gold2)}header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.97);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}.nav{min-height:82px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand img{width:190px;max-height:65px;object-fit:contain}.navlinks{display:flex;align-items:center;gap:20px;font-size:.9rem;font-weight:700;color:#334155}.navlinks a:hover,.navlinks a.active{color:#a87920}.nav-actions{display:flex;gap:9px;align-items:center}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid transparent;border-radius:999px;padding:11px 18px;font-size:.9rem;font-weight:800;cursor:pointer;transition:.2s}.btn:hover{transform:translateY(-2px)}.primary{background:var(--navy);color:white;box-shadow:0 7px 18px #0b2b4d24}.primary:hover{background:var(--navy2)}.gold{background:linear-gradient(135deg,var(--gold2),var(--gold));color:#172a3d}.outline{border-color:#cbd5e1;color:var(--navy);background:white}.menu-toggle{display:none;background:white;border:1px solid var(--line);border-radius:10px;padding:8px 12px;font-size:1.2rem;color:var(--navy)}.hero{background:radial-gradient(ellipse at 90% 0%,#c99b3724,transparent 34%),linear-gradient(135deg,#f6f9fc,#fff 62%,#f6f8fb);padding:76px 0 68px;position:relative;overflow:hidden}.hero-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:50px;align-items:center}.eyebrow{font-size:.76rem;text-transform:uppercase;letter-spacing:.14em;font-weight:900;color:var(--navy2);display:inline-flex;align-items:center;gap:9px}.eyebrow:before{content:"";width:26px;height:2px;background:var(--gold)}h1{font-size:clamp(2.55rem,4.7vw,4.45rem);line-height:1.05;letter-spacing:-.055em;color:var(--navy);margin:17px 0 18px}h1 span,.gold-text{color:var(--gold)}.hero p,.lead{font-size:1.08rem;color:#526479;max-width:650px}.hero-buttons{display:flex;gap:12px;flex-wrap:wrap;margin-top:26px}.hero-card{padding:22px;background:white;border:1px solid var(--line);border-radius:25px;box-shadow:var(--shadow)}.hero-card img{width:100%;border-radius:12px}.hero-note{background:var(--soft);padding:14px 16px;border-radius:14px;margin-top:14px;color:var(--navy);font-weight:750}.trust-strip{background:var(--navy);color:#fff}.trust-grid{display:grid;grid-template-columns:repeat(3,1fr)}.trust-item{padding:20px;display:flex;align-items:center;gap:13px;border-right:1px solid #ffffff20}.trust-item:last-child{border:0}.trust-icon{width:42px;height:42px;border-radius:13px;background:#ffffff12;color:var(--gold2);display:grid;place-items:center;font-size:1.3rem;flex-shrink:0}.trust-item strong{display:block}.trust-item small{color:#c7d4e1}.section{padding:76px 0}.section.soft{background:var(--soft)}.section-head{max-width:760px;text-align:center;margin:0 auto 38px}.section-head h2{font-size:clamp(1.9rem,3.4vw,2.9rem);line-height:1.13;letter-spacing:-.045em;color:var(--navy);margin:12px 0}.section-head p{color:var(--muted);margin:0;font-size:1.03rem}.grid{display:grid;gap:18px}.service-grid{grid-template-columns:repeat(4,1fr)}.card{border:1px solid var(--line);border-radius:18px;background:#fff;padding:23px;transition:.2s}.card:hover{transform:translateY(-4px);box-shadow:var(--shadow);border-color:#d6b45e}.service-icon{width:54px;height:54px;border-radius:16px;display:grid;place-items:center;font-size:1.65rem;margin-bottom:15px}.blue{background:#e7f4ff;color:#0877c9}.green{background:#e8f7ec;color:#278548}.red{background:#fff0f0;color:#d8323d}.teal{background:#e5f8fa;color:#0b8ca1}.gray{background:#edf1f5;color:#526273}.purple{background:#f0eaff;color:#6941b6}.card h3{margin:0 0 8px;color:var(--navy);font-size:1.12rem;line-height:1.3}.card p{margin:0;color:var(--muted);font-size:.93rem}.card-link{display:inline-flex;margin-top:16px;color:#9a6b13;font-weight:850;font-size:.9rem}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:22px}.feature-panel{padding:32px;border-radius:var(--radius);background:white;border:1px solid var(--line)}.feature-panel h2,.feature-panel h3{color:var(--navy);line-height:1.2}.feature-panel h2{font-size:2rem;letter-spacing:-.04em;margin:12px 0}.checklist{list-style:none;padding:0;margin:18px 0 25px;display:grid;gap:10px}.checklist li{display:flex;gap:10px;color:#334155}.checklist li:before{content:"✓";width:22px;height:22px;display:grid;place-items:center;flex:0 0 22px;background:#e8f7ec;color:#238446;border-radius:50%;font-weight:900;font-size:.8rem;margin-top:2px}.steps{grid-template-columns:repeat(3,1fr)}.step{padding:23px;border-left:3px solid var(--gold);background:linear-gradient(90deg,#f9fbfd,#fff)}.step small{font-weight:900;color:#a87920;letter-spacing:.13em}.step h3{color:var(--navy);margin:8px 0}.step p{color:var(--muted);margin:0;font-size:.94rem}.cta{padding:0 0 76px}.cta-box{background:linear-gradient(120deg,var(--navy),#174b77);border-radius:26px;padding:42px 46px;color:#fff;display:flex;justify-content:space-between;align-items:center;gap:26px}.cta-box h2{margin:0 0 8px;font-size:clamp(1.8rem,3vw,2.6rem);line-height:1.15;letter-spacing:-.04em}.cta-box p{margin:0;color:#d4e0ec;max-width:700px}.cta-actions{display:flex;gap:10px;flex-wrap:wrap;flex-shrink:0}.faq-list{max-width:850px;margin:auto;display:grid;gap:12px}details{padding:18px 20px;border:1px solid var(--line);border-radius:14px;background:white}summary{font-weight:800;color:var(--navy);cursor:pointer}details p{color:var(--muted);margin:10px 0 0}.page-hero{padding:58px 0;background:radial-gradient(ellipse at 85% 0%,#c99b3722,transparent 35%),var(--soft);border-bottom:1px solid var(--line)}.page-hero h1{font-size:clamp(2.4rem,4vw,3.8rem);max-width:850px}.breadcrumbs{font-size:.84rem;color:var(--muted);margin-bottom:14px}.breadcrumbs a{color:var(--navy);font-weight:700}.content-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:38px;align-items:start}.prose h2{color:var(--navy);margin-top:32px;line-height:1.2;letter-spacing:-.03em}.prose p,.prose li{color:#526479}.sidebar{background:var(--soft);border:1px solid var(--line);padding:24px;border-radius:18px;position:sticky;top:110px}.sidebar h3{color:var(--navy);margin-top:0}.sidebar .btn{width:100%;margin-top:8px}.service-list{display:grid;gap:8px}.service-list a{padding:9px 10px;border-radius:9px;color:#3b4b5d;font-weight:700;font-size:.9rem}.service-list a:hover{background:#fff;color:#9a6b13}.form{display:grid;gap:15px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.field{display:grid;gap:6px}.field label{font-weight:750;color:var(--navy);font-size:.9rem}.field input,.field select,.field textarea{width:100%;padding:12px 13px;border:1px solid #cbd5e1;border-radius:11px;background:white;font:inherit;color:var(--ink)}.field textarea{min-height:120px;resize:vertical}.field input:focus,.field select:focus,.field textarea:focus{outline:3px solid #c99b372e;border-color:var(--gold)}.form-note{font-size:.82rem;color:var(--muted)}.notice{padding:14px 16px;background:#fff8e7;border:1px solid #f0dca5;border-radius:12px;color:#654d1c;font-size:.9rem}.footer{background:#071e35;color:#d7e1eb;padding:48px 0 22px}.footer-grid{display:grid;grid-template-columns:1.3fr .7fr .9fr;gap:35px;padding-bottom:30px}.footer-logo{width:215px;background:white;border-radius:10px;padding:6px;margin-bottom:14px}.footer p{color:#aebdcb;max-width:440px;font-size:.9rem}.footer h4{margin:0 0 12px;color:#fff}.footer-links{display:grid;gap:8px;font-size:.9rem;color:#bac9d8}.footer-links a:hover{color:var(--gold2)}.legal{border-top:1px solid #ffffff1c;padding-top:18px;color:#8fa2b5;font-size:.78rem;display:flex;justify-content:space-between;gap:15px;flex-wrap:wrap}.mobile-only{display:none}
@media(max-width:1050px){.navlinks{gap:12px;font-size:.82rem}.brand img{width:155px}.nav-actions .outline{display:none}.service-grid{grid-template-columns:repeat(3,1fr)}.hero-grid{gap:28px}}
@media(max-width:780px){.topbar .container{justify-content:center;text-align:center}.topbar .container span:last-child{display:none}.nav{min-height:72px}.brand img{width:155px}.menu-toggle{display:block}.navlinks{display:none;position:absolute;top:72px;left:0;right:0;padding:18px 22px;background:white;border-bottom:1px solid var(--line);align-items:stretch;flex-direction:column;gap:13px}.navlinks.open{display:flex}.nav-actions .btn{padding:9px 12px;font-size:.8rem}.hero{padding:48px 0}.hero-grid,.two-col,.content-layout{grid-template-columns:1fr}.hero-card{max-width:550px;margin:auto}.trust-grid{grid-template-columns:1fr}.trust-item{border-right:0;border-bottom:1px solid #ffffff20}.trust-item:last-child{border-bottom:0}.section{padding:60px 0}.service-grid{grid-template-columns:repeat(2,1fr)}.steps{grid-template-columns:1fr}.cta-box{flex-direction:column;align-items:flex-start;padding:30px 25px}.sidebar{position:static}.footer-grid{grid-template-columns:1fr 1fr}.footer-grid>div:first-child{grid-column:1/-1}.form-grid{grid-template-columns:1fr}}
@media(max-width:430px){.container{width:calc(100% - 28px)}.brand img{width:125px}.nav-actions .btn{padding:8px 9px}.hero h1{font-size:2.5rem}.service-grid{gap:10px}.card{padding:17px}.footer-grid{grid-template-columns:1fr}.footer-grid>div:first-child{grid-column:auto}.cta-actions{width:100%}.cta-actions .btn{width:100%}}
/* Contractor account pages and right-aligned account navigation. */
.auth-link{font-weight:750;font-size:.88rem;white-space:nowrap}.auth-link:hover{color:#a87920}.auth-divider{color:var(--muted)}.auth-card{max-width:640px;margin:auto}.auth-title{font-size:clamp(1.5rem,3vw,2rem);line-height:1.2}.auth-card p a,.auth-card label a{color:#855d12;text-decoration:underline}.auth-card dd{margin:0 0 14px;overflow-wrap:anywhere}.auth-card dt{font-weight:750}.logout-form{margin-top:24px}
@media(max-width:1150px){header .nav{gap:12px}header .navlinks{gap:10px;font-size:.8rem}header .nav-actions>.btn.primary[href="contact.html"]{display:none}}
@media(max-width:430px){.nav-actions{gap:6px}.auth-link{font-size:.78rem}.auth-card{padding:22px}.nav-actions>a[href="for-contractors.html"]{display:none}}
/* Keep navigation usable on tablets and narrow phones. */
header .nav-actions{flex-shrink:0;margin-left:auto}
header .brand{flex-shrink:0}
header .nav-actions>.auth-link{display:inline-flex;align-items:center;min-height:44px}
header a:focus-visible,header button:focus-visible{outline:3px solid var(--gold);outline-offset:3px}
@media(max-width:1100px){
  header .nav{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:0 12px;min-height:72px}
  header .brand img{width:145px}
  header .nav-actions{grid-column:2;grid-row:1;gap:8px}
  header .menu-toggle{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;padding:0;cursor:pointer}
  header .navlinks{display:none;position:static;grid-column:1/-1;grid-row:2;width:100%;padding:10px 0 16px;border-top:1px solid var(--line);border-bottom:0;flex-direction:column;align-items:stretch;gap:2px;max-height:65vh;overflow-y:auto;font-size:.95rem}
  header .navlinks.open{display:flex}
  header .navlinks a{display:flex;align-items:center;min-height:44px;padding:8px 12px;border-radius:8px}
  header .navlinks a:hover{background:var(--soft)}
  header .nav-actions>.btn.primary[href="contact.html"]{display:none}
}
@media(max-width:380px){
  header .brand img{width:110px}
  header .nav{column-gap:6px}
  header .nav-actions{gap:5px}
  header .auth-link{font-size:.76rem}
}
/* Public navigation and always-visible top phone link. */
.topbar .container{flex-wrap:wrap;padding-top:7px;padding-bottom:7px}
.topbar-phone{font-weight:750;white-space:nowrap;min-height:30px;display:inline-flex;align-items:center;color:var(--gold2)}
.topbar-phone:hover{text-decoration:underline}
.resource-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:1100px){header .navlinks{font-size:.92rem}}
@media(max-width:780px){.topbar .container{gap:0 16px}.resource-grid{grid-template-columns:1fr}}
@media(min-width:1101px){header .nav-actions:has(>.menu-toggle:only-child){display:none}header .navlinks{margin-left:auto}}
/* Service photography on category cards and dedicated pages. */
.service-photo{margin:0 0 30px}.service-photo img{width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;border-radius:18px;background:var(--soft)}.service-photo figcaption{font-size:.82rem;color:var(--muted);margin-top:8px}.service-card{overflow:hidden}.service-card-image{width:calc(100% + 46px);max-width:none;height:auto;aspect-ratio:3/2;object-fit:cover;margin:-23px -23px 18px;background:var(--soft)}
@media(max-width:430px){.service-card-image{width:calc(100% + 34px);margin:-17px -17px 14px}}
/* Continuous wide service photos behind the text, with clear subjects right. */
.service-banner{position:relative;isolation:isolate;overflow:hidden;min-height:520px;display:flex;align-items:center;background:var(--navy);border-bottom:0;padding:64px 0}
.service-banner:before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,28,46,.94),rgba(16,38,58,.84) 34%,rgba(16,38,58,.45) 52%,rgba(16,38,58,0) 69%);z-index:1;pointer-events:none}
.service-banner-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:right center;z-index:0;filter:none;opacity:1}
.service-banner>.container{position:relative;z-index:2;background:transparent}
.service-banner h1{color:#fff;max-width:610px;font-size:clamp(2.15rem,3.3vw,3.55rem);overflow-wrap:break-word}
.service-banner .lead{color:#edf3f8;max-width:580px;font-size:1rem}
.service-banner .eyebrow{color:#edbd59}.service-banner .breadcrumbs{color:#b9ccdc}.service-banner .breadcrumbs a{color:#fff}
.service-banner .eyebrow:before{background:var(--gold2)}
.service-banner .hero-buttons{margin-top:24px;gap:10px;max-width:610px}
.service-banner .hero-buttons .btn{font-size:.82rem;padding:11px 15px}
.service-banner .btn.primary{background:linear-gradient(135deg,#e8c66e,#c99b37);color:#10263a}
.service-banner .btn.outline{background:#ffffff05;color:#fff;border-color:#a4b4c2}
.service-banner .btn.outline:hover{background:#ffffff12}
.service-detail-photo{margin-top:32px}
@media(min-width:781px) and (max-width:1050px){.service-banner h1,.service-banner .lead,.service-banner .hero-buttons{max-width:52%}.service-banner h1{font-size:2.4rem}}
@media(max-width:780px){.service-banner{min-height:0;padding:260px 0 38px}.service-banner:before{background:linear-gradient(180deg,transparent,rgba(10,28,46,.15) 25%,rgba(10,28,46,.87) 48%,rgba(10,28,46,.96))}.service-banner-image{object-position:78% center}.service-banner h1{font-size:clamp(2rem,6vw,3rem)}}
@media(max-width:430px){.service-banner .lead{font-size:.98rem}}

/* Homepage audience cards */
.home-audience-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;margin-top:26px}
.home-audience-card{display:flex;flex-direction:column;padding:24px 22px;background:repeating-linear-gradient(135deg,transparent 0,transparent 72px,#ffffff03 72px,#ffffff03 73px),linear-gradient(120deg,#102538,#172d3e);border:1px solid #435563;color:#fff;transition:border-color .2s,box-shadow .2s}
.home-audience-card:hover{border-color:#e9b95e;box-shadow:0 8px 24px #0b2b4d20}
.home-audience-card:focus-visible{outline:3px solid #e9b95e;outline-offset:4px}
.home-audience-label{color:#a9d7f5;font-size:.56rem;font-weight:800;text-transform:uppercase;letter-spacing:.16em}
.home-audience-card h2{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:16px 0 12px;color:#fff;font-size:1.3rem;line-height:1.25;letter-spacing:-.045em}
.home-audience-card h2 span{color:#ffc569;font-size:1.2rem;font-weight:400;flex-shrink:0}
.hero .home-audience-card p{margin:0 0 18px;color:#dce9f4;font-size:.78rem;line-height:1.7}
.home-audience-link{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:auto;color:#ffc569;font-size:.68rem;font-weight:800}
.home-audience-link>span{font-size:1.1rem;font-weight:400}
@media(min-width:781px) and (max-width:1050px){.home-audience-cards{grid-template-columns:1fr}}
@media(max-width:520px){.home-audience-cards{grid-template-columns:1fr}.home-audience-card{padding:24px}.home-audience-card h2{font-size:1.4rem}}

/* Restoration journey on the home page */
.restoration-journey{width:100%;max-width:450px;justify-self:end}
.journey-panel{padding:30px 27px 24px;border:1px solid #657369;background:repeating-linear-gradient(135deg,transparent 0,transparent 78px,#ffffff04 78px,#ffffff04 79px),linear-gradient(145deg,#294861,#10283d);box-shadow:0 20px 45px #0b2b4d20;color:#fff;animation:journey-enter .8s ease both}
.journey-label{display:flex;align-items:center;justify-content:space-between;gap:20px;text-transform:uppercase;color:#ffc569;font-size:.58rem;letter-spacing:.17em;font-weight:800}
.journey-label>span{width:42px;height:1px;background:#c6a46b}
.journey-steps{list-style:none;margin:32px 0 30px;padding:0;display:grid;gap:44px}
.journey-steps li{position:relative;display:grid;grid-template-columns:34px 1fr;gap:17px;animation:journey-enter .7s ease both}
.journey-steps li:nth-child(1){animation-delay:.15s}.journey-steps li:nth-child(2){animation-delay:.35s}.journey-steps li:nth-child(3){animation-delay:.55s}
.journey-steps li:not(:last-child):after{content:'';position:absolute;left:17px;top:calc(100% + 10px);height:26px;width:1px;background:#bda87570}
.journey-number{height:34px;display:grid;place-items:center;border:1px solid #a49c7377;color:#ffcb71;font-size:.7rem;animation:journey-glow 4s ease-in-out infinite}
.journey-steps li:nth-child(2) .journey-number{animation-delay:1.3s}.journey-steps li:nth-child(3) .journey-number{animation-delay:2.6s}
.journey-steps h2{margin:3px 0 6px;font-size:.9rem;line-height:1.4;color:white;letter-spacing:-.02em}
.hero .journey-steps p{margin:0;color:#b6d9f1;font-size:.73rem;line-height:1.65}
.journey-brand{display:flex;align-items:center;gap:12px;border-top:1px solid #ffffff22;padding-top:19px}
.journey-brand strong{color:#ffd07f;font-size:1.15rem;letter-spacing:-.07em}.journey-brand span{color:#add5f2;text-transform:uppercase;font-size:.53rem;letter-spacing:.16em}
.hero .journey-caption{text-align:center;font-style:italic;font-size:.65rem;color:#607186;margin:12px 0 0}
@keyframes journey-enter{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}
@keyframes journey-glow{0%,100%{background:transparent;box-shadow:0 0 0 transparent}50%{background:#ffd07f12;box-shadow:0 0 14px #ffd07f1a}}
/* Shared services dropdown */
.services-nav{position:relative;display:flex;align-items:center;gap:3px}
.services-nav-toggle{border:0;background:transparent;color:var(--navy);font:inherit;cursor:pointer;padding:6px 3px}
.services-submenu{display:none;position:absolute;top:100%;left:-16px;min-width:245px;padding:10px;background:#fff;border:1px solid var(--line);border-top:2px solid var(--gold);border-radius:0 0 12px 12px;box-shadow:var(--shadow);z-index:60}
.services-nav.submenu-open>.services-submenu{display:grid}
.services-submenu a{display:block;padding:9px 12px;border-radius:6px;color:#334155;font-size:.85rem;font-weight:700}
.services-submenu a:hover,.services-submenu a:focus-visible{background:var(--soft);color:#9a6b13}
/* Extend each existing service link across its entire card. */
.service-card{position:relative}.service-card .card-link:after{content:'';position:absolute;inset:0;border-radius:18px}.service-card:focus-within{outline:3px solid var(--gold);outline-offset:3px}
@media(max-width:1100px){.services-nav{flex-wrap:wrap}.services-submenu{position:static;flex-basis:100%;min-width:0;box-shadow:none;margin-top:5px}}
@media(max-width:780px){.restoration-journey{justify-self:center;max-width:550px}}
@media(prefers-reduced-motion:reduce){.journey-panel,.journey-steps li,.journey-number{animation:none}}

/* Interactive journey points */
.journey-steps li{border-radius:8px;isolation:isolate;transition:background .25s,box-shadow .25s}
.journey-steps li:before{content:'';position:absolute;inset:-10px -12px;border:1px solid transparent;border-radius:8px;z-index:-1;transition:background .25s,border-color .25s,box-shadow .25s}
.journey-steps li:hover:before{background:#ffffff09;border-color:#ffd07f55;box-shadow:0 8px 22px #0002}
.journey-steps li>div{transition:translate .25s}.journey-steps li:hover>div{translate:5px 0}
.journey-steps li:hover .journey-number{animation:none;background:#ffd07f22;border-color:#ffd07f;box-shadow:0 0 18px #ffd07f33;transform:scale(1.08)}
.journey-number{transition:transform .25s,background .25s,border-color .25s,box-shadow .25s}
.journey-steps li:hover h2{color:#ffcf82}
@media(hover:hover){.services-nav:hover>.services-submenu{display:grid}}
/* Image banners for the five main information pages */
.page-banner-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:44px;align-items:center}
.page-banner-copy{min-width:0}.page-hero-visual h1{font-size:clamp(2.1rem,3.5vw,3.4rem)}
.page-banner-photo{position:relative;overflow:hidden;border:1px solid #c4d1db;border-radius:18px;box-shadow:0 18px 38px #0b2b4d18;background:#dce5ec}
.page-banner-photo img{width:100%;height:390px;object-fit:cover;transition:transform .7s ease}
.page-banner-photo:hover img{transform:scale(1.035)}
@media(max-width:780px){.page-banner-grid{grid-template-columns:1fr;gap:26px}.page-banner-photo img{height:auto;aspect-ratio:3/2}.page-hero-visual{padding:38px 0}}
@media(prefers-reduced-motion:reduce){.journey-steps li,.journey-steps li:before,.journey-steps li>div,.journey-number,.page-banner-photo img{transition:none}.journey-steps li:hover>div{translate:none}.journey-steps li:hover .journey-number,.page-banner-photo:hover img{transform:none}}

/* Homepage feature points */
.trust-item{transition:background .25s}.trust-icon{transition:transform .25s,background .25s,box-shadow .25s}
.trust-item:hover{background:#ffffff08}.trust-item:hover .trust-icon{transform:translateY(-3px) rotate(-5deg);background:#e8c66e22;box-shadow:0 5px 15px #0002}
@media(prefers-reduced-motion:reduce){.trust-item,.trust-icon{transition:none}.trust-item:hover .trust-icon{transform:none}}

/* Dark navy banner gradient with readable white and gold content. */
.hero,.page-hero:not(.service-banner){
  background-color:#10263a;
  background-image:radial-gradient(ellipse at 58% 8%,rgba(57,87,113,.32) 0%,transparent 58%),linear-gradient(110deg,#0a1c2e 0%,#122b41 55%,#18334a 100%);
  color:#fff;
  border-bottom-color:#ffffff18;
}
.hero h1,.page-hero:not(.service-banner) h1{color:#fff}
.hero h1 span{color:#e8bd61}
.hero>.container>div>.lead,.page-hero:not(.service-banner) .lead{color:#e0eaf3}
.hero .eyebrow,.page-hero:not(.service-banner) .eyebrow{color:#edbd59}
.hero .eyebrow:before,.page-hero:not(.service-banner) .eyebrow:before{background:#edbd59}
.page-hero:not(.service-banner) .breadcrumbs{color:#b9ccdc}
.page-hero:not(.service-banner) .breadcrumbs a{color:#fff}
.hero .journey-caption{color:#b5ccde}
.page-hero:not(.service-banner) .btn.primary{background:linear-gradient(135deg,#e8c66e,#c99b37);color:#10263a;box-shadow:0 7px 18px #0002}
.page-hero:not(.service-banner) .btn.outline{background:#ffffff05;color:#fff;border-color:#a4b4c2}
.page-hero:not(.service-banner) .btn.outline:hover{background:#ffffff12}
.page-hero-visual .page-banner-photo{border-color:#ffffff30;box-shadow:0 18px 38px #0003}

/* Wide photographs composed for text left and a clear subject right. */
.page-hero-visual{position:relative;isolation:isolate;overflow:hidden;min-height:500px;display:flex;align-items:center;padding:64px 0}
.page-hero-visual .page-banner-grid{position:static;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:44px}
.page-hero-visual .page-banner-copy{position:relative;z-index:2;grid-column:1}
.page-hero-visual .page-banner-photo{position:absolute;inset:0;z-index:-2;border:0;border-radius:0;box-shadow:none;background:transparent;pointer-events:none}
.page-hero-visual .page-banner-photo img{width:100%;height:100%;aspect-ratio:auto;object-fit:cover;object-position:right center;filter:none;opacity:1;transform:none}
.page-hero-visual:after{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(90deg,rgba(10,28,46,.94),rgba(16,38,58,.84) 34%,rgba(16,38,58,.45) 52%,rgba(16,38,58,0) 69%)}
@media(max-width:780px){.page-hero-visual{padding:260px 0 38px;min-height:0}.page-hero-visual .page-banner-grid{grid-template-columns:minmax(0,1fr)}.page-hero-visual .page-banner-photo img{object-position:78% center}.page-hero-visual:after{background:linear-gradient(180deg,transparent,rgba(10,28,46,.15) 25%,rgba(10,28,46,.87) 48%,rgba(10,28,46,.96))}}

/* Home: three steps synchronized with a sticky photo and scrolling copy. */
.how-story{background:linear-gradient(135deg,#f6f9fc,#edf3f8);--story-top:105px;--story-height:calc(100svh - var(--story-top) - 30px)}
.how-story-stage{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:64px;align-items:center}
.how-story-photos{position:relative;min-width:0}.how-story-photo{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:18px;box-shadow:0 18px 44px #0b2b4d18}.how-story-photo:not(:first-child){display:none}
.how-story-point{padding:24px 0;border-bottom:1px solid #ccd9e4}.how-story-point small{font-weight:900;letter-spacing:.16em;color:#a27322;font-size:.76rem}.how-story-point h3{color:var(--navy);font-size:clamp(1.7rem,3vw,2.6rem);letter-spacing:-.04em;line-height:1.15;margin:16px 0}.how-story-point p{font-size:1.08rem;color:#526479;line-height:1.75;margin:0;max-width:430px}
.how-story-position{display:none}
.how-story.is-scroll-story .how-story-track{height:calc(var(--story-height) + 210vh)}
.how-story.is-scroll-story .how-story-stage{position:sticky;top:var(--story-top);height:var(--story-height)}
.how-story.is-scroll-story .how-story-photos{height:min(58vh,460px)}
.how-story.is-scroll-story .how-story-photo{display:block;position:absolute;inset:0;height:100%;opacity:0;transition:opacity .5s ease}
.how-story.is-scroll-story .how-story-photo.is-active{opacity:1}
.how-story.is-scroll-story .how-story-panels{position:relative;height:270px;overflow:hidden}
.how-story.is-scroll-story .how-story-point{position:absolute;inset:0;padding:12px 0;border:0;opacity:0;transform:translateY(65px);visibility:hidden;transition:opacity .4s ease,transform .5s ease,visibility .5s}
.how-story.is-scroll-story .how-story-point.is-past{transform:translateY(-65px)}
.how-story.is-scroll-story .how-story-point.is-active{opacity:1;transform:translateY(0);visibility:visible}
.how-story.is-scroll-story .how-story-position{display:flex;align-items:center;gap:16px;margin-top:25px;flex-wrap:wrap}
.how-story-count{color:var(--navy);font-size:.8rem;font-weight:800;letter-spacing:.12em}.how-story-progress{height:3px;background:#d4dfe8;flex:1;min-width:70px}.how-story-progress>span{display:block;height:100%;background:var(--gold);width:33.333%;transition:width .4s}.how-story-hint{font-size:.76rem;color:#607186}
@media(max-width:780px){.how-story-stage{grid-template-columns:1fr;gap:25px}.how-story-photo{max-height:360px}.how-story-point h3{font-size:1.8rem}}
@media(prefers-reduced-motion:reduce){.how-story-photo,.how-story-point,.how-story-progress>span{transition:none!important}}

.how-story-photos:empty{display:none}.how-story:not(.is-scroll-story) .how-story-stage:has(.how-story-photos:empty){grid-template-columns:1fr}.how-story:not(.is-scroll-story) .how-story-point .how-story-photo{display:block;max-width:600px;margin-bottom:24px}

/* Distinct audience gradients coordinated with the navy home banner. */
.home-audience-card:first-child{background:repeating-linear-gradient(135deg,transparent 0,transparent 72px,#ffffff04 72px,#ffffff04 73px),linear-gradient(135deg,#153e60 0%,#1a4c70 55%,#102e49 100%);border-color:#447798}
.home-audience-card:nth-child(2){background:repeating-linear-gradient(135deg,transparent 0,transparent 72px,#ffffff04 72px,#ffffff04 73px),linear-gradient(135deg,#133c43 0%,#205853 55%,#102e37 100%);border-color:#487c79}
.home-audience-card:first-child:hover,.home-audience-card:nth-child(2):hover{border-color:#e9b95e;box-shadow:0 8px 24px #0003}

/* Desktop navbar spans 96% of the viewport. */
@media(min-width:1101px){header .container.nav{width:96%;max-width:none;margin-inline:auto}}

/* Focus each separate fire/smoke card on its service professional. */
.split-fire-smoke-card .service-card-image{object-position:right center}

/* More legible top phone number and full-detail logo. */
.topbar-phone{font-size:1.05rem;font-weight:850;letter-spacing:.01em}
header .brand img{width:clamp(320px,26vw,420px);max-height:65px;height:auto;object-fit:contain}
header .nav{padding-block:0}
@media(min-width:1101px){header .navlinks{gap:clamp(10px,1.1vw,20px)}}
@media(max-width:1100px){header .brand img{width:260px;max-width:100%;max-height:65px;height:auto}}
@media(max-width:600px){header .brand img{width:clamp(150px,45vw,230px)}.topbar-phone{font-size:1rem}}

/* Anchor the full logo artwork to the left of its existing width box. */
header .brand{justify-self:start;text-align:left;margin-right:auto}
header .brand img{object-position:left center;max-height:65px}

/* Wider horizontal logo, with the header image height fixed at 65px. */
header .brand img{width:clamp(220px,20vw,280px);height:65px;max-height:65px;object-fit:fill;object-position:left center}
@media(max-width:1100px){header .brand img{width:240px;height:65px;max-height:65px}}
@media(max-width:600px){header .brand img{width:min(230px,45vw);height:65px;max-height:65px;object-fit:contain;object-position:left center}}

/* Residential/commercial mega navigation and local phone block. */
.service-mega-nav{position:static}
.service-mega-trigger{border:0;background:transparent;padding:12px 0;color:#334155;font:inherit;font-weight:750;white-space:nowrap;cursor:pointer}
.service-mega-trigger[aria-expanded="true"]{color:#9a6b13}
.service-mega-panel[hidden]{display:none!important}
.service-mega-panel{position:absolute;top:100%;left:2%;right:2%;display:grid;grid-template-columns:minmax(210px,.85fr) minmax(260px,1.4fr) minmax(220px,1fr);gap:28px;padding:26px;background:#fff;border:1px solid #dbe3eb;border-top:3px solid var(--gold);border-radius:0 0 12px 12px;box-shadow:0 20px 40px #071e3530;max-height:calc(100svh - 150px);overflow-y:auto;text-align:left;font-size:.9rem;z-index:80}
.service-mega-list{display:grid;align-content:start;gap:2px}
.service-mega-tab{border:0;border-bottom:1px solid #e9edf2;background:#fff;padding:11px 12px;text-align:left;font:inherit;font-weight:650;color:#43566a;cursor:pointer;line-height:1.35}
.service-mega-tab[aria-selected="true"]{background:#fff5e4;color:#92601a;border-left:3px solid var(--gold)}
.service-mega-preview h2{font-size:clamp(1.4rem,2vw,2rem);line-height:1.2;color:var(--navy);margin:10px 0 14px;letter-spacing:-.03em}
.service-mega-eyebrow{text-transform:uppercase;font-size:.66rem;letter-spacing:.14em;color:#956923;font-weight:800}
.service-mega-preview p{color:#607186;line-height:1.65;margin:0 0 18px}.service-mega-preview ul{padding:16px 20px 16px 34px;border:1px solid #e7ca96;border-radius:6px;line-height:1.7;background:#fffaf3;color:#526479}
.service-mega-explore{margin-top:4px;font-size:.8rem}.service-mega-all{display:block;margin-top:14px;color:#956923!important;font-weight:750;font-size:.8rem}
.service-mega-image img{width:100%;height:100%;min-height:280px;max-height:400px;object-fit:cover;border-radius:8px}
.header-phone{display:flex;flex-direction:column;align-items:flex-end;justify-content:center;white-space:nowrap;line-height:1.35;flex-shrink:0;color:#526479;margin-left:auto}
.header-phone>span{font-size:.7rem;font-weight:550}.header-phone strong{color:#bd842c;font-size:1.5rem;font-weight:800;letter-spacing:-.02em}.header-phone:hover strong{color:#96621a}
.property-service-intro{display:flex;gap:16px;flex-wrap:wrap;margin:24px 0 30px}.property-service-intro .btn{min-width:180px}
.property-service-heading{color:var(--navy);font-size:2rem;margin:0 0 12px}
@media(min-width:1101px){header .navlinks{gap:clamp(10px,1vw,18px);font-size:.84rem}header .nav{gap:20px}header .navlinks{margin-left:auto}header .header-phone{margin-left:12px}header .nav-actions{margin-left:0}}
@media(max-width:1100px){
 header .nav{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:0 12px}
 header .brand{grid-column:1;grid-row:1}header .header-phone{grid-column:2;grid-row:1}header .nav-actions{grid-column:3;grid-row:1;display:flex;margin-left:0}
 header .menu-toggle{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;padding:0}
 header .navlinks{display:none;position:static;grid-column:1/-1;grid-row:2;width:100%;margin:0;padding:12px 0;flex-direction:column;align-items:stretch;gap:2px;max-height:65svh;overflow-y:auto;border-top:1px solid var(--line);font-size:.92rem}
 header .navlinks.open{display:flex}header .navlinks>a{padding:9px 12px}
 .service-mega-trigger{width:100%;text-align:left;padding:12px}
 .service-mega-panel{position:static;grid-template-columns:minmax(180px,.9fr) minmax(220px,1.2fr);padding:18px;gap:20px;max-height:none;box-shadow:none;margin-bottom:12px}
 .service-mega-image{display:none}
}
@media(max-width:600px){
 header .nav{grid-template-columns:minmax(0,1fr) auto;column-gap:8px}header .brand{grid-column:1;grid-row:1}header .nav-actions{grid-column:2;grid-row:1}
 header .header-phone{grid-column:1/-1;grid-row:2;align-items:center;justify-self:stretch;border-top:1px solid #edf1f5;padding:5px 0 8px;margin:0}header .header-phone>span{font-size:.68rem}header .header-phone strong{font-size:1.3rem}
 header .navlinks{grid-row:3}.service-mega-panel{grid-template-columns:minmax(0,1fr);padding:12px}.service-mega-preview{border-top:1px solid var(--line);padding-top:16px}.service-mega-tab{padding:10px}.service-mega-all{padding:10px 0!important}
}
@media(min-width:1101px){.service-mega-nav{padding-block:18px;margin-block:-18px}}

.service-mega-panel{font-weight:400}.service-mega-tab{font-weight:650}.service-mega-preview .service-mega-image img{object-position:center}

/* Local phone remains in its original top strip position. */
.topbar .local-phone{display:inline-flex;flex-direction:row;gap:5px;align-items:center;color:var(--gold2);font-size:1.05rem;font-weight:850;white-space:nowrap}.topbar .local-phone strong{color:inherit;font-size:inherit}.topbar .container{justify-content:space-between}
@media(max-width:780px){.topbar .container{justify-content:center}}

/* Commercial: spacious 90%-width editorial service guide. */
.commercial-page{overflow-x:clip}
.commercial-page main>.section>.container,.commercial-page .commercial-layout,.commercial-page .commercial-hero>.container{width:90%;max-width:none;margin-inline:auto}
.commercial-intro{padding:70px 0 44px}.commercial-intro .section-head{max-width:850px;margin-bottom:32px}
.commercial-priorities{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.commercial-priorities>div{padding:24px 26px;border:1px solid #e0e8ef;border-top:3px solid var(--gold);border-radius:12px;background:linear-gradient(135deg,#fff,#f2f7fb)}
.commercial-priorities strong{color:var(--navy);font-size:1.08rem}.commercial-priorities p{font-size:.95rem;color:var(--muted);margin:8px 0 0;line-height:1.7}
.commercial-layout{display:block;scroll-margin-top:var(--commercial-offset,110px)}
.commercial-service-nav{position:sticky;top:var(--commercial-offset,110px);z-index:10;padding:16px 20px;margin:0 0 20px;border:1px solid #dce5ed;border-radius:12px;background:rgba(255,255,255,.97);backdrop-filter:blur(12px);box-shadow:0 8px 24px #0b2b4d0c}
.commercial-service-nav>.eyebrow{display:none}.commercial-service-nav nav{display:flex;flex-wrap:wrap;justify-content:center;gap:7px}
.commercial-service-nav a{padding:8px 13px;font-size:.79rem;line-height:1.4;border:1px solid transparent;border-radius:6px;color:#526479;font-weight:700;transition:background .2s,color .2s,border-color .2s}
.commercial-service-nav a:hover,.commercial-service-nav a.is-active{background:#fff4dd;color:#8b6019;border-color:#e4c88c}
.commercial-service-section{position:relative;isolation:isolate;padding:48px 0;scroll-margin-top:calc(var(--commercial-offset,110px) + var(--commercial-nav-height,100px) + 20px)}
.commercial-service-section:nth-child(odd):before{content:'';position:absolute;inset:0 auto 0 50%;width:100vw;transform:translateX(-50%);background:linear-gradient(120deg,#f4f7fa,#f8fafc);z-index:-1}
.commercial-service-section:focus-visible{outline:none}.commercial-service-section:focus-visible h2{text-decoration:underline;text-decoration-color:#c99b3770;text-underline-offset:7px}
.commercial-service-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(36px,6vw,120px);align-items:start}
.commercial-service-section:nth-child(even) figure{grid-column:2;grid-row:1}.commercial-service-section:nth-child(even) .commercial-service-copy{grid-column:1;grid-row:1}
.commercial-service-section figure{margin:0;min-width:0}.commercial-service-section figure img{width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;border-radius:14px;box-shadow:0 16px 40px #0b2b4d14}
.commercial-service-section figcaption{font-size:.74rem;color:#7b8b99;margin-top:12px;line-height:1.5}
.commercial-service-copy{padding:8px 0}.commercial-service-copy .eyebrow{font-size:.65rem;letter-spacing:.15em}.commercial-service-copy h2{font-size:clamp(1.75rem,2.25vw,2.8rem);line-height:1.2;letter-spacing:-.035em;font-weight:650;color:var(--navy);margin:15px 0 22px;max-width:740px}
.commercial-service-copy p{font-size:clamp(.98rem,1.05vw,1.12rem);line-height:1.8;color:#526479;margin:0 0 22px;max-width:760px}
.commercial-service-copy ul{list-style:none;padding:0;margin:0 0 24px;color:#354f66;font-size:clamp(.93rem,1vw,1.05rem);line-height:1.7;display:grid;gap:8px}
.commercial-service-copy li{display:flex;gap:12px;align-items:baseline}.commercial-service-copy li:before{content:'✓';color:#aa7b24;font-weight:900;flex-shrink:0}
.commercial-service-copy .commercial-service-note{font-size:.86rem;line-height:1.65;padding-left:16px;border-left:2px solid #dac394;color:#6b7d8d;margin-bottom:24px}
.commercial-service-copy .btn{padding:12px 22px;font-size:.88rem;border-radius:8px;background:var(--navy);box-shadow:0 6px 16px #0b2b4d16}.commercial-service-copy .btn:hover{background:#174b71}
.commercial-final-cta{padding:64px 0 76px}.commercial-final-cta .cta-box{border-radius:18px}.commercial-final-cta .cta-box .btn{flex-shrink:0}
@media(max-width:1050px){.commercial-service-row{gap:34px}.commercial-service-copy h2{font-size:1.8rem}.commercial-service-section{padding:48px 0}.commercial-service-nav{padding:12px}.commercial-service-nav a{padding:7px 9px;font-size:.74rem}}
@media(max-width:780px){.commercial-priorities{grid-template-columns:1fr;gap:14px}.commercial-intro{padding:48px 0 30px}.commercial-service-nav{position:static;margin-bottom:10px;backdrop-filter:none}.commercial-service-nav nav{justify-content:flex-start}.commercial-service-section{padding:38px 0;scroll-margin-top:var(--commercial-offset,110px)}.commercial-service-row{grid-template-columns:minmax(0,1fr);gap:24px}.commercial-service-section:nth-child(even) figure,.commercial-service-section:nth-child(even) .commercial-service-copy{grid-column:auto;grid-row:auto}.commercial-service-copy h2{font-size:1.8rem;margin:12px 0 18px}.commercial-service-copy p{font-size:1rem}.commercial-service-copy .btn{min-height:44px}.commercial-final-cta{padding:42px 0 55px}}
@media(prefers-reduced-motion:reduce){.commercial-service-nav a{transition:none}}

/* Public navigation: centered audience menus with the phone on the far right. */
.public-header .nav{width:96%;max-width:none;display:grid;grid-template-columns:minmax(180px,260px) minmax(0,1fr) auto auto;align-items:center;gap:18px;min-height:82px;padding:7px 0}
.public-header .brand{grid-column:1;grid-row:1;margin:0;justify-self:start}.public-header .brand img{width:260px;height:65px;max-height:65px;object-fit:fill;object-position:left center}
.public-header .navlinks{grid-column:2;grid-row:1;justify-content:center;margin:0;gap:clamp(10px,1.1vw,20px);font-size:.83rem;white-space:nowrap}
.public-header .nav-actions{grid-column:3;grid-row:1;margin:0}.public-header .header-phone{grid-column:4;grid-row:1;margin:0;align-items:flex-end;justify-self:end;line-height:1.35;max-width:230px;text-align:right}
.public-header .header-phone>span{font-size:.68rem;font-weight:550;color:#526479;white-space:nowrap}.public-header .header-phone strong{font-size:1.45rem;color:#c8892d;font-weight:850}.public-header .header-phone:hover strong{color:#96621a}
.public-header .nav-auth-divider{font-size:.8rem;color:#94a3b8;margin-inline:-7px}
.audience-services-nav{position:relative;padding:18px 0;margin:-18px 0}.audience-services-trigger{padding:0;border:0;background:transparent;color:#334155;font:inherit;font-weight:750;cursor:pointer;white-space:nowrap}.audience-services-trigger[aria-expanded="true"]{color:#9a6b13}
.audience-services-menu[hidden]{display:none!important}.audience-services-menu{position:absolute;left:-16px;top:100%;min-width:200px;padding:9px;background:#fff;border:1px solid var(--line);border-top:3px solid var(--gold);border-radius:0 0 10px 10px;box-shadow:0 15px 35px #0b2b4d20;display:grid;z-index:90}
.audience-services-menu a{padding:11px 14px;border-radius:5px;font-weight:700;color:#334155}.audience-services-menu a:hover,.audience-services-menu a:focus-visible{background:#fff5e4;color:#93651b}
@media(min-width:1101px) and (max-width:1350px){.public-header .nav{grid-template-columns:210px minmax(0,1fr) auto auto;gap:12px}.public-header .brand img{width:210px}.public-header .navlinks{gap:11px;font-size:.76rem}.public-header .header-phone>span{font-size:.57rem}.public-header .header-phone strong{font-size:1.22rem}}
@media(max-width:1100px){
 .public-header .nav{grid-template-columns:minmax(0,1fr) auto auto;gap:0 12px}.public-header .brand img{width:230px}.public-header .nav-actions{grid-column:2;display:flex}.public-header .header-phone{grid-column:3;grid-row:1}.public-header .navlinks{display:none;grid-column:1/-1;grid-row:2;justify-content:flex-start;white-space:normal;align-items:stretch;flex-direction:column;margin:0;padding:12px 0;gap:3px;font-size:.95rem}.public-header .navlinks.open{display:flex}.public-header .navlinks>a{padding:9px 12px}.public-header .nav-auth-divider{display:none}
 .audience-services-nav{padding:0;margin:0}.audience-services-trigger{padding:12px;width:100%;text-align:left}.audience-services-menu{position:static;box-shadow:none;margin:0 12px 10px;border-radius:7px}.public-header .menu-toggle{display:inline-flex}
}
@media(max-width:600px){.public-header .nav{gap:0 6px}.public-header .brand img{width:min(155px,37vw);height:65px;object-fit:contain}.public-header .header-phone{grid-column:3;grid-row:1;max-width:150px;padding:0;border:0}.public-header .header-phone>span{font-size:.55rem;white-space:normal;max-width:145px}.public-header .header-phone strong{font-size:1.05rem}.public-header .nav-actions{grid-column:2}.public-header .navlinks{grid-row:2}.public-header .menu-toggle{width:38px;height:38px}.topbar .container{font-size:.72rem}}
@media(max-width:350px){.public-header .brand img{width:105px}.public-header .header-phone{max-width:130px}.public-header .header-phone strong{font-size:.92rem}.public-header .header-phone>span{font-size:.5rem}}
/* Blog index and full editorial pages. */
.blog-list-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:26px;color:#6b7d8e;font-size:.9rem}.blog-list-heading p{margin:0}.blog-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}
.blog-card{display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--line);border-radius:14px;background:#fff;transition:transform .2s,box-shadow .2s,border-color .2s}.blog-card:hover{transform:translateY(-4px);border-color:#d4b572;box-shadow:0 14px 32px #0b2b4d12}.blog-card:focus-visible{outline:3px solid var(--gold);outline-offset:4px}.blog-card>img{width:100%;height:auto;aspect-ratio:3/2;object-fit:cover}.blog-card-copy{padding:24px;display:flex;flex-direction:column;flex:1}.blog-category{display:block;color:#9b6d1c;font-size:.67rem;font-weight:850;text-transform:uppercase;letter-spacing:.12em}.blog-card h2{font-size:1.25rem;line-height:1.3;letter-spacing:-.025em;color:var(--navy);margin:12px 0}.blog-card p{font-size:.92rem;line-height:1.7;color:#607186;margin:0 0 22px}.blog-read-more{display:flex;align-items:center;justify-content:space-between;gap:12px;color:#9b6d1c;font-size:.83rem;font-weight:800;margin-top:auto}
.blog-pagination{display:flex;align-items:center;justify-content:center;gap:9px;flex-wrap:wrap;margin-top:42px}.blog-pagination a{border:1px solid var(--line);border-radius:7px;padding:10px 16px;font-size:.88rem;color:var(--navy);font-weight:750}.blog-pagination a[aria-current="page"],.blog-pagination a:hover{background:var(--navy);color:#fff;border-color:var(--navy)}
.article-container{width:min(940px,90%)}.blog-article-heading{padding:50px 0 0;background:linear-gradient(135deg,#f3f7fb,#fff)}.article-back{display:inline-block;color:#6b7d8e;font-size:.85rem;margin-bottom:25px}.blog-article-heading h1{font-size:clamp(2rem,4vw,3.6rem);line-height:1.12;letter-spacing:-.045em;margin:15px 0 20px}.blog-article-heading .lead{max-width:850px}.article-meta{font-size:.78rem;color:#7a8b9b;margin:20px 0 28px}.article-cover{width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;border-radius:16px}.article-section{padding-top:36px}.article-section p,.article-section li{font-size:1rem;line-height:1.85}.article-section h2{font-size:1.8rem;margin-top:42px}.article-section .service-photo{margin:32px 0}.article-next-step{background:linear-gradient(135deg,#eff5fa,#fcf6e9);border:1px solid var(--line);padding:28px;border-radius:12px;margin-top:36px}.article-next-step h2{margin-top:0}.article-related{border-top:1px solid var(--line);margin-top:35px;padding-top:12px}.article-related a{display:block;color:#9b6d1c;margin:14px 0;font-weight:750}
.gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}.gallery-grid figure{margin:0}.gallery-grid img{width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;border-radius:12px}.gallery-grid figcaption{font-size:.9rem;color:var(--navy);font-weight:750;margin-top:12px}
.location-card{border:1px solid var(--line);border-top:4px solid var(--gold);padding:35px;border-radius:14px;background:linear-gradient(135deg,#f3f8fc,#fff)}.location-card h2{font-size:2rem;color:var(--navy);letter-spacing:-.035em}.location-card p{color:#607186}.location-number{display:block;font-size:1.7rem;font-weight:800;color:#b57c25;margin:20px 0}
@media(max-width:1000px){.blog-grid,.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.blog-grid,.gallery-grid{grid-template-columns:1fr}.blog-card-copy{padding:22px}.blog-list-heading{font-size:.8rem}.blog-article-heading{padding-top:35px}.article-next-step{padding:22px}.location-card{padding:25px}}
@media(prefers-reduced-motion:reduce){.blog-card{transition:none}.blog-card:hover{transform:none}}

.topbar .container>span:only-child{display:inline}

/* Nested Residential and Commercial service lists. */
.service-audience-group{position:relative}.service-audience-heading{display:flex;align-items:center}.service-audience-heading>a{flex:1}.service-submenu-toggle{border:0;background:transparent;color:#93651b;font-size:22px;cursor:pointer;padding:8px 12px}.service-submenu[hidden]{display:none!important}.service-submenu{position:absolute;left:100%;top:-9px;width:290px;padding:9px;background:#fff;border:1px solid var(--line);border-top:3px solid var(--gold);border-radius:0 8px 8px 8px;box-shadow:0 15px 35px #0b2b4d20;display:grid;max-height:calc(100vh - 160px);overflow:auto}.service-submenu a{display:block;font-size:14px;line-height:1.35}.service-audience-group:has(.service-submenu:not([hidden]))>.service-audience-heading{background:#fff5e4;border-radius:5px}
@media(max-width:1100px){.service-submenu{position:static;width:auto;max-height:none;margin:0 8px 8px 14px;border-top:1px solid var(--line);border-left:3px solid var(--gold);box-shadow:none;border-radius:0}.service-submenu-toggle{padding:10px 18px}.service-submenu a{white-space:normal}}
/* Expanded service menu with previews. */
.public-header .nav{position:relative}.public-header .navlinks,.audience-services-nav{position:static}.service-chevron{display:inline-block;width:8px;height:8px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);transition:transform .2s ease;margin:0 4px 3px 9px}.audience-services-trigger{display:inline-flex;align-items:center;gap:3px}.audience-services-trigger>.service-chevron{background:none}.audience-services-trigger[aria-expanded="true"] .service-chevron,.service-mega-tabs button[aria-expanded="true"] .service-chevron{transform:rotate(225deg);margin-bottom:-3px}.audience-services-menu{left:0;right:0;top:100%;width:100%;padding:0;display:block;white-space:normal;border-radius:0 0 16px 16px;box-shadow:0 24px 55px #071e3540;overflow:hidden}.service-mega-tabs{display:flex;gap:8px;padding:12px 22px;background:#f5f8fb;border-bottom:1px solid var(--line)}.service-mega-tabs button{display:flex;align-items:center;justify-content:space-between;gap:30px;padding:11px 18px;border:1px solid #dbe4ee;border-radius:8px;background:white;color:#334155;font:inherit;font-weight:750;cursor:pointer}.service-mega-tabs button[aria-expanded="true"]{background:#0b2b4d;border-color:#0b2b4d;color:#f0c36b}.service-mega-body{display:grid;grid-template-columns:26% minmax(0,1fr) 30%;gap:24px;padding:24px;max-height:calc(100vh - 220px);overflow:auto}.service-mega-list{display:grid;align-content:start}.audience-services-menu .service-mega-list a{display:block;padding:10px 12px;border-bottom:1px solid #e2e8f0;border-radius:0;font-size:13px;line-height:1.3}.service-mega-list a.active{background:#fff5e4;color:#9a640f;border-left:3px solid #d6a545}.service-mega-copy{padding:4px 0;min-width:0}.service-mega-eyebrow{text-transform:uppercase;letter-spacing:1.4px;font-size:10px;font-weight:850;color:#9a640f}.service-mega-copy h2{font-size:clamp(23px,2vw,34px);line-height:1.2;margin:14px 0;color:#0b2b4d}.service-mega-copy p{font-size:13px;line-height:1.7;color:#58708a;margin-bottom:18px}.service-mega-copy ul{background:#fffaf2;border:1px solid #e8c68c;border-radius:8px;padding:17px 20px 17px 34px;color:#526479;font-size:13px;line-height:1.9;margin:0 0 20px}.audience-services-menu a.service-mega-cta{display:inline-block;background:#0b2b4d;color:white;border-radius:30px;padding:13px 18px;font-size:12px;line-height:1.4;box-shadow:0 6px 14px #0b2b4d20}.audience-services-menu a.service-mega-cta:hover{background:#17466d;color:white}.audience-services-menu a.service-mega-all{display:block;padding:13px 0;color:#9a640f;font-size:12px}.audience-services-menu a.service-mega-photo{display:block;padding:0;border-radius:10px;overflow:hidden;align-self:start}.service-mega-photo img{display:block;width:100%;height:350px;object-fit:cover;transition:opacity .2s}.service-mega-tabs button:focus-visible,.audience-services-trigger:focus-visible{outline:3px solid #d6a545;outline-offset:3px}
@media(max-width:1100px){.audience-services-menu{position:static;width:auto;margin:0 8px 10px}.service-mega-tabs{padding:10px;gap:6px}.service-mega-tabs button{flex:1;gap:5px;padding:10px;font-size:13px}.service-mega-body{grid-template-columns:1fr 1fr;padding:15px;gap:18px;max-height:65vh}.service-mega-list{grid-row:1/3}.service-mega-photo{grid-column:2}.service-mega-photo img{height:180px}.audience-services-trigger{justify-content:space-between}}
@media(max-width:600px){.service-mega-body{grid-template-columns:1fr;max-height:65vh}.service-mega-list{grid-row:auto}.service-mega-photo{grid-column:auto}.service-mega-photo img{height:200px}.service-mega-copy h2{font-size:25px}}
@media(prefers-reduced-motion:reduce){.service-chevron{transition:none}}
/* Navbar Login call to action, including shared contractor navigation. */
.public-header .navlinks > a[href="login.php"]{display:inline-flex;align-items:center;justify-content:center;background:#0b2b4d;color:#fff;border:1px solid #0b2b4d;border-radius:8px;padding:9px 17px;line-height:1.2;font-weight:750;box-shadow:0 3px 9px #0b2b4d18;transition:background .18s ease,box-shadow .18s ease}
.public-header .navlinks > a[href="login.php"]:hover{background:#17466d;color:#fff;box-shadow:0 5px 13px #0b2b4d28}
.public-header .navlinks > a[href="login.php"]:focus-visible{outline:3px solid #d6a545;outline-offset:3px}
.public-header .navlinks > a[href="login.php"] + .nav-auth-divider{display:none}
@media(max-width:1100px){.public-header .navlinks > a[href="login.php"]{align-self:flex-start;min-width:100px;margin:6px 12px}}

/* Clear right-hand photography, softly blurred behind banner copy. */
.editorial-banner:before{content:"";position:absolute;inset:0 35% 0 0;z-index:-1;pointer-events:none;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);mask-image:linear-gradient(90deg,#000 70%,transparent);-webkit-mask-image:linear-gradient(90deg,#000 70%,transparent)}
@media(max-width:780px){.editorial-banner:before{inset:35% 0 0;mask-image:linear-gradient(180deg,transparent,#000 35%);-webkit-mask-image:linear-gradient(180deg,transparent,#000 35%)}}

/* Homepage preparation, provider guidance and frequently asked questions. */
.home-preparation-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.home-preparation-grid article{background:#fff;border:1px solid var(--line);border-radius:18px;padding:30px}.home-content-number{display:inline-grid;place-items:center;width:44px;height:44px;background:linear-gradient(135deg,#0b2b4d,#1e526f);border-radius:12px;color:#f0c36b;font-size:14px;font-weight:850;margin-bottom:18px}.home-preparation-grid h3,.home-provider-checks h3{color:var(--navy);font-size:1.15rem;line-height:1.3;margin:0 0 12px}.home-preparation-grid p,.home-provider-checks p{color:var(--muted);font-size:.95rem;line-height:1.75;margin:0}.home-provider-layout{display:grid;grid-template-columns:1fr 1.1fr;gap:64px;align-items:center}.home-provider-intro h2,.home-faq-intro h2{font-size:clamp(1.9rem,3vw,2.8rem);line-height:1.16;letter-spacing:-.04em;color:var(--navy);margin:12px 0 18px}.home-provider-intro p,.home-faq-intro p{color:var(--muted);line-height:1.8}.home-provider-intro .btn{margin-top:15px}.home-provider-checks{display:grid;gap:18px}.home-provider-checks article{padding:22px 26px;border-left:3px solid var(--gold);background:linear-gradient(90deg,#f4f8fb,#fff);border-radius:0 12px 12px 0}.home-faq{margin-bottom:60px}.home-faq-layout{display:grid;grid-template-columns:.75fr 1.25fr;gap:60px;align-items:start}.home-faq .faq-list{width:100%;max-width:none}.home-faq details{padding:0;overflow:hidden}.home-faq summary{display:flex;align-items:center;justify-content:space-between;gap:20px;list-style:none;padding:21px 23px;line-height:1.5;font-size:.98rem}.home-faq summary::-webkit-details-marker{display:none}.home-faq summary:after{content:'+';display:grid;place-items:center;flex:0 0 28px;height:28px;border-radius:50%;background:#f4ead2;color:#8e631a;font-size:20px;font-weight:500}.home-faq details[open]{border-color:#c99b37}.home-faq details[open] summary:after{content:'−';background:#0b2b4d;color:#f0c36b}.home-faq details p{margin:0;padding:0 23px 23px;font-size:.94rem;line-height:1.8}.home-faq summary:focus-visible{outline:3px solid var(--gold);outline-offset:-4px}.home-faq-contact{display:inline-block;margin-top:15px;color:#946718;font-weight:750;line-height:1.6}
@media(max-width:900px){.home-preparation-grid{gap:14px}.home-preparation-grid article{padding:22px}.home-provider-layout,.home-faq-layout{gap:32px}}
@media(max-width:700px){.home-preparation-grid,.home-provider-layout,.home-faq-layout{grid-template-columns:1fr}.home-provider-checks article{padding:20px}.home-faq summary{padding:18px}.home-faq details p{padding:0 18px 20px}.home-faq{margin-bottom:35px}}

/* Illustrated homepage guidance with progressive scroll reveals. */
.home-preparation-visual-layout{display:grid;grid-template-columns:1fr 1fr;gap:36px;align-items:stretch}.home-preparation-visual-layout .home-preparation-grid{grid-template-columns:1fr;gap:14px}.home-preparation-visual-layout .home-preparation-grid article{position:relative;padding:22px 24px 22px 88px;transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}.home-preparation-visual-layout .home-content-number{position:absolute;left:24px;top:24px;margin:0}.home-preparation-grid article:hover{transform:translateY(-4px);border-color:#d6b45e;box-shadow:0 12px 24px #0b2b4d10}.home-guidance-photo{position:relative;margin:0;border-radius:22px;overflow:hidden;min-height:400px;background:#102d46;box-shadow:0 16px 38px #0b2b4d16}.home-guidance-photo img{display:block;width:100%;height:100%;min-height:400px;object-fit:cover;transition:transform .7s ease}.home-guidance-photo:hover img{transform:scale(1.035)}.home-guidance-photo figcaption{position:absolute;inset:auto 0 0;padding:60px 28px 25px;background:linear-gradient(transparent,#071e35ed);color:#fff;font-size:.93rem;line-height:1.6}.home-provider-layout{grid-template-columns:1fr 1.05fr;gap:42px;align-items:stretch}.home-provider-intro .btn{margin-top:5px;margin-bottom:24px}.home-provider-checks{gap:12px}.home-provider-checks article{transition:transform .25s ease,background .25s ease}.home-provider-checks article:hover{transform:translateX(5px);background:#f4f8fb}.home-provider-checks h3{font-size:1.05rem;margin-bottom:7px}.home-guidance-reveal{scroll-margin-top:110px}.home-guidance-reveal.is-reveal-pending{opacity:0;transform:translateY(24px)}.home-guidance-reveal{transition:opacity .65s ease,transform .65s ease;transition-delay:var(--reveal-delay,0ms)}
@media(max-width:780px){.home-preparation-visual-layout,.home-provider-layout{grid-template-columns:1fr;gap:25px}.home-guidance-photo{min-height:0;aspect-ratio:3/2}.home-guidance-photo img{min-height:0;position:absolute;inset:0}.home-preparation-visual-layout .home-preparation-grid article{padding:21px 20px 21px 78px}.home-preparation-visual-layout .home-content-number{left:18px;top:22px}.home-guidance-photo figcaption{padding:45px 20px 18px;font-size:.87rem}}
@media(prefers-reduced-motion:reduce){.home-guidance-reveal,.home-guidance-photo img,.home-preparation-visual-layout .home-preparation-grid article,.home-provider-checks article{transition:none}.home-guidance-reveal.is-reveal-pending{opacity:1;transform:none}.home-guidance-photo:hover img,.home-preparation-grid article:hover,.home-provider-checks article:hover{transform:none}}
.home-guidance-photo img{position:absolute;inset:0}
/* Scroll-linked preparation story. */
.prep-scroll-section{--prep-top:110px}.prep-scroll-layout{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:start}.prep-sticky-visual{position:sticky;top:var(--prep-top);border-radius:24px;overflow:hidden;background:#0b2b4d;box-shadow:0 18px 40px #0b2b4d1a}.prep-image-stack{position:relative;height:clamp(340px,58vh,560px)}.prep-image-stack .prep-step-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transform:scale(1.04);transition:opacity .6s ease,transform .9s ease}.prep-image-stack .prep-step-image.is-active{opacity:1;transform:scale(1)}.prep-image-caption{display:flex;align-items:center;gap:20px;flex-wrap:wrap;padding:20px 24px;color:#d5e1ea;font-size:.85rem}.prep-step-counter{color:#f0c36b;font-weight:850;font-size:1rem;letter-spacing:.1em}.prep-progress{flex-basis:100%;height:3px;background:#ffffff20;border-radius:3px;overflow:hidden}.prep-progress>span{display:block;height:100%;width:33.33%;background:#e2b85a;transition:width .5s ease}.prep-scroll-point{min-height:240px;display:flex;align-items:center}.prep-point-copy{padding:28px 0}.prep-point-copy h3{font-size:clamp(1.65rem,2.8vw,2.4rem);line-height:1.2;color:var(--navy);margin:4px 0 18px}.prep-point-copy p{font-size:1.04rem;color:var(--muted);line-height:1.8;margin:0}.prep-point-hint{display:block;margin-top:26px;color:#9a6b13;font-size:.84rem;font-weight:750}.is-sticky-prep .prep-scroll-point{min-height:72vh;opacity:.48;transition:opacity .4s ease}.is-sticky-prep .prep-scroll-point.is-active{opacity:1}.prep-scroll-point>.prep-step-image{display:block;width:100%;aspect-ratio:3/2;object-fit:cover;border-radius:18px}.prep-scroll-section:not(.is-sticky-prep) .prep-sticky-visual{display:none}.prep-scroll-section:not(.is-sticky-prep) .prep-scroll-layout{display:block}.prep-scroll-section:not(.is-sticky-prep) .prep-scroll-point{display:block;margin-bottom:28px}.prep-scroll-section:not(.is-sticky-prep) .prep-point-hint{display:none}
/* Review desk: cards unfold into a connected three-part checklist. */
.home-review-layout{display:grid;grid-template-columns:1fr 1.05fr;gap:40px 52px;align-items:center}.home-review-photo{position:relative;overflow:hidden;margin:0;border-radius:24px;aspect-ratio:4/3;background:#0b2b4d}.home-review-photo img{width:100%;height:100%;object-fit:cover;transition:transform .7s ease}.home-review-photo:hover img{transform:scale(1.04)}.home-review-photo figcaption{position:absolute;bottom:20px;left:20px;right:20px;border:1px solid #ffffff45;border-radius:12px;background:#0b2b4de8;color:white;padding:15px 18px;font-size:.9rem;display:flex;align-items:center;gap:12px}.home-review-photo figcaption>span{display:grid;place-items:center;width:28px;height:28px;flex-shrink:0;background:#e2b85a;color:#0b2b4d;border-radius:50%;font-weight:850}.home-review-intro h2{font-size:clamp(2rem,3.3vw,3.15rem);line-height:1.13;letter-spacing:-.04em;color:var(--navy);margin:14px 0 20px}.home-review-intro p{color:var(--muted);line-height:1.8;margin-bottom:24px}.home-review-track{grid-column:1/-1;perspective:1200px}.home-review-line{height:3px;background:#e5ebf1;margin:8px 24px 30px;overflow:hidden}.home-review-line>span{display:block;width:calc(var(--review-progress,0)*100%);height:100%;background:linear-gradient(90deg,#0b2b4d,#d4a34b)}.home-review-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.home-review-card{position:relative;padding:28px;border:1px solid var(--line);border-radius:18px;background:linear-gradient(145deg,#fff,#f7fafc);box-shadow:0 12px 25px #0b2b4d08;transform-origin:center top;transition:transform .7s cubic-bezier(.2,.7,.2,1),opacity .6s ease,box-shadow .25s ease,border-color .25s ease}.home-review-card.review-pending{opacity:0;transform:translateY(50px) rotateX(14deg) rotate(-4deg)}.home-review-card:nth-child(2).review-pending{transform:translateY(70px) rotateX(14deg)}.home-review-card:nth-child(3).review-pending{transform:translateY(50px) rotateX(14deg) rotate(4deg)}.home-review-card:hover{transform:translateY(-7px);border-color:#cba448;box-shadow:0 18px 35px #0b2b4d18}.review-card-index{display:flex;align-items:center;gap:12px;font-weight:850;color:#9a6b13;margin-bottom:22px;font-size:1.3rem}.review-card-index>span{font-size:.66rem;letter-spacing:.14em;color:#60758a}.home-review-card h3{font-size:1.2rem;color:var(--navy);line-height:1.3;margin:0 0 15px}.home-review-card p{font-size:.94rem;line-height:1.8;color:var(--muted);margin:0 0 22px}.review-card-prompt{display:block;border-top:1px solid var(--line);padding-top:16px;font-size:.85rem;font-weight:750;color:#9a6b13}.home-review-card.is-reviewed .review-card-index{color:#0b2b4d}
@media(max-width:1000px){.prep-scroll-layout{gap:35px}.home-review-layout{gap:30px}.home-review-cards{gap:14px}.home-review-card{padding:22px}}
@media(max-width:780px){.home-review-layout{grid-template-columns:1fr}.home-review-photo{aspect-ratio:16/10}.home-review-intro{grid-row:1}.home-review-track{grid-column:auto}.home-review-cards{grid-template-columns:1fr}.home-review-line{display:none}.home-review-card{padding:24px 24px 24px 76px}.review-card-index{position:absolute;left:22px;top:24px}.review-card-index>span{display:none}.home-review-photo figcaption{left:12px;right:12px;bottom:12px;font-size:.82rem;padding:12px}.home-review-card.review-pending,.home-review-card:nth-child(2).review-pending,.home-review-card:nth-child(3).review-pending{transform:translateX(20px);opacity:0}.prep-point-copy{padding:24px 4px}.prep-point-copy h3{font-size:1.8rem}}
@media(prefers-reduced-motion:reduce){.prep-image-stack .prep-step-image,.prep-progress>span,.home-review-photo img,.home-review-card,.is-sticky-prep .prep-scroll-point{transition:none}.home-review-card.review-pending{opacity:1;transform:none}.home-review-card:hover,.home-review-photo:hover img{transform:none}}

/* Vibrant audience choices, coordinated with the navy hero. */
.hero .home-audience-card:first-child{background:linear-gradient(130deg,#076fd0 0%,#064aa9 58%,#0b3478 100%);border-color:#589fe9;box-shadow:0 12px 30px #0002}.hero .home-audience-card:nth-child(2){background:linear-gradient(130deg,#007f80 0%,#006b62 58%,#07524d 100%);border-color:#54c5ab;box-shadow:0 12px 30px #0002}.hero .home-audience-card p,.hero .home-audience-card .audience-eyebrow{color:#fff}.hero .home-audience-card:hover{box-shadow:0 15px 35px #0004;border-color:#ffe0a0}.hero .home-audience-card h2{font-size:1.25rem!important}
