.post-lead {
  text-align: center;
  margin-left: auto;
  margin-right: auto;
  max-width: 760px;
  font-size: 1.13rem;
  color: var(--ink-dim);
}
/* OA actions extra felső eltartás és sorba rendezés */
.oa-actions-row {
  display: flex;
  gap: 1.1rem;
  margin-top: 1.2rem;
  flex-wrap: wrap;
  justify-content: flex-start;
}
/* Középre igazított hardened-mech-title */
.hd-mech-title-center {
  text-align: center;
  display: block;
  margin-left: auto;
  margin-right: auto;
  font-size: 1.35rem;
  font-weight: 700;
  background: var(--grad);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  margin-bottom: 1.2rem;
}
@media (max-width: 700px) {
  .hd-mech-title-center {
    font-size: 1.08rem;
    margin-bottom: 0.7rem;
  }
}
/* ===== HERO MECH TITLE KÖZÉPRE ===== */
.hero-section-center {
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  margin-bottom: 1.2rem;
}
.hero-mech-title {
  font-size: 1.25rem;
  font-weight: 700;
  color: #fff;
  text-align: center;
  margin: 0 auto 0.8rem auto;
  letter-spacing: -0.01em;
  background: var(--grad);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}
@media (max-width: 700px) {
  .hero-section-center {
    margin-bottom: 1.1rem;
  }
  .hero-mech-title {
    font-size: 1.08rem;
    margin-bottom: 0.7rem;
  }
}
/* ================= PARTNER HERO & PERKS 2x2 =================== */
.partner-hero-center {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}
.partner-cta-row-center {
  justify-content: center;
  display: flex;
  width: 100%;
}
.partner-cta-btn {
  min-width: unset;
  width: auto;
  max-width: 100%;
  margin: 0 auto;
  display: inline-flex;
}
.partner-perks-card {
  background: linear-gradient(135deg, rgba(124,92,255,0.13), rgba(34,211,238,0.10));
  box-shadow: 0 4px 32px -8px rgba(34,211,238,0.08);
  padding: 2.1rem 2.2rem;
}
.partner-perks-2x2 {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-template-rows: 1fr 1fr;
  gap: 1.2rem 2.2rem;
  list-style: none;
  margin: 0;
  padding: 0;
}
.partner-perks-2x2 li {
  background: none;
  border: 0;
  color: #fff;
  font-size: 1.08rem;
  font-weight: 600;
  border-radius: 10px;
  padding: 0 0 0.2rem 0;
  min-width: 0;
  min-height: 0;
  text-align: left;
}
.partner-perks-2x2 li span {
  color: var(--ink-dim);
  font-size: .98rem;
  font-weight: 400;
}

/* Global image safety: keep media responsive on narrow screens. */
img {
  max-width: 100%;
  height: auto;
}
picture {
  display: block;
  max-width: 100%;
}

/* Homepage hero image mobile fix */
.hero-home .hero-visual {
  min-width: 0;
}
@media (max-width: 640px) {
  .hero-home .hero-grid {
    gap: 1.15rem;
  }
  .hero-home .hero-card {
    width: 100%;
    min-height: 0;
    aspect-ratio: 11 / 14;
    padding: .72rem;
  }
  .hero-home .hero-showcase {
    gap: .56rem;
  }
  .hero-home .hero-showcase > * {
    min-width: 0;
  }
  .hero-home .hero-rotator-track {
    aspect-ratio: 16 / 10;
    min-height: 198px;
    background: rgba(7, 10, 26, .92);
  }
  .hero-home .hero-rotator {
    overflow: hidden;
    border-radius: 16px;
  }
  .hero-home .hero-slide,
  .hero-home .hero-slide.is-active {
    transform: none;
  }
  .hero-home .hero-slide-image {
    object-fit: contain;
    object-position: center 12%;
    width: 100%;
    height: 100%;
    padding: 0 .35rem;
  }
  .hero-home .hero-awards {
    margin-top: .38rem;
    gap: .36rem;
    position: relative;
    z-index: 5;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    min-width: 0;
  }
  .hero-home .hero-award {
    min-height: 56px;
    padding: .24rem;
    border-color: rgba(255,255,255,.14);
    background: linear-gradient(180deg, rgba(18,22,46,.82), rgba(9,12,30,.88));
    min-width: 0;
  }
  .hero-home .hero-award picture,
  .hero-home .hero-award-image {
    max-height: 50px;
  }
  .hero-home .hero-badges {
    margin-top: .02rem;
    gap: .34rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    min-width: 0;
  }
  .hero-home .hero-badge {
    padding: .44rem .58rem;
    font-size: .66rem;
    min-width: 0;
    max-width: none;
  }
  .hero-home .hero-badge strong {
    font-size: .74rem;
  }
  .hero-home .hero-badge small {
    font-size: .62rem;
  }
}

/* Sitewide mobile media hardening for key page image containers */
@media (max-width: 900px) {
  .eco-media,
  .sc-media,
  .dl-media,
  .ep-event-img {
    border-radius: 12px;
  }

  .post-hero-media,
  .ep-archive-cover {
    border-radius: 12px;
    overflow: hidden;
  }
}

@media (max-width: 640px) {
  .eco-media,
  .sc-media,
  .dl-media,
  .ep-event-img {
    aspect-ratio: 4 / 3;
    height: auto;
  }

  .ep-event-img {
    background-position: center;
  }

  .eco-media-vsb .eco-slide img,
  .eco-media-aibox .eco-slide img {
    padding: .35rem .35rem 1rem;
    object-position: center;
  }

  .eco-media-vsb .eco-slide-photo img,
  .eco-media-aibox .eco-slide-photo img {
    padding: 0;
    object-fit: cover;
    object-position: center;
  }

  .post-hero-media img,
  .ep-archive-cover-img {
    width: 100%;
    max-height: min(64vw, 360px);
    object-fit: cover;
    object-position: center;
  }

  .section-vsb-hero .device-photo,
  .aibox-hero-photo,
  .aix-hero-photo {
    object-fit: contain;
    object-position: center;
    background: #090e24;
  }

  .section-vsb-hero .hero-card,
  .section-aibox-hero .aibox-hero-card,
  .aix-hero-frame {
    width: 100%;
    max-width: 100%;
    min-height: 0;
    aspect-ratio: auto;
  }

  .section-vsb-hero .device,
  .section-vsb-hero .device-photo {
    max-width: 100%;
  }

  .eco-bullets li,
  .ep-event-name,
  .sol-pillar p,
  .post-body p {
    overflow-wrap: anywhere;
  }

  .hero,
  .section-ecosystem,
  .section-vsb-hero,
  .section-aibox-hero,
  .section-events-press,
  .section-blog-hero {
    overflow-x: clip;
  }
}

@media (max-width: 700px) {
  .partner-perks-2x2 {
    grid-template-columns: 1fr;
    grid-template-rows: repeat(4, auto);
    gap: 1.1rem 0;
    justify-items: center;
    text-align: center;
  }
  .partner-perks-2x2 li {
    text-align: center;
    padding: 0;
  }
  .partner-hero-center {
    align-items: center;
    text-align: center;
  }
  .partner-cta-row-center {
    justify-content: center;
  }
  .partner-cta-btn {
    width: auto;
    min-width: 0;
    margin: 0 auto;
  }
}
/* =========================================================================
   ViVeSec – fő stíluslap
   Üveghatású (glassmorphism) sötét UI, finom mozgásokkal.
   - Mobile-first
   - prefers-reduced-motion tisztelete
   - CSS változókkal könnyen theme-elhető
   ========================================================================= */

