/* Extend the original Vanguard palette and typography. */
.coverage-section,.process-section,.faq-section{border-top:1px solid var(--line)}
.coverage-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.coverage-card{position:relative;padding:40px;border:1px solid var(--line);background:linear-gradient(145deg,#18201c,#0e1210);display:flex;flex-direction:column;align-items:flex-start}
.coverage-card:nth-child(2){background:#101311}
.coverage-card h3{font-family:'Barlow Condensed',sans-serif;font-weight:500;font-size:clamp(38px,4vw,60px);text-transform:uppercase;margin:24px 0 8px;line-height:1}
.coverage-card>p:not(.eyebrow){color:var(--muted);font-size:15px;line-height:1.7;margin:10px 0}
.coverage-card ul{padding:0;margin:20px 0 32px;width:100%;list-style:none;color:#c7cec9;font-size:14px;line-height:1.7}
.coverage-card li{padding:12px 0;border-top:1px solid var(--line)}
.coverage-card li:before{content:'—';margin-right:12px;color:var(--accent)}
.coverage-card .text-link{margin-top:auto}
.process-grid,.benefits-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px}
.process-grid article,.benefits-grid article{border-top:1px solid var(--line);padding-top:24px}
.process-grid article:first-child{border-color:var(--accent)}
.process-grid h3,.benefits-grid h3{font-size:22px;font-weight:450;letter-spacing:-.03em;line-height:1.25;margin:0 0 14px}
.process-grid p,.benefits-grid p{font-size:14px;color:var(--muted);line-height:1.8;margin:0}
.process-grid .service-number,.benefits-grid .service-number{margin-bottom:34px}
.faq-list{max-width:1000px;margin-left:auto}
.faq-list details{border-top:1px solid var(--line)}
.faq-list details:last-child{border-bottom:1px solid var(--line)}
.faq-list summary{display:flex;align-items:center;justify-content:space-between;gap:24px;cursor:pointer;list-style:none;min-height:84px;padding:24px 0;font-size:clamp(17px,1.6vw,22px);letter-spacing:-.025em;line-height:1.5}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary span{font-size:25px;color:var(--accent);transition:transform .2s}
.faq-list details[open] summary span{transform:rotate(45deg)}
.faq-list details p{color:var(--muted);font-size:15px;line-height:1.9;max-width:780px;margin:0 40px 28px 0}
.footer-services{grid-column:1/-1;display:flex;gap:14px 32px;flex-wrap:wrap;padding-block:25px;border-top:1px solid var(--line);font-size:12px;color:var(--muted)}
.footer-services a{min-height:44px;display:inline-flex;align-items:center}
.footer-services a:hover{color:var(--text)}
.service-hero{display:grid;grid-template-columns:1.1fr 1fr;gap:6%;padding:164px var(--pad) 72px;max-width:1800px;margin:auto;align-items:center}
.service-hero-copy{min-width:0;padding-bottom:20px}
.breadcrumbs{display:flex;flex-wrap:wrap;gap:10px;color:var(--muted);font-size:11px;line-height:1.8;margin-bottom:60px}
.breadcrumbs a:hover{color:var(--text)}
.service-hero h1{font-family:'Barlow Condensed',sans-serif;font-weight:600;font-size:clamp(56px,6.6vw,110px);text-transform:uppercase;line-height:.98;letter-spacing:-.02em;margin:26px 0}
.service-hero h1>span{display:block;color:var(--accent)}
.service-hero-copy>p:not(.eyebrow){font-size:16px;line-height:1.9;color:var(--muted);max-width:570px}
.service-hero figure{margin:0;position:relative;min-width:0}
.service-hero figure img{width:100%;height:clamp(460px,47vw,700px);object-fit:cover}
.service-hero figcaption{padding-top:16px;letter-spacing:.15em;color:var(--muted);font-size:9px}
.benefits-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.related-services{border-top:1px solid var(--line)}
.related-services h2{margin:20px 0 35px}
.related-services>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px 40px}
.document-page{max-width:850px;margin:auto;padding:70px 24px 100px}
.document-page h1{font-family:'Barlow Condensed',sans-serif;text-transform:uppercase;font-size:clamp(48px,7vw,85px);line-height:1.05;margin:45px 0 30px}
.document-page h2{font-size:26px;margin:35px 0 18px}
.document-page p{font-size:16px;color:var(--muted);line-height:1.9}
.document-page p a{text-decoration:underline;text-underline-offset:4px}
@media(min-width:1000px){.services-grid .service-card.mobile-service{grid-column:auto}}
@media(max-width:1000px){.process-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px}.service-hero{gap:4%}.service-hero h1{font-size:clamp(52px,7vw,80px)}.service-hero .hero-actions{flex-wrap:wrap;gap:12px 24px}.breadcrumbs{margin-bottom:35px}}
@media(max-width:700px){.coverage-grid,.benefits-grid{grid-template-columns:1fr}.coverage-card{padding:28px}.process-grid{gap:30px 22px}.process-grid h3{font-size:20px}.process-grid p{font-size:13px}.service-hero{grid-template-columns:1fr;padding-top:125px;gap:30px}.service-hero h1{font-size:clamp(58px,12vw,84px)}.service-hero figure img{height:430px}.service-hero-copy>p:not(.eyebrow){font-size:15px}.breadcrumbs{margin-bottom:35px}.related-services>div{grid-template-columns:1fr}.faq-list summary{min-height:76px}.footer-services{gap:0 24px}.coverage-card h3{font-size:44px}}
@media(prefers-reduced-motion:reduce){.faq-list summary span{transition:none}}

/* Original owner-supplied PNG, displayed without modifying the artwork. */
.wordmark.brand-lockup{gap:0;flex:0 0 auto;min-height:44px}
.brand-viewport{position:relative;display:block;width:264px;aspect-ratio:1880 / 265;overflow:hidden}
.brand-viewport img{position:absolute;width:120.4787234%;max-width:none;height:auto;left:-19.6808511%;top:-18.1132075%}
.footer-brand .brand-viewport{width:min(300px,calc(100vw - var(--pad) - var(--pad)))}
@media(max-width:700px){.site-header .brand-viewport{width:220px}}
@media(max-width:380px){.site-header .brand-viewport{width:196px}}

/* Portfolio photos live with the service they illustrate. */
.service-gallery{border-top:1px solid var(--line)}
.service-gallery-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(0,.8fr);gap:clamp(24px,4vw,64px);align-items:start}
.service-project{margin:0;min-width:0}
.service-photo{display:block;aspect-ratio:4 / 3;overflow:hidden;background:#151a17}
.service-photo img{width:100%;height:100%;object-fit:cover;object-position:center;transition:transform .4s ease}
.service-photo:hover img{transform:scale(1.02)}
.service-project figcaption{padding-top:18px}
.service-project h3{margin:0 0 8px;font-size:20px;font-weight:450;letter-spacing:-.025em;line-height:1.4}
.service-project figcaption span{font-size:10px;line-height:1.6;letter-spacing:.1em;color:var(--muted)}
.service-project-portrait{width:100%;max-width:330px;justify-self:end}
.service-project-portrait .service-photo{aspect-ratio:310 / 552}
@media(max-width:700px){.service-gallery-grid{grid-template-columns:1fr;gap:36px}.service-project-portrait{justify-self:start}}
@media(prefers-reduced-motion:reduce){.service-photo img{transition:none}.service-photo:hover img{transform:none}}

.consolidated-services .service-card.featured{grid-column:auto}
.finish-options .coverage-card h3{font-size:clamp(36px,3.7vw,54px);line-height:1.05}

.footer-brand .former-brand{margin-top:8px;color:var(--muted);font-size:11px;line-height:1.6}
