/* =========================
   NOESIS READABILITY + BUTTON LOCK
   FINAL — DO NOT MODIFY
   ========================= */

/* ROOT — high contrast text floor */
:root {
  --text-dim: rgba(244,241,237,0.92) !important;
  --text-mid: rgba(244,241,237,0.96) !important;
  --text-full: rgba(244,241,237,0.99) !important;
  --offwhite: #f5f2ee !important;
  --gold: #D4AF63 !important;
  --gold-dim: #B8924A !important;
  --gold-lt: #E6C98A !important;
}

/* BODY */
body {
  font-size: 16px !important;
  font-weight: 400 !important;
  color: rgba(244,241,237,0.96) !important;
  -webkit-font-smoothing: antialiased !important;
  -moz-osx-font-smoothing: grayscale !important;
}

/* MAIN BODY COPY */
p,
.section-body p,
.col-body p,
.system-body p,
.page-intro,
.page-hero-intro,
.delivery-body,
.outcome-body,
.pos-body,
.expansion-sub,
.pr-text,
.tl-body,
.tl-note,
.tr-body,
.wl-desc,
.wl-form-sub,
.wl-confirmed-body,
.pc-description,
.cc-body,
.mt-body,
.at-body,
.ic-body,
.ing-desc,
.ing-note,
.fca-desc,
.vs-cell,
.ct-cell,
.dt-cell,
.fg-item,
.cg-item,
.pillar-body,
.use-case-item,
.uc-desc,
.sl-desc,
.position-callout p {
  font-size: 16px !important;
  line-height: 1.75 !important;
  font-weight: 400 !important;
  color: rgba(244,241,237,0.96) !important;
  letter-spacing: 0.1px !important;
}

/* ADJUSTMENT 1 — BODY TEXT COMFORT */
p,
.section-body p,
.col-body p,
.system-body p,
.page-intro,
.page-hero-intro,
.delivery-body,
.outcome-body {
  font-size: 16px !important;
  line-height: 1.72 !important;
  color: rgba(244,241,237,0.97) !important;
}

/* SECONDARY / SMALL BODY TEXT */
.faq-a p,
.faq-answer p,
.disclaimer p,
.form-note,
.dv-note,
.dv-event,
.wl-consequence,
.wl-disclaimer,
.footer-col-links a,
.sidebar-links a,
.sidebar-related-link,
.inline-link {
  font-size: 14px !important;
  line-height: 1.7 !important;
  font-weight: 400 !important;
  color: rgba(244,241,237,0.92) !important;
}

/* FAQ QUESTIONS */
.faq-q-text {
  font-size: 15px !important;
  line-height: 1.5 !important;
  font-weight: 500 !important;
  color: rgba(244,241,237,0.99) !important;
  letter-spacing: 0.15px !important;
}

/* LABELS / EYEBROWS / SMALL GOLD TEXT — raise floor */
.section-label,
.s-label,
.chapter-label,
.entry-label,
.page-eyebrow,
.page-breadcrumb,
.page-breadcrumb a,
.footer-col-label,
.footer-location,
.footer-legal,
.footer-url,
.sidebar-label,
.sidebar-related-label,
.sidebar-cta-label,
.ic-tag,
.ic-attr,
.ic-alias,
.fc-phase,
.fc-purpose,
.pb-num,
.pc-phase,
.sp-label,
.form-label,
.field label,
.compare-col-label,
.ct-label,
.ct-h-cell,
.vs-label,
.vs-h-cell,
.cg-label,
.fg-label,
.wl-kicker,
.wl-launch-label,
.wl-count-label,
.wl-proof-label,
.wl-batch-status,
.wl-inline-prompt,
.wl-cd-label,
.hero-eyebrow,
.hero-interpretation,
.hero-batch-signal,
.intro-entry-eyebrow,
.intro-entry-sub-support,
.scroll-hint-label,
.phase-purpose,
.tr-label,
.dv-time small,
.mt-title,
.os-label,
.em-status,
.fca-label,
.pcta-label {
  font-size: 12px !important;
  line-height: 1.4 !important;
  letter-spacing: 3px !important;
  font-weight: 500 !important;
  color: #D4AF63 !important;
  opacity: 1 !important;
}

