:root {
  --bg:#0B0912;
  --panel:#15101F;
  --panel2:#20172D;
  --text:#F5F2FA;
  --muted:#BDB5CC;
  --line:#3B304B;
  --accent:#B65CFF;
  --blue:#67BEFF;
  --pink:#FF79C9;
  --display:"Unbounded",system-ui,sans-serif;
  --body:"Manrope",system-ui,sans-serif;
  --wrap:1280px
}

*,*::before,*::after {
  box-sizing:border-box
}
[hidden] {
  display:none!important
}

html {
  scroll-behavior:smooth;
  scroll-padding-top:82px
}

body {
  margin:0;
  background:var(--bg);
  color:var(--text);
  font:400 17px/1.55 var(--body);
  -webkit-font-smoothing:antialiased
}

img,video {
  display:block;
  max-width:100%
}
a {
  color:inherit
}
h1,h2,p,figure {
  margin:0
}
h1,h2 {
  font-family:var(--display);
  line-height:1.07;
  letter-spacing:-.055em
}
em {
  font-style:normal;
  color:var(--pink)
}
.wrap {
  max-width:var(--wrap);
  padding:0 32px;
  margin:auto
}
.sr {
  position:absolute;
  width:1px;
  height:1px;
  overflow:hidden;
  clip:rect(0 0 0 0);
  white-space:nowrap
}
.skip {
  position:absolute;
  z-index:100;
  left:16px;
  top:-60px;
  padding:10px 16px;
  background:var(--blue);
  color:var(--bg);
  font-weight:700
}
.skip:focus {
  top:16px
}
:focus-visible {
  outline:2px solid var(--blue);
  outline-offset:4px
}

.topbar {
  position:sticky;
  top:0;
  z-index:40;
  background:rgba(11,9,18,.93);
  border-bottom:1px solid var(--line);
  backdrop-filter:blur(14px)
}
.topbar__in {
  min-height:76px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:32px
}
.brand {
  display:block;
  text-decoration:none;
  flex:none
}
.brand img,.footer__brand img {
  display:block;
  width:88px;
  height:auto
}
.menu {
  display:flex;
  align-items:center;
  gap:36px;
  font-size:14px;
  font-weight:700
}
.menu>a {
  text-decoration:none
}
.menu>a:hover {
  color:var(--blue)
}
.menu .nav-cta {
  border:1px solid var(--accent);
  padding:11px 17px
}
.nav-cta span {
  color:var(--blue);
  margin-left:16px
}
.menu-btn {
  display:none;
  align-items:center;
  justify-content:center;
  width:46px;
  height:46px;
  color:var(--text);
  background:none;
  border:1px solid var(--line);
  cursor:pointer
}

.button {
  display:inline-flex;
  align-items:center;
  justify-content:space-between;
  gap:30px;
  min-height:58px;
  padding:16px 23px;
  background:var(--blue);
  color:var(--bg);
  font:800 14px/1.2 var(--body);
  text-decoration:none;
  border:0;
  cursor:pointer;
  transition:background .2s,transform .2s
}
.button:hover {
  background:#9BD6FF;
  transform:translateY(-2px)
}
.button>span:last-child {
  font-size:21px;
  line-height:1
}
.button:disabled {
  opacity:.55;
  cursor:not-allowed;
  transform:none
}
.text-link {
  display:inline-flex;
  gap:24px;
  align-items:center;
  width:max-content;
  max-width:100%;
  border-bottom:1px solid var(--accent);
  padding:9px 0;
  text-decoration:none;
  font-size:14px;
  font-weight:700
}
.text-link:hover {
  color:var(--blue)
}
.section-index {
  font-size:12px;
  font-weight:800;
  letter-spacing:.18em;
  color:var(--blue)
}

