/*
Theme Name: CS-WAKA
Theme URI: https://cswaka.com
Author: Manus AI
Description: Thème institutionnel léger du Complexe scolaire Wa Kamissoko.
Version: 1.0.0
Text Domain: cswaka
*/

:root{--plum:#7a1f5b;--plum-dark:#4c173b;--plum-deep:#321126;--gold:#e6b84a;--blue:#123b5d;--ink:#18212b;--muted:#66717c;--paper:#fffdf9;--soft:#f2f4f6;--line:#e6e8eb;--white:#fff;--radius:18px;--shadow:0 18px 50px rgba(24,33,43,.09);--serif:Georgia,'Times New Roman',serif;--sans:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.65;-webkit-font-smoothing:antialiased}body.menu-open{overflow:hidden}a{color:inherit;text-decoration:none}a:hover{color:var(--plum)}img{display:block;max-width:100%;height:auto}button,input,textarea,select{font:inherit}.container{width:min(1180px,calc(100% - 48px));margin:0 auto}.screen-reader-text{border:0;clip:rect(1px,1px,1px,1px);clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;word-wrap:normal!important}.screen-reader-text:focus{background:#fff;clip:auto!important;clip-path:none;color:#000;display:block;font-size:1rem;height:auto;left:8px;line-height:normal;padding:14px 18px;top:8px;width:auto;z-index:100000}.site-main{overflow:hidden}.topline{background:var(--plum-deep);color:rgba(255,255,255,.72);font-size:12px;letter-spacing:.01em}.topline-inner{display:flex;justify-content:space-between;align-items:center;min-height:38px}.topline-location,.topline-links{display:flex;align-items:center;gap:22px}.topline-links a:hover{color:var(--gold)}.topline-dot{width:6px;height:6px;background:var(--gold);border-radius:50%;display:inline-block;margin-right:8px}.site-header{position:relative;z-index:10;background:var(--paper);border-bottom:1px solid rgba(24,33,43,.06)}.header-inner{display:flex;align-items:center;justify-content:space-between;min-height:84px}.brand{display:inline-flex;align-items:center;gap:11px;min-width:max-content}.brand-mark{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:var(--plum);color:var(--white);font-family:var(--serif);font-size:26px;font-weight:700;font-style:italic;line-height:1;box-shadow:5px 5px 0 var(--gold)}.brand-text{display:flex;flex-direction:column;line-height:1.05}.brand-text strong{font-size:16px;letter-spacing:.16em;color:var(--plum-dark)}.brand-text small{font-size:9px;color:var(--muted);letter-spacing:.02em;margin-top:5px}.primary-navigation{display:flex;align-items:center;gap:28px}.menu{display:flex;align-items:center;gap:27px;list-style:none;padding:0;margin:0}.menu a{font-size:13px;font-weight:600;color:#4d5962;transition:color .2s ease}.menu a:hover,.menu .current-menu-item>a{color:var(--plum)}.button{display:inline-flex;align-items:center;justify-content:center;gap:13px;border:0;border-radius:999px;padding:14px 23px;font-size:13px;font-weight:700;line-height:1;transition:transform .2s ease,box-shadow .2s ease,background .2s ease;color:var(--white)}.button:hover{color:var(--white);transform:translateY(-2px);box-shadow:0 10px 22px rgba(76,23,59,.2)}.button-small{padding:12px 18px;font-size:12px}.nav-cta{background:var(--plum)}.button-gold{background:var(--gold);color:var(--plum-deep)}.button-gold:hover{color:var(--plum-deep);box-shadow:0 10px 22px rgba(230,184,74,.22)}.button-dark{background:var(--plum-dark)}.menu-toggle{display:none;background:transparent;border:0;padding:10px;cursor:pointer}.menu-line{display:block;width:24px;height:2px;background:var(--plum-dark);margin:5px 0;transition:transform .2s ease}.hero-section{position:relative;isolation:isolate;overflow:hidden;background:var(--plum-deep);color:var(--white);min-height:645px;padding:90px 0 42px}.hero-section:before{content:'';position:absolute;inset:0;z-index:-2;background:radial-gradient(circle at 81% 18%,rgba(122,31,91,.8),transparent 34%),linear-gradient(120deg,var(--plum-deep) 0%,#4d193e 56%,#72225a 100%)}.hero-section:after{content:'';position:absolute;inset:auto -8% -22% 44%;height:420px;z-index:-1;border:1px solid rgba(230,184,74,.2);border-radius:50%;transform:rotate(-12deg)}.hero-orb{position:absolute;border-radius:50%;filter:blur(1px);opacity:.45;z-index:-1}.hero-orb-one{width:280px;height:280px;right:7%;top:80px;background:rgba(230,184,74,.08);border:1px solid rgba(230,184,74,.25)}.hero-orb-two{width:520px;height:520px;left:-290px;bottom:-330px;border:1px solid rgba(255,255,255,.11)}.hero-grid{display:grid;grid-template-columns:1.03fr .97fr;gap:60px;align-items:center}.eyebrow{display:flex;align-items:center;gap:12px;color:var(--plum);font-size:11px;font-weight:800;letter-spacing:.15em;text-transform:uppercase;margin:0 0 23px}.eyebrow-light{color:var(--gold)}.eyebrow-line{display:inline-block;width:28px;height:2px;background:currentColor}.hero-copy h1{font-family:var(--serif);font-weight:400;font-size:clamp(48px,6vw,82px);letter-spacing:-.045em;line-height:1.02;margin:0 0 25px}.hero-copy h1 em,.intro-section h2 em,.section-heading-row h2 em,.features-heading h2 em,.admissions-copy h2 em{color:var(--gold);font-style:italic}.hero-lead{max-width:490px;color:rgba(255,255,255,.72);font-size:17px;line-height:1.7;margin:0 0 33px}.hero-actions{display:flex;align-items:center;gap:29px}.text-link{display:inline-flex;align-items:center;gap:12px;color:var(--plum);font-size:13px;font-weight:800;border-bottom:1px solid currentColor;padding-bottom:4px}.text-link:hover{color:var(--plum-dark)}.text-link-light{color:var(--white)}.text-link-light:hover{color:var(--gold)}.hero-visual{min-height:405px;position:relative;display:flex;align-items:center;justify-content:center}.hero-card{position:absolute;width:min(365px,80%);height:370px;border-radius:22px}.hero-card-back{background:rgba(230,184,74,.18);transform:rotate(8deg) translate(34px,0);border:1px solid rgba(230,184,74,.35)}.hero-card-main{padding:29px;background:linear-gradient(150deg,#8e2a6d,#55153f);border:1px solid rgba(255,255,255,.21);box-shadow:26px 25px 0 rgba(230,184,74,.14),0 30px 70px rgba(0,0,0,.28);display:flex;flex-direction:column;justify-content:space-between;transform:rotate(-4deg)}.hero-card-top,.hero-card-bottom{display:flex;justify-content:space-between;align-items:flex-start}.hero-card-chip{font-size:11px;letter-spacing:.18em;font-weight:800}.hero-card-year{font-size:10px;color:rgba(255,255,255,.6)}.hero-emblem{align-self:center;width:140px;height:140px;border-radius:50%;display:grid;place-items:center;border:1px solid rgba(230,184,74,.7);box-shadow:0 0 0 13px rgba(230,184,74,.08),0 0 0 26px rgba(255,255,255,.04);font-family:var(--serif);font-size:104px;font-weight:700;font-style:italic;color:var(--gold);line-height:1}.hero-card-bottom{align-items:flex-end}.hero-card-bottom strong{font-family:var(--serif);font-size:18px;line-height:1.2;font-weight:400}.hero-card-arrow,.news-card-arrow{display:grid;place-items:center;width:37px;height:37px;border-radius:50%;background:var(--gold);color:var(--plum-deep);font-size:20px}.hero-note{position:absolute;display:flex;gap:9px;align-items:center;background:rgba(255,255,255,.97);color:var(--ink);border-radius:11px;padding:13px 15px;font-size:11px;line-height:1.3;box-shadow:0 15px 30px rgba(0,0,0,.16);transform:rotate(2deg)}.hero-note strong{font-size:12px;color:var(--plum)}.hero-note-one{left:0;bottom:42px}.hero-note-two{right:-12px;top:42px;transform:rotate(-4deg)}.note-icon{display:grid;place-items:center;width:27px;height:27px;border-radius:8px;background:rgba(122,31,91,.12);color:var(--plum);font-size:16px}.note-icon-gold{background:rgba(230,184,74,.22);color:#a56c09}.hero-bottom-line{position:relative;display:flex;justify-content:space-between;align-items:center;margin-top:65px;padding-top:17px;border-top:1px solid rgba(255,255,255,.18);color:rgba(255,255,255,.54);font-size:11px;text-transform:uppercase;letter-spacing:.1em}.hero-bottom-line i{display:inline-block;width:4px;height:4px;background:var(--gold);border-radius:50%;margin:0 10px;vertical-align:middle}.scroll-hint{color:var(--gold)}.scroll-hint b{font-size:17px;margin-left:7px}.section-space{padding:105px 0}.intro-grid{display:grid;grid-template-columns:1fr 1fr;gap:110px}.intro-section h2,.section-heading-row h2,.features-heading h2,.admissions-copy h2{font-family:var(--serif);font-size:clamp(40px,4vw,60px);font-weight:400;letter-spacing:-.04em;line-height:1.04;margin:0;color:var(--plum-dark)}.intro-copy{padding-top:35px;max-width:495px}.lead-text{font-family:var(--serif);font-size:23px;line-height:1.35;color:var(--plum-dark);margin:0 0 20px}.intro-copy p:not(.lead-text){color:var(--muted);margin:0 0 26px}.section-muted{background:var(--soft)}.section-heading-row{display:flex;justify-content:space-between;align-items:flex-end;gap:45px;margin-bottom:54px}.section-aside{max-width:335px;color:var(--muted);font-size:14px;margin:0 0 5px}.sector-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.sector-card{min-height:330px;padding:26px 28px 25px;border-radius:var(--radius);display:flex;flex-direction:column;justify-content:space-between;transition:transform .25s ease,box-shadow .25s ease}.sector-card:hover{transform:translateY(-6px);box-shadow:var(--shadow);color:inherit}.sector-plum{background:var(--plum);color:var(--white)}.sector-blue{background:var(--blue);color:var(--white)}.sector-gold{background:var(--gold);color:var(--plum-deep)}.sector-card-top{display:flex;justify-content:space-between}.sector-number{font-size:12px;letter-spacing:.1em;opacity:.62}.sector-arrow{font-size:25px}.sector-card-body{max-width:270px}.card-eyebrow{font-size:10px;letter-spacing:.13em;text-transform:uppercase;font-weight:800;opacity:.66}.sector-card h3{font-family:var(--serif);font-size:28px;line-height:1.12;font-weight:400;margin:11px 0 10px}.sector-card p{font-size:13px;line-height:1.55;opacity:.74;margin:0}.card-link{font-size:12px;font-weight:800}.card-link span{margin-left:7px}.features-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:120px;align-items:start}.features-heading h2{font-size:47px}.features-heading .text-link{margin-top:35px}.feature-list{border-top:1px solid var(--line)}.feature-item{display:flex;align-items:center;gap:17px;padding:24px 0;border-bottom:1px solid var(--line);transition:padding .2s ease}.feature-item:hover{padding-left:8px;color:inherit}.feature-icon{display:grid;place-items:center;width:45px;height:45px;background:rgba(122,31,91,.08);border-radius:12px;color:var(--plum);font-size:22px}.feature-item>span:nth-child(2){display:flex;flex-direction:column;flex:1}.feature-item strong{font-size:15px;color:var(--plum-dark)}.feature-item small{font-size:12px;color:var(--muted);margin-top:3px}.feature-arrow{font-size:22px;color:var(--plum)}.section-plum{background:var(--plum-dark);color:var(--white)}.section-heading-light h2{color:var(--white)}.news-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:21px}.news-card{background:#fff;border-radius:var(--radius);overflow:hidden;color:var(--ink)}.news-card-media,.archive-card-media{display:flex;position:relative;align-items:center;justify-content:center;height:198px;background:linear-gradient(135deg,#e7cadb,#75335f);overflow:hidden}.news-card-media img,.archive-card-media img{width:100%;height:100%;object-fit:cover}.news-placeholder{font-family:var(--serif);font-style:italic;font-size:45px;color:rgba(255,255,255,.7);letter-spacing:-.07em}.news-card-arrow{position:absolute;right:16px;top:16px;width:35px;height:35px;font-size:18px}.news-card-content{padding:22px 22px 25px}.news-card-content time,.archive-card-content time{font-size:10px;letter-spacing:.13em;text-transform:uppercase;color:var(--plum);font-weight:800}.news-card-content h3{font-family:var(--serif);font-size:22px;line-height:1.2;font-weight:400;color:var(--plum-dark);margin:9px 0 9px}.news-card-content h3 a:hover{color:var(--plum)}.news-card-content p,.archive-card-content p{font-size:13px;line-height:1.55;color:var(--muted);margin:0}.admissions-section{background:var(--paper)}.admissions-panel{background:var(--gold);border-radius:24px;padding:57px 65px;display:grid;grid-template-columns:.85fr 1fr auto;gap:56px;align-items:center;position:relative;overflow:hidden}.admissions-panel:after{content:'W';position:absolute;right:-50px;bottom:-125px;font-family:var(--serif);font-size:330px;font-style:italic;color:rgba(255,255,255,.18);pointer-events:none}.admissions-copy,.admissions-steps,.admissions-panel>.button{position:relative;z-index:1}.admissions-copy .eyebrow{color:var(--plum-dark)}.admissions-copy h2{font-size:43px}.admissions-copy>p:last-child{font-size:13px;max-width:300px;margin:23px 0 0;color:rgba(50,17,38,.72)}.admissions-steps{display:grid;gap:19px}.admission-step{display:grid;grid-template-columns:33px 1fr;column-gap:10px;align-items:baseline}.admission-step span{font-size:11px;font-weight:800;color:var(--plum)}.admission-step strong{font-size:13px;color:var(--plum-dark)}.admission-step small{grid-column:2;font-size:11px;color:rgba(50,17,38,.66);line-height:1.4}.contact-strip{background:var(--blue);color:var(--white);padding:43px 0}.contact-strip-inner{display:flex;justify-content:space-between;align-items:center;gap:40px}.contact-label{display:block;color:var(--gold);font-size:11px;letter-spacing:.14em;text-transform:uppercase;font-weight:800;margin-bottom:7px}.contact-strip strong{font-family:var(--serif);font-size:27px;font-weight:400}.contact-actions{display:flex;gap:45px}.contact-action{display:flex;flex-direction:column;border-left:1px solid rgba(255,255,255,.2);padding-left:20px}.contact-action span{font-size:10px;text-transform:uppercase;letter-spacing:.12em;color:rgba(255,255,255,.5)}.contact-action strong{font-family:var(--sans);font-size:13px;color:var(--white);margin-top:3px}.contact-action:hover strong{color:var(--gold)}.site-footer{background:#101a24;color:rgba(255,255,255,.7);padding:65px 0 20px}.footer-main{display:grid;grid-template-columns:1.4fr .7fr .8fr;gap:80px;padding-bottom:55px}.brand-light .brand-text strong{color:var(--white)}.brand-light .brand-text small{color:rgba(255,255,255,.45)}.footer-intro>p{max-width:260px;font-size:13px;line-height:1.65;margin:25px 0;color:rgba(255,255,255,.5)}.footer-socials{display:flex;gap:13px}.footer-socials a{border:1px solid rgba(255,255,255,.18);border-radius:999px;padding:7px 12px;font-size:11px}.footer-socials a:hover{border-color:var(--gold);color:var(--gold)}.footer-label{display:block;color:var(--gold);font-size:10px;letter-spacing:.15em;text-transform:uppercase;font-weight:800;margin:3px 0 20px}.footer-menu{list-style:none;padding:0;margin:0;display:grid;gap:9px;font-size:13px}.footer-menu a:hover,.footer-contact a:hover{color:var(--gold)}.footer-contact address{font-style:normal;font-size:13px;line-height:1.7;margin-bottom:11px}.footer-contact>a{display:block;font-size:13px;margin-top:6px}.footer-bottom{border-top:1px solid rgba(255,255,255,.12);padding-top:18px;display:flex;justify-content:space-between;gap:20px;font-size:11px;color:rgba(255,255,255,.38)}.page-hero,.article-hero{background:var(--plum-deep);color:var(--white);padding:86px 0 88px;position:relative;overflow:hidden}.page-hero:after,.article-hero:after{content:'W';position:absolute;right:8%;bottom:-130px;font-family:var(--serif);font-size:400px;line-height:1;font-style:italic;color:rgba(255,255,255,.04)}.page-hero h1,.article-hero h1{position:relative;z-index:1;font-family:var(--serif);font-weight:400;font-size:clamp(47px,6vw,76px);letter-spacing:-.05em;line-height:1.04;margin:0}.page-hero-lead{max-width:540px;color:rgba(255,255,255,.68);font-size:17px;margin:22px 0 0}.content-section{background:var(--paper)}.narrow-content{max-width:780px}.entry-content{font-size:17px;color:#4d5962}.entry-content h2,.entry-content h3{font-family:var(--serif);font-weight:400;color:var(--plum-dark);line-height:1.15}.entry-content h2{font-size:37px;margin:35px 0 15px}.entry-content h3{font-size:27px;margin:27px 0 11px}.entry-content p{margin:0 0 20px}.entry-content a{color:var(--plum);text-decoration:underline;text-underline-offset:3px}.entry-content ul,.entry-content ol{padding-left:22px}.article-date{display:block;color:var(--gold);font-size:12px;text-transform:uppercase;letter-spacing:.13em;margin-top:22px}.article-layout{max-width:880px}.article-featured-image{border-radius:var(--radius);overflow:hidden;margin-bottom:45px}.article-featured-image img{width:100%}.article-back{border-top:1px solid var(--line);padding-top:26px;margin-top:55px}.archive-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.archive-card{border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:var(--white)}.archive-card-content{padding:24px 23px 28px}.archive-card-content h2{font-family:var(--serif);font-weight:400;color:var(--plum-dark);font-size:25px;line-height:1.15;margin:10px 0}.archive-card-content .text-link{margin-top:23px;font-size:12px}.archive-card-simple{grid-column:span 1}.empty-state{text-align:center;padding:80px 20px;border:1px dashed #c8ced3;border-radius:var(--radius);grid-column:1/-1}.empty-state-mark{display:block;color:var(--gold);font-size:40px}.empty-state h2{font-family:var(--serif);font-size:35px;font-weight:400;color:var(--plum-dark);margin:10px 0}.empty-state p{color:var(--muted);margin:0}.navigation.pagination{margin-top:45px}.nav-links{display:flex;gap:8px;justify-content:center}.page-numbers{display:grid;place-items:center;width:38px;height:38px;border:1px solid var(--line);border-radius:50%;font-size:12px}.page-numbers.current,.page-numbers:hover{background:var(--plum);border-color:var(--plum);color:var(--white)}
@media (max-width:980px){.primary-navigation{gap:14px}.menu{gap:15px}.menu a{font-size:12px}.nav-cta{display:none}.hero-grid{gap:30px}.hero-copy h1{font-size:64px}.features-grid{gap:55px}.admissions-panel{grid-template-columns:1fr 1fr;padding:45px}.admissions-panel>.button{grid-column:2;justify-self:start}.footer-main{gap:40px}}
@media (max-width:760px){.container{width:min(100% - 34px,620px)}.topline-location{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.topline-links{display:none}.topline-inner{min-height:32px}.header-inner{min-height:73px}.menu-toggle{display:block;position:relative;z-index:21}.primary-navigation{position:fixed;inset:0;background:var(--paper);z-index:20;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:100px 34px 40px;transform:translateX(100%);transition:transform .28s ease}.primary-navigation.is-open{transform:translateX(0)}.primary-navigation .menu{display:grid;gap:20px}.primary-navigation .menu a{font-size:24px;font-family:var(--serif);font-weight:400}.primary-navigation .nav-cta{display:inline-flex;margin-top:16px}.menu-toggle.is-open .menu-line:first-of-type{transform:translateY(7px) rotate(45deg)}.menu-toggle.is-open .menu-line:nth-of-type(2){opacity:0}.menu-toggle.is-open .menu-line:last-of-type{transform:translateY(-7px) rotate(-45deg)}.hero-section{min-height:0;padding:66px 0 35px}.hero-grid{grid-template-columns:1fr;gap:42px}.hero-copy h1{font-size:54px}.hero-lead{font-size:15px}.hero-visual{min-height:365px}.hero-card{height:320px}.hero-emblem{width:118px;height:118px;font-size:88px}.hero-card-bottom strong{font-size:16px}.hero-note-one{left:-3px;bottom:22px}.hero-note-two{right:-2px;top:25px}.hero-bottom-line{margin-top:28px}.hero-bottom-line>span:first-child{font-size:9px}.scroll-hint{display:none}.section-space{padding:72px 0}.intro-grid,.features-grid{grid-template-columns:1fr;gap:20px}.intro-copy{padding-top:0}.section-heading-row{display:block;margin-bottom:34px}.section-aside{margin-top:20px}.sector-grid,.news-grid,.archive-grid{grid-template-columns:1fr}.sector-card{min-height:290px}.features-heading h2{font-size:42px}.feature-list{margin-top:22px}.admissions-panel{grid-template-columns:1fr;gap:28px;padding:34px 26px}.admissions-panel>.button{grid-column:auto}.admissions-copy h2{font-size:39px}.contact-strip-inner{display:block}.contact-actions{margin-top:27px;display:grid;grid-template-columns:1fr 1fr;gap:18px}.contact-action{padding-left:13px}.contact-strip strong{font-size:23px}.footer-main{grid-template-columns:1fr;gap:35px;padding-bottom:40px}.footer-bottom{display:block;line-height:1.7}.footer-bottom span{display:block}.footer-bottom span+span{margin-top:6px}.page-hero,.article-hero{padding:62px 0 65px}.page-hero h1,.article-hero h1{font-size:53px}.page-hero-lead{font-size:15px}.narrow-content{width:min(100% - 34px,620px)}.entry-content{font-size:16px}}
@media (prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important}}


/* Formulaire institutionnel */
.cswaka-contact-form-wrap{margin-top:42px;padding:32px;background:var(--soft);border-radius:var(--radius)}.cswaka-contact-form p{margin:0 0 18px}.cswaka-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.cswaka-contact-form label{display:block;color:var(--plum-dark);font-size:12px;font-weight:800;margin-bottom:7px}.cswaka-contact-form input,.cswaka-contact-form textarea{width:100%;border:1px solid #d9dee2;border-radius:10px;background:var(--white);color:var(--ink);padding:12px 14px;outline:none;transition:border-color .2s,box-shadow .2s;resize:vertical}.cswaka-contact-form input:focus,.cswaka-contact-form textarea:focus{border-color:var(--plum);box-shadow:0 0 0 3px rgba(122,31,91,.1)}.cswaka-form-notice{padding:13px 15px;border-radius:9px;font-size:13px;margin-bottom:20px}.cswaka-form-success{background:#e8f4ec;color:#22633b}.cswaka-form-error{background:#fcebea;color:#9a2b2b}@media (max-width:760px){.cswaka-form-grid{grid-template-columns:1fr}.cswaka-contact-form-wrap{padding:22px}}


/* Logo officiel CS-WAKA */
.brand-logo-wrap{display:grid;place-items:center;width:48px;height:48px;flex:0 0 48px;border-radius:12px;background:var(--white);overflow:hidden;box-shadow:5px 5px 0 var(--gold)}
.brand-logo{display:block;width:100%;height:100%;object-fit:contain}
.brand-light .brand-logo-wrap{box-shadow:4px 4px 0 var(--gold)}
@media (max-width:760px){.brand-logo-wrap{width:44px;height:44px;flex-basis:44px;border-radius:10px}.brand{gap:10px}.brand-text small{max-width:170px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}

/* Visuels approuvés — groupe 05 */
.hero-photo-card{padding:0;overflow:hidden;background:#55153f;isolation:isolate}.hero-photo-card .hero-photo-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}.hero-photo-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(50,17,38,.12) 18%,rgba(50,17,38,.82) 100%);z-index:-1}.hero-photo-content{position:relative;z-index:1;height:100%;padding:29px;display:flex;flex-direction:column;justify-content:space-between}.hero-photo-content .hero-card-year{font-size:10px;color:rgba(255,255,255,.75)}.hero-photo-content strong{font-family:var(--serif);font-size:23px;line-height:1.15;font-weight:400;color:var(--white);max-width:210px}.home-photo-section{background:var(--paper)}.home-photo-grid{display:grid;grid-template-columns:1.25fr .875fr .875fr;gap:18px}.home-photo-card{position:relative;min-height:280px;margin:0;overflow:hidden;border-radius:var(--radius);background:var(--plum-dark);isolation:isolate}.home-photo-card-large{min-height:360px}.home-photo-card .home-photo-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;transition:transform .45s ease}.home-photo-card:hover .home-photo-image{transform:scale(1.04)}.home-photo-card:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(50,17,38,.02) 30%,rgba(50,17,38,.82) 100%);z-index:-1}.home-photo-card figcaption{position:absolute;left:22px;right:22px;bottom:20px;color:var(--white);display:flex;flex-direction:column;gap:5px}.home-photo-card figcaption span{font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);font-weight:800}.home-photo-card figcaption strong{font-family:var(--serif);font-size:24px;line-height:1.1;font-weight:400}.news-card-fallback .news-card-media img{width:100%;height:100%;object-fit:cover}@media (max-width:900px){.home-photo-grid{grid-template-columns:1fr 1fr}.home-photo-card-large{grid-column:1/-1;min-height:320px}}@media (max-width:760px){.hero-photo-card{width:min(350px,82vw);height:365px}.hero-photo-content{padding:24px}.hero-photo-content strong{font-size:21px}.home-photo-grid{grid-template-columns:1fr}.home-photo-card,.home-photo-card-large{min-height:280px;grid-column:auto}.home-photo-card figcaption strong{font-size:22px}}

.page-media-section{margin-top:72px;padding-top:54px;border-top:1px solid var(--line)}.page-media-heading h2{font-family:var(--serif);font-size:clamp(32px,4vw,48px);font-weight:400;line-height:1.05;letter-spacing:-.04em;color:var(--plum-dark);margin:0 0 28px}.page-media-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:18px}.page-media-card{position:relative;min-height:260px;margin:0;border-radius:var(--radius);overflow:hidden;background:var(--plum-dark);isolation:isolate}.page-media-card-wide{min-height:320px}.page-media-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}.page-media-card:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(50,17,38,.02) 28%,rgba(50,17,38,.84) 100%);z-index:-1}.page-media-card figcaption{position:absolute;left:20px;right:20px;bottom:18px;display:flex;flex-direction:column;gap:4px;color:var(--white)}.page-media-card figcaption span{font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);font-weight:800}.page-media-card figcaption strong{font-family:var(--serif);font-size:22px;line-height:1.1;font-weight:400}@media (max-width:760px){.page-media-grid{grid-template-columns:1fr}.page-media-card,.page-media-card-wide{min-height:270px}}


