/* B-pattern refinement layer. Loaded after the shared cascade on every page. */
.home-hero .hero-slide:nth-child(3) img{object-position:58% 48% !important;transform:scale(1.28) !important}
.home-hero .hero-slide:nth-child(3)::after{background:linear-gradient(0deg,rgb(17 29 43 / .78),rgb(17 29 43 / .52) 48%,rgb(17 29 43 / .34)) !important}

.eyebrow,.purpose-heading .eyebrow,.principles .eyebrow{font-size:.68rem !important;letter-spacing:.2em !important;line-height:1.2 !important}
.button,.text-link,.footer-phone{transition:color 220ms ease,background 220ms ease,border-color 220ms ease,transform 220ms ease}
.button{border:1px solid transparent}
.button:hover,.button:focus-visible{transform:translateY(-3px)}
.button-dark:hover,.button-dark:focus-visible{background:var(--orange);color:#fff}
.button-light:hover,.button-light:focus-visible{background:var(--orange);color:#fff}
.text-link{border-bottom-color:var(--orange)}
.text-link:hover,.text-link:focus-visible{color:var(--orange)}

body:has(.home-hero) #services .service-grid{align-self:center !important;gap:18px !important}
body:has(.home-hero) #services .service-card{min-height:250px !important;padding:32px 30px 28px !important;justify-content:flex-start !important}
body:has(.home-hero) #services .service-card::before{margin-bottom:24px}
body:has(.home-hero) #services .service-card .card-label{margin-bottom:14px !important}
body:has(.home-hero) #services .service-card>p:not(.card-label){max-width:32em !important;line-height:1.9 !important}
body:has(.home-hero) #services .service-card .arrow{right:30px !important;bottom:24px !important}

.manifesto .split-copy,.manifesto .split-copy h2,.manifesto .split-copy .lead,.manifesto .split-copy>p:not(.eyebrow):not(.lead){color:var(--ink) !important}
.manifesto .split-copy h2{font-weight:500 !important;text-shadow:none !important}

.contact-band{background:var(--cream) !important;align-items:stretch !important}
.contact-copy{padding-top:clamp(80px,9vw,128px) !important;padding-bottom:clamp(80px,9vw,128px) !important}
.contact-copy .eyebrow{margin-bottom:28px !important}
.contact-copy h2{margin-bottom:28px !important}
.contact-photo{min-height:clamp(360px,34vw,520px) !important;border-radius:0 !important}

.service-card,.info-card,.area-card,.brand-card,.symptom-card,.principle,.voice-card{padding-top:28px !important;padding-bottom:28px !important}
.service-card .card-label,.info-card .card-label,.area-card .card-label,.brand-card .card-label,.symptom-card .card-label{color:var(--ink)}
.principle .card-label{color:var(--white)}
.page-intro h1,.hero.page-hero .hero-copy h1,.hero.case-hero .hero-copy h1,.news-hero h1,.article-intro h1{color:#fff}

/* Solar works: six-step system cards. */
.solar-works{background:#14243a;color:#fff}
.solar-works .section-line{margin-bottom:clamp(32px,5vw,56px)}
.solar-works .section-line h2{color:#fff}
.solar-works .section-aside{color:#fff9}
.solar-works-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:0;padding:0;list-style:none}
.solar-works-card{position:relative;display:flex;flex-direction:column;min-height:300px;padding:28px 30px 26px;border:1px solid #14243a33;background:#fff;overflow:hidden}
.solar-works-card:hover{background:#fffdfa}
.solar-works-no{font:700 clamp(3.8rem,6vw,6.2rem)/.8 var(--display);letter-spacing:-.08em;color:#e2a12d}
.solar-works-icon{position:absolute;top:26px;right:28px;width:64px;height:64px;color:#e2a12d;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.solar-works-copy{display:flex;flex:1;flex-direction:column;margin-top:42px}
.solar-works-copy .card-label{margin-bottom:12px;color:#14243a;font-size:clamp(1.1rem,1.7vw,1.45rem);font-weight:900;line-height:1.35}
.solar-works-copy>p:not(.card-label){color:#14243acc;font-size:.84rem;line-height:1.85}
.solar-works-copy small{font-size:.72rem;color:#14243a99}
.solar-works-copy .text-link{align-self:flex-start;margin-top:auto;padding-top:20px;margin-bottom:0;color:#14243a;font-size:.8rem}
.solar-works-copy .text-link span{color:#e2a12d}

@media(max-width:600px){
  .solar-works-grid{grid-template-columns:1fr;gap:12px}
  .solar-works-card{min-height:0;padding:24px 22px 22px}
  .solar-works-icon{top:22px;right:22px;width:56px;height:56px}
  .solar-works-copy{margin-top:36px}
}

@media(max-width:900px){
  body:has(.home-hero) #services .service-card{min-height:230px;padding:28px 24px}
  .contact-photo{min-height:300px}
}
