:root{
  --nova-blue:#2799D0;
  --nova-black:#0B0C0E;
  --nova-paper:#F0F2F3;
  --nova-line:rgba(240,242,243,.2);
}

.nova-page{
  background:var(--nova-black);
  color:var(--nova-paper);
  overflow-x:hidden;
}
.nova-page::selection{background:var(--nova-blue);color:var(--nova-black)}
.nova-page .cur-dot{background:var(--nova-blue)}
.nova-page .cur-ring{border-color:rgba(39,153,208,.62)}
.nova-page .cur-ring.hot{background:var(--nova-blue)}

.nova-nav{
  background:rgba(11,12,14,.78);
  border:1px solid rgba(255,255,255,.16);
  border-radius:2px;
  box-shadow:none;
}
.nova-nav .wordmark,.nova-nav li a{color:var(--nova-paper)}
.nova-nav li a:hover{background:var(--nova-blue);color:var(--nova-black)}

.nova-hero{
  min-height:100svh;
  position:relative;
  display:grid;
  place-items:center;
  overflow:hidden;
  padding:clamp(7rem,13vw,11rem) var(--gutter) clamp(5rem,9vw,8rem);
  isolation:isolate;
  background:
    linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px),
    var(--nova-black);
  background-size:48px 48px;
}
.nova-hero::after{
  content:"";
  position:absolute;
  inset:auto 0 0;
  height:9px;
  background:var(--nova-blue);
}
.nova-hero-inner{position:relative;z-index:2;width:min(1260px,100%)}
.nova-kicker,.nova-index{
  font-size:.72rem;
  font-weight:600;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--nova-blue);
}
.nova-mark{
  width:min(620px,66vw);
  margin:clamp(2.4rem,6vw,5rem) 0 clamp(2rem,4vw,3.5rem);
  filter:drop-shadow(0 0 48px rgba(39,153,208,.16));
}
.nova-hero h1{
  max-width:10ch;
  font-family:var(--font-d);
  font-size:clamp(3.5rem,9.5vw,9rem);
  font-weight:700;
  letter-spacing:-.06em;
  line-height:.83;
  text-transform:uppercase;
}
.nova-dek{
  max-width:58ch;
  margin:clamp(2rem,4vw,3.2rem) 0 2.2rem auto;
  color:#BFC3C5;
  font-size:clamp(1rem,1.45vw,1.3rem);
  line-height:1.6;
}
.nova-jump{
  display:flex;
  width:max-content;
  margin-left:auto;
  gap:1rem;
  align-items:center;
  padding:.75rem 0;
  border-bottom:2px solid var(--nova-blue);
  color:var(--nova-paper);
  font-size:.8rem;
  font-weight:600;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.nova-jump span{color:var(--nova-blue);font-size:1.2rem}
.nova-orbit{
  position:absolute;
  z-index:1;
  aspect-ratio:1.5/1;
  background:var(--nova-blue);
  -webkit-mask:url("../img/nova/nova-spiral.png") center/contain no-repeat;
  mask:url("../img/nova/nova-spiral.png") center/contain no-repeat;
  opacity:.11;
  pointer-events:none;
}
.nova-orbit-a{width:82vw;right:-31vw;top:3%;transform:rotate(-13deg)}
.nova-orbit-b{width:46vw;left:-20vw;bottom:2%;transform:rotate(17deg)}

.nova-wrap{width:min(1480px,100%);margin:0 auto}
.nova-page section{padding:clamp(5.5rem,10vw,10rem) var(--gutter)}
.nova-index{padding-bottom:1.4rem;border-bottom:1px solid var(--nova-line);margin-bottom:clamp(2.5rem,5vw,5rem)}
.nova-title{
  font-family:var(--font-d);
  font-weight:700;
  letter-spacing:-.055em;
  line-height:.91;
  font-size:clamp(3rem,7.2vw,7rem);
  text-transform:uppercase;
}
.nova-copy{color:#BFC3C5;font-size:clamp(1rem,1.25vw,1.18rem);line-height:1.7}
.nova-copy p+p{margin-top:1.2em}
.nova-intro-grid,.nova-section-head{display:grid;grid-template-columns:1.25fr .75fr;gap:clamp(3rem,8vw,9rem);align-items:start}
.nova-section-head{margin-bottom:clamp(3rem,6vw,6rem)}

.nova-overview{background:#111316}
.nova-facts{display:grid;grid-template-columns:repeat(4,1fr);margin-top:clamp(4rem,8vw,8rem);border-top:1px solid var(--nova-line)}
.nova-facts div{padding:1.5rem 1.2rem 0 0;border-right:1px solid var(--nova-line);min-height:128px}
.nova-facts div+div{padding-left:1.4rem}
.nova-facts div:last-child{border-right:0}
.nova-facts dt{color:var(--nova-blue);font-size:.68rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;margin-bottom:.8rem}
.nova-facts dd{font-family:var(--font-d);font-size:clamp(1rem,1.35vw,1.22rem);font-weight:600;line-height:1.35}

.nova-campaign{background:var(--nova-black);position:relative;overflow:hidden}
.nova-campaign::before,
.nova-venue::before,
.nova-hospitality::before{
  content:"";
  position:absolute;
  width:min(72vw,1050px);
  aspect-ratio:1.5/1;
  -webkit-mask:url("../img/nova/nova-spiral.png") center/contain no-repeat;
  mask:url("../img/nova/nova-spiral.png") center/contain no-repeat;
  pointer-events:none;
}
.nova-campaign::before{right:-30%;top:5%;background:var(--nova-blue);opacity:.055;transform:rotate(10deg)}
.nova-campaign .nova-wrap,.nova-venue .nova-wrap,.nova-hospitality .nova-wrap{position:relative;z-index:1}
.nova-wide{margin:0}
.nova-wide img{width:100%;border:1px solid var(--nova-line)}
.nova-wide figcaption{display:flex;justify-content:space-between;gap:1rem;padding:1rem 0;color:#858B8E;font-size:.72rem;letter-spacing:.1em;text-transform:uppercase}
.nova-principles{display:grid;grid-template-columns:repeat(3,1fr);margin-top:clamp(3rem,6vw,6rem);border-top:1px solid var(--nova-line)}
.nova-principles>div{padding:2rem 2rem 0 0;border-right:1px solid var(--nova-line);min-height:210px}
.nova-principles>div+div{padding-left:2rem}
.nova-principles>div:last-child{border-right:0}
.nova-principles span{color:var(--nova-blue);font-family:var(--font-d);font-weight:700}
.nova-principles h3{font-family:var(--font-d);font-size:clamp(1.6rem,2.7vw,2.6rem);letter-spacing:-.04em;margin:.9rem 0 .55rem}
.nova-principles p{max-width:31ch;color:#92989B;font-size:.92rem}

.nova-venue{background:var(--nova-blue);color:var(--nova-black);position:relative;overflow:hidden}
.nova-venue::before{left:-28%;bottom:-10%;background:var(--nova-black);opacity:.075;transform:rotate(-16deg)}
.nova-venue .nova-index{color:var(--nova-black);border-color:rgba(11,12,14,.25)}
.nova-venue .nova-copy{color:#102B38}
.nova-drag{margin:0 0 1rem;font-size:.72rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;opacity:.7}
.nova-deck{padding:.25rem 0 1.4rem;gap:clamp(14px,1.7vw,26px)}
.nova-deck figure{flex:0 0 clamp(260px,30vw,430px);margin:0;scroll-snap-align:start}
.nova-deck img{width:100%;border:1px solid rgba(255,255,255,.22);box-shadow:0 26px 54px -24px rgba(0,0,0,.58)}

.nova-hospitality{background:#ECEDED;color:var(--nova-black);position:relative;overflow:hidden}
.nova-hospitality::before{right:-26%;top:4%;background:var(--nova-blue);opacity:.07;transform:rotate(14deg)}
.nova-hospitality .nova-index{color:#1778A4;border-color:rgba(11,12,14,.16)}
.nova-hospitality .nova-copy{color:#384247}
.nova-menu-pair{display:grid;grid-template-columns:1fr 1fr;gap:clamp(16px,2.2vw,36px);max-width:1100px;margin:0 auto clamp(5rem,8vw,8rem)}
.nova-menu-pair figure{margin:0}
.nova-menu-pair img{width:100%;border:1px solid rgba(11,12,14,.12);box-shadow:0 30px 70px -34px rgba(11,12,14,.45)}
.nova-menu-pair figcaption{padding:.8rem 0;color:#60686C;font-size:.72rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase}
.nova-hospitality-scroll img{border-color:rgba(11,12,14,.12);box-shadow:0 26px 54px -28px rgba(11,12,14,.5)}

.nova-result{background:var(--nova-black)}
.nova-result-line{max-width:18ch;font-family:var(--font-d);font-size:clamp(2.8rem,6vw,6rem);font-weight:700;letter-spacing:-.055em;line-height:.94;text-transform:uppercase}
.nova-credit{display:grid;grid-template-columns:1fr 1.6fr;gap:clamp(3rem,8vw,9rem);margin-top:clamp(4rem,8vw,8rem);padding-top:1.6rem;border-top:1px solid var(--nova-line);color:#92989B;font-size:.9rem}
.nova-credit b{color:var(--nova-paper)}
.nova-back{display:inline-block;margin-top:4rem;padding-bottom:.45rem;border-bottom:2px solid var(--nova-blue);font-size:.78rem;font-weight:600;letter-spacing:.13em;text-transform:uppercase}
.nova-footer{background:var(--nova-black);border-top:1px solid var(--nova-line);color:#737A7D}

@media(max-width:820px){
  .nova-mark{width:min(620px,84vw)}
  .nova-hero h1{font-size:clamp(3.2rem,16vw,6.2rem)}
  .nova-dek,.nova-jump{margin-left:0}
  .nova-intro-grid,.nova-section-head{grid-template-columns:1fr;gap:2rem}
  .nova-facts{grid-template-columns:1fr 1fr}
  .nova-facts div:nth-child(2){border-right:0}
  .nova-facts div:nth-child(n+3){border-top:1px solid var(--nova-line)}
  .nova-principles{grid-template-columns:1fr}
  .nova-principles>div,.nova-principles>div+div{padding:1.6rem 0;border-right:0;border-bottom:1px solid var(--nova-line);min-height:0}
  .nova-menu-pair{grid-template-columns:1fr}
  .nova-credit{grid-template-columns:1fr;gap:2rem}
}

@media(max-width:520px){
  .nova-page section{padding-left:20px;padding-right:20px}
  .nova-hero{padding-left:20px;padding-right:20px}
  .nova-facts{grid-template-columns:1fr}
  .nova-facts div,.nova-facts div+div{padding:1.25rem 0;border-right:0;border-top:1px solid var(--nova-line);min-height:0}
  .nova-wide figcaption{display:block}
  .nova-wide figcaption span{display:block;margin-bottom:.35rem}
}
