/* Orientation & Avenir, design system v2 (03/09/2026). Cohabite avec pe-common (Foundation). Reference : cdc/DESIGN.md */
@font-face{font-family:"Merriweather Fallback";src:local("Georgia"),local("Times New Roman");size-adjust:108%;ascent-override:96%;descent-override:26%;line-gap-override:0%}@font-face{font-family:"Inter Fallback";src:local("Arial"),local("Helvetica");size-adjust:105%;ascent-override:90%;descent-override:22%;line-gap-override:0%}
:root{--oa-blue:#012269;--oa-blue-2:#1f3a93;--oa-blue-3:#2b57c9;--oa-blue-soft:#e8edfb;--oa-blue-tint:#f2f5fd;--oa-green:#2fb674;--oa-green-ink:#1a7a4a;--oa-green-soft:#e6f7ee;--oa-orange:#f28c28;--oa-orange-ink:#b85b00;--oa-orange-soft:#fff1e3;--oa-red:#c80f2e;--oa-red-soft:#fde8ec;--oa-purple:#6c3fb5;--oa-purple-soft:#efe8fb;--oa-ink:#1b2333;--oa-muted:#5b6474;--oa-line:#e3e7ee;--oa-bg:#f6f8fb;--oa-white:#fff;--oa-accent:#1f3a93;--oa-radius:16px;--oa-radius-sm:10px;--oa-shadow-1:0 1px 2px rgba(1,34,105,.06),0 1px 1px rgba(1,34,105,.03);--oa-shadow-2:0 8px 24px rgba(1,34,105,.10);--oa-shadow-3:0 20px 50px rgba(1,34,105,.16);--oa-shadow:var(--oa-shadow-2);--oa-dur:.45s;--oa-ease:cubic-bezier(.2,.7,.2,1);--oa-font:Inter,"Inter Fallback",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;--oa-serif:Merriweather,"Merriweather Fallback",Georgia,"Times New Roman",serif;--oa-focus:#ffbf47}

/* ---------- base ---------- */
[hidden]{display:none!important}
.oa-skip{position:absolute;left:-9999px;top:0;background:var(--oa-blue);color:#fff;padding:.6rem 1rem;z-index:9999;border-radius:0 0 10px 0;font-weight:700}.oa-skip:focus{left:8px;top:8px}
.oa-sr{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
#oa-main{font-family:var(--oa-font);color:var(--oa-ink);line-height:1.65;background:var(--oa-bg);font-size:1.0625rem;-webkit-font-smoothing:antialiased}
#oa-main *,#oa-main *::before,#oa-main *::after{box-sizing:border-box}
#oa-main:focus{outline:none}
#oa-main h1,#oa-main h2,#oa-main h3,#oa-main h4{color:var(--oa-blue);line-height:1.2;margin:0 0 .6em;text-wrap:balance}
#oa-main h1,#oa-main h2{font-family:var(--oa-serif);font-weight:700;letter-spacing:-.01em}
#oa-main h1{font-size:clamp(1.85rem,3.6vw,2.7rem);line-height:1.12}
#oa-main h2{font-size:clamp(1.35rem,2.4vw,1.8rem);margin-top:1.6em}
#oa-main h3{font-family:var(--oa-font);font-size:1.15rem;font-weight:700}#oa-main h4{font-family:var(--oa-font);font-size:1rem;font-weight:700}
#oa-main a{color:var(--oa-blue-2);text-decoration:none;transition:color .15s}#oa-main a:hover{text-decoration:underline;text-underline-offset:2px}
#oa-main .oa-hero a:not(.oa-btn),#oa-main .oa-section--dark a:not(.oa-btn),#oa-main .oa-band a:not(.oa-btn),#oa-main .oa-card--cta a,#oa-main .oa-aside__box--cta a:not(.oa-btn){color:#fff}#oa-main .oa-hero--light a:not(.oa-btn){color:var(--oa-blue-2)}#oa-main .oa-bc a{color:var(--oa-muted)}#oa-main .oa-bc a:hover{color:var(--oa-blue)}
#oa-main p,#oa-main li{font-size:1em}#oa-main p{margin:0 0 1em}
.oa-lead{font-size:1.15rem;color:var(--oa-muted);max-width:70ch;line-height:1.6}
.oa-muted{color:var(--oa-muted)}.oa-small{font-size:.86rem}.oa-link{font-weight:600;text-decoration:underline;text-underline-offset:2px}
.oa-eyebrow{font-family:var(--oa-font);font-size:.78rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--oa-orange-ink);margin:0 0 .45rem}
.oa-title-mark{position:relative;display:inline-block;white-space:nowrap}.oa-title-mark::after{content:"";position:absolute;left:0;right:0;bottom:.08em;height:.32em;background:var(--oa-orange);opacity:.35;border-radius:3px;z-index:-1}
.oa-wrap{max-width:1180px;margin:0 auto;padding:0 1.1rem}.oa-narrow{max-width:860px}
#oa-main table{width:100%;border-collapse:separate;border-spacing:0;background:#fff;font-size:.95rem;border:1px solid var(--oa-line);border-radius:var(--oa-radius-sm);overflow:hidden}
#oa-main th,#oa-main td{padding:.65rem .8rem;border-bottom:1px solid var(--oa-line);text-align:left;vertical-align:top}
#oa-main th{background:var(--oa-blue-soft);color:var(--oa-blue);font-weight:700;font-size:.88rem;letter-spacing:.02em}
#oa-main tbody tr:nth-child(even) td{background:#fafbfe}#oa-main tbody tr:hover td{background:var(--oa-blue-tint)}#oa-main tbody tr:last-child td{border-bottom:0}
.oa-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:1rem 0;border-radius:var(--oa-radius-sm)}.oa-table-wrap table{min-width:520px;margin:0}.oa-table-wrap table.oa-table--fit{min-width:0}
#oa-main mark{background:#fff3c4;color:inherit;padding:0 .2em;border-radius:3px}
#oa-main blockquote{margin:1.2rem 0;padding:.9rem 1.2rem;border-left:4px solid var(--oa-orange);background:var(--oa-orange-soft);border-radius:0 var(--oa-radius-sm) var(--oa-radius-sm) 0;font-style:italic}
#oa-main hr{border:0;border-top:1px solid var(--oa-line);margin:1.6rem 0}
#oa-main img{max-width:100%;height:auto}

/* ---------- bandeau Pass Education herite (topbar + barre des niveaux) ---------- */
#header-container{font-family:var(--oa-font)}
@media(max-width:1023px){#header-topbar #main-menu{display:none;background:#fff;border-top:1px solid var(--oa-line)}#header-topbar #main-menu.is-open{display:block}
#header-topbar #main-menu li.is-drilldown-submenu-parent>a::after,#header-topbar #main-menu li.pe-color-white>a:not([href])::after{content:"";margin-left:auto;width:8px;height:8px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);transition:transform .2s}#header-topbar #main-menu li.is-open>a::after{transform:rotate(-135deg)}}
.cj-stickyhead{position:relative;z-index:20}
.ame-niveau-bar{background:linear-gradient(90deg,#f4f6fb,#eef2fb);border-top:1px solid #e3e6ef;border-bottom:1px solid #e3e6ef;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}.ame-niveau-bar::-webkit-scrollbar{display:none}
.ame-niveau-list{display:flex;gap:.1rem;list-style:none;margin:0;padding:0 .5rem;white-space:nowrap}.ame-niveau-list li{margin:0;padding:0}
.ame-niveau-bar .ame-niveau-list li a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;min-width:44px;padding:0 .45rem;box-sizing:border-box;font-size:.85rem;font-weight:600;color:#1d2b53;text-decoration:none;border-radius:8px;transition:background .15s,color .15s}
.ame-niveau-list a:hover,.ame-niveau-list a:focus-visible{background:#fff;color:var(--oa-blue);box-shadow:var(--oa-shadow-1)}
.ame-niveau-list sup{font-size:.6em;margin-left:1px}
.ame-niveau-list .is-mat a{border-bottom:3px solid #f7c948}.ame-niveau-list .is-ele a{border-bottom:3px solid var(--oa-green)}.ame-niveau-list .is-col a{border-bottom:3px solid var(--oa-orange)}.ame-niveau-list .is-lyc a{border-bottom:3px solid var(--oa-purple)}
@media (min-width:900px){.ame-niveau-list{justify-content:center}}

/* ---------- en-tete du hub ---------- */
.oa-head{background:#fff;border-bottom:1px solid var(--oa-line);font-family:var(--oa-font);position:relative;transition:box-shadow .25s}.oa-head.is-stuck{box-shadow:0 6px 20px rgba(1,34,105,.08)}
.oa-head__bar{max-width:1180px;margin:0 auto;padding:.6rem 1.1rem;display:flex;align-items:center;gap:1rem;flex-wrap:wrap}
.oa-logo{display:inline-flex;align-items:center;gap:.6rem;text-decoration:none!important;line-height:1.05}
.oa-logo__mark{width:44px;height:44px;border-radius:12px;background:linear-gradient(135deg,var(--oa-blue) 0%,var(--oa-blue-3) 100%);display:inline-flex;align-items:center;justify-content:center;color:#fff;flex:0 0 auto;box-shadow:var(--oa-shadow-1)}.oa-logo__mark svg{width:26px;height:26px}
.oa-logo span{font-weight:800;font-size:1.2rem;color:var(--oa-blue);display:block;white-space:nowrap;letter-spacing:-.01em}.oa-logo b{color:var(--oa-orange)}.oa-logo i{display:block;font-style:normal;font-weight:600;font-size:.76rem;color:var(--oa-green-ink);letter-spacing:.08em;text-transform:uppercase;margin-top:.15rem}
.oa-search{display:flex;flex:1;min-width:200px;max-width:380px;margin:0;border:1px solid var(--oa-line);border-radius:999px;overflow:hidden;background:var(--oa-bg);transition:box-shadow .2s,border-color .2s}.oa-search:focus-within{border-color:var(--oa-blue-2);box-shadow:0 0 0 3px var(--oa-blue-soft);background:#fff}
.oa-search input{flex:1;border:0;background:transparent;padding:.5rem 1rem;font-size:.95rem;margin:0;box-shadow:none;height:auto;min-height:44px;box-sizing:border-box;font-family:inherit;color:var(--oa-ink)}.oa-search input:focus{outline:none;box-shadow:none;border:0;background:transparent}.oa-search input:focus-visible{outline:3px solid var(--oa-focus);outline-offset:-3px}
.oa-search button{border:0;background:var(--oa-blue);color:#fff;padding:0 1rem;cursor:pointer;font-size:1rem;min-height:44px;display:inline-flex;align-items:center;gap:.35rem;font-weight:700;font-family:inherit;transition:background .15s}.oa-search button:hover{background:var(--oa-blue-2)}.oa-search button svg{width:18px;height:18px}
.oa-search__txt{display:none}@media(min-width:1100px){.oa-search__txt{display:inline}}
.oa-foot__brand small{display:block;font-size:.72rem;font-weight:500;opacity:.8;letter-spacing:.02em}

.oa-burger{display:none;margin-left:auto;background:var(--oa-blue);color:#fff;border:0;border-radius:10px;width:44px;height:44px;font-size:1.3rem;cursor:pointer;align-items:center;justify-content:center}
.oa-nav{display:flex;gap:.15rem;flex-wrap:wrap;margin-left:auto}.oa-nav a{padding:.45rem .75rem;border-radius:10px;font-weight:600;font-size:.92rem;color:var(--oa-ink);text-decoration:none!important;white-space:nowrap;min-height:44px;display:inline-flex;align-items:center;position:relative;transition:background .15s,color .15s}.oa-nav a:hover{background:var(--oa-blue-soft);color:var(--oa-blue)}
.oa-nav a.is-on{color:var(--oa-blue)}.oa-nav a.is-on::after{content:"";position:absolute;left:.75rem;right:.75rem;bottom:.35rem;height:3px;border-radius:2px;background:var(--oa-orange)}
.oa-nav__cta{background:var(--oa-orange-ink);color:#fff!important;box-shadow:var(--oa-shadow-1)}.oa-nav a .oa-ico{margin-right:.3rem}.oa-nav__cta:hover{background:#9d4d00!important}.oa-nav__cta.is-on::after{display:none}
.oa-nav__pistes{border:1px solid var(--oa-line)}.oa-pistes-count{display:inline-block;min-width:1.3em;padding:0 .35em;border-radius:999px;background:var(--oa-green-ink);color:#fff;font-size:.75rem;text-align:center;margin-left:.3em}
@media(max-width:980px){.oa-burger{display:inline-flex}.oa-nav{display:none;width:100%;flex-direction:column;gap:0;margin:0;padding-top:.3rem}.oa-nav.open{display:flex}.oa-nav a{padding:.7rem .6rem;border-bottom:1px solid var(--oa-line);border-radius:0}.oa-nav a.is-on::after{display:none}.oa-nav a.is-on{border-left:3px solid var(--oa-orange);padding-left:.8rem}.oa-search{order:3;max-width:none;width:100%}}

/* ---------- fil d'Ariane ---------- */
.oa-bc{font-size:.85rem;color:var(--oa-muted);padding:.7rem 0 .2rem}.oa-bc ol{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.2rem;align-items:center}.oa-bc li+li::before{content:"›";margin:0 .35rem;color:#9aa3b5}.oa-bc a{color:var(--oa-muted);display:inline-block;padding:.45rem 0}.oa-bc a:hover{color:var(--oa-blue)}.oa-bc [aria-current]{color:var(--oa-ink);font-weight:600}

/* ---------- heros ---------- */
.oa-hero{position:relative;overflow:hidden;background:linear-gradient(135deg,#01175a 0%,var(--oa-blue) 35%,var(--oa-blue-2) 70%,var(--oa-blue-3) 100%);color:#fff;padding:3rem 0 2.6rem;margin-bottom:1.6rem;isolation:isolate}
.oa-hero::before{content:"";position:absolute;inset:0;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32'%3E%3Ccircle cx='2' cy='2' r='1.3' fill='%23ffffff' fill-opacity='.13'/%3E%3C/svg%3E");opacity:.9;z-index:-1;pointer-events:none}
.oa-hero::after{content:"";position:absolute;width:640px;height:640px;right:-220px;top:-300px;border-radius:50%;background:radial-gradient(closest-side,rgba(242,140,40,.28),rgba(242,140,40,0));z-index:-1;pointer-events:none}
.oa-hero h1,.oa-hero h2,#oa-main .oa-hero h1,#oa-main .oa-hero h2{color:#fff}.oa-hero .oa-lead,#oa-main .oa-hero .oa-lead{color:#e7ecfb}.oa-hero .oa-eyebrow{color:#ffc58a}
.oa-hero__badge{display:inline-flex;align-items:center;gap:.4rem;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.35);border-radius:999px;padding:.3rem .9rem;font-size:.78rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;margin-bottom:.9rem;backdrop-filter:blur(4px)}
.oa-hero__grid{display:grid;grid-template-columns:1.4fr 1fr;gap:2.4rem;align-items:center}@media(max-width:800px){.oa-hero__grid{grid-template-columns:1fr;gap:1.6rem}}
.oa-hero__single>div{max-width:860px}
.oa-hero__figure{position:relative;margin:0}.oa-hero__figure::before{content:"";position:absolute;inset:-14px -14px auto auto;width:46%;height:46%;border-radius:var(--oa-radius);background:linear-gradient(135deg,var(--oa-orange),#ffc58a);opacity:.9;z-index:0;transform:rotate(4deg)}.oa-hero__figure::after{content:"";position:absolute;left:-12px;bottom:-12px;width:40%;height:40%;border-radius:var(--oa-radius);background:var(--oa-green);opacity:.75;z-index:0;transform:rotate(-3deg)}
.oa-hero__img{position:relative;z-index:1;width:100%;height:auto;border-radius:var(--oa-radius);box-shadow:var(--oa-shadow-3);display:block;aspect-ratio:640/427;object-fit:cover;background:var(--oa-blue-soft)}
.oa-hero__stats{display:flex;flex-wrap:wrap;gap:.6rem 1.6rem;margin-top:1.4rem;padding-top:1.2rem;border-top:1px solid rgba(255,255,255,.22)}.oa-hero__stats>div{display:flex;flex-direction:column;min-width:80px}.oa-hero__stats b{font-family:var(--oa-serif);font-size:1.6rem;line-height:1.1}.oa-hero__stats span{font-size:.8rem;opacity:.85}
.oa-hero--light{background:linear-gradient(180deg,#fff 0%,var(--oa-blue-tint) 100%);color:var(--oa-ink);border-bottom:1px solid var(--oa-line);padding:2.2rem 0 2rem}
.oa-hero--light::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32'%3E%3Ccircle cx='2' cy='2' r='1.3' fill='%23012269' fill-opacity='.10'/%3E%3C/svg%3E");opacity:.8}
.oa-hero--light::after{background:radial-gradient(closest-side,rgba(31,58,147,.12),rgba(31,58,147,0))}
.oa-hero--light h1,#oa-main .oa-hero--light h1,.oa-hero--light h2,#oa-main .oa-hero--light h2{color:var(--oa-blue)}.oa-hero--light .oa-lead,#oa-main .oa-hero--light .oa-lead{color:var(--oa-muted)}.oa-hero--light .oa-eyebrow{color:var(--oa-orange-ink)}
.oa-hero--light .oa-hero__badge{background:var(--oa-blue-soft);color:var(--oa-blue);border-color:transparent;backdrop-filter:none}
.oa-hero--light .oa-hero__stats{border-top-color:var(--oa-line)}.oa-hero--light .oa-hero__stats b{color:var(--oa-blue)}.oa-hero--light .oa-hero__stats span{color:var(--oa-muted);opacity:1}
.oa-hero--tint{background:linear-gradient(180deg,#fff 0%,var(--oa-blue-tint) 100%)}.oa-hero--tint::after{background:radial-gradient(closest-side,color-mix(in srgb,var(--oa-accent) 22%,transparent),transparent)}
.oa-hero .oa-search{background:#fff;border-color:#fff;max-width:520px;margin-top:1rem}

/* ---------- boutons ---------- */
.oa-btn{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;background:var(--oa-orange-ink);color:#fff!important;font-weight:700;padding:.7rem 1.4rem;min-height:44px;border-radius:999px;text-decoration:none!important;border:2px solid transparent;cursor:pointer;font-size:1rem;line-height:1.2;font-family:var(--oa-font);box-shadow:var(--oa-shadow-1);transition:background .15s,transform .15s,box-shadow .2s,border-color .15s;-webkit-tap-highlight-color:transparent}
.oa-btn:hover{background:#9d4d00;box-shadow:var(--oa-shadow-2);transform:translateY(-1px)}.oa-btn:active{transform:translateY(0);box-shadow:none}
.oa-btn--primary{background:var(--oa-orange-ink)}
.oa-btn--blue{background:var(--oa-blue)}.oa-btn--blue:hover{background:var(--oa-blue-2)}
.oa-btn--green{background:var(--oa-green-ink)}.oa-btn--green:hover{background:#155f3a}
.oa-btn--ghost{background:transparent;color:var(--oa-blue)!important;border-color:var(--oa-blue);box-shadow:none}.oa-btn--ghost:hover{background:var(--oa-blue-soft);box-shadow:none}
.oa-btn--onblue{color:#fff!important;border-color:rgba(255,255,255,.8)}.oa-btn--onblue:hover{background:rgba(255,255,255,.14)}
.oa-btn--white{background:#fff;color:var(--oa-blue)!important}.oa-btn--white:hover{background:var(--oa-blue-soft)}
.oa-btn--sm{padding:.45rem 1rem;font-size:.9rem}.oa-btn--lg{padding:.9rem 1.8rem;font-size:1.08rem}.oa-btn--block{display:flex;width:100%}
.oa-btn--icon{width:44px;height:44px;padding:0;border-radius:12px}
.oa-btn--arrow::after{content:"";width:.55em;height:.55em;border-right:2px solid currentColor;border-top:2px solid currentColor;transform:rotate(45deg);margin-left:.15rem;transition:transform .2s}.oa-btn--arrow:hover::after{transform:rotate(45deg) translate(2px,-2px)}
.oa-btn[disabled],.oa-btn.is-loading{opacity:.55;cursor:not-allowed;transform:none;box-shadow:none}
.oa-btn svg{width:1.1em;height:1.1em;flex:0 0 auto}
.oa-btns{display:flex;gap:.7rem;flex-wrap:wrap;margin:1.2rem 0}

/* ---------- badges, chips, pictos ---------- */
.oa-badge{display:inline-flex;align-items:center;gap:.3rem;padding:.2rem .65rem;border-radius:999px;font-size:.78rem;font-weight:700;background:var(--oa-blue-soft);color:var(--oa-blue);white-space:nowrap;line-height:1.5}
.oa-badge--green{background:var(--oa-green-soft);color:var(--oa-green-ink)}.oa-badge--orange{background:var(--oa-orange-soft);color:#8a4300}.oa-badge--red{background:var(--oa-red-soft);color:var(--oa-red)}.oa-badge--grey{background:#eef1f5;color:var(--oa-muted)}.oa-badge--purple{background:var(--oa-purple-soft);color:var(--oa-purple)}
@media(max-width:480px){.oa-badge{white-space:normal;text-align:left}}.oa-badge--dot::before{content:"";width:.5em;height:.5em;border-radius:50%;background:currentColor}
.oa-badges{display:flex;flex-wrap:wrap;gap:.4rem;margin:.6rem 0}
.oa-chips{display:flex;flex-wrap:wrap;gap:.4rem;margin:.4rem 0}
.oa-chip{display:inline-flex;align-items:center;gap:.3rem;background:#fff;border:1px solid var(--oa-line);border-radius:999px;padding:.3rem .8rem;font-size:.88rem;font-weight:600;color:var(--oa-ink);line-height:1.3;font-family:var(--oa-font);transition:background .15s,border-color .15s,color .15s}
a.oa-chip,button.oa-chip{min-height:44px;cursor:pointer;text-decoration:none!important}a.oa-chip:hover,button.oa-chip:hover{border-color:var(--oa-blue-2);color:var(--oa-blue);background:var(--oa-blue-soft)}
.oa-chip.is-on,.oa-chip[aria-pressed="true"]{background:var(--oa-blue);border-color:var(--oa-blue);color:#fff}
.oa-chip--green{background:var(--oa-green-soft);border-color:transparent;color:var(--oa-green-ink)}.oa-chip--orange{background:var(--oa-orange-soft);border-color:transparent;color:#8a4300}
.oa-tags a{display:inline-flex;align-items:center;min-height:44px;background:#fff;border:1px solid var(--oa-line);border-radius:999px;padding:.25rem .8rem;font-size:.85rem;margin:.2rem .2rem .2rem 0;transition:border-color .15s,background .15s}.oa-tags a:hover{border-color:var(--oa-blue-2);background:var(--oa-blue-soft);text-decoration:none}
.oa-ico{width:1em;height:1em;vertical-align:-.15em;flex:0 0 auto}

/* ---------- sections, grilles, cartes ---------- */
.oa-section{padding:1.8rem 0}.oa-section--alt{background:#fff;border-top:1px solid var(--oa-line);border-bottom:1px solid var(--oa-line)}.oa-section--tint{background:var(--oa-blue-tint)}
.oa-section--dark{background:linear-gradient(135deg,#01175a,var(--oa-blue-2));color:#fff}.oa-section--dark h2,#oa-main .oa-section--dark h2,#oa-main .oa-section--dark h3{color:#fff}.oa-section--dark a:not(.oa-btn){color:#fff;text-decoration:underline}
.oa-section__head{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-bottom:.9rem}.oa-section__head h2{margin-top:0;margin-bottom:0}.oa-section__head a{font-weight:600;font-size:.92rem;display:inline-flex;align-items:center;gap:.25rem;padding:.65rem 0;margin:-.65rem 0}.oa-section__head a::after{content:"›";font-size:1.2em;line-height:1;transition:transform .2s}.oa-section__head a:hover::after{transform:translateX(3px)}
.oa-grid{display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}.oa-grid--2{grid-template-columns:repeat(auto-fill,minmax(340px,1fr))}.oa-grid--3{grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.oa-grid--4{grid-template-columns:repeat(4,minmax(0,1fr))}@media(max-width:1100px){.oa-grid--4{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:820px){.oa-grid--4{grid-template-columns:repeat(2,minmax(0,1fr))}}.oa-grid--piliers{grid-template-columns:repeat(4,minmax(0,1fr))}@media(max-width:900px){.oa-grid--piliers{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:420px){.oa-grid,.oa-grid--2,.oa-grid--3,.oa-grid--4,.oa-editorial__main .oa-grid.oa-grid--4{grid-template-columns:1fr}}
.oa-split{display:grid;grid-template-columns:1fr 1fr;gap:2rem;align-items:center}@media(max-width:800px){.oa-split{grid-template-columns:1fr}}
.oa-card{background:#fff;border:1px solid var(--oa-line);border-radius:var(--oa-radius);padding:1.1rem 1.2rem;display:flex;flex-direction:column;gap:.45rem;position:relative;box-shadow:var(--oa-shadow-1);transition:transform .25s var(--oa-ease),box-shadow .25s var(--oa-ease),border-color .25s;min-width:0}
.oa-card:hover{transform:translateY(-3px);box-shadow:var(--oa-shadow-2);border-color:#c9d3f2}.oa-card--flat,.oa-card--flat:hover{transform:none;box-shadow:var(--oa-shadow-1);border-color:var(--oa-line)}
.oa-card h3{margin:0;font-size:1.05rem;line-height:1.3}.oa-card h3 a{color:var(--oa-blue);display:inline-block;padding:.65rem 0;margin:-.65rem 0}.oa-card h3 a::after{content:"";position:absolute;inset:0;border-radius:inherit}.oa-card:hover h3 a{text-decoration:none;color:var(--oa-blue-2)}
.oa-card p{margin:0;font-size:.93rem;color:var(--oa-muted)}.oa-card__meta{font-size:.8rem;color:var(--oa-muted);display:flex;gap:.5rem;flex-wrap:wrap;align-items:center;margin-top:auto;padding-top:.3rem}
.oa-card__ico{width:46px;height:46px;border-radius:14px;background:color-mix(in srgb,var(--oa-accent) 12%,#fff);color:var(--oa-accent);display:inline-flex;align-items:center;justify-content:center;font-size:1.5rem;line-height:1;margin-bottom:.2rem;transition:transform .25s var(--oa-ease)}.oa-card__ico svg{width:26px;height:26px}.oa-card:hover .oa-card__ico{transform:scale(1.08) rotate(-4deg)}
.oa-card--pilier{border-top:4px solid var(--oa-orange)}.oa-card--pilier .oa-card__ico{font-size:1.8rem}
.oa-card--accent{border-left:4px solid var(--oa-accent)}
.oa-card--cta{background:linear-gradient(135deg,var(--oa-blue),var(--oa-blue-3));border-color:transparent;color:#fff}.oa-card--cta h3,.oa-card--cta h3 a,#oa-main .oa-card--cta h3 a{color:#fff}.oa-card--cta p{color:#e7ecfb}
.oa-card>img:first-child,.oa-card--img>img{width:100%;height:auto;aspect-ratio:16/10;object-fit:cover;border-radius:10px;margin-bottom:.3rem}
.oa-card img{max-width:100%}
.oa-fav{position:relative;z-index:2;align-self:flex-end;background:#fff;border:1px solid var(--oa-line);border-radius:999px;min-width:44px;min-height:44px;cursor:pointer;font-size:1rem;line-height:1;color:var(--oa-ink);font-family:var(--oa-font);transition:background .15s,border-color .15s,transform .15s}.oa-fav:hover{border-color:var(--oa-orange);background:var(--oa-orange-soft)}.oa-fav.on{background:var(--oa-orange-soft);border-color:var(--oa-orange);color:#8a4300}.oa-fav:active{transform:scale(.94)}
.oa-btn.oa-fav{background:var(--oa-green-ink);color:#fff;border-color:transparent}.oa-btn.oa-fav.on{background:#8a4300;border-color:transparent;color:#fff}.oa-btn.oa-fav:hover{background:#155f3a}.oa-btn.oa-fav.on:hover{background:#6f3600}
.oa-lift{transition:transform .25s var(--oa-ease),box-shadow .25s var(--oa-ease)}.oa-lift:hover{transform:translateY(-3px);box-shadow:var(--oa-shadow-2)}

/* ---------- fiche 2 colonnes ---------- */
.oa-fiche{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:2.2rem;padding:1.4rem 0 2rem}@media(max-width:900px){.oa-fiche{grid-template-columns:minmax(0,1fr)}}
.oa-fiche__main>*:first-child{margin-top:0}.oa-fiche__main>h2{padding-top:.2rem}
.oa-aside{display:flex;flex-direction:column;gap:1rem;min-width:0}.oa-aside__box{background:#fff;border:1px solid var(--oa-line);border-radius:var(--oa-radius);padding:1.1rem 1.2rem;box-shadow:var(--oa-shadow-1)}.oa-aside__box h3{font-size:.95rem;margin-bottom:.6rem;text-transform:uppercase;letter-spacing:.06em;color:var(--oa-blue-2);display:flex;align-items:center;gap:.4rem}.oa-aside__box h3::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--oa-orange)}
.oa-aside__box ul{margin:0;padding-left:1.1rem;font-size:.93rem}.oa-aside__box li{margin:.3rem 0}.oa-aside__box p{font-size:.93rem}
.oa-aside__box--cta{background:linear-gradient(135deg,var(--oa-blue),var(--oa-blue-3));color:#fff;border-color:transparent}.oa-aside__box--cta h3{color:#fff}.oa-aside__box--cta h3::before{background:#fff}.oa-aside__box--cta p{color:#e7ecfb}
@media(min-width:901px){.oa-aside--sticky{position:sticky;top:1rem;align-self:start}}

/* ---------- donnees : KPI, etapes, chaine, progression ---------- */
.oa-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:.8rem;margin:1rem 0}
.oa-kpi{background:#fff;border:1px solid var(--oa-line);border-radius:14px;padding:.9rem .8rem;text-align:center;position:relative;overflow:hidden;box-shadow:var(--oa-shadow-1)}.oa-kpi::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--oa-accent)}
.oa-kpi b{display:block;font-family:var(--oa-serif);font-size:1.45rem;color:var(--oa-blue);line-height:1.15;font-variant-numeric:tabular-nums}.oa-kpi span{font-size:.8rem;color:var(--oa-muted)}
.oa-stat-row{display:flex;flex-wrap:wrap;gap:1.2rem 2.4rem;margin:1rem 0}.oa-stat-row>div{display:flex;flex-direction:column}.oa-stat-row b{font-family:var(--oa-serif);font-size:2rem;line-height:1.1}.oa-stat-row span{font-size:.85rem;opacity:.85}
.oa-steps{counter-reset:s;list-style:none;padding:0;margin:1.2rem 0}.oa-steps li{position:relative;padding:.5rem 0 1.1rem 3.2rem;margin:0}.oa-steps li::after{content:"";position:absolute;left:1.05rem;top:2.6rem;bottom:-.2rem;width:2px;background:var(--oa-blue-soft)}.oa-steps li:last-child::after{display:none}
.oa-steps li::before{counter-increment:s;content:counter(s);position:absolute;left:0;top:.45rem;width:2.15rem;height:2.15rem;border-radius:50%;background:var(--oa-blue);color:#fff;font-weight:700;display:flex;align-items:center;justify-content:center;font-size:.9rem;box-shadow:0 0 0 4px #fff}
.oa-steps li.is-done::before{background:var(--oa-green-ink);content:"✓"}.oa-steps li.is-current::before{background:var(--oa-orange-ink);box-shadow:0 0 0 4px #fff,0 0 0 7px var(--oa-orange-soft)}.oa-steps li>b{display:block;color:var(--oa-blue);margin-bottom:.15rem}
.oa-num-list{counter-reset:n;list-style:none;padding:0;margin:1rem 0}.oa-num-list li{position:relative;padding-left:2.2rem;margin:.5rem 0}.oa-num-list li::before{counter-increment:n;content:counter(n);position:absolute;left:0;top:.1rem;width:1.6rem;height:1.6rem;border-radius:50%;background:var(--oa-blue-soft);color:var(--oa-blue);font-weight:700;font-size:.85rem;display:flex;align-items:center;justify-content:center}
.oa-check-list{list-style:none;padding:0;margin:1rem 0}.oa-check-list li{position:relative;padding-left:1.9rem;margin:.45rem 0}.oa-check-list li::before{content:"";position:absolute;left:0;top:.35rem;width:1.15rem;height:1.15rem;border-radius:50%;background:var(--oa-green-soft)}.oa-check-list li::after{content:"";position:absolute;left:.4rem;top:.55rem;width:.3rem;height:.55rem;border-right:2px solid var(--oa-green-ink);border-bottom:2px solid var(--oa-green-ink);transform:rotate(45deg)}
.oa-chain{display:flex;flex-wrap:wrap;gap:.4rem;align-items:center;margin:1rem 0}.oa-chain a{background:#fff;border:1px solid var(--oa-line);border-radius:999px;padding:.4rem .95rem;font-weight:600;font-size:.9rem;display:inline-flex;align-items:center;min-height:44px;color:var(--oa-blue);transition:background .15s,border-color .15s,transform .15s}.oa-chain a:hover{border-color:var(--oa-blue-2);background:var(--oa-blue-soft);text-decoration:none;transform:translateY(-1px)}.oa-chain a.is-on{background:var(--oa-orange-ink);border-color:var(--oa-orange-ink);color:#fff}.oa-chain span{color:#9aa3b5}
#oa-main .oa-hero .oa-chain a{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.35);color:#fff}#oa-main .oa-hero .oa-chain a:hover{background:rgba(255,255,255,.22)}#oa-main .oa-hero .oa-chain a.is-on{background:#fff;border-color:#fff;color:var(--oa-blue)}#oa-main .oa-hero--light .oa-chain a{background:#fff;border-color:var(--oa-line);color:var(--oa-blue)}#oa-main .oa-hero--light .oa-chain a.is-on{background:var(--oa-orange-ink);border-color:var(--oa-orange-ink);color:#fff}.oa-hero .oa-chain span{color:rgba(255,255,255,.6)}
.oa-progress{height:10px;background:var(--oa-blue-soft);border-radius:999px;overflow:hidden;margin:.6rem 0}.oa-progress i{display:block;height:100%;width:0;border-radius:999px;background:linear-gradient(90deg,var(--oa-orange),#ffb066);transition:width .6s var(--oa-ease)}

/* ---------- encadres, FAQ, notes ---------- */
.oa-callout{background:var(--oa-orange-soft);border-left:4px solid var(--oa-orange);border-radius:0 var(--oa-radius-sm) var(--oa-radius-sm) 0;padding:1rem 1.2rem;margin:1.3rem 0}.oa-callout>:last-child{margin-bottom:0}.oa-callout__title{display:block;font-weight:700;color:var(--oa-blue);margin-bottom:.3rem}
.oa-callout--blue{background:var(--oa-blue-soft);border-color:var(--oa-blue)}.oa-callout--green{background:var(--oa-green-soft);border-color:var(--oa-green)}.oa-callout--red{background:var(--oa-red-soft);border-color:var(--oa-red)}
.oa-callout>a:not(.oa-btn),.oa-callout p>a:not(.oa-btn){display:inline-block;padding:.6rem 0;margin:-.3rem 0;min-height:44px;box-sizing:border-box;font-weight:600}
.oa-note{font-size:.88rem;color:var(--oa-muted);background:#fff;border:1px dashed var(--oa-line);border-radius:var(--oa-radius-sm);padding:.7rem .9rem;margin:.8rem 0}
.oa-faq details,.oa-details{background:#fff;border:1px solid var(--oa-line);border-radius:var(--oa-radius-sm);padding:0;margin:.55rem 0;box-shadow:var(--oa-shadow-1);transition:border-color .2s,box-shadow .2s}.oa-faq details[open],.oa-details[open]{border-color:#c9d3f2;box-shadow:var(--oa-shadow-2)}
.oa-faq summary,.oa-details summary{font-weight:700;cursor:pointer;color:var(--oa-blue);padding:.9rem 3rem .9rem 1.1rem;position:relative;list-style:none;min-height:44px;line-height:1.35}.oa-faq summary::-webkit-details-marker,.oa-details summary::-webkit-details-marker{display:none}
.oa-faq summary::after,.oa-details summary::after{content:"";position:absolute;right:1.1rem;top:50%;width:.6rem;height:.6rem;margin-top:-.45rem;border-right:2px solid var(--oa-blue-2);border-bottom:2px solid var(--oa-blue-2);transform:rotate(45deg);transition:transform .25s var(--oa-ease)}.oa-faq details[open]>summary::after,.oa-details[open]>summary::after{transform:rotate(-135deg);margin-top:-.1rem}
.oa-faq summary:hover{background:var(--oa-blue-tint);border-radius:var(--oa-radius-sm)}
.oa-faq details>*:not(summary),.oa-details>*:not(summary){padding:0 1.1rem}.oa-faq details p,.oa-details p{margin:.2rem 0 .9rem}.oa-faq details>:last-child:not(summary){padding-bottom:.9rem}.oa-faq .oa-details__body,.oa-details .oa-details__body{padding:0 1.1rem .9rem}.oa-details__body>:last-child{margin-bottom:0}
.oa-source{font-size:.82rem;color:var(--oa-muted);border-top:1px dashed var(--oa-line);padding-top:.8rem;margin-top:1.8rem}
.oa-empty{background:#fff;border:1px dashed #c9d0dc;border-radius:12px;padding:1.2rem;text-align:center;color:var(--oa-muted)}
.oa-alert{padding:.8rem 1rem;border-radius:var(--oa-radius-sm);font-weight:600;background:var(--oa-blue-soft);color:var(--oa-blue)}.oa-alert.ok{background:var(--oa-green-soft);color:var(--oa-green-ink)}.oa-alert.ko{background:var(--oa-red-soft);color:var(--oa-red)}
.oa-prose{background:#fff;border:1px solid var(--oa-line);border-radius:var(--oa-radius);padding:1.6rem 1.8rem;box-shadow:var(--oa-shadow-1)}@media(max-width:640px){.oa-prose{padding:1.2rem 1.1rem}}
.oa-prose>h2:first-child,.oa-prose>h3:first-child{margin-top:0}.oa-prose ul,.oa-prose ol{padding-left:1.3rem}.oa-prose li{margin:.3rem 0}.oa-prose li::marker{color:var(--oa-orange-ink)}
.oa-prose>p:first-of-type{font-size:1.1em;color:#2a3346}.oa-prose strong{color:var(--oa-blue)}.oa-prose h3{margin-top:1.4em}
.oa-fiche__main>ul,.oa-fiche__main>ol{padding-left:1.3rem}.oa-fiche__main>ul li::marker{color:var(--oa-orange-ink)}.oa-fiche__main>ul li,.oa-fiche__main>ol li{margin:.3rem 0}
.oa-bref{background:#fff;border:1px solid var(--oa-line);border-left:4px solid var(--oa-blue);border-radius:0 var(--oa-radius-sm) var(--oa-radius-sm) 0;padding:1rem 1.2rem;margin:0 0 1.2rem}.oa-bref p{margin:0 0 1rem}.oa-bref p:last-child{margin-bottom:0}
.oa-toc{background:#fff;border:1px solid var(--oa-line);border-radius:12px;padding:.9rem 1.1rem;font-size:.9rem}.oa-toc ol{margin:0;padding-left:1.2rem}.oa-toc li{margin:.25rem 0}
.oa-list-cols{columns:2;column-gap:2rem;padding-left:1.2rem}@media(max-width:700px){.oa-list-cols{columns:1}}.oa-list-cols a{display:inline-block;padding:.55rem 0;line-height:1.25}.oa-list-cols li.oa-empty{list-style:none;padding:.6rem 0}
.oa-profil li a,.oa-list li a,.oa-links li a{display:inline-block;padding:.6rem 0}
.oa-aside__box li a,.oa-sources li a,.oa-aside__box p>a{display:inline-block;padding:.6rem 0;margin:-.3rem 0;min-height:44px;box-sizing:border-box}

/* ---------- formulaires, filtres ---------- */
.oa-form{background:#fff;border:1px solid var(--oa-line);border-radius:var(--oa-radius);padding:1.4rem 1.6rem;display:grid;gap:1rem;box-shadow:var(--oa-shadow-1)}@media(max-width:640px){.oa-form{padding:1.1rem 1rem}}
.oa-form label,.oa-field>label{font-weight:600;font-size:.93rem;display:block;color:var(--oa-blue)}
.oa-form input:not([type=checkbox]):not([type=radio]),.oa-form textarea,.oa-form select,.oa-field input:not([type=checkbox]):not([type=radio]),.oa-field textarea,.oa-field select,.oa-select{width:100%;border:1px solid #c9d0dc;border-radius:10px;padding:.65rem .85rem;font-size:1rem;font-family:inherit;margin:.3rem 0 0;box-shadow:none;height:auto;min-height:44px;background:#fff;color:var(--oa-ink);transition:border-color .15s,box-shadow .15s}
.oa-form input:focus,.oa-form textarea:focus,.oa-form select:focus,.oa-field input:focus,.oa-field textarea:focus,.oa-field select:focus,.oa-select:focus{border-color:var(--oa-blue-2);box-shadow:0 0 0 3px var(--oa-blue-soft);outline:none}
.oa-form textarea{min-height:130px}.oa-form .oa-row2{display:grid;grid-template-columns:1fr 1fr;gap:1rem}@media(max-width:640px){.oa-form .oa-row2{grid-template-columns:1fr}}
.oa-form .oa-hp{position:absolute;left:-9999px}.oa-form__msg{font-weight:600}.oa-form__msg.ok{color:var(--oa-green-ink)}.oa-form__msg.ko{color:var(--oa-red)}
.oa-field__hint{font-size:.82rem;color:var(--oa-muted);margin:.25rem 0 0}
.oa-check{display:flex;gap:.55rem;align-items:flex-start;font-weight:400!important;color:var(--oa-ink)!important}.oa-check input{width:24px;height:24px;min-width:24px;min-height:0;margin:.2rem 0 0;accent-color:var(--oa-blue-2)}
.oa-select{width:auto;padding-right:2rem}.oa-select--sm{min-height:40px;padding:.4rem 1.8rem .4rem .7rem;font-size:.9rem}
.oa-range{width:100%;accent-color:var(--oa-orange-ink);min-height:44px}
.oa-filters{display:flex;gap:.6rem;flex-wrap:wrap;margin:.8rem 0;align-items:center}.oa-filters select,.oa-filters input{border:1px solid #c9d0dc;border-radius:10px;padding:.5rem .8rem;font-size:.95rem;margin:0;height:auto;min-height:44px;width:auto;box-shadow:none;font-family:inherit;background:#fff}.oa-filters input[type=search]{min-width:240px;flex:1 1 240px;max-width:420px}.oa-filters input:focus,.oa-filters select:focus{border-color:var(--oa-blue-2);box-shadow:0 0 0 3px var(--oa-blue-soft);outline:none}
.oa-alpha{display:flex;flex-wrap:wrap;gap:.3rem;margin:.6rem 0}.oa-alpha a{background:#fff;border:1px solid var(--oa-line);border-radius:8px;min-width:44px;min-height:44px;display:inline-flex;align-items:center;justify-content:center;padding:.2rem .3rem;font-weight:600;font-size:.85rem;transition:background .15s,border-color .15s}.oa-alpha a:hover{background:var(--oa-blue-soft);border-color:var(--oa-blue-2);text-decoration:none}
.oa-pager{display:flex;gap:.4rem;justify-content:center;margin:1.4rem 0;flex-wrap:wrap}.oa-pager a,.oa-pager span{padding:.4rem .8rem;min-height:44px;display:inline-flex;align-items:center;border:1px solid var(--oa-line);border-radius:10px;background:#fff;font-weight:600}.oa-pager .is-on{background:var(--oa-blue);color:#fff;border-color:var(--oa-blue)}
.oa-404{text-align:center;padding:2.5rem 0}.oa-404 h1{font-size:2.4rem}.oa-404__art{width:min(320px,70%);height:auto;margin:0 auto 1rem;display:block}
.oa-auteur{display:flex;gap:1.5rem;align-items:flex-start;flex-wrap:wrap}.oa-auteur__photo{border-radius:50%;object-fit:cover;box-shadow:var(--oa-shadow-1)}.oa-auteur__txt{flex:1;min-width:240px}.oa-auteur__txt h1{margin-top:0}
.oa-fiche__main .oa-section{padding:.6rem 0 0}.oa-fiche__main .oa-section h2{margin-top:1.2rem}


/* ---------- quiz ---------- */
.oa-quiz{background:#fff;border:1px solid var(--oa-line);border-radius:var(--oa-radius);padding:1.5rem 1.7rem;min-height:320px;box-shadow:var(--oa-shadow-1)}@media(max-width:640px){.oa-quiz{padding:1.1rem 1rem}}
.oa-quiz__bar{height:10px;background:var(--oa-blue-soft);border-radius:999px;overflow:hidden;margin-bottom:1.1rem}.oa-quiz__bar i{display:block;height:100%;background:linear-gradient(90deg,var(--oa-orange),#ffb066);width:0;border-radius:999px;transition:width .5s var(--oa-ease)}
.oa-quiz__q{font-family:var(--oa-serif);font-size:1.3rem;font-weight:700;color:var(--oa-blue);margin:.4rem 0 1.1rem;line-height:1.3}
.oa-quiz__opts{display:grid;gap:.65rem;grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}
.oa-quiz__opts button{background:var(--oa-bg);border:2px solid var(--oa-line);border-radius:14px;padding:.95rem .8rem;min-height:44px;font-size:1rem;font-weight:600;cursor:pointer;color:var(--oa-ink);font-family:inherit;transition:border-color .15s,background .15s,transform .15s,box-shadow .2s}
.oa-quiz__opts button:hover{border-color:var(--oa-blue-2);background:var(--oa-blue-soft);transform:translateY(-2px);box-shadow:var(--oa-shadow-1)}.oa-quiz__opts button.sel{border-color:var(--oa-orange-ink);background:var(--oa-orange-soft);color:#6f3600}.oa-quiz__opts button:active{transform:scale(.98)}
.oa-quiz__nav{display:flex;justify-content:space-between;gap:.6rem;margin-top:1.3rem;flex-wrap:wrap}
.oa-quiz__res .oa-card{border-left:4px solid var(--oa-green)}.oa-score{display:inline-flex;align-items:center;background:var(--oa-green-soft);color:var(--oa-green-ink);font-weight:700;border-radius:999px;padding:.15rem .65rem;font-size:.85rem}
.oa-sim{display:grid;gap:.8rem;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.oa-sim__out{background:var(--oa-green-soft);border-radius:14px;padding:1rem;text-align:center}.oa-sim__out b{font-family:var(--oa-serif);font-size:2rem;color:var(--oa-green-ink);display:block}
.oa-map{width:100%;height:380px;border-radius:var(--oa-radius);border:1px solid var(--oa-line);background:#e9eef5}

/* ---------- profils, bandeaux ---------- */
.oa-profils{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem}
.oa-profil{background:#fff;border-radius:var(--oa-radius);padding:1.3rem 1.3rem 1.1rem;border:1px solid var(--oa-line);border-top:5px solid var(--oa-green);box-shadow:var(--oa-shadow-1);transition:transform .25s var(--oa-ease),box-shadow .25s var(--oa-ease);position:relative}.oa-profil:hover{transform:translateY(-3px);box-shadow:var(--oa-shadow-2)}
.oa-profil:nth-child(2){border-top-color:var(--oa-orange)}.oa-profil:nth-child(3){border-top-color:var(--oa-purple)}
.oa-profil h3{margin-top:.2rem;display:flex;align-items:center;gap:.5rem}.oa-profil__ico{width:38px;height:38px;border-radius:12px;background:var(--oa-green-soft);color:var(--oa-green-ink);display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto}.oa-profil:nth-child(2) .oa-profil__ico{background:var(--oa-orange-soft);color:var(--oa-orange-ink)}.oa-profil:nth-child(3) .oa-profil__ico{background:var(--oa-purple-soft);color:var(--oa-purple)}.oa-profil__ico svg{width:22px;height:22px}
.oa-profil ul{padding-left:0;margin:.6rem 0 0;font-size:.95rem;list-style:none}.oa-profil li{border-top:1px solid var(--oa-line)}.oa-profil li a{display:flex;align-items:center;gap:.4rem;padding:.6rem 0;font-weight:500}.oa-profil li a::before{content:"›";color:var(--oa-orange-ink);font-weight:700}
.oa-band{background:linear-gradient(135deg,var(--oa-blue),var(--oa-blue-3));color:#fff;border-radius:var(--oa-radius);padding:1.8rem 2rem;display:flex;align-items:center;justify-content:space-between;gap:1.4rem;flex-wrap:wrap;box-shadow:var(--oa-shadow-2);position:relative;overflow:hidden}.oa-band::before{content:"";position:absolute;inset:0;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32'%3E%3Ccircle cx='2' cy='2' r='1.3' fill='%23ffffff' fill-opacity='.14'/%3E%3C/svg%3E");pointer-events:none}.oa-band>*{position:relative}.oa-band h2,#oa-main .oa-band h2{color:#fff;margin:0 0 .3rem}.oa-band p{color:#e7ecfb;margin:0;max-width:60ch}
.oa-sticky-cta{position:fixed;left:0;right:0;bottom:0;background:rgba(255,255,255,.96);backdrop-filter:blur(6px);border-top:1px solid var(--oa-line);padding:.6rem 1rem calc(.6rem + env(safe-area-inset-bottom));display:none;justify-content:center;z-index:60;box-shadow:0 -6px 20px rgba(1,34,105,.08)}@media(max-width:700px){.oa-sticky-cta.is-on{display:flex}}.oa-sticky-cta .oa-btn{max-width:480px}
body.oa-has-sticky #oa-main{padding-bottom:0}

/* ---------- pied de page ---------- */
.oa-foot{font-family:var(--oa-font);background:linear-gradient(180deg,#041a52 0%,var(--oa-blue) 100%);color:#c9d3ee;margin-top:2.5rem;position:relative;font-size:.93rem;line-height:1.6}
.oa-foot::before{content:"";display:block;height:5px;background:linear-gradient(90deg,var(--oa-blue-3) 0 25%,var(--oa-green) 25% 50%,var(--oa-orange) 50% 75%,var(--oa-red) 75% 100%)}
.oa-foot *{box-sizing:border-box}.oa-foot__in{max-width:1180px;margin:0 auto;padding:2.4rem 1.1rem 1.6rem;display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr 1fr;gap:1.6rem}@media(max-width:1100px){.oa-foot__in{grid-template-columns:1.5fr 1fr 1fr;gap:2rem}}@media(max-width:900px){.oa-foot__in{grid-template-columns:1fr 1fr}}@media(max-width:560px){.oa-foot__in{grid-template-columns:1fr;gap:1.4rem}}
.oa-foot h4,.oa-foot .oa-foot__h{color:#fff;font-size:.85rem;text-transform:uppercase;letter-spacing:.1em;margin:0 0 .8rem;font-weight:700}.oa-foot p{margin:0 0 .8rem;color:#c9d3ee}
.oa-foot__brand{display:flex;align-items:center;gap:.6rem;margin-bottom:.8rem;color:#fff;font-weight:800;font-size:1.15rem;line-height:1.1}.oa-foot__brand .oa-logo__mark{background:#fff;color:var(--oa-blue)}
.oa-foot a{color:#e7ecfb;text-decoration:none;transition:color .15s}.oa-foot a:hover{color:#fff;text-decoration:underline;text-underline-offset:2px}
footer.oa-foot .oa-foot__in a{display:inline-flex;align-items:center;min-height:44px;box-sizing:border-box}.oa-foot__in p a{display:inline-block;padding:.45rem 0}
.oa-foot__in>div>a{display:flex}
.oa-foot__legal{border-top:1px solid rgba(255,255,255,.14);max-width:1180px;margin:0 auto;padding:1rem 1.1rem;display:flex;flex-wrap:wrap;gap:.2rem 1.4rem;align-items:center;font-size:.82rem;color:#aab6d9}.oa-foot__legal a{display:inline-block;padding:.6rem 0;min-height:44px;box-sizing:border-box;color:#c9d3ee}
.oa-foot__legal span{margin-right:auto}
.oa-totop{position:fixed;right:1rem;bottom:1rem;width:44px;height:44px;border-radius:12px;border:0;background:var(--oa-blue);color:#fff;cursor:pointer;box-shadow:var(--oa-shadow-2);z-index:55;display:inline-flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity .25s,transform .25s;transform:translateY(8px)}.oa-totop.is-on{opacity:1;pointer-events:auto;transform:none}.oa-totop:hover{background:var(--oa-blue-2)}@media(max-width:700px){body.oa-has-sticky .oa-totop{bottom:4.6rem}}

/* ---------- focus, impression ---------- */
#oa-main a:focus-visible,#oa-main button:focus-visible,#oa-main input:focus-visible,#oa-main select:focus-visible,#oa-main textarea:focus-visible,#oa-main summary:focus-visible,.oa-head a:focus-visible,.oa-head button:focus-visible,.oa-foot a:focus-visible,#header-topbar a:focus-visible,#header-topbar button:focus-visible,.ame-niveau-list a:focus-visible,.oa-totop:focus-visible{outline:3px solid var(--oa-focus);outline-offset:2px}
@media print{.oa-head,.oa-foot,.oa-nav,.oa-search,.ame-niveau-bar,#header-container,.oa-sticky-cta,.oa-fav,.oa-totop{display:none!important}.oa-hero{background:none;color:#000}#oa-main{background:#fff}}

/* ---------- animation (uniquement sans preference de mouvement reduit) ---------- */
@media (prefers-reduced-motion:no-preference){
html.oa-js .oa-reveal{opacity:0;translate:0 18px;transition:opacity var(--oa-dur) var(--oa-ease),translate var(--oa-dur) var(--oa-ease),scale var(--oa-dur) var(--oa-ease)}
html.oa-js .oa-reveal--left{translate:-24px 0}html.oa-js .oa-reveal--right{translate:24px 0}html.oa-js .oa-reveal--scale{translate:0 0;scale:.94}
html.oa-js .oa-reveal.is-in{opacity:1;translate:0 0;scale:1}
html.oa-js .oa-reveal-stagger>*{opacity:0;translate:0 16px;transition:opacity var(--oa-dur) var(--oa-ease),translate var(--oa-dur) var(--oa-ease)}
html.oa-js .oa-reveal-stagger.is-in>*{opacity:1;translate:0 0}
.oa-reveal-stagger>:nth-child(2){transition-delay:.06s}.oa-reveal-stagger>:nth-child(3){transition-delay:.12s}.oa-reveal-stagger>:nth-child(4){transition-delay:.18s}.oa-reveal-stagger>:nth-child(5){transition-delay:.24s}.oa-reveal-stagger>:nth-child(6){transition-delay:.3s}.oa-reveal-stagger>:nth-child(7){transition-delay:.36s}.oa-reveal-stagger>:nth-child(8){transition-delay:.42s}.oa-reveal-stagger>:nth-child(9){transition-delay:.48s}.oa-reveal-stagger>:nth-child(10){transition-delay:.54s}.oa-reveal-stagger>:nth-child(11){transition-delay:.6s}.oa-reveal-stagger>:nth-child(n+12){transition-delay:.66s}
html{scroll-behavior:smooth}.oa-faq details[open]>*:not(summary),.oa-details[open]>*:not(summary){animation:oa-fade .35s var(--oa-ease)}
html.oa-js .oa-hero__figure{translate:0 12px;scale:.97;animation:oa-in-soft .7s var(--oa-ease) .05s forwards}
html.oa-js .oa-hero .oa-hero__badge{animation:oa-fade .5s var(--oa-ease) both}
@keyframes oa-in{to{opacity:1;translate:0 0;scale:1}}@keyframes oa-in-soft{to{translate:0 0;scale:1}}@keyframes oa-fade{from{opacity:0}to{opacity:1}}
.oa-pulse{position:relative}.oa-pulse::after{content:"";position:absolute;inset:-4px;border-radius:inherit;border:2px solid var(--oa-orange);animation:oa-pulse 1.8s ease-out infinite;pointer-events:none}@keyframes oa-pulse{0%{opacity:.8;transform:scale(1)}100%{opacity:0;transform:scale(1.25)}}
.oa-quiz__q{animation:oa-fade .35s var(--oa-ease)}
}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.001s!important;animation-iteration-count:1!important;transition-duration:.001s!important;scroll-behavior:auto!important}}

.oa-aside__box--cta h3,#oa-main .oa-aside__box--cta h3{color:#fff}.oa-aside__box--cta h3::before{background:var(--oa-orange)}
.oa-form label{display:block;text-align:left;font-weight:600;font-size:.92rem;color:var(--oa-ink);line-height:1.4}.oa-form label>input:not([type=checkbox]):not([type=radio]),.oa-form label>select,.oa-form label>textarea{display:block;width:100%;margin-top:.3rem;font-weight:400}.oa-form .oa-check{display:block;position:relative;padding-left:2.4rem;font-weight:400;line-height:1.45}.oa-form .oa-check>input{position:absolute;left:0;top:.2rem;width:24px;height:24px;min-width:24px;min-height:0;margin:0;padding:0;flex:none;border:0;box-shadow:none;background:transparent}.oa-form .oa-check a{display:inline}

/* residus 03/09 : barre PE mobile, recherche, niveaux, pastilles guides */
.oa-foot__legal-src{flex-basis:100%;width:100%;order:9;margin:.6rem 0 0;font-size:.78rem;line-height:1.5;opacity:.85}
.oa-card--guide{justify-content:flex-start}.oa-card--guide>.oa-card__meta{flex:0 0 auto;margin:0 0 .4rem}.oa-card--guide>h3{flex:0 0 auto}.oa-card--guide>p{flex:0 0 auto}
.oa-foot__in>div:not(.oa-foot__about)>a{display:flex;width:100%}
.oa-source a{text-decoration:underline;text-underline-offset:.15em}
#oa-main .oa-source a,#oa-main .oa-prose a{text-decoration:underline;text-underline-offset:.15em}

/* lien Mon compte (espace compte, chantier E) : pilule dans la barre haute, icone seule sous 980 px */
.oa-head__compte{display:inline-flex;align-items:center;gap:.4rem;min-height:44px;padding:.45rem 1rem;border:1px solid var(--oa-line);border-radius:999px;font-weight:600;color:var(--oa-ink);text-decoration:none;white-space:nowrap;background:var(--oa-bg);transition:border-color .2s,box-shadow .2s}
.oa-head__compte:hover,.oa-head__compte:focus-visible{border-color:var(--oa-blue);box-shadow:0 0 0 3px rgba(31,79,168,.15)}
@media(max-width:980px){.oa-head__bar .oa-search{width:auto}.oa-head__compte{order:4;padding:.45rem .6rem;min-width:44px;justify-content:center}.oa-head__compte span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}}

/* cibles tactiles : fil d'Ariane 44 px, texte du pied de page >= 12 px (audit 34 du 03/09 22:50) */
.oa-bc a{display:inline-block;padding:.55rem 0;min-height:44px;box-sizing:border-box}
.oa-foot__brand small{font-size:.8rem}

/* ==== bandeau Pass Éducation (04/09) : logo image, liens simples, sans Foundation ==== */
.pe-top{background:#fff;border-bottom:1px solid var(--oa-line)}
.pe-top__in{max-width:1180px;margin:0 auto;padding:.4rem 1.1rem;display:flex;align-items:center;gap:1rem;min-height:56px}
.pe-top__logo{display:inline-flex;align-items:center;flex:0 0 auto;line-height:0;text-decoration:none}
.pe-top__logo img{display:block;width:151px;height:50px}
.pe-top__links{margin-left:auto;display:flex;align-items:center;gap:.2rem;flex-wrap:nowrap}
.pe-top__links a{display:inline-flex;align-items:center;min-height:40px;padding:.4rem .8rem;border-radius:8px;font-weight:600;font-size:.9rem;text-decoration:none;color:var(--oa-ink);white-space:nowrap;transition:background .15s,color .15s}
.pe-top__links a:hover,.pe-top__links a:focus-visible{background:#f0f3fa;color:var(--oa-blue)}
.pe-top__links a.pe-top__btn{background:#4bae4f;color:#fff;margin-left:.4rem}
.pe-top__links a.pe-top__btn:hover,.pe-top__links a.pe-top__btn:focus-visible{background:#3d9a41;color:#fff}
@media(max-width:980px){.pe-top__in{padding:.3rem .9rem;min-height:50px;gap:.6rem}.pe-top__logo img{width:121px;height:40px}.pe-top__links a.pe-top__link{display:none}.pe-top__links a.pe-top__btn{font-size:.85rem;padding:.4rem .7rem;margin:0}}
/* Barre des niveaux, calquée sur la segmentation Pass Éducation : les 15 classes restent visibles,
   avec un repère de cycle avant chaque groupe. Le libellé disparait sur mobile pour conserver
   une rangée défilante compacte sans supprimer aucun niveau. */
.ame-niveau-list{max-width:1180px;margin:0 auto;padding:0 1.1rem;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}
.ame-niveau-list::-webkit-scrollbar{display:none}
.ame-niv--first{position:relative;margin-left:.8rem!important;padding-left:.35rem!important}.ame-niv--first:first-child{margin-left:0!important;padding-left:0!important}.ame-niv--first::before{content:attr(data-cycle);display:block;font-size:.66rem;font-weight:800;letter-spacing:.035em;text-transform:uppercase;color:var(--oa-muted);line-height:1;margin:0 .28rem 0 0}.ame-niv--first>a{margin-left:.1rem}
@media(max-width:980px){.ame-niveau-list{padding:0 .9rem;justify-content:flex-start}.ame-niv--first{margin-left:.25rem!important;padding-left:0!important}.ame-niv--first::before{display:none}.ame-niv--first>a{margin-left:0}}
/* header du hub : ligne 1 = logo, recherche, compte ; ligne 2 = navigation alignée à gauche */
.oa-head__bar{flex-wrap:wrap;row-gap:.5rem}
.oa-head__compte{margin-left:auto}
.oa-nav{margin-left:0;width:100%;justify-content:flex-start;padding-top:.15rem;border-top:1px solid var(--oa-line)}
.oa-nav__pistes{margin-left:auto}
@media(max-width:980px){.oa-head__bar .oa-search{width:auto;flex:1}.oa-head__compte{margin-left:0;order:4}.oa-nav{border-top:0;padding-top:0}.oa-nav__pistes{margin-left:0}}

.oa-card__pic{display:block;margin:-1.1rem -1.2rem .45rem;border-radius:var(--oa-radius) var(--oa-radius) 0 0;aspect-ratio:3/2;overflow:hidden;background:#eef1f7;border-bottom:1px solid var(--oa-line)}.oa-card__img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .35s}.oa-card--photo:hover .oa-card__img{transform:scale(1.03)}@media(prefers-reduced-motion:reduce){.oa-card__img{transition:none}.oa-card--photo:hover .oa-card__img{transform:none}}
.oa-source a{display:inline-block;padding:.6rem 0;min-height:44px;box-sizing:border-box}

/* --- 04/09 : densite mobile. Les 8 cartes piliers tombaient a 1 colonne sous 420 px
   (.oa-grid--4 declaree APRES .oa-grid--piliers) : 8 ecrans de scroll pour 8 liens. --- */
@media(max-width:420px){
  .oa-grid--piliers{grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem}
  .oa-grid--piliers .oa-card{padding:.9rem .85rem}
  .oa-grid--piliers .oa-card__ico{width:34px;height:34px;font-size:1.2rem;margin-bottom:.45rem}
  .oa-grid--piliers .oa-card__ico svg{width:19px;height:19px}
  .oa-grid--piliers .oa-card h3{font-size:1rem;margin:.1rem 0 .3rem}
  .oa-grid--piliers .oa-card p{font-size:.82rem;line-height:1.35;margin:0}
}
@media(max-width:700px){.oa-totop{width:40px;height:40px;right:.7rem}.oa-totop svg{width:18px;height:18px}}
/* CTA sticky mobile (85 px) : sans reserve, il masquait le bas du pied de page en fin de scroll. */
@media(max-width:700px){body.oa-has-sticky .oa-foot{padding-bottom:calc(5.6rem + env(safe-area-inset-bottom))}}
/* Cibles tactiles : un lien seul dans un <li> de fiche faisait 20 px de haut sur mobile (audit 34,
   iPhone 14 et Android 360). On l'aere sans toucher aux liens inline d'un paragraphe. */
@media(max-width:700px){
  .oa-fiche__main>ul>li,.oa-fiche__main>ol>li{margin:.55rem 0}
  .oa-fiche__main>ul>li>a:only-child,.oa-fiche__main>ol>li>a:only-child{display:inline-block;padding:.7rem 0;line-height:1.35}
}

/* Correctifs mobile 05/09 : audit Playwright 390x844 et 360x780.
   - .oa-list-cols (index des villes, des departements, des etablissements) : la cible faisait
     74 x 39 px, sous les 44 px recommandes. Le min-height ne change rien en colonnes multiples
     (desktop), il n'allonge que la liste d'une ligne mobile.
   - .oa-source : les credits photo etaient rendus a 11,5 px, sous le plancher de 12 px. */
.oa-list-cols a{display:inline-flex;align-items:center;min-height:44px;box-sizing:border-box;padding:.5rem 0}
.oa-source,figcaption.oa-source{font-size:12.5px}
@media(min-width:701px){.oa-source,figcaption.oa-source{font-size:.82rem}}

/* Fil d'Ariane mobile : le lien « Outils » mesurait 36 x 44 px, la cible etait trop etroite.
   Le padding horizontal la porte a 44 px sans deplacer les separateurs (gap de .oa-bc ol). */
.oa-bc a{padding-left:.25rem;padding-right:.25rem;margin-left:-.25rem}
.oa-bc li+li a{margin-left:0}

/* Liste de liens de navigation (page 404, renvois de fin de page) : chaque li ne porte QUE son
   lien, la cible tactile est donc le lien lui-meme et non la ligne de texte qui l'entoure.
   Le padding vertical la porte a 44 px, la valeur retenue par WCAG 2.5.8 pour une cible isolee. */
.oa-links{list-style:none;padding:0;margin:1rem 0}
.oa-links li{margin:0}
.oa-links a{display:inline-block;padding:.7rem 0;line-height:1.4}

/* Cibles tactiles mobiles relevees par l'audit Playwright du 05/09 (WCAG 2.5.8) :
   - le credit sous l'image de tete tombait a 11,5 px, sous le plancher de lisibilite ;
   - une case a cocher et son libelle formaient une cible de 37 px de haut ;
   - un lien seul dans son paragraphe ou dans une cellule de tableau n'offrait que 19 a 20 px. */
.oa-check{min-height:44px;display:flex;align-items:center;gap:.5rem}
.oa-fiche__main p>a:only-child,p>a.oa-link:only-child{display:inline-block;padding:.65rem 0;line-height:1.4}
.oa-tbl td>a,table td>a{display:inline-block;padding:.6rem 0;line-height:1.35}

/* Audit mobile du 06/09 : sur /villes/ et /etablissements/, un nom court ("Eu", "Ifs", "Agen")
   donnait une cible de 19 a 20 px de LARGE. La hauteur etait deja traitee (min-height:44px), pas
   la largeur. La regle existait, mais copiee dans page-etablissements.hbs et
   page-etablissements-departement.hbs seulement : page-pilier.hbs, qui rend /villes/, ne l'avait
   pas. Elle vit desormais ici, une seule fois, pour toutes les listes en colonnes. */
.oa-list-cols a,#oa-deps li a,#oa-etabs li a,#oa-villes li a{min-width:2.75rem;justify-content:flex-start}
.oa-list-cols li,#oa-deps li,#oa-etabs li,#oa-villes li{margin:0}
