
:root {
  --bg: #0f1117;
  --bg-card: #1a1d27;
  --text: #e4e6ef;
  --text-muted: rgba(255,255,255,0.5);
  --accent: #a99eff;
  --accent-rgb: 169,158,255;
  --accent2: #ff9ed4;
  --accent2-rgb: 255,158,212;
  --accent3: #b8ebff;
  --accent3-rgb: 184,235,255;
  --border: rgba(255,255,255,0.08);
  --radius: 12px;
  --font: 'Sora', sans-serif;
  --font-heading: 'Sora', sans-serif;
  --bodyBG: #0f1117;
  --textColor1: #e4e6ef;
  --textColor2: #111111;
  --textSecondary: #afb1b9;
  --textMuted: #7a7c83;
  --secondStyleColor: #a99eff;
  --bgCard: #1a1d27;
  --bgAlt: #202228;
  --borderSubtle: rgba(255,255,255,0.08);
  --borderRadius: 12px;
  --maxWidthContainer: 1200px;
  --scrollbarBg: rgba(255,255,255,0.1);
  --itemBgColor: transparent;
}

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

::-webkit-scrollbar { width: 6px; height: 6px; }
::-webkit-scrollbar-track { background: rgba(255,255,255,0.05); border-radius: 100vw; }
::-webkit-scrollbar-thumb { background: var(--accent); border-radius: 100vw; }
::-webkit-scrollbar-thumb:hover { background: var(--secondStyleColor); filter: brightness(1.2); }
::-webkit-scrollbar-thumb:active { background: #fff; }
* { scrollbar-width: thin; scrollbar-color: var(--accent) rgba(255,255,255,0.05); }

body {
  font-family: var(--font);
  background: var(--bodyBG);
  color: var(--textColor1);
  line-height: 1.6;
  overflow-x: hidden;
  -webkit-font-smoothing: antialiased;
}
body.menu-open {
  overflow: hidden;
}

.container {
  max-width: var(--maxWidthContainer);
  margin: 0 auto;
  padding: 0 24px;
}

a { color: inherit; text-decoration: none; }
img { max-width: 100%; height: auto; object-position: 50% 20%; }
ul { list-style: none; }
html { scroll-behavior: smooth; }

/* Standardized typography */
section h1 {
  font-size: 48px !important;
  line-height: 1.15 !important;
  font-weight: 800 !important;
}
section h2 {
  font-size: 36px !important;
  line-height: 1.3 !important;
  font-weight: 700 !important;
}
section h3 {
  font-size: 20px !important;
  line-height: 1.4 !important;
  font-weight: 600 !important;
}
section h4 {
  font-size: 18px !important;
  line-height: 1.4 !important;
  font-weight: 600 !important;
}
section p,
section li {
  font-size: 16px !important;
  line-height: 1.7 !important;
}
footer p,
footer li,
footer a {
  font-size: 14px !important;
  line-height: 1.6 !important;
}
footer h3 {
  font-size: 16px !important;
}
@media (max-width: 900px) {
  section h1 {
    font-size: 36px !important;
  }
  section h2 {
    font-size: 28px !important;
  }
}
@media (max-width: 600px) {
  section h1 {
    font-size: 30px !important;
  }
  section h2 {
    font-size: 24px !important;
  }
  section h3 {
    font-size: 18px !important;
  }
  section p,
  section li {
    font-size: 15px !important;
  }
}

/* Heading font */
section h1, section h2, section h3, section h4,
header h1, header h2, header h3, header h4,
footer h3 {
  font-family: var(--font-heading) !important;
}

/* Standardized section spacing */
section {
  padding-top: 80px !important;
  padding-bottom: 80px !important;
}
header, nav { padding-top: 0 !important; padding-bottom: 0 !important; }
footer {
  padding-top: 40px !important;
  padding-bottom: 24px !important;
}
section.toc {
  padding-top: 12px !important;
  padding-bottom: 12px !important;
}
.site-disclaimer {
  background: rgba(0,0,0,0.3);
  border-top: 1px solid var(--border);
  padding: 16px 0;
  text-align: center;
}
.site-disclaimer p {
  font-size: 14px !important;
  font-style: italic;
  line-height: 1.5 !important;
  color: var(--textMuted);
  max-width: 800px;
  margin: 0 auto;
}
.toc .swiper-wrapper {
}
@media (max-width: 768px) {
  body > section,
  body > div > section,
  body > section {
    padding-top: 50px !important;
    padding-bottom: 50px !important;
  }
}

/* Secondary pages */
.sec-page { padding: 80px 0; min-height: 60vh; }
.page-content { max-width: var(--maxWidthContainer); }
.page-content h1 { font-size: 2rem; font-weight: 700; margin-bottom: 24px; }
.page-content h2 { font-size: 1.3rem; font-weight: 600; margin: 36px 0 12px; color: var(--textColor1); }
.page-content p { margin-bottom: 16px; color: var(--textSecondary); line-height: 1.8; font-size: 0.95rem; }
.page-content a { color: var(--secondStyleColor); text-decoration: underline; }
.page-content a:hover { opacity: 0.8; }

/* Overflow protection — word wrap only, no clipping */
section p,
section li,
section summary {
  overflow-wrap: break-word;
}


.hd9 {
  background: var(--bodyBG);
  border-bottom: 1px solid rgba(128,128,128,.15);
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 100;
}
.hd9__wrap {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 14px 20px;
}
.hd9__logo {
  font-size: 22px;
  font-weight: 800;
  color: var(--textColor1);
  text-decoration: none;
}

/* Nav anchors */
.hd9__nav ul {
  display: flex;
  gap: 24px;
  list-style: none;
  margin: 0;
  padding: 0;
}
.hd9__link {
  color: var(--textColor1);
  text-decoration: none;
  font-size: 14px;
  font-weight: 500;
  position: relative;
  transition: color .2s ease;
}
.hd9__link::after {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  bottom: -4px;
  height: 2px;
  background: var(--secondStyleColor);
  transform: scaleX(0);
  transition: transform .2s ease;
}
.hd9__link:hover {
  color: var(--secondStyleColor);
}
.hd9__link:hover::after {
  transform: scaleX(1);
}

/* CTA button */
.hd9__cta {
  display: inline-block;
  padding: 10px 28px;
  background: linear-gradient(135deg, var(--accent, #a99eff), var(--accent2, #ff9ed4));
  background-size: 200% 200%;
  color: #fff !important;
  font-size: 14px;
  font-weight: 700;
  border-radius: 8px;
  text-decoration: none !important;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  white-space: nowrap;
  box-shadow: 0 4px 18px rgba(var(--accent-rgb, 169,158,255),0.35), 0 0 30px rgba(var(--accent2-rgb, 255,158,212),0.12);
  transition: transform .2s ease, box-shadow .2s ease, filter .2s ease;
  animation: hd9-cta-shift 3s ease-in-out infinite, hd9-cta-glow 2s ease-in-out infinite;
}
.hd9__cta:hover {
  transform: translateY(-2px) scale(1.05);
  box-shadow: 0 6px 28px rgba(var(--accent-rgb, 169,158,255),0.5), 0 0 50px rgba(var(--accent2-rgb, 255,158,212),0.25);
  filter: brightness(1.15);
}
@keyframes hd9-cta-shift {
  0%, 100% { background-position: 0% 50%; }
  50% { background-position: 100% 50%; }
}
@keyframes hd9-cta-glow {
  0%, 100% { box-shadow: 0 4px 18px rgba(var(--accent-rgb, 169,158,255),0.35), 0 0 30px rgba(var(--accent2-rgb, 255,158,212),0.12); }
  50% { box-shadow: 0 4px 24px rgba(var(--accent-rgb, 169,158,255),0.55), 0 0 44px rgba(var(--accent2-rgb, 255,158,212),0.28); }
}

/* Toggle */
.hd9__toggle {
  display: flex;
  background: none;
  border: 1px solid rgba(128,128,128,.25);
  border-radius: 10px;
  padding: 6px;
  cursor: pointer;
  color: var(--textColor1);
  -webkit-tap-highlight-color: transparent;
  transition: border-color .2s ease;
}
.hd9__toggle:hover {
  border-color: var(--secondStyleColor);
}

/* Panel */
.hd9__panel {
  position: absolute;
  top: 100%;
  right: 20px;
  background: var(--bodyBG);
  border: 1px solid rgba(128,128,128,.12);
  border-top: 2px solid var(--secondStyleColor);
  border-radius: 0 0 var(--borderRadius) var(--borderRadius);
  box-shadow: 0 10px 30px rgba(0,0,0,.15);
  max-height: 0;
  overflow: hidden;
  transition: max-height .3s ease, opacity .25s ease;
  opacity: 0;
  z-index: 99;
  min-width: 220px;
}
.hd9__panel.active {
  max-height: 500px;
  opacity: 1;
}
.hd9__panel ul {
  list-style: none;
  padding: 6px 0;
  margin: 0;
}
.hd9__panel li + li {
  border-top: 1px solid rgba(128,128,128,.06);
}
.hd9__panel a {
  display: block;
  padding: 11px 22px;
  color: var(--textColor1);
  text-decoration: none;
  font-size: 14px;
  font-weight: 500;
  transition: all .15s ease;
  white-space: nowrap;
}
.hd9__panel a:hover {
  background: rgba(128,128,128,.07);
  color: var(--secondStyleColor);
  padding-left: 26px;
}

@media (max-width: 600px) {
  .hd9__nav { display: none; }
  .hd9__cta { display: none; }
}



  .site-footer {
    color: var(--textColor1);
    margin-top: 60px;
    padding: 28px 0 22px;
    background-color: var(--bodyBG);
    border-top: 0.3px solid var(--secondStyleColor);
    color: var(--footer-muted);
    position: relative;
    backdrop-filter: blur(18px);
  }

  /* Layout */

  .footer-row {
    display: grid;
    grid-template-columns: 1.2fr 1fr 1fr;
    gap: 32px;
    align-items: flex-start;
    margin-bottom: 22px;
  }

  /* Brand */

  .footer-main {
    display: flex;
    flex-direction: column;
    gap: 10px;
    list-style: none;
    margin: 0;
    padding: 0;
  }

  .footer-main .logo {
    display: inline-flex;
    flex-direction: column;
    align-items: flex-start;
    text-decoration: none;
    color: var(--textColor1);
    font-weight: 800;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    font-size: 0.8rem;
  }

  /* Links & Address */

  .site-footer a,
  .site-footer address {
    position: relative;
    color: var(--textColor1);
    text-decoration: none;
    font-weight: 600;
    font-size: 12px;
    letter-spacing: 0.16em;
    padding: 2px 0;
    text-transform: uppercase;
    transition:
      color 0.22s ease,
      transform 0.22s ease,
      text-shadow 0.22s ease,
      opacity 0.22s ease;
  }

  .site-footer address {
    font-style: normal;
    color: rgba(209, 213, 219, 0.8);
  }

  /* ≡ ХОВЕР БЕЗ ЛИНИИ — МЯГКОЕ НЕОНОВОЕ СВЕЧЕНИЕ */

  .site-footer a:hover {
    transform: translateY(-2px);
  }

  /* Social */

  .footer-social {
    display: flex;
    gap: 10px;
    list-style: none;
    margin: 6px 0 0;
    padding: 0;
    i {
      color: var(--secondStyleColor);
      font-size: 24px;
    }
  }

  .footer-social a {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 38px;
    height: 38px;
    border-radius: 50%;
    color: var(--textSecondary);
    transition:
      background 0.18s ease,
      color 0.18s ease,
      border-color 0.18s ease,
      transform 0.12s ease,
      box-shadow 0.18s ease;
  }

  .footer-social a:hover {
    transform: translateY(-1px);
  }

  /* Contacts */

  .footer-contacts address {
    font-style: normal;
  }

  /* Links */

  .footer-links {
    list-style: none;
    margin: 0;
    padding: 0;
    columns: 2 120px;
    column-gap: 24px;
    font-size: 13px;
  }

  .footer-links li {
    break-inside: avoid;
    margin-bottom: 8px;
  }

  .footer-links a:hover {
    color: var(--secondStyleColor);
  }

  /* Bottom */

  .footer-bottom {
    padding-top: 14px;
    color: var(--textColor1);
  }

  .footer-bottom p {
    margin: 0;
  }

  .footer-bottom p span {
    color: var(--footer-accent);
    font-weight: 700;
  }

  @media (max-width: 900px) {
    .footer-row {
      grid-template-columns: 1fr 1fr;
      gap: 24px;
    }
  }

  @media (max-width: 640px) {
    .footer-row {
      grid-template-columns: 1fr;
      text-align: center;
      gap: 18px;
    }

    .footer-main {
      align-items: center;
    }

    .footer-social {
      justify-content: center;
    }

    .footer-contacts,
    .footer-links {
      columns: 1;
      text-align: center;
    }

    .site-footer {
      margin-top: 40px;
      padding: 22px 0 18px;
    }
  }



.ip-hero{padding:60px 0 40px;text-align:center}
.ip-hero h1{font-size:2.2rem;font-weight:800;margin-bottom:16px;line-height:1.2}
.ip-hero p{font-size:1.05rem;color:var(--textSecondary);max-width:700px;margin:0 auto 28px;line-height:1.8}
.ip-cta-btn{display:inline-block;padding:14px 36px;border-radius:8px;background:var(--secondStyleColor);color:#fff!important;font-weight:700;font-size:1rem;text-decoration:none!important;transition:filter .2s}
.ip-cta-btn:hover{filter:brightness(1.15);text-decoration:none!important;color:#fff!important}
.ip-section{padding:36px 0}
.ip-section h2{font-size:1.5rem;font-weight:700;margin-bottom:16px;color:var(--textColor1)}
.ip-section h3{font-size:1.1rem;font-weight:600;margin:24px 0 10px;color:var(--textColor1)}
.ip-section p{color:var(--textSecondary);line-height:1.8;margin-bottom:14px}
.ip-section ul,.ip-section ol{padding-left:20px;margin-bottom:16px}
.ip-section li{color:var(--textSecondary);line-height:1.8;margin-bottom:6px}
.ip-divider{border:none;border-top:1px solid rgba(128,128,128,.15);margin:0}
.ip-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:20px;margin:28px 0}
.ip-card{background:rgba(128,128,128,.06);border-radius:12px;padding:24px 20px;border:1px solid rgba(128,128,128,.12)}
.ip-card__icon{font-size:1.8rem;margin-bottom:12px;color:var(--secondStyleColor)}
.ip-card__title{font-weight:700;font-size:1rem;margin-bottom:8px;color:var(--textColor1)}
.ip-card__text{font-size:0.88rem;color:var(--textSecondary);line-height:1.6}
.ip-steps{counter-reset:step;list-style:none;padding:0;margin:24px 0}
.ip-steps li{counter-increment:step;display:flex;gap:18px;align-items:flex-start;margin-bottom:20px}
.ip-steps li::before{content:counter(step);min-width:36px;height:36px;background:var(--secondStyleColor);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.9rem;flex-shrink:0;margin-top:2px}
.ip-steps li span{color:var(--textSecondary);line-height:1.7}
.ip-steps li strong{display:block;color:var(--textColor1);font-weight:600;margin-bottom:4px}
.ip-highlight{background:rgba(128,128,128,.06);border-left:4px solid var(--secondStyleColor);border-radius:0 8px 8px 0;padding:20px 24px;margin:24px 0}
.ip-highlight p{margin:0;font-style:italic;color:var(--textSecondary)}
.ip-faq{margin:24px 0}
.ip-faq__item{border-bottom:1px solid rgba(128,128,128,.12);padding:18px 0}
.ip-faq__q{font-weight:600;color:var(--textColor1);margin-bottom:8px;cursor:pointer;display:flex;justify-content:space-between;gap:12px}
.ip-faq__q::after{content:'+';color:var(--secondStyleColor);font-size:1.4rem;font-weight:300;flex-shrink:0}
.ip-faq__item.open .ip-faq__q::after{content:'−'}
.ip-faq__a{display:none;color:var(--textSecondary);line-height:1.8;font-size:.93rem}
.ip-faq__item.open .ip-faq__a{display:block;padding-top:8px}
.ip-bonus-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:16px;margin:24px 0}
.ip-bonus-item{background:rgba(128,128,128,.06);border-radius:10px;padding:20px 16px;text-align:center;border:1px solid rgba(128,128,128,.1)}
.ip-bonus-item i{font-size:1.6rem;color:var(--secondStyleColor);margin-bottom:10px;display:block}
.ip-bonus-item strong{display:block;font-size:.95rem;color:var(--textColor1);margin-bottom:6px}
.ip-bonus-item span{font-size:.82rem;color:var(--textSecondary);line-height:1.5}
.ip-safety{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px;margin:24px 0}
.ip-safety__item{display:flex;gap:14px;align-items:flex-start}
.ip-safety__icon{width:40px;height:40px;border-radius:10px;background:var(--secondStyleColor);display:flex;align-items:center;justify-content:center;color:#fff;font-size:1rem;flex-shrink:0}
.ip-safety__text strong{display:block;color:var(--textColor1);font-size:.95rem;margin-bottom:4px}
.ip-safety__text span{color:var(--textSecondary);font-size:.83rem;line-height:1.5}
.ip-table{width:100%;border-collapse:collapse;margin:24px 0;font-size:.9rem}
.ip-table th{background:var(--secondStyleColor);color:#fff;padding:10px 14px;text-align:left;font-weight:600}
.ip-table td{padding:10px 14px;border-bottom:1px solid rgba(128,128,128,.12);color:var(--textSecondary)}
.ip-table tr:hover td{background:rgba(128,128,128,.04)}
.ip-pros-cons{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:24px 0}
.ip-pros,.ip-cons{background:rgba(128,128,128,.06);border-radius:12px;padding:20px}
.ip-pros{border-top:3px solid #27ae60}
.ip-cons{border-top:3px solid #e74c3c}
.ip-pros h4{color:#27ae60;font-size:1rem;font-weight:700;margin-bottom:12px}
.ip-cons h4{color:#e74c3c;font-size:1rem;font-weight:700;margin-bottom:12px}
.ip-pros li,.ip-cons li{font-size:.88rem}
.ip-strategy-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:20px;margin:24px 0}
.ip-strategy-card{background:rgba(128,128,128,.06);border-radius:12px;padding:22px 20px;border:1px solid rgba(128,128,128,.12)}
.ip-strategy-card__name{font-weight:700;font-size:1rem;color:var(--secondStyleColor);margin-bottom:8px}
.ip-strategy-card__desc{font-size:.87rem;color:var(--textSecondary);line-height:1.6}
.ip-img{margin:32px 0;border-radius:12px;overflow:hidden}
.ip-img img{width:100%;height:auto;display:block;border-radius:12px;object-fit:cover;max-height:420px}
@media(max-width:600px){
  .ip-hero h1{font-size:1.6rem}
  .ip-cards{grid-template-columns:1fr 1fr}
  .ip-bonus-grid{grid-template-columns:1fr 1fr}
  .ip-pros-cons{grid-template-columns:1fr}
  .ip-strategy-cards{grid-template-columns:1fr}
  .ip-img img{max-height:260px}
}


[data-aos]{opacity:0;transition:opacity 0.6s ease,transform 0.6s ease}
[data-aos="fade-up"]{transform:translateY(30px)}
[data-aos="fade-in"]{transform:none}
[data-aos="slide-left"]{transform:translateX(-30px)}
[data-aos="slide-right"]{transform:translateX(30px)}
[data-aos].aos-visible{opacity:1;transform:none}
/* === CTA mobile fix === */
.hd9__cta {
  display: inline-block !important;
  background: var(--secondStyleColor) !important;
  color: var(--bodyBG) !important;
  padding: 10px 24px !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  border-radius: 8px;
  text-decoration: none !important;
  white-space: nowrap;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  box-shadow: 0 0 12px color-mix(in srgb, var(--secondStyleColor) 60%, transparent),
              0 0 24px color-mix(in srgb, var(--secondStyleColor) 30%, transparent);
  animation: ctaGlow 1.8s ease-in-out infinite;
  transition: transform 0.2s, box-shadow 0.2s;
}
.hd9__cta:hover {
  transform: scale(1.05);
  box-shadow: 0 0 18px color-mix(in srgb, var(--secondStyleColor) 80%, transparent),
              0 0 36px color-mix(in srgb, var(--secondStyleColor) 45%, transparent);
}
@keyframes ctaGlow {
  0%, 100% {
    box-shadow: 0 0 12px color-mix(in srgb, var(--secondStyleColor) 60%, transparent),
                0 0 24px color-mix(in srgb, var(--secondStyleColor) 30%, transparent);
  }
  50% {
    box-shadow: 0 0 20px color-mix(in srgb, var(--secondStyleColor) 75%, transparent),
                0 0 40px color-mix(in srgb, var(--secondStyleColor) 40%, transparent);
  }
}
