.pv-detail-page{--pv-space:clamp(58px,6vw,100px)}
.pv-detail-page :where(h1,h2,h3,p){margin-top:0}
.pv-detail-page h2 span{color:#84a7b6}.pv-detail-page .light-section h2 span{color:#577582}
.pv-detail-page .light-section .eyebrow{color:#35616b}
.pv-detail-page :is(a,summary,button):focus-visible{outline:3px solid var(--cyan);outline-offset:5px}
.pv-detail-page .light-section a:focus-visible{outline-color:#086d70}
.pv-breadcrumb{display:flex;gap:12px;align-items:center;flex-wrap:wrap;font-size:12px;color:var(--muted);padding:25px 0 32px}
.pv-breadcrumb a:hover{color:var(--cyan)}
.pv-hero{padding-bottom:50px}.pv-hero-grid{display:grid;grid-template-columns:1fr 1.08fr;gap:clamp(30px,4vw,66px);align-items:stretch}
.pv-hero-copy{padding:20px 0 6px;align-self:center}.pv-hero-copy .eyebrow{margin-bottom:24px}
.pv-hero h1{font-size:clamp(49px,5.4vw,84px);line-height:1.02;margin-bottom:25px;letter-spacing:-.047em}.pv-hero h1 em{color:var(--cyan);font-style:normal}
.pv-intro{max-width:550px;color:#bacbd2;font-size:16px;line-height:1.85;margin-bottom:28px}
.pv-hero-note{color:var(--muted);font-size:12px;line-height:1.8;margin:24px 0 0}
.pv-hero-image{position:relative;margin:0;min-height:580px;overflow:hidden;background:#152b34}
.pv-hero-image img{display:block;width:100%;height:100%;position:absolute;inset:0;object-fit:cover;object-position:43% center}
.pv-hero-image:after{content:"";position:absolute;inset:35% 0 0;background:linear-gradient(transparent,rgba(4,18,26,.89))}
.pv-hero-image figcaption{position:absolute;bottom:32px;left:32px;right:24px;z-index:1}
.pv-hero-image figcaption span{display:block;font:10px/1.7 monospace;letter-spacing:.16em;color:var(--cyan);margin-bottom:12px}
.pv-hero-image figcaption strong{font:500 clamp(25px,2.5vw,38px)/1.12 Jost,sans-serif;letter-spacing:-.035em}
.pv-section-nav{border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}
.pv-section-nav .wrap{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}
.pv-section-nav a{display:flex;gap:14px;align-items:center;color:var(--cyan);padding:23px 22px;font:11px/1.5 monospace;border-left:1px solid var(--rule)}
.pv-section-nav a:first-child{padding-left:0;border-left:0}.pv-section-nav a>span:first-child{color:var(--paper);font:500 16px/1.4 Jost,sans-serif}.pv-section-nav a>span:last-child{margin-left:auto}.pv-section-nav a:hover>span:first-child{color:var(--cyan)}
.pv-section{padding:var(--pv-space) 0;scroll-margin-top:24px}.pv-heading{display:grid;grid-template-columns:1.12fr 1fr;gap:8%;align-items:end;margin-bottom:45px}
.pv-heading h2{font-size:clamp(36px,4.1vw,62px);margin-bottom:0}.pv-heading>p{color:#4e6570;line-height:1.9;max-width:560px;margin:0 0 4px}
.pv-service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid #b7c6c8}
.pv-service-grid article{padding:32px 34px 0;border-left:1px solid #c7d1d1}.pv-service-grid article:first-child{border-left:0;padding-left:0}.pv-service-grid article:last-child{padding-right:0}
.pv-number{font:12px/1.5 monospace;color:#477681;display:block;margin-bottom:24px}
.pv-service-grid h3{font-size:32px;letter-spacing:-.03em;margin-bottom:18px}.pv-service-grid p{color:#4b626c;line-height:1.85}
.pv-service-grid .text-link{font-size:14px;gap:15px}.pv-service-grid .pv-small-note{border-top:1px solid #c7d1d1;font-size:13px;padding-top:18px;margin:25px 0 0}
.pv-roof-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:9%;align-items:start}.pv-roof-grid h2{font-size:clamp(36px,4.1vw,62px);margin-bottom:25px}
.pv-roof-intro{color:#b4c7cf;line-height:1.85;max-width:550px}.pv-estimate-note{color:var(--muted);font-size:12px;line-height:1.8;max-width:420px;margin:18px 0 0}
.pv-roof-types{border-top:1px solid var(--rule)}.pv-roof-types article{position:relative;padding:28px 0 25px 26px;border-bottom:1px solid var(--rule);border-left:2px solid var(--cyan)}
.pv-roof-label{color:var(--cyan);font:10px/1.5 monospace;letter-spacing:.15em;display:block;margin-bottom:13px}.pv-roof-types h3{font-size:32px;margin-bottom:14px}.pv-roof-types p{margin:0;line-height:1.85;color:#b4c7cf}
.pv-steps{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:1fr 1fr;column-gap:7%}
.pv-steps li{display:flex;gap:22px;border-top:1px solid #c0cdce;padding:28px 0 20px}.pv-steps li>span{font:500 32px/1.1 Jost,sans-serif;color:#577d87}.pv-steps h3{font-size:25px;letter-spacing:-.025em;margin-bottom:13px}.pv-steps p{line-height:1.85;color:#4b626c;margin:0 0 12px}
.pv-local-note{border-top:1px solid #b7c6c8;margin-top:34px;padding-top:33px;display:grid;grid-template-columns:.85fr 1.25fr auto;gap:35px;align-items:center}.pv-local-note .eyebrow{display:block;margin-bottom:15px}.pv-local-note h3{font-size:26px;margin:0}.pv-local-note p{font-size:14px;line-height:1.85;color:#4b626c;margin:0}.pv-local-note>a{font:500 20px/1.5 Jost,sans-serif;white-space:nowrap;border-bottom:1px solid #7e969e;padding-bottom:5px}.pv-local-note>a span{margin-left:12px}
.pv-faq-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:9%}.pv-faq-grid h2{font-size:clamp(36px,4.1vw,62px);margin-bottom:22px}.pv-faq-grid>div>p:not(.eyebrow){color:#b4c7cf;max-width:370px}.pv-faq-list{border-top:1px solid var(--rule)}
.pv-faq-list details{border-bottom:1px solid var(--rule)}.pv-faq-list summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:24px;padding:24px 0;font:500 21px/1.4 Jost,sans-serif;letter-spacing:-.01em}.pv-faq-list summary::-webkit-details-marker{display:none}.pv-faq-list summary:after{content:"+";font:400 26px/1 monospace;color:var(--cyan);flex-shrink:0}.pv-faq-list details[open] summary:after{content:"−"}.pv-faq-list details[open] summary{color:var(--cyan)}.pv-faq-list details p{color:#b4c7cf;line-height:1.9;margin:0 28px 24px 0}
.pv-detail-page .contact-band h2{font-size:clamp(32px,3.8vw,58px)}
@media(min-width:1680px){.pv-hero-image{min-height:670px}}
@media(max-width:1050px){.pv-hero-grid{gap:28px}.pv-hero-image{min-height:540px}.pv-hero h1{font-size:clamp(47px,5.4vw,70px)}.pv-section-nav a{padding:21px 14px;gap:8px}.pv-section-nav a>span:first-child{font-size:14px}.pv-service-grid article{padding-right:24px;padding-left:24px}.pv-service-grid h3{font-size:29px}.pv-local-note{grid-template-columns:.9fr 1.1fr}.pv-local-note>a{grid-column:2;justify-self:start}.pv-roof-grid,.pv-faq-grid{gap:6%}}
@media(max-width:760px){.pv-breadcrumb{padding:22px 0 26px;font-size:11px;gap:9px}.pv-hero-grid,.pv-heading,.pv-roof-grid,.pv-faq-grid{grid-template-columns:1fr}.pv-hero-copy{padding:0}.pv-hero h1{font-size:clamp(52px,10vw,72px)}.pv-intro{font-size:15px;max-width:570px}.pv-hero-copy .eyebrow{font-size:10px}.pv-hero-note{margin-top:20px}.pv-hero-image{min-height:0;aspect-ratio:1.24;margin-top:5px}.pv-hero-image figcaption{left:24px;bottom:23px}.pv-hero{padding-bottom:32px}.pv-section-nav .wrap{grid-template-columns:1fr 1fr}.pv-section-nav a{padding:17px 0}.pv-section-nav a:nth-child(even){padding-left:17px}.pv-section-nav a:nth-child(3){border-left:0;border-top:1px solid var(--rule)}.pv-section-nav a:nth-child(4){border-top:1px solid var(--rule)}.pv-section-nav a:nth-child(odd){padding-right:14px}.pv-section-nav a>span:first-child{font-size:13px}.pv-section-nav a>span:last-child{display:none}.pv-heading{gap:24px;margin-bottom:32px}.pv-service-grid{grid-template-columns:1fr}.pv-service-grid article,.pv-service-grid article:first-child,.pv-service-grid article:last-child{padding:25px 0 29px;border-left:0;border-bottom:1px solid #c7d1d1}.pv-service-grid article:last-child{border-bottom:0;padding-bottom:0}.pv-number{margin-bottom:15px}.pv-service-grid h3{font-size:30px}.pv-service-grid h3 br{display:none}.pv-roof-grid{gap:32px}.pv-roof-types article{padding:25px 0 25px 20px}.pv-steps{grid-template-columns:1fr}.pv-local-note{grid-template-columns:1fr;gap:23px;margin-top:20px}.pv-local-note>a{grid-column:auto}.pv-faq-grid{gap:34px}.pv-faq-list summary{font-size:20px;padding:21px 0;gap:18px}.pv-faq-list details p{margin-right:0;font-size:14px}.pv-detail-page .contact-band .button{white-space:normal}}
@media(prefers-reduced-motion:reduce){.pv-detail-page{scroll-behavior:auto}}