/* Top bar coordonnées — version renforcée et accessible */
.topline{min-height:46px;background:var(--plum-dark)}
.topline-inner{min-height:46px;display:flex;align-items:center;justify-content:space-between;gap:22px}
.topline-item{display:inline-flex;align-items:center;gap:8px;color:rgba(255,255,255,.86);font-size:13px;font-weight:600;line-height:1.25;text-decoration:none;transition:color .2s ease,opacity .2s ease}
.topline-item:hover,.topline-item:focus-visible{color:var(--gold);text-decoration:none}
.topline-item:focus-visible{outline:2px solid var(--gold);outline-offset:4px;border-radius:3px}
.topline-location{min-width:0}
.topline-location>span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.topline-links{display:flex;align-items:center;gap:22px;flex:0 0 auto}
.topline-icon{display:block;width:17px;height:17px;flex:0 0 17px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
@media (max-width:760px){
  .topline{min-height:48px}
  .topline-inner{min-height:48px;justify-content:flex-start;gap:18px;overflow-x:auto;scrollbar-width:none}
  .topline-inner::-webkit-scrollbar{display:none}
  .topline-location{flex:0 1 auto;max-width:52vw}
  .topline-links{display:flex;gap:16px;flex:0 0 auto}
  .topline-item{font-size:12px;white-space:nowrap}
  .topline-icon{width:16px;height:16px;flex-basis:16px}
}


/* Réseaux sociaux de la top bar */
.topline-right{display:flex;align-items:center;gap:20px;min-width:0;flex:0 0 auto}
.topline-divider{display:block;width:1px;height:20px;background:rgba(255,255,255,.28);flex:0 0 1px}
.topline-socials{display:flex;align-items:center;gap:5px}
.topline-social-link{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;color:rgba(255,255,255,.86);text-decoration:none;transition:color .2s ease,background-color .2s ease,transform .2s ease}
.topline-social-link:hover,.topline-social-link:focus-visible{color:var(--gold);background:rgba(255,255,255,.1);text-decoration:none;transform:translateY(-1px)}
.topline-social-link:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
.topline-social-icon{display:block;width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.topline-social-icon path{fill:currentColor;stroke:none}
.topline-social-icon circle:first-child + path{fill:var(--plum-dark);stroke:none}
.topline-social-dot{fill:currentColor;stroke:none}
@media (max-width:760px){
  .topline-inner{gap:18px}
  .topline-right{gap:14px;flex:0 0 auto}
  .topline-divider{height:18px}
  .topline-socials{gap:2px}
  .topline-social-link{width:36px;height:36px}
}


/* Correctif Facebook : pastille claire et lettre contrastée */
.topline-social-icon circle:first-child{fill:currentColor;stroke:none}
.topline-social-icon circle:first-child + path{fill:var(--plum-dark);stroke:none}

/* Top bar mobile : adresse isolée, puis contacts et réseaux dans une rangée tactile */
@media (max-width:760px){
  .topline{min-height:0}
  .topline-inner{display:grid;grid-template-columns:1fr;align-items:stretch;gap:0;min-height:0;padding-top:5px;padding-bottom:5px;overflow:visible}
  .topline-location{max-width:100%;min-height:29px}
  .topline-right{width:100%;min-width:0;overflow-x:auto;justify-content:flex-start;gap:14px;padding:1px 0 2px;scrollbar-width:none}
  .topline-right::-webkit-scrollbar{display:none}
  .topline-links{gap:14px;flex:0 0 auto}
  .topline-links .topline-item{flex:0 0 auto}
  .topline-divider{height:18px;flex:0 0 1px}
  .topline-socials{flex:0 0 auto}
}


/* Section Témoignages */
.testimonials-section{background:var(--paper);position:relative}
.testimonials-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:8px}
.testimonial-card{position:relative;min-height:245px;padding:30px 28px 27px;background:#fff;border:1px solid rgba(76,23,59,.12);box-shadow:0 14px 34px rgba(76,23,59,.06);overflow:hidden}
.testimonial-card::after{content:"";position:absolute;right:-34px;bottom:-55px;width:120px;height:120px;border:1px solid rgba(230,184,74,.28);border-radius:50%}
.testimonial-card-accent{background:var(--plum);color:#fff;border-color:var(--plum)}
.testimonial-card-accent::after{border-color:rgba(230,184,74,.48)}
.testimonial-mark{display:block;margin-bottom:12px;color:var(--gold);font-family:var(--serif);font-size:56px;line-height:.65}
.testimonial-status{margin:0 0 16px;color:var(--plum);font-size:10px;font-weight:700;letter-spacing:.16em;text-transform:uppercase}
.testimonial-card-accent .testimonial-status{color:var(--gold)}
.testimonial-card h3{margin:0 0 12px;color:var(--plum-dark);font-family:var(--serif);font-size:28px;font-weight:400}
.testimonial-card-accent h3{color:#fff}
.testimonial-card>p:last-child{max-width:31ch;margin:0;color:var(--ink-soft);font-size:14px;line-height:1.75}
.testimonial-card-accent>p:last-child{color:rgba(255,255,255,.78)}
.testimonials-note{display:flex;align-items:center;gap:12px;max-width:760px;margin:27px auto 0;padding:14px 18px;border-left:2px solid var(--gold);background:rgba(230,184,74,.08)}
.testimonials-note-icon{color:var(--gold);font-size:18px;line-height:1}
.testimonials-note p{margin:0;color:var(--ink-soft);font-size:12px;line-height:1.6}
@media (max-width:760px){
  .testimonials-grid{grid-template-columns:1fr;gap:14px;margin-top:4px}
  .testimonial-card{min-height:0;padding:25px 23px 23px}
  .testimonial-card h3{font-size:26px}
  .testimonials-note{align-items:flex-start;margin-top:20px;padding:13px 15px}
}


/* Citations réelles — section Témoignages */
.testimonial-card{min-height:100%;display:flex;flex-direction:column}
.testimonial-quote{margin:0;color:var(--ink-soft);font-family:var(--serif);font-size:15px;line-height:1.68}
.testimonial-card-accent .testimonial-quote{color:rgba(255,255,255,.86)}
.testimonial-author{margin:18px 0 0!important;padding-top:14px;border-top:1px solid rgba(76,23,59,.14);color:var(--plum)!important;font-size:11px!important;font-weight:700;letter-spacing:.04em;line-height:1.5!important}
.testimonial-card-accent .testimonial-author{border-color:rgba(255,255,255,.24);color:var(--gold)!important}
.testimonial-author span{display:block}
@media (max-width:1080px){
  .testimonials-grid{grid-template-columns:1fr}
  .testimonial-card{min-height:0}
  .testimonial-quote{max-width:72ch}
}
@media (max-width:760px){
  .testimonial-quote{font-size:15px;line-height:1.65}
  .testimonial-author{margin-top:16px!important;padding-top:12px}
}

/* Grille des quatre grands cycles de CS-WAKA */
.sector-grid{grid-template-columns:repeat(4,minmax(0,1fr));}
@media (max-width:1100px){.sector-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media (max-width:640px){.sector-grid{grid-template-columns:1fr;}}

/* Contraste renforcé au survol des cartes 02, 03 et 04 */
.sector-card:hover.sector-plum{background:#5a1745;color:#fff}
.sector-card:hover.sector-blue{background:#0b2d47;color:#fff}
.sector-card:hover.sector-plum h3,.sector-card:hover.sector-plum p,.sector-card:hover.sector-plum .card-eyebrow,.sector-card:hover.sector-plum .sector-number,.sector-card:hover.sector-plum .sector-arrow,.sector-card:hover.sector-plum .card-link,.sector-card:hover.sector-blue h3,.sector-card:hover.sector-blue p,.sector-card:hover.sector-blue .card-eyebrow,.sector-card:hover.sector-blue .sector-number,.sector-card:hover.sector-blue .sector-arrow,.sector-card:hover.sector-blue .card-link{color:inherit}
.sector-card:focus-visible{outline:3px solid var(--gold);outline-offset:4px}
/* Hero — Option 01 : éditorial en mouvement */
.hero-card-main{z-index:2}
.hero-fragment{position:absolute;width:188px;height:136px;border:1px solid rgba(255,255,255,.34);border-radius:16px;overflow:hidden;background:var(--plum-dark);box-shadow:0 18px 38px rgba(0,0,0,.24);z-index:1;isolation:isolate}
.hero-fragment-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .45s ease}
.hero-fragment:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(50,17,38,.02) 25%,rgba(50,17,38,.78) 100%);z-index:1;pointer-events:none}
.hero-fragment-label{position:absolute;left:13px;right:10px;bottom:10px;color:var(--white);font-size:9px;letter-spacing:.11em;text-transform:uppercase;font-weight:800;line-height:1.2;z-index:2}
.hero-fragment-top{right:-20px;top:2px;transform:rotate(6deg)}
.hero-fragment-bottom{left:-7px;bottom:11px;width:178px;height:122px;transform:rotate(-7deg)}
.hero-visual:hover .hero-fragment-image{transform:scale(1.06)}
.hero-visual-signature{position:absolute;right:18px;bottom:5px;color:var(--gold);font-size:9px;letter-spacing:.14em;text-transform:uppercase;font-weight:800;z-index:3}
@media (max-width:760px){.hero-fragment{width:136px;height:98px;border-radius:13px}.hero-fragment-top{right:2px;top:8px}.hero-fragment-bottom{left:0;bottom:12px;width:132px;height:92px}.hero-fragment-label{left:9px;right:7px;bottom:7px;font-size:8px}.hero-visual-signature{right:12px;bottom:1px;font-size:8px;letter-spacing:.1em}}
/* Hero — Option 02 : mosaïque des parcours */
.hero-mosaic{position:relative;width:min(100%,520px);height:430px;margin:0 auto}
.hero-mosaic-tile{position:absolute;overflow:hidden;border:1px solid rgba(255,255,255,.38);background:var(--plum-dark);box-shadow:0 22px 45px rgba(0,0,0,.25);isolation:isolate}
.hero-mosaic-tile img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .45s ease}
.mosaic-tile-main{left:28px;top:44px;width:310px;height:348px;border-radius:23px;transform:rotate(-4deg);z-index:2}
.mosaic-tile-tall{right:8px;top:0;width:178px;height:238px;border-radius:19px;transform:rotate(6deg);z-index:3}
.mosaic-tile-small{right:40px;bottom:2px;width:230px;height:151px;border-radius:17px;transform:rotate(-7deg);z-index:4}
.mosaic-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(50,17,38,.05) 23%,rgba(50,17,38,.84) 100%);z-index:1;pointer-events:none}
.mosaic-caption{position:absolute;left:17px;right:13px;bottom:14px;color:var(--white);font-size:10px;letter-spacing:.1em;text-transform:uppercase;font-weight:800;line-height:1.25;z-index:2}
.mosaic-corner{position:absolute;left:19px;top:17px;color:rgba(255,255,255,.85);font-size:10px;letter-spacing:.18em;font-weight:800;z-index:2}
.mosaic-line{position:absolute;display:block;border:1px solid rgba(230,184,74,.5);z-index:1;pointer-events:none}
.mosaic-line-one{width:270px;height:270px;left:7px;top:72px;border-radius:50%;transform:rotate(16deg)}
.mosaic-line-two{width:120px;height:120px;right:10px;bottom:47px;border-radius:50%;border-color:rgba(255,255,255,.25)}
.mosaic-stamp{position:absolute;left:0;top:6px;width:62px;height:62px;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--gold);color:var(--plum-deep);box-shadow:0 10px 20px rgba(0,0,0,.18);transform:rotate(-9deg);z-index:5}
.mosaic-stamp strong{font-family:var(--serif);font-size:28px;line-height:.9;font-weight:400}
.mosaic-stamp small{font-size:8px;letter-spacing:.1em;text-transform:uppercase;font-weight:800}
.hero-mosaic:hover .hero-mosaic-tile img{transform:scale(1.05)}
@media (max-width:760px){.hero-visual{min-height:370px}.hero-mosaic{height:360px;width:min(100%,390px)}.mosaic-tile-main{left:17px;top:35px;width:245px;height:300px;border-radius:19px}.mosaic-tile-tall{right:3px;top:1px;width:137px;height:190px;border-radius:16px}.mosaic-tile-small{right:22px;bottom:0;width:180px;height:121px;border-radius:14px}.mosaic-caption{left:11px;right:9px;bottom:10px;font-size:8px}.mosaic-corner{left:13px;top:12px;font-size:8px}.mosaic-line-one{width:210px;height:210px;left:0;top:62px}.mosaic-line-two{width:92px;height:92px;right:2px;bottom:37px}.mosaic-stamp{left:3px;top:1px;width:51px;height:51px}.mosaic-stamp strong{font-size:23px}.mosaic-stamp small{font-size:7px}}

