/* Gopal's non-medical visual feedback. Load after the existing site styles.
   Preserve source images, their crops, the full roster, and hero/scroll mechanics.
   The default theme stays dark. Light mode is opt-in from the nav toggle. */
body {
  --gopal-ink: #10181b;
  --gopal-mid: #162329;
  --gopal-card: #1e2b31;
  --gopal-hover: #26363e;
  --gopal-white: #f4fbff;
  --gopal-copy: #d7e3e8;
  --gopal-muted: #a9bcc4;
  --gopal-button: #c2410c;
  --gopal-button-hover: #ea580c;
  --gopal-hero-copy: #e5f1f5;
  --gopal-nav: rgba(12, 22, 26, .96);
  --gopal-accent: #f97316;
  --gopal-accent-readable: #fb923c;
  --gopal-accent-deep: #c2410c;
  --gopal-gold: #f59e0b;
  --display: 'Outfit', 'Inter', system-ui, sans-serif;
}

/* Bring display typography closer to the approved Eleuso wordmark: light, geometric sans; no serif/italic flourish. */
.hero-h1, .h2, .stat-num, .how-num {
  font-family: var(--display);
  font-weight: 300;
  letter-spacing: -0.045em;
}
.hero-h1 em, .h2 em {
  font-family: inherit;
  font-style: normal;
  font-weight: 400;
  letter-spacing: -0.045em;
}
.conf-title, .vid-title, #team .mc-name, .press-title {
  font-family: var(--display);
  font-weight: 400;
  letter-spacing: -0.018em;
}

/* Local text tokens only; medical media colors remain controlled by their source assets. */
nav, .marquee-wrap, #scrub-content, .section-pad, .contact-wrap, footer {
  --white: var(--gopal-white);
  --white-dim: var(--gopal-copy);
}
.section-pad.bg-dark, .contact-wrap, footer, #scrub-section, #scrub-content {
  background: var(--gopal-ink);
}
.section-pad.bg-mid, .marquee-wrap { background: var(--gopal-mid); }
body:has(#hero.body-hero) nav {
  background: var(--gopal-nav) !important;
}
.nav-actions {
  display: flex;
  align-items: center;
  gap: 12px;
}
.how-card, #team .mc { background: var(--gopal-card); }
.how-card:hover, #team .mc:hover { background: var(--gopal-hover); }
#team .mc-avatar { background: var(--gopal-ink); }

