/* Optional night appearance. Official artwork, fonts and brand colors stay intact. */
html { color-scheme: light; }
.header-controls { display: flex; align-items: center; gap: 10px; order: 2; }
.site-header__inner { gap: 16px; }
.site-nav { margin-left: auto; gap: clamp(12px, 1.5vw, 22px); }
.theme-toggle {
  display: inline-grid; place-items: center; flex: 0 0 46px;
  width: 46px; height: 46px; padding: 0; border: 1px solid var(--line);
  border-radius: 12px; color: var(--navy); background: transparent; cursor: pointer;
}
.theme-toggle:hover { background: var(--mist); }
.theme-toggle svg { width: 22px; height: 22px; }
.theme-toggle[hidden], .theme-system[hidden], .theme-toggle__sun { display: none; }
.theme-system { min-height: 44px; padding: 6px 0; border: 0; color: inherit; background: none; font: inherit; text-decoration: underline; cursor: pointer; }

html[data-epm-theme="dark"] {
  color-scheme: dark;
  --night-bg: #121a2b;
  --night-card: #1c2b40;
  --night-link: #8ddbd7;
  --navy-deep: #f1f5fc;
  --ink: #e3ebf5;
  --muted: #b6c5d7;
  --line: #3b4d65;
  --surface: #1c2b40;
  --mist: #192d3d;
  --shadow: 0 18px 50px rgba(0, 0, 0, .24);
  --glass-bg: linear-gradient(135deg, rgba(28, 43, 64, .96), rgba(30, 38, 57, .94));
}
html[data-epm-theme="dark"] body { background: var(--night-bg); }
html[data-epm-theme="dark"] .site-header { background: rgba(18, 26, 43, .96); }
html[data-epm-theme="dark"] :is(.theme-toggle, .nav-toggle) { color: var(--ink); background: var(--night-card); }
html[data-epm-theme="dark"] .theme-toggle__moon { display: none; }
html[data-epm-theme="dark"] .theme-toggle__sun { display: block; }
/* White logo backing preserves the supplied mark without recoloring it. */
html[data-epm-theme="dark"] :is(.brand img, .footer-brand > img) { padding: 5px; border-radius: 10px; background: #fff; }
html[data-epm-theme="dark"] :is(.site-nav a:hover, .site-nav a:focus-visible, .person__body a, .partnership-contact-link:hover) { color: var(--night-link); }
html[data-epm-theme="dark"] .hero {
  background: radial-gradient(900px 600px at 10% 10%, rgba(5, 120, 180, .22), transparent 60%), radial-gradient(900px 600px at 90% 10%, rgba(90, 190, 180, .16), transparent 58%), linear-gradient(160deg, #181c32, #102b3b);
}
html[data-epm-theme="dark"] :is(.section--mist, .countdown) { background: linear-gradient(125deg, #14293b, #171e32 52%, #183132); }
html[data-epm-theme="dark"] .partnership-hero { background: radial-gradient(760px 520px at 8% 8%, rgba(5, 120, 180, .24), transparent 64%), radial-gradient(760px 520px at 92% 12%, rgba(90, 190, 180, .15), transparent 62%), var(--night-bg); }
html[data-epm-theme="dark"] .card { box-shadow: var(--shadow), inset 0 1px 0 rgba(255, 255, 255, .06); }
html[data-epm-theme="dark"] :is(.eyebrow, .fact__icon, .included-card__icon, .tier__label, .person__role, .field label, .contact-icon-item__value, .partnership-kicker, .partnership-badge--quiet) { color: var(--night-link); }
html[data-epm-theme="dark"] :is(.tier, .faq-item, .faq-cta, .timer__cell, .partnership-hero__facts span) { background: var(--night-card); }
html[data-epm-theme="dark"] .tier--featured { border-color: #5abeb4; background: #18383e; }
html[data-epm-theme="dark"] .tier--flash-sale { background: linear-gradient(180deg, #18383e, #1c2b40) padding-box, linear-gradient(135deg, var(--blue), var(--teal)) border-box; }
html[data-epm-theme="dark"] .tier__countdown { color: var(--night-link); }
html[data-epm-theme="dark"] :is(.tier--sale-reference, .tier--sale-future) { opacity: 1; filter: none; background: #1c2637; }
html[data-epm-theme="dark"] :is(.tier__status, .tier--sale-reference .tier__status, .tier--sale-future .tier__status) { color: var(--muted); background: #2b3b50; }
html[data-epm-theme="dark"] .feature-list li::before { color: var(--night-link); background: #203b4b; }
html[data-epm-theme="dark"] .faq-question::after { color: var(--night-link); }
html[data-epm-theme="dark"] .city-card__icon { background: linear-gradient(125deg, #213e51, #283447, #224440); }
html[data-epm-theme="dark"] .partner img { padding: 8px; border-radius: 10px; background: #fff; }
html[data-epm-theme="dark"] :is(.contact-icon-item__label, .footer-brand p, .footer-links a, .footer-links button.cky-banner-element, .footer-copyright) { color: var(--muted); }
html[data-epm-theme="dark"] :is(.contact-divider, .footer-divider) { background: var(--teal); }
html[data-epm-theme="dark"] .site-footer { background: #0e1625; }
html[data-epm-theme="dark"] .site-footer h4 { color: var(--navy-deep); }
html[data-epm-theme="dark"] .site-footer a:hover { color: var(--night-link); }
html[data-epm-theme="dark"] .field :is(input, textarea) { color: var(--ink); background: #111f32; border-color: #69839e; }
html[data-epm-theme="dark"] .field :is(input, textarea)::placeholder { color: var(--muted); opacity: 1; }
html[data-epm-theme="dark"] .form-alert { color: #bcebd8; background: #153d33; }
html[data-epm-theme="dark"] .form-alert--error { color: #ffcbc4; background: #4a292d; }
html[data-epm-theme="dark"] .partnership-cta__box { background: radial-gradient(500px 300px at 0% 0%, rgba(5, 120, 180, .16), transparent 70%), radial-gradient(500px 300px at 100% 100%, rgba(90, 190, 180, .12), transparent 72%), var(--night-card); }
html[data-epm-theme="dark"] .partnership-list li::before { color: var(--night-link); }
/* Darken the teal end of the CTA gradient so white labels retain contrast. */
html[data-epm-theme="dark"] .btn:not(.btn--secondary) { color: #fff; background-image: linear-gradient(135deg, #0578b4, #126875 45%, #0578b4); }
html[data-epm-theme="dark"] .btn--secondary { color: var(--ink); background: #243b50; }
html[data-epm-theme="dark"] .btn--secondary:hover { color: #fff; }
html[data-epm-theme="dark"] :is(a, button, input, textarea, select):focus-visible { outline: 3px solid #8ddbd7; outline-offset: 3px; }

/* CookieYes supplies inline colors; override appearance only, never its logic. */
html[data-epm-theme="dark"] :is(.cky-consent-bar, .cky-preference-center, .cky-preference-header, .cky-preference-body-wrapper, .cky-preference-footer) { color: #e3ebf5 !important; background-color: #1c2b40 !important; border-color: #3b4d65 !important; }
html[data-epm-theme="dark"] :is(.cky-title, .cky-notice-des, .cky-preference-title, .cky-preference-content-wrapper, .cky-accordion-header-wrapper, .cky-accordion-header-des, .cky-accordion-body, .cky-cookie-des-table) { color: #e3ebf5 !important; }
html[data-epm-theme="dark"] :is(.cky-notice-des, .cky-preference-content-wrapper, .cky-accordion-header-wrapper, .cky-accordion-body) :is(p, a, button, span) { color: #e3ebf5 !important; }
html[data-epm-theme="dark"] .cky-btn-customize { color: #8ddbd7 !important; border-color: #8ddbd7 !important; }
html[data-epm-theme="dark"] .cky-btn-preferences { color: #fff !important; border-color: #8ddbd7 !important; }
html[data-epm-theme="dark"] .cky-footer-shadow { background: linear-gradient(180deg, rgba(28, 43, 64, 0), #1c2b40) !important; }
html[data-epm-theme="dark"] .cky-btn-close { padding: 5px; border-radius: 50%; background: #e3ebf5; }
html[data-epm-theme="dark"] [data-cky-tag="powered-by"] { color: #e3ebf5 !important; }
html[data-epm-theme="dark"] :is(.cky-always-active, .cky-show-desc-btn) { color: #8ddbd7 !important; }

@media (max-width: 1180px) {
  .header-controls { margin-left: auto; }
  .nav-toggle { display: block; }
  .site-nav { position: fixed; inset: 73px 0 auto; display: none; align-items: stretch; gap: 12px; padding: 22px 20px 28px; max-height: calc(100dvh - 73px); overflow-y: auto; background: #fff; box-shadow: 0 30px 45px rgba(40, 30, 60, .13); }
  .site-nav.is-open { display: grid; }
  .site-nav a { padding: 8px 0; }
  html[data-epm-theme="dark"] .site-nav { background: var(--night-bg); }
}
