:root{
    --cream:#FFF4E6;
    --cream-2:#FBE9CC;
    --peach:#FFD9B3;
    --orange:#FF6B1F;
    --orange-deep:#E04E0A;
    --coral:#FF4D6D;
    --gold:#FFB627;
    --gold-deep:#E89A0F;
    --berry:#6B1535;
    --berry-deep:#4A0E24;
    --olive:#6E8B3D;
    --ink:#231510;
    --ink-soft:#5C443A;
    --paper:#FFFAF2;
  }
  *{margin:0;padding:0;box-sizing:border-box}
  html{scroll-behavior:smooth}
  body{
    font-family:'Bricolage Grotesque',sans-serif;
    background:var(--cream);
    color:var(--ink);
    line-height:1.55;
    overflow-x:hidden;
    -webkit-font-smoothing:antialiased;
  }
  .serif{font-family:'Fraunces',serif}
  .container{max-width:1240px;margin:0 auto;padding:0 32px}
  a{color:inherit}

  /* ─── PAGE SYSTEM ─── */
  .page{display:none;animation:pageIn .5s ease-out}
  .page.active{display:block}
  @keyframes pageIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}

  /* ─── NAV ─── */
  nav{
    position:sticky;top:0;z-index:100;
    background:rgba(255,244,230,0.85);
    backdrop-filter:blur(16px);
    border-bottom:1px solid rgba(35,21,16,0.08);
  }
  nav .inner{
    max-width:1240px;margin:0 auto;padding:18px 32px;
    display:flex;justify-content:space-between;align-items:center;
  }
  .logo{
    font-family:'Fraunces',serif;font-weight:600;font-size:24px;
    letter-spacing:-0.025em;display:flex;align-items:center;gap:10px;
    cursor:pointer;
  }
  .logo-mark{
    width:32px;height:32px;border-radius:50%;
    background:radial-gradient(circle at 30% 30%,var(--gold) 0%,var(--orange) 50%,var(--coral) 100%);
    box-shadow:0 0 0 3px var(--cream),0 4px 12px rgba(255,107,31,0.4);
    position:relative;
  }
  .logo-mark::after{
    content:"";position:absolute;inset:6px;border-radius:50%;
    background:radial-gradient(circle at 60% 60%,rgba(255,255,255,0.5),transparent);
  }
  .nav-links{display:flex;gap:6px;align-items:center}
  .nav-link{
    color:var(--ink-soft);text-decoration:none;
    font-size:14px;font-weight:500;
    padding:8px 14px;border-radius:100px;
    transition:all .2s;cursor:pointer;
  }
  .nav-link:hover{color:var(--ink);background:rgba(35,21,16,0.05)}
  .nav-link.active{color:var(--ink);background:var(--peach)}
  .nav-cta{
    background:var(--ink);color:var(--cream)!important;
    padding:11px 22px;border-radius:100px;
    font-size:14px;font-weight:600;margin-left:8px;
    transition:all .2s;cursor:pointer;
  }
  .nav-cta:hover{background:var(--orange);transform:translateY(-1px);box-shadow:0 6px 20px rgba(255,107,31,0.4)}
  .menu-btn{display:none;background:none;border:none;font-size:24px;cursor:pointer;color:var(--ink)}
  @media(max-width:900px){
    .nav-links{display:none;position:absolute;top:100%;left:0;right:0;background:var(--cream);flex-direction:column;padding:16px;gap:8px;border-bottom:1px solid rgba(35,21,16,0.08);align-items:stretch}
    .nav-links.open{display:flex}
    .nav-link{padding:14px 18px;text-align:left}
    .menu-btn{display:block}
  }

  /* ─── BUTTONS ─── */
  .btn{
    display:inline-flex;align-items:center;gap:10px;
    padding:18px 32px;border-radius:100px;
    font-size:15px;font-weight:600;font-family:inherit;
    border:none;cursor:pointer;text-decoration:none;
    transition:transform .2s,background .2s,box-shadow .3s;
  }
  .btn-primary{
    background:var(--ink);color:var(--cream);
    box-shadow:0 6px 24px rgba(35,21,16,0.18);
  }
  .btn-primary:hover{background:var(--orange);transform:translateY(-2px);box-shadow:0 12px 32px rgba(255,107,31,0.4)}
  .btn-orange{
    background:var(--orange);color:white;
    box-shadow:0 6px 24px rgba(255,107,31,0.35);
  }
  .btn-orange:hover{background:var(--orange-deep);transform:translateY(-2px);box-shadow:0 12px 32px rgba(255,107,31,0.5)}
  .btn-outline{
    background:transparent;color:var(--ink);
    border:1.5px solid var(--ink);
  }
  .btn-outline:hover{background:var(--ink);color:var(--cream)}
  .arrow{transition:transform .2s}
  .btn:hover .arrow{transform:translateX(4px)}

  /* ─── TYPOGRAPHY ─── */
  h1{
    font-family:'Fraunces',serif;
    font-size:clamp(48px,8vw,108px);
    line-height:0.95;letter-spacing:-0.04em;
    font-weight:400;
    font-variation-settings:"SOFT" 50,"WONK" 1;
  }
  h1 em{font-style:italic;font-weight:300}
  h2{
    font-family:'Fraunces',serif;
    font-size:clamp(36px,5.5vw,64px);
    line-height:1.02;letter-spacing:-0.03em;font-weight:400;
  }
  h2 em{font-style:italic;color:var(--orange)}
  h3{font-family:'Fraunces',serif;font-size:28px;font-weight:500;letter-spacing:-0.015em;line-height:1.15}
  .label{
    display:inline-flex;align-items:center;gap:8px;
    font-size:12px;text-transform:uppercase;letter-spacing:0.18em;
    color:var(--orange);font-weight:600;margin-bottom:24px;
    font-family:'Bricolage Grotesque',sans-serif;
  }
  .label::before{content:"✦";color:var(--gold);font-size:14px}
  .lead{font-size:19px;color:var(--ink-soft);max-width:680px;line-height:1.6}

  /* ═══════════════════════════════════════ */
  /* HOME PAGE                                */
  /* ═══════════════════════════════════════ */
  .hero{padding:80px 0 100px;position:relative;overflow:hidden}
  .hero::before{
    content:"";position:absolute;top:-100px;right:-200px;width:700px;height:700px;
    border-radius:50%;
    background:radial-gradient(circle,rgba(255,182,39,0.4),transparent 60%);
    filter:blur(50px);z-index:0;
  }
  .hero::after{
    content:"";position:absolute;bottom:-200px;left:-100px;width:500px;height:500px;
    border-radius:50%;
    background:radial-gradient(circle,rgba(255,77,109,0.25),transparent 60%);
    filter:blur(60px);z-index:0;
  }
  .hero-content{position:relative;z-index:1;max-width:1000px}
  .hero-badge{
    display:inline-flex;align-items:center;gap:10px;
    background:white;padding:10px 20px;border-radius:100px;
    font-size:13px;font-weight:500;color:var(--ink);
    margin-bottom:36px;
    box-shadow:0 4px 16px rgba(35,21,16,0.08);
    animation:fadeUp .8s ease-out;
  }
  .hero-badge .dot{width:8px;height:8px;border-radius:50%;background:var(--olive);box-shadow:0 0 0 4px rgba(110,139,61,0.2)}
  h1.hero-title{margin-bottom:40px;animation:fadeUp .8s ease-out .1s backwards}
  h1.hero-title .accent{color:var(--orange)}
  h1.hero-title .marker{
    position:relative;display:inline-block;
    background:linear-gradient(120deg,var(--gold) 0%,var(--orange) 100%);
    -webkit-background-clip:text;background-clip:text;color:transparent;
  }
  h1.hero-title .scribble{
    position:relative;display:inline-block;
  }
  h1.hero-title .scribble::after{
    content:"";position:absolute;left:-4px;right:-4px;bottom:6px;height:18px;
    background:var(--coral);opacity:0.35;z-index:-1;
    border-radius:8px;transform:rotate(-1deg);
  }
  .hero-sub{font-size:21px;color:var(--ink-soft);max-width:680px;margin-bottom:48px;animation:fadeUp .8s ease-out .2s backwards}
  .hero-ctas{display:flex;gap:16px;flex-wrap:wrap;animation:fadeUp .8s ease-out .3s backwards}
  @keyframes fadeUp{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}

  /* ─── MARQUEE ─── */
  .marquee{
    background:var(--ink);color:var(--cream);
    padding:24px 0;overflow:hidden;position:relative;
  }
  .marquee-track{
    display:flex;gap:48px;
    animation:scroll 30s linear infinite;
    white-space:nowrap;
  }
  .marquee-item{
    font-family:'Fraunces',serif;font-size:24px;font-weight:400;
    display:flex;align-items:center;gap:48px;font-style:italic;
  }
  .marquee-item::after{content:"✦";color:var(--gold);font-style:normal}
  @keyframes scroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}

  /* ─── STATS BAND ─── */
  .stats-band{padding:100px 0;background:var(--cream)}
  .stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:32px}
  @media(max-width:900px){.stats-grid{grid-template-columns:repeat(2,1fr)}}
  .stat-block{
    padding:32px 0;border-top:2px solid var(--ink);
  }
  .stat-num{font-family:'Fraunces',serif;font-size:64px;font-weight:400;letter-spacing:-0.03em;line-height:1;margin-bottom:8px}
  .stat-num em{color:var(--orange);font-style:italic}
  .stat-label{font-size:14px;color:var(--ink-soft);max-width:220px}

  /* ─── INTRO BLOCK ─── */
  .intro{padding:120px 0;background:var(--cream-2);position:relative;overflow:hidden}
  .intro::before{
    content:"";position:absolute;top:50%;right:-150px;transform:translateY(-50%);
    width:400px;height:400px;border-radius:50%;
    background:radial-gradient(circle,rgba(255,107,31,0.25),transparent 65%);filter:blur(50px);
  }
  .intro-grid{display:grid;grid-template-columns:1fr 1.4fr;gap:80px;align-items:start;position:relative;z-index:1}
  @media(max-width:900px){.intro-grid{grid-template-columns:1fr;gap:48px}}
  .intro h2{margin-bottom:24px}
  .intro-points{display:flex;flex-direction:column;gap:32px}
  .intro-point{display:flex;gap:24px;align-items:flex-start}
  .intro-num{
    flex-shrink:0;width:48px;height:48px;border-radius:50%;
    background:var(--orange);color:white;
    display:flex;align-items:center;justify-content:center;
    font-family:'Fraunces',serif;font-size:20px;font-weight:500;
    box-shadow:0 4px 16px rgba(255,107,31,0.3);
  }
  .intro-point:nth-child(2) .intro-num{background:var(--coral);box-shadow:0 4px 16px rgba(255,77,109,0.3)}
  .intro-point:nth-child(3) .intro-num{background:var(--gold);color:var(--ink);box-shadow:0 4px 16px rgba(255,182,39,0.4)}
  .intro-point h3{margin-bottom:8px;font-size:22px}
  .intro-point p{color:var(--ink-soft);font-size:16px}

  /* ─── INCLUDED ─── */
  .included{padding:120px 0;background:var(--cream)}
  .included-header{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:end;margin-bottom:64px}
  @media(max-width:900px){.included-header{grid-template-columns:1fr}}
  .included-grid{
    display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:24px;
    grid-auto-rows:minmax(260px,auto);
  }
  @media(max-width:900px){.included-grid{grid-template-columns:1fr}}
  .feature{
    background:var(--paper);border-radius:28px;padding:40px;
    border:1.5px solid rgba(35,21,16,0.08);
    transition:transform .3s,box-shadow .3s;position:relative;overflow:hidden;
  }
  .feature:hover{transform:translateY(-6px);box-shadow:0 24px 48px rgba(35,21,16,0.1)}
  .feature.large{grid-row:span 2;background:linear-gradient(150deg,var(--ink) 0%,var(--berry) 100%);color:var(--cream);padding:48px}
  .feature.orange{background:var(--orange);color:white;border:none}
  .feature.gold{background:var(--gold);color:var(--ink);border:none}
  .feature.coral{background:var(--coral);color:white;border:none}
  .feature-tag{font-size:11px;text-transform:uppercase;letter-spacing:0.18em;font-weight:600;opacity:0.75;margin-bottom:18px}
  .feature h3{font-size:26px;margin-bottom:12px;letter-spacing:-0.02em}
  .feature.large h3{font-size:38px;line-height:1.05}
  .feature p{font-size:15px;opacity:0.85;line-height:1.55}
  .feature-demo{
    margin-top:24px;background:rgba(255,255,255,0.08);
    border-radius:14px;padding:20px;
    font-family:'Fraunces',serif;font-style:italic;font-size:14px;
    border-left:3px solid var(--gold);line-height:1.5;
  }

  /* ─── HOW IT WORKS ─── */
  .how{padding:120px 0;background:var(--ink);color:var(--cream);position:relative;overflow:hidden}
  .how::before{
    content:"";position:absolute;top:-200px;left:50%;transform:translateX(-50%);
    width:800px;height:800px;border-radius:50%;
    background:radial-gradient(circle,rgba(255,182,39,0.15),transparent 60%);filter:blur(60px);
  }
  .how .label{color:var(--gold)}
  .how .label::before{color:var(--coral)}
  .how h2{color:var(--cream);margin-bottom:24px}
  .how h2 em{color:var(--gold)}
  .how-lead{color:rgba(255,250,242,0.7);font-size:19px;max-width:600px;margin-bottom:80px;position:relative;z-index:1}
  .how-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;position:relative;z-index:1}
  @media(max-width:900px){.how-steps{grid-template-columns:1fr}}
  .step{
    position:relative;padding:36px;
    background:rgba(255,255,255,0.04);
    border:1px solid rgba(255,255,255,0.1);
    border-radius:24px;
    backdrop-filter:blur(8px);
  }
  .step-num{
    font-family:'Fraunces',serif;font-style:italic;
    font-size:64px;font-weight:300;
    color:var(--gold);line-height:1;margin-bottom:20px;
  }
  .step h3{color:var(--cream);margin-bottom:12px;font-size:24px}
  .step p{color:rgba(255,250,242,0.65);font-size:15px}

  /* ─── SOCIAL PROOF ─── */
  .proof{padding:120px 0;background:var(--peach)}
  .proof-quote{
    max-width:920px;margin:0 auto;text-align:center;
    font-family:'Fraunces',serif;
    font-size:clamp(28px,4vw,44px);
    line-height:1.2;letter-spacing:-0.02em;font-weight:400;
  }
  .proof-quote em{color:var(--orange);font-style:italic}
  .proof-author{
    margin-top:48px;display:flex;align-items:center;justify-content:center;gap:16px;
  }
  .proof-avatar{
    width:60px;height:60px;border-radius:50%;
    background:linear-gradient(135deg,var(--orange),var(--coral));
    display:flex;align-items:center;justify-content:center;
    color:white;font-family:'Fraunces',serif;font-size:22px;font-weight:500;
  }
  .proof-name{font-family:'Fraunces',serif;font-size:20px;font-weight:500}
  .proof-role{font-size:14px;color:var(--ink-soft)}

  /* ─── CTA BLOCK ─── */
  .cta-block{padding:120px 0;text-align:center;position:relative;overflow:hidden}
  .cta-block::before{
    content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);
    width:900px;height:900px;border-radius:50%;
    background:radial-gradient(circle,rgba(255,107,31,0.18),transparent 60%);filter:blur(60px);z-index:0;
  }
  .cta-content{position:relative;z-index:1;max-width:780px;margin:0 auto}
  .cta-content h2{margin:0 auto 24px}
  .cta-content p{font-size:19px;color:var(--ink-soft);margin-bottom:40px}

  /* ═══════════════════════════════════════ */
  /* PROGRAMME PAGE                          */
  /* ═══════════════════════════════════════ */
  .subhero{padding:80px 0 60px;position:relative;overflow:hidden}
  .subhero::before{
    content:"";position:absolute;top:-100px;right:-200px;width:500px;height:500px;
    border-radius:50%;background:radial-gradient(circle,rgba(255,182,39,0.3),transparent 65%);filter:blur(50px);
  }
  .subhero-content{position:relative;z-index:1;max-width:900px}
  .subhero h1{font-size:clamp(40px,6vw,80px);margin-bottom:24px}

  .modules{padding:80px 0 120px;background:var(--cream)}
  .module-card{
    display:grid;grid-template-columns:120px 1fr;gap:48px;
    padding:48px 0;border-top:1.5px solid rgba(35,21,16,0.12);
    align-items:start;
  }
  .module-card:last-child{border-bottom:1.5px solid rgba(35,21,16,0.12)}
  .module-num-big{
    font-family:'Fraunces',serif;font-style:italic;font-weight:300;
    font-size:96px;line-height:0.85;letter-spacing:-0.04em;
    background:linear-gradient(135deg,var(--orange),var(--coral));
    -webkit-background-clip:text;background-clip:text;color:transparent;
  }
  .module-card:nth-child(2n) .module-num-big{background:linear-gradient(135deg,var(--gold),var(--orange));-webkit-background-clip:text;background-clip:text;color:transparent}
  .module-card:nth-child(3n) .module-num-big{background:linear-gradient(135deg,var(--coral),var(--berry));-webkit-background-clip:text;background-clip:text;color:transparent}
  .module-info h3{font-size:32px;margin-bottom:12px}
  .module-desc{font-size:17px;color:var(--ink-soft);margin-bottom:24px;max-width:640px}
  .module-meta{display:flex;gap:12px;flex-wrap:wrap}
  .meta-pill{
    background:var(--cream-2);padding:7px 16px;border-radius:100px;
    font-size:13px;font-weight:500;color:var(--ink);
    border:1px solid rgba(35,21,16,0.08);
  }
  .meta-pill.accent{background:var(--orange);color:white;border-color:transparent}
  @media(max-width:768px){
    .module-card{grid-template-columns:1fr;gap:16px}
    .module-num-big{font-size:64px}
  }

  /* ─── BONUS GRID ─── */
  .bonus{padding:120px 0;background:var(--berry);color:var(--cream)}
  .bonus .label{color:var(--gold)}
  .bonus h2{color:var(--cream);margin-bottom:24px}
  .bonus h2 em{color:var(--gold)}
  .bonus-lead{color:rgba(255,250,242,0.75);font-size:19px;max-width:680px;margin-bottom:64px}
  .bonus-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
  @media(max-width:900px){.bonus-grid{grid-template-columns:1fr}}
  .bonus-card{
    background:rgba(255,255,255,0.05);
    padding:32px;border-radius:20px;
    border:1px solid rgba(255,255,255,0.12);
    transition:transform .3s,background .3s;
  }
  .bonus-card:hover{transform:translateY(-4px);background:rgba(255,255,255,0.08)}
  .bonus-icon{
    width:48px;height:48px;border-radius:14px;
    background:var(--gold);color:var(--berry);
    display:flex;align-items:center;justify-content:center;
    font-size:22px;margin-bottom:20px;
  }
  .bonus-card h3{color:var(--cream);font-size:22px;margin-bottom:10px}
  .bonus-card p{color:rgba(255,250,242,0.7);font-size:15px}

  /* ═══════════════════════════════════════ */
  /* TARIFS PAGE                             */
  /* ═══════════════════════════════════════ */
  .pricing-section{padding:60px 0 120px;background:var(--cream)}
  .price-card-big{
    max-width:640px;margin:64px auto 0;
    background:linear-gradient(160deg,var(--ink) 0%,var(--berry) 100%);
    color:var(--cream);
    border-radius:36px;padding:64px 56px;
    position:relative;overflow:hidden;
    box-shadow:0 40px 80px rgba(35,21,16,0.3);
  }
  .price-card-big::before{
    content:"";position:absolute;top:-150px;right:-150px;width:400px;height:400px;
    border-radius:50%;
    background:radial-gradient(circle,rgba(255,182,39,0.4),transparent 65%);
  }
  .price-card-big::after{
    content:"";position:absolute;bottom:-100px;left:-100px;width:300px;height:300px;
    border-radius:50%;
    background:radial-gradient(circle,rgba(255,77,109,0.3),transparent 65%);
  }
  .price-tag{
    display:inline-block;background:var(--orange);
    padding:8px 18px;border-radius:100px;font-size:12px;font-weight:600;
    text-transform:uppercase;letter-spacing:0.15em;margin-bottom:28px;
    position:relative;z-index:1;
  }
  .price-name-big{font-family:'Fraunces',serif;font-size:38px;font-weight:500;margin-bottom:10px;position:relative;z-index:1}
  .price-desc-big{opacity:0.75;margin-bottom:36px;font-size:17px;position:relative;z-index:1}
  .price-amount-big{display:flex;align-items:baseline;gap:8px;margin-bottom:40px;position:relative;z-index:1}
  .price-amount-big .currency-big{font-family:'Fraunces',serif;font-size:42px;font-weight:300;color:var(--gold)}
  .price-amount-big .num-big{font-family:'Fraunces',serif;font-size:108px;font-weight:400;letter-spacing:-0.04em;line-height:1}
  .price-amount-big .period-big{opacity:0.6;font-size:16px}
  .price-features-big{list-style:none;margin-bottom:36px;position:relative;z-index:1}
  .price-features-big li{
    padding:14px 0;display:flex;align-items:flex-start;gap:14px;
    border-bottom:1px solid rgba(255,255,255,0.1);font-size:15px;
  }
  .price-features-big li:last-child{border-bottom:none}
  .price-features-big li::before{
    content:"";width:18px;height:18px;border-radius:50%;
    background:var(--gold);color:var(--berry);
    display:flex;align-items:center;justify-content:center;
    flex-shrink:0;margin-top:2px;
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%236B1535' d='M6.5 11L3 7.5l1.4-1.4L6.5 8.2 11.6 3l1.4 1.4z'/%3E%3C/svg%3E");
    background-position:center;background-repeat:no-repeat;
  }
  .price-cta-big{
    width:100%;background:var(--orange);color:white;
    padding:22px;border-radius:100px;font-size:17px;font-weight:600;
    border:none;cursor:pointer;font-family:inherit;
    transition:all .2s;position:relative;z-index:1;
  }
  .price-cta-big:hover{background:var(--gold);color:var(--ink);transform:translateY(-2px);box-shadow:0 12px 32px rgba(255,182,39,0.4)}
  .price-guarantee-big{text-align:center;margin-top:20px;font-size:13px;opacity:0.6;position:relative;z-index:1}

  /* COMPARISON */
  .comparison{padding:120px 0;background:var(--cream-2)}
  .comparison h2{margin-bottom:48px;text-align:center}
  .compare-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;max-width:980px;margin:0 auto}
  @media(max-width:768px){.compare-grid{grid-template-columns:1fr}}
  .compare-col{
    background:var(--paper);border-radius:24px;padding:36px;
    border:1.5px solid rgba(35,21,16,0.08);
  }
  .compare-col.highlight{background:var(--ink);color:var(--cream);border-color:var(--ink)}
  .compare-col h3{margin-bottom:20px;font-size:22px}
  .compare-col ul{list-style:none}
  .compare-col li{padding:10px 0;font-size:15px;display:flex;gap:10px;align-items:flex-start}
  .compare-col li::before{flex-shrink:0;margin-top:2px}
  .compare-col:not(.highlight) li::before{content:"✕";color:#bbb;font-weight:600}
  .compare-col.highlight li::before{content:"✓";color:var(--gold);font-weight:600}

  /* ═══════════════════════════════════════ */
  /* TÉMOIGNAGES PAGE                        */
  /* ═══════════════════════════════════════ */
  .testi-grid-page{padding:60px 0 120px;background:var(--cream)}
  .testi-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:64px}
  @media(max-width:900px){.testi-grid{grid-template-columns:1fr}}
  .testi-card{
    background:var(--paper);border-radius:24px;padding:32px;
    border:1.5px solid rgba(35,21,16,0.08);
    transition:transform .3s;position:relative;
    display:flex;flex-direction:column;
  }
  .testi-card:hover{transform:translateY(-4px)}
  .testi-card.featured{background:var(--orange);color:white;border-color:transparent}
  .testi-card.featured-2{background:var(--gold);color:var(--ink);border-color:transparent}
  .testi-stars{color:var(--gold);margin-bottom:16px;font-size:16px}
  .testi-card.featured .testi-stars{color:var(--cream)}
  .testi-text{font-size:16px;line-height:1.6;margin-bottom:24px;flex-grow:1}
  .testi-author{display:flex;align-items:center;gap:12px;padding-top:20px;border-top:1px solid rgba(35,21,16,0.1)}
  .testi-card.featured .testi-author{border-color:rgba(255,255,255,0.2)}
  .testi-avatar{
    width:44px;height:44px;border-radius:50%;
    display:flex;align-items:center;justify-content:center;
    font-family:'Fraunces',serif;font-weight:500;color:white;font-size:16px;
  }

  .case-studies{padding:120px 0;background:var(--peach)}
  .case-card{
    display:grid;grid-template-columns:1fr 2fr;gap:48px;
    padding:48px;background:var(--paper);border-radius:32px;
    margin-bottom:32px;align-items:center;
  }
  @media(max-width:900px){.case-card{grid-template-columns:1fr;padding:32px}}
  .case-num{
    font-family:'Fraunces',serif;font-style:italic;font-size:80px;font-weight:300;
    color:var(--orange);line-height:1;
  }
  .case-content h3{font-size:26px;margin-bottom:12px}
  .case-content .lead{font-size:16px;margin-bottom:20px}
  .case-stats{display:flex;gap:32px;flex-wrap:wrap}
  .case-stat-num{font-family:'Fraunces',serif;font-size:32px;color:var(--orange);font-weight:500}
  .case-stat-label{font-size:13px;color:var(--ink-soft)}

  /* ═══════════════════════════════════════ */
  /* À PROPOS PAGE                           */
  /* ═══════════════════════════════════════ */
  .about-content{padding:60px 0 120px;background:var(--cream)}
  .about-grid{display:grid;grid-template-columns:1fr 1.3fr;gap:80px;align-items:start;margin-bottom:120px}
  @media(max-width:900px){.about-grid{grid-template-columns:1fr;gap:48px}}
  .about-img{
    aspect-ratio:4/5;border-radius:32px;overflow:hidden;
    background:linear-gradient(160deg,var(--orange),var(--coral) 50%,var(--berry) 100%);
    position:relative;
  }
  .about-img::before{
    content:"";position:absolute;inset:0;
    background:radial-gradient(circle at 30% 30%,rgba(255,182,39,0.4),transparent 60%);
  }
  .about-img-overlay{
    position:absolute;bottom:24px;left:24px;right:24px;
    background:rgba(255,250,242,0.95);
    backdrop-filter:blur(8px);
    padding:20px;border-radius:16px;
  }
  .about-img-overlay h4{font-family:'Fraunces',serif;font-size:18px;font-weight:500;margin-bottom:4px}
  .about-img-overlay p{font-size:13px;color:var(--ink-soft)}
  .about-text h2{margin-bottom:24px}
  .about-text p{font-size:17px;color:var(--ink-soft);margin-bottom:20px;line-height:1.65}
  .about-text p strong{color:var(--ink);font-weight:500}

  .values{padding:120px 0;background:var(--cream-2)}
  .values-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;margin-top:64px}
  @media(max-width:900px){.values-grid{grid-template-columns:1fr}}
  .value-card{
    background:var(--paper);border-radius:24px;padding:36px;
    border:1.5px solid rgba(35,21,16,0.08);
  }
  .value-icon{
    width:56px;height:56px;border-radius:18px;
    display:flex;align-items:center;justify-content:center;font-size:24px;
    margin-bottom:24px;
  }
  .value-card:nth-child(1) .value-icon{background:var(--orange);color:white}
  .value-card:nth-child(2) .value-icon{background:var(--gold);color:var(--ink)}
  .value-card:nth-child(3) .value-icon{background:var(--coral);color:white}
  .value-card h3{font-size:22px;margin-bottom:10px}
  .value-card p{color:var(--ink-soft);font-size:15px}

  /* ═══════════════════════════════════════ */
  /* INSCRIPTION PAGE                        */
  /* ═══════════════════════════════════════ */
  .signup-section{padding:60px 0 120px;background:var(--cream)}
  .signup-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:64px;margin-top:48px;align-items:start}
  @media(max-width:900px){.signup-grid{grid-template-columns:1fr}}
  .signup-form{
    background:var(--paper);border-radius:28px;padding:48px;
    border:1.5px solid rgba(35,21,16,0.08);
  }
  .form-group{margin-bottom:24px}
  .form-group label{
    display:block;font-size:14px;font-weight:600;
    margin-bottom:8px;color:var(--ink);
  }
  .form-group input,.form-group select,.form-group textarea{
    width:100%;padding:14px 18px;border-radius:12px;
    border:1.5px solid rgba(35,21,16,0.15);
    background:var(--cream);font-family:inherit;font-size:15px;color:var(--ink);
    transition:border-color .2s,background .2s;
  }
  .form-group input:focus,.form-group select:focus,.form-group textarea:focus{
    outline:none;border-color:var(--orange);background:white;
  }
  .form-radios{display:grid;grid-template-columns:1fr 1fr;gap:12px}
  @media(max-width:600px){.form-radios{grid-template-columns:1fr}}
  .radio-card{
    border:1.5px solid rgba(35,21,16,0.15);border-radius:14px;
    padding:16px;cursor:pointer;transition:all .2s;
    background:var(--cream);
  }
  .radio-card:hover{border-color:var(--orange)}
  .radio-card input{display:none}
  .radio-card.selected{border-color:var(--orange);background:rgba(255,107,31,0.06)}
  .radio-card-title{font-weight:600;font-size:15px;margin-bottom:4px}
  .radio-card-desc{font-size:13px;color:var(--ink-soft)}
  .submit-btn{
    width:100%;background:var(--orange);color:white;
    padding:18px;border-radius:100px;border:none;cursor:pointer;
    font-family:inherit;font-size:16px;font-weight:600;
    transition:all .2s;margin-top:8px;
  }
  .submit-btn:hover{background:var(--orange-deep);transform:translateY(-2px);box-shadow:0 12px 32px rgba(255,107,31,0.4)}
  .form-note{text-align:center;font-size:13px;color:var(--ink-soft);margin-top:16px}

  .signup-summary{
    background:var(--ink);color:var(--cream);
    border-radius:28px;padding:40px;position:sticky;top:100px;
  }
  .signup-summary h3{color:var(--cream);font-size:24px;margin-bottom:24px}
  .summary-line{
    display:flex;justify-content:space-between;align-items:center;
    padding:14px 0;border-bottom:1px solid rgba(255,255,255,0.1);font-size:15px;
  }
  .summary-line:last-child{border-bottom:none;font-weight:600;font-size:18px;padding-top:20px}
  .summary-line .label-text{opacity:0.75}
  .summary-line .price-amount{font-family:'Fraunces',serif;font-size:28px;font-weight:500;color:var(--gold)}

  /* ═══════════════════════════════════════ */
  /* FOOTER                                  */
  /* ═══════════════════════════════════════ */
  footer{background:var(--ink);color:var(--cream);padding:80px 0 40px;position:relative;overflow:hidden}
  footer::before{
    content:"";position:absolute;top:-200px;right:-100px;width:500px;height:500px;
    border-radius:50%;
    background:radial-gradient(circle,rgba(255,107,31,0.15),transparent 60%);filter:blur(60px);
  }
  .footer-cta{
    background:linear-gradient(135deg,var(--orange) 0%,var(--coral) 100%);
    border-radius:36px;padding:64px;
    margin-bottom:80px;position:relative;z-index:1;
    display:grid;grid-template-columns:2fr 1fr;gap:48px;align-items:center;
    color:var(--ink);
  }
  @media(max-width:768px){.footer-cta{grid-template-columns:1fr;padding:40px}}
  .footer-cta h2{font-size:48px;color:var(--ink);line-height:1}
  .footer-cta h2 em{color:var(--berry-deep)}
  .footer-cta p{margin-top:16px;font-size:17px;opacity:0.85}
  .footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:48px;margin-bottom:48px;position:relative;z-index:1}
  @media(max-width:768px){.footer-grid{grid-template-columns:1fr 1fr;gap:32px}}
  footer .logo{color:var(--cream);margin-bottom:20px}
  .footer-tagline{opacity:0.7;font-size:15px;max-width:340px;line-height:1.6}
  .footer-col h5{font-size:13px;text-transform:uppercase;letter-spacing:0.18em;margin-bottom:20px;opacity:0.5;font-weight:600}
  .footer-col a{display:block;text-decoration:none;font-size:14px;padding:6px 0;opacity:0.8;transition:all .2s;cursor:pointer}
  .footer-col a:hover{opacity:1;color:var(--gold);transform:translateX(4px)}
  .footer-bottom{
    border-top:1px solid rgba(255,255,255,0.1);padding-top:24px;
    display:flex;justify-content:space-between;font-size:13px;opacity:0.6;flex-wrap:wrap;gap:12px;
    position:relative;z-index:1;
  }

  /* ═══════════════════════════════════════ */
  /* COOKIE BANNER                           */
  /* ═══════════════════════════════════════ */
  .cookie-banner{
    position:fixed;bottom:24px;left:24px;right:24px;
    max-width:520px;z-index:200;
    background:var(--ink);color:var(--cream);
    border-radius:24px;padding:28px;
    box-shadow:0 30px 80px rgba(35,21,16,0.4);
    transform:translateY(150%);opacity:0;
    transition:transform .5s cubic-bezier(0.34,1.56,0.64,1),opacity .4s;
    display:none;
  }
  .cookie-banner.show{display:block;transform:translateY(0);opacity:1}
  .cookie-banner h4{
    font-family:'Fraunces',serif;font-size:22px;font-weight:500;
    margin-bottom:10px;display:flex;align-items:center;gap:10px;
  }
  .cookie-banner p{font-size:14px;opacity:0.8;line-height:1.6;margin-bottom:20px}
  .cookie-banner p a{color:var(--gold);text-decoration:underline;cursor:pointer}
  .cookie-actions{display:flex;gap:10px;flex-wrap:wrap}
  .cookie-btn{
    padding:11px 20px;border-radius:100px;
    font-family:inherit;font-size:14px;font-weight:600;
    border:none;cursor:pointer;transition:all .2s;
  }
  .cookie-btn-primary{background:var(--orange);color:white;flex:1;min-width:140px}
  .cookie-btn-primary:hover{background:var(--gold);color:var(--ink)}
  .cookie-btn-secondary{background:rgba(255,255,255,0.1);color:var(--cream)}
  .cookie-btn-secondary:hover{background:rgba(255,255,255,0.2)}
  .cookie-btn-ghost{background:transparent;color:var(--cream);opacity:0.7}
  .cookie-btn-ghost:hover{opacity:1}

  .cookie-prefs{
    display:none;background:rgba(255,255,255,0.05);
    border-radius:14px;padding:20px;margin-bottom:20px;
  }
  .cookie-prefs.show{display:block}
  .cookie-pref{
    display:flex;justify-content:space-between;align-items:center;
    padding:12px 0;border-bottom:1px solid rgba(255,255,255,0.1);
  }
  .cookie-pref:last-child{border-bottom:none}
  .cookie-pref-info h5{font-size:14px;font-weight:600;margin-bottom:2px}
  .cookie-pref-info p{font-size:12px;opacity:0.7;margin:0}
  .toggle{
    position:relative;width:42px;height:24px;
    background:rgba(255,255,255,0.2);border-radius:100px;
    cursor:pointer;transition:background .2s;flex-shrink:0;
  }
  .toggle.active{background:var(--orange)}
  .toggle.disabled{background:var(--olive);cursor:not-allowed}
  .toggle::after{
    content:"";position:absolute;top:2px;left:2px;
    width:20px;height:20px;border-radius:50%;background:white;
    transition:transform .2s;
  }
  .toggle.active::after,.toggle.disabled::after{transform:translateX(18px)}

  /* Enterprise card (more than 20 participants) */
  .enterprise-card{
    max-width:640px;margin:24px auto 0;
    background:var(--paper);
    border:1.5px dashed rgba(35,21,16,0.18);
    border-radius:24px;padding:28px 32px;
    display:grid;grid-template-columns:auto 1fr auto;
    gap:24px;align-items:center;
    transition:border-color .2s,box-shadow .3s,transform .2s;
  }
  .enterprise-card:hover{
    border-color:var(--orange);
    box-shadow:0 12px 32px rgba(35,21,16,0.06);
  }
  @media(max-width:700px){
    .enterprise-card{grid-template-columns:1fr;text-align:center;padding:24px}
  }
  .enterprise-icon{
    width:52px;height:52px;border-radius:14px;
    background:linear-gradient(135deg,var(--orange),var(--coral));
    display:flex;align-items:center;justify-content:center;
    color:white;font-size:22px;flex-shrink:0;
    box-shadow:0 6px 16px rgba(255,107,31,0.25);
  }
  @media(max-width:700px){.enterprise-icon{margin:0 auto}}
  .enterprise-text h4{
    font-family:'Fraunces',serif;font-size:20px;font-weight:500;
    margin-bottom:4px;letter-spacing:-0.01em;
  }
  .enterprise-text p{
    font-size:14px;color:var(--ink-soft);line-height:1.5;margin:0;
  }
  .enterprise-cta{
    background:var(--ink);color:var(--cream);
    padding:12px 22px;border-radius:100px;
    font-size:14px;font-weight:600;text-decoration:none;
    display:inline-flex;align-items:center;gap:8px;cursor:pointer;
    border:none;font-family:inherit;flex-shrink:0;
    transition:background .2s,transform .2s;
  }
  .enterprise-cta:hover{background:var(--orange);transform:translateY(-2px)}

  /* Inline mini-version inside the inscription form */
  .enterprise-mini{
    background:var(--cream-2);border-radius:12px;
    padding:14px 18px;margin-top:14px;
    display:flex;justify-content:space-between;align-items:center;
    gap:12px;font-size:14px;flex-wrap:wrap;
  }
  .enterprise-mini-text{color:var(--ink-soft);line-height:1.4}
  .enterprise-mini-text strong{color:var(--ink)}
  .enterprise-mini-cta{
    color:var(--orange);font-weight:600;text-decoration:none;cursor:pointer;
    white-space:nowrap;
  }
  .enterprise-mini-cta:hover{text-decoration:underline}

  /* ═══════════════════════════════════════ */
  /* TEAM SIZE SLIDER (Tarifs + Inscription) */
  /* ═══════════════════════════════════════ */
  .team-selector{
    background:rgba(255,255,255,0.08);
    border:1px solid rgba(255,255,255,0.12);
    border-radius:18px;padding:24px;margin-bottom:32px;
    position:relative;z-index:1;
  }
  .team-header{
    display:flex;justify-content:space-between;align-items:center;
    margin-bottom:18px;flex-wrap:wrap;gap:8px;
  }
  .team-label{
    font-size:13px;text-transform:uppercase;letter-spacing:0.15em;
    font-weight:600;opacity:0.85;
  }
  .team-count{
    display:flex;align-items:baseline;gap:6px;
    font-family:'Fraunces',serif;
  }
  .team-count-num{
    font-size:32px;font-weight:500;letter-spacing:-0.02em;color:var(--gold);
    min-width:42px;text-align:right;
  }
  .team-count-suffix{font-size:14px;opacity:0.85;font-family:'Bricolage Grotesque',sans-serif}

  .team-slider-wrap{position:relative;padding:6px 0 4px}
  .team-slider{
    width:100%;-webkit-appearance:none;appearance:none;
    height:8px;border-radius:100px;outline:none;
    background:linear-gradient(to right,var(--gold) 0%,var(--gold) var(--fill,0%),rgba(255,255,255,0.15) var(--fill,0%),rgba(255,255,255,0.15) 100%);
    cursor:pointer;
  }
  .team-slider::-webkit-slider-thumb{
    -webkit-appearance:none;appearance:none;
    width:24px;height:24px;border-radius:50%;
    background:white;cursor:pointer;
    box-shadow:0 4px 12px rgba(0,0,0,0.25),0 0 0 4px var(--orange);
    border:none;transition:transform .15s,box-shadow .15s;
  }
  .team-slider::-webkit-slider-thumb:hover{transform:scale(1.1)}
  .team-slider::-webkit-slider-thumb:active{transform:scale(1.15);box-shadow:0 6px 16px rgba(0,0,0,0.3),0 0 0 5px var(--orange)}
  .team-slider::-moz-range-thumb{
    width:24px;height:24px;border-radius:50%;
    background:white;cursor:pointer;border:4px solid var(--orange);
    box-shadow:0 4px 12px rgba(0,0,0,0.25);
  }
  .team-ticks{
    display:flex;justify-content:space-between;
    margin-top:8px;font-size:11px;opacity:0.5;
  }

  .team-tier{
    margin-top:18px;padding:14px 16px;border-radius:12px;
    background:rgba(255,182,39,0.12);border:1px solid rgba(255,182,39,0.25);
    display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:8px;
    transition:background .3s;
  }
  .team-tier-label{font-size:13px;opacity:0.85}
  .team-tier-label strong{color:var(--gold);font-weight:600}
  .team-tier-discount{
    background:var(--gold);color:var(--ink);
    padding:4px 10px;border-radius:100px;font-size:12px;font-weight:600;
  }
  .team-tier.no-discount .team-tier-discount{display:none}

  /* Inscription page slider — adapted to light background */
  .signup-form .team-selector{
    background:var(--cream-2);
    border-color:rgba(35,21,16,0.1);
    color:var(--ink);
  }
  .signup-form .team-count-num{color:var(--orange)}
  .signup-form .team-slider{
    background:linear-gradient(to right,var(--orange) 0%,var(--orange) var(--fill,0%),rgba(35,21,16,0.12) var(--fill,0%),rgba(35,21,16,0.12) 100%);
  }
  .signup-form .team-slider::-webkit-slider-thumb{box-shadow:0 4px 12px rgba(0,0,0,0.15),0 0 0 4px var(--orange)}
  .signup-form .team-tier{
    background:rgba(255,107,31,0.08);border-color:rgba(255,107,31,0.18);
  }
  .signup-form .team-tier-label strong{color:var(--orange)}
  .signup-form .team-tier-discount{background:var(--orange);color:white}

  /* Dynamic price display animation */
  .price-num-dynamic{transition:opacity .15s}
  .price-num-dynamic.flash{opacity:0.6}

  /* ═══════════════════════════════════════ */
  /* STRIPE EMBEDDED CHECKOUT (inline)       */
  /* ═══════════════════════════════════════ */
  .stripe-embed{
    display:none;
    background:white;border-radius:14px;
    border:1px solid #E0E6EB;
    box-shadow:0 4px 16px rgba(0,0,0,0.04);
    font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
    overflow:hidden;
    animation:embedIn .45s cubic-bezier(0.34,1.4,0.64,1);
  }
  .stripe-embed.show{display:block}
  @keyframes embedIn{
    from{opacity:0;transform:translateY(12px)}
    to{opacity:1;transform:translateY(0)}
  }

  .stripe-embed-bar{
    background:#F6F9FC;
    padding:9px 14px;
    border-bottom:1px solid #E0E6EB;
    display:flex;align-items:center;gap:8px;
    font-size:11px;color:#697386;
  }
  .stripe-embed-bar::before{content:"🔒";font-size:10px}
  .stripe-embed-bar strong{color:#30313D;letter-spacing:0.02em;font-weight:600}
  .stripe-embed-back{
    margin-left:auto;background:none;border:none;
    font-size:12px;cursor:pointer;color:#697386;
    padding:3px 8px;border-radius:5px;line-height:1;
    font-family:inherit;transition:background .2s,color .2s;
  }
  .stripe-embed-back:hover{background:rgba(0,0,0,0.05);color:#30313D}

  .stripe-embed-body{padding:28px 24px}
  @media(max-width:480px){.stripe-embed-body{padding:24px 18px}}

  .stripe-merchant{
    display:flex;align-items:center;gap:10px;
    margin-bottom:20px;font-family:'Fraunces',serif;
    font-size:17px;font-weight:600;color:#1A1F36;
    letter-spacing:-0.02em;
  }
  .stripe-merchant .logo-mark{width:24px;height:24px;flex-shrink:0}

  .stripe-product{
    background:#F6F9FC;border-radius:10px;
    padding:16px 18px;margin-bottom:20px;
    border:1px solid #E0E6EB;
  }
  .stripe-product-name{
    font-size:13px;color:#30313D;font-weight:500;margin-bottom:4px;
  }
  .stripe-product-price{
    font-family:'Fraunces',serif;font-size:28px;font-weight:500;
    color:#1A1F36;letter-spacing:-0.02em;line-height:1;
  }
  .stripe-product-price .period{font-size:13px;color:#697386;font-weight:400;font-family:inherit}
  .stripe-product-trial{
    font-size:11px;color:#697386;margin-top:6px;
  }

  .stripe-field{margin-bottom:12px}
  .stripe-field label{
    display:block;font-size:13px;font-weight:500;
    color:#30313D;margin-bottom:6px;
  }
  .stripe-input{
    width:100%;padding:10px 13px;border-radius:6px;
    border:1px solid #E0E6EB;background:white;
    font-size:14px;color:#30313D;font-family:inherit;
    transition:border-color .15s,box-shadow .15s;
    box-shadow:0 1px 2px rgba(0,0,0,0.04);
  }
  .stripe-input:focus{
    outline:none;border-color:#635BFF;
    box-shadow:0 0 0 1px #635BFF,0 1px 2px rgba(0,0,0,0.04);
  }
  .stripe-card-row{
    display:grid;grid-template-columns:1.4fr 1fr 1fr;
    border:1px solid #E0E6EB;border-radius:6px;
    box-shadow:0 1px 2px rgba(0,0,0,0.04);
    transition:border-color .15s,box-shadow .15s;
    overflow:hidden;
  }
  .stripe-card-row:focus-within{
    border-color:#635BFF;box-shadow:0 0 0 1px #635BFF,0 1px 2px rgba(0,0,0,0.04);
  }
  .stripe-card-row input{
    border:none;box-shadow:none;background:none;
    padding:10px 13px;font-size:14px;font-family:inherit;color:#30313D;width:100%;
  }
  .stripe-card-row input:focus{outline:none}
  .stripe-card-row input:not(:last-child){border-right:1px solid #E0E6EB}

  .stripe-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:10px}

  .stripe-pay-btn{
    width:100%;background:#635BFF;color:white;
    padding:12px;border-radius:6px;font-size:15px;font-weight:500;
    border:none;cursor:pointer;font-family:inherit;
    transition:background .15s,transform .15s;
    margin-top:18px;
    display:flex;align-items:center;justify-content:center;gap:8px;
  }
  .stripe-pay-btn:hover{background:#5147DD}
  .stripe-pay-btn:active{transform:translateY(1px)}

  .stripe-foot-text{
    margin-top:14px;text-align:center;
    font-size:11px;color:#697386;line-height:1.5;
  }
  .stripe-foot-text a{color:#635BFF;text-decoration:none;cursor:pointer}
  .stripe-foot-text a:hover{text-decoration:underline}

  .stripe-poweredby{
    text-align:center;margin-top:18px;padding-top:14px;
    border-top:1px solid #F0F2F5;
    font-size:11px;color:#697386;
  }
  .stripe-poweredby strong{color:#30313D;letter-spacing:0.02em;font-weight:600}

  /* When embed is showing, hide the inscription form */
  .signup-form .form-area.hidden{display:none}

  /* ═══════════════════════════════════════ */
  /* CONFIRMATION PAGE                       */
  /* ═══════════════════════════════════════ */
  #page-confirmation{
    min-height:100vh;
    background:linear-gradient(180deg,var(--cream) 0%,var(--cream-2) 100%);
    padding:80px 32px;display:flex;align-items:center;justify-content:center;
    position:relative;overflow:hidden;
  }
  #page-confirmation::before{
    content:"";position:absolute;top:-200px;left:50%;transform:translateX(-50%);
    width:900px;height:900px;border-radius:50%;
    background:radial-gradient(circle,rgba(255,182,39,0.25),transparent 60%);
    filter:blur(60px);z-index:0;
  }
  .conf-content{
    position:relative;z-index:1;max-width:680px;width:100%;
    text-align:center;
  }
  .conf-check{
    width:88px;height:88px;border-radius:50%;
    background:linear-gradient(135deg,var(--olive),#8FA85D);
    display:flex;align-items:center;justify-content:center;
    margin:0 auto 32px;
    box-shadow:0 12px 40px rgba(110,139,61,0.35);
    animation:pop .6s cubic-bezier(0.34,1.56,0.64,1);
  }
  .conf-check svg{width:42px;height:42px;color:white}
  @keyframes pop{
    0%{transform:scale(0);opacity:0}
    100%{transform:scale(1);opacity:1}
  }
  .conf-content h1{
    font-size:clamp(36px,5vw,56px);margin-bottom:16px;
    line-height:1.05;animation:fadeUp .6s ease-out .2s backwards;
  }
  .conf-content h1 em{color:var(--orange)}
  .conf-content > p{
    font-size:18px;color:var(--ink-soft);
    margin-bottom:40px;max-width:540px;margin-left:auto;margin-right:auto;line-height:1.6;
    animation:fadeUp .6s ease-out .3s backwards;
  }

  .conf-card{
    background:white;border-radius:24px;padding:32px;
    text-align:left;border:1.5px solid rgba(35,21,16,0.08);
    margin-bottom:32px;animation:fadeUp .6s ease-out .4s backwards;
    box-shadow:0 12px 40px rgba(35,21,16,0.06);
  }
  .conf-card-header{
    display:flex;justify-content:space-between;align-items:center;
    padding-bottom:20px;margin-bottom:20px;
    border-bottom:1.5px dashed rgba(35,21,16,0.1);
  }
  .conf-card-header h3{font-size:18px;margin:0}
  .conf-card-header .badge{
    background:#E8F4DD;color:var(--olive);
    padding:5px 12px;border-radius:100px;
    font-size:12px;font-weight:600;
  }
  .conf-row{
    display:flex;justify-content:space-between;
    padding:8px 0;font-size:15px;
  }
  .conf-row .muted{color:var(--ink-soft)}
  .conf-row.total{font-weight:600;font-size:16px;padding-top:16px;margin-top:8px;border-top:1px solid rgba(35,21,16,0.08)}

  .conf-next{
    background:var(--paper);border-radius:20px;padding:28px;
    margin-bottom:32px;text-align:left;
    border:1.5px solid rgba(35,21,16,0.06);
    animation:fadeUp .6s ease-out .5s backwards;
  }
  .conf-next h4{
    font-size:14px;text-transform:uppercase;letter-spacing:0.15em;
    color:var(--orange);font-weight:600;margin-bottom:16px;
  }
  .conf-next ul{list-style:none}
  .conf-next li{
    padding:10px 0;display:flex;align-items:flex-start;gap:12px;
    font-size:15px;color:var(--ink-soft);line-height:1.5;
  }
  .conf-next li::before{
    content:"";width:24px;height:24px;border-radius:50%;
    background:var(--orange);color:white;
    flex-shrink:0;display:flex;align-items:center;justify-content:center;
    font-size:13px;font-weight:600;font-family:'Fraunces',serif;
    margin-top:1px;
  }
  .conf-next li:nth-child(1)::before{content:"1"}
  .conf-next li:nth-child(2)::before{content:"2"}
  .conf-next li:nth-child(3)::before{content:"3"}

  .conf-actions{
    display:flex;gap:16px;justify-content:center;flex-wrap:wrap;
    animation:fadeUp .6s ease-out .6s backwards;
  }

  /* ═══════════════════════════════════════ */
  /* 404 PAGE                                */
  /* ═══════════════════════════════════════ */
  /* Isolated pages (404 + confirmation): hide nav, footer, cookies */
  body.page-isolated nav,
  body.page-isolated footer,
  body.page-isolated .cookie-banner{display:none!important}

  #page-404{
    min-height:100vh;display:flex;align-items:center;justify-content:center;
    padding:80px 32px;text-align:center;position:relative;overflow:hidden;
  }
  #page-404::before{
    content:"";position:absolute;top:50%;left:50%;
    transform:translate(-50%,-50%);
    width:900px;height:900px;border-radius:50%;
    background:radial-gradient(circle,rgba(255,182,39,0.25),transparent 60%);
    filter:blur(60px);z-index:0;
  }
  #page-404::after{
    content:"";position:absolute;bottom:-100px;left:-100px;
    width:500px;height:500px;border-radius:50%;
    background:radial-gradient(circle,rgba(255,77,109,0.2),transparent 60%);
    filter:blur(70px);z-index:0;
  }
  .err-content{position:relative;z-index:1;max-width:680px}
  .err-num{
    font-family:'Fraunces',serif;font-style:italic;
    font-size:clamp(140px,22vw,260px);font-weight:300;
    line-height:0.9;letter-spacing:-0.05em;
    background:linear-gradient(135deg,var(--orange) 0%,var(--coral) 50%,var(--berry) 100%);
    -webkit-background-clip:text;background-clip:text;color:transparent;
    margin-bottom:24px;
    animation:wobble 4s ease-in-out infinite;
    display:inline-block;
  }
  @keyframes wobble{
    0%,100%{transform:rotate(-2deg) scale(1)}
    50%{transform:rotate(2deg) scale(1.02)}
  }
  .err-content h1{
    font-size:clamp(36px,5.5vw,56px);
    line-height:1.05;margin-bottom:20px;
  }
  .err-content h1 em{color:var(--orange)}
  .err-content p{
    font-size:19px;color:var(--ink-soft);
    margin-bottom:40px;max-width:520px;margin-left:auto;margin-right:auto;line-height:1.6;
  }
  .err-actions{display:flex;gap:16px;justify-content:center;flex-wrap:wrap}
  .err-suggestions{
    margin-top:64px;padding-top:32px;
    border-top:1.5px solid rgba(35,21,16,0.1);
  }
  .err-suggestions h4{
    font-size:12px;text-transform:uppercase;letter-spacing:0.18em;
    color:var(--orange);font-weight:600;margin-bottom:20px;
  }
  .err-links{
    display:flex;justify-content:center;gap:8px;flex-wrap:wrap;
  }
  .err-link{
    background:white;padding:10px 20px;border-radius:100px;
    border:1.5px solid rgba(35,21,16,0.08);
    font-size:14px;font-weight:500;color:var(--ink);
    text-decoration:none;cursor:pointer;transition:all .2s;
  }
  .err-link:hover{background:var(--orange);color:white;border-color:transparent;transform:translateY(-2px)}

  /* ═══════════════════════════════════════ */
  /* LOGIN PAGE                              */
  /* ═══════════════════════════════════════ */
  #page-connexion{min-height:100vh;background:var(--cream)}
  .login-grid{
    display:grid;grid-template-columns:1fr 1fr;
    min-height:calc(100vh - 80px);
  }
  @media(max-width:900px){.login-grid{grid-template-columns:1fr}}
  .login-form-side{
    display:flex;align-items:center;justify-content:center;
    padding:48px 32px;
  }
  .login-form-wrap{width:100%;max-width:420px}
  .login-header{margin-bottom:36px}
  .login-header .label{margin-bottom:16px}
  .login-header h2{font-size:42px;margin-bottom:10px;line-height:1.05}
  .login-header h2 em{color:var(--orange)}
  .login-header p{color:var(--ink-soft);font-size:16px}
  .login-header p a{color:var(--orange);font-weight:600;text-decoration:none;cursor:pointer}
  .login-header p a:hover{text-decoration:underline}

  .login-google{
    width:100%;background:white;color:var(--ink);
    padding:14px 20px;border-radius:14px;font-size:15px;font-weight:600;
    border:1.5px solid rgba(35,21,16,0.12);cursor:pointer;
    font-family:inherit;display:flex;align-items:center;justify-content:center;gap:12px;
    transition:all .2s;margin-bottom:24px;
  }
  .login-google:hover{border-color:var(--orange);transform:translateY(-1px);box-shadow:0 6px 16px rgba(35,21,16,0.06)}
  .login-google svg{width:20px;height:20px;flex-shrink:0}

  .login-divider{
    display:flex;align-items:center;gap:14px;
    margin:8px 0 24px;color:var(--ink-soft);font-size:13px;
  }
  .login-divider::before,.login-divider::after{
    content:"";flex:1;height:1px;background:rgba(35,21,16,0.12);
  }

  .login-form .form-group{margin-bottom:20px}
  .password-wrap{position:relative}
  .password-wrap input{padding-right:48px!important}
  .password-toggle{
    position:absolute;right:14px;top:50%;transform:translateY(-50%);
    background:none;border:none;cursor:pointer;
    color:var(--ink-soft);font-size:18px;padding:4px;
    transition:color .2s;
  }
  .password-toggle:hover{color:var(--orange)}

  .login-options{
    display:flex;justify-content:space-between;align-items:center;
    margin-bottom:24px;font-size:14px;flex-wrap:wrap;gap:12px;
  }
  .remember-me{
    display:flex;align-items:center;gap:8px;cursor:pointer;
    color:var(--ink-soft);
  }
  .remember-me input{
    width:18px;height:18px;cursor:pointer;accent-color:var(--orange);
  }
  .forgot-link{color:var(--orange);font-weight:600;text-decoration:none;cursor:pointer}
  .forgot-link:hover{text-decoration:underline}

  .login-submit{
    width:100%;background:var(--ink);color:var(--cream);
    padding:16px;border-radius:14px;font-size:16px;font-weight:600;
    border:none;cursor:pointer;font-family:inherit;
    transition:all .2s;
  }
  .login-submit:hover{background:var(--orange);transform:translateY(-2px);box-shadow:0 12px 32px rgba(255,107,31,0.35)}

  .login-foot{
    margin-top:32px;padding-top:24px;
    border-top:1.5px solid rgba(35,21,16,0.08);
    font-size:13px;color:var(--ink-soft);text-align:center;
  }
  .login-foot a{color:var(--ink-soft);text-decoration:underline;cursor:pointer}
  .login-foot a:hover{color:var(--orange)}

  /* ─── LOGIN VISUAL SIDE ─── */
  .login-visual-side{
    background:linear-gradient(160deg,var(--orange) 0%,var(--coral) 50%,var(--berry) 100%);
    color:white;padding:64px 48px;
    display:flex;flex-direction:column;justify-content:space-between;
    position:relative;overflow:hidden;
  }
  @media(max-width:900px){.login-visual-side{display:none}}
  .login-visual-side::before{
    content:"";position:absolute;top:-150px;right:-150px;width:400px;height:400px;
    border-radius:50%;background:radial-gradient(circle,rgba(255,182,39,0.4),transparent 65%);
  }
  .login-visual-side::after{
    content:"";position:absolute;bottom:-100px;left:-100px;width:300px;height:300px;
    border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,0.15),transparent 65%);
  }
  .login-visual-content{position:relative;z-index:1}
  .login-quote{
    font-family:'Fraunces',serif;
    font-size:clamp(28px,3vw,38px);
    line-height:1.2;letter-spacing:-0.02em;font-weight:400;
    margin-bottom:32px;
  }
  .login-quote em{font-style:italic;opacity:0.9}
  .login-quote-author{display:flex;align-items:center;gap:14px}
  .login-quote-avatar{
    width:56px;height:56px;border-radius:50%;
    background:rgba(255,255,255,0.2);
    display:flex;align-items:center;justify-content:center;
    color:white;font-family:'Fraunces',serif;font-size:20px;font-weight:500;
    border:2px solid rgba(255,255,255,0.4);
  }
  .login-quote-name{font-family:'Fraunces',serif;font-size:18px;font-weight:500}
  .login-quote-role{font-size:13px;opacity:0.85}

  .login-stats-row{
    display:grid;grid-template-columns:repeat(3,1fr);gap:16px;
    position:relative;z-index:1;padding-top:32px;
    border-top:1px solid rgba(255,255,255,0.2);
  }
  .login-stat{}
  .login-stat-num{
    font-family:'Fraunces',serif;font-size:32px;font-weight:500;
    letter-spacing:-0.02em;line-height:1;margin-bottom:4px;
  }
  .login-stat-label{font-size:12px;opacity:0.85;line-height:1.3}

  /* ═══════════════════════════════════════ */
  /* MEMBER DASHBOARD                        */
  /* ═══════════════════════════════════════ */
  #page-membre{background:var(--cream-2);min-height:100vh}
  .dashboard{display:grid;grid-template-columns:260px 1fr;min-height:100vh}
  @media(max-width:900px){.dashboard{grid-template-columns:1fr}}

  .dash-sidebar{
    background:var(--ink);color:var(--cream);
    padding:32px 20px;display:flex;flex-direction:column;gap:8px;
    position:sticky;top:0;height:100vh;overflow-y:auto;
  }
  @media(max-width:900px){.dash-sidebar{position:static;height:auto;flex-direction:row;flex-wrap:wrap;padding:16px;gap:6px}}
  .dash-logo{
    display:flex;align-items:center;gap:10px;padding:0 12px 24px;
    margin-bottom:8px;border-bottom:1px solid rgba(255,255,255,0.08);
    font-family:'Fraunces',serif;font-size:20px;font-weight:600;
    letter-spacing:-0.02em;
  }
  @media(max-width:900px){.dash-logo{width:100%;border-bottom:none;padding:0 8px 12px}}
  .dash-logo .logo-mark{width:28px;height:28px}
  .dash-nav-section{
    font-size:11px;text-transform:uppercase;letter-spacing:0.18em;
    color:rgba(255,250,242,0.4);font-weight:600;
    padding:16px 12px 8px;
  }
  @media(max-width:900px){.dash-nav-section{display:none}}
  .dash-link{
    display:flex;align-items:center;gap:12px;
    padding:11px 14px;border-radius:12px;
    color:rgba(255,250,242,0.75);text-decoration:none;font-size:14px;
    cursor:pointer;transition:all .2s;font-weight:500;
  }
  .dash-link:hover{background:rgba(255,255,255,0.06);color:var(--cream)}
  .dash-link.active{background:var(--orange);color:white}
  .dash-link .icon{font-size:18px;width:20px;text-align:center}
  .dash-badge{
    margin-left:auto;background:var(--coral);color:white;
    font-size:11px;font-weight:600;padding:2px 8px;border-radius:100px;
  }
  .dash-link.active .dash-badge{background:rgba(255,255,255,0.25)}

  .dash-user{
    margin-top:auto;padding:16px 12px;
    border-top:1px solid rgba(255,255,255,0.08);
    display:flex;align-items:center;gap:12px;cursor:pointer;
    transition:background .2s;border-radius:12px;
  }
  .dash-user:hover{background:rgba(255,255,255,0.05)}
  @media(max-width:900px){.dash-user{display:none}}
  .dash-avatar{
    width:38px;height:38px;border-radius:50%;
    background:linear-gradient(135deg,var(--orange),var(--coral));
    display:flex;align-items:center;justify-content:center;
    font-family:'Fraunces',serif;font-weight:500;color:white;font-size:15px;
    flex-shrink:0;
  }
  .dash-user-info{font-size:13px;flex:1;min-width:0}
  .dash-user-name{font-weight:600;color:var(--cream);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .dash-user-plan{opacity:0.6;font-size:12px}

  .dash-logout{
    display:flex;align-items:center;gap:10px;
    padding:11px 14px;margin-top:8px;
    background:transparent;border:1px solid rgba(255,255,255,0.1);
    border-radius:10px;cursor:pointer;
    color:rgba(255,244,230,0.7);font-size:13px;font-weight:500;
    font-family:inherit;width:100%;
    transition:all .15s;
  }
  .dash-logout:hover{
    background:rgba(255,77,109,0.12);
    border-color:rgba(255,77,109,0.3);
    color:#FFB3C0;
  }
  .dash-logout .icon{font-size:15px;line-height:1}
  @media(max-width:900px){.dash-logout{display:none}}

  /* ─── DASH MAIN ─── */
  .dash-main{padding:40px 48px;min-width:0}
  @media(max-width:768px){.dash-main{padding:24px}}
  .dash-header{
    display:flex;justify-content:space-between;align-items:center;
    margin-bottom:32px;flex-wrap:wrap;gap:16px;
  }
  .dash-greeting h1{
    font-family:'Fraunces',serif;font-size:36px;font-weight:500;
    letter-spacing:-0.025em;margin-bottom:4px;line-height:1.1;
  }
  .dash-greeting h1 em{color:var(--orange);font-style:italic}
  .dash-greeting p{color:var(--ink-soft);font-size:15px}
  .dash-search{
    background:white;border-radius:100px;padding:12px 20px;
    display:flex;align-items:center;gap:10px;
    border:1.5px solid rgba(35,21,16,0.08);min-width:280px;
    transition:border-color .2s,box-shadow .2s;
  }
  .dash-search:focus-within{border-color:var(--orange);box-shadow:0 0 0 4px rgba(255,107,31,0.1)}
  .dash-search input{
    border:none;outline:none;background:none;flex:1;
    font-family:inherit;font-size:14px;color:var(--ink);
  }
  @media(max-width:600px){.dash-search{min-width:0;width:100%}}

  /* ─── CONTINUE CARD ─── */
  .continue-card{
    background:linear-gradient(135deg,var(--ink) 0%,var(--berry) 100%);
    color:var(--cream);border-radius:24px;padding:36px;
    display:grid;grid-template-columns:1.5fr 1fr;gap:32px;align-items:center;
    margin-bottom:32px;position:relative;overflow:hidden;
  }
  .continue-card::before{
    content:"";position:absolute;top:-100px;right:-100px;width:300px;height:300px;
    border-radius:50%;background:radial-gradient(circle,rgba(255,182,39,0.3),transparent 65%);
  }
  @media(max-width:768px){.continue-card{grid-template-columns:1fr;padding:28px}}
  .continue-content{position:relative;z-index:1}
  .continue-tag{
    display:inline-block;background:rgba(255,255,255,0.15);
    padding:5px 12px;border-radius:100px;font-size:12px;font-weight:600;
    text-transform:uppercase;letter-spacing:0.1em;margin-bottom:14px;
  }
  .continue-card h3{font-size:26px;margin-bottom:8px;color:var(--cream)}
  .continue-card p{opacity:0.7;font-size:15px;margin-bottom:20px}
  .progress-bar{
    background:rgba(255,255,255,0.15);height:8px;border-radius:100px;
    overflow:hidden;margin-bottom:8px;
  }
  .progress-fill{
    height:100%;background:linear-gradient(90deg,var(--gold),var(--orange));
    border-radius:100px;
  }
  .progress-meta{display:flex;justify-content:space-between;font-size:13px;opacity:0.7}
  .continue-cta{
    background:var(--orange);color:white;padding:14px 24px;border-radius:100px;
    font-family:inherit;font-size:14px;font-weight:600;border:none;cursor:pointer;
    transition:all .2s;width:fit-content;justify-self:end;
    display:inline-flex;align-items:center;gap:8px;position:relative;z-index:1;
  }
  @media(max-width:768px){.continue-cta{justify-self:start}}
  .continue-cta:hover{background:var(--gold);color:var(--ink);transform:translateY(-2px)}

  /* ─── STATS ROW ─── */
  .stats-row{
    display:grid;grid-template-columns:repeat(4,1fr);gap:16px;
    margin-bottom:32px;
  }
  @media(max-width:900px){.stats-row{grid-template-columns:repeat(2,1fr)}}
  .stat-tile{
    background:white;border-radius:18px;padding:22px;
    border:1.5px solid rgba(35,21,16,0.06);
    transition:transform .2s,box-shadow .3s;
  }
  .stat-tile:hover{transform:translateY(-2px);box-shadow:0 12px 32px rgba(35,21,16,0.06)}
  .stat-tile-icon{
    width:36px;height:36px;border-radius:10px;
    display:flex;align-items:center;justify-content:center;
    font-size:18px;margin-bottom:12px;
  }
  .stat-tile:nth-child(1) .stat-tile-icon{background:#FFE9D6;color:var(--orange)}
  .stat-tile:nth-child(2) .stat-tile-icon{background:#FFF1CC;color:var(--gold-deep)}
  .stat-tile:nth-child(3) .stat-tile-icon{background:#FFD9DD;color:var(--coral)}
  .stat-tile:nth-child(4) .stat-tile-icon{background:#E0E8D6;color:var(--olive)}
  .stat-tile-num{font-family:'Fraunces',serif;font-size:32px;font-weight:500;letter-spacing:-0.02em;line-height:1;margin-bottom:4px}
  .stat-tile-label{font-size:13px;color:var(--ink-soft)}
  .stat-tile-trend{font-size:12px;color:var(--olive);font-weight:600;margin-top:6px}

  /* ─── DASH GRID ─── */
  .dash-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:24px;margin-bottom:32px}
  @media(max-width:900px){.dash-grid{grid-template-columns:1fr}}
  .dash-card{
    background:white;border-radius:20px;padding:28px;
    border:1.5px solid rgba(35,21,16,0.06);
  }
  .dash-card-header{
    display:flex;justify-content:space-between;align-items:center;
    margin-bottom:20px;
  }
  .dash-card-header h3{
    font-family:'Fraunces',serif;font-size:22px;font-weight:500;letter-spacing:-0.015em;
  }
  .dash-card-header a{
    color:var(--orange);font-size:13px;font-weight:600;
    text-decoration:none;cursor:pointer;
  }
  .dash-card-header a:hover{text-decoration:underline}

  /* ─── PROMPT LIST ─── */
  .prompt-item{
    padding:14px 0;border-bottom:1px solid rgba(35,21,16,0.06);
    display:flex;justify-content:space-between;align-items:center;
    cursor:pointer;transition:padding .2s;
  }
  .prompt-item:hover{padding-left:8px}
  .prompt-item:last-child{border-bottom:none}
  .prompt-info{flex:1;min-width:0}
  .prompt-title{
    font-weight:600;font-size:15px;margin-bottom:2px;
    white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
  }
  .prompt-meta{font-size:12px;color:var(--ink-soft);display:flex;gap:10px}
  .prompt-tag{
    padding:3px 10px;border-radius:100px;font-size:11px;font-weight:600;
    background:var(--cream-2);
  }
  .prompt-tag.orange{background:#FFE9D6;color:var(--orange)}
  .prompt-tag.coral{background:#FFD9DD;color:var(--coral)}
  .prompt-tag.olive{background:#E0E8D6;color:var(--olive)}

  /* ─── EVENT CARD ─── */
  .event-card{
    background:linear-gradient(135deg,var(--orange),var(--coral));
    color:white;border-radius:18px;padding:24px;margin-bottom:16px;
    position:relative;overflow:hidden;
  }
  .event-date{
    background:rgba(255,255,255,0.2);padding:5px 12px;border-radius:100px;
    font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:0.1em;
    display:inline-block;margin-bottom:12px;
  }
  .event-card h4{font-family:'Fraunces',serif;font-size:20px;font-weight:500;margin-bottom:6px;line-height:1.2}
  .event-card p{font-size:13px;opacity:0.9;margin-bottom:16px}
  .event-cta{
    background:white;color:var(--orange);padding:10px 18px;border-radius:100px;
    font-size:13px;font-weight:600;border:none;cursor:pointer;
    text-decoration:none;display:inline-block;transition:all .2s;
  }
  .event-cta:hover{background:var(--ink);color:white}

  /* ─── COMMUNITY ACTIVITY ─── */
  .activity-item{
    display:flex;gap:12px;padding:12px 0;
    border-bottom:1px solid rgba(35,21,16,0.06);
  }
  .activity-item:last-child{border-bottom:none}
  .activity-avatar{
    width:36px;height:36px;border-radius:50%;flex-shrink:0;
    display:flex;align-items:center;justify-content:center;
    color:white;font-size:13px;font-weight:600;font-family:'Fraunces',serif;
  }
  .activity-content{flex:1;min-width:0}
  .activity-text{font-size:13px;line-height:1.5}
  .activity-text strong{font-weight:600}
  .activity-time{font-size:11px;color:var(--ink-soft);margin-top:2px}

  /* ═══════════════════════════════════════ */
  /* LEGAL PAGES (Mentions / CGV)            */
  /* ═══════════════════════════════════════ */
  .legal-section{padding:60px 0 120px;background:var(--cream)}
  .legal-grid{display:grid;grid-template-columns:240px 1fr;gap:80px;margin-top:48px;align-items:start}
  @media(max-width:900px){.legal-grid{grid-template-columns:1fr;gap:32px}}
  .legal-toc{
    position:sticky;top:100px;
    background:var(--paper);border-radius:20px;padding:28px;
    border:1.5px solid rgba(35,21,16,0.08);
  }
  @media(max-width:900px){.legal-toc{position:static}}
  .legal-toc h4{
    font-size:12px;text-transform:uppercase;letter-spacing:0.18em;
    color:var(--orange);font-weight:600;margin-bottom:16px;
  }
  .legal-toc ol{list-style:none;counter-reset:toc}
  .legal-toc li{
    counter-increment:toc;padding:8px 0;
    font-size:14px;line-height:1.4;
  }
  .legal-toc li::before{
    content:counter(toc,decimal-leading-zero) ".";
    color:var(--orange);font-family:'Fraunces',serif;
    font-weight:500;margin-right:8px;
  }
  .legal-toc a{color:var(--ink-soft);text-decoration:none;transition:color .2s}
  .legal-toc a:hover{color:var(--orange)}
  .legal-content{max-width:780px}
  .legal-meta{
    display:flex;gap:16px;align-items:center;
    padding:16px 24px;background:var(--cream-2);border-radius:14px;
    margin-bottom:48px;font-size:14px;color:var(--ink-soft);flex-wrap:wrap;
  }
  .legal-meta strong{color:var(--ink);font-weight:600}
  .legal-content article{counter-reset:section}
  .legal-content section{margin-bottom:48px;scroll-margin-top:100px;counter-increment:section}
  .legal-content section h2{
    font-size:32px;margin-bottom:20px;
    padding-bottom:16px;border-bottom:2px solid var(--cream-2);
    display:flex;align-items:baseline;gap:16px;
  }
  .legal-content section h2::before{
    content:counter(section,decimal-leading-zero);
    font-family:'Fraunces',serif;font-style:italic;font-weight:300;
    font-size:24px;color:var(--orange);
  }
  .legal-content section h3{
    font-size:20px;margin:28px 0 12px;color:var(--ink);
  }
  .legal-content p{
    font-size:16px;line-height:1.7;color:var(--ink-soft);
    margin-bottom:16px;
  }
  .legal-content p strong{color:var(--ink);font-weight:600}
  .legal-content ul{
    margin:16px 0 16px 8px;padding-left:20px;
    color:var(--ink-soft);font-size:16px;line-height:1.7;
  }
  .legal-content ul li{margin-bottom:8px}
  .legal-content ul li::marker{color:var(--orange)}
  .legal-info-box{
    background:var(--paper);border-left:4px solid var(--orange);
    padding:24px 28px;border-radius:0 14px 14px 0;
    margin:24px 0;
  }
  .legal-info-box p{margin-bottom:8px;font-size:15px}
  .legal-info-box p:last-child{margin-bottom:0}

  /* ═══════════════════════════════════════ */
  /* CONTACT PAGE                            */
  /* ═══════════════════════════════════════ */
  .contact-section{padding:60px 0 120px;background:var(--cream)}
  .contact-grid{display:grid;grid-template-columns:1fr;max-width:680px;margin:48px auto 0;align-items:start}
  .contact-form{
    background:var(--paper);border-radius:28px;padding:48px;
    border:1.5px solid rgba(35,21,16,0.08);
  }
  .contact-side{display:flex;flex-direction:column;gap:24px}
  .contact-card{
    background:var(--paper);border-radius:24px;padding:32px;
    border:1.5px solid rgba(35,21,16,0.08);
  }
  .contact-card.dark{background:var(--ink);color:var(--cream);border:none}
  .contact-card.orange{background:var(--orange);color:white;border:none}
  .contact-card-icon{
    width:48px;height:48px;border-radius:14px;
    background:var(--cream-2);display:flex;align-items:center;justify-content:center;
    font-size:22px;margin-bottom:18px;
  }
  .contact-card.dark .contact-card-icon{background:rgba(255,255,255,0.1)}
  .contact-card.orange .contact-card-icon{background:rgba(255,255,255,0.2)}
  .contact-card h3{font-size:22px;margin-bottom:8px}
  .contact-card p{font-size:15px;opacity:0.85;margin-bottom:12px;line-height:1.5}
  .contact-card a.contact-link{
    color:var(--orange);text-decoration:none;font-weight:600;font-size:15px;
    display:inline-flex;align-items:center;gap:6px;
  }
  .contact-card.dark a.contact-link{color:var(--gold)}
  .contact-card.orange a.contact-link{color:white;text-decoration:underline}
  .contact-card a.contact-link:hover{transform:translateX(2px)}

  /* ─── SUCCESS ─── */
  .success-msg{
    display:none;background:var(--olive);color:white;
    padding:20px;border-radius:14px;text-align:center;font-weight:500;
    margin-bottom:24px;
  }
  .success-msg.show{display:block;animation:fadeUp .4s ease-out}

/* Override SPA page display for multi-file mode */
.page{display:block;animation:none}
