/* forma-investor.css — Forma One theme for investor-facing pages
 * (investor-portal, login, signup, reset-password, invest, sign).
 * Mirrors forma1.agency: near-black ground, warm paper text, bronze actions,
 * Libre Baskerville headings, Inter body. Loads last on those pages.
 */
:root {
  --f1-ink:#101114; --f1-panel:#16181C; --f1-panel-2:#1C1F24;
  --f1-rule:rgba(242,239,234,.10); --f1-rule-strong:rgba(242,239,234,.20);
  --f1-paper:#F2EFEA; --f1-muted:rgba(242,239,234,.82); --f1-faint:rgba(242,239,234,.64);
  --f1-bronze:#B08A55; --f1-bronze-lt:#C9A46E; --f1-alert:#E0464B; --f1-alert-deep:#C1161B;
  --f1-good:#8FC29C; --f1-warn:#D9B36A;
  --f1-serif:"Libre Baskerville",Georgia,serif;
  --f1-sans:Inter,-apple-system,BlinkMacSystemFont,sans-serif;

  /* Re-point the variables the existing pages already use */
  --accent:var(--f1-bronze); --accent-hover:var(--f1-bronze-lt); --accent-light:rgba(176,138,85,.16);
  --success:var(--f1-good); --success-light:rgba(143,194,156,.12);
  --warning:var(--f1-warn); --warning-light:rgba(217,179,106,.12);
  --danger:var(--f1-alert); --danger-light:rgba(224,70,75,.12);
  --purple:#B9A6E0; --purple-light:rgba(185,166,224,.12);
  --blue:#84B5D6; --blue-light:rgba(132,181,214,.12);
  --text:var(--f1-paper); --text-secondary:var(--f1-muted); --text-muted:var(--f1-faint);
  --border:var(--f1-rule); --border-light:var(--f1-rule);
  --bg:var(--f1-ink); --bg-card:var(--f1-panel); --bg-surface:var(--f1-panel); --bg-sidebar:var(--f1-ink);
  --radius-sm:2px; --radius:2px; --radius-md:0.13rem; --radius-lg:0.174rem;
  --shadow-sm:none; --shadow-md:none; --shadow-lg:0 1.043rem 2.609rem rgba(0,0,0,.5);
}

html, body { background:var(--f1-ink) !important; color:var(--f1-paper) !important; }
/* Readability: larger base (pages size text in rem), regular weight */
/* Fluid base: everything on investor pages is sized in rem, so it all scales with the screen */
html { font-size:clamp(15px, 0.3vw + 13.6px, 21px) !important; }
body { font-family:var(--f1-sans) !important; font-weight:400; line-height:1.55; -webkit-font-smoothing:antialiased; }
a { color:var(--f1-bronze-lt); }
strong, b { font-weight:500; }
:focus-visible { outline:2px solid var(--f1-bronze-lt); outline-offset:0.13rem; }
h1, h2, .section-title, .welcome-banner h1 { font-family:var(--f1-serif) !important; font-weight:400 !important; letter-spacing:-.005em; color:var(--f1-paper); }
::selection { background:rgba(201,164,110,.35); }

/* ── Header ─────────────────────────────────────────────────────────────── */
.portal-header { background:rgba(16,17,20,.88) !important; backdrop-filter:blur(0.435rem); border-bottom:1px solid var(--f1-rule) !important; height:3.6rem !important; padding:0 2rem !important; gap:1.6rem; }
.portal-logo { color:var(--f1-paper) !important; font:400 1.45rem/1 var(--f1-serif) !important; gap:0.65rem !important; white-space:nowrap; }
.portal-logo img { height:1.45rem; width:auto; border-radius:0 !important; }
.portal-logo small { font:400 0.8rem/1 var(--f1-sans); color:var(--f1-faint); margin-left:2px; }
.portal-nav { flex:1; gap:1.3rem !important; overflow-x:auto; scrollbar-width:none; }
.portal-nav::-webkit-scrollbar { display:none; }
.portal-nav a { height:3.6rem !important; padding:0 !important; font-size:1rem !important; font-weight:400 !important; color:var(--f1-muted) !important; border-bottom:1px solid transparent !important; white-space:nowrap; }
.portal-nav a i { display:none; }
.portal-nav a:hover { color:var(--f1-paper) !important; background:none !important; }
.portal-nav a.active { color:var(--f1-paper) !important; border-bottom-color:var(--f1-bronze) !important; }
.portal-user { white-space:nowrap; color:var(--f1-muted) !important; }
.portal-user #headerName { color:var(--f1-muted) !important; font-weight:400 !important; }

