

html{ color-scheme: dark; }
body{ margin: 0; }
img{ max-width: 100%; }
[hidden]{ display: none !important; }







:root{
  color-scheme: dark;

  
  --plum: #1A0F2E;
  --violet: #AA3CFF;
  --flame: #FF8200;
  --mint: #5FCB8F;
  --paper: #F4F1EA;
  --plum-rgb: 26,15,46;
  --violet-rgb: 170,60,255;
  --flame-rgb: 255,130,0;
  --mint-rgb: 95,203,143;
  --paper-rgb: 244,241,234;
  --ink: var(--plum);
  --ink-2: var(--plum);
  --plum-2: rgba(var(--violet-rgb),.12);
  --line: rgba(var(--paper-rgb),.2);
  --haze: rgba(var(--paper-rgb),.82);
  --haze-dim: rgba(var(--paper-rgb),.72);

  --shadow-lift: 0 34px 90px -30px rgba(0,0,0,.9);

  
  --display: "Archivo Black", "Helvetica Neue", Arial, sans-serif;
  --body: "Manrope", "Segoe UI", system-ui, sans-serif;
  --label: var(--body);

  --wrap: 1240px;
  --pad: clamp(20px, 5vw, 56px);
  --section-gap: clamp(84px, 11vw, 150px);

}

*, *::before, *::after{ box-sizing: border-box; }
html{ overflow-x: clip; scroll-padding-top: 92px; }

body{
  margin:0;
  background: var(--ink);
  color: var(--haze);
  font-family: var(--body);
  font-synthesis: style;
  font-size: 17px;
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
  overflow-x: clip;
}

h1,h2,h3,h4{
  font-family: var(--display);
  font-weight:400;
  color: var(--paper);
  margin:0;
  line-height: 1.02;
  letter-spacing: -.025em;
  text-wrap: balance;
  
}
h3,h4{ font-family:var(--body); font-weight:700; }
p{ margin:0; }
a{ color: inherit; }

::selection{ background: var(--flame); color:var(--plum); }

:focus-visible{
  outline: 2px solid var(--mint);
  outline-offset: 3px;
  border-radius: 3px;
}


.wrap{ width:100%; max-width: var(--wrap); margin-inline:auto; padding-inline: var(--pad); }

.sec{ position: relative; padding-block: var(--section-gap); }
.sec + .sec{ padding-top:0; }

.eyebrow{
  font-family: var(--label);
  font-size: 10.5px;
  font-weight: 700;
  letter-spacing: .22em;
  text-transform: uppercase;
  color: var(--mint);
  display:flex; align-items:center; gap:12px;
  margin:0 0 22px;
}
.eyebrow::before{
  content:""; width:26px; height:1px; background: var(--mint); opacity:.55; flex:none;
}
.eyebrow.is-flame{ color: var(--flame); }
.eyebrow.is-flame::before{ background: var(--flame); }

.h-xl{ font-size: clamp(38px, 6.1vw, 76px); font-weight: 400; letter-spacing:-.018em; }
.h-lg{ font-size: clamp(32px, 4.4vw, 60px); font-weight: 400; letter-spacing:-.018em; }
.h-md{ font-family:var(--body); font-size: clamp(23px, 2.5vw, 32px); font-weight: 700; letter-spacing:-.02em; }
.h-sm{ font-size: 19px; font-weight: 700;  letter-spacing:-.01em; }

.lede{ font-size: clamp(17px, 1.35vw, 20px); color: var(--haze); max-width: 60ch; }
.muted{ color: var(--haze-dim); }
.small{ font-size: 14.5px; line-height:1.6; }

.rule{ height:1px; background: var(--line); border:0; margin:0; }


.btn{
  --btn-bg: var(--flame);
  position:relative;
  display:inline-flex; align-items:center; justify-content:center; gap:10px;
  font-family: var(--body);
  font-weight: 700; font-size: 15px;
  
  letter-spacing:.005em;
  padding: 16px 30px;
  border-radius: 999px;
  border:0; cursor:pointer;
  text-decoration:none;
  background: var(--btn-bg);
  color:var(--plum);
  transition: transform .35s cubic-bezier(.2,.8,.25,1), box-shadow .35s ease, background .3s ease;
  box-shadow: 0 12px 34px -14px rgba(var(--flame-rgb),.85);
  white-space: nowrap;
}
.btn:hover{ transform: translateY(-2px) scale(1.015); box-shadow: 0 20px 46px -16px rgba(var(--flame-rgb),.95); }
.btn:active{ transform: translateY(0) scale(.99); }
.btn .arw{ transition: transform .35s cubic-bezier(.2,.8,.25,1); }
.btn:hover .arw{ transform: translateX(4px); }

.btn-ghost{
  background: transparent; color: var(--paper);
  border:1px solid var(--line);
  box-shadow:none;
}
.btn-ghost:hover{ border-color: var(--violet); background: rgba(var(--violet-rgb),.09); box-shadow:none; }

