/* Dark Gradient theme for the existing EG/ Focused Value site. */
:root {
  color-scheme: light;
  --eg-bg: #FFFFFF;
  --eg-action-bg: #101816;
  --eg-action-text: #FFFFFF;
  --eg-action-hover: #25352E;
  --eg-action-active: #080D0B;
  --eg-link: #147D55;
  --eg-inset-bg: #FFFFFF;
  --eg-hero-atmosphere: none;
  --eg-card-shadow: none;
}
:root[data-theme="dark"] {
  color-scheme: dark;
  --eg-bg: #060D0B;
  --eg-white: #12231D;
  --eg-ink: #F3F8F5;
  --eg-secondary: #B3C5BC;
  --eg-surface: #0B1713;
  --eg-border: #243A31;
  --eg-control-border: #648777;
  --eg-mint: #0C1D17;
  --eg-mint-border: #24483A;
  --eg-green: #59E3A7;
  --eg-link: #75ECBB;
  --eg-focus: #A2F4D0;
  --eg-action-bg: #59E3A7;
  --eg-action-text: #072116;
  --eg-action-hover: #7CEDBC;
  --eg-action-active: #3BCC8C;
  --eg-inset-bg: #12291F;
  --eg-disabled: #24352D;
  --eg-danger: #FFB4AB;
  --eg-danger-bg: #361C1B;
  --eg-warning: #F4CF83;
  --eg-warning-bg: #302714;
  --eg-shadow: 0 24px 64px rgb(0 0 0 / .24);
  --eg-card-shadow: 0 24px 64px rgb(0 0 0 / .24);
  --eg-hero-atmosphere: radial-gradient(ellipse 70rem 44rem at 34% 23rem, #0B3A2B 0%, #071A13 48%, #060D0B 78%);
}
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]):not([data-theme="dark"]) {
    color-scheme: dark;
    --eg-bg: #060D0B;
    --eg-white: #12231D;
    --eg-ink: #F3F8F5;
    --eg-secondary: #B3C5BC;
    --eg-surface: #0B1713;
    --eg-border: #243A31;
    --eg-control-border: #648777;
    --eg-mint: #0C1D17;
    --eg-mint-border: #24483A;
    --eg-green: #59E3A7;
    --eg-link: #75ECBB;
    --eg-focus: #A2F4D0;
    --eg-action-bg: #59E3A7;
    --eg-action-text: #072116;
    --eg-action-hover: #7CEDBC;
    --eg-action-active: #3BCC8C;
    --eg-inset-bg: #12291F;
    --eg-disabled: #24352D;
    --eg-danger: #FFB4AB;
    --eg-danger-bg: #361C1B;
    --eg-warning: #F4CF83;
    --eg-warning-bg: #302714;
    --eg-shadow: 0 24px 64px rgb(0 0 0 / .24);
  --eg-card-shadow: 0 24px 64px rgb(0 0 0 / .24);
    --eg-hero-atmosphere: radial-gradient(ellipse 70rem 44rem at 34% 23rem, #0B3A2B 0%, #071A13 48%, #060D0B 78%);
  }
}
.eg, body.eg, .eg.legal-page, .eg .process-section { background-color: var(--eg-bg); color: var(--eg-ink); }
.eg main#top { background-image: var(--eg-hero-atmosphere); background-repeat: no-repeat; }
.eg .button-primary, .eg .eg-button:not(.eg-button--secondary) {
  background: var(--eg-action-bg); color: var(--eg-action-text); border-color: var(--eg-action-bg);
}
.eg .button-primary:hover, .eg .eg-button:not(.eg-button--secondary):hover {
  background: var(--eg-action-hover); border-color: var(--eg-action-hover);
}
.eg .button-primary:active, .eg .eg-button:not(.eg-button--secondary):active {
  background: var(--eg-action-active); border-color: var(--eg-action-active);
}
.eg .button-secondary, .eg .eg-button--secondary { background: var(--eg-surface); color: var(--eg-ink); }
.eg .button-secondary:hover, .eg .eg-button--secondary:hover { background: var(--eg-white); }
.eg .eg-assurance { background: var(--eg-inset-bg); }
.eg .text-link, .eg .advisory-note a, .eg .eg-link, .eg .legal-section a { color: var(--eg-link); }
.eg .nav .theme-switch {
  display: flex; align-items: center; gap: .25rem; flex: none; padding: .2rem;
  border: 1px solid var(--eg-border); border-radius: var(--eg-radius-control);
}
.eg .nav .theme-switch[hidden] { display: none; }
.eg .nav .theme-switch button {
  display: grid; place-items: center; width: 3rem; height: 3rem; padding: 0;
  border: 1px solid transparent; border-radius: calc(var(--eg-radius-control) - 2px);
  background: transparent; color: var(--eg-secondary); cursor: pointer;
}
.eg .nav .theme-switch button:hover { color: var(--eg-ink); background: var(--eg-surface); }
.eg .nav .theme-switch button[aria-pressed="true"] {
  color: var(--eg-ink); background: var(--eg-surface); border-color: var(--eg-control-border);
}
.eg .nav .theme-switch svg {
  width: 1.25rem; height: 1.25rem; fill: none; stroke: currentColor;
  stroke-width: 2; stroke-linecap: round; stroke-linejoin: round;
}
@media (max-width: 68rem) {
  .eg .nav .theme-switch { margin-left: auto; }
  .eg .nav nav > .nav-cta { position: static; }
}
@media print {
  :root { color-scheme: light !important; }
  .eg, body.eg, .eg.legal-page, .eg .process-section { background: white !important; color: #101816 !important; }
  .eg .hero { background: none !important; }
}

/* A distinct opaque offer card, matching the dark reference. */
.eg .hero .eg-value-card {
  background: var(--eg-mint);
  border-color: var(--eg-mint-border);
  box-shadow: var(--eg-card-shadow);
}
.eg .hero .eg-assurance { border: 1px solid var(--eg-mint-border); }
.eg .hero-reviewer { margin-top: 2.5rem; }

/* Keep the primary service and its next action clear in the header. */
.eg .nav { position: relative; }
.eg .nav .tools-menu { position: relative; flex: none; }
.eg .nav .tools-menu summary {
  display: inline-flex; align-items: center; gap: .4rem; min-height: 2.75rem;
  padding: .5rem .25rem; color: var(--eg-secondary);
  font-size: .875rem; line-height: 1.35; font-weight: 600; cursor: pointer;
  list-style: none; white-space: nowrap;
}
.eg .nav .tools-menu summary::-webkit-details-marker { display: none; }
.eg .nav .tools-menu summary:hover, .eg .nav .tools-menu[open] summary { color: var(--eg-ink); }
.eg .nav .tools-menu summary svg {
  width: .9rem; height: .9rem; fill: none; stroke: currentColor;
  stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round;
  transition: transform var(--eg-duration) ease;
}
.eg .nav .tools-menu[open] summary svg { transform: rotate(180deg); }
.eg .nav .tools-menu-panel {
  position: absolute; z-index: 30; top: calc(100% + .4rem); left: 0;
  display: grid; gap: .1rem; width: min(19rem, calc(100vw - 2.5rem));
  padding: .75rem; border: 1px solid var(--eg-control-border);
  border-radius: var(--eg-radius-card); background: var(--eg-white);
  box-shadow: var(--eg-shadow);
}
.eg .nav .tools-menu-label {
  padding: .7rem .75rem .25rem; color: var(--eg-secondary);
  font-size: .7rem; line-height: 1.4; font-weight: 700;
  letter-spacing: .06em; text-transform: uppercase;
}
.eg .nav .tools-menu-panel a {
  display: block; padding: .55rem .75rem; border-radius: .35rem;
  color: var(--eg-ink); font-size: .875rem; line-height: 1.4;
  font-weight: 600; text-decoration: none;
}
.eg .nav .tools-menu-panel a:hover,
.eg .nav .tools-menu-panel a[aria-current="page"] {
  color: var(--eg-link); background: var(--eg-surface);
}
@media (max-width: 47.99rem) {
  .eg .nav nav {
    display: flex; flex-wrap: wrap; align-items: center;
    justify-content: flex-start; gap: .15rem 1.25rem;
  }
  .eg .nav nav > .nav-section-link { margin-left: 0; }
  .eg .nav .tools-menu[open] { flex-basis: 100%; }
  .eg .nav .tools-menu-panel {
    position: static; width: 100%; margin: .35rem 0 .5rem;
    box-shadow: none;
  }
  .eg .hero-reviewer { margin-top: 2rem; }
}
@media (prefers-reduced-motion: reduce) {
  .eg .nav .tools-menu summary svg { transition: none; }
}
@media (forced-colors: active) {
  .eg .nav .tools-menu-panel, .eg .hero .eg-value-card, .eg .hero .eg-assurance {
    border-color: ButtonText; box-shadow: none;
  }
}

/* Printed reports and legal pages use the light palette. */
@media print {
  :root {
    --eg-white: #FFFFFF;
    --eg-ink: #101816;
    --eg-secondary: #52625B;
    --eg-surface: #F7F9F8;
    --eg-mint: #EFFAF4;
    --eg-mint-border: #D8EFE2;
    --eg-inset-bg: #FFFFFF;
    --eg-card-shadow: none;
  }
  .eg .hero .eg-value-card { box-shadow: none; }
}

/* Keep the halo behind the full page width as the hero stacks on phones. */
@media (max-width: 47.99rem) {
  :root[data-theme="dark"] .eg main#top {
    background-image: radial-gradient(ellipse 42rem 42rem at 32% 23rem, #0B3A2B 0%, #071A13 48%, #060D0B 78%);
  }
}
@media (max-width: 47.99rem) and (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]):not([data-theme="dark"]) .eg main#top {
    background-image: radial-gradient(ellipse 42rem 42rem at 32% 23rem, #0B3A2B 0%, #071A13 48%, #060D0B 78%);
  }
}
@media print {
  .eg main#top { background-image: none !important; }
}


/* Small, consistent product pictograms in the Tools menu. */
.eg .nav .tools-menu-panel a { display: flex; align-items: center; gap: .7rem; }
.eg .nav .tools-menu-panel .tools-menu-icon {
  flex: 0 0 1.15rem; width: 1.15rem; height: 1.15rem;
  fill: none; stroke: var(--eg-link); stroke-width: 1.7;
  stroke-linecap: round; stroke-linejoin: round;
}
.eg .nav .tools-menu-panel a span { min-width: 0; }
