*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;font-size:16px}
:root{
  --ink:#1A0E2E;--ink2:#2A1B47;--pink:#E5267A;--pink2:#C81E68;--pink-pale:#FBD9E7;
  --pale:#F4EFFA;--pale2:#E8DCF0;--mute:#6E5F8C;--paper:#FFFFFF;
  --green:#166534;--green-bg:#DCFCE7;--green-bd:#BBF7D0;
  --red:#991B1B;--red-bg:#FEE2E2;--red-bd:#FECACA;
  --amber:#92400E;--amber-bg:#FEF3C7;--amber-bd:#FDE68A;
  --serif:'Fraunces',Georgia,serif;--sans:'Inter',system-ui,sans-serif;
  --ease:cubic-bezier(.25,.46,.45,.94);
}
body{font-family:var(--sans);background:var(--paper);color:var(--ink);line-height:1.6;overflow-x:hidden}

/* ── NAV ── */
nav{position:fixed;top:0;left:0;right:0;z-index:500;background:rgba(255,255,255,.96);backdrop-filter:blur(16px);border-bottom:1px solid var(--pale2);transition:box-shadow .3s}
nav.scrolled{box-shadow:0 2px 24px rgba(26,14,46,.07)}
.ni{max-width:1280px;margin:0 auto;padding:0 2rem;display:flex;align-items:center;justify-content:space-between;height:60px;flex-wrap:nowrap}
.logo{font-family:var(--serif);font-size:18px;font-weight:400;color:var(--ink);text-decoration:none;display:flex;align-items:center;gap:8px;letter-spacing:-.02em;white-space:nowrap;flex-shrink:0}
.logo-dot{width:7px;height:7px;background:var(--pink);border-radius:50%;flex-shrink:0}
.nl{display:flex;gap:1px}
.nb{font-family:var(--sans);font-size:13px;font-weight:500;color:var(--mute);background:none;border:none;padding:6px 12px;border-radius:8px;transition:all .15s;cursor:pointer;text-decoration:none;display:inline-block;white-space:nowrap}
.nb:hover{color:var(--ink);background:var(--pale)}
.nb.on{color:var(--ink);background:var(--pale)}
.ncta{font-family:var(--sans);font-size:13px;font-weight:600;background:var(--pink);color:#fff;border:none;padding:8px 18px;border-radius:99px;transition:background .2s;text-decoration:none;display:inline-block;cursor:pointer;white-space:nowrap;flex-shrink:0}
.ncta:hover{background:var(--pink2)}

@media(max-width:1024px){
  .ni{padding:0 1.25rem}
  .logo{font-size:14px;gap:6px}
  .nl{gap:0}
  .nb{font-size:11px;padding:6px 8px}
  .ncta{font-size:11px;padding:7px 14px}
}

/* ── HERO ── */
.hero{max-width:1280px;margin:0 auto;padding:5rem 2rem 3rem;text-align:center}
.eyebrow{font-size:11px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--pink);display:inline-flex;align-items:center;gap:10px;margin-bottom:1.5rem}
.eyebrow::before{content:'';width:28px;height:1.5px;background:var(--pink)}
.hero h1{font-family:var(--serif);font-size:clamp(2.75rem,6vw,5rem);font-weight:300;line-height:.96;letter-spacing:-.03em;color:var(--ink);margin-bottom:1.5rem;max-width:800px;margin-left:auto;margin-right:auto}
.hero h1 em{font-style:italic;color:var(--pink)}
.hero-sub{font-size:17px;color:var(--mute);line-height:1.65;max-width:560px;margin:0 auto 2.5rem}
.hero-btns{display:flex;gap:12px;flex-wrap:wrap;justify-content:center}
.btn-primary{font-family:var(--sans);font-size:14px;font-weight:600;background:var(--pink);color:#fff;border:none;padding:13px 28px;border-radius:99px;transition:background .2s;display:inline-flex;align-items:center;gap:8px;text-decoration:none;cursor:pointer}
.btn-primary:hover{background:var(--pink2)}
.btn-ghost{font-family:var(--sans);font-size:14px;font-weight:500;background:transparent;color:var(--ink);border:1px solid var(--ink);padding:12px 28px;border-radius:99px;transition:all .2s;text-decoration:none;display:inline-flex;align-items:center;gap:8px;cursor:pointer}
.btn-ghost:hover{background:var(--pale)}

/* ── SIMULATEUR ── */
.sim-section{background:var(--pale);padding:3rem 2rem 4rem;border-top:1px solid var(--pale2)}
.sim-container{max-width:1280px;margin:0 auto}
.sim-section-hd{text-align:center;margin-bottom:2rem}
.sim-section-hd .eyebrow{display:inline-flex}
.sim-section-hd h2{font-family:var(--serif);font-size:clamp(1.5rem,3vw,2.25rem);font-weight:300;letter-spacing:-.025em;color:var(--ink);line-height:1.2}
.sim-section-hd h2 em{font-style:italic;color:var(--pink)}
.sim-live{background:var(--paper);border-radius:20px;border:1px solid var(--pale2);box-shadow:0 16px 60px -12px rgba(26,14,46,.12);overflow:hidden}
.sim-live-hd{background:var(--ink);padding:1.25rem 2rem;display:flex;align-items:center;justify-content:space-between}
.sim-live-hd h2{font-family:var(--serif);font-size:16px;font-weight:400;color:#fff;letter-spacing:-.01em}
.sim-live-hd p{font-size:11px;color:rgba(255,255,255,.45);letter-spacing:.08em;text-transform:uppercase}
.sim-body{display:grid;grid-template-columns:300px 1fr;gap:0;min-height:600px}
.sim-left{padding:1.75rem;border-right:1px solid var(--pale2);background:var(--paper)}
.sim-right{padding:1.75rem;background:var(--pale)}
.sim-right-inner{display:flex;flex-direction:column;gap:12px;align-items:stretch}
.param-group{margin-bottom:1.5rem}
.param-lbl{font-size:10px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--mute);margin-bottom:.625rem}
.param-opts{display:flex;gap:6px;flex-wrap:wrap}
.popt{font-family:var(--sans);font-size:12px;font-weight:500;background:var(--paper);border:1px solid var(--pale2);color:var(--mute);padding:7px 14px;border-radius:99px;transition:all .15s;cursor:pointer}
.popt:hover{border-color:var(--pink);color:var(--ink)}
.popt.sel{background:var(--pink);border-color:var(--pink);color:#fff;font-weight:600}
.sim-result-hd{background:var(--pink);padding:1.5rem 1.75rem;border-radius:14px}
.sim-result-hd p{font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.65);margin-bottom:.375rem}
.sim-result-hd h3{font-family:var(--serif);font-size:1.5rem;font-weight:300;color:#fff;letter-spacing:-.02em;line-height:1.2}
.sim-result-hd h3 em{font-style:italic;color:#fff;opacity:.85}
.profile-pills{display:flex;flex-wrap:wrap;gap:6px;margin-top:.875rem}
.ppill{font-size:10px;background:rgba(255,255,255,.18);color:#fff;padding:3px 10px;border-radius:99px;font-weight:600;border:1px solid rgba(255,255,255,.2)}
.sol-card{background:var(--paper);border:1px solid var(--pale2);border-radius:14px;padding:1.25rem;position:relative;overflow:hidden;transition:border-color .2s,box-shadow .2s,transform .2s}
.sol-card:hover{box-shadow:0 4px 20px rgba(26,14,46,.08)}
.sol-card-link{cursor:pointer;text-decoration:none;display:block;color:inherit}
.sol-card-link:hover{box-shadow:0 4px 20px rgba(26,14,46,.12);border-color:var(--pink);transform:translateY(-1px)}
.sol-card.best{border-color:var(--pink);background:linear-gradient(135deg,#fff9fb 0%,var(--pale) 100%)}
.sol-card.best::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--pink),#a855f7)}
.sol-badge-wrap{display:flex;justify-content:space-between;align-items:flex-start;gap:6px;margin-bottom:.5rem}
.sol-name{font-family:var(--serif);font-size:1rem;font-weight:400;color:var(--ink);letter-spacing:-.01em}
.sol-badge{font-size:9px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;background:var(--pink);color:#fff;padding:2px 8px;border-radius:99px;white-space:nowrap;flex-shrink:0}
.sol-sub{font-size:10px;color:var(--mute);margin-bottom:.5rem}
.sol-cost{font-family:var(--serif);font-size:1.75rem;font-weight:300;color:var(--ink);letter-spacing:-.02em;line-height:1;margin-bottom:.375rem}
.sol-cost small{font-size:.75rem;font-weight:400;font-family:var(--sans);color:var(--mute);font-style:italic}
.sol-detail{font-size:11px;color:var(--mute);line-height:1.55;margin-bottom:.5rem}
.sol-detail strong{color:var(--ink);font-weight:600}
.sol-tags{display:flex;flex-wrap:wrap;gap:4px}
.tag-g{font-size:10px;padding:2px 7px;border-radius:6px;background:var(--green-bg);color:var(--green);font-weight:600;border:1px solid var(--green-bd)}
.tag-r{font-size:10px;padding:2px 7px;border-radius:6px;background:var(--red-bg);color:var(--red);font-weight:600;border:1px solid var(--red-bd)}
.tag-a{font-size:10px;padding:2px 7px;border-radius:6px;background:var(--amber-bg);color:var(--amber);font-weight:600;border:1px solid var(--amber-bd)}
.no-sol{text-align:center;padding:3rem 1rem;font-size:13px;color:var(--mute);grid-column:1/-1}
.disclaimer-sim{font-size:10px;color:var(--mute);text-align:center;padding:.875rem 2rem;line-height:1.5;border-top:1px solid var(--pale2);background:var(--paper)}

/* ── STATS ── */
.stats{background:var(--ink);padding:2rem 0}
.stats-in{max-width:1280px;margin:0 auto;padding:0 2rem;display:flex;justify-content:space-between;flex-wrap:wrap;gap:0}
.stat{flex:1;min-width:130px;text-align:center;padding:0 2rem;border-right:1px solid rgba(255,255,255,.08)}
.stat:last-child{border-right:none}
.stat-n{font-family:var(--serif);font-size:2rem;font-weight:300;color:#fff;line-height:1;margin-bottom:4px}
.stat-n em{font-style:italic;color:var(--pink-pale)}
.stat-l{font-size:11px;color:rgba(255,255,255,.4);letter-spacing:.04em}

/* ── SECTIONS ── */
.sec{padding:5rem 2rem}
.sec-in{max-width:1280px;margin:0 auto}
.sec-nw{max-width:860px;margin:0 auto}
.sec-ey{font-size:11px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--pink);display:flex;align-items:center;gap:10px;margin-bottom:1rem}
.sec-ey::before{content:'';width:28px;height:1.5px;background:var(--pink)}
.sec-h{font-family:var(--serif);font-size:clamp(1.75rem,3.5vw,2.75rem);font-weight:300;letter-spacing:-.025em;color:var(--ink);margin-bottom:.75rem;line-height:1.15}
.sec-h em{font-style:italic;color:var(--pink)}
.sec-sub{font-size:16px;color:var(--mute);line-height:1.65;max-width:540px}

/* ── MODES GRID ── */
.modes-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--pale2);border:1px solid var(--pale2);border-radius:18px;overflow:hidden;margin-top:2.5rem}
.mode-tile{background:var(--paper);padding:1.5rem;transition:background .2s;position:relative;overflow:hidden;text-decoration:none;display:block;color:inherit}
.mode-tile::after{content:'';position:absolute;bottom:0;left:0;right:0;height:2px;background:var(--pink);transform:scaleX(0);transform-origin:left;transition:transform .25s}
.mode-tile:hover{background:var(--pale)}.mode-tile:hover::after{transform:scaleX(1)}
.mode-ico{font-size:28px;margin-bottom:.75rem}
.mode-age{font-size:10px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--mute);background:var(--pale);border-radius:6px;padding:2px 7px;display:inline-block;margin-bottom:.5rem;border:1px solid var(--pale2)}
.mode-name{font-family:var(--serif);font-size:1rem;font-weight:400;color:var(--ink);margin-bottom:.375rem;letter-spacing:-.01em}
.mode-desc{font-size:12px;color:var(--mute);line-height:1.55;margin-bottom:.75rem}
.mode-price{font-family:var(--serif);font-size:1.125rem;font-weight:300;color:var(--ink)}
.mode-price small{font-size:11px;font-family:var(--sans);color:var(--mute)}
.mode-cta{position:absolute;bottom:1.25rem;right:1.25rem;width:28px;height:28px;background:var(--pink);border-radius:50%;display:flex;align-items:center;justify-content:center;opacity:0;transform:scale(.6);transition:all .2s;font-size:12px;color:#fff}
.mode-tile:hover .mode-cta{opacity:1;transform:scale(1)}

/* ── CTA BAND ── */
.cta-band{background:var(--ink);padding:4rem 2rem;position:relative;overflow:hidden}
.cta-band-deco{position:absolute;font-family:var(--serif);font-size:18vw;font-weight:300;opacity:.04;color:#fff;top:50%;transform:translateY(-50%);right:-1%;letter-spacing:-.04em;pointer-events:none;font-style:italic}
.cta-band-in{max-width:1280px;margin:0 auto;display:flex;justify-content:space-between;align-items:center;gap:2rem;flex-wrap:wrap}
.cta-band h2{font-family:var(--serif);font-size:clamp(1.5rem,3vw,2.25rem);font-weight:300;color:#fff;line-height:1.25;max-width:520px;letter-spacing:-.025em}
.cta-band h2 em{font-style:italic;color:var(--pink-pale)}
.btn-white{font-family:var(--sans);font-size:14px;font-weight:600;background:#fff;color:var(--ink);border:none;padding:13px 28px;border-radius:99px;transition:all .2s;display:inline-flex;align-items:center;gap:8px;white-space:nowrap;text-decoration:none;cursor:pointer}
.btn-white:hover{background:var(--pink-pale)}

/* ── SEO PAGES ── */
main{padding-top:60px}
.seo-wrap{max-width:1280px;margin:0 auto;padding:0 2rem 5rem}
.seo-hero{padding:3rem 0 2rem;border-bottom:1px solid var(--pale2);margin-bottom:2.5rem}
.bc{font-size:12px;color:var(--mute);display:flex;align-items:center;gap:6px;margin-bottom:.875rem}
.bc a{color:var(--pink);text-decoration:none;font-weight:500}
.bc a:hover{text-decoration:underline}
.seo-h1{font-family:var(--serif);font-size:clamp(1.5rem,3.5vw,2.5rem);font-weight:300;letter-spacing:-.025em;color:var(--ink);margin:.625rem 0 .875rem;line-height:1.15}
.seo-intro{font-size:16px;color:var(--mute);line-height:1.7;max-width:660px;margin-bottom:1.5rem}
.seo-acts{display:flex;gap:10px;flex-wrap:wrap}
.layout-2col{display:grid;grid-template-columns:1fr 300px;gap:3rem;align-items:start}
.prose h2{font-family:var(--serif);font-size:1.375rem;font-weight:400;color:var(--ink);margin:2.25rem 0 .75rem;letter-spacing:-.015em;line-height:1.2}
.prose h2:first-child{margin-top:0}
.prose h3{font-size:14px;font-weight:600;color:var(--ink);margin:1.5rem 0 .375rem}
.prose p{font-size:14px;color:var(--mute);line-height:1.75;margin-bottom:.75rem}
.prose ul{margin:.625rem 0 .875rem 1.125rem}
.prose li{font-size:14px;color:var(--mute);line-height:1.75;margin-bottom:3px}
.prose strong{color:var(--ink);font-weight:600}
.prose a{color:var(--pink);text-decoration:none;font-weight:500}
.prose a:hover{text-decoration:underline}
.ptab{width:100%;border-collapse:collapse;margin:1.25rem 0;font-size:13px;border-radius:14px;overflow:hidden;border:1px solid var(--pale2)}
.ptab th{background:var(--ink);color:#fff;padding:10px 14px;text-align:left;font-size:10px;font-weight:600;letter-spacing:.1em;text-transform:uppercase}
.ptab td{padding:10px 14px;border-bottom:1px solid var(--pale2);color:var(--mute);background:var(--paper)}
.ptab tr:last-child td{border-bottom:none}.ptab tr:hover td{background:var(--pale)}.ptab .pc{color:var(--green);font-weight:600}
.aside-card{background:var(--paper);border-radius:14px;border:1px solid var(--pale2);padding:1.25rem;position:sticky;top:76px}
.aside-card h3{font-family:var(--serif);font-size:.9375rem;font-weight:400;color:var(--ink);margin-bottom:.875rem;letter-spacing:-.01em}
.aside-links{list-style:none}
.aside-links li{margin-bottom:6px}
.aside-links a{font-size:12px;color:var(--pink);text-decoration:none;display:flex;align-items:center;gap:5px;font-weight:500}
.aside-links a::before{content:'→';font-size:10px}.aside-links a:hover{text-decoration:underline}
.apill{background:var(--green-bg);border-left:3px solid #16a34a;border-radius:8px;padding:.75rem .875rem;margin-bottom:8px}
.apill h4{font-size:12px;font-weight:600;color:var(--green);margin-bottom:2px}
.apill p{font-size:11px;color:#166534;line-height:1.5;margin:0}
.alert-info{background:var(--amber-bg);border:1px solid var(--amber-bd);border-left:3px solid #d97706;border-radius:8px;padding:.75rem .875rem;margin:.875rem 0;font-size:13px;color:var(--amber);line-height:1.6}
.alert-info strong{color:#78350f}
.alert-warn{background:var(--red-bg);border:1px solid var(--red-bd);border-left:3px solid #dc2626;border-radius:8px;padding:.75rem .875rem;margin:.875rem 0;font-size:13px;color:var(--red);line-height:1.6}
.alert-warn strong{color:#7f1d1d}
.formula-box{background:var(--amber-bg);border:1px solid var(--amber-bd);border-left:3px solid #d97706;border-radius:10px;padding:.875rem 1rem;margin:.875rem 0;font-size:13px;color:#78350f;line-height:2}
.faq-block{margin-top:2rem}
.faq-item{border-bottom:1px solid var(--pale2)}
.faq-q{font-size:14px;font-weight:500;color:var(--ink);padding:.875rem 0;cursor:pointer;display:flex;justify-content:space-between;align-items:center;user-select:none}
.faq-ico{width:22px;height:22px;background:var(--pale);border:1px solid var(--pale2);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:14px;color:var(--pink);transition:all .2s;flex-shrink:0}
.faq-item.open .faq-ico{background:var(--pink);color:#fff;border-color:var(--pink);transform:rotate(45deg)}
.faq-a{display:none;padding-bottom:.875rem;font-size:13px;color:var(--mute);line-height:1.7}
.faq-item.open .faq-a{display:block}

/* ── FOOTER ── */
footer{background:var(--ink2);color:#fff;padding:3.5rem 2rem 1.5rem}
.ft{max-width:1280px;margin:0 auto}
.ft-top{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:3rem;padding-bottom:2.5rem;border-bottom:1px solid rgba(255,255,255,.07);margin-bottom:1.5rem}
.ft-logo{font-family:var(--serif);font-size:18px;font-weight:400;color:#fff;margin-bottom:.625rem;display:flex;align-items:center;gap:8px;letter-spacing:-.02em}
.ft-dot{width:6px;height:6px;background:var(--pink-pale);border-radius:50%}
.ft-tag{font-size:13px;color:rgba(255,255,255,.35);line-height:1.65}
.ft-col h4{font-size:10px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.25);margin-bottom:.75rem}
.ft-col ul{list-style:none}.ft-col li{margin-bottom:6px}
.ft-col a{font-size:12px;color:rgba(255,255,255,.4);text-decoration:none;transition:color .15s}
.ft-col a:hover{color:var(--pink-pale)}
.ft-bot{display:flex;justify-content:space-between;flex-wrap:wrap;gap:.75rem}
.ft-leg{font-size:11px;color:rgba(255,255,255,.2);line-height:1.6}

/* ── PAGE À PROPOS ── */
.about-hero{background:var(--ink);color:#fff;padding:5rem 2rem 4rem;text-align:center}
.about-hero .eyebrow{color:var(--pink-pale)}
.about-hero .eyebrow::before{background:var(--pink-pale)}
.about-hero h1{font-family:var(--serif);font-size:clamp(2rem,5vw,3.5rem);font-weight:300;letter-spacing:-.03em;line-height:1.05;margin-bottom:1.25rem}
.about-hero h1 em{font-style:italic;color:var(--pink-pale)}
.about-hero p{font-size:17px;color:rgba(255,255,255,.55);max-width:580px;margin:0 auto;line-height:1.7}
.about-body{max-width:800px;margin:0 auto;padding:4rem 2rem 5rem}
.about-section{margin-bottom:3.5rem}
.about-section h2{font-family:var(--serif);font-size:1.65rem;font-weight:300;letter-spacing:-.02em;color:var(--ink);margin-bottom:1rem;line-height:1.2}
.about-section h2 em{font-style:italic;color:var(--pink)}
.about-section p{font-size:15px;color:var(--mute);line-height:1.8;margin-bottom:.9rem}
.about-section p:last-child{margin-bottom:0}
.about-divider{width:40px;height:2px;background:var(--pink);margin:2.5rem 0}
.about-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.25rem;margin-top:1.5rem}
.about-card{background:var(--pale);border:1px solid var(--pale2);border-radius:16px;padding:1.5rem}
.about-card .ico{font-size:28px;margin-bottom:.75rem}
.about-card h3{font-size:14px;font-weight:600;color:var(--ink);margin-bottom:.4rem}
.about-card p{font-size:13px;color:var(--mute);line-height:1.65}
.about-note{background:var(--pale);border:1px solid var(--pale2);border-left:3px solid var(--pink);border-radius:0 12px 12px 0;padding:1.25rem 1.5rem;font-size:13px;color:var(--mute);line-height:1.7;margin-top:2rem}
.about-note strong{color:var(--ink)}
.about-back{text-align:center;padding-bottom:2rem}

/* ── REVEAL ── */
.rev{opacity:0;transform:translateY(18px);transition:opacity .65s var(--ease),transform .65s var(--ease)}
.rev.v{opacity:1;transform:translateY(0)}.rev.d1{transition-delay:.08s}.rev.d2{transition-delay:.16s}.rev.d3{transition-delay:.24s}

/* ── RESPONSIVE ── */
@media(max-width:900px){.sim-body{grid-template-columns:1fr}.sim-right{max-height:none}.modes-grid{grid-template-columns:1fr 1fr}.layout-2col{grid-template-columns:1fr}.ft-top{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.modes-grid{grid-template-columns:1fr}.nl{display:none}}
