/* ── Styles spécifiques : seo.html ── */
*, *::before, *::after { margin:0; padding:0; box-sizing:border-box; }

    :root {
      --bg:     #0c0c0e;
      --surf:   #0f0f12;
      --border: rgba(255,255,255,0.07);
      --acc:    #c8f135;
      --text:   #e8e8e2;
      --muted:  #5a5a60;
      --muted2: #8a8a90;
    }

    html { scroll-behavior:smooth; }
    body {
      background:var(--bg); color:var(--text);
      font-family:'DM Mono',monospace; overflow-x:hidden;
    }

    body::before {
      content:''; position:fixed; inset:0;
      background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.04'/%3E%3C/svg%3E");
      pointer-events:none; z-index:998; opacity:.5;
    }

    /* ── NAV ── */
    nav {
      position:fixed; top:0; left:0; right:0; z-index:200;
      display:flex; justify-content:space-between; align-items:center;
      padding:1.8rem 4rem;
      border-bottom:1px solid transparent;
      transition:border-color .4s, background .4s, backdrop-filter .4s;
    }
    nav.scrolled { border-color:var(--border); background:rgba(12,12,14,.88); backdrop-filter:blur(20px); }
    .logo { font-family:'DM Serif Display',serif; font-size:1.25rem; letter-spacing:-.02em; color:var(--text); text-decoration:none; }
    .logo span { color:var(--acc); }
    nav ul { list-style:none; display:flex; gap:2.5rem; }
    nav ul li a { text-decoration:none; color:var(--muted2); font-size:.72rem; letter-spacing:.1em; text-transform:uppercase; transition:color .2s; }
    nav ul li a:hover, nav ul li a.active { color:var(--text); }
    .nav-cta { background:var(--acc)!important; color:#0c0c0e!important; padding:.5rem 1.2rem; border-radius:2px; font-weight:500!important; }

    /* ── HERO ── */
    .hero {
      min-height:100vh;
      display:grid; grid-template-columns:1.1fr 1fr;
      align-items:center; gap:5rem;
      max-width:1300px; margin:0 auto;
      padding:9rem 4rem 5rem;
    }

    .breadcrumb {
      display:flex; align-items:center; gap:.6rem;
      font-size:.65rem; letter-spacing:.12em; text-transform:uppercase; color:var(--muted);
      margin-bottom:2rem;
      opacity:0; animation:fadeUp .6s .1s ease forwards;
    }
    .breadcrumb a { color:var(--muted); text-decoration:none; transition:color .2s; }
    .breadcrumb a:hover { color:var(--text); }
    .bc-sep { opacity:.4; }
    .bc-cur { color:var(--acc); }

    .hero-eyebrow {
      display:flex; align-items:center; gap:.8rem;
      font-size:.68rem; letter-spacing:.2em; text-transform:uppercase; color:var(--acc);
      margin-bottom:1.6rem;
      opacity:0; animation:fadeUp .6s .2s ease forwards;
    }
    .hero-eyebrow::before { content:''; width:28px; height:1px; background:var(--acc); }

    .hero-title {
      font-family:'DM Serif Display',serif;
      font-size:clamp(2.8rem,4.8vw,5rem);
      line-height:.95; letter-spacing:-.035em;
      opacity:0; animation:fadeUp .8s .3s ease forwards;
    }
    .hero-title em { font-style:italic; color:var(--muted2); display:block; }
    .uw { position:relative; display:inline-block; }
    .uw::after {
      content:''; position:absolute; bottom:2px; left:0; right:0;
      height:3px; background:var(--acc);
      transform:scaleX(0); transform-origin:left;
      animation:lineReveal .6s 1.1s cubic-bezier(.22,1,.36,1) forwards;
    }

    .hero-desc {
      margin-top:2.2rem; font-size:.82rem; color:var(--muted2); line-height:1.95; max-width:48ch;
      opacity:0; animation:fadeUp .7s .45s ease forwards;
    }
    .hero-desc strong { color:var(--text); font-weight:500; }

    .hero-ctas {
      display:flex; align-items:center; gap:1.5rem; margin-top:2.8rem;
      opacity:0; animation:fadeUp .7s .58s ease forwards;
    }
    .btn-main {
      display:inline-flex; align-items:center; gap:.8rem;
      background:var(--acc); color:#0c0c0e;
      text-decoration:none; font-family:'DM Mono',monospace;
      font-size:.74rem; font-weight:500; letter-spacing:.08em; text-transform:uppercase;
      padding:.9rem 1.8rem; border-radius:2px;
      transition:opacity .2s, gap .25s;
    }
    .btn-main:hover { opacity:.88; gap:1.1rem; }
    .btn-ghost {
      font-size:.74rem; letter-spacing:.1em; text-transform:uppercase;
      color:var(--muted2); text-decoration:none;
      display:flex; align-items:center; gap:.5rem;
      transition:color .2s, gap .2s;
    }
    .btn-ghost:hover { color:var(--text); gap:.8rem; }

    /* ── HERO RIGHT — SERP mock ── */
    .hero-right {
      position:relative; display:flex; align-items:center; justify-content:center;
      opacity:0; animation:fadeUp .9s .38s ease forwards;
    }
    .hero-right::before {
      content:''; position:absolute; inset:-30px;
      background-image:linear-gradient(var(--border) 1px,transparent 1px),linear-gradient(90deg,var(--border) 1px,transparent 1px);
      background-size:48px 48px; opacity:.5;
      mask-image:radial-gradient(ellipse 85% 85% at 50% 50%,black 30%,transparent 100%);
    }
    .hero-right::after {
      content:''; position:absolute;
      width:420px; height:420px;
      background:radial-gradient(circle,rgba(200,241,53,.07) 0%,transparent 68%);
      border-radius:50%; pointer-events:none;
    }

    /* Google SERP card */
    .serp-mock {
      position:relative; z-index:2;
      width:450px;
      background:#0f0f12;
      border:1px solid rgba(255,255,255,.09);
      border-radius:8px;
      box-shadow:0 40px 80px rgba(0,0,0,.7),0 0 0 1px rgba(255,255,255,.03);
      overflow:hidden;
      transform:rotate(-1.2deg);
      transition:transform .4s ease;
    }
    .serp-mock:hover { transform:rotate(0deg) scale(1.01); }

    /* Search bar */
    .serp-search {
      background:#0c0c0e; border-bottom:1px solid var(--border);
      padding:1rem 1.3rem;
      display:flex; align-items:center; gap:.8rem;
    }
    .serp-search-bar {
      flex:1; background:#151518; border:1px solid var(--border);
      border-radius:20px; padding:.4rem 1rem;
      display:flex; align-items:center; gap:.6rem;
    }
    .serp-search-bar svg { width:11px; height:11px; color:var(--muted); flex-shrink:0; }
    .serp-search-text { font-size:.65rem; color:var(--muted2); letter-spacing:.03em; }
    .serp-search-cursor {
      width:1px; height:11px; background:var(--acc);
      animation:blink 1s step-end infinite;
    }
    .serp-tabs {
      display:flex; gap:1.2rem; padding:.5rem 1.3rem 0;
      border-bottom:1px solid var(--border);
    }
    .serp-tab { font-size:.6rem; letter-spacing:.08em; color:var(--muted); padding-bottom:.5rem; cursor:default; }
    .serp-tab.active { color:var(--acc); border-bottom:2px solid var(--acc); }

    /* Results */
    .serp-results { padding:1rem 1.3rem; display:flex; flex-direction:column; gap:.6rem; }

    .serp-result {
      padding:.8rem .9rem; border-radius:5px;
      border:1px solid var(--border);
      position:relative; overflow:hidden;
      transition:border-color .3s;
    }
    .serp-result.rank1 {
      background:rgba(200,241,53,.04);
      border-color:rgba(200,241,53,.2);
    }
    .serp-result:hover { border-color:rgba(200,241,53,.15); }

    .sr-pos {
      position:absolute; top:.7rem; right:.8rem;
      font-size:.55rem; letter-spacing:.1em; color:var(--muted);
    }
    .sr-pos.gold { color:var(--acc); font-weight:500; }

    .sr-url { font-size:.58rem; color:var(--muted); letter-spacing:.04em; margin-bottom:.25rem; display:flex; align-items:center; gap:.3rem; }
    .sr-favicon { width:10px; height:10px; background:rgba(200,241,53,.3); border-radius:2px; flex-shrink:0; }
    .sr-title { font-size:.72rem; color:#8ab4f8; margin-bottom:.2rem; line-height:1.3; }
    .serp-result.rank1 .sr-title { color:var(--acc); }
    .sr-desc { font-size:.6rem; color:var(--muted2); line-height:1.5; }
    .sr-desc strong { color:var(--muted2); font-weight:400; background:rgba(200,241,53,.12); padding:0 .2rem; border-radius:2px; }

    /* Featured snippet */
    .serp-snippet {
      background:rgba(255,255,255,.02); border:1px solid rgba(200,241,53,.15);
      border-radius:5px; padding:.8rem .9rem; margin-bottom:.2rem;
    }
    .snip-label { font-size:.55rem; letter-spacing:.12em; text-transform:uppercase; color:var(--acc); margin-bottom:.4rem; }
    .snip-lines { display:flex; flex-direction:column; gap:.3rem; }
    .snip-line { height:5px; background:rgba(255,255,255,.07); border-radius:2px; }

    /* Schema badge */
    .sr-schema { display:flex; gap:.4rem; margin-top:.3rem; }
    .schema-pill { font-size:.5rem; padding:.15rem .4rem; border-radius:10px; background:rgba(200,241,53,.08); color:rgba(200,241,53,.7); letter-spacing:.06em; }

    /* Rank animation counter */
    .serp-footer {
      border-top:1px solid var(--border); padding:.6rem 1.3rem;
      display:flex; align-items:center; justify-content:space-between;
    }
    .sf-label { font-size:.58rem; color:var(--muted); letter-spacing:.06em; }
    .sf-val { font-size:.65rem; color:var(--acc); }

    /* Floating badges */
    .mock-badge {
      position:absolute; z-index:3;
      background:#111114; border:1px solid rgba(200,241,53,.25);
      border-radius:4px; padding:.45rem .9rem;
      font-size:.63rem; color:var(--text);
      display:flex; align-items:center; gap:.5rem;
      box-shadow:0 8px 24px rgba(0,0,0,.5); white-space:nowrap;
    }
    .mb-dot { width:5px; height:5px; border-radius:50%; background:var(--acc); animation:pulse 2s infinite; }
    .badge-tl { top:-14px; left:10px; animation:floatB 3.5s ease-in-out infinite; }
    .badge-br { bottom:-14px; right:10px; animation:floatB 3.5s 1.6s ease-in-out infinite; }

    /* ── DIVIDER ── */
    .divider { max-width:1300px; margin:0 auto; padding:0 4rem; display:flex; align-items:center; gap:1.2rem; }
    .div-line { flex:1; height:1px; background:var(--border); }
    .div-label { font-size:.62rem; letter-spacing:.18em; text-transform:uppercase; color:var(--muted); white-space:nowrap; }

    /* ── SHARED ── */
    .reveal { opacity:0; transform:translateY(22px); transition:opacity .7s ease,transform .7s ease; }
    .reveal.visible { opacity:1; transform:none; }
    .s-eye {
      display:flex; align-items:center; gap:.8rem;
      font-size:.65rem; letter-spacing:.2em; text-transform:uppercase; color:var(--acc);
      margin-bottom:1.5rem;
    }
    .s-eye::before { content:''; width:24px; height:1px; background:var(--acc); }

    /* ── AUDIT SECTION ── */
    .audit { max-width:1300px; margin:0 auto; padding:6rem 4rem; }
    .audit-grid { display:grid; grid-template-columns:1fr 1.4fr; gap:6rem; align-items:center; }
    .audit-left h2 { font-family:'DM Serif Display',serif; font-size:clamp(2rem,3.5vw,3.2rem); letter-spacing:-.03em; line-height:1.05; }
    .audit-left h2 em { font-style:italic; color:var(--muted2); }
    .audit-left p { margin-top:1.8rem; font-size:.81rem; color:var(--muted2); line-height:1.95; }
    .audit-left p strong { color:var(--text); font-weight:500; }

    /* Audit score card */
    .audit-card {
      background:var(--surf); border:1px solid var(--border); border-radius:8px;
      overflow:hidden; box-shadow:0 20px 50px rgba(0,0,0,.4);
    }
    .ac-header {
      background:#0c0c0e; border-bottom:1px solid var(--border);
      padding:.9rem 1.4rem;
      display:flex; justify-content:space-between; align-items:center;
    }
    .ac-title { font-size:.68rem; letter-spacing:.06em; color:var(--text); }
    .ac-url { font-size:.58rem; color:var(--muted); }

    .ac-scores {
      display:grid; grid-template-columns:repeat(4,1fr);
      gap:1px; background:var(--border);
      border-bottom:1px solid var(--border);
    }
    .ac-score { background:var(--surf); padding:.9rem .8rem; text-align:center; }
    .ac-score-ring {
      width:42px; height:42px; margin:0 auto .4rem;
      border-radius:50%; border:3px solid;
      display:flex; align-items:center; justify-content:center;
      font-size:.75rem; letter-spacing:-.02em;
    }
    .ring-green { border-color:var(--acc); color:var(--acc); }
    .ring-orange { border-color:rgba(255,160,60,.8); color:rgba(255,170,70,.9); }
    .ring-red { border-color:rgba(255,90,90,.7); color:rgba(255,100,100,.9); }
    .ac-score-label { font-size:.55rem; letter-spacing:.1em; text-transform:uppercase; color:var(--muted); }

    .ac-body { padding:1.3rem; }
    .audit-issue {
      display:flex; align-items:flex-start; gap:.8rem;
      padding:.7rem 0; border-bottom:1px solid var(--border);
    }
    .audit-issue:last-child { border-bottom:none; }
    .ai-severity {
      width:6px; height:6px; border-radius:50%; flex-shrink:0; margin-top:5px;
    }
    .sev-high { background:rgba(255,90,90,.8); }
    .sev-mid  { background:rgba(255,170,60,.8); }
    .sev-low  { background:rgba(200,241,53,.6); }
    .ai-text { flex:1; }
    .ai-title { font-size:.68rem; color:var(--text); margin-bottom:.15rem; }
    .ai-desc  { font-size:.6rem; color:var(--muted2); line-height:1.5; }
    .ai-tag {
      font-size:.55rem; padding:.2rem .5rem; border-radius:10px;
      letter-spacing:.06em; white-space:nowrap; flex-shrink:0;
    }
    .tag-tech { background:rgba(130,180,255,.1); color:rgba(140,190,255,.8); }
    .tag-cont { background:rgba(200,241,53,.1); color:rgba(200,241,53,.8); }
    .tag-perf { background:rgba(255,170,60,.1); color:rgba(255,180,70,.8); }

    /* ── CE QUI EST INCLUS ── */
    .inclus-s { background:var(--surf); border-top:1px solid var(--border); border-bottom:1px solid var(--border); }
    .inclus-inner { max-width:1300px; margin:0 auto; padding:6rem 4rem; }
    .inc-head { display:grid; grid-template-columns:1fr 1fr; gap:4rem; align-items:end; margin-bottom:4rem; }
    .inc-head h2 { font-family:'DM Serif Display',serif; font-size:clamp(2rem,3.5vw,3rem); letter-spacing:-.03em; line-height:1.05; }
    .inc-head h2 em { font-style:italic; color:var(--muted2); }
    .inc-head p { font-size:.81rem; color:var(--muted2); line-height:1.9; }
    .inc-head p strong { color:var(--text); font-weight:500; }

    .inc-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1.5px; background:var(--border); }
    .inc-card {
      background:var(--bg); padding:2.5rem 2.2rem;
      position:relative; overflow:hidden;
    }
    .inc-card::after {
      content:''; position:absolute; top:0; left:0; right:0;
      height:2px; background:var(--acc);
      transform:scaleX(0); transform-origin:left;
      transition:transform .4s cubic-bezier(.22,1,.36,1);
    }
    .inc-card:hover::after { transform:scaleX(1); }
    .inc-icon {
      width:44px; height:44px; border:1px solid var(--border); border-radius:4px;
      background:var(--surf); display:flex; align-items:center; justify-content:center;
      margin-bottom:1.4rem; transition:border-color .3s;
    }
    .inc-card:hover .inc-icon { border-color:rgba(200,241,53,.3); }
    .inc-icon svg { width:19px; height:19px; }
    .inc-card h3 { font-family:'DM Serif Display',serif; font-size:1.15rem; letter-spacing:-.02em; color:var(--text); margin-bottom:.7rem; }
    .inc-card p { font-size:.76rem; color:var(--muted2); line-height:1.85; }
    .inc-bg { position:absolute; bottom:-.8rem; right:.5rem; font-family:'DM Serif Display',serif; font-size:6rem; color:rgba(255,255,255,.025); pointer-events:none; user-select:none; line-height:1; }

    /* ── DEUX PILIERS ── */
    .piliers { max-width:1300px; margin:0 auto; padding:6rem 4rem; }
    .piliers-head { margin-bottom:4rem; }
    .piliers-head h2 { font-family:'DM Serif Display',serif; font-size:clamp(2rem,3.5vw,3.2rem); letter-spacing:-.03em; line-height:1.05; }
    .piliers-head h2 em { font-style:italic; color:var(--muted2); }
    .piliers-head p { margin-top:1rem; font-size:.8rem; color:var(--muted2); max-width:54ch; line-height:1.9; }

    .piliers-grid { display:grid; grid-template-columns:1fr 1fr; gap:1.5px; background:var(--border); }

    .pilier {
      background:var(--bg); padding:3rem 2.5rem;
      position:relative; overflow:hidden;
    }
    .pilier-num { font-size:.62rem; letter-spacing:.15em; color:var(--muted); margin-bottom:1.5rem; }
    .pilier-icon {
      width:50px; height:50px; border:1px solid var(--border); border-radius:5px;
      background:var(--surf); display:flex; align-items:center; justify-content:center;
      margin-bottom:1.5rem; transition:border-color .3s;
    }
    .pilier:hover .pilier-icon { border-color:rgba(200,241,53,.3); }
    .pilier-icon svg { width:22px; height:22px; }
    .pilier h3 { font-family:'DM Serif Display',serif; font-size:1.5rem; letter-spacing:-.025em; color:var(--text); margin-bottom:1rem; transition:color .25s; }
    .pilier:hover h3 { color:var(--acc); }
    .pilier p { font-size:.79rem; color:var(--muted2); line-height:1.9; margin-bottom:1.8rem; }
    .pilier-items { display:flex; flex-direction:column; gap:.6rem; }
    .p-item {
      display:flex; align-items:flex-start; gap:.7rem;
      font-size:.74rem; color:var(--muted2); line-height:1.5;
    }
    .p-item svg { width:13px; height:13px; flex-shrink:0; margin-top:2px; }
    .pilier-bg { position:absolute; bottom:-1rem; right:.5rem; font-family:'DM Serif Display',serif; font-size:8rem; color:rgba(255,255,255,.025); pointer-events:none; user-select:none; line-height:1; }

    /* ── RESULTATS ── */
    .resultats { background:var(--surf); border-top:1px solid var(--border); border-bottom:1px solid var(--border); }
    .resultats-inner { max-width:1300px; margin:0 auto; padding:6rem 4rem; }

    .res-head { display:grid; grid-template-columns:1fr 1fr; gap:4rem; align-items:end; margin-bottom:4rem; }
    .res-head h2 { font-family:'DM Serif Display',serif; font-size:clamp(2rem,3.5vw,3rem); letter-spacing:-.03em; line-height:1.05; }
    .res-head h2 em { font-style:italic; color:var(--muted2); }
    .res-head p { font-size:.81rem; color:var(--muted2); line-height:1.9; }

    /* Progress bars section */
    .metrics-grid { display:grid; grid-template-columns:1fr 1fr; gap:3rem; }

    .metric-group h4 { font-family:'DM Serif Display',serif; font-size:1.1rem; letter-spacing:-.015em; color:var(--text); margin-bottom:1.5rem; }
    .metric-item { margin-bottom:1.2rem; }
    .metric-top { display:flex; justify-content:space-between; align-items:baseline; margin-bottom:.5rem; }
    .metric-label { font-size:.68rem; color:var(--muted2); letter-spacing:.04em; }
    .metric-val { font-size:.68rem; color:var(--acc); letter-spacing:.04em; }
    .metric-bar-bg { height:4px; background:rgba(255,255,255,.05); border-radius:2px; overflow:hidden; }
    .metric-bar-fill {
      height:100%; background:var(--acc); border-radius:2px;
      transform:scaleX(0); transform-origin:left;
      transition:transform 1.2s cubic-bezier(.22,1,.36,1);
    }
    .metric-item.anim .metric-bar-fill { transform:scaleX(1); }

    /* Big stats row */
    .stats-strip {
      display:grid; grid-template-columns:repeat(4,1fr);
      gap:1.5px; background:var(--border);
      margin-top:3.5rem;
    }
    .stat-box { background:var(--bg); padding:2rem 1.8rem; }
    .stat-num { font-family:'DM Serif Display',serif; font-size:2.5rem; letter-spacing:-.04em; color:var(--text); line-height:1; }
    .stat-num span { color:var(--acc); }
    .stat-label { font-size:.62rem; letter-spacing:.12em; text-transform:uppercase; color:var(--muted); margin-top:.4rem; }
    .stat-note { font-size:.62rem; color:var(--muted); margin-top:.2rem; }

    /* ── PROCESS ── */
    .process { max-width:1300px; margin:0 auto; padding:6rem 4rem; }
    .proc-head { margin-bottom:3.5rem; }
    .proc-head h2 { font-family:'DM Serif Display',serif; font-size:clamp(2rem,3vw,2.8rem); letter-spacing:-.025em; }
    .proc-head h2 em { font-style:italic; color:var(--muted2); }
    .proc-head p { margin-top:1rem; font-size:.8rem; color:var(--muted2); max-width:54ch; line-height:1.85; }

    /* Horizontal timeline */
    .proc-timeline {
      display:grid; grid-template-columns:repeat(5,1fr);
      position:relative;
    }
    .proc-timeline::before {
      content:''; position:absolute;
      top:22px; left:10%; right:10%;
      height:1px; background:var(--border);
      z-index:0;
    }

    .proc-step { padding:0 .5rem; position:relative; z-index:1; }
    .proc-dot-wrap { display:flex; justify-content:center; margin-bottom:1.2rem; }
    .proc-dot {
      width:44px; height:44px; border-radius:50%;
      background:var(--bg); border:1.5px solid var(--border);
      display:flex; align-items:center; justify-content:center;
      transition:border-color .3s, background .3s, box-shadow .3s;
    }
    .proc-step:hover .proc-dot { border-color:var(--acc); background:rgba(200,241,53,.06); box-shadow:0 0 18px rgba(200,241,53,.2); }
    .proc-dot svg { width:16px; height:16px; }
    .proc-num { font-size:.58rem; letter-spacing:.14em; text-transform:uppercase; color:var(--muted); text-align:center; margin-bottom:.5rem; }
    .proc-step h4 { font-family:'DM Serif Display',serif; font-size:.95rem; letter-spacing:-.015em; color:var(--text); text-align:center; margin-bottom:.5rem; line-height:1.2; transition:color .25s; }
    .proc-step:hover h4 { color:var(--acc); }
    .proc-step p { font-size:.68rem; color:var(--muted2); line-height:1.7; text-align:center; }

    /* ── TARIFS ── */
    .tarifs { max-width:1300px; margin:0 auto; padding:6rem 4rem; }
    .tar-head { text-align:center; margin-bottom:3.5rem; }
    .tar-head h2 { font-family:'DM Serif Display',serif; font-size:clamp(2rem,3.5vw,3rem); letter-spacing:-.03em; line-height:1.05; }
    .tar-head h2 em { font-style:italic; color:var(--muted2); }
    .tar-head p { margin-top:1rem; font-size:.8rem; color:var(--muted2); max-width:50ch; margin-left:auto; margin-right:auto; line-height:1.85; }

    .tar-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--border); }
    .tar-card { background:var(--bg); padding:2.8rem 2.4rem; position:relative; overflow:hidden; }
    .tar-card.feat { background:#111216; }
    .tar-card.feat::before { content:''; position:absolute; top:0; left:0; right:0; height:2px; background:var(--acc); }
    .t-label { font-size:.62rem; letter-spacing:.16em; text-transform:uppercase; color:var(--muted); margin-bottom:1.5rem; }
    .t-label.f { color:var(--acc); }
    .t-price { font-family:'DM Serif Display',serif; font-size:2.8rem; letter-spacing:-.04em; color:var(--text); line-height:1; margin-bottom:.3rem; }
    .t-price span { font-size:1rem; color:var(--muted2); }
    .t-sub { font-size:.62rem; letter-spacing:.1em; text-transform:uppercase; color:var(--muted); margin-bottom:1.8rem; }
    .t-desc { font-size:.77rem; color:var(--muted2); line-height:1.8; margin-bottom:2rem; border-top:1px solid var(--border); padding-top:1.5rem; }
    .t-feats { list-style:none; display:flex; flex-direction:column; gap:.6rem; margin-bottom:2rem; }
    .t-feats li { display:flex; align-items:flex-start; gap:.65rem; font-size:.74rem; color:var(--muted2); line-height:1.5; }
    .t-feats li svg { width:12px; height:12px; flex-shrink:0; margin-top:2px; }
    .t-feats li.off { opacity:.3; }
    .t-cta {
      display:block; text-align:center; text-decoration:none;
      font-size:.72rem; font-family:'DM Mono',monospace;
      letter-spacing:.08em; text-transform:uppercase;
      padding:.85rem; border-radius:2px;
      border:1px solid var(--border); color:var(--muted2);
      transition:border-color .25s,color .25s;
    }
    .t-cta:hover { border-color:rgba(200,241,53,.3); color:var(--text); }
    .t-cta.main { background:var(--acc); color:#0c0c0e; border-color:var(--acc); }
    .t-cta.main:hover { opacity:.88; }
    .tar-note { text-align:center; margin-top:2rem; font-size:.68rem; color:var(--muted); letter-spacing:.06em; }

    /* ── FAQ ── */
    .faq-s { background:var(--surf); border-top:1px solid var(--border); border-bottom:1px solid var(--border); }
    .faq-inner { max-width:1300px; margin:0 auto; padding:6rem 4rem; display:grid; grid-template-columns:1fr 1.5fr; gap:6rem; align-items:start; }
    .faq-left h2 { font-family:'DM Serif Display',serif; font-size:clamp(2rem,3vw,2.8rem); letter-spacing:-.025em; line-height:1.1; }
    .faq-left h2 em { font-style:italic; color:var(--muted2); }
    .faq-left p { margin-top:1.5rem; font-size:.8rem; color:var(--muted2); line-height:1.9; }
    .faq-list { display:flex; flex-direction:column; gap:0; }
    .faq-item { border-bottom:1px solid var(--border); }
    .faq-item:first-child { border-top:1px solid var(--border); }
    .faq-q {
      display:flex; align-items:center; justify-content:space-between;
      padding:1.4rem 0; cursor:pointer;
      font-size:.8rem; color:var(--text); line-height:1.4; gap:1rem;
      transition:color .2s;
    }
    .faq-q:hover { color:var(--acc); }
    .faq-q svg { width:16px; height:16px; flex-shrink:0; color:var(--muted); transition:transform .3s,color .2s; }
    .faq-item.open .faq-q svg { transform:rotate(45deg); color:var(--acc); }
    .faq-a {
      font-size:.76rem; color:var(--muted2); line-height:1.9;
      max-height:0; overflow:hidden;
      transition:max-height .4s ease,padding .3s;
    }
    .faq-item.open .faq-a { max-height:300px; padding-bottom:1.4rem; }

    /* ── CTA BANNER ── */
    .cta-banner {
      margin:0 4rem 8rem;
      border:1px solid var(--border); border-radius:4px;
      background:linear-gradient(135deg,#111114,#0f0f0a);
      padding:5rem; display:flex; justify-content:space-between; align-items:center; gap:3rem;
      position:relative; overflow:hidden;
    }
    .cta-banner::before {
      content:''; position:absolute; top:-100px; right:-100px;
      width:400px; height:400px;
      background:radial-gradient(circle,rgba(200,241,53,.06) 0%,transparent 70%);
      border-radius:50%; pointer-events:none;
    }
    .cta-banner h2 { font-family:'DM Serif Display',serif; font-size:clamp(2rem,3.5vw,3rem); letter-spacing:-.03em; line-height:1.05; max-width:14ch; }
    .cta-banner h2 em { font-style:italic; color:var(--muted2); }
    .cta-right p { font-size:.8rem; color:var(--muted2); line-height:1.8; margin-bottom:1.5rem; max-width:34ch; }

    /* ── FOOTER ── */
    footer { border-top:1px solid var(--border); padding:2.5rem 4rem; display:flex; justify-content:space-between; align-items:center; }
    .footer-logo { font-family:'DM Serif Display',serif; font-size:1.1rem; color:var(--text); }
    .footer-logo span { color:var(--acc); }
    footer p { font-size:.62rem; color:var(--muted); letter-spacing:.08em; }
    .fl { display:flex; gap:1.5rem; }
    .fl a { font-size:.65rem; letter-spacing:.1em; text-transform:uppercase; color:var(--muted); text-decoration:none; transition:color .2s; }
    .fl a:hover { color:var(--text); }

    /* ── KEYFRAMES ── */
    @keyframes fadeUp { from{opacity:0;transform:translateY(18px);}to{opacity:1;transform:none;} }
    @keyframes lineReveal { from{transform:scaleX(0);}to{transform:scaleX(1);} }
    @keyframes pulse { 0%,100%{opacity:1;transform:scale(1);}50%{opacity:.4;transform:scale(.75);} }
    @keyframes floatB { 0%,100%{transform:translateY(0);}50%{transform:translateY(-7px);} }
    @keyframes blink { 0%,100%{opacity:1;}50%{opacity:0;} }

    /* ── RESPONSIVE ── */
    @media(max-width:960px){
      nav{padding:1.5rem 2rem;} nav ul{display:none;}
      .hero{grid-template-columns:1fr;padding:8rem 2rem 4rem;gap:3rem;}
      .hero-right{display:none;}
      .audit-grid,.res-head,.inc-head,.faq-inner,.piliers-head{grid-template-columns:1fr;gap:2rem;}
      .inc-grid,.piliers-grid,.tar-grid,.metrics-grid{grid-template-columns:1fr;}
      .stats-strip{grid-template-columns:1fr 1fr;}
      .proc-timeline{grid-template-columns:1fr 1fr;gap:2rem;}
      .proc-timeline::before{display:none;}
      .audit,.piliers,.process,.tarifs,.inclus-inner,.resultats-inner,.faq-inner{padding:4rem 2rem;}
      .cta-banner{margin:0 2rem 5rem;padding:3rem 2rem;flex-direction:column;align-items:flex-start;}
      footer{padding:2rem;flex-direction:column;gap:.8rem;text-align:center;}
      .fl{justify-content:center;}
      .divider{padding:0 2rem;}
    }