:root{
  --marmalade:#E8541C;
  --marmalade-2:#FF6B2B;
  --lime:#C4E538;
  --lime-2:#D4F54A;
  --black:#0A0807;
  --ink:#100D0B;
  --ink-2:#1A1613;
  --cream:#F5EDE0;
  --cream-dim:#9A938A;
  --cream-muted:#5C564E;
  --hairline:rgba(245,237,224,.07);
  --hairline-2:rgba(245,237,224,.14);
  --gutter:24px;
  --max:1320px;
}

*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--black)}
body{
  font-family:'Space Grotesk',-apple-system,sans-serif;
  background:var(--black);
  color:var(--cream);
  font-size:15px;
  line-height:1.5;
  overflow-x:hidden;
  cursor:none;
  -webkit-font-smoothing:antialiased;
  font-feature-settings:"ss01","ss02","cv11";
}

/* Background atmosphere */
.bg{
  position:fixed;inset:0;z-index:0;pointer-events:none;
}
.bg-1{
  background:
    radial-gradient(ellipse 80% 50% at 15% 10%,rgba(232,84,28,.10),transparent 55%),
    radial-gradient(ellipse 60% 50% at 85% 40%,rgba(196,229,56,.06),transparent 60%),
    radial-gradient(ellipse 70% 60% at 50% 100%,rgba(15,40,24,.35),transparent 70%);
}
.bg-grain{
  opacity:.04;mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}

/* Cursor */
.cur-dot,.cur-ring{position:fixed;top:0;left:0;pointer-events:none;z-index:9999;border-radius:50%}
.cur-dot{width:5px;height:5px;background:var(--cream);transform:translate(-50%,-50%);mix-blend-mode:difference}
.cur-ring{
  width:30px;height:30px;
  border:1px solid rgba(245,237,224,.28);
  transform:translate(-50%,-50%);
  transition:width .3s cubic-bezier(.2,.9,.3,1.2),height .3s,border-color .3s,background .3s;
}
.cur-ring.h{width:54px;height:54px;border-color:var(--lime);background:rgba(196,229,56,.06)}

/* NAV */
nav.top{
  position:fixed;top:14px;left:50%;transform:translateX(-50%);
  z-index:100;
  width:max-content;
  display:flex;align-items:center;gap:24px;
  padding:8px 8px 8px 16px;
  background:rgba(10,8,7,.7);
  backdrop-filter:blur(20px) saturate(180%);
  -webkit-backdrop-filter:blur(20px) saturate(180%);
  border:1px solid var(--hairline-2);
  border-radius:100px;
}
.nav-mark{height:26px;display:flex;align-items:center}
.nav-mark img{height:100%;width:auto}
.nav-list{display:flex;gap:2px;list-style:none}
.nav-list a{
  color:var(--cream-dim);text-decoration:none;
  font-size:12.5px;font-weight:500;
  padding:7px 12px;border-radius:100px;
  transition:color .25s,background .25s;
  letter-spacing:-.005em;
}
.nav-list a:hover{color:var(--cream);background:rgba(245,237,224,.05)}
.nav-list a.active{color:var(--lime)}
.nav-cta{
  background:var(--lime);color:var(--black);
  padding:8px 16px;border-radius:100px;
  font-size:12.5px;font-weight:600;text-decoration:none;
  transition:background .25s,box-shadow .25s,transform .25s;
  letter-spacing:-.005em;
}
.nav-cta:hover{background:var(--lime-2);box-shadow:0 0 24px rgba(196,229,56,.32);transform:translateY(-1px)}

/* Typography */
h1,h2,h3,h4,h5{font-family:'Space Grotesk',sans-serif;font-weight:700;letter-spacing:-.03em;line-height:1.05}
.eyebrow{
  display:inline-flex;align-items:center;gap:8px;
  padding:6px 12px;
  border:1px solid var(--hairline-2);
  border-radius:100px;
  background:rgba(10,8,7,.55);
  backdrop-filter:blur(8px);
  font-family:'JetBrains Mono',monospace;
  font-size:10px;text-transform:uppercase;
  letter-spacing:.18em;color:var(--cream-dim);
  font-weight:500;
}
.eyebrow::before{
  content:"";width:5px;height:5px;border-radius:50%;
  background:var(--lime);
  box-shadow:0 0 8px var(--lime-2);
  animation:pulse 1.6s ease-in-out infinite;
}
@keyframes pulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.8)}}

