/* ================= FONTS ================= */
@font-face{font-family:"Inter Tight";font-weight:200;font-display:swap;src:url(../fonts/inter-tight-cyrillic-200.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:"Inter Tight";font-weight:200;font-display:swap;src:url(../fonts/inter-tight-latin-200.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Inter Tight";font-weight:400;font-display:swap;src:url(../fonts/inter-tight-cyrillic-400.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:"Inter Tight";font-weight:400;font-display:swap;src:url(../fonts/inter-tight-latin-400.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Inter Tight";font-weight:500;font-display:swap;src:url(../fonts/inter-tight-cyrillic-500.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:"Inter Tight";font-weight:500;font-display:swap;src:url(../fonts/inter-tight-latin-500.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Inter Tight";font-weight:700;font-display:swap;src:url(../fonts/inter-tight-cyrillic-700.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:"Inter Tight";font-weight:700;font-display:swap;src:url(../fonts/inter-tight-latin-700.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Inter Tight";font-weight:900;font-display:swap;src:url(../fonts/inter-tight-cyrillic-900.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:"Inter Tight";font-weight:900;font-display:swap;src:url(../fonts/inter-tight-latin-900.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Cormorant";font-style:italic;font-weight:500;font-display:swap;src:url(../fonts/cormorant-cyrillic-500i.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:"Cormorant";font-style:italic;font-weight:500;font-display:swap;src:url(../fonts/cormorant-latin-500i.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

/* ================= TOKENS ================= */
:root{
  /* палитра: кремовый + винный */
  --bg:#F1EEE9;
  --paper:#FAF8F5;
  --ink:#141312;
  --ink-2:#5C5752;
  --line:#D9D3CB;
  --accent:#8E1F24;
  --accent-hover:#741A1E;
  --accent-light:#C1463F;
  --accent-glow:rgba(193,70,63,.22);
  --dark:#171514;
  --dark-2:#24211F;
  --dark-3:#322E2B;
  --on-dark-2:#BDB6AE;
  --on-dark-3:#A39C95;
  --dark-line:#4A4541;

  /* сетка и ритм — едины для всех блоков */
  --max:1280px;                          /* ширина контейнера */
  --gutter:clamp(16px,4vw,48px);         /* боковые поля */
  --section:clamp(72px,9vw,128px);       /* расстояние между разделами */
  --head-gap:clamp(32px,4vw,56px);       /* от заголовка раздела до контента */
  --card-pad:clamp(24px,4.4vw,64px);     /* внутренние поля тёмных карточек */
  --radius:24px;                         /* малые карточки */
  --radius-lg:clamp(28px,3.4vw,44px);    /* большие тёмные карточки */

  --sans:"Inter Tight",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  --serif:"Cormorant",Georgia,"Times New Roman",serif;
  --ease:cubic-bezier(.2,.7,.2,1);

  /* ТИПОГРАФИКА — вся шкала размеров сайта. Новых размеров не заводим, берём отсюда.
     заголовки: */
  --fs-hero:clamp(50px,7.2vw,112px);     /* H1 на обложке */
  --fs-h2:clamp(40px,5.6vw,80px);        /* заголовки разделов, цифры подхода */
  --fs-h2-col:clamp(36px,4.8vw,68px);    /* заголовок в колонке (контакты), цифры статистики */
  --fs-h3:clamp(20px,1.9vw,26px);        /* карточки подхода, цитата, пункты мобильного меню */
  /* текст: */
  --fs-lead:clamp(18px,1.4vw,20px);      /* вводный абзац, счётчик галереи */
  --fs-body:17px;                        /* основной текст (16px на телефоне) */
  --fs-ui:15px;                          /* кнопки, меню, логотип, плашки, подписи */
  --fs-label:12px;                       /* подписи капсом с разрядкой */
  --track-label:.2em;
}

/* ================= BASE ================= */
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font:400 var(--fs-body)/1.55 var(--sans);-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer;padding:0}
em{font-style:normal}
b{font-weight:700}
.wrap{width:100%;max-width:var(--max);margin-inline:auto;padding-inline:var(--gutter)}
section{scroll-margin-top:90px}
main{overflow-x:clip}  /* бегущая строка выходит за края — обрезаем без горизонтальной прокрутки */
:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:6px}

.thin{font-weight:200}
.bold{font-weight:900}
.accent{color:var(--accent)}

/* заголовки: строки не слипаются — отдельный отступ между тонкой и жирной строкой */
.display,.hero__title{margin:0;text-transform:uppercase;line-height:.92;letter-spacing:-.035em}
.display{font-size:var(--fs-h2)}
.display span,.hero__title span{display:block}
.display span + span,.hero__title span + span{margin-top:clamp(8px,.9vw,13px)}
.display em,.hero__title em{color:var(--accent)}
.display--light{color:#fff}
.display--light .accent,.display--light em{color:var(--accent-light)}

.script-title{margin:0;text-transform:uppercase;line-height:.9;letter-spacing:-.03em;font-weight:900;font-size:var(--fs-h2)}
.script-title em{display:block;font:italic 500 .62em/1 var(--serif);text-transform:lowercase;letter-spacing:0;color:var(--accent);margin-bottom:.02em;padding-left:.35em}
.script-title span{display:block}

.eyebrow{display:block;margin:0 0 18px;line-height:1.5;font-size:var(--fs-label);font-weight:500;letter-spacing:var(--track-label);text-transform:uppercase;color:var(--ink-2)}
.eyebrow::before{content:"";display:inline-block;vertical-align:middle;width:28px;height:1px;margin:-2px 12px 0 0;background:currentColor;opacity:.6}
.eyebrow b{color:var(--accent);font-weight:500}

/* единая шапка раздела: заголовок слева, пояснение справа, выравнивание по низу */
.section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:16px 32px;flex-wrap:wrap;margin-bottom:var(--head-gap)}
.section-head__sub{max-width:34ch;margin:0;color:var(--ink-2)}

.tag{display:inline-flex;align-items:center;padding:7px 16px;border:1px solid var(--ink);border-radius:999px;font-weight:500;font-size:var(--fs-ui);background:var(--paper);transition:background .3s,color .3s}
.tag:hover{background:var(--ink);color:var(--bg)}

.btn{display:inline-flex;align-items:center;gap:12px;padding:15px 26px;border-radius:999px;background:var(--accent);color:#fff;font-weight:500;font-size:var(--fs-ui);letter-spacing:.01em;transition:background .25s}
.btn:hover{background:var(--accent-hover)}
.btn svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;transition:transform .3s var(--ease)}
.btn:hover svg{transform:translate(2px,-2px)}
.link-play{display:inline-flex;align-items:center;gap:10px;font-weight:500;font-size:var(--fs-ui)}
.link-play i{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;border:1px solid var(--line);background:var(--paper);font-style:normal;font-size:11px;color:var(--accent);transition:border-color .25s}
.link-play:hover i{border-color:var(--accent)}

@keyframes spin{to{transform:rotate(360deg)}}

/* ================= NAV ================= */
.nav{position:sticky;top:0;z-index:50;max-width:var(--max);margin-inline:auto;padding:14px var(--gutter) 0}
.nav__pill{display:flex;align-items:center;justify-content:space-between;gap:16px;background:var(--dark);color:#fff;border-radius:999px;padding:8px 8px 8px 26px;box-shadow:0 10px 30px -18px rgba(0,0,0,.6)}
.nav__logo{font-weight:200;letter-spacing:.02em;text-transform:uppercase;font-size:var(--fs-ui);white-space:nowrap}
.nav__logo b{font-weight:900;margin-left:.35em}
.nav__links{display:flex;gap:clamp(18px,3.5vw,56px);font-size:var(--fs-ui)}
.nav__links a{position:relative;opacity:.85;transition:opacity .2s}
.nav__links a::after{content:"";position:absolute;left:0;right:0;bottom:-4px;height:1.5px;background:var(--accent-light);transform:scaleX(0);transform-origin:left;transition:transform .35s var(--ease)}
.nav__links a:hover{opacity:1}
.nav__links a:hover::after{transform:scaleX(1)}
.nav__cta{background:var(--accent);padding:11px 22px;border-radius:999px;font-weight:500;font-size:var(--fs-ui);transition:background .2s}
.nav__cta:hover{background:var(--accent-hover)}
.nav__burger{display:none;width:44px;height:44px;border-radius:50%;background:var(--accent);position:relative}
.nav__burger span{position:absolute;left:13px;right:13px;height:2px;background:#fff;border-radius:2px;transition:transform .3s var(--ease),top .3s var(--ease)}
.nav__burger span:first-child{top:17px}
.nav__burger span:last-child{top:25px}
.nav__burger[aria-expanded="true"] span:first-child{top:21px;transform:rotate(45deg)}
.nav__burger[aria-expanded="true"] span:last-child{top:21px;transform:rotate(-45deg)}
.menu{margin-top:8px;background:var(--dark);border-radius:26px;padding:10px 14px 14px;display:grid;gap:0}
.menu[hidden]{display:none}
.menu a{color:#fff;font-size:var(--fs-h3);font-weight:400;letter-spacing:.01em;padding:16px 14px;border-bottom:1px solid var(--dark-line)}
.menu a:hover{color:var(--accent-light)}
.menu .menu__cta{background:var(--accent);color:#fff;text-align:center;margin-top:14px;border:0;border-radius:16px;font-size:var(--fs-label);font-weight:500;letter-spacing:var(--track-label);text-transform:uppercase;padding:18px 14px}
.menu .menu__cta:hover{background:var(--accent-hover);color:#fff}

/* ================= HERO ================= */
.hero{--hero-title:var(--fs-hero);display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:clamp(28px,4vw,64px);align-items:stretch;padding-top:clamp(100px,10vw,140px)}
/* карточка тянется на высоту колонки текста (но не ниже пропорции 4:5) — низ всегда совпадает с цитатой */
.hero__card{position:relative;align-self:stretch;aspect-ratio:4/5;border-radius:var(--radius);isolation:isolate}
.hero__card::before{content:"";position:absolute;inset:0;border-radius:inherit;background:var(--accent);z-index:-2}
.hero__side{position:absolute;right:22px;bottom:22px;writing-mode:vertical-rl;transform:rotate(180deg);z-index:2;color:#fff;font-size:var(--fs-label);letter-spacing:var(--track-label);text-transform:uppercase;opacity:.75}
.hero__img{position:absolute;left:4%;bottom:0;width:96%;height:auto;max-height:118%;object-fit:contain;object-position:bottom;border-bottom-left-radius:var(--radius);filter:drop-shadow(0 16px 24px rgba(0,0,0,.18))}
/* пластинки (бейдж на обложке и кнопка шоурила): диск крутится, центр неподвижен;
   интервал букв подгоняется в JS под длину окружности — текст идёт по всему кругу */
.hero__badge{position:absolute;left:-30px;bottom:14%;width:104px;height:104px;border-radius:50%;box-shadow:0 14px 28px -10px rgba(0,0,0,.45)}
.vinyl__disc{position:absolute;inset:0;width:100%;height:100%;animation:spin 30s linear infinite}
.vinyl__grooves circle{fill:none;stroke-width:.35}
.vinyl__stripe{fill:none;stroke:#fff;stroke-width:.9;opacity:.9}
.vinyl__text{font-size:9.6px;font-weight:700;text-transform:uppercase;fill:#fff}
.vinyl__center{position:absolute;inset:0;display:grid;place-items:center;pointer-events:none}
.vinyl--black .vinyl__body{fill:#121110}
.vinyl--black .vinyl__grooves circle{stroke:rgba(255,255,255,.08)}
.vinyl__star{font-style:normal;color:var(--accent-light);font-size:22px;line-height:1}
.vinyl--red .vinyl__body{fill:var(--accent)}
.vinyl--red .vinyl__grooves circle{stroke:rgba(0,0,0,.2)}
.vinyl--red .vinyl__label{fill:var(--dark)}

/* верх заглавных «ПРИВЕТ» = верх карточки: подпись выносится над строкой, цитата прижата к низу карточки */
.hero__text{display:flex;flex-direction:column;align-items:flex-start;margin-top:calc(-36px - var(--hero-title) * .0965)}
.hero .eyebrow{line-height:18px;margin-bottom:18px}
.hero .quote{margin-top:auto}
.hero__title{font-size:var(--hero-title);letter-spacing:-.04em}
.hero__tag{margin-top:22px}
.hero__lead{max-width:30ch;margin:18px 0 24px;font-size:var(--fs-lead);color:var(--ink-2)}
.hero__actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px 22px;margin-bottom:28px}

.quote{width:100%;border:1px solid var(--line);border-radius:var(--radius);padding:clamp(24px,2.4vw,32px) clamp(24px,2.6vw,36px);background:var(--paper)}
.quote__big{margin:0 0 clamp(14px,1.4vw,20px);text-transform:uppercase;font-size:var(--fs-h3);line-height:1.02;letter-spacing:-.03em}
.quote__big span,.quote__big b{display:block}
.quote__big br{display:none}
.quote__big b{font-weight:900;margin-top:clamp(6px,.6vw,9px)}
.quote__big em{color:var(--accent)}
.quote__text{margin:0;font-size:var(--fs-ui);line-height:1.55;color:var(--ink-2)}
.quote__text b{color:var(--ink)}

/* ================= STATS ================= */
.stats{padding-top:clamp(48px,5vw,72px)}
.stats__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.stat{padding:clamp(22px,2.6vw,34px) clamp(14px,2vw,28px);border-left:1px solid var(--line)}
.stat:first-child{border-left:0;padding-left:0}
.stat b{display:block;font-weight:200;font-size:var(--fs-h2-col);line-height:1;letter-spacing:-.04em;color:var(--ink)}
.stat b sup{font-size:.45em;color:var(--accent);font-weight:500;vertical-align:.9em;margin-left:2px}
.stat span{display:block;margin-top:10px;font-size:var(--fs-ui);color:var(--ink-2);max-width:18ch}

/* ================= MARQUEE ================= */
.marquee{background:var(--ink);color:var(--bg);overflow:hidden;transform:rotate(-1deg);margin:var(--section) -20px 0;padding:16px 0}
.marquee__track{display:flex;gap:34px;width:max-content;align-items:center;animation:marquee 40s linear infinite}
.marquee span{font-weight:900;font-size:clamp(24px,3.2vw,44px);text-transform:uppercase;letter-spacing:-.02em;line-height:1}
.marquee span:nth-of-type(even){font-weight:200}
.marquee i{font-style:normal;color:var(--accent-light);font-size:var(--fs-h3);line-height:1}
@keyframes marquee{to{transform:translateX(-50%)}}

/* ================= ABOUT ================= */
.about{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(28px,5vw,80px);align-items:end;padding-top:var(--section)}
.about .display{margin-bottom:28px}
.about__text p{max-width:44ch;margin:0 0 16px;color:var(--ink-2)}
.about__text p b{color:var(--ink)}
.about__text .eyebrow{margin-bottom:18px}
.signature{font:italic 500 clamp(36px,3.8vw,52px)/1 var(--serif)!important;color:var(--accent)!important;transform:rotate(-3deg);transform-origin:left;margin:26px 0 0!important}
.about__visual{position:relative;display:flex;justify-content:center;align-items:flex-end;min-height:520px}
.about__circle{position:absolute;left:50%;bottom:8%;width:min(88%,470px);aspect-ratio:1;border-radius:50%;background:var(--paper);border:1px solid var(--line);transform:translateX(-50%);z-index:0}
.sticker{position:relative;z-index:1;transition:transform .6s var(--ease)}
.about__sticker{width:min(78%,420px);transform:rotate(-1.5deg);filter:drop-shadow(0 18px 24px rgba(0,0,0,.14))}
.about__sticker:hover{transform:rotate(0) scale(1.02)}
.chip{position:absolute;z-index:2;background:var(--paper);border:1px solid var(--line);border-radius:999px;padding:7px 16px;font-size:var(--fs-ui);font-weight:500;letter-spacing:.02em;white-space:nowrap;box-shadow:0 8px 20px -14px rgba(0,0,0,.35)}
.chip--1{top:14%;left:2%}
.chip--2{top:30%;right:0;background:var(--ink);color:#fff;border-color:var(--ink)}
.chip--3{bottom:26%;left:0}
.chip--4{bottom:9%;right:4%}

/* ================= APPROACH ================= */
.approach{padding-top:var(--section)}
.approach__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(12px,1.6vw,20px)}
/* десктоп: цифра слева сверху, заголовки всех карточек на одной высоте */
.step{position:relative;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:clamp(24px,2.6vw,34px);display:flex;flex-direction:column;justify-content:flex-start;overflow:hidden;transition:transform .5s var(--ease)}
.step:hover{transform:translateY(-4px)}
.step__num{display:block;margin:-6px 0 clamp(40px,4.4vw,64px) -4px;font-weight:200;font-size:var(--fs-h2);line-height:1;letter-spacing:-.05em;color:var(--accent)}
.step h3{margin:0 0 10px;font-weight:900;text-transform:uppercase;font-size:var(--fs-h3);line-height:1.05;letter-spacing:-.02em}
.step p{margin:0;color:var(--ink-2);max-width:30ch}
.step--dark{background:var(--dark);border-color:var(--dark);color:#fff}
.step--dark p{color:var(--on-dark-2)}
.step--dark .step__num{color:var(--accent-light)}

/* ================= DARK CARDS (showreel, contacts) — одинаковая ширина, радиус и поля ================= */
.dark-card{position:relative;background:var(--dark);color:#fff;border-radius:var(--radius-lg);padding:var(--card-pad);overflow:hidden;isolation:isolate}
.dark-card .eyebrow,.dark-card .section-head__sub{color:var(--on-dark-2)}

/* ================= SHOWREEL ================= */
.showreel{padding-top:var(--section)}
.showreel .display span{display:inline}
.showreel .display span + span{margin-top:0}
.showreel .section-head__sub em{font:italic 500 1.5em/1.2 var(--serif);color:#fff}
.player{position:relative;aspect-ratio:var(--ratio,16/9);transition:aspect-ratio .5s var(--ease);border-radius:var(--radius);overflow:hidden;background:#000}
.player__poster{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 12%;filter:grayscale(1) contrast(1.05) brightness(.72);transition:transform 1.2s var(--ease),filter .6s}
.player:hover .player__poster{transform:scale(1.04);filter:grayscale(.4) brightness(.8)}
.player__play{position:absolute;left:50%;top:50%;width:clamp(110px,12vw,150px);aspect-ratio:1;transform:translate(-50%,-50%);border-radius:50%;box-shadow:0 16px 40px -14px rgba(0,0,0,.6);transition:transform .5s var(--ease)}
.player__play:hover{transform:translate(-50%,-50%) scale(1.04)}
.player__tri{width:0;height:0;border-left:clamp(12px,1.3vw,16px) solid #fff;border-top:clamp(7px,.8vw,10px) solid transparent;border-bottom:clamp(7px,.8vw,10px) solid transparent;margin-left:4px}
.player__frame{position:absolute;inset:0;background:#000}
.player__frame iframe,.player__frame video{width:100%;height:100%;border:0;display:block;object-fit:contain;background:#000}
/* переключатель роликов под плеером — те же «таблетки», что в контактах */
.reel-switch{display:flex;flex-wrap:wrap;gap:10px;margin-top:clamp(14px,2vw,22px)}
.reel-switch button{display:inline-flex;align-items:center;gap:10px;padding:13px 22px;border:1px solid var(--dark-line);border-radius:999px;color:#fff;font-weight:500;font-size:var(--fs-ui);transition:background .25s,border-color .25s}
.reel-switch button:hover{border-color:#fff}
.reel-switch button[aria-pressed="true"]{background:var(--accent);border-color:var(--accent)}
.reel-switch:has(button:only-child){display:none}

/* ================= GALLERY / FOLDER ================= */
.gallery{padding-top:var(--section)}
.folder{position:relative;--folder:var(--dark-2)}
.folder::before{content:"";position:absolute;right:6%;top:14px;width:46%;height:120px;background:var(--paper);border:1px solid var(--line);border-radius:14px;transform:rotate(1.5deg);z-index:0;box-shadow:0 -6px 20px -12px rgba(0,0,0,.25)}
.folder__tabs{display:flex;gap:6px;position:relative;z-index:1}
.folder__tab{display:inline-flex;align-items:center;gap:10px;height:54px;padding:0 24px 0 16px;border-radius:20px 20px 0 0;background:var(--dark-3);color:var(--on-dark-3);font-weight:500;font-size:var(--fs-ui);transition:background .3s,color .3s}
.folder__tab i{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;border:1px solid currentColor;font-style:normal;font-size:var(--fs-label);font-weight:500}
.folder__tab:hover{color:#fff}
.folder__tab.is-active{background:var(--folder);color:#fff}
.folder__tab.is-active i{background:var(--accent);border-color:var(--accent)}
.folder__body{position:relative;z-index:1;background:var(--folder);border-radius:0 var(--radius) var(--radius) var(--radius);padding:clamp(16px,2.4vw,30px);color:#fff;box-shadow:0 30px 60px -30px rgba(0,0,0,.45)}
.folder__track{display:flex;gap:clamp(10px,1.2vw,16px);overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;scroll-behavior:smooth;height:clamp(340px,40vw,520px);outline:none}
.folder__track::-webkit-scrollbar{display:none}
.folder__item{flex:0 0 auto;height:100%;scroll-snap-align:start;border-radius:18px;overflow:hidden;position:relative;background:var(--dark-3);cursor:zoom-in;padding:0}
.folder__item img{height:100%;width:auto;object-fit:cover;transition:transform .8s var(--ease),opacity .5s;opacity:0}
.folder__item img.is-loaded{opacity:1}
.folder__item:hover img{transform:scale(1.04)}
/* видео в папке: постер + кнопка «плей» как у пластинки шоурила */
.folder__item--video{cursor:pointer}
.folder__play{position:absolute;left:50%;top:50%;width:64px;height:64px;margin:-32px 0 0 -32px;border-radius:50%;background:var(--accent);box-shadow:0 10px 24px -8px rgba(0,0,0,.6);transition:transform .4s var(--ease),background .25s}
.folder__play::after{content:"";position:absolute;left:50%;top:50%;margin:-9px 0 0 -5px;border-left:15px solid #fff;border-top:9px solid transparent;border-bottom:9px solid transparent}
.folder__item--video:hover .folder__play{transform:scale(1.08);background:var(--accent-hover)}
.folder__track.is-switching{animation:fadeSwap .5s var(--ease)}
@keyframes fadeSwap{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
.folder__controls{display:flex;justify-content:space-between;align-items:center;margin-top:clamp(14px,2vw,22px)}
.folder__count{font-weight:200;font-size:var(--fs-lead);color:var(--on-dark-3);letter-spacing:.02em}
.folder__count b{font-weight:900;color:#fff}
.folder__arrows{display:flex;gap:10px}
.arrow{display:grid;place-items:center;width:52px;height:52px;border-radius:50%;border:1px solid var(--dark-line);color:#fff;transition:background .25s,border-color .25s}
.arrow:hover{background:var(--accent);border-color:var(--accent)}
.arrow svg,.lightbox__nav svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}

/* ================= CONTACTS ================= */
.contacts{padding-top:var(--section)}
.contacts__card{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);align-items:center;gap:clamp(20px,4vw,56px)}
.contacts__card::before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;
  background:radial-gradient(ellipse 45% 60% at 24% 78%,var(--accent-glow),transparent 70%),
             radial-gradient(ellipse 30% 40% at 86% 12%,rgba(255,255,255,.07),transparent 70%)}
.contacts__sticker{position:relative;z-index:2;width:100%;max-width:400px;justify-self:center}
.contacts__sticker:hover{transform:scale(1.01)}
.contacts__body{position:relative;z-index:2}
.contacts__body .display{font-size:var(--fs-h2-col);margin-bottom:24px}
.contacts__lead{color:var(--on-dark-2);margin:0 0 26px;max-width:36ch}
.contacts__links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;max-width:560px}
.pill{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:15px 22px;border:1px solid var(--dark-line);border-radius:999px;font-weight:500;font-size:var(--fs-ui);transition:background .25s,border-color .25s,color .25s}
.pill span{transition:transform .3s var(--ease)}
.pill:hover{background:#fff;color:var(--ink);border-color:#fff}
.pill:hover span{transform:translate(3px,-3px)}
.pill--accent{grid-column:1/-1;background:var(--accent);border-color:var(--accent);justify-content:center}
.pill--accent:hover{background:var(--accent-hover);border-color:var(--accent-hover);color:#fff}
/* блики диско-шара и висящий шар */
.contacts__lights{position:absolute;inset:-40px;z-index:1;pointer-events:none;animation:lights-drift 22s ease-in-out infinite alternate}
.contacts__lights .spot{position:absolute;border-radius:3px;background:#fff;filter:blur(.6px)}
.contacts__lights .spot--warm{background:var(--accent-light)}
.contacts__lights .spark{position:absolute;width:var(--s);height:var(--s);color:#fff;animation:twinkle var(--d) ease-in-out var(--delay) infinite}
.contacts__lights .spark svg{width:100%;height:100%;fill:currentColor;display:block}
@keyframes lights-drift{from{transform:translate3d(0,0,0)}to{transform:translate3d(-36px,14px,0)}}
@keyframes twinkle{0%,100%{opacity:0;transform:scale(.4) rotate(0)}50%{opacity:.9;transform:scale(1) rotate(45deg)}}
.contacts__ball{position:absolute;z-index:1;top:0;right:var(--card-pad);width:clamp(84px,8vw,112px);transform-origin:50% 0;animation:ball-sway 7s ease-in-out infinite alternate}
.contacts__ball::before{content:"";display:block;width:1px;height:clamp(10px,1.4vw,18px);margin:0 auto;background:linear-gradient(rgba(255,255,255,0),rgba(255,255,255,.55))}
.contacts__ball img{width:100%;height:auto;border-radius:50%;filter:drop-shadow(0 18px 30px rgba(0,0,0,.5)) brightness(1.05)}
@keyframes ball-sway{from{transform:rotate(-2.5deg)}to{transform:rotate(2.5deg)}}

/* ================= FOOTER ================= */
.footer{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px 24px;padding-block:28px 40px;color:var(--ink-2);font-size:var(--fs-ui)}
.footer a:hover{color:var(--accent)}
.footer small{flex-basis:100%;font-size:var(--fs-label);opacity:.75}

/* ================= LIGHTBOX ================= */
.lightbox{border:0;padding:0;margin:0;inset:0;max-width:none;max-height:none;width:100%;height:100vh;height:100dvh;background:rgba(12,11,10,.94);color:#fff}
.lightbox[open]{display:grid;place-items:center}
.lightbox::backdrop{background:rgba(12,11,10,.94)}
.lightbox__img,.lightbox__video{max-width:min(92vw,1400px);max-height:84vh;width:auto;height:auto;border-radius:14px;object-fit:contain;background:#000}
.lightbox__img[hidden],.lightbox__video[hidden]{display:none}
.lightbox__video{width:min(92vw,1400px,calc(84vh * var(--r,16 / 9)))}   /* размер сразу, до загрузки ролика — без прыжка */
.lightbox__close{position:absolute;top:18px;right:18px;width:50px;height:50px;border-radius:50%;background:var(--accent);color:#fff;font-size:18px}
.lightbox__nav{position:absolute;top:50%;transform:translateY(-50%);width:54px;height:54px;border-radius:50%;border:1px solid rgba(255,255,255,.35);display:grid;place-items:center;color:#fff;transition:background .2s}
.lightbox__nav:hover{background:var(--accent);border-color:var(--accent)}
.lightbox__nav--prev{left:18px}
.lightbox__nav--next{right:18px}
.lightbox__count{position:absolute;bottom:20px;left:50%;transform:translateX(-50%);font-weight:200;letter-spacing:.06em}

/* ================= REVEAL ================= */
.js [data-reveal]{opacity:0;transform:translateY(28px);transition:opacity .9s var(--ease),transform .9s var(--ease)}
.js [data-reveal].is-in{opacity:1;transform:none}

/* ================= RESPONSIVE ================= */
@media (max-width:1024px){
  .nav__links{display:none}
  .hero{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
}
@media (max-width:760px){
  :root{--fs-body:16px}
  .nav{padding-top:10px}
  .nav__pill{padding:6px 6px 6px 20px}
  .nav__cta{display:none}
  .nav__burger{display:block}

  .hero{grid-template-columns:1fr;gap:0;padding-top:28px}
  .hero__text{margin-top:0}
  .hero .quote{margin-top:0}
  .hero__text{display:contents}
  .hero .eyebrow{order:0}
  .hero__title{order:1;font-size:clamp(52px,16vw,84px)}
  /* телефон: тонкая «П» оптически левее жирной «Я» под ней — чуть ослабляем компенсацию из main.js */
  .hero__title .thin{margin-left:-.05em!important}
  .hero__tag{order:2;justify-self:start;margin-top:14px}
  .hero__card{order:3;margin:64px 0 0;aspect-ratio:4/4.6;align-self:start}
  .hero__lead{order:4;margin:28px 0 18px}
  .hero__actions{order:5;margin-bottom:26px}
  .quote{order:6;padding:22px}
  .hero__badge{width:92px;height:92px;left:-10px}

  .stats{padding-top:40px}
  .stats__grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .stat{padding:22px 14px}
  .stat:nth-child(odd){border-left:0;padding-left:0}
  .stat:nth-child(n+3){border-top:1px solid var(--line)}

  .about{grid-template-columns:1fr}
  .about__visual{order:-1;min-height:0}
  .about__sticker{width:min(72%,340px)}
  .chip{padding:6px 13px}
  .chip--1{left:0}

  .approach__grid{grid-template-columns:1fr}
  /* телефон: цифра справа, текст слева; оба по центру карточки по высоте */
  .step{justify-content:center;min-height:150px;padding:26px 108px 26px 24px}
  .step__num{position:absolute;top:50%;right:22px;margin:0;transform:translateY(-50%)}

  /* тёмные карточки: скругление угла больше поля, поэтому сверху даём воздуха больше */
  .dark-card{padding-top:calc(var(--card-pad) + 16px)}
  .player{border-radius:20px}
  .reel-switch{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
  .reel-switch button{justify-content:center;gap:6px;padding:13px 8px}

  .folder::before{display:none}
  .folder__tab{height:48px;padding:0 12px 0 9px;gap:6px;border-radius:16px 16px 0 0}
  .folder__tab i{width:22px;height:22px}
  .folder__track{height:min(118vw,440px)}
  .folder__item{border-radius:14px;width:84%}
  .folder__item img{width:100%;object-fit:cover}
  .arrow{width:46px;height:46px}

  .contacts__card{grid-template-columns:1fr;gap:32px}
  .contacts__card::before{background:radial-gradient(ellipse 70% 40% at 50% 85%,var(--accent-glow),transparent 70%)}
  .contacts__body{order:-1}
  .contacts__links{grid-template-columns:1fr}
  .contacts__sticker{max-width:340px}
  .contacts__ball{display:none}

  .lightbox__nav{top:auto;bottom:14px;transform:none;width:48px;height:48px}
  .lightbox__img,.lightbox__video{max-height:76vh}
  .lightbox__video{width:min(92vw,calc(76vh * var(--r,16 / 9)))}
  .folder__play{width:56px;height:56px;margin:-28px 0 0 -28px}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
  .js [data-reveal]{opacity:1;transform:none}
}
