
:root{--orange:#F58220;--navy:#102A43;--text:#17212B;--muted:#52606D;--light:#F4F7F9;--border:#DCE3E8;--white:#fff;--shell:1200px}
*{box-sizing:border-box}body{margin:0;color:var(--text);font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.6;background:#fff}a{color:inherit}.site-shell{width:min(calc(100% - 40px),var(--shell));margin:auto}
.emergency-bar{background:var(--navy);color:#fff;font-size:14px}.emergency-bar__inner{min-height:38px;display:flex;align-items:center;justify-content:space-between;gap:20px}.emergency-bar a{font-weight:800;text-decoration:none}
.site-header{position:sticky;top:0;z-index:1000;background:rgba(255,255,255,.98);border-bottom:1px solid var(--border)}.admin-bar .site-header{top:32px}.site-header__inner{min-height:82px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:28px}
.site-brand__text{display:flex;flex-direction:column;text-decoration:none;color:var(--navy);line-height:1.05}.site-brand__text strong{font-size:21px}.site-brand__text span{margin-top:4px;font-size:12px;font-weight:700;text-transform:uppercase;color:var(--muted)}
.primary-nav{justify-self:center}.primary-nav__menu{display:flex;list-style:none;gap:24px;margin:0;padding:0}.primary-nav__menu a{text-decoration:none;font-weight:750;color:var(--navy)}
.header-call{display:flex;flex-direction:column;text-decoration:none;color:var(--navy);text-align:right;line-height:1.1}.header-call span{font-size:11px;text-transform:uppercase;font-weight:800;color:#c95f0a}.header-call strong{margin-top:4px;font-size:17px}
.menu-toggle{display:none;background:none;border:0;padding:8px}.menu-toggle span{display:block;width:26px;height:2px;background:var(--navy);margin:5px}
.hero{padding:86px 0;background:radial-gradient(circle at 80% 15%,rgba(245,130,32,.18),transparent 26%),linear-gradient(135deg,#f8fbfd,#eef4f7)}.hero__grid{display:grid;grid-template-columns:1.12fr .88fr;gap:64px;align-items:center}
.eyebrow{margin-bottom:14px;color:#c95f0a;font-size:13px;font-weight:900;letter-spacing:.12em;text-transform:uppercase}.eyebrow--light{color:#ffd1aa}.hero h1,.section-heading h2,.cta-band h2,.page-hero h1{margin:0;color:var(--navy);line-height:1.04;letter-spacing:-.035em}.hero h1{font-size:clamp(44px,6vw,76px)}.hero__lead{margin-top:24px;font-size:19px;color:var(--muted)}
.hero__actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:30px}.button{min-height:52px;display:inline-flex;align-items:center;justify-content:center;padding:0 22px;border-radius:10px;text-decoration:none;font-weight:850}.button--primary{background:var(--orange);color:#111}.button--secondary{background:var(--navy);color:#fff}.button--light{background:#fff;color:var(--navy)}
.hero__visual{min-height:430px;display:flex;align-items:center;justify-content:center;border-radius:28px;background:linear-gradient(155deg,#102a43,#173f5f)}.hero__visual-card{width:min(82%,400px);padding:32px;border-radius:20px;background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.16);color:#fff}.hero__visual-title{font-size:38px;font-weight:900;line-height:1.05}
.section{padding:88px 0}.section-heading{max-width:760px}.section-heading h2{font-size:clamp(34px,4.5vw,54px)}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:40px}.service-grid article{padding:28px;border:1px solid var(--border);border-radius:18px}.service-grid h3{margin:0;color:var(--navy);font-size:22px}.service-grid p{color:var(--muted)}
.cta-band{padding:48px 0;background:var(--navy);color:#fff}.cta-band__inner{display:flex;justify-content:space-between;align-items:center;gap:24px}.cta-band h2{color:#fff;font-size:clamp(30px,4vw,44px)}
.page-hero{padding:72px 0;background:var(--light)}.page-hero h1{font-size:clamp(40px,5vw,64px)}.content-wrap{max-width:900px}.content-card{padding:28px 0;border-bottom:1px solid var(--border)}
.site-footer{background:#0b2033;color:rgba(255,255,255,.78);padding:64px 0 24px}.site-footer__grid{display:grid;grid-template-columns:1.4fr .8fr .8fr;gap:50px}.site-footer__brand,.site-footer h2{color:#fff;font-weight:900}.site-footer__menu{list-style:none;margin:0;padding:0}.site-footer__menu a,.site-footer__phone{color:#fff;text-decoration:none}.site-footer__phone{font-size:21px;font-weight:900}.site-footer__bottom{margin-top:42px;padding-top:20px;border-top:1px solid rgba(255,255,255,.12);font-size:13px}.mobile-emergency-bar{display:none}
@media(max-width:980px){.site-header__inner{grid-template-columns:1fr auto}.header-call{display:none}.menu-toggle{display:block}.primary-nav{position:absolute;left:0;right:0;top:100%;display:none;background:#fff;border-bottom:1px solid var(--border)}.primary-nav.is-open{display:block}.primary-nav__menu{display:block;width:min(calc(100% - 40px),var(--shell));margin:auto;padding:18px 0}.primary-nav__menu a{display:block;padding:14px 0}.hero__grid{grid-template-columns:1fr}.service-grid{grid-template-columns:repeat(2,1fr)}.site-footer__grid{grid-template-columns:1fr 1fr}}
@media(max-width:782px){.admin-bar .site-header{top:46px}}
@media(max-width:700px){body{padding-bottom:62px}.site-shell{width:min(calc(100% - 28px),var(--shell))}.emergency-bar__inner{justify-content:center}.emergency-bar__inner span{display:none}.hero{padding:58px 0}.hero__actions{display:grid}.button{width:100%}.service-grid{grid-template-columns:1fr}.cta-band__inner{display:grid}.site-footer__grid{grid-template-columns:1fr}.mobile-emergency-bar{position:fixed;z-index:2000;left:0;right:0;bottom:0;display:grid;grid-template-columns:1fr 1fr}.mobile-emergency-bar a{min-height:62px;display:flex;align-items:center;justify-content:center;text-decoration:none;font-weight:900}.mobile-emergency-bar a:first-child{background:var(--orange);color:#111}.mobile-emergency-bar a:last-child{background:var(--navy);color:#fff}}


/* v0.2 compact header refinements */
.custom-logo-link{
    display:flex;
    align-items:center;
    line-height:0;
}
.custom-logo{
    display:block;
    width:auto;
    height:72px;
    max-width:150px;
    object-fit:contain;
}
.site-header__inner{
    min-height:92px;
}
.primary-nav__menu{
    gap:20px;
}
.primary-nav__menu a{
    font-size:14px;
    white-space:nowrap;
}
.header-call{
    min-width:138px;
}
@media(max-width:1100px){
    .custom-logo{
        height:64px;
        max-width:132px;
    }
    .primary-nav__menu{
        gap:14px;
    }
    .primary-nav__menu a{
        font-size:13px;
    }
}
@media(max-width:980px){
    .custom-logo{
        height:58px;
        max-width:122px;
    }
    .site-header__inner{
        min-height:76px;
    }
}


/* v0.3 homepage hero photo */
.hero__visual--photo{
    background-size:cover !important;
    background-position:center !important;
    background-repeat:no-repeat !important;
}


/* v0.4 larger desktop hero image */
@media (min-width: 981px) {
    .hero {
        padding: 76px 0;
    }

    .hero__grid {
        grid-template-columns: minmax(0, 0.92fr) minmax(500px, 1.08fr);
        gap: 54px;
    }

    .hero__visual {
        min-height: 500px;
        border-radius: 24px;
    }

    .hero__visual--photo {
        background-position: center center !important;
    }
}

@media (min-width: 1200px) {
    .hero__visual {
        min-height: 520px;
    }
}


/* v0.5 SEO hero balance + trust strip */
@media (min-width: 981px) {
    .hero__grid {
        grid-template-columns: minmax(0, 1fr) minmax(520px, 1.05fr);
        gap: 58px;
    }

    .hero h1 {
        font-size: clamp(50px, 5.1vw, 68px);
        max-width: 720px;
    }

    .hero__visual {
        min-height: 470px;
    }
}

.hero__visual--photo {
    background-size: cover !important;
    background-repeat: no-repeat !important;
}

.trust-strip {
    background: #ffffff;
    border-top: 1px solid var(--border);
    border-bottom: 1px solid var(--border);
}

.trust-strip__grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
}

.trust-item {
    min-height: 104px;
    padding: 22px 26px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    border-right: 1px solid var(--border);
}

.trust-item:first-child {
    border-left: 1px solid var(--border);
}

.trust-item strong {
    color: var(--orange);
    font-size: 15px;
    font-weight: 900;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.trust-item span {
    margin-top: 3px;
    color: var(--navy);
    font-size: 15px;
    font-weight: 800;
    line-height: 1.3;
}

@media (max-width: 900px) {
    .trust-strip__grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .trust-item:nth-child(2) {
        border-right: 1px solid var(--border);
    }

    .trust-item:nth-child(3),
    .trust-item:nth-child(4) {
        border-top: 1px solid var(--border);
    }
}

@media (max-width: 560px) {
    .trust-strip__grid {
        grid-template-columns: 1fr;
    }

    .trust-item,
    .trust-item:first-child {
        min-height: 82px;
        border-left: 1px solid var(--border);
        border-right: 1px solid var(--border);
    }

    .trust-item + .trust-item {
        border-top: 1px solid var(--border);
    }
}


/* v0.6 enhanced service section */
.services-section{
    background:#fff;
}
.services-heading{
    max-width:820px;
}
.services-heading p{
    max-width:760px;
}
.service-grid--enhanced{
    gap:22px;
}
.service-card-link{
    display:block;
    text-decoration:none;
    color:inherit;
    border-radius:20px;
}
.service-card--enhanced{
    height:100%;
    min-height:290px;
    display:flex;
    flex-direction:column;
    padding:30px;
    border:1px solid var(--border);
    border-radius:20px;
    background:#fff;
    box-shadow:0 10px 28px rgba(16,42,67,.055);
    transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.service-card-link:hover .service-card--enhanced{
    transform:translateY(-4px);
    border-color:rgba(245,130,32,.55);
    box-shadow:0 18px 42px rgba(16,42,67,.11);
}
.service-icon{
    width:54px;
    height:54px;
    display:grid;
    place-items:center;
    margin-bottom:22px;
    border-radius:15px;
    background:rgba(245,130,32,.12);
    color:var(--orange);
}
.service-icon svg{
    width:28px;
    height:28px;
    fill:currentColor;
}
.service-card--enhanced h3{
    font-size:23px;
    line-height:1.2;
}
.service-card--enhanced p{
    margin:12px 0 24px;
    font-size:15.5px;
    line-height:1.65;
}
.service-card__cta{
    margin-top:auto;
    display:inline-flex;
    align-items:center;
    gap:8px;
    color:var(--navy);
    font-size:14px;
    font-weight:900;
}
.service-card__cta > span{
    color:var(--orange);
    transition:transform .18s ease;
}
.service-card-link:hover .service-card__cta > span{
    transform:translateX(4px);
}
@media(max-width:700px){
    .service-card--enhanced{
        min-height:0;
        padding:24px;
    }
}


/* v0.7 why choose + process */
.why-section{
    padding:92px 0;
    background:var(--navy);
    color:#fff;
}
.why-grid{
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(420px,.82fr);
    gap:72px;
    align-items:start;
}
.why-copy h2{
    margin:0;
    max-width:760px;
    color:#fff;
    font-size:clamp(36px,4.7vw,58px);
    line-height:1.04;
    letter-spacing:-.035em;
}
.why-copy > p{
    max-width:720px;
    margin:22px 0 0;
    color:rgba(255,255,255,.76);
    font-size:18px;
}
.why-points{
    display:grid;
    gap:22px;
    margin-top:38px;
}
.why-point{
    display:grid;
    grid-template-columns:34px 1fr;
    gap:14px;
}
.why-point__check{
    width:30px;
    height:30px;
    display:grid;
    place-items:center;
    border-radius:50%;
    background:var(--orange);
    color:#111;
    font-weight:950;
}
.why-point strong{
    display:block;
    color:#fff;
    font-size:17px;
}
.why-point p{
    margin:5px 0 0;
    color:rgba(255,255,255,.68);
    font-size:15px;
    line-height:1.55;
}
.process-card{
    padding:34px;
    border-radius:22px;
    background:#fff;
    color:var(--text);
    box-shadow:0 26px 60px rgba(0,0,0,.22);
}
.process-card h3{
    margin:0;
    color:var(--navy);
    font-size:32px;
    line-height:1.08;
}
.process-list{
    list-style:none;
    padding:0;
    margin:28px 0 0;
}
.process-list li{
    display:grid;
    grid-template-columns:48px 1fr;
    gap:16px;
    padding:18px 0;
    border-top:1px solid var(--border);
}
.process-list li:first-child{
    border-top:0;
    padding-top:0;
}
.process-list li > span{
    color:var(--orange);
    font-size:16px;
    font-weight:950;
    letter-spacing:.05em;
}
.process-list strong{
    display:block;
    color:var(--navy);
    font-size:16px;
}
.process-list p{
    margin:4px 0 0;
    color:var(--muted);
    font-size:14px;
    line-height:1.5;
}
.process-card__button{
    width:100%;
    margin-top:8px;
}
@media(max-width:980px){
    .why-grid{
        grid-template-columns:1fr;
        gap:44px;
    }
}
@media(max-width:700px){
    .why-section{
        padding:68px 0;
    }
    .process-card{
        padding:24px;
    }
    .process-list li{
        grid-template-columns:42px 1fr;
    }
}


/* v0.9 projects + testimonial reviews */
.projects-section{
    padding:92px 0;
    background:#f7f9fb;
}
.projects-heading{
    max-width:820px;
}
.project-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:22px;
    margin-top:42px;
}
.project-card{
    overflow:hidden;
    border:1px solid var(--border);
    border-radius:20px;
    background:#fff;
    box-shadow:0 12px 32px rgba(16,42,67,.07);
}
.project-card__media{
    min-height:260px;
    display:grid;
    place-items:center;
    background:linear-gradient(135deg,#e8eef3,#f5f8fa);
    color:var(--muted);
    font-weight:800;
    text-align:center;
    padding:24px;
}
.project-card__media.has-photo{
    background-size:cover;
    background-position:center;
    background-repeat:no-repeat;
}
.project-card__body{
    padding:24px;
}
.project-card__location{
    color:var(--orange);
    font-size:12px;
    font-weight:900;
    letter-spacing:.08em;
    text-transform:uppercase;
}
.project-card h3{
    margin:7px 0 0;
    color:var(--navy);
    font-size:23px;
    line-height:1.2;
}
.project-card p{
    margin:11px 0 0;
    color:var(--muted);
    font-size:15px;
}

.reviews-section{
    padding:92px 0;
    background:#0b2033;
    color:#fff;
}
.reviews-grid{
    display:grid;
    grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);
    gap:68px;
    align-items:start;
}
.reviews-intro h2{
    margin:0;
    color:#fff;
    font-size:clamp(36px,4.5vw,56px);
    line-height:1.05;
    letter-spacing:-.035em;
}
.reviews-intro p{
    margin:20px 0 0;
    color:rgba(255,255,255,.72);
    font-size:17px;
}
.reviews-list{
    display:grid;
    gap:18px;
}
.review-card{
    padding:26px;
    border-radius:18px;
    background:#fff;
    color:var(--text);
}
.review-card__stars{
    color:var(--orange);
    letter-spacing:.08em;
    font-size:15px;
}
.review-card blockquote{
    margin:12px 0 0;
    color:var(--navy);
    font-size:17px;
    line-height:1.55;
    font-weight:650;
}
.review-card cite{
    display:block;
    margin-top:14px;
    color:var(--muted);
    font-size:14px;
    font-style:normal;
    font-weight:800;
}
.review-card--empty{
    opacity:.78;
}
@media(max-width:980px){
    .project-grid{
        grid-template-columns:1fr 1fr;
    }
    .reviews-grid{
        grid-template-columns:1fr;
        gap:42px;
    }
}
@media(max-width:700px){
    .projects-section,
    .reviews-section{
        padding:68px 0;
    }
    .project-grid{
        grid-template-columns:1fr;
    }
    .project-card__media{
        min-height:230px;
    }
}


/* v1.0 real Google review controls */
.review-card__topline{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
    margin-bottom:8px;
}
.review-card__source{
    color:var(--navy);
    font-size:12px;
    font-weight:900;
    letter-spacing:.08em;
    text-transform:uppercase;
}
.review-card__date{
    color:var(--muted);
    font-size:12px;
    font-weight:700;
}
.reviews-button{
    margin-top:26px;
}


/* v1.1 insurance + service areas + FAQ */
.insurance-section{
    padding:92px 0;
    background:#fff;
}
.insurance-grid{
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(420px,.9fr);
    gap:70px;
    align-items:center;
}
.insurance-copy h2,
.areas-copy h2,
.faq-intro h2{
    margin:0;
    color:var(--navy);
    font-size:clamp(36px,4.5vw,56px);
    line-height:1.05;
    letter-spacing:-.035em;
}
.insurance-copy > p,
.areas-copy > p,
.faq-intro > p{
    margin:20px 0 0;
    color:var(--muted);
    font-size:17px;
}
.insurance-note{
    padding:14px 16px;
    border-left:3px solid var(--orange);
    background:#f7f9fb;
    font-size:14px !important;
}
.insurance-copy .button{
    margin-top:24px;
}
.insurance-card{
    overflow:hidden;
    border:1px solid var(--border);
    border-radius:22px;
    background:#f8fafc;
}
.insurance-card__item{
    display:grid;
    grid-template-columns:48px 1fr;
    gap:16px;
    padding:24px;
    border-top:1px solid var(--border);
}
.insurance-card__item:first-child{
    border-top:0;
}
.insurance-card__item > span{
    color:var(--orange);
    font-weight:950;
    letter-spacing:.06em;
}
.insurance-card__item strong{
    display:block;
    color:var(--navy);
    font-size:17px;
}
.insurance-card__item p{
    margin:5px 0 0;
    color:var(--muted);
    font-size:14px;
}

.areas-section{
    padding:86px 0;
    background:#f4f7f9;
}
.areas-grid{
    display:grid;
    grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);
    gap:64px;
    align-items:center;
}
.areas-copy .button{
    margin-top:24px;
}
.areas-list{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:12px;
}
.areas-list span{
    min-height:54px;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:12px 14px;
    border:1px solid var(--border);
    border-radius:12px;
    background:#fff;
    color:var(--navy);
    text-align:center;
    font-size:14px;
    font-weight:850;
}

.faq-section{
    padding:92px 0;
    background:#fff;
}
.faq-grid{
    display:grid;
    grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr);
    gap:70px;
    align-items:start;
}
.faq-list{
    border-top:1px solid var(--border);
}
.faq-list details{
    border-bottom:1px solid var(--border);
}
.faq-list summary{
    position:relative;
    padding:22px 46px 22px 0;
    cursor:pointer;
    list-style:none;
    color:var(--navy);
    font-size:18px;
    font-weight:850;
}
.faq-list summary::-webkit-details-marker{
    display:none;
}
.faq-list summary::after{
    content:"+";
    position:absolute;
    right:4px;
    top:18px;
    width:30px;
    height:30px;
    display:grid;
    place-items:center;
    border-radius:50%;
    background:rgba(245,130,32,.12);
    color:var(--orange);
    font-size:22px;
    font-weight:700;
}
.faq-list details[open] summary::after{
    content:"−";
}
.faq-list details p{
    margin:-4px 46px 22px 0;
    color:var(--muted);
    font-size:15.5px;
    line-height:1.65;
}

@media(max-width:980px){
    .insurance-grid,
    .areas-grid,
    .faq-grid{
        grid-template-columns:1fr;
        gap:42px;
    }
}
@media(max-width:700px){
    .insurance-section,
    .areas-section,
    .faq-section{
        padding:68px 0;
    }
    .areas-list{
        grid-template-columns:repeat(2,1fr);
    }
}


/* v1.3 SEO/AEO FAQ refinements */
.faq-intro{
    position:sticky;
    top:150px;
}
.faq-list details[open] summary{
    color:var(--orange-dark, #c95f0a);
}
.faq-list details p{
    max-width:760px;
}
@media(max-width:980px){
    .faq-intro{
        position:static;
    }
}


/* v1.4 Water Damage Restoration service page */
.service-hero{
    padding:78px 0;
    background:radial-gradient(circle at 82% 10%,rgba(245,130,32,.16),transparent 24%),linear-gradient(135deg,#f8fbfd,#eef4f7);
}
.service-hero__grid{
    display:grid;
    grid-template-columns:minmax(0,.95fr) minmax(500px,1.05fr);
    gap:58px;
    align-items:center;
}
.service-hero h1{
    margin:0;
    max-width:730px;
    color:var(--navy);
    font-size:clamp(48px,5.2vw,70px);
    line-height:1.03;
    letter-spacing:-.04em;
}
.service-hero__lead{
    margin:22px 0 0;
    max-width:740px;
    color:var(--muted);
    font-size:18px;
    line-height:1.65;
}
.service-hero__microcopy{
    margin-top:18px;
    color:var(--muted);
    font-size:13px;
    font-weight:700;
}
.service-hero__media{
    min-height:470px;
    border-radius:24px;
    display:grid;
    place-items:center;
    overflow:hidden;
    background:linear-gradient(135deg,#dce6ee,#eef3f6);
    color:var(--muted);
    font-weight:800;
    background-size:cover;
    background-position:center;
}
.service-proof{
    border-top:1px solid var(--border);
    border-bottom:1px solid var(--border);
    background:#fff;
}
.service-proof__grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
}
.service-proof__grid > div{
    min-height:100px;
    padding:22px 24px;
    display:flex;
    flex-direction:column;
    justify-content:center;
    border-right:1px solid var(--border);
}
.service-proof__grid > div:first-child{
    border-left:1px solid var(--border);
}
.service-proof strong{
    color:var(--orange);
    font-size:14px;
    font-weight:950;
    letter-spacing:.07em;
    text-transform:uppercase;
}
.service-proof span{
    margin-top:3px;
    color:var(--navy);
    font-size:15px;
    font-weight:850;
}
.service-two-col{
    display:grid;
    grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);
    gap:70px;
}
.service-two-col h2,
.materials-section h2,
.water-project__copy h2{
    margin:0;
    color:var(--navy);
    font-size:clamp(36px,4.4vw,56px);
    line-height:1.05;
    letter-spacing:-.035em;
}
.service-body-copy p{
    margin:0 0 18px;
    color:var(--muted);
    font-size:17px;
}
.service-body-copy strong{
    color:var(--navy);
}
.service-causes{
    padding:90px 0;
    background:#f5f8fa;
}
.cause-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:18px;
    margin-top:40px;
}
.cause-grid article{
    padding:26px;
    border:1px solid var(--border);
    border-radius:18px;
    background:#fff;
}
.cause-grid article > span{
    color:var(--orange);
    font-size:13px;
    font-weight:950;
}
.cause-grid h3{
    margin:8px 0 0;
    color:var(--navy);
    font-size:21px;
}
.cause-grid p{
    margin:10px 0 0;
    color:var(--muted);
    font-size:14.5px;
}
.service-process{
    padding:92px 0;
    background:var(--navy);
    color:#fff;
}
.section-heading--light h2{
    color:#fff;
}
.section-heading--light p{
    color:rgba(255,255,255,.72);
}
.service-process__grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:18px;
    list-style:none;
    padding:0;
    margin:42px 0 0;
}
.service-process__grid li{
    padding:26px;
    border:1px solid rgba(255,255,255,.14);
    border-radius:18px;
    background:rgba(255,255,255,.06);
}
.service-process__grid li > span{
    color:#ffd1aa;
    font-weight:950;
    letter-spacing:.07em;
}
.service-process__grid h3{
    margin:9px 0 0;
    color:#fff;
    font-size:20px;
}
.service-process__grid p{
    margin:10px 0 0;
    color:rgba(255,255,255,.7);
    font-size:14px;
}
.materials-section{
    padding:92px 0;
    background:#fff;
}
.materials-grid{
    display:grid;
    grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);
    gap:70px;
    align-items:start;
}
.materials-grid > div:first-child > p{
    color:var(--muted);
    font-size:17px;
}
.materials-list{
    border-top:1px solid var(--border);
}
.materials-list > div{
    display:grid;
    grid-template-columns:180px 1fr;
    gap:24px;
    padding:22px 0;
    border-bottom:1px solid var(--border);
}
.materials-list strong{
    color:var(--navy);
}
.materials-list span{
    color:var(--muted);
    font-size:14.5px;
}
.water-project-section{
    padding:90px 0;
    background:#f5f8fa;
}
.water-project-grid{
    display:grid;
    grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);
    gap:56px;
    align-items:center;
}
.water-project__media{
    min-height:430px;
    border-radius:22px;
    background:#e7edf2;
    background-size:cover;
    background-position:center;
    box-shadow:0 18px 44px rgba(16,42,67,.12);
}
.water-project__copy p{
    margin:18px 0 0;
    color:var(--muted);
    font-size:17px;
}
.water-project__copy .button{
    margin-top:24px;
}
.service-areas-compact{
    padding:88px 0;
    background:#f5f8fa;
}
.areas-list--service{
    margin-top:36px;
    grid-template-columns:repeat(4,1fr);
}
.related-services{
    padding:88px 0;
    background:#fff;
}
.related-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:18px;
    margin-top:34px;
}
.related-grid a{
    min-height:150px;
    padding:26px;
    display:flex;
    flex-direction:column;
    justify-content:center;
    border:1px solid var(--border);
    border-radius:18px;
    text-decoration:none;
    background:#fff;
    transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease;
}
.related-grid a:hover{
    transform:translateY(-3px);
    border-color:rgba(245,130,32,.55);
    box-shadow:0 14px 30px rgba(16,42,67,.08);
}
.related-grid strong{
    color:var(--navy);
    font-size:20px;
}
.related-grid span{
    margin-top:8px;
    color:var(--muted);
    font-size:14px;
}
@media(max-width:980px){
    .service-hero__grid,
    .service-two-col,
    .materials-grid,
    .water-project-grid{
        grid-template-columns:1fr;
        gap:42px;
    }
    .service-process__grid,
    .cause-grid{
        grid-template-columns:repeat(2,1fr);
    }
    .areas-list--service{
        grid-template-columns:repeat(3,1fr);
    }
}
@media(max-width:700px){
    .service-hero{
        padding:58px 0;
    }
    .service-hero__media{
        min-height:300px;
    }
    .service-proof__grid{
        grid-template-columns:repeat(2,1fr);
    }
    .service-proof__grid > div{
        border-top:1px solid var(--border);
    }
    .cause-grid,
    .service-process__grid,
    .related-grid{
        grid-template-columns:1fr;
    }
    .materials-list > div{
        grid-template-columns:1fr;
        gap:6px;
    }
    .water-project__media{
        min-height:300px;
    }
    .areas-list--service{
        grid-template-columns:repeat(2,1fr);
    }
}


/* v1.7 Mold Remediation page */
.mold-hero{
    background:
      radial-gradient(circle at 82% 10%,rgba(245,130,32,.13),transparent 24%),
      linear-gradient(135deg,#f8fbfd,#eef4f7);
}
.mold-signs{
    background:#f6f8fa;
}
.mold-process{
    background:#102A43;
}
.mold-project-section{
    background:#f5f8fa;
}


/* v1.8 Fire & Smoke Damage page */
.fire-hero{
    background:
      radial-gradient(circle at 82% 10%,rgba(245,130,32,.18),transparent 25%),
      linear-gradient(135deg,#f8fbfd,#eef4f7);
}
.fire-damage-types{
    background:#f6f8fa;
}
.fire-process{
    background:#102A43;
}
.fire-materials{
    background:#fff;
}


/* v1.9 Sewage Cleanup page */
.sewage-hero{
    background:
      radial-gradient(circle at 82% 10%,rgba(245,130,32,.14),transparent 24%),
      linear-gradient(135deg,#f8fbfd,#eef4f7);
}
.sewage-sources{
    background:#f6f8fa;
}
.sewage-process{
    background:#102A43;
}
.sewage-materials{
    background:#fff;
}


/* v2.0 Commercial Restoration page */
.commercial-hero{
    background:
      radial-gradient(circle at 82% 10%,rgba(245,130,32,.14),transparent 24%),
      linear-gradient(135deg,#f8fbfd,#eef4f7);
}
.commercial-losses{
    background:#f6f8fa;
}
.commercial-properties{
    padding:90px 0;
    background:#fff;
}
.commercial-property-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:18px;
    margin-top:40px;
}
.commercial-property-grid > div{
    min-height:170px;
    padding:26px;
    display:flex;
    flex-direction:column;
    justify-content:center;
    border:1px solid var(--border);
    border-radius:18px;
    background:#fff;
    box-shadow:0 10px 26px rgba(16,42,67,.045);
}
.commercial-property-grid strong{
    color:var(--navy);
    font-size:20px;
}
.commercial-property-grid span{
    margin-top:8px;
    color:var(--muted);
    font-size:14.5px;
    line-height:1.55;
}
.commercial-process{
    background:#102A43;
}
.commercial-coordination{
    padding:92px 0;
    background:#f5f8fa;
}
.commercial-coordination-grid{
    display:grid;
    grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);
    gap:70px;
    align-items:start;
}
.commercial-coordination-grid h2{
    margin:0;
    color:var(--navy);
    font-size:clamp(36px,4.4vw,56px);
    line-height:1.05;
    letter-spacing:-.035em;
}
.commercial-coordination-grid > div:first-child > p{
    color:var(--muted);
    font-size:17px;
}
.commercial-coordination-list{
    border-top:1px solid var(--border);
}
.commercial-coordination-list > div{
    display:grid;
    grid-template-columns:200px 1fr;
    gap:24px;
    padding:22px 0;
    border-bottom:1px solid var(--border);
}
.commercial-coordination-list strong{
    color:var(--navy);
}
.commercial-coordination-list span{
    color:var(--muted);
    font-size:14.5px;
}
@media(max-width:980px){
    .commercial-property-grid{
        grid-template-columns:repeat(2,1fr);
    }
    .commercial-coordination-grid{
        grid-template-columns:1fr;
        gap:42px;
    }
}
@media(max-width:700px){
    .commercial-property-grid{
        grid-template-columns:1fr;
    }
    .commercial-coordination-list > div{
        grid-template-columns:1fr;
        gap:6px;
    }
}


/* v2.1 Reconstruction page */
.reconstruction-hero{
    background:
      radial-gradient(circle at 82% 10%,rgba(245,130,32,.13),transparent 24%),
      linear-gradient(135deg,#f8fbfd,#eef4f7);
}
.reconstruction-services{
    background:#f6f8fa;
}
.reconstruction-process{
    background:#102A43;
}
.reconstruction-one-team{
    padding:92px 0;
    background:#fff;
}
.reconstruction-one-team__grid{
    display:grid;
    grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);
    gap:70px;
    align-items:start;
}
.reconstruction-one-team h2{
    margin:0;
    color:var(--navy);
    font-size:clamp(36px,4.4vw,56px);
    line-height:1.05;
    letter-spacing:-.035em;
}
.reconstruction-one-team p{
    color:var(--muted);
    font-size:17px;
}
.one-team-steps{
    border-top:1px solid var(--border);
}
.one-team-steps > div{
    display:grid;
    grid-template-columns:190px 1fr;
    gap:24px;
    padding:24px 0;
    border-bottom:1px solid var(--border);
}
.one-team-steps strong{
    color:var(--navy);
    font-size:17px;
}
.one-team-steps span{
    color:var(--muted);
    font-size:14.5px;
    line-height:1.55;
}
.reconstruction-project-section{
    background:#f5f8fa;
}
.related-grid--four{
    grid-template-columns:repeat(4,1fr);
}
@media(max-width:980px){
    .reconstruction-one-team__grid{
        grid-template-columns:1fr;
        gap:42px;
    }
    .related-grid--four{
        grid-template-columns:repeat(2,1fr);
    }
}
@media(max-width:700px){
    .one-team-steps > div{
        grid-template-columns:1fr;
        gap:6px;
    }
    .related-grid--four{
        grid-template-columns:1fr;
    }
}


/* v2.2 Service Areas hub */
.service-areas-hero{
    background:
      radial-gradient(circle at 82% 10%,rgba(245,130,32,.14),transparent 24%),
      linear-gradient(135deg,#f8fbfd,#eef4f7);
}
.service-areas-hero .service-hero__media{
    position:relative;
}
.service-area-hero-card{
    max-width:330px;
    margin:auto;
    padding:30px;
    border:1px solid rgba(255,255,255,.20);
    border-radius:20px;
    background:rgba(16,42,67,.88);
    color:#fff;
    backdrop-filter:blur(4px);
}
.service-area-hero-card span{
    display:block;
    color:#ffd1aa;
    font-size:12px;
    font-weight:950;
    letter-spacing:.09em;
    text-transform:uppercase;
}
.service-area-hero-card strong{
    display:block;
    margin-top:7px;
    color:#fff;
    font-size:30px;
}
.service-area-hero-card p{
    margin:10px 0 0;
    color:rgba(255,255,255,.78);
    font-size:14px;
}
.service-area-directory{
    padding:92px 0;
    background:#f5f8fa;
}
.service-area-directory__heading{
    max-width:850px;
}
.service-area-city-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:16px;
    margin-top:42px;
}
.service-area-city-card{
    min-height:178px;
    padding:24px;
    display:flex;
    flex-direction:column;
    justify-content:center;
    border:1px solid var(--border);
    border-radius:18px;
    background:#fff;
    text-decoration:none;
    box-shadow:0 10px 24px rgba(16,42,67,.045);
    transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease;
}
a.service-area-city-card:hover{
    transform:translateY(-3px);
    border-color:rgba(245,130,32,.55);
    box-shadow:0 16px 32px rgba(16,42,67,.08);
}
.service-area-city-card__label{
    color:var(--orange);
    font-size:11px;
    font-weight:950;
    letter-spacing:.08em;
    text-transform:uppercase;
}
.service-area-city-card strong{
    margin-top:7px;
    color:var(--navy);
    font-size:22px;
}
.service-area-city-card small{
    margin-top:8px;
    color:var(--muted);
    line-height:1.45;
}
.service-area-city-card__arrow{
    margin-top:14px;
    color:var(--navy);
    font-size:13px;
    font-weight:850;
}
.service-area-city-card--pending{
    cursor:default;
}
.service-area-services{
    padding:92px 0;
    background:#fff;
}
.service-area-service-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:18px;
    margin-top:40px;
}
.service-area-service-grid a{
    min-height:210px;
    padding:27px;
    display:flex;
    flex-direction:column;
    border:1px solid var(--border);
    border-radius:18px;
    text-decoration:none;
    background:#fff;
}
.service-area-service-grid a > span{
    color:var(--orange);
    font-size:13px;
    font-weight:950;
}
.service-area-service-grid strong{
    margin-top:8px;
    color:var(--navy);
    font-size:21px;
}
.service-area-service-grid p{
    margin:11px 0 0;
    color:var(--muted);
    font-size:14.5px;
}
.service-area-process{
    background:#102A43;
}
.service-area-local-section{
    padding:92px 0;
    background:#f5f8fa;
}
.service-area-local-grid{
    display:grid;
    grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);
    gap:70px;
    align-items:start;
}
.service-area-local-grid h2{
    margin:0;
    color:var(--navy);
    font-size:clamp(36px,4.4vw,56px);
    line-height:1.05;
    letter-spacing:-.035em;
}
.service-area-local-grid > div:first-child > p{
    color:var(--muted);
    font-size:17px;
}
.local-page-points{
    border-top:1px solid var(--border);
}
.local-page-points > div{
    display:grid;
    grid-template-columns:190px 1fr;
    gap:24px;
    padding:22px 0;
    border-bottom:1px solid var(--border);
}
.local-page-points strong{
    color:var(--navy);
}
.local-page-points span{
    color:var(--muted);
    font-size:14.5px;
}
@media(max-width:1100px){
    .service-area-city-grid{
        grid-template-columns:repeat(3,1fr);
    }
}
@media(max-width:980px){
    .service-area-service-grid{
        grid-template-columns:repeat(2,1fr);
    }
    .service-area-local-grid{
        grid-template-columns:1fr;
        gap:42px;
    }
}
@media(max-width:700px){
    .service-area-city-grid,
    .service-area-service-grid{
        grid-template-columns:1fr;
    }
    .local-page-points > div{
        grid-template-columns:1fr;
        gap:6px;
    }
}

/* v2.3: page-aware Customizer hero controls; no front-end visual change required. */


/* v2.5 Compact service-page project galleries */
.service-photo-gallery{
    padding:62px 0;
    background:#fff;
}
.service-photo-gallery .section-heading{
    max-width:780px;
}
.service-photo-gallery .section-heading h2{
    font-size:clamp(30px,3.2vw,44px);
}
.service-photo-gallery .section-heading p{
    max-width:700px;
}
.service-photo-gallery__grid{
    display:grid;
    gap:14px;
    margin-top:28px;
}
.service-photo-gallery__grid--1{
    grid-template-columns:minmax(0,420px);
}
.service-photo-gallery__grid--2{
    grid-template-columns:repeat(2,minmax(0,1fr));
}
.service-photo-gallery__grid--3{
    grid-template-columns:repeat(3,minmax(0,1fr));
}
.service-photo-gallery__grid--4{
    grid-template-columns:repeat(4,minmax(0,1fr));
}
.service-photo-gallery__item{
    margin:0;
    overflow:hidden;
    border-radius:16px;
    aspect-ratio:4 / 3;
    background:#eef3f6;
    box-shadow:0 10px 24px rgba(16,42,67,.07);
}
.service-photo-gallery__item img{
    display:block;
    width:100%;
    height:100%;
    object-fit:cover;
}
@media(max-width:1050px){
    .service-photo-gallery__grid--3,
    .service-photo-gallery__grid--4{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
}
@media(max-width:700px){
    .service-photo-gallery{
        padding:48px 0;
    }
    .service-photo-gallery__grid--1,
    .service-photo-gallery__grid--2,
    .service-photo-gallery__grid--3,
    .service-photo-gallery__grid--4{
        grid-template-columns:1fr;
    }
}


/* v2.6 Cleaner Service Areas directory */
.service-area-directory{
    padding:76px 0;
}
.service-area-directory__heading{
    max-width:760px;
}
.service-area-city-grid{
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:12px;
    margin-top:32px;
}
.service-area-city-card{
    position:relative;
    min-height:118px;
    padding:20px 20px 18px 24px;
    justify-content:center;
    border-radius:14px;
    border:1px solid #dfe7ed;
    background:#fff;
    box-shadow:0 5px 14px rgba(16,42,67,.035);
}
.service-area-city-card::before{
    content:"";
    position:absolute;
    left:0;
    top:18px;
    bottom:18px;
    width:4px;
    border-radius:0 4px 4px 0;
    background:var(--orange);
}
.service-area-city-card__label{
    display:none !important;
}
.service-area-city-card strong{
    margin:0;
    color:var(--navy);
    font-size:20px;
    line-height:1.15;
}
.service-area-city-card small{
    margin-top:8px;
    color:var(--muted);
    font-size:11.5px;
    line-height:1.45;
}
.service-area-city-card__arrow{
    margin-top:9px;
    color:var(--orange);
    font-size:11.5px;
    font-weight:900;
}
a.service-area-city-card:hover{
    transform:translateY(-2px);
    border-color:rgba(245,130,32,.45);
    box-shadow:0 10px 22px rgba(16,42,67,.06);
}
@media(max-width:1100px){
    .service-area-city-grid{
        grid-template-columns:repeat(3,minmax(0,1fr));
    }
}
@media(max-width:820px){
    .service-area-city-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
}
@media(max-width:560px){
    .service-area-directory{
        padding:54px 0;
    }
    .service-area-city-grid{
        grid-template-columns:1fr;
    }
    .service-area-city-card{
        min-height:96px;
        padding:16px 18px 15px 22px;
    }
    .service-area-city-card small{
        font-size:11px;
    }
}


/* v2.7 SEO + mobile performance foundation */
html{
    scroll-behavior:smooth;
    scroll-padding-top:120px;
}
body{
    overflow-x:hidden;
    text-rendering:optimizeLegibility;
}
img{
    max-width:100%;
    height:auto;
}
a:focus-visible,
button:focus-visible,
summary:focus-visible{
    outline:3px solid rgba(245,130,32,.65);
    outline-offset:3px;
}

/* Real <img> elements allow WordPress srcset/sizes and better LCP behavior. */
.hero__visual,
.service-hero__media,
.water-project__media,
.project-card__media{
    position:relative;
    overflow:hidden;
}
.hero__image,
.service-hero__image,
.water-project__image,
.project-card__image{
    display:block;
    width:100%;
    height:100%;
    object-fit:cover;
}
.hero__image,
.service-hero__image{
    position:absolute;
    inset:0;
}
.water-project__image,
.project-card__image{
    position:absolute;
    inset:0;
}
.hero__visual--photo,
.service-hero__media.has-photo,
.water-project__media.has-photo,
.project-card__media.has-photo{
    background:none !important;
}
.service-area-hero-card{
    position:relative;
    z-index:2;
}

/* Keep below-the-fold rendering light without hiding content from crawlers. */
.services-section,
.why-section,
.projects-section,
.reviews-section,
.insurance-section,
.areas-section,
.faq-section,
.service-causes,
.service-process,
.materials-section,
.water-project-section,
.service-photo-gallery,
.service-areas-compact,
.related-services,
.service-area-directory,
.service-area-services,
.service-area-local-section{
    content-visibility:auto;
    contain-intrinsic-size:1px 800px;
}

/* Hover effects only on devices that actually hover. */
@media(hover:hover) and (pointer:fine){
    .service-card-link:hover .service-card--enhanced,
    .related-grid a:hover,
    a.service-area-city-card:hover{
        transform:translateY(-3px);
    }
}

/* Strong tablet behavior */
@media(max-width:980px){
    .hero,
    .service-hero{
        padding:54px 0 58px;
    }
    .hero__grid,
    .service-hero__grid{
        gap:34px;
    }
    .hero h1{
        font-size:clamp(44px,7vw,60px);
    }
    .service-hero h1{
        font-size:clamp(42px,7vw,58px);
    }
    .hero__visual,
    .service-hero__media{
        min-height:0;
        aspect-ratio:16/10;
    }
    .service-two-col,
    .materials-grid,
    .insurance-grid,
    .faq-grid,
    .water-project-grid,
    .service-area-local-grid,
    .commercial-coordination-grid,
    .reconstruction-one-team__grid{
        gap:36px;
    }
}

/* Mobile-first polish */
@media(max-width:700px){
    body{
        padding-bottom:58px;
        font-size:16px;
    }
    .site-shell{
        width:min(calc(100% - 28px),var(--shell));
    }
    .emergency-bar{
        font-size:12px;
    }
    .emergency-bar__inner{
        min-height:32px;
    }
    .site-header__inner{
        min-height:68px;
        gap:12px;
    }
    .custom-logo{
        height:50px;
        max-width:108px;
    }
    .primary-nav{
        max-height:calc(100vh - 100px);
        overflow-y:auto;
        overscroll-behavior:contain;
    }
    .primary-nav__menu{
        width:min(calc(100% - 28px),var(--shell));
        padding:8px 0 16px;
    }
    .primary-nav__menu a{
        min-height:46px;
        display:flex;
        align-items:center;
        padding:10px 2px;
        font-size:15px;
        border-bottom:1px solid #edf1f4;
    }

    .hero,
    .service-hero{
        padding:40px 0 44px;
    }
    .hero__grid,
    .service-hero__grid{
        gap:26px;
    }
    .eyebrow{
        margin-bottom:10px;
        font-size:11px;
        letter-spacing:.1em;
    }
    .hero h1,
    .service-hero h1{
        font-size:clamp(36px,10.5vw,46px);
        line-height:1.02;
        letter-spacing:-.035em;
    }
    .hero__lead,
    .service-hero__lead{
        margin-top:16px;
        font-size:16px;
        line-height:1.55;
    }
    .hero__actions{
        gap:10px;
        margin-top:22px;
    }
    .button{
        min-height:48px;
        padding:0 18px;
        border-radius:9px;
        font-size:14px;
    }
    .service-hero__microcopy{
        margin-top:13px;
        font-size:12px;
        line-height:1.5;
    }
    .hero__visual,
    .service-hero__media{
        width:100%;
        min-height:0;
        aspect-ratio:4/3;
        border-radius:18px;
    }

    /* Keep trust/proof information compact: 2x2 rather than a long vertical stack. */
    .trust-strip__grid,
    .service-proof__grid{
        grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    }
    .trust-item,
    .trust-item:first-child,
    .service-proof__grid > div{
        min-height:78px;
        padding:14px 12px;
        border:1px solid var(--border);
    }
    .trust-item strong,
    .service-proof strong{
        font-size:11px;
    }
    .trust-item span,
    .service-proof span{
        font-size:12px;
        line-height:1.25;
    }

    .section,
    .services-section,
    .why-section,
    .projects-section,
    .reviews-section,
    .insurance-section,
    .areas-section,
    .faq-section,
    .service-causes,
    .service-process,
    .materials-section,
    .water-project-section,
    .service-photo-gallery,
    .service-areas-compact,
    .related-services,
    .service-area-directory,
    .service-area-services,
    .service-area-local-section,
    .commercial-properties,
    .commercial-coordination,
    .reconstruction-one-team{
        padding-top:54px;
        padding-bottom:54px;
    }
    .section-heading h2,
    .why-copy h2,
    .reviews-intro h2,
    .insurance-copy h2,
    .areas-copy h2,
    .faq-intro h2,
    .service-two-col h2,
    .materials-section h2,
    .water-project__copy h2,
    .commercial-coordination-grid h2,
    .reconstruction-one-team h2,
    .service-area-local-grid h2{
        font-size:clamp(30px,8.5vw,39px);
        line-height:1.06;
    }
    .section-heading p,
    .service-body-copy p,
    .materials-grid > div:first-child > p,
    .water-project__copy p,
    .insurance-copy > p,
    .areas-copy > p,
    .faq-intro > p{
        font-size:15px;
        line-height:1.58;
    }

    .service-grid,
    .cause-grid,
    .service-process__grid,
    .related-grid,
    .commercial-property-grid,
    .service-area-service-grid{
        gap:12px;
        margin-top:26px;
    }
    .service-card--enhanced,
    .cause-grid article,
    .service-process__grid li,
    .related-grid a,
    .commercial-property-grid > div,
    .service-area-service-grid a{
        min-height:0;
        padding:20px;
        border-radius:15px;
        box-shadow:none;
    }
    .service-card--enhanced h3,
    .cause-grid h3,
    .related-grid strong{
        font-size:19px;
    }
    .service-card--enhanced p,
    .cause-grid p,
    .related-grid span{
        font-size:14px;
        line-height:1.55;
    }
    .service-icon{
        width:46px;
        height:46px;
        margin-bottom:16px;
    }

    .process-card,
    .insurance-card{
        border-radius:16px;
        box-shadow:none;
    }
    .process-card{
        padding:20px;
    }
    .process-list li{
        grid-template-columns:36px 1fr;
        gap:10px;
        padding:14px 0;
    }

    .materials-list > div,
    .commercial-coordination-list > div,
    .one-team-steps > div,
    .local-page-points > div{
        padding:17px 0;
    }

    .water-project__media{
        min-height:0;
        aspect-ratio:4/3;
        border-radius:17px;
        box-shadow:none;
    }
    .service-photo-gallery__grid{
        gap:10px;
        margin-top:22px;
    }
    .service-photo-gallery__item{
        border-radius:14px;
        box-shadow:none;
    }

    .areas-list,
    .areas-list--service{
        grid-template-columns:repeat(2,minmax(0,1fr));
        gap:8px;
    }
    .areas-list span{
        min-height:46px;
        padding:9px 8px;
        font-size:12px;
    }

    .faq-list summary{
        padding:18px 42px 18px 0;
        font-size:16px;
        line-height:1.35;
    }
    .faq-list summary::after{
        top:15px;
        width:27px;
        height:27px;
        font-size:19px;
    }
    .faq-list details p{
        margin:-2px 38px 18px 0;
        font-size:14px;
        line-height:1.6;
    }

    .site-footer{
        padding:48px 0 20px;
    }
    .site-footer__grid{
        gap:28px;
    }
    .mobile-emergency-bar{
        grid-template-columns:1.05fr .95fr;
    }
    .mobile-emergency-bar a{
        min-height:58px;
        font-size:14px;
    }
}

/* Extra-small phones */
@media(max-width:390px){
    .hero h1,
    .service-hero h1{
        font-size:34px;
    }
    .trust-item span,
    .service-proof span{
        font-size:11px;
    }
    .areas-list,
    .areas-list--service{
        grid-template-columns:1fr;
    }
}

/* Respect users who prefer reduced animation. */
@media(prefers-reduced-motion:reduce){
    html{scroll-behavior:auto}
    *,
    *::before,
    *::after{
        scroll-behavior:auto !important;
        transition:none !important;
        animation:none !important;
    }
}


/* v2.8 Riverside city landing page */
.city-breadcrumbs{
    border-bottom:1px solid var(--border);
    background:#fff;
}
.city-breadcrumbs .site-shell{
    min-height:42px;
    display:flex;
    align-items:center;
    gap:8px;
    color:var(--muted);
    font-size:12px;
}
.city-breadcrumbs a{
    color:var(--navy);
    font-weight:800;
    text-decoration:none;
}
.city-hero--riverside{
    background:
      radial-gradient(circle at 82% 8%,rgba(245,130,32,.13),transparent 24%),
      linear-gradient(135deg,#f8fbfd,#eef4f7);
}
.city-services{
    padding:90px 0;
    background:#fff;
}
.city-service-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:18px;
    margin-top:38px;
}
.city-service-grid > a{
    min-height:260px;
    padding:26px;
    display:flex;
    flex-direction:column;
    border:1px solid var(--border);
    border-radius:18px;
    background:#fff;
    text-decoration:none;
    box-shadow:0 10px 26px rgba(16,42,67,.045);
}
.city-service-grid > a > span{
    color:var(--orange);
    font-size:12px;
    font-weight:950;
}
.city-service-grid h3{
    margin:9px 0 0;
    color:var(--navy);
    font-size:22px;
}
.city-service-grid p{
    margin:10px 0 18px;
    color:var(--muted);
    font-size:14.5px;
    line-height:1.6;
}
.city-service-grid strong{
    margin-top:auto;
    color:var(--orange);
    font-size:13px;
}
.city-water-focus{
    padding:94px 0;
    background:#f5f8fa;
}
.city-two-col{
    display:grid;
    grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);
    gap:70px;
    align-items:start;
}
.city-two-col h2,
.city-neighborhood-grid h2{
    margin:0;
    color:var(--navy);
    font-size:clamp(36px,4.3vw,56px);
    line-height:1.05;
    letter-spacing:-.035em;
}
.city-two-col p{
    color:var(--muted);
    font-size:17px;
    line-height:1.65;
}
.text-link{
    color:var(--navy);
    font-weight:900;
    text-decoration:none;
}
.city-info-panel{
    border-top:1px solid var(--border);
}
.city-info-panel > div{
    display:grid;
    grid-template-columns:210px 1fr;
    gap:24px;
    padding:22px 0;
    border-bottom:1px solid var(--border);
}
.city-info-panel strong{
    color:var(--navy);
}
.city-info-panel span{
    color:var(--muted);
    font-size:14.5px;
    line-height:1.55;
}
.city-process{
    background:#102A43;
}
.city-projects{
    padding:92px 0;
    background:#fff;
}
.city-project-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:18px;
    margin-top:38px;
}
.city-project-grid article{
    overflow:hidden;
    border:1px solid var(--border);
    border-radius:18px;
    background:#fff;
    box-shadow:0 10px 26px rgba(16,42,67,.05);
}
.city-project__media{
    aspect-ratio:4/3;
    background:#eef3f6;
    overflow:hidden;
}
.city-project__media img{
    display:block;
    width:100%;
    height:100%;
    object-fit:cover;
}
.city-project__copy{
    padding:22px;
}
.city-project__copy > span{
    color:var(--orange);
    font-size:11px;
    font-weight:950;
    letter-spacing:.08em;
    text-transform:uppercase;
}
.city-project__copy h3{
    margin:7px 0 8px;
    color:var(--navy);
    font-size:21px;
}
.city-project__copy p{
    margin:0;
    color:var(--muted);
    font-size:14px;
    line-height:1.55;
}
.city-neighborhoods{
    padding:92px 0;
    background:#f5f8fa;
}
.city-neighborhood-grid{
    display:grid;
    grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);
    gap:65px;
    align-items:start;
}
.city-neighborhood-grid p{
    color:var(--muted);
    font-size:16px;
    line-height:1.65;
}
.city-neighborhood-list{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:10px;
}
.city-neighborhood-list span{
    min-height:52px;
    padding:12px 10px;
    display:flex;
    align-items:center;
    justify-content:center;
    text-align:center;
    border:1px solid var(--border);
    border-radius:12px;
    background:#fff;
    color:var(--navy);
    font-size:13px;
    font-weight:850;
}
.city-related{
    padding:88px 0;
    background:#fff;
}
.related-grid--three{
    grid-template-columns:repeat(3,minmax(0,1fr));
}
@media(max-width:980px){
    .city-service-grid,
    .city-project-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
    .city-two-col,
    .city-neighborhood-grid{
        grid-template-columns:1fr;
        gap:38px;
    }
    .city-neighborhood-list{
        grid-template-columns:repeat(3,minmax(0,1fr));
    }
    .related-grid--three{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
}
@media(max-width:700px){
    .city-breadcrumbs{
        overflow:hidden;
    }
    .city-breadcrumbs .site-shell{
        min-height:38px;
        white-space:nowrap;
        overflow:hidden;
        text-overflow:ellipsis;
    }
    .city-services,
    .city-water-focus,
    .city-projects,
    .city-neighborhoods,
    .city-related{
        padding:54px 0;
    }
    .city-service-grid,
    .city-project-grid,
    .related-grid--three{
        grid-template-columns:1fr;
        gap:12px;
        margin-top:26px;
    }
    .city-service-grid > a{
        min-height:0;
        padding:20px;
        box-shadow:none;
    }
    .city-service-grid h3{
        font-size:20px;
    }
    .city-two-col h2,
    .city-neighborhood-grid h2{
        font-size:clamp(30px,8.5vw,39px);
    }
    .city-two-col p{
        font-size:15px;
    }
    .city-info-panel > div{
        grid-template-columns:1fr;
        gap:5px;
        padding:17px 0;
    }
    .city-project-grid article{
        border-radius:15px;
        box-shadow:none;
    }
    .city-project__copy{
        padding:18px;
    }
    .city-neighborhood-list{
        grid-template-columns:repeat(2,minmax(0,1fr));
        gap:8px;
    }
    .city-neighborhood-list span{
        min-height:46px;
        padding:9px 7px;
        font-size:12px;
    }
}
@media(max-width:390px){
    .city-neighborhood-list{
        grid-template-columns:1fr;
    }
}


/* v2.9 Homepage project image fix */
.project-card__media.has-photo{
    position:relative;
    overflow:hidden;
}
.project-card__image{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
}


/* v3.0 Restoration Resources hub */
.resources-hero{
    background:
      radial-gradient(circle at 82% 8%,rgba(245,130,32,.12),transparent 24%),
      linear-gradient(135deg,#f8fbfd,#eef4f7);
}
.resources-topics{
    padding:88px 0;
    background:#fff;
}
.resources-topic-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:16px;
    margin-top:36px;
}
.resources-topic-grid a{
    min-height:210px;
    padding:25px;
    display:flex;
    flex-direction:column;
    border:1px solid var(--border);
    border-radius:18px;
    text-decoration:none;
    background:#fff;
    box-shadow:0 9px 24px rgba(16,42,67,.04);
}
.resources-topic-grid strong{
    color:var(--navy);
    font-size:21px;
}
.resources-topic-grid span{
    margin-top:10px;
    color:var(--muted);
    font-size:14.5px;
    line-height:1.6;
}
.resources-topic-grid b{
    margin-top:auto;
    padding-top:16px;
    color:var(--orange);
    font-size:13px;
}
.resources-articles{
    padding:90px 0;
    background:#f5f8fa;
}
.resources-article-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:18px;
    margin-top:38px;
}
.resource-card{
    overflow:hidden;
    border:1px solid var(--border);
    border-radius:18px;
    background:#fff;
    box-shadow:0 10px 26px rgba(16,42,67,.05);
}
.resource-card__media{
    aspect-ratio:16/10;
    display:flex;
    align-items:center;
    justify-content:center;
    overflow:hidden;
    background:#eaf0f4;
    color:var(--navy);
    text-decoration:none;
    font-weight:900;
}
.resource-card__media img{
    width:100%;
    height:100%;
    object-fit:cover;
}
.resource-card__copy{
    padding:22px;
}
.resource-card__meta{
    color:var(--orange);
    font-size:11px;
    font-weight:900;
    letter-spacing:.07em;
    text-transform:uppercase;
}
.resource-card h3{
    margin:8px 0 10px;
    font-size:21px;
    line-height:1.2;
}
.resource-card h3 a{
    color:var(--navy);
    text-decoration:none;
}
.resource-card p{
    margin:0 0 14px;
    color:var(--muted);
    font-size:14px;
    line-height:1.58;
}
.resources-empty-state{
    margin-top:36px;
    padding:34px;
    border:1px solid var(--border);
    border-radius:18px;
    background:#fff;
}
.resources-empty-state span{
    color:var(--orange);
    font-size:11px;
    font-weight:950;
    letter-spacing:.08em;
}
.resources-empty-state h3{
    margin:8px 0;
    color:var(--navy);
    font-size:27px;
}
.resources-empty-state p{
    margin:0;
    max-width:760px;
    color:var(--muted);
    line-height:1.65;
}
.resources-faq{
    background:#fff;
}
.resources-local{
    padding:76px 0;
    background:#102A43;
}
.resources-local__grid{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    gap:36px;
    align-items:center;
}
.resources-local h2{
    margin:0;
    color:#fff;
    font-size:clamp(34px,4vw,50px);
    line-height:1.05;
}
.resources-local p{
    max-width:720px;
    color:rgba(255,255,255,.78);
    font-size:16px;
}
.resources-local__actions{
    display:flex;
    gap:10px;
    flex-wrap:wrap;
    justify-content:flex-end;
}
@media(max-width:980px){
    .resources-topic-grid,
    .resources-article-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
    .resources-local__grid{
        grid-template-columns:1fr;
    }
    .resources-local__actions{
        justify-content:flex-start;
    }
}
@media(max-width:700px){
    .resources-topics,
    .resources-articles,
    .resources-local{
        padding:54px 0;
    }
    .resources-topic-grid,
    .resources-article-grid{
        grid-template-columns:1fr;
        gap:12px;
        margin-top:26px;
    }
    .resources-topic-grid a{
        min-height:0;
        padding:20px;
        box-shadow:none;
    }
    .resource-card{
        box-shadow:none;
        border-radius:15px;
    }
    .resource-card__copy{
        padding:18px;
    }
    .resources-empty-state{
        padding:22px;
    }
    .resources-local__actions{
        display:grid;
        grid-template-columns:1fr;
        width:100%;
    }
    .resources-local__actions .button{
        width:100%;
    }
}


/* v3.3 Functional Resource topic filters */
.resources-topic-grid a.is-active{
    border-color:rgba(245,130,32,.75);
    box-shadow:0 10px 28px rgba(245,130,32,.10);
    background:linear-gradient(180deg,#fff,#fff8f2);
}
.resources-topic-grid a.is-active b{
    color:var(--navy);
}
.resources-reset-link{
    display:inline-block;
    margin-top:12px;
    color:var(--orange);
    font-size:13px;
    font-weight:900;
    text-decoration:none;
}
.resources-reset-link:hover{
    text-decoration:underline;
}


/* v3.5 Corona city page */
.city-hero--corona{
    background:
      radial-gradient(circle at 82% 8%,rgba(245,130,32,.13),transparent 24%),
      linear-gradient(135deg,#f8fbfd,#eef4f7);
}


/* v3.6 Norco city page */
.city-hero--norco{
    background:
      radial-gradient(circle at 82% 8%,rgba(245,130,32,.13),transparent 24%),
      linear-gradient(135deg,#f8fbfd,#eef4f7);
}


/* v3.7 Eastvale city page */
.city-hero--eastvale{
    background:
      radial-gradient(circle at 82% 8%,rgba(245,130,32,.13),transparent 24%),
      linear-gradient(135deg,#f8fbfd,#eef4f7);
}


/* v3.8 Jurupa Valley city page */
.city-hero--jurupa-valley{
    background:
      radial-gradient(circle at 82% 8%,rgba(245,130,32,.13),transparent 24%),
      linear-gradient(135deg,#f8fbfd,#eef4f7);
}


/* v3.9 Mira Loma local page */
.city-hero--mira-loma{
    background:
      radial-gradient(circle at 82% 8%,rgba(245,130,32,.13),transparent 24%),
      linear-gradient(135deg,#f8fbfd,#eef4f7);
}


/* v4.0 Chino city page */
.city-hero--chino{
    background:
      radial-gradient(circle at 82% 8%,rgba(245,130,32,.13),transparent 24%),
      linear-gradient(135deg,#f8fbfd,#eef4f7);
}


/* v4.1 Chino Hills city page */
.city-hero--chino-hills{
    background:
      radial-gradient(circle at 82% 8%,rgba(245,130,32,.13),transparent 24%),
      linear-gradient(135deg,#f8fbfd,#eef4f7);
}


/* v4.2 Perris city page */
.city-hero--perris{
    background:
      radial-gradient(circle at 82% 8%,rgba(245,130,32,.13),transparent 24%),
      linear-gradient(135deg,#f8fbfd,#eef4f7);
}


/* v4.3 Ontario city page */
.city-hero--ontario{
    background:
      radial-gradient(circle at 82% 8%,rgba(245,130,32,.13),transparent 24%),
      linear-gradient(135deg,#f8fbfd,#eef4f7);
}


/* v4.4 Rancho Cucamonga city page */
.city-hero--rancho-cucamonga{
    background:
      radial-gradient(circle at 82% 8%,rgba(245,130,32,.13),transparent 24%),
      linear-gradient(135deg,#f8fbfd,#eef4f7);
}


/* v4.5 Woodcrest area page */
.city-hero--woodcrest{
    background:
      radial-gradient(circle at 82% 8%,rgba(245,130,32,.13),transparent 24%),
      linear-gradient(135deg,#f8fbfd,#eef4f7);
}


/* v4.6 El Sobrante area page */
.city-hero--el-sobrante{
    background:
      radial-gradient(circle at 82% 8%,rgba(245,130,32,.13),transparent 24%),
      linear-gradient(135deg,#f8fbfd,#eef4f7);
}


/* v4.7 Home Gardens area page */
.city-hero--home-gardens{
    background:
      radial-gradient(circle at 82% 8%,rgba(245,130,32,.13),transparent 24%),
      linear-gradient(135deg,#f8fbfd,#eef4f7);
}


/* v4.8 Lake Mathews area page */
.city-hero--lake-mathews{
    background:
      radial-gradient(circle at 82% 8%,rgba(245,130,32,.13),transparent 24%),
      linear-gradient(135deg,#f8fbfd,#eef4f7);
}

/* v4.9: Lake Mathews/Lake Matthews service-area link compatibility fix. */


/* v5.0 Temescal Valley area page */
.city-hero--temescal-valley{
    background:
      radial-gradient(circle at 82% 8%,rgba(245,130,32,.13),transparent 24%),
      linear-gradient(135deg,#f8fbfd,#eef4f7);
}


/* ==========================================================
   v5.1 Conversion + trust upgrade
   ========================================================== */

.hero__actions--intent{
  align-items:stretch;
}
.hero__actions--intent .button{
  min-height:66px;
  flex-direction:column;
  align-items:flex-start;
  line-height:1.15;
  text-align:left;
  padding:12px 20px;
}
.hero__actions--intent .button__eyebrow{
  display:block;
  margin-bottom:5px;
  font-size:11px;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
  opacity:.82;
}
.hero__actions--intent .button strong{
  font-size:16px;
}
.hero-intent-note{
  margin-top:16px;
  display:grid;
  gap:5px;
  color:#3f5265;
  font-size:13px;
  line-height:1.45;
}
.hero-intent-note strong{
  color:var(--navy);
}

.response-choice{
  padding:72px 0;
  background:#fff;
  border-bottom:1px solid var(--border);
}
.response-choice__heading{
  max-width:760px;
  margin-bottom:28px;
}
.response-choice__heading h2{
  margin:7px 0 10px;
  color:var(--navy);
  font-size:clamp(30px,4vw,46px);
  line-height:1.06;
}
.response-choice__heading p{
  margin:0;
  color:#526579;
  font-size:17px;
}
.response-choice__grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:22px;
}
.response-choice__card{
  padding:30px;
  border:1px solid var(--border);
  border-radius:20px;
  box-shadow:0 12px 36px rgba(16,42,67,.07);
}
.response-choice__card--emergency{
  background:linear-gradient(145deg,#fff7f0,#fff);
  border-top:5px solid var(--orange);
}
.response-choice__card--planning{
  background:linear-gradient(145deg,#f4f8fb,#fff);
  border-top:5px solid var(--navy);
}
.response-choice__label{
  display:inline-block;
  margin-bottom:12px;
  font-size:12px;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:#c75600;
}
.response-choice__card--planning .response-choice__label{
  color:var(--navy);
}
.response-choice__card h3{
  margin:0 0 12px;
  color:var(--navy);
  font-size:25px;
  line-height:1.12;
}
.response-choice__card p{
  color:#526579;
  line-height:1.65;
}
.response-choice__card ul{
  margin:18px 0 24px;
  padding:0;
  list-style:none;
  display:grid;
  gap:8px;
}
.response-choice__card li{
  position:relative;
  padding-left:22px;
  color:#273d51;
}
.response-choice__card li::before{
  content:"✓";
  position:absolute;
  left:0;
  top:0;
  color:var(--orange);
  font-weight:900;
}

.proof-work-section{
  padding:82px 0;
  background:#f4f8fb;
  border-top:1px solid var(--border);
  border-bottom:1px solid var(--border);
}
.proof-work-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:16px;
  margin-top:30px;
}
.proof-work-grid article{
  padding:25px 22px;
  background:#fff;
  border:1px solid var(--border);
  border-radius:16px;
}
.proof-work-grid article > span{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:38px;
  height:38px;
  margin-bottom:18px;
  border-radius:10px;
  background:#fff3e7;
  color:#c75600;
  font-weight:900;
}
.proof-work-grid h3{
  margin:0 0 10px;
  color:var(--navy);
  font-size:21px;
}
.proof-work-grid p{
  margin:0;
  color:#526579;
  line-height:1.6;
}
.proof-work__actions{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:28px;
}

.reviews-proof{
  display:inline-flex;
  flex-wrap:wrap;
  align-items:center;
  gap:8px;
  margin:0 0 14px;
  padding:8px 12px;
  border:1px solid rgba(255,255,255,.18);
  border-radius:999px;
  background:rgba(255,255,255,.09);
  color:#fff;
}
.reviews-proof strong{
  font-size:18px;
}

@media (max-width: 900px){
  .response-choice__grid{
    grid-template-columns:1fr;
  }
  .proof-work-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media (max-width: 640px){
  .hero__actions--intent{
    display:grid;
    grid-template-columns:1fr;
  }
  .hero__actions--intent .button{
    width:100%;
  }
  .response-choice{
    padding:54px 0;
  }
  .response-choice__card{
    padding:24px 20px;
  }
  .proof-work-section{
    padding:58px 0;
  }
  .proof-work-grid{
    grid-template-columns:1fr;
  }
  .proof-work__actions{
    display:grid;
  }
  .proof-work__actions .button{
    width:100%;
  }
}


/* ==========================================================
   v5.1.1 Mobile CTA priority + Service Areas link fix
   ========================================================== */
@media (max-width: 640px){
  .hero__actions--intent{
    gap:10px;
  }

  .hero__actions--intent .button--emergency{
    min-height:84px;
    padding:16px 20px;
    border-radius:16px;
    box-shadow:0 12px 26px rgba(0,0,0,.16);
  }

  .hero__actions--intent .button--emergency .button__eyebrow{
    font-size:12px;
    margin-bottom:6px;
  }

  .hero__actions--intent .button--emergency strong{
    font-size:20px;
    line-height:1.1;
  }

  .hero__actions--intent .button--inspection{
    min-height:54px;
    padding:10px 16px;
    border-radius:12px;
  }

  .hero__actions--intent .button--inspection .button__eyebrow{
    font-size:10px;
    margin-bottom:3px;
  }

  .hero__actions--intent .button--inspection strong{
    font-size:14px;
  }

  .response-choice__card--emergency .button--primary{
    min-height:58px;
    font-size:18px;
    font-weight:900;
  }

  .response-choice__card--planning .button--secondary{
    min-height:48px;
    font-size:14px;
  }
}


/* ==========================================================
   v5.2 Resource Article System
   ========================================================== */

.resource-article{
  background:#fff;
}
.resource-breadcrumbs{
  border-bottom:1px solid var(--border);
  background:#fff;
}
.resource-breadcrumbs .site-shell{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  align-items:center;
  padding-top:12px;
  padding-bottom:12px;
  font-size:13px;
  color:#687b8d;
}
.resource-breadcrumbs a{
  color:var(--navy);
  text-decoration:none;
  font-weight:700;
}
.resource-breadcrumbs a:hover{
  color:var(--orange);
}

.resource-article__hero{
  padding:62px 0 58px;
  background:
    radial-gradient(circle at 88% 8%,rgba(245,130,32,.12),transparent 24%),
    linear-gradient(135deg,#f8fbfd,#eef4f7);
  border-bottom:1px solid var(--border);
}
.resource-article__hero-grid{
  display:grid;
  grid-template-columns:minmax(0,1.1fr) minmax(360px,.9fr);
  gap:48px;
  align-items:center;
}
.resource-article__hero-copy h1{
  margin:9px 0 18px;
  max-width:850px;
  color:var(--navy);
  font-size:clamp(38px,5.2vw,68px);
  line-height:1.01;
  letter-spacing:-.035em;
}
.resource-article__dek{
  max-width:800px;
  margin:0;
  color:#465d72;
  font-size:19px;
  line-height:1.62;
}
.resource-article__meta{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  align-items:center;
  margin-top:21px;
  color:#647789;
  font-size:13px;
  font-weight:650;
}
.resource-article__hero-actions{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:25px;
}
.resource-article__hero-media{
  margin:0;
  overflow:hidden;
  border-radius:20px;
  box-shadow:0 18px 50px rgba(14,42,67,.14);
  background:#dfe9f0;
  aspect-ratio:16/11;
}
.resource-article__hero-image{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
}
.resource-article__hero-media--placeholder{
  display:flex;
  align-items:flex-end;
  padding:28px;
  background:
    linear-gradient(145deg,rgba(6,40,70,.84),rgba(6,40,70,.6)),
    radial-gradient(circle at 75% 20%,rgba(245,130,32,.4),transparent 32%);
  color:#fff;
}
.resource-article__hero-media--placeholder span,
.resource-article__hero-media--placeholder strong{
  display:block;
}
.resource-article__hero-media--placeholder span{
  color:#ffd9b4;
  font-size:12px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.1em;
}
.resource-article__hero-media--placeholder strong{
  margin-top:8px;
  font-size:31px;
  line-height:1.08;
}

.resource-article__body{
  padding:70px 0 84px;
}
.resource-article__layout{
  display:grid;
  grid-template-columns:minmax(0,760px) minmax(270px,330px);
  gap:62px;
  justify-content:center;
  align-items:start;
}
.resource-article__content{
  min-width:0;
}
.resource-takeaway{
  margin:0 0 34px;
  padding:22px 24px;
  border-left:5px solid var(--orange);
  border-radius:0 14px 14px 0;
  background:#fff7ef;
}
.resource-takeaway span{
  display:block;
  margin-bottom:7px;
  color:#bd5200;
  font-size:12px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.09em;
}
.resource-takeaway p{
  margin:0;
  color:#21384c;
  font-size:17px;
  line-height:1.65;
  font-weight:650;
}

.resource-prose{
  color:#24394c;
  font-size:17px;
  line-height:1.82;
}
.resource-prose > *:first-child{
  margin-top:0;
}
.resource-prose h2{
  margin:48px 0 15px;
  color:var(--navy);
  font-size:32px;
  line-height:1.14;
  letter-spacing:-.018em;
}
.resource-prose h3{
  margin:34px 0 12px;
  color:var(--navy);
  font-size:24px;
  line-height:1.2;
}
.resource-prose h4{
  margin:28px 0 10px;
  color:var(--navy);
  font-size:19px;
}
.resource-prose p{
  margin:0 0 22px;
}
.resource-prose a{
  color:#b94d00;
  font-weight:750;
  text-decoration-thickness:1px;
  text-underline-offset:3px;
}
.resource-prose ul,
.resource-prose ol{
  margin:0 0 25px;
  padding-left:25px;
}
.resource-prose li{
  margin-bottom:9px;
}
.resource-prose blockquote{
  margin:34px 0;
  padding:24px 26px;
  border:1px solid var(--border);
  border-left:5px solid var(--navy);
  border-radius:0 14px 14px 0;
  background:#f5f9fc;
  color:#233a4e;
  font-size:18px;
}
.resource-prose blockquote p:last-child{
  margin-bottom:0;
}
.resource-prose img{
  max-width:100%;
  height:auto;
  border-radius:14px;
}
.resource-prose figure{
  margin:32px 0;
}
.resource-prose figcaption{
  margin-top:8px;
  color:#6b7d8e;
  font-size:13px;
  line-height:1.5;
}
.resource-prose table{
  width:100%;
  margin:30px 0;
  border-collapse:collapse;
  font-size:15px;
}
.resource-prose th,
.resource-prose td{
  padding:12px 14px;
  border:1px solid var(--border);
  text-align:left;
  vertical-align:top;
}
.resource-prose th{
  background:#f2f7fa;
  color:var(--navy);
}

.resource-next-step{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:24px;
  align-items:center;
  margin-top:48px;
  padding:28px;
  border-radius:18px;
  background:var(--navy);
  color:#fff;
}
.resource-next-step__eyebrow{
  display:block;
  margin-bottom:6px;
  color:#ffc68f;
  font-size:11px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.1em;
}
.resource-next-step h2{
  margin:0 0 7px;
  color:#fff;
  font-size:28px;
}
.resource-next-step p{
  margin:0;
  color:#dce8f1;
  line-height:1.6;
}
.resource-next-step .button{
  white-space:nowrap;
}

.resource-disclaimer{
  margin-top:28px;
  padding:19px 21px;
  border:1px solid var(--border);
  border-radius:14px;
  background:#fafcfd;
  color:#526679;
  font-size:13px;
  line-height:1.6;
}
.resource-disclaimer strong{
  display:block;
  margin-bottom:4px;
  color:var(--navy);
}
.resource-disclaimer p{
  margin:0;
}

.resource-article__sidebar{
  position:sticky;
  top:112px;
  display:grid;
  gap:16px;
}
.resource-sidebar-card{
  padding:23px;
  border:1px solid var(--border);
  border-radius:17px;
  background:#fff;
  box-shadow:0 10px 30px rgba(15,43,68,.06);
}
.resource-sidebar-card--emergency{
  border-top:5px solid var(--orange);
  background:linear-gradient(145deg,#fff7ef,#fff);
}
.resource-sidebar-card > span{
  display:block;
  margin-bottom:7px;
  color:#c35700;
  font-size:11px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.09em;
}
.resource-sidebar-card h2{
  margin:0 0 9px;
  color:var(--navy);
  font-size:22px;
  line-height:1.15;
}
.resource-sidebar-card p{
  margin:0 0 16px;
  color:#53677a;
  line-height:1.55;
  font-size:14px;
}
.resource-sidebar-card .button{
  width:100%;
}

.resource-related{
  padding:78px 0;
  background:#f3f7fa;
  border-top:1px solid var(--border);
}
.resource-related__grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:20px;
  margin-top:28px;
}
.resource-related-card{
  overflow:hidden;
  border:1px solid var(--border);
  border-radius:17px;
  background:#fff;
  box-shadow:0 10px 30px rgba(14,42,67,.06);
}
.resource-related-card__media{
  display:block;
  aspect-ratio:16/9;
  overflow:hidden;
  background:#dfe9f0;
  text-decoration:none;
}
.resource-related-card__media img{
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .25s ease;
}
.resource-related-card:hover .resource-related-card__media img{
  transform:scale(1.025);
}
.resource-related-card__media > span{
  display:flex;
  width:100%;
  height:100%;
  align-items:flex-end;
  padding:18px;
  color:#fff;
  font-weight:900;
  background:linear-gradient(145deg,var(--navy),#28516f);
}
.resource-related-card__copy{
  padding:20px;
}
.resource-related-card__copy > span{
  color:#708193;
  font-size:12px;
  font-weight:700;
}
.resource-related-card h3{
  margin:7px 0 10px;
  color:var(--navy);
  font-size:21px;
  line-height:1.2;
}
.resource-related-card h3 a{
  color:inherit;
  text-decoration:none;
}
.resource-related-card p{
  margin:0 0 13px;
  color:#53677a;
  line-height:1.55;
  font-size:14px;
}

.resource-article-cta{
  padding:58px 0;
  background:var(--navy);
}
.resource-article-cta__inner{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:32px;
  align-items:center;
}
.resource-article-cta h2{
  margin:6px 0 8px;
  color:#fff;
  font-size:clamp(30px,4vw,44px);
}
.resource-article-cta p{
  max-width:780px;
  margin:0;
  color:#d6e3ed;
  line-height:1.6;
}
.resource-article-cta__actions{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}
.button--ghost-light{
  border:1px solid rgba(255,255,255,.55);
  color:#fff;
  background:transparent;
}
.button--ghost-light:hover{
  background:#fff;
  color:var(--navy);
}

@media(max-width: 1000px){
  .resource-article__hero-grid{
    grid-template-columns:1fr;
    gap:30px;
  }
  .resource-article__hero-media{
    max-width:760px;
  }
  .resource-article__layout{
    grid-template-columns:1fr;
    gap:38px;
  }
  .resource-article__sidebar{
    position:static;
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
  .resource-article-cta__inner{
    grid-template-columns:1fr;
  }
}

@media(max-width: 760px){
  .resource-article__hero{
    padding:42px 0 38px;
  }
  .resource-article__hero-copy h1{
    font-size:clamp(34px,11vw,50px);
  }
  .resource-article__dek{
    font-size:17px;
  }
  .resource-article__hero-actions{
    display:grid;
  }
  .resource-article__hero-actions .button{
    width:100%;
  }
  .resource-article__hero-actions .button--primary{
    min-height:60px;
    font-size:17px;
    font-weight:900;
  }
  .resource-article__hero-actions .button--secondary{
    min-height:48px;
    font-size:14px;
  }
  .resource-article__body{
    padding:48px 0 58px;
  }
  .resource-takeaway{
    padding:19px 20px;
  }
  .resource-prose{
    font-size:16px;
    line-height:1.75;
  }
  .resource-prose h2{
    margin-top:40px;
    font-size:28px;
  }
  .resource-prose h3{
    font-size:22px;
  }
  .resource-next-step{
    grid-template-columns:1fr;
    padding:24px 21px;
  }
  .resource-next-step .button{
    width:100%;
  }
  .resource-article__sidebar{
    grid-template-columns:1fr;
  }
  .resource-related{
    padding:56px 0;
  }
  .resource-related__grid{
    grid-template-columns:1fr;
  }
  .resource-article-cta{
    padding:46px 0;
  }
  .resource-article-cta__actions{
    display:grid;
    width:100%;
  }
  .resource-article-cta__actions .button{
    width:100%;
  }
  .resource-article-cta__actions .button--light{
    min-height:58px;
    font-size:17px;
    font-weight:900;
  }
}


/* ==========================================================
   v5.3 Real Project / Case Study System
   ========================================================== */

.project-breadcrumbs{
  border-bottom:1px solid var(--border);
  background:#fff;
}
.project-breadcrumbs .site-shell{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:8px;
  padding-top:12px;
  padding-bottom:12px;
  font-size:13px;
  color:#6a7d8f;
}
.project-breadcrumbs a{
  color:var(--navy);
  text-decoration:none;
  font-weight:750;
}
.project-breadcrumbs a:hover{
  color:var(--orange);
}

.project-case-study__hero{
  padding:62px 0 58px;
  background:
    radial-gradient(circle at 88% 8%,rgba(245,130,32,.12),transparent 24%),
    linear-gradient(135deg,#f8fbfd,#eef4f7);
  border-bottom:1px solid var(--border);
}
.project-case-study__hero-grid{
  display:grid;
  grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr);
  gap:46px;
  align-items:center;
}
.project-case-study__hero-copy h1{
  margin:9px 0 18px;
  color:var(--navy);
  font-size:clamp(38px,5vw,66px);
  line-height:1.01;
  letter-spacing:-.035em;
}
.project-case-study__dek{
  margin:0;
  max-width:790px;
  color:#465d72;
  font-size:19px;
  line-height:1.62;
}
.project-case-study__facts{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
  margin-top:24px;
}
.project-case-study__facts div{
  padding:14px;
  border:1px solid #d9e2e9;
  border-radius:12px;
  background:rgba(255,255,255,.72);
}
.project-case-study__facts span,
.project-case-study__facts strong{
  display:block;
}
.project-case-study__facts span{
  margin-bottom:5px;
  color:#718395;
  font-size:10px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.08em;
}
.project-case-study__facts strong{
  color:var(--navy);
  font-size:14px;
  line-height:1.35;
}
.project-case-study__hero-actions{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:24px;
}
.project-case-study__hero-media{
  margin:0;
  overflow:hidden;
  border-radius:20px;
  aspect-ratio:16/11;
  background:#dfe9f0;
  box-shadow:0 18px 50px rgba(14,42,67,.14);
}
.project-case-study__hero-image{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
}
.project-case-study__placeholder{
  display:flex;
  width:100%;
  height:100%;
  flex-direction:column;
  justify-content:flex-end;
  padding:28px;
  color:#fff;
  background:linear-gradient(145deg,var(--navy),#2f5a78);
}
.project-case-study__placeholder span{
  color:#ffd0a5;
  font-size:11px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.1em;
}
.project-case-study__placeholder strong{
  margin-top:7px;
  font-size:30px;
}

.project-case-study__overview{
  padding:72px 0 82px;
}
.project-case-study__overview-grid{
  display:grid;
  grid-template-columns:minmax(0,760px) minmax(270px,330px);
  gap:62px;
  justify-content:center;
  align-items:start;
}
.project-detail-block{
  margin-top:22px;
  padding:24px 25px;
  border:1px solid var(--border);
  border-radius:15px;
  background:#fff;
}
.project-detail-block h3{
  margin:0 0 9px;
  color:var(--navy);
  font-size:21px;
}
.project-detail-block p{
  margin:0;
  color:#455c70;
  line-height:1.7;
}
.project-detail-block--outcome{
  border-left:5px solid var(--orange);
  background:#fff7ef;
}
.project-case-study__prose{
  margin-top:38px;
  color:#24394c;
  font-size:17px;
  line-height:1.8;
}
.project-case-study__prose h2{
  margin:44px 0 14px;
  color:var(--navy);
  font-size:31px;
}
.project-case-study__prose h3{
  margin:30px 0 11px;
  color:var(--navy);
  font-size:23px;
}
.project-case-study__prose img{
  max-width:100%;
  height:auto;
  border-radius:14px;
}
.project-case-study__sidebar{
  position:sticky;
  top:112px;
  display:grid;
  gap:16px;
}
.project-side-card{
  padding:23px;
  border:1px solid var(--border);
  border-radius:17px;
  background:#fff;
  box-shadow:0 10px 30px rgba(15,43,68,.06);
}
.project-side-card--emergency{
  border-top:5px solid var(--orange);
  background:linear-gradient(145deg,#fff7ef,#fff);
}
.project-side-card > span{
  display:block;
  margin-bottom:7px;
  color:#c35700;
  font-size:11px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.09em;
}
.project-side-card h2{
  margin:0 0 9px;
  color:var(--navy);
  font-size:22px;
  line-height:1.15;
}
.project-side-card p{
  margin:0 0 16px;
  color:#53677a;
  line-height:1.55;
  font-size:14px;
}
.project-side-card .button{
  width:100%;
}

.project-evidence{
  padding:78px 0;
  background:#f3f7fa;
  border-top:1px solid var(--border);
  border-bottom:1px solid var(--border);
}
.project-evidence__grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:22px;
  margin-top:30px;
}
.project-evidence figure{
  margin:0;
}
.project-evidence__media{
  overflow:hidden;
  border-radius:16px;
  background:#dde7ee;
  aspect-ratio:16/10;
}
.project-evidence__media img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
}
.project-evidence figcaption{
  margin-top:9px;
  color:#526679;
  font-size:13px;
  font-weight:800;
}

.project-method{
  padding:80px 0;
  background:#fff;
}

.project-related{
  padding:76px 0;
  background:#f3f7fa;
  border-top:1px solid var(--border);
}
.project-related__grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:20px;
  margin-top:28px;
}
.project-related-card{
  overflow:hidden;
  border:1px solid var(--border);
  border-radius:17px;
  background:#fff;
  box-shadow:0 10px 30px rgba(14,42,67,.06);
}
.project-related-card__media{
  display:block;
  aspect-ratio:16/9;
  overflow:hidden;
  background:#dfe9f0;
  text-decoration:none;
}
.project-related-card__media img{
  width:100%;
  height:100%;
  object-fit:cover;
}
.project-related-card__media span{
  display:flex;
  width:100%;
  height:100%;
  align-items:flex-end;
  padding:18px;
  color:#fff;
  font-weight:900;
  background:linear-gradient(145deg,var(--navy),#28516f);
}
.project-related-card__copy{
  padding:20px;
}
.project-related-card__copy > span{
  color:#6d8092;
  font-size:12px;
  font-weight:800;
}
.project-related-card h3{
  margin:7px 0 10px;
  color:var(--navy);
  font-size:21px;
  line-height:1.2;
}
.project-related-card h3 a{
  color:inherit;
  text-decoration:none;
}
.project-related-card p{
  margin:0 0 13px;
  color:#53677a;
  line-height:1.55;
  font-size:14px;
}

/* Archive */
.project-archive__hero{
  padding:68px 0 58px;
  background:
    radial-gradient(circle at 88% 8%,rgba(245,130,32,.12),transparent 24%),
    linear-gradient(135deg,#f8fbfd,#eef4f7);
  border-bottom:1px solid var(--border);
}
.project-archive__hero h1{
  max-width:900px;
  margin:8px 0 14px;
  color:var(--navy);
  font-size:clamp(40px,5vw,64px);
  line-height:1.02;
  letter-spacing:-.035em;
}
.project-archive__hero p{
  max-width:820px;
  margin:0;
  color:#4d6276;
  font-size:18px;
  line-height:1.65;
}
.project-archive__hero-actions{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:24px;
}
.project-archive__content{
  padding:68px 0 82px;
}
.project-filters{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-bottom:28px;
}
.project-filters a{
  padding:8px 12px;
  border:1px solid var(--border);
  border-radius:999px;
  background:#fff;
  color:var(--navy);
  text-decoration:none;
  font-size:13px;
  font-weight:800;
}
.project-filters a:hover,
.project-filters a.is-active{
  border-color:var(--navy);
  background:var(--navy);
  color:#fff;
}
.project-archive__grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:22px;
}
.project-archive-card{
  overflow:hidden;
  border:1px solid var(--border);
  border-radius:17px;
  background:#fff;
  box-shadow:0 10px 30px rgba(14,42,67,.06);
}
.project-archive-card__media{
  display:block;
  aspect-ratio:16/10;
  overflow:hidden;
  background:#dfe9f0;
  text-decoration:none;
}
.project-archive-card__media img{
  width:100%;
  height:100%;
  object-fit:cover;
}
.project-archive-card__media > span{
  display:flex;
  width:100%;
  height:100%;
  align-items:flex-end;
  padding:18px;
  color:#fff;
  font-weight:900;
  background:linear-gradient(145deg,var(--navy),#28516f);
}
.project-archive-card__copy{
  padding:20px;
}
.project-archive-card__meta{
  display:flex;
  flex-wrap:wrap;
  gap:7px 12px;
  margin-bottom:8px;
  color:#6d8092;
  font-size:11px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.04em;
}
.project-archive-card h2{
  margin:0 0 9px;
  color:var(--navy);
  font-size:22px;
  line-height:1.2;
}
.project-archive-card h2 a{
  color:inherit;
  text-decoration:none;
}
.project-archive-card p{
  margin:0 0 13px;
  color:#53677a;
  line-height:1.55;
  font-size:14px;
}
.project-pagination{
  margin-top:36px;
}
.project-pagination .page-numbers{
  list-style:none;
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  padding:0;
  margin:0;
}
.project-pagination a,
.project-pagination span{
  display:flex;
  min-width:38px;
  height:38px;
  align-items:center;
  justify-content:center;
  padding:0 10px;
  border:1px solid var(--border);
  border-radius:8px;
  text-decoration:none;
}
.project-pagination .current{
  background:var(--navy);
  color:#fff;
  border-color:var(--navy);
}
.project-archive__empty{
  padding:40px;
  border:1px dashed var(--border);
  border-radius:16px;
  text-align:center;
}
.project-archive__empty h2{
  color:var(--navy);
}

@media(max-width:1000px){
  .project-case-study__hero-grid{
    grid-template-columns:1fr;
    gap:30px;
  }
  .project-case-study__hero-media{
    max-width:760px;
  }
  .project-case-study__overview-grid{
    grid-template-columns:1fr;
    gap:38px;
  }
  .project-case-study__sidebar{
    position:static;
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .project-related__grid,
  .project-archive__grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media(max-width:700px){
  .project-case-study__hero{
    padding:42px 0 38px;
  }
  .project-case-study__hero-copy h1{
    font-size:clamp(34px,11vw,50px);
  }
  .project-case-study__dek{
    font-size:17px;
  }
  .project-case-study__facts{
    grid-template-columns:1fr;
  }
  .project-case-study__hero-actions{
    display:grid;
  }
  .project-case-study__hero-actions .button{
    width:100%;
  }
  .project-case-study__hero-actions .button--primary{
    min-height:62px;
    font-size:17px;
    font-weight:900;
  }
  .project-case-study__hero-actions .button--secondary{
    min-height:48px;
    font-size:14px;
  }
  .project-case-study__overview{
    padding:50px 0 58px;
  }
  .project-detail-block{
    padding:20px;
  }
  .project-case-study__sidebar{
    grid-template-columns:1fr;
  }
  .project-evidence{
    padding:56px 0;
  }
  .project-evidence__grid{
    grid-template-columns:1fr;
  }
  .project-method{
    padding:58px 0;
  }
  .project-related{
    padding:56px 0;
  }
  .project-related__grid,
  .project-archive__grid{
    grid-template-columns:1fr;
  }
  .project-archive__hero{
    padding:46px 0 42px;
  }
  .project-archive__hero-actions{
    display:grid;
  }
  .project-archive__hero-actions .button{
    width:100%;
  }
  .project-archive__hero-actions .button--primary{
    min-height:60px;
    font-size:17px;
    font-weight:900;
  }
  .project-archive__content{
    padding:50px 0 60px;
  }
}

.resource-project-promo{
  padding:54px 0;
  background:#fff;
  border-top:1px solid var(--border);
}
.resource-project-promo__inner{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:28px;
  align-items:center;
  padding:28px;
  border:1px solid var(--border);
  border-radius:18px;
  background:#f5f9fc;
}
.resource-project-promo h2{
  margin:6px 0 8px;
  color:var(--navy);
  font-size:32px;
}
.resource-project-promo p{
  margin:0;
  max-width:760px;
  color:#53677a;
  line-height:1.6;
}
@media(max-width:760px){
  .resource-project-promo__inner{
    grid-template-columns:1fr;
  }
  .resource-project-promo__inner .button{
    width:100%;
  }
}


/* ==========================================================
   v5.4 Corona Water Damage Restoration
   ========================================================== */

.local-water-hero{
  padding:64px 0 58px;
  background:
    radial-gradient(circle at 86% 6%,rgba(245,130,32,.13),transparent 24%),
    linear-gradient(135deg,#f8fbfd,#eef4f7);
  border-bottom:1px solid var(--border);
}
.local-water-hero__grid{
  display:grid;
  grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr);
  gap:46px;
  align-items:center;
}
.local-water-hero__copy h1{
  margin:8px 0 18px;
  color:var(--navy);
  font-size:clamp(40px,5.4vw,70px);
  line-height:1.01;
  letter-spacing:-.04em;
}
.local-water-hero__lead{
  margin:0;
  max-width:820px;
  color:#465d72;
  font-size:19px;
  line-height:1.62;
}
.local-water-hero__actions{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:25px;
}
.local-water-hero__actions .button{
  min-height:67px;
  flex-direction:column;
  align-items:flex-start;
  justify-content:center;
  line-height:1.12;
  text-align:left;
}
.local-water-hero__actions .button span{
  display:block;
  margin-bottom:4px;
  font-size:10px;
  font-weight:900;
  letter-spacing:.09em;
  text-transform:uppercase;
  opacity:.82;
}
.local-water-hero__actions .button strong{
  display:block;
  font-size:16px;
}
.local-water-hero__microcopy{
  margin-top:16px;
  color:#53677a;
  font-size:13px;
  line-height:1.5;
}
.local-water-hero__microcopy strong{
  color:var(--navy);
}
.local-water-hero__media{
  margin:0;
  overflow:hidden;
  border-radius:20px;
  aspect-ratio:16/11;
  background:#dfe9f0;
  box-shadow:0 18px 50px rgba(14,42,67,.14);
}
.local-water-hero__image{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
}
.local-water-hero__placeholder{
  display:flex;
  width:100%;
  height:100%;
  flex-direction:column;
  justify-content:flex-end;
  padding:28px;
  color:#fff;
  background:linear-gradient(145deg,var(--navy),#2f5a78);
}
.local-water-hero__placeholder span{
  color:#ffd0a5;
  font-size:11px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.1em;
}
.local-water-hero__placeholder strong{
  margin-top:7px;
  font-size:28px;
}

.local-water-proof{
  background:#fff;
  border-bottom:1px solid var(--border);
}
.local-water-proof__grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
}
.local-water-proof__grid > div{
  min-height:82px;
  padding:16px 20px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  border-right:1px solid var(--border);
}
.local-water-proof__grid > div:first-child{
  border-left:1px solid var(--border);
}
.local-water-proof__grid strong{
  color:var(--orange);
  font-size:15px;
}
.local-water-proof__grid span{
  margin-top:3px;
  color:var(--navy);
  font-size:13px;
  font-weight:800;
  line-height:1.35;
}

.local-water-quick{
  padding:62px 0;
  background:#fff;
}
.local-water-quick__grid{
  display:grid;
  grid-template-columns:minmax(280px,.72fr) minmax(0,1.28fr);
  gap:52px;
  align-items:start;
  padding:30px;
  border-left:5px solid var(--orange);
  border-radius:0 18px 18px 0;
  background:#fff7ef;
}
.local-water-quick h2{
  margin:6px 0 0;
  color:var(--navy);
  font-size:32px;
  line-height:1.12;
}
.local-water-quick p{
  margin:0 0 13px;
  color:#374f63;
  font-size:17px;
  line-height:1.72;
}

.local-water-causes{
  padding:80px 0;
  background:#f3f7fa;
  border-top:1px solid var(--border);
  border-bottom:1px solid var(--border);
}
.local-water-causes__grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
  margin-top:30px;
}
.local-water-causes__grid article{
  padding:25px;
  border:1px solid var(--border);
  border-radius:16px;
  background:#fff;
}
.local-water-causes__grid article > span{
  display:inline-flex;
  width:36px;
  height:36px;
  align-items:center;
  justify-content:center;
  margin-bottom:15px;
  border-radius:9px;
  background:#fff2e6;
  color:#c75600;
  font-size:12px;
  font-weight:900;
}
.local-water-causes__grid h3{
  margin:0 0 9px;
  color:var(--navy);
  font-size:21px;
}
.local-water-causes__grid p{
  margin:0;
  color:#53677a;
  line-height:1.62;
}

.local-water-detection{
  padding:82px 0;
  background:#fff;
}
.local-water-two-col{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(360px,.9fr);
  gap:58px;
  align-items:start;
}
.local-water-two-col h2{
  margin:7px 0 15px;
  color:var(--navy);
  font-size:clamp(31px,4vw,46px);
  line-height:1.08;
}
.local-water-two-col > div:first-child > p{
  color:#4e6478;
  line-height:1.72;
  font-size:16px;
}
.local-water-detection__steps,
.local-water-insurance__list{
  overflow:hidden;
  border:1px solid var(--border);
  border-radius:18px;
  background:#fff;
}
.local-water-detection__steps > div,
.local-water-insurance__list > div{
  position:relative;
  padding:21px 22px 21px 72px;
  border-bottom:1px solid var(--border);
}
.local-water-detection__steps > div:last-child,
.local-water-insurance__list > div:last-child{
  border-bottom:0;
}
.local-water-detection__steps span,
.local-water-insurance__list span{
  position:absolute;
  left:22px;
  top:22px;
  color:var(--orange);
  font-size:13px;
  font-weight:900;
}
.local-water-detection__steps strong,
.local-water-insurance__list strong{
  color:var(--navy);
  font-size:17px;
}
.local-water-detection__steps p,
.local-water-insurance__list p{
  margin:5px 0 0;
  color:#637587;
  font-size:14px;
  line-height:1.55;
}

.local-water-process{
  margin:0;
}

.local-water-materials{
  padding:80px 0;
  background:#fff;
}
.local-water-materials__grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px;
  margin-top:28px;
}
.local-water-materials__grid article{
  padding:26px;
  border:1px solid var(--border);
  border-radius:16px;
  background:#f9fbfc;
}
.local-water-materials__grid h3{
  margin:0 0 9px;
  color:var(--navy);
  font-size:22px;
}
.local-water-materials__grid p{
  margin:0;
  color:#52677a;
  line-height:1.65;
}

.local-water-projects{
  padding:80px 0;
  background:#f3f7fa;
  border-top:1px solid var(--border);
  border-bottom:1px solid var(--border);
}
.local-water-projects__grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:20px;
  margin-top:28px;
}
.local-water-project-card{
  overflow:hidden;
  border:1px solid var(--border);
  border-radius:17px;
  background:#fff;
  box-shadow:0 10px 30px rgba(14,42,67,.06);
}
.local-water-project-card__media{
  display:block;
  aspect-ratio:16/10;
  overflow:hidden;
  background:#dfe9f0;
  text-decoration:none;
}
.local-water-project-card__media img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.local-water-project-card__media > span{
  display:flex;
  width:100%;
  height:100%;
  align-items:flex-end;
  padding:18px;
  color:#fff;
  font-weight:900;
  background:linear-gradient(145deg,var(--navy),#28516f);
}
.local-water-project-card__copy{
  padding:20px;
}
.local-water-project-card__copy > span{
  color:#6d8092;
  font-size:11px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.05em;
}
.local-water-project-card h3{
  margin:7px 0 10px;
  color:var(--navy);
  font-size:21px;
  line-height:1.2;
}
.local-water-project-card h3 a{
  color:inherit;
  text-decoration:none;
}
.local-water-project-card p{
  margin:0 0 12px;
  color:#53677a;
  line-height:1.55;
  font-size:14px;
}
.local-water-projects__note{
  margin:18px 0 0;
  color:#6c7f91;
  font-size:13px;
  font-style:italic;
}

.local-water-insurance{
  padding:82px 0;
  background:#fff;
}
.local-water-insurance .insurance-note{
  margin-top:18px;
  padding:14px 16px;
  border-left:4px solid var(--orange);
  background:#f7f9fa;
  font-size:13px;
}

.local-water-areas{
  margin:0;
}
.local-water-resources{
  padding:78px 0;
  background:#f3f7fa;
  border-top:1px solid var(--border);
}
.local-water-faq{
  margin:0;
}
.local-water-related{
  padding:74px 0;
  background:#fff;
}
.local-water-cta{
  margin:0;
}

@media(max-width:1000px){
  .local-water-hero__grid,
  .local-water-two-col{
    grid-template-columns:1fr;
    gap:32px;
  }
  .local-water-hero__media{
    max-width:760px;
  }
  .local-water-proof__grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .local-water-proof__grid > div:nth-child(3){
    border-left:1px solid var(--border);
  }
  .local-water-proof__grid > div{
    border-bottom:1px solid var(--border);
  }
  .local-water-quick__grid{
    grid-template-columns:1fr;
    gap:20px;
  }
  .local-water-causes__grid,
  .local-water-projects__grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media(max-width:700px){
  .local-water-hero{
    padding:42px 0 38px;
  }
  .local-water-hero__copy h1{
    font-size:clamp(36px,11vw,52px);
  }
  .local-water-hero__lead{
    font-size:17px;
  }
  .local-water-hero__actions{
    display:grid;
    gap:10px;
  }
  .local-water-hero__actions .button{
    width:100%;
  }
  .local-water-hero__actions .local-water-hero__emergency{
    min-height:84px;
    padding:16px 20px;
    border-radius:16px;
    box-shadow:0 12px 26px rgba(0,0,0,.16);
  }
  .local-water-hero__actions .local-water-hero__emergency span{
    font-size:12px;
    margin-bottom:6px;
  }
  .local-water-hero__actions .local-water-hero__emergency strong{
    font-size:20px;
  }
  .local-water-hero__actions .local-water-hero__inspection{
    min-height:54px;
    padding:10px 16px;
    border-radius:12px;
  }
  .local-water-hero__actions .local-water-hero__inspection span{
    font-size:10px;
    margin-bottom:3px;
  }
  .local-water-hero__actions .local-water-hero__inspection strong{
    font-size:14px;
  }
  .local-water-proof__grid{
    grid-template-columns:1fr;
  }
  .local-water-proof__grid > div,
  .local-water-proof__grid > div:first-child,
  .local-water-proof__grid > div:nth-child(3){
    border-left:1px solid var(--border);
  }
  .local-water-quick{
    padding:46px 0;
  }
  .local-water-quick__grid{
    padding:23px 20px;
  }
  .local-water-causes,
  .local-water-detection,
  .local-water-materials,
  .local-water-projects,
  .local-water-insurance,
  .local-water-resources,
  .local-water-related{
    padding:56px 0;
  }
  .local-water-causes__grid,
  .local-water-materials__grid,
  .local-water-projects__grid{
    grid-template-columns:1fr;
  }
}

/* v5.4.1: supports both Corona water-damage child-page slug formats. */


/* ==========================================================
   v5.5 Expanded Local Water Damage Pages
   ========================================================== */
.local-water-local-angle{
  padding:82px 0;
  background:#fff;
  border-top:1px solid var(--border);
}
.local-water-loss-focus{
  overflow:hidden;
  border:1px solid var(--border);
  border-radius:18px;
  background:#fff;
  box-shadow:0 12px 34px rgba(14,42,67,.05);
}
.local-water-loss-focus > div{
  position:relative;
  padding:21px 22px 21px 72px;
  border-bottom:1px solid var(--border);
}
.local-water-loss-focus > div:last-child{
  border-bottom:0;
}
.local-water-loss-focus span{
  position:absolute;
  left:22px;
  top:22px;
  color:var(--orange);
  font-size:13px;
  font-weight:900;
}
.local-water-loss-focus strong{
  color:var(--navy);
  font-size:17px;
}
.local-water-loss-focus p{
  margin:5px 0 0;
  color:#637587;
  font-size:14px;
  line-height:1.55;
}

@media(max-width:700px){
  .local-water-local-angle{
    padding:56px 0;
  }
}


/* ==========================================================
   v5.6 Internal Linking System
   ========================================================== */

.internal-service-areas{
  padding:76px 0;
  background:#f4f8fb;
  border-top:1px solid var(--border);
  border-bottom:1px solid var(--border);
}
.internal-area-links{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
  margin-top:28px;
}
.internal-area-links a{
  display:flex;
  min-height:88px;
  flex-direction:column;
  justify-content:center;
  padding:16px 18px;
  border:1px solid var(--border);
  border-left:4px solid var(--orange);
  border-radius:13px;
  background:#fff;
  color:var(--navy);
  text-decoration:none;
  transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;
}
.internal-area-links a:hover{
  transform:translateY(-2px);
  border-color:#c9d7e1;
  box-shadow:0 10px 26px rgba(14,42,67,.08);
}
.internal-area-links strong{
  font-size:17px;
  line-height:1.2;
}
.internal-area-links span{
  margin-top:5px;
  color:#6a7e90;
  font-size:12px;
  line-height:1.35;
}

.internal-city-hub{
  padding:78px 0;
  background:#f4f8fb;
  border-top:1px solid var(--border);
}
.internal-city-hub__quick{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
  margin-top:28px;
}
.internal-city-hub__quick a{
  padding:22px;
  border:1px solid var(--border);
  border-radius:15px;
  background:#fff;
  color:var(--navy);
  text-decoration:none;
}
.internal-city-hub__quick span{
  display:block;
  margin-bottom:6px;
  color:#c65a08;
  font-size:11px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.08em;
}
.internal-city-hub__quick strong{
  font-size:19px;
  line-height:1.25;
}

.internal-link-subhead{
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:18px;
  margin:40px 0 16px;
}
.internal-link-subhead h3{
  margin:0;
  color:var(--navy);
  font-size:24px;
}
.internal-link-subhead--resources{
  margin-top:36px;
}

.internal-project-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
}
.internal-project-grid article{
  overflow:hidden;
  border:1px solid var(--border);
  border-radius:16px;
  background:#fff;
  box-shadow:0 8px 24px rgba(14,42,67,.05);
}
.internal-project-grid__media{
  display:block;
  aspect-ratio:16/9;
  overflow:hidden;
  background:#dfe9f0;
  text-decoration:none;
}
.internal-project-grid__media img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
}
.internal-project-grid__media > span{
  display:flex;
  width:100%;
  height:100%;
  align-items:flex-end;
  padding:16px;
  color:#fff;
  background:linear-gradient(145deg,var(--navy),#2e5774);
  font-weight:900;
}
.internal-project-grid article > div{
  padding:18px;
}
.internal-project-grid article > div > span{
  display:block;
  color:#6e8192;
  font-size:11px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.05em;
}
.internal-project-grid h3{
  margin:7px 0 8px;
  color:var(--navy);
  font-size:20px;
  line-height:1.22;
}
.internal-project-grid h3 a{
  color:inherit;
  text-decoration:none;
}
.internal-project-grid p{
  margin:0 0 12px;
  color:#566b7d;
  font-size:14px;
  line-height:1.5;
}

.internal-resource-links{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
}
.internal-resource-links a{
  display:flex;
  min-height:150px;
  flex-direction:column;
  padding:20px;
  border:1px solid var(--border);
  border-radius:15px;
  background:#fff;
  color:var(--navy);
  text-decoration:none;
}
.internal-resource-links a > span{
  color:#c65a08;
  font-size:10px;
  font-weight:900;
  letter-spacing:.09em;
  text-transform:uppercase;
}
.internal-resource-links strong{
  margin-top:7px;
  font-size:19px;
  line-height:1.25;
}
.internal-resource-links small{
  margin-top:9px;
  color:#607486;
  font-size:13px;
  line-height:1.5;
}

.resource-proof-links,
.project-resource-links{
  padding:74px 0;
  background:#f4f8fb;
  border-top:1px solid var(--border);
}
.internal-link-subhead--local{
  margin-top:35px;
}
.internal-local-water-links{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:11px;
}
.internal-local-water-links a{
  display:flex;
  flex-direction:column;
  padding:16px 17px;
  border:1px solid var(--border);
  border-radius:12px;
  background:#fff;
  color:var(--navy);
  text-decoration:none;
}
.internal-local-water-links strong{
  font-size:15px;
  line-height:1.35;
}
.internal-local-water-links span{
  margin-top:5px;
  color:#c65a08;
  font-size:12px;
  font-weight:800;
}

.project-resource-links__local{
  margin-top:22px;
}

.local-water-projects__archive-link{
  margin:18px 0 0;
}

@media(max-width:1000px){
  .internal-area-links{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
  .internal-project-grid,
  .internal-resource-links,
  .internal-local-water-links{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media(max-width:700px){
  .internal-service-areas,
  .internal-city-hub,
  .resource-proof-links,
  .project-resource-links{
    padding:56px 0;
  }
  .internal-area-links,
  .internal-city-hub__quick,
  .internal-project-grid,
  .internal-resource-links,
  .internal-local-water-links{
    grid-template-columns:1fr;
  }
  .internal-link-subhead{
    display:block;
  }
  .internal-link-subhead .text-link{
    display:inline-block;
    margin-top:8px;
  }
}


/* ==========================================================
   v5.7 Technical performance + accessibility refinements
   ========================================================== */

/* Reserve space for newer below-the-fold content while the browser skips
   unnecessary initial rendering work. */
.response-choice,
.proof-work-section,
.internal-service-areas,
.internal-city-hub,
.resource-proof-links,
.project-resource-links,
.resource-related,
.project-related,
.project-evidence,
.project-method,
.local-water-causes,
.local-water-detection,
.local-water-materials,
.local-water-projects,
.local-water-insurance,
.local-water-resources,
.local-water-related{
  content-visibility:auto;
  contain-intrinsic-size:1px 800px;
}

/* Better keyboard visibility without changing the brand design. */
a:focus-visible,
button:focus-visible,
summary:focus-visible{
  outline:3px solid var(--orange);
  outline-offset:3px;
}

/* Keep the emergency action visually dominant on the persistent mobile bar. */
@media(max-width:700px){
  .mobile-emergency-bar{
    grid-template-columns:1.14fr .86fr;
  }
  .mobile-emergency-bar a:first-child{
    min-height:64px;
    font-size:16px;
  }
  .mobile-emergency-bar a:last-child{
    min-height:56px;
    font-size:13px;
  }
}

/* v5.8: legacy SEO migration engine added; no front-end design changes. */

/* v6.0 final launch system: clean URL migration, rewrites, canonicals, and launch readiness. */
