/* LAND-002: premium-group landing (/community/premium) styles.
   Ported verbatim from the designer handoff inline <style> (premium gold/stone
   override on top of colors_and_type.css). Loaded only by community/premium/index.html. */
  *, *::before, *::after { box-sizing: border-box; }
  html { scroll-behavior: smooth; }
  body { margin: 0; overflow-x: hidden; color: #F5F1E8;
    background:
      radial-gradient(1200px 820px at 50% -6%, #1c231f 0%, transparent 56%),
      radial-gradient(1000px 760px at 88% 26%, #19211c 0%, transparent 60%),
      radial-gradient(1100px 800px at 8% 82%, #161d19 0%, transparent 60%),
      #0e1311;
    background-attachment: fixed;
  }
  img { max-width: 100%; display: block; }
  main { position: relative; z-index: 1; }

  /* ---- animated background field (spans the whole page) ---- */
  .bgfx { position: fixed; inset: 0; z-index: 0; pointer-events: none; overflow: hidden; }
  #bgfx-canvas { position: absolute; inset: 0; width: 100%; height: 100%; }
  .bgfx .blob { position: absolute; border-radius: 50%; filter: blur(54px); will-change: transform; }
  .bgfx .blob-1 { width: 520px; height: 520px; left: -8%; top: 3%;
    background: radial-gradient(circle, rgba(201,162,75,0.10), transparent 70%);
    animation: bgdrift1 52s ease-in-out infinite; }
  .bgfx .blob-2 { width: 440px; height: 440px; right: -6%; top: 30%;
    background: radial-gradient(circle, rgba(201,162,75,0.08), transparent 70%);
    animation: bgdrift2 64s ease-in-out infinite; }
  .bgfx .blob-3 { width: 600px; height: 600px; left: 26%; bottom: -14%;
    background: radial-gradient(circle, rgba(201,162,75,0.07), transparent 70%);
    animation: bgdrift3 74s ease-in-out infinite; }
  @keyframes bgdrift1 { 0%,100%{transform:translate(0,0)} 50%{transform:translate(72px,50px)} }
  @keyframes bgdrift2 { 0%,100%{transform:translate(0,0)} 50%{transform:translate(-62px,42px)} }
  @keyframes bgdrift3 { 0%,100%{transform:translate(0,0)} 50%{transform:translate(44px,-64px)} }
  @media (prefers-reduced-motion: reduce){ .bgfx .blob{ animation: none; } }

  /* ---- layout primitives ---- */
  /* width:100% — ОБЯЗАТЕЛЬНО: app.css (грузится ради общих Header/Footer) задаёт
     generic `.section{width:1440px}` (ширина админ-приложения). Без явного сброса
     эта фикс-ширина протекает в секции лендинга → контент прижат влево, справа
     чёрная полоса, нет адаптации под ширину окна. Дизайнерская страница app.css
     не грузит, поэтому у неё всё тянется на всю ширину. */
  .section { width: 100%; padding: 104px 56px; }
  .section--tight { width: 100%; padding: 80px 56px; }
  .wrap { max-width: 1180px; margin: 0 auto; }
  .wrap--narrow { max-width: 880px; margin: 0 auto; }
  .bg-pale { background: rgba(244,245,244,0.55); }
  .bg-white { background: rgba(255,255,255,0.58); }

  /* ---- type ---- */
  .eyebrow {
    font-family: var(--font-sans); font-size: 12px; font-weight: 700;
    letter-spacing: 0.16em; text-transform: uppercase; color: var(--green-700);
    margin: 0 0 16px;
  }
  .h-hero {
    font-family: var(--font-sans); font-weight: 800; font-size: clamp(40px, 5vw, 64px);
    line-height: 1.06; letter-spacing: -0.02em; margin: 0; color: var(--ink-900);
    text-wrap: balance;
  }
  .h-sect {
    font-family: var(--font-sans); font-weight: 800; font-size: clamp(30px, 3.6vw, 46px);
    line-height: 1.08; letter-spacing: -0.018em; margin: 0; color: var(--ink-900);
    text-wrap: balance;
  }
  .h-sect--light { color: #fff; }
  .hl { color: var(--green-500); }
  .lead {
    font-family: var(--font-sans); font-size: 19px; line-height: 1.6;
    color: var(--ink-500); margin: 22px 0 0;
  }
  .kicker-rule { width: 56px; height: 4px; border-radius: 99px; background: var(--green-500); margin: 0 0 26px; }

  /* ---- buttons ---- */
  .btn {
    font-family: var(--font-sans); font-size: 16px; font-weight: 600;
    border-radius: var(--r-pill); border: 0; cursor: pointer; text-decoration: none;
    display: inline-flex; align-items: center; gap: 12px; transition: background var(--dur-fast) var(--ease-standard), border-color var(--dur-fast) var(--ease-standard), box-shadow var(--dur-base) var(--ease-standard);
  }
  .btn-primary {
    background: var(--green-500); color: #fff; padding: 16px 28px;
    box-shadow: var(--shadow-btn);
  }
  .btn-primary:hover { background: var(--green-600); }
  .btn-primary:active { background: var(--green-700); }
  .btn-primary .arr {
    width: 26px; height: 26px; border-radius: 50%; background: rgba(255,255,255,0.22);
    display: inline-flex; align-items: center; justify-content: center; font-size: 15px;
    transition: transform var(--dur-base) var(--ease-standard);
  }
  .btn-primary:hover .arr { transform: translateX(2px); }
  .btn-lg { font-size: 17px; padding: 18px 32px; }
  .btn-outline {
    background: transparent; color: var(--green-700); padding: 15px 26px;
    border: 1.5px solid var(--green-300);
  }
  .btn-outline:hover { border-color: var(--green-500); }
  .btn-ghost-light {
    background: transparent; color: #fff; padding: 15px 26px;
    border: 1.5px solid rgba(255,255,255,0.28);
  }
  .btn-ghost-light:hover { border-color: rgba(255,255,255,0.6); }

  /* ---- pills / badges ---- */
  .pill {
    display: inline-flex; align-items: center; gap: 9px; padding: 7px 15px;
    border-radius: 999px; border: 1.5px solid var(--green-200); background: #fff;
    font-family: var(--font-sans); font-size: 12.5px; font-weight: 600;
    color: var(--green-700); letter-spacing: 0.02em;
  }
  .pill .dot { width: 7px; height: 7px; border-radius: 50%; background: var(--green-500); }

  /* ---- checks ---- */
  .check { display: flex; gap: 14px; align-items: flex-start; }
  .check .mark {
    flex-shrink: 0; width: 26px; height: 26px; border-radius: 50%;
    background: var(--green-50); color: var(--green-700);
    display: flex; align-items: center; justify-content: center;
    font-size: 14px; font-weight: 700; margin-top: 1px;
  }
  .check .x {
    flex-shrink: 0; width: 26px; height: 26px; border-radius: 50%;
    background: #FBE9E7; color: var(--down);
    display: flex; align-items: center; justify-content: center;
    font-size: 13px; font-weight: 700; margin-top: 1px;
  }
  .num-fam { font-family: var(--font-mono); font-variant-numeric: tabular-nums; }

  /* ---- generic cards ---- */
  .card {
    background: #fff; border: 1px solid var(--border); border-radius: var(--r-2xl);
    padding: 36px;
  }
  .soft-card {
    background: var(--surface-1); border-radius: var(--r-2xl); padding: 32px;
  }

  /* ---- hero ---- */
  .hero-grid { display: grid; grid-template-columns: 1.06fr 0.94fr; gap: 56px; align-items: center; }
  .quick-list { display: grid; grid-template-columns: 1fr 1fr; gap: 16px 28px; margin: 34px 0 0; }
  .quick-list .check { font-size: 15.5px; color: var(--ink-700); line-height: 1.45; }
  .cta-row { display: flex; gap: 18px; align-items: center; flex-wrap: wrap; margin-top: 38px; }
  .cta-note { font-family: var(--font-sans); font-size: 14px; color: var(--ink-500); }
  .cta-note b { color: var(--ink-900); font-weight: 700; }

  /* hero signal card */
  .hero-art { position: relative; display: flex; justify-content: center; }
  .glow-bg {
    position: absolute; width: 520px; height: 520px; border-radius: 50%;
    background: radial-gradient(circle, rgba(60,195,106,0.16), transparent 66%);
    top: 50%; left: 50%; transform: translate(-50%, -50%); z-index: 0;
    /* Декор: не должен перехватывать клики. Свечение absolute-позиционировано и
       вылезает вверх в зону hero-CTA (та идёт раньше в DOM с тем же z-index),
       из-за чего кнопки героя были некликабельны. */
    pointer-events: none;
  }
  .sig-card {
    position: relative; z-index: 1; width: 100%; max-width: 410px;
    background: #fff; border: 1px solid var(--border); border-radius: 24px;
    box-shadow: var(--shadow-lg); padding: 24px 24px 22px;
  }
  .sig-head { display: flex; align-items: center; justify-content: space-between; }
  .sig-ticker { font-family: var(--font-mono); font-weight: 600; font-size: 18px; letter-spacing: 0.02em; color: var(--ink-900); }
  .tag {
    font-family: var(--font-sans); font-size: 11.5px; font-weight: 700; letter-spacing: 0.08em;
    text-transform: uppercase; padding: 5px 11px; border-radius: 999px;
  }
  .tag-long { background: var(--green-50); color: var(--green-700); }
  .spark { margin: 18px 0 16px; }
  .sig-rows { display: grid; gap: 1px; background: var(--border); border-radius: 14px; overflow: hidden; border: 1px solid var(--border); }
  .sig-rows .r { display: flex; justify-content: space-between; align-items: center; background: #fff; padding: 11px 14px; }
  .sig-rows .r .lbl { font-family: var(--font-sans); font-size: 13px; color: var(--ink-500); }
  .sig-rows .r .val { font-family: var(--font-mono); font-size: 13.5px; font-weight: 500; color: var(--ink-900); font-variant-numeric: tabular-nums; }
  .sig-foot { margin-top: 14px; font-family: var(--font-sans); font-size: 12.5px; color: var(--ink-400); line-height: 1.45; }
  .float-chip {
    position: absolute; z-index: 2; background: #fff; border: 1px solid var(--border);
    border-radius: 14px; box-shadow: var(--shadow-md); padding: 12px 16px;
    display: flex; align-items: center; gap: 11px; font-family: var(--font-sans);
  }
  .float-chip .ic { width: 34px; height: 34px; border-radius: 10px; background: var(--green-50); color: var(--green-700); display: flex; align-items: center; justify-content: center; }
  .float-chip .t1 { font-size: 13px; font-weight: 700; color: var(--ink-900); }
  .float-chip .t2 { font-size: 11.5px; color: var(--ink-500); }
  .chip-call { top: 8px; left: -6px; }
  .chip-review { bottom: 14px; right: -10px; }

  /* ---- apple-style hero ---- */
  .hero-apple {
    background: transparent;
    padding: 64px 28px 82px; text-align: center;
    position: relative; overflow: hidden;
  }
  .hero-apple::before {
    content: ""; position: absolute; inset: 0; z-index: 0; pointer-events: none;
    background:
      radial-gradient(700px 500px at 50% 0%, rgba(201,162,75,0.16), transparent 66%),
      radial-gradient(960px 640px at 50% 104%, rgba(201,162,75,0.10), transparent 72%);
  }
  .hero-apple > * { position: relative; z-index: 1; }
  .hero-apple::after {
    content: ""; position: absolute; inset: 0; z-index: 0; pointer-events: none;
    background-image: radial-gradient(rgba(201,162,75,0.11) 1.1px, transparent 1.2px);
    background-size: 26px 26px; background-position: center;
    -webkit-mask: radial-gradient(122% 92% at 50% 40%, transparent 26%, #000 96%);
            mask: radial-gradient(122% 92% at 50% 40%, transparent 26%, #000 96%);
    opacity: 0.7;
  }
  .hero-logo { display: block; height: 26px; width: auto; margin: 0 auto 16px; opacity: 0.96; }
  .hero-anchor {
    width: 1.5px; height: 44px; margin: 0 auto 24px; border-radius: 2px;
    background: linear-gradient(to bottom, rgba(201,162,75,0), #C9A24B);
  }
  .hero-apple .eyebrow {
    color: #CBA968; margin-bottom: 18px; letter-spacing: 0.2em;
  }
  .hero-apple h1 {
    font-family: var(--font-display); font-weight: 700;
    font-size: clamp(48px, 7.6vw, 98px); line-height: 0.98; letter-spacing: -0.03em;
    margin: 0 auto; max-width: 14ch; color: #F5F1E8; text-wrap: balance;
  }
  .hero-apple h1 .pd { color: #D6B25E; }
  .hero-apple .sub {
    font-family: var(--font-sans); font-weight: 400;
    font-size: clamp(19px, 2.2vw, 26px); line-height: 1.4; color: rgba(245,241,232,0.64);
    max-width: 600px; margin: 26px auto 0; text-wrap: balance;
  }
  .hero-apple .links {
    display: flex; gap: 14px 36px; justify-content: center; align-items: center;
    flex-wrap: wrap; margin-top: 32px;
  }
  .applink {
    font-family: var(--font-sans); font-size: 20px; font-weight: 400;
    color: #CBA968; text-decoration: none; display: inline-flex; align-items: center; gap: 5px;
    transition: color var(--dur-fast) var(--ease-standard);
  }
  .applink:hover { color: #E7C66E; }
  .applink .chev { transition: transform var(--dur-base) var(--ease-standard); font-size: 22px; line-height: 1; }
  .applink:hover .chev { transform: translateX(3px); }
  .applink--muted { color: rgba(245,241,232,0.4); cursor: default; }
  .applink--muted b { color: rgba(245,241,232,0.8); font-weight: 600; }

  .hero-apple-stage { position: relative; margin: 54px auto 0; max-width: 470px; }
  .hero-apple-stage .glow-bg {
    width: 760px; height: 620px; z-index: 0;
    background: radial-gradient(circle at 50% 44%, rgba(201,162,75,0.18), transparent 60%);
  }
  .hero-apple-stage .ring {
    position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%);
    border-radius: 50%; z-index: 0; pointer-events: none;
  }
  .hero-apple-stage .ring--lg { width: 600px; height: 600px; border: 1.5px solid rgba(201,162,75,0.20); }
  .hero-apple-stage .ring--sm { width: 452px; height: 452px; border: 1.5px solid rgba(201,162,75,0.30); }
  .hero-apple-stage .ring--xl { width: 820px; height: 820px; border: 1.5px solid rgba(201,162,75,0.14); }
  .hero-apple-stage .ring--xxl { width: 1120px; height: 1120px; border: 1.5px solid rgba(201,162,75,0.09); }
  .hero-apple-stage .node {
    position: absolute; left: 50%; top: 50%; width: 9px; height: 9px; border-radius: 50%;
    background: #D6B25E; box-shadow: 0 0 0 5px rgba(201,162,75,0.18);
    z-index: 1; pointer-events: none;
  }
  .hero-apple-stage .reflection {
    position: absolute; left: 50%; bottom: -26px; transform: translateX(-50%);
    width: 76%; height: 46px; border-radius: 50%; z-index: 0; pointer-events: none;
    background: radial-gradient(ellipse at center, rgba(201,162,75,0.20), transparent 70%);
    filter: blur(11px);
  }
  .hero-apple-stage .sig-card { position: relative; z-index: 2; margin: 0 auto; max-width: 470px; box-shadow: 0 30px 70px -20px rgba(0,0,0,0.6); }
  .hero-apple-foot {
    display: flex; justify-content: center; align-items: center; gap: 12px 56px;
    flex-wrap: wrap; margin: 40px auto 0; position: relative; z-index: 1;
  }
  .hero-apple-foot .stat { font-family: var(--font-sans); font-size: 14px; color: rgba(245,241,232,0.58);
    display: flex; flex-direction: column; align-items: center; gap: 3px; text-align: center; line-height: 1.25; }
  .hero-apple-foot .stat b { font-family: var(--font-display); font-weight: 700; font-size: 22px; color: #F5F1E8; letter-spacing: -0.01em; }
  .hero-apple-foot .sep { width: 4px; height: 4px; border-radius: 50%; background: rgba(201,162,75,0.5); }
  @media (max-width: 920px) {
    .hero-apple { padding: 72px 24px 64px; }
    .hero-apple-foot .sep { display: none; }
  }

  /* trust strip */
  .trust { display: flex; gap: 48px; flex-wrap: wrap; margin-top: 46px; padding-top: 30px; border-top: 1px solid var(--border); }
  .trust .n { font-family: var(--font-display); font-weight: 700; font-size: 30px; letter-spacing: -0.01em; color: var(--ink-900); }
  .trust .l { font-size: 13px; color: var(--ink-500); margin-top: 2px; }
  .ph-pill { display: inline-block; font-family: var(--font-mono); font-size: 9.5px; letter-spacing: 0.1em; text-transform: uppercase; color: var(--warn); border: 1px dashed var(--warn); border-radius: 6px; padding: 1px 6px; margin-left: 8px; vertical-align: middle; opacity: 0.8; }

  /* section header block */
  .sect-head { max-width: 720px; }
  .sect-head--center { max-width: 760px; margin: 0 auto; text-align: center; }
  .sect-head--center .kicker-rule { margin-left: auto; margin-right: auto; }

  /* for-whom */
  .whom-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px 40px; margin-top: 44px; }
  .whom-item { font-family: var(--font-sans); font-size: 16.5px; line-height: 1.5; color: var(--ink-800); }
  .note-card {
    margin-top: 44px; background: var(--green-50); border: 1.5px solid var(--green-200);
    border-radius: var(--r-lg); padding: 22px 26px; display: flex; gap: 16px; align-items: flex-start;
  }
  .note-card .ic { flex-shrink: 0; width: 30px; height: 30px; border-radius: 50%; background: #fff; color: var(--green-700); display: flex; align-items: center; justify-content: center; font-weight: 700; }
  .note-card p { font-size: 15px; line-height: 1.55; color: var(--ink-700); }
  .note-card b { color: var(--ink-900); }

  /* inside-subscription numbered rows */
  .inside-list { margin-top: 56px; border-top: 1px solid var(--border); }
  .inside-row {
    display: grid; grid-template-columns: 120px 1fr 1.05fr; gap: 40px;
    padding: 40px 0; border-bottom: 1px solid var(--border); align-items: start;
  }
  .inside-idx { font-family: var(--font-display); font-weight: 700; font-size: 56px; line-height: 1; color: var(--green-300); letter-spacing: -0.02em; }
  .inside-row h3 { font-family: var(--font-sans); font-weight: 700; font-size: 24px; letter-spacing: -0.01em; color: var(--ink-900); margin: 0 0 12px; }
  .inside-row .desc { font-size: 16px; line-height: 1.6; color: var(--ink-500); }
  .inside-bul { display: grid; gap: 12px; }
  .inside-bul .check { font-size: 15px; color: var(--ink-800); line-height: 1.45; }

  /* steps timeline */
  .steps { margin-top: 56px; max-width: 820px; }
  .step { display: grid; grid-template-columns: 64px 1fr; gap: 28px; position: relative; padding-bottom: 40px; }
  .step:last-child { padding-bottom: 0; }
  .step::before { content: ""; position: absolute; left: 31px; top: 56px; bottom: -4px; width: 2px; background: var(--green-100); }
  .step:last-child::before { display: none; }
  .step-node {
    width: 64px; height: 64px; border-radius: 50%; background: #fff; border: 2px solid var(--green-200);
    display: flex; align-items: center; justify-content: center; position: relative; z-index: 1;
    font-family: var(--font-display); font-weight: 700; font-size: 24px; color: var(--green-700);
  }
  .step-body { padding-top: 8px; }
  .step-body h3 { font-family: var(--font-sans); font-weight: 700; font-size: 21px; letter-spacing: -0.01em; color: var(--ink-900); margin: 0 0 8px; }
  .step-body p { font-size: 16px; line-height: 1.6; color: var(--ink-500); max-width: 580px; }

  /* advantages grid */
  .adv-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; margin-top: 52px; }
  .adv-card { background: #fff; border: 1px solid var(--border); border-radius: var(--r-lg); padding: 28px; }
  .adv-card .ic { width: 44px; height: 44px; border-radius: 12px; background: var(--green-50); color: var(--green-700); display: flex; align-items: center; justify-content: center; margin-bottom: 16px; }
  .adv-card h3 { font-family: var(--font-sans); font-weight: 700; font-size: 18px; color: var(--ink-900); margin: 0 0 8px; }
  .adv-card p { font-size: 14.5px; line-height: 1.55; color: var(--ink-500); }

  /* signal anatomy (dark) */
  .bg-ink { background: var(--ink-900); }
  .anat-grid { display: grid; grid-template-columns: 0.92fr 1.08fr; gap: 64px; align-items: center; }
  .anat-card {
    background: #131F33; border: 1px solid rgba(255,255,255,0.08); border-radius: 24px;
    padding: 26px; box-shadow: var(--shadow-lg);
  }
  .anat-card .sig-rows { background: rgba(255,255,255,0.07); border-color: rgba(255,255,255,0.08); }
  .anat-card .sig-rows .r { background: #182539; }
  .anat-card .sig-rows .r .lbl { color: rgba(255,255,255,0.55); }
  .anat-card .sig-rows .r .val { color: #fff; }
  .anat-card .sig-ticker { color: #fff; }
  .anat-fields { display: grid; gap: 18px; }
  .anat-field { display: grid; grid-template-columns: 168px 1fr; gap: 22px; align-items: baseline; padding-bottom: 18px; border-bottom: 1px solid rgba(255,255,255,0.1); }
  .anat-field:last-child { border-bottom: 0; padding-bottom: 0; }
  .anat-field .k { font-family: var(--font-sans); font-weight: 700; font-size: 15px; color: var(--green-300); }
  .anat-field .v { font-size: 15px; line-height: 1.5; color: rgba(255,255,255,0.78); }

  /* tariffs */
  .tariff-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 26px; margin-top: 56px; align-items: stretch; }
  .tariff {
    background: #fff; border: 1px solid var(--border); border-radius: var(--r-2xl);
    padding: 38px; display: flex; flex-direction: column; position: relative;
  }
  .tariff--feature { border: 2px solid var(--green-500); box-shadow: var(--shadow-md); }
  .tariff-flag {
    position: absolute; top: -15px; left: 38px; background: var(--green-500); color: #fff;
    font-family: var(--font-sans); font-size: 12px; font-weight: 700; letter-spacing: 0.06em;
    text-transform: uppercase; padding: 7px 16px; border-radius: 999px; box-shadow: var(--shadow-btn);
  }
  .tariff .t-name { font-family: var(--font-sans); font-weight: 700; font-size: 15px; color: var(--green-700); letter-spacing: 0.02em; }
  .tariff .t-price { font-family: var(--font-display); font-weight: 700; font-size: 46px; letter-spacing: -0.02em; color: var(--ink-900); margin: 14px 0 2px; line-height: 1; }
  .tariff .t-price small { font-family: var(--font-sans); font-size: 17px; font-weight: 600; color: var(--ink-500); letter-spacing: 0; }
  .tariff .t-sub { font-size: 14.5px; color: var(--ink-500); min-height: 22px; }
  .save-line { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 16px; }
  .save-chip { font-family: var(--font-sans); font-size: 13px; font-weight: 600; padding: 6px 12px; border-radius: 999px; }
  .save-chip--strike { color: var(--ink-400); background: var(--surface-2); text-decoration: line-through; }
  .save-chip--save { color: var(--green-700); background: var(--green-50); }
  .save-chip--mo { color: var(--ink-700); background: var(--surface-1); border: 1px solid var(--border); }
  .tariff .t-desc { font-size: 15px; line-height: 1.6; color: var(--ink-700); margin: 22px 0 24px; }
  .tariff-feats { display: grid; gap: 13px; margin-bottom: 30px; }
  .tariff-feats .check { font-size: 15px; color: var(--ink-800); }
  .tariff .btn { margin-top: auto; justify-content: center; width: 100%; }

  /* not-for-you */
  .nope-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px 40px; margin-top: 44px; }
  .nope-item { font-family: var(--font-sans); font-size: 16.5px; line-height: 1.5; color: var(--ink-800); }

  /* author */
  .author-grid { display: grid; grid-template-columns: 0.85fr 1.15fr; gap: 56px; align-items: center; }
  .author-photo {
    width: 100%; aspect-ratio: 4/5; border-radius: var(--r-2xl); overflow: hidden;
    background: radial-gradient(120% 100% at 50% 30%, #FBFCFB 0%, #ECEEEC 60%, #DDE0DC 100%);
    border: 1px solid var(--border-strong); position: relative;
    display: flex; align-items: center; justify-content: center;
  }
  .author-photo .ph-label { font-family: var(--font-mono); font-size: 11px; letter-spacing: 0.12em; text-transform: uppercase; color: var(--ink-400); text-align: center; padding: 0 24px; line-height: 1.6; }
  .author-photo .dot { position: absolute; left: 50%; top: 42%; transform: translate(-50%,-50%); width: 16px; height: 16px; border-radius: 50%; background: var(--green-500); box-shadow: 0 0 0 8px rgba(60,195,106,0.18); }
  .author-meta { display: flex; flex-wrap: wrap; gap: 26px; margin: 26px 0 0; }
  .author-meta .n { font-family: var(--font-display); font-weight: 700; font-size: 26px; color: var(--ink-900); }
  .author-meta .l { font-size: 13px; color: var(--ink-500); margin-top: 2px; }
  .author-quote { font-family: var(--font-sans); font-size: 21px; line-height: 1.5; color: var(--ink-800); font-style: italic; margin: 28px 0 0; padding-left: 22px; border-left: 3px solid var(--green-300); }
  .field-ph { color: var(--ink-300); font-style: normal; }

  /* team — преподаватель + куратор */
  .team-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 26px; margin-top: 52px; }
  .person { display: grid; grid-template-columns: 0.72fr 1fr; gap: 26px; background: #fff; border: 1px solid var(--border); border-radius: var(--r-2xl); padding: 24px; align-items: start; }
  .person-photo { aspect-ratio: 4/5; border-radius: var(--r-lg); overflow: hidden;
    background: radial-gradient(120% 100% at 50% 30%, #FBFCFB 0%, #ECEEEC 60%, #DDE0DC 100%);
    border: 1px solid var(--border-strong); position: relative; display: flex; align-items: center; justify-content: center; }
  .person-photo .dot { position: absolute; left: 50%; top: 40%; transform: translate(-50%,-50%); width: 14px; height: 14px; border-radius: 50%; background: var(--gold); box-shadow: 0 0 0 7px rgba(201,162,75,0.18); }
  .person-photo .ph-label { font-family: var(--font-mono); font-size: 10px; letter-spacing: 0.08em; text-transform: uppercase; color: var(--ink-400); text-align: center; padding: 0 14px; line-height: 1.6; }
  .person-role { font-family: var(--font-sans); font-size: 12px; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; color: var(--gold-ink); }
  .person-name { font-family: var(--font-display); font-weight: 700; font-size: 27px; letter-spacing: -0.01em; color: var(--ink-900); margin: 8px 0 0; }
  .person-meta { display: flex; flex-wrap: wrap; gap: 22px; margin: 18px 0 16px; }
  .person-meta .n { font-family: var(--font-display); font-weight: 700; font-size: 20px; color: var(--ink-900); }
  .person-meta .l { font-size: 12.5px; color: var(--ink-500); margin-top: 2px; }
  .person-style { font-family: var(--font-sans); font-size: 15px; font-weight: 600; color: var(--gold-ink); margin: 0 0 10px; line-height: 1.4; }
  .person-desc { font-size: 15px; line-height: 1.6; color: var(--ink-500); margin: 0; }

  /* testimonials */
  .tst-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; margin-top: 50px; }
  .tst { background: var(--surface-1); border-radius: var(--r-2xl); padding: 28px; display: flex; flex-direction: column; gap: 16px; }
  .tst .q { font-family: var(--font-display); font-weight: 700; font-size: 28px; color: var(--green-400); line-height: 0.6; height: 18px; }
  .tst .body { font-size: 15.5px; line-height: 1.55; color: var(--ink-800); flex: 1; }
  .tst .who { display: flex; align-items: center; gap: 12px; padding-top: 16px; border-top: 1px solid var(--border); }
  .tst .av { width: 40px; height: 40px; border-radius: 50%; background: var(--green-100); color: var(--green-700); display: flex; align-items: center; justify-content: center; font-family: var(--font-display); font-weight: 700; font-size: 14px; }
  .tst .nm { font-family: var(--font-sans); font-weight: 600; font-size: 14.5px; color: var(--ink-900); }
  .tst .rl { font-size: 12.5px; color: var(--ink-500); }

  /* FAQ */
  .faq-grid { display: grid; grid-template-columns: 0.78fr 1.22fr; gap: 56px; align-items: start; }
  .faq-list { background: #fff; border: 1px solid var(--border); border-radius: var(--r-2xl); padding: 6px 28px; }
  .faq-item { border-top: 1px solid var(--border); }
  .faq-item:first-child { border-top: 0; }
  .faq-q { width: 100%; background: none; border: 0; cursor: pointer; text-align: left; padding: 24px 0; display: flex; justify-content: space-between; align-items: center; gap: 20px; font-family: var(--font-sans); font-weight: 700; font-size: 18px; color: var(--ink-900); letter-spacing: -0.005em; transition: color var(--dur-fast) var(--ease-standard); }
  .faq-q:hover { color: var(--gold-ink); }
  .faq-sign { flex-shrink: 0; width: 30px; height: 30px; border-radius: 50%; background: var(--surface-2); color: var(--ink-700); display: flex; align-items: center; justify-content: center; font-size: 19px; font-weight: 600; transition: background var(--dur-fast), color var(--dur-fast), transform var(--dur-base) var(--ease-standard); }
  .faq-item.open .faq-sign { background: var(--green-500); color: #fff; transform: rotate(45deg); }
  .faq-a-wrap { display: grid; grid-template-rows: 0fr; transition: grid-template-rows var(--dur-base) var(--ease-standard); }
  .faq-item.open .faq-a-wrap { grid-template-rows: 1fr; }
  .faq-a { overflow: hidden; min-height: 0; font-size: 15.5px; line-height: 1.65; color: var(--ink-700); padding: 0 44px 0 0; opacity: 0; transition: opacity var(--dur-base) var(--ease-standard), padding var(--dur-base) var(--ease-standard); }
  .faq-item.open .faq-a { opacity: 1; padding-bottom: 26px; }

  /* final CTA */
  .final-panel {
    background: var(--ink-900); border-radius: var(--r-2xl); padding: 64px 64px;
    position: relative; overflow: hidden;
  }
  .final-panel .glow { position: absolute; right: -140px; top: -140px; width: 420px; height: 420px; border-radius: 50%; background: radial-gradient(circle, rgba(60,195,106,0.24), transparent 70%); }
  .final-inner { position: relative; z-index: 1; display: grid; grid-template-columns: 1.3fr 0.7fr; gap: 48px; align-items: center; }
  .final-prices { display: grid; gap: 14px; }
  .price-card { background: rgba(255,255,255,0.05); border: 1px solid rgba(255,255,255,0.12); border-radius: var(--r-lg); padding: 18px 22px; display: flex; justify-content: space-between; align-items: center; }
  .price-card .pl { font-family: var(--font-sans); font-size: 14.5px; color: rgba(255,255,255,0.78); }
  .price-card .pv { font-family: var(--font-display); font-weight: 700; font-size: 24px; color: #fff; letter-spacing: -0.01em; }
  .price-card--feat { border-color: rgba(60,195,106,0.4); background: rgba(60,195,106,0.12); }
  .price-card--feat .pv { color: var(--green-300); }

  /* disclaimer */
  .disclaimer { padding: 44px 56px 64px; background: var(--surface-1); }
  .disclaimer p { max-width: 1180px; margin: 0 auto; font-size: 13px; line-height: 1.7; color: var(--ink-400); }

  /* ============================================================
     STRATEGIES DIPTYCH — two polar directions
     ============================================================ */
  .diptych { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; margin-top: 58px; position: relative; }
  .diptych::before { content: ""; position: absolute; left: 50%; top: 10%; bottom: 10%; width: 1px; transform: translateX(-50%); background: linear-gradient(to bottom, transparent, rgba(201,162,75,0.40), transparent); pointer-events: none; }
  .strat { background: #fff; border: 1px solid var(--border); border-radius: var(--r-2xl); padding: 32px 32px 28px; position: relative; overflow: hidden; display: flex; flex-direction: column; transition: border-color var(--dur-base) var(--ease-standard), box-shadow var(--dur-base) var(--ease-standard); }
  .strat::after { content: ""; position: absolute; right: -70px; top: -70px; width: 220px; height: 220px; border-radius: 50%; background: radial-gradient(circle, rgba(201,162,75,0.12), transparent 70%); pointer-events: none; }
  .strat:hover { border-color: rgba(201,162,75,0.45); box-shadow: 0 28px 60px -36px rgba(201,162,75,0.4); }
  .strat-top { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; margin-bottom: 16px; position: relative; z-index: 1; }
  .strat-idx { font-family: var(--font-display); font-weight: 700; font-size: 56px; line-height: 0.78; color: transparent; -webkit-text-stroke: 1.5px rgba(201,162,75,0.55); letter-spacing: -0.02em; }
  .strat-tag { font-family: var(--font-sans); font-size: 11px; font-weight: 700; letter-spacing: 0.09em; text-transform: uppercase; color: var(--gold-ink); border: 1px solid rgba(201,162,75,0.42); border-radius: 999px; padding: 8px 14px; white-space: nowrap; }
  .strat-title { font-family: var(--font-sans); font-weight: 800; font-size: 25px; letter-spacing: -0.012em; color: var(--ink-900); margin: 0 0 12px; }
  .strat-essence { font-size: 15.5px; line-height: 1.6; color: var(--ink-500); margin: 0 0 22px; }
  .strat-viz { border: 1px solid var(--border); border-radius: var(--r-lg); background: linear-gradient(180deg,#FBFBFA,#F3F4F3); padding: 14px 16px 10px; margin-bottom: 22px; }
  .strat-viz svg { display: block; width: 100%; height: auto; }
  .strat-spec { display: grid; grid-template-columns: repeat(3,1fr); gap: 1px; background: var(--border); border: 1px solid var(--border); border-radius: 14px; overflow: hidden; margin-bottom: 22px; }
  .strat-spec .sp { background: #fff; padding: 14px 14px; }
  .strat-spec .sp .k { font-family: var(--font-sans); font-size: 10.5px; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; color: var(--gold-ink); margin-bottom: 6px; }
  .strat-spec .sp .v { font-family: var(--font-sans); font-size: 15px; font-weight: 700; color: var(--ink-900); line-height: 1.2; }
  .strat-by { margin-top: auto; display: flex; align-items: center; gap: 11px; padding-top: 18px; border-top: 1px solid var(--border); }
  .strat-by .av { flex-shrink: 0; width: 34px; height: 34px; border-radius: 50%; background: rgba(201,162,75,0.14); color: var(--gold-deep); display: flex; align-items: center; justify-content: center; font-family: var(--font-display); font-weight: 700; font-size: 12.5px; }
  .strat-by .who { font-family: var(--font-sans); font-size: 13.5px; color: var(--ink-500); }
  .strat-by .who b { color: var(--ink-900); font-weight: 700; }
  .diptych-note { text-align: center; max-width: 700px; margin: 32px auto 0; font-size: 15.5px; line-height: 1.6; color: var(--ink-500); }
  .diptych-note b { color: var(--ink-900); font-weight: 700; }

  /* ===== BTC CYCLES (dark) ===== */
  .cycles { margin-top: 50px; border: 1px solid rgba(201,162,75,0.22); border-radius: var(--r-2xl); background: rgba(12,16,14,0.6); backdrop-filter: blur(8px); padding: 30px 32px 24px; }
  .cycles svg { display: block; width: 100%; height: auto; }
  .cycles-disc { max-width: 780px; margin: 24px auto 0; text-align: center; font-size: 13px; line-height: 1.65; color: rgba(245,241,232,0.44); }

  /* ===== WEEKLY SESSIONS ===== */
  .session-grid { display: grid; grid-template-columns: 0.92fr 1.08fr; gap: 56px; align-items: center; }
  .session-meta { display: flex; gap: 34px; margin-top: 28px; flex-wrap: wrap; }
  .session-meta .mv { font-family: var(--font-display); font-weight: 700; font-size: 22px; color: var(--ink-900); letter-spacing: -0.01em; }
  .session-meta .ml { font-size: 13px; color: var(--ink-500); margin-top: 2px; }
  .session-card { background: #fff; border: 1px solid var(--border); border-radius: var(--r-2xl); padding: 26px 28px; box-shadow: 0 26px 64px -38px rgba(0,0,0,0.32); position: relative; }
  .session-head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 18px; }
  .session-live { display: inline-flex; align-items: center; gap: 9px; font-family: var(--font-sans); font-size: 12.5px; font-weight: 700; letter-spacing: 0.05em; text-transform: uppercase; color: var(--green-700); }
  .session-live .pulse { width: 8px; height: 8px; border-radius: 50%; background: var(--green-500); box-shadow: 0 0 0 0 rgba(60,195,106,0.5); animation: livepulse 2.2s infinite; }
  @keyframes livepulse { 0%{box-shadow:0 0 0 0 rgba(60,195,106,0.45)} 70%{box-shadow:0 0 0 10px rgba(60,195,106,0)} 100%{box-shadow:0 0 0 0 rgba(60,195,106,0)} }
  @media (prefers-reduced-motion: reduce){ .session-live .pulse { animation: none; } }
  .session-recur { font-family: var(--font-sans); font-size: 12.5px; color: var(--ink-500); display: inline-flex; align-items: center; gap: 6px; }
  .agenda { display: grid; gap: 0; }
  .agenda-row { display: grid; grid-template-columns: 30px 1fr; gap: 16px; padding: 15px 0; border-top: 1px dashed var(--border); align-items: flex-start; }
  .agenda-row:first-child { border-top: 0; padding-top: 4px; }
  .agenda-row .n { font-family: var(--font-mono); font-size: 12px; color: var(--gold-ink); font-weight: 600; padding-top: 3px; }
  .agenda-row .t b { display: block; font-family: var(--font-sans); font-size: 15.5px; font-weight: 700; color: var(--ink-900); margin-bottom: 2px; }
  .agenda-row .t span { font-size: 13.5px; color: var(--ink-500); line-height: 1.45; }

  /* ===== INCLUDED (Telegram trio) ===== */
  .incl-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 20px; margin-top: 52px; }
  .incl-tile { background: #fff; border: 1px solid var(--border); border-radius: var(--r-lg); padding: 30px 28px; transition: border-color var(--dur-base) var(--ease-standard); }
  .incl-tile:hover { border-color: rgba(201,162,75,0.4); }
  .incl-tile .ic { width: 48px; height: 48px; border-radius: 14px; background: rgba(201,162,75,0.12); color: var(--gold-deep); display: flex; align-items: center; justify-content: center; margin-bottom: 18px; }
  .incl-tile .ic svg { width: 24px; height: 24px; }
  .incl-tile h3 { font-family: var(--font-sans); font-weight: 700; font-size: 18px; color: var(--ink-900); margin: 0 0 8px; }
  .incl-tile p { font-size: 14.5px; line-height: 1.55; color: var(--ink-500); margin: 0; }

  /* ===== TARIFFS — dark cards on light section ===== */
  #tarify { padding-top: 88px; padding-bottom: 92px; }
  #tarify .tariff-grid { margin-top: 40px; }
  #tarify .tariff { background: linear-gradient(180deg,#171c19,#0f1310); border: 1px solid rgba(201,162,75,0.22); box-shadow: 0 26px 60px -36px rgba(0,0,0,0.55); padding: 30px 30px 28px; }
  #tarify .tariff .t-name { color: var(--gold-soft); }
  #tarify .tariff .t-price { color: var(--cream); }
  #tarify .tariff .t-price small { color: rgba(245,241,232,0.55); }
  #tarify .tariff .t-sub { color: rgba(245,241,232,0.62); min-height: 0; }
  #tarify .tariff .t-desc { color: rgba(245,241,232,0.84); }
  #tarify .tariff .tariff-feats .check { color: rgba(245,241,232,0.88); }
  #tarify .tariff .check .mark { background: rgba(201,162,75,0.18); color: var(--gold-bright); }
  #tarify .tariff--feature { background: linear-gradient(180deg,#1d1810,#120f0a); border: 1.5px solid rgba(201,162,75,0.6); box-shadow: 0 32px 72px -32px rgba(201,162,75,0.42); }
  #tarify .save-chip--strike { color: rgba(245,241,232,0.45); background: rgba(245,241,232,0.07); }
  #tarify .save-chip--save { color: #241905; background: var(--gold-soft); }
  #tarify .save-chip--mo { color: rgba(245,241,232,0.82); background: rgba(245,241,232,0.06); border: 1px solid rgba(245,241,232,0.12); }
  #tarify .btn-outline { color: var(--gold-bright); border-color: rgba(201,162,75,0.45); }
  #tarify .btn-outline:hover { border-color: var(--gold); background: rgba(201,162,75,0.1); }
  .why6 { margin-top: 22px; display: grid; grid-template-columns: 0.82fr 1.18fr; gap: 26px 44px; align-items: center; background: linear-gradient(180deg,#171c19,#0f1310); border: 1px solid rgba(201,162,75,0.22); border-radius: var(--r-2xl); padding: 28px 34px; box-shadow: 0 26px 60px -38px rgba(0,0,0,0.5); }
  .why6-head h3 { font-family: var(--font-sans); font-weight: 800; font-size: 21px; color: var(--cream); margin: 0 0 8px; letter-spacing: -0.012em; }
  .why6-head p { font-size: 14.5px; line-height: 1.55; color: rgba(245,241,232,0.6); margin: 0; }
  .why6-list { display: grid; grid-template-columns: 1fr 1fr; gap: 12px 26px; }
  .why6-list .check { font-size: 14.5px; color: rgba(245,241,232,0.88); align-items: center; }
  .why6-list .check .mark { background: rgba(201,162,75,0.18); color: var(--gold-bright); }

  /* ---- responsive ---- */
  @media (max-width: 920px) {
    .section { padding: 72px 28px; }
    .disclaimer { padding: 36px 28px 52px; }
    .hero-grid, .anat-grid, .author-grid, .faq-grid, .final-inner { grid-template-columns: 1fr; gap: 44px; }
    .quick-list, .whom-grid, .nope-grid { grid-template-columns: 1fr; }
    .team-grid { grid-template-columns: 1fr; }
    .diptych { grid-template-columns: 1fr; }
    .diptych::before { display: none; }
    .session-grid { grid-template-columns: 1fr; gap: 40px; }
    .incl-grid { grid-template-columns: 1fr; }
    .why6 { grid-template-columns: 1fr; gap: 20px; }
    .why6-list { grid-template-columns: 1fr; }
    .tariff-grid { grid-template-columns: 1fr; }
    .inside-row { grid-template-columns: 1fr; gap: 16px; }
    .inside-idx { font-size: 44px; }
    .anat-field { grid-template-columns: 1fr; gap: 6px; }
    .final-panel { padding: 44px 28px; }
    .hero-art { margin-top: 8px; }
    .chip-call, .chip-review { position: static; margin: 0 auto; }
  }

  /* ---- phones ---- */
  @media (max-width: 560px) {
    .section { padding: 56px 20px; }
    #tarify { padding-top: 60px; padding-bottom: 64px; }
    .disclaimer { padding: 32px 20px 48px; }

    /* hero */
    .hero-apple { padding: 52px 20px 56px; }
    .hero-apple h1 { font-size: clamp(40px, 12.5vw, 58px); max-width: 16ch; }
    .hero-apple .sub { font-size: 17px; }
    .hero-logo { width: 150px; height: auto; }
    .links { gap: 14px 26px; }
    .applink { font-size: 17px; }
    .hero-apple-stage { margin-top: 40px; }
    .hero-apple-foot { gap: 18px 30px; margin-top: 32px; }
    .hero-apple-stage .ring--xxl, .hero-apple-stage .ring--xl { display: none; }

    /* headlines / lead */
    .lead { font-size: 16.5px; margin-top: 18px; }
    .sect-head { margin-bottom: 4px; }

    /* strategies */
    .diptych { gap: 18px; margin-top: 36px; }
    .strat { padding: 24px 22px 22px; }
    .strat-idx { font-size: 46px; }
    .strat-title { font-size: 22px; }
    .strat-spec .sp { padding: 11px 10px; }
    .strat-spec .sp .v { font-size: 13.5px; }
    .diptych-note { font-size: 14.5px; margin-top: 24px; }

    /* cycles */
    .cycles { padding: 18px 16px 14px; margin-top: 34px; }

    /* sessions */
    .session-card { padding: 22px 20px; }
    .session-meta { gap: 22px; margin-top: 22px; }

    /* included */
    .incl-grid { gap: 14px; margin-top: 34px; }
    .incl-tile { padding: 24px 22px; }

    /* tariffs */
    .tariff-grid { gap: 18px; }
    #tarify .tariff, .tariff { padding: 26px 22px; }
    .tariff .t-price { font-size: 40px; }
    .why6 { padding: 24px 22px; margin-top: 18px; }
    .why6-head h3 { font-size: 19px; }

    /* team — stack photo over text */
    .team-grid { gap: 18px; margin-top: 34px; }
    .person { grid-template-columns: 1fr; gap: 18px; padding: 18px; }
    .person-photo { aspect-ratio: 16/10; max-height: 220px; }
    .person-name { font-size: 24px; }

    /* faq */
    .faq-q { font-size: 16px; padding: 20px 0; }

    /* final */
    .final-panel { padding: 36px 22px; }
  }

  /* ============================================================
     SCHEME — Light premium + dark accents
     Light blocks: warm ivory/paper, dark text, gold accents (opaque → hide particles)
     Dark accents (hero, "Пример сигнала", final CTA): transparent → stone + gold particles
     Green stays only inside live signal cards.
     ============================================================ */
  :root {
    --gold: #C9A24B; --gold-ink: #927019; --gold-deep: #7E5F12;
    --gold-bright: #E6C46E; --gold-soft: #D6B25E;
    --cream: #F5F1E8; --ivory: #F4F1E9; --paper: #FAF8F2;
  }

  /* section surfaces + separation */
  .bg-pale { background: var(--ivory); }
  .bg-white { background: var(--paper); }
  .bg-ink   { background: transparent; }
  .section { position: relative; border-top: 1px solid rgba(201,162,75,0.14); }
  .bg-ink.section { border-top-color: rgba(201,162,75,0.22); }

  /* ---- gold accents on LIGHT sections (text stays dark from base) ---- */
  .eyebrow { color: var(--gold-ink); }
  .kicker-rule { background: var(--gold); }
  .hl { color: var(--gold-ink); }
  .check .mark { background: rgba(201,162,75,0.14); color: var(--gold-deep); }
  .btn-primary { background: linear-gradient(180deg,#D9B45C,#C29638); color: #241905; box-shadow: 0 14px 30px -14px rgba(201,162,75,0.55); }
  .btn-primary:hover { background: linear-gradient(180deg,#E3C067,#CCA043); }
  .btn-primary:active { background: #B98F33; }
  .btn-primary .arr { background: rgba(36,25,5,0.18); }
  .btn-outline { color: var(--gold-ink); border-color: rgba(201,162,75,0.5); }
  .btn-outline:hover { border-color: var(--gold); background: rgba(201,162,75,0.07); }
  .pill { border-color: rgba(201,162,75,0.45); color: var(--gold-ink); }
  .pill .dot { background: var(--gold); }
  .inside-idx { color: rgba(201,162,75,0.55); }
  .step::before { background: rgba(201,162,75,0.28); }
  .step-node { border-color: rgba(201,162,75,0.45); color: var(--gold-ink); }
  .adv-card .ic { background: rgba(201,162,75,0.14); color: var(--gold-ink); }
  .note-card { background: rgba(201,162,75,0.09); border-color: rgba(201,162,75,0.32); }
  .note-card .ic { color: var(--gold-ink); }
  .tariff--feature { border-color: var(--gold); box-shadow: 0 24px 56px -28px rgba(201,162,75,0.45); }
  .tariff-flag { background: linear-gradient(180deg,#D9B45C,#C29638); color: #241905; box-shadow: 0 12px 26px -12px rgba(201,162,75,0.5); }
  .tariff .t-name { color: var(--gold-ink); }
  .save-chip--save { color: var(--gold-deep); background: rgba(201,162,75,0.16); }
  .tst .q { color: var(--gold-soft); }
  .tst .av { background: rgba(201,162,75,0.16); color: var(--gold-ink); }
  .faq-item.open .faq-sign { background: var(--gold); color: #241905; }
  .author-photo .dot { background: var(--gold); box-shadow: 0 0 0 8px rgba(201,162,75,0.18); }
  .author-quote { border-color: rgba(201,162,75,0.5); }
  .tariff-grid + .soft-card .mark { background: rgba(201,162,75,0.14) !important; color: var(--gold-deep) !important; }

  /* ---- DARK ACCENT: "Пример сигнала" (.bg-ink) ---- */
  .bg-ink .anat-card { background: rgba(12,16,14,0.66); border-color: rgba(201,162,75,0.22); backdrop-filter: blur(8px); }
  .bg-ink .anat-field { border-color: rgba(245,241,232,0.12); }
  .bg-ink .anat-field .k { color: var(--gold-soft); }
  .bg-ink .anat-field .v { color: rgba(245,241,232,0.78); }

  /* ---- DARK ACCENT: final CTA panel ---- */
  .final-panel { background: rgba(10,13,11,0.82); border: 1px solid rgba(201,162,75,0.22); backdrop-filter: blur(8px); }
  .final-panel .glow { background: radial-gradient(circle, rgba(201,162,75,0.26), transparent 70%); }
  .price-card { background: rgba(245,241,232,0.05); border-color: rgba(245,241,232,0.12); }
  .price-card .pl { color: rgba(245,241,232,0.78); }
  .price-card .pv { color: var(--cream); }
  .price-card--feat { border-color: rgba(201,162,75,0.45); background: rgba(201,162,75,0.12); }
  .price-card--feat .pv { color: var(--gold-bright); }

  /* disclaimer sits on the dark base */
  .disclaimer { background: transparent; }
  .disclaimer p { color: rgba(245,241,232,0.42); }

  /* The shared school footer must not inherit the premium animated star field.
     Keep the constellation canvas for the dark premium sections only, then put
     the footer on its own opaque layer. */
  .premium-footer-wrap {
    position: relative;
    z-index: 2;
    isolation: isolate;
    background: var(--ink-900);
  }
  .premium-footer-wrap footer {
    background: var(--ink-900) !important;
  }

  /* ── Попап «Оставить заявку» (сбор контактов перед оплатой) ── */
  .join-modal-scrim {
    position: fixed; inset: 0; z-index: 1000;
    background: rgba(16,20,16,0.58); backdrop-filter: blur(3px);
    display: flex; align-items: center; justify-content: center; padding: 20px;
    animation: jm-fade 0.2s var(--ease-standard, ease);
  }
  .join-modal {
    width: 100%; max-width: 430px; background: #fff; border-radius: 20px;
    padding: 28px 26px 24px; position: relative;
    box-shadow: 0 40px 90px -25px rgba(0,0,0,0.5);
    animation: jm-rise 0.26s var(--ease-standard, cubic-bezier(0.2,0,0,1));
  }
  .join-modal__close {
    position: absolute; top: 16px; right: 16px; width: 34px; height: 34px;
    border: 0; background: #F2F4F1; border-radius: 10px; font-size: 20px;
    line-height: 1; color: var(--ink-500, #5B6560); cursor: pointer;
  }
  .join-modal__close:hover { background: #E8EBE7; }
  .join-modal__title {
    font-family: var(--font-sans); font-weight: 800; font-size: 24px;
    letter-spacing: -0.01em; color: var(--ink-900, #0E1311); margin: 0 0 6px;
  }
  .join-modal__sub { font-size: 14px; line-height: 1.5; color: var(--ink-500, #5B6560); margin: 0 0 20px; }
  .join-field { display: block; margin-bottom: 14px; }
  .join-field > span {
    display: block; font-size: 11px; font-weight: 700; letter-spacing: 0.07em;
    text-transform: uppercase; color: #8A938D; margin-bottom: 7px;
  }
  .join-field input {
    width: 100%; box-sizing: border-box; font-family: var(--font-sans); font-size: 15px;
    color: var(--ink-900, #0E1311); background: #fff; border: 1.5px solid #E0E3DE;
    border-radius: 12px; padding: 13px 15px; outline: none;
    transition: border-color 0.15s, box-shadow 0.15s;
  }
  .join-field input::placeholder { color: #AEB5AE; }
  .join-field input:focus { border-color: var(--green-500, #2EA866); box-shadow: 0 0 0 3px rgba(47,179,106,0.15); }
  .join-consent {
    display: flex; gap: 9px; align-items: flex-start;
    font-size: 12.5px; line-height: 1.45; color: var(--ink-500, #5B6560);
    margin: 4px 0 16px; cursor: pointer;
  }
  .join-consent input {
    margin: 2px 0 0; width: 16px; height: 16px; flex: none;
    accent-color: var(--green-500, #2EA866); cursor: pointer;
  }
  .join-consent a { color: var(--green-600, #1F8A52); text-decoration: underline; }
  .join-modal__submit { width: 100%; justify-content: center; margin-top: 8px; }
  .join-modal__submit:disabled { opacity: 0.5; cursor: not-allowed; }
  /* price-card стали кнопками (открывают попап) — сброс кнопочных дефолтов */
  button.price-card { appearance: none; font: inherit; text-align: inherit; cursor: pointer; }
  @keyframes jm-fade { from { opacity: 0; } }
  @keyframes jm-rise { from { opacity: 0; transform: translateY(14px); } }
  @media (max-width: 480px) {
    .join-modal { padding: 24px 18px 20px; border-radius: 18px; }
    .join-modal__title { font-size: 21px; }
  }
