.nsx{
    --bg:#ffffff; --panel:#f7f5f2; --panel2:#efece6;
    --ink:#1c1a17; --muted:#726c65; --line:#e9e5df;
    --accent:#ff6a2c; --accent-ink:#e85718;
    --dark:#14110e; --dark-ink:#f5f2ee; --dark-muted:#a7a099;
    --maxw:1080px;
    font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","Helvetica Neue","Segoe UI",Roboto,Arial,sans-serif;
    color:var(--ink); background:var(--bg); line-height:1.5;
    -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility;
  }
  .nsx *{box-sizing:border-box; margin:0; padding:0;}
  .nsx a{color:inherit; text-decoration:none;}
  .nsx img{max-width:100%; display:block;}

  .nsx-wrap{max-width:var(--maxw); margin:0 auto; padding:0 24px;}
  .nsx-sec{padding:clamp(56px,7vw,96px) 0;}
  .nsx-panel{background:var(--panel); border-radius:28px;}
.nsx-panel + .nsx-panel,.nsx-panel + .nsx-dark,.nsx-dark + .nsx-panel,.nsx-dark + .nsx-dark{margin-top:clamp(16px,2.5vw,28px);}
  .nsx-center{text-align:center;}

  .nsx-eyebrow{font-size:13px; font-weight:600; letter-spacing:.09em; text-transform:uppercase; color:var(--accent); margin-bottom:18px;}
  .nsx-h1{font-size:clamp(40px,7.2vw,74px); font-weight:700; letter-spacing:-.03em; line-height:1.04; text-wrap:balance;}
  .nsx-h2{font-size:clamp(30px,4.6vw,50px); font-weight:700; letter-spacing:-.022em; line-height:1.08; text-wrap:balance;}
  .nsx-lead{font-size:clamp(18px,2.4vw,23px); font-weight:400; color:var(--muted); line-height:1.5; max-width:640px; text-wrap:pretty;}
  .nsx-center .nsx-lead{margin-left:auto; margin-right:auto;}
  .nsx-p{font-size:17px; color:var(--muted); line-height:1.6; max-width:560px;}

  /* Boutons */
  .nsx-cta{display:flex; gap:26px; align-items:center; flex-wrap:wrap; margin-top:34px;}
  .nsx-center .nsx-cta{justify-content:center;}
  .nsx-btn{display:inline-block; background:var(--accent); color:#fff; font-weight:500; font-size:17px; padding:13px 28px; border-radius:980px; transition:background .2s ease, transform .15s ease;}
  .nsx-btn:hover{background:var(--accent-ink); transform:translateY(-1px);}
  .nsx-link{font-size:17px; color:var(--accent); font-weight:500;}
  .nsx-link .nsx-arw{display:inline-block; transition:transform .2s ease;}
  .nsx-link:hover .nsx-arw{transform:translateX(4px);}
  .nsx-note{font-size:13px; color:var(--muted); margin-top:16px;}
  .nsx-promo{display:inline-block; background:rgba(255,106,44,.12); color:var(--accent-ink); font-weight:600; font-size:14px; padding:9px 17px; border-radius:980px;}

  /* Emplacement image */
  .nsx-shot{margin-top:clamp(40px,6vw,64px); aspect-ratio:16/10; border-radius:20px; background:linear-gradient(180deg,var(--panel),var(--panel2)); border:1px solid var(--line); box-shadow:0 40px 80px -40px rgba(20,30,40,.28); display:flex; align-items:center; justify-content:center; overflow:hidden;}
  .nsx-shot span{font-size:14px; color:var(--muted); letter-spacing:.02em; border:1px dashed #c7ccd2; padding:10px 16px; border-radius:10px;}
  .nsx-img{width:100%; border-radius:20px; box-shadow:0 40px 80px -40px rgba(20,30,40,.28); margin-top:clamp(40px,6vw,64px);}

  /* Split texte + image */
  .nsx-split{display:grid; grid-template-columns:1fr 1fr; gap:clamp(32px,6vw,80px); align-items:center;}
  .nsx-split .nsx-shot,.nsx-split .nsx-img{margin-top:0;}
  .nsx-split.rev .nsx-txt{order:2;}

  /* Section sombre */
  .nsx-dark{background:var(--dark); color:var(--dark-ink); border-radius:28px;}
  .nsx-dark .nsx-lead{color:var(--dark-muted);}
  .nsx-dark .nsx-eyebrow{color:#ff8a4c;}
  .nsx-dark .nsx-shot{background:linear-gradient(180deg,#1b1610,#141009); border-color:#2a2118; box-shadow:0 50px 90px -40px rgba(0,0,0,.6);}
  .nsx-dark .nsx-shot span{color:var(--dark-muted); border-color:#33291d;}
  .nsx-taglist{font-size:clamp(17px,2vw,20px); color:var(--ink); line-height:1.7; max-width:720px; margin:22px auto 0; font-weight:500;}
  .nsx-dark .nsx-taglist{color:var(--dark-ink);}

  /* Feature list a coches */
  .nsx-feat{list-style:none; display:flex; flex-direction:column; gap:13px;}
  .nsx-feat li{position:relative; padding-left:28px; font-size:16px; color:#33302c; line-height:1.45;}
  .nsx-feat li::before{content:""; position:absolute; left:0; top:7px; width:16px; height:9px; border-left:2px solid var(--accent); border-bottom:2px solid var(--accent); transform:rotate(-45deg);}

  /* Bloc tarif */
  .nsx-price{max-width:540px; margin:52px auto 0; background:var(--bg); border:1px solid var(--line); border-radius:26px; padding:44px 38px; text-align:center; box-shadow:0 40px 90px -50px rgba(20,30,40,.35);}
  .nsx-price .nsx-eyebrow{margin-bottom:12px;}
  .nsx-price-amt{font-size:clamp(52px,9vw,74px); font-weight:700; letter-spacing:-.03em; line-height:1; font-variant-numeric:tabular-nums;}
  .nsx-price-sub{font-size:16px; color:var(--muted); margin-top:12px;}
  .nsx-price .nsx-promo{margin:22px 0 4px;}
  .nsx-price .nsx-feat{margin:26px auto; text-align:left; max-width:340px;}
  .nsx-price .nsx-btn{margin-top:6px;}

  /* Etapes d'activation (vraie sequence -> numerotation justifiee) */
  .nsx-steps{display:grid; grid-template-columns:repeat(3,1fr); gap:28px; margin-top:56px; text-align:left; counter-reset:st;}
  .nsx-step{counter-increment:st;}
  .nsx-step .nsx-stn{font-size:14px; font-weight:700; color:var(--accent); letter-spacing:.04em; font-variant-numeric:tabular-nums;}
  .nsx-step .nsx-stn::before{content:"0" counter(st);}
  .nsx-step h3{font-size:20px; font-weight:600; letter-spacing:-.01em; margin:12px 0 8px;}
  .nsx-step p{font-size:16px; color:var(--muted); line-height:1.55;}

  .nsx a:focus-visible, .nsx-btn:focus-visible{outline:2px solid var(--accent); outline-offset:3px; border-radius:6px;}
  @keyframes nsxUp{from{opacity:0; transform:translateY(16px);} to{opacity:1; transform:none;}}
  .nsx-rise{animation:nsxUp .7s cubic-bezier(.2,.7,.2,1) both;}
  .nsx-rise.d1{animation-delay:.06s;} .nsx-rise.d2{animation-delay:.12s;} .nsx-rise.d3{animation-delay:.18s;}

  @media(max-width:820px){
    .nsx-split,.nsx-steps{grid-template-columns:1fr;}
    .nsx-split{gap:40px;}
    .nsx-split.rev .nsx-txt{order:0;}
  }
  @media(prefers-reduced-motion:reduce){.nsx *{animation:none !important; transition:none !important;}}

  /* Titres : couleur explicite et PRIORITAIRE (sinon Squarespace impose la sienne). */
  .nsx .nsx-h1,.nsx .nsx-h2,.nsx .nsx-step h3{color:var(--ink);}
  .nsx .nsx-dark .nsx-h1,.nsx .nsx-dark .nsx-h2{color:var(--dark-ink);}
