/* ==========================================================================
   КОРОЧЕ — танцевальная компания
   Design tokens
   ========================================================================== */

@font-face{
  font-family:'Archivo Black';
  src:local('Archivo Black');
}

:root{
  --ink:#0A0A0A;
  --paper:#FAFAF7;
  --blue:#1E2EFF;
  --yellow:#F4E409;
  --grey:#8C8C86;
  --grey-line:rgba(10,10,10,.12);
  --maxw:1360px;
}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  background:var(--paper);
  color:var(--ink);
  font-family:'Inter',system-ui,-apple-system,sans-serif;
  font-weight:400;
  line-height:1.5;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
::selection{background:var(--blue);color:var(--paper)}

h1,h2,h3,h4{
  font-family:'Archivo Black','Arial Black',sans-serif;
  font-weight:900;
  text-transform:uppercase;
  line-height:.92;
  letter-spacing:-.01em;
  margin:0;
}

.wrap{max-width:var(--maxw);margin:0 auto;padding:0 28px}

a{color:inherit}

/* ---------- eyebrow / mono labels ---------- */
.mono{
  font-family:'JetBrains Mono','SF Mono',ui-monospace,monospace;
}
.eyebrow{
  font-family:'JetBrains Mono',ui-monospace,monospace;
  font-size:12px;
  font-weight:500;
  letter-spacing:.05em;
  text-transform:uppercase;
  color:var(--blue);
  display:inline-flex;
  align-items:center;
  gap:6px;
}
.eyebrow::before{content:"{";color:var(--ink)}
.eyebrow::after{content:"}";color:var(--ink)}

/* ---------- bracket motif ---------- */
.bracket{color:var(--blue)}

/* ==========================================================================
   NAV
   ========================================================================== */
body > nav{
  position:fixed;top:0;left:0;right:0;z-index:100;
  background:rgba(250,250,247,.92);
  backdrop-filter:blur(6px);
  border-bottom:1px solid var(--grey-line);
}
.nav-in{
  max-width:var(--maxw);margin:0 auto;padding:18px 28px;
  display:flex;justify-content:space-between;align-items:center;
}
.logo{
  font-family:'Archivo Black','Arial Black',sans-serif;
  font-weight:900;
  font-size:22px;
  letter-spacing:-.02em;
  text-decoration:none;
  color:var(--ink);
  display:flex;
  align-items:center;
}
.logo .bk{color:var(--blue)}
.nav-links{display:flex;gap:30px;align-items:center}
.nav-links a{
  font-family:'JetBrains Mono',ui-monospace,monospace;
  font-size:12px;
  letter-spacing:.03em;
  text-transform:uppercase;
  text-decoration:none;
  color:var(--ink);
  position:relative;
  padding-bottom:3px;
}
.nav-links a::after{
  content:"";position:absolute;left:0;right:0;bottom:0;height:2px;
  background:var(--blue);transform:scaleX(0);transform-origin:left;
  transition:transform .25s ease;
}
.nav-links a:hover::after,.nav-links a.active::after{transform:scaleX(1)}
.burger{display:none;background:none;border:none;cursor:pointer;padding:8px;flex-direction:column;gap:5px;z-index:200}
.burger span{width:24px;height:2px;background:var(--ink);display:block;transition:.3s}
.burger.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.burger.open span:nth-child(2){opacity:0}
.burger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
@media(max-width:840px){
  .nav-links{display:none}
  .burger{display:flex}
}

/* mobile menu */
.m-menu{
  position:fixed;top:0;left:0;right:0;bottom:0;
  background-color:#0A0A0A;
  z-index:150;
  display:flex;flex-direction:column;justify-content:center;padding:40px 32px;
  opacity:0;pointer-events:none;transition:opacity .35s ease;
  overflow-y:auto;
}
.m-menu.open{opacity:1;pointer-events:auto}
.m-menu a{
  font-family:'Archivo Black',sans-serif;
  font-size:clamp(28px,9vw,44px);
  text-transform:uppercase;
  color:var(--paper);
  text-decoration:none;
  display:block;
  padding:10px 0;
  border-bottom:1px solid rgba(250,250,247,.12);
}
.m-menu a:hover{color:var(--yellow)}
.m-menu-foot{margin-top:30px;color:var(--grey);font-family:'JetBrains Mono',monospace;font-size:12px}