.label{
  font-family:'JetBrains Mono',monospace;
  font-size:10px;text-transform:uppercase;
  letter-spacing:.2em;color:var(--marmalade);
  display:flex;align-items:center;gap:10px;font-weight:500;
}
.label::before{content:"";width:24px;height:1px;background:var(--marmalade)}

/* Buttons */
.btn{
  display:inline-flex;align-items:center;gap:8px;
  padding:12px 22px;border-radius:100px;
  font-family:'Space Grotesk',sans-serif;
  font-size:13px;font-weight:600;text-decoration:none;
  letter-spacing:-.005em;
  transition:all .35s cubic-bezier(.2,.9,.3,1.2);
  border:none;cursor:none;
}
.btn-pri{background:var(--cream);color:var(--black)}
.btn-pri:hover{background:var(--lime);transform:translateY(-2px);box-shadow:0 12px 28px rgba(196,229,56,.22)}
.btn-sec{
  background:rgba(10,8,7,.4);color:var(--cream);
  border:1px solid var(--hairline-2);
  backdrop-filter:blur(8px);
}
.btn-sec:hover{border-color:var(--cream);background:rgba(245,237,224,.05)}
.arr{display:inline-block;transition:transform .35s}
.btn:hover .arr{transform:translateX(4px)}

/* Container */
.wrap{max-width:var(--max);margin:0 auto;padding:0 var(--gutter);position:relative;z-index:3}

/* Section spacing */
section{position:relative;z-index:3}

/* Reveal */
.rv{opacity:0;transform:translateY(20px);transition:opacity .8s cubic-bezier(.2,.9,.3,1.2),transform .8s cubic-bezier(.2,.9,.3,1.2)}
.rv.in{opacity:1;transform:translateY(0)}

/* FOOTER */
footer{
  position:relative;z-index:3;
  border-top:1px solid var(--hairline);
  padding:60px var(--gutter) 28px;
  max-width:var(--max);margin:0 auto;
}
.f-top{
  display:grid;grid-template-columns:2fr 1fr 1fr 1fr;
  gap:40px;margin-bottom:48px;
}
.f-mark img{height:36px;margin-bottom:16px;display:block}
.f-mark h3{font-size:17px;font-weight:700;letter-spacing:-.01em;margin-bottom:12px;max-width:320px;line-height:1.4}
.f-mark .accent{color:var(--marmalade)}
.f-mark p{color:var(--cream-dim);font-size:12.5px;line-height:1.55;max-width:320px}
.f-col h4{
  font-family:'JetBrains Mono',monospace;
  font-size:10px;text-transform:uppercase;letter-spacing:.18em;
  color:var(--cream-muted);margin-bottom:14px;font-weight:500;
}
.f-col a,.f-col p{
  display:block;color:var(--cream);text-decoration:none;
  font-size:13px;line-height:1.85;transition:color .25s;
}
.f-col a:hover{color:var(--lime)}
.f-giant{
  font-weight:700;
  font-size:clamp(56px,12vw,180px);
  letter-spacing:-.05em;line-height:.9;
  padding:24px 0;
  border-top:1px solid var(--hairline);
  border-bottom:1px solid var(--hairline);
  margin-bottom:24px;
  display:flex;justify-content:space-between;align-items:center;
}
.f-giant .accent{color:var(--marmalade)}
.f-bot{
  display:flex;justify-content:space-between;
  font-family:'JetBrains Mono',monospace;
  font-size:10px;text-transform:uppercase;
  letter-spacing:.15em;color:var(--cream-muted);
}

@media (max-width:900px){
  body{cursor:auto}
  .cur-dot,.cur-ring{display:none}
  nav.top{
    gap:6px;padding:6px 6px 6px 12px;
    max-width:calc(100% - 16px);
    overflow-x:auto;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
  }
  nav.top::-webkit-scrollbar{display:none}
  /* Keep nav links visible as a scrollable strip on mobile */
  .nav-list{
    display:flex;
    flex-shrink:0;
    gap:0;
    overflow-x:auto;
    scrollbar-width:none;
  }
  .nav-list::-webkit-scrollbar{display:none}
  .nav-list a{
    font-size:11.5px;
    padding:6px 10px;
    white-space:nowrap;
  }
  .nav-cta{white-space:nowrap;flex-shrink:0}
  .f-top{grid-template-columns:1fr;gap:32px}
  .f-giant{font-size:42px;flex-direction:column;align-items:flex-start;gap:10px}
  .f-bot{flex-direction:column;gap:8px}
}