/* Opaque, logo-harmonized text replaces compounded opacity on small supporting copy. */
#scrub-content .spec-label, .tier-label, .diff-table th, .diff-table td.cross,
.press-date, .f-label, .f-note, .footer-brand, .footer-links a, .footer-meta {
  color: var(--gopal-muted);
  opacity: 1;
}
#team .mc-bio { color: var(--gopal-copy); opacity: 1; }
#team .mc-role, #team .mc-li, #team .mc-initials,
.nav-cta, #scrub-content .step-num,
.section-pad .eyebrow, .contact-wrap .eyebrow, .how-num, .press-arr {
  color: var(--gopal-accent-readable);
}
#team .mc-role, #team .mc-li, #team .mc-initials, .how-num, .press-arr { opacity: 1; }
.footer-links a:hover { color: var(--gopal-white); opacity: 1; }
#press a[href="https://eleuso.com/press"], #contact a[href^="mailto:"] {
  color: var(--gopal-accent) !important;
  opacity: 1 !important;
}
#contact .contact-inner > div > span {
  color: var(--gopal-muted) !important;
  opacity: 1 !important;
}
.assembly-view figcaption { color: var(--gopal-muted); }
.f-input, .f-select, .f-textarea { background: var(--gopal-card); }
.f-select option { background: var(--gopal-card); }
altcha-widget {
  display: block;
  width: 100%;
}
.altcha {
  width: 100% !important;
  max-width: none !important;
  background: rgba(16, 24, 27, .92) !important;
  border: 1px solid rgba(249, 115, 22, .28) !important;
  border-radius: 16px !important;
  color: var(--gopal-copy) !important;
  box-shadow: inset 0 1px 0 rgba(244, 251, 255, .05) !important;
  overflow: hidden !important;
}
.altcha .altcha-main {
  width: 100% !important;
  min-height: 58px !important;
  box-sizing: border-box !important;
  align-items: center !important;
  background: transparent !important;
  border: 0 !important;
  color: var(--gopal-copy) !important;
  padding: 14px 16px !important;
}
.altcha .altcha-checkbox-wrap {
  align-items: center !important;
  gap: 12px !important;
}
.altcha label {
  color: var(--gopal-white) !important;
  font-family: var(--sans) !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  letter-spacing: .01em !important;
  line-height: 1.2 !important;
  opacity: 1 !important;
}
.altcha .altcha-logo,
.altcha .altcha-footer {
  display: none !important;
}
.altcha .altcha-checkbox {
  width: 24px !important;
  height: 24px !important;
  flex: 0 0 24px !important;
  background: rgba(8, 18, 24, .96) !important;
  border: 1px solid rgba(251, 146, 60, .52) !important;
  border-radius: 8px !important;
  color: var(--gopal-accent-readable) !important;
}
.altcha .altcha-checkbox input {
  cursor: pointer;
}
.altcha svg,
.altcha path,
.altcha polyline {
  color: var(--gopal-accent-readable) !important;
  stroke: currentColor !important;
}
.f-input::placeholder, .f-textarea::placeholder { color: var(--gopal-muted); opacity: 1; }
.f-input:focus, .f-select:focus, .f-textarea:focus {
  background: var(--gopal-card);
  border-color: var(--gopal-accent);
  box-shadow: 0 0 0 3px rgba(249, 115, 22, .14);
}
.btn-blue, .btn-submit {
  background: linear-gradient(135deg, var(--gopal-accent-deep), #7c2d12);
  color: var(--gopal-white);
  border-color: rgba(249, 115, 22, .42);
}
.btn-blue:hover, .btn-submit:hover {
  background: linear-gradient(135deg, var(--gopal-button-hover), #9a3412);
  color: var(--gopal-white);
  box-shadow: 0 10px 30px rgba(194, 65, 12, .30);
}
.nav-cta {
  border-color: rgba(249, 115, 22, .50);
  background: rgba(249, 115, 22, .08);
}
.nav-cta:hover {
  background: rgba(249, 115, 22, .16);
  border-color: var(--gopal-accent);
  color: var(--gopal-white);
}
.btn-outline:hover { border-color: rgba(249, 115, 22, .60); color: var(--gopal-white); }
#hero.body-hero .hero-eyebrow { color: var(--gopal-accent-readable); }
#hero.body-hero .hero-eyebrow::before { background: var(--gopal-accent-readable); }
#hero.body-hero .hero-h1, #hero.body-hero .btn-outline { color: var(--gopal-white); }
#hero.body-hero .hero-h1 em { color: var(--gopal-accent); }
#hero.body-hero .hero-sub, #hero.body-hero .stat-text {
  color: var(--gopal-hero-copy) !important;
}
.stat-pill { border-color: rgba(249, 115, 22, .36); }
.stat-dot, .marquee-dot { background: var(--gopal-accent); }
.conf-title, .vid-title { color: var(--gopal-white); }
.conf-sub { color: var(--gopal-white); }

.theme-toggle {
  appearance: none;
  border: 1px solid rgba(249, 115, 22, .38);
  border-radius: 999px;
  background: rgba(244, 251, 255, .05);
  color: var(--gopal-muted);
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 34px;
  padding: 5px 9px 5px 6px;
  font-family: var(--mono);
  font-size: 9px;
  font-weight: 500;
  letter-spacing: .12em;
  text-transform: uppercase;
  cursor: pointer;
  transition: background .2s ease, border-color .2s ease, color .2s ease;
}
.theme-toggle:hover,
.theme-toggle:focus-visible {
  border-color: rgba(249, 115, 22, .76);
  color: var(--gopal-white);
  outline: none;
}
.theme-toggle:focus-visible { box-shadow: 0 0 0 3px rgba(249, 115, 22, .20); }
.theme-toggle-track {
  width: 30px;
  height: 18px;
  border-radius: 999px;
  background: rgba(194, 65, 12, .32);
  position: relative;
  flex: 0 0 auto;
}
.theme-toggle-thumb {
  position: absolute;
  width: 14px;
  height: 14px;
  left: 2px;
  top: 2px;
  border-radius: 50%;
  background: var(--gopal-accent);
  box-shadow: 0 0 12px rgba(249, 115, 22, .45);
  transition: transform .22s cubic-bezier(.16, 1, .3, 1), background .2s ease;
}
.theme-toggle-text { min-width: 28px; }

html[data-theme="light"] body {
  --gopal-ink: #edf7f7;
  --gopal-mid: #dfeef0;
  --gopal-card: #f7fbfb;
  --gopal-hover: #eef8f8;
  --gopal-white: #102129;
  --gopal-copy: #30464e;
  --gopal-muted: #587079;
  --gopal-button: #c2410c;
  --gopal-button-hover: #ea580c;
  --gopal-hero-copy: #213942;
  --gopal-nav: rgba(245, 251, 251, .94);
  --gopal-accent: #ea580c;
  --gopal-accent-readable: #c2410c;
  --gopal-accent-deep: #9a3412;
  background: var(--gopal-ink);
}
html[data-theme="light"] body:has(#hero.body-hero) nav {
  border-bottom-color: rgba(194, 65, 12, .16);
  box-shadow: 0 16px 48px rgba(16, 33, 41, .08);
}
html[data-theme="light"] .nav-logo-img { filter: drop-shadow(0 2px 10px rgba(249, 115, 22, .14)); }
html[data-theme="light"] .theme-toggle {
  background: rgba(194, 65, 12, .10);
  border-color: rgba(194, 65, 12, .30);
  color: #633019;
}
html[data-theme="light"] .theme-toggle-track { background: rgba(249, 115, 22, .24); }
html[data-theme="light"] .theme-toggle-thumb {
  transform: translateX(12px);
  background: var(--gopal-gold);
  box-shadow: 0 0 10px rgba(215, 174, 82, .34);
}
html[data-theme="light"] #hero.body-hero .hero-bg img,
html[data-theme="light"] #hero.body-hero .hero-bg video {
  filter: brightness(1.02) saturate(.94) contrast(.98);
}
html[data-theme="light"] #hero.body-hero .hero-bg::before {
  background: linear-gradient(105deg, rgba(8,18,24,.90) 0%, rgba(8,18,24,.48) 52%, rgba(8,18,24,.10) 82%, transparent 100%);
}
html[data-theme="light"] #hero.body-hero .hero-bg::after {
  background: linear-gradient(to top, rgba(237,247,247,1) 0%, rgba(237,247,247,.14) 32%, transparent 72%);
}
html[data-theme="light"] #hero.body-hero .hero-h1,
html[data-theme="light"] #hero.body-hero .btn-outline { color: #f4fbff; }
html[data-theme="light"] #hero.body-hero .hero-h1 em { color: #ea580c; }
html[data-theme="light"] #hero.body-hero .hero-sub,
html[data-theme="light"] #hero.body-hero .stat-text { color: #e5f1f5 !important; }
html[data-theme="light"] .stat-pill {
  background: rgba(8, 18, 24, .56);
  border-color: rgba(249, 115, 22, .34);
}
html[data-theme="light"] .btn-blue,
html[data-theme="light"] .btn-submit {
  color: #f7fbfb;
  background: linear-gradient(135deg, #c2410c, #7c2d12);
}
html[data-theme="light"] .btn-outline { border-color: rgba(16, 33, 41, .26); }
html[data-theme="light"] .marquee-wrap { border-color: rgba(16, 33, 41, .08); }
html[data-theme="light"] .how-card,
html[data-theme="light"] #team .mc,
html[data-theme="light"] .f-input,
html[data-theme="light"] .f-select,
html[data-theme="light"] .f-textarea {
  border-color: rgba(194, 65, 12, .12);
  box-shadow: 0 18px 48px rgba(16, 33, 41, .05);
}
html[data-theme="light"] .f-select option { background: #f7fbfb; }
html[data-theme="light"] .conf-title,
html[data-theme="light"] .vid-title,
html[data-theme="light"] .conf-sub { color: #f4fbff; }

#team .mc-avatar {
  width: 176px;
  height: 176px;
  margin-bottom: 24px;
}
#team .mc-initials { font-size: 52px; }
/* Make room for the same portrait size in every management card. Board and
   advisor desktop columns/order remain unchanged, including all five directors. */
@media (min-width: 769px) and (max-width: 1100px) {
  #team .mgmt-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (min-width: 901px) and (max-width: 1100px) {
  #team .board-grid, #team .advisor-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 768px) {
  .nav-actions { gap: 8px; }
  .theme-toggle {
    width: 34px;
    min-width: 34px;
    padding: 5px;
    justify-content: center;
  }
  .theme-toggle-text { display: none; }
  .theme-toggle-track { width: 24px; height: 14px; }
  .theme-toggle-thumb { width: 10px; height: 10px; }
  html[data-theme="light"] .theme-toggle-thumb { transform: translateX(10px); }
}
