@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600&family=Manrope:wght@400;500;600;700&display=swap');

.complementary-heading{grid-column:1/-1;margin:54px 0 10px;padding-top:44px;border-top:1px solid var(--line)}.complementary-heading .overline{margin-bottom:14px}.complementary-heading h3{font:600 clamp(34px,4vw,54px)/1.05 Manrope;letter-spacing:-.06em;margin:0 0 16px;max-width:760px}.complementary-heading>p:last-child{max-width:720px;color:#666;margin:0}
:root{--black:#050505;--ink:#111;--muted:#656565;--line:#d9d9d9;--soft:#f3f3f3;--white:#fff;--max:1440px;--radius:28px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#fff;color:var(--ink);font:16px/1.6 'DM Sans',Arial,sans-serif;overflow-x:hidden}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}.site-header{height:82px;max-width:var(--max);padding:0 34px;margin:auto;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;background:#fff;backdrop-filter:blur(18px);z-index:20;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:10px;font:600 18px Manrope;letter-spacing:-.04em}.brand img{width:44px;height:44px;object-fit:contain}.brand b{color:#8c8c8c;font-weight:500}.site-header nav{display:flex;align-items:center;gap:30px;font-size:14px}.site-header nav>a:not(.nav-contact){position:relative}.site-header nav>a:not(.nav-contact):after{content:"";position:absolute;left:0;right:100%;bottom:-6px;height:1px;background:#111;transition:.25s}.site-header nav>a:hover:after{right:0}.nav-contact{background:var(--black);color:#fff;padding:13px 19px;border-radius:999px}.menu{display:none;background:#111;color:#fff;border:0;border-radius:999px;padding:10px 15px}.overline{text-transform:uppercase;letter-spacing:.16em;font-size:12px;font-weight:700;margin:0 0 25px}.hero{max-width:var(--max);margin:auto;min-height:720px;padding:78px 34px 76px;display:grid;grid-template-columns:minmax(0,1.28fr) minmax(360px,.72fr);gap:54px;align-items:center}.hero h1,.promise h2,.section-title h2,.process h2,.contact h2{font:600 clamp(52px,6.4vw,96px)/.97 Manrope;letter-spacing:-.075em;margin:0}.hero h1 span{color:#aaa}.intro{font-size:19px;max-width:760px;color:#4f4f4f;margin:35px 0}.actions{display:flex;align-items:center;gap:28px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:30px;min-width:230px;border:0;padding:16px 20px;cursor:pointer;border-radius:999px;transition:transform .2s,background .2s}.button:hover{transform:translateY(-2px)}.button.dark{background:var(--black);color:#fff}.button.light{background:#fff;color:#111}.simple-link{text-decoration:underline;text-underline-offset:6px}.hero-visual{justify-self:end;width:min(440px,31vw);aspect-ratio:.86;background:var(--black);color:#fff;border-radius:var(--radius);padding:25px;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden;box-shadow:0 28px 60px #0002}.visual-top,.visual-bottom{display:flex;justify-content:space-between;align-items:flex-start;font:600 13px Manrope;letter-spacing:.06em}.visual-top span{font-size:52px;letter-spacing:-.08em}.visual-top i,.visual-bottom i{font-style:normal;color:#999;font-size:10px}.visual-orbit{height:62%;border:1px solid #fff4;border-radius:50%;display:grid;place-items:center;position:relative;transform:rotate(-10deg)}.visual-orbit:before,.visual-orbit:after{content:"";position:absolute;inset:13%;border:1px solid #fff3;border-radius:50%}.visual-orbit:after{inset:27%}.visual-orbit b{font:600 clamp(22px,2.4vw,36px) Manrope;letter-spacing:-.05em;transform:rotate(10deg);z-index:1}.visual-orbit span{width:18px;height:18px;border-radius:50%;background:#fff;position:absolute;right:8%;top:23%}.promise{background:var(--soft);margin:0 18px;border-radius:var(--radius);padding:112px max(32px,calc((100vw - var(--max))/2 + 34px))}.promise h2{font-size:clamp(46px,5.4vw,78px);max-width:1050px}.promise-copy{display:grid;grid-template-columns:1fr 1fr;gap:70px;margin:65px 0 0 34%;font-size:18px;color:#535353}.catalogue,.process,.principles{max-width:var(--max);margin:auto;padding:116px 34px}.section-title{display:grid;grid-template-columns:1.25fr .55fr;gap:80px;align-items:end;margin-bottom:64px}.section-title h2{font-size:clamp(44px,5vw,72px)}.section-title>p{color:#666;margin:0}.training-groups{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.training-groups article{background:var(--soft);border-radius:22px;padding:30px;min-height:325px;display:flex;flex-direction:column;justify-content:space-between;transition:transform .25s,background .25s}.training-groups article:hover{transform:translateY(-4px);background:#ececec}.training-groups article.featured{grid-column:span 2;background:var(--black);color:#fff;min-height:360px}.training-groups header{display:grid;grid-template-columns:42px 1fr;gap:10px}.training-groups header>span{font-size:12px;color:#999}.training-groups header p{margin:0 0 8px;text-transform:uppercase;letter-spacing:.1em;font-size:12px;font-weight:700}.training-groups h3{font:600 28px/1.2 Manrope;letter-spacing:-.045em;margin:0;max-width:520px}.training-groups ul{list-style:none;padding:28px 0 0;margin:0;columns:2;column-gap:28px}.training-groups li{break-inside:avoid;border-bottom:1px solid #d9d9d9;padding:8px 0;color:#555}.training-groups .featured li{border-color:#333;color:#ccc}.catalogue-note{max-width:780px;color:#696969;margin:30px 0 0}.sectors{background:var(--black);color:#fff;margin:0 18px;border-radius:var(--radius);padding:112px max(32px,calc((100vw - var(--max))/2 + 34px))}.section-title.inverse>p{color:#aaa}.sector-list{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:#333;border:1px solid #333;border-radius:20px;overflow:hidden}.sector-list span{padding:30px 22px;background:#090909;font:600 20px Manrope;min-height:105px;display:flex;align-items:flex-end;transition:background .2s}.sector-list span:hover{background:#171717}.process{display:grid;grid-template-columns:.82fr 1.18fr;gap:100px}.process h2{font-size:clamp(48px,5.5vw,78px)}.process-intro>p:last-child{color:#666;max-width:460px;margin-top:35px}.process ol{list-style:none;padding:0;margin:0}.process li{display:grid;grid-template-columns:55px 1fr;padding:25px 0;border-top:1px solid var(--line)}.process li:last-child{border-bottom:1px solid var(--line)}.process li>span{color:#999;font-size:12px}.process h3{font:600 23px Manrope;margin:0 0 8px}.process li p{margin:0;color:#666}.principles{padding-top:30px}.principle-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.principle-grid article{padding:28px 28px 34px;border:1px solid var(--line);border-radius:22px}.principle-grid span{font-size:12px;color:#999}.principle-grid h3{font:600 22px Manrope;margin:60px 0 10px}.principle-grid p{color:#666;margin:0}.contact{background:var(--black);color:#fff;margin:0 18px 18px;border-radius:var(--radius);padding:105px max(32px,calc((100vw - var(--max))/2 + 34px))}.contact-layout{display:grid;grid-template-columns:1.18fr .65fr;gap:90px;align-items:end}.contact h2{font-size:clamp(54px,6.2vw,90px)}.contact-layout>div p{font-size:18px;color:#aaa;margin:0 0 28px}.contact-email{overflow-wrap:anywhere}.contact small{display:block;color:#777;margin-top:14px}footer{background:#fff;color:#111;padding:55px max(34px,calc((100vw - var(--max))/2 + 34px));display:grid;grid-template-columns:2fr 1fr 1fr;gap:50px;font-size:14px}.footer-brand{display:flex;align-items:flex-start;gap:10px;font:600 19px Manrope}.footer-brand img{width:43px}footer>div{display:flex;flex-direction:column;gap:8px;color:#666}footer p{color:#777;margin:0}dialog{border:0;padding:0;width:min(620px,calc(100% - 28px));box-shadow:0 30px 90px #0007;border-radius:20px}dialog::backdrop{background:#000b;backdrop-filter:blur(3px)}dialog form{padding:42px;position:relative}dialog h2{font:600 39px/1.1 Manrope;letter-spacing:-.05em;margin:0 0 30px}dialog label{display:block;font-size:14px;font-weight:600;margin-top:16px}dialog input,dialog textarea{display:block;width:100%;padding:13px;border:1px solid #ccc;margin-top:6px;font-weight:400}dialog textarea{height:115px;resize:vertical}.close{position:absolute;right:17px;top:12px;border:0;background:none;font-size:28px}.form-info{font-size:12px;color:#777}.no-scroll{overflow:hidden}
@media(max-width:980px){.site-header{height:72px;padding:0 22px}.menu{display:block}.site-header nav{display:none;position:absolute;top:72px;left:12px;right:12px;background:#fff;padding:14px;border:1px solid var(--line);border-radius:18px;box-shadow:0 24px 60px #0002;flex-direction:column;align-items:stretch;gap:0}.site-header nav.open{display:flex}.site-header nav a{padding:14px}.nav-contact{text-align:center;margin-top:6px}.hero{grid-template-columns:1fr;padding:62px 24px 72px;min-height:auto}.hero-visual{width:100%;aspect-ratio:1.8;justify-self:stretch}.visual-orbit{height:68%;width:45%;align-self:center}.promise,.sectors,.contact{margin-left:10px;margin-right:10px}.promise,.catalogue,.sectors,.process,.principles,.contact,footer{padding:78px 24px}.promise-copy{margin-left:0}.section-title,.process,.contact-layout{grid-template-columns:1fr;gap:35px}.sector-list{grid-template-columns:repeat(2,1fr)}footer{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.brand img{width:38px;height:38px}.brand{font-size:16px}.hero{padding:46px 20px 58px;gap:38px}.hero h1{font-size:clamp(45px,14vw,62px)}.intro{font-size:17px;margin:27px 0}.actions{align-items:stretch;flex-direction:column;gap:18px}.button{width:100%;min-width:0}.simple-link{text-align:center}.hero-visual{aspect-ratio:1.18;border-radius:22px}.visual-top span{font-size:42px}.visual-orbit{width:72%}.promise,.sectors,.contact{margin-left:6px;margin-right:6px;border-radius:22px}.promise,.catalogue,.sectors,.process,.principles,.contact,footer{padding:64px 20px}.promise h2,.section-title h2,.process h2,.contact h2{font-size:clamp(39px,11.5vw,50px)}.promise-copy{grid-template-columns:1fr;gap:8px;margin-top:42px}.training-groups{grid-template-columns:1fr}.training-groups article,.training-groups article.featured{grid-column:auto;min-height:0;padding:24px;border-radius:18px}.training-groups ul{columns:1}.training-groups h3{font-size:24px}.sector-list{grid-template-columns:1fr}.sector-list span{min-height:78px;padding:21px}.principle-grid{grid-template-columns:1fr}.principle-grid h3{margin-top:35px}.contact-email{font-size:15px}footer{grid-template-columns:1fr;gap:32px}dialog form{padding:32px 22px}}

.contact-choices{display:grid;gap:12px}.choice{width:100%;border:1px solid #3a3a3a;background:#111;color:#fff;border-radius:18px;padding:20px;text-align:left;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:20px}.choice span{color:#929292;font-size:14px}.choice b{font:600 16px Manrope}.choice:hover{background:#1a1a1a}.request-form{padding:38px;position:relative;max-height:min(88vh,860px);overflow:auto}.form-kicker{text-transform:uppercase;letter-spacing:.15em;font-size:12px;font-weight:700;margin:0 0 10px}.form-intro{color:#666;margin:-15px 0 24px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-grid label{margin:0}.form-grid .wide{grid-column:1/-1}.request-form input,.request-form textarea{border-radius:10px;background:#f7f7f7;border:1px solid #d8d8d8;outline:none}.request-form input:focus,.request-form textarea:focus{border-color:#111;background:#fff}.form-submit{width:100%;border:0;background:#050505;color:#fff;border-radius:999px;padding:16px 20px;margin-top:22px;font-weight:600;cursor:pointer}.form-submit:hover{background:#222}
@media(max-width:600px){.choice{align-items:flex-start;flex-direction:column;gap:6px}.request-form{padding:28px 18px}.request-form h2{font-size:34px}.form-grid{grid-template-columns:1fr}.form-grid .wide{grid-column:auto}.request-form textarea{height:100px}}

.activity,.faq{max-width:var(--max);margin:auto;padding:116px 34px}.activity-heading{display:grid;grid-template-columns:1.2fr .65fr;column-gap:80px;align-items:end}.activity-heading .overline{grid-column:1/-1}.activity-heading h2,.managed h2,.faq h2{font:600 clamp(42px,5vw,72px)/1 Manrope;letter-spacing:-.065em;margin:0}.activity-heading>p:last-child{color:#666;font-size:18px;margin:0}.activity-flow{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:60px}.activity-flow article{background:var(--soft);border-radius:22px;padding:28px;min-height:310px;display:flex;flex-direction:column}.activity-flow .activity-core{background:var(--black);color:#fff}.activity-flow article>span{font-size:12px;color:#999}.activity-flow article>p{text-transform:uppercase;letter-spacing:.12em;font-size:12px;font-weight:700;margin:48px 0 8px}.activity-flow h3{font:600 27px/1.18 Manrope;letter-spacing:-.04em;margin:0 0 auto}.activity-flow small{font-size:15px;color:#686868;margin-top:35px}.activity-flow .activity-core small{color:#aaa}.managed{display:grid;grid-template-columns:.85fr 1.15fr;gap:90px;margin-top:100px;padding-top:60px;border-top:1px solid #111}.managed h2{font-size:clamp(38px,4.2vw,58px)}.managed ul{list-style:none;padding:0;margin:0}.managed li{display:grid;grid-template-columns:150px 1fr;gap:20px;padding:18px 0;border-top:1px solid var(--line)}.managed li:last-child{border-bottom:1px solid var(--line)}.managed li b{font:600 18px Manrope}.managed li span{color:#666}.faq{display:grid;grid-template-columns:.8fr 1.2fr;gap:100px;padding-top:70px}.faq h2{font-size:clamp(38px,4.4vw,62px)}.faq-list{border-top:1px solid #111}.faq details{border-bottom:1px solid var(--line);padding:23px 0}.faq summary{cursor:pointer;font:600 19px Manrope;list-style:none;padding-right:40px;position:relative}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:"+";position:absolute;right:4px;top:-2px;font-size:25px;font-weight:400}.faq details[open] summary:after{content:"−"}.faq details p{color:#666;max-width:720px;margin:16px 40px 0 0}
@media(max-width:980px){.activity-heading,.managed,.faq{grid-template-columns:1fr;gap:35px}.activity-flow{grid-template-columns:1fr}.activity-flow article{min-height:230px}.managed{margin-top:70px}.faq{padding-top:40px}}
@media(max-width:600px){.activity,.faq{padding:64px 20px}.activity-heading h2,.managed h2,.faq h2{font-size:clamp(38px,11vw,48px)}.activity-flow{margin-top:40px}.activity-flow article{min-height:0;padding:24px}.activity-flow article>p{margin-top:30px}.managed{margin-top:60px;padding-top:45px}.managed li{grid-template-columns:1fr;gap:4px}}

.site-header nav .nav-contact{background:transparent;color:inherit;padding:10px 15px;border:1px solid var(--line)}.site-header nav a[data-section]{padding:10px 15px;border-radius:999px;transition:background .25s,color .25s,transform .2s}.site-header nav a[data-section].active{background:var(--black);color:#fff;border-color:var(--black)}.site-header nav a[data-section].active:after{display:none}
@media(max-width:980px){.site-header nav a[data-section]{padding:13px 16px}.site-header nav .nav-contact{margin-top:0;text-align:left}.site-header nav a[data-section].active{transform:translateX(4px)}}

/* Tablet and phone use purpose-built compositions instead of a stacked desktop layout. */
@media (min-width:601px) and (max-width:980px){.site-header{padding:0 30px}.site-header nav{left:auto;right:22px;width:min(390px,calc(100vw - 44px));padding:18px}.hero{padding:58px 30px 76px;gap:44px}.hero-content{max-width:780px}.hero h1{font-size:clamp(58px,9.5vw,82px);max-width:850px}.intro{max-width:660px}.training-carousel{max-width:none!important;aspect-ratio:auto!important;min-height:360px}.promise,.catalogue,.sectors,.process,.principles,.contact{padding:84px 30px}.promise-copy{gap:34px;margin-top:50px}.training-groups article{min-height:300px}.sector-list{grid-template-columns:repeat(2,1fr)}.contact-layout{max-width:760px}footer{padding:55px 30px}}
@media (max-width:600px){.site-header{height:68px;padding:0 16px}.brand{gap:7px;white-space:nowrap}.brand b{display:none}.menu{min-height:42px;padding:10px 16px;font-weight:600}.site-header nav{top:68px;left:8px;right:8px;padding:10px;border-radius:16px;max-height:calc(100dvh - 82px);overflow:auto}.site-header nav a,.site-header nav a[data-section]{padding:12px 14px;min-height:46px;display:flex;align-items:center}.site-header nav a[data-section].active{transform:none}.hero{padding:34px 18px 52px;gap:30px}.overline{font-size:11px;margin-bottom:18px}.hero h1{font-size:clamp(42px,12.8vw,56px);line-height:.98;letter-spacing:-.065em}.intro{font-size:16px;line-height:1.55;margin:22px 0 25px}.actions{gap:13px}.button{min-height:52px;padding:14px 18px}.simple-link{min-height:44px;display:grid;place-items:center}.promise,.sectors,.contact{margin-left:0;margin-right:0;border-radius:0}.promise,.catalogue,.sectors,.process,.principles,.contact{padding:58px 18px}.promise h2,.section-title h2,.process h2,.contact h2{font-size:clamp(36px,10.5vw,46px);line-height:1.02}.promise-copy{margin-top:32px;font-size:16px;gap:2px}.section-title{margin-bottom:34px;gap:18px}.section-title>p{font-size:15px}.training-groups{gap:12px}.training-groups article,.training-groups article.featured{padding:22px 20px}.training-groups header{grid-template-columns:32px 1fr}.training-groups ul{padding-top:22px}.training-groups li{padding:10px 0}.sector-list{border-radius:16px}.sector-list span{font-size:18px}.process{gap:30px}.process-intro>p:last-child{margin-top:22px}.process li{grid-template-columns:40px 1fr;padding:21px 0}.process h3{font-size:20px}.principles{padding-top:18px}.principle-grid{gap:12px}.principle-grid article{padding:23px 21px 27px}.principle-grid h3{margin-top:28px}.contact-layout{gap:28px}.contact-layout>div p{font-size:16px}footer{padding:42px 18px}dialog{width:100%;max-width:none;height:min(92dvh,760px);max-height:92dvh;margin:auto 0 0;border-radius:22px 22px 0 0}dialog form{height:100%;overflow:auto;padding:30px 18px calc(24px + env(safe-area-inset-bottom))}dialog h2{font-size:32px;padding-right:28px;margin-bottom:22px}dialog input,dialog textarea{min-height:48px;font-size:16px}dialog textarea{height:96px}.close{width:44px;height:44px;right:7px;top:5px}}
@media (max-width:390px){.hero h1{font-size:40px}.brand{font-size:15px}.promise h2,.section-title h2,.process h2,.contact h2{font-size:35px}}

/* Une même finition arrondie pour tous les champs de formulaire du site. */
dialog input,dialog textarea,dialog select,.request-form input,.request-form textarea,.request-form select{border-radius:12px}

.training-carousel{justify-self:end;width:min(440px,31vw);aspect-ratio:.86;background:#050505;color:#fff;border-radius:28px;padding:25px;display:flex;flex-direction:column;justify-content:space-between;box-shadow:0 28px 60px #0002;overflow:hidden}.carousel-top,.carousel-bottom{display:flex;align-items:center;justify-content:space-between}.carousel-top strong{font:600 52px Manrope;letter-spacing:-.08em}.carousel-top span,.carousel-count{color:#999;font-size:10px;letter-spacing:.08em}.carousel-stage{display:flex;flex-direction:column;justify-content:center;min-height:240px;border-top:1px solid #303030;border-bottom:1px solid #303030}.carousel-kicker{margin:0 0 15px;color:#888;font-size:11px;letter-spacing:.14em;text-transform:uppercase}.carousel-title{color:#fff;font:600 clamp(32px,3.2vw,48px)/1 Manrope;letter-spacing:-.06em;transition:opacity .18s,transform .18s}.carousel-title:hover{text-decoration:underline;text-underline-offset:7px}.carousel-controls{display:flex;gap:9px}.carousel-arrow{width:44px;height:44px;border:1px solid #444;border-radius:50%;background:#111;color:#fff;font-size:20px;cursor:pointer;transition:background .2s,color .2s}.carousel-arrow:hover{background:#fff;color:#050505}.carousel-title.is-changing{opacity:0;transform:translateY(8px)}@media(max-width:980px){.training-carousel{justify-self:stretch;width:100%;max-width:620px;aspect-ratio:1.45}.carousel-stage{min-height:180px}}@media(max-width:600px){.training-carousel{aspect-ratio:1.15;padding:22px;border-radius:22px}.carousel-top strong{font-size:42px}.carousel-stage{min-height:155px}.carousel-title{font-size:clamp(30px,10vw,42px)}}

.hero h1 span {
  color: inherit;
  font-weight: inherit;
}

.site-header {
  background: #050505;
  color: #fff;
  border-bottom-color: #2c2c2c;
}

.site-header .brand img {
  width: 50px;
  height: 50px;
  filter: invert(1);
}

.site-header .brand b {
  color: #bcbcbc;
}

.site-header nav a[data-section] {
  color: #fff;
}

.site-header nav a[data-section].active {
  background: #fff;
  color: #050505;
}

.site-header nav .nav-contact {
  color: #fff;
  border-color: #666;
}

.site-header .menu {
  background: #fff;
  color: #050505;
}

@media (max-width: 600px) {
  .site-header .brand img {
    width: 44px;
    height: 44px;
  }
}

.site-header,
.bar {
  background: #050505;
  color: #fff;
  border-bottom-color: #2c2c2c;
}

.site-header .brand img,
.bar .logo img {
  width: 50px;
  height: 50px;
  filter: invert(1);
}

.site-header .brand b {
  color: #bcbcbc;
}

.site-header nav a,
.bar nav a {
  color: #fff;
}

.site-header nav a[data-section].active,
.bar nav a[aria-current="page"] {
  background: #fff;
  color: #050505;
  border-radius: 999px;
}

.site-header nav .nav-contact,
.bar nav .cta {
  background: transparent;
  color: #fff;
  border-color: #666;
}

.site-header nav .nav-contact.active {
  background: #fff;
  color: #050505;
  border-color: #fff;
}

.site-header .menu {
  background: #fff;
  color: #050505;
}

@media (max-width: 980px) {
  .site-header nav,
  .site-header nav.open {
    background: #050505;
    color: #fff;
    border-color: #333;
  }

  .site-header nav a[data-section] {
    color: #fff;
  }

  .site-header nav a[data-section].active {
    background: #fff;
    color: #050505;
  }
}

@media (max-width: 600px) {
  .site-header .brand img,
  .bar .logo img {
    width: 44px;
    height: 44px;
  }
}

/* Shared responsive refinements for tablet and phone. */
@media (min-width:601px) and (max-width:980px){
  .site-header{padding-left:30px;padding-right:30px}
  .site-header nav{left:auto;right:22px;width:min(390px,calc(100vw - 44px));padding:18px}
  .site-header~main .hero{padding-left:30px;padding-right:30px;gap:44px}
  .site-header~main .hero-content{max-width:780px}
  .site-header~main .hero h1{font-size:clamp(58px,9.5vw,82px);max-width:850px}
  .site-header~main .training-carousel{max-width:none;aspect-ratio:auto;min-height:360px;padding:28px}
  .site-header~main .carousel-stage{min-height:200px}
  .site-header~main .carousel-title{font-size:clamp(40px,7vw,58px)}
  .promise,.catalogue,.sectors,.process,.principles,.contact{padding-left:30px;padding-right:30px}
  .promise-copy{gap:34px;margin-top:50px}
  footer{padding-left:30px;padding-right:30px}
}

@media (max-width:600px){
  .site-header{height:68px;padding:0 16px}
  .brand{gap:7px;white-space:nowrap;font-size:15px}
  .brand b{display:none}
  .menu{min-height:42px;padding:10px 16px;font-weight:600}
  .site-header nav{top:68px;left:8px;right:8px;padding:10px;border-radius:16px;max-height:calc(100dvh - 82px);overflow:auto}
  .site-header nav a,.site-header nav a[data-section]{padding:12px 14px;min-height:46px;display:flex;align-items:center}
  .site-header nav a[data-section].active{transform:none}
  .site-header~main .hero{padding:34px 18px 52px;gap:30px}
  .overline{font-size:11px;margin-bottom:18px}
  .site-header~main .hero h1{font-size:clamp(40px,12.5vw,54px);line-height:.98;letter-spacing:-.065em}
  .intro{font-size:16px;line-height:1.55;margin:22px 0 25px}
  .actions{gap:13px}
  .button{min-height:52px;padding:14px 18px}
  .simple-link{min-height:44px;display:grid;place-items:center}
  .site-header~main .training-carousel{width:100%;min-height:310px;aspect-ratio:auto;padding:20px;border-radius:18px}
  .carousel-top strong{font-size:38px}
  .carousel-stage{min-height:150px}
  .carousel-title{font-size:clamp(30px,9vw,38px);line-height:1.04}
  .carousel-arrow{width:48px;height:48px}
  .promise,.sectors,.contact{margin-left:0;margin-right:0;border-radius:0}
  .promise,.catalogue,.sectors,.process,.principles,.contact{padding:58px 18px}
  .promise h2,.section-title h2,.process h2,.contact h2{font-size:clamp(35px,10.2vw,45px);line-height:1.02}
  .promise-copy{margin-top:32px;font-size:16px;gap:2px}
  .section-title{margin-bottom:34px;gap:18px}
  .section-title>p{font-size:15px}
  .training-groups{gap:12px}
  .training-groups article,.training-groups article.featured{padding:22px 20px}
  .training-groups header{grid-template-columns:32px 1fr}
  .training-groups ul{padding-top:22px}
  .training-groups li{padding:10px 0}
  .sector-list{border-radius:16px}
  .sector-list span{font-size:18px}
  .process{gap:30px}
  .process-intro>p:last-child{margin-top:22px}
  .process li{grid-template-columns:40px 1fr;padding:21px 0}
  .process h3{font-size:20px}
  .principles{padding-top:18px}
  .principle-grid{gap:12px}
  .principle-grid article{padding:23px 21px 27px}
  .principle-grid h3{margin-top:28px}
  .contact-layout{gap:28px}
  footer{padding:42px 18px}
  dialog{width:100%;max-width:none;height:min(92dvh,760px);max-height:92dvh;margin:auto 0 0;border-radius:22px 22px 0 0}
  dialog form{height:100%;overflow:auto;padding:30px 18px calc(24px + env(safe-area-inset-bottom))}
  dialog h2{font-size:31px;padding-right:30px;margin-bottom:22px}
  dialog input,dialog textarea{min-height:48px;font-size:16px}
  dialog textarea{height:96px}
  .close{width:44px;height:44px;right:6px;top:5px}
}

/* Catalogue and sector pages. */
@media (min-width:761px) and (max-width:1020px){
  body:not(.training-detail) .bar{padding-left:28px;padding-right:28px}
  body:not(.training-detail) .mast{margin:20px 24px 65px;padding:54px 34px;grid-template-columns:1fr .72fr;gap:38px}
  body:not(.training-detail) .page,body:not(.training-detail) .crumb{padding-left:28px;padding-right:28px}
}
@media (max-width:760px){
  .bar{padding-left:16px;padding-right:16px}
  .bar .logo{font-size:15px;gap:7px;white-space:nowrap}
  .bar nav .cta{min-height:44px;display:flex;align-items:center}
  .crumb{padding:16px 18px 0}
  .mast{margin:10px 8px 48px;padding:38px 18px}
  .mast h1{font-size:clamp(39px,11.8vw,52px);line-height:1}
  .mast .lead{font-size:16px}
  .mast aside{padding:23px;border-radius:17px}
  .page{padding-left:18px;padding-right:18px}
  .grid{gap:12px}
  .card{padding:23px 20px;border-radius:17px}
  .card h2,.card h3{font-size:23px;margin-top:18px}
  .article{gap:18px}
  .article nav{overflow-x:auto;flex-direction:row;padding-bottom:8px;scrollbar-width:none}
  .article nav a{white-space:nowrap;padding:10px 13px;background:#f3f3f3;border-radius:999px}
}

/* Premium detail pages. */
@media (min-width:561px) and (max-width:900px){
  body.training-detail .bar{padding-left:28px;padding-right:28px}
  body.training-detail .crumb,body.training-detail .hero,body.training-detail .layout{padding-left:28px;padding-right:28px}
  body.training-detail .hero{padding-bottom:58px}
  body.training-detail .hero h1{font-size:clamp(58px,10vw,80px)}
  body.training-detail .summary{display:grid;grid-template-columns:.75fr 1.25fr;gap:28px;align-items:start}
  body.training-detail .summary-top{border-bottom:0;padding-bottom:0;display:block}
  body.training-detail .side-card{display:grid;grid-template-columns:1fr 1fr;gap:24px}
}
@media (max-width:560px){
  body.training-detail .hero,body.training-detail .layout{padding-left:18px;padding-right:18px}
  body.training-detail .hero{padding-top:28px;gap:26px;padding-bottom:48px}
  body.training-detail .hero h1{font-size:clamp(39px,11.7vw,50px);line-height:.96;margin:14px 0 22px}
  body.training-detail .hero-lead{font-size:16px;line-height:1.55}
  body.training-detail .summary{padding:22px 20px;border-radius:18px}
  body.training-detail .summary .cta{min-height:50px;display:grid;place-items:center}
  body.training-detail .layout{gap:34px;padding-bottom:65px}
  body.training-detail .side-card{padding:22px 20px;border-radius:18px}
  body.training-detail .content section{padding:38px 0}
  body.training-detail .content h2{font-size:clamp(33px,9.8vw,43px);margin:11px 0 21px}
  body.training-detail .outcomes{gap:10px;margin-top:25px}
  body.training-detail .outcome{padding:22px 20px;border-radius:17px}
  body.training-detail .bottom-cta{margin-top:42px;padding:26px 20px;border-radius:18px}
  body.training-detail .bottom-cta a,body.training-detail .bottom-cta button{width:100%;min-height:50px}
}

.editorial-image{position:relative;max-width:calc(1440px - 36px);height:min(68vw,720px);min-height:460px;margin:0 auto 18px;overflow:hidden;border-radius:28px;background:#0a0a0a}.editorial-image img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 48%;filter:contrast(1.04)}.editorial-image:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(0,0,0,.72))}.editorial-image figcaption{position:absolute;z-index:1;left:38px;right:38px;bottom:34px;display:flex;align-items:flex-end;justify-content:space-between;gap:30px;color:#fff}.editorial-image figcaption span{text-transform:uppercase;letter-spacing:.16em;font-size:12px;font-weight:700}.editorial-image figcaption strong{max-width:650px;text-align:right;font:600 clamp(30px,4vw,58px)/1 Manrope;letter-spacing:-.055em}
@media(max-width:980px){.editorial-image{height:64vw;min-height:420px;margin-left:10px;margin-right:10px;border-radius:24px}.editorial-image figcaption{left:28px;right:28px;bottom:27px}}
@media(max-width:600px){.editorial-image{height:118vw;min-height:430px;max-height:590px;margin:0;border-radius:0}.editorial-image img{object-position:45% center}.editorial-image:after{background:linear-gradient(180deg,transparent 42%,rgba(0,0,0,.82))}.editorial-image figcaption{left:18px;right:18px;bottom:22px;display:block}.editorial-image figcaption strong{display:block;margin-top:10px;text-align:left;font-size:clamp(31px,9.5vw,42px)}}

/* OGF Academy — finition visuelle sobre. Aucune règle de forme ou de mise en page. */
:root{--polish-black:#050505;--polish-charcoal:#1d1f22;--polish-navy:#14263b;--polish-light:#f2f3f4}

/* Signature visuelle de l'accueil, derrière et à gauche de la bulle noire. */
body>.site-header+main .hero{position:relative;isolation:isolate;overflow:hidden}
body>.site-header+main .hero:after{content:none}
body>.site-header+main .hero>*{position:relative;z-index:1}
.training-carousel{position:relative;z-index:2}

/* Blocs sombres existants : profondeur noir, anthracite, pointe marine. */
.training-carousel,
.promise,
.activity-flow .activity-core,
.sectors,
.contact,
.mast aside,
.contact-box,
.training-groups article.featured,
.training-detail .summary,
.metric.featured,
.quality-proof{
  background-color:var(--polish-black)!important;
  background-image:linear-gradient(135deg,#050505 0%,#111315 45%,#20252b 72%,#182f49 100%)!important;
  color:#fff!important;
}

/* Finition application premium — priorité finale sur les anciennes règles mobiles. */
@media(max-width:600px){
  body{padding-bottom:94px!important}
  body .site-header,
  body .bar{
    position:relative!important;
    top:auto!important;
    transform:none!important;
    will-change:auto!important;
    backdrop-filter:none!important;
  }
  body .mobile-dock,
  body.home-page .mobile-dock{
    position:fixed!important;
    z-index:100!important;
    left:8px!important;
    right:8px!important;
    bottom:max(8px,env(safe-area-inset-bottom))!important;
    width:auto!important;
    max-width:520px!important;
    height:72px!important;
    display:grid!important;
    grid-template-columns:repeat(5,minmax(0,1fr))!important;
    grid-template-rows:1fr!important;
    gap:2px!important;
    padding:6px!important;
    margin:0!important;
    overflow:hidden!important;
    transform:none!important;
    background:rgba(8,8,8,.94)!important;
    border:1px solid rgba(207,182,132,.35)!important;
    border-radius:21px!important;
    box-shadow:0 14px 38px rgba(0,0,0,.34)!important;
    backdrop-filter:blur(20px) saturate(140%)!important;
  }
  body .mobile-dock a,
  body.home-page .mobile-dock a{
    min-width:0!important;
    width:auto!important;
    min-height:0!important;
    height:60px!important;
    padding:7px 2px 6px!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:center!important;
    gap:4px!important;
    border-radius:16px!important;
    color:#aaa6a0!important;
    font:600 9px/1 Manrope!important;
    white-space:nowrap!important;
    text-decoration:none!important;
  }
  body .mobile-dock a svg{
    width:21px;
    height:21px;
    flex:none;
    fill:none;
    stroke:currentColor;
    stroke-width:1.8;
    stroke-linecap:round;
    stroke-linejoin:round;
  }
  body .mobile-dock a span{font:inherit!important}
  body .mobile-dock a.active{
    color:#050505!important;
    background:#fff!important;
    box-shadow:inset 0 -2px #cfb684!important;
  }
  body .mobile-dock a:active{color:#050505!important;background:#fff!important}
}

/* Contraste explicite à l'intérieur de chaque bloc sombre. */
.training-carousel :is(a,button,strong),
.promise :is(h1,h2,h3,p),
.activity-flow .activity-core :is(h1,h2,h3,p),
.sectors :is(h1,h2,h3,p,span),
.contact :is(h1,h2,h3,p,small),
.mast aside :is(b,h1,h2,h3,p),
.contact-box :is(h1,h2,h3,p),
.training-groups article.featured :is(h1,h2,h3,p,li),
.training-detail .summary :is(h1,h2,h3,dd,a),
.metric.featured :is(h1,h2,h3,p),
.quality-proof :is(h1,h2,h3,p){color:#fff!important}

.promise .overline,.sectors .overline,.contact .overline,
.activity-flow .activity-core small,.activity-flow .activity-core span,
.mast aside p,.contact-box p,.training-detail .summary dt,
.training-detail .summary-top,.metric.featured .metric-state,
.metric.featured>p:last-child,.training-groups article.featured li{color:#b9bdc2!important}

/* Blocs clairs existants : relief très discret, sans modifier leur géométrie. */
.activity-flow article:not(.activity-core),
.training-groups article:not(.featured),
.principle-grid article,
.page>.grid .card,
.training-detail .outcome,
.training-detail .side-card,
.training-detail .bottom-cta,
.metric:not(.featured),
.method{
  background-color:#f5f5f5;
  background-image:linear-gradient(145deg,#fff 0%,#f5f6f7 48%,#e3e6e9 100%);
  color:#111!important;
}

.activity-flow article:not(.activity-core) :is(h1,h2,h3,p,small),
.training-groups article:not(.featured) :is(h1,h2,h3,p,li),
.principle-grid article :is(h1,h2,h3,p),
.page>.grid .card :is(h1,h2,h3,p),
.training-detail .outcome :is(h1,h2,h3,p),
.training-detail .side-card :is(h1,h2,h3,p,li),
.training-detail .bottom-cta :is(h1,h2,h3,p),
.metric:not(.featured) :is(h1,h2,h3,p),
.method :is(h1,h2,h3,p){color:#111!important}

/* Dégradés de fond limités aux grandes zones déjà claires. */
.mast,.results-hero{background-image:linear-gradient(135deg,#f1f1f1 0%,#f8f8f8 58%,#dde2e6 100%)}
.catalogue,.process,.principles{background-image:linear-gradient(180deg,#fff 0%,#f0f2f3 100%)}

/* Profondeur légère, sans toucher aux rayons ni aux dimensions. */
.training-carousel,.mast aside,.contact-box,.training-detail .summary{box-shadow:0 26px 60px rgba(5,5,5,.2)}
.activity-flow article,.training-groups article,.principle-grid article,.page>.grid .card,.training-detail .outcome,.metric{box-shadow:0 12px 30px rgba(5,5,5,.09)}

/* Alternance visible des cartes, sans modifier leur forme. */
.activity-flow article:not(.activity-core):nth-child(odd),
.training-groups article:not(.featured):nth-of-type(even),
.principle-grid article:nth-child(even),
.page>.grid .card:nth-child(even),
.training-detail .outcome:nth-child(even),
.metric:not(.featured):nth-child(even){background-image:linear-gradient(145deg,#f5f6f7 0%,#e1e5e8 100%)}

/* Petits accents bleu-gris sur les repères, dans la charte. */
.overline,.tag,.section-label{color:#334a63}
.promise .overline,.sectors .overline,.contact .overline{color:#c7d1db!important}

/* Les boutons blancs des zones sombres restent parfaitement lisibles. */
.contact .choice,.training-detail .summary .cta,.quality-proof .results-cta{background:#fff!important;color:#050505!important}
.contact .choice :is(span,b){color:#050505!important}
.contact .contact-email{color:#fff!important}

/* Suivi qualité intégré au défilement de l'accueil. */
.quality-home{max-width:1440px;margin:auto;padding:110px 34px;background:linear-gradient(135deg,#050505 0%,#171a1e 66%,#183550 100%);color:#fff}
.quality-home-heading{display:grid;grid-template-columns:1.15fr .7fr;gap:90px;align-items:end}
.quality-home h2{font:600 clamp(42px,5vw,72px)/1 Manrope;letter-spacing:-.065em;margin:0}
.quality-home-heading>div:last-child>p{color:#c5cbd1;font-size:18px;margin:0 0 24px}
.quality-home .overline{color:#c7d1db!important}.quality-home .simple-link{color:#fff;border-bottom-color:#fff}
.quality-home-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:58px}
.quality-home-grid article{min-height:285px;padding:28px;border:1px solid #ffffff26;border-radius:22px;background:linear-gradient(145deg,#ffffff0e,#ffffff04);display:flex;flex-direction:column}
.quality-home-grid article:nth-child(2){background:#fff;color:#111}
.quality-home-grid article>span{font-size:12px;color:#9ca8b4}.quality-home-grid article:nth-child(2)>span{color:#68727c}
.quality-home-grid h3{font:600 25px/1.15 Manrope;margin:auto 0 12px;letter-spacing:-.035em}
.quality-home-grid p{margin:0;color:#bcc4cc}.quality-home-grid article:nth-child(2) p{color:#555}

/* Bureau : mêmes cartes bleu-gris cohérentes que sur téléphone. */
@media(min-width:601px){
  .contact .choice{
    background:linear-gradient(145deg,#26394d 0%,#354b61 100%)!important;
    border-color:#50657a!important;
    color:#fff!important;
  }
  .contact .choice :is(span,b){color:#fff!important}
  .contact .choice span{color:#d4dce4!important}
  .contact .choice:hover{background:linear-gradient(145deg,#30465b 0%,#40576d 100%)!important}

  .quality-home-grid article:nth-child(2){
    background:linear-gradient(145deg,#34495e 0%,#40576d 100%);
    border-color:#60758a;
    color:#f7f8fa;
  }
  .quality-home-grid article:nth-child(2)>span,
  .quality-home-grid article:nth-child(2) p{color:#d9e0e7!important}
}

@media(max-width:980px){body>.site-header+main .hero:after{right:28px;top:55%;font-size:clamp(135px,24vw,190px)}.quality-home-heading{grid-template-columns:1fr;gap:30px}.quality-home-grid{grid-template-columns:1fr}.quality-home-grid article{min-height:220px}}
@media(max-width:600px){body>.site-header+main .hero:after{right:18px;top:55%;font-size:118px}.quality-home{padding:64px 20px}.quality-home h2{font-size:clamp(38px,11vw,48px)}.quality-home-grid{margin-top:38px}.quality-home-grid article{min-height:190px;padding:23px}.training-carousel,.mast aside,.contact-box,.training-detail .summary{box-shadow:0 14px 34px rgba(5,5,5,.14)}}

/* Composition dédiée aux téléphones — page d'accueil uniquement. */
@media(max-width:600px){
  .home-page{font-size:15px}
  .home-page .site-header{padding:0 14px;height:64px}
  .home-page .brand img{width:36px;height:36px}
  .home-page .menu{min-width:78px;min-height:44px}
  .home-page .site-header nav{position:fixed;top:70px;left:10px;right:10px;width:auto;padding:8px;border-radius:18px;box-shadow:0 20px 55px #0003}
  .home-page .site-header nav a,.home-page .site-header nav a[data-section]{min-height:48px;padding:12px 14px;border-radius:12px}
  .home-page .hero{padding:28px 16px 44px;gap:28px}
  .home-page .hero h1{font-size:clamp(38px,11.6vw,49px);line-height:.99;letter-spacing:-.06em}
  .home-page .hero .overline{max-width:270px;line-height:1.45;margin-bottom:14px}
  .home-page .intro{font-size:15.5px;line-height:1.55;margin:20px 0 22px}
  .home-page .actions{gap:10px}
  .home-page .button{min-height:54px;padding:14px 18px}
  .home-page .simple-link{min-height:46px}
  .home-page .hero:after{right:8px;top:56%;font-size:104px;opacity:.8}
  .home-page .training-carousel{min-height:270px;padding:18px;border-radius:20px}
  .home-page .carousel-top strong{font-size:35px}
  .home-page .carousel-stage{min-height:126px}
  .home-page .carousel-title{font-size:clamp(29px,8.8vw,36px)}
  .home-page .carousel-arrow{width:46px;height:46px}
  .home-page .promise,.home-page .sectors,.home-page .contact,.home-page .quality-home{margin-left:8px;margin-right:8px;border-radius:20px;padding:54px 18px}
  .home-page .activity,.home-page .catalogue,.home-page .process,.home-page .principles,.home-page .faq{padding:56px 16px}
  .home-page .promise h2,.home-page .section-title h2,.home-page .process h2,.home-page .contact h2,.home-page .activity-heading h2,.home-page .managed h2,.home-page .faq h2,.home-page .quality-home h2{font-size:clamp(33px,9.8vw,41px);line-height:1.03}
  .home-page .promise-copy{margin-top:28px;gap:4px;font-size:15px}
  .home-page .activity-heading>p:last-child{font-size:16px}
  .home-page .activity-flow{margin-top:32px;gap:10px}
  .home-page .activity-flow article{padding:21px;min-height:190px}
  .home-page .activity-flow article>p{margin-top:24px}
  .home-page .managed{margin-top:48px;padding-top:38px;gap:24px}
  .home-page .managed li{padding:15px 0}
  .home-page .editorial-image{margin-left:8px;margin-right:8px;border-radius:20px;overflow:hidden}
  .home-page .catalogue .section-title{margin-bottom:28px}
  .home-page .training-groups{gap:10px}
  .home-page .training-groups article,.home-page .training-groups article.featured{padding:20px 18px;border-radius:18px}
  .home-page .training-groups h3{font-size:22px}
  .home-page .training-groups li{font-size:14px;padding:9px 0}
  .home-page .complementary-heading{margin-top:38px;padding-top:32px}
  .home-page .sector-list{grid-template-columns:repeat(2,1fr);border-radius:16px}
  .home-page .sector-list span{min-height:82px;padding:16px 14px;font-size:16px;line-height:1.2}
  .home-page .process{gap:24px}
  .home-page .process-intro>p:last-child{margin-top:18px}
  .home-page .process li{grid-template-columns:34px 1fr;padding:18px 0}
  .home-page .process h3{font-size:19px}
  .home-page .principles{padding-top:16px}
  .home-page .principle-grid article{padding:21px 19px 24px}
  .home-page .principle-grid h3{margin-top:24px}
  .home-page .quality-home-heading{gap:24px}
  .home-page .quality-home-heading>div:last-child>p{font-size:15px;margin-bottom:18px}
  .home-page .quality-home-grid{gap:10px;margin-top:30px}
  .home-page .quality-home-grid article{min-height:165px;padding:20px}
  .home-page .quality-home-grid h3{font-size:22px}
  .home-page .faq{gap:28px}
  .home-page .faq details{padding:19px 0}
  .home-page .faq summary{font-size:17px;line-height:1.35}
  .home-page .contact-layout{gap:24px}
  .home-page .choice{padding:17px;min-height:86px}
  .home-page footer{padding:38px 18px;gap:25px}
}

/* Échelle typographique mobile plus proche d'un site que d'une affiche. */
@media(max-width:600px){
  .home-page .hero{padding-top:24px;padding-bottom:38px}
  .home-page .hero h1{font-size:clamp(33px,9.7vw,41px);line-height:1.02;letter-spacing:-.052em}
  .home-page .hero .overline,.home-page .overline{font-size:10px;letter-spacing:.14em}
  .home-page .intro{font-size:14.5px;line-height:1.58;margin:17px 0 20px}
  .home-page .promise,.home-page .sectors,.home-page .contact,.home-page .quality-home{padding-top:46px;padding-bottom:46px}
  .home-page .activity,.home-page .catalogue,.home-page .process,.home-page .principles,.home-page .faq{padding-top:48px;padding-bottom:48px}
  .home-page .promise h2,.home-page .section-title h2,.home-page .process h2,.home-page .contact h2,.home-page .activity-heading h2,.home-page .managed h2,.home-page .faq h2,.home-page .quality-home h2{font-size:clamp(28px,8.3vw,35px);line-height:1.08;letter-spacing:-.05em}
  .home-page .section-title{gap:13px;margin-bottom:25px}
  .home-page .section-title>p,.home-page .activity-heading>p:last-child,.home-page .process-intro>p:last-child,.home-page .quality-home-heading>div:last-child>p,.home-page .contact-layout>div p{font-size:14px;line-height:1.55}
  .home-page .promise-copy{font-size:14px;line-height:1.55;margin-top:23px}
  .home-page .activity-flow{margin-top:27px}
  .home-page .activity-flow article{min-height:165px;padding:18px}
  .home-page .activity-flow article>p{font-size:10px;margin-top:19px}
  .home-page .activity-flow h3{font-size:21px;line-height:1.2}
  .home-page .activity-flow small{font-size:13px;margin-top:22px}
  .home-page .managed{margin-top:40px;padding-top:31px}
  .home-page .managed h2{font-size:27px}
  .home-page .managed li{padding:13px 0}.home-page .managed li b{font-size:16px}.home-page .managed li span{font-size:13px}
  .home-page .training-groups article,.home-page .training-groups article.featured{padding:18px 16px}
  .home-page .training-groups h3{font-size:20px;line-height:1.2}
  .home-page .training-groups header p{font-size:10px}
  .home-page .training-groups li{font-size:13px;padding:8px 0}
  .home-page .catalogue-note{font-size:13px;line-height:1.5;margin-top:22px}
  .home-page .sector-list span{min-height:72px;font-size:14px;padding:13px}
  .home-page .process{gap:20px}.home-page .process li{padding:15px 0}.home-page .process h3{font-size:17px}.home-page .process li p{font-size:13px}
  .home-page .principle-grid article{padding:18px 17px 21px}.home-page .principle-grid h3{font-size:19px;margin-top:20px}.home-page .principle-grid p{font-size:13px}
  .home-page .quality-home-grid article{min-height:145px;padding:18px}.home-page .quality-home-grid h3{font-size:19px}.home-page .quality-home-grid p{font-size:13px}
  .home-page .faq summary{font-size:16px}.home-page .faq details p{font-size:13px;line-height:1.55}
  .home-page .contact h2{font-size:34px}.home-page .choice{min-height:78px;padding:15px}.home-page .choice b{font-size:14px}.home-page .choice span{font-size:12px}
}

/* Expérience mobile de type application. */
.mobile-dock{display:none}
@media(max-width:600px){
  .home-page{padding-bottom:82px}
  .home-page .mobile-dock{position:fixed;z-index:60;left:10px;right:10px;bottom:10px;display:grid;grid-template-columns:repeat(4,1fr);padding:7px;background:rgba(5,5,5,.94);border:1px solid #ffffff24;border-radius:20px;box-shadow:0 16px 45px #0006;backdrop-filter:blur(18px)}
  .home-page .mobile-dock a{min-height:52px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;border-radius:14px;color:#c7cbd0;font:600 10px/1.1 Manrope;text-decoration:none}
  .home-page .mobile-dock a:active{background:#fff;color:#050505}
  .home-page .mobile-dock span{font:500 19px/1 Manrope}
  .home-page .site-header{position:sticky;top:0}
  .home-page .hero{min-height:auto;padding-bottom:30px}
  .home-page .hero h1{max-width:345px}
  .home-page .actions{display:grid;grid-template-columns:1fr .72fr;align-items:stretch}
  .home-page .button{min-width:0;font-size:13px;gap:8px}
  .home-page .simple-link{font-size:13px}
  .home-page .training-carousel{min-height:232px;border-radius:22px;padding:17px 18px}
  .home-page .carousel-stage{min-height:104px}.home-page .carousel-top strong{font-size:31px}.home-page .carousel-title{font-size:29px}
  .home-page .carousel-arrow{width:42px;height:42px}
  .home-page .promise{padding-top:40px;padding-bottom:40px}
  .home-page .promise-copy p:first-child{margin-bottom:6px}
  .home-page .activity-flow,.home-page .training-groups,.home-page .principle-grid,.home-page .quality-home-grid{display:flex;gap:12px;overflow-x:auto;overscroll-behavior-inline:contain;scroll-snap-type:x mandatory;scroll-padding-left:2px;padding:2px 2px 14px;margin-right:-16px;scrollbar-width:none}
  .home-page .activity-flow::-webkit-scrollbar,.home-page .training-groups::-webkit-scrollbar,.home-page .principle-grid::-webkit-scrollbar,.home-page .quality-home-grid::-webkit-scrollbar{display:none}
  .home-page .activity-flow article,.home-page .training-groups article,.home-page .training-groups article.featured,.home-page .principle-grid article,.home-page .quality-home-grid article{flex:0 0 82vw;max-width:330px;scroll-snap-align:start}
  .home-page .activity-flow article{min-height:205px}
  .home-page .training-groups article,.home-page .training-groups article.featured{min-height:300px}
  .home-page .training-groups .complementary-heading{flex:0 0 76vw;max-width:300px;scroll-snap-align:start;margin:0;padding:24px 20px;border:1px solid #d7dadd;border-radius:18px;background:#fff}
  .home-page .training-groups .complementary-heading h3{font-size:23px;margin-bottom:12px}
  .home-page .principle-grid article{min-height:180px}.home-page .quality-home-grid article{min-height:180px}
  .home-page .activity-flow:after,.home-page .training-groups:after,.home-page .principle-grid:after,.home-page .quality-home-grid:after{content:"";flex:0 0 7px}
  .home-page .catalogue .section-title:after,.home-page .principles .section-title:after,.home-page .activity-heading:after,.home-page .quality-home-heading:after{content:"Glissez les cartes →";display:block;margin-top:4px;color:#6d747b;font:600 10px Manrope;letter-spacing:.06em;text-transform:uppercase}
  .home-page .quality-home-heading:after{color:#aeb7c0}
  .home-page .managed{display:block}.home-page .managed>div{margin-bottom:24px}
  .home-page .managed ul{border:1px solid #d7dadd;border-radius:18px;overflow:hidden;background:#fff}
  .home-page .managed li{padding:14px 15px;border-top:1px solid #e1e3e5}.home-page .managed li:first-child{border-top:0}
  .home-page .editorial-image{aspect-ratio:1.1}.home-page .editorial-image img{height:100%;object-fit:cover}
  .home-page .process ol{border:1px solid #d7dadd;border-radius:18px;overflow:hidden;background:#fff}
  .home-page .process li{padding:16px 14px;border-top:1px solid #e1e3e5}.home-page .process li:first-child{border-top:0}.home-page .process li:last-child{border-bottom:0}
  .home-page .quality-home-grid{margin-right:-18px}
  .home-page .faq-list{border-top:0}.home-page .faq details{padding:17px 15px;border:1px solid #dadddf;border-bottom:0;background:#fff}.home-page .faq details:first-child{border-radius:18px 18px 0 0}.home-page .faq details:last-child{border-bottom:1px solid #dadddf;border-radius:0 0 18px 18px}
  .home-page .contact-choices{gap:9px}.home-page .choice{min-height:72px}
  .home-page footer{padding-bottom:26px}
}

/* Navigation mobile persistante, commune à toutes les pages. */
@media(max-width:600px){
  body{padding-bottom:88px}
  body .mobile-dock{
    position:fixed;
    z-index:80;
    left:8px;
    right:8px;
    bottom:max(8px,env(safe-area-inset-bottom));
    display:grid;
    grid-template-columns:repeat(5,1fr);
    gap:3px;
    padding:7px;
    background:rgba(5,5,5,.94);
    border:1px solid #ffffff24;
    border-radius:20px;
    box-shadow:0 16px 45px #0006;
    backdrop-filter:blur(18px);
  }
  body .mobile-dock a{
    min-width:0;
    min-height:54px;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:3px;
    border-radius:14px;
    color:#aaa6a0;
    font:600 9px/1.1 Manrope;
    text-align:center;
    text-decoration:none;
  }
  body .mobile-dock a span{font:500 18px/1 Manrope}
  body .mobile-dock a.active,
  body .mobile-dock a:active{background:#fff;color:#050505}
  body .foot,body footer{padding-bottom:28px}
}

/* Palette mobile cohérente : les sous-cartes restent dans la famille de leur section. */
@media(max-width:600px){
  /* Zones bleu marine : nuances bleu-gris, jamais de pavé blanc pur ou noir compact. */
  .home-page .sectors .sector-list{
    background:#526274;
    border-color:#526274;
  }
  .home-page .sectors .sector-list span{
    background:linear-gradient(145deg,#26394d 0%,#344a60 100%);
    color:#f4f6f8!important;
  }
  .home-page .sectors .sector-list span:nth-child(even){
    background:linear-gradient(145deg,#30465b 0%,#40566b 100%);
  }

  .home-page .quality-home-grid article,
  .home-page .quality-home-grid article:nth-child(2){
    background:linear-gradient(145deg,rgba(255,255,255,.13),rgba(142,166,190,.08));
    border-color:rgba(226,235,244,.24);
    color:#f7f8fa;
  }
  .home-page .quality-home-grid article:nth-child(2){
    background:linear-gradient(145deg,#34495e 0%,#40576d 100%);
  }
  .home-page .quality-home-grid article>span,
  .home-page .quality-home-grid article:nth-child(2)>span,
  .home-page .quality-home-grid article p,
  .home-page .quality-home-grid article:nth-child(2) p{
    color:#d9e0e7!important;
  }

  .home-page .contact .choice{
    background:linear-gradient(145deg,#26394d 0%,#354b61 100%)!important;
    border-color:#50657a!important;
    color:#fff!important;
  }
  .home-page .contact .choice :is(span,b){color:#fff!important}
  .home-page .contact .choice span{color:#d4dce4!important}

  /* Sections grisées : cartes blanches, contraste noir net. */
  .home-page .activity,
  .home-page .process,
  .home-page .faq{
    background:linear-gradient(180deg,#eef0f2 0%,#e4e7ea 100%);
  }
  .home-page .activity-flow article:not(.activity-core),
  .home-page .managed ul,
  .home-page .process ol,
  .home-page .faq details{
    background:#fff;
    color:#111!important;
  }

  /* Sections blanches : cartes gris clair, sans effet blanc sur blanc. */
  .home-page .catalogue,
  .home-page .principles{background:#fff}
  .home-page .training-groups article:not(.featured),
  .home-page .training-groups .complementary-heading,
  .home-page .principle-grid article{
    background:linear-gradient(145deg,#f2f3f4 0%,#e5e8eb 100%);
    border-color:#d5d9dd;
    color:#111!important;
  }

  /* Rupture visuelle après le carrousel d'ouverture. */
  .home-page .promise{
    margin-top:12px;
    background:#e7eaed!important;
    background-image:linear-gradient(145deg,#f3f4f5 0%,#dde1e5 100%)!important;
    color:#111!important;
  }
  .home-page .promise :is(h2,p){color:#111!important}
  .home-page .promise .overline{color:#45586c!important}

  /* Seuls les carrousels défilent latéralement : la page reste fixe. */
  html,
  body.home-page{
    width:100%;
    max-width:100%;
    overflow-x:clip;
    overscroll-behavior-x:none;
  }
  .home-page main,
  .home-page main>section,
  .home-page main>figure{
    min-width:0;
    max-width:100%;
  }
  .home-page .activity-flow,
  .home-page .training-groups,
  .home-page .principle-grid,
  .home-page .quality-home-grid{
    width:100%;
    max-width:100%;
    margin-right:0;
    overscroll-behavior-x:contain;
    touch-action:pan-x pan-y;
  }
  .home-page .editorial-image{
    width:calc(100% - 16px);
    max-width:calc(100% - 16px);
  }
  .home-page .editorial-image img{
    display:block;
    width:100%;
    max-width:100%;
  }
}

/* Mouvement localisé : un liseré discret signale les cartes interactives et clés. */
@keyframes ogfBorderRun{to{background-position:240% 0}}

/* Le liseré bleu validé continue de circuler autour des bulles. */
.home-page .training-carousel,.home-page .training-groups article,.home-page .principle-grid article,.home-page .quality-home-grid article,.home-page .choice{position:relative;overflow:hidden;isolation:isolate;border-color:transparent!important;background-clip:padding-box!important}
.home-page .training-carousel:after,.home-page .training-groups article:after,.home-page .principle-grid article:after,.home-page .quality-home-grid article:after,.home-page .choice:after{content:"";position:absolute;z-index:5;inset:0;border-radius:inherit;padding:1px;pointer-events:none;opacity:.62;background:linear-gradient(110deg,transparent 8%,rgba(183,154,107,.54) 27%,rgba(255,255,255,.88) 39%,transparent 56%) 0 0/240% 100%;-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;animation:ogfBorderRun 7s linear infinite}

@media(max-width:600px){
  .home-page .training-carousel{transform:none!important;rotate:none!important}
}

@media(prefers-reduced-motion:reduce){
  .home-page .training-carousel:after,.home-page .training-groups article:after,.home-page .principle-grid article:after,.home-page .quality-home-grid article:after,.home-page .choice:after{animation:none!important}
}

/* OGF Academy — système éditorial v2, exclusif à l'accueil */
.home-page{
  --ink:#08090a;
  --paper:#fff;
  --mist:#eef0f2;
  --steel:#d9dde1;
  --navy:#132b43;
  --navy-2:#21445f;
  --muted:#616870;
  --line:#cfd3d7;
  --gutter:clamp(24px,5vw,72px);
  --section:clamp(80px,9vw,136px);
  --content:1280px;
  background:var(--paper);
  color:var(--ink);
  font-family:Manrope,Arial,sans-serif;
}
.home-page *{box-sizing:border-box}
.home-page main{overflow:hidden}
.home-page main>section,
.home-page main>figure{max-width:none;margin:0}
.home-page .overline{
  margin:0 0 22px;
  color:var(--navy-2)!important;
  font:700 12px/1.2 Manrope,sans-serif;
  letter-spacing:.16em;
  text-transform:uppercase;
}
.home-page h1,.home-page h2,.home-page h3{font-family:Manrope,sans-serif;text-wrap:balance}
.home-page p{max-width:72ch}

/* Navigation */
.home-page .site-header{
  position:sticky!important;
  top:0;
  z-index:90;
  min-height:72px;
  padding:0 var(--gutter)!important;
  background:rgba(8,9,10,.96)!important;
  border-bottom:1px solid rgba(255,255,255,.12);
  backdrop-filter:blur(16px);
}
.home-page .brand{gap:12px}
.home-page .brand img{width:35px;height:35px;object-fit:contain;filter:invert(1)}
.home-page .brand span{color:#fff;font-size:15px;letter-spacing:-.02em}
.home-page .brand b{font-weight:450;color:#aab3bc}
.home-page .site-header nav{gap:4px}
.home-page .site-header nav a{
  min-height:40px;
  padding:0 14px;
  display:inline-flex;
  align-items:center;
  color:#b8bec5!important;
  border:0!important;
  border-radius:999px;
  font-size:13px;
  transition:background .2s ease,color .2s ease;
}
.home-page .site-header nav a:is(:hover,.active){background:#fff!important;color:#090a0b!important}

/* Premier écran */
.home-page .hero{
  min-height:720px!important;
  padding:clamp(76px,8vw,122px) var(--gutter)!important;
  display:grid!important;
  grid-template-columns:minmax(0,1.45fr) minmax(340px,.7fr)!important;
  align-items:center;
  gap:clamp(48px,7vw,104px)!important;
  background:
    linear-gradient(90deg,transparent 0 67%,rgba(19,43,67,.045) 67% 100%),
    var(--paper)!important;
}
.home-page .hero-content{max-width:850px;opacity:1!important;animation:none!important}
.home-page .hero h1{
  max-width:900px;
  margin:0;
  font-size:clamp(58px,6.4vw,96px)!important;
  font-weight:520;
  line-height:.94!important;
  letter-spacing:-.075em!important;
}
.home-page .hero h1 span{color:#5c6269}
.home-page .hero .intro{
  max-width:680px;
  margin:34px 0 0;
  color:#555c63;
  font-size:18px!important;
  line-height:1.65!important;
}
.home-page .actions{margin-top:36px;display:flex;align-items:center;gap:26px}
.home-page .button{
  min-height:52px;
  padding:0 22px!important;
  border-radius:8px!important;
  font-size:14px!important;
  font-weight:650;
}
.home-page .simple-link{font-size:14px;font-weight:650;text-underline-offset:6px}
.home-page .training-carousel{
  width:100%!important;
  max-width:430px!important;
  aspect-ratio:.88!important;
  padding:28px!important;
  border:1px solid #33516e!important;
  border-radius:18px!important;
  background:linear-gradient(145deg,#070809 0%,#10151b 68%,#152f49 100%)!important;
  box-shadow:0 30px 70px rgba(8,20,32,.22)!important;
  opacity:1!important;
  animation:none!important;
}
.home-page .carousel-top strong{font-size:48px}
.home-page .carousel-stage{min-height:220px}
.home-page .carousel-title{font-size:clamp(34px,3vw,46px)}

/* Déclaration */
.home-page .promise{
  padding:var(--section) var(--gutter)!important;
  display:grid!important;
  grid-template-columns:minmax(280px,.7fr) minmax(0,1.3fr);
  column-gap:clamp(56px,9vw,150px);
  align-items:start;
  border-radius:0!important;
  background:linear-gradient(135deg,#08090a 0%,#11161b 70%,#132b43 100%)!important;
  color:#fff!important;
}
.home-page .promise>.overline{grid-column:1;color:#94aabd!important}
.home-page .promise h2{
  grid-column:1;
  margin:0;
  font-size:clamp(42px,5vw,76px)!important;
  font-weight:520;
  line-height:1!important;
  letter-spacing:-.06em!important;
}
.home-page .promise-copy{
  grid-column:2;
  margin:54px 0 0!important;
  display:grid!important;
  grid-template-columns:1fr 1fr;
  gap:34px!important;
}
.home-page .promise-copy p{margin:0;color:#c7cdd3!important;font-size:17px;line-height:1.7}

/* Rôle */
.home-page .activity{
  padding:var(--section) var(--gutter)!important;
  background:#fff!important;
}
.home-page .activity-heading,
.home-page .activity-flow,
.home-page .managed{width:min(100%,var(--content));margin-left:auto!important;margin-right:auto!important}
.home-page .activity-heading{
  display:grid;
  grid-template-columns:.72fr 1.3fr .9fr;
  gap:clamp(32px,5vw,72px);
  align-items:start;
}
.home-page .activity-heading .overline{grid-column:1}
.home-page .activity-heading h2{
  grid-column:2;
  margin:0;
  font-size:clamp(44px,4.5vw,68px)!important;
  line-height:1!important;
  letter-spacing:-.055em!important;
}
.home-page .activity-heading>p:last-child{
  grid-column:3;
  margin:3px 0 0;
  color:var(--muted);
  font-size:16px!important;
  line-height:1.65;
}
.home-page .activity-flow{
  margin-top:70px!important;
  display:grid!important;
  grid-template-columns:repeat(3,1fr)!important;
  gap:0!important;
  border-top:1px solid var(--ink);
  border-bottom:1px solid var(--ink);
}
.home-page .activity-flow article,
.home-page .activity-flow .activity-core{
  min-height:330px!important;
  padding:28px!important;
  border:0!important;
  border-right:1px solid var(--line)!important;
  border-radius:0!important;
  background:#fff!important;
  color:var(--ink)!important;
  box-shadow:none!important;
}
.home-page .activity-flow article:last-child{border-right:0!important}
.home-page .activity-flow article>span{color:var(--navy-2)!important;font-size:12px}
.home-page .activity-flow article>p{margin-top:70px!important;color:#697078!important}
.home-page .activity-flow h3{font-size:28px!important;line-height:1.12}
.home-page .activity-flow small{color:#616870!important;font-size:15px!important;line-height:1.55}
.home-page .managed{
  margin-top:100px!important;
  display:grid!important;
  grid-template-columns:.85fr 1.15fr!important;
  gap:clamp(48px,8vw,120px)!important;
}
.home-page .managed h2{font-size:clamp(38px,4vw,58px)!important;line-height:1.02;letter-spacing:-.05em}
.home-page .managed ul{margin:0!important;border-top:1px solid var(--ink)}
.home-page .managed li{
  padding:20px 0!important;
  display:grid!important;
  grid-template-columns:130px 1fr;
  gap:24px;
  border-bottom:1px solid var(--line)!important;
}
.home-page .managed li b{font-size:15px}.home-page .managed li span{color:var(--muted);font-size:15px;line-height:1.5}

/* Image éditoriale */
.home-page .editorial-image{
  width:calc(100% - 2*var(--gutter))!important;
  max-width:var(--content)!important;
  height:min(58vw,650px)!important;
  margin:0 auto!important;
  border-radius:16px!important;
  background:#0b0c0d;
}
.home-page .editorial-image img{width:100%;height:100%;object-fit:cover;filter:grayscale(1) contrast(1.05)}
.home-page .editorial-image:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 38%,rgba(4,7,10,.72))}
.home-page .editorial-image figcaption{z-index:2;padding:32px!important}
.home-page .editorial-image figcaption strong{max-width:560px;font-size:clamp(36px,5vw,68px)!important;line-height:.98}

/* Catalogue */
.home-page .catalogue{
  padding:var(--section) var(--gutter)!important;
  background:var(--mist)!important;
}
.home-page .catalogue>.section-title,
.home-page .training-groups,
.home-page .catalogue-note{width:min(100%,var(--content));margin-left:auto!important;margin-right:auto!important}
.home-page .section-title{
  display:grid!important;
  grid-template-columns:1.25fr .75fr!important;
  gap:clamp(48px,8vw,120px)!important;
  align-items:end!important;
}
.home-page .section-title h2{
  margin:0;
  font-size:clamp(44px,4.8vw,72px)!important;
  line-height:.98!important;
  letter-spacing:-.06em!important;
}
.home-page .section-title>p{margin:0;color:var(--muted);font-size:16px!important;line-height:1.65}
.home-page .training-groups{
  margin-top:70px!important;
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:16px!important;
}
.home-page .training-groups article,
.home-page .training-groups article.featured,
.home-page .training-groups .complementary-heading{
  min-height:0!important;
  padding:30px!important;
  border:1px solid #cbd0d5!important;
  border-radius:12px!important;
  background:#fff!important;
  color:var(--ink)!important;
  box-shadow:none!important;
}
.home-page .training-groups article.featured{
  grid-column:1/-1;
  display:grid!important;
  grid-template-columns:.8fr 1.2fr;
  gap:60px;
  background:var(--ink)!important;
  color:#fff!important;
}
.home-page .training-groups article.featured :is(p,h3,li,span){color:inherit!important}
.home-page .training-groups header{align-items:flex-start!important}
.home-page .training-groups h3{font-size:clamp(25px,2.4vw,36px)!important;line-height:1.08}
.home-page .training-groups ul{margin-top:32px!important}
.home-page .training-groups li{padding:10px 0!important;border-bottom:1px solid rgba(120,128,136,.28);font-size:15px}
.home-page .training-groups .complementary-heading{display:flex!important;flex-direction:column;justify-content:flex-end;background:#dce1e5!important}
.home-page .training-groups .complementary-heading h3{font-size:34px!important}
.home-page .catalogue-note{margin-top:34px!important;color:#5e656c;font-size:14px!important}

/* Secteurs */
.home-page .sectors{
  padding:var(--section) var(--gutter)!important;
  border-radius:0!important;
  background:linear-gradient(135deg,#08090a 0%,#111820 72%,#132b43 100%)!important;
  color:#fff;
}
.home-page .sectors>.section-title,
.home-page .sector-list{width:min(100%,var(--content));margin-left:auto!important;margin-right:auto!important}
.home-page .sectors .overline{color:#9bb0c3!important}
.home-page .sectors .section-title h2{color:#fff!important}
.home-page .sectors .section-title>p{color:#b8c0c8!important}
.home-page .sector-list{
  margin-top:70px!important;
  display:grid!important;
  grid-template-columns:repeat(4,1fr)!important;
  gap:0!important;
  border-top:1px solid rgba(255,255,255,.28);
  border-left:1px solid rgba(255,255,255,.28);
}
.home-page .sector-list span{
  min-height:118px!important;
  padding:22px!important;
  display:flex;
  align-items:flex-end;
  border-right:1px solid rgba(255,255,255,.28)!important;
  border-bottom:1px solid rgba(255,255,255,.28)!important;
  background:transparent!important;
  color:#fff!important;
  font-size:17px!important;
}

/* Parcours */
.home-page .process{
  padding:var(--section) var(--gutter)!important;
  display:grid!important;
  grid-template-columns:.78fr 1.22fr!important;
  gap:clamp(64px,10vw,160px)!important;
  background:#fff!important;
}
.home-page .process-intro,.home-page .process ol{width:100%;max-width:620px}
.home-page .process-intro{justify-self:end}
.home-page .process h2{font-size:clamp(44px,4.8vw,70px)!important;line-height:.98;letter-spacing:-.06em}
.home-page .process-intro>p:last-child{color:var(--muted);font-size:16px;line-height:1.6}
.home-page .process ol{margin:0!important;border-top:1px solid var(--ink)}
.home-page .process li{padding:24px 0!important;grid-template-columns:54px 1fr!important;border-bottom:1px solid var(--line)!important}
.home-page .process li span{color:var(--navy-2);font-size:12px}.home-page .process h3{font-size:22px!important}
.home-page .process li p{color:var(--muted);font-size:15px;line-height:1.5}

/* Engagements */
.home-page .principles{
  padding:90px var(--gutter)!important;
  background:#dfe3e6!important;
}
.home-page .principles>.overline,
.home-page .principle-grid{width:min(100%,var(--content));margin-left:auto!important;margin-right:auto!important}
.home-page .principle-grid{margin-top:30px!important;display:grid!important;grid-template-columns:repeat(3,1fr)!important;gap:12px!important}
.home-page .principle-grid article{
  min-height:260px!important;
  padding:28px!important;
  border:1px solid #bdc4ca!important;
  border-radius:12px!important;
  background:rgba(255,255,255,.48)!important;
  box-shadow:none!important;
}
.home-page .principle-grid article span{color:var(--navy-2)!important;font-size:12px}
.home-page .principle-grid h3{margin-top:70px!important;font-size:27px!important}
.home-page .principle-grid p{color:var(--muted)!important;font-size:15px;line-height:1.55}

/* Qualité */
.home-page .quality-home{
  padding:var(--section) var(--gutter)!important;
  border-radius:0!important;
  background:var(--ink)!important;
}
.home-page .quality-home-heading,
.home-page .quality-home-grid{width:min(100%,var(--content));margin-left:auto!important;margin-right:auto!important}
.home-page .quality-home-heading{grid-template-columns:1.05fr .65fr!important;gap:clamp(60px,9vw,140px)!important}
.home-page .quality-home h2{font-size:clamp(46px,5vw,76px)!important}
.home-page .quality-home-grid{margin-top:72px!important;gap:12px!important}
.home-page .quality-home-grid article,
.home-page .quality-home-grid article:nth-child(2){
  min-height:290px!important;
  padding:28px!important;
  border:1px solid rgba(255,255,255,.2)!important;
  border-radius:12px!important;
  background:#11161b!important;
  color:#fff!important;
}
.home-page .quality-home-grid article:nth-child(2){background:var(--navy)!important}
.home-page .quality-home-grid article :is(h3,p,span){color:inherit!important}
.home-page .quality-home-grid p{color:#bfc6cd!important}

/* FAQ et contact */
.home-page .faq{
  padding:var(--section) var(--gutter)!important;
  display:grid!important;
  grid-template-columns:.8fr 1.2fr!important;
  gap:clamp(64px,10vw,160px)!important;
  background:#f4f5f6!important;
}
.home-page .faq>div{max-width:620px}.home-page .faq>div:first-child{justify-self:end}
.home-page .faq h2{font-size:clamp(40px,4.4vw,64px)!important;line-height:1;letter-spacing:-.055em}
.home-page .faq-list{border-top:1px solid var(--ink)!important}
.home-page .faq details{padding:22px 0!important;border-bottom:1px solid #c8cdd1!important;background:transparent!important}
.home-page .faq summary{font-size:17px!important;font-weight:650}
.home-page .faq details p{color:var(--muted);font-size:15px;line-height:1.65}
.home-page .contact{
  padding:var(--section) var(--gutter)!important;
  border-radius:0!important;
  background:linear-gradient(135deg,#08090a 0%,#10151b 68%,#132b43 100%)!important;
}
.home-page .contact>.overline,
.home-page .contact-layout{width:min(100%,var(--content));margin-left:auto!important;margin-right:auto!important}
.home-page .contact .overline{color:#9bb0c3!important}
.home-page .contact-layout{grid-template-columns:1fr .85fr!important;gap:clamp(64px,9vw,140px)!important}
.home-page .contact h2{font-size:clamp(52px,6vw,88px)!important;line-height:.94;letter-spacing:-.07em}
.home-page .contact-choices{gap:10px!important}
.home-page .contact .choice{
  min-height:96px!important;
  padding:20px!important;
  border:1px solid rgba(255,255,255,.22)!important;
  border-radius:10px!important;
  background:rgba(255,255,255,.06)!important;
  color:#fff!important;
}
.home-page .contact .choice :is(span,b){color:#fff!important}
.home-page .contact .choice span{color:#aebac5!important}
.home-page footer{padding:54px var(--gutter)!important;background:#050607!important;border-top:1px solid #24272a}

/* Responsive */
@media(max-width:980px){
  .home-page .hero{grid-template-columns:1fr!important;min-height:auto!important}
  .home-page .training-carousel{justify-self:start;max-width:620px!important;aspect-ratio:1.45!important}
  .home-page .promise{grid-template-columns:1fr!important}
  .home-page .promise-copy{grid-column:1;margin-top:42px!important}
  .home-page .activity-heading{grid-template-columns:1fr 1fr}.home-page .activity-heading .overline{grid-column:1/-1}.home-page .activity-heading h2{grid-column:1}.home-page .activity-heading>p:last-child{grid-column:2}
  .home-page .managed{grid-template-columns:1fr!important}
  .home-page .sector-list{grid-template-columns:repeat(2,1fr)!important}
  .home-page .process,.home-page .faq{grid-template-columns:1fr!important}
  .home-page .process-intro,.home-page .faq>div:first-child{justify-self:start;max-width:760px}
  .home-page .process ol,.home-page .faq-list{max-width:none}
}

@media(max-width:600px){
  .home-page{--gutter:18px;--section:68px}
  .home-page .site-header{min-height:58px;padding:0 16px!important}
  .home-page .brand img{width:30px;height:30px}.home-page .brand span{font-size:13px}
  .home-page .hero{padding-top:58px!important;gap:38px!important;background:#fff!important}
  .home-page .hero h1{font-size:clamp(43px,13vw,58px)!important;line-height:.96!important}
  .home-page .hero .intro{margin-top:24px;font-size:16px!important;line-height:1.58!important}
  .home-page .actions{margin-top:28px;display:grid!important;grid-template-columns:1fr!important;gap:18px!important}
  .home-page .button{width:100%;justify-content:space-between}
  .home-page .training-carousel{aspect-ratio:1.18!important;min-height:0!important;padding:22px!important;border-radius:14px!important}
  .home-page .carousel-stage{min-height:145px!important}
  .home-page .promise h2,.home-page .section-title h2,.home-page .activity-heading h2,.home-page .process h2,.home-page .quality-home h2,.home-page .faq h2{font-size:38px!important;line-height:1.02!important}
  .home-page .promise-copy{grid-template-columns:1fr;gap:18px!important}
  .home-page .activity-heading{display:block}.home-page .activity-heading h2{margin-bottom:24px}.home-page .activity-heading>p:last-child{font-size:15px!important}
  .home-page .activity-flow{display:flex!important;overflow-x:auto!important;scroll-snap-type:x mandatory;border:0!important;margin-right:-18px!important}
  .home-page .activity-flow article,.home-page .activity-flow .activity-core{flex:0 0 82vw!important;max-width:330px!important;min-height:270px!important;border:1px solid var(--line)!important;border-radius:10px!important;scroll-snap-align:start}
  .home-page .activity-flow article>p{margin-top:42px!important}
  .home-page .managed{margin-top:72px!important}.home-page .managed h2{font-size:34px!important}
  .home-page .managed li{grid-template-columns:1fr;gap:8px}
  .home-page .editorial-image{width:calc(100% - 36px)!important;height:440px!important;border-radius:12px!important}
  .home-page .editorial-image figcaption{padding:22px!important}.home-page .editorial-image figcaption strong{font-size:38px!important}
  .home-page .section-title{display:block!important}.home-page .section-title>p{margin-top:24px}
  .home-page .training-groups{display:flex!important;overflow-x:auto!important;scroll-snap-type:x mandatory;margin-right:-18px!important}
  .home-page .training-groups article,.home-page .training-groups article.featured,.home-page .training-groups .complementary-heading{flex:0 0 84vw!important;max-width:340px!important;display:block!important;padding:22px!important;scroll-snap-align:start}
  .home-page .training-groups article.featured{background:var(--ink)!important}
  .home-page .sector-list{grid-template-columns:1fr 1fr!important;margin-top:44px!important}
  .home-page .sector-list span{min-height:92px!important;padding:16px!important;font-size:14px!important}
  .home-page .process{gap:44px!important}.home-page .process li{grid-template-columns:42px 1fr!important}
  .home-page .principle-grid,.home-page .quality-home-grid{display:flex!important;overflow-x:auto!important;scroll-snap-type:x mandatory;margin-right:-18px!important}
  .home-page .principle-grid article,.home-page .quality-home-grid article,.home-page .quality-home-grid article:nth-child(2){flex:0 0 82vw!important;max-width:330px!important;min-height:240px!important;scroll-snap-align:start}
  .home-page .quality-home-heading{display:block!important}.home-page .quality-home-heading>div:last-child{margin-top:28px}
  .home-page .faq{gap:42px!important}.home-page .faq details{border-radius:0!important;border-left:0!important;border-right:0!important}
  .home-page .contact-layout{display:block!important}.home-page .contact h2{font-size:48px!important}.home-page .contact-choices{margin-top:40px}
  .home-page footer{padding-bottom:110px!important}
}

@media(prefers-reduced-motion:reduce){
  .home-page *{scroll-behavior:auto!important}
}

/* Finition premium v3 — plus de profondeur, moins d'effet « grille technique ». */
.home-page{
  --paper:#fbfbfa;
  --mist:#f1f2f2;
  --navy:#10283f;
  --navy-2:#284c68;
  --line:#d9dcde;
  background:var(--paper);
  font-family:'DM Sans',Arial,sans-serif;
}
.home-page h1,.home-page h2,.home-page h3{font-family:Manrope,Arial,sans-serif}
.home-page .site-header{
  min-height:76px;
  background:linear-gradient(105deg,rgba(4,5,6,.985),rgba(13,18,23,.98) 72%,rgba(16,40,63,.96))!important;
  box-shadow:0 10px 35px rgba(0,0,0,.13);
}
.home-page .site-header:after{content:"";position:absolute;left:var(--gutter);right:var(--gutter);bottom:0;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.22),transparent)}
.home-page .site-header nav a{letter-spacing:.01em}
.home-page .site-header nav a:is(:hover,.active){background:rgba(255,255,255,.94)!important;box-shadow:0 5px 18px rgba(0,0,0,.18)}

.home-page .hero{
  min-height:760px!important;
  background:
    radial-gradient(circle at 83% 28%,rgba(16,40,63,.10),transparent 27%),
    linear-gradient(90deg,transparent 0 69%,rgba(16,40,63,.035) 69% 100%),
    var(--paper)!important;
}
.home-page .hero h1{font-size:clamp(54px,5.8vw,88px)!important;font-weight:500;line-height:.98!important;letter-spacing:-.065em!important}
.home-page .hero h1 span{color:#6c7177}
.home-page .hero .intro{color:#5d6267;font-size:17px!important;line-height:1.72!important}
.home-page .button{border-radius:999px!important;padding:0 24px!important;box-shadow:0 10px 24px rgba(4,8,12,.12);transition:transform .25s ease,box-shadow .25s ease,background .25s ease}
.home-page .button:hover{transform:translateY(-2px);box-shadow:0 16px 30px rgba(4,8,12,.18)}
.home-page .training-carousel{
  max-width:445px!important;
  padding:32px!important;
  border-radius:28px!important;
  background:linear-gradient(145deg,#050607 0%,#0d1115 55%,#102b45 100%)!important;
  box-shadow:0 34px 80px rgba(7,19,30,.28),inset 0 1px rgba(255,255,255,.08)!important;
}
.home-page .training-carousel:before{content:"";position:absolute;inset:12px;border:1px solid rgba(255,255,255,.07);border-radius:20px;pointer-events:none}

.home-page .promise,.home-page .sectors,.home-page .contact{
  width:calc(100% - 32px)!important;
  margin-left:auto!important;
  margin-right:auto!important;
  border-radius:28px!important;
  box-shadow:0 30px 80px rgba(7,17,27,.15),inset 0 1px rgba(255,255,255,.06);
}
.home-page .promise h2{font-size:clamp(40px,4.5vw,68px)!important;font-weight:500;line-height:1.04!important}
.home-page .promise-copy p{color:#d0d5d9!important;font-size:16px;line-height:1.76}

.home-page .activity-heading h2,.home-page .section-title h2,.home-page .process h2,.home-page .quality-home h2,.home-page .faq h2{font-weight:500!important;letter-spacing:-.05em!important}
.home-page .activity-flow{gap:14px!important;border:0!important}
.home-page .activity-flow article,.home-page .activity-flow .activity-core{
  min-height:340px!important;
  border:1px solid #e0e2e3!important;
  border-radius:20px!important;
  background:linear-gradient(155deg,#fff,#f8f8f7)!important;
  box-shadow:0 18px 42px rgba(8,13,18,.055)!important;
}
.home-page .activity-flow .activity-core{background:linear-gradient(150deg,#0a0c0e,#12283b)!important;color:#fff!important;border-color:#243b4e!important;box-shadow:0 24px 55px rgba(11,27,42,.16)!important}
.home-page .activity-flow .activity-core :is(span,p,h3,small){color:inherit!important}
.home-page .activity-flow .activity-core small,.home-page .activity-flow .activity-core p{color:#c2ccd4!important}
.home-page .managed ul{border-top-color:#aeb3b7}
.home-page .managed li{padding:22px 0!important}

.home-page .editorial-image{border-radius:26px!important;box-shadow:0 30px 70px rgba(5,10,14,.13)}
.home-page .editorial-image img{filter:grayscale(1) contrast(1.04) brightness(.92)}
.home-page .editorial-image:after{background:linear-gradient(180deg,rgba(5,8,11,.04) 25%,rgba(4,7,10,.78))}

.home-page .catalogue{background:linear-gradient(180deg,#f4f5f5,#eceeef)!important}
.home-page .training-groups{gap:18px!important}
.home-page .training-groups article,.home-page .training-groups article.featured,.home-page .training-groups .complementary-heading{
  padding:34px!important;
  border-color:#d7dbde!important;
  border-radius:22px!important;
  box-shadow:0 16px 40px rgba(8,13,18,.055)!important;
}
.home-page .training-groups article{background:rgba(255,255,255,.88)!important}
.home-page .training-groups article.featured{background:linear-gradient(135deg,#07090b 0%,#101820 72%,#132e47 100%)!important;box-shadow:0 28px 65px rgba(8,21,33,.18)!important}
.home-page .training-groups .complementary-heading{background:linear-gradient(145deg,#dfe3e5,#f8f8f7)!important}

.home-page .sectors{background:linear-gradient(135deg,#050607 0%,#101820 70%,#102b45 100%)!important}
.home-page .sector-list{gap:10px!important;border:0!important;background:transparent!important}
.home-page .sector-list span{min-height:126px!important;border:1px solid rgba(255,255,255,.14)!important;border-radius:16px;background:rgba(255,255,255,.035)!important;transition:transform .25s ease,background .25s ease,border-color .25s ease}
.home-page .sector-list span:hover{transform:translateY(-3px);background:rgba(255,255,255,.075)!important;border-color:rgba(255,255,255,.3)!important}

.home-page .principles{background:linear-gradient(180deg,#eef0f1,#e5e8ea)!important}
.home-page .principle-grid{gap:16px!important}
.home-page .principle-grid article{min-height:275px!important;border-color:#cfd4d7!important;border-radius:22px!important;background:rgba(255,255,255,.68)!important;box-shadow:0 16px 42px rgba(8,13,18,.05)!important}
.home-page .quality-home{width:calc(100% - 32px);margin:16px auto!important;border-radius:28px!important;background:linear-gradient(135deg,#050607,#10161c 68%,#102b45)!important;box-shadow:0 30px 80px rgba(7,17,27,.16)}
.home-page .quality-home-grid{gap:16px!important}
.home-page .quality-home-grid article,.home-page .quality-home-grid article:nth-child(2){border-radius:22px!important;background:rgba(255,255,255,.055)!important;box-shadow:inset 0 1px rgba(255,255,255,.06)!important}
.home-page .quality-home-grid article:nth-child(2){background:linear-gradient(145deg,#17334d,#10263a)!important}

.home-page .faq{background:#f6f6f5!important}
.home-page .faq details{transition:padding .25s ease}
.home-page .faq details[open]{padding-left:16px!important;padding-right:16px!important;background:rgba(255,255,255,.74)!important}
.home-page .contact .choice{min-height:104px!important;border-radius:18px!important;background:rgba(255,255,255,.055)!important;transition:transform .25s ease,background .25s ease}
.home-page .contact .choice:hover{transform:translateY(-2px);background:rgba(255,255,255,.09)!important}

@media(max-width:600px){
  .home-page .site-header{min-height:60px}
  .home-page .hero{min-height:auto!important;background:radial-gradient(circle at 85% 25%,rgba(16,40,63,.08),transparent 35%),var(--paper)!important}
  .home-page .hero h1{font-size:clamp(42px,12vw,54px)!important}
  .home-page .training-carousel{border-radius:22px!important;padding:24px!important}
  .home-page .promise,.home-page .sectors,.home-page .contact,.home-page .quality-home{width:calc(100% - 12px)!important;border-radius:22px!important}
  .home-page .activity-flow article,.home-page .activity-flow .activity-core,.home-page .training-groups article,.home-page .training-groups article.featured,.home-page .training-groups .complementary-heading,.home-page .principle-grid article,.home-page .quality-home-grid article,.home-page .quality-home-grid article:nth-child(2){border-radius:18px!important}
  .home-page .editorial-image{border-radius:20px!important}
  .home-page .sector-list{gap:8px!important}.home-page .sector-list span{border-radius:12px}
}

/* Charte v4 — noir dominant, ivoire secondaire, marine uniquement comme reflet. */
.home-page{
  --ink:#050505;
  --paper:#f4f2ed;
  --mist:#e9e7e2;
  --navy:#102338;
  --navy-2:#29445d;
  --muted:#77736d;
  --line:#d1cec7;
  background:var(--ink)!important;
}
.home-page .overline{color:#8fa1b1!important}

/* Premier écran : la marque commence par le noir. */
.home-page .hero{
  color:#f6f3ed!important;
  background:
    radial-gradient(circle at 83% 28%,rgba(31,58,82,.22),transparent 25%),
    linear-gradient(120deg,#050505 0%,#08090a 72%,#0d1720 100%)!important;
}
.home-page .hero h1,.home-page .hero h1 span{color:#f6f3ed!important}
.home-page .hero h1 span{color:#a6a39e!important}
.home-page .hero .intro{color:#c4c0ba!important}
.home-page .hero .button.dark{background:#f3f0e9!important;color:#050505!important;box-shadow:0 12px 32px rgba(0,0,0,.28)}
.home-page .hero .simple-link{color:#f3f0e9!important}
.home-page .training-carousel{background:linear-gradient(145deg,#0b0b0b,#111315 72%,#142231)!important;border-color:#282b2e!important}
.home-page .training-carousel :is(.carousel-title,.carousel-top strong){color:#f6f3ed!important}
.home-page .training-carousel :is(.carousel-top span,.carousel-kicker,.carousel-count){color:#aaa7a1!important}

/* Alternance logique : chaque section possède un contraste explicite. */
.home-page .promise{background:var(--paper)!important;color:#090909!important;box-shadow:none}
.home-page .promise :is(h2,p){color:#171717!important}
.home-page .promise>.overline{color:#52687a!important}
.home-page .promise-copy p{color:#55514c!important}
.home-page .catalogue .overline,.home-page .principles .overline,.home-page .faq .overline,.home-page .training-groups .complementary-heading .overline{color:#52687a!important}

.home-page .activity{background:#070707!important;color:#f4f1eb!important}
.home-page .activity :is(h2,h3,b){color:#f4f1eb!important}
.home-page .activity-heading>p:last-child,.home-page .managed li span{color:#aaa6a0!important}
.home-page .activity-flow article,.home-page .activity-flow .activity-core{
  background:#101010!important;
  color:#f4f1eb!important;
  border-color:#252525!important;
  box-shadow:none!important;
}
.home-page .activity-flow .activity-core{background:linear-gradient(145deg,#121212,#111820)!important}
.home-page .activity-flow article :is(span,p,h3,small){color:inherit!important}
.home-page .activity-flow article>span{color:#91a2b1!important}
.home-page .activity-flow article>p,.home-page .activity-flow article small{color:#aaa6a0!important}
.home-page .managed{border-top-color:#303030!important}
.home-page .managed ul{border-top-color:#3a3a3a!important}
.home-page .managed li{border-bottom-color:#282828!important}

.home-page .catalogue{background:var(--paper)!important;color:#0a0a0a!important}
.home-page .catalogue :is(h2,h3){color:#0a0a0a!important}
.home-page .catalogue .section-title>p,.home-page .catalogue-note{color:#615d57!important}
.home-page .training-groups article{background:#ebe8e2!important;color:#111!important;border-color:#cfcbc3!important;box-shadow:none!important}
.home-page .training-groups article :is(h3,p,li,span){color:inherit!important}
.home-page .training-groups article li{border-bottom-color:#ccc7bf!important}
.home-page .training-groups article.featured{background:#080808!important;color:#f5f2ec!important;border-color:#080808!important}
.home-page .training-groups article.featured :is(p,h3,li,span){color:inherit!important}
.home-page .training-groups article.featured li{border-bottom-color:#303030!important}
.home-page .training-groups .complementary-heading{background:#ddd9d1!important;color:#111!important}

.home-page .sectors{background:linear-gradient(140deg,#050505 0%,#090a0b 82%,#101b26 100%)!important;color:#f5f2ec!important}
.home-page .sectors .section-title :is(h2,p){color:#f5f2ec!important}
.home-page .sectors .section-title>p{color:#aaa6a0!important}
.home-page .sector-list span{background:#101010!important;color:#f4f1eb!important;border-color:#2c2c2c!important}
.home-page .sector-list span:nth-child(even){background:#0c0c0c!important}

.home-page .process{background:#080808!important;color:#f5f2ec!important}
.home-page .process :is(h2,h3){color:#f5f2ec!important}
.home-page .process-intro>p:last-child,.home-page .process li p{color:#aaa6a0!important}
.home-page .process ol{border-top-color:#3a3a3a!important}
.home-page .process li{border-bottom-color:#282828!important}
.home-page .process li span{color:#91a2b1!important}

.home-page .principles{background:var(--paper)!important;color:#0a0a0a!important}
.home-page .principle-grid article{background:#e9e6df!important;color:#111!important;border-color:#cfcbc3!important;box-shadow:none!important}
.home-page .principle-grid article :is(h3,p){color:#111!important}
.home-page .principle-grid article span{color:#52687a!important}

.home-page .quality-home{background:linear-gradient(140deg,#050505 0%,#090a0b 82%,#101b26 100%)!important;color:#f5f2ec!important}
.home-page .quality-home :is(h2,h3){color:#f5f2ec!important}
.home-page .quality-home-heading p,.home-page .quality-home-grid p{color:#aaa6a0!important}
.home-page .quality-home-grid article,.home-page .quality-home-grid article:nth-child(2){background:#101010!important;color:#f5f2ec!important;border-color:#2b2b2b!important}
.home-page .quality-home-grid article :is(h3,p,span){color:inherit!important}
.home-page .quality-home-grid article p{color:#aaa6a0!important}

.home-page .faq{background:var(--paper)!important;color:#0a0a0a!important}
.home-page .faq :is(h2,summary){color:#0a0a0a!important}
.home-page .faq details{border-bottom-color:#cbc7bf!important}
.home-page .faq details p{color:#5f5b55!important}
.home-page .faq details[open]{background:#e9e6df!important}

.home-page .contact{background:#050505!important;color:#f5f2ec!important}
.home-page .contact :is(h2,b){color:#f5f2ec!important}
.home-page .contact-layout>div p,.home-page .contact small{color:#aaa6a0!important}
.home-page .contact .choice{background:#111!important;color:#f5f2ec!important;border-color:#292929!important}
.home-page .contact .choice :is(span,b){color:#f5f2ec!important}
.home-page .contact .choice span{color:#aaa6a0!important}
.home-page footer,.home-page footer :is(a,p,div){background:#050505!important;color:#aaa6a0!important}

@media(max-width:600px){
  .home-page{--gutter:18px;--section:58px;background:#050505!important}
  .home-page .hero{padding-top:44px!important;background:linear-gradient(145deg,#050505 0%,#090a0b 85%,#101923 100%)!important}
  .home-page .hero h1{font-size:clamp(40px,11.4vw,50px)!important;line-height:1!important}
  .home-page .training-carousel{min-height:210px!important;aspect-ratio:auto!important;border:0!important;border-radius:18px!important;box-shadow:0 18px 46px rgba(0,0,0,.38)!important}
  .home-page .training-carousel:before{display:none}

  .home-page .promise,.home-page .sectors,.home-page .contact,.home-page .quality-home{width:100%!important;margin:0!important;border-radius:0!important;box-shadow:none!important}
  .home-page .promise{background:var(--paper)!important}

  /* Sur téléphone, les contenus deviennent des bandes éditoriales compactes, pas de longues bulles. */
  .home-page .activity-flow,.home-page .training-groups,.home-page .principle-grid,.home-page .quality-home-grid{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:0!important;
    width:100%!important;
    overflow:visible!important;
    padding:0!important;
    margin-right:0!important;
    scroll-snap-type:none!important;
  }
  .home-page .activity-flow article,.home-page .activity-flow .activity-core,
  .home-page .training-groups article,.home-page .training-groups article.featured,.home-page .training-groups .complementary-heading,
  .home-page .principle-grid article,
  .home-page .quality-home-grid article,.home-page .quality-home-grid article:nth-child(2){
    width:100%!important;
    max-width:none!important;
    min-height:0!important;
    margin:0!important;
    padding:24px 0!important;
    border:0!important;
    border-bottom:1px solid!important;
    border-radius:0!important;
    box-shadow:none!important;
    flex:none!important;
  }
  .home-page .activity-flow article,.home-page .activity-flow .activity-core{border-color:#292929!important;background:transparent!important}
  .home-page .activity-flow article>p{margin-top:18px!important}
  .home-page .activity-flow small{margin-top:18px!important}
  .home-page .training-groups article,.home-page .training-groups .complementary-heading{border-color:#c9c5bd!important;background:transparent!important;color:#111!important}
  .home-page .training-groups article.featured{padding:26px 20px!important;border:0!important;border-radius:16px!important;background:#080808!important;color:#f5f2ec!important}
  .home-page .training-groups article ul{columns:1!important}
  .home-page .principle-grid article{border-color:#c9c5bd!important;background:transparent!important}
  .home-page .principle-grid h3{margin-top:22px!important}
  .home-page .quality-home-grid article,.home-page .quality-home-grid article:nth-child(2){border-color:#292929!important;background:transparent!important}
  .home-page .activity-flow:after,.home-page .training-groups:after,.home-page .principle-grid:after,.home-page .quality-home-grid:after,
  .home-page .section-title:after,.home-page .activity-heading:after,.home-page .quality-home-heading:after{display:none!important}

  .home-page .managed ul,.home-page .process ol,.home-page .faq-list{border:0!important;border-radius:0!important;background:transparent!important}
  .home-page .managed li,.home-page .process li,.home-page .faq details{background:transparent!important;border:0!important;border-bottom:1px solid!important;border-radius:0!important}
  .home-page .managed li,.home-page .process li{border-color:#292929!important}
  .home-page .faq details{border-color:#c9c5bd!important;color:#111!important}

  .home-page .sector-list{gap:1px!important;background:#292929!important;border:0!important}
  .home-page .sector-list span,.home-page .sector-list span:nth-child(even){min-height:76px!important;border:0!important;border-radius:0!important;background:#0d0d0d!important;color:#f4f1eb!important}
  .home-page .contact .choice{min-height:68px!important;border:0!important;border-bottom:1px solid #292929!important;border-radius:0!important;background:transparent!important}

  /* Suppression du contour clair animé autour des éléments mobiles. */
  .home-page .training-carousel:after,.home-page .training-groups article:after,.home-page .principle-grid article:after,.home-page .quality-home-grid article:after,.home-page .choice:after{display:none!important}

  /* Barre d'application : un seul bloc noir, sans double contour ni pavé bleu actif. */
  body.home-page .mobile-dock{left:10px!important;right:10px!important;padding:5px!important;background:rgba(5,5,5,.97)!important;border:0!important;border-radius:18px!important;box-shadow:0 14px 42px rgba(0,0,0,.42)!important}
  body.home-page .mobile-dock a{border-radius:13px!important;color:#aaa6a0!important}
  body.home-page .mobile-dock a.active,body.home-page .mobile-dock a:active{background:#f1eee7!important;color:#050505!important}
}

/* Palette v5 — noir, blanc pur et champagne métallique. Aucun bleu. */
.home-page{
  --paper:#fff;
  --mist:#f4f4f4;
  --accent:#b79a6b;
  --accent-light:#cfb684;
  --accent-dark:#72562d;
  --muted:#707070;
  --line:#d9d9d9;
}
.home-page .overline{color:var(--accent-light)!important}
.home-page .site-header{background:linear-gradient(105deg,#030303 0%,#090909 72%,#15130f 100%)!important}
.home-page .site-header:after{background:linear-gradient(90deg,transparent,rgba(183,154,107,.62),transparent)!important}
.home-page .site-header nav a:is(:hover,.active){background:#fff!important;color:#050505!important;box-shadow:inset 0 -2px var(--accent),0 5px 18px rgba(0,0,0,.18)}

.home-page .hero{background:radial-gradient(circle at 83% 28%,rgba(183,154,107,.08),transparent 25%),linear-gradient(120deg,#030303 0%,#080808 76%,#15130f 100%)!important}
.home-page .hero .button.dark{background:#fff!important;color:#050505!important}
.home-page .training-carousel{background:linear-gradient(145deg,#070707 0%,#101010 76%,#1a1712 100%)!important;border-color:#342d22!important}
.home-page .training-carousel :is(.carousel-top span,.carousel-kicker,.carousel-count){color:#c2ad88!important}
.home-page .carousel-arrow{border-color:#51432f!important}
.home-page .carousel-arrow:hover{background:#fff!important;color:#050505!important;border-color:#fff!important}

.home-page .promise,.home-page .catalogue,.home-page .principles,.home-page .faq{background:#fff!important}
.home-page .promise>.overline,.home-page .catalogue .overline,.home-page .principles .overline,.home-page .faq .overline,.home-page .training-groups .complementary-heading .overline{color:var(--accent-dark)!important}
.home-page .promise-copy p,.home-page .catalogue .section-title>p,.home-page .catalogue-note,.home-page .faq details p{color:#575757!important}

.home-page .activity,.home-page .process{background:#050505!important}
.home-page .activity-flow article,.home-page .activity-flow .activity-core,.home-page .quality-home-grid article,.home-page .quality-home-grid article:nth-child(2),.home-page .contact .choice{background:#101010!important;border-color:#29251e!important}
.home-page .activity-flow .activity-core{background:linear-gradient(145deg,#0b0b0b,#17140f)!important}
.home-page .activity-flow article>span,.home-page .process li span,.home-page .principle-grid article span{color:var(--accent-light)!important}
.home-page .managed{border-top-color:#302a21!important}.home-page .managed ul{border-top-color:#3a3227!important}.home-page .managed li{border-bottom-color:#28231c!important}

.home-page .training-groups article{background:#f3f3f3!important;border-color:#d8d8d8!important}
.home-page .training-groups article li{border-bottom-color:#d2d2d2!important}
.home-page .training-groups article.featured{background:linear-gradient(140deg,#050505 0%,#0a0a0a 80%,#17140f 100%)!important;border-color:#050505!important}
.home-page .training-groups .complementary-heading{background:#e9e9e9!important}

.home-page .sectors,.home-page .quality-home{background:linear-gradient(140deg,#030303 0%,#090909 82%,#17140f 100%)!important}
.home-page .sectors .overline,.home-page .quality-home .overline,.home-page .contact .overline{color:var(--accent-light)!important}
.home-page .sector-list{background:#2b261e!important}
.home-page .sector-list span,.home-page .sector-list span:nth-child(even){background:#0d0d0d!important;border-color:#302a21!important}
.home-page .sector-list span:hover{background:#17140f!important;border-color:#6c593b!important}
.home-page .quality-home-grid article:nth-child(2){background:linear-gradient(145deg,#111,#1b1711)!important}

.home-page .principle-grid article{background:#f3f3f3!important;border-color:#d6d6d6!important}
.home-page .faq details{border-bottom-color:#d1d1d1!important}.home-page .faq details[open]{background:#f3f3f3!important}
.home-page .contact{background:#050505!important}.home-page .contact .choice:hover{background:#18150f!important}
.home-page footer,.home-page footer :is(a,p,div){background:#050505!important}

@media(max-width:600px){
  .home-page .hero{background:linear-gradient(145deg,#030303 0%,#090909 86%,#17140f 100%)!important}
  .home-page .promise,.home-page .catalogue,.home-page .principles,.home-page .faq{background:#fff!important}
  .home-page .training-groups article,.home-page .training-groups .complementary-heading,.home-page .principle-grid article{border-color:#d2d2d2!important;background:transparent!important}
  .home-page .training-groups article.featured{background:linear-gradient(145deg,#050505,#17140f)!important}
  .home-page .activity-flow article,.home-page .activity-flow .activity-core,.home-page .quality-home-grid article,.home-page .quality-home-grid article:nth-child(2){border-color:#28231c!important;background:transparent!important}
  .home-page .sector-list{background:#28231c!important}
  .home-page .sector-list span,.home-page .sector-list span:nth-child(even){background:#0d0d0d!important}
  body.home-page .mobile-dock a.active,body.home-page .mobile-dock a:active{background:#fff!important;color:#050505!important;box-shadow:inset 0 -2px var(--accent)!important}
}

/* Logique de surfaces v6 — chaque bloc se détache clairement de son support. */
.home-page{background:#fff!important;color:#090909!important}

/* Barre noire, puis ouverture blanche : rupture immédiate et lisible. */
.home-page .hero{background:#fff!important;color:#090909!important}
.home-page .hero h1{color:#090909!important}
.home-page .hero h1 span{color:#6d6d6d!important}
.home-page .hero .intro{color:#555!important}
.home-page .hero .overline{color:var(--accent-dark)!important}
.home-page .hero .button.dark{background:#050505!important;color:#fff!important;box-shadow:0 12px 30px rgba(0,0,0,.14)}
.home-page .hero .simple-link{color:#090909!important}
.home-page .training-carousel{background:#070707!important;border-color:#242424!important;box-shadow:0 30px 70px rgba(0,0,0,.2)!important}

/* Alternance des grandes surfaces : blanc / noir / blanc. */
.home-page .promise{background:#050505!important;color:#fff!important}
.home-page .promise :is(h2,p){color:#fff!important}
.home-page .promise>.overline{color:var(--accent-light)!important}
.home-page .promise-copy p{color:#b9b9b9!important}

.home-page .activity{background:#fff!important;color:#090909!important}
.home-page .activity .overline,.home-page .process .overline{color:var(--accent-dark)!important}
.home-page .activity :is(h2,h3,b){color:#090909!important}
.home-page .activity-heading>p:last-child,.home-page .managed li span{color:#5d5d5d!important}
.home-page .activity-flow article{background:#f3f3f3!important;color:#090909!important;border-color:#dedede!important}
.home-page .activity-flow article :is(p,h3,small){color:#090909!important}
.home-page .activity-flow article>p,.home-page .activity-flow article small{color:#5d5d5d!important}
.home-page .activity-flow .activity-core{background:#050505!important;color:#fff!important;border-color:#050505!important}
.home-page .activity-flow .activity-core :is(p,h3,small){color:#fff!important}
.home-page .activity-flow .activity-core>p,.home-page .activity-flow .activity-core small{color:#b9b9b9!important}
.home-page .managed{border-top-color:#111!important}.home-page .managed ul{border-top-color:#111!important}.home-page .managed li{border-bottom-color:#d7d7d7!important}

.home-page .catalogue{background:#f4f4f4!important}
.home-page .catalogue .training-groups article{background:#fff!important}
.home-page .catalogue .training-groups article.featured{background:#050505!important;color:#fff!important}
.home-page .catalogue .training-groups .complementary-heading{background:#e6e6e6!important}

/* Sur fond noir : pas de seconde bulle noire, uniquement une grille ouverte. */
.home-page .sectors{background:#050505!important}
.home-page .sector-list{gap:0!important;background:transparent!important;border-top:1px solid #343434!important;border-left:1px solid #343434!important}
.home-page .sector-list span,.home-page .sector-list span:nth-child(even){background:transparent!important;border-right:1px solid #343434!important;border-bottom:1px solid #343434!important;border-radius:0!important}
.home-page .sector-list span:hover{background:#111!important;border-color:#5a4a32!important}

.home-page .process{background:#fff!important;color:#090909!important}
.home-page .process :is(h2,h3){color:#090909!important}
.home-page .process-intro>p:last-child,.home-page .process li p{color:#5d5d5d!important}
.home-page .process ol{border-top-color:#111!important}.home-page .process li{border-bottom-color:#d7d7d7!important}

.home-page .principles{background:#f1f1f1!important}
.home-page .principle-grid article{background:#fff!important}

.home-page .quality-home{background:#050505!important}
.home-page .quality-home-grid{gap:0!important;border-top:1px solid #343434!important;border-left:1px solid #343434!important}
.home-page .quality-home-grid article,.home-page .quality-home-grid article:nth-child(2){background:transparent!important;border:0!important;border-right:1px solid #343434!important;border-bottom:1px solid #343434!important;border-radius:0!important;box-shadow:none!important}

.home-page .faq{background:#fff!important}
.home-page .contact{background:#050505!important}
.home-page .contact-choices{gap:0!important;border-top:1px solid #343434!important}
.home-page .contact .choice{background:transparent!important;border:0!important;border-bottom:1px solid #343434!important;border-radius:0!important}
.home-page .contact .choice:hover{background:#111!important}

@media(max-width:600px){
  .home-page{background:#fff!important}
  .home-page .hero{background:#fff!important;color:#090909!important}
  .home-page .hero h1{color:#090909!important}.home-page .hero h1 span{color:#686868!important}.home-page .hero .intro{color:#555!important}
  .home-page .training-carousel{background:#070707!important}
  .home-page .promise{background:#050505!important;color:#fff!important}
  .home-page .activity{background:#fff!important;color:#090909!important}
  .home-page .activity-flow article{background:transparent!important;border-color:#d5d5d5!important}
  .home-page .activity-flow article :is(p,h3,small){color:#090909!important}
  .home-page .activity-flow article>p,.home-page .activity-flow article small{color:#5d5d5d!important}
  .home-page .activity-flow .activity-core{margin:10px 0!important;padding:24px 20px!important;background:#050505!important;border:0!important;border-radius:16px!important;color:#fff!important}
  .home-page .activity-flow .activity-core :is(p,h3,small){color:#fff!important}
  .home-page .activity-flow .activity-core>p,.home-page .activity-flow .activity-core small{color:#b9b9b9!important}
  .home-page .managed ul{background:transparent!important}.home-page .managed li{border-color:#d5d5d5!important}
  .home-page .managed li b{color:#090909!important}.home-page .managed li span{color:#5d5d5d!important}

  .home-page .catalogue{background:#f4f4f4!important}
  .home-page .training-groups article,.home-page .training-groups .complementary-heading{background:transparent!important}
  .home-page .training-groups article.featured{background:#050505!important}
  .home-page .sectors{background:#050505!important}
  .home-page .sector-list{background:transparent!important;border-color:#343434!important}
  .home-page .sector-list span,.home-page .sector-list span:nth-child(even){background:transparent!important;border-right:1px solid #343434!important;border-bottom:1px solid #343434!important}

  .home-page .process{background:#fff!important;color:#090909!important}
  .home-page .process ol{background:transparent!important}.home-page .process li{border-color:#d5d5d5!important}
  .home-page .process :is(h2,h3){color:#090909!important}.home-page .process li p{color:#5d5d5d!important}
  .home-page .principles{background:#f1f1f1!important}.home-page .principle-grid article{background:transparent!important}
  .home-page .quality-home{background:#050505!important}.home-page .quality-home-grid{border-color:#343434!important}.home-page .quality-home-grid article,.home-page .quality-home-grid article:nth-child(2){background:transparent!important;border-color:#343434!important}
  .home-page .faq{background:#fff!important}.home-page .contact{background:#050505!important}
}

/* Finition v7 — rythme champagne, contact arrondi et vraie rupture avec le footer. */
@keyframes ogfChampagneDrift{
  0%,100%{background-position:0% 50%}
  50%{background-position:100% 50%}
}

.home-page .hero{
  background:
    radial-gradient(circle at 82% 20%,rgba(183,154,107,.2),transparent 29%),
    linear-gradient(118deg,#fff 0%,#fff 38%,#f1e4cc 70%,#fff 100%)!important;
  background-size:145% 145%!important;
  animation:ogfChampagneDrift 14s ease-in-out infinite;
}
.home-page .catalogue{
  background:linear-gradient(138deg,#f3f3f3 0%,#fff 46%,#ead9b9 100%)!important;
  background-size:155% 155%!important;
  animation:ogfChampagneDrift 19s ease-in-out infinite reverse;
}
.home-page .principles{
  background:
    radial-gradient(circle at 12% 82%,rgba(183,154,107,.18),transparent 26%),
    linear-gradient(125deg,#f5f5f5 0%,#fff 55%,#f0e5d2 100%)!important;
}

/* Une surface claire au-dessus du footer noir évite le noir sur noir. */
.home-page .contact{
  width:calc(100% - 32px)!important;
  margin:16px auto 0!important;
  border-radius:28px!important;
  overflow:hidden!important;
  background:
    radial-gradient(circle at 88% 14%,rgba(183,154,107,.35),transparent 27%),
    linear-gradient(135deg,#fff 0%,#f8f4ec 57%,#dfc697 100%)!important;
  color:#090909!important;
  box-shadow:0 24px 70px rgba(73,52,20,.13)!important;
}
.home-page .contact :is(h2,b){color:#090909!important}
.home-page .contact .overline{color:var(--accent-dark)!important}
.home-page .contact-layout>div p,.home-page .contact small{color:#595959!important}
.home-page .contact-email{color:#090909!important}
.home-page .contact-choices{gap:14px!important;border:0!important}
.home-page .contact .choice{
  background:rgba(255,255,255,.82)!important;
  color:#090909!important;
  border:1px solid rgba(114,86,45,.25)!important;
  border-radius:22px!important;
  box-shadow:0 18px 42px rgba(73,52,20,.09)!important;
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
  transition:transform .25s ease,box-shadow .25s ease,background .25s ease!important;
}
.home-page .contact .choice :is(span,b){color:#090909!important}
.home-page .contact .choice span{color:#666!important}
.home-page .contact .choice:hover{
  background:#fff!important;
  transform:translateY(-3px);
  box-shadow:0 24px 52px rgba(73,52,20,.14)!important;
}
.home-page footer{margin-top:0!important;border-top:16px solid #fff!important}

@media(max-width:600px){
  .home-page .hero{
    background:linear-gradient(135deg,#fff 0%,#fff 52%,#efe1c8 100%)!important;
    background-size:145% 145%!important;
  }
  .home-page .catalogue{
    background:linear-gradient(145deg,#f4f4f4 0%,#fff 58%,#ead9b9 100%)!important;
    background-size:155% 155%!important;
  }
  .home-page .contact{
    width:calc(100% - 12px)!important;
    margin:6px auto 0!important;
    border-radius:22px!important;
    box-shadow:0 16px 42px rgba(73,52,20,.12)!important;
  }
  .home-page .contact-choices{gap:10px!important;border:0!important}
  .home-page .contact .choice{
    min-height:72px!important;
    padding:18px!important;
    background:rgba(255,255,255,.88)!important;
    border:1px solid rgba(114,86,45,.22)!important;
    border-radius:18px!important;
    box-shadow:0 12px 28px rgba(73,52,20,.08)!important;
  }
  .home-page footer{border-top-width:8px!important}
}

@media(prefers-reduced-motion:reduce){
  .home-page .hero,.home-page .catalogue{animation:none!important}
}

/* Identité v8 — logo plus présent, avec une signature champagne maîtrisée. */
.home-page .brand{
  position:relative;
  gap:14px!important;
  min-height:58px;
}
.home-page .brand img{
  width:48px!important;
  height:48px!important;
  padding:8px;
  border:1px solid rgba(207,182,132,.62);
  border-radius:16px;
  background:linear-gradient(145deg,rgba(255,255,255,.08),rgba(183,154,107,.14));
  filter:invert(76%) sepia(25%) saturate(640%) hue-rotate(358deg) brightness(92%) contrast(88%)!important;
  box-shadow:inset 0 1px rgba(255,255,255,.1),0 10px 28px rgba(0,0,0,.22);
}
.home-page .brand span{
  color:#fff!important;
  font-size:17px!important;
  font-weight:650;
  letter-spacing:-.035em!important;
}
.home-page .brand b{
  color:#cfb684!important;
  font-weight:500!important;
}
.home-page .brand:after{
  content:"";
  width:22px;
  height:1px;
  margin-left:2px;
  background:linear-gradient(90deg,#b79a6b,transparent);
}

@media(max-width:600px){
  .home-page .brand{gap:9px!important;min-height:52px}
  .home-page .brand img{width:40px!important;height:40px!important;padding:7px;border-radius:13px}
  .home-page .brand span{font-size:14px!important}
  .home-page .brand:after{display:none}
}

/* Logo v9 — monogramme blanc, Academy champagne, sans aucune teinte bleue. */
.home-page .brand{
  min-width:74px;
  min-height:62px;
  padding:6px 11px 5px;
  flex-direction:column;
  justify-content:center;
  gap:1px!important;
  border:1px solid #b79a6b;
  border-radius:17px;
  background:#050505;
  box-shadow:inset 0 0 0 1px rgba(207,182,132,.08),0 8px 24px rgba(0,0,0,.2);
}
.home-page .brand img{
  width:42px!important;
  height:31px!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  filter:invert(1) brightness(1.15)!important;
  box-shadow:none!important;
}
.home-page .brand span{
  color:#cfb684!important;
  font-size:10px!important;
  font-weight:600!important;
  line-height:1!important;
  letter-spacing:.08em!important;
  text-transform:uppercase;
}
.home-page .brand:after{display:none!important}

@media(max-width:600px){
  .home-page .brand{
    min-width:62px;
    min-height:50px;
    padding:4px 8px 4px;
    gap:0!important;
    border-radius:14px;
  }
  .home-page .brand img{width:36px!important;height:27px!important}
  .home-page .brand span{display:block!important;font-size:8px!important}
}

/* Keep the existing rounded card design while allowing a horizontal swipe on phones. */
@media(max-width:600px){
  .home-page .activity-flow,
  .home-page .training-groups,
  .home-page .principle-grid,
  .home-page .quality-home-grid{
    display:flex!important;
    flex-wrap:nowrap!important;
    gap:12px!important;
    width:100%!important;
    max-width:100%!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    scroll-snap-type:x mandatory!important;
    scroll-padding-inline:2px;
    padding:2px 2px 16px!important;
    margin-right:0!important;
    scrollbar-width:none;
    -webkit-overflow-scrolling:touch;
    overscroll-behavior-inline:contain;
  }
  .home-page .activity-flow::-webkit-scrollbar,
  .home-page .training-groups::-webkit-scrollbar,
  .home-page .principle-grid::-webkit-scrollbar,
  .home-page .quality-home-grid::-webkit-scrollbar{display:none}
  .home-page .activity-flow article,
  .home-page .activity-flow .activity-core,
  .home-page .training-groups article,
  .home-page .training-groups article.featured,
  .home-page .training-groups .complementary-heading,
  .home-page .principle-grid article,
  .home-page .quality-home-grid article,
  .home-page .quality-home-grid article:nth-child(2){
    flex:0 0 min(82vw,330px)!important;
    width:min(82vw,330px)!important;
    max-width:none!important;
    min-height:240px!important;
    margin:0!important;
    padding:22px!important;
    border:1px solid rgba(183,154,107,.3)!important;
    border-radius:20px!important;
    scroll-snap-align:start;
    box-shadow:none!important;
  }
  .home-page .activity-flow article,.home-page .activity-flow .activity-core,
  .home-page .quality-home-grid article,.home-page .quality-home-grid article:nth-child(2){border-color:#34302b!important;background:#111!important;color:#fff!important}
  .home-page .training-groups article,.home-page .training-groups .complementary-heading,
  .home-page .principle-grid article{background:#f3f3f3!important;color:#111!important}
  .home-page .training-groups article.featured{background:#080808!important;color:#fff!important}
}

/* Horizontal signature, separate from the existing monogram. */
body.home-page .site-header .brand{display:inline-flex!important;flex-direction:row!important;align-items:center!important;justify-content:flex-start!important;gap:10px!important;min-width:0!important;min-height:0!important;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important}
body.home-page .site-header .brand img{width:44px!important;height:44px!important;object-fit:contain!important}
body.home-page .site-header .brand .brand-wordmark{display:inline-flex!important;align-items:baseline!important;gap:.17em!important;color:#fff!important;font:400 23px/1.1 Manrope,Arial,sans-serif!important;letter-spacing:-.05em!important;text-transform:none!important;white-space:nowrap!important}
body.home-page .site-header .brand .brand-wordmark strong{color:#fff!important;font-weight:800!important}
body.home-page .site-header .brand .brand-wordmark em{color:#cfb684!important;font-weight:400!important;font-style:normal!important}

/* The same translucent navigation surface scales from desktop to phone. */
body.home-page .site-header{position:sticky!important;top:8px!important;width:calc(100% - 24px)!important;max-width:1420px!important;height:72px!important;min-height:72px!important;margin:8px auto 0!important;padding:0 22px!important;border:1px solid rgba(207,182,132,.32)!important;border-radius:24px!important;background:rgba(8,8,8,.78)!important;box-shadow:0 12px 34px rgba(0,0,0,.2)!important;backdrop-filter:blur(18px) saturate(120%);-webkit-backdrop-filter:blur(18px) saturate(120%);transform:none!important}
body.home-page .site-header:after{display:none!important}
body.home-page .site-header nav a:is(:hover,.active){background:#cfb684!important;color:#080808!important}
body.home-page .site-header .menu{border-radius:999px!important;min-width:48px;min-height:44px}

/* Black glass keeps the background visible and the navigation legible everywhere. */
body.home-page .site-header{background:rgba(8,8,8,.74)!important;border-color:rgba(207,182,132,.43)!important;color:#fff!important;box-shadow:0 12px 34px rgba(0,0,0,.2)!important}
body.home-page .site-header .brand img{filter:invert(1)!important}
body.home-page .site-header nav a{color:#fff!important;font-weight:700!important}
body.home-page .site-header .menu{background:#fff!important;color:#080808!important}
body.home-page .site-header nav a:is(:hover,.active){background:#cfb684!important;color:#080808!important}

@media(max-width:980px){
  body.home-page .site-header{height:66px!important;min-height:66px!important;padding:0 16px!important}
  body.home-page .site-header nav,body.home-page .site-header nav.open{top:calc(100% + 8px)!important;left:0!important;right:0!important;width:100%!important;border:1px solid rgba(207,182,132,.32)!important;border-radius:20px!important;background:rgba(8,8,8,.94)!important;box-shadow:0 20px 50px rgba(0,0,0,.25)!important;backdrop-filter:blur(18px)}
  body.home-page .site-header nav a{color:#fff!important;border-radius:12px!important}
}
@media(max-width:600px){
  body.home-page .site-header{top:6px!important;width:calc(100% - 12px)!important;margin:6px auto 0!important;border-radius:19px!important}
  body.home-page .site-header .brand{gap:8px!important}
  body.home-page .site-header .brand img{width:36px!important;height:36px!important}
  body.home-page .site-header .brand .brand-wordmark{font-size:19px!important}
  body.home-page .site-header .menu{font-size:13px!important;padding:8px 12px!important}

  /* Remove the rectangular grids behind the rounded swipe cards. */
  body.home-page .quality-home-grid,body.home-page .sector-list{border:0!important;background:transparent!important}
  body.home-page .quality-home-grid article,body.home-page .quality-home-grid article:nth-child(2){border:1px solid rgba(207,182,132,.46)!important;border-radius:20px!important;background:#202020!important;color:#fff!important}
  body.home-page .quality-home-grid article :is(h3,p,span){color:#f5f2eb!important}
  body.home-page .quality-home-grid article p{color:#ddd7ce!important}
  body.home-page .activity-flow article,body.home-page .activity-flow .activity-core{background:#202020!important;color:#fff!important}
  body.home-page .activity-flow article :is(h3,p,small){color:#f1eee8!important}
  body.home-page .activity-flow article>p,body.home-page .activity-flow article small{color:#d8d0c5!important}
  body.home-page .sector-list{display:grid!important;gap:10px!important;grid-template-columns:1fr!important}
  body.home-page .sector-list span,body.home-page .sector-list span:nth-child(even){border:1px solid #4b4032!important;border-radius:18px!important;background:#202020!important;color:#f5f2eb!important}
  body.home-page .contact-choices{gap:10px!important;border:0!important}
  body.home-page .contact .choice{border:1px solid rgba(114,86,45,.3)!important;border-radius:18px!important}
  body.home-page .managed ul,body.home-page .process ol,body.home-page .faq-list{border-radius:18px!important;overflow:hidden!important}
  body.home-page .faq details,body.home-page .process li{border-radius:14px!important}
}

/* A dimensional learning orbit lives inside the existing formation bubble. */
.home-page .training-carousel{position:relative;isolation:isolate}
.home-page .orbit-sculpture{position:absolute;right:-9%;top:19%;width:79%;height:64%;pointer-events:none;z-index:0;transform-style:preserve-3d;filter:drop-shadow(0 0 16px rgba(207,182,132,.32))}
.home-page .orbit-sculpture i{position:absolute;inset:9%;display:block;padding:2px;border-radius:50%;background:conic-gradient(from 25deg,transparent 0 14%,#8f6a39 25%,#f4deb0 39%,transparent 50%,#b7965d 71%,#edd4a1 82%,transparent 95%);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:.72}
.home-page .orbit-sculpture i:nth-child(1){transform:rotate(-25deg) scaleX(.46);animation:ogfRingOne 13s ease-in-out infinite alternate}
.home-page .orbit-sculpture i:nth-child(2){transform:rotate(62deg) scaleX(.43);animation:ogfRingTwo 15s ease-in-out infinite alternate}
.home-page .orbit-sculpture i:nth-child(3){transform:rotate(120deg) scaleX(.55);animation:ogfRingThree 17s ease-in-out infinite alternate}
.home-page .orbit-sculpture b{position:absolute;top:46%;left:48%;width:17px;height:17px;border-radius:50%;background:#e9cd92;box-shadow:0 0 14px #d7af67,0 0 48px rgba(207,182,132,.6);opacity:.78}
@keyframes ogfRingOne{to{transform:rotate(25deg) scaleX(.55)}}
@keyframes ogfRingTwo{to{transform:rotate(109deg) scaleX(.51)}}
@keyframes ogfRingThree{to{transform:rotate(178deg) scaleX(.4)}}
.home-page .training-orbit{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:0;opacity:.9}
.home-page .training-carousel>.carousel-top,.home-page .training-carousel>.carousel-stage,.home-page .training-carousel>.carousel-bottom{position:relative;z-index:1}
.home-page .training-carousel .carousel-top strong{flex:none;white-space:nowrap;position:relative;z-index:2}
.home-page .training-carousel>.carousel-stage{background:linear-gradient(90deg,rgba(7,7,7,.88) 0%,rgba(7,7,7,.48) 63%,transparent 100%)}
.home-page .training-carousel .carousel-title{text-shadow:0 2px 18px rgba(0,0,0,.85)}
@media(min-width:981px){
  .home-page .training-carousel{width:370px!important;max-width:370px!important;aspect-ratio:.91!important;padding:25px!important}
  .home-page .training-carousel .carousel-title{font-size:clamp(31px,2.7vw,37px)!important}
  .home-page .training-carousel .carousel-stage{min-height:190px}
}
@media(max-width:600px){.home-page .orbit-sculpture{right:-15%;top:14%;width:78%;height:70%}.home-page .training-orbit{opacity:1}.home-page .orbit-sculpture i{opacity:.95;filter:drop-shadow(0 0 12px rgba(235,196,123,.36))}.home-page .training-carousel>.carousel-stage{background:linear-gradient(90deg,rgba(7,7,7,.88),rgba(7,7,7,.26) 77%,transparent)}}
@media(prefers-reduced-motion:reduce){.home-page .hero-content>*,.home-page .training-carousel,.home-page .orbit-sculpture i{animation:none!important}.home-page .training-orbit{opacity:.65}}

/* Transparent WebGL scene above the existing hero background and below its content. */
.home-page .hero{position:relative!important;isolation:isolate;overflow:hidden}
body>.site-header+main .hero:after{content:"OGF"!important;position:absolute!important;left:auto!important;right:clamp(350px,37vw,550px)!important;top:54%!important;transform:translateY(-50%)!important;z-index:0!important;width:max-content!important;max-width:calc(100% - 48px)!important;white-space:nowrap!important;font:700 clamp(72px,8vw,118px)/.9 Manrope,Arial,sans-serif!important;letter-spacing:-.1em!important;color:rgba(5,5,5,.1)!important;pointer-events:none!important}
body.home-page .site-header+main .hero>.hero-world{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;z-index:0!important;pointer-events:none;display:block!important;mask-image:linear-gradient(90deg,transparent 0 43%,rgba(0,0,0,.32) 53%,#000 66%);-webkit-mask-image:linear-gradient(90deg,transparent 0 43%,rgba(0,0,0,.32) 53%,#000 66%)}
.home-page .hero-content,.home-page .training-carousel{position:relative;z-index:1}
@media(min-width:981px){.home-page .hero{min-height:700px!important;padding:80px clamp(28px,5vw,80px)!important;grid-template-columns:minmax(0,1.3fr) minmax(300px,.8fr)!important;gap:40px!important}}
@media(max-width:980px){body.home-page .site-header+main .hero:after{right:24px!important;top:54%!important;font-size:clamp(62px,10vw,92px)!important}}
@media(max-width:600px){body.home-page .site-header+main .hero:after{right:20px!important;top:42%!important;font-size:clamp(62px,18vw,82px)!important;color:rgba(5,5,5,.085)!important}body.home-page .site-header+main .hero>.hero-world{top:22%!important;height:78%!important;opacity:1;mask-image:linear-gradient(180deg,transparent 0 30%,#000 50%,#000 94%,transparent);-webkit-mask-image:linear-gradient(180deg,transparent 0 30%,#000 50%,#000 94%,transparent)}}
@media(prefers-reduced-motion:reduce){body.home-page .site-header+main .hero>.hero-world{display:none!important}}

body.home-page{animation:none!important;transform:none!important}
.ogf-entry{position:fixed;inset:0;z-index:200;display:grid;place-items:center;overflow:hidden;color:#fff;background:transparent;isolation:isolate}
.ogf-entry:after{content:"";position:absolute;inset:0;z-index:-2;background:radial-gradient(circle at 50% 47%,#231d13 0%,#0d0c0a 32%,#040404 72%);transition:opacity 1.1s cubic-bezier(.25,.5,.2,1)}
.ogf-entry:before{content:"";position:absolute;inset:-20%;z-index:-1;background:radial-gradient(ellipse 34% 58% at 34% 66%,rgba(207,182,132,.11),transparent 100%),radial-gradient(ellipse 36% 55% at 70% 36%,rgba(207,182,132,.07),transparent 100%);animation:ogfEntryLight 6s ease-in-out infinite alternate;transition:opacity 1.55s ease;pointer-events:none}
.ogf-entry-scene{position:relative;width:min(68vmin,470px);aspect-ratio:1;display:grid;place-items:center;transform-style:preserve-3d;animation:ogfEntryAppear .75s cubic-bezier(.2,.8,.2,1) both}
.ogf-entry-rings{position:absolute;inset:6%;pointer-events:none;transform-style:preserve-3d;filter:drop-shadow(0 0 16px rgba(207,182,132,.28))}
.ogf-entry-rings i{position:absolute;inset:12%;display:block;border:1.5px solid rgba(235,203,145,.7);border-radius:50%;box-shadow:inset 0 0 20px rgba(207,182,132,.1),0 0 18px rgba(207,182,132,.12)}
.ogf-entry-rings i:nth-child(1){animation:ogfEntryRingA 4s ease-in-out infinite alternate}
.ogf-entry-rings i:nth-child(2){inset:16%;border-color:rgba(191,146,78,.65);animation:ogfEntryRingB 5.2s ease-in-out infinite alternate}
.ogf-entry-rings i:nth-child(3){inset:23%;border-color:rgba(244,222,176,.48);animation:ogfEntryRingC 3.8s ease-in-out infinite alternate}
.ogf-entry-rings b{position:absolute;top:29%;right:20%;width:12px;height:12px;border-radius:50%;background:#f5dda8;box-shadow:0 0 16px 7px rgba(231,190,116,.45);animation:ogfEntryNode 3s ease-in-out infinite alternate}
@keyframes ogfEntryRingA{from{transform:rotate(-32deg) rotateX(57deg)}to{transform:rotate(42deg) rotateX(65deg)}}
@keyframes ogfEntryRingB{from{transform:rotate(68deg) rotateY(61deg)}to{transform:rotate(145deg) rotateY(54deg)}}
@keyframes ogfEntryRingC{from{transform:rotate(-95deg) rotateX(68deg)}to{transform:rotate(-18deg) rotateX(58deg)}}
@keyframes ogfEntryNode{to{transform:translate(-44px,28px) scale(.68);opacity:.55}}
.ogf-entry-orbit{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.ogf-entry-brand{position:absolute;bottom:-7%;display:flex;align-items:baseline;gap:.18em;font:400 clamp(25px,4vw,42px)/1 Manrope,Arial,sans-serif;letter-spacing:-.06em;white-space:nowrap;animation:ogfEntryWord .7s .45s both ease-out}
.ogf-entry-brand strong{font-weight:800;color:#fff}.ogf-entry-brand em{font-style:normal;color:#d4b782}
.ogf-entry-skip{position:absolute;right:max(20px,env(safe-area-inset-right));bottom:max(22px,env(safe-area-inset-bottom));z-index:3;padding:10px 15px;border:1px solid rgba(226,197,144,.55);border-radius:999px;background:rgba(12,11,9,.6);color:#f2e8d6;font:600 13px Manrope,Arial,sans-serif;cursor:pointer}
.ogf-entry-skip:hover,.ogf-entry-skip:focus-visible{background:#d4b782;color:#080808}
.ogf-entry.is-leaving{pointer-events:none;animation:ogfEntryExit .8s ease-in-out forwards}
.ogf-entry.is-leaving:before,.ogf-entry.is-leaving:after{opacity:0}
.ogf-entry.is-leaving .ogf-entry-scene{opacity:0;transform:scale(1.12);animation:none;transition:opacity .8s ease,transform .8s cubic-bezier(.22,.65,.24,1)}
.ogf-entry.is-skipped{animation-duration:.15s}
.ogf-entry.is-skipped .ogf-entry-scene{transition-duration:.15s}
@keyframes ogfEntryExit{to{opacity:0;visibility:hidden}}
html.ogf-entry-active{overflow:hidden}
/* The covered homepage needs one ready frame, not a second animated scene. */
html.ogf-intro-play:not(.ogf-entry-revealing) body.home-page main,
html.ogf-intro-play:not(.ogf-entry-revealing) body.home-page main *,
html.ogf-intro-play:not(.ogf-entry-revealing) body.home-page main *::before,
html.ogf-intro-play:not(.ogf-entry-revealing) body.home-page main *::after{animation-play-state:paused!important}
.ogf-entry-scene{will-change:opacity,transform}
.ogf-entry-rings i{will-change:transform}
body.home-page .hero-content>*,body.home-page .training-carousel{animation:none!important;opacity:1!important;transform:none!important}
@keyframes ogfEntryAppear{from{opacity:.72;transform:scale(.84) rotate(-12deg)}to{opacity:1;transform:scale(1) rotate(0)}}
@keyframes ogfEntryWord{from{opacity:0;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}
@keyframes ogfEntryLight{to{transform:translate3d(2%,-2%,0)}}
@media(max-width:600px){.ogf-entry-scene{width:min(82vw,420px)}.ogf-entry-brand{bottom:-10%;font-size:30px}}
@media(prefers-reduced-motion:reduce){.ogf-entry,.ogf-entry *{animation:none!important;transition:none!important}}

/* One black, white and champagne visual language across the Site. */
:root{--ogf-champagne:#cfb684;--ogf-black:#080808;--ogf-cream:#f8f6f1}

/* Figures shown consistently on the quality page and its home preview. */
.quality-figures{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;overflow:hidden;border:1px solid rgba(207,182,132,.45);border-radius:24px;background:rgba(207,182,132,.45)}
.quality-figures>div{min-width:0;padding:29px 26px 30px;display:flex;flex-direction:column;gap:13px;background:#11100f;color:#fff}
.quality-figures strong{font:650 clamp(37px,4vw,58px)/1 Manrope,Arial,sans-serif;letter-spacing:-.065em;color:#e4c99a}
.quality-figures span{max-width:310px;font:500 15px/1.45 Manrope,Arial,sans-serif;color:#eee9e0}
.results-hero .quality-figures-page{grid-column:1/-1;grid-row:2;margin:0;width:100%}
.results-hero>p{grid-column:2;grid-row:1}
.quality-figures-home{margin-top:48px}
@media(max-width:900px){.results-hero>p{grid-column:1;grid-row:3}}
@media(max-width:600px){.quality-figures{grid-template-columns:1fr;border-radius:20px}.quality-figures>div{padding:20px 22px;gap:5px}.quality-figures strong{font-size:clamp(37px,11vw,48px)}.quality-figures span{font-size:14px;max-width:none}.quality-figures-home{margin-top:30px}.results-hero{gap:25px!important;padding-bottom:58px!important}}

/* Interior pages use the same floating, translucent navigation as the home page. */
body:not(.home-page) .bar{position:sticky!important;top:8px!important;width:calc(100% - 24px);max-width:1420px;height:72px;margin:8px auto 0;padding:0 22px;border:1px solid rgba(207,182,132,.36);border-radius:24px;background:rgba(8,8,8,.82)!important;color:#fff;box-shadow:0 12px 34px rgba(0,0,0,.2);backdrop-filter:blur(18px) saturate(120%)!important;-webkit-backdrop-filter:blur(18px) saturate(120%)!important;z-index:30;transform:none!important}
body:not(.home-page) .bar .logo{display:inline-flex;align-items:center;gap:10px;min-width:0;white-space:nowrap;color:#fff}
body:not(.home-page) .bar .logo img{width:44px;height:44px;object-fit:contain;filter:invert(1)}
body:not(.home-page) .bar .brand-wordmark{display:inline-flex;gap:.17em;align-items:baseline;font:400 23px/1.1 Manrope,Arial,sans-serif;letter-spacing:-.05em}
body:not(.home-page) .bar .brand-wordmark strong{font-weight:800;color:#fff}
body:not(.home-page) .bar .brand-wordmark em{font-style:normal;color:var(--ogf-champagne)}
body:not(.home-page) .bar nav{display:flex;align-items:center;gap:5px;min-width:0}
body:not(.home-page) .bar nav a{display:inline-flex;align-items:center;min-height:42px;padding:9px 15px;border-radius:999px;color:#f6f4f0;text-decoration:none;white-space:nowrap;font:600 13px/1.2 Manrope,Arial,sans-serif;transition:background .22s ease,color .22s ease}
body:not(.home-page) .bar nav a:is(:hover,[aria-current="page"]){background:rgba(207,182,132,.94);color:#080808}
body:not(.home-page) .bar nav .cta{background:rgba(255,255,255,.1);border:1px solid rgba(207,182,132,.4);color:#fff}
body:not(.home-page) .bar nav .cta:hover{background:var(--ogf-champagne);color:#080808}

/* Replace the old blue-grey gradients while retaining each page's content and layout. */
body:not(.home-page) .mast,body:not(.home-page) .results-hero{background:#f7f7f6!important;background-image:radial-gradient(circle at 88% 12%,rgba(207,182,132,.18),transparent 36%),linear-gradient(145deg,#fff 0%,#f6f5f2 100%)!important}
body:not(.home-page) :is(.mast aside,.contact-box,.training-detail .summary,.metric.featured,.quality-proof){background:#080808!important;background-image:radial-gradient(circle at 95% 5%,rgba(207,182,132,.17),transparent 42%),linear-gradient(135deg,#050505,#171512)!important;border-color:#3f3628!important;color:#fff!important}
body:not(.home-page) :is(.tag,.eyebrow,.section-label,.form-kicker){color:#9a7748!important}
body:not(.home-page) :is(.mast aside,.contact-box,.training-detail .summary,.metric.featured,.quality-proof) :is(.tag,.eyebrow,.section-label,.metric-state){color:#d9c399!important}
body:not(.home-page) :is(.page>.grid .card,.secondary-offer .card,.training-detail .outcome,.training-detail .side-card,.metric:not(.featured),.training-detail .bottom-cta){background:#f8f8f7!important;background-image:linear-gradient(145deg,#fff,#f5f4f1)!important;border-color:#e7e0d4!important;color:#111!important}
body:not(.home-page) :is(.page>.grid .card,.secondary-offer .card,.training-detail .outcome,.metric:not(.featured)):nth-child(even){background-image:linear-gradient(145deg,#fbfaf7,#eeeae2)!important}
body:not(.home-page) :is(.card small,.outcome span,.summary-top,.facts dt,.metric-state){color:#a58a60!important}
body:not(.home-page) :is(.mast aside,.contact-box,.training-detail .summary,.metric.featured,.quality-proof) p{color:#d5d0c7!important}
body:not(.home-page) :is(.card,.outcome,.side-card,.metric,.summary,.mast aside,.contact-box){border-radius:24px}

/* Rounded surfaces carry the original moving edge light. */
body:not(.home-page) :is(.page .card,.training-detail .outcome,.training-detail .side-card,.training-detail .bottom-cta,.metric,.mast aside,.contact-box,.training-detail .summary){position:relative;isolation:isolate}
body:not(.home-page) .metric{overflow:hidden}

/* Keep the existing homepage composition while removing blue from its accents. */
body.home-page :is(.promise,.sectors,.quality-home,.activity-flow .activity-core,.training-groups article.featured){background-image:radial-gradient(circle at 90% 8%,rgba(207,182,132,.15),transparent 40%),linear-gradient(135deg,#050505,#171512)!important}
body.home-page :is(.overline,.tag,.section-label){color:#9a7748}
body.home-page :is(.promise,.sectors,.quality-home) .overline{color:#dcc9a7!important}
body.home-page .contact{background:radial-gradient(circle at 88% 14%,rgba(183,154,107,.3),transparent 28%),linear-gradient(135deg,#fff 0%,#f8f4ec 57%,#dfc697 100%)!important;color:#090909!important}
body.home-page .contact :is(h2,b){color:#090909!important}
body.home-page .contact .overline{color:#8c6839!important}
body.home-page .contact :is(small,.choice span){color:#555!important}
body.home-page .contact .contact-email{color:#090909!important}
body.home-page .contact .choice{background:rgba(255,255,255,.86)!important;border:1px solid rgba(114,86,45,.3)!important;border-radius:22px!important;color:#090909!important}
body.home-page .contact .choice b{color:#090909!important}
body.home-page :is(.training-carousel,.training-groups article,.principle-grid article,.quality-home-grid article,.activity-flow article,.contact .choice){position:relative;isolation:isolate}
body.home-page :is(.training-groups article,.principle-grid article,.quality-home-grid article,.activity-flow article,.contact .choice){border-radius:20px!important}
body.home-page .mobile-dock{background:rgba(8,8,8,.94)!important;border-color:rgba(207,182,132,.35)!important}
body.home-page .mobile-dock a:active{background:#fff!important;color:#050505!important}

@media(max-width:760px){
  body:not(.home-page) .bar{top:6px!important;width:calc(100% - 12px);height:64px;min-height:64px;margin-top:6px;padding:8px 12px;display:flex;align-items:center;border-radius:19px}
  body:not(.home-page) .bar .logo{align-self:flex-start;min-height:38px}
  body:not(.home-page) .bar .logo img{width:36px;height:36px}
  body:not(.home-page) .bar .brand-wordmark{font-size:19px}
  body:not(.home-page) .bar nav{display:flex!important;overflow-x:auto;max-width:100%;gap:3px}
  body:not(.home-page) .bar nav::-webkit-scrollbar{display:none}
  body:not(.home-page) .bar nav a,body.training-detail .bar nav a:not(.cta){display:inline-flex!important;flex:none;min-height:38px;padding:8px 12px;font-size:12px}
  body:not(.home-page) .mast{margin-top:16px}
}
@media(max-width:600px){
  body:not(.home-page) .bar nav{display:none!important}
  body.home-page .site-header nav,body.home-page .site-header nav.open{top:74px!important;left:8px!important;right:8px!important;width:auto!important;max-height:calc(100dvh - 94px)}
  body.home-page :is(#notre-role,#formations,#secteurs,#fonctionnement,#suivi-qualite,#contact){scroll-margin-top:94px}
  body:not(.home-page) .results-heading{border-top:0}
}
/* Preserve navigation on small tablets, where the phone dock is absent. */
@media(min-width:601px) and (max-width:760px){
  body:not(.home-page) .bar{height:auto;min-height:96px;flex-wrap:wrap;gap:4px}
  body:not(.home-page) .bar nav{width:100%;justify-content:flex-start}
}
body .motion-paused::after{animation-play-state:paused!important}
body :is(a,button,input,textarea,select,summary):focus-visible{outline:2px solid #b58b4d;outline-offset:4px}
body :is(.contact-email,.foot p,.form-info){overflow-wrap:anywhere}
body :is(.hero,.mast,.layout,.grid,.form-grid)>*{min-width:0}
body :is(.hero h1,.mast h1,.content h2){overflow-wrap:break-word}
@media(max-width:600px){
  body .catalogue-request,body .bottom-cta a,body .contact-box a{min-height:48px}
  body:not(.home-page) dialog{width:calc(100% - 16px);max-height:90dvh;margin:auto;border-radius:22px}
  body:not(.home-page) dialog form{height:auto;max-height:90dvh;overflow-y:auto;padding:32px 20px calc(24px + env(safe-area-inset-bottom))}
  body:not(.home-page) dialog .form-grid{grid-template-columns:1fr}
  body:not(.home-page) dialog .wide{grid-column:auto}
}
/* Restore the validated wide travelling glow, changing only its blue to champagne. */
@keyframes ogfBorderRun{
  0%{background-position:-140% 0;opacity:0}
  18%{opacity:.45}
  38%,66%{opacity:1}
  86%{opacity:.45}
  100%{background-position:240% 0;opacity:0}
}
body.home-page :is(.training-groups article,.principle-grid article,.quality-home-grid article,.activity-flow article,.contact .choice)::after,
body:not(.home-page) :is(.page .card,.training-detail .outcome,.training-detail .side-card,.training-detail .bottom-cta,.metric,.mast aside,.contact-box,.training-detail .summary)::after{
  content:""!important;display:block!important;position:absolute!important;inset:0!important;z-index:5!important;
  border-radius:inherit!important;padding:1px!important;pointer-events:none!important;
  background-image:linear-gradient(110deg,transparent 8%,rgba(139,91,24,.9) 23%,#d9a747 34%,#fff0bb 39%,#b47a2c 47%,transparent 56%)!important;
  background-size:240% 100%!important;background-repeat:no-repeat!important;
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0)!important;
  -webkit-mask-composite:xor!important;mask-composite:exclude!important;
  animation:ogfBorderRun 7s linear infinite!important;
}
/* The opening carousel stands on its own; adjacent cards do not flash together. */
body.home-page .training-carousel::after{display:none!important}
body.home-page :is(.training-groups,.principle-grid,.quality-home-grid,.activity-flow) > :nth-child(3n + 2)::after,
body:not(.home-page) :is(.grid,.outcomes,.metric-grid) > :nth-child(3n + 2)::after{animation-delay:-2.3s!important}
body.home-page :is(.training-groups,.principle-grid,.quality-home-grid,.activity-flow) > :nth-child(3n)::after,
body:not(.home-page) :is(.grid,.outcomes,.metric-grid) > :nth-child(3n)::after{animation-delay:-4.6s!important}

/* Three separate light cards on the dark quality section, swipeable on phones. */
body.home-page .quality-home-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:14px!important;border:0!important;background:transparent!important}
body.home-page .quality-home-grid article,body.home-page .quality-home-grid article:nth-child(2){min-width:0;border:1px solid rgba(207,182,132,.43)!important;border-radius:22px!important;background:linear-gradient(145deg,#25221e 0%,#181715 52%,#3a2f20 100%)!important;color:#fff!important;box-shadow:0 18px 36px rgba(0,0,0,.18)!important}
body.home-page .quality-home-grid article :is(h3,p,span),body.home-page .quality-home-grid article:nth-child(2) :is(h3,p,span){color:#fff!important}
body.home-page .quality-home-grid article p,body.home-page .quality-home-grid article:nth-child(2) p{color:#e0d9cb!important}
body.home-page .quality-home-grid article>span{color:#e4c99a!important}
/* Clear distinction between navigable cards and descriptive content. */
body.home-page .sector-list span{position:relative;cursor:pointer}
body.home-page .sector-list span>a{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:inherit;color:inherit;text-decoration:none;cursor:pointer}
body.home-page .sector-list span:focus-within{outline:2px solid #d9b675;outline-offset:3px}
body.home-page :is(.training-groups article,.principle-grid article,.quality-home-grid article){position:relative;cursor:pointer}
body.home-page :is(.training-groups,.principle-grid,.quality-home-grid) .card-hit-area{position:absolute;inset:0;z-index:6;border-radius:inherit;cursor:pointer}
body.home-page :is(.training-groups article,.principle-grid article,.quality-home-grid article):focus-within{outline:2px solid #e4c99a;outline-offset:3px}
body.home-page .process li{cursor:default}
body.home-page .activity-flow article,
body.home-page .activity-flow article *{cursor:pointer!important;user-select:none}
body.home-page .activity-flow .activity-hit-area{position:absolute;inset:0;z-index:6;width:100%;height:100%;padding:0;border:0;border-radius:inherit;background:transparent;text-decoration:none}
body.home-page .activity-flow article:focus-within{outline:2px solid #c9a96e;outline-offset:3px}
body:not(.home-page) .page .card:not(a){cursor:default;scroll-margin-top:110px}
body:not(.home-page) .page .card:not(a):hover{transform:none}
body:not(.home-page) :is(.metric,.training-detail .outcome,.training-detail .side-card,.mast aside){cursor:default}
/* Champagne appears within each light section and fades back to white at its edges. */
body.home-page :is(.hero,.catalogue,.principles){background-image:radial-gradient(ellipse at 82% 48%,rgba(207,182,132,.25),transparent 46%),linear-gradient(180deg,#fff 0%,#faf8f3 25%,#f5eee1 58%,#fff 100%)!important;background-size:100% 100%!important}
body.home-page .contact{background-image:radial-gradient(ellipse at 82% 42%,rgba(207,182,132,.29),transparent 42%),linear-gradient(180deg,#fff 0%,#f6efe4 50%,#fff 100%)!important}
body.home-page footer{border-top:0!important;margin-top:0!important}
body.home-page footer img{filter:invert(1)}
@media(max-width:760px){
  body.home-page .quality-home-grid{display:flex!important;gap:12px!important;overflow-x:auto!important;scroll-snap-type:x mandatory;scroll-padding-left:2px;overscroll-behavior-inline:contain;padding:2px 2px 18px;margin-right:-18px;scrollbar-width:none}
  body.home-page .quality-home-grid::-webkit-scrollbar{display:none}
  body.home-page .quality-home-grid article,body.home-page .quality-home-grid article:nth-child(2){flex:0 0 min(80vw,320px)!important;min-height:190px;scroll-snap-align:start}
}
@media(prefers-reduced-motion:reduce){body.home-page :is(.training-groups article,.principle-grid article,.quality-home-grid article,.activity-flow article,.contact .choice)::after,body:not(.home-page) :is(.page .card,.training-detail .outcome,.training-detail .side-card,.training-detail .bottom-cta,.metric,.mast aside,.contact-box,.training-detail .summary)::after{animation:none!important;opacity:0!important}}

body.training-detail .course-explanation>p:not(.section-label){font-size:18px;line-height:1.7}
body.training-detail .course-explanation h3{font:600 clamp(24px,2.5vw,32px)/1.2 Manrope,sans-serif;letter-spacing:-.035em;margin:38px 0 10px}

body.training-detail .sector-course-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:32px}
body.training-detail .sector-course-grid a{position:relative;display:flex;flex-direction:column;justify-content:center;min-height:108px;padding:20px 45px 20px 22px;border:1px solid #e4dac9;border-radius:18px;background:#faf8f4;text-decoration:none;transition:background .2s,border-color .2s,transform .2s}
body.training-detail .sector-course-grid a:hover,body.training-detail .sector-course-grid a:focus-visible{background:#f0e8da;border-color:#b99b68;transform:translateY(-2px)}
body.training-detail .sector-course-grid small{font:700 11px/1.3 Manrope,sans-serif;letter-spacing:.08em;text-transform:uppercase;color:#806b4b}
body.training-detail .sector-course-grid strong{font:600 18px/1.25 Manrope,sans-serif;margin-top:8px;color:#111}
body.training-detail .sector-course-grid a>span{position:absolute;right:20px;top:50%;transform:translateY(-50%);font-size:21px;color:#826d4e}
@media(max-width:600px){body.training-detail .sector-course-grid{grid-template-columns:1fr}body.training-detail .sector-course-grid a{min-height:94px}}

/* Keep the champagne field alive behind the moving hero sculpture. */
@keyframes ogfHeroGradientMove{from{background-position:12% 35%,50% 50%}to{background-position:85% 65%,50% 50%}}
body.home-page .hero{background-image:radial-gradient(ellipse at 74% 48%,rgba(207,169,103,.38),transparent 42%),linear-gradient(112deg,#fff 0%,#f9f5ed 30%,#f0e3cc 62%,#fff 100%)!important;background-size:125% 125%,100% 100%!important;animation:ogfHeroGradientMove 18s ease-in-out infinite alternate!important}
@media(max-width:600px){body.home-page .hero{background-image:radial-gradient(ellipse at 68% 68%,rgba(207,169,103,.34),transparent 48%),linear-gradient(145deg,#fff 0%,#faf7f0 32%,#eee0c8 72%,#fff 100%)!important;background-size:140% 140%,100% 100%!important;animation-duration:14s!important}}
@media(prefers-reduced-motion:reduce){body.home-page .hero{animation:none!important}}

@media(max-width:600px){
  body.home-page .site-header+main .hero:after{display:none!important}
  body.home-page .hero{gap:18px!important}
  body.home-page .actions{margin-top:14px!important;gap:8px!important}
  body.home-page .hero .simple-link{position:relative;z-index:2;min-height:48px;padding:10px 18px;border:1px solid rgba(135,101,51,.28);border-radius:999px;background:rgba(255,255,255,.9);font-size:14px;font-weight:700;text-decoration:none;box-shadow:0 8px 24px rgba(73,52,20,.08)}
}
