/* =============================================
   AFFILIATE.NINJA — Stylesheet
   ============================================= */

:root{
    --bg:#05070c;
    --bg-panel:#0b0f1a;
    --bg-panel-2:#0f1526;
    --blue-deep:#1737d8;
    --blue-mid:#2f6ff0;
    --cyan:#3fe0ff;
    --ink:#eef3fb;
    --slate:#8b98b8;
    --slate-dim:#5b6784;
    --line:rgba(255,255,255,0.08);
    --line-bright:rgba(63,224,255,0.35);
  }
  *{box-sizing:border-box; margin:0; padding:0;}
  html{scroll-behavior:smooth;}
  body{
    background:var(--bg);
    color:var(--ink);
    font-family:'Inter', sans-serif;
    line-height:1.6;
    overflow-x:hidden;
  }
  ::selection{ background:var(--blue-mid); color:#fff; }

  h1,h2,h3,.display{
    font-family:'Chakra Petch', sans-serif;
    font-weight:600;
    letter-spacing:-0.01em;
    line-height:1.08;
  }
  .eyebrow{
    font-family:'JetBrains Mono', monospace;
    font-size:12px;
    letter-spacing:0.18em;
    text-transform:uppercase;
    color:var(--cyan);
    display:flex;
    align-items:center;
    gap:10px;
  }
  .eyebrow::before{
    content:'';
    width:18px;
    height:1px;
    background:var(--cyan);
    display:inline-block;
  }
  .wrap{
    max-width:1120px;
    margin:0 auto;
    padding:0 32px;
  }
  a{ color:inherit; text-decoration:none; }
  img{ max-width:100%; display:block; }

  /* subtle ambient grid texture */
  .grid-noise{
    position:fixed;
    inset:0;
    pointer-events:none;
    z-index:0;
    background-image:
      linear-gradient(rgba(63,224,255,0.025) 1px, transparent 1px),
      linear-gradient(90deg, rgba(63,224,255,0.025) 1px, transparent 1px);
    background-size: 64px 64px;
    mask-image: radial-gradient(ellipse 80% 60% at 50% 0%, #000 10%, transparent 70%);
  }

  /* ---------- NAV ---------- */
  header{
    position:sticky;
    top:0;
    z-index:50;
    backdrop-filter:blur(10px);
    background:rgba(5,7,12,0.72);
    border-bottom:1px solid var(--line);
  }
  nav{
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:16px 32px;
    max-width:1120px;
    margin:0 auto;
  }
  .brand{
    display:flex;
    align-items:center;
    gap:10px;
  }
  .brand img{ height:30px; width:auto; }
  .brand span{
    font-family:'Chakra Petch', sans-serif;
    font-size:18px;
    font-weight:600;
  }
  .brand span .dot{ color:var(--cyan); }
  .nav-cta{
    font-family:'JetBrains Mono', monospace;
    font-size:12px;
    letter-spacing:0.08em;
    text-transform:uppercase;
    padding:10px 18px;
    border:1px solid var(--line-bright);
    border-radius:2px;
    color:var(--cyan);
    transition:background .2s ease, color .2s ease;
  }
  .nav-cta:hover{ background:var(--cyan); color:#031018; }

  /* ---------- HERO ---------- */
  .hero{
    position:relative;
    padding:32px 0 0;
    z-index:1;
  }
  .hero-stack{
    display:flex;
    flex-direction:column;
    align-items:center;
    text-align:center;
    gap:36px;
  }
  .hero-copy{
    max-width:760px;
  }
  .hero-copy h1{
    font-size:clamp(36px, 4.6vw, 58px);
    margin:20px 0 0;
  }
  .hero-copy h1 .cut{
    position:relative;
    display:inline-block;
    background:linear-gradient(90deg, var(--blue-mid), var(--cyan));
    -webkit-background-clip:text;
    background-clip:text;
    color:transparent;
  }
  .hero-copy p.subhead{
    font-family:'Chakra Petch', sans-serif;
    font-size:clamp(18px, 2vw, 22px);
    font-weight:500;
    color:var(--ink);
    margin-top:18px;
    max-width:560px;
    margin-left:auto;
    margin-right:auto;
  }
  .hero-copy p.brand-tag{
    font-family:'JetBrains Mono', monospace;
    font-size:12.5px;
    letter-spacing:0.1em;
    text-transform:uppercase;
    color:var(--cyan);
    margin:16px 0 0;
  }

  .hero-cta{
    max-width:520px;
  }
  .hero-cta p.sub{
    font-size:16px;
    color:var(--slate);
    margin-bottom:26px;
  }
  .hero-cta p.sub strong{ color:var(--ink); font-weight:600; }

  .cta-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    background:linear-gradient(90deg, var(--blue-mid), var(--cyan));
    border:none;
    color:#031018;
    font-family:'Chakra Petch', sans-serif;
    font-weight:700;
    font-size:14px;
    letter-spacing:0.04em;
    text-transform:uppercase;
    padding:17px 34px;
    border-radius:3px;
    cursor:pointer;
    white-space:nowrap;
    box-shadow:0 0 0 rgba(63,224,255,0);
    transition:filter .2s ease, box-shadow .2s ease, transform .15s ease;
  }
  .cta-btn:hover{
    filter:brightness(1.1);
    box-shadow:0 0 24px rgba(63,224,255,0.35);
  }
  .cta-btn:active{ transform:scale(0.98); }

  .fineprint{
    font-family:'JetBrains Mono', monospace;
    font-size:11px;
    color:var(--slate-dim);
    margin-top:12px;
    letter-spacing:0.02em;
  }

  .hero-art{
    position:relative;
    display:flex;
    flex-direction:column;
    gap:16px;
    width:100%;
    max-width:880px;
  }
  .hero-art .vsl-player{
    max-width:100%;
    margin:0;
  }
  .hero-art .vsl-caption{
    text-align:center;
    margin:0 auto;
    max-width:560px;
  }

  /* ---------- VSL PLAYER ---------- */
  .vsl-player{
    position:relative;
    max-width:820px;
    margin:0 auto;
    aspect-ratio:16/9;
    border-radius:6px;
    overflow:hidden;
    border:1px solid rgba(63, 224, 255, 0.45);
    background:var(--bg-panel);
    box-shadow: 0 0 25px rgba(63, 224, 255, 0.25), 0 0 50px rgba(47, 111, 240, 0.15);
    transition: border-color 0.3s ease, box-shadow 0.3s ease, transform 0.3s ease;
  }
  .vsl-player:hover{
    border-color: rgba(63, 224, 255, 0.7);
    box-shadow: 0 0 35px rgba(63, 224, 255, 0.4), 0 0 70px rgba(47, 111, 240, 0.25);
    transform: translateY(-2px);
  }
  .vsl-poster-view{
    position:absolute;
    inset:0;
    cursor:pointer;
  }
  .vsl-poster{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:top center;
    filter:saturate(0.7) brightness(0.55);
  }
  .vsl-scrim{
    position:absolute;
    inset:0;
    background:
      radial-gradient(ellipse 60% 60% at 50% 50%, transparent 30%, rgba(5,7,12,0.55) 100%),
      linear-gradient(180deg, rgba(5,7,12,0.25), rgba(5,7,12,0.75));
  }
  .vsl-embed-view{
    position:absolute;
    inset:0;
    display:none;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:10px;
    text-align:center;
    padding:24px;
    background:var(--bg-panel-2);
  }
  .vsl-embed-view.active{ display:flex; }
  .vsl-embed-view .embed-icon{
    font-size:28px;
    color:var(--cyan);
  }
  .vsl-embed-view p{
    color:var(--ink);
    font-size:15px;
  }
  .vsl-embed-view code{
    font-family:'JetBrains Mono', monospace;
    font-size:11.5px;
    color:var(--slate-dim);
    background:var(--bg-panel);
    border:1px solid var(--line);
    padding:8px 12px;
    border-radius:4px;
    max-width:100%;
    overflow-wrap:break-word;
  }
  .vsl-play{
    position:absolute;
    top:50%;
    left:50%;
    transform:translate(-50%,-50%);
    width:84px;
    height:84px;
    border-radius:50%;
    border:none;
    background:linear-gradient(90deg, var(--blue-mid), var(--cyan));
    display:flex;
    align-items:center;
    justify-content:center;
    cursor:pointer;
    box-shadow:0 0 0 rgba(63,224,255,0);
    transition:transform .2s ease, box-shadow .2s ease;
  }
  .vsl-play svg{ margin-left:4px; }
  .vsl-poster-view:hover .vsl-play{
    transform:translate(-50%,-50%) scale(1.06);
    box-shadow:0 0 40px rgba(63,224,255,0.4);
  }
  .vsl-duration{
    position:absolute;
    bottom:16px;
    right:18px;
    font-family:'JetBrains Mono', monospace;
    font-size:12px;
    color:var(--ink);
    background:rgba(5,7,12,0.6);
    padding:5px 10px;
    border-radius:3px;
    letter-spacing:0.02em;
  }
  .vsl-badge{
    position:absolute;
    top:16px;
    left:16px;
    font-family:'JetBrains Mono', monospace;
    font-size:10.5px;
    text-transform:uppercase;
    letter-spacing:0.08em;
    color:var(--cyan);
    background:rgba(5,7,12,0.7);
    border:1px solid var(--line-bright);
    padding:6px 10px;
    border-radius:20px;
  }
  .vsl-caption{
    text-align:center;
    color:var(--slate-dim);
    font-family:'JetBrains Mono', monospace;
    font-size:12px;
    max-width:520px;
    margin:20px auto 0;
    letter-spacing:0.02em;
  }

  /* ---------- WHY ---------- */
  .why{
    padding:120px 0 100px;
    position:relative;
    z-index:1;
  }
  .why-inner{
    display:grid;
    grid-template-columns:0.4fr 0.6fr;
    gap:60px;
  }
  .why h2{
    font-size:clamp(26px,3vw,34px);
    margin-top:16px;
  }
  .why-body{
    color:var(--slate);
    font-size:16px;
    max-width:560px;
  }
  .why-body p{ margin-bottom:18px; }
  .why-body p strong{ color:var(--ink); }

  /* ---------- SCROLLS (signature) ---------- */
  .scrolls{
    position:relative;
    padding:60px 0 140px;
    z-index:1;
  }
  .scrolls-head{
    margin-bottom:64px;
  }
  .scrolls-head h2{
    font-size:clamp(28px,3.4vw,40px);
    margin-top:16px;
    max-width:600px;
  }
  .scrolls-head p{
    color:var(--slate);
    max-width:520px;
    margin-top:16px;
    font-size:15.5px;
  }

  .scroll-path{
    position:relative;
  }
  .scroll-path::before{
    content:'';
    position:absolute;
    left:29px;
    top:10px;
    bottom:10px;
    width:1px;
    background:linear-gradient(180deg, var(--blue-deep), var(--cyan) 50%, var(--blue-deep));
    opacity:0.5;
  }
  .scroll-item{
    position:relative;
    display:grid;
    grid-template-columns:60px 1fr;
    gap:28px;
    padding:30px 0;
    opacity:0;
    transform:translateY(18px);
    transition:opacity .6s ease, transform .6s ease;
  }
  .scroll-item.in-view{ opacity:1; transform:translateY(0); }
  .scroll-item:not(:last-child){ border-bottom:1px solid var(--line); }
  .scroll-num{
    width:60px;
    height:60px;
    border-radius:2px;
    border:1px solid var(--line-bright);
    background:var(--bg-panel);
    display:flex;
    align-items:center;
    justify-content:center;
    font-family:'Chakra Petch', sans-serif;
    font-size:13px;
    color:var(--cyan);
    letter-spacing:0.04em;
    text-align:center;
    line-height:1.2;
    z-index:1;
  }
  .scroll-num .n{ display:block; font-size:20px; font-weight:600; color:var(--ink); }
  .scroll-content h3{
    font-size:20px;
    margin-bottom:8px;
    color:var(--ink);
  }
  .scroll-content p{
    color:var(--slate);
    font-size:14.5px;
    max-width:560px;
  }
  .scroll-content .rank{
    font-family:'JetBrains Mono', monospace;
    font-size:11px;
    color:var(--slate-dim);
    text-transform:uppercase;
    letter-spacing:0.1em;
    margin-bottom:10px;
    display:block;
  }

  /* ---------- CPA SPOTLIGHT ---------- */
  .cpa-spotlight{
    padding:20px 0 100px;
    position:relative;
    z-index:1;
  }
  .cpa-panel{
    position:relative;
    border:1px solid var(--line-bright);
    border-radius:6px;
    padding:48px;
    background:
      radial-gradient(ellipse 120% 100% at 0% 0%, rgba(63,224,255,0.07), transparent 60%),
      var(--bg-panel);
    overflow:hidden;
  }
  .cpa-panel::before{
    content:'';
    position:absolute;
    top:-1px; left:-1px; right:-1px;
    height:2px;
    background:linear-gradient(90deg, var(--blue-deep), var(--cyan), var(--blue-deep));
  }
  .cpa-panel-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    flex-wrap:wrap;
    gap:12px;
    margin-bottom:16px;
  }
  .soon-tag{
    font-family:'JetBrains Mono', monospace;
    font-size:10.5px;
    letter-spacing:0.1em;
    text-transform:uppercase;
    color:var(--slate);
    border:1px solid var(--line);
    padding:5px 10px;
    border-radius:20px;
  }
  .cpa-panel h2{
    font-size:clamp(26px,3vw,34px);
    margin-bottom:22px;
  }
  .cpa-body{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:32px;
  }
  .cpa-body p{
    color:var(--slate);
    font-size:15px;
  }
  .cpa-body p strong{ color:var(--ink); }

  /* ---------- PATHS ---------- */
  .paths{
    padding:20px 0 120px;
    position:relative;
    z-index:1;
  }
  .path-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:1px;
    background:var(--line);
    border:1px solid var(--line);
    border-radius:4px;
    overflow:hidden;
  }
  .path-card{
    background:var(--bg-panel);
    padding:40px 36px;
    transition:background .25s ease;
  }
  .path-card:hover{ background:var(--bg-panel-2); }
  .path-label{
    font-family:'JetBrains Mono', monospace;
    font-size:11px;
    letter-spacing:0.12em;
    text-transform:uppercase;
    color:var(--slate-dim);
  }
  .path-card h3{
    font-size:24px;
    margin:10px 0 22px;
    color:var(--ink);
  }
  .path-card h3 .path-sub{
    font-weight:400;
    color:var(--slate);
    font-size:18px;
  }
  .path-intro{
    color:var(--slate);
    font-size:14px;
    line-height:1.55;
    padding-bottom:24px;
    margin-bottom:24px;
    border-bottom:1px solid var(--line);
  }
  .path-lessons{
    list-style:none;
    counter-reset:none;
  }
  .path-lessons li{
    display:grid;
    grid-template-columns:34px 1fr;
    gap:14px;
    padding:14px 0;
  }
  .path-lessons li:not(:last-child){
    border-bottom:1px solid var(--line);
  }
  .pl-num{
    font-family:'JetBrains Mono', monospace;
    font-size:12px;
    color:var(--cyan);
    padding-top:2px;
  }
  .path-lessons strong{
    display:block;
    font-family:'Chakra Petch', sans-serif;
    font-weight:600;
    font-size:15px;
    color:var(--ink);
    margin-bottom:4px;
  }
  .path-lessons p{
    color:var(--slate);
    font-size:13.5px;
    line-height:1.5;
  }
  .path-note{
    text-align:center;
    color:var(--slate-dim);
    font-family:'JetBrains Mono', monospace;
    font-size:12px;
    margin-top:32px;
    letter-spacing:0.02em;
  }

  /* ---------- WALK AWAY ---------- */
  .walkaway{
    padding:100px 0;
    border-top:1px solid var(--line);
    border-bottom:1px solid var(--line);
    background:linear-gradient(180deg, transparent, rgba(23,55,216,0.05), transparent);
    position:relative;
    z-index:1;
  }
  .walkaway-inner{
    display:grid;
    grid-template-columns:0.4fr 0.6fr;
    gap:60px;
  }
  .walkaway h2{ font-size:clamp(26px,3vw,32px); margin-top:16px; max-width:340px; }
  .walk-list{ list-style:none; }
  .walk-list li{
    display:flex;
    gap:16px;
    padding:18px 0;
    border-bottom:1px solid var(--line);
    font-size:15.5px;
    color:var(--slate);
  }
  .walk-list li:last-child{ border-bottom:none; }
  .walk-list li::before{
    content:'⟶';
    color:var(--cyan);
    font-family:'JetBrains Mono', monospace;
    flex-shrink:0;
  }
  .walk-list li strong{ color:var(--ink); font-weight:600; }

  /* ---------- FINAL CTA ---------- */
  .final{
    padding:140px 0;
    text-align:center;
    position:relative;
    z-index:1;
  }
  .final h2{
    font-size:clamp(32px,5vw,52px);
    max-width:680px;
    margin:20px auto 18px;
  }
  .final h2 .cut{
    background:linear-gradient(90deg, var(--blue-mid), var(--cyan));
    -webkit-background-clip:text;
    background-clip:text;
    color:transparent;
  }
  .final p{ color:var(--slate); max-width:480px; margin:0 auto 36px; font-size:15.5px; }
  .final .cta-btn{ margin:0 auto; }
  .final .eyebrow{ justify-content:center; }
  .final .eyebrow::before{ display:none; }

  /* ---------- QUALIFIER ---------- */
  .qualifier{
    padding:20px 0 100px;
    position:relative;
    z-index:1;
  }
  .qual-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:1px;
    background:var(--line);
    border:1px solid var(--line);
    border-radius:4px;
    overflow:hidden;
  }
  .qual-card{
    background:var(--bg-panel);
    padding:36px;
  }
  .qual-label{
    font-family:'Chakra Petch', sans-serif;
    font-weight:600;
    font-size:17px;
    display:block;
    margin-bottom:20px;
  }
  .qual-yes .qual-label{ color:var(--cyan); }
  .qual-no .qual-label{ color:var(--slate); }
  .qual-card ul{ list-style:none; }
  .qual-card li{
    position:relative;
    padding-left:22px;
    margin-bottom:14px;
    color:var(--slate);
    font-size:14.5px;
    line-height:1.55;
  }
  .qual-yes li::before{
    content:'+';
    position:absolute;
    left:0;
    top:-1px;
    color:var(--cyan);
    font-family:'JetBrains Mono', monospace;
    font-weight:700;
  }
  .qual-no li::before{
    content:'–';
    position:absolute;
    left:0;
    top:-1px;
    color:var(--slate-dim);
    font-family:'JetBrains Mono', monospace;
    font-weight:700;
  }

  /* ---------- FAQ ---------- */
  .faq{
    padding:20px 0 110px;
    position:relative;
    z-index:1;
  }
  .faq-list{
    max-width:760px;
    margin:0 auto;
  }
  .faq-item{
    border-bottom:1px solid var(--line);
  }
  .faq-q{
    width:100%;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
    background:none;
    border:none;
    color:var(--ink);
    font-family:'Chakra Petch', sans-serif;
    font-size:16.5px;
    font-weight:500;
    text-align:left;
    padding:22px 4px;
    cursor:pointer;
  }
  .faq-icon{
    flex-shrink:0;
    width:26px;
    height:26px;
    border-radius:50%;
    border:1px solid var(--line-bright);
    display:flex;
    align-items:center;
    justify-content:center;
    font-family:'JetBrains Mono', monospace;
    font-size:15px;
    color:var(--cyan);
    transition:transform .25s ease;
  }
  .faq-item.open .faq-icon{ transform:rotate(45deg); }
  .faq-a{
    max-height:0;
    overflow:hidden;
    transition:max-height .3s ease;
  }
  .faq-item.open .faq-a{ max-height:200px; }
  .faq-a p{
    color:var(--slate);
    font-size:14.5px;
    line-height:1.6;
    padding:0 4px 22px;
    max-width:620px;
  }

  /* ---------- FOOTER ---------- */
  footer{
    padding:40px 0;
    border-top:1px solid var(--line);
    position:relative;
    z-index:1;
  }
  .footer-inner{
    display:flex;
    justify-content:space-between;
    align-items:center;
    flex-wrap:wrap;
    gap:16px;
  }
  footer .brand span{ font-size:15px; }
  footer .brand img{ height:22px; }
  footer .meta{
    font-family:'JetBrains Mono', monospace;
    font-size:11px;
    color:var(--slate-dim);
    letter-spacing:0.04em;
  }

  /* ---------- STICKY MOBILE CTA ---------- */
  .sticky-cta{
    position:fixed;
    bottom:0;
    left:0;
    right:0;
    z-index:60;
    padding:14px 20px;
    background:rgba(5,7,12,0.92);
    backdrop-filter:blur(10px);
    border-top:1px solid var(--line-bright);
    transform:translateY(100%);
    transition:transform .3s ease;
  }
  .sticky-cta.visible{ transform:translateY(0); }
  .sticky-cta .cta-btn{ display:flex; width:100%; }

  @media (max-width: 860px){
    .why-inner, .walkaway-inner, .path-grid, .cpa-body, .qual-grid{ grid-template-columns:1fr; }
    .cpa-panel{ padding:28px 24px; }
    .path-card{ padding:28px 24px; }
    .hero{ padding-top:20px; }
    .cta-btn{ width:100%; padding:16px; }
    .vsl-play{ width:64px; height:64px; }
    .vsl-play svg{ width:20px; height:23px; }
    .vsl-badge{ font-size:9.5px; padding:5px 8px; }
    .scroll-path::before{ left:23px; }
    .scroll-num{ width:46px; height:46px; font-size:11px; }
    .scroll-num .n{ font-size:16px; }
    .scroll-item{ grid-template-columns:46px 1fr; gap:18px; }
  }

  @media (prefers-reduced-motion: reduce){
    html{ scroll-behavior:auto; }
    .scroll-item{ opacity:1; transform:none; transition:none; }
  }
