
:root{--navy:#000322;--red:#e23530;--ink:#101428;--muted:#687086;--mist:#f5f6f9;--line:#e7e9ef;--white:#fff;--shadow:0 30px 90px rgba(0,3,34,.14)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#fff;color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,sans-serif}a{text-decoration:none;color:inherit}button,input,textarea,select{font:inherit}.site-header{transition:transform .35s ease}.site-header.scrolled .nav-shell{background:rgba(0,3,34,.96);box-shadow:0 18px 50px rgba(0,0,0,.18)}
.nav-shell{border:1px solid rgba(255,255,255,.11);border-radius:20px;background:rgba(0,3,34,.72);backdrop-filter:blur(18px);transition:.35s}.brand{display:inline-flex;align-items:center;gap:12px}.brand-mark{width:42px;height:42px;border-radius:12px;background:#fff;display:grid;place-items:center;overflow:hidden}.brand-mark img{width:100%;height:100%;object-fit:contain;padding:4px}.brand-copy{display:flex;flex-direction:column;line-height:1}.brand-copy strong{font:800 15px/1 Manrope;letter-spacing:.16em}.brand-copy small{margin-top:5px;font-size:9px;font-weight:800;letter-spacing:.32em;opacity:.48}.nav-link{position:relative;color:rgba(255,255,255,.65);font-size:12px;font-weight:800;letter-spacing:.04em;transition:.25s}.nav-link:hover,.nav-link.active{color:#fff}.nav-link:after{content:"";position:absolute;left:0;right:0;bottom:-10px;height:2px;background:var(--red);transform:scaleX(0);transform-origin:right;transition:.25s}.nav-link:hover:after,.nav-link.active:after{transform:scaleX(1);transform-origin:left}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.65rem;border-radius:999px;padding:14px 20px;font-size:13px;font-weight:800;letter-spacing:.01em;transition:transform .25s ease,box-shadow .25s ease,background .25s ease}.btn:hover{transform:translateY(-2px)}.btn-sm{padding:11px 16px;font-size:11px;letter-spacing:.08em;text-transform:uppercase}.btn-red{background:var(--red);color:#fff;box-shadow:0 14px 30px rgba(226,53,48,.24)}.btn-red:hover{background:#c82c28}.btn-white{background:#fff;color:var(--navy)}.btn-ghost,.btn-ghost-light{border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.06);color:#fff}.btn-ghost:hover,.btn-ghost-light:hover{background:rgba(255,255,255,.12)}.btn-dark{background:var(--navy);color:#fff;box-shadow:0 14px 35px rgba(0,3,34,.14)}.btn-dark:hover{background:#050836}.mobile-menu{margin-top:8px;padding:10px;border:1px solid rgba(255,255,255,.1);border-radius:20px;background:rgba(0,3,34,.96);backdrop-filter:blur(18px)}.mobile-nav-link{display:flex;align-items:center;justify-content:space-between;padding:13px 14px;border-radius:12px;color:rgba(255,255,255,.8);font-size:13px;font-weight:700}.mobile-nav-link:hover,.mobile-nav-link.active{background:rgba(255,255,255,.07);color:#fff}.menu-toggle{display:grid;place-items:center;width:44px;height:44px;border-radius:13px;border:1px solid rgba(255,255,255,.15);background:rgba(255,255,255,.04);color:#fff}
.home-hero{background:var(--navy)}.hero-grid{background-image:linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px);background-size:76px 76px;opacity:.65}.hero-orbit{position:absolute;border:1px solid rgba(255,255,255,.06);border-radius:50%;pointer-events:none}.hero-orbit-one{width:760px;height:760px;right:-240px;top:-180px}.hero-orbit-two{width:520px;height:520px;left:-260px;bottom:-280px}.hero-title{font:800 clamp(3.4rem,7vw,6.8rem)/.92 Manrope;letter-spacing:-.065em;max-width:1000px}.hero-title span{color:rgba(255,255,255,.36)}.hero-lead{max-width:700px;margin-top:30px;color:rgba(255,255,255,.62);font-size:18px;line-height:1.8}.eyebrow{display:inline-flex;align-items:center;gap:10px;padding:9px 13px;border-radius:999px;border:1px solid rgba(255,255,255,.11);background:rgba(255,255,255,.045);font-size:10px;font-weight:800;letter-spacing:.18em;text-transform:uppercase;color:rgba(255,255,255,.63)}.eyebrow-light{color:rgba(255,255,255,.76)}.eyebrow-dot{width:7px;height:7px;border-radius:999px;background:var(--red);box-shadow:0 0 0 8px rgba(226,53,48,.09)}.home-hero-card,.page-hero-visual,.academy-visual{position:relative;overflow:hidden;border-radius:34px;border:1px solid rgba(255,255,255,.12);box-shadow:var(--shadow)}.home-hero-card{aspect-ratio:.86}.home-hero-card img,.page-hero-visual img,.academy-visual img{width:100%;height:100%;object-fit:cover}.visual-shade{position:absolute;inset:0;background:linear-gradient(145deg,rgba(0,3,34,.02),rgba(0,3,34,.78))}.visual-shade.light{background:linear-gradient(145deg,rgba(0,3,34,.0),rgba(0,3,34,.58))}.hero-location-card,.hero-metric-card,.floating-card,.academy-badge{position:absolute;border:1px solid rgba(255,255,255,.13);background:rgba(0,3,34,.56);backdrop-filter:blur(18px);color:#fff}.hero-location-card{left:22px;top:22px;padding:14px 15px;border-radius:16px;display:flex;gap:10px;align-items:center}.hero-location-card small,.floating-card small{display:block;font-size:9px;text-transform:uppercase;letter-spacing:.18em;color:rgba(255,255,255,.45);font-weight:800}.hero-location-card strong,.floating-card strong{display:block;margin-top:4px;font-size:12px}.hero-pin{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:var(--red)}.hero-metric-card{right:22px;bottom:22px;padding:14px 17px;border-radius:16px;display:flex;flex-direction:column}.metric-value{font:800 34px/1 Manrope}.metric-label{margin-top:4px;font-size:9px;text-transform:uppercase;letter-spacing:.18em;color:rgba(255,255,255,.46);font-weight:800}.scroll-cue{position:absolute;left:50%;bottom:25px;transform:translateX(-50%);display:flex;gap:10px;align-items:center;font-size:9px;font-weight:800;letter-spacing:.18em;text-transform:uppercase;color:rgba(255,255,255,.33)}.scroll-cue span{display:block;width:34px;height:1px;background:rgba(255,255,255,.25)}
.statement-section,.content-section,.insights-page,.network-page-section,.contact-section,.simple-page{background:#fff}.section-kicker{font-size:10px;font-weight:900;letter-spacing:.24em;text-transform:uppercase;color:var(--red)}.statement-title,.section-title{font:800 clamp(2.3rem,4.6vw,4.6rem)/.98 Manrope;letter-spacing:-.055em;color:var(--navy)}.section-lead{max-width:750px;color:var(--muted);font-size:16px;line-height:1.9}.text-link{display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:900;color:var(--navy);transition:.2s}.text-link:hover{color:var(--red)}.expertise-strip{background:var(--mist)}.section-top,.network-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:24px}.expertise-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:1px solid var(--line);border-radius:28px;overflow:hidden;background:var(--line);gap:1px}.expertise-card{position:relative;min-height:280px;padding:30px;background:#fff;transition:.35s}.expertise-card:hover{transform:translateY(-5px);box-shadow:0 24px 50px rgba(0,3,34,.08);z-index:2}.expertise-card-dark{background:var(--navy);color:#fff}.expertise-card h3{margin-top:24px;font:800 23px/1.05 Manrope;letter-spacing:-.03em}.expertise-card p{margin-top:13px;max-width:32rem;color:#6d7487;font-size:13px;line-height:1.7}.expertise-card-dark p{color:rgba(255,255,255,.58)}.service-index{font-size:10px;font-weight:900;letter-spacing:.18em;color:var(--red)}.card-arrow{position:absolute;right:28px;bottom:28px;display:grid;place-items:center;width:36px;height:36px;border-radius:50%;border:1px solid var(--line)}.expertise-card-dark .card-arrow{border-color:rgba(255,255,255,.14)}.card-arrow svg{width:15px;height:15px}.network-preview{background:var(--navy);color:#fff}.network-map-shell,.network-page-map{position:relative;min-height:560px;border-radius:30px;overflow:hidden;border:1px solid rgba(255,255,255,.1);background:radial-gradient(circle at 50% 50%,rgba(226,53,48,.10),transparent 30%),linear-gradient(145deg,#05082c,#000322 65%)}.network-map-shell:before,.network-page-map:before{content:"";position:absolute;inset:0;background-image:radial-gradient(circle at 20% 20%,rgba(255,255,255,.14) 0 1px,transparent 1.5px);background-size:38px 38px;opacity:.2}.world-lines{position:absolute;inset:12%;border-radius:50%;border:1px solid rgba(255,255,255,.09);box-shadow:inset 0 0 80px rgba(255,255,255,.025)}.network-arcs{position:absolute;inset:0;width:100%;height:100%}.network-arcs path{fill:none;stroke:rgba(226,53,48,.45);stroke-width:1.4;stroke-dasharray:6 8;animation:flow 9s linear infinite}.network-arcs.wide path{stroke-width:1.8}@keyframes flow{to{stroke-dashoffset:-120}}.network-point{position:absolute;display:flex;flex-direction:column;gap:3px}.network-point span,.map-point>span{width:13px;height:13px;border-radius:50%;background:var(--red);box-shadow:0 0 0 10px rgba(226,53,48,.08),0 0 26px rgba(226,53,48,.48)}.network-point b,.map-point b{font:800 13px Manrope}.network-point small,.map-point small{font-size:9px;color:rgba(255,255,255,.42)}.point-dubai{left:78%;top:20%}.point-kinshasa{left:60%;top:57%}.point-maroc{left:17%;top:49%}.point-kenya{left:59%;top:70%}.point-maurice{left:46%;top:84%}.network-map-caption{position:absolute;left:34px;bottom:30px;max-width:380px}.network-map-caption small{font-size:9px;letter-spacing:.2em;color:rgba(255,255,255,.38);font-weight:900}.network-map-caption strong{display:block;margin-top:8px;font:800 28px/1.05 Manrope}.network-map-caption a{display:inline-flex;align-items:center;gap:7px;margin-top:14px;color:#fff;font-size:12px;font-weight:900}.academy-preview{background:#fff}.academy-visual{aspect-ratio:1.08}.academy-badge{right:20px;bottom:20px;padding:14px 15px;border-radius:16px}.academy-badge span{display:block;font-size:9px;letter-spacing:.2em;text-transform:uppercase;color:rgba(255,255,255,.45);font-weight:900}.academy-badge strong{display:block;margin-top:6px;font-size:12px}.insights-preview{background:var(--mist)}.insight-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.insight-grid.large{grid-template-columns:repeat(3,minmax(0,1fr))}.insight-card{display:block;overflow:hidden;border-radius:22px;background:#fff;border:1px solid var(--line);transition:.35s}.insight-card:hover{transform:translateY(-7px);box-shadow:0 28px 60px rgba(0,3,34,.09)}.insight-card img{width:100%;aspect-ratio:1.25;object-fit:cover}.insight-body{padding:24px}.insight-body span{font-size:10px;font-weight:900;letter-spacing:.16em;text-transform:uppercase;color:var(--red)}.insight-body h3{margin-top:11px;font:800 23px/1.08 Manrope;letter-spacing:-.03em;color:var(--navy)}.insight-body p{margin-top:10px;color:#6f7789;font-size:13px;line-height:1.7}.insight-body small{display:block;margin-top:20px;color:#9aa0ad;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.12em}.cta-section{background:#fff}.cta-panel{display:flex;justify-content:space-between;gap:25px;align-items:center;padding:38px;border-radius:28px;border:1px solid var(--line);background:linear-gradient(135deg,#fff,#f8f9fb);box-shadow:0 22px 60px rgba(0,3,34,.05)}.cta-title{font:800 clamp(2rem,4vw,3.8rem)/1 Manrope;letter-spacing:-.05em;color:var(--navy)}.cta-panel p{margin-top:10px;color:var(--muted);max-width:720px}
.page-hero,.article-hero{position:relative;background:var(--navy);color:#fff;overflow:hidden}.page-hero .hero-glow{position:absolute;width:620px;height:620px;border-radius:50%;filter:blur(10px);opacity:.55}.hero-glow-red{right:-160px;top:-120px;background:radial-gradient(circle,rgba(226,53,48,.34),transparent 65%)}.page-title{max-width:950px;font:800 clamp(3rem,6vw,6rem)/.95 Manrope;letter-spacing:-.06em;color:#fff}.page-lead{max-width:760px;margin-top:28px;color:rgba(255,255,255,.61);font-size:17px;line-height:1.85}.page-hero-visual{aspect-ratio:1.03}.floating-card{left:20px;bottom:20px;padding:14px 15px;border-radius:15px;display:flex;gap:10px;align-items:center}.floating-dot{width:9px;height:9px;background:var(--red);border-radius:50%;box-shadow:0 0 0 8px rgba(226,53,48,.1)}.dark-band{background:var(--navy);color:#fff}.model-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.1);border-radius:24px;overflow:hidden}.model-card{padding:30px;background:rgba(255,255,255,.02)}.model-card span{font-size:10px;color:var(--red);font-weight:900;letter-spacing:.18em}.model-card h3{margin-top:34px;font:800 24px/1 Manrope}.model-card p{margin-top:12px;color:rgba(255,255,255,.53);font-size:13px;line-height:1.7}.number-card{padding:30px;border-top:1px solid var(--line)}.number-card strong{display:block;font:800 30px/1 Manrope;color:var(--navy)}.number-card span{display:block;margin-top:11px;font-size:10px;text-transform:uppercase;letter-spacing:.14em;font-weight:900;color:var(--red)}.number-card p{margin-top:12px;color:var(--muted);line-height:1.75;font-size:13px}.two-column-copy{display:grid;grid-template-columns:1fr 1fr;gap:30px;color:var(--muted);font-size:14px;line-height:1.85}.alt{background:var(--mist)}
.expertise-detail{display:grid;grid-template-columns:110px 1fr 420px;gap:36px;align-items:center}.expertise-detail.reverse{grid-template-columns:420px 1fr 110px}.expertise-detail.reverse>img{grid-column:1;grid-row:1}.expertise-detail.reverse>div:nth-child(2){grid-column:2}.expertise-detail.reverse>.expertise-detail-index{grid-column:3}.expertise-detail>img{width:100%;height:360px;object-fit:cover;border-radius:26px}.expertise-detail-index{font:800 32px Manrope;color:var(--red)}.detail-list{display:flex;flex-wrap:wrap;gap:9px;margin-top:28px}.detail-list span{padding:9px 11px;border-radius:999px;background:var(--mist);font-size:10px;font-weight:800;color:#586075}.program-pillars{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.program-pillars>div,.culture-grid>div{padding:22px;border:1px solid var(--line);border-radius:18px}.program-pillars svg,.culture-grid svg{color:var(--red);width:20px;height:20px}.program-pillars b,.culture-grid b{display:block;margin-top:17px;font:800 16px Manrope}.program-pillars p,.culture-grid p{margin-top:8px;color:var(--muted);font-size:12px;line-height:1.7}.program-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.program-card{padding:30px;border:1px solid var(--line);border-radius:22px;background:#fff;transition:.3s}.program-card:hover{transform:translateY(-5px);box-shadow:0 20px 40px rgba(0,3,34,.07)}.program-card>span{font-size:10px;color:var(--red);font-weight:900;letter-spacing:.18em}.program-card h3{margin-top:28px;font:800 24px/1.05 Manrope}.program-card p{margin-top:12px;color:var(--muted);font-size:13px;line-height:1.7}.program-card a{display:inline-flex;align-items:center;gap:7px;margin-top:22px;font-size:12px;font-weight:900;color:var(--navy)}.program-card a svg{width:14px}.dark-title{font:800 clamp(2.4rem,4vw,4rem)/1 Manrope;letter-spacing:-.05em}.dark-copy{color:rgba(255,255,255,.56);font-size:15px;line-height:1.85}.network-country-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.network-country{display:flex;align-items:center;gap:12px;padding:16px 15px;border:1px solid var(--line);border-radius:16px;background:#fff;text-align:left;transition:.25s}.network-country:hover,.network-country.active{border-color:var(--navy);background:var(--navy);color:#fff;transform:translateY(-2px)}.network-country>span{font-size:9px;color:var(--red);font-weight:900}.network-country b{font-size:13px;font-weight:900}.network-country small{display:block;margin-top:2px;color:#7e8697;font-size:9px}.network-country.active small,.network-country:hover small{color:rgba(255,255,255,.45)}.network-country svg{margin-left:auto;width:15px}.country-detail-panel{margin-top:16px;padding:30px;border:1px solid var(--line);border-radius:22px;background:#fff;min-height:210px}.map-point{position:absolute;display:flex;gap:10px;align-items:center}.map-center-copy{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);text-align:center;max-width:360px}.map-center-copy span{display:block;font-size:9px;letter-spacing:.2em;color:rgba(255,255,255,.35);font-weight:900}.map-center-copy strong{display:block;margin-top:10px;font:800 34px/1.02 Manrope}.map-center-copy p{margin-top:11px;color:rgba(255,255,255,.45);font-size:13px;line-height:1.7}.mp-dubai{left:79%;top:22%}.mp-maroc{left:17%;top:45%}.mp-kinshasa{left:58%;top:59%}.mp-kenya{left:62%;top:72%}.mp-maurice{left:47%;top:83%}.map-point div{display:flex;flex-direction:column}.contact-info{display:grid;gap:2px;margin-top:38px}.contact-info>a,.contact-info>div{display:flex;align-items:center;gap:14px;padding:16px 0;border-bottom:1px solid var(--line)}.contact-info svg{color:var(--red)}.contact-info small{display:block;color:#959cac;font-size:9px;text-transform:uppercase;letter-spacing:.15em;font-weight:900}.contact-info strong{display:block;margin-top:4px;font-size:13px}.contact-form{padding:28px;border:1px solid var(--line);border-radius:25px;background:#fff;box-shadow:0 22px 60px rgba(0,3,34,.05)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.contact-form label{display:grid;gap:8px;margin-bottom:15px;font-size:11px;text-transform:uppercase;letter-spacing:.12em;font-weight:900;color:#697185}.form-field{width:100%;padding:14px 14px;border:1px solid var(--line);border-radius:14px;background:#fff;color:var(--ink);outline:none;text-transform:none;letter-spacing:0;font-size:13px}.form-field:focus{border-color:rgba(226,53,48,.55);box-shadow:0 0 0 4px rgba(226,53,48,.08)}.form-note{max-width:520px;color:#9aa0ad;font-size:10px;line-height:1.6;text-transform:none;letter-spacing:0}.form-note a{color:var(--navy);font-weight:800}.form-message{margin-top:15px;padding:12px 14px;border-radius:12px;background:#f1f7f2;color:#38603d;font-size:12px}.network-contact{display:flex;justify-content:space-between;gap:25px;align-items:center}.filter-chip{padding:10px 14px;border:1px solid var(--line);border-radius:999px;background:#fff;font-size:10px;font-weight:900;color:#677084}.filter-chip.active,.filter-chip:hover{background:var(--navy);border-color:var(--navy);color:#fff}.insight-filter{display:flex;flex-wrap:wrap;gap:8px}.article-hero{padding-bottom:0}.article-title{max-width:1000px;font:800 clamp(3rem,6vw,6.3rem)/.94 Manrope;letter-spacing:-.06em}.article-intro{max-width:760px;margin-top:25px;color:rgba(255,255,255,.62);font-size:18px;line-height:1.8}.article-meta{margin-top:26px;color:rgba(255,255,255,.35);font-size:10px;text-transform:uppercase;letter-spacing:.15em;font-weight:900}.article-cover{max-width:1300px;margin:0 auto;border-radius:30px 30px 0 0;overflow:hidden;border:1px solid rgba(255,255,255,.1);border-bottom:0}.article-cover img{display:block;width:100%;height:min(58vw,620px);object-fit:cover}.article-body{background:#fff}.article-sidebar{position:sticky;top:110px;align-self:start}.share-title{font-size:9px;text-transform:uppercase;letter-spacing:.18em;color:#9ba2b0;font-weight:900}.share-row{display:flex;gap:8px;margin-top:10px}.share-row button,.share-row a{width:38px;height:38px;border-radius:50%;border:1px solid var(--line);display:grid;place-items:center;background:#fff}.share-row svg{width:15px}.article-copy{font-size:16px;line-height:1.95;color:#5c6476}.article-copy p{margin-top:18px}.article-copy .dropcap:first-letter{float:left;font:800 64px/0.8 Manrope;color:var(--navy);padding:6px 9px 0 0}.article-copy h2{margin-top:48px;font:800 30px/1.1 Manrope;color:var(--navy);letter-spacing:-.035em}.article-copy blockquote{margin:35px 0;padding:22px 24px;border-left:3px solid var(--red);background:var(--mist);font:700 20px/1.45 Manrope;color:var(--navy)}.culture-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.simple-page .page-title.dark-text{color:var(--navy)}.legal-copy{color:#5e6576;font-size:14px;line-height:1.9}.legal-copy h2{margin-top:34px;font:800 25px/1.1 Manrope;color:var(--navy);letter-spacing:-.03em}.legal-copy a{color:var(--red);font-weight:800}.footer-section{background:var(--navy);color:#fff}.brand-footer .brand-copy small{color:#fff}.brand-mark-light{background:#fff}.footer-intro{max-width:430px;margin-top:22px;color:rgba(255,255,255,.46);font-size:13px;line-height:1.8}.footer-location{display:inline-flex;align-items:center;gap:8px;margin-top:18px;font-size:12px;font-weight:800;color:rgba(255,255,255,.73)}.footer-heading{font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.18em;color:rgba(255,255,255,.34)}.footer-links{display:grid;gap:11px;margin-top:18px}.footer-links a,.footer-copy{font-size:12px;color:rgba(255,255,255,.52);transition:.2s}.footer-links a:hover{color:#fff}.footer-copy{line-height:1.7;max-width:290px}.footer-cta{display:inline-flex;align-items:center;gap:7px;margin-top:18px;font-size:12px;font-weight:900;color:#fff}.footer-bottom{display:flex;justify-content:space-between;gap:15px;margin-top:50px;padding-top:20px;border-top:1px solid rgba(255,255,255,.09);font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.3)}
.reveal{opacity:0;transform:translateY(24px);transition:opacity .8s ease,transform .8s ease}.reveal.in-view{opacity:1;transform:none}.reveal-scale{opacity:0;transform:scale(.965);transition:opacity .95s ease,transform .95s ease}.reveal-scale.in-view{opacity:1;transform:none}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal,.reveal-scale,*{transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}
@media (max-width:1100px){.expertise-grid,.insight-grid,.insight-grid.large{grid-template-columns:repeat(2,minmax(0,1fr))}.model-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.network-country-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.expertise-detail,.expertise-detail.reverse{grid-template-columns:80px 1fr}.expertise-detail>img,.expertise-detail.reverse>img{grid-column:1/-1;grid-row:auto;height:330px}.expertise-detail.reverse>.expertise-detail-index{grid-column:1}.expertise-detail.reverse>div:nth-child(2){grid-column:2}}
@media (max-width:760px){.hero-title{font-size:3.15rem}.hero-lead,.page-lead{font-size:15px}.section-top,.network-heading,.cta-panel,.network-contact{align-items:flex-start;flex-direction:column}.statement-title,.section-title{font-size:2.5rem}.expertise-grid,.insight-grid,.insight-grid.large,.model-grid,.program-grid,.program-pillars,.culture-grid,.two-column-copy{grid-template-columns:1fr}.network-map-shell,.network-page-map{min-height:500px}.network-point{transform:scale(.88);transform-origin:left top}.network-map-caption{left:20px;right:20px}.network-map-caption strong{font-size:24px}.network-country-grid{grid-template-columns:1fr 1fr}.form-grid{grid-template-columns:1fr}.article-sidebar{position:static}.article-title{font-size:3rem}.article-intro{font-size:15px}.footer-bottom{flex-direction:column}.hero-location-card,.hero-metric-card{left:14px;right:auto}.hero-metric-card{left:auto;right:14px}.home-hero-card{aspect-ratio:.76}}
@media (max-width:540px){.network-country-grid{grid-template-columns:1fr}.page-title{font-size:3.2rem}.home-hero-card{aspect-ratio:.7}.point-dubai{left:72%}.point-kinshasa{left:54%}.point-maroc{left:12%}.point-kenya{left:54%}.point-maurice{left:40%}.mp-dubai{left:71%}.mp-maroc{left:11%}.mp-kinshasa{left:50%}.mp-kenya{left:52%}.mp-maurice{left:38%}}

/* =========================================================
   INSPIRSA GROUP — PREMIUM VISUAL LAYER
   Visual refinement only: page structure and content remain unchanged.
   ========================================================= */
:root{
  --navy:#000322;
  --navy-2:#040834;
  --navy-3:#0a1043;
  --red:#e23530;
  --red-2:#ff5b54;
  --ink:#101428;
  --muted:#6d7487;
  --mist:#f6f7fa;
  --line:#e8eaf0;
  --line-strong:#dfe3eb;
  --white:#fff;
  --glass:rgba(255,255,255,.065);
  --shadow-soft:0 18px 60px rgba(0,3,34,.09);
  --shadow-premium:0 35px 110px rgba(0,3,34,.16);
}

body{
  font-feature-settings:"ss01" 1,"cv11" 1;
  letter-spacing:-.008em;
  overflow-x:hidden;
}

::selection{background:rgba(226,53,48,.18);color:var(--navy)}

/* Header */
.site-header{padding-top:10px;will-change:transform}
.site-header .nav-shell{
  position:relative;
  border-color:rgba(255,255,255,.13);
  background:rgba(5,8,42,.58);
  box-shadow:0 8px 35px rgba(0,0,0,.08), inset 0 1px 0 rgba(255,255,255,.07);
}
.site-header .nav-shell:after{
  content:"";
  position:absolute;
  inset:1px;
  border-radius:19px;
  pointer-events:none;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.025);
}
.site-header.scrolled .nav-shell{
  background:rgba(0,3,34,.91);
  box-shadow:0 18px 55px rgba(0,0,0,.22), inset 0 1px 0 rgba(255,255,255,.06);
}
.brand-mark{
  width:44px;height:44px;border-radius:14px;
  box-shadow:0 10px 24px rgba(0,0,0,.12);
}
.nav-link{letter-spacing:.045em}
.nav-link:after{bottom:-12px;height:2px;box-shadow:0 0 18px rgba(226,53,48,.45)}
.btn{position:relative;overflow:hidden;isolation:isolate}
.btn:before{
  content:"";position:absolute;inset:-2px;
  background:linear-gradient(110deg,transparent 35%,rgba(255,255,255,.22) 50%,transparent 65%);
  transform:translateX(-120%);transition:transform .65s ease;z-index:-1;
}
.btn:hover:before{transform:translateX(120%)}
.btn-red{box-shadow:0 14px 35px rgba(226,53,48,.28)}
.btn-red:hover{box-shadow:0 18px 45px rgba(226,53,48,.34)}
.btn-white{box-shadow:0 16px 35px rgba(0,0,0,.12)}

/* Global section rhythm */
section{position:relative}
.statement-section:before,
.expertise-strip:before,
.insights-preview:before,
.academy-preview:before,
.content-section:before,
.insights-page:before,
.network-page-section:before,
.contact-section:before,
.simple-page:before{
  content:"";
  position:absolute;left:50%;top:0;width:min(100% - 40px,1420px);height:1px;
  transform:translateX(-50%);
  background:linear-gradient(90deg,transparent,var(--line),transparent);
}

.section-kicker{letter-spacing:.28em}
.section-title,.statement-title,.page-title,.article-title,.cta-title,.dark-title{
  text-wrap:balance;
}
.section-title,.statement-title{position:relative}
.section-title:after,.statement-title:after{
  content:"";
  display:block;
  width:54px;height:3px;margin-top:26px;
  border-radius:99px;
  background:linear-gradient(90deg,var(--red),rgba(226,53,48,.08));
}
.section-lead{max-width:780px}

/* Hero */
.home-hero{
  min-height:100svh;
  background:
    radial-gradient(circle at 86% 18%,rgba(226,53,48,.09),transparent 22%),
    radial-gradient(circle at 22% 84%,rgba(76,94,255,.09),transparent 24%),
    linear-gradient(145deg,var(--navy-2),var(--navy) 55%,#00021a);
}
.hero-grid{
  background-image:
    linear-gradient(rgba(255,255,255,.042) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.042) 1px,transparent 1px),
    radial-gradient(circle at center,rgba(255,255,255,.045) 0 1px,transparent 1.2px);
  background-size:76px 76px,76px 76px,38px 38px;
  mask-image:linear-gradient(to bottom,black 0%,black 58%,transparent 100%);
}
.home-hero:after{
  content:"";position:absolute;inset:auto 0 0;height:180px;
  background:linear-gradient(to bottom,transparent,rgba(0,3,34,.76));
  pointer-events:none;
}
.hero-orbit{filter:drop-shadow(0 0 30px rgba(255,255,255,.02))}
.hero-orbit-one{border-color:rgba(255,255,255,.075);box-shadow:inset 0 0 120px rgba(255,255,255,.018)}
.hero-orbit-two{border-color:rgba(226,53,48,.06)}
.hero-title{letter-spacing:-.075em;max-width:1050px}
.hero-title span{color:rgba(255,255,255,.32)}
.hero-lead{font-size:17px;max-width:680px;color:rgba(255,255,255,.64)}
.eyebrow{box-shadow:inset 0 1px 0 rgba(255,255,255,.04),0 12px 35px rgba(0,0,0,.08)}
.eyebrow-dot{box-shadow:0 0 0 8px rgba(226,53,48,.08),0 0 22px rgba(226,53,48,.48)}
.home-hero-card{
  border-radius:36px;
  box-shadow:0 45px 120px rgba(0,0,0,.3), inset 0 1px 0 rgba(255,255,255,.08);
  transform:translateZ(0);
}
.home-hero-card:after,
.academy-visual:after,
.page-hero-visual:after{
  content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.08);
}
.home-hero-card img,.page-hero-visual img,.academy-visual img{transition:transform 1.4s cubic-bezier(.2,.8,.2,1),filter 1.4s ease}
.home-hero-card:hover img,.academy-visual:hover img,.page-hero-visual:hover img{transform:scale(1.045)}
.visual-shade{background:linear-gradient(140deg,rgba(0,3,34,.02) 5%,rgba(0,3,34,.18) 40%,rgba(0,3,34,.86) 100%)}
.hero-location-card,.hero-metric-card,.floating-card,.academy-badge{
  box-shadow:0 18px 45px rgba(0,0,0,.22),inset 0 1px 0 rgba(255,255,255,.07);
}
.hero-location-card{border-radius:18px}
.hero-metric-card{border-radius:18px}
.metric-value{letter-spacing:-.05em}
.scroll-cue{z-index:3}
.scroll-cue span{animation:scrollPulse 2.2s ease-in-out infinite}
@keyframes scrollPulse{0%,100%{opacity:.25;transform:scaleX(.7);transform-origin:left}50%{opacity:.9;transform:scaleX(1);transform-origin:left}}

/* Cards */
.expertise-grid,.insight-grid{gap:16px;background:transparent;border:0;overflow:visible}
.expertise-card,.insight-card,.program-card,.contact-form,.country-detail-panel,.culture-grid>div,.program-pillars>div{
  border-color:var(--line);
  box-shadow:0 1px 0 rgba(0,0,0,.02);
}
.expertise-card{
  min-height:300px;
  border-radius:24px;
  border:1px solid var(--line);
  overflow:hidden;
  background:
    radial-gradient(circle at 100% 0%,rgba(226,53,48,.045),transparent 25%),
    #fff;
  box-shadow:0 1px 0 rgba(0,0,0,.025),0 10px 30px rgba(0,3,34,.025);
  transition:transform .45s cubic-bezier(.2,.8,.2,1),box-shadow .45s ease,border-color .45s ease,background .45s ease;
}
.expertise-card:before{
  content:"";position:absolute;left:0;right:0;top:0;height:2px;
  background:linear-gradient(90deg,var(--red),transparent 72%);
  opacity:0;transition:opacity .35s ease;
}
.expertise-card:hover{
  transform:translateY(-8px);
  border-color:#d9dde7;
  box-shadow:0 30px 70px rgba(0,3,34,.10);
}
.expertise-card:hover:before{opacity:1}
.expertise-card-dark{
  background:
    radial-gradient(circle at 86% 15%,rgba(226,53,48,.18),transparent 27%),
    linear-gradient(145deg,#080d42,var(--navy));
  border-color:rgba(255,255,255,.09);
}
.expertise-card-dark:hover{border-color:rgba(255,255,255,.15)}
.service-index{letter-spacing:.22em}
.card-arrow{transition:transform .35s ease,background .35s ease,border-color .35s ease}
.expertise-card:hover .card-arrow{transform:translate(2px,-2px);background:var(--navy);color:#fff;border-color:var(--navy)}
.expertise-card-dark:hover .card-arrow{background:var(--red);border-color:var(--red)}

/* Network — make the existing visual system feel more like a global control room */
.network-preview{background:linear-gradient(145deg,#020526,#000322 58%,#05082b)}
.network-map-shell,.network-page-map{
  background:
    radial-gradient(circle at 72% 21%,rgba(226,53,48,.17),transparent 14%),
    radial-gradient(circle at 22% 76%,rgba(58,83,255,.12),transparent 22%),
    linear-gradient(145deg,#071047,#000322 62%,#00021b);
  box-shadow:0 35px 100px rgba(0,0,0,.26),inset 0 1px 0 rgba(255,255,255,.05);
}
.network-map-shell:after,.network-page-map:after{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(circle at 50% 52%,transparent 0 18%,rgba(255,255,255,.035) 18.2%,transparent 18.5%);
  opacity:.7;
}
.world-lines{inset:9%;box-shadow:inset 0 0 120px rgba(255,255,255,.03),0 0 120px rgba(226,53,48,.025)}
.network-arcs path{stroke:rgba(226,53,48,.56);filter:drop-shadow(0 0 5px rgba(226,53,48,.18))}
.network-point span,.map-point>span{animation:mapPulse 2.4s ease-in-out infinite}
.network-point b,.map-point b{letter-spacing:-.02em}
@keyframes mapPulse{0%,100%{box-shadow:0 0 0 8px rgba(226,53,48,.07),0 0 20px rgba(226,53,48,.25)}50%{box-shadow:0 0 0 13px rgba(226,53,48,.02),0 0 34px rgba(226,53,48,.5)}}
.network-map-caption{z-index:2}
.network-map-caption strong{letter-spacing:-.04em}

/* Images / editorial cards */
.insight-card{
  overflow:hidden;
  display:flex;flex-direction:column;
  border:1px solid var(--line);
  border-radius:24px;
  background:#fff;
  transition:transform .45s cubic-bezier(.2,.8,.2,1),box-shadow .45s ease;
}
.insight-card:hover{transform:translateY(-8px);box-shadow:0 28px 65px rgba(0,3,34,.10)}
.insight-card img{height:250px;object-fit:cover;transition:transform 1s cubic-bezier(.2,.8,.2,1)}
.insight-card:hover img{transform:scale(1.045)}
.insight-body{padding:25px 26px 27px}
.insight-body>span{font-size:9px!important;letter-spacing:.18em!important;font-weight:900}
.insight-body h3{letter-spacing:-.035em}

/* Page hero */
.page-hero,.article-hero{
  background:
    radial-gradient(circle at 86% 15%,rgba(226,53,48,.11),transparent 22%),
    linear-gradient(145deg,#060a35,var(--navy) 60%,#00021b);
}
.page-hero:after,.article-hero:after{
  content:"";position:absolute;inset:0;pointer-events:none;
  background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);
  background-size:76px 76px;mask-image:linear-gradient(to bottom,black,transparent 85%);
}
.page-title{letter-spacing:-.07em}
.page-hero-visual{border-radius:30px;box-shadow:0 40px 110px rgba(0,0,0,.26)}

/* Buttons, tags and form controls */
.text-link{position:relative}
.text-link:after{content:"";position:absolute;left:0;bottom:-6px;width:0;height:1px;background:var(--red);transition:width .3s ease}
.text-link:hover:after{width:100%}
.filter-chip{transition:transform .25s ease,background .25s ease,color .25s ease,border-color .25s ease}
.filter-chip:hover{transform:translateY(-1px)}
.form-field{transition:border-color .25s ease,box-shadow .25s ease,transform .25s ease}
.form-field:hover{border-color:#d8dce5}
.form-field:focus{transform:translateY(-1px)}
.contact-form{box-shadow:0 30px 80px rgba(0,3,34,.075),inset 0 1px 0 rgba(255,255,255,.8)}

/* CTA */
.cta-section{background:#fff}
.cta-panel{
  position:relative;overflow:hidden;
  padding:54px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:30px;
  background:
    radial-gradient(circle at 82% 18%,rgba(226,53,48,.18),transparent 24%),
    radial-gradient(circle at 8% 100%,rgba(74,89,255,.12),transparent 28%),
    linear-gradient(145deg,#070b3e,#000322);
  box-shadow:0 35px 100px rgba(0,3,34,.22);
}
.cta-panel:before{content:"";position:absolute;right:-120px;top:-140px;width:420px;height:420px;border:1px solid rgba(255,255,255,.07);border-radius:50%;box-shadow:0 0 0 55px rgba(255,255,255,.018),0 0 0 110px rgba(255,255,255,.012)}
.cta-title{font:800 clamp(2.2rem,4.5vw,4.5rem)/.96 Manrope;letter-spacing:-.055em;color:#fff;max-width:760px}
.cta-panel p{max-width:620px;margin-top:16px;color:rgba(255,255,255,.54);font-size:14px;line-height:1.8}
.cta-panel .btn{z-index:2}

/* Footer */
.footer-section{background:linear-gradient(145deg,#05082d,var(--navy) 62%,#00021c)}
.footer-section:before{content:"";display:block;height:2px;background:linear-gradient(90deg,transparent,var(--red),transparent);opacity:.7}
.footer-links a{position:relative;width:max-content}
.footer-links a:after{content:"";position:absolute;left:0;bottom:-4px;width:0;height:1px;background:var(--red);transition:width .25s ease}
.footer-links a:hover:after{width:100%}
.footer-cta{transition:transform .25s ease,color .25s ease}
.footer-cta:hover{transform:translateX(3px);color:#fff}
.footer-bottom{border-top-color:rgba(255,255,255,.07)}

/* Editorial details */
.article-cover{box-shadow:0 30px 90px rgba(0,3,34,.16)}
.article-cover img{filter:saturate(.88) contrast(1.03)}
.article-body{position:relative}
.article-copy{font-size:16.5px;color:#565f73}
.article-copy h2{letter-spacing:-.045em}
.article-copy blockquote{border-radius:0 14px 14px 0;box-shadow:inset 0 0 0 1px rgba(0,3,34,.025)}

/* Reveal choreography */
.reveal{opacity:0;transform:translate3d(0,28px,0);transition:opacity .85s cubic-bezier(.2,.75,.2,1),transform .85s cubic-bezier(.2,.75,.2,1)}
.reveal-scale{opacity:0;transform:translate3d(0,15px,0) scale(.975);transition:opacity 1s cubic-bezier(.2,.75,.2,1),transform 1s cubic-bezier(.2,.75,.2,1)}
.reveal.in-view,.reveal-scale.in-view{opacity:1;transform:none}
.expertise-grid .reveal:nth-child(2),.insight-grid .reveal:nth-child(2){transition-delay:.06s}
.expertise-grid .reveal:nth-child(3),.insight-grid .reveal:nth-child(3){transition-delay:.12s}
.expertise-grid .reveal:nth-child(4){transition-delay:.18s}
.expertise-grid .reveal:nth-child(5){transition-delay:.24s}
.expertise-grid .reveal:nth-child(6){transition-delay:.30s}

/* Subtle premium ambient motion */
.home-hero-card,.network-map-shell,.page-hero-visual,.academy-visual,.cta-panel{will-change:transform}
@keyframes ambientFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}
.hero-location-card{animation:ambientFloat 5s ease-in-out infinite}
.hero-metric-card{animation:ambientFloat 6s ease-in-out 1s infinite}

@media (max-width:760px){
  .site-header{padding-top:7px}
  .hero-title{font-size:clamp(3rem,13vw,4.1rem)}
  .hero-lead{font-size:15px;line-height:1.75}
  .section-title,.statement-title{font-size:clamp(2.45rem,11vw,3.6rem)}
  .section-title:after,.statement-title:after{margin-top:20px}
  .expertise-card{min-height:265px}
  .cta-panel{padding:34px 26px}
}

@media (prefers-reduced-motion:reduce){
  .hero-location-card,.hero-metric-card,.network-point span,.map-point>span,.scroll-cue span{animation:none!important}
  .home-hero-card img,.page-hero-visual img,.academy-visual img,.insight-card img{transition:none!important}
}

/* =========================================================
   INSPIRSA GROUP — V4 CORPORATE REFINEMENT
   Visual enhancement layer. Existing page structure and
   international connection map remain unchanged.
   ========================================================= */

:root{
  --radius-xl:32px;
  --radius-lg:24px;
  --radius-md:18px;
  --container:1500px;
}

html{scroll-behavior:smooth}
body{background:#fff}

/* ---------- Premium navigation ---------- */
.site-header .nav-shell{
  backdrop-filter:blur(22px) saturate(145%);
  -webkit-backdrop-filter:blur(22px) saturate(145%);
}
.brand-mark{position:relative;overflow:hidden}
.brand-mark:before{
  content:"";
  position:absolute;
  inset:-40%;
  background:linear-gradient(120deg,transparent 40%,rgba(255,255,255,.32) 50%,transparent 60%);
  transform:translateX(-70%) rotate(12deg);
  transition:transform .8s ease;
}
.brand:hover .brand-mark:before{transform:translateX(70%) rotate(12deg)}
.brand-copy strong,.brand-copy small{color:#fff!important}

/* ---------- Editorial rhythm ---------- */
.section-kicker{font-size:10px;font-weight:800;color:#8790a6}
.section-title{font-weight:800}
.section-lead{font-size:17px;line-height:1.9;color:#626b7f}
.statement-section{background:linear-gradient(180deg,#fff 0%,#fbfcfe 100%)}

/* ---------- Hero ---------- */
.hero-title{max-width:900px}
.hero-title span{position:relative;color:#fff}
.hero-title span:after{
  content:"";
  position:absolute;
  left:0;
  bottom:-10px;
  width:76px;
  height:3px;
  border-radius:999px;
  background:var(--red);
  box-shadow:0 0 24px rgba(226,53,48,.55);
}
.home-hero-card{border:1px solid rgba(255,255,255,.12)}
.home-hero-card:before{
  content:"";
  position:absolute;
  z-index:1;
  inset:14px;
  border:1px solid rgba(255,255,255,.11);
  border-radius:24px;
  pointer-events:none;
}

/* ---------- Trust / impact metrics ---------- */
.impact-strip{background:#f5f6f9}
.impact-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border:1px solid #e5e8ef;border-radius:28px;overflow:hidden;background:#fff;box-shadow:0 25px 70px rgba(0,3,34,.06)}
.impact-item{padding:34px 30px;border-right:1px solid #e9ebf0}
.impact-item:last-child{border-right:0}
.impact-value{display:block;font:800 clamp(2.2rem,4vw,4.2rem)/.95 Manrope;letter-spacing:-.06em;color:var(--navy)}
.impact-label{display:block;margin-top:10px;font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:#7a8296}
.impact-note{margin-top:8px;font-size:12px;color:#9aa1b0}

/* ---------- Strategic pillars ---------- */
.pillar-stage{display:grid;grid-template-columns:1.1fr .9fr;gap:20px;align-items:stretch}
.pillar-feature{min-height:520px;border-radius:32px;padding:48px;position:relative;overflow:hidden;background:linear-gradient(145deg,#07104a,#000322 72%);box-shadow:0 35px 100px rgba(0,3,34,.18)}
.pillar-feature:before{content:"";position:absolute;right:-180px;top:-180px;width:500px;height:500px;border:1px solid rgba(255,255,255,.08);border-radius:50%;box-shadow:0 0 0 60px rgba(255,255,255,.025),0 0 0 120px rgba(255,255,255,.015)}
.pillar-feature h3{position:relative;z-index:1;font:800 clamp(2.2rem,4vw,4.5rem)/.98 Manrope;letter-spacing:-.06em;color:#fff;max-width:720px}
.pillar-feature p{position:relative;z-index:1;max-width:590px;color:rgba(255,255,255,.56);line-height:1.9}
.pillar-list{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.pillar-card{padding:28px;border:1px solid #e6e9ef;border-radius:22px;background:#fff;transition:.4s ease;box-shadow:0 10px 30px rgba(0,3,34,.025)}
.pillar-card:hover{transform:translateY(-6px);box-shadow:0 25px 55px rgba(0,3,34,.09);border-color:#d9dde8}
.pillar-number{display:inline-flex;width:36px;height:36px;align-items:center;justify-content:center;border-radius:11px;background:#f2f3f7;color:var(--red);font:800 11px Manrope}
.pillar-card h4{margin-top:24px;font:800 22px/1.05 Manrope;letter-spacing:-.04em;color:var(--navy)}
.pillar-card p{margin-top:10px;font-size:13px;line-height:1.7;color:#70798d}

/* ---------- Engagements ---------- */
.engagements-section{background:#f7f8fa}
.engagement-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.engagement-card{position:relative;min-height:250px;padding:30px;border-radius:24px;border:1px solid #e3e7ee;background:#fff;overflow:hidden;transition:.4s ease}
.engagement-card:after{content:"";position:absolute;right:-50px;bottom:-50px;width:140px;height:140px;border-radius:50%;background:radial-gradient(circle,rgba(226,53,48,.10),transparent 68%)}
.engagement-card:hover{transform:translateY(-7px);box-shadow:0 28px 60px rgba(0,3,34,.09)}
.engagement-icon{display:inline-flex;width:46px;height:46px;align-items:center;justify-content:center;border-radius:14px;background:#f6f7fa;color:var(--navy);border:1px solid #eceef3}
.engagement-card h3{margin-top:22px;font:800 21px/1.1 Manrope;letter-spacing:-.035em}
.engagement-card p{margin-top:10px;color:#747d8e;font-size:13px;line-height:1.7}

/* ---------- Event / publication editorial blocks ---------- */
.editorial-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:20px}
.feature-story,.editorial-list-item{border:1px solid #e2e6ed;border-radius:28px;background:#fff;overflow:hidden;box-shadow:0 15px 45px rgba(0,3,34,.04)}
.feature-story{display:grid;grid-template-columns:1.05fr .95fr;min-height:440px}
.feature-story-media{min-height:100%;background:#091044;overflow:hidden}
.feature-story-media img{width:100%;height:100%;object-fit:cover;transition:transform 1s ease}
.feature-story:hover .feature-story-media img{transform:scale(1.04)}
.feature-story-copy{padding:42px;display:flex;flex-direction:column;justify-content:center}
.feature-story-copy .label,.editorial-list-item .label{font-size:9px;font-weight:800;letter-spacing:.2em;text-transform:uppercase;color:var(--red)}
.feature-story-copy h3{margin-top:16px;font:800 clamp(2rem,3vw,3.2rem)/.98 Manrope;letter-spacing:-.055em;color:var(--navy)}
.feature-story-copy p{margin-top:16px;max-width:520px;color:#6c7588;line-height:1.8;font-size:14px}
.editorial-stack{display:grid;gap:16px}
.editorial-list-item{padding:28px;transition:.35s ease}
.editorial-list-item:hover{transform:translateY(-4px);box-shadow:0 24px 50px rgba(0,3,34,.08)}
.editorial-list-item h4{margin-top:12px;font:800 22px/1.08 Manrope;letter-spacing:-.04em;color:var(--navy)}
.editorial-list-item p{margin-top:9px;color:#747d8e;font-size:13px;line-height:1.7}

/* ---------- Publications ---------- */
.publication-band{background:var(--navy);color:#fff}
.publication-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.publication-card{position:relative;min-height:310px;padding:30px;border:1px solid rgba(255,255,255,.09);border-radius:22px;background:linear-gradient(145deg,rgba(255,255,255,.055),rgba(255,255,255,.018));overflow:hidden;transition:.4s ease}
.publication-card:hover{transform:translateY(-6px);background:linear-gradient(145deg,rgba(255,255,255,.08),rgba(255,255,255,.022));border-color:rgba(255,255,255,.17)}
.publication-card:before{content:"";position:absolute;top:0;left:0;width:60px;height:2px;background:var(--red)}
.publication-type{font-size:9px;font-weight:800;letter-spacing:.2em;color:rgba(255,255,255,.42);text-transform:uppercase}
.publication-card h3{margin-top:52px;font:800 26px/1.05 Manrope;letter-spacing:-.045em}
.publication-card p{margin-top:14px;font-size:13px;line-height:1.7;color:rgba(255,255,255,.48)}

/* ---------- International section: preserve the map itself ---------- */
.network-heading{position:relative;z-index:2}
.network-map-shell{isolation:isolate}

/* ---------- Premium CTA ---------- */
.cta-panel{border-radius:34px}
.cta-panel .btn-red{min-width:220px;justify-content:center}

/* ---------- Footer refinements ---------- */
.footer-intro{max-width:560px;line-height:1.8}
.footer-heading{letter-spacing:.16em}
.footer-section{position:relative;overflow:hidden}
.footer-section:after{content:"";position:absolute;left:-10%;bottom:-280px;width:520px;height:520px;border-radius:50%;border:1px solid rgba(255,255,255,.05);box-shadow:0 0 0 70px rgba(255,255,255,.015),0 0 0 140px rgba(255,255,255,.01);pointer-events:none}

/* ---------- Page interiors ---------- */
.page-hero .page-title{max-width:850px}
.content-section{background:#fff}
.dark-band{position:relative;overflow:hidden}
.dark-band:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 85% 12%,rgba(226,53,48,.10),transparent 20%);pointer-events:none}
.number-card{padding:34px;border:1px solid #e2e6ed;border-radius:24px;background:linear-gradient(145deg,#fff,#f8f9fb);transition:.35s ease}
.number-card:hover{transform:translateY(-5px);box-shadow:0 25px 55px rgba(0,3,34,.08)}

/* ---------- Responsive ---------- */
@media (max-width:1100px){
  .impact-grid,.engagement-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .impact-item:nth-child(2){border-right:0}
  .impact-item:nth-child(-n+2){border-bottom:1px solid #e9ebf0}
  .pillar-stage,.editorial-grid{grid-template-columns:1fr}
  .feature-story{min-height:420px}
}

@media (max-width:760px){
  .impact-grid,.engagement-grid,.publication-grid,.pillar-list{grid-template-columns:1fr}
  .impact-item{border-right:0!important;border-bottom:1px solid #e9ebf0}
  .impact-item:last-child{border-bottom:0}
  .pillar-feature{min-height:440px;padding:32px 26px}
  .feature-story{grid-template-columns:1fr}
  .feature-story-media{height:260px}
  .feature-story-copy{padding:30px 26px 34px}
  .publication-card{min-height:260px}
}



/* ============================================================
   INSPIRSA GROUP — V5 EDITORIAL SYSTEM
   Insights / Articles / Editorial Cards
   ------------------------------------------------------------
   Objectifs :
   - renforcer la hiérarchie éditoriale
   - harmoniser les pages d'articles
   - créer un featured insight premium
   - améliorer les cartes éditoriales
   - renforcer la lecture longue
   - conserver la charte INSPIRSA existante
============================================================ */


/* ============================================================
   01. EDITORIAL FEATURE
============================================================ */

.editorial-feature {
  position: relative;
  display: grid;
  overflow: hidden;
  min-height: 620px;
  border: 1px solid var(--line);
  border-radius: var(--radius-xl);
  background: var(--white);
  box-shadow: var(--shadow-soft);
  transition:
    transform .45s cubic-bezier(.22,1,.36,1),
    box-shadow .45s ease,
    border-color .35s ease;
}

.editorial-feature:hover {
  transform: translateY(-6px);
  border-color: var(--line-strong);
  box-shadow: var(--shadow-premium);
}

.editorial-feature-media {
  position: relative;
  min-height: 420px;
  overflow: hidden;
  background: var(--navy);
}

.editorial-feature-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition:
    transform .8s cubic-bezier(.22,1,.36,1),
    filter .5s ease;
}

.editorial-feature:hover .editorial-feature-media img {
  transform: scale(1.045);
  filter: saturate(1.05);
}

.editorial-feature-overlay {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(
      180deg,
      rgba(0,3,34,.03) 10%,
      rgba(0,3,34,.12) 42%,
      rgba(0,3,34,.72) 100%
    );
  pointer-events: none;
}

.editorial-feature-tag {
  position: absolute;
  left: 28px;
  bottom: 28px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 9px 13px;
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 999px;
  background: rgba(0,3,34,.48);
  color: #fff;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .18em;
  text-transform: uppercase;
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}

.editorial-feature-tag::before {
  content: "";
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--red);
  box-shadow: 0 0 0 5px rgba(226,53,48,.14);
}

.editorial-feature-content {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: 42px;
}

.editorial-feature-content h3 {
  letter-spacing: -.035em;
}

.editorial-feature-content > div:last-child {
  margin-top: 36px;
}


/* ============================================================
   02. EDITORIAL CARDS
============================================================ */

.editorial-card {
  position: relative;
  display: flex;
  min-height: 360px;
  flex-direction: column;
  justify-content: space-between;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  background: var(--white);
  padding: 30px;
  box-shadow: 0 12px 42px rgba(0,3,34,.055);
  transition:
    transform .42s cubic-bezier(.22,1,.36,1),
    box-shadow .42s ease,
    border-color .35s ease,
    background .35s ease;
}

.editorial-card::after {
  content: "";
  position: absolute;
  right: -70px;
  bottom: -70px;
  width: 190px;
  height: 190px;
  border-radius: 50%;
  background:
    radial-gradient(
      circle,
      rgba(226,53,48,.10) 0%,
      rgba(226,53,48,0) 68%
    );
  pointer-events: none;
}

.editorial-card:hover {
  transform: translateY(-7px);
  border-color: rgba(226,53,48,.25);
  box-shadow: var(--shadow-premium);
}

.editorial-card-top {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.editorial-icon {
  display: inline-flex;
  width: 52px;
  height: 52px;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--line);
  border-radius: 16px;
  background: var(--mist);
  color: var(--navy);
  transition:
    background .35s ease,
    color .35s ease,
    transform .35s ease;
}

.editorial-icon svg {
  width: 20px;
  height: 20px;
}

.editorial-card:hover .editorial-icon {
  background: var(--navy);
  color: var(--white);
  transform: translateY(-2px);
}

.editorial-arrow {
  display: inline-flex;
  width: 40px;
  height: 40px;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: var(--mist);
  color: var(--navy);
  transition:
    transform .35s ease,
    background .35s ease,
    color .35s ease;
}

.editorial-arrow svg {
  width: 16px;
  height: 16px;
}

.editorial-card:hover .editorial-arrow {
  transform: translate(2px,-2px);
  background: var(--red);
  color: var(--white);
}

.editorial-card-content {
  position: relative;
  z-index: 1;
}

.editorial-card-content > span {
  display: inline-block;
  margin-bottom: 13px;
  color: var(--red);
  font-size: 9px;
  font-weight: 900;
  letter-spacing: .18em;
  line-height: 1.2;
  text-transform: uppercase;
}

.editorial-card-content h3 {
  max-width: 360px;
  color: var(--navy);
  font-family: var(--font-display, "Manrope", Inter, sans-serif);
  font-size: clamp(1.35rem, 1.9vw, 1.75rem);
  font-weight: 800;
  letter-spacing: -.035em;
  line-height: 1.12;
}

.editorial-card-content p {
  max-width: 400px;
  margin-top: 16px;
  color: var(--muted);
  font-size: .93rem;
  line-height: 1.8;
}


/* ============================================================
   03. ARTICLE HERO
============================================================ */

.article-hero {
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(
      circle at 82% 10%,
      rgba(226,53,48,.12),
      transparent 34%
    ),
    linear-gradient(
      135deg,
      #000322 0%,
      #040834 52%,
      #080e3b 100%
    );
  color: var(--white);
}

.article-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  opacity: .35;
  pointer-events: none;
  background-image:
    linear-gradient(
      rgba(255,255,255,.028) 1px,
      transparent 1px
    ),
    linear-gradient(
      90deg,
      rgba(255,255,255,.028) 1px,
      transparent 1px
    );
  background-size: 70px 70px;
  mask-image: linear-gradient(
    to bottom,
    rgba(0,0,0,.9),
    transparent 90%
  );
}

.article-hero > * {
  position: relative;
  z-index: 1;
}

.article-hero .eyebrow-light {
  color: rgba(255,255,255,.74);
}

.article-hero .eyebrow-dot {
  background: var(--red);
  box-shadow:
    0 0 0 6px rgba(226,53,48,.14),
    0 0 22px rgba(226,53,48,.35);
}

.article-title {
  max-width: 1000px;
  color: var(--white);
  font-family: var(--font-display, "Manrope", Inter, sans-serif);
  font-size: clamp(2.7rem, 6vw, 6.4rem);
  font-weight: 800;
  letter-spacing: -.055em;
  line-height: .98;
}

.article-intro {
  max-width: 820px;
  margin-top: 28px;
  color: rgba(255,255,255,.68);
  font-size: clamp(1rem, 1.5vw, 1.25rem);
  line-height: 1.8;
}

.article-meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
  margin-top: 30px;
  color: rgba(255,255,255,.48);
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.article-meta span:nth-child(even) {
  color: rgba(255,255,255,.22);
}


/* ============================================================
   04. ARTICLE COVER
============================================================ */

.article-cover {
  position: relative;
  z-index: 2;
  width: min(1120px, calc(100% - 40px));
  margin: 0 auto -1px;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: var(--radius-xl) var(--radius-xl) 0 0;
  background: var(--navy);
  box-shadow:
    0 -20px 80px rgba(0,0,0,.18),
    0 30px 100px rgba(0,3,34,.18);
}

.article-cover::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(
      180deg,
      rgba(0,3,34,0) 48%,
      rgba(0,3,34,.22) 100%
    );
  pointer-events: none;
}

.article-cover img {
  display: block;
  width: 100%;
  height: clamp(320px, 48vw, 650px);
  object-fit: cover;
  transition: transform 1s cubic-bezier(.22,1,.36,1);
}

.article-cover:hover img {
  transform: scale(1.025);
}


/* ============================================================
   05. ARTICLE BODY
============================================================ */

.article-body {
  position: relative;
  background: var(--white);
}

.article-body::before {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  width: min(920px, 80vw);
  height: 1px;
  transform: translateX(-50%);
  background: linear-gradient(
    90deg,
    transparent,
    var(--line),
    transparent
  );
}

.article-sidebar {
  position: relative;
}

.article-sidebar::before {
  content: "";
  position: absolute;
  left: 0;
  top: 48px;
  width: 22px;
  height: 1px;
  background: var(--red);
}

.article-sidebar .text-link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: var(--navy);
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .07em;
  text-transform: uppercase;
  transition: color .25s ease;
}

.article-sidebar .text-link:hover {
  color: var(--red);
}

.share-title {
  color: var(--muted);
  font-size: .65rem;
  font-weight: 900;
  letter-spacing: .18em;
  text-transform: uppercase;
}

.share-row {
  display: flex;
  gap: 8px;
  margin-top: 14px;
}

.share-row button,
.share-row a {
  display: inline-flex;
  width: 42px;
  height: 42px;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: var(--white);
  color: var(--navy);
  transition:
    transform .3s ease,
    background .3s ease,
    border-color .3s ease,
    color .3s ease;
}

.share-row button:hover,
.share-row a:hover {
  transform: translateY(-2px);
  border-color: var(--navy);
  background: var(--navy);
  color: var(--white);
}

.share-row svg {
  width: 17px;
  height: 17px;
}


/* ============================================================
   06. LONG-FORM ARTICLE TYPOGRAPHY
============================================================ */

.article-copy {
  max-width: 820px;
  color: #3d465c;
}

.article-copy > p {
  margin-bottom: 1.65rem;
  font-size: 1.05rem;
  line-height: 2;
}

.article-copy > p:first-of-type {
  margin-bottom: 1.1rem;
}

.article-copy strong {
  color: var(--navy);
  font-weight: 800;
}

.article-copy .dropcap {
  float: left;
  margin:
    .08em
    .14em
    0
    0;
  color: var(--red);
  font-family: var(--font-display, "Manrope", Inter, sans-serif);
  font-size: 5.5rem;
  font-weight: 800;
  line-height: .78;
  letter-spacing: -.06em;
}

.article-copy h2 {
  margin-top: 4.5rem;
  margin-bottom: 1.25rem;
  color: var(--navy);
  font-family: var(--font-display, "Manrope", Inter, sans-serif);
  font-size: clamp(1.7rem, 3vw, 2.45rem);
  font-weight: 800;
  letter-spacing: -.04em;
  line-height: 1.12;
}

.article-copy h2:first-of-type {
  margin-top: 3.5rem;
}

.article-copy blockquote {
  position: relative;
  margin:
    3rem 0;
  padding:
    1.65rem
    0
    1.65rem
    2rem;
  border-left: 2px solid var(--red);
  color: var(--navy);
  font-family: var(--font-display, "Manrope", Inter, sans-serif);
  font-size: clamp(1.3rem, 2.3vw, 1.8rem);
  font-weight: 700;
  letter-spacing: -.025em;
  line-height: 1.35;
}

.article-copy blockquote::before {
  content: "“";
  position: absolute;
  top: .05em;
  left: -.02em;
  color: rgba(226,53,48,.12);
  font-family: Georgia, serif;
  font-size: 5rem;
  line-height: 1;
  pointer-events: none;
}

.article-copy ul,
.article-copy ol {
  margin:
    1.8rem
    0;
  padding-left: 1.35rem;
}

.article-copy li {
  margin-bottom: .8rem;
  padding-left: .25rem;
  color: #3d465c;
  line-height: 1.8;
}


/* ============================================================
   07. ARTICLE HIGHLIGHT BLOCKS
============================================================ */

.article-copy .bg-inspirsa-mist {
  position: relative;
  overflow: hidden;
}

.article-copy .bg-inspirsa-mist::after {
  content: "";
  position: absolute;
  right: -70px;
  top: -70px;
  width: 190px;
  height: 190px;
  border-radius: 50%;
  background:
    radial-gradient(
      circle,
      rgba(226,53,48,.10),
      transparent 68%
    );
  pointer-events: none;
}

.article-copy .bg-inspirsa-navy {
  position: relative;
  overflow: hidden;
}

.article-copy .bg-inspirsa-navy::after {
  content: "";
  position: absolute;
  right: -90px;
  bottom: -100px;
  width: 280px;
  height: 280px;
  border-radius: 50%;
  background:
    radial-gradient(
      circle,
      rgba(226,53,48,.13),
      transparent 68%
    );
  pointer-events: none;
}


/* ============================================================
   08. RELATED CONTENT
============================================================ */

.statement-section .insight-card {
  height: 100%;
}

.statement-section .insight-card img {
  transition:
    transform .75s cubic-bezier(.22,1,.36,1),
    filter .4s ease;
}

.statement-section .insight-card:hover img {
  transform: scale(1.035);
  filter: saturate(1.04);
}


/* ============================================================
   09. EDITORIAL SECTION HELPERS
============================================================ */

.editorial-grid-section {
  position: relative;
  background: var(--white);
}

.editorial-grid-section::before {
  content: "";
  display: block;
  width: min(1500px, calc(100% - 40px));
  height: 1px;
  margin: 0 auto;
  background: var(--line);
}

.editorial-grid-section .section-kicker,
.statement-section .section-kicker {
  font-size: 9px;
  font-weight: 900;
  letter-spacing: .2em;
  text-transform: uppercase;
}

.editorial-grid-section .section-title {
  max-width: 780px;
}


/* ============================================================
   10. CTA REFINEMENT
============================================================ */

.cta-section .cta-panel {
  position: relative;
  overflow: hidden;
}

.cta-section .cta-panel::before {
  content: "";
  position: absolute;
  top: -120px;
  right: -120px;
  width: 320px;
  height: 320px;
  border-radius: 50%;
  background:
    radial-gradient(
      circle,
      rgba(226,53,48,.18),
      rgba(226,53,48,0) 68%
    );
  pointer-events: none;
}

.cta-section .cta-panel::after {
  content: "";
  position: absolute;
  bottom: -100px;
  left: 35%;
  width: 240px;
  height: 240px;
  border-radius: 50%;
  border: 1px solid rgba(255,255,255,.055);
  pointer-events: none;
}


/* ============================================================
   11. HOVER / FOCUS ACCESSIBILITY
============================================================ */

.editorial-card:focus-visible,
.editorial-feature:focus-visible,
.insight-card:focus-visible,
.article-sidebar a:focus-visible,
.share-row button:focus-visible,
.share-row a:focus-visible {
  outline: 3px solid rgba(226,53,48,.38);
  outline-offset: 4px;
}

.editorial-card,
.editorial-feature,
.insight-card,
.article-sidebar a,
.share-row button,
.share-row a {
  -webkit-tap-highlight-color: transparent;
}


/* ============================================================
   12. RESPONSIVE — TABLET
============================================================ */

@media (min-width: 768px) {

  .editorial-feature {
    grid-template-columns: 1.08fr .92fr;
  }

  .editorial-feature-media {
    min-height: 620px;
  }

  .article-sidebar {
    position: sticky;
    top: 130px;
    align-self: start;
  }

}


/* ============================================================
   13. RESPONSIVE — MOBILE
============================================================ */

@media (max-width: 767px) {

  .editorial-feature {
    min-height: 0;
  }

  .editorial-feature-media {
    min-height: 340px;
  }

  .editorial-feature-content {
    padding: 28px;
  }

  .editorial-feature-content > div:last-child {
    margin-top: 28px;
  }

  .editorial-feature-tag {
    left: 20px;
    bottom: 20px;
  }

  .editorial-card {
    min-height: 320px;
    padding: 24px;
  }

  .article-cover {
    width: calc(100% - 24px);
    border-radius: 22px 22px 0 0;
  }

  .article-cover img {
    height: 300px;
  }

  .article-copy > p {
    font-size: 1rem;
    line-height: 1.9;
  }

  .article-copy .dropcap {
    font-size: 4.25rem;
  }

  .article-copy h2 {
    margin-top: 3.2rem;
  }

  .article-copy blockquote {
    margin:
      2.4rem 0;
    padding-left: 1.35rem;
    font-size: 1.25rem;
  }

  .article-sidebar {
    padding-bottom: 4px;
  }

  .article-sidebar::before {
    top: 34px;
  }

  .share-title {
    margin-top: 28px !important;
  }

}


/* ============================================================
   14. MOTION — REDUCED MOTION
============================================================ */

@media (prefers-reduced-motion: reduce) {

  .editorial-feature,
  .editorial-feature-media img,
  .editorial-card,
  .editorial-icon,
  .editorial-arrow,
  .article-cover img,
  .statement-section .insight-card img {
    transition: none !important;
  }

  .editorial-feature:hover,
  .editorial-card:hover {
    transform: none;
  }

}

/* ============================================================
   INSPIRSA GROUP — V5.1 READING PROGRESS
============================================================ */

.article-reading-progress {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 9999;
  width: 100%;
  height: 3px;
  overflow: hidden;
  pointer-events: none;
  background: rgba(255,255,255,.08);
}

.article-reading-progress-bar {
  display: block;
  width: 100%;
  height: 100%;
  background: var(--red);
  transform:
    scaleX(0);
  transform-origin: left center;
  will-change: transform;
  box-shadow:
    0 0 18px rgba(226,53,48,.38);
}

.article-reading-progress.reduced-motion
.article-reading-progress-bar {
  transition: none !important;
}

@media (prefers-reduced-motion: reduce) {

  .article-reading-progress-bar {
    transition: none !important;
  }

}


/* ============================================================
   INSPIRSA GROUP — V5.2 CAREERS REFINEMENT
============================================================ */

.culture-grid > article {
  min-height: 220px;
  padding: 28px;
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  background: var(--white);
  box-shadow: 0 10px 35px rgba(0,3,34,.045);
  transition:
    transform .4s cubic-bezier(.22,1,.36,1),
    box-shadow .4s ease,
    border-color .35s ease;
}

.culture-grid > article:hover {
  transform: translateY(-5px);
  border-color: rgba(226,53,48,.22);
  box-shadow: var(--shadow-soft);
}

.culture-grid > article > i {
  display: inline-flex;
  width: 42px;
  height: 42px;
  align-items: center;
  justify-content: center;
  border-radius: 13px;
  background: var(--mist);
  color: var(--navy);
}

.culture-grid > article > b {
  display: block;
  margin-top: 18px;
  color: var(--navy);
  font-family: var(--font-display, "Manrope", Inter, sans-serif);
  font-size: 1rem;
  font-weight: 800;
}

.culture-grid > article > p {
  margin-top: 9px;
  color: var(--muted);
  font-size: .86rem;
  line-height: 1.75;
}

@media (max-width: 767px) {
  .culture-grid > article {
    min-height: auto;
  }
}


/* ============================================================
   INSPIRSA GROUP — V5.3 CONTACT REFINEMENT
============================================================ */

.contact-topic-icon {
  display: inline-flex;
  width: 50px;
  height: 50px;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--line);
  border-radius: 15px;
  background: var(--mist);
  color: var(--navy);
  transition:
    transform .35s ease,
    background .35s ease,
    color .35s ease;
}

.contact-topic-icon svg {
  width: 20px;
  height: 20px;
}

.soft-card:hover .contact-topic-icon {
  transform: translateY(-2px);
  background: var(--navy);
  color: var(--white);
}

.contact-topic-link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-top: 24px;
  color: var(--navy);
  font-size: .74rem;
  font-weight: 800;
  letter-spacing: .03em;
  transition:
    color .3s ease,
    transform .3s ease;
}

.contact-topic-link svg {
  width: 15px;
  height: 15px;
  transition: transform .3s ease;
}

.contact-topic-link:hover {
  color: var(--red);
}

.contact-topic-link:hover svg {
  transform: translateX(4px);
}


/* ============================================================
   FORM HEADER
============================================================ */

.contact-form-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 24px;
  margin-bottom: 30px;
  padding-bottom: 24px;
  border-bottom: 1px solid var(--line);
}

.contact-form-step {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 8px 11px;
  border-radius: 999px;
  background: var(--mist);
  color: var(--muted);
  font-size: 9px;
  font-weight: 900;
  letter-spacing: .14em;
}


/* ============================================================
   FORM LABELS
============================================================ */

.contact-form label > span {
  display: block;
  margin-bottom: 9px;
  color: var(--navy);
  font-size: .73rem;
  font-weight: 800;
  letter-spacing: .02em;
}

.contact-form .form-field::placeholder {
  color: #9aa1b2;
}


/* ============================================================
   FORM FOOTER
============================================================ */

.contact-form-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  margin-top: 5px;
  padding-top: 8px;
}

.contact-form-footer .form-note {
  max-width: 460px;
  margin: 0;
}


/* ============================================================
   NETWORK CONTACT CARDS
============================================================ */

.network-contact-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 1px;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: var(--radius-xl);
  background: var(--line);
  box-shadow: 0 20px 70px rgba(0,3,34,.06);
}

.network-contact-card {
  position: relative;
  min-height: 260px;
  padding: 28px;
  background: var(--white);
  transition:
    background .35s ease,
    transform .35s ease;
}

.network-contact-card:hover {
  z-index: 1;
  background: var(--mist);
}

.network-contact-card-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.network-contact-card-top svg {
  width: 19px;
  height: 19px;
  color: var(--red);
}

.network-contact-index {
  color: #b0b5c2;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .16em;
}

.network-contact-label {
  display: block;
  margin-top: 54px;
  color: var(--red);
  font-size: 9px;
  font-weight: 900;
  letter-spacing: .18em;
  text-transform: uppercase;
}

.network-contact-card h3 {
  margin-top: 9px;
  color: var(--navy);
  font-family: var(--font-display, "Manrope", Inter, sans-serif);
  font-size: 1.65rem;
  font-weight: 800;
  letter-spacing: -.035em;
}

.network-contact-card p {
  margin-top: 5px;
  color: var(--muted);
  font-size: .82rem;
  line-height: 1.65;
}


/* ============================================================
   RESPONSIVE
============================================================ */

@media (max-width: 1100px) {

  .network-contact-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

}

@media (max-width: 767px) {

  .contact-form-header {
    flex-direction: column;
    gap: 14px;
  }

  .contact-form-footer {
    align-items: stretch;
    flex-direction: column;
  }

  .contact-form-footer .btn {
    width: 100%;
    justify-content: center;
  }

  .network-contact-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .network-contact-card {
    min-height: 220px;
    padding: 22px;
  }

  .network-contact-label {
    margin-top: 38px;
  }

}

@media (max-width: 520px) {

  .network-contact-grid {
    grid-template-columns: 1fr;
  }

}

/* ============================================================
   INSPIRSA GROUP — V5.4 ENGAGEMENTS & IMPACT
============================================================ */


/* ============================================================
   ENGAGEMENT CARDS
============================================================ */

.engagement-card {
  position: relative;
  min-height: 430px;
  padding: 32px;
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  background: var(--white);
  box-shadow: 0 14px 48px rgba(0,3,34,.055);
  transition:
    transform .42s cubic-bezier(.22,1,.36,1),
    box-shadow .42s ease,
    border-color .35s ease;
}

.engagement-card:hover {
  transform: translateY(-7px);
  border-color: rgba(226,53,48,.22);
  box-shadow: var(--shadow-premium);
}

.engagement-card .engagement-icon {
  display: inline-flex;
  width: 52px;
  height: 52px;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--line);
  border-radius: 15px;
  background: var(--mist);
  color: var(--navy);
}

.engagement-card .engagement-icon svg {
  width: 20px;
  height: 20px;
}

.engagement-number {
  position: absolute;
  top: 34px;
  right: 32px;
  color: #c6cad4;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .18em;
}

.engagement-card h3 {
  max-width: 320px;
  margin-top: 28px;
  color: var(--navy);
  font-family: var(--font-display, "Manrope", Inter, sans-serif);
  font-size: clamp(1.5rem, 2vw, 1.9rem);
  font-weight: 800;
  letter-spacing: -.035em;
  line-height: 1.1;
}

.engagement-card p {
  max-width: 400px;
  margin-top: 16px;
  color: var(--muted);
  font-size: .92rem;
  line-height: 1.8;
}

.engagement-link {
  position: absolute;
  left: 70%;
  bottom: 31px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: var(--navy);
  font-size: .73rem;
  font-weight: 800;
  transition:
    color .3s ease,
    transform .3s ease;
}

.engagement-link svg {
  width: 15px;
  height: 15px;
  transition: transform .3s ease;
}

.engagement-link:hover {
  color: var(--red);
}

.engagement-link:hover svg {
  transform: translate(3px,-2px);
}


/* ============================================================
   IMPACT ROWS
============================================================ */

.impact-row {
  display: grid;
  grid-template-columns: 62px minmax(0,1fr) 22px;
  align-items: center;
  gap: 20px;
  min-height: 118px;
  padding: 24px 26px;
  border: 1px solid var(--line);
  border-radius: var(--radius-md);
  background: var(--white);
  transition:
    transform .35s ease,
    border-color .35s ease,
    box-shadow .35s ease;
}

.impact-row:hover {
  transform: translateX(5px);
  border-color: rgba(226,53,48,.22);
  box-shadow: 0 14px 42px rgba(0,3,34,.06);
}

.impact-row-number {
  display: inline-flex;
  width: 42px;
  height: 42px;
  align-items: center;
  justify-content: center;
  border-radius: 14px;
  background: var(--mist);
  color: var(--navy);
  font-size: 11px;
  font-weight: 900;
}

.impact-row h3 {
  color: var(--navy);
  font-family: var(--font-display, "Manrope", Inter, sans-serif);
  font-size: 1rem;
  font-weight: 800;
  letter-spacing: -.015em;
}

.impact-row p {
  margin-top: 6px;
  color: var(--muted);
  font-size: .84rem;
  line-height: 1.65;
}

.impact-row > svg {
  width: 17px;
  height: 17px;
  color: var(--red);
  transition: transform .3s ease;
}

.impact-row:hover > svg {
  transform: translateX(4px);
}


/* ============================================================
   RESPONSIVE
============================================================ */

@media (max-width: 767px) {

  .engagement-card {
    min-height: 380px;
    padding: 26px;
  }

  .engagement-number {
    top: 28px;
    right: 26px;
  }

  .engagement-link {
    left: 80%;
    bottom: 25px;
  }

  .impact-row {
    grid-template-columns: 48px minmax(0,1fr);
    gap: 15px;
    padding: 20px;
  }

  .impact-row > svg {
    display: none;
  }

}


/* ============================================================
   INSPIRSA GROUP — GOVERNANCE V5.6
   Correctif définitif :
   - sections claires
   - titres
   - cartes de principes
   - architecture sombre
   - réseau de gouvernance
   - responsive
============================================================ */


/* ============================================================
   01. SÉCURITÉ DE LA PAGE
============================================================ */

.governance-page {
  overflow-x: hidden;
}

.governance-page main {
  width: 100%;
  overflow: hidden;
}

.governance-page section {
  position: relative;
}


/* ============================================================
   02. ALIGNEMENT DES COLONNES
============================================================ */

.governance-page .grid > * {
  min-width: 0;
}


/* ============================================================
   03. SECTION "NOTRE CONVICTION"
============================================================ */

.governance-page .governance-conviction {
  background:
    linear-gradient(
      180deg,
      #ffffff 0%,
      #fbfcfe 100%
    );
}

.governance-page .governance-conviction-grid {
  display: grid;
  grid-template-columns:
    minmax(0, .82fr)
    minmax(0, 1.18fr);
  gap: clamp(50px, 7vw, 120px);
  align-items: start;
  width: 100%;
}

.governance-page .governance-conviction-heading {
  min-width: 0;
  max-width: 680px;
}

.governance-page .governance-conviction-heading .section-kicker {
  color: var(--red) !important;
}

.governance-page .governance-conviction-heading .section-title {
  max-width: 650px;

  color: var(--navy) !important;

  font-size:
    clamp(
      2.65rem,
      4vw,
      4.2rem
    );

  font-weight: 800;
  line-height: 1.01;
  letter-spacing: -.055em;

  margin-left: 0;
  margin-right: auto;

  text-wrap: balance;
}

.governance-page .governance-conviction-copy {
  min-width: 0;
  max-width: 790px;
  padding-top: 2px;
}

.governance-page .governance-conviction-copy .section-lead {
  max-width: 760px;

  color: #626b7f !important;

  font-size:
    clamp(
      1rem,
      1.25vw,
      1.16rem
    );

  line-height: 1.9;
}

.governance-page .governance-conviction-copy > p:not(.section-lead) {
  max-width: 730px;

  color: var(--muted) !important;

  font-size: .98rem;
  line-height: 1.9;
}


/* ============================================================
   04. KICKERS DES SECTIONS CLAIRES
============================================================ */

.governance-page .content-section .section-kicker,
.governance-page .statement-section .section-kicker,
.governance-page .governance-conviction .section-kicker {
  color: var(--red) !important;
}


/* ============================================================
   05. TITRES DES SECTIONS CLAIRES
============================================================ */

.governance-page .content-section .section-title,
.governance-page .statement-section .section-title {
  color: var(--navy) !important;
}


/*
 * Évite qu'un titre trop large force la colonne.
 */
.governance-page .content-section .section-title {
  max-width: 720px;
}


/* ============================================================
   06. PRINCIPES DE GOUVERNANCE
============================================================ */

.governance-page #principes {
  background:
    linear-gradient(
      180deg,
      #f6f7fa 0%,
      #f3f5f8 100%
    );
}

.governance-page #principes > div {
  position: relative;
  z-index: 1;
}


/* ============================================================
   07. MODEL GRID — VERSION CLAIRE
============================================================ */

.governance-page #principes .model-grid {
  display: grid;
  grid-template-columns:
    repeat(4, minmax(0, 1fr));

  gap: 14px;

  width: 100%;

  background: transparent;
  border: 0;
  overflow: visible;
}


/*
 * Important :
 * le CSS global définit .model-card comme une carte sombre.
 * On le neutralise ici pour la gouvernance.
 */
.governance-page #principes .model-card {
  position: relative;

  min-width: 0;
  min-height: 300px;

  padding: 28px;

  background:
    radial-gradient(
      circle at 100% 0%,
      rgba(226,53,48,.045),
      transparent 30%
    ),
    #ffffff;

  color: var(--ink) !important;

  border:
    1px solid
    var(--line);

  border-radius:
    var(--radius-lg);

  box-shadow:
    0 12px 36px
    rgba(0,3,34,.045);

  overflow: hidden;

  transition:
    transform .4s cubic-bezier(.22,1,.36,1),
    box-shadow .4s ease,
    border-color .35s ease;
}


/*
 * Petite ligne rouge de finition.
 */
.governance-page #principes .model-card::before {
  content: "";

  position: absolute;

  top: 0;
  left: 0;

  width: 58px;
  height: 2px;

  background:
    linear-gradient(
      90deg,
      var(--red),
      rgba(226,53,48,.08)
    );
}


/*
 * Hover
 */
.governance-page #principes .model-card:hover {
  transform: translateY(-6px);

  border-color:
    rgba(226,53,48,.18);

  box-shadow:
    0 26px 60px
    rgba(0,3,34,.09);
}


/* ============================================================
   08. TOP DES CARTES
============================================================ */

.governance-page .model-card-top {
  display: flex;

  align-items: center;
  justify-content: space-between;

  gap: 16px;
}

.governance-page .model-card-top > span {
  display: inline-flex;

  width: 36px;
  height: 36px;

  align-items: center;
  justify-content: center;

  border-radius: 11px;

  background: var(--mist);

  color: var(--red) !important;

  font:
    800 10px/1
    Manrope,
    Inter,
    sans-serif;

  letter-spacing: .12em;
}


/* ============================================================
   09. ICÔNES DES PRINCIPES
============================================================ */

.governance-page .model-card-icon {
  display: inline-flex;

  width: 46px;
  height: 46px;

  align-items: center;
  justify-content: center;

  flex: 0 0 auto;

  border:
    1px solid
    var(--line);

  border-radius: 14px;

  background: var(--mist);

  color: var(--navy) !important;

  transition:
    background .35s ease,
    color .35s ease,
    transform .35s ease;
}

.governance-page .model-card-icon svg {
  width: 19px;
  height: 19px;

  color: var(--navy) !important;

  stroke: currentColor;
}

.governance-page .model-card:hover .model-card-icon {
  background: var(--navy);
  color: var(--white) !important;

  transform:
    translateY(-2px);
}

.governance-page .model-card:hover .model-card-icon svg {
  color: var(--white) !important;
}


/* ============================================================
   10. TITRES DES CARTES
============================================================ */

.governance-page #principes .model-card h3 {
  margin-top: 28px;

  color: var(--navy) !important;

  font:
    800 1.5rem/1.08
    Manrope,
    Inter,
    sans-serif;

  letter-spacing: -.035em;
}


/* ============================================================
   11. TEXTES DES CARTES
============================================================ */

.governance-page #principes .model-card p {
  max-width: 320px;

  margin-top: 13px;

  color: var(--muted) !important;

  font-size: .86rem;
  line-height: 1.75;
}


/* ============================================================
   12. SECTION SOMBRE
============================================================ */

.governance-page .dark-band {
  background:
    radial-gradient(
      circle at 84% 12%,
      rgba(226,53,48,.10),
      transparent 22%
    ),
    linear-gradient(
      145deg,
      #07104a,
      #000322 62%,
      #00021b
    );

  color: var(--white);
}


.governance-page .dark-band .section-kicker {
  color:
    rgba(255,255,255,.45)
    !important;
}


.governance-page .dark-band .dark-title {
  color:
    var(--white)
    !important;
}

.governance-page .dark-band .dark-copy {
  color:
    rgba(255,255,255,.58)
    !important;
}


/* ============================================================
   13. FEATURE PILOTAGE
============================================================ */

.governance-page .pillar-feature {
  min-width: 0;
}

.governance-page .pillar-feature h3 {
  color: #fff !important;

  max-width: 720px;

  font:
    800 clamp(
      2.3rem,
      4vw,
      4.4rem
    )/1
    Manrope,
    Inter,
    sans-serif;

  letter-spacing: -.06em;
}

.governance-page .pillar-feature p {
  color:
    rgba(255,255,255,.56)
    !important;

  max-width: 620px;

  line-height: 1.9;
}


/* ============================================================
   14. PILLAR CARDS — SECTION SOMBRE
============================================================ */

.governance-page .dark-band .pillar-card {
  min-width: 0;

  background: #fff;

  border:
    1px solid
    #e6e9ef;

  color: var(--ink);
}

.governance-page .dark-band .pillar-card h4 {
  color:
    var(--navy)
    !important;
}

.governance-page .dark-band .pillar-card p {
  color:
    #70798d
    !important;
}

.governance-page .dark-band .pillar-number {
  color:
    var(--red)
    !important;

  background:
    #f2f3f7;
}


/* ============================================================
   15. QUALITÉ DES DÉCISIONS
============================================================ */

.governance-page
.content-section
.soft-card {
  min-width: 0;

  background: #fff;

  color:
    var(--ink)
    !important;
}

.governance-page
.content-section
.soft-card h3 {
  color:
    var(--navy)
    !important;
}

.governance-page
.content-section
.soft-card p {
  color:
    var(--muted)
    !important;
}

.governance-page
.content-section
.soft-card svg {
  color:
    var(--navy)
    !important;
}


/* ============================================================
   16. NETWORK CARD
============================================================ */

.governance-page .governance-network-card {
  width: 100%;
  max-width: 100%;

  min-width: 0;

  overflow: hidden;

  background:
    linear-gradient(
      145deg,
      #ffffff,
      #f7f8fa
    );

  border:
    1px solid
    var(--line);

  border-radius:
    var(--radius-xl);

  box-shadow:
    0 25px 70px
    rgba(0,3,34,.07);
}

.governance-page .governance-network-top span {
  color: var(--red);
}

.governance-page .governance-network-top svg {
  color: var(--navy);
}


/* ============================================================
   17. NETWORK NODES
============================================================ */

.governance-page .governance-network-nodes {
  display: grid;
  gap: 18px;
}

.governance-page .governance-network-nodes > div {
  min-width: 0;

  display: grid;

  grid-template-columns:
    10px
    minmax(0,1fr)
    auto;

  align-items: center;

  gap: 12px;
}

.governance-page
.governance-network-nodes
> div
> span {
  width: 8px;
  height: 8px;

  border-radius: 50%;

  background: var(--red);

  box-shadow:
    0 0 0 5px
    rgba(226,53,48,.10);
}

.governance-page
.governance-network-nodes
strong {
  color:
    var(--navy)
    !important;

  font-size: .88rem;
  font-weight: 800;
}

.governance-page
.governance-network-nodes
small {
  color:
    var(--muted)
    !important;

  font-size: .7rem;
  font-weight: 600;
}


/* ============================================================
   18. TRANSPARENCE / BLOCS INSTITUTIONNELS
============================================================ */

.governance-page
.content-section
.border-l-2 {
  color: var(--ink);

  background:
    #f6f7fa;
}

.governance-page
.content-section
.border-l-2
> span {
  color:
    var(--red)
    !important;
}

.governance-page
.content-section
.border-l-2
h3 {
  color:
    var(--navy)
    !important;
}

.governance-page
.content-section
.border-l-2
p {
  color:
    var(--muted)
    !important;
}


/* ============================================================
   19. CTA
============================================================ */

.governance-page .cta-panel {
  position: relative;
  overflow: hidden;
}

.governance-page .cta-panel .section-kicker {
  color: var(--red) !important;
}

.governance-page .cta-panel .cta-title {
  color: #fff !important;
}


/* ============================================================
   20. RESPONSIVE TABLET
============================================================ */

@media (max-width: 1100px) {

  .governance-page
  .governance-conviction-grid {
    grid-template-columns:
      minmax(0, .72fr)
      minmax(0, 1.28fr);

    gap: 50px;
  }

  .governance-page
  #principes
  .model-grid {
    grid-template-columns:
      repeat(2, minmax(0,1fr));
  }

  .governance-page
  .governance-conviction-heading
  .section-title {
    font-size:
      clamp(
        2.5rem,
        4.5vw,
        3.7rem
      );
  }

}


/* ============================================================
   21. RESPONSIVE MOBILE
============================================================ */

@media (max-width: 760px) {

  .governance-page
  .governance-conviction-grid {
    grid-template-columns: 1fr;

    gap: 34px;
  }

  .governance-page
  .governance-conviction-heading
  .section-title {
    max-width: 100%;

    font-size:
      clamp(
        2.25rem,
        10vw,
        3.1rem
      );

    line-height: 1.02;
  }

  .governance-page
  .governance-conviction-copy {
    max-width: 100%;
  }

  .governance-page
  #principes
  .model-grid {
    grid-template-columns: 1fr;
  }

  .governance-page
  #principes
  .model-card {
    min-height: 0;
  }

  .governance-page
  .governance-network-nodes
  > div {
    grid-template-columns:
      10px
      minmax(0,1fr);
  }

  .governance-page
  .governance-network-nodes
  small {
    grid-column: 2;

    margin-top: -5px;
  }

}


/* ============================================================
   22. PETITS ÉCRANS
============================================================ */

@media (max-width: 480px) {

  .governance-page
  .governance-conviction-heading
  .section-title {
    font-size: 2.2rem;
  }

  .governance-page
  #principes
  .model-card {
    padding: 24px;
  }

  .governance-page
  .model-card-top {
    gap: 10px;
  }

}

/* ============================================================
   V7 — INSTITUTIONAL PAGES COMPLETE REFINEMENT
   Mentions légales / Confidentialité / Presse / Publications
============================================================ */


/* ============================================================
   01. BASE
============================================================ */

.institutional-page {
    overflow-x: hidden;
    background: var(--mist);
}

.institutional-page main {
    overflow: hidden;
}

.institutional-page .section-title {
    color: var(--navy);
}

.institutional-page .section-lead {
    color: var(--muted);
}


/* ============================================================
   02. HERO
============================================================ */

.institutional-page .page-hero {
    position: relative;
    overflow: hidden;
    background:
        radial-gradient(
            circle at 82% 20%,
            rgba(226,53,48,.16),
            transparent 27%
        ),
        linear-gradient(
            135deg,
            #000322 0%,
            #050936 58%,
            #090e40 100%
        );
}

.institutional-page .page-hero::after {
    content: "";
    position: absolute;
    width: 520px;
    height: 520px;
    right: -170px;
    bottom: -270px;
    border: 1px solid rgba(255,255,255,.09);
    border-radius: 50%;
    box-shadow:
        0 0 0 80px rgba(255,255,255,.025),
        0 0 0 160px rgba(255,255,255,.015);
    pointer-events: none;
}

.institutional-page .page-hero > div:last-child {
    position: relative;
    z-index: 2;
}

.institutional-page .page-title {
    color: #fff;
    font-size: clamp(3rem, 6vw, 5.8rem);
    line-height: .98;
    letter-spacing: -.055em;
}

.institutional-page .page-lead {
    color: rgba(255,255,255,.70);
    font-size: 1.04rem;
    line-height: 1.8;
}

.legal-hero-meta {
    display: flex;
    flex-wrap: wrap;
    gap: .7rem;
}

.legal-hero-meta span {
    display: inline-flex;
    align-items: center;
    gap: .55rem;
    padding: .65rem .9rem;
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 999px;
    background: rgba(255,255,255,.055);
    color: rgba(255,255,255,.75);
    font-size: .72rem;
    font-weight: 700;
}

.legal-hero-meta svg {
    color: var(--red);
}


/* ============================================================
   03. COMMON SECTIONS
============================================================ */

.institutional-page section:not(.page-hero) > .mx-auto {
    padding-top: 4.5rem;
    padding-bottom: 4.5rem;
}

.institutional-page .content-section {
    background: #fff;
}

.institutional-page .statement-section {
    background: var(--mist);
}

.institutional-page .engagements-section {
    background: #fff;
}


/* ============================================================
   04. LEGAL DOCUMENT LAYOUT
============================================================ */

.legal-layout {
    display: grid;
    grid-template-columns: 245px minmax(0,1fr);
    gap: 3.5rem;
    align-items: start;
}

.legal-index-panel {
    position: sticky;
    top: 115px;
    padding: 1rem;
    border: 1px solid var(--line);
    border-radius: var(--radius-lg);
    background: #fff;
    box-shadow: 0 16px 50px rgba(0,3,34,.06);
}

.legal-index-heading {
    padding: .7rem .75rem 1rem;
    border-bottom: 1px solid var(--line);
}

.legal-index-heading span {
    display: block;
    color: var(--red);
    font-size: .64rem;
    font-weight: 900;
    letter-spacing: .15em;
    text-transform: uppercase;
}

.legal-index-heading strong {
    display: block;
    margin-top: .4rem;
    font-family: "Manrope", sans-serif;
    font-size: 1rem;
    color: var(--navy);
}

.legal-index-panel nav {
    display: grid;
    gap: .25rem;
    margin-top: .65rem;
}

.legal-index-panel nav a {
    display: grid;
    grid-template-columns: 28px 1fr;
    gap: .55rem;
    align-items: center;
    padding: .72rem .7rem;
    border-radius: 10px;
    color: var(--ink);
    font-size: .76rem;
    font-weight: 700;
    text-decoration: none;
    transition:
        color .2s ease,
        background .2s ease,
        transform .2s ease;
}

.legal-index-panel nav a span {
    color: var(--red);
    font-size: .65rem;
    font-weight: 900;
}

.legal-index-panel nav a:hover {
    background: rgba(226,53,48,.06);
    color: var(--red);
    transform: translateX(3px);
}

.legal-content-panel {
    min-width: 0;
    padding: 1rem 0;
}


/* ============================================================
   05. LEGAL SECTIONS
============================================================ */

.legal-content-panel .legal-section {
    display: grid;
    grid-template-columns: 52px minmax(0,1fr);
    gap: 1.4rem;
    padding: 2.25rem 0;
    border-top: 1px solid var(--line);
}

.legal-content-panel .legal-section:first-child {
    padding-top: 0;
    border-top: 0;
}

.legal-content-panel .legal-index {
    display: grid;
    place-items: center;
    width: 40px;
    height: 40px;
    border-radius: 12px;
    background: rgba(226,53,48,.07);
    color: var(--red);
    font-size: .64rem;
    font-weight: 900;
    letter-spacing: .1em;
}

.legal-content-panel .legal-section h2 {
    margin: 0;
    color: var(--navy) !important;
    font-family: "Manrope", sans-serif;
    font-size: clamp(1.35rem, 2vw, 1.8rem);
    font-weight: 800;
    line-height: 1.15;
    letter-spacing: -.035em;
}

.legal-content-panel .legal-section p,
.legal-content-panel .legal-section li {
    max-width: 850px;
    color: var(--muted) !important;
    font-size: .94rem;
    line-height: 1.82;
}

.legal-content-panel .legal-section p {
    margin-top: 1rem;
}

.legal-content-panel .legal-section p + p {
    margin-top: .7rem;
}

.legal-content-panel .legal-section strong {
    color: var(--navy) !important;
}


/* ============================================================
   06. NOTES JURIDIQUES
============================================================ */

.legal-content-panel .legal-note {
    margin-top: 1.15rem;
    padding: 1rem 1.1rem;
    border: 1px solid rgba(226,53,48,.10);
    border-left: 3px solid var(--red);
    border-radius: 0 var(--radius-md) var(--radius-md) 0;
    background: rgba(226,53,48,.045);
    color: var(--ink) !important;
}

.legal-content-panel .legal-note {
    font-size: .82rem !important;
    line-height: 1.7 !important;
}


/* ============================================================
   07. DISCLAIMER
============================================================ */

.legal-content-panel .legal-disclaimer {
    display: grid;
    grid-template-columns: 22px minmax(0,1fr);
    gap: .8rem;
    margin-top: 1.75rem;
    padding: 1.15rem 1.2rem;
    border: 1px solid rgba(226,53,48,.14);
    border-radius: var(--radius-md);
    background: #fff7f6;
}

.legal-content-panel .legal-disclaimer svg {
    width: 18px;
    height: 18px;
    margin-top: 2px;
    color: var(--red);
}

.legal-content-panel .legal-disclaimer p {
    margin: 0;
    color: var(--ink) !important;
    font-size: .8rem;
    line-height: 1.75;
}


/* ============================================================
   08. LEGAL NAVIGATION
============================================================ */

.institutional-page .legal-navigation-grid {
    display: grid;
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 1rem;
}

.institutional-page .legal-navigation-card {
    min-height: 130px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1.25rem;
    padding: 1.4rem 1.5rem;
    border: 1px solid var(--line);
    border-radius: var(--radius-lg);
    background: #fff;
    text-decoration: none;
    box-shadow: 0 10px 35px rgba(0,3,34,.035);
    transition:
        transform .3s ease,
        box-shadow .3s ease,
        border-color .3s ease;
}

.institutional-page .legal-navigation-card:hover {
    transform: translateY(-4px);
    border-color: rgba(226,53,48,.22);
    box-shadow: var(--shadow-soft);
}

.institutional-page .legal-navigation-card span {
    display: block;
    color: var(--red);
    font-size: .62rem;
    font-weight: 900;
    letter-spacing: .14em;
    text-transform: uppercase;
}

.institutional-page .legal-navigation-card h3 {
    margin-top: .4rem;
    color: var(--navy);
    font-family: "Manrope", sans-serif;
    font-size: 1rem;
    font-weight: 800;
}

.institutional-page .legal-navigation-card svg {
    flex: 0 0 auto;
    color: var(--navy);
    transition:
        color .25s ease,
        transform .25s ease;
}

.institutional-page .legal-navigation-card:hover svg {
    color: var(--red);
    transform: translate(3px,-3px);
}


/* ============================================================
   09. PRIVACY
============================================================ */

.privacy-list {
    display: grid;
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: .7rem;
    margin-top: 1.25rem;
}

.privacy-list > div {
    display: flex;
    align-items: center;
    gap: .75rem;
    padding: .85rem .95rem;
    border: 1px solid var(--line);
    border-radius: 13px;
    background: var(--mist);
}

.privacy-list svg {
    flex: 0 0 auto;
    width: 17px;
    height: 17px;
    color: var(--red);
}

.privacy-list span {
    color: var(--navy);
    font-size: .8rem;
    font-weight: 700;
}

.privacy-purpose-grid {
    display: grid;
    grid-template-columns: repeat(3,minmax(0,1fr));
    gap: .8rem;
    margin-top: 1.25rem;
}

.privacy-purpose-card {
    padding: 1.2rem;
    border: 1px solid var(--line);
    border-radius: 15px;
    background: #fff;
    box-shadow: 0 8px 30px rgba(0,3,34,.025);
}

.privacy-purpose-card > span {
    display: grid;
    place-items: center;
    width: 28px;
    height: 28px;
    border-radius: 8px;
    background: rgba(226,53,48,.08);
    color: var(--red);
    font-size: .6rem;
    font-weight: 900;
}

.privacy-purpose-card h3 {
    margin-top: .8rem;
    color: var(--navy);
    font-family: "Manrope", sans-serif;
    font-size: .92rem;
    font-weight: 800;
}

.privacy-purpose-card p {
    margin-top: .45rem !important;
    font-size: .78rem !important;
    line-height: 1.65 !important;
}

.privacy-highlight {
    display: grid;
    grid-template-columns: 22px minmax(0,1fr);
    gap: .8rem;
    margin-top: 1.25rem;
    padding: 1.15rem;
    border-radius: var(--radius-md);
    background: var(--navy);
}

.privacy-highlight svg {
    width: 18px;
    height: 18px;
    margin-top: 2px;
    color: var(--red);
}

.privacy-highlight strong {
    color: #fff !important;
    font-size: .9rem;
}

.privacy-highlight p {
    margin-top: .45rem !important;
    color: rgba(255,255,255,.68) !important;
    font-size: .78rem !important;
}

.privacy-version {
    display: inline-flex;
    align-items: center;
    gap: .55rem;
    margin-top: 1.1rem;
    padding: .55rem .8rem;
    border-radius: 999px;
    background: var(--mist);
}

.privacy-version span,
.privacy-version strong {
    font-size: .65rem;
    text-transform: uppercase;
    letter-spacing: .08em;
}

.privacy-version span {
    color: var(--muted);
}

.privacy-version strong {
    color: var(--red);
}


/* ============================================================
   10. PRESS / PUBLICATIONS HERO
============================================================ */

.press-page .page-hero,
.publications-page .page-hero {
    background:
        radial-gradient(
            circle at 80% 20%,
            rgba(226,53,48,.18),
            transparent 27%
        ),
        linear-gradient(
            135deg,
            #000322,
            #070c3d
        );
}


/* ============================================================
   11. PRESS FEATURE
============================================================ */

.press-page .editorial-feature {
    display: grid;
    grid-template-columns: .8fr 1.2fr;
    overflow: hidden;
    min-height: 440px;
    border: 1px solid var(--line);
    border-radius: var(--radius-xl);
    background: #fff;
    box-shadow: var(--shadow-soft);
}

.press-page .editorial-feature-media {
    min-height: 100%;
    background:
        radial-gradient(
            circle at 25% 20%,
            rgba(226,53,48,.25),
            transparent 28%
        ),
        linear-gradient(
            145deg,
            var(--navy),
            var(--navy-3)
        );
}

.press-page .editorial-feature-media-inner {
    min-height: 100%;
    padding: 2.3rem;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
}

.press-page .editorial-feature-media-mark {
    font-family: "Manrope", sans-serif;
    font-size: clamp(3rem, 5vw, 5.5rem);
    font-weight: 800;
    line-height: .86;
    letter-spacing: -.07em;
    color: #fff;
}

.press-page .editorial-feature-media-label {
    margin-top: .65rem;
    color: rgba(255,255,255,.45);
}

.press-page .editorial-feature-content {
    padding: clamp(2rem, 5vw, 4rem);
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.press-page .editorial-feature-content h3 {
    margin-top: .75rem;
    max-width: 660px;
    color: var(--navy);
    font-family: "Manrope", sans-serif;
    font-size: clamp(2rem, 4vw, 3.35rem);
    line-height: 1.02;
    letter-spacing: -.045em;
}

.press-page .editorial-feature-content p {
    max-width: 650px;
    margin-top: 1.15rem;
    color: var(--muted);
    line-height: 1.75;
}


/* ============================================================
   12. PUBLICATIONS FEATURE
============================================================ */

.publications-page .publication-feature {
    display: grid;
    grid-template-columns: .8fr 1.2fr;
    overflow: hidden;
    min-height: 500px;
    border: 1px solid var(--line);
    border-radius: var(--radius-xl);
    background: #fff;
    box-shadow: var(--shadow-premium);
}

.publications-page .publication-feature-visual {
    min-height: 500px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 2.5rem;
    background:
        radial-gradient(
            circle at 25% 20%,
            rgba(226,53,48,.25),
            transparent 30%
        ),
        linear-gradient(
            145deg,
            var(--navy),
            var(--navy-3)
        );
}

.publications-page .publication-cover {
    min-height: 410px;
    max-width: 330px;
}

.publications-page .publication-feature-content {
    padding: clamp(2rem, 5vw, 4.2rem);
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.publications-page .publication-feature-content h3 {
    color: var(--navy);
}

.publications-page .publication-feature-content > p {
    color: var(--muted);
}


/* ============================================================
   13. PUBLICATION LIBRARY
============================================================ */

.publications-page .publication-library {
    border-top: 1px solid var(--line);
}

.publications-page .publication-library-card {
    position: relative;
    display: grid;
    grid-template-columns: 55px minmax(0,1fr) 48px;
    gap: 1.25rem;
    align-items: center;
    padding: 1.5rem 0;
    border-bottom: 1px solid var(--line);
    transition:
        padding .25s ease,
        background .25s ease;
}

.publications-page .publication-library-card:hover {
    padding-left: 1rem;
    padding-right: 1rem;
    background: rgba(245,246,249,.65);
}

.publications-page .publication-library-number {
    color: var(--red);
    font-family: "Manrope", sans-serif;
    font-size: .85rem;
    font-weight: 900;
}

.publications-page .publication-library-card h3 {
    color: var(--navy);
}

.publications-page .publication-library-card p {
    color: var(--muted);
}

.publications-page .publication-library-arrow {
    width: 42px;
    height: 42px;
}


/* ============================================================
   14. CTA
============================================================ */

.institutional-page .cta-panel {
    min-height: 300px;
    padding: clamp(2rem,5vw,3.5rem);
}


/* ============================================================
   15. RESPONSIVE
============================================================ */

@media (max-width: 1024px) {

    .legal-layout {
        grid-template-columns: 1fr;
        gap: 1.5rem;
    }

    .legal-index-panel {
        position: relative;
        top: auto;
    }

    .legal-index-panel nav {
        grid-template-columns: repeat(2,minmax(0,1fr));
    }

    .press-page .editorial-feature,
    .publications-page .publication-feature {
        grid-template-columns: 1fr;
    }

    .press-page .editorial-feature-media {
        min-height: 270px;
    }

    .publications-page .publication-feature-visual {
        min-height: 400px;
    }

}


@media (max-width: 767px) {

    .institutional-page section:not(.page-hero) > .mx-auto {
        padding-top: 3.5rem;
        padding-bottom: 3.5rem;
    }

    .institutional-page .page-title {
        font-size: clamp(2.65rem, 12vw, 4rem);
    }

    .legal-index-panel nav {
        grid-template-columns: 1fr;
    }

    .legal-content-panel .legal-section {
        grid-template-columns: 1fr;
        gap: .8rem;
        padding: 1.7rem 0;
    }

    .legal-content-panel .legal-index {
        width: 36px;
        height: 36px;
    }

    .privacy-list,
    .privacy-purpose-grid {
        grid-template-columns: 1fr;
    }

    .press-page .editorial-feature-media-inner {
        min-height: 240px;
        padding: 1.5rem;
    }

    .press-page .editorial-feature-content {
        padding: 1.6rem;
    }

    .publications-page .publication-feature-visual {
        min-height: 340px;
        padding: 1.5rem;
    }

    .publications-page .publication-cover {
        min-height: 290px;
    }

    .publications-page .publication-feature-content {
        padding: 1.6rem;
    }

    .publications-page .publication-library-card {
        grid-template-columns: 38px minmax(0,1fr) 40px;
        gap: .8rem;
    }

}

@media (prefers-reduced-motion: reduce) {

    .institutional-page *,
    .institutional-page *::before,
    .institutional-page *::after {
        transition: none !important;
        scroll-behavior: auto !important;
    }

}













/* =========================================================
   INTERNAL PAGES — MOBILE RESPONSIVE
========================================================= */

@media (max-width: 768px) {

    /* Conteneurs principaux */
    .container,
    .page-container,
    .section-container,
    .inner-container {
        width: 100%;
        max-width: 100%;
        min-width: 0;
    }


    /* Sections */
    section {
        max-width: 100%;
        overflow: hidden;
    }


    /* HERO DES PAGES INTERNES */
    .page-hero,
    .expertise-hero,
    .contact-hero,
    .projects-hero,
    .about-hero {
        width: 100%;
        max-width: 100%;
        overflow: hidden;
    }


    /* CONTENU DU HERO */
    .page-hero-content,
    .expertise-hero-content,
    .contact-hero-content,
    .projects-hero-content {
        width: 100%;
        max-width: 100%;
        min-width: 0;
    }


    /* TITRES PRINCIPAUX */
    .page-hero h1,
    .expertise-hero h1,
    .contact-hero h1,
    .projects-hero h1,
    .about-hero h1 {

        width: 100%;
        max-width: 100%;
        min-width: 0;

        font-size: clamp(3rem, 13vw, 5rem);

        line-height: 0.95;

        letter-spacing: -0.04em;

        white-space: normal;

        overflow-wrap: break-word;

        word-break: normal;
    }


    /* Paragraphes */
    .page-hero p,
    .expertise-hero p,
    .contact-hero p,
    .projects-hero p,
    .about-hero p {

        width: 100%;
        max-width: 100%;

        font-size: 1.05rem;

        line-height: 1.7;

        overflow-wrap: break-word;
    }


    /* Grilles */
    .grid,
    .expertise-grid,
    .projects-grid,
    .contact-grid {

        grid-template-columns: 1fr !important;

        width: 100%;

        max-width: 100%;

        min-width: 0;
    }


    /* Images */
    .page-image,
    .hero-image,
    .contact-image,
    .expertise-image,
    .project-image {

        width: 100%;

        max-width: 100%;

        min-width: 0;

        overflow: hidden;
    }


    .page-image img,
    .hero-image img,
    .contact-image img,
    .expertise-image img,
    .project-image img {

        display: block;

        width: 100%;

        max-width: 100%;

        height: auto;

        object-fit: cover;
    }
}


/* =========================================================
   SMALL MOBILE
========================================================= */

@media (max-width: 480px) {

    .container,
    .page-container,
    .section-container,
    .inner-container {

        padding-left: 28px;

        padding-right: 28px;
    }


    .page-hero h1,
    .expertise-hero h1,
    .contact-hero h1,
    .projects-hero h1,
    .about-hero h1 {

        font-size: clamp(2.8rem, 15vw, 4.2rem);

        line-height: 0.98;
    }

}








/* =========================================================
   V7 — EXPERTISE RESPONSIVE SYSTEM
   ========================================================= */

.page-hero {
    width: 100%;
    max-width: 100%;
    overflow: hidden;
}

.page-hero > .mx-auto {
    width: 100%;
    max-width: 1500px;
    min-width: 0;
}

.page-hero > .mx-auto > * {
    min-width: 0;
}

.page-hero .reveal {
    min-width: 0;
    width: 100%;
}

.page-hero .page-title,
.page-hero .page-lead {
    width: 100%;
    min-width: 0;
}


/* =========================================================
   DESKTOP
========================================================= */

.page-hero .page-title {
    max-width: 850px;
}

.page-hero .page-lead {
    max-width: 760px;
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 1100px) {

    .page-hero > .mx-auto {
        grid-template-columns: 1fr;
    }

    .page-hero .page-hero-visual {
        width: 100%;
        max-width: 720px;
        margin-inline: auto;
    }

}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 767px) {

    .page-hero > .mx-auto {
        display: block;
        padding-left: 24px;
        padding-right: 24px;
    }

    .page-hero .page-title {
        display: block;

        width: 100%;
        max-width: 100%;
        min-width: 0;

        font-size: clamp(2.55rem, 11.5vw, 4rem);
        line-height: .98;
        letter-spacing: -.045em;

        white-space: normal;
        overflow-wrap: normal;
        word-break: normal;

        hyphens: none;
    }

    .page-hero .page-lead {
        width: 100%;
        max-width: 100%;

        font-size: 1rem;
        line-height: 1.72;

        white-space: normal;
        overflow-wrap: break-word;
    }

    .page-hero .page-hero-visual {
        width: 100%;
        max-width: 100%;
        min-width: 0;

        margin-top: 32px;
    }

    .page-hero .page-hero-visual img {
        width: 100%;
        max-width: 100%;
        height: auto;
        min-width: 0;
        display: block;
    }

    .page-hero .page-hero-visual > div:last-child {
        left: 16px;
        right: 16px;
        bottom: 16px;

        max-width: calc(100% - 32px);
    }

    .page-hero .page-hero-visual > div:last-child > div {
        gap: 12px;
    }

    .page-hero .page-hero-visual strong {
        max-width: 100%;
        font-size: 1.3rem;
        line-height: 1.15;
    }

    .page-hero .btn {
        max-width: 100%;
    }

    .page-hero .mt-9.flex {
        width: 100%;
    }

    .page-hero .mt-9.flex:last-child {
        gap: 14px 20px;
    }

}


/* =========================================================
   PETITS MOBILES
========================================================= */

@media (max-width: 420px) {

    .page-hero > .mx-auto {
        padding-left: 20px;
        padding-right: 20px;
    }

    .page-hero .page-title {
        font-size: clamp(2.3rem, 11.5vw, 3.2rem);
        line-height: 1;
        letter-spacing: -.04em;
    }

    .page-hero .page-lead {
        font-size: .96rem;
        line-height: 1.7;
    }

    .page-hero .page-hero-visual {
        border-radius: 24px;
    }

}


/* =========================================================
   INSPIRSA GROUP — EXPERTISE DETAIL FINAL RESPONSIVE FIX
   Corrige les blocs 01 → 05 sur mobile
========================================================= */


/* ---------------------------------------------------------
   STRUCTURE DE BASE
--------------------------------------------------------- */

.expertise-detail {
    width: 100%;
    max-width: 100%;
    min-width: 0;
}

.expertise-detail > * {
    min-width: 0;
}


/* ---------------------------------------------------------
   TABLETTE
   769px → 1100px
--------------------------------------------------------- */

@media (max-width: 1100px) and (min-width: 761px) {

    .expertise-detail,
    .expertise-detail.reverse {

        width: 100%;
        max-width: 100%;
        min-width: 0;

        grid-template-columns:
            80px
            minmax(0, 1fr);

        gap: 28px;

        align-items: start;
    }

    .expertise-detail > div:nth-child(2),
    .expertise-detail.reverse > div:nth-child(2) {

        grid-column: 2;
        min-width: 0;
        width: 100%;
    }

    .expertise-detail > img,
    .expertise-detail.reverse > img {

        grid-column: 1 / -1;
        grid-row: auto;

        width: 100%;
        max-width: 100%;
        min-width: 0;

        height: 360px;
    }

}


/* ---------------------------------------------------------
   MOBILE
   0px → 760px
--------------------------------------------------------- */

@media (max-width: 760px) {

    /* =========================================
       SECTION
    ========================================= */

    .expertise-detail,
    .expertise-detail.reverse {

        display: flex;

        flex-direction: column;

        width: 100%;
        max-width: 100%;
        min-width: 0;

        gap: 0;

        align-items: stretch;
    }


    /* =========================================
       NUMÉRO
    ========================================= */

    .expertise-detail-index,
    .expertise-detail.reverse > .expertise-detail-index {

        order: 1;

        width: 100%;
        max-width: 100%;
        min-width: 0;

        margin: 0 0 18px;

        font-size: 42px;
        line-height: .95;
        letter-spacing: -.06em;

        color: var(--red);
    }


    /* =========================================
       CONTENU
    ========================================= */

    .expertise-detail > div:nth-child(2),
    .expertise-detail.reverse > div:nth-child(2) {

        order: 2;

        width: 100%;
        max-width: 100%;
        min-width: 0;

        grid-column: auto;
        grid-row: auto;
    }


    /* =========================================
       KICKER
    ========================================= */

    .expertise-detail > div:nth-child(2) .section-kicker {

        display: block;

        width: 100%;
        max-width: 100%;

        margin-top: 0;
    }


    /* =========================================
       TITRE
    ========================================= */

    .expertise-detail > div:nth-child(2) .section-title {

        width: 100%;
        max-width: 100%;
        min-width: 0;

        margin-top: 12px;

        font-size: clamp(2.25rem, 10.5vw, 3.6rem);
        line-height: .98;

        letter-spacing: -.055em;

        white-space: normal;
        overflow-wrap: break-word;
        word-break: normal;
    }


    /* =========================================
       DESCRIPTION
    ========================================= */

    .expertise-detail > div:nth-child(2) .section-lead {

        width: 100%;
        max-width: 100%;
        min-width: 0;

        margin-top: 18px;

        font-size: 16px;
        line-height: 1.75;

        white-space: normal;
        overflow-wrap: break-word;
        word-break: normal;
    }


    /* =========================================
       COLONNES INTERVENTIONS / RÉSULTATS
    ========================================= */

    .expertise-detail > div:nth-child(2) .mt-8.grid {

        display: grid;

        grid-template-columns: 1fr;

        width: 100%;
        max-width: 100%;
        min-width: 0;

        gap: 28px;

        margin-top: 28px;
    }


    .expertise-detail > div:nth-child(2) .mt-8.grid > div {

        width: 100%;
        max-width: 100%;
        min-width: 0;
    }


    /* =========================================
       LABELS
    ========================================= */

    .expertise-detail > div:nth-child(2)
    .mt-8.grid > div > span {

        display: block;

        max-width: 100%;

        font-size: 9px;
        line-height: 1.4;

        letter-spacing: .18em;

        white-space: normal;
    }


    /* =========================================
       LISTES
    ========================================= */

    .expertise-detail > div:nth-child(2)
    .mt-8.grid ul {

        width: 100%;
        max-width: 100%;
        min-width: 0;

        margin-top: 14px;
        padding-left: 0;

        display: grid;

        gap: 10px;

        list-style: none;
    }


    .expertise-detail > div:nth-child(2)
    .mt-8.grid li {

        width: 100%;
        max-width: 100%;
        min-width: 0;

        font-size: 15px;
        line-height: 1.65;

        white-space: normal;
        overflow-wrap: break-word;
        word-break: normal;
    }


    /* =========================================
       DETAIL LIST / TAGS
    ========================================= */

    .expertise-detail .detail-list {

        display: flex;

        flex-wrap: wrap;

        width: 100%;
        max-width: 100%;
        min-width: 0;

        gap: 8px;

        margin-top: 24px;
    }


    .expertise-detail .detail-list span {

        display: inline-flex;

        max-width: 100%;
        min-width: 0;

        padding: 9px 11px;

        white-space: normal;

        font-size: 9px;
        line-height: 1.35;

        overflow-wrap: break-word;
    }


    /* =========================================
       IMAGE
    ========================================= */

    .expertise-detail > img,
    .expertise-detail.reverse > img {

        order: 3;

        width: 100%;
        max-width: 100%;
        min-width: 0;

        height: 300px;

        margin-top: 30px;

        display: block;

        object-fit: cover;

        border-radius: 24px;

        grid-column: auto;
        grid-row: auto;
    }

}


/* ---------------------------------------------------------
   PETITS MOBILES
--------------------------------------------------------- */

@media (max-width: 420px) {

    .expertise-detail-index,
    .expertise-detail.reverse > .expertise-detail-index {

        font-size: 38px;

        margin-bottom: 15px;
    }


    .expertise-detail > div:nth-child(2) .section-title {

        font-size: clamp(
            2rem,
            10.2vw,
            3rem
        );

        line-height: 1;
    }


    .expertise-detail > div:nth-child(2) .section-lead {

        font-size: 15px;
        line-height: 1.72;
    }


    .expertise-detail > div:nth-child(2)
    .mt-8.grid {

        gap: 24px;
        margin-top: 25px;
    }


    .expertise-detail > div:nth-child(2)
    .mt-8.grid li {

        font-size: 14px;
        line-height: 1.65;
    }


    .expertise-detail > img,
    .expertise-detail.reverse > img {

        height: 270px;

        margin-top: 26px;

        border-radius: 20px;
    }

}


/* =========================================================
   INSPIRSA GROUP — LANGUAGE SWITCHER
========================================================= */

.language-switcher {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    margin-right: 4px;
}

.language-option {
    appearance: none;
    border: 0;
    padding: 4px 2px;

    background: transparent;

    color: rgba(255,255,255,.42);

    font-family: "Manrope", sans-serif;
    font-size: 9px;
    font-weight: 800;

    letter-spacing: .08em;

    cursor: pointer;

    transition:
        color .2s ease,
        opacity .2s ease;
}

.language-option:hover,
.language-option.active {
    color: #fff;
}

.language-option.active {
    position: relative;
}

.language-option.active::after {
    content: "";

    position: absolute;

    left: 0;
    right: 0;
    bottom: -5px;

    height: 2px;

    background: var(--red);
}

.language-divider {
    color: rgba(255,255,255,.18);
    font-size: 9px;
}

@media (max-width: 1279px) {

    .language-switcher {
        margin-right: 6px;
    }

}

@media (max-width: 640px) {

    .language-switcher {
        gap: 5px;
    }

    .language-option {
        font-size: 8px;
    }

}
/* =========================================================
   V5 — MULTILINGUAL LANGUAGE SWITCHER
   ========================================================= */
.language-switcher{display:inline-flex;align-items:center;gap:7px;margin-right:4px;flex:0 0 auto}
.language-option{appearance:none;border:0;padding:4px 2px;background:transparent;color:rgba(255,255,255,.46);font-family:"Manrope",sans-serif;font-size:9px;font-weight:800;letter-spacing:.08em;line-height:1;text-decoration:none;cursor:pointer;transition:color .2s ease,opacity .2s ease}
.language-option:hover,.language-option.active{color:#fff}.language-option.active{position:relative}.language-option.active::after{content:"";position:absolute;left:0;right:0;bottom:-5px;height:2px;border-radius:999px;background:var(--red)}
.language-divider{color:rgba(255,255,255,.18);font-size:9px;line-height:1}.language-switcher-mobile{justify-content:flex-start;padding:14px 2px 4px;margin:6px 0 0;border-top:1px solid rgba(255,255,255,.09)}
@media(max-width:640px){.language-switcher{gap:5px}.language-option{font-size:8px}}


/* HEAD OFFICE ADDRESS — multilingual footer and contact cards */
.footer-location{align-items:flex-start;max-width:520px;white-space:normal;line-height:1.65;overflow-wrap:anywhere}
.footer-location>svg,.footer-location>i{flex:0 0 auto;margin-top:2px}
.footer-location-copy{display:inline-block;min-width:0;max-width:100%;font-weight:600}
.footer-location-copy strong{display:block;color:rgba(255,255,255,.86);font-size:11px;font-weight:800;line-height:1.5}
.footer-location-copy span{display:block;margin-top:5px;color:rgba(255,255,255,.54);font-size:11px;font-weight:500;line-height:1.7;overflow-wrap:anywhere}
.headquarters-address{overflow-wrap:anywhere;line-height:1.7}