.hero {
  position:relative;
  display:grid;
  grid-template-columns:minmax(0,46%) minmax(0,54%);
  height:min(760px,calc(100svh - 76px));
  min-height:650px;
  border-bottom:1px solid var(--line)
}
.hero__image {
  position:relative;
  overflow:hidden;
  min-height:650px;
  background:#25143e
}
.hero__image img {
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:50% 52%;
  filter:saturate(1.07)
}
.hero__image::after {
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,transparent 60%,rgba(11,9,18,.55)),linear-gradient(0deg,rgba(11,9,18,.7),transparent 23%)
}
.hero__image-label {
  position:absolute;
  left:30px;
  bottom:27px;
  z-index:1;
  font-size:11px;
  font-weight:800;
  letter-spacing:.2em
}
.hero__content {
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:center;
  padding:90px clamp(34px,6vw,110px) 70px;
  background:radial-gradient(circle at 100% 0%,#26123b 0,transparent 42%),var(--bg)
}
.eyebrow {
  display:flex;
  gap:12px;
  align-items:center;
  color:var(--blue);
  font-size:12px;
  font-weight:800;
  letter-spacing:.16em
}
.eyebrow__line {
  width:26px;
  height:1px;
  background:currentColor
}
.hero h1 {
  font-size:clamp(52px,5.7vw,90px);
  margin-top:32px
}
.hero__lead {
  max-width:33rem;
  color:var(--muted);
  font-size:clamp(17px,1.5vw,21px);
  line-height:1.55;
  margin-top:30px
}
.hero__genres {
  margin-top:22px;
  color:var(--blue);
  font:800 12px/1.3 var(--display);
  letter-spacing:.08em
}
.hero__genres span {
  color:var(--pink);
  margin:0 9px
}
.hero__actions {
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:20px 30px;
  margin-top:36px
}
.hero__footnote {
  color:#9E91AF;
  margin-top:auto;
  padding-top:55px;
  font-size:12px;
  font-weight:700;
  letter-spacing:.1em;
  text-transform:uppercase
}
.hero__footnote span[aria-hidden] {
  color:var(--accent);
  margin:0 9px
}


.manifesto {
  border-bottom:1px solid var(--line);
  padding:110px 0 120px;
  background:var(--panel)
}
.manifesto__inner {
  display:grid;
  grid-template-columns:1fr 3fr;
  gap:30px
}
.manifesto h2 {
  font-size:clamp(45px,7.7vw,115px);
  text-transform:uppercase;
  letter-spacing:-.075em
}
.manifesto h2 span {
  color:var(--pink)
}
.manifesto__inner>div>p {
  margin-top:25px;
  font-size:clamp(18px,2vw,25px);
  color:var(--muted)
}

.night {
  padding:110px 0 130px
}
.night__layout {
  display:grid;
  grid-template-columns:minmax(0,.9fr) minmax(0,1fr) minmax(0,.32fr);
  align-items:center;
  gap:clamp(30px,4vw,64px)
}
.night h2,.formats h2,.moments h2,.booking h2 {
  font-size:clamp(42px,4.4vw,67px);
  margin:32px 0
}
.night__intro>p:last-child {
  max-width:31rem;
  color:var(--muted);
  font-size:18px
}
.night__film {
  position:relative;
  overflow:hidden;
  background:var(--panel);
  border:1px solid var(--line)
}
.night__film video {
  width:100%;
  max-height:640px;
  aspect-ratio:9/12;
  object-fit:cover
}
.night__film figcaption {
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  display:flex;
  justify-content:space-between;
  gap:12px;
  padding:18px 22px;
  background:linear-gradient(0deg,rgba(0,0,0,.8),transparent);
  font:800 11px var(--display);
  letter-spacing:.12em
}
.night__film figcaption span {
  color:var(--blue)
}
.night__side {
  align-self:stretch;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  padding:5px 0
}
.night__rule {
  height:1px;
  background:var(--blue);
  width:100%
}
.night__side>p {
  font-size:15px;
  color:var(--muted)
}
.night__side-word {
  font:800 clamp(28px,3vw,42px)/1 var(--display);
  color:var(--accent);
  letter-spacing:-.06em
}
.night__side-word span {
  display:block;
  color:var(--text);
  font:700 11px var(--body);
  letter-spacing:.16em;
  text-transform:uppercase;
  margin-top:12px
}

.formats {
  padding:110px 0 100px;
  background:var(--panel);
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line)
}
.formats__heading {
  display:grid;
  grid-template-columns:minmax(0,.65fr) minmax(0,1.3fr) minmax(0,1fr);
  align-items:start;
  gap:40px;
  margin-bottom:80px
}
.formats h2 {
  margin:0
}
.formats__heading>p:last-child {
  color:var(--muted);
  padding-top:7px
}
.format-list {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line)
}
.format-list>div {
  display:flex;
  min-height:154px;
  flex-direction:column;
  justify-content:space-between;
  padding:22px;
  border-right:1px solid var(--line)
}
.format-list>div:last-child {
  border:0
}
.format-list>div>span:first-child {
  font:700 12px var(--display);
  color:var(--blue)
}
.format-list strong {
  font:700 clamp(19px,2vw,28px)/1.15 var(--display);
  letter-spacing:-.04em
}
.format-list>div>span:last-child {
  color:var(--accent);
  align-self:flex-end;
  font-size:22px;
  line-height:1
}
.formats__note {
  max-width:700px;
  margin-top:36px;
  padding-left:20px;
  border-left:2px solid var(--blue);
  color:var(--muted);
  font-size:17px;
  letter-spacing:0
}

