/* NOVAE Corps en Harmonie — formations.novaetransformation.com
   Système visuel repris de novaetransformation.com (Playfair Display + Inter, crème, encre, or). */
:root{
  --ink:#5d3932;--ink-dark:#3f2d29;--gold:#b8912f;--gold-dark:#9d7724;
  --cream:#f7f1e8;--cream-2:#fbf8f2;--paper:#fffdfa;--sand:#f1e7da;
  --line:rgba(93,57,50,.18);--muted:#756c66;--text-soft:#655e59;
  --ok:#4f6f4c;--alert:#8d3d38;
  --radius:18px;--max:1180px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--cream-2);color:var(--ink-dark);font-family:Inter,system-ui,sans-serif;line-height:1.65;font-size:16px}
a{color:inherit}
img,svg{display:block;max-width:100%}
.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}
.skip{position:absolute;left:-999px;top:8px;background:var(--ink);color:#fff;padding:8px 14px;border-radius:999px;z-index:100}
.skip:focus{left:12px}
:focus-visible{outline:2px solid var(--gold);outline-offset:3px}

/* En-tête */
.site-header{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:24px;
  padding:18px clamp(20px,5vw,88px);background:rgba(251,248,242,.92);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.brand{display:flex;align-items:center;gap:14px;text-decoration:none}
.brand img{width:150px;height:auto}
.brand .brand-text{font-family:'Playfair Display',Georgia,serif;font-size:22px;color:var(--ink);letter-spacing:.04em}
.brand small{display:block;font-family:Inter,sans-serif;font-size:10px;letter-spacing:.28em;text-transform:uppercase;color:#a58353}
.nav{display:flex;gap:28px;font-size:12px;text-transform:uppercase;letter-spacing:.15em;color:#6b554c}
.nav a{text-decoration:none;padding:8px 0;border-bottom:1px solid transparent}
.nav a:hover,.nav a[aria-current=page]{border-color:var(--gold)}
.nav-toggle{display:none;border:1px solid var(--line);background:transparent;border-radius:999px;padding:8px 14px;font:500 11px Inter,sans-serif;letter-spacing:.16em;text-transform:uppercase;color:var(--ink);cursor:pointer}

/* Typo */
h1,h2,h3{font-family:'Playfair Display',Georgia,serif;font-weight:500;line-height:1.08;margin-top:0;color:var(--ink)}
h1{font-size:clamp(40px,4.6vw,70px);letter-spacing:-.03em;margin-bottom:22px}
h1 em,h2 em{color:var(--gold-dark);font-weight:500}
h2{font-size:clamp(32px,3.4vw,52px);letter-spacing:-.025em;margin-bottom:20px}
h3{font-size:26px;margin-bottom:12px}
h4{font:600 12px Inter,sans-serif;letter-spacing:.16em;text-transform:uppercase;color:#71584c;margin:26px 0 10px}
.eyebrow{font-size:12px;letter-spacing:.34em;text-transform:uppercase;color:#a58353;font-weight:500;margin:0 0 18px}
.lead{max-width:680px;font-size:clamp(16px,1.2vw,18px);color:var(--text-soft)}
p{margin:0 0 16px}
.muted{color:var(--muted)}
.small{font-size:13px}

/* Mise en page */
.wrap{width:min(var(--max),100% - 40px);margin:0 auto}
.section{padding:clamp(64px,9vw,110px) 0}
.section.paper{background:var(--paper)}
.section.sand{background:linear-gradient(180deg,#f1e7da,#f8f3eb)}
.section.cream{background:var(--cream)}
.center{text-align:center}.center .lead{margin-left:auto;margin-right:auto}
.grid{display:grid;gap:22px}
.g2{grid-template-columns:repeat(2,1fr)}.g3{grid-template-columns:repeat(3,1fr)}.g4{grid-template-columns:repeat(4,1fr)}
.card{padding:30px;border:1px solid var(--line);background:#fbf7f0;border-radius:4px}
.card h3{font-size:24px}
.card .num{font-size:11px;color:var(--gold);letter-spacing:.14em}
.card p:last-child{margin-bottom:0}

/* Héros */
.hero{position:relative;min-height:clamp(560px,72vh,720px);display:flex;align-items:center;overflow:hidden;background:var(--cream)}
.hero-bg{position:absolute;inset:0;background:url('https://novaetransformation.com/assets/img/hero-novae.png') center/cover no-repeat}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(250,247,240,.98) 0%,rgba(250,247,240,.95) 36%,rgba(250,247,240,.62) 52%,rgba(250,247,240,.1) 70%,rgba(250,247,240,0) 100%)}
.hero-content{position:relative;z-index:2;width:min(680px,52vw);margin-left:clamp(20px,5vw,88px);padding:60px 0}
.hero.small-hero{min-height:0;padding:clamp(70px,9vw,120px) 0 clamp(50px,6vw,80px)}
.hero.small-hero .hero-content{width:min(820px,100% - 40px)}

/* Boutons */
.btn{display:inline-flex;align-items:center;gap:10px;border:0;border-radius:999px;background:linear-gradient(135deg,var(--gold),#cba845);color:#fff;
  padding:15px 26px;font:600 11px Inter,sans-serif;letter-spacing:.16em;text-transform:uppercase;cursor:pointer;text-decoration:none;white-space:nowrap}
.btn:hover{filter:brightness(.96)}
.btn.ghost{background:transparent;color:var(--ink);border:1px solid rgba(130,105,80,.35)}
.btn.small{padding:10px 18px}
.actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:8px}

/* Bande promesses */
.promise-strip{display:grid;grid-template-columns:repeat(4,1fr);background:rgba(255,252,247,.97);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.promise-strip article{padding:30px 26px;text-align:center;border-right:1px solid var(--line)}
.promise-strip article:last-child{border-right:0}
.promise-strip span{font-size:11px;color:var(--gold);letter-spacing:.14em}
.promise-strip h3{font:500 13px Inter,sans-serif;letter-spacing:.14em;text-transform:uppercase;color:#71584c;margin:8px 0}
.promise-strip p{margin:0;color:#756d67;font-size:13px}

/* Cycle */
.cycle{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;margin-top:40px;text-align:left}
.cycle article{padding:26px 22px;border:1px solid var(--line);background:#fbf7f0;position:relative}
.cycle article.pivot{background:#f5ead6;border-color:rgba(184,145,47,.55)}
.cycle .letter{font-family:'Playfair Display',Georgia,serif;font-size:54px;line-height:1;color:var(--gold-dark)}
.cycle h3{font-size:20px;margin:10px 0 8px}
.cycle p{font-size:14px;color:#6f6660;margin:0}
.socle{margin-top:14px;padding:18px 22px;border:1px dashed rgba(184,145,47,.6);text-align:center;font-size:14px;color:#6f6660}

/* Tableaux */
.table-wrap{overflow-x:auto;border:1px solid var(--line);background:var(--paper)}
table{border-collapse:collapse;width:100%;font-size:14px}
th,td{padding:14px 16px;text-align:left;vertical-align:top;border-bottom:1px solid var(--line)}
th{font:600 11px Inter,sans-serif;letter-spacing:.14em;text-transform:uppercase;color:#71584c;background:#f8f1e6}
tr:last-child td{border-bottom:0}
td strong{color:var(--ink)}

/* Listes */
.check{list-style:none;padding:0;margin:0}
.check li{position:relative;padding-left:26px;margin-bottom:10px}
.check li::before{content:"";position:absolute;left:4px;top:10px;width:8px;height:8px;border-radius:50%;background:var(--gold)}
.quote{font-family:'Playfair Display',Georgia,serif;font-style:italic;font-size:20px;color:var(--ink);border-left:2px solid var(--gold);padding:4px 0 4px 18px;margin:18px 0}
.callout{padding:18px 22px;border-left:3px solid var(--gold);background:#f8f1e6;margin:20px 0}
.callout.warn{border-color:var(--alert);background:#f6ebe8}

/* Formulaire */
.subscribe{display:flex;max-width:620px;border:1px solid rgba(130,105,80,.25);border-radius:999px;background:rgba(255,255,255,.86);padding:5px;box-shadow:0 12px 30px rgba(83,58,38,.08)}
.subscribe input[type=email]{flex:1;min-width:0;border:0;background:transparent;padding:15px 18px;font:inherit;color:#3f332e;outline:none}
.form-note{font-size:12px;color:#8a817b;margin:10px 10px 0}
.hp{position:absolute!important;left:-10000px!important;opacity:0!important;height:1px!important;width:1px!important}

/* Académie */
.academy{display:grid;grid-template-columns:280px 1fr;gap:0;min-height:calc(100vh - 80px)}
.sidebar{border-right:1px solid var(--line);background:var(--paper);padding:28px 22px;position:sticky;top:73px;height:calc(100vh - 73px);overflow:auto}
.sidebar h4{margin-top:22px}
.sidebar h4:first-child{margin-top:0}
.sidebar a{display:flex;justify-content:space-between;gap:8px;text-decoration:none;font-size:13.5px;padding:6px 8px;border-radius:6px;color:var(--ink-dark)}
.sidebar a:hover{background:#f6eee2}
.sidebar a[aria-current=page]{background:#f1e4cf;color:var(--ink)}
.sidebar a .done{color:var(--ok);font-size:12px;visibility:hidden}
.sidebar a.is-done .done{visibility:visible}
.content{padding:clamp(28px,4vw,64px);max-width:920px}
.module-meta{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:26px}
.tag{display:inline-block;font:500 11px Inter,sans-serif;letter-spacing:.14em;text-transform:uppercase;color:#71584c;border:1px solid var(--line);border-radius:999px;padding:6px 12px;background:#fbf7f0}
.tag.gold{border-color:rgba(184,145,47,.5);color:var(--gold-dark)}
.progress{height:8px;border-radius:999px;background:#eadfcf;overflow:hidden}
.progress span{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--gold),#cba845);transition:width .4s}
.pager{display:flex;justify-content:space-between;gap:16px;margin-top:48px;padding-top:24px;border-top:1px solid var(--line)}
.pager a{text-decoration:none;font-size:14px;color:var(--ink)}
.done-box{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-top:34px;padding:20px 22px;border:1px solid var(--line);background:#fbf7f0}

/* Quiz */
.quiz{margin-top:14px}
.q{padding:20px 22px;border:1px solid var(--line);background:var(--paper);margin-bottom:14px}
.q p.qt{font-weight:500;color:var(--ink);margin-bottom:12px}
.q label{display:flex;gap:10px;align-items:flex-start;padding:8px 10px;border-radius:8px;cursor:pointer}
.q label:hover{background:#f8f1e6}
.q input{margin-top:5px;accent-color:var(--gold-dark)}
.q .fb{display:none;margin-top:10px;font-size:14px;padding:10px 12px;border-radius:8px}
.q.answered .fb{display:block}
.q.right .fb{background:#e9f0e6;color:var(--ok)}
.q.wrong .fb{background:#f6ebe8;color:var(--alert)}

/* Exercices illustrés */
.exo{display:grid;grid-template-columns:1fr 1fr 1.3fr;gap:18px;align-items:center;padding:22px;border:1px solid var(--line);background:var(--paper);margin-bottom:16px;break-inside:avoid}
.exo figure{margin:0;background:#fbf7f0;border:1px solid var(--line);padding:8px}
.exo figcaption{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:#a58353;text-align:center;margin-top:4px}
.exo h3{font-size:22px}

/* Fiche défi */
.defi{border:1px solid var(--line);background:var(--paper);padding:28px}
.defi-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:8px;margin:14px 0 22px}
.day{border:1px solid var(--line);background:#fbf7f0;border-radius:10px;padding:10px 6px;text-align:center;cursor:pointer;user-select:none;font-size:13px}
.day b{display:block;font-family:'Playfair Display',Georgia,serif;font-size:20px;color:var(--ink)}
.day.on{background:#f1e4cf;border-color:var(--gold)}
.day.on::after{content:"✓";display:block;color:var(--gold-dark);font-weight:600}
.fiche{border:1px solid var(--line);background:var(--paper);padding:28px;margin-bottom:24px;break-inside:avoid}
.fiche .lines{border-bottom:1px solid var(--line);height:30px}

/* Pied de page */
footer{padding:44px 24px 48px;text-align:center;background:#2f2522;color:#d7cfc9}
footer img{width:150px;margin:0 auto 18px;filter:brightness(1.25)}
footer p{font-size:12px;margin:6px auto;max-width:760px}
footer a{color:#e9dccd}
.legal{opacity:.72}

/* Responsive */
@media (max-width:1100px){
  .cycle{grid-template-columns:repeat(2,1fr)}.cycle article.pivot{grid-column:span 2}
  .g4{grid-template-columns:repeat(2,1fr)}
  .promise-strip{grid-template-columns:1fr 1fr}.promise-strip article:nth-child(2){border-right:0}.promise-strip article:nth-child(-n+2){border-bottom:1px solid var(--line)}
}
@media (max-width:1024px){
  .nav{display:none;position:absolute;top:100%;left:0;right:0;flex-direction:column;gap:0;background:var(--cream-2);border-bottom:1px solid var(--line);padding:8px 20px 18px}
  .nav.open{display:flex}.nav a{padding:12px 0;border-bottom:1px solid var(--line)}
  .nav-toggle{display:inline-block}
  .hero-content{width:min(640px,72vw)}
  .academy{grid-template-columns:1fr}
  .sidebar{position:static;height:auto;border-right:0;border-bottom:1px solid var(--line)}
  .g3{grid-template-columns:1fr 1fr}
  .exo{grid-template-columns:1fr 1fr}.exo .exo-text{grid-column:span 2}
}
@media (max-width:760px){
  body{font-size:15px}
  .brand img{width:120px}
  .hero{align-items:flex-end;min-height:680px}
  .hero-bg{background-position:66% center}
  .hero-overlay{background:linear-gradient(0deg,rgba(250,247,240,.995) 0%,rgba(250,247,240,.97) 55%,rgba(250,247,240,.45) 80%,rgba(250,247,240,.08) 100%)}
  .hero-content{width:100%;margin:0;padding:200px 18px 40px}
  .g2,.g3,.g4,.cycle,.promise-strip{grid-template-columns:1fr}
  .cycle article.pivot{grid-column:auto}
  .promise-strip article{border-right:0;border-bottom:1px solid var(--line)}
  .subscribe{flex-direction:column;border-radius:18px}.subscribe .btn{width:100%;justify-content:center}
  .defi-grid{grid-template-columns:repeat(4,1fr)}
  .exo{grid-template-columns:1fr}.exo .exo-text{grid-column:auto}
  .card{padding:22px}
}

/* Impression des fiches */
@media print{
  .site-header,.sidebar,footer,.no-print,.pager,.done-box{display:none!important}
  body{background:#fff}
  .academy{display:block}.content{padding:0;max-width:none}
  .fiche,.defi,.exo{border-color:#bbb}
  a{text-decoration:none}
}
