@font-face {
  font-family: "Inter";
  font-style: normal;
  font-weight: 400 800;
  font-display: swap;
  src: url("../assets/fonts/inter-cyrillic.woff2") format("woff2");
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}

@font-face {
  font-family: "Inter";
  font-style: normal;
  font-weight: 400 800;
  font-display: swap;
  src: url("../assets/fonts/inter-latin.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC,
    U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215,
    U+FEFF, U+FFFD;
}

@font-face {
  font-family: "Cormorant Garamond";
  font-style: normal;
  font-weight: 500 700;
  font-display: swap;
  src: url("../assets/fonts/cormorant-garamond-cyrillic.woff2") format("woff2");
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}

@font-face {
  font-family: "Cormorant Garamond";
  font-style: normal;
  font-weight: 500 700;
  font-display: swap;
  src: url("../assets/fonts/cormorant-garamond-latin.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC,
    U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215,
    U+FEFF, U+FFFD;
}

:root {
        --bg: #070707;
        --card: rgba(255, 255, 255, 0.05);
        --line: rgba(255, 255, 255, 0.12);
        --text: #f5efe8;
        --muted: rgba(245, 239, 232, 0.7);
        --muted-strong: rgba(245, 239, 232, 0.88);
        --red: #d41919;
        --gold: #ddb57a;
        --shadow: 0 24px 90px rgba(0, 0, 0, 0.45);
        --radius-xl: 40px;
        --radius-lg: 28px;
        --container: min(1220px, calc(100vw - 40px));
        --section-space: clamp(84px, 11vw, 160px);
      }

      * { box-sizing: border-box; }
      html {
        scroll-behavior: smooth;
        overflow-x: hidden;
      }
      body {
        margin: 0;
        color: var(--text);
        font-family: "Inter", sans-serif;
        background:
          radial-gradient(circle at 8% 0%, rgba(212, 25, 25, 0.24), transparent 28%),
          radial-gradient(circle at 82% 4%, rgba(221, 181, 122, 0.1), transparent 18%),
          linear-gradient(180deg, #090909 0%, #050505 100%);
        image-orientation: from-image;
        overflow-x: clip;
        overflow-y: visible;
      }

      @keyframes vip-card-glow {
        0%, 100% {
          opacity: 0.36;
          transform: translateY(5px) scale(0.982);
        }
        50% {
          opacity: 0.58;
          transform: translateY(1px) scale(1);
        }
      }

      @keyframes mobile-hero-drift {
        0%, 100% {
          transform: translate3d(0, 0, 0);
        }
        50% {
          transform: translate3d(-8px, 6px, 0);
        }
      }
      @keyframes ticket-cta-pulse {
        0%, 72%, 100% {
          box-shadow:
            0 0 0 1px rgba(255, 245, 245, 0.06),
            0 10px 24px rgba(196, 20, 20, 0.18),
            0 0 0 rgba(240, 52, 52, 0);
        }
        82% {
          box-shadow:
            0 0 0 1px rgba(255, 245, 245, 0.08),
            0 14px 30px rgba(196, 20, 20, 0.24),
            0 0 24px rgba(240, 52, 52, 0.18);
        }
        90% {
          box-shadow:
            0 0 0 1px rgba(255, 245, 245, 0.1),
            0 18px 34px rgba(196, 20, 20, 0.3),
            0 0 42px rgba(240, 52, 52, 0.26);
        }
      }
      @keyframes ticket-cta-pulse-strong {
        0%, 68%, 100% {
          box-shadow:
            0 0 0 1px rgba(255, 240, 240, 0.08),
            0 12px 28px rgba(212, 25, 25, 0.24),
            0 0 0 rgba(255, 70, 70, 0);
        }
        80% {
          box-shadow:
            0 0 0 1px rgba(255, 240, 240, 0.11),
            0 16px 34px rgba(212, 25, 25, 0.3),
            0 0 30px rgba(255, 70, 70, 0.22);
        }
        90% {
          box-shadow:
            0 0 0 1px rgba(255, 240, 240, 0.14),
            0 20px 40px rgba(212, 25, 25, 0.34),
            0 0 52px rgba(255, 70, 70, 0.34);
        }
      }
      @keyframes ticket-cta-metal-flow {
        0% {
          background-position: 0% 50%;
        }
        50% {
          background-position: 100% 50%;
        }
        100% {
          background-position: 0% 50%;
        }
      }
      img { display: block; max-width: 100%; }
      a { color: inherit; text-decoration: none; }
      button { font: inherit; }
      .page {
        position: relative;
        overflow-x: clip;
      }
      .section, footer, .nav__inner { width: var(--container); margin: 0 auto; }
      .section, .hero { scroll-margin-top: 112px; }

      .nav {
        position: sticky;
        top: 0;
        z-index: 40;
        backdrop-filter: blur(22px);
        background: rgba(7, 7, 7, 0.72);
        border-bottom: 1px solid rgba(255, 255, 255, 0.07);
        transition: background 0.3s ease, border-color 0.3s ease, box-shadow 0.3s ease;
      }

      .nav__inner {
        display: grid;
        grid-template-columns: 150px 1fr 150px;
        align-items: center;
        gap: 24px;
        min-height: 78px;
        padding: 12px 0;
      }

      .brand {
        display: inline-flex;
        align-items: center;
        gap: 0;
        justify-self: start;
      }
      .brand__logo-stack {
        width: clamp(118px, 9vw, 146px);
        flex: 0 0 auto;
        line-height: 0;
      }
      .brand__logo {
        display: block;
        width: 100%;
        height: auto;
      }
      .eyebrow,
      .section__label,
      .hero__kicker,
      .metric__label,
      .timeline__day,
      .ticket__tag {
        font-size: 0.78rem;
        letter-spacing: 0.16em;
        text-transform: uppercase;
      }

      .nav__links { color: var(--muted); font-size: 0.9rem; }
      .nav__links {
        display: flex;
        align-items: center;
        justify-content: center;
        flex-wrap: wrap;
        gap: 16px;
        justify-self: center;
      }
      .nav__links a { position: relative; transition: color 0.25s ease; }
      .nav__links a::after {
        content: "";
        position: absolute;
        left: 0;
        bottom: -8px;
        width: 100%;
        height: 2px;
        border-radius: 999px;
        background: linear-gradient(90deg, transparent, rgba(212, 25, 25, 0.92), transparent);
        transform: scaleX(0);
        box-shadow: 0 0 14px rgba(212, 25, 25, 0.42);
        transition: transform 0.25s ease, opacity 0.25s ease;
        opacity: 0.72;
      }
      @media (hover: hover) and (pointer: fine) {
        .nav__links a:hover { color: rgba(245, 239, 232, 0.92); }
        .nav__links a:hover::after { transform: scaleX(1); }
      }
      .nav__links a.is-active {
        color: #fff4f4;
        text-shadow: 0 0 14px rgba(212, 25, 25, 0.28);
      }
      .nav__links a.is-active::after {
        transform: scaleX(1);
        opacity: 1;
      }

      h1, h2, h3, h4 {
        margin: 0;
        font-family: "Cormorant Garamond", serif;
        line-height: 0.96;
      }

      .hero {
        width: 100%;
        margin: 0;
        display: grid;
        grid-template-columns: 1fr;
        gap: 0;
        align-items: center;
        min-height: calc(100vh - 78px);
        padding: 56px 0 34px;
        position: relative;
        isolation: isolate;
        overflow: hidden;
      }

      .eyebrow {
        display: inline-flex;
        align-items: center;
        gap: 12px;
        padding: 12px 18px;
        border-radius: 999px;
        border: 1px solid rgba(255, 255, 255, 0.12);
        background: rgba(255, 255, 255, 0.03);
        color: var(--muted);
      }

      .countdown {
        display: grid;
        grid-template-columns: repeat(4, minmax(0, 92px));
        gap: 12px;
        margin-bottom: 18px;
      }

      .hero__topbar {
        display: block;
      }

      .countdown__item {
        padding: 14px 12px;
        border-radius: 22px;
        border: 1px solid rgba(255, 255, 255, 0.08);
        background: linear-gradient(180deg, rgba(255, 255, 255, 0.06), rgba(255, 255, 255, 0.02));
        box-shadow: 0 14px 30px rgba(0, 0, 0, 0.18);
        text-align: center;
      }

      .countdown__item strong {
        display: block;
        font-size: clamp(1.4rem, 2.5vw, 2rem);
        line-height: 1;
        font-weight: 800;
        color: var(--text);
      }

      .countdown__item span {
        display: block;
        margin-top: 8px;
        color: var(--gold);
        font-size: 0.72rem;
        letter-spacing: 0.16em;
        text-transform: uppercase;
      }

      h1 {
        margin-top: 28px;
        font-size: clamp(4.2rem, 9vw, 8.8rem);
        text-transform: uppercase;
        max-width: 8.8ch;
      }

      .hero__copy {
        position: relative;
        z-index: 2;
        max-width: 760px;
        margin-left: max(20px, calc((100vw - 1220px) / 2));
        padding-inline-end: 28px;
      }
      .hero__lede,
      .section__text,
      .speaker-panel__copy p,
      .speaker-card__body p,
      .timeline p,
      .ticket p,
      .partner-card p,
      .location-card p,
      .faq-answer p,
      .footer-panel p {
        color: var(--muted);
        line-height: 1.9;
      }

      .hero__lede {
        max-width: 660px;
        margin: 28px 0 0;
        font-size: clamp(1.06rem, 2vw, 1.24rem);
      }

      .hero__kicker { margin-top: 18px; color: var(--gold); }
      .hero__promise {
        max-width: 620px;
        margin: 18px 0 0;
        color: var(--muted-strong);
        line-height: 1.8;
        font-size: 1rem;
      }
      .hero__actions {
        display: flex;
        flex-wrap: wrap;
        gap: 14px;
        margin-top: 34px;
        padding-inline-start: 10px;
      }

      .button {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        min-height: 56px;
        padding: 0 24px;
        border: 0;
        border-radius: 999px;
        cursor: pointer;
        font-weight: 700;
        transition: transform 0.25s ease, box-shadow 0.25s ease, background 0.25s ease;
      }

      .button:hover { transform: translateY(-2px); }
      .button--primary {
        color: #fff;
        background: linear-gradient(135deg, #f03434 0%, #8d1018 100%);
        box-shadow: 0 8px 18px rgba(212, 25, 25, 0.16);
      }

      .button--ghost {
        color: var(--text);
        background: rgba(255, 255, 255, 0.04);
        border: 1px solid rgba(255, 255, 255, 0.14);
      }

      .metrics,
      .speaker-grid,
      .timeline-wrap,
      .tickets,
      .partner-grid {
        display: grid;
        gap: 18px;
      }

      .partner-grid.interviewer-grid {
        grid-template-columns: minmax(0, 1fr);
      }

      .partner-grid.partner-grid--duo {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        align-items: stretch;
      }

      .partner-grid--duo .partner-card {
        display: grid;
        grid-template-rows: 124px auto;
        align-content: center;
        gap: 24px;
        justify-items: center;
        min-height: 320px;
        height: 100%;
        text-align: center;
      }

      .partner-grid--duo .partner-card img {
        width: 100%;
        max-width: none;
        height: 124px;
        object-fit: contain;
        object-position: center;
      }

      .partner-grid--duo .partner-card h3,
      .partner-grid--duo .partner-card p {
        width: 100%;
      }

      .partner-grid--duo .partner-card h3 {
        margin-top: 0;
      }

      .interviewer-grid .partner-card {
        display: grid;
        grid-template-columns: minmax(220px, 280px) minmax(0, 1fr);
        align-items: stretch;
        column-gap: 40px;
        min-height: 400px;
        width: 100%;
        padding: 40px 46px;
      }

      .interviewer-grid .partner-card img {
        grid-area: auto;
        width: 100%;
        max-width: none;
        height: 100%;
        min-height: 320px;
        object-fit: cover;
        object-position: center top;
        justify-self: start;
        border-radius: 28px;
      }

      .interviewer-card__body {
        align-self: center;
        display: grid;
        gap: 18px;
        max-width: 680px;
      }

      .interviewer-grid .partner-card h3 {
        margin-top: 0;
      }

      .interviewer-grid .partner-card p {
        margin-top: 0;
      }

      .metrics { grid-template-columns: repeat(4, minmax(0, 1fr)); }
      .speaker-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
      .timeline-wrap { grid-template-columns: repeat(2, minmax(0, 1fr)); }
      .tickets {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 24px;
      }
      .partner-grid { grid-template-columns: 1.1fr 0.95fr 0.95fr; }

      .metric,
      .info-card,
      .speaker-panel,
      .speaker-card,
      .timeline,
      .ticket,
      .partner-card,
      .location-card,
      .faq-item,
      .footer-panel {
        background: linear-gradient(180deg, rgba(255, 255, 255, 0.07), rgba(255, 255, 255, 0.03));
        border: 1px solid var(--line);
        border-radius: var(--radius-lg);
        box-shadow: var(--shadow);
      }

      .metric, .info-card, .timeline, .ticket, .partner-card, .location-card {
        padding: 28px;
      }

      .metric strong {
        display: block;
        font-size: clamp(2.1rem, 4vw, 3.1rem);
        font-weight: 800;
      }

      .hero__visual,
      .location-visual {
        position: relative;
        overflow: hidden;
      }

      .hero__visual {
        position: absolute;
        top: 72px;
        right: -28px;
        bottom: 0;
        left: auto;
        width: min(38vw, 560px);
        min-height: auto;
        margin: 0;
        max-width: none;
        justify-self: auto;
        isolation: isolate;
        overflow: visible;
        border-radius: 0;
        border: 0;
        box-shadow: none;
        background: none;
        pointer-events: none;
        z-index: 1;
      }

      .location-visual {
        border-radius: var(--radius-xl);
        border: 1px solid rgba(255, 255, 255, 0.08);
        box-shadow: var(--shadow);
      }

      .hero__media,
      .hero__mobile-media {
        position: absolute;
        inset: 0;
        overflow: hidden;
        pointer-events: none;
      }

      .hero__media {
        inset: 0;
        -webkit-mask-image:
          linear-gradient(180deg, transparent 0%, rgba(255, 255, 255, 0.22) 8%, rgba(255, 255, 255, 0.86) 16%, rgba(255, 255, 255, 1) 24%, rgba(255, 255, 255, 1) 76%, rgba(255, 255, 255, 0.86) 84%, rgba(255, 255, 255, 0.22) 92%, transparent 100%),
          radial-gradient(ellipse 72% 78% at 79% 48%, rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 1) 34%, rgba(255, 255, 255, 0.95) 48%, rgba(255, 255, 255, 0.74) 60%, rgba(255, 255, 255, 0.42) 72%, rgba(255, 255, 255, 0.14) 86%, transparent 100%);
        mask-image:
          linear-gradient(180deg, transparent 0%, rgba(255, 255, 255, 0.22) 8%, rgba(255, 255, 255, 0.86) 16%, rgba(255, 255, 255, 1) 24%, rgba(255, 255, 255, 1) 76%, rgba(255, 255, 255, 0.86) 84%, rgba(255, 255, 255, 0.22) 92%, transparent 100%),
          radial-gradient(ellipse 72% 78% at 79% 48%, rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 1) 34%, rgba(255, 255, 255, 0.95) 48%, rgba(255, 255, 255, 0.74) 60%, rgba(255, 255, 255, 0.42) 72%, rgba(255, 255, 255, 0.14) 86%, transparent 100%);
        -webkit-mask-repeat: no-repeat;
        mask-repeat: no-repeat;
        -webkit-mask-size: 100% 100%;
        mask-size: 100% 100%;
        -webkit-mask-composite: source-in;
        mask-composite: intersect;
      }

      .hero__mobile-media { display: none; border-radius: calc(var(--radius-xl) - 4px); }

      .hero__video-poster,
      .hero__video {
        position: absolute;
        inset: 0;
        width: 100%;
        height: 100%;
      }

      .hero__visual .hero__video-poster,
      .hero__visual .hero__video {
        object-fit: contain;
        object-position: 62% top;
        mix-blend-mode: screen;
      }

      .hero__video-poster {
        z-index: 0;
        filter: brightness(0.84) saturate(1.02);
        transform: none;
        transform-origin: center top;
        transition: none;
      }

      .hero__video {
        z-index: 1;
        opacity: 0;
        transform: none;
        transform-origin: center top;
        transition: none;
      }

      .hero__mobile-media .hero__video-poster,
      .hero__mobile-media .hero__video {
        object-fit: cover;
        object-position: center top;
      }

      .hero__mobile-media .hero__video-poster,
      .hero__mobile-media .hero__video {
        transform: none;
      }

      .hero__video-shell.is-ready .hero__video-poster {
        opacity: 0;
      }

      .hero__video-shell.is-ready .hero__video {
        opacity: 0.92;
      }

      .location-visual img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        filter: brightness(0.84) saturate(0.92);
        transform: scale(1.015);
      }

      .location-visual::after {
        content: "";
        position: absolute;
        inset: 0;
        background:
          radial-gradient(circle at center, transparent 42%, rgba(0, 0, 0, 0.16) 66%, rgba(0, 0, 0, 0.42) 100%),
          linear-gradient(180deg, rgba(0, 0, 0, 0.16), rgba(0, 0, 0, 0.78)),
          linear-gradient(120deg, rgba(212, 25, 25, 0.14), transparent 48%);
      }

      .location-visual__copy {
        position: absolute;
        inset: auto 28px 28px 28px;
        z-index: 2;
      }

      .speaker-panel__copy h3,
      .location-visual__copy h3 {
        font-size: clamp(2.8rem, 5vw, 4.4rem);
      }

      .section { padding: var(--section-space) 0 0; }
      .section__head,
      .about-grid,
      .speaker-stage,
      .location-grid,
      .footer-panel {
        display: grid;
        gap: 22px;
      }
      .section__head { grid-template-columns: minmax(0, 0.88fr) minmax(0, 1.12fr); align-items: end; margin-bottom: 40px; }
      #tickets .section__head { grid-template-columns: minmax(0, 1.14fr) minmax(0, 0.86fr); }
      .section__head--balanced { grid-template-columns: minmax(0, 0.76fr) minmax(0, 1.24fr); }
      .section__head--balanced .section__title { font-size: clamp(2.8rem, 5vw, 4.7rem); max-width: 7ch; }
      .section__head--balanced .section__text { max-width: 42rem; }
      .about-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); margin-top: 28px; }
      .speaker-stage { grid-template-columns: minmax(0, 0.82fr) minmax(0, 1.18fr); }
      .location-grid { grid-template-columns: minmax(0, 0.92fr) minmax(0, 1.08fr); }
      .footer-panel { grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr); padding: 34px; position: relative; overflow: hidden; }
      .section--location {
        position: relative;
        overflow: hidden;
      }
      .section--location .section__head,
      .section--location .location-grid {
        position: relative;
        z-index: 1;
      }
      .location-ambient-title {
        position: absolute;
        left: min(2vw, 24px);
        right: min(2vw, 24px);
        top: 126px;
        font-family: "Cormorant Garamond", serif;
        font-size: clamp(4.6rem, 10vw, 8.4rem);
        line-height: 0.9;
        letter-spacing: -0.02em;
        color: rgba(245, 239, 232, 0.05);
        pointer-events: none;
        user-select: none;
        text-wrap: balance;
        z-index: 0;
      }

      .section__label { color: var(--gold); }
      .section__title {
        margin-top: 14px;
        font-size: clamp(3.2rem, 6vw, 5.5rem);
        text-shadow: 0 10px 34px rgba(0, 0, 0, 0.28), 0 0 42px rgba(212, 25, 25, 0.08);
      }
      .reveal {
        --reveal-delay: 0ms;
        opacity: 0;
        transform: translateY(32px);
        transition:
          opacity 0.8s ease var(--reveal-delay),
          transform 0.8s ease var(--reveal-delay);
      }
      .reveal.is-visible { opacity: 1; transform: translateY(0); }

      .metric__label { margin-top: 8px; color: var(--gold); }
      .metric p { margin: 16px 0 0; }

      .info-card { position: relative; overflow: hidden; }
      .info-card h3,
      .speaker-card__body h3,
      .timeline h3,
      .partner-card h3,
      .location-card h3,
      .faq-button h3 {
        font-size: 2.05rem;
      }

      .bullet-list {
        margin: 18px 0 0;
        padding: 0;
        list-style: none;
        display: grid;
        gap: 12px;
      }

      .bullet-list li {
        position: relative;
        padding-left: 20px;
        color: var(--muted-strong);
        line-height: 1.75;
      }

      .bullet-list li::before {
        content: "";
        position: absolute;
        left: 0;
        top: 0.85em;
        width: 8px;
        height: 8px;
        border-radius: 50%;
        background: linear-gradient(135deg, var(--gold), var(--red));
      }

      .speaker-panel {
        position: sticky;
        top: 116px;
        align-self: start;
        overflow: hidden;
      }

      .speaker-panel__copy,
      .speaker-card__body,
      .faq-answer__inner {
        padding: 28px;
      }
      .speaker-panel__copy {
        display: grid;
        align-content: start;
        gap: 14px;
      }
      .speaker-panel__summary {
        margin: 0;
        color: var(--text-soft);
      }
      .speaker-panel__name-row,
      .speaker-card__name-row {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 14px;
      }
      .speaker-panel__name-row h3,
      .speaker-card__name-row h3 {
        margin: 0;
      }
      .social-link {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 24px;
        height: 24px;
        transition: filter 0.22s ease, opacity 0.22s ease, transform 0.22s ease;
      }
      .social-link:hover {
        transform: translateY(-1px);
        filter: drop-shadow(0 0 12px rgba(212, 25, 25, 0.14));
        opacity: 0.98;
      }
      .social-link img {
        width: 20px;
        height: 20px;
      }
      .speaker-panel__social,
      .speaker-card__social {
        flex: 0 0 auto;
      }

      .speaker-panel__eyebrow {
        color: var(--gold);
        font-size: 0.78rem;
        letter-spacing: 0.14em;
        text-transform: uppercase;
      }
      .speaker-panel__outcomes {
        display: grid;
        gap: 12px;
      }
      .speaker-panel__list {
        margin-top: 0;
      }

      .speaker-panel__copy > * {
        transition: opacity 0.22s ease, transform 0.3s ease;
        will-change: opacity, transform;
      }

      .speaker-panel.is-transitioning .speaker-panel__copy > * {
        opacity: 0;
        transform: translateY(8px);
      }

      .speaker-panel__topic,
      .speaker-card__topic {
        margin-top: 18px;
        padding-top: 16px;
        border-top: 1px solid rgba(255, 255, 255, 0.08);
      }

      .speaker-card__summary {
        margin-top: 10px;
      }
      .speaker-card__body {
        position: relative;
      }
      .speaker-card__body h3 {
        flex: 1 1 auto;
        min-width: 0;
      }
      .speaker-card__toggle {
        display: none;
      }
      .speaker-card__details {
        display: none;
      }

      .speaker-card { overflow: hidden; cursor: pointer; transition: transform 0.28s ease, border-color 0.28s ease; }
      .speaker-card:hover, .speaker-card.is-active { transform: translateY(-6px); border-color: rgba(221, 181, 122, 0.44); }
      .speaker-card__media { position: relative; aspect-ratio: 0.88; overflow: hidden; }
      .speaker-card__media img { width: 100%; height: 100%; object-fit: cover; object-position: center 16%; transition: transform 0.6s ease; }
      .speaker-card--katya .speaker-card__media img { object-position: center 8%; }
      .speaker-card--open .speaker-card__media {
        display: grid;
        place-items: center;
        background:
          radial-gradient(circle at 50% 38%, rgba(212, 25, 25, 0.18), transparent 30%),
          linear-gradient(180deg, rgba(255, 255, 255, 0.04), rgba(255, 255, 255, 0.02));
      }
      .speaker-card--open .speaker-card__media img {
        width: min(52%, 180px);
        height: auto;
        object-fit: contain;
        object-position: center;
      }
      .speaker-card--application {
        cursor: default;
      }
      .speaker-card--application .speaker-card__body {
        display: grid;
        gap: 12px;
      }
      .speaker-card__cta {
        margin-top: 10px;
        width: fit-content;
      }
      .speaker-card--application:hover,
      .speaker-card--application.is-active {
        transform: none;
        border-color: var(--line);
      }
      .speaker-card--application:hover .speaker-card__media img,
      .speaker-card--application.is-active .speaker-card__media img {
        transform: none;
      }
      .speaker-card:hover .speaker-card__media img, .speaker-card.is-active .speaker-card__media img { transform: scale(1.05); }
      .speaker-card__media::after {
        content: "";
        position: absolute;
        inset: auto 0 0 0;
        height: 44%;
        background: linear-gradient(180deg, transparent, rgba(0, 0, 0, 0.88));
      }

      .speaker-card__role,
      .timeline__day,
      .ticket__tag { color: var(--gold); }
      .timeline { position: relative; overflow: hidden; padding-left: 64px; }
      .timeline::before {
        content: "";
        position: absolute;
        top: 0;
        left: 28px;
        width: 2px;
        height: 100%;
        background: linear-gradient(180deg, rgba(221,181,122,0.6), rgba(212,25,25,0));
      }

      .timeline h3, .partner-card h3, .location-card h3 { margin-top: 16px; }
      .ticket {
        position: relative;
        overflow: visible;
        isolation: isolate;
        cursor: default;
        display: flex;
        flex-direction: column;
        box-shadow: none;
        transition: box-shadow 0.22s cubic-bezier(0.16, 1, 0.3, 1);
      }
      .ticket:hover,
      .ticket:focus-visible {
        box-shadow: var(--shadow);
      }
      .ticket::before {
        content: "";
        position: absolute;
        inset: -18px;
        border-radius: calc(var(--radius-lg) + 18px);
        background:
          radial-gradient(circle at 50% 48%, rgba(255, 247, 247, 0.2) 0%, rgba(255, 214, 214, 0.16) 14%, rgba(255, 96, 96, 0.28) 32%, rgba(212, 25, 25, 0.18) 50%, transparent 74%);
        opacity: 0;
        pointer-events: none;
        z-index: -1;
        transform: scale(0.975);
        transition:
          opacity 0.18s cubic-bezier(0.16, 1, 0.3, 1),
          transform 0.24s cubic-bezier(0.16, 1, 0.3, 1);
      }
      .ticket:focus-visible {
        outline: none;
      }
      .ticket::after {
        content: "";
        position: absolute;
        inset: -2px;
        border-radius: calc(var(--radius-lg) + 2px);
        pointer-events: none;
        z-index: -2;
        transition:
          box-shadow 0.22s cubic-bezier(0.16, 1, 0.3, 1),
          opacity 0.16s cubic-bezier(0.16, 1, 0.3, 1);
        opacity: 0;
      }
      .ticket:hover::after,
      .ticket:focus-visible::after {
        opacity: 1;
        box-shadow:
          0 0 0 1px rgba(255, 196, 196, 0.14),
          0 0 18px rgba(255, 232, 232, 0.14),
          0 0 42px rgba(255, 58, 58, 0.28),
          0 18px 38px rgba(212, 25, 25, 0.14);
      }
      .ticket--vip {
        background:
          radial-gradient(circle at 50% -6%, rgba(255, 243, 220, 0.12), transparent 30%),
          radial-gradient(circle at 78% 14%, rgba(212, 25, 25, 0.12), transparent 34%),
          linear-gradient(180deg, rgba(255,255,255,0.11), rgba(255,255,255,0.04));
        border-color: rgba(221, 181, 122, 0.22);
        box-shadow: none;
      }
      .ticket--vip::after {
        opacity: 0;
        box-shadow: none;
        animation: none;
      }
      .ticket--vip::before {
        opacity: 0;
        background:
          radial-gradient(circle at 50% 46%, rgba(255, 244, 224, 0.14) 0%, rgba(255, 102, 102, 0.18) 24%, rgba(212, 25, 25, 0.14) 44%, transparent 72%);
        animation: none;
      }
      .ticket--vip:hover::before,
      .ticket--vip:focus-visible::before {
        opacity: 0.54;
        transform: scale(0.985);
        animation: vip-card-glow 3.4s ease-in-out infinite;
      }
      .ticket--vip .ticket__tag {
        background: rgba(221, 181, 122, 0.08);
        border-color: rgba(221, 181, 122, 0.2);
        color: #f5dfbb;
      }
      .ticket--elite {
        transform: translateY(-8px);
        background:
          radial-gradient(circle at 50% -12%, rgba(255, 221, 233, 0.2), transparent 32%),
          radial-gradient(circle at 78% 14%, rgba(255, 96, 96, 0.18), transparent 34%),
          radial-gradient(circle at 18% 18%, rgba(255, 207, 153, 0.14), transparent 28%),
          linear-gradient(180deg, rgba(255, 255, 255, 0.14), rgba(255, 255, 255, 0.045));
        border-color: rgba(255, 188, 207, 0.32);
        box-shadow: none;
      }
      .ticket--elite::after {
        opacity: 0;
        box-shadow: none;
      }
      .ticket--elite::before {
        opacity: 0;
        background:
          radial-gradient(circle at 50% 42%, rgba(255, 224, 234, 0.24) 0%, rgba(255, 152, 152, 0.22) 24%, rgba(212, 25, 25, 0.18) 46%, transparent 74%);
        animation: none;
      }
      .ticket--elite:hover::before,
      .ticket--elite:focus-visible::before {
        opacity: 0.72;
        transform: scale(1);
        animation: vip-card-glow 2.8s ease-in-out infinite;
      }
      .ticket--elite .ticket__tag {
        background: rgba(255, 188, 207, 0.12);
        border-color: rgba(255, 188, 207, 0.28);
        color: #ffe1ea;
        box-shadow: 0 0 22px rgba(255, 146, 182, 0.12);
      }
      .ticket__tag {
        display: inline-flex;
        padding: 8px 12px;
        border-radius: 999px;
        background: rgba(255,255,255,0.06);
        border: 1px solid rgba(255,255,255,0.12);
      }
      .ticket__pricing {
        display: grid;
        gap: 10px;
        margin-top: 18px;
      }
      .ticket__price-meta {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        gap: 10px 12px;
        min-height: 28px;
      }
      .ticket__price-original {
        color: rgba(245, 239, 232, 0.68);
        display: block;
        width: fit-content;
        font-size: clamp(2rem, 3.8vw, 3rem);
        font-weight: 800;
        line-height: 1;
        text-decoration: line-through;
        text-decoration-thickness: 4px;
        text-decoration-color: rgba(240, 52, 52, 0.82);
        text-shadow: 0 0 24px rgba(240, 52, 52, 0.16);
      }
      .ticket__price-save {
        display: inline-flex;
        align-items: center;
        padding: 8px 14px;
        border-radius: 999px;
        background: rgba(240, 52, 52, 0.18);
        border: 1px solid rgba(240, 52, 52, 0.26);
        color: #ffe0e0;
        font-size: 0.84rem;
        font-weight: 700;
        letter-spacing: 0.1em;
        text-transform: uppercase;
        box-shadow: 0 0 24px rgba(240, 52, 52, 0.12);
      }
      .ticket__price-save.is-final {
        background: rgba(221, 181, 122, 0.12);
        border-color: rgba(221, 181, 122, 0.2);
        color: #f2dfbe;
      }
      .ticket__price {
        font-size: clamp(3rem, 6vw, 5rem);
        font-weight: 800;
        line-height: 1;
        color: var(--text);
      }
      .ticket--elite .ticket__price {
        color: #fff0f5;
        text-shadow:
          0 0 20px rgba(255, 178, 202, 0.12),
          0 0 36px rgba(212, 25, 25, 0.08);
      }
      .ticket--elite .ticket__price-save {
        background: rgba(255, 188, 207, 0.16);
        border-color: rgba(255, 188, 207, 0.28);
        color: #ffe5ee;
        box-shadow: 0 0 26px rgba(255, 139, 177, 0.12);
      }
      .ticket--elite .ticket__caption {
        color: #ffd4df;
      }
      .ticket__caption { margin-top: 8px; color: var(--gold); font-size: 0.92rem; letter-spacing: 0.12em; text-transform: uppercase; }
      .ticket .bullet-list {
        flex: 0 0 auto;
      }
      .ticket__cta {
        margin-top: auto;
        align-self: flex-end;
        position: relative;
        isolation: isolate;
        overflow: hidden;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 10px;
        min-width: 168px;
        padding: 13px 20px;
        border-radius: 999px;
        background:
          linear-gradient(115deg, #731313 0%, #9b1b1b 18%, #d49863 34%, #aa2121 50%, #7e1212 68%, #cf9257 84%, #771313 100%);
        background-size: 220% 220%;
        border: 1px solid rgba(245, 214, 169, 0.26);
        color: #fff4ea;
        cursor: pointer;
        font-size: 0.98rem;
        font-weight: 800;
        letter-spacing: 0.1em;
        text-transform: uppercase;
        text-shadow: 0 1px 0 rgba(91, 10, 10, 0.28);
        box-shadow:
          0 0 0 1px rgba(255, 233, 196, 0.05),
          0 0 20px rgba(233, 186, 119, 0.08);
        animation: ticket-cta-metal-flow 6.2s ease-in-out infinite;
        transition:
          transform 0.22s cubic-bezier(0.16, 1, 0.3, 1),
          box-shadow 0.22s cubic-bezier(0.16, 1, 0.3, 1),
          background-position 0.32s cubic-bezier(0.16, 1, 0.3, 1),
          border-color 0.22s cubic-bezier(0.16, 1, 0.3, 1),
          text-shadow 0.22s cubic-bezier(0.16, 1, 0.3, 1);
      }
      .ticket__cta::before {
        content: "";
        position: absolute;
        inset: 1px;
        border-radius: inherit;
        background:
          linear-gradient(180deg, rgba(255, 245, 225, 0.22), rgba(255, 255, 255, 0.02) 42%, rgba(103, 13, 13, 0.08) 100%);
        opacity: 0.82;
        pointer-events: none;
        z-index: 0;
      }
      .ticket__cta::after {
        content: "";
        position: absolute;
        inset: -16%;
        border-radius: inherit;
        background:
          radial-gradient(circle at 50% 50%, rgba(255, 223, 173, 0.24) 0%, rgba(232, 175, 103, 0.16) 30%, rgba(191, 48, 48, 0.12) 52%, transparent 74%);
        opacity: 0.42;
        filter: blur(14px);
        transform: scale(0.94);
        pointer-events: none;
        z-index: -1;
        transition:
          opacity 0.24s cubic-bezier(0.16, 1, 0.3, 1),
          transform 0.24s cubic-bezier(0.16, 1, 0.3, 1);
      }
      .ticket__cta:hover,
      .ticket__cta:focus-visible {
        transform: none;
        border-color: rgba(245, 221, 182, 0.42);
        background-position: 100% 50%;
        text-shadow: 0 1px 0 rgba(91, 10, 10, 0.26);
        box-shadow:
          0 0 0 1px rgba(255, 232, 197, 0.08),
          0 0 24px rgba(236, 192, 126, 0.16),
          0 0 44px rgba(192, 56, 56, 0.12);
      }
      .ticket__cta:hover::after,
      .ticket__cta:focus-visible::after {
        opacity: 0.8;
        transform: scale(1.02);
      }
      .ticket--vip .ticket__cta {
        background:
          linear-gradient(115deg, #631111 0%, #aa1e1e 16%, #f0bc75 31%, #b51f1f 49%, #761212 67%, #dba25f 84%, #6e1010 100%);
        background-size: 220% 220%;
        border-color: rgba(245, 223, 187, 0.34);
        color: #fff6ef;
        animation-duration: 5.4s;
        box-shadow:
          0 0 0 1px rgba(255, 236, 205, 0.06),
          0 0 22px rgba(242, 199, 138, 0.1);
      }
      .ticket--vip .ticket__cta:hover,
      .ticket--vip .ticket__cta:focus-visible {
        transform: none;
        border-color: rgba(245, 223, 187, 0.44);
        background-position: 100% 50%;
        text-shadow: 0 1px 0 rgba(91, 10, 10, 0.22);
        box-shadow:
          0 0 0 1px rgba(255, 236, 205, 0.1),
          0 0 28px rgba(245, 206, 149, 0.2),
          0 0 50px rgba(200, 64, 64, 0.14);
      }
      .ticket--vip .ticket__cta:hover::after,
      .ticket--vip .ticket__cta:focus-visible::after {
        opacity: 0.92;
        transform: scale(1.03);
      }
      .ticket--elite .ticket__cta {
        background:
          linear-gradient(115deg, #6f101d 0%, #bf2b4e 18%, #ffd19f 33%, #df5f76 50%, #8e1829 67%, #ffd7b5 84%, #6f101d 100%);
        background-size: 240% 240%;
        border-color: rgba(255, 220, 230, 0.42);
        color: #fff7fa;
        animation-duration: 4.8s;
        box-shadow:
          0 0 0 1px rgba(255, 230, 237, 0.12),
          0 0 28px rgba(255, 169, 190, 0.16),
          0 0 46px rgba(212, 25, 25, 0.12);
      }
      .ticket--elite .ticket__cta:hover,
      .ticket--elite .ticket__cta:focus-visible {
        border-color: rgba(255, 229, 236, 0.56);
        background-position: 100% 50%;
        box-shadow:
          0 0 0 1px rgba(255, 235, 240, 0.16),
          0 0 34px rgba(255, 184, 204, 0.22),
          0 0 58px rgba(212, 25, 25, 0.18);
      }
      .ticket--elite .ticket__cta:hover::after,
      .ticket--elite .ticket__cta:focus-visible::after {
        opacity: 0.96;
        transform: scale(1.04);
      }
      @media (prefers-reduced-motion: reduce) {
        .ticket__cta {
          animation: none;
        }
      }
      .ticket-pricing {
        display: grid;
        gap: 14px;
        margin-top: 30px;
        padding: 22px 24px 18px;
        background:
          radial-gradient(circle at 12% 8%, rgba(212, 25, 25, 0.16), transparent 26%),
          radial-gradient(circle at 86% 12%, rgba(221, 181, 122, 0.12), transparent 22%),
          linear-gradient(180deg, rgba(255, 255, 255, 0.06), rgba(255, 255, 255, 0.03));
        border: 1px solid rgba(255, 255, 255, 0.08);
        border-radius: var(--radius-lg);
        box-shadow: var(--shadow);
      }
      .ticket-pricing__intro {
        display: grid;
        gap: 4px;
      }
      .ticket-pricing__eyebrow {
        color: var(--gold);
        font-size: 0.76rem;
        letter-spacing: 0.16em;
        text-transform: uppercase;
      }
      .ticket-pricing__countdown {
        display: flex;
        align-items: baseline;
        gap: 14px;
        padding: 0;
        border: 0;
        border-radius: 0;
        background: none;
        white-space: nowrap;
        overflow-x: auto;
        overflow-y: hidden;
        scrollbar-width: none;
      }
      .ticket-pricing__countdown::-webkit-scrollbar { display: none; }
      .ticket-pricing__countdown-copy {
        display: inline-flex;
        align-items: baseline;
        gap: 10px;
        flex: 0 0 auto;
      }
      .ticket-pricing__countdown-label {
        font-size: clamp(0.9rem, 1.2vw, 1rem);
        font-weight: 800;
        line-height: 1;
        letter-spacing: 0.16em;
        text-transform: uppercase;
        color: #ff8e8e;
      }
      .ticket-pricing__countdown-grid {
        display: inline-flex;
        align-items: baseline;
        gap: 10px;
        flex: 0 0 auto;
      }
      .ticket-pricing__countdown-item {
        display: inline-flex;
        align-items: baseline;
        gap: 4px;
      }
      .ticket-pricing__countdown-value {
        font-size: clamp(1.9rem, 3.5vw, 2.8rem);
        font-weight: 800;
        line-height: 1;
        letter-spacing: 0.02em;
        color: #ff5e5e;
        text-shadow:
          0 0 14px rgba(255, 72, 72, 0.24),
          0 0 30px rgba(212, 25, 25, 0.16);
        font-variant-numeric: tabular-nums;
      }
      .ticket-pricing__countdown-unit {
        color: rgba(255, 205, 170, 0.82);
        font-size: 0.82rem;
        font-weight: 700;
        line-height: 1;
        letter-spacing: 0.08em;
        text-transform: uppercase;
      }
      .ticket-pricing__countdown.is-final {
        gap: 10px;
      }
      .ticket-pricing__countdown.is-final .ticket-pricing__countdown-grid {
        display: none;
      }
      .ticket-pricing__legend {
        display: flex;
        flex-wrap: wrap;
        gap: 8px 12px;
      }
      .ticket-pricing__legend-item {
        display: inline-flex;
        align-items: center;
        gap: 8px;
        color: rgba(245, 239, 232, 0.82);
        font-size: 0.74rem;
        letter-spacing: 0.12em;
        text-transform: uppercase;
      }
      .ticket-pricing__legend-item::before {
        content: "";
        width: 32px;
        height: 3px;
        border-radius: 999px;
      }
      .ticket-pricing__legend-item--standard::before {
        background: linear-gradient(90deg, rgba(245, 239, 232, 0.36), rgba(245, 239, 232, 0.92));
      }
      .ticket-pricing__legend-item--vip::before {
        background: linear-gradient(90deg, rgba(221, 181, 122, 0.64), rgba(255, 228, 184, 1));
      }
      .ticket-pricing__legend-item--elite::before {
        background: linear-gradient(90deg, rgba(255, 121, 121, 0.7), rgba(255, 188, 207, 1));
      }
      .ticket-pricing__chart {
        position: relative;
        min-height: 280px;
        padding: 6px 10px 8px;
        border-radius: 22px;
        background:
          linear-gradient(180deg, rgba(255, 255, 255, 0.03), rgba(255, 255, 255, 0.015)),
          radial-gradient(circle at 18% 20%, rgba(240, 52, 52, 0.08), transparent 30%);
      }
      .ticket-pricing__chart canvas {
        display: block;
        width: 100%;
        height: 100%;
      }
      .partner-card {
        min-height: 320px;
        position: relative;
        overflow: visible;
        cursor: pointer;
        color: inherit;
        touch-action: manipulation;
        -webkit-tap-highlight-color: transparent;
        transition: box-shadow 0.14s ease;
      }
      .partner-card::after {
        content: "";
        position: absolute;
        inset: -2px;
        border-radius: calc(var(--radius-lg) + 2px);
        opacity: 0;
        pointer-events: none;
        box-shadow:
          0 0 24px rgba(255, 72, 72, 0.18),
          0 0 56px rgba(212, 25, 25, 0.22);
        transition: opacity 0.16s ease;
      }
      .partner-card:hover,
      .partner-card.is-pressed,
      .partner-card:active {
        box-shadow: var(--shadow);
      }
      .partner-card:hover::after,
      .partner-card.is-pressed::after,
      .partner-card:active::after {
        opacity: 1;
      }
      .partner-card img { max-width: 240px; margin-inline: auto; }

      .location-visual { min-height: 560px; }
      .location-map {
        margin-top: 24px;
        overflow: hidden;
        width: 100%;
        max-width: none;
        min-height: 380px;
        aspect-ratio: 1.18 / 1;
        display: grid;
        place-items: stretch;
        border-radius: 24px;
        border: 1px solid rgba(255, 255, 255, 0.1);
        background: rgba(255, 255, 255, 0.03);
      }

      .location-map__placeholder {
        display: grid;
        align-content: center;
        gap: 18px;
        width: 100%;
        min-height: 100%;
        padding: 28px;
        background:
          linear-gradient(180deg, rgba(255, 255, 255, 0.06), rgba(255, 255, 255, 0.03)),
          radial-gradient(circle at top right, rgba(221, 181, 122, 0.18), transparent 42%);
      }

      .location-map__placeholder p {
        margin: 0;
        color: var(--muted-strong);
      }

      .location-map__actions {
        display: flex;
        flex-wrap: wrap;
        gap: 12px;
      }

      .location-map__load {
        cursor: pointer;
      }

      .location-map iframe {
        display: block;
        width: 100%;
        height: 100%;
        border: 0;
        pointer-events: auto;
        background: #111;
      }
      .location-map__canvas,
      .location-map .leaflet-container {
        width: 100%;
        height: 100%;
        min-height: 380px;
        background: #111;
      }
      .location-map .leaflet-control-zoom a {
        color: #151515;
      }
      .location-map .leaflet-control-attribution {
        background: rgba(7, 7, 7, 0.72);
        color: rgba(245, 239, 232, 0.74);
      }
      .location-map .leaflet-control-attribution a {
        color: rgba(245, 239, 232, 0.9);
      }

      .location-card__actions {
        display: flex;
        flex-wrap: wrap;
        gap: 12px;
        margin-top: 22px;
      }

      .location-card__actions .button {
        min-height: 48px;
        padding-inline: 18px;
      }

      .faq-grid { display: grid; gap: 14px; }
      .faq-item { padding: 0; overflow: hidden; }
      .faq-button {
        width: 100%;
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 20px;
        padding: 24px 26px;
        color: var(--text);
        background: transparent;
        border: 0;
        cursor: pointer;
        text-align: left;
      }

      .faq-icon {
        width: 42px;
        height: 42px;
        flex: 0 0 auto;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        border-radius: 50%;
        background: rgba(255,255,255,0.05);
        border: 1px solid rgba(255,255,255,0.1);
        transition: transform 0.25s ease, background 0.25s ease;
      }

      .faq-item.is-open .faq-icon { transform: rotate(45deg); background: rgba(212,25,25,0.18); }
      .faq-answer { max-height: 0; overflow: hidden; transition: max-height 0.35s ease; }
      .faq-answer__inner { padding-top: 0; }

      footer { padding: var(--section-space) 0 56px; }
      .footer-panel h3 { font-size: 3rem; }
      .footer-links,
      .legal-links {
        display: flex;
        flex-wrap: wrap;
        gap: 12px 16px;
        margin-top: 20px;
      }

      .footer-links a,
      .legal-links a,
      .back-link {
        display: inline-flex;
        align-items: center;
        min-height: 42px;
        padding: 0 16px;
        border-radius: 999px;
        border: 1px solid rgba(255, 255, 255, 0.12);
        background: rgba(255, 255, 255, 0.03);
        color: var(--muted-strong);
        transition: transform 0.25s ease, border-color 0.25s ease, background 0.25s ease;
      }

      .footer-links a:hover,
      .legal-links a:hover,
      .back-link:hover {
        transform: translateY(-2px);
        border-color: rgba(221, 181, 122, 0.36);
        background: rgba(255, 255, 255, 0.05);
      }

      .page--legal .nav__inner {
        align-items: center;
      }

      .subpage-hero,
      .site-footer {
        width: var(--container);
        margin: 0 auto;
      }

      .subpage-hero {
        display: grid;
        grid-template-columns: minmax(0, 1.1fr) minmax(280px, 0.9fr);
        gap: 30px;
        align-items: stretch;
        padding: 64px 0 24px;
      }

      .subpage-hero__card,
      .legal-card,
      .legal-banner,
      .error-card {
        background: linear-gradient(180deg, rgba(255, 255, 255, 0.08), rgba(255, 255, 255, 0.03));
        border: 1px solid var(--line);
        border-radius: var(--radius-lg);
        box-shadow: var(--shadow);
      }

      .subpage-hero__card,
      .legal-card,
      .legal-banner,
      .error-card {
        padding: 32px;
      }

      .subpage-hero__card {
        display: grid;
        align-content: center;
      }

      .subpage-hero__card h1,
      .error-card h1 {
        margin-top: 16px;
        font-size: clamp(3.3rem, 7vw, 6rem);
        text-transform: none;
        max-width: 10ch;
      }

      .subpage-hero__card p,
      .legal-card p,
      .legal-card li,
      .legal-banner p,
      .error-card p {
        color: var(--muted);
        line-height: 1.9;
      }

      .subpage-hero__visual {
        position: relative;
        min-height: 360px;
        overflow: hidden;
        border-radius: var(--radius-xl);
        border: 1px solid rgba(255, 255, 255, 0.08);
        background:
          radial-gradient(circle at 50% 40%, rgba(212, 25, 25, 0.24), transparent 24%),
          radial-gradient(circle at 50% 58%, rgba(255, 255, 255, 0.05), transparent 40%),
          linear-gradient(180deg, rgba(255, 255, 255, 0.04), rgba(255, 255, 255, 0.02));
        box-shadow: var(--shadow);
      }

      .subpage-hero__visual img {
        position: absolute;
        right: 6%;
        bottom: 0;
        width: min(62%, 270px);
        object-fit: contain;
        filter:
          drop-shadow(0 24px 54px rgba(0, 0, 0, 0.55))
          drop-shadow(0 0 60px rgba(212, 25, 25, 0.16));
      }

      .subpage-hero__visual::before {
        content: "";
        position: absolute;
        inset: 12% 18%;
        border-radius: 50%;
        border: 1px solid rgba(255, 255, 255, 0.08);
      }

      .subpage-hero__visual::after {
        content: "dreamwomen.project";
        position: absolute;
        left: 28px;
        bottom: 28px;
        padding: 10px 16px;
        border-radius: 999px;
        border: 1px solid rgba(255, 255, 255, 0.12);
        background: rgba(12, 12, 12, 0.58);
        color: var(--muted-strong);
        font-size: 0.72rem;
        letter-spacing: 0.16em;
        text-transform: uppercase;
      }

      .legal-shell {
        width: var(--container);
        margin: 0 auto;
        padding: 8px 0 0;
      }

      .legal-banner {
        margin-bottom: 20px;
      }

      .legal-grid {
        display: grid;
        grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
        gap: 18px;
      }

      .legal-stack {
        display: grid;
        gap: 18px;
      }

      .legal-card h2 {
        margin-top: 10px;
        font-size: clamp(2rem, 4vw, 3rem);
      }

      .legal-card h3 {
        margin: 24px 0 10px;
        font-size: 1.4rem;
      }

      .legal-card h3:first-of-type {
        margin-top: 18px;
      }

      .legal-list,
      .legal-inline-list {
        margin: 18px 0 0;
        padding-left: 20px;
        color: var(--muted-strong);
      }

      .legal-inline-list li + li,
      .legal-list li + li {
        margin-top: 10px;
      }

      .legal-note {
        margin-top: 16px;
        padding: 16px 18px;
        border-radius: 22px;
        border: 1px solid rgba(221, 181, 122, 0.18);
        background: rgba(255, 255, 255, 0.03);
      }

      .legal-note strong {
        color: var(--text);
      }

      .site-footer {
        padding: 24px 0 56px;
      }

      .site-footer__panel {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 20px;
        padding: 22px 28px;
        border-radius: var(--radius-lg);
        border: 1px solid var(--line);
        background: linear-gradient(180deg, rgba(255, 255, 255, 0.06), rgba(255, 255, 255, 0.03));
        box-shadow: var(--shadow);
      }

      .site-footer__panel p {
        margin: 0;
        color: var(--muted);
        line-height: 1.8;
      }

      .error-shell {
        width: var(--container);
        min-height: calc(100vh - 96px);
        display: grid;
        place-items: center;
        margin: 0 auto;
        padding: 40px 0 72px;
      }

      .error-card {
        max-width: 760px;
        text-align: center;
      }

      @media (max-width: 1360px) {
        .section__head,
        .section__head--balanced {
          grid-template-columns: 1fr;
          align-items: start;
          gap: 16px;
        }

        .section__title,
        .section__head--balanced .section__title {
          max-width: 12ch;
        }

        .section__text,
        .section__head--balanced .section__text {
          max-width: 52rem;
        }
      }

      @media (min-width: 1680px) {
        .nav__inner {
          min-height: 70px;
          padding: 10px 0;
        }

        .brand__logo-stack {
          width: clamp(110px, 7vw, 132px);
        }

        .nav__links {
          gap: 14px;
          font-size: 0.86rem;
        }
      }

      @media (max-width: 1120px) {
        .hero, .section__head, .about-grid, .speaker-stage, .location-grid, .footer-panel, .subpage-hero, .legal-grid { grid-template-columns: 1fr; }
        .location-ambient-title {
          top: 138px;
          left: 0;
          right: 0;
          font-size: clamp(3.2rem, 11vw, 5.6rem);
        }
        .hero {
          min-height: auto;
          padding-top: 58px;
          padding-bottom: 28px;
        }
        .hero::before {
          left: -4vw;
          right: -4vw;
          bottom: -110px;
          height: 290px;
          background:
            radial-gradient(ellipse at 70% 8%, rgba(212, 25, 25, 0.16), transparent 48%),
            linear-gradient(180deg, rgba(9, 9, 9, 0) 0%, rgba(7, 7, 7, 0.58) 44%, rgba(5, 5, 5, 0.92) 76%, #050505 100%);
        }
        .hero__mobile-media {
          display: block;
          position: relative;
          inset: auto;
          width: min(33vw, 132px);
          min-width: 108px;
          aspect-ratio: 0.62 / 1;
          align-self: start;
          justify-self: end;
          z-index: 0;
          opacity: 0.54;
          -webkit-mask-image:
            linear-gradient(180deg, transparent 0%, rgba(255, 255, 255, 0.46) 10%, rgba(255, 255, 255, 0.96) 24%, rgba(255, 255, 255, 1) 56%, rgba(255, 255, 255, 0.62) 82%, transparent 100%),
            radial-gradient(ellipse 82% 84% at 56% 20%, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.18) 18%, rgba(255, 255, 255, 0.76) 40%, rgba(255, 255, 255, 1) 56%, rgba(255, 255, 255, 0.54) 76%, rgba(255, 255, 255, 0.12) 90%, transparent 100%);
          mask-image:
            linear-gradient(180deg, transparent 0%, rgba(255, 255, 255, 0.46) 10%, rgba(255, 255, 255, 0.96) 24%, rgba(255, 255, 255, 1) 56%, rgba(255, 255, 255, 0.62) 82%, transparent 100%),
            radial-gradient(ellipse 82% 84% at 56% 20%, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.18) 18%, rgba(255, 255, 255, 0.76) 40%, rgba(255, 255, 255, 1) 56%, rgba(255, 255, 255, 0.54) 76%, rgba(255, 255, 255, 0.12) 90%, transparent 100%);
          -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
          -webkit-mask-size: 100% 100%;
          mask-size: 100% 100%;
          -webkit-mask-composite: source-in;
          mask-composite: intersect;
        }
        .hero__mobile-media.hero__video-shell::after {
          background:
            radial-gradient(ellipse at 50% 22%, rgba(7, 7, 7, 0.18) 0%, rgba(7, 7, 7, 0.06) 38%, rgba(7, 7, 7, 0.02) 62%, transparent 100%),
            linear-gradient(180deg, rgba(7, 7, 7, 0.02) 0%, rgba(7, 7, 7, 0.16) 100%);
        }
        .hero__copy { max-width: none; padding-inline-end: 0; }
        .hero__visual { display: none; }
        .speaker-panel { display: none; }
        .metrics, .partner-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
        .timeline-wrap, .tickets { grid-template-columns: 1fr; }
        .ticket--elite { transform: none; }
        .subpage-hero__visual { min-height: 300px; }
        .speaker-card__body {
          display: grid;
          gap: 0;
          padding: 24px 24px 74px;
        }
        .speaker-card__details {
          display: grid;
          gap: 14px;
          overflow: hidden;
          transition: max-height 0.36s ease, opacity 0.24s ease;
        }
        .speaker-card__details--pre {
          max-height: 0;
          opacity: 0;
          margin-top: 0;
        }
        .speaker-card.is-open .speaker-card__details--pre {
          margin-top: 14px;
        }
        .speaker-card__details--post {
          position: relative;
          max-height: 78px;
          opacity: 1;
          margin-top: 14px;
        }
        .speaker-card__details--post::after {
          content: "";
          position: absolute;
          left: 0;
          right: 0;
          bottom: 0;
          height: 64px;
          background: linear-gradient(180deg, rgba(7, 7, 7, 0), rgba(7, 7, 7, 0.88) 58%, rgba(7, 7, 7, 1) 100%);
          pointer-events: none;
        }
        .speaker-card.is-open .speaker-card__details--pre,
        .speaker-card.is-open .speaker-card__details--post {
          max-height: 1200px;
          opacity: 1;
        }
        .speaker-card.is-open .speaker-card__details--post::after {
          display: none;
        }
        .speaker-card__toggle {
          display: inline-flex;
          align-items: center;
          justify-content: center;
          position: absolute;
          right: 28px;
          bottom: 18px;
          z-index: 2;
        }
        .speaker-card__toggle-text {
          display: none;
        }
        .speaker-card__toggle-icon {
          width: 34px;
          height: 34px;
          border-radius: 999px;
          border: 1px solid rgba(221, 181, 122, 0.32);
          background: rgba(255, 255, 255, 0.05);
          box-shadow: 0 8px 18px rgba(0, 0, 0, 0.26);
          position: relative;
          flex: 0 0 auto;
        }
        .speaker-card__toggle-icon::before {
          content: "";
          position: absolute;
          inset: 50% auto auto 50%;
          width: 8px;
          height: 8px;
          border-right: 2px solid var(--gold);
          border-bottom: 2px solid var(--gold);
          transform: translate(-50%, -64%) rotate(45deg);
          transition: transform 0.22s ease;
        }
        .speaker-card.is-open .speaker-card__toggle-icon::before {
          transform: translate(-50%, -32%) rotate(-135deg);
        }
        .speaker-card:not(.is-open) .speaker-card__summary {
          display: -webkit-box;
          -webkit-box-orient: vertical;
          -webkit-line-clamp: 3;
          overflow: hidden;
        }
        .speaker-card__name-row {
          align-items: flex-start;
          gap: 12px;
        }
        .speaker-card--application .speaker-card__body {
          padding: 24px;
        }
        .speaker-card.is-active,
        .speaker-card:hover {
          transform: none;
        }
      }

      @media (max-width: 760px) {
        :root { --container: min(100vw - 24px, 100%); --section-space: 72px; }
        .section, .hero { scroll-margin-top: 100px; }
        .nav__inner {
          display: grid;
          grid-template-columns: minmax(96px, auto) minmax(0, 1fr);
          align-items: center;
          gap: 10px;
          min-height: 70px;
          padding: 10px 0;
        }
        .brand__logo-stack { width: clamp(104px, 27vw, 138px); }
        .nav__links {
          width: auto;
          min-width: 0;
          justify-self: end;
          justify-content: flex-end;
          flex-wrap: wrap;
          gap: 6px;
          font-size: 0.68rem;
          line-height: 1.1;
          max-width: 244px;
        }
        .nav__links a { white-space: nowrap; }
        .metrics, .speaker-grid, .partner-grid { grid-template-columns: 1fr; }
        .interviewer-grid .partner-card {
          grid-template-columns: 1fr;
          min-height: 0;
          width: 100%;
          padding: 32px;
        }
        .interviewer-grid .partner-card img {
          width: 100%;
          max-width: none;
          height: 380px;
          object-fit: cover;
          object-position: center top;
          margin: 0 0 18px;
        }
        .interviewer-card__body {
          width: 100%;
          max-width: none;
          gap: 14px;
        }
        .hero__topbar {
          position: relative;
          display: block;
          min-height: 148px;
          padding-top: 0;
          margin-bottom: 10px;
        }
        .countdown {
          grid-template-columns: repeat(4, minmax(0, 1fr));
          max-width: calc(100% - 136px);
          gap: 5px;
          margin-bottom: 0;
          position: relative;
          z-index: 2;
          margin-right: auto;
        }
        .countdown__item {
          min-height: 54px;
          padding: 8px 6px;
          border-radius: 14px;
        }
        .countdown__item strong {
          font-size: clamp(1.02rem, 4.2vw, 1.28rem);
        }
        .countdown__item span {
          margin-top: 4px;
          font-size: 0.5rem;
          letter-spacing: 0.09em;
        }
        h1 {
          max-width: none;
          font-size: clamp(3.05rem, 14.8vw, 4.8rem);
          line-height: 0.94;
        }
        .hero__copy {
          margin-left: 12px;
          padding-inline-end: 22px;
        }
        .hero__lede { font-size: 1rem; line-height: 1.8; }
        .hero {
          padding-top: 122px;
          padding-bottom: 20px;
        }
        .hero::before {
          left: -2vw;
          right: -2vw;
          bottom: -96px;
          height: 260px;
          background:
            radial-gradient(ellipse at 72% 8%, rgba(212, 25, 25, 0.14), transparent 44%),
            linear-gradient(180deg, rgba(9, 9, 9, 0) 0%, rgba(7, 7, 7, 0.68) 42%, rgba(5, 5, 5, 0.96) 76%, #050505 100%);
        }
        .hero__mobile-media {
          position: absolute;
          top: -98px;
          right: -22px;
          width: min(52vw, 224px);
          min-width: 168px;
          max-width: 224px;
          height: min(58vh, 420px);
          opacity: 0.52;
          z-index: 1;
          overflow: visible;
          animation: none;
          -webkit-mask-image:
            linear-gradient(90deg, transparent 0%, rgba(255, 255, 255, 0.12) 10%, rgba(255, 255, 255, 0.64) 24%, rgba(255, 255, 255, 0.94) 38%, rgba(255, 255, 255, 1) 50%, rgba(255, 255, 255, 1) 100%),
            linear-gradient(180deg, rgba(255, 255, 255, 0.12) 0%, rgba(255, 255, 255, 0.38) 4%, rgba(255, 255, 255, 0.88) 10%, rgba(255, 255, 255, 1) 18%, rgba(255, 255, 255, 1) 72%, rgba(255, 255, 255, 0.74) 88%, transparent 100%),
            radial-gradient(ellipse 104% 94% at 82% 14%, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.16) 8%, rgba(255, 255, 255, 0.82) 24%, rgba(255, 255, 255, 1) 40%, rgba(255, 255, 255, 0.8) 72%, rgba(255, 255, 255, 0.24) 90%, transparent 100%);
          mask-image:
            linear-gradient(90deg, transparent 0%, rgba(255, 255, 255, 0.12) 10%, rgba(255, 255, 255, 0.64) 24%, rgba(255, 255, 255, 0.94) 38%, rgba(255, 255, 255, 1) 50%, rgba(255, 255, 255, 1) 100%),
            linear-gradient(180deg, rgba(255, 255, 255, 0.12) 0%, rgba(255, 255, 255, 0.38) 4%, rgba(255, 255, 255, 0.88) 10%, rgba(255, 255, 255, 1) 18%, rgba(255, 255, 255, 1) 72%, rgba(255, 255, 255, 0.74) 88%, transparent 100%),
            radial-gradient(ellipse 104% 94% at 82% 14%, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.16) 8%, rgba(255, 255, 255, 0.82) 24%, rgba(255, 255, 255, 1) 40%, rgba(255, 255, 255, 0.8) 72%, rgba(255, 255, 255, 0.24) 90%, transparent 100%);
        }
        .hero__mobile-media .hero__video-poster,
        .hero__mobile-media .hero__video {
          object-fit: contain;
          object-position: 72% top;
          mix-blend-mode: screen;
          filter: brightness(0.92) saturate(1.04);
        }
        .hero__mobile-media .hero__video {
          filter: brightness(0.96) saturate(1.06);
        }
        .hero__actions { padding-inline-start: 6px; }
        .speaker-card__body h3, .timeline h3, .faq-button h3, .partner-card h3, .location-card h3 { font-size: 1.8rem; }
        .section__head--balanced .section__title {
          max-width: none;
          font-size: clamp(2.3rem, 10.6vw, 3.3rem);
        }
        .ticket-pricing {
          margin-top: 20px;
          padding: 16px 14px 10px;
          gap: 10px;
        }
        .ticket__price-meta {
          gap: 8px 10px;
        }
        .ticket__price-original {
          font-size: clamp(1.6rem, 6.8vw, 2.2rem);
        }
        .ticket__cta {
          min-width: 152px;
          padding: 13px 18px;
          font-size: 0.92rem;
        }
        .ticket-pricing__countdown {
          gap: 8px;
        }
        .ticket-pricing__countdown-copy { gap: 8px; }
        .ticket-pricing__countdown-grid {
          gap: 6px;
        }
        .ticket-pricing__countdown-item {
          gap: 2px;
        }
        .ticket-pricing__countdown-label {
          font-size: 0.7rem;
          letter-spacing: 0.12em;
        }
        .ticket-pricing__countdown-value {
          font-size: 1.3rem;
        }
        .ticket-pricing__countdown-unit {
          font-size: 0.62rem;
        }
        .ticket-pricing__chart {
          min-height: 356px;
          padding: 10px 14px 14px;
        }
        .location-map {
          width: 100%;
          max-width: none;
          min-height: 260px;
          aspect-ratio: 1.08 / 1;
        }
        .location-map__placeholder {
          padding: 20px;
          gap: 14px;
        }
        .location-map__actions {
          flex-direction: column;
        }
        .location-map__actions .button {
          width: 100%;
        }
        .location-map__canvas,
        .location-map .leaflet-container {
          min-height: 260px;
        }
        .timeline { padding-left: 56px; }
        .footer-panel { padding: 26px; }
        .speaker-card__body { padding: 24px 24px 74px; }
        .speaker-card--application .speaker-card__body { padding: 24px; }
        .speaker-card__details,
        .speaker-card.is-open .speaker-card__details {
          padding-inline: 24px;
        }
        .partner-card img { margin-inline: auto; }
        .subpage-hero__card, .legal-card, .legal-banner, .error-card { padding: 24px; }
        .subpage-hero { padding-top: 44px; }
        .subpage-hero__visual { min-height: 240px; }
        .subpage-hero__visual img { width: min(54%, 190px); right: 8%; }
        .site-footer__panel { flex-direction: column; align-items: flex-start; padding: 20px 22px; }
      }

      @media (max-width: 380px) {
        :root {
          --container: min(100vw - 36px, 100%);
        }
        .nav__inner {
          grid-template-columns: minmax(88px, auto) minmax(0, 1fr);
          gap: 8px;
          min-height: 66px;
          padding: 9px 0;
        }
        .brand__logo-stack { width: clamp(96px, 26vw, 120px); }
        .nav__links {
          gap: 5px;
          font-size: 0.62rem;
          max-width: 212px;
        }
        .hero__copy {
          margin-left: 18px;
          padding-inline-end: 18px;
        }
        h1 {
          font-size: clamp(2.7rem, 14vw, 4rem);
          line-height: 0.95;
        }
        .hero__topbar {
          min-height: 132px;
          padding-top: 0;
        }
        .hero__mobile-media {
          top: -84px;
          right: -16px;
          width: min(47vw, 170px);
          min-width: 132px;
          max-width: 170px;
          height: min(50vh, 310px);
          opacity: 0.48;
          animation: none;
        }
        .countdown { max-width: calc(100% - 112px); }
        .countdown__item {
          min-height: 50px;
          padding: 7px 5px;
        }
      }
