/* ==========================================================================
   womandj.ru — mobile-first styles
   Правки заказчицы применены: текст чёрный (#1A0F0E), иконки соцсетей,
   кликабельный телефон, шрифт кнопок Geometria Medium (fallback), без ✦.
   ========================================================================== */

/* --- Шрифт Geometria (self-hosted, все начертания; выбор в админке) --- */
@font-face{ font-family:'Geometria'; src:url('/assets/fonts/geometria-extralight.ttf') format('truetype'); font-weight:200; font-style:normal; font-display:swap; }
@font-face{ font-family:'Geometria'; src:url('/assets/fonts/geometria-light.ttf') format('truetype'); font-weight:300; font-style:normal; font-display:swap; }
@font-face{ font-family:'Geometria'; src:url('/assets/fonts/geometria.ttf') format('truetype'); font-weight:400; font-style:normal; font-display:swap; }
@font-face{ font-family:'Geometria'; src:url('/assets/fonts/geometria-medium.ttf') format('truetype'); font-weight:500; font-style:normal; font-display:swap; }
@font-face{ font-family:'Geometria'; src:url('/assets/fonts/geometria-bold.ttf') format('truetype'); font-weight:700; font-style:normal; font-display:swap; }
@font-face{ font-family:'Geometria'; src:url('/assets/fonts/geometria-extrabold.ttf') format('truetype'); font-weight:800; font-style:normal; font-display:swap; }
@font-face{ font-family:'Geometria'; src:url('/assets/fonts/geometria-heavy.ttf') format('truetype'); font-weight:900; font-style:normal; font-display:swap; }

:root{
  /* Текст: коричневый -> чёрный (заказчица: R26 G15 B14) */
  --ink:        #1A0F0E;   /* было #2E1B26 */
  --ink-soft:   #4A3138;   /* вторичный текст (было #4A2438) */
  --ink-muted:  #9B4A72;   /* приглушённый (футер/лейблы) */

  /* Розовая палитра бренда */
  --pink:       #FF147A;
  --pink-2:     #FF147A;
  --pink-deep:  #FF147A;
  --pink-dark:  #A8005C;
  --pink-soft:  #FFE4F2;

  --bg:         #FCFBFB;
  --paper:      #FFFDFE;

  --line:       rgba(26,15,14,.16);
  --line-soft:  rgba(26,15,14,.08);

  --wrap: 1680px;

  --font-base:'Manrope','Montserrat',system-ui,sans-serif;
  --font-ui:  'Geometria','Montserrat','Manrope',sans-serif; /* кнопки/лейблы — Geometria Medium */
}

*,*::before,*::after{ box-sizing:border-box; }

html{
  -webkit-text-size-adjust:100%;
  overflow-x:clip;
}
html.is-modal-open{
  overflow:hidden;
}

body{
  margin:0;
  background:var(--bg);
  color:var(--ink);
  font-family:var(--font-base);
  font-size:clamp(16px,1.05vw,17px);
  font-weight:500;
  line-height:1.5;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  overflow-x:clip;
}
body.is-modal-open{
  overflow:hidden;
  touch-action:none;
}
body::before,
body::after{
  content:"";
  position:fixed;
  inset:-22%;
  z-index:2800;
  pointer-events:none;
  mix-blend-mode:multiply;
  will-change:transform, background-position;
}
body::before{
  opacity:.11;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220' viewBox='0 0 220 220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='1.15' numOctaves='4' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='220' height='220' filter='url(%23n)' opacity='.72'/%3E%3C/svg%3E");
  background-size:150px 150px;
  filter:contrast(165%);
  animation:filmGrain 1.05s steps(8,end) infinite;
}
body::after{
  opacity:.07;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='260' height='260' viewBox='0 0 260 260'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.62' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='260' height='260' filter='url(%23n)' opacity='.50'/%3E%3C/svg%3E");
  background-size:260px 260px;
  filter:contrast(125%);
  animation:filmGrainSoft 1.7s steps(10,end) infinite reverse;
}

a{ color:var(--pink); text-decoration:none; }
a:hover{ color:var(--pink-deep); }

img{ display:block; max-width:100%; }

button{ font-family:inherit; }

a,
button,
[role="button"],
[data-action],
.g-arrow,
.clip__sound,
.set__bar,
.totop,
.order-fab{
  cursor:default;
}