/* Hero — version hybride inspirée de la référence, avec identité CS-WAKA */
.hero-visual-hybrid{min-height:430px;align-items:center}
.hero-feature-frame{position:relative;width:min(100%,454px);height:382px;border:1px solid rgba(255,255,255,.42);border-radius:28px;overflow:hidden;transform:rotate(2deg);box-shadow:22px 26px 0 rgba(230,184,74,.18),0 28px 62px rgba(0,0,0,.3);isolation:isolate;background:#5b2046}
.hero-feature-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center center;transition:transform .6s ease}
.hero-feature-wash{position:absolute;inset:0;background:linear-gradient(180deg,rgba(50,17,38,.02) 32%,rgba(50,17,38,.86) 100%),linear-gradient(90deg,rgba(50,17,38,.12),transparent 60%);z-index:1;pointer-events:none}
.hero-feature-kicker{position:absolute;left:23px;top:21px;color:rgba(255,255,255,.84);font-size:9px;letter-spacing:.17em;font-weight:800;z-index:2}
.hero-feature-caption{position:absolute;left:24px;bottom:23px;color:var(--white);font-family:var(--serif);font-size:29px;line-height:1.02;letter-spacing:-.03em;z-index:2}
.hero-feature-caption em{color:var(--gold);font-style:italic}
.hero-feature-mark{position:absolute;right:29px;top:23px;width:86px;height:86px;border:1px solid rgba(255,255,255,.5);border-radius:50%;z-index:2;opacity:.86}
.hero-feature-mark:before,.hero-feature-mark:after{content:'';position:absolute;border:1px solid var(--gold);border-radius:50%;transform:rotate(-30deg)}
.hero-feature-mark:before{width:66px;height:31px;left:9px;top:25px}
.hero-feature-mark:after{width:31px;height:66px;left:25px;top:9px}
.hero-feature-mark i,.hero-feature-mark b{position:absolute;display:block;background:var(--gold);border-radius:50%;z-index:1}
.hero-feature-mark i{width:5px;height:5px;right:9px;top:18px}
.hero-feature-mark b{width:4px;height:4px;left:16px;bottom:16px}
.hero-feature-inset{position:absolute;right:-8px;top:16px;width:174px;height:214px;padding:7px;border-radius:22px;background:var(--paper);transform:rotate(6deg);box-shadow:0 18px 35px rgba(0,0,0,.27);z-index:4}
.hero-feature-inset-image{width:100%;height:100%;object-fit:cover;border-radius:16px}
.hero-feature-inset-label{position:absolute;left:16px;right:12px;bottom:15px;color:var(--white);font-size:9px;letter-spacing:.1em;text-transform:uppercase;font-weight:800;text-shadow:0 2px 8px rgba(0,0,0,.6)}
.hero-feature-inset:after{content:'';position:absolute;inset:7px;border-radius:16px;background:linear-gradient(180deg,transparent 45%,rgba(50,17,38,.76));pointer-events:none}
.hero-feature-badge{position:absolute;left:-5px;top:7px;width:70px;height:70px;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--gold);color:var(--plum-deep);box-shadow:0 11px 22px rgba(0,0,0,.2);transform:rotate(-9deg);z-index:5}
.hero-feature-badge strong{font-family:var(--serif);font-size:31px;line-height:.9;font-weight:400}
.hero-feature-badge small{font-size:8px;letter-spacing:.1em;text-transform:uppercase;font-weight:800}
.hero-feature-signature{position:absolute;right:22px;bottom:2px;color:var(--gold);font-size:9px;letter-spacing:.14em;text-transform:uppercase;font-weight:800;z-index:5}
.hero-visual-hybrid:hover .hero-feature-image{transform:scale(1.045)}
.hero-visual-hybrid:hover .hero-feature-inset-image{transform:scale(1.04)}
@media (max-width:760px){.hero-visual-hybrid{min-height:370px}.hero-feature-frame{width:calc(100% - 28px);height:317px;border-radius:21px;transform:rotate(1.5deg);box-shadow:13px 16px 0 rgba(230,184,74,.17),0 20px 42px rgba(0,0,0,.27)}.hero-feature-kicker{left:16px;top:16px;font-size:7px}.hero-feature-caption{left:17px;bottom:18px;font-size:24px}.hero-feature-mark{right:18px;top:16px;width:64px;height:64px}.hero-feature-mark:before{width:48px;height:23px;left:7px;top:19px}.hero-feature-mark:after{width:23px;height:48px;left:19px;top:7px}.hero-feature-inset{right:-3px;top:8px;width:126px;height:165px;padding:5px;border-radius:16px}.hero-feature-inset-image,.hero-feature-inset:after{border-radius:11px}.hero-feature-inset:after{inset:5px}.hero-feature-inset-label{left:11px;right:8px;bottom:10px;font-size:7px}.hero-feature-badge{left:-2px;top:0;width:54px;height:54px}.hero-feature-badge strong{font-size:24px}.hero-feature-badge small{font-size:7px}.hero-feature-signature{right:9px;bottom:0;font-size:7px;letter-spacing:.1em}}

/* Navigation des quatre cycles sous le Hero hybride */
.hero-cycle-nav{display:grid;grid-template-columns:repeat(4,1fr);flex:1;min-width:0}
.hero-cycle-link{display:flex;align-items:center;gap:9px;min-height:43px;padding:7px 15px;border-right:1px solid rgba(255,255,255,.18);color:rgba(255,255,255,.78);line-height:1.2;transition:background .2s ease,color .2s ease,padding .2s ease}
.hero-cycle-link:first-child{border-left:1px solid rgba(255,255,255,.18)}
.hero-cycle-number{color:var(--gold);font-size:9px;font-weight:800;letter-spacing:.08em}
.hero-cycle-copy{display:flex;flex-direction:column;gap:2px;min-width:0;text-transform:uppercase}
.hero-cycle-copy strong{font-size:9px;letter-spacing:.06em;color:var(--white);white-space:nowrap}
.hero-cycle-copy small{font-size:8px;letter-spacing:.03em;color:rgba(255,255,255,.5);white-space:nowrap}
.hero-cycle-link>b{margin-left:auto;color:var(--gold);font-size:14px;font-weight:400;opacity:.78}
.hero-cycle-link:hover{padding-left:19px;background:rgba(255,255,255,.08);color:var(--white)}
@media (max-width:900px){.hero-cycle-link{padding-left:9px;padding-right:9px;gap:6px}.hero-cycle-copy strong{font-size:8px}.hero-cycle-copy small{font-size:7px}.hero-cycle-link:hover{padding-left:12px}}
@media (max-width:760px){.hero-bottom-line{display:block;margin-top:39px;padding-top:13px}.hero-cycle-nav{grid-template-columns:repeat(2,1fr);border-top:1px solid rgba(255,255,255,.18)}.hero-cycle-link{min-height:48px;padding:7px 8px;border-bottom:1px solid rgba(255,255,255,.18)}.hero-cycle-link:nth-child(odd){border-left:1px solid rgba(255,255,255,.18)}.hero-cycle-number{font-size:8px}.hero-cycle-copy strong{font-size:7px}.hero-cycle-copy small{font-size:6px}.hero-cycle-link:hover{padding-left:11px}.scroll-hint{display:block;text-align:right;margin-top:12px;font-size:9px}}

/* Petite section institutionnelle sous le Hero */
.welcome-section{position:relative;overflow:hidden;background:var(--paper)}
.welcome-section .container{position:relative;z-index:1}
.welcome-heading{position:relative}
.welcome-heading .eyebrow{margin-bottom:21px}
.welcome-signature{display:flex;align-items:center;gap:10px;margin:34px 0 0;color:var(--plum);font-size:10px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}
.welcome-signature:before{content:'';width:34px;height:1px;background:var(--gold)}
.welcome-section .intro-copy{padding-top:28px}
.welcome-section .intro-copy .lead-text{max-width:430px;font-size:25px}
.welcome-section .intro-copy>p:not(.lead-text){max-width:470px;line-height:1.75}
.welcome-motif{position:absolute;display:block;border:1px solid rgba(122,31,91,.1);border-radius:50%;pointer-events:none}
.welcome-motif-one{width:520px;height:520px;right:-212px;top:-165px;transform:rotate(-26deg)}
.welcome-motif-one:before,.welcome-motif-one:after{content:'';position:absolute;border:1px solid rgba(230,184,74,.28);border-radius:50%}
.welcome-motif-one:before{inset:33px 70px 112px -26px}
.welcome-motif-one:after{inset:92px -21px 52px 126px}
.welcome-motif-two{width:260px;height:260px;left:-185px;bottom:-165px;border-color:rgba(18,59,93,.1)}
.welcome-motif-two:after{content:'';position:absolute;inset:27px;border:1px solid rgba(18,59,93,.1);border-radius:50%}
@media (max-width:760px){.welcome-section{padding-top:76px;padding-bottom:78px}.welcome-section .intro-grid{gap:31px}.welcome-section .intro-copy{padding-top:0}.welcome-section .intro-copy .lead-text{font-size:22px}.welcome-section .intro-copy>p:not(.lead-text){line-height:1.65}.welcome-signature{margin-top:25px;font-size:8px}.welcome-motif-one{width:330px;height:330px;right:-180px;top:-94px}.welcome-motif-one:before{inset:24px 42px 70px -18px}.welcome-motif-one:after{inset:58px -14px 34px 80px}.welcome-motif-two{width:190px;height:190px;left:-145px;bottom:-128px}}

/* Image institutionnelle dans la section de bienvenue */
.welcome-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:86px;align-items:center;position:relative;z-index:1}
.welcome-image{position:relative;margin:0;min-height:420px;border-radius:24px 24px 24px 5px;overflow:hidden;background:var(--plum-dark);box-shadow:18px 18px 0 rgba(230,184,74,.22),0 24px 55px rgba(24,33,43,.12)}
.welcome-image:before{content:'';position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(50,17,38,0) 45%,rgba(50,17,38,.78) 100%);pointer-events:none}
.welcome-image img{width:100%;height:100%;min-height:420px;object-fit:cover;object-position:center center;transition:transform .5s ease}
.welcome-image:hover img{transform:scale(1.025)}
.welcome-image figcaption{position:absolute;z-index:2;left:25px;right:25px;bottom:22px;display:flex;align-items:flex-end;justify-content:space-between;gap:18px;color:var(--white)}
.welcome-image figcaption span{font-family:var(--serif);font-size:23px;line-height:1.1}
.welcome-image figcaption strong{color:var(--gold);font-size:9px;letter-spacing:.13em;text-transform:uppercase;text-align:right}
.welcome-content{min-width:0}
.welcome-content .welcome-heading h2{max-width:520px}
.welcome-content .intro-copy{padding-top:35px;max-width:560px}
@media (max-width:760px){.welcome-grid{grid-template-columns:1fr;gap:47px}.welcome-image{min-height:300px;border-radius:20px 20px 20px 4px;box-shadow:10px 11px 0 rgba(230,184,74,.22),0 18px 35px rgba(24,33,43,.1)}.welcome-image img{min-height:300px}.welcome-image figcaption{left:18px;right:18px;bottom:17px}.welcome-image figcaption span{font-size:20px}.welcome-image figcaption strong{font-size:8px}.welcome-content .intro-copy{padding-top:25px}}

/* Mise en valeur du nom dans le texte institutionnel */
.welcome-school-highlight{position:relative;color:var(--plum-deep);font-family:var(--serif);font-weight:800;letter-spacing:-.02em;text-decoration-line:underline;text-decoration-color:var(--gold);text-decoration-thickness:3px;text-underline-offset:5px}
.welcome-school-highlight:after{content:'';display:inline-block;width:20px;height:3px;margin:0 0 3px 7px;background:var(--gold);transform:skewX(-28deg)}
.welcome-content .welcome-heading h2{margin-top:0}
@media (max-width:760px){.welcome-school-highlight{text-decoration-thickness:2px;text-underline-offset:4px}.welcome-school-highlight:after{width:14px;height:2px;margin-left:4px;margin-bottom:2px}}

/* Section institutionnelle — L'école en quelques chiffres */
.stats-section{position:relative;background:var(--paper);overflow:hidden}
.stats-shell{position:relative;display:grid;grid-template-columns:minmax(220px,.72fr) minmax(0,1.8fr);gap:52px;align-items:center;padding:50px 42px;border:1px solid rgba(122,31,91,.14);border-left:6px solid var(--plum);background:linear-gradient(105deg,rgba(255,253,249,.98),rgba(255,249,236,.72));box-shadow:12px 14px 0 rgba(230,184,74,.13)}
.stats-shell:after{content:'+';position:absolute;right:25px;top:-28px;color:rgba(122,31,91,.11);font-family:var(--serif);font-size:180px;line-height:1;pointer-events:none}
.stats-intro{position:relative;z-index:1}
.stats-intro .eyebrow{margin-bottom:16px}
.stats-intro h2{margin:0 0 16px;font-size:36px;line-height:1.02}
.stats-intro>p:last-child{max-width:240px;margin:0;color:var(--muted);font-size:13px;line-height:1.65}
.stats-grid{position:relative;z-index:1;display:grid;grid-template-columns:repeat(4,1fr)}
.stat-item{min-height:135px;padding:10px 20px 9px;border-left:1px solid rgba(122,31,91,.19);display:flex;flex-direction:column;justify-content:center;align-items:flex-start}
.stat-item:first-child{border-left:0}
.stat-highlight{position:relative}
.stat-highlight:before{content:'';position:absolute;left:20px;top:-12px;width:32px;height:3px;background:var(--gold);transform:skewX(-28deg)}
.stat-number{display:block;margin:0 0 12px;color:var(--plum-deep);font-family:var(--serif);font-size:52px;font-weight:700;letter-spacing:-.06em;line-height:.84;white-space:nowrap}
.stat-number > span:not(.stat-value):not(.stat-unit){margin-left:2px;color:var(--gold);font-family:var(--sans);font-size:25px;font-weight:800;letter-spacing:-.03em}
.stat-value{display:inline-block;margin:0;color:inherit;font:inherit;letter-spacing:inherit}
.stat-number-text{font-size:31px;line-height:.9;letter-spacing:-.04em}
.stat-unit{margin-left:6px!important;color:var(--plum)!important;font-size:12px!important;letter-spacing:.08em!important;text-transform:uppercase}
.stat-label{max-width:155px;color:var(--plum-dark);font-size:10px;font-weight:800;letter-spacing:.07em;line-height:1.25;text-transform:uppercase}
.stat-meta{max-width:155px;margin-top:6px;color:var(--muted);font-size:9px;line-height:1.3}
@media (max-width:1020px){.stats-shell{grid-template-columns:1fr;gap:30px;padding:42px 32px}.stats-intro>p:last-child{max-width:420px}.stats-grid{grid-template-columns:repeat(4,1fr)}}
@media (max-width:760px){.stats-shell{gap:29px;padding:38px 20px 29px;border-left-width:4px;box-shadow:8px 10px 0 rgba(230,184,74,.12)}.stats-shell:after{right:9px;top:-15px;font-size:110px}.stats-intro h2{font-size:31px}.stats-intro>p:last-child{font-size:12px}.stats-grid{grid-template-columns:repeat(2,1fr);row-gap:19px}.stat-item{min-height:108px;padding:9px 12px 9px;border-left:1px solid rgba(122,31,91,.16)}.stat-item:nth-child(odd){border-left:0}.stat-item:nth-child(n+3){border-top:1px solid rgba(122,31,91,.16);padding-top:20px}.stat-highlight:before{left:12px;top:0}.stat-number{font-size:42px;margin-bottom:9px}.stat-number span{font-size:20px}.stat-number-text{font-size:26px}.stat-label{font-size:8px}.stat-meta{font-size:8px;margin-top:5px}}

/* Pourquoi nous choisir — composition éditoriale « La ligne qui relie » */
.why-choose-section{position:relative;background:var(--paper);overflow:hidden}
.why-choose-section:before{content:'W';position:absolute;right:4%;top:-82px;font-family:var(--serif);font-size:290px;line-height:1;font-style:italic;color:rgba(122,31,91,.035);pointer-events:none}
.why-choose-layout{display:grid;grid-template-columns:.92fr 1.08fr;gap:100px;align-items:center;position:relative;z-index:1}
.why-choose-media{position:relative;margin:0;padding:0 18px 18px 0}
.why-choose-media:before{content:'';position:absolute;inset:20px 0 0 20px;border:1px solid var(--gold);border-radius:24px;z-index:-1}
.why-choose-media img{width:100%;aspect-ratio:1.08/1;object-fit:cover;border-radius:24px;box-shadow:20px 22px 0 rgba(18,59,93,.12),0 20px 45px rgba(24,33,43,.12)}
.why-choose-media-ring{position:absolute;right:-2px;top:42px;width:66px;height:66px;border:1px solid rgba(230,184,74,.8);border-radius:50%;background:var(--paper)}
.why-choose-media-ring:after{content:'';position:absolute;inset:13px;border-radius:50%;background:var(--gold)}
.why-choose-media figcaption{position:absolute;left:-17px;bottom:0;display:flex;align-items:center;gap:12px;transform:rotate(-90deg) translateX(-100%);transform-origin:left bottom;color:var(--plum-dark);white-space:nowrap}
.why-choose-media figcaption span{font-size:10px;letter-spacing:.14em;text-transform:uppercase;font-weight:800;color:var(--plum)}
.why-choose-media figcaption strong{font-family:var(--serif);font-size:20px;font-weight:400}
.why-choose-content{max-width:570px}
.why-choose-content h2{font-family:var(--serif);font-size:clamp(42px,4vw,62px);font-weight:400;letter-spacing:-.045em;line-height:1.02;margin:0;color:var(--plum-dark)}
.why-choose-content h2 em{color:var(--plum);font-style:italic}
.why-choose-lead{max-width:500px;margin:25px 0 30px;color:var(--muted);font-size:16px;line-height:1.7}
.why-choose-rail{position:relative;margin:0 0 28px;padding-left:31px}
.why-choose-rail:before{content:'';position:absolute;left:8px;top:8px;bottom:9px;width:1px;background:linear-gradient(var(--gold),rgba(122,31,91,.18))}
.why-choose-point{display:grid;grid-template-columns:38px 1fr;gap:15px;position:relative;padding:0 0 21px}
.why-choose-point:last-child{padding-bottom:0}
.why-choose-number{position:relative;z-index:1;display:grid;place-items:center;width:31px;height:31px;border-radius:50%;background:var(--paper);border:1px solid var(--gold);color:var(--plum);font-size:10px;font-weight:800;letter-spacing:.04em}
.why-choose-point h3{margin:1px 0 3px;color:var(--plum-dark);font-size:15px;font-weight:800;line-height:1.25}
.why-choose-point p{margin:0;color:var(--muted);font-size:12px;line-height:1.5;max-width:390px}
.why-choose-content>.text-link{margin-top:3px}
@media (max-width:900px){.why-choose-layout{grid-template-columns:1fr;gap:58px}.why-choose-media{max-width:600px;margin:0 auto;width:100%}.why-choose-content{max-width:680px}.why-choose-section:before{font-size:220px;right:-10px}}
@media (max-width:600px){.why-choose-section{padding:76px 0}.why-choose-layout{gap:42px}.why-choose-media{padding:0 10px 10px 0}.why-choose-media:before{inset:14px 0 0 14px;border-radius:18px}.why-choose-media img{aspect-ratio:1.22/1;border-radius:18px;box-shadow:11px 13px 0 rgba(18,59,93,.11),0 14px 30px rgba(24,33,43,.1)}.why-choose-media-ring{right:-2px;top:25px;width:48px;height:48px}.why-choose-media-ring:after{inset:10px}.why-choose-media figcaption{left:-5px;bottom:-3px}.why-choose-media figcaption strong{font-size:16px}.why-choose-media figcaption span{font-size:8px}.why-choose-content h2{font-size:42px}.why-choose-lead{font-size:14px;margin:20px 0 27px}.why-choose-rail{padding-left:22px}.why-choose-rail:before{left:7px}.why-choose-point{grid-template-columns:31px 1fr;gap:11px;padding-bottom:18px}.why-choose-number{width:27px;height:27px;font-size:9px}.why-choose-point h3{font-size:14px}.why-choose-point p{font-size:11px}.why-choose-section:before{font-size:170px;top:-45px}}


/* Pourquoi nous choisir — redesign « Le W qui nous rassemble » */
.why-choose-section:before{display:none}
.why-choose-w-mark{position:absolute;z-index:0;left:-.015em;top:-.16em;font-family:var(--serif);font-size:clamp(340px,48vw,670px);font-weight:700;font-style:italic;line-height:1;color:rgba(122,31,91,.045);letter-spacing:-.13em;pointer-events:none;user-select:none}
.why-choose-layout{z-index:1}
.why-choose-media{z-index:1}
.why-choose-content{position:relative;z-index:2}
.why-choose-content h2 em{position:relative;display:inline-block;color:var(--plum)}
.why-choose-content h2 em:after{content:'';position:absolute;left:2px;right:-8px;bottom:-6px;height:3px;background:var(--gold);transform:rotate(-2deg);transform-origin:left center}
.why-choose-route-wrap{position:relative;margin:0 0 28px;isolation:isolate}
.why-choose-route{position:absolute;z-index:-1;inset:-10px -28px -22px -46px;width:calc(100% + 74px);height:calc(100% + 32px);overflow:visible;pointer-events:none}
.why-choose-route path{fill:none;stroke:rgba(230,184,74,.78);stroke-width:2;stroke-linecap:round;stroke-dasharray:.02 .032;vector-effect:non-scaling-stroke}
.why-choose-route circle{fill:var(--gold);stroke:var(--paper);stroke-width:4;vector-effect:non-scaling-stroke}
.why-choose-rail{display:grid;gap:12px;position:relative;margin:0;padding:0}
.why-choose-rail:before{display:none}
.why-choose-point{display:grid;grid-template-columns:43px 1fr;gap:15px;align-items:start;position:relative;padding:12px 14px 13px 0;border-bottom:1px solid rgba(122,31,91,.12);transition:transform .22s ease,background .22s ease}
.why-choose-point:last-child{border-bottom:0}
.why-choose-point:hover{transform:translateX(7px)}
.why-choose-number{width:33px;height:33px;background:var(--paper);border:1px solid var(--gold);color:var(--plum);font-size:10px;box-shadow:0 4px 0 rgba(230,184,74,.15);transition:transform .22s ease,background .22s ease,color .22s ease}
.why-choose-point:hover .why-choose-number{background:var(--gold);color:var(--plum-deep);transform:rotate(-8deg) scale(1.08)}
.why-choose-point h3{font-family:var(--serif);font-size:19px;font-weight:400;line-height:1.15;margin:0 0 4px;color:var(--plum-dark)}
.why-choose-point p{max-width:410px}
.why-choose-media-ring{box-shadow:0 0 0 7px rgba(230,184,74,.1)}
@media (max-width:900px){.why-choose-w-mark{font-size:360px;left:-.06em;top:-.1em}.why-choose-route{inset:-8px -16px -18px -38px;width:calc(100% + 54px)}.why-choose-point h3{font-size:18px}}
@media (max-width:600px){.why-choose-w-mark{font-size:250px;left:-.12em;top:27%;opacity:.8}.why-choose-route{display:none}.why-choose-rail{padding-left:22px;gap:7px}.why-choose-rail:before{content:'';display:block;position:absolute;left:7px;top:22px;bottom:22px;width:1px;background:linear-gradient(var(--gold),rgba(122,31,91,.14))}.why-choose-point{grid-template-columns:31px 1fr;gap:11px;padding:13px 0 13px}.why-choose-number{width:27px;height:27px}.why-choose-point h3{font-size:16px}.why-choose-point p{font-size:11px}.why-choose-content h2 em:after{height:2px;bottom:-4px}}
@media (prefers-reduced-motion:reduce){.why-choose-point,.why-choose-number{transition:none}.why-choose-point:hover{transform:none}.why-choose-point:hover .why-choose-number{transform:none}}