.portrait {
  display:grid;
  grid-template-columns:minmax(0,44%) minmax(0,56%);
  height:700px
}
.portrait__image {
  overflow:hidden;
  background:#29123e
}
.portrait__image img {
  height:100%;
  width:100%;
  object-fit:cover;
  object-position:50% 15%
}
.portrait__content {
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:center;
  padding:90px clamp(32px,8vw,130px);
  background:var(--bg)
}
.portrait h2 {
  font-size:clamp(80px,10vw,170px);
  margin:34px 0 10px
}
.portrait h2 span {
  color:var(--blue)
}
.portrait__quote {
  font:700 clamp(19px,2vw,29px)/1.3 var(--display);
  letter-spacing:-.04em;
  max-width:25rem
}
.placeholder {
  max-width:31rem;
  color:var(--muted);
  border-left:2px solid var(--accent);
  padding-left:18px;
  margin:30px 0
}
.portrait .text-link {
  margin-top:10px
}

.moments {
  padding:110px 0 120px;
  background:var(--panel);
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line)
}
.moments__heading {
  display:grid;
  grid-template-columns:.7fr 1.3fr 1fr;
  gap:30px;
  align-items:start
}
.moments h2 {
  margin:0
}
.moments__heading>p:last-child {
  color:var(--muted);
  padding-top:7px
}
.moments__grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
  margin:64px 0 0
}
.moments__grid img {
  width:100%;
  height:clamp(360px,35vw,510px);
  object-fit:cover;
  object-position:50% 50%;
  filter:saturate(.85)
}
.moments__grid figcaption {
  margin-top:13px;
  color:var(--blue);
  font-size:11px;
  font-weight:800;
  letter-spacing:.16em
}

.bars {
  padding:110px 0 120px;
  border-bottom:1px solid var(--line)
}
.bars__heading {
  display:grid;
  grid-template-columns:.7fr 1.3fr 1fr;
  gap:30px;
  align-items:start
}
.bars h2 {
  font-size:clamp(42px,4.4vw,67px)
}
.bars__heading>p:last-child {
  color:var(--muted);
  padding-top:7px
}
.bars__grid {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px;
  margin-top:64px
}
.bars__grid img {
  width:100%;
  height:clamp(400px,48vw,650px);
  object-fit:cover;
  object-position:50% 35%
}
.bars__grid figcaption {
  margin-top:13px;
  color:var(--blue);
  font-size:11px;
  font-weight:800;
  letter-spacing:.16em
}

.booking {
  padding:115px 0 130px
}
.booking__layout {
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:clamp(50px,9vw,145px)
}
.booking h2 {
  margin:32px 0
}
.booking__intro>p:not(.section-index) {
  max-width:31rem;
  color:var(--muted);
  font-size:18px
}
.booking__contacts {
  align-self:center;
  border-top:1px solid var(--line)
}
.booking__contacts a {
  display:flex;
  justify-content:space-between;
  gap:12px;
  padding:20px 0;
  border-bottom:1px solid var(--line);
  text-decoration:none;
  font-weight:700
}
.booking__contacts a:hover {
  color:var(--blue)
}
.booking__contacts span {
  color:var(--muted);
  font-weight:500
}
.footer {
  border-top:1px solid var(--line);
  padding:32px 0
}
.footer__inner {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:22px;
  flex-wrap:wrap;
  font-size:11px;
  font-weight:700;
  letter-spacing:.11em;
  color:var(--muted)
}
.footer__brand {
  display:block;
  flex:none;
  text-decoration:none
}
.footer__credits {
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  gap:4px;
  text-align:right;
  margin-left:auto
}
.footer__credits a {
  color:var(--text);
  text-underline-offset:3px
}
.footer__credits a:hover {
  color:var(--blue)
}

@media(max-width:1050px) {
  .hero {
  grid-template-columns:45% 55%
}
.hero__content {
  padding:65px 38px
}
.hero h1 {
  font-size:clamp(43px,5vw,65px)
}
.night__layout {
  grid-template-columns:.9fr 1fr
}
.night__side {
  grid-column:1/-1;
  display:none
}
.formats__heading,.moments__heading,.bars__heading {
  grid-template-columns:1fr 1.4fr
}
.formats__heading>p:last-child,.moments__heading>p:last-child,.bars__heading>p:last-child {
  grid-column:2
}
.portrait__content {
  padding:70px 45px
}

}

