@font-face{font-family:'Plus Jakarta Sans'; font-style:normal; font-weight:200 800; font-display:swap; src:url(fonts/plus-jakarta-sans-ext.woff2) format('woff2'); unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face{font-family:'Plus Jakarta Sans'; font-style:normal; font-weight:200 800; font-display:swap; src:url(fonts/plus-jakarta-sans-std.woff2) format('woff2'); unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
:root{
  --black:#000000;
  --near-black:#0d0d0f;
  --bg:#0a0a0b;
  --surface:#17171b;
  --white:#ffffff;
  --grey-1:#f5f5f7;
  --grey-2:#6e6e73;
  --grey-3:#d2d2d7;
  --border-soft:rgba(255,255,255,0.08);
  --border-soft-2:rgba(255,255,255,0.14);
  --yellow:#FCC300;
  --yellow-light:#FFE066;
  --yellow-dark:#D49E00;
  --yellow-ink:#8a6d00;
  --brand-gradient:linear-gradient(120deg, var(--yellow-light), var(--yellow), var(--yellow-dark));
}
*{box-sizing:border-box; margin:0; padding:0;}
html{scroll-behavior:smooth;}
:focus-visible{outline:2px solid var(--yellow); outline-offset:3px; border-radius:2px;}
body{
  font-family:'Plus Jakarta Sans', -apple-system, BlinkMacSystemFont, 'SF Pro Display', 'Helvetica Neue', Arial, sans-serif;
  color:var(--white);
  background:radial-gradient(1400px 1000px at 18% 0%, rgba(252,195,0,0.16), var(--bg) 60%);
  background-repeat:no-repeat;
  background-color:var(--bg);
  line-height:1.5;
  -webkit-font-smoothing:antialiased;
}
a{color:inherit; text-decoration:none;}
.container{max-width:1180px; margin:0 auto; padding:0 24px;}

/* reveal on scroll */
.reveal{opacity:0; transform:translateY(28px); transition:opacity .9s ease, transform .9s ease;}
.reveal.in{opacity:1; transform:translateY(0);}

/* NAV */
header{
  position:sticky; top:0; z-index:100;
  border-bottom:1px solid rgba(255,255,255,0.1);
}
nav{
  position:relative;
  display:flex; align-items:center; justify-content:space-between;
  padding:16px 24px; max-width:1180px; margin:0 auto;
}
.nav-toggle{
  display:none; background:none; border:none; cursor:pointer; padding:8px;
}
.nav-toggle span{
  display:block; width:22px; height:2px; background:var(--white); border-radius:1px;
  margin:5px 0; transition:transform .3s ease, opacity .3s ease;
}
.nav-toggle.open span:nth-child(1){transform:translateY(7px) rotate(45deg);}
.nav-toggle.open span:nth-child(2){opacity:0;}
.nav-toggle.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}
.logo{
  font-size:19px; font-weight:600; letter-spacing:-0.01em; cursor:pointer; color:var(--white);
  display:inline-flex; align-items:center; gap:9px;
  transition:transform .35s cubic-bezier(.34,1.56,.64,1);
}
.logo:hover{transform:scale(1.08);}
.logo-icon{flex-shrink:0; display:block;}
.logo .lt{transition:color .4s ease;}
.logo:hover .lt{
  background:var(--brand-gradient);
  -webkit-background-clip:text; background-clip:text; color:transparent;
}
.logo .colon{
  color:var(--yellow); display:inline-block;
  transition:color .4s ease, transform .5s cubic-bezier(.34,1.56,.64,1);
}
.logo:hover .colon{color:var(--white); transform:rotate(180deg);}
.nav-links{display:flex; gap:36px; list-style:none; font-size:13.5px; font-weight:400; color:var(--grey-3);}
.nav-links a{transition:color .2s;}
.nav-links a:hover{color:var(--white);}
.nav-cta{
  background:var(--brand-gradient); color:var(--black); padding:9px 20px; border-radius:6px; font-size:13px; font-weight:600;
  transition:opacity .2s;
}
.nav-cta:hover{opacity:0.85;}
.nav-links-cta{display:none;}

/* HERO */
.hero{
  padding:140px 24px 120px; position:relative; overflow:hidden;
}
.hero-inner{max-width:1180px; margin:0 auto; text-align:center; display:flex; flex-direction:column; align-items:center;}
.hero .eyebrow{
  font-size:13px; color:var(--grey-3); font-weight:600; margin-bottom:20px;
  text-transform:uppercase; letter-spacing:0.09em;
}
.hero h1{
  font-size:clamp(34px, 4.6vw, 60px); font-weight:700; letter-spacing:-0.015em; line-height:1.15;
  max-width:680px; margin:0 0 24px; color:var(--white);
}
.hero p.lead{
  font-size:clamp(18px,2vw,22px); color:var(--grey-3); font-weight:400; max-width:560px; margin:0 0 44px;
}
.hero-ctas{display:flex; gap:16px; flex-wrap:wrap; justify-content:center;}
.btn-primary, .btn-secondary{
  padding:15px 30px; border-radius:6px; font-weight:500; font-size:16px; display:inline-block;
  transition:transform .2s, opacity .2s;
}
.btn-primary{background:var(--white); color:var(--black);}
.btn-primary:hover{opacity:0.8;}
.btn-secondary{color:var(--white); font-weight:500; border:1px solid rgba(255,255,255,0.22); padding:14px 29px;}
.btn-secondary:hover{border-color:rgba(255,255,255,0.45);}
.btn-secondary::after{content:" ›"; }

.hero-quicknav{
  display:inline-flex; flex-wrap:wrap; justify-content:center; gap:4px;
  margin-top:56px; padding:6px; border-radius:999px;
  background:rgba(255,255,255,0.05); border:1px solid var(--border-soft);
}
.hero-quicknav a{
  padding:11px 22px; border-radius:999px; font-size:14px; font-weight:500;
  color:var(--grey-3); transition:background .2s, color .2s;
}
.hero-quicknav a:hover{background:rgba(255,255,255,0.08); color:var(--white);}

.features-head{margin-bottom:80px; max-width:1120px; margin-left:auto; margin-right:auto;}
.features-head .tag{font-size:14px; color:var(--yellow); font-weight:600; margin-bottom:16px;}
.features-head h2{font-size:clamp(26px,3.6vw,40px); font-weight:700; letter-spacing:-0.015em; max-width:640px;}

/* TIERS */
section.tiers-section{padding:160px 24px;}
.tiers{display:grid; grid-template-columns:repeat(auto-fit, minmax(300px,1fr)); gap:24px; max-width:1120px; margin:0 auto;}
.tier-card{
  background:var(--surface); border-radius:10px; padding:48px 40px; display:flex; flex-direction:column;
  border:1px solid var(--border-soft); transition:transform .3s;
}
.tier-card:hover{transform:translateY(-6px);}
.tier-card.featured{background:var(--brand-gradient); color:var(--black); border-color:transparent;}
.tier-num{font-size:13px; color:var(--grey-3); font-weight:500; margin-bottom:20px;}
.tier-card.featured .tier-num{color:rgba(0,0,0,0.6);}
.tier-card h3{font-size:26px; font-weight:700; letter-spacing:-0.01em; margin-bottom:14px;}
.tier-card p.desc{font-size:15.5px; color:var(--grey-3); margin-bottom:28px;}
.tier-card.featured p.desc{color:rgba(0,0,0,0.7);}
.tier-card ul{list-style:none; margin-bottom:36px; flex-grow:1;}
.tier-card li{font-size:14.5px; padding:11px 0; border-top:1px solid var(--border-soft);}
.tier-card.featured li{border-top:1px solid rgba(0,0,0,0.15);}
.tier-cta{
  text-align:center; padding:14px; border-radius:6px; font-weight:500; font-size:15px;
  background:var(--white); color:var(--black); transition:opacity .2s;
}
.tier-card.featured .tier-cta{background:var(--black); color:var(--white);}
.tier-cta:hover{opacity:0.8;}

/* SHOWCASE */
section.showcase-section{padding:160px 24px;}
.showcase-grid{
  display:grid; grid-template-columns:repeat(auto-fit, minmax(280px,1fr)); gap:24px;
  max-width:1120px; margin:0 auto;
}
.showcase-card{
  background:var(--surface); border:1px solid var(--border-soft); border-radius:14px;
  overflow:hidden; transition:transform .3s;
}
.showcase-card:hover{transform:translateY(-6px);}
.showcase-visual{aspect-ratio:16/10; display:flex; align-items:center; justify-content:center;}
.visual-1{background:radial-gradient(circle at 30% 25%, var(--yellow-light), var(--yellow) 45%, #5c3d00 100%);}
.visual-2{background:radial-gradient(circle at 70% 30%, var(--yellow-light), var(--yellow-dark) 50%, #402a00 100%);}
.visual-3{background:radial-gradient(circle at 50% 75%, var(--yellow-light), var(--yellow) 40%, #33220a 100%);}
.showcase-card h3{font-size:19px; font-weight:700; letter-spacing:-0.01em; margin:24px 24px 8px;}
.showcase-card p{font-size:14.5px; color:var(--grey-3); line-height:1.55; margin:0 24px 24px;}

/* ARTICLES TEASER (homepage) */
section.articles-section{padding:160px 24px;}
.articles-grid{
  display:grid; grid-template-columns:repeat(auto-fit, minmax(280px,1fr)); gap:24px;
  max-width:1120px; margin:0 auto;
}
.article-card{
  display:block; background:var(--surface); border:1px solid var(--border-soft); border-radius:14px;
  padding:36px 32px; transition:transform .3s, border-color .3s;
}
.article-card:hover{transform:translateY(-6px); border-color:var(--border-soft-2);}
.article-card-num{font-size:13px; color:var(--yellow); font-weight:600; margin-bottom:16px;}
.article-card h3{font-size:19px; font-weight:700; letter-spacing:-0.01em; line-height:1.3; margin-bottom:10px;}
.article-card p{font-size:14.5px; color:var(--grey-3); line-height:1.5; margin-bottom:20px;}
.article-card-link{font-size:14px; font-weight:600; color:var(--white);}

/* ARTICLE PAGE */
.article{padding:80px 24px 120px;}
.article-container{max-width:720px; margin:0 auto;}
.article-back{display:inline-block; font-size:14px; color:var(--grey-3); margin-bottom:32px; transition:color .2s;}
.article-back:hover{color:var(--white);}
.article-tag{font-size:13px; color:var(--yellow); font-weight:600; text-transform:uppercase; letter-spacing:0.06em; margin-bottom:16px;}
.article h1{font-size:clamp(32px,5vw,48px); font-weight:700; letter-spacing:-0.02em; line-height:1.15; margin-bottom:16px;}
.article-meta{font-size:14px; color:var(--grey-3); margin-bottom:48px; padding-bottom:32px; border-bottom:1px solid var(--border-soft);}
.article-body h2{font-size:26px; font-weight:700; letter-spacing:-0.01em; margin:48px 0 18px;}
.article-body p{font-size:17px; color:var(--grey-3); line-height:1.7; margin-bottom:22px;}
.article-body ul{margin:0 0 22px; padding-left:22px;}
.article-body li{font-size:17px; color:var(--grey-3); line-height:1.7; margin-bottom:10px;}
.article-body strong{color:var(--white); font-weight:600;}
.article-cta{margin-top:56px; padding-top:40px; border-top:1px solid var(--border-soft);}
.article-cta p{font-size:18px; color:var(--white); margin-bottom:20px; font-weight:500;}

/* STATS */
section.stats{padding:120px 24px;}
.stats-grid{
  display:flex; justify-content:center; flex-wrap:wrap; gap:80px; max-width:1120px; margin:0 auto;
  border-top:1px solid var(--border-soft); padding-top:56px; text-align:center;
}
.stat-num{font-size:clamp(48px,6vw,80px); font-weight:700; letter-spacing:-0.02em;}
.stat-label{font-size:15px; color:var(--grey-3); margin-top:8px;}

/* FAQ */
section.faq-section{padding:120px 24px;}
.faq-list{max-width:760px; margin:0 auto;}
.faq-item{border-top:1px solid var(--border-soft);}
.faq-item:last-child{border-bottom:1px solid var(--border-soft);}
.faq-item summary{
  display:flex; align-items:center; justify-content:space-between; gap:24px;
  padding:24px 4px; font-size:17px; font-weight:600; cursor:pointer;
  list-style:none;
}
.faq-item summary::-webkit-details-marker{display:none;}
.faq-icon{flex-shrink:0; color:var(--grey-3); transition:transform .25s ease;}
.faq-item[open] .faq-icon{transform:rotate(180deg); color:var(--yellow);}
.faq-answer{padding:0 4px 24px;}
.faq-answer p{font-size:15.5px; color:var(--grey-3); line-height:1.6; max-width:640px;}

/* TESTIMONIAL */
section.testimonial-section{padding:0 24px 120px;}
.testimonial-card{max-width:720px; margin:0 auto; text-align:center;}
.testimonial-card .quote-mark{margin-bottom:20px;}
.testimonial-quote{font-size:clamp(19px,2.4vw,26px); font-weight:600; letter-spacing:-0.01em; line-height:1.4; margin-bottom:32px;}
.testimonial-author{display:flex; align-items:center; justify-content:center; gap:14px;}
.testimonial-avatar{flex-shrink:0; border-radius:10px;}
.testimonial-name{font-size:15px; font-weight:600;}
.testimonial-role{font-size:13.5px; color:var(--grey-3);}

/* FINAL CTA */
section.final{padding:0 24px 120px;}
.final-box{
  max-width:1180px; margin:0 auto; border-radius:14px; padding:64px 56px;
  background:var(--surface);
  border:1px solid var(--border-soft-2);
  color:var(--white); position:relative; overflow:hidden;
  display:grid; grid-template-columns:1fr 1fr; gap:48px; align-items:center;
}
.final-box > *{position:relative; z-index:1;}
.final-copy h2{font-size:clamp(26px,3.2vw,34px); font-weight:700; letter-spacing:-0.02em; line-height:1.2; margin-bottom:14px;}
.final-copy p{font-size:16px; color:var(--grey-3); margin:0;}
.final-box .btn-primary{background:var(--white); color:var(--black);}

.contact-form{display:flex; flex-direction:column; gap:10px;}
.contact-form input, .contact-form textarea{
  background:rgba(255,255,255,0.06); border:1px solid var(--border-soft-2); border-radius:8px;
  padding:12px 14px; font-size:14.5px; color:var(--white); font-family:inherit; line-height:1.4;
}
.contact-form textarea{resize:vertical;}
.contact-form input::placeholder, .contact-form textarea::placeholder{color:rgba(255,255,255,0.4);}
.contact-form input:focus, .contact-form textarea:focus{outline:none; border-color:var(--yellow);}
.contact-form button{align-self:flex-start; border:none; cursor:pointer; font-family:inherit; padding:12px 26px; font-size:15px; margin-top:2px;}

.funding-bar{
  background:var(--white); padding:10px 24px; display:flex; justify-content:center;
}
.funding-bar img{max-width:100%; height:28px; width:auto; display:block;}

footer{
  padding:48px 24px;
}
.footer-inner{max-width:1180px; margin:0 auto;}
.footer-meta{
  font-size:12.5px; color:var(--grey-3); border-top:1px solid rgba(255,255,255,0.12); padding-top:24px;
  display:flex; justify-content:space-between; flex-wrap:wrap; gap:12px;
}

@media (max-width:760px){
  .nav-toggle{display:block;}
  .nav-cta{display:none;}
  .nav-links{
    display:none; position:absolute; top:100%; left:0; right:0;
    flex-direction:column; gap:0; background:var(--black);
    padding:8px 24px 16px; border-bottom:1px solid rgba(255,255,255,0.1);
    box-shadow:0 12px 24px rgba(0,0,0,0.25);
  }
  .nav-links.open{display:flex;}
  .nav-links li{padding:14px 0; border-top:1px solid rgba(255,255,255,0.1);}
  .nav-links li:first-child{border-top:none;}
  .nav-links-cta{display:block;}
  .nav-links-cta .nav-cta{display:inline-block;}
  section.tiers-section, section.stats, section.articles-section, section.faq-section, section.showcase-section{padding:100px 24px;}
  .final-box{padding:48px 28px; grid-template-columns:1fr; gap:32px;}
  .article{padding:56px 20px 80px;}
}
