html { scroll-behavior: smooth; overflow-x: hidden; }
  body { font-family: 'Inter', sans-serif; background:#FAFAF7; color:#0F0F0F; -webkit-font-smoothing:antialiased; overflow-x: hidden; max-width: 100vw; }
  .display { font-family:'Inter', sans-serif; font-weight:800; letter-spacing:-0.035em; line-height:0.95; }
  .h2 { font-family:'Inter', sans-serif; font-weight:800; letter-spacing:-0.03em; line-height:1; }
  .mono { font-family:'JetBrains Mono', ui-monospace, monospace; }
  .eyebrow { font-family:'JetBrains Mono', monospace; font-size:12px; letter-spacing:0.16em; text-transform:uppercase; color:#E5631C; }
  .eyebrow .dot { display:inline-block; width:6px; height:6px; border-radius:9999px; background:#F28C28; margin-right:10px; vertical-align:middle; }
  .eyebrow-w { font-family:'JetBrains Mono', monospace; font-size:12px; letter-spacing:0.16em; text-transform:uppercase; color:#F28C28; }
  .hero-h1 { font-size: clamp(56px, 9vw, 112px); }
  .h2-xl { font-size: clamp(40px, 6vw, 72px); }
  .h2-lg { font-size: clamp(36px, 5vw, 60px); }
  .highlight { background:linear-gradient(180deg, transparent 62%, #FFD9A8 62%, #FFD9A8 92%, transparent 92%); padding:0 .04em; }
  .focus-visible-orange:focus-visible { outline:2px solid #F28C28; outline-offset:3px; border-radius:6px; }
  *:focus-visible { outline:2px solid #F28C28; outline-offset:3px; border-radius:6px; }
  .placeholder-img {
    background:
      repeating-linear-gradient(135deg, rgba(0,0,0,0.025) 0 1px, transparent 1px 14px),
      #EFEDE7;
    display:flex; align-items:center; justify-content:center; color:#9A9A95;
  }
  .placeholder-img.dark {
    background:
      repeating-linear-gradient(135deg, rgba(255,255,255,0.04) 0 1px, transparent 1px 14px),
      #1A1A1A;
    color:#555;
  }
  /* Reveal */
  .reveal { opacity:0; transform:translateY(16px); transition:opacity .6s ease-out, transform .6s ease-out; }
  .reveal.in { opacity:1; transform:none; }
  /* Header */
  .hdr { transition:background-color .25s ease, border-color .25s ease, backdrop-filter .25s ease; }
  .hdr.scrolled { background:rgba(255,255,255,0.82); backdrop-filter:saturate(140%) blur(14px); border-bottom:1px solid #EAEAEA; }
  /* Outline number */
  .outline-num {
    -webkit-text-stroke: 1.5px #F28C28; color:transparent;
    font-family:'JetBrains Mono', monospace; font-weight:600;
  }
  /* Marker underline */
  .marker-u { background-image: linear-gradient(#F28C28,#F28C28); background-size:100% 6px; background-position:0 95%; background-repeat:no-repeat; padding-bottom:2px; }
  /* Buttons */
  .btn { display:inline-flex; align-items:center; gap:10px; padding:14px 26px; border-radius:9999px; font-weight:600; font-size:14px; letter-spacing:0.04em; text-transform:uppercase; transition:transform .2s ease, box-shadow .2s ease, background-color .2s ease, color .2s ease, border-color .2s ease; }
  .btn-primary { background:#F28C28; color:#fff; }
  .btn-primary:hover { background:#E5631C; transform:translateY(-2px); box-shadow:0 12px 24px -12px rgba(229,99,28,0.45); }
  .btn-secondary { border:1px solid #0F0F0F; color:#0F0F0F; }
  .btn-secondary:hover { background:#0F0F0F; color:#fff; transform:translateY(-2px); }
  .btn-ghost-w { border:1px solid #fff; color:#fff; }
  .btn-ghost-w:hover { background:#fff; color:#F28C28; transform:translateY(-2px); }
  .btn-on-orange { background:#fff; color:#E5631C; }
  .btn-on-orange:hover { transform:translateY(-2px); box-shadow:0 12px 24px -12px rgba(0,0,0,0.25); }
  .link-arrow { display:inline-flex; align-items:center; gap:8px; font-weight:600; font-size:14px; letter-spacing:0.04em; text-transform:uppercase; color:#0F0F0F; }
  .link-arrow svg { transition:transform .2s ease; }
  .link-arrow:hover { color:#E5631C; }
  .link-arrow:hover svg { transform:translateX(4px); }
  .link-arrow .arrow-path { stroke:#F28C28; }
  /* Pill */
  .pill { display:inline-flex; align-items:center; gap:8px; padding:8px 14px; border-radius:9999px; font-size:11px; letter-spacing:0.14em; text-transform:uppercase; font-weight:600; }
  .pill-tint { background:#FFF4EA; color:#E5631C; }
  .pill-outline { border:1px solid #EAEAEA; color:#0F0F0F; background:#fff; }
  .pill-outline-w { border:1px solid rgba(255,255,255,0.3); color:#fff; background:transparent; }
  /* Card hover */
  .lift { transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease; }
  .lift:hover { transform:translateY(-4px); box-shadow:0 22px 40px -28px rgba(0,0,0,0.18); }
  /* Nav link underline */
  .nav-link { position:relative; }
  .nav-link::after { content:""; position:absolute; left:0; right:100%; bottom:-6px; height:2px; background:#F28C28; transition:right .2s ease; }
  .nav-link:hover::after { right:0; }
  /* Section index */
  .section-index { font-family:'JetBrains Mono', monospace; font-size:13px; color:#999; letter-spacing:0.14em; }
  /* Tabs */
  .tab-btn { position:relative; padding:18px 4px; font-weight:600; font-size:13px; letter-spacing:0.14em; text-transform:uppercase; color:#999; transition:color .2s ease; }
  .tab-btn:hover { color:#0F0F0F; }
  .tab-btn[aria-selected="true"] { color:#0F0F0F; }
  .tab-btn[aria-selected="true"]::after {
    content:""; position:absolute; left:0; right:0; bottom:-1px; height:2px; background:#F28C28;
  }
  /* Sponsor label rule */
  .sponsor-label { display:flex; align-items:center; gap:20px; color:#E5631C; }
  .sponsor-label::before, .sponsor-label::after { content:""; flex:1; height:1px; background:#EAEAEA; }
  /* Marquee underline (testimonial avatar) */
  .quote-glyph { font-family:Georgia, 'Times New Roman', serif; font-size:84px; line-height:0.7; color:#F28C28; }
  /* Mobile menu */
  .mobile-nav { position:absolute; left:0; right:0; top:100%; transform:translateY(-8px); opacity:0; pointer-events:none; transition:transform .25s ease, opacity .25s ease; max-height: calc(100dvh - 64px); overflow-y:auto; }
  .mobile-nav.open { transform:none; opacity:1; pointer-events:auto; }
  .mobile-nav a { color:#0F0F0F !important; }
  .mobile-nav a:hover { color:#E5631C !important; }
  /* Sticky countdown bar */
  .sticky-bar { transform:translateY(100%); transition:transform .35s cubic-bezier(.2,.7,.2,1); }
  .sticky-bar.in { transform:none; }
  .sticky-bar.hide-tickets { transform:translateY(120%); }
  .hero-img { background-size:cover; background-position:center; }
  /* China spotlight stripes */
  .china-band { background: linear-gradient(135deg, #FFF4EA 0%, #FAFAF7 60%); }
  /* Ticket card — side notches + perforation */
  .ticket {
    position: relative;
    background: #fff;
    border: 1px solid #EAEAEA;
    border-radius: 20px;
  }
  .ticket-perf {
    border-top: 1.5px dashed #E0E0DC;
    margin: 0 -1px;
  }
  .ticket.featured { border-color: #F28C28; box-shadow: 0 18px 40px -28px rgba(229,99,28,0.5); }
  /* Make sure ticket card text stays readable even when group sets white color */
  .ticket-group .ticket h3,
  .ticket-group .ticket h4,
  .ticket-group .ticket p,
  .ticket-group .ticket li,
  .ticket-group .ticket .display,
  .ticket-group .ticket .ticket-head,
  .ticket-group .ticket .mono { color:#0F0F0F; }
  body[data-theme="dark"] .ticket-group .ticket h3,
  body[data-theme="dark"] .ticket-group .ticket h4,
  body[data-theme="dark"] .ticket-group .ticket p,
  body[data-theme="dark"] .ticket-group .ticket li,
  body[data-theme="dark"] .ticket-group .ticket .display,
  body[data-theme="dark"] .ticket-group .ticket .ticket-head,
  body[data-theme="dark"] .ticket-group .ticket .mono { color:#F2F2EE; }
  .ticket-group .ticket .btn-primary,
  .ticket-group .ticket .btn-primary * { color:#fff !important; }
  .ticket-group .ticket .btn-secondary:hover,
  .ticket-group .ticket .btn-secondary:hover * { color:#fff !important; }
  .ticket-group .ticket .text-mute { color:#6B6B6B !important; }
  .ticket-group .ticket .text-orange-deep { color:#E5631C !important; }
  .ticket-group .ticket .feat-yes { color:#1E8E4B !important; }
  .ticket-group .ticket .feat-no { color:#C82F3C !important; }
  .feat-icon { display:inline-flex; align-items:center; justify-content:center; width:22px; height:22px; border-radius:7px; flex-shrink:0; }
  .feat-yes { background:#E4F6EA; color:#1E8E4B; }
  .feat-no  { background:#FCE6E8; color:#C82F3C; }
  .ticket-head { display:inline-flex; align-items:center; gap:8px; padding:6px 12px; border-radius:9999px; font-mono:'JetBrains Mono', monospace; font-family:'JetBrains Mono', monospace; font-size:10px; letter-spacing:0.2em; text-transform:uppercase; font-weight:700; }
  .head-ech { background:#FFF4EA; color:#E5631C; }
  .head-noech { background:rgba(15,15,15,0.06); color:#0F0F0F; }
  .popular-ribbon {
    position:absolute; top:-14px; left:50%; transform:translateX(-50%);
    background:#F28C28; color:#fff;
    padding:6px 14px; border-radius:9999px;
    font-family:'JetBrains Mono', monospace; font-size:10px; letter-spacing:0.22em; text-transform:uppercase; font-weight:700;
    z-index:3; white-space:nowrap;
    box-shadow: 0 8px 20px -8px rgba(229,99,28,0.7);
  }
  .popular-ribbon .star { color:#fff; margin-right:6px; }
  .pay-chip { display:inline-flex; align-items:center; height:32px; padding:0 14px; border-radius:8px; border:1px solid #EAEAEA; background:#fff; font-size:11px; letter-spacing:0.08em; text-transform:uppercase; font-weight:600; color:#0F0F0F; font-family:'JetBrains Mono', monospace; }
  /* Header dark-on-hero → light-on-scroll */
  .hdr .logo-dark { display:none; }
  .hdr .logo-light { display:block; }
  .hdr.scrolled .logo-dark { display:block; }
  .hdr.scrolled .logo-light { display:none; }
  /* Logó: méret befoglaló dobozzal — bármilyen képarány torzulás nélkül belefér. */
  .hdr .site-logo { width:auto; height:auto; max-height:36px; max-width:200px; object-fit:contain; }
  @media (min-width:640px) { .hdr .site-logo { max-height:48px; max-width:220px; } }
  @media (min-width:1024px) { .hdr .site-logo { max-height:64px; max-width:240px; } }
  .hdr .nav-link { color:#fff; }
  .hdr .nav-link.muted { color: rgba(255,255,255,0.65); }
  .hdr.scrolled .nav-link { color:#0F0F0F; }
  .hdr.scrolled .nav-link.muted { color:#6B6B6B; }
  .hdr #menuBtn { border-color: rgba(255,255,255,0.4); color:#fff; }
  .hdr.scrolled #menuBtn { border-color:#EAEAEA; color:#0F0F0F; }
  /* Mobile: header always solid (no video, white bg better than transparent over gradient) */
  @media (max-width: 1023px) {
    .hdr { background:rgba(255,255,255,0.94); backdrop-filter:saturate(140%) blur(14px); border-bottom:1px solid #EAEAEA; }
    .hdr .logo-light { display:none; }
    .hdr .logo-dark { display:block; }
    .hdr #menuBtn { border-color:#EAEAEA; color:#0F0F0F; }
  }
  /* Stacked heading: ghost outline + solid */
  .stack-h { position:relative; display:inline-block; padding-top:0.7em; line-height:0.95; }
  .stack-h > .ghost {
    position:absolute; left:-0.02em; top:-0.05em;
    font-weight:900; font-size:1.7em; line-height:0.85; letter-spacing:-0.045em;
    color:transparent;
    -webkit-text-stroke: 1.5px rgba(15,15,15,0.10);
    white-space:nowrap; pointer-events:none; user-select:none; z-index:0;
  }
  .stack-h > .solid { position:relative; z-index:1; display:block; }
  .stack-h.on-dark > .ghost { -webkit-text-stroke-color: rgba(255,255,255,0.14); }
  .stack-h.on-cream > .ghost { -webkit-text-stroke-color: rgba(229,99,28,0.16); }
  /* Video hero */
  .video-poster { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:0; filter:saturate(.95) contrast(1.05); }
  .hero-bg-art {
    position:absolute; inset:0; z-index:1;
    background-color: #0A0A0A;
    background-image:
      radial-gradient(ellipse 90% 60% at 20% 0%, rgba(242,140,40,0.22), transparent 55%),
      radial-gradient(ellipse 80% 70% at 90% 100%, rgba(229,99,28,0.20), transparent 60%),
      radial-gradient(ellipse 60% 50% at 50% 110%, rgba(245,166,35,0.16), transparent 60%);
  }
  .hero-bg-art::before {
    content:""; position:absolute; inset:0;
    background-image:
      linear-gradient(rgba(242,140,40,0.06) 1px, transparent 1px),
      linear-gradient(90deg, rgba(242,140,40,0.06) 1px, transparent 1px);
    background-size: 80px 80px;
    mask-image: radial-gradient(ellipse 80% 60% at 50% 50%, #000 30%, transparent 75%);
    -webkit-mask-image: radial-gradient(ellipse 80% 60% at 50% 50%, #000 30%, transparent 75%);
  }
  .hero-bg-art::after {
    content:""; position:absolute; inset:0;
    background:
      radial-gradient(circle 2px at 18% 32%, rgba(255,255,255,0.65), transparent 100%),
      radial-gradient(circle 1.5px at 72% 18%, rgba(255,255,255,0.55), transparent 100%),
      radial-gradient(circle 2.5px at 88% 62%, rgba(255,255,255,0.5), transparent 100%),
      radial-gradient(circle 1.5px at 32% 78%, rgba(255,255,255,0.5), transparent 100%),
      radial-gradient(circle 2px at 55% 42%, rgba(255,255,255,0.4), transparent 100%);
    animation: heroTwinkle 7s ease-in-out infinite alternate;
  }
  @keyframes heroTwinkle {
    from { opacity:0.6; }
    to   { opacity:1; }
  }
  @media (prefers-reduced-motion: reduce) { .hero-bg-art::after { animation: none; } }
  .video-hero { position:relative; height:auto; min-height:100dvh; max-height:none; overflow:hidden; background:#0A0A0A !important; isolation:isolate; }
  @media (min-width: 1024px) {
    .video-hero { height:100dvh; min-height:620px; max-height:980px; }
  }
  .video-hero::before {
    content:""; position:absolute; inset:0; background:#0A0A0A; z-index:0;
  }
  .video-bg { position:absolute; inset:0; z-index:0; overflow:hidden; pointer-events:none; }
  .video-bg iframe {
    position:absolute; top:50%; left:50%;
    width:177.78vh; height:100vh;
    min-width:100%; min-height:100%;
    /* scale(1.18): a YouTube saját felirata/logója lelóg a látható területről */
    transform:translate(-50%, -50%) scale(1.18); border:0; pointer-events:none;
  }
  @media (max-aspect-ratio: 16/9) {
    .video-bg iframe { width:100vw; height:56.25vw; }
  }
  /* Hero háttérvideó réteg: a gradiens (.hero-bg-art, z-index:1) FÖLÉ, de az overlay (z-index:2) ALÁ.
     Alapból átlátszó (a gradiens látszik), és csak akkor jelenik meg, amikor a videó már megy (.is-playing). */
  .hero-yt { position:absolute; inset:0; z-index:1; overflow:hidden; pointer-events:none; opacity:0; transition:opacity 1s ease; }
  .hero-yt.is-playing { opacity:1; }
  .hero-yt video {
    position:absolute; top:50%; left:50%; width:100%; height:100%;
    object-fit:cover; transform:translate(-50%, -50%) scale(1.02); border:0; pointer-events:none;
  }
  /* Desktop: enrich the hero-bg-art with more dimension since it's the full visual */
  @media (min-width: 768px) {
    .hero-bg-art {
      background-color:#0A0A0A;
      background-image:
        radial-gradient(ellipse 70% 50% at 15% 10%, rgba(242,140,40,0.28), transparent 55%),
        radial-gradient(ellipse 60% 60% at 85% 90%, rgba(229,99,28,0.24), transparent 60%),
        radial-gradient(ellipse 50% 40% at 50% 110%, rgba(245,166,35,0.18), transparent 60%);
    }
  }
  .video-overlay {
    position:absolute; inset:0; z-index:2;
    background:
      linear-gradient(180deg, rgba(10,10,10,0.4) 0%, rgba(10,10,10,0.1) 35%, rgba(10,10,10,0.85) 100%),
      radial-gradient(ellipse at 20% 50%, rgba(10,10,10,0.45), transparent 70%);
  }
  @media (min-width: 1024px) {
    .video-overlay {
      background:
        linear-gradient(180deg, rgba(10,10,10,0.55) 0%, rgba(10,10,10,0.25) 35%, rgba(10,10,10,0.85) 100%),
        radial-gradient(ellipse at 20% 50%, rgba(10,10,10,0.35), transparent 70%);
    }
  }
  .video-hero .content { position:relative; z-index:3; }
  .meta-line { font-family:'JetBrains Mono', monospace; font-size:13px; letter-spacing:0.14em; text-transform:uppercase; color:#fff; }
  @media (max-width: 640px) {
    .meta-line { letter-spacing:0.1em; }
  }
  .meta-line .slash { color:#F28C28; margin-right:10px; font-weight:700; }
  .aftermovie-btn {
    display:inline-flex; align-items:center; gap:14px; padding:14px 22px;
    border-radius:9999px; background:rgba(255,255,255,0.08); border:1px solid rgba(255,255,255,0.25);
    color:#fff; font-weight:600; font-size:13px; letter-spacing:0.14em; text-transform:uppercase;
    transition:background .2s ease, transform .2s ease;
    backdrop-filter:blur(8px);
  }
  .aftermovie-btn:hover { background:rgba(255,255,255,0.18); transform:translateY(-2px); }
  .aftermovie-btn .play-dot { display:inline-flex; align-items:center; justify-content:center; width:28px; height:28px; border-radius:9999px; background:#F28C28; color:#fff; }
  /* Shiny ticket button */
  .btn-shiny { position:relative; overflow:hidden; isolation:isolate; -webkit-mask-image: -webkit-radial-gradient(white, black); }
  .btn-shiny::after {
    content:""; position:absolute; inset:0; pointer-events:none;
    background: linear-gradient(105deg, transparent 30%, rgba(255,255,255,0.45) 48%, rgba(255,255,255,0.75) 50%, rgba(255,255,255,0.45) 52%, transparent 70%);
    transform: translateX(-130%);
    animation: shineSweep 3.8s ease-in-out infinite;
    border-radius:inherit;
  }
  .btn-shiny:hover::after { animation-duration: 1.6s; }
  @keyframes shineSweep {
    0%   { transform: translateX(-130%); }
    55%  { transform: translateX(130%); }
    100% { transform: translateX(130%); }
  }
  .click-icon { display:inline-flex; align-items:center; justify-content:center; width:22px; height:22px; flex-shrink:0; }
  /* Ticket group section bands */
  .ticket-group {
    border-radius: 24px;
    padding: 24px clamp(16px, 4vw, 56px);
    border: 1px solid #EAEAEA;
  }
  .ticket-group.is-ech { background:#FFF8EE; border-color:#F8DAB4; }
  .ticket-group.is-noech { background:#0F0F0F; color:#fff; border-color:#1F1F1F; }
  .ticket-group .group-title { font-size: clamp(28px, 3.8vw, 44px); line-height:0.98; font-weight:800; letter-spacing:-0.03em; }
  .ticket-group.is-noech .group-title { color:#fff; }
  .ticket-group.is-ech .group-eye { color:#E5631C; }
  .ticket-group.is-noech .group-eye { color:#F28C28; }
  /* Different bg for business cards */
  .business-card-ech { background: linear-gradient(160deg, #FFFAF1 0%, #FFFFFF 70%); }
  .business-card-noech { background: linear-gradient(160deg, #FFE9D2 0%, #FFFFFF 70%); border-color:#F28C28; }
  /* Program speaker chip with hover-reveal */
  .prog-speaker {
    position:relative; display:inline-flex; align-items:center; gap:10px;
    padding:6px 14px 6px 6px; border-radius:9999px;
    background:#fff; border:1px solid #EAEAEA;
    transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease, background-color .2s ease;
    cursor:pointer;
  }
  .prog-speaker .av {
    width:36px; height:36px; border-radius:9999px; overflow:hidden; background:#EAEAEA; flex-shrink:0;
    transition: transform .25s ease;
  }
  .prog-speaker .av img { width:100%; height:100%; object-fit:cover; display:block; }
  .prog-speaker .nm { font-size:13px; font-weight:600; letter-spacing:0.02em; }
  .prog-speaker:hover { border-color:#F28C28; box-shadow:0 12px 28px -18px rgba(229,99,28,0.55); transform:translateY(-2px); background:#FFF8EF; }
  .prog-speaker:hover .av { transform:scale(1.08); }
  /* Popover card on hover */
  .prog-pop {
    position:absolute; top:calc(100% + 12px); left:0; z-index:30;
    width:300px; max-width: calc(100vw - 32px); padding:18px;
    background:#fff; border:1px solid #EAEAEA; border-radius:16px;
    box-shadow: 0 22px 50px -22px rgba(0,0,0,0.25);
    opacity:0; pointer-events:none; transform:translateY(-6px);
    transition: opacity .2s ease, transform .2s ease;
  }
  @media (max-width: 640px) {
    .prog-pop { display:none !important; }
  }
  .prog-speaker:hover .prog-pop,
  .prog-speaker:focus-within .prog-pop { opacity:1; pointer-events:auto; transform:none; }
  .prog-pop h5 { font-size:15px; font-weight:700; letter-spacing:-0.01em; }
  .prog-pop .role { font-size:12px; color:#6B6B6B; margin-top:2px; }
  .prog-pop .bio { font-size:13px; line-height:1.5; color:#0F0F0F; margin-top:10px; }
  /* Panelist stack with hover spread */
  .panel-stack { display:inline-flex; }
  .panel-stack .av { width:36px; height:36px; border-radius:9999px; overflow:hidden; background:#EAEAEA; border:2px solid #FAFAF7; margin-left:-12px; transition:transform .25s ease, margin .25s ease; }
  .panel-stack .av:first-child { margin-left:0; }
  .panel-stack .av img { width:100%; height:100%; object-fit:cover; display:block; }
  .panel-stack:hover .av { margin-left:-4px; }
  .panel-stack:hover .av:first-child { margin-left:0; }
  /* Generic hover-lift utility */
  .hover-lift { transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease; }
  .hover-lift:hover { transform: translateY(-4px); box-shadow: 0 22px 40px -28px rgba(0,0,0,0.18); }
  /* Value card hover bg shift */
  .value-card { transition: transform .3s ease, box-shadow .3s ease, background-color .3s ease, border-color .3s ease; }
  .value-card:hover { background:#FFF4EA; border-color:#F8DAB4; transform:translateY(-3px); box-shadow:0 22px 50px -28px rgba(229,99,28,0.18); }
  .value-card .veye { transition:letter-spacing .3s ease; }
  .value-card:hover .veye { letter-spacing:0.28em; }
  /* Sponsor logos */
  .logo-slot { transition: transform .25s ease, border-color .25s ease, box-shadow .25s ease; }
  .logo-slot img { transition: transform .3s ease; }
  .logo-slot:hover { border-color:#F28C28; box-shadow:0 12px 24px -20px rgba(0,0,0,0.25); transform:translateY(-2px); }
  .logo-slot:hover img { transform:scale(1.04); }
  /* CTA buttons: subtle scale on tap */
  .btn { will-change:transform; }
  .btn:active { transform:translateY(0) scale(0.98); }

  /* ===== Grain texture overlay ===== */
  .grain::before {
    content:""; position:fixed; inset:0; pointer-events:none; z-index:60; opacity:0.07; mix-blend-mode:multiply;
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='200' height='200'><filter id='n'><feTurbulence baseFrequency='0.9' numOctaves='2'/><feColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>");
  }

  /* ===== Dark mode ===== */
  body[data-theme="dark"] { background:#0B0B0B; color:#F2F2EE; }
  body[data-theme="dark"] .bg-paper { background:#0B0B0B !important; }
  body[data-theme="dark"] .bg-cream, body[data-theme="dark"] .bg-warm { background:#141414 !important; }
  body[data-theme="dark"] .border-rule, body[data-theme="dark"] [class*="border-rule"] { border-color:#262626 !important; }
  body[data-theme="dark"] .text-ink { color:#F2F2EE !important; }
  /* Ink-alapú (near-black) szövegek átfordítása sötét módban — az áttetsző (/NN) változatok
     külön compilált osztályok, ezért egyenként kell felülírni, megőrizve az eredeti hierarchiát. */
  body[data-theme="dark"] .text-ink\/85 { color:rgba(242,242,238,0.85) !important; }
  body[data-theme="dark"] .text-ink\/80 { color:rgba(242,242,238,0.80) !important; }
  body[data-theme="dark"] .text-ink\/75 { color:rgba(242,242,238,0.75) !important; }
  body[data-theme="dark"] .text-ink\/70 { color:rgba(242,242,238,0.70) !important; }
  body[data-theme="dark"] .text-ink\/55 { color:rgba(242,242,238,0.60) !important; }
  body[data-theme="dark"] .link-arrow { color:#F2F2EE; }
  body[data-theme="dark"] .head-ech { background:rgba(242,140,40,0.16); color:#F28C28; }
  body[data-theme="dark"] .text-mute { color:#9A9A95 !important; }
  body[data-theme="dark"] .bg-white { background:#161616 !important; }
  body[data-theme="dark"] .hdr.scrolled { background:rgba(11,11,11,0.85) !important; border-bottom-color:#262626 !important; }
  body[data-theme="dark"] .hdr.scrolled .logo-dark { display:none; }
  body[data-theme="dark"] .hdr.scrolled .logo-light { display:block; }
  body[data-theme="dark"] .hdr.scrolled .nav-link { color:#F2F2EE !important; }
  body[data-theme="dark"] .hdr.scrolled .nav-link.muted { color:#9A9A95 !important; }
  body[data-theme="dark"] .hdr.scrolled #menuBtn { border-color:#262626; color:#F2F2EE; }
  body[data-theme="dark"] .ticket { background:#161616 !important; border-color:#262626 !important; }
  body[data-theme="dark"] .ticket-group.is-ech { background:#1A140B !important; border-color:#3A2A14 !important; }
  body[data-theme="dark"] .business-card-ech { background:linear-gradient(160deg, #1F1810 0%, #161616 70%) !important; }
  body[data-theme="dark"] .business-card-noech { background:linear-gradient(160deg, #2A1B0D 0%, #161616 70%) !important; border-color:#F28C28 !important; }
  body[data-theme="dark"] .pay-chip { background:#161616; border-color:#262626; color:#F2F2EE; }
  body[data-theme="dark"] .pill-outline { background:#161616; border-color:#262626; color:#F2F2EE; }
  body[data-theme="dark"] .head-noech { background:rgba(242,242,238,0.08); color:#F2F2EE; }
  body[data-theme="dark"] .placeholder-img { background:#1A1A1A; }
  body[data-theme="dark"] .logo-slot { background:#fff; }
  body[data-theme="dark"] .btn-secondary { color:#F2F2EE; border-color:#F2F2EE; }
  body[data-theme="dark"] .btn-secondary:hover { background:#F2F2EE; color:#0B0B0B; }
  body[data-theme="dark"] .prog-speaker { background:#161616; border-color:#262626; }
  body[data-theme="dark"] .prog-speaker .nm { color:#F2F2EE; }
  body[data-theme="dark"] .prog-speaker:hover { background:#1F1810; }
  body[data-theme="dark"] .prog-pop { background:#161616; border-color:#262626; color:#F2F2EE; }
  body[data-theme="dark"] .prog-pop .bio { color:#F2F2EE; }
  body[data-theme="dark"] .value-card:hover { background:#1F1810 !important; border-color:#3A2A14 !important; }
  body[data-theme="dark"] .tab-btn[aria-selected="true"] { color:#F2F2EE; }
  /* Theme toggle button */
  .theme-toggle { position:fixed; right:18px; top:18px; z-index:55; width:44px; height:44px; border-radius:9999px; background:rgba(255,255,255,0.06); backdrop-filter:blur(10px); border:1px solid rgba(255,255,255,0.18); display:inline-flex; align-items:center; justify-content:center; color:#fff; transition:all .25s ease; }
  .theme-toggle:hover { transform:scale(1.08); background:rgba(255,255,255,0.16); }
  @media (max-width: 1023px) {
    .theme-toggle { display:none !important; }
  }
  .hdr.scrolled ~ * .theme-toggle, body:not([data-theme="dark"]) .hdr.scrolled ~ * .theme-toggle { /* placeholder */ }
  body:not([data-theme="dark"]) .theme-toggle { background:rgba(15,15,15,0.06); border-color:rgba(15,15,15,0.14); color:#0F0F0F; }
  /* When scrolled past hero, switch toggle color visibility */
  body.scrolled-past .theme-toggle { background:rgba(15,15,15,0.06); border-color:rgba(15,15,15,0.14); color:#0F0F0F; }
  body[data-theme="dark"].scrolled-past .theme-toggle { background:rgba(255,255,255,0.06); border-color:rgba(255,255,255,0.18); color:#F2F2EE; }

  /* ===== Trust strip ===== */
  /* (removed by user request) */

  /* ===== Speaker card overlay ===== */
  .speaker-card { position:relative; overflow:hidden; }
  .speaker-photo { position:relative; }
  .speaker-overlay {
    position:absolute; inset:0; padding:14px;
    background: linear-gradient(180deg, rgba(15,15,15,0) 30%, rgba(15,15,15,0.95) 100%);
    display:flex; flex-direction:column; justify-content:flex-end;
    opacity:0; transition:opacity .35s ease; color:#fff;
  }
  .speaker-card:hover .speaker-overlay { opacity:1; }
  .speaker-overlay .obio { font-size:13px; line-height:1.5; transform:translateY(8px); transition:transform .35s ease; }
  .speaker-card:hover .speaker-overlay .obio { transform:none; }
  .speaker-socials { display:flex; gap:8px; margin-top:14px; }
  .speaker-socials a {
    width:34px; height:34px; border-radius:9999px; background:rgba(255,255,255,0.12); border:1px solid rgba(255,255,255,0.18);
    display:inline-flex; align-items:center; justify-content:center; color:#fff;
    transition:background-color .2s ease, transform .2s ease;
  }
  .speaker-socials a:hover { background:#F28C28; transform:translateY(-2px); }
  /* Filter pills */
  .filter-bar { display:flex; flex-wrap:wrap; gap:6px; overflow-x:auto; -webkit-overflow-scrolling:touch; padding-bottom:4px; }
  @media (max-width: 640px) {
    .filter-bar { flex-wrap:nowrap; }
    .filter-pill { flex-shrink:0; padding:7px 12px; font-size:11px; }
  }
  .filter-pill {
    display:inline-flex; align-items:center; gap:6px;
    padding:8px 14px; border-radius:9999px; border:1px solid #EAEAEA; background:#fff;
    font-size:12px; font-weight:600; letter-spacing:0.06em; text-transform:uppercase;
    color:#0F0F0F; transition:all .2s ease; cursor:pointer;
  }
  .filter-pill:hover { border-color:#F28C28; color:#E5631C; }
  .filter-pill[aria-pressed="true"] { background:#0F0F0F; color:#fff; border-color:#0F0F0F; }
  body[data-theme="dark"] .filter-pill { background:#161616; border-color:#262626; color:#F2F2EE; }
  body[data-theme="dark"] .filter-pill[aria-pressed="true"] { background:#F28C28; color:#0B0B0B; border-color:#F28C28; }
  .speaker-hidden { display:none !important; }

  /* ===== Aftermovie lightbox / Forum animated visual ===== */
  .play-poster { position:relative; cursor:pointer; transition: transform .3s ease; }
  .play-poster:hover { transform: scale(1.005); }
  .play-poster .play-bubble { position:absolute; inset:0; display:flex; align-items:center; justify-content:center; pointer-events:none; }
  .play-poster .play-bubble span {
    width:96px; height:96px; border-radius:9999px; background:rgba(255,255,255,0.92);
    display:inline-flex; align-items:center; justify-content:center; color:#E5631C;
    box-shadow: 0 18px 40px -16px rgba(0,0,0,0.4);
    transition: transform .3s ease, background-color .3s ease;
  }
  .play-poster:hover .play-bubble span { transform:scale(1.08); background:#fff; }
  .play-poster .play-bubble::before {
    content:""; position:absolute; width:96px; height:96px; border-radius:9999px;
    border:2px solid rgba(255,255,255,0.4); animation: pulseRing 2.2s ease-out infinite;
  }
  @keyframes pulseRing {
    0%   { transform:scale(1); opacity:0.6; }
    100% { transform:scale(1.8); opacity:0; }
  }
  /* Lightbox modal */
  .lightbox { position:fixed; inset:0; z-index:80; background:rgba(0,0,0,0.92); display:none; align-items:center; justify-content:center; padding:24px; }
  .lightbox.open { display:flex; }
  .lightbox .lb-inner { width:min(1280px, 100%); aspect-ratio:16/9; position:relative; }
  .lightbox iframe { width:100%; height:100%; border:0; border-radius:14px; }
  .lightbox .lb-close { position:absolute; top:-44px; right:0; width:36px; height:36px; border-radius:9999px; background:rgba(255,255,255,0.12); color:#fff; display:inline-flex; align-items:center; justify-content:center; cursor:pointer; border:1px solid rgba(255,255,255,0.22); }
  .lightbox .lb-close:hover { background:#F28C28; border-color:#F28C28; }

  /* ===== Forum animated visual ===== */
  .forum-vis {
    position:relative; width:88px; height:88px; display:inline-flex; align-items:center; justify-content:center;
  }
  .forum-vis .core { width:18px; height:18px; border-radius:9999px; background:#F28C28; box-shadow:0 0 0 6px rgba(242,140,40,0.18); }
  .forum-vis .ring { position:absolute; inset:0; border:1.5px solid #F28C28; border-radius:9999px; opacity:0.5; }
  .forum-vis .ring.r1 { animation: forumRing 2.8s ease-out infinite; }
  .forum-vis .ring.r2 { animation: forumRing 2.8s ease-out infinite 0.9s; }
  .forum-vis .ring.r3 { animation: forumRing 2.8s ease-out infinite 1.8s; }
  @keyframes forumRing {
    0%   { transform:scale(0.5); opacity:0.6; }
    100% { transform:scale(1.4); opacity:0; }
  }

  /* ===== Marquee for exhibitor logos ===== */
  .marquee { overflow:hidden; mask-image: linear-gradient(90deg, transparent 0%, #000 8%, #000 92%, transparent 100%); }
  .marquee-track { display:flex; gap:32px; width:max-content; animation: marqueeScroll var(--mq-dur, 50s) linear infinite; }
  .marquee:hover .marquee-track { animation-play-state:paused; }
  .marquee-track .logo-tile {
    width:170px; height:84px; border:1px solid #EAEAEA; border-radius:14px; background:#fff;
    display:flex; align-items:center; justify-content:center; padding:14px; flex-shrink:0;
    transition:border-color .25s ease, transform .25s ease;
  }
  .marquee-track .logo-tile img { max-width:100%; max-height:100%; object-fit:contain; }
  .marquee-track .logo-tile:hover { border-color:#F28C28; transform:translateY(-2px); }
  .marquee-track.rev { animation-direction: reverse; }
  @keyframes marqueeScroll {
    from { transform:translateX(0); }
    to   { transform:translateX(calc(-50% - 16px)); }
  }

  /* ===== AI Q&A bubble ===== */
  .ai-bubble { position:fixed; right:14px; bottom:128px; z-index:55; width:56px; height:56px; border-radius:9999px;
    background:linear-gradient(135deg, #F28C28, #E5631C); color:#fff;
    display:inline-flex; align-items:center; justify-content:center;
    box-shadow:0 18px 40px -12px rgba(229,99,28,0.55);
    cursor:pointer; transition:transform .25s ease, box-shadow .25s ease;
    border:none;
  }
  .ai-bubble:hover { transform:scale(1.08); }
  .ai-bubble::after {
    content:""; position:absolute; inset:-6px; border-radius:9999px; border:2px solid rgba(242,140,40,0.4);
    animation: aiPulse 2.4s ease-out infinite;
  }
  @keyframes aiPulse {
    0% { transform:scale(0.9); opacity:0.8; }
    100% { transform:scale(1.3); opacity:0; }
  }
  @media (max-width: 640px) {
    .ai-bubble, .ai-panel { display:none !important; }
  }
  .ai-panel { position:fixed; right:14px; bottom:200px; z-index:55; width:min(380px, calc(100vw - 36px)); max-height:min(560px, 70vh);
    background:#fff; border:1px solid #EAEAEA; border-radius:18px; box-shadow:0 32px 60px -24px rgba(0,0,0,0.35);
    display:none; flex-direction:column; overflow:hidden;
  }
  .ai-panel.open { display:flex; }
  body[data-theme="dark"] .ai-panel { background:#161616; border-color:#262626; color:#F2F2EE; }
  .ai-panel header { display:flex; align-items:center; justify-content:space-between; padding:14px 16px; border-bottom:1px solid #EAEAEA; }
  body[data-theme="dark"] .ai-panel header { border-bottom-color:#262626; }
  .ai-panel header .title { font-size:13px; font-weight:700; letter-spacing:0.04em; text-transform:uppercase; }
  .ai-panel header .sub { font-size:11px; color:#6B6B6B; }
  .ai-panel .messages { flex:1; overflow-y:auto; padding:14px 16px; display:flex; flex-direction:column; gap:10px; }
  .ai-panel .msg { font-size:14px; line-height:1.5; padding:10px 14px; border-radius:14px; max-width:90%; }
  .ai-panel .msg.bot { background:#F7F6F2; align-self:flex-start; border:1px solid #EAEAEA; }
  body[data-theme="dark"] .ai-panel .msg.bot { background:#1F1F1F; border-color:#262626; color:#F2F2EE; }
  .ai-panel .msg.you { background:#0F0F0F; color:#fff; align-self:flex-end; }
  .ai-panel form { padding:12px; border-top:1px solid #EAEAEA; display:flex; gap:8px; }
  body[data-theme="dark"] .ai-panel form { border-top-color:#262626; }
  .ai-panel input { flex:1; padding:10px 14px; border-radius:9999px; border:1px solid #EAEAEA; background:#fff; font-size:14px; outline:none; }
  .ai-panel input:focus { border-color:#F28C28; }
  body[data-theme="dark"] .ai-panel input { background:#1F1F1F; border-color:#262626; color:#F2F2EE; }
  .ai-panel button[type="submit"] { width:40px; height:40px; border-radius:9999px; background:#F28C28; color:#fff; border:0; cursor:pointer; display:inline-flex; align-items:center; justify-content:center; }
  .ai-panel button[type="submit"]:hover { background:#E5631C; }
  .ai-typing { display:inline-flex; gap:4px; }
  .ai-typing span { width:6px; height:6px; border-radius:9999px; background:#9A9A95; animation:typing 1.2s ease-in-out infinite; }
  .ai-typing span:nth-child(2){animation-delay:.2s;} .ai-typing span:nth-child(3){animation-delay:.4s;}
  @keyframes typing {
    0%, 80%, 100% { transform:translateY(0); opacity:0.4; }
    40% { transform:translateY(-4px); opacity:1; }
  }

  /* ===== Live tickets-sold strip ===== */
  .tickets-sold-row { display:flex; align-items:center; gap:6px; color:#F28C28; font-family:'JetBrains Mono', monospace; font-size:10px; letter-spacing:0.22em; text-transform:uppercase; }
  .tickets-sold-row .pulse-dot { width:7px; height:7px; border-radius:9999px; background:#F28C28; box-shadow:0 0 0 0 rgba(242,140,40,0.7); animation: livePulse 1.6s ease-out infinite; }
  @keyframes livePulse {
    0% { box-shadow:0 0 0 0 rgba(242,140,40,0.7); }
    100% { box-shadow:0 0 0 10px rgba(242,140,40,0); }
  }
  /* Hero pt — leave room for logo on small screens */
  /* (handled by inline classes now) */
  /* Theme toggle smaller on mobile */
  @media (max-width: 640px) {
    .theme-toggle { width:36px; height:36px; right:12px; top:14px; }
    .theme-toggle svg { width:16px; height:16px; }
  }

  /* ===== Pulse-ring decorations (reusable) ===== */
  .pulse-ring {
    position:relative; display:inline-flex; align-items:center; justify-content:center;
  }
  .pulse-ring::before, .pulse-ring::after {
    content:""; position:absolute; inset:0; border-radius:9999px;
    border:1.5px solid currentColor; opacity:0; pointer-events:none;
  }
  .pulse-ring::before { animation: pulseGrow 2.4s ease-out infinite; }
  .pulse-ring::after  { animation: pulseGrow 2.4s ease-out infinite 1.2s; }
  @keyframes pulseGrow {
    0% { transform:scale(0.75); opacity:0.55; }
    100% { transform:scale(1.7); opacity:0; }
  }
  /* Eyebrow dot pulse */
  .eyebrow .dot, .eyebrow-w .dot {
    position:relative;
  }
  .eyebrow .dot::after, .eyebrow-w .dot::after {
    content:""; position:absolute; inset:-3px; border-radius:9999px;
    background:currentColor; opacity:0.35;
    animation: pulseDot 2.2s ease-out infinite;
  }
  @keyframes pulseDot {
    0% { transform:scale(0.6); opacity:0.55; }
    100% { transform:scale(2.2); opacity:0; }
  }
  /* Outline number with pulse — used in Spaces section */
  .ringnum {
    position:relative; display:inline-flex; align-items:center; justify-content:center;
    width:72px; height:72px; border-radius:9999px;
    border:1.5px solid #F28C28; color:#F28C28;
    font-family:'JetBrains Mono', monospace; font-weight:600; font-size:24px;
    background:transparent;
  }
  .ringnum::before, .ringnum::after {
    content:""; position:absolute; inset:0; border-radius:9999px;
    border:1.5px solid #F28C28; opacity:0;
    animation: pulseGrow 2.6s ease-out infinite;
  }
  .ringnum::after { animation-delay:1.3s; }
  body[data-theme="dark"] .ringnum { color:#F28C28; }
  /* Hero meta line animated underline */
  .meta-line { position:relative; }
  .meta-line::after {
    content:""; position:absolute; left:0; bottom:-2px;
    height:1px; width:0; background:rgba(242,140,40,0.7);
    animation: metaSlide 6s ease-in-out infinite;
  }
  .meta-line:nth-child(2)::after { animation-delay: 0.4s; }
  .meta-line:nth-child(3)::after { animation-delay: 0.8s; }
  @keyframes metaSlide {
    0%, 35% { width:0; left:0; }
    50%     { width:64px; left:0; }
    85%     { width:0; left:64px; }
    100%    { width:0; left:64px; }
  }
  /* Arrow nudge on link-arrow */
  .link-arrow svg { transition: transform .35s cubic-bezier(.2,.7,.2,1); }
  .link-arrow:not(:hover) svg { animation: arrowDrift 3.6s ease-in-out infinite; }
  @keyframes arrowDrift {
    0%, 70%, 100% { transform:translateX(0); }
    80% { transform:translateX(4px); }
  }
  /* Avatar ring pulse on speaker card hover */
  .speaker-card:hover .speaker-photo::after {
    content:""; position:absolute; inset:8px; border:2px solid #F28C28; border-radius:14px;
    animation: cardGlow 1.8s ease-out infinite;
    pointer-events:none;
  }
  @keyframes cardGlow {
    0%   { opacity:0.7; transform:scale(0.99); }
    100% { opacity:0; transform:scale(1.02); }
  }
  /* Selection */
  ::selection { background:#F28C28; color:#fff; }
  /* Narancs gradiens szövegkiemelés (RÓLUNK MONDTÁK) */
  .ek-orange-grad { background:linear-gradient(90deg,#F5A623 0%,#E5631C 100%); -webkit-background-clip:text; background-clip:text; color:transparent; }
  .ek-testimonials { background:radial-gradient(ellipse 80% 60% at 50% 0%, #1a1a1a 0%, #0F0F0F 60%); }
  /* Program time column — stack on mobile */
  .prog-time { line-height: 1.15; text-align:left; }
  .prog-time .dash { display:inline; }
  @media (max-width: 640px) {
    .prog-time { font-size:12px !important; }
    .prog-time .dash { display:block; color:#9A9A95; font-weight:400; margin:1px 0; font-size:11px; }
  }