/* Y3K Markets (Georgia) palette.
   Peach #F4A261 is the brand accent for fills, marks and accents on dark grounds.
   Red clay #D9603B carries large display accents. Text-size accents and primary buttons use a deeper clay (#B5472A)
   because white on #F4A261 (2.0:1) and white on #D9603B (3.7:1) fail WCAG AA for body-size text; white on #B5472A is 5.4:1.
   Georgia pine #1F4D3A for headings and the footer. Cream #FFF8F0 page, near-black #1B1B1B text.
   Dark: pine-black ground, peach and clay accents, cream text.
   Contrast (computed): ink on cream 16.4, pine on cream 9.1, muted on cream 6.7, clay-deep on cream 5.1,
   peach on dark surface 7.6, muted on dark surface 6.9, cream on pine footer 7.2. */

:root {
  --peach: #F4A261;
  --clay: #D9603B;
  --clay-deep: #B5472A;
  --clay-darker: #9C3E22;
  --pine: #1F4D3A;
  --pine-deep: #13261D;
  --heading: #1F4D3A;

  --accent: #B5472A;
  --accent-d: #9C3E22;
  --accent-soft: rgba(244, 162, 97, .18);
  --ink: #1B1B1B;
  --ink2: #2E2A25;
  --muted: #5E5850;
  --faint: #776E64;
  --line: #E9DFD2;
  --line-2: #F2EADF;
  --bg: #FFF8F0;
  --bg-2: #F7ECDF;
  --surface: #FFFFFF;
  --navy: #1F4D3A;
  --idle-bg: rgba(94, 88, 80, .10);

  --glass: rgba(255, 252, 247, .66);
  --glass-strong: rgba(255, 252, 247, .88);
  --glass-b: rgba(255, 255, 255, .85);
  --glass-dark: rgba(15, 26, 21, .46);

  --shadow-s: 0 1px 2px rgba(31, 77, 58, .06), 0 2px 8px rgba(31, 77, 58, .04);
  --shadow: 0 1px 2px rgba(31, 77, 58, .05), 0 12px 32px rgba(31, 77, 58, .08);
  --shadow-l: 0 2px 6px rgba(31, 77, 58, .06), 0 28px 64px -12px rgba(31, 77, 58, .22);
}

:root[data-theme="dark"] {
  --heading: #FFF8F0;
  --accent: #F4A261;
  --on-accent: #1A1208;
  --accent-d: #D9603B;
  --accent-soft: rgba(244, 162, 97, .14);
  --ink: #FFF8F0;
  --ink2: #EADFD2;
  --muted: #B5AA9C;
  --faint: #9A9083;
  --line: #263A30;
  --line-2: #1F3128;
  --bg: #0F1A15;
  --bg-2: #13211B;
  --surface: #17261F;
  --idle-bg: rgba(181, 170, 156, .12);
  --glass: rgba(23, 38, 31, .62);
  --glass-strong: rgba(23, 38, 31, .88);
  --glass-b: rgba(255, 248, 240, .10);
  --shadow: 0 1px 2px rgba(0, 0, 0, .4), 0 12px 32px rgba(0, 0, 0, .35);
  --shadow-l: 0 28px 64px -12px rgba(0, 0, 0, .6);
}

/* Headings in Georgia pine (cream in dark mode). Class-scoped core rules (hero, dark bands) still set their own color. */
h1, h2, h3, h4 { color: var(--heading); }
h1 em, h2 em { color: var(--clay); }
[data-theme="dark"] h1 em, [data-theme="dark"] h2 em { color: var(--peach); }
.hero-photo h1 em { color: var(--peach); }
.eyebrow::before { background: var(--peach); }