:root {
  --bg-0: #07071A;
  --bg-1: #0B0B22;
  --bg-2: #11112E;
  --ink: #E7E9F4;
  --ink-dim: #A6ABCB;
  --muted: #7A7F9E;
  --line: rgba(255,255,255,0.08);
  --line-2: rgba(255,255,255,0.14);
  --glass: rgba(20, 22, 48, 0.55);
  --glass-2: rgba(28, 30, 60, 0.45);
  --primary: #6C7CFF;
  --primary-2: #4A5BFF;
  --accent: #22D3EE;
  --accent-2: #7C5CFF;
  --grad: linear-gradient(135deg, #7C5CFF 0%, #22D3EE 100%);
  --grad-2: linear-gradient(135deg, #4A5BFF 0%, #7C5CFF 60%, #22D3EE 100%);
  --shadow: 0 30px 60px -30px rgba(40, 30, 120, 0.6),
            0 10px 30px -10px rgba(0, 0, 0, 0.5);
  --radius: 18px;
  --radius-lg: 26px;
  --container: 1200px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }

body {
  margin: 0;
  font-family: 'Inter', system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif;
  background: var(--bg-0);
  color: var(--ink);
  line-height: 1.6;
  font-size: 16px;
  overflow-x: hidden;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

/* Háttér aurora foltok */
.bg-aurora {
  position: fixed; inset: 0; z-index: -2; pointer-events: none;
  background:
    radial-gradient(ellipse at 10% 0%, rgba(124, 92, 255, 0.18), transparent 50%),
    radial-gradient(ellipse at 90% 10%, rgba(34, 211, 238, 0.14), transparent 50%),
    radial-gradient(ellipse at 50% 100%, rgba(74, 91, 255, 0.12), transparent 60%),
    var(--bg-0);
}
.bg-aurora .aurora {
  position: absolute; width: 600px; height: 600px; border-radius: 50%;
  filter: blur(120px); opacity: .35;
  animation: drift 28s ease-in-out infinite alternate;
}
.aurora.a1 { background: #7C5CFF; top: -10%; left: -10%; }
.aurora.a2 { background: #22D3EE; top: 30%; right: -15%; animation-duration: 34s; animation-delay: -4s; }
.aurora.a3 { background: #4A5BFF; bottom: -20%; left: 30%; animation-duration: 40s; animation-delay: -10s; }
@keyframes drift {
  0%   { transform: translate3d(0,0,0) scale(1); }
  50%  { transform: translate3d(40px,-30px,0) scale(1.15); }
  100% { transform: translate3d(-30px,40px,0) scale(.95); }
}
@media (prefers-reduced-motion: reduce) { .bg-aurora .aurora { animation: none; } }

/* Egér-fény követés */
.cursor-glow {
  position: fixed; pointer-events: none; z-index: -1;
  width: 520px; height: 520px; border-radius: 50%;
  background: radial-gradient(circle, rgba(124, 92, 255, 0.18), rgba(34, 211, 238, 0.06) 40%, transparent 70%);
  transform: translate3d(var(--mx, 50vw), var(--my, 50vh), 0) translate(-50%, -50%);
  transition: transform .12s ease-out;
  mix-blend-mode: screen;
}
@media (hover: none) { .cursor-glow { display: none; } }

/* Tipográfia */
h1, h2, h3, h4 { font-family: 'Space Grotesk', 'Inter', sans-serif; font-weight: 700; line-height: 1.1; letter-spacing: -0.02em; margin: 0 0 .4em; }
h1 { font-size: clamp(2rem, 4vw, 3.4rem); }
h2 { font-size: clamp(1.6rem, 2.8vw, 2.4rem); }
h3 { font-size: 1.2rem; }
.display { font-size: clamp(2.2rem, 4.4vw, 3.8rem); font-weight: 800; }
.lead { font-size: clamp(1rem, 1.2vw, 1.15rem); color: var(--ink-dim); max-width: 60ch; text-align: center; margin: 0 auto; }
.post-lead { text-align: center; margin: 0 auto; color: var(--ink-dim); max-width: 60ch; font-size: clamp(1rem, 1.2vw, 1.15rem); }
.muted { color: var(--muted); }
p { margin: 0 0 1em; }
a { color: var(--ink); text-decoration: none; transition: color .2s; }
a:hover { color: var(--accent); }
.grad {
  background: var(--grad);
  -webkit-background-clip: text; background-clip: text; color: transparent;
}

/* Global selective two-tone text accents (applies on all pages, not everywhere) */
:root {
  --grad-accent-a: linear-gradient(102deg, #7f71ff 4%, #4d95ff 52%, #24deff 98%);
  --grad-accent-b: linear-gradient(98deg, #ffffff 2%, #b9d8ff 48%, #459fff 96%);
}

main :is(h1, h2, h3, .display):not(.grad):nth-of-type(7n + 3),
main :is(h1, h2, h3, .display):not(.grad):nth-of-type(11n + 2) {
  background: var(--grad-accent-a);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  text-shadow: 0 1px 16px rgba(50, 156, 255, .2);
}

main :is(h1, h2, h3, .display):not(.grad):nth-of-type(9n + 4),
main :is(h1, h2, h3, .display):not(.grad):nth-of-type(13n + 5) {
  background: var(--grad-accent-b);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  text-shadow: 0 1px 16px rgba(61, 139, 255, .18);
}

main .eyebrow:nth-of-type(6n + 2),
main .eyebrow:nth-of-type(10n + 3) {
  background:
    linear-gradient(160deg, rgba(255,255,255,.05), rgba(255,255,255,.02)),
    rgba(255,255,255,.03);
  border-color: rgba(138,186,255,.24);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.08);
  color: #d9ebff;
}

/* Container */
.container { max-width: var(--container); margin: 0 auto; padding: 0 clamp(1rem, 4vw, 2rem); }

/* Eyebrow / pill */
.eyebrow {
  display: inline-block; padding: .4rem .9rem; margin-bottom: 1rem;
  font-size: .72rem; letter-spacing: .14em; text-transform: uppercase;
  color: var(--ink-dim); border: 1px solid var(--line-2);
  border-radius: 999px; background: rgba(255,255,255,0.03);
  backdrop-filter: blur(8px);
}

/* Skip link */
.skip-link { position: absolute; left: -9999px; }
.skip-link:focus { left: 1rem; top: 1rem; padding: .5rem 1rem; background: #000; z-index: 100; }

/* ============================== HEADER ================================== */
.site-header {
  position: sticky; top: 0; z-index: 50;
  backdrop-filter: blur(14px) saturate(140%);
  -webkit-backdrop-filter: blur(14px) saturate(140%);
  background: rgba(7, 7, 26, 0.55);
  border-bottom: 1px solid transparent;
  transition: border-color .3s, background .3s, box-shadow .3s;
  overflow-anchor: none;
}
.site-header.is-scrolled {
  border-color: var(--line);
  background: rgba(7, 7, 26, 0.82);
  box-shadow: 0 14px 40px -22px rgba(0,0,0,.65);
}

/* — Felső utility sáv (telefon, email, nyelv, partner portál). Görgetéskor eltűnik. — */
.header-top {
  position: relative;
  border-bottom: 1px solid rgba(255,255,255,0.06);
  background: linear-gradient(180deg, rgba(124,92,255,0.08), rgba(34,211,238,0.03) 60%, transparent);
  overflow: hidden;
  height: 44px;
  opacity: 1;
  overflow-anchor: none;
  transition: height .32s cubic-bezier(.4,0,.2,1), opacity .22s ease, border-color .3s;
  will-change: height;
  contain: layout paint;
}
.header-top::before {
  content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 1px;
  background: linear-gradient(90deg, transparent, rgba(124,92,255,.45), rgba(34,211,238,.45), transparent);
  opacity: .55;
}
.site-header.is-collapsed .header-top {
  height: 0; opacity: 0; border-color: transparent;
}
.header-top-row {
  display: flex; align-items: center; justify-content: space-between; gap: 1rem;
  height: 44px; padding: 0; font-size: .78rem; color: var(--ink-dim);
}
.header-top-info { display: flex; align-items: center; gap: 1.2rem; min-width: 0; }
.header-top-info .ht-item { display: none; align-items: center; gap: .45rem; color: var(--ink-dim); white-space: nowrap; transition: color .2s; }
.header-top-info .ht-item:hover { color: var(--ink); }
.header-top-info .ht-item:hover .ht-ico { color: var(--accent); }
.ht-ico { color: var(--muted); transition: color .2s, transform .2s; flex-shrink: 0; }
.header-top-actions { display: flex; align-items: center; gap: .9rem; margin-left: auto; }
.ht-link {
  display: inline-flex; align-items: center; gap: .4rem; font-size: .78rem;
  color: var(--ink-dim); padding: .3rem .6rem; border-radius: 999px;
  border: 1px solid transparent; transition: color .2s, background .2s, border-color .2s, transform .2s;
}
.ht-link:hover { color: #fff; background: rgba(255,255,255,0.05); border-color: var(--line-2); transform: translateY(-1px); }
.ht-link:hover .ht-ico { color: var(--accent); transform: translate(1px, -1px); }
@media (min-width: 720px) { .header-top-info .ht-item { display: inline-flex; } }
@media (max-width: 520px) { .header-top-actions .ht-link span { display: none; } }

.header-row { display: flex; align-items: center; gap: 1rem; padding: .85rem 0; min-width: 0; transition: padding .3s; }
.site-header.is-scrolled .header-row { padding: .65rem 0; }
.brand { display: inline-flex; align-items: center; gap: .6rem; font-weight: 700; letter-spacing: .04em; }
.brand-mark { display: grid; place-items: center; }
.brand-text { font-family: 'Space Grotesk'; font-size: 1.05rem; }
.brand-logo { display: block; height: 32px; width: auto; max-width: 100%; }
.site-footer .brand-logo { height: 36px; }
.mobile-nav-top .brand-logo { height: 28px; }
.primary-nav { display: none; gap: 1.4rem; margin-left: 1.6rem; }
.primary-nav a {
  position: relative; font-size: .9rem; color: var(--ink-dim); white-space: nowrap;
  padding: .35rem 0; transition: color .2s;
}
.primary-nav a::after {
  content: ""; position: absolute; left: 0; right: 0; bottom: -2px; height: 2px;
  background: var(--grad); border-radius: 2px; transform: scaleX(0); transform-origin: left center;
  transition: transform .35s cubic-bezier(.2,.7,.2,1);
}
.primary-nav a:hover { color: var(--ink); }
.primary-nav a:hover::after { transform: scaleX(1); }
.header-actions { margin-left: auto; display: flex; align-items: center; gap: .6rem; flex-shrink: 0; }
.lang-switch { display: inline-flex; gap: .35rem; font-size: .8rem; padding: .22rem; border: 1px solid var(--line); border-radius: 999px; }
.lang-switch a { padding: .18rem .5rem; border-radius: 999px; color: var(--muted); font-weight: 600; letter-spacing: .04em; }
.lang-switch a.active { background: var(--grad); color: #fff; }
@media (max-width: 999px) {
  .header-actions .btn:not(.btn-login) { display: none; }
}
.btn {
  display: inline-flex; align-items: center; gap: .45rem;
  padding: .6rem 1.05rem; border-radius: 999px; font-weight: 600; font-size: .92rem;
  border: 1px solid var(--line-2); cursor: pointer;
  transition: transform .2s, box-shadow .2s, background .2s, color .2s;
  background: rgba(255,255,255,0.02); color: var(--ink);
  white-space: nowrap;
}
.btn.lg { padding: .85rem 1.5rem; font-size: 1rem; }
.btn:hover { transform: translateY(-1px); }
.btn-primary { background: var(--grad); border-color: transparent; color: #fff; box-shadow: 0 10px 30px -12px rgba(124, 92, 255, .65); }
.btn-primary:hover { color: #fff; box-shadow: 0 14px 36px -10px rgba(124, 92, 255, .85); }
.btn-ghost { background: rgba(255,255,255,0.03); }
.btn .play { font-size: .7rem; opacity: .85; }
.btn.block { width: 100%; justify-content: center; }
.nav-toggle { display: inline-flex; flex-direction: column; justify-content: center; align-items: center; gap: 5px; width: 42px; height: 42px; padding: 0; background: rgba(255,255,255,0.04); border: 1px solid var(--line-2); border-radius: 12px; cursor: pointer; position: relative; z-index: 60; transition: background .25s, border-color .25s; touch-action: manipulation; -webkit-tap-highlight-color: transparent; }
.nav-toggle:hover { background: rgba(255,255,255,0.08); border-color: rgba(255,255,255,0.18); }
.nav-toggle:active { transform: scale(.96); }
.nav-toggle span { width: 18px; height: 2px; background: var(--ink); display: block; border-radius: 2px; transition: transform .35s cubic-bezier(.6,.05,.3,1.2), opacity .25s, width .25s; transform-origin: center; }
.nav-toggle[aria-expanded="true"] span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.nav-toggle[aria-expanded="true"] span:nth-child(2) { opacity: 0; transform: scaleX(.2); }
.nav-toggle[aria-expanded="true"] span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

/* === MOBIL NAV — fullscreen overlay === */
.mobile-nav {
  position: fixed; inset: 0; z-index: 55;
  display: flex; flex-direction: column;
  padding: 0;
  background:
    radial-gradient(1100px 700px at 90% -10%, rgba(34,211,238,0.22), transparent 55%),
    radial-gradient(900px 600px at -10% 110%, rgba(124,92,255,0.28), transparent 55%),
    linear-gradient(180deg, #0a0a22 0%, #07071a 100%);
  /* backdrop-filter removed: iOS Safari computes full-viewport blur per-frame on a fixed element,
     causing a 300-600ms GPU freeze on open/close. The opaque background makes it unnecessary. */
  opacity: 0; visibility: hidden; pointer-events: none;
  transform: translateY(-6px);
  transition: opacity .22s cubic-bezier(.2,.7,.2,1), transform .28s cubic-bezier(.2,.7,.2,1), visibility 0s linear .28s;
  overflow-y: auto; overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch; /* iOS momentum scroll */
  will-change: transform, opacity; /* GPU layer pre-allocation */
}
.mobile-nav.open { opacity: 1; visibility: visible; pointer-events: auto; transform: translateY(0); transition: opacity .22s cubic-bezier(.2,.7,.2,1), transform .28s cubic-bezier(.2,.7,.2,1), visibility 0s; }
@media (hover: none) and (pointer: coarse) {
  .mobile-nav {
    background: linear-gradient(180deg, #0a0a22 0%, #07071a 100%);
    transform: none;
    transition: none;
    will-change: auto;
    contain: layout paint;
  }
  .mobile-nav.open {
    transition: none;
  }
  .mobile-nav-list a,
  .mobile-nav-sublist a,
  .nav-close,
  .nav-toggle span {
    transition: none;
  }
}
@media (prefers-reduced-motion: reduce) {
  .mobile-nav { transition: opacity .1s linear, visibility 0s linear .1s; transform: none !important; }
  .mobile-nav.open { transition: opacity .1s linear, visibility 0s; }
}
.mobile-nav-inner { max-width: 560px; width: 100%; margin: 0 auto; padding: 0 clamp(1.2rem, 5vw, 2rem) 2rem; display: flex; flex-direction: column; gap: 1.2rem; min-height: 100%; }

.mobile-nav-top { display: flex; align-items: center; justify-content: space-between; padding: 1rem 0 1.2rem; border-bottom: 1px solid rgba(255,255,255,0.08); }
.mobile-nav-top .brand-text { font-size: 1rem; }
.nav-close { width: 40px; height: 40px; display: inline-grid; place-items: center; padding: 0; background: rgba(255,255,255,0.04); border: 1px solid var(--line-2); border-radius: 12px; color: var(--ink); font-size: 1.4rem; line-height: 1; cursor: pointer; transition: background .25s, border-color .25s, transform .25s; touch-action: manipulation; -webkit-tap-highlight-color: transparent; }
.nav-close:hover { background: rgba(255,255,255,0.08); border-color: rgba(255,255,255,0.18); transform: rotate(90deg); }
.nav-close:active { transform: scale(.96); }
.nav-close span { display: block; transform: translateY(-1px); }

.mobile-nav-list { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 0; }
.mobile-nav-list li { border-bottom: 1px solid rgba(255,255,255,0.06); }
.mobile-nav-list li:last-child { border-bottom: 0; }
.mobile-nav-list a {
  display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: .9rem;
  padding: .85rem .25rem; color: var(--ink-dim);
  font-family: 'Space Grotesk','Inter',sans-serif; font-weight: 500; font-size: 1.02rem;
  letter-spacing: -0.005em;
  transition: transform .3s cubic-bezier(.2,.7,.2,1), color .25s;
  touch-action: manipulation; /* iOS: prevent 300ms delay */
  -webkit-tap-highlight-color: transparent;
}
.mobile-nav-list .mn-num { font-family: 'Space Grotesk'; font-size: .68rem; letter-spacing: .2em; color: var(--muted); padding-top: .15rem; min-width: 1.6rem; }
.mobile-nav-list .mn-arrow { color: var(--muted); font-size: .95rem; transition: transform .3s, color .25s; }
.mobile-nav-list a:hover, .mobile-nav-list a:focus-visible { color: #fff; transform: translateX(4px); }
.mobile-nav-list a:hover .mn-arrow, .mobile-nav-list a:focus-visible .mn-arrow { color: var(--accent); transform: translateX(3px); }

.mobile-nav-cta { display: grid; gap: .6rem; margin-top: .8rem; }
.mobile-nav-cta .btn { padding: .85rem 1.2rem; font-size: .95rem; }
.mobile-nav-cta .btn.lg { padding: .9rem 1.3rem; font-size: .98rem; }

.mobile-nav-foot {
  margin-top: auto; padding-top: 1.4rem;
  display: flex; flex-direction: column; align-items: center; gap: 1rem;
  border-top: 1px solid rgba(255,255,255,0.08);
  color: var(--muted); font-size: .9rem;
}
.lang-switch-mobile { display: inline-flex !important; }
.mn-mail { color: var(--ink-dim); }
.mn-mail:hover { color: var(--accent); }

/* Body scroll lock — iOS Safari fix:
   overflow:hidden alone does NOT prevent background scroll on iOS.
   position:fixed is required; top is set dynamically via JS. */
body.nav-open { overflow: hidden; position: fixed; width: 100%; }

/* ============================== HEADER-TOP — ACCENTED CHIP ============================== */
.ht-link-accent {
  color: #fff;
  background: linear-gradient(135deg, rgba(124,92,255,0.22), rgba(34,211,238,0.22));
  border-color: rgba(124,92,255,0.45);
}
.ht-link-accent .ht-ico { color: var(--accent); }
.ht-link-accent:hover {
  background: linear-gradient(135deg, rgba(124,92,255,0.35), rgba(34,211,238,0.32));
  border-color: rgba(124,92,255,0.7);
  color: #fff;
}

/* ============================== PRIMARY NAV — DROPDOWN ============================== */
.nav-dropdown { position: relative; display: inline-flex; }
.nav-dropdown-toggle {
  position: relative;
  display: inline-flex; align-items: center; gap: .3rem;
  background: none; border: 0; padding: .35rem 0;
  font: inherit; font-size: .9rem; color: var(--ink-dim); white-space: nowrap;
  cursor: pointer; transition: color .2s;
}
.nav-dropdown-toggle::after {
  content: ""; position: absolute; left: 0; right: 1.2rem; bottom: -2px; height: 2px;
  background: var(--grad); border-radius: 2px; transform: scaleX(0); transform-origin: left center;
  transition: transform .35s cubic-bezier(.2,.7,.2,1);
}
.nav-dropdown-toggle:hover,
.nav-dropdown.open .nav-dropdown-toggle,
.nav-dropdown-toggle[aria-expanded="true"] { color: var(--ink); }
.nav-dropdown:hover .nav-dropdown-toggle::after,
.nav-dropdown.open .nav-dropdown-toggle::after { transform: scaleX(1); }
.nav-dropdown-chev { transition: transform .3s cubic-bezier(.2,.7,.2,1); }
.nav-dropdown.open .nav-dropdown-chev,
.nav-dropdown-toggle[aria-expanded="true"] .nav-dropdown-chev { transform: rotate(180deg); }

.nav-dropdown-menu {
  position: absolute; top: calc(100% + .8rem); left: 50%; transform: translate(-50%, -6px);
  min-width: 320px;
  padding: .55rem;
  background:
    radial-gradient(180px 110px at 80% -10%, rgba(34,211,238,0.18), transparent 60%),
    radial-gradient(180px 120px at -10% 110%, rgba(124,92,255,0.22), transparent 60%),
    linear-gradient(180deg, rgba(14,14,40,0.96), rgba(10,10,30,0.96));
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: 16px;
  box-shadow: 0 24px 60px -20px rgba(0,0,0,0.65), 0 0 0 1px rgba(255,255,255,0.03) inset;
  backdrop-filter: blur(18px) saturate(140%);
  -webkit-backdrop-filter: blur(18px) saturate(140%);
  opacity: 0; visibility: hidden; pointer-events: none;
  transition: opacity .25s ease, transform .3s cubic-bezier(.2,.7,.2,1), visibility 0s linear .3s;
  z-index: 60;
}
.nav-dropdown-menu::before {
  content: ""; position: absolute; top: -6px; left: 50%; transform: translateX(-50%) rotate(45deg);
  width: 12px; height: 12px;
  background: linear-gradient(135deg, rgba(14,14,40,0.96), rgba(10,10,30,0.96));
  border-top: 1px solid rgba(255,255,255,0.08);
  border-left: 1px solid rgba(255,255,255,0.08);
  border-top-left-radius: 3px;
}
.nav-dropdown:hover .nav-dropdown-menu,
.nav-dropdown.open .nav-dropdown-menu,
.nav-dropdown:focus-within .nav-dropdown-menu {
  opacity: 1; visibility: visible; pointer-events: auto;
  transform: translate(-50%, 0);
  transition: opacity .25s ease, transform .3s cubic-bezier(.2,.7,.2,1), visibility 0s;
}
.nav-dropdown-menu a {
  display: grid; grid-template-columns: 36px 1fr; gap: .65rem; align-items: start;
  padding: .65rem .75rem; border-radius: 12px;
  color: var(--ink-dim); transition: background .2s, color .2s, transform .2s;
}
.nav-dropdown-menu a:hover,
.nav-dropdown-menu a:focus-visible {
  color: #fff; background: rgba(255,255,255,0.05); transform: translateX(2px);
}
.nav-dropdown-menu a:hover .dd-ico,
.nav-dropdown-menu a:focus-visible .dd-ico { color: #fff; background: var(--grad); border-color: transparent; }
.nav-dropdown-menu .dd-ico {
  width: 36px; height: 36px; display: inline-grid; place-items: center;
  border-radius: 10px; border: 1px solid rgba(255,255,255,0.08);
  background: rgba(255,255,255,0.03);
  color: var(--accent);
  transition: background .25s, color .25s, border-color .25s;
}
.nav-dropdown-menu .dd-body { display: flex; flex-direction: column; gap: .15rem; min-width: 0; }
.nav-dropdown-menu .dd-title { font-weight: 600; color: #fff; font-size: .95rem; }
.nav-dropdown-menu .dd-text {
  font-size: .78rem; color: var(--muted); line-height: 1.35;
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}

@media (min-width: 1000px) {
  .primary-nav { display: inline-flex; align-items: center; }
  .nav-toggle { display: none; }
  .mobile-nav { display: none !important; }
}

/* ============================== MOBILE NAV — RESOURCES GROUP ============================== */
.mobile-nav-group {
  margin-top: 1.1rem;
  padding: 1rem;
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: 18px;
  background:
    radial-gradient(220px 120px at 100% -10%, rgba(34,211,238,0.14), transparent 60%),
    radial-gradient(220px 120px at -10% 110%, rgba(124,92,255,0.18), transparent 60%),
    rgba(255,255,255,0.02);
}
.mobile-nav-group-head {
  display: inline-flex; align-items: center; gap: .5rem;
  padding: .25rem .65rem; margin-bottom: .6rem;
  border-radius: 999px;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
  color: var(--ink); font-family: 'Space Grotesk','Inter',sans-serif;
  font-size: .72rem; font-weight: 600; letter-spacing: .14em; text-transform: uppercase;
}
.mobile-nav-group-head svg { color: var(--accent); }
.mobile-nav-sublist { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: .2rem; }
.mobile-nav-sublist a {
  display: grid; grid-template-columns: 40px 1fr auto; align-items: center; gap: .75rem;
  padding: .75rem .55rem; border-radius: 12px;
  color: var(--ink-dim); transition: background .2s, color .2s, transform .25s;
}
.mobile-nav-sublist a:hover,
.mobile-nav-sublist a:focus-visible {
  color: #fff; background: rgba(255,255,255,0.05); transform: translateX(3px);
}
.mobile-nav-sublist .ms-ico {
  width: 40px; height: 40px; display: inline-grid; place-items: center;
  border-radius: 12px; border: 1px solid rgba(255,255,255,0.08);
  background: rgba(255,255,255,0.03); color: var(--accent);
  transition: background .25s, color .25s, border-color .25s;
}
.mobile-nav-sublist a:hover .ms-ico,
.mobile-nav-sublist a:focus-visible .ms-ico { background: var(--grad); color: #fff; border-color: transparent; }
.mobile-nav-sublist .ms-lbl { font-weight: 600; color: #fff; font-size: 1rem; }
.mobile-nav-sublist .mn-arrow { color: var(--muted); transition: color .25s, transform .25s; }
.mobile-nav-sublist a:hover .mn-arrow,
.mobile-nav-sublist a:focus-visible .mn-arrow { color: var(--accent); transform: translateX(3px); }

/* ============================== BACK TO TOP ============================== */
.back-to-top {
  position: fixed; right: clamp(1rem, 2.4vw, 1.8rem); bottom: clamp(1rem, 2.4vw, 1.8rem);
  width: 52px; height: 52px; padding: 0; z-index: 60;
  display: inline-grid; place-items: center;
  color: #fff; cursor: pointer; border: 0; background: transparent;
  border-radius: 999px;
  opacity: 0; transform: translateY(20px) scale(.82);
  pointer-events: none; visibility: hidden;
  transition: opacity .45s cubic-bezier(.2,.7,.2,1), transform .55s cubic-bezier(.2,.7,.2,1), visibility 0s linear .55s;
  -webkit-tap-highlight-color: transparent;
}
.back-to-top[hidden] { display: none; }
.back-to-top.is-visible {
  opacity: 1; transform: translateY(0) scale(1);
  pointer-events: auto; visibility: visible;
  transition: opacity .45s cubic-bezier(.2,.7,.2,1), transform .55s cubic-bezier(.2,.7,.2,1), visibility 0s;
}
.back-to-top::before {
  content: ""; position: absolute; inset: 0; border-radius: inherit;
  background:
    radial-gradient(120% 120% at 30% 0%, rgba(124,92,255,.45), transparent 55%),
    radial-gradient(120% 120% at 70% 100%, rgba(34,211,238,.35), transparent 55%),
    linear-gradient(180deg, rgba(20,20,40,.85), rgba(10,10,26,.92));
  border: 1px solid rgba(255,255,255,.14);
  box-shadow:
    0 18px 40px -16px rgba(124,92,255,.55),
    0 8px 24px -10px rgba(0,0,0,.6),
    inset 0 1px 0 rgba(255,255,255,.08);
  backdrop-filter: blur(14px) saturate(140%);
  -webkit-backdrop-filter: blur(14px) saturate(140%);
  transition: box-shadow .3s, border-color .3s;
}
.back-to-top:hover::before {
  border-color: rgba(255,255,255,.25);
  box-shadow:
    0 22px 50px -16px rgba(124,92,255,.8),
    0 10px 28px -10px rgba(34,211,238,.35),
    inset 0 1px 0 rgba(255,255,255,.14);
}
.back-to-top .btt-ring {
  position: absolute; inset: -6px; border-radius: 999px; pointer-events: none;
  background: conic-gradient(from 180deg, rgba(124,92,255,0), rgba(124,92,255,.55), rgba(34,211,238,.55), rgba(124,92,255,0));
  filter: blur(6px); opacity: 0;
  animation: bttSpin 6s linear infinite;
  transition: opacity .35s;
}
.back-to-top.is-visible .btt-ring { opacity: .65; }
.back-to-top:hover .btt-ring { opacity: .95; }
@keyframes bttSpin { to { transform: rotate(360deg); } }
.back-to-top .btt-arrow {
  position: relative; z-index: 2;
  transform: translateY(0); transition: transform .35s cubic-bezier(.2,.7,.2,1);
}
.back-to-top:hover .btt-arrow { transform: translateY(-3px); }
.back-to-top:active .btt-arrow { transform: translateY(-1px) scale(.94); }
.back-to-top .btt-progress {
  position: absolute; inset: -3px; pointer-events: none; opacity: .85;
  transform: rotate(-90deg);
}
.back-to-top .btt-progress svg { width: 100%; height: 100%; display: block; }
.back-to-top .btt-progress circle {
  fill: none; stroke: url(#bttGrad); stroke-width: 1.5; stroke-linecap: round;
  stroke: rgba(255,255,255,.9);
  stroke-dasharray: 126; /* 2 * PI * 20 ≈ 125.66 */
  stroke-dashoffset: calc(126 - (126 * var(--btt-progress, 0)));
  transition: stroke-dashoffset .15s linear;
  filter: drop-shadow(0 0 4px rgba(124,92,255,.6));
}
@media (prefers-reduced-motion: reduce) {
  .back-to-top, .back-to-top.is-visible { transition: opacity .2s, visibility 0s; transform: none; }
  .back-to-top .btt-ring { animation: none; }
}

/* ============================== GLASS CARD ============================== */
.glass-card {
  position: relative;
  border-radius: var(--radius-lg);
  background:
    linear-gradient(180deg, var(--glass), var(--glass-2));
  border: 1px solid var(--line-2);
  backdrop-filter: blur(20px) saturate(160%);
  -webkit-backdrop-filter: blur(20px) saturate(160%);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,0.08),
    inset 0 0 0 1px rgba(255,255,255,0.04),
    var(--shadow);
  padding: 1.6rem;
  overflow: hidden;
  isolation: isolate;
  transition: transform .5s cubic-bezier(.2,.7,.2,1), border-color .3s, background .3s, box-shadow .4s;
  animation: floaty 9s ease-in-out infinite alternate;
}
/* ::before — felső statikus csillanás + finom prizma él */
.glass-card::before {
  content: ""; position: absolute; inset: 0; pointer-events: none; border-radius: inherit; z-index: 1;
  background:
    /* felső highlight */
    linear-gradient(180deg, rgba(255,255,255,0.10) 0%, rgba(255,255,255,0.02) 22%, transparent 60%),
    /* prizma-szivárvány finom árnyalat a sarkoknál */
    radial-gradient(140% 90% at 0% 0%, rgba(124,92,255,0.10), transparent 45%),
    radial-gradient(140% 90% at 100% 100%, rgba(34,211,238,0.08), transparent 45%);
  mix-blend-mode: screen;
}
/* ::after — interaktív „fénytörés”, az egér mögé halad: lencse + szivárvány-streak */
.glass-card::after {
  content: ""; position: absolute; inset: -1px; pointer-events: none; border-radius: inherit; z-index: 2;
  background:
    /* fő lencse-fény (egér alatt) */
    radial-gradient(220px circle at var(--gx, 50%) var(--gy, 50%),
        rgba(255,255,255,0.18), rgba(255,255,255,0.05) 22%, transparent 55%),
    /* lila→cián diszperziós streak az egér irányában */
    radial-gradient(360px circle at var(--gx, 50%) var(--gy, 50%),
        rgba(124,92,255,0.30), transparent 45%),
    radial-gradient(420px circle at calc(var(--gx, 50%) + 60px) calc(var(--gy, 50%) + 30px),
        rgba(34,211,238,0.22), transparent 50%);
  opacity: 0;
  transition: opacity .45s ease;
  mix-blend-mode: screen;
}
.glass-card:hover { border-color: rgba(255,255,255,0.22); box-shadow: inset 0 1px 0 rgba(255,255,255,0.10), inset 0 0 0 1px rgba(255,255,255,0.06), 0 24px 60px -22px rgba(124,92,255,0.55); }
.glass-card:hover::after { opacity: 1; }

/* Tartalom legyen a fény fölött */
.glass-card > * { position: relative; z-index: 3; }

@keyframes floaty {
  0%   { transform: translate3d(0, 0, 0); }
  100% { transform: translate3d(0, -4px, 0); }
}
@media (prefers-reduced-motion: reduce) {
  .glass-card { animation: none; transition: none; }
  .glass-card::after { transition: none; }
}

/* ============================== HERO ==================================== */
.hero { padding: clamp(2.2rem, 5vw, 4rem) 0 clamp(1.5rem, 4vw, 2.6rem); }
.hero-grid { display: grid; gap: clamp(2rem, 5vw, 4rem); grid-template-columns: 1fr; align-items: center; }
@media (min-width: 980px) { .hero-grid { grid-template-columns: 1.1fr 1fr; } }

.cta-row { display: flex; flex-wrap: wrap; gap: .75rem; margin: 1.5rem 0 1.2rem; }
.hero-trust { list-style: none; padding: 0; margin: 1.5rem 0 0; display: flex; flex-wrap: wrap; gap: .9rem 1.5rem; color: var(--muted); font-size: .85rem; }
.hero-trust li::before { content: "✓"; color: var(--accent); margin-right: .4rem; }

.hero-card {
  aspect-ratio: 4/3;
  min-height: 420px;
  padding: clamp(1rem, 2vw, 1.2rem);
}
.hero-showcase {
  position: relative;
  display: grid;
  grid-template-rows: minmax(0, 1fr) auto;
  gap: 1rem;
  isolation: isolate;
  overflow: hidden;
}
.hero-showcase-bg {
  position: absolute;
  inset: -10% -8% auto -8%;
  height: 72%;
  background:
    radial-gradient(65% 70% at 25% 35%, rgba(34,211,238,.32), transparent 70%),
    radial-gradient(60% 70% at 70% 45%, rgba(124,92,255,.42), transparent 74%);
  filter: blur(42px);
  opacity: .8;
  z-index: 0;
  pointer-events: none;
}

.hero-rotator {
  position: relative;
  z-index: 2;
}
.hero-rotator-track {
  position: relative;
  margin: 0;
  aspect-ratio: 14/9;
  border-radius: 20px;
  overflow: hidden;
  border-radius: 20px;
  border: 1px solid rgba(255,255,255,0.1);
  box-shadow:
    0 36px 70px -28px rgba(0,0,0,.7),
    0 20px 50px -30px rgba(34,211,238,.45);
  background: rgba(10, 12, 30, 0.66);
}
.hero-slide {
  position: absolute;
  inset: 0;
  margin: 0;
  opacity: 0;
  transform: scale(1.04);
  transition: opacity .75s ease, transform 1.2s cubic-bezier(.22, .61, .36, 1);
}
.hero-slide.is-active {
  opacity: 1;
  transform: scale(1);
}
.hero-slide-image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transform-origin: center;
  animation: floaty 10s ease-in-out infinite alternate;
  filter: saturate(1.08) contrast(1.04);
}
@media (prefers-reduced-motion: reduce) {
  .hero-slide,
  .hero-slide.is-active { transition: none; }
  .hero-slide-image { animation: none; }
}
.hero-shot-caption {
  position: absolute;
  left: 14px;
  bottom: 12px;
  margin: 0;
  padding: .34rem .62rem;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.26);
  background: rgba(9, 12, 30, .72);
  color: #fff;
  font-size: .71rem;
  letter-spacing: .1em;
  text-transform: uppercase;
  backdrop-filter: blur(9px);
}

.hero-rotator-controls {
  position: absolute;
  right: 12px;
  bottom: 12px;
  display: inline-flex;
  gap: .35rem;
  padding: .32rem .42rem;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.2);
  background: rgba(9, 12, 30, .66);
  z-index: 6;
}
.hero-rotator-btn {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  border: 0;
  background: rgba(255,255,255,.34);
  cursor: pointer;
  padding: 0;
}
.hero-rotator-btn.is-active {
  background: #fff;
  box-shadow: 0 0 0 4px rgba(124,92,255,.24);
}

.hero-awards {
  position: relative;
  z-index: 3;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .55rem;
  align-items: stretch;
  margin-top: .25rem;
}
.hero-award {
  border-radius: 12px;
  background: linear-gradient(180deg, rgba(22,26,54,.88), rgba(10,12,30,.88));
  border: 1px solid rgba(255,255,255,0.12);
  min-height: 76px;
  padding: .35rem;
  display: grid;
  place-items: center;
}
.hero-award picture,
.hero-award-image {
  width: 100%;
  height: 100%;
  max-height: 70px;
  object-fit: contain;
  display: block;
  filter: drop-shadow(0 10px 18px rgba(0,0,0,.45));
}

.hero-badges {
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 4;
}
.hero-badge {
  position: absolute;
  padding: .58rem .78rem;
  border-radius: 12px;
  background: linear-gradient(180deg, rgba(20,22,48,0.9), rgba(12,14,32,0.92));
  border: 1px solid rgba(255,255,255,0.12);
  box-shadow: 0 16px 40px -18px rgba(0,0,0,.6), inset 0 1px 0 rgba(255,255,255,0.05);
  backdrop-filter: blur(8px);
  display: grid;
  gap: 2px;
  max-width: 46%;
  font-size: .77rem;
  line-height: 1.25;
}
.hero-badge strong { font-size: .82rem; color: #fff; font-weight: 600; }
.hero-badge small { color: var(--ink-dim); font-size: .7rem; }
.hero-badge::before {
  content: "";
  position: absolute;
  left: -1px;
  top: 12%;
  bottom: 12%;
  width: 2px;
  background: var(--grad);
  border-radius: 2px;
}
.hero-badge-tl { top: 5%; left: 4%; }
.hero-badge-tr { top: 5%; right: 4%; text-align: right; }
.hero-badge-tr::before { left: auto; right: -1px; }
.hero-badge-bl { bottom: 27%; left: 4%; }
.hero-badge-br { bottom: 27%; right: 4%; text-align: right; }
.hero-badge-br::before { left: auto; right: -1px; }

@media (max-width: 840px) {
  .hero-card { min-height: 360px; }
  .hero-badge-bl,
  .hero-badge-br { bottom: 30%; }
}
@media (max-width: 640px) {
  .hero-card { min-height: 300px; padding: .82rem; }
  .hero-rotator-track { aspect-ratio: 4/3; }
  .hero-rotator-controls {
    right: 8px;
    bottom: 8px;
    gap: .28rem;
    padding: .26rem .36rem;
  }
  .hero-rotator-btn { width: 7px; height: 7px; }
  .hero-awards { gap: .4rem; }
  .hero-award { min-height: 64px; }
  .hero-award picture,
  .hero-award-image { max-height: 58px; }
  .hero-badge {
    position: static;
    max-width: none;
    font-size: .7rem;
    padding: .5rem .64rem;
    text-align: left;
  }
  .hero-badges {
    position: static;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: .45rem;
    margin-top: .2rem;
  }
  .hero-badge::before,
  .hero-badge-tr::before,
  .hero-badge-br::before { left: -1px; right: auto; }
}

/* ============================== SECTIONS ================================ */
.section { padding: clamp(2rem, 4.5vw, 3.5rem) 0; position: relative; }
.section-head { text-align: center; max-width: 760px; margin: 0 auto 1.6rem; }

.grid { display: grid; gap: 1.25rem; }
.grid-3 { grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); }
.grid-4 { grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); }
.two-col { display: grid; gap: 2rem; align-items: start; }
@media (min-width: 880px) { .two-col { grid-template-columns: 1fr 1fr; gap: 3rem; } }

.benefits-grid {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 1.25rem;
}
.benefits-grid > .feature {
  flex: 1 1 240px;
  max-width: 292px;
}
@media (max-width: 640px) {
  .benefits-grid > .feature { max-width: none; }
}

.feature .icon { font-size: 1.6rem; width: 44px; height: 44px; display: grid; place-items: center; border-radius: 12px; background: var(--grad); margin-bottom: 1rem; color: #fff; }
.feature h3 { margin-bottom: .35rem; }
.feature p { color: var(--ink-dim); font-size: .94rem; margin: 0; }

/* ========== Demo video ========== */
.section-video { position: relative; }
.video-head { text-align: center; max-width: 720px; margin: 0 auto 2.2rem; }
.video-head h2 { margin: .5rem 0 .6rem; }
.video-head .lead { color: var(--ink-dim); }

.video-card {
  position: relative;
  padding: 14px;
  max-width: 1040px;
  margin: 0 auto;
  overflow: hidden;
}
.video-aura {
  position: absolute; inset: -30% -10% auto -10%; height: 80%;
  background:
    radial-gradient(60% 60% at 30% 30%, rgba(124,92,255,.45), transparent 70%),
    radial-gradient(60% 60% at 75% 60%, rgba(34,211,238,.32), transparent 70%);
  filter: blur(60px); opacity: .65; pointer-events: none; z-index: 0;
}
.video-frame {
  position: relative; z-index: 1;
  border-radius: 18px; overflow: hidden;
  aspect-ratio: 16/9;
  box-shadow:
    0 30px 70px -20px rgba(0,0,0,.6),
    0 18px 60px -28px rgba(124,92,255,.5),
    inset 0 1px 0 rgba(255,255,255,.08);
  background: #07071a;
}
.video-facade {
  position: absolute; inset: 0;
  width: 100%; height: 100%;
  border: 0; padding: 0; margin: 0;
  cursor: pointer; display: block;
  background: #000;
  border-radius: inherit;
  transition: transform .5s cubic-bezier(.2,.8,.2,1);
}
.video-facade picture, .video-facade img {
  position: absolute; inset: 0;
  width: 100%; height: 100%;
  object-fit: cover;
  display: block;
  transition: transform .8s cubic-bezier(.2,.8,.2,1), filter .4s ease;
}
.video-facade:hover img { transform: scale(1.04); filter: saturate(1.15) brightness(1.05); }
.video-overlay {
  position: absolute; inset: 0;
  background:
    linear-gradient(180deg, rgba(7,7,26,.05) 40%, rgba(7,7,26,.55) 100%),
    radial-gradient(60% 60% at 50% 50%, rgba(124,92,255,.10), transparent 70%);
  transition: opacity .3s ease;
}
.video-facade:hover .video-overlay { opacity: .8; }
.video-badge {
  position: absolute; top: 16px; left: 16px;
  font: 600 .72rem/1 'Inter', sans-serif;
  letter-spacing: .08em; text-transform: uppercase;
  padding: .45rem .7rem; border-radius: 999px;
  background: rgba(7,7,26,.55);
  border: 1px solid rgba(255,255,255,.16);
  backdrop-filter: blur(10px);
  color: #fff;
}
.video-duration {
  position: absolute; bottom: 16px; right: 16px;
  font: 600 .78rem/1 'Inter', sans-serif;
  padding: .4rem .55rem; border-radius: 8px;
  background: rgba(7,7,26,.7);
  color: #fff;
  letter-spacing: .03em;
}
.video-play {
  position: absolute; left: 50%; top: 50%;
  transform: translate(-50%, -50%) scale(1);
  display: grid; place-items: center;
  width: 92px; height: 64px;
  transition: transform .35s cubic-bezier(.2,.8,.2,1), filter .35s ease;
  filter: drop-shadow(0 16px 32px rgba(124,92,255,.55));
}
.video-play svg { width: 100%; height: 100%; }
.video-play .vp-bg {
  fill: url(#vpGrad);
  fill: rgba(124,92,255,.95);
  transition: fill .25s ease;
}
.video-facade:hover .video-play { transform: translate(-50%, -50%) scale(1.08); }
.video-facade:hover .video-play .vp-bg { fill: #7C5CFF; }
.video-facade:focus-visible { outline: 3px solid #22D3EE; outline-offset: 4px; }
.video-frame iframe {
  position: absolute; inset: 0;
  width: 100%; height: 100%;
  border: 0; border-radius: inherit;
}
@media (max-width: 640px) {
  .video-card { padding: 8px; }
  .video-play { width: 72px; height: 50px; }
  .video-badge { font-size: .68rem; padding: .35rem .55rem; top: 12px; left: 12px; }
  .video-duration { font-size: .72rem; bottom: 12px; right: 12px; }
}
@media (prefers-reduced-motion: reduce) {
  .video-facade img, .video-facade, .video-play { transition: none; }
}

.partner-strip { display: grid; gap: 1.25rem; align-items: center; }
@media (min-width: 980px) { .partner-strip { grid-template-columns: 1.2fr 2fr auto; padding: 1.6rem 2rem; } }
.partner-perks { list-style: none; padding: 0; margin: 0; display: grid; gap: .75rem; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); }
.partner-perks li { display: grid; grid-template-columns: auto 1fr; gap: .25rem .6rem; align-items: center; }
.partner-perks .dot { width: 10px; height: 10px; border-radius: 50%; background: var(--grad); grid-row: span 2; }
.partner-perks small { color: var(--muted); font-size: .78rem; grid-column: 2; }

.logos { margin-top: 2.5rem; text-align: center; }
.logos-label { font-size: .78rem; letter-spacing: .25em; text-transform: uppercase; color: var(--muted); margin-bottom: 1.2rem; }
.logos-row { display: flex; flex-wrap: wrap; justify-content: center; gap: 1.8rem 2.6rem; opacity: .8; }
.logo-item { font-family: 'Space Grotesk'; font-weight: 700; letter-spacing: .03em; color: var(--ink-dim); font-size: 1.05rem; }

/* ---- Trusted-by infinite marquee ---- */
.marquee {
  position: relative;
  overflow: hidden;
  padding: 1rem 0;
  -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 12%, #000 88%, transparent 100%);
          mask-image: linear-gradient(90deg, transparent 0, #000 12%, #000 88%, transparent 100%);
}
.marquee-track {
  display: flex;
  width: max-content;
  gap: 3.4rem;
  align-items: center;
  animation: marquee 38s linear infinite;
  will-change: transform;
}
.marquee:hover .marquee-track { animation-play-state: paused; }
.marquee-item {
  flex: 0 0 auto;
  display: grid; place-items: center;
  height: 56px;
  min-width: 140px;
  padding: 0 .8rem;
  border-radius: 12px;
  text-decoration: none;
  filter: grayscale(1) brightness(1.15);
  opacity: .65;
  transition: opacity .35s ease, filter .35s ease, transform .35s ease, background .35s ease;
}
.marquee-item:hover {
  opacity: 1;
  filter: grayscale(0) brightness(1);
  transform: translateY(-2px);
  background: rgba(255,255,255,0.03);
}
.marquee-item img {
  max-height: 38px;
  max-width: 180px;
  width: auto; height: auto;
  display: block;
  object-fit: contain;
}
.marquee-text {
  font-family: 'Space Grotesk', sans-serif;
  font-weight: 700;
  font-size: 1.4rem;
  letter-spacing: .02em;
  color: var(--ink);
  white-space: nowrap;
}
@keyframes marquee {
  from { transform: translate3d(0, 0, 0); }
  to   { transform: translate3d(-50%, 0, 0); }
}
@media (max-width: 640px) {
  .marquee-track { gap: 2.2rem; animation-duration: 28s; }
  .marquee-item { height: 48px; min-width: 110px; }
  .marquee-item img { max-height: 30px; max-width: 130px; }
  .marquee-text { font-size: 1.15rem; }
}
@media (prefers-reduced-motion: reduce) {
  .marquee-track { animation: none; }
  .marquee { -webkit-mask-image: none; mask-image: none; overflow-x: auto; }
}

.check-list { list-style: none; padding: 0; margin: 1rem 0; display: grid; gap: .65rem; }
.check-list li { padding-left: 1.8rem; position: relative; color: var(--ink-dim); }
.check-list li::before { content: "✓"; position: absolute; left: 0; top: 0; width: 1.3rem; height: 1.3rem; display: grid; place-items: center; border-radius: 50%; background: var(--grad); color: #fff; font-size: .75rem; }

.stats { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; padding: 1.6rem; }
.stat-num { font-family: 'Space Grotesk'; font-size: 2.4rem; font-weight: 700; background: var(--grad); -webkit-background-clip: text; background-clip: text; color: transparent; }
.stat-lbl { color: var(--ink-dim); font-size: .9rem; }

.steps {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  gap: 1.25rem;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
}
.steps .step {
  position: relative;
  padding: 1.25rem 1.25rem 1.15rem;
  min-height: 100%;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.11);
  background:
    radial-gradient(120% 120% at 18% 12%, rgba(124,92,255,.16), transparent 48%),
    radial-gradient(120% 120% at 90% 90%, rgba(34,211,238,.13), transparent 56%),
    rgba(8,12,34,.56);
}
.steps .step::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(180deg, rgba(255,255,255,.06), transparent 24%);
}
.steps .step-num {
  width: 42px;
  height: 42px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  font-family: 'Space Grotesk','Inter',sans-serif;
  font-size: .95rem;
  font-weight: 800;
  letter-spacing: .08em;
  color: #f4f8ff;
  background: radial-gradient(120% 120% at 25% 20%, #8b76ff 0%, #31d7f8 64%, #1db6f0 100%);
  border: 1px solid rgba(255,255,255,.28);
  box-shadow: 0 10px 28px -14px rgba(34,211,238,.72), inset 0 1px 0 rgba(255,255,255,.24);
  margin-bottom: .75rem;
  position: relative;
  z-index: 1;
}
.steps .step h3 {
  margin: 0 0 .55rem;
  font-size: clamp(1.22rem, 1.4vw, 1.62rem);
  line-height: 1.18;
  position: relative;
  z-index: 1;
}
.steps .step p {
  margin: 0;
  color: var(--ink-dim);
  line-height: 1.62;
  font-size: clamp(1.03rem, 1.04vw, 1.1rem);
  position: relative;
  z-index: 1;
}
@media (max-width: 640px) {
  .steps .step { padding: 1rem .95rem .95rem; }
  .steps .step-num { width: 38px; height: 38px; font-size: .86rem; }
}

.tech ul { list-style: none; padding: 0; margin: .8rem 0 0; display: grid; gap: .35rem; }
.tech li { color: var(--ink-dim); font-size: .9rem; padding-left: 1rem; position: relative; }
.tech li::before { content: "›"; color: var(--accent); position: absolute; left: 0; }

.uc h3 { font-size: 1.1rem; }
.uc p { color: var(--ink-dim); margin: 0; font-size: .94rem; }

.usecases-tiles {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1.2rem;
}
.usecases-tiles .uc { padding: 1.4rem; }
@media (max-width: 1100px) {
  .usecases-tiles { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 640px) {
  .usecases-tiles { grid-template-columns: 1fr; }
}

.values ul { list-style: none; padding: 0; margin: 0; display: grid; gap: .8rem; }
.values li { color: var(--ink-dim); }
.values strong { color: var(--ink); }

/* FAQ */
.faq-list { display: grid; gap: .8rem; max-width: 880px; margin: 0 auto; }
.faq-item { padding: 0; }
.faq-item summary { list-style: none; cursor: pointer; padding: 1.1rem 1.4rem; display: flex; justify-content: space-between; align-items: center; gap: 1rem; font-weight: 600; }
.faq-item summary::-webkit-details-marker { display: none; }
.faq-item summary::after { content: "+"; font-size: 1.4rem; color: var(--ink-dim); transition: transform .3s; }
.faq-item[open] summary::after { content: "−"; }
.faq-item p { padding: 0 1.4rem 1.2rem; color: var(--ink-dim); margin: 0; }

/* FORMS */
.form { display: grid; gap: 1rem; padding: 1.8rem; }
.form-wide { max-width: 880px; margin: 0 auto; }
.form .row { display: grid; gap: 1rem; }
.form .row.two { grid-template-columns: 1fr; }
.form .row.three { grid-template-columns: 1fr; }
@media (min-width: 720px) { .form .row.two { grid-template-columns: 1fr 1fr; } .form .row.three { grid-template-columns: 1fr 1fr 1fr; } }
.form label { display: grid; gap: .35rem; font-size: .9rem; color: var(--ink-dim); }
.form label > span { color: var(--ink-dim); font-size: .82rem; }
.form input[type=text], .form input[type=email], .form input[type=tel], .form input[type=url], .form textarea {
  width: 100%; padding: .85rem 1rem; border-radius: 12px; border: 1px solid var(--line-2);
  background: rgba(7,7,26,0.5); color: var(--ink); font: inherit; transition: border-color .2s, box-shadow .2s;
}
.form input:focus, .form textarea:focus { outline: none; border-color: var(--primary); box-shadow: 0 0 0 4px rgba(108, 124, 255, .18); }
.form .check { display: flex; align-items: center; gap: .55rem; flex-direction: row; }
.form .check input { width: 18px; height: 18px; accent-color: var(--primary); }
.form .hp { position: absolute; left: -9999px; }
.form button[type=submit] { justify-self: start; }

/* ============================== FOOTER ================================== */
.site-footer {
  position: relative;
  margin-top: 2.5rem;
  padding: clamp(2rem, 4.5vw, 3.2rem) 0 1.4rem;
  border-top: 1px solid var(--line);
  background:
    radial-gradient(800px 400px at 80% 0%, rgba(34,211,238,0.08), transparent 60%),
    radial-gradient(700px 360px at 0% 100%, rgba(124,92,255,0.10), transparent 60%),
    linear-gradient(180deg, rgba(7,7,26,0), rgba(7,7,26,.75));
}
.site-footer::before {
  content: ""; position: absolute; left: 0; right: 0; top: -1px; height: 1px;
  background: linear-gradient(90deg, transparent, rgba(124,92,255,.6), rgba(34,211,238,.6), transparent);
  opacity: .55;
}
.footer-grid { display: grid; gap: 2.2rem; grid-template-columns: 1fr; }
@media (min-width: 760px)  { .footer-grid { grid-template-columns: 2fr 1fr 1fr; gap: 2.2rem; } }
@media (min-width: 1200px) { .footer-grid { grid-template-columns: 2fr 1fr 1fr 1fr 1fr; gap: 2.5rem; } }

.footer-col :is(h3, h4) { font-size: .78rem; letter-spacing: .22em; text-transform: uppercase; color: var(--muted); margin-bottom: 1rem; font-weight: 600; }
.footer-col ul { list-style: none; padding: 0; margin: 0; display: grid; gap: .65rem; }
.footer-col a { color: var(--ink-dim); transition: color .2s, transform .2s; display: inline-block; }
.footer-col a:hover { color: var(--ink); transform: translateX(2px); }

.footer-brand .brand { font-size: 1.1rem; }
.footer-brand .muted { max-width: 38ch; }
.contact-list { list-style: none; padding: 0; margin: 1.1rem 0 0; display: grid; gap: .6rem; color: var(--ink-dim); font-size: .92rem; }
.contact-list li { display: flex; align-items: center; gap: .65rem; }
.contact-list .ci {
  display: inline-grid; place-items: center; width: 28px; height: 28px;
  border-radius: 8px; background: rgba(255,255,255,0.04); border: 1px solid var(--line-2);
  font-size: .85rem; color: var(--ink-dim); flex: none;
}
.contact-list a { color: var(--ink-dim); }
.contact-list a:hover { color: var(--accent); }

.social { margin-top: 1.2rem; display: flex; gap: .6rem; }
.social a { display: inline-grid; place-items: center; width: 38px; height: 38px; border: 1px solid var(--line-2); border-radius: 50%; font-weight: 700; background: rgba(255,255,255,0.03); transition: background .2s, border-color .2s, transform .2s, color .2s; }
.social a:hover { background: var(--grad); border-color: transparent; color: #fff; transform: translateY(-2px); }

.footer-bottom { display: flex; justify-content: space-between; align-items: center; gap: 1rem; flex-wrap: wrap; margin-top: 2.5rem; padding-top: 1.4rem; border-top: 1px solid var(--line); color: var(--muted); font-size: .82rem; }
.footer-bottom p { margin: 0; }
.footer-bottom .credit { font-size: .78rem; opacity: .8; }

/* Footer belső elválasztó és partner CTA link */
.footer-divider { height: 1px; background: rgba(255,255,255,.07); margin: .9rem 0; }
.footer-cta-link {
  color: var(--accent) !important;
  font-weight: 600;
  position: relative;
}
.footer-cta-link::after {
  content: ' →';
  font-style: normal;
  opacity: .75;
}
.footer-cta-link:hover { color: var(--accent) !important; opacity: .85; }

/* Footer mobil finomhangolás */
@media (max-width: 759px) {
  .site-footer { margin-top: 3.5rem; padding-top: 2.6rem; }
  .footer-grid { gap: 0; }
  .footer-brand { padding-bottom: 1.4rem; }
  .footer-col { padding: 1.2rem 0; border-top: 1px solid rgba(255,255,255,0.08); }
  .footer-col.footer-brand { border-top: 0; padding-top: 0; }
  .footer-col :is(h3, h4) { margin-bottom: .55rem; font-size: .68rem; letter-spacing: .24em; }
  .footer-col ul { gap: .35rem; }
  .footer-col a { font-size: .9rem; padding: .1rem 0; }
  .contact-list { font-size: .88rem; gap: .5rem; }
  .contact-list .ci { width: 26px; height: 26px; font-size: .8rem; }

  .footer-bottom {
    flex-direction: column; align-items: center; text-align: center;
    margin-top: 1.6rem; padding-top: 1.4rem; gap: .3rem;
    font-size: .76rem;
  }
  .footer-bottom .credit { font-size: .72rem; opacity: .7; }
  .social-brand { margin-top: 1rem; }
}

/* =========================================================================
   Reveal-on-scroll – IntersectionObserverrel toggle-elt 'is-visible' osztály
   - oda-vissza görgetésnél is mindig megjelenik a megfelelő irányban
   ========================================================================= */
.reveal {
  opacity: 0;
  transform: translateY(28px) scale(.985);
  transition: opacity .8s cubic-bezier(.2,.7,.2,1), transform .8s cubic-bezier(.2,.7,.2,1);
  transition-delay: var(--d, 0s);
  will-change: transform, opacity;
}
.reveal.is-visible { opacity: 1; transform: translateY(0) scale(1); }
@media (prefers-reduced-motion: reduce) {
  .reveal { opacity: 1; transform: none; transition: none; }
}

/* Tilt – 3D imbolygás kártyán (JS állítja a változókat) */
[data-tilt] { transform-style: preserve-3d; }
[data-tilt] .glass-card { transform: rotateX(var(--ry, 0deg)) rotateY(var(--rx, 0deg)); transition: transform .25s ease-out; }
@media (prefers-reduced-motion: reduce) {
  [data-tilt] .glass-card { transform: none; }
}

/* Form státusz */
.form-status { min-height: 1.2em; font-size: .9rem; margin: 0; }
.form-status.ok { color: #6ee7b7; }
.form-status.err { color: #fca5a5; }

/* Kis vizuális finom-hangolás mobilon */
@media (max-width: 720px) {
  .badge { min-width: 110px; font-size: .72rem; padding: .5rem .65rem; }
  .badge small { font-size: .68rem; }
  .device { width: 80%; }
}

/* =========================================================================
   PARTNERS INNER PAGE
   ========================================================================= */
.hero-inner { padding-top: 4rem; padding-bottom: 1.5rem; }
.breadcrumb {
  display: flex; align-items: center; gap: .55rem;
  font-size: .85rem; color: var(--muted);
  margin-bottom: 2rem;
  letter-spacing: .03em;
}
.breadcrumb a {
  color: var(--ink-dim); text-decoration: none;
  transition: color .25s ease;
}
.breadcrumb a:hover { color: var(--ink); }
.breadcrumb [aria-current="page"] {
  color: var(--ink);
  background: linear-gradient(90deg, rgba(124,92,255,.18), rgba(34,211,238,.14));
  padding: .25rem .6rem; border-radius: 999px;
  border: 1px solid rgba(255,255,255,.08);
}
.hero-grid-inner { align-items: center; }

.section-partner-decision { padding: 0 0 clamp(1.4rem, 3vw, 2rem); }
.partner-decision-strip {
  display: grid;
  grid-template-columns: 1.15fr 1fr auto;
  gap: 1.1rem;
  align-items: center;
  padding: 1.4rem 1.45rem;
  border-radius: 22px;
  background:
    linear-gradient(135deg, rgba(124,92,255,.14), rgba(34,211,238,.08)),
    rgba(255,255,255,.03);
}
.pds-copy h2 { margin: .25rem 0 .45rem; font-size: clamp(1.18rem, 2vw, 1.7rem); }
.pds-copy p { margin: 0; color: var(--ink-dim); line-height: 1.58; }
.pds-points { display: grid; gap: .58rem; }
.pds-point { display: flex; align-items: flex-start; gap: .6rem; color: var(--ink-dim); font-size: .92rem; }
.pds-mark {
  width: 20px; height: 20px; flex: 0 0 20px;
  border-radius: 999px;
  display: inline-flex; align-items: center; justify-content: center;
  background: rgba(34,211,238,.14); color: #b7f5ff;
  font-size: .74rem; font-weight: 800; margin-top: .1rem;
}
.pds-actions { display: flex; gap: .6rem; flex-wrap: wrap; justify-content: flex-end; }

/* Section head (centered) */
.section-head {
  text-align: center;
  max-width: 760px;
  margin: 0 auto 2.5rem;
}
.section-head h2 { margin-bottom: .65rem; }
.section-head .lead { color: var(--ink-dim); }
.section-alt { background:
  radial-gradient(ellipse at 50% 0%, rgba(124,92,255,.10), transparent 60%),
  radial-gradient(ellipse at 50% 100%, rgba(34,211,238,.08), transparent 60%);
}

/* Metrics card (hero visual) */
.metrics-card { padding: 1.6rem; position: relative; overflow: hidden; }
.metrics-grid {
  position: relative; z-index: 2;
  display: grid; gap: 1rem;
  grid-template-columns: 1fr 1fr;
}
.metric {
  padding: 1rem .9rem;
  border-radius: 14px;
  background: linear-gradient(135deg, rgba(255,255,255,.04), rgba(255,255,255,.01));
  border: 1px solid rgba(255,255,255,.06);
  transition: transform .35s cubic-bezier(.2,.8,.2,1), border-color .35s ease, background .35s ease;
}
.metric:hover {
  transform: translateY(-3px);
  border-color: rgba(124,92,255,.35);
  background: linear-gradient(135deg, rgba(124,92,255,.10), rgba(34,211,238,.05));
}
.metric-num {
  font-family: 'Space Grotesk', sans-serif;
  font-size: 1.6rem; font-weight: 700;
  background: var(--grad);
  -webkit-background-clip: text; background-clip: text;
  color: transparent;
  line-height: 1.1;
}
.metric-lbl { color: var(--ink-dim); font-size: .82rem; margin-top: .25rem; }
.metrics-orbit {
  position: absolute; inset: 0;
  pointer-events: none; z-index: 1;
}
.orbit {
  position: absolute; left: 50%; top: 50%;
  border-radius: 50%;
  border: 1px solid rgba(124,92,255,.18);
  transform: translate(-50%, -50%);
}
.orbit-1 { width: 110%; height: 110%; animation: spin 28s linear infinite; }
.orbit-2 { width: 75%; height: 75%; border-color: rgba(34,211,238,.16); animation: spin 38s linear reverse infinite; }
.orbit-core {
  position: absolute; left: 50%; top: 50%;
  width: 8px; height: 8px; border-radius: 50%;
  background: var(--grad);
  box-shadow: 0 0 24px 6px rgba(124,92,255,.55);
  transform: translate(-50%, -50%);
}
@keyframes spin {
  from { transform: translate(-50%, -50%) rotate(0deg); }
  to   { transform: translate(-50%, -50%) rotate(360deg); }
}
@media (prefers-reduced-motion: reduce) {
  .orbit-1, .orbit-2 { animation: none; }
}

/* Reasons grid */
.reasons-grid {
  display: grid; gap: 1.2rem;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
}
@media (min-width: 980px) {
  .reasons-grid { grid-template-columns: repeat(3, 1fr); }
  .reasons-grid > article:last-child { grid-column: 2; }
}
.reason { padding: 1.6rem 1.5rem; display: flex; flex-direction: column; gap: .7rem; }
.reason-head {
  display: flex; align-items: center; justify-content: space-between;
  margin-bottom: .25rem;
}
.reason-tag {
  font-family: 'Space Grotesk', sans-serif;
  font-weight: 700;
  font-size: .82rem;
  letter-spacing: .12em;
  padding: .3rem .6rem;
  border-radius: 999px;
  background: linear-gradient(90deg, rgba(124,92,255,.22), rgba(34,211,238,.18));
  border: 1px solid rgba(255,255,255,.08);
  color: #fff;
}
.reason-icon {
  font-size: 1.5rem;
  width: 44px; height: 44px;
  display: flex; align-items: center; justify-content: center;
  border-radius: 12px;
  background: var(--grad);
  color: #fff;
  overflow: hidden;
  padding: 0;
}
.reason-icon img {
  max-height: 38px;
  max-width: 38px;
  margin: 0 auto;
  display: block;
  object-fit: contain;
  box-shadow: 0 2px 8px 0 rgba(0,0,0,.10);
}
}
.reason h3 { margin: 0; font-size: 1.2rem; }
.reason-lead {
  margin: 0;
  color: var(--ink);
  font-weight: 500;
  font-size: .92rem;
  letter-spacing: .01em;
}
.reason-text { margin: 0; color: var(--ink-dim); font-size: .92rem; }
.reason .check-list { margin-top: .35rem; }
.reason .check-list li { font-size: .88rem; }

/* Profile cards */
.profile-card {
  padding: 1.4rem;
  position: relative; overflow: hidden;
  transition: transform .35s cubic-bezier(.2,.8,.2,1);
}
.profile-card:hover { transform: translateY(-4px); }
.profile-num {
  font-family: 'Space Grotesk', sans-serif;
  font-size: 2.6rem; font-weight: 700;
  background: var(--grad);
  -webkit-background-clip: text; background-clip: text;
  color: transparent;
  line-height: 1; margin-bottom: .55rem;
  opacity: .9;
}
.profile-card h3 { font-size: 1.05rem; margin-bottom: .35rem; }
.profile-card p { color: var(--ink-dim); font-size: .9rem; margin: 0; }

/* CTA Band */
.cta-band {
  position: relative;
  padding: 2rem;
  display: grid; gap: 1.4rem;
  align-items: center;
  overflow: hidden;
}
@media (min-width: 880px) {
  .cta-band { grid-template-columns: 1.6fr auto; padding: 2.4rem 2.6rem; }
}
.cta-band-content h2 { margin: 0 0 .4rem; font-size: 1.65rem; }
.cta-band-content p { margin: 0; color: var(--ink-dim); }
.partner-cta-steps {
  display: flex;
  flex-wrap: wrap;
  gap: .55rem;
  margin-top: .8rem;
}
.partner-cta-steps span {
  padding: .42rem .7rem;
  border-radius: 999px;
  background: rgba(255,255,255,.05);
  border: 1px solid rgba(255,255,255,.1);
  color: var(--ink-dim);
  font-size: .8rem;
}
.cta-band-actions {
  display: flex; flex-wrap: wrap; gap: .7rem;
}
.cta-band-glow {
  position: absolute; inset: -50% -10% auto -10%; height: 140%;
  background:
    radial-gradient(50% 50% at 25% 50%, rgba(124,92,255,.40), transparent 70%),
    radial-gradient(45% 45% at 80% 60%, rgba(34,211,238,.32), transparent 70%);
  filter: blur(60px); opacity: .55;
  pointer-events: none;
}

/* Inner hero responsive tuning */
@media (max-width: 880px) {
  .hero-inner { padding-top: 3rem; }
  .breadcrumb { margin-bottom: 1.2rem; }
  .partner-decision-strip { grid-template-columns: 1fr; }
  .pds-actions { justify-content: flex-start; }
  .metrics-card { padding: 1.2rem; }
  .metric-num { font-size: 1.4rem; }
  .reason { padding: 1.3rem 1.2rem; }
}

/* ===========================================================
   COOKIE CONSENT
   =========================================================== */
.cookie-consent{
  position: fixed;
  inset: auto 0 0 0;
  z-index: 1000;
  display: flex;
  justify-content: center;
  padding: clamp(12px, 2.4vw, 28px);
  pointer-events: none;
}
.cookie-consent[hidden]{ display:none; }
.cookie-consent-card{
  pointer-events: auto;
  width: min(1080px, 100%);
  padding: clamp(18px, 2.2vw, 26px) clamp(20px, 2.6vw, 32px);
  border-radius: 22px;
  background: linear-gradient(135deg, rgba(20,18,40,.86), rgba(14,12,28,.78));
  border: 1px solid rgba(255,255,255,.10);
  box-shadow:
    0 30px 80px rgba(0,0,0,.55),
    0 0 0 1px rgba(140,90,255,.12) inset,
    0 0 60px rgba(140,90,255,.18);
  backdrop-filter: blur(22px) saturate(160%);
  -webkit-backdrop-filter: blur(22px) saturate(160%);
  position: relative;
  overflow: hidden;
  transform: translateY(28px);
  opacity: 0;
  transition: transform .55s cubic-bezier(.2,.8,.25,1), opacity .45s ease;
}
.cookie-consent.is-visible .cookie-consent-card{
  transform: translateY(0);
  opacity: 1;
}
.cookie-consent-card::before{
  content:"";
  position:absolute; inset:-2px;
  border-radius: inherit;
  background:
    radial-gradient(140% 90% at 0% 0%, rgba(140,90,255,.18), transparent 55%),
    radial-gradient(120% 90% at 100% 100%, rgba(0,225,255,.14), transparent 55%);
  pointer-events:none;
  z-index:0;
}
.cookie-view{
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: clamp(14px, 2vw, 22px);
}
.cookie-view[hidden]{ display:none; }
.cookie-icon{
  width: 52px; height: 52px;
  display: grid; place-items: center;
  border-radius: 14px;
  color: #cbb6ff;
  background: linear-gradient(135deg, rgba(140,90,255,.22), rgba(0,225,255,.14));
  border: 1px solid rgba(255,255,255,.10);
  box-shadow: 0 0 24px rgba(140,90,255,.25) inset;
  flex: 0 0 auto;
}
.cookie-body{ min-width: 0; }
.cookie-title{
  margin: 0 0 6px;
  font-size: clamp(16px, 1.15vw, 19px);
  font-weight: 700;
  letter-spacing: -.01em;
  color: #fff;
}
.cookie-text{
  margin: 0;
  color: rgba(229,225,255,.80);
  font-size: 14px;
  line-height: 1.55;
}
.cookie-link{
  color: #c9b8ff;
  text-decoration: underline;
  text-decoration-color: rgba(201,184,255,.4);
  text-underline-offset: 3px;
  margin-left: 4px;
}
.cookie-link:hover{ color:#fff; text-decoration-color:#fff; }
.cookie-actions{
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  justify-content: flex-end;
  align-items: center;
}
.cookie-btn{
  white-space: nowrap;
  padding: 10px 18px;
  font-size: 14px;
  border-radius: 12px;
}

/* preferences view */
.cookie-body-prefs{ grid-column: 1 / -1; }
.cookie-cats{
  list-style: none;
  margin: 14px 0 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 12px;
}
.cookie-cat{
  padding: 14px 16px;
  border-radius: 14px;
  border: 1px solid rgba(255,255,255,.08);
  background: rgba(255,255,255,.03);
}
.cookie-cat-head{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 6px;
}
.cookie-cat-title{
  font-weight: 600;
  font-size: 14.5px;
  color: #fff;
}
.cookie-cat-text{
  margin: 0;
  font-size: 13px;
  line-height: 1.5;
  color: rgba(229,225,255,.72);
}
.cookie-toggle{
  position: relative;
  display: inline-block;
  width: 38px;
  height: 22px;
  cursor: pointer;
  flex: 0 0 auto;
}
.cookie-toggle.is-locked{ cursor: not-allowed; opacity: .65; }
.cookie-toggle input{ position:absolute; inset:0; opacity:0; cursor:inherit; margin:0; }
.cookie-toggle-track{
  position: absolute; inset: 0;
  border-radius: 999px;
  background: rgba(255,255,255,.10);
  border: 1px solid rgba(255,255,255,.12);
  transition: background .25s ease, border-color .25s ease;
}
.cookie-toggle-thumb{
  position: absolute;
  top: 2px; left: 2px;
  width: 16px; height: 16px;
  border-radius: 50%;
  background: linear-gradient(135deg, #fff, #d8ccff);
  box-shadow: 0 4px 10px rgba(0,0,0,.35);
  transition: transform .25s cubic-bezier(.2,.8,.25,1);
}
.cookie-toggle input:checked + .cookie-toggle-track{
  background: linear-gradient(135deg, rgba(140,90,255,.85), rgba(0,225,255,.65));
  border-color: rgba(255,255,255,.30);
}
.cookie-toggle input:checked + .cookie-toggle-track .cookie-toggle-thumb{
  transform: translateX(16px);
}
.cookie-toggle input:focus-visible + .cookie-toggle-track{
  box-shadow: 0 0 0 3px rgba(140,90,255,.35);
}

@media (max-width: 880px){
  .cookie-view{ grid-template-columns: 1fr; }
  .cookie-icon{ display:none; }
  .cookie-actions{ justify-content: stretch; }
  .cookie-actions .cookie-btn{ flex: 1 1 140px; justify-content:center; }
}
@media (max-width: 480px){
  .cookie-actions .cookie-btn{ flex: 1 1 100%; }
}
@media (prefers-reduced-motion: reduce){
  .cookie-consent-card{ transition: none; }
}


/* Mobile Safari load-time performance mode (set by JS via .is-mobile-safari) */
.is-mobile-safari .bg-aurora { display: none; }
.is-mobile-safari .site-header,
.is-mobile-safari .glass-card,
.is-mobile-safari .event-ticker,
.is-mobile-safari .event-ticker-wrap {
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
}
.is-mobile-safari .reveal {
  opacity: 1;
  transform: none;
  transition: none;
  will-change: auto;
}
/* =========================================================================
   DOWNLOADS PAGE — "Letöltések"
   Üveg-kártyák; animált hero orb; animált placeholder kép helyett.
   ========================================================================= */

/* ---- HERO -------------------------------------------------------------- */
.dl-hero {
  display: grid;
  gap: clamp(2rem, 5vw, 4rem);
  grid-template-columns: 1fr;
  align-items: start;
  padding-bottom: clamp(.7rem, 2.2vw, 1.6rem);
}
@media (min-width: 980px) {
  .dl-hero { grid-template-columns: 1.15fr 1fr; }
}
.dl-hero-copy .display { margin-bottom: .65rem; }
.dl-hero-meta {
  display: flex; flex-wrap: wrap; align-items: center; gap: .75rem 1rem;
  margin-top: 1.5rem;
}
.dl-pill {
  display: inline-flex; align-items: baseline; gap: .55rem;
  padding: .55rem .95rem;
  border-radius: 999px;
  border: 1px solid var(--line-2);
  background: rgba(255,255,255,0.03);
  backdrop-filter: blur(8px);
}
.dl-pill-num {
  font-family: 'Space Grotesk', 'Inter', sans-serif;
  font-weight: 700; font-size: 1.05rem;
  background: var(--grad);
  -webkit-background-clip: text; background-clip: text; color: transparent;
  letter-spacing: -0.01em;
}
.dl-pill-lbl { font-size: .82rem; color: var(--ink-dim); letter-spacing: .02em; }

/* ---- DECISION STRIP ---------------------------------------------------- */
.section-dl-decision { padding: 0 0 clamp(1.2rem, 2.8vw, 1.8rem); }
.dl-decision-strip {
  display: grid;
  grid-template-columns: 1.15fr 1fr auto;
  gap: 1rem;
  align-items: center;
  padding: 1.35rem 1.35rem;
  border-radius: 22px;
  background:
    linear-gradient(135deg, rgba(124,92,255,.13), rgba(34,211,238,.08)),
    rgba(255,255,255,.03);
}
.dld-copy h2 { margin: .25rem 0 .45rem; font-size: clamp(1.14rem, 1.9vw, 1.6rem); }
.dld-copy p { margin: 0; color: var(--ink-dim); line-height: 1.58; }
.dld-points { display: grid; gap: .54rem; }
.dld-point { display: flex; gap: .58rem; align-items: flex-start; font-size: .9rem; color: var(--ink-dim); }
.dld-mark {
  width: 20px; height: 20px; flex: 0 0 20px;
  display: inline-flex; align-items: center; justify-content: center;
  border-radius: 999px;
  background: rgba(34,211,238,.14); color: #bdf5ff;
  font-size: .74rem; font-weight: 800; margin-top: .08rem;
}
.dld-actions { display: flex; gap: .55rem; flex-wrap: wrap; justify-content: flex-end; }

/* ---- HERO ORB ---------------------------------------------------------- */
.dl-hero-visual {
  position: relative;
  min-height: clamp(180px, 24vw, 280px);
  display: grid; place-items: center;
}
.dl-orb {
  position: relative;
  width: min(320px, 84%);
  aspect-ratio: 1 / 1;
  display: grid; place-items: center;
}
.dl-orb::before {
  content: ""; position: absolute; inset: 8%;
  border-radius: 50%;
  background:
    radial-gradient(circle at 50% 40%, rgba(124,92,255,0.35), transparent 60%),
    radial-gradient(circle at 50% 60%, rgba(34,211,238,0.22), transparent 65%);
  filter: blur(20px);
}
.dl-orb-ring {
  position: absolute; inset: 0;
  border-radius: 50%;
  border: 1px solid rgba(255,255,255,0.10);
  pointer-events: none;
}
.dl-orb-ring.r1 {
  border-color: rgba(124,92,255,0.35);
  border-top-color: rgba(124,92,255,0.85);
  border-right-color: rgba(34,211,238,0.55);
  animation: dl-orb-spin 14s linear infinite;
}
.dl-orb-ring.r2 {
  inset: 12%;
  border-color: rgba(34,211,238,0.20);
  border-bottom-color: rgba(34,211,238,0.85);
  animation: dl-orb-spin 22s linear infinite reverse;
}
.dl-orb-ring.r3 {
  inset: 24%;
  border-color: rgba(255,255,255,0.08);
  border-left-color: rgba(124,92,255,0.7);
  animation: dl-orb-spin 9s linear infinite;
}
.dl-orb-core {
  position: relative;
  width: 38%; aspect-ratio: 1/1;
  display: grid; place-items: center;
  border-radius: 50%;
  background: linear-gradient(160deg, rgba(255,255,255,0.10), rgba(255,255,255,0.02));
  border: 1px solid rgba(255,255,255,0.18);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,0.18),
    0 18px 50px -10px rgba(124,92,255,0.55);
  backdrop-filter: blur(14px);
  color: #fff;
  animation: dl-orb-bob 4.5s ease-in-out infinite;
}
.dl-orb-core svg { animation: dl-orb-arrow 2.6s ease-in-out infinite; }
.dl-orb-spark {
  position: absolute;
  width: 6px; height: 6px;
  border-radius: 50%;
  background: var(--accent);
  box-shadow: 0 0 14px 4px rgba(34,211,238,0.65);
  opacity: 0;
}
.dl-orb-spark.s1 { top: 10%;  left: 50%; animation: dl-spark 3.2s ease-in-out infinite; }
.dl-orb-spark.s2 { top: 50%;  left: 90%; animation: dl-spark 3.2s ease-in-out infinite .8s;  background: var(--accent-2); box-shadow: 0 0 14px 4px rgba(124,92,255,0.7); }
.dl-orb-spark.s3 { top: 90%;  left: 50%; animation: dl-spark 3.2s ease-in-out infinite 1.6s; }
.dl-orb-spark.s4 { top: 50%;  left: 10%; animation: dl-spark 3.2s ease-in-out infinite 2.4s; background: var(--accent-2); box-shadow: 0 0 14px 4px rgba(124,92,255,0.7); }
@keyframes dl-orb-spin { to { transform: rotate(360deg); } }
@keyframes dl-orb-bob  { 0%,100% { transform: translateY(-3px); } 50% { transform: translateY(3px); } }
@keyframes dl-orb-arrow {
  0%, 100% { transform: translateY(-2px); }
  50%      { transform: translateY(4px); }
}
@keyframes dl-spark {
  0%, 100% { opacity: 0; transform: scale(.6); }
  50%      { opacity: 1;   transform: scale(1.1); }
}
@media (prefers-reduced-motion: reduce) {
  .dl-orb-ring, .dl-orb-core, .dl-orb-core svg, .dl-orb-spark { animation: none; }
}

/* ---- KATEGÓRIA SZEKCIÓ -------------------------------------------------- */
.dl-cat { padding-top: clamp(2rem, 5vw, 4rem); padding-bottom: clamp(2.5rem, 5vw, 4.5rem); }
.dl-cat-head { position: relative; }
.dl-cat-num {
  display: block;
  font-family: 'Space Grotesk', 'Inter', sans-serif;
  font-size: clamp(2.4rem, 6vw, 4rem);
  font-weight: 800;
  line-height: 1;
  letter-spacing: -0.04em;
  margin-bottom: .35rem;
  background: var(--grad);
  -webkit-background-clip: text; background-clip: text; color: transparent;
  opacity: .85;
}

/* ---- KÁRTYÁK GRID ------------------------------------------------------- */
.dl-grid {
  display: grid;
  gap: clamp(1rem, 2.4vw, 1.6rem);
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
}

/* ---- KÁRTYA (extends glass-card) ---------------------------------------- */
.dl-card {
  padding: 0;
  display: flex; flex-direction: column;
  overflow: hidden;
  animation: none;
}
.dl-card:hover .dl-media img { transform: scale(1.06); }
.dl-card:hover .dl-placeholder .dl-ph-doc { transform: translate(-50%, -52%) rotate(-1.5deg); }
.dl-card:hover .dl-placeholder .dl-ph-arrow { transform: translate(-50%, 0) scale(1.08); }

/* ---- MÉDIA terület ------------------------------------------------------ */
.dl-media {
  position: relative;
  width: 100%;
  aspect-ratio: 16 / 9;
  overflow: hidden;
  background: linear-gradient(135deg, rgba(124,92,255,0.20), rgba(34,211,238,0.12));
  border-bottom: 1px solid var(--line);
}
.dl-media--portrait { aspect-ratio: 4 / 5; }
.dl-media--square   { aspect-ratio: 1 / 1;  }
.dl-media img {
  position: absolute; inset: 0;
  width: 100%; height: 100%;
  object-fit: cover;
  transition: transform .8s cubic-bezier(.2,.7,.2,1);
}
.dl-badge {
  position: absolute; top: .75rem; right: .75rem; z-index: 4;
  display: inline-flex; align-items: center; gap: .35rem;
  padding: .3rem .6rem;
  border-radius: 8px;
  font-family: 'Space Grotesk', 'Inter', sans-serif;
  font-size: .7rem; font-weight: 700; letter-spacing: .1em;
  color: #fff;
  background: rgba(7, 7, 26, 0.78);
  border: 1px solid rgba(255,255,255,0.18);
  backdrop-filter: blur(8px);
  text-transform: uppercase;
}
.dl-badge--link {
  background: linear-gradient(135deg, rgba(34,211,238,0.65), rgba(34,211,238,0.30));
  border-color: rgba(34,211,238,0.55);
}

/* ---- ANIMÁLT PLACEHOLDER (kép helyett) ---------------------------------- */
.dl-placeholder {
  position: absolute; inset: 0;
  overflow: hidden;
  background:
    radial-gradient(ellipse 80% 60% at 50% 110%, rgba(124,92,255,0.45), transparent 60%),
    radial-gradient(ellipse 60% 50% at 20% -10%, rgba(34,211,238,0.30), transparent 60%),
    linear-gradient(160deg, #0f0f2c 0%, #14143a 60%, #0a0a22 100%);
  color: #E7E9F4;
  isolation: isolate;
}
.dl-ph-grid {
  position: absolute; inset: 0;
  background-image:
    linear-gradient(rgba(255,255,255,0.05) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,0.05) 1px, transparent 1px);
  background-size: 24px 24px;
  -webkit-mask-image: radial-gradient(ellipse at center, #000 40%, transparent 80%);
          mask-image: radial-gradient(ellipse at center, #000 40%, transparent 80%);
  opacity: .65;
}
.dl-ph-stream {
  position: absolute; top: -40%; width: 2px; height: 40%;
  background: linear-gradient(180deg, transparent 0%, rgba(34,211,238,0.85) 50%, transparent 100%);
  filter: blur(.2px);
  opacity: .55;
  animation: dl-stream 3s linear infinite;
}
.dl-ph-stream.s1 { left: 22%; animation-delay: 0s;   }
.dl-ph-stream.s2 { left: 78%; animation-delay: 1.2s; background: linear-gradient(180deg, transparent, rgba(124,92,255,0.95), transparent); }
.dl-ph-stream.s3 { left: 50%; animation-delay: 2.1s; }
@keyframes dl-stream {
  0%   { transform: translateY(0);    opacity: 0; }
  10%  { opacity: .65; }
  90%  { opacity: .65; }
  100% { transform: translateY(360%); opacity: 0; }
}
.dl-ph-doc {
  position: absolute;
  left: 50%; top: 46%;
  transform: translate(-50%, -50%);
  width: 38%; max-width: 110px;
  aspect-ratio: 5 / 6.4;
  border-radius: 12px;
  background: linear-gradient(160deg, rgba(255,255,255,0.18), rgba(255,255,255,0.06));
  border: 1px solid rgba(255,255,255,0.30);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,0.25),
    0 18px 40px -12px rgba(124,92,255,0.65);
  backdrop-filter: blur(10px);
  transition: transform .5s cubic-bezier(.2,.7,.2,1);
}
.dl-ph-doc-fold {
  position: absolute; top: 0; right: 0;
  width: 30%; height: 30%;
  background: linear-gradient(135deg, transparent 50%, rgba(255,255,255,0.20) 50%);
  border-bottom-left-radius: 10px;
  border-left: 1px solid rgba(255,255,255,0.28);
  border-bottom: 1px solid rgba(255,255,255,0.28);
}
.dl-ph-doc-line {
  position: absolute; left: 14%; height: 5px; border-radius: 3px;
  background: linear-gradient(90deg, rgba(255,255,255,0.55), rgba(255,255,255,0.10));
  animation: dl-doc-line 2.8s ease-in-out infinite;
}
.dl-ph-doc-line.l1 { top: 48%; width: 70%; animation-delay: 0s;   }
.dl-ph-doc-line.l2 { top: 60%; width: 56%; animation-delay: .25s; }
.dl-ph-doc-line.l3 { top: 72%; width: 64%; animation-delay: .5s;  }
@keyframes dl-doc-line {
  0%, 100% { opacity: .35; transform: scaleX(.9); transform-origin: left; }
  50%      { opacity: 1;   transform: scaleX(1); }
}
.dl-ph-doc-ext {
  position: absolute; left: 50%; bottom: 11%;
  transform: translateX(-50%);
  font-family: 'Space Grotesk', 'Inter', sans-serif;
  font-weight: 800; font-size: .68rem; letter-spacing: .14em;
  color: #fff;
  padding: .18rem .5rem;
  border-radius: 6px;
  background: linear-gradient(135deg, var(--accent-2), var(--accent));
  box-shadow: 0 6px 18px -6px rgba(124,92,255,0.8);
  white-space: nowrap;
}
.dl-ph-arrow {
  position: absolute; left: 50%; bottom: 8%;
  transform: translate(-50%, 0);
  width: 36px; height: 36px;
  display: grid; place-items: center;
  border-radius: 50%;
  background: rgba(255,255,255,0.10);
  border: 1px solid rgba(255,255,255,0.30);
  color: #fff;
  backdrop-filter: blur(8px);
  animation: dl-arrow-bob 2.2s ease-in-out infinite;
  box-shadow: 0 8px 24px -8px rgba(34,211,238,0.7);
  transition: transform .35s ease;
}
@keyframes dl-arrow-bob {
  0%, 100% { transform: translate(-50%, 0); }
  50%      { transform: translate(-50%, 5px); }
}
@media (prefers-reduced-motion: reduce) {
  .dl-ph-stream, .dl-ph-doc-line, .dl-ph-arrow { animation: none; }
}

/* ---- KÁRTYA TARTALOM ---------------------------------------------------- */
.dl-body {
  padding: 1.2rem 1.3rem 1.4rem;
  display: flex; flex-direction: column; gap: .65rem;
  flex: 1;
}
.dl-title {
  margin: 0;
  font-size: 1.08rem;
  font-family: 'Space Grotesk', 'Inter', sans-serif;
  font-weight: 700;
  line-height: 1.25;
  letter-spacing: -0.01em;
}
.dl-desc {
  margin: 0;
  font-size: .92rem;
  color: var(--ink-dim);
  line-height: 1.55;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.dl-meta {
  display: flex; flex-wrap: wrap; gap: .5rem .9rem;
  font-size: .8rem; color: var(--muted);
  margin-top: auto;
}
.dl-meta-item {
  display: inline-flex; align-items: center; gap: .35rem;
  color: var(--ink-dim);
}
.dl-meta-item svg { opacity: .75; }

.dl-actions { display: flex; gap: .55rem; margin-top: .35rem; }
.dl-btn {
  padding: .65rem 1.05rem;
  width: 100%;
  justify-content: center;
  font-size: .92rem;
}

/* ---- EMPTY STATE -------------------------------------------------------- */
.dl-empty {
  max-width: 640px; margin: 0 auto;
  text-align: center;
  padding: clamp(2rem, 5vw, 3.2rem);
}
.dl-empty-icon {
  width: 84px; height: 84px;
  margin: 0 auto 1rem;
  display: grid; place-items: center;
  border-radius: 50%;
  background: linear-gradient(135deg, rgba(124,92,255,0.20), rgba(34,211,238,0.15));
  border: 1px solid var(--line-2);
  color: #fff;
}
.dl-empty h2 { margin-bottom: .5rem; }
.dl-empty .lead { margin: 0 auto 1.5rem; }

/* ---- CLOSING BAND ------------------------------------------------------ */
.section-dl-closing { padding-top: clamp(1.4rem, 3vw, 2.2rem); }
.dl-closing-band {
  display: grid;
  gap: 1rem;
  align-items: center;
  padding: 1.65rem 1.45rem;
  background:
    radial-gradient(900px 420px at 50% 0%, rgba(124,92,255,.18), transparent 62%),
    rgba(255,255,255,.03);
}
@media (min-width: 980px) {
  .dl-closing-band { grid-template-columns: 1.3fr 1fr auto; }
}
.dl-closing-copy h2 { margin: .2rem 0 .45rem; font-size: clamp(1.2rem, 2.1vw, 1.75rem); }
.dl-closing-copy p { margin: 0; color: var(--ink-dim); line-height: 1.58; }
.dl-closing-steps { display: flex; flex-wrap: wrap; gap: .55rem; }
.dl-closing-steps span {
  padding: .42rem .7rem;
  border-radius: 999px;
  background: rgba(255,255,255,.045);
  border: 1px solid rgba(255,255,255,.1);
  color: var(--ink-dim);
  font-size: .8rem;
}
.dl-closing-actions { display: flex; gap: .55rem; flex-wrap: wrap; justify-content: flex-end; }

@media (max-width: 980px) {
  .dl-decision-strip { grid-template-columns: 1fr; }
  .dld-actions, .dl-closing-actions { justify-content: flex-start; }
}


/* ============================================================
   SUSTAINABILITY / ESG
   ============================================================ */
.section-sustain {
  position: relative;
  background:
    radial-gradient(900px 500px at 12% 8%, rgba(34,211,238,0.10), transparent 60%),
    radial-gradient(900px 500px at 88% 92%, rgba(124,92,255,0.10), transparent 60%);
}
.section-sustain::before {
  content: ""; position: absolute; inset: 0; pointer-events: none;
  background-image:
    linear-gradient(rgba(34,211,238,0.06) 1px, transparent 1px),
    linear-gradient(90deg, rgba(34,211,238,0.06) 1px, transparent 1px);
  background-size: 60px 60px;
  mask-image: radial-gradient(circle at 50% 40%, #000 0, transparent 70%);
  -webkit-mask-image: radial-gradient(circle at 50% 40%, #000 0, transparent 70%);
  opacity: .35;
}

/* --- #trust ---------------------------------------------- */
.section-trust {
  position: relative;
  background:
    radial-gradient(900px 500px at 15% 10%, rgba(124,92,255,0.11), transparent 60%),
    radial-gradient(900px 500px at 85% 90%, rgba(34,211,238,0.10), transparent 60%);
}
.section-trust::before {
  content: ""; position: absolute; inset: 0; pointer-events: none;
  background-image:
    linear-gradient(rgba(124,92,255,0.05) 1px, transparent 1px),
    linear-gradient(90deg, rgba(124,92,255,0.05) 1px, transparent 1px);
  background-size: 72px 72px;
  mask-image: radial-gradient(circle at 50% 35%, #000 0, transparent 72%);
  -webkit-mask-image: radial-gradient(circle at 50% 35%, #000 0, transparent 72%);
  opacity: .28;
}
.section-trust .grid-3 {
  margin-top: 2.2rem;
}
.trust-cta {
  display: flex;
  justify-content: center;
  margin-top: 1.8rem;
}

/* --- #proof ---------------------------------------------- */
.section-proof {
  position: relative;
  background:
    radial-gradient(900px 500px at 50% 0%, rgba(34,211,238,0.08), transparent 60%),
    linear-gradient(180deg, rgba(255,255,255,0.015), transparent 36%);
}
.proof-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
  margin-top: 2.2rem;
}
.proof-card {
  padding: 1.7rem 1.5rem;
  text-align: center;
}
.proof-value {
  font-family: 'Space Grotesk', 'Inter', sans-serif;
  font-size: clamp(2rem, 4vw, 3rem);
  line-height: 1;
  font-weight: 800;
  letter-spacing: -0.03em;
  background: var(--grad);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}
.proof-label {
  margin-top: .7rem;
  color: var(--ink-dim);
  font-weight: 600;
}
.proof-cta {
  display: flex;
  justify-content: center;
  margin-top: 1.8rem;
}
@media (max-width: 860px) {
  .proof-grid { grid-template-columns: 1fr; }
}

/* --- #board-proof --------------------------------------- */
.section-board-proof {
  position: relative;
  background:
    radial-gradient(1000px 520px at 20% 0%, rgba(124,92,255,0.12), transparent 58%),
    radial-gradient(900px 480px at 90% 100%, rgba(34,211,238,0.10), transparent 60%);
}
.board-proof-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(280px, .9fr);
  gap: 1rem;
  margin-top: 2.2rem;
}
.board-proof-quote,
.board-proof-aside {
  padding: clamp(1.4rem, 2.4vw, 2rem);
}
.board-proof-quote {
  background:
    linear-gradient(135deg, rgba(124,92,255,0.12), rgba(34,211,238,0.08) 56%, transparent),
    var(--surface);
  border-color: rgba(124,92,255,.26);
}
.board-proof-label {
  display: inline-flex;
  padding: .28rem .7rem;
  border-radius: 999px;
  font-size: .74rem;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: #fff;
  background: var(--grad);
  margin-bottom: 1rem;
}
.board-proof-quote blockquote {
  margin: 0;
  font-family: 'Space Grotesk', 'Inter', sans-serif;
  font-size: clamp(1.25rem, 2vw, 1.75rem);
  line-height: 1.35;
  letter-spacing: -0.02em;
}
.board-proof-note {
  margin-top: 1rem;
  color: var(--ink-dim);
  font-size: .92rem;
}
.board-proof-aside h3 { margin-bottom: 1rem; }
.board-proof-points {
  list-style: none;
  margin: 0 0 1.4rem;
  padding: 0;
  display: grid;
  gap: .85rem;
}
.board-proof-points li {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: .65rem;
  align-items: start;
  color: var(--ink-dim);
}
.bp-mark {
  color: var(--accent);
  font-size: 1rem;
  line-height: 1.2;
  margin-top: .12rem;
}
@media (max-width: 900px) {
  .board-proof-grid { grid-template-columns: 1fr; }
}

/* --- #comparison ---------------------------------------- */
.section-comparison {
  position: relative;
  background:
    radial-gradient(900px 500px at 18% 0%, rgba(34,211,238,0.10), transparent 60%),
    radial-gradient(900px 500px at 82% 100%, rgba(124,92,255,0.11), transparent 60%);
}
.comparison-foot {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  margin-top: 1.6rem;
  padding: 1rem 1.15rem;
  border-radius: 16px;
  background: rgba(255,255,255,0.03);
  border: 1px solid rgba(255,255,255,0.08);
  color: var(--ink-dim);
}
.comparison-foot p {
  margin: 0;
  max-width: 70ch;
}
@media (max-width: 760px) {
  .comparison-foot { flex-direction: column; align-items: stretch; }
}

.sustain-grid {
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  gap: 1.1rem;
  margin-top: 2.4rem;
}
.sustain-hero {
  grid-column: span 12;
  padding: clamp(1.4rem, 2.4vw, 2rem);
  display: grid;
  grid-template-columns: minmax(220px, 280px) 1fr;
  gap: clamp(1.2rem, 3vw, 2.4rem);
  align-items: center;
  background:
    linear-gradient(135deg, rgba(34,211,238,0.10), rgba(124,92,255,0.06) 60%, transparent),
    var(--surface);
  border-color: rgba(34,211,238,.28);
}
@media (max-width: 760px) {
  .sustain-hero { grid-template-columns: 1fr; text-align: center; }
}
.sustain-hero-stat { text-align: center; }
.sh-num {
  font-family: 'Space Grotesk', Inter, sans-serif;
  font-weight: 800;
  font-size: clamp(3.2rem, 7vw, 5.4rem);
  line-height: 1;
  background: linear-gradient(135deg, #22D3EE, #7C5CFF);
  -webkit-background-clip: text; background-clip: text;
  color: transparent;
  letter-spacing: -.02em;
}
.sh-label {
  margin-top: .4rem;
  font-size: .9rem; letter-spacing: .12em; text-transform: uppercase;
  color: var(--ink-dim);
}
.sustain-vs { display: grid; gap: .8rem; }
.vs-row {
  display: grid;
  grid-template-columns: 120px 1fr 70px;
  align-items: center;
  gap: .8rem;
  font-size: .92rem;
}
.vs-label { color: var(--ink-dim); }
.vs-val   { text-align: right; font-variant-numeric: tabular-nums; font-weight: 700; }
.vs-bar {
  height: 12px; border-radius: 999px;
  background: rgba(255,255,255,.06);
  overflow: hidden;
  border: 1px solid var(--line-2);
  position: relative;
}
.vs-fill {
  display: block; height: 100%;
  width: 0;
  border-radius: inherit;
  animation: vsGrow 1.2s cubic-bezier(.4,0,.2,1) forwards;
  animation-delay: .15s;
  --w: 0%;
}
.vs-fill--us   { background: linear-gradient(90deg, #22D3EE, #7C5CFF); box-shadow: 0 0 18px rgba(34,211,238,.45); }
.vs-fill--them { background: linear-gradient(90deg, #ef4444, #f59e0b); opacity: .85; }
@keyframes vsGrow { to { width: var(--w); } }
.sustain-hero-note { margin: 0; color: var(--ink-dim); font-size: .88rem; }

.sustain-kpi {
  grid-column: span 3;
  padding: 1.2rem 1.1rem;
  text-align: center;
  transition: transform .35s ease, border-color .35s ease;
  animation-delay: var(--d, 0s);
}
.sustain-kpi:hover { transform: translateY(-4px); border-color: rgba(34,211,238,.4); }
@media (max-width: 1099px) { .sustain-kpi { grid-column: span 6; } }
@media (max-width: 560px)  { .sustain-kpi { grid-column: span 12; } }
.sk-ico {
  display: inline-grid; place-items: center;
  width: 44px; height: 44px;
  border-radius: 12px;
  background: linear-gradient(135deg, rgba(34,211,238,.18), rgba(124,92,255,.18));
  color: #fff; margin-bottom: .6rem;
}
.sk-ico svg { width: 22px; height: 22px; }
.sk-num {
  font-family: 'Space Grotesk', Inter, sans-serif;
  font-weight: 800;
  font-size: clamp(1.6rem, 2.4vw, 2.1rem);
  line-height: 1.1;
  background: linear-gradient(135deg, #e9ecff, #22D3EE);
  -webkit-background-clip: text; background-clip: text; color: transparent;
}
.sk-unit {
  font-family: 'Space Grotesk', Inter, sans-serif;
  font-weight: 800;
  font-size: clamp(1.6rem, 2.4vw, 2.1rem);
  line-height: 1.1;
  background: linear-gradient(135deg, #e9ecff, #22D3EE);
  -webkit-background-clip: text; background-clip: text; color: transparent;
  display: inline-block;
  margin-left: .15em;
  vertical-align: baseline;
}
.sk-label {
  margin-top: .35rem;
  color: var(--ink-dim);
  font-size: .85rem;
  letter-spacing: .04em;
}

.sustain-badge {
  margin: 1.8rem auto 0;
  max-width: 720px;
  display: flex; align-items: center; justify-content: center; gap: 1rem;
  padding: 1rem 1.4rem;
  border-radius: 18px;
  background: linear-gradient(135deg, rgba(34,211,238,.16), rgba(124,92,255,.16));
  border: 1px solid rgba(34,211,238,.35);
  text-align: center;
}
.sb-num {
  font-family: 'Space Grotesk', Inter, sans-serif;
  font-weight: 800;
  font-size: clamp(1.8rem, 3vw, 2.4rem);
  background: linear-gradient(135deg, #22D3EE, #A78BFA);
  -webkit-background-clip: text; background-clip: text; color: transparent;
}
.sb-text { color: var(--ink); font-weight: 500; }

.sustain-bullets {
  margin-top: 2rem;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1rem;
}
@media (max-width: 1099px) { .sustain-bullets { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 560px)  { .sustain-bullets { grid-template-columns: 1fr; } }
.sb-item {
  display: flex; gap: .9rem;
  padding: 1rem;
  border-radius: 14px;
  background: rgba(255,255,255,.025);
  border: 1px solid var(--line-2);
}
.sb-item strong { display: block; margin-bottom: .25rem; }
.sb-item p { margin: 0; font-size: .88rem; color: var(--ink-dim); line-height: 1.5; }
.sb-ico {
  flex: 0 0 36px; height: 36px;
  display: grid; place-items: center;
  border-radius: 10px;
  background: linear-gradient(135deg, rgba(34,211,238,.18), rgba(124,92,255,.18));
}
.sb-ico svg { width: 18px; height: 18px; }

.sustain-source {
  margin: 1.4rem 0 0;
  text-align: center;
  color: var(--ink-dim);
  font-size: .78rem;
  opacity: .75;
}

/* ============================================================
   AWARDS
   ============================================================ */
.section-awards {
  position: relative;
}
.section-awards::before {
  content: ""; position: absolute; inset: 0; pointer-events: none;
  background:
    radial-gradient(600px 400px at 18% 30%, rgba(245,158,11,0.08), transparent 60%),
    radial-gradient(700px 500px at 82% 70%, rgba(124,92,255,0.10), transparent 60%);
}
.awards-grid {
  position: relative;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.2rem;
  margin-top: 2.4rem;
}
@media (max-width: 980px) { .awards-grid { grid-template-columns: 1fr; } }

.award-card {
  position: relative;
  display: grid;
  grid-template-rows: auto 1fr;
  gap: 1rem;
  padding: 1.6rem 1.3rem 1.4rem;
  border-radius: 22px;
  background: linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.015));
  border: 1px solid var(--line-2);
  text-decoration: none;
  color: var(--ink);
  overflow: hidden;
  transition: transform .45s cubic-bezier(.2,.7,.2,1), border-color .35s ease, box-shadow .35s ease;
  animation-delay: var(--d, 0s);
  isolation: isolate;
}
.award-card::before {
  content: ""; position: absolute; inset: -1px;
  border-radius: inherit;
  padding: 1px;
  background: linear-gradient(135deg, rgba(124,92,255,.55), rgba(34,211,238,.45), rgba(245,158,11,.4));
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
          mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite: xor; mask-composite: exclude;
  opacity: 0; transition: opacity .4s ease;
  pointer-events: none; z-index: 1;
}
.award-card:hover {
  transform: translateY(-6px);
  border-color: transparent;
  box-shadow: 0 24px 50px -20px rgba(124,92,255,.35);
}
.award-card:hover::before { opacity: 1; }

.award-medal {
  position: relative;
  width: 100%;
  max-width: 220px;
  height: 240px;
  margin: 0 auto;
  display: grid; place-items: center;
}
.award-medal img {
  width: 100%; height: 100%;
  object-fit: contain;
  filter: drop-shadow(0 14px 22px rgba(0,0,0,.45));
  transition: transform .6s cubic-bezier(.2,.7,.2,1);
}
.award-card:hover .award-medal img { transform: rotate(-3deg) scale(1.04); }
.award-shine {
  position: absolute; inset: 0;
  background: linear-gradient(115deg, transparent 35%, rgba(255,255,255,.18) 50%, transparent 65%);
  transform: translateX(-120%);
  transition: transform .9s ease;
  pointer-events: none;
  mix-blend-mode: overlay;
}
.award-card:hover .award-shine { transform: translateX(120%); }

.award-body { text-align: center; display: flex; flex-direction: column; gap: .35rem; }
.award-year {
  display: inline-block; align-self: center;
  font-size: .7rem; letter-spacing: .18em; text-transform: uppercase;
  color: var(--ink-dim);
  padding: .2rem .6rem;
  border-radius: 999px;
  background: rgba(255,255,255,.04);
  border: 1px solid var(--line-2);
  margin-bottom: .2rem;
}
.award-title {
  margin: 0;
  font-size: 1.05rem;
  line-height: 1.25;
  background: linear-gradient(135deg, #fff, #a5b4ff);
  -webkit-background-clip: text; background-clip: text; color: transparent;
}
.award-issuer { margin: 0; color: var(--ink-dim); font-size: .82rem; }
.award-text   { margin: .25rem 0 0; color: var(--ink-dim); font-size: .88rem; line-height: 1.55; }
.award-link {
  margin-top: .6rem;
  display: inline-flex; align-items: center; gap: .35rem;
  align-self: center;
  font-size: .85rem; font-weight: 600;
  color: #22D3EE;
  transition: gap .25s ease, color .25s ease;
}
.award-card:hover .award-link { gap: .6rem; color: #a5b4ff; }

/* ============================================================
   WAVE B – New section styles
   ============================================================ */

/* --- Open architecture aside ------------------------------- */
.open-arch {
  margin-top: 3rem;
  padding: 1.6rem 1.8rem;
  border-radius: 18px;
  background: linear-gradient(135deg, rgba(124,92,255,.08), rgba(34,211,238,.06));
  border: 1px solid rgba(255,255,255,.08);
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 1.4rem 2rem;
  align-items: center;
}
.open-arch h3 { font-size: 1.25rem; margin: 0 0 .35rem; }
.open-arch p  { margin: 0; color: var(--muted, #b4b9d0); font-size: .98rem; }
.open-arch-cta { display: flex; gap: .6rem; flex-wrap: wrap; }
.open-arch-cta .btn-ghost { white-space: nowrap; }
@media (max-width: 820px) { .open-arch { grid-template-columns: 1fr; } }

/* --- #systems 6-in-1 --------------------------------------- */
.section-systems { padding: clamp(2rem, 4.5vw, 3.5rem) 0; }
.systems-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.2rem;
  margin-top: 2.4rem;
}
@media (max-width: 980px) { .systems-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 640px) { .systems-grid { grid-template-columns: 1fr; } }
.system-card {
  position: relative;
  padding: 1.6rem 1.4rem 1.4rem;
  border-radius: 18px;
  background: rgba(255,255,255,.03);
  border: 1px solid rgba(255,255,255,.07);
  backdrop-filter: blur(10px);
  transition: transform .28s ease, border-color .28s ease, background .28s ease;
}
.system-card:hover { transform: translateY(-4px); border-color: rgba(124,92,255,.4); background: rgba(124,92,255,.06); }
.sys-num {
  position: absolute; top: .9rem; right: 1rem;
  font-size: .8rem; font-weight: 700; letter-spacing: .08em;
  color: #6C7CFF; opacity: .7;
}
.sys-ico {
  width: 44px; height: 44px;
  display: flex; align-items: center; justify-content: center;
  border-radius: 12px;
  background: linear-gradient(135deg, rgba(124,92,255,.18), rgba(34,211,238,.14));
  color: #cfd6ff; margin-bottom: .9rem;
}
.sys-ico svg { width: 24px; height: 24px; }
.system-card h3 { font-size: 1.05rem; margin: 0 0 .4rem; }
.system-card p  { font-size: .94rem; color: var(--muted, #b4b9d0); margin: 0; line-height: 1.55; }
.systems-foot {
  margin-top: 2rem; text-align: center;
  color: var(--muted, #b4b9d0); font-size: .95rem;
  max-width: 760px; margin-left: auto; margin-right: auto;
}

/* --- #hardware --------------------------------------------- */
.section-hardware { padding: clamp(2rem, 4.5vw, 3.5rem) 0; }
.hw-layout {
  display: grid;
  grid-template-columns: 1fr 1.1fr;
  gap: 2.4rem;
  align-items: center;
  margin-top: 2.4rem;
}
@media (max-width: 980px) { .hw-layout { grid-template-columns: 1fr; } }
.hw-visual {
  position: relative;
  padding: 1.6rem;
  border-radius: 22px;
  background: linear-gradient(135deg, rgba(124,92,255,.10), rgba(34,211,238,.07));
  border: 1px solid rgba(255,255,255,.08);
  display: flex; flex-direction: column; align-items: center; gap: 1rem;
}
.hw-device {
  width: 100%; max-width: 420px; aspect-ratio: 240 / 60;
  border-radius: 8px;
  background: linear-gradient(180deg, #1a1d2e, #0e1020);
  border: 1px solid rgba(255,255,255,.12);
  box-shadow: 0 8px 30px rgba(0,0,0,.4), inset 0 1px 0 rgba(255,255,255,.06);
  display: flex; align-items: center; justify-content: space-between;
  padding: 0 1.1rem;
  position: relative;
}
.vsb-hardware .hw-device { max-width: 520px; }
.vsb-hardware .hw-device-front {
  display: inline-flex;
  align-items: center;
  gap: .35rem;
}
.hw-led {
  width: 8px; height: 8px; border-radius: 50%;
  background: #22D3EE; box-shadow: 0 0 8px #22D3EE;
  animation: hwBlink 2.4s ease-in-out infinite;
}
.hw-led.alt { background: #7C5CFF; box-shadow: 0 0 8px #7C5CFF; animation-delay: .8s; }
.vsb-hardware .hw-device-brand {
  margin-left: .2rem;
  font-size: 1.95rem;
  line-height: 1;
  letter-spacing: .01em;
  color: #dce5ff;
  font-weight: 600;
}
@keyframes hwBlink { 0%,100% { opacity: 1; } 50% { opacity: .35; } }
.hw-vents {
  flex: 1; margin: 0 1.1rem;
  background-image: repeating-linear-gradient(90deg, transparent 0 3px, rgba(255,255,255,.08) 3px 4px);
  height: 18px; border-radius: 2px;
}
.hw-meta { width: 100%; max-width: 420px; display: flex; flex-direction: column; gap: .35rem; }
.hw-meta-row {
  display: flex; justify-content: space-between;
  font-size: .8rem; color: var(--muted, #b4b9d0);
  font-family: ui-monospace, "SF Mono", Menlo, monospace;
}
.hw-meta-row span:first-child { opacity: .6; }
.hw-spec-list { margin: 0; display: grid; grid-template-columns: 1fr 1fr; gap: .55rem 1.2rem; }
.hw-spec-list dt { font-size: .8rem; color: var(--muted, #b4b9d0); margin: 0; }
.hw-spec-list dd { margin: 0 0 .6rem; font-weight: 600; font-size: .94rem; }
@media (max-width: 540px) { .hw-spec-list { grid-template-columns: 1fr; } }
.hw-badges {
  display: flex; flex-wrap: wrap; gap: .5rem;
  margin-top: 1.2rem;
}
.hw-badge {
  padding: .35rem .75rem;
  border-radius: 99px;
  font-size: .78rem; font-weight: 700; letter-spacing: .05em;
  background: rgba(34,211,238,.12); color: #a8e8f5;
  border: 1px solid rgba(34,211,238,.3);
}
@media (max-width: 820px) {
  .vsb-hardware .hw-device { max-width: 460px; }
  .vsb-hardware .hw-device-brand { font-size: 1.45rem; }
}
@media (max-width: 520px) {
  .vsb-hardware .hw-device { padding: 0 .75rem; }
  .vsb-hardware .hw-device-brand { font-size: 1.15rem; }
  .vsb-hardware .hw-vents { margin: 0 .75rem; }
}

/* --- #certifications --------------------------------------- */
.section-certs { padding: clamp(2rem, 4.5vw, 3.5rem) 0; }
.certs-badges {
  display: flex; flex-wrap: wrap; gap: .85rem;
  justify-content: center; margin: 2rem 0 2.6rem;
}
.cert-badge {
  display: flex; flex-direction: column; align-items: center; gap: .35rem;
  padding: .9rem 1rem;
  min-width: 116px;
  border-radius: 14px;
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(255,255,255,.09);
}
.cb-mark {
  font-size: 1.05rem; font-weight: 800; letter-spacing: .04em;
  background: var(--grad, linear-gradient(135deg, #7C5CFF, #22D3EE));
  -webkit-background-clip: text; background-clip: text;
  -webkit-text-fill-color: transparent; color: transparent;
}
.cb-name { font-size: .78rem; color: var(--muted, #b4b9d0); text-align: center; }

/* Home cert pills: explicit style to keep strong contrast and avoid class collisions. */
.section-certs#certifications .cert-badge {
  display: inline-flex;
  align-items: center;
  gap: .48rem;
  min-width: auto;
  padding: .58rem .95rem;
  border-radius: 999px;
  background: linear-gradient(132deg, rgba(124,92,255,.42), rgba(34,211,238,.34));
  border: 1px solid rgba(167,235,255,.45);
  box-shadow: 0 6px 20px rgba(17,26,70,.3);
}
.section-certs#certifications .cb-mark {
  font-size: .83rem;
  font-weight: 900;
  letter-spacing: .08em;
  color: #f8fbff;
  background: none;
  -webkit-text-fill-color: currentColor;
}
.section-certs#certifications .cb-name {
  font-size: .83rem;
  color: #f3f7ff;
  font-weight: 700;
  text-shadow: 0 1px 0 rgba(0,0,0,.22);
}
.certs-grid {
  display: grid; grid-template-columns: repeat(2, 1fr); gap: 1.2rem;
}
@media (max-width: 820px) { .certs-grid { grid-template-columns: 1fr; } }
.cert-doc {
  position: relative;
  padding: 1.4rem 1.4rem 1.5rem;
  border-radius: 16px;
  background: linear-gradient(165deg, rgba(255,255,255,.05), rgba(255,255,255,.018));
  border: 1px solid rgba(255,255,255,.11);
  transition: transform .28s ease, border-color .28s ease;
}
.cert-doc:hover { transform: translateY(-3px); border-color: rgba(255,255,255,.22); }
.cd-head { display: flex; align-items: center; gap: .8rem; margin-bottom: .65rem; }
.cd-ico {
  width: 38px; height: 38px; border-radius: 10px;
  background: linear-gradient(135deg, rgba(34,211,238,.2), rgba(124,92,255,.16));
  display: flex; align-items: center; justify-content: center;
  color: #cfd6ff;
}
.cd-ico svg { width: 20px; height: 20px; }
.cert-doc h3 { font-size: 1.02rem; margin: 0; }
.cert-doc p  { margin: 0 0 .8rem; color: var(--muted, #b4b9d0); font-size: .92rem; line-height: 1.55; }
.cd-link {
  font-size: .85rem; font-weight: 600; color: #22D3EE;
  display: inline-flex; align-items: center; gap: .4rem;
  transition: gap .25s ease;
}
.cd-link:hover { gap: .6rem; }

/* --- #deployment ------------------------------------------- */
.section-deploy { padding: clamp(2rem, 4.5vw, 3.5rem) 0; }
.deploy-timeline {
  position: relative;
  margin-top: 2.4rem;
  padding-left: 2.4rem;
}
.deploy-timeline::before {
  content: ''; position: absolute;
  left: 1.05rem; top: .4rem; bottom: .4rem;
  width: 2px;
  background: linear-gradient(180deg, #7C5CFF, #22D3EE);
  opacity: .3;
}
.deploy-step {
  position: relative;
  display: grid;
  grid-template-columns: 5.5rem 1fr;
  gap: 1.2rem;
  margin-bottom: 1.4rem;
}
.ds-time {
  position: relative;
  font-family: ui-monospace, "SF Mono", Menlo, monospace;
  font-size: .92rem; font-weight: 700;
  color: #22D3EE; padding-top: 1.1rem;
}
.ds-time::before {
  content: ''; position: absolute;
  left: -1.85rem; top: 1.15rem;
  width: 14px; height: 14px; border-radius: 50%;
  background: var(--grad, linear-gradient(135deg, #7C5CFF, #22D3EE));
  box-shadow: 0 0 0 4px rgba(124,92,255,.15);
}
.ds-card {
  padding: 1.1rem 1.3rem;
  border-radius: 14px;
  background: rgba(255,255,255,.03);
  border: 1px solid rgba(255,255,255,.07);
}
.ds-card h3 { margin: 0 0 .35rem; font-size: 1.02rem; }
.ds-card p  { margin: 0 0 .7rem; color: var(--muted, #b4b9d0); font-size: .94rem; }
.ds-bullets { margin: 0; padding-left: 1.1rem; }
.ds-bullets li { font-size: .86rem; color: var(--muted, #b4b9d0); margin: .2rem 0; }
.deploy-foot {
  margin-top: 2rem; padding: 1.3rem 1.5rem;
  border-radius: 14px;
  background: rgba(124,92,255,.08);
  border: 1px solid rgba(124,92,255,.2);
}
.deploy-foot h4 { margin: 0 0 .6rem; font-size: 1rem; }
.deploy-foot ul { margin: 0; padding-left: 1.2rem; color: var(--muted, #b4b9d0); }
.deploy-foot li { font-size: .9rem; margin: .3rem 0; }

/* --- #usecases cases-grid ---------------------------------- */
.cases-head { margin-top: 2.6rem; margin-bottom: 1.2rem; text-align: center; }
.cases-head h3 { font-size: 1.4rem; margin: 0; }
.cases-grid {
  display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.2rem;
  margin-top: 1.4rem;
}
@media (max-width: 980px) { .cases-grid { grid-template-columns: 1fr; } }
.case-card {
  padding: 1.5rem 1.5rem 1.6rem;
  border-radius: 18px;
  background: rgba(255,255,255,.03);
  border: 1px solid rgba(255,255,255,.07);
  display: flex; flex-direction: column; gap: .9rem;
}
.case-industry {
  display: inline-block;
  padding: .25rem .7rem;
  border-radius: 99px;
  font-size: .76rem; font-weight: 700; letter-spacing: .04em;
  background: rgba(34,211,238,.14); color: #a8e8f5;
  align-self: flex-start;
}
.case-title { font-size: 1.08rem; margin: 0; }
.case-row { font-size: .92rem; line-height: 1.55; }
.cr-label {
  display: block; font-size: .74rem; font-weight: 700;
  letter-spacing: .06em; color: #7C5CFF; margin-bottom: .25rem; text-transform: uppercase;
}
.case-result {
  padding: 1rem 1.1rem;
  border-radius: 12px;
  background: linear-gradient(135deg, rgba(124,92,255,.15), rgba(34,211,238,.1));
  border: 1px solid rgba(124,92,255,.25);
  text-align: center;
}
.case-kpi {
  font-size: 1.6rem; font-weight: 800; line-height: 1.1;
  background: var(--grad, linear-gradient(135deg, #7C5CFF, #22D3EE));
  -webkit-background-clip: text; background-clip: text;
  -webkit-text-fill-color: transparent; color: transparent;
}
.case-result-label { display: block; margin-top: .25rem; font-size: .82rem; color: var(--muted, #b4b9d0); }
.case-quote {
  font-style: italic;
  color: var(--muted, #b4b9d0);
  font-size: .9rem; line-height: 1.55;
  border-left: 3px solid rgba(34,211,238,.5);
  padding-left: .85rem;
}
.cases-note { text-align: center; margin-top: 1.6rem; font-size: .88rem; color: var(--muted, #b4b9d0); }

/* --- #pricing ---------------------------------------------- */
.section-pricing { padding: clamp(2rem, 4.5vw, 3.5rem) 0; }
.pricing-model {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  gap: 1.4rem;
  align-items: stretch;
  margin-top: 2.4rem;
  padding: 1.8rem;
}
@media (max-width: 880px) { .pricing-model { grid-template-columns: 1fr; } .pm-plus { transform: rotate(90deg); } }
.pm-col {
  display: flex; flex-direction: column; gap: .8rem;
  padding: 1.3rem 1.4rem;
  border-radius: 16px;
  background: rgba(255,255,255,.03);
  border: 1px solid rgba(255,255,255,.08);
}
.pm-tag {
  display: inline-block;
  padding: .22rem .7rem;
  border-radius: 99px;
  font-size: .74rem; font-weight: 700; letter-spacing: .05em;
  background: rgba(124,92,255,.15); color: #cfd6ff;
  align-self: flex-start;
}
.pm-col h3 { font-size: 1.1rem; margin: 0; }
.pm-col p  { margin: 0; color: var(--muted, #b4b9d0); font-size: .94rem; line-height: 1.55; }
.pm-col ul { margin: .4rem 0 0; padding-left: 1.2rem; color: var(--muted, #b4b9d0); font-size: .9rem; }
.pm-col li { margin: .3rem 0; }
.pm-plus {
  display: flex; align-items: center; justify-content: center;
  font-size: 2.4rem; font-weight: 800;
  background: var(--grad, linear-gradient(135deg, #7C5CFF, #22D3EE));
  -webkit-background-clip: text; background-clip: text;
  -webkit-text-fill-color: transparent; color: transparent;
}
.pricing-steps {
  display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.2rem;
  margin-top: 2rem; padding: 0; list-style: none; counter-reset: ps;
}
@media (max-width: 820px) { .pricing-steps { grid-template-columns: 1fr; } }
.pricing-step {
  counter-increment: ps;
  position: relative;
  padding: 1.4rem 1.4rem 1.4rem 3.4rem;
  border-radius: 14px;
  background: rgba(255,255,255,.03);
  border: 1px solid rgba(255,255,255,.07);
}
.pricing-step::before {
  content: "0" counter(ps);
  position: absolute; left: 1rem; top: 1.1rem;
  font-family: ui-monospace, "SF Mono", Menlo, monospace;
  font-size: 1.2rem; font-weight: 800;
  background: var(--grad, linear-gradient(135deg, #7C5CFF, #22D3EE));
  -webkit-background-clip: text; background-clip: text;
  -webkit-text-fill-color: transparent; color: transparent;
}
.pricing-step h4 { margin: 0 0 .35rem; font-size: 1rem; }
.pricing-step p  { margin: 0 0 .5rem; color: var(--muted, #b4b9d0); font-size: .92rem; line-height: 1.5; }
.ps-time { font-size: .82rem; color: #22D3EE; font-weight: 600; }
.pricing-cta { text-align: center; margin-top: 2rem; }

/* --- #pricing assurance ----------------------------------- */
.section-pricing-assurance {
  position: relative;
  background:
    radial-gradient(900px 500px at 10% 0%, rgba(34,211,238,0.08), transparent 60%),
    radial-gradient(900px 500px at 90% 100%, rgba(124,92,255,0.10), transparent 60%);
}
.pricing-assurance-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
  margin-top: 2.2rem;
}
.pa-card {
  padding: 1.55rem 1.45rem;
  border-radius: 18px;
}
.pa-icon {
  width: 42px; height: 42px;
  border-radius: 999px;
  display: inline-flex; align-items: center; justify-content: center;
  background: linear-gradient(135deg, rgba(124,92,255,0.18), rgba(34,211,238,0.16));
  color: var(--accent);
  margin-bottom: .95rem;
  font-weight: 800;
}
.pa-card h3 { margin: 0 0 .45rem; font-size: 1.08rem; }
.pa-card p { margin: 0; color: var(--muted, #b4b9d0); line-height: 1.55; }
.pricing-assurance-foot {
  display: flex; align-items: center; justify-content: space-between; gap: 1rem;
  margin-top: 1.6rem; padding: 1rem 1.15rem;
  border-radius: 16px;
  background: rgba(255,255,255,0.03);
  border: 1px solid rgba(255,255,255,0.08);
  color: var(--ink-dim);
}
.pricing-assurance-foot p { margin: 0; max-width: 74ch; }
@media (max-width: 900px) {
  .pricing-assurance-grid { grid-template-columns: 1fr; }
  .pricing-assurance-foot { flex-direction: column; align-items: stretch; }
}

/* --- decision strip + closing CTA ------------------------- */
.section-decision-strip { padding: clamp(1.4rem, 3vw, 2.2rem) 0 0; }
.decision-strip {
  display: grid;
  grid-template-columns: 1.2fr 1fr auto;
  gap: 1.2rem;
  align-items: center;
  padding: 1.5rem 1.5rem;
  border-radius: 22px;
  background:
    linear-gradient(135deg, rgba(124,92,255,.12), rgba(34,211,238,.08)),
    rgba(255,255,255,.03);
}
.decision-strip-copy h2 { margin: .25rem 0 .5rem; font-size: clamp(1.2rem, 2vw, 1.75rem); }
.decision-strip-copy p { margin: 0; color: var(--muted, #b4b9d0); line-height: 1.55; }
.decision-strip-points {
  display: grid;
  gap: .65rem;
  min-width: 0;
}
.decision-point {
  display: flex; align-items: flex-start; gap: .65rem;
  font-size: .94rem; color: var(--ink-dim);
}
.dp-mark {
  width: 22px; height: 22px; flex: 0 0 22px;
  border-radius: 999px;
  display: inline-flex; align-items: center; justify-content: center;
  background: rgba(34,211,238,.14); color: #aef1ff;
  font-size: .78rem; font-weight: 800;
  margin-top: .08rem;
}
.decision-strip-actions { display: flex; gap: .75rem; justify-content: flex-end; flex-wrap: wrap; }
.decision-strip-meta {
  grid-column: 1 / -1;
  display: flex;
  flex-wrap: wrap;
  gap: .6rem;
  padding-top: .25rem;
  margin-top: .1rem;
  border-top: 1px solid rgba(255,255,255,.06);
}
.decision-meta-chip {
  padding: .44rem .72rem;
  border-radius: 999px;
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(255,255,255,.08);
  color: var(--ink-dim);
  font-size: .82rem;
  letter-spacing: .01em;
}
.section-closing-cta { padding: clamp(2.5rem, 5vw, 4rem) 0; }
.closing-cta-card {
  padding: 2rem 1.6rem;
  text-align: center;
  background:
    radial-gradient(900px 420px at 50% 0%, rgba(124,92,255,.20), transparent 64%),
    radial-gradient(700px 280px at 50% 100%, rgba(34,211,238,.08), transparent 58%),
    rgba(255,255,255,.03);
}
.closing-cta-card .eyebrow { margin-bottom: .8rem; }
.closing-cta-card h2 { font-size: clamp(1.2rem, 2.4vw, 1.9rem); margin-bottom: .75rem; }
.closing-cta-note { margin: 0 auto 1rem; max-width: 70ch; color: var(--muted, #b4b9d0); line-height: 1.6; }
.closing-cta-bullets {
  list-style: none; padding: 0; margin: 0 auto 1.2rem;
  display: flex; flex-wrap: wrap; justify-content: center; gap: .6rem;
}
.closing-cta-bullets li {
  padding: .5rem .8rem;
  border-radius: 999px;
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(255,255,255,.08);
  color: var(--ink-dim);
  font-size: .88rem;
}
.closing-cta-signal {
  margin: 0 auto 1.2rem;
  max-width: 62ch;
  color: #dfe5ff;
  font-weight: 600;
  letter-spacing: .01em;
}
.closing-cta-card .cta-row { justify-content: center; margin-top: 1rem; }
@media (max-width: 980px) {
  .decision-strip { grid-template-columns: 1fr; }
  .decision-strip-actions { justify-content: flex-start; }
  .decision-strip-meta { justify-content: flex-start; }
}

/* --- #about grid ------------------------------------------- */
.section-about .about-lead {
  max-width: 820px; margin: 0 auto 2.4rem;
  text-align: center;
  font-size: 1.08rem; line-height: 1.65;
  color: var(--muted, #d3d6e8);
}
.about-grid {
  display: grid; grid-template-columns: 1fr 1fr; gap: 1.4rem;
  margin-top: 1.6rem;
}
@media (max-width: 880px) { .about-grid { grid-template-columns: 1fr; } }
.about-block {
  padding: 1.6rem 1.7rem;
  border-radius: 18px;
  background: rgba(255,255,255,.03);
  border: 1px solid rgba(255,255,255,.07);
}
.about-block h3 { font-size: 1.15rem; margin: 0 0 .8rem; }
.about-block p  { color: var(--muted, #b4b9d0); line-height: 1.65; margin: 0 0 .8rem; }
.about-values {
  list-style: none; padding: 0; margin: 1.2rem 0 0;
  display: grid; grid-template-columns: 1fr 1fr; gap: 1rem;
}
@media (max-width: 540px) { .about-values { grid-template-columns: 1fr; } }
.about-values li {
  padding: 1rem 1.1rem;
  border-radius: 12px;
  background: rgba(124,92,255,.06);
  border: 1px solid rgba(255,255,255,.06);
}
.about-vt { font-weight: 700; font-size: .98rem; margin-bottom: .3rem; }

/* --- #milestones ------------------------------------------- */
.section-milestones { padding: clamp(2rem, 4.5vw, 3.5rem) 0; }
.milestones-grid {
  display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem;
  margin-top: 2.4rem;
}
@media (max-width: 820px) { .milestones-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 540px) { .milestones-grid { grid-template-columns: 1fr; } }
.milestone {
  padding: 1.3rem 1.4rem;
  border-radius: 16px;
  background: rgba(255,255,255,.03);
  border: 1px solid rgba(255,255,255,.07);
  display: flex; flex-direction: column; gap: .55rem;
}
.ms-year {
  font-size: 1.5rem; font-weight: 800; line-height: 1;
  background: var(--grad, linear-gradient(135deg, #7C5CFF, #22D3EE));
  -webkit-background-clip: text; background-clip: text;
  -webkit-text-fill-color: transparent; color: transparent;
}
.milestone p { margin: 0; color: var(--muted, #b4b9d0); font-size: .94rem; line-height: 1.55; }

/* --- #team ------------------------------------------------- */
.section-team { padding: clamp(2rem, 4.5vw, 3.5rem) 0; }
/* Középre igazított 3 fős csapat grid */
.team-grid {
  display: flex;
  justify-content: center;
  gap: 1.2rem;
  margin-top: 2.4rem;
  flex-wrap: wrap;
}
.team-card {
  min-width: 260px;
  max-width: 340px;
  flex: 1 1 300px;
}
@media (max-width: 980px) { .team-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 540px) { .team-grid { grid-template-columns: 1fr; } }
.team-card {
  padding: 1.5rem 1.4rem;
  border-radius: 18px;
  background: rgba(255,255,255,.03);
  border: 1px solid rgba(255,255,255,.07);
  text-align: center;
  transition: transform .28s ease, border-color .28s ease;
}
.team-card:hover { transform: translateY(-3px); border-color: rgba(124,92,255,.35); }
.tc-avatar {
  width: 72px; height: 72px; border-radius: 50%;
  margin: 0 auto .9rem;
  display: flex; align-items: center; justify-content: center;
  background: var(--grad, linear-gradient(135deg, #7C5CFF, #22D3EE));
  color: #fff; font-weight: 800; font-size: 1.4rem; letter-spacing: .02em;
  box-shadow: 0 8px 24px rgba(124,92,255,.3);
}
.tc-name { font-size: 1rem; font-weight: 700; margin: 0; }
.tc-role { font-size: .82rem; color: #22D3EE; margin: .15rem 0 .7rem; }
.tc-bio  { font-size: .88rem; color: var(--muted, #b4b9d0); line-height: 1.55; margin: 0 0 .8rem; }
.tc-linkedin {
  display: inline-flex; align-items: center; gap: .35rem;
  font-size: .82rem; color: #22D3EE; font-weight: 600;
}
.tc-linkedin svg { width: 14px; height: 14px; }
.team-note { text-align: center; margin-top: 1.8rem; font-size: .88rem; color: var(--muted, #b4b9d0); }

/* --- Compliance page --------------------------------------- */
.section-comp-hero { padding: clamp(2.5rem, 5vw, 4rem) 0 clamp(1.8rem, 4vw, 3rem); }
.comp-matrix {
  display: grid; grid-template-columns: repeat(2, 1fr); gap: 1.4rem;
  margin-top: 2.4rem;
}
@media (max-width: 880px) { .comp-matrix { grid-template-columns: 1fr; } }
.comp-card {
  padding: 1.6rem 1.7rem;
  display: flex; flex-direction: column; gap: .8rem;
}
.cc-head {
  display: flex; align-items: center; justify-content: space-between;
  margin-bottom: .35rem;
}
.cc-badge {
  padding: .35rem .85rem;
  border-radius: 99px;
  font-size: .82rem; font-weight: 800; letter-spacing: .04em;
  background: var(--grad, linear-gradient(135deg, #7C5CFF, #22D3EE));
  color: #fff;
}
.cc-region { font-size: .78rem; color: var(--muted, #b4b9d0); }
.comp-card h2 { font-size: 1.2rem; margin: 0; }
.cc-summary  { margin: 0 0 .4rem; color: var(--muted, #b4b9d0); font-size: .94rem; line-height: 1.6; }
.cc-sub { font-size: .82rem; font-weight: 700; letter-spacing: .06em;
          color: #22D3EE; text-transform: uppercase; margin: .4rem 0 .3rem; }
.cc-controls { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: .5rem; }
.cc-controls li {
  display: grid; grid-template-columns: 18px 1fr; gap: .55rem; align-items: start;
  font-size: .9rem; line-height: 1.5;
  color: var(--muted, #b4b9d0);
}
.cc-check { color: #22D3EE; margin-top: 3px; }
.cc-link {
  margin-top: .8rem;
  font-size: .88rem; color: #22D3EE; font-weight: 600;
  display: inline-flex; align-items: center; gap: .4rem;
  transition: gap .25s ease;
  align-self: flex-start;
}
.cc-link:hover { gap: .6rem; }
.comp-cta {
  margin-top: 2.4rem; padding: 1.8rem 2rem;
  display: grid; grid-template-columns: 1fr auto; gap: 1.4rem; align-items: center;
}
@media (max-width: 760px) { .comp-cta { grid-template-columns: 1fr; text-align: center; } }
.comp-cta h2 { margin: 0 0 .35rem; font-size: 1.25rem; }
.comp-cta p  { margin: 0; color: var(--muted, #b4b9d0); }


/* ============================================================
   WAVE D – Hardened explainer
   ============================================================ */
.section-hardened { padding: clamp(2rem, 4.5vw, 3.5rem) 0; }
.hardened-grid {
  display: grid; grid-template-columns: 1fr 1.3fr; gap: 2.4rem;
  align-items: center; margin-top: 2.4rem;
}
@media (max-width: 980px) { .hardened-grid { grid-template-columns: 1fr; } }

.hardened-visual {
  position: relative;
  padding: 1.4rem 1.4rem 1.6rem;
  border-radius: 22px;
  background: linear-gradient(160deg, rgba(124,92,255,.10), rgba(34,211,238,.07));
  border: 1px solid rgba(255,255,255,.08);
}
.hd-stack { display: flex; flex-direction: column; gap: .6rem; }
.hd-layer {
  position: relative;
  padding: .85rem 1rem;
  border-radius: 12px;
  background: rgba(10,10,22,.5);
  border: 1px solid rgba(255,255,255,.08);
  display: flex; justify-content: space-between; align-items: baseline; gap: .8rem;
  font-size: .88rem;
}
.hd-layer span { font-weight: 700; color: #cfd6ff; }
.hd-layer em { font-style: normal; color: var(--muted, #b4b9d0); font-size: .82rem; }
.hd-layer strong { color: #ff8a8a; font-weight: 700; }
.hd-l1 { border-left: 3px solid #ff8a8a; }
.hd-l2 { border-left: 3px solid #ffb454; }
.hd-l3 { border-left: 3px solid #22D3EE; }
.hd-l4 { border-left: 3px solid #7C5CFF; }
.hd-shield {
  position: absolute; top: -22px; right: -22px;
  width: 80px; height: 80px;
  display: flex; align-items: center; justify-content: center;
  border-radius: 50%;
  background: linear-gradient(135deg, #7C5CFF, #22D3EE);
  color: #0a0a16;
  box-shadow: 0 12px 32px rgba(124,92,255,.4);
}

.hardened-mech { display: flex; flex-direction: column; gap: 1.1rem; }
.hd-mech-title { margin: 0 0 .6rem; font-size: 1.1rem; }
.hd-mech-list { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: .85rem; }
.hd-mech-item {
  display: grid; grid-template-columns: 2.4rem 1fr; gap: 1rem;
  padding: 1rem 1.1rem;
  border-radius: 14px;
  background: rgba(255,255,255,.03);
  border: 1px solid rgba(255,255,255,.07);
}
.hd-mech-num {
  font-family: ui-monospace, "SF Mono", Menlo, monospace;
  font-size: 1.05rem; font-weight: 800;
  background: var(--grad, linear-gradient(135deg, #7C5CFF, #22D3EE));
  -webkit-background-clip: text; background-clip: text;
  -webkit-text-fill-color: transparent; color: transparent;
  align-self: start; padding-top: .1rem;
}
.hd-mech-item h4 { margin: 0 0 .25rem; font-size: 1rem; }
.hd-mech-item p  { margin: 0; color: var(--muted, #b4b9d0); font-size: .92rem; line-height: 1.55; }
.hd-mech-item code,
.hd-mech-item p :where(strong) { background: rgba(34,211,238,.12); padding: 1px 6px; border-radius: 4px; font-size: .88rem; }
.hd-note {
  margin: .6rem 0 0; padding: .9rem 1.2rem;
  border-radius: 12px;
  background: rgba(34,211,238,.08);
  border-left: 3px solid #22D3EE;
  color: #cfd6ff; font-size: .94rem; font-style: italic;
}


/* ============================================================
   WAVE D – Press / Media
   ============================================================ */
.section-press { padding: clamp(2rem, 4.5vw, 3.5rem) 0; }
.press-layout {
  display: grid; grid-template-columns: 1.4fr 1fr; gap: 2rem;
  margin-top: 2.4rem;
}
@media (max-width: 980px) { .press-layout { grid-template-columns: 1fr; } }

.press-st {
  font-size: .82rem; font-weight: 800; letter-spacing: .08em;
  text-transform: uppercase; color: #22D3EE;
  margin: 0 0 1rem;
}

.press-event {
  padding: 1.6rem 1.7rem;
  border-radius: 18px;
  display: flex; flex-direction: column; gap: .6rem;
}
.pe-meta { display: flex; gap: 1rem; align-items: center; flex-wrap: wrap; font-size: .86rem; color: var(--muted, #b4b9d0); }
.pe-date {
  font-family: ui-monospace, 'JetBrains Mono', SFMono-Regular, Menlo, monospace;
  font-size: .76rem; letter-spacing: .04em;
  color: rgba(255,255,255,.55); text-transform: uppercase;
}
.pe-loc { display: inline-flex; align-items: center; gap: .35rem; }
.pe-name { font-size: 1.2rem; margin: .1rem 0 .15rem; }
.pe-role {
  display: inline-block; align-self: flex-start;
  padding: .22rem .7rem; border-radius: 99px;
  font-size: .76rem; font-weight: 700; letter-spacing: .04em;
  background: rgba(34,211,238,.14); color: #a8e8f5;
}
.pe-text { margin: .5rem 0; color: var(--muted, #b4b9d0); font-size: .94rem; line-height: 1.55; }
.pe-cta {
  align-self: flex-start;
  display: inline-flex; align-items: center; gap: .4rem;
  font-size: .9rem; font-weight: 600; color: #22D3EE;
  transition: gap .25s ease;
}
.pe-cta:hover { gap: .6rem; }

.press-side { display: flex; flex-direction: column; gap: 1.4rem; }
.press-mentions { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: .55rem; }
.press-mention {
  display: grid; grid-template-columns: 3.2rem 1fr; gap: 1rem;
  padding: .85rem 1rem;
  border-radius: 12px;
  background: rgba(255,255,255,.03);
  border: 1px solid rgba(255,255,255,.07);
}
.pm-year {
  font-family: ui-monospace, "SF Mono", Menlo, monospace;
  font-weight: 800; font-size: 1.05rem;
  background: var(--grad, linear-gradient(135deg, #7C5CFF, #22D3EE));
  -webkit-background-clip: text; background-clip: text;
  -webkit-text-fill-color: transparent; color: transparent;
  align-self: center;
}
.pm-body { display: flex; flex-direction: column; gap: .15rem; }
.pm-source { font-size: .82rem; color: #cfd6ff; }
.pm-title { font-size: .88rem; color: var(--muted, #b4b9d0); }

.press-contact { padding: 1.2rem 1.4rem; }
.press-contact h4 { margin: 0 0 .35rem; font-size: .98rem; }
.press-contact p  { margin: 0; font-size: .9rem; color: var(--muted, #b4b9d0); line-height: 1.5; }
.press-contact a  { color: #22D3EE; font-weight: 600; }

/* ============================================================
   WAVE D — BLOG (list + post)
   ============================================================ */
.section-blog-hero{ padding-top: 7rem; }
.blog-showcase{
  margin-top: 2.2rem;
}
.blog-showcase-head{
  margin: 0 0 1rem;
}
.blog-showcase-head h2{
  margin: 0 0 .45rem;
  font-size: clamp(1.2rem, 2.2vw, 1.6rem);
}
.blog-showcase-head p{
  margin: 0;
  color: rgba(255,255,255,.72);
  line-height: 1.6;
  max-width: 74ch;
}
.blog-showcase-grid{
  display:grid;
  grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
  gap: 1.25rem;
}
.showcase-card{
  overflow: hidden;
  padding: 0;
  border-color: rgba(255,255,255,.09);
  transition: transform .35s ease, border-color .35s ease, box-shadow .35s ease;
}
.showcase-card:hover{
  transform: translateY(-5px);
  border-color: rgba(34,211,238,.5);
  box-shadow: 0 20px 40px rgba(0,0,0,.35);
}
.sc-media{
  display:block;
  position:relative;
  aspect-ratio: 16 / 9;
  aspect-ratio: 3 / 2;
  height: auto;
}
.sc-media::after{
  content:"";
  position:absolute;
  inset:0;
  background: linear-gradient(180deg, rgba(5,8,20,.02) 35%, rgba(5,8,20,.55) 100%);
  pointer-events:none;
}
.sc-media img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  transform: scale(1.01);
  transition: transform .5s ease;
}
.showcase-card:hover .sc-media img{ transform: scale(1.06); }
.sc-body{ padding: 1rem 1.05rem 1.1rem; }
.sc-meta{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:.5rem;
  margin-bottom:.55rem;
  font-family: ui-monospace, 'JetBrains Mono', SFMono-Regular, Menlo, monospace;
  font-size:.74rem;
  color: rgba(255,255,255,.62);
  letter-spacing: .03em;
}
.sc-title{
  margin: 0;
  font-size: 1.12rem;
  line-height: 1.34;
}
.sc-title a{
  color:#fff;
  text-decoration:none;
  background: linear-gradient(90deg, #7C5CFF, #22D3EE);
  background-size: 0 1px;
  background-position: 0 100%;
  background-repeat: no-repeat;
  transition: background-size .35s ease;
}
.sc-title a:hover{ background-size: 100% 1px; }
.sc-excerpt{
  margin:.6rem 0 0;
  color: rgba(255,255,255,.72);
  line-height:1.56;
  font-size: .92rem;
}

.blog-deep-head{
  margin-top: 2.8rem;
  margin-bottom: 1rem;
}
.blog-deep-head h2{
  margin:0 0 .55rem;
  font-size: clamp(1.2rem, 2.3vw, 1.65rem);
}
.blog-deep-head p{
  margin:0;
  color: rgba(255,255,255,.72);
  line-height: 1.6;
  max-width: 74ch;
}

.blog-grid{
  display:grid;
  grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
  gap: 1.4rem;
  margin-top: 2.6rem;
}
.blog-card{
  display:flex; flex-direction:column; gap: .8rem;
  padding: 1.6rem 1.6rem 1.4rem;
  transition: transform .35s ease, box-shadow .35s ease, border-color .35s ease;
}
.blog-card:hover{ transform: translateY(-4px); border-color: rgba(124,92,255,.45); }
.bc-head{
  display:flex; align-items:center; justify-content:space-between;
  gap: .6rem; flex-wrap:wrap;
}
.bc-date{
  font-family: ui-monospace, 'JetBrains Mono', SFMono-Regular, Menlo, monospace;
  font-size: .76rem; letter-spacing: .04em;
  color: rgba(255,255,255,.55); text-transform: uppercase;
}
.bc-tags{ display:flex; gap:.35rem; flex-wrap:wrap; }
.bc-tag{
  font-size: .7rem; padding: .18rem .55rem;
  border: 1px solid rgba(34,211,238,.35);
  color: #22D3EE; border-radius: 999px; letter-spacing:.02em;
}
.bc-title{ margin: 0; font-size: 1.25rem; line-height: 1.3; }
.bc-title a{ color: #fff; text-decoration: none; background: linear-gradient(90deg, #7C5CFF, #22D3EE); background-size: 0 1px; background-position: 0 100%; background-repeat: no-repeat; transition: background-size .35s ease; }
.bc-title a:hover{ background-size: 100% 1px; }
.bc-lead{ color: rgba(255,255,255,.72); font-size: .95rem; line-height: 1.55; flex: 1; }
.bc-foot{
  display:flex; align-items:center; justify-content:space-between;
  border-top: 1px solid rgba(255,255,255,.07); padding-top: .9rem; margin-top:.4rem;
  gap: .8rem; flex-wrap:wrap;
}
.bc-author{ font-size: .8rem; color: rgba(255,255,255,.55); }
.bc-link{
  display:inline-flex; align-items:center; gap:.35rem;
  font-size: .85rem; font-weight: 600;
  color: #22D3EE; text-decoration:none;
}
.bc-link:hover{ color:#fff; }
.bc-link svg{ transition: transform .25s ease; }
.bc-link:hover svg{ transform: translate(2px,-2px); }

/* ----- POST DETAIL ----- */
.section-post{ padding-top: 6rem; }
.post-narrow{ max-width: 760px; }
.post-back{ margin-bottom: 1.4rem; }
.post-back a{
  display:inline-flex; align-items:center; gap:.35rem;
  color: rgba(255,255,255,.65); text-decoration: none; font-size:.88rem;
}
.post-back a:hover{ color: #22D3EE; }
.post-head{ margin-bottom: 2.2rem; }
.post-head h1{ font-size: clamp(1.8rem, 3.2vw, 2.6rem); margin: .8rem 0 1rem; line-height: 1.18; }
.post-meta{
  display:flex; gap: .8rem; align-items:center; flex-wrap:wrap;
  color: rgba(255,255,255,.55); font-size: .82rem;
}
.post-meta .post-date{ font-family: ui-monospace, 'JetBrains Mono', SFMono-Regular, Menlo, monospace; text-transform: uppercase; letter-spacing: .04em; }
.post-tags{ display:flex; gap:.35rem; flex-wrap:wrap; }
.post-tag{
  font-size: .72rem; padding: .2rem .6rem;
  border: 1px solid rgba(34,211,238,.35);
  color: #22D3EE; border-radius: 999px;
}
.post-lead{ font-size: 1.15rem; line-height: 1.6; color: rgba(255,255,255,.85); }
.post-author{
  display:flex; align-items:center; gap: .8rem;
  padding-top: 1rem; border-top: 1px solid rgba(255,255,255,.06);
}
.pa-avatar{
  display:inline-flex; align-items:center; justify-content:center;
  width: 2.4rem; height: 2.4rem;
  background: linear-gradient(135deg, #7C5CFF, #22D3EE);
  color: #0b0e1f; font-weight: 700; border-radius: 50%;
}
.pa-meta{ display:flex; flex-direction:column; line-height: 1.25; }
.pa-meta strong{ color: #fff; font-size: .9rem; }
.pa-meta em{ color: rgba(255,255,255,.55); font-size: .78rem; font-style: normal; }

.post-body{ font-size: 1.02rem; line-height: 1.78; color: rgba(255,255,255,.85); }
.post-hero-media{
  margin: 0 0 1.4rem;
  border-radius: 16px;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.08);
  box-shadow: 0 16px 34px rgba(0,0,0,.28);
}
.post-hero-media img{
  width: 100%;
  height: auto;
  display: block;
  object-fit: cover;
}
.post-body p{ margin: 0 0 1.1rem; }
.post-body h2{
  font-size: 1.4rem; margin: 2rem 0 .8rem;
  background: linear-gradient(90deg, #7C5CFF, #22D3EE);
  -webkit-background-clip: text; background-clip: text; color: transparent;
}
.post-body ul{
  padding-left: 1.2rem; margin: 0 0 1.2rem;
}
.post-body ul li{ margin-bottom: .45rem; }
.post-body ul li::marker{ color: #22D3EE; }
.post-body blockquote{
  margin: 1.6rem 0; padding: 1rem 1.2rem;
  border-left: 3px solid #22D3EE;
  background: rgba(34,211,238,.06);
  border-radius: 0 .6rem .6rem 0;
  font-style: italic; color: rgba(255,255,255,.92);
}

.post-cta{ margin-top: 3rem; padding: 1.8rem; text-align: center; }
.post-cta h3{ margin: 0 0 .5rem; font-size: 1.2rem; }
.post-cta p{ margin: 0 0 1.2rem; color: rgba(255,255,255,.72); }

@media (max-width: 720px){
  .blog-showcase-grid{ grid-template-columns: 1fr; }
  .blog-grid{ grid-template-columns: 1fr; }
  .post-head h1{ font-size: 1.6rem; }
}

/* ============================================================
   Error pages (404, 500)
   ============================================================ */
.section-error{padding:6rem 0 7rem;min-height:70vh;display:flex;align-items:center}
.error-wrap{display:flex;justify-content:center}
.error-card{max-width:640px;width:100%;text-align:center;padding:3.5rem 2.5rem;border-radius:24px}
.error-eyebrow{font-family:var(--font-mono,monospace);text-transform:uppercase;letter-spacing:.18em;font-size:.78rem;color:var(--accent,#22D3EE);margin:0 0 1.2rem}
.error-code{font-size:clamp(5rem,12vw,8rem);font-weight:800;line-height:1;margin:0 0 1rem;letter-spacing:-.04em}
.error-title{font-size:clamp(1.4rem,3vw,2rem);margin:0 0 1rem;line-height:1.25}
.error-text{color:var(--muted,#a9b0c4);line-height:1.7;max-width:46ch;margin:0 auto 2rem}
.error-actions{display:flex;flex-wrap:wrap;gap:.85rem;justify-content:center}
@media (max-width:560px){.error-card{padding:2.4rem 1.4rem}.error-actions{flex-direction:column;align-items:stretch}.error-actions .btn{width:100%}}

/* ============================================================
   Legal pages (privacy, terms, cookies)
   ============================================================ */
.section-legal{padding:5rem 0 6rem}
.legal-head{margin-bottom:2.4rem;text-align:center}
.legal-head .eyebrow{font-family:var(--font-mono,monospace);text-transform:uppercase;letter-spacing:.18em;font-size:.78rem;color:var(--accent,#22D3EE);margin:0 0 1rem}
.legal-head h1{font-size:clamp(1.8rem,4vw,2.6rem);line-height:1.2;margin:0 0 1rem}
.legal-updated{font-family:var(--font-mono,monospace);font-size:.82rem;color:var(--muted,#a9b0c4);margin:0}
.legal-body{margin-top:2.4rem}
/* A folyószövegbe ágyazott link ne csak színben különbözzön (WCAG 1.4.1, axe link-in-text-block) */
.legal-body p a,.legal-body li a,.legal-foot p a{text-decoration:underline;text-underline-offset:2px}
.legal-section{margin:2.4rem 0;padding-top:1.4rem;border-top:1px solid rgba(255,255,255,.06)}
.legal-section:first-child{border-top:none;padding-top:0;margin-top:0}
.legal-section h2{font-size:1.25rem;margin:0 0 .9rem;background:linear-gradient(120deg,#7C5CFF,#22D3EE);-webkit-background-clip:text;background-clip:text;color:transparent}
.legal-section p{color:var(--text,#e6e8f1);line-height:1.75;margin:.6rem 0}
.legal-section ul{margin:.6rem 0;padding-left:1.3rem;color:var(--text,#e6e8f1)}
.legal-section ul li{margin:.35rem 0;line-height:1.65;padding-left:.25rem}
.legal-section ul li::marker{color:var(--accent,#22D3EE)}
.legal-foot{margin-top:3rem;padding-top:1.6rem;border-top:1px solid rgba(255,255,255,.06);color:var(--muted,#a9b0c4);font-size:.92rem;text-align:center}
.legal-foot a{color:var(--accent,#22D3EE);text-decoration:none}
.legal-foot a:hover{text-decoration:underline}

/* ============================================================
   Newsletter section
   ============================================================ */
.section-newsletter{padding:5rem 0 6rem;position:relative}
.newsletter-card{display:grid;grid-template-columns:1.1fr 1fr;gap:3rem;align-items:start;padding:3rem;border-radius:24px}
.newsletter-text .eyebrow{font-family:var(--font-mono,monospace);text-transform:uppercase;letter-spacing:.18em;font-size:.78rem;color:var(--accent,#22D3EE);margin:0 0 1rem;display:inline-block}
.newsletter-text h2{font-size:clamp(1.5rem,3vw,2.1rem);margin:0 0 1rem;line-height:1.25}
.newsletter-text .muted{color:var(--muted,#a9b0c4);line-height:1.7;margin:0 0 1.4rem}
.newsletter-points{list-style:none;margin:0;padding:0;display:grid;gap:.55rem}
.newsletter-points li{position:relative;padding-left:1.6rem;color:var(--text,#e6e8f1);line-height:1.55}
.newsletter-points li::before{content:"";position:absolute;left:0;top:.5em;width:.6rem;height:.6rem;border-radius:50%;background:linear-gradient(120deg,#7C5CFF,#22D3EE);box-shadow:0 0 12px rgba(124,92,255,.6)}

.newsletter-form{display:flex;flex-direction:column;gap:1.1rem}
.nf-row{display:flex;flex-direction:column;gap:.4rem}
.nf-label{font-size:.85rem;color:var(--muted,#a9b0c4);font-weight:500}
.nf-input{width:100%;padding:.95rem 1.1rem;border-radius:12px;border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.03);color:var(--text,#e6e8f1);font-size:1rem;font-family:inherit;transition:border-color .2s,background .2s}
.nf-input:focus{outline:none;border-color:var(--accent,#22D3EE);background:rgba(34,211,238,.06)}
.nf-input::placeholder{color:rgba(169,176,196,.5)}
.nf-consent{display:flex;align-items:flex-start;gap:.7rem;font-size:.85rem;color:var(--muted,#a9b0c4);line-height:1.55;cursor:pointer}
.nf-consent input[type=checkbox]{margin-top:.2rem;width:1.05rem;height:1.05rem;accent-color:var(--accent,#22D3EE);flex-shrink:0}
.nf-consent a{color:var(--accent,#22D3EE);text-decoration:underline}
.nf-consent a:hover{text-decoration:none}
.nf-submit{margin-top:.4rem;align-self:flex-start}
.nf-flash{margin:.4rem 0 0;padding:.85rem 1.05rem;border-radius:10px;font-size:.92rem;line-height:1.5}
.nf-flash-ok{background:rgba(34,211,238,.1);border:1px solid rgba(34,211,238,.3);color:#7DE3F0}
.nf-flash-err{background:rgba(255,99,132,.08);border:1px solid rgba(255,99,132,.35);color:#fff}
.newsletter-form .hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}

@media (max-width:860px){
  .newsletter-card{grid-template-columns:1fr;gap:2rem;padding:2.2rem 1.6rem}
  .nf-submit{width:100%;text-align:center}
}

/* ============================================================
   Hardened "plain-language" summary block
   ============================================================ */
.hardened-summary{display:flex;gap:1.1rem;align-items:flex-start;margin-top:2.4rem;padding:1.5rem 1.7rem;border-radius:16px;background:linear-gradient(120deg,rgba(124,92,255,.08),rgba(34,211,238,.06));border:1px solid rgba(124,92,255,.22);box-shadow:0 4px 30px rgba(124,92,255,.08)}
.hs-icon{flex-shrink:0;width:42px;height:42px;border-radius:12px;display:flex;align-items:center;justify-content:center;background:linear-gradient(120deg,#7C5CFF,#22D3EE);color:#0b0d17}
.hs-body{flex:1;min-width:0}
.hs-title{font-family:var(--font-mono,monospace);text-transform:uppercase;letter-spacing:.16em;font-size:.78rem;color:var(--accent,#22D3EE);margin:0 0 .55rem}
.hs-text{margin:0;color:var(--text,#e6e8f1);line-height:1.7;font-size:.98rem}
.hs-text strong{color:#fff;font-weight:600}
@media (max-width:560px){.hardened-summary{padding:1.2rem;gap:.85rem}.hs-icon{width:36px;height:36px}}

/* ============================================================
   /why-we-rank — SEO/AI compatibility landing
   ============================================================ */
.section-why{padding:7rem 0 5rem;background:radial-gradient(1100px 600px at 50% -10%,rgba(124,92,255,.08),transparent 60%)}
.section-why .why-head{text-align:center;max-width:780px;margin:0 auto 3rem}
.section-why .why-head h1{font-size:clamp(2rem,4.2vw,2.9rem);margin:.6rem 0 1rem;line-height:1.15}
.why-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:1.4rem;counter-reset:why}
.why-section{display:flex;gap:1.5rem;align-items:flex-start;padding:1.8rem 1.9rem;border-radius:18px;background:rgba(255,255,255,.025);border:1px solid rgba(255,255,255,.07);transition:border-color .25s,transform .25s}
.why-section:hover{border-color:rgba(34,211,238,.28);transform:translateY(-2px)}
.why-num{flex-shrink:0;width:54px;height:54px;border-radius:14px;display:flex;align-items:center;justify-content:center;font-family:var(--font-mono,monospace);font-weight:700;font-size:1.05rem;color:#0b0d17;background:linear-gradient(120deg,#7C5CFF,#22D3EE);box-shadow:0 4px 18px rgba(124,92,255,.35)}
.why-body{flex:1;min-width:0}
.why-body h2{font-size:1.3rem;margin:.1rem 0 .8rem;line-height:1.3}
.why-body p{margin:.6rem 0;color:var(--text,#e6e8f1);line-height:1.75}
.why-body ul{margin:.6rem 0 .8rem 1.1rem;padding:0;list-style:none}
.why-body ul li{position:relative;padding-left:1.1rem;margin:.4rem 0;line-height:1.65;color:var(--text-muted,#cbd0e2)}
.why-body ul li::before{content:"";position:absolute;left:0;top:.65em;width:8px;height:8px;border-radius:50%;background:linear-gradient(120deg,#7C5CFF,#22D3EE)}
.why-summary{margin-top:3rem;padding:2.4rem;border-radius:20px;text-align:center;background:linear-gradient(120deg,rgba(124,92,255,.1),rgba(34,211,238,.07));border:1px solid rgba(124,92,255,.25)}
.why-summary .eyebrow{display:inline-block;margin-bottom:.4rem}
.why-summary h2{font-size:1.8rem;margin:.2rem 0 1rem}
.why-summary p{max-width:680px;margin:0 auto 1.6rem;color:var(--text,#e6e8f1);line-height:1.75}
.why-cta{display:flex;gap:.8rem;justify-content:center;flex-wrap:wrap}
@media (max-width:640px){.why-section{flex-direction:column;gap:.9rem;padding:1.4rem}.why-num{width:46px;height:46px;font-size:.95rem}.why-summary{padding:1.7rem 1.2rem}}

/* ============================================================
   /about + /contact dedicated pages
   ============================================================ */
.section-about-page,.section-contact-page{padding:7rem 0 5rem;background:radial-gradient(900px 500px at 50% -10%,rgba(124,92,255,.07),transparent 60%)}
.section-about-page .section-head,.section-contact-page .section-head{text-align:center;max-width:780px;margin:0 auto 2.6rem}
.section-about-page .section-head h1,.section-contact-page .section-head h1{font-size:clamp(2rem,4.2vw,2.8rem);margin:.6rem 0 1rem;line-height:1.18}

.about-cta{display:grid;grid-template-columns:1.3fr 1fr;gap:1.6rem;align-items:center;margin-top:3rem;padding:2rem 2.2rem;border-radius:18px;background:linear-gradient(120deg,rgba(124,92,255,.1),rgba(34,211,238,.07));border:1px solid rgba(124,92,255,.25)}
.about-cta h2{font-size:1.55rem;margin:.2rem 0 .6rem}
.about-cta p{margin:0;color:var(--text,#e6e8f1);line-height:1.7}
.about-cta-actions{display:flex;gap:.7rem;flex-wrap:wrap;justify-content:flex-end}
@media (max-width:760px){.about-cta{grid-template-columns:1fr;padding:1.5rem}.about-cta-actions{justify-content:flex-start}}

/* ============================================================
   /solution + /technology dedicated pages
   ============================================================ */
.section-solution-page,
.section-technology-page {
  padding: 3rem 0 3.6rem;
  background:
    radial-gradient(900px 480px at 15% -12%, rgba(124,92,255,.15), transparent 62%),
    radial-gradient(900px 480px at 85% -12%, rgba(34,211,238,.1), transparent 62%);
}

/* Technology page: tighter and unified vertical rhythm */
.section-technology-page > .container > .section {
  padding: clamp(1rem, 2.2vw, 1.7rem) 0;
}
.section-technology-page > .container > .section .section-head {
  margin: 0 auto 1.25rem;
}
.section-technology-page .open-arch {
  margin-top: 1.3rem;
  padding: 1.25rem 1.35rem;
  gap: 1rem 1.2rem;
}
.section-technology-page .technology-page-cta {
  margin-top: .75rem;
  padding: 1.15rem 1.2rem;
}

.section-solution-page .section-head,
.section-technology-page .section-head {
  text-align: center;
  max-width: 860px;
  margin: 0 auto 2.2rem;
}

.section-solution-page .section-head h1,
.section-technology-page .section-head h1 {
  font-size: clamp(2rem, 4.1vw, 3rem);
  line-height: 1.14;
  margin: .55rem 0 .9rem;
}

.solution-page-layout {
  display: grid;
  grid-template-columns: 1.15fr .85fr;
  gap: 1rem;
  margin-bottom: 1rem;
}

.solution-page-points,
.solution-page-stats,
.solution-page-hardened,
.solution-page-cta,
.technology-page-cta {
  padding: 1.35rem 1.3rem;
  border-radius: 18px;
}

.solution-page-points h2,
.solution-page-stats h2,
.solution-page-hardened h2,
.solution-page-cta h2,
.technology-page-cta h2 {
  margin: .2rem 0 .7rem;
  font-size: clamp(1.2rem, 2.2vw, 1.65rem);
}

.solution-page-points ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: .55rem;
}

.solution-page-points li {
  position: relative;
  padding-left: 1.2rem;
  line-height: 1.62;
  color: var(--text-muted,#cbd0e2);
}

.solution-page-points li::before {
  content: "";
  position: absolute;
  left: 0;
  top: .66em;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: linear-gradient(120deg,#7C5CFF,#22D3EE);
}

.sps-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .7rem;
}

.sps-item {
  padding: .75rem .7rem;
  border-radius: 12px;
  border: 1px solid rgba(255,255,255,.09);
  background: rgba(255,255,255,.02);
}

.sps-num {
  font-size: 1.05rem;
  font-weight: 800;
  color: #fff;
}

.sps-label {
  margin-top: .18rem;
  font-size: .82rem;
  color: var(--text-muted,#cbd0e2);
  line-height: 1.45;
}

.solution-page-hardened {
  margin-top: 1rem;
  background: linear-gradient(120deg, rgba(124,92,255,.11), rgba(34,211,238,.08));
  border: 1px solid rgba(124,92,255,.26);
}

.solution-page-hardened ol {
  list-style: none;
  margin: .8rem 0 0;
  padding: 0;
  display: grid;
  gap: .8rem;
}

.solution-page-hardened li {
  display: grid;
  grid-template-columns: 3rem 1fr;
  gap: .6rem;
  align-items: start;
}

.solution-page-hardened li strong {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 2rem;
  border-radius: 999px;
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.12);
  font-size: .82rem;
}

.solution-page-hardened h3 {
  margin: .1rem 0 .35rem;
  font-size: 1.02rem;
}

.solution-page-hardened p {
  margin: 0;
  color: var(--text-muted,#cbd0e2);
  line-height: 1.62;
}

.sph-note {
  margin: .95rem 0 0;
  color: #dbe1ff;
  font-weight: 600;
}

.solution-page-cta,
.technology-page-cta {
  margin-top: 1rem;
  text-align: center;
  background: linear-gradient(125deg, rgba(124,92,255,.14), rgba(34,211,238,.1));
  border: 1px solid rgba(255,255,255,.09);
}

.solution-page-cta p,
.technology-page-cta p {
  margin: .2rem auto 1rem;
  max-width: 74ch;
  color: var(--text-muted,#cbd0e2);
  line-height: 1.65;
}

.spc-actions,
.tpc-actions {
  display: flex;
  gap: .65rem;
  justify-content: center;
  flex-wrap: wrap;
}

.tp-cards h2 {
  margin: .1rem 0 .45rem;
  font-size: 1.1rem;
}

@media (max-width: 980px) {
  .solution-page-layout {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 640px) {
  .sps-grid {
    grid-template-columns: 1fr;
  }
  .solution-page-hardened li {
    grid-template-columns: 1fr;
  }
}

.contact-layout{display:grid;grid-template-columns:.85fr 1.15fr;gap:1.6rem;align-items:start}
.contact-premium-bar{display:grid;grid-template-columns:1.15fr .85fr;gap:1.2rem;align-items:center;margin:0 0 1.5rem;padding:1.35rem 1.4rem;border-radius:24px;background:linear-gradient(135deg,rgba(124,92,255,.14),rgba(34,211,238,.08)),rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.08);box-shadow:0 18px 45px -26px rgba(0,0,0,.6)}
.cpb-copy h2{margin:.25rem 0 .55rem;font-size:clamp(1.22rem,2.4vw,1.85rem)}
.cpb-copy p{margin:0;color:var(--ink-dim);max-width:68ch;line-height:1.6}
.cpb-points{display:grid;gap:.65rem}
.cpb-point{display:flex;gap:.65rem;align-items:flex-start;color:var(--ink);font-size:.94rem}
.cpb-mark{width:22px;height:22px;flex:0 0 22px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;background:rgba(34,211,238,.14);color:#bdf7ff;font-size:.78rem;font-weight:800;margin-top:.08rem}
.contact-side{padding:1.8rem;position:relative;overflow:hidden}
.contact-side::before{content:'';position:absolute;inset:0;background:radial-gradient(380px 220px at 85% 0%,rgba(34,211,238,.08),transparent 60%);pointer-events:none}
.contact-side-title{font-size:1.15rem;margin:0 0 .9rem}
.contact-divider{border:0;border-top:1px solid rgba(255,255,255,.08);margin:1.5rem 0 1.2rem}
.contact-side-st{font-family:var(--font-mono,monospace);text-transform:uppercase;letter-spacing:.14em;font-size:.78rem;color:var(--accent,#22D3EE);margin:0 0 .8rem}
.contact-direct{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.7rem}
.contact-direct li{display:flex;gap:.65rem;align-items:flex-start;color:var(--text,#e6e8f1);line-height:1.55;font-size:.94rem}
.contact-direct li svg{flex-shrink:0;margin-top:.18rem;color:var(--accent,#22D3EE)}
.contact-direct a{color:#fff;text-decoration:none;border-bottom:1px solid rgba(34,211,238,.35);transition:border-color .2s}
.contact-direct a:hover{border-color:var(--accent,#22D3EE)}
.contact-side-callout{margin-top:1.3rem;padding:1rem 1rem .95rem;border-radius:16px;background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.08)}
.contact-side-kicker{display:block;font-size:.74rem;letter-spacing:.12em;text-transform:uppercase;color:var(--accent,#22D3EE);margin-bottom:.5rem}
.contact-side-callout strong{display:block;font-size:1rem;margin-bottom:.35rem}
.contact-side-callout p{margin:0;color:var(--ink-dim);font-size:.92rem;line-height:1.6}
.contact-form-head{margin:0 0 1rem}
.contact-form-head h2{margin:.25rem 0 .4rem;font-size:1.18rem}
.contact-form-head p{margin:0;color:var(--ink-dim);line-height:1.6}
.contact-form-foot{margin-top:1rem;padding-top:1rem;border-top:1px solid rgba(255,255,255,.08);display:flex;flex-direction:column;gap:.7rem}
.contact-form-foot span{color:var(--ink-dim);font-size:.92rem}
.contact-form-steps{display:flex;flex-wrap:wrap;gap:.55rem}
.contact-form-steps span{padding:.42rem .72rem;border-radius:999px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);color:var(--ink-dim);font-size:.82rem}
@media (max-width:860px){.contact-layout{grid-template-columns:1fr}}
.contact-premium-bar{margin-bottom:1.2rem}
@media (max-width:860px){.contact-premium-bar{grid-template-columns:1fr}}

.form-flash{display:flex;flex-direction:column;gap:.2rem;padding:1rem 1.2rem;border-radius:12px;margin:0 0 1.4rem;border:1px solid}
.form-flash strong{font-size:.98rem}
.form-flash span{color:var(--text-muted,#cbd0e2);font-size:.92rem}
.form-flash-ok{background:rgba(34,211,238,.08);border-color:rgba(34,211,238,.35);color:#fff}
.form-flash-err{background:rgba(255,99,132,.08);border-color:rgba(255,99,132,.35);color:#fff}
.form-flash{box-shadow:0 12px 32px -22px rgba(0,0,0,.5)}
.form-flash-head{display:flex;align-items:center;gap:.55rem}
.ff-icon{width:22px;height:22px;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;font-size:.78rem;font-weight:800}
.form-flash-ok .ff-icon{background:rgba(34,211,238,.2);color:#b8f4ff}
.form-flash-err .ff-icon{background:rgba(255,99,132,.22);color:#ffd3dd}
.form-flash-actions{display:flex;gap:.55rem;flex-wrap:wrap;margin-top:.6rem}
.form-flash-actions .btn{padding:.55rem .85rem;font-size:.82rem}
@media (max-width:640px){.form-flash-actions{flex-direction:column;align-items:stretch}}
.form-flash-tips{margin-top:.7rem;padding-top:.7rem;border-top:1px solid rgba(255,255,255,.12)}
.form-flash-tips strong{display:block;font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ink);margin-bottom:.45rem}
.form-flash-tips ul{margin:0;padding-left:1.05rem}
.form-flash-tips li{font-size:.86rem;color:var(--text-muted,#cbd0e2);margin:.2rem 0}

.contact-post-submit{margin:0 0 1.4rem;padding:1.35rem 1.3rem}
.cps-head h2{margin:.25rem 0 .5rem;font-size:clamp(1.15rem,2vw,1.55rem)}
.cps-head p{margin:0;color:var(--ink-dim);line-height:1.6;max-width:72ch}
.cps-steps{list-style:none;counter-reset:cps;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;margin:1rem 0 0;padding:0}
.cps-steps li{counter-increment:cps;position:relative;padding:.8rem .75rem .75rem 2.4rem;border-radius:12px;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.07);font-size:.88rem;color:var(--ink-dim);line-height:1.5}
.cps-steps li::before{content:"0" counter(cps);position:absolute;left:.7rem;top:.64rem;font-size:.96rem;font-weight:800;color:#9edff4}
.cps-actions{display:flex;gap:.6rem;flex-wrap:wrap;margin-top:.9rem}
@media (max-width:960px){.cps-steps{grid-template-columns:1fr}}
/* ═══════════════════════════════════════════════════════════════════
   ESEMÉNYEK & SAJTÓ – Teljes oldal (events-press/index.php)
   ═══════════════════════════════════════════════════════════════════ */

/* ── Hero ─────────────────────────────────────────────────────────── */
.ep-hero { padding-block: 6rem 4rem; overflow: hidden; }
.ep-hero-inner {
  display: grid;
  grid-template-columns: 1fr 340px;
  gap: 3rem;
  align-items: center;
}
.ep-hero-text { max-width: 620px; }
.ep-hero-title {
  font-size: clamp(2rem, 4.5vw, 3.4rem);
  font-weight: 800;
  line-height: 1.12;
  margin: .75rem 0 1.25rem;
  letter-spacing: -.03em;
}
.ep-hero-deco {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 280px;
}
.ep-hero-icon {
  width: 180px;
  height: 180px;
  position: relative;
  z-index: 1;
  filter: drop-shadow(0 0 40px rgba(124,92,255,.25));
}
.ep-orb {
  position: absolute;
  border-radius: 50%;
  pointer-events: none;
}
.ep-orb-1 {
  width: 220px; height: 220px;
  background: radial-gradient(circle, rgba(124,92,255,.18) 0%, transparent 70%);
  top: 10%; left: 50%; transform: translateX(-50%);
}
.ep-orb-2 {
  width: 120px; height: 120px;
  background: radial-gradient(circle, rgba(34,211,238,.14) 0%, transparent 70%);
  bottom: 15%; right: 10%;
}

/* ── Decision strip ──────────────────────────────────────────────── */
.section-ep-decision { padding: 0 0 1.4rem; }
.ep-decision-strip {
  display: grid;
  grid-template-columns: 1.15fr 1fr auto;
  gap: 1rem;
  align-items: center;
  padding: 1.35rem;
  border-radius: 22px;
  background:
    linear-gradient(135deg, rgba(124,92,255,.14), rgba(34,211,238,.08)),
    rgba(255,255,255,.03);
}
.epd-copy h2 { margin: .25rem 0 .45rem; font-size: clamp(1.15rem, 2vw, 1.65rem); }
.epd-copy p { margin: 0; color: var(--ink-dim); line-height: 1.58; }
.epd-points { display: grid; gap: .55rem; }
.epd-point { display: flex; align-items: flex-start; gap: .58rem; color: var(--ink-dim); font-size: .9rem; }
.epd-mark {
  width: 20px;
  height: 20px;
  flex: 0 0 20px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgba(34,211,238,.14);
  color: #bdf5ff;
  font-size: .74rem;
  font-weight: 800;
  margin-top: .08rem;
}
.epd-actions { display: flex; gap: .55rem; flex-wrap: wrap; justify-content: flex-end; }

/* ── Exkluzív év → hónap szűrő ───────────────────────────────────── */
.ep-filter-bar {
  padding: 1.2rem 0 2.2rem;
  border-bottom: 1px solid rgba(231,233,244,.08);
}
.ep-filter-shell {
  background:
    radial-gradient(circle at 85% 15%, rgba(34,211,238,.14), transparent 45%),
    radial-gradient(circle at 15% 85%, rgba(124,92,255,.16), transparent 50%),
    rgba(14,16,38,.78);
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 18px;
  padding: 1.1rem;
  box-shadow: 0 14px 42px rgba(0,0,0,.28), inset 0 1px 0 rgba(255,255,255,.08);
}
.ep-filter-head {
  margin-bottom: .95rem;
}
.ep-filter-kicker {
  margin: 0;
  font-size: .72rem;
  text-transform: uppercase;
  letter-spacing: .14em;
  color: rgba(167,139,255,.95);
  font-weight: 700;
}
.ep-filter-lead {
  margin: .25rem 0 0;
  color: var(--ink-dim);
  font-size: .95rem;
}
.ep-scope-row {
  display: flex;
  flex-wrap: wrap;
  gap: .5rem;
  margin: .4rem 0 .35rem;
}
.ep-scope-pill {
  text-decoration: none;
  color: var(--ink-dim);
  border: 1px solid rgba(255,255,255,.14);
  background: rgba(255,255,255,.04);
  border-radius: 999px;
  min-height: 38px;
  padding: .45rem .95rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: .8rem;
  font-weight: 700;
  letter-spacing: .04em;
  transition: all .2s ease;
  white-space: nowrap;
}
.ep-scope-pill:hover {
  color: var(--ink);
  background: rgba(255,255,255,.1);
  border-color: rgba(255,255,255,.24);
}
.ep-scope-pill.is-active {
  color: #fff;
  border-color: transparent;
  background: var(--grad);
  box-shadow: 0 8px 24px rgba(124,92,255,.3);
}
.ep-filter-secondary {
  margin-top: .85rem;
  padding-top: .85rem;
  border-top: 1px solid rgba(255,255,255,.08);
}
.ep-filter-actions {
  display: flex;
  justify-content: flex-end;
  margin-top: .7rem;
}
.ep-jump-results {
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 34px;
  padding: .35rem .82rem;
  border-radius: 999px;
  border: 1px solid rgba(34,211,238,.35);
  color: #9aefff;
  background: rgba(34,211,238,.08);
  font-size: .74rem;
  font-weight: 700;
  letter-spacing: .05em;
  text-transform: uppercase;
  transition: all .2s ease;
}
.ep-jump-results:hover {
  color: #fff;
  background: rgba(34,211,238,.2);
  border-color: rgba(34,211,238,.6);
  box-shadow: 0 6px 18px rgba(34,211,238,.22);
}
.ep-sublead {
  margin: 0 0 .65rem;
  color: var(--ink-dim);
  font-size: .86rem;
}
.ep-month-panel--inline {
  padding: 0;
  border-top: 0;
}
.ep-year-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: .72rem;
  align-items: start;
}
.ep-year-card {
  position: relative;
  border-radius: 14px;
  border: 1px solid rgba(255,255,255,.1);
  background: rgba(9,11,27,.7);
  overflow: hidden;
  transition: border-color .22s ease, box-shadow .22s ease, transform .22s ease;
}
.ep-year-card:hover {
  border-color: rgba(167,139,255,.45);
  box-shadow: 0 8px 30px rgba(124,92,255,.24);
  transform: translateY(-2px);
}
.ep-year-card.is-active {
  border-color: rgba(34,211,238,.52);
  box-shadow: 0 10px 34px rgba(34,211,238,.18), inset 0 0 0 1px rgba(34,211,238,.26);
}
.ep-year-toggle {
  width: 100%;
  border: 0;
  background: transparent;
  color: var(--ink);
  display: flex;
  align-items: center;
  gap: .45rem;
  justify-content: space-between;
  padding: .8rem .85rem;
  cursor: pointer;
  font: inherit;
}
.ep-year-number {
  font-family: "Space Grotesk", sans-serif;
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: -.02em;
}
.ep-year-meta {
  margin-left: auto;
  font-size: .7rem;
  text-transform: uppercase;
  letter-spacing: .08em;
  color: var(--ink-dim);
}
.ep-year-arrow {
  color: var(--accent);
  transition: transform .24s ease;
}
.ep-year-toggle[aria-expanded="true"] .ep-year-arrow {
  transform: rotate(180deg);
}
.ep-month-panel {
  padding: .2rem .7rem .8rem;
  display: flex;
  flex-wrap: wrap;
  gap: .42rem;
  border-top: 1px solid rgba(255,255,255,.08);
}
.ep-month-panel[hidden] {
  display: none;
}
.ep-month-pill {
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 32px;
  padding: .35rem .62rem;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.14);
  background: rgba(255,255,255,.04);
  color: var(--ink-dim);
  font-size: .74rem;
  font-weight: 600;
  letter-spacing: .03em;
  transition: all .2s ease;
}
.ep-month-pill:hover {
  color: var(--ink);
  background: rgba(255,255,255,.1);
  border-color: rgba(255,255,255,.28);
}
.ep-month-pill.is-active {
  color: #fff;
  background: var(--grad);
  border-color: transparent;
  box-shadow: 0 6px 20px rgba(124,92,255,.28);
}
.ep-month-pill--all {
  border-style: dashed;
}

/* ── Szekció fejléc ───────────────────────────────────────────────── */
.ep-section { padding-block: 3.5rem; }
.ep-section--mentions { background: rgba(255,255,255,.018); }
.ep-section-head { margin-bottom: 2rem; }
.ep-section-title-row {
  display: flex;
  align-items: center;
  gap: .75rem;
}
.ep-section-title-row h2 {
  font-size: 1.5rem;
  font-weight: 700;
  margin: 0;
}
.ep-section-ico {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px; height: 40px;
  border-radius: 10px;
  background: rgba(124,92,255,.14);
  color: #7C5CFF;
  flex-shrink: 0;
}

/* ── Üres állapot ─────────────────────────────────────────────────── */
.ep-empty {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1rem;
  padding: 3rem 2rem;
  text-align: center;
  color: var(--muted);
}
.ep-empty svg { opacity: .35; }

/* ── Badge-ek ─────────────────────────────────────────────────────── */
.ep-badge {
  display: inline-flex;
  align-items: center;
  gap: .35rem;
  padding: .25rem .7rem;
  border-radius: 999px;
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .05em;
  text-transform: uppercase;
  width: fit-content;
  margin-bottom: .9rem;
}
.ep-badge--upcoming {
  background: linear-gradient(135deg, rgba(124,92,255,.22), rgba(34,211,238,.15));
  border: 1px solid rgba(124,92,255,.45);
  color: #a78bff;
}
.ep-badge--past {
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.12);
  color: var(--muted);
}

/* ── Rendezvény kártyák grid ──────────────────────────────────────── */
.ep-events-year-header {
  display: flex;
  align-items: center;
  gap: 1rem;
  padding: 1.4rem 0 .6rem;
  margin-top: .5rem;
}
.ep-events-year-header::after {
  content: '';
  flex: 1;
  height: 1px;
  background: rgba(255,255,255,.08);
}
.ep-events-year-header:first-child {
  margin-top: 0;
  padding-top: .2rem;
}
.ep-events-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1.5rem;
  margin-bottom: .5rem;
}
.ep-event {
  display: flex;
  flex-direction: column;
  padding: 1.8rem 2rem;
  transition: transform .22s, box-shadow .22s;
  position: relative;
  overflow: hidden;
  animation-delay: var(--d, 0s);
}
.ep-event:hover { transform: translateY(-3px); }

/* Jövőbeli esemény – gradiens bal szegély + enyhe glow */
.ep-event--upcoming {
  border-left: 3px solid transparent;
  border-image: var(--grad) 1;
  box-shadow: 0 0 32px rgba(124,92,255,.12), var(--shadow);
}
.ep-event--upcoming::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, rgba(124,92,255,.06) 0%, transparent 60%);
  pointer-events: none;
}
.ep-event-img {
  width: 100%;
  height: 160px;
  border-radius: 10px;
  background-size: cover;
  background-position: center;
  margin-bottom: 1.2rem;
}
.ep-event-body { display: flex; flex-direction: column; flex: 1; }
.ep-event-name {
  font-size: 1.1rem;
  font-weight: 700;
  margin: .5rem 0 .4rem;
  line-height: 1.3;
}
.ep-event-cta {
  margin-top: auto;
  padding-top: 1.2rem;
  width: fit-content;
  display: inline-flex;
  align-items: center;
  gap: .45rem;
}

/* ── Sajtó-megjelenések grid ──────────────────────────────────────── */
.ep-mentions-grid {
  display: grid;
  gap: .75rem;
}
.ep-mentions-year-header {
  display: flex;
  align-items: center;
  gap: 1rem;
  padding: 1.2rem 0 .5rem;
}
.ep-mentions-year-header::after {
  content: '';
  flex: 1;
  height: 1px;
  background: rgba(255,255,255,.08);
}
.ep-year-pill {
  font-size: .8rem;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
  padding: .3rem .9rem;
  border-radius: 999px;
  background: rgba(124,92,255,.15);
  border: 1px solid rgba(124,92,255,.3);
  color: #a78bff;
  white-space: nowrap;
}
.ep-mention {
  display: flex;
  align-items: flex-start;
  gap: 1.2rem;
  padding: 1.2rem 1.5rem;
  transition: transform .18s, box-shadow .18s;
  animation-delay: var(--d, 0s);
}
.ep-mention:hover { transform: translateX(4px); }
.ep-mention-left {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: .5rem;
  flex-shrink: 0;
}
.ep-mention-logo {
  width: 56px; height: 56px;
  border-radius: 10px;
  overflow: hidden;
  background: rgba(255,255,255,.07);
  display: flex;
  align-items: center;
  justify-content: center;
}
.ep-mention-logo img { width: 100%; height: 100%; object-fit: contain; }
.ep-mention-logo--placeholder { color: var(--muted); }
.ep-mention-year {
  font-size: .7rem;
  font-weight: 700;
  color: var(--muted);
  letter-spacing: .05em;
}
.ep-mention-body {
  display: flex;
  flex-direction: column;
  gap: .35rem;
  flex: 1;
  min-width: 0;
}
.ep-mention-source {
  font-size: .78rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .07em;
  color: var(--accent);
}
.ep-mention-title {
  font-size: .97rem;
  font-weight: 600;
  color: var(--ink);
  text-decoration: none;
  display: inline-flex;
  align-items: baseline;
  gap: .35rem;
  line-height: 1.4;
}
.ep-mention-title:hover { color: var(--accent); }
a.ep-mention-title svg { flex-shrink: 0; opacity: .55; position: relative; top: 1px; }

/* ── Sajtó-kapcsolat kártya ───────────────────────────────────────── */
.section-ep-closing { padding-top: 1.4rem; }
.ep-closing-band {
  display: grid;
  gap: 1rem;
  align-items: center;
  padding: 1.6rem 1.4rem;
  background:
    radial-gradient(900px 420px at 50% 0%, rgba(124,92,255,.18), transparent 62%),
    rgba(255,255,255,.03);
}
.epc-copy h2 { margin: .2rem 0 .45rem; font-size: clamp(1.2rem, 2.1vw, 1.75rem); }
.epc-copy p { margin: 0; color: var(--ink-dim); line-height: 1.58; }
.epc-steps { display: flex; flex-wrap: wrap; gap: .55rem; }
.epc-steps span {
  padding: .42rem .7rem;
  border-radius: 999px;
  background: rgba(255,255,255,.05);
  border: 1px solid rgba(255,255,255,.1);
  color: var(--ink-dim);
  font-size: .8rem;
}
.epc-actions { display: flex; gap: .55rem; flex-wrap: wrap; justify-content: flex-end; }

.ep-contact-section { padding-block: 2rem 5rem; }
.ep-contact-card {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 2rem;
  padding: 2rem 2.5rem;
  background: linear-gradient(135deg, rgba(124,92,255,.12) 0%, rgba(34,211,238,.07) 100%);
  border: 1px solid rgba(124,92,255,.22);
}
.ep-contact-left {
  display: flex;
  align-items: center;
  gap: 1.25rem;
}
.ep-contact-ico {
  width: 52px; height: 52px;
  border-radius: 14px;
  background: rgba(124,92,255,.18);
  display: flex;
  align-items: center;
  justify-content: center;
  color: #a78bff;
  flex-shrink: 0;
}
.ep-contact-card h3 { margin: 0 0 .3rem; font-size: 1.1rem; }
.ep-contact-card p  { margin: 0; color: var(--muted); font-size: .9rem; }
.ep-contact-btn {
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  white-space: nowrap;
  flex-shrink: 0;
}

/* ── Főoldal press "Összes megtekintése" gomb ─────────────────────── */
.press-view-all {
  display: flex;
  justify-content: center;
  margin-top: 2.5rem;
}

/* ── Responsive ───────────────────────────────────────────────────── */
@media (max-width: 960px) {
  .ep-hero-inner { grid-template-columns: 1fr; }
  .ep-hero-deco  { display: none; }
  .ep-events-grid { grid-template-columns: 1fr; }
  .ep-decision-strip,
  .ep-closing-band { grid-template-columns: 1fr; }
  .epd-actions,
  .epc-actions { justify-content: flex-start; }
}
@media (max-width: 640px) {
  .ep-hero { padding-block: 4rem 2.5rem; }
  .ep-filter-shell { padding: .9rem; border-radius: 14px; }
  .ep-filter-kicker { font-size: .66rem; }
  .ep-filter-lead { font-size: .86rem; }
  .ep-scope-row { gap: .4rem; }
  .ep-scope-pill {
    flex: 1 1 calc(50% - .4rem);
    min-width: 132px;
    padding: .45rem .7rem;
    font-size: .74rem;
  }
  .ep-filter-secondary { margin-top: .7rem; padding-top: .68rem; }
  .ep-sublead { font-size: .8rem; }
  .ep-filter-actions { justify-content: stretch; margin-top: .58rem; }
  .ep-jump-results { width: 100%; font-size: .72rem; }
  .ep-year-grid { grid-template-columns: 1fr; gap: .58rem; }
  .ep-year-toggle { padding: .72rem .72rem; }
  .ep-year-number { font-size: 1.15rem; }
  .ep-year-meta { font-size: .63rem; }
  .ep-month-panel { padding: .2rem .58rem .62rem; }
  .ep-month-pill { font-size: .7rem; min-height: 30px; }
  .ep-contact-card {
    flex-direction: column;
    align-items: flex-start;
  }
  .ep-contact-btn { width: 100%; justify-content: center; }
  .ep-mention { gap: .8rem; padding: 1rem; }
}

/* ── Archívum link (eseménykártyán) ───────────────────────────────── */
.ep-archive-link {
  display: inline-flex;
  align-items: center;
  gap: .4rem;
  margin-top: .9rem;
  font-size: .82rem;
  font-weight: 600;
  color: var(--accent);
  text-decoration: none;
  opacity: .85;
  transition: opacity .18s, gap .18s;
}
.ep-archive-link:hover { opacity: 1; gap: .55rem; }
.ep-badge--archive {
  background: rgba(34,211,238,.12);
  border: 1px solid rgba(34,211,238,.3);
  color: #67e8f9;
}

/* ═══════════════════════════════════════════════════════════════════
   ARCHÍVUM DETAIL OLDAL (events-press/show.php)
═══════════════════════════════════════════════════════════════════ */

/* Hero */
.ep-archive-hero { padding-block: 3.5rem 2rem; }
.ep-archive-hero-inner { max-width: 860px; }
.ep-archive-breadcrumb { margin-bottom: 1.4rem; }
.ep-archive-back {
  display: inline-flex;
  align-items: center;
  gap: .4rem;
  font-size: .85rem;
  color: var(--muted);
  text-decoration: none;
  transition: color .18s;
}
.ep-archive-back:hover { color: var(--ink); }
.ep-archive-title {
  font-size: clamp(1.6rem, 4vw, 2.4rem);
  font-weight: 800;
  line-height: 1.2;
  margin: .7rem 0 1rem;
}
.ep-archive-meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .4rem .8rem;
  color: var(--muted);
  font-size: .9rem;
  margin-bottom: 1.5rem;
}
.ep-archive-meta-item { display: inline-flex; align-items: center; gap: .35rem; }
.ep-archive-meta-sep  { opacity: .4; }
.ep-archive-role      { color: var(--accent); font-weight: 600; }
.ep-archive-cover     { margin-top: 1.5rem; border-radius: 12px; overflow: hidden; }
.ep-archive-cover-img { width: 100%; max-height: 420px; object-fit: cover; display: block; }

/* Content sections */
.ep-archive-section   { padding-block: 1.2rem 2rem; }
.ep-archive-content   { max-width: 860px; }
.ep-archive-section-title {
  font-size: 1.25rem;
  font-weight: 700;
  margin-bottom: 1.1rem;
  padding-bottom: .6rem;
  border-bottom: 1px solid rgba(255,255,255,.07);
}
.ep-archive-text {
  font-size: 1rem;
  line-height: 1.75;
  color: var(--muted);
  padding: 1.5rem 2rem;
  white-space: pre-wrap;
}
.ep-archive-empty-wrap { max-width: 520px; margin: 0 auto; padding-block: 4rem; }
.ep-archive-empty {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 1rem;
  padding: 3rem 2rem;
  color: var(--muted);
}
.ep-archive-empty svg { opacity: .3; }
.ep-archive-back-section { padding-block: .5rem 5rem; }
.ep-archive-back-btn { gap: .55rem; }

/* Video embed */
.ep-video-wrap {
  position: relative;
  padding-top: 56.25%; /* 16:9 */
  border-radius: 12px;
  overflow: hidden;
  background: rgba(0,0,0,.4);
}
.ep-video-wrap iframe {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: none;
}

/* Gallery grid */
.ep-gallery-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
  gap: .75rem;
}
.ep-gallery-item {
  display: block;
  border-radius: 8px;
  overflow: hidden;
  aspect-ratio: 16/9;
  background: rgba(255,255,255,.04);
  transition: transform .2s, box-shadow .2s;
}
.ep-gallery-item:hover { transform: scale(1.02); box-shadow: 0 8px 24px rgba(0,0,0,.35); }
.ep-gallery-item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* ═══════════════════════════════════════════════════════════════════
   ADMIN GALÉRIA GRID (press_event_form.php)
═══════════════════════════════════════════════════════════════════ */
.gallery-admin-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(130px, 1fr));
  gap: .65rem;
  margin-bottom: 1rem;
}
.gallery-admin-thumb {
  position: relative;
  border-radius: 8px;
  overflow: hidden;
  aspect-ratio: 16/9;
  background: rgba(255,255,255,.04);
}
.gallery-admin-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.gallery-admin-del {
  position: absolute;
  top: .3rem;
  right: .3rem;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: rgba(200,30,30,.88);
  color: #fff;
  border: none;
  cursor: pointer;
  font-size: .7rem;
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
  transition: background .15s;
}
.gallery-admin-del:hover { background: rgba(220,30,30,1); }

/* =========================================================================
   AI DOC publikus oldal (/ai-docs?slug=…)
   ========================================================================= */

/* Hero */
.aid-hero { padding: 4rem 0 2.5rem; }
.aid-hero-inner { max-width: 860px; }
.aid-breadcrumb { display: flex; align-items: center; gap: .4rem; font-size: .83rem; color: var(--ink-dim); margin-bottom: 1.2rem; }
.aid-back-link { display: inline-flex; align-items: center; gap: .35rem; color: inherit; text-decoration: none; transition: color .18s; }
.aid-back-link:hover { color: var(--ink); }
.aid-badge {
  display: inline-flex; align-items: center; gap: .35rem;
  font-size: .72rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase;
  color: var(--accent); background: rgba(var(--accent-rgb,.4,.5,1),.12);
  border: 1px solid rgba(var(--accent-rgb,.4,.5,1),.25);
  border-radius: 100px; padding: .25em .75em;
  margin-bottom: .9rem;
}
.aid-title { font-size: clamp(1.6rem, 3.5vw, 2.5rem); font-weight: 800; letter-spacing: -.02em; margin: 0 0 .7rem; line-height: 1.15; }
.aid-description { font-size: 1.05rem; color: var(--ink-dim); max-width: 680px; margin: 0 0 1rem; line-height: 1.7; }
.aid-meta { display: flex; flex-wrap: wrap; gap: .5rem 1.2rem; align-items: center; }
.aid-meta-item { display: flex; align-items: center; gap: .35rem; font-size: .82rem; color: var(--ink-dim); }

/* Content layout */
.aid-content-section { padding: 2rem 0 4rem; }
.aid-content-wrap { display: grid; grid-template-columns: 1fr 260px; gap: 2.5rem; align-items: start; max-width: 1060px; }
@media (max-width: 800px) { .aid-content-wrap { grid-template-columns: 1fr; } }

/* Article prose */
.aid-article { min-width: 0; }
.aid-content { font-size: 1rem; line-height: 1.8; color: var(--ink-dim); }
.aid-content h1 { font-size: 1.7rem; font-weight: 800; margin: 2rem 0 .8rem; color: var(--ink); }
.aid-content h2 { font-size: 1.3rem; font-weight: 700; margin: 2rem 0 .7rem; color: var(--ink); border-bottom: 1px solid var(--line-soft); padding-bottom: .4rem; }
.aid-content h3 { font-size: 1.1rem; font-weight: 600; margin: 1.6rem 0 .5rem; color: var(--ink); }
.aid-content h4 { font-size: 1rem; font-weight: 600; margin: 1.2rem 0 .4rem; color: var(--ink); }
.aid-content p  { margin: 0 0 1rem; }
.aid-content ul { padding-left: 1.4rem; margin: 0 0 1rem; }
.aid-content li { margin-bottom: .35rem; }
.aid-content hr { border: none; border-top: 1px solid var(--line-soft); margin: 2rem 0; }
.aid-content strong { color: var(--ink); font-weight: 600; }
.aid-content code { font-family: ui-monospace, 'Cascadia Code', monospace; font-size: .88em; background: rgba(255,255,255,.07); padding: .1em .4em; border-radius: 3px; color: var(--ink); }

/* Sidebar */
.aid-sidebar { position: sticky; top: 6rem; }
.aid-sidebar-card { padding: 1.2rem 1.3rem; border-radius: var(--radius); }
.aid-sidebar-card h3 { font-size: .9rem; font-weight: 700; margin: 0 0 .5rem; letter-spacing: .03em; text-transform: uppercase; opacity: .6; }
.aid-sidebar-card .btn { display: block; text-align: center; }

/* Admin form – AI content textarea */
.ai-content-wrap { border: 1px solid var(--line-soft); border-radius: var(--radius-sm); overflow: hidden; }
.ai-content-toolbar { display: flex; align-items: center; justify-content: space-between; padding: .5rem .8rem; background: rgba(255,255,255,.04); border-bottom: 1px solid var(--line-soft); flex-wrap: wrap; gap: .4rem; }
.ai-word-count { display: flex; align-items: center; gap: .35rem; font-size: .79rem; color: var(--ink-dim); white-space: nowrap; }
.ai-content-wrap textarea { border: none; border-radius: 0; font-family: ui-monospace, 'Cascadia Code', 'JetBrains Mono', monospace; font-size: .86rem; line-height: 1.65; background: rgba(255,255,255,.02); resize: vertical; min-height: 480px; }
.ai-content-wrap textarea:focus { box-shadow: none; outline: none; }

/* Admin list – status pill (ha nincs admin.css-ben) */
.status-pill { display: inline-block; font-size: .74rem; font-weight: 600; padding: .2em .7em; border-radius: 100px; cursor: pointer; border: none; line-height: 1.5; transition: background .18s, color .18s; }
.status-pill--on  { background: rgba(30,200,100,.15); color: #1dc86a; border: 1px solid rgba(30,200,100,.3); }
.status-pill--off { background: rgba(255,255,255,.06); color: var(--ink-dim); border: 1px solid var(--line-soft); }
.status-pill:hover { opacity: .8; }

/* ============================== SR-ONLY UTILITY ============================== */
.sr-only {
  position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0;
}

/* ============================== EVENT TICKER ==============================
   Végtelen futószalag. A képernyő kitöltéséhez szükséges tartalom-másolatokat
   a main.js "Event ticker" blokkja klónozza, és ő állítja be a hurok két
   változóját is:
     --et-w    egy tartalomcsoport teljes szélessége px-ben (a záró réssel
               együtt) — a keyframe pontosan ennyit tol el, így nincs varrat;
     --et-dur  a fenti szélesség / sebesség — a tempó tartalomtól független.
   JS nélkül vagy prefers-reduced-motion mellett nincs .is-live: a sáv
   középre igazított, álló szövegként jelenik meg.
   ========================================================================= */
.ev-ticker {
  --et-gap: 2.5rem;          /* tételek és a hurok illesztésének ritmusa */
  display: flex;
  align-items: stretch;
  width: 100%;
  height: 44px;
  position: relative;
  overflow: hidden;
  background:
    linear-gradient(90deg,
      rgba(124,92,255,0.18) 0%,
      rgba(34,211,238,0.07) 50%,
      rgba(124,92,255,0.13) 100%);
  border-top: 1px solid rgba(124,92,255,0.28);
  contain: layout paint;
}

/* Gradient shimmer vonal a tetején */
.ev-ticker::before {
  content: "";
  position: absolute; left: 0; right: 0; top: 0; height: 1px;
  background: linear-gradient(90deg,
    transparent 0%,
    rgba(124,92,255,.7) 30%,
    rgba(34,211,238,.7) 70%,
    transparent 100%);
  pointer-events: none;
  z-index: 1;
}

/* ── Badge (bal oldal) ── */
.ev-ticker-badge {
  display: flex;
  align-items: center;
  gap: .55rem;
  padding: 0 1.1rem 0 1.25rem;
  flex: 0 0 auto;
  border-right: 1px solid rgba(255,255,255,0.08);
  background: rgba(124,92,255,0.12);
  white-space: nowrap;
  backdrop-filter: blur(6px);
}

/* Lüktető pont */
.ev-ticker-pulse {
  width: 7px; height: 7px;
  border-radius: 50%;
  background: var(--accent);
  box-shadow: 0 0 0 0 rgba(34,211,238,.5);
  flex-shrink: 0;
  animation: et-pulse 2.4s ease-in-out infinite;
}
@keyframes et-pulse {
  0%, 100% { box-shadow: 0 0 0 0 rgba(34,211,238,.5); transform: scale(1); }
  50%       { box-shadow: 0 0 0 5px rgba(34,211,238,.0); transform: scale(.85); }
}

/* "Találkozhat velünk" felirat */
.ev-ticker-lbl {
  font-size: .68rem;
  font-weight: 700;
  letter-spacing: .13em;
  text-transform: uppercase;
  color: var(--accent);
  font-family: 'Space Grotesk', sans-serif;
  white-space: nowrap;
}

/* Screen reader szöveg */
.ev-ticker-sr {
  position: absolute;
  width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0;
}

/* ── Görgetős terület ── */
.ev-ticker-stage {
  flex: 1 1 auto;
  min-width: 0;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;   /* álló állapot (JS nélkül) középen olvasható */
  /* Fade-out szélek */
  -webkit-mask-image: linear-gradient(
    90deg, transparent 0, #000 2.5rem, #000 calc(100% - 2.5rem), transparent 100%);
  mask-image: linear-gradient(
    90deg, transparent 0, #000 2.5rem, #000 calc(100% - 2.5rem), transparent 100%);
}
.ev-ticker.is-live .ev-ticker-stage { justify-content: flex-start; }

.ev-ticker-track {
  display: flex;
  align-items: center;
  width: max-content;
  max-width: none;
  white-space: nowrap;
  transform: translate3d(0, 0, 0);
}
.ev-ticker.is-live .ev-ticker-track {
  animation: et-scroll var(--et-dur, 30s) linear infinite;
  will-change: transform;
}

/* Szünet: kurzor alatt, billentyűzet-fókusznál, illetve ha a sáv kigörgött
   a képernyőről vagy a fül háttérbe került (a JS teszi rá az osztályt). */
.ev-ticker:hover        .ev-ticker-track,
.ev-ticker:focus-within .ev-ticker-track,
.ev-ticker.is-paused    .ev-ticker-track { animation-play-state: paused; }

.ev-ticker-inner {
  display: inline-flex;
  align-items: center;
  flex: 0 0 auto;
  gap: var(--et-gap);
  padding-right: var(--et-gap);  /* a hurok illesztésének rése — a mért
                                    szélesség része, ezért marad varratmentes */
  font-size: .83rem;
  color: var(--ink-dim);
  letter-spacing: .01em;
  line-height: 1;
}

.et-item {
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  white-space: nowrap;
}

/* Eseménynév kiemelés */
.ev-ticker-inner .et-name {
  color: var(--ink);
  font-weight: 600;
}

/* Elválasztó karakterek */
.ev-ticker-inner .et-sep,
.ev-ticker-inner .et-star {
  color: var(--muted);
  font-size: .75rem;
  flex-shrink: 0;
}
.ev-ticker-inner .et-star {
  color: var(--accent-2);
  opacity: .6;
  font-size: .7rem;
}

/* Pontosan egy tartalomcsoportnyi eltolás — a következő másolat pixelre
   ugyanoda ér, ahol az előző indult. */
@keyframes et-scroll {
  from { transform: translate3d(0, 0, 0); }
  to   { transform: translate3d(calc(-1 * var(--et-w, 50%)), 0, 0); }
}

/* ── Tovább gomb (jobb oldal) ── */
.ev-ticker-cta {
  display: inline-flex;
  align-items: center;
  gap: .42rem;
  padding: 0 1.25rem;
  flex: 0 0 auto;
  border-left: 1px solid rgba(255,255,255,0.08);
  background: rgba(34,211,238,0.06);
  font-size: .75rem;
  font-weight: 700;
  color: var(--accent);
  letter-spacing: .06em;
  text-transform: uppercase;
  font-family: 'Space Grotesk', sans-serif;
  white-space: nowrap;
  transition: background .22s, color .22s;
  position: relative;
  overflow: hidden;
}
.ev-ticker-cta::before {
  content: "";
  position: absolute; inset: 0;
  background: var(--grad);
  opacity: 0;
  transition: opacity .22s;
}
.ev-ticker-cta:hover {
  color: #fff;
  background: rgba(34,211,238,0.14);
}
.ev-ticker-cta:hover::before { opacity: .12; }
.ev-ticker-cta svg {
  flex-shrink: 0;
  transition: transform .22s cubic-bezier(.2,.8,.2,1);
  position: relative;
}
.ev-ticker-cta:hover svg { transform: translateX(3px); }

/* ── Reduced motion ── */
@media (prefers-reduced-motion: reduce) {
  .ev-ticker-track { animation: none; }
  .ev-ticker-pulse { animation: none; box-shadow: none; }
  .ev-ticker-stage {
    -webkit-mask-image: none;
    mask-image: none;
    overflow-x: auto;
    scrollbar-width: none;
  }
  .ev-ticker-stage::-webkit-scrollbar { display: none; }
  /* Ha nem fér ki, balról induljon, hogy a legkorábbi esemény látszódjon. */
  .ev-ticker-inner { padding-right: 0; }
}

/* ── Reszponzív ── */
@media (max-width: 860px) {
  .ev-ticker { --et-gap: 2rem; }
  .ev-ticker-lbl { display: none; }
  .ev-ticker-badge { padding: 0 .9rem; gap: 0; }
}
@media (max-width: 520px) {
  .ev-ticker { height: 40px; --et-gap: 1.5rem; }
  .ev-ticker-badge { padding: 0 .65rem; }
  .ev-ticker-cta-txt { display: none; }
  .ev-ticker-cta { padding: 0 .9rem; gap: 0; }
  .ev-ticker-inner { font-size: .78rem; }
  .ev-ticker-stage {
    -webkit-mask-image: linear-gradient(
      90deg, transparent 0, #000 1.25rem, #000 calc(100% - 1.25rem), transparent 100%);
    mask-image: linear-gradient(
      90deg, transparent 0, #000 1.25rem, #000 calc(100% - 1.25rem), transparent 100%);
  }
}
@media (max-width: 360px) {
  .ev-ticker { --et-gap: 1.25rem; }
  .ev-ticker-badge { display: none; }
  .ev-ticker-cta { padding: 0 .7rem; }
}
/* =====================================================================
   NEW BLOCKS — Ecosystem, Pyramid, Why Now, Closing CTA
   ViVeSec Box page, AI Box page
   ===================================================================== */

/* ── Partners stats text ────────────────────────────────────────── */
.partners-stats-text {
  margin-top: .85rem;
  font-size: .88rem;
  color: var(--ink-dim);
  font-style: italic;
}

/* ── ECOSYSTEM SPLIT ────────────────────────────────────────────── */
.section-ecosystem { padding: clamp(2.5rem, 5vw, 4rem) 0; }
.eco-split {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  gap: 1.2rem;
  align-items: stretch;
  margin-top: 2rem;
}
@media (max-width: 900px) {
  .eco-split { grid-template-columns: minmax(0, 1fr); }
  .eco-media { aspect-ratio: 3 / 2; height: auto; }
  .eco-connector { display: none; }
}
.eco-col {
  display: flex;
  flex-direction: column;
  gap: 1.1rem;
  padding: 2rem;
  min-width: 0;
}
.eco-media {
  position: relative;
  width: 100%;
  max-width: 100%;
  height: clamp(168px, 18vw, 228px);
  border-radius: 16px;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.14);
  background:
    radial-gradient(130% 110% at 78% 96%, rgba(124,92,255,.26), transparent 65%),
    linear-gradient(155deg, rgba(19, 24, 58, .88), rgba(9, 11, 32, .9));
  box-shadow:
    0 24px 54px -30px rgba(0,0,0,.75),
    0 12px 34px -20px rgba(34,211,238,.32);
}
@media (max-width: 900px) {
  .eco-col { padding: 1.2rem; }
}
.eco-slide {
  position: absolute;
  inset: 0;
  margin: 0;
  opacity: 0;
  transform: scale(1.03);
  transition: opacity .62s ease, transform .9s cubic-bezier(.22,.61,.36,1);
}
.eco-slide.is-active {
  opacity: 1;
  transform: scale(1);
}
.eco-slide img {
  width: 100%;
  height: 100%;
  display: block;
}
.eco-media-vsb .eco-slide img {
  object-fit: contain;
  padding: .9rem .9rem 1.8rem;
  filter: drop-shadow(0 16px 20px rgba(0,0,0,.46));
}
.eco-media-vsb .eco-slide-photo img {
  object-fit: cover;
  object-position: center top;
  padding: 0;
  filter: saturate(1.06) contrast(1.03);
}
.eco-media-aibox .eco-slide img {
  object-fit: contain;
  object-position: center 58%;
  padding: .4rem .55rem 1.6rem;
  filter: saturate(1.06) contrast(1.04) drop-shadow(0 14px 24px rgba(0,0,0,.52));
}
.eco-media-aibox .eco-slide-photo img {
  object-fit: cover;
  object-position: center;
  padding: 0;
  filter: saturate(1.05) contrast(1.03);
}
.eco-media::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent 52%, rgba(8, 10, 28, .86) 100%);
  pointer-events: none;
  z-index: 2;
}
.eco-slide-dots {
  position: absolute;
  right: 10px;
  bottom: 9px;
  z-index: 4;
  display: inline-flex;
  gap: .34rem;
  padding: .28rem .42rem;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.24);
  background: rgba(7, 10, 28, .66);
  backdrop-filter: blur(8px);
}
.eco-dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  border: 0;
  padding: 0;
  background: rgba(255,255,255,.38);
  cursor: pointer;
}
.eco-dot.is-active {
  background: #fff;
  box-shadow: 0 0 0 4px rgba(34,211,238,.18);
}
.eco-media-vsb::before,
.eco-media-aibox::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 2px;
  z-index: 5;
  background: var(--grad);
}
.eco-label {
  font-family: 'Space Grotesk', 'Inter', sans-serif;
  font-size: 1.35rem;
  font-weight: 800;
  background: var(--grad);
  -webkit-background-clip: text; background-clip: text; color: transparent;
}
.eco-tagline {
  font-size: 1rem;
  color: var(--ink-dim);
  font-style: italic;
}
.eco-bullets {
  list-style: none;
  padding: 0; margin: 0;
  display: flex;
  flex-direction: column;
  gap: .55rem;
  flex: 1;
}
.eco-bullets li {
  color: var(--ink-dim);
  font-size: .94rem;
  padding-left: 1.4rem;
  position: relative;
}
.eco-bullets li::before {
  content: "✓";
  position: absolute; left: 0;
  color: var(--accent);
  font-size: .85rem;
}
.eco-connector {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: .5rem;
  min-width: 80px;
}
@media (max-width: 900px) {
  .eco-connector { flex-direction: row; min-width: unset; }
}
.eco-connector-line {
  width: 2px;
  flex: 1;
  background: linear-gradient(180deg, transparent, var(--primary), transparent);
  border-radius: 2px;
  min-height: 40px;
}
@media (max-width: 900px) {
  .eco-connector-line { width: 40px; height: 2px; flex: 0 0 40px; min-height: unset; background: linear-gradient(90deg, transparent, var(--primary), transparent); }
}
.eco-connector-badge {
  font-size: .68rem;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--muted);
  writing-mode: vertical-lr;
  text-orientation: mixed;
  padding: .4rem .3rem;
  border: 1px solid var(--line-2);
  border-radius: 8px;
  background: rgba(255,255,255,.02);
  white-space: nowrap;
}
@media (max-width: 900px) {
  .eco-connector-badge { writing-mode: horizontal-tb; text-orientation: mixed; padding: .3rem .6rem; }
}
@media (prefers-reduced-motion: reduce) {
  .eco-slide,
  .eco-slide.is-active { transition: none; }
}

/* ── PYRAMID TIERS ──────────────────────────────────────────────── */
.section-pyramid { padding: clamp(2.5rem, 5vw, 4rem) 0; }
.pyramid-tiers {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.2rem;
  margin-top: 2rem;
}
@media (max-width: 820px) { .pyramid-tiers { grid-template-columns: 1fr; } }
.pyramid-tier {
  padding: 1.6rem;
  border-width: 1px;
  border-style: solid;
  border-color: var(--line-2);
  position: relative;
  overflow: hidden;
  transition: transform .35s cubic-bezier(.2,.7,.2,1), border-color .3s;
}
.pyramid-tier[style*="--tier-idx: 0"] { border-color: rgba(34,211,238,.25); }
.pyramid-tier[style*="--tier-idx: 1"] { border-color: rgba(124,92,255,.25); }
.pyramid-tier[style*="--tier-idx: 2"] { border-color: rgba(255,100,100,.18); }
.pyramid-tier:hover { transform: translateY(-4px); }
.tier-name {
  font-family: 'Space Grotesk','Inter',sans-serif;
  font-size: 1.15rem;
  font-weight: 800;
  background: var(--grad);
  -webkit-background-clip: text; background-clip: text; color: transparent;
  margin: 0 0 .5rem;
}
.tier-desc { color: var(--ink-dim); font-size: .94rem; margin-bottom: .65rem; }
.tier-specs {
  font-size: .82rem;
  font-family: ui-monospace, 'SF Mono', Menlo, monospace;
  color: var(--accent);
  padding: .4rem .7rem;
  background: rgba(34,211,238,.06);
  border-radius: 8px;
  border: 1px solid rgba(34,211,238,.15);
  margin-bottom: .6rem;
}
.tier-ai {
  font-size: .82rem;
  color: var(--muted);
}
.pyramid-note {
  text-align: center;
  margin-top: 1.4rem;
  color: var(--ink-dim);
  font-size: .92rem;
  font-style: italic;
}

/* ── WHY NOW ────────────────────────────────────────────────────── */
.section-why-now { padding: clamp(1.25rem, 2.5vw, 2rem) 0; }
.why-stats {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.2rem;
  margin-top: 2rem;
}

/* Tightened inter-section spacing on highlighted blocks */
#hardened,
#awards,
#partner-form {
  padding-top: clamp(1rem, 2.25vw, 1.75rem);
}

#pyramid {
  padding-top: clamp(1.25rem, 2.5vw, 2rem);
}

@media (max-width: 820px) { .why-stats { grid-template-columns: 1fr; } }
.why-stat {
  padding: 1.6rem;
  text-align: center;
  transition: transform .35s ease;
}
.why-stat:hover { transform: translateY(-4px); }
.why-stat-num {
  font-family: 'Space Grotesk','Inter',sans-serif;
  font-size: 2rem;
  font-weight: 800;
  background: var(--grad);
  -webkit-background-clip: text; background-clip: text; color: transparent;
  line-height: 1.1;
  margin-bottom: .4rem;
}
.why-stat-label {
  font-weight: 700;
  font-size: .92rem;
  color: var(--ink);
  margin-bottom: .5rem;
}
.why-stat-text {
  color: var(--ink-dim);
  font-size: .88rem;
  line-height: 1.55;
  margin: 0;
}

/* ── CLOSING CTA ────────────────────────────────────────────────── */
.section-closing-cta { padding: clamp(2.5rem, 5vw, 4rem) 0; }
.closing-cta-card {
  text-align: center;
  padding: 3rem 2rem;
  background: linear-gradient(135deg, rgba(124,92,255,.12), rgba(34,211,238,.08));
  border-color: rgba(124,92,255,.3);
}
.closing-cta-card .eyebrow { margin-bottom: .8rem; }
.closing-cta-card h2 { font-size: clamp(1.2rem, 2.4vw, 1.8rem); margin-bottom: 1.4rem; }
.closing-cta-card .cta-row { justify-content: center; }

/* ── VIVESECBOX PAGE HERO ───────────────────────────────────────── */
.section-vsb-hero {
  padding: clamp(2.5rem, 5vw, 4rem) 0 clamp(1.5rem, 3vw, 2.5rem);
  background:
    radial-gradient(900px 460px at 16% -12%, rgba(86,118,255,.15), transparent 62%),
    radial-gradient(900px 460px at 84% -12%, rgba(76,196,255,.1), transparent 62%);
}
.section-vsb-hero .hero-grid { align-items: stretch; }
.section-vsb-hero .hero-visual { min-width: 0; }
.section-vsb-hero .hero-card {
  min-height: clamp(300px, 34vw, 520px);
  min-width: 0;
  aspect-ratio: auto;
  padding: clamp(.55rem, 1vw, .8rem);
  overflow: hidden;
  background: linear-gradient(160deg, rgba(255,255,255,.04), rgba(255,255,255,.012));
}
.section-vsb-hero .device-card {
  display: flex;
  align-items: stretch;
  justify-content: stretch;
}
.section-vsb-hero .device {
  position: relative;
  width: 100%;
  min-width: 0;
  border-radius: 16px;
  overflow: hidden;
  background: #090e24;
  border: 1px solid rgba(255,255,255,.12);
}
.section-vsb-hero .device-photo {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
.section-vsb-hero .device-glow {
  position: absolute;
  inset: 0;
  background:
    radial-gradient(72% 64% at 22% 12%, rgba(124,92,255,.2), transparent 62%),
    radial-gradient(58% 48% at 76% 16%, rgba(34,211,238,.14), transparent 62%);
  pointer-events: none;
  z-index: 1;
}
.section-vsb-hero .device-photo { position: relative; z-index: 2; }

/* ViVeSec Box page: tighter and consistent spacing between content blocks */
.section-vsb-hero ~ .section {
  padding: clamp(1.25rem, 2.7vw, 2.1rem) 0;
}
.section-vsb-hero ~ .section .section-head {
  margin: 0 auto 1.25rem;
}

/* ViVeSec Box page: color harmonization to match other premium pages */
.section-vsb-hero ~ .section .glass-card {
  background: linear-gradient(165deg, rgba(255,255,255,.032), rgba(255,255,255,.009));
  border-color: rgba(255,255,255,.085);
}

.section-vsb-hero .grad,
.section-vsb-hero ~ .section .grad {
  background: linear-gradient(100deg, #f2f6ff 5%, #9ec8ff 52%, #59b7ff 96%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}

.section-vsb-hero ~ .section .hw-badge,
.section-vsb-hero ~ .section .hw-tag,
.section-vsb-hero ~ .section .hw-model-tag,
.section-vsb-hero ~ .section .deploy-tag {
  background: rgba(255,255,255,.036);
  color: var(--ink-dim);
  border-color: rgba(255,255,255,.14);
}

.section-vsb-hero ~ .section .vsb-cert-badge {
  background: linear-gradient(130deg, rgba(96,138,255,.96), rgba(84,206,255,.84));
}

.section-vsb-hero ~ .section .comparison-foot,
.section-vsb-hero ~ .section .systems-foot,
.section-vsb-hero ~ .section .hd-note {
  color: var(--ink-dim);
}

@media (max-width: 980px) {
  .section-vsb-hero .hero-card { min-height: clamp(260px, 56vw, 420px); }
}
@media (max-width: 640px) {
  .section-vsb-hero .hero-card { min-height: 240px; }
  .section-vsb-hero .hero-grid { grid-template-columns: minmax(0, 1fr); }
}
.vsb-compliance-badge {
  margin-top: 1.4rem;
  text-align: center;
  font-size: .82rem;
  color: var(--ink-dim);
  letter-spacing: .04em;
}
.vsb-compliance-badge p { margin: 0; }

/* ── ECOSYSTEM CTA CARD (shared) ────────────────────────────────── */
.section-eco-cta { padding: clamp(2rem, 4vw, 3rem) 0; }
.eco-cta-card {
  max-width: 760px;
  margin: 0 auto;
  text-align: center;
  padding: 2rem;
  background: linear-gradient(135deg, rgba(34,211,238,.08), rgba(124,92,255,.08));
  border-color: rgba(34,211,238,.22);
}
.eco-cta-card h2 { font-size: 1.3rem; margin-bottom: .7rem; }
.eco-cta-card p { color: var(--ink-dim); margin-bottom: 1.2rem; }

/* ── AI BOX PAGE HERO ───────────────────────────────────────────── */
.section-aibox-hero { padding: clamp(2.5rem, 5vw, 4rem) 0 clamp(1.5rem, 3vw, 2.5rem); }
.section-aibox-hero .hero-grid { align-items: stretch; }
.section-aibox-hero .hero-visual { min-width: 0; }
.aibox-hero-card {
  min-height: clamp(280px, 32vw, 500px);
  display: flex;
  align-items: stretch;
  justify-content: stretch;
  padding: clamp(.55rem, 1vw, .8rem);
  position: relative;
  overflow: hidden;
}
.aibox-glow {
  position: absolute; inset: 0;
  background: radial-gradient(ellipse at 25% 10%, rgba(124,92,255,.28), transparent 62%);
  pointer-events: none;
  z-index: 1;
}
.aibox-hero-media {
  position: relative;
  width: 100%;
  min-width: 0;
  border-radius: 16px;
  overflow: hidden;
  background: #090e24;
  border: 1px solid rgba(255,255,255,.08);
  z-index: 2;
}
.aibox-hero-photo {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
@media (max-width: 980px) {
  .aibox-hero-card { min-height: clamp(260px, 56vw, 420px); }
}
@media (max-width: 640px) {
  .aibox-hero-card { min-height: 240px; }
}

/* ── GDPR NOTE ──────────────────────────────────────────────────── */
.section-gdpr-note { padding: .5rem 0 1rem; }
.gdpr-banner {
  display: flex;
  align-items: center;
  gap: 1rem;
  padding: 1rem 1.4rem;
  background: linear-gradient(135deg, rgba(34,211,238,.08), rgba(124,92,255,.06));
  border-color: rgba(34,211,238,.25);
  max-width: 900px;
  margin: 0 auto;
}
.gdpr-badge { font-size: 1.4rem; }
.gdpr-banner p { margin: 0; font-size: .92rem; color: var(--ink-dim); }

/* ── ARCH GUARANTEES ────────────────────────────────────────────── */
.arch-guarantees {
  list-style: none;
  padding: 0; margin: 1.2rem auto 0;
  max-width: 700px;
  display: grid;
  gap: .6rem;
}
.arch-guarantees li {
  display: flex;
  align-items: center;
  gap: .7rem;
  color: var(--ink-dim);
  font-size: .95rem;
}
.arch-guarantees li svg { color: var(--accent); flex-shrink: 0; }

/* ── AGENT GRID ─────────────────────────────────────────────────── */
.agent-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
  gap: 1.2rem;
  margin-top: 1.6rem;
}
.agent-card {
  padding: 1.4rem;
  transition: transform .3s ease;
}
.agent-card:hover { transform: translateY(-4px); }
.agent-icon { font-size: 1.8rem; margin-bottom: .7rem; }
.agent-card h3 { font-size: 1rem; margin-bottom: .35rem; }
.agent-card p { color: var(--ink-dim); font-size: .88rem; margin: 0; }

/* ── HW MODEL CARDS ─────────────────────────────────────────────── */
.hw-models-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 1.4rem;
  margin-top: 1.6rem;
}
.hw-model-card { padding: 1.6rem; transition: transform .3s ease; }
.hw-model-card:hover { transform: translateY(-4px); }
.hw-model-tag {
  display: inline-block;
  padding: .22rem .65rem;
  border-radius: 99px;
  font-size: .75rem; font-weight: 700; letter-spacing: .06em;
  background: rgba(34,211,238,.12); color: #a8e8f5;
  border: 1px solid rgba(34,211,238,.25);
  margin-bottom: .8rem;
}
.hw-model-name { font-size: 1.2rem; margin: 0 0 .9rem; }
.hw-model-specs { list-style: none; padding: 0; margin: 0 0 .9rem; display: grid; gap: .4rem; }
.hw-model-specs li { font-size: .88rem; color: var(--ink-dim); padding-left: 1rem; position: relative; }
.hw-model-specs li::before { content: "›"; color: var(--accent); position: absolute; left: 0; }
.hw-model-best { font-size: .85rem; color: var(--muted); margin: 0; }

/* ── VERSUS TABLE ───────────────────────────────────────────────── */
.versus-wrap { overflow-x: auto; margin-top: 1.6rem; }
.versus-table {
  width: 100%;
  border-collapse: collapse;
  font-size: .94rem;
}
.versus-table th, .versus-table td {
  padding: .85rem 1rem;
  text-align: left;
  border-bottom: 1px solid var(--line);
}
.versus-table thead th { color: var(--muted); font-size: .8rem; letter-spacing: .1em; text-transform: uppercase; }
.versus-with { color: var(--accent) !important; }
.versus-without { color: var(--muted) !important; }
.versus-aspect { font-weight: 600; color: var(--ink); }
.versus-with-val {
  color: var(--ink-dim);
  display: flex;
  align-items: center;
  gap: .45rem;
}
.versus-with-val svg { color: var(--accent); flex-shrink: 0; }
.versus-without-val { color: var(--muted); }

/* ── DEPLOY CARDS ───────────────────────────────────────────────── */
.deploy-cards {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 1.2rem;
  margin-top: 1.6rem;
}
.deploy-card { padding: 1.5rem; }
.deploy-tag {
  display: inline-block;
  padding: .22rem .65rem;
  border-radius: 99px;
  font-size: .75rem; font-weight: 700; letter-spacing: .06em;
  background: rgba(124,92,255,.12); color: #c5b8ff;
  border: 1px solid rgba(124,92,255,.25);
  margin-bottom: .6rem;
}
.deploy-time {
  font-family: ui-monospace, 'SF Mono', Menlo, monospace;
  font-size: 1.1rem;
  font-weight: 700;
  color: var(--accent);
  margin-bottom: .5rem;
}
.deploy-card p { color: var(--ink-dim); font-size: .92rem; margin: 0; }

/* ── EARLY ACCESS ───────────────────────────────────────────────── */
.early-access-card {
  text-align: center;
  padding: 3rem 2rem;
  background: linear-gradient(135deg, rgba(124,92,255,.12), rgba(34,211,238,.08));
  border-color: rgba(124,92,255,.3);
}
.early-access-card .eyebrow { margin-bottom: .6rem; }
.early-access-card h2 { font-size: 1.5rem; margin-bottom: .6rem; }
.early-access-card .lead { margin-bottom: 1.4rem; }

/* ── SOLUTION POINTS ────────────────────────────────────────────── */
.solution-points {
  list-style: none;
  padding: 0; margin: 1.2rem auto 0;
  max-width: 760px;
  display: grid;
  gap: .65rem;
}
.solution-points li {
  padding-left: 1.6rem;
  position: relative;
  color: var(--ink-dim);
}
.solution-points li::before {
  content: "✓";
  position: absolute; left: 0;
  color: var(--accent);
  font-size: .85rem;
}

/* ── SYSTEMS LIST (chip-ek) ─────────────────────────────────────── */
.systems-list {
  display: flex;
  flex-wrap: wrap;
  gap: .6rem;
  justify-content: center;
  margin-top: 1.4rem;
}
.sys-chip {
  padding: .5rem 1rem;
  border-radius: 99px;
  font-size: .88rem;
  border: 1px solid var(--line-2);
  background: rgba(255,255,255,.03);
  color: var(--ink-dim);
}

/* ── HARDWARE CARDS (vivesecbox page) ───────────────────────────── */
.hw-card { padding: 1.4rem; }
.hw-tag {
  display: inline-block;
  padding: .22rem .65rem;
  border-radius: 99px;
  font-size: .75rem; font-weight: 700; letter-spacing: .06em;
  background: rgba(34,211,238,.12); color: #a8e8f5;
  border: 1px solid rgba(34,211,238,.25);
  margin-bottom: .8rem;
}
.hw-specs { list-style: none; padding: 0; margin: 0 0 .7rem; display: grid; gap: .35rem; }
.hw-specs li { font-size: .88rem; color: var(--ink-dim); padding-left: .9rem; position: relative; }
.hw-specs li::before { content: "›"; color: var(--accent); position: absolute; left: 0; }
.hw-best { font-size: .85rem; color: var(--muted); margin: 0; }

/* ── CERTS CARD (vivesecbox page - cert-badge/cert-card) ────────── */
.certs-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 1.2rem; }
.cert-card { padding: 1.4rem; text-align: center; }
.vsb-cert-badge {
  display: inline-block;
  padding: .4rem .9rem;
  border-radius: 99px;
  font-size: .85rem; font-weight: 800; letter-spacing: .06em;
  background: var(--grad); color: #fff;
  margin-bottom: .8rem;
}
.cert-card h3 { font-size: 1rem; margin-bottom: .4rem; }
.cert-card p { font-size: .88rem; color: var(--ink-dim); margin: 0; }

/* ── SUSTAIN STATS (vivesecbox page) ────────────────────────────── */
.sustain-stats {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
  gap: 1rem;
  margin-top: 1.4rem;
}
.sustain-stat { padding: 1.2rem; text-align: center; }
.stat-num {
  font-family: 'Space Grotesk','Inter',sans-serif;
  font-size: 1.6rem; font-weight: 800;
  background: var(--grad);
  -webkit-background-clip: text; background-clip: text; color: transparent;
}
.stat-label { font-size: .85rem; color: var(--ink-dim); margin-top: .25rem; }

/* ── BREADCRUMB NAV ─────────────────────────────────────────────── */
.breadcrumb ol {
  list-style: none;
  padding: 0; margin: 0 0 1.6rem;
  display: flex;
  align-items: center;
  gap: .5rem;
  font-size: .85rem;
  color: var(--muted);
}
.breadcrumb ol li:not(:first-child)::before {
  content: "/";
  margin-right: .5rem;
  opacity: .4;
}
.breadcrumb ol a { color: var(--ink-dim); }
.breadcrumb ol a:hover { color: var(--ink); }
.breadcrumb ol [aria-current="page"] { color: var(--ink); }

/* ── FOOTER NEW COLUMNS ─────────────────────────────────────────── */
@media (min-width: 1200px) {
  .footer-grid { grid-template-columns: 2fr 1fr 1fr 1fr 1fr; }
}

/* ── DEPLOY STEPS (vivesecbox page) ─────────────────────────────── */
.deploy-steps { display: flex; flex-direction: column; gap: 1.2rem; margin-top: 1.6rem; }
.deploy-step {
  display: grid;
  grid-template-columns: 3rem 1fr;
  gap: 1rem;
  align-items: start;
  padding: 1.2rem 1.3rem;
  border-radius: 14px;
  background: rgba(255,255,255,.02);
  border: 1px solid var(--line);
}
.step-num {
  width: 36px; height: 36px;
  display: grid; place-items: center;
  border-radius: 50%;
  background: var(--grad);
  color: #fff;
  font-weight: 700;
  font-size: .9rem;
  flex-shrink: 0;
}
.step-body h3 { margin: 0 0 .3rem; font-size: 1rem; }
.step-body p { margin: 0; font-size: .9rem; color: var(--ink-dim); }

/* ── AI BOX PAGE V2 ─────────────────────────────────────────────── */
.section-aibox-hero {
  padding: clamp(2.1rem, 4.3vw, 3.4rem) 0 clamp(1.45rem, 3vw, 2.15rem);
  background:
    radial-gradient(900px 460px at 16% -12%, rgba(86,118,255,.15), transparent 62%),
    radial-gradient(900px 460px at 84% -12%, rgba(76,196,255,.1), transparent 62%);
}

.section-aibox-hero ~ .section {
  padding: clamp(1.25rem, 2.7vw, 2.1rem) 0;
}

.section-aibox-hero ~ .section .glass-card {
  background: linear-gradient(165deg, rgba(255,255,255,.032), rgba(255,255,255,.009));
  border-color: rgba(255,255,255,.085);
}

/* AI Box: explicit heading accents so global random rules do not get lost */
.section-aibox-hero .aix-hero-copy .display,
.section-aibox-hero ~ .section:nth-of-type(odd) .section-head h2,
.section-aibox-hero ~ .section:nth-of-type(odd) .aix-cta-band h2 {
  background: var(--grad-accent-a);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  text-shadow: 0 1px 16px rgba(50, 156, 255, .2);
}

.section-aibox-hero ~ .section:nth-of-type(even) .section-head h2,
.section-aibox-hero ~ .section:nth-of-type(even) .aix-cta-band h2 {
  background: var(--grad-accent-b);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  text-shadow: 0 1px 16px rgba(61, 139, 255, .18);
}

.aix-hero {
  display: grid;
  grid-template-columns: 1.08fr .92fr;
  gap: clamp(1.1rem, 2.4vw, 2rem);
  padding: clamp(1rem, 2vw, 1.4rem);
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(120% 85% at 8% 0%, rgba(76,196,255,.11), transparent 58%),
    radial-gradient(70% 80% at 90% 12%, rgba(96,138,255,.14), transparent 60%),
    linear-gradient(170deg, rgba(255,255,255,.044), rgba(255,255,255,.012));
}

.aix-hero-copy {
  align-self: center;
}

.aix-hero-copy .display {
  max-width: 22ch;
}

.aix-hero-copy .lead {
  max-width: 66ch;
}

.aix-hero-frame {
  height: 100%;
  min-height: clamp(300px, 35vw, 500px);
  border-radius: 16px;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.11);
  background: #090e24;
}

.aix-hero-photo {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
}

.aix-badges {
  list-style: none;
  padding: 0;
  margin: 1rem 0 0;
  display: flex;
  flex-wrap: wrap;
  gap: .5rem;
}

.aix-badges li {
  border: 1px solid rgba(255,255,255,.14);
  background: rgba(255,255,255,.036);
  color: var(--ink-dim);
  font-size: .78rem;
  letter-spacing: .03em;
  border-radius: 999px;
  padding: .35rem .72rem;
}

.aix-two-col,
.aix-layer-grid,
.aix-op-grid,
.aix-rollout-grid,
.aix-hw-grid {
  display: grid;
  gap: 1rem;
}

.aix-two-col,
.aix-layer-grid,
.aix-hw-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.aix-op-grid,
.aix-sector-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.aix-rollout-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.aix-mini,
.aix-layer,
.aix-op,
.aix-rollout-step,
.aix-hw-card,
.aix-sector,
.aix-agent {
  padding: 1.15rem;
}

.aix-mini h3,
.aix-layer h3,
.aix-op h3,
.aix-rollout-step h3,
.aix-hw-card h3,
.aix-sector h3,
.aix-agent h3 {
  margin-bottom: .45rem;
}

.aix-mini p,
.aix-layer p,
.aix-op p,
.aix-rollout-step p,
.aix-hw-card p,
.aix-sector p,
.aix-agent p {
  margin: 0;
  color: var(--ink-dim);
  font-size: .91rem;
}

.aix-highlight {
  margin-top: 1rem;
  padding: .95rem 1.1rem;
  border-color: rgba(94,196,255,.26);
  background: linear-gradient(135deg, rgba(76,196,255,.08), rgba(255,255,255,.014));
  color: var(--ink);
  font-size: .95rem;
}

.aix-keyline {
  margin-top: 1rem;
  padding: 1rem 1.15rem;
  border-color: rgba(132,182,255,.24);
  background: linear-gradient(135deg, rgba(96,138,255,.11), rgba(255,255,255,.016));
}

.aix-keyline h3 {
  margin-bottom: .3rem;
}

.aix-keyline p {
  margin: 0;
  color: var(--ink-dim);
}

.aix-result {
  margin-top: .95rem;
  color: var(--ink);
  font-size: .9rem;
  letter-spacing: .02em;
}

.aix-agent-list {
  display: grid;
  gap: .8rem;
}

.aix-agent {
  display: grid;
  grid-template-columns: 2.4rem 1fr;
  gap: .9rem;
  align-items: start;
}

.aix-agent-num {
  width: 2.2rem;
  height: 2.2rem;
  border-radius: 999px;
  display: grid;
  place-items: center;
  font-weight: 800;
  font-size: .9rem;
  color: #fff;
  background: var(--grad);
}

.aix-agent-meta {
  margin-top: .45rem !important;
  font-size: .85rem !important;
}

.aix-agent-meta strong {
  color: var(--ink);
  margin-right: .25rem;
}

.aix-agent-note {
  margin-top: .9rem;
  color: var(--muted);
  font-size: .86rem;
}

.aix-sector-grid {
  display: grid;
  gap: 1rem;
}

.aix-sector-ico {
  width: 1.75rem;
  height: 1.75rem;
  border-radius: .5rem;
  display: grid;
  place-items: center;
  color: #fff;
  font-weight: 700;
  background: linear-gradient(135deg, rgba(76,196,255,.72), rgba(96,138,255,.78));
  margin-bottom: .65rem;
}

.aix-rollout-time {
  display: inline-block;
  font-size: .75rem;
  text-transform: uppercase;
  letter-spacing: .08em;
  color: var(--accent);
  margin-bottom: .45rem;
}

.aix-hw-card ul {
  margin: .7rem 0 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: .35rem;
}

.aix-hw-card li {
  font-size: .85rem;
  color: var(--ink-dim);
  padding-left: .8rem;
  position: relative;
}

.aix-hw-card li::before {
  content: "•";
  color: var(--accent);
  position: absolute;
  left: 0;
}

.aix-cta-band {
  text-align: center;
  padding: clamp(1.6rem, 3vw, 2.2rem);
  background:
    radial-gradient(95% 85% at 0% 0%, rgba(61,139,255,.2), transparent 64%),
    radial-gradient(85% 70% at 100% 100%, rgba(35,201,211,.14), transparent 60%),
    linear-gradient(180deg, rgba(255,255,255,.042), rgba(255,255,255,.012));
  border-color: rgba(129,189,255,.24);
}

.aix-cta-band h2 {
  max-width: 28ch;
  margin-inline: auto;
}

.aix-cta-band p {
  max-width: 78ch;
  margin: .55rem auto 0;
  color: var(--ink-dim);
}

.aix-cta-actions {
  margin-top: 1rem;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: .65rem;
}

@media (max-width: 1100px) {
  .aix-hero {
    grid-template-columns: 1fr;
  }

  .aix-hero-copy .display,
  .aix-hero-copy .lead {
    max-width: none;
  }

  .aix-rollout-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 760px) {
  .aix-two-col,
  .aix-layer-grid,
  .aix-op-grid,
  .aix-sector-grid,
  .aix-rollout-grid,
  .aix-hw-grid {
    grid-template-columns: 1fr;
  }

  .aix-agent {
    grid-template-columns: 1fr;
    gap: .65rem;
  }

  .aix-agent-num {
    width: 1.95rem;
    height: 1.95rem;
  }

  .aix-cta-actions {
    flex-direction: column;
    align-items: stretch;
  }
}

/* ── SOLUTION PAGE V2 ───────────────────────────────────────────── */
.section-solution-page.solution-v2 {
  padding: clamp(2.1rem, 4.3vw, 3.5rem) 0;
  background:
    radial-gradient(900px 460px at 16% -12%, rgba(86,118,255,.15), transparent 62%),
    radial-gradient(900px 460px at 84% -12%, rgba(76,196,255,.1), transparent 62%);
}

.solution-v2 .sol-section {
  margin-top: clamp(1rem, 2.2vw, 1.5rem);
}

.solution-v2 .sol-hero {
  margin-bottom: .35rem;
}

.solution-v2 .sol-hero .lead {
  max-width: 86ch;
}

.solution-v2 .section-head h1,
.solution-v2 .section-head h2,
.solution-v2 .sol-final-cta h2 {
  background: linear-gradient(100deg, #f2f6ff 5%, #9ec8ff 52%, #59b7ff 96%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}

.solution-v2 .glass-card {
  background: linear-gradient(165deg, rgba(255,255,255,.032), rgba(255,255,255,.009));
  border-color: rgba(255,255,255,.085);
}

.sol-pillars {
  margin-top: 1rem;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .8rem;
}

.sol-pillar {
  padding: .95rem 1rem;
  border-radius: 14px;
  background: linear-gradient(135deg, rgba(255,255,255,.036), rgba(255,255,255,.01));
}

.sol-pillar-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 2rem;
  height: 2rem;
  border-radius: 999px;
  background: var(--grad);
  color: #fff;
  font-size: .68rem;
  font-weight: 800;
  letter-spacing: .05em;
}

.sol-pillar h3,
.sol-pillar .sol-pillar-title {
  margin: .6rem 0 .35rem;
  font-size: .98rem;
}

.sol-pillar p {
  margin: 0;
  color: var(--ink-dim);
  font-size: .86rem;
  line-height: 1.55;
}

.sol-hero-actions,
.sol-row-actions {
  margin-top: .95rem;
  display: flex;
  flex-wrap: wrap;
  gap: .6rem;
  justify-content: center;
}

.sol-problem-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .8rem;
}

.sol-problem-card {
  padding: 1rem;
}

.sol-n {
  width: 1.9rem;
  height: 1.9rem;
  display: grid;
  place-items: center;
  border-radius: 999px;
  background: rgba(96,138,255,.2);
  color: #e8f1ff;
  font-size: .78rem;
  font-weight: 800;
  margin-bottom: .58rem;
}

.sol-problem-card h3 {
  font-size: .98rem;
  margin-bottom: .35rem;
}

.sol-problem-card p {
  margin: 0;
  color: var(--ink-dim);
  font-size: .88rem;
  line-height: 1.6;
}

.sol-conclusion {
  margin-top: .85rem;
  color: var(--ink);
  text-align: center;
  font-weight: 600;
}

.sol-vs {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  gap: .8rem;
  align-items: stretch;
}

.sol-vs-bad,
.sol-vs-good {
  padding: 1rem;
}

.sol-vs-bad {
  border-color: rgba(112,152,255,.28);
  background: linear-gradient(180deg, rgba(96,138,255,.1), rgba(255,255,255,.015));
}

.sol-vs-good {
  border-color: rgba(94,196,255,.28);
  background: linear-gradient(180deg, rgba(76,196,255,.1), rgba(255,255,255,.015));
}

.sol-vs-bad h3,
.sol-vs-good h3 {
  font-size: .94rem;
  margin-bottom: .45rem;
}

.sol-vs-bad ul,
.sol-vs-good ul {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: .35rem;
}

.sol-vs-bad li,
.sol-vs-good li {
  font-size: .86rem;
  line-height: 1.5;
  color: var(--ink-dim);
}

.sol-vs-mid {
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--muted);
  font-size: 1rem;
  font-weight: 700;
}

.sol-feature-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .8rem;
}

.sol-feature-grid-5 {
  grid-template-columns: repeat(5, minmax(0, 1fr));
}

.sol-feature {
  padding: .95rem;
}

.sol-feature-icon {
  width: 1.65rem;
  height: 1.65rem;
  border-radius: .5rem;
  display: inline-grid;
  place-items: center;
  background: rgba(96,138,255,.18);
  color: #d8e8ff;
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .04em;
  margin-bottom: .5rem;
}

.sol-feature h3 {
  font-size: .92rem;
  margin-bottom: .32rem;
}

.sol-feature p {
  margin: 0;
  font-size: .84rem;
  color: var(--ink-dim);
  line-height: 1.55;
}

.sol-highlight {
  margin-bottom: .8rem;
  padding: 1rem;
  border-color: rgba(94,196,255,.26);
  background: linear-gradient(135deg, rgba(76,196,255,.08), rgba(255,255,255,.014));
}

.sol-highlight h3 {
  margin-bottom: .35rem;
}

.sol-highlight p {
  margin: 0;
  color: var(--ink-dim);
  line-height: 1.6;
}

.sol-audience-grid,
.sol-rollout-grid,
.sol-compliance-grid {
  display: grid;
  gap: .8rem;
}

.sol-audience-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.sol-audience-card,
.sol-rollout-step,
.sol-compact {
  padding: 1rem;
}

.sol-audience-card h3 {
  margin-bottom: .3rem;
  font-size: .96rem;
}

.sol-audience-card h4 {
  margin: 0 0 .45rem;
  color: var(--accent);
  font-size: .82rem;
  text-transform: uppercase;
  letter-spacing: .06em;
}

.sol-audience-card p,
.sol-rollout-step p,
.sol-compact p {
  margin: 0;
  color: var(--ink-dim);
  font-size: .87rem;
  line-height: 1.56;
}

.sol-compliance-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.sol-compact h3,
.sol-rollout-step h3 {
  margin-bottom: .35rem;
}

.sol-rollout-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.sol-time {
  display: inline-block;
  margin-bottom: .45rem;
  font-size: .75rem;
  letter-spacing: .07em;
  text-transform: uppercase;
  color: var(--accent);
}

.sol-final-cta {
  text-align: center;
  padding: clamp(1.2rem, 2.8vw, 2rem);
  background:
    radial-gradient(95% 80% at 0% 0%, rgba(96,138,255,.13), transparent 60%),
    radial-gradient(85% 70% at 100% 100%, rgba(76,196,255,.1), transparent 60%),
    linear-gradient(180deg, rgba(255,255,255,.036), rgba(255,255,255,.012));
}

.sol-final-cta p {
  max-width: 74ch;
  margin: .55rem auto 0;
  color: var(--ink-dim);
}

.sol-newsletter-keep {
  text-align: center;
  padding: 1.1rem;
}

.sol-newsletter-keep p {
  margin: .4rem auto 0;
  max-width: 74ch;
  color: var(--ink-dim);
}

.sol-back-link {
  margin-top: .95rem;
  text-align: center;
}

@media (max-width: 1160px) {
  .sol-feature-grid-5 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .sol-problem-grid,
  .sol-audience-grid,
  .sol-rollout-grid,
  .sol-compliance-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 780px) {
  .sol-pillars,
  .sol-problem-grid,
  .sol-feature-grid,
  .sol-feature-grid-5,
  .sol-audience-grid,
  .sol-rollout-grid,
  .sol-compliance-grid {
    grid-template-columns: 1fr;
  }

  .sol-vs {
    grid-template-columns: 1fr;
  }

  .sol-vs-mid {
    transform: rotate(90deg);
    min-height: 1.7rem;
  }

  .sol-hero-actions,
  .sol-row-actions {
    flex-direction: column;
    align-items: stretch;
  }
}

/* ============================================================
   ABOUT PAGE V2
   ============================================================ */
.about2-page {
  padding: 3.5rem 0 2.5rem;
  background:
    radial-gradient(1000px 520px at 10% -8%, rgba(48,123,255,.16), transparent 62%),
    radial-gradient(920px 500px at 88% -12%, rgba(28,187,224,.12), transparent 60%),
    linear-gradient(180deg, rgba(255,255,255,.012), rgba(255,255,255,.003));
}

.about2-page .section-head h1,
.about2-page .section-head h2,
.about2-page .about2-closing h2 {
  background: linear-gradient(100deg, #f2f6ff 5%, #9ec8ff 52%, #59b7ff 96%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}

.about2-page .glass-card {
  background: linear-gradient(165deg, rgba(255,255,255,.032), rgba(255,255,255,.009));
  border-color: rgba(255,255,255,.088);
}

.about2-page .breadcrumb {
  margin: .4rem 0 1rem;
}

.about2-page .breadcrumb ol {
  gap: .4rem;
}

.about2-page .breadcrumb a,
.about2-page .breadcrumb li {
  font-size: .85rem;
  color: var(--ink-dim);
}

.about2-hero {
  max-width: 980px;
  margin: 0 auto;
}

.about2-hero .lead {
  max-width: 74ch;
  margin-inline: auto;
}

.about2-kpis {
  margin-top: 1.3rem;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .8rem;
}

.about2-kpi {
  padding: 1rem;
  text-align: center;
  background:
    radial-gradient(120% 120% at 20% 0%, rgba(76,154,255,.2), transparent 58%),
    linear-gradient(165deg, rgba(255,255,255,.036), rgba(255,255,255,.012));
}

.about2-kpi-num {
  font-size: 1.45rem;
  font-weight: 800;
  letter-spacing: .01em;
  color: #e7f4ff;
}

.about2-kpi-label {
  margin-top: .25rem;
  font-size: .84rem;
  color: var(--ink-dim);
}

.about2-section {
  margin-top: 1.35rem;
}

.about2-cards-3 {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .85rem;
}

.about2-card {
  padding: 1rem;
}

.about2-icon,
.about2-cert-mark {
  width: 1.65rem;
  height: 1.65rem;
  border-radius: .5rem;
  display: inline-grid;
  place-items: center;
  background: rgba(96,138,255,.2);
  color: #d9ecff;
  font-size: .72rem;
  font-weight: 800;
  margin-bottom: .5rem;
}

.about2-card h3,
.about2-card h4 {
  margin: 0 0 .32rem;
  font-size: .95rem;
}

.about2-card p {
  margin: 0;
  color: var(--ink-dim);
  font-size: .86rem;
  line-height: 1.58;
}

.about2-values-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .8rem;
}

.about2-value {
  padding: 1rem;
  background:
    linear-gradient(120deg, rgba(255,255,255,.034), rgba(255,255,255,.009)),
    radial-gradient(120% 120% at 100% 0%, rgba(58,190,255,.16), transparent 58%),
    radial-gradient(120% 120% at 0% 100%, rgba(96,138,255,.13), transparent 62%);
}

.about2-value-mark {
  display: inline-block;
  margin-bottom: .45rem;
  font-family: var(--font-mono, monospace);
  font-size: .76rem;
  letter-spacing: .08em;
  color: #9ec7ff;
}

.about2-value h3 {
  margin: 0 0 .3rem;
  font-size: .92rem;
}

.about2-value p {
  margin: 0;
  color: var(--ink-dim);
  font-size: .85rem;
  line-height: 1.58;
}

.about2-timeline {
  list-style: none;
  padding: 0;
  margin: .2rem 0 0;
  display: grid;
  gap: .75rem;
}

.about2-tl-item {
  display: grid;
  grid-template-columns: 106px 1fr;
  gap: .7rem;
  align-items: stretch;
}

.about2-tl-year {
  border-radius: .8rem;
  border: 1px solid rgba(84,158,255,.33);
  background:
    linear-gradient(140deg, rgba(76,138,255,.21), rgba(53,189,229,.15)),
    rgba(255,255,255,.016);
  color: #d8ebff;
  font-size: .95rem;
  font-weight: 800;
  letter-spacing: .04em;
  display: grid;
  place-items: center;
}

.about2-tl-card {
  padding: .95rem 1rem;
}

.about2-tl-card h3 {
  margin: 0 0 .3rem;
  font-size: .93rem;
}

.about2-tl-card p {
  margin: 0;
  font-size: .85rem;
  line-height: 1.56;
  color: var(--ink-dim);
}

.about2-country-group {
  margin-bottom: .85rem;
}

.about2-country-group h3,
.about2-subtitle {
  margin: 0 0 .45rem;
  font-size: .95rem;
}

.about2-country-cloud {
  display: flex;
  flex-wrap: wrap;
  gap: .48rem;
}

.about2-country {
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.13);
  padding: .38rem .72rem;
  font-size: .78rem;
}

.about2-country-active {
  background: linear-gradient(130deg, rgba(43,175,218,.22), rgba(76,138,255,.18));
  color: #dcf6ff;
}

.about2-country-progress {
  background: linear-gradient(130deg, rgba(73,117,233,.2), rgba(57,173,228,.16));
  color: #deebff;
}

.about2-target {
  margin: .72rem 0 0;
  color: #d8e8ff;
  font-weight: 600;
}

.about2-mini-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .75rem;
}

.about2-mini {
  padding: .92rem;
}

.about2-mini h4 {
  margin: 0 0 .32rem;
  font-size: .9rem;
}

.about2-mini p {
  margin: 0;
  color: var(--ink-dim);
  font-size: .84rem;
  line-height: 1.56;
}

.about2-team-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .8rem;
}

.about2-team-card {
  padding: 1rem;
}

.about2-avatar {
  width: 2.5rem;
  height: 2.5rem;
  border-radius: 50%;
  display: grid;
  place-items: center;
  font-size: .82rem;
  font-weight: 800;
  color: #eaf7ff;
  background: linear-gradient(120deg, rgba(61,166,255,.74), rgba(35,201,211,.66));
  margin-bottom: .62rem;
}

.about2-team-card h3 {
  margin: 0;
  font-size: .93rem;
}

.about2-role {
  margin: .18rem 0 .45rem;
  font-size: .79rem;
  color: #9dbeeb;
  text-transform: uppercase;
  letter-spacing: .06em;
}

.about2-quote {
  margin: 0;
  color: var(--ink-dim);
  font-size: .84rem;
  line-height: 1.58;
}

.about2-team-note {
  margin-top: .62rem;
  color: var(--ink-dim);
  font-size: .84rem;
}

.about2-gateway-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .8rem;
}

.about2-gateway-card {
  padding: 1rem;
}

.about2-gateway-card h3 {
  margin: 0 0 .35rem;
  font-size: 1rem;
}

.about2-gateway-card p {
  margin: 0 0 .8rem;
  color: var(--ink-dim);
  line-height: 1.58;
}

.about2-closing {
  text-align: center;
  padding: clamp(1.2rem, 2.9vw, 2rem);
  background:
    radial-gradient(96% 86% at 0% 0%, rgba(61,139,255,.24), transparent 64%),
    radial-gradient(86% 72% at 100% 100%, rgba(35,201,211,.18), transparent 60%),
    linear-gradient(175deg, rgba(255,255,255,.048), rgba(255,255,255,.013));
  border-color: rgba(129,189,255,.28);
}

.about2-closing h2 {
  margin-bottom: .4rem;
}

.about2-closing p {
  max-width: 74ch;
  margin: 0 auto;
  color: var(--ink-dim);
}

.about2-actions {
  margin-top: 1rem;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: .6rem;
}

.about2-newsletter-note {
  text-align: center;
  padding: 1.05rem;
  background:
    radial-gradient(120% 130% at 10% 0%, rgba(76,138,255,.19), transparent 62%),
    linear-gradient(160deg, rgba(255,255,255,.04), rgba(255,255,255,.012));
  border-color: rgba(139,196,255,.24);
}

#mission-values .about2-values-grid .about2-value,
#proof .about2-card,
#gateway .about2-gateway-card {
  border-color: rgba(122,184,255,.17);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.08),
    inset 0 0 0 1px rgba(255,255,255,.045),
    0 18px 48px -28px rgba(72,146,255,.42);
}

.about2-newsletter-note p {
  margin: .4rem auto 0;
  max-width: 76ch;
  color: var(--ink-dim);
}

.about2-back {
  margin-top: .9rem;
  text-align: center;
}

@media (max-width: 1100px) {
  .about2-kpis,
  .about2-cards-3,
  .about2-mini-grid,
  .about2-team-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 760px) {
  .about2-kpis,
  .about2-cards-3,
  .about2-values-grid,
  .about2-mini-grid,
  .about2-team-grid,
  .about2-gateway-grid {
    grid-template-columns: 1fr;
  }

  .about2-tl-item {
    grid-template-columns: 1fr;
  }

  .about2-tl-year {
    min-height: 2.3rem;
  }

  .about2-actions {
    flex-direction: column;
    align-items: stretch;
  }
}

/* === AIBOX PROMO INLINE BUNDLE === */
/* ════════════════════════════════════════════════════════════════════════
   ViVeSec AI Box — kipróbálási felugró ablak (promo modal)
   Önálló, könnyen kivehető modul. Minden szelektor a .vsb-aibox /
   .vsb-aibox-trigger / .vsb-aibox-flyer névtérben él, hogy ne ütközzön
   a meglévő stílusokkal. A globális design tokeneket (var(--grad) stb.)
   a main.css :root-ja adja.
   ════════════════════════════════════════════════════════════════════════ */

:root {
  --vsb-ease: cubic-bezier(.22, 1, .36, 1);
  --vsb-ease-soft: cubic-bezier(.4, 0, .2, 1);
}

/* Görgetészár, amíg a modal nyitva van */
html.vsb-aibox-lock,
body.vsb-aibox-lock { overflow: hidden; }

/* ───────────────────────── Overlay + konténer ───────────────────────── */
.vsb-aibox {
  position: fixed;
  inset: 0;
  z-index: 1200;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: clamp(.75rem, 3vw, 2rem);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity .35s var(--vsb-ease-soft), visibility .35s var(--vsb-ease-soft);
  -webkit-tap-highlight-color: transparent;
}
.vsb-aibox[hidden] { display: none; }
.vsb-aibox.is-open {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}

.vsb-aibox__overlay {
  position: absolute;
  inset: 0;
  background:
    radial-gradient(120% 90% at 50% -10%, rgba(124, 92, 255, .28), transparent 60%),
    rgba(4, 4, 14, .72);
  -webkit-backdrop-filter: blur(8px) saturate(120%);
  backdrop-filter: blur(8px) saturate(120%);
  opacity: 0;
  transition: opacity .4s var(--vsb-ease-soft);
}
.vsb-aibox.is-open .vsb-aibox__overlay { opacity: 1; }

/* ───────────────────────── Dialógus ───────────────────────── */
.vsb-aibox__dialog {
  position: relative;
  width: 100%;
  max-width: 560px;
  max-height: calc(100vh - 2rem);
  max-height: calc(100dvh - 2rem);
  overflow: hidden auto;
  -webkit-overflow-scrolling: touch;
  border-radius: 24px;
  padding: clamp(1.5rem, 4vw, 2.75rem);
  color: var(--ink);
  background:
    linear-gradient(180deg, rgba(28, 30, 60, .92), rgba(14, 15, 38, .96));
  border: 1px solid var(--line-2);
  box-shadow:
    0 40px 90px -30px rgba(10, 8, 40, .9),
    0 0 0 1px rgba(124, 92, 255, .12),
    inset 0 1px 0 rgba(255, 255, 255, .06);
  -webkit-backdrop-filter: blur(20px) saturate(140%);
  backdrop-filter: blur(20px) saturate(140%);
  /* enter */
  opacity: 0;
  transform: translateY(26px) scale(.96);
  transition: opacity .5s var(--vsb-ease), transform .5s var(--vsb-ease);
}
.vsb-aibox.is-open .vsb-aibox__dialog {
  opacity: 1;
  transform: translateY(0) scale(1);
}
.vsb-aibox.is-closing .vsb-aibox__dialog {
  opacity: 0;
  transform: translateY(14px) scale(.97);
}

/* Dekorációk a dialóguson belül */
.vsb-aibox__aura {
  position: absolute;
  top: -40%;
  left: 50%;
  width: 140%;
  height: 80%;
  transform: translateX(-50%);
  background: radial-gradient(50% 50% at 50% 50%, rgba(34, 211, 238, .22), transparent 70%);
  pointer-events: none;
  filter: blur(10px);
  z-index: 0;
}
.vsb-aibox__grid-deco {
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(rgba(124, 92, 255, .07) 1px, transparent 1px),
    linear-gradient(90deg, rgba(124, 92, 255, .07) 1px, transparent 1px);
  background-size: 34px 34px;
  -webkit-mask-image: radial-gradient(80% 60% at 50% 0%, #000, transparent 75%);
  mask-image: radial-gradient(80% 60% at 50% 0%, #000, transparent 75%);
  pointer-events: none;
  z-index: 0;
}

.vsb-aibox__viewport { position: relative; z-index: 1; }

/* ───────────────────────── Bezáró gomb ───────────────────────── */
.vsb-aibox__close {
  position: absolute;
  top: clamp(.75rem, 2vw, 1.1rem);
  right: clamp(.75rem, 2vw, 1.1rem);
  z-index: 3;
  width: 40px;
  height: 40px;
  display: inline-grid;
  place-items: center;
  border-radius: 50%;
  color: var(--ink-dim);
  background: rgba(255, 255, 255, .05);
  border: 1px solid var(--line-2);
  cursor: pointer;
  transition: transform .25s var(--vsb-ease), background .25s, color .25s, border-color .25s;
  touch-action: manipulation;
}
.vsb-aibox__close:hover {
  color: #fff;
  background: rgba(255, 255, 255, .12);
  border-color: rgba(255, 255, 255, .28);
  transform: rotate(90deg);
}
.vsb-aibox__close:active { transform: rotate(90deg) scale(.92); }

/* ───────────────────────── Lépések (cross-fade) ───────────────────────── */
.vsb-aibox__step { display: none; }
.vsb-aibox__step.is-active {
  display: block;
  animation: vsb-step-in .5s var(--vsb-ease) both;
}
@keyframes vsb-step-in {
  from { opacity: 0; transform: translateY(14px); }
  to   { opacity: 1; transform: translateY(0); }
}

/* ───────────────────────── Tipográfia / badge ───────────────────────── */
.vsb-aibox__badge {
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  padding: .35rem .8rem;
  border-radius: 999px;
  font-size: .74rem;
  font-weight: 700;
  letter-spacing: .05em;
  text-transform: uppercase;
  color: #d9e4ff;
  background: linear-gradient(135deg, rgba(124, 92, 255, .25), rgba(34, 211, 238, .18));
  border: 1px solid rgba(124, 92, 255, .35);
  margin-bottom: 1.1rem;
}
.vsb-aibox__badge-dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--accent);
  box-shadow: 0 0 0 0 rgba(34, 211, 238, .6);
  animation: vsb-pulse 2s infinite;
}
@keyframes vsb-pulse {
  0%   { box-shadow: 0 0 0 0 rgba(34, 211, 238, .55); }
  70%  { box-shadow: 0 0 0 8px rgba(34, 211, 238, 0); }
  100% { box-shadow: 0 0 0 0 rgba(34, 211, 238, 0); }
}

.vsb-aibox__eyebrow {
  display: block;
  font-size: .78rem;
  font-weight: 600;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--accent);
  margin-bottom: .6rem;
}

/* Lépés-fejléc: „vissza" gomb + eyebrow egy sorban */
.vsb-aibox__stephead {
  display: flex;
  align-items: center;
  gap: .6rem;
  margin-bottom: .7rem;
  padding-right: 46px; /* helyet hagy a jobb felső X gombnak */
}
.vsb-aibox__stephead .vsb-aibox__eyebrow { margin-bottom: 0; }

.vsb-aibox__back {
  flex: 0 0 auto;
  width: 34px;
  height: 34px;
  display: inline-grid;
  place-items: center;
  border-radius: 50%;
  color: var(--ink-dim);
  background: rgba(255, 255, 255, .05);
  border: 1px solid var(--line-2);
  cursor: pointer;
  transition: transform .25s var(--vsb-ease), background .25s, color .25s, border-color .25s;
  touch-action: manipulation;
}
.vsb-aibox__back:hover {
  color: #fff;
  background: rgba(255, 255, 255, .12);
  border-color: rgba(255, 255, 255, .28);
  transform: translateX(-3px);
}
.vsb-aibox__back:active { transform: translateX(-3px) scale(.92); }

.vsb-aibox__title {
  margin: 0 0 .85rem;
  font-family: 'Space Grotesk', 'Inter', system-ui, sans-serif;
  font-size: clamp(1.45rem, 1rem + 1.9vw, 2rem);
  font-weight: 700;
  line-height: 1.14;
  letter-spacing: -.02em;
  color: #fff;
}
.vsb-aibox__title--sm { font-size: clamp(1.3rem, 1rem + 1.3vw, 1.65rem); }

.vsb-aibox__lead {
  margin: 0 0 1.4rem;
  font-size: clamp(.95rem, .9rem + .25vw, 1.05rem);
  line-height: 1.6;
  color: var(--ink-dim);
}
.vsb-aibox__lead--sm { margin-bottom: 1.2rem; }

/* ───────────────────────── Előny-lista ───────────────────────── */
.vsb-aibox__points {
  list-style: none;
  margin: 0 0 1.6rem;
  padding: 0;
  display: grid;
  gap: .7rem;
}
.vsb-aibox__points li {
  display: flex;
  align-items: center;
  gap: .7rem;
  font-size: .96rem;
  font-weight: 500;
  color: var(--ink);
}
.vsb-aibox__check {
  flex: 0 0 auto;
  width: 26px;
  height: 26px;
  display: inline-grid;
  place-items: center;
  border-radius: 8px;
  color: #fff;
  background: linear-gradient(135deg, #7C5CFF, #22D3EE);
  box-shadow: 0 6px 16px -6px rgba(34, 211, 238, .6);
}

/* ───────────────────────── Gombok ───────────────────────── */
.vsb-aibox__actions {
  display: flex;
  flex-wrap: wrap;
  gap: .7rem;
  align-items: center;
}
.vsb-aibox__actions--split { justify-content: space-between; }

.vsb-aibox__btn {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .5rem;
  padding: .8rem 1.4rem;
  border-radius: 999px;
  font-family: inherit;
  font-size: .95rem;
  font-weight: 700;
  line-height: 1;
  color: var(--ink);
  background: rgba(255, 255, 255, .04);
  border: 1px solid var(--line-2);
  cursor: pointer;
  overflow: hidden;
  text-decoration: none;
  white-space: nowrap;
  transition: transform .2s var(--vsb-ease), box-shadow .25s, background .25s, color .25s, border-color .25s, opacity .2s;
  touch-action: manipulation;
}
.vsb-aibox__btn--block { width: 100%; }
.vsb-aibox__btn:hover { transform: translateY(-2px); }
.vsb-aibox__btn:active { transform: translateY(0) scale(.98); }

.vsb-aibox__btn--primary {
  color: #fff;
  background: linear-gradient(135deg, #7C5CFF 0%, #22D3EE 100%);
  border-color: transparent;
  box-shadow: 0 14px 34px -12px rgba(124, 92, 255, .8);
}
.vsb-aibox__btn--primary::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(120deg, transparent 25%, rgba(255, 255, 255, .35) 50%, transparent 75%);
  transform: translateX(-120%);
  transition: transform .7s var(--vsb-ease);
}
.vsb-aibox__btn--primary:hover::after { transform: translateX(120%); }
.vsb-aibox__btn--ghost { background: rgba(255, 255, 255, .05); color: var(--ink-dim); }
.vsb-aibox__btn--ghost:hover { color: #fff; background: rgba(255, 255, 255, .1); }

.vsb-aibox__btn[disabled] {
  opacity: .45;
  cursor: not-allowed;
  transform: none;
  box-shadow: none;
}
.vsb-aibox__btn[disabled]::after { display: none; }

.vsb-aibox__btn-spark { display: inline-flex; }

/* Spinner a betöltéshez */
.vsb-aibox__spinner {
  display: none;
  width: 16px;
  height: 16px;
  border-radius: 50%;
  border: 2px solid rgba(255, 255, 255, .35);
  border-top-color: #fff;
  animation: vsb-spin .7s linear infinite;
}
.vsb-aibox__btn.is-loading { pointer-events: none; }
.vsb-aibox__btn.is-loading .vsb-aibox__spinner { display: inline-block; }
.vsb-aibox__btn.is-loading .vsb-aibox__btn-label { opacity: .7; }
@keyframes vsb-spin { to { transform: rotate(360deg); } }

/* ───────────────────────── Űrlap ───────────────────────── */
.vsb-aibox__form { margin: 0; }
.vsb-aibox__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: .85rem 1rem;
  margin-bottom: 1rem;
}
.vsb-aibox__field { display: flex; flex-direction: column; gap: .4rem; }
.vsb-aibox__field--full { grid-column: 1 / -1; }

.vsb-aibox__label {
  font-size: .82rem;
  font-weight: 600;
  color: var(--ink-dim);
  display: flex;
  align-items: center;
  gap: .35rem;
}
.vsb-aibox__req { color: var(--accent); font-weight: 800; }
.vsb-aibox__opt {
  font-size: .7rem;
  font-weight: 500;
  text-transform: lowercase;
  color: var(--muted);
  opacity: .8;
}

.vsb-aibox__input {
  width: 100%;
  padding: .8rem .95rem;
  border-radius: 12px;
  font-family: inherit;
  font-size: .98rem; /* >=16px-hez közeli, hogy iOS Safari ne zoomoljon a 0.98rem ~ 15.7px miatt: lásd alább a mobil override-ot */
  color: var(--ink);
  background: rgba(8, 9, 24, .6);
  border: 1px solid var(--line-2);
  transition: border-color .2s, box-shadow .2s, background .2s;
  -webkit-appearance: none;
  appearance: none;
}
.vsb-aibox__input::placeholder { color: var(--muted); opacity: .7; }
.vsb-aibox__input:focus {
  outline: none;
  border-color: rgba(124, 92, 255, .7);
  background: rgba(8, 9, 24, .85);
  box-shadow: 0 0 0 3px rgba(124, 92, 255, .2);
}
.vsb-aibox__input.is-invalid {
  border-color: #ff6b8a;
  box-shadow: 0 0 0 3px rgba(255, 107, 138, .18);
}

/* honeypot — vizuálisan elrejtve, de elérhető a botoknak */
.vsb-aibox__hp {
  position: absolute !important;
  left: -9999px !important;
  width: 1px;
  height: 1px;
  overflow: hidden;
}

/* ───────────────────────── Hozzájárulások ───────────────────────── */
.vsb-aibox__consent {
  display: flex;
  align-items: flex-start;
  gap: .65rem;
  margin-bottom: .7rem;
  font-size: .85rem;
  line-height: 1.45;
  color: var(--ink-dim);
  cursor: pointer;
}
.vsb-aibox__consent input { position: absolute; opacity: 0; width: 0; height: 0; }
.vsb-aibox__consent-box {
  flex: 0 0 auto;
  width: 20px;
  height: 20px;
  margin-top: 1px;
  display: inline-grid;
  place-items: center;
  border-radius: 6px;
  color: transparent;
  background: rgba(8, 9, 24, .6);
  border: 1px solid var(--line-2);
  transition: background .2s var(--vsb-ease), border-color .2s, color .2s, transform .15s;
}
.vsb-aibox__consent input:checked ~ .vsb-aibox__consent-box {
  color: #fff;
  background: linear-gradient(135deg, #7C5CFF, #22D3EE);
  border-color: transparent;
  transform: scale(1.06);
}
.vsb-aibox__consent input:focus-visible ~ .vsb-aibox__consent-box {
  box-shadow: 0 0 0 3px rgba(124, 92, 255, .35);
}
.vsb-aibox__consent-text { flex: 1; }
.vsb-aibox__link { color: var(--accent); text-decoration: underline; text-underline-offset: 2px; }
.vsb-aibox__link:hover { color: #7fe9ff; }

/* ───────────────────────── Üzenetek / váltó ───────────────────────── */
.vsb-aibox__msg {
  min-height: 0;
  margin: 0 0 .8rem;
  font-size: .85rem;
  font-weight: 500;
  line-height: 1.4;
  color: var(--ink-dim);
}
.vsb-aibox__msg:empty { margin: 0; }
.vsb-aibox__msg.is-error { color: #ff8aa3; }
.vsb-aibox__msg.is-success { color: #5ee6b0; }

.vsb-aibox__switch {
  margin: 1rem 0 0;
  font-size: .85rem;
  color: var(--ink-dim);
  text-align: center;
}
.vsb-aibox__textbtn {
  background: none;
  border: 0;
  padding: 0;
  margin-left: .3rem;
  font: inherit;
  font-weight: 700;
  color: var(--accent);
  cursor: pointer;
  text-decoration: underline;
  text-underline-offset: 2px;
}
.vsb-aibox__textbtn:hover { color: #7fe9ff; }

.vsb-aibox__note {
  margin: 1rem 0 0;
  font-size: .8rem;
  color: var(--muted);
  text-align: center;
}

/* ───────────────────────── Siker lépés ───────────────────────── */
.vsb-aibox__step--success { text-align: center; }
.vsb-aibox__success-ring {
  width: 76px;
  height: 76px;
  margin: 0 auto 1.2rem;
  display: grid;
  place-items: center;
  border-radius: 50%;
  color: #fff;
  background: linear-gradient(135deg, #7C5CFF, #22D3EE);
  box-shadow: 0 0 0 8px rgba(124, 92, 255, .14), 0 18px 40px -12px rgba(34, 211, 238, .7);
  animation: vsb-pop .6s var(--vsb-ease) both;
}
.vsb-aibox__step--success .vsb-aibox__btn { margin-top: .4rem; }
@keyframes vsb-pop {
  0%   { opacity: 0; transform: scale(.4); }
  60%  { transform: scale(1.12); }
  100% { opacity: 1; transform: scale(1); }
}

/* ════════════════════════════════════════════════════════════════════════
   Állandó menü-trigger (a felugró ablak bezárása után jelenik meg)
   ════════════════════════════════════════════════════════════════════════ */
.vsb-aibox-trigger {
  display: inline-flex;
  align-items: center;
  gap: .45rem;
  padding: .55rem 1rem;
  border-radius: 999px;
  font-family: inherit;
  font-size: .9rem;
  font-weight: 600;
  line-height: 1;
  color: #fff;
  background: linear-gradient(135deg, #7C5CFF 0%, #22D3EE 100%);
  border: 1px solid transparent;
  cursor: pointer;
  white-space: nowrap;
  box-shadow: 0 10px 26px -12px rgba(124, 92, 255, .75);
  transition: transform .2s var(--vsb-ease), box-shadow .25s, filter .25s;
  touch-action: manipulation;
  position: relative;
  overflow: hidden;
}
.vsb-aibox-trigger:hover {
  transform: translateY(-1px);
  box-shadow: 0 14px 32px -10px rgba(124, 92, 255, .9);
  filter: saturate(1.1);
}
.vsb-aibox-trigger:active { transform: translateY(0) scale(.97); }
/* rejtett kezdőállapot, amíg a "felrepülés" / belépés meg nem történik */
.vsb-aibox-trigger.vsb-pending {
  opacity: 0;
  transform: scale(.8);
  pointer-events: none;
}
.vsb-aibox-trigger__spark {
  display: inline-flex;
  animation: vsb-spark 3.5s var(--vsb-ease-soft) infinite;
}
@keyframes vsb-spark {
  0%, 100% { transform: rotate(0) scale(1); opacity: .9; }
  50%      { transform: rotate(18deg) scale(1.15); opacity: 1; }
}
/* belépő animáció amikor megjelenik a fejlécben */
.vsb-aibox-trigger.vsb-enter {
  animation: vsb-trigger-in .55s var(--vsb-ease) both;
}
@keyframes vsb-trigger-in {
  from { opacity: 0; transform: translateY(-8px) scale(.8); }
  to   { opacity: 1; transform: translateY(0) scale(1); }
}

/* a fejléc-akciókban (desktop) */
.header-actions .vsb-aibox-trigger { order: -1; }

/* mobil menü CTA-ban teljes szélességű */
.mobile-nav-cta .vsb-aibox-trigger {
  width: 100%;
  justify-content: center;
  padding: .85rem 1.5rem;
  font-size: 1rem;
}

/* A FLIP „repülő” klón (JS hozza létre záráskor) */
.vsb-aibox-flyer {
  position: fixed;
  margin: 0;
  z-index: 1300;
  pointer-events: none;
  will-change: transform, opacity;
}

/* ════════════════════════════════════════════════════════════════════════
   Reszponzív finomhangolás
   ════════════════════════════════════════════════════════════════════════ */

/* Mobil: az iOS Safari ne zoomoljon fókuszkor → 16px input betűméret */
@media (max-width: 600px) {
  .vsb-aibox__input { font-size: 16px; }
  .vsb-aibox__grid { grid-template-columns: 1fr; }
  .vsb-aibox__dialog { border-radius: 20px; }
  .vsb-aibox__actions { flex-direction: column-reverse; align-items: stretch; }
  .vsb-aibox__actions--split { flex-direction: row; }
  .vsb-aibox__actions .vsb-aibox__btn { width: 100%; }
  .vsb-aibox__actions--split .vsb-aibox__btn { width: auto; }
}

@media (hover: none) and (pointer: coarse) {
  .vsb-aibox__overlay {
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
    background: rgba(4, 4, 14, .82);
  }
  .vsb-aibox__dialog {
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
  }
}

/* Nagyon alacsony képernyő: a dialógus görgethető marad */
@media (max-height: 640px) {
  .vsb-aibox { align-items: flex-start; }
}

/* Desktop trigger kompaktabb a szűkebb fejlécben (a login gomb mellett) */
@media (max-width: 1100px) and (min-width: 1000px) {
  .header-actions .vsb-aibox-trigger__label { display: none; }
  .header-actions .vsb-aibox-trigger { padding: .55rem .7rem; }
}

/* Mobilon (a hamburger nézet) a fejléc-trigger ikon-only, hogy ne törje a sort.
   A teljes szövegű gomb a mobil menüben (drawer) jelenik meg. */
@media (max-width: 999px) {
  .header-actions .vsb-aibox-trigger__label { display: none; }
  .header-actions .vsb-aibox-trigger { padding: .5rem .6rem; }
}
@media (max-width: 380px) {
  .header-actions .vsb-aibox-trigger { display: none; }
}

/* ════════════════════════════════════════════════════════════════════════
   prefers-reduced-motion — minden mozgás kikapcsolása
   ════════════════════════════════════════════════════════════════════════ */
@media (prefers-reduced-motion: reduce) {
  .vsb-aibox,
  .vsb-aibox__overlay,
  .vsb-aibox__dialog,
  .vsb-aibox__step.is-active,
  .vsb-aibox__close,
  .vsb-aibox__btn,
  .vsb-aibox-trigger,
  .vsb-aibox__badge-dot,
  .vsb-aibox__success-ring,
  .vsb-aibox-trigger__spark,
  .vsb-aibox__btn--primary::after {
    animation: none !important;
    transition-duration: .01ms !important;
  }
  .vsb-aibox__dialog { transform: none !important; }
}

/* SpamGuard rejtett csapdamezők — a látogató soha nem látja, a bot kitölti.
   Nem display:none, mert azt sok bot felismeri és kihagyja. */
.sg-nope {
  position: absolute;
  left: -9999px;
  top: -9999px;
  width: 1px;
  height: 1px;
  overflow: hidden;
  opacity: 0;
  pointer-events: none;
}

/* ══════════════════════════════════════════════════════════════════════
   FEJLÉC – nyitóoldal-brief 3. és 6. pont
   Fő sor: Megoldás ▾ · Privát AI · Biztonság és bizonyítékok · Iparágak ·
   Partnerek · Tudástár ▾ · Kapcsolat + egyetlen kiemelt CTA („Beszélek egy szakértővel”).
   Felső sáv: telefon · e-mail · nyelvválasztó | Partner portál · Belépés.
   ══════════════════════════════════════════════════════════════════════ */
.header-row { gap: .9rem; }
.primary-nav { gap: 1.05rem; margin-left: 1.1rem; }
.primary-nav a, .primary-nav .nav-dropdown-toggle { font-size: .88rem; white-space: nowrap; }
.primary-nav a[aria-current="page"] { color: var(--ink); }
.primary-nav a[aria-current="page"]::after { transform: scaleX(1); }
/* A nyelvválasztó a felső sáv bal oldalán, a kapcsolati adatok mellett */
.header-top-info .lang-switch { margin-left: .4rem; }

/* A kiemelt CTA minden méretben látszik (a régi szabály csak a .btn-login-t hagyta meg) */
.header-row .brand { flex-shrink: 0; }
.header-actions .btn.btn-expert { display: inline-flex; gap: .45rem; padding: .6rem 1.05rem; white-space: nowrap; }
.btn-expert svg { flex: none; }
@media (max-width: 999px) {
  .header-actions .btn.btn-expert { display: inline-flex; }
}
/* Keskeny telefon: csak az ikon látszik – a teljes felirat a mobilmenüben is ott van,
   a képernyőolvasó pedig a vizuálisan rejtett címkét olvassa fel. */
@media (max-width: 479px) {
  .header-row { gap: .5rem; }
  .header-actions { gap: .4rem; }
  .header-actions .btn.btn-expert { padding: .6rem .7rem; }
  .header-actions .btn-expert .btn-expert-label {
    position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap;
  }
}
@media (max-width: 359px) {
  .header-row .brand-logo { width: 110px; height: auto; }
  .header-actions .nav-toggle { width: 38px; height: 38px; }
}

/* AI Box kipróbálás gomb a felső sávban: kompakt pill */
.header-top-actions .vsb-aibox-trigger { order: -1; padding: .28rem .7rem; font-size: .75rem; gap: .35rem; box-shadow: none; }
@media (max-width: 999px) {
  .header-top-actions .vsb-aibox-trigger__label { display: none; }
  .header-top-actions .vsb-aibox-trigger { padding: .3rem .45rem; }
}

/* A nav 1000–1279 px között szűkös a hosszú magyar címkékkel („Biztonság és bizonyítékok”):
   tömörebb térköz, a CTA ikonja elmarad. */
@media (min-width: 1000px) and (max-width: 1279px) {
  .primary-nav { gap: .7rem; margin-left: .7rem; }
  .header-actions .btn-expert svg { display: none; }
  .primary-nav a, .primary-nav .nav-dropdown-toggle { font-size: .82rem; }
  .header-actions .btn.btn-expert { padding: .55rem .85rem; font-size: .85rem; }
}
/* A .header-row „padding: .85rem 0” szabálya a konténer oldalsó paddingjét is
   nullázta, így 1200 px alatt a fejléc a képernyő széléig ért. */
.header-row,
.site-header.is-scrolled .header-row { padding-left: clamp(1rem, 4vw, 2rem); padding-right: clamp(1rem, 4vw, 2rem); }
@media (min-width: 1000px) and (max-width: 1149px) {
  .primary-nav { gap: .55rem; margin-left: .55rem; }
  .primary-nav a, .primary-nav .nav-dropdown-toggle { font-size: .78rem; }
  .header-actions .btn.btn-expert { padding: .5rem .75rem; font-size: .8rem; }
}

/* ══════════════════════════════════════════════════════════════════════
   LÁBLÉC – 2026-09 ökoszisztéma-redesign: alsó jelölés-sor
   A tanúsítási jelölések a „ViVeSec Box:” előtag után, külön sorban.
   ══════════════════════════════════════════════════════════════════════ */
.footer-bottom { align-items: flex-start; }
.footer-marks, .footer-legal { display: grid; gap: .35rem; }
.footer-legal { justify-items: end; text-align: right; }
.footer-entities, .footer-certs, .footer-legal-links { display: flex; flex-wrap: wrap; align-items: center; gap: .15rem 0; }
.footer-entities > span + span::before,
.footer-certs > span + span::before { content: "·"; margin: 0 .5rem; color: var(--muted); opacity: .7; }
.footer-certs strong { margin-right: .5rem; color: var(--ink-dim); font-weight: 600; }
.footer-marks a, .footer-legal a { color: var(--ink-dim); text-decoration: none; }
.footer-marks a:hover, .footer-legal a:hover { color: var(--ink); text-decoration: underline; }
.footer-legal-links { gap: .2rem 1.1rem; justify-content: flex-end; }
@media (max-width: 759px) {
  .footer-legal { justify-items: start; text-align: left; }
  .footer-legal-links { justify-content: flex-start; }
}

/* ══════════════════════════════════════════════════════════════════════
   ŰRLAPOK – lead-kontextus (2026-09): „Miben segíthetünk?” választó és a
   nyitóoldalról hozott téma chipje (kapcsolati és partnerűrlap)
   ══════════════════════════════════════════════════════════════════════ */
.form select {
  width: 100%; padding: .85rem 2.6rem .85rem 1rem; border-radius: 12px; border: 1px solid var(--line-2);
  background: rgba(7,7,26,0.5) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23A6ABCB' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat right 1rem center / 16px;
  color: var(--ink); font: inherit; appearance: none; -webkit-appearance: none; cursor: pointer;
  transition: border-color .2s, box-shadow .2s;
}
.form select:focus { outline: none; border-color: var(--primary); box-shadow: 0 0 0 4px rgba(108, 124, 255, .18); }
.form select option { background: #0b0b22; color: var(--ink); }
.lead-context {
  display: flex; align-items: center; flex-wrap: wrap; gap: .4rem .6rem;
  padding: .7rem .9rem; border-radius: 12px;
  border: 1px solid rgba(47, 227, 200, .35); background: rgba(47, 227, 200, .07);
  font-size: .88rem;
}
.lead-context[hidden] { display: none; }
.lead-context-label { color: var(--ink-dim); }
.lead-context-value { color: #fff; font-weight: 600; }
.lead-context-clear {
  margin-left: auto; width: 1.8rem; height: 1.8rem; border-radius: 50%;
  border: 1px solid var(--line-2); background: transparent; color: var(--ink-dim); cursor: pointer; font-size: 1rem; line-height: 1;
}
.lead-context-clear:hover { color: #fff; border-color: rgba(47, 227, 200, .6); }

/* ══════════════════════════════════════════════════════════════════════
   Böngészőmátrix-teszt javításai (2026-09, Firefox / WebKit)
   ══════════════════════════════════════════════════════════════════════ */
/* Keskeny képernyőn a hosszú gombfelirat tördelhet – a .btn nowrap szabálya miatt
   a teljes szélességű gombok felirata/nyila eddig kilógott (320–390 px). */
@media (max-width: 479px) {
  .btn { white-space: normal; text-align: center; justify-content: center; }
}
/* A „Hardened” blokk dekoratív pajzsa (top/right: -22px) 2 px oldalgörgetést okozott. */
.section-hardened { overflow-x: clip; }

/* ══════════════════════════════════════════════════════════════════════
   VIVESEC BOX ALOLDAL – 2026-09 ökoszisztéma-redesign
   Belső navigáció, tanúsítási jelölések, megfelelőségi doboz, letöltések.
   ══════════════════════════════════════════════════════════════════════ */
.vsb-subnav {
  position: relative; z-index: 2;
  border-block: 1px solid var(--line);
  background: rgba(7, 7, 26, .82);
  -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px);
}
.vsb-subnav ul {
  list-style: none; margin: 0; padding: .55rem 0;
  display: flex; gap: .35rem; overflow-x: auto; scrollbar-width: none;
}
.vsb-subnav ul::-webkit-scrollbar { display: none; }
.vsb-subnav a {
  display: inline-block; white-space: nowrap;
  padding: .45rem .85rem; border-radius: 999px;
  color: var(--ink-dim); font-size: .86rem; font-weight: 600; text-decoration: none;
  transition: background .2s, color .2s;
}
.vsb-subnav a:hover, .vsb-subnav a:focus-visible { background: rgba(255,255,255,.06); color: var(--ink); }
@media (min-width: 1100px) { .vsb-subnav ul { justify-content: center; } }
.section-vsb-hero ~ .section { scroll-margin-top: 140px; }

.section .vsb-subhead { margin-top: clamp(3.5rem, 8vw, 5.5rem); }
.vsb-subhead h3 { font-size: clamp(1.4rem, 2.6vw, 2rem); margin: 0; }

.vsb-cert-marks {
  list-style: none; margin: 0 auto 2rem; padding: 0; max-width: 1000px;
  display: flex; flex-wrap: wrap; justify-content: center; gap: .6rem;
}
.vsb-cert-marks li {
  display: inline-flex; align-items: center; gap: .55rem;
  padding: .45rem .9rem .45rem .45rem; border-radius: 999px;
  border: 1px solid var(--line-2); background: rgba(255,255,255,.03);
  font-size: .88rem; color: var(--ink);
}
.vsb-cert-marks .vsb-cert-badge { margin: 0; min-width: 2.6rem; }
.cert-card { display: flex; flex-direction: column; }
.vsb-doc-link { margin-top: auto; padding-top: .9rem; font-size: .86rem; font-weight: 600; color: var(--accent, #22d3ee); text-decoration: none; }
.vsb-doc-link:hover { text-decoration: underline; }

.vsb-comp {
  display: grid; gap: 2rem; align-items: center;
  padding: clamp(1.6rem, 4vw, 2.8rem);
}
@media (min-width: 900px) { .vsb-comp { grid-template-columns: 1fr 1fr; } }
.vsb-comp-copy h2 { margin: .4rem 0 .8rem; }
.vsb-comp-copy p { color: var(--ink-dim); line-height: 1.65; margin: 0 0 1.4rem; }
.vsb-comp-frameworks { list-style: none; margin: 0 0 1.2rem; padding: 0; display: flex; flex-wrap: wrap; gap: .5rem; }
.vsb-comp-frameworks li {
  padding: .5rem 1rem; border-radius: 12px;
  border: 1px solid rgba(34,211,238,.35); background: rgba(34,211,238,.07);
  font-family: 'Space Grotesk', 'Inter', sans-serif; font-weight: 700; font-size: 1.05rem; color: #fff;
}
.vsb-comp-controls-title { margin: 0 0 .7rem; font-size: .74rem; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; color: var(--muted); }
.vsb-comp-controls { list-style: none; margin: 0; padding: 0; display: grid; gap: .5rem; }
@media (min-width: 560px) { .vsb-comp-controls { grid-template-columns: 1fr 1fr; } }
.vsb-comp-controls li { display: flex; gap: .5rem; align-items: flex-start; font-size: .92rem; color: var(--ink); }
.vsb-comp-controls li::before { content: "✓"; color: var(--accent, #22d3ee); font-weight: 700; }

.vsb-hw { margin-top: clamp(2.5rem, 6vw, 4rem); }
.vsb-hw-title { text-align: center; font-size: clamp(1.3rem, 2.4vw, 1.8rem); margin: 0 0 1.5rem; }

.vsb-docs { list-style: none; margin: 0 auto; padding: 0; max-width: 1100px; display: grid; gap: 1rem; }
@media (min-width: 800px) { .vsb-docs { grid-template-columns: repeat(3, 1fr); } }
.vsb-doc {
  display: grid; gap: .45rem; height: 100%;
  padding: 1.5rem; text-decoration: none; color: var(--ink);
  transition: transform .25s, border-color .25s;
}
.vsb-doc:hover { transform: translateY(-3px); border-color: rgba(34,211,238,.45); }
.vsb-doc-ico { color: var(--accent, #22d3ee); }
.vsb-doc strong { font-size: 1.08rem; }
.vsb-doc span:last-child { color: var(--ink-dim); font-size: .92rem; line-height: 1.55; }

/* ══════════════════════════════════════════════════════════════════════
   AI BOX ALOLDAL – 2026-09 ökoszisztéma-redesign
   Összekötött architektúra, bizalmi alap, „token nélkül · offline · 24/7”,
   AI-val vs. AI nélkül táblázat, korai hozzáférés.
   ══════════════════════════════════════════════════════════════════════ */
.aix-layer-grid.aix-layer-linked { grid-template-columns: 1fr; gap: 0; }
.aix-layer-link { display: flex; flex-direction: column; align-items: center; gap: .35rem; padding: .6rem 0; color: #2fe3c8; }
.aix-layer-link span {
  width: 2px; height: 18px;
  background: repeating-linear-gradient(180deg, #2fe3c8 0 4px, transparent 4px 8px);
}
@media (min-width: 760px) {
  .aix-layer-grid.aix-layer-linked { grid-template-columns: 1fr auto 1fr; align-items: stretch; }
  .aix-layer-link { flex-direction: row; padding: 0 .8rem; }
  .aix-layer-link span { width: 22px; height: 2px; background: repeating-linear-gradient(90deg, #2fe3c8 0 4px, transparent 4px 8px); }
}

.aix-trust-grid, .aix-private-grid { display: grid; gap: 1rem; }
@media (min-width: 860px) { .aix-trust-grid, .aix-private-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.aix-trust, .aix-private { padding: 1.4rem; }
.aix-trust h3, .aix-private h3 { margin: .6rem 0 .45rem; font-size: 1.1rem; }
.aix-trust p, .aix-private p { margin: 0; color: var(--ink-dim); font-size: .93rem; line-height: 1.6; }
.aix-trust-ico {
  display: inline-grid; place-items: center; width: 2.8rem; height: 2.8rem; border-radius: 14px;
  color: #b3a8ff; background: rgba(139, 123, 255, .12); border: 1px solid rgba(139, 123, 255, .3);
}
.aix-private-kicker {
  font-family: 'Space Grotesk', 'Inter', sans-serif; font-size: 1.35rem; font-weight: 700;
  background: linear-gradient(95deg, #fff, #b3a8ff); -webkit-background-clip: text; background-clip: text; color: transparent;
}

.aix-hw-platform { color: #b3a8ff !important; font-weight: 600; margin: -.2rem 0 .5rem !important; }

.aix-versus .versus-with-val { color: var(--ink); }

.aix-cta-band .eyebrow { margin-bottom: .6rem; }
.aix-cta-note { margin: 1rem 0 0; font-size: .86rem; color: var(--muted); }

/* Keskeny kijelző (ViVeSec Box / Technológia oldal): a telepítési idővonal és a
   rétegdiagram ne lógjon ki – az idő a kártya fölé kerül, a rácscellák zsugorodhatnak. */
.deploy-step > *, .hardened-grid > * { min-width: 0; }
.hd-layer { flex-wrap: wrap; }
@media (max-width: 560px) {
  .deploy-timeline .deploy-step { grid-template-columns: 1fr; gap: .4rem; }
  .deploy-timeline .ds-time { padding-top: 0; }
  .deploy-timeline .ds-time::before { top: .15rem; }
  .ds-card { padding: 1rem; }
}
html[lang="de"] :is(.ds-card, .hs-body, .system-card, .sustain-vs, .case-card) { -webkit-hyphens: auto; hyphens: auto; overflow-wrap: break-word; }
/* Keskeny telefonon a hosszú német összetett szavak (pl. Unternehmensstrukturen) ne lógjanak ki */
@media (max-width: 480px) { html[lang="de"] h1 { -webkit-hyphens: auto; hyphens: auto; overflow-wrap: break-word; } }
