@import url('https://fonts.googleapis.com/css2?family=Merriweather:wght@400;700;900&family=Source+Sans+3:wght@400;500;600;700&display=swap');

/* Global color-schema enforcement for all DCT pages loaded with global-ui.js */
:root {
  --dct-bg-1: #ffffff;
  --dct-bg-2: #f2f8ff;
  --dct-surface: #ffffff;
  --dct-surface-soft: #f5faff;
  --dct-text: #0B0B12;
  --dct-text-soft: #354150;
  --dct-border: #d9e7f7;
  --dct-primary: #1267cf;
  --dct-secondary: #0B0B12;
  --dct-highlight: #3f94e9;
}

body {
  background:
    radial-gradient(circle at top left, rgba(18, 103, 207, 0.06), transparent 30%),
    radial-gradient(circle at top right, rgba(11, 11, 18, 0.05), transparent 26%),
    linear-gradient(180deg, var(--dct-bg-1) 0%, var(--dct-bg-2) 100%) !important;
  color: var(--dct-text-soft) !important;
  font-family: "Source Sans 3", "Segoe UI", Tahoma, Geneva, Verdana, sans-serif !important;
  line-height: 1.72;
}

header {
  background: rgba(255, 255, 255, 0.95) !important;
  border-bottom: 1px solid var(--dct-border) !important;
  box-shadow: 0 10px 30px rgba(11, 11, 18, 0.08) !important;
}

h1, h2, h3, h4 {
  font-family: "Merriweather", "Georgia", serif !important;
  color: var(--dct-text) !important;
  letter-spacing: 0.01em;
}

p, li, span, small {
  color: var(--dct-text-soft);
}

.card,
.platform-card,
.path-card,
.lesson-card,
.course-card,
.sheet,
.session,
.content-block,
.hero,
.quiz-section,
.filter-section,
.lead-magnet,
.course-detail-view {
  background: var(--dct-surface) !important;
  border: 1px solid var(--dct-border) !important;
  box-shadow: 0 8px 20px rgba(11, 11, 18, 0.08) !important;
  color: var(--dct-text-soft) !important;
}

a,
.breadcrumb a,
.nav-links a {
  color: var(--dct-primary);
}

button,
.btn-primary,
.btn-nav,
.cta,
.button,
.dct-btn.primary,
.dct-btn.secondary {
  border: 1px solid rgba(18, 103, 207, 0.2) !important;
}

.mobile-menu-toggle {
  border: none !important;
}

.btn-primary,
.btn-nav,
.cta.primary,
.button-primary,
.dct-btn.primary {
  background: linear-gradient(135deg, var(--dct-primary), var(--dct-secondary)) !important;
  color: #ffffff !important;
}

.cta.secondary,
.button-secondary,
.dct-btn.secondary {
  background: rgba(18, 103, 207, 0.1) !important;
  color: var(--dct-primary) !important;
}

