/* Final visual refinements: tighter typography, icon-led repères, richer media cards. */
:root{
  --ref-ink:#0d211b;
  --ref-muted:#65736e;
  --ref-gold:#b68b35;
  --ref-soft:#f4f6f4;
  --ref-line:#dfe5e1;
}

/* Typography scale: keep impact without oversized statements */
.clean-hero h1{font-size:clamp(3rem,5.2vw,5.6rem)!important;line-height:.98!important;letter-spacing:-.05em!important}
.page-hero h1{font-size:clamp(2.65rem,4.7vw,4.7rem)!important;line-height:1!important;letter-spacing:-.045em!important}
.clean-about h2,
.clean-split-heading h2,
.clean-decisions h2,
.clean-final-cta h2,
.section h2,
.expertise-intro-band h2,
.journey-statement blockquote{font-size:clamp(2rem,3.1vw,3.25rem)!important;line-height:1.04!important;letter-spacing:-.035em!important}
.publication-index-hero h1,
.media-index-hero h1,
.executive-hero h1{font-size:clamp(2.8rem,4.6vw,4.6rem)!important}
.clean-service-card h3{font-size:1.45rem!important}
.clean-article-card h3,.media-editorial-card h3{font-size:1.2rem!important;line-height:1.25!important}

/* Desktop expertises mega menu */
.nav-mega{position:relative;display:flex;align-items:center;height:76px}
.nav-mega::after{content:"";position:absolute;left:0;right:0;top:100%;height:18px}
.desktop-nav .nav-mega__trigger{display:flex;align-items:center;gap:5px}
.desktop-nav .nav-mega__trigger svg{width:14px;height:14px;stroke:currentColor;stroke-width:1.5;transition:transform .2s ease}
.nav-mega:hover .nav-mega__trigger svg,.nav-mega:focus-within .nav-mega__trigger svg,.nav-mega.is-open .nav-mega__trigger svg{transform:rotate(180deg)}
.expertise-mega{position:fixed;z-index:120;top:108px;left:50%;width:min(1180px,calc(100vw - 64px));display:grid;grid-template-columns:minmax(0,1fr) 315px;gap:16px;padding:16px;border:1px solid rgba(13,33,27,.06);border-radius:26px;background:#fff;box-shadow:0 28px 70px rgba(13,33,27,.16);opacity:0;visibility:hidden;transform:translate(-50%,-8px);transition:opacity .18s ease,transform .18s ease,visibility .18s ease;pointer-events:none}
.nav-mega:hover .expertise-mega,.nav-mega:focus-within .expertise-mega,.nav-mega.is-open .expertise-mega{opacity:1;visibility:visible;transform:translate(-50%,0);pointer-events:auto}
.expertise-mega a::after{display:none!important}
.expertise-mega__main{padding:20px 20px 18px}
.expertise-mega__intro{display:grid;grid-template-columns:1fr auto;gap:18px;align-items:end;padding:2px 0 22px;border-bottom:1px solid var(--ref-line)}
.expertise-mega__intro>p{grid-column:1/-1;margin:0 0 -6px;color:var(--ref-gold);font-size:.62rem;text-transform:uppercase;letter-spacing:.13em;font-weight:900}
.expertise-mega__intro h2{margin:0;max-width:600px;color:var(--ref-ink);font-size:1.35rem;line-height:1.15;letter-spacing:-.03em}
.expertise-mega__intro>a{display:inline-flex;align-items:center;gap:8px;color:var(--ref-ink);font-size:.74rem;font-weight:800;white-space:nowrap}
.expertise-mega__groups{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding-top:18px}
.expertise-mega__group{padding:18px;border-radius:18px;background:var(--ref-soft)}
.expertise-mega__group>p{margin:0 0 12px;color:var(--ref-gold);font-size:.61rem;text-transform:uppercase;letter-spacing:.11em;font-weight:900}
.expertise-mega__group>a{display:grid;grid-template-columns:1fr 22px;gap:8px;align-items:center;padding:10px 0;border-top:1px solid rgba(13,33,27,.08);color:var(--ref-ink);font-size:.78rem;font-weight:750;line-height:1.3;transition:padding .18s ease,color .18s ease}
.expertise-mega__group>a:hover{padding-left:5px;color:var(--ref-gold)}
.expertise-mega__group>a b{font-size:.72rem;text-align:right;font-weight:700}
.desktop-nav .expertise-mega__feature{position:relative;display:flex;min-height:390px;overflow:hidden;border-radius:20px;background:var(--ref-ink);color:#fff}
.expertise-mega__feature>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.expertise-mega__feature-shade{position:absolute;inset:0;background:linear-gradient(0deg,rgba(7,20,16,.92),rgba(7,20,16,.28) 70%)}
.expertise-mega__feature-copy{position:relative;z-index:1;align-self:flex-end;padding:25px}
.expertise-mega__feature-copy>span{display:block;margin-bottom:12px;color:#e5c774;font-size:.62rem;text-transform:uppercase;letter-spacing:.12em;font-weight:900}
.expertise-mega__feature-copy strong{display:block;font-size:1.24rem;line-height:1.15;letter-spacing:-.025em}
.expertise-mega__feature-copy p{margin:12px 0 18px;color:#dce7e2;font-size:.8rem;line-height:1.5}
.expertise-mega__feature-copy b{font-size:.75rem}

/* Personal logo, kept legible on the light navigation capsule. */
.site-header .brand{flex-direction:row;align-items:center;gap:10px}
.site-header .brand__mark{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:64px;height:48px;margin:0;padding:7px;background:var(--ref-ink);border-radius:10px}
.brand__mark img{width:100%;height:100%;object-fit:contain}
.brand__copy{display:flex;flex-direction:column}
.clean-about__visual img{height:auto}
@media(max-width:380px){
  .site-header .brand{gap:7px}
  .site-header .brand__mark{width:48px;height:40px;padding:5px}
  .brand__copy strong{font-size:.9rem}
  .brand__copy span{font-size:.48rem;letter-spacing:.1em}
}

/* Mobile expertises accordion */
.mobile-expertises{border-bottom:1px solid rgba(13,33,27,.08)}
.mobile-expertises>button{width:100%;display:flex;align-items:center;justify-content:space-between;border:0;background:transparent;color:var(--ref-ink);text-align:left;cursor:pointer}
.mobile-menu>a:not(.mobile-menu__cta),.mobile-expertises>button{padding:13px 4px;font:750 1.7rem Georgia,"Times New Roman",serif;line-height:1.6}
.mobile-menu{max-height:calc(100dvh - 110px);overflow-y:auto;overscroll-behavior:contain}
.mobile-expertises>button b{font-size:1rem;transition:transform .2s ease}
.mobile-expertises.is-open>button b{transform:rotate(180deg)}
.mobile-expertises__panel{display:none;padding:0 2px 18px}
.mobile-expertises.is-open .mobile-expertises__panel{display:block}
.mobile-expertises__panel p{margin:18px 0 5px;color:var(--ref-gold);font-size:.62rem;text-transform:uppercase;letter-spacing:.11em;font-weight:900}
.mobile-expertises__panel a{padding:8px 0!important;border:0!important;color:var(--ref-muted)!important;font-size:.86rem!important}
.mobile-expertises__panel .mobile-expertises__all{color:var(--ref-ink)!important;font-weight:800!important;margin-top:5px}

/* Homepage story */
.home-story-list h3{font-size:1rem}
.home-story-list p{line-height:1.55}

/* Organizations / ecosystems */
.home-organizations__head{margin-bottom:34px}
.home-organizations__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.home-organization-card{display:flex;min-height:280px;flex-direction:column;padding:25px;border-radius:21px;background:#fff;border:1px solid rgba(13,33,27,.05);transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}
.home-organization-card:hover{transform:translateY(-4px);box-shadow:0 18px 44px rgba(19,37,31,.07);border-color:rgba(13,33,27,.1)}
.home-organization-card__top{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:auto}
.home-organization-card__top>span{color:var(--ref-gold);font-size:.65rem;font-weight:900;letter-spacing:.06em}
.home-organization-card__top small{max-width:145px;color:var(--ref-muted);font-size:.64rem;line-height:1.35;text-align:right;text-transform:uppercase;letter-spacing:.08em;font-weight:800}
.home-organization-card h3{margin:54px 0 10px;color:var(--ref-ink);font-size:1.35rem;letter-spacing:-.035em}
.home-organization-card p{margin:0;color:var(--ref-muted);font-size:.84rem;line-height:1.58}

/* Repères */
.clean-reperes__grid--icons article{padding-top:30px;min-height:210px}
.clean-repere-icon{width:50px;height:50px;display:grid;place-items:center;margin-bottom:24px;border-radius:50%;background:#fff;border:1px solid var(--ref-line);color:var(--ref-gold);box-shadow:0 8px 22px rgba(15,31,26,.04)}
.clean-repere-icon svg{width:23px;height:23px;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round}
.clean-reperes__grid--icons strong{font-size:1.15rem!important;margin-bottom:10px}
.clean-reperes__grid--icons span{font-size:.9rem!important;line-height:1.55}

/* Editorial media cards */
.clean-split-heading--media{align-items:end}
.media-editorial-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.media-editorial-card{display:flex;flex-direction:column;min-width:0;border-radius:22px;background:#fff;overflow:hidden;border:1px solid rgba(13,33,27,.06);transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}
.media-editorial-card:hover{transform:translateY(-4px);box-shadow:0 18px 44px rgba(19,37,31,.08);border-color:rgba(13,33,27,.1)}
.media-editorial-card__image{position:relative;overflow:hidden;background:#e9eeeb;aspect-ratio:1.45/1}
.media-editorial-card__image img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s ease}
.media-editorial-card:hover .media-editorial-card__image img{transform:scale(1.025)}
.media-editorial-card__image>span{position:absolute;left:16px;top:16px;padding:7px 10px;border-radius:999px;background:rgba(255,255,255,.92);backdrop-filter:blur(10px);font-size:.6rem;text-transform:uppercase;letter-spacing:.11em;font-weight:800;color:var(--ref-ink)}
.media-editorial-card__body{display:flex;flex:1;flex-direction:column;padding:23px}
.media-editorial-card__body>p{margin:0 0 12px;color:var(--ref-gold);font-size:.64rem;text-transform:uppercase;letter-spacing:.11em;font-weight:800}
.media-editorial-card h3{margin:0 0 12px;color:var(--ref-ink);letter-spacing:-.025em}
.media-editorial-card__excerpt{margin:0 0 20px;color:var(--ref-muted);font-size:.89rem;line-height:1.58;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.media-editorial-card b{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:auto;padding-top:15px;border-top:1px solid var(--ref-line);font-size:.75rem;color:var(--ref-ink)}
.media-editorial-card b span{font-size:.9rem}

/* Existing media index gets excerpts without becoming dense */
.media-list--editorial .media-list__item>div>small{display:block;margin:10px 0 14px;color:var(--ref-muted);font-size:.88rem;line-height:1.55;font-weight:400}
.media-featured__copy .media-featured__excerpt{margin:16px 0 24px;color:var(--ref-muted);font-size:.96rem;line-height:1.65;max-width:580px}

@media(max-width:1100px){
  .home-organizations__grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .expertise-mega{width:calc(100vw - 40px);grid-template-columns:minmax(0,1fr) 280px}
  .expertise-mega__group{padding:14px}
}

@media(max-width:980px){
  .nav-mega{display:none}
  .media-editorial-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .clean-reperes__grid--icons{grid-template-columns:repeat(2,1fr)!important}
}

@media(max-width:680px){
  .clean-hero h1{font-size:clamp(2.45rem,11vw,3.5rem)!important}
  .page-hero h1{font-size:clamp(2.15rem,9.5vw,3rem)!important}
  .clean-about h2,.clean-split-heading h2,.clean-decisions h2,.clean-final-cta h2,.section h2,.expertise-intro-band h2,.journey-statement blockquote{font-size:clamp(1.8rem,8vw,2.35rem)!important}
  .home-organizations__grid{grid-template-columns:1fr}
  .home-organization-card{min-height:230px}
  .media-editorial-grid{grid-template-columns:1fr}
  .clean-reperes__grid--icons{grid-template-columns:1fr!important}
  .clean-reperes__grid--icons article{min-height:auto;padding:24px 0!important;border-right:0!important;border-bottom:1px solid var(--ref-line)}
}
