/* =====================================================================
   ASC CONSEIL — socle commun aux trois propositions
   Charte imposée : or « Laser 1 » #C8B568, Poppins (substitut de Gilmer
   Heavy) et Heebo. Le texte doré sur fond clair passe en #7A6718 pour
   rester lisible (WCAG 2.2 AA) ; l'or d'origine sert en aplat.
   ===================================================================== */
:root{
  --or:#c8b568; --or-cl:#e8dcb0; --or-f:#ac9749; --or-txt:#7a6718;
  --noir:#11141a; --noir2:#1b2129; --encre:#1f242b;
  --gris:#5b6169; --gris2:#6b7178; --blanc:#fff; --creme:#faf8f2; --bord:#e5e2d8;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:'Heebo',-apple-system,'Segoe UI',Helvetica,Arial,sans-serif;
  background:var(--blanc);color:var(--encre);font-size:17px;line-height:1.7;overflow-x:hidden}
h1,h2,h3,h4,.tit{font-family:'Poppins',-apple-system,'Segoe UI',Helvetica,Arial,sans-serif}
a{color:var(--or-txt);text-decoration:none}
img{max-width:100%;display:block}
:focus-visible{outline:3px solid var(--or);outline-offset:3px;border-radius:6px}
.c{max-width:1180px;margin:0 auto;padding:0 24px}

/* ---------- l'hexagone, forme récurrente du kit de marque ---------- */
.hx{width:58px;height:66px;flex:none;display:flex;align-items:center;justify-content:center;position:relative}
.hx::before{content:"";position:absolute;inset:0;background:var(--or);
  clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%);transition:transform .35s}
.hx svg{position:relative;z-index:2;width:26px;height:26px}
.hx.fil::before{background:var(--noir)}
.hx.fil::after{content:"";position:absolute;inset:2px;background:inherit;
  clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%)}
.hx.pt{width:46px;height:52px}.hx.pt svg{width:21px;height:21px}

/* ---------- entête, commune aux trois ---------- */
.en{position:sticky;top:0;z-index:80}
.en .in{display:flex;align-items:center;justify-content:space-between;gap:18px;
  padding:13px 24px;max-width:1180px;margin:0 auto}
.mq{display:flex;align-items:center;gap:12px;flex:none}
.mq img{width:52px;height:52px}
.mq b{font-family:'Poppins',sans-serif;font-weight:600;font-size:1.03rem;letter-spacing:.05em;display:block;line-height:1.1}
.mq>span>span{font-size:.6rem;letter-spacing:.15em;text-transform:uppercase;display:block;margin-top:2px}
.nav{display:none;gap:26px}
@media(min-width:1040px){.nav{display:flex}}
.nav a{font-size:.88rem;font-family:'Poppins',sans-serif;padding:5px 0}
.bo{font-family:'Poppins',sans-serif;font-weight:600;font-size:.85rem;padding:12px 22px;white-space:nowrap;flex:none;display:none}
@media(min-width:1040px){.bo{display:inline-flex}}
.bg{display:flex;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;
  padding:10px;min-height:44px;min-width:44px;align-items:center;justify-content:center}
