/* ── Shared: Reset ── */
*, *::before, *::after { box-sizing:border-box; margin:0; padding:0; }

/* ── Shared: Variables ── */
:root {
  --bg:#08070E; --panel:#0E0C1A; --card:#131025; --border:rgba(255,255,255,.08);
  --p:#7C3AED; --p2:#8B47F5; --pl:#A87CF4; --pdim:rgba(124,58,237,.12);
  --white:#EAE6F8; --mid:rgba(234,230,248,.58); --soft:rgba(234,230,248,.36);
  --r:12px; --r2:18px; --max:1100px;
}

/* ── Shared: Base ── */
html { scroll-behavior:smooth; }
body { background:var(--bg); color:var(--white); font-family:"DM Sans",sans-serif; font-size:16px; line-height:1.65; overflow-x:hidden; -webkit-font-smoothing:antialiased; }

/* ── Shared: Nav ── */
nav { position:fixed; top:0; left:0; right:0; z-index:900; height:60px; display:flex; align-items:center; justify-content:space-between; padding:0 32px; background:rgba(8,7,14,.88); backdrop-filter:blur(20px); border-bottom:1px solid var(--border); }
.logo { display:flex; align-items:center; gap:10px; text-decoration:none; }
.logo-mark { width:28px; height:28px; border-radius:6px; background:#7C3AED; display:flex; align-items:center; justify-content:center; flex-shrink:0; font-size:15px; font-weight:700; color:#fff; letter-spacing:-.01em; }
.logo-name { font-size:13.5px; font-weight:600; letter-spacing:.06em; text-transform:uppercase; color:var(--white); line-height:1.2; }
.logo-sub { display:block; font-size:8.5px; letter-spacing:.2em; color:var(--soft); font-weight:400; }
.nav-links { display:flex; gap:22px; list-style:none; }
.nav-links a { font-size:13px; font-weight:500; color:var(--mid); text-decoration:none; transition:color .2s; }
.nav-links a:hover, .nav-links a.active { color:var(--white); }

/* ── Shared: Buttons ── */
.btn { display:inline-flex; align-items:center; gap:6px; font-family:"DM Sans",sans-serif; font-weight:500; font-size:13.5px; text-decoration:none; border-radius:8px; padding:9px 20px; cursor:pointer; border:none; transition:all .2s; white-space:nowrap; }
.btn-sm { font-size:13px; padding:8px 18px; border-radius:7px; }
.btn-ghost { background:transparent; color:var(--mid); border:1px solid var(--border); }
.btn-ghost:hover { color:var(--white); border-color:rgba(255,255,255,.2); background:rgba(255,255,255,.04); }
.btn-p { background:var(--p); color:#fff; }
.btn-p:hover { background:var(--p2); transform:translateY(-1px); box-shadow:0 8px 28px rgba(124,58,237,.4); }
.btn-lg { font-size:15px; padding:13px 28px; border-radius:10px; }
.btn-outline { background:transparent; color:var(--white); border:1px solid rgba(255,255,255,.22); }
.btn-outline:hover { background:rgba(255,255,255,.05); }

/* ── Shared: Layout Utilities ── */
.wrap { max-width:var(--max); margin:0 auto; padding:0 35px; }
.sp { padding:96px 0; }
.section-bg { background:var(--panel); }

/* ── Shared: Typography ── */
.eyebrow { display:inline-flex; align-items:center; gap:9px; font-size:11px; font-weight:500; letter-spacing:.14em; text-transform:uppercase; color:var(--pl); margin-bottom:20px; }
.eyebrow::before { content:""; width:18px; height:1px; background:var(--pl); }
h1 { font-size:clamp(38px,5vw,64px); font-weight:600; line-height:1.04; letter-spacing:-.03em; margin-bottom:20px; }
h2 { font-size:clamp(26px,3vw,42px); font-weight:600; line-height:1.08; letter-spacing:-.025em; }
h1 em, h2 em { font-style:italic; font-weight:300; color:var(--pl); }
.lead { font-size:17px; color:var(--mid); line-height:1.72; max-width:520px; margin-top:14px; }

/* ── Shared: CTA Strip ── */
.cta-strip { padding:96px 35px; text-align:center; position:relative; overflow:hidden; }
.cta-orb { position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); width:600px; height:400px; background:radial-gradient(ellipse,rgba(124,58,237,.15) 0%,transparent 65%); pointer-events:none; }
.cta-inner { position:relative; max-width:560px; margin:0 auto; }
.cta-h { font-size:clamp(28px,3.5vw,46px); font-weight:600; letter-spacing:-.025em; line-height:1.08; margin-bottom:16px; }
.cta-h em { font-style:italic; font-weight:300; color:var(--pl); }
.cta-p { font-size:16px; color:var(--mid); margin-bottom:32px; line-height:1.68; }
.cta-btns { display:flex; align-items:center; justify-content:center; gap:12px; }

/* ── Shared: AI Strip ── */
.ai-strip { background:var(--card); border-top:1px solid var(--border); border-bottom:1px solid var(--border); padding:44px 0; }
.ai-inner { max-width:var(--max); margin:0 auto; padding:0 35px; display:flex; align-items:center; justify-content:space-between; gap:60px; }
.ai-left { max-width:540px; }
.ai-label { font-size:10.5px; font-weight:500; letter-spacing:.14em; text-transform:uppercase; color:var(--pl); margin-bottom:10px; }
.ai-title { font-size:21px; font-weight:600; letter-spacing:-.02em; margin-bottom:10px; }
.ai-body { font-size:15px; color:var(--mid); line-height:1.68; }
.ai-chips { display:flex; gap:10px; flex-wrap:wrap; }
.ai-chip { font-size:12px; font-weight:500; color:var(--pl); background:var(--pdim); border:1px solid rgba(124,58,237,.25); border-radius:100px; padding:5px 14px; }

/* ── Shared: Footer ── */
footer { background:var(--panel); border-top:1px solid var(--border); padding:52px 35px 32px; }
.foot-inner { max-width:var(--max); margin:0 auto; }
.foot-top { display:grid; grid-template-columns:2fr 1fr 1fr 1fr; gap:48px; margin-bottom:40px; }
.foot-desc { font-size:13.5px; color:var(--soft); line-height:1.68; margin-top:14px; max-width:270px; }
.fc-t { font-size:11px; font-weight:600; letter-spacing:.12em; text-transform:uppercase; color:var(--white); margin-bottom:14px; }
.fc-ul { list-style:none; display:flex; flex-direction:column; gap:10px; }
.fc-ul a { font-size:13.5px; color:var(--soft); text-decoration:none; transition:color .2s; }
.fc-ul a:hover { color:var(--white); }
.foot-bottom { border-top:1px solid var(--border); padding-top:20px; display:flex; justify-content:space-between; }
.foot-legal { font-size:12px; color:rgba(234,230,248,.2); }
.foot-conf { font-size:10px; font-weight:500; letter-spacing:.12em; text-transform:uppercase; color:rgba(234,230,248,.18); }

/* ── Shared: Responsive ── */
@media(max-width:960px) {
  nav { padding:0 20px; } .nav-links { display:none; }
  .wrap { padding:0 16px; }
  .ai-inner { flex-direction:column; gap:28px; }
  .foot-top { grid-template-columns:1fr 1fr; } footer { padding:48px 16px 28px; }
  .cta-strip { padding:80px 16px; }
}

/* ── Shared: Page Hero ── */
.page-hero { position:relative; padding:140px 35px 80px; overflow:hidden; }
.ph-bg { position:absolute; inset:0; background-size:cover; background-position:center; filter:grayscale(100%) brightness(.45) contrast(1.05); }
.ph-overlay { position:absolute; inset:0; background:linear-gradient(135deg,rgba(8,7,14,.92) 0%,rgba(8,7,14,.57) 55%,rgba(8,7,14,0) 100%); }
.ph-content { position:relative; max-width:var(--max); margin:0 auto; }
.ph-sub { font-size:17px; color:var(--mid); max-width:520px; line-height:1.7; margin-top:16px; }

/* ── Shared: Cards ── */
h3 { font-size:20px; font-weight:600; letter-spacing:-.018em; }
h3 em { font-style:italic; font-weight:300; color:var(--pl); }
.sp-sm { padding:64px 0; }
.section-card { background:var(--card); }
.card { background:var(--card); border:1px solid var(--border); border-radius:var(--r2); padding:36px; transition:border-color .3s; }
.card:hover { border-color:rgba(124,58,237,.35); }
.card-grid-2 { display:grid; grid-template-columns:1fr 1fr; gap:20px; margin-top:48px; }
.card-grid-3 { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; margin-top:48px; }
.card-num { font-size:11px; font-weight:500; letter-spacing:.12em; text-transform:uppercase; color:var(--pl); margin-bottom:14px; }
.card-icon { color:var(--pl); margin-bottom:16px; }
.card-title { font-size:19px; font-weight:600; letter-spacing:-.015em; margin-bottom:10px; }
.card-body { font-size:14.5px; color:var(--mid); line-height:1.7; }
.card-list { list-style:none; margin-top:16px; display:flex; flex-direction:column; gap:9px; }
.card-list li { display:flex; gap:10px; font-size:14px; color:var(--mid); line-height:1.6; }
.card-list li::before { content:""; width:4px; height:4px; border-radius:50%; background:var(--pl); margin-top:8px; flex-shrink:0; }

/* ── Shared: Image Break ── */
.img-break { position:relative; height:320px; overflow:hidden; }
.ib-photo { position:absolute; inset:0; background-size:cover; background-position:center; filter:grayscale(100%) brightness(.42) contrast(1.05); }
.ib-overlay { position:absolute; inset:0; background:linear-gradient(180deg,var(--panel) 0%,transparent 18%,transparent 82%,var(--bg) 100%); }
.ib-text { position:absolute; inset:0; display:flex; align-items:center; justify-content:center; padding:40px; }
.ib-quote { font-size:clamp(18px,2.4vw,28px); font-weight:400; letter-spacing:-.02em; color:rgba(255,255,255,.9); max-width:680px; text-align:center; line-height:1.35; }
.ib-quote em { font-style:italic; font-weight:300; color:var(--pl); }

/* ── Shared: Fee Badge & Callout ── */
.fee-badge { display:inline-flex; align-items:center; gap:8px; background:var(--pdim); border:1px solid rgba(168,124,244,.35); border-radius:100px; padding:7px 16px; font-size:12px; font-weight:600; color:var(--pl); letter-spacing:.03em; margin-top:20px; }
.fee-badge-dot { width:6px; height:6px; border-radius:50%; background:var(--pl); flex-shrink:0; }
.fee-callout { background:var(--pdim); border:1px solid rgba(168,124,244,.28); border-left:3px solid var(--p); border-radius:0 var(--r) var(--r) 0; padding:18px 20px; margin-top:28px; }
.fc-head { font-size:13px; font-weight:600; color:var(--pl); margin-bottom:6px; display:flex; align-items:center; gap:8px; }
.fc-head-icon { color:var(--pl); }
.fc-desc { font-size:13px; color:var(--mid); line-height:1.65; }

/* ── Shared: Disclosure Tags ── */
.disclos-tags { display:flex; gap:8px; flex-wrap:wrap; margin-top:16px; }
.dtag { font-size:12px; font-weight:500; background:rgba(255,255,255,.05); border:1px solid var(--border); border-radius:6px; padding:5px 12px; color:var(--mid); }
.dtag.active { background:var(--pdim); border-color:rgba(168,124,244,.35); color:var(--pl); }

/* ── Shared: Responsive (extended) ── */
@media(max-width:960px) {
  .page-hero { padding:120px 16px 60px; }
  .card-grid-2, .card-grid-3 { grid-template-columns:1fr; }
}

/* ── Page: Home ── */
.hero { position:relative; display:grid; grid-template-columns:1fr 1fr; min-height:100vh; overflow:hidden; padding-top:60px; }
.hero-left { position:relative; z-index:2; display:flex; flex-direction:column; justify-content:center; padding:80px 27px 80px max(35px, calc((100vw - var(--max)) / 2)); }
.hero-right { position:relative; overflow:hidden; }
.h-img { position:absolute; inset:0; background-image:url("https://images.pexels.com/photos/466685/pexels-photo-466685.jpeg?auto=compress&cs=tinysrgb&w=1400"); background-size:cover; background-position:center; filter:grayscale(100%) brightness(.5) contrast(1.1); }
.h-fade { position:absolute; inset:0; background:linear-gradient(90deg,var(--bg) 0%,rgba(8,7,14,.12) 50%,rgba(8,7,14,.52) 100%); }
.hero-p { font-size:17px; color:var(--mid); max-width:440px; margin-bottom:40px; line-height:1.72; }
.hero-btns { display:flex; gap:12px; margin-bottom:52px; }
.pillars { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; margin-top:52px; }
.pillar { background:var(--card); border:1px solid var(--border); border-radius:var(--r2); padding:34px 30px; transition:border-color .3s; }
.pillar:hover { border-color:rgba(124,58,237,.4); }
.pillar-for { font-size:11px; font-weight:500; letter-spacing:.12em; text-transform:uppercase; color:var(--pl); margin-bottom:12px; }
.pillar-title { font-size:18px; font-weight:600; letter-spacing:-.015em; margin-bottom:10px; }
.pillar-body { font-size:14px; color:var(--mid); line-height:1.68; margin-bottom:16px; }
.pillar-link { font-size:13px; font-weight:500; color:var(--pl); text-decoration:none; display:inline-flex; align-items:center; gap:5px; }
.pillar-link:hover { color:var(--white); }
.how-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:0; margin-top:52px; position:relative; }
.how-grid::before { content:""; position:absolute; top:28px; left:12.5%; right:12.5%; height:1px; background:linear-gradient(90deg,transparent,var(--border) 20%,var(--border) 80%,transparent); }
.how-step { display:flex; flex-direction:column; align-items:center; text-align:center; padding:0 20px; }
.how-num { width:56px; height:56px; border-radius:50%; border:1px solid rgba(124,58,237,.35); background:var(--pdim); display:flex; align-items:center; justify-content:center; font-size:13px; font-weight:600; color:var(--pl); margin-bottom:18px; position:relative; z-index:1; }
.how-title { font-size:15px; font-weight:600; margin-bottom:8px; }
.how-body { font-size:13.5px; color:var(--mid); line-height:1.6; }
@media(max-width:960px) {
  .hero { grid-template-columns:1fr; } .hero-right { display:none; }
  .hero-left { padding:80px 16px; } .pillars { grid-template-columns:1fr; }
  .how-grid { grid-template-columns:1fr 1fr; gap:32px; }
  .how-grid::before { display:none; }
}