/* Primary buttons: clay with white text (5.4:1). */
.btn-primary { background: var(--clay-deep); border-color: var(--clay-darker); color: #fff; box-shadow: 0 8px 20px -8px rgba(181, 71, 42, .55); }
.btn-primary:hover { background: var(--clay-darker); color: #fff; }
.progress > i { background: linear-gradient(90deg, var(--clay), var(--peach)); }

/* Peach in the glass and glow details. */
.ambient::before { background: radial-gradient(closest-side, rgba(244, 162, 97, .22), transparent 70%); }
.ambient::after { background: radial-gradient(closest-side, rgba(31, 77, 58, .12), transparent 70%); }
.chrome-edge::after { background: linear-gradient(140deg, rgba(255,255,255,.95), rgba(233,223,210,.4) 40%, rgba(244,162,97,.5)); }
.checklist li::before { background: var(--accent-soft) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23B5472A' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center/13px no-repeat; }
[data-theme="dark"] .checklist li::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23F4A261' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E"); }
.cta-band::after { background: linear-gradient(100deg, rgba(19, 38, 29, .94) 0%, rgba(31, 77, 58, .80) 45%, rgba(181, 71, 42, .30) 100%); }
.cta-band h2 em { color: var(--peach); }

/* Accent badges on photos: peach with near-black text (8.4:1). */
body .prop-media .badges .badge.accent, body .pd-hero .badge.accent { background: var(--peach); color: #1B1B1B; }
body .brand-media .emblem { box-shadow: 0 40px 90px -30px rgba(31, 77, 58, .55); }
body .aside-photo.emblem-photo { box-shadow: 0 30px 70px -30px rgba(31, 77, 58, .45); }

/* Header and app bars on cream / pine-black. */
.site-head.solid, .site-head.scrolled { background: rgba(255, 248, 240, .84); border-bottom-color: rgba(31, 77, 58, .08); }
[data-theme="dark"] .site-head.solid, [data-theme="dark"] .site-head.scrolled { background: rgba(15, 26, 21, .84); border-bottom-color: rgba(255, 248, 240, .06); }
.topbar { background: rgba(255, 248, 240, .86); }
[data-theme="dark"] .topbar { background: rgba(15, 26, 21, .86); }
.demo-bar { background: var(--pine-deep); color: #EADFD2; }

/* Header fit: "Georgia compliance" is longer than the default label, so tighten the nav before it can wrap or crowd the actions. */
.nav-link { white-space: nowrap; }
@media (max-width: 1400px) { .nav-link { padding: 10px 10px; font-size: 14.5px; } .head-in { gap: 12px; } }
@media (max-width: 1240px) { .nav-link { padding: 10px 7px; font-size: 14px; } }

/* Investor portal and back office side bar in deep pine. */
.side { background: var(--pine-deep); border-right-color: #1C3529; }
.side a.nav-i:hover { background: #1C3529; }
.side a.nav-i[aria-current="page"] { background: linear-gradient(90deg, rgba(244, 162, 97, .30), rgba(244, 162, 97, .08)); box-shadow: inset 2px 0 0 var(--peach); }
.side a.nav-i .count { background: var(--clay-deep); }
.side .side-foot { border-top-color: #1C3529; }

/* Footer in Georgia pine. */
.site-foot { background: var(--pine); color: #E8DED0; }
.site-foot a { color: #E8DED0; }
.site-foot a:hover { color: var(--peach); }
.foot-grid h4 { color: #FFF8F0; }
.foot-brand .brand-sub { color: #CFC4B5; }
.foot-brand p.small { color: #E8DED0 !important; }
.foot-brand .brand-name em { color: var(--peach); }
.foot-legal { border-top-color: #2E6550; color: #CFC4B5; }
.powered { border-color: #2E6550; }
[data-theme="dark"] .site-foot { background: #142B21; }

/* Legacy access page (gate.html), styled here so the page needs no inline styles under a strict CSP. */
.gate { min-height: 100dvh; display: grid; place-items: center; padding: 20px var(--gutter); }
.gate .card { width: 100%; max-width: 440px; display: grid; gap: 16px; }
.gate .gate-title { font-size: 28px; }
.gate .msg { display: none; padding: 12px 14px; border-radius: 12px; font-size: 14px; }
.gate .msg.err { display: block; background: var(--bad-bg); color: var(--bad); }
