*{box-sizing:border-box}
:root{
  --bg:#050505;
  --bg2:#0a0a0a;
  --text:#f5f2ea;
  --muted:#c9c4b8;
  --soft:#918b7d;
  --line:rgba(255,255,255,.16);
  --line2:rgba(218,174,89,.45);
  --gold:#d9ad5b;
  --gold2:#f0cc78;
}
html{scroll-behavior:smooth}
body{
  margin:0;
  background:
    radial-gradient(circle at 18% 18%,rgba(217,173,91,.08),transparent 31%),
    radial-gradient(circle at 82% 70%,rgba(217,173,91,.06),transparent 30%),
    var(--bg);
  color:var(--text);
  font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif;
  overflow-x:hidden;
}
a{color:inherit}
.cursor-glow{
  position:fixed;
  width:420px;height:420px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(217,173,91,.08),transparent 62%);
  pointer-events:none;
  z-index:0;
  transform:translate(-50%,-50%);
  opacity:.8;
}
.site-header{
  position:fixed;
  top:0;left:0;right:0;
  z-index:50;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:22px;
  padding:22px clamp(22px,4vw,72px);
  transition:.25s ease;
}
.site-header.scrolled{
  background:rgba(5,5,5,.78);
  backdrop-filter:blur(14px);
  border-bottom:1px solid var(--line);
  padding-top:15px;
  padding-bottom:15px;
}
.brand,.section-label h2,.section-heading h2,.pillar-card h3,.site-footer h2{
  font-family:"Bebas Neue",sans-serif;
  letter-spacing:.105em;
}
.brand{
  text-decoration:none;
  font-size:31px;
  line-height:1;
}
.nav-links{
  display:flex;
  gap:30px;
}
.nav-links a{
  text-decoration:none;
  font-family:"Bebas Neue",sans-serif;
  letter-spacing:.19em;
  font-size:17px;
  color:#f3f3f3;
  opacity:.9;
  transition:.18s ease;
}
.nav-links a:hover{color:var(--gold2)}
.nav-cta,.button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:14px;
  min-height:48px;
  padding:0 24px;
  text-decoration:none;
  border:1px solid var(--line2);
  color:#fff;
  background:linear-gradient(180deg,rgba(217,173,91,.13),rgba(0,0,0,.18));
  text-transform:uppercase;
  letter-spacing:.14em;
  font-weight:900;
  font-size:12px;
  transition:.22s ease;
}
.nav-cta:hover,.button:hover{
  border-color:var(--gold2);
  box-shadow:0 0 35px rgba(217,173,91,.18);
  transform:translateY(-2px);
}
.button b{font-size:22px;color:var(--gold2)}
.mobile-toggle{display:none}

