
:root{
  /* Palette dérivée du logo Maxillo·Facial (bleu marine / bleu glacier) */
  --void:#FCF9F8;
  --void-2:#F1EFEE;
  --panel:#FFFFFF;
  --panel-2:#F7F6F4;
  --ink:#1B1C1C;
  --ink-soft:#404945;
  --ink-dim:#5A6672;
  --cyan:#14437A;
  --cyan-deep:#031B47;
  --teal:#8FA6C1;
  --glow:rgba(3,27,71,.14);
  --line:rgba(20,67,122,.14);
  --line-strong:rgba(20,67,122,.24);
  --display:'Plus Jakarta Sans',system-ui,sans-serif;
  --sans:'Plus Jakarta Sans',system-ui,sans-serif;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:var(--sans);background:var(--void);color:var(--ink);line-height:1.7;overflow-x:hidden;-webkit-font-smoothing:antialiased}
body::before{content:'';position:fixed;inset:0;z-index:0;pointer-events:none;
  background:radial-gradient(circle at 78% 12%,rgba(189,217,239,.30),transparent 52%),radial-gradient(circle at 12% 88%,rgba(189,217,239,.22),transparent 55%);}

a{color:inherit}

/* ============================ TOP BAR ============================ */
.topbar{position:fixed;top:0;left:0;right:0;z-index:100;display:flex;justify-content:space-between;align-items:center;padding:14px 36px;background:rgba(252,249,248,.78);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
.brand{font-family:var(--display);font-size:19px;letter-spacing:.3px;text-decoration:none;color:var(--ink);white-space:nowrap}
.brand b{color:var(--cyan);font-weight:500}
.brand .dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--cyan);box-shadow:0 0 10px var(--glow);margin:0 6px 2px}.brand{display:inline-flex;align-items:center;gap:11px}.brand-logo{width:38px;height:38px;flex:none;border-radius:50%}.brand-tx{display:inline-block}@media(max-width:900px){.brand-logo{width:32px;height:32px}.brand{gap:9px}}

.nav{display:flex;align-items:center;gap:6px}
.nav a, .nav .nav-trigger{color:var(--ink);text-decoration:none;font-size:14px;font-weight:400;padding:10px 14px;border-radius:8px;transition:.2s;display:inline-flex;align-items:center;gap:6px;background:transparent;border:none;cursor:pointer;font-family:inherit;letter-spacing:.2px}
.nav a:hover, .nav .nav-trigger:hover{color:var(--cyan);background:rgba(20,67,122,.05)}
.nav a.active{color:var(--cyan)}
.nav a.nav-med{border:1px solid var(--cyan);color:var(--cyan);padding:8px 15px;border-radius:30px;margin-left:4px;font-weight:500}
.nav a.nav-med:hover{background:rgba(20,67,122,.10);color:var(--cyan)}
.nav a.nav-med.active{background:var(--cyan);color:var(--void)}
.nav .chev{width:8px;height:8px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg) translate(-2px,-2px);transition:.25s;opacity:.7}
.has-menu[aria-expanded="true"] .chev{transform:rotate(-135deg) translate(-2px,-2px)}

.cta{background:var(--cyan);color:var(--void);text-decoration:none;padding:12px 26px;border-radius:40px;font-weight:700;font-size:14px;transition:.3s;box-shadow:0 0 22px 1px var(--glow);white-space:nowrap;margin-left:10px}
.cta:hover{box-shadow:0 0 24px 2px var(--glow);transform:translateY(-1px);color:var(--void)}
.cta{display:inline-flex;align-items:center;gap:8px}
@keyframes navCtaPulse{0%,100%{box-shadow:0 0 0 0 rgba(20,67,122,.45),0 0 14px 1px rgba(20,67,122,.35)}50%{box-shadow:0 0 0 6px rgba(20,67,122,0),0 0 26px 5px rgba(20,67,122,.6)}}
.desktop-only-cta,.mobile-panel .cta{animation:navCtaPulse 2.8s ease-in-out infinite}
.desktop-only-cta:hover{animation:none}
.cta::after{content:none}

@keyframes ctaPulse{0%,100%{box-shadow:0 0 0 0 rgba(20,67,122,0)}50%{box-shadow:0 0 20px 3px rgba(20,67,122,.45)}}
.cta.desktop-only-cta,.mobile-panel .cta{animation:ctaPulse 2.8s ease-in-out infinite}
.cta:hover{animation:none}
.nav a.cta.desktop-only-cta{background:var(--cyan);color:var(--void);padding:13px 30px;font-weight:700;font-size:14.5px;border-radius:40px;margin-left:14px;animation:navCtaPulse 2.6s ease-in-out infinite}
.nav a.cta.desktop-only-cta:hover{background:var(--cyan);color:var(--void);box-shadow:0 0 28px 5px var(--glow);transform:translateY(-1px)}

/* ---- Dropdown ---- */
.has-menu{position:relative}
.dropdown{position:absolute;top:calc(100% + 10px);left:50%;transform:translate(-50%,-8px);min-width:640px;background:rgba(255,255,255,.96);backdrop-filter:blur(20px);border:1px solid var(--line-strong);border-radius:18px;padding:22px;display:grid;grid-template-columns:1fr 1fr;gap:4px 18px;opacity:0;pointer-events:none;transition:opacity .25s,transform .25s;box-shadow:0 30px 60px rgba(3,27,71,.14)}
.has-menu[aria-expanded="true"] .dropdown{opacity:1;pointer-events:auto;transform:translate(-50%,0)}
.dropdown::before{content:'';position:absolute;top:-6px;left:50%;transform:translateX(-50%) rotate(45deg);width:12px;height:12px;background:rgba(255,255,255,.96);border-left:1px solid var(--line-strong);border-top:1px solid var(--line-strong)}
.dd-item{display:flex;flex-direction:column;gap:2px;padding:10px 12px;border-radius:10px;text-decoration:none;color:var(--ink);transition:.2s}
.dd-item:hover{background:rgba(20,67,122,.06);color:var(--cyan)}
.dd-item .t{font-size:14px;font-weight:500}
.dd-item .d{font-size:12px;color:var(--ink-soft);font-weight:300;line-height:1.4}
.dd-item:hover .d{color:var(--ink-soft)}
.dd-foot{grid-column:1/-1;border-top:1px solid var(--line);margin-top:8px;padding:14px 12px 4px;display:flex;justify-content:space-between;align-items:center;font-size:12px;color:var(--ink-soft)}
.dd-foot a{color:var(--cyan);text-decoration:none;font-weight:500}

/* mobile menu */
.burger{display:none;background:transparent;border:none;color:var(--ink);cursor:pointer;padding:8px;width:40px;height:40px;flex-direction:column;justify-content:center;gap:5px}
.burger span{display:block;width:22px;height:1.5px;background:currentColor;transition:.3s}
.burger.open span:nth-child(1){transform:translateY(6.5px) rotate(45deg)}
.burger.open span:nth-child(2){opacity:0}
.burger.open span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg)}

