/* CAIRN Digital — maquette V3 : composants propres à la V3 (s'ajoute à style.css) */
.v3 main{display:block}
.v3 section.s3{padding:64px 0}
.v3 .sec-head{margin-bottom:30px}

/* ---------- en-tête ---------- */
.hdr3{position:sticky;top:0;z-index:60;background:var(--hdr);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.hdr3 .wrap{display:flex;align-items:center;gap:10px;height:68px}
.hdr3 .logo img{height:34px;display:block}
.hdr3 nav{display:flex;gap:2px;margin-left:26px}
.hdr3 nav a{font-size:14.5px;font-weight:600;padding:8px 13px;border-radius:9px;white-space:nowrap}
.hdr3 nav a:hover{background:rgba(28,42,85,.05)}
.hdr3 nav a.on{color:var(--acc);background:var(--accs)}
.hdr3 .sp{flex:1}
.hdr3 .btn{padding:11px 18px;font-size:14px;white-space:nowrap}
.itin-pill{display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:600;border:1.5px solid var(--acc);color:var(--acc);border-radius:99px;padding:7px 13px;white-space:nowrap;background:var(--card)}
.itin-pill[hidden]{display:none}
.itin-pill .dot{width:8px;height:8px;border-radius:50%;background:var(--acc);box-shadow:0 0 0 4px rgba(216,31,106,.15)}
.itin-pill b{font-weight:800}
.hdr3 .burger{display:none;background:none;border:0;width:40px;height:40px;flex-direction:column;justify-content:center;gap:5px;align-items:center;cursor:pointer}
.hdr3 .burger i{display:block;width:22px;height:2px;background:var(--ink);border-radius:2px}
.drawer3{display:none}

/* ---------- héros ---------- */
.hero3{padding:46px 0 56px}
.hero3 .grid{display:grid;grid-template-columns:1.15fr .85fr;gap:52px;align-items:center}
.hero3 h1{font-size:46px;margin:18px 0 18px}
.hero3 .ph{border-radius:22px;overflow:hidden;aspect-ratio:4/3.3;box-shadow:0 30px 60px -32px rgba(28,42,85,.45)}
.hero3 .ph img{width:100%;height:100%;object-fit:cover;display:block}
.toc3{display:flex;flex-wrap:wrap;gap:8px;margin-top:24px}
.toc3 a{font-size:13.5px;font-weight:700;border:1px solid var(--line);background:var(--card);border-radius:99px;padding:8px 14px}
.toc3 a:hover{border-color:var(--acc);color:var(--acc)}

/* repère d'étape */
.stepmark{display:flex;align-items:center;flex-wrap:wrap;gap:6px 14px}
.stepmark .dots{display:flex;align-items:flex-end;gap:4px;padding:4px 8px;border-radius:12px;background:var(--card);border:1px solid var(--line)}
.stepmark .dots a{display:block;border-radius:8px;padding:2px;position:relative}
.stepmark .dots a:hover{background:rgba(28,42,85,.05)}
.stepmark .dots a.in:after{content:"";position:absolute;left:50%;bottom:-6px;width:6px;height:6px;margin-left:-3px;border-radius:50%;background:var(--acc)}
.stepmark .dots a.opt:after{content:"";position:absolute;left:50%;bottom:-6px;width:6px;height:6px;margin-left:-3px;border-radius:50%;border:1.5px solid var(--acc);background:var(--card);box-sizing:border-box}
.stepmark .lbl{font-family:'JetBrains Mono',monospace;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--acc)}
.stepmark .mine{font-size:13px;font-weight:600;color:var(--mut);flex-basis:100%}
.stepmark .mine b{color:var(--acc)}
.stepmark .mine a{text-decoration:underline}