@media(min-width:1040px){.bg{display:none}}
.bg span{display:block;width:22px;height:2px;background:var(--or);transition:transform .25s,opacity .2s}
.bg[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.bg[aria-expanded="true"] span:nth-child(2){opacity:0}
.bg[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.vo{display:none}.vo.on{display:block}
@media(min-width:1040px){.vo{display:none!important}}
.vo a{display:block;padding:14px 24px;font-family:'Poppins',sans-serif;font-size:.95rem}

/* ---------- pied, commun aux trois ---------- */
.pied{background:#0a0d11;color:#8b9098;padding:54px 0 26px;font-size:.89rem}
.pied .g{display:grid;gap:32px;grid-template-columns:1fr}
@media(min-width:760px){.pied .g{grid-template-columns:1.4fr 1fr 1fr}}
.pied h4{font-family:'Poppins',sans-serif;font-size:.68rem;letter-spacing:.18em;
  text-transform:uppercase;color:var(--or);margin-bottom:13px;font-weight:600}
.pied a{color:#8b9098;display:block;padding:3px 0;transition:color .2s}
.pied a:hover{color:var(--or)}
.pied img{width:58px;margin-bottom:12px}
.pied .bas{margin-top:34px;padding-top:20px;border-top:1px solid rgba(255,255,255,.1);
  font-size:.79rem;color:#6a7078;display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap}

/* ---------- apparition au défilement ---------- */
.ap{opacity:0;transform:translateY(18px);transition:opacity .65s cubic-bezier(.2,.7,.3,1),transform .65s cubic-bezier(.2,.7,.3,1)}
.ap.vu{opacity:1;transform:none}
.ap.d1{transition-delay:.07s}.ap.d2{transition-delay:.14s}.ap.d3{transition-delay:.21s}
.ap.d4{transition-delay:.28s}.ap.d5{transition-delay:.35s}
@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important;scroll-behavior:auto!important}.ap{opacity:1;transform:none}}
@media print{.en,.bg{display:none}body{background:#fff}}
/* rendez-vous : fond or animé */
.p-c section.rdv{background:linear-gradient(120deg,#e0cf8c,#c8b568,#ac9749,#d5c27a,#b9a458);background-size:320% 320%;animation:rdvfond 14s ease-in-out infinite}
.p-c section.rdv::before{content:"";position:absolute;inset:-40%;z-index:-1;pointer-events:none;
  background:radial-gradient(circle at 30% 40%,rgba(255,255,255,.35),transparent 38%),radial-gradient(circle at 75% 70%,rgba(17,20,26,.14),transparent 42%);
  animation:rdvlum 18s ease-in-out infinite alternate}
.p-c section.rdv .xf{animation:rdvx 22s ease-in-out infinite alternate}
@keyframes rdvfond{0%,100%{background-position:0% 50%}50%{background-position:100% 50%}}
@keyframes rdvlum{0%{transform:translate(-8%,-6%) rotate(0)}100%{transform:translate(8%,6%) rotate(12deg)}}
@keyframes rdvx{0%{transform:translate(0,0) rotate(0)}100%{transform:translate(4%,-6%) rotate(8deg)}}
/* entrée / sortie des sections */
.p-c .sx{opacity:0;transform:translateY(40px) scale(.985);transition:opacity .8s cubic-bezier(.2,.7,.3,1),transform .8s cubic-bezier(.2,.7,.3,1)}
.p-c .sx.vu{opacity:1;transform:none}
.p-c .sx.haut{transform:translateY(-40px) scale(.985)}
@media(prefers-reduced-motion:reduce){.p-c .sx,.p-c .sx.haut{opacity:1;transform:none}.p-c section.rdv::before{display:none}}
/* C — animations renforcées */
.p-c .sx{opacity:0;transform:translateY(80px) scale(.95);filter:blur(6px);transition:opacity .9s cubic-bezier(.2,.7,.3,1),transform .9s cubic-bezier(.2,.7,.3,1),filter .9s}
.p-c .sx.haut{transform:translateY(-80px) scale(.95)}
.p-c .sx.vu{opacity:1;transform:none;filter:none}
.p-c section.hero,.p-c section.rdv{isolation:isolate}
.p-c section.hero::before,.p-c section.hero::after,.p-c section.rdv::after{content:"";position:absolute;pointer-events:none;z-index:-1}
.p-c section.hero::before{inset:-20%;
  background:radial-gradient(circle at 20% 30%,rgba(200,181,104,.55),transparent 30%),radial-gradient(circle at 80% 20%,rgba(200,181,104,.4),transparent 28%),radial-gradient(circle at 60% 85%,rgba(172,151,73,.45),transparent 32%);
  animation:cBlob 9s ease-in-out infinite alternate}
.p-c section.hero::after{width:260px;height:300px;right:6%;top:12%;background:rgba(200,181,104,.22);
  clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%);animation:cHex 12s ease-in-out infinite}
.p-c section.rdv{animation-duration:6s}
.p-c section.rdv::before{animation-duration:7s}
.p-c section.rdv::after{inset:0;z-index:-1;background:linear-gradient(105deg,transparent 35%,rgba(255,255,255,.45) 50%,transparent 65%);
  background-size:250% 100%;animation:cBalai 4.5s ease-in-out infinite}
.p-c section.rdv .xf{animation-duration:8s;opacity:.22}
@keyframes cBlob{0%{transform:translate(-6%,-4%) scale(1)}50%{transform:translate(5%,4%) scale(1.12)}100%{transform:translate(-3%,6%) scale(.95)}}
@keyframes cHex{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(40px) rotate(30deg)}}
@keyframes cBalai{0%{background-position:150% 0}100%{background-position:-50% 0}}
@media(prefers-reduced-motion:reduce){.p-c .sx{filter:none}.p-c section.hero::before,.p-c section.hero::after,.p-c section.rdv::after{animation:none}}