/* ── Page: Products ── */
.prod-hero-tabs { display:flex; gap:4px; margin-top:40px; }
.pht-btn { font-family:"DM Sans",sans-serif; font-size:14px; font-weight:500; background:rgba(255,255,255,.06); border:1px solid var(--border); border-radius:8px; color:var(--mid); padding:9px 22px; cursor:pointer; transition:all .2s; }
.pht-btn.on, .pht-btn:hover { background:var(--p); color:#fff; border-color:var(--p); }
.prod-panel { display:none; }
.prod-panel.on { display:block; animation:fadeUp .3s ease both; }
@keyframes fadeUp { from{opacity:0;transform:translateY(8px)} to{opacity:1;transform:translateY(0)} }
.flow-diagram { margin-top:48px; display:grid; grid-template-columns:1fr 1fr; gap:24px; }
.flow-col { display:flex; flex-direction:column; }
.flow-col-title { font-size:10.5px; font-weight:600; letter-spacing:.14em; text-transform:uppercase; color:var(--pl); margin-bottom:20px; text-align:center; }
.vf-step { display:flex; flex-direction:column; align-items:stretch; }
.vf-node { border-radius:10px; padding:16px 18px; display:flex; gap:14px; align-items:flex-start; border:1px solid rgba(124,58,237,.22); background:var(--card); }
.vf-node.rwy { border-color:rgba(124,58,237,.22); background:var(--card); }
.vf-num { width:26px; height:26px; border-radius:50%; background:rgba(168,124,244,.15); border:1px solid rgba(168,124,244,.3); display:flex; align-items:center; justify-content:center; font-size:11px; font-weight:600; color:var(--pl); flex-shrink:0; margin-top:1px; }
.vf-body { flex:1; }
.vf-actor { font-size:10px; font-weight:600; letter-spacing:.12em; text-transform:uppercase; color:var(--pl); margin-bottom:3px; }
.vf-action { font-size:13.5px; font-weight:500; color:var(--white); line-height:1.45; }
.vf-detail { font-size:12.5px; color:var(--mid); line-height:1.55; margin-top:5px; }
.vf-connector { display:flex; align-items:center; justify-content:center; padding:5px 0; gap:0; position:relative; height:32px; }
.vf-connector::before { content:""; position:absolute; left:50%; top:0; bottom:0; width:1px; background:linear-gradient(180deg,rgba(168,124,244,.5),rgba(168,124,244,.2)); }
.vf-connector-arrow { color:var(--pl); font-size:13px; position:relative; z-index:1; background:var(--bg); padding:0 4px; line-height:1; }
.flow-caption { margin-top:8px; grid-column:1/-1; font-size:13px; color:var(--soft); line-height:1.6; text-align:center; border-top:1px solid var(--border); padding-top:18px; }
.benefit-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin-top:40px; }
.benefit-card { background:var(--panel); border:1px solid var(--border); border-radius:var(--r); padding:26px; }
.bc-icon { font-size:22px; margin-bottom:12px; color:var(--pl); }
.bc-title { font-size:15px; font-weight:600; margin-bottom:8px; }
.bc-body { font-size:13.5px; color:var(--mid); line-height:1.65; }
.explainer-grid { display:grid; grid-template-columns:1fr 1fr; gap:32px; align-items:start; margin-top:48px; }
.explainer-steps { display:flex; flex-direction:column; gap:0; }
.ex-step { display:flex; gap:20px; padding-bottom:32px; position:relative; }
.ex-step:not(:last-child)::before { content:""; position:absolute; left:18px; top:40px; bottom:0; width:1px; background:linear-gradient(180deg,rgba(124,58,237,.4),rgba(124,58,237,.08)); }
.ex-num { width:36px; height:36px; border-radius:50%; background:var(--pdim); border:1px solid rgba(124,58,237,.4); display:flex; align-items:center; justify-content:center; font-size:12px; font-weight:600; color:var(--pl); flex-shrink:0; }
.ex-content { padding-top:6px; }
.ex-title { font-size:15px; font-weight:600; margin-bottom:6px; }
.ex-body { font-size:14px; color:var(--mid); line-height:1.65; }
.explainer-aside { background:var(--card); border:1px solid var(--border); border-radius:var(--r2); padding:34px; position:sticky; top:80px; }
.ea-label { font-size:10.5px; font-weight:600; letter-spacing:.12em; text-transform:uppercase; color:var(--pl); margin-bottom:16px; }
.ea-stat { border-bottom:1px solid var(--border); padding:16px 0; }
.ea-stat:last-child { border-bottom:none; }
.ea-val { font-size:26px; font-weight:600; letter-spacing:-.02em; color:var(--white); margin-bottom:3px; }
.ea-desc { font-size:13px; color:var(--mid); line-height:1.5; }
@media(max-width:960px) {
  .benefit-grid { grid-template-columns:1fr 1fr; }
  .explainer-grid { grid-template-columns:1fr; }
  .prod-hero-tabs { flex-wrap:wrap; }
}
@media(max-width:700px) {
  .flow-diagram { grid-template-columns:1fr; }
}