/* ==========================================================================
   HERO
   ========================================================================== */
.hero{
  min-height:100svh;
  display:flex;
  flex-direction:column;
  justify-content:center;
  position:relative;
  padding:140px 0 60px;
  overflow:hidden;
}
.hero-mark{
  position:absolute;
  right:-60px;top:50%;transform:translateY(-50%);
  font-family:'Archivo Black',sans-serif;
  font-size:min(60vw,780px);
  color:transparent;
  -webkit-text-stroke:1.5px rgba(10,10,10,.06);
  line-height:1;
  z-index:0;
  user-select:none;
  pointer-events:none;
}
.hero-content{position:relative;z-index:2}
.hero-eyebrow{margin-bottom:22px;opacity:0;animation:fadeUp .7s ease .1s forwards}
.hero h1{
  font-size:clamp(58px,13vw,168px);
  margin-bottom:4px;
  opacity:0;animation:fadeUp .8s ease .2s forwards;
}
.hero h1 .bk{color:var(--blue)}
.hero-tag{
  font-size:clamp(15px,2.2vw,20px);
  color:var(--grey);
  max-width:640px;
  margin:18px 0 34px;
  font-weight:400;
  opacity:0;animation:fadeUp .8s ease .34s forwards;
}
.hero-tag strong{color:var(--ink);font-weight:600}
.hero-btns{display:flex;gap:14px;flex-wrap:wrap;opacity:0;animation:fadeUp .8s ease .46s forwards}
@keyframes fadeUp{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}

.btn{
  font-family:'JetBrains Mono',ui-monospace,monospace;
  font-size:13px;
  letter-spacing:.03em;
  text-transform:uppercase;
  text-decoration:none;
  padding:16px 28px;
  display:inline-block;
  transition:transform .25s ease,background .25s ease,color .25s ease;
  border:2px solid var(--ink);
}
.btn-solid{background:var(--ink);color:var(--paper)}
.btn-solid:hover{background:var(--blue);border-color:var(--blue);transform:translate(-2px,-2px)}
.btn-line{background:transparent;color:var(--ink)}
.btn-line:hover{background:var(--ink);color:var(--paper);transform:translate(-2px,-2px)}

/* marquee strip */
.marquee{
  border-top:2px solid var(--ink);border-bottom:2px solid var(--ink);
  background:var(--yellow);
  overflow:hidden;white-space:nowrap;padding:14px 0;
}
.marquee-track{display:inline-flex;animation:scroll 26s linear infinite}
.marquee span{
  font-family:'Archivo Black',sans-serif;
  font-size:20px;text-transform:uppercase;
  padding:0 26px;letter-spacing:.02em;
}
.marquee span::after{content:"{ }";margin-left:26px;color:var(--blue)}
@keyframes scroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media(prefers-reduced-motion:reduce){.marquee-track{animation:none}}

/* ==========================================================================
   SECTIONS
   ========================================================================== */
section{padding:110px 0}
.sec-head{
  display:flex;align-items:flex-end;justify-content:space-between;gap:20px;
  margin-bottom:56px;flex-wrap:wrap;
}
.sec-head h2{font-size:clamp(30px,5vw,54px)}
.sec-num{font-family:'JetBrains Mono',monospace;font-size:13px;color:var(--grey)}

.section-alt{background:var(--ink);color:var(--paper)}
.section-alt .grey{color:#B4B4AE}
.section-alt .eyebrow::before,.section-alt .eyebrow::after{color:var(--paper)}

/* ---------- ABOUT ---------- */
.about-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:70px;align-items:start}
.about-text p{font-size:19px;line-height:1.65;margin-bottom:20px;max-width:60ch}
.about-text strong{font-weight:700}
.about-text a{color:var(--blue);text-decoration:underline;text-underline-offset:3px}
.stat-block{border-top:2px solid var(--ink)}
.stat-row{
  display:flex;justify-content:space-between;gap:16px;
  padding:16px 0;border-bottom:1px solid var(--grey-line);
}
.stat-row .lbl{font-family:'JetBrains Mono',monospace;font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--grey);padding-top:3px}
.stat-row .val{font-size:15px;font-weight:600;text-align:right;max-width:60%}
@media(max-width:900px){.about-grid{grid-template-columns:1fr}}

