/* Palette provisoire bleu et blanc, à caler sur le logo KSS. Mise en page : texte à gauche, piste d'athlétisme en motif. */
/* Palette tirée du logo KSS : bleu #2C68AE, bleu clair #6A99CD, dégradé du clair au foncé. */
:root{
  --ink:#0F2748; --ink-2:#47607F; --teal:#2C68AE; --teal-d:#1F5290;
  --mist:#EAF1F9; --paper:#FFFFFF; --line:#CDDBEE; --coral:#6A99CD;
  --f-display:"Bricolage Grotesque","Trebuchet MS",sans-serif;
  --f-body:"Figtree","Segoe UI",system-ui,sans-serif;
  color-scheme:light;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font:400 1.0625rem/1.65 var(--f-body)}
h1,h2,h3{font-family:var(--f-display);line-height:1.12;letter-spacing:-.01em;text-wrap:balance;margin:0 0 .6em}
h1{font-size:clamp(2.2rem,6vw,3.6rem);font-weight:700}
h2{font-size:clamp(1.6rem,3.6vw,2.2rem);font-weight:650}
h3{font-size:1.2rem;font-weight:650}
p{margin:0 0 1em;max-width:65ch}
a{color:var(--teal-d)}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--teal-d);outline-offset:3px;border-radius:4px}
.wrap{width:min(1120px,100% - 32px);margin-inline:auto}
section{padding:clamp(40px,7vw,84px) 0}
.tint{background:var(--mist)}

header.top{position:sticky;top:0;z-index:5;background:rgba(250,252,251,.94);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 20px;padding:12px 0}
.brand{font:700 1.15rem var(--f-display);color:var(--ink);text-decoration:none;display:flex;align-items:center;gap:10px}
.brand img{display:block;height:34px;width:auto}
.three{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:0 40px}
.three>a{display:block;text-decoration:none;color:inherit;border-top:4px solid var(--teal);padding:18px 0}
.three h3{margin-bottom:.3em}.three p{color:var(--ink-2);margin:0}
.three>a:hover h3{color:var(--teal-d);text-decoration:underline}
.steps{counter-reset:s;list-style:none;padding:0;margin:0;display:grid;gap:18px;max-width:65ch}
.steps li{counter-increment:s;padding-left:54px;position:relative}
.steps li::before{content:counter(s);position:absolute;left:0;top:0;width:38px;height:38px;border-radius:50%;background:var(--teal);color:#fff;display:grid;place-items:center;font:700 1.1rem var(--f-display)}
.steps b{font-family:var(--f-display);display:block}
nav ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:4px 18px}
nav a{color:var(--ink-2);text-decoration:none;font-weight:500;padding:6px 0;border-bottom:2px solid transparent}
nav a:hover,nav a[aria-current="page"]{color:var(--ink);border-color:var(--teal)}

.btn{display:inline-block;background:var(--teal);color:#fff;text-decoration:none;font-weight:600;padding:13px 22px;border-radius:999px;border:2px solid var(--teal)}
.btn:hover{background:var(--teal-d);border-color:var(--teal-d)}
.btn.ghost{background:transparent;color:var(--teal-d)}
.btn.ghost:hover{background:var(--mist)}
.actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:8px}

