@font-face{font-family:Anton;src:url(fonts/anton.woff2) format("woff2");font-display:swap}
@font-face{font-family:Inter;font-weight:700;src:url(fonts/inter-700.woff2) format("woff2");font-display:swap}
@font-face{font-family:Inter;font-weight:800;src:url(fonts/inter-800.woff2) format("woff2");font-display:swap}
:root{--vert:#1F5A3A;--vert-fonce:#123522;--nuit:#0B2A1C;--or:#F2C14E;--or-fonce:#b98a12;--gris:#9A9A9A;--rouge:#D9534F;--creme:#FBF8F0;--encre:#1d2a23;--doux:#5b665f;--bord:#e4dccb}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--creme);color:var(--encre);font:16px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif}
a{color:inherit}
img{max-width:100%;height:auto}
.wrap{max-width:1040px;margin:0 auto;padding:0 16px}
.anton,h1,h2{font-family:Anton,Impact,sans-serif;font-weight:400;text-transform:uppercase;line-height:1.03;letter-spacing:.01em}
.kicker{font:800 12px Inter,sans-serif;letter-spacing:.14em;text-transform:uppercase;color:var(--or)}
.or{color:var(--or)}

/* Hero */
.hero{background:radial-gradient(ellipse at 50% 35%,var(--vert) 55%,var(--vert-fonce) 100%);color:#fff;padding:28px 0 40px;overflow:hidden}
.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:36px;align-items:start}
.hero h1{font-size:clamp(34px,6vw,58px);margin:10px 0 14px}
.hero p.sous{font-size:18px;margin:0 0 18px;max-width:34em}
.puces{list-style:none;padding:0;margin:0 0 20px}
.puces li{padding-left:28px;position:relative;margin-bottom:8px}
.puces li::before{content:"✔";position:absolute;left:0;color:var(--or);font-weight:800}
.visuel{display:flex;align-items:flex-end;gap:4px;max-width:360px;margin-top:8px}
.visuel .couv{width:56%;border-radius:6px;box-shadow:0 18px 40px rgba(0,0,0,.45);transform:rotate(-4deg)}
.visuel .mascotte{width:40%;margin-left:-4%}
.angle{display:none;background:rgba(0,0,0,.22);border-left:4px solid var(--or);padding:10px 14px;border-radius:0 8px 8px 0;margin:0 0 18px;font-size:15px}
.angle.on{display:block}

/* Formulaire */
.carte{background:#fff;color:var(--encre);border-radius:16px;padding:22px 20px;box-shadow:0 20px 50px rgba(0,0,0,.3)}
.carte h2{font-size:26px;color:var(--vert);margin:0 0 4px}
.carte .mini{color:var(--doux);font-size:14px;margin:0 0 14px}
label.champ{display:block;font:700 14px Inter,sans-serif;margin:12px 0 5px}
label.champ .opt{font:400 13px -apple-system,sans-serif;color:var(--doux)}
input[type=email],input[type=tel],input[type=text]{width:100%;font-size:17px;padding:12px 13px;border:1.5px solid #cfc6b2;border-radius:10px;background:#fff;color:var(--encre)}
input:focus{outline:3px solid rgba(242,193,78,.6);border-color:var(--vert)}
.case{display:flex;gap:10px;align-items:flex-start;margin:14px 0 0;font-size:14px;line-height:1.4;cursor:pointer}
.case input{width:20px;height:20px;margin:1px 0 0;flex:none;accent-color:var(--vert)}
.btn{display:inline-block;width:100%;border:0;cursor:pointer;background:var(--or);color:var(--nuit);font:800 18px Inter,sans-serif;padding:15px 18px;border-radius:12px;text-align:center;text-decoration:none;margin-top:18px}
.btn:hover{filter:brightness(1.05)}
.btn[disabled]{opacity:.6;cursor:wait}
.erreur{color:var(--rouge);font-size:14px;margin:8px 0 0;min-height:1em}
.rgpd{font-size:12px;color:var(--doux);line-height:1.45;margin:14px 0 0}
.rgpd a{color:var(--vert)}
.hp{position:absolute;left:-5000px;width:1px;height:1px;overflow:hidden}

/* Sections */
section.bloc{padding:44px 0}
section.bloc h2{font-size:clamp(26px,4vw,36px);color:var(--vert);margin:0 0 18px}
.grille3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.tuile{background:#fff;border:1.5px solid var(--bord);border-radius:14px;padding:18px}
.tuile b.anton{display:block;font-size:30px;color:var(--or-fonce);margin-bottom:4px}
.preuves{background:var(--vert);color:#fff}
.preuves h2{color:#fff !important}
.preuves .tuile{background:rgba(0,0,0,.18);border:0;color:#fff}
.preuves .tuile b.anton{color:var(--or)}
.note{font-size:13px;color:var(--doux)}
.preuves .note{color:rgba(255,255,255,.7)}

footer{background:var(--nuit);color:rgba(255,255,255,.75);font-size:13px;padding:26px 0}
footer a{color:#fff}
footer .liens{display:flex;flex-wrap:wrap;gap:8px 18px;margin-top:8px}
button.lien{background:none;border:0;color:#fff;text-decoration:underline;font:inherit;padding:0;cursor:pointer}

/* Bandeau cookies */
.cookies{position:fixed;left:12px;right:12px;bottom:12px;z-index:50;max-width:560px;margin:0 auto;background:#fff;color:var(--encre);border-radius:14px;box-shadow:0 10px 40px rgba(0,0,0,.35);padding:16px 16px 14px;font-size:14px;display:none}
.cookies.on{display:block}
.cookies p{margin:0 0 12px}
.cookies .actions{display:flex;gap:10px}
.cookies .actions button{flex:1;padding:11px 10px;border-radius:10px;font:800 15px Inter,sans-serif;cursor:pointer;border:2px solid var(--vert)}
.cookies .refus{background:#fff;color:var(--vert)}
.cookies .accepte{background:var(--vert);color:#fff}

/* Merci */
.merci-hero{text-align:left}
.etapes{counter-reset:e;list-style:none;padding:0;margin:0}
.etapes li{counter-increment:e;position:relative;padding:0 0 14px 44px}
.etapes li::before{content:counter(e);position:absolute;left:0;top:-2px;width:30px;height:30px;border-radius:50%;background:var(--or);color:var(--nuit);font:800 15px/30px Inter,sans-serif;text-align:center}
.zephyr{background:#fff;border:2px solid var(--or);border-radius:16px;padding:22px 20px;display:grid;grid-template-columns:1fr auto;gap:18px;align-items:center}
.zephyr h2{margin-bottom:8px !important}
.zephyr .btn{width:auto;margin-top:6px}

/* Pages légales */
.legal{max-width:760px;margin:0 auto;padding:30px 16px 50px}
.legal h1{font-size:36px;color:var(--vert)}
.legal h2{font:800 18px Inter,sans-serif;color:var(--vert);text-transform:none;margin:26px 0 8px}
.legal table{border-collapse:collapse;width:100%;font-size:14px}
.legal td,.legal th{border:1px solid var(--bord);padding:8px;text-align:left;vertical-align:top}
.afaire{background:#fff3cd;padding:0 4px;border-radius:3px}

@media (max-width:820px){
  .hero-grid{grid-template-columns:1fr;gap:22px}
  .grille3{grid-template-columns:1fr}
  .visuel{display:none}
  .hero{padding-top:20px}
  .hero p.sous{font-size:16px;margin-bottom:12px}
  .puces{font-size:15px;margin-bottom:0}
  .puces li:nth-child(n+4){display:none}
  .zephyr{grid-template-columns:1fr}
  .zephyr img{display:none}
}

/* ---------- Site média (phase 1) ---------- */
.nav{background:var(--nuit);color:#fff;position:sticky;top:0;z-index:40}
.nav-in{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:56px}
.logo{font-family:Anton,Impact,sans-serif;text-transform:uppercase;font-size:21px;letter-spacing:.02em;text-decoration:none;color:#fff;white-space:nowrap}
.nav-liens{display:flex;align-items:center;gap:18px;font:700 14px Inter,sans-serif}
.nav-liens a{text-decoration:none;color:rgba(255,255,255,.85)}
.nav-liens a[aria-current=page],.nav-liens a:hover{color:var(--or)}
.nav-btn{background:var(--or);color:var(--nuit) !important;padding:8px 14px;border-radius:9px}
.bandeau-src{background:var(--or);color:var(--nuit);font:700 15px Inter,sans-serif;padding:10px 14px;border-radius:10px;margin:0 0 16px;max-width:36em}
.bandeau-src a{color:var(--nuit);margin-left:4px}
.btn-auto{width:auto;padding:13px 24px;margin-right:8px}
.btn-ligne{width:auto;padding:11px 22px;background:transparent;color:#fff;border:2px solid var(--or)}
.hero-court{padding-bottom:30px}
.visuel-accueil{display:flex;justify-content:center;max-width:none}
.visuel-accueil .mascotte{width:auto;max-height:420px;margin:0}
.kicker-fonce{color:var(--or-fonce)}
.qui{display:grid;grid-template-columns:220px 1fr;gap:30px;align-items:center}
.qui h2{margin-bottom:10px !important}
.titre-ligne{display:flex;justify-content:space-between;align-items:baseline;gap:12px;flex-wrap:wrap;margin-bottom:18px}
.titre-ligne h2{margin:0 !important}
.titre-ligne a{font:700 15px Inter,sans-serif;color:var(--vert)}
.grille-videos{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.video{margin:0;background:#fff;border:1.5px solid var(--bord);border-radius:14px;overflow:hidden}
.video video{display:block;width:100%;height:auto;aspect-ratio:9/16;background:var(--vert-fonce)}
.video figcaption{padding:12px 14px;display:flex;flex-direction:column;gap:4px;font-size:14px}
.video figcaption span{color:var(--doux)}
.video figcaption a{color:var(--vert);font-weight:700}
.fond-creme-fonce{background:#f1ead9}
.intro{max-width:44em;margin:-6px 0 20px}
.grille-guides{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.carte-guide{display:flex;gap:14px;align-items:flex-start;background:#fff;border:1.5px solid var(--bord);border-radius:14px;padding:16px;text-decoration:none;color:var(--encre);transition:transform .15s}
.carte-guide:hover{transform:translateY(-2px);border-color:var(--or)}
.carte-guide img{flex:none}
.carte-guide b{display:block;font:800 16px Inter,sans-serif;color:var(--vert);margin-bottom:4px}
.carte-guide span{display:block;font-size:14px;color:var(--doux);margin-bottom:8px}
.carte-guide em{font:700 14px Inter,sans-serif;font-style:normal;color:var(--or-fonce)}
.lettre{background:radial-gradient(ellipse at 30% 40%,var(--vert) 55%,var(--vert-fonce) 100%);color:#fff}
.lettre h2{color:#fff !important}
.preuve-ligne b.anton{font-size:34px;color:var(--or);margin-right:6px}
.fait{font-size:14px;background:rgba(242,193,78,.15);border-left:4px solid var(--or);padding:10px 14px;border-radius:0 8px 8px 0}
.texte{max-width:760px}
.texte h2{margin-top:30px !important}
.texte h2:first-child,.texte .kicker+h2{margin-top:0 !important}
.puces-fonce li::before{color:var(--or-fonce)}
.pied-grille{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:24px;margin-bottom:18px}
.pied-grille b{display:block;color:#fff;margin-bottom:6px}
.pied-grille a{display:block;text-decoration:none;margin-bottom:4px}
.pied-grille a:hover{text-decoration:underline}
.pied-grille p{margin:6px 0 0}
@media (max-width:820px){
  .nav-liens{gap:12px;font-size:13px}
  .nav-liens a:not(.nav-btn):nth-child(3){display:none}
  .logo{font-size:18px}
  .qui{grid-template-columns:1fr;gap:12px}
  .qui img{width:140px}
  .grille-videos{grid-template-columns:1fr 1fr;gap:10px}
  .grille-guides{grid-template-columns:1fr}
  .pied-grille{grid-template-columns:1fr}
  .visuel-accueil{display:none}
  .btn-ligne{margin-top:8px}
}
@media (max-width:420px){
  .nav-btn{display:none}
}
.lettre .carte h2{color:var(--vert) !important}
.qui img{width:auto;max-height:320px;justify-self:center}
.preuves .fait{background:rgba(0,0,0,.18)}
.kicker{display:block;margin-bottom:8px}
.zephyr img{max-height:260px;width:auto}

/* ---------- Positionnement v2 : terrains et QG ---------- */
.grille-terrains{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.carte-terrain{display:flex;flex-direction:column;gap:6px;background:#fff;border:1.5px solid var(--bord);border-radius:14px;padding:16px;text-decoration:none;color:var(--encre);transition:transform .15s}
.carte-terrain:hover{transform:translateY(-2px);border-color:var(--or)}
.carte-terrain b{font-family:Anton,Impact,sans-serif;font-weight:400;text-transform:uppercase;font-size:24px;color:var(--vert);line-height:1.05}
.carte-terrain span:not(.gain){font-size:14px;color:var(--doux);flex:1}
.carte-terrain em{font:700 14px Inter,sans-serif;font-style:normal;color:var(--or-fonce)}
.gain{align-self:flex-start;font:800 11px Inter,sans-serif;letter-spacing:.1em;text-transform:uppercase;background:var(--or);color:var(--nuit);padding:3px 8px;border-radius:6px}
.titre-ligne .gain{align-self:center}
.rubriques{list-style:none;padding:0;margin:18px 0 0;display:flex;flex-wrap:wrap;gap:8px}
.rubriques li{background:rgba(0,0,0,.22);border-radius:10px;padding:8px 12px;font-size:14px}
.rubriques b{color:var(--or);margin-right:6px}
.terrain:nth-of-type(even){background:#f1ead9}
.a-venir{margin-top:16px;border:1.5px dashed #cfc6b2;border-radius:14px;padding:14px 16px;font-size:14px;color:var(--doux)}
.a-venir b{color:var(--vert);font:800 13px Inter,sans-serif;text-transform:uppercase;letter-spacing:.08em}
.a-venir ul{margin:8px 0;padding-left:18px;columns:2;column-gap:24px}
.a-venir p{margin:0}
.a-venir a{color:var(--vert);font-weight:700}
@media (max-width:820px){
  .grille-terrains{grid-template-columns:1fr 1fr}
  .a-venir ul{columns:1}
}