/* ── Page: Partners ── */
.who-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin-top:48px; }
.who-card { background:var(--card); border:1px solid var(--border); border-radius:var(--r); padding:28px 24px; }
.wc-title { font-size:15px; font-weight:600; margin-bottom:8px; }
.wc-body { font-size:13.5px; color:var(--mid); line-height:1.65; }
.how-refer { display:grid; grid-template-columns:1fr 1fr; gap:40px; align-items:start; margin-top:48px; }
.refer-steps { display:flex; flex-direction:column; gap:0; }
.rs-step { display:flex; gap:18px; padding-bottom:28px; position:relative; }
.rs-step:not(:last-child)::before { content:""; position:absolute; left:17px; top:38px; bottom:0; width:1px; background:linear-gradient(180deg,rgba(124,58,237,.35),rgba(124,58,237,.06)); }
.rs-num { width:34px; height:34px; border-radius:50%; background:var(--pdim); border:1px solid rgba(124,58,237,.4); display:flex; align-items:center; justify-content:center; font-size:12px; font-weight:600; color:var(--pl); flex-shrink:0; }
.rs-body { padding-top:5px; }
.rs-title { font-size:15px; font-weight:600; margin-bottom:5px; }
.rs-text { font-size:14px; color:var(--mid); line-height:1.65; }
.fee-card { background:var(--card); border:1px solid rgba(124,58,237,.3); border-radius:var(--r2); padding:36px; position:sticky; top:80px; }
.fc-eyebrow { font-size:10.5px; font-weight:600; letter-spacing:.14em; text-transform:uppercase; color:var(--pl); margin-bottom:16px; }
.fc-title { font-size:20px; font-weight:600; letter-spacing:-.018em; margin-bottom:12px; }
.fc-body { font-size:14px; color:var(--mid); line-height:1.65; margin-bottom:20px; }
.fc-points { display:flex; flex-direction:column; gap:12px; border-top:1px solid var(--border); padding-top:20px; }
.fc-point { display:flex; gap:10px; }
.fc-check { color:var(--pl); flex-shrink:0; margin-top:2px; }
.fc-pt { font-size:13.5px; color:var(--mid); line-height:1.55; }
.fc-pt strong { color:var(--white); font-weight:500; }
.principle-grid { display:grid; grid-template-columns:1fr 1fr; gap:20px; margin-top:44px; }
.principle-card { background:var(--panel); border:1px solid var(--border); border-radius:var(--r); padding:28px; }
.pc2-num { font-size:28px; font-weight:600; color:var(--pl); letter-spacing:-.02em; margin-bottom:10px; }
.pc2-title { font-size:15px; font-weight:600; margin-bottom:7px; }
.pc2-body { font-size:13.5px; color:var(--mid); line-height:1.65; }
@media(max-width:960px) {
  .who-grid { grid-template-columns:1fr 1fr; }
  .how-refer { grid-template-columns:1fr; }
  .principle-grid { grid-template-columns:1fr; }
}