/* NAV */
.nav-links a {
  font-size: 14px !important;
  font-weight: 400 !important;
  letter-spacing: 3px !important;
  color: rgba(244,241,237,0.94) !important;
}

.nav-mark {
  font-size: 16px !important;
  font-weight: 400 !important;
  letter-spacing: 8px !important;
  color: rgba(244,241,237,0.98) !important;
}

/* HERO SUPPORT */
.hero-support,
.intro-entry-support {
  font-size: 18px !important;
  line-height: 1.6 !important;
  color: rgba(244,241,237,0.98) !important;
  letter-spacing: 0.3px !important;
  font-weight: 400 !important;
}

.hero-pre-headline,
.hero-future-proof,
.intro-entry-context-text {
  font-size: 14px !important;
  line-height: 1.7 !important;
  color: rgba(244,241,237,0.92) !important;
}

/* FORM INPUTS */
.field input,
.field textarea,
.field select,
.wl-input {
  font-size: 14px !important;
  font-weight: 400 !important;
  color: rgba(244,241,237,0.98) !important;
}

.field input::placeholder,
.field textarea::placeholder,
.wl-input::placeholder {
  color: rgba(244,241,237,0.45) !important;
}

/* BUTTONS — SIZE + CONTRAST LOCK */
.cta-primary,
.cta-secondary,
.cta-btn,
.submit-btn,
.nav-cta,
.sidebar-cta-link,
.pcta-link,
.cta-enter,
.wl-submit,
.back {
  font-size: 14px !important;
  line-height: 1.2 !important;
  letter-spacing: 3px !important;
  font-weight: 600 !important;
  opacity: 1 !important;
  text-shadow: none !important;
}

/* BUTTON INNER SPANS */
.cta-primary span,
.cta-secondary span,
.cta-btn span,
.nav-cta span,
.cta-enter span,
.pcta-link span,
.sidebar-cta-link span,
.wl-submit span {
  font-size: inherit !important;
  font-weight: inherit !important;
  letter-spacing: inherit !important;
  color: inherit !important;
}

/* GOLD-FILL BUTTONS MUST USE DARK TEXT */
.cta-primary,
.cta-btn,
.submit-btn,
.sidebar-cta-link,
.pcta-link,
.cta-enter,
.wl-submit,
.back {
  color: #070707 !important;
}

/* NAV CTA — outline button, gold text at rest, dark on hover */
.nav-cta {
  color: #D4AF63 !important;
  border-color: rgba(212,176,100,0.6) !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  letter-spacing: 3px !important;
}
.nav-cta:hover {
  color: #070707 !important;
  background: #D4AF63 !important;
}

/* OUTLINE / DARK BUTTONS MUST USE LIGHT TEXT */
.cta-secondary {
  color: rgba(244,241,237,0.98) !important;
  border-color: rgba(212,175,99,0.22) !important;
}

/* BUTTON HOVER SAFETY */
.cta-primary:hover,
.cta-btn:hover,
.submit-btn:hover,
.sidebar-cta-link:hover,
.pcta-link:hover,
.cta-enter:hover,
.wl-submit:hover,
.back:hover {
  color: #070707 !important;
}

.cta-secondary:hover {
  color: rgba(244,241,237,0.98) !important;
  border-color: rgba(212,175,99,0.45) !important;
}

/* FOOTER LINKS */
.footer-col-links a {
  font-size: 13px !important;
  color: rgba(244,241,237,0.92) !important;
}

/* ADJUSTMENT 2 — SECONDARY TEXT */
.faq-a p,
.footer-col-links a,
.sidebar-links a,
.inline-link {
  color: rgba(244,241,237,0.94) !important;
}

