/* =========================================================
   SACIA WORDPRESS THEME — V9.0 FINAL HERO COMPOSITION
   ========================================================= */
:root{--sacia-blue:#163a68;--sacia-navy:#1d385f;--sacia-line:#dfe5ed}

/* ---------------------------------------------------------
   HERO — approved V9 composition
   The visual is deliberately a complete wide composition and
   is displayed without zooming the subject.
   --------------------------------------------------------- */
.hero{background:linear-gradient(90deg,#fff 0%,#fbfcfe 58%,#eef4fa 100%)!important;overflow:hidden!important}
.hero .wrap.hero-grid{
  position:relative!important;
  display:block!important;
  height:610px!important;
  min-height:610px!important;
  overflow:hidden!important;
}
.hero-copy{
  position:relative!important;
  z-index:10!important;
  width:47%!important;
  height:610px!important;
  min-height:610px!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  padding:46px 0 40px!important;
}
.hero-copy .kicker{margin:0 0 13px!important;color:#36577f!important}
.hero-copy h1{
  max-width:650px!important;
  margin:0 0 18px!important;
  font-size:clamp(56px,4.7vw,86px)!important;
  line-height:.94!important;
  letter-spacing:-.048em!important;
  color:#16243a!important;
}
.hero-copy h2{max-width:570px!important;margin:0 0 18px!important;color:#334d70!important}
.hero-copy>p{max-width:560px!important;margin:0 0 22px!important;font-size:13px!important;line-height:1.72!important}
.hero-actions{position:relative!important;z-index:11!important;margin-top:0!important}

/* The V9 artwork is kept whole: no object-fit:cover zoom. */
.hero-photo{
  position:absolute!important;
  z-index:1!important;
  top:0!important;
  right:0!important;
  width:min(73%,1038px)!important;
  height:610px!important;
  min-height:610px!important;
  overflow:hidden!important;
  background:transparent!important;
}
.hero-photo picture{display:block!important;width:100%!important;height:100%!important}
.hero-photo img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  object-position:right center!important;
  filter:none!important;
}
/* The artwork already contains the quote and initiative signature. */
.hero-quote,.hero-quote-v8,.hero-swiss-v8{display:none!important}
.hero-photo:before{
  content:""!important;
  position:absolute!important;
  z-index:3!important;
  inset:0!important;
  pointer-events:none!important;
  background:linear-gradient(90deg,
    rgba(255,255,255,1) 0%,
    rgba(255,255,255,.97) 7%,
    rgba(255,255,255,.80) 17%,
    rgba(255,255,255,.42) 28%,
    rgba(255,255,255,.10) 39%,
    rgba(255,255,255,0) 50%)!important;
}
.hero-photo:after{display:none!important}

/* ---------------------------------------------------------
   SACIA — association de droit suisse and governance
   --------------------------------------------------------- */
.association-note{margin-top:18px!important;padding:14px 16px!important;border-left:3px solid var(--sacia-blue)!important;background:#f4f7fa!important;color:#3f5066!important;font-size:12px!important;line-height:1.65!important}
.association-note strong,.team-legal strong{font-family:Montserrat,Inter,sans-serif!important;color:#1f3d67!important}
.team{padding:92px 0!important;background:#fff!important}
.team-legal{max-width:920px!important;margin:0 0 42px!important;color:#526176!important;font-size:15px!important;line-height:1.75!important}
.team-section-label{display:flex!important;align-items:center!important;gap:18px!important;margin:48px 0 24px!important}
.team-section-label:after{content:""!important;height:1px!important;background:var(--sacia-line)!important;flex:1!important}
.team-section-label h3{margin:0!important;font-size:18px!important;letter-spacing:.02em!important;color:#1e3d67!important;text-transform:uppercase!important}
.team-section-label span{font-size:11px!important;color:#68778a!important;font-weight:700!important;text-transform:uppercase!important;letter-spacing:.08em!important}
.team-card{min-height:440px!important}.team-info{flex:1!important;display:flex!important;flex-direction:column!important}.team-bio{margin-top:auto!important;padding-top:14px!important}

/* ---------------------------------------------------------
   Responsive
   --------------------------------------------------------- */
@media(max-width:1500px){
  .hero .wrap.hero-grid{height:570px!important;min-height:570px!important}
  .hero-copy{height:570px!important;min-height:570px!important;width:48%!important}
  .hero-photo{height:570px!important;min-height:570px!important;width:75%!important}
  .hero-copy h1{font-size:clamp(52px,4.5vw,76px)!important}
}
@media(max-width:1100px){
  .hero .wrap.hero-grid{height:530px!important;min-height:530px!important}
  .hero-copy{height:530px!important;min-height:530px!important;width:54%!important;padding:34px 0!important}
  .hero-photo{height:530px!important;min-height:530px!important;width:77%!important}
  .hero-copy h1{font-size:clamp(46px,5vw,66px)!important}
}
@media(max-width:900px){
  .hero .wrap.hero-grid{display:flex!important;flex-direction:column!important;height:auto!important;min-height:0!important;overflow:visible!important}
  .hero-copy{width:100%!important;height:auto!important;min-height:0!important;padding:50px 0 30px!important}
  .hero-photo{position:relative!important;top:auto!important;right:auto!important;width:100%!important;height:auto!important;min-height:0!important;aspect-ratio:1358/709!important;background:#eef4fa!important}
  .hero-photo img{object-fit:contain!important;object-position:center center!important}
  .hero-photo:before{background:linear-gradient(180deg,rgba(255,255,255,.25),rgba(255,255,255,0) 32%)!important}
}
@media(max-width:760px){
  .hero-copy h1{font-size:clamp(42px,11.6vw,60px)!important}
  .hero-photo{aspect-ratio:1/1!important}
  .hero-photo img{object-fit:cover!important;object-position:62% center!important}
  .team-section-label{align-items:flex-start!important;flex-direction:column!important;gap:8px!important}
  .team-section-label:after{display:none!important}
}


/* =========================================================
   SACIA V9.2 — BUG FIX ONLY
   Aucun changement de design : correction des débordements,
   du menu et des retours à la ligne affichés comme "\n".
   ========================================================= */
html,body{
  width:100%;
  max-width:100%;
  overflow-x:hidden!important;
}
body{position:relative!important;}
.site-header,main,footer{max-width:100%;overflow-x:clip;}
.nav-shell{min-width:0!important;max-width:100%!important;}
.brand{min-width:0!important;flex:0 1 auto!important;}
.brand img,.brand .custom-logo{max-width:100%!important;height:auto!important;}
.main-nav{min-width:0!important;}
.hero,.hero .wrap.hero-grid{max-width:100%!important;}

/* Empêche les éléments de grille de forcer une largeur supérieure à l'écran. */
.wrap,.why-grid,.complement-grid,.mission-grid,.team-grid,.program-grid,
.impact-grid,.partner-logos,.footer-top,.strip-grid{min-width:0!important;}
.wrap>*{min-width:0;}

/* À largeur intermédiaire, le menu reste entièrement visible sans couper le logo
   ni le bouton Contact. */
@media(max-width:1180px) and (min-width:761px){
  .nav-shell{width:min(100% - 32px,1460px)!important;gap:14px!important;}
  .brand img,.brand .custom-logo{width:185px!important;}
  .main-nav ul{gap:16px!important;}
  .main-nav a{font-size:10px!important;}
  .nav-tools{gap:12px!important;}
  .contact-btn{padding:12px 17px!important;}
}

/* =========================================================
   SACIA V9.3 — CORRECTION CIBLÉE DE LA SECTION
   « DEUX DOMAINES COMPLÉMENTAIRES »
   Aucun changement de contenu ou de direction graphique.
   ========================================================= */
.complement{
  overflow:hidden!important;
}
.complement-grid{
  /* Les anciennes colonnes 38% + 31% + 31%, additionnées au gap,
     dépassaient la largeur disponible et provoquaient le chevauchement. */
  grid-template-columns:minmax(0,40%) minmax(0,1fr) minmax(0,1fr)!important;
  column-gap:18px!important;
  row-gap:18px!important;
  align-items:stretch!important;
}
.complement-copy{
  min-width:0!important;
  padding-right:20px!important;
}
.complement-copy h2{
  width:100%!important;
  max-width:100%!important;
  font-size:clamp(42px,3.1vw,54px)!important;
  line-height:1.03!important;
  letter-spacing:-.04em!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
}
.domain-card{
  min-width:0!important;
}

/* Empêche tout retour du chevauchement sur les grands écrans intermédiaires. */
@media(max-width:1180px) and (min-width:901px){
  .complement-grid{
    grid-template-columns:minmax(0,42%) minmax(0,1fr) minmax(0,1fr)!important;
  }
  .complement-copy h2{
    font-size:clamp(38px,4.2vw,50px)!important;
  }
}
@media(max-width:900px){
  .complement-grid{
    grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
  }
  .complement-copy{
    grid-column:1/-1!important;
    padding-right:0!important;
  }
  .complement-copy h2{
    font-size:clamp(40px,6vw,54px)!important;
  }
}
@media(max-width:760px){
  .complement-grid{
    grid-template-columns:1fr!important;
  }
  .complement-copy{
    grid-column:auto!important;
  }
}


/* V9.5 — Logos partenaires Hero : taille et affichage fiables */
.partner-strip .founder{display:flex;align-items:center;min-height:64px;overflow:hidden}
.partner-strip .founder img{display:block;width:auto;max-width:150px;max-height:58px;height:auto;object-fit:contain}
.partner-strip .founder.uccas img{max-width:175px;max-height:60px}
@media(max-width:900px){
  .partner-strip .founder img{max-width:130px;max-height:52px}
}
@media(max-width:640px){
  .partner-strip .founder{justify-content:center}
  .partner-strip .founder img{max-width:150px;max-height:60px}
}
/* V9.5.2 — Approche et fiches détaillées des programmes */
.steps h4{min-height:32px}.steps p{min-height:42px}
.program-title-link{color:inherit;text-decoration:none}.program-title-link:hover{color:#2b548e}
.program-card .program-more{position:static!important;display:inline-flex!important;align-items:center;gap:8px;margin-top:18px;color:#244b7b!important;font-size:11px!important;font-weight:800;text-decoration:none;letter-spacing:.02em}.program-card .program-more span{font-size:18px;line-height:1}.program-card>div:last-child{display:flex;flex-direction:column}.program-card .program-more{margin-top:auto}
.program-single-hero{padding:78px 0;background:#f4f7fb;border-bottom:1px solid #dfe7f0}.program-single-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:60px;align-items:center}.program-single-copy h1,.program-archive h1{font-size:clamp(42px,5vw,76px);line-height:.98;margin:12px 0 24px;color:#21334f;max-width:820px}.program-single-lead{font-size:20px;line-height:1.6;color:#52657c;max-width:680px;margin-bottom:30px}.program-single-image{min-height:390px;background:#102d58;overflow:hidden}.program-single-image img{display:block;width:100%;height:100%;min-height:390px;object-fit:cover}.program-single-placeholder{min-height:390px;background:linear-gradient(135deg,#102d58,#315f92)}.program-single-content{padding:80px 0}.program-content-wrap{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:70px;align-items:start}.program-wp-content{font-size:18px;line-height:1.8;color:#4d6076}.program-wp-content h2,.program-wp-content h3{color:#21334f;line-height:1.2;margin-top:36px}.program-wp-content ul,.program-wp-content ol{padding-left:24px}.program-sidebar-card{padding:30px;background:#f4f7fb;border-left:4px solid #244b7b}.program-sidebar-card h3{font-size:24px;line-height:1.15;color:#21334f}.program-sidebar-card p{font-size:15px;line-height:1.65;color:#52657c}.program-back{padding:0 0 80px}.program-archive-head{padding:85px 0 55px;background:#f4f7fb;border-bottom:1px solid #dfe7f0}.program-archive-head p{font-size:18px;line-height:1.6;color:#52657c;max-width:700px}.program-archive-list{padding:65px 0 85px}.program-grid-archive{grid-template-columns:repeat(3,1fr)}
@media(max-width:900px){.program-single-grid,.program-content-wrap{grid-template-columns:1fr;gap:35px}.program-sidebar{max-width:600px}.program-grid-archive{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.program-single-hero,.program-single-content{padding:55px 0}.program-single-copy h1,.program-archive h1{font-size:42px}.program-grid-archive{grid-template-columns:1fr}.steps h4,.steps p{min-height:0}}

/* =========================================================
   SACIA V9.5.3 — CORRECTION MENU DROITE UNIQUEMENT
   Aucun autre élément du site n'est modifié.
   ========================================================= */
.site-header .nav-shell{
  width:min(calc(100% - 60px),1800px)!important;
  gap:18px!important;
}
.site-header .brand{
  flex:0 0 auto!important;
}
.site-header .main-nav{
  flex:1 1 auto!important;
  margin-left:0!important;
  min-width:0!important;
}
.site-header .main-nav ul{
  width:100%!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:clamp(12px,1.45vw,29px)!important;
}
.site-header .main-nav li{
  flex:0 0 auto!important;
}
.site-header .main-nav a{
  white-space:nowrap!important;
}
.site-header .nav-tools{
  flex:0 0 auto!important;
  flex-shrink:0!important;
  gap:18px!important;
  white-space:nowrap!important;
}
.site-header .contact-btn{
  flex:0 0 auto!important;
  white-space:nowrap!important;
}

/* Écrans de largeur intermédiaire : réduction progressive,
   sans chevauchement entre « Nous soutenir » et CONTACT. */
@media(max-width:1500px) and (min-width:1101px){
  .site-header .nav-shell{width:min(calc(100% - 48px),1460px)!important;gap:14px!important;}
  .site-header .brand img,.site-header .brand .custom-logo{width:195px!important;}
  .site-header .main-nav ul{gap:clamp(10px,1vw,18px)!important;}
  .site-header .main-nav a{font-size:10px!important;}
  .site-header .nav-tools{gap:12px!important;}
  .site-header .contact-btn{padding:13px 19px!important;}
}

/* =========================================================
   SACIA V9.6.1 — MENU HEADER : correction du chevauchement
   « Nous soutenir » / recherche / CONTACT.
   ========================================================= */
.site-header .nav-shell{
  display:flex!important;
  align-items:center!important;
  min-width:0!important;
  gap:18px!important;
}
.site-header .brand{flex:0 0 auto!important;min-width:0!important;}
.site-header .brand img,.site-header .brand .custom-logo,.site-header .brand .sacia-header-logo{
  width:220px!important;
  max-width:220px!important;
  height:auto!important;
  display:block!important;
}
.site-header .main-nav{
  flex:1 1 auto!important;
  min-width:0!important;
  margin-left:0!important;
}
.site-header .main-nav ul{
  width:100%!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:clamp(12px,1.35vw,29px)!important;
  min-width:0!important;
}
.site-header .main-nav li{flex:0 0 auto!important;}
.site-header .main-nav a{white-space:nowrap!important;}
.site-header .nav-tools{
  flex:0 0 auto!important;
  flex-shrink:0!important;
  gap:16px!important;
  white-space:nowrap!important;
}
.site-header .search{flex:0 0 auto!important;line-height:1!important;}
.site-header .contact-btn{flex:0 0 auto!important;white-space:nowrap!important;}
@media(max-width:1500px) and (min-width:1101px){
  .site-header .nav-shell{width:min(calc(100% - 48px),1460px)!important;gap:14px!important;}
  .site-header .brand img,.site-header .brand .custom-logo,.site-header .brand .sacia-header-logo{width:195px!important;max-width:195px!important;}
  .site-header .main-nav ul{gap:clamp(9px,1vw,18px)!important;}
  .site-header .main-nav a{font-size:10px!important;}
  .site-header .nav-tools{gap:12px!important;}
  .site-header .contact-btn{padding:13px 19px!important;}
}
@media(max-width:1180px) and (min-width:761px){
  .site-header .nav-shell{width:min(calc(100% - 32px),1460px)!important;gap:10px!important;}
  .site-header .brand img,.site-header .brand .custom-logo,.site-header .brand .sacia-header-logo{width:170px!important;max-width:170px!important;}
  .site-header .main-nav ul{gap:10px!important;}
  .site-header .main-nav a{font-size:9px!important;}
  .site-header .nav-tools{gap:8px!important;}
  .site-header .contact-btn{padding:11px 15px!important;}
}


/* =========================================================
   SACIA V9.6.2 — CORRECTIONS CIBLÉES
   - Header sans chevauchement du menu
   - Logo footer administrable et net
   - Aucun changement de structure visuelle hors correctifs
   ========================================================= */
.site-header .nav-shell{
  width:min(calc(100% - 64px),1800px)!important;
  display:flex!important;
  align-items:center!important;
  gap:18px!important;
}
.site-header .brand{flex:0 0 220px!important;display:block!important;}
.site-header .brand img,.site-header .brand .custom-logo,.site-header .brand .sacia-header-logo{
  width:220px!important;max-width:220px!important;height:auto!important;display:block!important;
}
.site-header .main-nav{flex:1 1 auto!important;min-width:0!important;margin-left:0!important;}
.site-header .main-nav ul{
  display:flex!important;align-items:center!important;justify-content:flex-end!important;
  gap:clamp(12px,1.15vw,26px)!important;width:100%!important;min-width:0!important;
}
.site-header .main-nav li{flex:0 0 auto!important;}
.site-header .main-nav a{white-space:nowrap!important;font-size:11px!important;}
.site-header .nav-tools{flex:0 0 auto!important;display:flex!important;align-items:center!important;gap:18px!important;}
.site-header .search{flex:0 0 auto!important;}
.site-header .contact-btn{flex:0 0 auto!important;white-space:nowrap!important;}

@media(max-width:1450px) and (min-width:1101px){
  .site-header .nav-shell{width:min(calc(100% - 48px),1400px)!important;gap:13px!important;}
  .site-header .brand{flex-basis:190px!important;}
  .site-header .brand img,.site-header .brand .custom-logo,.site-header .brand .sacia-header-logo{width:190px!important;max-width:190px!important;}
  .site-header .main-nav ul{gap:clamp(8px,.8vw,14px)!important;}
  .site-header .main-nav a{font-size:10px!important;}
  .site-header .nav-tools{gap:12px!important;}
  .site-header .contact-btn{padding:13px 18px!important;}
}
@media(max-width:1220px) and (min-width:761px){
  .site-header .nav-shell{width:calc(100% - 32px)!important;gap:10px!important;}
  .site-header .brand{flex-basis:170px!important;}
  .site-header .brand img,.site-header .brand .custom-logo,.site-header .brand .sacia-header-logo{width:170px!important;max-width:170px!important;}
  .site-header .main-nav ul{gap:9px!important;}
  .site-header .main-nav a{font-size:9px!important;}
  .site-header .search{display:none!important;}
  .site-header .nav-tools{gap:0!important;}
  .site-header .contact-btn{padding:11px 15px!important;}
}

.footer-brand .sacia-footer-logo{
  display:block!important;width:auto!important;max-width:260px!important;height:auto!important;
  max-height:105px!important;object-fit:contain!important;object-position:left center!important;
}


/* V9.6.9 — ordre fixe des logos sous la Hero : ELCA Security, UCCAS, VICI */
.partner-strip .strip-grid{grid-template-columns:minmax(170px,1.2fr) repeat(3,minmax(130px,1fr))!important;grid-template-rows:auto auto!important;gap:10px 24px!important;align-items:center!important}
.partner-strip .strip-grid>span{grid-column:1!important;grid-row:1 / span 2!important}
.partner-strip .strip-grid .founder{justify-content:center;min-width:0;overflow:visible}
.partner-strip .strip-grid .founder img{max-width:100%;max-height:64px;width:auto;height:auto;object-fit:contain}
.partner-strip .strip-grid .founder.elca img{max-width:250px;max-height:64px}
.partner-strip .strip-grid .founder.uccas img{max-width:190px;max-height:64px}
.partner-strip .strip-grid .founder.vici img{max-width:210px;max-height:64px}
.partner-strip .strip-grid .audiences{grid-column:2 / -1!important;grid-row:2!important;text-align:right}
@media(max-width:1100px){.partner-strip .strip-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}.partner-strip .strip-grid>span{grid-column:1/-1!important;grid-row:auto!important}.partner-strip .strip-grid .founder{grid-row:auto!important}.partner-strip .strip-grid .audiences{grid-column:1/-1!important;grid-row:auto!important;text-align:left}}
@media(max-width:640px){.partner-strip .strip-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:14px 10px!important}.partner-strip .strip-grid .founder img{max-width:100%;max-height:52px}.partner-strip .strip-grid .audiences{font-size:9px!important}}
@media(max-width:480px){.partner-strip .strip-grid{grid-template-columns:1fr!important}.partner-strip .strip-grid>span,.partner-strip .strip-grid .audiences{grid-column:1!important}.partner-strip .strip-grid .founder{justify-content:center}}

/* =========================================================
   SACIA V9.7.1 — CORRECTIONS MOBILE CIBLÉES
   - Menu mobile réellement replié et ouvrable
   - Titres et textes contenus dans la largeur de l'écran
   - Aucun changement des contenus ni du design desktop
   ========================================================= */
@media (max-width: 760px) {
  html, body {
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: hidden !important;
  }
  .site-header {
    position: sticky !important;
    top: 0 !important;
    width: 100% !important;
    height: 82px !important;
    overflow: visible !important;
    z-index: 9999 !important;
  }
  .site-header .nav-shell {
    width: calc(100% - 28px) !important;
    max-width: none !important;
    height: 82px !important;
    margin: 0 auto !important;
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 10px !important;
  }
  .site-header .brand {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    max-width: calc(100% - 62px) !important;
  }
  .site-header .brand img,
  .site-header .brand .custom-logo,
  .site-header .brand .sacia-header-logo {
    display: block !important;
    width: auto !important;
    height: auto !important;
    max-width: 100% !important;
    max-height: 68px !important;
    object-fit: contain !important;
    object-position: left center !important;
  }
  .site-header .mobile-toggle {
    display: inline-flex !important;
    flex: 0 0 46px !important;
    width: 46px !important;
    height: 46px !important;
    align-items: center !important;
    justify-content: center !important;
    margin: 0 !important;
    padding: 0 !important;
    color: #102d58 !important;
    background: transparent !important;
    border: 0 !important;
    font-size: 32px !important;
    line-height: 1 !important;
    cursor: pointer !important;
    position: relative !important;
    z-index: 10002 !important;
  }
  .site-header .main-nav,
  .site-header .main-nav:not(.open) {
    display: none !important;
  }
  .site-header .main-nav.open {
    display: block !important;
    position: absolute !important;
    top: 100% !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    max-height: calc(100vh - 82px) !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    margin: 0 !important;
    padding: 12px 22px 20px !important;
    background: #fff !important;
    border-top: 1px solid #e2e8f0 !important;
    box-shadow: 0 14px 24px rgba(15, 39, 70, .14) !important;
    z-index: 10001 !important;
  }
  .site-header .main-nav ul,
  .site-header .main-nav.open ul {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    justify-content: flex-start !important;
    gap: 0 !important;
    width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
  }
  .site-header .main-nav li {
    display: block !important;
    width: 100% !important;
    flex: 0 0 auto !important;
    margin: 0 !important;
    padding: 0 !important;
    border-bottom: 1px solid #edf1f5 !important;
  }
  .site-header .main-nav a {
    display: block !important;
    width: 100% !important;
    padding: 13px 0 !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
    font-size: 15px !important;
    line-height: 1.35 !important;
  }
  .site-header .nav-tools { display: none !important; }

  /* Les titres longs se replient au lieu de déborder de l'écran. */
  .wrap { width: calc(100% - 36px) !important; max-width: 100% !important; }
  .complement,
  .complement-grid,
  .complement-copy,
  .domain-card,
  .why,
  .why-grid,
  .why-copy,
  .mission,
  .mission-grid,
  .mission-copy,
  .programs,
  .program-grid,
  .approach,
  .steps,
  .partners,
  .partners-head,
  .partner-logos,
  .impact,
  .impact-grid,
  .footer-top {
    min-width: 0 !important;
    max-width: 100% !important;
  }
  .complement-grid { display: grid !important; grid-template-columns: minmax(0, 1fr) !important; gap: 20px !important; }
  .complement-copy { grid-column: auto !important; width: 100% !important; padding: 28px 0 10px !important; }
  .complement-copy h2 {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    font-size: clamp(30px, 8.2vw, 40px) !important;
    line-height: 1.06 !important;
    letter-spacing: -.035em !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
    word-break: normal !important;
  }
  .complement-copy p { width: 100% !important; max-width: 100% !important; overflow-wrap: break-word !important; }
  .domain-card { width: 100% !important; min-width: 0 !important; padding: 24px !important; }
  .why-copy h2, .mission-copy h2, .center-head h2,
  .programs h2, .partners h2, .impact h2,
  .standard-page h1, .program-single-copy h1, .program-archive h1 {
    max-width: 100% !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
    word-break: normal !important;
  }
  .hero-actions { width: 100% !important; }
  .hero-actions .button { max-width: 100% !important; justify-content: center !important; white-space: normal !important; text-align: center !important; }
}
@media (max-width: 420px) {
  .site-header .brand { max-width: calc(100% - 56px) !important; }
  .site-header .brand img,
  .site-header .brand .custom-logo,
  .site-header .brand .sacia-header-logo { max-height: 60px !important; }
  .complement-copy h2 { font-size: clamp(28px, 8vw, 34px) !important; }
  .hero-copy h1 { font-size: clamp(36px, 10vw, 44px) !important; overflow-wrap: anywhere !important; }
}


/* V9.7.2 — Navigation verticale : flèche de descente depuis le Hero et retour en haut. */
.sacia-scroll-down,
.sacia-back-to-top {
  display: inline-flex; align-items: center; justify-content: center;
  width: 48px; height: 48px; border-radius: 50%;
  background: #102d58; color: #fff !important; border: 1px solid rgba(255,255,255,.55);
  box-shadow: 0 6px 18px rgba(16,45,88,.22); text-decoration: none !important;
  font-size: 27px; font-weight: 700; line-height: 1; z-index: 9998;
  transition: opacity .2s ease, transform .2s ease, background .2s ease;
}
.sacia-scroll-down:hover, .sacia-back-to-top:hover { background: #244f86; transform: translateY(-2px); }
.sacia-scroll-down { position: relative; margin: -28px auto 18px; display: flex; }
.hero { position: relative; }
.sacia-back-to-top { position: fixed; right: 22px; bottom: 24px; opacity: 0; visibility: hidden; pointer-events: none; transform: translateY(8px); }
.sacia-back-to-top.is-visible { opacity: 1; visibility: visible; pointer-events: auto; transform: translateY(0); }
html { scroll-behavior: smooth; scroll-padding-top: 92px; }
#partenaires-hero, #mission, #equipe, #cyberintelligence, #programmes, #impact, #partenaires, #soutenir { scroll-margin-top: 96px; }
@media (max-width: 760px) {
 .sacia-scroll-down { width: 44px; height: 44px; margin-top: -18px; margin-bottom: 16px; font-size: 25px; }
 .sacia-back-to-top { width: 46px; height: 46px; right: 14px; bottom: 18px; font-size: 26px; }
}
