/* Templesprings shared mobile-first quality layer */
:root {
  --olive: #b0ad19;
  --olive-deep: #b0ad19;
  --olive-soft: #f1f5d4;
  --olive-accessible: #b0ad19;
  --olive-dark: #b0ad19;
  --blue-accessible: #135ca6;
  --text-muted-accessible: #626356;
  --focus-ring: #0b4f8f;
  --header-mobile-height: 72px;
}

html { color-scheme: light; }
body { overflow-wrap: break-word; }
h1, h2, h3, h4, strong, .brand-word, .timeline-date { overflow-wrap: normal; word-break: normal; hyphens: none; }
.learner-services-link,.learner-services-link:hover{color:#fff!important}
.icon-card h3,
.icon-card p,
.impact-number span,
.section-label {
  word-break: normal;
  overflow-wrap: normal;
  hyphens: none;
}
.muted, .section-head > p, .copy-block p, .hero-copy p { color: var(--text-muted-accessible); }

/* Consistent, visible keyboard focus */
:where(a, button, input, select, textarea):focus-visible {
  outline: 3px solid #fff;
  outline-offset: 3px;
  box-shadow: 0 0 0 6px var(--focus-ring);
}

/* Olive accents must not use low-contrast white body text. */
.floating-card,
.impact-badge,
.accent-card,
.award-tag {
  color: var(--ink);
}
.accent-card p { color: #b0ad19; }
.accent-card .text-link { color: var(--ink); }
.photo-credit { margin-top: 24px !important; font-size: 11px !important; color: rgba(255,255,255,.78) !important; }

@media (max-width: 900px) {
  .site-header {
    box-sizing: border-box;
    width: 100%;
    height: var(--header-mobile-height) !important;
    min-height: var(--header-mobile-height);
    padding: 8px max(18px, env(safe-area-inset-right)) 8px max(18px, env(safe-area-inset-left));
    gap: 16px;
    z-index: 1100 !important;
  }

  .site-header .brand {
    min-width: 0;
    max-width: calc(100% - 64px);
    height: 100%;
    flex: 1 1 auto;
    overflow: hidden;
  }

  .site-header .brand-logo {
    display: block;
    width: auto !important;
    max-width: min(145px, 100%) !important;
    height: 48px !important;
    max-height: 100% !important;
    object-fit: contain;
    object-position: left center;
  }

  .menu-toggle {
    position: relative;
    z-index: 2;
    display: grid !important;
    flex: 0 0 48px;
    width: 48px !important;
    height: 48px !important;
    min-width: 48px;
    min-height: 48px;
    margin-left: auto;
    padding: 0 !important;
    place-content: center;
    gap: 5px !important;
    border: 2px solid var(--olive-dark) !important;
    border-radius: 14px !important;
    background: var(--olive-dark) !important;
    color: #fff !important;
    box-shadow: 0 6px 18px rgba(32, 33, 22, .18);
    cursor: pointer;
  }

  .menu-toggle span {
    width: 20px !important;
    height: 2px !important;
    margin: 0 !important;
    border-radius: 2px;
    background: currentColor !important;
    transform-origin: center;
    transition: transform .2s ease, opacity .2s ease;
  }

  .menu-toggle[aria-expanded="true"] span:first-child {
    transform: translateY(3.5px) rotate(45deg);
  }
  .menu-toggle[aria-expanded="true"] span:last-child {
    transform: translateY(-3.5px) rotate(-45deg);
  }

  .menu-toggle:hover { background: var(--blue-accessible) !important; border-color: var(--blue-accessible) !important; }
  .menu-toggle:active { transform: scale(.96); }

  .mobile-menu {
    z-index: 1050 !important;
    padding-top: calc(var(--header-mobile-height) + 36px) !important;
  }

  .mobile-menu nav,
  .mobile-menu > nav { width: 100%; }

  .mobile-menu a {
    min-height: 48px;
    display: flex;
    align-items: center;
    color: var(--ink) !important;
  }

  .mobile-menu .button {
    min-height: 48px;
    width: 100% !important;
    max-width: 100%;
    padding-inline: 18px !important;
    text-align: center;
    white-space: normal;
    color: #fff !important;
  }

  .button, button, input, select, textarea { min-height: 44px; }
}

@media (max-width: 480px) {
  .site-header .brand-logo { max-width: 126px !important; height: 44px !important; }
  .announcement { padding-inline: 14px; }
  .announcement a { font-weight: 700; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after {
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
    scroll-behavior: auto !important;
  }
  .reveal { opacity: 1 !important; transform: none !important; }
}

/* Conversion journey modules */
.trust-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.trust-card{padding:32px;border:1px solid var(--line);border-radius:18px;background:#fff}
.trust-card span{display:block;margin-bottom:28px;font-size:10px;font-weight:700;letter-spacing:.15em;color:var(--olive-deep)}
.trust-card h3{font-family:'Manrope',sans-serif;font-size:25px;line-height:1.12;letter-spacing:-.04em;margin:0 0 13px}
.trust-card p{margin:0;color:var(--text-muted-accessible);font-size:14px;line-height:1.7}
.journey-cta{margin-top:40px;padding:28px 30px;border-radius:18px;background:var(--olive-deep);color:#fff;display:flex;align-items:center;justify-content:space-between;gap:24px}
.journey-cta p{max-width:650px;margin:0;color:#fff;font-size:15px;line-height:1.6}
.journey-cta .button{flex:none;background:var(--blue-accessible);color:#fff}
.purpose-panel{display:grid;grid-template-columns:1fr 1fr;align-items:stretch;background:var(--olive-deep);color:#fff}
.purpose-panel .purpose-copy{padding:clamp(56px,7vw,105px)}
.purpose-panel h2{font-size:clamp(44px,5vw,76px);margin-bottom:28px}
.purpose-panel p{max-width:590px;color:rgba(255,255,255,.84);font-size:16px;line-height:1.75}
.purpose-panel .purpose-image{min-height:540px;background-size:cover;background-position:center}
.purpose-panel .text-link{color:#fff;margin-top:12px}
@media(max-width:850px){.trust-grid{grid-template-columns:1fr}.journey-cta{align-items:flex-start;flex-direction:column}.purpose-panel{grid-template-columns:1fr}.purpose-panel .purpose-image{min-height:400px;order:-1}}
