/* Shared hero framing follows the curved, edge-to-edge home photograph. */
body:is(.home-b2b,.impact-page,.about-page) main section.site-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-rows:1fr auto;align-items:stretch;gap:0 5%;padding:0 0 0 7%;padding-inline:7% 0;min-height:820px;background:linear-gradient(115deg,#4253e60c 0%,#fff 48%,#0fa2b40a 100%);color:var(--navy);overflow:hidden}
body:is(.home-b2b,.impact-page,.about-page) main section.site-hero .hero-content{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;min-width:0;padding:50px 0 50px clamp(20px,3vw,56px);padding-inline:clamp(20px,3vw,56px) 0;text-align:right}
body:is(.home-b2b,.impact-page,.about-page) main section.site-hero .hero-content>p:not(.eyebrow){font-size:22px;line-height:1.6;color:var(--muted);width:100%;max-width:43ch;margin:28px 0;text-align:right;align-self:flex-start}
body:is(.home-b2b,.impact-page,.about-page) main section.site-hero .hero-people{position:relative;width:100%;height:710px;min-height:710px;aspect-ratio:auto;margin:0;align-self:center;border:0;border-radius:0 50% 50% 0;overflow:hidden;background:transparent;box-shadow:none}
body:is(.home-b2b,.impact-page,.about-page) main section.site-hero .hero-people>img{display:block;width:100%;height:100%;aspect-ratio:auto;object-fit:cover;object-position:center}
body.business-page main .site-hero h1{font-size:clamp(36px,3.8vw,60px);line-height:1.16}
body:is(.home-b2b,.impact-page,.about-page) main section.site-hero .hero-bottom{margin-inline-end:7%;}
.business-service{--card-accent:var(--blue);border-top:4px solid var(--card-accent);transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease}
.business-service:nth-child(1){--card-accent:#bd4e00;background:#fff3e8}
.business-service:nth-child(2){--card-accent:#087d89;background:#eaf8f7}
.business-service:nth-child(3){--card-accent:var(--blue);background:#f0f1ff}
.business-service .business-index{color:var(--card-accent)}
.business-service:hover,.business-service:focus-within{transform:translateY(-7px);box-shadow:0 18px 38px #00004116;border-color:var(--card-accent)}
.business-partners .partner-grid:hover .logo-track,.partner-grid:focus-within .logo-track{animation-play-state:paused}
/* Match all carousel controls to the home carousel. */
body :is(.program-arrows,.press-controls)>button{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;min-width:38px;padding:7px;border:1px solid var(--blue);border-radius:50%;background:white;color:var(--navy);cursor:pointer;transition:background .2s}
body :is(.program-arrows,.press-controls)>button:hover:not(:disabled){background:#eef0ff;color:var(--navy)}
body :is(.program-arrows,.press-controls)>button svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
body :is(.program-arrows,.press-controls)>button:disabled{opacity:.3;cursor:default}
.footer-contact address{font-style:normal;font-size:18px;line-height:1.5}
.footer-social{display:flex;align-items:center;gap:12px;margin-block:12px}
.footer-social a{display:inline-flex;width:42px;height:42px;align-items:center;justify-content:center;border:1px solid #c7cbe8;border-radius:50%;color:var(--navy);transition:background .2s,transform .2s}
.footer-social a:hover{background:#e6e9ff;transform:translateY(-2px)}
.footer-social svg{width:21px;height:21px;fill:currentColor}
@media(max-width:760px){
 body:is(.home-b2b,.impact-page,.about-page) main section.site-hero{grid-template-columns:minmax(0,1fr);grid-template-rows:auto;gap:28px;min-height:0;padding:32px 7% 34px}
 body:is(.home-b2b,.impact-page,.about-page) main section.site-hero .hero-content{padding:0 14px 0 0}
 body:is(.home-b2b,.impact-page,.about-page) main section.site-hero .hero-content>p:not(.eyebrow){font-size:20px;margin-block:22px}
 body:is(.home-b2b,.impact-page,.about-page) main section.site-hero .hero-people{width:calc(100% + 7vw);height:440px;min-height:0;margin:0 0 0 -7vw;border-radius:0 45% 45% 0}
 body.business-page main .site-hero h1{font-size:clamp(34px,8.7vw,54px)}
 body:is(.home-b2b,.impact-page,.about-page) main section.site-hero .hero-bottom{margin:0;transform:none}
}
@media(prefers-reduced-motion:reduce){.business-service,.footer-social a{transition:none}.business-service:hover,.business-service:focus-within{transform:none}}



/* One orange chevron treatment for every carousel, including hover/disabled states. */
body :is(.program-arrows,.press-controls)>button,
body :is(.program-arrows,.press-controls)>button:hover:not(:disabled){color:var(--orange)!important;background:transparent!important;border:0!important;border-radius:0;box-shadow:none!important;width:44px!important;height:48px!important;padding:0!important;display:inline-flex;align-items:center;justify-content:center}
body :is(.program-arrows,.press-controls)>button svg{width:30px;height:30px;stroke:var(--orange);stroke-width:3;fill:none;stroke-linecap:round;stroke-linejoin:round}
body :is(.program-arrows,.press-controls)>button:disabled{color:var(--orange)!important;opacity:.45}
/* Section titles and descriptions use the home's stacked, right-aligned lead. */
body :is(.business-intro,.impact-section-intro){display:block;text-align:right;max-width:820px;padding-inline-start:clamp(20px,3vw,56px);margin-bottom:38px}
body :is(.business-intro,.impact-section-intro)>p{font-size:21px;line-height:1.65;color:var(--muted);max-width:560px;margin:14px 0 0}
body :is(.business-intro,.impact-section-intro)>h2{font-size:clamp(40px,4.1vw,62px);line-height:1.1;letter-spacing:-.8px}
body:is(.home-b2b,.impact-page,.about-page) main section.site-hero h1{font-size:clamp(54px,5.7vw,87px);line-height:1.06;letter-spacing:-1px;text-align:right}
body .footer-contact .footer-social{margin:0}
@media(max-width:760px){
 body :is(.business-intro,.impact-section-intro){padding-inline-start:14px;margin-bottom:28px}
 body :is(.business-intro,.impact-section-intro)>p{font-size:19px;max-width:none;margin-top:16px}
 body:is(.home-b2b,.impact-page,.about-page) main section.site-hero h1{font-size:clamp(45px,10.3vw,70px);line-height:1.06;letter-spacing:-.5px}
}
/* Keep footer copy above the animated route; the slogan has an opaque backing. */
footer .footer-main,footer .footer-bottom{position:relative;z-index:50}
footer .footer-bottom>span{position:relative;background:#fff;padding:6px 10px}
/* Site-wide content rails follow the homepage's section width and text inset. */
:root{--section-gutter:max(7%,calc((100vw - 1440px)/2));--text-inset:clamp(20px,3vw,56px)}
body:not(.home-b2b) main .section:not(.site-hero){width:100%;max-width:none;margin-inline:0;padding-inline:var(--section-gutter)}
body:not(.home-b2b) :is(.business-intro,.impact-section-intro,.about-team .section-top,.story-copy,.impact-difference>div,.contact-heading){padding-inline:var(--text-inset) 0;text-align:right;min-width:0}
body:not(.home-b2b) :is(.business-intro,.impact-section-intro,.about-team .section-top){width:100%;max-width:820px;margin-inline:0}
body:not(.home-b2b) main .impact-process>h2{padding-inline:var(--text-inset) 0;text-align:right}
body:not(.home-b2b) main .impact-press>h2{padding-inline-start:var(--text-inset)}
body.about-page main .about-story{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:5%;align-items:center}
body.about-page .story-copy>p:not(.story-kicker){max-width:35ch}
body.about-page .story-model{max-width:520px}
body:not(.home-b2b) main .contact-section{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:9%}
/* Section descriptions gain exactly 4px over their previous responsive sizes. */
body .section-top>p{font-size:24px}
body.home-b2b .process-section .section-top>p,
body :is(.business-intro,.impact-section-intro)>p,
body .contact-heading>p:not(.eyebrow),
body.about-page .story-copy>p:not(.story-kicker),
body.impact-page .impact-difference>div>p{font-size:25px}
body:is(.home-b2b,.impact-page,.about-page) main section.site-hero .hero-content>p:not(.eyebrow){font-size:26px}
@media(max-width:760px){
 :root{--section-gutter:7%;--text-inset:14px}
 body:not(.home-b2b) main .section:not(.site-hero){padding-inline:var(--section-gutter)}
 body.about-page main .about-story,body:not(.home-b2b) main .contact-section{grid-template-columns:minmax(0,1fr);gap:35px}
 body.about-page .story-copy>p:not(.story-kicker){max-width:none}
 body.about-page .story-model{max-width:440px}
 body .section-top>p,body.home-b2b .process-section .section-top>p,
 body :is(.business-intro,.impact-section-intro)>p,
 body.impact-page .impact-difference>div>p{font-size:23px}
 body .contact-heading>p:not(.eyebrow),body.about-page .story-copy>p:not(.story-kicker){font-size:24px}
 body:is(.home-b2b,.impact-page,.about-page) main section.site-hero .hero-content>p:not(.eyebrow){font-size:24px}
}
body.impact-page #impact-contact .contact-heading{padding-inline:var(--text-inset) 0}
body.impact-page #impact-contact{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:9%}
@media(max-width:760px){body.impact-page #impact-contact{grid-template-columns:minmax(0,1fr);gap:35px}}
