:root{--encre: #0d2b3a;--encre-2: #12394d;--turquoise: #15707e;--turquoise-fonce: #0f5560;--ambre: #f0a81c;--ambre-texte: #8a5c00;--pale: #eef5f5;--pale-2: #ddebea;--blanc: #ffffff;--gris-texte: #33525f;--bordure: #c8dadb;--rayon: 18px;--rayon-petit: 12px;--ombre: 0 10px 30px rgba(13, 43, 58, .12);--font-display: "Fraunces", "Georgia", serif;--font-ui: "Inter", system-ui, -apple-system, "Segoe UI", sans-serif;--largeur: 1180px}*{box-sizing:border-box}html{scroll-behavior:smooth}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}body{margin:0;font-family:var(--font-ui);background:var(--pale);color:var(--encre);line-height:1.65;font-size:1.05rem}body.sombre{background:var(--encre);color:var(--pale)}img,video,iframe{max-width:100%}a{color:var(--turquoise-fonce)}a:hover{color:var(--encre)}body.sombre a{color:#8fd0da}:focus-visible{outline:3px solid var(--ambre);outline-offset:3px;border-radius:4px}.evitement{position:absolute;left:-9999px;top:0;background:var(--ambre);color:var(--encre);padding:.7rem 1.1rem;font-weight:700;z-index:100}.evitement:focus{left:.5rem;top:.5rem}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.entete{position:sticky;top:0;z-index:50;background:#eef5f5eb;backdrop-filter:blur(10px);border-bottom:1px solid var(--bordure)}body.sombre .entete{background:#0d2b3aeb;border-color:var(--encre-2)}.entete-in{max-width:var(--largeur);margin:0 auto;display:flex;align-items:center;gap:1.2rem;padding:.7rem 1.1rem;flex-wrap:wrap}.marque{font-family:var(--font-display);font-weight:800;font-size:1.25rem;color:var(--encre);text-decoration:none;letter-spacing:.01em}body.sombre .marque{color:var(--pale)}.marque em{font-style:normal;color:var(--ambre-texte)}body.sombre .marque em{color:var(--ambre)}nav.principale{margin-left:auto}nav.principale ul{display:flex;gap:.3rem;list-style:none;margin:0;padding:0;flex-wrap:wrap}nav.principale a{display:block;padding:.45rem .8rem;border-radius:999px;color:var(--encre);text-decoration:none;font-weight:600;font-size:.98rem}body.sombre nav.principale a{color:var(--pale)}nav.principale a:hover{background:var(--pale-2);color:var(--encre)}body.sombre nav.principale a:hover{background:var(--encre-2);color:var(--pale)}nav.principale a[aria-current=page]{background:var(--encre);color:var(--pale)}body.sombre nav.principale a[aria-current=page]{background:var(--ambre);color:var(--encre)}main{display:block}.conteneur{max-width:var(--largeur);margin:0 auto;padding:0 1.1rem}section.bloc{padding:3.2rem 0 1rem}h1,h2,h3{font-family:var(--font-display);line-height:1.15;color:var(--encre)}body.sombre h1,body.sombre h2,body.sombre h3{color:var(--pale)}h1{font-size:clamp(2.2rem,6vw,4rem);margin:.4em 0 .35em}h2{font-size:clamp(1.6rem,3.6vw,2.4rem);margin:.6em 0 .4em}h3{font-size:1.3rem;margin:.4em 0 .3em}.kicker{text-transform:uppercase;letter-spacing:.14em;font-size:.82rem;font-weight:700;color:var(--ambre-texte);margin:0}body.sombre .kicker{color:var(--ambre)}.lede{font-size:1.18rem;color:var(--gris-texte);max-width:62ch}body.sombre .lede{color:#c3d8dc}.bento{display:grid;gap:1rem;grid-template-columns:repeat(4,1fr);padding:1.4rem 0 3rem}.carte{background:var(--blanc);border:1px solid var(--bordure);border-radius:var(--rayon);padding:1.4rem;box-shadow:var(--ombre);display:flex;flex-direction:column;gap:.5rem}.carte.sombre{background:var(--encre);color:var(--pale);border-color:var(--encre)}.carte.sombre h3,.carte.sombre h2{color:var(--pale)}.carte.sombre a{color:#8fd0da}.carte .lien{margin-top:auto;font-weight:700;text-decoration:none}.carte .lien:after{content:" →"}.span2{grid-column:span 2}.span4{grid-column:span 4}.span-row2{grid-row:span 2}@media(max-width:860px){.bento{grid-template-columns:repeat(2,1fr)}.span2,.span4{grid-column:span 2}}@media(max-width:520px){.bento{grid-template-columns:1fr}.span2,.span4{grid-column:span 1}}.hero{padding:3.4rem 0 .6rem}.hero h1{font-size:clamp(3rem,11vw,7.2rem);line-height:.98;margin:.1em 0 .25em;letter-spacing:-.01em}.hero h1 .vague{color:var(--turquoise)}.hero h1 .soleil{color:var(--ambre-texte)}body.sombre .hero h1 .soleil{color:var(--ambre)}.badge{display:inline-block;padding:.22rem .7rem;border-radius:999px;font-size:.82rem;font-weight:700;letter-spacing:.02em;background:var(--pale-2);color:var(--encre)}.badge.preparation{background:#fbe8bd;color:#664500}.badge.phare{background:var(--ambre);color:var(--encre)}.bouton{display:inline-block;background:var(--encre);color:var(--pale);padding:.75rem 1.4rem;border-radius:999px;font-weight:700;text-decoration:none;border:2px solid var(--encre)}.bouton:hover{background:var(--turquoise-fonce);border-color:var(--turquoise-fonce);color:#fff}.bouton.clair{background:transparent;color:var(--encre)}.bouton.clair:hover{background:var(--encre);color:var(--pale)}body.sombre .bouton{background:var(--ambre);border-color:var(--ambre);color:var(--encre)}body.sombre .bouton:hover{background:var(--pale);border-color:var(--pale)}.grille-cartes{display:grid;gap:1rem;padding:1rem 0 2.4rem;grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}.etat-vide{border:2px dashed var(--bordure);border-radius:var(--rayon);padding:2rem;text-align:center;background:#ffffff8c}body.sombre .etat-vide{background:#ffffff0d}.etat-vide .gros{font-family:var(--font-display);font-size:1.5rem;margin:0 0 .3rem}details.accordeon{background:var(--blanc);border:1px solid var(--bordure);border-radius:var(--rayon-petit);margin:.6rem 0;padding:.4rem 1.1rem}details.accordeon summary{cursor:pointer;font-weight:700;padding:.7rem 0;font-size:1.05rem}details.accordeon ul{margin-top:0}.fiche{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem;margin:1.4rem 0}.fiche div{border-top:3px solid var(--ambre);padding-top:.5rem}.fiche dt{font-size:.8rem;text-transform:uppercase;letter-spacing:.1em;opacity:.75}.fiche dd{margin:.2rem 0 0;font-weight:700;font-size:1.1rem;font-family:var(--font-display)}.facade{position:relative;border-radius:var(--rayon);overflow:hidden;aspect-ratio:16 / 9;background:#061a24;border:1px solid var(--encre-2)}.facade img.affiche{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.9}.facade .voile{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.8rem;text-align:center;background:linear-gradient(180deg,#061a2426,#061a24bf);color:var(--pale);padding:1rem}.bouton-lecture{width:84px;height:84px;border-radius:50%;border:none;cursor:pointer;background:var(--ambre);color:var(--encre);font-size:2rem;line-height:1;display:grid;place-items:center;box-shadow:0 12px 32px #00000073}.bouton-lecture:hover{background:var(--pale)}.facade video{position:absolute;inset:0;width:100%;height:100%}.ariane{font-size:.92rem;padding-top:1.4rem}.ariane a{text-decoration:none;font-weight:600}.nav-semestres{display:flex;justify-content:space-between;gap:1rem;padding:1.6rem 0 2.6rem;flex-wrap:wrap}.recherche-boite{display:flex;gap:.6rem;flex-wrap:wrap;margin:1.2rem 0}.recherche-boite input[type=search],.recherche-boite select{font:inherit;padding:.7rem 1rem;border-radius:var(--rayon-petit);border:2px solid var(--bordure);background:var(--blanc);color:var(--encre)}.recherche-boite input[type=search]{flex:1 1 260px}.resultat{background:var(--blanc);border:1px solid var(--bordure);border-radius:var(--rayon-petit);padding:1rem 1.2rem;margin:.7rem 0}.resultat h3{margin:0 0 .2rem;font-size:1.1rem}.resultat p{margin:.2rem 0;color:var(--gris-texte)}footer.pied{margin-top:3rem;background:var(--encre);color:var(--pale);padding:2.6rem 0 2rem}body.sombre footer.pied{border-top:1px solid var(--encre-2)}.pied .geant{font-family:var(--font-display);font-weight:800;font-size:clamp(2.6rem,9vw,5.4rem);line-height:1;margin:0 0 1rem;color:var(--pale)}.pied a{color:#8fd0da}.pied nav ul{display:flex;gap:1.1rem;flex-wrap:wrap;list-style:none;padding:0;margin:0 0 1.2rem}.pied nav a{text-decoration:none;font-weight:600}.pied .credits{font-weight:600}.pied .mention{opacity:.85;font-size:.95rem;max-width:70ch}@supports (animation-timeline: view()){@media(prefers-reduced-motion:no-preference){.reveal{animation:apparition linear both;animation-timeline:view();animation-range:entry 0% entry 55%}@keyframes apparition{0%{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}