/* Localisation — carte Google Maps avant le pied de page */
.location-section{background:var(--paper);position:relative;overflow:hidden}
.location-grid{display:grid;grid-template-columns:minmax(260px,.8fr) minmax(0,1.2fr);gap:clamp(35px,6vw,92px);align-items:center}
.location-copy{max-width:390px}
.location-copy h2{margin:13px 0 20px;font-family:var(--serif);font-size:clamp(42px,5vw,68px);font-weight:400;line-height:.96;letter-spacing:-.045em;color:var(--plum-deep)}
.location-copy h2 em{color:var(--plum);font-style:italic}
.location-copy>p:not(.eyebrow){max-width:35ch;margin:0;color:var(--ink-soft);font-size:15px;line-height:1.75}
.location-address{margin:21px 0 27px;padding-left:15px;border-left:2px solid var(--gold);color:var(--plum-deep);font-size:13px;font-style:normal;line-height:1.7}
.location-map-frame{position:relative;min-height:390px;border:9px solid var(--paper);border-radius:26px 26px 26px 5px;background:var(--blue);box-shadow:15px 16px 0 rgba(230,184,74,.26),0 20px 50px rgba(24,33,43,.14);overflow:hidden}
.location-map-frame:before{content:'';position:absolute;inset:0;border:1px solid rgba(230,184,74,.65);border-radius:19px 19px 19px 0;z-index:1;pointer-events:none}
.location-map-frame iframe{display:block;width:100%;height:390px;border:0;filter:saturate(.82) contrast(1.02)}
.location-map-pin{position:absolute;left:22px;bottom:21px;padding:9px 13px;border-radius:3px;background:var(--plum);color:var(--paper);font-size:9px;font-weight:700;letter-spacing:.16em;box-shadow:0 7px 18px rgba(50,17,38,.25);pointer-events:none}
.location-map-pin:before{content:'';display:inline-block;width:6px;height:6px;margin:0 7px 1px 0;border-radius:50%;background:var(--gold)}
@media (max-width:900px){.location-grid{grid-template-columns:1fr;gap:36px}.location-copy{max-width:600px}.location-copy>p:not(.eyebrow){max-width:52ch}.location-map-frame{min-height:350px}.location-map-frame iframe{height:350px}}
@media (max-width:600px){.location-section{padding-top:72px;padding-bottom:78px}.location-grid{gap:30px}.location-copy h2{font-size:43px}.location-copy>p:not(.eyebrow){font-size:14px;line-height:1.65}.location-address{margin:17px 0 23px}.location-map-frame{min-height:285px;border-width:6px;border-radius:20px 20px 20px 4px;box-shadow:10px 12px 0 rgba(230,184,74,.22),0 15px 34px rgba(24,33,43,.12)}.location-map-frame:before{border-radius:14px 14px 14px 0}.location-map-frame iframe{height:285px}.location-map-pin{left:15px;bottom:15px;padding:8px 10px;font-size:8px}}
@media (prefers-reduced-motion:reduce){.location-map-frame iframe{scroll-behavior:auto}}


/* Galerie simple — moments vécus */
.home-photo-gallery{display:grid;grid-template-columns:repeat(12,1fr);gap:16px}
.home-gallery-item{position:relative;grid-column:span 4;height:245px;margin:0;overflow:hidden;border-radius:16px;background:var(--soft);isolation:isolate}
.home-gallery-item-wide{grid-column:span 6;height:330px}
.home-gallery-item:after{content:'';position:absolute;inset:0;border:1px solid rgba(50,17,38,.08);border-radius:inherit;pointer-events:none}
.home-gallery-image{width:100%;height:100%;object-fit:cover;transition:transform .45s cubic-bezier(.23,1,.32,1),filter .45s ease}
.home-gallery-item:hover .home-gallery-image{transform:scale(1.035);filter:saturate(1.04)}
@media (max-width:900px){.home-photo-gallery{grid-template-columns:repeat(2,1fr);gap:14px}.home-gallery-item,.home-gallery-item-wide{grid-column:span 1;height:260px}.home-gallery-item-wide{grid-column:1/-1;height:320px}}
@media (max-width:600px){.home-photo-gallery{grid-template-columns:1fr;gap:12px}.home-gallery-item,.home-gallery-item-wide{grid-column:auto;height:270px;border-radius:14px}.home-gallery-item-wide{height:300px}}
@media (prefers-reduced-motion:reduce){.home-gallery-image{transition:none}.home-gallery-item:hover .home-gallery-image{transform:none}}


/* Galerie régulière — présentation d’images simple */
.home-photo-gallery{grid-template-columns:repeat(3,1fr)}
.home-gallery-item,.home-gallery-item-wide{grid-column:auto;height:270px}
@media (max-width:900px){.home-photo-gallery{grid-template-columns:repeat(2,1fr)}.home-gallery-item,.home-gallery-item-wide{grid-column:auto;height:260px}}
@media (max-width:600px){.home-photo-gallery{grid-template-columns:1fr}.home-gallery-item,.home-gallery-item-wide{grid-column:auto;height:270px}}