/* ── Buttons ────────────────────────────────────────────────────────────── */
.btn { border-radius:2px !important; font-family:var(--f1-sans) !important; font-weight:500 !important; box-shadow:none !important; }
.btn-primary { background:var(--f1-bronze) !important; color:var(--f1-ink) !important; letter-spacing:.1em; text-transform:uppercase; font-size:0.761rem !important; padding:0.522rem 0.783rem !important; }
.btn-primary:hover { background:var(--f1-bronze-lt) !important; }
.btn-secondary, .btn-ghost { background:transparent !important; color:var(--f1-paper) !important; border:1px solid var(--f1-rule-strong) !important; }
.btn-secondary:hover, .btn-ghost:hover { border-color:var(--f1-bronze) !important; background:transparent !important; }

/* ── Layout ─────────────────────────────────────────────────────────────── */
.portal-main { max-width:72rem !important; padding:2.435rem 1.739rem 4.174rem !important; }
.mobile-nav { display:none !important; }

/* Greeting (was a gradient banner) */
.welcome-banner { background:none !important; padding:0 !important; border-radius:0 !important; margin:0 0 0.348rem !important; overflow:visible !important; }
.welcome-banner::after { display:none !important; }
.welcome-banner h1 { font-size:2.348rem !important; line-height:1.15 !important; margin:0 0 0.522rem !important; color:var(--f1-paper) !important; }
.welcome-banner p { color:var(--f1-muted) !important; font-size:0.935rem !important; max-width:62ch; line-height:1.6; }

/* Figures strip (was KPI cards) */
.kpi-row { gap:0 !important; margin:1.913rem 0 2.783rem !important; border-top:1px solid var(--f1-rule); border-bottom:1px solid var(--f1-rule); }
.kpi-card { background:none !important; border:0 !important; border-left:1px solid var(--f1-rule) !important; border-radius:0 !important; padding:1.043rem 1.043rem 1.13rem !important; }
.kpi-card:first-child { border-left:0 !important; padding-left:0 !important; }
.kpi-card:hover { box-shadow:none !important; }
.kpi-icon { display:none !important; }
.kpi-label { font:400 0.804rem/1.3 var(--f1-sans) !important; text-transform:none !important; letter-spacing:0 !important; color:var(--f1-muted) !important; margin-bottom:0.435rem !important; }
html body .kpi-value { font:400 1.87rem/1.1 var(--f1-serif) !important; color:var(--f1-paper) !important; font-variant-numeric:tabular-nums; }
.kpi-sub { color:var(--f1-faint) !important; font-size:0.804rem !important; margin-top:0.348rem !important; }

/* Cards become ruled sections */
.card, .invest-card, .update-card, .call-card { background:var(--f1-panel) !important; color:var(--f1-paper) !important; border:1px solid var(--f1-rule) !important; border-radius:0.13rem !important; box-shadow:none !important; }
.card:hover, .invest-card:hover, .update-card:hover, .call-card:hover { box-shadow:none !important; }
.card-header, .invest-header, .modal-header { border-bottom:1px solid var(--f1-rule) !important; font-weight:400 !important; background:transparent !important; color:var(--f1-paper) !important; }
.card-header > span:first-child { font:400 1.196rem/1.3 var(--f1-serif); }
.card-header i, .section-title i { display:none; }
.card-footer, .invest-footer { background:transparent !important; border-top:1px solid var(--f1-rule) !important; color:var(--f1-muted) !important; }
.section-title { font-size:1.87rem !important; margin-bottom:1.217rem !important; }
.invest-stats { background:var(--f1-rule) !important; }
.invest-stat { background:var(--f1-panel) !important; }
.invest-stat-label, .tax-year-header { font:400 0.804rem/1.3 var(--f1-sans) !important; text-transform:none !important; letter-spacing:0 !important; color:var(--f1-muted) !important; }
.invest-stat-value, .call-amount .amount, .update-metric .val, .totals-row .total-val, .dist-amount { font-family:var(--f1-serif) !important; font-weight:400 !important; font-variant-numeric:tabular-nums; }
.dist-amount, .totals-row .total-val { color:var(--f1-paper) !important; }
.update-metric { background:var(--f1-panel-2) !important; }
.deal-item:hover, .doc-row:hover { background:transparent !important; }
.doc-icon-box { border-radius:2px !important; }
.empty-state { color:var(--f1-muted) !important; }
.empty-state i { opacity:.35 !important; }
.badge { border-radius:2px !important; font-weight:500 !important; }
.badge-funded { background:rgba(176,138,85,.16) !important; color:var(--f1-bronze-lt) !important; }
.tab-bar { border-bottom-color:var(--f1-rule) !important; }
.tab-bar a.active { color:var(--f1-paper) !important; border-bottom-color:var(--f1-bronze) !important; }