/* ---------- TIMELINE / REPERTOIRE LIST ---------- */
.repline{border-top:1px solid var(--grey-line)}
.rep-item{
  display:grid;grid-template-columns:90px 1fr auto;gap:24px;align-items:center;
  padding:26px 0;border-bottom:1px solid var(--grey-line);
  text-decoration:none;color:inherit;transition:background .25s ease,padding-left .25s ease;
}
.rep-item:hover{background:rgba(30,46,255,.04);padding-left:12px}
.rep-year{font-family:'JetBrains Mono',monospace;font-size:14px;color:var(--grey)}
.rep-mid h3{font-family:'Archivo Black',sans-serif;text-transform:uppercase;font-size:clamp(18px,2.6vw,26px);font-weight:900;margin-bottom:6px;letter-spacing:0}
.rep-mid p{color:var(--grey);font-size:14px;max-width:60ch}
.rep-arrow{font-size:22px;color:var(--blue);opacity:0;transform:translateX(-6px);transition:.25s ease}
.rep-item:hover .rep-arrow{opacity:1;transform:translateX(0)}
@media(max-width:640px){
  .rep-item{grid-template-columns:56px 1fr;gap:14px}
  .rep-arrow{display:none}
}

/* ---------- SHOW CARDS (Археология человеческого) ---------- */
.piece-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:2px;background:var(--ink)}
.piece-card{
  position:relative;aspect-ratio:3/4;overflow:hidden;text-decoration:none;color:var(--paper);
  display:flex;flex-direction:column;justify-content:flex-end;padding:22px;
}
.piece-card img{
  position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
  filter:grayscale(1) contrast(1.1);transition:transform .6s ease,filter .6s ease;
  z-index:0;
}
.piece-card:hover img{transform:scale(1.06);filter:grayscale(0) contrast(1.05)}
.piece-card::before{
  content:"";position:absolute;inset:0;
  background:linear-gradient(to top,rgba(10,10,10,.88) 10%,rgba(10,10,10,.15) 60%,rgba(10,10,10,.4) 100%);
  z-index:1;
}
.piece-inner{position:relative;z-index:2}
.piece-num{font-family:'JetBrains Mono',monospace;font-size:12px;color:var(--yellow);margin-bottom:60px;display:block}
.piece-card h3{font-size:clamp(22px,3vw,30px);margin-bottom:8px}
.piece-card .piece-sub{font-size:12px;color:#D8D8D2;font-family:'JetBrains Mono',monospace;text-transform:uppercase}
@media(max-width:900px){.piece-grid{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.piece-grid{grid-template-columns:1fr}}

/* ---------- REVIEWS ---------- */
.reviews{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--grey-line)}
.review{background:var(--paper);padding:38px 34px}
.review-mark{font-family:'Archivo Black',sans-serif;font-size:46px;color:var(--yellow);-webkit-text-stroke:1.5px var(--ink);line-height:.6;display:block;margin-bottom:10px}
.review-text{font-size:16px;line-height:1.7;margin-bottom:22px}
.review-author{font-family:'JetBrains Mono',monospace;font-size:12px;text-transform:uppercase;letter-spacing:.03em}
.review-show{font-size:13px;color:var(--grey);margin-top:3px}
.review-show a{color:var(--blue);text-decoration:none}
@media(max-width:760px){.reviews{grid-template-columns:1fr}}

/* ---------- PEOPLE ---------- */
.people-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;background:var(--grey-line)}
.person-card{background:var(--paper);padding:30px 26px;text-decoration:none;color:inherit;transition:background .25s ease}
.person-card:hover{background:rgba(30,46,255,.05)}
.person-role{font-family:'JetBrains Mono',monospace;font-size:11px;text-transform:uppercase;color:var(--blue);margin-bottom:10px;display:block}
.person-card h3{font-size:20px;margin-bottom:8px}
.person-card p{color:var(--grey);font-size:13px}
@media(max-width:820px){.people-grid{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.people-grid{grid-template-columns:1fr}}

/* ---------- BIO HERO (Бычкова) ---------- */
.bio-hero{padding:150px 0 90px}
.bio-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:60px;align-items:start}
.bio-photo{aspect-ratio:3/4;overflow:hidden;background:var(--ink)}
.bio-photo img{width:100%;height:100%;object-fit:cover;filter:grayscale(1) contrast(1.05)}
.bio-info h1{font-size:clamp(38px,6vw,72px);margin-bottom:12px}
.bio-role{font-family:'JetBrains Mono',monospace;font-size:13px;color:var(--blue);text-transform:uppercase;margin-bottom:22px}
.bio-info p{font-size:17px;line-height:1.7;margin-bottom:18px;max-width:62ch}
.bio-info strong{font-weight:700}
.bio-tags{display:flex;flex-wrap:wrap;gap:8px;margin:24px 0 30px}
.bio-tag{font-family:'JetBrains Mono',monospace;font-size:11px;text-transform:uppercase;border:1px solid var(--ink);padding:6px 12px}
@media(max-width:860px){.bio-grid{grid-template-columns:1fr}.bio-photo{max-width:340px}}