.mobile-panel{position:fixed;inset:60px 0 0 0;z-index:99;background:rgba(252,249,248,.98);backdrop-filter:blur(20px);padding:30px 28px;display:none;flex-direction:column;gap:6px;overflow-y:auto}
.mobile-panel.open{display:flex}
.mobile-panel a, .mobile-panel .m-cat{display:block;padding:14px 4px;font-size:18px;font-family:var(--display);font-weight:300;color:var(--ink);text-decoration:none;border-bottom:1px solid var(--line)}
.mobile-panel .m-cat{color:var(--cyan);font-size:12px;letter-spacing:2px;text-transform:uppercase;font-family:var(--sans);font-weight:500;border-bottom:none;padding:18px 4px 6px;margin-top:10px}
.mobile-panel .m-sub{padding-left:14px;font-size:15px;font-family:var(--sans);font-weight:400}
.mobile-panel .cta{margin-top:24px;text-align:center}

/* ============================ HERO ============================ */
.hero{position:relative;z-index:1;min-height:100vh;display:grid;grid-template-columns:1.15fr .85fr;align-items:safe center;gap:30px;padding:140px 56px 80px;max-width:1400px;margin:0 auto}
.kicker{display:inline-flex;align-items:center;gap:10px;font-size:12px;letter-spacing:3px;text-transform:uppercase;color:var(--cyan);font-weight:600;margin-bottom:26px}
.kicker::before{content:'';width:30px;height:1px;background:var(--cyan)}
.hero h1{font-family:var(--display);font-size:clamp(42px,5.5vw,84px);line-height:1.02;font-weight:300;margin-bottom:28px;letter-spacing:-1.5px}
.hero h1 em{font-style:italic;color:var(--cyan)}
.hero .lead{font-size:19px;color:var(--ink-soft);max-width:52ch;margin-bottom:38px;font-weight:300;line-height:1.65}
.actions{display:flex;gap:18px;align-items:center;flex-wrap:wrap}
.btn-primary{background:var(--cyan);color:var(--void);text-decoration:none;padding:17px 34px;border-radius:40px;font-weight:600;font-size:15px;transition:.3s;box-shadow:0 0 0 0 var(--glow);display:inline-flex;align-items:center;gap:10px}
.btn-primary:hover{box-shadow:0 0 30px 3px var(--glow);transform:translateY(-2px);color:var(--void)}
.btn-ghost{color:var(--ink);text-decoration:none;font-size:15px;font-weight:500;display:inline-flex;align-items:center;gap:8px;opacity:.85;padding:14px 4px}
.btn-ghost:hover{opacity:1;color:var(--cyan)}

.hero-meta{margin-top:54px;display:flex;gap:30px;font-size:13px;color:var(--ink-soft);flex-wrap:wrap}
.hero-meta div{display:flex;flex-direction:column;gap:2px}
.hero-meta b{color:var(--ink);font-weight:500;font-size:14px;letter-spacing:.3px}

