/* Fund page (v2/pages/fund.js). Built only from app.css tokens; the hero mirrors the home page's. */
.fd-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 16px 24px; flex-wrap: wrap; }
.fd-head .t-cap { max-width: 60ch; }
.fd-acts { display: flex; gap: 8px; flex-wrap: wrap; }
.fd-acts svg { width: 13px; height: 13px; }

/* editorial visual: atmosphere first, live figures remain in the card below */
.fd-photo { position: relative; min-height: 250px; margin-bottom: var(--gap); overflow: hidden; border-radius: var(--radius-lg, 24px); background: #07121c; color: #fff; box-shadow: 0 18px 50px rgba(6, 18, 31, .18); isolation: isolate; }
.fd-photo > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 54% 49%; z-index: -2; transform: scale(1.01); transition: transform 1.2s var(--spring); }
.fd-photo:hover > img { transform: scale(1.035); }
.fd-photo-shade { position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg, rgba(3, 12, 21, .94) 0%, rgba(3, 12, 21, .76) 31%, rgba(3, 12, 21, .22) 61%, rgba(3, 12, 21, .05) 100%), linear-gradient(0deg, rgba(3, 12, 21, .36), transparent 52%); }
.fd-photo-copy { padding: 36px 40px 34px; max-width: 570px; text-shadow: 0 2px 18px rgba(0, 0, 0, .32); }
.fd-photo-live { display: inline-flex; align-items: center; gap: 8px; margin-bottom: 17px; font-size: 11px; line-height: 1; font-weight: 700; letter-spacing: .12em; color: rgba(255, 255, 255, .82); }
.fd-photo-live i { width: 8px; height: 8px; border-radius: 50%; background: #42d97c; box-shadow: 0 0 0 5px rgba(66, 217, 124, .13), 0 0 18px rgba(66, 217, 124, .66); }
.fd-photo h2 { max-width: 520px; margin: 0; font-size: clamp(27px, 3.2vw, 43px); line-height: 1.12; letter-spacing: -.035em; font-weight: 650; text-wrap: balance; }
.fd-photo p { margin: 15px 0 0; color: rgba(255, 255, 255, .76); font-size: 14px; line-height: 1.65; }
.fd-photo-note { position: absolute; right: 15px; bottom: 12px; padding: 4px 8px; border-radius: 6px; background: rgba(0, 0, 0, .3); color: rgba(255, 255, 255, .62); font-size: 10px; backdrop-filter: blur(8px); }
.fd-gallery { margin-top: var(--gap); }
.fd-gallery-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }
.fd-gallery-card { overflow:hidden; padding:0; transition:transform .25s var(--spring), box-shadow .25s; }
.fd-gallery-card:hover { transform:translateY(-3px); box-shadow:0 18px 42px rgba(0,0,0,.14); }
.fd-gallery-card img { display:block; width:100%; aspect-ratio:16/10; object-fit:cover; background:#0b1017; }
.fd-gallery-card>div { display:grid; grid-template-columns:1fr auto; gap:7px 12px; align-items:center; padding:17px 18px 18px; }
.fd-gallery-card b { font-size:16px; }.fd-gallery-card span { color:var(--text-2); font-size:13px; }.fd-gallery-card a { grid-column:2; grid-row:1/3; }
.fd-media-download { white-space:nowrap; font-size:11px; }
.fd-generated { margin-top: var(--gap); }
.fd-generated-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; }
.fd-generated-card { overflow:hidden; border:1px solid var(--hair); border-radius:16px; background:var(--surface); box-shadow:var(--shadow); }
.fd-generated-card img { display:block; width:100%; aspect-ratio:1.45; object-fit:cover; background:#0a1018; }
.fd-generated-card>div { display:flex; align-items:center; justify-content:space-between; gap:8px; padding:10px 11px; }.fd-generated-card span { color:var(--text-2); font-size:12px; }
.fd-snapshot-modal { position:fixed; inset:0; z-index:1300; display:grid; place-items:center; box-sizing:border-box; width:100%; min-width:100%; min-height:100vh; min-height:100dvh; padding:max(22px, env(safe-area-inset-top)) max(22px, env(safe-area-inset-right)) max(22px, env(safe-area-inset-bottom)) max(22px, env(safe-area-inset-left)); overflow:auto; isolation:isolate; background:rgba(3,8,15,.78); -webkit-backdrop-filter:blur(22px); backdrop-filter:blur(22px); }
html.share-lock, body.share-lock { overflow:hidden; }
.fd-snapshot-dialog { width:min(980px,100%); max-height:calc(100vh - 44px); max-height:calc(100dvh - 44px); overflow:auto; box-sizing:border-box; padding:24px; border:1px solid var(--hair); border-radius:24px; background:var(--surface); color:var(--text); box-shadow:0 30px 100px rgba(0,0,0,.4); }
.fd-snapshot-kicker { display:block; margin-bottom:4px; color:var(--accent); font-size:11px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; }
.fd-snapshot-head { display:flex; align-items:flex-start; justify-content:space-between; gap:18px; }.fd-snapshot-head h2 { margin:5px 0 4px; font-size:28px; color:var(--text); letter-spacing:-.02em; }.fd-snapshot-head p { margin:0; color:var(--text-2); font-size:13px; }
.fd-snapshot-head .btn { flex:none; }
.fd-snapshot-controls { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin:20px 0; }.fd-snapshot-controls label { display:grid; gap:7px; color:var(--text-2); font-size:12px; }.fd-snapshot-controls select { min-height:42px; padding:0 12px; border:1px solid var(--hair); border-radius:12px; color:var(--text); background:var(--surface-2); }
.fd-snapshot-controls select:focus-visible { outline:none; border-color:var(--accent); box-shadow:var(--focus); }
.fd-snapshot-dialog canvas { display:block; width:100% !important; height:auto !important; max-height:none !important; aspect-ratio:auto !important; border-radius:16px; background:#080d16; }.fd-snapshot-download { width:100%; margin-top:16px; min-height:48px; font-size:15px; }
@media(max-width:640px){.fd-snapshot-controls{grid-template-columns:1fr;}.fd-snapshot-dialog{padding:18px;}.fd-snapshot-head h2{font-size:23px;}}
@media(max-width:860px){.fd-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:560px){.fd-gallery-grid{grid-template-columns:1fr;}}
@media(max-width:860px){.fd-generated-grid{grid-template-columns:repeat(3,minmax(0,1fr));}}
@media(max-width:560px){.fd-generated-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}

/* hero: NAV + chart | fund size */
.fd-market { margin-bottom: var(--gap); padding: 22px; border: 1px solid rgba(115,205,255,.22); border-radius: 22px; background: radial-gradient(circle at 92% 0%, rgba(101,230,162,.16), transparent 28%), linear-gradient(135deg,#07121f,#0c2636 58%,#102d3b); color:#f4fbff; box-shadow:0 22px 56px rgba(4,23,36,.18); }
.fd-market-head { display:flex; align-items:end; justify-content:space-between; gap:12px; margin-bottom:16px; }
.fd-market-head .t-cap { color:rgba(192,235,255,.72); letter-spacing:.13em; font-size:11px; font-weight:700; }
.fd-market-head h2 { margin:4px 0 0; font-size:23px; color:#fff; }
.fd-market-head .t-cap2 { color:rgba(221,243,255,.65); }
.fd-market-tape { display:flex; gap:10px; overflow-x:auto; scrollbar-width:thin; padding-bottom:2px; }
.fd-market-card { flex:1 0 130px; min-width:130px; padding:14px 15px; border:1px solid rgba(195,234,255,.16); border-radius:16px; background:rgba(255,255,255,.065); box-shadow:inset 0 1px 0 rgba(255,255,255,.07); }
.fd-market-card.fd-market-nav { flex-basis:188px; background:linear-gradient(135deg,rgba(0,113,227,.38),rgba(101,230,162,.20)); border-color:rgba(129,219,255,.38); }
.fd-market-card span { display:block; color:rgba(219,242,255,.7); font-size:11px; font-weight:700; letter-spacing:.06em; }
.fd-market-card b { display:block; margin-top:8px; font-size:20px; color:#fff; font-variant-numeric:tabular-nums; white-space:nowrap; }
.fd-market-card small { display:block; margin-top:6px; color:rgba(215,239,251,.62); font-size:11px; white-space:nowrap; }
.fd-market-card .market-change.up { color:#72f0ad; } .fd-market-card .market-change.down { color:#ff8b93; }
@media(max-width:600px){.fd-market{padding:16px;border-radius:17px}.fd-market-head{align-items:flex-start;flex-direction:column;gap:4px}.fd-market-head h2{font-size:20px}.fd-market-card{flex-basis:124px;min-width:124px}}
.fd-guide { scroll-margin-top: 76px; }
.fd-guide-head { display:flex; align-items:end; justify-content:space-between; gap:18px; flex-wrap:wrap; margin:0 4px 18px; }
.fd-guide-kicker { display:block; color:var(--accent); font-size:11px; font-weight:700; letter-spacing:.13em; }
.fd-guide-head h2 { margin:5px 0 4px; }
.fd-guide-head .t-cap { margin:0; }
.fd-guide-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:var(--gap); }
.fd-guide-card { overflow:hidden; min-width:0; border:1px solid var(--hair); border-radius:20px; background:var(--surface); box-shadow:var(--shadow); }
.fd-guide-shot { margin:0; background:#eef3f7; }
.fd-guide-shot img { display:block; width:100%; aspect-ratio:1.42; object-fit:cover; object-position:top center; }
.fd-guide-shot figcaption { padding:8px 14px 9px; color:var(--text-3); font-size:11px; }
.fd-guide-copy { display:flex; gap:12px; padding:18px 18px 20px; }
.fd-guide-num { display:grid; place-items:center; flex:none; width:32px; height:32px; border-radius:50%; background:var(--accent-fill); color:var(--accent); font-size:12px; font-weight:700; }
.fd-guide-copy h3 { margin:1px 0 5px; font-size:17px; }
.fd-guide-copy p { margin:0; color:var(--text-2); font-size:13.5px; line-height:1.6; }
.fd-guide-card-last { display:flex; flex-direction:column; }
.fd-guide-card-last .fd-guide-copy { flex:1; }
.fd-guide-wallets { padding:21px 18px 0; color:var(--text-2); font-size:12px; font-weight:600; }
.fd-guide-wallets > div { display:flex; align-items:center; gap:10px; margin-top:13px; }
.fd-guide-wallets img { width:28px; height:28px; padding:4px; object-fit:contain; border:1px solid var(--hair); border-radius:9px; background:var(--surface-2); }
.fd-guide-safe { display:flex; flex-direction:column; gap:4px; margin:0 18px 18px; padding:12px 13px; border-radius:13px; background:var(--up-fill); color:var(--up); font-size:12px; line-height:1.45; }
.fd-guide-safe span { color:var(--text-2); }
.fd-guide-links { display:flex; align-items:center; flex-wrap:wrap; gap:8px 14px; margin:14px 4px 0; color:var(--text-3); font-size:12px; }
.fd-guide-links a { display:inline-flex; align-items:center; gap:4px; font-weight:600; }
.fd-guide-links svg { width:12px; height:12px; }
@media(max-width:900px){.fd-guide-grid{grid-template-columns:1fr 1fr}.fd-guide-card-last{grid-column:1/-1}.fd-guide-card-last .fd-guide-copy{flex:none}}
@media(max-width:600px){.fd-guide-grid{grid-template-columns:1fr}.fd-guide-card-last{grid-column:auto}.fd-guide-head .btn{width:100%}.fd-guide-links{line-height:1.6}}
.fd-hero { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); padding: 0; overflow: hidden; }
.fd-main { padding: 30px 36px 26px; min-width: 0; }
.fd-side { padding: 30px 36px 28px; border-left: 1px solid var(--hair); background: var(--surface-2); display: flex; flex-direction: column; min-width: 0; }
.fd-top { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 26px; margin-bottom: 22px; flex-wrap: wrap; position: sticky; top: 0; z-index: 10; background: var(--surface); padding-top: 8px; margin-top: -8px; border-bottom: 1px solid var(--hair); }
.fd-l { font-size: 15px; color: var(--text-2); margin-bottom: 2px; }
.fd-v { white-space: nowrap; font-variant-numeric: tabular-nums; }
.fd-v .unit { font-size: 22px; font-weight: 500; margin-left: 10px; letter-spacing: -.01em; color: var(--text-2); }
.fd-d { display: flex; align-items: center; flex-wrap: wrap; gap: 6px 12px; margin-top: 10px; min-height: 26px; }
.fd-delta { font-size: 17px; font-weight: 600; font-variant-numeric: tabular-nums; letter-spacing: -.01em; }
.fd-delta i { font-style: normal; display: inline-block; margin-left: 6px; padding: 2px 8px; border-radius: 8px; font-size: 14px; background: rgba(0, 0, 0, .05); }
.fd-delta.up i { background: var(--up-fill); } .fd-delta.down i { background: var(--down-fill); }
.fd-spark { --fc-h: 150px; height: 150px; margin: 20px -6px 0 -4px; }
.fd-foot { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 0; margin-top: 12px; }
.fd-foot b { font-weight: 500; color: var(--text-2); }
.fd-foot .sep { display: inline-block; width: 3px; height: 3px; border-radius: 50%; background: var(--text-3); margin: 0 10px; opacity: .6; }
.fd-side-h { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; min-height: 26px; margin-bottom: 14px; }
.fd-aum { font-size: 46px; line-height: 1.05; font-weight: 600; letter-spacing: -.025em; font-variant-numeric: tabular-nums; white-space: nowrap; }
.fd-aum .unit { font-size: 17px; font-weight: 500; color: var(--text-2); margin-left: 8px; }
.fd-split { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; margin: 22px 0 20px; padding: 18px 0; border-top: 1px solid var(--hair); border-bottom: 1px solid var(--hair); }
.fd-side .meter { margin-top: auto; }

/* tiles */
.fd-tiles { margin-top: var(--gap); }
.fd-tile { display: flex; flex-direction: column; min-height: 250px; }
.fd-tile-h { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 18px; }
.fd-tile-h h3 { margin: 0; font-size: 17px; font-weight: 600; letter-spacing: -.01em; }
.fd-big { font-size: 38px; line-height: 1.06; font-weight: 600; letter-spacing: -.025em; font-variant-numeric: tabular-nums; white-space: nowrap; }
.fd-big .unit { font-size: 15px; font-weight: 500; color: var(--text-2); margin-left: 6px; }
.fd-note { margin-top: auto; padding-top: 14px; font-size: 13px; color: var(--text-2); line-height: 1.5; }
.fd-stack { display: flex; height: 12px; border-radius: 99px; overflow: hidden; background: var(--track); gap: 2px; margin-bottom: 18px; }
.fd-stack i { display: block; height: 100%; transition: flex-grow .9s var(--spring); }
.fd-legend { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 10px; }
.fd-legend li { display: flex; align-items: center; gap: 10px; font-size: 14.5px; }
.fd-legend .sw { width: 10px; height: 10px; border-radius: 3px; flex: none; }
.fd-legend b { margin-left: auto; font-weight: 600; font-variant-numeric: tabular-nums; }
.fd-kv { margin-top: 14px; }
.fd-kv > div { display: flex; justify-content: space-between; gap: 12px; padding: 9px 0; border-top: 1px solid var(--hair); font-size: 14px; }
.fd-kv > div span { color: var(--text-2); } .fd-kv > div b { font-weight: 500; font-variant-numeric: tabular-nums; }

/* live engine limits */
.fd-risk-h { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 22px; }
.fd-risk-h > div { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.fd-risk-h > svg { width: 26px; height: 26px; color: var(--accent); }
.fd-risk-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 0; }
.fd-risk-grid > .kpi { padding: 2px 18px; border-left: 1px solid var(--hair); }
.fd-risk-grid > .kpi:first-child { padding-left: 0; border-left: 0; }
.fd-risk-grid > .kpi:last-child { padding-right: 0; }
.fd-risk-note { margin: 22px 0 0; padding-top: 16px; border-top: 1px solid var(--hair); color: var(--text-2); font-size: 13.5px; line-height: 1.6; }

/* payouts + how */
.fd-tx { font: 12px ui-monospace, "SF Mono", Menlo, monospace; color: var(--text-2); }
.fd-steps { list-style: none; margin: 0; padding: 0; counter-reset: st; }
.fd-steps li { position: relative; padding: 0 0 20px 50px; counter-increment: st; }
.fd-steps li::before { content: counter(st); position: absolute; left: 0; top: -2px; width: 32px; height: 32px; border-radius: 50%; display: grid; place-items: center;
  background: var(--accent); color: #fff; font-weight: 600; font-size: 14px; box-shadow: 0 4px 12px rgba(0, 113, 227, .25); }
.fd-steps li::after { content: ""; position: absolute; left: 15.5px; top: 34px; bottom: 2px; width: 1.5px; background: var(--hair); }
.fd-steps li:last-child { padding-bottom: 0; } .fd-steps li:last-child::after { display: none; }
.fd-steps b { display: block; font-size: 15px; font-weight: 600; margin-bottom: 2px; } .fd-steps span { font-size: 13.5px; color: var(--text-2); }
.fd-how-f { display: flex; gap: 8px; flex-wrap: wrap; margin-top: 22px; }

@media (max-width: 900px) {
  .fd-photo { min-height: 230px; }
  .fd-photo-copy { padding: 30px 26px; }
  .fd-photo-shade { background: linear-gradient(90deg, rgba(3, 12, 21, .94), rgba(3, 12, 21, .6) 65%, rgba(3, 12, 21, .2)); }
  .fd-hero { grid-template-columns: 1fr; }
  .fd-main, .fd-side { padding: 22px 20px; }
  .fd-side { border-left: 0; border-top: 1px solid var(--hair); }
  .fd-v .unit { font-size: 17px; }
  .fd-aum { font-size: 38px; }
  .fd-tile { min-height: 0; }
  .fd-acts { width: 100%; } .fd-acts .btn { flex: 1; }
  .fd-risk-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px 0; }
  .fd-risk-grid > .kpi { padding: 0 14px; }
  .fd-risk-grid > .kpi:nth-child(odd) { padding-left: 0; border-left: 0; }
}

/* ── phone + readability pass (audit 2026-09-23) — scoped to this page ── */
.fd { --text-3: #6e6e73; }                                   /* secondary text ≥ 4.5:1 here */
.fd .chip.up { color: #066e34; } .fd .chip.down { color: #b0182f; }
.fd-delta.down i { color: #b0182f; } .fd-delta.up i { color: #066e34; }
.fd-tile-h { flex-wrap: wrap; row-gap: 8px; } .fd-tile-h h3 { min-width: 0; text-wrap: balance; }
.fd-big, .fd-kv b, .fd-aum { white-space: nowrap; }
.fd-kv > div span { min-width: 0; text-wrap: pretty; }
.fd .sec-h { flex-wrap: wrap; row-gap: 4px; } .fd .sec-h .t-section { white-space: nowrap; }
.fd .meter-top { flex-wrap: wrap; gap: 2px 8px; }
.fd .nw { white-space: nowrap; }
@media (max-width: 1100px) {
  .fd-tiles > .fd-tile:nth-child(1), .fd-tiles > .fd-tile:nth-child(2) { grid-column: span 6; }
  .fd-tiles > .fd-tile:nth-child(3) { grid-column: 1 / -1; min-height: 0; }
}
@media (max-width: 760px) {
  .fd-photo { min-height: 300px; }
  .fd-photo > img { object-position: 66% center; }
  .fd-photo-shade { background: linear-gradient(90deg, rgba(3, 12, 21, .92), rgba(3, 12, 21, .54)), linear-gradient(0deg, rgba(3, 12, 21, .56), transparent); }
  .fd-photo-copy { padding: 28px 22px; max-width: 92%; }
  .fd-photo p { max-width: 330px; }
  .fd-tiles > .fd-tile { grid-column: 1 / -1 !important; }
  .fd .btn-sm { min-height: 40px; }
  .fd .dl { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 420px) {
  .fd-photo { min-height: 330px; border-radius: 18px; }
  .fd-photo h2 { font-size: 29px; }
  .fd-photo p br { display: none; }
  .fd-risk-grid { grid-template-columns: 1fr; gap: 0; }
  .fd-risk-grid > .kpi { padding: 14px 0; border-left: 0; border-top: 1px solid var(--hair); }
  .fd-risk-grid > .kpi:first-child { padding-top: 0; border-top: 0; }
}

@media (prefers-reduced-motion: reduce) {
  .fd-photo > img { transition: none; }
  .fd-photo:hover > img { transform: scale(1.01); }
}

/* The page-level accessibility token above is for light mode. Explicit dark mode must not
 * inherit that graphite-on-white value, otherwise captions look like a light-theme leak. */
html[data-theme="dark"] .fd { --text-3:#98989f; }
html[data-theme="dark"] .fd-photo { border:1px solid rgba(255,255,255,.10); box-shadow:0 24px 70px rgba(0,0,0,.42); }
html[data-theme="dark"] .fd-hero { border-color:rgba(255,255,255,.11); background:linear-gradient(145deg,#17191e,#111318); box-shadow:0 20px 58px rgba(0,0,0,.28); }
html[data-theme="dark"] .fd-main { background:linear-gradient(145deg,rgba(25,27,33,.96),rgba(16,19,25,.96)); }
html[data-theme="dark"] .fd-side { background:linear-gradient(155deg,#1c1e24,#13151a); }
html[data-theme="dark"] .fd-top { background:#191b21; }
html[data-theme="dark"] .fd-delta i { background:rgba(255,255,255,.07); }
html[data-theme="dark"] .fd .chip.up { color:#63e69a; }
html[data-theme="dark"] .fd .chip.down { color:#ff817a; }
html[data-theme="dark"] .fd-delta.down i { color:#ff817a; }
html[data-theme="dark"] .fd-delta.up i { color:#63e69a; }
