/* NoFoss 1.62 — editorial rhythm, fewer prompts, one image layer at a time. */

/* A video replaces its poster instead of blending two different model poses. */
.nf-motion-video{mix-blend-mode:normal;transition:none}
.film-is-playing>.nf-motion-image{visibility:hidden}
.nf-motion-paused .nf-motion-canvas>.nf-motion-image{visibility:visible}
.bhpc-product-film>.nf-motion-canvas{background:#eef0ef}
.bhpc-product-film .nf-motion-video{background:#eef0ef}
.service-entry-image{position:relative}
.service-entry-image>.nf-rendering-label{right:12px;bottom:10px}
.service-entry-card h3{display:inline;box-decoration-break:clone;text-decoration:underline;text-decoration-color:transparent;text-decoration-thickness:2px;text-underline-offset:9px;transition:text-decoration-color .25s}
.service-entry-card:hover h3,.service-entry-card:focus-visible h3{text-decoration-color:var(--green)}
.service-entry-card p{margin-top:14px;margin-bottom:0}
.services-intro h2>span{display:block}
.services-intro h2{font-size:clamp(33px,3.25vw,56px);max-width:720px;text-wrap:balance}

/* Fleet planning: an open illustration, then the three real planning questions. */
.service-fleet{grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:32px clamp(35px,6vw,110px);align-items:center;background:#f4f6f2;border:0}
.fleet-intro h2{font-size:clamp(35px,3.55vw,61px);line-height:1.14;margin-bottom:30px}
.fleet-intro .nf-prose p{max-width:520px;margin-bottom:0}
.fleet-visual{min-width:0;overflow:hidden}
.fleet-visual svg{display:block;width:100%;height:auto;max-height:440px}
.fleet-route{stroke:#cad4cb;stroke-width:2}
.fleet-route-flow{stroke:var(--green);stroke-width:3;stroke-dasharray:22 580;stroke-linecap:round;animation:nf-fleet-flow 7s linear infinite;animation-play-state:paused}
.fleet-visual.is-active .fleet-route-flow{animation-play-state:running}
@keyframes nf-fleet-flow{to{stroke-dashoffset:-602}}
.fleet-priorities{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(24px,4vw,70px);grid-column:1/-1;margin-top:25px}
.fleet-priorities>div{border-top:1px solid #ccd5cc;padding-top:25px}
.fleet-priorities h3{font-size:clamp(18px,1.5vw,24px);margin:0 0 13px;font-weight:600}
.fleet-priorities p{font-size:16px;line-height:1.7;color:var(--muted);max-width:300px;margin:0}

/* The public charging offer has a full-width title and four open benefits. */
.service-public-editorial{scroll-margin-top:calc(var(--header-height) + 24px)}
.service-public-editorial>h2{font-size:clamp(38px,4.15vw,73px);line-height:1.13;letter-spacing:-.055em;margin:0 0 clamp(38px,4.7vw,80px);max-width:1250px}
.public-story-body{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(35px,5.5vw,95px);align-items:center}
.public-story-body .service-public-film{width:100%;aspect-ratio:6/5;min-height:0;background:#eef0ef}
.public-story-body .service-public-film :is(.nf-motion-image,.nf-motion-video){object-fit:contain;transform:none}
.public-story-body .nf-prose p{font-size:clamp(16px,1.14vw,19px);line-height:1.75}
.public-story-body .public-revenue{color:var(--ink);font-weight:550;border-left:2px solid var(--green);padding-left:23px;margin-block:30px}
.public-benefits-open{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(22px,3vw,48px);max-width:none;margin:clamp(45px,5vw,85px) 0 0}
.public-benefits-open li,.public-benefits-open li:last-child{border:0;border-top:1px solid var(--line);padding:26px 0 0;display:flex;flex-direction:column;align-items:flex-start;gap:22px;font-size:clamp(17px,1.4vw,22px);line-height:1.45;font-weight:550}
.public-benefits-open li::before{display:none}
.public-benefits-open .line-icon{width:31px;height:31px;color:#607567}
.public-benefits-open li>span{max-width:275px}

/* About: mission, model, sourcing and partners are distinct, authored chapters. */
.nf-about-mission{position:relative;background:#fff;gap:clamp(35px,6vw,105px);grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start}
.nf-about-mission h2{font-size:clamp(36px,3.7vw,65px);line-height:1.13;max-width:700px}
.nf-about-mission .nf-prose{border-left:2px solid var(--green);padding-left:clamp(25px,3vw,48px)}
.nf-about-mission .nf-prose>p:first-child{color:var(--ink);font-size:clamp(20px,1.65vw,28px);line-height:1.6}
.nf-about-mission .nf-affiliation{margin-top:32px;padding-top:22px;border-top:1px solid var(--line)}
.nf-about-model{background:#f3f5f1;padding-block:var(--section-space)}
.nf-about-model .nf-model-heading{max-width:1100px;margin-bottom:clamp(40px,4vw,65px)}
.nf-about-model h2{font-size:clamp(36px,3.7vw,65px);line-height:1.13;margin-bottom:0}
.nf-about-model .nf-model-options{gap:clamp(35px,7vw,130px);margin:0}
.nf-about-model .nf-model-options article{padding:28px 0 0;border-top:1px solid #cdd6cc}
.nf-about-model article>.line-icon{width:38px;height:38px;color:#647b6c;margin-bottom:30px}
.nf-about-model h3{font-size:clamp(24px,2.25vw,38px);margin-bottom:20px}
.nf-about-model h3 a{color:inherit;text-decoration:underline;text-decoration-color:transparent;text-decoration-thickness:2px;text-underline-offset:8px;transition:text-decoration-color .2s}
.nf-about-model h3 a:hover{color:inherit;text-decoration-color:var(--green)}
.nf-about-model .nf-model-options p{color:var(--muted);font-size:clamp(17px,1.25vw,21px);max-width:660px;margin:0;line-height:1.8}
.nf-about-sourcing{padding-block:var(--section-space);gap:clamp(35px,6vw,105px);align-items:center}
.nf-about-sourcing h2{font-size:clamp(35px,3.6vw,62px);line-height:1.14;margin-bottom:38px}
.nf-sourcing-principles>div{border-top:1px solid var(--line);padding-top:24px;margin-top:26px}
.nf-sourcing-principles h3{font-size:19px;margin:0 0 13px}
.nf-sourcing-principles p{font-size:17px;margin:0;line-height:1.8}

/* No cloned or unapproved logos: short lists remain still, longer lists scroll. */
.nf-partner-carousel{background:#f5f6f4;border:0;padding-block:clamp(60px,7vw,110px)}
.nf-partner-carousel .section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:35px}
.nf-partner-carousel h2{font-size:clamp(34px,3.5vw,61px);margin:0}
.partner-track{display:flex;gap:clamp(24px,3vw,50px);list-style:none;margin:0;padding:18px 2px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scrollbar-width:none;align-items:center}
.partner-track::-webkit-scrollbar{display:none}
.partner-slide{flex:0 0 calc((100% - 3 * clamp(24px,3vw,50px))/4);min-width:0;scroll-snap-align:start}
.partner-mark{display:flex;align-items:center;justify-content:center;min-height:125px;padding:20px;color:var(--ink);font-size:24px;line-height:1.3;text-align:center}
.partner-mark img{display:block;width:auto;height:auto;max-width:min(100%,220px);max-height:75px;object-fit:contain;transition:transform .3s}
.partner-mark:hover img{transform:translateY(-3px)}
.partner-mark:hover{color:var(--ink);background:none}
.partner-controls{display:flex;gap:10px;flex:0 0 auto}
.partner-controls[hidden]{display:none}
.partner-controls button{display:grid;place-items:center;width:44px;height:44px;padding:10px;border:1px solid #c9d1ca;border-radius:50%;background:transparent;color:var(--ink);cursor:pointer}
.partner-controls button:hover{border-color:var(--ink);background:#fff}
.partner-controls svg{fill:none;stroke:currentColor;stroke-width:1.5;width:21px;height:21px}
@media(max-width:1100px){
  .service-fleet{gap:30px}.fleet-intro h2{font-size:35px}.fleet-intro .nf-prose p{font-size:16px}.fleet-priorities{gap:28px}.public-story-body{gap:35px}.public-story-body .nf-prose p{font-size:16px}.public-story-body .service-public-film{aspect-ratio:4/5}.nf-about-model .nf-model-options{gap:50px}.partner-slide{flex-basis:calc((100% - 2 * 32px)/3)}.partner-track{gap:32px}
}
@media(max-width:780px){
  .services-intro h2{font-size:clamp(32px,6.6vw,48px);max-width:600px}
  .service-fleet{grid-template-columns:1fr;gap:26px}.fleet-intro h2{font-size:clamp(34px,7vw,48px);margin-bottom:24px}.fleet-visual{max-width:620px;margin:0 auto;width:100%}.fleet-visual svg{max-height:330px}.fleet-priorities{gap:18px;margin-top:10px}.fleet-priorities>div{padding-top:18px}.fleet-priorities h3{font-size:17px}.fleet-priorities p{font-size:14px;line-height:1.65}
  .service-public-editorial>h2{font-size:clamp(34px,6.8vw,51px);margin-bottom:32px}.public-story-body{grid-template-columns:1fr;gap:30px}.public-story-body .service-public-film{aspect-ratio:16/10;max-width:680px}.public-story-body .nf-prose p{font-size:17px}.public-benefits-open{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 26px;margin-top:44px}.public-benefits-open li{font-size:18px;padding-top:22px;gap:18px}
  .nf-about-mission{grid-template-columns:1fr;gap:30px}.nf-about-mission h2,.nf-about-model h2{font-size:clamp(34px,7vw,51px)}.nf-about-mission .nf-prose{padding-left:23px}.nf-about-mission .nf-prose>p:first-child{font-size:21px}.nf-about-model .nf-model-options{grid-template-columns:1fr;gap:36px}.nf-about-model .nf-model-heading{margin-bottom:35px}.nf-about-model article>.line-icon{margin-bottom:22px}.nf-about-model .nf-model-options article{padding-top:25px}.nf-about-model h3{font-size:28px;margin-bottom:18px}.nf-about-sourcing{grid-template-columns:1fr;gap:36px}.nf-about-sourcing h2{font-size:clamp(34px,7vw,50px);margin-bottom:30px}.nf-about-sourcing .nf-image-slot{max-width:600px}.nf-sourcing-principles>div{padding-top:22px}
  .partner-slide{flex-basis:calc((100% - 24px)/2)}.partner-track{gap:24px}.partner-mark{min-height:110px;padding:15px}.partner-mark img{max-width:100%;max-height:65px}.nf-partner-carousel h2{font-size:clamp(30px,6vw,46px)}.partner-controls{gap:7px}.partner-controls button{width:38px;height:38px;padding:8px}
}
@media(max-width:430px){
  .fleet-priorities{grid-template-columns:1fr;gap:19px}.fleet-priorities>div{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:16px}.fleet-priorities h3{font-size:16px;margin:0}.fleet-priorities p{font-size:14px}.fleet-intro h2{font-size:33px}.public-benefits-open{gap:28px 22px}.public-benefits-open li{font-size:16px}.partner-slide{flex-basis:68%}.nf-partner-carousel .section-heading{align-items:flex-start}.nf-partner-carousel h2{font-size:30px}.partner-controls{padding-top:2px}.partner-controls button{width:34px;height:34px}.partner-mark{justify-content:flex-start;padding-left:18px}
}
@media(prefers-reduced-motion:reduce){
  .fleet-route-flow{animation:none;stroke-dasharray:none;opacity:.5}.service-entry-image img,.partner-mark img{transition:none}.partner-mark:hover img{transform:none}.partner-track{scroll-behavior:auto}
}