/* anatomical scene */
.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}
.hero h2.hero-seo{font-family:var(--sans);font-size:15px;font-weight:500;color:var(--cyan);letter-spacing:.2px;margin:0 0 20px;line-height:1.5;max-width:54ch}
.rotator{display:inline-flex;height:1.05em;overflow:hidden;vertical-align:bottom}
.rotator-track{display:flex;flex-direction:column;animation:rotWords 9s cubic-bezier(.76,0,.24,1) infinite}
.rotator-track>span{height:1.05em;color:var(--cyan);white-space:nowrap}
@keyframes rotWords{0%,22%{transform:translateY(0)}33%,55%{transform:translateY(-1.05em)}66%,88%{transform:translateY(-2.1em)}100%{transform:translateY(-3.15em)}}
@media(prefers-reduced-motion:reduce){.rotator-track{animation:none}}
.familles{position:relative;z-index:1;max-width:1240px;margin:0 auto;padding:100px 56px}
.fam-layout{display:grid;grid-template-columns:.82fr 1.18fr;gap:34px;align-items:start;margin-top:48px}
.fam-photo{position:relative;margin:0;border-radius:20px;overflow:hidden;background:var(--panel-2);box-shadow:0 18px 44px rgba(3,27,71,.12);aspect-ratio:3/4;position:sticky;top:110px}
.fp-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .55s ease}
.fp-img.is-on{opacity:1}
.fam-list{display:flex;flex-direction:column;gap:12px}
.fam-item{background:var(--panel);border:1px solid var(--line);border-radius:16px;overflow:hidden;transition:border-color .3s,box-shadow .3s}
.fam-item.is-open{border-color:rgba(20,67,122,.32);box-shadow:0 10px 30px rgba(3,27,71,.08)}
.fam-head{width:100%;display:flex;align-items:center;gap:18px;padding:22px 24px;background:transparent;border:none;cursor:pointer;text-align:left;font-family:inherit;color:var(--ink)}
.fam-txt{display:flex;flex-direction:column;gap:5px;flex:1}
.fam-sur{font-size:11px;letter-spacing:1.8px;text-transform:uppercase;color:var(--ink-dim);font-weight:600}
.fam-title{font-family:var(--display);font-size:clamp(18px,2vw,23px);font-weight:400;line-height:1.25;letter-spacing:-.4px}
.fam-item.is-open .fam-title{color:var(--cyan)}
.fam-chev{flex:none;width:32px;height:32px;border-radius:50%;border:1px solid var(--line);position:relative;transition:.3s}
.fam-chev::before,.fam-chev::after{content:'';position:absolute;top:50%;left:50%;background:var(--cyan);border-radius:2px;transform:translate(-50%,-50%);transition:.3s}
.fam-chev::before{width:11px;height:1.6px}
.fam-chev::after{width:1.6px;height:11px}
.fam-item.is-open .fam-chev{background:var(--cyan);border-color:var(--cyan)}
.fam-item.is-open .fam-chev::before{background:#fff}
.fam-item.is-open .fam-chev::after{height:0;background:#fff}
.fam-head:hover .fam-chev{border-color:var(--cyan)}
.fam-body{max-height:0;overflow:hidden;transition:max-height .45s cubic-bezier(.2,.7,.2,1)}
.fam-item.is-open .fam-body{max-height:520px}
.fam-body>*{margin:0 24px}
.fam-body p{font-size:15px;line-height:1.7;color:var(--ink-soft);font-weight:300;padding-bottom:16px}
.fam-links{display:flex;flex-wrap:wrap;gap:8px;padding-bottom:18px}
.fam-links a{font-size:13px;text-decoration:none;color:var(--cyan);background:rgba(20,67,122,.06);border:1px solid rgba(20,67,122,.14);padding:7px 13px;border-radius:30px;transition:.2s;font-weight:500}
.fam-links a:hover{background:var(--cyan);color:#FCF9F8;border-color:var(--cyan)}
.fam-cta{display:inline-block;font-size:14px;font-weight:600;color:var(--cyan);text-decoration:none;padding-bottom:24px}
.fam-cta:hover{text-decoration:underline;text-underline-offset:3px}
@media(max-width:900px){.familles{padding:64px 24px}.fam-layout{grid-template-columns:1fr;gap:22px}.fam-photo{position:relative;top:0;aspect-ratio:16/10;order:-1}.fam-head{padding:18px 18px;gap:12px}.fam-body>*{margin:0 18px}.fam-item.is-open .fam-body{max-height:760px}}
.human{position:relative;z-index:1;max-width:1240px;margin:0 auto;padding:90px 56px}
.human-head{max-width:760px;margin-bottom:44px}
.human-head h2{font-family:var(--display);font-size:clamp(26px,3.2vw,40px);font-weight:300;line-height:1.15;letter-spacing:-.8px;margin-bottom:18px}
.human-head p{font-size:17px;color:var(--ink-soft);font-weight:300;line-height:1.65;max-width:60ch}
.human-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:24px;align-items:stretch}
.human-photo{margin:0;border-radius:20px;overflow:hidden;background:var(--panel-2);box-shadow:0 18px 44px rgba(3,27,71,.12)}
.human-photo img{width:100%;height:100%;max-height:440px;object-fit:cover;object-position:50% 28%;display:block}
.human-card{background:var(--cyan-deep);color:#FCF9F8;border-radius:20px;padding:34px 32px;display:flex;flex-direction:column;gap:16px;box-shadow:0 18px 44px rgba(3,27,71,.18)}
.hc-label{font-size:12px;letter-spacing:2.4px;text-transform:uppercase;color:#BDD9EF;font-weight:600}
.human-card p{font-size:15px;line-height:1.65;color:rgba(252,249,248,.86);font-weight:300}
.hc-phone{font-family:var(--display);font-size:26px;font-weight:500;color:#fff;text-decoration:none;letter-spacing:-.5px;margin-top:auto}
.hc-phone:hover{color:#BDD9EF}
.hc-link{font-size:14px;font-weight:600;color:#BDD9EF;text-decoration:none}
.hc-link:hover{color:#fff;text-decoration:underline;text-underline-offset:3px}
@media(max-width:900px){.human{padding:64px 24px}.human-grid{grid-template-columns:1fr}.human-photo img{max-height:300px}.human-card{padding:28px 24px}}
.hero-photo{position:relative;margin:0;border-radius:20px;overflow:hidden;box-shadow:0 24px 60px rgba(3,27,71,.16);background:var(--panel-2)}
.hero-photo img{width:100%;height:100%;max-height:600px;object-fit:cover;display:block}
.hero-badge{position:absolute;left:18px;bottom:18px;right:18px;display:flex;align-items:center;gap:12px;background:rgba(255,255,255,.94);backdrop-filter:blur(10px);border:1px solid var(--line);border-radius:14px;padding:12px 16px;box-shadow:0 8px 24px rgba(3,27,71,.10)}
.hb-stars{color:#e0a04e;font-size:14px;letter-spacing:1px;flex-shrink:0}
.hb-text{font-size:13px;color:var(--ink-soft);line-height:1.4}
.hb-text b{color:var(--ink);font-weight:700}
.scene{position:relative;height:80vh;min-height:560px;display:flex;align-items:center;justify-content:center;overflow:hidden}
.scene-ring{position:absolute;border-radius:50%;border:1px solid var(--line);animation:spin 40s linear infinite}
.scene-ring.r1{width:440px;height:440px}
.scene-ring.r2{width:340px;height:340px;border-color:rgba(20,67,122,.18);animation-duration:28s;animation-direction:reverse}
.scene-ring.r3{width:560px;height:560px;border-style:dashed;border-color:rgba(20,67,122,.08);animation-duration:60s}
@keyframes spin{to{transform:rotate(360deg)}}
.anatomy{position:relative;width:380px;height:auto;z-index:2;filter:drop-shadow(0 0 30px rgba(20,67,122,.25))}
.pulse{transform-origin:center;animation:pulse 2.6s ease-in-out infinite}
@keyframes pulse{0%,100%{opacity:.55}50%{opacity:1}}
.flow{stroke-dasharray:6 8;animation:flow 1.6s linear infinite}
@keyframes flow{to{stroke-dashoffset:-28}}

.datapoint{position:absolute;font-size:11px;letter-spacing:1.5px;color:var(--cyan);font-weight:500;text-transform:uppercase;opacity:.9;padding-left:16px}
.datapoint::before{content:'';position:absolute;left:0;top:50%;width:8px;height:8px;border-radius:50%;background:var(--cyan);box-shadow:0 0 10px var(--cyan);transform:translateY(-50%)}
.dp1{top:18%;left:4%}.dp2{top:46%;right:6%}.dp3{bottom:18%;left:8%}.dp4{bottom:30%;right:7%}

/* ============================ SECTION BASE ============================ */
.section-head{text-align:center;max-width:760px;margin:0 auto 60px}
.section-head .depth{display:inline-flex;align-items:center;gap:10px;font-size:12px;letter-spacing:2px;text-transform:uppercase;color:var(--cyan);font-weight:600;margin-bottom:18px}
.section-head .depth .idx{font-family:var(--display);font-size:30px;color:var(--cyan);opacity:.4;font-style:italic}
.section-head h2{font-family:var(--display);font-size:clamp(32px,4vw,54px);font-weight:300;line-height:1.05;margin-bottom:18px;letter-spacing:-.8px}
.section-head h2 em{font-style:italic;color:var(--cyan)}
.section-head p{color:var(--ink-soft);font-size:18px;font-weight:300;max-width:60ch;margin:0 auto}

/* ============================ AIGUILLAGE PAR INTENTION ============================ */
.router{position:relative;z-index:2;max-width:1180px;margin:0 auto;padding:34px 56px 6px}
.router-head{margin-bottom:18px}
.router-head .rk{font-size:11px;letter-spacing:2.5px;text-transform:uppercase;color:var(--cyan);font-weight:600}
.router-head .rh{font-family:var(--display);font-weight:300;font-size:clamp(20px,2.4vw,26px);letter-spacing:-.3px;margin-top:6px}
.router-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
.rcard{position:relative;display:flex;flex-direction:column;gap:11px;background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:24px 22px;text-decoration:none;transition:.25s}
.rcard:hover{border-color:rgba(20,67,122,.5);transform:translateY(-3px);box-shadow:0 14px 40px rgba(3,27,71,.12)}
.rcard.feat{background:linear-gradient(160deg,rgba(20,67,122,.08),rgba(255,255,255,.012));border-color:rgba(20,67,122,.3)}
.rc-ic{width:40px;height:40px;border-radius:11px;background:rgba(20,67,122,.1);border:1px solid rgba(20,67,122,.25);display:flex;align-items:center;justify-content:center;color:var(--cyan)}
.rc-ic svg{width:20px;height:20px}
.rc-you{font-size:11px;letter-spacing:1.5px;text-transform:uppercase;color:var(--ink-dim);font-weight:600}
.rc-t{font-family:var(--display);font-size:19px;font-weight:400;color:var(--ink);line-height:1.2;letter-spacing:-.2px}
.rc-d{font-size:13.5px;color:var(--ink-soft);font-weight:300;line-height:1.5;flex:1}
.rc-go{font-size:13px;color:var(--cyan);font-weight:500}
@media(max-width:900px){.router{padding:24px 22px 4px}.router-grid{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.router-grid{grid-template-columns:1fr}}

/* ============================ BANDEAU DE CONFIANCE ============================ */
.trustbar{position:relative;z-index:2;max-width:1180px;margin:18px auto 0;padding:13px 24px;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:8px 16px;background:var(--panel);border:1px solid var(--line);border-radius:14px;text-decoration:none;transition:.25s}
.trustbar:hover{border-color:rgba(20,67,122,.45);transform:translateY(-2px)}
.tb-stars{color:#ffc83d;letter-spacing:2px;font-size:15px}
.tb-score{color:var(--ink);font-size:14px;font-weight:300}
.tb-score b{font-weight:600}
.tb-quote{color:var(--ink-soft);font-size:13.5px;font-weight:300;font-style:italic}
.tb-link{color:var(--cyan);font-size:13px;font-weight:500;white-space:nowrap}
@media(max-width:640px){.trustbar{margin-top:14px;padding:12px 18px;gap:6px 12px}.tb-quote{flex-basis:100%;text-align:center;order:4}}
.reassure{position:relative;z-index:2;max-width:1180px;margin:12px auto 0;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:10px}
.rea-chip{display:inline-flex;align-items:center;gap:8px;padding:8px 15px;background:rgba(20,67,122,.04);border:1px solid var(--line);border-radius:999px;color:var(--ink-soft);font-size:13px;font-weight:300;text-decoration:none;transition:.22s}
.rea-chip:hover{border-color:rgba(20,67,122,.4);color:var(--ink)}
.rea-ic{display:inline-flex;align-items:center;justify-content:center;width:19px;height:19px;border-radius:50%;background:rgba(20,67,122,.12);color:var(--cyan);font-size:12px;font-weight:600}
@media(max-width:640px){.reassure{gap:7px;margin-top:10px}.rea-chip{padding:7px 12px;font-size:12px}}

/* ============================ TEASER TARIFS ============================ */
.priceteaser{position:relative;z-index:2;max-width:1180px;margin:10px auto 0;padding:11px 24px;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:6px 14px;background:transparent;border:1px dashed var(--line);border-radius:14px;text-decoration:none;transition:.25s}
.priceteaser:hover{border-color:rgba(20,67,122,.45)}
.pt-ic{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;background:rgba(20,67,122,.12);color:var(--cyan);font-size:13px;font-weight:700}
.pt-txt{color:var(--ink-soft);font-size:13.5px;font-weight:300}
.pt-txt b{color:var(--ink);font-weight:600}
.pt-link{color:var(--cyan);font-size:13px;font-weight:500;white-space:nowrap}
@media(max-width:640px){.priceteaser{padding:10px 16px}.pt-link{flex-basis:100%;text-align:center}}

/* ============================ ORIENTEUR SYMPTOMES ============================ */
.orient{position:relative;z-index:1;padding:30px 56px 20px;max-width:1180px;margin:0 auto}
.orient-inner{background:linear-gradient(165deg,var(--panel),var(--void-2));border:1px solid var(--line-strong);border-radius:24px;padding:48px 48px 44px;position:relative;overflow:hidden}
.orient-inner::before{content:'';position:absolute;top:-80px;right:-80px;width:280px;height:280px;border:1px solid rgba(20,67,122,.12);border-radius:50%;pointer-events:none}
.orient-head{max-width:680px;margin-bottom:32px;position:relative}
.orient-head .kicker{display:inline-flex;align-items:center;gap:10px;font-size:12px;letter-spacing:3px;text-transform:uppercase;color:var(--cyan);font-weight:600;margin-bottom:18px}
.orient-head .kicker::before{content:'';width:28px;height:1px;background:var(--cyan)}
.orient-head h2{font-family:var(--display);font-size:clamp(28px,3.6vw,46px);font-weight:300;line-height:1.08;letter-spacing:-.6px;margin-bottom:14px}
.orient-head h2 em{font-style:italic;color:var(--cyan)}
.orient-head p{color:var(--ink-soft);font-size:16px;font-weight:300;line-height:1.6}
.sym-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;position:relative}
.sym{display:flex;gap:13px;align-items:flex-start;background:var(--void-2);border:1px solid var(--line);border-radius:13px;padding:15px 17px;cursor:pointer;transition:.2s;text-align:left}
.sym:hover{border-color:var(--line-strong)}
.sym.on{border-color:var(--cyan);background:rgba(20,67,122,.07)}
.sym .box{width:22px;height:22px;border-radius:7px;border:1.5px solid var(--ink-dim);flex-shrink:0;display:flex;align-items:center;justify-content:center;transition:.2s;margin-top:1px}
.sym.on .box{background:var(--cyan);border-color:var(--cyan)}
.sym .box svg{width:13px;height:13px;color:var(--void);opacity:0;transition:.2s}
.sym.on .box svg{opacity:1}
.sym span{font-size:14.5px;color:var(--ink);font-weight:300;line-height:1.4}
.orient-cta-row{display:flex;align-items:center;gap:20px;margin-top:24px;flex-wrap:wrap}
.orient-count{font-size:13px;color:var(--ink-soft);font-weight:300}
.orient-result{display:none;margin-top:36px;padding-top:34px;border-top:1px solid var(--line)}
.orient-result.show{display:block;animation:orientFade .5s ease}
@keyframes orientFade{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
.res-head{font-size:12px;letter-spacing:2px;text-transform:uppercase;color:var(--cyan);font-weight:600;margin-bottom:22px}
.res-bars{display:flex;flex-direction:column;gap:16px;margin-bottom:14px}
.res-row{display:block;text-decoration:none}
.res-row .rl{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:7px}
.res-row .rname{font-family:var(--display);font-size:18px;font-weight:400;color:var(--ink);transition:.2s}
.res-row .rname .lead-tag{font-family:var(--sans);font-size:10px;letter-spacing:1.5px;text-transform:uppercase;font-weight:600;margin-left:10px;padding:3px 8px;border-radius:20px;vertical-align:middle}
.res-row .rpct{font-family:var(--display);font-size:16px;font-style:italic;color:var(--ink-soft)}
.res-row .rtrack{height:12px;border-radius:8px;background:rgba(20,67,122,.12);overflow:hidden}
.res-row .rfill{height:100%;border-radius:8px;width:0;transition:width .9s cubic-bezier(.2,.7,.2,1)}
.res-row .rmore{font-size:12.5px;color:var(--ink-soft);margin-top:6px;opacity:0;transition:.2s;display:inline-flex;gap:5px}
.res-row:hover .rname{color:var(--cyan)}
.res-row:hover .rmore{opacity:1}
.res-disclaim{font-size:12.5px;color:var(--ink-dim);font-weight:300;line-height:1.5;background:rgba(20,67,122,.06);border:1px solid var(--line);border-radius:10px;padding:13px 16px;margin:20px 0 26px}
.res-contact{background:var(--void-2);border:1px solid var(--line);border-radius:16px;padding:26px}
.res-contact h3{font-family:var(--display);font-size:20px;font-weight:400;margin-bottom:6px}
.res-contact .rcsub{font-size:14px;color:var(--ink-soft);font-weight:300;margin-bottom:20px}
.rc-fields{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px;margin-bottom:14px}
.rc-fields input{width:100%;background:var(--panel);border:1px solid var(--line-strong);border-radius:10px;padding:12px 14px;color:var(--ink);font-family:inherit;font-size:15px;transition:.2s}
.rc-fields input:focus{outline:none;border-color:var(--cyan);box-shadow:0 0 0 3px rgba(20,67,122,.12)}
.rc-consent{display:flex;gap:11px;align-items:flex-start;font-size:12.5px;color:var(--ink-soft);font-weight:300;line-height:1.45;margin-bottom:18px}
.rc-consent input{margin-top:2px;width:18px;height:18px;accent-color:var(--cyan);flex-shrink:0}
.rc-actions{display:flex;gap:12px;flex-wrap:wrap}
.rc-wa{background:#25D366;color:#fff;border:none;text-decoration:none;text-align:center;padding:14px 26px;border-radius:40px;font-weight:600;cursor:pointer;transition:.2s;flex:1;min-width:200px}
.rc-wa:hover{box-shadow:0 0 22px rgba(37,211,102,.45);color:#fff}
.rc-wa.dis{opacity:.4;pointer-events:none;filter:grayscale(.4)}
.rc-rdv{background:var(--cyan);color:var(--void);text-decoration:none;text-align:center;padding:14px 26px;border-radius:40px;font-weight:600;transition:.2s;flex:1;min-width:200px;display:inline-flex;align-items:center;justify-content:center}
.rc-rdv:hover{box-shadow:0 0 24px rgba(20,67,122,.4);color:var(--void)}
.rc-warn{display:none;margin-top:12px;font-size:12.5px;color:#e0a04e;background:rgba(224,160,78,.10);border:1px solid rgba(224,160,78,.35);border-radius:9px;padding:9px 12px;line-height:1.4}
.rc-warn.show{display:block}
.orient-empty{font-size:13px;color:#e0a04e;margin-top:14px;display:none}
.orient-empty.show{display:block}
@media(max-width:900px){
  .orient{padding:20px 24px}
  .orient-inner{padding:32px 24px 30px}
  .sym-grid{grid-template-columns:1fr}
  .rc-fields{grid-template-columns:1fr}
}

/* ============================ PATHOLOGIES ============================ */
.pathologies{position:relative;z-index:1;padding:120px 56px;max-width:1280px;margin:0 auto}
.path-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.path-card{background:var(--panel);border:1px solid var(--line);border-radius:18px;padding:28px;text-decoration:none;color:var(--ink);transition:.35s;position:relative;overflow:hidden;display:flex;flex-direction:column;gap:14px;min-height:220px}
.path-card::before{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--cyan),transparent);opacity:0;transition:.4s}
.path-card:hover{border-color:rgba(20,67,122,.45);transform:translateY(-4px);background:var(--panel-2)}
.path-card:hover::before{opacity:1}
.path-card .glyph{width:42px;height:42px;display:flex;align-items:center;justify-content:center;border-radius:10px;background:rgba(20,67,122,.08);border:1px solid rgba(20,67,122,.18);color:var(--cyan)}
.path-card .glyph svg{width:22px;height:22px}
.path-card h3{font-family:var(--display);font-size:22px;font-weight:400;letter-spacing:-.3px;line-height:1.15}
.path-card p{color:var(--ink-soft);font-size:14px;font-weight:300;line-height:1.55;flex:1}
.path-card .arrow{font-size:13px;color:var(--cyan);letter-spacing:.5px;display:inline-flex;align-items:center;gap:6px;opacity:.7;transition:.3s}
.path-card:hover .arrow{opacity:1;gap:10px}
.path-card.feat{background:linear-gradient(135deg,rgba(20,67,122,.08),rgba(143,166,193,.04));border-color:rgba(20,67,122,.25)}
.path-card .tag{position:absolute;top:18px;right:18px;font-size:10px;letter-spacing:1.5px;text-transform:uppercase;color:var(--cyan);font-weight:600;background:rgba(20,67,122,.1);padding:4px 9px;border-radius:20px;border:1px solid rgba(20,67,122,.2)}

/* ============================ STATS RIBBON ============================ */
.ribbon{position:relative;z-index:1;display:flex;justify-content:center;gap:80px;flex-wrap:wrap;padding:54px 40px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--void-2)}
.ribbon .stat{text-align:center}
.ribbon .n{font-family:var(--display);font-size:clamp(32px,3.6vw,46px);color:var(--cyan);font-weight:400;letter-spacing:-.5px}
.ribbon .l{font-size:12.5px;letter-spacing:1.2px;text-transform:uppercase;color:var(--ink-soft);margin-top:6px}

/* ============================ TESTIMONIALS ============================ */
.testimonials{position:relative;z-index:1;padding:120px 56px;max-width:1180px;margin:0 auto}
.test-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;align-items:start}
.test-card{break-inside:avoid}
.test-card{background:var(--panel);border:1px solid var(--line);border-radius:18px;padding:34px 30px;display:flex;flex-direction:column;gap:20px;position:relative}
.test-card blockquote{flex:none}
.test-card .quote{font-family:var(--display);font-size:60px;line-height:1;color:var(--cyan);opacity:.35;font-style:italic;height:30px;margin-top:-6px}
.test-card blockquote{font-family:var(--display);font-size:19px;font-weight:300;line-height:1.45;color:var(--ink);font-style:italic;flex:1}
.test-card .who{display:flex;align-items:center;gap:14px;border-top:1px solid var(--line);padding-top:18px;margin-top:6px}
.test-card .avatar{width:38px;height:38px;border-radius:50%;background:linear-gradient(135deg,var(--cyan-deep),var(--teal));display:flex;align-items:center;justify-content:center;font-weight:600;font-size:13px;color:var(--void)}
.test-card .who .name{font-size:14px;font-weight:500}
.test-card .who .detail{font-size:12px;color:var(--ink-soft)}
.test-card .stars{color:var(--cyan);font-size:14px;letter-spacing:2px}
.rev-summary{display:flex;align-items:center;gap:30px;flex-wrap:wrap;margin:30px 0 38px;padding:24px 30px;background:linear-gradient(135deg,rgba(20,67,122,.07),rgba(255,255,255,.012));border:1px solid var(--line);border-radius:16px}
.rev-summary .rs-block{display:flex;align-items:center;gap:14px}
.rev-summary .rs-num{font-family:var(--display);font-size:38px;font-weight:300;color:var(--ink);line-height:1}
.rev-summary .rs-meta{display:flex;flex-direction:column;gap:3px}
.rev-summary .rs-stars{color:#f5c518;font-size:15px;letter-spacing:2px}
.rev-summary .rs-src{font-size:13px;color:var(--ink-soft);font-weight:300}
.rev-summary .rs-div{width:1px;align-self:stretch;background:var(--line)}
.rev-summary .rs-link{margin-left:auto;background:var(--cyan);color:var(--void);text-decoration:none;padding:12px 22px;border-radius:40px;font-weight:600;font-size:13.5px;white-space:nowrap;transition:.25s}
.rev-summary .rs-link:hover{box-shadow:0 0 22px 1px var(--glow);transform:translateY(-1px)}
.test-card .stars.g{color:#f5c518}
@media(max-width:640px){.rev-summary{gap:18px;padding:20px}.rev-summary .rs-div{display:none}.rev-summary .rs-link{margin-left:0;width:100%;text-align:center}}

/* ============================ TARIFS ============================ */
.tarifs{position:relative;z-index:1;padding:120px 56px;max-width:1180px;margin:0 auto}
.tarif-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
@media(max-width:980px) and (min-width:851px){.tarif-grid{grid-template-columns:1fr 1fr}}
.tarif-card{background:var(--panel);border:1px solid var(--line);border-radius:18px;padding:40px;position:relative;overflow:hidden}
.tarif-card.feat{background:linear-gradient(135deg,rgba(20,67,122,.06),rgba(143,166,193,.03));border-color:rgba(20,67,122,.3)}
.tarif-card .label{font-size:11px;letter-spacing:2px;text-transform:uppercase;color:var(--cyan);font-weight:600;margin-bottom:14px}
.tarif-card h3{font-family:var(--display);font-size:30px;font-weight:300;letter-spacing:-.5px;margin-bottom:6px;line-height:1.1}
.tarif-card .sub{color:var(--ink-soft);font-size:15px;line-height:1.5;min-height:90px;margin-bottom:26px;font-weight:300}
@media(max-width:600px){.tarif-card .sub{min-height:0}}
.tarif-card .row{display:flex;justify-content:space-between;align-items:baseline;padding:14px 0;border-bottom:1px dashed var(--line)}
.tarif-card .row:last-of-type{border-bottom:none}
.tarif-card .row .k{font-size:14px;color:var(--ink-soft);flex:1;padding-right:12px}
.tarif-card .row .v{font-family:var(--display);font-size:20px;color:var(--ink);font-weight:400;white-space:nowrap;text-align:right}
.tarif-card .note{margin-top:24px;font-size:13px;color:var(--ink-soft);line-height:1.6;padding-top:20px;border-top:1px solid var(--line)}
.tarif-card .note strong{color:var(--cyan);font-weight:500}
.tarif-card .row.reste{border-bottom:none;margin-top:2px;padding-top:14px;border-top:1px solid var(--line-strong)}
.tarif-card .row.reste .k{color:var(--ink);font-weight:500}
.tarif-card .row.reste .v{color:var(--cyan);font-size:23px}

/* ===== ESTIMATEUR RESTE À CHARGE ===== */
.estimator{margin-top:26px;background:var(--panel);border:1px solid var(--line-strong);border-radius:20px;padding:34px;position:relative;overflow:hidden}
.est-head{margin-bottom:24px}
.est-kick{font-size:11px;letter-spacing:2px;text-transform:uppercase;color:var(--cyan);font-weight:600}
.est-head h3{font-family:var(--display);font-size:26px;font-weight:300;letter-spacing:-.3px;margin:6px 0 6px}
.est-head p{color:var(--ink-soft);font-size:14.5px;font-weight:300}
.est-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px;align-items:start}
.est-field{margin-bottom:20px}
.est-field>label{display:block;font-size:13px;color:var(--ink-soft);margin-bottom:9px}
.est-seg{display:flex;gap:8px}
.est-seg button{flex:1;background:var(--void-2);border:1px solid var(--line-strong);color:var(--ink-soft);padding:11px 8px;border-radius:10px;font-family:inherit;font-size:13px;cursor:pointer;transition:.2s}
.est-seg button.on{background:var(--cyan);color:var(--void);border-color:var(--cyan);font-weight:600}
.est-field select{width:100%;background:var(--void-2);border:1px solid var(--line-strong);border-radius:10px;padding:12px 14px;color:var(--ink);font-family:inherit;font-size:15px}
.est-field select:focus{outline:none;border-color:var(--cyan)}
.est-range{width:100%;-webkit-appearance:none;appearance:none;height:6px;border-radius:6px;background:linear-gradient(90deg,var(--cyan) var(--p,0%),rgba(20,67,122,.18) var(--p,0%));outline:none;margin-top:4px}
.est-range::-webkit-slider-thumb{-webkit-appearance:none;width:22px;height:22px;border-radius:50%;background:var(--cyan);cursor:pointer;box-shadow:0 0 0 4px rgba(20,67,122,.15)}
.est-range::-moz-range-thumb{width:22px;height:22px;border:none;border-radius:50%;background:var(--cyan);cursor:pointer}
.est-rlab{display:flex;justify-content:space-between;font-size:11.5px;color:var(--ink-dim);margin-top:7px}
.est-field>label b{color:var(--cyan);font-weight:600}
.est-bim{display:flex;gap:10px;align-items:flex-start;font-size:13px;color:var(--ink-soft);font-weight:300;line-height:1.45;cursor:pointer}
.est-bim input{margin-top:2px;width:17px;height:17px;accent-color:var(--cyan);flex-shrink:0}
.est-result{background:var(--void-2);border:1px solid var(--line);border-radius:16px;padding:26px}
.est-line{display:flex;justify-content:space-between;align-items:baseline;padding:11px 0;border-bottom:1px dashed var(--line);font-size:14.5px;color:var(--ink-soft)}
.est-line b{color:var(--ink);font-weight:500;font-family:var(--display);font-size:17px}
.est-total{display:flex;justify-content:space-between;align-items:baseline;padding-top:16px;margin-top:6px;border-top:1px solid var(--line-strong)}
.est-total span{font-size:15px;color:var(--ink);font-weight:500}
.est-total b{font-family:var(--display);font-size:30px;color:var(--cyan);font-weight:400}
.est-note{font-size:11.5px;color:var(--ink-dim);line-height:1.5;margin-top:16px}
@media(max-width:760px){.estimator{padding:26px 22px}.est-grid{grid-template-columns:1fr;gap:24px}}

/* ============================ FINAL CTA / FOOTER ============================ */
.final{position:relative;z-index:1;text-align:center;padding:110px 56px 80px;border-top:1px solid var(--line);background:var(--void-2)}
.final .fcta{font-family:var(--display);font-size:clamp(30px,4vw,52px);font-weight:300;margin-bottom:24px;line-height:1.1;letter-spacing:-.5px;max-width:24ch;margin-left:auto;margin-right:auto}
.final .fcta em{font-style:italic;color:var(--cyan)}
.final .fsub{color:var(--ink-soft);font-size:17px;margin-bottom:38px;font-weight:300}
.final .btn-primary{font-size:16px;padding:19px 44px}

footer{position:relative;z-index:1;padding:70px 56px 40px;background:var(--cyan-deep);color:#FCF9F8;border-top:none}
.foot-grid{max-width:1180px;margin:0 auto;display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:40px;padding-bottom:50px;border-bottom:1px solid rgba(189,217,239,.20)}
.foot-grid h4{font-size:11px;letter-spacing:2px;text-transform:uppercase;color:#BDD9EF;font-weight:600;margin-bottom:18px}
.foot-grid a{display:block;text-decoration:none;color:rgba(252,249,248,.80);font-size:14px;padding:5px 0;transition:.2s;font-weight:300}
.foot-grid a:hover{color:#fff}
.foot-brand{font-family:var(--display);font-size:22px;margin-bottom:14px;font-weight:300}
.foot-brand b{color:#BDD9EF;font-weight:500}
.foot-desc{color:rgba(252,249,248,.74);font-size:14px;line-height:1.7;font-weight:300;max-width:32ch}
footer p,footer span,footer div{color:inherit}
footer .foot-grid p{color:rgba(252,249,248,.80)}
.foot-legal{max-width:1180px;margin:28px auto 0;display:flex;justify-content:space-between;align-items:center;font-size:12px;color:rgba(252,249,248,.60);flex-wrap:wrap;gap:10px}
.foot-legal a{color:rgba(252,249,248,.78)}.foot-legal a:hover{color:#fff}

.reveal{opacity:0;transform:translateY(30px);transition:opacity .9s cubic-bezier(.2,.7,.2,1),transform .9s cubic-bezier(.2,.7,.2,1)}
.reveal.visible{opacity:1;transform:none}

/* ===== Bande téléconsultation ===== */
.teleband{position:relative;z-index:1;max-width:1180px;margin:0 auto;padding:30px 56px}
.teleband-inner{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:30px;background:linear-gradient(135deg,rgba(20,67,122,.10),rgba(143,166,193,.05));border:1px solid rgba(20,67,122,.3);border-radius:20px;padding:30px 36px;position:relative;overflow:hidden}
.teleband-inner::before{content:'';position:absolute;top:-50px;right:-40px;width:200px;height:200px;border-radius:50%;background:radial-gradient(circle,rgba(20,67,122,.14),transparent 70%);pointer-events:none}
.teleband-icon{flex:none;width:64px;height:64px;border-radius:16px;background:rgba(20,67,122,.12);border:1px solid rgba(20,67,122,.3);display:flex;align-items:center;justify-content:center;color:var(--cyan)}
.teleband-icon svg{width:32px;height:32px}
.teleband-tag{display:inline-block;font-size:10.5px;letter-spacing:1.5px;text-transform:uppercase;color:var(--cyan);background:rgba(20,67,122,.12);border:1px solid rgba(20,67,122,.3);padding:3px 10px;border-radius:20px;font-weight:600;margin-bottom:10px}
.teleband-tx h2{font-family:var(--display);font-size:clamp(20px,2.3vw,27px);font-weight:300;letter-spacing:-.4px;line-height:1.2;margin-bottom:8px}
.teleband-tx h2 em{font-style:italic;color:var(--cyan)}
.teleband-tx p{color:var(--ink-soft);font-size:14.5px;font-weight:300;line-height:1.6;max-width:62ch}
.teleband-cta{flex:none;display:flex;flex-direction:column;gap:12px;align-items:stretch;text-align:center}
.teleband-cta .btn-primary{white-space:nowrap}
.teleband-link{color:var(--cyan);text-decoration:none;font-size:13.5px;font-weight:500}
.teleband-link:hover{text-decoration:underline}
@media(max-width:860px){
  .teleband{padding:24px 22px}
  .teleband-inner{grid-template-columns:1fr;gap:18px;padding:28px 24px;text-align:left}
  .teleband-icon{width:54px;height:54px}
  .teleband-cta{flex-direction:row;flex-wrap:wrap;align-items:center;gap:16px}
}

/* ============================ RESPONSIVE ============================ */
@media(max-width:1100px){
  .nav .desktop-only{display:none}
  .burger{display:flex}
  .cta.desktop-only-cta{display:none}
}
@media(max-width:900px){
  .topbar{padding:12px 20px}
  .hero{grid-template-columns:1fr;padding:110px 24px 60px;gap:20px}
  .hero-photo{order:-1}
  .hero-photo img{max-height:300px}
  .hero-badge{left:12px;right:12px;bottom:12px;padding:10px 12px}
  .hero h1{font-size:clamp(34px,8.5vw,46px)}
  .scene-ring.r1{width:300px;height:300px}
  .scene-ring.r2{width:230px;height:230px}
  .scene-ring.r3{width:380px;height:380px}
  .anatomy{width:240px}
  .pathologies, .testimonials, .tarifs{padding:80px 24px}
  .path-grid{grid-template-columns:1fr 1fr;gap:14px}
  .test-grid{grid-template-columns:1fr}
  .tarif-grid{grid-template-columns:1fr}
  .ribbon{gap:40px;padding:40px 24px}
  .foot-grid{grid-template-columns:1fr 1fr;gap:30px}
  .final{padding:80px 24px 60px}
}
@media(max-width:560px){
  .path-grid{grid-template-columns:1fr}
  .foot-grid{grid-template-columns:1fr}
  .hero-meta{gap:18px}
  .datapoint{display:none}
}

/* --- menu épuré : sous-menus compacts alignés à droite --- */
.nav a, .nav .nav-trigger{font-size:14.5px}
.dropdown.dd-sm{min-width:480px;grid-template-columns:1fr 1fr;gap:2px 10px;left:auto;right:0;transform:translateX(0) translateY(-8px)}
.has-menu[aria-expanded="true"] .dropdown.dd-sm{transform:translateX(0) translateY(0)}
.dropdown.dd-sm::before{left:auto;right:30px;transform:rotate(45deg)}
.dropdown.dd-sm .dd-item{align-items:flex-start;text-align:left}


/* ===== Bascule Patient / Professionnel ===== */
.aud-toggle{display:inline-flex;position:relative;z-index:6;background:var(--void-2);border:1px solid var(--line-strong);border-radius:30px;padding:3px;gap:2px;margin-right:10px}
.nav .aud-toggle .aud-opt{cursor:pointer;pointer-events:auto}
.nav .aud-toggle .aud-opt{padding:7px 14px;border-radius:30px;font-size:12.5px;font-weight:500;color:var(--ink-soft);text-decoration:none;transition:.2s;white-space:nowrap;background:transparent;border:none;letter-spacing:.2px}
.nav .aud-toggle .aud-opt.on{background:var(--cyan);color:var(--void);font-weight:600}
.nav .aud-toggle .aud-opt:not(.on):hover{color:var(--cyan);background:rgba(20,67,122,.06)}
.aud-toggle-m{display:flex;gap:6px;background:var(--void-2);border:1px solid var(--line-strong);border-radius:30px;padding:4px;margin:0 0 10px}
.aud-toggle-m .aud-opt{flex:1;text-align:center;padding:12px 8px;border-radius:30px;font-size:13.5px;font-weight:500;color:var(--ink-soft);text-decoration:none;line-height:1.25}
.aud-toggle-m .aud-opt.on{background:var(--cyan);color:var(--void);font-weight:600}

/* ===== Barre bascule mobile (toujours visible, hors menu) ===== */
.aud-bar{display:none}
@media(max-width:1100px){
  .aud-bar{display:block;position:fixed;top:0;left:0;right:0;z-index:101;background:rgba(252,249,248,.94);backdrop-filter:blur(14px);border-bottom:1px solid var(--line);padding:6px 12px}
  .aud-bar .aud-toggle-m{margin:0 auto;max-width:560px}
  .aud-bar .aud-toggle-m .aud-opt{padding:9px 6px;font-size:12.5px}
  .topbar{top:56px;background:rgba(252,249,248,.97)}
  body{padding-top:56px}
  .mobile-panel{inset:112px 0 0 0}
}

.foot-review{max-width:1180px;margin:36px auto 0;display:flex;align-items:center;gap:22px;flex-wrap:wrap;background:rgba(189,217,239,.10);border:1px solid rgba(189,217,239,.22);border-radius:16px;padding:24px 28px}
.foot-review .fr-stars{display:flex;gap:3px;color:#f5c518;flex:none}
.foot-review .fr-txt{display:flex;flex-direction:column;gap:4px;flex:1;min-width:240px}
.foot-review .fr-txt b{font-family:var(--display);font-weight:500;font-size:18px;color:#fff}
.foot-review .fr-txt span{color:rgba(252,249,248,.80);font-size:13.5px;font-weight:300;line-height:1.5}
.foot-review .fr-btn{flex:none;background:#BDD9EF;color:var(--cyan-deep);text-decoration:none;padding:13px 24px;border-radius:40px;font-weight:600;font-size:14px;white-space:nowrap;transition:.25s}
.foot-review .fr-btn:hover{box-shadow:0 0 22px 1px var(--glow);transform:translateY(-1px)}
@media(max-width:640px){.foot-review{padding:20px 20px;gap:16px}.foot-review .fr-btn{width:100%;text-align:center}}

/* ===== Bouton RDV fixe mobile ===== */
.mrdv{display:none}
@media(max-width:760px){
  .mrdv{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:120;padding:10px 14px calc(10px + env(safe-area-inset-bottom));background:linear-gradient(180deg,rgba(252,249,248,0),rgba(252,249,248,.92) 32%);pointer-events:none}
  .mrdv a{pointer-events:auto;flex:1;text-align:center;background:var(--cyan);color:var(--void);text-decoration:none;font-weight:700;font-size:15px;padding:15px 18px;border-radius:40px;box-shadow:0 6px 24px rgba(20,67,122,.35)}
  body{padding-bottom:74px}
}

/* ============================ VITRINE OUTILS CABINET ============================ */
.adv-tools{position:relative;z-index:1;max-width:1180px;margin:0 auto;padding:30px 56px 24px}
.adv-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:16px;margin-top:34px}
.adv-card{background:linear-gradient(165deg,var(--panel),var(--void-2));border:1px solid var(--line);border-radius:18px;padding:28px 26px;transition:.25s}
.adv-card:hover{border-color:rgba(20,67,122,.4);transform:translateY(-3px)}
.adv-ic{display:inline-flex;width:48px;height:48px;align-items:center;justify-content:center;border-radius:13px;background:rgba(20,67,122,.1);border:1px solid rgba(20,67,122,.28);margin-bottom:16px}
.adv-ic svg{width:24px;height:24px;color:var(--cyan)}
.adv-card h3{font-family:var(--display);font-weight:400;font-size:19px;letter-spacing:-.2px;margin-bottom:9px;line-height:1.25}
.adv-card p{color:var(--ink-soft);font-size:14.5px;font-weight:300;line-height:1.55}
.adv-foot{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;margin-top:30px;padding-top:26px;border-top:1px solid var(--line)}
.adv-foot p{color:var(--ink-soft);font-size:15px;font-weight:300;font-style:italic;max-width:60ch}
@media(max-width:900px){.adv-tools{padding:20px 24px}.adv-foot{flex-direction:column;align-items:flex-start}}

/* ===== UX globales (audit) ===== */
[id]{scroll-margin-top:88px}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--cyan);outline-offset:2px;border-radius:6px}
.scrolltop{position:fixed;right:20px;bottom:22px;z-index:90;width:46px;height:46px;border-radius:50%;border:1px solid var(--line-strong);background:rgba(255,255,255,.9);backdrop-filter:blur(10px);color:var(--ink);cursor:pointer;display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transform:translateY(10px);transition:opacity .25s,transform .25s,background .2s,border-color .2s}
.scrolltop.show{opacity:1;pointer-events:auto;transform:translateY(0)}
.scrolltop:hover{border-color:rgba(20,67,122,.55);background:rgba(20,67,122,.12);color:var(--cyan)}
.scrolltop svg{width:20px;height:20px}
@media(max-width:760px){.scrolltop{bottom:84px;right:16px}}
@media print{.scrolltop{display:none}}
.hfaq{border:1px solid var(--line);border-radius:12px;margin-bottom:14px;padding:6px 26px;background:var(--panel);transition:.3s}
.hfaq[open]{border-color:rgba(20,67,122,.3)}
.hfaq summary{font-size:17px;font-weight:500;cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;padding:18px 0;gap:20px}
.hfaq summary::-webkit-details-marker{display:none}
.hfaq summary::after{content:'+';font-size:24px;color:var(--cyan);font-weight:300;flex-shrink:0}
.hfaq[open] summary::after{content:'\2212'}
.hfaq p{padding-bottom:20px;color:var(--ink-soft);font-size:16px;font-weight:300;line-height:1.6}
@media(max-width:760px){.home-faq{padding:70px 24px!important}}