/* ---------- gabarit fiche ---------- */
.ben3 .card{position:relative;padding-top:22px}
.ben3 .ck{display:inline-flex;width:30px;height:30px;border-radius:50%;background:var(--accs);color:var(--acc);font-weight:800;align-items:center;justify-content:center;margin-bottom:12px}
.ben3 h3{font-size:18px}
.phases{list-style:none;padding:0;margin:0;counter-reset:ph;display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px}
.phases li{counter-increment:ph;background:var(--card);border:1px solid var(--line);border-radius:14px;padding:16px 16px 18px;position:relative}
.phases li:before{content:counter(ph,decimal-leading-zero);font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.14em;color:var(--acc);display:block;margin-bottom:8px}
.phases li b{display:block;font-size:15px;line-height:1.3}
.phases li span{display:block;font-size:13.5px;color:var(--mut);margin-top:6px;line-height:1.5}
.phases.sm{grid-template-columns:1fr;gap:8px}
.phases.sm li{padding:12px 14px;display:grid;grid-template-columns:34px 1fr;column-gap:8px}
.phases.sm li:before{grid-row:1/3;margin:2px 0 0}
.phases.sm li span{margin-top:2px}
.aibadge{display:flex;align-items:center;gap:14px;margin-top:20px;background:var(--ink);color:#fff;border-radius:14px;padding:13px 18px;font-size:14px}
.aibadge .t{font-family:'JetBrains Mono',monospace;font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;background:var(--acc);border-radius:6px;padding:4px 8px;white-space:nowrap}
.aibadge .go{margin-left:auto;font-weight:700;color:#ffb3cf;white-space:nowrap}
.aibadge:hover .go{text-decoration:underline}
.livr{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}
.nx3{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.nxcard{display:grid;grid-template-columns:1fr auto;align-items:center;column-gap:16px;background:var(--card);border:1px solid var(--line);border-radius:16px;padding:20px 22px;transition:border-color .15s,transform .15s}
.nxcard:hover{border-color:var(--acc);transform:translateY(-2px)}
.nxcard small{grid-column:1;font-family:'JetBrains Mono',monospace;font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--acc)}
.nxcard b{grid-column:1;font-size:19px;margin-top:4px}
.nxcard span{grid-column:1;font-size:14px;color:var(--mut);margin-top:4px}
.nxcard i{grid-column:2;grid-row:1/4;font-style:normal;font-size:24px;color:var(--acc)}
.v3 .cta3{padding:20px 0 0}

/* deux temps (Data & IA, Starter Pack) */
.twotime{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.tt{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:22px}
.tth{display:flex;gap:14px;align-items:center;margin-bottom:10px}
.tth .n{width:40px;height:40px;border-radius:50%;background:var(--acc);color:#fff;font-weight:800;display:flex;align-items:center;justify-content:center;flex:none}
.tth small{font-family:'JetBrains Mono',monospace;font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--mut)}
.tth h3{font-size:21px}
.tt>p{font-size:14.5px;color:var(--mut);margin-bottom:14px}
.tt .lnk{display:inline-block;margin-top:12px;font-weight:700;color:var(--acc)}

/* formules support */
.formules{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.formule{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:22px;scroll-margin-top:90px}
.formule .tagx{font-family:'JetBrains Mono',monospace;font-size:10.5px;letter-spacing:.12em;color:var(--acc)}
.formule h3{font-size:22px;margin:6px 0 6px}
.formule .fh p{font-size:14px;color:var(--mut)}
.tri{list-style:none;padding:0;margin:14px 0 0;display:grid;gap:8px}
.tri li{font-size:13.5px;color:var(--mut);border-top:1px solid var(--line);padding-top:8px}
.tri li b{display:block;color:var(--fg);font-size:14.5px}
.forf3{display:flex;flex-wrap:wrap;gap:6px;margin-top:14px}
.forf3 span{font-size:12px;color:var(--mut);background:var(--soft);border-radius:9px;padding:6px 9px}
.forf3 b{display:block;color:var(--fg);font-size:13px}

/* ---------- Offres ---------- */
.ofgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:6px}
.ofcard{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:20px;display:flex;flex-direction:column;gap:6px;transition:border-color .15s,transform .15s}
.ofcard:hover{border-color:var(--acc);transform:translateY(-2px)}
.ofcard .tagx{font-family:'JetBrains Mono',monospace;font-size:10.5px;letter-spacing:.12em;color:var(--acc);margin-top:6px}
.ofcard h3{font-size:18px}
.ofcard p{font-size:13.5px;color:var(--mut)}
.ofcard.short{grid-column:span 2;background:var(--soft)}
.unsure{display:block;margin-top:22px;font-size:15px;color:var(--mut)}
.unsure b{color:var(--fg)}
a.unsure:hover b,.unsure a{color:var(--acc)}

/* ---------- Votre situation ---------- */
.chips-s{display:flex;flex-wrap:wrap;gap:8px}
.chip-s{font-size:14px;font-weight:700;background:var(--card);border:1.5px solid var(--line);border-radius:99px;padding:10px 16px;cursor:pointer;transition:all .15s}
.chip-s:hover{border-color:var(--acc);color:var(--acc)}
.chip-s.on{background:var(--acc);border-color:var(--acc);color:#fff}
.sel-s{display:none}
.sit{padding-top:34px;margin-top:34px;border-top:1px solid var(--line)}
[data-situations].js .sit{border-top:0;margin-top:10px}
.sit .anchor{position:relative;top:-100px;display:block}
.sit-head{display:grid;grid-template-columns:1.4fr .9fr;gap:36px;align-items:start;margin-bottom:26px}
.sit-head h2{font-size:32px;margin:10px 0 12px}
.sig{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:18px 20px}
.sig b{font-size:14px}
.sig ul{margin:10px 0 0;padding-left:18px;font-size:14px;color:var(--mut);display:grid;gap:6px}
.dos{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px}
.do{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:18px 20px}
.do.opt{border-style:dashed;border-color:rgba(216,31,106,.5)}
.do small{font-family:'JetBrains Mono',monospace;font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--acc)}
.do em{display:block;font-style:normal;font-weight:700;margin-top:6px}
.do ul{margin:8px 0 0;padding-left:18px;font-size:14px;color:var(--mut);display:grid;gap:4px}
.do a{display:inline-block;margin-top:12px;font-weight:700;color:var(--acc);font-size:14px}
.v3 .scen{margin-top:18px}
.faq3{margin-top:18px;display:grid;gap:8px}
.faq3 details{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:12px 16px}
.faq3 summary{font-weight:700;font-size:14.5px;cursor:pointer}
.faq3 p{font-size:14px;color:var(--mut);margin-top:8px}
.sit-cta{margin-top:22px;display:flex;align-items:center;gap:20px;background:var(--ink);color:#fff;border-radius:18px;padding:20px 24px}
.sit-cta div{flex:1}.sit-cta b{display:block;font-size:19px}.sit-cta span{font-size:14px;color:rgba(255,255,255,.7)}

/* ---------- Cabinet / méthode ---------- */
.stats3{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:26px}
.stats3>div{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:18px 20px}
.stats3>div>b{display:block;font-size:32px;letter-spacing:-1px}
.stats3>div>span{font-size:13.5px;color:var(--mut)}
.engag5{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin-top:24px}
.engag5 h3{font-size:16px;margin-top:8px;line-height:1.3}
.clouds3{display:grid;grid-template-columns:repeat(6,1fr);gap:10px}
.clouds3 div{background:var(--ink);color:#fff;border-radius:14px;padding:14px 16px}
.clouds3 small{font-family:'JetBrains Mono',monospace;font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:#ff9cc0}
.clouds3 b{display:block;font-size:14.5px;margin-top:4px;line-height:1.3}
.dark3{background:var(--navy2);color:#fff;margin:40px 0}
.dark3 .lead{color:rgba(255,255,255,.72)}
.dark3 .kicker{color:var(--acc2)}
.dark3 .card{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.14);color:#fff}
.dark3 .card p{color:rgba(255,255,255,.7)}
.dark3 .ai-strip div{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.14);color:rgba(255,255,255,.75)}
.dark3 .ai-strip b{color:#fff}
.dark3 .note-box{background:rgba(255,255,255,.06);border-color:rgba(240,65,127,.5);color:#fff}
.dark3 .note-box p{color:rgba(255,255,255,.72);margin-top:4px;font-size:14.5px}
section[id]{scroll-margin-top:80px}

/* ---------- Accueil ---------- */
.p-index{background:#0a0f2d}
.p-index main>section:not(.home-hero):not(.asc){background:var(--bg)}
.home-hero{background:radial-gradient(ellipse 80% 70% at 75% 10%,#2a1d55 0%,#0d1338 55%,#0a0f2d 100%);color:#fff;min-height:calc(100vh - 68px);display:flex;align-items:center;padding:60px 0}
.home-hero .kicker{color:var(--acc2)}
.home-hero h1{font-size:66px;max-width:900px;margin:18px 0 18px;letter-spacing:-2.2px}
.home-hero .lead{color:rgba(255,255,255,.75);max-width:640px;font-size:19px}
.home-hero .ctas{margin-top:30px}
.scrollhint{display:inline-flex;gap:10px;align-items:center;margin-top:60px;font-family:'JetBrains Mono',monospace;font-size:11.5px;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.55)}
.scrollhint i{font-style:normal;display:inline-block;animation:bob 1.6s ease-in-out infinite}
@keyframes bob{50%{transform:translateY(6px)}}
.asc{background:#0a0f2d;position:relative}
.asc .pv-card.trail{border:0;border-radius:0;background:transparent}
.asc .pc-k,.asc .pc-t{display:none}
.asc-stage{position:relative;width:100%;max-width:1500px;margin:0 auto}
.apanels{display:none}
.aprog{display:none}
/* version animée (activée par v3.js) */
.asc.live{height:640vh}
.asc.live .asc-sticky{position:sticky;top:68px;height:calc(100vh - 68px);display:flex;align-items:center;overflow:hidden}
.asc.live .asc-stage{max-width:min(1500px,calc((100vh - 68px) * 2.35))}
.asc.live .pc-stop{opacity:.12;transition:opacity .5s}
.asc.live .pc-stop.lit{opacity:1}
.asc.live .pc-stop .pc-marker-visual{transition:transform .5s cubic-bezier(.3,1.6,.5,1);transform-box:fill-box;transform-origin:50% 50%;transform:scale(.7)}
.asc.live .pc-stop.lit .pc-marker-visual{transform:scale(1)}
.asc.live .pc-pill{opacity:0;transition:opacity .5s}
.asc.live.br .pc-pill{opacity:1}
.asc.live .apanels{display:block;position:absolute;left:3%;top:4%;width:min(440px,40%);height:190px}
.ap{position:absolute;left:0;top:0;width:100%;background:rgba(10,15,45,.86);border:1px solid rgba(255,255,255,.16);border-radius:16px;padding:18px 20px;color:#fff;opacity:0;transform:translateY(14px);transition:opacity .45s,transform .45s;pointer-events:none;backdrop-filter:blur(6px)}
.ap.on{opacity:1;transform:none;pointer-events:auto}
.ap .v{font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.14em;color:var(--acc2)}
.ap b{display:block;font-size:22px;margin:4px 0 6px;letter-spacing:-.4px}
.ap p{font-size:14.5px;color:rgba(255,255,255,.75)}
.ap a{display:inline-block;margin-top:10px;font-weight:700;color:#ffb3cf}
.ap .down{display:inline-block;margin-top:8px;color:var(--acc2);animation:bob 1.6s ease-in-out infinite}
.asc.live .aprog{display:block;position:absolute;right:1.5%;top:12%;bottom:12%;width:4px;border-radius:2px;background:rgba(255,255,255,.14)}
.aprog i{position:absolute;left:0;right:0;top:0;height:0;border-radius:2px;background:var(--acc2)}
.where .chips-s{margin-top:4px}
.hc-out{margin-top:22px;display:flex;align-items:center;flex-wrap:wrap;gap:12px 18px;background:var(--card);border:1px solid var(--line);border-radius:18px;padding:18px 22px}
.hc-out[hidden]{display:none}
.hc-out span{font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--acc)}
.hc-out b{font-size:19px;flex:1}
.proof3 .stats3{margin-top:0}
.oneline{margin-top:24px;font-size:15px;color:var(--mut)}
.oneline a{color:var(--acc);font-weight:700}

/* ---------- responsive ---------- */
@media (max-width:1100px){
  .hdr3 nav{margin-left:10px}.hdr3 nav a{padding:8px 9px;font-size:14px}
  .ofgrid{grid-template-columns:repeat(2,1fr)}
  .engag5{grid-template-columns:repeat(3,1fr)}
  .clouds3{grid-template-columns:repeat(3,1fr)}
  .formules{grid-template-columns:1fr}
}
@media (max-width:900px){
  .hdr3 nav,.hdr3 .btn{display:none}
  .hdr3 .burger{display:flex;margin-left:6px}
  .hdr3 .wrap{height:60px}
  .itin-pill{font-size:12px;padding:6px 10px}
  .itin-pill span:not(.dot){max-width:150px;overflow:hidden;text-overflow:ellipsis}
  body.menu-open .drawer3{display:flex;flex-direction:column;gap:16px;position:fixed;top:60px;left:0;right:0;bottom:0;z-index:59;background:var(--bg);padding:20px 20px 30px}
  .drawer3 nav{display:flex;flex-direction:column}
  .drawer3 nav a{font-size:20px;font-weight:700;padding:14px 4px;border-bottom:1px solid var(--line)}
  .drawer3 .btn{justify-content:center}
  .hero3 .grid,.sit-head,.twotime,.nx3,.livr{grid-template-columns:1fr}
  .hero3 h1{font-size:32px}
  .hero3 .ph{display:none}
  .v3 section.s3{padding:44px 0}
  .stats3{grid-template-columns:1fr 1fr}
  .engag5,.clouds3{grid-template-columns:1fr 1fr}
  .ofgrid{grid-template-columns:1fr}.ofcard.short{grid-column:auto}
  .home-hero{min-height:calc(100vh - 60px)}
  .home-hero h1{font-size:38px;letter-spacing:-1.2px}
  .chips-s{display:none}
  [data-homechips] .chips-s{display:flex}
  .sel-s{display:block;font-size:13px;font-weight:700;color:var(--mut)}
  .sel-s select{display:block;width:100%;margin-top:6px;font:600 16px Montserrat,sans-serif;padding:12px 14px;border-radius:12px;border:1.5px solid var(--acc);background:var(--card);color:var(--fg)}
  .sit-head h2{font-size:26px}
  .sit-cta{flex-direction:column;align-items:flex-start}
  .aibadge{flex-wrap:wrap}.aibadge .go{margin-left:0}
  .asc.live .asc-sticky{top:60px;height:calc(100vh - 60px);flex-direction:column;justify-content:center}
  .asc.live .asc-stage{max-width:none}
  .asc.live svg.pv-sf{height:52vh;width:100%;display:block}
  .asc.live .asc-stage{display:flex;flex-direction:column}
  .asc.live .apanels{position:relative;left:auto;top:auto;margin:14px 16px 0;width:auto;height:210px}
  .asc.live .aprog{top:4%;bottom:auto;height:46vh}
  .asc.live .aprog{right:8px}
  .asc .pc-list{display:none}
}
@media (prefers-reduced-motion:reduce){.scrollhint i,.ap .down{animation:none}}
@media (max-width:900px){.v3 .split{grid-template-columns:1fr}.v3 .form{grid-template-columns:1fr}.v3 .form input,.v3 .form select,.v3 .form textarea{min-width:0;width:100%}.v3 .split>div{min-width:0}}

/* =====================================================================
   V3.1 · deux thèmes (clair / sombre), sans alternance de sections
   ===================================================================== */
:root,:root[data-theme="clair"]{
  --bg:#f7f5f8;--card:#fff;--fg:#1c2a55;--mut:rgba(28,42,85,.64);--faint:rgba(28,42,85,.32);--line:rgba(28,42,85,.13);
  --acc:#d81f6a;--acc2:#d81f6a;--accs:rgba(216,31,106,.08);--ink:#1c2a55;--soft:#efecf3;--input:#fcfbfd;--hdr:rgba(247,245,248,.96);
  --pc-sky-1:#f7f5f8;--pc-sky-2:#f1eef5;--pc-sky-3:#e9e6ef;--pc-sun-1:#f4a6bd;--pc-sun-2:#e9a9c0;--pc-sun-core:#f5b3c6;--pc-sun-ring:#f1bccb;
  --pc-mtn-far:#dfdee9;--pc-mtn-mid:#cfd0e0;--pc-mtn-near:#b9bccf;--pc-tree-far:#8b90ac;--pc-tree-mid:#6f7696;--pc-tree-near:#4d5478;
  --pc-path-halo:rgba(255,255,255,.6);--pc-marker-fill:#f7d9e4;--pc-acc:#d81f6a;--pc-fg:#1c2a55;--pc-mut:rgba(28,42,85,.55);--pc-pill:rgba(28,42,85,.66);
}
:root[data-theme="sombre"]{
  --bg:#101637;--card:#1a2149;--fg:#f1f0f6;--mut:rgba(241,240,246,.66);--faint:rgba(241,240,246,.34);--line:rgba(241,240,246,.16);
  --acc:#f0417f;--acc2:#f0417f;--accs:rgba(240,65,127,.15);--ink:#232b5e;--soft:#20285a;--input:#141a40;--hdr:rgba(16,22,55,.94);
  --pc-sky-1:#0a0f2d;--pc-sky-2:#0d1338;--pc-sky-3:#131b46;--pc-sun-1:#c23a70;--pc-sun-2:#a8356a;--pc-sun-core:#bd266d;--pc-sun-ring:#d94a86;
  --pc-mtn-far:#333571;--pc-mtn-mid:#212450;--pc-mtn-near:#111531;--pc-tree-far:#4a5088;--pc-tree-mid:#3c4270;--pc-tree-near:#2c3158;
  --pc-path-halo:rgba(241,240,246,.15);--pc-marker-fill:#efaece;--pc-acc:#f0417f;--pc-fg:#f1f0f6;--pc-mut:rgba(241,240,246,.5);--pc-pill:rgba(241,240,246,.72);
}
html{background:var(--bg)}
body.v3{background:var(--bg);color:var(--fg);transition:background .25s,color .25s}
/* logos selon le thème */
.lg-d{display:none}
:root[data-theme="sombre"] .lg-l{display:none}
:root[data-theme="sombre"] .lg-d{display:block}
/* sélecteur de thème */
.theme-t{font:500 11.5px 'JetBrains Mono',monospace;letter-spacing:.06em;border:1px solid var(--line);background:var(--card);color:var(--fg);border-radius:99px;padding:7px 12px;cursor:pointer;white-space:nowrap}
.theme-t:hover{border-color:var(--acc);color:var(--acc)}
/* scène du parcours : couleurs du thème */
.pv-card.trail{background:var(--pc-sky-1);border-color:var(--line)}
.pv-sf .pc-k{fill:var(--mut)}
.pv-sf .pc-t,.pv-sf .pc-nm{fill:var(--pc-fg)}
.pv-sf .pc-n,.pv-sf .pc-sub.acc,.pv-sf .tai{fill:var(--pc-acc)}
.pv-sf .pc-sub,.pv-sf .pc-pill text,.pv-sf .pc-pill-t{fill:var(--pc-pill)}
.pc-list{background:var(--pc-sky-1)!important}
.pc-li{color:var(--fg)!important;border-color:var(--line)!important}
.pc-li .n,.pc-li small.acc,.pc-li b .aiw{color:var(--acc)!important}
.pc-li small{color:var(--mut)!important}
/* plus de sections sombres : tout suit le thème */
.p-index,.asc{background:var(--bg)}
.asc .pv-card.trail{background:transparent}
.home-hero{background:var(--bg);color:var(--fg)}
.home-hero .kicker{color:var(--acc)}
.home-hero .lead{color:var(--mut)}
.scrollhint{color:var(--mut)}
.ap{background:var(--card);border-color:var(--line);color:var(--fg);box-shadow:0 20px 40px -24px rgba(16,22,55,.4)}
.ap .v{color:var(--acc)}.ap p{color:var(--mut)}.ap a{color:var(--acc)}
.aprog{background:var(--line)!important}.aprog i{background:var(--acc)}
.v3 .cta-band{background:var(--card);border:1px solid var(--line);color:var(--fg)}
.v3 .cta-band p{color:var(--mut)}
.v3 .cta-band .ctx{color:var(--acc)}
.v3 .cta-band:before,.v3 .cta-band:after{display:none}
.aibadge{background:var(--soft);color:var(--fg)}
.aibadge .t{color:#fff}.aibadge .go{color:var(--acc)}
.sit-cta{background:var(--soft);color:var(--fg)}
.sit-cta span{color:var(--mut)}
.clouds3 div{background:var(--soft);color:var(--fg)}
.clouds3 small{color:var(--acc)}
.cmp th{background:var(--soft)!important;color:var(--fg)!important}
.cmp th.me{background:var(--acc)!important;color:#fff!important}
.v3 footer{background:var(--soft);color:var(--mut);margin-top:60px}
.v3 footer h4{color:var(--fg)}
.v3 footer .legal{border-color:var(--line)}
.v3 footer a:hover{color:var(--acc)}
.hdr3 .burger i{background:var(--fg)}
.drawer3{background:var(--bg)}
.v3 .form label{color:var(--fg)}
.v3 .form input,.v3 .form select,.v3 .form textarea{color:var(--fg);border-color:var(--line)}
.v3 .origin{background:var(--accs);color:var(--fg)}
.v3 .member span,.v3 .note,.v3 .card p{color:var(--mut)}
.v3 .ph-fill{color:#1c2a55}
.e404 .cn{opacity:1}
/* tuiles de preuve avec liste au survol (clouds, certifications) */
.stats3 .pop-t{position:relative;cursor:help;outline:none}
.stats3 .pop-t>b{display:flex;align-items:center;gap:8px}
.stats3 .pop-t>b:after{content:"+";font-size:14px;font-weight:700;width:20px;height:20px;border-radius:50%;background:var(--accs);color:var(--acc);display:inline-flex;align-items:center;justify-content:center;letter-spacing:0}
.pop{position:absolute;left:0;top:calc(100% + 8px);z-index:20;min-width:300px;background:var(--card);border:1px solid var(--line);border-radius:16px;padding:14px;box-shadow:0 24px 50px -24px rgba(16,22,55,.5);opacity:0;transform:translateY(6px);pointer-events:none;transition:opacity .2s,transform .2s}
.pop-t:hover .pop,.pop-t:focus .pop,.pop-t:focus-within .pop{opacity:1;transform:none;pointer-events:auto}
.pop ul{list-style:none;display:grid;gap:8px}
.pop li{display:flex;align-items:center;gap:10px;font-size:14px;font-weight:600;color:var(--fg)}
.pop li i{flex:none;width:30px;height:30px;border-radius:8px;background:var(--soft);border:1px dashed var(--faint);display:flex;align-items:center;justify-content:center;font:600 9.5px 'JetBrains Mono',monospace;font-style:normal;color:var(--mut)}
.pop small{display:block;margin-top:10px;font-size:11.5px;color:var(--mut)}
@media (max-width:900px){.pop{min-width:0;width:calc(100vw - 64px)}.stats3 .pop-t:nth-child(even) .pop{left:auto;right:0}}
/* listes au survol : logos des clouds, badges de certification */
.pop .pph{font-family:'JetBrains Mono',monospace;font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--acc);margin:4px 0 8px}
.pop .pph:not(:first-child){margin-top:14px}
.pop-cl{min-width:520px}
.clg{display:grid;grid-template-columns:1fr 1fr;gap:12px 18px;align-items:center}
.clg span{display:flex;align-items:center;height:50px}
.clg img{height:46px;width:auto;max-width:100%}
.pop-ce{min-width:420px}
.bdg{display:flex;flex-wrap:wrap;gap:6px}
.bdg span{position:relative;display:block}
.bdg img{width:58px;height:auto;display:block}
.bdg i{position:absolute;right:-4px;top:-4px;font:700 10.5px Montserrat,sans-serif;font-style:normal;background:var(--acc);color:#fff;border-radius:99px;padding:2px 6px;box-shadow:0 0 0 2px var(--card)}
.stats3 .pop-t:last-child .pop,.stats3 .pop-t:nth-last-child(2) .pop{left:auto;right:0}
.p-cabinet .stats3 .pop-t .pop{left:0;right:auto}
@media (max-width:900px){.pop-cl,.pop-ce{min-width:0}.clg img{height:30px}.bdg img{width:48px}.stats3 .pop-t .pop{position:fixed;left:16px!important;right:16px!important;top:auto;bottom:16px;width:auto;max-height:70vh;overflow:auto}}
.proof3,.p-cabinet #associes{position:relative;z-index:5}
.stats3 .pop-t:hover,.stats3 .pop-t:focus,.stats3 .pop-t:focus-within{z-index:40}
.stepmark .lbl b{font-weight:500;color:var(--fg);letter-spacing:.1em}
.pv-sf .pc-stop-dim{opacity:.28}
/* fiches : parcours en tête, sentier des phases (repris du site des offres Afster) */
.v3 section.pvtop{padding:10px 0 0}
.pt-card{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:26px 30px 18px}
.ph-trail{display:block;overflow:visible}
.ph-trail .tr-bg{fill:none;stroke:var(--line);stroke-width:16;stroke-linecap:round}
.ph-trail .tr-dot{fill:none;stroke:var(--acc);stroke-width:2.5;stroke-linecap:round;stroke-dasharray:2 11}
.ph-trail .tr-sh{fill:var(--line)}
.ph-trail .tr-st{fill:#fff;stroke:var(--line);stroke-width:1}
.ph-trail .pt-n{font:700 10.5px Montserrat,sans-serif;letter-spacing:.18em;fill:var(--acc)}
.ph-trail .pt-t{font:700 14.5px Montserrat,sans-serif;letter-spacing:-.3px;fill:var(--fg)}
.ph-trail .pt-d{font:500 11.5px Montserrat,sans-serif;fill:var(--mut)}
.ph-trail .pt-node{transition:transform .15s;transform-box:fill-box;transform-origin:center}
.ph-trail .pt-node:hover{transform:translateY(-3px)}
:root[data-theme="sombre"] .ph-trail .tr-bg{display:none}
.ph-mob{display:none}
@media (max-width:900px){.pt-card{display:none}.ph-mob{display:grid}}
/* sentier des phases V2 : fond de montagnes, chemin sur les crêtes */
.pt-card{padding:0;overflow:hidden;border:1px solid var(--line);border-radius:14px;background:var(--pt-bg2)}
.ph-trail .pt-sky1{stop-color:var(--pt-bg1)}.ph-trail .pt-sky2{stop-color:var(--pt-bg2)}
.ph-trail .pt-m1{stop-color:var(--pt-mtn);stop-opacity:1}.ph-trail .pt-m2{stop-color:var(--pt-mtn);stop-opacity:0}
.ph-trail .pt-back{fill:var(--pt-mtn-back)}
.ph-trail .tr-dot{stroke-width:2.6;stroke-dasharray:2 7}
.ph-trail .pt-t{font-size:16px;fill:var(--pt-fg)}
.ph-trail .pt-d{font-size:12.5px;fill:var(--pt-mut)}
.ph-trail .pt-n{font-size:12px}
.pt-cd{display:none}
:root[data-theme="sombre"] .pt-cd{display:inline}
:root[data-theme="sombre"] .pt-cl{display:none}
:root,:root[data-theme="clair"]{--pt-bg1:#f7f5fa;--pt-bg2:#efecf4;--pt-mtn:#dcd9e8;--pt-mtn-back:rgba(28,42,85,.045);--pt-fg:#1c2a55;--pt-mut:rgba(28,42,85,.68)}
:root[data-theme="sombre"]{--pt-bg1:#121838;--pt-bg2:#141a3c;--pt-mtn:#2a3157;--pt-mtn-back:rgba(255,255,255,.05);--pt-fg:#fff;--pt-mut:rgba(241,240,246,.72)}
/* carte du parcours : bivouac et nuages (repris du fond d'écran CAIRN Digital) */
:root{--pc-tent:#8e94c0;--pc-tent-side:#a9aed4;--pc-tent-door:#6f75a3;--pc-cloud:#ffffff;--pc-cloud-op:.9}
:root[data-theme="sombre"]{--pc-tent:#4a5190;--pc-tent-side:#5d64a6;--pc-tent-door:#1b1f45;--pc-cloud:#c9cbe8;--pc-cloud-op:.09}
.pc-cloud{fill:var(--pc-cloud);opacity:var(--pc-cloud-op)}
/* page Offres : la capsule « Votre situation » complète la grille */
.ofcard.of-sit{background:var(--soft);border-style:dashed}
.ofcard.of-sit .of-more{color:var(--acc);font-weight:600;font-size:13.5px;margin-top:auto}
/* phases des offres (v4) : crêtes, chemin en lacets, cairn qui grandit */
:root{--rock:#ecebf3;--rock-edge:#9c98b8;--rock-shade:#d3d0e2;--pt2-cloud:#ebe8f3;--pt2-cloud-op:1;--pt2-bird:#9a96b6;--pt2-ridge:#dddbea;--pt2-back:#f3f2f7}
:root[data-theme="sombre"]{--rock:#4b5084;--rock-edge:#7e84be;--rock-shade:#3a3f6c;--pt2-cloud:#ffffff;--pt2-cloud-op:.07;--pt2-bird:rgba(255,255,255,.35);--pt2-ridge:#2a3062;--pt2-back:#222855}
.pt-card.pt2{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:22px 20px 18px;overflow:hidden}
.pt2-svg{display:block;width:100%}
.pt2-svg .pt-cloud{fill:var(--pt2-cloud);opacity:var(--pt2-cloud-op)}
.pt2-svg .pt-bird{fill:none;stroke:var(--pt2-bird);stroke-width:1.6;stroke-linecap:round}
.pt2-svg .pt-back{fill:var(--pt2-back)}
.pt2-svg .pt-ridge{fill:var(--pt2-ridge)}
.pt2-svg .pt-road{fill:none;stroke:var(--card);stroke-width:9;stroke-linecap:round;stroke-linejoin:round;opacity:.85}
.pt2-svg .pt-dash{fill:none;stroke:var(--acc);stroke-width:2.6;stroke-dasharray:2 8;stroke-linecap:round}
.pt2-svg .pt-shadow{fill:var(--fg);opacity:.1}
.pt2-svg .pt-num{font:700 12px Montserrat,sans-serif;letter-spacing:.18em;fill:var(--acc)}
.pt2-cols{display:grid;gap:12px;margin-top:14px}
.pt2-c{background:var(--soft);border:1px solid var(--line);border-radius:12px;padding:12px 12px 14px}
.pt2-c b{display:block;font-size:14.5px;line-height:1.25;margin-bottom:6px;color:var(--fg)}
.pt2-c p{margin:0;font-size:12.5px;line-height:1.45;color:var(--mut)}
/* menus déroulants : Offres et Votre situation */
.hdr3 nav .dd{position:relative;display:inline-flex}
.hdr3 nav .dd>a .chev{font-style:normal;font-size:10px;opacity:.7;margin-left:2px}
.hdr3 .mm{position:absolute;top:calc(100% + 12px);left:-24px;width:760px;background:var(--card);border:1px solid var(--line);border-radius:18px;box-shadow:0 24px 60px -20px rgba(16,22,55,.35);padding:20px 22px 14px;z-index:60;opacity:0;visibility:hidden;transform:translateY(-6px);transition:opacity .18s,transform .18s,visibility .18s}
.hdr3 .mm:after{content:"";position:absolute;left:0;right:0;top:-14px;height:14px}
.hdr3 .dd:hover .mm,.hdr3 .dd:focus-within .mm{opacity:1;visibility:visible;transform:none}
.hdr3 .mm .g{display:grid;grid-template-columns:1.25fr 1fr;gap:20px}
.hdr3 .mm h6{margin:0 0 6px;font:600 10.5px 'JetBrains Mono',monospace;letter-spacing:.18em;color:var(--acc)}
.hdr3 .mm a.it{display:flex;gap:12px;align-items:center;padding:8px 10px;border-radius:12px;color:var(--fg);text-decoration:none;background:none;font-weight:400}
.hdr3 .mm a.it:hover,.hdr3 .mm a.it.cur{background:var(--soft)}
.hdr3 .mm a.it b{display:block;font-size:14px;font-weight:700}
.hdr3 .mm a.it small{display:block;font-size:12px;color:var(--mut);margin-top:2px;font-weight:400}
.hdr3 .mm .ic{width:30px;flex:none;display:flex;justify-content:center}
.hdr3 .mm .n{font:700 10.5px Montserrat,sans-serif;color:var(--acc);letter-spacing:.14em;margin-right:6px}
.hdr3 .mm .col2>div+div{margin-top:10px}
.hdr3 .mm .ft{margin-top:10px;padding-top:10px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:16px;font-size:13px}
.hdr3 .mm .ft a{color:var(--acc);font-weight:600;padding:0;background:none}
.hdr3 .mm .ft span{color:var(--mut)}
.hdr3 .mm-s{width:880px}
.hdr3 .mm-s .g2{display:grid;grid-template-columns:1fr 1fr;gap:2px 14px}
.drawer3 .dsub{display:flex;flex-direction:column;padding:2px 0 8px 14px;border-left:2px solid var(--line);margin:0 0 6px 4px}
.drawer3 .dsub a{font-size:14px!important;font-weight:500!important;padding:5px 0!important;opacity:.85}
.drawer3{overflow-y:auto}.drawer3 nav,.drawer3 .btn{flex:none}
/* pages légales : texte courant lisible sur fond sombre */
.v3 .prose p,.v3 .prose li{color:rgba(241,240,246,.84)}
:root[data-theme="clair"] .v3 .prose p,:root[data-theme="clair"] .v3 .prose li{color:#2a375f}
/* situations fusion / séparation : scénarios carve-in et carve-out lisibles sur fond sombre */
.v3 .scen ol{color:rgba(241,240,246,.84)}
.v3 .scen .tag2{background:var(--acc);color:#fff}
:root[data-theme="clair"] .v3 .scen ol{color:#2a375f}
/* accueil : espacements resserrés — ouverture à 80 % de l'écran, paysage de l'ascension calé en haut, sans vide autour */
.home-hero{min-height:80vh}
.asc.live{padding:0}
@media (min-width:900px){.asc.live .asc-sticky{height:auto;align-items:flex-start;padding:0;top:max(68px,calc(34px + 50vh - 20vw))}}
/* titres : plus larges que les textes d'introduction, et équilibrés sur deux lignes */
.v3 .sec-head{max-width:1000px}
.v3 .sec-head p,.v3 .sec-head .lead{max-width:760px}
.v3 h1,.v3 h2,.v3 h3{text-wrap:balance}
/* mobile : le paysage des phases reste visible au-dessus de la liste numérotée (sans les cartes de texte) */
@media (max-width:900px){
  .pt-card.pt2{display:block;padding:8px 4px 6px;margin-bottom:14px}
  .pt-card.pt2 .pt2-cols{display:none}
  .pt2-svg .pt-num{font-size:30px;letter-spacing:.06em}
  .pt2-svg .pt-dash{stroke-width:4;stroke-dasharray:3 10}
}
/* formulaire de contact : champs obligatoires et messages d'erreur */
.form .req{color:var(--acc);font-weight:700}
.form .err{display:block;margin-top:6px;font-size:12.5px;font-weight:500;color:#ff8fb3}
.form .err[hidden]{display:none}
.form input.bad{border-color:#ff5a8f!important;box-shadow:0 0 0 3px rgba(255,90,143,.18)}
.form .opt{font-weight:400;color:var(--mut)}
.form .req[hidden]{display:none}
/* accueil : ouverture avec Mark le yéti, image fondue dans le fond (paysage côté texte, lumière rose) */
.home-hero{position:relative;overflow:hidden}
.home-hero .wrap{position:relative;z-index:2;width:100%}
.home-hero .htxt{max-width:660px}
.home-hero .mk{position:absolute;top:0;bottom:0;right:0;width:min(100%,128vh);background:url(../img/mark-yeti-accueil.jpg) 100% 55%/cover no-repeat;z-index:0;
  -webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 30%),linear-gradient(180deg,transparent 0%,#000 12%,#000 84%,transparent 100%);-webkit-mask-composite:source-in;
  mask-image:linear-gradient(90deg,transparent 0%,#000 30%),linear-gradient(180deg,transparent 0%,#000 12%,#000 84%,transparent 100%);mask-composite:intersect}
.home-hero .mk:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(16,22,55,.75) 0%,rgba(16,22,55,.55) 25%,rgba(16,22,55,0) 50%)}
@media (min-width:901px){.home-hero h1{font-size:70px;max-width:none;line-height:1.03}}
@media (max-width:900px){
  .home-hero{align-items:flex-start;min-height:auto;padding-top:calc(48vw + 150px)!important;padding-bottom:40px!important}
  .home-hero .mk{width:100%;bottom:auto;height:calc(48vw + 190px);background-position:74% 38%;background-size:cover;
    -webkit-mask-image:linear-gradient(180deg,#000 0%,#000 62%,transparent 100%);mask-image:linear-gradient(180deg,#000 0%,#000 62%,transparent 100%)}
  .home-hero .mk:after{background:linear-gradient(180deg,rgba(16,22,55,0) 55%,rgba(16,22,55,.6) 100%)}
}