.hero{display:grid;grid-template-columns:1.25fr .75fr;gap:32px;align-items:center}
.hero .lead{font-size:1.2rem;color:var(--ink-2)}
.track{width:100%;max-width:320px;justify-self:center}
.track .l{fill:none;stroke:var(--teal);stroke-width:14}
.track .l.a{stroke:#8FB8F2}
.track .l.hot{stroke:var(--ink)}
.pagehead{padding:clamp(36px,6vw,64px) 0 8px}
.pagehead p{font-size:1.15rem;color:var(--ink-2)}

.services{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:0 48px}
.services li{border-top:1px solid var(--line);padding:18px 0}
.services h3{margin-bottom:.25em}
.services p{margin:0;color:var(--ink-2)}
.services a{text-decoration:none;color:inherit}
.services a:hover h3{color:var(--teal-d);text-decoration:underline}

.split{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:start}
.facts{margin:0;padding:0;list-style:none;border-left:4px solid var(--teal);padding-left:20px;display:grid;gap:14px}
.facts b{display:block;font-family:var(--f-display)}

.team{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:32px}
.person .ph{width:100%;aspect-ratio:16/6;border-radius:14px;background:var(--mist);display:grid;place-items:center;font:700 3rem var(--f-display);color:var(--teal-d);margin-bottom:14px;border:1px solid var(--line)}
.person .role{color:var(--teal-d);font-weight:600;margin:0 0 .5em}
.person ul{padding-left:1.1em;margin:0;color:var(--ink-2)}

details{border-top:1px solid var(--line);padding:14px 0}
details:last-of-type{border-bottom:1px solid var(--line)}
summary{cursor:pointer;font-weight:600;font-family:var(--f-display);font-size:1.1rem}
details p{margin:.7em 0 0;color:var(--ink-2)}

table{border-collapse:collapse;width:100%;max-width:520px}
td,th{text-align:left;padding:9px 0;border-bottom:1px solid var(--line);font-weight:400}
th{font-weight:600}
.cta{background:var(--teal);color:#fff;border-radius:20px;padding:clamp(28px,5vw,52px)}
.cta h2{color:#fff}.cta p{color:#DCE8FB}
.cta .btn{background:#fff;color:var(--ink);border-color:#fff}
.cta .btn.ghost{background:transparent;color:#fff;border-color:#fff}
footer{border-top:1px solid var(--line);padding:32px 0 44px;color:var(--ink-2);font-size:.95rem}
footer .cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:24px}
footer a{color:var(--ink-2)}
footer h2{font-size:1rem;margin-bottom:.4em}
.crumbs{font-size:.92rem;color:var(--ink-2);padding-top:18px}
.crumbs a{color:var(--ink-2)}
.note{background:var(--mist);border-radius:12px;padding:14px 18px;color:var(--ink-2);max-width:65ch}

@media(max-width:760px){
  .hero,.split,.services{grid-template-columns:1fr}
  .track{max-width:200px;order:-1;justify-self:start}
  nav ul{gap:2px 14px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

.band{background:linear-gradient(100deg,#3E76B8 0%,#2C68AE 55%,#245A9C 100%);color:#fff}
.band h1,.band .lead{color:#fff}
.band .lead{opacity:.95}
.band .btn{background:#fff;color:var(--teal-d);border-color:#fff}
.band .btn:hover{background:var(--mist);border-color:var(--mist)}
.band .btn.ghost{background:transparent;color:#fff}
.band .btn.ghost:hover{background:rgba(255,255,255,.14)}
.band a:focus-visible,footer a:focus-visible{outline-color:#fff}
.hero-logo{width:100%;max-width:440px;justify-self:center;height:auto}
footer{background:var(--teal-d);color:#DCE8FA;border:0}
footer a{color:#fff}
footer h2{color:#fff}
footer .flogo{width:200px;max-width:100%;height:auto;margin-bottom:14px}
@media(max-width:760px){.hero-logo{max-width:260px;order:-1;justify-self:start}.brand img{height:28px}}

.who{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px}
.who .p{display:flex;gap:16px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:14px;padding:18px}
.who .av{flex:none;width:64px;height:64px;border-radius:50%;object-fit:cover;object-position:center 20%;background:var(--mist);border:2px solid #fff;box-shadow:0 0 0 1px var(--line)}
.who h3{margin:0}.who p{margin:0 0 10px;color:var(--ink-2)}
.btn.sm{padding:8px 16px;font-size:.95rem}
.who-sec{padding:clamp(28px,5vw,48px) 0}
.who-line{margin-top:10px!important;font-weight:600;color:var(--teal-d)!important}
.igl{display:inline-flex;align-items:center;gap:8px}
.ig{flex:none}
footer .igl{color:#fff}
.soon{color:var(--ink-2);margin:0!important}
.btn.sm.ghost{background:transparent;color:var(--teal-d)}
.btn.sm.ghost:hover{background:var(--mist)}
.who .actions{margin-top:0}

.who .form{font-size:.92rem;color:var(--teal-d);font-weight:600;margin:0 0 10px}
.person h4{font:700 .95rem var(--f-display);margin:14px 0 4px;color:var(--ink)}

.person h5{font:700 .9rem var(--f-display);margin:12px 0 4px;color:var(--teal-d)}
.forms{border:0;padding:0;margin-top:14px}
.forms summary{font:600 .98rem var(--f-body);color:var(--teal-d);cursor:pointer}
.forms ul{margin-top:2px;font-size:.95rem}

.ph-img{display:block;width:100%;max-width:340px;height:auto;aspect-ratio:1/1;object-fit:cover;object-position:center top;border-radius:14px;margin-bottom:14px;border:1px solid var(--line)}
.steps+h2,ul+h2,p+h2,ol+h2{margin-top:1.5em}
@media(max-width:760px){
  .bar{justify-content:center;text-align:center}
  .brand{width:100%;justify-content:center}
  nav ul{justify-content:center}
}

.price{background:var(--mist);border-left:6px solid var(--teal);border-radius:12px;padding:20px 24px;max-width:760px}
.price .pr{font:700 1.4rem var(--f-display);margin:0 0 .3em;color:var(--ink)}
.price p{margin:0 0 .6em}.price .btn{margin-top:6px}

.pricetag{display:inline-block;margin-left:8px;font:700 .85rem var(--f-body);background:var(--mist);color:var(--teal-d);border-radius:999px;padding:3px 10px;vertical-align:middle}
