:root{--bg:#F3F0EB;--ink:#0C0B0E;--neon:#FF2D55;--neon2:#FF6A88;--lilac:#E7E1FA;--mut:#6F6A73;--line:#DCD6CF;--card:#FFFFFF;
--fr:16px;--fline:#DCD6CF;--fbg:#FFFFFF;--fokus:#FF2D55;--disp:"Rubik Mono One",Impact,sans-serif;--sans:"Onest",system-ui,sans-serif}
html,body{overflow-x:clip}
body{background:var(--bg);color:var(--ink);font:400 16.5px/1.6 var(--sans)}
h1,h2,h3{font-family:var(--disp);font-weight:400;line-height:1.04;text-transform:uppercase;letter-spacing:-.01em}
.eb{display:inline-block;font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--neon);margin-bottom:16px}
.lead{font-size:18px;color:var(--mut);max-width:560px}
.btn{display:inline-flex;align-items:center;justify-content:center;padding:17px 28px;border-radius:14px;background:var(--neon);color:#fff;text-decoration:none;font-weight:700;transition:transform .2s,box-shadow .2s}
.btn:hover{transform:translate(-3px,-3px);box-shadow:5px 5px 0 var(--ink)}
.btn.ghost{background:transparent;color:var(--ink);box-shadow:inset 0 0 0 2px var(--ink)}
.btn.ghost:hover{box-shadow:inset 0 0 0 2px var(--ink),5px 5px 0 var(--neon)}
section{padding:100px 6vw;position:relative}
.sec-h{max-width:820px;margin-bottom:46px}
.sec-h h2{font-size:clamp(28px,4vw,52px)}
.sec-h .lead{margin-top:16px}

/* шапка */
.hd{position:sticky;top:0;z-index:40;display:flex;align-items:center;gap:28px;padding:14px 6vw;background:var(--bg);border-bottom:2px solid var(--ink)}
.logo{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--ink)}
.logo b{font:400 17px var(--disp);padding:7px 10px;border:2px solid var(--neon);color:var(--neon);border-radius:10px;box-shadow:0 0 14px rgba(255,45,85,.45)}
.logo span{font-weight:700;font-size:15px}
.hd nav{display:flex;gap:26px;margin-left:auto}
.hd nav a{text-decoration:none;color:var(--ink);font-weight:600;font-size:15px;position:relative}
.hd nav a::after{content:"";position:absolute;left:0;right:100%;bottom:-4px;height:2px;background:var(--neon);transition:right .25s}
.hd nav a:hover::after{right:0}
.hd-btn{padding:11px 18px;border-radius:12px;background:var(--ink);color:#fff;text-decoration:none;font-weight:700;font-size:14px}

/* первый экран */
.hero{display:grid;grid-template-columns:1.1fr .9fr;gap:4vw;align-items:center;padding-top:56px;padding-bottom:60px}
.hero h1{font-size:clamp(34px,4.9vw,72px);margin-bottom:24px}
.btns{display:flex;flex-wrap:wrap;gap:14px;margin-top:32px}
.h-art{position:relative;aspect-ratio:1/1.08;width:100%;max-width:520px;justify-self:end}
.ph{position:absolute;overflow:hidden;border-radius:22px;border:3px solid var(--ink);background:var(--line)}
.ph img{width:100%;height:100%;object-fit:cover}
.p1{inset:0 12% 14% 0;transform:rotate(-3deg);box-shadow:12px 12px 0 var(--neon)}
.p2{right:0;bottom:0;width:46%;aspect-ratio:3/4;transform:rotate(5deg);box-shadow:8px 8px 0 var(--ink)}
.neon{position:absolute;left:-6%;bottom:-2%;font:400 clamp(44px,6vw,86px)/1 var(--disp);color:transparent;-webkit-text-stroke:2px var(--neon);text-shadow:0 0 22px rgba(255,45,85,.55);animation:flick 5s infinite}
@keyframes flick{0%,18%,22%,60%,100%{opacity:1}20%,61%{opacity:.35}}
.facts{grid-column:1/-1;list-style:none;display:grid;grid-template-columns:repeat(3,1fr);margin-top:40px;border:2px solid var(--ink);border-radius:18px;overflow:hidden;background:var(--card)}
.facts li{padding:20px 24px;border-right:2px solid var(--ink)}
.facts li:last-child{border-right:0}
.facts b{display:block;font:400 22px var(--disp)}
.facts span{font-size:14px;color:var(--mut)}

/* направления */
.styles{background:var(--ink);color:#fff;border-radius:40px 40px 0 0}
.styles .lead{color:#B9B3BE}
.cloud{display:flex;flex-wrap:wrap;gap:14px}
.st{font:400 clamp(18px,2.6vw,34px)/1 var(--disp);text-transform:uppercase;padding:16px 24px;border:2px solid #3A3640;border-radius:999px;color:#E9E5EE;transition:color .25s,border-color .25s,box-shadow .25s,transform .25s;cursor:default}
.st:nth-child(3n+1){color:var(--neon2);border-color:rgba(255,45,85,.6)}
@media (hover:hover){.st:hover{color:#fff;border-color:var(--neon);box-shadow:0 0 24px rgba(255,45,85,.55),inset 0 0 18px rgba(255,45,85,.25);transform:rotate(-2deg)}}

/* цены-билеты */
.prices{background:var(--lilac)}
.chips{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:30px}
.chips button{padding:10px 18px;border-radius:12px;border:2px solid var(--ink);background:transparent;font:700 14px var(--sans);color:var(--ink);cursor:pointer;transition:background .2s,color .2s}
.chips button.on{background:var(--ink);color:#fff}
.tickets{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.tk{position:relative;display:flex;flex-direction:column;background:var(--card);border:2px solid var(--ink);border-radius:20px;transition:transform .25s,box-shadow .25s}
.tk:hover{transform:translate(-4px,-4px);box-shadow:8px 8px 0 var(--ink)}
.tk.hot{background:var(--neon);color:#fff}
.tk.hot p,.tk.hot .tk-tag{color:#FFE3E9}
.tk-pic{aspect-ratio:16/10;border-radius:18px 18px 0 0}
.tk-top{padding:18px 22px 14px;flex:1}
.tk-tag{font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--neon)}
.tk h3{font-size:17px;margin:8px 0 6px}
.tk p{font-size:14px;line-height:1.45;color:var(--mut)}
.tk-bot{display:flex;align-items:center;justify-content:space-between;padding:12px 22px;border-top:2px dashed currentColor;position:relative}
.tk-bot::before,.tk-bot::after{content:"";position:absolute;top:-12px;width:22px;height:22px;border-radius:50%;background:var(--lilac);border:2px solid var(--ink)}
.tk-bot::before{left:-13px;clip-path:inset(0 0 0 50%)}.tk-bot::after{right:-13px;clip-path:inset(0 50% 0 0)}
.pr{font:800 26px var(--sans);letter-spacing:-.01em}
.pr small{font:600 13px var(--sans);margin-right:4px}
.go{display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:var(--ink);color:#fff;text-decoration:none;font-size:20px;transition:transform .2s}
.tk.hot .go{background:#fff;color:var(--neon)}
.tk:hover .go{transform:rotate(-45deg)}
.note{margin-top:28px;max-width:780px;color:var(--mut)}

/* фото */
.gal{padding-right:0}
.g-rail{gap:20px;padding:14px 6vw 24px 0}
.g-it{flex:0 0 auto;border:2px solid var(--ink);padding:0;width:290px;height:380px;border-radius:20px;overflow:hidden;background:var(--line);transform:rotate(-1.5deg);transition:transform .3s,box-shadow .3s}
.g-it:nth-child(even){transform:rotate(1.5deg);margin-top:26px}
.g-it:hover{transform:rotate(0) translateY(-6px);box-shadow:8px 8px 0 var(--neon)}
.g-it img{width:100%;height:100%;object-fit:cover}
.rail-nav{background:var(--ink);color:#fff}

/* отзывы */
.revs{background:var(--ink);color:#fff;padding-right:0}
.r-rail{gap:18px;padding-right:6vw}
.r-rail figure{flex:0 0 auto;width:min(420px,84vw);padding:30px;border:2px solid #2E2A33;border-radius:22px;display:flex;flex-direction:column;justify-content:space-between;gap:20px;background:#141217}
.r-rail figure:nth-child(odd){border-color:rgba(255,45,85,.55)}
.r-rail blockquote{font-size:16.5px;line-height:1.55;color:#E7E3EA}
.r-rail figcaption{display:flex;justify-content:space-between;gap:10px;font-size:13px;color:#8F8996}
.r-rail figcaption b{color:var(--neon2)}
.revs .rail-nav{background:var(--neon)}

/* запись */
.b-card{display:grid;grid-template-columns:.9fr 1.1fr;gap:5vw;background:var(--card);border:2px solid var(--ink);border-radius:30px;padding:56px;box-shadow:12px 12px 0 var(--neon)}
.b-txt h2{font-size:clamp(26px,3.4vw,44px);margin-bottom:14px}
.b-txt ol{margin:24px 0 0 20px;color:var(--mut)}
.b-txt li{margin-bottom:10px}
.bform .fld span{font-size:13px;font-weight:700;color:var(--mut)}
.bsend{padding:18px;border-radius:14px;background:var(--ink);color:#fff;font-weight:700;font-size:16px}

/* контакты */
.contacts{display:grid;grid-template-columns:1fr 1.1fr;gap:5vw;align-items:stretch}
.ct h2{font-size:clamp(24px,2.8vw,38px);margin-bottom:24px}
.ct ul{list-style:none}
.ct li{display:grid;grid-template-columns:130px 1fr;padding:12px 0;border-bottom:2px solid var(--line)}
.ct li span{color:var(--mut);font-size:14px}
.soc{display:flex;gap:10px;flex-wrap:wrap;margin-top:24px}
.soc a{padding:10px 18px;border-radius:12px;border:2px solid var(--ink);text-decoration:none;font-weight:700;font-size:14px;color:var(--ink);transition:background .2s,color .2s}
.soc a:hover{background:var(--ink);color:#fff}
.map{border-radius:26px;overflow:hidden;min-height:400px;border:2px solid var(--ink)}
.map iframe{width:100%;height:100%;min-height:400px;border:0}
.ft{padding:32px 6vw 40px;font-size:13px;color:var(--mut);border-top:2px solid var(--ink)}
.mbar{background:var(--ink);padding:8px;border-radius:16px}
.mbar a{border-radius:12px}.mbar .m1{color:#fff}.mbar .m2{background:var(--neon);color:#fff}

@media (max-width:1100px){.tickets{grid-template-columns:1fr 1fr}}
@media (max-width:900px){
  section{padding:70px 20px}.gal,.revs{padding-right:0}.g-rail{padding-right:20px}.r-rail{padding-right:20px}
  .hd{padding:12px 20px}.hd nav{display:none}.hd-btn{margin-left:auto}
  .hero{grid-template-columns:1fr;padding-top:28px;gap:40px}
  .h-art{justify-self:center;max-width:400px}
  .b-card{grid-template-columns:1fr;padding:28px 20px;box-shadow:8px 8px 0 var(--neon)}
  .contacts{grid-template-columns:1fr}
  .styles{border-radius:28px 28px 0 0}
  .ft{padding-bottom:100px}
}
@media (max-width:640px){
  .tickets{grid-template-columns:1fr}
  .facts{grid-template-columns:1fr}.facts li{border-right:0;border-bottom:2px solid var(--ink)}.facts li:last-child{border-bottom:0}
  .g-it{width:230px;height:310px}
  .ct li{grid-template-columns:1fr;gap:2px}
  .st{padding:12px 18px}
  .hero h1{font-size:32px}
}