@media(max-width:760px) {
  html {
  scroll-padding-top:70px
}
.wrap {
  padding:0 20px
}
.topbar__in {
  min-height:68px
}
.brand {
  width:76px
}
.brand img {
  width:76px
}
.menu-btn {
  display:flex
}
.menu {
  display:none;
  position:absolute;
  top:68px;
  left:0;
  right:0;
  flex-direction:column;
  align-items:stretch;
  gap:0;
  padding:10px 20px 25px;
  background:var(--bg);
  border-bottom:1px solid var(--line)
}
.menu.is-open {
  display:flex
}
.menu>a {
  padding:14px 0;
  border-bottom:1px solid var(--line)
}
.menu .nav-cta {
  margin-top:17px;
  padding:14px
}
.hero {
  height:auto;
  min-height:0;
  grid-template-columns:1fr
}
.hero__image {
  grid-row:2;
  min-height:0;
  height:470px
}
.hero__image img {
  object-position:50% 39%
}
.hero__content {
  grid-row:1;
  padding:55px 20px 60px
}
.hero h1 {
  font-size:clamp(50px,10vw,72px);
  margin-top:24px
}
.hero__lead {
  margin-top:24px
}
.hero__footnote {
  padding-top:42px
}
.hero__index {
  display:none
}
.manifesto,.night,.formats,.moments,.bars,.booking {
  padding:75px 0
}
.manifesto__inner {
  grid-template-columns:1fr;
  gap:30px
}
.manifesto h2 {
  font-size:clamp(41px,9vw,70px)
}
.night__layout {
  grid-template-columns:1fr
}
.night h2,.formats h2,.moments h2,.bars h2,.booking h2 {
  font-size:clamp(42px,8vw,58px)
}
.night__film {
  max-width:430px
}
.night__film video {
  max-height:550px
}
.formats__heading,.moments__heading,.bars__heading {
  grid-template-columns:1fr;
  gap:22px;
  margin-bottom:45px
}
.formats__heading>p:last-child,.moments__heading>p:last-child,.bars__heading>p:last-child {
  grid-column:auto
}
.format-list {
  grid-template-columns:1fr 1fr
}
.format-list>div:nth-child(2) {
  border-right:0
}
.format-list>div:nth-child(-n+2) {
  border-bottom:1px solid var(--line)
}
.portrait {
  height:auto;
  grid-template-columns:1fr
}
.portrait__image {
  height:520px
}
.portrait__content {
  padding:65px 20px 75px
}
.portrait h2 {
  font-size:100px;
  margin:25px 0 10px
}
.moments__grid {
  grid-template-columns:1fr;
  max-width:480px;
  margin:45px auto 0
}
.moments__grid img {
  height:460px
}
.bars__grid {
  margin-top:0
}
.bars__grid img {
  height:500px
}
.booking__layout {
  grid-template-columns:1fr;
  gap:55px
}

}

@media(max-width:480px) {
  body {
  font-size:16px
}
.hero__content {
  padding-top:45px
}
.hero h1 {
  font-size:clamp(45px,12vw,58px)
}
.hero__lead {
  font-size:17px
}
.hero__actions {
  align-items:stretch;
  flex-direction:column;
  gap:15px
}
.hero__actions .button {
  width:100%
}
.hero__image {
  height:410px
}
.manifesto h2 {
  font-size:clamp(35px,9.3vw,50px)
}
.manifesto__inner>div>p {
  font-size:17px
}
.night h2,.formats h2,.moments h2,.bars h2,.booking h2 {
  font-size:clamp(38px,10vw,49px)
}
.bars__grid {
  grid-template-columns:1fr;
  max-width:480px;
  margin:0 auto
}
.bars__grid img {
  height:460px
}
.format-list strong {
  font-size:19px
}
.format-list>div {
  min-height:130px;
  padding:16px
}
.portrait__image {
  height:420px
}
.portrait h2 {
  font-size:85px
}
.booking__contacts a {
  flex-wrap:wrap
}
.booking__contacts span {
  font-size:13px
}
.footer__inner {
  align-items:flex-start;
  flex-direction:column
}
.footer__credits {
  align-items:flex-start;
  text-align:left;
  margin-left:0
}

}

@media(prefers-reduced-motion:reduce) {
  html {
  scroll-behavior:auto
}
.button {
  transition:none
}

}

