@font-face{font-family:'Inter';font-style:normal;font-weight:400;font-display:swap;src:url('assets/fonts/inter-400.woff2') format('woff2');}
@font-face{font-family:'Inter';font-style:normal;font-weight:500;font-display:swap;src:url('assets/fonts/inter-500.woff2') format('woff2');}
@font-face{font-family:'Inter';font-style:normal;font-weight:600;font-display:swap;src:url('assets/fonts/inter-600.woff2') format('woff2');}
@font-face{font-family:'Inter';font-style:normal;font-weight:700;font-display:swap;src:url('assets/fonts/inter-700.woff2') format('woff2');}
:root{
    --void:#000000;
    --panel:#0b0b0b;
    --panel-2:#111111;
    --ink:#f7f7f7;
    --ink-dim:#a1a1a6;
    --ink-faint:#65656a;
    --hairline: rgba(247,247,247,0.09);
    --hairline-strong: rgba(247,247,247,0.18);
    --chrome: linear-gradient(115deg, #ffffff 0%, #cfd2d6 22%, #8d9095 45%, #dfe1e4 62%, #ffffff 100%);
    --max: 1160px;
  }
  *{ margin:0; padding:0; box-sizing:border-box; }
  html{ scroll-behavior:smooth; }
  body{
    background:var(--void);
    color:var(--ink);
    font-family:'Inter', sans-serif;
    font-weight:400;
    line-height:1.55;
    -webkit-font-smoothing:antialiased;
  }
  @media (prefers-reduced-motion: reduce){
    html{ scroll-behavior:auto; }
    *{ animation-duration:0.001ms !important; animation-iteration-count:1 !important; }
  }
  a{ color:inherit; text-decoration:none; }
  img{ display:block; max-width:100%; }
  :focus-visible{ outline:2px solid var(--ink); outline-offset:3px; }

  .wrap{ max-width:var(--max); margin:0 auto; padding:0 40px; }

  .chrome-text{
    background:var(--chrome);
    -webkit-background-clip:text; background-clip:text;
    -webkit-text-fill-color:transparent; color:transparent;
  }

  /* ---------- HEADER ---------- */
  header{
    position:sticky; top:0; z-index:50;
    background:rgba(0,0,0,0.85);
    backdrop-filter:blur(12px);
    border-bottom:1px solid var(--hairline);
  }
  nav.wrap{
    display:flex; align-items:center; justify-content:space-between;
    height:88px;
  }
  .nav-logo img{ height:26px; width:auto; }
  .nav-links{ display:flex; align-items:center; gap:38px; }
  .nav-links a{ font-size:14.5px; color:var(--ink-dim); transition:color .15s ease; }
  .nav-links a:hover{ color:var(--ink); }
  .nav-cta{
    padding:11px 22px; border-radius:6px;
    background:var(--ink); color:#000;
    font-size:14px; font-weight:600; white-space:nowrap;
    transition:opacity .15s ease;
  }
  .nav-cta:hover{ opacity:.85; }

  /* ---------- HERO ---------- */
  .hero{ padding:96px 0 88px; text-align:center; }
  .hero-badge{
    display:inline-flex; align-items:center; gap:8px;
    padding:8px 16px; border-radius:999px;
    border:1px solid var(--hairline-strong);
    font-size:13px; color:var(--ink-dim);
    margin-bottom:36px;
  }
  .hero-badge span{ width:6px; height:6px; border-radius:50%; background:#4ade80; display:inline-block; }
  .hero h1{
    font-size:clamp(38px, 5.8vw, 68px);
    font-weight:700;
    letter-spacing:-0.02em;
    line-height:1.08;
    max-width:16ch;
    margin:0 auto 26px;
  }
  .hero p{
    font-size:19px;
    color:var(--ink-dim);
    max-width:52ch;
    margin:0 auto 44px;
    line-height:1.6;
  }
  .hero-actions{ display:flex; gap:14px; justify-content:center; flex-wrap:wrap; }
  .btn{
    display:inline-flex; align-items:center; justify-content:center;
    padding:15px 28px; border-radius:8px;
    font-size:15px; font-weight:600;
    transition:all .15s ease;
    white-space:nowrap;
  }
  .btn-primary{ background:var(--ink); color:#000; }
  .btn-primary:hover{ opacity:.85; transform:translateY(-1px); }
  .btn-secondary{ background:var(--panel-2); color:var(--ink); border:1px solid var(--hairline-strong); }
  .btn-secondary:hover{ border-color:var(--ink-dim); }

  /* ---------- TICKER ---------- */
  .ticker{ border-top:1px solid var(--hairline); border-bottom:1px solid var(--hairline); overflow:hidden; padding:18px 0; }
  .ticker-track{ display:flex; width:max-content; animation:scroll 34s linear infinite; }
  .ticker-item{
    font-size:13px; letter-spacing:.03em; color:var(--ink-faint);
    padding:0 30px; white-space:nowrap; display:flex; align-items:center; gap:10px;
  }
  .ticker-item::before{ content:''; width:4px; height:4px; border-radius:50%; background:var(--ink-faint); }
  @keyframes scroll{ from{transform:translateX(0);} to{transform:translateX(-50%);} }

  /* ---------- SECTIONS ---------- */
  section{ padding:104px 0; }
  .section-eyebrow{ font-size:14px; color:var(--ink-faint); margin-bottom:16px; }
  .section-head{ max-width:640px; margin-bottom:64px; }
  .section-head h2{
    font-size:clamp(30px, 3.6vw, 42px);
    font-weight:700; letter-spacing:-0.015em; line-height:1.15;
    margin-bottom:16px;
  }
  .section-head p{ font-size:17px; color:var(--ink-dim); line-height:1.65; }

  .center{ text-align:center; }
  .center .section-head{ margin-left:auto; margin-right:auto; }

  /* ---------- MANIFESTO ---------- */
  .manifesto{ padding:80px 0; border-top:1px solid var(--hairline); border-bottom:1px solid var(--hairline); }
  .manifesto p{
    font-size:clamp(26px, 3.6vw, 42px);
    font-weight:600; letter-spacing:-0.015em; line-height:1.3;
    max-width:22ch; margin:0 auto; text-align:center;
  }

  /* ---------- CARDS ---------- */
  .cards{ display:grid; grid-template-columns:repeat(3, 1fr); gap:20px; }
  .card{
    background:var(--panel); border:1px solid var(--hairline);
    border-radius:14px; padding:36px 32px;
    transition:border-color .2s ease, transform .2s ease;
  }
  .card:hover{ border-color:var(--hairline-strong); transform:translateY(-2px); }
  .card-icon{
    width:44px; height:44px; border-radius:10px;
    background:var(--panel-2); border:1px solid var(--hairline);
    display:flex; align-items:center; justify-content:center;
    font-size:19px; margin-bottom:22px;
  }
  .card h3{ font-size:19px; font-weight:600; margin-bottom:12px; }
  .card p{ font-size:15px; color:var(--ink-dim); line-height:1.65; }

  /* ---------- STEPS ---------- */
  .steps{ display:grid; grid-template-columns:repeat(4, 1fr); gap:0; position:relative; }
  .steps::before{
    content:''; position:absolute; top:23px; left:6%; right:6%; height:1px;
    background:var(--hairline-strong);
  }
  .step{ position:relative; padding-right:20px; }
  .step-num{
    width:46px; height:46px; border-radius:50%;
    background:var(--void); border:1px solid var(--hairline-strong);
    display:flex; align-items:center; justify-content:center;
    font-size:16px; font-weight:700; margin-bottom:24px; position:relative; z-index:2;
  }
  .step h3{ font-size:17px; font-weight:600; margin-bottom:10px; }
  .step p{ font-size:14.5px; color:var(--ink-dim); line-height:1.6; }

  /* ---------- FOUNDER ---------- */
  .founder{ border-top:1px solid var(--hairline); }
  .founder-grid{ display:grid; grid-template-columns:0.95fr 1.05fr; gap:64px; align-items:start; }
  .founder-intro h2{
    font-size:clamp(28px, 3.2vw, 38px); font-weight:700; letter-spacing:-0.015em;
    line-height:1.2; margin-bottom:20px;
  }
  .founder-intro p{ font-size:16.5px; color:var(--ink-dim); line-height:1.7; margin-bottom:16px; }
  .founder-name{ color:var(--ink); font-weight:600; }
  .cred-grid{ display:grid; grid-template-columns:1fr 1fr; gap:12px; }
  .cred{
    background:var(--panel); border:1px solid var(--hairline);
    border-radius:12px; padding:20px 22px;
  }
  .cred-org{ font-size:12.5px; color:var(--ink-faint); margin-bottom:6px; text-transform:uppercase; letter-spacing:.04em; }
  .cred-title{ font-size:14.5px; font-weight:600; line-height:1.4; }

  /* ---------- COMPLIANCE ---------- */
  .compliance{ border-top:1px solid var(--hairline); }
  .compliance-box{
    background:var(--panel); border:1px solid var(--hairline);
    border-radius:16px; padding:40px 44px;
    max-width:820px; margin:0 auto;
  }
  .compliance-box p{ font-size:15px; line-height:1.75; color:var(--ink-dim); text-align:center; }
  .compliance-box p strong{ color:var(--ink); font-weight:600; }
  .compliance-box p + p{ margin-top:12px; }

  /* ---------- CTA ---------- */
  .cta{ border-top:1px solid var(--hairline); text-align:center; }
  .cta h2{
    font-size:clamp(34px, 5vw, 56px); font-weight:700; letter-spacing:-0.02em;
    line-height:1.1; max-width:16ch; margin:0 auto 20px;
  }
  .cta p{ font-size:17px; color:var(--ink-dim); max-width:48ch; margin:0 auto 40px; line-height:1.6; }

  /* ---------- FOOTER ---------- */
  footer{ border-top:1px solid var(--hairline); padding:48px 0 56px; }
  .footer-top{
    display:flex; justify-content:space-between; align-items:flex-start; gap:40px; flex-wrap:wrap;
    padding-bottom:32px; border-bottom:1px solid var(--hairline); margin-bottom:24px;
  }
  .footer-logo img{ height:18px; margin-bottom:14px; }
  .footer-legal{ font-size:13px; color:var(--ink-faint); line-height:1.7; max-width:44ch; }
  .footer-links{ display:flex; gap:28px; flex-wrap:wrap; }
  .footer-links a{ font-size:13.5px; color:var(--ink-dim); }
  .footer-links a:hover{ color:var(--ink); }
  .footer-bottom{ font-size:12.5px; color:var(--ink-faint); display:flex; justify-content:space-between; flex-wrap:wrap; gap:12px; }

  /* ---------- RESPONSIVE ---------- */
  @media (max-width: 860px){
    .wrap{ padding:0 22px; }
    .hero{ padding:64px 0 56px; }
    section{ padding:72px 0; }
    .cards{ grid-template-columns:1fr; }
    .steps{ grid-template-columns:1fr 1fr; row-gap:36px; }
    .steps::before{ display:none; }
    .founder-grid{ grid-template-columns:1fr; gap:36px; }
    .cred-grid{ grid-template-columns:1fr; }
    .compliance-box{ padding:30px 26px; }
    .footer-top{ flex-direction:column; }
  }

/* ---------- INNER PAGE HERO (Platform, Solutions, Invest, About, Contact) ---------- */
.page-hero{ padding:64px 0 56px; border-bottom:1px solid var(--hairline); }
.breadcrumb{ font-size:13px; color:var(--ink-faint); margin-bottom:20px; }
.breadcrumb a{ color:var(--ink-faint); }
.breadcrumb a:hover{ color:var(--ink-dim); }
.page-hero h1{
  font-size:clamp(32px, 4.5vw, 52px); font-weight:700; letter-spacing:-0.02em;
  line-height:1.1; max-width:18ch; margin-bottom:20px;
}
.page-hero p{ font-size:18px; color:var(--ink-dim); max-width:56ch; line-height:1.6; }

/* ---------- PROSE (long-form content blocks) ---------- */
.prose{ max-width:720px; }
.prose h2{ font-size:24px; font-weight:600; letter-spacing:-0.01em; margin:44px 0 16px; }
.prose h2:first-child{ margin-top:0; }
.prose p{ font-size:16px; color:var(--ink-dim); line-height:1.75; margin-bottom:16px; }
.prose ul{ margin:0 0 16px; padding-left:20px; }
.prose li{ font-size:16px; color:var(--ink-dim); line-height:1.75; margin-bottom:8px; }
.prose li strong{ color:var(--ink); font-weight:600; }
.prose strong{ color:var(--ink); font-weight:600; }

/* ---------- FLEXIBLE CARD GRID (adapts to item count) ---------- */
.cards{ grid-template-columns:repeat(auto-fit, minmax(260px, 1fr)); }
.card-link{
  display:inline-flex; align-items:center; gap:6px;
  font-size:14px; font-weight:600; color:var(--ink); margin-top:18px;
}
.card-link:hover{ opacity:.75; }

/* ---------- SIMPLE CENTERED CARDS (Invest index) ---------- */
.cards-2{ display:grid; grid-template-columns:repeat(auto-fit, minmax(320px, 1fr)); gap:20px; }

/* ---------- DISCLAIMER NOTE ---------- */
.note{ font-size:13.5px; color:var(--ink-faint); line-height:1.6; margin-top:16px; font-style:normal; }

/* ---------- CONTACT FORM ---------- */
.form-grid{ max-width:560px; }
.form-row{ margin-bottom:20px; }
.form-row label{ display:block; font-size:13.5px; color:var(--ink-dim); margin-bottom:8px; }
.form-row input, .form-row textarea{
  width:100%; padding:13px 16px; background:var(--panel);
  border:1px solid var(--hairline-strong); border-radius:8px;
  color:var(--ink); font-family:'Inter', sans-serif; font-size:15px;
}
.form-row input:focus, .form-row textarea:focus{ outline:none; border-color:var(--ink-dim); }
.form-row textarea{ min-height:140px; resize:vertical; }
.contact-grid{ display:grid; grid-template-columns:1fr 1fr; gap:64px; align-items:start; }
.contact-info h3{ font-size:15px; font-weight:600; margin-bottom:8px; }
.contact-info p{ font-size:15px; color:var(--ink-dim); margin-bottom:28px; line-height:1.6; }
.contact-info a{ color:var(--ink); }

@media (max-width: 860px){
  .contact-grid{ grid-template-columns:1fr; gap:32px; }
}

/* button reset for form submit */
button.btn{ border:none; cursor:pointer; font-family:'Inter', sans-serif; }

/* ---------- MOBILE NAV: horizontal scroll strip ---------- */
@media (max-width: 860px){
  nav.wrap{
    flex-direction:column;
    align-items:stretch;
    height:auto;
    padding-top:14px;
    padding-bottom:10px;
    gap:10px;
  }
  .nav-logo{ align-self:flex-start; }
  .nav-links{
    display:flex;
    flex-direction:row;
    align-items:center;
    gap:22px;
    overflow-x:auto;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
    padding-bottom:2px;
    mask-image:linear-gradient(90deg, transparent 0, #000 16px, #000 calc(100% - 16px), transparent 100%);
  }
  .nav-links::-webkit-scrollbar{ display:none; }
  .nav-links a{
    font-size:13.5px;
    white-space:nowrap;
    flex-shrink:0;
  }
  .nav-links .nav-cta{
    padding:9px 16px;
    font-size:13px;
  }
}

.footer-bottom a{ color:var(--ink-faint); }
.footer-bottom a:hover{ color:var(--ink-dim); }

/* ---------- INTRO VIDEO (home) ---------- */
.intro{
  position:relative;
  height:calc(100vh - 89px);
  min-height:520px;
  display:flex; align-items:center; justify-content:center;
  background:#000;
  overflow:hidden;
}
.intro-video{
  height:86%;
  max-height:900px;
  width:auto;
  max-width:92vw;
  object-fit:contain;
  display:block;
}
.scroll-cue{
  position:absolute; bottom:28px; left:50%; transform:translateX(-50%);
  width:26px; height:42px; border:1px solid var(--hairline-strong); border-radius:14px;
}
.scroll-cue span{
  position:absolute; top:8px; left:50%; width:3px; height:8px; margin-left:-1.5px;
  border-radius:2px; background:var(--ink-dim);
  animation:cue 1.8s ease-in-out infinite;
}
@keyframes cue{ 0%{opacity:0; transform:translateY(0);} 30%{opacity:1;} 100%{opacity:0; transform:translateY(14px);} }
html{ scroll-padding-top:90px; }
@media (max-width: 860px){
  .intro{ height:auto; min-height:0; padding:28px 0 72px; }
  .intro-video{ height:62vh; max-width:100%; }
  html{ scroll-padding-top:120px; }
}