.hero{
  min-height:92vh;
  position:relative;
  display:grid;
  place-items:center;
  text-align:center;
  border-bottom:1px solid var(--line);
  overflow:hidden;
}
.hero-bg{
  position:absolute;inset:-40px;
  background:
    linear-gradient(to bottom,rgba(0,0,0,.42),rgba(0,0,0,.25) 35%,rgba(0,0,0,.87) 88%,#050505),
    url("https://images.unsplash.com/photo-1464822759023-fed622ff2c3b?auto=format&fit=crop&w=2200&q=85") center/cover;
  filter:grayscale(1) contrast(1.18) brightness(.66);
  transform:scale(1.04);
}
.hero-shade{
  position:absolute;inset:0;
  background:radial-gradient(circle at 50% 35%,transparent 0 23%,rgba(0,0,0,.46) 62%,rgba(0,0,0,.86));
}
.hero-content{
  position:relative;
  z-index:2;
  max-width:950px;
  padding:130px 24px 70px;
}
.eyebrow{
  display:inline-block;
  border:1px solid var(--line2);
  padding:12px 34px;
  color:var(--gold2);
  text-transform:uppercase;
  letter-spacing:.32em;
  font-size:12px;
  font-weight:900;
  background:rgba(0,0,0,.26);
}
.hero h1{
  font-family:"Bebas Neue",sans-serif;
  margin:28px 0 0;
  font-size:clamp(88px,14vw,198px);
  line-height:.85;
  letter-spacing:.075em;
  text-shadow:0 24px 45px rgba(0,0,0,.72);
}
.gold-line{
  width:70px;height:2px;
  background:var(--gold);
  margin:28px auto 24px;
}
.hero p{
  margin:0 auto 34px;
  max-width:710px;
  font-size:clamp(17px,2vw,23px);
  line-height:1.5;
  color:#f1eee9;
}
.scroll-cue{
  position:absolute;
  bottom:20px;
  z-index:3;
  font-size:34px;
  text-decoration:none;
  color:#fff;
  opacity:.8;
  animation:bounce 1.8s infinite;
}
@keyframes bounce{0%,100%{transform:translateY(0)}50%{transform:translateY(8px)}}

main,.site-footer,.copyright{max-width:1180px;margin:0 auto}
.split-section{
  display:grid;
  grid-template-columns:320px 1fr;
  gap:66px;
  padding:78px clamp(24px,5vw,70px);
  border-bottom:1px solid var(--line);
  position:relative;
}
.split-section:before{
  content:"";
  position:absolute;inset:0;
  background:linear-gradient(90deg,rgba(217,173,91,.03),transparent 32%);
  pointer-events:none;
}
.section-label{
  border-right:1px solid var(--line);
  padding-right:52px;
  position:relative;
}
.section-label span{
  color:var(--gold2);
  font-size:42px;
  line-height:1;
}
.section-label small,.site-footer small{
  display:block;
  margin:18px 0 10px;
  text-transform:uppercase;
  letter-spacing:.28em;
  font-weight:900;
  color:#e9e0cf;
  font-size:12px;
}
.section-label h2{
    font-size:clamp(42px,5vw,70px);
    line-height:.9;
    word-break:break-word;
}
.section-label i,.pillar-card i{
  display:block;
  width:58px;height:2px;
  background:var(--gold);
  margin:28px 0;
}
.section-label strong{
  display:block;
  text-transform:uppercase;
  letter-spacing:.13em;
  font-size:12px;
  line-height:1.45;
}
.section-body{
  align-self:center;
  max-width:790px;
}
.section-body p{
  color:#e0ddd6;
  font-size:18px;
  line-height:1.72;
  margin:0 0 24px;
}

.pillars,.runway{
  padding:76px clamp(24px,5vw,70px);
  border-bottom:1px solid var(--line);
}
.section-heading{
  display:grid;
  grid-template-columns:1fr auto 1fr;
  align-items:center;
  gap:34px;
  text-align:center;
  margin-bottom:36px;
}
.section-heading span{height:1px;background:var(--line)}
.section-heading h2{
  margin:0;
  text-transform:uppercase;
  font-size:clamp(44px,6vw,72px);
  line-height:1;
}
.pillar-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:24px;
}
.pillar-card{
  position:relative;
  min-height:402px;
  padding:30px 28px 34px;
  border:1px solid var(--line);
  background:
    linear-gradient(180deg,rgba(255,255,255,.055),rgba(255,255,255,.01)),
    rgba(255,255,255,.015);
  text-align:center;
  transition:.28s ease;
  overflow:hidden;
}
.pillar-card:before{
  content:"";
  position:absolute;inset:-1px;
  background:linear-gradient(135deg,transparent,rgba(217,173,91,.25),transparent);
  opacity:0;
  transition:.28s ease;
}
.pillar-card:hover{
  transform:translateY(-8px);
  border-color:var(--line2);
  box-shadow:0 22px 65px rgba(0,0,0,.45),0 0 38px rgba(217,173,91,.09);
}
.pillar-card:hover:before{opacity:1}
.pillar-card>*{position:relative}
.num{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:36px;height:30px;
  border:1px solid var(--line2);
  color:var(--gold2);
  font-family:"Bebas Neue";
  letter-spacing:.12em;
  font-size:20px;
}
.icon{
  width:78px;height:78px;
  margin:34px auto 22px;
  position:relative;
}
.circle-slash:before{
  content:"";position:absolute;inset:10px;border:2px solid #fff;border-radius:50%;
}
.circle-slash:after{
  content:"";position:absolute;width:2px;height:70px;background:#fff;left:38px;top:4px;transform:rotate(42deg);
}
.grid-icon{
  border:2px solid #fff;
  background:
    linear-gradient(#fff,#fff) 33% 0/2px 100% no-repeat,
    linear-gradient(#fff,#fff) 66% 0/2px 100% no-repeat,
    linear-gradient(90deg,#fff,#fff) 0 33%/100% 2px no-repeat,
    linear-gradient(90deg,#fff,#fff) 0 66%/100% 2px no-repeat;
  transform:scale(.68);
}
.target-icon:before{
  content:"";position:absolute;inset:16px;border:2px solid #fff;border-radius:50%;
}
.target-icon:after{
  content:"";position:absolute;left:0;right:0;top:38px;height:2px;background:#fff;
  box-shadow:38px -38px 0 -37px #fff, 38px 38px 0 -37px #fff;
}
.target-icon{background:linear-gradient(#fff,#fff) center/2px 100% no-repeat}
.pillar-card h3{
  font-size:40px;
  line-height:.96;
  margin:0;
  text-transform:uppercase;
}
.pillar-card i{margin:22px auto}
.pillar-card p{
  color:#d7d2ca;
  margin:0;
  line-height:1.62;
  font-size:15px;
}

.partnerships-body{align-self:start}
.partnerships-body .lead{
  font-size:19px;
  margin-bottom:34px;
}
.partner-list{
  display:grid;
  gap:26px;
}
.partner-row{
  display:grid;
  grid-template-columns:76px 1fr;
  gap:24px;
  align-items:start;
}
.partner-icon{
  width:64px;height:64px;
  border:1px solid var(--line2);
  border-radius:50%;
  display:grid;
  place-items:center;
  color:var(--gold2);
  font-size:28px;
  background:rgba(217,173,91,.055);
}
.partner-row h3{
  margin:0 0 7px;
  color:var(--gold2);
  text-transform:uppercase;
  letter-spacing:.08em;
  font-size:16px;
}
.partner-row p{
  margin:0;
  font-size:15.5px;
  line-height:1.68;
  color:#ded9cf;
}

.runway{text-align:center}
.runway-sub{
  margin:-19px 0 56px;
  text-transform:uppercase;
  letter-spacing:.24em;
  color:var(--gold2);
  font-weight:900;
  font-size:13px;
}
.timeline{
  position:relative;
  display:grid;
  grid-template-columns:repeat(8,1fr);
  gap:0;
}
.progress-line{
  position:absolute;
  left:6%;right:6%;top:73px;
  height:1px;
  background:linear-gradient(90deg,transparent,var(--gold),transparent);
  transform:scaleX(0);
  transform-origin:left;
  transition:1.3s ease .2s;
}
.timeline.in-view .progress-line{transform:scaleX(1)}
.week{
  position:relative;
  padding:0 8px;
}
.week small{
  display:block;
  font-family:"Bebas Neue";
  letter-spacing:.16em;
  font-size:17px;
}
.week b{
  display:grid;
  place-items:center;
  width:58px;height:58px;
  margin:18px auto 18px;
  border:1px solid var(--line2);
  color:#fff;
  background:#070707;
  font-size:25px;
  transition:.25s ease;
  position:relative;
  z-index:2;
}
.timeline.in-view .week b{
  animation:pulseGold 1.6s ease both;
}
.week:nth-child(3) b{animation-delay:.1s}
.week:nth-child(4) b{animation-delay:.2s}
.week:nth-child(5) b{animation-delay:.3s}
.week:nth-child(6) b{animation-delay:.4s}
.week:nth-child(7) b{animation-delay:.5s}
.week:nth-child(8) b{animation-delay:.6s}
.week:nth-child(9) b{animation-delay:.7s}
@keyframes pulseGold{
  0%{box-shadow:none;border-color:var(--line)}
  55%{box-shadow:0 0 24px rgba(217,173,91,.32);border-color:var(--gold2)}
  100%{box-shadow:0 0 12px rgba(217,173,91,.12);border-color:var(--line2)}
}
.week p{
  margin:0 auto;
  max-width:120px;
  text-transform:uppercase;
  font-weight:900;
  font-size:11px;
  line-height:1.32;
  color:#d8d1c6;
}

.site-footer{
  display:grid;
  grid-template-columns:1.1fr 1fr 1fr;
  gap:44px;
  padding:48px clamp(24px,5vw,70px);
  border-bottom:1px solid var(--line);
}
.site-footer h2{
  margin:0 0 12px;
  font-size:34px;
}
.site-footer p{margin:0;color:#cfc9bd;line-height:1.55}
.footer-cta{display:flex;flex-direction:column;align-items:flex-start}
.email{
  display:inline-block;
  color:var(--gold2);
  text-decoration:none;
  margin:8px 0 14px;
  font-weight:800;
}
.socials{display:flex;gap:12px}
.socials a{
  display:grid;place-items:center;
  width:34px;height:34px;
  border:1px solid var(--line);
  text-decoration:none;
  transition:.2s ease;
}
.socials a:hover{border-color:var(--gold);color:var(--gold2)}
.copyright{
  display:flex;
  justify-content:space-between;
  gap:18px;
  padding:18px clamp(24px,5vw,70px) 34px;
  color:#918b7d;
  font-size:13px;
}
.copyright a{margin-left:18px;color:#918b7d}

.reveal{
  opacity:0;
  transform:translateY(28px);
  transition:opacity .75s ease, transform .75s ease;
}
.reveal.in-view{
  opacity:1;
  transform:translateY(0);
}
.delay-1{transition-delay:.12s}
.delay-2{transition-delay:.22s}
.delay-3{transition-delay:.32s}

@media(max-width:960px){
  .nav-links{display:none}
  .nav-cta{display:none}
  .mobile-toggle{
    display:block;
    background:transparent;
    color:#fff;
    border:1px solid var(--line);
    font-size:22px;
    width:44px;height:38px;
  }
  .site-header.menu-open .nav-links{
    display:flex;
    position:absolute;
    top:70px;left:20px;right:20px;
    flex-direction:column;
    padding:20px;
    background:rgba(5,5,5,.94);
    border:1px solid var(--line);
  }
  .split-section{grid-template-columns:1fr;gap:36px}
  .section-label{border-right:0;border-bottom:1px solid var(--line);padding:0 0 28px}
  .pillar-grid{grid-template-columns:1fr}
  .timeline{grid-template-columns:repeat(2,1fr);gap:34px 0}
  .progress-line{display:none}
  .site-footer{grid-template-columns:1fr}
  .copyright{flex-direction:column}
}
@media(max-width:560px){
  .hero{min-height:86vh}
  .eyebrow{letter-spacing:.18em;padding:10px 18px;font-size:10px}
  .hero h1{font-size:92px}
  .partner-row{grid-template-columns:1fr}
  .timeline{grid-template-columns:1fr}
  .week p{max-width:220px}
}
