
:root{--blue:#1455b8;--blue2:#0a3d8c;--navy:#071a38;--ink:#172033;--muted:#6b778b;--green:#dff2e3;--line:#e6ebf2;--white:#fff;--max:1220px;--shadow:0 30px 90px rgba(7,26,56,.16)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--ink);background:#fff;overflow-x:hidden}a{text-decoration:none;color:inherit}img{display:block;width:100%;height:100%;object-fit:cover}button,input,textarea,select{font:inherit}.container{width:min(var(--max),92%);margin:auto}.section{padding:120px 0}.soft{background:#f7f9fc}.green{background:var(--green)}.dark{background:var(--navy);color:#fff}h1,h2,h3{margin:0;color:var(--navy);line-height:1.02;letter-spacing:-.05em}.dark h1,.dark h2,.dark h3{color:#fff}h1{font-size:clamp(42px,5.4vw,72px)}h2{font-size:clamp(34px,4vw,54px)}h3{font-size:24px}p{color:var(--muted);line-height:1.7}.dark p{color:rgba(255,255,255,.7)}.eyebrow{display:flex;align-items:center;gap:10px;color:var(--blue);font-size:11px;font-weight:900;letter-spacing:.18em;text-transform:uppercase;margin-bottom:20px}.eyebrow:before{content:"";width:32px;height:2px;background:currentColor}.center{text-align:center}.center .eyebrow{justify-content:center}.max{max-width:760px}.mx{margin-inline:auto}.btn{display:inline-flex;align-items:center;gap:10px;border-radius:999px;padding:16px 24px;font-weight:850;border:1px solid transparent;transition:.35s}.btn:hover{transform:translateY(-5px)}.primary{background:var(--blue);color:#fff;box-shadow:0 16px 38px rgba(20,85,184,.25)}.primary:hover{background:var(--blue2)}.outline{background:#fff;color:var(--blue);border-color:#d8e1ee}.dark .outline{background:transparent;color:#fff;border-color:rgba(255,255,255,.25)}.buttons{display:flex;gap:12px;flex-wrap:wrap}.reveal{opacity:0;transform:translateY(40px);transition:opacity .9s cubic-bezier(.2,.75,.2,1),transform .9s cubic-bezier(.2,.75,.2,1)}.reveal.on{opacity:1;transform:none}.d1{transition-delay:.1s}.d2{transition-delay:.2s}.d3{transition-delay:.3s}.d4{transition-delay:.4s}

/* header */
.header{position:fixed;z-index:1000;top:0;left:0;right:0;height:116px;background:rgba(255,255,255,.72);backdrop-filter:blur(20px);border-bottom:1px solid transparent;transition:.3s}.header.scrolled{background:rgba(255,255,255,.96);border-color:var(--line);box-shadow:0 8px 35px rgba(7,26,56,.07)}.nav{height:72px;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{display:flex;align-items:center;gap:10px;font-weight:900}.mark{width:46px;height:46px;border-radius:50%;background:var(--blue);color:#fff;display:grid;place-items:center;font-size:11px;box-shadow:0 10px 25px rgba(20,85,184,.25)}.brand small{display:block;color:var(--blue);font-size:10px;letter-spacing:.1em}.links{display:flex;gap:24px;align-items:center}.links a{font-size:13px;font-weight:750;color:#344055}.links a:hover{color:var(--blue)}.menu{display:none;border:0;background:none;font-size:27px}

/* award hero */
.hero{min-height:880px;padding-top:116px;position:relative;overflow:hidden;background:#061a39;color:#fff}.hero-bg{position:absolute;inset:0;background:radial-gradient(circle at 72% 28%,rgba(55,128,255,.36),transparent 27%),radial-gradient(circle at 12% 80%,rgba(66,164,103,.25),transparent 30%);}.hero-grid{min-height:764px;display:grid;grid-template-columns:.88fr 1.12fr;align-items:center;gap:35px;position:relative;z-index:2}.hero-copy{padding-top:25px}.hero h1{color:#fff;max-width:720px}.hero h1 em{color:#8ebcff;font-style:normal}.hero-copy p{font-size:19px;max-width:600px;margin:28px 0;color:rgba(255,255,255,.75)}.hero-kicker{display:inline-flex;align-items:center;gap:9px;padding:9px 13px;border:1px solid rgba(255,255,255,.17);background:rgba(255,255,255,.07);border-radius:999px;color:#fff;font-size:11px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;margin-bottom:22px}.pulse{width:8px;height:8px;border-radius:50%;background:#7ee19a;box-shadow:0 0 0 0 rgba(126,225,154,.6);animation:pulse 2s infinite}@keyframes pulse{70%{box-shadow:0 0 0 12px transparent}}
.hero-stage{height:650px;position:relative;perspective:1200px}.orb{position:absolute;width:510px;height:510px;border-radius:50%;top:65px;right:60px;background:radial-gradient(circle at 35% 30%,#cde2ff,#427cd2 55%,#0b3c89);filter:blur(.2px);box-shadow:0 50px 130px rgba(33,112,231,.35);animation:orb 7s ease-in-out infinite}@keyframes orb{50%{transform:translate3d(0,-18px,0) scale(1.02)}}.slide{position:absolute;inset:25px 0 25px 45px;border-radius:42px;overflow:hidden;box-shadow:0 55px 120px rgba(0,0,0,.45);transform:rotateY(-5deg) rotateX(2deg);transition:opacity .8s,transform 1s}.slide img{filter:saturate(.95)}.slide:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,rgba(0,0,0,.72))}.slide-caption{position:absolute;z-index:2;left:34px;bottom:35px}.slide-caption small{color:#a8c8ff;font-weight:850;letter-spacing:.14em;text-transform:uppercase}.slide-caption h3{color:#fff;font-size:31px;margin-top:8px}.slide-caption p{color:rgba(255,255,255,.72);font-size:13px;max-width:430px;margin:7px 0 0}.hero-slide-controls{position:absolute;z-index:4;bottom:15px;right:25px;display:flex;gap:7px}.dot{width:8px;height:8px;border-radius:50%;background:rgba(255,255,255,.45);border:0;padding:0}.dot.active{width:28px;border-radius:99px;background:#fff}.hero-float{position:absolute;z-index:5;background:rgba(255,255,255,.94);color:var(--ink);border-radius:20px;padding:16px 19px;box-shadow:var(--shadow);animation:float 5s ease-in-out infinite}.hero-float strong{display:block;color:var(--blue);font-size:27px}.hero-float span{font-size:10px;color:var(--muted)}.hf1{top:75px;left:0}.hf2{right:-5px;bottom:80px;animation-delay:1.3s}@keyframes float{50%{transform:translateY(-13px)}}.scrollline{position:absolute;z-index:3;bottom:22px;left:50%;transform:translateX(-50%);font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:rgba(255,255,255,.55)}.scrollline:after{content:"";display:block;width:1px;height:42px;background:rgba(255,255,255,.35);margin:10px auto 0}

/* marquee / impact */
.marquee{background:#0b3e8e;color:#fff;padding:16px 0;overflow:hidden;white-space:nowrap}.marquee-track{display:inline-flex;gap:40px;animation:marq 28s linear infinite}.marquee span{font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.marquee b{color:#8fbaff}@keyframes marq{to{transform:translateX(-50%)}}
.impact{margin-top:-38px;position:relative;z-index:8}.impact-box{display:grid;grid-template-columns:repeat(4,1fr);background:#fff;border-radius:27px;box-shadow:var(--shadow);padding:30px 18px}.impact-item{text-align:center;border-right:1px solid var(--line)}.impact-item:last-child{border:0}.impact-item strong{display:block;color:var(--blue);font-size:40px}.impact-item span{font-size:11px;color:var(--muted)}

/* general */
.split{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}.photo{height:570px;border-radius:40px;overflow:hidden;box-shadow:var(--shadow);position:relative}.photo img{transition:transform 1.2s}.photo:hover img{transform:scale(1.05)}.photo:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(0,0,0,.3));pointer-events:none}.badge{position:absolute;z-index:2;right:20px;bottom:20px;background:#fff;border-radius:18px;padding:17px 20px;box-shadow:var(--shadow)}.badge strong{display:block;color:var(--blue);font-size:24px}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:50px}.card{border:1px solid var(--line);border-radius:30px;overflow:hidden;background:#fff;transition:.4s}.card:hover{transform:translateY(-12px);box-shadow:var(--shadow)}.card-media{height:240px;overflow:hidden}.card-media img{transition:.7s}.card:hover .card-media img{transform:scale(1.08)}.card-body{padding:29px}.label{color:var(--blue);font-size:10px;font-weight:900;letter-spacing:.13em}.card h3{margin:11px 0}.card a{font-size:13px;color:var(--blue);font-weight:850}.two{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:48px}.vision{padding:50px;border-radius:32px;background:var(--green);min-height:330px}.vision.blue{background:var(--navy)}.vision.blue h3,.vision.blue p{color:#fff}.steps{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin-top:60px}.step{text-align:center}.stepno{width:65px;height:65px;margin:auto;border-radius:50%;display:grid;place-items:center;border:2px solid var(--blue);color:var(--blue);font-weight:900;background:#fff}.step h3{font-size:18px;margin:18px 0 5px}.step p{font-size:12px}.stats{display:flex;gap:10px;flex-wrap:wrap;margin:25px 0}.stat{background:#fff;padding:16px 20px;border-radius:16px}.stat strong{display:block;color:var(--blue);font-size:28px}.stat span{font-size:10px;color:var(--muted)}.dark .stat{background:rgba(255,255,255,.1)}.dark .stat strong,.dark .stat span{color:#fff}.sports{min-height:720px;position:relative;display:flex;align-items:center;overflow:hidden}.sports-bg{position:absolute;inset:0}.sports-bg img{filter:brightness(.5)}.sports-content{position:relative;z-index:2}.sports-content h2{color:#fff;max-width:750px}.sports-content p{font-size:19px;max-width:650px}.values{display:grid;grid-template-columns:repeat(4,1fr);gap:17px;margin-top:48px}.value{padding:29px;border-radius:24px;background:#fff;border:1px solid var(--line);transition:.35s}.value:hover{transform:translateY(-8px);box-shadow:var(--shadow)}.icon{width:52px;height:52px;border-radius:15px;background:#e8f0ff;color:var(--blue);display:grid;place-items:center;margin-bottom:20px;font-size:22px}.gallery{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:215px;gap:14px;margin-top:48px}.gallery-item{border-radius:22px;overflow:hidden;position:relative}.gallery-item.large{grid-column:span 2}.gallery-item img{transition:.7s}.gallery-item:hover img{transform:scale(1.08)}.gallery-item span{position:absolute;left:13px;bottom:13px;background:#fff;border-radius:999px;padding:6px 12px;font-size:10px;font-weight:800}.quote{font-size:clamp(30px,4vw,52px);font-weight:800;line-height:1.12;color:var(--navy)}.dark .quote{color:#fff}.timeline{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;margin-top:50px}.timeline article{padding:28px;background:#f7f9fc;border-radius:23px}.year{color:var(--blue);font-size:11px;font-weight:900}.timeline h3{font-size:19px;margin:9px 0}.leaders{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:50px}.leader{display:grid;grid-template-columns:170px 1fr;gap:23px;align-items:center;border:1px solid var(--line);padding:22px;border-radius:28px}.leader img{height:220px;border-radius:18px}.role{font-size:10px;color:var(--blue);font-weight:900;text-transform:uppercase}.cta{background:linear-gradient(135deg,#dff2e3,#dceaff);border-radius:38px;padding:65px;display:flex;justify-content:space-between;align-items:center;gap:40px}.cta h2{max-width:750px}.cta p{max-width:650px}.pagehero{padding:145px 0 78px;background:radial-gradient(circle at 80% 30%,#dceaff,transparent 30%),#f8fbff}.pagehero p{font-size:19px;max-width:740px;margin-top:22px}.contact{display:grid;grid-template-columns:1fr 1fr;gap:70px}.form{background:#f7f9fc;padding:36px;border-radius:30px}.form input,.form textarea,.form select{width:100%;padding:14px;border:1px solid #dfe5ee;border-radius:13px;background:#fff;margin-bottom:11px}.form textarea{height:140px}.donategrid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.donatebox{border:1px solid var(--line);border-radius:25px;padding:32px;transition:.3s}.donatebox:hover{transform:translateY(-7px);box-shadow:var(--shadow)}

/* footer */
.footer{background:#06172f;color:#fff;padding:80px 0 25px}.footer-top{display:grid;grid-template-columns:1.7fr 1fr 1fr 1.2fr;gap:50px}.footer h4{color:#fff;margin:0 0 17px}.footer p,.footer a{color:rgba(255,255,255,.6);font-size:13px;line-height:1.7}.footer a{display:block;margin:7px 0}.footer a:hover{color:#fff}.footer-brand{font-size:20px;font-weight:900;line-height:1.05}.footer-brand small{display:block;color:#78aaff;font-size:10px;letter-spacing:.14em;margin-top:5px}.socials{display:flex;gap:8px;margin-top:18px}.socials a{width:35px;height:35px;border:1px solid rgba(255,255,255,.14);border-radius:50%;display:grid;place-items:center;color:#fff}.footer-bottom{margin-top:55px;padding-top:20px;border-top:1px solid rgba(255,255,255,.1);display:flex;justify-content:space-between;color:rgba(255,255,255,.4);font-size:10px}

/* audio */
.music{position:fixed;right:22px;bottom:22px;z-index:1100;width:52px;height:52px;border-radius:50%;border:1px solid rgba(255,255,255,.25);background:#0b3e8e;color:#fff;box-shadow:0 12px 35px rgba(0,0,0,.2);cursor:pointer}.music.playing{animation:musicPulse 1.5s infinite}@keyframes musicPulse{50%{box-shadow:0 0 0 12px rgba(20,85,184,.12),0 12px 35px rgba(0,0,0,.2)}}
@media(max-width:1000px){.links{display:none}.menu{display:block}.hero-grid,.split,.contact{grid-template-columns:1fr}.hero-stage{height:560px}.cards,.values{grid-template-columns:1fr 1fr}.steps,.timeline{grid-template-columns:1fr 1fr}.leaders{grid-template-columns:1fr}.footer-top{grid-template-columns:1fr 1fr}.hero{min-height:auto}.impact-box{margin-top:20px}}
@media(max-width:680px){.section{padding:78px 0}.hero{padding-top:84px}.hero-grid{min-height:auto}.hero-copy{padding:60px 0 20px}.hero-stage{height:430px}.orb{width:330px;height:330px;right:10px;top:45px}.slide{inset:20px 0 20px 10px}.hero-float{padding:12px}.hf1{top:25px}.hf2{bottom:35px}.impact-box{grid-template-columns:1fr 1fr;gap:20px}.impact-item:nth-child(2){border:0}.impact-item:nth-child(n+3){border-top:1px solid var(--line);padding-top:17px}.cards,.values,.steps,.timeline,.leaders,.donategrid{grid-template-columns:1fr}.gallery{grid-template-columns:1fr 1fr}.gallery-item.large{grid-column:span 2}.cta{display:block;padding:38px}.cta .buttons{margin-top:25px}.footer-top{grid-template-columns:1fr}.footer-bottom{display:block}.footer-bottom span{display:block;margin-top:7px}.photo{height:420px}}

}
.nav{position:relative}
.hero-lottie{position:absolute;z-index:3;left:50%;top:8%;width:125px;height:125px;transform:translateX(-50%);pointer-events:none;opacity:.9;filter:drop-shadow(0 12px 30px rgba(76,145,255,.25))}
.parallax-wrap{overflow:hidden;position:relative;border-radius:40px}
.parallax-image{will-change:transform;transform:scale(1.12)}
.parallax-layer{will-change:transform}
[data-aos]{will-change:transform,opacity}
.lottie-mark{width:80px;height:80px;margin:0 auto 15px}
@media(max-width:680px){.header{height:110px}.top-marquee{height:38px}.nav{height:72px}.hero{padding-top:110px}.hero-lottie{width:80px;height:80px;top:4%}.pagehero{padding:125px 0 65px}h1{font-size:clamp(38px,11vw,54px)}h2{font-size:clamp(31px,8vw,43px)}}


/* =========================
   MOTION / 3D EXPERIENCE V3
   ========================= */
html{scroll-behavior:auto}
body{perspective:1200px}
.section{position:relative;overflow:hidden}
.section::before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 10% 20%,rgba(20,85,184,.035),transparent 28%),radial-gradient(circle at 90% 80%,rgba(77,155,103,.035),transparent 25%)}
h1{font-size:clamp(44px,5.7vw,76px);max-width:850px}
h2{font-size:clamp(34px,4vw,54px)}
h3{font-size:21px}
.pagehero{padding:145px 0 78px;min-height:480px;display:flex;align-items:end;position:relative;overflow:hidden}
.pagehero::after{content:"";position:absolute;width:520px;height:520px;border-radius:50%;right:-180px;top:80px;background:radial-gradient(circle,rgba(20,85,184,.12),transparent 68%);animation:pageOrb 8s ease-in-out infinite}
@keyframes pageOrb{50%{transform:translate3d(-25px,20px,0) scale(1.08)}}
.pagehero h1{font-size:clamp(43px,5.2vw,72px);max-width:780px}
.pagehero p{max-width:650px;font-size:17px}
.hero h1{font-size:clamp(46px,6vw,80px)}
.hero-stage{transform-style:preserve-3d}
.slide{transform-style:preserve-3d;will-change:transform}
.slide img{transform:scale(1.04);transition:transform 7s cubic-bezier(.2,.7,.2,1)}
.slide.active img{transform:scale(1.12)}
.hero-stage::after{content:"";position:absolute;inset:0;pointer-events:none;border-radius:42px;background:linear-gradient(115deg,transparent 30%,rgba(255,255,255,.12) 48%,transparent 58%);transform:translateX(-120%);animation:shine 7s ease-in-out infinite}
@keyframes shine{55%,100%{transform:translateX(120%)}}
.hero-float{transform-style:preserve-3d;will-change:transform}
.impact-box,.card,.value,.vision,.donatebox,.leader,.form,.cta{transform-style:preserve-3d}
.card,.value,.donatebox,.leader{transition:transform .45s cubic-bezier(.2,.8,.2,1),box-shadow .45s}
.card:hover,.value:hover,.donatebox:hover,.leader:hover{transform:perspective(900px) rotateX(4deg) rotateY(-4deg) translateY(-10px) translateZ(10px);box-shadow:0 35px 90px rgba(7,26,56,.2)}
.btn{position:relative;transform-style:preserve-3d;will-change:transform;overflow:hidden}
.btn::before{content:"";position:absolute;inset:-2px;background:linear-gradient(110deg,transparent 25%,rgba(255,255,255,.28) 50%,transparent 75%);transform:translateX(-130%);transition:transform .65s ease}
.btn:hover::before{transform:translateX(130%)}
.btn:hover{transform:perspective(700px) translateY(-4px) rotateX(6deg) rotateY(-4deg) translateZ(8px)}
.btn:active{transform:perspective(700px) translateY(1px) scale(.98)}
.photo{transform-style:preserve-3d}
.photo img{will-change:transform}
.photo:hover{transform:perspective(1100px) rotateY(-2deg) rotateX(1deg)}
.badge{transform:translateZ(30px)}
.section-heading{position:relative;z-index:2}
.motion-line{height:1px;background:linear-gradient(90deg,transparent,#7ea8e8,transparent);margin:55px auto 0;transform:scaleX(0);transform-origin:center;transition:transform 1.2s cubic-bezier(.2,.7,.2,1)}
.motion-line.on{transform:scaleX(1)}
.magnetic{transition:transform .2s ease}
.reveal{will-change:transform,opacity}
[data-aos]{will-change:transform,opacity}
[data-parallax]{will-change:transform}

/* top ticker: continuous, no visual gap */
.top-ticker{height:34px;overflow:hidden;background:#073b87;color:#fff;position:relative;z-index:1001;white-space:nowrap}
.top-ticker-track{height:100%;display:flex;width:max-content;align-items:center;animation:tickerLoop 32s linear infinite}
.top-ticker-item{display:inline-flex;align-items:center;gap:24px;padding-right:24px;font-size:10px;font-weight:850;letter-spacing:.15em;text-transform:uppercase}
.top-ticker-item b{color:#9fc2ff}
@keyframes tickerLoop{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.top-ticker{position:fixed;top:0;left:0;right:0;z-index:1100}.header{height:84px;top:34px}
.nav{height:84px}
.header .nav{margin-top:0}

/* bottom cinematic ticker */
to{transform:translateX(-50%)}}
.footer{position:relative}
.footer::before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,#4c83d6,transparent);opacity:.8}

/* smoother stagger */
.stagger>*{opacity:0;transform:translateY(25px);transition:opacity .7s,transform .7s}
.stagger.on>*{opacity:1;transform:none}
.stagger.on>*:nth-child(2){transition-delay:.08s}.stagger.on>*:nth-child(3){transition-delay:.16s}.stagger.on>*:nth-child(4){transition-delay:.24s}.stagger.on>*:nth-child(5){transition-delay:.32s}

/* reduced motion */
@media(prefers-reduced-motion:reduce){
*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}
}
@media(max-width:680px){
.header{height:112px}.header .nav{margin-top:0}.top-ticker{height:32px}.pagehero{padding-top:135px;min-height:420px}.pagehero h1{font-size:42px}.hero h1{font-size:46px}
}

/* V4 editorial additions */
.story-band{padding:100px 0;background:#fff;position:relative;overflow:hidden}
.story-band .eyebrow{margin-bottom:14px}
.editorial-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:70px;align-items:end}
.editorial-number{font-size:clamp(90px,13vw,170px);font-weight:900;line-height:.78;color:#eaf0f8;letter-spacing:-.08em}
.editorial-copy{position:relative;z-index:2}
.editorial-copy p{font-size:17px;max-width:680px}
.image-strip{display:grid;grid-template-columns:1.3fr .7fr;gap:15px;margin-top:50px}
.image-strip .strip-main{height:520px;border-radius:34px;overflow:hidden}
.image-strip .strip-side{display:grid;grid-template-rows:1fr 1fr;gap:15px}
.image-strip .strip-side div{border-radius:28px;overflow:hidden}
.facts{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin-top:42px}
.fact{padding:27px;border-radius:23px;background:#f7f9fc;border:1px solid var(--line)}
.fact strong{display:block;font-size:32px;color:var(--blue);margin-bottom:5px}
.fact span{font-size:12px;color:var(--muted)}
.feature-dark{background:linear-gradient(135deg,#071a38,#0b3f91);border-radius:38px;padding:55px;position:relative;overflow:hidden}
.feature-dark:after{content:"";position:absolute;width:380px;height:380px;border-radius:50%;right:-160px;top:-160px;background:rgba(125,176,255,.12)}
.service-list{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:30px;position:relative;z-index:2}
.service-list div{padding:14px 16px;border:1px solid rgba(255,255,255,.13);border-radius:14px;color:#fff;font-size:12px;background:rgba(255,255,255,.04)}
.fullbleed{min-height:610px;position:relative;overflow:hidden;display:flex;align-items:center}
.fullbleed>img{position:absolute;inset:-8% 0;width:100%;height:116%;object-fit:cover;z-index:0}
.fullbleed:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,26,56,.94),rgba(7,26,56,.35));z-index:1}
.fullbleed .container{position:relative;z-index:2}
.fullbleed h2{color:#fff;max-width:700px}
.fullbleed p{color:rgba(255,255,255,.76);max-width:650px;font-size:18px}
.chapter{display:grid;grid-template-columns:120px 1fr;gap:25px;padding:28px 0;border-top:1px solid var(--line)}
.chapter:first-child{border-top:0}.chapter-year{font-size:12px;font-weight:900;color:var(--blue);padding-top:6px}.chapter h3{font-size:21px;margin-bottom:6px}.chapter p{margin:0}
.mosaic{display:grid;grid-template-columns:1.2fr .8fr .8fr;grid-auto-rows:260px;gap:14px;margin-top:45px}.mosaic .wide{grid-column:span 2}.mosaic .tall{grid-row:span 2}.mosaic>div{border-radius:24px;overflow:hidden;position:relative}.mosaic img{transition:transform 1s}.mosaic>div:hover img{transform:scale(1.06)}
.profile-wide{display:grid;grid-template-columns:260px 1fr;gap:40px;align-items:center;padding:35px;border-radius:30px;background:#f7f9fc}
.profile-wide img{height:320px;border-radius:22px}
@media(max-width:900px){.editorial-grid,.image-strip{grid-template-columns:1fr}.facts{grid-template-columns:1fr}.mosaic{grid-template-columns:1fr 1fr}.mosaic .wide{grid-column:span 2}.profile-wide{grid-template-columns:1fr}.service-list{grid-template-columns:1fr}}
@media(max-width:680px){.header{height:78px;top:32px}.pagehero{padding-top:135px}.editorial-number{font-size:100px}.feature-dark{padding:35px}.mosaic{grid-template-columns:1fr}.mosaic .wide{grid-column:span 1}.mosaic .tall{grid-row:span 1}.chapter{grid-template-columns:75px 1fr}}


/* V5 — clean navigation + compact editorial page headers */
.top-ticker{height:34px!important;position:fixed!important;top:0!important;left:0!important;right:0!important;z-index:1200!important;overflow:hidden!important;white-space:nowrap!important}
.top-ticker-track{position:absolute!important;left:0;top:0;height:34px!important;display:flex!important;align-items:center!important;flex-wrap:nowrap!important;white-space:nowrap!important;width:max-content!important}
.top-ticker-item{height:34px;line-height:34px;flex:0 0 auto;white-space:nowrap}
.header{top:34px!important;height:76px!important;z-index:1100!important}
.nav{height:76px!important}
.brand{white-space:nowrap}
.pagehero{padding:116px 0 58px!important;min-height:350px!important;display:flex;align-items:flex-end;position:relative;overflow:hidden}
.pagehero .container{position:relative;z-index:2}
.pagehero h1{font-size:clamp(42px,4.8vw,64px)!important;line-height:.98;max-width:760px!important}
.pagehero p{font-size:16px!important;max-width:680px!important;margin-top:18px!important}
.pagehero::after{width:400px!important;height:400px!important;right:-140px!important;top:40px!important}

/* fixed contact/action rail */
.quick-actions{position:fixed;right:22px;bottom:96px;width:62px;height:62px;z-index:1400}
.quick-toggle{position:absolute;inset:0;width:62px;height:62px;border:0;border-radius:50%;background:var(--blue);color:#fff;box-shadow:0 18px 45px rgba(20,85,184,.35);display:grid;place-content:center;gap:4px;cursor:pointer;transition:transform .35s,box-shadow .35s}
.quick-toggle:hover{transform:translateY(-4px) rotate(8deg);box-shadow:0 22px 55px rgba(20,85,184,.45)}
.quick-toggle span{display:block;width:21px;height:2px;background:#fff;border-radius:4px;transition:.3s}
.quick-actions.open .quick-toggle span:nth-child(1){transform:translateY(6px) rotate(45deg)}
.quick-actions.open .quick-toggle span:nth-child(2){opacity:0}
.quick-actions.open .quick-toggle span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}
.quick-menu{position:absolute;right:0;bottom:74px;display:flex;flex-direction:column;align-items:flex-end;gap:10px;pointer-events:none}
.quick-item{display:flex;align-items:center;gap:9px;border:0;background:transparent;color:var(--ink);cursor:pointer;text-decoration:none;opacity:0;transform:translateY(12px) scale(.82);transition:opacity .28s,transform .35s}
.quick-item small{background:#fff;padding:7px 10px;border-radius:999px;box-shadow:0 8px 24px rgba(7,26,56,.12);font-size:10px;font-weight:850;white-space:nowrap}
.qicon{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;color:#fff;font-weight:900;font-size:12px;box-shadow:0 12px 30px rgba(7,26,56,.18);transition:transform .3s}
.quick-item:hover .qicon{transform:scale(1.08) rotate(-8deg)}
.whatsapp .qicon{background:#25d366}.call .qicon{background:#1455b8}.top .qicon{background:#071a38;font-size:19px}
.quick-actions.open .quick-item{opacity:1;transform:none;pointer-events:auto}
.quick-actions.open .quick-item:nth-child(1){transition-delay:.02s}.quick-actions.open .quick-item:nth-child(2){transition-delay:.08s}.quick-actions.open .quick-item:nth-child(3){transition-delay:.14s}
.quick-actions:not(.open) .quick-menu{visibility:hidden}
.quick-actions.open .quick-menu{visibility:visible}

/* keep the action rail clear of the music button */
.music{right:22px!important;bottom:22px!important;z-index:1401!important}
@media(max-width:680px){
 .header{top:32px!important;height:68px!important}.nav{height:68px!important}.top-ticker,.top-ticker-track,.top-ticker-item{height:32px}.top-ticker-item{line-height:32px;font-size:9px}
 .pagehero{padding:105px 0 48px!important;min-height:300px!important}.pagehero h1{font-size:clamp(38px,10vw,50px)!important}
 .quick-actions{right:14px;bottom:88px}.quick-toggle{width:56px;height:56px}.quick-actions{width:56px;height:56px}
 .quick-menu{bottom:66px}.qicon{width:44px;height:44px}
}

/* =========================================================
   IVM V6 — EDITORIAL SPACING / NAV / FOOTER MOTION SYSTEM
   ========================================================= */
:root{--container:1220px;--section-space:118px;--section-space-sm:86px}
.container{width:min(var(--container),calc(100% - 64px));margin-inline:auto}

/* Header: intentionally clean. No ticker in the header. */
.top-ticker{display:none!important}
.header,.header.scrolled{position:fixed!important;top:0!important;height:78px!important;background:rgba(255,255,255,.88)!important;backdrop-filter:blur(18px)!important;border-bottom:1px solid rgba(7,26,56,.07)!important;box-shadow:none!important}
.nav{height:78px!important}
.links a{position:relative;padding:29px 0 26px;transition:color .25s ease,transform .25s ease}
.links a::after{content:"";position:absolute;left:0;right:0;bottom:18px;height:2px;border-radius:2px;background:var(--blue);transform:scaleX(0);transform-origin:center;transition:transform .28s cubic-bezier(.2,.7,.2,1)}
.links a:hover{color:var(--blue);transform:translateY(-1px)}
.links a:hover::after,.links a.active::after{transform:scaleX(1)}
.links a.active{color:var(--blue)}
.nav>.btn{box-shadow:0 12px 30px rgba(20,85,184,.18)}

/* Mobile: compact header + proper slide-over navigation. */
.menu{display:none;border:0;background:transparent;color:var(--navy);font-size:26px;line-height:1;cursor:pointer}
.mobile-overlay{position:fixed;inset:0;background:rgba(3,15,34,.48);backdrop-filter:blur(4px);z-index:1490;opacity:0;pointer-events:none;transition:opacity .35s}
.mobile-drawer{position:fixed;z-index:1500;top:0;right:0;width:min(440px,88vw);height:100dvh;background:#06172f;color:#fff;transform:translateX(105%);transition:transform .6s cubic-bezier(.2,.8,.2,1);overflow:hidden;box-shadow:-30px 0 80px rgba(0,0,0,.25)}
.mobile-drawer::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(6,23,47,.78),rgba(6,23,47,.97)),url('https://placehold.co/900x1600/2f5f92/ffffff?text=IVM+Community') center/cover;opacity:.95}
.mobile-drawer-inner{position:relative;z-index:2;height:100%;display:flex;flex-direction:column;padding:28px 28px 24px}
.mobile-drawer-head{display:flex;align-items:center;justify-content:space-between;padding-bottom:26px;border-bottom:1px solid rgba(255,255,255,.12)}
.mobile-drawer-brand{font-weight:900;letter-spacing:-.03em}.mobile-drawer-brand small{display:block;color:#78aaff;font-size:9px;letter-spacing:.16em;margin-top:3px}
.mobile-close{width:42px;height:42px;border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.08);color:#fff;border-radius:50%;font-size:22px;cursor:pointer}
.mobile-nav{display:flex;flex-direction:column;padding:32px 0;gap:4px;overflow:auto}
.mobile-nav a{display:flex;align-items:center;justify-content:space-between;color:#fff;font-size:28px;font-weight:800;letter-spacing:-.04em;padding:10px 0;transition:color .25s,transform .25s}
.mobile-nav a::after{content:"↗";font-size:15px;opacity:.35}.mobile-nav a:hover{color:#9fc2ff;transform:translateX(6px)}
.mobile-drawer-bottom{margin-top:auto}.mobile-drawer-bottom p{font-size:12px;color:rgba(255,255,255,.62);margin:0 0 15px}.mobile-donate{width:100%;justify-content:center}
body.drawer-open{overflow:hidden}.drawer-open .mobile-overlay{opacity:1;pointer-events:auto}.drawer-open .mobile-drawer{transform:none}

/* Hero breathing room */
.hero{padding-top:78px!important;min-height:860px!important}
.hero-grid{min-height:782px!important;grid-template-columns:.86fr 1.14fr;gap:72px!important}
.hero-copy{padding-top:28px}.hero-copy p{max-width:610px;margin:32px 0}.hero-stage{height:650px!important}.impact{margin-top:-28px!important}

/* Page headers: deliberate breathing room without excessive height. */
.pagehero{padding:150px 0 82px!important;min-height:420px!important;align-items:flex-end!important}
.pagehero .container{padding-bottom:4px}
.pagehero h1{font-size:clamp(42px,4.9vw,66px)!important;line-height:1.02!important;letter-spacing:-.055em}
.pagehero p{max-width:700px!important;line-height:1.72!important;margin-top:22px!important}

/* Global section rhythm */
.section{padding:var(--section-space) 0!important}
.section + .section{padding-top:var(--section-space)!important}
.section .center h2{margin-top:0}.section .center>p{margin-top:22px}
.split{gap:92px!important}.cards{gap:24px!important;margin-top:58px!important}.values{gap:20px!important;margin-top:58px!important}
.cards .card-body{padding:32px!important}.card-media{height:250px!important}
.two{gap:26px!important;margin-top:56px!important}.leaders{gap:28px!important;margin-top:58px!important}
.leader{gap:30px!important;padding:28px!important;min-height:280px}.leader img{height:235px!important}
.timeline{gap:18px!important;margin-top:58px!important}.timeline article{padding:30px!important}

/* Section heading breathing room and controlled max widths */
.section>.container.center,.section>.center.container{max-width:920px}
.section>.container.center h2{max-width:900px;margin-inline:auto}
.section>.container.center .max{max-width:700px}
.eyebrow{margin-bottom:22px!important}

/* Contact form: fix title/field crowding and visual hierarchy */
.contact{gap:92px!important;align-items:start!important}.contact>.reveal{padding-top:14px}.form{padding:46px!important;border-radius:32px!important;box-shadow:0 25px 70px rgba(7,26,56,.06)}.form h3{font-size:28px!important;margin:0 0 24px!important}.form input,.form textarea,.form select{margin-bottom:16px!important;padding:16px 18px!important;border-radius:16px!important}.form textarea{min-height:180px!important}.form .btn{margin-top:6px}

/* Leadership spacing */
.leader .role{margin-bottom:10px}.leader h3{margin:0 0 12px}.leader p{margin:0}

/* Partner page must obey the same content grid as the rest of the site. */
.partner-page .section-inner{width:min(var(--container),calc(100% - 64px));margin:auto}
.partner-page .cards{width:min(var(--container),calc(100% - 64px));margin-left:auto;margin-right:auto}
.partner-page .section{overflow:hidden}
.partner-page .feature-dark{min-height:300px}

/* Consistent editorial cards: never full-bleed unless deliberately marked. */
.cards,.values,.leaders,.timeline,.two,.donategrid,.contact,.image-strip,.facts,.mosaic{width:100%}

/* Bottom movement ribbon: one global closing motion, blended into footer. */
.bottom-motion{margin-top:0!important;background:linear-gradient(100deg,#06172f,#0a315f,#06172f)!important;border:0!important;height:96px;display:flex;align-items:center;overflow:hidden}
.bottom-motion::before{opacity:.45}
.bottom-track{animation-duration:30s!important;align-items:center}
.bottom-item{font-size:clamp(25px,3.3vw,48px)!important;letter-spacing:-.04em;padding:20px 26px!important;font-weight:850}
.bottom-dot{padding-top:0!important;color:#7ea8e8!important}
.footer{padding-top:82px!important}

/* Remove music completely; Back-to-top is a separate utility. */
.music{display:none!important}
.quick-actions{right:22px;bottom:50%;transform:translateY(50%);width:54px;height:54px}
.quick-toggle{width:54px;height:54px;background:#fff;color:var(--blue);border:1px solid #dbe4ef;box-shadow:0 15px 40px rgba(7,26,56,.14)}
.quick-toggle span{background:var(--blue)}
.quick-menu{right:68px;bottom:50%;transform:translateY(50%);flex-direction:row;align-items:center;gap:9px}
.quick-item{flex-direction:column;gap:5px}.quick-item small{padding:5px 8px;font-size:9px}.qicon{width:42px;height:42px}
.quick-actions.open .quick-menu{bottom:50%;transform:translateY(50%)}
.quick-actions .quick-item.top{display:none}
.back-top{position:fixed;right:22px;bottom:22px;width:44px;height:44px;border:1px solid #dbe4ef;background:#fff;color:var(--navy);border-radius:50%;z-index:1390;display:grid;place-items:center;opacity:0;transform:translateY(12px);pointer-events:none;transition:.35s;box-shadow:0 12px 30px rgba(7,26,56,.12);cursor:pointer}
.back-top.show{opacity:1;transform:none;pointer-events:auto}.back-top:hover{transform:translateY(-4px);background:var(--navy);color:#fff}
.quick-actions::before{content:"";position:absolute;right:1px;top:-18px;bottom:-18px;width:2px;background:linear-gradient(transparent,#dbe4ef,transparent);opacity:.8;pointer-events:none}

/* Hero and content images have more breathing room */
.photo{height:590px!important}.image-strip .strip-main{height:560px!important}
.cta{padding:70px!important;min-height:310px;gap:60px!important}.cta h2{max-width:760px}.cta p{max-width:620px;margin-top:18px}.cta .buttons{justify-content:flex-end}

/* Footer nav hover */
.footer a{transition:color .25s,transform .25s}.footer a:hover{transform:translateX(4px)}

@media(max-width:1000px){
 .container{width:min(var(--container),calc(100% - 44px))}.links,.nav>.btn{display:none}.menu{display:block}.hero{min-height:auto!important}.hero-grid{min-height:auto!important;grid-template-columns:1fr!important;gap:20px!important}.hero-stage{height:560px!important}.impact{margin-top:20px!important}.split{gap:55px!important}.photo{height:500px!important}.cta{display:block}.cta .buttons{justify-content:flex-start;margin-top:30px}.mobile-drawer{display:block}
}
@media(max-width:680px){
 .container{width:calc(100% - 36px)}.header{height:68px!important}.nav{height:68px!important}.brand{font-size:12px}.mark{width:40px;height:40px}.brand small{font-size:8px}.menu{font-size:25px}
 .hero{padding-top:68px!important}.hero-grid{padding-top:35px!important}.hero-copy{padding-top:20px}.hero h1{font-size:clamp(43px,11.5vw,58px)!important;line-height:.98}.hero-copy p{font-size:16px;margin:24px 0}.hero-stage{height:430px!important}.impact-box{margin-top:12px!important}.impact-item strong{font-size:31px!important}
 .pagehero{padding:118px 0 62px!important;min-height:350px!important}.pagehero h1{font-size:42px!important}.pagehero p{font-size:15px!important}
 .section{padding:82px 0!important}.section+.section{padding-top:82px!important}.cards,.values,.leaders,.donategrid{grid-template-columns:1fr!important}.cards{margin-top:42px!important}.leader{grid-template-columns:1fr!important}.leader img{height:300px!important}.contact{gap:45px!important}.form{padding:28px!important}.photo{height:390px!important}.cta{padding:36px 28px!important;min-height:0}.bottom-motion{height:76px}.bottom-item{font-size:25px!important;padding:18px!important}
 .quick-actions{display:none}.back-top{right:16px;bottom:16px}.mobile-drawer{width:min(430px,92vw)}.mobile-nav a{font-size:25px}
}

/* V6 spacing corrections for content that was visibly colliding */
.chapter-list{margin-top:54px}.chapter{margin:0 0 2px}.leaders .leader{margin:0}.contact .form{margin-top:0}.contact h2{margin-bottom:20px}.contact .lead{margin-top:0}.profile-wide{margin-top:58px}.feature-dark{margin-top:0}.feature-dark .eyebrow{position:relative;z-index:2}.feature-dark h2{position:relative;z-index:2;margin-bottom:16px}.fullbleed{margin:0}.bottom-motion + .section{padding-top:88px!important}

/* V7 — closing movement marquee: directly above CTA/footer */
.closing-marquee{
  width:100%;
  overflow:hidden;
  background:#06172f;
  color:#fff;
  border-top:1px solid rgba(255,255,255,.10);
  border-bottom:1px solid rgba(255,255,255,.10);
  position:relative;
  z-index:3;
}
.closing-marquee-track{
  display:flex;
  width:max-content;
  align-items:center;
  min-height:92px;
  animation:closingMarquee 30s linear infinite;
  will-change:transform;
}
.closing-marquee-item{
  display:inline-flex;
  align-items:center;
  gap:30px;
  padding:0 26px;
  font-size:clamp(24px,3.2vw,48px);
  line-height:1;
  font-weight:900;
  letter-spacing:-.045em;
  white-space:nowrap;
}
.closing-marquee-item em{
  color:#78aaff;
  font-style:normal;
}
.closing-marquee-dot{
  color:#78aaff;
  font-size:20px;
}
@keyframes closingMarquee{
  from{transform:translate3d(0,0,0)}
  to{transform:translate3d(-50%,0,0)}
}
.closing-marquee:hover .closing-marquee-track{animation-play-state:paused}
@media(max-width:680px){
  .closing-marquee-track{min-height:72px}
  .closing-marquee-item{font-size:25px;padding:0 18px;gap:18px}
}

/* =========================================================
   IVM V8 — SPACING, BOXED CONTENT, ATF, ACTIONS, PARALLAX
   ========================================================= */

/* The page background can be full-bleed, but CONTENT never is. */
:root{--content-max:1280px}
.container{width:min(var(--content-max),calc(100% - 64px));margin-inline:auto}
.section>.container,.pagehero>.container,.hero>.container{position:relative;z-index:2}

/* Stronger vertical rhythm */
.section{padding:128px 0}
.section+.section{padding-top:136px}
.section .center>p{margin-top:24px}
.section .cards,.section .values,.section .leaders,.section .two,.section .split{margin-top:54px}

/* Keep large-screen content visually boxed */
.fullbleed{
  width:min(var(--content-max),calc(100% - 64px));
  min-height:600px;
  margin:20px auto;
  border-radius:38px;
  overflow:hidden;
}
.fullbleed .container{width:min(1120px,calc(100% - 96px))}
.feature-dark{max-width:100%;border-radius:32px}

/* ATF: smaller type, more breathing room */
.hero{
  min-height:920px;
  padding-top:86px;
  padding-bottom:105px;
}
.hero-grid{
  min-height:760px;
  grid-template-columns:minmax(0,.86fr) minmax(0,1.14fr);
  gap:74px;
  align-items:center;
}
.hero-copy{
  padding:40px 0 35px;
  max-width:610px;
}
.hero h1{
  font-size:clamp(42px,4.75vw,66px);
  line-height:.98;
  max-width:650px;
  letter-spacing:-.055em;
}
.hero-copy p{
  font-size:17px;
  line-height:1.75;
  max-width:560px;
  margin:30px 0 34px;
}
.hero-kicker{margin-bottom:28px}
.hero-stage{height:650px;margin:12px 0}
.slide{inset:20px 0 20px 30px;border-radius:38px}
.hero-stage .orb{right:25px}
.impact-box{
  margin-top:-5px;
  transform:translateY(8px);
}
.hero-float{z-index:5}

/* Inner-page hero: less empty height, but proper breathing */
.pagehero{
  min-height:430px;
  padding:124px 0 92px;
}
.pagehero h1{
  font-size:clamp(42px,4.8vw,64px);
  line-height:1.02;
}
.pagehero p{margin-top:26px;line-height:1.75}

/* Contact form spacing */
.form{
  padding:48px!important;
  border-radius:32px;
}
.form h3{font-size:30px;margin-bottom:32px}
.form input,.form textarea,.form select{
  display:block;
  margin:0 0 16px!important;
  min-height:58px;
  padding:16px 18px!important;
}
.form textarea{min-height:160px}
.form .btn{margin-top:10px}

/* Leadership cards */
.leader{
  padding:26px!important;
  gap:30px!important;
}
.leader img{
  width:220px!important;
  height:285px!important;
  object-fit:cover;
  border-radius:24px!important;
}
.leader .role{margin-bottom:10px}
.leader h3{margin-bottom:12px}
.leader .btn{margin-top:16px}

/* Early-years / dark blocks: explicit color safety */
.feature-dark,.feature-dark h2,.feature-dark h3,.feature-dark .eyebrow,
.dark .feature-dark,.dark .feature-dark h2,.dark .feature-dark h3{color:#fff}
.feature-dark p{color:rgba(255,255,255,.76)!important}

/* Parallax: subtle, controlled, no layout jump */
.parallax-wrap,.photo,.image-strip .strip-main,.image-strip .strip-side>div,
.fullbleed{overflow:hidden}
[data-parallax]{
  will-change:transform;
  backface-visibility:hidden;
}
.photo img,.parallax-wrap img,.image-strip img,.fullbleed>img{
  min-height:100%;
  object-fit:cover;
  transform-origin:center;
}

/* Navigation hover / active */
.links a{
  position:relative;
  transition:color .25s ease,transform .25s ease;
}
.links a::after{
  content:"";
  position:absolute;
  left:0;right:0;bottom:-9px;
  height:2px;
  background:var(--blue);
  transform:scaleX(0);
  transform-origin:center;
  transition:transform .3s ease;
}
.links a:hover,.links a.active{color:var(--blue)}
.links a:hover::after,.links a.active::after{transform:scaleX(1)}

/* RIGHT CONTACT: one subtle floating control, always available */
.quick-actions{
  position:fixed!important;
  right:24px!important;
  bottom:24px!important;
  width:58px!important;
  height:58px!important;
  z-index:1800;
}
.quick-actions::before{display:none}
.quick-toggle{
  width:58px!important;
  height:58px!important;
  border-radius:50%;
  display:grid!important;
  place-items:center!important;
  background:#fff!important;
  color:var(--blue)!important;
  border:1px solid #d9e4f2!important;
  box-shadow:0 16px 38px rgba(7,26,56,.18)!important;
}
.quick-toggle:hover{
  transform:translateY(-4px) scale(1.04)!important;
}
.quick-toggle svg{width:25px;height:25px;display:block}
.quick-menu{
  right:0!important;
  bottom:70px!important;
  gap:10px!important;
}
.quick-item{
  background:#fff!important;
  border:1px solid #dce5f0!important;
  border-radius:999px!important;
  padding:8px 12px 8px 8px!important;
  box-shadow:0 12px 30px rgba(7,26,56,.12)!important;
}
.quick-item:hover{transform:translateY(-3px) scale(1.02)!important}
.quick-item .qicon{
  width:34px;height:34px;border-radius:50%;
  display:grid;place-items:center;
  background:#edf4ff;color:var(--blue);
  font-size:10px;font-weight:900;
}
.quick-item small{font-size:11px;font-weight:850;color:var(--navy)}
.quick-actions.open .quick-item{opacity:1;transform:none;pointer-events:auto}

/* Back-to-top: separate, bottom-left, only after ATF */
.back-top{
  left:24px!important;
  right:auto!important;
  bottom:24px!important;
  width:46px!important;height:46px!important;
  border-radius:50%;
  background:#06172f!important;
  color:#fff!important;
  border:1px solid rgba(255,255,255,.12)!important;
  box-shadow:0 14px 32px rgba(7,26,56,.18)!important;
}
.back-top:hover{background:var(--blue)!important;color:#fff!important}

/* Closing marquee is AFTER CTA and BEFORE footer */
.closing-marquee{
  margin:0;
  width:100%;
  border:0;
  border-top:1px solid rgba(255,255,255,.08);
  border-bottom:1px solid rgba(255,255,255,.08);
  background:linear-gradient(90deg,#06172f,#0b294e,#06172f);
}
.closing-marquee-track{min-height:96px}
.closing-marquee-item{font-size:clamp(22px,2.9vw,44px);padding:0 24px}

/* CTA gets a real separation from the content above */
.cta{
  margin:28px 0 0!important;
  padding:76px!important;
  min-height:330px;
  border-radius:34px!important;
}
.cta+.footer{margin-top:0}

/* Profile pages */
.profile-hero{
  min-height:690px;
  padding:100px 0;
  background:#06172f;
  color:#fff;
  position:relative;
  overflow:hidden;
}
.profile-hero::before{
  content:"";
  position:absolute;
  width:700px;height:700px;border-radius:50%;
  right:-240px;top:-260px;
  background:radial-gradient(circle,rgba(79,143,232,.35),transparent 68%);
}
.profile-grid{
  display:grid;
  grid-template-columns:420px minmax(0,1fr);
  gap:86px;
  align-items:center;
}
.profile-portrait{
  height:530px;
  border-radius:34px;
  overflow:hidden;
  position:relative;
  transform-style:preserve-3d;
  box-shadow:0 45px 100px rgba(0,0,0,.28);
}
.profile-portrait img{width:100%;height:100%;object-fit:cover}
.profile-copy{position:relative;z-index:2}
.profile-copy .role{color:#9fc2ff;margin-bottom:14px}
.profile-copy h1{color:#fff;font-size:clamp(46px,5.4vw,76px);max-width:760px}
.profile-copy .intro{font-size:19px;line-height:1.75;color:rgba(255,255,255,.72);max-width:700px;margin-top:26px}
.profile-tags{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px}
.profile-tag{padding:10px 14px;border-radius:999px;border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.06);font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.profile-section{padding:120px 0}
.profile-section .profile-copy-block{max-width:760px}
.profile-callout{
  padding:42px;border-radius:30px;
  background:#f4f8fd;border:1px solid var(--line);
}
.profile-callout h3{margin-bottom:14px}
.profile-nav{
  display:flex;justify-content:space-between;gap:20px;
  margin-top:50px;padding-top:30px;border-top:1px solid var(--line)
}
.profile-nav a{font-weight:850;color:var(--blue);text-decoration:none}

/* mobile */
@media(max-width:1000px){
  .container{width:min(var(--content-max),calc(100% - 44px))}
  .hero{min-height:auto;padding-top:60px;padding-bottom:70px}
  .hero-grid{min-height:auto;gap:34px}
  .hero-copy{padding:55px 0 10px;max-width:680px}
  .hero h1{font-size:clamp(42px,7vw,60px)}
  .hero-stage{height:570px;margin-top:10px}
  .pagehero{min-height:390px;padding:108px 0 72px}
  .fullbleed{width:calc(100% - 44px);min-height:520px;border-radius:28px}
  .fullbleed .container{width:calc(100% - 56px)}
  .profile-grid{grid-template-columns:1fr;gap:45px}
  .profile-portrait{height:500px;max-width:520px}
}
@media(max-width:680px){
  .container{width:calc(100% - 36px)}
  .section{padding:86px 0}
  .section+.section{padding-top:94px}
  .hero{padding-top:40px;padding-bottom:54px}
  .hero-grid{gap:20px}
  .hero-copy{padding:50px 0 0}
  .hero h1{font-size:clamp(40px,11.5vw,52px);line-height:.99}
  .hero-copy p{font-size:16px;line-height:1.7;margin:24px 0 28px}
  .hero-stage{height:400px}
  .slide{inset:12px 0 12px 0;border-radius:26px}
  .orb{width:290px!important;height:290px!important;right:-20px!important;top:45px!important}
  .impact-box{grid-template-columns:1fr 1fr;margin-top:5px}
  .pagehero{min-height:330px;padding:96px 0 58px}
  .pagehero h1{font-size:clamp(40px,11vw,52px)}
  .pagehero p{font-size:16px}
  .fullbleed{width:calc(100% - 28px);min-height:470px;border-radius:24px;margin:14px auto}
  .fullbleed .container{width:calc(100% - 40px)}
  .form{padding:28px!important;border-radius:26px}
  .form h3{font-size:26px;margin-bottom:24px}
  .leader{display:block!important;padding:20px!important}
  .leader img{width:100%!important;height:330px!important;margin-bottom:22px}
  .cta{padding:34px 26px!important;border-radius:26px!important}
  .quick-actions{right:16px!important;bottom:16px!important;width:54px!important;height:54px!important}
  .quick-toggle{width:54px!important;height:54px!important}
  .back-top{left:16px!important;bottom:16px!important;width:44px!important;height:44px!important}
  .closing-marquee-track{min-height:74px}
  .closing-marquee-item{font-size:24px;padding:0 17px}
  .profile-hero{min-height:auto;padding:70px 0 80px}
  .profile-grid{gap:35px}
  .profile-portrait{height:390px;border-radius:26px}
  .profile-copy h1{font-size:clamp(42px,11vw,56px)}
  .profile-copy .intro{font-size:16px}
  .profile-section{padding:82px 0}
}

.leader .btn{font-size:12px;padding:12px 16px}
.leader .btn.outline{background:#fff}
.leaders{gap:28px}
.leader>div{padding:8px 4px}

/* =========================================================
   V9 FINAL OVERRIDES
   ========================================================= */

/* Hero light: full ATF block, soft depth instead of a cropped shine */
.hero{position:relative;isolation:isolate}
.hero-bg{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  overflow:hidden;
  pointer-events:none;
  background:
    radial-gradient(ellipse 75% 90% at 78% 46%,rgba(55,128,255,.28),transparent 62%),
    radial-gradient(ellipse 60% 75% at 8% 82%,rgba(66,164,103,.20),transparent 62%),
    linear-gradient(120deg,rgba(255,255,255,.035),transparent 38%,rgba(255,255,255,.025));
}
.hero-bg::after{
  content:"";
  position:absolute;
  inset:-20%;
  background:linear-gradient(105deg,transparent 38%,rgba(255,255,255,.075) 49%,transparent 60%);
  transform:translateX(-55%);
  animation:heroLightSweep 12s ease-in-out infinite;
  opacity:.45;
}
@keyframes heroLightSweep{
  0%,35%{transform:translateX(-55%)}
  65%,100%{transform:translateX(55%)}
}

/* Consistent boxed page rhythm */
.container{width:min(1280px,calc(100% - 64px))!important}
.section>.container,.pagehero>.container,.hero>.container{max-width:1280px}
.section{padding:120px 0!important}
.section+.section{padding-top:128px!important}
.cards,.leaders,.mosaic,.gallery-story-grid{margin-top:56px}

/* About people: stable cards, no image transform/parallax collisions */
.leaders{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:30px!important;
  align-items:stretch!important;
}
.leader{
  display:grid!important;
  grid-template-columns:180px minmax(0,1fr)!important;
  gap:28px!important;
  align-items:center!important;
  min-height:330px!important;
  overflow:hidden!important;
  position:relative!important;
  isolation:isolate;
}
.leader img{
  width:180px!important;
  height:250px!important;
  min-width:180px!important;
  object-fit:cover!important;
  transform:none!important;
  position:relative!important;
  z-index:1!important;
}
.leader>div{min-width:0;position:relative;z-index:2}
.leader h3{font-size:28px;line-height:1.08;margin:9px 0 12px}
.leader p{line-height:1.65}
.leader .btn{display:inline-flex;margin-top:18px}

/* Profile pages: real breathing room below fixed header */
.profile-hero{padding:178px 0 110px!important;min-height:760px!important}
.profile-grid{align-items:center!important}
.profile-copy{padding-top:10px}
.profile-copy h1{margin-top:10px}
.profile-section{padding:126px 0!important}

/* Floating contact control: always visible, fixed to viewport */
.quick-actions{
  position:fixed!important;
  right:24px!important;
  bottom:24px!important;
  top:auto!important;
  left:auto!important;
  width:58px!important;
  height:58px!important;
  z-index:9999!important;
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
}
.quick-toggle{
  position:absolute!important;
  inset:0!important;
  width:58px!important;
  height:58px!important;
  display:grid!important;
  place-items:center!important;
  border-radius:50%!important;
  background:#1455b8!important;
  color:#fff!important;
  border:0!important;
  box-shadow:0 18px 42px rgba(20,85,184,.35)!important;
  cursor:pointer!important;
}
.quick-toggle:hover{transform:translateY(-4px) scale(1.04)!important}
.quick-menu{
  position:absolute!important;
  right:0!important;
  bottom:70px!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-end!important;
  gap:10px!important;
  pointer-events:none!important;
  visibility:hidden!important;
}
.quick-actions.open .quick-menu{
  visibility:visible!important;
  pointer-events:auto!important;
}
.quick-item{
  display:flex!important;
  align-items:center!important;
  gap:9px!important;
  opacity:0!important;
  transform:translateY(12px) scale(.88)!important;
}
.quick-actions.open .quick-item{
  opacity:1!important;
  transform:none!important;
}
.quick-item small{
  background:#fff!important;
  color:#071a38!important;
  border:1px solid #dfe7f1!important;
  padding:8px 11px!important;
  border-radius:999px!important;
  box-shadow:0 10px 28px rgba(7,26,56,.12)!important;
}
.quick-item .qicon{
  width:46px!important;height:46px!important;
  border-radius:50%!important;
  display:grid!important;place-items:center!important;
}
.quick-toggle svg{width:24px!important;height:24px!important}

/* Back-to-top is independent, left side, and appears only after the hero */
.back-top{
  position:fixed!important;
  left:24px!important;
  right:auto!important;
  bottom:24px!important;
  width:46px!important;
  height:46px!important;
  z-index:9998!important;
  opacity:0!important;
  visibility:hidden!important;
  pointer-events:none!important;
}
.back-top.show{
  opacity:1!important;
  visibility:visible!important;
  pointer-events:auto!important;
}

/* No raw fallback text can ever appear */
.back-top + *{}

/* Closing marquee is structurally after CTA and directly before footer */
.closing-marquee{
  margin:0!important;
  width:100%!important;
  border:0!important;
  border-top:1px solid rgba(255,255,255,.08)!important;
  border-bottom:1px solid rgba(255,255,255,.08)!important;
  background:#06172f!important;
}
.cta{margin-bottom:0!important}
.closing-marquee + .footer{margin-top:0!important}

/* Visual Story */
.gallery-story-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:28px;
}
.gallery-story{
  border:1px solid var(--line);
  border-radius:30px;
  overflow:hidden;
  background:#fff;
  box-shadow:0 18px 50px rgba(7,26,56,.06);
  transition:transform .45s ease,box-shadow .45s ease;
}
.gallery-story:hover{
  transform:translateY(-8px);
  box-shadow:0 28px 70px rgba(7,26,56,.12);
}
.gallery-story-media{height:330px;overflow:hidden}
.gallery-story-media img{width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.2,.7,.2,1)}
.gallery-story:hover .gallery-story-media img{transform:scale(1.045)}
.gallery-story-body{padding:30px}
.gallery-story-body h3{font-size:30px;margin:8px 0 12px}
.gallery-story-body p{line-height:1.7;color:var(--muted)}
.gallery-story-body .btn{margin-top:20px}

/* Detail gallery pages */
.gallery-detail-hero{padding:160px 0 90px;background:radial-gradient(circle at 82% 24%,#dceaff,transparent 34%),#f8fbff}
.gallery-detail-hero h1{font-size:clamp(48px,6vw,78px);line-height:.98}
.masonry{
  columns:3 280px;
  column-gap:22px;
  margin-top:56px;
}
.masonry-item{
  break-inside:avoid;
  margin:0 0 22px;
  border-radius:24px;
  overflow:hidden;
  background:#eef3f9;
  box-shadow:0 16px 45px rgba(7,26,56,.08);
}
.masonry-item img{
  width:100%;
  height:auto;
  display:block;
  transition:transform .7s ease;
}
.masonry-item:hover img{transform:scale(1.035)}
.gallery-back{
  display:inline-flex;
  align-items:center;
  gap:8px;
  margin-top:28px;
  font-weight:850;
  color:var(--blue);
  text-decoration:none;
}

/* Mobile */
@media(max-width:1000px){
  .container{width:calc(100% - 44px)!important}
  .leaders{grid-template-columns:1fr!important}
  .leader{grid-template-columns:170px minmax(0,1fr)!important}
  .profile-hero{padding-top:150px!important}
}
@media(max-width:680px){
  .container{width:calc(100% - 36px)!important}
  .section{padding:86px 0!important}
  .section+.section{padding-top:94px!important}
  .hero-bg::after{animation:none;opacity:.18}
  .leader{
    grid-template-columns:1fr!important;
    min-height:0!important;
    padding:20px!important;
  }
  .leader img{
    width:100%!important;
    height:320px!important;
    min-width:0!important;
    border-radius:22px!important;
  }
  .leader h3{font-size:25px}
  .quick-actions{
    right:16px!important;
    bottom:16px!important;
    width:54px!important;height:54px!important;
  }
  .quick-toggle{width:54px!important;height:54px!important}
  .back-top{left:16px!important;bottom:16px!important;width:44px!important;height:44px!important}
  .profile-hero{padding:126px 0 76px!important;min-height:0!important}
  .profile-section{padding:84px 0!important}
  .gallery-story-grid{grid-template-columns:1fr}
  .gallery-story-media{height:260px}
  .gallery-detail-hero{padding:126px 0 65px}
  .gallery-detail-hero h1{font-size:clamp(44px,12vw,58px)}
  .masonry{columns:2 150px;column-gap:12px}
  .masonry-item{margin-bottom:12px;border-radius:16px}
}

.profile-glance{
  display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:48px
}
.profile-glance>div{
  padding:30px;border:1px solid var(--line);border-radius:24px;background:#fff;
  box-shadow:0 16px 40px rgba(7,26,56,.05)
}
.profile-glance strong{display:block;font-size:18px;color:var(--navy);margin-bottom:8px}
.profile-glance span{color:var(--muted);font-size:13px}
@media(max-width:680px){.profile-glance{grid-template-columns:1fr}}

/* =========================================================
   V10 CONTENT / LAYOUT REPAIR
   ========================================================= */

/* Universal CTA — always a centered boxed component */
.section > .container.cta,
.container.cta{
  width:min(1180px,calc(100% - 64px))!important;
  max-width:1180px!important;
  margin-left:auto!important;
  margin-right:auto!important;
  box-sizing:border-box!important;
}
.cta{
  display:flex!important;
  flex-direction:row!important;
  align-items:center!important;
  justify-content:space-between!important;
  padding:62px 68px!important;
  min-height:280px!important;
  gap:54px!important;
}
.cta>div:first-child{flex:1 1 auto;min-width:0}
.cta .cta-buttons{
  flex:0 0 auto!important;
  display:flex!important;
  flex-direction:row!important;
  flex-wrap:nowrap!important;
  align-items:center!important;
  gap:12px!important;
  margin-top:0!important;
}
.cta .cta-buttons .btn{white-space:nowrap}

/* Partner page */
.partner-contact-grid{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(420px,560px);
  gap:80px;
  align-items:start;
}
.partner-notes{margin-top:34px;display:grid;gap:12px}
.partner-notes>div{
  padding:20px 22px;border:1px solid var(--line);border-radius:18px;background:#fff
}
.partner-notes strong{display:block;color:var(--navy);margin-bottom:5px}
.partner-notes span{font-size:13px;color:var(--muted)}
.form h3{font-size:28px;margin-bottom:8px}
.form-intro{margin:0 0 24px!important}
.form label{display:block;font-size:12px;font-weight:800;color:var(--navy);margin-bottom:12px}
.form input,.form textarea,.form select{
  margin-top:7px!important;
  font:inherit;
}
.form textarea{min-height:150px!important;height:auto!important}
.form .btn{margin-top:8px}

/* Leadership profile: visible even if AOS/CDN is unavailable */
.profile-hero .profile-grid .profile-copy,
.profile-hero .profile-grid .profile-portrait{opacity:1}
.profile-hero{padding-top:150px!important;padding-bottom:110px!important}
.profile-portrait{opacity:1!important;transform:none!important}

/* Footer redesign */
.footer{
  position:relative!important;
  overflow:hidden!important;
  background:
    radial-gradient(circle at 78% 15%,rgba(52,106,194,.24),transparent 25%),
    radial-gradient(circle at 10% 100%,rgba(77,155,103,.14),transparent 30%),
    #06172f!important;
  padding:92px 0 28px!important;
}
.footer-main{
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns:minmax(360px,1.8fr) .75fr .75fr 1fr;
  gap:58px;
}
.footer-lead h2{
  color:#fff!important;
  font-size:clamp(36px,3.4vw,52px)!important;
  line-height:1!important;
  max-width:620px;
  margin:42px 0 18px;
}
.footer-lead>p{max-width:520px!important;color:rgba(255,255,255,.58)!important}
.footer-brand-lockup{display:flex;align-items:center;gap:12px}
.footer-mark{
  width:52px;height:52px;border-radius:50%;background:#1455b8;color:#fff;
  display:grid;place-items:center;font-size:12px;font-weight:900;
  box-shadow:0 15px 35px rgba(20,85,184,.3)
}
.footer-brand-lockup strong{display:block;color:#fff;font-size:15px;line-height:1.02;letter-spacing:-.02em}
.footer-brand-lockup small{display:block;color:#78aaff;font-size:9px;letter-spacing:.14em;margin-top:6px}
.footer-actions{display:flex;align-items:center;gap:20px;margin-top:28px}
.footer-actions .btn{padding:13px 20px}
.footer-text-link{color:#fff!important;text-decoration:none!important;font-size:13px!important;font-weight:800!important}
.footer-text-link:hover{color:#8ebcff!important}
.footer-column{display:flex;flex-direction:column;align-items:flex-start}
.footer-label{
  color:#78aaff;font-size:9px;font-weight:900;letter-spacing:.18em;
  margin-bottom:17px
}
.footer-column a{
  color:rgba(255,255,255,.64)!important;
  font-size:13px!important;
  text-decoration:none!important;
  margin:6px 0!important;
  transition:transform .25s,color .25s!important
}
.footer-column a:hover{color:#fff!important;transform:translateX(5px)!important}
.footer-contact p{color:rgba(255,255,255,.58)!important;font-size:13px!important;line-height:1.7!important;margin:0 0 8px!important}
.footer-bottom{
  position:relative;z-index:2;
  margin-top:72px!important;
  padding-top:22px!important;
  border-top:1px solid rgba(255,255,255,.12)!important;
  display:flex;align-items:center;gap:28px;
  color:rgba(255,255,255,.45)!important;font-size:11px
}
.footer-socials{display:flex;gap:8px;margin-left:auto}
.footer-socials a{
  width:32px!important;height:32px!important;border:1px solid rgba(255,255,255,.15);
  border-radius:50%;display:grid!important;place-items:center;
  color:#fff!important;font-size:11px!important;margin:0!important
}
.footer-orbit{position:absolute;right:-180px;bottom:-260px;width:620px;height:620px;border:1px solid rgba(255,255,255,.06);border-radius:50%}
.footer-orbit span{position:absolute;width:10px;height:10px;border-radius:50%;background:#8ebcff}
.footer-orbit span:nth-child(1){left:12%;top:48%}.footer-orbit span:nth-child(2){left:50%;top:8%}.footer-orbit span:nth-child(3){right:5%;top:52%}

/* Give every page a reliable content baseline after the fixed header */
main{position:relative;z-index:1}
.pagehero{padding-top:156px!important}

/* Mobile */
@media(max-width:900px){
  .cta{display:block!important;padding:48px 42px!important}
  .cta .cta-buttons{margin-top:28px!important;justify-content:flex-start!important}
  .partner-contact-grid{grid-template-columns:1fr;gap:42px}
  .footer-main{grid-template-columns:1fr 1fr;gap:44px}
  .footer-lead{grid-column:1/-1}
}
@media(max-width:680px){
  .section > .container.cta,.container.cta{width:calc(100% - 36px)!important}
  .cta{padding:38px 28px!important;border-radius:28px!important}
  .cta .cta-buttons{flex-wrap:wrap!important}
  .cta .cta-buttons .btn{flex:0 0 auto}
  .footer{padding:68px 0 22px!important}
  .footer-main{grid-template-columns:1fr 1fr;gap:34px 24px}
  .footer-lead{grid-column:1/-1}
  .footer-lead h2{font-size:36px!important;margin-top:30px}
  .footer-actions{flex-wrap:wrap}
  .footer-bottom{flex-wrap:wrap;margin-top:48px!important}
  .footer-socials{margin-left:0}
}

/* =========================================================
   IVM V11 — RELIABLE CONTENT + MOTION OVERRIDES
   ========================================================= */

/* Progressive enhancement: pages never disappear if JS/CDN is unavailable. */
.reveal,.motion-line,.stagger{
  opacity:1;
  transform:none;
}
.motion-ready .reveal,
.motion-ready .motion-line,
.motion-ready .stagger{
  opacity:0;
  transform:translate3d(0,38px,0);
}
.motion-ready .reveal.on,
.motion-ready .motion-line.on,
.motion-ready .stagger.on{
  opacity:1;
  transform:none;
}
.motion-ready [data-motion="left"]{transform:translate3d(42px,0,0)}
.motion-ready [data-motion="zoom"]{transform:scale(.94)}
.motion-ready [data-motion="up"]{transform:translate3d(0,42px,0)}

/* Proper profile hero — the previous version had no actual profile-hero definition. */
.profile-hero{
  min-height:760px;
  padding:170px 0 105px;
  background:
    radial-gradient(circle at 84% 24%,rgba(50,119,235,.40),transparent 30%),
    radial-gradient(circle at 10% 80%,rgba(66,164,103,.22),transparent 32%),
    #061a39;
  color:#fff;
  position:relative;
  overflow:hidden;
}
.profile-hero::before{
  content:"";
  position:absolute;
  width:620px;height:620px;
  right:-220px;top:110px;
  border:1px solid rgba(142,188,255,.16);
  border-radius:50%;
  box-shadow:0 0 0 70px rgba(142,188,255,.025),0 0 0 140px rgba(142,188,255,.018);
  animation:profileOrbit 12s ease-in-out infinite;
}
.profile-hero::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(110deg,transparent 35%,rgba(255,255,255,.045) 50%,transparent 64%);
  transform:translateX(-70%);
  animation:profileSweep 11s ease-in-out infinite;
  pointer-events:none;
}
@keyframes profileOrbit{50%{transform:translate3d(-18px,18px,0) rotate(4deg)}}
@keyframes profileSweep{60%,100%{transform:translateX(70%)}}
.profile-grid{position:relative;z-index:2}
.profile-portrait{background:#dce9ff}
.profile-portrait img{display:block}

/* Navigation: visible hover + current page state */
.links a{
  position:relative;
  padding:10px 0;
  transition:color .25s ease,transform .25s ease;
}
.links a::after{
  content:"";
  position:absolute;
  left:0;right:0;bottom:3px;
  height:2px;
  border-radius:2px;
  background:var(--blue);
  transform:scaleX(0);
  transform-origin:center;
  transition:transform .28s ease;
}
.links a:hover{
  color:var(--blue)!important;
  transform:translateY(-1px);
}
.links a:hover::after,
.links a.active::after{
  transform:scaleX(1);
}
.links a.active{
  color:var(--blue)!important;
  font-weight:900;
}

/* CTA: centered boxed component and truly side-by-side actions */
.section>.container.cta,
.container.cta{
  width:min(1180px,calc(100% - 64px))!important;
  margin-left:auto!important;
  margin-right:auto!important;
  box-sizing:border-box!important;
  display:flex!important;
  flex-direction:row!important;
  align-items:center!important;
  justify-content:space-between!important;
}
.cta .buttons{
  display:flex!important;
  flex-direction:row!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:14px!important;
  flex-wrap:nowrap!important;
  flex:0 0 auto!important;
}
.cta .buttons .btn{white-space:nowrap}

/* Form feedback */
.form-success{
  display:none;
  margin-top:18px;
  padding:13px 16px;
  border-radius:14px;
  background:#e3f5e7;
  border:1px solid #b7dfc0;
  color:#1f6b38;
  font-size:13px;
  font-weight:750;
}
.form-success.show{display:block;animation:successIn .45s ease both}
@keyframes successIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}

/* Better form geometry */
.form label{display:block;color:#26354e;font-size:12px;font-weight:800;margin-bottom:7px}
.form input,.form textarea,.form select{font:inherit;box-sizing:border-box}
.form textarea{resize:vertical}

/* Gallery cards always visible, images cannot collapse. */
.gallery-story,.gallery-story-media,.masonry-item{position:relative}
.gallery-story-media{background:#eaf1f8;min-height:260px}
.gallery-story-media img{display:block;width:100%;height:100%;object-fit:cover}

/* Footer never overlaps content and has a stable visual closing block. */
.footer{
  position:relative!important;
  clear:both!important;
  min-height:380px;
  overflow:hidden;
}
.footer-main,.footer-bottom{position:relative;z-index:2}
.closing-marquee + .footer{margin-top:0!important}
main + .section{position:relative;z-index:1}

/* Floating actions: viewport anchored, not document anchored. */
.quick-actions{
  position:fixed!important;
  right:24px!important;
  bottom:24px!important;
  top:auto!important;
  left:auto!important;
  z-index:9999!important;
  width:58px!important;
  height:58px!important;
  visibility:visible!important;
  opacity:1!important;
}
.quick-toggle{
  width:58px!important;height:58px!important;
  border-radius:50%!important;
  display:grid!important;place-items:center!important;
}
.quick-menu{
  right:0!important;
  bottom:70px!important;
  position:absolute!important;
}
.back-top{
  position:fixed!important;
  left:24px!important;
  right:auto!important;
  bottom:24px!important;
  z-index:9998!important;
}

/* Profile navigation and glance cards */
.profile-glance{position:relative;z-index:2}
.profile-nav a{
  transition:transform .25s ease,color .25s ease;
}
.profile-nav a:hover{transform:translateX(4px);color:var(--blue2)}

/* Mobile */
@media(max-width:1000px){
  .section>.container.cta,.container.cta{
    width:calc(100% - 44px)!important;
    flex-direction:column!important;
    align-items:flex-start!important;
  }
  .cta .buttons{
    justify-content:flex-start!important;
    width:100%!important;
    flex-wrap:wrap!important;
  }
  .profile-hero{min-height:auto;padding:150px 0 88px}
}
@media(max-width:680px){
  .section>.container.cta,.container.cta{
    width:calc(100% - 36px)!important;
    padding:38px 28px!important;
  }
  .cta .buttons{width:100%!important;flex-wrap:wrap!important}
  .cta .buttons .btn{flex:0 0 auto!important}
  .profile-hero{padding:110px 0 72px}
  .profile-hero::before{width:420px;height:420px;right:-220px;top:150px}
  .profile-portrait{height:390px!important}
  .quick-actions{right:16px!important;bottom:16px!important}
  .back-top{left:16px!important;bottom:16px!important}
}

/* =========================================================
   IVM V12 — EDITORIAL POLISH + FOOTER / DIVIDER MOTION
   ========================================================= */

/* Remove legacy page-frame padding that created the visible white strip. */
html,body{margin:0!important;padding:0!important}
body{perspective:none!important}

/* Journey cards live on a dark section, so their light cards need dark text. */
.dark .timeline article{
  background:#f7f9fc!important;
  color:var(--ink)!important;
  border:1px solid rgba(255,255,255,.06);
}
.dark .timeline article h3{
  color:var(--navy)!important;
}
.dark .timeline article p{
  color:var(--muted)!important;
}
.dark .timeline article .year{
  color:var(--blue)!important;
}
.journey-intro{
  max-width:760px;
  margin:22px auto 0;
  color:rgba(255,255,255,.68)!important;
  font-size:16px;
}

/* Vision/Mission cards: give the longer copy breathing room without making
   the cards feel like dense text blocks. */
.vision{
  min-height:390px!important;
  display:flex;
  flex-direction:column;
}
.vision .vision-detail{
  margin-top:18px;
  max-width:620px;
  font-size:15px;
  line-height:1.75;
  opacity:.9;
}
.vision:not(.blue) .vision-detail{color:#365241!important}
.vision.blue .vision-detail{color:rgba(255,255,255,.72)!important}

/* Footer ambient SVG — a restrained continuation of the existing orbital dots. */
.footer{isolation:isolate}
.footer-ambient{
  position:absolute;
  inset:0;
  z-index:0;
  pointer-events:none;
  overflow:hidden;
}
.footer-ambient svg{
  position:absolute;
  width:min(760px,60vw);
  height:auto;
  right:-100px;
  bottom:-250px;
  overflow:visible;
  opacity:.82;
}
.footer-ambient .orbit{
  fill:none;
  stroke:#7da9ee;
  stroke-opacity:.13;
  stroke-width:1;
}
.footer-ambient .orbit.bold{
  stroke-opacity:.18;
  stroke-dasharray:3 14;
  animation:footerOrbitDash 20s linear infinite;
}
.footer-ambient .pulse-dot{
  fill:#8ebcff;
  transform-box:fill-box;
  transform-origin:center;
  animation:footerPulse 3.8s ease-in-out infinite;
}
.footer-ambient .pulse-dot:nth-of-type(2){animation-delay:-1.2s}
.footer-ambient .pulse-dot:nth-of-type(3){animation-delay:-2.4s}
.footer-ambient .travel-dot{
  fill:#dceaff;
  animation:footerTravel 11s ease-in-out infinite;
}
.footer-ambient .spark{
  fill:#78aaff;
  opacity:.7;
  animation:footerSpark 4.5s ease-in-out infinite;
}
@keyframes footerOrbitDash{to{stroke-dashoffset:-240}}
@keyframes footerPulse{
  0%,100%{opacity:.35;transform:scale(.75)}
  50%{opacity:1;transform:scale(1.3)}
}
@keyframes footerTravel{
  0%,100%{transform:translate(0,0);opacity:.35}
  50%{transform:translate(-55px,-35px);opacity:1}
}
@keyframes footerSpark{
  0%,100%{opacity:.15;transform:scale(.65)}
  50%{opacity:.8;transform:scale(1.15)}
}

/* Animated section divider — use only at major visual transitions. */
@keyframes dividerFlow{to{stroke-dashoffset:-240}}
@keyframes dividerDot{
  0%,100%{opacity:.2;transform:translateY(4px)}
  50%{opacity:.85;transform:translateY(-4px)}
}

/* Footer content remains above the animated SVG. */
.footer .footer-main,.footer .footer-bottom{z-index:2}

/* Keep footer full-bleed and eliminate any accidental bottom frame. */
.footer{margin-bottom:0!important;border-radius:0!important}
.closing-marquee{margin-bottom:0!important}

@media(max-width:680px){
  .footer-ambient svg{width:720px;right:-290px;bottom:-250px;opacity:.68}
  .section-divider{height:52px}
  .journey-intro{font-size:14px}
  .vision{min-height:0!important}
}

/* =========================================================
   V14 — SOURCE-LED CONTENT + INTEGRATED SECTION HEADERS
   Keep the original V12 palette/layout. Motion is atmospheric.
   ========================================================= */

/* Section header: photographic depth + restrained motion, not a separate graphic. */
.pagehero{position:relative;overflow:hidden;isolation:isolate;background:var(--navy);min-height:430px;display:flex;align-items:center}
.pagehero::before{content:"";position:absolute;inset:0;background-image:var(--hero-image);background-size:cover;background-position:center;opacity:.34;z-index:-3;transform:scale(1.04);animation:heroBreath 16s ease-in-out infinite}
.pagehero::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,26,56,.98) 0%,rgba(7,26,56,.82) 42%,rgba(7,26,56,.38) 78%,rgba(7,26,56,.72) 100%);z-index:-2}
.pagehero .container{position:relative;z-index:2}
.pagehero .hero-line-art{position:absolute;right:-5%;top:-18%;width:62%;height:136%;z-index:-1;opacity:.20;pointer-events:none}
.pagehero .hero-line-art path{fill:none;stroke:#fff;stroke-width:1.1;stroke-opacity:.42}
.pagehero .hero-line-art circle{fill:#fff;opacity:.30;animation:headerDot 5s ease-in-out infinite}
.pagehero .hero-line-art circle:nth-of-type(2){animation-delay:-1.7s}
.pagehero .hero-line-art circle:nth-of-type(3){animation-delay:-3s}
.pagehero h1{max-width:820px}
.pagehero p{max-width:690px;color:rgba(255,255,255,.72);font-size:18px}
@keyframes heroBreath{50%{transform:scale(1.08) translateX(-1%)} }
@keyframes headerDot{50%{transform:translateY(-6px);opacity:.65}}

/* The SVG belongs to the section boundary — transparent and visually borrowed from it. */
.blend-wave{position:absolute;left:0;right:0;top:-26px;height:52px;z-index:1;pointer-events:none;overflow:hidden;opacity:.32}
.blend-wave svg{width:100%;height:100%;display:block}
.blend-wave path{fill:none;stroke:rgba(255,255,255,.75);stroke-width:1}
.blend-wave path:nth-child(2){stroke-opacity:.25;stroke-dasharray:5 17;animation:blendFlow 17s linear infinite}
.blend-wave circle{fill:#fff;opacity:.25;animation:blendPulse 4.5s ease-in-out infinite}
.blend-wave circle:nth-child(2){animation-delay:-1.4s}.blend-wave circle:nth-child(3){animation-delay:-2.8s}
@keyframes blendFlow{to{stroke-dashoffset:-250}}
@keyframes blendPulse{50%{transform:translateY(-4px);opacity:.55}}
.section.dark{position:relative;overflow:visible}.section.dark>.container{position:relative;z-index:2}

/* Founder pages — two intentionally different editorial systems. */
.founder-hero{position:relative;overflow:hidden;background:var(--navy);color:#fff;padding:84px 0 104px}
.founder-hero .container{position:relative;z-index:2}
.founder-hero::after{content:"";position:absolute;width:720px;height:720px;right:-360px;top:-300px;border:1px solid rgba(255,255,255,.10);border-radius:50%;box-shadow:0 0 0 70px rgba(255,255,255,.025),0 0 0 150px rgba(255,255,255,.018)}
.founder-hero-christopher{background:linear-gradient(135deg,#071a38 0%,#102f55 58%,#0a3d8c 100%)}
.founder-hero-kanisha{background:#f7f9fc;color:var(--ink);padding-bottom:92px}
.founder-hero-kanisha::after{border-color:rgba(20,85,184,.12);box-shadow:0 0 0 70px rgba(20,85,184,.025),0 0 0 150px rgba(20,85,184,.018)}
.founder-hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:70px;align-items:center}
.founder-kicker{font-size:12px;font-weight:900;letter-spacing:.16em;text-transform:uppercase;opacity:.72;margin-bottom:18px}
.founder-hero h1{font-size:clamp(50px,7vw,92px);line-height:.92;letter-spacing:-.055em;margin:0 0 24px;max-width:700px}
.founder-hero .hero-intro{font-size:20px;line-height:1.6;max-width:620px;color:rgba(255,255,255,.72)}
.founder-hero-kanisha .hero-intro{color:var(--muted)}
.founder-portrait-frame{position:relative;max-width:520px;margin-left:auto}
.founder-portrait-frame img{display:block;width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:28px;box-shadow:0 35px 90px rgba(0,0,0,.20)}
.founder-portrait-frame .caption-card{position:absolute;left:-34px;bottom:28px;padding:20px 22px;background:#fff;color:var(--ink);border-radius:18px;box-shadow:0 20px 50px rgba(0,0,0,.16);max-width:240px}
.founder-portrait-frame .caption-card strong{display:block;font-size:25px;line-height:1}.founder-portrait-frame .caption-card span{display:block;margin-top:6px;font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:var(--muted)}
.founder-art-frame{position:relative;min-height:520px}
.founder-art-frame img{position:absolute;width:72%;height:78%;object-fit:cover;border-radius:26px;box-shadow:0 35px 90px rgba(0,0,0,.22)}
.founder-art-frame img:first-child{right:0;top:0}.founder-art-frame img:last-child{left:0;bottom:0;width:52%;height:46%;border:12px solid #102f55}
.founder-art-frame .art-note{position:absolute;right:18px;bottom:30px;background:#fff;color:var(--ink);padding:20px 22px;border-radius:18px;max-width:240px;box-shadow:0 18px 50px rgba(0,0,0,.16)}
.founder-art-frame .art-note strong{font-size:28px;display:block}.founder-art-frame .art-note span{font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:var(--muted)}
.founder-section{padding:112px 0}.founder-section.soft{background:#f7f9fc}.founder-section .section-head{max-width:760px;margin-bottom:48px}.founder-section .section-head .eyebrow{margin-bottom:12px}
.founder-story{display:grid;grid-template-columns:1.25fr .75fr;gap:34px;align-items:start}
.founder-story-card{background:#fff;border:1px solid var(--line);border-radius:28px;padding:38px}.founder-story-card.dark{background:var(--navy);color:#fff;border-color:transparent}.founder-story-card.dark p{color:rgba(255,255,255,.70)}
.founder-story-card p{line-height:1.8}.founder-story-card h3{margin-top:0}.founder-story-card .large-number{font-size:72px;line-height:.85;font-weight:900;color:var(--blue);letter-spacing:-.06em}.founder-story-card.dark .large-number{color:#a6c8ff}
.founder-timeline{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.founder-timeline article{padding:28px;border-top:2px solid var(--blue);background:#fff;border-radius:0 0 20px 20px}.founder-timeline strong{font-size:13px;letter-spacing:.12em;color:var(--blue);text-transform:uppercase}.founder-timeline h3{margin:10px 0}.founder-timeline p{color:var(--muted);line-height:1.65}
.founder-matrix{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.founder-matrix article{padding:30px;border:1px solid var(--line);border-radius:24px;background:#fff}.founder-matrix .label{margin-bottom:8px}.founder-matrix ul{margin:12px 0 0;padding-left:18px;color:var(--muted);line-height:1.75}
.quote-panel{padding:54px;border-radius:34px;background:linear-gradient(135deg,#1455b8,#0a3d8c);color:#fff;position:relative;overflow:hidden}.quote-panel::after{content:"“";position:absolute;right:24px;top:-28px;font-size:210px;line-height:1;color:rgba(255,255,255,.08);font-family:Georgia,serif}.quote-panel p{font-family:Georgia,serif;font-size:30px;line-height:1.35;max-width:900px;margin:0}.quote-panel span{display:block;margin-top:20px;font-size:11px;text-transform:uppercase;letter-spacing:.14em;opacity:.68}
.kanisha-clinical{display:grid;grid-template-columns:.8fr 1.2fr;gap:48px;align-items:start}.clinical-side{position:sticky;top:110px}.clinical-side .big-label{font-size:13px;letter-spacing:.16em;text-transform:uppercase;color:var(--blue);font-weight:900}.clinical-side h2{font-size:clamp(42px,5vw,68px);line-height:.95;letter-spacing:-.045em}.clinical-side p{color:var(--muted);line-height:1.75}.clinical-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.clinical-card{padding:28px;border-radius:22px;background:#fff;border:1px solid var(--line);min-height:190px}.clinical-card h3{margin:10px 0}.clinical-card p{color:var(--muted);line-height:1.65;margin:0}.clinical-card.featured{background:#dff2e3;border-color:transparent}
@media(max-width:900px){.founder-hero-grid,.founder-story,.kanisha-clinical{grid-template-columns:1fr}.founder-art-frame{min-height:420px}.clinical-side{position:static}.founder-timeline,.founder-matrix,.clinical-grid{grid-template-columns:1fr}.founder-portrait-frame{margin:0;max-width:560px}.founder-portrait-frame .caption-card{left:18px}}
@media(max-width:680px){.pagehero{min-height:360px}.pagehero::before{opacity:.24}.founder-hero{padding:66px 0 80px}.founder-hero h1{font-size:52px}.founder-section{padding:82px 0}.founder-story-card{padding:27px}.quote-panel{padding:34px 28px}.quote-panel p{font-size:23px}.founder-art-frame{min-height:330px}.founder-art-frame img:last-child{border-width:7px}}


/* =========================================================
   V15 — CONSISTENT PAGE HEADERS + EDITORIAL IMPACT
   ========================================================= */
.brand-logo{width:46px;height:46px;flex:0 0 46px;display:block;object-fit:contain}.brand strong{display:block;font-size:12px;line-height:1.05;letter-spacing:-.02em}.brand small{margin-top:4px}

/* One section-header system across About / Work / Impact / Gallery / Contact / Partner / Donate / Gallery detail pages. */
.pagehero{min-height:430px!important;height:430px!important;padding:0!important;display:flex!important;align-items:center!important;background:var(--navy)!important;position:relative!important;overflow:hidden!important;isolation:isolate!important}
.pagehero::before{opacity:.34!important;transform:scale(1.035)!important;animation:heroBreath 18s ease-in-out infinite!important;background-position:center!important}
.pagehero::after{background:linear-gradient(90deg,rgba(7,26,56,.97) 0%,rgba(7,26,56,.86) 38%,rgba(7,26,56,.48) 72%,rgba(7,26,56,.68) 100%)!important}
.pagehero .container{width:min(var(--max),92%)!important;padding-top:28px!important}
.pagehero .eyebrow{color:#a9c8ff!important;margin-bottom:20px!important}
.pagehero h1{color:#fff!important;font-size:clamp(46px,5.2vw,70px)!important;line-height:.98!important;max-width:820px!important}
.pagehero h1 span{color:#a9c8ff!important}
.pagehero p{color:rgba(255,255,255,.78)!important;font-size:18px!important;line-height:1.7!important;max-width:720px!important;margin-top:24px!important}
.pagehero .hero-line-art{right:-4%!important;top:-12%!important;width:58%!important;height:124%!important;opacity:.18!important}
.pagehero .hero-line-art path{stroke:#fff!important;stroke-opacity:.36!important}
.pagehero .hero-line-art circle{opacity:.28!important}
.pagehero-back{display:inline-flex;margin-top:25px;color:#fff!important;border-color:rgba(255,255,255,.25)!important;background:rgba(255,255,255,.08)!important;padding:11px 16px!important;border-radius:999px!important;font-size:12px;font-weight:800}
.gallery-detail-hero{display:none!important}

/* Mental health block: calmer reading rhythm and more separation between list content. */
.mental-health-detail-grid{margin-top:54px!important;gap:20px!important}
.mental-health-detail-grid .lord-detail-card{padding:34px!important;border-radius:24px!important}
.mental-health-detail-grid .lord-detail-card h3{margin:10px 0 12px!important}
.mental-health-detail-grid .lord-detail-card p{margin:0 0 18px!important;line-height:1.82!important}
.mental-health-detail-grid .lord-detail-card ul{margin:18px 0 0!important;padding-left:20px!important;display:grid!important;gap:10px!important}
.mental-health-detail-grid .lord-detail-card li{line-height:1.65!important;color:var(--muted)!important;padding-left:3px}

/* Impact: editorial composition rather than a wall of cards. */
.impact-opening{padding-top:104px!important}
.impact-intro-grid{display:grid;grid-template-columns:.55fr 1.1fr .9fr;gap:42px;align-items:end}
.impact-number{padding-bottom:20px}.impact-number span{display:block;font-size:clamp(100px,13vw,180px);font-weight:900;line-height:.75;letter-spacing:-.09em;color:#e8eef7}.impact-number small{display:block;max-width:220px;margin-top:24px;font-size:11px;line-height:1.6;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}
.impact-intro-copy h2{max-width:720px}.impact-intro-copy .lead{font-size:19px;line-height:1.72;margin:24px 0 10px}.impact-intro-copy p{max-width:720px}
.impact-feature-photo{margin:0;position:relative;height:430px;border-radius:30px;overflow:hidden;box-shadow:var(--shadow)}.impact-feature-photo img{transition:transform 1s}.impact-feature-photo:hover img{transform:scale(1.04)}.impact-feature-photo::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(7,26,56,.68))}.impact-feature-photo figcaption{position:absolute;z-index:2;left:22px;right:22px;bottom:20px;color:#fff;font-size:13px;line-height:1.5}
.impact-stats-section{padding-top:84px!important;padding-bottom:84px!important}.impact-stat-row{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-top:25px}.impact-stat{padding:30px 24px;border-right:1px solid var(--line)}.impact-stat:last-child{border-right:0}.impact-stat strong{display:block;font-size:42px;letter-spacing:-.05em;color:var(--blue);margin-bottom:9px}.impact-stat span{display:block;font-size:12px;line-height:1.6;color:var(--muted)}
.impact-history{background:#fff}.impact-history-head{max-width:780px;margin-bottom:62px}.impact-history-head h2{margin-top:0}.impact-history-grid{display:grid;grid-template-columns:.7fr 1.3fr;gap:90px}.history-rail{position:relative;padding-top:10px}.history-big{font-size:clamp(80px,10vw,150px);font-weight:900;line-height:.75;letter-spacing:-.08em;color:var(--navy)}.history-big.small{font-size:clamp(64px,8vw,110px);color:var(--blue);margin-top:24px}.history-rail p{max-width:260px;margin:18px 0 0}.history-line{width:1px;height:100px;background:linear-gradient(var(--blue),transparent);margin:26px 0 0 18px}.history-list{border-top:1px solid var(--line)}.history-item{display:grid;grid-template-columns:120px 1fr;gap:25px;padding:28px 0;border-bottom:1px solid var(--line)}.history-item>span{font-size:11px;font-weight:900;letter-spacing:.12em;color:var(--blue);text-transform:uppercase;padding-top:6px}.history-item h3{font-size:24px;margin:0 0 8px}.history-item p{grid-column:1 / -1;margin:0;line-height:1.75;max-width:none}
.impact-image-story{display:grid;grid-template-columns:1fr 1fr;min-height:720px;background:var(--navy);color:#fff}.impact-image-story-media{min-height:720px;overflow:hidden}.impact-image-story-media img{filter:saturate(.9);transition:transform 1.2s}.impact-image-story:hover .impact-image-story-media img{transform:scale(1.04)}.impact-image-story-copy{padding:100px max(6vw,60px);align-self:center}.impact-image-story-copy h2{color:#fff;max-width:640px}.impact-image-story-copy .lead{font-size:19px;line-height:1.7;max-width:650px;margin:25px 0 10px}.impact-image-story-copy p{max-width:650px}.impact-points{margin-top:42px;border-top:1px solid rgba(255,255,255,.15)}.impact-points>div{display:grid;grid-template-columns:50px 1fr;gap:18px;padding:18px 0;border-bottom:1px solid rgba(255,255,255,.15);align-items:center}.impact-points strong{color:#9fc2ff;font-size:12px}.impact-points span{font-size:13px;color:rgba(255,255,255,.82)}
.impact-programmes{padding-top:115px!important}.impact-split{display:grid;grid-template-columns:1fr 1fr;gap:85px;align-items:center}.impact-split+.impact-split{margin-top:120px}.impact-split.reverse{grid-template-columns:1fr 1fr}.impact-split h2{max-width:620px}.impact-split .lead{font-size:19px;line-height:1.7;margin:24px 0 10px}.impact-split figure{margin:0}.impact-split figure img{height:500px;border-radius:34px;box-shadow:var(--shadow)}.impact-split figcaption{font-size:11px;line-height:1.5;color:var(--muted);margin-top:12px;max-width:480px}.impact-split.reverse figure{order:0}
.impact-values{padding-top:110px!important}.impact-values-intro{max-width:650px}.impact-values-list{display:grid;grid-template-columns:1fr 1fr;column-gap:80px;margin-top:48px;border-top:1px solid var(--line)}.impact-value{display:grid;grid-template-columns:48px 1fr;gap:18px;padding:25px 0;border-bottom:1px solid var(--line)}.impact-value>span{font-size:11px;color:var(--blue);font-weight:900;padding-top:5px}.impact-value h3{font-size:22px;margin:0 0 7px}.impact-value p{margin:0;line-height:1.65}
.impact-future{display:grid;grid-template-columns:1fr 1fr;min-height:640px;background:#06172f;color:#fff}.impact-future-media{min-height:640px}.impact-future-copy{padding:90px max(6vw,60px);align-self:center}.impact-future-copy h2{color:#fff;max-width:640px}.impact-future-copy p{max-width:620px;font-size:16px;line-height:1.75}.future-number{font-size:clamp(76px,10vw,150px);font-weight:900;letter-spacing:-.08em;line-height:.82;color:#8fbaff;margin:10px 0 24px}

/* More intentional image-led cards where cards are still useful. */
.gallery-story-media{background:#eaf0f8}.gallery-story-media img{transition:transform 1s}.gallery-story:hover .gallery-story-media img{transform:scale(1.04)}

@media(max-width:1000px){
 .pagehero{height:400px!important;min-height:400px!important}.pagehero .container{padding-top:18px!important}
 .impact-intro-grid{grid-template-columns:1fr 1fr;align-items:start}.impact-number{grid-row:span 1}.impact-feature-photo{grid-column:2;grid-row:1 / span 2;height:420px}.impact-intro-copy{grid-column:1}.impact-stat-row{grid-template-columns:1fr 1fr}.impact-stat:nth-child(2){border-right:0}.impact-stat:nth-child(n+3){border-top:1px solid var(--line)}.impact-history-grid{grid-template-columns:1fr;gap:50px}.history-rail{display:grid;grid-template-columns:auto 1fr;gap:18px;align-items:end}.history-rail p{margin:0}.history-line{display:none}.impact-image-story,.impact-future{grid-template-columns:1fr}.impact-image-story-media,.impact-future-media{min-height:480px}.impact-split{gap:45px}.impact-split+.impact-split{margin-top:90px}.impact-values-list{column-gap:45px}
}
@media(max-width:680px){
 .brand-logo{width:40px;height:40px;flex-basis:40px}.brand strong{font-size:10px}.pagehero{height:360px!important;min-height:360px!important}.pagehero .container{padding-top:28px!important}.pagehero h1{font-size:43px!important}.pagehero p{font-size:15px!important;margin-top:18px!important}.pagehero .hero-line-art{width:90%!important;right:-24%!important;opacity:.13!important}.pagehero-back{margin-top:18px}
 .impact-opening{padding-top:82px!important}.impact-intro-grid{grid-template-columns:1fr}.impact-number{padding-bottom:0}.impact-number span{font-size:105px}.impact-number small{margin-top:16px}.impact-intro-copy{grid-column:auto}.impact-feature-photo{grid-column:auto;grid-row:auto;height:360px}.impact-stat-row{grid-template-columns:1fr}.impact-stat{border-right:0!important}.impact-stat+.impact-stat{border-top:1px solid var(--line)}.impact-history{padding-top:82px!important}.impact-history-grid{gap:36px}.history-rail{grid-template-columns:1fr}.history-big{font-size:90px}.history-big.small{font-size:72px}.history-rail p{max-width:300px}.history-item{grid-template-columns:1fr;gap:8px}.impact-image-story-media,.impact-future-media{min-height:360px}.impact-image-story-copy,.impact-future-copy{padding:72px 24px}.impact-points{margin-top:30px}.impact-programmes{padding-top:82px!important}.impact-split,.impact-split.reverse{grid-template-columns:1fr}.impact-split+.impact-split{margin-top:78px}.impact-split figure img{height:360px}.impact-split.reverse figure{order:-1}.impact-values{padding-top:82px!important}.impact-values-list{grid-template-columns:1fr;column-gap:0}.future-number{font-size:88px}.mental-health-detail-grid{margin-top:36px!important}.mental-health-detail-grid .lord-detail-card{padding:27px!important}
}


/* V16 QA — breathing room, image readability, equal-height layouts, consistent headers */
.sports{isolation:isolate;background:#071a38}
.sports-bg{z-index:0}
.sports-bg::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,26,56,.88) 0%,rgba(7,26,56,.62) 45%,rgba(7,26,56,.42) 100%);z-index:1;pointer-events:none}
.sports-bg img{filter:brightness(.72) saturate(.92);opacity:.92;transform:scale(1.04);will-change:transform}
.sports-content{z-index:3}
.sports-content p{color:rgba(255,255,255,.82);line-height:1.82}
.sports-content .stat{background:rgba(255,255,255,.12);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.14)}

/* All side-by-side cards should share the same visual height. */
.cards,.two,.values,.leaders,.donategrid,.founder-story,.founder-timeline,.founder-matrix,.clinical-grid,.impact-stat-row{align-items:stretch}
.cards>.card,.two>*,.values>*,.leaders>*,.donategrid>*,.founder-story>*,.founder-timeline>*,.founder-matrix>*,.clinical-grid>*,.impact-stat-row>*{height:100%}
.card-body{height:100%;display:flex;flex-direction:column}
.card-body p{margin-bottom:0}
.founder-story-card{display:flex;flex-direction:column}
.founder-story-card p{line-height:1.82}
.founder-story-card h3{line-height:1.18}
.founder-timeline article p,.founder-matrix article p,.clinical-card p{line-height:1.78}
.founder-timeline article h3,.founder-matrix article h3,.clinical-card h3{line-height:1.2}

/* Christopher — calmer, more coherent colour system and portrait treatment. */
.founder-hero-christopher{background:linear-gradient(135deg,#071a38 0%,#0c2b50 62%,#1455b8 100%)}
.founder-hero-christopher .founder-hero-grid{grid-template-columns:.92fr 1.08fr;gap:76px}
.founder-hero-christopher .founder-art-frame{min-height:560px;display:flex;align-items:center;justify-content:flex-end}
.founder-hero-christopher .founder-art-frame img:first-child{position:relative;right:auto;top:auto;width:min(500px,82%);height:560px;object-fit:cover;object-position:center top;border-radius:30px;z-index:2}
.founder-hero-christopher .founder-art-frame img:last-child{left:0;bottom:22px;width:46%;height:250px;border:10px solid #0c2b50;z-index:3}
.founder-hero-christopher .art-note{right:0;bottom:8px;z-index:4}
.founder-hero-christopher + .founder-section .founder-story-card.dark{background:#e8f0ff;color:var(--ink);border-color:#d7e4f7}
.founder-hero-christopher + .founder-section .founder-story-card.dark p{color:var(--muted)}
.founder-hero-christopher + .founder-section .founder-story-card.dark .eyebrow{color:var(--blue)!important}
.founder-section .quote-panel span{display:none}
.founder-section .quote-panel{background:linear-gradient(135deg,#1455b8,#0a3d8c)}

/* Founder page line-height and heading rhythm. */
.founder-section h2{line-height:1.08}
.founder-section h3{line-height:1.18}
.founder-section p{line-height:1.78}

/* Remove the extra explanatory attribution line on Kanisha. */
.kanisha-clinical + .founder-section .quote-panel span{display:none}

/* Section headers: one canonical vertical rhythm; never inherit legacy 116–156px top padding. */
.pagehero{height:420px!important;min-height:420px!important;padding:0!important;align-items:center!important}
.pagehero .container{padding-top:18px!important;padding-bottom:0!important}
.pagehero h1{margin-top:0!important}

/* Impact page — image surfaces should always fill their visual frame. */
.impact-feature-photo img,.impact-image-story-media img,.impact-future-media img,.impact-split figure img{width:100%;height:100%;object-fit:cover}
.impact-image-story-copy p,.impact-future-copy p,.impact-split p{line-height:1.82}
.impact-history-grid,.impact-intro-grid,.impact-split{align-items:stretch}
.impact-split>div{display:flex;flex-direction:column;justify-content:center}
.impact-values-list{align-items:stretch}
.impact-value{min-height:132px;align-items:start}

/* Future expansion section — full-width editorial layout. */
.future-expansion-section{overflow:hidden!important}
.future-expansion-layout{display:block!important}
.future-expansion-intro{width:100%;max-width:900px;margin:0 auto;text-align:center;padding-bottom:46px;display:flex;flex-direction:column;align-items:center}.future-expansion-intro .eyebrow{width:100%;text-align:center;display:block;margin-left:auto;margin-right:auto}
.future-expansion-intro h2{color:#fff;max-width:820px;margin:10px auto 18px}
.future-expansion-intro p{max-width:760px;margin-left:auto;margin-right:auto}
.future-expansion-section .future-expansion-cards{width:100%;max-width:1180px;margin:0 auto}
.future-expansion-section .future-expansion-card{min-width:0}

/* Future expansion cards: image + text, equal-height editorial tiles. */
.future-expansion-cards{display:grid!important;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:42px}
.future-expansion-card{overflow:hidden;border-radius:26px;background:#fff;border:1px solid rgba(230,235,242,.16);display:flex;flex-direction:column;height:100%;transition:.45s}
.future-expansion-card:hover{transform:translateY(-8px);box-shadow:0 30px 80px rgba(0,0,0,.22)}
.future-expansion-card .media{height:220px;overflow:hidden}
.future-expansion-card .media img{transition:transform .8s}
.future-expansion-card:hover .media img{transform:scale(1.06)}
.future-expansion-card .body{padding:28px;display:flex;flex-direction:column;flex:1}
.future-expansion-card .body h3{margin:9px 0 10px}
.future-expansion-card .body p{margin:0;line-height:1.72}
.section.dark .future-expansion-card{color:var(--ink)}
.section.dark .future-expansion-card p{color:var(--muted)}

@media(max-width:900px){
 .future-expansion-cards{grid-template-columns:1fr 1fr}
 .founder-hero-christopher .founder-hero-grid{grid-template-columns:1fr;gap:45px}
 .founder-hero-christopher .founder-art-frame{min-height:500px}
}
@media(max-width:680px){
 .pagehero{height:360px!important;min-height:360px!important}
 .pagehero .container{padding-top:12px!important}
 .future-expansion-cards{grid-template-columns:1fr}
 .future-expansion-card .media{height:210px}
 .founder-hero-christopher .founder-art-frame{min-height:430px}
 .founder-hero-christopher .founder-art-frame img:first-child{width:84%;height:430px}
 .founder-hero-christopher .founder-art-frame img:last-child{height:190px;width:50%}
 .founder-hero-christopher .art-note{right:0;bottom:0}
}

/* V16 final header offset: fixed navigation must not overlap internal page heroes. */
.pagehero{margin-top:116px!important}
@media(max-width:680px){.pagehero{margin-top:110px!important}}

/* =========================================================
   V17 — LAYOUT QA / RHYTHM / PAGE HEADER CORRECTIONS
   ========================================================= */

/* Fixed header occupies 78px visually. Page headers must begin exactly
   underneath it — no artificial white band. */
.pagehero{
  margin-top:78px!important;
  padding:92px 0 72px!important;
  min-height:430px!important;
  display:flex!important;
  align-items:center!important;
}
.pagehero .container{
  padding-top:0!important;
  padding-bottom:0!important;
}
.pagehero h1{
  line-height:1.06!important;
}
.pagehero p{
  line-height:1.78!important;
}

/* The 4 "Addressing the roots of exclusion" items are one coherent
   four-part system on desktop, not a 3 + 1 orphaned card. */
.roots-cards{
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  align-items:stretch!important;
}
.roots-cards>.card{
  height:100%!important;
  display:flex!important;
  flex-direction:column!important;
}
.roots-cards>.card .card-body{
  flex:1!important;
  display:flex!important;
  flex-direction:column!important;
}
.roots-cards>.card p{
  line-height:1.78!important;
}

/* Equal-height cards whenever cards sit beside one another. */
.cards>.card,
.values>.value,
.two>.vision,
.founder-story>.founder-story-card,
.founder-matrix>article,
.founder-timeline>article,
.lord-detail-grid>.lord-detail-card,
.profile-content-grid>.profile-content-card{
  height:100%;
}
.cards>.card,.founder-story>.founder-story-card,
.founder-matrix>article,.founder-timeline>article,
.lord-detail-grid>.lord-detail-card,.profile-content-grid>.profile-content-card{
  display:flex;
  flex-direction:column;
}
.cards>.card .card-body{flex:1}
.founder-story{align-items:stretch!important}
.founder-story-card{min-height:100%!important}
.founder-story-card p{line-height:1.82!important}
.founder-story-card h3{line-height:1.18!important}
.founder-story-card .large-number{
  line-height:1!important;
  margin-bottom:24px!important;
  display:block!important;
}
.founder-story-card.dark{
  /* Keep the second card rich, but restore readable contrast and
     avoid a heavy black-on-blue collision. */
  background:linear-gradient(145deg,#eef4fc 0%,#dce9fa 100%)!important;
  color:var(--navy)!important;
  border:1px solid #cbdcf0!important;
}
.founder-story-card.dark h3{color:var(--navy)!important}
.founder-story-card.dark p{color:#536273!important}
.founder-story-card.dark .eyebrow{color:var(--blue)!important}

/* Founder section headings should breathe without oversized blocks. */
.founder-section .section-head h2{
  line-height:1.10!important;
  max-width:820px;
}
.founder-section .section-head{margin-bottom:52px!important}

/* Impact feature caption and text rhythm. */
.impact-intro-copy p{line-height:1.82!important}
.impact-feature-photo figcaption{
  line-height:1.65!important;
  max-width:620px;
}
.impact-stat{
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
  min-height:170px;
}
.impact-stat strong{line-height:1!important;margin-bottom:14px!important}
.impact-stat span{line-height:1.65!important}

/* Mental-health reading rhythm — prevent dense text from collapsing. */
.mental-health-detail-grid .lord-detail-card{
  min-height:100%!important;
}
.mental-health-detail-grid .lord-detail-card p{
  line-height:1.86!important;
}
.mental-health-detail-grid .lord-detail-card li{
  line-height:1.72!important;
  margin-bottom:7px;
}

/* Global heading rhythm: less cramped, especially in multi-line cards. */
h1{line-height:1.06!important}
h2{line-height:1.10!important}
h3{line-height:1.18!important}
p{line-height:1.76}

/* Partner and every standard internal page use the exact same header
   geometry as About/Our Work/Impact. */
.partner-page .pagehero,
body:not(.home) .pagehero{
  margin-top:78px!important;
}

/* Remove legacy vertical offsets that were creating the visible blank
   strip below the fixed navigation. */
.pagehero{transform:none!important}
.pagehero + .section{margin-top:0!important}

/* Mobile: fixed header is still 78px; preserve the same clean handoff. */
@media(max-width:1100px){
  .roots-cards{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:680px){
  .pagehero{
    margin-top:78px!important;
    min-height:360px!important;
    padding:72px 0 54px!important;
  }
  .roots-cards{grid-template-columns:1fr!important}
  .founder-story{grid-template-columns:1fr!important}
  .founder-story-card{min-height:0!important}
  .impact-stat{min-height:0}
}

/* =========================================================
   V18 — QUICK ACTIONS / FOUNDER HERO / PARTNER HEADER
   ========================================================= */

/* Desktop quick action: compact, bottom-right, always available.
   It expands upward only when requested. */
.quick-actions{
  position:fixed!important;
  right:24px!important;
  bottom:24px!important;
  width:60px!important;
  height:60px!important;
  z-index:14000!important;
}
.quick-toggle{
  position:absolute!important;
  inset:0!important;
  width:60px!important;
  height:60px!important;
  border:0!important;
  border-radius:50%!important;
  background:#1388f5!important;
  color:#fff!important;
  box-shadow:0 16px 38px rgba(7,26,56,.24)!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:5px!important;
  cursor:pointer!important;
  transition:transform .25s ease,box-shadow .25s ease,background .25s ease!important;
}
.quick-toggle span{
  width:7px!important;
  height:7px!important;
  border-radius:50%!important;
  background:#fff!important;
  display:block!important;
  transition:transform .25s ease,opacity .2s ease!important;
}
.quick-toggle:hover{
  transform:translateY(-3px)!important;
  box-shadow:0 20px 45px rgba(7,26,56,.30)!important;
}
.quick-actions.open .quick-toggle{
  background:var(--navy)!important;
}
.quick-actions.open .quick-toggle span:nth-child(1){
  transform:translateY(6px) rotate(45deg)!important;
}
.quick-actions.open .quick-toggle span:nth-child(2){opacity:0!important}
.quick-actions.open .quick-toggle span:nth-child(3){
  transform:translateY(-6px) rotate(-45deg)!important;
}

.quick-menu{
  position:absolute!important;
  right:0!important;
  bottom:72px!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-end!important;
  gap:12px!important;
  width:210px!important;
  opacity:0!important;
  visibility:hidden!important;
  pointer-events:none!important;
  transform:translateY(12px)!important;
  transition:opacity .25s ease,transform .25s ease,visibility .25s ease!important;
}
.quick-actions.open .quick-menu{
  opacity:1!important;
  visibility:visible!important;
  pointer-events:auto!important;
  transform:translateY(0)!important;
}
.quick-item{
  display:flex!important;
  flex-direction:row-reverse!important;
  align-items:center!important;
  gap:12px!important;
  color:var(--ink)!important;
  text-decoration:none!important;
}
.quick-item .qicon{
  width:58px!important;
  height:58px!important;
  flex:0 0 58px!important;
  border-radius:50%!important;
  display:grid!important;
  place-items:center!important;
  color:#fff!important;
  box-shadow:0 12px 28px rgba(7,26,56,.20)!important;
  transition:transform .25s ease!important;
}
.quick-item:hover .qicon{transform:scale(1.07)!important}
.quick-label{
  background:#fff!important;
  border-radius:10px!important;
  padding:10px 16px!important;
  box-shadow:0 8px 24px rgba(7,26,56,.13)!important;
  font-size:15px!important;
  line-height:1!important;
  white-space:nowrap!important;
}
.quick-item svg{
  width:27px!important;
  height:27px!important;
  fill:none!important;
  stroke:currentColor!important;
  stroke-width:1.8!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
}
.quick-phone .qicon{background:#5bc653!important}
.quick-email .qicon{background:#c80b70!important}
.quick-facebook .qicon{background:#3e61a0!important}
.facebook-letter{
  font-family:Arial,sans-serif!important;
  font-weight:800!important;
  font-size:30px!important;
  line-height:1!important;
}

/* Mobile contact bar: fixed overlay, therefore it never participates
   in document layout or pushes the site's sections around. */
.mobile-action-bar{
  display:none;
}
@media(max-width:680px){
  .quick-actions{display:none!important}
  .mobile-action-bar{
    position:fixed!important;
    left:10px!important;
    right:10px!important;
    bottom:calc(10px + env(safe-area-inset-bottom))!important;
    height:64px!important;
    z-index:15000!important;
    display:grid!important;
    grid-template-columns:repeat(3,1fr)!important;
    align-items:stretch!important;
    background:rgba(255,255,255,.97)!important;
    border:1px solid rgba(7,26,56,.08)!important;
    border-radius:18px!important;
    box-shadow:0 16px 45px rgba(7,26,56,.18)!important;
    backdrop-filter:blur(16px)!important;
    overflow:hidden!important;
  }
  .mobile-action-bar a{
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:center!important;
    gap:4px!important;
    color:#17233a!important;
    font-size:10px!important;
    font-weight:700!important;
    line-height:1!important;
    text-decoration:none!important;
    border-right:1px solid rgba(7,26,56,.07)!important;
  }
  .mobile-action-bar a:last-child{border-right:0!important}
  .mobile-action-bar svg{
    width:21px!important;
    height:21px!important;
    fill:none!important;
    stroke:currentColor!important;
    stroke-width:2!important;
    stroke-linecap:round!important;
    stroke-linejoin:round!important;
  }
  /* Give scroll-to-section behaviour enough breathing room without
     adding layout height. */
  html{scroll-padding-bottom:92px!important}
}

/* Partner page: eliminate any page-specific top offset and make its
   header geometry identical to every standard internal page. */
body.partner-page{padding-top:0!important;margin-top:0!important}
.partner-page main{margin:0!important;padding:0!important}
.partner-page .pagehero{
  margin-top:78px!important;
  padding-top:92px!important;
  padding-bottom:72px!important;
  min-height:430px!important;
}

/* Christopher hero: restore contrast and make the secondary CTA readable.
   The previous generic .btn.outline background was white while its inline
   text colour was also white. */
.founder-hero-christopher h1{
  color:#fff!important;
  line-height:1.02!important;
}
.founder-hero-christopher .founder-kicker{
  color:rgba(255,255,255,.78)!important;
  opacity:1!important;
}
.founder-hero-christopher .hero-intro{
  color:rgba(255,255,255,.78)!important;
  line-height:1.72!important;
}
.founder-hero-christopher .btn.outline{
  color:#fff!important;
  background:rgba(255,255,255,.08)!important;
  border:1px solid rgba(255,255,255,.55)!important;
  box-shadow:none!important;
}
.founder-hero-christopher .btn.outline:hover{
  background:#fff!important;
  color:var(--navy)!important;
  border-color:#fff!important;
}
.founder-hero-christopher .buttons{
  gap:12px!important;
}

/* Kanisha: give the first content section a proper transition from the
   hero and restore clear section-header breathing room. */
.founder-hero-kanisha + .founder-section{
  padding-top:136px!important;
}
.founder-hero-kanisha + .founder-section .section-head{
  padding-top:0!important;
}
@media(max-width:680px){
  .founder-hero-kanisha + .founder-section{
    padding-top:96px!important;
  }
  .founder-hero-christopher .buttons{
    flex-wrap:wrap!important;
  }
  .founder-hero-christopher .btn{
    min-height:50px!important;
  }
}

/* =========================================================
   V19 — FINAL SPACING / FOUNDER TOP BREATHING ROOM / SOCIAL
   ========================================================= */

/* Fixed header is removed from normal document flow. Do NOT add a
   matching margin to pagehero or it creates a visible blank band.
   Partner was the remaining exception. */
.partner-page .pagehero{
  margin-top:0!important;
}

/* Founder heroes need intentional breathing room below the fixed
   navigation. The portrait should never touch the header edge. */
.founder-hero{
  padding-top:76px!important;
}
.founder-hero-christopher{
  padding-top:76px!important;
}
.founder-hero-kanisha{
  padding-top:76px!important;
}

/* Keep the two founder compositions vertically balanced after adding
   the top breathing room. */
.founder-hero-grid{
  padding-top:0!important;
}
.founder-hero .founder-portrait-frame,
.founder-hero .founder-art-frame{
  margin-top:0!important;
}

@media(max-width:680px){
  .partner-page .pagehero{
    margin-top:0!important;
  }
  .founder-hero,
  .founder-hero-christopher,
  .founder-hero-kanisha{
    padding-top:42px!important;
  }
}

.quick-instagram .qicon{
  background:linear-gradient(135deg,#7b2cff,#d41474 52%,#ff9d2e)!important;
}
.quick-instagram .qicon svg{
  width:27px!important;height:27px!important;
  fill:none!important;stroke:#fff!important;stroke-width:1.8!important;
  stroke-linecap:round!important;stroke-linejoin:round!important;
}

/* =========================================================
   V20.1 — VISUAL FIX AFTER SCREEN REVIEW
   ========================================================= */

.header,
.header .nav{
  top:0!important;
  height:78px!important;
}
.header .nav{margin-top:0!important}

/* Hero background begins immediately; only the CONTENT is pushed
   below the fixed navigation to create deliberate breathing room. */
.pagehero,
body.partner-page .pagehero{
  margin-top:0!important;
  padding-top:150px!important;
  padding-bottom:64px!important;
  min-height:430px!important;
}

/* Founder portraits/content must begin clearly below the navigation. */
.founder-hero,
.founder-hero-christopher,
.founder-hero-kanisha{
  margin-top:0!important;
  padding-top:150px!important;
  padding-bottom:104px!important;
}

.founder-portrait-frame,
.founder-art-frame{
  margin-top:0!important;
  top:auto!important;
  transform:none!important;
}

@media(max-width:680px){
  .header,
  .header .nav{
    height:68px!important;
    top:0!important;
  }
  .pagehero,
  body.partner-page .pagehero{
    padding-top:112px!important;
    padding-bottom:48px!important;
    min-height:350px!important;
  }
  .founder-hero,
  .founder-hero-christopher,
  .founder-hero-kanisha{
    padding-top:110px!important;
    padding-bottom:72px!important;
  }
}

/* IVM V21 — definitive navigation/page baseline */
.header,.header.scrolled{position:fixed!important;top:0!important;height:78px!important;z-index:1100!important}
.header .nav{height:78px!important;margin-top:0!important}
body.partner-page{margin:0!important;padding:0!important}
body.partner-page .pagehero{margin-top:0!important;transform:none!important;height:auto!important;min-height:430px!important;padding:150px 0 70px!important;display:flex!important;align-items:flex-end!important}
body.partner-page .pagehero .container{padding-top:0!important;padding-bottom:0!important}
body:not(.home) .pagehero{margin-top:0!important;transform:none!important}
.leadership-landing-hero{position:relative;overflow:hidden;background:linear-gradient(135deg,#061a38 0%,#0b2e57 62%,#0a3d8c 100%);color:#fff;padding:150px 0 105px;min-height:510px;display:flex;align-items:center}
.leadership-landing-hero .container{position:relative;z-index:2}.leadership-landing-hero .eyebrow{color:#a9c8ff!important;margin-bottom:22px}.leadership-landing-hero h1{font-size:clamp(52px,6.4vw,86px);line-height:.96;letter-spacing:-.055em;max-width:900px;margin:0}.leadership-landing-hero h1 span{color:#a9c8ff}.leadership-landing-hero p{font-size:19px;line-height:1.7;max-width:680px;color:rgba(255,255,255,.76);margin:28px 0 0}.leadership-orbit{position:absolute;right:-190px;top:-250px;width:780px;height:780px;border:1px solid rgba(255,255,255,.10);border-radius:50%;box-shadow:0 0 0 80px rgba(255,255,255,.025),0 0 0 170px rgba(255,255,255,.018)}.leadership-orbit:after{content:"";position:absolute;width:12px;height:12px;border-radius:50%;background:#9fc2ff;left:28%;top:47%;box-shadow:250px 90px 0 rgba(159,194,255,.6),330px -100px 0 rgba(159,194,255,.35);animation:leadershipFloat 5s ease-in-out infinite}@keyframes leadershipFloat{50%{transform:translate3d(0,-14px,0)}}
.leadership-intro .lead{max-width:680px}.leadership-people .center{margin-bottom:52px}.leadership-cards{display:grid;grid-template-columns:1fr 1fr;gap:28px;align-items:stretch}.leadership-card{display:flex;flex-direction:column;overflow:hidden;border-radius:30px;border:1px solid var(--line);background:#fff;box-shadow:0 18px 55px rgba(7,26,56,.08);transition:transform .35s ease,box-shadow .35s ease}.leadership-card:hover{transform:translateY(-7px);box-shadow:0 28px 70px rgba(7,26,56,.14)}.leadership-card-image{height:430px;overflow:hidden}.leadership-card-image img{width:100%;height:100%;object-fit:cover}.leadership-card-christopher .leadership-card-image img{object-position:center 20%}.leadership-card-kanisha .leadership-card-image img{object-position:center 25%}.leadership-card-body{padding:34px 34px 38px;display:flex;flex-direction:column;flex:1}.leadership-card-body .eyebrow{color:var(--blue);margin-bottom:13px}.leadership-card-body h3{font-size:clamp(30px,3vw,44px);line-height:1.05;margin:0 0 18px;color:var(--navy);letter-spacing:-.04em}.leadership-card-body p{font-size:16px;line-height:1.78;color:var(--muted);margin:0}.leadership-link{margin-top:auto;padding-top:28px;color:var(--blue);font-size:13px;font-weight:850}
@media(max-width:900px){.leadership-cards{grid-template-columns:1fr}.leadership-card-image{height:390px}}@media(max-width:680px){.header,.header .nav{height:68px!important}body.partner-page .pagehero{padding:112px 0 50px!important;min-height:350px!important}.leadership-landing-hero{padding:110px 0 75px;min-height:470px}.leadership-landing-hero h1{font-size:clamp(45px,12vw,62px)}.leadership-landing-hero p{font-size:16px;line-height:1.65}.leadership-card-image{height:330px}.leadership-card-body{padding:28px}}

/* =========================================================
   V22 — CANONICAL SECTION HEADER SYSTEM
   One geometry for About / Our Work / Impact / Gallery /
   Contact / Partner / Leadership / detail pages.
   ========================================================= */

body:not(.home) .pagehero,
body.partner-page .pagehero,
.leadership-landing-hero{
  margin-top:0!important;
  width:100%!important;
  height:430px!important;
  min-height:430px!important;
  max-height:none!important;
  padding:0!important;
  display:flex!important;
  align-items:center!important;
  position:relative!important;
  overflow:hidden!important;
  box-sizing:border-box!important;
}

body:not(.home) .pagehero .container,
body.partner-page .pagehero .container,
.leadership-landing-hero .container{
  width:min(var(--max),92%)!important;
  max-width:var(--max)!important;
  margin:0 auto!important;
  padding:0!important;
  position:relative!important;
  z-index:3!important;
  transform:none!important;
}

body:not(.home) .pagehero .eyebrow,
body.partner-page .pagehero .eyebrow,
.leadership-landing-hero .eyebrow{
  margin:0 0 20px!important;
  line-height:1.2!important;
  color:#a9c8ff!important;
}

body:not(.home) .pagehero h1,
body.partner-page .pagehero h1,
.leadership-landing-hero h1{
  margin:0!important;
  color:#fff!important;
  font-size:clamp(46px,5.2vw,70px)!important;
  line-height:.99!important;
  letter-spacing:-.055em!important;
  max-width:820px!important;
}

body:not(.home) .pagehero h1 span,
body.partner-page .pagehero h1 span,
.leadership-landing-hero h1 span{
  color:#a9c8ff!important;
}

body:not(.home) .pagehero p,
body.partner-page .pagehero p,
.leadership-landing-hero p{
  margin:24px 0 0!important;
  max-width:720px!important;
  color:rgba(255,255,255,.78)!important;
  font-size:18px!important;
  line-height:1.7!important;
}

/* Keep the photographic/line-art treatment consistent. */
body:not(.home) .pagehero::before,
body.partner-page .pagehero::before{
  opacity:.34!important;
  transform:scale(1.035)!important;
}
body:not(.home) .pagehero::after,
body.partner-page .pagehero::after{
  background:linear-gradient(90deg,rgba(7,26,56,.97) 0%,rgba(7,26,56,.86) 38%,rgba(7,26,56,.48) 72%,rgba(7,26,56,.68) 100%)!important;
}
body:not(.home) .pagehero .hero-line-art,
body.partner-page .pagehero .hero-line-art{
  right:-4%!important;
  top:-12%!important;
  width:58%!important;
  height:124%!important;
  opacity:.18!important;
}

/* Leadership landing now follows the same visual header system,
   while retaining its subtle orbit artwork. */
.leadership-landing-hero{
  background:linear-gradient(135deg,#061a38 0%,#0b2e57 62%,#0a3d8c 100%)!important;
  color:#fff!important;
}
.leadership-landing-hero::before,
.leadership-landing-hero::after{
  content:none!important;
}
.leadership-landing-hero .leadership-orbit{
  z-index:1!important;
  pointer-events:none!important;
}
.leadership-landing-hero h1{
  text-shadow:none!important;
}

@media(max-width:680px){
  body:not(.home) .pagehero,
  body.partner-page .pagehero,
  .leadership-landing-hero{
    height:350px!important;
    min-height:350px!important;
    padding:0!important;
  }
  body:not(.home) .pagehero .container,
  body.partner-page .pagehero .container,
  .leadership-landing-hero .container{
    width:calc(100% - 40px)!important;
    max-width:none!important;
  }
  body:not(.home) .pagehero h1,
  body.partner-page .pagehero h1,
  .leadership-landing-hero h1{
    font-size:clamp(38px,10vw,52px)!important;
    line-height:1.0!important;
  }
  body:not(.home) .pagehero p,
  body.partner-page .pagehero p,
  .leadership-landing-hero p{
    font-size:16px!important;
    line-height:1.65!important;
    margin-top:18px!important;
  }
}

/* =========================================================
   V23 — SECTION HEADER RHYTHM / LEADERSHIP BACKGROUND
   Structural centering prevents legacy container rules from
   pulling the header content up against the navigation.
   ========================================================= */

body:not(.home) .pagehero,
body.partner-page .pagehero,
.leadership-landing-hero{
  margin-top:0!important;
  height:430px!important;
  min-height:430px!important;
  padding:0!important;
  display:flex!important;
  align-items:stretch!important;
  justify-content:center!important;
  box-sizing:border-box!important;
}

body:not(.home) .pagehero > .container,
body.partner-page .pagehero > .container,
.leadership-landing-hero > .container{
  width:min(var(--max),92%)!important;
  max-width:var(--max)!important;
  height:100%!important;
  margin:0 auto!important;
  padding:0 0 0 0!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  align-items:flex-start!important;
  box-sizing:border-box!important;
  position:relative!important;
  z-index:3!important;
  transform:translateY(12px)!important;
}

/* Consistent internal rhythm — eyebrow is never glued to the hero edge. */
body:not(.home) .pagehero > .container .eyebrow,
body.partner-page .pagehero > .container .eyebrow,
.leadership-landing-hero > .container .eyebrow{
  margin:0 0 20px!important;
}

/* Leadership gets the exact same atmospheric treatment as the standard
   page headers: navy base + restrained image layer + line-art overlay. */
.leadership-landing-hero{
  background:var(--navy)!important;
  isolation:isolate!important;
}
.leadership-landing-hero::before{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  background:
    radial-gradient(circle at 82% 34%,rgba(20,85,184,.18),transparent 34%),
    linear-gradient(90deg,rgba(7,26,56,.98),rgba(7,26,56,.72) 58%,rgba(7,26,56,.90))!important;
  z-index:0!important;
}
.leadership-landing-hero::after{
  content:""!important;
  position:absolute!important;
  right:-5%!important;
  top:-18%!important;
  width:62%!important;
  height:136%!important;
  background:
    radial-gradient(circle at 54% 42%,transparent 0 28%,rgba(255,255,255,.09) 28.1%,transparent 28.35%),
    radial-gradient(circle at 54% 42%,transparent 0 38%,rgba(255,255,255,.065) 38.1%,transparent 38.35%),
    radial-gradient(circle at 54% 42%,transparent 0 48%,rgba(255,255,255,.045) 48.1%,transparent 48.35%)!important;
  z-index:1!important;
  pointer-events:none!important;
}
.leadership-landing-hero .leadership-orbit{
  display:none!important;
}

@media(max-width:680px){
  body:not(.home) .pagehero,
  body.partner-page .pagehero,
  .leadership-landing-hero{
    height:350px!important;
    min-height:350px!important;
  }
  body:not(.home) .pagehero > .container,
  body.partner-page .pagehero > .container,
  .leadership-landing-hero > .container{
    width:calc(100% - 40px)!important;
    max-width:none!important;
    transform:translateY(8px)!important;
  }
}

/* =========================================================
   V24 — LEADERSHIP = CANONICAL PAGE HEADER
   No special Leadership geometry. It must render exactly like
   About / Our Work / Impact / Gallery / Contact / Partner.
   ========================================================= */

.leadership-landing-hero{
  position:relative!important;
  overflow:hidden!important;
  isolation:isolate!important;
  width:100%!important;
  height:430px!important;
  min-height:430px!important;
  max-height:none!important;
  margin-top:0!important;
  padding:0!important;
  display:flex!important;
  align-items:center!important;
  background:var(--navy)!important;
  color:#fff!important;
}

.leadership-landing-hero::before{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  background-image:var(--hero-image)!important;
  background-size:cover!important;
  background-position:center!important;
  opacity:.34!important;
  z-index:-3!important;
  transform:scale(1.035)!important;
  animation:heroBreath 18s ease-in-out infinite!important;
}

.leadership-landing-hero::after{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  background:linear-gradient(90deg,rgba(7,26,56,.97) 0%,rgba(7,26,56,.86) 38%,rgba(7,26,56,.48) 72%,rgba(7,26,56,.68) 100%)!important;
  z-index:-2!important;
}

.leadership-landing-hero > .hero-line-art{
  position:absolute!important;
  right:-4%!important;
  top:-12%!important;
  width:58%!important;
  height:124%!important;
  z-index:-1!important;
  opacity:.18!important;
  pointer-events:none!important;
}

.leadership-landing-hero > .hero-line-art path{
  fill:none!important;
  stroke:#fff!important;
  stroke-width:1.1!important;
  stroke-opacity:.36!important;
}

.leadership-landing-hero > .hero-line-art circle{
  fill:#fff!important;
  opacity:.28!important;
}

.leadership-landing-hero > .container{
  width:min(var(--max),92%)!important;
  max-width:var(--max)!important;
  height:100%!important;
  margin:0 auto!important;
  padding:0!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  align-items:flex-start!important;
  box-sizing:border-box!important;
  position:relative!important;
  z-index:3!important;
  transform:translateY(12px)!important;
}

.leadership-landing-hero .eyebrow{
  margin:0 0 20px!important;
  color:#a9c8ff!important;
  line-height:1.2!important;
}

.leadership-landing-hero h1{
  margin:0!important;
  color:#fff!important;
  font-size:clamp(46px,5.2vw,70px)!important;
  line-height:.99!important;
  letter-spacing:-.055em!important;
  max-width:820px!important;
  text-shadow:none!important;
}

.leadership-landing-hero h1 span{
  color:#a9c8ff!important;
}

.leadership-landing-hero p{
  margin:24px 0 0!important;
  max-width:720px!important;
  color:rgba(255,255,255,.78)!important;
  font-size:18px!important;
  line-height:1.7!important;
}

/* Remove the old Leadership-only artwork completely. */
.leadership-landing-hero .leadership-orbit{
  display:none!important;
}

@media(max-width:680px){
  .leadership-landing-hero{
    height:350px!important;
    min-height:350px!important;
  }
  .leadership-landing-hero > .container{
    width:calc(100% - 40px)!important;
    max-width:none!important;
    transform:translateY(8px)!important;
  }
  .leadership-landing-hero h1{
    font-size:clamp(38px,10vw,52px)!important;
    line-height:1!important;
  }
  .leadership-landing-hero p{
    font-size:16px!important;
    line-height:1.65!important;
    margin-top:18px!important;
  }
}

/* =========================================================
   V25 — ABOUT / VISION & MISSION MOBILE REBUILD
   ========================================================= */
@media (max-width:680px){
  .section.soft:has(.vision) .center{padding-inline:4px!important}
  .section.soft:has(.vision) .center h2{max-width:340px!important;margin-inline:auto!important;line-height:1.04!important}
  .two{display:grid!important;grid-template-columns:minmax(0,1fr)!important;width:100%!important;max-width:none!important;gap:18px!important;margin-top:34px!important;padding-inline:0!important;box-sizing:border-box!important}
  .two>.vision{width:100%!important;min-width:0!important;max-width:none!important;min-height:0!important;height:auto!important;box-sizing:border-box!important;padding:34px 28px!important;border-radius:28px!important;overflow:hidden!important}
  .two>.vision h3{font-size:clamp(30px,8.4vw,42px)!important;line-height:1.08!important;letter-spacing:-.045em!important;overflow-wrap:anywhere!important;word-break:normal!important}
  .two>.vision p{font-size:17px!important;line-height:1.72!important;overflow-wrap:anywhere!important}
  .two>.vision .vision-detail{margin-top:16px!important;max-width:none!important;font-size:15px!important;line-height:1.72!important}
  .two>.vision .label{font-size:10px!important;line-height:1.3!important;margin-bottom:10px!important}
}
@media (min-width:681px) and (max-width:900px){
  .two{grid-template-columns:1fr!important}
  .two>.vision{min-height:0!important}
}

/* =========================================================
   IVM SIGNATURE HEADER — V27 BRANDED TOP ACCENT
   ========================================================= */
.header{
  position:fixed!important;
  top:0!important;
  left:0!important;
  right:0!important;
  height:104px!important;
  z-index:1200!important;
  background:rgba(255,255,255,.94)!important;
  backdrop-filter:blur(18px)!important;
  -webkit-backdrop-filter:blur(18px)!important;
  border-bottom:1px solid rgba(7,26,56,.08)!important;
  box-shadow:0 10px 35px rgba(7,26,56,.06)!important;
  transition:height .35s ease, background .35s ease, box-shadow .35s ease!important;
  overflow:visible!important;
}
.header::before{
  content:"";
  position:absolute;
  left:0;right:0;top:0;
  height:4px;
  background:linear-gradient(90deg,#f39a16 0%,#f0b52b 24%,#6b9630 50%,#16816a 72%,#175bc0 100%);
  background-size:200% 100%;
  animation:ivmAccentFlow 12s ease-in-out infinite alternate;
  z-index:3;
}
.header::after{
  content:"✦";
  position:absolute;
  top:-1px;
  left:50%;
  transform:translate(-50%,-50%);
  width:28px;height:14px;
  display:grid;place-items:center;
  color:#5d8131;
  font-size:12px;
  line-height:1;
  background:#fff;
  border-radius:0 0 14px 14px;
  z-index:4;
}
@keyframes ivmAccentFlow{0%{background-position:0% 50%}100%{background-position:100% 50%}}
.header .nav{
  height:100%!important;
  width:min(var(--container),calc(100% - 72px))!important;
  margin:0 auto!important;
  display:flex!important;
  align-items:center!important;
  gap:28px!important;
}
.brand{
  display:flex!important;
  align-items:center!important;
  gap:12px!important;
  min-width:290px!important;
  text-decoration:none!important;
  color:var(--navy)!important;
  transform:translateZ(0);
}
.brand-emblem-wrap{
  width:78px!important;
  height:78px!important;
  flex:0 0 78px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  overflow:hidden!important;
  border-radius:50%!important;
  background:#fff!important;
  box-shadow:0 5px 18px rgba(7,26,56,.08)!important;
}
.brand-logo{
  width:90px!important;
  height:63px!important;
  object-fit:cover!important;
  object-position:center top!important;
  display:block!important;
}
.brand-wordmark{display:block!important;line-height:1!important}
.brand-wordmark strong{
  display:block!important;
  font-size:16px!important;
  font-weight:900!important;
  letter-spacing:-.025em!important;
  color:#14243f!important;
  line-height:1.05!important;
}
.brand-wordmark small{
  display:block!important;
  margin-top:5px!important;
  font-size:10px!important;
  font-weight:850!important;
  letter-spacing:.18em!important;
  color:#155bc0!important;
  line-height:1!important;
}
.links{
  flex:1 1 auto!important;
  justify-content:center!important;
  gap:25px!important;
}
.links a{
  position:relative!important;
  padding:12px 0!important;
  font-size:13px!important;
  font-weight:760!important;
  color:#26364f!important;
  transition:color .25s ease,transform .25s ease!important;
}
.links a::after{
  content:"";
  position:absolute;
  left:50%;bottom:2px;
  width:0;height:2px;
  border-radius:2px;
  background:#1760c8;
  transform:translateX(-50%);
  transition:width .28s cubic-bezier(.2,.8,.2,1)!important;
}
.links a:hover{color:#155bc0!important;transform:translateY(-1px)!important}
.links a:hover::after,.links a.active::after{width:100%!important}
.header>.nav>.btn,.header .nav>.btn{
  flex:0 0 auto!important;
  min-width:144px!important;
  justify-content:center!important;
  box-shadow:0 12px 26px rgba(20,85,184,.18)!important;
}
.header.scrolled{
  height:84px!important;
  background:rgba(255,255,255,.97)!important;
  box-shadow:0 10px 30px rgba(7,26,56,.10)!important;
}
.header.scrolled .brand-emblem-wrap{width:64px!important;height:64px!important;flex-basis:64px!important}
.header.scrolled .brand-logo{width:74px!important;height:52px!important}
.header.scrolled .brand-wordmark strong{font-size:14px!important}
.header.scrolled .brand-wordmark small{font-size:9px!important;margin-top:4px!important}
.menu{color:#0b2143!important;font-size:27px!important;line-height:1!important}
.mobile-drawer-brand{
  display:flex!important;
  align-items:center!important;
  gap:11px!important;
  color:#fff!important;
  text-decoration:none!important;
}
.mobile-drawer-brand img{
  width:58px!important;
  height:42px!important;
  object-fit:cover!important;
  object-position:center top!important;
  border-radius:50%!important;
  background:#fff!important;
}
.mobile-drawer-brand span{display:block!important}
.mobile-drawer-brand strong{display:block!important;font-size:14px!important;line-height:1.05!important;letter-spacing:-.02em!important}
.mobile-drawer-brand small{display:block!important;color:#8fb9ff!important;font-size:8px!important;letter-spacing:.16em!important;margin-top:4px!important}
.mobile-drawer::before{
  background:linear-gradient(180deg,rgba(5,20,42,.80),rgba(5,20,42,.97)),url('assets/images/ivm-emblem-header.png') right bottom/700px auto no-repeat!important;
  opacity:.95!important;
}
@media(max-width:1100px){
  .header{height:88px!important}
  .header .nav{width:calc(100% - 44px)!important}
  .brand{min-width:auto!important}
  .links{gap:16px!important}
  .links a{font-size:12px!important}
  .brand-emblem-wrap{width:68px!important;height:68px!important;flex-basis:68px!important}
  .brand-logo{width:78px!important;height:55px!important}
  .brand-wordmark strong{font-size:14px!important}
}
@media(max-width:1000px){
  .header{height:78px!important}
  .header .nav{width:calc(100% - 36px)!important}
  .brand{gap:9px!important}
  .brand-emblem-wrap{width:58px!important;height:58px!important;flex-basis:58px!important}
  .brand-logo{width:68px!important;height:48px!important}
  .brand-wordmark strong{font-size:12px!important}
  .brand-wordmark small{font-size:8px!important;letter-spacing:.14em!important}
  .links,.header .nav>.btn{display:none!important}
  .menu{display:block!important;margin-left:auto!important;width:46px!important;height:46px!important}
  .header::after{left:auto;right:30px;transform:translate(0,-50%)}
}
@media(max-width:680px){
  .header{height:70px!important}
  .header::before{height:3px}
  .header .nav{height:70px!important;width:calc(100% - 28px)!important}
  .brand-emblem-wrap{width:52px!important;height:52px!important;flex-basis:52px!important;box-shadow:none!important}
  .brand-logo{width:61px!important;height:43px!important}
  .brand-wordmark strong{font-size:11px!important}
  .brand-wordmark small{font-size:7px!important;margin-top:3px!important}
  .menu{width:42px!important;height:42px!important;font-size:25px!important}
  .header::after{right:24px}
  .mobile-drawer-inner{padding:22px 22px 20px!important}
}

/* =========================================================
   V28.1 — IVM FULL EMBLEM HEADER + CANONICAL HERO HANDOFF
   ========================================================= */

/* Keep the detailed supplied IVM artwork intact — never crop it into a circle. */
.header .brand{
  min-width:0!important;
  width:auto!important;
  gap:0!important;
}
.header .brand-emblem-wrap{
  width:142px!important;
  height:88px!important;
  flex:0 0 142px!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  overflow:visible!important;
}
.header .brand-logo{
  width:142px!important;
  height:88px!important;
  object-fit:contain!important;
  object-position:center!important;
  border-radius:0!important;
}
/* The supplied logo already contains the INDIAN VILLAGE MOVEMENT wordmark. */
.header .brand-wordmark{display:none!important}

/* Top signature stripe: animated colour travel + a soft moving highlight. */
.header::before{
  height:4px!important;
  background:
    linear-gradient(90deg,
      #f29a18 0%,
      #f4bd35 20%,
      #739d35 43%,
      #16836b 63%,
      #1762c5 82%,
      #f29a18 100%)!important;
  background-size:300% 100%!important;
  animation:ivmSignatureStripe 10s linear infinite!important;
}
.header::after{
  content:"✦"!important;
  width:24px!important;
  height:13px!important;
  color:#6f9635!important;
  background:#fff!important;
  animation:ivmAccentSpark 4s ease-in-out infinite!important;
}
@keyframes ivmSignatureStripe{
  0%{background-position:0% 50%}
  50%{background-position:50% 50%}
  100%{background-position:100% 50%}
}
@keyframes ivmAccentSpark{
  0%,100%{opacity:.65;transform:translate(-50%,-50%) scale(.9)}
  50%{opacity:1;transform:translate(-50%,-50%) scale(1.15)}
}

/* Desktop header proportions after moving to the complete logo. */
@media(min-width:1101px){
  .header{height:104px!important}
  .header .nav{height:104px!important}
  .header .links{margin-left:auto!important}
}
@media(max-width:1100px){
  .header{height:88px!important}
  .header .nav{height:88px!important}
  .header .brand-emblem-wrap{width:124px!important;height:78px!important;flex-basis:124px!important}
  .header .brand-logo{width:124px!important;height:78px!important}
}
@media(max-width:680px){
  .header{height:72px!important}
  .header .nav{height:72px!important}
  .header .brand-emblem-wrap{width:112px!important;height:68px!important;flex-basis:112px!important}
  .header .brand-logo{width:112px!important;height:68px!important}
}

/* ---------------------------------------------------------
   Canonical page-header handoff.
   The fixed navigation overlays the top of the hero; it does NOT
   consume layout space. This prevents double padding/margins and
   keeps every page header on exactly the same vertical baseline.
   --------------------------------------------------------- */
body:not(.home) .pagehero,
body.partner-page .pagehero,
.leadership-landing-hero{
  margin-top:0!important;
  position:relative!important;
  box-sizing:border-box!important;
}
body:not(.home) .pagehero > .container,
body.partner-page .pagehero > .container,
.leadership-landing-hero > .container{
  box-sizing:border-box!important;
  padding-top:0!important;
  padding-bottom:0!important;
  transform:none!important;
}

/* Header overlays the hero; the hero itself owns all of its internal breathing room. */
body:not(.home) .pagehero{
  padding:104px 0 64px!important;
  min-height:430px!important;
  height:430px!important;
}
body:not(.home) .pagehero > .container{
  min-height:100%!important;
  justify-content:center!important;
}
.leadership-landing-hero{
  padding:104px 0 64px!important;
  min-height:430px!important;
  height:430px!important;
}
.leadership-landing-hero > .container{
  min-height:100%!important;
  justify-content:center!important;
}

@media(max-width:680px){
  body:not(.home) .pagehero,
  body.partner-page .pagehero,
  .leadership-landing-hero{
    margin-top:0!important;
    height:360px!important;
    min-height:360px!important;
    padding:72px 0 48px!important;
  }
  body:not(.home) .pagehero > .container,
  body.partner-page .pagehero > .container,
  .leadership-landing-hero > .container{
    min-height:100%!important;
    justify-content:center!important;
  }
}

/* V28.2 — final hero geometry: no compensating top padding.
   The fixed header overlays the hero, while the hero centers its own content. */
body:not(.home) .pagehero,
body.partner-page .pagehero,
.leadership-landing-hero{
  padding:0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
}
body:not(.home) .pagehero > .container,
body.partner-page .pagehero > .container,
.leadership-landing-hero > .container{
  height:100%!important;
  min-height:0!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  align-items:flex-start!important;
  padding:0!important;
}

/* Mobile drawer uses the complete logo too; never crop the artwork. */
.mobile-drawer-brand img{
  width:118px!important;
  height:70px!important;
  object-fit:contain!important;
  object-position:center!important;
  border-radius:0!important;
  background:transparent!important;
}
.mobile-drawer-brand span{margin-left:-5px!important}
@media(max-width:680px){
  body:not(.home) .pagehero,
  body.partner-page .pagehero,
  .leadership-landing-hero{height:360px!important;min-height:360px!important;padding:0!important}
}


/* =========================================================
   V29 — IVM 3.PNG BRAND HEADER / HERO HANDOFF
   The supplied 3.png is the source of truth for the header logo.
   The logo is never cropped, circularized or separated from its wordmark.
   ========================================================= */
:root{--ivm-header-h:132px}
.header{
  position:fixed!important;
  inset:0 0 auto 0!important;
  height:var(--ivm-header-h)!important;
  z-index:1200!important;
  background:rgba(255,255,255,.94)!important;
  backdrop-filter:blur(16px)!important;
  -webkit-backdrop-filter:blur(16px)!important;
  border-bottom:1px solid rgba(7,26,56,.07)!important;
  box-shadow:0 10px 32px rgba(7,26,56,.055)!important;
  overflow:visible!important;
}
/* animated IVM signature stripe */
.header::before{
  content:""!important;
  position:absolute!important;
  left:0!important;right:0!important;top:0!important;
  height:4px!important;
  background:linear-gradient(90deg,#f39212 0%,#f5bd34 19%,#759b32 43%,#23846a 64%,#175fc2 83%,#f39212 100%)!important;
  background-size:300% 100%!important;
  animation:ivmTopStripe 9s linear infinite!important;
  z-index:5!important;
}
@keyframes ivmTopStripe{0%{background-position:0 50%}50%{background-position:50% 50%}100%{background-position:100% 50%}}
/* tiny central botanical break in the stripe */
.header::after{
  content:""!important;
  position:absolute!important;
  top:0!important;left:50%!important;
  width:42px!important;height:10px!important;
  transform:translateX(-50%)!important;
  background:#fff!important;
  border-radius:0 0 18px 18px!important;
  z-index:6!important;
  box-shadow:0 0 0 0 transparent!important;
}
.header .nav{
  width:min(var(--max),calc(100% - 72px))!important;
  height:100%!important;
  margin:0 auto!important;
  display:flex!important;
  align-items:center!important;
  gap:28px!important;
}
.header .brand{
  position:relative!important;
  width:205px!important;
  height:100%!important;
  min-width:205px!important;
  display:flex!important;
  align-items:center!important;
  gap:0!important;
  overflow:visible!important;
  flex:0 0 205px!important;
}
.header .brand-emblem-wrap{
  width:205px!important;height:174px!important;flex:0 0 205px!important;
  display:flex!important;align-items:center!important;justify-content:center!important;
  overflow:visible!important;border:0!important;border-radius:0!important;
  background:transparent!important;box-shadow:none!important;
  transform:translateY(13px)!important;
}
.header .brand-logo{
  width:205px!important;height:174px!important;
  max-width:none!important;max-height:none!important;
  object-fit:contain!important;object-position:center!important;
  border-radius:0!important;display:block!important;
}
.header .brand-wordmark{display:none!important}
.header .links{
  flex:1 1 auto!important;
  display:flex!important;align-items:center!important;justify-content:center!important;
  gap:26px!important;margin-left:8px!important;
}
.header .links a{
  position:relative!important;padding:12px 0!important;
  color:#25344d!important;font-size:13px!important;font-weight:780!important;
  transition:color .25s ease,transform .25s ease!important;
}
.header .links a::after{
  content:""!important;position:absolute!important;left:50%!important;bottom:2px!important;
  width:0!important;height:3px!important;border-radius:999px!important;
  background:#155bc0!important;transform:translateX(-50%)!important;
  transition:width .28s cubic-bezier(.2,.8,.2,1)!important;
}
.header .links a:hover{color:#155bc0!important;transform:translateY(-1px)!important}
.header .links a:hover::after,.header .links a.active::after{width:100%!important}
.header .links a.active{color:#155bc0!important}
.header .nav>.btn{
  flex:0 0 auto!important;min-width:150px!important;
  justify-content:center!important;padding:16px 23px!important;
  box-shadow:0 14px 30px rgba(20,85,184,.18)!important;
}
.header.scrolled{height:94px!important;background:rgba(255,255,255,.98)!important;box-shadow:0 8px 28px rgba(7,26,56,.09)!important}
.header.scrolled .brand{width:160px!important;min-width:160px!important;flex-basis:160px!important}
.header.scrolled .brand-emblem-wrap{width:160px!important;height:136px!important;flex-basis:160px!important;transform:translateY(8px)!important}
.header.scrolled .brand-logo{width:160px!important;height:136px!important}
.header.scrolled .links{gap:23px!important}

/* The hero starts at document top and sits UNDER the fixed header.
   Only the hero CONTENT gets a header-safe inset. The section itself is
   never pushed down by margin-top or a second header spacer. */
body:not(.home) .pagehero,
body.partner-page .pagehero,
.leadership-landing-hero{
  margin-top:0!important;
  position:relative!important;
  min-height:500px!important;
  height:500px!important;
  padding:calc(var(--ivm-header-h) + 18px) 0 64px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  box-sizing:border-box!important;
  overflow:hidden!important;
}
body:not(.home) .pagehero>.container,
body.partner-page .pagehero>.container,
.leadership-landing-hero>.container{
  width:min(var(--max),92%)!important;
  height:auto!important;
  min-height:0!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  align-items:flex-start!important;
  padding:0!important;
  transform:none!important;
}
body:not(.home) .pagehero .eyebrow,
body.partner-page .pagehero .eyebrow,
.leadership-landing-hero .eyebrow{margin-bottom:20px!important}
body:not(.home) .pagehero h1,
body.partner-page .pagehero h1,
.leadership-landing-hero h1{max-width:820px!important}
body:not(.home) .pagehero p,
body.partner-page .pagehero p,
.leadership-landing-hero p{max-width:760px!important;line-height:1.7!important;margin-top:24px!important}

/* Mobile: preserve the full logo without letting it determine page flow. */
@media(max-width:1100px){
  :root{--ivm-header-h:112px}
  .header{height:112px!important}
  .header .nav{width:calc(100% - 44px)!important}
  .header .brand{width:165px!important;min-width:165px!important;flex-basis:165px!important}
  .header .brand-emblem-wrap{width:165px!important;height:140px!important;flex-basis:165px!important;transform:translateY(10px)!important}
  .header .brand-logo{width:165px!important;height:140px!important}
  .header .links,.header .nav>.btn{display:none!important}
  .header .menu{display:block!important;margin-left:auto!important;width:48px!important;height:48px!important;font-size:28px!important;color:#092044!important}
  body:not(.home) .pagehero,body.partner-page .pagehero,.leadership-landing-hero{min-height:470px!important;height:470px!important;padding:calc(var(--ivm-header-h) + 12px) 0 54px!important}
}
@media(max-width:680px){
  :root{--ivm-header-h:108px}
  .header{height:108px!important}
  .header .nav{width:calc(100% - 28px)!important;height:108px!important}
  .header .brand{width:145px!important;min-width:145px!important;flex-basis:145px!important}
  .header .brand-emblem-wrap{width:145px!important;height:123px!important;flex-basis:145px!important;transform:translateY(8px)!important}
  .header .brand-logo{width:145px!important;height:123px!important}
  .header .menu{width:46px!important;height:46px!important;font-size:27px!important}
  body:not(.home) .pagehero,body.partner-page .pagehero,.leadership-landing-hero{min-height:430px!important;height:auto!important;padding:calc(var(--ivm-header-h) + 26px) 0 58px!important}
  body:not(.home) .pagehero>.container,body.partner-page .pagehero>.container,.leadership-landing-hero>.container{width:calc(100% - 36px)!important}
  body:not(.home) .pagehero h1,body.partner-page .pagehero h1,.leadership-landing-hero h1{font-size:clamp(42px,12vw,58px)!important;line-height:1.02!important}
  body:not(.home) .pagehero p,body.partner-page .pagehero p,.leadership-landing-hero p{font-size:17px!important;line-height:1.68!important;margin-top:20px!important}
  .header.scrolled{height:88px!important}
  .header.scrolled .brand{width:125px!important;min-width:125px!important;flex-basis:125px!important}
  .header.scrolled .brand-emblem-wrap{width:125px!important;height:106px!important;flex-basis:125px!important}
  .header.scrolled .brand-logo{width:125px!important;height:106px!important}
}


/* =========================================================
   V30 — CANONICAL IVM HEADER / PAGE-HEADER SYSTEM
   The header is part of normal document flow. The page header
   begins AFTER it; no hero padding is used to compensate for
   a fixed navigation layer.
   ========================================================= */

:root{
  --ivm-header-height:154px;
  --ivm-header-height-mobile:148px;
}

/* Header: normal flow + sticky on scroll. */
.header,
.header.scrolled{
  position:sticky!important;
  top:0!important;
  left:auto!important;
  right:auto!important;
  width:100%!important;
  height:var(--ivm-header-height)!important;
  min-height:var(--ivm-header-height)!important;
  margin:0!important;
  z-index:1100!important;
  background:rgba(255,255,255,.96)!important;
  backdrop-filter:blur(18px)!important;
  -webkit-backdrop-filter:blur(18px)!important;
  border-bottom:1px solid rgba(7,26,56,.08)!important;
  box-shadow:0 8px 30px rgba(7,26,56,.055)!important;
  transition:background .3s ease,box-shadow .3s ease!important;
}

/* Animated IVM signature stripe. */
.header::before{
  content:""!important;
  position:absolute!important;
  top:0!important;
  left:0!important;
  right:0!important;
  width:100%!important;
  height:4px!important;
  display:block!important;
  background:linear-gradient(90deg,#f28b18 0%,#f3bd32 22%,#7b9f38 43%,#2f8c68 62%,#1761c5 82%,#f28b18 100%)!important;
  background-size:240% 100%!important;
  animation:ivmHeaderStripe 8s linear infinite!important;
  z-index:5!important;
}
.header::after{
  content:""!important;
  position:absolute!important;
  top:4px!important;
  left:0!important;
  width:100%!important;
  height:1px!important;
  background:rgba(255,255,255,.8)!important;
  opacity:.7!important;
  pointer-events:none!important;
}
@keyframes ivmHeaderStripe{
  0%{background-position:0% 50%}
  100%{background-position:240% 50%}
}

.header .nav{
  height:100%!important;
  width:min(1380px,calc(100% - 64px))!important;
  margin:0 auto!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:32px!important;
  padding:0!important;
}

/* Exact 3.png — full artwork, never cropped. */
.header .brand{
  width:205px!important;
  min-width:205px!important;
  height:100%!important;
  flex:0 0 205px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:0!important;
  overflow:visible!important;
  margin:0!important;
  padding:0!important;
}
.header .brand-emblem-wrap{
  width:205px!important;
  height:145px!important;
  flex:0 0 205px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  overflow:visible!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  transform:none!important;
}
.header .brand-logo{
  display:block!important;
  width:205px!important;
  height:auto!important;
  max-width:none!important;
  max-height:145px!important;
  aspect-ratio:auto!important;
  object-fit:contain!important;
  object-position:center!important;
  border-radius:0!important;
}
.header .brand-wordmark{display:none!important}

/* Navigation is centered in the remaining header space. */
.header .links{
  flex:1 1 auto!important;
  min-width:0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:27px!important;
  margin:0!important;
}
.header .links a{
  position:relative!important;
  display:inline-flex!important;
  align-items:center!important;
  height:48px!important;
  padding:0!important;
  margin:0!important;
  color:#25344d!important;
  font-size:13px!important;
  line-height:1!important;
  font-weight:780!important;
  white-space:nowrap!important;
  transition:color .25s ease,transform .25s ease!important;
}
.header .links a::after{
  content:""!important;
  position:absolute!important;
  left:50%!important;
  bottom:5px!important;
  width:0!important;
  height:3px!important;
  border-radius:999px!important;
  background:#155bc0!important;
  transform:translateX(-50%)!important;
  transition:width .28s cubic-bezier(.2,.8,.2,1)!important;
}
.header .links a:hover,
.header .links a.active{
  color:#155bc0!important;
  transform:translateY(-1px)!important;
}
.header .links a:hover::after,
.header .links a.active::after{
  width:100%!important;
}

.header .nav>.btn{
  flex:0 0 auto!important;
  min-width:150px!important;
  padding:16px 23px!important;
  justify-content:center!important;
  margin:0!important;
}

/* Scroll state changes styling, not document geometry. */
.header.scrolled{
  background:rgba(255,255,255,.985)!important;
  box-shadow:0 10px 32px rgba(7,26,56,.09)!important;
}
.header.scrolled .brand,
.header.scrolled .brand-emblem-wrap{
  width:205px!important;
  min-width:205px!important;
  flex-basis:205px!important;
  height:100%!important;
  transform:none!important;
}
.header.scrolled .brand-logo{
  width:185px!important;
  max-height:132px!important;
}

/* Page headers: start after the header, with their own consistent padding. */
body:not(.home) .pagehero,
body.partner-page .pagehero,
.leadership-landing-hero{
  position:relative!important;
  margin:0!important;
  width:100%!important;
  min-height:430px!important;
  height:auto!important;
  padding:54px 0 78px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  box-sizing:border-box!important;
  overflow:hidden!important;
  transform:none!important;
}
body:not(.home) .pagehero>.container,
body.partner-page .pagehero>.container,
.leadership-landing-hero>.container{
  width:min(1220px,calc(100% - 64px))!important;
  margin:0 auto!important;
  padding:0!important;
  min-height:0!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  align-items:flex-start!important;
  position:relative!important;
  z-index:3!important;
}
body:not(.home) .pagehero .eyebrow,
body.partner-page .pagehero .eyebrow,
.leadership-landing-hero .eyebrow{
  margin:0 0 20px!important;
}
body:not(.home) .pagehero h1,
body.partner-page .pagehero h1,
.leadership-landing-hero h1{
  margin:0!important;
  max-width:820px!important;
  line-height:1.02!important;
}
body:not(.home) .pagehero p,
body.partner-page .pagehero p,
.leadership-landing-hero p{
  margin:22px 0 0!important;
  max-width:760px!important;
  line-height:1.72!important;
}

/* Keep the same dark visual language on every page header. */
.pagehero{
  background:var(--navy)!important;
}

@media(max-width:1100px){
  :root{--ivm-header-height:138px}
  .header,.header.scrolled{
    height:var(--ivm-header-height)!important;
    min-height:var(--ivm-header-height)!important;
  }
  .header .nav{
    width:calc(100% - 44px)!important;
  }
  .header .brand{
    width:178px!important;
    min-width:178px!important;
    flex-basis:178px!important;
  }
  .header .brand-emblem-wrap{
    width:178px!important;
    height:126px!important;
    flex-basis:178px!important;
  }
  .header .brand-logo{
    width:178px!important;
    max-height:126px!important;
  }
  .header .links,.header .nav>.btn{display:none!important}
  .header .menu{
    display:grid!important;
    place-items:center!important;
    margin-left:auto!important;
    width:48px!important;
    height:48px!important;
    padding:0!important;
    border:0!important;
    background:transparent!important;
    color:#092044!important;
    font-size:30px!important;
    line-height:1!important;
  }
  body:not(.home) .pagehero,
  body.partner-page .pagehero,
  .leadership-landing-hero{
    min-height:400px!important;
    padding:48px 0 62px!important;
  }
}

@media(max-width:680px){
  :root{--ivm-header-height:148px}
  .header,.header.scrolled{
    height:var(--ivm-header-height)!important;
    min-height:var(--ivm-header-height)!important;
  }
  .header .nav{
    width:calc(100% - 28px)!important;
    height:100%!important;
  }
  .header .brand,
  .header.scrolled .brand{
    width:154px!important;
    min-width:154px!important;
    flex-basis:154px!important;
    height:100%!important;
  }
  .header .brand-emblem-wrap,
  .header.scrolled .brand-emblem-wrap{
    width:154px!important;
    height:132px!important;
    flex-basis:154px!important;
    transform:none!important;
  }
  .header .brand-logo,
  .header.scrolled .brand-logo{
    width:154px!important;
    max-height:132px!important;
  }
  .header .menu{
    width:48px!important;
    height:48px!important;
    font-size:29px!important;
  }
  body:not(.home) .pagehero,
  body.partner-page .pagehero,
  .leadership-landing-hero{
    min-height:0!important;
    height:auto!important;
    padding:44px 0 58px!important;
    align-items:flex-start!important;
  }
  body:not(.home) .pagehero>.container,
  body.partner-page .pagehero>.container,
  .leadership-landing-hero>.container{
    width:calc(100% - 36px)!important;
  }
  body:not(.home) .pagehero h1,
  body.partner-page .pagehero h1,
  .leadership-landing-hero h1{
    font-size:clamp(40px,11vw,58px)!important;
    line-height:1.02!important;
  }
  body:not(.home) .pagehero p,
  body.partner-page .pagehero p,
  .leadership-landing-hero p{
    font-size:17px!important;
    line-height:1.68!important;
    margin-top:20px!important;
  }
}

/* V31 — mobile header scroll behavior + gallery lightbox */
@media (max-width:680px){
  /* Mobile header stays at the top of the document; it does NOT follow the scroll. */
  .header,
  .header.scrolled{
    position:absolute!important;
    top:0!important;
    left:0!important;
    right:0!important;
    height:78px!important;
    z-index:1100!important;
  }
  .pagehero{margin-top:78px!important;}
  .hero{padding-top:78px!important;}
}

/* Gallery lightbox */
.ivm-lightbox{
  position:fixed;
  inset:0;
  z-index:3000;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:28px;
  background:rgba(3,15,34,.92);
  backdrop-filter:blur(12px);
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:opacity .28s ease, visibility .28s ease;
}
.ivm-lightbox.is-open{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
}
.ivm-lightbox img{
  display:block;
  max-width:min(94vw,1400px);
  max-height:88vh;
  width:auto;
  height:auto;
  object-fit:contain;
  border-radius:18px;
  box-shadow:0 30px 100px rgba(0,0,0,.5);
  transform:scale(.96);
  transition:transform .3s ease;
}
.ivm-lightbox.is-open img{transform:scale(1)}
.ivm-lightbox-close{
  position:absolute;
  top:20px;
  right:24px;
  width:46px;
  height:46px;
  border:1px solid rgba(255,255,255,.28);
  border-radius:50%;
  background:rgba(255,255,255,.1);
  color:#fff;
  font-size:30px;
  line-height:1;
  cursor:pointer;
  display:grid;
  place-items:center;
}
.ivm-lightbox-caption{
  position:absolute;
  left:50%;
  bottom:22px;
  transform:translateX(-50%);
  color:#fff;
  font-size:13px;
  font-weight:700;
  letter-spacing:.04em;
  text-align:center;
  max-width:80vw;
}
.gallery-story-media img,
.masonry-item img,
.gallery-item img{cursor:zoom-in}
@media(max-width:680px){
  .ivm-lightbox{padding:18px}
  .ivm-lightbox img{max-width:94vw;max-height:78vh;border-radius:12px}
  .ivm-lightbox-close{top:14px;right:14px;width:42px;height:42px;font-size:26px}
}
body.lightbox-open{overflow:hidden}

/* =========================================================
   V32 — MOBILE HEADER / SECTION-HEADER SPACING + LIGHTBOX NAV
   ========================================================= */
@media(max-width:680px){
  /* Mobile header is deliberately NOT sticky/fixed. It occupies its own
     document space and scrolls away naturally with the page. */
  .header,
  .header.scrolled{
    position:relative!important;
    top:auto!important;
    left:auto!important;
    right:auto!important;
    height:148px!important;
    min-height:148px!important;
    margin:0!important;
    transform:none!important;
    box-shadow:0 5px 18px rgba(7,26,56,.06)!important;
  }
  .header .nav{
    height:148px!important;
    width:calc(100% - 28px)!important;
  }
  .header .brand,
  .header.scrolled .brand{
    width:150px!important;
    min-width:150px!important;
    flex-basis:150px!important;
    height:148px!important;
  }
  .header .brand-emblem-wrap,
  .header.scrolled .brand-emblem-wrap{
    width:150px!important;
    height:130px!important;
    flex-basis:150px!important;
    transform:none!important;
  }
  .header .brand-logo,
  .header.scrolled .brand-logo{
    width:150px!important;
    max-width:none!important;
    height:auto!important;
    max-height:130px!important;
  }
  .header .menu{
    width:46px!important;
    height:46px!important;
    font-size:28px!important;
  }

  /* The section header begins immediately after the normal-flow header.
     Do not compensate with a fake margin equal to the header height. */
  body:not(.home) .pagehero,
  body.partner-page .pagehero,
  .leadership-landing-hero{
    margin-top:0!important;
    position:relative!important;
    height:auto!important;
    min-height:360px!important;
    padding:52px 0 58px!important;
    display:flex!important;
    align-items:center!important;
    transform:none!important;
  }
  body:not(.home) .pagehero>.container,
  body.partner-page .pagehero>.container,
  .leadership-landing-hero>.container{
    width:calc(100% - 36px)!important;
    padding:0!important;
    margin:0 auto!important;
  }

  /* Reduce the first block after the section header. This removes the
     large mobile-only white gap while keeping normal section rhythm. */
  .pagehero + .section,
  body.partner-page .pagehero + .section,
  .leadership-landing-hero + .section{
    padding-top:58px!important;
  }
  .pagehero + .section .section-head,
  body.partner-page .pagehero + .section .section-head{
    margin-top:0!important;
  }
}

/* Lightbox navigation for desktop + mobile. */
.ivm-lightbox-stage{
  display:flex;
  align-items:center;
  justify-content:center;
  width:min(94vw,1400px);
  height:88vh;
}
.ivm-lightbox-stage img{
  max-width:100%!important;
  max-height:100%!important;
}
.ivm-lightbox-nav{
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  width:54px;
  height:54px;
  border:1px solid rgba(255,255,255,.3);
  border-radius:50%;
  background:rgba(255,255,255,.11);
  color:#fff;
  font-size:42px;
  line-height:1;
  cursor:pointer;
  display:grid;
  place-items:center;
  z-index:2;
  transition:background .2s ease,transform .2s ease;
}
.ivm-lightbox-nav:hover{
  background:rgba(255,255,255,.22);
}
.ivm-lightbox-prev{left:24px}
.ivm-lightbox-next{right:24px}
.ivm-lightbox-nav:disabled{opacity:.35;cursor:default}
.ivm-lightbox-count{
  position:absolute;
  top:22px;
  left:50%;
  transform:translateX(-50%);
  color:rgba(255,255,255,.85);
  font-size:12px;
  font-weight:800;
  letter-spacing:.08em;
}
@media(max-width:680px){
  .ivm-lightbox-stage{width:94vw;height:78vh}
  .ivm-lightbox-nav{width:44px;height:44px;font-size:34px}
  .ivm-lightbox-prev{left:10px}
  .ivm-lightbox-next{right:10px}
  .ivm-lightbox-count{top:12px}
}


/* V33 — Home gallery section: tighter section header only on the homepage.
   Other pages keep the established section spacing unchanged. */
.home-gallery-section{padding-top:82px!important;padding-bottom:104px!important}
.home-gallery-section .center .eyebrow{margin-bottom:14px!important}
.home-gallery-section .center h2{line-height:1.02!important}
@media(max-width:680px){
  .home-gallery-section{padding-top:58px!important;padding-bottom:82px!important}
  .home-gallery-section .center .eyebrow{margin-bottom:12px!important}
}


/* V34 — Homepage-only hero height reduction.
   Scoped to home-page so no other page section/header is affected. */
body.home-page .hero{
  min-height:760px!important;
  padding-top:68px!important;
  padding-bottom:56px!important;
}
body.home-page .hero-grid{
  min-height:650px!important;
}
@media(max-width:1000px){
  body.home-page .hero{min-height:auto!important;padding-bottom:28px!important;}
  body.home-page .hero-grid{min-height:auto!important;}
}
@media(max-width:680px){
  body.home-page .hero{padding-top:68px!important;padding-bottom:18px!important;}
  body.home-page .hero-copy{padding-top:30px!important;padding-bottom:10px!important;}
  body.home-page .hero-stage{height:390px!important;}
}

/* V34 — Leadership uses the exact same closing marquee/footer block as the homepage. */
body:not(.home-page) .closing-marquee + .footer{margin-top:0!important;}

/* V35 — unified footer logo */
.footer-brand-lockup{display:flex;align-items:center;gap:14px}
.footer-logo{
  width:92px;
  height:78px;
  object-fit:contain;
  object-position:center;
  flex:0 0 auto;
  display:block;
}
.footer-brand-copy{display:block}
@media (max-width:700px){
  .footer-logo{width:82px;height:70px}
}

/* V35 refinement — use the supplied complete 3.png mark in the footer without duplicating its wordmark. */
.footer-brand-lockup{align-items:center;gap:18px}
.footer-logo{width:142px;height:96px;object-fit:contain;object-position:center;display:block;flex:0 0 auto}
.footer-brand-copy small{display:block;color:#78aaff;font-size:9px;letter-spacing:.14em;line-height:1.4;margin-top:0;white-space:nowrap}
@media(max-width:700px){
  .footer-brand-lockup{gap:14px}
  .footer-logo{width:118px;height:82px}
  .footer-brand-copy small{font-size:8px;white-space:normal}
}

/* =========================================================
   V36 — FOOTER BRAND PRESENCE
   Use the supplied 3.png as the complete logo lockup.
   The supporting line sits beneath the logo so the artwork
   remains large and legible instead of being squeezed beside it.
   ========================================================= */
.footer-brand-lockup{
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  justify-content:flex-start!important;
  gap:10px!important;
  width:max-content;
  max-width:100%;
}
.footer-logo{
  width:190px!important;
  height:161px!important;
  max-width:100%;
  object-fit:contain!important;
  object-position:center!important;
  display:block!important;
  flex:0 0 auto!important;
}
.footer-brand-copy{
  display:block!important;
  padding-left:3px;
}
.footer-brand-copy small{
  display:block!important;
  color:#8ebcff!important;
  font-size:10px!important;
  font-weight:800!important;
  letter-spacing:.16em!important;
  line-height:1.4!important;
  margin:0!important;
  white-space:nowrap!important;
}
.footer-lead>p{
  margin-top:20px!important;
}
@media(max-width:700px){
  .footer-brand-lockup{gap:8px!important}
  .footer-logo{
    width:158px!important;
    height:134px!important;
  }
  .footer-brand-copy small{
    font-size:8px!important;
    white-space:normal!important;
  }
  .footer-lead>p{margin-top:18px!important}
}

/* =========================================================
   V37 — EXTENDED FOOTER REDESIGN
   CTA remains a separate section above the closing marquee.
   Footer itself is now a compact, intentional brand/navigation
   system rather than a second CTA.
   ========================================================= */
.footer-main-redesign{
  grid-template-columns:minmax(280px,1.45fr) .72fr .72fr minmax(230px,1fr)!important;
  align-items:start!important;
  gap:54px!important;
  padding-top:18px!important;
}
.footer-brand-block{min-width:0}
.footer-brand-lockup{
  display:inline-flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  justify-content:flex-start!important;
  gap:10px!important;
  width:auto!important;
  max-width:210px!important;
  text-decoration:none!important;
}
.footer-brand-lockup .footer-logo{
  width:190px!important;
  height:161px!important;
  max-width:100%!important;
  object-fit:contain!important;
  object-position:center!important;
  display:block!important;
}
.footer-brand-tagline{
  color:#8ebcff!important;
  font-size:9px!important;
  font-weight:900!important;
  letter-spacing:.16em!important;
  line-height:1.4!important;
  white-space:nowrap!important;
  padding-left:2px;
}
.footer-description{
  max-width:360px!important;
  margin:20px 0 0!important;
  color:rgba(255,255,255,.58)!important;
  font-size:13px!important;
  line-height:1.7!important;
}
.footer-main-redesign .footer-column{padding-top:10px!important}
.footer-main-redesign .footer-label{margin-bottom:12px!important}
.footer-main-redesign .footer-column a{margin:5px 0!important}
.footer-main-redesign .footer-contact p{margin-bottom:12px!important}
.footer-bottom{
  margin-top:54px!important;
  padding-top:20px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:24px!important;
}
.footer-meta{display:flex;align-items:center;gap:28px;min-width:0}
.footer-meta span{white-space:nowrap}
.footer-socials{margin-left:auto!important;flex:0 0 auto}

@media(max-width:900px){
  .footer-main-redesign{
    grid-template-columns:1fr 1fr!important;
    gap:38px 28px!important;
    padding-top:10px!important;
  }
  .footer-brand-block{grid-column:1/-1}
  .footer-description{max-width:520px!important}
  .footer-bottom{margin-top:42px!important}
}
@media(max-width:600px){
  .footer{padding:64px 0 24px!important}
  .footer-main-redesign{grid-template-columns:1fr!important;gap:30px!important}
  .footer-brand-block,.footer-main-redesign .footer-column{grid-column:auto!important}
  .footer-brand-lockup{max-width:190px!important}
  .footer-brand-lockup .footer-logo{width:170px!important;height:145px!important}
  .footer-brand-tagline{font-size:8px!important;white-space:normal!important}
  .footer-description{margin-top:16px!important;font-size:13px!important;line-height:1.65!important}
  .footer-main-redesign .footer-column{padding-top:0!important}
  .footer-bottom{margin-top:36px!important;align-items:flex-start!important;flex-direction:column!important;gap:18px!important}
  .footer-meta{flex-direction:column!important;align-items:flex-start!important;gap:6px!important}
  .footer-meta span{white-space:normal!important}
  .footer-socials{margin-left:0!important}
}
