/* ==========================================================================
   Investace — shared theme layer (v1)
   One design system for every Investace surface: main site, product landing
   pages (AlphaLeap, Investace Research, Investace Mutual Funds) and the
   client dashboards. Dark (Wealthcore) is the default; light is the same
   design in daylight. Switch with <html data-theme="light|dark">.
   Copy this file (and ic-theme.js) verbatim into other projects — do not fork.
   ========================================================================== */
:root, [data-theme="dark"] {
  color-scheme: dark;
  --bg: #08080A;            /* page */
  --bg-2: #0E0E11;          /* raised band */
  --surface: #121215;       /* cards */
  --surface-2: #18181C;
  --line: rgba(255,255,255,.08);
  --line-2: rgba(255,255,255,.14);
  --text: #ECECEA;
  --mute: rgba(236,236,234,.60);
  --dim: rgba(236,236,234,.38);
  --signal: #C9C7C2;        /* the one accent: warm light grey, "live / attention" — monochrome, no moss */
  --signal-ink: #141413;
  --gold: #BE9338;          /* logo only (divider bar) + rare hairlines */
  --positive: #5FBF86;
  --negative: #F07167;
  --metal: linear-gradient(180deg, #FFFFFF 0%, #E6E5E1 40%, #A09E99 80%, #7E7C78 100%);
  --btn-bg: #FFFFFF; --btn-fg: #0A0A0B; --btn-line: rgba(255,255,255,.22);
  --grain-opacity: .045;
  --panel-a: #C9C9C6; --panel-b: #1a1a1c; --panel-c: #8f8f8c; --panel-base: #0E0E10;
  --shadow: 0 30px 60px -24px rgba(0,0,0,.8);
}
[data-theme="light"] {
  color-scheme: light;
  --bg: #F3F2EF;
  --bg-2: #ECEBE7;
  --surface: #FFFFFF;
  --surface-2: #F7F6F3;
  --line: rgba(14,12,10,.09);
  --line-2: rgba(14,12,10,.16);
  --text: #0E0C0A;
  --mute: rgba(14,12,10,.62);
  --dim: rgba(14,12,10,.42);
  --signal: #2A2925;        /* warm graphite in daylight */
  --signal-ink: #F3F2EF;
  --positive: #1F7A45;
  --negative: #B3261E;
  --metal: linear-gradient(180deg, #2A2926 0%, #0E0C0A 55%, #5A5752 100%);
  --btn-bg: #0E0C0A; --btn-fg: #FFFFFF; --btn-line: rgba(14,12,10,.2);
  --grain-opacity: .06;
  --panel-a: #FFFFFF; --panel-b: #B6B8B2; --panel-c: #D8D7D3; --panel-base: #E3E4E1;
  --shadow: 0 30px 60px -28px rgba(40,38,34,.35);
}
html { background: var(--bg); color: var(--text); transition: background-color .5s ease, color .5s ease; }

/* ---------- logo: the wordmark itself, no container ---------- */
/* Faithful to the brand mark: INVESTACE (bold) · gold rule · CAPITAL (regular,
   widely tracked) — all one colour, optically centred on the rule. The rule
   is a touch taller than the caps, as in the original logo. */
.ic-logo { display: inline-flex; align-items: center; min-height: 24px; gap: .62em; font-family: "Poppins", "Geist", system-ui, sans-serif; font-size: 16px; color: var(--text); line-height: 1; text-decoration: none; -webkit-font-smoothing: antialiased; }
.ic-logo__word { font-weight: 700; font-size: 1em; letter-spacing: .035em; }
.ic-logo__bar { width: 2px; height: 1.05em; background: var(--gold); border-radius: 1px; transform-origin: 50% 50%; animation: ic-bar-in .9s cubic-bezier(.2,.9,.25,1) .15s both; }
.ic-logo__cap { font-weight: 400; font-size: 1em; letter-spacing: .3em; margin-right: -.3em; color: var(--text); opacity: .92; }
.ic-logo__sub { margin-left: .35em; padding-left: .9em; border-left: 1px solid var(--line-2); font-family: "Geist", system-ui, sans-serif; font-weight: 500; font-size: .86em; letter-spacing: -.01em; color: var(--text); opacity: .9; }
.ic-logo:hover .ic-logo__bar { box-shadow: 0 0 10px rgba(190,147,56,.55); }
.ic-logo--xl { font-size: clamp(22px, 2.1vw, 32px); }
.ic-logo--xl .ic-logo__bar { width: 3px; }
@keyframes ic-bar-in { from { transform: scaleY(0); } to { transform: scaleY(1); } }
@media (max-width: 640px) { .ic-logo { font-size: 12.5px; gap: .5em; } .ic-logo__cap { letter-spacing: .22em; margin-right: -.22em; } .ic-logo__sub { display: none; } }

/* ---------- theme toggle: a small sun/moon switch ---------- */
.ic-toggle { position: relative; width: 52px; height: 28px; border-radius: 999px; border: 0; cursor: pointer; background: var(--surface-2); box-shadow: inset 0 0 0 1px var(--line-2); display: inline-flex; align-items: center; padding: 0 4px; flex: none; transition: background .4s; }
.ic-toggle:focus-visible { outline: 1.5px solid var(--text); outline-offset: 3px; }
.ic-toggle__knob { width: 20px; height: 20px; border-radius: 50%; background: var(--text); display: grid; place-items: center; transform: translateX(24px); transition: transform .5s cubic-bezier(.2,.9,.25,1), background .4s; }
[data-theme="light"] .ic-toggle__knob { transform: translateX(0); }
.ic-toggle__knob svg { width: 12px; height: 12px; color: var(--bg); }
.ic-toggle .ic-sun { display: none; } [data-theme="light"] .ic-toggle .ic-sun { display: block; } [data-theme="light"] .ic-toggle .ic-moon { display: none; }
.ic-toggle:active .ic-toggle__knob { width: 24px; }
@media (prefers-reduced-motion: reduce) { .ic-logo__bar { animation: none; } .ic-toggle__knob { transition: none; } }

/* ---------- shared footer ---------- */
.ic-foot { background: var(--bg); color: var(--text); border-top: 1px solid var(--line); padding: 80px 0 28px; font-size: 14px; }
.ic-foot__top { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 2fr); gap: 60px; }
.ic-foot__brand p { margin-top: 22px; max-width: 340px; color: var(--mute); line-height: 1.6; }
.ic-foot__social { margin-top: 22px; display: flex; flex-wrap: wrap; gap: 8px; }
.ic-foot__social a { font-size: 12.5px; padding: 7px 12px; border-radius: 999px; box-shadow: inset 0 0 0 1px var(--line-2); color: var(--mute); transition: color .2s, background .2s; }
.ic-foot__social a:hover { color: var(--text); background: var(--surface-2); }
.ic-foot__cols { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 28px; }
.ic-foot__cols div { display: grid; gap: 9px; align-content: start; }
.ic-foot__cols b { font-size: 11px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: var(--dim); margin-bottom: 4px; }
.ic-foot__cols .ic-foot__gap { margin-top: 18px; }
.ic-foot__cols a { color: var(--mute); font-size: 13.5px; line-height: 1.4; transition: color .2s; overflow-wrap: anywhere; } /* long emails wrap instead of pushing the page sideways */
.ic-foot__cols a:hover { color: var(--text); }
.ic-foot__reg { margin-top: 56px; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1px; background: var(--line); border: 1px solid var(--line); }
.ic-foot__reg div { background: var(--bg); padding: 14px 16px; }
.ic-foot__reg div:nth-child(9), .ic-foot__reg div:nth-child(10) { grid-column: span 2; }
.ic-foot__reg dt { font-size: 10.5px; letter-spacing: .05em; text-transform: uppercase; color: var(--dim); }
.ic-foot__reg dd { margin-top: 4px; font-size: 13px; color: var(--text); }
.ic-foot__legal { margin-top: 32px; display: grid; gap: 10px; max-width: 1040px; font-size: 11.5px; line-height: 1.65; color: var(--dim); }
.ic-foot__bar { margin-top: 26px; padding-top: 18px; border-top: 1px solid var(--line); display: flex; flex-wrap: wrap; justify-content: space-between; gap: 10px; font-size: 12px; color: var(--dim); }
@media (max-width: 1000px) { .ic-foot__top { grid-template-columns: 1fr; } .ic-foot__cols, .ic-foot__reg { grid-template-columns: 1fr 1fr; } }
@media (max-width: 560px) { .ic-foot__cols, .ic-foot__reg { grid-template-columns: 1fr; } .ic-foot__reg div:nth-child(9), .ic-foot__reg div:nth-child(10) { grid-column: auto; } }
