/* ============================================================================
   БОЛЬШОЙ СОЦИАЛЬНЫЙ КОНЦЕРТ — фонд «Второй шанс»
   Концертный андеграунд-зин: графит + бирюза + коралл.
   ========================================================================== */

/* Плакатный display-шрифт заголовков (грязная печать) */
@font-face{
    font-family:'Maler';
    src:url('../fonts/Maler/Maler.woff2') format('woff2'),
        url('../fonts/Maler/Maler.woff') format('woff'),
        url('../fonts/Maler/Maler.ttf') format('truetype');
    font-weight:normal; font-style:normal; font-display:swap;
}

:root{
    --bg:        #0d0d0f;
    --bg-2:      #141417;
    --surface:   #17171b;
    --ink:       #ffffff;
    --muted:     #9b9ba3;
    --border:    rgba(255,255,255,.12);

    --teal:      #2ED8C3;
    --teal-2:    #17b7a4;
    --coral:     #E64452;
    --coral-2:   #ff5546;

    /* display — огромные афишные заголовки: грязный плакатный Maler → Oswald fallback */
    --display:   'Maler', 'Oswald', 'Russo One', Impact, sans-serif;
    --mono:      'Oswald', 'Roboto Condensed', 'Arial Narrow', sans-serif;
    --body:      'Roboto Condensed', system-ui, sans-serif;
    --hand:      'Caveat', cursive;

    --paper:     #ece4d3;
    --paper-2:   #e2d9c5;
    --paper-ink: #0a0a0b;
    --black-paper:#08080a;

    --wrap:      1550px;
    --radius:    4px;

    /* Боковые отступы контента от краёв экрана (не даём тексту прилипать к границе):
       ≥1000px — 100px, <1000px — 60px, мобильные (<600px) — 30px. */
    --gutter:    100px;

    /* Маска потёртости (SVG-шум): почти всё непрозрачно, редкие «дыры» = стёртая краска */
    --grunge-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='420' height='340'%3E%3Cfilter id='g'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.11 0.09' numOctaves='2' seed='11'/%3E%3CfeComponentTransfer%3E%3CfeFuncA type='discrete' tableValues='1 1 1 1 1 1 1 1 0 1 1 1 1 1 0 1 1 1'/%3E%3C/feComponentTransfer%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23g)'/%3E%3C/svg%3E");
    /* Зерно бумаги для текстуры карточек-кусков бумаги */
    --paper-grain:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='p'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.5' numOctaves='4' seed='7'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23p)'/%3E%3C/svg%3E");
}

/* Адаптивные боковые отступы: <1000px — 60px, мобильные (<600px) — 30px */
@media (max-width:999px){ :root{ --gutter:60px; } }
@media (max-width:599px){ :root{ --gutter:30px; } }

*{ box-sizing:border-box; }
html{ -webkit-text-size-adjust:100%; scroll-behavior:smooth; }
body{
    margin:0;
    background:var(--bg);
    color:var(--ink);
    font-family:var(--body);
    font-size:17px;
    line-height:1.55;
    overflow-x:hidden;
    -webkit-font-smoothing:antialiased;
}
img{ max-width:100%; display:block; }
a{ color:inherit; text-decoration:none; }
ul{ margin:0; padding:0; list-style:none; }

.wrap{ width:100%; max-width:var(--wrap); margin:0 auto; padding:0 var(--gutter); }

/* Фоновое зерно поверх всего */
.bg-noise{
    position:fixed; inset:0; z-index:0; pointer-events:none; opacity:.05;
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='3'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}
body > *{ position:relative; z-index:1; }

