/* Content-driven menu collapse; 1280 retains the PDF desktop composition. */
@media(max-width:1279px){
 :root{--header-height:128px;--header-overlap:128px;--anchor-offset:144px}
 .header-inner{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;min-height:unset;padding:14px 24px}
 .brand-mark{width:44px;height:44px}
 .brand{gap:12px;order:0}
 .brand-name{font-size:32px}
 .header-access{order:2;flex-basis:100%;justify-content:center}
 .header-access .button{flex:1;max-width:240px}
 .primary-navigation{order:3;flex-basis:100%;margin:0;min-width:0}
 .nav-list{flex-wrap:wrap;justify-content:center;gap:4px 20px}
 .nav-link{font-size:13px}
 .menu-toggle{order:1;margin-left:auto}
 .nav-ready .menu-toggle{display:inline-flex}
 .nav-ready .primary-navigation{position:absolute;left:0;right:0;top:100%;padding:12px 24px 20px;background:var(--night);border-bottom:1px solid rgba(255,255,255,.15);box-shadow:0 12px 24px rgba(0,0,0,.20);max-height:calc(100vh - 132px);overflow-y:auto;overscroll-behavior:contain}
 .nav-ready .nav-list{display:grid;gap:0}
 .nav-ready .nav-link{width:100%;padding:12px 4px;min-height:48px}
 .site-header.is-compact .header-inner{min-height:unset;padding-top:10px;padding-bottom:10px}
 .hero{padding:74px 28px 78px;min-height:650px}
 h1{font-size:clamp(40px,4.7vw,58px);letter-spacing:-1.2px}
 .hero-intro{font-size:19px}
 .hero-intro span{display:inline}
 .hero-intro{max-width:760px}
 .hero-orbit{right:-260px}
 .hero-disc{right:-60px}
}
@media(max-width:767px){
 .header-inner{padding:12px 20px;gap:10px}
 .header-access{gap:9px}
 .header-access .button{font-size:11.5px;padding:10px 9px;max-width:none}
 .hero{min-height:0;padding:58px 20px 64px}
 .eyebrow{max-width:480px;margin:0 auto 23px;font-size:10px;line-height:1.8;letter-spacing:2px}
 h1{font-size:clamp(30px,5.65vw,43px);line-height:1.13;letter-spacing:-.8px}
 .hero-intro{margin-top:26px;font-size:16px;line-height:1.7;max-width:530px}
 .callout-wrap{margin-top:25px}
 .flag-fr{flex-basis:27px;width:27px;height:18px}
 .hero-actions{margin-top:28px;flex-wrap:wrap;gap:12px}
 .hero-actions .button{min-width:0;min-height:52px;font-size:14px;padding:14px 20px;white-space:normal}
 .hero-orbit{width:480px;height:480px;right:-265px;top:calc(-100px + var(--header-overlap,128px));box-shadow:0 0 0 65px rgba(185,227,240,.035),0 0 0 125px rgba(185,227,240,.025)}
 .hero-disc{width:350px;height:350px;right:-130px;bottom:-205px}
}
@media(max-width:479px){
 .header-inner{padding-left:16px;padding-right:16px}
 .brand-mark{width:40px;height:40px}
 .brand-name{font-size:30px}
 .header-access .button-client{flex:.85}
 .header-access .button-dossier{flex:1.4}
 .hero{padding:48px 20px 56px}
 .eyebrow{max-width:320px;font-size:9px;letter-spacing:1.8px}
 h1{font-size:clamp(29px,8.2vw,37px)}
 .title-line:last-child{max-width:355px;margin:auto}
 .hero-intro{font-size:15px;line-height:1.7}
 .hero-actions{flex-direction:column;align-items:stretch;max-width:340px;margin-left:auto;margin-right:auto}
 .pending-notice{bottom:12px;padding:10px 12px;gap:8px}
}
@media(max-width:359px){
 .header-inner{padding-left:10px;padding-right:10px}
 .header-access .button{font-size:10px;padding-left:6px;padding-right:6px}
 .hero{padding-left:16px;padding-right:16px}
 h1{font-size:28px}
}
@media(max-height:500px) and (max-width:1279px){
 .site-header{position:relative}
 .nav-ready .primary-navigation{position:static;max-height:none;box-shadow:none;padding:8px 0}
 .hero{padding-top:36px;padding-bottom:40px}
}

@media(max-width:767px){
 .france-callout{gap:16px;max-width:540px}
 .france-map{flex-basis:80px;width:80px;height:80px}
 .france-copy{padding-left:16px}
 .france-label{font-size:10px;letter-spacing:1.6px}
 .france-title{font-size:28px}
 .france-description{font-size:14px}
}
@media(max-width:420px){
 .france-callout{gap:12px}
 .france-map{flex-basis:60px;width:60px;height:60px}
 .france-copy{padding-left:12px}
 .france-label{font-size:9px;letter-spacing:1.1px}
 .france-title{font-size:25px}
 .france-description{font-size:13px}
}