/* One control language across legacy and current pages. */
:is(a, button, input[type="submit"]):is(.cta, .front-btn, .dct-btn, .btn-primary, .btn-nav, .cta-button, .cta-link, .button, .submit-button, .btn, .pg-btn, .plan-cta, .site-nav__cta, .btn-enroll, .btn-purchase, .demo-btn),
button[type="submit"], input[type="submit"] {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: .5rem !important;
  min-height: 44px !important;
  padding: .72rem 1.25rem !important;
  border: 1px solid #1267cf !important;
  border-radius: .7rem !important;
  font: 700 1rem/1.25 "Source Sans 3", "Segoe UI", sans-serif !important;
  letter-spacing: 0 !important;
  text-decoration: none !important;
  text-align: center !important;
  background: #1267cf !important;
  color: #fff !important;
  box-shadow: none !important;
  cursor: pointer;
  transition: background-color .18s ease, border-color .18s ease, transform .18s ease !important;
}
:is(a, button):is(.cta, .front-btn, .dct-btn, .cta-link, .button, .btn, .pg-btn, .demo-btn):is(.secondary, .alt, .outline, .btn--secondary, .pg-btn-secondary),
:is(a, button).button-secondary {
  background: #fff !important;
  border-color: #9bbde5 !important;
  color: #12487e !important;
}
:is(a, button, input[type="submit"]):is(.cta, .front-btn, .dct-btn, .btn-primary, .btn-nav, .cta-button, .cta-link, .button, .submit-button, .btn, .pg-btn, .plan-cta, .site-nav__cta, .btn-enroll, .btn-purchase, .demo-btn):hover,
button[type="submit"]:hover, input[type="submit"]:hover { background: #12487e !important; border-color: #12487e !important; color: #fff !important; transform: translateY(-1px); }
:is(a, button, input[type="submit"]):is(.cta, .front-btn, .dct-btn, .btn-primary, .btn-nav, .cta-button, .cta-link, .button, .submit-button, .btn, .pg-btn, .plan-cta, .site-nav__cta, .btn-enroll, .btn-purchase, .demo-btn):focus-visible,
button[type="submit"]:focus-visible, input[type="submit"]:focus-visible { outline: 3px solid #69a9f0 !important; outline-offset: 3px !important; }
@media (prefers-reduced-motion: reduce) { :is(a, button, input[type="submit"]):hover { transform: none !important; } }

/* Clear, honest visuals for the contact page scenarios. */
.scenario-visual, .scenario-photo { height: 180px; margin: 0 0 .7rem; border: 1px solid #b9d4ee; border-radius: 14px; overflow: hidden; background: #f0f6ff; }
.scenario-visual { padding: .8rem 1rem; font-family: "Source Sans 3", sans-serif; color: #123454; }
.scenario-visual > strong { display: block; font-size: .75rem; letter-spacing: .08em; color: #12487e; margin-bottom: .6rem; }
.scenario-checklist span { display: block; padding: .24rem 0; border-top: 1px solid #c7daf0; font-size: .95rem; }
.scenario-checklist b { color: #1267cf; margin-right: .7rem; }
.scenario-flow > div { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: .28rem; margin-top: 1.2rem; }
.scenario-flow span { background: #1267cf; color: white; border-radius: .35rem; padding: .5rem .18rem; text-align: center; font-size: .76rem; font-weight: 700; }
.scenario-flow small { display: block; margin-top: 1.2rem; color: #12487e; font-size: .82rem; }
.scenario-photo img { width: 100% !important; height: 146px !important; object-fit: cover !important; display: block !important; border: 0 !important; border-radius: 0 !important; box-shadow: none !important; }
.scenario-photo figcaption { font-size: .74rem; padding: .35rem .6rem; color: #12487e; line-height: 1.3; }

img.logo-img {
  image-rendering: auto;
  object-fit: contain !important;
  object-position: center center !important;
  overflow: visible !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  height: 76px !important;
  width: auto !important;
  max-width: min(320px, 42vw) !important;
  max-height: none !important;
  margin-top: 0 !important;
  border-radius: 0 !important;
  display: block !important;
  clip-path: none !important;
  mask-image: none !important;
  -webkit-mask-image: none !important;
  background: transparent !important;
}

.logo,
.logo-img {
  overflow: visible !important;
}

header .logo {
  align-items: center !important;
  min-height: 80px;
}

/* Global image normalization for page content */
main img,
section img,
article img {
  max-width: 100% !important;
  height: auto;
}

.visual-card img,
.scenario-card img,
.resource-card-photo,
.course-card-image,
.course-icon,
.blog-card img,
.profile-photo {
  width: 100% !important;
  max-width: 100% !important;
  height: 180px !important;
  object-fit: cover !important;
  display: block !important;
  border-radius: 14px !important;
  border: 1px solid rgba(23, 29, 63, 0.1) !important;
  box-shadow: 0 8px 18px rgba(23, 29, 63, 0.1) !important;
  background: #f8faff !important;
}

.module-visual,
.tech-icon img {
  object-fit: contain !important;
}

.course-hero-image {
  height: 260px !important;
  object-fit: cover !important;
}
