:root{--non-night:#071424;--non-night2:#0e2138;--non-orange:#f47a20;--non-orange-dark:#c9570f;--non-cream:#f5f0e8;--non-ink:#14213d;--non-muted:#6f7c8d;--non-line:rgba(20,33,61,.14)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--non-cream);color:var(--non-ink)}
.non-site-header{position:sticky;top:0;z-index:100;background:rgba(7,20,36,.9);backdrop-filter:blur(14px);border-bottom:1px solid rgba(255,255,255,.08);transition:.25s}
.non-site-header.is-scrolled{box-shadow:0 12px 28px rgba(0,0,0,.16)}
.non-nav-inner{max-width:1180px!important;margin:auto!important;padding:0 28px!important;min-height:72px}.non-brand a,.non-brand{color:white!important;text-decoration:none!important;font-weight:800!important;letter-spacing:-.02em}.non-brand a::first-letter{color:white}
.non-main-nav{font-size:.91rem}.non-main-nav a{color:rgba(255,255,255,.78)!important;text-decoration:none!important}.non-main-nav a:hover{color:white!important}.non-nav-cta .wp-block-button__link{background:var(--non-orange)!important;color:white!important;border-radius:5px!important;padding:.72rem 1.05rem!important;font-size:.88rem!important}
.non-home{background:var(--non-cream)}.non-hero{position:relative;isolation:isolate;background:var(--non-night);color:white;overflow:hidden;padding:84px 28px 58px!important;max-width:none!important}.non-hero>*:not(.non-hero-bg):not(.non-stars){position:relative;z-index:2;max-width:1180px;margin-left:auto;margin-right:auto}.non-hero-bg{position:absolute;inset:-12%;background:radial-gradient(circle at 72% 16%,rgba(244,122,32,.18),transparent 30%),radial-gradient(circle at 88% 44%,rgba(83,132,181,.11),transparent 26%),linear-gradient(180deg,#071424 0%,#071424 72%,#0c1c31 100%);z-index:0}.non-stars{position:absolute;inset:0;background-image:radial-gradient(circle,rgba(255,255,255,.38) 1px,transparent 1.4px);background-size:68px 68px;opacity:.12;z-index:1}
.non-hero-grid{display:grid;grid-template-columns:1.08fr .92fr;gap:54px;align-items:center}.non-kicker,.non-label{font-size:.76rem;text-transform:uppercase;letter-spacing:.12em;color:#ffb17a;font-weight:700}.non-hero h1{font-size:clamp(3.4rem,6.3vw,6.3rem);line-height:.94;letter-spacing:-.045em;margin:.42rem 0 1.25rem}.non-hero h1 em{color:var(--non-orange);font-style:italic}.non-lede{max-width:720px;font-size:clamp(1.03rem,1.5vw,1.22rem);color:rgba(255,255,255,.72);line-height:1.65}.non-hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:26px}.non-btn{display:inline-block;padding:13px 19px;border-radius:5px;text-decoration:none!important;font-weight:700;font-size:.93rem}.non-btn-primary{background:var(--non-orange);color:white!important}.non-btn-primary:hover{background:#ff8b39}.non-btn-ghost{border:1px solid rgba(255,255,255,.3);color:white!important}.non-btn-ghost-light{border:1px solid rgba(255,255,255,.34);color:white!important}
.non-globe-card{position:relative;border:1px solid rgba(255,255,255,.12);border-radius:12px;overflow:hidden;background:#08182a;box-shadow:0 30px 80px rgba(0,0,0,.22)}.non-globe-card img{display:block;width:100%;height:auto}.non-globe-caption{position:absolute;left:18px;bottom:14px;font-size:.76rem;letter-spacing:.04em;color:rgba(255,255,255,.64)}
.non-timeline-card{margin-top:58px!important;border-top:1px solid rgba(255,255,255,.13);padding-top:28px}.non-timeline-head{display:flex;justify-content:space-between;gap:24px;align-items:end}.non-timeline-head h2{color:white;font-size:clamp(1.7rem,3vw,2.6rem);margin:.35rem 0}.non-timeline-note{font-size:.78rem;color:rgba(255,255,255,.45)}.non-timeline{display:grid;grid-template-columns:repeat(5,1fr);gap:18px;margin-top:26px}.non-step{display:grid;gap:7px}.non-year{font-size:1.08rem;font-weight:800}.non-duration{font-size:.82rem;color:rgba(255,255,255,.6)}.non-bar{display:block;height:8px;width:var(--w);min-width:18px;background:var(--non-orange);border-radius:3px;box-shadow:0 0 18px rgba(244,122,32,.22)}
.non-principles,.non-why,.non-cta-section{padding:86px 28px!important}.non-section-intro{max-width:760px}.non-section-intro h2{font-size:clamp(2.3rem,4.5vw,4.1rem);letter-spacing:-.035em;margin:.45rem 0 1rem}.non-section-intro p{font-size:1.08rem;color:var(--non-muted);line-height:1.7}.non-icon-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;margin-top:46px}.non-icon-grid article{padding-top:20px;border-top:2px solid var(--non-ink)}.non-icon{display:inline-grid;place-items:center;width:38px;height:38px;border:1px solid var(--non-line);border-radius:50%;color:var(--non-orange);font-size:1.25rem}.non-icon-grid h3{font-size:1.2rem;margin:16px 0 7px}.non-icon-grid p{color:var(--non-muted);font-size:.94rem;line-height:1.6}
.non-why{background:var(--non-night);color:white;max-width:none!important}.non-why>*{max-width:1180px;margin-left:auto;margin-right:auto}.non-section-intro-dark p{color:rgba(255,255,255,.62)}.non-card-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:44px}.non-card-grid article{background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.08);border-radius:8px;padding:26px}.non-card-grid span{font-size:.72rem;color:#ffb17a;letter-spacing:.1em}.non-card-grid h3{font-size:1.15rem;margin:16px 0 8px}.non-card-grid p{font-size:.91rem;line-height:1.6;color:rgba(255,255,255,.6)}
.non-cta-section{background:var(--non-cream)}.non-cta-card{max-width:1180px;margin:auto;background:linear-gradient(135deg,#0b1d32,#071424);color:white;border-radius:12px;padding:54px}.non-cta-card h2{font-size:clamp(2rem,4vw,3.6rem);margin:.5rem 0 1rem}.non-cta-card p{max-width:760px;color:rgba(255,255,255,.65);font-size:1.05rem}
.non-footer{background:#06111f;color:rgba(255,255,255,.66);padding:46px 28px!important}.non-footer-inner{max-width:1180px!important;margin:auto!important}.non-footer-brand,.non-footer-brand a{color:white!important;text-decoration:none!important;font-weight:800!important}.non-footer-nav a{color:rgba(255,255,255,.6)!important;text-decoration:none!important;font-size:.88rem}.non-footer-nav a:hover{color:white!important}
.non-page-shell{padding:74px 28px 100px!important}.non-page-title{font-size:clamp(2.8rem,5vw,5rem);letter-spacing:-.04em;margin-bottom:36px}.non-page-shell .wp-block-post-content{font-size:1.06rem;line-height:1.75}.non-post-card{padding:26px 0;border-top:1px solid var(--non-line)}
@media(max-width:960px){.non-hero-grid{grid-template-columns:1fr}.non-globe-card{max-width:720px}.non-icon-grid,.non-card-grid{grid-template-columns:repeat(2,1fr)}.non-main-nav{display:none}.non-nav-cta{margin-left:auto}.non-timeline{grid-template-columns:1fr 1fr 1fr}.non-step-last{grid-column:span 2}}
@media(max-width:640px){.non-nav-inner{padding:0 16px!important}.non-nav-cta{display:none}.non-hero{padding:64px 18px 42px!important}.non-hero h1{font-size:clamp(3rem,15vw,4.5rem)}.non-timeline-head{display:block}.non-timeline-note{margin-top:8px}.non-timeline{grid-template-columns:1fr}.non-step-last{grid-column:auto}.non-bar{width:min(var(--w),100%)!important}.non-principles,.non-why,.non-cta-section{padding:64px 18px!important}.non-icon-grid,.non-card-grid{grid-template-columns:1fr}.non-cta-card{padding:34px 24px}.non-footer{padding:40px 18px!important}}

/* V0.3 — hero refinement */
.wp-site-blocks{padding-top:0!important;padding-bottom:0!important;gap:0!important}
.wp-site-blocks>*{margin-block-start:0!important;margin-block-end:0!important}
.non-home{margin:0!important}
.non-hero{padding:72px 28px 56px!important;min-height:calc(100vh - 72px);display:flex;flex-direction:column;justify-content:center}
.non-hero-grid{grid-template-columns:.94fr 1.06fr;gap:34px;align-items:center}
.non-hero h1{font-size:clamp(3.2rem,5.4vw,5.45rem);line-height:.93;letter-spacing:-.043em;max-width:9.5ch;margin:.5rem 0 1.15rem}
.non-lede{max-width:610px}
.non-world-visual{position:relative;min-height:470px;display:flex;align-items:center;justify-content:center;filter:drop-shadow(0 34px 70px rgba(0,0,0,.18))}
.non-world-visual::before{content:'';position:absolute;width:72%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,rgba(244,122,32,.14),rgba(244,122,32,0) 66%);right:2%;top:2%;pointer-events:none}
.non-world-visual svg{display:block;width:min(760px,112%);max-width:none;height:auto;transform:translateX(2%)}
.non-timeline-card{margin-top:34px!important}
@media(max-width:960px){.non-hero{min-height:auto}.non-hero-grid{grid-template-columns:1fr}.non-hero h1{max-width:11ch}.non-world-visual{min-height:360px;margin-top:-12px}.non-world-visual svg{width:min(780px,100%);transform:none}.non-timeline-card{margin-top:16px!important}}
@media(max-width:640px){.non-hero{padding-top:50px!important}.non-hero h1{font-size:clamp(2.9rem,14vw,4.2rem)}.non-world-visual{min-height:265px;margin-top:6px}.non-world-visual svg{width:112%}}

/* V0.4 — Earth background shared across hero, timeline and principle cards */
.non-hero-earth{position:relative;padding:82px 28px 70px!important;min-height:auto;background:#061321;overflow:hidden}
.non-earth-bg{position:absolute;z-index:0;inset:0;background-image:none;background-repeat:no-repeat;background-size:min(74vw,1120px) auto;background-position:calc(50% + 350px) 28px;opacity:.95;transform:scale(1.035);transform-origin:70% 20%}
.non-earth-shade{position:absolute;z-index:1;inset:0;background:linear-gradient(90deg,#061321 0%,rgba(6,19,33,.98) 28%,rgba(6,19,33,.78) 49%,rgba(6,19,33,.23) 72%,rgba(6,19,33,.14) 100%),linear-gradient(180deg,rgba(6,19,33,.12) 0%,rgba(6,19,33,.10) 55%,#061321 99%)}
.non-hero-earth .non-stars{z-index:1;opacity:.07}
.non-hero-earth>*:not(.non-earth-bg):not(.non-earth-shade):not(.non-stars){position:relative;z-index:2;max-width:1180px;margin-left:auto;margin-right:auto}
.non-hero-grid-earth{grid-template-columns:minmax(0, .82fr) minmax(350px,1.18fr);min-height:470px;align-items:center}
.non-hero-earth .non-hero-copy{padding:34px 0 44px}
.non-hero-earth h1{max-width:8.7ch;font-size:clamp(3.25rem,5.35vw,5.55rem)}
.non-hero-earth .non-lede{max-width:600px;text-shadow:0 1px 18px rgba(0,0,0,.42)}
.non-hero-earth .non-lede strong{color:#ff8a32}
.non-earth-breath{min-height:430px}
.non-glass-card{background:linear-gradient(180deg,rgba(8,24,42,.58),rgba(6,20,35,.76));border:1px solid rgba(255,255,255,.14);box-shadow:0 24px 64px rgba(0,0,0,.18);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.non-hero-earth .non-timeline-card{margin-top:8px!important;border-top:0;border-radius:12px;padding:26px 26px 24px!important}
.non-hero-earth .non-timeline-card h2{font-size:clamp(1.5rem,2.5vw,2.15rem);margin:.3rem 0}
.non-shared-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:16px!important}
.non-shared-cards article{border-radius:10px;padding:21px 20px 19px;min-height:142px}
.non-shared-cards h3{font-size:1.06rem;margin:11px 0 6px;color:white}
.non-shared-cards p{font-size:.84rem;line-height:1.5;color:rgba(255,255,255,.6);margin:0}
.non-card-icon{font-size:1.34rem;color:var(--non-orange)}
.non-principles-light{padding-top:76px!important;padding-bottom:76px!important}
@media(max-width:1100px){.non-earth-bg{background-size:940px auto;background-position:calc(50% + 290px) 48px}.non-hero-grid-earth{grid-template-columns:.92fr 1.08fr}}
@media(max-width:960px){.non-hero-earth{padding-top:54px!important}.non-earth-bg{background-size:960px auto;background-position:65% 32px;opacity:.68}.non-earth-shade{background:linear-gradient(180deg,rgba(6,19,33,.54),rgba(6,19,33,.85) 52%,#061321 100%),linear-gradient(90deg,#061321 0%,rgba(6,19,33,.66) 76%,rgba(6,19,33,.28) 100%)}.non-hero-grid-earth{grid-template-columns:1fr;min-height:520px}.non-earth-breath{display:none}.non-hero-earth .non-hero-copy{padding:100px 0 44px;max-width:690px}.non-shared-cards{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.non-earth-bg{background-size:800px auto;background-position:58% 28px;opacity:.58}.non-hero-grid-earth{min-height:auto}.non-hero-earth .non-hero-copy{padding:86px 0 34px}.non-hero-earth .non-timeline-card{padding:22px 18px!important}.non-shared-cards{grid-template-columns:1fr}.non-shared-cards article{min-height:auto}.non-principles-light{padding-top:60px!important;padding-bottom:60px!important}}


/* v0.6 — robust hero background: apply the Earth directly to the block that WordPress renders. */
.non-hero-earth{
  background-color:#061321 !important;
  background-image:
    linear-gradient(90deg,#061321 0%,rgba(6,19,33,.98) 24%,rgba(6,19,33,.82) 43%,rgba(6,19,33,.38) 68%,rgba(6,19,33,.18) 100%),
    linear-gradient(180deg,rgba(6,19,33,.10) 0%,rgba(6,19,33,.06) 58%,#061321 99%),
    url('../images/earth-network-bg.jpg') !important;
  background-repeat:no-repeat,no-repeat,no-repeat !important;
  background-size:100% 100%,100% 100%,min(84vw,1320px) auto !important;
  background-position:center,center,calc(50% + 360px) 18px !important;
  background-attachment:scroll,scroll,scroll !important;
}
.non-hero-earth .non-stars{opacity:.045!important;}
@media (max-width:980px){
  .non-hero-earth{
    background-image:
      linear-gradient(180deg,rgba(6,19,33,.38) 0%,rgba(6,19,33,.60) 52%,#061321 98%),
      linear-gradient(90deg,#061321 0%,rgba(6,19,33,.42) 72%,rgba(6,19,33,.22) 100%),
      url('../images/earth-network-bg.jpg') !important;
    background-size:100% 100%,100% 100%,1080px auto !important;
    background-position:center,center,58% 18px !important;
  }
}
@media (max-width:640px){
  .non-hero-earth{
    background-image:
      linear-gradient(180deg,rgba(6,19,33,.42) 0%,rgba(6,19,33,.78) 38%,#061321 72%),
      url('../images/earth-network-bg.jpg') !important;
    background-size:100% 100%,840px auto !important;
    background-position:center,62% 18px !important;
  }
}

/* v0.7 — half-width copy, Earth as the continuous visual background through timeline/cards */
.non-hero-earth{
  padding-top:76px!important;
  padding-bottom:76px!important;
  background-image:
    linear-gradient(90deg,rgba(6,19,33,.96) 0%,rgba(6,19,33,.90) 24%,rgba(6,19,33,.58) 49%,rgba(6,19,33,.22) 74%,rgba(6,19,33,.14) 100%),
    linear-gradient(180deg,rgba(6,19,33,.08) 0%,rgba(6,19,33,.08) 46%,rgba(6,19,33,.40) 72%,#061321 100%),
    url('../images/earth-network-bg.jpg') !important;
  background-size:100% 100%,100% 100%,cover !important;
  background-position:center,center,center top !important;
}
.non-hero-grid-earth{
  grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
  gap:36px!important;
  min-height:560px!important;
  align-items:center!important;
}
.non-hero-earth .non-hero-copy{
  width:100%;
  max-width:560px;
  padding:42px 0 52px!important;
}
.non-hero-earth h1{
  max-width:none!important;
  font-size:clamp(3.2rem,5.2vw,5.45rem)!important;
  line-height:.94!important;
}
.non-hero-earth .non-lede{max-width:540px!important}
.non-earth-breath{min-height:520px!important}
.non-hero-earth .non-timeline-card{
  margin-top:18px!important;
  background:linear-gradient(180deg,rgba(8,24,42,.44),rgba(6,20,35,.66))!important;
}
.non-shared-cards{margin-top:18px!important}
.non-shared-cards article{
  background:linear-gradient(180deg,rgba(8,24,42,.38),rgba(6,20,35,.62))!important;
}
@media(max-width:1100px){
  .non-hero-grid-earth{grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;min-height:520px!important}
  .non-hero-earth .non-hero-copy{max-width:520px}
}
@media(max-width:960px){
  .non-hero-earth{
    background-image:
      linear-gradient(180deg,rgba(6,19,33,.28) 0%,rgba(6,19,33,.54) 48%,#061321 88%),
      url('../images/earth-network-bg.jpg') !important;
    background-size:100% 100%,cover !important;
    background-position:center,62% top !important;
  }
  .non-hero-grid-earth{grid-template-columns:1fr!important;min-height:auto!important}
  .non-earth-breath{display:none!important}
  .non-hero-earth .non-hero-copy{max-width:680px;padding:210px 0 46px!important}
}
@media(max-width:640px){
  .non-hero-earth{background-position:center,64% top!important}
  .non-hero-earth .non-hero-copy{padding:165px 0 34px!important}
}

/* v0.8 — tighter hero, Earth visible under translucent header, reliable mobile navigation */
.home .non-site-header{
  background:rgba(7,20,36,.58)!important;
  -webkit-backdrop-filter:blur(10px);
  backdrop-filter:blur(10px);
}
.home .non-site-header.is-scrolled{
  background:rgba(7,20,36,.92)!important;
}

/* Pull the hero behind the sticky header so the Earth remains visible through it. */
.home .non-hero-earth{
  margin-top:-72px!important;
  padding-top:112px!important; /* 72px header + ~40px breathing room */
}
.home .non-hero-grid-earth{
  min-height:500px!important;
}
.home .non-hero-earth .non-hero-copy{
  padding:18px 0 38px!important;
}

/* Keep the WordPress navigation block alive on mobile; only switch its presentation. */
@media(max-width:960px){
  .non-main-nav{display:flex!important;margin-left:auto!important}
  .non-main-nav .wp-block-navigation__container{display:none!important}
  .non-main-nav .wp-block-navigation__responsive-container-open{
    display:flex!important;
    align-items:center;
    justify-content:center;
    color:#fff!important;
    width:42px;
    height:42px;
    padding:8px!important;
    border:1px solid rgba(255,255,255,.20);
    border-radius:5px;
    background:rgba(255,255,255,.04);
  }
  .non-main-nav .wp-block-navigation__responsive-container-open svg{fill:currentColor;width:24px;height:24px}
  .non-main-nav .wp-block-navigation__responsive-container:not(.is-menu-open){display:none!important}
  .non-main-nav .wp-block-navigation__responsive-container.is-menu-open{
    display:flex!important;
    background:#071424!important;
    color:#fff!important;
    padding:28px!important;
    z-index:1000;
  }
  .non-main-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container{
    display:flex!important;
    width:100%;
    gap:0!important;
  }
  .non-main-nav .wp-block-navigation__responsive-container.is-menu-open a{
    color:#fff!important;
    font-size:1.3rem!important;
    padding:12px 0!important;
  }
  .non-main-nav .wp-block-navigation__responsive-container-close{color:#fff!important}
  .non-nav-cta{margin-left:10px!important}

  .home .non-hero-earth{
    margin-top:-72px!important;
    padding-top:104px!important;
  }
  .home .non-hero-earth .non-hero-copy{
    padding:72px 0 38px!important;
  }
}

@media(max-width:640px){
  .non-nav-inner{min-height:64px!important}
  .home .non-hero-earth{
    margin-top:-64px!important;
    padding-top:88px!important;
  }
  .home .non-hero-earth .non-hero-copy{
    padding:72px 0 30px!important;
  }
  .non-brand{font-size:1rem!important}
  .non-nav-cta{display:none!important}
}

/* v0.9 — global navigation + progressive-reading one-page templates */
.non-main-nav{font-size:1rem!important;font-weight:600}
.non-main-nav .wp-block-navigation-item__content{padding:.42rem .18rem!important}
.non-page-wrap{width:min(1180px,calc(100% - 56px));margin-inline:auto}
.non-page-hero{position:relative;background:#071424;color:#fff;padding:104px 0 72px;overflow:hidden}
.non-page-hero::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 82% 18%,rgba(244,122,32,.18),transparent 26%),radial-gradient(circle at 75% 55%,rgba(90,140,190,.12),transparent 34%);pointer-events:none}
.non-page-hero .non-page-wrap{position:relative;z-index:1}
.non-page-hero h1{font-family:Georgia,"Times New Roman",serif;font-size:clamp(3rem,6.1vw,6.2rem);line-height:.95;letter-spacing:-.045em;max-width:12ch;margin:.5rem 0 1.3rem}
.non-page-hero h1 em{color:var(--non-orange);font-style:italic}
.non-page-hero p{max-width:760px;font-size:1.15rem;line-height:1.7;color:rgba(255,255,255,.7)}
.non-anchor-nav{display:flex;gap:10px;flex-wrap:wrap;margin-top:34px}
.non-anchor-nav a{color:#fff!important;text-decoration:none!important;border:1px solid rgba(255,255,255,.18);border-radius:999px;padding:8px 13px;font-size:.88rem;background:rgba(255,255,255,.04)}
.non-anchor-nav a:hover{border-color:rgba(244,122,32,.65);background:rgba(244,122,32,.12)}
.non-story-section{padding:88px 0;scroll-margin-top:80px}
.non-light{background:var(--non-cream);color:var(--non-ink)}
.non-dark{background:#081728;color:#fff}
.non-accent-section{background:linear-gradient(135deg,#0a1e34,#071424 72%);color:#fff}
.non-two-col{display:grid;grid-template-columns:minmax(230px,.72fr) minmax(0,1.28fr);gap:70px;align-items:start}
.non-story-section h2{font-family:Georgia,"Times New Roman",serif;font-size:clamp(2.2rem,4vw,4rem);line-height:1;letter-spacing:-.035em;margin:.35rem 0 0}
.non-index{font-size:.78rem;letter-spacing:.14em;color:var(--non-orange-dark);font-weight:800;text-transform:uppercase}
.non-dark .non-index,.non-accent-section .non-index{color:#ffab73}
.non-story-copy{max-width:760px;font-size:1.03rem;line-height:1.75}
.non-story-copy>p{margin-top:0;margin-bottom:1.15rem}
.non-lead-dark,.non-lead-light{font-family:Georgia,"Times New Roman",serif;font-size:clamp(1.45rem,2.3vw,2.05rem);line-height:1.25!important;letter-spacing:-.015em}
.non-lead-light{color:#fff}.non-lead-dark{color:var(--non-ink)}
.non-dark .non-story-copy>p:not(.non-lead-light),.non-accent-section .non-story-copy>p:not(.non-lead-light){color:rgba(255,255,255,.68)}
.non-accordion{border-top:1px solid rgba(20,33,61,.17);padding:0;margin:22px 0 0}
.non-accordion+ .non-accordion{margin-top:0}
.non-accordion summary{cursor:pointer;list-style:none;padding:18px 34px 18px 0;font-weight:750;position:relative;color:var(--non-ink)}
.non-accordion summary::-webkit-details-marker{display:none}.non-accordion summary::after{content:"+";position:absolute;right:4px;top:12px;font-size:1.6rem;font-weight:400;color:var(--non-orange)}
.non-accordion[open] summary::after{content:"–"}.non-accordion>p,.non-accordion>ul{padding:0 0 18px;margin:0;color:var(--non-muted)}
.non-accordion-dark{border-color:rgba(255,255,255,.14)}.non-accordion-dark summary{color:#fff}.non-accordion-dark>p,.non-accordion-dark>ul{color:rgba(255,255,255,.66)}
.non-mini-timeline{display:grid;grid-template-columns:auto 1fr auto 1fr auto 1fr auto;align-items:center;gap:11px;margin:28px 0 6px;padding:22px;border:1px solid var(--non-line);border-radius:9px;background:#fff}
.non-mini-timeline span{font-size:.76rem;color:var(--non-muted);white-space:nowrap}.non-mini-timeline b{color:var(--non-ink);font-size:.9rem}.non-mini-timeline i{height:3px;background:linear-gradient(90deg,var(--non-orange),rgba(244,122,32,.28));border-radius:3px}.non-caption{font-size:.78rem!important;color:var(--non-muted)!important}
.non-edition-steps{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:22px 0 24px}.non-edition-steps>div{display:flex;gap:14px;align-items:flex-start;border:1px solid rgba(255,255,255,.12);border-radius:8px;padding:16px;background:rgba(255,255,255,.035)}.non-edition-steps b{display:grid;place-items:center;width:30px;height:30px;flex:0 0 30px;border-radius:50%;background:var(--non-orange);color:#fff}.non-edition-steps span{display:grid;gap:3px}.non-edition-steps small{color:rgba(255,255,255,.6);line-height:1.45}
.non-three-cards,.non-action-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:26px 0}.non-three-cards article,.non-action-grid article{border:1px solid var(--non-line);background:#fff;border-radius:8px;padding:22px}.non-three-cards h3,.non-action-grid h3{font-size:1.05rem;margin:0 0 9px}.non-three-cards p,.non-action-grid p{font-size:.9rem;color:var(--non-muted);line-height:1.55;margin:0}.non-action-grid{grid-template-columns:repeat(4,1fr)}.non-action-grid article{display:flex;flex-direction:column}.non-action-grid a{margin-top:auto;padding-top:18px;text-decoration:none!important;font-weight:700}
.non-process{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:24px 0}.non-process span{padding:9px 12px;border:1px solid rgba(255,255,255,.15);border-radius:999px;font-size:.88rem}.non-process i{color:var(--non-orange);font-style:normal}
.non-news-query{max-width:850px}.non-news-card{padding:28px 0;border-bottom:1px solid var(--non-line)}.non-news-card .wp-block-post-date{font-size:.8rem;color:var(--non-muted)}.non-news-card h2{font-size:clamp(1.6rem,3vw,2.4rem);margin:.4rem 0 .6rem}.non-news-card h2 a{color:var(--non-ink)!important;text-decoration:none!important}.non-news-card .wp-block-post-excerpt{color:var(--non-muted)}

/* Full-screen, scrollable mobile menu. */
@media(max-width:960px){
  .non-main-nav .wp-block-navigation__responsive-container.is-menu-open{position:fixed!important;inset:0!important;width:100vw!important;height:100dvh!important;max-height:100dvh!important;overflow-y:auto!important;overscroll-behavior:contain;background:#071424!important;padding:82px 28px 40px!important;display:block!important}
  .non-main-nav .wp-block-navigation__responsive-container-content{display:block!important;height:auto!important;padding:0!important}
  .non-main-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container{display:flex!important;flex-direction:column!important;align-items:stretch!important;width:100%!important;gap:0!important}
  .non-main-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item{width:100%!important;border-bottom:1px solid rgba(255,255,255,.12)}
  .non-main-nav .wp-block-navigation__responsive-container.is-menu-open a{display:block!important;width:100%!important;font-size:1.22rem!important;line-height:1.25!important;padding:18px 2px!important}
  .non-main-nav .wp-block-navigation__responsive-container-close{position:fixed!important;right:22px!important;top:18px!important;color:#fff!important;z-index:2}
  .non-two-col{grid-template-columns:1fr;gap:24px}.non-story-section{padding:68px 0}.non-page-wrap{width:min(100% - 36px,1180px)}.non-page-hero{padding:86px 0 58px}.non-three-cards{grid-template-columns:1fr}.non-action-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:640px){
  .non-main-nav .wp-block-navigation__responsive-container.is-menu-open{padding:72px 20px 28px!important}.non-main-nav .wp-block-navigation__responsive-container.is-menu-open a{font-size:1.18rem!important;padding:17px 0!important}
  .non-page-wrap{width:min(100% - 32px,1180px)}.non-page-hero{padding:78px 0 48px}.non-page-hero h1{font-size:clamp(2.7rem,13vw,4.1rem)}.non-page-hero p{font-size:1rem}.non-story-section{padding:58px 0}.non-story-section h2{font-size:clamp(2rem,10vw,3rem)}.non-story-copy{font-size:.98rem}.non-mini-timeline{grid-template-columns:1fr;gap:6px}.non-mini-timeline i{width:3px;height:18px;margin-left:14px}.non-edition-steps{grid-template-columns:1fr}.non-action-grid{grid-template-columns:1fr}.non-anchor-nav{gap:7px}.non-anchor-nav a{font-size:.8rem;padding:7px 10px}
}


/* v1.0 — wider hero composition + smaller desktop gutters + correct nav breakpoint */
@media(min-width:961px){
  .non-nav-inner{
    max-width:1480px!important;
    padding-left:32px!important;
    padding-right:32px!important;
  }
  .non-main-nav{
    display:flex!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }
  .non-main-nav .wp-block-navigation__container{
    display:flex!important;
  }
  .non-main-nav .wp-block-navigation__responsive-container-open{
    display:none!important;
  }
  .home .non-hero-earth>*:not(.non-stars){
    width:min(1480px,calc(100% - 64px));
    max-width:1480px!important;
  }
  .home .non-hero-grid-earth{
    grid-template-columns:minmax(0,1.65fr) minmax(260px,.85fr)!important;
    gap:24px!important;
  }
  .home .non-hero-earth .non-hero-copy{
    max-width:860px!important;
    width:100%!important;
  }
  .home .non-hero-earth .non-lede{
    max-width:800px!important;
  }
  .home .non-hero-earth h1{
    max-width:11.5ch!important;
  }
  .home .non-earth-breath{
    min-height:480px!important;
  }
}
@media(min-width:1500px){
  .home .non-hero-earth h1{
    font-size:clamp(3.4rem,5vw,5.7rem)!important;
  }
}

/* v1.1 — wider home title + explicit orientation after the synthetic presentation */
@media(min-width:961px){
  .home .non-hero-earth h1{
    max-width:15ch!important;
  }
}
.non-orient{
  background:var(--non-cream);
  color:var(--non-ink);
  padding:82px 28px!important;
}
.non-orient-inner{
  width:min(1180px,100%);
  margin-inline:auto;
}
.non-orient-head{max-width:780px;margin-bottom:34px}
.non-orient-head h2{font-family:Georgia,"Times New Roman",serif;font-size:clamp(2.2rem,4vw,3.8rem);line-height:1.03;letter-spacing:-.035em;margin:.45rem 0 1rem}
.non-orient-head p{color:var(--non-muted);font-size:1.04rem;line-height:1.7}
.non-orient-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.non-orient-card{border:1px solid var(--non-line);background:#fff;border-radius:10px;padding:30px;display:flex;flex-direction:column;min-height:270px}
.non-orient-card .non-index{margin-bottom:12px}
.non-orient-card h3{font-family:Georgia,"Times New Roman",serif;font-size:clamp(1.75rem,2.8vw,2.55rem);line-height:1.08;margin:0 0 14px;letter-spacing:-.025em}
.non-orient-card p{color:var(--non-muted);line-height:1.65;margin:0 0 22px;max-width:58ch}
.non-orient-card a{margin-top:auto;align-self:flex-start;color:var(--non-orange-dark)!important;text-decoration:none!important;font-weight:800}
.non-orient-card a:hover{text-decoration:underline!important;text-underline-offset:4px}
@media(max-width:760px){.non-orient{padding:58px 18px!important}.non-orient-grid{grid-template-columns:1fr}.non-orient-card{min-height:auto;padding:24px}}

/* v1.2 — accueil editorial */
.non-orient-editorial{padding-top:72px!important;padding-bottom:72px!important}
.non-orient-grid-stacked{grid-template-columns:1fr;gap:26px;max-width:1180px;margin:0 auto}
.non-orient-card-editorial{min-height:0;padding:42px 46px;border-radius:14px;box-shadow:0 18px 50px rgba(20,33,61,.06)}
.non-orient-card-editorial h2{font-family:Georgia,"Times New Roman",serif;font-size:clamp(2rem,3.6vw,3.45rem);line-height:1.04;letter-spacing:-.035em;margin:.25rem 0 1.3rem;max-width:24ch}
.non-orient-card-editorial p{max-width:78ch;font-size:1.08rem;line-height:1.78;margin:0 0 1.15rem}
.non-orient-card-editorial a{margin-top:1rem}
.non-orient-card-proposal{background:#f8f3ec}
@media(max-width:760px){.non-orient-editorial{padding:48px 16px!important}.non-orient-card-editorial{padding:28px 24px}.non-orient-card-editorial p{font-size:1rem}}


/* v1.3 — paired editorial blocks on home */
.non-orient-grid-paired{
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:24px;
  max-width:1480px;
  margin:0 auto;
}
.non-orient-grid-paired .non-orient-card-editorial{
  height:100%;
  padding:42px 42px 40px;
}
.non-orient-grid-paired .non-orient-card-editorial h2{
  font-size:clamp(1.9rem,2.7vw,3rem);
  max-width:18ch;
}
.non-orient-grid-paired .non-orient-card-editorial p{
  max-width:none;
}
@media(max-width:960px){
  .non-orient-grid-paired{
    grid-template-columns:1fr;
  }
  .non-orient-grid-paired .non-orient-card-editorial h2{
    max-width:24ch;
  }
}


/* v1.4 — Le constat: richer one-page editorial layout */
.non-constat-page .non-page-hero{
  padding-top:120px!important;
  padding-bottom:72px!important;
}
.non-constat-page .non-page-hero h1{
  max-width:19ch;
}
.non-constat-page .non-page-intro{
  max-width:78ch;
}
.non-story-editorial{
  padding:88px 28px!important;
}
.non-story-layout{
  display:grid;
  grid-template-columns:minmax(260px,.72fr) minmax(0,1.55fr);
  gap:clamp(48px,7vw,110px);
  align-items:start;
}
.non-story-head{
  position:sticky;
  top:112px;
}
.non-story-head h2{
  font-size:clamp(2.2rem,4.1vw,4.15rem);
  line-height:1.02;
  letter-spacing:-.045em;
  margin:.35rem 0 1.05rem;
  max-width:10ch;
}
.non-story-side{
  max-width:30ch;
  font-size:1rem;
  line-height:1.6;
  opacity:.72;
}
.non-story-copy{
  max-width:820px;
}
.non-story-copy > p{
  font-size:1.08rem;
  line-height:1.8;
  margin:0 0 1.35rem;
}
.non-story-copy .non-lead-dark,
.non-story-copy .non-lead-light{
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(1.55rem,2.5vw,2.25rem);
  line-height:1.28;
  letter-spacing:-.025em;
  margin-bottom:1.5rem;
}
.non-story-copy .non-accordion{
  margin-top:30px;
}
.non-story-action{
  margin-top:34px;
}
@media(max-width:960px){
  .non-story-layout{
    grid-template-columns:1fr;
    gap:24px;
  }
  .non-story-head{
    position:static;
  }
  .non-story-head h2{
    max-width:18ch;
  }
  .non-story-side{
    max-width:60ch;
  }
}
@media(max-width:760px){
  .non-constat-page .non-page-hero{
    padding-top:92px!important;
    padding-bottom:46px!important;
  }
  .non-story-editorial{
    padding:58px 18px!important;
  }
  .non-story-copy > p{
    font-size:1rem;
    line-height:1.72;
  }
}


/* v1.5 — Editable WordPress page system
   Internal page text now lives in WordPress, not in theme templates. */
.non-editable-page{
  background:var(--non-cream);
  color:var(--non-ink);
}
.non-content-hero{
  background:var(--non-navy);
  color:#fff;
  padding:120px 28px 70px;
}
.non-content-wrap{
  width:min(1280px,calc(100% - 0px));
  margin-inline:auto;
}
.non-content-hero .non-content-wrap{
  width:min(1480px,100%);
}
.non-content-kicker{
  color:var(--non-orange);
  font-size:.78rem;
  font-weight:800;
  letter-spacing:.16em;
  text-transform:uppercase;
  margin-bottom:18px;
}
.non-content-hero h1{
  color:#fff;
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(3rem,6vw,6rem);
  line-height:.98;
  letter-spacing:-.05em;
  max-width:18ch;
  margin:0 0 24px;
}
.non-content-hero h1 em{
  color:var(--non-orange);
  font-style:normal;
}
.non-content-intro{
  max-width:78ch;
  color:rgba(255,255,255,.78);
  font-size:1.14rem;
  line-height:1.7;
}
.non-content-nav{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:34px;
}
.non-content-nav a{
  display:inline-flex;
  align-items:center;
  min-height:42px;
  padding:9px 15px;
  border:1px solid rgba(255,255,255,.2);
  border-radius:999px;
  color:#fff!important;
  text-decoration:none!important;
  font-size:.92rem;
}
.non-content-nav a:hover{
  border-color:var(--non-orange);
  background:rgba(232,99,10,.12);
}
.non-content-section{
  padding:88px 28px;
}
.non-content-section.is-dark{
  background:var(--non-navy);
  color:#fff;
}
.non-content-section.is-accent{
  background:#12213d;
  color:#fff;
  border-top:1px solid rgba(255,255,255,.08);
}
.non-content-layout{
  width:min(1280px,100%);
  margin-inline:auto;
  display:grid;
  grid-template-columns:minmax(250px,.72fr) minmax(0,1.55fr);
  gap:clamp(48px,7vw,110px);
  align-items:start;
}
.non-content-heading{
  position:sticky;
  top:110px;
}
.non-content-index{
  color:var(--non-orange-dark);
  font-size:.78rem;
  font-weight:800;
  letter-spacing:.15em;
  text-transform:uppercase;
}
.is-dark .non-content-index,
.is-accent .non-content-index{
  color:var(--non-orange);
}
.non-content-heading h2{
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(2.25rem,4vw,4.1rem);
  line-height:1.02;
  letter-spacing:-.045em;
  max-width:10ch;
  margin:.35rem 0 1rem;
}
.non-content-aside{
  max-width:31ch;
  font-size:1rem;
  line-height:1.6;
  opacity:.72;
}
.non-content-copy{
  max-width:830px;
}
.non-content-copy > p{
  font-size:1.08rem;
  line-height:1.8;
  margin:0 0 1.35rem;
}
.non-content-lead{
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(1.55rem,2.45vw,2.2rem)!important;
  line-height:1.3!important;
  letter-spacing:-.025em;
  margin-bottom:1.55rem!important;
}
.non-content-details{
  margin-top:30px;
  border-top:1px solid rgba(20,33,61,.16);
  border-bottom:1px solid rgba(20,33,61,.16);
}
.is-dark .non-content-details,
.is-accent .non-content-details{
  border-color:rgba(255,255,255,.18);
}
.non-content-details summary{
  cursor:pointer;
  list-style:none;
  padding:19px 36px 19px 0;
  font-weight:800;
  position:relative;
}
.non-content-details summary::-webkit-details-marker{display:none}
.non-content-details summary::after{
  content:"+";
  position:absolute;
  right:4px;
  top:14px;
  font-size:1.55rem;
  font-weight:400;
  color:var(--non-orange-dark);
}
.is-dark .non-content-details summary::after,
.is-accent .non-content-details summary::after{color:var(--non-orange)}
.non-content-details[open] summary::after{content:"–"}
.non-content-details > div,
.non-content-details > p,
.non-content-details > ul{
  margin-bottom:20px;
}
.non-content-details ul{
  padding-left:1.25rem;
  line-height:1.7;
}
.non-content-action{
  margin-top:34px;
}
@media(max-width:960px){
  .non-content-layout{
    grid-template-columns:1fr;
    gap:24px;
  }
  .non-content-heading{position:static}
  .non-content-heading h2{max-width:18ch}
  .non-content-aside{max-width:60ch}
}
@media(max-width:760px){
  .non-content-hero{
    padding:94px 18px 48px;
  }
  .non-content-section{
    padding:58px 18px;
  }
  .non-content-copy > p{
    font-size:1rem;
    line-height:1.72;
  }
  .non-content-nav{
    gap:8px;
  }
  .non-content-nav a{
    font-size:.86rem;
    padding:8px 12px;
  }
}


/* v1.6 — contrast fix for editable page hero */
.non-editable-page .non-content-hero,
.non-content-hero{
  background:#081729 !important;
  color:#ffffff !important;
}
.non-editable-page .non-content-hero h1,
.non-content-hero h1{
  color:#ffffff !important;
}
.non-editable-page .non-content-hero h1 em,
.non-content-hero h1 em{
  color:#ff7417 !important;
}
.non-editable-page .non-content-intro,
.non-content-hero .non-content-intro{
  color:rgba(255,255,255,.82) !important;
}
.non-editable-page .non-content-nav a,
.non-content-hero .non-content-nav a{
  color:#ffffff !important;
  border-color:rgba(255,255,255,.34) !important;
  background:rgba(255,255,255,.035);
}
.non-editable-page .non-content-nav a:hover,
.non-content-hero .non-content-nav a:hover{
  border-color:#ff7417 !important;
  background:rgba(255,116,23,.14) !important;
}


/* v1.7 — harden contrast for all editable dark sections */
.non-editable-page .non-content-section.is-dark,
.non-content-section.is-dark{
  background:#081729 !important;
  color:#ffffff !important;
}

.non-editable-page .non-content-section.is-accent,
.non-content-section.is-accent{
  background:#12213d !important;
  color:#ffffff !important;
}

.non-editable-page .non-content-section.is-dark .non-content-heading h2,
.non-editable-page .non-content-section.is-dark .non-content-aside,
.non-editable-page .non-content-section.is-dark .non-content-copy,
.non-editable-page .non-content-section.is-dark .non-content-copy p,
.non-editable-page .non-content-section.is-dark .non-content-copy li,
.non-editable-page .non-content-section.is-dark .non-content-details summary,
.non-editable-page .non-content-section.is-accent .non-content-heading h2,
.non-editable-page .non-content-section.is-accent .non-content-aside,
.non-editable-page .non-content-section.is-accent .non-content-copy,
.non-editable-page .non-content-section.is-accent .non-content-copy p,
.non-editable-page .non-content-section.is-accent .non-content-copy li,
.non-editable-page .non-content-section.is-accent .non-content-details summary{
  color:#ffffff !important;
}

.non-editable-page .non-content-section.is-dark .non-content-aside,
.non-editable-page .non-content-section.is-accent .non-content-aside{
  opacity:.72;
}

.non-editable-page .non-content-section.is-dark .non-content-copy > p:not(.non-content-lead),
.non-editable-page .non-content-section.is-accent .non-content-copy > p:not(.non-content-lead){
  color:rgba(255,255,255,.82) !important;
}

.non-editable-page .non-content-section.is-dark .non-content-details,
.non-editable-page .non-content-section.is-accent .non-content-details{
  border-color:rgba(255,255,255,.20) !important;
}


/* v1.8 — typography calibration + home paired cards alignment */
@media(min-width:961px){
  .home .non-hero-earth h1{
    font-size:clamp(3.1rem,4.55vw,5.15rem)!important;
    line-height:.98!important;
  }
}
.non-orient-grid-paired{
  align-items:stretch!important;
}
.non-orient-grid-paired .non-orient-card-editorial{
  min-width:0;
  display:flex;
  flex-direction:column;
}
.non-orient-grid-paired .non-orient-card-editorial h2{
  font-size:clamp(1.8rem,2.35vw,2.65rem)!important;
  line-height:1.04!important;
  max-width:20ch!important;
}
.non-orient-grid-paired .non-orient-card-editorial p{
  font-size:1.03rem!important;
  line-height:1.72!important;
}
.non-orient-grid-paired .non-orient-card-editorial a{
  margin-top:auto!important;
  padding-top:18px;
}

/* Editable internal pages: slightly quieter title scale */
.non-content-hero h1{
  font-size:clamp(2.8rem,5.1vw,5.15rem)!important;
  line-height:1!important;
}
.non-content-heading h2{
  font-size:clamp(2rem,3.45vw,3.45rem)!important;
  line-height:1.04!important;
}
.non-content-lead{
  font-size:clamp(1.4rem,2.1vw,1.95rem)!important;
}


/* v1.9 — Native Gutenberg editable content */
.non-gb-hero{
  background:#081729;
  color:#fff;
  padding:120px 28px 70px!important;
}
.non-gb-wrap{
  width:min(1280px,100%);
  margin-inline:auto!important;
}
.non-gb-hero .non-gb-wrap{
  width:min(1480px,100%);
}
.non-gb-kicker{
  color:#ff7417!important;
  font-size:.78rem!important;
  font-weight:800!important;
  letter-spacing:.16em!important;
  text-transform:uppercase!important;
  margin-bottom:18px!important;
}
.non-gb-hero-title{
  color:#fff!important;
  font-family:Georgia,"Times New Roman",serif!important;
  font-size:clamp(2.8rem,5.1vw,5.15rem)!important;
  line-height:1!important;
  letter-spacing:-.05em!important;
  max-width:18ch!important;
  margin:0 0 24px!important;
}
.non-gb-hero-title em{
  color:#ff7417!important;
  font-style:normal!important;
}
.non-gb-intro{
  max-width:78ch!important;
  color:rgba(255,255,255,.82)!important;
  font-size:1.14rem!important;
  line-height:1.7!important;
}
.non-gb-nav{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:10px!important;
  margin-top:34px!important;
}
.non-gb-nav .wp-block-button{
  margin:0!important;
}
.non-gb-nav .wp-block-button__link{
  background:rgba(255,255,255,.035)!important;
  border:1px solid rgba(255,255,255,.34)!important;
  border-radius:999px!important;
  color:#fff!important;
  padding:9px 15px!important;
  font-size:.92rem!important;
  min-height:42px!important;
}
.non-gb-section{
  padding:88px 28px!important;
}
.non-gb-section.is-dark{
  background:#081729!important;
  color:#fff!important;
}
.non-gb-section.is-accent{
  background:#12213d!important;
  color:#fff!important;
}
.non-gb-layout{
  width:min(1280px,100%)!important;
  margin-inline:auto!important;
  display:grid!important;
  grid-template-columns:minmax(250px,.72fr) minmax(0,1.55fr)!important;
  gap:clamp(48px,7vw,110px)!important;
  align-items:start!important;
}
.non-gb-side{
  position:sticky;
  top:110px;
}
.non-gb-index{
  color:#d85700!important;
  font-size:.78rem!important;
  font-weight:800!important;
  letter-spacing:.15em!important;
  text-transform:uppercase!important;
}
.is-dark .non-gb-index,.is-accent .non-gb-index{
  color:#ff7417!important;
}
.non-gb-heading{
  font-family:Georgia,"Times New Roman",serif!important;
  font-size:clamp(2rem,3.45vw,3.45rem)!important;
  line-height:1.04!important;
  letter-spacing:-.045em!important;
  max-width:10ch!important;
  margin:.35rem 0 1rem!important;
}
.non-gb-aside{
  max-width:31ch!important;
  font-size:1rem!important;
  line-height:1.6!important;
  opacity:.72!important;
}
.non-gb-copy{
  max-width:830px!important;
}
.non-gb-copy > p{
  font-size:1.08rem!important;
  line-height:1.8!important;
  margin:0 0 1.35rem!important;
}
.non-gb-lead{
  font-family:Georgia,"Times New Roman",serif!important;
  font-size:clamp(1.4rem,2.1vw,1.95rem)!important;
  line-height:1.3!important;
  letter-spacing:-.025em!important;
  margin-bottom:1.55rem!important;
}
.non-gb-details{
  margin-top:30px!important;
  border-top:1px solid rgba(20,33,61,.16)!important;
  border-bottom:1px solid rgba(20,33,61,.16)!important;
}
.is-dark .non-gb-details,.is-accent .non-gb-details{
  border-color:rgba(255,255,255,.20)!important;
}
.non-gb-details summary{
  padding:19px 36px 19px 0!important;
  font-weight:800!important;
}
.is-dark .non-gb-details summary,.is-accent .non-gb-details summary{
  color:#fff!important;
}
.non-gb-details p,.non-gb-details li{
  line-height:1.7!important;
}
.non-gb-action{
  margin-top:34px!important;
}
.is-dark .non-gb-heading,.is-accent .non-gb-heading,
.is-dark .non-gb-aside,.is-accent .non-gb-aside,
.is-dark .non-gb-copy p,.is-accent .non-gb-copy p,
.is-dark .non-gb-copy li,.is-accent .non-gb-copy li{
  color:#fff!important;
}
@media(max-width:960px){
  .non-gb-layout{
    grid-template-columns:1fr!important;
    gap:24px!important;
  }
  .non-gb-side{position:static!important}
  .non-gb-heading{max-width:18ch!important}
  .non-gb-aside{max-width:60ch!important}
}
@media(max-width:760px){
  .non-gb-hero{padding:94px 18px 48px!important}
  .non-gb-section{padding:58px 18px!important}
  .non-gb-copy > p{font-size:1rem!important;line-height:1.72!important}
}


/* v2.0 — Construire ensemble native Gutenberg cards */
.non-gb-card-grid{
  width:min(1280px,100%)!important;
  margin-inline:auto!important;
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:22px!important;
}
.non-gb-card-grid.two{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
}
.non-gb-card{
  background:#fff!important;
  border:1px solid rgba(20,33,61,.13)!important;
  border-radius:14px!important;
  padding:30px!important;
  min-height:100%!important;
  display:flex!important;
  flex-direction:column!important;
  box-shadow:0 14px 36px rgba(20,33,61,.05);
}
.non-gb-card.is-warm{
  background:#f8f3ec!important;
}
.non-gb-card h3{
  font-family:Georgia,"Times New Roman",serif!important;
  font-size:clamp(1.55rem,2vw,2.05rem)!important;
  line-height:1.08!important;
  letter-spacing:-.025em!important;
  margin:.35rem 0 1rem!important;
}
.non-gb-card p{
  color:#667085!important;
  line-height:1.7!important;
}
.non-gb-card .wp-block-buttons{
  margin-top:auto!important;
  padding-top:18px!important;
}
.non-gb-card-label{
  color:#d85700!important;
  font-size:.76rem!important;
  font-weight:800!important;
  letter-spacing:.13em!important;
  text-transform:uppercase!important;
}
.non-gb-band{
  padding:72px 28px!important;
  background:#f3eee6!important;
}
.non-gb-band.is-dark{
  background:#081729!important;
  color:#fff!important;
}
.non-gb-band-head{
  width:min(1280px,100%)!important;
  margin:0 auto 32px!important;
  max-width:1280px!important;
}
.non-gb-band-head h2{
  font-family:Georgia,"Times New Roman",serif!important;
  font-size:clamp(2rem,3.3vw,3.35rem)!important;
  line-height:1.04!important;
  letter-spacing:-.04em!important;
  margin:.35rem 0 1rem!important;
}
.non-gb-band-head p{
  max-width:72ch!important;
  font-size:1.06rem!important;
  line-height:1.72!important;
  color:#667085!important;
}
.non-gb-band.is-dark .non-gb-band-head h2,
.non-gb-band.is-dark .non-gb-band-head p{
  color:#fff!important;
}
@media(max-width:960px){
  .non-gb-card-grid,
  .non-gb-card-grid.two{
    grid-template-columns:1fr!important;
  }
}
@media(max-width:760px){
  .non-gb-band{padding:54px 18px!important}
  .non-gb-card{padding:24px!important}
}


/* v2.1 — Native Gutenberg homepage */
.non-home-gb-hero{
  position:relative;
  overflow:hidden;
}
.non-home-gb-hero .non-hero-grid,
.non-home-gb-hero .non-timeline-card,
.non-home-gb-hero .non-shared-cards{
  position:relative;
  z-index:2;
}
.non-home-gb-hero-title{
  font-family:Georgia,"Times New Roman",serif!important;
  font-size:clamp(3rem,4.55vw,5.15rem)!important;
  line-height:.98!important;
  letter-spacing:-.052em!important;
  margin:0 0 24px!important;
  color:#fff!important;
}
.non-home-gb-hero-title em{
  color:#ff7417!important;
  font-style:italic!important;
}
.non-home-gb-kicker{
  color:#ff7417!important;
  font-size:.78rem!important;
  font-weight:800!important;
  letter-spacing:.15em!important;
  text-transform:uppercase!important;
}
.non-home-gb-lede{
  color:rgba(255,255,255,.82)!important;
  font-size:1.12rem!important;
  line-height:1.7!important;
  max-width:64ch!important;
}
.non-home-gb-actions{
  margin-top:28px!important;
  gap:12px!important;
}
.non-home-gb-actions .wp-block-button{
  margin:0!important;
}
.non-home-gb-timeline-title{
  color:#fff!important;
  font-family:Georgia,"Times New Roman",serif!important;
  font-size:clamp(1.55rem,2.2vw,2.2rem)!important;
  line-height:1.08!important;
  letter-spacing:-.025em!important;
  margin:.35rem 0 0!important;
}
.non-home-gb-timeline-note{
  color:rgba(255,255,255,.58)!important;
  font-size:.88rem!important;
}
.non-home-gb-shared-title{
  color:#fff!important;
  font-family:Georgia,"Times New Roman",serif!important;
  font-size:1.28rem!important;
  line-height:1.12!important;
  margin:.45rem 0 .65rem!important;
}
.non-home-gb-shared-copy{
  color:rgba(255,255,255,.68)!important;
  font-size:.95rem!important;
  line-height:1.55!important;
}
.non-home-gb-index{
  color:#df6210!important;
  font-size:.76rem!important;
  font-weight:800!important;
  letter-spacing:.13em!important;
  text-transform:uppercase!important;
}
.non-home-gb-editorial-title{
  font-family:Georgia,"Times New Roman",serif!important;
  font-size:clamp(1.8rem,2.35vw,2.65rem)!important;
  line-height:1.04!important;
  letter-spacing:-.035em!important;
  margin:.55rem 0 1.2rem!important;
}
.non-home-gb-editorial-copy{
  color:#667085!important;
  font-size:1.03rem!important;
  line-height:1.72!important;
}
.non-home-gb-editorial-link{
  margin-top:auto!important;
  padding-top:18px!important;
}
.non-home-gb-cta-title{
  color:#fff!important;
  font-family:Georgia,"Times New Roman",serif!important;
  font-size:clamp(2rem,3.2vw,3.3rem)!important;
  line-height:1.04!important;
  letter-spacing:-.04em!important;
}
.non-home-gb-cta-copy{
  color:rgba(255,255,255,.75)!important;
  max-width:64ch!important;
  line-height:1.7!important;
}
.non-home-gb-card-inner{
  height:100%!important;
  display:flex!important;
  flex-direction:column!important;
}
@media(max-width:760px){
  .non-home-gb-hero-title{
    font-size:clamp(2.75rem,12vw,4rem)!important;
  }
}

/* v2.2 */
.non-gb-participation-intro{padding:76px 28px!important;background:#f3eee6!important}
.non-gb-participation-intro .non-gb-wrap{width:min(1100px,100%)!important}
.non-gb-participation-intro h2{font-family:Georgia,"Times New Roman",serif!important;font-size:clamp(2rem,3.25vw,3.3rem)!important;line-height:1.05!important;letter-spacing:-.04em!important;margin:.35rem 0 1.2rem!important}
.non-gb-participation-intro p{color:#667085!important;font-size:1.06rem!important;line-height:1.75!important;max-width:76ch!important}
@media(max-width:760px){.non-gb-participation-intro{padding:54px 18px!important}}


/* v2.3 — Actualités / posts */
.non-news-page,
.non-article-page{
  background:#f3eee6;
  color:#14213d;
}
.non-news-hero,
.non-article-hero{
  background:#081729;
  color:#fff;
  padding:118px 28px 68px!important;
}
.non-news-wrap,
.non-article-wrap{
  width:min(1280px,100%);
  margin-inline:auto!important;
}
.non-news-title,
.non-article-title{
  color:#fff!important;
  font-family:Georgia,"Times New Roman",serif!important;
  font-size:clamp(2.7rem,5vw,5rem)!important;
  line-height:1!important;
  letter-spacing:-.05em!important;
  max-width:18ch!important;
  margin:.35rem 0 1.2rem!important;
}
.non-news-intro{
  color:rgba(255,255,255,.78)!important;
  font-size:1.12rem!important;
  line-height:1.72!important;
  max-width:72ch!important;
}
.non-news-list-section{
  width:min(1280px,calc(100% - 56px))!important;
  margin-inline:auto!important;
  padding:76px 0 96px!important;
}
.non-news-grid{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:24px!important;
}
.non-news-card{
  background:#fff!important;
  border:1px solid rgba(20,33,61,.11)!important;
  border-radius:14px!important;
  overflow:hidden!important;
  min-width:0;
  box-shadow:0 14px 36px rgba(20,33,61,.045);
}
.non-news-image{
  margin:0!important;
  background:#dfe4e8;
}
.non-news-card-body{
  padding:26px!important;
}
.non-news-date,
.non-article-date{
  color:#d85700!important;
  font-size:.78rem!important;
  font-weight:800!important;
  letter-spacing:.11em!important;
  text-transform:uppercase!important;
}
.non-news-card-title{
  font-family:Georgia,"Times New Roman",serif!important;
  font-size:clamp(1.5rem,1.8vw,1.95rem)!important;
  line-height:1.08!important;
  letter-spacing:-.025em!important;
  margin:.6rem 0 .9rem!important;
}
.non-news-card-title a{
  color:#14213d!important;
  text-decoration:none!important;
}
.non-news-excerpt{
  color:#667085!important;
  line-height:1.65!important;
}
.non-news-readmore{
  display:inline-block;
  color:#d85700!important;
  font-weight:800!important;
  text-decoration:none!important;
  margin-top:8px!important;
}
.non-news-empty{
  padding:36px!important;
  background:#fff!important;
  border:1px solid rgba(20,33,61,.12)!important;
  border-radius:14px!important;
}
.non-article-content-wrap{
  width:min(860px,calc(100% - 40px))!important;
  margin-inline:auto!important;
  padding:56px 0 96px!important;
}
.non-article-image{
  margin:0 0 42px!important;
  border-radius:14px;
  overflow:hidden;
}
.non-article-content-wrap .wp-block-post-content{
  font-size:1.08rem;
  line-height:1.8;
}
.non-article-content-wrap .wp-block-post-content h2,
.non-article-content-wrap .wp-block-post-content h3{
  font-family:Georgia,"Times New Roman",serif;
  letter-spacing:-.025em;
  line-height:1.08;
  margin-top:2.2em;
}
.non-article-separator{
  margin:52px 0 24px!important;
}
.non-article-back a{
  color:#d85700!important;
  font-weight:800!important;
}
@media(max-width:960px){
  .non-news-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:680px){
  .non-news-hero,.non-article-hero{padding:94px 18px 48px!important}
  .non-news-list-section{width:calc(100% - 36px)!important;padding:48px 0 70px!important}
  .non-news-grid{grid-template-columns:1fr!important}
}


/* v2.4 — Follow / pre-mobilisation page */
.non-follow-band{
  padding:78px 28px!important;
  background:#f3eee6!important;
}
.non-follow-grid{
  width:min(1100px,100%)!important;
  margin-inline:auto!important;
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:24px!important;
  align-items:stretch!important;
}
.non-follow-card{
  background:#fff!important;
  border:1px solid rgba(20,33,61,.12)!important;
  border-radius:16px!important;
  padding:34px!important;
  display:flex!important;
  flex-direction:column!important;
  min-height:100%!important;
  box-shadow:0 14px 34px rgba(20,33,61,.05);
}
.non-follow-card.is-dark{
  background:#081729!important;
  color:#fff!important;
  border-color:rgba(255,255,255,.10)!important;
}
.non-follow-card h2{
  font-family:Georgia,"Times New Roman",serif!important;
  font-size:clamp(1.9rem,2.6vw,2.7rem)!important;
  line-height:1.04!important;
  letter-spacing:-.035em!important;
  margin:.45rem 0 1rem!important;
}
.non-follow-card.is-dark h2,
.non-follow-card.is-dark p{
  color:#fff!important;
}
.non-follow-card p{
  color:#667085!important;
  line-height:1.7!important;
}
.non-follow-card .wp-block-buttons{
  margin-top:auto!important;
  padding-top:22px!important;
}
.non-follow-placeholder{
  width:min(1100px,100%)!important;
  margin:34px auto 0!important;
  padding:24px 28px!important;
  border:1px dashed rgba(20,33,61,.25)!important;
  border-radius:14px!important;
  background:rgba(255,255,255,.55)!important;
}
.non-follow-placeholder strong{
  color:#14213d!important;
}
.non-follow-placeholder p{
  margin:0!important;
  color:#667085!important;
  line-height:1.65!important;
}
@media(max-width:800px){
  .non-follow-grid{grid-template-columns:1fr!important}
  .non-follow-band{padding:54px 18px!important}
  .non-follow-card{padding:26px!important}
}


/* v2.5 — Join project page */
.non-join-band{padding:76px 28px!important;background:#f3eee6!important}
.non-join-wrap{width:min(1180px,100%)!important;margin-inline:auto!important}
.non-join-domain-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:18px!important;margin-top:30px!important}
.non-join-domain{background:#fff!important;border:1px solid rgba(20,33,61,.11)!important;border-radius:14px!important;padding:24px!important}
.non-join-domain h3{font-size:1.08rem!important;line-height:1.35!important;margin:0 0 .55rem!important;color:#14213d!important}
.non-join-domain p{color:#667085!important;line-height:1.62!important;margin:0!important}
.non-join-process{padding:76px 28px!important;background:#081729!important;color:#fff!important}
.non-join-process .non-join-wrap>h2{color:#fff!important;font-family:Georgia,"Times New Roman",serif!important;font-size:clamp(2rem,3.2vw,3.3rem)!important;line-height:1.04!important;letter-spacing:-.04em!important}
.non-join-process .non-join-wrap>p{color:rgba(255,255,255,.76)!important;max-width:75ch!important;line-height:1.7!important}
.non-join-steps{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:20px!important;margin-top:34px!important}
.non-join-step{border:1px solid rgba(255,255,255,.14)!important;border-radius:14px!important;padding:26px!important;background:rgba(255,255,255,.035)!important}
.non-join-step .non-gb-card-label{color:#ff7417!important}
.non-join-step h3{color:#fff!important;font-family:Georgia,"Times New Roman",serif!important;font-size:1.55rem!important;line-height:1.08!important;margin:.35rem 0 .8rem!important}
.non-join-step p{color:rgba(255,255,255,.72)!important;line-height:1.65!important}
.non-join-placeholder{width:min(1100px,calc(100% - 56px))!important;margin:0 auto 76px!important;padding:24px 28px!important;border:1px dashed rgba(20,33,61,.25)!important;border-radius:14px!important;background:#fff!important}
.non-join-placeholder p{margin:0!important;color:#667085!important;line-height:1.65!important}
@media(max-width:900px){.non-join-domain-grid,.non-join-steps{grid-template-columns:1fr!important}}
@media(max-width:760px){.non-join-band,.non-join-process{padding:54px 18px!important}.non-join-placeholder{width:calc(100% - 36px)!important;margin-bottom:54px!important}}


/* v2.6 — Global button system
   One visual surface only: no nested pill / double-background effect. */

/* Reset Gutenberg wrappers so only the link itself draws the button. */
.wp-block-button,
.wp-block-button.non-btn,
.wp-block-button.is-style-fill{
  background:transparent !important;
  border:0 !important;
  border-radius:0 !important;
  padding:0 !important;
  box-shadow:none !important;
}

.wp-block-buttons{
  align-items:center;
}

/* Base button */
.wp-block-button .wp-block-button__link,
.non-btn .wp-block-button__link,
.non-btn-primary .wp-block-button__link,
.non-btn-ghost .wp-block-button__link,
.non-btn-ghost-light .wp-block-button__link,
.non-nav-cta .wp-block-button__link{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-height:46px !important;
  padding:11px 20px !important;
  border-radius:8px !important;
  border:1px solid transparent !important;
  font-size:.96rem !important;
  font-weight:750 !important;
  line-height:1.1 !important;
  text-decoration:none !important;
  box-shadow:none !important;
  transition:
    background-color .18s ease,
    border-color .18s ease,
    color .18s ease,
    transform .18s ease !important;
}

/* Primary */
.non-btn-primary .wp-block-button__link,
.non-nav-cta .wp-block-button__link,
.wp-block-button.is-style-fill .wp-block-button__link{
  background:#ff7417 !important;
  color:#fff !important;
  border-color:#ff7417 !important;
}

/* Secondary on light backgrounds */
.non-btn-ghost .wp-block-button__link{
  background:transparent !important;
  color:#14213d !important;
  border-color:rgba(20,33,61,.34) !important;
}

/* Secondary on dark backgrounds */
.non-btn-ghost-light .wp-block-button__link,
.non-hero .non-btn-ghost .wp-block-button__link,
.non-gb-hero .non-btn-ghost .wp-block-button__link,
.non-cta-section .non-btn-ghost .wp-block-button__link{
  background:rgba(255,255,255,.04) !important;
  color:#fff !important;
  border-color:rgba(255,255,255,.38) !important;
}

/* Hover */
.non-btn-primary .wp-block-button__link:hover,
.non-nav-cta .wp-block-button__link:hover,
.wp-block-button.is-style-fill .wp-block-button__link:hover{
  background:#e8640e !important;
  border-color:#e8640e !important;
  transform:translateY(-1px);
}

.non-btn-ghost .wp-block-button__link:hover{
  background:rgba(20,33,61,.06) !important;
  border-color:rgba(20,33,61,.55) !important;
  transform:translateY(-1px);
}

.non-btn-ghost-light .wp-block-button__link:hover,
.non-hero .non-btn-ghost .wp-block-button__link:hover,
.non-gb-hero .non-btn-ghost .wp-block-button__link:hover,
.non-cta-section .non-btn-ghost .wp-block-button__link:hover{
  background:rgba(255,255,255,.10) !important;
  border-color:rgba(255,255,255,.58) !important;
  transform:translateY(-1px);
}

/* Header CTA stays compact. */
.non-nav-cta .wp-block-button__link{
  min-height:42px !important;
  padding:10px 16px !important;
  border-radius:7px !important;
  font-size:.9rem !important;
}

/* Prevent old theme button styles from painting the wrapper. */
.non-btn,
.non-btn-primary,
.non-btn-ghost,
.non-btn-ghost-light,
.non-nav-cta .wp-block-button{
  background:none !important;
  box-shadow:none !important;
}

/* Mobile */
@media(max-width:760px){
  .wp-block-button .wp-block-button__link,
  .non-btn .wp-block-button__link{
    min-height:44px !important;
    padding:10px 17px !important;
    font-size:.92rem !important;
  }
}

/* v2.7 — header/navigation vertical rhythm */
header .wp-block-navigation a[href*="/suivre-le-projet/"],
header .wp-block-navigation-item a[href*="/suivre-le-projet/"]{display:none!important;}

header, header .wp-block-group, .non-site-header, .non-header-inner{min-height:0!important;}
header > .wp-block-group, .non-site-header{padding-top:10px!important;padding-bottom:10px!important;}
.non-header-inner{min-height:54px!important;}

.non-gb-hero,.non-hero{padding-top:88px!important;padding-bottom:64px!important;}
main > .non-gb-hero:first-child,
main > .wp-block-group.non-gb-hero:first-child,
.wp-site-blocks > main > .non-gb-hero:first-child{margin-top:0!important;}

.non-gb-hero .non-gb-kicker,.non-hero .non-gb-kicker{margin-bottom:20px!important;}
.non-gb-hero-title{margin-top:0!important;margin-bottom:24px!important;}
.non-gb-intro{margin-top:0!important;}

@media(max-width:960px){
  header > .wp-block-group,.non-site-header{padding-top:8px!important;padding-bottom:8px!important;}
  .non-header-inner{min-height:50px!important;}
  .non-gb-hero,.non-hero{padding-top:64px!important;padding-bottom:50px!important;}
}
@media(max-width:600px){
  .non-gb-hero,.non-hero{padding-top:48px!important;padding-bottom:42px!important;}
}


/* v2.8 — tighter page start */
header > .wp-block-group,
.non-site-header{
  padding-top:6px !important;
  padding-bottom:6px !important;
}

.non-header-inner{
  min-height:46px !important;
}

/* Bring page content much closer to navigation */
.non-gb-hero,
.non-hero{
  padding-top:48px !important;
  padding-bottom:52px !important;
}

/* Avoid inherited spacing from Gutenberg/theme wrappers */
main,
main.wp-block-group,
.wp-site-blocks main{
  margin-top:0 !important;
  padding-top:0 !important;
}

main > *:first-child{
  margin-top:0 !important;
}

.non-gb-hero > .non-gb-wrap,
.non-hero > .non-gb-wrap{
  margin-top:0 !important;
  padding-top:0 !important;
}

.non-gb-hero .non-gb-kicker,
.non-hero .non-gb-kicker{
  margin-top:0 !important;
  margin-bottom:16px !important;
}

@media(max-width:960px){
  .non-header-inner{
    min-height:44px !important;
  }

  .non-gb-hero,
  .non-hero{
    padding-top:40px !important;
    padding-bottom:44px !important;
  }
}

@media(max-width:600px){
  header > .wp-block-group,
  .non-site-header{
    padding-top:5px !important;
    padding-bottom:5px !important;
  }

  .non-gb-hero,
  .non-hero{
    padding-top:30px !important;
    padding-bottom:36px !important;
  }
}


/* v2.9 — typography hierarchy + tighter internal heroes */

/* Internal page hero titles: visibly smaller than homepage H1 */
.non-gb-hero-title,
.non-hero h1,
.non-gb-hero h1{
  font-size:clamp(3.2rem, 5.1vw, 5.6rem) !important;
  line-height:.96 !important;
  letter-spacing:-.035em !important;
  max-width:1180px;
}

/* Homepage keeps the strongest typographic hierarchy */
.home .non-gb-hero-title,
.home .non-hero h1,
.home .non-gb-hero h1,
.front-page .non-gb-hero-title{
  font-size:clamp(4rem, 6.3vw, 7rem) !important;
  line-height:.94 !important;
}

/* Secondary headings */
.non-gb-section h2,
.non-gb-band h2,
.non-section h2,
.non-article h2{
  font-size:clamp(2rem, 3.2vw, 3.35rem) !important;
  line-height:1.04 !important;
  letter-spacing:-.025em !important;
}

.non-gb-section h3,
.non-gb-band h3,
.non-card h3,
.non-article h3{
  font-size:clamp(1.25rem, 1.7vw, 1.8rem) !important;
  line-height:1.15 !important;
}

/* Tighter internal page start */
.non-gb-hero,
.non-hero{
  padding-top:30px !important;
  padding-bottom:44px !important;
}

.non-gb-hero .non-gb-kicker,
.non-hero .non-gb-kicker{
  margin-bottom:12px !important;
}

.non-gb-hero-title{
  margin-bottom:20px !important;
}

/* Keep homepage roomier */
.home .non-gb-hero,
.home .non-hero,
.front-page .non-gb-hero{
  padding-top:64px !important;
  padding-bottom:64px !important;
}

@media(max-width:960px){
  .non-gb-hero-title,
  .non-hero h1,
  .non-gb-hero h1{
    font-size:clamp(2.7rem, 7vw, 4.6rem) !important;
  }

  .home .non-gb-hero-title,
  .home .non-hero h1,
  .home .non-gb-hero h1{
    font-size:clamp(3.2rem, 8vw, 5.4rem) !important;
  }

  .non-gb-hero,
  .non-hero{
    padding-top:24px !important;
    padding-bottom:38px !important;
  }
}

@media(max-width:600px){
  .non-gb-hero-title,
  .non-hero h1,
  .non-gb-hero h1{
    font-size:clamp(2.25rem, 11vw, 3.5rem) !important;
    line-height:1 !important;
  }

  .home .non-gb-hero-title,
  .home .non-hero h1,
  .home .non-gb-hero h1{
    font-size:clamp(2.7rem, 12vw, 4rem) !important;
  }

  .non-gb-section h2,
  .non-gb-band h2,
  .non-section h2{
    font-size:clamp(1.75rem, 8vw, 2.6rem) !important;
  }

  .non-gb-hero,
  .non-hero{
    padding-top:18px !important;
    padding-bottom:32px !important;
  }
}


/* v3.0 — refined H1 scale + wider homepage hero text */

/* Internal pages: reduce again */
.non-gb-hero-title,
.non-hero h1,
.non-gb-hero h1{
  font-size:clamp(2.9rem, 4.5vw, 5rem) !important;
  line-height:.98 !important;
}

/* Homepage H1: still strongest, but less oversized */
.home .non-gb-hero-title,
.home .non-hero h1,
.home .non-gb-hero h1,
.front-page .non-gb-hero-title{
  font-size:clamp(3.6rem, 5.6vw, 6.2rem) !important;
  line-height:.96 !important;
}

/* Homepage hero text container: around half of useful desktop width */
.home .non-gb-hero .non-gb-wrap,
.home .non-hero .non-gb-wrap,
.front-page .non-gb-hero .non-gb-wrap{
  max-width:none !important;
}

.home .non-gb-hero-title,
.home .non-gb-intro,
.home .non-hero h1,
.home .non-hero .non-gb-intro,
.front-page .non-gb-hero-title,
.front-page .non-gb-intro{
  max-width:52vw !important;
}

/* Keep readable line length on very wide monitors */
@media(min-width:1600px){
  .home .non-gb-hero-title,
  .home .non-gb-intro,
  .home .non-hero h1,
  .home .non-hero .non-gb-intro,
  .front-page .non-gb-hero-title,
  .front-page .non-gb-intro{
    max-width:900px !important;
  }
}

@media(max-width:1100px){
  .home .non-gb-hero-title,
  .home .non-gb-intro,
  .home .non-hero h1,
  .home .non-hero .non-gb-intro,
  .front-page .non-gb-hero-title,
  .front-page .non-gb-intro{
    max-width:68vw !important;
  }
}

@media(max-width:760px){
  .non-gb-hero-title,
  .non-hero h1,
  .non-gb-hero h1{
    font-size:clamp(2.15rem, 9.8vw, 3.25rem) !important;
  }

  .home .non-gb-hero-title,
  .home .non-hero h1,
  .home .non-gb-hero h1{
    font-size:clamp(2.55rem, 11vw, 3.8rem) !important;
  }

  .home .non-gb-hero-title,
  .home .non-gb-intro,
  .home .non-hero h1,
  .home .non-hero .non-gb-intro,
  .front-page .non-gb-hero-title,
  .front-page .non-gb-intro{
    max-width:100% !important;
  }
}


/* v3.1 — wider homepage hero + smaller H1 hierarchy */

/* Internal-page H1: another step down */
.non-gb-hero-title,
.non-hero h1,
.non-gb-hero h1{
  font-size:clamp(2.7rem, 4vw, 4.5rem) !important;
  line-height:.99 !important;
}

/* Actual homepage title class */
.non-home-gb-hero-title{
  font-size:clamp(3.15rem, 4.35vw, 4.8rem) !important;
  line-height:.97 !important;
  letter-spacing:-.048em !important;
  max-width:none !important;
  width:100% !important;
}

/* Give the homepage text side substantially more room.
   This helps keep:
   "Un rythme commun"
   "pour agir ensemble."
   each on its own line on common desktop widths. */
.home .non-hero-grid-earth{
  grid-template-columns:minmax(0,1.9fr) minmax(240px,.6fr) !important;
  gap:22px !important;
}

.home .non-hero-grid-earth > :first-child{
  min-width:0 !important;
  max-width:none !important;
  width:100% !important;
}

.home .non-home-gb-hero-title,
.home .non-home-gb-lede,
.front-page .non-home-gb-hero-title,
.front-page .non-home-gb-lede{
  max-width:none !important;
}

/* Keep paragraph readable even though the title area is wider */
.home .non-home-gb-lede,
.front-page .non-home-gb-lede{
  max-width:72ch !important;
}

/* Large but common laptop/desktop widths */
@media(min-width:1100px) and (max-width:1599px){
  .non-home-gb-hero-title{
    font-size:clamp(3.05rem, 4.15vw, 4.45rem) !important;
  }

  .home .non-hero-grid-earth{
    grid-template-columns:minmax(0,1.95fr) minmax(230px,.55fr) !important;
  }
}

/* Tablet */
@media(max-width:1099px){
  .non-gb-hero-title,
  .non-hero h1,
  .non-gb-hero h1{
    font-size:clamp(2.45rem, 6vw, 3.8rem) !important;
  }

  .non-home-gb-hero-title{
    font-size:clamp(2.8rem, 6.8vw, 4rem) !important;
  }

  .home .non-hero-grid-earth{
    grid-template-columns:minmax(0,1.55fr) minmax(220px,.75fr) !important;
  }
}

/* Mobile: stack as before */
@media(max-width:760px){
  .home .non-hero-grid-earth{
    grid-template-columns:1fr !important;
  }

  .non-home-gb-hero-title{
    font-size:clamp(2.4rem, 10vw, 3.35rem) !important;
  }

  .non-gb-hero-title,
  .non-hero h1,
  .non-gb-hero h1{
    font-size:clamp(2.05rem, 9vw, 3rem) !important;
  }
}


/* v3.2 — remove legacy homepage width constraints for real */

/* Internal H1 slightly smaller again */
.non-gb-hero-title,
.non-hero h1,
.non-gb-hero h1{
  font-size:clamp(2.55rem, 3.6vw, 4rem) !important;
  line-height:1 !important;
}

/* Homepage: explicitly override the old 11.5ch / 860px rules */
.home .non-hero-earth .non-hero-copy{
  max-width:1100px !important;
  width:100% !important;
}

.home .non-hero-earth h1.non-home-gb-hero-title,
.front-page .non-home-gb-hero-title{
  max-width:1050px !important;
  width:100% !important;
  font-size:clamp(3rem, 3.8vw, 4.25rem) !important;
  line-height:.98 !important;
  letter-spacing:-.045em !important;
}

/* Let the copy occupy most of the left side; the Earth is the background,
   so the "visual column" does not need half the page. */
.home .non-hero-grid-earth{
  grid-template-columns:minmax(0,2.2fr) minmax(180px,.45fr) !important;
  gap:18px !important;
}

.home .non-home-gb-lede{
  max-width:780px !important;
}

/* Common desktop/laptop widths */
@media(min-width:1100px) and (max-width:1599px){
  .home .non-hero-earth .non-hero-copy{
    max-width:1000px !important;
  }

  .home .non-hero-earth h1.non-home-gb-hero-title{
    max-width:960px !important;
    font-size:clamp(2.9rem, 3.65vw, 4rem) !important;
  }

  .home .non-hero-grid-earth{
    grid-template-columns:minmax(0,2.25fr) minmax(160px,.4fr) !important;
  }
}

/* Smaller laptops: keep two title lines as long as practical */
@media(min-width:900px) and (max-width:1099px){
  .home .non-hero-grid-earth{
    grid-template-columns:minmax(0,2.5fr) minmax(100px,.3fr) !important;
  }

  .home .non-hero-earth .non-hero-copy{
    max-width:900px !important;
  }

  .home .non-hero-earth h1.non-home-gb-hero-title{
    max-width:880px !important;
    font-size:clamp(2.7rem, 5vw, 3.5rem) !important;
  }
}

@media(max-width:899px){
  .home .non-hero-grid-earth{
    grid-template-columns:1fr !important;
  }

  .home .non-hero-earth h1.non-home-gb-hero-title{
    max-width:100% !important;
  }
}


/* v3.3 — Pulse 2050 identity + homepage editorial refinements */

/* Brand */
.non-brand-pulse{
  display:inline-flex !important;
  align-items:baseline;
  gap:.28em;
  text-decoration:none !important;
  white-space:nowrap;
  font-weight:760;
  letter-spacing:-.045em;
  font-size:clamp(1.18rem,1.45vw,1.48rem);
  line-height:1;
}
.non-brand-pulse span{color:#f4efe7;}
.non-brand-pulse strong{
  color:var(--non-orange,#f06b2a);
  font-weight:800;
  letter-spacing:-.035em;
}

/* Three mechanism indicators: aligned, same height, more breathing room horizontally */
.home .non-shared-cards.non-shared-cards-3{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:18px !important;
  max-width:1320px !important;
  width:min(1320px,calc(100% - 48px)) !important;
  margin:24px auto 0 !important;
}
.home .non-shared-cards-3 > .non-glass-card{
  height:100%;
  min-height:150px;
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
}
.home .non-shared-cards-3 .non-home-gb-shared-copy{
  max-width:31ch;
}

/* Editorial 01 / 02: wider, strictly aligned, less empty vertical space */
.home .non-home-orient-tight{
  padding-top:46px !important;
  padding-bottom:46px !important;
}
.home .non-home-orient-tight .non-orient-inner{
  max-width:1360px !important;
  width:min(1360px,calc(100% - 48px)) !important;
}
.home .non-home-orient-tight .non-orient-grid-paired{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:22px !important;
  align-items:stretch !important;
}
.home .non-home-orient-tight .non-orient-card-editorial{
  height:100% !important;
  min-height:0 !important;
  display:flex !important;
  flex-direction:column !important;
  padding:32px 34px !important;
}
.home .non-home-orient-tight .non-home-gb-editorial-title{
  min-height:2.1em;
}
.home .non-home-orient-tight .non-home-gb-editorial-link{
  margin-top:auto !important;
  padding-top:18px;
}

/* Reduce gap before the final CTA section */
.home .non-home-cta-tight{
  padding-top:44px !important;
  padding-bottom:54px !important;
}

/* Keep the hero/mechanism sequence compact without making it cramped */
.home .non-home-gb-hero{
  padding-bottom:38px !important;
}
.home .non-home-gb-hero > .wp-block-shortcode{
  margin-top:28px !important;
}

@media (min-width:1500px){
  .home .non-shared-cards.non-shared-cards-3,
  .home .non-home-orient-tight .non-orient-inner{
    width:min(1400px,calc(100% - 64px)) !important;
    max-width:1400px !important;
  }
}

@media (max-width:900px){
  .home .non-shared-cards.non-shared-cards-3{
    grid-template-columns:1fr !important;
    width:calc(100% - 32px) !important;
  }
  .home .non-shared-cards-3 > .non-glass-card{
    min-height:0;
  }
  .home .non-home-orient-tight .non-orient-grid-paired{
    grid-template-columns:1fr !important;
  }
  .home .non-home-orient-tight .non-orient-inner{
    width:calc(100% - 32px) !important;
  }
  .home .non-home-orient-tight .non-home-gb-editorial-title{
    min-height:0;
  }
}


/* v3.4 — Homepage alignment + cleaner project characteristics */

/* 01 / 02: identical vertical rhythm. The long title in 01 no longer pushes
   its paragraphs lower than 02. */
.home .non-home-orient-tight .non-orient-card-editorial{
  align-self:stretch !important;
  justify-content:flex-start !important;
  margin:0 !important;
  transform:none !important;
}
.home .non-home-orient-tight .non-home-gb-index{
  margin:0 0 14px !important;
  min-height:1.4em !important;
}
.home .non-home-orient-tight .non-home-gb-editorial-title{
  margin:0 0 22px !important;
  min-height:3.15em !important;
  display:block !important;
}
.home .non-home-orient-tight .non-home-gb-editorial-copy:first-of-type{
  margin-top:0 !important;
}
.home .non-home-orient-tight .non-home-gb-editorial-link{
  margin-top:auto !important;
}

/* Characteristics under the mechanism:
   no more three heavy "glass cards"; use a restrained editorial strip. */
.home .non-shared-cards.non-shared-cards-3{
  background:transparent !important;
  border:0 !important;
  gap:0 !important;
  margin-top:26px !important;
  overflow:visible !important;
}
.home .non-shared-cards-3 > .non-glass-card{
  position:relative;
  min-height:118px !important;
  padding:18px 28px 14px !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
}
.home .non-shared-cards-3 > .non-glass-card + .non-glass-card{
  border-left:1px solid rgba(255,255,255,.16) !important;
}
.home .non-shared-cards-3 > .non-glass-card::before{
  content:"";
  position:absolute;
  top:0;
  left:28px;
  width:42px;
  height:2px;
  background:var(--non-orange,#ef6b2e);
}
.home .non-shared-cards-3 .non-card-icon{
  display:none !important;
}
.home .non-shared-cards-3 .non-home-gb-shared-title{
  margin:10px 0 7px !important;
  color:#fff !important;
  font-size:1.06rem !important;
  font-weight:800 !important;
  letter-spacing:-.01em !important;
}
.home .non-shared-cards-3 .non-home-gb-shared-copy{
  margin:0 !important;
  max-width:34ch !important;
  color:rgba(255,255,255,.72) !important;
  font-size:.94rem !important;
  line-height:1.55 !important;
}

/* Slightly tighter transition after the characteristics. */
.home .non-home-orient-tight{
  padding-top:38px !important;
}

@media(max-width:900px){
  .home .non-home-orient-tight .non-home-gb-editorial-title{
    min-height:0 !important;
  }
  .home .non-shared-cards-3 > .non-glass-card{
    padding:18px 4px 18px !important;
  }
  .home .non-shared-cards-3 > .non-glass-card + .non-glass-card{
    border-left:0 !important;
    border-top:1px solid rgba(255,255,255,.14) !important;
  }
  .home .non-shared-cards-3 > .non-glass-card::before{
    left:4px;
  }
}


/* v3.5 — sticky header, hero navigation, icons, tighter final section */

/* Header remains visible while scrolling */
header.wp-block-template-part,
.site-header,
.non-site-header,
body > header{
  position:sticky;
  top:0;
  z-index:1000;
}

/* Keep the visible header compact */
header .non-header-inner,
.site-header .non-header-inner,
.non-site-header .non-header-inner{
  min-height:48px !important;
  transition:min-height .2s ease, background-color .2s ease, box-shadow .2s ease;
}

/* Stronger separation from page content once sticky */
header.wp-block-template-part,
.site-header,
.non-site-header{
  background:rgba(7,18,35,.94) !important;
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
  box-shadow:0 1px 0 rgba(255,255,255,.08);
}

/* Hero: 3 primary destinations as editorial links, not buttons */
.home .non-home-hero-links{
  display:flex !important;
  align-items:center;
  flex-wrap:wrap;
  gap:10px 24px !important;
  margin-top:28px !important;
}
.home .non-home-hero-links p{
  margin:0 !important;
}
.home .non-home-hero-links a{
  display:inline-flex;
  align-items:center;
  gap:.45em;
  color:#fff !important;
  text-decoration:none !important;
  font-size:.98rem;
  font-weight:700;
  line-height:1.3;
  padding:7px 0;
  border-bottom:1px solid rgba(255,255,255,.28);
  transition:border-color .15s ease, color .15s ease;
}
.home .non-home-hero-links a:hover,
.home .non-home-hero-links a:focus{
  color:var(--non-orange,#ef6b2e) !important;
  border-bottom-color:var(--non-orange,#ef6b2e);
}

/* Project characteristics: icons are visible again, but integrated into the strip */
.home .non-shared-cards-3 > .non-glass-card{
  display:grid !important;
  grid-template-columns:44px minmax(0,1fr) !important;
  grid-template-rows:auto auto !important;
  column-gap:14px !important;
  align-content:start;
}
.home .non-shared-cards-3 .non-card-icon{
  display:flex !important;
  grid-row:1 / span 2;
  grid-column:1;
  width:38px;
  height:38px;
  margin:8px 0 0 !important;
  border-radius:50%;
  align-items:center;
  justify-content:center;
  color:var(--non-orange,#ef6b2e) !important;
  border:1px solid rgba(239,107,46,.65);
  font-size:1.15rem !important;
  line-height:1;
}
.home .non-shared-cards-3 .non-home-gb-shared-title{
  grid-column:2;
  margin:7px 0 6px !important;
}
.home .non-shared-cards-3 .non-home-gb-shared-copy{
  grid-column:2;
}
.home .non-shared-cards-3 > .non-glass-card::before{
  display:none !important;
}

/* Bring 01/02 and final tile closer together */
.home .non-home-orient-tight{
  padding-bottom:24px !important;
}
.home .non-home-cta-tight{
  padding-top:18px !important;
  padding-bottom:48px !important;
}
.home .non-home-cta-tight .non-cta-card{
  margin-top:0 !important;
}

/* Final tile becomes editorial, not a second CTA panel */
.home .non-home-cta-tight .non-cta-card{
  padding-top:36px !important;
  padding-bottom:36px !important;
}
.home .non-home-final-link{
  margin-top:20px !important;
}
.home .non-home-final-link a{
  color:var(--non-orange,#ef6b2e) !important;
  font-weight:750;
  text-decoration:none !important;
  border-bottom:1px solid rgba(239,107,46,.45);
  padding-bottom:3px;
}
.home .non-home-final-link a:hover{
  border-bottom-color:var(--non-orange,#ef6b2e);
}

@media(max-width:900px){
  .home .non-home-hero-links{
    gap:7px 18px !important;
  }
  .home .non-shared-cards-3 > .non-glass-card{
    grid-template-columns:42px minmax(0,1fr) !important;
  }
}

/* v3.6 */
.home .non-home-hero-buttons{display:flex!important;flex-wrap:wrap!important;gap:10px!important;margin-top:28px!important}
.home .non-home-hero-buttons .wp-block-button__link{border-radius:8px!important;padding:11px 17px!important;min-height:42px;display:inline-flex;align-items:center;justify-content:center;background:rgba(255,255,255,.07)!important;border:1px solid rgba(255,255,255,.25)!important;color:#fff!important;font-size:.92rem!important;font-weight:750!important;text-decoration:none!important;box-shadow:none!important}
.home .non-home-hero-buttons .wp-block-button:first-child .wp-block-button__link{background:var(--non-orange,#ef6b2e)!important;border-color:var(--non-orange,#ef6b2e)!important}
.home .non-home-hero-buttons .wp-block-button__link:hover{border-color:var(--non-orange,#ef6b2e)!important}
.home .non-shared-cards-3>.non-glass-card{grid-template-columns:58px minmax(0,1fr)!important;grid-template-rows:32px auto!important;column-gap:16px!important;min-height:124px!important;align-items:start!important}
.home .non-shared-cards-3 .non-card-icon{width:48px!important;height:48px!important;margin:4px 0 0!important;font-size:1.45rem!important;font-weight:700;border-width:1.5px!important;background:rgba(239,107,46,.08)}
.home .non-shared-cards-3 .non-home-gb-shared-title{margin:4px 0 6px!important;line-height:1.2!important}
.home .non-shared-cards-3 .non-home-gb-shared-copy{margin:0!important;line-height:1.5!important;align-self:start!important}
footer.wp-block-template-part,.site-footer,.non-site-footer{padding-top:0!important;padding-bottom:0!important}
footer .wp-block-group,.site-footer .wp-block-group,.non-site-footer .wp-block-group{min-height:0!important}
footer .non-footer-inner,.non-site-footer .non-footer-inner{padding-top:12px!important;padding-bottom:12px!important;min-height:0!important}
.non-footer-wordmark{font-weight:760;letter-spacing:-.035em;white-space:nowrap}.non-footer-wordmark span{color:#f4efe7}.non-footer-wordmark strong{color:var(--non-orange,#ef6b2e);font-weight:800}
.home .non-home-gb-editorial-link a,.home .non-home-final-link a{display:inline-flex!important;align-items:center;color:var(--non-orange,#ef6b2e)!important;font-weight:750!important;font-size:.95rem!important;line-height:1.3!important;text-decoration:none!important;border-bottom:1px solid rgba(239,107,46,.42)!important;padding-bottom:3px!important}
.home .non-home-gb-editorial-link a:hover,.home .non-home-final-link a:hover{border-bottom-color:var(--non-orange,#ef6b2e)!important}
@media(max-width:700px){.home .non-home-hero-buttons{display:grid!important;grid-template-columns:1fr!important}.home .non-home-hero-buttons .wp-block-button,.home .non-home-hero-buttons .wp-block-button__link{width:100%!important}}


/* v3.7 — exact footer targeting + refined SVG feature icons */

/* The actual footer wrapper is .non-footer, not a <footer> element. */
.non-footer{
  padding:12px 28px !important;
  min-height:0 !important;
}
.non-footer-inner{
  min-height:0 !important;
  padding:0 !important;
  gap:12px 24px !important;
  align-items:center !important;
}
.non-footer-inner > .wp-block-group{
  margin:0 !important;
  padding:0 !important;
}
.non-footer-inner p{
  margin:2px 0 0 !important;
  font-size:.78rem !important;
  line-height:1.25 !important;
}
.non-footer-nav{
  margin:0 !important;
}
.non-footer-nav .wp-block-navigation__container{
  gap:14px !important;
}
.non-footer-nav a{
  font-size:.8rem !important;
  line-height:1.2 !important;
}
.non-footer-brand-split{
  display:inline-flex;
  align-items:baseline;
  gap:.25em;
  color:#f4efe7 !important;
  font-weight:760 !important;
  letter-spacing:-.035em;
  line-height:1;
  text-decoration:none !important;
  font-size:.98rem;
}
.non-footer-brand-split span{color:#f4efe7 !important;}
.non-footer-brand-split strong{
  color:var(--non-orange,#ef6b2e) !important;
  font-weight:800 !important;
}

/* Refined feature icons */
.home .non-shared-cards-3 .non-card-icon{
  width:54px !important;
  height:54px !important;
  border:0 !important;
  border-radius:14px !important;
  background:rgba(239,107,46,.10) !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  margin:0 !important;
}
.home .non-feature-svg{
  width:34px;
  height:34px;
  fill:none;
  stroke:var(--non-orange,#ef6b2e);
  stroke-width:2.1;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.home .non-shared-cards-3 > .non-glass-card{
  grid-template-columns:64px minmax(0,1fr) !important;
  grid-template-rows:auto auto !important;
  column-gap:16px !important;
  align-items:start !important;
  min-height:120px !important;
}
.home .non-shared-cards-3 .non-home-gb-shared-title{
  margin:2px 0 7px !important;
  min-height:1.3em !important;
}
.home .non-shared-cards-3 .non-home-gb-shared-copy{
  margin:0 !important;
  min-height:3em;
}

@media(max-width:640px){
  .non-footer{padding:12px 18px !important;}
  .non-footer-inner{gap:8px 16px !important;}
  .non-footer-inner p{display:none;}
}


/* v3.8 — coded feature icons + strict alignment + slimmer footer */

.home .non-shared-cards.non-shared-cards-3{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  align-items:stretch !important;
  gap:0 !important;
}
.home .non-shared-cards-3 > .non-glass-card{
  display:grid !important;
  grid-template-columns:72px minmax(0,1fr) !important;
  grid-template-rows:30px auto !important;
  column-gap:18px !important;
  align-items:start !important;
  min-height:112px !important;
  padding:20px 30px !important;
}
.home .non-shared-cards-3 > .non-glass-card + .non-glass-card{
  border-left:1px solid rgba(255,255,255,.15) !important;
}
.home .non-shared-cards-3 .non-home-gb-shared-title{
  grid-column:2 !important;
  grid-row:1 !important;
  margin:0 !important;
  min-height:30px !important;
  display:flex !important;
  align-items:center !important;
  color:#fff !important;
  font-size:1.08rem !important;
  line-height:1.15 !important;
}
.home .non-shared-cards-3 .non-home-gb-shared-copy{
  grid-column:2 !important;
  grid-row:2 !important;
  margin:4px 0 0 !important;
  min-height:48px !important;
  max-width:34ch !important;
  color:rgba(255,255,255,.78) !important;
  font-size:.94rem !important;
  line-height:1.48 !important;
}

.home .non-card-icon{
  grid-column:1 !important;
  grid-row:1 / span 2 !important;
  width:58px !important;
  height:58px !important;
  margin:0 !important;
  border:2px solid var(--non-orange,#ff6b1a) !important;
  border-radius:50% !important;
  background:transparent !important;
  position:relative !important;
  display:block !important;
  color:var(--non-orange,#ff6b1a) !important;
}

/* Globe */
.home .non-icon-world::before,
.home .non-icon-world::after,
.home .non-icon-world span::before,
.home .non-icon-world span::after{
  content:"";
  position:absolute;
  box-sizing:border-box;
}
.home .non-icon-world::before{
  width:34px;height:34px;border:2px solid currentColor;border-radius:50%;
  left:10px;top:10px;
}
.home .non-icon-world::after{
  width:20px;height:34px;border-left:2px solid currentColor;border-right:2px solid currentColor;
  border-radius:50%;
  left:17px;top:10px;
}
.home .non-icon-world span::before{
  width:34px;height:2px;background:currentColor;left:10px;top:27px;
}
.home .non-icon-world span::after{
  width:30px;height:14px;border-top:2px solid currentColor;border-bottom:2px solid currentColor;
  border-radius:50%;
  left:12px;top:20px;
}

/* Progress arrow */
.home .non-icon-progress::before,
.home .non-icon-progress::after,
.home .non-icon-progress span::before{
  content:"";
  position:absolute;
  box-sizing:border-box;
}
.home .non-icon-progress::before{
  width:25px;height:17px;
  border-left:3px solid currentColor;
  border-top:3px solid currentColor;
  transform:rotate(45deg);
  left:13px;top:23px;
}
.home .non-icon-progress::after{
  width:14px;height:14px;
  border-top:3px solid currentColor;
  border-right:3px solid currentColor;
  right:9px;top:10px;
}
.home .non-icon-progress span::before{
  width:31px;height:3px;background:currentColor;
  transform:rotate(-45deg);
  left:12px;top:29px;
}

/* Bar chart */
.home .non-icon-measure::before,
.home .non-icon-measure::after,
.home .non-icon-measure span::before,
.home .non-icon-measure span::after{
  content:"";
  position:absolute;
  bottom:12px;
  width:6px;
  background:currentColor;
  border-radius:1px 1px 0 0;
}
.home .non-icon-measure::before{height:14px;left:13px;}
.home .non-icon-measure::after{height:23px;left:25px;}
.home .non-icon-measure span::before{height:34px;left:37px;}
.home .non-icon-measure span::after{
  height:2px;width:34px;left:10px;bottom:10px;
}

.non-footer{
  padding:5px 20px !important;
  min-height:0 !important;
}
.non-footer-inner{
  display:grid !important;
  grid-template-columns:auto 1fr auto !important;
  align-items:center !important;
  column-gap:20px !important;
  row-gap:0 !important;
  padding:0 !important;
  min-height:24px !important;
}
.non-footer-brand-split{
  font-size:.86rem !important;
}
.non-footer-inner p{
  margin:0 !important;
  font-size:.68rem !important;
  line-height:1.05 !important;
  opacity:.62;
}
.non-footer-nav{
  margin:0 !important;
}
.non-footer-nav .wp-block-navigation__container{
  gap:10px !important;
}
.non-footer-nav a{
  font-size:.7rem !important;
  line-height:1 !important;
  padding:0 !important;
}

@media(max-width:900px){
  .home .non-shared-cards.non-shared-cards-3{
    grid-template-columns:1fr !important;
  }
  .home .non-shared-cards-3 > .non-glass-card + .non-glass-card{
    border-left:0 !important;
    border-top:1px solid rgba(255,255,255,.14) !important;
  }
}
@media(max-width:700px){
  .non-footer{padding:6px 14px !important;}
  .non-footer-inner{grid-template-columns:1fr auto !important;}
  .non-footer-inner p{display:none !important;}
}


/* v3.9 — exact vertical alignment of characteristics + orange 3rd hero button */

/* Characteristics: same vertical structure for all three columns */
.home .non-shared-cards-3 > .non-glass-card{
  display:grid !important;
  grid-template-columns:72px minmax(0,1fr) !important;
  grid-template-rows:30px 52px !important;
  column-gap:18px !important;
  align-items:start !important;
  min-height:122px !important;
  padding:20px 30px !important;
}

.home .non-shared-cards-3 .non-card-icon{
  grid-column:1 !important;
  grid-row:1 / span 2 !important;
  align-self:center !important;
  justify-self:start !important;
  margin:0 !important;
}

.home .non-shared-cards-3 .non-home-gb-shared-title{
  grid-column:2 !important;
  grid-row:1 !important;
  height:30px !important;
  min-height:30px !important;
  margin:0 !important;
  padding:0 !important;
  display:flex !important;
  align-items:center !important;
}

.home .non-shared-cards-3 .non-home-gb-shared-copy{
  grid-column:2 !important;
  grid-row:2 !important;
  height:52px !important;
  min-height:52px !important;
  margin:4px 0 0 !important;
  padding:0 !important;
  display:block !important;
}

/* Buttons 1 and 3 use the same primary treatment */
.home .non-home-hero-buttons .wp-block-button:nth-child(1) .wp-block-button__link,
.home .non-home-hero-buttons .wp-block-button:nth-child(3) .wp-block-button__link{
  background:var(--non-orange,#ef6b2e) !important;
  border-color:var(--non-orange,#ef6b2e) !important;
  color:#fff !important;
}

/* Button 2 remains secondary */
.home .non-home-hero-buttons .wp-block-button:nth-child(2) .wp-block-button__link{
  background:rgba(255,255,255,.07) !important;
  border-color:rgba(255,255,255,.25) !important;
  color:#fff !important;
}

@media(max-width:900px){
  .home .non-shared-cards-3 > .non-glass-card{
    grid-template-rows:auto auto !important;
    min-height:0 !important;
  }
  .home .non-shared-cards-3 .non-home-gb-shared-title,
  .home .non-shared-cards-3 .non-home-gb-shared-copy{
    height:auto !important;
    min-height:0 !important;
  }
}


/* v4.0 — dedicated characteristics component: no Gutenberg inherited layout */

.home .pulse-features{
  width:min(1400px,calc(100% - 48px));
  margin:26px auto 0;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:0;
  align-items:stretch;
}

.home .pulse-feature{
  display:grid;
  grid-template-columns:64px minmax(0,1fr);
  grid-template-rows:auto 1fr;
  column-gap:18px;
  align-items:start;
  margin:0;
  padding:18px 28px;
  min-height:122px;
  box-sizing:border-box;
}

.home .pulse-feature + .pulse-feature{
  border-left:1px solid rgba(255,255,255,.16);
}

.home .pulse-feature-icon{
  grid-column:1;
  grid-row:1 / span 2;
  width:54px;
  height:54px;
  align-self:start;
  justify-self:start;
  margin:0;
  position:relative;
  box-sizing:border-box;
  border:2px solid var(--non-orange,#ff6b1a);
  border-radius:50%;
  color:var(--non-orange,#ff6b1a);
}

.home .pulse-feature-text{
  grid-column:2;
  grid-row:1 / span 2;
  display:grid;
  grid-template-rows:28px auto;
  align-content:start;
  margin:0;
  padding:0;
}

.home .pulse-feature-text h3{
  margin:0;
  padding:0;
  height:28px;
  display:flex;
  align-items:flex-start;
  color:#fff;
  font-size:1.08rem;
  font-weight:800;
  line-height:1.2;
}

.home .pulse-feature-text p{
  margin:4px 0 0;
  padding:0;
  color:rgba(255,255,255,.78);
  font-size:.94rem;
  line-height:1.48;
  max-width:34ch;
}

/* Globe */
.home .pulse-feature-world::before,
.home .pulse-feature-world::after,
.home .pulse-feature-world span::before,
.home .pulse-feature-world span::after{
  content:"";
  position:absolute;
  box-sizing:border-box;
}
.home .pulse-feature-world::before{
  width:32px;height:32px;border:2px solid currentColor;border-radius:50%;
  left:9px;top:9px;
}
.home .pulse-feature-world::after{
  width:18px;height:32px;border-left:2px solid currentColor;border-right:2px solid currentColor;
  border-radius:50%;left:16px;top:9px;
}
.home .pulse-feature-world span::before{
  width:32px;height:2px;background:currentColor;left:9px;top:24px;
}
.home .pulse-feature-world span::after{
  width:28px;height:13px;border-top:2px solid currentColor;border-bottom:2px solid currentColor;
  border-radius:50%;left:11px;top:18px;
}

/* Progress */
.home .pulse-feature-progress::before,
.home .pulse-feature-progress::after,
.home .pulse-feature-progress span::before{
  content:"";
  position:absolute;
  box-sizing:border-box;
}
.home .pulse-feature-progress::before{
  width:28px;height:3px;background:currentColor;
  transform:rotate(-45deg);left:11px;top:27px;
}
.home .pulse-feature-progress::after{
  width:14px;height:14px;border-top:3px solid currentColor;border-right:3px solid currentColor;
  right:8px;top:9px;
}
.home .pulse-feature-progress span::before{
  width:15px;height:15px;border-left:3px solid currentColor;border-top:3px solid currentColor;
  transform:rotate(45deg);left:10px;top:22px;
}

/* Measure */
.home .pulse-feature-measure::before,
.home .pulse-feature-measure::after,
.home .pulse-feature-measure span::before,
.home .pulse-feature-measure span::after{
  content:"";
  position:absolute;
  bottom:10px;
  width:6px;
  background:currentColor;
  border-radius:1px 1px 0 0;
}
.home .pulse-feature-measure::before{height:13px;left:12px;}
.home .pulse-feature-measure::after{height:22px;left:23px;}
.home .pulse-feature-measure span::before{height:32px;left:34px;}
.home .pulse-feature-measure span::after{height:2px;width:32px;left:9px;bottom:8px;}

/* Keep 1st and 3rd hero buttons primary */
.home .non-home-hero-buttons .wp-block-button:nth-child(1) .wp-block-button__link,
.home .non-home-hero-buttons .wp-block-button:nth-child(3) .wp-block-button__link{
  background:var(--non-orange,#ef6b2e) !important;
  border-color:var(--non-orange,#ef6b2e) !important;
  color:#fff !important;
}

@media(max-width:900px){
  .home .pulse-features{
    grid-template-columns:1fr;
    width:calc(100% - 32px);
  }
  .home .pulse-feature + .pulse-feature{
    border-left:0;
    border-top:1px solid rgba(255,255,255,.14);
  }
}


/* v4.1 — Le constat page */

/* Compact visual hero for internal pages */
.pulse-page-hero{
  position:relative;
  overflow:hidden;
  color:#fff;
  background:
    linear-gradient(90deg, rgba(5,15,30,.94) 0%, rgba(5,15,30,.80) 42%, rgba(5,15,30,.30) 72%, rgba(5,15,30,.38) 100%),
    url("../images/earth-network-bg.jpg") center 54% / cover no-repeat;
  border-bottom:1px solid rgba(255,255,255,.09);
}
.pulse-page-hero-inner{
  width:min(1320px,calc(100% - 64px));
  margin:0 auto;
  padding:58px 0 62px;
}
.pulse-page-kicker{
  margin:0 0 14px !important;
  color:var(--non-orange,#ef6b2e);
  text-transform:uppercase;
  font-size:.78rem;
  font-weight:800;
  letter-spacing:.16em;
}
.pulse-page-title{
  max-width:980px;
  margin:0 !important;
  color:#fff !important;
  font-size:clamp(2.65rem,4.25vw,4.7rem) !important;
  line-height:.98 !important;
  letter-spacing:-.045em !important;
}
.pulse-page-title em{
  color:var(--non-orange,#ef6b2e);
  font-style:italic;
}
.pulse-page-lede{
  max-width:760px;
  margin:24px 0 0 !important;
  color:rgba(255,255,255,.82);
  font-size:1.08rem;
  line-height:1.65;
}

/* Main constat flow */
.pulse-constat-flow{
  width:min(1180px,calc(100% - 56px));
  margin:0 auto;
  padding:54px 0 64px;
}
.pulse-constat-step{
  display:grid;
  grid-template-columns:72px minmax(0,1fr);
  column-gap:28px;
  position:relative;
  padding:0 0 48px;
  margin:0 0 48px;
  border-bottom:1px solid rgba(12,31,52,.12);
}
.pulse-constat-step-last{
  border-bottom:0;
  margin-bottom:0;
  padding-bottom:0;
}
.pulse-step-number{
  width:58px;
  height:58px;
  margin:0 !important;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  background:#0a2442;
  color:#fff;
  font-weight:800;
  font-size:1.05rem;
  letter-spacing:.02em;
  box-shadow:0 0 0 5px rgba(239,107,46,.08);
}
.pulse-step-body{
  min-width:0;
}
.pulse-step-body > h2{
  margin:0 0 16px !important;
  font-size:clamp(1.8rem,2.5vw,2.45rem) !important;
  line-height:1.05 !important;
}
.pulse-step-body > p{
  max-width:900px;
  margin:0 0 15px !important;
  color:#263748;
  line-height:1.68;
}
.pulse-step-intro{
  color:#667583 !important;
  font-size:1.06rem;
  font-style:italic;
  margin-bottom:20px !important;
}

/* Accordions */
.pulse-accordion{
  margin:18px 0 0 !important;
  padding:0 !important;
  border:1px solid rgba(11,36,66,.14);
  border-radius:12px;
  background:#f6f8f7;
  overflow:hidden;
}
.pulse-accordion summary{
  cursor:pointer;
  padding:17px 20px;
  font-weight:760;
  color:#102b49;
  list-style-position:inside;
  background:rgba(57,137,98,.055);
}
.pulse-accordion[open] summary{
  border-bottom:1px solid rgba(11,36,66,.10);
}
.pulse-accordion > :not(summary){
  margin-left:20px !important;
  margin-right:20px !important;
}
.pulse-accordion > p:first-of-type{
  margin-top:18px !important;
}
.pulse-accordion > p:last-child{
  margin-bottom:20px !important;
}
.pulse-accordion h4{
  margin:20px 20px 6px !important;
  color:#102b49;
  font-size:1rem;
}
.pulse-question-list{
  margin:14px 20px 18px 42px !important;
  padding:0;
}
.pulse-question-list li{
  margin:0 0 11px;
  line-height:1.55;
}

/* Impact examples */
.pulse-impact-grid{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:12px !important;
  margin-top:18px !important;
  margin-bottom:20px !important;
}
.pulse-impact-item{
  padding:16px 17px !important;
  border:1px solid rgba(11,36,66,.09);
  background:#fff;
  border-radius:9px;
}
.pulse-impact-item h4{
  margin:0 0 6px !important;
  color:#102b49;
}
.pulse-impact-item p{
  margin:0 !important;
  color:#415261;
  font-size:.94rem;
  line-height:1.55;
}

.pulse-constat-next{
  margin-top:28px !important;
  padding:22px 24px !important;
  border-left:3px solid var(--non-orange,#ef6b2e);
  background:#f7f4ef;
}
.pulse-constat-next p{
  margin:0 0 8px !important;
}
.pulse-constat-next p:last-child{
  margin-bottom:0 !important;
}

@media(max-width:760px){
  .pulse-page-hero-inner{
    width:calc(100% - 32px);
    padding:40px 0 44px;
  }
  .pulse-page-title{
    font-size:clamp(2.15rem,10vw,3.25rem) !important;
  }
  .pulse-constat-flow{
    width:calc(100% - 32px);
    padding-top:38px;
  }
  .pulse-constat-step{
    grid-template-columns:1fr;
    row-gap:18px;
    padding-bottom:38px;
    margin-bottom:38px;
  }
  .pulse-step-number{
    width:48px;
    height:48px;
  }
  .pulse-impact-grid{
    grid-template-columns:1fr !important;
  }
}


/* v4.2 — unified compact text rhythm for standard content blocks */

/* One body-text style for the right column, including the former "lead". */
.non-gb-copy > p,
.non-gb-copy > .non-gb-lead{
  max-width:900px !important;
  margin:0 0 12px !important;
  color:inherit !important;
  font-size:.97rem !important;
  line-height:1.52 !important;
  font-style:normal !important;
  font-weight:400 !important;
}

/* The side intro remains the secondary explanatory voice. */
.non-gb-aside{
  font-size:.94rem !important;
  line-height:1.5 !important;
}

/* Slightly tighten each standard section now that paragraph rhythm is denser. */
.non-gb-section{
  padding-top:50px !important;
  padding-bottom:50px !important;
}
.non-gb-copy .non-gb-details{
  margin-top:14px !important;
}

/* Bold should be an accent, not a second reading layer. */
.non-gb-copy strong{
  font-weight:700;
}


/* v4.3 — hard reset of paragraph hierarchy inside standard editorial blocks */

/* All direct body paragraphs in the right-hand column are visually identical.
   This deliberately overrides legacy .non-gb-lead rules from earlier theme versions. */
body .non-gb-section .non-gb-copy > p,
body .non-gb-section .non-gb-copy > p.non-gb-lead,
body .non-gb-section .non-gb-copy > .non-gb-lead{
  margin:0 0 12px !important;
  padding:0 !important;
  max-width:900px !important;
  font-family:inherit !important;
  font-size:.97rem !important;
  line-height:1.52 !important;
  font-weight:400 !important;
  font-style:normal !important;
  letter-spacing:normal !important;
  text-transform:none !important;
  color:inherit !important;
  opacity:1 !important;
}

/* Remove inherited emphasis treatment from the first paragraph specifically. */
body .non-gb-section .non-gb-copy > p:first-child,
body .non-gb-section .non-gb-copy > .non-gb-lead:first-child{
  font-size:.97rem !important;
  line-height:1.52 !important;
  font-weight:400 !important;
  font-style:normal !important;
  color:inherit !important;
}

/* Keep only deliberate inline strong emphasis. */
body .non-gb-section .non-gb-copy > p strong{
  font-size:inherit !important;
  line-height:inherit !important;
  font-style:inherit !important;
  color:inherit !important;
}

/* Accordions remain a secondary component but their body text stays compact. */
body .non-gb-section .non-gb-details p,
body .non-gb-section .non-gb-details li{
  font-size:.94rem !important;
  line-height:1.5 !important;
}


/* v4.4 — block subtitles use the same available width as their H2 titles */

body .non-gb-section .non-gb-side{
  width:100% !important;
  max-width:none !important;
  min-width:0 !important;
}

body .non-gb-section .non-gb-side .non-gb-heading,
body .non-gb-section .non-gb-side .non-gb-aside{
  width:100% !important;
  max-width:none !important;
  min-width:0 !important;
}

body .non-gb-section .non-gb-side .non-gb-aside{
  margin-top:10px !important;
  font-size:.94rem !important;
  line-height:1.45 !important;
}

/* Give the left editorial column enough room on wide screens */
@media(min-width:1050px){
  body .non-gb-section .non-gb-layout{
    grid-template-columns:minmax(300px, .95fr) minmax(0, 2.05fr) !important;
    column-gap:44px !important;
  }
}


/* v4.5 — dedicated Le constat hero image */
.pulse-constat-hero{
  background:
    linear-gradient(
      90deg,
      rgba(5,15,30,.94) 0%,
      rgba(5,15,30,.82) 34%,
      rgba(5,15,30,.52) 58%,
      rgba(5,15,30,.18) 82%,
      rgba(5,15,30,.12) 100%
    ),
    url("../images/constat-hero.jpg") 64% center / cover no-repeat !important;
}

/* On classic HD / wide desktop screens, preserve more of the right-side trees. */
@media(min-width:1400px){
  .pulse-constat-hero{
    background-position:center, 68% center !important;
  }
}

/* Slightly re-center on narrower screens so the title stays readable. */
@media(max-width:900px){
  .pulse-constat-hero{
    background-position:center, 58% center !important;
  }
}


/* v4.6 — dedicated hero image for "Le projet" */

body.pulse-page-le-projet .non-gb-hero{
  position:relative;
  overflow:hidden;
  color:#fff;
  background:
    linear-gradient(
      90deg,
      rgba(5,15,30,.95) 0%,
      rgba(5,15,30,.86) 32%,
      rgba(5,15,30,.58) 53%,
      rgba(5,15,30,.24) 76%,
      rgba(5,15,30,.12) 100%
    ),
    url("../images/project-hero-v2.jpg") 59% 46% / cover no-repeat !important;
  border-bottom:1px solid rgba(255,255,255,.09);
}

/* Keep the existing hero text readable over the photo */
body.pulse-page-le-projet .non-gb-hero .non-gb-hero-title,
body.pulse-page-le-projet .non-gb-hero .non-gb-hero-copy,
body.pulse-page-le-projet .non-gb-hero p{
  color:#fff !important;
}

body.pulse-page-le-projet .non-gb-hero .non-gb-hero-title em{
  color:var(--non-orange,#ef6b2e) !important;
}

/* Classic HD / wide desktop: keep the group of people around the visual center,
   while leaving the left side darker and calmer for the title. */
@media(min-width:1400px){
  body.pulse-page-le-projet .non-gb-hero{
    background-position:center, 61% 45% !important;
  }
}

/* Narrower displays: shift slightly left so the people remain visible after cover crop. */
@media(max-width:1050px){
  body.pulse-page-le-projet .non-gb-hero{
    background-position:center, 56% center !important;
  }
}

@media(max-width:700px){
  body.pulse-page-le-projet .non-gb-hero{
    background-position:center, 53% center !important;
  }
}


/* v4.7 — selected hero visuals */

/* Le projet — proposition 3 */
body.pulse-page-le-projet .non-gb-hero{
  background:
    linear-gradient(
      90deg,
      rgba(5,15,30,.96) 0%,
      rgba(5,15,30,.88) 28%,
      rgba(5,15,30,.62) 48%,
      rgba(5,15,30,.26) 72%,
      rgba(5,15,30,.10) 100%
    ),
    url("../images/project-hero-v2.jpg") 64% center / cover no-repeat !important;
}

/* Construire ensemble — proposition 2 */
body.pulse-page-construire-ensemble .non-gb-hero{
  position:relative;
  overflow:hidden;
  color:#fff;
  background:
    linear-gradient(
      90deg,
      rgba(5,15,30,.96) 0%,
      rgba(5,15,30,.88) 29%,
      rgba(5,15,30,.61) 50%,
      rgba(5,15,30,.25) 73%,
      rgba(5,15,30,.10) 100%
    ),
    url("../images/build-hero.jpg") 65% center / cover no-repeat !important;
  border-bottom:1px solid rgba(255,255,255,.09);
}

body.pulse-page-construire-ensemble .non-gb-hero .non-gb-hero-title,
body.pulse-page-construire-ensemble .non-gb-hero .non-gb-hero-copy,
body.pulse-page-construire-ensemble .non-gb-hero p{
  color:#fff !important;
}

body.pulse-page-construire-ensemble .non-gb-hero .non-gb-hero-title em{
  color:var(--non-orange,#ef6b2e) !important;
}

@media(min-width:1400px){
  body.pulse-page-le-projet .non-gb-hero{
    background-position:center, 66% center !important;
  }
  body.pulse-page-construire-ensemble .non-gb-hero{
    background-position:center, 67% center !important;
  }
}

@media(max-width:1050px){
  body.pulse-page-le-projet .non-gb-hero,
  body.pulse-page-construire-ensemble .non-gb-hero{
    background-position:center, 59% center !important;
  }
}

@media(max-width:700px){
  body.pulse-page-le-projet .non-gb-hero,
  body.pulse-page-construire-ensemble .non-gb-hero{
    background-position:center, 55% center !important;
  }
}


/* v4.8 — Native Gutenberg editing for workstreams + roadmaps */
.non-workstream-list{
  display:flex!important;
  flex-direction:column!important;
  gap:8px!important;
  margin:20px 0 22px!important;
}
.non-workstream-card{
  width:100%!important;
  box-sizing:border-box!important;
  background:#f7f3ec!important;
  border:1px solid rgba(20,33,61,.14)!important;
  border-radius:10px!important;
  padding:10px 15px!important;
  color:#14213d!important;
}
.is-dark .non-workstream-card{
  background:rgba(255,255,255,.96)!important;
  color:#14213d!important;
}
.non-workstream-head{
  display:flex!important;
  align-items:baseline!important;
  gap:9px!important;
  margin:0 0 1px!important;
}
.non-workstream-number{
  flex:0 0 auto!important;
  margin:0!important;
  color:#e85c18!important;
  font-weight:800!important;
  line-height:1.1!important;
}
.non-workstream-title{
  margin:0!important;
  color:#14213d!important;
  font-family:Georgia,"Times New Roman",serif!important;
  font-size:1.28rem!important;
  line-height:1.08!important;
}
.non-workstream-desc{
  margin:0!important;
  color:#475467!important;
  line-height:1.28!important;
}
.is-dark .non-workstream-card p,
.is-dark .non-workstream-card h3{
  color:#14213d!important;
}
.is-dark .non-workstream-card .non-workstream-number{color:#e85c18!important}

.non-roadmap{
  margin:26px 0 28px!important;
  overflow-x:auto!important;
  border:1px solid rgba(20,33,61,.15)!important;
  border-radius:11px!important;
}
.non-roadmap-header,
.non-roadmap-row{
  min-width:760px!important;
  display:grid!important;
  grid-template-columns:230px minmax(480px,1fr)!important;
}
.non-roadmap-header.has-status,
.non-roadmap-row.has-status{
  min-width:900px!important;
  grid-template-columns:230px 120px minmax(480px,1fr)!important;
}
.non-roadmap-header{
  border-bottom:1px solid rgba(20,33,61,.14)!important;
}
.non-roadmap-headcell{
  margin:0!important;
  padding:6px 8px!important;
  font-size:.82rem!important;
  font-weight:800!important;
  text-align:left!important;
}
.non-roadmap-header .is-month{display:none!important}
.non-roadmap-label,
.non-roadmap-status{
  margin:0!important;
  padding:6px 9px!important;
  min-height:30px!important;
  display:flex!important;
  align-items:center!important;
  border-right:1px solid rgba(20,33,61,.12)!important;
  border-bottom:1px solid rgba(20,33,61,.09)!important;
  font-size:.88rem!important;
  line-height:1.16!important;
}
.non-roadmap-label{font-weight:700!important}
.non-roadmap-track{
  display:grid!important;
  grid-template-columns:repeat(8,minmax(60px,1fr))!important;
  min-height:30px!important;
  border-bottom:1px solid rgba(20,33,61,.09)!important;
}
.non-roadmap-cell{
  margin:0!important;
  min-height:30px!important;
  padding:0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  border-right:1px solid rgba(20,33,61,.07)!important;
  color:transparent!important;
  font-size:.75rem!important;
}
.non-roadmap-cell.is-active{
  background:#e85c18!important;
}
.non-roadmap-cell.is-active:last-child{
  color:#fff!important;
  font-weight:800!important;
}
.non-roadmap-dark{
  border-color:rgba(255,255,255,.18)!important;
}
.non-roadmap-dark .non-roadmap-header,
.non-roadmap-dark .non-roadmap-label,
.non-roadmap-dark .non-roadmap-status,
.non-roadmap-dark .non-roadmap-track{
  border-color:rgba(255,255,255,.13)!important;
}
.non-roadmap-dark .non-roadmap-headcell,
.non-roadmap-dark .non-roadmap-label,
.non-roadmap-dark .non-roadmap-status{color:#fff!important}
.non-roadmap-dark .non-roadmap-cell{border-color:rgba(255,255,255,.08)!important}
.non-roadmap-date{
  margin:0 0 20px!important;
  color:#e85c18!important;
  font-size:clamp(2.4rem,5vw,4.6rem)!important;
  line-height:1!important;
}
.non-status-box{
  margin-top:26px!important;
  padding:16px 18px!important;
  border:1px solid rgba(20,33,61,.14)!important;
  border-radius:12px!important;
  background:#f7f3ec!important;
}
.non-status-box h3{margin:0 0 8px!important}
.non-status-box p{margin:0 0 8px!important}
.non-status-box p:last-child{margin-bottom:0!important}
.non-gb-note{font-size:.92rem!important;opacity:.78!important}
.non-skill-list{margin-top:.4rem!important;margin-bottom:1.25rem!important}

@media(max-width:760px){
  .non-workstream-card{padding:10px 12px!important}
  .non-workstream-title{font-size:1.13rem!important}
  .non-roadmap-header,.non-roadmap-row{min-width:700px!important;grid-template-columns:205px minmax(440px,1fr)!important}
  .non-roadmap-header.has-status,.non-roadmap-row.has-status{min-width:820px!important;grid-template-columns:205px 110px minmax(440px,1fr)!important}
}


/* v4.9 — Fix native Gutenberg workstream cards and roadmap rendering */

/* --- Workstreams: 6 compact full-width cards --- */
.non-workstream-list,
.non-workstream-list.wp-block-group {
  display:flex !important;
  flex-direction:column !important;
  width:100% !important;
  gap:7px !important;
  margin:18px 0 18px !important;
}

.non-workstream-list > .non-workstream-card,
.non-workstream-card.wp-block-group {
  display:block !important;
  width:100% !important;
  max-width:none !important;
  box-sizing:border-box !important;
  margin:0 !important;
  padding:10px 15px !important;
  min-height:0 !important;
  background:#f7f3ec !important;
  border:1px solid rgba(20,33,61,.14) !important;
  border-radius:10px !important;
  color:#14213d !important;
}

.non-workstream-card > .non-workstream-head,
.non-workstream-head.wp-block-group {
  display:flex !important;
  flex-direction:row !important;
  align-items:baseline !important;
  flex-wrap:nowrap !important;
  gap:9px !important;
  width:100% !important;
  margin:0 0 1px !important;
  padding:0 !important;
}

.non-workstream-head > *,
.non-workstream-card > * {
  margin-block-start:0 !important;
  margin-block-end:0 !important;
}

.non-workstream-number,
.is-dark .non-workstream-card .non-workstream-number {
  margin:0 !important;
  padding:0 !important;
  flex:0 0 auto !important;
  color:#e85c18 !important;
  font-weight:800 !important;
  line-height:1.08 !important;
}

.non-workstream-title,
.is-dark .non-workstream-card .non-workstream-title {
  margin:0 !important;
  padding:0 !important;
  color:#14213d !important;
  font-family:Georgia,"Times New Roman",serif !important;
  font-size:1.28rem !important;
  line-height:1.08 !important;
}

.non-workstream-desc,
.is-dark .non-workstream-card .non-workstream-desc,
.is-dark .non-workstream-card p:not(.non-workstream-number) {
  margin:0 !important;
  padding:0 !important;
  color:#475467 !important;
  line-height:1.23 !important;
}

/* --- Roadmap: header months + compact rows + light grid --- */
.non-roadmap,
.non-roadmap.wp-block-group {
  width:100% !important;
  margin:24px 0 26px !important;
  padding:0 !important;
  overflow-x:auto !important;
  border:1px solid rgba(20,33,61,.16) !important;
  border-radius:10px !important;
}

.non-roadmap > * {
  margin-block-start:0 !important;
  margin-block-end:0 !important;
}

.non-roadmap-header,
.non-roadmap-header.wp-block-group {
  min-width:760px !important;
  display:grid !important;
  grid-template-columns:230px repeat(8,minmax(60px,1fr)) !important;
  gap:0 !important;
  margin:0 !important;
  padding:0 !important;
  border-bottom:1px solid rgba(20,33,61,.14) !important;
}

.non-roadmap-header.has-status,
.non-roadmap-header.has-status.wp-block-group {
  min-width:880px !important;
  grid-template-columns:230px 120px repeat(8,minmax(60px,1fr)) !important;
}

.non-roadmap-headcell,
.non-roadmap-header .non-roadmap-headcell.is-month {
  display:flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
  min-height:28px !important;
  margin:0 !important;
  padding:5px 8px !important;
  box-sizing:border-box !important;
  border-right:1px solid rgba(20,33,61,.08) !important;
  font-size:.78rem !important;
  line-height:1.05 !important;
  font-weight:800 !important;
}

.non-roadmap-header .non-roadmap-headcell.is-month {
  justify-content:center !important;
  text-align:center !important;
}

.non-roadmap-row,
.non-roadmap-row.wp-block-group {
  min-width:760px !important;
  display:grid !important;
  grid-template-columns:230px minmax(480px,1fr) !important;
  gap:0 !important;
  margin:0 !important;
  padding:0 !important;
}

.non-roadmap-row.has-status,
.non-roadmap-row.has-status.wp-block-group {
  min-width:880px !important;
  grid-template-columns:230px 120px minmax(480px,1fr) !important;
}

.non-roadmap-label,
.non-roadmap-status {
  display:flex !important;
  align-items:center !important;
  min-height:28px !important;
  box-sizing:border-box !important;
  margin:0 !important;
  padding:4px 8px !important;
  border-right:1px solid rgba(20,33,61,.11) !important;
  border-bottom:1px solid rgba(20,33,61,.09) !important;
  font-size:.82rem !important;
  line-height:1.08 !important;
}

.non-roadmap-label {
  font-weight:700 !important;
}

.non-roadmap-track,
.non-roadmap-track.wp-block-group {
  display:grid !important;
  grid-template-columns:repeat(8,minmax(60px,1fr)) !important;
  gap:0 !important;
  min-height:28px !important;
  margin:0 !important;
  padding:0 !important;
  border-bottom:1px solid rgba(20,33,61,.09) !important;
}

.non-roadmap-cell,
.non-roadmap-track > .non-roadmap-cell {
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-height:28px !important;
  box-sizing:border-box !important;
  margin:0 !important;
  padding:0 !important;
  border-right:1px solid rgba(20,33,61,.07) !important;
  background:transparent !important;
  color:transparent !important;
  font-size:.72rem !important;
  line-height:1 !important;
}

.non-roadmap-cell.is-active {
  position:relative !important;
  background:transparent !important;
}

.non-roadmap-cell.is-active::after {
  content:"" !important;
  position:absolute !important;
  left:0 !important;
  right:0 !important;
  top:50% !important;
  height:8px !important;
  transform:translateY(-50%) !important;
  background:#e85c18 !important;
}

.non-roadmap-cell.is-active:first-child::after {
  border-radius:999px 0 0 999px !important;
}
.non-roadmap-cell.is-active:last-child::after {
  border-radius:0 999px 999px 0 !important;
}

/* Keep the "20" readable on March while preserving the orange bar. */
.non-roadmap-cell.is-active:last-child {
  color:#fff !important;
  font-weight:800 !important;
  z-index:1 !important;
}
.non-roadmap-cell.is-active:last-child::after {
  z-index:-1 !important;
}

/* Dark section variant */
.non-roadmap-dark {
  border-color:rgba(255,255,255,.18) !important;
}
.non-roadmap-dark .non-roadmap-header,
.non-roadmap-dark .non-roadmap-label,
.non-roadmap-dark .non-roadmap-status,
.non-roadmap-dark .non-roadmap-track {
  border-color:rgba(255,255,255,.13) !important;
}
.non-roadmap-dark .non-roadmap-headcell,
.non-roadmap-dark .non-roadmap-label,
.non-roadmap-dark .non-roadmap-status {
  color:#fff !important;
}
.non-roadmap-dark .non-roadmap-headcell,
.non-roadmap-dark .non-roadmap-cell {
  border-right-color:rgba(255,255,255,.08) !important;
}

@media (max-width:760px) {
  .non-workstream-card.wp-block-group { padding:9px 12px !important; }
  .non-workstream-title { font-size:1.12rem !important; }

  .non-roadmap-header,
  .non-roadmap-row {
    min-width:700px !important;
  }
  .non-roadmap-header {
    grid-template-columns:205px repeat(8,minmax(58px,1fr)) !important;
  }
  .non-roadmap-row {
    grid-template-columns:205px minmax(464px,1fr) !important;
  }
  .non-roadmap-header.has-status,
  .non-roadmap-row.has-status {
    min-width:820px !important;
  }
  .non-roadmap-header.has-status {
    grid-template-columns:205px 105px repeat(8,minmax(58px,1fr)) !important;
  }
  .non-roadmap-row.has-status {
    grid-template-columns:205px 105px minmax(464px,1fr) !important;
  }
}


/* v5.0 — denser editorial rhythm */
body .non-gb-section {
  padding-top: 26px !important;
  padding-bottom: 26px !important;
}

/* Keep a little more breathing room on mobile, but still much tighter than before. */
@media (max-width: 760px) {
  body .non-gb-section {
    padding-top: 24px !important;
    padding-bottom: 24px !important;
  }
}

/* Financing section: subheads should read as compact editorial signposts,
   not as secondary page titles. */
body #financement .non-gb-copy > h3 {
  margin: 20px 0 4px !important;
  font-size: clamp(1.12rem, 1.45vw, 1.45rem) !important;
  line-height: 1.15 !important;
  letter-spacing: -.01em !important;
}
body #financement .non-gb-copy > h3:first-of-type {
  margin-top: 16px !important;
}
body #financement .non-gb-copy > h3 + p {
  margin-top: 0 !important;
}


/* v5.1 — normalize spacing on light AND dark editorial sections.
   Gutenberg may add block margins around Group blocks; remove them explicitly. */
body .wp-site-blocks > .non-gb-section,
body main .non-gb-section,
body .non-gb-section,
body .non-gb-section.is-dark,
body .non-gb-section.is-accent {
  margin-block-start:0 !important;
  margin-block-end:0 !important;
  margin-top:0 !important;
  margin-bottom:0 !important;
  padding-top:26px !important;
  padding-bottom:26px !important;
}

body .non-gb-section > .non-gb-layout,
body .non-gb-section > .non-gb-wrap,
body .non-gb-section .non-gb-layout {
  margin-block-start:0 !important;
  margin-block-end:0 !important;
}

body .non-gb-section .non-gb-side > :first-child,
body .non-gb-section .non-gb-copy > :first-child {
  margin-top:0 !important;
}

body .non-gb-section .non-gb-side > :last-child,
body .non-gb-section .non-gb-copy > :last-child {
  margin-bottom:0 !important;
}

body .non-gb-section + .non-gb-section {
  margin-top:0 !important;
}

@media (max-width:760px) {
  body .wp-site-blocks > .non-gb-section,
  body main .non-gb-section,
  body .non-gb-section {
    padding-top:24px !important;
    padding-bottom:24px !important;
  }
}


/* v5.3 — Participer routing page. Based on v5.1. */
.non-route-list{
  display:flex!important;
  flex-direction:column!important;
  gap:9px!important;
  margin:0!important;
}
.non-route-card{
  display:grid!important;
  grid-template-columns:minmax(250px,1.15fr) minmax(340px,1.7fr) auto!important;
  align-items:center!important;
  gap:18px!important;
  width:100%!important;
  box-sizing:border-box!important;
  margin:0!important;
  padding:15px 18px!important;
  border:1px solid rgba(20,33,61,.14)!important;
  border-radius:11px!important;
  background:#f7f3ec!important;
  color:#14213d!important;
}
.non-route-head{
  display:flex!important;
  align-items:baseline!important;
  gap:10px!important;
  margin:0!important;
  padding:0!important;
}
.non-route-number{
  margin:0!important;
  color:#e85c18!important;
  font-weight:800!important;
  line-height:1!important;
}
.non-route-title{
  margin:0!important;
  color:#14213d!important;
  font-size:1.25rem!important;
  line-height:1.08!important;
}
.non-route-copy,
.non-route-copy p{
  margin:0!important;
}
.non-route-desc{
  margin:0!important;
  color:#475467!important;
  line-height:1.3!important;
}
.non-route-action{
  margin:0!important;
  justify-content:flex-end!important;
  white-space:nowrap!important;
}
.non-route-action .wp-block-button{
  margin:0!important;
}
.non-route-action .wp-block-button__link{
  padding:.62rem .85rem!important;
  font-size:.9rem!important;
}
@media(max-width:900px){
  .non-route-card{
    grid-template-columns:1fr auto!important;
  }
  .non-route-copy{
    grid-column:1 / -1!important;
    grid-row:2!important;
  }
  .non-route-action{
    grid-column:2!important;
    grid-row:1!important;
  }
}
@media(max-width:640px){
  .non-route-card{
    display:block!important;
    padding:13px 14px!important;
  }
  .non-route-copy{
    margin-top:7px!important;
  }
  .non-route-action{
    margin-top:10px!important;
    justify-content:flex-start!important;
  }
}


/* v5.4 — participation form destinations, based on v5.3 */
.non-form-placeholder{
  margin:18px 0 0!important;
  padding:20px 22px!important;
  border:1px solid rgba(20,33,61,.14)!important;
  border-radius:12px!important;
  background:#f7f3ec!important;
  color:#14213d!important;
}
.non-form-placeholder > *{
  margin-block-start:0!important;
}
.non-form-kicker{
  margin:0 0 5px!important;
  color:#e85c18!important;
  font-size:.78rem!important;
  font-weight:800!important;
  letter-spacing:.08em!important;
  text-transform:uppercase!important;
}
.non-form-title{
  margin:0 0 8px!important;
  color:#14213d!important;
}
.non-form-note{
  margin:0 0 12px!important;
  color:#475467!important;
}
.non-form-field-list{
  margin:0 0 12px 1.2rem!important;
}
.non-form-field-list li{
  margin:.22rem 0!important;
}
.non-form-tech{
  margin:12px 0 0!important;
  padding-top:12px!important;
  border-top:1px solid rgba(20,33,61,.12)!important;
  color:#667085!important;
  font-size:.9rem!important;
}


/* Pulse 2050 v5.7 — dedicated form pages
   IMPORTANT: frontend CSS is loaded from assets/css/main.css. */
.non-form-section{
  background:#f4efe7;
  padding:clamp(44px,6vw,84px) clamp(22px,5vw,72px) !important;
}

.non-form-section .non-form-wide-card{
  width:min(1120px, 100%) !important;
  max-width:1120px !important;
  margin:0 auto !important;
  padding:clamp(30px,4vw,52px) !important;
  background:#ffffff !important;
  border-radius:18px !important;
  box-sizing:border-box !important;
}

.non-form-wide-card .non-form-intro{
  width:100% !important;
  max-width:900px !important;
  margin:0 0 1rem !important;
  font-size:1.05rem;
  line-height:1.7;
}

.non-form-wide-card .non-form-placeholder{
  width:100% !important;
  max-width:none !important;
  margin:2rem 0 0 !important;
  padding:0 !important;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
}

.non-form-wide-card .fluentform,
.non-form-wide-card .frm-fluent-form,
.non-form-wide-card form,
.non-form-wide-card .ff-el-group{
  width:100% !important;
  max-width:none !important;
  box-sizing:border-box;
}

.non-form-wide-card .ff-el-input--content,
.non-form-wide-card .ff-el-form-control{
  width:100% !important;
  max-width:none !important;
  box-sizing:border-box;
}

@media (max-width:700px){
  .non-form-section{
    padding:32px 14px !important;
  }
  .non-form-section .non-form-wide-card{
    padding:24px 18px !important;
    border-radius:14px !important;
  }
}


/* Pulse 2050 v5.8 — Polylang FR | EN switcher */
.non-language-switcher{
  display:flex;
  align-items:center;
  gap:7px;
  margin-left:auto;
  margin-right:12px;
  white-space:nowrap;
  font-size:.78rem;
  line-height:1;
  letter-spacing:.06em;
  font-weight:700;
}
.non-language-switcher .non-lang-link{
  color:rgba(255,255,255,.64);
  text-decoration:none;
  transition:color .18s ease, opacity .18s ease;
}
.non-language-switcher a.non-lang-link:hover{
  color:#fff;
}
.non-language-switcher .non-lang-link.is-current{
  color:#fff;
}
.non-language-switcher .non-lang-link.is-unavailable{
  opacity:.32;
  cursor:default;
}
.non-language-switcher .non-lang-sep{
  color:rgba(255,255,255,.28);
  font-weight:400;
}
@media (max-width:980px){
  .non-language-switcher{
    margin-left:8px;
    margin-right:6px;
    font-size:.74rem;
  }
}


/* Pulse 2050 v5.9 — slightly shorter buttons site-wide */
.wp-block-button__link,
.non-btn,
button,
input[type="submit"],
input[type="button"],
.fluentform .ff-btn,
.fluentform button.ff-btn {
  padding-top:.58rem !important;
  padding-bottom:.58rem !important;
  min-height:0 !important;
  line-height:1.2 !important;
}

/* Header CTA: compact but still visually distinct */
.non-nav-cta .wp-block-button__link{
  padding-top:.55rem !important;
  padding-bottom:.55rem !important;
}

/* Legal pages: comfortable editorial rhythm */
.non-legal-card h2{
  margin-top:2rem;
  margin-bottom:.6rem;
}
.non-legal-card h2:first-of-type{
  margin-top:1.2rem;
}
.non-legal-card p,
.non-legal-card li{
  line-height:1.68;
}


/* Pulse 2050 v5.11 — tighten expanded accordion spacing */

/* Gutenberg/editorial accordions */
body .non-gb-details[open] > summary + *,
body .non-accordion[open] > summary + *{
  margin-top:4px !important;
}

/* Remove browser/Gutenberg paragraph top margins just after the title */
body .non-gb-details[open] > p:first-of-type,
body .non-accordion[open] > p:first-of-type{
  margin-top:4px !important;
  padding-top:0 !important;
}

/* "Le constat" card-style accordions */
body .pulse-accordion > p:first-of-type{
  margin-top:6px !important;
}

/* If the first accordion content is a heading/list/group rather than a paragraph */
body .pulse-accordion[open] > summary + *,
body .non-gb-details[open] > summary + *,
body .non-accordion[open] > summary + *{
  padding-top:0 !important;
}

/* v5.12 — dedicated Participer hero image */
body.pulse-page-participer .non-gb-hero{
  position:relative;
  overflow:hidden;
  color:#fff;
  background:
    linear-gradient(
      90deg,
      rgba(5,15,30,.97) 0%,
      rgba(5,15,30,.90) 29%,
      rgba(5,15,30,.64) 50%,
      rgba(5,15,30,.27) 73%,
      rgba(5,15,30,.10) 100%
    ),
    url("../images/participer-hero.jpg") 67% center / cover no-repeat !important;
  border-bottom:1px solid rgba(255,255,255,.09);
}

body.pulse-page-participer .non-gb-hero .non-gb-hero-title,
body.pulse-page-participer .non-gb-hero .non-gb-hero-copy,
body.pulse-page-participer .non-gb-hero p{
  color:#fff !important;
}

body.pulse-page-participer .non-gb-hero .non-gb-hero-title em{
  color:var(--non-orange,#ef6b2e) !important;
}

@media(min-width:1400px){
  body.pulse-page-participer .non-gb-hero{
    background-position:center, 69% center !important;
  }
}

@media(max-width:1050px){
  body.pulse-page-participer .non-gb-hero{
    background-position:center, 61% center !important;
  }
}

@media(max-width:700px){
  body.pulse-page-participer .non-gb-hero{
    background-position:center, 57% center !important;
  }
}

/* v5.13 — dedicated Actualités hero image */
.non-news-page .non-news-hero{
  position:relative;
  overflow:hidden;
  background:
    linear-gradient(90deg,
      rgba(4,18,35,.98) 0%,
      rgba(4,18,35,.92) 30%,
      rgba(4,18,35,.60) 50%,
      rgba(4,18,35,.22) 72%,
      rgba(4,18,35,.10) 100%
    ),
    url("../images/actualites-hero.jpg") 66% center / cover no-repeat !important;
}
.non-news-page .non-news-hero .non-news-wrap{
  position:relative;
  z-index:1;
}
@media(max-width:960px){
  .non-news-page .non-news-hero{
    background-position:70% center!important;
  }
}
@media(max-width:680px){
  .non-news-page .non-news-hero{
    background-position:72% center!important;
  }
}

/* v5.14 — dedicated Contact hero image */
body.pulse-page-contact .non-gb-hero{
  position:relative;
  overflow:hidden;
  color:#fff;
  background:
    linear-gradient(
      90deg,
      rgba(5,15,30,.98) 0%,
      rgba(5,15,30,.92) 30%,
      rgba(5,15,30,.63) 50%,
      rgba(5,15,30,.28) 72%,
      rgba(5,15,30,.10) 100%
    ),
    url("../images/contact-hero.jpg") 70% center / cover no-repeat !important;
  border-bottom:1px solid rgba(255,255,255,.09);
}

body.pulse-page-contact .non-gb-hero .non-gb-hero-title,
body.pulse-page-contact .non-gb-hero .non-gb-hero-copy,
body.pulse-page-contact .non-gb-hero p{
  color:#fff !important;
}

body.pulse-page-contact .non-gb-hero .non-gb-hero-title em{
  color:var(--non-orange,#ef6b2e) !important;
}

@media(max-width:1050px){
  body.pulse-page-contact .non-gb-hero{
    background-position:center, 73% center !important;
  }
}

@media(max-width:700px){
  body.pulse-page-contact .non-gb-hero{
    background-position:center, 77% center !important;
  }
}


/* v5.15 — compact footer + hero typography accents */
.non-footer{
  padding:10px 24px !important;
}
.non-footer-inner{
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:24px !important;
  min-height:0 !important;
}
.non-footer-inner > .wp-block-group:first-child{
  display:flex !important;
  align-items:baseline !important;
  gap:14px !important;
  flex-wrap:wrap !important;
}
.non-footer-brand-split{
  font-size:.9rem !important;
  white-space:nowrap;
}
.non-footer-inner p{
  display:block !important;
  margin:0 !important;
  font-size:.68rem !important;
  line-height:1.1 !important;
  opacity:.62;
  white-space:nowrap;
}
.non-footer-nav{
  margin-left:auto !important;
}
.non-footer-nav .wp-block-navigation__container{
  justify-content:flex-end !important;
  gap:14px !important;
}

.non-news-title{
  font-size:clamp(2.55rem,4.4vw,4.45rem) !important;
  line-height:1.01 !important;
}
.non-news-title em{
  color:var(--non-orange,#ff7417) !important;
  font-style:italic !important;
}

body.pulse-page-contact .non-gb-h1 em{
  color:var(--non-orange,#ff7417) !important;
  font-style:italic !important;
}

@media(max-width:700px){
  .non-footer{padding:9px 14px !important;}
  .non-footer-inner{align-items:flex-start !important;}
  .non-footer-inner > .wp-block-group:first-child{display:block !important;}
  .non-footer-inner p{display:none !important;}
  .non-footer-nav .wp-block-navigation__container{gap:10px !important;}
  .non-news-title{font-size:clamp(2.35rem,11vw,3.55rem) !important;}
}


/* v5.16 — slimmer footer, larger footer text, smaller Actualités hero title */
.non-footer{
  padding:5px 24px !important;
}
.non-footer-inner{
  min-height:0 !important;
  gap:18px !important;
}
.non-footer-inner > .wp-block-group:first-child{
  gap:12px !important;
}
.non-footer-brand-split{
  font-size:1rem !important;
  line-height:1 !important;
}
.non-footer-inner p{
  font-size:.76rem !important;
  line-height:1 !important;
}
.non-footer-nav a{
  font-size:.78rem !important;
  line-height:1 !important;
}
.non-footer-nav .wp-block-navigation__container{
  gap:13px !important;
}

.non-news-title{
  font-size:clamp(2.25rem,3.8vw,3.85rem) !important;
  line-height:1.02 !important;
}

@media(max-width:700px){
  .non-footer{padding:5px 14px !important;}
  .non-footer-brand-split{font-size:.96rem !important;}
  .non-footer-nav a{font-size:.76rem !important;}
  .non-news-title{font-size:clamp(2.1rem,10vw,3.15rem) !important;}
}
