.utility-bar{height:30px;background:var(--red);position:fixed;inset:0 0 auto;z-index:21;display:flex;justify-content:space-between;align-items:center;padding:0 max(28px,calc((100vw - var(--max))/2));font-size:.68rem;letter-spacing:.08em;text-transform:uppercase}
.site-header{height:82px;inset:30px 0 auto}
.proof-bar{min-height:70px;background:#111114;border-block:1px solid #2d2d31;display:grid;grid-template-columns:repeat(4,1fr);align-items:center;padding:0 max(28px,calc((100vw - var(--max))/2));font-family:"Barlow Condensed";font-size:1rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em}
.proof-bar span{padding:8px 20px;text-align:center;border-right:1px solid #343438}
.proof-bar span:last-child{border:0}
.proof-bar span:before{content:"✓";color:var(--red);margin-right:9px}
.services-grid{grid-template-columns:repeat(3,1fr)}
.service-card:nth-child(3n){border-right:0}
.service-card:nth-child(-n+3){border-bottom:1px solid #303035}
.process-lead{color:#929298;max-width:590px}
.steps{grid-template-columns:repeat(3,1fr)}
.steps article:nth-child(3n){border-right:0}
.steps article:nth-child(-n+3){border-bottom:1px solid #333;padding-bottom:38px;margin-bottom:38px}
.floating-cta{position:fixed;z-index:19;right:24px;bottom:24px;background:var(--red);padding:14px 20px;font-family:"Barlow Condensed";font-weight:800;text-transform:uppercase;letter-spacing:.05em;box-shadow:0 12px 30px rgba(0,0,0,.38)}
.floating-cta span{margin-left:25px}
@media(max-width:1000px){
  .services-grid{grid-template-columns:1fr 1fr}
  .service-card:nth-child(3n){border-right:1px solid #303035}
  .service-card:nth-child(2n){border-right:0}
  .service-card:nth-child(-n+4){border-bottom:1px solid #303035}
  .steps{grid-template-columns:1fr 1fr}
  .steps article:nth-child(3n){border-right:1px solid #333}
  .steps article:nth-child(2n){border-right:0}
  .steps article:nth-child(-n+4){border-bottom:1px solid #333;padding-bottom:30px;margin-bottom:30px}
}
@media(max-width:680px){
  .utility-bar{height:28px;padding:0 14px;justify-content:center}
  .utility-bar strong{display:none}
  .site-header{height:68px;top:28px}
  .site-header nav.open{top:68px}
  .proof-bar{grid-template-columns:1fr 1fr;padding:16px 12px;gap:10px;font-size:.82rem}
  .proof-bar span{border:0;text-align:left;padding:4px}
  .services-grid{grid-template-columns:1fr}
  .service-card,.service-card:nth-child(2n),.service-card:nth-child(3n){border-right:0}
  .service-card:nth-child(-n+5){border-bottom:1px solid #303035}
  .steps{grid-template-columns:1fr}
  .steps article,.steps article:nth-child(2n),.steps article:nth-child(3n),.steps article:nth-child(-n+4){border-right:0;border-bottom:1px solid #333;padding-bottom:28px;margin-bottom:0}
  .floating-cta{left:18px;right:18px;bottom:14px;display:flex;justify-content:space-between}
}

/* Original supplied Vanguard logo, preserved without image alteration. */
.brand .official-logo{display:block;width:88px;height:76px;object-fit:contain;background:#fff}
.footer-brand .official-logo{width:150px;height:auto}
section[id]{scroll-margin-top:125px}
@media(max-width:680px){.brand .official-logo{width:68px;height:62px}.footer-brand .official-logo{width:140px;height:auto}}

/* Consistent full-logo placements using the supplied original artwork. */
.site-header{height:126px;background:#fff;color:#111;border-bottom:3px solid var(--red)}
.site-header .official-logo{width:124px;height:116px}
.header-cta{color:#fff}
.hero-content{margin-top:166px}
.why-visual{background:#fff;display:flex;flex-direction:column;justify-content:center;padding:50px 35px;gap:35px}
.standard-logo{display:block;width:min(100%,440px);height:auto}
.why-visual .stat{position:static;border-left:5px solid var(--red);align-self:center}
.why-visual .stat strong{color:#111}
.why-visual .stat span{color:#555}
.contact-logo{display:block;width:150px;height:auto;background:#fff;margin:0 0 30px}
.footer-brand .official-logo{width:180px;height:auto}
section[id]{scroll-margin-top:175px}
@media(max-width:1000px){.menu-toggle{display:block}.menu-toggle span{background:#111}.site-header nav.open{display:flex;position:absolute;top:126px;left:0;right:0;background:#fff;flex-direction:column;padding:24px 28px;gap:22px}}
@media(max-width:680px){.site-header{height:104px}.site-header .official-logo{width:100px;height:96px}.site-header nav.open{top:104px}.hero-content{margin-top:164px}.standard-logo{width:min(100%,320px)}.why-visual{padding:40px 24px}.footer-brand .official-logo{width:155px}.contact-logo{width:130px}section[id]{scroll-margin-top:150px}}

.contact-logo,.footer-brand .official-logo{background:transparent;height:auto}

/* Project photography and video gallery. */
.projects{max-width:var(--max);margin:0 auto;padding:100px 0;border-top:1px solid #303035}
.projects-heading{display:grid;grid-template-columns:1fr 1fr;align-items:end;gap:60px;margin-bottom:40px}
.projects-heading h2{margin:0}.projects-heading>p,.project-videos-heading p{color:#aaaab0;max-width:490px}
.project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px 24px}
.project-card,.project-video{margin:0;min-width:0}.project-card[hidden]{display:none}
.project-photo{display:block;position:relative;overflow:hidden;background:#202024;aspect-ratio:4/3}
.project-photo img{width:100%;height:100%;object-fit:cover;transition:transform .25s ease;display:block}
.project-photo:hover img{transform:scale(1.035)}.project-photo:focus-visible{outline:3px solid #fff;outline-offset:4px}
.project-expand{position:absolute;bottom:12px;right:12px;background:#111e;padding:6px 10px;color:white;font-size:.7rem;font-weight:700}
.project-card figcaption{padding-top:12px;font-size:.78rem;line-height:1.5;color:#ddd}.project-card figcaption span{color:var(--red);font-weight:800;margin-right:12px}
.gallery-more{margin:32px auto 0;display:flex;cursor:pointer;font:inherit;font-size:.8rem}.gallery-more[hidden]{display:none}
.project-videos-heading{margin-top:65px}.project-videos-heading h3{font-family:"Barlow Condensed",sans-serif;font-size:2rem;text-transform:uppercase;margin-bottom:0}
.project-videos{display:grid;grid-template-columns:1fr 1fr;gap:24px}.project-video video{width:100%;aspect-ratio:16/9;object-fit:contain;display:block;background:#17171a}.project-video figcaption{padding:14px 0;font-size:.8rem;color:#bbb}
.projects-cta{border-top:1px solid #303035;margin-top:36px;padding-top:28px;display:flex;justify-content:space-between;align-items:center;gap:20px}.projects-cta p{font-weight:600}
.photo-viewer{position:fixed;inset:0;width:min(1100px,94vw);max-width:94vw;max-height:94dvh;padding:18px;border:1px solid #444;background:#111114;color:#fff;overflow:auto}
.photo-viewer::backdrop{background:#000e}.photo-viewer>img{display:block;max-width:100%;width:100%;height:65dvh;object-fit:contain;margin-top:12px}.viewer-close{display:block;margin-left:auto}.photo-viewer button{background:#29292f;color:#fff;border:1px solid #555;padding:10px 16px;cursor:pointer;font:inherit;font-size:.85rem}.viewer-caption{text-align:center;font-size:.85rem}.viewer-controls{display:flex;align-items:center;justify-content:space-between;gap:12px}.viewer-count{font-size:.8rem;color:#bbb}body.viewer-open{overflow:hidden}
@media(max-width:1256px){.projects{margin-inline:28px}}
@media(max-width:1100px){.site-header{gap:24px}.site-header nav{gap:18px;font-size:.82rem}}
@media(max-width:800px){.project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.projects-heading{grid-template-columns:1fr;gap:12px}.projects{padding-block:70px}}
@media(max-width:540px){.projects{margin-inline:20px}.project-grid,.project-videos{grid-template-columns:1fr}.projects-cta{align-items:stretch;flex-direction:column}.projects-cta .btn{justify-content:center;text-align:center}.photo-viewer{padding:12px}.photo-viewer>img{height:55dvh}}
@media(prefers-reduced-motion:reduce){.project-photo img{transition:none}}

/* Ownership, homeowner ratings, and roof replacement financing. */
.financing{max-width:var(--max);margin:0 auto;padding:80px 0;border-top:1px solid #303035;display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.financing h2{margin:0}.financing-copy p{color:#aaaab0;margin:0 0 22px}.financing-copy .btn{display:inline-flex}.local-ownership{font-weight:600}.rating-stars{color:var(--red);font-size:1.6rem;letter-spacing:.18em}.rating-summary p{font-weight:700;color:#fff;font-size:1rem;text-transform:none;letter-spacing:0;margin:8px 0 28px}
@media(max-width:1256px){.financing{margin-inline:28px}}
@media(max-width:680px){.financing{grid-template-columns:1fr;gap:24px;padding-block:60px}.trust-strip strong{font-size:1.2rem}.trust-strip span{font-size:.7rem}}