/* Jardin d’enfants — page dédiée */
.kindergarten-page{overflow:hidden;background:var(--paper)}
.kindergarten-hero{position:relative;color:#fff;background:var(--plum-deep);isolation:isolate}
.kindergarten-hero:after{content:'W';position:absolute;right:3vw;bottom:-4rem;z-index:-1;color:rgba(255,255,255,.045);font-family:var(--serif);font-size:clamp(18rem,34vw,34rem);line-height:.7;pointer-events:none}
.kindergarten-hero-grid{display:grid;align-items:center;gap:2.5rem;min-height:38rem;padding-top:4.5rem;padding-bottom:4.5rem}
.kindergarten-hero-copy{position:relative;z-index:1;max-width:38rem}
.kindergarten-hero h1{max-width:35rem;margin:.7rem 0 1.2rem;color:#fff;font-family:var(--serif);font-size:clamp(3.4rem,7vw,6.8rem);font-weight:400;letter-spacing:-.045em;line-height:.94}
.kindergarten-hero h1 em,.kindergarten-intro h2 em,.kindergarten-pillars h2 em,.kindergarten-gallery h2 em,.kindergarten-next-step h2 em{color:var(--gold);font-weight:400}
.kindergarten-hero-lead{max-width:34rem;margin:0;color:rgba(255,255,255,.82);font-size:1.05rem;line-height:1.75}
.kindergarten-hero-actions{display:flex;flex-wrap:wrap;align-items:center;gap:1.5rem;margin-top:2rem}
.kindergarten-hero-media{position:relative;max-width:40rem;margin:0;justify-self:end}
.kindergarten-hero-media:before{position:absolute;inset:-.75rem .75rem .75rem -.75rem;border:1px solid rgba(230,184,74,.7);content:'';pointer-events:none}
.kindergarten-hero-media img{display:block;position:relative;width:100%;aspect-ratio:16/10;object-fit:cover;box-shadow:1rem 1rem 0 rgba(230,184,74,.16)}
.kindergarten-hero-stamp{position:absolute;right:-1rem;bottom:-1.25rem;display:grid;width:6.8rem;height:6.8rem;padding:.6rem;place-items:center;border:.28rem solid var(--gold);border-radius:50%;outline:.45rem solid var(--plum-deep);color:var(--plum-deep);background:var(--gold);font-family:var(--serif);font-size:1.05rem;line-height:1.05;text-align:center;transform:rotate(8deg)}
.kindergarten-intro{background:var(--paper)}
.kindergarten-intro-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(2rem,7vw,7rem);align-items:start}
.kindergarten-intro-heading h2,.kindergarten-pillars h2,.kindergarten-gallery h2,.kindergarten-next-step h2{max-width:38rem;margin:.6rem 0 0;color:var(--plum-deep);font-family:var(--serif);font-size:clamp(2.4rem,4.3vw,4.2rem);font-weight:400;letter-spacing:-.04em;line-height:1}
.kindergarten-entry-content{max-width:42rem}
.kindergarten-entry-content .lead{margin-top:0;color:var(--plum-deep);font-family:var(--serif);font-size:clamp(1.35rem,2.3vw,1.8rem);line-height:1.35}
.kindergarten-entry-content h2{margin-top:2rem;color:var(--plum);font-family:var(--serif);font-size:1.8rem;font-weight:400}
.kindergarten-entry-content p:last-child{margin-bottom:0}
.kindergarten-pillars{background:#f6efe8}
.kindergarten-section-heading{margin-bottom:2.5rem}
.kindergarten-pillar-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}
.kindergarten-pillar{min-height:16rem;padding:1.75rem;border-top:.25rem solid var(--gold);background:#fff}
.kindergarten-pillar-gold{border-top-color:var(--gold)}
.kindergarten-pillar-plum{border-top-color:var(--plum)}
.kindergarten-pillar-blue{border-top-color:var(--blue)}
.kindergarten-pillar-number{display:block;margin-bottom:2rem;color:var(--gold);font-size:.75rem;font-weight:700;letter-spacing:.14em}
.kindergarten-pillar h3{margin:0 0 .7rem;color:var(--plum-deep);font-family:var(--serif);font-size:2rem;font-weight:400}
.kindergarten-pillar p{max-width:20rem;margin:0;color:var(--muted);line-height:1.65}
.kindergarten-gallery{background:var(--paper)}
.kindergarten-gallery-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:1rem;margin-top:2.5rem}
.kindergarten-gallery-grid figure{position:relative;min-height:20rem;margin:0;overflow:hidden;background:var(--plum-dark)}
.kindergarten-gallery-grid figure:after{position:absolute;inset:0;border:1px solid rgba(255,255,255,.38);content:'';pointer-events:none}
.kindergarten-gallery-grid img{display:block;width:100%;height:100%;min-height:20rem;object-fit:cover;transition:transform .5s ease}
.kindergarten-gallery-grid figure:hover img{transform:scale(1.035)}
.kindergarten-next-step{color:#fff;background:var(--blue)}
.kindergarten-next-step-inner{display:flex;align-items:end;justify-content:space-between;gap:2rem;padding-top:clamp(3.5rem,7vw,6rem);padding-bottom:clamp(3.5rem,7vw,6rem)}
.kindergarten-next-step h2{color:#fff}
.kindergarten-next-step p:not(.eyebrow){max-width:38rem;margin:1.25rem 0 0;color:rgba(255,255,255,.78);line-height:1.7}
@media (min-width:801px){.kindergarten-hero-grid{grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr)}}
@media (max-width:800px){.kindergarten-hero-grid,.kindergarten-intro-grid,.kindergarten-gallery-grid{grid-template-columns:1fr}.kindergarten-hero-grid{min-height:0;padding-top:3.5rem;padding-bottom:4rem}.kindergarten-hero-media{width:calc(100% - .75rem);justify-self:start}.kindergarten-pillar-grid{grid-template-columns:1fr}.kindergarten-pillar{min-height:auto}.kindergarten-gallery-grid figure,.kindergarten-gallery-grid img{min-height:15rem}.kindergarten-next-step-inner{display:block}.kindergarten-next-step .button{margin-top:1.75rem}}
@media (max-width:520px){.kindergarten-hero h1{font-size:clamp(3rem,15vw,4.4rem)}.kindergarten-hero-stamp{right:-.35rem;bottom:-.85rem;width:5.6rem;height:5.6rem;font-size:.9rem}.kindergarten-intro-heading h2,.kindergarten-pillars h2,.kindergarten-gallery h2,.kindergarten-next-step h2{font-size:2.5rem}}

/* Fondamental — page de cycle */
.fundamental-page{background:var(--paper);color:var(--ink);overflow:hidden}.fundamental-hero{position:relative;overflow:hidden;background:var(--blue);color:var(--white)}.fundamental-hero:after{position:absolute;right:-8rem;bottom:-10rem;width:24rem;height:24rem;border:1px solid rgba(230,184,74,.28);border-radius:50%;content:""}.fundamental-hero-grid{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(2.5rem,6vw,6rem);align-items:center;min-height:35rem}.fundamental-hero-copy{padding:5rem 0}.fundamental-hero h1{max-width:37rem;margin:1rem 0 1.25rem;color:var(--white);font-size:clamp(2.7rem,5.5vw,5.4rem);line-height:.98;letter-spacing:-.045em}.fundamental-hero h1 em,.fundamental-next-step h2 em{color:var(--gold);font-family:var(--serif);font-weight:400}.fundamental-hero-lead{max-width:34rem;margin:0;color:rgba(255,255,255,.82);font-size:clamp(1rem,1.4vw,1.18rem);line-height:1.7}.fundamental-hero-actions{display:flex;flex-wrap:wrap;gap:1.4rem;align-items:center;margin-top:2rem}.fundamental-hero-media{position:relative;align-self:stretch;min-height:31rem;margin:0}.fundamental-hero-media:before{position:absolute;z-index:1;inset:1.5rem 1.5rem 1.5rem 0;border:1px solid rgba(255,255,255,.32);border-radius:0 0 0 7rem;content:"";pointer-events:none}.fundamental-hero-media img{width:100%;height:100%;min-height:31rem;object-fit:cover;object-position:center;border-radius:0 0 0 7rem}.fundamental-hero-badge{position:absolute;right:1.5rem;bottom:2.5rem;z-index:2;display:grid;gap:.15rem;width:9.5rem;padding:1.25rem 1.4rem;background:var(--gold);color:var(--plum-deep);box-shadow:0 1rem 2rem rgba(18,59,93,.2)}.fundamental-hero-badge strong{font-size:1.55rem;line-height:1}.fundamental-hero-badge small{font-size:.72rem;line-height:1.35;text-transform:uppercase;letter-spacing:.08em}.fundamental-intro{background:var(--paper)}.fundamental-intro-grid,.fundamental-focus-grid{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(2rem,7vw,7rem);align-items:start}.fundamental-intro-heading h2,.fundamental-focus-copy h2{margin:.9rem 0 0;color:var(--plum-deep);font-size:clamp(2rem,3.4vw,3.65rem);line-height:1.04;letter-spacing:-.035em}.fundamental-intro-heading h2 em,.fundamental-focus-copy h2 em,.fundamental-section-heading h2 em{color:var(--plum);font-family:var(--serif);font-weight:400}.fundamental-entry-content{max-width:42rem;padding-top:.35rem}.fundamental-entry-content p{margin:0 0 1.25rem;color:var(--muted);font-size:1.08rem;line-height:1.82}.fundamental-entry-content h2{margin:1.8rem 0 .8rem;color:var(--plum);font-size:1.3rem}.fundamental-entry-content strong{color:var(--plum)}.fundamental-progression{background:#f4eee6}.fundamental-section-heading{margin-bottom:2.5rem}.fundamental-cycle-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem}.fundamental-cycle{position:relative;min-height:18rem;padding:clamp(1.7rem,4vw,3rem);overflow:hidden}.fundamental-cycle:after{position:absolute;right:-2.5rem;bottom:-4rem;width:12rem;height:12rem;border:1px solid currentColor;border-radius:50%;opacity:.25;content:""}.fundamental-cycle-gold{background:var(--gold);color:var(--plum-deep)}.fundamental-cycle-plum{background:var(--plum);color:var(--white)}.fundamental-cycle-top{display:flex;justify-content:space-between;gap:1rem;font-size:.8rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.fundamental-cycle h3{position:relative;z-index:1;margin:3rem 0 .8rem;font-size:clamp(1.6rem,2.7vw,2.5rem);letter-spacing:-.03em}.fundamental-cycle p{position:relative;z-index:1;max-width:31rem;margin:0;font-size:1rem;line-height:1.65}.fundamental-pillars{background:var(--paper)}.fundamental-pillar-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.fundamental-pillar{min-height:17rem;padding:1.7rem;border-top:3px solid var(--gold);background:var(--white);box-shadow:0 .8rem 2rem rgba(50,17,38,.06)}.fundamental-pillar:nth-child(2){border-top-color:var(--plum)}.fundamental-pillar:nth-child(3){border-top-color:var(--blue)}.fundamental-pillar-number{display:block;color:var(--gold);font-size:.8rem;font-weight:700;letter-spacing:.14em}.fundamental-pillar h3{margin:2.4rem 0 .75rem;color:var(--plum-deep);font-size:1.35rem}.fundamental-pillar p{margin:0;color:var(--muted);line-height:1.7}.fundamental-focus{background:#f4eee6}.fundamental-focus-grid{align-items:center}.fundamental-focus-media{position:relative;margin:0}.fundamental-focus-media:after{position:absolute;right:-1rem;bottom:-1rem;z-index:0;width:55%;height:55%;border-right:3px solid var(--gold);border-bottom:3px solid var(--gold);content:""}.fundamental-focus-media img{position:relative;z-index:1;display:block;width:100%;aspect-ratio:1.28;object-fit:cover}.fundamental-focus-copy{max-width:37rem}.fundamental-focus-copy>p:not(.eyebrow){margin:1.35rem 0 1.7rem;color:var(--muted);font-size:1.05rem;line-height:1.8}.fundamental-gallery{background:var(--paper)}.fundamental-gallery-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.fundamental-gallery-grid figure{margin:0;overflow:hidden;background:#eee}.fundamental-gallery-grid img{display:block;width:100%;aspect-ratio:1.32;object-fit:cover;transition:transform .5s ease}.fundamental-gallery-grid figure:hover img{transform:scale(1.035)}.fundamental-next-step{background:var(--plum-dark);color:var(--white)}.fundamental-next-step-inner{display:flex;justify-content:space-between;gap:2rem;align-items:end;padding-top:clamp(3rem,7vw,6rem);padding-bottom:clamp(3rem,7vw,6rem)}.fundamental-next-step h2{max-width:37rem;margin:.8rem 0 1rem;color:var(--white);font-size:clamp(2rem,4.2vw,4rem);line-height:1;letter-spacing:-.04em}.fundamental-next-step p:not(.eyebrow){max-width:38rem;margin:0;color:rgba(255,255,255,.78);line-height:1.75}@media (max-width:850px){.fundamental-hero-grid,.fundamental-intro-grid,.fundamental-focus-grid{grid-template-columns:1fr}.fundamental-hero-copy{padding:4rem 0 1rem}.fundamental-hero-media{min-height:23rem}.fundamental-hero-media img{min-height:23rem;border-radius:0 0 0 4rem}.fundamental-hero-media:before{border-radius:0 0 0 4rem}.fundamental-intro-grid,.fundamental-focus-grid{gap:2.5rem}.fundamental-pillar-grid{grid-template-columns:1fr}.fundamental-pillar{min-height:auto}.fundamental-next-step-inner{align-items:start;flex-direction:column}}@media (max-width:600px){.fundamental-hero h1{font-size:clamp(2.6rem,13vw,4rem)}.fundamental-hero-actions{align-items:flex-start;flex-direction:column;gap:1rem}.fundamental-cycle-grid,.fundamental-gallery-grid{grid-template-columns:1fr}.fundamental-cycle{min-height:15rem}.fundamental-cycle h3{margin-top:2.4rem}.fundamental-hero-badge{right:1rem;bottom:1.5rem}}

/* Correctif hero Fondamental : image pleine hauteur de la colonne */
.fundamental-hero-media{min-height:31rem}.fundamental-hero-media img{position:absolute;inset:0;width:100%;height:100%;min-height:0;object-fit:cover}.fundamental-hero-media:before{z-index:1}@media (max-width:850px){.fundamental-hero-media{min-height:23rem}.fundamental-hero-media img{min-height:0}}

/* Lycée — page de cycle */
.lycee-hero{overflow:hidden;background:var(--blue);color:var(--white)}
.lycee-hero-grid{display:grid;grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr);min-height:40rem}
.lycee-hero-copy{display:flex;flex-direction:column;justify-content:center;padding:clamp(4rem,8vw,7rem) clamp(1.25rem,5vw,5rem) clamp(4rem,8vw,7rem) 0}
.lycee-hero h1{max-width:38rem;margin:1.1rem 0 1.4rem;color:var(--white);font-size:clamp(3rem,6vw,6rem);line-height:.98;letter-spacing:-.055em}
.lycee-hero h1 em{color:var(--gold);font-family:var(--serif);font-weight:400}
.lycee-hero-lead{max-width:34rem;margin:0;color:rgba(255,255,255,.78);font-size:1.08rem;line-height:1.8}
.lycee-hero-actions{display:flex;align-items:center;gap:1.6rem;margin-top:2.1rem}
.lycee-hero-media{position:relative;min-height:40rem;margin:0;overflow:hidden;background:var(--plum-dark)}
.lycee-hero-media:before{position:absolute;inset:1rem 1rem 1rem 0;z-index:1;border:1px solid rgba(230,184,74,.55);content:"";pointer-events:none}
.lycee-hero-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.lycee-hero-media:after{position:absolute;inset:0;background:linear-gradient(90deg,rgba(18,59,93,.26),transparent 45%,rgba(50,17,38,.18));content:""}
.lycee-hero-badge{position:absolute;right:2rem;bottom:2rem;z-index:2;display:flex;align-items:center;gap:.75rem;padding:.9rem 1.15rem;background:var(--gold);color:var(--plum-deep);box-shadow:0 1rem 2.5rem rgba(0,0,0,.16)}
.lycee-hero-badge strong{font-size:1.15rem;line-height:1}.lycee-hero-badge small{padding-left:.75rem;border-left:1px solid rgba(50,17,38,.38);font-size:.7rem;line-height:1.25;letter-spacing:.09em;text-transform:uppercase}
.lycee-intro{background:var(--paper)}
.lycee-intro-grid,.lycee-focus-grid,.lycee-exam-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(2rem,7vw,7rem);align-items:start}
.lycee-intro-heading h2,.lycee-focus-copy h2,.lycee-section-heading h2,.lycee-exam h2{margin:.9rem 0 0;color:var(--plum-deep);font-size:clamp(2rem,3.4vw,3.65rem);line-height:1.04;letter-spacing:-.035em}
.lycee-intro-heading h2 em,.lycee-focus-copy h2 em,.lycee-section-heading h2 em,.lycee-exam h2 em{color:var(--plum);font-family:var(--serif);font-weight:400}
.lycee-entry-content{max-width:42rem;padding-top:.35rem}.lycee-entry-content p{margin:0 0 1.25rem;color:var(--muted);font-size:1.08rem;line-height:1.82}.lycee-entry-content h2{margin:1.8rem 0 .8rem;color:var(--plum);font-size:1.3rem}.lycee-entry-content strong{color:var(--plum)}
.lycee-reperes{background:#f4eee6}.lycee-section-heading{margin-bottom:2.5rem}.lycee-repere-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.lycee-repere{position:relative;min-height:17rem;padding:clamp(1.6rem,3vw,2.5rem);overflow:hidden}.lycee-repere:after{position:absolute;right:-2.7rem;bottom:-4.2rem;width:12rem;height:12rem;border:1px solid currentColor;border-radius:50%;opacity:.25;content:""}.lycee-repere-gold{background:var(--gold);color:var(--plum-deep)}.lycee-repere-plum{background:var(--plum);color:var(--white)}.lycee-repere-blue{background:var(--blue);color:var(--white)}.lycee-repere-number{position:relative;z-index:1;font-size:.8rem;font-weight:700;letter-spacing:.14em}.lycee-repere h3{position:relative;z-index:1;margin:3rem 0 .8rem;font-size:clamp(1.6rem,2.7vw,2.5rem);letter-spacing:-.03em}.lycee-repere p{position:relative;z-index:1;max-width:31rem;margin:0;font-size:1rem;line-height:1.65}
.lycee-focus{background:var(--paper)}.lycee-focus-grid{align-items:center}.lycee-focus-media{position:relative;margin:0}.lycee-focus-media:after{position:absolute;right:-1rem;bottom:-1rem;z-index:0;width:55%;height:55%;border-right:3px solid var(--gold);border-bottom:3px solid var(--gold);content:""}.lycee-focus-media img{position:relative;z-index:1;display:block;width:100%;aspect-ratio:1.28;object-fit:cover}.lycee-focus-copy{max-width:37rem}.lycee-focus-copy>p:not(.eyebrow){margin:1.35rem 0 1.7rem;color:var(--muted);font-size:1.05rem;line-height:1.8}
.lycee-exam{background:#f4eee6}.lycee-exam-grid{align-items:center}.lycee-exam-copy{max-width:38rem}.lycee-exam-copy p{margin:0 0 1rem;color:var(--muted);font-size:1.04rem;line-height:1.8}.lycee-exam-copy p:last-child{margin-bottom:0;font-size:.92rem}
.lycee-gallery{background:var(--paper)}.lycee-gallery-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.lycee-gallery-grid figure{margin:0;overflow:hidden;background:#eee}.lycee-gallery-grid img{display:block;width:100%;aspect-ratio:1.32;object-fit:cover;transition:transform .5s ease}.lycee-gallery-grid figure:hover img{transform:scale(1.035)}
.lycee-next-step{background:var(--plum-dark);color:var(--white)}.lycee-next-step-inner{display:flex;justify-content:space-between;gap:2rem;align-items:end;padding-top:clamp(3rem,7vw,6rem);padding-bottom:clamp(3rem,7vw,6rem)}.lycee-next-step h2{max-width:37rem;margin:.8rem 0 1rem;color:var(--white);font-size:clamp(2rem,4.2vw,4rem);line-height:1;letter-spacing:-.04em}.lycee-next-step h2 em{color:var(--gold);font-family:var(--serif);font-weight:400}.lycee-next-step p:not(.eyebrow){max-width:38rem;margin:0;color:rgba(255,255,255,.78);line-height:1.75}
@media (max-width:850px){.lycee-hero-grid,.lycee-intro-grid,.lycee-focus-grid,.lycee-exam-grid{grid-template-columns:1fr}.lycee-hero-copy{padding:4rem 0 1rem}.lycee-hero-media{min-height:23rem}.lycee-hero-media img{min-height:23rem}.lycee-hero-media:before{inset:1rem 1rem 0;border-bottom:0}.lycee-intro-grid,.lycee-focus-grid,.lycee-exam-grid{gap:2.5rem}.lycee-repere-grid{grid-template-columns:1fr}.lycee-repere{min-height:auto}.lycee-next-step-inner{align-items:start;flex-direction:column}}
@media (max-width:600px){.lycee-hero h1{font-size:clamp(2.7rem,13vw,4rem)}.lycee-hero-actions{align-items:flex-start;flex-direction:column;gap:1rem}.lycee-hero-media{min-height:21rem}.lycee-hero-media img{min-height:0}.lycee-hero-badge{right:1rem;bottom:1.5rem}.lycee-gallery-grid{grid-template-columns:1fr}}

/* Formation professionnelle — page dédiée */
.professional-hero{position:relative;overflow:hidden;background:var(--plum-deep);color:var(--white)}
.professional-hero-grid{display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);min-height:clamp(34rem,68vw,48rem);align-items:stretch}
.professional-hero-copy{position:relative;z-index:2;display:flex;flex-direction:column;justify-content:center;padding:clamp(4rem,8vw,8rem) 0 clamp(4rem,8vw,7rem)}
.professional-hero h1{max-width:39rem;margin:.8rem 0 1.4rem;color:var(--white);font-size:clamp(2.8rem,5.4vw,5.9rem);line-height:.96;letter-spacing:-.055em}
.professional-hero h1 em,.professional-intro h2 em,.professional-fields h2 em,.professional-method h2 em,.professional-gallery h2 em,.professional-next-step h2 em{color:var(--gold);font-family:var(--font-serif);font-weight:400}
.professional-hero-lead{max-width:34rem;margin:0;color:rgba(255,255,255,.78);font-size:clamp(1rem,1.4vw,1.18rem);line-height:1.75}
.professional-hero-actions{display:flex;align-items:center;gap:1.5rem;margin-top:2.2rem}
.professional-hero-media{position:relative;min-height:100%;margin:0;overflow:hidden;background:#24101f}
.professional-hero-media:before{position:absolute;inset:1.4rem 1.4rem 1.4rem 0;z-index:1;border:1px solid rgba(230,184,74,.55);border-left:0;content:"";pointer-events:none}
.professional-hero-media img{display:block;width:100%;height:100%;min-height:34rem;object-fit:cover;object-position:center top;filter:saturate(.96)}
.professional-hero-badge{position:absolute;right:2rem;bottom:2rem;z-index:2;display:flex;align-items:center;gap:.8rem;padding:.8rem 1rem;background:var(--gold);color:var(--plum-deep);box-shadow:0 1rem 2rem rgba(0,0,0,.18)}
.professional-hero-badge strong{font-size:1rem;letter-spacing:.06em;text-transform:uppercase}.professional-hero-badge small{padding-left:.8rem;border-left:1px solid rgba(50,17,38,.35);font-size:.72rem;font-weight:700;line-height:1.15;text-transform:uppercase}
.professional-intro{background:var(--paper)}
.professional-intro-grid{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(3rem,8vw,8rem);align-items:start}
.professional-intro-heading h2,.professional-fields h2,.professional-method h2,.professional-gallery h2{max-width:39rem;margin:.8rem 0 0;color:var(--plum-deep);font-size:clamp(2.2rem,4vw,4.4rem);line-height:1;letter-spacing:-.045em}
.professional-entry-content{max-width:42rem}.professional-entry-content .lead{color:var(--plum-deep);font-size:clamp(1.15rem,1.7vw,1.45rem);line-height:1.55}.professional-entry-content h2{margin-top:2.2rem;color:var(--plum);font-size:1.65rem}.professional-entry-content p{color:var(--muted);line-height:1.8}
.professional-fields{background:#f4eee6}
.professional-section-heading{align-items:end;margin-bottom:2.6rem}.professional-fields-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
.professional-field-card{position:relative;min-height:24rem;padding:clamp(1.5rem,3vw,2.6rem);overflow:hidden}.professional-field-card:after{position:absolute;right:-3.5rem;bottom:-4rem;width:12rem;height:12rem;border:1px solid currentColor;border-radius:50%;opacity:.25;content:""}
.professional-field-gold{background:var(--gold);color:var(--plum-deep)}.professional-field-plum{background:var(--plum);color:var(--white)}.professional-field-blue{background:var(--blue);color:var(--white)}
.professional-field-number{position:relative;z-index:1;font-size:.8rem;font-weight:700;letter-spacing:.14em}.professional-field-card h3{position:relative;z-index:1;max-width:15rem;margin:3rem 0 1.2rem;font-size:clamp(1.45rem,2.2vw,2.2rem);line-height:1.05;letter-spacing:-.03em}.professional-field-card ul{position:relative;z-index:1;display:grid;grid-template-columns:1fr 1fr;gap:.55rem 1.3rem;margin:0;padding:0;list-style:none}.professional-field-card li{position:relative;padding-left:1rem;font-size:.91rem;line-height:1.35}.professional-field-card li:before{position:absolute;top:.48em;left:0;width:.35rem;height:.35rem;background:currentColor;content:""}
.professional-method{background:var(--paper)}.professional-method-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.95fr);gap:clamp(3rem,8vw,8rem);align-items:center}.professional-method-media{position:relative;margin:0}.professional-method-media:after{position:absolute;right:-1rem;bottom:-1rem;z-index:0;width:54%;height:54%;border-right:3px solid var(--gold);border-bottom:3px solid var(--gold);content:""}.professional-method-media img{position:relative;z-index:1;display:block;width:100%;aspect-ratio:1.25;object-fit:cover}.professional-method-copy>p:not(.eyebrow){max-width:38rem;margin:1.5rem 0;color:var(--muted);font-size:1.05rem;line-height:1.8}.professional-method-points{display:grid;gap:.9rem;margin-top:1.8rem}.professional-method-points div{display:flex;gap:1rem;align-items:baseline;padding-top:.85rem;border-top:1px solid rgba(122,31,91,.17)}.professional-method-points strong{color:var(--gold);font-size:.85rem;letter-spacing:.12em}.professional-method-points span{color:var(--plum-deep);line-height:1.45}
.professional-gallery{background:#f4eee6}.professional-gallery-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:1rem}.professional-gallery-grid figure{margin:0;overflow:hidden;background:#e7dfd5}.professional-gallery-grid img{display:block;width:100%;aspect-ratio:1.25;object-fit:cover;transition:transform .5s ease}.professional-gallery-grid figure:hover img{transform:scale(1.035)}.professional-gallery-main img{aspect-ratio:1.5}
.professional-next-step{background:var(--plum-dark);color:var(--white)}.professional-next-step-inner{display:flex;justify-content:space-between;gap:2rem;align-items:end;padding-top:clamp(3rem,7vw,6rem);padding-bottom:clamp(3rem,7vw,6rem)}.professional-next-step h2{max-width:42rem;margin:.8rem 0 1rem;color:var(--white);font-size:clamp(2rem,4.2vw,4rem);line-height:1;letter-spacing:-.04em}.professional-next-step p:not(.eyebrow){max-width:42rem;margin:0;color:rgba(255,255,255,.78);line-height:1.75}
@media (max-width:850px){.professional-hero-grid,.professional-intro-grid,.professional-method-grid{grid-template-columns:1fr}.professional-hero-copy{padding:4rem 0 2rem}.professional-hero-media{min-height:23rem}.professional-hero-media img{min-height:23rem}.professional-hero-media:before{inset:1rem 1rem 0;border-bottom:0}.professional-intro-grid,.professional-method-grid{gap:2.5rem}.professional-fields-grid{grid-template-columns:1fr}.professional-field-card{min-height:auto}.professional-next-step-inner{align-items:start;flex-direction:column}}
@media (max-width:600px){.professional-hero h1{font-size:clamp(2.65rem,13vw,4.1rem)}.professional-hero-actions{align-items:flex-start;flex-direction:column;gap:1rem}.professional-hero-media{min-height:19rem}.professional-hero-media img{min-height:19rem}.professional-hero-badge{right:1rem;bottom:1.2rem}.professional-field-card h3{margin-top:2.2rem}.professional-field-card ul{grid-template-columns:1fr}.professional-gallery-grid{grid-template-columns:1fr}.professional-gallery-main img,.professional-gallery-grid img{aspect-ratio:1.2}.professional-next-step .button{width:100%;justify-content:center}}


/* Navigation institutionnelle et fil d’Ariane */
.cswaka-breadcrumbs{background:#f4eee6;border-bottom:1px solid rgba(122,31,91,.08);color:var(--muted);font-size:11px;letter-spacing:.02em}
.cswaka-breadcrumbs .container{display:flex;align-items:center;flex-wrap:wrap;gap:8px;min-height:43px}
.cswaka-breadcrumbs a{color:var(--plum);font-weight:700}
.cswaka-breadcrumbs a:hover{color:var(--plum-dark);text-decoration:underline;text-underline-offset:3px}
.breadcrumb-separator{color:var(--gold);font-weight:800}
.breadcrumb-current{color:var(--ink);font-weight:600}
.menu-item-has-children{position:relative}
.menu-item-has-children>a:after{content:'⌄';display:inline-block;margin-left:7px;color:var(--gold);font-size:12px;transform:translateY(-1px)}
.menu .sub-menu{position:absolute;z-index:30;top:calc(100% + 18px);left:-18px;display:block;min-width:205px;margin:0;padding:10px 0;background:var(--paper);border:1px solid rgba(122,31,91,.1);border-radius:12px;box-shadow:0 18px 38px rgba(50,17,38,.14);list-style:none;opacity:0;visibility:hidden;transform:translateY(-7px);transition:opacity .18s ease,visibility .18s ease,transform .18s ease}
.menu .sub-menu:before{content:'';position:absolute;top:-7px;left:28px;width:12px;height:12px;background:var(--paper);border-top:1px solid rgba(122,31,91,.1);border-left:1px solid rgba(122,31,91,.1);transform:rotate(45deg)}
.menu-item-has-children:hover>.sub-menu,.menu-item-has-children:focus-within>.sub-menu{opacity:1;visibility:visible;transform:translateY(0)}
.menu .sub-menu li{position:relative;display:block;padding:0}
.menu .sub-menu a{display:block;padding:9px 18px;color:var(--plum-dark);font-size:12px;line-height:1.35;white-space:nowrap}
.menu .sub-menu a:hover,.menu .sub-menu .current-menu-item>a{background:rgba(122,31,91,.07);color:var(--plum)}
.menu .sub-menu .menu-item-has-children>a:after{content:'›';float:right;margin-left:20px}
.menu .sub-menu .sub-menu{top:-10px;left:calc(100% + 8px)}
.menu .sub-menu .sub-menu:before{top:18px;left:-7px;border-top:0;border-left:1px solid rgba(122,31,91,.1);border-bottom:1px solid rgba(122,31,91,.1)}

/* Pages institutionnelles */
.institution-values-list{display:grid;gap:0;margin:28px 0 6px;border-top:1px solid var(--line)}
.institution-values-list h2{margin:0!important;padding:18px 0 3px;font-size:25px!important}
.institution-values-list p{margin:0!important;padding:0 0 18px;border-bottom:1px solid var(--line);font-size:15px}
.entry-content blockquote{margin:28px 0;padding:21px 25px;border-left:3px solid var(--gold);background:#f4eee6;color:var(--plum-dark);font-family:var(--serif);font-size:22px;font-style:italic;line-height:1.35}
.entry-content .lead{font-family:var(--serif);font-size:clamp(1.2rem,2vw,1.55rem);line-height:1.5;color:var(--plum-dark)}

@media (max-width:900px){
  .menu .sub-menu{left:-10px}
}
@media (max-width:760px){
  .cswaka-breadcrumbs .container{min-height:39px;gap:6px;font-size:10px}
  .primary-navigation{position:absolute;top:100%;left:0;right:0;display:block;padding:10px 24px 24px;background:var(--paper);border-top:1px solid var(--line);box-shadow:0 18px 28px rgba(50,17,38,.1);opacity:0;visibility:hidden;transform:translateY(-8px);transition:opacity .2s ease,visibility .2s ease,transform .2s ease}
  .primary-navigation.is-open{opacity:1;visibility:visible;transform:translateY(0)}
  .primary-navigation .menu{display:block}
  .primary-navigation .menu>li{border-bottom:1px solid var(--line)}
  .primary-navigation .menu>li:last-child{border-bottom:0}
  .primary-navigation .menu a{display:block;padding:13px 4px;font-size:14px}
  .primary-navigation .menu-item-has-children>a{padding-right:43px}
  .primary-navigation .menu-item-has-children>a:after{float:right;margin-right:3px}
  .primary-navigation .menu .sub-menu{position:static;display:none;min-width:0;padding:0 0 6px;background:transparent;border:0;border-radius:0;box-shadow:none;opacity:1;visibility:visible;transform:none}
  .primary-navigation .menu .sub-menu:before{display:none}
  .primary-navigation .menu-item-has-children.submenu-open>.sub-menu{display:block}
  .primary-navigation .menu .sub-menu a{padding:9px 12px 9px 20px;color:var(--muted);font-size:13px}
  .primary-navigation .menu .sub-menu .sub-menu{display:none;padding:0 0 5px 8px}
  .primary-navigation .menu .sub-menu .menu-item-has-children.submenu-open>.sub-menu{display:block}
  .menu-toggle{display:block}
  .header-inner{min-height:72px}
  .nav-cta{display:none}
}
@media (prefers-reduced-motion:reduce){.menu .sub-menu,.primary-navigation{transition:none}}

.submenu-toggle{display:none}
@media (max-width:760px){
  .primary-navigation .menu-item-has-children{display:flex;flex-wrap:wrap;align-items:center}
  .primary-navigation .menu-item-has-children>a{flex:1}
  .primary-navigation .menu-item-has-children>a:after{display:none}
  .primary-navigation .menu-item-has-children>.submenu-toggle{display:grid;place-items:center;width:38px;height:38px;margin-right:0;border:0;border-radius:8px;background:transparent;color:var(--plum);cursor:pointer;font-size:18px;line-height:1;transition:transform .2s ease,background .2s ease}
  .primary-navigation .menu-item-has-children>.submenu-toggle:hover{background:rgba(122,31,91,.08)}
  .primary-navigation .menu-item-has-children>.submenu-toggle[aria-expanded="true"]{transform:rotate(180deg);background:rgba(122,31,91,.08)}
  .primary-navigation .menu-item-has-children>.sub-menu{flex-basis:100%}
}

.director-signature{margin-top:34px!important;padding-top:20px;border-top:1px solid var(--line);color:var(--plum-dark);font-family:var(--serif);font-size:20px;line-height:1.45}.director-signature strong{display:inline-block;color:var(--plum);font-family:var(--sans);font-size:11px;letter-spacing:.14em;text-transform:uppercase}.director-signature em{font-size:18px}

/* Sections internes de la page Présentation */
.institution-sections{margin-top:58px;border-top:1px solid var(--line)}
.institution-section{padding:42px 0 38px;border-bottom:1px solid var(--line);scroll-margin-top:28px}
.institution-section:last-child{border-bottom:0;padding-bottom:0}
.institution-section h2{margin-top:0!important;margin-bottom:14px!important}
.institution-kicker{margin:0 0 9px!important;color:var(--plum);font-size:10px!important;font-weight:800;letter-spacing:.15em;text-transform:uppercase}
.institution-values-list>p:not(.institution-kicker){margin-bottom:25px}
.values-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line);margin-top:24px}
.values-grid>div{background:var(--paper);padding:22px 23px 20px}
.values-grid h3{font-family:var(--serif);font-size:23px!important;color:var(--plum-dark);margin:0 0 7px!important}
.values-grid p{font-size:14px;line-height:1.55;margin:0!important;color:var(--muted)}
@media (max-width:640px){.institution-sections{margin-top:42px}.institution-section{padding:33px 0 30px}.values-grid{grid-template-columns:1fr}.values-grid>div{padding:18px 19px}}

/* Dossier institutionnel numéroté — page Présentation */
.presentation-content-section .entry-content{color:#4d5962}
.presentation-index{margin:0 0 58px;padding:22px 0 0;border-top:1px solid var(--line)}
.presentation-index-label{margin:0 0 18px;color:var(--plum);font-size:10px;font-weight:800;letter-spacing:.15em;text-transform:uppercase}
.presentation-index-links{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.presentation-index-links a{display:flex;min-height:106px;flex-direction:column;justify-content:space-between;padding:14px 14px 13px;border:1px solid var(--line);background:var(--paper);transition:transform .2s ease,background .2s ease,border-color .2s ease,box-shadow .2s ease}
.presentation-index-links a:hover{color:inherit;transform:translateY(-3px);border-color:var(--gold);background:#fffaf0;box-shadow:0 10px 22px rgba(24,33,43,.08)}
.presentation-index-links a:focus-visible{outline:3px solid rgba(230,184,74,.65);outline-offset:3px}
.presentation-index-links span{color:var(--gold);font-family:var(--serif);font-size:27px;font-style:italic;line-height:1}
.presentation-index-links strong{color:var(--plum-dark);font-family:var(--serif);font-size:15px;font-weight:400;line-height:1.15}
.presentation-index-links small{color:var(--muted);font-size:10px;line-height:1.2}
.presentation-content-section .institution-sections{margin-top:0}
.presentation-content-section .institution-section{position:relative;isolation:isolate;overflow:hidden;padding:54px 28px 48px 92px;margin:0 -28px;border-bottom:1px solid rgba(24,33,43,.12)}
.presentation-content-section .institution-section:after{content:'01';position:absolute;z-index:-1;right:-6px;top:21px;color:rgba(122,31,91,.07);font-family:var(--serif);font-size:155px;font-style:italic;font-weight:700;line-height:.8;pointer-events:none}
.presentation-content-section .institution-section:nth-child(2){background:linear-gradient(105deg,#fff8fc 0%,#fffdf9 72%);border-left:4px solid var(--plum)}
.presentation-content-section .institution-section:nth-child(2):after{content:'02';color:rgba(122,31,91,.09)}
.presentation-content-section .institution-section:nth-child(3){background:var(--plum-dark);border-color:var(--plum-dark);color:rgba(255,255,255,.76)}
.presentation-content-section .institution-section:nth-child(3) h2,.presentation-content-section .institution-section:nth-child(3) p:not(.institution-kicker){color:rgba(255,255,255,.82)}
.presentation-content-section .institution-section:nth-child(3) .institution-kicker{color:var(--gold)}
.presentation-content-section .institution-section:nth-child(3):after{content:'03';color:rgba(255,255,255,.08)}
.presentation-content-section .institution-section:nth-child(4){background:linear-gradient(105deg,#f3f7fa 0%,#fffdf9 78%);border-left:4px solid var(--blue)}
.presentation-content-section .institution-section:nth-child(4):after{content:'04';color:rgba(18,59,93,.08)}
.presentation-content-section .institution-section:nth-child(5){padding-bottom:30px;border-bottom:0}
.presentation-content-section .institution-section:nth-child(5):after{content:'05';color:rgba(230,184,74,.12)}
.presentation-content-section .institution-section h2{position:relative;z-index:1}
.presentation-content-section .institution-section p:not(.institution-kicker){position:relative;z-index:1}
.presentation-content-section .values-grid{position:relative;z-index:1;background:rgba(230,232,235,.8)}
.presentation-content-section .values-grid>div{background:rgba(255,253,249,.9)}
.presentation-next-step{margin:62px 0 0;padding:37px 35px 34px;background:var(--gold);position:relative;overflow:hidden}
.presentation-next-step:after{content:'W';position:absolute;right:8px;bottom:-58px;color:rgba(255,255,255,.2);font-family:var(--serif);font-size:175px;font-style:italic;line-height:1;pointer-events:none}
.presentation-next-step>*{position:relative;z-index:1}
.presentation-next-step .eyebrow{color:var(--plum-dark);margin-bottom:14px}
.presentation-next-step h2{margin:0 0 10px;color:var(--plum-dark);font-family:var(--serif);font-size:34px;font-weight:400;line-height:1.1}
.presentation-next-step h2 em{color:var(--plum);font-style:italic}
.presentation-next-step p:not(.eyebrow){max-width:510px;margin:0 0 20px;color:rgba(50,17,38,.72);font-size:14px;line-height:1.55}
.presentation-next-step .text-link{color:var(--plum-dark)}
@media (max-width:760px){.presentation-index{margin-bottom:42px}.presentation-index-links{grid-template-columns:repeat(2,minmax(0,1fr))}.presentation-content-section .institution-section{padding:41px 22px 37px 54px;margin:0 -14px}.presentation-content-section .institution-section:after{font-size:112px;top:18px}.presentation-next-step{margin-top:43px;padding:30px 24px 28px}}
@media (max-width:430px){.presentation-index-links{grid-template-columns:1fr 1fr;gap:7px}.presentation-index-links a{min-height:96px;padding:12px 11px}.presentation-index-links strong{font-size:14px}.presentation-index-links small{font-size:9px}.presentation-content-section .institution-section{padding-left:36px;padding-right:18px}.presentation-content-section .institution-section:after{right:-11px;font-size:93px}}
@media (prefers-reduced-motion:reduce){.presentation-index-links a{transition:none}}

/* Contraste renforcé de la navigation mobile */
@media (max-width:760px){
  .primary-navigation{background:#fff;border-top:2px solid var(--plum);box-shadow:0 18px 34px rgba(50,17,38,.18)}
  .primary-navigation .menu a{color:var(--plum-dark);font-weight:700}
  .primary-navigation .menu a:hover,
  .primary-navigation .menu a:focus-visible,
  .primary-navigation .menu .current-menu-item>a,
  .primary-navigation .menu .current-menu-ancestor>a{color:var(--plum-deep);background:#f3e8ef}
  .primary-navigation .menu>li{border-bottom-color:#d7dce1}
  .primary-navigation .menu .sub-menu{border-left:3px solid var(--gold);margin:0 0 8px 5px;padding:3px 0 7px 8px;background:#faf7f1}
  .primary-navigation .menu .sub-menu a{color:var(--plum-dark);font-size:13px;font-weight:650}
  .primary-navigation .menu .sub-menu a:hover,
  .primary-navigation .menu .sub-menu a:focus-visible,
  .primary-navigation .menu .sub-menu .current-menu-item>a{color:var(--plum-deep);background:#eee0e9}
  .primary-navigation .menu a:focus-visible,
  .primary-navigation .menu .sub-menu a:focus-visible{outline:3px solid rgba(18,59,93,.55);outline-offset:2px}
  .primary-navigation .menu-item-has-children>.submenu-toggle{color:var(--plum-dark);font-weight:800}
  .primary-navigation .menu-item-has-children>.submenu-toggle:hover,
  .primary-navigation .menu-item-has-children>.submenu-toggle:focus-visible,
  .primary-navigation .menu-item-has-children>.submenu-toggle[aria-expanded="true"]{background:#f3e8ef;color:var(--plum-deep)}
  .primary-navigation .menu-item-has-children>.submenu-toggle:focus-visible{outline:3px solid rgba(18,59,93,.55);outline-offset:2px}
}

/* Correctif définitif — lisibilité des liens lorsque le menu mobile est ouvert */
@media (max-width:760px){
  body .site-header .primary-navigation.is-open{background:#fff!important;opacity:1!important;visibility:visible!important}
  body .site-header .primary-navigation.is-open .menu>li>a,
  body .site-header .primary-navigation.is-open .menu>li.menu-item-has-children>a{color:var(--plum-dark)!important;-webkit-text-fill-color:var(--plum-dark)!important;opacity:1!important;visibility:visible!important;mix-blend-mode:normal}
  body .site-header .primary-navigation.is-open .menu .sub-menu a{color:var(--plum-dark)!important;-webkit-text-fill-color:var(--plum-dark)!important;opacity:1!important;visibility:visible!important}
  body .site-header .primary-navigation.is-open .menu-item-has-children.submenu-open>.sub-menu{display:block!important;opacity:1!important;visibility:visible!important}
  body .site-header .primary-navigation.is-open .menu>li>a:hover,
  body .site-header .primary-navigation.is-open .menu>li>a:focus-visible,
  body .site-header .primary-navigation.is-open .menu .sub-menu a:hover,
  body .site-header .primary-navigation.is-open .menu .sub-menu a:focus-visible{color:var(--plum-deep)!important;-webkit-text-fill-color:var(--plum-deep)!important}
}

/* Navigation mobile — contraste maximal sur fond pourpre */
@media (max-width:760px){
  body .site-header .primary-navigation.is-open{
    background:var(--plum-deep)!important;
    border-top:2px solid var(--gold)!important;
    box-shadow:0 18px 34px rgba(0,0,0,.28)!important;
  }
  body .site-header .primary-navigation.is-open .menu>li{
    border-bottom-color:rgba(255,255,255,.2)!important;
  }
  body .site-header .primary-navigation.is-open .menu>li>a,
  body .site-header .primary-navigation.is-open .menu>li.menu-item-has-children>a{
    color:#fff!important;
    -webkit-text-fill-color:#fff!important;
    font-weight:700!important;
    text-shadow:0 1px 1px rgba(0,0,0,.18);
  }
  body .site-header .primary-navigation.is-open .menu>li>a:hover,
  body .site-header .primary-navigation.is-open .menu>li>a:focus-visible,
  body .site-header .primary-navigation.is-open .menu>li.current-menu-item>a,
  body .site-header .primary-navigation.is-open .menu>li.current-menu-ancestor>a{
    color:var(--gold)!important;
    -webkit-text-fill-color:var(--gold)!important;
    background:rgba(255,255,255,.1)!important;
  }
  body .site-header .primary-navigation.is-open .menu .sub-menu{
    background:rgba(255,255,255,.08)!important;
    border-left:3px solid var(--gold)!important;
  }
  body .site-header .primary-navigation.is-open .menu .sub-menu a{
    color:#fff!important;
    -webkit-text-fill-color:#fff!important;
    font-weight:650!important;
  }
  body .site-header .primary-navigation.is-open .menu .sub-menu a:hover,
  body .site-header .primary-navigation.is-open .menu .sub-menu a:focus-visible,
  body .site-header .primary-navigation.is-open .menu .sub-menu .current-menu-item>a{
    color:var(--gold)!important;
    -webkit-text-fill-color:var(--gold)!important;
    background:rgba(255,255,255,.12)!important;
  }
  body .site-header .primary-navigation.is-open .menu-item-has-children>.submenu-toggle{
    color:#fff!important;
    -webkit-text-fill-color:#fff!important;
  }
  body .site-header .primary-navigation.is-open .menu-item-has-children>.submenu-toggle:hover,
  body .site-header .primary-navigation.is-open .menu-item-has-children>.submenu-toggle:focus-visible,
  body .site-header .primary-navigation.is-open .menu-item-has-children>.submenu-toggle[aria-expanded="true"]{
    color:var(--gold)!important;
    -webkit-text-fill-color:var(--gold)!important;
    background:rgba(255,255,255,.12)!important;
  }
}


/* Vie scolaire — carnet institutionnel */
.school-life-page { background: var(--paper); }
.school-life-hero { position: relative; overflow: hidden; padding: clamp(4.5rem, 9vw, 8rem) 0 clamp(4rem, 8vw, 7rem); color: var(--white); background: var(--plum-deep); }
.school-life-hero::before { content: ""; position: absolute; inset: 0 0 0 48%; background: linear-gradient(120deg, rgba(50,17,38,.9), rgba(18,59,93,.35)), radial-gradient(circle at 80% 20%, rgba(230,184,74,.18), transparent 35%); pointer-events: none; }
.school-life-hero-grid { position: relative; z-index: 1; display: grid; gap: 2.5rem; align-items: center; }
.school-life-hero-copy { max-width: 42rem; }
.school-life-hero-copy h1 { max-width: 15ch; margin: .75rem 0 1.25rem; color: var(--white); font-size: clamp(2.65rem, 7vw, 5.5rem); line-height: .98; letter-spacing: -.04em; }
.school-life-hero-copy h1 em, .school-life-note h2 em { color: var(--gold); font-family: var(--serif); font-weight: 400; }
.school-life-hero-lead { max-width: 38rem; color: rgba(255,255,255,.82); font-size: clamp(1rem,1.5vw,1.18rem); line-height: 1.75; }
.school-life-hero-actions { display: flex; flex-wrap: wrap; gap: 1.25rem; align-items: center; margin-top: 2rem; }
.school-life-hero-media { position: relative; height: clamp(20rem, 43vw, 34rem); min-height: 20rem; margin: 0; overflow: hidden; border: 1px solid rgba(230,184,74,.35); background: var(--plum); box-shadow: 1.2rem 1.2rem 0 rgba(230,184,74,.18); }
.school-life-hero-image { display: block; width: 100%; height: 100%; min-height: 0; object-fit: cover; filter: saturate(.9) contrast(1.04); }
.school-life-hero-media::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 55%, rgba(50,17,38,.62)); pointer-events: none; }
.school-life-hero-stamp { position: absolute; right: 1.25rem; bottom: 1.25rem; z-index: 1; display: grid; grid-template-columns: auto auto; gap: .7rem; align-items: end; padding: .7rem .85rem; color: var(--plum-deep); background: var(--gold); }
.school-life-hero-stamp strong { font-size: 2rem; line-height: .8; }
.school-life-hero-stamp small { font-size: .62rem; line-height: 1.15; letter-spacing: .08em; text-transform: uppercase; }
.school-life-index { background: var(--paper); }
.school-life-index-intro { max-width: 36rem; margin-bottom: 2rem; }
.school-life-index-intro h2 { margin: .6rem 0 0; font-size: clamp(2rem,4.5vw,3.7rem); line-height: 1.02; }
.school-life-index-intro h2 em { color: var(--plum); font-family: var(--serif); font-weight: 400; }
.school-life-index-links { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.school-life-index-links a { display: grid; grid-template-columns: auto 1fr; column-gap: .8rem; row-gap: .2rem; min-height: 8.5rem; padding: 1.2rem 1rem; color: var(--ink); border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); text-decoration: none; transition: color .2s ease, background-color .2s ease, transform .2s ease; }
.school-life-index-links a:hover, .school-life-index-links a:focus-visible { color: var(--white); background: var(--plum); transform: translateY(-2px); }
.school-life-index-links a > span { grid-row: span 2; color: var(--gold); font-family: var(--serif); font-size: 1.8rem; line-height: 1; }
.school-life-index-links strong { font-size: .95rem; }
.school-life-index-links small { color: var(--muted); font-size: .72rem; letter-spacing: .07em; text-transform: uppercase; }
.school-life-index-links a:hover small, .school-life-index-links a:focus-visible small { color: rgba(255,255,255,.72); }
.school-life-editorial { background: #f5efe8; }
.school-life-editorial-grid { display: grid; gap: 2rem; }
.school-life-editorial-aside { position: relative; align-self: start; padding: 1.5rem; color: var(--white); background: var(--blue); overflow: hidden; }
.school-life-editorial-aside::after { content: ""; position: absolute; right: -1.3rem; bottom: -2.5rem; width: 9rem; height: 9rem; border: 1px solid rgba(230,184,74,.45); border-radius: 50%; }
.school-life-aside-number { position: relative; z-index: 1; margin: 0 0 1.5rem; color: var(--gold); font-family: var(--serif); font-size: 4rem; line-height: .8; }
.school-life-editorial-aside .eyebrow { color: var(--gold); }
.school-life-editorial-aside > p:last-child { position: relative; z-index: 1; max-width: 21rem; margin: 1rem 0 0; color: rgba(255,255,255,.82); line-height: 1.7; }
.school-life-entry-content { max-width: none; }
.school-life-entry-content > .lead { max-width: 46rem; margin-top: 0; color: var(--plum-dark); font-size: clamp(1.1rem,2vw,1.45rem); line-height: 1.7; }
.school-life-sections { display: grid; gap: 1.25rem; margin-top: 2rem; }
.school-life-section { position: relative; padding: 1.5rem; background: var(--white); border-left: 4px solid var(--gold); box-shadow: 0 .8rem 2rem rgba(50,17,38,.06); }
.school-life-section:nth-child(2) { border-left-color: var(--plum); }
.school-life-section:nth-child(3) { border-left-color: var(--blue); }
.school-life-section:nth-child(4) { border-left-color: var(--plum-dark); }
.school-life-kicker { margin: 0 0 .7rem; color: var(--plum); font-size: .7rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.school-life-section h2 { max-width: 26rem; margin: 0 0 .9rem; font-size: clamp(1.45rem,3vw,2.25rem); line-height: 1.05; }
.school-life-section p:not(.school-life-kicker) { max-width: 44rem; margin-bottom: 0; color: var(--muted); line-height: 1.75; }
.school-life-tags { display: flex; flex-wrap: wrap; gap: .45rem; margin-top: 1.2rem; }
.school-life-tags span { padding: .35rem .6rem; color: var(--plum-dark); background: #f7eac5; border-radius: 999px; font-size: .7rem; font-weight: 700; letter-spacing: .04em; }
.school-life-gallery { background: var(--paper); }
.school-life-gallery-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1rem; }
.school-life-gallery-card { position: relative; min-height: 15rem; margin: 0; overflow: hidden; background: var(--plum-deep); }
.school-life-gallery-card-large, .school-life-gallery-card-wide { grid-column: span 2; }
.school-life-gallery-image { display: block; width: 100%; height: 100%; min-height: 15rem; object-fit: cover; transition: transform .3s ease; }
.school-life-gallery-card:hover .school-life-gallery-image, .school-life-gallery-card:focus-within .school-life-gallery-image { transform: scale(1.03); }
.school-life-gallery-card::after { content: ""; position: absolute; inset: 30% 0 0; background: linear-gradient(180deg, transparent, rgba(50,17,38,.88)); pointer-events: none; }
.school-life-gallery-card figcaption { position: absolute; right: 1rem; bottom: 1rem; left: 1rem; z-index: 1; color: var(--white); }
.school-life-gallery-card figcaption span { display: block; margin-bottom: .35rem; color: var(--gold); font-size: .68rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.school-life-gallery-card figcaption strong { display: block; font-family: var(--serif); font-size: 1.35rem; font-weight: 400; }
.school-life-note { padding: clamp(3.5rem,7vw,6rem) 0; color: var(--white); background: var(--plum-deep); }
.school-life-note-inner { display: grid; gap: 2rem; align-items: end; }
.school-life-note h2 { margin: .6rem 0 1rem; color: var(--white); font-size: clamp(2rem,4vw,3.7rem); line-height: 1; }
.school-life-note p:not(.eyebrow) { max-width: 38rem; margin: 0; color: rgba(255,255,255,.78); line-height: 1.7; }
@media (min-width: 760px) {
    .school-life-hero-grid { grid-template-columns: minmax(0,1fr) minmax(22rem,.82fr); gap: clamp(3rem,7vw,7rem); }
    .school-life-index-links { grid-template-columns: repeat(4,minmax(0,1fr)); }
    .school-life-index-links a { min-height: 11rem; padding: 1.5rem 1.25rem; }
    .school-life-editorial-grid { grid-template-columns: minmax(12rem,.32fr) minmax(0,1fr); gap: clamp(2.5rem,6vw,6rem); }
    .school-life-editorial-aside { position: sticky; top: 6rem; }
    .school-life-section { padding: 2rem 2.25rem; }
    .school-life-gallery-grid { grid-template-columns: repeat(4,minmax(0,1fr)); grid-auto-rows: 14rem; }
    .school-life-gallery-card, .school-life-gallery-image { min-height: 0; }
    .school-life-gallery-card-large { grid-column: span 2; grid-row: span 2; }
    .school-life-gallery-card-wide { grid-column: span 2; }
    .school-life-note-inner { grid-template-columns: minmax(0,1fr) auto; }
}
@media (prefers-reduced-motion: reduce) {
    .school-life-index-links a, .school-life-gallery-image { transition: none; }
}


/* Contact — page d’échange et d’orientation */
.contact-page { background: var(--paper); }
.contact-hero { position: relative; overflow: hidden; padding: clamp(4.5rem, 9vw, 8rem) 0 clamp(4rem, 8vw, 7rem); color: var(--white); background: var(--plum-deep); }
.contact-hero::before { content: ""; position: absolute; top: -16rem; right: -8rem; width: 34rem; height: 34rem; border: 1px solid rgba(230,184,74,.25); border-radius: 50%; box-shadow: 0 0 0 2rem rgba(230,184,74,.04), 0 0 0 6rem rgba(230,184,74,.025); pointer-events: none; }
.contact-hero-grid { position: relative; z-index: 1; display: grid; gap: 2.5rem; align-items: center; }
.contact-hero-copy { max-width: 46rem; }
.contact-hero-copy h1 { max-width: 13ch; margin: .75rem 0 1.25rem; color: var(--white); font-size: clamp(2.55rem, 7vw, 5.4rem); line-height: .98; letter-spacing: -.045em; }
.contact-hero-copy h1 em, .contact-hero-card h2 em, .contact-reach-copy h2 em, .contact-form-card h2 em, .contact-map-heading h2 em, .contact-next-step h2 em { color: var(--gold); font-family: var(--serif); font-weight: 400; }
.contact-hero-lead { max-width: 39rem; color: rgba(255,255,255,.82); font-size: clamp(1rem,1.5vw,1.18rem); line-height: 1.75; }
.contact-hero-actions { display: flex; flex-wrap: wrap; gap: 1.25rem; align-items: center; margin-top: 2rem; }
.contact-hero-card { position: relative; overflow: hidden; padding: 1.75rem; color: var(--plum-deep); background: var(--gold); box-shadow: 1rem 1rem 0 rgba(255,253,249,.12); }
.contact-hero-card::after { content: ""; position: absolute; right: -3rem; bottom: -4rem; width: 14rem; height: 14rem; border: 1px solid rgba(50,17,38,.22); border-radius: 50%; pointer-events: none; }
.contact-card-kicker { position: relative; z-index: 1; margin: 0; color: var(--plum-dark); font-size: .68rem; font-weight: 800; letter-spacing: .15em; text-transform: uppercase; }
.contact-card-number { position: relative; z-index: 1; margin: 1.75rem 0 .8rem; color: rgba(50,17,38,.2); font-family: var(--serif); font-size: 4.5rem; line-height: .75; }
.contact-hero-card h2 { position: relative; z-index: 1; margin: 0 0 1rem; color: var(--plum-deep); font-size: clamp(1.9rem,4vw,3rem); line-height: 1; }
.contact-hero-card p:not(.contact-card-kicker):not(.contact-card-number) { position: relative; z-index: 1; margin: 0 0 1.3rem; color: rgba(50,17,38,.78); line-height: 1.7; }
.contact-card-link { position: relative; z-index: 1; display: inline-flex; gap: .55rem; align-items: center; color: var(--plum-deep); font-size: .8rem; font-weight: 800; text-decoration: none; }
.contact-card-link:hover, .contact-card-link:focus-visible { color: var(--plum); }
.contact-reach { background: #f5efe8; }
.contact-reach-grid { display: grid; gap: 2.5rem; align-items: start; }
.contact-reach-copy { max-width: 39rem; }
.contact-reach-copy h2 { margin: .6rem 0 1.1rem; font-size: clamp(2rem,4.6vw,4rem); line-height: 1; letter-spacing: -.035em; }
.contact-reach-copy > p:not(.eyebrow) { max-width: 34rem; color: var(--muted); line-height: 1.75; }
.contact-details { display: grid; gap: .75rem; margin-top: 2rem; }
.contact-detail { display: grid; grid-template-columns: 2.5rem 1fr; gap: .9rem; align-items: center; padding: 1rem 1.1rem; color: var(--ink); background: var(--paper); border-left: 3px solid var(--gold); text-decoration: none; transition: background-color .2s ease, border-color .2s ease, transform .2s ease; }
.contact-detail:nth-child(2) { border-left-color: var(--plum); }
.contact-detail:nth-child(3) { border-left-color: var(--blue); }
.contact-detail:hover, .contact-detail:focus-visible { background: var(--white); border-left-color: var(--plum-dark); transform: translateX(4px); }
.contact-detail-index { color: var(--plum); font-family: var(--serif); font-size: 1.35rem; }
.contact-detail small { display: block; margin-bottom: .2rem; color: var(--muted); font-size: .65rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.contact-detail strong { display: block; color: var(--plum-dark); font-size: .95rem; overflow-wrap: anywhere; }
.contact-form-card { padding: clamp(1.25rem,4vw,2.6rem); background: var(--white); border-top: 5px solid var(--plum); box-shadow: 0 1.3rem 3rem rgba(50,17,38,.08); }
.contact-form-card h2 { margin: .6rem 0 .7rem; color: var(--plum-dark); font-size: clamp(1.8rem,3.8vw,3.1rem); line-height: 1; }
.contact-form-intro { margin: 0; color: var(--muted); font-size: .88rem; line-height: 1.6; }
.contact-form-card .cswaka-contact-form-wrap { margin-top: 1.7rem; padding: 0; background: transparent; border-radius: 0; }
.contact-form-card .cswaka-contact-form label { font-size: .72rem; }
.contact-form-card .cswaka-contact-form input, .contact-form-card .cswaka-contact-form textarea { border-color: #d3d8dc; border-radius: 4px; }
.contact-form-card .cswaka-contact-form input:hover, .contact-form-card .cswaka-contact-form textarea:hover { border-color: rgba(122,31,91,.6); }
.contact-form-card .cswaka-contact-form input:focus, .contact-form-card .cswaka-contact-form textarea:focus { border-color: var(--plum); box-shadow: 0 0 0 3px rgba(122,31,91,.14); }
.contact-form-card .button-dark { width: 100%; justify-content: center; }
.contact-map-section { background: var(--paper); }
.contact-map-heading { align-items: end; margin-bottom: 2rem; }
.contact-map-heading h2 { margin: .6rem 0 0; font-size: clamp(2rem,4vw,3.7rem); line-height: 1; }
.contact-map-frame { position: relative; min-height: 22rem; overflow: hidden; background: var(--plum-deep); border: 1px solid var(--line); box-shadow: 1rem 1rem 0 rgba(230,184,74,.18); }
.contact-map-frame iframe { display: block; width: 100%; height: 27rem; border: 0; filter: saturate(.75) contrast(1.03); }
.contact-map-label { position: absolute; right: 1rem; bottom: 1rem; display: flex; flex-direction: column; gap: .2rem; padding: .8rem 1rem; color: var(--plum-deep); background: var(--gold); box-shadow: 0 .5rem 1.2rem rgba(50,17,38,.2); }
.contact-map-label strong { font-size: .85rem; letter-spacing: .08em; }
.contact-map-label span { font-size: .7rem; }
.contact-next-step { color: var(--white); background: var(--blue); }
.contact-next-step-inner { display: grid; gap: 2rem; align-items: end; padding-top: clamp(3rem,7vw,6rem); padding-bottom: clamp(3rem,7vw,6rem); }
.contact-next-step h2 { max-width: 34rem; margin: .7rem 0 1rem; color: var(--white); font-size: clamp(2.1rem,4.5vw,4.2rem); line-height: .98; letter-spacing: -.04em; }
.contact-next-step p:not(.eyebrow) { max-width: 38rem; margin: 0; color: rgba(255,255,255,.78); line-height: 1.75; }
@media (min-width: 760px) {
    .contact-hero-grid { grid-template-columns: minmax(0,1fr) minmax(19rem,.62fr); gap: clamp(3rem,7vw,7rem); }
    .contact-hero-card { padding: 2.2rem; }
    .contact-reach-grid { grid-template-columns: minmax(0,.78fr) minmax(22rem,1fr); gap: clamp(3rem,7vw,7rem); }
    .contact-form-card { margin-top: -2.5rem; }
    .contact-next-step-inner { grid-template-columns: minmax(0,1fr) auto; }
}
@media (max-width: 759px) {
    .contact-map-heading { align-items: start; flex-direction: column; gap: 1.25rem; }
}
@media (max-width: 430px) {
    .contact-hero-actions { align-items: flex-start; flex-direction: column; gap: 1rem; }
    .contact-hero-card { padding: 1.35rem; }
    .contact-form-card { padding: 1.25rem; }
    .contact-map-frame iframe { height: 22rem; }
}
@media (prefers-reduced-motion: reduce) {
    .contact-detail { transition: none; }
}


/* Correctif mobile final : top bar en trois niveaux, sans défilement horizontal */
@media (max-width:760px){
  .topline-inner{
    display:grid;
    grid-template-columns:minmax(0,1fr);
    align-items:stretch;
    gap:0;
    min-height:0;
    padding-top:5px;
    padding-bottom:6px;
    overflow:visible;
  }
  .topline-location{
    grid-row:1;
    width:100%;
    max-width:none;
    min-height:28px;
  }
  .topline-location>span:last-child{
    min-width:0;
  }
  .topline-right{
    grid-row:2;
    display:grid;
    grid-template-columns:minmax(0,1fr);
    width:100%;
    min-width:0;
    gap:0;
    overflow:visible;
    padding:0;
  }
  .topline-links{
    grid-row:1;
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(0,auto);
    align-items:center;
    gap:12px;
    width:100%;
    min-width:0;
  }
  .topline-links .topline-item{
    min-width:0;
    white-space:normal;
  }
  .topline-links .topline-item>span:last-child{
    min-width:0;
    overflow-wrap:anywhere;
  }
  .topline-divider{
    display:none;
  }
  .topline-socials{
    grid-row:2;
    display:flex;
    justify-content:flex-start;
    align-items:center;
    width:100%;
    min-height:43px;
    margin-top:4px;
    padding-top:4px;
    border-top:1px solid rgba(255,255,255,.18);
    gap:6px;
  }
  .topline-social-link{
    flex:0 0 36px;
  }

  .contact-strip{
    padding:32px 0 34px;
  }
  .contact-strip-inner{
    display:grid;
    grid-template-columns:minmax(0,1fr);
    align-items:start;
    gap:23px;
  }
  .contact-strip strong{
    display:block;
    max-width:18ch;
    font-size:clamp(25px,7.4vw,32px);
    line-height:1.1;
  }
  .contact-actions{
    display:grid;
    grid-template-columns:minmax(0,1fr);
    width:100%;
    gap:12px;
    margin-top:0;
  }
  .contact-action{
    min-width:0;
    padding:10px 0 0 14px;
    border-left:2px solid rgba(255,255,255,.32);
  }
  .contact-action strong{
    max-width:none;
    font-family:var(--sans);
    font-size:14px;
    line-height:1.4;
    overflow-wrap:anywhere;
  }
}

@media (max-width:360px){
  .topline-links{grid-template-columns:minmax(0,1fr)}
  .topline-links .topline-item:nth-child(2){justify-self:start}
  .contact-strip strong{font-size:25px}
}


/* Admissions — parcours numéroté */
.admissions-page { overflow: hidden; background: var(--paper); }
.admissions-hero { position: relative; overflow: hidden; padding: clamp(3.8rem, 8vw, 7rem) 0; color: var(--white); background: radial-gradient(circle at 82% 16%, rgba(230,184,74,.16), transparent 22rem), linear-gradient(135deg, var(--plum-deep) 0%, var(--plum-dark) 58%, var(--blue) 140%); }
.admissions-hero::after { position: absolute; right: -7rem; bottom: -10rem; width: 26rem; height: 26rem; border: 1px solid rgba(230,184,74,.24); border-radius: 50%; content: ""; }
.admissions-hero-grid, .admissions-next-step-inner { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0,1.25fr) minmax(18rem,.75fr); gap: clamp(2rem,6vw,6rem); align-items: center; }
.admissions-hero-copy, .admissions-hero-card, .admissions-step-copy, .admissions-faq-heading, .admissions-faq-list { min-width: 0; }
.admissions-hero h1 { max-width: 48rem; margin: .75rem 0 1.25rem; color: var(--white); font-family: var(--serif); font-size: clamp(2.5rem,6vw,5.8rem); font-weight: 400; line-height: .98; letter-spacing: -.045em; }
.admissions-hero h1 em, .admissions-hero-card h2 em, .admissions-next-step h2 em { color: var(--gold); font-style: italic; }
.admissions-hero-lead { max-width: 43rem; color: rgba(255,255,255,.82); font-size: clamp(1rem,1.7vw,1.2rem); line-height: 1.75; }
.admissions-hero-actions, .admissions-next-step-actions { display: flex; flex-wrap: wrap; gap: 1.1rem 1.5rem; align-items: center; margin-top: 2rem; }
.admissions-hero-card { position: relative; padding: clamp(1.6rem,4vw,2.7rem); border: 1px solid rgba(230,184,74,.42); background: rgba(255,253,249,.08); box-shadow: 0 1.5rem 4rem rgba(20,7,17,.2); }
.admissions-card-kicker, .admissions-step-kicker { margin: 0; color: var(--gold); font-size: .73rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
.admissions-card-number { margin: 1rem 0 -.2rem; color: rgba(230,184,74,.25); font-family: var(--serif); font-size: clamp(5rem,11vw,9rem); line-height: .8; }
.admissions-hero-card h2 { margin: 1.35rem 0 .9rem; color: var(--white); font-family: var(--serif); font-size: clamp(1.8rem,3vw,2.9rem); font-weight: 400; line-height: 1.05; }
.admissions-hero-card p:last-child { margin-bottom: 0; color: rgba(255,255,255,.75); line-height: 1.7; }
.admissions-section-heading { margin-bottom: clamp(2rem,5vw,4rem); }
.admissions-step-list { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1rem; }
.admissions-step { display: grid; grid-template-columns: auto minmax(0,1fr); gap: 1.25rem; align-content: start; min-width: 0; min-height: 18rem; padding: clamp(1.4rem,3vw,2.2rem); border: 1px solid transparent; box-shadow: var(--shadow); }
.admissions-step-marker { display: flex; flex-direction: column; justify-content: space-between; min-height: 7rem; }
.admissions-step-marker span { font-family: var(--serif); font-size: clamp(2.8rem,5vw,4.5rem); line-height: .8; }
.admissions-step-marker i { display: block; font-size: 1.4rem; font-style: normal; }
.admissions-step-copy h3 { margin: .65rem 0 .7rem; font-family: var(--serif); font-size: clamp(1.65rem,3vw,2.35rem); font-weight: 400; line-height: 1.05; }
.admissions-step-copy p:not(.admissions-step-kicker) { margin-bottom: 0; line-height: 1.7; }
.admissions-step > .text-link, .admissions-step > .admissions-step-note { grid-column: 2; align-self: end; margin-top: 1.25rem; }
.admissions-step-gold { color: var(--plum-deep); border-color: rgba(76,23,59,.1); background: #f3e7bd; }
.admissions-step-gold .admissions-step-kicker, .admissions-step-gold .admissions-step-marker i, .admissions-step-gold .text-link { color: var(--plum); }
.admissions-step-plum { color: var(--white); background: var(--plum); }
.admissions-step-plum .admissions-step-kicker, .admissions-step-plum .admissions-step-marker i { color: var(--gold); }
.admissions-step-plum .text-link { color: var(--white); }
.admissions-step-blue { color: var(--blue); border-color: rgba(18,59,93,.12); background: #dceaf2; }
.admissions-step-blue .admissions-step-kicker, .admissions-step-blue .admissions-step-marker i, .admissions-step-blue .text-link { color: var(--plum); }
.admissions-step-dark { color: var(--white); background: var(--plum-deep); }
.admissions-step-dark .admissions-step-kicker, .admissions-step-dark .admissions-step-marker i { color: var(--gold); }
.admissions-step-note { color: inherit; font-size: .78rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.admissions-cycle-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 1rem; }
.admissions-cycle-card { display: flex; flex-direction: column; min-width: 0; min-height: 17rem; padding: 1.5rem; color: var(--white); text-decoration: none; transition: transform .25s ease, box-shadow .25s ease; }
.admissions-cycle-card:hover, .admissions-cycle-card:focus-visible { color: var(--white); transform: translateY(-.35rem); box-shadow: 0 1rem 2.5rem rgba(50,17,38,.16); }
.admissions-cycle-card > span { font-family: var(--serif); font-size: 3.4rem; line-height: .8; }
.admissions-cycle-card small { min-height: 2.6rem; margin-top: 1.1rem; color: rgba(255,255,255,.72); font-size: .76rem; line-height: 1.35; }
.admissions-cycle-card h3 { margin: 1rem 0 auto; color: var(--white); font-family: var(--serif); font-size: clamp(1.5rem,2.5vw,2.2rem); font-weight: 400; line-height: 1; }
.admissions-cycle-card strong { display: flex; justify-content: space-between; gap: 1rem; margin-top: 1.5rem; color: var(--white); font-size: .76rem; letter-spacing: .08em; text-transform: uppercase; }
.admissions-cycle-card strong i { font-size: 1rem; font-style: normal; }
.admissions-cycle-gold { background: var(--gold); color: var(--plum-deep); }
.admissions-cycle-gold small, .admissions-cycle-gold h3, .admissions-cycle-gold strong { color: var(--plum-deep); }
.admissions-cycle-plum { background: var(--plum); }
.admissions-cycle-blue { background: var(--blue); }
.admissions-cycle-dark { background: var(--plum-deep); }
.admissions-faq { background: #f5f0e8; }
.admissions-faq-grid { display: grid; grid-template-columns: minmax(0,.8fr) minmax(0,1.2fr); gap: clamp(2rem,8vw,8rem); align-items: start; }
.admissions-faq-heading h2 { margin: .7rem 0 1.2rem; font-family: var(--serif); font-size: clamp(2rem,4vw,3.7rem); font-weight: 400; line-height: 1.03; }
.admissions-faq-heading h2 em { color: var(--plum); font-style: italic; }
.admissions-faq-heading > p:last-child { color: var(--muted); line-height: 1.7; }
.admissions-faq-list details { padding: 1.25rem 0; border-top: 1px solid rgba(76,23,59,.18); }
.admissions-faq-list details:last-child { border-bottom: 1px solid rgba(76,23,59,.18); }
.admissions-faq-list summary { display: flex; gap: 1rem; align-items: center; cursor: pointer; color: var(--plum-deep); font-family: var(--serif); font-size: clamp(1.15rem,2vw,1.55rem); list-style: none; }
.admissions-faq-list summary::-webkit-details-marker { display: none; }
.admissions-faq-list summary::after { margin-left: auto; content: "+"; color: var(--gold); font-family: var(--sans); font-size: 1.5rem; }
.admissions-faq-list details[open] summary::after { content: "−"; }
.admissions-faq-list summary span { color: var(--plum); font-family: var(--sans); font-size: .75rem; font-weight: 700; }
.admissions-faq-list details p { max-width: 42rem; margin: .9rem 0 0 2.15rem; color: var(--muted); line-height: 1.7; }
.admissions-next-step { padding: clamp(3.5rem,8vw,6rem) 0; color: var(--white); background: var(--plum-deep); }
.admissions-next-step h2 { margin: .75rem 0 1rem; color: var(--white); font-family: var(--serif); font-size: clamp(2.2rem,5vw,4.4rem); font-weight: 400; line-height: 1; }
.admissions-next-step p:not(.eyebrow) { max-width: 40rem; margin-bottom: 0; color: rgba(255,255,255,.74); line-height: 1.7; }
@media (max-width: 980px) { .admissions-cycle-grid { grid-template-columns: repeat(2,minmax(0,1fr)); } .admissions-hero-grid, .admissions-next-step-inner { grid-template-columns: minmax(0,1fr) minmax(16rem,.7fr); gap: 2rem; } }
@media (max-width: 760px) { .admissions-hero-grid, .admissions-next-step-inner, .admissions-faq-grid { grid-template-columns: 1fr; } .admissions-hero { padding: 3.25rem 0 4rem; } .admissions-hero h1 { font-size: clamp(2.45rem,13vw,4rem); } .admissions-hero-card { margin-top: .5rem; } .admissions-hero-actions, .admissions-next-step-actions { align-items: stretch; flex-direction: column; } .admissions-hero-actions .button, .admissions-hero-actions .text-link, .admissions-next-step-actions .button, .admissions-next-step-actions .text-link { width: 100%; text-align: center; } .admissions-step-list { grid-template-columns: 1fr; } .admissions-step { min-height: 0; } .admissions-cycle-grid { grid-template-columns: 1fr; } .admissions-cycle-card { min-height: 13rem; } .admissions-faq-list details p { margin-left: 0; } }
@media (prefers-reduced-motion: reduce) { .admissions-cycle-card { transition: none; } }
@media (max-width: 420px) { .admissions-step { grid-template-columns: 1fr; } .admissions-step-marker { display: flex; flex-direction: row; align-items: center; min-height: auto; } .admissions-step > .text-link, .admissions-step > .admissions-step-note { grid-column: 1; } }

/* Confidentialité : information courte, lisible et visible avant l’envoi. */
.cswaka-form-privacy{margin:14px 0 0;color:var(--muted);font-size:12px;line-height:1.65}
.cswaka-form-privacy a,.footer-bottom a{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
.cswaka-form-privacy a:focus-visible,.footer-bottom a:focus-visible{outline:3px solid var(--gold);outline-offset:3px;border-radius:2px}
@media (max-width:600px){.cswaka-form-privacy{font-size:11px;line-height:1.6}.footer-bottom span+span{margin-top:6px}}
@media (prefers-reduced-motion:reduce){.cswaka-form-privacy a,.footer-bottom a{transition:none}}

/* Accessibilité : focus clavier visible sur fond clair comme sur fond sombre. */
:focus-visible{outline:3px solid var(--gold);outline-offset:4px;box-shadow:0 0 0 6px rgba(255,253,249,.92)}
input:focus-visible,textarea:focus-visible,select:focus-visible{outline-color:var(--plum);box-shadow:0 0 0 3px rgba(230,184,74,.5)}
@media (max-width:760px){.primary-navigation{visibility:hidden;pointer-events:none}.primary-navigation.is-open{visibility:visible;pointer-events:auto}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button,.sector-card,.feature-item,.primary-navigation{transition:none}}

/* Navigation mobile — correctif structurel final : panneau opaque et hauteur réelle. */
@media (max-width:760px){
  .site-header{z-index:100}
  .site-header .header-inner{position:relative;z-index:1}
  .site-header .primary-navigation,
  .site-header .primary-navigation.is-open{
    position:absolute;
    top:100%;
    right:0;
    bottom:auto;
    left:0;
    inset-inline:0;
    width:100%;
    height:auto;
    min-height:0;
    max-height:calc(100vh - 102px);
    overflow-x:hidden;
    overflow-y:auto;
    overscroll-behavior:contain;
    display:block;
    padding:12px 24px 24px;
    background:var(--plum-deep)!important;
    border-top:2px solid var(--gold)!important;
    box-shadow:0 18px 34px rgba(0,0,0,.28)!important;
    transform:translateY(-8px);
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transition:opacity .2s ease,visibility .2s ease,transform .2s ease;
  }
  .site-header .primary-navigation.is-open{
    transform:translateY(0);
    opacity:1;
    visibility:visible;
    pointer-events:auto;
  }
  .site-header .primary-navigation .menu{
    display:block;
    width:100%;
    margin:0;
    padding:0;
  }
  .site-header .primary-navigation .menu>li{
    display:block;
    width:100%;
    border-bottom:1px solid rgba(255,255,255,.2)!important;
  }
  .site-header .primary-navigation .menu>li:last-child{border-bottom:0!important}
  .site-header .primary-navigation .menu>li>a,
  .site-header .primary-navigation .menu>li.menu-item-has-children>a{
    display:block;
    width:auto;
    min-height:49px;
    padding:13px 4px;
    color:#fff!important;
    -webkit-text-fill-color:#fff!important;
    font-size:14px;
    font-family:var(--sans);
    font-weight:700;
    line-height:1.65;
    opacity:1!important;
    visibility:visible!important;
    mix-blend-mode:normal;
  }
  .site-header .primary-navigation .menu>li>a:hover,
  .site-header .primary-navigation .menu>li>a:focus-visible,
  .site-header .primary-navigation .menu>li.current-menu-item>a,
  .site-header .primary-navigation .menu>li.current-menu-ancestor>a{
    color:var(--gold)!important;
    -webkit-text-fill-color:var(--gold)!important;
    background:rgba(255,255,255,.1)!important;
  }
  .site-header .primary-navigation .menu-item-has-children{
    display:flex;
    flex-wrap:wrap;
    align-items:center;
  }
  .site-header .primary-navigation .menu-item-has-children>a{flex:1 1 auto}
  .site-header .primary-navigation .menu-item-has-children>.submenu-toggle{
    display:grid;
    flex:0 0 38px;
    place-items:center;
    width:38px;
    height:38px;
    margin:0;
    border:0;
    border-radius:8px;
    color:#fff!important;
    -webkit-text-fill-color:#fff!important;
    background:transparent;
  }
  .site-header .primary-navigation .menu-item-has-children>.submenu-toggle:hover,
  .site-header .primary-navigation .menu-item-has-children>.submenu-toggle:focus-visible,
  .site-header .primary-navigation .menu-item-has-children>.submenu-toggle[aria-expanded="true"]{
    color:var(--gold)!important;
    -webkit-text-fill-color:var(--gold)!important;
    background:rgba(255,255,255,.12)!important;
  }
  .site-header .primary-navigation .menu .sub-menu,
  .site-header .primary-navigation .menu-item-has-children.submenu-open>.sub-menu{
    position:static;
    flex-basis:100%;
    display:none;
    width:100%;
    min-width:0;
    margin:0 0 8px 5px;
    padding:3px 0 7px 8px;
    background:rgba(255,255,255,.08)!important;
    border:0;
    border-left:3px solid var(--gold)!important;
    border-radius:0;
    box-shadow:none;
    opacity:1;
    visibility:visible;
    transform:none;
  }
  .site-header .primary-navigation .menu-item-has-children.submenu-open>.sub-menu{display:block}
  .site-header .primary-navigation .menu .sub-menu a{
    display:block;
    min-height:40px;
    padding:9px 12px 9px 20px;
    color:#fff!important;
    -webkit-text-fill-color:#fff!important;
    font-size:13px;
    font-weight:600;
    line-height:1.5;
    white-space:normal;
    opacity:1!important;
    visibility:visible!important;
  }
  .site-header .primary-navigation .menu .sub-menu a:hover,
  .site-header .primary-navigation .menu .sub-menu a:focus-visible,
  .site-header .primary-navigation .menu .sub-menu .current-menu-item>a{
    color:var(--gold)!important;
    -webkit-text-fill-color:var(--gold)!important;
    background:rgba(255,255,255,.12)!important;
  }
  .site-header .primary-navigation .nav-cta{
    display:inline-flex;
    margin-top:16px;
  }
}

/* Navigation mobile — conserver le lien et le bouton de sous-menu sur la même ligne. */
@media (max-width:760px){
  .site-header .primary-navigation .menu-item-has-children>a{
    width:calc(100% - 38px);
    min-width:0;
  }
}

/* Navigation mobile — priorité finale pour l’alignement lien/flèche. */
@media (max-width:760px){
  body .site-header .primary-navigation.is-open .menu>li.menu-item-has-children{
    display:flex!important;
    flex-wrap:wrap;
    align-items:center;
  }
  body .site-header .primary-navigation.is-open .menu>li.menu-item-has-children>a{
    flex:1 1 calc(100% - 38px);
    width:calc(100% - 38px);
  }
  body .site-header .primary-navigation.is-open .menu>li.menu-item-has-children>.submenu-toggle{
    flex:0 0 38px;
  }
}

/* Navigation mobile — réinitialisation explicite du raccourci inset hérité. */
@media (max-width:760px){
  .site-header .primary-navigation,
  .site-header .primary-navigation.is-open{
    inset:auto;
    top:100%;
    right:0;
    bottom:auto;
    left:0;
  }
}

/* Mot du directeur — composition éditoriale institutionnelle. */
.director-content-section{position:relative;overflow:hidden;background:linear-gradient(180deg,#fffdf9 0%,#fbf5ef 100%)}
.director-content-section .narrow-content{max-width:960px}
.director-editorial-frame{display:grid;grid-template-columns:112px minmax(0,1fr);gap:44px;align-items:start;position:relative}
.director-editorial-rail{position:sticky;top:2rem;display:flex;flex-direction:column;align-items:flex-start;gap:12px;padding:18px 0 0 2px;color:var(--plum-dark)}
.director-editorial-rail-label{color:var(--gold-dark);font-size:11px;font-weight:800;letter-spacing:.18em;text-transform:uppercase;writing-mode:vertical-rl;transform:rotate(180deg)}
.director-editorial-rail strong{font-family:var(--serif);font-size:4.4rem;font-style:italic;font-weight:500;line-height:.9;color:var(--plum);letter-spacing:-.06em}
.director-editorial-rail-line{display:block;width:34px;height:3px;background:var(--gold);margin:4px 0 5px}
.director-editorial-rail small{font-size:10px;font-weight:700;line-height:1.45;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.director-editorial-body{min-width:0;max-width:700px;padding:4px 0 10px}
.director-entry-content{color:#4d5962}
.director-entry-content>.lead{max-width:44rem;margin:0 0 2.4rem;padding:0 0 1.65rem;border-bottom:1px solid rgba(122,31,91,.2);font-size:clamp(1.28rem,2.2vw,1.62rem);line-height:1.48;color:var(--plum-dark)}
.director-entry-content>h2{max-width:18ch;margin:0 0 2rem;color:var(--plum);font-size:clamp(1.65rem,3vw,2.3rem);line-height:1.12}
.director-entry-content>p:not(.lead):not(.director-signature){font-size:1.06rem;line-height:1.85}
.director-entry-content .director-manifesto{position:relative;margin:2.9rem 0 3rem;padding:1.8rem 2.1rem 1.9rem 2.2rem;border:0;border-left:4px solid var(--gold);border-radius:0 18px 18px 0;background:var(--plum-deep);box-shadow:12px 14px 0 rgba(230,184,74,.16);overflow:hidden}
.director-entry-content .director-manifesto:before{content:'“';position:absolute;right:18px;top:-20px;color:rgba(255,255,255,.08);font-family:var(--serif);font-size:9rem;line-height:1;pointer-events:none}
.director-manifesto-label{position:relative;z-index:1;display:block;margin-bottom:.65rem;color:var(--gold);font-size:10px;font-weight:800;letter-spacing:.18em;text-transform:uppercase}
.director-entry-content .director-manifesto p{position:relative;z-index:1;margin:0;color:var(--white);font-family:var(--serif);font-size:clamp(1.35rem,2.5vw,1.9rem);font-style:italic;line-height:1.35}
.director-entry-content .director-signature{position:relative;margin:3.7rem 0 0;padding:1.5rem 0 0 1.2rem;border-top:1px solid rgba(122,31,91,.2);color:var(--plum-dark);line-height:1.6}
.director-entry-content .director-signature:before{content:'';position:absolute;left:0;top:-2px;width:44px;height:4px;background:var(--gold)}
.director-entry-content .director-signature strong{display:block;color:var(--plum);font-size:1.08rem;letter-spacing:.02em}
.director-entry-content .director-signature em{display:block;margin-top:2px;color:var(--muted);font-family:var(--serif);font-size:1.05rem}
.director-editorial-closing{display:flex;gap:6px;margin-top:2.4rem;padding-left:1.2rem}
.director-editorial-closing span{display:block;width:8px;height:8px;border-radius:50%;background:var(--gold)}
.director-editorial-closing span:nth-child(2){background:var(--plum)}
.director-editorial-closing span:nth-child(3){background:var(--blue)}
@media (max-width:760px){
  .director-editorial-frame{grid-template-columns:1fr;gap:1.1rem}
  .director-editorial-rail{position:static;display:grid;grid-template-columns:auto auto 1fr auto;align-items:center;gap:12px;padding:0}
  .director-editorial-rail-label{writing-mode:initial;transform:none;font-size:10px}
  .director-editorial-rail strong{font-size:2.8rem}
  .director-editorial-rail-line{width:auto;height:2px;margin:0}
  .director-editorial-rail small{font-size:9px;text-align:right}
  .director-editorial-body{padding-top:.3rem}
  .director-entry-content>.lead{margin-bottom:2rem}
  .director-entry-content .director-manifesto{margin:2.4rem 0 2.5rem;padding:1.45rem 1.25rem 1.55rem 1.35rem;box-shadow:8px 9px 0 rgba(230,184,74,.14)}
  .director-entry-content .director-manifesto p{font-size:1.35rem}
  .director-entry-content .director-signature{margin-top:3rem}
}
@media (max-width:430px){
  .director-content-section .narrow-content{padding-left:20px;padding-right:20px}
  .director-editorial-rail{grid-template-columns:auto auto 1fr}
  .director-editorial-rail small{grid-column:1 / -1;text-align:left;margin-top:-5px;padding-left:2px}
}

/* Hero — photo de l’établissement validée par la direction */
.hero-feature-image-building { object-position: 68% 48%; }
@media (max-width: 760px) {
    .hero-feature-image-building { object-position: 66% 48%; }
}

/* Règlement intérieur — version harmonisée */
.reglement-page{background:var(--paper)}
.reglement-hero{background:var(--plum-deep);color:var(--white);padding:92px 0 82px;position:relative;overflow:hidden}
.reglement-hero:after{content:'07';position:absolute;right:5%;bottom:-58px;font-family:var(--serif);font-size:260px;line-height:1;color:rgba(255,255,255,.035);font-weight:700;pointer-events:none}
.reglement-hero-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(300px,.65fr);gap:72px;align-items:end;position:relative;z-index:1}
.reglement-hero-copy h1{font-family:var(--serif);font-size:clamp(48px,6vw,82px);font-weight:400;letter-spacing:-.045em;line-height:.98;margin:25px 0 25px;max-width:820px}
.reglement-hero-copy h1 em,.reglement-closing h2 em{color:var(--gold);font-style:italic}
.reglement-hero-lead{color:rgba(255,255,255,.73);font-size:18px;line-height:1.7;max-width:650px;margin:0}
.reglement-hero-card{background:var(--gold);color:var(--plum-deep);padding:30px 32px 34px;min-height:240px;position:relative;box-shadow:14px 14px 0 rgba(255,255,255,.08)}
.reglement-hero-number{display:block;font-family:var(--serif);font-size:54px;line-height:1;font-weight:700;margin-bottom:30px}
.reglement-card-label{font-size:11px;text-transform:uppercase;letter-spacing:.14em;font-weight:800;margin:0 0 13px}
.reglement-hero-card blockquote{font-family:var(--serif);font-size:26px;line-height:1.2;margin:0 0 20px}
.reglement-card-note{font-size:12px;line-height:1.5;margin:0;max-width:290px}
.reglement-intro{background:var(--paper)}
.reglement-intro-grid{display:grid;grid-template-columns:minmax(240px,.72fr) minmax(0,1.28fr);gap:80px;align-items:start}
.reglement-intro h2{font-family:var(--serif);font-size:clamp(34px,4vw,58px);font-weight:400;line-height:1.02;letter-spacing:-.035em;margin:20px 0 0}
.reglement-intro h2 em{font-style:italic;color:var(--plum)}
.reglement-intro-copy{font-size:17px;color:var(--muted);max-width:740px}
.reglement-contact-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:20px 0;margin-top:32px;font-size:12px;line-height:1.55}
.reglement-contact-strip span{display:block;padding-right:14px;border-right:1px solid var(--line)}
.reglement-contact-strip span:last-child{border-right:0}
.reglement-contact-strip strong{display:block;color:var(--plum-dark);font-size:10px;text-transform:uppercase;letter-spacing:.08em;margin-bottom:5px}
.reglement-body{background:var(--soft);padding-top:86px;padding-bottom:100px}
.reglement-layout{display:grid;grid-template-columns:240px minmax(0,1fr);gap:72px;align-items:start}
.reglement-index{position:sticky;top:24px;border-left:2px solid var(--gold);padding-left:20px}
.reglement-index-label{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.14em;color:var(--plum);margin:0 0 16px}
.reglement-index a{display:block;color:var(--muted);font-size:12px;line-height:1.3;padding:9px 0;transition:color .2s ease,transform .2s ease}
.reglement-index a:hover{color:var(--plum);transform:translateX(3px)}
.reglement-index a span{display:inline-block;width:29px;color:var(--plum);font-size:10px;font-weight:800}
.reglement-articles{min-width:0}
.reglement-article{background:var(--paper);padding:42px 48px 46px;margin-bottom:24px;box-shadow:0 12px 35px rgba(24,33,43,.06);scroll-margin-top:28px}
.reglement-article:last-child{margin-bottom:0}
.reglement-article-heading{display:flex;gap:20px;align-items:flex-start;padding-bottom:24px;margin-bottom:25px;border-bottom:1px solid var(--line)}
.reglement-article-heading>span{font-family:var(--serif);font-size:42px;line-height:1;color:var(--gold);font-weight:700;min-width:48px}
.reglement-article-heading .eyebrow{margin:0 0 6px;font-size:10px;color:var(--plum)}
.reglement-article-heading h2{font-family:var(--serif);font-size:34px;line-height:1.05;font-weight:400;margin:0;color:var(--plum-deep)}
.reglement-article h3{font-size:13px;line-height:1.3;color:var(--plum);margin:28px 0 8px;letter-spacing:.01em}
.reglement-article p{font-size:16px;line-height:1.78;color:#4d5962;margin:0 0 17px}
.reglement-article p:last-child{margin-bottom:0}
.reglement-article strong{color:var(--plum-deep)}
.reglement-quote{font-family:var(--serif);font-size:24px!important;line-height:1.3!important;color:var(--plum)!important;font-style:italic;border-left:3px solid var(--gold);padding-left:18px;margin:0 0 22px!important}
.reglement-list{margin:0;padding-left:22px;color:#4d5962;font-size:16px;line-height:1.8}
.reglement-list li{padding-left:7px;margin-bottom:9px}
.reglement-closing{background:var(--plum);color:var(--white);padding:76px 0}
.reglement-closing-inner{display:flex;align-items:center;justify-content:space-between;gap:40px}
.reglement-closing h2{font-family:var(--serif);font-size:clamp(36px,4.5vw,62px);font-weight:400;line-height:1;letter-spacing:-.03em;margin:18px 0 0}
@media (max-width:900px){.reglement-hero{padding:68px 0 60px}.reglement-hero-grid{grid-template-columns:1fr;gap:42px}.reglement-hero-card{max-width:520px}.reglement-intro-grid{grid-template-columns:1fr;gap:28px}.reglement-layout{grid-template-columns:1fr;gap:36px}.reglement-index{position:static;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 18px;border-left:0;border-top:2px solid var(--gold);padding:18px 0 0}.reglement-index-label{grid-column:1/-1}.reglement-article{padding:34px 30px 38px}.reglement-closing-inner{align-items:flex-start;flex-direction:column}}
@media (max-width:600px){.reglement-hero-copy h1{font-size:44px}.reglement-hero-lead{font-size:16px}.reglement-contact-strip{grid-template-columns:1fr;gap:13px}.reglement-contact-strip span{border-right:0;border-bottom:1px solid var(--line);padding:0 0 13px}.reglement-contact-strip span:last-child{border-bottom:0;padding-bottom:0}.reglement-index{grid-template-columns:1fr}.reglement-article{padding:28px 20px 31px}.reglement-article-heading{gap:12px}.reglement-article-heading>span{font-size:32px;min-width:35px}.reglement-article-heading h2{font-size:29px}.reglement-article p,.reglement-list{font-size:15px;line-height:1.7}.reglement-article h3{font-size:12px}.reglement-hero-card{padding:24px}.reglement-hero-card blockquote{font-size:23px}}
@media (prefers-reduced-motion:reduce){.reglement-index a{transition:none}}


/* Bouton flottant WhatsApp — contact rapide CS-WAKA */
.whatsapp-float{position:fixed;right:24px;bottom:max(24px,env(safe-area-inset-bottom));z-index:80;display:inline-flex;align-items:center;gap:10px;padding:14px 18px;border:1px solid rgba(255,255,255,.35);border-radius:999px;background:#25d366;color:#fff;box-shadow:0 14px 32px rgba(20,12,18,.22);font-family:var(--sans);font-size:13px;font-weight:700;letter-spacing:.02em;text-decoration:none;transition:transform .18s ease,box-shadow .18s ease,background-color .18s ease}.whatsapp-float:hover{background:#1fbd5b;color:#fff;transform:translateY(-3px);box-shadow:0 18px 36px rgba(20,12,18,.28)}.whatsapp-float:active{transform:translateY(-1px) scale(.98)}.whatsapp-float:focus-visible{outline:3px solid var(--gold);outline-offset:4px}.whatsapp-float-icon{width:22px;height:22px;flex:0 0 22px;fill:currentColor}.whatsapp-float span{line-height:1}
@media (max-width:900px){.whatsapp-float{right:18px;bottom:max(18px,env(safe-area-inset-bottom));width:56px;height:56px;padding:0;justify-content:center;border-radius:50%}.whatsapp-float span{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}}
@media (prefers-reduced-motion:reduce){.whatsapp-float{transition:none}.whatsapp-float:hover{transform:none}}
/* Admissions — présentation simplifiée des conditions officielles */
.admissions-condition-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem;margin-top:2.5rem}
.admissions-condition-card{padding:2rem 2rem 2.15rem;border-top:4px solid var(--color-gold,#d3a64a);background:#fff;box-shadow:0 18px 45px rgba(28,25,47,.08)}
.admissions-condition-plum{border-top-color:#8c5575}.admissions-condition-blue{border-top-color:#3d7292}.admissions-condition-dark{border-top-color:#252238;background:#252238;color:#fff}
.admissions-condition-number{font-family:var(--font-display,Georgia,serif);font-size:2.5rem;line-height:1;color:var(--color-gold,#d3a64a);margin-bottom:1.4rem}
.admissions-condition-card h3{font-size:1.5rem;margin:.35rem 0 1rem}.admissions-condition-card ul{margin:0;padding-left:1.2rem}.admissions-condition-card li{margin:.7rem 0;line-height:1.55}.admissions-condition-card strong{font-weight:700}.admissions-condition-dark .admissions-step-kicker{color:#e1b75e}
.admissions-important-note{display:flex;gap:1rem;align-items:center;margin-top:1.5rem;padding:1.2rem 1.4rem;background:#f7f0df;border-left:4px solid var(--color-gold,#d3a64a)}
.admissions-important-note span{display:grid;place-items:center;flex:0 0 2rem;width:2rem;height:2rem;border-radius:50%;background:var(--color-gold,#d3a64a);color:#fff;font-weight:800}.admissions-important-note p{margin:0;line-height:1.5}
@media (max-width:720px){.admissions-condition-grid{grid-template-columns:1fr;gap:1rem}.admissions-condition-card{padding:1.5rem 1.25rem}.admissions-condition-card h3{font-size:1.3rem}.admissions-important-note{align-items:flex-start}.admissions-important-note span{margin-top:.1rem}}
