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

    :root {
      --white:      #FFFFFF;
      --cream:      #FFFFFF;
      --cream-dark: #F5F5F5;
      --gold:       #C0272D;
      --gold-light: #E04040;
      --gold-pale:  #FFE4E4;
      --gold-dark:  #8B1520;
      --red:        #C0272D;
      --red-deep:   #1E0608;
      --red-wine:   #2A0C14;
      --red-dark:   #8B1520;
      --red-light:  #E04040;
      --ink:        #1A0408;
      --gray:       var(--cream);
      --muted:      #9E3340;
      /* legacy alias */
      --black:      #200A10;
    }

    html { scroll-behavior: smooth; }

    /* ══════════════════════════════════════════════════
       SPIRAL · ORBS · SHIMMER · GLOW
    ══════════════════════════════════════════════════ */

    #site-spiral {
      position: fixed; inset: 0;
      pointer-events: none; z-index: 0;
    }

    /* Gold shimmer on highlighted titles */
    .sec-title .g {
      background: linear-gradient(90deg, var(--red-dark) 0%, var(--red-light) 40%, var(--red) 65%, var(--red-dark) 100%);
      background-size: 280% auto;
      -webkit-background-clip: text; -webkit-text-fill-color: transparent;
      background-clip: text;
      animation: goldShimmer 5s linear infinite;
    }
    @keyframes goldShimmer {
      0%   { background-position: 0% center; }
      100% { background-position: 280% center; }
    }

    /* Section glow line at top — appears on scroll */
    .why::after, .intro::after, .location::after {
      content: '';
      position: absolute; top: 0; left: 50%;
      transform: translateX(-50%) scaleX(0);
      width: 70%; height: 1px;
      background: linear-gradient(90deg, transparent, rgba(192,39,45,.55), transparent);
      transition: transform 1.5s cubic-bezier(.4,0,.2,1);
      pointer-events: none; z-index: 1;
    }
    .why.js-vis::after, .intro.js-vis::after,
    .location.js-vis::after {
      transform: translateX(-50%) scaleX(1);
    }

    /* Floating orb blobs */
    .orb-bg {
      position: absolute; border-radius: 50%;
      pointer-events: none; z-index: 0;
      background: radial-gradient(circle, rgba(192,39,45,.2) 0%, transparent 68%);
      filter: blur(52px); will-change: transform;
    }
    @keyframes orbDrift1 {
      0%,100% { transform: translate(0,0) scale(1); }
      40%     { transform: translate(38px,-48px) scale(1.08); }
      70%     { transform: translate(-22px,30px) scale(.94); }
    }
    @keyframes orbDrift2 {
      0%,100% { transform: translate(0,0) scale(1); }
      35%     { transform: translate(-42px,32px) scale(1.06); }
      65%     { transform: translate(28px,-38px) scale(.96); }
    }
    @keyframes orbDrift3 {
      0%,100% { transform: translate(0,0) scale(1); }
      50%     { transform: translate(22px,42px) scale(1.1); }
    }

    /* H-line soft pulse */
    .h-line { animation: hLinePulse 3.8s ease-in-out infinite; }
    @keyframes hLinePulse {
      0%,100% { opacity: 1; }
      50%     { opacity: .6; box-shadow: 0 0 10px rgba(192,39,45,.45); }
    }

    /* WHY ring: slow spin + glow breathing */
    .why-orbit__ring {
      animation: orbitGlow 5s ease-in-out infinite, orbitSpin 100s linear infinite;
    }
    @keyframes orbitSpin {
      from { transform: translate(-50%,-50%) rotate(0deg); }
      to   { transform: translate(-50%,-50%) rotate(360deg); }
    }

    /* Package card gold border glow on hover */
    .pkg { transition: transform .35s ease, box-shadow .35s ease; }
    .pkg:hover {
      box-shadow: 0 0 0 2px rgba(192,39,45,.4), 0 20px 48px rgba(0,0,0,.1) !important;
    }

    body {
      font-family: 'Montserrat', sans-serif;
      background: var(--white);
      color: var(--ink);
      overflow-x: hidden;
    }

    h1,h2,h3,h4 { font-family: 'Playfair Display', serif; line-height: 1.15; }
    a { text-decoration: none; color: inherit; }
    img { max-width: 100%; display: block; }

    /* ── SCROLL PROGRESS ─────────────────────────────── */
    .scroll-prog {
      position: fixed; top: 0; left: 0;
      height: 3px; width: 0%;
      background: linear-gradient(90deg, var(--red-dark), var(--red-light));
      z-index: 2000;
      transition: width .1s linear;
    }

    /* ── NAVBAR ──────────────────────────────────────── */
    .nav {
      position: fixed; top: 3px; left: 0; right: 0;
      z-index: 1500;
      height: 68px;
      background: rgba(20,4,8,.97);
      backdrop-filter: blur(16px);
      border-bottom: 1px solid rgba(200,146,58,.32);
      display: flex; align-items: center;
      padding: 0 48px;
      justify-content: space-between;
    }

    .nav__logo {
      font-family: 'Playfair Display', serif;
      font-size: 18px; font-weight: 700;
      color: var(--gold); letter-spacing: .5px;
    }
    .nav__logo sup {
      font-family: 'Montserrat', sans-serif;
      font-size: 9px; font-weight: 800;
      color: var(--red); letter-spacing: 1.5px;
      text-transform: uppercase; vertical-align: super;
    }

    .nav__links { display: flex; gap: 28px; list-style: none; }
    .nav__links a {
      font-size: 12px; font-weight: 600;
      letter-spacing: .5px; color: rgba(255,255,255,.7);
      transition: color .2s;
    }
    .nav__links a:hover { color: var(--gold); }

    .nav__btn {
      background: linear-gradient(110deg, #8B1520 0%, #C0272D 25%, #E04040 50%, #C0272D 75%, #8B1520 100%);
      background-size: 250% auto;
      color: var(--black) !important;
      padding: 9px 22px; border-radius: 3px;
      font-weight: 800 !important; font-size: 12px !important;
      letter-spacing: .5px;
      position: relative; overflow: hidden;
      animation: btnGradMove 4s linear infinite;
      transition: transform .25s ease, box-shadow .25s ease;
    }
    .nav__btn:hover { transform: translateY(-2px) !important; box-shadow: 0 6px 20px rgba(192,39,45,.5) !important; }

    .nav__burger {
      display: none; flex-direction: column;
      justify-content: space-between;
      width: 26px; height: 18px;
      background: none; border: none; cursor: pointer;
    }
    .nav__burger span {
      display: block; height: 2px;
      background: var(--white); border-radius: 1px;
      transition: all .25s;
    }
    .nav__burger.open span:nth-child(1) { transform: translateY(8px) rotate(45deg); }
    .nav__burger.open span:nth-child(2) { opacity: 0; }
    .nav__burger.open span:nth-child(3) { transform: translateY(-8px) rotate(-45deg); }

    /* ── BTN ─────────────────────────────────────────── */
    /* ── BUTTON GRADIENT ANIMATIONS ─────────────────── */
    @keyframes btnGradMove {
      0%   { background-position: 0% center; }
      100% { background-position: 250% center; }
    }
    @keyframes btnShimmerSweep {
      0%           { transform: translateX(-120%) skewX(-15deg); }
      30%, 100%    { transform: translateX(220%)  skewX(-15deg); }
    }
    @keyframes goldPulseRing {
      0%   { box-shadow: 0 6px 24px rgba(192,39,45,.4), 0 0 0 0   rgba(192,39,45,.35); }
      60%  { box-shadow: 0 8px 32px rgba(192,39,45,.5), 0 0 0 12px rgba(192,39,45,0); }
      100% { box-shadow: 0 6px 24px rgba(192,39,45,.4), 0 0 0 0   rgba(192,39,45,0); }
    }
    @keyframes redPulseRing {
      0%   { box-shadow: 0 6px 24px rgba(192,39,45,.4), 0 0 0 0   rgba(192,39,45,.35); }
      60%  { box-shadow: 0 8px 32px rgba(192,39,45,.5), 0 0 0 12px rgba(192,39,45,0); }
      100% { box-shadow: 0 6px 24px rgba(192,39,45,.4), 0 0 0 0   rgba(192,39,45,0); }
    }

    .btn {
      display: inline-flex; align-items: center;
      justify-content: center; gap: 8px;
      font-family: 'Montserrat', sans-serif;
      font-weight: 800; letter-spacing: .3px;
      border-radius: 3px; border: none;
      cursor: pointer; transition: transform .25s ease, box-shadow .25s ease;
      position: relative; overflow: hidden;
    }
    /* Shimmer sweep на всех кнопках */
    .btn::after, .pc__btn::after, .float-btn::after {
      content: '';
      position: absolute; inset: 0;
      background: linear-gradient(105deg, transparent 35%, rgba(255,255,255,.28) 50%, transparent 65%);
      transform: translateX(-120%) skewX(-15deg);
      animation: btnShimmerSweep 3.5s ease-in-out infinite;
      pointer-events: none;
    }
    .btn::after { border-radius: inherit; }

    /* Gold */
    .btn-gold {
      background: linear-gradient(110deg, #8B1520 0%, #C0272D 25%, #E04040 50%, #C0272D 75%, #8B1520 100%);
      background-size: 250% auto;
      color: var(--black);
      animation: btnGradMove 4s linear infinite;
    }
    .btn-gold:hover {
      transform: translateY(-3px);
      box-shadow: 0 10px 32px rgba(192,39,45,.55);
      filter: brightness(1.08);
    }
    .btn-gold:active { transform: translateY(0); }

    /* Red */
    .btn-red {
      background: linear-gradient(110deg, #8B1520 0%, #C0272D 25%, #E04040 50%, #C0272D 75%, #8B1520 100%);
      background-size: 250% auto;
      color: var(--white);
      animation: btnGradMove 4s linear infinite;
    }
    .btn-red:hover {
      transform: translateY(-3px);
      box-shadow: 0 10px 32px rgba(192,39,45,.55);
      filter: brightness(1.1);
    }
    .btn-red:active { transform: translateY(0); }

    /* Outline */
    .btn-outline {
      background: transparent;
      border: 2px solid rgba(255,255,255,.45);
      color: var(--white);
    }
    .btn-outline:hover { border-color: var(--gold); color: var(--gold); box-shadow: 0 0 0 3px rgba(192,39,45,.15); }
    .btn-lg { font-size: 15px; padding: 18px 40px; }
    .btn-md { font-size: 14px; padding: 14px 32px; }
    .btn-sm { font-size: 13px; padding: 11px 24px; }
    .btn-full { width: 100%; }

    /* ── HELPERS ─────────────────────────────────────── */
    .container { max-width: 1160px; margin: 0 auto; }
    .section { padding: 96px 48px; }
    .section--dark  {
      background: linear-gradient(135deg, #1C0508 0%, #3D0A10 30%, #5C0F18 58%, #2A0808 100%);
      background-size: 400% 400%;
      animation: gradientShift 16s ease infinite;
    }
    .section--gray  { background: var(--gray); }
    .section--white { background: var(--white); }
    .section--gold  { background: var(--gold); }
    .section--red   { background: var(--red); }

    .kicker {
      display: inline-flex; align-items: center; gap: 10px;
      font-size: 10px; font-weight: 800; letter-spacing: 2.5px;
      text-transform: uppercase;
    }
    .kicker::before { content: ''; width: 28px; height: 2px; background: currentColor; flex-shrink: 0; }
    .kicker--gold  { color: var(--gold); }
    .kicker--red   { color: var(--red); }
    .kicker--white { color: rgba(255,255,255,.55); }
    .kicker--center { justify-content: center; }
    .kicker--center::before { display: none; }

    .h-line { width: 52px; height: 3px; border-radius: 2px; background: linear-gradient(90deg, var(--red-dark), var(--red)); }
    .h-line--center { margin: 12px auto 0; }
    .h-line--left   { margin: 12px 0 0; }

    .sec-title {
      font-size: clamp(28px, 4vw, 48px);
      font-weight: 900; line-height: 1.1;
    }
    .sec-title .g { color: var(--gold-dark); }
    .sec-title .r { color: var(--red); }
    .sec-title .w { color: var(--white); }
    .sec-title .gl{ color: var(--gold-light); }

    /* ── HERO ────────────────────────────────────────── */
    .hero {
      min-height: 100vh;
      position: relative;
      display: flex;
      align-items: center;
      justify-content: center;
      overflow: hidden;
      background: #1A0408;
    }

    /* Фото разводного моста — полный фон */
    .hero__bg-photo {
      position: absolute; inset: 0;
      background-image: url('https://static.tildacdn.com/tild3135-6135-4139-a362-393464303435/haLF_CURLY_64.png');
      background-size: cover;
      background-position: center 55%;
      transform: scale(1.04);
      animation: heroZoom 18s ease-in-out infinite alternate;
    }

    @keyframes heroZoom {
      from { transform: scale(1.04); }
      to   { transform: scale(1.12); }
    }

    /* Многослойный оверлей — тёмный, нейтральный */
    .hero__overlay {
      position: absolute; inset: 0;
      background:
        linear-gradient(180deg,
          rgba(0,0,0,.42) 0%,
          rgba(0,0,0,.60) 40%,
          rgba(0,0,0,.82) 75%,
          rgba(0,0,0,.94) 100%);
    }

    /* Декоративная горизонтальная золотая линия */
    .hero__h-rule {
      position: absolute;
      left: 50%; transform: translateX(-50%);
      bottom: 120px;
      width: 1px; height: 60px;
      background: linear-gradient(180deg, var(--gold), transparent);
      animation: rulePulse 2.5s ease-in-out infinite;
    }

    @keyframes rulePulse {
      0%, 100% { opacity: .4; }
      50%       { opacity: 1; }
    }

    /* Декор: тонкие угловые рамки */
    .hero__corner {
      position: absolute;
      width: 48px; height: 48px;
      pointer-events: none;
    }
    .hero__corner--tl { top: 88px;  left: 40px;  border-top: 1px solid var(--gold); border-left: 1px solid var(--gold);  opacity: .45; }
    .hero__corner--tr { top: 88px;  right: 40px; border-top: 1px solid var(--gold); border-right: 1px solid var(--gold); opacity: .45; }
    .hero__corner--bl { bottom: 48px; left: 40px;  border-bottom: 1px solid var(--gold); border-left: 1px solid var(--gold);  opacity: .45; }
    .hero__corner--br { bottom: 48px; right: 40px; border-bottom: 1px solid var(--gold); border-right: 1px solid var(--gold); opacity: .45; }

    .hero__content {
      position: relative; z-index: 2;
      padding: 140px 48px 100px;
      width: 100%;
      max-width: 960px;
      text-align: center;
    }

    .hero__date-badge {
      display: inline-flex; align-items: center; gap: 14px;
      border: 1px solid rgba(200,146,58,.5);
      background: rgba(200,146,58,.1);
      backdrop-filter: blur(8px);
      border-radius: 100px;
      padding: 9px 22px;
      margin-bottom: 32px;
    }
    .hero__date-badge span {
      font-size: 11px; font-weight: 700;
      letter-spacing: 2.5px; text-transform: uppercase;
    }
    .hero__date-badge .sep { color: var(--gold); opacity: .6; }
    .hero__date-badge .d   { color: var(--white); }
    .hero__date-badge .c   { color: rgba(255,255,255,.65); }

    .hero__hashtag {
      font-family: 'Montserrat', sans-serif;
      font-size: 13px; font-weight: 800;
      letter-spacing: 3px; color: var(--gold);
      text-transform: uppercase;
      margin-bottom: 20px;
      animation: heroHashAnim 3s ease-in-out infinite;
    }

    @keyframes heroHashAnim {
      0%, 100% { opacity: .7; }
      50%       { opacity: 1; text-shadow: 0 0 18px rgba(192,39,45,.5); }
    }

    .hero__title {
      font-size: clamp(52px, 9vw, 112px);
      font-weight: 900;
      line-height: 1;
      letter-spacing: -1px;
      margin-bottom: 24px;
    }

    /* Каждая строка — отдельная анимация */
    .hero__title-line {
      display: block;
      color: var(--white);
      opacity: 0;
      animation: lineReveal .9s cubic-bezier(.22,1,.36,1) forwards;
    }
    .hero__title-line--1 { animation-delay: .1s; }
    .hero__title-line--2 { animation-delay: .35s; }

    @keyframes lineReveal {
      from { opacity: 0; transform: translateY(40px) skewX(-3deg); filter: blur(6px); }
      to   { opacity: 1; transform: translateY(0)   skewX(0deg);   filter: blur(0); }
    }

    /* Золотое слово */
    .hero__title .gold {
      color: transparent;
      background: linear-gradient(90deg, var(--gold-light), var(--gold), #C0272D);
      -webkit-background-clip: text;
      background-clip: text;
      position: relative;
    }

    .hero__title .hot {
      color: rgba(255,255,255,.65);
      font-weight: 300;
    }

    .hero__sub {
      font-size: clamp(15px, 2vw, 20px);
      font-weight: 400;
      color: rgba(255,255,255,.72);
      max-width: 580px;
      margin: 0 auto 52px;
      line-height: 1.7;
      opacity: 0;
      animation: fadeUp .8s .7s ease both;
    }
    .hero__sub strong { color: var(--gold-light); font-weight: 700; }

    .hero__actions {
      display: flex; align-items: center;
      justify-content: center; gap: 16px;
      flex-wrap: wrap; margin-bottom: 56px;
      opacity: 0;
      animation: fadeUp .8s .9s ease both;
    }

    .hero__pills {
      display: flex; gap: 14px;
      justify-content: center;
      flex-wrap: wrap;
      opacity: 0;
      animation: fadeUp .8s 1.1s ease both;
    }

    .pill {
      display: flex; align-items: center; gap: 8px;
      background: rgba(255,255,255,.08);
      border: 1px solid rgba(255,255,255,.14);
      backdrop-filter: blur(8px);
      border-radius: 100px; padding: 9px 18px;
      font-size: 12px; font-weight: 600;
      color: rgba(255,255,255,.75);
      white-space: nowrap;
    }
    .pill__dot { width: 6px; height: 6px; border-radius: 50%; }
    .pill__dot--gold { background: var(--gold); box-shadow: 0 0 6px var(--gold); }
    .pill__dot--red  { background: var(--gold); box-shadow: 0 0 6px var(--gold); }

    .hero__content {
      position: relative; z-index: 2;
      padding: 140px 48px 80px;
      max-width: 1160px; margin: 0 auto; width: 100%;
    }

    .hero__date-badge {
      display: inline-flex; align-items: center; gap: 12px;
      border: 1px solid rgba(255,255,255,.18);
      background: rgba(255,255,255,.07);
      backdrop-filter: blur(8px);
      border-radius: 100px; padding: 9px 22px;
      margin-bottom: 36px;
    }
    .hero__date-badge span {
      font-size: 11px; font-weight: 700;
      letter-spacing: 2px; text-transform: uppercase;
    }
    .hero__date-badge .sep { color: rgba(255,255,255,.3); }
    .hero__date-badge .d   { color: var(--white); }
    .hero__date-badge .c   { color: rgba(255,255,255,.55); }

    .hero__hashtag {
      font-family: 'Montserrat', sans-serif;
      font-size: 13px; font-weight: 800;
      letter-spacing: 1px; color: var(--red);
      margin-bottom: 18px;
    }

    .hero__title {
      font-size: clamp(44px, 8vw, 96px);
      font-weight: 900; color: var(--white);
      line-height: 1; margin-bottom: 16px;
    }
    .hero__title .gold { color: var(--gold); }
    .hero__title .italic { font-style: italic; color: rgba(255,255,255,.85); }

    .hero__sub {
      font-size: clamp(15px, 2vw, 20px);
      font-weight: 300; color: rgba(255,255,255,.65);
      max-width: 540px; line-height: 1.65;
      margin-bottom: 52px;
    }
    .hero__sub strong { color: var(--gold); font-weight: 700; }

    .hero__actions {
      display: flex; align-items: center; gap: 16px;
      flex-wrap: wrap; margin-bottom: 72px;
    }

    .hero__pills {
      display: flex; gap: 16px; flex-wrap: wrap;
    }

    .pill {
      display: flex; align-items: center; gap: 8px;
      background: rgba(255,255,255,.06);
      border: 1px solid rgba(255,255,255,.1);
      border-radius: 100px; padding: 8px 16px;
      font-size: 12px; font-weight: 600;
      color: rgba(255,255,255,.7);
    }
    .pill__dot {
      width: 6px; height: 6px; border-radius: 50%;
    }
    .pill__dot--gold { background: var(--gold); }
    .pill__dot--red  { background: var(--red);  }

    /* ── HERO EXTRA ANIMATIONS ──────────────────────── */

    /* Canvas layer */
    #hero-canvas {
      position: absolute; inset: 0;
      width: 100%; height: 100%;
      z-index: 1; pointer-events: none;
    }

    /* Плавающий прожектор-глайр */
    .hero__glare {
      position: absolute; inset: 0; z-index: 1; pointer-events: none;
      background: radial-gradient(ellipse 38% 58% at 50% 28%, rgba(192,39,45,.08), transparent 68%);
      animation: glareFloat 10s ease-in-out infinite alternate;
    }
    @keyframes glareFloat {
      0%   { transform: translate(-14%, -8%) scale(1); }
      50%  { transform: translate( 6%,  5%) scale(1.12); }
      100% { transform: translate(14%, -5%) scale(.96); }
    }

    /* Shimmer-sweep на золотом заголовке */
    .hero__title .gold {
      background: linear-gradient(90deg,
        var(--gold-dark) 0%,
        var(--gold-light) 30%,
        #FFFFFF 50%,
        var(--gold-light) 70%,
        var(--gold-dark) 100%) !important;
      background-size: 250% auto !important;
      -webkit-background-clip: text !important;
      background-clip: text !important;
      color: transparent !important;
      animation: goldSweep 3.5s linear infinite;
      animation-delay: 1.4s;
    }
    @keyframes goldSweep {
      0%   { background-position: 200% center; }
      100% { background-position: -100% center; }
    }

    /* Угловые рамки рисуются при загрузке */
    @keyframes cornerDraw {
      from { width: 0; height: 0; opacity: 0; }
      to   { width: 48px; height: 48px; opacity: .5; }
    }
    .hero__corner--tl { animation: cornerDraw .55s 1.2s cubic-bezier(.22,1,.36,1) both; }
    .hero__corner--tr { animation: cornerDraw .55s 1.35s cubic-bezier(.22,1,.36,1) both; }
    .hero__corner--bl { animation: cornerDraw .55s 1.5s  cubic-bezier(.22,1,.36,1) both; }
    .hero__corner--br { animation: cornerDraw .55s 1.65s cubic-bezier(.22,1,.36,1) both; }

    /* Badge пульс */
    @keyframes badgeGlow {
      0%, 100% { border-color: rgba(192,39,45,.4); box-shadow: none; }
      50%       { border-color: rgba(192,39,45,.95); box-shadow: 0 0 24px rgba(192,39,45,.3); }
    }
    .hero__date-badge {
      animation: fadeUp .7s ease both, badgeGlow 3.2s 1.6s ease-in-out infinite;
    }

    /* Точки пилюль пульсируют */
    @keyframes dotPulse {
      0%, 100% { box-shadow: 0 0 4px rgba(192,39,45,.6); }
      50%       { box-shadow: 0 0 14px rgba(192,39,45,1), 0 0 28px rgba(192,39,45,.4); }
    }
    .pill__dot--gold { animation: dotPulse 2s ease-in-out infinite; }
    .pill__dot--red  { animation: dotPulse 2s .9s ease-in-out infinite; }

    /* Вертикальная линия — скролл-индикатор */
    .hero__scroll {
      position: absolute; bottom: 32px; left: 50%; transform: translateX(-50%);
      display: flex; flex-direction: column; align-items: center; gap: 10px;
      z-index: 3; cursor: pointer;
      opacity: 0; animation: fadeUp .6s 2.1s ease both;
    }
    .hero__scroll:hover .hero__scroll-line::after { animation-duration: .9s; }
    .hero__scroll-label {
      font-size: 9px; font-weight: 700; letter-spacing: 3.5px;
      text-transform: uppercase; color: rgba(255,255,255,.28);
    }
    .hero__scroll-line {
      width: 1px; height: 48px;
      background: rgba(255,255,255,.1); overflow: hidden;
    }
    .hero__scroll-line::after {
      content: ''; display: block;
      width: 100%; height: 55%;
      background: linear-gradient(180deg, transparent, var(--gold));
      animation: scrollDrop 1.7s ease-in-out infinite;
    }
    @keyframes scrollDrop {
      0%   { transform: translateY(-100%); opacity: 0; }
      15%  { opacity: 1; }
      65%  { transform: translateY(200%);  opacity: 1; }
      66%  { transform: translateY(-100%); opacity: 0; }
      100% { transform: translateY(-100%); opacity: 0; }
    }

    /* Рябь воды у нижнего края */
    .hero__water-shine {
      position: absolute; bottom: 0; left: 0; right: 0;
      height: 140px; z-index: 1; pointer-events: none;
    }
    .hero__water-shine::before,
    .hero__water-shine::after {
      content: '';
      position: absolute; left: -10%; right: -10%;
      height: 1px;
      background: linear-gradient(90deg, transparent 0%, rgba(192,39,45,.35) 40%, rgba(255,255,255,.15) 50%, rgba(192,39,45,.35) 60%, transparent 100%);
    }
    .hero__water-shine::before {
      bottom: 52px;
      animation: waterRipple 4.5s ease-in-out 1.2s infinite;
    }
    .hero__water-shine::after {
      bottom: 30px; opacity: .55;
      animation: waterRipple 4.5s ease-in-out 2.6s infinite;
    }
    @keyframes waterRipple {
      0%, 100% { transform: scaleX(.5) translateX(-8%); opacity: 0; }
      35%       { transform: scaleX(1.05) translateX(0);  opacity: 1; }
      70%       { transform: scaleX(.75) translateX(6%);  opacity: 0; }
    }

    /* ── COUNTDOWN / TICKER ──────────────────────────── */
    .countdown-bar {
      position: relative; overflow: hidden;
      padding: 0;
      background: #FFFFFF;
      border-top: 1.5px solid rgba(192,39,45,.18);
      border-bottom: 1.5px solid rgba(192,39,45,.18);
    }
    /* Красный шиммер поверх белого */
    .countdown-bar::before {
      content: '';
      position: absolute; inset: 0; pointer-events: none; z-index: 1;
      background: linear-gradient(105deg,
        transparent 0%, transparent 35%,
        rgba(192,39,45,.06) 50%,
        transparent 65%, transparent 100%);
      background-size: 300% 100%;
      animation: barShimmer 4s linear infinite;
    }
    @keyframes barShimmer {
      0%   { background-position: 200% 0; }
      100% { background-position: -100% 0; }
    }
    .countdown-bar::after { display: none; }
    .countdown-bar__top-line { display: none; }

    /* Бегущая строка */
    .ticker-wrap {
      overflow: hidden; padding: 14px 0;
      position: relative; z-index: 3;
      -webkit-mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);
      mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);
    }
    .ticker-track {
      display: inline-flex; align-items: center;
      white-space: nowrap;
      animation: tickerRoll 42s linear infinite;
      will-change: transform;
    }
    .ticker-track:hover { animation-play-state: paused; }
    @keyframes tickerRoll {
      0%   { transform: translateX(0); }
      100% { transform: translateX(-50%); }
    }

    /* Элементы бегущей строки */
    .t-item {
      display: inline-flex; align-items: center; gap: 8px;
      padding: 0 28px;
      font-size: 12px; font-weight: 700;
      letter-spacing: 1.2px; text-transform: uppercase;
      color: var(--ink);
    }
    .t-item--gold  { color: var(--red); }
    .t-item--white { color: var(--ink); }

    .t-sep {
      color: rgba(192,39,45,.4);
      font-size: 16px; padding: 0 4px;
      flex-shrink: 0;
    }

    /* Блоки таймера внутри строки */
    .t-timer {
      display: inline-flex; align-items: center; gap: 5px;
    }
    .t-cd {
      display: inline-flex; flex-direction: column; align-items: center;
      background: rgba(0,0,0,.35);
      border: 1px solid rgba(192,39,45,.2);
      border-radius: 4px; padding: 4px 10px; min-width: 44px;
    }
    .t-cd__num {
      font-family: 'Playfair Display', serif;
      font-size: 20px; font-weight: 700; color: #fff; line-height: 1;
    }
    .t-cd__lbl {
      font-size: 8px; font-weight: 700; letter-spacing: 1px;
      text-transform: uppercase; color: rgba(255,255,255,.4); margin-top: 1px;
    }
    .t-colon {
      font-size: 18px; font-weight: 300; color: rgba(255,255,255,.3);
      margin-bottom: 10px;
    }

    /* Дни до выпускного — крупный акцент */
    .t-days-num {
      font-family: 'Playfair Display', serif;
      font-size: 22px; font-weight: 900; color: var(--gold-light);
      line-height: 1;
    }

    /* ── INTRO: 2 ДНЯ ────────────────────────────────── */
    .intro {
      padding: 96px 48px;
      background: linear-gradient(160deg, #8B1520 0%, #C0272D 45%, #9E2030 100%);
      position: relative; overflow: hidden;
    }
    /* Светлые искры в углах */
    .intro::before {
      content: '✦  ◆  ✦\A◆  ✦  ◆\A✦  ◆  ✦'; white-space: pre;
      position: absolute; top: 36px; left: 40px;
      font-size: 14px; letter-spacing: 8px; line-height: 1.9;
      color: rgba(255,255,255,.18); pointer-events: none;
    }
    .intro::after {
      content: '◆  ✦  ◆\A✦  ◆  ✦\A◆  ✦  ◆'; white-space: pre;
      position: absolute; bottom: 36px; right: 40px;
      font-size: 14px; letter-spacing: 8px; line-height: 1.9;
      color: var(--gold); opacity: .10; pointer-events: none;
    }

    .intro__inner {
      max-width: 1160px; margin: 0 auto;
      display: grid; grid-template-columns: 1fr 1fr; gap: 80px;
      align-items: center;
    }

    .intro__text-kicker { margin-bottom: 20px; color: #ffffff; }

    .intro__title {
      font-size: clamp(30px, 4vw, 52px); font-weight: 900;
      line-height: 1.05; margin-bottom: 24px;
    }
    .intro__title em { font-style: italic; color: rgba(255,255,255,.75); }

    .intro__lead {
      font-size: 16px; line-height: 1.85; color: rgba(255,255,255,.82);
      margin-bottom: 28px;
    }
    .intro__lead:last-of-type { margin-bottom: 0; }
    .intro__lead strong { color: #ffffff; font-weight: 700; }

    /* Пословная анимация лида */
    .lead-word {
      display: inline-block;
      opacity: 0;
      transform: translateY(10px);
      transition: opacity .45s ease, transform .45s ease;
      will-change: opacity, transform;
    }

    .intro__days {
      display: flex; flex-direction: column; gap: 16px;
      margin-top: 36px;
    }

    .day-pill {
      display: flex; align-items: center; gap: 20px;
      border-radius: 8px; padding: 20px 24px;
      border: 1px solid;
    }
    .day-pill--gold {
      background: rgba(255,255,255,.12);
      border-color: rgba(255,255,255,.28);
    }
    .day-pill--red {
      background: rgba(255,255,255,.08);
      border-color: rgba(255,255,255,.22);
    }

    .day-pill__icon {
      flex-shrink: 0;
      width: 72px; height: 72px;
      border-radius: 16px;
      display: flex; align-items: center; justify-content: center;
      padding: 10px;
    }
    .day-pill--gold .day-pill__icon {
      background: linear-gradient(145deg, #3D2510 0%, #5C3A1A 50%, #2C1A0E 100%);
      border: 1px solid rgba(192,39,45,.45);
      box-shadow: 0 4px 18px rgba(26,4,8,.28), inset 0 1px 0 rgba(220,80,80,.18);
    }
    .day-pill--red .day-pill__icon {
      background: linear-gradient(145deg, #3D1015 0%, #5C1825 50%, #2C0A0E 100%);
      border: 1px solid rgba(192,39,45,.45);
      box-shadow: 0 4px 18px rgba(44,10,16,.28), inset 0 1px 0 rgba(220,90,90,.18);
    }
    .day-pill__icon img {
      width: 100%; height: 100%;
      object-fit: contain;
      display: block;
    }

    .day-pill__body {}
    .day-pill__date {
      font-size: 11px; font-weight: 700;
      letter-spacing: 1.5px; text-transform: uppercase;
      margin-bottom: 4px;
    }
    .day-pill--gold .day-pill__date { color: rgba(255,255,255,.65); }
    .day-pill--red  .day-pill__date { color: rgba(255,255,255,.65); }

    .day-pill__title {
      font-size: 16px; font-weight: 800; color: #ffffff;
    }
    .day-pill__loc {
      font-size: 12px; color: rgba(255,255,255,.6); margin-top: 3px;
    }

    .intro__visual {
      position: relative;
    }

    .intro__card {
      background: var(--black);
      border-radius: 14px;
      padding: 52px 40px;
      position: relative; overflow: hidden;
    }
    .intro__card::before {
      content: '';
      position: absolute; top: 0; left: 0; right: 0;
      height: 3px;
      background: linear-gradient(90deg, var(--red-dark), var(--red));
    }

    .intro__quote {
      font-family: 'Playfair Display', serif;
      font-size: clamp(20px, 2.5vw, 30px);
      font-style: italic; font-weight: 700;
      color: var(--white); line-height: 1.4;
      margin-bottom: 28px;
    }
    .intro__quote .hl { color: var(--gold); font-style: normal; }

    .intro__anna {
      display: flex; align-items: center; gap: 16px;
      border-top: 1px solid rgba(255,255,255,.08);
      padding-top: 24px;
    }
    .intro__anna-ava {
      width: 52px; height: 52px; border-radius: 50%;
      background: linear-gradient(135deg, var(--gold-dark), var(--gold));
      display: flex; align-items: center; justify-content: center;
      font-family: 'Playfair Display', serif;
      font-size: 22px; font-weight: 900; color: var(--black);
      flex-shrink: 0;
    }
    .intro__anna-name {
      font-size: 15px; font-weight: 700; color: var(--white);
    }
    .intro__anna-role {
      font-size: 11px; color: rgba(255,255,255,.45);
      letter-spacing: .3px; margin-top: 3px;
    }

    .intro__badge {
      position: absolute; bottom: -20px; right: 40px;
      background: var(--red); color: var(--white);
      font-size: 11px; font-weight: 800; letter-spacing: 1px;
      text-transform: uppercase; padding: 8px 18px; border-radius: 2px;
    }

    /* ── WHY ─────────────────────────────────────────── */
    /* ── WHY / CIRCLE ORBIT ─────────────────────────── */
    .why {
      padding: 96px 48px 120px;
      background: #FFFFFF;
      overflow: hidden;
      border-top: 3px solid var(--red);
      box-shadow: inset 0 4px 60px rgba(192,39,45,.04);
      position: relative;
    }
    .why__inner { max-width: 1060px; margin: 0 auto; text-align: center; }

    /* ── WHY ORBIT: pentagon absolute layout ─────────── */
    .why-orbit {
      position: relative;
      min-height: 700px;
      margin: 56px 0 0;
    }

    .why-orbit__ring {
      position: absolute;
      width: 440px; height: 440px;
      top: 50%; left: 50%;
      transform: translate(-50%, -50%);
      border-radius: 50%;
      border: 2px solid rgba(192,39,45,.45);
      pointer-events: none; z-index: 0;
      animation: orbitGlow 4s ease-in-out infinite;
    }
    .why-orbit__ring::before {
      content: '';
      position: absolute; inset: -10px;
      border-radius: 50%;
      border: 1px solid rgba(192,39,45,.18);
      box-shadow: 0 0 30px rgba(192,39,45,.08);
    }
    .why-orbit__ring::after {
      content: '';
      position: absolute; inset: 10px;
      border-radius: 50%;
      border: 1px dashed rgba(192,39,45,.12);
    }
    @keyframes orbitGlow {
      0%,100% { box-shadow: 0 0 0 0 rgba(192,39,45,.10), 0 0 20px rgba(192,39,45,.06); }
      50%      { box-shadow: 0 0 60px 18px rgba(192,39,45,.18), 0 0 40px rgba(192,39,45,.12); }
    }
    .why-orbit__aa {
      position: absolute;
      top: 50%; left: 50%;
      transform: translate(-50%, -50%);
      font-size: 200px; font-weight: 900;
      color: rgba(192,39,45,.055);
      letter-spacing: -8px; line-height: 1;
      pointer-events: none; user-select: none;
      font-family: 'Playfair Display', serif;
    }
    .why-orbit__center { display: none; }

    /* Node: absolute on pentagon */
    .why-node {
      position: absolute;
      display: flex; align-items: center; gap: 18px;
      z-index: 1;
      opacity: 0; transform: scale(.85);
      transition: opacity .65s ease, transform .65s ease;
    }
    .why-node.in-view { opacity: 1; transform: scale(1); }

    /* Photo circle */
    .why-node__photo {
      flex-shrink: 0;
      width: 155px; height: 155px;
      border-radius: 50%;
      border: 3px solid var(--red);
      box-shadow:
        0 0 0 6px rgba(192,39,45,.12),
        0 0 0 7px rgba(255,255,255,.6),
        0 12px 36px rgba(0,0,0,.18),
        0 0 28px rgba(192,39,45,.15);
      overflow: hidden;
      transition: transform .4s ease, box-shadow .4s ease;
      position: relative;
    }
    .why-node__photo::after {
      content: '';
      position: absolute; inset: 0; border-radius: 50%;
      background: linear-gradient(135deg, rgba(255,255,255,.22) 0%, transparent 50%);
      pointer-events: none;
    }
    .why-node__photo:hover {
      transform: scale(1.09);
      box-shadow:
        0 0 0 6px rgba(192,39,45,.25),
        0 0 0 7px rgba(255,255,255,.7),
        0 20px 50px rgba(0,0,0,.22),
        0 0 50px rgba(192,39,45,.30);
    }
    .why-node__photo img { width: 100%; height: 100%; object-fit: cover; display: block; }

    /* Text */
    .why-node__text {
      font-size: 14px; line-height: 1.6; color: var(--ink);
      max-width: 220px;
    }
    /* Горизонтальные ноды: фиксированная ширина текста, иначе фото съезжает */
    .why-node--left    .why-node__text,
    .why-node--right   .why-node__text,
    .why-node--bot-left  .why-node__text,
    .why-node--bot-right .why-node__text {
      width: 220px; flex-shrink: 0;
    }
    .why-node__gold { color: var(--gold); font-weight: 800; font-style: italic; }
    .why-node__red  { color: var(--red);  font-weight: 800; font-style: italic; }

    /*
      Pentagon r=220px, center=(50%, 350px), photo=155px, text=220px, gap=18px
      Angles clockwise from top:
        TOP       -90°: photo_cx=50%+0,    photo_cy=130  top= 53, node-left=50% [column]
        LEFT      198°: photo_cx=50%-209,  photo_cy=282  top=205, node-left=calc(50%-524px) [text|photo]
        RIGHT     -18°: photo_cx=50%+209,  photo_cy=282  top=205, node-left=calc(50%+132px)  [photo|text]
        BOT-LEFT  126°: photo_cx=50%-129,  photo_cy=528  top=451, node-left=calc(50%-444px) [text|photo]
        BOT-RIGHT  54°: photo_cx=50%+129,  photo_cy=528  top=451, node-left=calc(50%+52px)  [photo|text]
    */

    /* TOP: photo → text below */
    .why-node--top {
      flex-direction: column; align-items: center; text-align: center;
      top: 53px; left: 50%;
      transform: translateX(-50%) scale(.85);
      transition-delay: 0s;
    }
    .why-node--top.in-view  { transform: translateX(-50%) scale(1); }
    .why-node--top .why-node__text { max-width: 200px; margin-top: 8px; }

    /* LEFT: [text | photo] — text on outer-left side */
    .why-node--left {
      flex-direction: row; align-items: center;
      top: 205px; left: calc(50% - 524px);
      transition-delay: .12s;
    }
    .why-node--left .why-node__text { text-align: right; }

    /* RIGHT: [photo | text] — text on outer-right side */
    .why-node--right {
      flex-direction: row; align-items: center;
      top: 205px; left: calc(50% + 132px);
      transition-delay: .12s;
    }

    /* BOT-LEFT: [text | photo] — text on outer-left side */
    .why-node--bot-left {
      flex-direction: row; align-items: center;
      top: 451px; left: calc(50% - 444px);
      transition-delay: .24s;
    }
    .why-node--bot-left .why-node__text { text-align: right; }

    /* BOT-RIGHT: [photo | text] — text on outer-right side */
    .why-node--bot-right {
      flex-direction: row-reverse; align-items: center;
      top: 451px; left: calc(50% + 52px);
      transition-delay: .24s;
    }
    .why-node--bot-right .why-node__text { text-align: left; }

    .why-confetti {
      position: absolute;
      right: -40px; top: -120px;
      width: 320px; height: 380px;
      pointer-events: none; z-index: 2;
    }

    /* ── GLOBAL TEXT ANIMATIONS ───────────────────────── */
    .tx-anim {
      opacity: 0;
      transform: translateY(26px);
      transition: opacity .72s cubic-bezier(.22,1,.36,1),
                  transform .72s cubic-bezier(.22,1,.36,1);
    }
    .tx-anim.tx-in {
      opacity: 1;
      transform: translateY(0);
    }
    /* Stagger for siblings in the same section header group */
    .tx-anim[data-tx-i="1"] { transition-delay: .10s; }
    .tx-anim[data-tx-i="2"] { transition-delay: .20s; }
    .tx-anim[data-tx-i="3"] { transition-delay: .30s; }
    .tx-anim[data-tx-i="4"] { transition-delay: .42s; }
    .tx-anim[data-tx-i="5"] { transition-delay: .54s; }

    /* ── DAYS SECTION ────────────────────────────────── */
    .day-section { padding: 96px 48px; }
    .day-section__inner { max-width: 1160px; margin: 0 auto; }

    .day-label {
      display: inline-flex; align-items: center; gap: 12px;
      border-radius: 2px; padding: 8px 20px;
      font-size: 11px; font-weight: 800;
      letter-spacing: 2px; text-transform: uppercase;
      margin-bottom: 28px;
    }
    .day-label--1 {
      background: rgba(192,39,45,.12);
      border: 1px solid rgba(192,39,45,.3);
      color: var(--gold-dark);
    }
    .day-label--2 {
      background: rgba(192,39,45,.1);
      border: 1px solid rgba(192,39,45,.25);
      color: var(--red);
    }

    /* ── TOPICS LIST ─────────────────────────────────── */
    .topics {
      display: grid; grid-template-columns: repeat(3, 1fr);
      gap: 10px; margin: 40px 0;
    }

    .topic-item {
      display: flex; align-items: flex-start; gap: 10px;
      background: rgba(255,255,255,.04);
      border: 1px solid rgba(255,255,255,.08);
      border-radius: 6px; padding: 14px 16px;
    }
    .topic-item::before {
      content: '◆';
      color: var(--gold); font-size: 8px;
      flex-shrink: 0; margin-top: 4px;
    }
    .topic-item span {
      font-size: 13px; font-weight: 500;
      color: rgba(255,255,255,.8); line-height: 1.4;
    }

    /* ── SCHEDULE ────────────────────────────────────── */
    .schedule { margin: 48px 0; }

    .schedule__block {
      margin-bottom: 32px;
    }

    .schedule__block-title {
      font-size: 11px; font-weight: 800; letter-spacing: 2px;
      text-transform: uppercase; color: var(--gold);
      padding: 10px 16px;
      background: rgba(192,39,45,.1);
      border-left: 3px solid var(--gold);
      border-radius: 0 4px 4px 0;
      margin-bottom: 4px;
    }

    .schedule__row {
      display: flex; align-items: flex-start; gap: 0;
      border-bottom: 1px solid rgba(255,255,255,.05);
    }
    .schedule__row:last-child { border-bottom: none; }

    .schedule__time {
      width: 160px; flex-shrink: 0;
      padding: 13px 16px;
      font-size: 12px; font-weight: 700;
      color: rgba(255,255,255,.45); font-family: 'Montserrat', monospace;
    }
    .schedule__event {
      flex: 1; padding: 13px 16px;
      font-size: 13px; font-weight: 500;
      color: rgba(255,255,255,.8); line-height: 1.4;
    }

    .schedule__row--break .schedule__time,
    .schedule__row--break .schedule__event {
      color: var(--gold);
    }
    .schedule__row--break .schedule__event {
      font-weight: 700;
    }

    .schedule__row--speaker .schedule__event { color: rgba(255,255,255,.65); }

    /* ── ТРЕНИНГ INFO ───────────────────────────────── */
    .tedx-info {
      display: grid; grid-template-columns: 1fr 1fr;
      gap: 24px; margin: 40px 0;
    }

    .info-box {
      background: rgba(255,255,255,.03);
      border: 1px solid rgba(255,255,255,.08);
      border-radius: 8px; padding: 28px 24px;
    }
    .info-box__icon { font-size: 28px; margin-bottom: 12px; }
    .info-box__title {
      font-size: 13px; font-weight: 800; letter-spacing: .5px;
      color: var(--gold); text-transform: uppercase; margin-bottom: 8px;
    }
    .info-box__text {
      font-size: 13px; line-height: 1.65; color: rgba(255,255,255,.6);
    }

    .tedx-principles {
      display: flex; flex-direction: column; gap: 8px;
      margin-top: 8px;
    }
    .tedx-principles li {
      display: flex; align-items: center; gap: 10px;
      font-size: 13px; color: rgba(255,255,255,.65);
    }
    .tedx-principles li::before {
      content: '';
      width: 5px; height: 5px; border-radius: 50%;
      background: var(--gold); flex-shrink: 0;
    }

    /* ── DAY 2 WHAT'S INSIDE ─────────────────────────── */
    .evening-grid {
      display: grid; grid-template-columns: repeat(3, 1fr);
      gap: 16px; margin: 40px 0;
    }

    .ev-card {
      border-radius: 8px; padding: 28px 22px;
      background: rgba(255,255,255,.04);
      border: 1px solid rgba(255,255,255,.08);
      transition: all .3s;
    }
    .ev-card:hover {
      background: rgba(255,255,255,.07);
      border-color: var(--gold-dark);
    }
    .ev-card__icon { font-size: 36px; margin-bottom: 14px; }
    .ev-card__title {
      font-size: 14px; font-weight: 800; color: var(--white);
      margin-bottom: 6px;
    }
    .ev-card__text { font-size: 12px; line-height: 1.6; color: rgba(255,255,255,.5); }

    /* ── LOCATION ────────────────────────────────────── */
    .location { padding: 80px 48px; background: var(--white); }
    .location__inner {
      max-width: 1160px; margin: 0 auto;
      display: grid; grid-template-columns: 1fr 1fr; gap: 60px;
      align-items: start;
    }

    .loc-card {
      border-radius: 12px; overflow: hidden;
      border: 1px solid rgba(0,0,0,.08);
    }
    .loc-card__head {
      padding: 20px 24px;
      display: flex; align-items: center; gap: 14px;
    }
    .loc-card--1 .loc-card__head { background: linear-gradient(90deg, var(--gold), var(--gold-dark)); }
    .loc-card--2 .loc-card__head { background: linear-gradient(90deg, var(--red), var(--red-dark)); }

    .loc-card__num {
      width: 36px; height: 36px; border-radius: 50%;
      background: rgba(0,0,0,.2); display: flex;
      align-items: center; justify-content: center;
      font-family: 'Playfair Display', serif;
      font-size: 18px; font-weight: 900; color: var(--white);
      flex-shrink: 0;
    }
    .loc-card__day {
      font-size: 10px; font-weight: 800; letter-spacing: 2px;
      text-transform: uppercase; color: rgba(255,255,255,.75);
    }
    .loc-card__event {
      font-size: 15px; font-weight: 800; color: var(--white);
    }

    .loc-card__body { padding: 24px; }
    .loc-card__name {
      font-size: 18px; font-weight: 800; color: var(--ink);
      margin-bottom: 6px;
    }
    .loc-card__addr {
      font-size: 13px; color: var(--muted); margin-bottom: 20px;
      display: flex; align-items: center; gap: 6px;
    }
    .loc-card__desc {
      font-size: 13px; line-height: 1.7; color: #555;
      padding-top: 16px; border-top: 1px solid rgba(0,0,0,.06);
    }

    .loc-card__dresscode {
      margin-top: 18px; padding: 14px 16px;
      border-radius: 6px; background: var(--gray);
      font-size: 12px; color: var(--muted);
      border-left: 3px solid var(--gold);
    }
    .loc-card__dresscode strong { color: var(--ink); }

    /* ── PACKAGES ────────────────────────────────────── */
    .packages {
      padding: 96px 48px;
      background: linear-gradient(135deg, #0E0204 0%, #1E0408 28%, #300812 55%, #180306 100%);
      background-size: 400% 400%;
      animation: gradientShift 18s ease infinite;
    }
    .packages__inner { max-width: 1160px; margin: 0 auto; }

    .packages__header { text-align: center; margin-bottom: 60px; }

    .pkg-grid {
      display: grid; grid-template-columns: repeat(3, 1fr);
      gap: 24px; align-items: start;
    }

    .pkg {
      background: rgba(255,255,255,.04);
      border: 1px solid rgba(255,255,255,.1);
      border-radius: 12px; padding: 36px 30px;
      position: relative; transition: all .3s;
    }
    .pkg:hover { background: rgba(255,255,255,.07); }

    .pkg--star {
      background: var(--white);
      border-color: var(--gold); border-width: 2px;
      transform: scale(1.04);
    }
    .pkg--star:hover { transform: scale(1.04) translateY(-4px); }

    .pkg__tag {
      position: absolute; top: -13px; left: 50%; transform: translateX(-50%);
      font-size: 10px; font-weight: 800; letter-spacing: 2px;
      text-transform: uppercase; white-space: nowrap;
      padding: 6px 18px; border-radius: 2px;
    }
    .pkg__tag--gold { background: var(--gold); color: var(--black); }
    .pkg__tag--red  { background: var(--red);  color: var(--white); }

    .pkg__days {
      display: flex; gap: 6px; margin-bottom: 20px;
    }
    .pkg__day-badge {
      font-size: 10px; font-weight: 800; letter-spacing: 1px;
      text-transform: uppercase; padding: 4px 10px; border-radius: 2px;
    }
    .pkg__day-badge--1 { background: rgba(192,39,45,.15); color: var(--gold); }
    .pkg--star .pkg__day-badge--1 { background: rgba(192,39,45,.2); color: var(--gold-dark); }
    .pkg__day-badge--2 { background: rgba(192,39,45,.15); color: var(--red-light); }

    .pkg__name {
      font-family: 'Playfair Display', serif;
      font-size: 24px; font-weight: 700; margin-bottom: 6px;
      color: var(--white);
    }
    .pkg--star .pkg__name { color: var(--ink); }

    .pkg__desc {
      font-size: 12px; line-height: 1.55; color: rgba(255,255,255,.45);
      margin-bottom: 28px;
    }
    .pkg--star .pkg__desc { color: #777; }

    .pkg__price {
      display: flex; align-items: baseline; gap: 4px;
      margin-bottom: 28px;
    }
    .pkg__price-num {
      font-family: 'Playfair Display', serif;
      font-size: 48px; font-weight: 900; line-height: 1;
      color: var(--gold);
    }
    .pkg--star .pkg__price-num { color: var(--gold-dark); }

    .pkg__price-cur {
      font-size: 22px; font-weight: 700; color: var(--gold);
    }
    .pkg--star .pkg__price-cur { color: var(--gold-dark); }

    .pkg__divider {
      height: 1px; background: rgba(255,255,255,.08); margin-bottom: 24px;
    }
    .pkg--star .pkg__divider { background: rgba(0,0,0,.08); }

    .pkg__list {
      list-style: none; display: flex; flex-direction: column;
      gap: 11px; margin-bottom: 32px;
    }
    .pkg__list li {
      display: flex; align-items: flex-start; gap: 10px;
      font-size: 13px; line-height: 1.45; color: rgba(255,255,255,.7);
    }
    .pkg--star .pkg__list li { color: var(--ink); }

    .pkg__list li::before {
      content: '✓'; width: 18px; height: 18px;
      border-radius: 50%; display: flex; align-items: center;
      justify-content: center; font-size: 10px; font-weight: 800;
      flex-shrink: 0;
      background: rgba(192,39,45,.15); color: var(--gold);
    }
    .pkg--star .pkg__list li::before {
      background: rgba(192,39,45,.1); color: var(--red);
    }

    .pkg__list li.cross { color: rgba(255,255,255,.22); }
    .pkg--star .pkg__list li.cross { color: #bbb; }
    .pkg__list li.cross::before {
      content: '×'; background: rgba(255,255,255,.05);
      color: rgba(255,255,255,.2); font-size: 13px;
    }

    .pkg__installment {
      font-size: 11px; font-weight: 600; color: var(--gold);
      background: rgba(192,39,45,.1); border-radius: 2px;
      padding: 6px 12px; text-align: center;
      margin-bottom: 14px;
    }
    .pkg--star .pkg__installment { background: rgba(192,39,45,.15); color: var(--gold-dark); }

    .pkg__refund {
      font-size: 10px; color: rgba(255,255,255,.3); text-align: center; margin-top: 10px;
    }
    .pkg--star .pkg__refund { color: #aaa; }

    /* ── SPEAKERS TEASER ─────────────────────────────── */
    .speakers { padding: 80px 48px; background: var(--gray); }
    .speakers__inner { max-width: 1160px; margin: 0 auto; }

    .speakers__grid {
      display: grid; grid-template-columns: repeat(4, 1fr);
      gap: 16px; margin: 48px 0 0;
    }

    .sp-card {
      background: var(--white); border-radius: 10px;
      padding: 28px 20px; text-align: center;
      border: 1px solid rgba(0,0,0,.06);
      transition: all .3s;
    }
    .sp-card:hover { transform: translateY(-4px); box-shadow: 0 12px 36px rgba(0,0,0,.08); }

    .sp-card__ava {
      width: 64px; height: 64px; border-radius: 50%;
      margin: 0 auto 14px;
      display: flex; align-items: center; justify-content: center;
      font-family: 'Playfair Display', serif;
      font-size: 26px; font-weight: 900; color: var(--black);
    }
    .sp-card__ava--gold { background: linear-gradient(135deg, var(--gold), var(--gold-dark)); }
    .sp-card__ava--red  { background: linear-gradient(135deg, var(--red-light), var(--red-dark)); color: var(--white); }

    .sp-card__name { font-size: 14px; font-weight: 800; color: var(--ink); margin-bottom: 4px; }
    .sp-card__topic { font-size: 12px; line-height: 1.5; color: var(--muted); }

    .sp-card--anna {
      grid-column: span 2;
      background: var(--black); text-align: left;
      display: flex; align-items: center; gap: 24px;
    }
    .sp-card--anna .sp-card__ava {
      width: 80px; height: 80px; font-size: 32px; flex-shrink: 0;
    }
    .sp-card--anna .sp-card__name { color: var(--white); font-size: 18px; }
    .sp-card--anna .sp-card__topic { color: rgba(255,255,255,.5); font-size: 13px; }
    .sp-card--anna .sp-card__role {
      font-size: 10px; font-weight: 800; letter-spacing: 2px;
      text-transform: uppercase; color: var(--gold);
      margin-bottom: 6px;
    }

    .speakers__note {
      text-align: center; margin-top: 28px;
      font-size: 13px; color: var(--muted);
    }
    .speakers__note a { color: var(--gold-dark); border-bottom: 1px solid rgba(192,39,45,.35); }

    /* ── DRESSCODE ────────────────────────────────────── */
    .dresscode { padding: 80px 48px; background: var(--white); }
    .dresscode__inner {
      max-width: 1160px; margin: 0 auto;
      display: grid; grid-template-columns: 1fr 1fr; gap: 32px;
    }

    .dc-card {
      border-radius: 12px; overflow: hidden;
      border: 1px solid rgba(0,0,0,.08);
    }
    .dc-card__head { padding: 28px 32px; }
    .dc-card--1 .dc-card__head {
      background: linear-gradient(135deg, #2a0c14, #3a1a0a);
    }
    .dc-card--2 .dc-card__head {
      background: linear-gradient(135deg, #380810, #4a1008);
    }

    .dc-card__day {
      font-size: 10px; font-weight: 800; letter-spacing: 2.5px;
      text-transform: uppercase; margin-bottom: 8px;
    }
    .dc-card--1 .dc-card__day { color: var(--gold); }
    .dc-card--2 .dc-card__day { color: var(--red-light); }

    .dc-card__title {
      font-size: 20px; font-weight: 800; color: var(--white);
      margin-bottom: 4px;
    }
    .dc-card__subtitle { font-size: 13px; color: rgba(255,255,255,.5); }

    .dc-card__body { padding: 28px 32px; background: var(--white); }

    .dc-card__style {
      font-size: 18px; font-weight: 800; color: var(--ink);
      margin-bottom: 8px;
    }
    .dc-card__note { font-size: 13px; line-height: 1.65; color: var(--muted); }

    .dc-colors {
      display: flex; gap: 10px; margin-top: 20px; align-items: center;
    }
    .dc-swatch {
      width: 36px; height: 36px; border-radius: 50%;
      border: 2px solid rgba(0,0,0,.1);
    }
    .dc-swatch--white { background: #FFFFFF; }
    .dc-swatch--gold  { background: var(--gold); }
    .dc-swatch--dark  { background: var(--ink); }
    .dc-color-label { font-size: 12px; color: var(--muted); margin-left: 4px; }

    /* ── CTA / FORM ──────────────────────────────────── */
    .cta-section {
      padding: 96px 48px;
      background: linear-gradient(135deg, #1E1000 0%, #3D2400 28%, #643A00 55%, #3D2400 80%, #1E1000 100%);
      background-size: 400% 400%;
      animation: gradientShift 12s ease infinite;
      position: relative; overflow: hidden;
    }
    /* Золотое сияние на CTA */
    .cta-section::before {
      content: '';
      position: absolute; inset: 0;
      background: radial-gradient(ellipse at 50% 50%, rgba(192,39,45,.18) 0%, transparent 60%);
      animation: goldPulse 4s ease-in-out infinite;
      pointer-events: none;
    }



    /* Фото-дым в CTA */
    .cta-decor-smoke {
      position: absolute;
      bottom: 0; right: 0;
      width: 380px; opacity: .35;
      pointer-events: none;
    }
    .cta-decor-ribbon {
      position: absolute;
      top: -20px; left: -20px;
      width: 340px; opacity: .2;
      pointer-events: none;
    }

    .cta-section__inner { max-width: 700px; margin: 0 auto; text-align: center; position: relative; z-index: 2; }

    .cta-section__pre {
      display: inline-block;
      border: 1px solid rgba(192,39,45,.4);
      background: rgba(192,39,45,.12);
      color: var(--red-light); font-size: 11px; font-weight: 800;
      letter-spacing: 2px; text-transform: uppercase;
      padding: 7px 18px; border-radius: 2px; margin-bottom: 24px;
    }

    .cta-section__title {
      font-size: clamp(30px, 5vw, 54px); font-weight: 900;
      color: var(--white); margin-bottom: 16px;
    }
    .cta-section__title .gold { color: var(--gold); }

    .cta-section__sub {
      font-size: 15px; color: rgba(255,255,255,.55);
      line-height: 1.7; margin-bottom: 48px;
    }

    .form { display: flex; flex-direction: column; gap: 14px; }

    .form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }

    .form-input {
      width: 100%; padding: 15px 18px;
      background: rgba(255,255,255,.06);
      border: 1px solid rgba(255,255,255,.12);
      border-radius: 5px;
      font-family: 'Montserrat', sans-serif;
      font-size: 14px; color: var(--white);
      outline: none; transition: border-color .2s;
    }
    .form-input::placeholder { color: rgba(255,255,255,.3); }
    .form-input:focus {
      border-color: var(--gold);
      background: rgba(255,255,255,.09);
    }

    .form-select {
      appearance: none;
      background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath fill='%23C9A84C' d='M1 1l5 5 5-5'/%3E%3C/svg%3E");
      background-repeat: no-repeat; background-position: right 16px center;
      padding-right: 40px; cursor: pointer;
    }
    .form-select option { background: #2a0c14; color: var(--white); }

    .form-notice {
      font-size: 11px; color: rgba(255,255,255,.3); text-align: center;
    }
    .form-notice a { color: var(--gold); }

    /* ── FOOTER ──────────────────────────────────────── */
    .footer { background: linear-gradient(135deg, #0E0206 0%, #1C0510 50%, #0E0206 100%); padding: 60px 48px 40px; border-top: 1px solid rgba(200,146,58,.25); }
    .footer__inner { max-width: 1160px; margin: 0 auto; }

    .footer__top {
      display: grid; grid-template-columns: 2fr 1fr 1fr;
      gap: 60px; padding-bottom: 48px;
      border-bottom: 1px solid rgba(255,255,255,.05); margin-bottom: 36px;
    }

    .footer__logo {
      font-family: 'Playfair Display', serif;
      font-size: 22px; font-weight: 700; color: var(--gold); margin-bottom: 14px;
    }
    .footer__logo span { color: var(--white); }

    .footer__about { font-size: 13px; line-height: 1.7; color: rgba(255,255,255,.38); }

    .footer__contacts { margin-top: 24px; display: flex; flex-direction: column; gap: 10px; }
    .footer__contact {
      display: flex; align-items: center; gap: 10px;
      font-size: 13px; color: rgba(255,255,255,.55);
    }
    .footer__contact .ic { color: var(--gold); }

    .footer__col-title {
      font-size: 10px; font-weight: 800; letter-spacing: 2.5px;
      text-transform: uppercase; color: rgba(255,255,255,.35); margin-bottom: 18px;
    }
    .footer__links { list-style: none; display: flex; flex-direction: column; gap: 11px; }
    .footer__links a { font-size: 13px; color: rgba(255,255,255,.48); transition: color .2s; }
    .footer__links a:hover { color: var(--gold); }

    .footer__bottom {
      display: flex; justify-content: space-between;
      align-items: center; flex-wrap: wrap; gap: 16px;
    }
    .footer__copy { font-size: 12px; color: rgba(255,255,255,.25); }

    .footer__social { display: flex; gap: 10px; }
    .footer__social a {
      width: 36px; height: 36px; border-radius: 6px;
      border: 1px solid rgba(255,255,255,.1);
      display: flex; align-items: center; justify-content: center;
      font-size: 14px; color: rgba(255,255,255,.38); transition: all .2s;
    }
    .footer__social a:hover { border-color: var(--gold); color: var(--gold); }

    /* ── INTRO PHOTO ─────────────────────────────────── */
    .intro__photo-wrap {
      position: relative;
    }
    .intro__photo {
      width: 100%; border-radius: 16px;
      object-fit: cover; aspect-ratio: 3/4;
      box-shadow: 0 32px 80px rgba(192,39,45,.25), 0 8px 24px rgba(0,0,0,.15);
    }
    .intro__photo-frame {
      position: absolute;
      inset: -12px; border-radius: 20px;
      border: 1px solid rgba(200,146,58,.25);
      pointer-events: none;
    }
    .intro__photo-tag {
      position: absolute; bottom: -16px; left: 24px;
      background: var(--red); color: var(--white);
      font-size: 11px; font-weight: 800; letter-spacing: 1.5px;
      text-transform: uppercase; padding: 9px 18px; border-radius: 3px;
      box-shadow: 0 6px 20px rgba(192,39,45,.4);
    }

    /* ── INTRO PHOTO COLLAGE ─────────────────────────── */
    .intro__photos {
      position: relative;
      padding: 24px 0 56px 40px;
    }
    /* Золотая аура позади коллажа */
    .intro__photos::before {
      content: '';
      position: absolute; top: 15%; left: 15%; right: 5%; bottom: 15%;
      background: radial-gradient(ellipse, rgba(192,39,45,.14) 0%, rgba(192,39,45,.04) 55%, transparent 75%);
      border-radius: 50%;
      animation: goldPulse 5s ease-in-out infinite;
      pointer-events: none; z-index: 0;
    }
    /* Главное фото — банкет/фужеры */
    .intro__photo-a {
      position: relative; z-index: 1;
      border-radius: 18px; overflow: hidden;
      aspect-ratio: 4/3;
      transform: rotate(2.5deg);
      box-shadow: 14px 24px 64px rgba(26,4,8,.16), 0 4px 16px rgba(26,4,8,.08);
      border: 4px solid var(--white);
      transition: transform .4s ease;
    }
    .intro__photo-a:hover { transform: rotate(1deg) scale(1.02); }
    .intro__photo-a img {
      width: 100%; height: 100%; object-fit: cover; display: block;
      animation: introBurns 18s ease-in-out infinite alternate;
    }
    /* Фото-накладка — артист с микрофоном */
    .intro__photo-b {
      position: absolute;
      bottom: 0; left: -10px;
      width: 54%; aspect-ratio: 3/4;
      z-index: 2;
      border-radius: 14px; overflow: hidden;
      transform: rotate(-3.5deg);
      box-shadow: 10px 18px 52px rgba(26,4,8,.22), 0 4px 12px rgba(26,4,8,.1);
      border: 4px solid var(--white);
      animation: introFloat 5.5s ease-in-out infinite;
    }
    .intro__photo-b img {
      width: 100%; height: 100%; object-fit: cover; display: block;
      object-position: center top;
      animation: introBurns 14s ease-in-out 1.5s infinite alternate-reverse;
    }
    /* Золотой бейдж на коллаже */
    .intro__photo-label {
      position: absolute;
      top: 14px; right: -16px; z-index: 3;
      background: #ffffff;
      color: var(--red);
      font-family: 'Montserrat', sans-serif;
      font-size: 10px; font-weight: 900;
      letter-spacing: 1.2px; text-transform: uppercase;
      padding: 9px 18px; border-radius: 30px;
      box-shadow: 0 6px 24px rgba(0,0,0,.18);
    }
    @keyframes introFloat {
      0%, 100% { transform: rotate(-3.5deg) translateY(0); }
      50%       { transform: rotate(-3.5deg) translateY(-12px); }
    }
    @keyframes introBurns {
      0%   { transform: scale(1)    translate(0,    0); }
      100% { transform: scale(1.07) translate(-1%, -0.8%); }
    }
    @media (max-width: 1024px) {
      .intro__photos { padding: 20px 0 48px 24px; }
      .intro__photo-b { width: 50%; }
    }
    @media (max-width: 768px) {
      .intro__photos { padding: 20px 0 44px 18px; }
      .intro__photo-label { right: -8px; }
    }

    /* ── ANNA PHOTO ──────────────────────────────────── */
    .anna-photo {
      width: 100%; border-radius: 12px;
      object-fit: cover; aspect-ratio: 4/5;
      box-shadow: 0 24px 60px rgba(0,0,0,.3);
    }

    /* ── PACKAGES DECOR ──────────────────────────────── */
    .packages {
      position: relative; overflow: hidden;
    }
    .packages-decor-wave {
      position: absolute;
      bottom: -40px; left: -60px;
      width: 520px; opacity: .18;
      pointer-events: none;
    }
    .packages-decor-wave-r {
      position: absolute;
      top: -60px; right: -60px;
      width: 420px; opacity: .12;
      pointer-events: none;
      transform: rotate(180deg) scaleX(-1);
    }

    /* ── FLOAT BTN ───────────────────────────────────── */
    .float-btn {
      position: fixed; bottom: 28px; right: 28px; z-index: 1400;
      background: linear-gradient(110deg, #8B1520 0%, #C0272D 25%, #E04040 50%, #C0272D 75%, #8B1520 100%);
      background-size: 250% auto;
      color: var(--black);
      font-family: 'Montserrat', sans-serif;
      font-size: 12px; font-weight: 800;
      letter-spacing: .5px; text-transform: uppercase;
      padding: 13px 22px; border-radius: 100px; border: none;
      cursor: pointer; transition: transform .25s ease, box-shadow .25s ease;
      position: fixed; overflow: hidden;
      animation: btnGradMove 3.5s linear infinite, goldPulseRing 2.8s ease-in-out infinite;
    }
    .float-btn:hover { transform: translateY(-4px) scale(1.04); box-shadow: 0 12px 36px rgba(192,39,45,.6) !important; }

    /* ── RESPONSIVE ──────────────────────────────────── */
    @media (max-width: 1024px) {
      .nav__links { display: none; }
      .nav__burger { display: flex; }
      .nav__links--open {
        display: flex !important; flex-direction: column;
        position: fixed; top: 71px; left: 0; right: 0;
        background: rgba(20,20,20,.98);
        padding: 20px 28px; gap: 4px;
        border-bottom: 1px solid rgba(192,39,45,.2); z-index: 1400;
      }
      .nav__links--open a { padding: 11px 0; font-size: 15px; border-bottom: 1px solid rgba(255,255,255,.05); }
      .nav { padding: 0 24px; }

      .intro__inner { grid-template-columns: 1fr; gap: 48px; }
      .intro__photos { order: -1; }
      /* WHY orbit: switch from absolute pentagon to vertical flex stack */
      .why-orbit { position: relative; min-height: auto; display: flex; flex-direction: column; align-items: center; gap: 28px; }
      .why-node { position: static; flex-direction: row !important; align-items: center; transform: scale(.85); opacity: 0; }
      .why-node.in-view { transform: scale(1); opacity: 1; }
      .why-node--top { transform: scale(.85); }
      .why-node--top.in-view { transform: scale(1); }
      .why-node__photo { width: 120px; height: 120px; }
      .why-node__text { font-size: 13px; max-width: 200px; text-align: left !important; }
      .topics { grid-template-columns: 1fr 1fr; }
      .tedx-info { grid-template-columns: 1fr; }
      .evening-grid { grid-template-columns: 1fr 1fr; }
      .location__inner { grid-template-columns: 1fr; }
      .pkg-grid { grid-template-columns: 1fr; gap: 32px; }
      .pkg--star { transform: scale(1); }
      .speakers__grid { grid-template-columns: 1fr 1fr; }
      .sp-card--anna { grid-column: span 2; }
      .dresscode__inner { grid-template-columns: 1fr; }
      .footer__top { grid-template-columns: 1fr 1fr; }
    }

    @media (max-width: 768px) {
      .section, .intro, .why, .day-section, .location, .packages,
      .speakers, .dresscode, .cta-section, .footer { padding: 64px 20px; }
      .hero__content { padding: 120px 20px 64px; }
      .why-orbit { gap: 16px; }
      .why-orbit__ring, .why-orbit__aa, .why-orbit__center { display: none; }
      .why-node { padding: 10px 0; justify-content: flex-start !important; }
      .why-node--top { flex-direction: row !important; }
      .why-node--top .why-node__text { margin-top: 0; text-align: left !important; }
      /* Шахматный порядок: последний элемент — фото перед текстом */
      .why-node--bot-right { flex-direction: row-reverse !important; }
      .why-node__photo { width: 100px; height: 100px; }
      .topics { grid-template-columns: 1fr; }
      .evening-grid { grid-template-columns: 1fr; }
      .speakers__grid { grid-template-columns: 1fr; }
      .sp-card--anna { grid-column: span 1; flex-direction: column; text-align: center; }
      .footer__top { grid-template-columns: 1fr; gap: 32px; }
      .form-row { grid-template-columns: 1fr; }
      .hero__actions { flex-direction: column; align-items: flex-start; }
      .ticker-wrap { padding: 12px 0; }
      .t-item { padding: 0 18px; font-size: 11px; }
      .t-cd__num { font-size: 17px; }
      .t-days-num { font-size: 18px; }
      .dc-card__head, .dc-card__body { padding: 20px; }
      .schedule__time { width: 120px; font-size: 11px; }
      .float-btn { bottom: 16px; right: 16px; }
    }

    /* ── ABOUT AUTHOR ────────────────────────────────── */
    .about-author {
      padding: 100px 48px;
      background:
        linear-gradient(145deg,
          #E3EFF8 0%,
          #EEF5FC 30%,
          #F4F9FF 60%,
          #EAF2F9 100%);
      position: relative; overflow: hidden;
    }

    /* Sea-breeze декор: два больших круга */
    .about-author::before {
      content: '';
      position: absolute; top: -200px; right: -120px;
      width: 620px; height: 620px; border-radius: 50%;
      background: radial-gradient(circle, rgba(10,40,90,.05) 0%, transparent 65%);
      pointer-events: none;
    }
    .about-author::after {
      content: '';
      position: absolute; bottom: -140px; left: -80px;
      width: 440px; height: 440px; border-radius: 50%;
      background: radial-gradient(circle, rgba(192,39,45,.07) 0%, transparent 65%);
      pointer-events: none;
    }

    .about-author__inner {
      max-width: 1160px; margin: 0 auto;
      display: grid; grid-template-columns: 1fr .8fr;
      gap: 80px; align-items: center;
      position: relative; z-index: 1;
    }

    .about-author__label {
      display: inline-flex; align-items: center; gap: 12px;
      font-size: 10px; font-weight: 800; letter-spacing: 3px;
      text-transform: uppercase; color: #5C8AAA;
      margin-bottom: 22px;
    }
    .about-author__label::before {
      content: ''; width: 28px; height: 1px; background: currentColor; flex-shrink: 0;
    }

    .about-author__name {
      font-family: 'Playfair Display', serif;
      font-size: clamp(46px, 6vw, 76px);
      font-weight: 900; line-height: .92;
      color: var(--gold);
      margin-bottom: 14px;
    }

    .about-author__role {
      font-size: 14px; font-weight: 700;
      color: #2A0C14; letter-spacing: .5px;
      margin-bottom: 28px;
      text-transform: uppercase;
    }

    .about-author__bio {
      font-size: 15px; line-height: 1.85;
      color: #7A5240; max-width: 480px; margin-bottom: 48px;
    }
    .about-author__bio strong { color: #2A0C14; font-weight: 700; }

    /* Три показателя */
    .about-stats {
      display: grid; grid-template-columns: repeat(3, 1fr);
      gap: 14px; margin-bottom: 40px;
    }

    .about-stat {
      background: #2A0C14;
      border-radius: 14px; padding: 28px 18px 22px;
      text-align: center; position: relative; overflow: hidden;
      transition: transform .25s, box-shadow .25s;
    }
    .about-stat:hover {
      transform: translateY(-5px);
      box-shadow: 0 20px 44px rgba(42,12,20,.35);
    }
    .about-stat::after {
      content: '';
      position: absolute; bottom: 0; left: 0; right: 0; height: 3px;
      background: linear-gradient(90deg, var(--gold), transparent);
    }

    .about-stat__num {
      font-family: 'Playfair Display', serif;
      font-size: clamp(36px, 4vw, 54px);
      font-weight: 900; color: #FFFFFF;
      line-height: 1; margin-bottom: 10px;
    }
    .about-stat__num sup {
      font-size: .44em; vertical-align: super;
      font-weight: 700; color: var(--gold);
    }
    .about-stat__desc {
      font-size: 11px; font-weight: 600;
      letter-spacing: .3px; line-height: 1.45;
      color: rgba(255,255,255,.48);
    }

    /* Логотипы / партнёры */
    .about-logos {
      display: flex; align-items: center;
      gap: 10px; flex-wrap: wrap;
    }
    .about-logos__label {
      font-size: 9px; font-weight: 800;
      letter-spacing: 2.5px; text-transform: uppercase;
      color: #8EA8C0; white-space: nowrap; flex-shrink: 0;
      margin-right: 6px;
    }
    .about-logo-chip {
      padding: 7px 14px; border-radius: 8px;
      border: 1px solid rgba(11,31,58,.13);
      background: rgba(255,255,255,.75);
      backdrop-filter: blur(4px);
      font-size: 11px; font-weight: 800;
      color: var(--ink); letter-spacing: .3px; white-space: nowrap;
    }
    .about-logo-chip--gold {
      background: rgba(192,39,45,.1);
      border-color: rgba(192,39,45,.35);
      color: var(--gold-dark);
    }

    /* Правая колонка — фото */
    .about-author__visual { position: relative; }

    .about-author__visual::before {
      content: '';
      position: absolute; inset: -10px;
      border-radius: 30px;
      border: 1px solid rgba(192,39,45,.22);
      pointer-events: none; z-index: 0;
    }

    .about-author__photo-wrap {
      position: relative; border-radius: 22px; overflow: hidden;
      box-shadow:
        28px 44px 88px rgba(26,4,8,.14),
        -4px -4px 28px rgba(255,255,255,.85);
      z-index: 1;
    }

    .about-author__photo {
      width: 100%; display: block;
      object-fit: cover; object-position: top center;
      aspect-ratio: 3/4;
    }

    /* Плавающие бейджи */
    .about-float {
      position: absolute; z-index: 2;
      border-radius: 14px; padding: 14px 18px;
      backdrop-filter: blur(12px);
      box-shadow: 0 10px 36px rgba(0,0,0,.14);
    }
    .about-float--tl {
      top: 36px; left: -36px;
      background: rgba(253,248,242,.97);
      border: 1px solid rgba(192,39,45,.45);
    }
    .about-float--br {
      bottom: 52px; right: -32px;
      background: rgba(255,255,255,.97);
      border: 1px solid rgba(26,4,8,.1);
    }

    .about-float__icon { font-size: 22px; margin-bottom: 5px; }
    .about-float__val {
      font-family: 'Playfair Display', serif;
      font-size: 24px; font-weight: 900; line-height: 1;
    }
    .about-float--tl .about-float__val { color: var(--gold); }
    .about-float--br .about-float__val { color: var(--ink); }
    .about-float__sub {
      font-size: 10px; font-weight: 600; letter-spacing: .3px; margin-top: 3px;
    }
    .about-float--tl .about-float__sub { color: var(--muted); }
    .about-float--br .about-float__sub { color: var(--muted); }

    @media (max-width: 1024px) {
      .about-author__inner {
        grid-template-columns: 1fr; gap: 52px;
      }
      .about-author__visual { max-width: 400px; margin: 0 auto; }
    }
    @media (max-width: 768px) {
      .about-author { padding: 64px 20px; }
      .about-stats { grid-template-columns: repeat(3, 1fr); gap: 10px; }
      .about-stat { padding: 20px 12px 16px; }
      .about-float--tl { left: -8px; }
      .about-float--br { right: -8px; }
    }

    /* ── ABOUT AUTHOR ────────────────────────────────── */
    .about-author {
      padding: 100px 48px;
      background: linear-gradient(145deg, #FFFFFF 0%, #FFFFFF 38%, #FFFFFF 70%, #FFFFFF 100%);
      position: relative; overflow: hidden;
    }
    /* Конфетти-искры в углах */
    .about-author::before {
      content: '✦  ◆  ✦\A◆  ✦  ◆\A✦  ◆  ✦';
      white-space: pre;
      position: absolute; top: 36px; right: 44px;
      font-size: 15px; letter-spacing: 8px; line-height: 1.9;
      color: var(--gold); opacity: .18;
      pointer-events: none;
    }
    .about-author::after {
      content: '◆  ✦  ◆\A✦  ◆  ✦\A◆  ✦  ◆';
      white-space: pre;
      position: absolute; bottom: 36px; left: 44px;
      font-size: 15px; letter-spacing: 8px; line-height: 1.9;
      color: var(--gold); opacity: .14;
      pointer-events: none;
    }
    .about-author__inner {
      max-width: 1160px; margin: 0 auto;
      display: grid; grid-template-columns: 1fr .8fr;
      gap: 80px; align-items: center;
      position: relative; z-index: 1;
    }
    .about-author__label {
      display: inline-flex; align-items: center; gap: 12px;
      font-size: 10px; font-weight: 800; letter-spacing: 3px;
      text-transform: uppercase; color: var(--gold-dark); margin-bottom: 22px;
    }
    .about-author__label::before {
      content: ''; width: 28px; height: 1px; background: currentColor; flex-shrink: 0;
    }
    .about-author__name {
      font-family: 'Playfair Display', serif;
      font-size: clamp(46px, 6vw, 76px);
      font-weight: 900; line-height: .92;
      color: var(--gold); margin-bottom: 14px;
    }
    .about-author__role {
      font-size: 13px; font-weight: 800;
      color: #2A0C14; letter-spacing: 1.5px;
      text-transform: uppercase; margin-bottom: 28px;
    }
    .about-author__bio {
      font-size: 15px; line-height: 1.85;
      color: #4A6277; max-width: 480px; margin-bottom: 48px;
    }
    .about-author__bio strong { color: #2A0C14; font-weight: 700; }

    /* Три показателя */
    .about-stats {
      display: grid; grid-template-columns: repeat(3, 1fr);
      gap: 14px; margin-bottom: 40px;
    }
    .about-stat {
      background: #2A0C14;
      border-radius: 14px; padding: 28px 18px 22px;
      text-align: center; position: relative; overflow: hidden;
      transition: transform .25s, box-shadow .25s;
    }
    .about-stat:hover {
      transform: translateY(-5px);
      box-shadow: 0 20px 44px rgba(11,31,58,.28);
    }
    .about-stat::after {
      content: '';
      position: absolute; bottom: 0; left: 0; right: 0; height: 3px;
      background: linear-gradient(90deg, var(--gold), transparent);
    }
    .about-stat__num {
      font-family: 'Playfair Display', serif;
      font-size: clamp(36px, 4vw, 54px); font-weight: 900;
      color: #FFFFFF; line-height: 1; margin-bottom: 10px;
    }
    .about-stat__num sup {
      font-size: .44em; vertical-align: super;
      font-weight: 700; color: var(--gold);
    }
    .about-stat__desc {
      font-size: 11px; font-weight: 600;
      letter-spacing: .3px; line-height: 1.45;
      color: rgba(255,255,255,.48);
    }

    /* Логотипы */
    .about-logos {
      display: flex; align-items: center; gap: 10px; flex-wrap: wrap;
    }
    .about-logos__label {
      font-size: 9px; font-weight: 800;
      letter-spacing: 2.5px; text-transform: uppercase;
      color: var(--muted); white-space: nowrap;
      flex-shrink: 0; margin-right: 6px;
    }
    .about-logo-chip {
      padding: 7px 14px; border-radius: 8px;
      border: 1px solid rgba(26,4,8,.13);
      background: rgba(255,255,255,.75);
      backdrop-filter: blur(4px);
      font-size: 11px; font-weight: 800;
      color: #2A3F5A; letter-spacing: .3px; white-space: nowrap;
    }
    .about-logo-chip--gold {
      background: rgba(192,39,45,.1);
      border-color: rgba(192,39,45,.35);
      color: var(--gold-dark);
    }

    /* Правая колонка */
    .about-author__visual { position: relative; }
    .about-author__visual::before {
      content: '';
      position: absolute; inset: -10px;
      border-radius: 30px;
      border: 1px solid rgba(192,39,45,.22);
      pointer-events: none; z-index: 0;
    }
    .about-author__photo-wrap {
      position: relative; border-radius: 22px; overflow: hidden;
      box-shadow:
        28px 44px 88px rgba(11,31,58,.18),
        -4px -4px 28px rgba(255,255,255,.85);
      z-index: 1;
    }
    .about-author__photo {
      width: 100%; display: block;
      object-fit: cover; object-position: top center; aspect-ratio: 3/4;
    }

    /* Плавающие бейджи */
    .about-float {
      position: absolute; z-index: 2;
      border-radius: 14px; padding: 14px 18px;
      backdrop-filter: blur(12px);
      box-shadow: 0 10px 36px rgba(0,0,0,.14);
    }
    .about-float--tl {
      top: 36px; left: -36px;
      background: rgba(11,31,58,.93);
      border: 1px solid rgba(192,39,45,.32);
    }
    .about-float--br {
      bottom: 52px; right: -32px;
      background: rgba(255,255,255,.97);
      border: 1px solid rgba(11,31,58,.1);
    }
    .about-float__icon { font-size: 22px; margin-bottom: 5px; }
    .about-float__val {
      font-family: 'Playfair Display', serif;
      font-size: 24px; font-weight: 900; line-height: 1;
    }
    .about-float--tl .about-float__val { color: var(--gold); }
    .about-float--br .about-float__val { color: #2A0C14; }
    .about-float__sub {
      font-size: 10px; font-weight: 600; letter-spacing: .3px; margin-top: 3px;
    }
    .about-float--tl .about-float__sub { color: rgba(255,255,255,.48); }
    .about-float--br .about-float__sub { color: #7A9AB8; }

    /* Конфетти canvas — About Author */
    #aboutCanvas {
      position: absolute; inset: 0;
      width: 100%; height: 100%;
      pointer-events: none; z-index: 0;
    }

    /* Левитация фото */
    .about-author__photo-wrap {
      animation: photoFloat 5.5s ease-in-out infinite;
    }
    @keyframes photoFloat {
      0%, 100% { transform: translateY(0px) rotate(0deg); }
      40%       { transform: translateY(-13px) rotate(.4deg); }
      70%       { transform: translateY(-7px) rotate(-.25deg); }
    }
    /* Золотой блик скользит по фото */
    .about-author__photo-wrap::after {
      content: '';
      position: absolute; inset: 0; z-index: 3;
      background: linear-gradient(
        115deg,
        transparent 0%, transparent 32%,
        rgba(255,224,128,.16) 50%,
        transparent 68%, transparent 100%
      );
      animation: photoShimmer 7s ease-in-out 1.2s infinite;
      pointer-events: none;
      border-radius: 22px;
    }
    @keyframes photoShimmer {
      0%        { transform: translateX(-100%); opacity: 1; }
      30%        { transform: translateX(200%);  opacity: 1; }
      30.01%, 100% { transform: translateX(200%);  opacity: 0; }
    }
    /* Золотая аура за фото */
    .about-author__visual::after {
      content: '';
      position: absolute;
      top: 20%; left: 10%; right: 10%; bottom: 5%;
      border-radius: 50%;
      background: radial-gradient(ellipse, rgba(192,39,45,.13) 0%, rgba(192,39,45,.04) 50%, transparent 70%);
      animation: goldPulse 4.5s ease-in-out infinite;
      pointer-events: none; z-index: 0;
    }

    /* Текстовые элементы — начальное состояние (управляется JS) */
    .about-author__label,
    .about-author__name,
    .about-author__role,
    .about-author__bio { will-change: opacity, transform; }

    /* Слова биографии с анимацией */
    .bio-word {
      display: inline-block;
      opacity: 0;
      transform: translateY(14px);
      transition: opacity .45s ease, transform .45s ease;
    }
    .bio-word.visible {
      opacity: 1;
      transform: translateY(0);
    }

    @media (max-width: 1024px) {
      .about-author__inner { grid-template-columns: 1fr; gap: 52px; }
      .about-author__visual { max-width: 400px; margin: 0 auto; }
    }
    @media (max-width: 768px) {
      .about-author { padding: 64px 20px; }
    }

    /* ── GALLERY SLIDER ──────────────────────────────── */
    .gallery {
      padding: 96px 0 64px;
      background: #0A0A10;
      overflow: hidden;
    }

    .gallery__header {
      padding: 0 48px;
      max-width: 1160px;
      margin: 0 auto 52px;
    }
    .gallery__header .sec-title { color: var(--ink); }
    .gallery__header .sec-title .w  { color: var(--ink); }
    .gallery__header .sec-title .gl { color: var(--gold-dark); }

    /* Viewport */
    .slider__viewport {
      position: relative;
      width: 100%;
      height: clamp(340px, 62vh, 700px);
      overflow: hidden;
      cursor: pointer;
    }

    /* Слайды */
    .slide {
      position: absolute; inset: 0;
      opacity: 0;
      transition: opacity .85s ease;
      z-index: 1;
    }
    .slide.active { opacity: 1; z-index: 2; }

    .slide__img {
      width: 100%; height: 100%;
      object-fit: cover; object-position: center;
      display: block;
      transform: scale(1.06);
      transition: transform 6s ease;
    }
    .slide.active .slide__img { transform: scale(1); }

    /* Градиент поверх фото */
    .slide__grad {
      position: absolute; inset: 0; pointer-events: none;
      background: linear-gradient(180deg,
        rgba(0,0,0,.18) 0%,
        transparent 35%,
        transparent 60%,
        rgba(0,0,0,.55) 100%);
    }

    /* Стрелки */
    .slider__arrow {
      position: absolute; top: 50%; z-index: 10;
      transform: translateY(-50%);
      width: 54px; height: 54px; border-radius: 50%;
      background: rgba(10,10,16,.6);
      border: 1px solid rgba(192,39,45,.45);
      color: var(--gold); font-size: 22px; font-weight: 300;
      cursor: pointer; display: flex; align-items: center; justify-content: center;
      backdrop-filter: blur(10px);
      transition: all .22s; line-height: 1;
    }
    .slider__arrow:hover {
      background: var(--gold); color: var(--black);
      border-color: var(--gold);
      transform: translateY(-50%) scale(1.08);
    }
    .slider__arrow--prev { left: 28px; }
    .slider__arrow--next { right: 28px; }

    /* Счётчик */
    .slider__counter {
      position: absolute; bottom: 20px; right: 24px; z-index: 10;
      font-family: 'Playfair Display', serif;
      font-size: 13px; color: rgba(255,255,255,.55);
      background: rgba(0,0,0,.45); backdrop-filter: blur(8px);
      padding: 5px 14px; border-radius: 2px;
      border: 1px solid rgba(255,255,255,.08);
      letter-spacing: .5px;
    }
    .slider__counter .s-cur { color: var(--gold-light); font-weight: 700; }

    /* Прогресс-бар */
    .slider__progress {
      height: 2px;
      background: rgba(255,255,255,.08);
      position: relative; overflow: hidden;
    }
    .slider__progress-fill {
      height: 100%;
      background: linear-gradient(90deg, var(--gold-dark), var(--gold-light));
      width: 0%;
      transition: width .5s ease;
    }

    /* Миниатюры */
    .slider__thumbs {
      display: flex; gap: 6px;
      padding: 18px 48px 0;
      overflow-x: auto;
      scrollbar-width: none;
      -ms-overflow-style: none;
    }
    .slider__thumbs::-webkit-scrollbar { display: none; }

    .slider__thumb {
      flex-shrink: 0;
      width: 80px; height: 54px;
      border-radius: 4px; overflow: hidden;
      cursor: pointer;
      opacity: .35;
      border: 2px solid transparent;
      transition: opacity .25s, border-color .25s, transform .2s;
    }
    .slider__thumb:hover { opacity: .65; transform: translateY(-2px); }
    .slider__thumb.active {
      opacity: 1;
      border-color: var(--gold);
      box-shadow: 0 0 14px rgba(192,39,45,.4);
    }
    .slider__thumb img {
      width: 100%; height: 100%; object-fit: cover; display: block;
    }

    /* Touch/swipe cursor */
    .slider__viewport:active { cursor: grabbing; }

    @media (max-width: 768px) {
      .gallery { padding: 64px 0 40px; }
      .gallery__header { padding: 0 20px; margin-bottom: 32px; }
      .slider__arrow { width: 40px; height: 40px; font-size: 18px; }
      .slider__arrow--prev { left: 12px; }
      .slider__arrow--next { right: 12px; }
      .slider__thumbs { padding: 14px 20px 0; }
      .slider__thumb { width: 60px; height: 40px; }
    }

    /* ── GALLERY SLIDER ──────────────────────────────── */
    /* ── GALLERY CAROUSEL ─────────────────────────────── */
    .gallery {
      padding: 72px 0 100px;
      background: linear-gradient(160deg, #5C0A14 0%, #8B1520 40%, #A02030 70%, #6B0F1A 100%);
      position: relative; overflow: hidden;
    }
    /* Глубокое красное сияние за каруселью */
    .gallery::before {
      content: '';
      position: absolute;
      top: 60%; left: 50%;
      transform: translate(-50%, -50%);
      width: 90%; height: 70%;
      background: radial-gradient(ellipse, rgba(192,39,45,.28) 0%, rgba(192,39,45,.10) 45%, transparent 72%);
      animation: goldPulse 5s ease-in-out infinite;
      pointer-events: none; z-index: 0;
    }
    /* Верхняя красная подсветка */
    .gallery::after {
      content: '';
      position: absolute; top: 0; left: 0; right: 0; height: 3px;
      background: linear-gradient(90deg, transparent, var(--red), #E04040, var(--red), transparent);
      opacity: .9;
      pointer-events: none; z-index: 2;
    }

    /* Конфетти canvas */
    #galCanvas {
      position: absolute; inset: 0;
      width: 100%; height: 100%;
      pointer-events: none; z-index: 0;
    }

    .gallery__header {
      padding: 0 48px;
      max-width: 1160px;
      margin: 0 auto 36px;
      position: relative; z-index: 1;
    }
    .gallery__header .sec-title { color: var(--white); text-shadow: 0 2px 24px rgba(0,0,0,.4); }
    .gallery__header .sec-title .w  { color: var(--white); }
    .gallery__header .sec-title .gl { color: #FFE0A0; }
    .gallery__header .kicker--gold  { color: rgba(255,255,255,.65); }
    .gallery__header .h-line        { background: rgba(255,255,255,.22); }

    /* Карусель */
    .carousel { position: relative; z-index: 1; overflow: hidden; }

    .carousel__clip {
      overflow: visible;
      /* маска по краям для мягкого исчезания */
      -webkit-mask-image: linear-gradient(90deg, transparent 0%, #000 5%, #000 95%, transparent 100%);
      mask-image: linear-gradient(90deg, transparent 0%, #000 5%, #000 95%, transparent 100%);
    }

    .carousel__track {
      display: flex;
      align-items: center;
      gap: 22px;
      transition: transform .65s cubic-bezier(.25,.46,.45,.94);
      will-change: transform;
      padding: 32px 0 72px;
    }
    .carousel__track.no-tr { transition: none; }

    /* Карточки */
    .c-card {
      flex-shrink: 0;
      width: 480px; height: 340px;
      border-radius: 18px; overflow: hidden;
      position: relative;
      opacity: .35; transform: scale(.85);
      border: 1.5px solid rgba(192,39,45,.25);
      transition: opacity .55s ease, transform .55s ease, box-shadow .55s ease, border-color .55s ease;
      cursor: pointer;
    }
    .c-card.active {
      opacity: 1; transform: scale(1.04);
      border: 2px solid rgba(255,80,80,.85);
      box-shadow:
        0 0 0 1px rgba(255,255,255,.10),
        0 0 35px rgba(192,39,45,.60),
        0 0 55px rgba(192,39,45,.25);
    }
    .c-card.near {
      opacity: .65; transform: scale(.94);
      border-color: rgba(192,39,45,.45);
      box-shadow: 0 0 18px rgba(192,39,45,.20);
    }

    .c-card img {
      width: 100%; height: 100%;
      object-fit: cover; display: block;
      transition: transform .55s ease;
    }
    .c-card.active img { transform: scale(1.06); }

    /* Глянцевый блик сверху */
    .c-card__shine {
      position: absolute; inset: 0;
      background: linear-gradient(160deg,
        rgba(255,255,255,.12) 0%,
        rgba(255,255,255,.04) 30%,
        transparent 60%,
        rgba(0,0,0,.35) 100%);
      transition: opacity .55s ease;
    }
    .c-card.active .c-card__shine { opacity: 0; }
    .c-card.near .c-card__shine { opacity: .5; }

    /* Стрелки */
    .carousel__btn {
      position: absolute; top: 50%; z-index: 5;
      transform: translateY(-50%);
      width: 46px; height: 46px; border-radius: 50%;
      background: rgba(255,255,255,.92);
      border: 1px solid rgba(192,39,45,.55);
      color: var(--gold); font-size: 20px;
      cursor: pointer;
      display: flex; align-items: center; justify-content: center;
      backdrop-filter: blur(10px);
      transition: all .2s;
    }
    .carousel__btn:hover {
      background: var(--gold); color: #000;
      transform: translateY(-50%) scale(1.1);
    }
    .carousel__btn--prev { left: 18px; }
    .carousel__btn--next { right: 18px; }

    /* Счётчик + dots */
    .carousel__footer {
      display: flex; align-items: center;
      justify-content: center; gap: 20px;
      margin-top: 18px; padding: 0 48px;
      position: relative; z-index: 1;
    }
    .carousel__count {
      font-family: 'Playfair Display', serif;
      font-size: 13px; color: var(--muted);
      min-width: 52px; text-align: center;
    }
    .carousel__count .cc { color: var(--gold-dark); font-weight: 700; }

    .c-dots {
      display: flex; gap: 6px; align-items: center;
    }
    .c-dot {
      width: 5px; height: 5px; border-radius: 50%;
      background: rgba(26,4,8,.15);
      cursor: pointer; border: none; padding: 0;
      transition: all .3s; flex-shrink: 0;
    }
    .c-dot.active {
      background: var(--gold); width: 18px; border-radius: 3px;
      box-shadow: 0 0 8px rgba(192,39,45,.5);
    }

    @media (max-width: 768px) {
      .gallery { padding: 40px 0 36px; }
      .gallery__header { padding: 0 20px; margin-bottom: 24px; }
      .c-card { width: 270px; height: 188px; border-radius: 10px; }
      .carousel__btn { width: 36px; height: 36px; font-size: 16px; }
      .carousel__btn--prev { left: 8px; }
      .carousel__btn--next { right: 8px; }
      /* Центрирование слайдов на мобильном */
      .carousel__clip {
        overflow: hidden;
        -webkit-mask-image: none;
        mask-image: none;
      }
    }

    /* ── PROGRAM CARDS ──────────────────────────────── */
    .prog-cards {
      padding: 96px 48px;
      background: linear-gradient(170deg, #FFFFFF 0%, #FFF5F5 55%, #FFFFFF 100%);
      border-top: 3px solid var(--red);
      position: relative;
      overflow: hidden;
    }

    /* Золотой конфетти-фон в углах */
    .prog-cards::before {
      content: '✦ ◆ ✦\A◆ ✦ ◆\A✦ ◆ ✦';
      white-space: pre;
      position: absolute; top: 32px; left: 36px;
      font-size: 15px; letter-spacing: 8px; line-height: 1.9;
      color: var(--gold); opacity: .14;
      pointer-events: none;
    }
    .prog-cards::after {
      content: '✦ ◆ ✦\A◆ ✦ ◆\A✦ ◆ ✦';
      white-space: pre;
      position: absolute; top: 32px; right: 36px;
      font-size: 15px; letter-spacing: 8px; line-height: 1.9;
      color: var(--gold); opacity: .14;
      pointer-events: none; text-align: right;
    }
    /* Углы снизу */
    .prog-cards__bl, .prog-cards__br {
      position: absolute; bottom: 32px;
      font-size: 15px; letter-spacing: 8px; line-height: 1.9;
      color: var(--gold); opacity: .14;
      pointer-events: none; white-space: pre;
    }
    .prog-cards__bl { left: 36px; }
    .prog-cards__br { right: 36px; text-align: right; }

    .prog-cards__inner {
      max-width: 1100px; margin: 0 auto;
      position: relative; z-index: 1;
    }

    /* Заголовок */
    .prog-cards__hd {
      text-align: center; margin-bottom: 56px;
    }
    .prog-cards__kicker {
      display: inline-flex; align-items: center; gap: 10px;
      font-size: 11px; font-weight: 800; letter-spacing: 3px;
      text-transform: uppercase; color: var(--gold); margin-bottom: 18px;
    }
    .prog-cards__kicker::before,
    .prog-cards__kicker::after { content: '◆'; font-size: 7px; opacity: .6; }
    .prog-cards__title {
      font-family: 'Playfair Display', serif;
      font-size: clamp(28px, 4vw, 46px); font-weight: 900;
      color: var(--ink); line-height: 1.15;
    }
    .prog-cards__title em { color: var(--red-light); font-style: italic; }

    /* Сетка */
    .prog-cards__grid {
      display: grid; grid-template-columns: 1fr 1fr; gap: 26px;
    }

    /* Карточка */
    .pc {
      border-radius: 20px;
      border: 1px solid rgba(192,39,45,.18);
      background: #FFFFFF;
      box-shadow: 0 8px 40px rgba(192,39,45,.10), 0 2px 12px rgba(0,0,0,.06);
      display: flex; flex-direction: column;
      overflow: hidden;
      transition: box-shadow .3s, transform .3s;
    }
    .pc:hover {
      box-shadow: 0 16px 52px rgba(192,39,45,.18), 0 4px 16px rgba(0,0,0,.08);
      transform: translateY(-5px);
    }

    /* Тело карточки */
    .pc__body { padding: 44px 40px 32px; flex: 1; display: flex; flex-direction: column; }

    .pc__sub {
      font-size: 11px; font-weight: 700; letter-spacing: 2.5px;
      text-transform: uppercase; color: var(--muted); margin-bottom: 12px;
    }

    .pc__num {
      font-family: 'Playfair Display', serif;
      font-size: clamp(60px, 8vw, 88px); font-weight: 900;
      line-height: .88; color: var(--ink); display: block;
    }
    .pc__num-dot { color: var(--red-light); }

    .pc__name {
      font-family: 'Playfair Display', serif;
      font-size: clamp(18px, 2.2vw, 24px); font-weight: 700; font-style: italic;
      line-height: 1.2; display: block; margin: 12px 0 26px;
    }
    .pc--gold .pc__name { color: var(--gold-dark); }
    .pc--red  .pc__name { color: var(--red-dark); }

    .pc__rule {
      height: 2px; width: 48px; border-radius: 2px; margin-bottom: 22px; flex-shrink: 0;
    }
    .pc--gold .pc__rule { background: linear-gradient(90deg, var(--gold), var(--gold-light)); }
    .pc--red  .pc__rule { background: linear-gradient(90deg, var(--red), #E04040); }

    .pc__desc {
      font-size: 14px; line-height: 1.82; color: #555; flex: 1; margin-bottom: 32px;
    }

    .pc__btn {
      display: flex; align-items: center; justify-content: center; gap: 6px;
      height: 52px; border-radius: 10px;
      font-family: 'Montserrat', sans-serif;
      font-size: 13px; font-weight: 800; letter-spacing: .4px;
      color: var(--white); text-decoration: none; margin-bottom: 26px; flex-shrink: 0;
      position: relative; overflow: hidden;
      background-size: 250% auto;
      transition: transform .25s ease, box-shadow .25s ease;
      animation: btnGradMove 4s linear infinite;
    }
    .pc__btn:hover { transform: translateY(-3px); filter: brightness(1.08); }
    .pc--gold .pc__btn {
      background-image: linear-gradient(110deg, #8B1520 0%, #C0272D 25%, #E04040 50%, #C0272D 75%, #8B1520 100%);
      color: var(--white);
    }
    .pc--gold .pc__btn:hover { box-shadow: 0 8px 28px rgba(192,39,45,.55); }
    .pc--red  .pc__btn {
      background-image: linear-gradient(110deg, #8B1520 0%, #C0272D 25%, #E04040 50%, #C0272D 75%, #8B1520 100%);
    }
    .pc--red .pc__btn:hover { box-shadow: 0 8px 28px rgba(192,39,45,.55); }

    .pc__venue {
      display: flex; align-items: flex-start; gap: 7px;
      font-size: 12.5px; line-height: 1.55; color: var(--muted); margin-bottom: 13px;
    }
    .pc__venue-ic { flex-shrink: 0; }

    .pc__dc {
      display: inline-flex; align-items: center; gap: 4px;
      font-size: 11.5px; font-weight: 700; letter-spacing: .3px;
      text-decoration: none; border-bottom: 1px solid currentColor;
      padding-bottom: 2px; transition: opacity .2s;
    }
    .pc__dc:hover { opacity: .7; }
    .pc--gold .pc__dc { color: var(--gold-dark); }
    .pc--red  .pc__dc { color: var(--red-dark); }

    /* Фото */
    .pc__photo { position: relative; height: 320px; flex-shrink: 0; overflow: hidden; }
    .pc__photo img {
      width: 100%; height: 100%; object-fit: cover; display: block;
      transform-origin: center;
      animation: kenBurns 16s ease-in-out infinite alternate;
      transition: transform .6s ease;
    }
    .pc:hover .pc__photo img { animation-play-state: paused; transform: scale(1.06); }
    .pc__photo::after {
      content: ''; position: absolute; inset: 0;
      background: linear-gradient(to top, rgba(20,4,8,.72) 0%, rgba(20,4,8,.18) 50%, transparent 100%);
    }
    /* Золотой блик поверх фото */
    .pc__photo::before {
      content: '';
      position: absolute; inset: 0; z-index: 1;
      background: linear-gradient(
        115deg,
        transparent 30%, rgba(255,220,110,.12) 50%, transparent 70%
      );
      animation: pcPhotoShimmer 8s ease-in-out 2s infinite;
      pointer-events: none;
    }
    @keyframes kenBurns {
      0%   { transform: scale(1)    translate(0%,    0%); }
      25%  { transform: scale(1.05) translate(-1.5%, -.5%); }
      50%  { transform: scale(1.08) translate(1%,   -1%); }
      75%  { transform: scale(1.04) translate(-0.5%, .5%); }
      100% { transform: scale(1)    translate(0%,    0%); }
    }
    @keyframes pcPhotoShimmer {
      0%           { transform: translateX(-120%); opacity: 1; }
      28%           { transform: translateX(200%);  opacity: 1; }
      28.01%, 100% { transform: translateX(200%);  opacity: 0; }
    }

    .pc__chip {
      position: absolute; top: 16px; left: 16px; z-index: 2;
      padding: 5px 13px; border-radius: 20px;
      background: rgba(255,255,255,.92); backdrop-filter: blur(8px);
      font-size: 11px; font-weight: 700; color: var(--ink); letter-spacing: .3px;
    }

    .pc__badge {
      position: absolute; bottom: 18px; right: 18px; z-index: 2;
      display: flex; align-items: center; gap: 7px;
      padding: 10px 20px; border-radius: 40px;
      font-family: 'Montserrat', sans-serif;
      font-size: 11px; font-weight: 900; color: var(--white);
      letter-spacing: 1.2px; text-transform: uppercase;
      background-size: 250% 250%;
      animation: badgeShift 4s ease-in-out infinite, badgePulse 2.8s ease-in-out infinite;
    }
    /* Мерцающая звёздочка слева */
    .pc__badge::before {
      content: '◆';
      font-size: 7px; opacity: .85;
      animation: badgeStar 2s ease-in-out infinite alternate;
      flex-shrink: 0;
    }
    .pc--gold .pc__badge {
      background-image: linear-gradient(120deg, #E04040 0%, #C0272D 38%, #C0272D 70%, #E04040 100%);
    }
    .pc--red .pc__badge {
      background-image: linear-gradient(120deg, #C0272D 0%, #8B1520 38%, #C0272D 70%, #C0272D 100%);
    }
    @keyframes badgeShift {
      0%   { background-position: 0%   50%; }
      50%  { background-position: 100% 50%; }
      100% { background-position: 0%   50%; }
    }
    @keyframes badgePulse {
      0%, 100% { box-shadow: 0 4px 16px rgba(192,39,45,.35), 0 0 0 0 rgba(192,39,45,.25); }
      50%       { box-shadow: 0 6px 28px rgba(192,39,45,.65), 0 0 0 6px rgba(192,39,45,.08); }
    }
    @keyframes badgeStar {
      from { transform: rotate(0deg)   scale(1); }
      to   { transform: rotate(180deg) scale(1.4); }
    }

    @media (max-width: 860px) {
      .prog-cards { padding: 64px 20px; }
      .prog-cards__grid { grid-template-columns: 1fr; }
      .pc__body { padding: 32px 24px 26px; }
      .pc__photo { height: 260px; }
    }

    /* ── PROG CARDS: scroll-in animations ────────── */

    /* Header стартует скрытым */
    .prog-cards__kicker {
      opacity: 0; transform: translateY(-14px) scale(.95);
      transition: opacity .55s ease, transform .55s cubic-bezier(.34,1.4,.64,1);
    }
    .prog-cards__title {
      opacity: 0; transform: translateY(20px);
      transition: opacity .6s ease, transform .6s ease;
    }
    .prog-cards__hd.hd-in .prog-cards__kicker { opacity: 1; transform: none; }
    .prog-cards__hd.hd-in .prog-cards__title  {
      opacity: 1; transform: none; transition-delay: .22s;
    }

    /* Карточки — появление */
    @keyframes pcReveal {
      from { opacity: 0; transform: translateY(56px) scale(.96); }
      to   { opacity: 1; transform: none; }
    }
    .pc.pc-in { animation: pcReveal .85s cubic-bezier(.22,1,.36,1) both; }
    .pc--red.pc-in { animation-delay: .18s; }

    /* Внутренние элементы — стартовое состояние */
    .pc__sub  { opacity: 0; transform: translateY(-12px); transition: opacity .45s ease, transform .45s ease; }
    .pc__num  {
      opacity: 0; transform: scale(1.22);
      transition: opacity .6s ease, transform .65s cubic-bezier(.34,1.45,.64,1);
    }
    .pc__name { opacity: 0; transform: translateY(14px); transition: opacity .5s ease, transform .5s ease; }
    .pc__rule {
      transform: scaleX(0); transform-origin: left;
      transition: transform .6s cubic-bezier(.4,0,.2,1);
    }
    .pc__desc { opacity: 0; transform: translateY(10px); transition: opacity .55s ease, transform .55s ease; }
    .pc__btn  {
      opacity: 0; transform: scale(.85) translateY(8px);
      transition: opacity .45s ease, transform .55s cubic-bezier(.34,1.56,.64,1);
    }
    .pc__dc   { opacity: 0; transition: opacity .4s ease; }
    .pc__photo { clip-path: inset(100% 0 0 0); transition: clip-path .9s cubic-bezier(.22,1,.36,1); }
    .pc__badge { opacity: 0; transform: translateY(10px) scale(.88); transition: opacity .4s ease, transform .55s cubic-bezier(.34,1.56,.64,1); }

    /* Включаем стаггер при pc-in */
    .pc.pc-in .pc__sub   { opacity: 1; transform: none; transition-delay: .07s; }
    .pc.pc-in .pc__num   { opacity: 1; transform: none; transition-delay: .17s; }
    .pc.pc-in .pc__name  { opacity: 1; transform: none; transition-delay: .34s; }
    .pc.pc-in .pc__rule  { transform: scaleX(1);        transition-delay: .44s; }
    .pc.pc-in .pc__desc  { opacity: 1; transform: none; transition-delay: .53s; }
    .pc.pc-in .pc__btn   { opacity: 1; transform: none; transition-delay: .70s; }
    .pc.pc-in .pc__dc    { opacity: 1;                  transition-delay: .86s; }
    .pc.pc-in .pc__photo { clip-path: inset(0% 0 0 0);  transition-delay: .28s; }
    .pc.pc-in .pc__badge { opacity: 1; transform: none; transition-delay: 1.05s; }

    /* num-dot мигает при появлении */
    @keyframes dotBlink {
      0%,100% { opacity: 1; } 20%,60% { opacity: 0; }
    }
    .pc.pc-in .pc__num-dot { animation: dotBlink .55s .18s ease both; }

    /* Кнопка: золотой пульс после появления */
    @keyframes btnGlow {
      0%   { box-shadow: 0 0 0 0 rgba(192,39,45,.5); }
      60%  { box-shadow: 0 0 0 10px rgba(192,39,45,0); }
      100% { box-shadow: 0 0 0 0 rgba(192,39,45,0); }
    }
    .pc--gold.pc-in .pc__btn { animation: btnGradMove 4s linear infinite, btnGlow .9s .75s ease both; }
    @keyframes btnGlowRed {
      0%   { box-shadow: 0 0 0 0 rgba(192,39,45,.5); }
      60%  { box-shadow: 0 0 0 10px rgba(192,39,45,0); }
      100% { box-shadow: 0 0 0 0 rgba(192,39,45,0); }
    }
    .pc--red.pc-in .pc__btn { animation: btnGradMove 4s linear infinite, btnGlowRed .9s .93s ease both; }

    /* Горизонтальная линия pc__rule — цвет уже есть, анимируем через ::after */
    .pc__rule::after {
      content: '';
      display: block; height: 100%; width: 100%;
      background: inherit;
      transform-origin: left;
    }

    /* ── FESTIVE ANIMATIONS ──────────────────────────── */

    @keyframes gradientShift {
      0%   { background-position: 0%   50%; }
      50%  { background-position: 100% 50%; }
      100% { background-position: 0%   50%; }
    }

    @keyframes goldPulse {
      0%, 100% { opacity: .55; transform: scale(1); }
      50%       { opacity: 1;   transform: scale(1.06); }
    }

    @keyframes goldBorderGlow {
      0%, 100% { box-shadow: 0 0 8px rgba(192,39,45,.25); }
      50%       { box-shadow: 0 0 22px rgba(192,39,45,.55), 0 0 48px rgba(192,39,45,.18); }
    }

    @keyframes secTitleGlow {
      0%, 100% { text-shadow: 0 0 0px transparent; }
      50%       { text-shadow: 0 0 24px rgba(192,39,45,.45), 0 2px 16px rgba(192,39,45,.2); }
    }

    @keyframes sparkleOrbit {
      0%   { transform: rotate(0deg) translateX(22px) scale(0); opacity: 0; }
      20%  { opacity: 1; transform: rotate(72deg) translateX(22px) scale(1); }
      80%  { opacity: 1; transform: rotate(288deg) translateX(22px) scale(1); }
      100% { transform: rotate(360deg) translateX(22px) scale(0); opacity: 0; }
    }

    /* Золотое сияние на тёмных секциях */
    .section--dark {
      position: relative;
      overflow: hidden;
    }
    .section--dark::before {
      content: '';
      position: absolute;
      top: 0; right: 0;
      width: 55%; height: 100%;
      background: radial-gradient(ellipse at 80% 30%, rgba(192,39,45,.1) 0%, transparent 55%);
      animation: goldPulse 6s ease-in-out infinite;
      pointer-events: none; z-index: 0;
    }
    .day-section__inner { position: relative; z-index: 1; }

    .packages {
      position: relative;
      overflow: hidden;
    }
    .packages::before {
      content: '';
      position: absolute;
      bottom: 0; left: 0;
      width: 50%; height: 100%;
      background: radial-gradient(ellipse at 20% 70%, rgba(192,39,45,.09) 0%, transparent 55%);
      animation: goldPulse 7s ease-in-out 1s infinite;
      pointer-events: none; z-index: 0;
    }
    .packages__inner { position: relative; z-index: 1; }

    /* Золотой заголовок секций светится */
    .section--dark .sec-title,
    .packages .sec-title,
    .cta-section .sec-title,
    .gallery .sec-title {
      animation: secTitleGlow 4s ease-in-out infinite;
    }

    /* Золотые линии/разделители в тёмных секциях */
    .section--dark .h-line { animation: goldPulse 3s ease-in-out infinite; }
    .packages .h-line       { animation: goldPulse 3.5s ease-in-out infinite; }

    /* Карусельные стрелки с пульсирующим бордером */
    .carousel__btn { animation: goldBorderGlow 3s ease-in-out infinite; }
    .carousel__btn:hover { animation: none; }

    /* ── ANIMATIONS ──────────────────────────────────── */
    @keyframes fadeUp {
      from { opacity: 0; transform: translateY(24px); }
      to   { opacity: 1; transform: translateY(0); }
    }

    .hero__date-badge { animation: fadeUp .7s .0s ease both; }
    .hero__hashtag    { animation: none; /* has own keyframe */ }

    /* Адаптив hero */
    @media (max-width: 768px) {
      .hero__content { padding: 110px 24px 80px; }
      .hero__corner--tl, .hero__corner--tr,
      .hero__corner--bl, .hero__corner--br { width: 28px; height: 28px; }
    }

    /* ── DRESSCODE ───────────────────────────────────── */
    .dresscode {
      padding: 80px 48px 180px;
      background: #FFFFFF;
      border-top: 3px solid var(--red);
      position: relative; overflow: visible;
    }
    .dresscode__inner {
      max-width: 1160px; margin: 0 auto;
      display: block;          /* сброс старого grid 1fr 1fr */
      position: relative;
    }
    .dresscode__hd { margin-bottom: 32px; }

    /* Карточка — горизонтальная, полная ширина */
    .dresscode__card {
      position: relative;
      border: 1.5px solid rgba(192,39,45,.25);
      border-radius: 18px;
      padding: 40px 48px;
      box-shadow: 0 6px 36px rgba(192,39,45,.09);
      min-height: 140px;
    }
    /* Текст занимает левые 58% — остаток под фото */
    .dresscode__text {
      max-width: 58%;
      display: flex; flex-direction: column; gap: 14px;
    }
    .dresscode__card p {
      font-size: 16px; line-height: 1.7; color: var(--ink); margin: 0;
    }
    .dresscode__card strong { font-weight: 800; color: var(--red); }

    /* Фото — абсолютно, без фона, выступает вверх над карточкой */
    .dresscode__visual {
      position: absolute;
      right: 0;
      bottom: -30px;
      top: -260px;       /* выше — голова не обрезается */
      width: 500px;
      pointer-events: none;
    }
    .dresscode__visual img {
      width: 100%; height: 100%;
      object-fit: contain; object-position: top center;
      display: block;
      filter: drop-shadow(0 16px 40px rgba(0,0,0,.12));
    }

    @media (max-width: 860px) {
      .dresscode__text { max-width: 100%; }
      .dresscode__card { padding-bottom: 280px; }
      .dresscode__visual { top: auto; bottom: -20px; right: 50%; transform: translateX(50%); width: 260px; }
    }
    @media (max-width: 600px) {
      .dresscode { padding: 60px 20px 120px; }
      .dresscode__card { padding: 28px 20px 220px; }
      .dresscode__visual { width: 200px; }
    }

    /* ── PROG-CARDS ANIMATIONS ───────────────────────── */
    /* Плавающие искры */
    @keyframes floatSpk {
      0%         { opacity: 0; transform: translateY(0) rotate(0deg) scale(.8); }
      20%        { opacity: var(--spk-op, .5); }
      80%        { opacity: calc(var(--spk-op, .5) * .6); }
      100%       { opacity: 0; transform: translateY(-80px) rotate(var(--spk-r, 200deg)) scale(1.1); }
    }
    .prog-spark {
      position: absolute; pointer-events: none; z-index: 0; user-select: none;
      color: var(--red); font-size: var(--fs, 14px);
      animation: floatSpk var(--dur, 6s) var(--del, 0s) ease-in-out infinite;
      opacity: 0;
    }
    /* Пульс точки «День 1.» / «День 2.» */
    .pc__num-dot {
      display: inline-block;
      animation: dotPulse 2.4s ease-in-out infinite;
    }
    @keyframes dotPulse {
      0%, 100% { transform: scale(1);    opacity: 1; }
      50%       { transform: scale(1.3); opacity: .6; }
    }
    /* Шиммер поверх карточки */
    .pc { position: relative; }
    .pc::before {
      content: '';
      position: absolute; inset: 0; border-radius: 20px;
      background: linear-gradient(115deg, transparent 30%, rgba(192,39,45,.055) 50%, transparent 70%);
      background-size: 300% 100%;
      animation: pcSweep var(--sweep-dur, 5s) var(--sweep-del, 0s) ease-in-out infinite;
      pointer-events: none; z-index: 0;
    }
    .pc--gold { --sweep-dur: 5s; --sweep-del: 0s; }
    .pc--red  { --sweep-dur: 5s; --sweep-del: 2.5s; }
    @keyframes pcSweep {
      0%   { background-position: 200% 0; }
      100% { background-position: -100% 0; }
    }
    /* Пульсирующие орбы за заголовком */
    .prog-orb {
      position: absolute; border-radius: 50%; pointer-events: none; z-index: 0;
      background: radial-gradient(ellipse, rgba(192,39,45,.13) 0%, transparent 70%);
      animation: orbPulse var(--orb-dur, 8s) var(--orb-del, 0s) ease-in-out infinite;
    }
    @keyframes orbPulse {
      0%, 100% { transform: scale(1);    opacity: .6; }
      50%       { transform: scale(1.18); opacity: 1; }
    }

    /* ── CONFETTI / SALUTE ANIMATIONS ───────────────────── */
    @keyframes confFall {
      0%   { transform: translateY(-50px)  translateX(0)               rotate(0deg)          scaleX(1);          opacity: 0; }
      6%   { opacity: 1; }
      50%  { transform: translateY(300px)  translateX(var(--cdx2,12px)) rotate(calc(var(--cr,540deg)*.5)) scaleX(var(--cx,.7)); opacity: .9; }
      88%  { opacity: .7; }
      100% { transform: translateY(680px)  translateX(var(--cdx,-18px)) rotate(var(--cr,540deg))          scaleX(var(--cx,.35)); opacity: 0; }
    }
    .conf {
      position: absolute; pointer-events: none; z-index: 0;
      width: var(--cw,8px); height: var(--ch,8px);
      border-radius: var(--cbr,2px);
      background: var(--cc,rgba(192,39,45,.55));
      /* cubic-bezier — плавный старт, чуть ускоряется к середине, замедляется в конце */
      animation: confFall var(--cd,6s) var(--cdl,0s) cubic-bezier(.38,.02,.48,1) infinite;
      opacity: 0;
    }
    /* Burst / салют — частицы разлетаются от точки */
    @keyframes burstFly {
      0%   { transform: translate(0,0) scale(1.2); opacity: 1; }
      60%  { opacity: .85; }
      100% { transform: translate(var(--bx,40px),var(--by,-90px)) scale(.2); opacity: 0; }
    }
    .burst-dot {
      position: absolute; pointer-events: none; z-index: 0;
      width: 7px; height: 7px; border-radius: 50%;
      background: var(--bc,rgba(192,39,45,.7));
      animation: burstFly var(--bd,1.6s) var(--bdl,0s) ease-out infinite;
    }

    /* ── TICKETS (Варианты участия) ──────────────────────── */
    .tickets {
      padding: 80px 48px 160px;
      background: linear-gradient(160deg, #FFF5F5 0%, #FFFFFF 50%, #FFF5F5 100%);
      border-top: 3px solid var(--red);
      position: relative; overflow: visible;
    }
    .tickets__inner { max-width: 1160px; margin: 0 auto; position: relative; z-index: 1; }
    .tickets__hd { text-align: center; margin-bottom: 52px; }
    .tickets__title {
      font-family: var(--serif);
      font-size: clamp(2rem, 4vw, 3rem);
      color: var(--ink); margin: 10px 0 0;
    }
    .tickets__grid {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 28px;
      align-items: stretch; /* все карточки одной высоты */
    }
    .tk-card {
      position: relative;
      border: 1.5px solid rgba(192,39,45,.28);
      border-radius: 18px;
      /* фиксированный нижний отступ = место под кнопку + конверт */
      padding: 32px 28px 110px;
      background: #FFFFFF;
      box-shadow: 0 4px 28px rgba(192,39,45,.08);
      overflow: visible;
    }
    .tk-card__body {
      display: flex; flex-direction: column; gap: 10px;
    }
    .tk-card__day {
      font-size: 11px; font-weight: 800; letter-spacing: .11em;
      text-transform: uppercase; color: var(--red);
    }
    .tk-card__name {
      font-family: var(--serif);
      font-size: 1.12rem; font-weight: 700;
      color: var(--ink); line-height: 1.45; margin: 4px 0 0;
    }
    .tk-card__date { font-size: .95rem; color: rgba(0,0,0,.5); margin-top: 2px; }
    .tk-card__sub-date {
      display: block; font-size: .88rem;
      color: var(--red); font-weight: 700; margin-top: 2px;
    }
    /* Название второго события — тот же стиль что и tk-card__name */
    .tk-card__event-name {
      display: block;
      font-family: var(--serif);
      font-size: 1.12rem; font-weight: 700;
      color: var(--ink); line-height: 1.45;
      margin-top: 2px;
    }
    /* Кнопка — абсолютная, выровнена по центру, одинаковая высота */
    .tk-card__btn {
      position: absolute;
      bottom: 32px; left: 28px; right: 28px;
      display: block; text-align: center;
      padding: 11px 16px;
      border: 2px solid var(--red); border-radius: 8px;
      color: var(--red); background: #fff;
      font-size: 11px; font-weight: 800;
      letter-spacing: .09em; text-decoration: none;
      transition: background .2s, color .2s;
      z-index: 3;
    }
    .tk-card__btn:hover { background: var(--red); color: #fff; }
    /* Конверт — частично прячется под кнопкой (z-index: 2 < кнопки 3) */
    .tk-card__env {
      position: absolute;
      bottom: 18px; right: -10px;
      width: 105px;
      transform: rotate(30deg);
      transform-origin: 85% 85%;
      pointer-events: none; z-index: 2;
      filter: drop-shadow(0 8px 18px rgba(0,0,0,.25));
    }

    /* ── FIREWORKS / МНОГО САЛЮТА ─────────────────────── */
    @keyframes rocketUp {
      0%   { transform: translateY(0) scaleY(1);    opacity: 1; }
      75%  { transform: translateY(-280px) scaleY(1); opacity: 1; }
      100% { transform: translateY(-310px) scaleY(.1); opacity: 0; }
    }
    @keyframes shellBurst {
      0%   { transform: translate(0,0) scale(1.4);  opacity: 1; }
      20%  { opacity: 1; }
      100% { transform: translate(var(--sx,0px),var(--sy,-100px)) scale(.1); opacity: 0; }
    }
    .rocket {
      position: absolute; pointer-events: none; z-index: 5;
      width: 5px; height: 28px; border-radius: 3px 3px 1px 1px;
      background: linear-gradient(to top, transparent, var(--rc, #C0272D));
      box-shadow: 0 0 8px 2px var(--rc, rgba(192,39,45,.6));
      animation: rocketUp var(--rd,1.8s) var(--rdl,0s) ease-in infinite;
    }
    .shell {
      position: absolute; pointer-events: none; z-index: 5;
      width: 9px; height: 9px; border-radius: 50%;
      background: var(--sc, #C0272D);
      box-shadow: 0 0 6px 3px var(--sc, rgba(192,39,45,.5));
      animation: shellBurst var(--sd,1.1s) var(--sdl,0s) ease-out infinite;
    }
    .tickets__foot { text-align: center; margin-top: 88px; }
    .btn-tickets-main {
      display: inline-block; padding: 18px 56px;
      background: var(--red); color: #fff;
      border-radius: 10px; font-size: 15px; font-weight: 800;
      letter-spacing: .1em; text-decoration: none;
      box-shadow: 0 8px 32px rgba(192,39,45,.35);
      transition: opacity .2s, transform .2s;
    }
    .btn-tickets-main:hover { opacity: .9; transform: translateY(-2px); }
    @media (max-width: 860px) {
      .tickets__grid { grid-template-columns: 1fr; gap: 72px; }
      .tickets { padding: 60px 20px 120px; }
    }
