/* /founding — Founding Partner landing + application */
.fd-page { background: var(--midnight); }
.fd-page .nav { position: fixed; left: 0; right: 0; }

/* ---------- hero banner ---------- */
.fd-hero { position: relative; overflow: hidden; min-height: min(760px, 100svh); display: flex; align-items: flex-end; padding: 120px 0 64px; isolation: isolate; }
.fd-hero-bg { position: absolute; inset: 0; z-index: -2; }
.fd-hero-bg img { width: 100%; height: 100%; object-fit: cover; object-position: 70% 40%; }
.fd-hero::before { content: ''; position: absolute; inset: 0; z-index: -1;
  background: linear-gradient(90deg, rgba(11, 8, 32, .92) 0%, rgba(11, 8, 32, .7) 40%, rgba(11, 8, 32, .1) 75%),
              linear-gradient(180deg, rgba(11, 8, 32, .35) 0%, transparent 30%, transparent 70%, var(--midnight) 100%); }
.fd-hero-in { position: relative; }
.fd-kicker { margin: 0 0 10px; font: 600 .82rem/1.2 var(--font-head); letter-spacing: .16em; text-transform: uppercase; color: var(--gold); }
.fd-title { margin: 0; max-width: 640px; font: 700 clamp(2.4rem, 1.6rem + 3.6vw, 4.4rem)/1.08 var(--font-head); letter-spacing: -.02em; color: var(--ivory); }
.fd-title span { background: linear-gradient(180deg, #fff3cf, #f5c451 60%, #d9940f); -webkit-background-clip: text; background-clip: text; color: transparent; }
.fd-lead { margin: 18px 0 0; max-width: 540px; font: 400 clamp(1.02rem, .95rem + .3vw, 1.18rem)/1.65 var(--font-body); color: rgba(255, 247, 232, .82); }
.fd-hero-cta { display: flex; flex-wrap: wrap; align-items: center; gap: 14px 22px; margin-top: 28px; }
.fd-link { font: 500 .98rem/1.3 var(--font-head); color: var(--ivory); text-decoration: underline; text-decoration-color: rgba(245, 196, 81, .6); text-underline-offset: 5px; }
.fd-link:hover { color: var(--gold); }
.fd-hero-stats { list-style: none; padding: 0; margin: 36px 0 0; display: grid; grid-template-columns: repeat(3, minmax(0, 170px)); gap: 10px; }
.fd-hero-stats li { display: grid; gap: 4px; padding: 14px 14px 12px; border-radius: 16px; background: rgba(20, 12, 51, .62); border: 1px solid rgba(245, 196, 81, .28); backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px); }
.fd-hero-stats b { font: 700 1.45rem/1.05 var(--font-head); color: var(--gold); }
.fd-hero-stats span { font: 400 .84rem/1.35 var(--font-body); color: rgba(255, 247, 232, .72); }

/* gold sash across the top-right corner */
.fd-sash { position: absolute; top: 200px; right: -96px; z-index: 1; width: 340px; transform: rotate(38deg); text-align: center; pointer-events: none;
  background: linear-gradient(90deg, #c98a12, #f5c451 30%, #fff1c4 50%, #f5c451 70%, #c98a12); box-shadow: 0 10px 30px rgba(0, 0, 0, .45); }
.fd-sash span { display: block; padding: 11px 0; font: 700 1.05rem/1 var(--font-head); color: #2a1450; letter-spacing: .02em; }
.fd-sash b { font-size: 1.15em; }

/* ---------- sections ---------- */
.fd-sec { padding-top: clamp(56px, 4vw + 32px, 96px); }
.fd-h2 { margin: 0 0 26px; font: 700 var(--fs-h2)/1.2 var(--font-head); color: var(--ivory); max-width: 720px; }
.fd-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.fd-card { padding: 22px 22px 20px; border-radius: 20px; background: linear-gradient(170deg, rgba(42, 20, 114, .55), rgba(20, 12, 51, .9)); border: 1px solid var(--line); }
.fd-card.gold { background: radial-gradient(120% 90% at 100% 0%, rgba(245, 196, 81, .18), transparent 60%), linear-gradient(170deg, #26145e, #140c33); border-color: rgba(245, 196, 81, .45); }
.fd-num { display: block; font: 700 2rem/1 var(--font-head); color: var(--gold); letter-spacing: -.01em; }
.fd-card h3 { margin: 12px 0 6px; font: 600 1.12rem/1.3 var(--font-head); color: var(--ivory); }
.fd-card p { margin: 0; font: 400 .95rem/1.6 var(--font-body); color: rgba(255, 247, 232, .7); }
.fd-card s { color: rgba(255, 247, 232, .45); }

.fd-compare { display: grid; grid-template-columns: 1.15fr 1fr; gap: 14px; margin-top: 18px; }
.fd-col { padding: 22px; border-radius: 20px; background: var(--wash); border: 1px solid var(--line); }
.fd-col-gold { background: rgba(245, 196, 81, .08); border-color: rgba(245, 196, 81, .4); }
.fd-col-h { margin: 0 0 10px; font: 700 1.05rem/1.3 var(--font-head); color: var(--ivory); }
.fd-col-gold .fd-col-h { color: var(--gold); }
.fd-col ul { list-style: none; padding: 0; margin: 0 0 6px; display: grid; gap: 8px; }
.fd-col li { position: relative; padding-left: 22px; font: 400 .96rem/1.5 var(--font-body); color: rgba(255, 247, 232, .82); }
.fd-col li::before { content: ''; position: absolute; left: 2px; top: .55em; width: 9px; height: 5px; border-left: 2px solid var(--gold); border-bottom: 2px solid var(--gold); transform: rotate(-45deg); }
.fd-col .fd-link { display: inline-block; margin-top: 8px; font-size: .92rem; }

.fd-steps { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.fd-steps li { display: flex; gap: 14px; padding: 20px; border-radius: 20px; background: var(--wash); border: 1px solid var(--line); }
.fd-steps b { flex: none; display: grid; place-items: center; width: 40px; height: 40px; border-radius: 50%; background: var(--gold); color: var(--midnight); font: 700 1.1rem/1 var(--font-head); }
.fd-steps h3 { margin: 4px 0 4px; font: 600 1.05rem/1.3 var(--font-head); color: var(--ivory); }
.fd-steps p { margin: 0; font: 400 .93rem/1.55 var(--font-body); color: rgba(255, 247, 232, .7); }

/* ---------- application ---------- */
#apply { padding-bottom: clamp(64px, 6vw, 112px); scroll-margin-top: 72px; }
.fd-apply { max-width: 760px; margin: 0 auto; padding: clamp(24px, 3vw, 40px); border-radius: 28px;
  background: radial-gradient(120% 70% at 100% 0%, rgba(245, 196, 81, .14), transparent 55%), linear-gradient(165deg, #22125a, #120a30 75%);
  border: 1px solid rgba(245, 196, 81, .38); box-shadow: 0 30px 90px rgba(107, 43, 224, .25); }
.fd-apply .fd-h2 { font-size: clamp(1.6rem, 1.3rem + 1vw, 2.1rem); margin-bottom: 20px; }
.fd-form { display: grid; gap: 16px; }
.fd-form .input { width: 100%; }
.fd-row2 { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.fd-submit { width: 100%; margin-top: 4px; }
.fd-fine { margin: 0; font: 400 .85rem/1.5 var(--font-body); color: rgba(255, 247, 232, .55); text-align: center; }
.fd-gate p { margin: 0 0 18px; font: 400 1rem/1.6 var(--font-body); color: rgba(255, 247, 232, .8); }
.fd-gate-act { display: grid; gap: 10px; }
.fd-note { display: flex; gap: 14px; align-items: flex-start; padding: 18px; border-radius: 18px; background: var(--wash-2); border: 1px solid var(--line-2); margin-bottom: 16px; }
.fd-note > .i { flex: none; width: 24px; height: 24px; color: var(--gold); margin-top: 2px; }
.fd-note b { display: block; font: 600 1.05rem/1.35 var(--font-head); color: var(--ivory); }
.fd-note p { margin: 4px 0 0; font: 400 .93rem/1.55 var(--font-body); color: rgba(255, 247, 232, .7); }
.fd-note .btn { margin-top: 14px; }
.fd-note.ok { border-color: rgba(61, 214, 140, .45); background: rgba(61, 214, 140, .08); }
.fd-note.ok > .i { color: var(--success); }
.fd-note.pending { border-color: rgba(245, 196, 81, .45); background: rgba(245, 196, 81, .08); }

/* ---------- responsive ---------- */
@media (max-width: 960px) {
  .fd-grid { grid-template-columns: 1fr 1fr; }
  .fd-steps { grid-template-columns: 1fr; }
}
@media (max-width: 760px) {
  .fd-hero { min-height: 0; padding: 104px 0 40px; align-items: flex-end; }
  .fd-hero::before { background: linear-gradient(180deg, rgba(11, 8, 32, .2) 0%, rgba(11, 8, 32, .55) 35%, rgba(11, 8, 32, .92) 62%, var(--midnight) 100%); }
  .fd-hero-bg img { object-position: 50% 0%; }
  .fd-hero-in { padding-top: 170px; }
  .fd-sash { top: 118px; right: -100px; width: 320px; }
  .fd-sash span { padding: 9px 0; font-size: .95rem; }
  .fd-hero-cta .btn { width: 100%; }
  .fd-hero-cta { justify-content: center; }
  .fd-hero-stats { grid-template-columns: repeat(3, 1fr); gap: 8px; }
  .fd-hero-stats li { padding: 12px 10px; }
  .fd-hero-stats b { font-size: 1.15rem; }
  .fd-hero-stats span { font-size: .76rem; }
  .fd-grid { grid-template-columns: 1fr; }
  .fd-card { padding: 18px; }
  .fd-compare { grid-template-columns: 1fr; }
  .fd-row2 { grid-template-columns: 1fr; }
  .fd-apply { border-radius: 22px; }
}