/* ============================================
   PREFERS-REDUCED-MOTION — respect user preference
   ============================================ */
@media (prefers-reduced-motion: reduce){
  /* Stop all background decorative animations */
  .bg-aurora .blob{animation:none !important}
  .bg-grain{animation:none !important}
  .partners .track{animation:none !important}
  .t-track-row{animation:none !important}
  /* Instant reveals — no blur/fade transitions */
  .blur-text .bw{transition:none !important;opacity:1;filter:none;transform:none}
  .blur-text.in .bw{opacity:1;filter:none;transform:none}
  .fade-up{transition:none !important;opacity:1;filter:none;transform:none}
  .fade-up.in{opacity:1;filter:none;transform:none}
  .rv{transition:none !important;opacity:1;transform:none}
  .rv.in{opacity:1;transform:none}
  /* Instant hero entrance */
  .hero-meta{animation:none !important;opacity:1;transform:none}
  .hero .eyebrow{animation:none !important;opacity:1;transform:none}
  .hero-bottom{animation:none !important;opacity:1}
  /* Cursor ring — no transition */
  .cur-ring{transition:none}
  /* Pulse dot */
  .badge::before,.eyebrow::before{animation:none}
}

/* ============================================
   POLISH PASS — liquid-glass borders, BlurText
   ============================================ */

/* Liquid-glass gradient-mask border — for cards & pills.
   Applies a thin highlight along the top + bottom edge
   that sells the "glass slab" feeling without a hard border. */
.glass-edge{position:relative;overflow:hidden}
.glass-edge::before{
  content:'';
  position:absolute;inset:0;
  border-radius:inherit;
  padding:1px;
  background:linear-gradient(180deg,
    rgba(245,237,224,.32) 0%,
    rgba(245,237,224,.08) 22%,
    rgba(245,237,224,0)   45%,
    rgba(245,237,224,0)   55%,
    rgba(245,237,224,.08) 78%,
    rgba(245,237,224,.32) 100%);
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);
  -webkit-mask-composite:xor;
          mask-composite:exclude;
  pointer-events:none;
  z-index:1;
}
.glass-edge > *{position:relative;z-index:2}

/* Stronger version for hero pill / showcase elements */
.glass-edge-strong::before{
  background:linear-gradient(180deg,
    rgba(245,237,224,.45) 0%,
    rgba(245,237,224,.14) 20%,
    rgba(245,237,224,0)   42%,
    rgba(245,237,224,0)   58%,
    rgba(245,237,224,.14) 80%,
    rgba(245,237,224,.45) 100%);
}

/* BlurText word-stagger reveal */
.blur-text{display:inline-block}
.blur-text .bw{
  display:inline-block;
  opacity:0;
  filter:blur(10px);
  transform:translateY(24px);
  transition:opacity .7s cubic-bezier(.22,1,.36,1),filter .7s cubic-bezier(.22,1,.36,1),transform .7s cubic-bezier(.22,1,.36,1);
  will-change:opacity,filter,transform;
}
.blur-text.in .bw{
  opacity:1;
  filter:blur(0);
  transform:translateY(0);
}

/* Section badge — elevates section markers above plain text labels */
.badge{
  display:inline-flex;align-items:center;gap:8px;
  padding:6px 14px;
  border-radius:100px;
  background:rgba(10,8,7,.55);
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
  font-family:'JetBrains Mono',monospace;
  font-size:10px;text-transform:uppercase;
  letter-spacing:.18em;color:var(--cream-dim);font-weight:500;
  margin-bottom:18px;
  position:relative;
}
.badge::before{
  content:"";width:5px;height:5px;border-radius:50%;
  background:var(--lime);
  box-shadow:0 0 8px var(--lime-2);
  animation:pulse 1.6s ease-in-out infinite;
}

/* Reveal-on-view fade-up (for sub copy + CTAs) */
.fade-up{
  opacity:0;
  transform:translateY(16px);
  filter:blur(6px);
  transition:opacity .8s cubic-bezier(.22,1,.36,1),transform .8s cubic-bezier(.22,1,.36,1),filter .8s cubic-bezier(.22,1,.36,1);
}
.fade-up.in{
  opacity:1;
  transform:translateY(0);
  filter:blur(0);
}
