/* French International Scientific School : l'identité du logo, un globe et ses trois anneaux (bleu, rouge, blanc) sur la nuit.
   Marine profond, bleu des anneaux, rouge en accent, beaucoup de blanc. Une école internationale, nette et rigoureuse.
   Surcharge le moteur commun (sites/_moteur/site.css). */
:root{
  --ink:#0b1f45; --soft:#4a5671; --label:#c8202f; --paper:#ffffff;
  --nuit:#07142e; --marine:#0b1f45; --bleu:#1f5fbf; --bleu-c:#4f8fe8; --rouge:#d7262e; --argent:#c9d1de;
  --sand:#eef2f8; --sand-2:#d5dceb; --cream:#f6f8fc; --line:#e2e7f0;
  --display:"Libre Caslon Text",Georgia,serif; --body:"Public Sans",system-ui,-apple-system,"Segoe UI",sans-serif;
  --r:10px;
}
body{background:var(--paper);color:var(--ink);font:17px/1.7 var(--body)}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid var(--bleu-c);outline-offset:3px}

/* Bandeau Eco-School, en-tête et menu */
.util{background:var(--nuit);color:#dfe7f5}
.util .wrap{justify-content:center}
.util a{border-bottom-color:rgba(223,231,245,.45)}
header{border-bottom:1px solid var(--line)}
header::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:3px;background:linear-gradient(90deg,var(--bleu) 0 33.3%,var(--argent) 33.3% 66.6%,var(--rouge) 66.6%)}
.brand{flex-shrink:0}
.brand img{height:62px;width:auto;border-radius:50%}
.menu a{color:var(--soft);font-weight:500}
.menu a:hover{color:var(--ink)}
.menu a[aria-current="page"]{color:var(--ink);border-bottom:2px solid var(--rouge)}
.menu a.btn{color:#fff;border:0}
@media (min-width:1061px) and (max-width:1200px){.brand img{height:52px}.menu a{padding:8px 6px;font-size:14px}.menu a.btn{padding:12px 14px}}

/* Titres */
h1,h2,h3{font-family:var(--display);font-weight:400;color:var(--ink);letter-spacing:-.01em}
h1{line-height:1.12}
h3{font-size:23px}
.lead,.soft{color:var(--soft)}
.kicker{color:var(--label);letter-spacing:.18em}
.kicker::before{width:22px;height:2px;background:currentColor}

/* Boutons */
.btn{border:1px solid var(--rouge);background:var(--rouge);color:#fff;border-radius:6px;font-weight:600}
.btn:hover{background:#b81c26;border-color:#b81c26;color:#fff}
.btn.line{background:transparent;color:var(--ink);border-color:var(--ink)}
.btn.line:hover{background:var(--ink);color:#fff}

/* Accueil : la nuit et le globe en orbite */
.hero{background:radial-gradient(ellipse at 75% 40%,#163a7a 0,var(--nuit) 62%);color:#fff;position:relative;overflow:hidden}
.hero h1,.hero .facts b{color:#fff}
.hero .lead,.hero .facts span{color:#c6d2e8}
.hero .kicker{color:#ff8a90}
.hero .facts{border-top-color:rgba(255,255,255,.18)}
.hero .facts b{font-size:28px}
.hero .btn.line{color:#fff;border-color:rgba(255,255,255,.7)}
.hero .btn.line:hover{background:#fff;color:var(--ink)}
.hero-grid .panel.est-logo{background:transparent;border:0;aspect-ratio:1;position:relative;overflow:visible}
.hero-grid .panel.est-logo img{padding:0;border-radius:50%;box-shadow:0 0 90px 10px rgba(79,143,232,.35);position:relative;z-index:1}
.hero-grid .panel.est-logo::before,.hero-grid .panel.est-logo::after{content:"";position:absolute;inset:-6%;border-radius:50%;border:2px solid rgba(79,143,232,.55);transform:rotate(-24deg) scaleY(.42)}
.hero-grid .panel.est-logo::after{border-color:rgba(215,38,46,.6);transform:rotate(28deg) scaleY(.36)}
.hero-grid .panel.has-photo:not(.est-logo){border:0;border-radius:var(--r);box-shadow:0 30px 60px -30px rgba(0,0,0,.7)}
@media (prefers-reduced-motion:no-preference){.hero-grid .panel.est-logo::before{animation:orbite 22s linear infinite}.hero-grid .panel.est-logo::after{animation:orbite2 30s linear infinite}}
@keyframes orbite{to{transform:rotate(336deg) scaleY(.42)}}
@keyframes orbite2{to{transform:rotate(388deg) scaleY(.36)}}

/* Cartes et listes */
.panel{background:var(--sand);border:1px solid var(--line);border-radius:var(--r)}
.box{border:1px solid var(--line);border-radius:var(--r);background:#fff}
.cards-photos .box{border-top:3px solid var(--bleu)}
.cards-photos .box:nth-child(3n+2){border-top-color:var(--rouge)}.cards-photos .box:nth-child(3n){border-top-color:var(--marine)}
.box a.more{color:var(--bleu)}
.facts-i{border-top:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px}
.facts-i li,.facts-i li.avec-icone{display:grid;grid-template-columns:1fr;gap:8px;align-content:start;border:1px solid var(--line);border-radius:var(--r);padding:22px;background:var(--cream)}
.facts-i li .soft{grid-column:auto}
.facts-i b{font:400 21px/1.3 var(--display);color:var(--ink)}
.icone{width:46px;height:46px;border:0;background:var(--marine);color:#fff}
.facts-i li:nth-child(3n+2) .icone{background:var(--rouge)}.facts-i li:nth-child(3n) .icone{background:var(--bleu)}
.rows{border-top:2px solid var(--ink)}
.rows li h3{font-size:22px}
.notes div{border-top:2px solid var(--bleu);color:var(--soft)}
.notes div:nth-child(2n){border-top-color:var(--rouge)}
.notes b{font-family:var(--display);font-weight:400;color:var(--ink);font-size:21px}
.curs div{border-color:var(--line)!important}
.tools a{border-radius:var(--r);border-left:3px solid var(--bleu)}
.tools a:hover{border-color:var(--ink)}
.tools .go{color:var(--rouge)}

/* En-têtes de pages : un trait des trois anneaux */
.phead{background:var(--cream);position:relative}
.phead::after{content:"";position:absolute;left:0;bottom:-1px;width:180px;height:3px;background:linear-gradient(90deg,var(--bleu) 0 33.3%,var(--argent) 33.3% 66.6%,var(--rouge) 66.6%)}
.subnav{gap:6px 22px}
.subnav a{border:0;padding:4px 0;background:none;color:var(--ink);text-decoration:underline;text-decoration-color:var(--rouge);text-decoration-thickness:2px;text-underline-offset:5px}
.subnav a:hover{color:var(--rouge)}
section[id]{scroll-margin-top:110px}

/* Admissions, inscriptions, bandeau d'appel */
.signup{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}
.sign{border:1px solid var(--line);border-top:4px solid var(--marine);border-radius:var(--r);background:#fff}
.signup .sign:nth-child(3n+2){border-top-color:var(--rouge)}.signup .sign:nth-child(3n){border-top-color:var(--bleu)}
.sign .lvl{color:var(--ink)}
.band,.band .inner{background:var(--marine)}
.band .inner{border-radius:var(--r)}
.band h2{color:#fff}
.band .btn{background:#fff;color:var(--ink);border-color:#fff}
.band .btn:hover{background:var(--rouge);color:#fff;border-color:var(--rouge)}
.news{border-top-color:var(--ink)}
.news .when{color:var(--rouge)}
.select{border-radius:var(--r);overflow:hidden}

/* Tableaux */
.tw{border:1px solid var(--line);border-radius:var(--r);background:#fff}
th{background:var(--marine);color:#fff;font-weight:600}
td,th{border-color:var(--line)!important}
td.lv{font-family:var(--display);font-weight:400;color:var(--ink)}
.annees-onglets button[aria-selected="true"]{background:var(--marine);border-color:var(--marine)}

/* Partenaires, qualifications, contact */
.qualif{border-radius:var(--r);border-top:3px solid var(--bleu)}
.qualif:nth-child(3n+2){border-top-color:var(--rouge)}.qualif:nth-child(3n){border-top-color:var(--marine)}
.cgrid div{border-top-color:var(--ink)}
input,textarea,select{border-radius:6px}
.integree{border-radius:var(--r);border-top:3px solid var(--marine)}
input:focus,textarea:focus{border-color:var(--bleu)}

/* Pied de page : la nuit */
footer{background:var(--nuit);color:#c6d2e8;border-top:0}
footer h4{color:#ff8a90}
footer a{color:#dfe7f5}
footer a:hover{color:#fff}
footer .brand-nom{color:#fff}
.flogos img{height:96px;border-radius:50%}
footer .fbas,footer .legal{border-top-color:rgba(255,255,255,.14)!important;color:#9fb0cf}

@media (max-width:640px){.hero-grid .panel.est-logo{width:min(260px,72%);margin:8px auto 0}.facts{grid-template-columns:1fr 1fr}}
@media (max-width:480px){.btn{width:100%;justify-content:center}.ctas{display:grid}}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
