/* ============================================================
   ACADÉMIE CANMAR — feuille de style principale
   Même formule que groupebmd-bak.ca : HTML/CSS statique
   ============================================================ */
@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@500;600;700&family=Public+Sans:ital,wght@0,400;0,500;0,600;1,400&display=swap');

:root{
  --encre:#12181F; --acier:#1B242E; --panneau:#222E3A;
  --papier:#F2F0EA; --blanc:#FCFBF8;
  --laiton:#C9A24B; --laiton-f:#A9853A; --signal:#B3392E;
  --txt:#242B33; --txt-inv:#E9ECEF; --sourd:#8B96A2;
  --ligne:rgba(18,24,31,.12); --ligne-inv:rgba(233,236,239,.14);
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{font-family:'Public Sans',sans-serif;color:var(--txt);background:var(--encre);line-height:1.6}
.wrap{max-width:1120px;margin:0 auto;padding:0 24px}
h1,h2{font-family:'Barlow Condensed',sans-serif;text-transform:uppercase;letter-spacing:.02em;line-height:1.05}
h1{font-size:clamp(2.4rem,6vw,4.4rem);font-weight:700}
h2{font-size:clamp(1.9rem,3.6vw,2.8rem);font-weight:700}
h3{font-family:'Barlow Condensed',sans-serif;text-transform:uppercase;font-size:1.25rem;font-weight:600;letter-spacing:.04em}
a{color:inherit;text-decoration:none}
a:focus-visible,button:focus-visible{outline:2px solid var(--laiton);outline-offset:3px}
img{max-width:100%;display:block}
.gold{color:var(--laiton)}
.eyebrow{font-family:'Barlow Condensed';text-transform:uppercase;letter-spacing:.28em;font-size:.8rem;font-weight:600;color:var(--laiton);margin-bottom:14px}
.eyebrow--dark{color:var(--laiton-f)}

/* Boutons */
.btn{display:inline-block;font-family:'Barlow Condensed';text-transform:uppercase;letter-spacing:.12em;font-weight:600;padding:10px 20px;font-size:.9rem;border:1px solid transparent;cursor:pointer;transition:background .15s,border-color .15s,color .15s}
.btn--gold{background:var(--laiton);color:var(--encre)}
.btn--gold:hover{background:#D8B25C}
.btn--ghost{border-color:var(--ligne-inv);color:var(--txt-inv)}
.btn--ghost:hover{border-color:var(--laiton);color:var(--laiton)}
.btn--dark{background:var(--encre);color:var(--blanc)}
.btn--dark:hover{background:#2A3542}
.btn--lg{padding:15px 30px;font-size:1rem}

/* Nav */
.nav{position:fixed;inset:0 0 auto 0;z-index:50;background:rgba(18,24,31,.94);backdrop-filter:blur(8px);border-bottom:1px solid var(--ligne-inv)}
.nav__in{display:flex;align-items:center;gap:32px;height:72px}
.brand{display:flex;align-items:center;gap:12px;margin-right:auto}
.brand__mark{width:40px;height:40px;display:grid;place-items:center;background:var(--laiton);color:var(--encre);font-family:'Barlow Condensed';font-weight:700;font-size:1.4rem;clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%)}
.brand__txt{display:flex;flex-direction:column;line-height:1.15;color:var(--txt-inv)}
.brand__txt strong{font-family:'Barlow Condensed';letter-spacing:.08em;font-size:.95rem}
.brand__txt em{font-style:normal;font-size:.68rem;color:var(--sourd);letter-spacing:.04em}
.nav__links{display:flex;gap:26px}
.nav__links a{color:var(--txt-inv);font-size:.9rem;font-weight:500;opacity:.85}
.nav__links a:hover{opacity:1;color:var(--laiton)}

/* Hero */
.hero{position:relative;background:linear-gradient(180deg,#0E1319 0%,var(--encre) 70%);color:var(--txt-inv);padding:170px 0 90px;overflow:hidden}
.hero__grid{position:absolute;inset:0;background-image:linear-gradient(var(--ligne-inv) 1px,transparent 1px),linear-gradient(90deg,var(--ligne-inv) 1px,transparent 1px);background-size:56px 56px;mask-image:radial-gradient(ellipse 90% 70% at 30% 20%,#000 0%,transparent 70%);-webkit-mask-image:radial-gradient(ellipse 90% 70% at 30% 20%,#000 0%,transparent 70%);opacity:.5}
.hero__in{position:relative}
.hero__lead{max-width:560px;margin:22px 0 34px;color:#B9C2CC;font-size:1.08rem}
.hero__paths{display:grid;grid-template-columns:1fr 1fr;gap:16px;max-width:720px}
.path{display:flex;flex-direction:column;gap:6px;padding:22px 24px;border:1px solid var(--ligne-inv);background:rgba(252,251,248,.03);transition:border-color .15s,background .15s}
.path:hover{border-color:var(--laiton);background:rgba(201,162,75,.06)}
.path--alt{border-left:3px solid var(--laiton)}
.path__label{font-size:.75rem;text-transform:uppercase;letter-spacing:.16em;color:var(--sourd)}
.path__action{font-family:'Barlow Condensed';text-transform:uppercase;letter-spacing:.06em;font-weight:600;font-size:1.3rem;color:var(--laiton)}
.path__hint{font-size:.82rem;color:#B9C2CC}
.hero__proof{display:flex;list-style:none;margin-top:64px;border-top:1px solid var(--ligne-inv);max-width:640px;flex-wrap:wrap}
.hero__proof li{padding:20px 32px 0 0;margin-right:32px;display:flex;flex-direction:column}
.hero__proof li+li{border-left:1px solid var(--ligne-inv);padding-left:32px}
.hero__proof strong{font-family:'Barlow Condensed';font-size:2rem;color:var(--laiton);line-height:1}
.hero__proof span{font-size:.8rem;color:var(--sourd);margin-top:6px}

/* Bande */
.strip{background:var(--laiton);color:var(--encre)}
.strip__in{display:flex;flex-wrap:wrap;gap:8px 40px;padding:14px 24px;font-family:'Barlow Condensed';text-transform:uppercase;letter-spacing:.14em;font-size:.85rem;font-weight:600;justify-content:space-between}

/* Sections */
.sec{padding:96px 0}
.sec--light{background:var(--blanc)}
.sec--paper{background:var(--papier)}
.sec--dark{background:var(--acier);color:var(--txt-inv)}
.sec__head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap;margin-bottom:44px}

/* Fiches formations */
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(255px,1fr));gap:1px;background:var(--ligne);border:1px solid var(--ligne)}
.fiche{background:var(--blanc);padding:26px 24px;display:flex;flex-direction:column;gap:14px;transition:background .15s}
.fiche:hover{background:var(--papier)}
.fiche__top{display:flex;justify-content:space-between;align-items:center}
.fiche__code{font-family:'Barlow Condensed';letter-spacing:.14em;font-weight:600;color:var(--laiton-f)}
.fiche__tag{font-size:.68rem;text-transform:uppercase;letter-spacing:.1em;padding:3px 8px;border:1px solid var(--ligne);color:var(--sourd)}
.fiche__tag--tactique{border-color:var(--signal);color:var(--signal)}
.fiche h3{min-height:2.6em;text-transform:none;font-family:'Public Sans';font-weight:600;font-size:1.02rem;letter-spacing:0;line-height:1.35}
.fiche__meta{display:flex;gap:28px;margin-top:auto}
.fiche__meta dt{font-size:.68rem;text-transform:uppercase;letter-spacing:.1em;color:var(--sourd)}
.fiche__meta dd{font-weight:600;font-size:.92rem}
.fiche__formats{font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;color:var(--sourd)}
.fiche__link{font-size:.85rem;font-weight:600;color:var(--encre);border-top:1px solid var(--ligne);padding-top:14px}
.fiche__link:hover{color:var(--laiton-f)}
.note{margin-top:18px;font-size:.8rem;color:var(--sourd)}

/* Voies */
.voies{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-top:44px}
.voie{background:var(--blanc);border:1px solid var(--ligne);padding:34px 32px;display:flex;flex-direction:column;gap:16px}
.voie--pro{background:var(--encre);color:var(--txt-inv);border-color:var(--encre)}
.voie--pro h3{color:var(--laiton)}
.voie__pitch{font-size:.98rem}
.voie ul{list-style:none;display:flex;flex-direction:column;gap:10px;font-size:.92rem;margin-bottom:8px}
.voie li{padding-left:18px;position:relative}
.voie li::before{content:"";position:absolute;left:0;top:.55em;width:8px;height:2px;background:var(--laiton)}
.voie .btn{align-self:flex-start;margin-top:auto}

/* Points (méthode) */
.deux{display:grid;grid-template-columns:1fr 1.1fr;gap:64px;align-items:start}
.points{list-style:none;display:flex;flex-direction:column}
.points li{padding:24px 0;border-top:1px solid var(--ligne-inv)}
.points li:last-child{border-bottom:1px solid var(--ligne-inv)}
.points strong{font-family:'Barlow Condensed';text-transform:uppercase;letter-spacing:.08em;font-size:1.1rem;color:var(--laiton)}
.points p{color:#B9C2CC;margin-top:6px;font-size:.95rem}

/* Profils instructeurs */
.profils{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:28px;margin-top:44px}
.profil{border:1px solid var(--ligne);padding:28px;background:var(--blanc)}
.profil__photo{width:100%;aspect-ratio:4/5;background:var(--panneau);color:var(--sourd);display:grid;place-items:center;font-size:.8rem;text-transform:uppercase;letter-spacing:.1em;margin-bottom:18px;object-fit:cover}
img.profil__photo{aspect-ratio:4/5;object-fit:cover}
.profil__role{font-size:.78rem;text-transform:uppercase;letter-spacing:.14em;color:var(--laiton-f);font-weight:600;margin:4px 0 12px}
.profil__bio{font-size:.92rem;color:#4B5560}

/* Agence & partenaires */
.orgs{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-top:44px}
.org{background:var(--blanc);border-top:3px solid var(--laiton);border-left:1px solid var(--ligne);border-right:1px solid var(--ligne);border-bottom:1px solid var(--ligne);padding:32px}
.org__type{font-size:.72rem;text-transform:uppercase;letter-spacing:.16em;color:var(--sourd);margin-bottom:8px}
.org p{font-size:.94rem;color:#4B5560;margin:12px 0 16px}
.org a{font-size:.85rem;font-weight:600;color:var(--laiton-f)}

/* Nouvelles */
.news{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:28px;margin-top:40px}
.new{background:var(--blanc);border-left:3px solid var(--laiton);padding:26px 28px}
.new__meta{font-size:.75rem;text-transform:uppercase;letter-spacing:.12em;color:var(--sourd);margin-bottom:10px}
.new h3{text-transform:none;font-family:'Public Sans';letter-spacing:0;font-size:1.05rem;margin-bottom:10px}
.new p{font-size:.93rem;color:#4B5560}
.new__photo{width:100%;aspect-ratio:16/9;background:var(--papier);border:1px dashed var(--ligne);display:grid;place-items:center;color:var(--sourd);font-size:.78rem;text-transform:uppercase;letter-spacing:.1em;margin-bottom:16px}

/* Formulaire contact */
.form{margin-top:26px;display:flex;flex-direction:column;gap:16px;max-width:420px}
.form__toggle{display:flex;border:1px solid var(--ligne-inv)}
.tog{flex:1;padding:11px;background:transparent;border:0;color:var(--txt-inv);font-family:'Barlow Condensed';text-transform:uppercase;letter-spacing:.1em;font-size:.9rem;cursor:pointer}
.tog--on{background:var(--laiton);color:var(--encre);font-weight:600}
.form__label{display:flex;flex-direction:column;gap:6px;font-size:.78rem;text-transform:uppercase;letter-spacing:.12em;color:var(--sourd)}
.form select{padding:11px 12px;background:var(--panneau);color:var(--txt-inv);border:1px solid var(--ligne-inv);font-family:'Public Sans';font-size:.92rem}
.form__hint{font-size:.85rem;color:#B9C2CC}
.form .btn{align-self:flex-start}
.coords{font-style:normal;display:flex;flex-direction:column;gap:22px}
.coords span{font-size:.72rem;text-transform:uppercase;letter-spacing:.16em;color:var(--sourd)}
.coords p{color:var(--txt-inv);margin-top:4px}

/* Pied de page */
.foot{background:var(--encre);color:var(--sourd);font-size:.8rem;border-top:1px solid var(--ligne-inv)}
.foot__in{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:26px 24px}

@media(max-width:820px){
  .nav__links{display:none}
  .hero{padding-top:130px}
  .hero__paths,.voies,.deux,.orgs{grid-template-columns:1fr}
  .deux{gap:40px}
  .sec{padding:64px 0}
}

/* Page d'inscription */
.insc{max-width:640px}
.insc__grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.insc label{display:flex;flex-direction:column;gap:6px;font-size:.78rem;text-transform:uppercase;letter-spacing:.12em;color:var(--sourd)}
.insc input,.insc select,.insc textarea{padding:12px;background:var(--blanc);color:var(--txt);border:1px solid var(--ligne);font-family:'Public Sans',sans-serif;font-size:.95rem}
.insc input:focus,.insc select:focus,.insc textarea:focus{outline:2px solid var(--laiton);outline-offset:1px}
.insc textarea{min-height:120px;resize:vertical}
.insc .pleine{grid-column:1/-1}
.insc__consent{flex-direction:row!important;align-items:flex-start;gap:10px!important;text-transform:none!important;letter-spacing:0!important;font-size:.85rem!important;color:#4B5560!important}
.insc__consent input{width:18px;height:18px;margin-top:2px}
.insc .btn{margin-top:8px;justify-self:start}
.honeypot{position:absolute;left:-9999px;opacity:0}
@media(max-width:640px){.insc__grid{grid-template-columns:1fr}}

/* Logo officiel */
.brand__logo{width:48px;height:48px;border-radius:50%}
.hero__seal{position:absolute;right:-60px;top:50%;transform:translateY(-50%);width:min(46vw,560px);opacity:.14;pointer-events:none;filter:saturate(1.1)}
@media(max-width:820px){.hero__seal{width:70vw;right:-25vw;opacity:.09}}
