/* ============================================================
   BOTOVOD / CODE - лендинг курса
   Единственная страница, которая это использует.
   Секционные блоки (.p5 нулевой день, .f1b кибер-кот,
   .d4 наставники) идут в конце - они переопределяют общие
   правила выше, поэтому порядок важен.
   Требует base.css.
   ============================================================ */

  /* палитра, сброс и утилиты (.wrap/.mono/.display) - в base.css */
  html{scroll-padding-top:56px}
  body{
    background:
      radial-gradient(1200px 600px at 80% -10%, rgba(255,0,60,.25), transparent 60%),
      radial-gradient(900px 500px at 10% 30%, rgba(5,217,232,.10), transparent 60%),
      radial-gradient(700px 400px at 50% 110%, rgba(255,42,109,.18), transparent 60%),
      var(--bg);
  }
  body::before{
    content:"";position:fixed;inset:0;pointer-events:none;z-index:1;
    background-image:
      linear-gradient(rgba(255,255,255,.025) 1px, transparent 1px),
      linear-gradient(90deg, rgba(255,255,255,.025) 1px, transparent 1px);
    background-size:48px 48px;
    mask-image: radial-gradient(ellipse at center, black 40%, transparent 80%);
  }

  /* ============ NAV ============ */
  nav{position:sticky;top:0;z-index:50;backdrop-filter: blur(10px);background:rgba(8,6,12,.6);border-bottom:1px solid var(--line)}
  nav .row{display:flex;align-items:center;justify-content:space-between;height:64px}
  .brand{display:flex;align-items:center;gap:12px}
  .brand .kanji{font-family:'Russo One',sans-serif;color:var(--red);text-shadow:0 0 20px rgba(255,0,60,.9),0 0 40px rgba(255,42,109,.5);font-size:22px;animation:brandPulse 3s ease-in-out infinite}
  .brand b{font-family:'Russo One',sans-serif;letter-spacing:.18em;font-size:13px}
  .navlinks{display:flex;gap:16px}
  .navlinks a{color:var(--muted);text-decoration:none;font-size:11px;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap}
  .navlinks a:hover{color:var(--ink)}
  .nav-actions{display:flex;align-items:center;gap:12px}
  .nav-blog{display:inline-block;padding:10px 18px;border:1px solid var(--red-2);color:var(--ink);font-family:'Russo One',sans-serif;letter-spacing:.18em;font-size:9px;text-transform:uppercase;text-decoration:none;white-space:nowrap;transition:all .2s}
  .nav-blog:hover{box-shadow:0 0 24px rgba(255,42,109,.6);background:rgba(255,42,109,.12)}
  .nav-cta{display:inline-block;padding:10px 18px;background:linear-gradient(180deg,var(--red-2),var(--red));color:#fff;font-family:'Russo One',sans-serif;letter-spacing:.18em;font-size:9px;text-transform:uppercase;text-decoration:none;white-space:nowrap;box-shadow:0 0 0 0 var(--red-2);transition:all .2s}
  .nav-cta:hover{box-shadow:0 0 24px rgba(255,42,109,.7),inset 0 0 16px rgba(255,255,255,.08);transform:translateY(-1px)}

  /* ============ NEW SECTION MARK (replaces eyebrow) ============ */
  .mark{display:flex;align-items:center;gap:16px;margin-bottom:26px;flex-wrap:wrap}
  .mark-kanji{
    font-family:'Russo One',sans-serif;
    font-size:38px;line-height:1;
    color:var(--red-2);
    text-shadow:0 0 19px rgba(255,42,109,.9), 0 0 45px rgba(255,42,109,.6);
    animation:kanjiBreath 4s ease-in-out infinite;
  }
  .mark-bar{
    width:64px;height:1px;
    background:linear-gradient(90deg,var(--red-2),transparent);
    box-shadow:0 0 8px var(--red-2);
    position:relative;
  }
  .mark-bar::before{
    content:"";position:absolute;left:0;top:-3px;width:7px;height:7px;
    background:var(--red-2);box-shadow:0 0 10px var(--red-2);
    transform:rotate(45deg);
  }
  .mark-num{font-family:'JetBrains Mono',monospace;font-size:11px;color:var(--cyan);letter-spacing:.3em;opacity:.8}
  .mark-text{font-family:'Russo One',sans-serif;font-size:14px;letter-spacing:.22em;text-transform:uppercase;color:var(--ink)}

  h2{font-family:'Russo One',sans-serif;font-size:clamp(32px,4.5vw,56px);line-height:1.05;margin:0 0 18px;text-transform:uppercase;letter-spacing:.01em}
  h2 .glow{
    color:var(--red-2);
    text-shadow:none;
    filter:
      drop-shadow(0 0 6px rgba(255,42,109,.55))
      drop-shadow(0 0 18px rgba(255,42,109,.35));
  }
  .sub{color:var(--muted);max-width:720px;font-size:17px;line-height:1.6;margin:0 0 50px}
  #tiers .sub{max-width:900px}

  /* ============ HERO ============ */
  .hero{position:relative;padding:120px 0 80px;overflow:hidden;min-height:min(820px,100vh)}
  .hero .big-kanji{
    position:absolute;left:50%;top:50%;transform:translate(-50%,-55%);
    font-family:'Russo One',sans-serif;
    font-size:min(60vw,720px);line-height:1;
    color:transparent;
    -webkit-text-stroke:1px rgba(255,42,109,.10);
    user-select:none;pointer-events:none;z-index:0;
    animation:bigKanji 7s ease-in-out infinite;
  }
  .hero h1{
    font-family:'Russo One',sans-serif;
    font-size:clamp(44px,8vw,108px);
    line-height:.95;margin:0;letter-spacing:.01em;
    text-shadow:0 0 30px rgba(255,0,60,.35);
    position:relative;z-index:3;
  }
  .hero h1 .glow{
    color:#ffe8f0;
    text-shadow:
      0 0 4px #fff,
      0 0 10px #ffcce0,
      0 0 22px var(--red-2),
      0 0 40px var(--red),
      0 0 70px rgba(255,0,60,.6);
    white-space:nowrap;
    animation:tubeFlicker 4s linear infinite;
  }
  .hero h1 .cy{color:var(--cyan);text-shadow:0 0 18px var(--cyan)}
  .hero h1 #typer{display:inline}
  .hero h1 .caret{
    display:inline-block;
    color:var(--red-2);
    text-shadow:0 0 18px var(--red-2),0 0 36px rgba(255,42,109,.6);
    margin-left:.04em;
    animation:caretBlink 1s steps(2,start) infinite;
    font-weight:400;
  }
  @keyframes caretBlink{50%{opacity:0}}
  .hero .lead{max-width:600px;font-size:clamp(16px,1.8vw,20px);color:#c8c2d6;margin:28px 0 36px;position:relative;z-index:3;line-height:1.5}
  .hero .meta{display:flex;gap:14px;flex-wrap:wrap;position:relative;z-index:3;margin-bottom:36px}
  .chip{font-family:'JetBrains Mono',monospace;font-size:12px;padding:8px 12px;border:1px solid var(--line);color:#bdb6cf;background:rgba(255,255,255,.02)}
  .chip b{color:var(--cyan);font-weight:400}
  .hero-cta{display:flex;gap:14px;flex-wrap:wrap;position:relative;z-index:3}

  /* ===== HERO LAYERED KANJI + DRIFT + PETALS + KATANA ===== */
  .hero .big-kanji.layer-2{
    -webkit-text-stroke:1px rgba(5,217,232,.15);
    animation:bigKanji2 9s ease-in-out infinite;
    font-size:min(64vw,780px);
  }
  .hero .big-kanji.layer-3{
    color:rgba(255,42,109,.06);
    -webkit-text-stroke:0;
    animation:bigKanji3 11s ease-in-out infinite;
    font-size:min(52vw,620px);
  }

  .hero .drift{
    position:absolute;
    font-family:'Russo One',sans-serif;
    color:transparent;
    -webkit-text-stroke:1px rgba(255,42,109,.45);
    pointer-events:none;user-select:none;z-index:1;
    filter:drop-shadow(0 0 10px rgba(255,42,109,.5));
  }
  .hero .drift.hd1{top:14%;right:34%;font-size:72px;animation:drift1 8s ease-in-out infinite}
  .hero .drift.hd2{top:22%;right:6%;font-size:96px;animation:drift2 10s ease-in-out infinite;-webkit-text-stroke-color:rgba(5,217,232,.5);filter:drop-shadow(0 0 12px rgba(5,217,232,.5))}
  .hero .drift.hd3{bottom:24%;right:40%;font-size:58px;animation:drift3 9s ease-in-out infinite}
  .hero .drift.hd4{bottom:18%;right:8%;font-size:80px;animation:drift4 11s ease-in-out infinite;-webkit-text-stroke-color:rgba(5,217,232,.4);filter:drop-shadow(0 0 12px rgba(5,217,232,.4))}
  @media (max-width:780px){.hero .drift{font-size:36px !important}}

  /* ===== SAKURA — falling petals ===== */
  .hero .petals{position:absolute;inset:0;z-index:1;pointer-events:none;overflow:hidden}
  .hero .petal{
    position:absolute;top:-30px;
    width:14px;height:16px;
    background:radial-gradient(circle at 30% 30%, #ffd9e6, #ff7ba8 65%, #d8497d);
    border-radius:80% 5% 80% 5%;
    filter:drop-shadow(0 0 5px rgba(255,123,168,.7)) drop-shadow(0 0 12px rgba(255,42,109,.4));
    opacity:.92;
    animation:sakuraFall linear infinite;
  }
  .hero .petal:nth-child(1){left:4%;animation-duration:13s;animation-delay:0s}
  .hero .petal:nth-child(2){left:11%;animation-duration:16s;animation-delay:3.5s;width:10px;height:12px}
  .hero .petal:nth-child(3){left:19%;animation-duration:14s;animation-delay:7s}
  .hero .petal:nth-child(4){left:27%;animation-duration:18s;animation-delay:1.2s;width:11px;height:13px}
  .hero .petal:nth-child(5){left:35%;animation-duration:12s;animation-delay:9s}
  .hero .petal:nth-child(6){left:43%;animation-duration:17s;animation-delay:5s;width:9px;height:11px}
  .hero .petal:nth-child(7){left:51%;animation-duration:15s;animation-delay:11s}
  .hero .petal:nth-child(8){left:59%;animation-duration:13s;animation-delay:2s;width:12px;height:14px}
  .hero .petal:nth-child(9){left:67%;animation-duration:16s;animation-delay:8s}
  .hero .petal:nth-child(10){left:75%;animation-duration:14s;animation-delay:4s;width:10px;height:12px}
  .hero .petal:nth-child(11){left:83%;animation-duration:17s;animation-delay:12s}
  .hero .petal:nth-child(12){left:91%;animation-duration:13s;animation-delay:6s;width:11px;height:13px}
  .hero .petal:nth-child(13){left:30%;animation-duration:19s;animation-delay:10s;width:8px;height:10px;opacity:.7}
  .hero .petal:nth-child(14){left:70%;animation-duration:20s;animation-delay:13s;width:8px;height:10px;opacity:.7}

  /* SAKURA branch SVG positioning */
  .sakura-branch{
    position:absolute;
    top:-20px;left:-60px;
    width:min(720px,55vw);
    z-index:1;
    pointer-events:none;
    filter:drop-shadow(0 0 14px rgba(255,42,109,.5)) drop-shadow(0 0 32px rgba(255,42,109,.25));
    animation:branchSway 9s ease-in-out infinite;
    transform-origin:top left;
  }
  @media (max-width:920px){.sakura-branch{width:min(420px,80vw);opacity:.6}}

  /* HERO MASK — Cracked half */
  .hero-mask{
    position:absolute;
    right:60px;
    top:52%;
    width:min(380px,30vw);
    height:auto;
    z-index:2;
    pointer-events:none;
    filter:drop-shadow(0 0 22px rgba(255,0,60,.55)) drop-shadow(0 0 48px rgba(255,42,109,.3));
    animation:maskFloat 8s ease-in-out infinite;
  }
  @keyframes maskFloat{0%,100%{transform:translateY(-50%)}50%{transform:translateY(calc(-50% - 14px))}}
  @media (max-width:920px){.hero-mask{display:none}}

  /* Enso (zen brush circle) — incomplete neon ring */
  .hero-enso{
    position:absolute;
    right:60px;top:120px;
    width:min(460px,38vw);
    height:auto;z-index:2;
    pointer-events:none;
    animation:ensoRotate 28s linear infinite;
    filter:drop-shadow(0 0 22px rgba(255,42,109,.55)) drop-shadow(0 0 50px rgba(255,42,109,.25));
  }
  @media (max-width:920px){.hero-enso{right:-40px;top:60px;width:min(360px,80vw);opacity:.45}}

  /* Diagonal neon katana */
  .hero-katana{
    position:absolute;
    right:-40px;bottom:80px;
    width:min(620px,48vw);
    z-index:2;pointer-events:none;
    transform-origin:right center;
    animation:katanaSway 7s ease-in-out infinite;
    filter:drop-shadow(0 0 16px rgba(5,217,232,.55)) drop-shadow(0 0 34px rgba(255,42,109,.4));
  }
  @media (max-width:920px){.hero-katana{display:none}}

  /* BUTTONS */
  .btn{display:inline-flex;align-items:center;gap:10px;padding:16px 28px;font-family:'Russo One',sans-serif;letter-spacing:.16em;font-size:13px;text-transform:uppercase;text-decoration:none;border:1px solid transparent;cursor:pointer;transition:all .2s}
  .btn-primary{background:linear-gradient(180deg,var(--red-2),var(--red));color:#fff;box-shadow:0 0 0 0 var(--red-2)}
  .btn-primary:hover{box-shadow:0 0 32px rgba(255,42,109,.7),inset 0 0 30px rgba(255,255,255,.08);transform:translateY(-1px)}
  .btn-ghost{color:var(--ink);border:1px solid rgba(255,255,255,.18)}
  .btn-ghost:hover{border-color:var(--cyan);color:var(--cyan)}
  /* шеврон в кнопках чуть толще (stroke 2.5 вместо 2) */
  .btn .icon-chevron{-webkit-mask-image:var(--chevron-right-bold);mask-image:var(--chevron-right-bold)}

  /* SECTION shell */
  section{padding:40px 0 100px;position:relative;z-index:2}

  /* ============ WHO ============ */
  .grid-2{display:grid;grid-template-columns:1fr 1fr;gap:24px}
  @media (max-width:780px){.grid-2{grid-template-columns:1fr}}
  .card{position:relative;padding:30px;border:1px solid var(--line);background:linear-gradient(180deg,rgba(255,255,255,.02),rgba(255,255,255,0));overflow:hidden}
  .card::before{content:"";position:absolute;left:0;top:0;width:3px;height:100%;background:var(--red-2);box-shadow:0 0 12px var(--red-2)}
  .card.cyan::before{background:var(--cyan);box-shadow:0 0 12px var(--cyan)}
  .card h3{font-family:'Russo One',sans-serif;letter-spacing:.04em;font-size:20px;margin:0 0 16px;text-transform:uppercase}
  .card ul{margin:0;padding:0;list-style:none}
  .card li{padding:10px 0 10px 28px;position:relative;color:#cdc7df;line-height:1.5;border-bottom:1px dashed rgba(255,255,255,.05)}
  .card li:last-child{border-bottom:none}
  .card li::before{content:"刀";position:absolute;left:0;top:10px;color:var(--red-2);font-family:'Russo One',sans-serif}
  .card.cyan li::before{content:"道";color:var(--cyan)}

  /* ============ TIMELINE (7 days) ============ */
  .timeline-intro{margin-bottom:60px}
  .timeline{position:relative;padding:130px 0 90px;display:grid;grid-template-columns:1fr 1fr;column-gap:90px;max-width:1080px;margin-left:auto;margin-right:auto}
  /* кирпичная лесенка: две независимые колонки, правая стартует на пол-карточки ниже */
  .tl-col{display:flex;flex-direction:column;gap:64px;min-width:0}
  .tl-col-right{margin-top:0}
  /* декор-филлер (кибер-кот) в верх правой колонки — заполняет пустоту, создаёт кирпич-смещение */
  .tl-filler{order:0;display:flex;justify-content:center;align-items:center;padding:6px 0 2px;opacity:.92;pointer-events:none}
  @media (max-width:880px){.tl-filler{display:none}}
  /* День 0 — подготовка (pre-модуль, не катана) */
  .tl-prep{max-width:1080px;margin:0 auto 46px;border:1px dashed rgba(5,217,232,.45);border-radius:6px;background:linear-gradient(180deg,rgba(5,217,232,.06),rgba(5,217,232,0));padding:26px 30px;position:relative;transition:border-color .25s,box-shadow .25s}
  .tl-prep:hover{border-color:var(--cyan);box-shadow:0 0 30px rgba(5,217,232,.14)}
  .tl-prep .tl-num{font-family:'JetBrains Mono',monospace;font-size:12px;letter-spacing:.28em;color:var(--cyan);text-shadow:0 0 8px rgba(5,217,232,.5)}
  .tl-prep h4{font-family:'Russo One',sans-serif;font-size:clamp(19px,2.2vw,26px);text-transform:uppercase;letter-spacing:.02em;margin:8px 0 10px;line-height:1.1}
  .tl-prep .tl-lead{color:#cdc7df;font-size:14.5px;line-height:1.55;margin:0 0 16px}
  .tl-prep ul{margin:0 0 4px;padding:0;list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:9px 30px}
  .tl-prep li{font-size:13.5px;color:#a59fb8;line-height:1.45;padding-left:20px;position:relative}
  .tl-prep li::before{content:"零";position:absolute;left:0;top:1px;color:var(--cyan);font-family:'Noto Serif JP',serif;font-size:11px}
  .tl-prep .tl-output{margin-top:16px;padding:12px 16px;background:rgba(5,217,232,.06);border-left:2px solid var(--cyan);font-family:'JetBrains Mono',monospace;font-size:12.5px;color:var(--cyan);line-height:1.45}
  @media (max-width:700px){.tl-prep ul{grid-template-columns:1fr}.tl-prep{margin-bottom:32px;padding:22px 20px}}
  /* BLADE — steel-white core with red neon halo */
  .timeline::before{
    content:"";position:absolute;left:50%;top:130px;bottom:90px;
    width:3px;
    background:linear-gradient(180deg,#fff,#bdf6fb 50%,#fff);
    box-shadow:
      0 0 9px var(--red-2),
      0 0 20px var(--red),
      0 0 40px rgba(255,42,109,.72),
      0 0 72px rgba(255,42,109,.4);
    transform:translateX(-50%);
    animation:bladeGlow 4s ease-in-out infinite;
  }
  /* SHINOGI — thin cyan inner line on blade (ridge) */
  .timeline::after{
    content:"";position:absolute;left:50%;top:130px;bottom:90px;
    width:1px;
    background:linear-gradient(180deg,rgba(5,217,232,.6),rgba(255,255,255,.9) 50%,rgba(5,217,232,.6));
    transform:translateX(-50%);
    z-index:1;
  }
  /* HILT (tsuka + tsuba) at the top */
  .katana-hilt{
    position:absolute;
    left:50%;top:0;
    transform:translateX(-50%);
    width:64px;height:128px;
    z-index:4;
    filter:drop-shadow(0 0 17px var(--red-2)) drop-shadow(0 0 42px rgba(255,42,109,.8));
    animation:hiltPulse 4s ease-in-out infinite;
  }
  /* TIP (kissaki) at the bottom */
  .katana-tip{
    position:absolute;
    left:50%;bottom:0;
    transform:translateX(-50%);
    width:18px;height:90px;
    z-index:4;
    filter:drop-shadow(0 0 10px var(--red-2)) drop-shadow(0 0 24px rgba(255,42,109,.5));
  }
  .tl-day{position:relative;margin-bottom:0}
  .tl-day:last-child{margin-bottom:0}

  /* точки-узлы на центральном лезвии в кирпичной раскладке скрыты (день маркируется кандзи-водяным знаком) */
  .tl-dot{display:none}
  .tl-dot-legacy{grid-column:2;display:flex;justify-content:center;padding-top:46px;position:relative}
  .tl-dot::before{
    content:"";width:20px;height:20px;
    border:2px solid var(--red-2);
    background:var(--bg);border-radius:50%;
    box-shadow:0 0 18px var(--red-2),inset 0 0 8px rgba(255,42,109,.4);
    position:relative;z-index:3;
    animation:dotPulse 2.6s ease-in-out infinite;
  }
  .tl-dot::after{
    content:attr(data-d);
    position:absolute;top:14px;left:50%;transform:translateX(-50%);
    font-family:'Russo One',sans-serif;color:var(--cyan);font-size:11px;letter-spacing:.18em;
    text-shadow:0 0 6px var(--cyan);
  }

  .tl-card{
    padding:32px 32px 28px;
    border:1px solid var(--line);
    background:linear-gradient(180deg,rgba(255,42,109,.05),rgba(255,42,109,0));
    position:relative;overflow:hidden;
    transition:border-color .25s,transform .25s,box-shadow .25s;
  }
  .tl-card:hover{border-color:var(--red-2);box-shadow:0 0 32px rgba(255,42,109,.18);transform:translateY(-3px)}
  .tl-day.left .tl-card{grid-column:1;text-align:right;margin-right:34px}
  .tl-day.right .tl-card{grid-column:3;text-align:left;margin-left:34px}

  .tl-kanji{
    position:absolute;
    font-family:'Russo One',sans-serif;
    font-size:170px;line-height:1;
    color:transparent;
    -webkit-text-stroke:1px rgba(255,42,109,.28);
    pointer-events:none;
    top:-30px;
    user-select:none;
  }
  .tl-day.left .tl-kanji{right:18px}
  .tl-day.right .tl-kanji{left:18px}

  .tl-num{
    font-family:'JetBrains Mono',monospace;font-size:12px;
    color:var(--cyan);letter-spacing:.32em;
    margin-bottom:10px;position:relative;z-index:2;
  }
  .tl-day h4{
    font-family:'Russo One',sans-serif;
    font-size:clamp(20px,2.2vw,28px);letter-spacing:.02em;
    margin:0 0 18px;text-transform:uppercase;
    position:relative;z-index:2;
    line-height:1.1;
  }
  .tl-day .tl-lead{
    margin:0 0 18px;color:#cdc7df;font-size:15px;line-height:1.55;
    position:relative;z-index:2;
  }
  .tl-day ul{margin:0 0 20px;padding:0;list-style:none;position:relative;z-index:2}
  .tl-day li{padding:7px 0;color:#a59fb8;font-size:13.5px;line-height:1.5;position:relative}
  .tl-day.left li{padding-right:22px}
  .tl-day.left li::after{content:"刀";position:absolute;right:0;color:var(--red-2);font-size:11px;top:7px}
  .tl-day.right li{padding-left:22px}
  .tl-day.right li::before{content:"刀";position:absolute;left:0;color:var(--red-2);font-size:11px;top:7px}

  .tl-output{
    margin-top:18px;padding:14px 18px;
    background:rgba(5,217,232,.06);
    font-family:'JetBrains Mono',monospace;font-size:12.5px;
    color:var(--cyan);line-height:1.45;
    position:relative;z-index:2;
  }
  .tl-day.right .tl-output{border-left:2px solid var(--cyan)}
  .tl-day.left .tl-output{border-right:2px solid var(--cyan)}

  .tl-time{
    display:inline-block;
    font-family:'JetBrains Mono',monospace;font-size:11px;
    letter-spacing:.2em;color:var(--muted);
    margin-top:16px;
    position:relative;z-index:2;
  }

  @media (max-width:880px){
    /* одна колонка: гасим grid, колонки-обёртки прозрачны, дни идут по order 1→7 */
    .timeline{display:flex;flex-direction:column;gap:48px;max-width:none;padding:90px 0 70px}
    .tl-col{display:contents}
    .tl-col-right{margin-top:0}
    .timeline::before{left:18px;transform:none;top:90px;bottom:70px}
    .timeline::after{left:18px;transform:none;top:90px;bottom:70px}
    .katana-hilt,.katana-tip{display:none}
    .tl-day{margin-bottom:0}
    .tl-day.left .tl-card,.tl-day.right .tl-card{margin:0 0 0 30px;text-align:left}
    .tl-day.left .tl-kanji,.tl-day.right .tl-kanji{left:auto;right:14px}
    .tl-day.left .tl-output,.tl-day.right .tl-output{border-right:none;border-left:2px solid var(--cyan)}
    .tl-day.left li::after{display:none}
    .tl-day.left li{padding-left:22px;padding-right:0}
    .tl-day.left li::before{content:"刀";position:absolute;left:0;color:var(--red-2);font-size:11px;top:7px}
  }

  /* ============ MODULES ============ */
  .mods{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
  @media (max-width:980px){.mods{grid-template-columns:repeat(2,1fr)}}
  @media (max-width:620px){.mods{grid-template-columns:1fr}}
  .mod{padding:28px;border:1px solid var(--line);background:rgba(255,255,255,.015);position:relative;overflow:hidden}
  .mod .icn{font-family:'Russo One',sans-serif;color:var(--red);font-size:32px;text-shadow:0 0 14px rgba(255,0,60,.6);margin-bottom:14px;display:block}
  .mod h4{font-family:'Russo One',sans-serif;font-size:17px;letter-spacing:.04em;margin:0 0 10px;text-transform:uppercase}
  .mod p{margin:0;color:#a59fb8;font-size:14px;line-height:1.55}
  .mod::after{content:"";position:absolute;inset:0;background:radial-gradient(220px 120px at 100% 0%, rgba(255,42,109,.10), transparent 60%);pointer-events:none}

  /* ============ PROOF ============ */
  .proof{padding:50px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:linear-gradient(180deg,rgba(255,0,60,.04),rgba(5,217,232,.03))}
  .stack{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
  @media (max-width:880px){.stack{grid-template-columns:repeat(2,1fr)}}
  .stat .n{font-family:'Russo One',sans-serif;font-size:42px;color:var(--cyan);text-shadow:0 0 14px rgba(5,217,232,.5);line-height:1}
  .stat .l{font-family:'JetBrains Mono',monospace;font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:#9d96b1;margin-top:8px}
  .stack-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:30px}
  .stack-tags span{font-family:'JetBrains Mono',monospace;font-size:12px;padding:6px 10px;border:1px solid var(--line);color:#bdb6cf}

  /* ============ TIERS — NEON DISTRICT ============ */
  .tiers-skyline{position:absolute;bottom:0;left:0;right:0;height:80px;background:linear-gradient(180deg,transparent,rgba(255,42,109,.04) 60%,rgba(5,217,232,.05));pointer-events:none}
  .tiers{
    display:grid;grid-template-columns:repeat(3,1fr);gap:28px;
    max-width:1280px;margin:30px auto 0;
    align-items:stretch;position:relative;z-index:2;
    transition:filter .4s;
  }
  .tier{position:relative;transition:all .4s;display:flex;flex-direction:column}
  .tier.basic{}
  .tier.featured{}
  .tier.premium{transform:none}

  .nd-building{
    background:linear-gradient(180deg,#1a0d18,#0a0408);
    padding:14px 14px 24px;
    border:1px solid #2a1825;border-radius:4px 4px 0 0;
    box-shadow:0 -8px 30px rgba(0,0,0,.6),inset 0 1px 0 rgba(255,255,255,.04);
    position:relative;
    flex:1;display:flex;flex-direction:column;
  }
  .nd-building::before{
    content:"";position:absolute;top:0;left:14px;right:14px;height:4px;
    background:repeating-linear-gradient(90deg,transparent 0 8px,rgba(255,255,255,.15) 8px 10px);
  }
  .nd-windows{position:absolute;top:16px;right:22px;display:grid;grid-template-columns:repeat(3,6px);gap:4px}
  .nd-windows span{width:6px;height:8px;background:rgba(255,184,77,.4);display:block}
  .nd-windows span:nth-child(2n){opacity:.3}
  .nd-windows span:nth-child(3n){background:rgba(5,217,232,.3)}

  .nd-signboard{
    background:linear-gradient(180deg,rgba(8,4,12,.95),rgba(20,8,24,.95));
    border:2px solid var(--red-2);
    padding:28px 22px 24px;position:relative;
    box-shadow:0 0 0 4px rgba(0,0,0,.5),0 0 30px rgba(255,42,109,.35),inset 0 0 20px rgba(255,42,109,.08);
    flex:1;display:flex;flex-direction:column;
  }
  .nd-signboard::before{
    content:"";position:absolute;top:-2px;left:-2px;right:-2px;bottom:-2px;
    border:1px dashed rgba(255,42,109,.4);pointer-events:none;
  }
  .nd-corners{position:absolute;inset:-6px;pointer-events:none}
  .nd-corners i{position:absolute;width:14px;height:14px;border:2px solid var(--red-2);box-shadow:0 0 8px var(--red-2)}
  .nd-corners i:nth-child(1){top:0;left:0;border-right:none;border-bottom:none}
  .nd-corners i:nth-child(2){top:0;right:0;border-left:none;border-bottom:none}
  .nd-corners i:nth-child(3){bottom:0;left:0;border-right:none;border-top:none}
  .nd-corners i:nth-child(4){bottom:0;right:0;border-left:none;border-top:none}

  .nd-head{display:flex;align-items:center;gap:14px;margin-bottom:16px;padding-bottom:14px;border-bottom:1px solid rgba(255,42,109,.2)}
  .nd-kanji{font-family:'Noto Serif JP',serif;font-size:64px;color:var(--red-2);font-weight:900;line-height:1;text-shadow:0 0 8px var(--red-2),0 0 24px rgba(255,42,109,.6),0 0 48px rgba(255,42,109,.3)}
  .nd-info{flex:1;min-width:0}
  .nd-name{font-family:'Russo One',sans-serif;font-size:34px;color:var(--ink);letter-spacing:3px;text-shadow:0 0 12px rgba(255,255,255,.3);text-transform:uppercase}
  .nd-slug{font-family:'JetBrains Mono',monospace;font-size:11px;color:var(--cyan);margin-top:4px;text-shadow:0 0 8px var(--cyan)}

  .nd-announce{font-family:'JetBrains Mono',monospace;font-size:10px;color:var(--muted);letter-spacing:2px;margin-bottom:10px}

  .tier ul{list-style:none;padding:0;margin:0 0 16px;width:100%}
  .tier li{font-size:12.5px;padding:5px 0 5px 18px;position:relative;color:var(--ink);line-height:1.4}
  .tier li::before{content:"◆";position:absolute;left:0;top:5px;color:var(--red-2);font-size:9px;text-shadow:0 0 6px var(--red-2)}
  .tier.featured li::before{color:var(--cyan);text-shadow:0 0 6px var(--cyan)}
  .tier.premium li::before{color:var(--gold);text-shadow:0 0 6px var(--gold)}

  /* ЦЕНА + КНОПКА ВЫБОРА ТАРИФА */
  .nd-price{
    text-align:center;margin:0 0 16px;padding:14px 0 16px;
    border-top:1px solid rgba(255,42,109,.15);
    border-bottom:1px solid rgba(255,42,109,.15);
    font-family:'Russo One',sans-serif;font-size:52px;line-height:1;
    color:#fff;
    text-shadow:0 0 6px #fff,0 0 16px var(--red-2),0 0 34px var(--red-2),0 0 60px rgba(255,42,109,.6);
  }
  .nd-price .cur{font-size:28px;vertical-align:super;opacity:.9}
  .nd-price .from{
    font-family:'JetBrains Mono',monospace;font-size:13px;letter-spacing:.1em;
    color:var(--muted);text-shadow:none;text-transform:uppercase;vertical-align:middle;
  }
  .tier.featured .nd-price{
    border-color:rgba(5,217,232,.15);
    text-shadow:0 0 6px #fff,0 0 16px var(--cyan),0 0 34px var(--cyan),0 0 60px rgba(5,217,232,.6);
  }
  .tier.premium .nd-price{
    font-size:46px;border-color:rgba(255,184,77,.15);
    text-shadow:0 0 6px #fff,0 0 16px var(--gold),0 0 34px var(--gold),0 0 60px rgba(255,184,77,.6);
  }

  .nd-buy{
    width:100%;margin-top:auto;padding:14px 18px;
    font-family:'Russo One',sans-serif;font-size:13px;letter-spacing:.14em;text-transform:uppercase;
    color:#fff;background:transparent;cursor:pointer;
    border:1px solid var(--red-2);
    box-shadow:0 0 18px rgba(255,42,109,.25),inset 0 0 18px rgba(255,42,109,.08);
    transition:transform .18s,box-shadow .25s,background .25s;
  }
  .nd-buy:hover{transform:translateY(-2px);background:rgba(255,42,109,.12);box-shadow:0 0 30px rgba(255,42,109,.5)}
  .tier.featured .nd-buy{border-color:var(--cyan);box-shadow:0 0 18px rgba(5,217,232,.25),inset 0 0 18px rgba(5,217,232,.08)}
  .tier.featured .nd-buy:hover{background:rgba(5,217,232,.12);box-shadow:0 0 30px rgba(5,217,232,.5)}
  .tier.premium .nd-buy{border-color:var(--gold);box-shadow:0 0 18px rgba(255,184,77,.25),inset 0 0 18px rgba(255,184,77,.08)}
  .tier.premium .nd-buy:hover{background:rgba(255,184,77,.12);box-shadow:0 0 30px rgba(255,184,77,.5)}

  /* НАБОР ЗАКРЫТ - неактивная заглушка вместо кнопок покупки.
     Идёт после .nd-buy, чтобы перебить подсветку тарифов. */
  .btn.is-closed,
  .nav-cta.is-closed,
  .tier .nd-buy.is-closed{
    background:rgba(255,255,255,.03);
    border:1px solid rgba(255,255,255,.14);
    color:var(--muted);
    box-shadow:none;
    cursor:default;
    pointer-events:none;
    transform:none;
  }

  /* VIP — cyan theme */
  .tier.featured .nd-signboard{border-color:var(--cyan);box-shadow:0 0 0 4px rgba(0,0,0,.5),0 0 30px rgba(5,217,232,.35),inset 0 0 20px rgba(5,217,232,.08)}
  .tier.featured .nd-signboard::before{border-color:rgba(5,217,232,.4)}
  .tier.featured .nd-corners i{border-color:var(--cyan);box-shadow:0 0 8px var(--cyan)}
  .tier.featured .nd-kanji{color:var(--cyan);text-shadow:0 0 8px var(--cyan),0 0 24px rgba(5,217,232,.6)}
  .tier.featured .nd-head{border-color:rgba(5,217,232,.2)}

  /* Premium — gold theme */
  .tier.premium .nd-building{background:linear-gradient(180deg,#2a1a05,#100800);border-color:#4a2f00}
  .tier.premium .nd-signboard{border-color:var(--gold);box-shadow:0 0 0 4px rgba(0,0,0,.5),0 0 40px rgba(255,184,77,.4),inset 0 0 20px rgba(255,184,77,.1);background:linear-gradient(180deg,rgba(20,12,4,.95),rgba(30,18,4,.95))}
  .tier.premium .nd-signboard::before{border-color:rgba(255,184,77,.5)}
  .tier.premium .nd-corners i{border-color:var(--gold);box-shadow:0 0 10px var(--gold)}
  .tier.premium .nd-kanji{color:var(--gold);text-shadow:0 0 8px var(--gold),0 0 24px rgba(255,184,77,.7),0 0 48px rgba(255,184,77,.4)}
  .tier.premium .nd-name{background:linear-gradient(90deg,var(--gold),#fff3d0,var(--gold));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;text-shadow:none;filter:drop-shadow(0 0 8px rgba(255,184,77,.5))}
  .tier.premium .nd-head{border-color:rgba(255,184,77,.2)}
  .tier.premium .nd-slug{color:var(--gold);text-shadow:0 0 8px var(--gold)}
  /* 将軍 — два широких кандзи: ужимаем их и имя, чтобы «SHOGUN» влезал целиком */
  .tier.premium .nd-kanji{font-size:54px}
  .tier.premium .nd-name{font-size:30px;letter-spacing:1px}

  .nd-premium-flag{position:absolute;top:-16px;left:50%;transform:translateX(-50%);background:var(--gold);color:#0a0710;font-family:'Russo One',sans-serif;font-size:12px;padding:8px 16px;letter-spacing:3px;box-shadow:0 0 20px var(--gold);z-index:3;white-space:nowrap}

  /* Hover Premium → others flicker, premium pulses gold */
  @keyframes nd-flicker-out{0%,100%{opacity:.3;filter:brightness(.4) saturate(.3)}20%{opacity:.15}50%{opacity:.35}70%{opacity:.1}}
  @keyframes nd-gold-pulse{0%,100%{box-shadow:0 0 0 4px rgba(0,0,0,.5),0 0 50px rgba(255,184,77,.6),inset 0 0 30px rgba(255,184,77,.15)}30%{box-shadow:0 0 0 4px rgba(0,0,0,.5),0 0 80px rgba(255,184,77,.85),inset 0 0 40px rgba(255,184,77,.25)}50%{box-shadow:0 0 0 4px rgba(0,0,0,.5),0 0 35px rgba(255,184,77,.4),inset 0 0 20px rgba(255,184,77,.1)}70%{box-shadow:0 0 0 4px rgba(0,0,0,.5),0 0 90px rgba(255,184,77,.9),inset 0 0 50px rgba(255,184,77,.3)}}
  .tiers:has(.tier.premium:hover) .tier:not(.premium){animation:nd-flicker-out 1.4s infinite}
  .tiers:has(.tier.premium:hover) .tier.premium{transform:translateY(-6px) scale(1.02)}
  .tiers:has(.tier.premium:hover) .tier.premium .nd-signboard{animation:nd-gold-pulse 2.6s ease-in-out infinite}

  /* ============ МОДАЛКА ОПЛАТЫ ============ */
  .paywall{position:fixed;inset:0;z-index:200;display:flex;align-items:center;justify-content:center;padding:20px}
  .paywall[hidden]{display:none}
  .paywall-back{position:absolute;inset:0;background:rgba(4,3,8,.85)}
  .paywall-box{
    position:relative;width:min(520px,100%);
    padding:44px 38px 32px;text-align:center;
    background:linear-gradient(180deg,#120b1e,#0a0710);
    border:1px solid var(--cyan);
    box-shadow:0 0 60px rgba(5,217,232,.25),inset 0 0 30px rgba(5,217,232,.06);
    animation:pwIn .22s ease-out;
  }
  @keyframes pwIn{from{opacity:0;transform:translateY(14px) scale(.98)}to{opacity:1;transform:none}}
  .paywall-x{
    position:absolute;top:10px;right:12px;
    background:none;border:0;color:var(--muted);font-size:18px;cursor:pointer;padding:8px;
    transition:color .2s;
  }
  .paywall-x:hover{color:var(--ink)}
  .paywall-kicker{
    font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.4em;
    color:var(--muted);text-transform:uppercase;margin-bottom:10px;
  }
  .paywall-box h3{
    font-family:'Russo One',sans-serif;font-size:clamp(26px,4vw,34px);
    text-transform:uppercase;letter-spacing:.04em;margin:0 0 16px;color:#fff;
  }
  .paywall-box h3 span{color:var(--cyan);text-shadow:0 0 16px rgba(5,217,232,.6)}
  .paywall-box p{color:#bdb6cf;font-size:15px;line-height:1.6;margin:0 auto 26px;max-width:400px}
  body.pw-open{overflow:hidden}
  .btn-tg{
    display:inline-flex;align-items:center;gap:10px;
    padding:18px 32px;
    background:linear-gradient(180deg,#229ED9,#0088cc);
    color:#fff;text-decoration:none;
    font-family:'Russo One',sans-serif;letter-spacing:.14em;
    font-size:14px;text-transform:uppercase;
    box-shadow:0 0 40px rgba(34,158,217,.7),0 0 80px rgba(34,158,217,.28);
    transition:transform .2s,box-shadow .2s;
    animation:tgBreath 2.6s ease-in-out infinite;
  }
  @keyframes tgBreath{0%,100%{opacity:.9}50%{opacity:1}}
  .btn-tg:hover{transform:translateY(-2px)}
  .btn-tg svg{width:22px;height:22px}

  /* ============ BONUS / RAFFLE ============ */
  .twocol{display:grid;grid-template-columns:1.2fr .8fr;gap:24px}
  @media (max-width:860px){.twocol{grid-template-columns:1fr}}
  .raffle{padding:34px;border:1px dashed var(--cyan);background:radial-gradient(400px 200px at 100% 0%, rgba(5,217,232,.12), transparent 60%)}
  .raffle h3{font-family:'Russo One',sans-serif;font-size:22px;margin:0 0 10px;color:var(--cyan);text-shadow:0 0 12px rgba(5,217,232,.4)}
  .raffle p{color:#cdc7df;margin:0 0 8px;line-height:1.5}

  /* ============ FAQ ============ */
  details{padding:18px 22px;border:1px solid var(--line);background:rgba(255,255,255,.015);margin-bottom:10px;cursor:pointer}
  details summary{font-family:'Russo One',sans-serif;letter-spacing:.04em;font-size:15px;list-style:none;text-transform:uppercase;display:flex;justify-content:space-between;align-items:center}
  details summary::after{content:"+";color:var(--red-2);font-size:24px}
  details[open] summary::after{content:"-"}
  details p{color:#aaa3bb;margin:14px 0 0;line-height:1.6;font-size:14px}

  /* ============ FINAL CTA ============ */
  .finalcta{padding:120px 0 100px;text-align:center;position:relative;overflow:hidden;min-height:720px}

  /* main centered kanji 侍 — layered, breathing */
  .finalcta .big-kanji-final{
    position:absolute;left:50%;top:50%;
    transform:translate(-50%,-50%);
    font-family:'Russo One',sans-serif;
    font-size:min(56vw,600px);line-height:1;
    color:transparent;
    -webkit-text-stroke:1.5px rgba(255,42,109,.30);
    user-select:none;pointer-events:none;z-index:0;
    animation:finalKanji 5s ease-in-out infinite;
  }
  .finalcta .big-kanji-final.layer-2{
    -webkit-text-stroke:1px rgba(5,217,232,.18);
    animation:finalKanji2 7s ease-in-out infinite;
    font-size:min(60vw,640px);
  }
  .finalcta .big-kanji-final.layer-3{
    color:rgba(255,42,109,.06);
    -webkit-text-stroke:0;
    animation:finalKanji3 9s ease-in-out infinite;
    font-size:min(48vw,500px);
  }

  /* drifting smaller kanji satellites */
  .finalcta .drift{
    position:absolute;
    font-family:'Russo One',sans-serif;
    color:transparent;
    -webkit-text-stroke:1px rgba(255,42,109,.45);
    pointer-events:none;user-select:none;z-index:1;
    filter:drop-shadow(0 0 10px rgba(255,42,109,.5));
  }
  .finalcta .drift.d1{top:18%;left:14%;font-size:64px;animation:drift1 8s ease-in-out infinite}
  .finalcta .drift.d2{top:25%;right:14%;font-size:80px;animation:drift2 10s ease-in-out infinite;-webkit-text-stroke-color:rgba(5,217,232,.5);filter:drop-shadow(0 0 10px rgba(5,217,232,.5))}
  .finalcta .drift.d3{bottom:22%;left:18%;font-size:52px;animation:drift3 9s ease-in-out infinite}
  .finalcta .drift.d4{bottom:18%;right:16%;font-size:72px;animation:drift4 11s ease-in-out infinite;-webkit-text-stroke-color:rgba(5,217,232,.4);filter:drop-shadow(0 0 10px rgba(5,217,232,.4))}
  @media (max-width:780px){
    .finalcta .drift{font-size:40px !important}
    .finalcta .blade{grid-template-columns:repeat(4,1fr);gap:5px;max-width:420px}
    .finalcta .seg .kj{font-size:21px}
    .finalcta .seg .dt{font-size:9px}
  }

  /* floating particle dots (cherry-petal ascend) */
  .finalcta .petals{position:absolute;inset:0;z-index:1;pointer-events:none;overflow:hidden}
  .finalcta .petal{
    position:absolute;width:6px;height:6px;border-radius:50%;
    background:var(--red-2);
    box-shadow:0 0 8px var(--red-2),0 0 18px rgba(255,42,109,.6);
    opacity:.7;
    animation:petalRise 12s linear infinite;
  }
  .finalcta .petal:nth-child(1){left:8%;animation-delay:0s}
  .finalcta .petal:nth-child(2){left:22%;animation-delay:2.4s;background:var(--cyan);box-shadow:0 0 8px var(--cyan),0 0 18px rgba(5,217,232,.6)}
  .finalcta .petal:nth-child(3){left:36%;animation-delay:5s}
  .finalcta .petal:nth-child(4){left:52%;animation-delay:1.2s;background:var(--cyan);box-shadow:0 0 8px var(--cyan),0 0 18px rgba(5,217,232,.6)}
  .finalcta .petal:nth-child(5){left:65%;animation-delay:7.5s}
  .finalcta .petal:nth-child(6){left:78%;animation-delay:3.6s}
  .finalcta .petal:nth-child(7){left:88%;animation-delay:9s;background:var(--cyan);box-shadow:0 0 8px var(--cyan),0 0 18px rgba(5,217,232,.6)}
  .finalcta .petal:nth-child(8){left:45%;animation-delay:6s}

  /* horizontal scan-line (subtle moving sheen) */
  .finalcta .scanline{
    position:absolute;left:0;right:0;height:1px;
    background:linear-gradient(90deg,transparent,var(--red-2),transparent);
    box-shadow:0 0 14px var(--red-2);
    z-index:1;pointer-events:none;
    animation:scanY 6s ease-in-out infinite;
  }

  /* статус потока над катана-прогрессом */
  .finalcta .urgent{
    font-family:'JetBrains Mono',monospace;font-size:13px;letter-spacing:.4em;
    color:var(--red);text-transform:uppercase;
    margin-bottom:24px;position:relative;z-index:3;
    text-shadow:0 0 13px var(--red),0 0 25px rgba(255,0,60,.5);
    animation:urgentPulse 1.4s ease-in-out infinite;
  }
  @keyframes urgentPulse{0%,100%{opacity:1}50%{opacity:.55}}

  /* КАТАНА-ПРОГРЕСС: 8 сегментов по учебным дням потока.
     Заполняется скриптом в конце index.html, там же расписание. */
  .finalcta .blade{
    display:grid;grid-template-columns:repeat(8,1fr);gap:6px;
    max-width:940px;margin:0 auto 14px;position:relative;z-index:3;padding:0 20px;
  }
  .finalcta .seg{
    position:relative;padding:14px 4px 11px;text-align:center;
    background:linear-gradient(180deg,#140510,#080407);
    border:1px solid var(--line);
    transition:transform .18s ease;
  }
  .finalcta .seg .kj{
    display:block;font-family:'Noto Serif JP',serif;font-size:26px;line-height:1;
    color:#3a3345;
  }
  .finalcta .seg .dt{
    display:block;font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:.12em;
    color:#4a4356;margin-top:9px;
  }
  /* пройденные дни */
  .finalcta .seg.done{background:linear-gradient(180deg,#2a0716,#12040a);border-color:rgba(255,42,109,.42)}
  .finalcta .seg.done .kj{color:var(--red-2);text-shadow:0 0 12px rgba(255,42,109,.7)}
  .finalcta .seg.done .dt{color:rgba(255,42,109,.6)}
  /* текущий день */
  .finalcta .seg.now{
    background:linear-gradient(180deg,#3d0a1f,#18050d);
    border-color:var(--red-2);
    box-shadow:0 0 28px rgba(255,42,109,.4);
    transform:translateY(-4px);
  }
  .finalcta .seg.now .kj{color:#fff;text-shadow:0 0 18px var(--red-2),0 0 36px rgba(255,42,109,.6)}
  .finalcta .seg.now .dt{color:#fff}
  .finalcta .seg.now::after{
    content:"";position:absolute;left:-1px;right:-1px;bottom:-1px;height:2px;
    background:var(--red-2);box-shadow:0 0 12px var(--red-2);
  }
  /* лезвие: тонкая линия сквозь весь ряд */
  .finalcta .blade::before{
    content:"";position:absolute;left:20px;right:20px;top:50%;height:1px;
    background:linear-gradient(90deg,transparent,rgba(255,42,109,.28),transparent);
    z-index:-1;
  }
  .finalcta .blade-cap{
    font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.3em;
    color:var(--muted);text-transform:uppercase;text-align:center;
    margin:0 auto 36px;position:relative;z-index:3;
  }

  .finalcta h2{font-size:clamp(40px,6.5vw,80px);position:relative;z-index:3;text-shadow:0 0 30px rgba(255,0,60,.4)}
  .finalcta h2 .glow{
    color:transparent;
    background:linear-gradient(180deg,
      var(--red-2) 0% 28%,
      transparent 28% 33%,
      var(--red-2) 33% 62%,
      transparent 62% 67%,
      var(--red-2) 67% 100%);
    -webkit-background-clip:text;background-clip:text;
    -webkit-text-fill-color:transparent;
    filter:drop-shadow(0 0 12px rgba(255,42,109,.55)) drop-shadow(0 0 28px rgba(255,42,109,.3));
    text-shadow:none;
    animation:none;
  }
  .finalcta p{color:#bdb6cf;max-width:560px;margin:18px auto 36px;font-size:17px;line-height:1.5;position:relative;z-index:3}
  .finalcta .btn{position:relative;z-index:3;box-shadow:0 0 0 4px rgba(255,42,109,.06),0 0 40px rgba(255,42,109,.6),inset 0 0 30px rgba(255,255,255,.08);animation:ctaBreath 2.5s ease-in-out infinite}

  /* ============ FOOTER ============ */
  footer{padding:30px 0 50px;border-top:1px solid var(--line);text-align:center;color:var(--muted);font-family:'JetBrains Mono',monospace;font-size:12px;letter-spacing:.12em}

  /* SCROLLER strip */
  .scroller{overflow:hidden;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:rgba(255,0,60,.06);padding:14px 0}
  .scroller .track{display:flex;gap:48px;white-space:nowrap;animation:slide 30s linear infinite;font-family:'Russo One',sans-serif;font-size:18px;letter-spacing:.18em;color:#fff}
  .scroller .track .dot{color:var(--red-2)}

  /* ============ ANIMATIONS ============ */
  @keyframes slide{from{transform:translateX(0)}to{transform:translateX(-50%)}}
  @keyframes floatY{0%,100%{transform:translateY(0)}50%{transform:translateY(-14px)}}
  @keyframes brandPulse{0%,100%{opacity:.8}50%{opacity:1}}
  @keyframes kanjiBreath{0%,100%{opacity:.82;transform:scale(1)}50%{opacity:1;transform:scale(1.04)}}
  @keyframes bigKanji{0%,100%{opacity:.5;-webkit-text-stroke-color:rgba(255,42,109,.10);transform:translate(-50%,-55%) scale(1) rotate(0)}50%{opacity:.95;-webkit-text-stroke-color:rgba(255,42,109,.55);transform:translate(-50%,-55%) scale(1.04) rotate(.4deg)}}
  @keyframes bigKanji2{0%,100%{opacity:.35;transform:translate(-50%,-55%) scale(1) rotate(0)}50%{opacity:.75;transform:translate(-50%,-55%) scale(1.07) rotate(-.8deg)}}
  @keyframes bigKanji3{0%,100%{opacity:.4;transform:translate(-50%,-55%) scale(1)}50%{opacity:.8;transform:translate(-50%,-55%) scale(1.11)}}
  @keyframes ensoRotate{0%{transform:rotate(0)}100%{transform:rotate(360deg)}}
  @keyframes katanaSway{0%,100%{transform:rotate(-2deg) translateY(0)}50%{transform:rotate(1deg) translateY(-8px)}}
  @keyframes ensoStroke{0%{stroke-dashoffset:1200}50%{stroke-dashoffset:0}100%{stroke-dashoffset:-1200}}
  @keyframes finalKanji{0%,100%{opacity:.55;transform:translate(-50%,-50%) scale(1) rotate(0);-webkit-text-stroke-color:rgba(255,42,109,.30)}50%{opacity:1;transform:translate(-50%,-50%) scale(1.06) rotate(.5deg);-webkit-text-stroke-color:rgba(255,42,109,.7)}}
  @keyframes finalKanji2{0%,100%{opacity:.4;transform:translate(-50%,-50%) scale(1) rotate(0)}50%{opacity:.85;transform:translate(-50%,-50%) scale(1.09) rotate(-1deg)}}
  @keyframes finalKanji3{0%,100%{opacity:.5;transform:translate(-50%,-50%) scale(1)}50%{opacity:.9;transform:translate(-50%,-50%) scale(1.12)}}
  @keyframes drift1{0%,100%{transform:translate(0,0) rotate(-6deg);opacity:.7}50%{transform:translate(20px,-22px) rotate(0);opacity:1}}
  @keyframes drift2{0%,100%{transform:translate(0,0) rotate(8deg);opacity:.6}50%{transform:translate(-26px,18px) rotate(0);opacity:1}}
  @keyframes drift3{0%,100%{transform:translate(0,0) rotate(4deg);opacity:.7}50%{transform:translate(16px,-18px) rotate(-2deg);opacity:1}}
  @keyframes drift4{0%,100%{transform:translate(0,0) rotate(-6deg);opacity:.5}50%{transform:translate(-22px,-26px) rotate(2deg);opacity:.95}}
  @keyframes petalRise{0%{transform:translateY(700px) translateX(0) scale(.7);opacity:0}10%{opacity:.9}50%{transform:translateY(350px) translateX(30px) scale(1);opacity:.8}90%{opacity:.6}100%{transform:translateY(-100px) translateX(-20px) scale(.6);opacity:0}}
  @keyframes scanY{0%{top:8%;opacity:0}10%{opacity:1}90%{opacity:1}100%{top:92%;opacity:0}}
  @keyframes ctaBreath{0%,100%{opacity:.9}50%{opacity:1}}
  @keyframes dotPulse{0%,100%{box-shadow:0 0 18px var(--red-2),inset 0 0 8px rgba(255,42,109,.4)}50%{box-shadow:0 0 32px var(--red-2),0 0 60px rgba(255,42,109,.7),inset 0 0 12px rgba(255,42,109,.7)}}
  @keyframes eyeBlink{0%,40%,44%,100%{opacity:1}42%{opacity:.1}}
  @keyframes capeFloat{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-6px) rotate(-1deg)}}
  /* было: анимация box-shadow - repaint полосы во всю высоту секции на каждом кадре.
     стало: тень статична, пульсирует прозрачность (композитор, без repaint) */
  @keyframes bladeGlow{0%,100%{opacity:.82}50%{opacity:1}}
  /* drop-shadow пересчитывал размытие каждый кадр - заменено на opacity */
  @keyframes hiltPulse{0%,100%{opacity:.85}50%{opacity:1}}
  @keyframes sakuraFall{
    0%{transform:translateY(-40px) translateX(0) rotate(0);opacity:0}
    8%{opacity:.95}
    25%{transform:translateY(220px) translateX(40px) rotate(180deg)}
    50%{transform:translateY(440px) translateX(-30px) rotate(360deg)}
    75%{transform:translateY(660px) translateX(50px) rotate(540deg)}
    92%{opacity:.85}
    100%{transform:translateY(900px) translateX(-20px) rotate(720deg);opacity:0}
  }
  @keyframes branchSway{0%,100%{transform:rotate(0)}50%{transform:rotate(.8deg)}}
  @keyframes tubeFlicker{0%,4%,8%,100%{opacity:1}5%,7%{opacity:.7}}

  /* ============================================================
     ============ MOBILE RESPONSIVE — все секции ================
     ============================================================ */

  /* TABLET (≤ 1024px) */
  @media (max-width:1024px){
    .wrap{padding:0 20px}
    section{padding:32px 0 80px}
    h2{font-size:clamp(28px,4vw,44px)}
    /* якоря убираем заранее, не дожидаясь тесноты - остаются бренд + две кнопки */
    .navlinks{display:none}
    .tiers{grid-template-columns:1fr;gap:24px;max-width:480px}
    .tier.premium{transform:none}
    .tiers:has(.tier.premium:hover) .tier.premium{transform:translateY(-6px) scale(1.02)}
    .nd-premium-flag{top:-14px}
    .mods{grid-template-columns:repeat(2,1fr)}
    .stack{grid-template-columns:repeat(2,1fr)}
    .twocol{grid-template-columns:1fr}
  }

  /* MOBILE LARGE (≤ 780px) */
  @media (max-width:780px){
    .wrap{padding:0 16px}
    section{padding:50px 0}
    h2{font-size:clamp(26px,7vw,36px);line-height:1.1}
    .sub{font-size:15px;margin-bottom:32px}

    /* NAV (.navlinks уже скрыт с 1024px) */
    nav .row{height:54px}
    .brand .kanji{font-size:20px}
    .nav-actions{gap:8px}
    .nav-blog{padding:8px 14px;font-size:10px;letter-spacing:.12em}
    .nav-cta{padding:8px 14px;font-size:10px;letter-spacing:.12em}

    /* HERO */
    .hero{padding:80px 0 50px;min-height:auto}
    .hero h1{font-size:clamp(38px,12vw,64px)}
    .hero .lead{font-size:15px;max-width:100%;margin:20px 0 28px}
    .hero .big-kanji,
    .hero .big-kanji.layer-2,
    .hero .big-kanji.layer-3{font-size:90vw !important}
    .hero .drift{font-size:36px !important;opacity:.5}
    .hero .meta{gap:8px;margin-bottom:24px}
    .chip{font-size:11px;padding:6px 9px}
    .sakura-branch{width:min(360px,80vw);opacity:.55;left:-30px}
    .hero-cta{flex-direction:column;align-items:stretch;gap:10px}
    .btn{padding:14px 22px;font-size:12px;letter-spacing:.14em;justify-content:center;text-align:center}

    /* SECTION MARK */
    .mark{gap:10px;margin-bottom:20px;flex-wrap:wrap}
    .mark-kanji{font-size:28px}
    .mark-bar{width:40px}
    .mark-num{font-size:10px;letter-spacing:.2em}
    .mark-text{font-size:12px;letter-spacing:.16em}

    /* WHO */
    .grid-2{grid-template-columns:1fr;gap:18px}
    .card{padding:22px 20px}
    .card h3{font-size:18px;margin-bottom:12px}
    .card li{font-size:14px;padding:8px 0 8px 22px}

    /* 7 DAYS TIMELINE — already has its own mobile rules, just tighten */
    .timeline{padding:80px 0 60px}
    .tl-day{margin-bottom:32px}
    .tl-card{padding:22px 18px 18px}
    .tl-day h4{font-size:18px;margin:0 0 12px}
    .tl-day .tl-lead{font-size:13.5px;margin:0 0 12px}
    .tl-day li{font-size:12.5px}
    .tl-output{font-size:11.5px;padding:10px 12px}
    .tl-time{font-size:10px}
    .katana-hilt{left:18px;transform:none;width:36px;height:72px}
    .katana-tip{left:18px;transform:none;width:12px;height:50px}
    .tl-kanji{font-size:120px}

    /* MODULES */
    .mods{grid-template-columns:1fr;gap:14px}
    .mod{padding:22px 20px}
    .mod h4{font-size:15px}
    .mod p{font-size:13.5px}

    /* PROOF */
    .stack{grid-template-columns:repeat(2,1fr);gap:18px}
    .stat .n{font-size:32px}
    .stat .l{font-size:10px}
    .stack-tags{gap:6px;margin-top:22px}
    .stack-tags span{font-size:11px;padding:5px 8px}

    /* TIERS / NEON DISTRICT */
    .tier .nd-kanji{font-size:48px}
    .tier .nd-name{font-size:26px;letter-spacing:2px}
    .tier .nd-slug{font-size:10px}
    .tier li{font-size:12px;padding:5px 0 5px 16px}
    .nd-announce{font-size:9px}
    .nd-premium-flag{font-size:9px;padding:6px 10px;letter-spacing:1px}
    .nd-signboard{padding:24px 18px 20px}
    .nd-building{padding:12px 12px 20px}

    /* ЦЕНЫ / МОДАЛКА */
    .nd-price{font-size:44px;padding:12px 0 14px;margin-bottom:14px}
    .nd-price .cur{font-size:24px}
    .tier.premium .nd-price{font-size:38px}
    .nd-buy{padding:13px 16px;font-size:12px}
    .paywall-box{padding:38px 22px 26px}
    .paywall-box p{font-size:14px;margin-bottom:22px}
    .btn-tg{padding:14px 22px;font-size:12px}

    /* BONUS / RAFFLE */
    .raffle{padding:24px 20px}
    .raffle h3{font-size:18px}
    .raffle p{font-size:14px}

    /* FAQ */
    details{padding:14px 18px}
    details summary{font-size:13px}
    details summary::after{font-size:20px}
    details p{font-size:13.5px}

    /* FINAL CTA */
    .finalcta{padding:70px 0 60px;min-height:480px}
    .finalcta h2{font-size:clamp(30px,8vw,48px)}
    .finalcta .big-kanji-final,
    .finalcta .big-kanji-final.layer-2,
    .finalcta .big-kanji-final.layer-3{font-size:85vw !important}
    .finalcta .drift{font-size:48px !important}
    .finalcta p{font-size:15px;margin:14px auto 26px}

    /* КАТАНА-ПРОГРЕСС */
    .finalcta .blade{gap:4px;padding:0 12px}
    .finalcta .seg{padding:11px 2px 9px}
    .finalcta .blade-cap{font-size:9px;letter-spacing:.22em;margin-bottom:26px}
    .finalcta .urgent{font-size:10px;letter-spacing:.3em;margin-bottom:18px}

    /* SCROLLER → красная линия-разделитель на мобиле */
    .scroller{
      padding:0;border:none;background:transparent;height:1px;
      background:linear-gradient(90deg,transparent,var(--red-2),transparent);
      box-shadow:0 0 12px var(--red-2),0 0 24px rgba(255,42,109,.4);
      margin:24px 0;
    }
    .scroller .track{display:none}
  }

  /* MOBILE SMALL (≤ 480px) */
  @media (max-width:540px){
    .brand b{display:none}
  }

  @media (max-width:480px){
    section{padding:40px 0}
    h2{font-size:24px}
    .hero h1{font-size:42px}
    .hero .lead{font-size:14px}
    .hero h1 .caret{font-size:.9em}
    .chip{font-size:10px;padding:5px 7px}
    .nd-head{gap:10px;margin-bottom:12px;padding-bottom:10px}
    .nd-kanji{font-size:42px}
    .nd-name{font-size:22px}
    .finalcta .unit .n{font-size:26px}
    .finalcta .unit{padding:12px 8px 10px}
    .stat .n{font-size:28px}
    .stack{grid-template-columns:1fr;max-width:280px;margin:0 auto}
    .tl-kanji{font-size:90px;opacity:.5}
  }

/* ============================================================
   DAY 0 - «нулевой день» (секционный блок .p5)
   ============================================================ */
.p5{--red:#ff003c;--pink:#ff2a6d;--cy:#05d9e8;--gold:#ffb84d;--tx:#e9e6f2;--mut:#8a8499;--card:#0f0a18;--bg:#08060c;max-width:1080px;margin:0 auto 56px;background:var(--bg);border:1px dashed rgba(5,217,232,.45);border-radius:18px;padding:38px;box-sizing:border-box;position:relative;overflow:hidden;font-family:'Inter',sans-serif;color:var(--tx)}
.p5 *{box-sizing:border-box}
.p5-grid{display:grid;grid-template-columns:0.9fr 1.1fr;gap:34px;align-items:center;position:relative;z-index:2}
.p5-hero{position:relative;display:flex;align-items:center;justify-content:center;min-height:340px}
.p5-kanji{font-family:'Noto Serif JP',serif;font-size:clamp(180px,26vw,300px);line-height:.9;color:var(--cy);text-shadow:0 0 18px rgba(5,217,232,.55),0 0 46px rgba(5,217,232,.35),0 0 90px rgba(5,217,232,.2);animation:p5breath 5s ease-in-out infinite;position:relative;z-index:2}
@keyframes p5breath{0%,100%{opacity:.8}50%{opacity:1}}
.p5-rings{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;z-index:1}
.p5-rings svg{width:100%;height:100%;max-width:420px}
.p5-ring{fill:none;stroke:rgba(5,217,232,.28);stroke-width:1}
.p5-ring2{stroke:rgba(255,184,77,.22);stroke-dasharray:4 10}
.p5-spin{transform-origin:center;animation:p5spin 40s linear infinite}
.p5-spin-r{transform-origin:center;animation:p5spin 60s linear infinite reverse}
@keyframes p5spin{to{transform:rotate(360deg)}}
.p5-daytag{position:absolute;top:18px;left:0;right:0;text-align:center;font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:3px;color:var(--gold);z-index:3;opacity:.85}
.p5-mark{display:inline-block;font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:2.5px;color:var(--cy);border:1px solid rgba(5,217,232,.4);padding:6px 12px;border-radius:20px;margin-bottom:16px}
.p5-h{font-family:'Russo One',sans-serif;font-size:clamp(30px,4.4vw,46px);margin:0 0 10px;color:var(--tx);letter-spacing:.5px}
.p5-h span{color:var(--cy)}
.p5-lead{color:var(--mut);font-size:15px;margin:0 0 22px;max-width:440px}
.p5-chips{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:24px}
.p5-chip{display:inline-flex;align-items:center;gap:8px;background:var(--card);border:1px solid rgba(255,255,255,.06);border-radius:22px;padding:9px 14px 9px 12px;font-size:13px;color:var(--tx);line-height:1.3;transition:border-color .3s,transform .3s}
.p5-chip:hover{border-color:rgba(5,217,232,.55);transform:translateY(-2px)}
.p5-chip b{font-family:'JetBrains Mono',monospace;font-size:11px;color:var(--gold);background:rgba(255,184,77,.1);border-radius:50%;width:22px;height:22px;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto}
.p5-foot{display:flex;flex-wrap:wrap;gap:14px;align-items:center;justify-content:space-between;background:linear-gradient(90deg,rgba(5,217,232,.09),rgba(255,42,109,.05));border:1px solid rgba(5,217,232,.25);border-radius:14px;padding:14px 18px}
.p5-goal{font-size:14px;color:var(--tx);font-weight:600}
.p5-goal span{color:var(--cy)}
.p5-time{font-family:'JetBrains Mono',monospace;font-size:12px;color:var(--gold);white-space:nowrap;display:flex;align-items:center;gap:8px}
.p5-dot{width:8px;height:8px;border-radius:50%;background:var(--gold);box-shadow:0 0 8px var(--gold);animation:p5pulse 2s ease-in-out infinite}
@keyframes p5pulse{0%,100%{opacity:.4}50%{opacity:1}}
@media(max-width:820px){
 .p5{padding:26px 20px}
 .p5-grid{grid-template-columns:1fr;gap:0}
 .p5-hero{position:absolute;inset:0;min-height:0;opacity:.13;z-index:0}
 .p5-daytag{display:none}
 .p5-kanji{font-size:60vw}
 .p5-panel{position:relative;z-index:2}
 .p5-h{font-size:32px}
}
@media(prefers-reduced-motion:reduce){
 .p5-kanji,.p5-spin,.p5-spin-r,.p5-dot{animation:none}
}

/* ============================================================
   ДЕКОР - кибер-кот в таймлайне (секционный блок .f1b)
   ============================================================ */
.f1b{width:100%;max-width:440px;margin:0 auto;height:300px;display:flex;align-items:center;justify-content:center}
.f1b svg{width:100%;height:100%;overflow:visible}
.f1b .cg{filter:drop-shadow(0 0 3px currentColor)}
.f1b .tailtip{transform-box:fill-box;transform-origin:20% 90%}
.f1b .eyes{transform-box:fill-box;transform-origin:center}
.f1b .draw{stroke-dasharray:520;stroke-dashoffset:0}
@media (prefers-reduced-motion: no-preference){
.f1b .eyes{animation:f1bBlink 4s ease-in-out infinite}
.f1b .tailtip{animation:f1bTail 3.6s ease-in-out infinite}
.f1b .pulse{animation:f1bPulse 4.5s ease-in-out infinite}
.f1b .draw{animation:f1bDraw 6s ease-in-out infinite}
}
@keyframes f1bBlink{0%,90%,100%{transform:scaleY(1)}94%{transform:scaleY(.1)}}
@keyframes f1bTail{0%,100%{transform:rotate(0deg)}25%{transform:rotate(-14deg)}60%{transform:rotate(6deg)}}
@keyframes f1bPulse{0%,100%{opacity:.28}50%{opacity:.55}}
@keyframes f1bDraw{0%{stroke-dashoffset:520;opacity:.2}40%{stroke-dashoffset:0;opacity:1}100%{stroke-dashoffset:0;opacity:1}}

/* ============================================================
   CHAPTER 04 - наставники, мятная секция (секционный блок .d4)
   ============================================================ */
.d4{--bg:#08060c;--bg2:#06140f;--ink:#e9e6f2;--muted:#8a8499;--n1:#00e5a0;--n2:#5eead4;--line:rgba(0,229,160,.2);background:radial-gradient(120% 90% at 20% -10%,var(--bg2),var(--bg) 60%);color:var(--ink);padding:40px 24px 100px;position:relative;overflow:hidden;font-family:'Inter',sans-serif}
.d4::before{content:"";position:absolute;inset:0;background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:44px 44px;opacity:.35;pointer-events:none;-webkit-mask-image:radial-gradient(80% 70% at 50% 0%,#000,transparent);mask-image:radial-gradient(80% 70% at 50% 0%,#000,transparent)}
.d4 .wrap{max-width:1200px;margin:0 auto;position:relative;z-index:1}
/* перекрас чаптер-маркера 師 в мятный (без красного) */
.d4 .mark-kanji{color:var(--n1);text-shadow:0 0 14px rgba(0,229,160,.6),0 0 30px rgba(0,229,160,.32)}
.d4 .mark-bar{background:linear-gradient(90deg,var(--n1),transparent);box-shadow:0 0 8px var(--n1)}
.d4 .mark-bar::before{background:var(--n1);box-shadow:0 0 10px var(--n1)}
.d4 h2{font-family:'Russo One',sans-serif;font-weight:400;font-size:clamp(28px,4.6vw,50px);line-height:1.1;margin:0 0 16px;letter-spacing:.01em}
.d4 h2 .glow{color:var(--n1);filter:drop-shadow(0 0 14px rgba(0,229,160,.75))}
.d4 .sub{color:var(--muted);font-size:clamp(15px,1.7vw,18px);line-height:1.6;max-width:640px;margin:0 0 52px}
.d4 .grid{display:grid;grid-template-columns:1fr 1fr;gap:26px}
.d4 .mcard{position:relative;background:linear-gradient(180deg,rgba(255,255,255,.03),rgba(0,0,0,.15));border:1px solid var(--line);border-radius:20px;padding:34px 30px;backdrop-filter:blur(4px);overflow:hidden;transition:transform .3s ease,box-shadow .3s ease}
.d4 .mcard:hover{transform:translateY(-4px)}
.d4 .mc1{box-shadow:0 0 0 1px rgba(0,229,160,.14),0 24px 60px -30px rgba(0,229,160,.5)}
.d4 .mc1:hover{box-shadow:0 0 0 1px rgba(0,229,160,.4),0 30px 70px -28px rgba(0,229,160,.6)}
.d4 .mc2{box-shadow:0 0 0 1px rgba(94,234,212,.14),0 24px 60px -30px rgba(94,234,212,.5)}
.d4 .mc2:hover{box-shadow:0 0 0 1px rgba(94,234,212,.4),0 30px 70px -28px rgba(94,234,212,.6)}
.d4 .mcard::after{content:"";position:absolute;top:-40%;right:-30%;width:280px;height:280px;border-radius:50%;filter:blur(60px);opacity:.16;pointer-events:none}
.d4 .mc1::after{background:var(--n1)}
.d4 .mc2::after{background:var(--n2)}
.d4 .topline{display:flex;align-items:center;gap:18px;margin-bottom:22px;position:relative;z-index:1}
.d4 .medallion{flex:0 0 auto;width:78px;height:78px;border-radius:50%;display:grid;place-items:center;font-family:'Noto Serif JP',serif;font-size:38px;position:relative;background:radial-gradient(circle at 50% 40%,rgba(0,0,0,.4),rgba(0,0,0,.7))}
.d4 .medallion video,.d4 .medallion img{width:100%;height:100%;object-fit:cover;border-radius:50%;display:block}
.d4 .mc1 .medallion{color:var(--n1);border:1.5px solid var(--n1);box-shadow:0 0 22px rgba(0,229,160,.55),inset 0 0 18px rgba(0,229,160,.25)}
.d4 .mc2 .medallion{color:var(--n2);border:1.5px solid var(--n2);box-shadow:0 0 22px rgba(94,234,212,.55),inset 0 0 18px rgba(94,234,212,.25)}
.d4 .medallion:after{content:"";position:absolute;inset:-7px;border-radius:50%;border:1px dashed;opacity:.4}
.d4 .mc1 .medallion:after{border-color:var(--n1)}
.d4 .mc2 .medallion:after{border-color:var(--n2)}
.d4 .badge{display:inline-block;font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.18em;padding:7px 13px;border-radius:999px;text-transform:uppercase;font-weight:600}
.d4 .mc1 .badge{color:#04120c;background:linear-gradient(120deg,var(--n1),#3affbf);box-shadow:0 0 18px rgba(0,229,160,.55)}
.d4 .mc2 .badge{color:#062018;background:linear-gradient(120deg,var(--n2),#a7f3e6);box-shadow:0 0 18px rgba(94,234,212,.55)}
.d4 .name{font-family:'Russo One',sans-serif;font-weight:400;font-size:26px;margin:6px 0 4px;letter-spacing:.02em;position:relative;z-index:1}
.d4 .mc1 .name{color:var(--ink);text-shadow:0 0 16px rgba(0,229,160,.35)}
.d4 .mc2 .name{color:var(--ink);text-shadow:0 0 16px rgba(94,234,212,.35)}
.d4 .role{font-family:'JetBrains Mono',monospace;font-size:13px;margin:0 0 18px;position:relative;z-index:1}
.d4 .mc1 .role{color:var(--n1)}
.d4 .mc2 .role{color:var(--n2)}
.d4 .bio{color:#c9c5d6;font-size:14.5px;line-height:1.72;margin:0;position:relative;z-index:1}
.d4 .divider{height:1px;background:linear-gradient(90deg,var(--line),transparent);margin:0 0 18px}
.d4 .ach{list-style:none;margin:0 0 18px;padding:0;display:flex;flex-direction:column;gap:9px;position:relative;z-index:1}
.d4 .ach li{position:relative;padding-left:18px;font-size:13.5px;line-height:1.5;color:#c9c5d6}
.d4 .ach li::before{content:"◆";position:absolute;left:0;top:2px;font-size:8px;color:var(--n1)}
.d4 .ach b{color:var(--tx);font-weight:600}
.d4 .bio+.bio{margin-top:14px}
@media(max-width:780px){.d4 .grid{grid-template-columns:1fr}}
