/* Growth & Yield — shared theme for every page (home, sign-in pages, the app).
   Light theme: white cards on a pale blue-gray page, navy text, gold and blue from the badge.
   The variable names come from the earlier dark theme and are kept so every page still reads them:
   --ink is the page background, --ink-2 a card, --ink-3 a sunken field; --cream is the main text color.
   Gold on white needs to be darker to read, so --gold is for borders and marks and --gold-hi for gold text. */
:root {
  color-scheme: light;
  --ink: #f4f6fa; --ink-2: #ffffff; --ink-3: #eef2f7; --navy: #142132;
  --line: rgba(20, 33, 50, .09); --line-2: rgba(20, 33, 50, .17);
  --gold: #c99a3a; --gold-hi: #94690f; --gold-dim: rgba(201, 154, 58, .14);
  --steel: #2f6aa8; --steel-dim: rgba(47, 106, 168, .1);
  --cream: #142132; --muted: #556275; --faint: #7f8a9a;
  --pos: #1d8a4e; --neg: #c2412a;
  --shadow: 0 1px 2px rgba(20, 33, 50, .05), 0 6px 22px -10px rgba(20, 33, 50, .16);
  --radius: 14px;
  --font-display: "Cormorant Garamond", Georgia, "Times New Roman", serif;
  --font-body: Outfit, "Segoe UI", system-ui, sans-serif;
  --font-mono: "JetBrains Mono", ui-monospace, Consolas, monospace;
}
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body { margin: 0; background: var(--ink); color: var(--cream); font: 400 16px/1.6 var(--font-body); }
a { color: var(--gold-hi); }
:focus-visible { outline: 2px solid var(--gold); outline-offset: 3px; }
::selection { background: rgba(201, 154, 58, .3); color: var(--navy); }

/* Small spaced mono label that names a section. */
.eyebrow { margin: 0 0 18px; font: 500 11px/1.4 var(--font-mono); letter-spacing: .32em; text-transform: uppercase; color: var(--gold-hi); }
.eyebrow.steel { color: var(--steel); }

/* Light serif headlines; <strong> inside picks out the phrase that matters, <em> sets it in gold italic. */
.display { margin: 0; font-family: var(--font-display); font-weight: 400; letter-spacing: -.01em; line-height: 1.04; color: var(--navy); }
.display strong { font-weight: 600; }
.display em { font-style: italic; font-weight: 500; color: var(--gold-hi); }

/* Buttons: rounded, uppercase; the primary one is filled navy, the gold one tinted. */
.btn { display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 44px; padding: 13px 28px;
  border: 1px solid var(--line-2); border-radius: 10px; background: var(--ink-2); color: var(--navy);
  font: 500 13px/1 var(--font-body); letter-spacing: .08em; text-transform: uppercase; text-decoration: none; cursor: pointer;
  transition: border-color .15s, color .15s, background-color .15s, box-shadow .15s; }
.btn:hover { border-color: rgba(20, 33, 50, .35); }
.btn-gold { border-color: var(--gold); color: var(--navy); background: linear-gradient(180deg, #e7c77e, #d4a748);
  box-shadow: 0 6px 18px -8px rgba(201, 154, 58, .7); }
.btn-gold:hover { border-color: var(--gold-hi); background: linear-gradient(180deg, #ebcd88, #cf9f3c); box-shadow: 0 8px 22px -8px rgba(201, 154, 58, .8); }
.btn-sm { min-height: 36px; padding: 9px 18px; font-size: 12px; }
.btn[disabled], .btn[aria-disabled="true"] { opacity: .45; cursor: default; box-shadow: none; }

/* White card with a hairline border and a soft shadow. */
.panel-flat { background: var(--ink-2); border: 1px solid var(--line); border-radius: var(--radius); box-shadow: var(--shadow); }

/* Gold heartbeat trace from the badge, used as a quiet divider. */
.ecg { height: 16px; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='16' viewBox='0 0 240 16'%3E%3Cpath d='M0 11H92l5-3 4 3h6l4-10 5 14 4-8 3 4h4l3-2 3 2H240' fill='none' stroke='%23c99a3a' stroke-width='1.2' stroke-linejoin='round'/%3E%3C/svg%3E") repeat-x left center / 240px 16px; opacity: .7; }

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}
