/* Vigilae — styles marketing partagés (extraits de la home, source unique pour toutes les pages publiques). */
:root{
  --teal:#0F6E56;--teal2:#16A37B;--emerald:#1FB888;--ink:#0c1813;--ink2:#16231e;--muted:#54625b;--muted2:#7e8b83;
  --bg:#f6faf8;--card:#fff;--line:#e7ede9;--line2:#dde6e1;
  --amber:#9c6310;--amber-bg:#FBF1DC;--red:#a8392c;--red-bg:#FAE8E4;--blue:#155f9f;--blue-bg:#E6F0FA;--teal-bg:#E2F4ED;
  --grad:linear-gradient(135deg,#1FB888,#0F6E56);--r:14px;--r-lg:20px;
  --shadow:0 1px 2px rgba(12,24,19,.04),0 18px 40px -14px rgba(12,24,19,.16);
}
*{box-sizing:border-box}
body{margin:0;font-family:'Inter',-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;color:var(--ink2);
 background:radial-gradient(900px 500px at 85% -5%,rgba(31,184,136,.12),transparent),radial-gradient(700px 400px at 5% 10%,rgba(31,184,136,.06),transparent),var(--bg);
 -webkit-font-smoothing:antialiased;letter-spacing:-.012em;line-height:1.6}
.wrap{max-width:1080px;margin:0 auto;padding:0 22px}
a{color:var(--teal);text-decoration:none}
.grad{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
header{position:sticky;top:0;z-index:10;backdrop-filter:saturate(180%) blur(14px);background:rgba(246,250,248,.72);border-bottom:1px solid var(--line)}
.nav{display:flex;align-items:center;justify-content:space-between;height:66px;gap:18px}
.logo{display:flex;align-items:center;gap:11px;font-weight:600;font-size:19px;letter-spacing:-.02em;flex:none}
.mark{width:34px;height:34px;border-radius:10px;background:var(--grad);color:#fff;display:flex;align-items:center;justify-content:center;font-size:17px;box-shadow:0 6px 16px -4px rgba(31,184,136,.5)}
.nav-links{display:flex;gap:22px;font-size:14.5px;font-weight:500;margin-left:auto}
.nav-links a{color:var(--muted)}
.nav-links a:hover{color:var(--teal)}
.right{display:flex;align-items:center;gap:13px;flex:none}
.btn{display:inline-flex;align-items:center;gap:8px;background:var(--grad);color:#fff;border:none;border-radius:11px;padding:12px 20px;font-size:15px;font-weight:600;font-family:inherit;cursor:pointer;box-shadow:0 10px 22px -8px rgba(15,110,86,.55);transition:.18s}
.btn:hover{transform:translateY(-1px);box-shadow:0 14px 28px -8px rgba(15,110,86,.6)}
.btn.ghost{background:#fff;color:var(--ink2);border:1px solid var(--line2);box-shadow:none}
.btn.ghost:hover{border-color:var(--teal2);color:var(--teal)}
.btn.sm{padding:9px 16px;font-size:14px}
.btn.lg{padding:14px 26px;font-size:16px}
.btn.light{background:#fff;color:var(--teal)}
.btn.outline-light{background:transparent;color:#fff;border:1px solid rgba(255,255,255,.3);box-shadow:none}
.btn.outline-light:hover{border-color:var(--emerald);color:var(--emerald)}
.linklike{color:var(--muted);font-size:14px;font-weight:500}
.linklike:hover{color:var(--teal)}
.hero{text-align:center;padding:74px 0 30px}
.pill{display:inline-flex;align-items:center;gap:8px;background:#fff;border:1px solid var(--line2);border-radius:99px;padding:6px 14px;font-size:13px;color:var(--muted);font-weight:500;box-shadow:var(--shadow);margin-bottom:24px}
.pill .dot{width:7px;height:7px;border-radius:50%;background:var(--emerald);box-shadow:0 0 0 3px rgba(31,184,136,.22)}
h1{font-size:52px;line-height:1.05;margin:0 0 18px;font-weight:700;letter-spacing:-.038em;max-width:820px;margin-left:auto;margin-right:auto}
.lead{font-size:19px;color:var(--muted);max-width:660px;margin:0 auto 26px}
.checks{list-style:none;padding:0;margin:0 auto 28px;max-width:560px;text-align:left;display:grid;gap:11px}
.checks li{display:flex;gap:11px;align-items:flex-start;font-size:15.5px;color:var(--ink2)}
.checks li::before{content:"✓";flex:none;width:22px;height:22px;border-radius:50%;background:var(--teal-bg);color:var(--teal);display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;margin-top:1px}
.cta{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}
.micro{font-size:13px;color:var(--muted2);margin:16px 0 0}
.hero-prudence{font-size:12px;color:var(--muted2);font-style:italic;max-width:620px;margin:22px auto 0;line-height:1.55}
/* reassurance */
.reassure{text-align:center;padding:34px 0 8px}
.reassure .intro{font-size:13px;color:var(--muted2);margin:0 0 16px}
.chips{display:flex;flex-wrap:wrap;gap:9px;justify-content:center;margin:0 0 16px}
.chip{font-size:13.5px;font-weight:550;color:var(--ink2);background:#fff;border:1px solid var(--line2);border-radius:99px;padding:7px 15px;box-shadow:var(--shadow)}
.trust{font-size:13px;color:var(--muted);max-width:700px;margin:0 auto}
/* sections */
.section{padding:66px 0;border-top:1px solid var(--line)}
.section.tint{background:linear-gradient(180deg,rgba(31,184,136,.05),transparent)}
.eyebrow{display:inline-block;font-size:13px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--teal2);margin:0 0 14px}
.h2{font-size:34px;line-height:1.13;letter-spacing:-.03em;font-weight:700;margin:0 0 16px;max-width:780px}
.section-lead{font-size:17px;color:var(--muted);max-width:740px;margin:0 0 38px;line-height:1.6}
.center{text-align:center}.center .h2,.center .section-lead,.center .eyebrow{margin-left:auto;margin-right:auto}
.center .h2{max-width:760px}
.cards{display:grid;gap:18px}
.cards.c3{grid-template-columns:repeat(3,1fr)}
.cards.c2{grid-template-columns:repeat(2,1fr)}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg);padding:24px;box-shadow:var(--shadow);transition:.18s}
.card:hover{transform:translateY(-3px);box-shadow:0 1px 2px rgba(12,24,19,.04),0 26px 50px -18px rgba(12,24,19,.22)}
.card h3{font-size:17px;margin:0 0 8px;letter-spacing:-.02em;font-weight:650}
.card p{font-size:14.5px;color:var(--muted);margin:0;line-height:1.6}
.card .ref{display:block;margin-top:12px;font-size:12px;color:var(--muted2);font-style:italic}
.ico{width:42px;height:42px;border-radius:12px;background:var(--teal-bg);color:var(--teal);display:flex;align-items:center;justify-content:center;font-size:20px;margin-bottom:14px}
.prudence{font-size:12.5px;color:var(--muted2);font-style:italic;max-width:860px;margin:28px 0 0;line-height:1.6;border-left:2px solid var(--line2);padding-left:14px}
.center .prudence{margin-left:auto;margin-right:auto}
/* pillars */
.pillars{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.pillar{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:22px;box-shadow:var(--shadow)}
.pillar .k{font-size:11.5px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--teal2);margin:0 0 10px}
.pillar h3{font-size:16px;margin:0 0 8px;font-weight:650}
.pillar p{font-size:13.5px;color:var(--muted);margin:0;line-height:1.55}
/* steps */
.steps{display:grid;gap:0;max-width:860px}
.step{display:grid;grid-template-columns:54px 1fr;gap:20px;padding:24px 0;border-bottom:1px solid var(--line)}
.step:last-child{border-bottom:none}
.step .num{width:42px;height:42px;border-radius:12px;background:var(--grad);color:#fff;display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:700;box-shadow:0 8px 18px -6px rgba(15,110,86,.5)}
.step h3{font-size:18px;margin:0 0 6px;font-weight:650;letter-spacing:-.02em}
.step p{font-size:14.5px;color:var(--muted);margin:0 0 10px;line-height:1.6}
.step .ref{font-size:12px;color:var(--muted2);font-style:italic}
.copilote-tag{display:inline-flex;align-items:center;gap:7px;font-size:12.5px;font-weight:600;color:var(--teal);background:var(--teal-bg);border-radius:99px;padding:4px 12px}
/* team */
.team{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.agent{background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg);padding:22px;box-shadow:var(--shadow);transition:.18s}
.agent:hover{transform:translateY(-3px);box-shadow:0 1px 2px rgba(12,24,19,.04),0 26px 50px -18px rgba(12,24,19,.22)}
.agent .av{width:44px;height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:15px;margin-bottom:14px}
.agent h3{font-size:16px;margin:0 0 3px;font-weight:650}
.agent .role{font-size:12.5px;font-weight:600;color:var(--teal2);margin:0 0 9px}
.agent p{font-size:13.5px;color:var(--muted);margin:0;line-height:1.55}
/* metiers */
.metier .sup{display:block;margin-top:12px;font-size:12px;color:var(--muted2);font-style:italic;line-height:1.5;border-top:1px dashed var(--line2);padding-top:10px}
/* offer / audit */
.audit{background:var(--card);border:1px solid var(--line);border-radius:26px;padding:36px;margin:0 0 30px;box-shadow:var(--shadow)}
.audit h3{font-size:24px;margin:0 0 6px;letter-spacing:-.03em;font-weight:700}
.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}
.audit .as{color:var(--muted);margin:0 0 26px;font-size:15px}
.agrid{display:grid;grid-template-columns:1fr 312px;gap:30px;align-items:start}
.q{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:13px 0;border-bottom:1px solid var(--line);font-size:15px}
.toggle{display:flex;gap:6px;flex:none}
.tb{font-size:14px;padding:8px 16px;border-radius:10px;border:1px solid var(--line2);background:#fff;color:var(--muted);cursor:pointer;font-weight:500;font-family:inherit;transition:.15s}
.tb:hover{border-color:var(--teal2)}
.tb.oui.on{background:var(--teal-bg);color:#0b5a45;border-color:transparent}
.tb.non.on{background:#eef0ee;color:var(--ink2);border-color:transparent}
.panel{position:sticky;top:86px;background:linear-gradient(165deg,#fbfdfc,#f2f8f5);border:1px solid var(--line);border-radius:var(--r-lg);padding:24px;text-align:center}
.ring-wrap{position:relative;width:150px;height:150px;margin:4px auto 8px}
.ring{transform:rotate(-90deg)}
.ring-bg{fill:none;stroke:#e9efeb;stroke-width:11}
.ring-fg{fill:none;stroke:var(--emerald);stroke-width:11;stroke-linecap:round;transition:stroke-dashoffset .5s ease,stroke .3s}
.ring-num{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center}
.ring-num .v{font-size:40px;font-weight:800;letter-spacing:-.04em;line-height:1}
.ring-num .d{font-size:12px;color:var(--muted2);margin-top:2px}
.lvl{display:inline-block;font-size:13px;font-weight:600;padding:5px 14px;border-radius:99px;margin:6px 0 10px}
.gaps{font-size:13px;color:var(--muted);text-align:left;line-height:1.5;min-height:34px}
.cap{margin-top:18px;border-top:1px solid var(--line);padding-top:18px}
.cap input{width:100%;padding:11px 13px;border:1px solid var(--line2);border-radius:10px;font-size:14px;font-family:inherit;margin-bottom:10px}
.cap input:focus{outline:none;border-color:var(--teal2);box-shadow:0 0 0 4px rgba(31,184,136,.15)}
.cap .btn{width:100%;justify-content:center}
.thanks{display:none;background:var(--teal-bg);color:#0b5a45;border-radius:12px;padding:14px;font-weight:600;font-size:14px}
.ok{background:var(--teal-bg);color:#0b5a45}.warn{background:var(--amber-bg);color:var(--amber)}.bad{background:var(--red-bg);color:var(--red)}.info{background:var(--blue-bg);color:var(--blue)}
.offer-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:0 0 30px}
.og{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:22px;text-align:center;box-shadow:var(--shadow)}
.og .big{font-size:21px;font-weight:700;letter-spacing:-.02em;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent;margin-bottom:6px}
.og p{font-size:13.5px;color:var(--muted);margin:0;line-height:1.5}
.ptable{width:100%;border-collapse:collapse;font-size:14px;margin-top:8px;background:var(--card);border:1px solid var(--line);border-radius:var(--r);overflow:hidden}
.ptable th,.ptable td{text-align:left;padding:12px 16px;border-bottom:1px solid var(--line)}
.ptable tr:last-child td{border-bottom:none}
.ptable th{font-size:11.5px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted2);font-weight:600;background:#fafdfb}
.ptable td:first-child{font-weight:600;color:var(--ink2)}
.ptable .pop{color:var(--teal);font-weight:600}
.addons{font-size:12.5px;color:var(--muted2);font-style:italic;margin-top:14px;line-height:1.6}
/* faq */
.faq{max-width:860px}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{cursor:pointer;list-style:none;padding:18px 40px 18px 0;font-size:16px;font-weight:600;color:var(--ink2);position:relative}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:6px;top:14px;font-size:24px;font-weight:400;color:var(--teal2);transition:.2s}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq details p{font-size:14.5px;color:var(--muted);margin:-4px 0 20px;line-height:1.65;max-width:780px}
/* dark CTA */
.cta-final{background:var(--ink);border-radius:26px;padding:56px 44px;text-align:center;color:#fff;position:relative;overflow:hidden}
.cta-final::before{content:"";position:absolute;inset:0;background:radial-gradient(640px 320px at 50% -25%,rgba(31,184,136,.28),transparent)}
.cta-final>*{position:relative}
.cta-final .eyebrow{color:var(--emerald)}
.cta-final h2{font-size:33px;letter-spacing:-.03em;margin:0 0 14px;font-weight:700;color:#fff;max-width:660px;margin-left:auto;margin-right:auto}
.cta-final p{font-size:16px;color:#aebcb4;max-width:640px;margin:0 auto 26px}
.cta-final .micro{color:#8a9b92}
.cta-final .hero-prudence{color:#73837a}
/* footer */
footer{background:var(--ink);color:#9fb0a7;padding:56px 0 30px}
.foot-grid{display:grid;grid-template-columns:1.5fr repeat(4,1fr);gap:30px;margin-bottom:34px}
.foot-grid h4{font-size:11.5px;text-transform:uppercase;letter-spacing:.05em;color:#cfe0d8;margin:0 0 13px;font-weight:600}
.foot-grid a{color:#9fb0a7;display:block;margin-bottom:8px;font-size:13.5px}
.foot-grid a:hover{color:var(--emerald)}
.foot-brand .logo{color:#fff}
.foot-brand p{font-size:13.5px;line-height:1.6;margin:12px 0 0;color:#8a9b92;max-width:280px}
.foot-legal{font-size:11.5px;color:#73837a;line-height:1.7;border-top:1px solid #1d2c25;padding-top:20px;font-style:italic}
.foot-copy{font-size:12px;color:#8a9b92;margin-top:14px;font-style:normal}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--teal2);outline-offset:2px}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.001ms!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}
@media(max-width:900px){.nav-links{display:none}}
@media(max-width:600px){#vgLangSelect-host{display:none}.nav{gap:10px}.right{gap:9px}.btn.sm{padding:8px 12px}}
@media(max-width:400px){.logo-txt{display:none}}
@media(max-width:900px){
  h1{font-size:38px}.h2{font-size:27px}.lead{font-size:17px}
  .cards.c3,.cards.c2,.pillars,.team,.offer-grid{grid-template-columns:1fr}
  .agrid{grid-template-columns:1fr}.panel{position:static}.audit{padding:24px}
  .foot-grid{grid-template-columns:1fr 1fr}
  .cta-final{padding:40px 24px}.cta-final h2{font-size:26px}
  .step{grid-template-columns:42px 1fr;gap:14px}
}

/* --- Film de présentation --- */
.film-frame{margin-top:6px;border-radius:var(--r-lg);overflow:hidden;line-height:0;background:#05070c;border:1px solid var(--line2);box-shadow:0 30px 70px -24px rgba(12,24,19,.5)}
.film-frame video{display:block;width:100%;height:auto;aspect-ratio:16/9;background:#05070c}

/* --- Hero fond vidéo --- */
.hero--video{position:relative;isolation:isolate;padding:104px 0 84px;overflow:hidden}
.hero--video .hero-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.hero--video .hero-scrim{position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(8,18,14,.78),rgba(8,18,14,.54) 42%,rgba(8,18,14,.86))}
.hero--video .hero-inner{position:relative;z-index:1}
.hero--video h1{color:#fff}
.hero--video .lead{color:#d8e4de}
.hero--video .checks li{color:#e9f1ee}
.hero--video .checks li::before{background:rgba(31,184,136,.22);color:#86f0cb}
.hero--video .pill{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.22);color:#e4efea;box-shadow:none}
.hero--video .pill .dot{box-shadow:0 0 0 3px rgba(31,184,136,.32)}
.hero--video .micro{color:#b7c4bd}
.hero--video .hero-prudence{color:#9aa9a1}
@media (prefers-reduced-motion: reduce){.hero--video .hero-bg{display:none}}
