/* IMPRESSIV unified visual system — shared by every public page */
:root {
  --impressiv-gold: #ffb400;
  --brand: #ffb400;
  --brand-soft: rgba(255, 180, 0, .10);
  --accent: #ffb400;
  --accent-2: #ffb400;
  --accent2: #ffb400;
  --bg: #050505;
  --surface: #0d0d0d;
  --surface-2: #121212;
  --surface2: #121212;
  --text: #f7f7f4;
  --muted: #aaa7a0;
  --line: rgba(255,255,255,.12);
  --line-strong: rgba(255,255,255,.22);
  --line2: rgba(255,255,255,.22);
}

html {
  /* Slightly larger baseline across the whole site. Inclusive page can still change --base-size. */
  font-size: var(--base-size, 18px);
  background: var(--bg);
}

body,
button,
input,
select,
textarea {
  font-family: "Tajawal", Arial, "Helvetica Neue", sans-serif !important;
}

body {
  background-color: var(--bg);
  color: var(--text);
  line-height: 1.82;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

/* Keep the visual language consistent without flattening each page's layout. */
::selection { background: var(--impressiv-gold); color: #050505; }
:focus-visible { outline-color: var(--impressiv-gold) !important; }

.eyebrow,
.required,
.current,
.site-header nav a:hover,
.desktop-nav a:hover,
.desktop-nav a:focus-visible,
.service-nav a:hover,
.service-nav a.current,
.footer-links a:hover {
  color: var(--impressiv-gold) !important;
}

.btn.primary,
.btn-primary,
.header-cta,
.submit,
.submit-button,
.path-card:hover::before,
.rating input:checked + span,
.choice input:checked + span,
.file-icon,
.help-icon {
  background-color: var(--impressiv-gold) !important;
}

/* Make small support/navigation copy easier to read. */
.site-header nav a,
.desktop-nav a,
.service-nav a,
.entry-services a,
.footer-links a,
.back-link,
.switch-path,
.reader-tip,
.field label,
.field > span,
.consent,
.form-status,
.hero-note,
.path-text > span,
.path-footer,
.entry-footer,
.service-footer {
  font-size: max(.82rem, 14px);
}

/* Global read-aloud icon created by site-reader.js. */
.global-reader-button {
  position: fixed;
  z-index: 10000;
  width: 42px;
  height: 42px;
  padding: 0;
  border: 1px solid rgba(0,0,0,.3);
  border-radius: 999px;
  display: grid;
  place-items: center;
  background: var(--impressiv-gold);
  color: #050505;
  box-shadow: 0 10px 30px rgba(0,0,0,.42), 0 0 0 1px rgba(255,180,0,.18);
  cursor: pointer;
  font-size: 19px !important;
  line-height: 1;
  transform: translateY(-50%);
  transition: transform .16s ease, box-shadow .16s ease;
}
.global-reader-button:hover,
.global-reader-button:focus-visible {
  transform: translateY(-50%) scale(1.08);
}
.global-reader-button.is-speaking {
  box-shadow: 0 0 0 6px rgba(255,180,0,.18), 0 10px 32px rgba(0,0,0,.45);
}
.global-reading-target {
  outline: 2px solid rgba(255,180,0,.76) !important;
  outline-offset: 5px !important;
  border-radius: 6px;
}

/* Disable page-specific reader controls; all pages now use the same reader icon. */
#readerButton,
#hoverToggle {
  display: none !important;
}

@media (max-width: 760px) {
  html { font-size: var(--base-size, 17px); }
  .global-reader-button { width: 44px; height: 44px; font-size: 20px !important; }
}

@media (prefers-reduced-motion: reduce) {
  .global-reader-button { transition: none; }
}
.global-reader-button[hidden] { display: none !important; }
