/* Photo-led services layout. Kept independent for migration to a Blade page. */
.services-hero{padding-block:clamp(28px,3vw,58px) 0;background:var(--soft)}
.services-hero .breadcrumb{margin-bottom:clamp(25px,3vw,50px)}
.services-hero-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(30px,4vw,110px);align-items:center}
.services-hero-copy{padding-block:18px 30px;min-width:0}
.services-hero h1{font-size:clamp(2.8rem,4.6vw,7rem);line-height:1.06;letter-spacing:-.06em;max-width:15ch}
.services-hero h1 span{color:var(--red)}
.services-hero-copy>p:not(.eyebrow){font-size:clamp(1rem,1.1vw,1.3rem);max-width:47ch;margin-top:27px;color:var(--muted);line-height:1.75}
.services-hero-copy>.button{margin-top:32px}
.services-hero-note{display:flex;align-items:center;gap:11px;margin-top:26px;color:var(--muted);font-size:.86rem}
.services-hero-note svg{width:23px;height:23px;flex:none;color:var(--red)}
.services-hero-photo{position:relative;margin:0;height:clamp(460px,39vw,760px);overflow:hidden;min-width:0;background:#dedede}
.services-hero-photo>img{height:100%;width:100%;object-fit:cover;object-position:50% 46%}
.services-hero-photo figcaption{position:absolute;inset:auto 0 0;background:#171717ed;color:#fff;padding:clamp(20px,2vw,36px);padding-right:90px}
.services-hero-photo figcaption>span{display:block;font-size:.72rem;letter-spacing:.12em;color:#dedede;font-weight:700}
.services-hero-photo figcaption>strong{display:block;font-size:clamp(1rem,1.1vw,1.3rem);line-height:1.5;margin-top:4px}
.services-hero-photo figcaption>a{position:absolute;right:20px;top:50%;transform:translateY(-50%);display:grid;place-items:center;width:48px;height:48px;font-size:1.7rem;text-decoration:none;border:1px solid #777}
.services-hero-photo figcaption>a:hover{background:var(--red)}
.services-hero-photo figcaption>a:focus-visible{outline-color:#fff}
.services-category-nav{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin-top:clamp(36px,3vw,65px);border-top:1px solid var(--line)}
.services-category-nav>a{display:flex;align-items:flex-start;gap:clamp(10px,1.2vw,25px);text-decoration:none;padding:27px 22px 30px;border-right:1px solid var(--line);font-size:clamp(.9rem,1vw,1.15rem);font-weight:700;line-height:1.4;transition:background .2s,color .2s}
.services-category-nav>a:first-child{padding-left:0}
.services-category-nav>a:last-child{border:0}
.services-category-nav>a:hover{background:#e9e9e9;color:var(--red)}
.category-number{font-size:.75rem;color:var(--red);padding-top:4px}
.services-category-nav small{display:block;color:var(--muted);font-weight:400;font-size:.8rem;margin-top:7px;line-height:1.5}
.category-arrow{margin-left:auto;font-size:1.4rem;line-height:1;color:var(--red)}
.svc-section{padding-block:clamp(58px,6vw,130px);scroll-margin-top:30px}
.svc-section-soft{background:var(--soft);border-block:1px solid var(--line)}
.svc-feature{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);align-items:center;gap:clamp(35px,6vw,140px)}
.svc-feature-reverse{grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr)}
.svc-photo{margin:0;height:clamp(530px,42vw,780px);position:relative;background:#e8e8e8;overflow:hidden}
.svc-photo>img{width:100%;height:100%;object-fit:cover;object-position:center 46%;transition:transform .5s}
.svc-photo:hover>img{transform:scale(1.025)}
.svc-photo figcaption{position:absolute;bottom:0;left:0;right:0;padding:20px 24px;background:#171717ee;color:#fff;font-size:.85rem;line-height:1.5;display:flex;align-items:center;gap:12px}
.svc-photo-rule{height:26px;width:3px;flex:none;background:#dedede}
.svc-panel-photo>img{object-position:center 55%}
.svc-lighting-photo>img{object-position:40% 55%}
.svc-content{min-width:0}
.svc-content h2,.svc-energy h2{font-size:clamp(2.15rem,3.2vw,4.75rem);line-height:1.08}
.svc-lead{max-width:50ch;color:var(--muted);font-size:clamp(1rem,1.05vw,1.25rem);line-height:1.75;margin-top:24px}
.svc-options{display:grid;gap:0;margin-top:33px}
.svc-option{display:flex;gap:23px;padding-block:25px;border-top:1px solid var(--line);min-width:0}
.svc-option>svg{width:35px;height:35px;flex:none;color:var(--red);stroke-width:1.5}
.svc-option h3{font-size:clamp(1.16rem,1.2vw,1.6rem);line-height:1.25;letter-spacing:-.03em}
.svc-option p{font-size:clamp(.94rem,1vw,1.13rem);line-height:1.75;color:var(--muted);max-width:51ch;margin-top:10px}
.svc-content>.text-link{margin-top:7px;color:var(--red)}
.svc-options-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 30px}
.svc-options-grid .svc-option{flex-direction:column;gap:16px;padding-block:24px}
.svc-options-grid .svc-option p{max-width:32ch}
.svc-options-grid .text-link{margin-top:10px;color:var(--red)}
.svc-energy{padding-block:clamp(58px,6vw,125px);background:#1c1c1c;color:#fff;scroll-margin-top:30px}
.svc-energy .eyebrow{color:#dedede}
.svc-energy-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:35px;margin-bottom:42px}
.svc-energy-heading>p{font-size:clamp(1rem,1.05vw,1.25rem);color:#cacaca;max-width:39ch;line-height:1.75}
.svc-energy-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(24px,3vw,65px)}
.svc-energy-card{min-width:0}
.svc-energy-image{height:clamp(340px,29vw,600px);position:relative;overflow:hidden;background:#424242}
.svc-energy-image img{width:100%;height:100%;object-fit:cover;object-position:50% 43%;transition:transform .5s}
.svc-energy-card:hover img{transform:scale(1.025)}
.svc-solar-image img{object-position:50% 69%}
.svc-energy-image>span{position:absolute;left:20px;bottom:20px;max-width:calc(100% - 40px);padding:9px 13px;background:#fff;color:var(--red);font-weight:700;font-size:.75rem;letter-spacing:.09em}
.svc-energy-copy{display:flex;gap:25px;padding-top:27px}
.svc-energy-copy>svg{width:35px;height:35px;flex:none;stroke-width:1.5;color:#dedede}
.svc-energy-copy h3{font-size:clamp(1.5rem,1.8vw,2.3rem);line-height:1.2}
.svc-energy-copy p{max-width:55ch;font-size:clamp(.96rem,1vw,1.14rem);color:#cacaca;margin-top:15px;line-height:1.75}
.svc-energy-copy .text-link{margin-top:17px}
.svc-energy a:focus-visible{outline-color:#fff}
.services-faq{padding-block:clamp(58px,6vw,110px)}
.svc-faq-icon{width:48px;height:48px;color:var(--red);margin-bottom:27px}
.svc-faq-intro{max-width:34ch;color:var(--muted);margin-top:20px}
.services-faq .text-link{margin-top:14px;color:var(--red)}
.services-faq .faq-list p{max-width:68ch}
@media(min-width:2000px){.svc-options{gap:7px}.svc-option{padding-block:31px}.svc-options-grid{gap:0 40px}.svc-options-grid .svc-option{padding-block:31px}.services-category-nav>a{padding-block:35px}.services-category-nav small{font-size:.95rem}}
@media(max-width:1100px){.services-category-nav>a{padding-inline:14px;gap:10px}.services-category-nav small{font-size:.75rem}.category-number{display:none}.svc-feature{gap:38px}.svc-options-grid{gap:0 20px}.svc-options-grid .svc-option{gap:13px}.svc-option{gap:17px}.svc-photo{height:620px}.svc-energy-copy{gap:18px}}
@media(max-width:800px){.services-hero-grid{grid-template-columns:1fr;gap:30px}.services-hero h1{font-size:clamp(2.8rem,7.8vw,4.6rem);max-width:17ch}.services-hero-copy{padding:0}.services-hero-copy>p:not(.eyebrow){max-width:54ch}.services-hero-photo{height:clamp(340px,75vw,530px)}.services-hero-photo>img{object-position:center 51%}.services-category-nav{grid-template-columns:1fr 1fr;margin-top:32px}.services-category-nav>a{padding:20px 18px}.services-category-nav>a:first-child{padding-left:18px}.services-category-nav>a:nth-child(2){border-right:0}.services-category-nav>a:nth-child(-n+2){border-bottom:1px solid var(--line)}.services-category-nav small{font-size:.8rem}.svc-feature,.svc-feature-reverse{grid-template-columns:1fr;gap:30px}.svc-content{order:0}.svc-photo{order:1;height:clamp(350px,75vw,590px)}.svc-panel-photo{height:clamp(400px,95vw,680px)}.svc-options-grid .svc-option p{max-width:41ch}.svc-option p{max-width:59ch}.svc-content h2,.svc-energy h2{font-size:clamp(2.2rem,5.7vw,3.1rem)}.svc-lead{max-width:54ch}.svc-options{margin-top:26px}.svc-energy-heading{align-items:flex-start;flex-direction:column;gap:22px}.svc-energy-heading>p{max-width:55ch}.svc-energy-image{height:330px}.svc-energy-copy{display:block}.svc-energy-copy>svg{margin-bottom:18px}.services-faq .faq-grid{gap:35px}}
@media(max-width:700px){.svc-energy-grid{grid-template-columns:1fr;gap:42px}.svc-energy-image{height:clamp(330px,80vw,490px)}.svc-solar-image{height:clamp(290px,64vw,430px)}.svc-energy-copy{display:flex}.svc-energy-copy>svg{margin-bottom:0}.svc-energy-copy p{font-size:1rem}.svc-options-grid{gap:0 22px}.services-category-nav>a{font-size:.9rem}.services-hero .eyebrow{font-size:.7rem;letter-spacing:.07em}.services-hero-note{font-size:.8rem}}
@media(max-width:430px){.services-hero h1{font-size:clamp(2.4rem,10vw,3.3rem)}.services-hero-copy>.button{font-size:.8rem;gap:18px;max-width:100%;padding-inline:19px}.services-hero-note{gap:9px;align-items:flex-start}.services-hero-photo figcaption{padding:18px 70px 18px 18px}.services-hero-photo figcaption>span{font-size:.65rem;letter-spacing:.06em}.services-hero-photo figcaption>strong{font-size:.91rem}.services-hero-photo figcaption>a{right:13px;width:44px;height:44px}.services-category-nav>a{padding:18px 12px;font-size:.84rem;gap:5px}.services-category-nav>a:first-child{padding-left:12px}.services-category-nav small{font-size:.72rem}.category-arrow{font-size:1.15rem}.svc-options-grid{grid-template-columns:1fr}.svc-options-grid .svc-option{flex-direction:row;gap:17px}.svc-option>svg{width:30px;height:30px}.svc-photo figcaption{padding:18px;font-size:.8rem}.svc-energy-copy{gap:17px}.svc-energy-copy>svg{width:30px;height:30px}.svc-energy-copy h3{font-size:1.5rem}}
@media(prefers-reduced-motion:reduce){.svc-photo:hover>img,.svc-energy-card:hover img{transform:none}}
@media print{.services-category-nav,.services-hero-copy>.button,.services-hero-photo figcaption>a{display:none}.services-hero-grid,.svc-feature,.svc-feature-reverse{grid-template-columns:1fr 1fr;gap:25px}.services-hero-photo,.svc-photo,.svc-energy-image{height:280px}.services-hero h1{font-size:32pt}.svc-section,.svc-energy{padding-block:25px}.svc-content h2,.svc-energy h2{font-size:24pt}.svc-energy{background:#fff;color:#000}.svc-energy .eyebrow,.svc-energy-heading>p,.svc-energy-copy p,.svc-energy .light-link{color:#333}.svc-options-grid{grid-template-columns:1fr}.svc-energy-grid{gap:25px}}