.btn-lg{ padding: 19px 38px; font-size: 16.5px; }


.nav{
  position: fixed; inset: 0 0 auto 0; z-index: 90;
  transition: background .4s ease, border-color .4s ease, backdrop-filter .4s ease;
  border-bottom: 1px solid transparent;
}
.nav.stuck, .nav:has(.mobile-menu[open]){
  background: rgba(var(--plum-rgb),.78);
  backdrop-filter: blur(18px) saturate(140%);
  -webkit-backdrop-filter: blur(18px) saturate(140%);
  border-bottom-color: var(--line);
}
.nav-in{
  height: 76px; display:flex; align-items:center; gap: 30px;
}
.brand{ display:flex; align-items:center; gap:6px; min-height:44px; flex-shrink:0; text-decoration:none; margin-right:auto; }
.brand-lockup{ display:block; width:254.40625px; height:auto; }
@media (max-width:1100px){ .nav .brand-lockup{ width:218.0625px; } }
@media (max-width:540px){ .nav .brand-lockup{ width:199.890625px; } }
.nav-links{ display:flex; gap: 30px; }
.nav-links a{
  font-size: 14.5px; text-decoration:none; color: var(--haze);
  transition: color .25s ease; position:relative; padding-block:6px;
}
.nav-links a::after{
  content:""; position:absolute; left:0; right:100%; bottom:0; height:1px;
  background: var(--flame); transition: right .35s cubic-bezier(.2,.8,.25,1);
}
.nav-links a:hover{ color: var(--paper); }
.nav-links a:hover::after{ right:0; }
.nav .btn{ padding: 12px 22px; font-size:14px; }
.mobile-menu{ display:none; }
.menu-toggle{
  display:flex; align-items:center; justify-content:center; gap:10px;
  min-width:44px; min-height:44px; padding:10px 14px;
  border:1px solid var(--line); border-radius:999px;
  background:var(--ink-2); color:var(--paper);
  font-size:14px; font-weight:600; cursor:pointer; list-style:none;
}
.menu-toggle::-webkit-details-marker{ display:none; }
.menu-toggle:hover{ border-color:var(--violet); }
.menu-icon{ position:relative; width:18px; height:14px; flex:none; }
.menu-icon::before, .menu-icon::after{
  content:""; position:absolute; left:0; width:18px; height:2px;
  background:currentColor; border-radius:2px;
  transition:transform .2s ease;
}
.menu-icon::before{ top:3px; }
.menu-icon::after{ bottom:3px; }
.mobile-menu[open] .menu-icon::before{ transform:translateY(3px) rotate(45deg); }
.mobile-menu[open] .menu-icon::after{ transform:translateY(-3px) rotate(-45deg); }
.mobile-links{
  position:absolute; top:100%; left:0; right:0;
  display:flex; flex-direction:column; gap:4px;
  max-height:calc(100dvh - 77px); overflow-y:auto; overscroll-behavior:contain;
  padding:16px var(--pad) 24px;
  background:var(--ink-2); border-bottom:1px solid var(--line);
  box-shadow:0 24px 36px -24px rgba(0,0,0,.8);
}
.mobile-links > a{
  display:flex; align-items:center; min-height:48px; padding:12px 16px;
  color:var(--paper); text-decoration:none; border-radius:12px;
}
.mobile-links > a:hover{ background:var(--plum-2); }
.mobile-links > .btn{ margin-top:8px; color:var(--plum); border-radius:999px; }
.mobile-links > .btn:hover{ background:var(--flame); }
@media (max-width: 900px){
  .nav-links{ display:none; }
  .mobile-menu{ display:block; }
  .nav-in{ gap:12px; }
}
@media (max-width: 560px){ .nav-in > .btn{ display:none; } }


.aurora{ position:fixed; inset:0; z-index:0; pointer-events:none; overflow:hidden; }
.aurora i{
  position:absolute; display:block; border-radius:50%;
  filter: blur(90px); opacity:.2;
  will-change: transform;
}
.a1{ width:52vw; height:52vw; left:-14vw; top:-12vw; background: radial-gradient(circle, var(--violet) 0%, rgba(var(--violet-rgb),0) 68%); animation: drift1 26s ease-in-out infinite; }
.a2{ width:44vw; height:44vw; right:-10vw; top:8vh; background: radial-gradient(circle, var(--flame) 0%, rgba(var(--flame-rgb),0) 68%); opacity:.12; animation: drift2 32s ease-in-out infinite; }
.a3{ width:40vw; height:40vw; left:26vw; top:52vh; background: radial-gradient(circle, var(--mint) 0%, rgba(var(--mint-rgb),0) 70%); opacity:.1; animation: drift3 38s ease-in-out infinite; }
@keyframes drift1{ 50%{ transform: translate3d(9vw, 7vh, 0) scale(1.14); } }
@keyframes drift2{ 50%{ transform: translate3d(-8vw, 12vh, 0) scale(1.2); } }
@keyframes drift3{ 50%{ transform: translate3d(7vw, -10vh, 0) scale(.86); } }
@media (max-width:940px){
  .aurora i{ animation:none; will-change:auto; }
}