/* ---------- Кнопки ---------- */
.btn{
    display:inline-flex; align-items:center; gap:.5em; justify-content:center;
    font-family:var(--mono); font-weight:600; text-transform:uppercase;
    letter-spacing:.04em; line-height:1;
    padding:16px 26px; border-radius:var(--radius); border:2px solid transparent;
    cursor:pointer; transition:transform .12s ease, background .18s ease, color .18s ease;
    white-space:nowrap;
}
.btn:active{ transform:translateY(1px); }
.btn-primary{ background:var(--teal); color:#04211d; }
.btn-primary:hover{ background:#4fecd8; }
.btn-coral{ background:var(--coral); color:#fff; }
.btn-coral:hover{ background:var(--coral-2); }
.btn-outline{ border-color:var(--teal); color:var(--teal); }
.btn-outline:hover{ background:var(--teal); color:#04211d; }
.btn-sm{ padding:11px 18px; font-size:13px; }
.btn-lg{ padding:19px 34px; font-size:19px; }

/* ---------- Шапка (светлая на бумаге, тёмная при скролле) ---------- */
.site-header{
    position:sticky; top:0; z-index:50;
    background:transparent; border-bottom:1px solid transparent;
    transition:background .25s, border-color .25s;
}
.site-header.scrolled{
    background:rgba(10,10,12,.9); backdrop-filter:blur(10px);
    border-bottom:1px solid var(--border);
}
.header-inner{ display:flex; align-items:center; gap:24px; min-height:70px; }
.brand{ display:flex; align-items:center; gap:12px; margin-right:auto; }
.brand-logo{ height:34px; width:auto; }
.brand-logo-light{ display:none; }
.site-header.scrolled .brand-logo-dark{ display:none; }
.site-header.scrolled .brand-logo-light{ display:block; }
.brand-tag{
    font-family:var(--mono); font-size:10px; line-height:1.2; text-transform:uppercase;
    letter-spacing:.06em; color:#5a544a;
}
.site-header.scrolled .brand-tag{ color:var(--muted); }
.main-nav{ display:flex; gap:26px; }
.main-nav a{
    font-family:var(--mono); text-transform:uppercase; font-size:14px; letter-spacing:.04em;
    color:var(--paper-ink); font-weight:700; opacity:.9; transition:opacity .15s, color .15s;
}
.main-nav a:hover{ opacity:1; color:var(--coral); }
.site-header.scrolled .main-nav a{ color:var(--ink); font-weight:500; }
.site-header.scrolled .main-nav a:hover{ color:var(--teal); }
.header-cta{ margin-left:8px; }

.burger{
    display:none; flex-direction:column; gap:5px; width:44px; height:44px;
    background:none; border:0; cursor:pointer; padding:10px;
}
.burger span{ height:2px; background:var(--paper-ink); border-radius:2px; transition:.2s; }
.site-header.scrolled .burger span{ background:var(--ink); }

.mobile-drawer{ display:none; }
.mobile-drawer:not([hidden]){
    display:flex; flex-direction:column; gap:6px; padding:16px 24px 24px;
    border-bottom:1px solid var(--border); background:var(--bg-2);
}
.mobile-drawer a{ font-family:var(--mono); text-transform:uppercase; padding:10px 0; letter-spacing:.04em; }
.mobile-drawer .btn{ margin-top:8px; }

/* ---------- HERO (рваная бумажная афиша) ---------- */
.hero{
    position:relative; overflow:hidden;
    min-height:820px;
    height:calc(100vh - 71px); max-height:1100px;
    background:var(--paper); color:var(--paper-ink);
}
/* Афишный визуал (бумага + группа артистов) */
.hero-bg{
    position:absolute; inset:0; z-index:0;
    background-image:
        /* левый бумажный «рваный» вейл под заголовком: держит зону текста светлой,
           к центру мягко растворяется — коллаж с ГУФом и силуэтами справа не трогаем */
        linear-gradient(90deg, rgba(236,228,211,.88) 0%, rgba(236,228,211,.78) 34%, rgba(236,228,211,.4) 50%, rgba(236,228,211,0) 63%),
        linear-gradient(180deg, rgba(236,228,211,.9) 0%, rgba(236,228,211,.35) 8%, rgba(236,228,211,0) 15%),
        url("../img/hero_bg.webp");
    background-size:cover; background-position:center right; background-repeat:no-repeat;
}
/* Зерно поверх всей афиши */
.hero-grain{
    position:absolute; inset:0; z-index:1; opacity:.09; mix-blend-mode:multiply;
}
.hero-content{
    position:relative; z-index:4;
    width:100%; max-width:var(--wrap); margin:0 auto; padding:96px var(--gutter) 0;
}
.hero-top{ width:min(620px,100%); position:relative; }

.kicker{
    font-family:var(--mono); text-transform:uppercase; letter-spacing:.14em;
    font-size:14px; font-weight:700; color:var(--paper-ink); margin:0 0 18px;
}
.kicker::before{ content:"— "; color:var(--coral); }

.hero-title{
    font-family:var(--display); font-weight:400; text-transform:uppercase;
    line-height:.84; letter-spacing:-.02em; margin:0 0 26px;
    font-size:clamp(44px, 5.2vw, 96px);
    color:var(--paper-ink); transform:rotate(-2deg); transform-origin:left center;
}
.hero-title .line{ display:block; }
.hero-title .accent{ color:var(--teal); display:inline-block; }

.hero-subline{
    font-family:var(--mono); text-transform:uppercase; letter-spacing:.06em;
    font-weight:700; font-size:clamp(15px,1.6vw,19px); color:#2c2822; margin:6px 0 0;
}

/* Слой плашек: на всю секцию, привязка к ПРАВОМУ краю (как фон-афиша) */
.hero-labels{ position:absolute; inset:0; z-index:5; pointer-events:none; }
.hero-scribble{
    position:absolute; right:15%; top:9%; text-align:center;
    font-family:var(--hand); font-size:60px; line-height:.9; color:var(--teal-2);
    transform:rotate(-7deg);
}
.artist-label{
    position:absolute;
    font-family:var(--mono); text-transform:uppercase; font-weight:700;
    letter-spacing:.04em; line-height:1.05; font-size:16px;
    padding:7px 15px; color:#08080a;
    box-shadow:0 7px 18px rgba(0,0,0,.4);
}
/* right/top подобраны по позициям персонажей на фоне (ГУФ ~центр, силуэты правее) */
.lbl-guf{ background:var(--teal); right:41%; bottom:21%; transform:rotate(-3deg); font-size:18px; }
.lbl-soon{ background:var(--coral); color:#fff; }
.lbl-soon-1{ right:25%; bottom:16%; transform:rotate(-4deg); }
.lbl-soon-2{ right:5%; bottom:15%; transform:rotate(3deg); text-align:center; }

/* Рваная чёрная бумажная полоса снизу */
.hero-black{
    position:absolute; left:-2vw; right:-2vw; bottom:46px; z-index:2; height:236px;
    background:var(--black-paper);
    clip-path:polygon(0 26%,8% 14%,17% 27%,28% 12%,39% 24%,50% 10%,61% 25%,72% 11%,83% 26%,92% 15%,100% 24%,100% 100%,0 100%);
    filter:drop-shadow(0 -8px 22px rgba(0,0,0,.45));
}
.hero-black-content{
    position:absolute; left:0; right:0; bottom:100px; z-index:5;
    width:100%; max-width:var(--wrap); margin:0 auto; padding:0 var(--gutter);
    color:var(--ink);
}
.hero-event{ display:flex; align-items:center; gap:20px; margin-bottom:22px; }
.he-date{
    font-family:var(--display); font-weight:400; font-size:clamp(48px,6vw,78px);
    line-height:.86; color:var(--ink); letter-spacing:-.01em;
}
.he-meta{ display:flex; flex-direction:column; gap:4px; }
.he-venue{ font-family:var(--mono); text-transform:uppercase; letter-spacing:.05em; font-weight:700; font-size:17px; }
.he-access{
    font-family:var(--mono); text-transform:uppercase; letter-spacing:.05em; font-weight:700; font-size:14px;
    color:var(--teal);
}
.hero-cta-row{ display:flex; align-items:center; gap:22px; flex-wrap:wrap; }
.hero-cta{
    transform:rotate(-.6deg); box-shadow:6px 6px 0 rgba(0,0,0,.5);
    font-weight:700; font-size:20px;
}
.hero-cta span{ transition:transform .15s; }
.hero-cta:hover{ transform:rotate(0) translateY(-2px); }
.hero-cta:hover span{ transform:translateX(4px); }
.ticket-counter{
    display:inline-flex; align-items:baseline; gap:9px;
    font-family:var(--mono); text-transform:uppercase; letter-spacing:.04em;
    font-size:16px; color:var(--muted);
}
.ticket-counter .tc-sep{ color:rgba(255,255,255,.25); }
.ticket-counter b{ color:var(--coral); font-size:22px; }

/* ---------- Бегущая строка (внизу hero) ---------- */
.marquee{
    position:absolute; left:0; right:0; bottom:0; z-index:6;
    background:var(--teal); color:#04211d; overflow:hidden; white-space:nowrap;
    border-top:2px solid #04211d; padding:11px 0;
}
.marquee-track{
    display:inline-flex; align-items:center; gap:22px;
    font-family:var(--mono); text-transform:uppercase; font-weight:700; letter-spacing:.08em;
    font-size:18px; animation:marquee 60s linear infinite;
}
.marquee-track .dot{ font-size:10px; }
@keyframes marquee{ from{ transform:translateX(0);} to{ transform:translateX(-50%);} }

/* ---------- Секции (каркас) ---------- */
.section{ padding:76px 0; border-bottom:1px solid var(--border); }
.section-title{
    font-family:var(--display); font-weight:400; text-transform:uppercase;
    font-size:clamp(34px,5vw,72px); line-height:.86; letter-spacing:-.02em; margin:0 0 20px;
    color:var(--ink);
}
.section-title em{ font-style:normal; color:var(--teal); }
.section-lead{ font-size:18px; color:var(--muted); max-width:640px; }
.placeholder-note{
    font-family:var(--mono); text-transform:uppercase; letter-spacing:.05em; font-size:14px;
    color:var(--coral); opacity:.75;
}

/* ---------- Блок 2: Это больше, чем концерт ---------- */
.about{
    position:relative; overflow:hidden;
    background:var(--paper); color:var(--paper-ink);
    padding:0;
}
.about-bg{
    position:absolute; inset:0; z-index:0;
    background-image:url("../img/about_bg.webp");
    background-size:cover; background-position:left center; background-repeat:no-repeat;
}
.about-grain{ position:absolute; inset:0; z-index:1; opacity:.08; mix-blend-mode:multiply; }
.about-inner{
    position:relative; z-index:3;
    display:flex; justify-content:flex-end;
    min-height:min(720px, 46vw); padding:120px var(--gutter);
}
.about-logo{
    position:absolute; left:24px; top:38px; height:40px; width:auto; z-index:4;
}
.about-content{ width:min(620px, 58%); }

.about-kicker{
    font-family:var(--mono); text-transform:uppercase; letter-spacing:.16em;
    font-size:14px; font-weight:700; color:var(--coral); margin:0 0 16px;
}
.about-title{
    font-family:var(--display); font-weight:400; text-transform:uppercase;
    font-size:clamp(50px,5.8vw,80px); line-height:.86; letter-spacing:-.03em; margin:0 0 32px;
    transform:rotate(-1.5deg); transform-origin:left center;
}
.about-title span{ display:block; }
.about-title .l-teal{ color:var(--teal); }
.about-title .l-ink{ color:var(--paper-ink); }

/* Декоративные штампы-наклейки */
.about-stamp{
    position:absolute; z-index:4;
    font-family:var(--mono); font-weight:700; text-transform:uppercase; text-align:center;
    font-size:13px; line-height:1.02; letter-spacing:.05em;
    color:var(--coral); border:2px solid currentColor; padding:7px 11px;
    transform:rotate(-8deg); opacity:.9;
}
.stamp-notjust{ left:41%; top:60px; color:#1c1a16; transform:rotate(4deg); }
.stamp-exists{ left:7%; top:98px; transform:rotate(-6deg); }

/* Бумажная наклейка с логотипом */
.about-sticker{
    position:absolute; right:6px; bottom:44px; z-index:4;
    display:flex; align-items:center; justify-content:center;
    width:150px; padding:18px 16px; background:var(--paper);
    transform:rotate(-3deg); filter:drop-shadow(0 6px 14px rgba(0,0,0,.22));
    clip-path:polygon(0 12%,93% 0,100% 84%,8% 100%);
}
.about-sticker img{ width:100%; height:auto; display:block; }

.about-text{
    max-width:600px; margin:0 0 40px;
    font-family:var(--body); font-weight:500; font-size:21px; line-height:1.42; color:#232019;
}

.about-facts{
    display:flex; align-items:stretch; gap:0; margin:0 0 40px; flex-wrap:wrap;
}
.about-fact{
    position:relative; padding:0 28px;
    font-family:var(--mono); font-weight:700; text-transform:uppercase;
    font-size:20px; line-height:1.08; color:var(--paper-ink);
}
.about-fact:first-child{ padding-left:0; }
.about-fact:nth-child(even){ transform:translateY(9px); }
.about-fact:not(:last-child)::after{
    content:""; position:absolute; right:0; top:0; bottom:0;
    width:2px; background:var(--teal); opacity:.85;
    transform-origin:center; animation:factFloat 3s ease-in-out infinite;
}
.about-fact:nth-child(2)::after{ animation-delay:.5s; }
.about-fact:nth-child(3)::after{ animation-delay:1s; }
@keyframes factFloat{ 0%,100%{ transform:translateY(-4px);} 50%{ transform:translateY(4px);} }
@media (prefers-reduced-motion:reduce){ .about-fact::after{ animation:none; } }

.about-support{
    margin:0 0 42px;
    font-family:var(--body); font-weight:500; font-size:18px; line-height:1.4; color:#232019;
}

.about-highlight{
    display:inline-block; padding:52px 62px 56px;
    background:url("../img/gen/teal_brush.webp") center center / 100% 100% no-repeat;
    color:#04211d;
    font-family:var(--mono); font-weight:700; text-transform:uppercase;
    font-size:clamp(26px,2.8vw,44px); line-height:1.25; letter-spacing:.005em;
    transform:rotate(-2deg); margin:0 -30px;
}

/* ---------- Блок 3: У каждого должен быть второй шанс (афишная полоса) ---------- */
.fund{
    position:relative; overflow:hidden;
    background:#080809; color:#f4efe3;
    padding:82px 0 90px;
}
/* Единый фоновый коллаж-plate: чёрная бумага + фото людей + рваные слои */
.fund-bg{
    position:absolute; inset:0; z-index:0;
    background:url("../img/gen/why_bg.webp") center right / cover no-repeat;
}
.fund-grain{ position:absolute; inset:0; z-index:0; opacity:.05; }
.fund-inner{ position:relative; z-index:3; }

/* Заголовок и текст миссии — в левой зоне; правая треть отдана фото в фоне-plate */
.fund-top{ width:min(60%,720px); margin-bottom:44px; }
.fund-head-left{ min-width:0; }
.fund-logo{ height:36px; width:auto; margin:0 0 22px; }
.fund-kicker{
    font-family:var(--mono); text-transform:uppercase; letter-spacing:.16em;
    font-size:14px; font-weight:700; color:var(--coral); margin:0 0 14px;
}
.fund-kicker::before{ content:"— "; }
.fund-title{
    font-family:var(--display); font-weight:400; text-transform:uppercase;
    font-size:clamp(40px,5.2vw,94px); line-height:.86; letter-spacing:-.03em; margin:0;
    overflow-wrap:break-word; transform:rotate(-1.2deg); transform-origin:left center;
}
.fund-title .accent{ display:block; color:var(--teal); }
.fund-text{
    font-family:var(--body); font-weight:600; font-size:21px; line-height:1.28;
    color:#e0ddd5; max-width:540px; margin:22px 0 0;
}

/* Тело: белые рваные карточки + фото + красный слой */
.fund-cards{
    position:relative; z-index:4;
    display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:20px; max-width:840px;
}
/* Горизонтальная бумажная карточка: рваные края через SVG-mask,
   полутоновый слой (wrap::before) и тень (wrap::after) под ней. */
.stat-wrap{ position:relative; }
.stat-wrap--1{ transform:rotate(-.8deg); }
.stat-wrap--2{ transform:rotate(.6deg) translateY(6px); }
.stat-wrap--3{ transform:rotate(-.4deg) translateY(-3px); }
.stat-wrap::before{
    content:""; position:absolute; inset:6px -7px -7px 7px; z-index:0;
    background:rgba(216,207,189,.55);
    -webkit-mask:url("../img/masks/ripped-card-horizontal.svg") center / 100% 100% no-repeat;
    mask:url("../img/masks/ripped-card-horizontal.svg") center / 100% 100% no-repeat;
    transform:rotate(-.9deg);
}
.stat-wrap::after{
    content:""; position:absolute; inset:12px -10px -12px 11px; z-index:-1;
    background:rgba(0,0,0,.4);
    -webkit-mask:url("../img/masks/ripped-card-horizontal.svg") center / 100% 100% no-repeat;
    mask:url("../img/masks/ripped-card-horizontal.svg") center / 100% 100% no-repeat;
    transform:rotate(1deg); filter:blur(1px);
}
.stat-card{
    position:relative; z-index:1; display:flex; flex-direction:column;
    min-height:150px; padding:42px 28px 37px; overflow:hidden;
    background:var(--paper); color:#080809;
    -webkit-mask:url("../img/masks/ripped-card-horizontal.svg") center / 100% 100% no-repeat;
    mask:url("../img/masks/ripped-card-horizontal.svg") center / 100% 100% no-repeat;
}
/* fallback для браузеров без mask */
@supports not ((-webkit-mask-image:url("")) or (mask-image:url(""))){
    .stat-card, .stat-wrap::before, .stat-wrap::after{
        clip-path:polygon(0 12%,6% 4%,13% 10%,21% 3%,30% 11%,39% 5%,49% 12%,59% 4%,69% 10%,79% 5%,89% 12%,100% 6%,100% 91%,93% 97%,84% 90%,75% 98%,65% 91%,55% 99%,45% 92%,35% 98%,25% 91%,15% 99%,6% 92%,0 96%);
        -webkit-mask:none; mask:none;
    }
}
/* бумажная текстура внутри карточки */
.stat-tex{
    position:absolute; inset:0; z-index:0; pointer-events:none;
    background-image:var(--paper-grain),
        radial-gradient(circle at 18% 26%, rgba(0,0,0,.08), transparent 24%),
        radial-gradient(circle at 82% 72%, rgba(0,0,0,.06), transparent 26%);
    background-size:170px 170px, auto, auto;
    opacity:.5; mix-blend-mode:multiply;
}
.stat-num, .stat-label{ position:relative; z-index:2; }
.stat-num{
    font-family:var(--display); font-weight:400; color:var(--teal-2);
    font-size:clamp(42px,3.6vw,60px); line-height:.84; letter-spacing:-.04em; white-space:nowrap;
}
.stat-label{
    margin-top:10px; font-family:var(--mono); text-transform:uppercase; letter-spacing:.02em;
    font-size:14px; line-height:1.08; font-weight:700; color:#141414;
}

/* Фото поддержки, красный и белый рваные слои — всё встроено в единый
   фоновый коллаж-plate why_bg.webp (не отдельные <img>/CSS-плашки). */

.fund-cta{ margin-top:46px; font-size:16px; }
.fund-cta span{ transition:transform .15s; }
.fund-cta:hover span{ transform:translateX(4px); }

/* ---------- Блок 4: Атмосферный — светлая бумажная афишная вставка ---------- */
.atmo{
    position:relative; overflow:hidden;
    background:var(--paper); color:#080809;
    min-height:min(760px,52vw);
}
.atmo-bg{
    position:absolute; inset:0; z-index:0;
    background:url("../img/gen/atmo_bg.webp") center center / cover no-repeat;
}
.atmo-grain{ position:absolute; inset:0; z-index:1; opacity:.28; mix-blend-mode:multiply; }
.atmo-inner{
    position:relative; z-index:4; min-height:min(760px,52vw);
    padding:66px var(--gutter) 72px;
}
.atmo-logo{ height:36px; width:auto; display:block; margin:0 0 20px; }
.atmo-copy{ width:min(520px,50%); }
.atmo-title{
    font-family:var(--display); font-weight:400; text-transform:uppercase; word-spacing:-.1em;
    font-size:clamp(40px,4.4vw,70px); line-height:.92; letter-spacing:-.03em; margin:0;
    color:#080809; transform:rotate(-1.2deg); transform-origin:left center;
}
/* каждое предложение — отдельной строкой и НЕ рвётся посередине фразы */
.atmo-title span{ display:block; white-space:nowrap; }
.atmo-title .accent{ color:var(--teal); }
/* вертикальный список фич с бирюзовыми line-иконками */
.atmo-feats{
    display:grid; gap:18px; margin:34px 0 0;
    font-family:var(--mono); text-transform:uppercase; font-weight:700; letter-spacing:.02em;
    font-size:20px; color:#080809;
}
.atmo-feats li{ display:grid; grid-template-columns:42px 1fr; align-items:center; column-gap:16px; }
/* иконка в бирюзовом «жетоне» — не голый тонкий line-art */
.atmo-ic{
    display:inline-flex; align-items:center; justify-content:center;
    width:42px; height:42px; border-radius:11px;
    background:var(--teal); color:#04211d;
    box-shadow:0 4px 10px rgba(46,216,195,.35);
}
.atmo-ic svg{ width:23px; height:23px; display:block; }

/* Бирюзовая рваная CTA-плашка поверх нижней части фото (на бирюзовой зоне) */
/* CTA: рваная бирюзовая плашка (сплошная база + фактура мазка сверху) */
.atmo-cta-paper{
    position:absolute; right:8%; bottom:3%; z-index:7; white-space:nowrap;
    padding:54px; color:#04211d;
    background:var(--teal);
    transform:rotate(-2deg); filter:drop-shadow(0 12px 20px rgba(0,0,0,.4));
    clip-path:polygon(0 15%,7% 5%,18% 11%,31% 4%,45% 10%,59% 3%,72% 11%,86% 5%,100% 13%,97% 91%,84% 97%,69% 92%,54% 99%,39% 93%,24% 98%,7% 91%);
}
.atmo-cta-title{
    font-family:var(--display); font-weight:400; text-transform:uppercase;
    font-size:clamp(22px,2.2vw,34px); line-height:.98; letter-spacing:-.03em; margin:0;
}
.atmo-cta-sub{
    margin:9px 0 0; font-family:var(--mono); text-transform:uppercase; letter-spacing:.02em;
    font-size:14px; line-height:1.15; font-weight:700; color:#052723;
}
.atmo-cta-btn{
    display:inline-flex; align-items:center; margin-top:16px; padding:13px 22px;
    background:#080809; color:var(--teal);
    font-family:var(--mono); font-weight:700; text-transform:uppercase; letter-spacing:.04em;
    font-size:16px; transition:transform .15s;
}
.atmo-cta-btn:hover{ transform:translateX(3px); }

/* ---------- Блок 5: Регистрация билета ---------- */
.register{ position:relative; overflow:hidden; background:#080809; color:var(--ink); padding:clamp(72px,7vw,108px) 0; }
/* Чёрная бумажная афишная поверхность: зерно/царапины + очень слабый концертный слой */
.register::before{
    content:""; position:absolute; inset:0; z-index:0; pointer-events:none;
    background-image:var(--paper-grain), var(--grunge-mask);
    background-size:320px 320px, cover;
    opacity:.14; mix-blend-mode:screen;
}
.register::after{
    content:""; position:absolute; inset:0; z-index:0; pointer-events:none;
    background:url("../img/gen/atmo_crowd.webp") center center / cover no-repeat;
    opacity:.12; mix-blend-mode:screen;
}
.reg-grain{ position:absolute; inset:0; z-index:1; opacity:.07; }
.register-inner{ position:relative; z-index:2; }
.reg-kicker{
    display:inline-block; font-family:var(--mono); text-transform:uppercase; letter-spacing:.16em;
    font-size:14px; font-weight:700; color:var(--coral); margin:0 0 22px; transform:rotate(-1.4deg);
}
.reg-kicker::before{ content:"— "; }

/* «Сцена» билета — рамка, к которой прижаты рваные слои; сам билет как будто наклеен */
.ticket-stage{ position:relative; z-index:2; width:min(1180px,100%); margin:0 auto; }
/* Декоративные рваные бумажные обрывки ЗА билетом (не перекрывают форму) */
.reg-scrap{ position:absolute; z-index:1; pointer-events:none; }
.reg-scrap-red{
    left:-64px; bottom:38px; width:320px; height:96px; background:var(--coral); transform:rotate(-5deg);
    filter:drop-shadow(0 8px 14px rgba(0,0,0,.4));
    clip-path:polygon(0 22%,12% 8%,27% 18%,43% 5%,58% 16%,74% 7%,100% 20%,96% 90%,80% 100%,61% 92%,42% 100%,20% 91%,4% 98%);
}
.reg-scrap-paper{
    right:-74px; top:20px; width:360px; height:110px; background:var(--paper); opacity:.92; transform:rotate(4deg);
    filter:drop-shadow(0 8px 14px rgba(0,0,0,.4));
    clip-path:polygon(0 14%,9% 4%,21% 12%,36% 3%,52% 11%,70% 4%,88% 13%,100% 6%,96% 92%,82% 98%,64% 91%,47% 100%,29% 93%,8% 98%);
}
.reg-scrap-teal{
    left:-30px; top:-26px; width:120px; height:64px; background:var(--teal); transform:rotate(6deg); opacity:.9;
    clip-path:polygon(0 20%,16% 6%,40% 14%,66% 4%,100% 16%,94% 88%,70% 100%,44% 90%,18% 99%,3% 90%);
}
/* Скотч поверх углов — «приклеенный» билет */
.reg-tape{
    position:absolute; z-index:6; pointer-events:none; width:132px; height:34px;
    background:linear-gradient(180deg, rgba(236,228,211,.42), rgba(236,228,211,.22));
    border-left:1px solid rgba(255,255,255,.18); border-right:1px solid rgba(255,255,255,.18);
    backdrop-filter:blur(1px);
}
.reg-tape-1{ left:6%; top:-16px; transform:rotate(-7deg); }
.reg-tape-2{ right:5%; bottom:-14px; transform:rotate(-6deg); }
.reg-title{ font-family:var(--display); font-weight:400; text-transform:uppercase; font-size:clamp(38px,5vw,84px); line-height:.9; letter-spacing:-.02em; margin:0 0 44px; }
.reg-title .accent, .reg-arrow{ color:var(--teal); }

/* Светлый билет с зубчатыми краями и перфорациями между частями */
.ticket{
    position:relative; z-index:5; display:grid; grid-template-columns:0.92fr 1.28fr 0.9fr;
    width:100%; background:var(--paper); color:#080809;
    transform:rotate(-0.3deg);
    /* физическая тень по форме билета (следует маске), а не UI-box-shadow */
    filter:drop-shadow(0 22px 34px rgba(0,0,0,.5));
    /* зубчатый край билета по верх/низ */
    -webkit-mask:
        radial-gradient(circle 9px at 9px -1px, #0000 98%, #000) repeat-x 0 0 / 30px 12px,
        radial-gradient(circle 9px at 9px calc(100% + 1px), #0000 98%, #000) repeat-x 0 100% / 30px 12px,
        linear-gradient(#000 0 0) no-repeat 0 12px / 100% calc(100% - 24px);
            mask:
        radial-gradient(circle 9px at 9px -1px, #0000 98%, #000) repeat-x 0 0 / 30px 12px,
        radial-gradient(circle 9px at 9px calc(100% + 1px), #0000 98%, #000) repeat-x 0 100% / 30px 12px,
        linear-gradient(#000 0 0) no-repeat 0 12px / 100% calc(100% - 24px);
}
/* Тонкое бумажное зерно поверх билета (не глянец, не блокирует ввод) */
.ticket::after{
    content:""; position:absolute; inset:0; z-index:4; pointer-events:none;
    background:var(--paper-grain); background-size:280px 280px;
    opacity:.16; mix-blend-mode:multiply;
}
/* --- левая часть: остаток мест --- */
.ticket-left{ position:relative; padding:40px 34px; display:flex; flex-direction:column; }
.ticket-logo{ height:34px; width:auto; margin-bottom:26px; align-self:flex-start; }
.ticket-seats{ display:flex; flex-direction:column; margin-bottom:20px; }
.ts-total{ font-family:var(--mono); text-transform:uppercase; letter-spacing:.05em; font-size:15px; font-weight:700; color:#3a352c; }
.ts-label{ font-family:var(--mono); text-transform:uppercase; letter-spacing:.08em; font-size:13px; color:#6a6252; margin-top:4px; }
.ts-num{ font-family:var(--display); font-size:clamp(52px,4.6vw,74px); line-height:.9; color:var(--teal-2); letter-spacing:-.02em; margin-top:2px; }
.ticket-left-note{ font-family:var(--body); font-weight:500; font-size:14px; line-height:1.35; color:#4a4436; margin:auto 0 0; }

/* --- центр: форма --- */
.ticket-body{
    padding:40px 42px; position:relative;
    border-left:2px dashed rgba(8,8,9,.28); border-right:2px dashed rgba(8,8,9,.28);
}
.ticket-form-h{
    font-family:var(--display); font-weight:400; text-transform:uppercase;
    font-size:clamp(22px,2vw,30px); line-height:1.02; letter-spacing:-.02em; margin:0 0 22px; color:#080809;
    overflow-wrap:break-word; word-break:break-word;
}

/* --- правый корешок: штрихкод + инфо --- */
.ticket-stub{ position:relative; padding:40px 28px; display:flex; flex-direction:column; align-items:center; text-align:center; }
.stub-barcode{ width:100%; height:60px; background:repeating-linear-gradient(90deg,#0c0c0e 0 2px,transparent 2px 4px,#0c0c0e 4px 5px,transparent 5px 9px,#0c0c0e 9px 12px,transparent 12px 14px); }
.stub-code{ font-family:var(--mono); text-transform:uppercase; letter-spacing:.28em; font-size:10px; font-weight:700; color:#3a352c; margin:10px 0 20px; }
.stub-logo{ height:30px; width:auto; margin-bottom:20px; }
.stub-info{ display:grid; gap:12px; text-align:left; }
.stub-info li{ position:relative; padding-left:16px; font-family:var(--body); font-weight:500; font-size:13px; line-height:1.3; color:#4a4436; }
.stub-info li::before{ content:"—"; position:absolute; left:0; color:var(--coral); }

/* Форма (светлые поля на билете) */
.tf-row{ margin-bottom:14px; }
.tf-field{ display:flex; flex-direction:column; gap:6px; }
.tf-label{ font-family:var(--mono); text-transform:uppercase; letter-spacing:.06em; font-size:11px; font-weight:700; color:#6a6252; }
.tf-field input{ background:#f7f2e6; border:1px solid rgba(8,8,9,.28); color:#080809; font-family:var(--body); font-size:16px; padding:12px 14px; border-radius:3px; transition:border-color .15s; }
.tf-field input:focus{ outline:none; border-color:var(--teal-2); }
.tf-field input::placeholder{ color:#a29a86; }
.tf-consent{ display:flex; gap:10px; align-items:flex-start; margin-top:12px; font-family:var(--body); font-size:13px; color:#4a4436; line-height:1.3; cursor:pointer; }
.tf-consent input{ margin-top:2px; width:16px; height:16px; accent-color:var(--coral); flex-shrink:0; }
.tf-consent a{ color:var(--coral); text-decoration:underline; }
.ticket-submit{ margin-top:22px; width:100%; }
.ticket-submit:disabled{ opacity:.5; cursor:not-allowed; }
.tf-error{ color:var(--coral); font-weight:700; font-size:14px; margin-top:12px; font-family:var(--body); }
.tf-hp{ position:absolute !important; left:-9999px !important; width:1px; height:1px; opacity:0; pointer-events:none; }

/* Экран успеха */
/* Попап-подтверждение после регистрации (форма остаётся — можно добавить ещё) */
.ticket-modal{ position:fixed; inset:0; z-index:1000; display:flex; align-items:center; justify-content:center; padding:24px; }
.ticket-modal[hidden]{ display:none; }
.ticket-modal-backdrop{ position:absolute; inset:0; background:rgba(4,10,10,.74); }
.ticket-modal-card{
    position:relative; z-index:1; width:min(440px,100%); text-align:center;
    background:var(--teal); color:#04211d; padding:44px 34px 34px;
    clip-path:polygon(0 3%,8% 0,22% 4%,40% 0,58% 4%,76% 0,92% 4%,100% 1%,99% 96%,86% 100%,68% 96%,50% 100%,32% 96%,14% 100%,2% 97%);
    box-shadow:0 30px 70px rgba(0,0,0,.5);
    animation:tm-pop .26s ease;
}
@keyframes tm-pop{ from{ transform:translateY(14px) scale(.96); opacity:0 } to{ transform:none; opacity:1 } }
.ticket-modal-x{ position:absolute; top:12px; right:16px; background:none; border:0; font-size:30px; line-height:1; color:#04211d; cursor:pointer; opacity:.5; }
.ticket-modal-x:hover{ opacity:1; }
.ticket-modal-check{ display:inline-flex; align-items:center; justify-content:center; width:60px; height:60px; border-radius:50%; background:#04211d; color:var(--teal); font-size:30px; margin-bottom:16px; }
.ticket-modal-card h3{ font-family:var(--display); font-weight:400; text-transform:uppercase; font-size:clamp(23px,4.2vw,31px); line-height:1; letter-spacing:-.01em; margin:0 0 12px; }
.ticket-modal-sub{ font-family:var(--body); font-weight:600; font-size:16px; margin:0 0 8px; }
.ticket-modal-sub b{ word-break:break-word; }
.ticket-modal-note{ font-family:var(--body); font-size:14px; line-height:1.4; color:#0a3a34; margin:0 0 22px; }
.ticket-modal-btn{
    font-family:var(--mono); text-transform:uppercase; letter-spacing:.04em; font-weight:700; font-size:15px;
    background:#04211d; color:var(--teal); border:0; border-radius:4px; padding:15px 26px; cursor:pointer; width:100%;
    transition:background .15s;
}
.ticket-modal-btn:hover{ background:#0a3a34; }

/* сохраняем перенос длинных display-заголовков */
.reg-title{ overflow-wrap:break-word; }

/* ---------- Блок 6: Три шага — и ты в зале (светлая афишная инфополоса) ---------- */
.steps{ position:relative; overflow:hidden; min-height:280px; background:var(--paper); color:#080809; padding:38px 0 28px; }
.steps-bg{ position:absolute; inset:0; z-index:0; background:url("../img/gen/steps_bg.webp") center / cover no-repeat; }
.steps-grain{ position:absolute; inset:0; z-index:1; opacity:.16; mix-blend-mode:multiply; }
.steps-inner{
    position:relative; z-index:4; width:min(1240px,calc(100% - 2 * var(--gutter))); margin:0 auto;
    display:grid; grid-template-columns:240px minmax(0,1fr) 240px; gap:36px; align-items:start;
}
.steps-brand{ padding-top:6px; }
.steps-logo{ display:block; width:120px; height:auto; }
.steps-heading{ padding-top:4px; }
.steps-title{
    margin:0; font-family:var(--display); font-size:clamp(30px,2.8vw,48px); line-height:.92;
    letter-spacing:-.035em; text-transform:uppercase; color:#080809; transform:rotate(-1deg);
}
.steps-title span{ display:block; }
.steps-title .accent{ color:var(--teal-2); }

.steps-list{ display:grid; grid-template-columns:repeat(3,minmax(120px,1fr)); gap:0; align-items:start; padding-top:2px; }
.steps-item{ position:relative; padding:0 22px; }
.steps-item:first-child{ padding-left:0; }
.steps-item:not(:last-child)::after{ content:""; position:absolute; top:4px; right:0; width:1px; height:118px; background:rgba(8,8,9,.2); }
.steps-item-top{ display:flex; align-items:center; gap:12px; margin-bottom:12px; }
.steps-num{ font-family:var(--display); font-size:clamp(30px,2.6vw,46px); line-height:1; letter-spacing:-.035em; color:var(--teal-2); }
.steps-ic{ display:inline-flex; width:32px; height:32px; color:#080809; }
.steps-ic svg{ width:100%; height:100%; display:block; }
.steps-item-title{ margin:0 0 8px; font-family:var(--mono); font-size:17px; line-height:1; font-weight:700; letter-spacing:.02em; text-transform:uppercase; color:#080809; }
.steps-item-text{ max-width:190px; margin:0; font-family:var(--body); font-size:15px; line-height:1.2; font-weight:600; color:rgba(8,8,9,.66); }

/* финальная фраза на чёрной рваной части фона (прозрачный контейнер) */
.steps-sticker{ position:relative; z-index:5; min-height:180px; padding:8px 8px; color:var(--teal); transform:rotate(-1.5deg); }
.steps-sticker-logo{ display:block; width:86px; height:auto; margin-bottom:14px; }
.steps-sticker-title{ font-family:var(--display); font-size:clamp(30px,2.8vw,48px); line-height:.9; letter-spacing:-.035em; text-transform:uppercase; color:var(--teal); }
.steps-sticker-meta{ margin-top:12px; font-family:var(--mono); font-size:13px; line-height:1.1; font-weight:700; text-transform:uppercase; color:var(--paper); }

.steps-note{
    position:relative; z-index:4; width:min(1240px,calc(100% - 2 * var(--gutter))); margin:14px auto 0; padding-left:276px;
    font-family:var(--mono); font-size:12px; line-height:1.2; font-weight:700; text-transform:uppercase; color:rgba(8,8,9,.55);
}
.steps-note::before{
    content:"i"; display:inline-flex; align-items:center; justify-content:center;
    width:18px; height:18px; margin-right:8px; border-radius:50%; background:var(--teal); color:#080809;
    font-size:12px; font-weight:900; vertical-align:middle;
}

/* ---------- Футер ---------- */
.site-footer{ padding:34px 0; background:#08080a; border-top:1px solid var(--border); }
.footer-inner{ display:flex; align-items:center; justify-content:space-between; gap:20px; flex-wrap:wrap; }
.footer-logo{ height:34px; }
.footer-meta{ text-align:center; }
.footer-event{ font-family:var(--mono); text-transform:uppercase; letter-spacing:.05em; color:#c9c9d0; margin:0 0 4px; font-weight:700; }
.footer-legal{ font-family:var(--mono); text-transform:uppercase; letter-spacing:.04em; color:var(--muted); font-size:12px; margin:0; }
.footer-up{ font-family:var(--mono); text-transform:uppercase; letter-spacing:.05em; font-size:13px; color:var(--teal); }
.footer-up:hover{ color:#4fecd8; }

/* --- Блок 6 адаптив --- */
@media (max-width:1180px){
    .steps-inner{ grid-template-columns:200px minmax(0,1fr); }
    .steps-sticker{
        grid-column:1 / -1; width:min(340px,100%); margin-left:auto; color:var(--teal);
        background:#0a0a0c; padding:22px 24px; transform:rotate(-1deg);
        clip-path:polygon(0 8%,9% 3%,20% 7%,38% 2%,55% 8%,74% 4%,100% 9%,96% 92%,78% 100%,58% 94%,39% 99%,18% 93%,5% 98%);
    }
    .steps-note{ padding-left:236px; }
}
@media (max-width:860px){
    .steps{ padding:44px 0 34px; }
    .steps-bg{ background-position:34% center; }
    .steps-inner{
        width:100%; max-width:620px; padding:0 var(--gutter); box-sizing:border-box;
        grid-template-columns:minmax(0,1fr); gap:24px;
    }
    .steps-heading, .steps-list, .steps-sticker{ min-width:0; }
    .steps-list{ grid-template-columns:minmax(0,1fr); gap:16px; }
    .steps-item{ min-width:0; padding:0 0 16px; border-bottom:1px solid rgba(8,8,9,.16); }
    .steps-item:first-child{ padding-left:0; }
    .steps-item:not(:last-child)::after{ display:none; }
    .steps-item-text{ max-width:100%; overflow-wrap:anywhere; }
    .steps-sticker{ margin-left:0; width:100%; }
    .steps-note{ width:100%; max-width:620px; padding:0 var(--gutter); box-sizing:border-box; }
}
@media (max-width:560px){
    .footer-inner{ flex-direction:column; text-align:center; gap:16px; }
}

/* ---------- Адаптив ---------- */
/* Узкий десктоп: сужаем колонку и заголовок, чтобы текст не лез на артиста */
@media (max-width:1240px){
    .hero-top{ width:min(470px,52%); }
    .hero-title{ font-size:clamp(44px,5vw,78px); }
    .lbl-guf{ right:42%; bottom:21%; }
    .lbl-soon-1{ right:26%; bottom:16%; }
    .lbl-soon-2{ right:8%; bottom:15%; }
    .hero-scribble{ right:12%; top:12%; }
}
@media (max-width:1080px){
    .hero-top{ width:min(430px,50%); }
    .hero-title{ font-size:clamp(38px,4.8vw,66px); }
    /* Переходный диапазон (~1024): даём левому краю светлую подложку,
       чтобы низ заголовка («КОНЦЕРТ») не ложился на тёмное лицо на фото. */
    .hero-bg{
        background-image:
            linear-gradient(90deg, rgba(236,228,211,.92) 0%, rgba(236,228,211,.6) 32%, rgba(236,228,211,0) 52%),
            linear-gradient(180deg, rgba(236,228,211,.9) 0%, rgba(236,228,211,.35) 8%, rgba(236,228,211,0) 15%),
            url("../img/hero_bg.webp");
        background-position:center right;
    }
    .lbl-guf{ right:40%; bottom:20%; }
    .lbl-soon-1{ right:24%; bottom:15%; }
    .lbl-soon-2{ right:6%; bottom:14%; }
    .hero-scribble{ right:9%; top:11%; font-size:26px; }
}

/* Планшет и мобайл: вертикальная раскладка — текст на бумаге сверху, фото ниже */
@media (max-width:980px){
    .main-nav, .header-cta{ display:none; }
    .burger{ display:flex; }
    body{ font-size:16px; }
    .hero{ min-height:auto; }
    .hero-bg{
        background-image:
            linear-gradient(180deg, rgba(236,228,211,1) 0%, rgba(236,228,211,.92) 20%, rgba(236,228,211,.5) 40%, rgba(236,228,211,0) 58%),
            linear-gradient(0deg, rgba(10,10,12,.97) 0%, rgba(10,10,12,.9) 17%, rgba(10,10,12,.4) 33%, rgba(10,10,12,0) 48%),
            url("../img/hero_bg.webp");
        background-position:56% top; background-size:cover;
    }
    .hero-content{ padding:84px var(--gutter) 296px; }
    .hero-top{ width:100%; }
    .hero-title{ font-size:clamp(58px,10vw,104px); }
    .artist-label, .hero-scribble{ display:none; }
    .hero-black{ position:absolute; left:-4vw; right:-4vw; bottom:42px; height:250px; }
    .hero-black-content{ bottom:70px; }
    .hero-event{ gap:18px; margin-bottom:18px; }
    .hero-cta{ width:100%; }
    .hero-cta-row{ gap:14px; }
    .ticket-counter{ font-size:15px; }
}
@media (max-width:560px){
    .hero-content{ padding:74px var(--gutter) 244px; }
    .hero-title{ font-size:clamp(33px,10.2vw,54px); letter-spacing:-.03em; }
    .hero-subline{ font-size:14px; }
    .he-date{ font-size:clamp(42px,14vw,56px); }
    .hero-black-content{ bottom:88px; padding:0 var(--gutter); }
    .marquee-track{ font-size:15px; }
}

/* --- Блок 2 адаптив --- */
@media (max-width:900px){
    .about-bg{
        background-image:
            linear-gradient(180deg, rgba(236,228,211,0) 0%, rgba(236,228,211,.55) 46%, rgba(236,228,211,.96) 70%),
            url("../img/about_bg.webp");
        background-position:center top;
    }
    .about-inner{ justify-content:flex-start; min-height:auto; padding:120px var(--gutter) 56px; }
    .about-content{ width:min(560px,100%); }
    .about-logo{ height:34px; }
    /* декоративные штампы/наклейка мешают тексту в узкой раскладке */
    .about-stamp, .about-sticker{ display:none; }
}
@media (max-width:560px){
    .about-inner{ padding:104px var(--gutter) 48px; }
    .about-title{ font-size:clamp(34px,11vw,52px); }
    .about-text, .about-support{ font-size:16px; }
    .about-facts{ gap:14px 0; }
    .about-fact{ padding:0 16px; font-size:16px; }
    .about-highlight{ font-size:22px; padding:36px 32px 40px; }
}

/* --- Блок 3 адаптив --- */
@media (max-width:900px){
    .fund{ padding:70px 0 74px; }
    /* фон-plate затемняем, чтобы текст читался; фото уходит в атмосферу */
    .fund-bg{
        background-image:linear-gradient(rgba(8,8,9,.74),rgba(8,8,9,.74)), url("../img/gen/why_bg.webp");
        background-position:center top;
    }
    .fund-top{ width:100%; margin-bottom:30px; }
    .fund-cards{ grid-template-columns:1fr; gap:22px; max-width:460px; }
    .stat-wrap--1, .stat-wrap--2, .stat-wrap--3{ transform:none; }
    .stat-card{ min-height:0; }
}
@media (max-width:560px){
    .fund-title{ font-size:clamp(26px,6.8vw,42px); letter-spacing:-.03em; word-break:break-word; }
    .fund-text{ font-size:18px; }
    .stat-num{ font-size:clamp(44px,12vw,60px); }
    .fund-cta{ width:100%; }
    .atmo{ min-height:auto; }
    /* светлый бумажный градиент под текст (толпа уходит вниз в атмосферу).
       Держим бумагу плотной дольше вниз — чтобы нижние фичи не тонули на тёмной толпе. */
    .atmo-bg{
        background-image:linear-gradient(180deg, rgba(236,228,211,.97) 0%, rgba(236,228,211,.92) 42%, rgba(236,228,211,.6) 64%, rgba(236,228,211,0) 84%), url("../img/gen/atmo_bg.webp");
        background-position:center top;
    }
    .atmo-inner{ padding:48px var(--gutter) 44px; }
    .atmo-copy{ width:100%; }
    .atmo-feats{ font-size:16px; }
    /* CTA-плашка в поток снизу */
    .atmo-cta-paper{ position:static; width:auto; right:auto; bottom:auto; margin-top:150px; transform:rotate(-1deg); }
    .atmo-cta-btn{ width:100%; justify-content:center; }
}

/* --- Блок 5 адаптив --- */
@media (max-width:900px){
    .ticket-stage{ width:min(100% - 8px,560px); }
    .ticket{ grid-template-columns:1fr; transform:none; }
    .ticket-body{ border-left:none; border-right:none; border-top:2px dashed rgba(8,8,9,.28); border-bottom:2px dashed rgba(8,8,9,.28); }
    .ticket-left, .ticket-stub{ text-align:left; align-items:flex-start; }
    .ticket-left-note{ margin-top:16px; }
    /* обрывки прижимаем к краям и глушим, чтобы не мешали и не давали переполнения */
    .reg-scrap{ opacity:.4; transform:none; }
    .reg-scrap-red{ left:-24px; bottom:24px; width:180px; height:64px; }
    .reg-scrap-paper{ right:-26px; top:12px; width:190px; height:70px; }
    .reg-scrap-teal{ display:none; }
    .reg-tape-1{ left:10%; }
    .reg-tape-2{ right:8%; }
}
@media (max-width:560px){
    .register{ padding:56px 0 60px; }
    .reg-title{ font-size:clamp(26px,6.4vw,40px); }
    .reg-title .accent{ display:block; }
    .ticket-stage{ width:calc(100% - 8px); }
    .ticket-left, .ticket-body, .ticket-stub{ padding:30px 24px; }
    .ticket-form-h{ font-size:clamp(19px,5.2vw,26px); }
    .reg-tape{ display:none; }
    .reg-success-card{ padding:40px 26px; }
}
