.fr{--fr-cyan:#3FD0DE;--fr-cyanhi:#7DE8F2;--fr-purple:#8B5CF6;--fr-orange:#FF8A3C;--fr-gold:#F5B301;--fr-pink:#EC4899;
  --fr-ink:#E8F2F3;--fr-body:#BDD4D8;--fr-muted:#7FA5AC;--fr-dim:#4A6870;
  --fr-glass:rgba(20,32,31,0.4);--fr-soft:rgba(63,107,117,0.20);--fr-mid:rgba(63,107,117,0.45);
  --fr-mono:'JetBrains Mono',ui-monospace,Consolas,monospace;--fr-disp:'Michroma',system-ui,sans-serif;--fr-serif:'Fraunces',Georgia,serif;
  --fr-ease:cubic-bezier(0.16,1,0.3,1)}
.fr-ladder-viz{display:flex;align-items:flex-end;gap:0.5rem;height:9rem;margin:1.25rem 0 1.75rem;padding:0.5rem 0}
.fr-step{flex:1;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:0.4rem;min-width:0}
.fr-bar{width:100%;border-radius:6px 6px 0 0;min-height:1.5rem;box-shadow:inset 0 -4px 20px rgba(0,0,0,0.2);transition:filter 300ms}
.fr-step:hover .fr-bar{filter:brightness(1.15)}
.fr-val{font-family:var(--fr-serif);font-size:0.9rem;color:var(--fr-ink);font-variant-numeric:tabular-nums;line-height:1}
.fr-cap{font-family:var(--fr-mono);font-size:0.52rem;letter-spacing:0.08em;text-transform:uppercase;color:var(--fr-muted);text-align:center;line-height:1.3}
.fr-cards{display:grid;grid-template-columns:1fr;gap:0.85rem;margin:1.25rem 0}
@media(min-width:760px){.fr-cards{grid-template-columns:repeat(2,1fr)}}
.fr-card{padding:1.1rem 1.25rem;border:1px solid var(--fr-mid);border-radius:11px;background:var(--fr-glass);backdrop-filter:blur(14px);position:relative;overflow:hidden;transition:transform 300ms var(--fr-ease),border-color 300ms}
.fr-card::before{content:'';position:absolute;top:0;left:0;bottom:0;width:3px;background:var(--fr-acc)}
.fr-card:hover{border-color:var(--fr-acc);transform:translateY(-2px)}
.fr-head{display:flex;justify-content:space-between;align-items:baseline;gap:0.75rem;flex-wrap:wrap;margin-bottom:0.5rem}
.fr-name{font-family:var(--fr-disp);font-size:0.98rem;color:var(--fr-ink);line-height:1.15}
.fr-raise{font-family:var(--fr-serif);font-size:1.4rem;color:var(--fr-acc);font-variant-numeric:tabular-nums;letter-spacing:-0.02em}
.fr-aud{font-family:var(--fr-mono);font-size:0.58rem;letter-spacing:0.12em;text-transform:uppercase;color:var(--fr-muted);margin-bottom:0.75rem}
.fr-specs{display:grid;grid-template-columns:repeat(2,1fr);gap:0.5rem 1rem;margin-bottom:0.65rem}
@media(min-width:560px){.fr-specs{grid-template-columns:repeat(4,1fr)}}
.fr-spec .k{font-family:var(--fr-mono);font-size:0.52rem;letter-spacing:0.1em;text-transform:uppercase;color:var(--fr-dim);display:block;margin-bottom:0.15rem}
.fr-spec .v{font-family:var(--fr-mono);font-size:0.78rem;color:var(--fr-ink)}
.fr-note{font-size:0.8rem;line-height:1.5;color:var(--fr-body);border-top:1px solid var(--fr-soft);padding-top:0.6rem}
.fr-note .comp{font-family:var(--fr-mono);font-size:0.58rem;letter-spacing:0.08em;text-transform:uppercase;color:var(--fr-cyan);display:block;margin-bottom:0.3rem}
.fr-note .vest{font-family:var(--fr-mono);font-size:0.66rem;color:var(--fr-muted);display:block;margin-top:0.4rem}
.fr-uof{display:flex;flex-direction:column;gap:0.7rem;margin:1.25rem 0}
.fr-uofrow{display:grid;grid-template-columns:1fr auto;gap:0.75rem;align-items:center}
.fr-uoflabel{font-size:0.82rem;color:var(--fr-body)}
.fr-uoflabel .amt{font-family:var(--fr-mono);color:var(--fr-ink);margin-left:0.5rem}
.fr-uofpct{font-family:var(--fr-mono);font-size:0.72rem;color:var(--fr-muted)}
.fr-track{grid-column:1 / -1;height:0.5rem;border-radius:4px;background:rgba(120,150,158,0.12);overflow:hidden}
.fr-fill{height:100%;border-radius:4px;background:linear-gradient(90deg,var(--fr-cyan),var(--fr-purple));box-shadow:0 0 12px rgba(63,208,222,0.3)}
.fr-h{font-family:var(--fr-disp);font-weight:400;font-size:1.15rem;color:var(--fr-ink);margin:1.75rem 0 0.5rem}
.fr-totalline{display:flex;flex-wrap:wrap;gap:1.5rem;margin:0.5rem 0 1rem;padding:1rem 1.25rem;border:1px solid var(--fr-mid);border-radius:10px;background:var(--fr-glass)}
.fr-tl-item .k{font-family:var(--fr-mono);font-size:0.55rem;letter-spacing:0.16em;text-transform:uppercase;color:var(--fr-muted);display:block;margin-bottom:0.2rem}
.fr-tl-item .v{font-family:var(--fr-serif);font-size:1.5rem;color:var(--fr-ink);font-variant-numeric:tabular-nums;letter-spacing:-0.02em}
.fr-prins{display:grid;grid-template-columns:1fr;gap:0.65rem;margin:1rem 0}
@media(min-width:680px){.fr-prins{grid-template-columns:repeat(2,1fr)}}
.fr-prin{padding:0.9rem 1.05rem;border:1px solid var(--fr-soft);border-left:2px solid var(--fr-cyan);border-radius:0 8px 8px 0;background:var(--fr-glass)}
.fr-prin-k{font-family:var(--fr-disp);font-size:0.85rem;color:var(--fr-ink);margin-bottom:0.35rem;line-height:1.2}
.fr-prin-v{font-size:0.82rem;line-height:1.5;color:var(--fr-body)}