/* Tables and forms */
table { color:var(--f1-paper); }
th { background:transparent !important; color:var(--f1-faint) !important; font-weight:400 !important; border-bottom:1px solid var(--f1-rule) !important; }
td { color:var(--f1-paper) !important; border-bottom-color:var(--f1-rule) !important; }
label, .form-group label { color:var(--f1-muted) !important; font-weight:400 !important; }
input:not([type=checkbox]):not([type=radio]), select, textarea,
.form-group input, .form-group select, .form-group textarea {
  background:var(--f1-panel) !important; color:var(--f1-paper) !important; border:1px solid var(--f1-rule-strong) !important; border-radius:2px !important; }
input:focus, select:focus, textarea:focus { border-color:var(--f1-bronze-lt) !important; box-shadow:none !important; outline:none; }
input::placeholder, textarea::placeholder { color:var(--f1-faint) !important; }
.form-group input[readonly] { background:var(--f1-ink) !important; color:var(--f1-faint) !important; }
select option { background:var(--f1-panel); color:var(--f1-paper); }

/* Modal + toast */
.modal-content { background:var(--f1-panel) !important; color:var(--f1-paper) !important; border:1px solid var(--f1-rule); }
.modal-body iframe { background:#fff; }
.toast { border-radius:2px !important; color:var(--f1-ink) !important; }

/* ── Capital call notice ────────────────────────────────────────────────── */
.f1-notice { display:flex; align-items:center; justify-content:space-between; gap:1.043rem; margin:1.565rem 0 0; padding:0.783rem 0.957rem;
  background:var(--f1-panel); border:1px solid var(--f1-rule); border-left:0.13rem solid var(--f1-alert-deep); }
.f1-notice.pending { border-left-color:var(--f1-warn); }
.f1-notice p { margin:0; color:var(--f1-paper); }
.f1-notice span { color:var(--f1-muted); }

/* ── Projects with stage track ──────────────────────────────────────────── */
.f1-head { display:flex; align-items:baseline; justify-content:space-between; gap:0.696rem; margin:0 0 0.783rem; }
.f1-head h2 { font-size:1.522rem; line-height:1.2; margin:0; }
.f1-head a { font-size:0.891rem; text-decoration:none; }
.f1-head a:hover { text-decoration:underline; text-underline-offset:0.13rem; }
.f1-projects { list-style:none; margin:0 0 3.13rem; padding:0; border-top:1px solid var(--f1-rule); }
.f1-project { display:grid; grid-template-columns:minmax(8.696rem,1.3fr) minmax(12.174rem,2fr) auto; gap:0.348rem 1.391rem; align-items:center; padding:1.13rem 0; border-bottom:1px solid var(--f1-rule); }
.f1-project h3 { font:400 1.196rem/1.3 var(--f1-serif); margin:0 0 0.174rem; color:var(--f1-paper); }
.f1-meta { font-size:0.804rem; color:var(--f1-muted); }
.f1-stake { text-align:right; white-space:nowrap; }
.f1-stake b { display:block; font:400 1.13rem/1.3 var(--f1-serif); font-variant-numeric:tabular-nums; }
.f1-stake span { font-size:0.804rem; color:var(--f1-muted); }
.f1-track { list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(5,1fr); gap:0.174rem; }
.f1-track li { font-size:0.761rem; color:var(--f1-faint); padding-top:0.522rem; position:relative; }
.f1-track li::before { content:""; position:absolute; top:0; left:0; right:0; height:0.13rem; background:var(--f1-rule-strong); }
.f1-track li.done::before { background:rgba(176,138,85,.55); }
.f1-track li.now { color:var(--f1-paper); font-weight:500; }
.f1-track li.now::before { background:var(--f1-bronze-lt); height:0.217rem; top:-1px; }
.f1-note { grid-column:2; font-size:0.804rem; color:var(--f1-muted); }
.f1-cols { display:grid; grid-template-columns:1.2fr 1fr; gap:2.435rem; }
.f1-list { list-style:none; margin:0; padding:0; border-top:1px solid var(--f1-rule); }
.f1-list li { display:flex; justify-content:space-between; gap:0.696rem; padding:0.609rem 0; border-bottom:1px solid var(--f1-rule); font-size:0.891rem; }
.f1-list .sub { font-size:0.804rem; color:var(--f1-faint); }
.f1-list .amt { font-family:var(--f1-serif); font-variant-numeric:tabular-nums; white-space:nowrap; }
.f1-empty { color:var(--f1-muted); font-size:0.891rem; padding:0.783rem 0; border-bottom:1px solid var(--f1-rule); margin:0; }

/* ── Responsive ─────────────────────────────────────────────────────────── */
@media (max-width:900px) {
  .portal-header { height:auto !important; flex-wrap:wrap; padding:0 0.87rem !important; gap:0 0.696rem !important; }
  .portal-logo { height:2.609rem; }
  .portal-logo small, .portal-user #headerName { display:none; }
  .portal-user { margin-left:auto; }
  .portal-nav { display:flex !important; order:3; flex-basis:100%; margin:0 -20px; padding:0 0.87rem; border-top:1px solid var(--f1-rule); }
  .portal-nav a { height:auto !important; padding:0.565rem 0 !important; }
  .portal-main { padding:1.739rem 0.87rem 3.13rem !important; }
  .welcome-banner h1 { font-size:2.13rem !important; }
  .kpi-row { grid-template-columns:1fr 1fr !important; }
  .kpi-card:nth-child(3) { border-left:0 !important; padding-left:0 !important; }
  .kpi-card:nth-child(n+3) { border-top:1px solid var(--f1-rule) !important; }
  .f1-project { grid-template-columns:1fr; gap:0.609rem; }
  .f1-stake { text-align:left; }
  .f1-note { grid-column:1; }
  .f1-cols { grid-template-columns:1fr; gap:2.087rem; }
  .f1-notice { flex-direction:column; align-items:flex-start; }
}
@media (prefers-reduced-motion:reduce) { * { transition:none !important; animation:none !important; } }

.portal-user #headerName { text-decoration:none; }
.portal-user #headerName:hover { color:var(--f1-paper) !important; }
.invest-header > div > div:first-child { font:400 1.196rem/1.3 var(--f1-serif) !important; }
.update-title, .dist-deal, .deal-name { font-weight:500 !important; }
.f1-list a { text-decoration:none; }
.f1-list a:hover { text-decoration:underline; text-underline-offset:0.13rem; }

/* ── Auth pages: sign in, create account, reset password ────────────────── */
html[data-page="auth"] body { display:block !important; padding:0 !important; margin:0 !important; min-height:100vh; background:var(--f1-ink) !important; }
html[data-page="auth"] body::before, html[data-page="auth"] body::after { display:none !important; content:none !important; }
html[data-page="auth"] h1 { font:400 2.13rem/1.2 var(--f1-serif) !important; color:var(--f1-paper) !important; margin:0 0 0.522rem; }

.f1-auth { min-height:100vh; display:grid; grid-template-columns:1.1fr 1fr; }
.f1-auth-art { display:flex; flex-direction:column; justify-content:flex-end; padding:2.435rem;
  background:linear-gradient(180deg, rgba(16,17,20,.2), rgba(16,17,20,.92)), url("../assets/forma-one-sitework.jpg") center/cover, var(--f1-panel); }
.f1-auth-art p { font:400 1.87rem/1.35 var(--f1-serif); max-width:20ch; margin:0; color:var(--f1-paper); }
.f1-auth-art small { display:block; margin-top:0.696rem; color:var(--f1-muted); font-size:0.891rem; }
.f1-auth-form { display:flex; flex-direction:column; justify-content:center; padding:2.435rem 3.13rem; max-width:28rem; width:100%; }
.f1-auth-logo { height:1.913rem; width:auto; align-self:flex-start; margin-bottom:1.739rem; }
.f1-lede { color:var(--f1-muted); margin:0 0 1.391rem; line-height:1.6; }
.f1-auth-form label { display:block; font-size:0.804rem; color:var(--f1-muted) !important; margin:0 0 0.348rem; }
.f1-auth-form input[type=email], .f1-auth-form input[type=password], .f1-auth-form input[type=text] {
  width:100%; padding:0.565rem 0.609rem !important; font:400 0.935rem var(--f1-sans) !important; margin-bottom:0.957rem; }
.f1-pw { position:relative; }
.f1-pw input { padding-right:1.913rem !important; }
/* Centered on the input itself (the wrapper also contains the input's bottom margin) */
.f1-pw .toggle-pw { position:absolute; right:0.45rem; top:calc((100% - 0.957rem) / 2); transform:translateY(-50%); display:flex; align-items:center; justify-content:center; background:none; border:0; color:var(--f1-faint); padding:0.35rem; line-height:1; cursor:pointer; }
.f1-pw .toggle-pw:hover { color:var(--f1-paper); }
.f1-row { display:flex; justify-content:space-between; align-items:center; gap:0.522rem; margin:-6px 0 1.217rem; font-size:0.891rem; }
.f1-row .checkbox-label { display:flex; align-items:center; gap:0.348rem; margin:0; color:var(--f1-muted) !important; font-size:0.891rem; cursor:pointer; }
.f1-row a { text-decoration:none; }
.btn-login, html[data-page="auth"] .btn-primary {
  width:100%; padding:0.739rem !important; background:var(--f1-bronze) !important; color:var(--f1-ink) !important; border:0 !important; border-radius:2px !important;
  font:500 0.761rem/1 var(--f1-sans) !important; letter-spacing:.12em; text-transform:uppercase; cursor:pointer; box-shadow:none !important; }
.btn-login:hover, html[data-page="auth"] .btn-primary:hover { background:var(--f1-bronze-lt) !important; }
.btn-login:disabled, html[data-page="auth"] .btn-primary:disabled { opacity:.6; cursor:wait; }
.f1-help { margin-top:1.217rem; font-size:0.891rem; color:var(--f1-muted); }
html[data-page="auth"] .alert { display:none; margin:0 0 0.87rem; padding:0.522rem 0.609rem; border-radius:2px; font-size:0.891rem; }
html[data-page="auth"] .alert.show { display:block; }
html[data-page="auth"] .alert-error { background:rgba(224,70,75,.10) !important; border:1px solid rgba(224,70,75,.4) !important; color:#F4B7B9 !important; }
html[data-page="auth"] .alert-success { background:rgba(143,194,156,.10) !important; border:1px solid rgba(143,194,156,.4) !important; color:#CFE6D5 !important; }

/* Create account + reset password keep their single-column card */
.auth-container, .wrap { max-width:22.609rem !important; margin:0 auto !important; padding:2.783rem 1.043rem !important; background:transparent !important; box-shadow:none !important; border:0 !important; }
.auth-header, .brand { text-align:left !important; }
.auth-header .logo, .brand-logo { justify-content:flex-start !important; margin-bottom:1.391rem; }
.auth-header p, .card-sub, .brand-tagline { color:var(--f1-muted) !important; }
html[data-page="auth"] .card { background:var(--f1-panel) !important; border:1px solid var(--f1-rule) !important; border-radius:0.13rem !important; box-shadow:none !important; }
html[data-page="auth"] .card-title { font:400 1.522rem/1.3 var(--f1-serif) !important; color:var(--f1-paper) !important; }
html[data-page="auth"] .form-group label, html[data-page="auth"] label { color:var(--f1-muted) !important; font-weight:400 !important; }
html[data-page="auth"] .input-icon, html[data-page="auth"] .card-icon { display:none !important; }
html[data-page="auth"] .input-wrap input { padding-left:0.609rem !important; }
.auth-footer, .terms, .card-footer { color:var(--f1-muted) !important; background:transparent !important; border-color:var(--f1-rule) !important; }
#inviteBanner { background:var(--f1-panel) !important; border:1px solid var(--f1-rule) !important; border-left:0.13rem solid var(--f1-bronze) !important; border-radius:2px !important; }
#inviteBanner > div:first-child { display:none !important; }
#inviteBanner div[style*="c85a00"] { color:var(--f1-paper) !important; font-family:var(--f1-serif); font-weight:400 !important; }
#inviteBanner #inviteBannerText { color:var(--f1-muted) !important; }
#investorFields div[style*="uppercase"] { text-transform:none !important; letter-spacing:0 !important; font:400 1.13rem var(--f1-serif) !important; color:var(--f1-paper) !important; }
html[data-page="auth"] footer, html[data-page="auth"] #dt-legal-footer { background:transparent !important; border-top:1px solid var(--f1-rule) !important; color:var(--f1-faint) !important; }
html[data-page="auth"] footer a { color:var(--f1-muted) !important; }

@media (max-width:900px) {
  .f1-auth { grid-template-columns:1fr; }
  .f1-auth-art { min-height:9.565rem; padding:1.217rem 0.87rem; }
  .f1-auth-art p { font-size:1.522rem; }
  .f1-auth-form { padding:1.739rem 0.87rem 2.435rem; max-width:none; }
}
#googleBtn[hidden] { display:none !important; }

/* ── Deal invite (invest.html) and signing (sign.html) ──────────────────── */
.header { background:rgba(16,17,20,.88) !important; border-bottom:1px solid var(--f1-rule) !important; height:3.6rem !important; padding:0 2rem !important; }
.header .logo { color:var(--f1-paper) !important; font:400 1.45rem/1 var(--f1-serif) !important; gap:0.65rem !important; }
.header .logo img { height:1.45rem !important; width:auto; }
#headerUser { font-size:0.85rem !important; color:var(--f1-muted) !important; }
.container { padding-top:2.435rem !important; }
.deal-hero { background:none !important; padding:0 0 0.348rem !important; border-radius:0 !important; color:var(--f1-paper) !important; }
.deal-hero h1 { font:400 2.5rem/1.15 var(--f1-serif) !important; }
.deal-hero .meta { color:var(--f1-muted) !important; }
.deal-hero .kpi-row { border-top:1px solid var(--f1-rule); border-bottom:1px solid var(--f1-rule); gap:0 !important; margin-top:1.217rem !important; }
.deal-hero .kpi { text-align:left !important; padding:0.87rem 0.87rem 0.957rem; border-left:1px solid var(--f1-rule); }
.deal-hero .kpi:first-child { border-left:0; padding-left:0; }
.kpi-val { font:400 1.609rem/1.15 var(--f1-serif) !important; color:var(--f1-paper) !important; }
.deal-hero .kpi-label { text-transform:none !important; letter-spacing:0 !important; font-size:0.804rem !important; color:var(--f1-muted) !important; margin-top:0.261rem !important; }
.term-value { font-family:var(--f1-serif) !important; font-weight:400 !important; }
.term-row, .doc-section { border-bottom-color:var(--f1-rule) !important; }
.doc-section h3, .card-header { font-family:var(--f1-serif) !important; font-weight:400 !important; }
.sig-box { border:1px dashed var(--f1-rule-strong) !important; border-radius:2px !important; }
.sig-box.ready { border-color:var(--f1-bronze) !important; background:rgba(176,138,85,.06) !important; }
.sig-input { color:var(--f1-paper) !important; background:transparent !important; border:0 !important; }
.attestation { background:var(--f1-ink) !important; border-color:var(--f1-rule) !important; }
.success-box i { color:var(--f1-good) !important; }
.progress-bar, .raise-bar { background:var(--f1-rule) !important; }
@media (max-width:640px) {
  .header { padding:0 0.87rem !important; }
  .deal-hero h1 { font-size:1.87rem !important; }
  .deal-hero .kpi:nth-child(3) { border-left:0; padding-left:0; }
}
html body #dt-legal-footer { background:transparent !important; color:var(--f1-faint) !important; border-top:1px solid var(--f1-rule) !important; font-size:0.804rem !important; padding:1.043rem 1.739rem !important; }
html body #dt-legal-footer a { color:var(--f1-muted) !important; }

/* Auth pages: the fixed footer covered the form on short or narrow screens */
@media (max-width: 900px), (max-height: 900px) {
  html[data-page="auth"] body > footer { position:static !important; }
}

/* Page-level widths that were fixed in px */
html body .container { max-width:54rem !important; }
html body .login-box { max-width:22rem !important; }

/* Header: keep every tab visible. On narrower desktops drop the caption and the
   user's name (Sign out stays), then tighten spacing. */
@media (min-width:901px) and (max-width:1700px) {
  .portal-logo small { display:none !important; }
  /* Name becomes a person icon (it is the Profile link) */
  .portal-user #headerName { font-size:0 !important; padding:0 0.4rem; }
  .portal-user #headerName::before { content:"\f007"; font:900 1rem/1 "Font Awesome 6 Free"; color:var(--f1-muted); }
  .portal-header { gap:1.2rem !important; padding:0 1.4rem !important; }
  .portal-nav { gap:1.05rem !important; }
  .portal-nav a { font-size:0.95rem !important; }
}
@media (min-width:901px) and (max-width:1300px) {
  .portal-logo { font-size:1.25rem !important; }
  .portal-logo img { height:1.25rem !important; }
  .portal-nav { gap:0.85rem !important; }
  .portal-nav a { font-size:0.88rem !important; }
}

/* Accredited-investor verification form (invite flow + My Profile) */
.f1a-lede { color:var(--f1-muted); line-height:1.6; margin:0 0 1.2rem; }
.f1a-h { font:400 1.05rem/1.3 var(--f1-serif); color:var(--f1-paper); margin:0 0 0.6rem; }
.f1a-h span { font:400 0.8rem var(--f1-sans); color:var(--f1-faint); margin-left:0.4rem; }
.f1a-opt { display:flex; gap:0.7rem; align-items:flex-start; padding:0.75rem 0.9rem; margin:0 0 0.5rem; border:1px solid var(--f1-rule); border-radius:2px; cursor:pointer; color:var(--f1-paper) !important; line-height:1.5; }
.f1a-opt:hover { border-color:var(--f1-rule-strong); }
.f1a-opt input { margin-top:0.25rem; accent-color:var(--f1-bronze); flex:none; }
.f1a-opt strong { font-weight:500; }
.f1a-cert { margin-top:1.2rem; background:rgba(176,138,85,.06); }
.f1a-note { color:var(--f1-muted); font-size:0.88rem; line-height:1.6; margin:0 0 0.8rem; }
.f1a-drop { display:flex; align-items:center; gap:0.7rem; padding:1.1rem; border:1px dashed var(--f1-rule-strong); border-radius:2px; cursor:pointer; color:var(--f1-muted) !important; }
.f1a-drop:hover { border-color:var(--f1-bronze); color:var(--f1-paper) !important; }
.f1a-drop input { display:none; }
.f1a-drop i { font-size:1.3rem; color:var(--f1-bronze-lt); }
.f1a-files { list-style:none; padding:0; margin:0 0 0.7rem; }
.f1a-files li { padding:0.35rem 0; color:var(--f1-paper); }
.f1a-files li span { color:var(--f1-faint); font-size:0.8rem; margin-left:0.4rem; }
.f1a-err { display:none; color:#F4B7B9; margin:0.8rem 0 0; }
.f1a .btn-primary { margin-top:1.1rem; }
.f1a-msg { margin-left:0.8rem; color:var(--f1-muted); font-size:0.88rem; }

/* Accepted-subscription notice (fades in on the Overview page) */
.f1-accepted { margin:0 0 3rem; opacity:0; transform:translateY(8px); transition:opacity .6s ease, transform .6s ease; }
.f1-accepted.on { opacity:1; transform:none; }
.f1-accepted-card { border:1px solid rgba(143,194,156,.45); background:rgba(143,194,156,.07); border-radius:3px; padding:1.4rem 1.5rem; margin:0 0 1rem; }
.f1-accepted-head { display:flex; gap:0.9rem; align-items:flex-start; }
.f1-accepted-head i { color:#8FC29C; font-size:1.4rem; margin-top:0.2rem; }
.f1-accepted-head h3 { font:400 1.25rem/1.3 var(--f1-serif); margin:0 0 0.4rem; color:var(--f1-paper); }
.f1-accepted-head p { margin:0; color:var(--f1-muted); line-height:1.6; }
@media (prefers-reduced-motion: reduce){ .f1-accepted { transition:none; transform:none; } }

/* Wire instructions panel (opened from the subscription row) */
/* Drops down from the top: height opens over 2s while the content is revealed top to bottom */
/* Closing folds it back up from the bottom over 2s */
.f1-wire { display:grid; grid-template-rows:0fr; margin-top:1rem; transition:grid-template-rows 2s cubic-bezier(.64,0,.78,0); }
.f1-wire.on { grid-template-rows:1fr; transition:grid-template-rows 2s cubic-bezier(.22,.61,.36,1); }
.f1-wire-inner { overflow:hidden; min-height:0; }
.f1-wire-inner > .f1-accepted-card { margin:0; clip-path:inset(0 0 100% 0); transition:clip-path 2s cubic-bezier(.64,0,.78,0); }
.f1-wire.on .f1-wire-inner > .f1-accepted-card { clip-path:inset(0 0 0 0); transition:clip-path 2s cubic-bezier(.22,.61,.36,1); }
.f1-wire .f1-list li { border-bottom-color:rgba(143,194,156,.2); }
@media (prefers-reduced-motion: reduce){ .f1-wire, .f1-wire.on, .f1-wire-inner > .f1-accepted-card { transition:none !important; } }

/* Soft (accepted, not yet wired) vs hard (wire verified) commitments */
.f1-pill { display:inline-block; padding:0.12rem 0.55rem; border-radius:0.5rem; font-weight:500; white-space:nowrap; line-height:1.5; }
.f1-pill.soft { color:#9FD3FF; background:rgba(120,190,255,.12); border:1px solid rgba(120,190,255,.45); }
.f1-pill.hard { color:#9FE0B4; background:rgba(143,194,156,.12); border:1px solid rgba(143,194,156,.5); }

/* Investor portal: the same photo behind every tab, deep navy tint (sp-core adds html.f1-lp-photo) */
html.f1-lp-photo, html.f1-lp-photo body {
  background:
    linear-gradient(180deg, rgba(13,17,30,.80) 0%, rgba(13,17,30,.70) 45%, rgba(13,17,30,.78) 100%),
    #101114 var(--f1-photo) center / cover no-repeat fixed !important;
}
html.f1-lp-photo body .portal-main, html.f1-lp-photo body .portal-page { background: transparent !important; }
html.f1-lp-photo body .portal-header { background: rgba(13,17,30,.62) !important; -webkit-backdrop-filter: blur(14px) saturate(140%); backdrop-filter: blur(14px) saturate(140%); }
/* Panels become dark glass so the photo shows through softly */
html.f1-lp-photo body .card, html.f1-lp-photo body .invest-card, html.f1-lp-photo body .update-card, html.f1-lp-photo body .call-card,
html.f1-lp-photo body .modal-content {
  background: rgba(20,24,34,.78) !important; -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px);
}
html.f1-lp-photo body .f1-accepted-card { background: rgba(28,48,38,.62) !important; }

/* Portal label under the wordmark ('LP Portal'), Baskerville light-style */
.portal-logo .f1-wordmark-lp { display:inline-flex; flex-direction:column; line-height:1.05; }
.portal-logo small.f1-portal-tag { display:block !important; margin:3px 0 0 !important; font:300 0.62rem/1 'Baskerville','Libre Baskerville',Georgia,serif !important; letter-spacing:.06em; color:rgba(242,239,234,.62) !important; }