::placeholder{ color:#E0A4C3; }

.visually-hidden{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  padding:0!important;
  margin:-1px!important;
  overflow:hidden!important;
  clip:rect(0,0,0,0)!important;
  white-space:nowrap!important;
  border:0!important;
}

.wrap{ width:100%; max-width:var(--wrap); margin-inline:auto; padding-inline:clamp(22px,5vw,72px); }

/* Утилита: не переносить фразу целиком */
.nowrap{ white-space:nowrap; }

@keyframes rise{ from{opacity:0; transform:translateY(18px);} to{opacity:1; transform:none;} }
@keyframes heroCopyIn{ from{opacity:0; transform:translateY(18px); filter:blur(8px);} to{opacity:1; transform:none; filter:blur(0);} }
@keyframes heroLineIn{ from{transform:scaleX(0); opacity:0;} to{transform:scaleX(1); opacity:1;} }
@keyframes proofGlint{ 0%,72%,100%{transform:translateX(-120%);} 86%{transform:translateX(120%);} }
@keyframes marquee{ from{transform:translateX(0);} to{transform:translateX(-50%);} }
@keyframes eq{ 0%,100%{transform:scaleY(.32); opacity:.62;} 42%{transform:scaleY(1); opacity:1;} 68%{transform:scaleY(.58); opacity:.82;} }
@keyframes filmGrain{
  0%{ transform:translate3d(0,0,0); background-position:0 0; }
  12%{ transform:translate3d(-2%,1%,0); background-position:18px -24px; }
  24%{ transform:translate3d(1%,-2%,0); background-position:-28px 12px; }
  36%{ transform:translate3d(3%,2%,0); background-position:34px 30px; }
  48%{ transform:translate3d(-1%,3%,0); background-position:-16px 42px; }
  60%{ transform:translate3d(-3%,-1%,0); background-position:26px -18px; }
  72%{ transform:translate3d(2%,-3%,0); background-position:-38px -34px; }
  84%{ transform:translate3d(1%,2%,0); background-position:12px 24px; }
  100%{ transform:translate3d(0,0,0); background-position:0 0; }
}
@keyframes filmGrainSoft{
  0%{ transform:translate3d(0,0,0) scale(1); background-position:0 0; }
  20%{ transform:translate3d(1.5%,-1%,0) scale(1.01); background-position:22px 14px; }
  40%{ transform:translate3d(-1%,1.5%,0) scale(1.015); background-position:-18px 28px; }
  60%{ transform:translate3d(2%,1%,0) scale(1.01); background-position:34px -20px; }
  80%{ transform:translate3d(-1.5%,-1.5%,0) scale(1.012); background-position:-26px -18px; }
  100%{ transform:translate3d(0,0,0) scale(1); background-position:0 0; }
}
@media (prefers-reduced-motion: reduce){
  /* гасим только входные анимации; бегущую строку и эквалайзер оставляем */
  .hero__copy,
  .hero__title,
  .hero__links,
  .hero__links::before,
  .hero__proof::before{ animation:none !important; }
  body::before,
  body::after{ animation:none !important; }
}

/* ==========================================================================
   HERO
   ========================================================================== */
.hero{
  position:relative;
  overflow:hidden;
  isolation:isolate;                      /* держим размытый фон-слой внутри hero */
  display:flex;
  flex-direction:column;
  min-height:100svh;
  background-color:#E9A6C3;              /* фолбэк-цвет под картинку */
  background-image:var(--hero-bg);       /* картинка задаётся inline (heroBg) */
  background-size:cover;                  /* моб: заполняет экран */
  background-position:center bottom;      /* диван прижат к низу */
  background-repeat:no-repeat;
}
.hero__veil{
  position:absolute; inset:0; pointer-events:none;
  background:
    linear-gradient(
      180deg,
      rgba(120,30,70,.14) 0%,
      rgba(120,30,70,0) 22%,
      rgba(252,251,251,0) 56%,
      rgba(252,251,251,.36) 74%,
      var(--bg) 96%,
      var(--bg) 100%
    );
}
/* фоновое видео (затемнённое + размытое) — общий слой для всех hero */
.hero__video{
  position:absolute; inset:0; width:100%; height:100%;
  object-fit:cover; pointer-events:none;
  filter:blur(6px) brightness(.8); transform:scale(1.08);
}
.hero__video-dim{
  position:absolute; inset:0; pointer-events:none;
  background:rgba(22,8,16,.42);
}

.hero-menu{
  position:fixed;
  top:max(12px, env(safe-area-inset-top));
  left:12px;
  right:12px;
  z-index:2600;
  width:auto;
  max-width:none;
  margin:0;
  padding:9px 10px;
  display:flex;
  align-items:start;
  justify-content:space-between;
  gap:12px;
  border:0;
  border-radius:18px;
  background:rgba(255,255,255,.28);
  box-shadow:0 18px 44px rgba(60,24,42,.08);
  backdrop-filter:blur(26px) saturate(150%);
  -webkit-backdrop-filter:blur(26px) saturate(150%);
}
.hero-menu__brand{
  flex:none;
  min-height:34px;
  display:inline-flex;
  align-items:center;
  padding:0 12px;
  border-radius:12px;
  color:var(--ink);
  font-family:var(--font-ui);
  font-weight:850;
  font-size:clamp(13.5px,1.05vw,16.5px);
  letter-spacing:-.02em;
  text-transform:uppercase;
}
.hero-menu__brand span + span{ color:var(--pink-deep); }
.hero-menu__brand:hover{ color:var(--ink); }
.hero-menu__brand:hover span + span{ color:var(--pink-deep); }
.hero-menu__nav{
  display:none;
  align-items:center;
  justify-content:center;
  gap:4px;
  min-width:0;
}
.hero-menu__nav a{
  min-height:32px;
  display:inline-flex;
  align-items:center;
  padding:0 10px;
  border-radius:999px;
  color:rgba(24,14,20,.72);
  font-family:var(--font-ui);
  font-weight:650;
  font-size:clamp(13.5px,.96vw,15.5px);
  letter-spacing:.01em;
  white-space:nowrap;
  transition:color .2s ease;
}
.hero-menu__nav a:hover{ color:var(--pink-deep); }
.hero-menu__actions{
  flex:none;
  display:flex;
  align-items:center;
  gap:18px;
}
.hero-menu__phone{
  display:none;
  align-items:center;
  gap:8px;
  color:rgba(24,14,20,.78);
  font-family:var(--font-ui);
  font-weight:750;
  font-size:clamp(13.5px,.96vw,15.5px);
  letter-spacing:.01em;
  white-space:nowrap;
}
.hero-menu__phone svg{
  width:17px;
  height:17px;
  fill:none;
  stroke:var(--pink-deep);
  stroke-width:2.15;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.hero-menu__phone:hover{ color:var(--pink-deep); }
.hero-menu__book{
  min-height:34px;
  padding:0 16px;
  border:none;
  border-radius:999px;
  background:var(--pink-2);
  color:#fff;
  font-family:var(--font-ui);
  font-weight:800;
  font-size:clamp(13.5px,.96vw,15.5px);
  letter-spacing:.01em;
  box-shadow:0 10px 24px rgba(229,21,127,.22);
  transition:background .2s ease, transform .2s ease;
}
.hero-menu__book:hover{ background:var(--pink-2); transform:translateY(-1px); }

@media (max-width:520px){
  .hero-menu{
    width:auto;
    max-width:none;
    margin:0;
    padding:8px;
    gap:8px;
    border-radius:16px;
    overflow:hidden;
  }
  .hero-menu__brand{
    min-height:32px;
    padding-inline:8px;
    font-size:12.5px;
    letter-spacing:-.02em;
  }
  .hero-menu__book{
    min-height:32px;
    max-width:104px;
    padding-inline:14px;
    font-size:12.5px;
  }
}

.hero,
.about-hero,
.dj-hero{
  padding-top:66px;
}

.hero__topbar{
  position:relative;
  z-index:2;
  display:flex; flex-direction:column; gap:18px;
  padding:20px clamp(16px,4vw,32px) 0;
}

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

.phone-row{ display:flex; align-items:center; gap:10px; }
.phone{
  font-family:var(--font-ui); font-weight:700;
  font-size:clamp(21px,5.8vw,28px); letter-spacing:-.01em;
  color:#fff; text-shadow:0 2px 12px rgba(120,30,70,.35);
}
.phone-call{
  flex:none; width:34px; height:34px; border-radius:50%;
  display:grid; place-items:center;
  border:0; color:#fff;
  transition:background .2s ease;
}
.phone-call:hover{ background:rgba(255,255,255,.20); }
.phone-call img{ width:16px; height:16px; }

/* соцсети — иконки-бейджи заказчика + подписи (ровные колонки, подпись по центру иконки) */
.socials{ display:flex; gap:6px; }
.socials a{
  flex:0 0 auto; min-width:58px;
  display:flex; flex-direction:column; align-items:center; gap:5px;
  transition:transform .2s ease, opacity .2s ease;
}
.socials a:hover{ opacity:.82; transform:translateY(-1px); }
.socials img{ width:28px; height:28px; border-radius:50%; display:block; }
.socials__cap{
  font-family:var(--font-ui); font-weight:700; font-size:8px;
  letter-spacing:.02em; text-transform:uppercase; color:#fff; white-space:nowrap;
  text-align:center; text-shadow:0 1px 6px rgba(120,30,70,.65);
}
.socials__cap sup{ font-size:.85em; }

.hero__proof{
  position:relative;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  width:fit-content;
  max-width:min(100%,620px);
  margin:clamp(12px,3vw,20px) auto 0;
  padding:8px 13px 8px 10px;
  border:0;
  border-radius:999px;
  background:linear-gradient(90deg, rgba(255,255,255,.15), rgba(255,255,255,.07));
  box-shadow:0 16px 34px rgba(92,18,54,.13), inset 0 1px 0 rgba(255,255,255,.16);
  backdrop-filter:blur(12px) saturate(132%);
  -webkit-backdrop-filter:blur(12px) saturate(132%);
  color:#fff;
  overflow:hidden;
}
.hero__proof::before{
  content:"";
  position:absolute;
  inset:0;
  border-radius:inherit;
  background:linear-gradient(110deg, transparent 0%, rgba(255,255,255,.18) 42%, transparent 72%);
  transform:translateX(-120%);
  animation:proofGlint 5.8s ease-in-out 1.2s infinite;
  pointer-events:none;
}
.hero__proof-text{
  position:relative;
  font-family:var(--font-ui);
  font-weight:800;
  font-size:clamp(10.5px,2.4vw,12.5px);
  line-height:1.25;
  letter-spacing:.13em;
  text-transform:uppercase;
  text-shadow:0 2px 12px rgba(120,30,70,.36);
}
.eq{
  position:relative;
  flex:none;
  width:24px;
  height:24px;
  border-radius:0;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:3px;
  background:transparent;
}
.eq span{
  width:3px;
  height:16px;
  border-radius:999px;
  background:currentColor;
  transform-origin:center;
  animation:eq 1.05s cubic-bezier(.45,0,.25,1) infinite;
}
.eq span:nth-child(1){ animation-delay:-.18s; height:19px; }
.eq span:nth-child(2){ animation-delay:.05s; height:13px; }
.eq span:nth-child(3){ animation-delay:.28s; height:22px; }
.eq span:nth-child(4){ animation-delay:.46s; height:15px; }

@media (max-width:520px){
  .hero__proof{
    gap:7px;
    max-width:calc(100vw - 40px);
    padding:7px 10px 7px 8px;
  }
  .hero__proof-text{
    font-size:clamp(8.6px,2.22vw,9.4px);
    line-height:1;
    letter-spacing:.08em;
    white-space:nowrap;
  }
  .eq{
    width:18px;
    height:18px;
    gap:2px;
  }
  .eq span{ width:2px; height:12px; }
  .eq span:nth-child(1){ height:15px; }
  .eq span:nth-child(2){ height:10px; }
  .eq span:nth-child(3){ height:17px; }
  .eq span:nth-child(4){ height:12px; }
}

.hero__center{
  position:relative;
  flex:1 1 auto;
  display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center;
  padding:clamp(42px,9vw,86px) clamp(20px,5vw,72px) clamp(34px,8vw,72px);
}
.hero__copy{
  width:min(100%,920px);
  animation:heroCopyIn .9s cubic-bezier(.18,.84,.22,1) both;
}
.eyebrow{
  font-family:var(--font-ui); font-weight:700;
  margin:0;
  font-size:clamp(10.5px,2.55vw,13.5px); letter-spacing:.32em; text-transform:uppercase;
  color:#fff; text-shadow:0 2px 14px rgba(110,20,60,.75);
}
.hero__title{
  margin:clamp(10px,2.8vw,18px) 0 0;
  font-family:var(--font-ui); font-weight:800;
  font-size:clamp(40px,10.8vw,92px); line-height:.95; letter-spacing:.01em;
  text-transform:uppercase;
  text-wrap:balance;
  color:#fff;
  text-shadow:0 9px 40px rgba(120,30,70,.30);
}
.hero__quote{
  position:relative;
  max-width:680px;
  margin:clamp(10px,2.8vw,22px) auto 0;
  padding:clamp(6px,1.5vw,10px) 0 clamp(7px,1.6vw,11px);
  border:0;
}
.hero__quote::before{
  content:none;
}
.hero__quote::after{
  content:none;
}
.hero__quote p{
  position:relative;
  margin:0;
  font-family:var(--font-ui);
  font-weight:700;
  font-size:clamp(13px,2.35vw,17px);
  line-height:1.42;
  color:rgba(255,255,255,.88);
  text-shadow:0 3px 16px rgba(120,27,70,.42);
  text-wrap:balance;
}
.hero__quote p::before{
  content:"«";
  display:inline-block;
  margin-right:.08em;
  transform:translateY(.02em);
  font-family:Georgia, serif;
  font-size:1.18em;
  font-weight:400;
  line-height:.8;
  color:rgba(255,255,255,.88);
  text-shadow:0 5px 22px rgba(130,28,74,.32);
}
.hero__quote p::after{
  content:"…»";
  display:inline;
  margin-left:.04em;
  font-family:Georgia, serif;
  font-weight:400;
  color:rgba(255,255,255,.88);
  text-shadow:0 5px 22px rgba(130,28,74,.32);
}
.hero__quote-author{
  position:relative;
  display:inline-flex;
  align-items:center;
  gap:7px;
  margin-top:clamp(4px,1vw,7px);
  color:rgba(255,255,255,.72);
  font-family:var(--font-ui);
  font-size:clamp(8.5px,1.8vw,10.5px);
  font-weight:700;
  line-height:1;
  letter-spacing:.03em;
  text-shadow:0 2px 10px rgba(90,20,52,.34);
}
.hero__quote-logo{
  width:1.85em;
  height:1.85em;
  border-radius:50%;
  flex:none;
  display:inline-flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:.06em;
  overflow:hidden;
  background:#090609;
  color:#fff;
  font-family:Georgia, serif;
  line-height:.82;
  box-shadow:none;
}
.hero__quote-logo span:first-child{
  font-size:.37em;
  font-weight:400;
  letter-spacing:-.01em;
}
.hero__quote-logo span:last-child{
  font-family:var(--font-ui);
  font-size:.33em;
  font-weight:900;
  letter-spacing:.02em;
}

@media (max-width:520px){
  .hero__quote{
    max-width:calc(100vw - 56px);
    margin-top:8px;
    padding-top:2px;
    padding-bottom:4px;
  }
  .hero__quote p{
    font-size:clamp(11.5px,3vw,12.8px);
    line-height:1.32;
    text-wrap:normal;
  }
  .hero__quote p::before{
    margin-right:.06em;
    font-size:1.12em;
    transform:translateY(.01em);
  }
  .hero__quote-author{
    margin-top:5px;
    justify-content:center;
    font-size:8.5px;
  }
}

/* прежняя сетка кнопок сохранена для совместимости, но в hero заменена на тонкие ссылки */
.hero__nav{
  width:min(340px,86%);
  display:grid; grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px; margin-top:30px;
}
.btn-ghost{
  padding:12px 16px; border-radius:40px;
  border:2px solid rgba(255,255,255,.9); background:transparent; color:#fff;
  font-family:var(--font-ui); font-weight:600; font-size:15px; letter-spacing:.02em;
  text-align:center; transition:background .2s ease;
}
.btn-ghost:hover{ background:rgba(255,255,255,.22); color:#fff; }
.btn-solid{
  padding:12px 16px; border-radius:40px;
  border:2px solid #fff; background:#fff; color:var(--pink-deep);
  font-family:var(--font-ui); font-weight:700; font-size:16px; letter-spacing:.02em;
  transition:background .2s ease;
}
.btn-solid:hover{ background:var(--pink-soft); }
.hero__nav .span2{ grid-column:1 / -1; justify-self:center; width:min(220px,100%); }
.hero__nav .mt2{ margin-top:2px; }
.hero__links{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
  flex-wrap:wrap;
  gap:10px clamp(16px,4vw,28px);
  margin-top:clamp(22px,5vw,36px);
  padding-top:16px;
  animation:rise .9s ease .12s both;
}
.hero__links::before{
  content:"";
  position:absolute;
  top:0;
  left:0;
  right:0;
  margin:auto;
  width:min(280px,58vw);
  height:1px;
  background:linear-gradient(90deg, transparent, rgba(255,255,255,.82), transparent);
  transform-origin:center;
  animation:heroLineIn .8s ease .28s both;
}
.hero__links a{
  color:rgba(255,255,255,.90);
  font-family:var(--font-ui);
  font-weight:800;
  font-size:clamp(12px,2.65vw,14px);
  line-height:1.2;
  letter-spacing:.12em;
  text-transform:uppercase;
  text-shadow:0 2px 14px rgba(110,20,60,.45);
  transition:color .2s ease, transform .2s ease;
}
.hero__links a:hover{
  color:#fff;
  transform:translateY(-1px);
}

/* заполнитель — прижимает подпись к нижней части (над диваном на фоне) */
.hero__spacer{ display:none; }

/* подпись над диваном (диван уже в фоновой картинке) */
.hero__couch-cap{
  position:relative; z-index:1; margin:0;
  padding:0 24px clamp(20px,7vw,52px);
  text-align:center;
  font-family:var(--font-ui); font-weight:700;
  font-size:clamp(15px,4.4vw,22px); line-height:1.4;
  color:#fff; text-shadow:0 2px 14px rgba(90,20,50,.6);
}

/* Широкий экран: своя ГОРИЗОНТАЛЬНАЯ картинка, cover на всю ширину (тянется за окном) */
@media (min-width:900px){
  .hero-menu{
    top:22px;
    left:50%;
    right:auto;
    width:min(calc(100vw - 72px), 1520px);
    max-width:none;
    margin:0;
    padding:9px 11px;
    border-radius:20px;
    transform:translateX(-50%);
  }
  .hero-menu__nav{ display:flex; }
  .hero-menu__phone{ display:inline-flex; }
  .hero-menu__brand{ padding-inline:14px; }
  .hero-menu__book{ padding-inline:18px; }
  .hero{
    background-image:var(--hero-bg-d);
    background-size:cover;
    background-position:center;
    background-repeat:no-repeat;
  }
  .hero__center{
    align-items:flex-start;
    text-align:left;
    justify-content:center;
    padding-left:clamp(72px,8vw,150px);
    padding-right:min(48vw,620px);
  }
  .hero__copy{ width:min(100%,760px); }
  .hero__quote{ margin-left:0; margin-right:0; }
  .hero__proof{ margin-left:0; margin-right:0; justify-content:flex-start; }
  .hero__links{ justify-content:flex-start; }
  .hero__links::before{ right:auto; margin:0; transform-origin:left; }
  .hero__couch-cap{ padding-bottom:clamp(40px,8vh,90px); }
}

/* бегущая строка форматов */
.marquee{
  --marquee-edge:clamp(18px,5vw,72px);
  --marquee-feather:clamp(14px,2vw,30px);
  --marquee-h:clamp(48px,6vw,62px);
  position:relative;
  overflow:hidden;
  margin:clamp(-24px,-1.8vw,-10px) auto clamp(40px,6vw,64px);
  padding:clamp(34px,5vw,58px) 0 clamp(20px,3vw,32px);
  background:var(--bg);
  isolation:isolate;
}
.marquee::before,
.marquee::after{
  content:"";
  position:absolute;
  pointer-events:none;
}
.marquee::before{
  inset:0;
  z-index:0;
  background:
    linear-gradient(180deg, rgba(252,251,251,0) 0%, var(--bg) 36%, var(--bg) 100%),
    radial-gradient(ellipse at 50% 26%, rgba(252,251,251,.98), rgba(252,251,251,0) 62%);
  filter:none;
}
.marquee::after{
  left:var(--marquee-edge);
  right:var(--marquee-edge);
  top:50%;
  z-index:1;
  height:var(--marquee-h);
  border:none;
  border-radius:999px;
  background:
    linear-gradient(105deg, rgba(255,255,255,.22), rgba(255,255,255,.08) 48%, rgba(255,255,255,.20)),
    radial-gradient(circle at 18% 20%, rgba(255,255,255,.38), rgba(255,255,255,0) 22%);
  box-shadow:
    0 18px 48px rgba(90,20,50,.09),
    inset 0 1px 0 rgba(255,255,255,.60),
    inset 0 -1px 0 rgba(255,255,255,.22);
  backdrop-filter:blur(18px) saturate(140%);
  -webkit-backdrop-filter:blur(18px) saturate(140%);
  transform:translateY(-50%);
}
.marquee__lane::after{
  content:"";
  position:absolute;
  left:calc(var(--marquee-edge) + 28px);
  right:calc(var(--marquee-edge) + 28px);
  top:50%;
  z-index:3;
  height:calc(var(--marquee-h) - 24px);
  border-radius:999px;
  pointer-events:none;
  background:linear-gradient(105deg, rgba(255,255,255,0) 14%, rgba(255,255,255,.18) 36%, rgba(255,255,255,.04) 60%, rgba(255,255,255,0) 84%);
  opacity:.18;
  filter:blur(1px);
  transform:translateY(-50%) skewX(-10deg);
}
.marquee__lane{
  position:relative;
  z-index:2;
  display:block;
  width:100%;
  height:var(--marquee-h);
}
.marquee__lane::before{
  content:none;
}
.marquee__track{
  position:relative;
  display:flex;
  align-items:center;
  width:max-content;
  height:100%;
  animation:marquee 34s linear infinite;
  -webkit-mask-image:linear-gradient(90deg, transparent 0, #000 10%, #000 90%, transparent 100%);
  mask-image:linear-gradient(90deg, transparent 0, #000 10%, #000 90%, transparent 100%);
  will-change:transform;
}
.marquee__track--soft{
  z-index:0;
  height:100%;
  opacity:.98;
  filter:blur(7px);
}
.marquee__focus{
  position:absolute;
  left:var(--marquee-edge);
  right:var(--marquee-edge);
  top:50%;
  z-index:5;
  min-width:0;
  height:var(--marquee-h);
  margin:0;
  overflow:hidden;
  border-radius:999px;
  transform:translateY(-50%);
  -webkit-mask-image:linear-gradient(90deg, transparent 0, #000 var(--marquee-feather), #000 calc(100% - var(--marquee-feather)), transparent 100%);
  mask-image:linear-gradient(90deg, transparent 0, #000 var(--marquee-feather), #000 calc(100% - var(--marquee-feather)), transparent 100%);
}
.marquee__focus .marquee__track{
  grid-area:auto;
  height:100%;
}
.marquee__track--clear{
  position:relative;
  z-index:1;
  opacity:1;
  filter:none;
  margin-left:calc(-1 * var(--marquee-edge));
  -webkit-mask-image:none;
  mask-image:none;
}
.marquee__group{
  display:flex;
  align-items:center;
  gap:clamp(18px,3vw,34px);
  padding-right:clamp(18px,3vw,34px);
  white-space:nowrap;
  line-height:1;
  font-family:var(--font-ui);
  font-weight:500;
  font-size:clamp(11.5px,1.25vw,14.5px);
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--pink-deep);
  text-shadow:none;
  transform:none;
}
.marquee__group span{
  display:inline-flex;
  align-items:center;
  line-height:1;
}
.marquee__dot{
  flex:none;
  width:4px;
  height:4px;
  border-radius:50%;
  background:var(--pink-deep);
  opacity:.42;
  transform:translateY(-1px);
}
.marquee__track--soft .marquee__group{
  font-size:clamp(9.5px,.95vw,11px);
  letter-spacing:.34em;
  color:rgba(226,50,120,.66);
  text-shadow:none;
}
.marquee__track--soft .marquee__dot{
  opacity:.22;
  filter:blur(1px);
}
.marquee__track--clear .marquee__group{
  font-size:clamp(13px,1.5vw,17px);
  letter-spacing:.19em;
  color:#D91576;
  text-shadow:none;
}

@media (min-width:900px){
  .marquee__group{
    transform:none;
  }
}

@media (max-width:520px){
  .marquee{
    --marquee-edge:12px;
    --marquee-feather:10px;
    --marquee-h:44px;
    margin-top:-14px;
    margin-bottom:38px;
    padding:28px 0 20px;
  }
  .marquee::after{
    left:12px;
    right:12px;
  }
  .marquee__lane::after{
    left:32px;
    right:32px;
    height:20px;
    opacity:.14;
  }
  .marquee__track--soft{
    -webkit-mask-image:linear-gradient(90deg, transparent 0, #000 8%, #000 92%, transparent 100%);
    mask-image:linear-gradient(90deg, transparent 0, #000 8%, #000 92%, transparent 100%);
  }
  .marquee__focus{
    left:12px;
    right:12px;
  }
  .marquee__group{
    gap:28px;
    padding-right:28px;
    font-size:10.5px;
    letter-spacing:.13em;
    transform:none;
  }
  .marquee__track--soft .marquee__group{
    font-size:8.4px;
    letter-spacing:.24em;
    color:rgba(226,50,120,.60);
  }
  .marquee__track--clear .marquee__group{
    font-size:11.5px;
    letter-spacing:.15em;
  }
}

/* ==========================================================================
   ФАКТЫ 01–05
   ========================================================================== */
.facts{ margin-top:clamp(44px,8vw,72px); }
.facts__head{
  margin-bottom:clamp(20px,3.6vw,30px);
}
.facts__label{
  margin:0;
  font-family:var(--font-ui);
  font-weight:700;
  font-size:clamp(12px,1.55vw,14px);
  line-height:1.2;
  letter-spacing:.28em;
  text-transform:uppercase;
  color:var(--pink-deep);
}
.facts__title{
  margin:12px 0 0;
  font-weight:800;
  font-size:clamp(25px,5.4vw,38px);
  line-height:1.16;
  letter-spacing:-.01em;
  color:var(--ink);
}
.facts__grid{
  display:grid;
  grid-template-columns:1fr;
  gap:10px;
}
.fact{
  position:relative;
  min-width:0;
  display:grid;
  grid-template-columns:auto 1fr;
  align-items:start;
  gap:14px;
  padding:16px 18px;
  border:0;
  border-radius:8px;
  background:linear-gradient(135deg, rgba(255,255,255,.92), rgba(255,241,247,.72));
  box-shadow:0 16px 34px rgba(96,26,58,.05);
}
.fact__n{
  width:30px;
  padding-top:2px;
  font-family:var(--font-ui);
  font-weight:800;
  font-size:12px;
  line-height:1;
  letter-spacing:.12em;
  color:var(--pink);
  flex:none;
}
.fact__body{
  min-width:0;
  display:grid;
  gap:5px;
}
.fact__text{
  margin:0;
  font-size:clamp(16px,2vw,18px);
  font-weight:800;
  line-height:1.24;
  color:var(--ink);
}
.fact__note{
  margin:0;
  max-width:46em;
  font-size:clamp(13.5px,1.45vw,15px);
  font-weight:600;
  line-height:1.42;
  color:var(--ink-soft);
}

@media (min-width:760px){
  .facts__grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:12px;
  }
}

@media (min-width:1100px){
  .facts__grid{ grid-template-columns:repeat(3,minmax(0,1fr)); }
  .fact{ min-height:132px; }
}

/* ==========================================================================
   ПОДХОД
   ========================================================================== */
/* моб: фото на всю ширину (full-bleed как hero), текст поверх снизу */
.approach{
  position:relative; overflow:hidden;
  margin-top:clamp(28px,5vw,48px);
  min-height:clamp(460px,76vh,700px);
  display:flex; align-items:flex-end;
  padding-block:0 clamp(24px,7vw,52px);
  background-image:var(--approach-m);
  background-size:cover; background-position:center top; background-repeat:no-repeat;
}
.approach::before{
  content:''; position:absolute; inset:0; pointer-events:none;
  background:linear-gradient(180deg, rgba(252,251,251,0) 42%, rgba(252,251,251,.5) 74%, rgba(252,251,251,.92) 100%);
}
.approach__photo{ display:none; }
.approach__body{
  position:relative; z-index:1;
  width:min(90%,520px);
  text-align:left;
}
.approach__label{
  font-family:var(--font-ui); font-weight:700; font-size:clamp(12px,1.55vw,14px);
  letter-spacing:.28em; text-transform:uppercase; color:var(--pink-deep);
}
.approach__title{
  margin:14px 0 0;
  font-family:var(--font-ui); font-weight:600;
  font-size:clamp(27px,5.8vw,42px); line-height:1.15; letter-spacing:-.01em;
  color:var(--ink);
}
.approach__title span{ color:var(--pink); }
.btn-cta{
  margin-top:24px; padding:14px 28px; border-radius:34px;
  border:none; background:var(--pink-2); color:#fff;
  font-family:var(--font-ui); font-weight:700; font-size:clamp(13px,1.35vw,15px);
  letter-spacing:.18em; text-transform:uppercase;
  transition:background .2s ease;
}
.btn-cta:hover{ background:var(--pink-deep); }

/* ==========================================================================
   СЕТЫ (плеер)
   ========================================================================== */
.sets{ margin-top:clamp(48px,9vw,76px); }
.sets__label{
  font-family:var(--font-ui); font-weight:700; font-size:clamp(12px,1.55vw,14px);
  letter-spacing:.28em; text-transform:uppercase; color:var(--pink-deep); margin:0;
}
.sets__title{
  margin:12px 0 22px; font-weight:800;
  font-size:clamp(25px,5.4vw,38px); line-height:1.16; letter-spacing:-.01em; color:var(--ink);
}
.sets__list{ display:flex; flex-direction:column; gap:12px; }
.set{
  display:flex; align-items:center; gap:14px;
  border:0; border-radius:12px; padding:16px 18px;
  background:rgba(255,255,255,.62);
  transition:border-color .2s ease, background .2s ease;
}
.set.is-playing{ background:#FFF6FB; }
.set__play{
  flex:none; width:48px; height:48px; border-radius:50%;
  border:none; background:var(--pink-2); color:#fff;
  display:grid; place-items:center; transition:background .2s ease;
}
.set__play:hover{ background:var(--pink-deep); }
.set__icn{ width:20px; height:20px; }
.set__icn[hidden]{ display:none; }
.set__body{ flex:1; min-width:0; }
.set__name{ font-family:var(--font-ui); font-weight:600; font-size:clamp(16px,3.8vw,18.5px); color:var(--ink); }
.set__artist{ font-size:clamp(13px,2.7vw,14.5px); font-weight:600; color:var(--ink-muted); margin-top:2px; }
.set__bar{ margin-top:10px; height:4px; border-radius:4px; background:var(--line); overflow:hidden; }
.set__progress{ display:block; width:0; height:100%; background:var(--pink); border-radius:4px; }
.set__time{ flex:none; font-variant-numeric:tabular-nums; font-size:13px; font-weight:600; color:var(--ink-muted); }

/* ==========================================================================
   ФУТЕР
   ========================================================================== */
.contact-band{
  position:relative;
  z-index:0;
  margin-top:clamp(52px,8vw,96px);
  padding:clamp(42px,7vw,82px) clamp(18px,5vw,72px);
  overflow:visible;
  isolation:isolate;
  background:var(--bg);
  color:var(--ink);
}
.contact-band::before{
  content:"";
  position:absolute;
  left:50%;
  top:50%;
  width:min(880px,86vw);
  height:clamp(140px,22vw,230px);
  border-radius:999px;
  background:
    radial-gradient(circle at 34% 50%, rgba(255,20,122,.12), rgba(255,20,122,0) 62%),
    radial-gradient(circle at 68% 50%, rgba(255,20,122,.08), rgba(255,20,122,0) 68%);
  filter:blur(42px);
  opacity:.76;
  transform:translate(-50%,-50%);
  pointer-events:none;
  z-index:0;
}
.contact-band::after{
  content:"";
  position:absolute;
  left:50%;
  right:auto;
  bottom:clamp(20px,4vw,38px);
  width:min(620px,76vw);
  height:1px;
  background:linear-gradient(90deg, transparent, rgba(226,50,120,.24), transparent);
  transform:translateX(-50%);
  pointer-events:none;
  z-index:0;
}
.contact-band__inner{
  position:relative;
  z-index:1;
  width:min(1120px, calc(100vw - clamp(28px,8vw,112px)));
  margin:0 auto;
  display:grid;
  grid-template-columns:1fr;
  justify-items:center;
  gap:clamp(18px,4vw,28px);
  text-align:center;
  padding:clamp(32px,5.2vw,62px) clamp(18px,5.4vw,72px);
  border:0;
  border-radius:18px;
  background:
    linear-gradient(120deg, rgba(255,255,255,.38), rgba(255,255,255,.22)),
    rgba(255,255,255,.28);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.52),
    inset 0 -1px 0 rgba(255,255,255,.16),
    0 18px 44px rgba(60,24,42,.08);
  backdrop-filter:blur(26px) saturate(150%);
  -webkit-backdrop-filter:blur(26px) saturate(150%);
  overflow:hidden;
  isolation:isolate;
}
.contact-band__inner::before{
  content:"";
  position:absolute;
  inset:auto 8% 10%;
  height:42%;
  border-radius:999px;
  background:radial-gradient(ellipse at center, rgba(255,20,122,.09), rgba(255,20,122,0) 70%);
  filter:blur(28px);
  opacity:.84;
  pointer-events:none;
  z-index:-1;
}
.contact-band__main{
  display:grid;
  align-items:center;
  justify-content:center;
  justify-items:center;
  gap:clamp(10px,2vw,16px);
}
.contact-band__eyebrow{
  margin:0;
  font-family:var(--font-ui);
  font-weight:800;
  font-size:clamp(11px,1.4vw,13px);
  line-height:1.2;
  letter-spacing:.28em;
  text-transform:uppercase;
  color:var(--pink-deep);
}
.contact-band__label{
  margin:0;
  max-width:min(92vw,760px);
  font-family:var(--font-ui);
  font-weight:800;
  font-size:clamp(22px,4.2vw,42px);
  line-height:1.08;
  letter-spacing:-.01em;
  color:var(--ink);
  text-align:center;
  text-wrap:balance;
}
.contact-band__phone{
  font-family:var(--font-ui);
  font-weight:900;
  font-size:clamp(34px,7vw,72px);
  line-height:1;
  letter-spacing:.01em;
  color:var(--pink-deep);
  text-shadow:0 16px 44px rgba(226,50,120,.13);
  white-space:nowrap;
}
.contact-band__phone:hover{ color:var(--pink); }

.site-footer{
  max-width:var(--wrap);
  margin:0 auto;
  padding:18px clamp(18px,5vw,72px) 78px;
  border-top:1px solid rgba(46,27,38,.08);
  display:grid;
  grid-template-columns:1fr auto 1fr;
  align-items:center;
  gap:22px;
}
.footer-brand{
  justify-self:start;
  font-family:var(--font-ui);
  font-weight:900;
  font-size:clamp(12px,1.1vw,13.5px);
  line-height:1;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:var(--ink);
}
.footer-brand:hover{ color:var(--pink-deep); }
.footer-center{
  justify-self:center;
  display:flex;
  align-items:center;
  justify-content:center;
  flex-wrap:wrap;
  gap:10px 18px;
  text-align:center;
}
.footer-copy{
  margin:0;
  font-family:var(--font-ui);
  font-weight:800;
  font-size:clamp(12px,1.1vw,13.5px);
  line-height:1.25;
  color:var(--ink);
}
.footer-legal{
  display:flex;
  align-items:center;
  justify-content:center;
  flex-wrap:wrap;
  gap:14px;
}
.footer-legal a{
  font-family:var(--font-ui);
  font-weight:700;
  font-size:clamp(11.5px,1vw,12.5px);
  line-height:1.25;
  color:var(--ink-muted);
  white-space:nowrap;
}
.footer-legal a:hover{ color:var(--pink-deep); }
.footer-socials{
  justify-self:end;
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:8px;
}
.footer-socials a{
  width:30px;
  height:30px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:var(--pink);
  box-shadow:0 10px 22px rgba(236,24,126,.14);
  transition:transform .2s ease, background .2s ease, box-shadow .2s ease;
}
.footer-socials a:hover{
  transform:translateY(-2px);
  background:var(--pink-deep);
  box-shadow:0 14px 28px rgba(236,24,126,.20);
}
.footer-socials img{
  width:18px;
  height:18px;
  object-fit:contain;
  display:block;
}
.legal-note{
  max-width:var(--wrap); margin:0 auto;
  padding:2px clamp(18px,5vw,72px) 14px;
  font-size:10px; line-height:1.45; color:rgba(92,67,80,.52); text-align:center;
}
.legal-note--tight{ padding-bottom:14px; }

@media (min-width:720px){
  .contact-band::before{
    width:min(1080px,92vw);
    height:clamp(120px,15vw,170px);
    background:
      radial-gradient(ellipse at 34% 50%, rgba(255,20,122,.10), rgba(255,20,122,0) 68%),
      radial-gradient(ellipse at 68% 52%, rgba(255,20,122,.07), rgba(255,20,122,0) 72%);
    filter:blur(56px);
    opacity:.68;
  }
  .contact-band__phone{ font-size:clamp(48px,5.2vw,72px); }
  .contact-band__inner{
    grid-template-columns:minmax(0,1fr);
    align-items:center;
  }
}
@media (max-width:719px){
  .contact-band{
    padding-inline:16px;
  }
  .contact-band__inner{
    width:100%;
    padding:34px 16px 38px;
  }
  .contact-band__label{
    max-width:310px;
  }
  .contact-band__phone{
    font-size:clamp(31px,9vw,42px);
    letter-spacing:0;
  }
  .site-footer{
    grid-template-columns:1fr;
    justify-items:center;
    padding-bottom:96px;
    text-align:center;
  }
  .footer-brand,
  .footer-center,
  .footer-socials{
    justify-self:center;
  }
  .footer-center{ gap:8px 14px; }
}

/* ==========================================================================
   ГАЛЕРЕЯ — встроенная секция (свайп на мобильном, стрелки на ПК)
   ========================================================================== */
.gallery-sec{
  margin-top:clamp(50px,8vw,88px);
  scroll-margin-top:clamp(132px,14vh,180px);
  background:var(--bg);
}
.gallery-sec__label{
  font-family:var(--font-ui); font-weight:700; font-size:clamp(12px,1.55vw,14px);
  letter-spacing:.28em; text-transform:uppercase; color:var(--pink-deep); margin:0;
}
.gallery-sec__title{
  margin:12px 0 22px;
  font-family:var(--font-ui);
  font-weight:800;
  font-size:clamp(25px,5.4vw,38px);
  line-height:1.16;
  letter-spacing:-.01em;
  color:var(--ink);
}
.g-wrap{
  position:relative;
  width:100vw;
  margin-left:calc(50% - 50vw);
  overflow:visible;
  background:var(--bg);
}
.g-strip{
  position:relative;
  height:clamp(500px,68vh,620px);
  overflow:visible;
  touch-action:pan-y;
  user-select:none;
}
.g-strip .clip--reel{
  position:absolute;
  left:50%;
  top:50%;
  margin:0;
  width:min(70vw,280px);
  height:auto;
  aspect-ratio:9 / 16;
  border:none;
  border-radius:22px;
  opacity:0;
  pointer-events:none;
  transform:translate(-50%,-50%) scale(.68);
  box-shadow:0 22px 70px rgba(120,30,70,.14);
  transition:transform .42s ease, opacity .42s ease, box-shadow .42s ease, filter .42s ease;
  z-index:0;
}
.g-strip .clip--reel.is-active{
  opacity:1;
  pointer-events:auto;
  transform:translate(-50%,-50%) scale(1);
  box-shadow:0 36px 120px rgba(120,30,70,.24);
  z-index:3;
}
.g-strip .clip--reel.is-prev{
  opacity:.48;
  transform:translate(calc(-50% - min(39vw, 250px)),-50%) scale(.82);
  z-index:2;
}
.g-strip .clip--reel.is-next{
  opacity:.48;
  transform:translate(calc(-50% + min(39vw, 250px)),-50%) scale(.82);
  z-index:2;
}
.g-strip .clip--reel .clip__media{
  filter:saturate(1.03) contrast(1.02);
}
.g-strip .clip--reel:not(.is-active) .clip__media{
  filter:saturate(.92) brightness(.9);
}
.clip__progress{
  position:absolute;
  left:18px;
  right:18px;
  top:14px;
  z-index:3;
  height:3px;
  border-radius:999px;
  background:rgba(255,255,255,.34);
  overflow:hidden;
}
.clip__progress span{
  display:block;
  width:0;
  height:100%;
  border-radius:inherit;
  background:#fff;
}
.clip__sound{
  position:absolute;
  right:13px;
  bottom:13px;
  z-index:4;
  width:46px;
  height:46px;
  padding:0;
  border:none;
  border-radius:50%;
  background:rgba(255,255,255,.18);
  color:#fff;
  box-shadow:0 16px 34px rgba(26,15,24,.28), inset 0 1px 0 rgba(255,255,255,.18);
  backdrop-filter:blur(14px) saturate(135%);
  -webkit-backdrop-filter:blur(14px) saturate(135%);
  display:grid;
  place-items:center;
  line-height:0;
  transition:background .2s ease, transform .2s ease;
}
.clip__sound:hover{ background:rgba(255,255,255,.26); transform:scale(1.04); }
.clip__sound-icn{
  display:block;
  width:31px;
  height:31px;
  fill:none;
  stroke:currentColor;
  stroke-width:5.5;
  stroke-linecap:round;
  stroke-linejoin:round;
  overflow:visible;
}
.clip__sound-icn--on{ display:none; }
.clip__sound.is-on .clip__sound-icn--muted{ display:none; }
.clip__sound.is-on .clip__sound-icn--on{ display:block; }
.g-arrow{
  position:absolute; top:50%; transform:translateY(-50%); z-index:4;
  width:42px; height:42px; border-radius:50%;
  border:0; background:rgba(255,255,255,.92); color:var(--ink); font-size:20px;
  display:grid; place-items:center;
  box-shadow:0 10px 28px rgba(120,40,80,.16);
  transition:background .2s ease, border-color .2s ease, transform .2s ease;
}
.g-arrow:hover{ background:var(--pink-soft); transform:translateY(-50%) scale(1.04); }
.g-arrow--prev{ left:clamp(18px,7vw,96px); }
.g-arrow--next{ right:clamp(18px,7vw,96px); }
@media (min-width:720px){
  .g-strip{
    height:clamp(580px,72vh,700px);
  }
  .g-strip .clip--reel{
    width:min(28vw,340px);
    border-radius:24px;
  }
  .g-strip .clip--reel.is-prev{
    transform:translate(calc(-50% - min(19vw, 300px)),-50%) scale(.78);
  }
  .g-strip .clip--reel.is-next{
    transform:translate(calc(-50% + min(19vw, 300px)),-50%) scale(.78);
  }
  .g-arrow{
    width:48px;
    height:48px;
  }
}

/* ==========================================================================
   МОДАЛКИ (форма + галерея)
   ========================================================================== */
.modal{ position:fixed; inset:0; z-index:3000; display:none; }
.modal.is-open{ display:flex; }

.modal--form{
  background:rgba(26,15,14,.34); backdrop-filter:blur(10px);
  align-items:flex-start; justify-content:center; overflow:auto;
  padding:24px; animation:rise .22s ease;
}
.form-card{
  position:relative; margin:auto; width:min(500px,100%);
  background:var(--paper); border-radius:24px;
  padding:clamp(32px,7vw,46px) clamp(22px,5vw,42px) 34px;
  box-shadow:0 40px 90px rgba(80,30,55,.28);
}
.modal__close{
  position:absolute; top:16px; right:18px; width:34px; height:34px; border-radius:50%;
  border:none; background:transparent; color:#E29CBE; font-size:20px; line-height:1;
  transition:background .2s ease, color .2s ease;
}
.modal__close:hover{ background:var(--pink-soft); color:var(--pink-deep); }
.form-label{
  font-family:var(--font-ui); font-weight:700; font-size:13px;
  letter-spacing:.28em; text-transform:uppercase; color:var(--pink);
}
.form-title{
  margin:12px 0 26px; font-family:var(--font-ui); font-weight:500;
  font-size:clamp(22px,4.8vw,24px); line-height:1.28; letter-spacing:-.01em; color:var(--ink);
}
.form-fields{ display:flex; flex-direction:column; }
.form-fields input:not([type="checkbox"]),.form-fields textarea{
  padding:15px 2px; border:none; border-bottom:1px solid var(--line);
  background:transparent; font-size:clamp(16px,3.8vw,18px); font-weight:600; color:var(--ink);
  outline:none; font-family:var(--font-base);
}
.form-fields textarea{ resize:vertical; }
.form-fields input:not([type="checkbox"]):focus,.form-fields textarea:focus{ border-color:var(--pink); }
.form-consent{
  display:flex;
  align-items:flex-start;
  gap:10px;
  margin-top:18px;
  font-size:13px;
  line-height:1.42;
  font-weight:600;
  color:#A16A85;
}
.form-consent input{
  flex:none;
  width:18px;
  height:18px;
  margin:.08em 0 0;
  padding:0;
  border:0;
  accent-color:var(--pink-2);
}
.form-consent span{
  display:block;
  padding-top:0;
}
.form-consent a{
  color:var(--pink-deep);
  text-decoration:underline;
  text-decoration-thickness:1px;
  text-underline-offset:3px;
}
.btn-submit{
  margin-top:28px; width:100%; padding:17px 0; border-radius:34px;
  border:none; background:var(--pink-2); color:#fff;
  font-family:var(--font-ui); font-weight:700; font-size:14px;
  letter-spacing:.2em; text-transform:uppercase; transition:background .2s ease;
}
.btn-submit:hover{ background:var(--pink-deep); }
.form-note{
  margin:18px 0 0; text-align:center; font-size:15px; font-weight:600;
  line-height:1.6; color:#C089A5;
}
.form-ok{ margin:18px 0 0; text-align:center; font-weight:700; color:var(--pink-deep); }
.form-err{ margin:18px 0 0; text-align:center; font-weight:700; color:#c0143f; }

.privacy-page{
  min-height:100vh;
  padding:clamp(96px,14vw,148px) 0 clamp(54px,10vw,88px);
  background:var(--bg);
}
.privacy-card{
  max-width:860px;
  margin:0 auto;
  padding:clamp(30px,6vw,56px);
  border:0;
  border-radius:10px;
  background:linear-gradient(135deg, rgba(255,255,255,.96), rgba(255,245,250,.72));
  box-shadow:0 18px 44px rgba(96,26,58,.06);
}
.privacy-back{
  display:inline-flex;
  margin-bottom:clamp(24px,4vw,38px);
  font-family:var(--font-ui);
  font-weight:800;
  font-size:clamp(12px,1.4vw,14px);
  line-height:1.2;
  color:var(--pink-deep);
}
.privacy-back:hover{ color:var(--pink); }
.privacy-label{
  margin:0 0 12px;
  font-family:var(--font-ui);
  font-weight:700;
  font-size:clamp(12px,1.55vw,14px);
  line-height:1.2;
  letter-spacing:.28em;
  text-transform:uppercase;
  color:var(--pink-deep);
}
.privacy-title{
  margin:0 0 clamp(14px,3vw,22px);
  font-family:var(--font-ui);
  font-weight:800;
  font-size:clamp(30px,6vw,54px);
  line-height:1.08;
  letter-spacing:-.01em;
  color:var(--ink);
}
.privacy-lead{
  margin:0 0 clamp(26px,5vw,42px);
  max-width:720px;
  font-size:clamp(16px,2.2vw,19px);
  font-weight:600;
  line-height:1.55;
  color:var(--ink-soft);
}
.privacy-list{
  display:grid;
  gap:0;
  margin:0;
}
.privacy-list div{
  display:grid;
  gap:8px;
  padding:clamp(18px,3.4vw,26px) 0;
  border-top:1px solid rgba(46,27,38,.08);
}
.privacy-list div:last-child{
  border-bottom:1px solid rgba(46,27,38,.08);
}
.privacy-list dt{
  font-family:var(--font-ui);
  font-weight:800;
  font-size:clamp(16px,2.4vw,19px);
  line-height:1.25;
  color:var(--ink);
}
.privacy-list dd{
  margin:0;
  font-size:clamp(14.5px,2vw,16px);
  font-weight:600;
  line-height:1.55;
  color:var(--ink-soft);
}

@media (max-width:520px){
  .form-consent{
    gap:9px;
    font-size:12.5px;
    line-height:1.38;
  }
  .form-consent input{
    width:17px;
    height:17px;
    margin:.06em 0 0;
  }
  .privacy-card{
    border-radius:10px;
  }
}

/* галерея */
.modal--gallery{
  background:rgba(255,250,252,.94);
  backdrop-filter:blur(16px);
  -webkit-backdrop-filter:blur(16px);
  flex-direction:column;
  overflow:hidden;
  animation:rise .22s ease;
}
.gallery__head{
  display:flex; align-items:center; justify-content:space-between;
  padding:18px clamp(16px,4vw,34px); border-bottom:1px solid var(--line-soft);
}
.gallery__label{
  font-family:var(--font-ui); font-weight:700; font-size:clamp(12px,1.35vw,14px);
  letter-spacing:.28em; text-transform:uppercase; color:var(--pink-deep);
}
.gallery__close{
  width:38px; height:38px; border-radius:50%;
  border:0; background:#fff; color:var(--ink); font-size:18px;
}
.gallery__close:hover{ background:var(--pink-soft); }
.gallery__stage{ position:relative; flex:1; display:flex; align-items:center; padding:18px clamp(8px,2vw,20px) 8px; overflow:hidden; }
.gallery__arrow{
  position:absolute; top:50%; transform:translateY(-50%); z-index:2;
  width:44px; height:44px; border-radius:50%;
  border:0; background:#fff; color:var(--ink); font-size:18px;
  transition:background .2s ease;
}
.gallery__arrow:hover{ background:var(--pink-soft); }
.gallery__arrow--prev{ left:clamp(8px,2vw,20px); }
.gallery__arrow--next{ right:clamp(8px,2vw,20px); }
.gallery__track{ flex:1; overflow-x:auto; overflow-y:hidden; scrollbar-width:none; }
.gallery__track::-webkit-scrollbar{ display:none; }
.gallery__row{ display:flex; align-items:center; gap:18px; height:min(66vh,600px); }
.clip{
  position:relative; flex:none; height:100%; border-radius:16px; overflow:hidden;
  border:0;
  background:repeating-linear-gradient(135deg,#FFD3E9 0 14px,#FFEDF6 14px 28px);
}
.clip--v{ aspect-ratio:9 / 16; }
.clip--h{ aspect-ratio:16 / 9; }
.clip__media{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; background:#000; display:block; }
.clip__embed{ border:0; }
.clip__ph{ position:absolute; inset:0; display:grid; place-items:center; }
.clip__play{
  width:48px; height:48px; border-radius:50%; background:rgba(255,255,255,.92);
  display:grid; place-items:center; color:var(--pink); font-size:16px;
  box-shadow:0 8px 18px rgba(160,80,115,.14);
}
.clip__cap{
  position:absolute; left:0; right:0; top:0; padding:16px 18px;
  background:linear-gradient(180deg, rgba(20,8,15,.55), transparent);
  pointer-events:none;
}
.clip__slot{
  font-family:var(--font-ui); font-weight:700; font-size:13px;
  letter-spacing:.16em; text-transform:uppercase; color:#fff; opacity:.9;
}
.clip__title{ font-family:var(--font-ui); font-weight:600; font-size:18px; letter-spacing:-.01em; color:#fff; margin-top:4px; text-shadow:0 1px 8px rgba(0,0,0,.4); }
.gallery__dots{ display:flex; justify-content:center; gap:6px; padding:20px; }
.gallery__dots span{ width:4px; height:4px; border-radius:4px; background:var(--line); transition:all .3s ease; }
.gallery__dots span.is-active{ width:22px; background:var(--pink); }
.modal--gallery .gallery__stage{
  padding:18px clamp(14px,5vw,74px) 8px;
}
.modal--gallery .gallery__track{
  width:100%;
  min-width:0;
  scroll-snap-type:x mandatory;
  scroll-behavior:smooth;
}
.modal--gallery .gallery__row{
  gap:0;
  width:100%;
  height:calc(100dvh - 132px);
  min-height:0;
  max-height:none;
}
.modal--gallery .clip{
  flex:0 0 100%;
  width:100%;
  height:100%;
  display:grid;
  place-items:center;
  overflow:visible;
  border:0;
  border-radius:0;
  background:transparent;
  scroll-snap-align:center;
}
.modal--gallery .clip__media{
  position:relative;
  inset:auto;
  width:auto;
  height:auto;
  max-width:min(calc(100vw - 170px),1120px);
  max-height:calc(100dvh - 160px);
  object-fit:contain;
  border-radius:clamp(12px,1.1vw,18px);
  background:#000;
  box-shadow:0 24px 80px rgba(70,20,45,.14);
}
.modal--gallery img.clip__media{
  background:transparent;
}
.modal--gallery .clip--v video.clip__media,
.modal--gallery .clip--v .clip__embed{
  width:min(72vw,430px);
  height:min(calc(100dvh - 160px),760px);
  aspect-ratio:9/16;
}
.modal--gallery .clip--h video.clip__media,
.modal--gallery .clip--h .clip__embed{
  width:min(100%,1120px);
  height:auto;
  aspect-ratio:16/9;
}
.modal--gallery .clip__ph{
  position:relative;
  width:min(72vw,430px);
  height:min(calc(100dvh - 160px),760px);
  aspect-ratio:9/16;
  border-radius:18px;
  background:linear-gradient(135deg,#FFD3E9,#FFEDF6);
}

@media (max-width:760px){
  .modal--gallery .gallery__stage{
    padding:12px 18px 8px;
  }
  .modal--gallery .gallery__row{
    height:calc(100dvh - 126px);
  }
  .modal--gallery .clip__media{
    max-width:calc(100vw - 36px);
    max-height:calc(100dvh - 150px);
    border-radius:14px;
  }
  .modal--gallery .clip--v video.clip__media,
  .modal--gallery .clip--v .clip__embed,
  .modal--gallery .clip__ph{
    width:min(calc(100vw - 54px),430px);
    height:min(calc(100dvh - 150px),760px);
  }
}

/* ==========================================================================
   ≥ 720px  (планшет / десктоп)
   ========================================================================== */
@media (min-width:720px){
  .hero__topbar{ flex-direction:row; justify-content:space-between; align-items:flex-start; gap:24px; }

  .fact{ flex:1 1 44%; }
  .fact--wide{ flex-basis:100%; }

  /* десктоп: горизонтальная картинка (модель справа) как фон, текст слева */
  .approach{ display:flex; align-items:center; justify-content:flex-start;
             width:100%; max-width:none;
             min-height:clamp(560px,84vh,900px);
             background-image:var(--approach-d);
             background-size:cover; background-position:right center; background-repeat:no-repeat; }
  .approach::before{ background:linear-gradient(90deg, rgba(252,251,251,.82) 0%, rgba(252,251,251,.35) 38%, rgba(252,251,251,0) 62%); }
  .approach__photo{ display:none; }
  .approach__body{ position:relative; align-self:center; width:min(50%,520px); text-align:left; margin-top:0; padding-bottom:0; }
}

/* ==========================================================================
   СТРАНИЦА «О НАС» (about.html)
   ========================================================================== */
.about-page{
  padding-top:0;
  background:var(--bg);
  overflow-x:clip;
  overflow-y:visible;
}
.about-page .breadcrumbs{
  margin-top:0;
}
.about-hero-field{
  position:relative;
  isolation:isolate;
  display:flex;
  flex-direction:column;
  min-height:100svh;
  padding-top:66px;
  overflow:hidden;
  background-color:var(--bg);
  background-image:var(--about-bg);
  background-size:cover;
  background-position:right center;
  background-repeat:no-repeat;
}
.about-hero-field::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
  background:linear-gradient(90deg, var(--bg) 0%, rgba(252,251,251,.98) 34%, rgba(252,251,251,.72) 50%, rgba(252,251,251,0) 68%);
}
.about-hero-field > *{
  position:relative;
  z-index:2;
}
.about-page .about-hero-field .page-topline{
  margin-top:calc(clamp(92px,11vw,124px) - 66px);
  margin-bottom:clamp(18px,3vw,30px);
}
.about-editorial{
  position:relative;
  flex:1 1 auto;
  min-height:0;
  display:flex;
  width:100%;
  overflow:hidden;
}
.about-editorial__inner{
  position:relative;
  z-index:3;
  min-height:100%;
  display:flex;
  align-items:center;
  padding-top:clamp(24px,3vw,42px);
  padding-bottom:clamp(24px,3vw,42px);
}
.about-editorial__content{
  position:relative;
  width:min(56%,820px);
  max-width:820px;
  min-width:0;
}
.about-editorial__label,
.about-quote__label{
  margin:0 0 clamp(14px,2vw,20px);
  color:var(--pink-deep);
  font-family:var(--font-ui);
  font-weight:700;
  font-size:clamp(11px,1vw,13px);
  line-height:1.1;
  letter-spacing:.28em;
  text-transform:uppercase;
}
.about-editorial h1{
  max-width:980px;
  margin:0;
  color:var(--ink);
  font-family:var(--font-ui);
  font-weight:var(--heading-weight);
  font-size:clamp(46px,8.4vw,108px);
  line-height:.9;
  letter-spacing:0;
}
.about-editorial__lead{
  max-width:980px;
  margin-top:clamp(24px,4.6vw,48px);
}
.about-editorial__lead p{
  margin:0;
}
.about-editorial__lead p:first-child{
  color:var(--ink);
  font-weight:650;
  font-size:clamp(21px,3vw,34px);
  line-height:1.28;
}
.about-editorial__lead p:first-child span{
  color:var(--pink-deep);
}
.about-editorial__lead p+p{
  max-width:820px;
  margin-top:clamp(18px,2.6vw,28px);
  color:rgba(26,15,14,.68);
  font-weight:400;
  font-size:clamp(16px,1.45vw,19px);
  line-height:1.72;
}
.about-story{
  padding-top:clamp(34px,5vw,64px);
  padding-bottom:clamp(34px,5vw,64px);
  border-top:1px solid rgba(26,15,14,.08);
}
.about-story h2{
  max-width:860px;
  margin:0;
  color:var(--ink);
  font-family:var(--font-ui);
  font-weight:var(--heading-weight);
  font-size:clamp(30px,4vw,52px);
  line-height:.98;
  letter-spacing:0;
}
.about-story__list{
  margin-top:clamp(24px,4vw,42px);
}
.about-story__item{
  display:grid;
  grid-template-columns:72px minmax(0,1fr);
  gap:clamp(16px,3vw,34px);
  padding:clamp(20px,3vw,28px) 0;
  border-top:1px solid rgba(26,15,14,.08);
}
.about-story__item:first-child{
  border-top:0;
}
.about-story__item > span{
  color:var(--pink-deep);
  font-family:var(--font-ui);
  font-weight:700;
  font-size:clamp(12px,1vw,14px);
  line-height:1.4;
  letter-spacing:.18em;
}
.about-story__item h3{
  margin:0;
  color:var(--ink);
  font-family:var(--font-ui);
  font-weight:700;
  font-size:clamp(18px,1.8vw,24px);
  line-height:1.22;
}
.about-story__item p,
.about-story__compact p{
  margin:clamp(10px,1.4vw,14px) 0 0;
  color:rgba(26,15,14,.68);
  font-weight:400;
  font-size:clamp(15.5px,1.35vw,18px);
  line-height:1.64;
}
.about-quote{
  padding-block:clamp(34px,5.5vw,70px);
  border-top:1px solid rgba(26,15,14,.08);
}
.about-quote blockquote{
  max-width:960px;
  margin:0;
  color:var(--ink);
  font-family:var(--font-ui);
  font-weight:650;
  font-size:clamp(25px,3.5vw,46px);
  line-height:1.12;
}
.about-quote blockquote span{
  color:var(--pink-deep);
}
.about-quote p:not(.about-quote__label){
  max-width:900px;
  margin:clamp(18px,2.6vw,28px) 0 0;
  color:rgba(26,15,14,.64);
  font-weight:400;
  font-size:clamp(16px,1.4vw,18.5px);
  line-height:1.62;
}
.about-quote strong{
  color:var(--ink);
  font-weight:650;
}
.about-story--split{
  display:grid;
  grid-template-columns:minmax(260px,.76fr) minmax(0,1fr);
  gap:clamp(28px,5vw,70px);
  align-items:start;
}
.about-story__compact{
  border-top:1px solid rgba(26,15,14,.08);
}
.about-story__compact p{
  margin:0;
  padding:clamp(17px,2.2vw,22px) 0;
  border-bottom:1px solid rgba(26,15,14,.08);
}
.about-story__compact strong{
  display:block;
  margin-top:clamp(18px,2.6vw,26px);
  color:var(--ink);
  font-weight:650;
  font-size:clamp(18px,1.75vw,24px);
  line-height:1.34;
}

.about-cta{ margin:clamp(40px,10vw,84px) auto clamp(48px,10vw,90px); display:flex; flex-wrap:wrap; gap:12px; align-items:center; justify-content:center; }
.link-solid{ padding:14px 30px; border-radius:40px; border:2px solid var(--pink-2); background:var(--pink-2); color:#fff; font-weight:700; font-size:16px; }
.link-solid:hover{ background:var(--pink-deep); border-color:var(--pink-deep); color:#fff; }
.link-solid--lg{ padding:18px 44px; font-size:clamp(17px,4.6vw,20px); font-weight:800; letter-spacing:.01em; box-shadow:0 12px 30px rgba(160,40,100,.3); }
.link-ghost{ padding:14px 30px; border-radius:40px; border:2px solid var(--line); color:var(--ink); font-weight:700; font-size:16px; }
.link-ghost:hover{ background:var(--pink-soft); color:var(--ink); }

@media (min-width:720px){
  .reason{ flex:1 1 46%; }
  .reason--wide{ flex-basis:100%; }
  .reliability{ grid-template-columns:repeat(auto-fit,minmax(280px,1fr)); align-items:start; }
}

@media (max-width:1180px){
  .about-editorial{
    min-height:0;
  }
  .about-editorial__content{
    width:min(58%,720px);
  }
}

@media (max-width:760px){
  .about-hero-field{
    background-size:cover;
    background-position:right center;
  }
  .about-hero-field::before{
    background:linear-gradient(180deg, var(--bg) 0%, rgba(252,251,251,.96) 48%, rgba(252,251,251,.62) 68%, rgba(252,251,251,0) 100%);
  }
  .about-editorial{
    min-height:0;
    display:flex;
  }
  .about-editorial__inner{
    min-height:100%;
    align-items:flex-start;
    padding-top:clamp(24px,8vw,40px);
    padding-bottom:clamp(260px,78vw,420px);
  }
  .about-editorial__content{
    width:100%;
    max-width:none;
  }
  .about-editorial h1{
    font-size:clamp(42px,15vw,68px);
  }
  .about-story__item{
    grid-template-columns:1fr;
    gap:8px;
  }
  .about-story--split{
    grid-template-columns:1fr;
  }
  .about-story__compact{
    border-top:0;
  }
}

/* ==========================================================================
   КНОПКА «НАВЕРХ»
   ========================================================================== */
.totop{
  position:fixed; right:clamp(14px,3vw,28px); bottom:clamp(14px,3vw,28px); z-index:50;
  width:58px; height:58px; border-radius:50%; border:none;
  background:var(--pink-2); color:#fff; display:grid; place-items:center;
  opacity:0; transform:translateY(12px); pointer-events:none;
  box-shadow:0 6px 16px rgba(0,0,0,.16);
  transition:opacity .25s ease, transform .25s ease, background .2s ease;
}
.totop.is-on{ opacity:1; transform:none; pointer-events:auto; }
.totop:hover{ background:var(--pink-deep); }
.totop svg{ width:26px; height:26px; }

/* Плавающая кнопка «Заказать диджея» — на всех страницах, слева снизу */
.order-fab{
  position:fixed; left:clamp(14px,4vw,32px); bottom:clamp(14px,3vw,28px); z-index:51;
  display:inline-flex; align-items:center; gap:8px;
  padding:18px clamp(26px,6vw,38px); border-radius:44px; border:none;
  background:var(--pink-2); color:#fff;
  font-family:var(--font-ui); font-weight:800; letter-spacing:.02em;
  font-size:clamp(15px,4.2vw,18px); line-height:1;
  box-shadow:0 6px 16px rgba(0,0,0,.16);
  opacity:0; transform:translateY(12px); pointer-events:none;
  transition:opacity .25s ease, transform .25s ease, background .2s ease, box-shadow .2s ease;
}
.order-fab.is-on{ opacity:1; transform:none; pointer-events:auto; }
.order-fab:hover{ background:var(--pink-deep); transform:translateY(-2px); box-shadow:0 8px 20px rgba(0,0,0,.2); }
@media (max-width:400px){ .order-fab{ font-size:14px; padding:16px 22px; } }

/* ==========================================================================
   СТРАНИЦА DJ'S (анкеты артистов)
   ========================================================================== */
.dj-hero{
  position:relative; overflow:hidden; isolation:isolate;
  display:flex; flex-direction:column;
  min-height:clamp(360px,56vh,600px);
  background-color:#E9A6C3;
  background-image:var(--hero-bg);
  background-size:cover; background-position:center; background-repeat:no-repeat;
}
@media (min-width:900px){
  .dj-hero{ background-image:var(--hero-bg-d); }
}
.dj-hero__center{
  position:relative; flex:1; display:flex; flex-direction:column; justify-content:center;
  align-items:center; text-align:center; padding:clamp(24px,6vw,56px) clamp(16px,4vw,32px);
}
.dj-hero .hero__title{ font-size:clamp(42px,9.4vw,96px); }
.dj-hero__intro{
  margin:20px auto 0; max-width:640px; font-weight:700;
  font-size:clamp(15.5px,3.8vw,19px); line-height:1.5; color:#fff;
  text-shadow:0 2px 14px rgba(90,20,50,.55);
}

.djs-head{
  display:block;
  margin-top:clamp(22px,4vw,42px);
}
.djs-head__copy{
  max-width:820px;
}
.djs-head .eyebrow{
  color:var(--pink-deep);
  text-shadow:none;
}
.djs-head__title-row{
  display:block;
}
.djs-head h1{
  position:relative;
  display:inline-block;
  margin:0;
  padding-right:clamp(34px,4vw,46px);
  font-family:var(--font-ui);
  font-weight:var(--heading-weight);
  font-size:clamp(42px,8vw,94px);
  line-height:.92;
  color:var(--ink);
  text-shadow:none;
}
.djs-head h1::after{
  content:attr(data-count);
  position:absolute;
  right:0;
  top:clamp(4px,.8vw,10px);
  width:28px;
  height:28px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:50%;
  background:var(--pink-deep);
  color:#fff;
  box-shadow:0 12px 24px rgba(229,21,127,.22);
  font-family:var(--font-ui);
  font-size:clamp(12px,1vw,14px);
  font-weight:650;
  line-height:1;
}
.djs-head__copy p:not(.eyebrow){
  margin:18px 0 0;
  max-width:620px;
  color:rgba(26,15,14,.62);
  font-weight:500;
  font-size:clamp(16px,1.5vw,19px);
  line-height:1.55;
  text-shadow:none;
}
.djs-head .btn-cta{
  margin:0;
}
.djs-filter{
  display:grid;
  gap:14px;
  margin-top:clamp(24px,4vw,42px);
}
.djs-filter__group{
  display:grid;
  grid-template-columns:110px minmax(0,1fr);
  align-items:start;
  gap:10px 14px;
}
.djs-filter__group > span{
  padding-top:9px;
  color:rgba(26,15,14,.36);
  font-family:var(--font-ui);
  font-weight:650;
  font-size:11px;
  line-height:1;
  letter-spacing:.18em;
  text-transform:uppercase;
}
.djs-filter__options{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:8px;
}
.djs-filter__group button{
  min-height:30px;
  margin:0;
  padding:0 13px;
  border:0;
  border-radius:999px;
  background:rgba(255,255,255,.48);
  color:rgba(26,15,14,.56);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.72), 0 6px 18px rgba(52,20,34,.035);
  font-family:var(--font-base);
  font-weight:500;
  font-size:13px;
  line-height:1;
  text-shadow:none;
  transition:background .18s ease, color .18s ease, transform .18s ease;
}
.djs-filter__group button:hover{ transform:translateY(-1px); }
.djs-filter__group button.is-active{
  background:var(--pink-deep);
  color:#fff;
  box-shadow:none;
}
.djs{ margin-top:clamp(24px,5vw,46px); }
.djs__empty{ text-align:center; color:var(--ink-muted); font-weight:600; padding:40px 0; }
.djs__grid{
  display:grid; gap:clamp(16px,2.5vw,28px);
  grid-template-columns:repeat(auto-fill, minmax(280px, 1fr));
}
.dj-card{
  display:flex; flex-direction:column; overflow:hidden;
  border:0; border-radius:0; background:rgba(255,255,255,.74);
  box-shadow:none;
  transition:transform .2s ease, box-shadow .2s ease;
}
.dj-card:hover{ transform:translateY(-2px); box-shadow:none; }
.dj-card__photo{
  display:block;
  position:relative; aspect-ratio:3/4;
  background:repeating-linear-gradient(135deg,#FFD3E9 0 14px,#FFEDF6 14px 28px) center/cover;
  text-decoration:none;
}
.dj-card__body{ padding:18px 20px 22px; display:flex; flex-direction:column; gap:10px; flex:1; }
.dj-card__name{ margin:0; font-family:var(--font-ui); font-weight:700; font-size:clamp(19px,2.2vw,23px); color:var(--ink); }
.dj-card__name a{ color:inherit; text-decoration:none; }
.dj-card__name a:hover{ color:var(--pink-deep); }
.dj-card__bio{ margin:0; font-weight:400; font-size:clamp(14.5px,1.5vw,15.5px); line-height:1.56; color:var(--ink-soft); flex:1; }
.dj-card__tags{
  display:flex; flex-wrap:wrap; gap:7px;
  margin-top:2px;
}
.dj-card__tags span{
  padding:6px 10px; border-radius:999px;
  background:rgba(255,255,255,.58); color:rgba(26,15,14,.58);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.68), 0 8px 18px rgba(52,20,34,.04);
  font-family:var(--font-base); font-weight:500; font-size:12px;
  letter-spacing:0; text-transform:none;
}
.dj-card__actions{ display:flex; align-items:center; flex-wrap:wrap; gap:12px; margin-top:8px; }
.dj-card .btn-cta{ align-self:flex-start; margin-top:6px; }
.dj-card__more{
  min-height:42px;
  padding:14px 22px;
  font-size:13px;
  text-decoration:none;
}

/* ==========================================================================
   SEO-профиль диджея
   ========================================================================== */
.dj-profile{
  padding-top:clamp(96px,12vw,132px);
  background:var(--bg);
}
.dj-profile__hero{
  display:grid;
  grid-template-columns:minmax(260px,480px) minmax(0,1fr);
  align-items:start;
  gap:clamp(30px,5vw,76px);
}
.breadcrumbs{
  display:flex;
  align-items:center;
  gap:8px;
  margin-top:clamp(92px,11vw,124px);
  margin-bottom:clamp(18px,3vw,30px);
  font-family:var(--font-ui);
  font-weight:800;
  font-size:clamp(12px,1.2vw,14px);
  line-height:1.2;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:rgba(26,15,14,.42);
}
.dj-profile .breadcrumbs{
  margin-top:0;
}
.breadcrumbs a{
  color:rgba(26,15,14,.54);
  text-decoration:none;
}
.breadcrumbs a:hover{
  color:var(--pink-deep);
}
.page-topline{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  margin-top:clamp(92px,11vw,124px);
  margin-bottom:clamp(18px,3vw,30px);
}
.page-topline .breadcrumbs{
  min-width:0;
  margin:0;
}
.about-page .page-topline,
.dj-profile .page-topline{
  margin-top:0;
}
.page-nav-link{
  position:relative;
  flex:0 0 auto;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:40px;
  padding:0 18px 0 34px;
  border:0;
  border-radius:999px;
  color:rgba(26,15,14,.72);
  background:linear-gradient(135deg, rgba(255,255,255,.68), rgba(255,255,255,.36));
  box-shadow:0 14px 34px rgba(26,15,14,.08), inset 0 1px 0 rgba(255,255,255,.82);
  backdrop-filter:blur(18px) saturate(140%);
  -webkit-backdrop-filter:blur(18px) saturate(140%);
  font-family:var(--font-ui);
  font-weight:700;
  font-size:12px;
  line-height:1;
  letter-spacing:.08em;
  text-transform:uppercase;
  text-decoration:none;
  transition:transform .2s ease, color .2s ease, background .2s ease, box-shadow .2s ease;
}
.page-nav-link::before{
  content:"";
  position:absolute;
  left:18px;
  top:50%;
  width:7px;
  height:7px;
  border-left:2px solid currentColor;
  border-bottom:2px solid currentColor;
  transform:translateY(-50%) rotate(45deg);
}
.page-nav-link:hover{
  color:var(--pink-deep);
  background:linear-gradient(135deg, rgba(255,255,255,.82), rgba(255,255,255,.5));
  box-shadow:0 16px 36px rgba(229,21,127,.12), inset 0 1px 0 rgba(255,255,255,.9);
  transform:translateY(-1px);
}
.dj-profile__portrait{
  position:relative;
  border-radius:0;
  overflow:hidden;
  background:linear-gradient(135deg, rgba(255,61,154,.12), rgba(255,255,255,.78));
  box-shadow:none;
}
.dj-profile__portrait::before{
  content:none;
  position:absolute; inset:0;
  background:linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,61,154,.14));
  pointer-events:none;
  z-index:1;
}
.dj-profile__portrait img{
  display:block;
  width:100%;
  aspect-ratio:4/5;
  object-fit:cover;
}
.dj-profile__intro{
  max-width:940px;
}
.dj-profile__eyebrow{
  margin:0 0 12px;
  font-family:var(--font-ui); font-weight:900; font-size:clamp(12px,1.4vw,14px);
  line-height:1.1; letter-spacing:.32em; text-transform:uppercase; color:var(--pink-deep);
}
.dj-profile__intro h1{
  margin:0;
  font-family:var(--font-ui); font-weight:var(--heading-weight);
  font-size:clamp(46px,6.6vw,92px); line-height:.88; letter-spacing:0;
  color:var(--ink);
}
.dj-profile__location{
  display:inline-flex;
  align-items:center;
  gap:6px;
  margin:clamp(5px,.7vw,9px) 0 0;
  color:var(--ink);
  font-family:var(--font-base);
  font-weight:350;
  font-size:clamp(13px,1vw,15px);
  line-height:1;
  white-space:nowrap;
  vertical-align:top;
}
.dj-profile__location svg{
  flex:0 0 auto;
  display:block;
  width:15px;
  height:15px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.dj-profile__role{
  margin:clamp(16px,2vw,22px) 0 0;
  font-family:var(--font-ui); font-weight:800; font-size:clamp(13px,1.25vw,17px);
  line-height:1.45;
  letter-spacing:.14em; text-transform:uppercase; color:var(--pink-deep);
}
.dj-profile__lead{
  margin:clamp(18px,2.4vw,28px) 0 0;
  max-width:760px;
  font-weight:500; font-size:clamp(16.5px,1.35vw,20px); line-height:1.62; color:rgba(26,15,14,.72);
}
.dj-profile__statement{
  position:relative;
  margin:clamp(22px,3vw,34px) 0 0;
  max-width:780px;
  padding:0 0 0 clamp(18px,2.4vw,26px);
  border-left:0;
  background:transparent;
  box-shadow:none;
  color:rgba(26,15,14,.66);
  font-family:var(--font-base);
  font-style:italic;
  font-weight:500;
  font-size:clamp(16.5px,1.35vw,20px);
  line-height:1.55;
}
.dj-profile__statement::before{
  content:"";
  position:absolute;
  left:0;
  top:.18em;
  bottom:.18em;
  width:8px;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='28' viewBox='0 0 8 28'%3E%3Cpath d='M5 0 2 7l3 7-3 7 3 7' fill='none' stroke='%23E5157F' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' opacity='.55'/%3E%3C/svg%3E") center top/8px 28px repeat-y;
}
.dj-profile__tag-groups{
  display:grid;
  gap:14px;
  margin-top:clamp(20px,2.6vw,30px);
  max-width:820px;
}
.dj-profile__tag-group > span{
  display:block;
  margin-bottom:8px;
  color:rgba(26,15,14,.28);
  font-family:var(--font-ui);
  font-weight:650;
  font-size:clamp(10px,.82vw,11px);
  line-height:1.1;
  letter-spacing:.2em;
  text-transform:uppercase;
}
.dj-profile__tag-group > div{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
}
.dj-profile__tag-group em{
  min-height:28px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:0 11px;
  border:0;
  border-radius:999px;
  background:linear-gradient(135deg, rgba(255,255,255,.52), rgba(255,255,255,.24));
  color:rgba(26,15,14,.58);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.75),
    0 10px 24px rgba(150,40,90,.06);
  backdrop-filter:blur(18px) saturate(145%);
  -webkit-backdrop-filter:blur(18px) saturate(145%);
  font-style:normal;
  font-weight:500;
  font-size:clamp(11.5px,.82vw,13px);
  line-height:1;
  white-space:nowrap;
}
.dj-profile__actions{
  display:flex; align-items:center; flex-wrap:wrap; gap:clamp(16px,2.2vw,26px);
  margin-top:clamp(24px,4vw,34px);
}
.dj-profile__facts{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:clamp(14px,2.2vw,30px);
  margin-top:clamp(24px,3.2vw,36px);
  padding-top:clamp(18px,2.6vw,24px);
  border-top:0;
}
.dj-profile__facts dl{
  margin:0;
}
.dj-profile__facts dt{
  margin:0 0 5px;
  color:rgba(26,15,14,.34);
  font-family:var(--font-ui);
  font-weight:650;
  font-size:clamp(9.5px,.72vw,11px);
  line-height:1.1;
  letter-spacing:.16em;
  text-transform:uppercase;
}
.dj-profile__facts dd{
  margin:0;
  color:rgba(26,15,14,.68);
  font-family:var(--font-base);
  font-weight:500;
  font-size:clamp(14px,1.05vw,16.5px);
  line-height:1.38;
}
.dj-profile__booking{
  margin:14px 0 0;
  font-weight:700;
  font-size:clamp(13.5px,1.4vw,15px);
  line-height:1.45;
  color:rgba(26,15,14,.48);
}
.dj-profile__all-link{
  min-height:48px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  color:var(--pink-deep);
  font-family:var(--font-ui);
  font-weight:850;
  font-size:clamp(14px,1.2vw,16px);
  line-height:1;
  letter-spacing:.02em;
  box-shadow:none;
  backdrop-filter:none;
  -webkit-backdrop-filter:none;
}
.dj-profile__all-link::before{
  content:"";
}
.dj-profile__all-link::after{
  content:"→";
  margin-left:10px;
  font-size:1.25em;
  line-height:0;
}
.dj-profile__all-link:hover{
  color:var(--ink);
  background:transparent;
}
.dj-profile__data{
  margin-top:clamp(38px,5vw,62px);
  padding-top:clamp(22px,3vw,34px);
  border-top:0;
}
.dj-profile__data h2{
  margin:0 0 clamp(16px,2.4vw,24px);
  font-family:var(--font-ui);
  font-weight:var(--heading-weight);
  font-size:clamp(24px,2.7vw,34px);
  line-height:1;
  color:var(--ink);
}
.dj-profile__data-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(190px,1fr));
  gap:clamp(10px,1.2vw,14px);
}
.dj-profile__data-card{
  min-height:82px;
  padding:clamp(12px,1.25vw,16px);
  border:0;
  border-radius:10px;
  background:rgba(255,255,255,.62);
  box-shadow:0 12px 34px rgba(52,20,34,.045);
}
.dj-profile__data-card > span{
  display:block;
  margin-bottom:10px;
  color:var(--pink-deep);
  font-family:var(--font-ui);
  font-weight:900;
  font-size:clamp(10.5px,.9vw,12px);
  line-height:1.15;
  letter-spacing:.22em;
  text-transform:uppercase;
}
.dj-profile__data-card p{
  margin:0;
  color:rgba(26,15,14,.82);
  font-weight:500;
  font-size:clamp(13px,.92vw,14.5px);
  line-height:1.38;
}
.dj-profile__chips-list,
.dj-profile__chips-more div{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
}
.dj-profile__chips-list span,
.dj-profile__chips-more div span{
  display:inline-flex;
  align-items:center;
  min-height:28px;
  padding:0 10px;
  border:0;
  border-radius:999px;
  background:rgba(255,255,255,.72);
  color:rgba(26,15,14,.74);
  font-family:var(--font-base);
  font-weight:600;
  font-size:clamp(12px,.9vw,13px);
  line-height:1;
  letter-spacing:0;
  text-transform:none;
}
.dj-profile__chips-more{
  margin-top:8px;
}
.dj-profile__chips-more summary{
  display:inline-flex;
  min-height:28px;
  align-items:center;
  padding:0 10px;
  border-radius:999px;
  background:rgba(229,21,127,.08);
  color:var(--pink-deep);
  font-family:var(--font-ui);
  font-weight:850;
  font-size:12px;
  line-height:1;
  list-style:none;
  cursor:pointer;
}
.dj-profile__chips-more summary::-webkit-details-marker{
  display:none;
}
.dj-profile__chips-more div{
  margin-top:8px;
}
.dj-profile__data-details{
  margin:0;
}
.dj-profile__data-details summary{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  min-height:34px;
  margin:0;
  list-style:none;
  cursor:pointer;
  color:rgba(26,15,14,.82);
  font-family:var(--font-base);
  font-weight:650;
  font-size:clamp(16px,1.18vw,18px);
  line-height:1.24;
}
.dj-profile__data-details summary::-webkit-details-marker{
  display:none;
}
.dj-profile__data-details summary span{
  white-space:nowrap;
}
.dj-profile__data-details summary em{
  flex:0 0 auto;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:34px;
  height:34px;
  padding:0 10px;
  border-radius:999px;
  background:rgba(229,21,127,.08);
  color:var(--pink-deep);
  font-family:var(--font-ui);
  font-style:normal;
  font-weight:900;
  font-size:13px;
  line-height:1;
}
.dj-profile__data-details summary::after{
  content:"";
  flex:0 0 auto;
  width:9px;
  height:9px;
  border-right:2px solid var(--pink-deep);
  border-bottom:2px solid var(--pink-deep);
  transform:rotate(45deg) translateY(-2px);
  transition:transform .18s ease;
}
.dj-profile__data-details[open] summary::after{
  transform:rotate(225deg) translateY(-1px);
}
.dj-profile__data-details ul{
  display:grid;
  gap:8px;
  margin:16px 0 0;
  padding:0;
  list-style:none;
}
.dj-profile__data-details li{
  position:relative;
  padding-left:16px;
  color:rgba(26,15,14,.70);
  font-weight:600;
  font-size:clamp(15px,1.45vw,17px);
  line-height:1.4;
}
.dj-profile__data-details li::before{
  content:"";
  position:absolute;
  left:0;
  top:.62em;
  width:5px;
  height:5px;
  border-radius:50%;
  background:var(--pink-deep);
}
.dj-profile__content{
  position:relative;
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(270px,360px);
  align-items:start;
  gap:clamp(26px,4vw,62px);
  margin-top:clamp(46px,6vw,78px);
  overflow:visible;
}
.dj-profile__side{
  position:sticky;
  top:104px;
  display:flex;
  flex-direction:column;
  gap:10px;
}
.dj-profile__side-panel{
  padding:16px 18px;
  border:0;
  border-radius:10px;
  background:linear-gradient(145deg, rgba(255,255,255,.82), rgba(255,244,250,.48));
  box-shadow:0 18px 52px rgba(150,40,90,.075);
  backdrop-filter:blur(12px) saturate(135%);
  -webkit-backdrop-filter:blur(12px) saturate(135%);
}
.dj-profile__side-label{
  display:block;
  margin-bottom:10px;
  font-family:var(--font-ui); font-weight:900; font-size:11px;
  letter-spacing:.2em; text-transform:uppercase; color:var(--pink-deep);
}
.dj-profile__side dl{
  margin:0 0 12px;
}
.dj-profile__side dl:last-child{
  margin-bottom:0;
}
.dj-profile__side dt{
  margin:0 0 3px;
  font-weight:800;
  font-size:12px;
  color:rgba(26,15,14,.46);
}
.dj-profile__side dd{
  margin:0;
  font-weight:800;
  font-size:clamp(14.5px,1.35vw,16px);
  line-height:1.38;
  color:var(--ink);
}
.dj-profile__side ul{
  display:grid;
  gap:8px;
  margin:0;
  padding:0;
  list-style:none;
}
.dj-profile__side li{
  position:relative;
  padding-left:16px;
  font-weight:750;
  font-size:clamp(13.5px,1.25vw,15px);
  line-height:1.42;
  color:var(--ink-soft);
}
.dj-profile__side li::before{
  content:"";
  position:absolute;
  left:0;
  top:.62em;
  width:5px;
  height:5px;
  border-radius:50%;
  background:var(--pink-deep);
}
.dj-profile__chips{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
}
.dj-profile__chips span{
  padding:6px 9px;
  border-radius:999px;
  background:rgba(229,21,127,.08);
  color:var(--pink-deep);
  font-family:var(--font-ui);
  font-weight:850;
  font-size:11px;
  line-height:1;
  letter-spacing:.06em;
}
.dj-profile__bio{
  max-width:980px;
}
.dj-profile__bio h2,
.dj-profile__showreel h2,
.dj-profile__related h2{
  margin:0 0 20px;
  font-family:var(--font-ui); font-weight:var(--heading-weight);
  font-size:clamp(28px,3.2vw,42px); line-height:1.04; color:var(--ink);
}
.dj-profile__bio p:not(.dj-profile__eyebrow){
  margin:0 0 16px;
  font-size:clamp(16px,1.6vw,18px);
  line-height:1.62; color:var(--ink-soft);
}
.dj-profile__bio strong{
  color:var(--ink);
  font-weight:900;
}
.dj-profile__rich blockquote{
  margin:clamp(18px,3vw,28px) 0;
  padding:0 0 0 clamp(18px,3vw,28px);
  border-left:0;
  color:rgba(26,15,14,.66);
  font-style:italic;
  font-weight:500;
  font-size:clamp(16.5px,1.3vw,19px);
  line-height:1.55;
}
.dj-profile__bio h3{
  margin:clamp(24px,3.4vw,34px) 0 12px;
  font-family:var(--font-ui);
  font-weight:900;
  font-size:clamp(20px,2vw,25px);
  line-height:1.08;
  color:var(--ink);
}
.dj-profile__bio ul{
  display:grid;
  gap:10px;
  margin:0 0 18px;
  padding:0;
  list-style:none;
}
.dj-profile__bio li{
  position:relative;
  padding-left:22px;
  font-weight:750;
  font-size:clamp(16px,1.6vw,18px);
  line-height:1.54;
  color:var(--ink-soft);
}
.dj-profile__bio li::before{
  content:"";
  position:absolute;
  left:0;
  top:.7em;
  width:8px;
  height:8px;
  border-radius:50%;
  background:var(--pink-deep);
}
.dj-profile__related{
  margin-top:clamp(42px,6vw,72px);
}
.dj-profile__booking-card{
  position:sticky;
  top:92px;
  z-index:40;
  align-self:start;
  height:max-content;
  max-height:calc(100dvh - 136px);
  overflow:auto;
  overscroll-behavior:contain;
  padding:clamp(20px,2.5vw,28px);
  border:0;
  border-radius:14px;
  background:linear-gradient(145deg, rgba(255,255,255,.86), rgba(255,243,249,.58));
  box-shadow:0 24px 74px rgba(150,40,90,.10);
  -webkit-overflow-scrolling:touch;
}
.dj-profile__booking-card h3{
  margin:0;
  font-family:var(--font-ui);
  font-weight:700;
  font-size:clamp(20px,1.55vw,23px);
  line-height:1.14;
  color:var(--ink);
}
.dj-profile__booking-card p{
  margin:14px 0 0;
  font-weight:500;
  font-size:clamp(14.5px,1.2vw,16px);
  line-height:1.55;
  color:rgba(26,15,14,.64);
}
.dj-profile__booking-card .btn-cta,
.dj-profile__booking-card .dj-profile__all-link{
  width:100%;
}
.dj-profile__booking-card .btn-cta{
  margin-top:24px;
  font-weight:650;
  letter-spacing:.04em;
}
.dj-profile__booking-card .dj-profile__all-link{
  margin-top:12px;
  min-height:46px;
  border:0;
  border-radius:999px;
  background:rgba(255,255,255,.58);
  box-shadow:0 14px 34px rgba(160,50,100,.07);
  font-weight:600;
}
.dj-profile__booking-meta{
  display:grid;
  gap:10px;
  margin-top:18px;
  padding-top:16px;
  border-top:1px solid rgba(26,15,14,.10);
}
.dj-profile__booking-meta dl{
  margin:0;
}
.dj-profile__booking-meta dt{
  margin:0 0 4px;
  color:rgba(26,15,14,.42);
  font-family:var(--font-ui);
  font-weight:850;
  font-size:10.5px;
  line-height:1.1;
  letter-spacing:.16em;
  text-transform:uppercase;
}
.dj-profile__booking-meta dd{
  margin:0;
  color:rgba(26,15,14,.76);
  font-weight:550;
  font-size:clamp(13px,1vw,14.5px);
  line-height:1.42;
}
.dj-profile__trust{
  margin-top:clamp(44px,6vw,78px);
}
.dj-profile__trust h2{
  margin:0 0 clamp(14px,2vw,22px);
  max-width:760px;
  font-family:var(--font-ui);
  font-weight:var(--heading-weight);
  font-size:clamp(30px,4.6vw,58px);
  line-height:.98;
  color:var(--ink);
}
.dj-profile__trust-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}
.dj-profile__trust-grid article{
  padding:16px 18px 18px;
  border:0;
  border-radius:10px;
  background:rgba(255,255,255,.62);
}
.dj-profile__trust-grid h3{
  margin:0 0 8px;
  font-family:var(--font-ui);
  font-weight:900;
  font-size:clamp(15.5px,1.5vw,18px);
  color:var(--ink);
}
.dj-profile__trust-grid p{
  margin:0;
  font-weight:700;
  font-size:clamp(14px,1.35vw,16px);
  line-height:1.5;
  color:var(--ink-soft);
}
.dj-profile__showreel{
  margin-top:clamp(34px,5vw,58px);
}
.dj-profile__media-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:clamp(16px,1.6vw,24px);
  max-width:1240px;
  align-items:start;
}
.dj-profile__asset{
  position:relative;
  min-height:0;
  display:block;
  width:100%;
  margin:0;
  overflow:hidden;
  border-radius:0;
  background:linear-gradient(135deg, rgba(255,246,251,.92), rgba(250,250,248,.86));
  box-shadow:none;
  aspect-ratio:4/5;
}
.dj-profile__asset:first-child{
  border-radius:0;
}
.dj-profile__asset--v{ aspect-ratio:4/5; }
.dj-profile__asset--h{
  aspect-ratio:16/10;
}
.dj-profile__asset img,
.dj-profile__asset video{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
}
.dj-profile__asset--video img,
.dj-profile__asset--video video,
.dj-profile__asset-placeholder{
  aspect-ratio:inherit;
}
.dj-profile__asset--video::before{
  content:"";
  position:absolute;
  left:14px;
  bottom:14px;
  z-index:2;
  width:42px;
  height:42px;
  border-radius:50%;
  background:rgba(255,255,255,.86);
  box-shadow:0 12px 30px rgba(50,20,35,.16);
  pointer-events:none;
}
.dj-profile__asset--video::after{
  content:"";
  position:absolute;
  left:31px;
  bottom:27px;
  z-index:3;
  width:0;
  height:0;
  border-top:7px solid transparent;
  border-bottom:7px solid transparent;
  border-left:10px solid var(--pink-deep);
  pointer-events:none;
}
.dj-profile__asset--missing img,
.dj-profile__asset--missing video{
  display:none;
}
.dj-profile__asset-placeholder,
.dj-profile__asset--missing::before{
  position:relative;
  display:flex;
  width:100%;
  min-height:clamp(220px,32vw,420px);
  align-items:center;
  justify-content:center;
  padding:24px;
  background:
    radial-gradient(circle at 20% 18%, rgba(255,61,154,.18), transparent 32%),
    radial-gradient(circle at 82% 82%, rgba(26,15,14,.08), transparent 34%),
    linear-gradient(135deg, rgba(255,244,250,.92), rgba(255,255,255,.76));
}
.dj-profile__asset-placeholder--video::after{
  content:"";
  position:absolute;
  width:52px;
  height:52px;
  border-radius:50%;
  background:rgba(255,255,255,.74);
  box-shadow:0 14px 36px rgba(150,40,90,.18);
}
.dj-profile__asset--missing::before{
  content:"Медиа скоро появится";
  color:rgba(26,15,14,.52);
  font-family:var(--font-ui);
  font-weight:900;
  font-size:clamp(13px,1.2vw,15px);
  line-height:1.2;
  letter-spacing:.14em;
  text-align:center;
  text-transform:uppercase;
}
.dj-profile__asset-placeholder span{
  position:relative;
  z-index:2;
  color:rgba(26,15,14,.52);
  font-family:var(--font-ui);
  font-weight:900;
  font-size:clamp(13px,1.2vw,15px);
  line-height:1.2;
  letter-spacing:.14em;
  text-align:center;
  text-transform:uppercase;
}
.dj-profile__asset-hit{
  position:absolute;
  inset:0;
  z-index:3;
  width:100%;
  height:100%;
  border:0;
  padding:0;
  background:transparent;
  cursor:default;
}
.dj-profile__asset-hit:focus-visible{
  outline:2px solid rgba(255,255,255,.9);
  outline-offset:-8px;
}
.dj-profile__asset-label{
  position:absolute;
  left:14px;
  bottom:14px;
  z-index:4;
  min-height:32px;
  display:inline-flex;
  align-items:center;
  padding:0 13px;
  border-radius:999px;
  background:rgba(255,255,255,.9);
  color:var(--ink);
  font-family:var(--font-ui);
  font-weight:800;
  font-size:12px;
  line-height:1;
  box-shadow:0 10px 26px rgba(30,10,20,.16);
  pointer-events:none;
}
.dj-profile__asset--v video{ aspect-ratio:9/16; }
.dj-profile__asset--h video{ aspect-ratio:16/9; }
.dj-profile__asset:not(.dj-profile__asset--video)::after{
  content:"";
  position:absolute; inset:auto 0 0;
  height:42%;
  background:linear-gradient(180deg, rgba(20,8,14,0), rgba(20,8,14,.18));
  pointer-events:none;
}
.dj-profile__asset--more::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:4;
  background:rgba(20,8,14,.56);
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
}
.dj-profile__asset--more::after{
  display:none;
}
.dj-profile__asset-more{
  position:absolute;
  inset:0;
  z-index:5;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:4px;
  color:#fff;
  font-family:var(--font-ui);
  text-align:center;
  pointer-events:none;
}
.dj-profile__asset-more strong{
  font-weight:900;
  font-size:clamp(30px,4vw,46px);
  line-height:1;
}
.dj-profile__asset-more span{
  font-weight:800;
  font-size:clamp(11px,1vw,13px);
  line-height:1;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.dj-join{
  position:relative;
  margin-top:clamp(58px,9vw,110px);
  padding-top:clamp(34px,5vw,58px);
  padding-bottom:clamp(42px,7vw,76px);
}
.dj-join::before{
  content:"";
  position:absolute;
  left:clamp(22px,5vw,72px);
  right:clamp(22px,5vw,72px);
  top:0;
  height:1px;
  background:linear-gradient(90deg, rgba(229,21,127,0), rgba(229,21,127,.18), rgba(229,21,127,0));
}
.dj-join__shell{
  position:relative;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:clamp(20px,4vw,54px);
  align-items:center;
  width:100%;
  padding:clamp(28px,4.5vw,58px) clamp(24px,5vw,64px);
  border:0;
  border-radius:18px;
  background:rgba(255,255,255,.46);
  box-shadow:0 24px 70px rgba(52,20,34,.055), inset 0 1px 0 rgba(255,255,255,.65);
}
.dj-join__shell::before{
  content:"";
  position:absolute;
  inset:0;
  border-radius:inherit;
  background:radial-gradient(circle at 82% 22%, rgba(255,61,154,.07), transparent 34%);
  pointer-events:none;
}
.dj-join__label{
  margin:0 0 12px;
  font-family:var(--font-ui);
  font-weight:900;
  font-size:clamp(12px,1.4vw,14px);
  line-height:1.1;
  letter-spacing:.32em;
  text-transform:uppercase;
  color:var(--pink-deep);
}
.dj-join__copy h2{
  margin:0;
  max-width:980px;
  font-family:var(--font-ui);
  font-weight:var(--heading-weight);
  font-size:clamp(32px,3.6vw,48px);
  line-height:1;
  color:var(--ink);
}
.dj-join__copy p:not(.dj-join__label){
  margin:18px 0 0;
  max-width:760px;
  font-weight:500;
  font-size:clamp(16px,1.45vw,19px);
  line-height:1.58;
  color:rgba(26,15,14,.58);
}
.dj-join__toggle{
  min-height:54px;
  padding:0 30px;
  border:0;
  border-radius:999px;
  background:var(--pink-deep);
  color:#fff;
  font-family:var(--font-ui);
  font-weight:650;
  font-size:clamp(15px,1.45vw,18px);
  line-height:1;
  letter-spacing:0;
  text-transform:none;
  box-shadow:0 14px 32px rgba(229,21,127,.16);
  transition:transform .2s ease, background .2s ease, box-shadow .2s ease;
}
.dj-join__toggle::after{
  content:"";
  display:inline-block;
  width:10px;
  height:10px;
  margin-left:12px;
  border-right:2px solid currentColor;
  border-bottom:2px solid currentColor;
  transform:rotate(45deg) translateY(-2px);
  transition:transform .18s ease;
}
.dj-join__toggle:hover{
  background:var(--pink);
  color:#fff;
  transform:translateY(-1px);
}
.dj-join__toggle[aria-expanded="true"]{
  background:var(--pink-deep);
  color:#fff;
}
.dj-join__toggle[aria-expanded="true"]::after{
  transform:rotate(225deg) translate(-2px,-1px);
}
.dj-join__panel[hidden]{
  display:none;
}
.dj-join__panel{
  grid-column:1 / -1;
  padding-top:clamp(22px,4vw,38px);
  border-top:0;
}
.dj-join__form{
  position:relative;
  display:block;
  width:100%;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  overflow:visible;
}
.dj-join__grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px 20px;
}
.dj-join__form input:not([type="checkbox"]),
.dj-join__form textarea{
  position:relative;
  z-index:1;
  width:100%;
  padding:15px 2px;
  border:0;
  border-bottom:1px solid var(--line);
  border-radius:0;
  background:transparent;
  color:var(--ink);
  outline:none;
  font-family:var(--font-base);
  font-weight:600;
  font-size:clamp(16px,1.65vw,18px);
}
.dj-join__form textarea{
  min-height:118px;
  margin-top:8px;
  resize:vertical;
}
.dj-join__form input:not([type="checkbox"]):focus,
.dj-join__form textarea:focus{
  border-color:var(--pink-deep);
}
.dj-join__consent{
  position:relative;
  z-index:1;
}
.dj-join__submit{
  max-width:360px;
}
.dj-join__submit:hover{
  transform:translateY(-1px);
}
.dj-join__submit:disabled{
  opacity:.65;
  transform:none;
}
.dj-join__ok,
.dj-join__err{
  margin:16px 0 0;
  font-weight:800;
  text-align:center;
}
.dj-join__ok{ color:var(--pink-deep); }
.dj-join__err{ color:#c0143f; }
@media (max-width:760px){
  .dj-profile{ padding-top:96px; }
  .djs-head{
    margin-top:10px;
  }
  .djs-head h1{
    font-size:clamp(42px,13vw,62px);
    padding-right:32px;
  }
  .djs-head h1::after{
    width:24px;
    height:24px;
    top:3px;
    font-size:12px;
  }
  .djs-filter{
    gap:16px;
    margin-top:26px;
  }
  .djs-filter__group{
    grid-template-columns:1fr;
    gap:8px;
  }
  .djs-filter__group > span{
    padding-top:0;
  }
  .djs-filter__options{
    flex-wrap:nowrap;
    overflow-x:auto;
    padding-bottom:4px;
    scrollbar-width:none;
  }
  .djs-filter__options::-webkit-scrollbar{ display:none; }
  .djs-filter__group button{ flex:0 0 auto; }
  .djs-filter__group > span{
    flex:1 0 100%;
  }
  .dj-profile__hero,
  .dj-profile__content{
    grid-template-columns:1fr;
  }
  .dj-profile__intro h1{
    font-size:clamp(40px,12vw,62px);
    line-height:.9;
  }
  .dj-profile__location{
    margin-top:6px;
    font-size:14px;
    font-weight:350;
  }
  .dj-profile__location svg{
    width:14px;
    height:14px;
    stroke-width:1.75;
  }
  .dj-profile__role{
    font-size:clamp(12px,3.5vw,14px);
    letter-spacing:.1em;
  }
  .dj-profile__lead{
    font-size:clamp(16px,4.3vw,19px);
    line-height:1.55;
  }
  .dj-profile__statement{
    font-size:clamp(16px,4.2vw,18px);
  }
  .dj-profile__tag-groups{
    max-width:420px;
    margin-left:auto;
    margin-right:auto;
  }
  .dj-profile__tag-group > div{
    justify-content:center;
  }
  .dj-profile__tag-group em{
    min-height:28px;
    padding-inline:10px;
    font-size:12px;
  }
  .dj-profile__facts{
    grid-template-columns:1fr;
    max-width:420px;
    margin-inline:auto;
    gap:14px;
    text-align:left;
  }
  .dj-profile__facts dd{
    font-size:clamp(14px,4vw,16px);
  }
  .dj-profile__data{
    margin-top:42px;
  }
  .dj-profile__data h2,
  .dj-profile__bio h2,
  .dj-profile__showreel h2,
  .dj-profile__related h2{
    font-size:clamp(26px,7.4vw,34px);
  }
  .dj-profile__bio h3{
    font-size:clamp(20px,5.5vw,24px);
  }
  .dj-profile__data-grid{
    grid-template-columns:1fr;
  }
  .dj-profile__side{
    position:static;
  }
  .dj-profile__portrait{
    max-width:420px;
    width:100%;
    margin-inline:auto;
    border-radius:0;
  }
  .dj-profile__intro{ text-align:center; }
  .dj-profile__lead{ margin-inline:auto; }
  .dj-profile__statement{
    text-align:left;
    margin-left:auto;
    margin-right:auto;
  }
  .dj-profile__actions{ justify-content:center; }
  .dj-profile__booking-card{
    position:relative;
    top:auto;
    z-index:auto;
    max-height:none;
    overflow:visible;
    transform:none!important;
  }
  .dj-profile__trust-grid{ grid-template-columns:1fr; }
  .dj-profile__media-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px;
    max-width:520px;
    margin-inline:auto;
  }
  .dj-profile__asset{
    border-radius:0;
  }
  .dj-profile__asset:first-child{ border-radius:0; }
  .dj-join{
    text-align:left;
  }
  .dj-join__shell{
    grid-template-columns:1fr;
    padding:26px 22px;
    border-radius:28px;
  }
  .dj-join__copy h2,
  .dj-join__copy p:not(.dj-join__label){
    margin-left:0;
    margin-right:0;
  }
  .dj-join__copy h2{ font-size:clamp(30px,9vw,42px); }
  .dj-join__toggle{ justify-self:start; }
  .dj-join__grid{ grid-template-columns:1fr; }
  .dj-join__submit{ max-width:none; }
}

/* ==========================================================================
   ЕДИНЫЙ ВИЗУАЛЬНЫЙ РИТМ WOMANDJ
   ========================================================================== */
:root{
  --glass-bg:rgba(255,255,255,.34);
  --glass-bg-strong:rgba(255,255,255,.56);
  --glass-line:rgba(255,255,255,.62);
  --glass-shadow:0 18px 46px rgba(60,24,42,.075);
  --soft-shadow:0 16px 38px rgba(60,24,42,.055);
  --card-radius:16px;
  --pill-radius:999px;
  --section-gap:clamp(54px,8vw,104px);
  --compact-gap:clamp(28px,4.5vw,58px);
}

.wrap{
  max-width:min(var(--wrap), 1540px);
}

@media (min-width:720px){
  .approach.wrap{
    max-width:none;
  }
}

.hero-menu,
.contact-band__inner,
.dj-profile__tag-group em,
.dj-profile__chips-list span,
.dj-profile__chips-more div span,
.dj-card__tags span,
.djs-filter__group button{
  background:linear-gradient(135deg, rgba(255,255,255,.48), rgba(255,255,255,.22));
  box-shadow:var(--glass-shadow), inset 0 1px 0 rgba(255,255,255,.58);
  backdrop-filter:blur(26px) saturate(150%);
  -webkit-backdrop-filter:blur(26px) saturate(150%);
}

.btn-cta,
.btn-submit,
.link-solid,
.hero-menu__book,
.order-fab,
.totop,
.dj-join__toggle{
  background:var(--pink-2);
  border-color:var(--pink-2);
  color:#fff;
  font-family:var(--font-ui);
  font-weight:750;
  letter-spacing:.035em;
  box-shadow:0 14px 34px rgba(255,20,122,.18);
}

.btn-cta:hover,
.btn-submit:hover,
.link-solid:hover,
.hero-menu__book:hover,
.order-fab:hover,
.totop:hover,
.dj-join__toggle:hover{
  background:var(--pink-2);
  border-color:var(--pink-2);
  color:#fff;
  box-shadow:0 18px 42px rgba(255,20,122,.22);
}

.btn-cta,
.btn-submit,
.link-solid,
.link-ghost,
.dj-join__toggle,
.dj-profile__all-link{
  min-height:clamp(42px,3.2vw,52px);
  border-radius:var(--pill-radius);
  font-size:clamp(13px,1.05vw,15.5px);
  line-height:1;
  text-transform:none;
}

.hero-menu{
  background:linear-gradient(135deg, rgba(255,255,255,.44), rgba(255,255,255,.25));
  box-shadow:0 18px 44px rgba(60,24,42,.07), inset 0 1px 0 rgba(255,255,255,.62);
}
.hero-menu__brand{
  font-size:clamp(14px,1.05vw,16.5px);
  font-weight:850;
  letter-spacing:-.018em;
}
.hero-menu__nav a{
  color:rgba(24,14,20,.70);
  font-size:clamp(13.5px,.94vw,15px);
  font-weight:650;
  text-shadow:none;
}
.hero-menu__phone{
  color:rgba(24,14,20,.80);
  font-size:clamp(13.5px,.94vw,15px);
  font-weight:750;
}
.hero-menu__book{
  min-height:34px;
  padding-inline:clamp(16px,1.5vw,22px);
  font-size:clamp(13px,.92vw,14.5px);
}

.eyebrow,
.gallery-sec__label,
.sets__label,
.facts .eyebrow,
.approach__label,
.djs-head .eyebrow,
.dj-profile__eyebrow,
.dj-join__label,
.contact-band__eyebrow{
  color:var(--pink-deep);
  font-family:var(--font-ui);
  font-weight:800;
  font-size:clamp(10px,.76vw,12px);
  letter-spacing:.24em;
  line-height:1.15;
  text-transform:uppercase;
  text-shadow:none;
}

.gallery-sec,
.facts,
.approach,
.sets,
.about-story,
.about-quote,
.dj-profile__content,
.dj-profile__showreel,
.dj-profile__related,
.dj-join,
.contact-band{
  margin-top:var(--section-gap);
}
.about-page > .about-story{
  margin-top:0;
}

.about-page .about-editorial{
  margin-top:0;
  overflow:hidden;
}

.gallery-sec__title,
.facts__title,
.approach__title,
.sets__title,
.about-editorial h1,
.about-h2,
.dj-profile__bio h2,
.dj-profile__showreel h2,
.dj-profile__related h2,
.dj-join__copy h2{
  font-size:clamp(30px,3.9vw,58px);
  line-height:.98;
  letter-spacing:-.015em;
  text-shadow:none;
}

.about-editorial p,
.about-story__lead,
.about-story__compact p,
.dj-profile__bio p:not(.dj-profile__eyebrow),
.dj-profile__lead,
.djs-head__copy p:not(.eyebrow),
.dj-join__copy p:not(.dj-join__label),
.contact-band__label{
  font-weight:450;
  color:rgba(26,15,14,.64);
  line-height:1.58;
  text-shadow:none;
}

.gallery-sec__title,
.sets__title,
.facts__title,
.approach__title{
  margin-top:clamp(8px,1vw,12px);
}

.djs-head{
  margin-top:clamp(18px,3.6vw,34px);
}
.djs-head h1{
  font-size:clamp(46px,7.2vw,104px);
  letter-spacing:-.025em;
}
.djs-head h1::after{
  top:clamp(7px,1vw,14px);
  right:clamp(-3px,.2vw,2px);
  width:clamp(24px,2.4vw,34px);
  height:clamp(24px,2.4vw,34px);
  font-weight:700;
}

.djs-filter{
  max-width:1180px;
  gap:clamp(10px,1.4vw,16px);
}
.djs-filter__group{
  grid-template-columns:104px minmax(0,1fr);
}
.djs-filter__group > span,
.dj-profile__tag-group > span{
  color:rgba(26,15,14,.34);
  font-weight:650;
  letter-spacing:.18em;
}
.djs-filter__options{
  gap:7px;
}
.djs-filter__group button,
.dj-profile__tag-group em,
.dj-card__tags span,
.dj-profile__chips-list span,
.dj-profile__chips-more div span{
  min-height:28px;
  padding:0 11px;
  border:0;
  border-radius:var(--pill-radius);
  color:rgba(26,15,14,.58);
  font-family:var(--font-base);
  font-weight:450;
  font-size:clamp(12px,.86vw,13.5px);
  letter-spacing:0;
  text-transform:none;
}
.djs-filter__group button.is-active{
  background:var(--pink-2);
  color:#fff;
  box-shadow:0 10px 24px rgba(255,20,122,.16);
}

.djs__grid{
  grid-template-columns:repeat(auto-fill, minmax(min(100%, 260px), 1fr));
  gap:clamp(18px,2.1vw,28px);
}
.dj-card{
  background:transparent;
  border-radius:0;
  box-shadow:none;
}
.dj-card:hover{
  transform:translateY(-2px);
}
.dj-card__body{
  padding:clamp(14px,1.6vw,20px) 0 0;
  gap:8px;
}
.dj-card__name{
  font-size:clamp(18px,1.7vw,23px);
  font-weight:760;
}
.dj-card__bio{
  max-width:34em;
  font-size:clamp(14px,1.05vw,15.5px);
  font-weight:400;
  color:rgba(26,15,14,.60);
}
.dj-card__photo{
  border-radius:0;
  overflow:hidden;
  box-shadow:0 16px 40px rgba(60,24,42,.06);
}

.dj-profile{
  padding-top:clamp(94px,10vw,124px);
}
.dj-profile__hero{
  grid-template-columns:minmax(260px,440px) minmax(0,1fr);
  gap:clamp(30px,5vw,70px);
}
.dj-profile__intro h1{
  font-size:clamp(54px,6.8vw,104px);
  line-height:.86;
  letter-spacing:-.02em;
}
.dj-profile__location{
  margin-top:clamp(8px,.9vw,12px);
  color:rgba(26,15,14,.72);
  font-size:clamp(13px,.95vw,15px);
  font-weight:350;
}
.dj-profile__location svg{
  width:15px;
  height:15px;
  stroke-width:1.75;
}
.dj-profile__lead{
  max-width:660px;
  margin-top:clamp(18px,2.2vw,26px);
  font-size:clamp(16px,1.22vw,19px);
}
.dj-profile__statement,
.dj-profile__rich blockquote{
  max-width:760px;
  color:rgba(26,15,14,.62);
  font-size:clamp(15.5px,1.15vw,18px);
  font-weight:450;
  line-height:1.58;
}
.dj-profile__facts{
  max-width:720px;
  gap:clamp(18px,3vw,42px);
}
.dj-profile__facts dt{
  color:rgba(26,15,14,.32);
  font-weight:650;
}
.dj-profile__facts dd{
  color:rgba(26,15,14,.66);
  font-size:clamp(14px,1vw,16px);
  font-weight:450;
}
.dj-profile__content{
  grid-template-columns:minmax(0,1fr) minmax(270px,340px);
  align-items:start;
}
.dj-profile__bio{
  max-width:900px;
}
.dj-profile__bio h3{
  margin-top:clamp(22px,3vw,30px);
  font-size:clamp(20px,1.7vw,26px);
  letter-spacing:-.01em;
}
.dj-profile__bio li{
  font-weight:500;
  color:rgba(26,15,14,.62);
}
.dj-profile__booking-card,
.dj-join__shell,
.contact-band__inner{
  border-radius:var(--card-radius);
  border:0;
  background:linear-gradient(135deg, rgba(255,255,255,.54), rgba(255,255,255,.26));
  box-shadow:var(--glass-shadow), inset 0 1px 0 rgba(255,255,255,.58);
  backdrop-filter:blur(26px) saturate(150%);
  -webkit-backdrop-filter:blur(26px) saturate(150%);
}
.dj-profile__booking-card{
  padding:clamp(20px,2.2vw,26px);
}
.dj-profile__booking-card h3{
  font-size:clamp(20px,1.45vw,24px);
  font-weight:720;
}
.dj-profile__booking-card p{
  font-size:clamp(14px,1vw,15.5px);
  font-weight:450;
}
.dj-profile__booking-card .dj-profile__all-link{
  background:linear-gradient(135deg, rgba(255,255,255,.46), rgba(255,255,255,.22));
  color:var(--pink-deep);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.56), 0 10px 24px rgba(60,24,42,.045);
  font-weight:650;
}

.dj-profile__media-grid{
  column-gap:clamp(10px,1vw,14px);
}
.dj-profile__asset{
  margin-bottom:clamp(10px,1vw,14px);
  background:rgba(255,255,255,.46);
}
.dj-profile__asset img,
.dj-profile__asset video{
  filter:saturate(1.01) contrast(1.01);
}
.modal--gallery .clip__media{
  border-radius:0;
}

.contact-band{
  margin-top:var(--section-gap);
}
.contact-band__inner{
  width:min(1040px, calc(100vw - clamp(32px,8vw,120px)));
}
.contact-band__label{
  max-width:780px;
  font-size:clamp(28px,3.2vw,46px);
  font-weight:760;
  color:var(--ink);
}
.contact-band__phone{
  color:var(--pink-2);
  font-size:clamp(42px,5.4vw,78px);
  text-shadow:none;
}

.site-footer{
  border-top:1px solid rgba(26,15,14,.06);
}

@media (max-width:760px){
  :root{
    --section-gap:clamp(42px,12vw,70px);
    --compact-gap:clamp(24px,8vw,42px);
  }
  .hero-menu{
    left:10px;
    right:10px;
    border-radius:16px;
  }
  .gallery-sec__title,
  .facts__title,
  .approach__title,
  .sets__title,
  .about-editorial h1,
  .about-h2,
  .dj-profile__bio h2,
  .dj-profile__showreel h2,
  .dj-profile__related h2,
  .dj-join__copy h2{
    font-size:clamp(28px,8vw,40px);
  }
  .djs-filter__group{
    grid-template-columns:1fr;
  }
  .djs-filter__options{
    gap:7px;
  }
  .djs-head h1{
    font-size:clamp(48px,15vw,72px);
  }
  .djs__grid{
    grid-template-columns:1fr;
  }
  .dj-card__photo{
    max-height:none;
  }
  .dj-profile__intro{
    text-align:left;
  }
  .dj-profile__intro h1{
    font-size:clamp(46px,14vw,72px);
  }
  .dj-profile__location{
    justify-content:flex-start;
    margin-top:8px;
  }
  .dj-profile__tag-group > div,
  .dj-profile__actions{
    justify-content:flex-start;
  }
  .dj-profile__tag-groups,
  .dj-profile__facts{
    margin-left:0;
    margin-right:0;
  }
  .dj-profile__content{
    gap:34px;
  }
  .contact-band__inner{
    width:100%;
    border-radius:16px;
  }
  .contact-band__label{
    font-size:clamp(25px,7.6vw,34px);
  }
  .contact-band__phone{
    font-size:clamp(34px,10vw,46px);
  }
}

/* ==========================================================================
   ТОЧЕЧНАЯ ПОЛИРОВКА ПОСЛЕ УНИФИКАЦИИ
   ========================================================================== */
.hero-menu{
  border:0;
  box-shadow:0 18px 44px rgba(60,24,42,.07);
}

.hero .hero__copy > .eyebrow{
  color:rgba(255,255,255,.92);
  text-shadow:0 3px 14px rgba(90,18,52,.28), 0 0 18px rgba(255,255,255,.18);
}

.marquee__track{
  align-items:stretch;
}
.marquee__group{
  height:100%;
  align-items:center;
  font-weight:600;
}
.marquee__group span{
  height:100%;
  align-items:center;
  padding-top:1px;
}
.marquee__track--soft .marquee__group{
  font-weight:500;
}
.marquee__track--clear .marquee__group{
  font-weight:650;
  transform:translateY(-2px);
}

.djs-filter{
  width:100%;
  max-width:min(var(--wrap),1540px);
  margin-left:auto;
  margin-right:auto;
}
.djs-filter__group{
  justify-items:start;
}
.djs-filter__options{
  justify-content:flex-start;
}

.btn-cta,
.btn-submit,
.link-solid,
.link-ghost,
.hero-menu__book,
.order-fab,
.totop,
.dj-join__toggle,
.dj-profile__all-link,
.djs-filter__group button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  vertical-align:middle;
  gap:8px;
  transition:transform .2s ease, color .2s ease, background .2s ease, border-color .2s ease, box-shadow .2s ease, opacity .2s ease;
}

.btn-cta:hover,
.btn-submit:hover,
.link-solid:hover,
.link-ghost:hover,
.hero-menu__book:hover,
.order-fab:hover,
.totop:hover,
.dj-join__toggle:hover,
.dj-profile__all-link:hover,
.djs-filter__group button:hover{
  transform:translateY(-1px);
}

.dj-card .btn-cta,
.dj-card__more{
  margin-top:6px;
  padding:0 22px;
  line-height:1;
}

@media (max-width:760px){
  .djs-filter{
    max-width:min(var(--wrap),1540px);
  }
  .marquee__group span{
    padding-top:0;
  }
  .marquee__track--clear .marquee__group{
    transform:none;
  }
}

.marquee__group span{
  height:auto;
  display:inline-block;
  padding-top:0;
  transform:none;
}
.marquee__dot{
  transform:none;
}
.marquee__track--clear .marquee__group{
  transform:none;
}

/* Жестко сводим бегущую строку и стеклянную капсулу в один центр */
.marquee__lane{
  position:absolute;
  left:0;
  right:0;
  top:50%;
  transform:translateY(-50%);
}
.marquee__track{
  height:var(--marquee-h);
  align-items:center;
}
.marquee__focus{
  top:0;
  bottom:0;
  transform:none;
}
.marquee__track--clear{
  height:100%;
}
.marquee__group{
  height:var(--marquee-h);
  align-items:center;
}
.marquee__track--clear .marquee__group{
  transform:translateY(2px);
}
.marquee__group span{
  display:inline-flex;
  align-items:center;
  height:var(--marquee-h);
  line-height:1;
}
.marquee__dot{
  align-self:center;
  margin-top:2px;
}

.marquee__group,
.marquee__track--clear .marquee__group{
  color:#000;
}

.marquee__dot{
  background:#000;
}

.marquee__track--soft .marquee__group{
  color:rgba(226,50,120,.66);
}

.marquee__track--soft .marquee__dot{
  background:var(--pink-deep);
}

/* ==========================================================================
   Финальная чистка: акценты, слои и аккуратные стыки
   ========================================================================== */
@keyframes womandjDjAccent{
  0%, 84%, 100%{ transform:none; }
  88%{ transform:translateY(-1px); }
  92%{ transform:translateY(1px); }
  96%{ transform:none; }
}

.hero-menu{
  background:linear-gradient(135deg, rgba(255,255,255,.58), rgba(255,255,255,.34));
  border:0;
  box-shadow:0 18px 44px rgba(60,24,42,.07);
}
.hero-menu__nav a{
  text-shadow:none;
}
.hero-menu__nav-accent,
.hero__link-accent{
  position:relative;
  color:var(--pink-2);
  font-weight:760;
  animation:womandjDjAccent 6.8s ease-in-out infinite;
}
.hero-menu__nav-accent::after,
.hero__link-accent::after{
  content:"";
  position:absolute;
  left:50%;
  bottom:-7px;
  width:4px;
  height:4px;
  border-radius:50%;
  background:currentColor;
  opacity:.62;
  transform:translateX(-50%);
}

.gallery-sec,
.facts,
.approach,
.sets,
.about-story,
.about-quote,
.dj-profile__content,
.dj-profile__showreel,
.dj-profile__related,
.dj-join,
.contact-band{
  overflow:visible;
  box-shadow:none;
}

.dj-card{
  overflow:visible;
}
.dj-card__body,
.dj-card__actions{
  overflow:visible;
}
.dj-card__photo{
  box-shadow:none;
}
.dj-card .btn-cta,
.dj-card__more{
  min-height:44px;
  line-height:1;
  align-items:center;
  justify-content:center;
}
.dj-card__tags span,
.dj-profile__tag-group em,
.djs-filter__group button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:30px;
  padding:0 12px 1px;
  line-height:1;
}

.contact-band{
  margin-top:clamp(26px,4.5vw,58px);
  padding:clamp(22px,4vw,50px) clamp(18px,5vw,72px);
}
.contact-band::before,
.contact-band::after{
  content:none;
}
.contact-band__inner{
  width:min(980px, calc(100vw - clamp(28px,8vw,118px)));
  padding:clamp(30px,4.8vw,58px) clamp(20px,5vw,64px);
  border-radius:18px;
  background:linear-gradient(135deg, rgba(255,255,255,.62), rgba(255,255,255,.32));
  box-shadow:0 18px 44px rgba(60,24,42,.07);
  overflow:visible;
}
.contact-band__inner::before{
  inset:auto 14% 16%;
  height:36%;
  opacity:.52;
  filter:blur(34px);
}
.contact-band__eyebrow{
  font-size:clamp(10px,.7vw,11.5px);
}
.contact-band__label{
  max-width:720px;
  font-size:clamp(26px,3vw,42px);
  font-weight:760;
  line-height:1.08;
}
.contact-band__phone{
  font-size:clamp(38px,5vw,70px);
  color:var(--pink-2);
  line-height:.96;
}

@media (max-width:760px){
  .hero-menu__nav-accent::after,
  .hero__link-accent::after{
    bottom:-5px;
    width:3px;
    height:3px;
  }
  .contact-band{
    margin-top:clamp(18px,8vw,36px);
    padding-inline:18px;
  }
  .contact-band__inner{
    width:100%;
    padding:30px 18px 34px;
    border-radius:16px;
  }
  .contact-band__label{
    font-size:clamp(24px,7vw,32px);
  }
  .contact-band__phone{
    font-size:clamp(34px,10vw,44px);
  }
}

@media (prefers-reduced-motion:reduce){
  .hero-menu__nav-accent,
  .hero__link-accent{
    animation:none;
  }
}

/* ==========================================================================
   Навигационный акцент и единые надзаголовки
   ========================================================================== */
@keyframes womandjDjAccent{
  0%, 72%, 100%{ transform:none; }
  76%{ transform:translate3d(-.8px,-.4px,0) rotate(-.24deg); }
  80%{ transform:translate3d(.9px,.3px,0) rotate(.22deg); }
  84%{ transform:translate3d(-.45px,.2px,0) rotate(-.14deg); }
  88%{ transform:translate3d(.35px,-.2px,0) rotate(.12deg); }
  92%{ transform:none; }
}

.hero-menu__nav-accent,
.hero__link-accent{
  animation:womandjDjAccent 3.8s ease-in-out infinite;
}

.hero-menu__nav-accent::after,
.hero__link-accent::after{
  content:none !important;
  display:none !important;
}

.about-editorial__label,
.about-quote__label,
.facts__label,
.gallery-sec__label,
.sets__label,
.approach__label,
.djs-head .eyebrow,
.dj-profile__eyebrow,
.dj-join__label,
.contact-band__eyebrow{
  color:var(--pink-deep);
  font-family:var(--font-ui);
  font-size:clamp(10px,.76vw,12px);
  font-weight:800;
  line-height:1.15;
  letter-spacing:.24em;
  text-transform:uppercase;
  text-shadow:none;
}

.about-page .about-editorial__label,
.about-page .about-quote__label{
  color:var(--pink-deep);
}

/* ==========================================================================
   Мобильная сборка профиля диджея
   ========================================================================== */
@media (max-width:760px){
  .page-topline{
    flex-wrap:wrap;
    gap:10px 12px;
    margin-top:92px;
    margin-bottom:16px;
  }

  .page-topline .breadcrumbs{
    flex:1 1 100%;
    overflow-x:auto;
    padding-bottom:4px;
    white-space:nowrap;
    scrollbar-width:none;
  }

  .page-topline .breadcrumbs::-webkit-scrollbar{
    display:none;
  }

  .page-nav-link{
    min-height:36px;
    padding:0 15px 0 30px;
    font-size:10px;
    letter-spacing:.07em;
  }

  .page-nav-link::before{
    left:15px;
    width:6px;
    height:6px;
  }

  .dj-profile{
    padding-top:92px;
  }

  .dj-profile .breadcrumbs{
    margin-bottom:0;
  }

  .dj-profile__hero{
    display:grid;
    grid-template-columns:1fr !important;
    gap:22px;
    min-width:0;
  }

  .dj-profile__portrait,
  .dj-profile__intro{
    width:100%;
    max-width:none;
    min-width:0;
  }

  .dj-profile__portrait img{
    width:100%;
    max-height:72vh;
    aspect-ratio:auto;
    object-fit:contain;
    background:var(--paper);
  }

  .dj-profile__intro{
    text-align:left;
  }

  .dj-profile__intro h1{
    font-size:clamp(48px,18vw,76px);
    line-height:.86;
    letter-spacing:0;
    overflow-wrap:anywhere;
  }

  .dj-profile__location{
    display:inline-flex;
    align-items:center;
    justify-content:flex-start;
    gap:6px;
    margin-top:8px;
    color:rgba(26,15,14,.74);
    font-size:14px;
    font-weight:350;
    line-height:1;
  }

  .dj-profile__location svg{
    width:14px;
    height:14px;
    stroke-width:1.65;
  }

  .dj-profile__lead{
    margin-top:18px;
    font-size:16px;
    line-height:1.55;
  }

  .dj-profile__statement{
    margin-top:18px;
    padding-left:18px;
    font-size:15.5px;
    line-height:1.55;
  }

  .dj-profile__tag-groups{
    max-width:none;
    margin:20px 0 0;
    gap:12px;
  }

  .dj-profile__tag-group > div,
  .dj-profile__actions{
    justify-content:flex-start;
  }

  .dj-profile__facts{
    grid-template-columns:repeat(3,minmax(0,1fr));
    max-width:none;
    margin:20px 0 0;
    gap:10px;
  }

  .dj-profile__facts dt{
    font-size:9px;
    letter-spacing:.14em;
  }

  .dj-profile__facts dd{
    font-size:13px;
    line-height:1.34;
  }

  .dj-profile__content{
    display:grid;
    grid-template-columns:1fr !important;
    gap:26px;
    margin-top:38px;
    min-width:0;
  }

  .dj-profile__bio{
    max-width:none;
    min-width:0;
  }

  .dj-profile__bio p:not(.dj-profile__eyebrow){
    font-size:16px;
    line-height:1.58;
  }

  .dj-profile__booking-card{
    position:relative;
    top:auto;
    z-index:auto;
    max-height:none;
    overflow:visible;
    transform:none!important;
  }

  .dj-profile__showreel{
    margin-top:36px;
  }

  .dj-profile__media-grid{
    max-width:none;
  }
}

@media (max-width:420px){
  .dj-profile__facts{
    grid-template-columns:1fr;
  }

  .dj-profile__actions .btn-cta,
  .dj-profile__booking-card .btn-cta,
  .dj-profile__booking-card .dj-profile__all-link{
    width:100%;
  }
}

.dj-profile__media-grid{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr));
  grid-auto-rows:auto;
  grid-auto-flow:row;
  gap:clamp(18px,1.6vw,24px);
  row-gap:clamp(18px,1.6vw,24px)!important;
  column-gap:clamp(18px,1.6vw,24px)!important;
  align-items:stretch;
  max-width:1240px;
  margin-inline:auto;
  column-count:initial!important;
}

.dj-profile__asset{
  display:block;
  width:100%;
  margin:0!important;
  grid-row-end:auto;
  break-inside:auto;
  -webkit-column-break-inside:auto;
  aspect-ratio:4/5;
  background:rgba(255,255,255,.46);
}

.dj-profile__asset--h{ aspect-ratio:16/10; }
.dj-profile__asset--v{ aspect-ratio:4/5; }
.dj-profile__asset--video{ aspect-ratio:4/5; }

.dj-profile__asset img,
.dj-profile__asset video{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
}

@media (max-width:900px){
  .dj-profile__media-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    max-width:none;
  }
}

@media (max-width:560px){
  .dj-profile__media-grid{
    grid-template-columns:1fr;
    display:grid!important;
  }

  .dj-profile__asset{
    grid-row-end:auto;
  }
}
