/* Shared foundation branding and program-interest entry points. */
:root { --header-height: 112px; }
.site-header .header-inner { min-height: var(--header-height); padding-block: 12px; }
.site-header .brand { flex-shrink: 0; min-width: 170px; }
.site-header .brand-logo { width: 170px!important; height: 88px!important; min-width: 0!important; object-fit: contain; }
.site-header .logo-light, .wts-logo--ink { filter: brightness(0); }
html:not([data-theme]) .site-header .logo-dark { display: block; }
.story-brand { display: inline-flex; flex-shrink: 0; align-items: center; }
.story-brand .wts-homepage-logo { width: 170px!important; height: 92px!important; object-fit: contain; }
.story-site-header__inner { min-height: 112px; }
.site-nav .wts-intake-link,
.story-nav .wts-intake-link,
.nav-links .wts-intake-link {
  display: inline-flex; justify-content: center; align-items: center;
  min-height: 48px; padding: 12px 18px; border: 1px solid #63f5e6;
  border-radius: 8px; background: #63f5e6; color: #050509!important;
  font: 800 15px/1.25 Nunito, system-ui, sans-serif; text-decoration: none;
}
.wts-program-action { margin-top: 26px; }
.wts-program-action p { margin-top: 12px; font-size: 15px; }
.wts-intake-button {
  display: inline-flex; align-items: center; justify-content: center; gap: 16px;
  min-height: 64px; padding: 18px 28px; border: 2px solid #63f5e6;
  border-radius: 10px; background: #63f5e6; color: #050509!important;
  font: 850 clamp(17px, 1.5vw, 21px)/1.35 Nunito, system-ui, sans-serif;
  text-align: center; text-decoration: none!important; box-shadow: 0 8px 26px #0002;
}
.wts-intake-button:hover, .wts-intake-link:hover { background: #a4fff4; border-color: #a4fff4; }
.wts-intake-button:focus-visible, .wts-intake-link:focus-visible {
  outline: 3px solid #9333ea; outline-offset: 5px;
}
.wts-intake-banner {
  width: min(1200px, calc(100% - 48px)); margin: 48px auto 24px;
  display: grid; grid-template-columns: .9fr 1.1fr; align-items: center; gap: 36px;
  padding: clamp(24px, 3vw, 40px); background: #111117; color: #fff;
  border: 1px solid #373743; border-radius: 18px;
}
.wts-intake-banner h2 { color: #fff!important; font: 850 clamp(28px, 3vw, 42px)/1.12 Nunito, system-ui, sans-serif; margin: 12px 0 18px; }
.wts-intake-banner p { color: #d0d0da!important; font-size: 18px; line-height: 1.6; }
.wts-intake-banner .wts-intake-eyebrow { color: #63f5e6!important; font-size: 13px; font-weight: 850; text-transform: uppercase; letter-spacing: .09em; }
.wts-intake-banner .wts-intake-button { margin-top: 24px; }
.wts-intake-banner small { display: block; color: #b3b3c2; margin-top: 16px; line-height: 1.5; font-size: 14px; }
.wts-intake-preview { display: block; position: relative; overflow: hidden; border-radius: 12px; color: #fff; }
.wts-intake-preview img { width: 100%; height: auto; display: block; aspect-ratio: 844/484; object-fit: cover; }
.wts-intake-preview span { position: absolute; bottom: 14px; left: 14px; padding: 10px 15px; border-radius: 8px; background: #050509ed; color: #fff; font: 800 15px/1.3 Nunito, system-ui, sans-serif; }
@media (max-width: 1100px) and (min-width: 901px) {
  .site-header .brand { min-width: 140px!important; }
  .site-header .brand-logo { width: 140px!important; }
  .site-nav { gap: 4px; }
  .site-nav .nav-link { padding-inline: 10px; font-size: 13px; }
}
@media (max-width: 850px) {
  .wts-intake-banner { grid-template-columns: 1fr; gap: 24px; }
  .wts-intake-preview { max-width: 650px; }
  .story-nav { align-items: center; }
}
@media (max-width: 640px) {
  :root { --header-height: 96px; }
  .site-header .brand-logo { width: 145px!important; height: 72px!important; }
  .site-header .brand { min-width: 145px; }
  .story-brand .wts-homepage-logo { width: 150px!important; height: 80px!important; }
  .wts-intake-banner { width: calc(100% - 32px); margin-top: 28px; padding: 22px; }
  .wts-intake-button { width: 100%; padding: 16px 20px; min-height: 64px; }
}

@media (min-width:851px) and (max-width:1100px) {
 .header .nav-links { gap:12px; font-size:13px; }
 .header .nav-links .btn { padding-inline:12px; font-size:13px; }
 .header .nav-links .wts-intake-link { padding:10px; font-size:13px; }
 .header .brand img { width:150px; }
 .header .nav { gap:18px; }
}