/* ── Page: Get Started ── */
.gs-layout { max-width:var(--max); margin:0 auto; padding:52px 35px 100px; display:grid; grid-template-columns:1fr 360px; gap:64px; align-items:start; }
.form-box { background:var(--panel); border:1px solid var(--border); border-radius:var(--r2); padding:46px; }
.form-h { font-size:22px; font-weight:600; letter-spacing:-.02em; margin-bottom:8px; }
.form-sub { font-size:14.5px; color:var(--mid); margin-bottom:28px; line-height:1.6; }
.interest-row { display:flex; flex-direction:column; gap:9px; margin-bottom:28px; }
.ic { border:1.5px solid var(--border); border-radius:var(--r); padding:14px 16px; cursor:pointer; transition:all .2s; display:flex; align-items:center; gap:13px; position:relative; background:transparent; }
.ic:hover { border-color:rgba(124,58,237,.4); background:rgba(124,58,237,.04); }
.ic.on { border-color:var(--p); background:var(--pdim); }
.ic input { position:absolute; opacity:0; pointer-events:none; }
.ic-icon { width:34px; height:34px; border-radius:8px; background:rgba(168,124,244,.12); display:flex; align-items:center; justify-content:center; color:var(--pl); flex-shrink:0; }
.ic-text { flex:1; }
.ic-n { font-size:14px; font-weight:600; color:var(--white); margin-bottom:1px; }
.ic-d { font-size:12px; color:var(--soft); line-height:1.4; }
.ic-check { width:18px; height:18px; border-radius:50%; border:1.5px solid var(--border); flex-shrink:0; display:flex; align-items:center; justify-content:center; position:relative; transition:all .2s; }
.ic.on .ic-check { background:var(--p); border-color:var(--p); }
.ic.on .ic-check::after { content:""; position:absolute; width:6px; height:6px; border-radius:50%; background:#fff; }
.f-section-label { font-size:10.5px; font-weight:600; letter-spacing:.14em; text-transform:uppercase; color:var(--soft); border-top:1px solid var(--border); padding-top:22px; margin-top:6px; margin-bottom:16px; }
.f-row { display:grid; grid-template-columns:1fr 1fr; gap:13px; margin-bottom:13px; }
.f-field { display:flex; flex-direction:column; gap:5px; }
.f-label { font-size:12px; font-weight:500; color:var(--mid); letter-spacing:.02em; }
.f-label .opt { font-weight:400; color:var(--soft); }
.f-input, .f-select { background:rgba(255,255,255,.05); border:1px solid var(--border); border-radius:8px; padding:10px 13px; font-family:"DM Sans",sans-serif; font-size:14px; color:var(--white); outline:none; width:100%; transition:border-color .2s; }
.f-input::placeholder { color:var(--soft); }
.f-input:focus, .f-select:focus { border-color:rgba(124,58,237,.5); background:rgba(124,58,237,.06); }
.f-select { appearance:none; cursor:pointer; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='rgba(234,230,248,0.36)' d='M6 8L0 0h12z'/%3E%3C/svg%3E"); background-repeat:no-repeat; background-position:right 13px center; padding-right:34px; }
.f-select option { background:#1a1630; }
.fg { display:none; }
.fg.on { display:block; animation:fgIn .22s ease both; }
@keyframes fgIn { from{opacity:0} to{opacity:1} }
.f-note { font-size:12.5px; color:var(--mid); margin-top:12px; line-height:1.58; padding:12px 14px; background:var(--pdim); border:1px solid rgba(124,58,237,.2); border-radius:8px; }
.f-note strong { color:var(--pl); font-weight:500; }
.f-submit { width:100%; margin-top:24px; background:var(--p); color:#fff; border:none; border-radius:10px; font-family:"DM Sans",sans-serif; font-weight:500; font-size:15px; padding:14px; cursor:pointer; transition:all .22s; }
.f-submit:hover { background:var(--p2); transform:translateY(-1px); box-shadow:0 8px 28px rgba(124,58,237,.4); }
#fSuccess { display:none; text-align:center; padding:10px 0 6px; }
.f-success-icon { width:52px; height:52px; border-radius:50%; background:var(--pdim); border:1px solid rgba(124,58,237,.4); display:flex; align-items:center; justify-content:center; margin:0 auto 20px; font-size:22px; color:var(--pl); }
.f-success-h { font-size:24px; font-weight:600; letter-spacing:-.02em; margin-bottom:12px; }
.f-success-p { font-size:15px; color:var(--mid); line-height:1.65; margin-bottom:24px; }
.f-success-box { background:var(--pdim); border:1px solid rgba(124,58,237,.28); border-radius:var(--r); padding:20px 22px; text-align:left; margin-bottom:24px; }
.fsb-label { font-size:10.5px; font-weight:600; letter-spacing:.12em; text-transform:uppercase; color:var(--pl); margin-bottom:8px; }
.fsb-text { font-size:14px; color:var(--mid); line-height:1.62; }
.currency-notice { display:none; margin-top:10px; background:rgba(124,58,237,.08); border:1px solid rgba(124,58,237,.25); border-radius:9px; padding:13px 14px; gap:10px; flex-direction:row; align-items:flex-start; }
.currency-notice.on { display:flex; }
.cn-icon { color:var(--pl); flex-shrink:0; margin-top:1px; }
.cn-body { flex:1; }
.cn-title { font-size:12px; font-weight:600; color:var(--pl); letter-spacing:.02em; margin-bottom:4px; }
.cn-text { font-size:12.5px; color:var(--mid); line-height:1.55; margin-bottom:10px; }
.cn-signup { display:flex; gap:7px; }
.cn-input { flex:1; background:rgba(255,255,255,.07); border:1px solid rgba(255,255,255,.14); border-radius:7px; padding:7px 11px; font-family:"DM Sans",sans-serif; font-size:13px; color:var(--white); outline:none; min-width:0; transition:border-color .2s; }
.cn-input::placeholder { color:var(--soft); }
.cn-input:focus { border-color:rgba(124,58,237,.5); }
.cn-btn { background:var(--p); color:#fff; border:none; border-radius:7px; font-family:"DM Sans",sans-serif; font-size:12.5px; font-weight:500; padding:7px 14px; cursor:pointer; transition:background .2s; flex-shrink:0; }
.cn-btn:hover { background:var(--p2); }
.cn-confirmed { display:none; font-size:13px; font-weight:500; color:var(--pl); }
.cn-confirmed.on { display:block; }
.info-side { display:flex; flex-direction:column; gap:20px; }
.info-card { background:var(--panel); border:1px solid var(--border); border-radius:var(--r2); padding:26px 28px; }
.info-card-title { font-size:15.5px; font-weight:600; letter-spacing:-.015em; margin-bottom:10px; }
.info-card-body { font-size:14px; color:var(--mid); line-height:1.65; }
.contact-em { display:block; margin-top:12px; font-size:13.5px; color:var(--pl); font-weight:500; }
.faq-list { display:flex; flex-direction:column; gap:16px; margin-top:8px; }
.faq-q2 { font-size:14px; font-weight:500; color:var(--white); margin-bottom:4px; }
.faq-a2 { font-size:13px; color:var(--mid); line-height:1.58; }
@media(max-width:960px) {
  .gs-layout { grid-template-columns:1fr; padding:60px 16px 80px; gap:36px; }
  .f-row { grid-template-columns:1fr; }
  .info-side { order:-1; }
}

/* ── Page: Funders ── */
.two-pillar { display:grid; grid-template-columns:1fr 1fr; gap:2px; background:var(--border); border:1px solid var(--border); border-radius:var(--r2); overflow:hidden; margin-top:52px; }
.tp-cell { background:var(--card); padding:48px 40px; }
.tp-cell.accent { background:var(--pdim); }
.tp-num { font-size:11px; font-weight:600; letter-spacing:.14em; text-transform:uppercase; color:var(--pl); margin-bottom:16px; }
.tp-title { font-size:26px; font-weight:600; letter-spacing:-.025em; line-height:1.1; margin-bottom:14px; }
.tp-title em { font-style:italic; font-weight:300; color:var(--pl); }
.tp-body { font-size:14.5px; color:var(--mid); line-height:1.72; }
.problem-strip { background:var(--panel); border-top:1px solid var(--border); border-bottom:1px solid var(--border); padding:64px 0; }
.ps-inner { max-width:var(--max); margin:0 auto; padding:0 35px; display:grid; grid-template-columns:1fr 1fr; gap:64px; align-items:center; }
.ps-left h2 { margin-bottom:16px; }
.ps-left p { font-size:15px; color:var(--mid); line-height:1.72; }
.ps-right { display:flex; flex-direction:column; gap:16px; }
.pain-card { background:var(--card); border:1px solid var(--border); border-left:3px solid rgba(168,124,244,.4); border-radius:0 var(--r) var(--r) 0; padding:20px 22px; }
.pain-title { font-size:14px; font-weight:600; margin-bottom:5px; color:var(--white); }
.pain-body { font-size:13px; color:var(--mid); line-height:1.6; }
.value-grid { display:grid; grid-template-columns:1fr 1fr; gap:20px; margin-top:48px; }
.value-card { background:var(--card); border:1px solid var(--border); border-radius:var(--r2); padding:36px; border-top:2px solid var(--p); }
.vc-icon { color:var(--pl); margin-bottom:18px; }
.vc-title { font-size:18px; font-weight:600; letter-spacing:-.015em; margin-bottom:10px; }
.vc-body { font-size:14.5px; color:var(--mid); line-height:1.72; }
.vc-list { list-style:none; margin-top:14px; display:flex; flex-direction:column; gap:8px; }
.vc-list li { display:flex; gap:10px; font-size:13.5px; color:var(--mid); line-height:1.6; }
.vc-list li::before { content:""; width:4px; height:4px; border-radius:50%; background:var(--pl); flex-shrink:0; margin-top:8px; }
.underwriting-note { background:var(--card); border:1px solid rgba(168,124,244,.25); border-left:3px solid var(--p); border-radius:0 var(--r2) var(--r2) 0; padding:28px 32px; margin-top:32px; display:flex; gap:18px; align-items:flex-start; }
.un-icon { color:var(--pl); flex-shrink:0; margin-top:2px; }
.un-label { font-size:10.5px; font-weight:600; letter-spacing:.12em; text-transform:uppercase; color:var(--pl); margin-bottom:6px; }
.un-body { font-size:14px; color:var(--mid); line-height:1.68; }
.portal-preview { background:var(--card); border:1px solid var(--border); border-radius:var(--r2); padding:40px; }
.pp-label { font-size:10.5px; font-weight:600; letter-spacing:.14em; text-transform:uppercase; color:var(--pl); margin-bottom:20px; }
.pp-features { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.pp-feat { display:flex; gap:12px; align-items:flex-start; }
.pp-dot { width:6px; height:6px; border-radius:50%; background:var(--p); flex-shrink:0; margin-top:6px; }
.pp-text { font-size:14px; color:var(--mid); line-height:1.6; }
.pp-text strong { color:var(--white); font-weight:500; display:block; margin-bottom:2px; }
.process-row { display:flex; flex-direction:column; gap:0; margin-top:40px; max-width:640px; }
.pr-step { display:flex; gap:20px; padding-bottom:32px; position:relative; }
.pr-step:not(:last-child)::before { content:""; position:absolute; left:17px; top:38px; bottom:0; width:1px; background:linear-gradient(180deg,rgba(124,58,237,.35),rgba(124,58,237,.05)); }
.pr-num { width:34px; height:34px; border-radius:50%; background:var(--pdim); border:1px solid rgba(124,58,237,.4); display:flex; align-items:center; justify-content:center; font-size:12px; font-weight:600; color:var(--pl); flex-shrink:0; }
.pr-body { padding-top:5px; }
.pr-title { font-size:15px; font-weight:600; margin-bottom:5px; }
.pr-text { font-size:14px; color:var(--mid); line-height:1.65; }
@media(max-width:960px) {
  .two-pillar { grid-template-columns:1fr; }
  .ps-inner { grid-template-columns:1fr; gap:36px; }
  .value-grid { grid-template-columns:1fr; }
  .pp-features { grid-template-columns:1fr; }
}

/* ── Page: About ── */
.about-lead { font-size:20px; color:var(--mid); line-height:1.72; max-width:680px; margin-top:20px; }
.about-lead em { color:var(--white); font-style:normal; }
.infra-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; margin-top:52px; }
.infra-card { background:var(--card); border:1px solid var(--border); border-radius:var(--r2); padding:36px; border-top:2px solid transparent; transition:border-color .3s; }
.infra-card:hover { border-top-color:var(--p); }
.ic2-icon { color:var(--pl); margin-bottom:18px; }
.ic2-title { font-size:18px; font-weight:600; letter-spacing:-.015em; margin-bottom:10px; }
.ic2-body { font-size:14px; color:var(--mid); line-height:1.7; }
.mission-block { background:var(--card); border:1px solid var(--border); border-radius:var(--r2); padding:56px; margin-top:52px; text-align:center; position:relative; overflow:hidden; }
.mb-orb { position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); width:500px; height:300px; background:radial-gradient(ellipse,rgba(124,58,237,.12) 0%,transparent 65%); pointer-events:none; }
.mb-quote { position:relative; font-size:clamp(20px,2.8vw,32px); font-weight:400; letter-spacing:-.02em; line-height:1.35; color:var(--white); max-width:660px; margin:0 auto 20px; }
.mb-quote em { font-style:italic; font-weight:300; color:var(--pl); }
.mb-attr { font-size:13px; color:var(--soft); letter-spacing:.06em; text-transform:uppercase; }
.why-grid { display:grid; grid-template-columns:1fr 1fr; gap:20px; margin-top:48px; }
.why-card { background:var(--panel); border:1px solid var(--border); border-radius:var(--r); padding:30px; }
.wc2-label { font-size:11px; font-weight:500; letter-spacing:.12em; text-transform:uppercase; color:var(--pl); margin-bottom:10px; }
.wc2-title { font-size:17px; font-weight:600; letter-spacing:-.015em; margin-bottom:10px; }
.wc2-body { font-size:14px; color:var(--mid); line-height:1.68; }
.connect-diagram { display:grid; grid-template-columns:1fr auto 1fr; gap:0; align-items:center; margin-top:52px; }
.cd-side { background:var(--card); border:1px solid var(--border); border-radius:var(--r2); padding:32px; }
.cd-label { font-size:10.5px; font-weight:600; letter-spacing:.14em; text-transform:uppercase; color:var(--pl); margin-bottom:14px; }
.cd-items { display:flex; flex-direction:column; gap:10px; }
.cd-item { font-size:14px; color:var(--mid); display:flex; align-items:center; gap:9px; }
.cd-item::before { content:""; width:5px; height:5px; border-radius:50%; background:rgba(168,124,244,.5); flex-shrink:0; }
.cd-center { display:flex; flex-direction:column; align-items:center; justify-content:center; padding:0 16px; gap:8px; }
.cd-runway { background:var(--p); border-radius:var(--r2); padding:28px 32px; text-align:center; }
.cd-runway-name { font-size:16px; font-weight:700; color:#fff; letter-spacing:.04em; margin-bottom:4px; }
.cd-runway-sub { font-size:11px; color:rgba(255,255,255,.65); letter-spacing:.1em; text-transform:uppercase; }
.cd-arrows { display:flex; gap:8px; align-items:center; }
.cd-arr { font-size:22px; color:var(--pl); }
.stat-row { display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:var(--border); border:1px solid var(--border); border-radius:var(--r2); overflow:hidden; }
.stat-cell { background:var(--card); padding:32px 28px; }
.sc-val { font-size:36px; font-weight:600; letter-spacing:-.03em; color:var(--white); margin-bottom:6px; }
.sc-val em { color:var(--pl); font-style:normal; }
.sc-label { font-size:13.5px; color:var(--mid); line-height:1.55; }
@media(max-width:960px) {
  .infra-grid { grid-template-columns:1fr; }
  .why-grid { grid-template-columns:1fr; }
  .stat-row { grid-template-columns:1fr 1fr; }
  .connect-diagram { grid-template-columns:1fr; gap:20px; }
  .cd-center { flex-direction:row; padding:0; }
  .cd-arrows { flex-direction:column; }
}

/* ── Page: Business ── */
.split-section { display:grid; grid-template-columns:1fr 1fr; gap:64px; align-items:center; }
.split-section.flip { direction:rtl; }
.split-section.flip > * { direction:ltr; }
.split-img { position:relative; border-radius:var(--r2); overflow:hidden; height:400px; }
.si-photo { position:absolute; inset:0; background-size:cover; background-position:center; filter:grayscale(100%) brightness(.5) contrast(1.05); }
.si-fade { position:absolute; inset:0; background:linear-gradient(135deg,rgba(124,58,237,.18),transparent); }
.product-tabs { display:flex; gap:3px; background:var(--card); border:1px solid var(--border); border-radius:10px; padding:4px; width:fit-content; margin-bottom:32px; }
.pt-btn { font-family:"DM Sans",sans-serif; font-size:13.5px; font-weight:500; background:transparent; border:none; color:var(--mid); padding:8px 20px; border-radius:8px; cursor:pointer; transition:all .2s; }
.pt-btn.on { background:var(--p); color:#fff; }
.pt-panel { display:none; }
.pt-panel.on { display:block; animation:fadeUp .25s ease both; }
.steps { display:flex; flex-direction:column; gap:0; margin-top:36px; }
.step { display:flex; gap:18px; padding-bottom:28px; position:relative; }
.step:not(:last-child)::before { content:""; position:absolute; left:17px; top:38px; bottom:0; width:1px; background:linear-gradient(180deg,rgba(124,58,237,.35),rgba(124,58,237,.05)); }
.step-num { width:34px; height:34px; border-radius:50%; background:var(--pdim); border:1px solid rgba(124,58,237,.4); display:flex; align-items:center; justify-content:center; font-size:12px; font-weight:600; color:var(--pl); flex-shrink:0; }
.step-body { padding-top:5px; }
.step-title { font-size:15px; font-weight:600; margin-bottom:5px; }
.step-text { font-size:14px; color:var(--mid); line-height:1.65; }
.qual-grid { display:grid; grid-template-columns:1fr 1fr; gap:24px; margin-top:40px; }
.qual-card { background:var(--card); border:1px solid var(--border); border-radius:var(--r2); padding:36px; }
.qual-card.scf { border-top:3px solid var(--p); }
.qual-card.arf { border-top:3px solid rgba(168,124,244,.5); }
.qc-label { font-size:10.5px; font-weight:600; letter-spacing:.14em; text-transform:uppercase; color:var(--pl); margin-bottom:14px; }
.qc-title { font-size:20px; font-weight:600; letter-spacing:-.018em; margin-bottom:10px; }
.qc-sub { font-size:14px; color:var(--mid); line-height:1.68; margin-bottom:24px; }
.qc-criteria { display:flex; flex-direction:column; gap:14px; margin-bottom:24px; }
.qc-row { display:flex; gap:14px; align-items:flex-start; }
.qc-row-icon { width:28px; height:28px; border-radius:7px; background:var(--pdim); border:1px solid rgba(124,58,237,.2); display:flex; align-items:center; justify-content:center; color:var(--pl); flex-shrink:0; margin-top:1px; }
.qc-row-body { flex:1; }
.qc-row-title { font-size:13px; font-weight:600; color:var(--white); margin-bottom:2px; }
.qc-row-desc { font-size:13px; color:var(--mid); line-height:1.6; }
.qc-note { background:rgba(255,255,255,.03); border:1px solid var(--border); border-radius:var(--r); padding:14px 16px; font-size:13px; color:var(--soft); line-height:1.6; }
.faq-acc { display:flex; flex-direction:column; gap:8px; margin-top:40px; max-width:720px; }
.faq-item { background:var(--card); border:1px solid var(--border); border-radius:var(--r); overflow:hidden; }
.faq-q { width:100%; background:none; border:none; color:var(--white); font-family:"DM Sans",sans-serif; font-size:15px; font-weight:500; padding:18px 20px; text-align:left; cursor:pointer; display:flex; justify-content:space-between; align-items:center; gap:12px; }
.faq-q:hover { color:var(--pl); }
.faq-chevron { color:var(--soft); transition:transform .25s; font-size:13px; flex-shrink:0; }
.faq-item.open .faq-chevron { transform:rotate(180deg); color:var(--pl); }
.faq-a { display:none; padding:0 20px 18px; font-size:14px; color:var(--mid); line-height:1.68; }
.faq-item.open .faq-a { display:block; }
@media(max-width:960px) {
  .split-section { grid-template-columns:1fr; }
  .split-img { height:260px; }
  .qual-grid { grid-template-columns:1fr; }
}

/* ── Page: Legal ── */
.legal-content { max-width:760px; margin:0 auto; padding:60px 35px 100px; }
.legal-content h2 { font-size:22px; margin-top:48px; margin-bottom:16px; }
.legal-content h3 { font-size:17px; margin-top:32px; margin-bottom:12px; }
.legal-content p { font-size:15px; color:var(--mid); line-height:1.72; margin-bottom:16px; }
.legal-content ul { list-style:none; margin:12px 0 20px; display:flex; flex-direction:column; gap:8px; }
.legal-content ul li { display:flex; gap:10px; font-size:14.5px; color:var(--mid); line-height:1.6; }
.legal-content ul li::before { content:""; width:4px; height:4px; border-radius:50%; background:var(--pl); margin-top:9px; flex-shrink:0; }
.legal-content .legal-updated { font-size:13px; color:var(--soft); margin-bottom:32px; }

/* ── LIGHT THEME ── */
html[data-theme="light"] {
  --bg:     #FAFAFA;
  --panel:  #F5F4F7;
  --card:   #FFFFFF;
  --border: rgba(0,0,0,.08);
  --p:      #7C3AED;
  --p2:     #6D28D9;
  --pl:     #6D28D9;
  --pdim:   rgba(124,58,237,.08);
  --white:  #1E1840;
  --mid:    rgba(30,24,64,.62);
  --soft:   rgba(30,24,64,.44);
}
html[data-theme="light"] nav { background:rgba(250,250,250,.95); border-bottom-color:var(--border); box-shadow:0 1px 0 var(--border), 0 2px 12px rgba(90,70,160,.06); }
html[data-theme="light"] .card, html[data-theme="light"] .benefit-card, html[data-theme="light"] .vf-node, html[data-theme="light"] .stat-cell, html[data-theme="light"] .infra-card, html[data-theme="light"] .why-card, html[data-theme="light"] .qual-card, html[data-theme="light"] .pain-card, html[data-theme="light"] .value-card, html[data-theme="light"] .principle-card, html[data-theme="light"] .who-card, html[data-theme="light"] .fee-card, html[data-theme="light"] .mission-block, html[data-theme="light"] .info-card, html[data-theme="light"] .form-box, html[data-theme="light"] .portal-preview, html[data-theme="light"] .faq-item { box-shadow:0 1px 4px rgba(90,70,160,.07), 0 4px 16px rgba(90,70,160,.05); }
html[data-theme="light"] .ph-overlay { background:linear-gradient(135deg,rgba(255,255,255,.88) 0%,rgba(255,255,255,.60) 55%,rgba(255,255,255,.78) 100%); }
html[data-theme="light"] .hero-right { --bg:#08070E; }
html[data-theme="light"] .hero-left { background:var(--bg); }
html[data-theme="light"] .hero-p { color:var(--mid); }
html[data-theme="light"] .h-img { filter:grayscale(100%) brightness(.45) contrast(1.05); }
html[data-theme="light"] .h-fade { background:linear-gradient(90deg,#fafafa 0%,rgba(255,255,255,.44) 50%,rgba(255,255,255,.22) 100%); }
html[data-theme="light"] .ph-bg { filter:grayscale(100%) brightness(.45) contrast(1.05); }
html[data-theme="light"] .si-photo { filter:grayscale(100%) brightness(.5) contrast(1.05); }
html[data-theme="light"] .btn-outline { border-color:rgba(30,24,64,.2); color:var(--white); }
html[data-theme="light"] .btn-outline:hover { background:rgba(30,24,64,.05); border-color:rgba(30,24,64,.3); }
html[data-theme="light"] .btn-ghost { color:var(--white); border-color:rgba(0,0,0,.12); }
html[data-theme="light"] .btn-ghost:hover { color:var(--white); border-color:rgba(0,0,0,.22); background:rgba(0,0,0,.04); }
html[data-theme="light"] .f-input, html[data-theme="light"] .f-select { background-color:#ffffff; }
html[data-theme="light"] .f-select { background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='rgba(30%2C24%2C64%2C0.45)' d='M6 8L0 0h12z'/%3E%3C/svg%3E"); background-repeat:no-repeat; background-position:right 13px center; }
html[data-theme="light"] .f-select option { background:#ffffff; color:#1E1840; }
.theme-switch { position:relative; display:inline-block; width:42px; height:24px; flex-shrink:0; }
.theme-switch input { opacity:0; width:0; height:0; position:absolute; }
.theme-switch label { position:absolute; cursor:pointer; top:0; left:0; right:0; bottom:0; background:rgba(255,255,255,.12); border:1px solid rgba(255,255,255,.1); border-radius:24px; transition:all .4s; }
.theme-switch label:before { position:absolute; content:""; height:18px; width:18px; left:2px; bottom:2px; background:#fff; border-radius:50%; transition:all .4s; box-shadow:0 1px 3px rgba(0,0,0,.25); }
.theme-switch input:checked + label { background:var(--p); border-color:var(--p); }
.theme-switch input:checked + label:before { transform:translateX(18px); }