.grain{
  position:fixed; inset:0; z-index:1; pointer-events:none; opacity:.5;
  background-image:
    linear-gradient(rgba(var(--paper-rgb),.014) 1px, transparent 1px),
    linear-gradient(90deg, rgba(var(--paper-rgb),.014) 1px, transparent 1px);
  background-size: 64px 64px;
  -webkit-mask-image: radial-gradient(ellipse 90% 60% at 50% 0%, #000 10%, transparent 75%);
  mask-image: radial-gradient(ellipse 90% 60% at 50% 0%, #000 10%, transparent 75%);
}
main{ position:relative; z-index:2; }


.foot{ border-top:1px solid var(--line); background: rgba(var(--plum-rgb),.7); padding-block: 62px 44px; }
.foot-grid{ display:grid; grid-template-columns: minmax(0,1.4fr) minmax(0,.75fr) minmax(0,.7fr) minmax(0,1.2fr); gap:clamp(24px,2.5vw,36px); align-items:start; }
.foot-grid > *{ min-width:0; }

.foot .brand{ width:min(100%,254.40625px); transform:translateX(-1.31414%); }
.foot .foot-heading{ font-family: var(--label); font-size:10px; font-weight:600; letter-spacing:.2em; text-transform:uppercase; color: var(--mint); margin-bottom:16px; }
.foot p, .foot li{ font-size: 14px; line-height:1.72; color: var(--haze-dim); }
.foot .foot-description{ max-width:34ch; color:var(--paper); font-weight:500; }
.foot .foot-slogan{ margin-top:14px; font-style:italic; color:var(--paper); font-weight:500; }
.foot ul{ list-style:none; margin:0; padding:0; }
.foot a{ text-decoration:none; transition: color .25s ease; }
.foot a:hover{ color: var(--flame); }
.foot-links{ padding-top:15px; }
.foot-links li + li{ margin-top:2px; }
.foot-links li a{ display:block; width:fit-content; min-height:28px; padding-block:3px; line-height:1.5; color:var(--haze); }
.foot-links li a:hover{ color:var(--flame); }
.foot-cta{ padding:22px; border:1px solid var(--line); border-radius:20px; background:linear-gradient(140deg,rgba(var(--violet-rgb),.1),rgba(var(--plum-rgb),.3)); }
.foot-cta .foot-heading{ margin-bottom:14px; }
.foot .foot-cta-title{ font-family:var(--body); font-size:20px; font-weight:700; line-height:1.25; letter-spacing:-.02em; color:var(--paper); }
.foot .foot-cta-note{ margin-top:12px; font-size:13px; line-height:1.6; color:var(--haze); }
.foot-cta .btn{ width:100%; margin-top:20px; padding:13px 12px; font-size:13px; white-space:normal; text-align:center; }
.foot-cta .btn:hover{ color:var(--plum); }
.foot-bottom{ margin-top:48px; padding-top:24px; border-top:1px solid var(--line); display:grid; grid-template-columns:minmax(0,1fr) auto auto; align-items:center; gap:20px; font-size:13px; color:var(--haze-dim); }
.foot-credit{ justify-self:end; white-space:nowrap; font-size:12px; }
.foot-bottom .back-to-top{ justify-self:end; }
.back-to-top{ display:inline-flex; align-items:center; justify-content:center; width:44px; height:44px; flex:none; border:1px solid var(--line); border-radius:50%; }
.back-to-top svg{ width:16px; height:16px; }
@media (max-width: 1099px){ .foot-grid{ grid-template-columns:repeat(2,minmax(0,1fr)); gap:36px; } }
@media (max-width:760px){
  .foot-bottom{ grid-template-columns:minmax(0,1fr) auto; gap:12px; text-align:center; }
  .foot-bottom > span{ grid-column:1 / -1; }
}
@media (max-width: 540px){
  .foot-grid{ grid-template-columns:1fr; gap:30px; }
  .foot-links{ padding-top:0; }
  .foot-cta{ padding:24px; }
  .foot-bottom{ margin-top:36px; gap:12px; }
}


html.motion .rv{ opacity:0; transform: translateY(26px); }
html.motion .rv.in{ opacity:1; transform:none; transition: opacity .85s ease, transform .95s cubic-bezier(.16,.84,.28,1); }
html.motion .rv.d1.in{ transition-delay:.09s; }
html.motion .rv.d2.in{ transition-delay:.18s; }
html.motion .rv.d3.in{ transition-delay:.27s; }



@media (prefers-reduced-motion: reduce){
  *, *::before, *::after{
    animation-duration:.001ms !important; animation-iteration-count:1 !important;
    transition-duration:.001ms !important; scroll-behavior:auto !important;
  }
  html.motion .rv{ opacity:1; transform:none; }
  html.motion .hero h1 .ln > span{ transform:none; }
  html.motion .intro{ opacity:1; }
}
