:root {
      --bg: #06060e;
      --bg-2: #0a0a18;
      --surface: rgba(20, 20, 40, 0.72);
      --surface-strong: #111126;
      --surface-soft: rgba(255, 255, 255, 0.055);
      --line: rgba(255, 255, 255, 0.12);
      --line-strong: rgba(255, 255, 255, 0.22);
      --text: #f8f8ff;
      --muted: #b8bbcf;
      --muted-2: #8d91a8;
      --violet: #9b6cff;
      --violet-2: #6e4aff;
      --cyan: #34d8ff;
      --pink: #ff4fd8;
      --green: #55e6ac;
      --warning: #ffcc66;
      --shadow: 0 24px 80px rgba(0, 0, 0, 0.45);
      --radius-xl: 32px;
      --radius-lg: 24px;
      --radius-md: 18px;
      --container: 1180px;
      --header-h: 78px;
    }

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

    html {
      scroll-behavior: smooth;
      scroll-padding-top: calc(var(--header-h) + 24px);
      background: var(--bg);
    }

    body {
      margin: 0;
      color: var(--text);
      background:
        radial-gradient(circle at 15% 8%, rgba(155, 108, 255, 0.18), transparent 30%),
        radial-gradient(circle at 82% 16%, rgba(52, 216, 255, 0.11), transparent 26%),
        radial-gradient(circle at 70% 72%, rgba(255, 79, 216, 0.08), transparent 30%),
        linear-gradient(180deg, #070711 0%, #05050c 52%, #090914 100%);
      font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
      line-height: 1.6;
      overflow-x: hidden;
    }

    body::before {
      content: "";
      position: fixed;
      inset: 0;
      pointer-events: none;
      opacity: 0.22;
      z-index: -1;
      background-image:
        linear-gradient(rgba(255,255,255,.022) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,.022) 1px, transparent 1px);
      background-size: 48px 48px;
      mask-image: linear-gradient(to bottom, black, transparent 86%);
    }

    img, svg, video { display: block; max-width: 100%; }
    button, input, select, textarea { font: inherit; }
    button, a { -webkit-tap-highlight-color: transparent; }
    a { color: inherit; text-decoration: none; }

    :focus-visible {
      outline: 3px solid rgba(52, 216, 255, 0.8);
      outline-offset: 4px;
      border-radius: 10px;
    }

    .container {
      width: min(var(--container), calc(100% - 40px));
      margin-inline: auto;
    }

    .skip-link {
      position: fixed;
      top: 10px;
      left: 10px;
      transform: translateY(-160%);
      background: white;
      color: black;
      padding: 10px 14px;
      z-index: 999;
      border-radius: 10px;
    }

    .skip-link:focus { transform: translateY(0); }

    .site-header {
      position: sticky;
      top: 0;
      z-index: 100;
      min-height: var(--header-h);
      display: flex;
      align-items: center;
      background: rgba(6, 6, 14, 0.76);
      border-bottom: 1px solid rgba(255,255,255,.08);
      backdrop-filter: blur(18px);
      -webkit-backdrop-filter: blur(18px);
    }

    .nav-wrap {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 24px;
      min-height: var(--header-h);
    }

    .brand {
      display: inline-flex;
      align-items: center;
      gap: 12px;
      min-width: max-content;
    }

    .brand-mark {
      width: 42px;
      height: 42px;
      position: relative;
      border-radius: 14px;
      background: linear-gradient(135deg, var(--violet), var(--cyan));
      box-shadow: 0 0 26px rgba(125, 90, 255, .4);
    }

    .brand-mark::before {
      content: "";
      position: absolute;
      inset: 10px 7px 11px;
      border-radius: 8px 8px 11px 11px;
      border: 3px solid #090912;
      border-top-width: 5px;
    }

    .brand-mark::after {
      content: "";
      position: absolute;
      width: 4px;
      height: 4px;
      border-radius: 50%;
      background: #090912;
      left: 14px;
      top: 20px;
      box-shadow: 10px 0 0 #090912;
    }

    .brand-copy { display: grid; line-height: 1.05; }
    .brand-copy strong { font-size: 1rem; letter-spacing: .08em; text-transform: uppercase; }
    .brand-copy small { color: var(--muted-2); margin-top: 5px; font-size: .73rem; letter-spacing: .04em; }

    .main-nav {
      display: flex;
      align-items: center;
      gap: 4px;
      margin-left: auto;
    }

    .main-nav a {
      color: var(--muted);
      font-size: .92rem;
      font-weight: 650;
      padding: 10px 12px;
      border-radius: 12px;
      transition: color .2s ease, background .2s ease;
    }

    .main-nav a:hover { color: white; background: rgba(255,255,255,.06); }

    .header-phone {
      display: inline-flex;
      align-items: center;
      gap: 9px;
      min-height: 44px;
      padding: 0 16px;
      border-radius: 14px;
      background: rgba(255,255,255,.07);
      border: 1px solid var(--line);
      font-size: .92rem;
      font-weight: 760;
    }

    .header-phone svg { width: 18px; color: var(--cyan); }

    .menu-toggle {
      display: none;
      border: 0;
      background: rgba(255,255,255,.07);
      color: white;
      width: 44px;
      height: 44px;
      border-radius: 13px;
      place-items: center;
      cursor: pointer;
    }

    .hero {
      position: relative;
      min-height: calc(100svh - var(--header-h));
      display: grid;
      align-items: center;
      padding: 72px 0 56px;
      overflow: hidden;
    }

    .hero::after {
      content: "";
      position: absolute;
      width: 580px;
      height: 580px;
      right: -210px;
      top: 60px;
      border-radius: 50%;
      border: 1px solid rgba(52, 216, 255, .12);
      box-shadow:
        0 0 0 90px rgba(52, 216, 255, .025),
        0 0 0 180px rgba(155, 108, 255, .018);
      pointer-events: none;
    }

    .hero-grid {
      display: grid;
      grid-template-columns: 1.1fr .9fr;
      gap: clamp(32px, 4vw, 58px);
      align-items: center;
    }

    .eyebrow {
      display: inline-flex;
      align-items: center;
      gap: 9px;
      width: fit-content;
      color: #ddd5ff;
      background: rgba(155,108,255,.1);
      border: 1px solid rgba(155,108,255,.28);
      border-radius: 999px;
      padding: 8px 12px;
      font-size: .78rem;
      font-weight: 800;
      letter-spacing: .1em;
      text-transform: uppercase;
    }

    .eyebrow-dot {
      width: 8px;
      height: 8px;
      border-radius: 50%;
      background: var(--cyan);
      box-shadow: 0 0 14px var(--cyan);
    }

    .hero h1 {
      margin: 24px 0 22px;
      max-width: 760px;
      font-size: clamp(3rem, 5.8vw, 5.45rem);
      line-height: .94;
      letter-spacing: -.065em;
      text-wrap: balance;
    }

    .gradient-text {
      color: transparent;
      background: linear-gradient(100deg, #fff 0%, #d8d0ff 34%, #68e3ff 68%, #ff87e7 100%);
      -webkit-background-clip: text;
      background-clip: text;
    }

    .hero-lead {
      max-width: 660px;
      margin: 0;
      color: var(--muted);
      font-size: clamp(1.05rem, 1.7vw, 1.25rem);
      line-height: 1.72;
    }

    .hero-actions {
      display: flex;
      flex-wrap: wrap;
      gap: 13px;
      margin-top: 34px;
    }

    .btn {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 10px;
      min-height: 52px;
      padding: 0 21px;
      border: 1px solid transparent;
      border-radius: 16px;
      font-weight: 800;
      line-height: 1;
      cursor: pointer;
      transition: transform .2s ease, box-shadow .2s ease, background .2s ease, border-color .2s ease;
    }

    .btn:hover { transform: translateY(-2px); }

    .btn-primary {
      color: #08080f;
      background: linear-gradient(105deg, #bf9cff, #4fe1ff);
      box-shadow: 0 16px 38px rgba(85, 190, 255, .18), 0 8px 30px rgba(155, 108, 255, .18);
    }

    .btn-primary:hover { box-shadow: 0 18px 46px rgba(85,190,255,.28), 0 10px 36px rgba(155,108,255,.25); }

    .btn-secondary {
      color: white;
      background: rgba(255,255,255,.055);
      border-color: var(--line);
    }

    .btn-secondary:hover { background: rgba(255,255,255,.095); border-color: var(--line-strong); }

    .btn svg { width: 18px; height: 18px; }

    .hero-points {
      display: flex;
      flex-wrap: wrap;
      gap: 10px 20px;
      margin: 30px 0 0;
      padding: 0;
      list-style: none;
      color: #d3d5e3;
      font-size: .92rem;
      font-weight: 650;
    }

    .hero-points li { display: inline-flex; align-items: center; gap: 8px; }
    .hero-points svg { width: 17px; color: var(--green); }

    .hero-visual {
      position: relative;
      min-height: 590px;
      display: grid;
      place-items: center;
    }

    .visual-glow {
      position: absolute;
      width: 76%;
      aspect-ratio: 1;
      border-radius: 50%;
      background:
        radial-gradient(circle at 38% 35%, rgba(52,216,255,.5), transparent 26%),
        radial-gradient(circle at 63% 60%, rgba(255,79,216,.35), transparent 32%),
        radial-gradient(circle at 50% 50%, rgba(155,108,255,.55), transparent 62%);
      filter: blur(24px);
      opacity: .66;
      animation: breathe 5.5s ease-in-out infinite;
    }

    .visual-ring {
      position: absolute;
      width: 450px;
      aspect-ratio: 1;
      border-radius: 50%;
      border: 1px solid rgba(255,255,255,.17);
      box-shadow: inset 0 0 70px rgba(155,108,255,.08);
      transform: rotateX(68deg) rotateZ(-14deg);
    }

    .visual-ring::before,
    .visual-ring::after {
      content: "";
      position: absolute;
      inset: 10%;
      border-radius: inherit;
      border: 1px dashed rgba(52,216,255,.25);
    }

    .visual-ring::after {
      inset: 24%;
      border-style: solid;
      border-color: rgba(255,79,216,.22);
    }

    .headset-wrap {
      position: relative;
      width: min(430px, 92%);
      aspect-ratio: 1.35;
      display: grid;
      place-items: center;
      transform: rotate(-4deg);
      filter: drop-shadow(0 38px 48px rgba(0,0,0,.48));
      animation: float 6s ease-in-out infinite;
    }

    .headset-band {
      position: absolute;
      width: 76%;
      height: 72%;
      border: 22px solid rgba(238,239,255,.85);
      border-bottom-color: transparent;
      border-radius: 50%;
      transform: translateY(-11%);
      opacity: .88;
    }

    .headset {
      position: relative;
      width: 82%;
      height: 55%;
      border-radius: 58px 58px 72px 72px;
      background:
        linear-gradient(160deg, rgba(255,255,255,.98), rgba(190,194,220,.76) 48%, rgba(92,96,129,.9));
      border: 1px solid rgba(255,255,255,.7);
      box-shadow:
        inset 0 2px 2px rgba(255,255,255,.8),
        inset 0 -25px 40px rgba(52,53,84,.35),
        0 24px 58px rgba(0,0,0,.38);
      overflow: hidden;
      z-index: 2;
    }

    .headset::before {
      content: "";
      position: absolute;
      inset: 17px 22px 26px;
      border-radius: 42px 42px 58px 58px;
      background:
        radial-gradient(circle at 24% 52%, rgba(72,225,255,.85) 0 3px, transparent 4px),
        radial-gradient(circle at 76% 52%, rgba(255,101,222,.85) 0 3px, transparent 4px),
        linear-gradient(145deg, #0e1022 0%, #1f2140 48%, #090a16 100%);
      box-shadow: inset 0 0 32px rgba(103, 83, 255, .45);
    }

    .headset::after {
      content: "";
      position: absolute;
      width: 34%;
      height: 6px;
      left: 33%;
      bottom: 11px;
      border-radius: 999px;
      background: rgba(8,9,18,.55);
    }

    .lens-glint {
      position: absolute;
      width: 35%;
      height: 70%;
      left: 29%;
      top: -8%;
      z-index: 4;
      transform: rotate(22deg);
      background: linear-gradient(90deg, transparent, rgba(255,255,255,.17), transparent);
      filter: blur(2px);
    }

    .floating-card {
      position: absolute;
      z-index: 6;
      display: grid;
      gap: 3px;
      min-width: 150px;
      padding: 15px 17px;
      border-radius: 18px;
      border: 1px solid rgba(255,255,255,.18);
      background: rgba(14,14,30,.68);
      box-shadow: 0 18px 44px rgba(0,0,0,.34);
      backdrop-filter: blur(12px);
    }

    .floating-card strong { font-size: .92rem; }
    .floating-card span { color: var(--muted-2); font-size: .76rem; }
    .card-one { top: auto; left: auto; bottom: 12%; right: -2%; animation: drift 6.2s ease-in-out infinite; }
    .card-two { bottom: 12%; right: -2%; animation: drift 7s ease-in-out infinite reverse; }

    .signal {
      display: inline-flex;
      gap: 4px;
      align-items: end;
      margin-bottom: 5px;
      height: 16px;
    }

    .signal i {
      width: 4px;
      border-radius: 999px;
      background: linear-gradient(var(--cyan), var(--violet));
    }

    .signal i:nth-child(1) { height: 6px; }
    .signal i:nth-child(2) { height: 10px; }
    .signal i:nth-child(3) { height: 14px; }

    .scroll-cue {
      position: absolute;
      left: 50%;
      bottom: 20px;
      transform: translateX(-50%);
      color: var(--muted-2);
      display: grid;
      place-items: center;
      gap: 6px;
      font-size: .72rem;
      letter-spacing: .1em;
      text-transform: uppercase;
    }

    .scroll-cue i {
      width: 1px;
      height: 34px;
      background: linear-gradient(var(--cyan), transparent);
      animation: scrollline 1.8s ease-in-out infinite;
    }

    section { position: relative; padding: 108px 0; }

    .section-kicker {
      margin: 0 0 14px;
      color: var(--cyan);
      font-size: .79rem;
      font-weight: 850;
      letter-spacing: .13em;
      text-transform: uppercase;
    }

    .section-title {
      margin: 0;
      max-width: 760px;
      font-size: clamp(2.15rem, 4.2vw, 4.4rem);
      line-height: 1.04;
      letter-spacing: -.045em;
      text-wrap: balance;
    }

    .section-lead {
      max-width: 700px;
      color: var(--muted);
      font-size: 1.08rem;
      margin: 20px 0 0;
    }

    .intro-strip {
      padding-top: 46px;
      padding-bottom: 46px;
      border-block: 1px solid rgba(255,255,255,.075);
      background: rgba(255,255,255,.018);
    }

    .intro-grid {
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      gap: 18px;
    }

    .intro-item {
      display: flex;
      align-items: center;
      gap: 16px;
      min-height: 88px;
      padding: 18px 20px;
      border-radius: 20px;
      background: linear-gradient(180deg, rgba(255,255,255,.055), rgba(255,255,255,.038));
      border: 1px solid rgba(255,255,255,.12);
      box-shadow: 0 14px 36px rgba(0,0,0,.14);
      backdrop-filter: blur(8px);
    }

    .icon-box {
      flex: 0 0 auto;
      width: 42px;
      height: 42px;
      display: grid;
      place-items: center;
      border-radius: 13px;
      color: var(--cyan);
      background: rgba(52,216,255,.08);
      border: 1px solid rgba(52,216,255,.18);
    }

    .intro-item .icon-box {
      width: 58px;
      height: 58px;
      border-radius: 18px;
      color: #e9f8ff;
      background: linear-gradient(180deg, rgba(82,140,255,.18), rgba(52,216,255,.10));
      border: 1px solid rgba(97,188,255,.26);
      box-shadow: inset 0 1px 0 rgba(255,255,255,.06), 0 10px 24px rgba(33,79,168,.16);
    }

    .icon-box svg { width: 21px; }
    .intro-item .icon-box svg { width: 28px; height: 28px; }
    .intro-item .icon-box img {
      width: 100%;
      height: 100%;
      display: block;
      object-fit: contain;
      object-position: center center;
      margin: auto;
      border-radius: inherit;
    }
    .intro-item strong { display: block; font-size: 1rem; color: #f3f5ff; }
    .intro-item span { display: block; color: var(--muted-2); font-size: .84rem; margin-top: 3px; }

    .audience-header {
      display: flex;
      align-items: end;
      justify-content: space-between;
      gap: 32px;
      margin-bottom: 46px;
    }

    .audience-grid {
      display: grid;
      grid-template-columns: repeat(12, 1fr);
      gap: 20px;
    }

    .audience-card {
      position: relative;
      min-height: 252px;
      display: flex;
      flex-direction: column;
      justify-content: end;
      overflow: hidden;
      border-radius: var(--radius-lg);
      border: 1px solid rgba(255,255,255,.12);
      background: linear-gradient(160deg, rgba(255,255,255,.07), rgba(255,255,255,.025));
      box-shadow: 0 18px 50px rgba(0,0,0,.22);
      transition: transform .25s ease, border-color .25s ease, box-shadow .25s ease;
    }

    .audience-card:hover {
      transform: translateY(-6px);
      border-color: rgba(255,255,255,.25);
      box-shadow: 0 26px 70px rgba(0,0,0,.32);
    }

    .audience-card:nth-child(1), .audience-card:nth-child(2) { grid-column: span 6; }
    .audience-card:nth-child(n+3) { grid-column: span 4; }

    .audience-art {
      position: absolute;
      inset: 0;
      overflow: hidden;
    }

    .audience-art::before,
    .audience-art::after {
      content: "";
      position: absolute;
      border-radius: 50%;
      filter: blur(2px);
    }

    .audience-art::before {
      width: 270px;
      height: 270px;
      right: -72px;
      top: -86px;
      background: radial-gradient(circle, rgba(155,108,255,.58), rgba(155,108,255,.02) 68%);
    }

    .audience-art::after {
      width: 170px;
      height: 170px;
      left: -45px;
      bottom: 38px;
      background: radial-gradient(circle, rgba(52,216,255,.34), transparent 68%);
    }

    .audience-card:nth-child(2) .audience-art::before { background: radial-gradient(circle, rgba(52,216,255,.52), transparent 68%); }
    .audience-card:nth-child(3) .audience-art::before { background: radial-gradient(circle, rgba(255,79,216,.48), transparent 68%); }
    .audience-card:nth-child(4) .audience-art::before { background: radial-gradient(circle, rgba(85,230,172,.36), transparent 68%); }
    .audience-card:nth-child(5) .audience-art::before { background: radial-gradient(circle, rgba(255,196,82,.38), transparent 68%); }

    .audience-symbol {
      position: absolute;
      top: 24px;
      left: 24px;
      width: 58px;
      height: 58px;
      display: grid;
      place-items: center;
      border-radius: 18px;
      background: rgba(8,8,19,.72);
      border: 1px solid rgba(255,255,255,.16);
      backdrop-filter: blur(10px);
      color: white;
      z-index: 2;
      box-shadow: 0 12px 24px rgba(0,0,0,.18);
    }

    .audience-symbol svg { width: 27px; height: 27px; }
    .audience-symbol img { width: 100%; height: 100%; display: block; object-fit: contain; border-radius: inherit; }

    .audience-copy {
      position: relative;
      z-index: 3;
      padding: 24px;
      background: linear-gradient(to top, rgba(6,6,14,.98), rgba(6,6,14,.76) 50%, transparent);
    }

    .audience-copy h3 { margin: 0 0 7px; font-size: 1.24rem; letter-spacing: -.02em; }
    .audience-copy p { margin: 0; color: var(--muted); font-size: .92rem; }

    .how-section { overflow: hidden; }

    .how-layout {
      display: grid;
      grid-template-columns: .82fr 1.18fr;
      gap: 70px;
      align-items: start;
    }

    .sticky-copy { position: sticky; top: calc(var(--header-h) + 36px); }

    .step-list { display: grid; gap: 16px; }

    .step-card {
      display: grid;
      grid-template-columns: 60px 1fr;
      gap: 18px;
      align-items: start;
      padding: 24px;
      border-radius: 22px;
      border: 1px solid rgba(255,255,255,.1);
      background: rgba(255,255,255,.035);
      transition: background .2s ease, border-color .2s ease, transform .2s ease;
    }

    .step-card:hover { background: rgba(255,255,255,.055); border-color: rgba(255,255,255,.18); transform: translateX(5px); }

    .step-number {
      width: 54px;
      height: 54px;
      display: grid;
      place-items: center;
      border-radius: 17px;
      font-size: 1.05rem;
      font-weight: 900;
      color: #070711;
      background: linear-gradient(135deg, #c4a7ff, #50e1ff);
      box-shadow: 0 12px 28px rgba(100,140,255,.18);
    }

    .step-card h3 { margin: 1px 0 7px; font-size: 1.22rem; }
    .step-card p { margin: 0; color: var(--muted); }

    .video-section {
      background:
        linear-gradient(180deg, rgba(255,255,255,.018), transparent 14%, transparent 86%, rgba(255,255,255,.018));
      border-block: 1px solid rgba(255,255,255,.06);
    }

    .video-head {
      display: flex;
      justify-content: space-between;
      align-items: end;
      gap: 32px;
      margin-bottom: 42px;
    }

    .video-note {
      max-width: 340px;
      padding: 14px 16px;
      border-radius: 15px;
      color: #d7d9e7;
      background: rgba(255,255,255,.045);
      border: 1px solid rgba(255,255,255,.1);
      font-size: .84rem;
    }

    .video-grid {
      display: grid;
      grid-template-columns: 1.25fr .75fr;
      grid-template-rows: repeat(2, minmax(220px, 1fr));
      gap: 20px;
    }

    .video-card {
      position: relative;
      min-height: 280px;
      overflow: hidden;
      border-radius: 26px;
      border: 1px solid rgba(255,255,255,.13);
      background: #0e0e20;
      cursor: pointer;
      isolation: isolate;
      color: white;
      box-shadow: 0 24px 72px rgba(0,0,0,.28);
    }

    .video-card:first-child { grid-row: 1 / 3; min-height: 580px; }

    .video-bg {
      position: absolute;
      inset: 0;
      background:
        radial-gradient(circle at 20% 20%, rgba(52,216,255,.38), transparent 30%),
        radial-gradient(circle at 74% 58%, rgba(155,108,255,.48), transparent 42%),
        linear-gradient(140deg, #171633, #090a18 72%);
      transition: transform .7s ease, filter .4s ease;
    }

    .video-card:nth-child(2) .video-bg {
      background:
        radial-gradient(circle at 72% 20%, rgba(255,79,216,.42), transparent 35%),
        radial-gradient(circle at 20% 82%, rgba(155,108,255,.44), transparent 42%),
        linear-gradient(145deg, #23142c, #0b0b19 74%);
    }

    .video-card:nth-child(3) .video-bg {
      background:
        radial-gradient(circle at 50% 16%, rgba(85,230,172,.31), transparent 35%),
        radial-gradient(circle at 85% 90%, rgba(52,216,255,.32), transparent 42%),
        linear-gradient(145deg, #102824, #0b0b19 74%);
    }

    .video-gridlines {
      position: absolute;
      inset: 0;
      opacity: .34;
      background-image:
        linear-gradient(rgba(255,255,255,.06) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,.06) 1px, transparent 1px);
      background-size: 42px 42px;
      transform: perspective(500px) rotateX(58deg) scale(1.5) translateY(20%);
      transform-origin: bottom;
    }

    .video-silhouette {
      position: absolute;
      width: 150px;
      height: 250px;
      left: 50%;
      top: 48%;
      transform: translate(-50%, -50%);
      border-radius: 48% 48% 42% 42%;
      background: linear-gradient(90deg, rgba(1,1,8,.92), rgba(20,20,35,.98));
      box-shadow: 0 0 50px rgba(52,216,255,.14);
    }

    .video-silhouette::before {
      content: "";
      position: absolute;
      width: 68px;
      height: 68px;
      border-radius: 50%;
      top: -45px;
      left: 41px;
      background: #10101f;
      box-shadow: inset 0 -15px 24px rgba(0,0,0,.5);
    }

    .video-silhouette::after {
      content: "";
      position: absolute;
      width: 90px;
      height: 42px;
      top: -23px;
      left: 30px;
      border-radius: 18px 18px 26px 26px;
      background: linear-gradient(145deg, #dadcf0, #747994);
      box-shadow: inset 0 -12px 18px rgba(20,20,40,.35), 0 0 26px rgba(155,108,255,.35);
    }

    .video-card:not(:first-child) .video-silhouette { width: 92px; height: 160px; }
    .video-card:not(:first-child) .video-silhouette::before { width: 46px; height: 46px; left: 23px; top: -30px; }
    .video-card:not(:first-child) .video-silhouette::after { width: 61px; height: 28px; left: 15px; top: -14px; border-radius: 12px 12px 18px 18px; }

    .video-card:hover .video-bg { transform: scale(1.045); filter: saturate(1.16); }

    .play-button {
      position: absolute;
      z-index: 4;
      left: 50%;
      top: 50%;
      transform: translate(-50%, -50%);
      width: 74px;
      height: 74px;
      display: grid;
      place-items: center;
      border: 1px solid rgba(255,255,255,.32);
      border-radius: 50%;
      color: #090912;
      background: rgba(255,255,255,.9);
      box-shadow: 0 18px 40px rgba(0,0,0,.28), 0 0 0 10px rgba(255,255,255,.07);
      transition: transform .2s ease, box-shadow .2s ease;
    }

    .video-card:hover .play-button { transform: translate(-50%, -50%) scale(1.08); box-shadow: 0 20px 48px rgba(0,0,0,.34), 0 0 0 13px rgba(255,255,255,.08); }
    .play-button svg { width: 25px; transform: translateX(2px); }
    .video-card:not(:first-child) .play-button { width: 58px; height: 58px; }

    .video-caption {
      position: absolute;
      z-index: 4;
      inset: auto 0 0;
      padding: 30px;
      background: linear-gradient(to top, rgba(6,6,14,.98), rgba(6,6,14,.72), transparent);
    }

    .video-caption span {
      display: block;
      margin-bottom: 6px;
      color: var(--cyan);
      font-size: .73rem;
      font-weight: 850;
      letter-spacing: .1em;
      text-transform: uppercase;
    }

    .video-caption strong { display: block; font-size: 1.32rem; line-height: 1.25; }
    .video-card:not(:first-child) .video-caption { padding: 22px; }
    .video-card:not(:first-child) .video-caption strong { font-size: 1.05rem; }

    .gear-layout {
      display: grid;
      grid-template-columns: 1fr .92fr;
      gap: 64px;
      align-items: center;
    }

    .gear-list {
      display: grid;
      grid-template-columns: repeat(2, 1fr);
      gap: 14px;
      margin-top: 32px;
    }

    .gear-item {
      display: grid;
      grid-template-columns: 44px 1fr;
      gap: 13px;
      align-items: center;
      min-height: 82px;
      padding: 15px;
      border-radius: 18px;
      background: rgba(255,255,255,.037);
      border: 1px solid rgba(255,255,255,.09);
    }

    .gear-item .icon-box { width: 44px; height: 44px; }
    .gear-item strong { font-size: .91rem; }
    .gear-item small { display: block; color: var(--muted-2); margin-top: 2px; }

    .gear-visual {
      position: relative;
      min-height: 540px;
      display: grid;
      place-items: center;
      border-radius: var(--radius-xl);
      overflow: hidden;
      border: 1px solid rgba(255,255,255,.11);
      background:
        radial-gradient(circle at 50% 30%, rgba(155,108,255,.25), transparent 35%),
        linear-gradient(150deg, rgba(255,255,255,.06), rgba(255,255,255,.018));
      box-shadow: var(--shadow);
    }

    .gear-visual::before {
      content: "";
      position: absolute;
      width: 390px;
      height: 390px;
      border-radius: 50%;
      border: 1px solid rgba(52,216,255,.16);
      box-shadow: 0 0 0 50px rgba(52,216,255,.025), 0 0 0 105px rgba(155,108,255,.018);
    }

    .station {
      position: relative;
      width: 78%;
      height: 340px;
      z-index: 2;
    }

    .screen {
      position: absolute;
      width: 66%;
      height: 54%;
      right: 0;
      top: 8%;
      border: 8px solid #323344;
      border-radius: 14px;
      background:
        radial-gradient(circle at 35% 30%, rgba(52,216,255,.5), transparent 30%),
        radial-gradient(circle at 68% 62%, rgba(255,79,216,.4), transparent 33%),
        linear-gradient(145deg, #12132a, #060711);
      box-shadow: 0 24px 50px rgba(0,0,0,.44), inset 0 0 35px rgba(155,108,255,.25);
    }

    .screen::before {
      content: "LIVE";
      position: absolute;
      top: 12px;
      left: 12px;
      padding: 4px 7px;
      border-radius: 6px;
      color: white;
      background: #df315d;
      font-size: .57rem;
      font-weight: 900;
      letter-spacing: .08em;
    }

    .screen::after {
      content: "";
      position: absolute;
      width: 52px;
      height: 52px;
      left: 50%;
      top: 50%;
      transform: translate(-50%, -50%);
      border-radius: 50%;
      border: 9px solid rgba(255,255,255,.2);
      border-top-color: white;
      animation: spin 3.5s linear infinite;
    }

    .screen-stand {
      position: absolute;
      width: 9px;
      height: 44%;
      right: 31%;
      top: 60%;
      background: linear-gradient(#424457, #181821);
      border-radius: 999px;
    }

    .screen-stand::after {
      content: "";
      position: absolute;
      width: 115px;
      height: 8px;
      bottom: 0;
      left: 50%;
      transform: translateX(-50%);
      border-radius: 999px;
      background: #292a36;
    }

    .mini-headset {
      position: absolute;
      width: 48%;
      height: 34%;
      left: 0;
      bottom: 8%;
      border-radius: 28px 28px 38px 38px;
      background: linear-gradient(155deg, #f1f2fb, #747991);
      box-shadow: 0 22px 42px rgba(0,0,0,.42), inset 0 -18px 25px rgba(50,52,74,.3);
      transform: rotate(-8deg);
    }

    .mini-headset::before {
      content: "";
      position: absolute;
      inset: 15px 17px 22px;
      border-radius: 20px 20px 28px 28px;
      background: linear-gradient(145deg, #0a0b18, #1d2143);
      box-shadow: inset 0 0 22px rgba(155,108,255,.45);
    }

    .mini-headset::after {
      content: "";
      position: absolute;
      width: 70%;
      height: 120%;
      left: 16%;
      top: -55%;
      border: 14px solid rgba(230,232,245,.82);
      border-bottom-color: transparent;
      border-radius: 50%;
      z-index: -1;
    }

    .game-chips {
      display: flex;
      flex-wrap: wrap;
      gap: 10px;
      margin-top: 28px;
    }

    .game-chip {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      padding: 9px 12px;
      border-radius: 999px;
      color: #d9dbea;
      background: rgba(255,255,255,.045);
      border: 1px solid rgba(255,255,255,.09);
      font-size: .86rem;
      font-weight: 650;
    }

    .game-chip i { width: 7px; height: 7px; border-radius: 50%; background: var(--violet); box-shadow: 0 0 10px var(--violet); }

    .packages-section {
      background:
        radial-gradient(circle at 20% 0, rgba(155,108,255,.13), transparent 30%),
        radial-gradient(circle at 85% 70%, rgba(52,216,255,.08), transparent 30%);
    }

    .packages-head { text-align: center; display: grid; justify-items: center; margin-bottom: 30px; }
    .packages-head .section-lead { text-align: center; }

    .package-includes {
      max-width: 980px;
      margin: 0 auto 24px;
      padding: 24px 26px;
      border-radius: 24px;
      border: 1px solid rgba(255,255,255,.11);
      background: linear-gradient(145deg, rgba(155,108,255,.075), rgba(52,216,255,.035));
      box-shadow: 0 20px 58px rgba(0,0,0,.18);
    }

    .package-includes h3 {
      margin: 0;
      text-align: center;
      font-size: 1.15rem;
      letter-spacing: -.015em;
    }

    .package-includes-list {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 13px 24px;
      margin: 20px 0 0;
      padding: 0;
      list-style: none;
    }

    .package-includes-list li {
      display: grid;
      grid-template-columns: 22px 1fr;
      gap: 10px;
      align-items: start;
      color: #e4e5ef;
      font-size: .9rem;
      line-height: 1.48;
    }

    .package-includes-list li:last-child { grid-column: 1 / -1; justify-self: center; }
    .package-includes-list svg { width: 19px; color: var(--green); margin-top: 3px; }

    .package-grid.compact .package-card { min-height: 400px; }

    .package-duration {
      margin: 28px 0 24px;
      padding: 22px 0;
      border-block: 1px solid rgba(255,255,255,.09);
      color: #f0f1fa;
      font-size: 1.08rem;
      font-weight: 800;
      text-align: center;
    }

    .package-grid {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 24px;
      max-width: 980px;
      margin: 0 auto;
    }

    .package-card {
      position: relative;
      display: flex;
      flex-direction: column;
      min-height: 610px;
      padding: clamp(26px, 4vw, 38px);
      border-radius: 30px;
      border: 1px solid rgba(255,255,255,.14);
      background: linear-gradient(155deg, rgba(255,255,255,.075), rgba(255,255,255,.025));
      box-shadow: 0 26px 80px rgba(0,0,0,.28);
      overflow: hidden;
    }

    .package-card.featured {
      border-color: rgba(84,216,255,.32);
      box-shadow: 0 30px 90px rgba(20,100,150,.18), 0 24px 80px rgba(0,0,0,.32);
    }

    .package-card::before {
      content: "";
      position: absolute;
      width: 280px;
      height: 280px;
      right: -90px;
      top: -110px;
      border-radius: 50%;
      background: radial-gradient(circle, rgba(155,108,255,.26), transparent 68%);
      pointer-events: none;
    }

    .package-card.featured::before { background: radial-gradient(circle, rgba(52,216,255,.25), transparent 68%); }

    .package-label {
      position: relative;
      z-index: 1;
      width: fit-content;
      padding: 7px 10px;
      border-radius: 999px;
      color: #dcd3ff;
      background: rgba(155,108,255,.1);
      border: 1px solid rgba(155,108,255,.24);
      font-size: .73rem;
      font-weight: 850;
      letter-spacing: .08em;
      text-transform: uppercase;
    }

    .featured .package-label {
      color: #d8f8ff;
      background: rgba(52,216,255,.09);
      border-color: rgba(52,216,255,.24);
    }

    .package-card h3 { position: relative; z-index: 1; margin: 24px 0 8px; font-size: clamp(1.7rem, 3vw, 2.35rem); letter-spacing: -.035em; }
    .package-audience { color: var(--muted); margin: 0; min-height: 52px; }

    .package-hero-line {
      display: flex;
      align-items: end;
      gap: 13px;
      margin: 28px 0 24px;
      padding: 22px 0;
      border-block: 1px solid rgba(255,255,255,.09);
    }

    .package-count {
      font-size: clamp(3rem, 6vw, 4.6rem);
      font-weight: 900;
      letter-spacing: -.07em;
      line-height: .8;
      color: transparent;
      background: linear-gradient(120deg, #fff, #ad91ff 60%, #4fe1ff);
      -webkit-background-clip: text;
      background-clip: text;
    }

    .package-unit { color: #d1d3e1; font-weight: 750; line-height: 1.2; padding-bottom: 2px; }
    .package-unit small { display: block; color: var(--muted-2); font-weight: 600; margin-top: 4px; }

    .package-list { display: grid; gap: 13px; padding: 0; margin: 0 0 30px; list-style: none; }
    .package-list li { display: grid; grid-template-columns: 22px 1fr; gap: 10px; align-items: start; color: #e4e5ef; }
    .package-list svg { width: 19px; color: var(--green); margin-top: 3px; }

    .price-placeholder {
      margin-top: auto;
      padding: 16px;
      border-radius: 16px;
      text-align: center;
      color: #ece8ff;
      background: rgba(255,255,255,.045);
      border: 1px dashed rgba(255,255,255,.18);
      font-weight: 800;
    }

    .price-placeholder small { display: block; color: var(--muted-2); font-weight: 600; margin-top: 3px; }
    .package-card .btn { width: 100%; margin-top: 14px; }

    .custom-banner {
      max-width: 980px;
      margin: 22px auto 0;
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 22px;
      padding: 22px 24px;
      border-radius: 20px;
      background: rgba(255,255,255,.038);
      border: 1px solid rgba(255,255,255,.09);
    }

    .custom-banner strong { display: block; font-size: 1.05rem; }
    .custom-banner span { color: var(--muted); font-size: .9rem; }

    .order-section { overflow: hidden; }

    .order-layout {
      display: grid;
      grid-template-columns: .72fr 1.28fr;
      gap: 58px;
      align-items: start;
    }

    .order-info {
      position: sticky;
      top: calc(var(--header-h) + 36px);
    }

    .contact-card {
      margin-top: 32px;
      padding: 24px;
      border-radius: 22px;
      border: 1px solid rgba(255,255,255,.12);
      background: linear-gradient(145deg, rgba(155,108,255,.09), rgba(52,216,255,.04));
    }

    .contact-card small { display: block; color: var(--muted-2); margin-bottom: 6px; }
    .contact-card a { display: inline-flex; align-items: center; gap: 10px; font-size: clamp(1.35rem, 3vw, 2rem); font-weight: 900; letter-spacing: -.03em; }
    .contact-card svg { width: 24px; color: var(--cyan); }
    .contact-card p { color: var(--muted); margin: 12px 0 0; font-size: .9rem; }

    .order-form {
      position: relative;
      padding: clamp(24px, 4vw, 40px);
      border-radius: 30px;
      background: rgba(16,16,34,.78);
      border: 1px solid rgba(255,255,255,.13);
      box-shadow: var(--shadow);
      backdrop-filter: blur(14px);
    }

    .form-title { margin: 0 0 6px; font-size: 1.55rem; }
    .form-intro { margin: 0 0 28px; color: var(--muted); }

    .form-grid {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 18px;
    }

    .field { display: grid; gap: 8px; }
    .field.full { grid-column: 1 / -1; }
    .field label { color: #e6e7f1; font-size: .87rem; font-weight: 760; }
    .field label span { color: var(--cyan); }

    .field input,
    .field select,
    .field textarea {
      width: 100%;
      color: white;
      background: rgba(255,255,255,.05);
      border: 1px solid rgba(255,255,255,.12);
      border-radius: 14px;
      padding: 13px 14px;
      min-height: 50px;
      transition: background .2s ease, border-color .2s ease, box-shadow .2s ease;
    }

    .field textarea { min-height: 124px; resize: vertical; }
    .field input::placeholder, .field textarea::placeholder { color: #74788e; }


    /* Várható résztvevőszám – egyedi fel/le vezérlő */
    .number-stepper {
      position: relative;
    }

    .number-stepper input[type="number"] {
      padding-right: 50px;
      appearance: textfield;
      -moz-appearance: textfield;
    }

    .number-stepper input[type="number"]::-webkit-inner-spin-button,
    .number-stepper input[type="number"]::-webkit-outer-spin-button {
      margin: 0;
      -webkit-appearance: none;
      appearance: none;
    }

    .number-stepper-controls {
      position: absolute;
      top: 5px;
      right: 6px;
      bottom: 5px;
      width: 38px;
      display: grid;
      grid-template-rows: 1fr 1fr;
      overflow: hidden;
      border: 1px solid rgba(101,210,255,.22);
      border-radius: 10px;
      background: #151627;
      box-shadow: inset 0 1px 0 rgba(255,255,255,.035);
    }

    .number-stepper-btn {
      display: grid;
      place-items: center;
      min-width: 0;
      min-height: 0;
      padding: 0;
      color: #f7f8ff;
      background: transparent;
      border: 0;
      cursor: pointer;
      transition: color .18s ease, background .18s ease;
    }

    .number-stepper-btn + .number-stepper-btn {
      border-top: 1px solid rgba(255,255,255,.065);
    }

    .number-stepper-btn:hover {
      color: var(--cyan);
      background: linear-gradient(90deg, rgba(139,92,246,.22), rgba(52,216,255,.11));
    }

    .number-stepper-btn:focus-visible {
      position: relative;
      z-index: 1;
      outline: 1px solid rgba(52,216,255,.72);
      outline-offset: -1px;
      color: #ffffff;
      background: rgba(52,216,255,.10);
    }

    .number-stepper-btn svg {
      width: 15px;
      height: 15px;
    }

    /* Dátum- és időválasztó – a lenyíló listákkal azonos vizuális nyelven */
    .custom-picker-wrap {
      position: relative;
    }

    .field .custom-picker-input {
      width: 100%;
      min-height: 50px;
      padding: 13px 46px 13px 14px;
      color: #f7f8ff;
      background: #1b1c31;
      border: 1px solid rgba(255,255,255,.12);
      border-radius: 14px;
      cursor: pointer;
      caret-color: transparent;
      transition: background .2s ease, border-color .2s ease, box-shadow .2s ease;
    }

    .field .custom-picker-input::placeholder { color: #9aa1b8; opacity: 1; }
    .field .custom-picker-input:focus {
      outline: none;
      border-color: rgba(52,216,255,.62);
      background: rgba(255,255,255,.075);
      box-shadow: 0 0 0 4px rgba(52,216,255,.08);
    }

    .custom-picker-icon {
      position: absolute;
      top: 50%;
      right: 14px;
      width: 21px;
      height: 21px;
      display: grid;
      place-items: center;
      color: #ffffff;
      transform: translateY(-50%);
      pointer-events: none;
      opacity: .95;
    }

    .custom-picker-icon svg { width: 20px; height: 20px; display: block; }

    .custom-picker-panel {
      position: absolute;
      top: calc(100% + 7px);
      left: 0;
      z-index: 80;
      width: min(360px, calc(100vw - 44px));
      color: #f7f8ff;
      background: #151627;
      border: 1px solid rgba(101,210,255,.28);
      border-radius: 14px;
      box-shadow: 0 18px 48px rgba(0,0,0,.42);
      overflow: hidden;
    }

    .custom-picker-panel[hidden] { display: none; }

    .picker-head {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 12px;
      padding: 13px 14px;
      border-bottom: 1px solid rgba(255,255,255,.065);
    }

    .picker-head strong { font-size: .92rem; letter-spacing: -.01em; }
    .picker-head-actions { display: flex; gap: 6px; }

    .picker-nav {
      width: 34px;
      height: 34px;
      display: grid;
      place-items: center;
      padding: 0;
      color: #dfe4f5;
      background: rgba(255,255,255,.045);
      border: 1px solid rgba(255,255,255,.08);
      border-radius: 10px;
      cursor: pointer;
    }

    .picker-nav:hover { background: #22243d; border-color: rgba(255,255,255,.14); }
    .picker-nav svg { width: 17px; height: 17px; }

    .calendar-weekdays,
    .calendar-grid {
      display: grid;
      grid-template-columns: repeat(7, 1fr);
    }

    .calendar-weekdays {
      padding: 10px 10px 4px;
      color: #8f96ad;
      font-size: .7rem;
      font-weight: 760;
      text-align: center;
    }

    .calendar-grid { padding: 5px 10px 10px; gap: 3px; }

    .calendar-day {
      aspect-ratio: 1;
      display: grid;
      place-items: center;
      min-width: 0;
      padding: 0;
      color: #e9ebf6;
      background: transparent;
      border: 1px solid transparent;
      border-radius: 10px;
      font-size: .82rem;
      cursor: pointer;
    }

    .calendar-day:hover:not(:disabled) { background: #22243d; }
    .calendar-day.is-outside { color: #626981; }
    .calendar-day:disabled { color: #4d5368; cursor: default; opacity: .62; }
    .calendar-day.is-today { border-color: rgba(52,216,255,.34); color: #b8f1ff; }
    .calendar-day.is-selected {
      color: #ffffff;
      background: linear-gradient(90deg, rgba(139,92,246,.42), rgba(52,216,255,.24));
      border-color: rgba(101,210,255,.34);
    }

    .picker-foot {
      display: flex;
      justify-content: space-between;
      gap: 8px;
      padding: 10px 12px 12px;
      border-top: 1px solid rgba(255,255,255,.055);
    }

    .picker-link {
      padding: 7px 9px;
      color: var(--cyan);
      background: transparent;
      border: 0;
      border-radius: 8px;
      font-weight: 720;
      cursor: pointer;
    }

    .picker-link:hover { background: rgba(52,216,255,.08); }

    .time-picker-body {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 10px;
      padding: 12px;
    }

    .time-column {
      min-width: 0;
      overflow: hidden;
      border: 1px solid rgba(255,255,255,.07);
      border-radius: 11px;
      background: rgba(255,255,255,.018);
    }

    .time-column-title {
      padding: 9px 10px;
      color: #9da4ba;
      border-bottom: 1px solid rgba(255,255,255,.055);
      font-size: .7rem;
      font-weight: 760;
      text-transform: uppercase;
      letter-spacing: .06em;
    }

    .time-options {
      max-height: 220px;
      overflow-y: auto;
      scrollbar-width: thin;
      scrollbar-color: rgba(101,210,255,.35) transparent;
    }

    .time-option {
      width: 100%;
      min-height: 39px;
      padding: 8px 10px;
      color: #e9ebf6;
      background: transparent;
      border: 0;
      border-bottom: 1px solid rgba(255,255,255,.045);
      text-align: center;
      cursor: pointer;
    }

    .time-option:last-child { border-bottom: 0; }
    .time-option:hover { background: #22243d; }
    .time-option.is-selected {
      color: #ffffff;
      background: linear-gradient(90deg, rgba(139,92,246,.24), rgba(52,216,255,.12));
    }

    @media (max-width: 580px) {
      .custom-picker-panel {
        left: 0;
        right: auto;
        width: min(340px, calc(100vw - 42px));
      }
    }
    .field select {
      color-scheme: dark;
      color: #f7f8ff;
      background-color: #1b1c31;
      background-image: url("../images/ui/select-arrow.svg");
      background-repeat: no-repeat;
      background-position: right 14px center;
      background-size: 18px;
      padding-right: 46px;
      cursor: pointer;
      appearance: none;
      -webkit-appearance: none;
    }

    .field select option {
      color: #f7f8ff;
      background: #17182b;
      padding: 12px 14px;
    }

    .field select option[value=""] { color: #9aa1b8; }
    .field select option:checked { background: #292a48; color: #ffffff; }

    @supports (appearance: base-select) {
      .field select,
      .field select::picker(select) {
        appearance: base-select;
      }

      .field select {
        background-image: none;
        padding-right: 14px;
      }

      .field select::picker-icon {
        color: #bfc6de;
        transition: transform .2s ease;
      }

      .field select:open::picker-icon { transform: rotate(180deg); }

      .field select::picker(select) {
        margin-top: 7px;
        color: #f7f8ff;
        background: #151627;
        border: 1px solid rgba(101,210,255,.28);
        border-radius: 14px;
        box-shadow: 0 18px 48px rgba(0,0,0,.42);
        overflow: hidden;
      }

      .field select option {
        min-height: 44px;
        padding: 11px 14px;
        color: #e9ebf6;
        background: #151627;
        border-bottom: 1px solid rgba(255,255,255,.055);
        cursor: pointer;
      }

      .field select option:last-child { border-bottom: 0; }
      .field select option:hover { background: #22243d; }
      .field select option:checked {
        color: #ffffff;
        background: linear-gradient(90deg, rgba(139,92,246,.24), rgba(52,216,255,.12));
      }

      .field select option::checkmark { color: var(--cyan); }
    }

    .field input:focus,
    .field select:focus,
    .field textarea:focus {
      outline: none;
      border-color: rgba(52,216,255,.62);
      background: rgba(255,255,255,.075);
      box-shadow: 0 0 0 4px rgba(52,216,255,.08);
    }

    .checkbox {
      grid-column: 1 / -1;
      display: grid;
      grid-template-columns: 22px 1fr;
      gap: 10px;
      align-items: start;
      color: var(--muted);
      font-size: .84rem;
      margin-top: 2px;
    }

    .checkbox input { width: 18px; height: 18px; margin-top: 2px; accent-color: var(--violet); }
    .checkbox a { color: #dcd4ff; text-decoration: underline; text-underline-offset: 3px; }

    .form-actions {
      grid-column: 1 / -1;
      display: flex;
      align-items: center;
      gap: 14px;
      margin-top: 6px;
    }

    .form-actions .btn { flex: 1; }
    .secure-note { display: flex; align-items: center; gap: 7px; color: var(--muted-2); font-size: .77rem; }
    .secure-note svg { width: 16px; color: var(--green); }

    .form-status {
      grid-column: 1 / -1;
      margin: 0;
      padding: 12px 14px;
      border-radius: 12px;
      color: #c8cad8;
      background: rgba(255,204,102,.055);
      border: 1px solid rgba(255,204,102,.15);
      font-size: .78rem;
    }

    .form-status[hidden] { display: none; }
    .form-status.is-error { color: #ffd7df; border-color: rgba(255,107,138,.42); background: rgba(255,107,138,.1); }
    .form-status.is-success { color: #d8fff0; border-color: rgba(85,231,174,.38); background: rgba(85,231,174,.09); }

    /* A honeypot a látogatóknak láthatatlan, az egyszerű űrlaprobotok számára viszont mezőként jelenik meg. */
    .honeypot-field {
      position: absolute !important;
      left: -10000px !important;
      width: 1px !important;
      height: 1px !important;
      overflow: hidden !important;
    }

    .field-error {
      margin: 2px 0 0;
      color: #ffb7c6;
      font-size: .78rem;
      line-height: 1.4;
    }

    .checkbox-error { grid-column: 1 / -1; margin-top: -6px; }
    .field [aria-invalid="true"] { border-color: rgba(255,107,138,.75); box-shadow: 0 0 0 4px rgba(255,107,138,.08); }
    .form-actions .btn:disabled { cursor: wait; opacity: .72; }
    .modal.is-error .modal-icon { background: linear-gradient(135deg, #ff6b8a, #ffb05c); }

    .cta-section { padding-top: 20px; }

    .final-cta {
      position: relative;
      overflow: hidden;
      display: grid;
      grid-template-columns: 1fr auto;
      gap: 36px;
      align-items: center;
      min-height: 320px;
      padding: clamp(36px, 7vw, 72px);
      border-radius: 36px;
      border: 1px solid rgba(255,255,255,.15);
      background:
        radial-gradient(circle at 0 100%, rgba(52,216,255,.24), transparent 32%),
        radial-gradient(circle at 100% 0, rgba(255,79,216,.22), transparent 35%),
        linear-gradient(135deg, rgba(155,108,255,.16), rgba(255,255,255,.045));
      box-shadow: var(--shadow);
    }

    .final-cta::after {
      content: "VR";
      position: absolute;
      right: 7%;
      bottom: -38%;
      color: rgba(255,255,255,.035);
      font-size: 17rem;
      font-weight: 950;
      line-height: 1;
      letter-spacing: -.1em;
      pointer-events: none;
    }

    .final-cta h2 { position: relative; z-index: 2; margin: 0; max-width: 700px; font-size: clamp(2.25rem, 5vw, 4.8rem); line-height: 1; letter-spacing: -.055em; }
    .final-cta p { position: relative; z-index: 2; max-width: 650px; color: var(--muted); margin: 18px 0 0; font-size: 1.05rem; }
    .final-actions { position: relative; z-index: 2; display: grid; gap: 12px; min-width: 245px; }

    footer {
      padding: 40px 0 110px;
      color: var(--muted-2);
    }

    .footer-grid {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 26px;
      padding-top: 28px;
      border-top: 1px solid rgba(255,255,255,.08);
      font-size: .84rem;
    }

    .footer-links { display: flex; flex-wrap: wrap; gap: 18px; }
    .footer-links a:hover { color: white; }

    .mobile-cta {
      position: fixed;
      left: 12px;
      right: 12px;
      bottom: 12px;
      z-index: 90;
      display: none;
      grid-template-columns: 1fr 1.4fr;
      gap: 8px;
      padding: 8px;
      border-radius: 18px;
      background: rgba(8,8,17,.88);
      border: 1px solid rgba(255,255,255,.14);
      box-shadow: 0 16px 44px rgba(0,0,0,.5);
      backdrop-filter: blur(18px);
    }

    .mobile-cta .btn { min-height: 48px; padding-inline: 12px; font-size: .85rem; border-radius: 13px; }

    .modal {
      width: min(600px, calc(100% - 28px));
      max-height: calc(100svh - 28px);
      overflow: auto;
      color: white;
      border: 1px solid rgba(255,255,255,.15);
      border-radius: 24px;
      padding: 0;
      background: #101022;
      box-shadow: 0 30px 100px rgba(0,0,0,.6);
    }

    .modal::backdrop { background: rgba(0,0,0,.76); backdrop-filter: blur(8px); }
    .modal-body { padding: 30px; }
    .modal-icon { width: 62px; height: 62px; display: grid; place-items: center; border-radius: 19px; background: linear-gradient(135deg, var(--violet), var(--cyan)); color: #080811; margin-bottom: 20px; }
    .modal-icon svg { width: 30px; }
    .modal h3 { margin: 0 0 10px; font-size: 1.65rem; }
    .modal p { color: var(--muted); margin: 0; }
    .modal-summary { margin-top: 20px; padding: 16px; border-radius: 14px; color: #e7e8f2; background: rgba(255,255,255,.05); border: 1px solid rgba(255,255,255,.1); white-space: pre-wrap; font-size: .9rem; }
    .modal-actions { display: flex; gap: 10px; margin-top: 24px; }
    .modal-actions .btn { flex: 1; }
    .modal-actions .btn[hidden] { display: none; }

    @keyframes float {
      0%,100% { transform: translateY(0) rotate(-4deg); }
      50% { transform: translateY(-16px) rotate(-2deg); }
    }

    @keyframes drift {
      0%,100% { transform: translateY(0); }
      50% { transform: translateY(-10px); }
    }

    @keyframes breathe {
      0%,100% { transform: scale(.96); opacity: .55; }
      50% { transform: scale(1.04); opacity: .72; }
    }

    @keyframes spin { to { transform: translate(-50%, -50%) rotate(360deg); } }

    @keyframes scrollline {
      0% { transform: scaleY(.4); transform-origin: top; opacity: .35; }
      50% { transform: scaleY(1); transform-origin: top; opacity: 1; }
      100% { transform: scaleY(.4); transform-origin: bottom; opacity: .35; }
    }

    @media (max-width: 1050px) {
      .main-nav { display: none; }
      .menu-toggle { display: grid; }
      .main-nav.is-open {
        display: grid;
        position: absolute;
        top: calc(var(--header-h) - 5px);
        left: 20px;
        right: 20px;
        padding: 14px;
        border-radius: 18px;
        background: rgba(10,10,22,.97);
        border: 1px solid rgba(255,255,255,.12);
        box-shadow: 0 24px 60px rgba(0,0,0,.45);
      }
      .main-nav.is-open a { padding: 13px 14px; }
      .hero-grid { grid-template-columns: 1fr 1fr; gap: 32px; }
      .hero h1 { font-size: clamp(3.4rem, 7vw, 5.2rem); }
      .hero-visual { min-height: 520px; }
      .intro-grid { grid-template-columns: repeat(2, 1fr); }
      .how-layout, .gear-layout, .order-layout { grid-template-columns: 1fr; gap: 42px; }
      .sticky-copy, .order-info { position: static; }
      .gear-layout .gear-visual { order: -1; }
    }

    @media (max-width: 820px) {
      :root { --header-h: 70px; }
      .container { width: min(var(--container), calc(100% - 28px)); }
      .header-phone { display: none; }
      .hero { min-height: auto; padding: 62px 0 86px; }
      .hero-grid { grid-template-columns: 1fr; }
      .hero h1 { max-width: 720px; font-size: clamp(3.15rem, 13vw, 5.5rem); }
      .hero-visual { min-height: 460px; }
      .scroll-cue { display: none; }
      section { padding: 82px 0; }
      .audience-header, .video-head { align-items: start; flex-direction: column; }
      .audience-card:nth-child(n) { grid-column: span 6; }
      .audience-card:nth-child(1) { grid-column: 1 / -1; }
      .video-grid { grid-template-columns: 1fr 1fr; grid-template-rows: auto auto; }
      .video-card:first-child { grid-column: 1 / -1; grid-row: auto; min-height: 450px; }
      .video-card:not(:first-child) { min-height: 250px; }
      .package-grid { grid-template-columns: 1fr; max-width: 620px; }
      .package-card { min-height: auto; }
      .package-grid.compact .package-card { min-height: auto; }
      .package-includes-list { grid-template-columns: 1fr; }
      .package-includes-list li:last-child { grid-column: auto; justify-self: stretch; }
      .final-cta { grid-template-columns: 1fr; }
      .final-actions { min-width: 0; grid-template-columns: 1fr 1fr; }
      .mobile-cta.is-visible { display: grid; }
      footer { padding-bottom: 105px; }
    }

    @media (max-width: 580px) {
      .brand-copy small { display: none; }
      .hero { padding-top: 46px; }
      .hero h1 { margin-top: 19px; font-size: clamp(2.85rem, 15.2vw, 4.3rem); }
      .hero-lead { font-size: 1rem; }
      .hero-actions { display: grid; grid-template-columns: 1fr; }
      .hero-actions .btn { width: 100%; }
      .hero-points { display: grid; gap: 9px; }
      .hero-visual { min-height: 365px; }
      .visual-ring { width: 320px; }
      .floating-card { min-width: 128px; padding: 12px 13px; }
      .card-one { left: auto; top: auto; right: -2%; bottom: 5%; }
      .card-two { right: -2%; bottom: 5%; }
      .intro-grid { grid-template-columns: 1fr; }
      .audience-grid { grid-template-columns: 1fr; }
      .audience-card:nth-child(n) { grid-column: auto; min-height: 230px; }
      .step-card { grid-template-columns: 48px 1fr; padding: 19px; gap: 13px; }
      .step-number { width: 46px; height: 46px; border-radius: 14px; }
      .video-grid { grid-template-columns: 1fr; }
      .video-card:first-child { grid-column: auto; min-height: 390px; }
      .video-card:not(:first-child) { min-height: 250px; }
      .gear-list { grid-template-columns: 1fr; }
      .gear-visual { min-height: 420px; }
      .station { width: 90%; height: 290px; }
      .custom-banner { align-items: stretch; flex-direction: column; }
      .custom-banner .btn { width: 100%; }
      .form-grid { grid-template-columns: 1fr; }
      .field.full, .checkbox, .form-actions, .form-status { grid-column: auto; }
      .form-actions { display: grid; }
      .secure-note { justify-content: center; }
      .final-actions { grid-template-columns: 1fr; }
      .footer-grid { align-items: flex-start; flex-direction: column; }
      .modal-actions { flex-direction: column; }
    }

    @media (prefers-reduced-motion: reduce) {
      html { scroll-behavior: auto; }
      *, *::before, *::after { animation-duration: .001ms !important; animation-iteration-count: 1 !important; transition-duration: .001ms !important; }
    }


    /* V2 – tényleges videó-előnézetek és nagyított lejátszó */
    .video-card {
      padding: 0;
      text-align: left;
    }

    .video-media {
      position: absolute;
      inset: 0;
      z-index: 0;
      width: 100%;
      height: 100%;
      object-fit: cover;
      background: #090a18;
      transition: transform .75s ease, filter .35s ease;
      pointer-events: none;
    }

    .video-card::after {
      content: "";
      position: absolute;
      inset: 0;
      z-index: 2;
      pointer-events: none;
      background: linear-gradient(to top, rgba(6,6,14,.93) 0%, rgba(6,6,14,.26) 47%, rgba(6,6,14,.08) 100%);
    }

    .video-card:hover .video-media { transform: scale(1.035); filter: saturate(1.12) contrast(1.03); }
    .video-card .video-bg,
    .video-card .video-gridlines,
    .video-card .video-silhouette { display: none; }
    .video-card .play-button,
    .video-card .video-caption { z-index: 5; }

    .video-duration {
      position: absolute;
      z-index: 5;
      top: 18px;
      right: 18px;
      padding: 6px 9px;
      border-radius: 9px;
      color: white;
      background: rgba(5,6,16,.68);
      border: 1px solid rgba(255,255,255,.16);
      backdrop-filter: blur(8px);
      font-size: .7rem;
      font-weight: 850;
      letter-spacing: .06em;
    }

    .video-note strong { color: white; }

    .video-modal {
      width: min(1040px, calc(100% - 28px));
      max-height: calc(100svh - 28px);
      padding: 0;
      overflow: hidden;
      color: white;
      border: 1px solid rgba(255,255,255,.16);
      border-radius: 26px;
      background: #090a18;
      box-shadow: 0 32px 120px rgba(0,0,0,.72);
    }

    .video-modal::backdrop { background: rgba(0,0,0,.84); backdrop-filter: blur(10px); }
    .video-modal-shell { position: relative; }
    .video-modal-player { width: 100%; max-height: min(70svh, 650px); aspect-ratio: 16 / 9; object-fit: contain; background: #02030a; }
    .video-modal-close {
      position: absolute;
      z-index: 4;
      top: 14px;
      right: 14px;
      width: 44px;
      height: 44px;
      display: grid;
      place-items: center;
      padding: 0;
      border-radius: 14px;
      border: 1px solid rgba(255,255,255,.18);
      color: white;
      background: rgba(5,6,16,.72);
      backdrop-filter: blur(10px);
      cursor: pointer;
      font-size: 1.45rem;
      line-height: 1;
    }
    .video-modal-copy { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 19px 22px 22px; border-top: 1px solid rgba(255,255,255,.08); }
    .video-modal-copy span { display: block; margin-bottom: 3px; color: var(--cyan); font-size: .7rem; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }
    .video-modal-copy h3 { margin: 0; font-size: 1.25rem; }
    .video-modal-copy p { margin: 0; max-width: 460px; color: var(--muted); font-size: .82rem; text-align: right; }

    @media (max-width: 680px) {
      .video-modal-copy { align-items: flex-start; flex-direction: column; gap: 8px; }
      .video-modal-copy p { text-align: left; }
      .video-duration { top: 13px; right: 13px; }
    }

  

    /* V3: kizárólag a valós Hero-videó beillesztéséhez szükséges réteg */
    .hero { isolation: isolate; }
    .hero-video-bg {
      position: absolute;
      inset: 0;
      z-index: -3;
      width: 100%;
      height: 100%;
      object-fit: cover;
      object-position: center center;
      opacity: .48;
      filter: saturate(1.05) contrast(1.06);
      pointer-events: none;
    }
    .hero::before {
      content: "";
      position: absolute;
      inset: 0;
      z-index: -2;
      pointer-events: none;
      background:
        linear-gradient(90deg, rgba(7,7,18,.97) 0%, rgba(7,7,18,.82) 46%, rgba(7,7,18,.38) 73%, rgba(7,7,18,.74) 100%),
        linear-gradient(0deg, rgba(7,7,18,.98) 0%, transparent 31%, rgba(7,7,18,.28) 100%);
    }
    .hero::after { z-index: -1; }
    .hero-grid, .scroll-cue { position: relative; z-index: 1; }

    @media (max-width: 820px) {
      .hero-video-bg {
        opacity: .46;
        object-position: center center;
        transform: none;
        transform-origin: center center;
        filter: saturate(1.08) contrast(1.08) brightness(1.03);
      }
      .hero::before {
        background:
          linear-gradient(90deg, rgba(7,7,18,.92), rgba(7,7,18,.62)),
          linear-gradient(0deg, rgba(7,7,18,.97) 0%, transparent 34%, rgba(7,7,18,.32) 100%);
      }
    }

    @media (max-width: 520px) {
      .hero-video-bg {
        inset: auto;
        top: 563px;
        left: 27%;
        width: 274%;
        height: auto;
        max-width: none;
        object-fit: contain;
        object-position: center center;
        transform: translateX(-50%);
        opacity: .52;
      }
    }

    @media (prefers-reduced-motion: reduce) {
      .hero-video-bg { display: none; }
    }


    /* Játékélmények + VR Aréna – a korábbi kitelepülés blokk helyén */
    .experience-showcase {
      position: relative;
      overflow: hidden;
    }

    .experience-showcase::before {
      content: "";
      position: absolute;
      width: 520px;
      height: 520px;
      right: -260px;
      top: 80px;
      border-radius: 50%;
      background: rgba(52,216,255,.07);
      filter: blur(85px);
      pointer-events: none;
    }

    .experience-layout {
      display: grid;
      grid-template-columns: 1.08fr .92fr;
      gap: 42px;
      align-items: stretch;
    }

    .experience-copy .section-lead { max-width: 720px; }

    .experience-type-list {
      display: grid;
      grid-template-columns: repeat(2, minmax(0,1fr));
      gap: 12px;
      margin-top: 34px;
    }

    .experience-type {
      display: grid;
      grid-template-columns: 132px 1fr;
      gap: 16px;
      align-items: center;
      min-height: 132px;
      padding: 17px 18px;
      border-radius: 19px;
      border: 1px solid rgba(255,255,255,.095);
      background: linear-gradient(145deg, rgba(255,255,255,.047), rgba(255,255,255,.022));
      transition: transform .22s ease, border-color .22s ease, background .22s ease;
    }

    .experience-type:hover {
      transform: translateY(-3px);
      border-color: rgba(108,201,255,.24);
      background: linear-gradient(145deg, rgba(255,255,255,.064), rgba(255,255,255,.027));
    }

    .experience-type-icon {
      position: relative;
      overflow: hidden;
      width: 132px;
      height: 132px;
      display: block;
      border-radius: 20px;
      background: linear-gradient(160deg, rgba(110,98,255,.18), rgba(40,215,255,.08) 62%, rgba(8,12,28,.92));
      border: 1px solid rgba(110,205,255,.20);
      box-shadow: inset 0 1px rgba(255,255,255,.10), 0 14px 28px rgba(10,16,42,.24), 0 0 0 1px rgba(255,255,255,.03);
      isolation: isolate;
      flex-shrink: 0;
    }

    .experience-type-icon::after {
      content: "";
      position: absolute;
      inset: 0;
      border-radius: inherit;
      box-shadow: inset 0 0 0 1px rgba(255,255,255,.05);
      pointer-events: none;
    }

    .experience-type-icon img {
      width: 100%;
      height: 100%;
      display: block;
      object-fit: cover;
      object-position: center center;
    }

    .experience-type.experience-type-wide { grid-column: 1 / -1; margin-top: 12px; }

    .experience-type strong { display: block; font-size: .96rem; line-height: 1.25; }
    .experience-type p { margin: 5px 0 0; color: var(--muted-2); font-size: .79rem; line-height: 1.48; }
    .arena-card {
      position: relative;
      min-height: 100%;
      padding: 34px;
      overflow: hidden;
      border-radius: var(--radius-xl);
      border: 1px solid rgba(116,210,255,.18);
      background:
        radial-gradient(circle at 78% 18%, rgba(52,216,255,.19), transparent 27%),
        radial-gradient(circle at 15% 86%, rgba(255,79,216,.13), transparent 30%),
        linear-gradient(150deg, rgba(155,108,255,.105), rgba(10,12,29,.84) 55%, rgba(9,11,27,.96));
      box-shadow: var(--shadow);
      isolation: isolate;
    }

    .arena-card::before {
      content: "";
      position: absolute;
      inset: 0;
      z-index: -2;
      background:
        linear-gradient(rgba(52,216,255,.035) 1px, transparent 1px),
        linear-gradient(90deg, rgba(52,216,255,.035) 1px, transparent 1px);
      background-size: 36px 36px;
      mask-image: linear-gradient(to bottom, rgba(0,0,0,.7), transparent 82%);
    }

    .arena-card::after {
      content: "";
      position: absolute;
      z-index: -1;
      width: 310px;
      height: 310px;
      right: -92px;
      bottom: -116px;
      border-radius: 50%;
      border: 1px solid rgba(52,216,255,.14);
      box-shadow: 0 0 0 42px rgba(52,216,255,.022), 0 0 0 84px rgba(155,108,255,.018);
    }

    .arena-label {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      padding: 7px 10px;
      border-radius: 999px;
      border: 1px solid rgba(89,211,255,.22);
      color: #d9f8ff;
      background: rgba(52,216,255,.075);
      font-size: .67rem;
      font-weight: 850;
      letter-spacing: .09em;
      text-transform: uppercase;
    }

    .arena-label i {
      width: 7px;
      height: 7px;
      border-radius: 50%;
      background: var(--cyan);
      box-shadow: 0 0 13px rgba(52,216,255,.8);
    }

    .arena-card h3 {
      max-width: 500px;
      margin: 23px 0 12px;
      font-size: clamp(2rem, 3vw, 3.05rem);
      line-height: 1.02;
      letter-spacing: -.045em;
    }

    .arena-card > p {
      max-width: 520px;
      margin: 0;
      color: var(--muted);
      font-size: .98rem;
    }

    .arena-visual {
      position: relative;
      min-height: 205px;
      margin: 30px 0 25px;
      display: grid;
      place-items: center;
    }

    .arena-visual img {
      display: block;
      width: 100%;
      height: auto;
      border-radius: 22px;
      border: 1px solid rgba(116,210,255,.18);
      box-shadow: 0 18px 42px rgba(0,0,0,.24);
    }

    .arena-ring {
      position: absolute;
      width: 210px;
      height: 210px;
      border-radius: 50%;
      border: 1px solid rgba(52,216,255,.23);
      box-shadow: 0 0 0 34px rgba(52,216,255,.025), 0 0 0 68px rgba(155,108,255,.018);
    }

    .arena-center {
      position: relative;
      z-index: 3;
      width: 74px;
      height: 74px;
      display: grid;
      place-items: center;
      border-radius: 23px;
      color: white;
      background: linear-gradient(145deg, rgba(155,108,255,.45), rgba(52,216,255,.31));
      border: 1px solid rgba(255,255,255,.2);
      box-shadow: 0 18px 42px rgba(60,55,170,.28);
    }

    .arena-center svg { width: 39px; height: 39px; }

    .arena-player {
      position: absolute;
      z-index: 4;
      width: 54px;
      height: 54px;
      display: grid;
      place-items: center;
      border-radius: 18px;
      color: white;
      background: rgba(12,14,34,.91);
      border: 1px solid rgba(255,255,255,.16);
      box-shadow: 0 14px 35px rgba(0,0,0,.25);
    }

    .arena-player svg { width: 27px; height: 27px; }
    .arena-player.one { transform: translate(-112px,-54px); }
    .arena-player.two { transform: translate(112px,-54px); }
    .arena-player.three { transform: translate(-112px,72px); }
    .arena-player.four { transform: translate(112px,72px); }

    .arena-connector {
      position: absolute;
      width: 250px;
      height: 155px;
      border: 1px dashed rgba(110,198,255,.18);
      border-radius: 50%;
      transform: rotate(-8deg);
    }

    .arena-points {
      display: flex;
      flex-wrap: wrap;
      gap: 9px;
      margin-top: 2px;
    }

    .arena-point {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      min-height: 38px;
      padding: 0 12px;
      border-radius: 999px;
      color: #d9deed;
      background: rgba(255,255,255,.045);
      border: 1px solid rgba(255,255,255,.09);
      font-size: .76rem;
      font-weight: 700;
    }

    .arena-point::before {
      content: "";
      width: 6px;
      height: 6px;
      border-radius: 50%;
      background: linear-gradient(135deg, var(--violet), var(--cyan));
      box-shadow: 0 0 10px rgba(52,216,255,.45);
    }

    .arena-emphasis {
      margin-top: 24px;
      padding-top: 22px;
      border-top: 1px solid rgba(255,255,255,.09);
      color: #f2f4ff;
      font-size: .89rem;
      font-weight: 720;
      line-height: 1.55;
    }

    @media (max-width: 1050px) {
      .experience-layout { grid-template-columns: 1fr; }
      .arena-card { min-height: 520px; }
    }

    @media (max-width: 650px) {
      .experience-type-list { grid-template-columns: 1fr; }
      .experience-type { grid-template-columns: 96px 1fr; min-height: 112px; }
      .experience-type.experience-type-wide { grid-column: auto; }
      .experience-type-icon { width: 96px; height: 96px; border-radius: 18px; }
      .arena-card { padding: 26px 22px; min-height: 500px; }
      .arena-visual { min-height: 190px; }
      .arena-ring { width: 175px; height: 175px; }
      .arena-player.one { transform: translate(-92px,-48px); }
      .arena-player.two { transform: translate(92px,-48px); }
      .arena-player.three { transform: translate(-92px,64px); }
      .arena-player.four { transform: translate(92px,64px); }
      .arena-connector { width: 210px; height: 135px; }
    }



    /* V37: kitelepülési feltételek és végleges csomagárak */
    .price-placeholder {
      border-style: solid;
      border-color: rgba(105,205,255,.22);
      font-size: clamp(1.65rem, 3vw, 2.1rem);
      letter-spacing: -.025em;
      background: linear-gradient(135deg, rgba(155,108,255,.10), rgba(52,216,255,.07));
    }

    .price-placeholder small {
      font-size: .76rem;
      letter-spacing: .02em;
    }

    .requirements-section {
      position: relative;
      overflow: hidden;
      background:
        radial-gradient(circle at 12% 8%, rgba(155,108,255,.09), transparent 28%),
        radial-gradient(circle at 88% 78%, rgba(52,216,255,.07), transparent 28%);
    }

    .requirements-head {
      max-width: 780px;
      margin-bottom: 34px;
    }

    .requirements-grid {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 15px;
    }

    .requirement-card {
      min-height: 218px;
      padding: 22px;
      border-radius: 22px;
      border: 1px solid rgba(255,255,255,.095);
      background: linear-gradient(150deg, rgba(255,255,255,.052), rgba(255,255,255,.022));
      box-shadow: 0 18px 48px rgba(0,0,0,.16);
    }

    .requirement-icon {
      width: 50px;
      height: 50px;
      display: grid;
      place-items: center;
      margin-bottom: 17px;
      border-radius: 16px;
      color: #eefbff;
      background: linear-gradient(145deg, rgba(155,108,255,.24), rgba(52,216,255,.14));
      border: 1px solid rgba(91,193,255,.22);
      box-shadow: inset 0 1px rgba(255,255,255,.08), 0 12px 25px rgba(24,48,116,.12);
    }

    .requirement-icon svg { width: 25px; height: 25px; }
    .requirement-card h3 { margin: 0 0 8px; font-size: 1.05rem; letter-spacing: -.015em; }
    .requirement-card p { margin: 0; color: var(--muted); font-size: .86rem; line-height: 1.62; }

    .requirements-note {
      display: flex;
      align-items: center;
      gap: 13px 20px;
      margin-top: 16px;
      padding: 18px 20px;
      border-radius: 18px;
      border: 1px solid rgba(52,216,255,.16);
      background: rgba(52,216,255,.055);
    }

    .requirements-note strong { flex: 0 0 auto; color: #ecfbff; }
    .requirements-note span { color: var(--muted); font-size: .88rem; line-height: 1.55; }

    @media (max-width: 1000px) {
      .requirements-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    }

    @media (max-width: 650px) {
      .requirements-grid { grid-template-columns: 1fr; }
      .requirement-card { min-height: auto; }
      .requirements-note { align-items: flex-start; flex-direction: column; }
    }


    /* V38: szolgáltatási terület térképe */
    .service-area-section {
      position: relative;
      overflow: hidden;
      padding-top: 0;
      background:
        radial-gradient(circle at 18% 18%, rgba(52,216,255,.055), transparent 30%),
        radial-gradient(circle at 82% 78%, rgba(155,108,255,.055), transparent 30%);
    }

    .service-area-map {
      margin: 0;
      overflow: hidden;
      border-radius: var(--radius-xl);
      border: 1px solid rgba(116,210,255,.16);
      background: rgba(7,9,24,.72);
      box-shadow: var(--shadow);
    }

    .service-area-map img {
      display: block;
      width: 100%;
      height: auto;
    }

    @media (max-width: 650px) {
      .service-area-map { border-radius: 22px; }
    }