/* ADJUSTMENT 5 — LINK VISIBILITY */
.inline-link {
  color: #D4AF63 !important;
  border-bottom-color: rgba(212,175,99,0.4) !important;
}

/* ADJUSTMENT 3 — LABEL CLARITY */
.section-label,
.s-label,
.footer-col-label,
.sidebar-label {
  color: #D4AF63 !important;
  letter-spacing: 2.8px !important;
}

/* ADJUSTMENT 4 — HERO EMPHASIS */
.page-h1,
.page-title {
  letter-spacing: 0.5px !important;
  color: rgba(244,241,237,0.99) !important;
}

/* HERO EYEBROW / SMALL GOLD SUPPORT TEXT */
.hero-eyebrow,
.intro-entry-eyebrow,
.hero-batch-signal,
.intro-entry-sub-support {
  font-size: 12px !important;
  letter-spacing: 4px !important;
  color: rgba(212,175,99,0.88) !important;
}

/* MOBILE */
@media (max-width: 768px) {
  body {
    font-size: 15px !important;
  }

  p,
  .section-body p,
  .col-body p,
  .system-body p,
  .page-intro,
  .page-hero-intro,
  .delivery-body,
  .outcome-body,
  .pos-body,
  .expansion-sub,
  .pr-text,
  .tl-body,
  .tl-note,
  .tr-body,
  .wl-desc,
  .wl-form-sub,
  .pc-description,
  .cc-body,
  .mt-body,
  .at-body,
  .ic-body,
  .ing-desc,
  .ing-note,
  .fca-desc,
  .vs-cell,
  .ct-cell,
  .dt-cell,
  .fg-item,
  .cg-item,
  .pillar-body,
  .use-case-item,
  .uc-desc,
  .sl-desc,
  .position-callout p {
    font-size: 15px !important;
    line-height: 1.7 !important;
  }

  .faq-a p,
  .footer-col-links a,
  .sidebar-links a,
  .sidebar-related-link,
  .inline-link,
  .wl-disclaimer,
  .wl-consequence {
    font-size: 13px !important;
  }

  .faq-q-text {
    font-size: 14px !important;
  }

  .section-label,
  .s-label,
  .page-eyebrow,
  .footer-col-label,
  .sidebar-label,
  .sidebar-related-label,
  .sidebar-cta-label,
  .ic-tag,
  .fc-phase,
  .pb-num,
  .pc-phase,
  .form-label,
  .field label,
  .wl-kicker,
  .wl-launch-label,
  .wl-count-label,
  .wl-proof-label,
  .wl-cd-label,
  .hero-eyebrow,
  .intro-entry-eyebrow,
  .intro-entry-sub-support,
  .phase-purpose,
  .dv-time small,
  .mt-title,
  .os-label {
    font-size: 11px !important;
    letter-spacing: 2.5px !important;
  }

  .cta-primary,
  .cta-secondary,
  .cta-btn,
  .submit-btn,
  .nav-cta,
  .sidebar-cta-link,
  .pcta-link,
  .cta-enter,
  .wl-submit,
  .back {
    font-size: 13px !important;
    letter-spacing: 2.5px !important;
  }
}

/* =========================
   NAV CTA — CANONICAL GLOBAL RULE
   Page-level <style> blocks load after this file,
   so we use doubled-class specificity to win on hover.
   ========================= */
.nav-cta,
a.nav-cta,
.nav-cta.nav-cta {
  background: transparent !important;
  background-color: transparent !important;
  color: #D4AF63 !important;
  border: 1px solid rgba(212,175,99,0.7) !important;
  font-size: 14px !important;
  letter-spacing: 3px !important;
  font-weight: 500 !important;
}
a.nav-cta:hover,
a.nav-cta:focus,
.nav-cta.nav-cta:hover,
.nav-cta.nav-cta:focus {
  background: #D4AF63 !important;
  background-color: #D4AF63 !important;
  color: #070707 !important;
  border-color: #D4AF63 !important;
}
.nav-cta span,
a.nav-cta span {
  color: inherit !important;
}