/* ---------- PAGE HERO (piece detail pages) ---------- */
.piece-hero{
  min-height:78svh;position:relative;display:flex;align-items:flex-end;
  padding:140px 0 60px;overflow:hidden;background:var(--ink);color:var(--paper);
}
.piece-hero-bg{position:absolute;inset:0}
.piece-hero-bg img{width:100%;height:100%;object-fit:cover;filter:grayscale(1) contrast(1.1) brightness(.55)}
.piece-hero-overlay{position:absolute;inset:0;background:linear-gradient(to bottom,rgba(10,10,10,.15) 0%,rgba(10,10,10,.75) 70%,var(--ink) 100%)}
.piece-hero-bar{position:absolute;top:0;bottom:0;width:90px;z-index:1}
.piece-hero-content{position:relative;z-index:2}
.piece-hero .eyebrow::before,.piece-hero .eyebrow::after{color:var(--paper)}
.piece-hero h1{font-size:clamp(52px,11vw,140px);margin-bottom:10px}
.piece-hero .piece-hero-let{color:var(--blue)}
.piece-hero-sub{font-family:'JetBrains Mono',monospace;font-size:14px;color:var(--yellow);text-transform:uppercase;margin-bottom:6px}
.piece-hero-quote{font-size:16px;color:#CFCFC9;max-width:560px;font-style:italic}

.piece-body{padding:90px 0}
.piece-body-grid{display:grid;grid-template-columns:1fr 300px;gap:60px}
.piece-body p{font-size:18px;line-height:1.75;margin-bottom:20px;max-width:62ch}
.piece-meta{border-top:2px solid var(--ink)}
@media(max-width:900px){.piece-body-grid{grid-template-columns:1fr}}

/* ---------- CTA / subscribe ---------- */
.cta{
  background:var(--blue);color:var(--paper);
  padding:100px 0;text-align:center;
}
.cta h2{font-size:clamp(32px,6vw,64px);margin-bottom:20px}
.cta p{font-size:17px;color:#D6D9FF;margin-bottom:34px;max-width:560px;margin-left:auto;margin-right:auto}
.cta .btn-line{border-color:var(--paper);color:var(--paper)}
.cta .btn-line:hover{background:var(--paper);color:var(--blue)}

/* ==========================================================================
   FOOTER
   ========================================================================== */
footer{background:var(--ink);color:var(--paper);padding:70px 0 34px}
.foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:40px;margin-bottom:54px}
footer h4{
  font-family:'JetBrains Mono',monospace;font-size:11px;font-weight:500;text-transform:uppercase;
  letter-spacing:.04em;color:var(--yellow);margin-bottom:18px;
}
footer a{color:#D8D8D2;text-decoration:none;display:block;margin-bottom:10px;font-size:14px;transition:color .2s}
footer a:hover{color:var(--paper)}
.foot-logo{font-family:'Archivo Black',sans-serif;font-size:26px;margin-bottom:14px;display:block}
.foot-logo .bk{color:var(--blue)}
.foot-desc{color:#B4B4AE;font-size:14px;max-width:34ch;margin-bottom:20px}
.requisites{color:#6E6E68;font-size:12px;line-height:1.9;border-top:1px solid rgba(250,250,247,.1);padding-top:26px}
.requisites a{display:inline;color:#8C8C86;font-size:12px;margin-bottom:0}
.requisites a:hover{color:var(--paper)}
@media(max-width:820px){
  .foot-grid{grid-template-columns:1fr 1fr;gap:30px}
  .foot-grid>div:first-child{grid-column:1/3}
}
@media(max-width:460px){.foot-grid{grid-template-columns:1fr}.foot-grid>div:first-child{grid-column:1}}

/* ---------- reveal on scroll ---------- */
.reveal{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s ease}
.reveal.on{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none}.hero-eyebrow,.hero h1,.hero-tag,.hero-btns{animation:none;opacity:1}}

.skip-link{position:absolute;left:-999px;top:0;background:var(--ink);color:var(--paper);padding:12px 18px;z-index:1000}
.skip-link:focus{left:12px;top:12px}

a:focus-visible,button:focus-visible{outline:2px solid var(--blue);outline-offset:3px}

/* ==========================================================================
   DOCUMENT PAGES (oferta, privacy, cookies, documents index)
   ========================================================================== */
.doc-head{
  background:var(--ink);color:var(--paper);
  padding:160px 0 60px;
}
.doc-head .eyebrow::before,.doc-head .eyebrow::after{color:var(--paper)}
.doc-head h1{font-size:clamp(32px,6vw,64px);margin-top:16px;margin-bottom:14px}
.doc-meta{font-family:'JetBrains Mono',monospace;font-size:13px;color:#B4B4AE}

.doc-body{padding:70px 0 100px}
.doc-body .wrap{max-width:840px}
.doc-body p{font-size:16px;line-height:1.8;margin-bottom:18px;color:#1A1A1A}
.doc-body h2{
  font-size:clamp(20px,2.6vw,26px);
  margin:44px 0 18px;
  padding-top:4px;
  border-top:2px solid var(--ink);
  padding-top:20px;
}
.doc-body ul{margin:0 0 18px;padding-left:22px}
.doc-body li{font-size:16px;line-height:1.8;margin-bottom:8px;color:#1A1A1A}
.doc-body strong{font-weight:700}
.doc-body a{color:var(--blue);text-decoration:underline;text-underline-offset:3px}

.doc-req{
  background:var(--ink);color:var(--paper);
  padding:30px 28px;margin-top:40px;
  font-family:'JetBrains Mono',monospace;font-size:13px;line-height:2.1;
}
.doc-req strong{font-family:'Archivo Black',sans-serif;text-transform:uppercase;font-size:14px;display:block;margin-bottom:10px;letter-spacing:.02em}
.doc-req a{color:var(--yellow)}

.doc-seealso{
  margin-top:28px;font-size:14px;color:var(--grey);
  padding-top:20px;border-top:1px solid var(--grey-line);
}
.doc-seealso a{color:var(--blue);text-decoration:none;font-weight:600}
.doc-seealso a:hover{text-decoration:underline}

.doc-back{
  display:inline-block;margin-top:34px;
  font-family:'JetBrains Mono',monospace;font-size:13px;text-transform:uppercase;
  color:var(--ink);text-decoration:none;border-bottom:2px solid var(--blue);
  padding-bottom:2px;
}
.doc-back:hover{color:var(--blue)}

/* documents index list */
.doc-list{padding:70px 0 100px}
.doc-item{
  display:grid;grid-template-columns:1fr auto;gap:24px;align-items:center;
  padding:34px 0;border-bottom:1px solid var(--grey-line);
}
.doc-item:first-child{border-top:2px solid var(--ink)}
.doc-item h2{font-size:clamp(19px,2.4vw,24px);margin-bottom:8px;border:none;padding:0;margin-top:0}
.doc-item p{color:var(--grey);font-size:14px;max-width:56ch;margin-bottom:0}
.doc-item-link{
  font-family:'JetBrains Mono',monospace;font-size:12px;letter-spacing:.04em;text-transform:uppercase;
  color:var(--ink);border:2px solid var(--ink);padding:13px 22px;white-space:nowrap;
  text-decoration:none;transition:.25s ease;
}
.doc-item-link:hover{background:var(--ink);color:var(--paper)}
@media(max-width:600px){
  .doc-item{grid-template-columns:1fr;gap:16px}
  .doc-item-link{justify-self:start}
}

/* cookie banner */
#cookie-banner{
  position:fixed;left:16px;right:16px;bottom:16px;z-index:500;
  max-width:640px;margin:0 auto;
  background:var(--ink);color:var(--paper);
  padding:22px 24px;
  border:2px solid var(--blue);
  opacity:1;transition:opacity .4s ease,transform .4s ease;
}
#cookie-banner.hidden{opacity:0;transform:translateY(12px);pointer-events:none}
#cookie-banner p{font-size:13px;line-height:1.6;margin-bottom:16px;color:#D8D8D2}
#cookie-banner a{color:var(--yellow);text-decoration:underline}
.cookie-actions{display:flex;gap:10px;flex-wrap:wrap}
.cookie-btn{
  font-family:'JetBrains Mono',monospace;font-size:12px;letter-spacing:.03em;text-transform:uppercase;
  padding:11px 18px;border:2px solid var(--paper);cursor:pointer;background:transparent;color:var(--paper);
  transition:.2s ease;
}
.cookie-btn-accept{background:var(--blue);border-color:var(--blue)}
.cookie-btn-accept:hover{background:var(--paper);color:var(--blue)}
.cookie-btn-more:hover{background:var(--paper);color:var(--ink)}

/* back to top */
#back-to-top{
  position:fixed;right:20px;bottom:20px;z-index:400;
  width:46px;height:46px;
  background:var(--ink);color:var(--paper);border:2px solid var(--ink);
  font-size:18px;cursor:pointer;
  opacity:0;pointer-events:none;transform:translateY(10px);
  transition:opacity .3s ease,transform .3s ease,background .25s ease;
}
#back-to-top.visible{opacity:1;pointer-events:auto;transform:none}
#back-to-top:hover{background:var(--blue);border-color:var(--blue)}

/* ---------- show page (Послушайте / Сюжеты / Инструкция) ---------- */
.page-hero .age{
  border:2px solid var(--blue);color:var(--blue);
  padding:4px 10px;font-size:11px;letter-spacing:.1em;
  font-family:'JetBrains Mono',monospace;display:inline-block;margin-left:14px;vertical-align:middle;
}
.page-hero .dir{font-size:15px;color:var(--grey);margin-bottom:6px}
.page-hero .dir strong{color:var(--ink);font-weight:700}
.page-hero .dir a{color:var(--blue);text-decoration:underline;text-underline-offset:3px}
.page-hero .note{font-size:14px;color:var(--grey);max-width:60ch;margin-top:14px}

.no-shows{background:#F0F0EC;padding:44px;text-align:center;border:1px solid var(--grey-line)}
.no-shows p{color:var(--grey);margin-bottom:20px;font-size:16px}

.video-wrap{position:relative;padding-bottom:56.25%;height:0;overflow:hidden;background:#000;border:1px solid var(--grey-line)}
.video-wrap iframe{position:absolute;top:0;left:0;width:100%;height:100%;border:0}
.video-label{margin-top:14px;font-family:'JetBrains Mono',monospace;font-size:12px;letter-spacing:.04em;text-transform:uppercase;color:var(--grey)}

.other-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--grey-line)}
.other-card{background:var(--paper);padding:32px 26px;text-decoration:none;display:block;color:inherit;transition:background .25s ease}
.other-card:hover{background:rgba(30,46,255,.05)}
.other-card .tag{font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.05em;text-transform:uppercase;color:var(--blue)}
.other-card h3{font-family:'Archivo Black',sans-serif;font-size:19px;text-transform:uppercase;font-weight:900;margin:12px 0 8px}
.other-card p{color:var(--grey);font-size:13px}
@media(max-width:760px){.other-grid{grid-template-columns:1fr}}

/* ---------- BIO CAREER (Сачков и другие резиденты) ---------- */
.career-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--grey-line)}
.career-item{background:var(--paper);padding:28px 26px}
.career-item .period{font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.05em;text-transform:uppercase;color:var(--blue);margin-bottom:10px}
.career-item h3{font-family:'Archivo Black',sans-serif;font-size:17px;text-transform:uppercase;font-weight:900;margin-bottom:8px;letter-spacing:0}
.career-item p{color:var(--grey);font-size:13.5px}
.career-item.hl{box-shadow:inset 3px 0 0 var(--yellow)}
@media(max-width:760px){.career-grid{grid-template-columns:1fr}}

.tour-list{display:flex;flex-wrap:wrap;gap:8px}
.tour-tag{font-family:'JetBrains Mono',monospace;font-size:13px;color:var(--grey);border:1px solid var(--grey-line);padding:9px 14px}
.section-alt .tour-tag{border-color:rgba(250,250,247,.15);color:#D8D8D2}

.works-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--grey-line)}
.work-card{background:var(--paper);padding:32px 28px;text-decoration:none;display:block;color:inherit;transition:background .25s ease}
.work-card:hover{background:rgba(30,46,255,.05)}
.work-card .tag{font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.05em;text-transform:uppercase;color:var(--blue)}
.work-card h3{font-family:'Archivo Black',sans-serif;font-size:19px;text-transform:uppercase;font-weight:900;margin:12px 0 8px}
.work-card p{color:var(--grey);font-size:13px}
@media(max-width:760px){.works-grid{grid-template-columns:1fr}}

/* ---------- TICKETS / АФИША ---------- */
.filters{display:flex;gap:10px;margin-bottom:50px;flex-wrap:wrap}
.filter-btn{
  font-family:'JetBrains Mono',monospace;font-size:12px;letter-spacing:.04em;text-transform:uppercase;
  padding:12px 22px;border:2px solid var(--ink);color:var(--ink);background:none;cursor:pointer;transition:.25s ease;
}
.filter-btn:hover{border-color:var(--blue);color:var(--blue)}
.filter-btn.active{background:var(--ink);color:var(--paper);border-color:var(--ink)}

.event{display:grid;grid-template-columns:160px 1fr auto;gap:32px;align-items:center;padding:32px 0;border-bottom:1px solid var(--grey-line)}
.event:first-of-type{border-top:1px solid var(--grey-line)}
.ev-date{font-family:'Archivo Black',sans-serif;font-size:30px;color:var(--blue);line-height:1.1}
.ev-date small{display:block;font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.05em;color:var(--grey);text-transform:uppercase;margin-top:6px}
.ev-info h3{font-family:'Archivo Black',sans-serif;font-size:19px;text-transform:uppercase;font-weight:900;margin-bottom:8px}
.ev-info h3 a{color:inherit;text-decoration:none}
.ev-info h3 a:hover{color:var(--blue)}
.ev-info p{color:var(--grey);font-size:14px;margin-bottom:4px}
.ev-info .badge{display:inline-block;margin-top:10px;font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.04em;text-transform:uppercase;padding:5px 12px;border:1px solid var(--yellow);color:#8A7000}
.ev-info .fest{font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.03em;text-transform:uppercase;color:var(--grey);margin-top:8px}
.ev-actions{display:flex;flex-direction:column;gap:10px;align-items:flex-end}
@media(max-width:760px){.event{grid-template-columns:1fr;gap:14px}.ev-actions{align-items:flex-start;flex-direction:row;flex-wrap:wrap}}

.no-events{background:#F0F0EC;padding:60px 44px;text-align:center;border:1px solid var(--grey-line)}
.no-events p{color:var(--grey);margin-bottom:22px;font-size:17px;max-width:52ch;margin-left:auto;margin-right:auto}

.notify{background:var(--ink);padding:80px 0;text-align:center}
.notify .eyebrow{color:var(--yellow)}
.notify .eyebrow::before,.notify .eyebrow::after{color:var(--paper)}
.notify h2{color:var(--paper);font-size:clamp(26px,4.4vw,42px);margin:14px 0 16px}
.notify p{color:#B4B4AE;max-width:50ch;margin:0 auto 34px}
.sub-form{display:flex;max-width:460px;margin:0 auto;gap:0}
.sub-form input{flex:1;background:transparent;border:2px solid rgba(250,250,247,.35);border-right:none;padding:15px 18px;color:var(--paper);font-family:'Inter',sans-serif;font-size:14px}
.sub-form input::placeholder{color:rgba(250,250,247,.5)}
.sub-form button{
  background:var(--blue);border:2px solid var(--blue);cursor:pointer;
  font-family:'JetBrains Mono',monospace;font-size:12px;letter-spacing:.04em;text-transform:uppercase;color:var(--paper);padding:15px 24px;
}
.sub-form button:hover{background:var(--paper);color:var(--blue)}
.sub-ok{color:var(--yellow);margin-top:18px;display:none;font-size:14px}
@media(max-width:560px){.sub-form{flex-direction:column}.sub-form input{border-right:2px solid rgba(250,250,247,.35)}}




