:root {
  --paper: #F6F1E8;
  --paper-strong: #FFFDF8;
  --paper-muted: #ECE6DA;
  --ink-950: #071426;
  --ink-900: #0B1D35;
  --ink-850: #112A45;
  --cloud-50: #071426;
  --cloud-200: #526071;
  --muted: #526071;
  --dim: #6B7280;
  --border: #D8D1C5;
  --shadow: 0 22px 58px rgba(7, 20, 38, .10);
}

/* Photograph-led pages share one navigation/hero relationship: the hero begins
   behind the sticky navigation, while its content keeps the same safe offset. */
/* The desktop nav's outer height is just under 86px once line-height, padding,
   border, and its 16px top margin are included. Matching that full height keeps
   the photo canvas flush with the viewport instead of leaving a paper strip. */
body.photo-hero-page { --photo-hero-nav-overlap: 86px; }
body.photo-hero-page > .nav + main { margin-top: calc(0px - var(--photo-hero-nav-overlap)); }
body.photo-hero-page .diagnostic-hero.has-hero-image { padding-top: calc(clamp(82px, 11vw, 138px) + var(--photo-hero-nav-overlap)); }
body.events-page.photo-hero-page .hero { padding-top: calc(92px + var(--photo-hero-nav-overlap)); }
body.workshop-page.photo-hero-page > .nav + main.workshop-shell { padding-top: 0; }
body.workshop-page.photo-hero-page .workshop-hero { padding-top: calc(122px + var(--photo-hero-nav-overlap)); }
body.kithms-women-page.photo-hero-page .hero { padding-top: calc(100px + var(--photo-hero-nav-overlap)); }
body.resources-page.photo-hero-page .hero { padding-top: calc(96px + var(--photo-hero-nav-overlap)); }
body.reporting-guide-page.photo-hero-page .lm-hero { padding-top: calc(96px + var(--photo-hero-nav-overlap)); }
body.not-found-page.photo-hero-page .not-found-hero { padding-top: calc(clamp(84px, 10vw, 132px) + var(--photo-hero-nav-overlap)); }
body.services-page.photo-hero-page .service-hero { padding-top: calc(92px + var(--photo-hero-nav-overlap)); }
body.waitlist-received-page.photo-hero-page .thank-hero,
body.widb-application-received-page.photo-hero-page .received-hero { padding-top: calc(96px + var(--photo-hero-nav-overlap)); }

body[data-kithms-tool] :is(.free-tool-hero, .hero) h1 {
  font-size: clamp(2.3rem, 5vw, 4rem);
  line-height: 1.04;
}

/* Keep faces below the floating navigation on wide, shallow hero crops. */
@media (min-width: 981px) {
  /* Every public landing hero occupies at least one full viewport on laptop
     and desktop screens. min-height preserves the 100vh composition while
     still allowing unusually short windows or translated copy to overflow
     safely instead of clipping controls. */
  body:not(.admin-page) :is(
    .diagnostic-hero,
    .hero,
    .free-tool-hero,
    .insights-hero,
    .workshop-hero,
    .launchpad-hero,
    .service-hero,
    .privacy-hero,
    .terms-hero,
    .signup-hero,
    .received-hero,
    .thank-hero,
    .ty-hero,
    .lm-hero,
    .not-found-hero
  ) {
    box-sizing: border-box;
    min-height: 100vh;
  }

  /* The audit hero introduces the checklist rather than acting as a full-page
     landing canvas, so keep its content directly below the navigation. */
  body.digital-audit-page .hero {
    min-height: auto;
    align-items: center;
  }

  /* Browser tools are working interfaces, not full-screen landing pages. */
  body[data-kithms-tool] :is(.free-tool-hero, .hero) {
    min-height: auto;
  }

  body.events-page .hero::before { background-position: 70% 18% !important; }
  body.insights-page .insights-hero::before { background-position: center top !important; }
  body.workshop-page .workshop-hero::before { background-position: 70% 18% !important; }
  body.kithms-women-page .hero::before,
  body.webinar-page .signup-hero::before,
  body.widb-application-received-page .received-hero::before { background-position: center 24% !important; }
  .hero-for-teams { --diagnostic-hero-position: center 24%; }
}

@media (max-width: 980px) {
  body.events-page.photo-hero-page .hero { padding-top: calc(64px + var(--photo-hero-nav-overlap)); }
  body.resources-page.photo-hero-page .hero { padding-top: calc(128px + var(--photo-hero-nav-overlap)); }
}

@media (max-width: 720px) {
  body.workshop-page.photo-hero-page .workshop-hero { padding-top: calc(70px + var(--photo-hero-nav-overlap)); }
}

@media (max-width: 640px) {
  body.photo-hero-page { --photo-hero-nav-overlap: 142px; }
  body.insights-page { --photo-hero-nav-overlap: 142px; }
  body.photo-hero-page .diagnostic-hero.has-hero-image { padding-top: calc(62px + var(--photo-hero-nav-overlap)); }
  body.events-page.photo-hero-page .hero { padding-top: calc(58px + var(--photo-hero-nav-overlap)); }
  body.resources-page.photo-hero-page .hero { padding-top: calc(118px + var(--photo-hero-nav-overlap)); }
}

html { background: #071426; }

body:not(.admin-page) {
  display: flex;
  min-height: 100vh;
  flex-direction: column;
  background:
    radial-gradient(circle at 12% 4%, rgba(242, 96, 81, .09), transparent 28rem),
    radial-gradient(circle at 88% 10%, rgba(17, 135, 141, .09), transparent 30rem),
    linear-gradient(180deg, #FBF8F1 0, var(--paper) 42rem);
  color: var(--ink-950);
  overflow-x: hidden;
}

body:not(.admin-page) h1,
body:not(.admin-page) h2,
body:not(.admin-page) h3,
body:not(.admin-page) h4 { color: var(--ink-950); }

body:not(.admin-page) p,
body:not(.admin-page) li { color: var(--muted); }

body:not(.admin-page) .nav {
  border-color: rgba(7, 20, 38, .11);
  background: rgba(255, 253, 248, .91);
  box-shadow: 0 14px 40px rgba(7, 20, 38, .09);
}

body:not(.admin-page) .nav.nav-scrolled { background: rgba(255, 253, 248, .97); }
body:not(.admin-page) .nav-links a,
body:not(.admin-page) .nav-women { color: #526071 !important; }
body:not(.admin-page) .nav-links a:hover,
body:not(.admin-page) .nav-links a.is-active,
body:not(.admin-page) .nav-links a.active { color: var(--ink-950) !important; background: rgba(17, 135, 141, .08) !important; }
body:not(.admin-page) .nav-toggle { color: var(--ink-950); background: #FFFDF8; border-color: var(--border); }
body:not(.admin-page) .nav-cta { color: #071426; background: linear-gradient(135deg, #F26051, #E34C83); }
body:not(.admin-page) .hero::before { opacity: .62; filter: saturate(.9) contrast(1.02); }
body:not(.admin-page) .hero::after { background: linear-gradient(90deg, rgba(246,241,232,.94) 0%, rgba(246,241,232,.62) 52%, rgba(246,241,232,.28) 100%), radial-gradient(circle at 78% 50%, rgba(17,135,141,.08), transparent 34%) !important; }
body:not(.admin-page) .hero > * { text-shadow: none !important; }

body:not(.admin-page) .btn-secondary,
body:not(.admin-page) .btn-ghost {
  color: var(--ink-950);
  border-color: var(--border);
  background: rgba(255, 253, 248, .86);
}

body:not(.admin-page) .btn-secondary:hover,
body:not(.admin-page) .btn-ghost:hover { background: #FFFDF8; border-color: rgba(17, 135, 141, .42); }

body:not(.admin-page) input,
body:not(.admin-page) textarea,
body:not(.admin-page) select {
  color: var(--ink-950);
  background: #FFFDF8;
  border-color: var(--border);
}

/* Public dropdowns share one light, high-contrast treatment. The native phone
   select remains visually hidden because its accessible custom picker is styled
   separately below. */
body:not(.admin-page) select:not(.kithms-phone-native) {
  appearance: none;
  -webkit-appearance: none;
  color-scheme: light !important;
  color: var(--ink-950) !important;
  border-color: var(--border) !important;
  background-color: #FFFDF8 !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none'%3E%3Cpath d='m5.5 7.5 4.5 4.75 4.5-4.75' stroke='%230B747A' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 12px center !important;
  background-size: 16px 16px !important;
  padding-right: 42px !important;
}
body:not(.admin-page) select:not(.kithms-phone-native):hover {
  border-color: rgba(17, 135, 141, .55) !important;
}
body:not(.admin-page) select:not(.kithms-phone-native):focus,
body:not(.admin-page) select:not(.kithms-phone-native):focus-visible {
  outline: 3px solid rgba(17, 135, 141, .16) !important;
  outline-offset: 1px;
  border-color: #11878D !important;
}
body:not(.admin-page) select:not(.kithms-phone-native):disabled {
  color: #7B8491 !important;
  border-color: #DED8CD !important;
  background-color: #EEE9DF !important;
  cursor: not-allowed;
  opacity: 1;
}
body:not(.admin-page) select option,
body:not(.admin-page) select optgroup {
  color: var(--ink-950) !important;
  background: #FFFDF8 !important;
}
body:not(.admin-page) select option:checked { color: var(--ink-950) !important; background: #DDEDEA !important; }
body:not(.admin-page) select option:disabled { color: #8A94A3 !important; }

/* Country and calling-code picker. These declarations are important because
   the enhancement script injects its base styles after the page stylesheet. */
body:not(.admin-page) .kithms-phone-trigger {
  color: var(--ink-950) !important;
  border-color: var(--border) !important;
  background: #FFFDF8 !important;
}
body:not(.admin-page) .kithms-phone-trigger:hover,
body:not(.admin-page) .kithms-phone-trigger:focus-visible {
  border-color: #11878D !important;
  outline: 3px solid rgba(17, 135, 141, .16) !important;
  outline-offset: 1px;
}
body:not(.admin-page) .kithms-phone-dial,
body:not(.admin-page) .kithms-country-option-code { color: #526071 !important; }
body:not(.admin-page) .kithms-phone-trigger img,
body:not(.admin-page) .kithms-country-option img { box-shadow: 0 0 0 1px rgba(7, 20, 38, .14) !important; }
body:not(.admin-page) .kithms-country-panel {
  color: var(--ink-950) !important;
  border-color: var(--border) !important;
  background: #FFFDF8 !important;
  box-shadow: 0 22px 60px rgba(7, 20, 38, .20) !important;
}
body:not(.admin-page) .kithms-country-search-wrap {
  border-color: var(--border) !important;
  background: #F8F4EC !important;
}
body:not(.admin-page) .kithms-country-search {
  color: var(--ink-950) !important;
  border-color: var(--border) !important;
  background: #FFFDF8 !important;
}
body:not(.admin-page) .kithms-country-search::placeholder { color: #7B8491 !important; }
body:not(.admin-page) .kithms-country-search:focus {
  border-color: #11878D !important;
  outline: 3px solid rgba(17, 135, 141, .16) !important;
}
body:not(.admin-page) .kithms-country-list {
  background: #FFFDF8 !important;
  scrollbar-color: #9DB8B3 #ECE6DA;
}
body:not(.admin-page) .kithms-country-group { color: #0B747A !important; }
body:not(.admin-page) .kithms-country-option {
  color: var(--ink-950) !important;
  background: transparent !important;
}
body:not(.admin-page) .kithms-country-option:hover,
body:not(.admin-page) .kithms-country-option:focus-visible {
  color: var(--ink-950) !important;
  background: rgba(17, 135, 141, .09) !important;
  outline: 2px solid rgba(17, 135, 141, .32) !important;
  outline-offset: -2px;
}
body:not(.admin-page) .kithms-country-option[aria-selected="true"] {
  color: var(--ink-950) !important;
  background: #DDEDEA !important;
}
body:not(.admin-page) .kithms-country-empty { color: var(--muted) !important; }

body:not(.admin-page) input::placeholder,
body:not(.admin-page) textarea::placeholder { color: #7B8491; }

body:not(.admin-page) .card,
body:not(.admin-page) .panel,
body:not(.admin-page) .assess-card,
body:not(.admin-page) .module-card,
body:not(.admin-page) .resource-card,
body:not(.admin-page) .home-feature-card,
body:not(.admin-page) .home-event-card,
body:not(.admin-page) .registration-card,
body:not(.admin-page) .tool-card,
body:not(.admin-page) .result-card,
body:not(.admin-page) .workshop-card,
body:not(.admin-page) .offer-card,
body:not(.admin-page) .insight-card {
  color: var(--ink-950);
  background: var(--paper-strong);
  border-color: var(--border);
  box-shadow: 0 12px 34px rgba(7, 20, 38, .07);
}

/* Assessment, scorecard and result surfaces formerly built as glass panels. */
body:not(.admin-page) .panel,
body:not(.admin-page) .section,
body:not(.admin-page) .progress-dock,
body:not(.admin-page) .question,
body:not(.admin-page) .sc-card,
body:not(.admin-page) .sc-gate-card,
body:not(.admin-page) .phase,
body:not(.admin-page) .rec,
body:not(.admin-page) .stat,
body:not(.admin-page) .tool-panel,
body:not(.admin-page) .tool-results {
  color: var(--ink-950);
  background: #FFFDF8 !important;
  border-color: var(--border) !important;
  box-shadow: 0 12px 34px rgba(7,20,38,.07);
}
body:not(.admin-page) .section-head { background: #F8F4EC !important; border-color: var(--border) !important; }
body:not(.admin-page) .question p,
body:not(.admin-page) .sc-question,
body:not(.admin-page) .sc-option.selected .sc-option-text,
body:not(.admin-page) .sc-gap-title,
body:not(.admin-page) .sc-action-title,
body:not(.admin-page) .sc-dim-context,
body:not(.admin-page) .results p { color: var(--ink-950) !important; }
body:not(.admin-page) .item,
body:not(.admin-page) .opt,
body:not(.admin-page) .sc-option,
body:not(.admin-page) .sc-rec-item {
  color: var(--ink-950);
  background: #FFFDF8 !important;
  border-color: var(--border) !important;
}
body:not(.admin-page) .item:hover,
body:not(.admin-page) .opt:hover,
body:not(.admin-page) .sc-option:hover { background: rgba(17,135,141,.06) !important; }
body:not(.admin-page) .opt.selected,
body:not(.admin-page) .sc-option.selected { color: var(--ink-950) !important; background: rgba(17,135,141,.13) !important; border-color: rgba(17,135,141,.55) !important; }
body:not(.admin-page) .bar,
body:not(.admin-page) .progress,
body:not(.admin-page) .section-meter,
body:not(.admin-page) .sc-progress-track,
body:not(.admin-page) .sc-dim-bar-wrap { background: #DCE2DF !important; }
body:not(.admin-page) .eyebrow {
  width: max-content;
  max-width: 100%;
  color: #8A283D !important;
  background: transparent !important;
  border-color: transparent !important;
}
body:not(.admin-page) .diagnostic-consent a,
body:not(.admin-page) .footer-subscribe-consent a,
body:not(.admin-page) .signup-privacy a,
body:not(.admin-page) .apply-consent a {
  color: #0B747A !important;
  font-weight: 800;
  text-decoration: none;
}
body:not(.admin-page) .diagnostic-consent a:hover,
body:not(.admin-page) .footer-subscribe-consent a:hover,
body:not(.admin-page) .signup-privacy a:hover,
body:not(.admin-page) .apply-consent a:hover {
  color: #07585C !important;
}
body:not(.admin-page) .chip { color: #8A283D !important; background: rgba(242,96,81,.10) !important; border-color: rgba(242,96,81,.38) !important; }
body:not(.admin-page) .gate-input,
body:not(.admin-page) .field-input,
body:not(.admin-page) .sc-name-input { color: var(--ink-950) !important; background: #FFFDF8 !important; border-color: var(--border) !important; }

/* Menu-style dropdown used by the chart picker. */
body:not(.admin-page) .share-menu {
  color: var(--ink-950) !important;
  border-color: var(--border) !important;
  background: #FFFDF8 !important;
  box-shadow: 0 16px 42px rgba(7, 20, 38, .16) !important;
}
body:not(.admin-page) .share-menu button { color: #526071 !important; background: transparent !important; }
body:not(.admin-page) .share-menu button:hover,
body:not(.admin-page) .share-menu button:focus-visible {
  color: var(--ink-950) !important;
  background: rgba(17, 135, 141, .10) !important;
  outline: 2px solid rgba(17, 135, 141, .32);
  outline-offset: -2px;
}

body:not(.admin-page) .site-contact-modal,
body:not(.admin-page) .event-side-modal {
  color: var(--ink-950);
  background: #FFFDF8;
  border-color: var(--border);
  box-shadow: var(--shadow);
}
body:not(.admin-page) .site-contact-head,
body:not(.admin-page) .event-modal-top { background: #F3EEE4; border-color: var(--border); }
body:not(.admin-page) .site-contact-head p,
body:not(.admin-page) .site-contact-form label,
body:not(.admin-page) .site-contact-status,
body:not(.admin-page) .event-modal-empty,
body:not(.admin-page) .event-modal-section p,
body:not(.admin-page) .event-section p,
body:not(.admin-page) .event-rich-description,
body:not(.admin-page) .event-rich-description p,
body:not(.admin-page) .event-rich-description li { color: var(--muted); }
body:not(.admin-page) .site-contact-close,
body:not(.admin-page) .event-modal-icon,
body:not(.admin-page) .event-modal-action { color: var(--ink-950); background: #FFFDF8; border-color: var(--border); }
body:not(.admin-page) .event-modal-section { border-color: var(--border); }
body:not(.admin-page) .event-side-modal .event-rich-description,
body:not(.admin-page) .event-side-modal .event-rich-description p,
body:not(.admin-page) .event-side-modal .event-rich-description li,
body:not(.admin-page) .event-side-modal .event-rich-description strong,
body:not(.admin-page) .event-rich-description strong { color: var(--ink-950); }
body:not(.admin-page) .event-takeaways li { color: var(--ink-950); }
body:not(.admin-page) .host-bio { color: var(--dim); }
body:not(.admin-page) .registration-cta-wrap p { color: var(--ink-950); }
body:not(.admin-page) .event-side-modal .countdown-value,
body:not(.admin-page) .event-side-modal .presented strong,
body:not(.admin-page) .event-side-modal .event-hosted a { color: var(--ink-950); }
body:not(.admin-page) .event-row-card,
body:not(.admin-page) .mini-panel,
body:not(.admin-page) .event-calendar,
body:not(.admin-page) .empty-state { color: var(--ink-950); background: #FFFDF8; border-color: var(--border); }
body:not(.admin-page) .timeline-date-label span,
body:not(.admin-page) .calendar-title,
body:not(.admin-page) .calendar-day,
body:not(.admin-page) .calendar-day.is-today,
body:not(.admin-page) .calendar-day.has-event { color: var(--ink-950); }
body:not(.admin-page) .timeline-day::before { background: #11878D; box-shadow: 0 0 0 6px var(--paper); }
body:not(.admin-page) .calendar-tabs { background: #ECE6DA; }
body:not(.admin-page) .calendar-tabs button.active,
body:not(.admin-page) .calendar-grid .calendar-day.is-selected { color: var(--ink-950); background: rgba(17,135,141,.13); }

body:not(.admin-page) .footer,
body:not(.admin-page) .site-footer {
  width: 100%;
  flex: 0 0 auto;
  margin-bottom: 0;
  color: #F8FAFC;
  background: #071426;
  border-color: rgba(255, 255, 255, .10);
}

body:not(.admin-page) .footer h2,
body:not(.admin-page) .footer h3,
body:not(.admin-page) .footer strong,
body:not(.admin-page) .footer a,
body:not(.admin-page) .site-footer h2,
body:not(.admin-page) .site-footer h3,
body:not(.admin-page) .site-footer strong,
body:not(.admin-page) .site-footer a { color: #F8FAFC; }

body:not(.admin-page) .footer p,
body:not(.admin-page) .footer span,
body:not(.admin-page) .footer label,
body:not(.admin-page) .site-footer p,
body:not(.admin-page) .site-footer span { color: rgba(226, 232, 240, .72); }

body:not(.admin-page) .footer input { color: #F8FAFC; background: rgba(255, 255, 255, .07); border-color: rgba(255, 255, 255, .16); }
body:not(.admin-page) .footer > .shell { width: min(1160px, calc(100% - 32px)); margin-inline: auto; }
body:not(.admin-page) .footer { padding: 44px 0 34px; }
body:not(.admin-page) .footer-inner { display: grid; grid-template-columns: 1.35fr repeat(3, minmax(150px, 1fr)); gap: 24px; align-items: start; }
body:not(.admin-page) .footer-brand-logo { display: block; width: auto; height: 34px; margin-bottom: 12px; }
body:not(.admin-page) .footer-pronunciation { margin: 0 0 8px; font-size: .84rem; }
body:not(.admin-page) .footer-copy { max-width: 32ch; margin: 0; }
body:not(.admin-page) .footer-col { display: grid; gap: 8px; }
body:not(.admin-page) .footer-title { font-size: .78rem; letter-spacing: .12em; text-transform: uppercase; }
body:not(.admin-page) .footer-bottom { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 12px; margin-top: 26px; padding-top: 18px; border-top: 1px solid rgba(255,255,255,.12); font-size: .84rem; }
body:not(.admin-page) .footer-message-btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; width: max-content; min-height: 42px; margin-top: 6px; padding: 10px 14px; border: 1px solid rgba(255,255,255,.16); border-radius: 12px; background: rgba(255,255,255,.065); font-size: .86rem; font-weight: 800; }

.diagnostic-page { min-height: 100vh; }
.diagnostic-shell { width: min(1160px, calc(100% - 32px)); margin-inline: auto; }
.diagnostic-main { flex: 1 0 auto; padding-bottom: 84px; }
.diagnostic-hero { padding: clamp(82px, 11vw, 138px) 0 82px; display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(300px, .85fr); gap: clamp(34px, 7vw, 84px); align-items: center; }
.diagnostic-hero.has-hero-image { position: relative; isolation: isolate; }
.diagnostic-hero.has-hero-image::before,
.diagnostic-hero.has-hero-image::after {
  content: "";
  position: absolute;
  inset: 0 auto 0 50%;
  width: 100vw;
  transform: translateX(-50%);
  pointer-events: none;
}
.diagnostic-hero.has-hero-image::before {
  z-index: -2;
  background-image: var(--diagnostic-hero-image);
  background-position: var(--diagnostic-hero-position, center);
  background-size: cover;
  background-repeat: no-repeat;
  filter: saturate(.94) contrast(1.03);
  opacity: .9;
}
.diagnostic-hero.has-hero-image::after {
  z-index: -1;
  background:
    linear-gradient(90deg, rgba(246,241,232,.97) 0%, rgba(246,241,232,.77) 42%, rgba(246,241,232,.20) 72%, rgba(246,241,232,.08) 100%),
    radial-gradient(circle at 78% 45%, rgba(17,135,141,.12), transparent 34%);
}
.hero-home { --diagnostic-hero-image: url("/images/bg-01.webp"); --diagnostic-hero-position: center right; }
.hero-free-tools { --diagnostic-hero-image: url("/images/bhautik-patel-7ia2YXx0SH8-unsplash.webp"); --diagnostic-hero-position: center right; }
.hero-digital-business { --diagnostic-hero-image: url("/images/data-lab.webp"); --diagnostic-hero-position: center right; }
.hero-data-reporting { --diagnostic-hero-image: url("/images/pexels-karolina-grabowska-7876457.webp"); --diagnostic-hero-position: center 43%; }
.hero-practical-ai { --diagnostic-hero-image: url("/images/pexels-googledeepmind-17486101.webp"); --diagnostic-hero-position: center; }
.hero-for-teams { --diagnostic-hero-image: url("/images/widb-hero-1200.webp"); --diagnostic-hero-position: center 42%; }
.diagnostic-hero.has-hero-image .diagnostic-map {
  background: rgba(255,253,248,.76);
  backdrop-filter: blur(3px);
}

/* Bold photo-overlay hero: the headline sits directly on the full-bleed
   photo instead of a separate text panel. Desktop height is controlled by
   the shared 100vh rule above; the safe top padding still clears the nav. */
body.photo-hero-page .diagnostic-hero.has-hero-image {
  padding: calc(92px + var(--photo-hero-nav-overlap)) 0 64px;
  color: #F8FAFC;
}
body.photo-hero-page .diagnostic-hero.has-hero-image::before,
body.photo-hero-page .diagnostic-hero.has-hero-image::after {
  top: 0;
  bottom: 0;
}
body.photo-hero-page .diagnostic-hero.has-hero-image::before {
  opacity: 1;
  filter: saturate(1.02) contrast(1.05);
}
body.photo-hero-page .diagnostic-hero.has-hero-image::after {
  background:
    linear-gradient(180deg, rgba(7,20,38,.12) 0%, rgba(7,20,38,.02) 30%, rgba(7,20,38,.68) 100%),
    linear-gradient(90deg, rgba(7,20,38,.62) 0%, rgba(7,20,38,.18) 44%, rgba(7,20,38,.02) 72%) !important;
}
body.photo-hero-page .diagnostic-hero.has-hero-image > div:first-child {
  position: relative;
  z-index: 1;
  max-width: 620px;
  padding: 32px 0;
}
body.photo-hero-page .diagnostic-hero.has-hero-image .diagnostic-kicker { color: #F6D73F; }
body.photo-hero-page .diagnostic-hero.has-hero-image .diagnostic-kicker::before { background: linear-gradient(90deg, #F6D73F, #F26051); }
body.photo-hero-page .diagnostic-hero.has-hero-image h1 {
  color: #FFFFFF;
  font-size: clamp(1.9rem, 3.6vw, 3.2rem);
  line-height: .96;
  letter-spacing: -.02em;
  text-shadow: 0 4px 24px rgba(7,20,38,.35);
}
body.photo-hero-page .diagnostic-hero.has-hero-image .diagnostic-hero-copy { color: rgba(248,250,252,.86); }
body.photo-hero-page .diagnostic-hero.has-hero-image .diagnostic-map { display: none; }

/* Same bold photo-overlay treatment for Events. */
body.events-page.photo-hero-page .hero {
  color: #F8FAFC;
}
body.events-page.photo-hero-page .hero::before,
body.events-page.photo-hero-page .hero::after {
  top: -120px;
  bottom: -24px;
}
body.events-page .hero::after {
  background:
    linear-gradient(180deg, rgba(7,20,38,.12) 0%, rgba(7,20,38,.02) 30%, rgba(7,20,38,.68) 100%),
    linear-gradient(90deg, rgba(7,20,38,.62) 0%, rgba(7,20,38,.18) 44%, rgba(7,20,38,.02) 72%) !important;
}
body.events-page .hero > * { max-width: 660px; }
body.events-page .hero h1 { color: #FFFFFF; letter-spacing: -.02em; font-size: clamp(1.9rem, 3.6vw, 3.1rem); line-height: .96; }
body.events-page .hero p { color: rgba(248,250,252,.86); }

/* Same bold photo-overlay treatment for Insights. */
body.insights-page .insights-hero {
  padding-top: calc(92px + var(--photo-hero-nav-overlap));
  overflow: visible;
  border-bottom: 0;
  background: none;
  color: #F8FAFC;
}
body.insights-page .insights-hero::before,
body.insights-page .insights-hero::after {
  top: 0;
  bottom: 0;
}
body.insights-page .insights-hero::after {
  background:
    linear-gradient(180deg, rgba(7,20,38,.12) 0%, rgba(7,20,38,.02) 30%, rgba(7,20,38,.68) 100%),
    linear-gradient(90deg, rgba(7,20,38,.62) 0%, rgba(7,20,38,.18) 44%, rgba(7,20,38,.02) 72%) !important;
}
body.insights-page .insights-hero-grid > div:first-child { max-width: 660px; }
body.insights-page .insights-hero-grid aside { display: none; }
body.insights-page .insights-hero .insight-kicker { color: #F6D73F; }
body.insights-page .insights-hero .insight-kicker::before { content: ""; display: inline-block; width: 26px; height: 2px; margin-right: 2px; background: linear-gradient(90deg, #F6D73F, #F26051); vertical-align: middle; }
body.insights-page .insights-hero h1 { color: #FFFFFF; letter-spacing: -.02em; font-size: clamp(1.9rem, 3.6vw, 3.1rem); line-height: .96; }
body.insights-page .insights-hero p { color: rgba(248,250,252,.86); }
body.events-page .hero .hero-actions,
body.insights-page .insights-hero .hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 26px;
}

/* Same bold photo-overlay treatment as Events/Insights for Workshops
   (catalogue and detail share the same .workshop-hero markup). */
body.workshop-page.photo-hero-page .workshop-hero {
  overflow: visible;
  color: #F8FAFC;
}
body.workshop-page.photo-hero-page .workshop-hero::before,
body.workshop-page.photo-hero-page .workshop-hero::after { top: -120px; bottom: -24px; }
body.workshop-page .workshop-hero::after {
  background:
    linear-gradient(180deg, rgba(7,20,38,.12) 0%, rgba(7,20,38,.02) 30%, rgba(7,20,38,.68) 100%),
    linear-gradient(90deg, rgba(7,20,38,.62) 0%, rgba(7,20,38,.18) 44%, rgba(7,20,38,.02) 72%) !important;
}
body.workshop-page .workshop-hero-grid { grid-template-columns: 1fr; }
body.workshop-page .workshop-hero-grid > div:first-child { max-width: 660px; }
body.workshop-page .workshop-price-panel { display: none; }
body.workshop-page .workshop-hero h1 { color: #FFFFFF; letter-spacing: -.02em; font-size: clamp(1.9rem, 3.6vw, 3.1rem); line-height: .96; margin: 0 0 18px; max-width: none; }
body.workshop-page .workshop-hero p { color: rgba(248,250,252,.86); }
body.workshop-page .workshop-hero .workshop-text-link { color: #F8FAFC; }
body.workshop-page .workshop-hero .workshop-text-link:hover,
body.workshop-page .workshop-hero .workshop-text-link:focus-visible {
  color: #FFFFFF;
  background: rgba(255,255,255,.14);
  text-decoration: underline;
  text-decoration-color: #F6D73F;
}
body.workshop-page .workshop-hero .workshop-eyebrow { color: #F6D73F; }
body.workshop-page .workshop-hero .workshop-eyebrow i { color: #F6D73F !important; }

/* Standardize hero title typography site-wide: every hero heading uses the
   same uppercase, tightened treatment regardless of whether its background
   got the full bold-photo-overlay redesign. */
body.kithms-women-page .hero h1,
body.resources-page .hero h1,
body.not-found-page .not-found-hero h1,
body.services-page .service-hero h1,
body.widb-application-received-page .received-hero h1,
body.reporting-guide-page .lm-hero h1,
body.webinar-page .signup-hero h1 {
  letter-spacing: -.02em;
}

/* Existing photograph-led public heroes use the same readable light treatment. */
.events-page .hero::before {
  background: url("/images/events@2x.webp") 70% 58% / cover no-repeat !important;
  /* !important needed on opacity/filter too: an earlier, more specific rule
     (body:not(.admin-page) .hero::before) sets opacity:.62 and
     filter:saturate(.9) contrast(1.02), which otherwise silently wins over
     these page-specific overrides since neither declared !important before.
     This source photo is also inherently bright/high-key (whiteboard
     background), which read as washed out even with the same overlay
     treatment as Insights (whose photo is naturally richer/darker).
     Pushed saturation/contrast further and darkened slightly to
     compensate, rather than changing the shared overlay gradient. */
  opacity: 1 !important;
  filter: saturate(1.15) contrast(1.12) brightness(.92) !important;
}
.kithms-women-page .hero::before {
  background: url("/images/widb-hero-1200.webp") center 42% / cover no-repeat !important;
  /* !important needed: an earlier, more specific rule (body:not(.admin-page)
     .hero::before) sets opacity:.62, which otherwise silently wins over this
     page-specific opacity:1 since neither declared !important before. */
  opacity: 1 !important;
  filter: saturate(.96) contrast(1.03) !important;
}
.resources-page .hero::before {
  background: url("/images/data-lab.webp") center 34% / cover no-repeat !important;
  /* Same specificity bug as events/kithms-women above — !important required. */
  opacity: 1 !important;
  filter: saturate(.96) contrast(1.03) !important;
}
.events-page .hero::after,
.kithms-women-page .hero::after,
.resources-page .hero::after {
  background: linear-gradient(90deg, rgba(246,241,232,.96) 0%, rgba(246,241,232,.72) 42%, rgba(246,241,232,.16) 76%, rgba(246,241,232,.05) 100%) !important;
}

/* Kithms Women keeps the dark-overlay, white-text treatment (unlike the
   light/cream treatment shared above) -- darkest over the text column on
   the left, fading out toward the photo on the right. body. prefix needed
   to out-specificity the shared .kithms-women-page .hero::after rule above. */
body.kithms-women-page .hero::after {
  background: linear-gradient(90deg, rgba(7,20,38,.80) 0%, rgba(7,20,38,.42) 46%, rgba(7,20,38,.08) 100%) !important;
}
body.kithms-women-page .hero h1 { color: #FFFFFF; }
body.kithms-women-page .hero-copy { color: rgba(248,250,252,.86); }
/* The site-wide body:not(.admin-page) .eyebrow rule sets a dark maroon
   (#8A283D !important), unreadable against this page's dark hero. */
body.kithms-women-page .hero .eyebrow {
  color: rgba(226,232,240,.92) !important;
  background: rgba(242,96,81,.14) !important;
  border-color: rgba(242,96,81,.35) !important;
}

/* Events directory: keep the light treatment spacious instead of turning the
   whole listing into one oversized assessment panel. */
body.events-page .events-section {
  padding: 64px 0 86px;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}
body.events-page .events-layout {
  grid-template-columns: minmax(0, 1fr) 300px;
  gap: 24px;
}
body.events-page .events-main {
  min-width: 0;
  padding: clamp(24px, 4vw, 38px);
  border: 1px solid var(--border);
  border-radius: 24px;
  background: #FFFDF8;
  box-shadow: 0 16px 44px rgba(7,20,38,.07);
}
body.events-page .events-heading { align-items: flex-end; margin-bottom: 22px; }
body.events-page .events-heading h2 {
  margin: 5px 0 0;
  font-size: clamp(2.2rem, 4vw, 3.5rem);
  letter-spacing: -.035em;
}
body.events-page .events-kicker {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  color: #11878D;
  font-size: .74rem;
  font-weight: 900;
  letter-spacing: .11em;
  text-transform: uppercase;
}
body.events-page .events-kicker::before { content: ""; width: 24px; height: 2px; background: linear-gradient(90deg, #F26051, #E34C83); }
body.events-page #events-period-label { padding: 7px 11px; color: #0B6267; border-color: rgba(17,135,141,.3); background: rgba(17,135,141,.09); }
body.events-page .events-filters { gap: 10px; margin-bottom: 26px; }
body.events-page .events-filters select {
  flex: 0 1 220px;
  width: auto;
  min-width: 180px;
  min-height: 44px;
  color-scheme: light;
  color: var(--ink-950);
  border-color: var(--border);
  background-color: #F8F4EC;
}
body.events-page .events-filters select option { color: var(--ink-950); background: #FFFDF8; }
body.events-page .events-filters select:hover,
body.events-page .events-filters select:focus { border-color: rgba(17,135,141,.48); }
body.events-page .events-grid { gap: 20px; padding-left: 28px; }
body.events-page .events-grid::before { left: 6px; border-color: rgba(17,135,141,.25); }
body.events-page .timeline-day::before { left: -27px; background: #11878D; box-shadow: 0 0 0 6px #FFFDF8; }
body.events-page .timeline-date-label span { color: var(--ink-950); }
body.events-page .timeline-date-label strong { color: var(--muted); }
body.events-page .event-row-card {
  border-color: var(--border);
  background: #F8F4EC;
  box-shadow: none;
  transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}
body.events-page .event-row-card:hover { transform: translateY(-2px); border-color: rgba(17,135,141,.35); box-shadow: 0 14px 34px rgba(7,20,38,.08); }
body.events-page .event-row-time { color: #0B747A; }
body.events-page .event-row-meta i { color: #11878D; }
body.events-page .event-seats-badge.registrations,
body.event-detail-page .event-seats-badge.registrations {
  color: #075E63;
  border-color: rgba(17,135,141,.38);
  background: rgba(17,135,141,.12);
}
body.events-page .events-grid > .empty-state {
  margin-left: -28px;
  padding: clamp(26px, 4vw, 38px);
  border-style: solid;
  background: #F8F4EC;
  text-align: left;
}
body.events-page .empty-state h3 { margin: 0 0 10px; font-size: 1.25rem; }
body.events-page .empty-state p { margin: 0; }
body.events-page .events-side { top: 104px; gap: 18px; }
body.events-page .mini-panel { padding: 22px; border-color: var(--border); border-radius: 20px; background: #FFFDF8; box-shadow: 0 12px 34px rgba(7,20,38,.05); }
body.events-page .mini-panel h3 { font-size: 1.15rem; }
body.events-page .mini-socials { color: #11878D; }
body.events-page .event-calendar { background: #FFFDF8; }
body.events-page .calendar-controls button:hover { color: var(--ink-950); background: rgba(17,135,141,.1); }
body.events-page .calendar-day:not(.is-muted):hover { color: var(--ink-950); background: rgba(17,135,141,.1); }
body.events-page .calendar-day.is-selected { color: var(--ink-950); background: rgba(17,135,141,.14); box-shadow: inset 0 0 0 1px rgba(17,135,141,.36); }
body.events-page .calendar-day.has-event::after { background: #E34C83; }
body.events-page .calendar-tabs { background: #ECE6DA; }
body.events-page .calendar-tabs button.active { color: #FFFDF8; background: #11878D; }

/* Accessible workshop text links on the light hero and cards. */
body.workshop-page .workshop-text-link { color: #0B747A; border-radius: 8px; }
body.workshop-page .workshop-text-link:hover,
body.workshop-page .workshop-text-link:focus-visible {
  color: #071426;
  background: rgba(17,135,141,.12);
  text-decoration: underline;
  text-decoration-color: #11878D;
  text-underline-offset: 4px;
}

/* Webinar landing page. It keeps its photograph and conversion-focused layout,
   but uses the same paper, ink and solid-card treatment as the redesigned site. */
body.webinar-page { position: relative; color-scheme: light; }
body.webinar-page .signup-nav {
  position: absolute;
  z-index: 20;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: min(1160px, calc(100% - 32px));
  margin: 16px 0 0;
  padding: 13px 16px;
  border: 1px solid rgba(7,20,38,.11);
  border-radius: 18px;
  background: rgba(255,253,248,.94);
  box-shadow: 0 14px 40px rgba(7,20,38,.08);
}
body.webinar-page .signup-hero {
  padding-top: clamp(138px, 14vw, 166px);
}
body.webinar-page .signup-nav-note { color: #0B6267; border-color: rgba(17,135,141,.28); background: rgba(17,135,141,.09); }
body.webinar-page .signup-nav-note::before { background: #11878D; box-shadow: 0 0 0 5px rgba(17,135,141,.10); }
body.webinar-page .signup-hero::before {
  background: url("/images/widb-hero-1200.webp") center 42% / cover no-repeat !important;
}
body.webinar-page .signup-hero::after {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 0 50% -48px;
  width: 100vw;
  transform: translateX(-50%);
  background: linear-gradient(90deg, rgba(246,241,232,.97) 0%, rgba(246,241,232,.83) 48%, rgba(246,241,232,.48) 100%);
}
body.webinar-page .signup-copy h1,
body.webinar-page .signup-subheading,
body.webinar-page .webinar-body,
body.webinar-page .webinar-points li { color: var(--ink-950); text-shadow: none; }
body.webinar-page .signup-subheading,
body.webinar-page .webinar-body { color: var(--muted); }
body.webinar-page .signup-kicker { color: #0B747A; }
body.webinar-page .webinar-meta span { color: var(--ink-950); border-color: rgba(7,20,38,.12); background: rgba(255,253,248,.88); backdrop-filter: blur(4px); }
body.webinar-page .webinar-points li::before { color: #0B747A; background: rgba(17,135,141,.13); }
body.webinar-page .signup-card {
  border-color: var(--border);
  background: #FFFDF8;
  box-shadow: 0 24px 68px rgba(7,20,38,.14);
  backdrop-filter: none;
}
body.webinar-page .signup-card h2,
body.webinar-page .signup-success h2,
body.webinar-page .signup-closed h2,
body.webinar-page .signup-field label,
body.webinar-page .signup-flow strong { color: var(--ink-950); }
body.webinar-page .signup-card-head p,
body.webinar-page .field-help,
body.webinar-page .signup-flow div,
body.webinar-page .signup-privacy,
body.webinar-page .signup-success p,
body.webinar-page .signup-closed p { color: var(--muted); }
body.webinar-page .signup-form input,
body.webinar-page .signup-form select { color-scheme: light; color: var(--ink-950); border-color: var(--border); background: #FFFDF8; }
body.webinar-page .signup-form input:focus,
body.webinar-page .signup-form select:focus { border-color: #11878D; outline-color: rgba(17,135,141,.16); }
body.webinar-page .signup-flow { border-color: var(--border); }
body.webinar-page .signup-privacy a { color: #0B747A; }
body.webinar-page .signup-status.error { color: #9D3028; background: rgba(242,96,81,.1); }
body.webinar-page .signup-status.success { color: #0B6267; background: rgba(17,135,141,.1); }

/* Purchase, registration and payment confirmation routes. */
body.confirmation-page {
  display: flex !important;
  align-items: stretch !important;
  justify-content: flex-start !important;
  place-items: initial !important;
  padding: 0 !important;
  color-scheme: light;
}
body.confirmation-page .confirm-nav {
  position: sticky;
  top: 16px;
  left: auto;
  transform: none;
  width: min(1040px, calc(100% - 32px));
  margin: 16px auto 0;
  z-index: 20;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 12px 14px;
  border-style: solid;
  border-width: 1px;
  border-radius: 16px;
  border-color: rgba(7,20,38,.11);
  background: rgba(255,253,248,.96);
  box-shadow: 0 14px 40px rgba(7,20,38,.09);
  backdrop-filter: blur(12px);
}
body.confirmation-page .confirm-brand { color: var(--ink-950); font-weight: 800; text-decoration: none; }
body.confirmation-page .confirm-links { display: flex; align-items: center; gap: 14px; }
body.confirmation-page .confirm-links a { color: var(--muted); font-size: .92rem; font-weight: 700; text-decoration: none; }
body.confirmation-page .confirm-links a:hover { color: #0B747A; }
body.confirmation-page > .card,
body.confirmation-page > main.card {
  width: min(680px, calc(100% - 32px));
  margin: 52px auto 76px;
  padding: clamp(28px, 5vw, 42px);
  border-color: var(--border);
  background: #FFFDF8 !important;
  box-shadow: 0 20px 58px rgba(7,20,38,.10);
}
body.confirmation-page .pill,
body.confirmation-page .eyebrow { color: #0B6267; border-color: rgba(17,135,141,.30); background: rgba(17,135,141,.09); }
body.confirmation-page .lead,
body.confirmation-page .muted,
body.confirmation-page .note,
body.confirmation-page .brand-footer,
body.confirmation-page #loading { color: var(--muted); }
body.confirmation-page .detail-block,
body.confirmation-page .facts,
body.confirmation-page .box,
body.confirmation-page .purchased-product,
body.confirmation-page .post-event-support,
body.confirmation-page #payment-ref-block,
body.confirmation-page #no-cohort { border-color: rgba(17,135,141,.22) !important; background: rgba(17,135,141,.07) !important; }
body.confirmation-page .detail-value,
body.confirmation-page .value,
body.confirmation-page .facts strong,
body.confirmation-page .purchased-product-title,
body.confirmation-page .cross-sell-title,
body.confirmation-page .step-body strong,
body.confirmation-page .event-rich-description strong,
body.confirmation-page #payment-ref-value { color: var(--ink-950) !important; }
body.confirmation-page .event-rich-description,
body.confirmation-page .event-rich-description p,
body.confirmation-page .event-rich-description li,
body.confirmation-page .event-rich-description li::marker,
body.confirmation-page .step-body span { color: var(--muted); }
body.confirmation-page .divider { border-color: var(--border); }
body.confirmation-page .btn.secondary,
body.confirmation-page .btn-secondary { color: var(--ink-950); border-color: var(--border); background: #F8F4EC; }
body.confirmation-page .cross-sell-item { border-color: var(--border); }
body.confirmation-page .cross-sell-item:hover { border-color: rgba(17,135,141,.36); background: rgba(17,135,141,.06); }
body.confirmation-page .spinner { border-color: rgba(7,20,38,.12); border-top-color: #11878D; }
body.confirmation-page > .card a:not(.btn),
body.confirmation-page > main.card a:not(.btn) { color: #0B747A; }

/* Dynamic resource landing page. */
body.lead-magnet-page { color-scheme: light; }
body.lead-magnet-page .topbar { border-bottom: 1px solid rgba(7,20,38,.08); }
body.lead-magnet-page .back-link { color: #0B747A; }
body.lead-magnet-page .back-link:hover { color: var(--ink-950); }
body.lead-magnet-page main { min-height: auto; }
body.lead-magnet-page .eyebrow { color: #0B747A; }
body.lead-magnet-page .intro,
body.lead-magnet-page .card-copy,
body.lead-magnet-page .privacy,
body.lead-magnet-page .success p,
body.lead-magnet-page .email-note { color: var(--muted); }
body.lead-magnet-page .benefits li { color: var(--ink-950); }
body.lead-magnet-page .benefits li::before,
body.lead-magnet-page .success-mark { color: #0B747A; background: rgba(17,135,141,.13); }
body.lead-magnet-page .resource-mockup { border-color: var(--border); background: #FFFDF8; box-shadow: 0 18px 48px rgba(7,20,38,.10); }
body.lead-magnet-page .card { color: var(--ink-950); border-color: var(--border); background: #FFFDF8 !important; box-shadow: 0 22px 58px rgba(7,20,38,.11); }
body.lead-magnet-page .field label { color: var(--ink-950); }
body.lead-magnet-page .field input { color: var(--ink-950); border-color: var(--border); background: #FFFDF8; }
body.lead-magnet-page .field input:focus { border-color: #11878D; box-shadow: 0 0 0 3px rgba(17,135,141,.12); }
body.lead-magnet-page .status { color: #9D3028; }

/* Reporting guide and its confirmation page. The hero follows the homepage:
   a full-strength photograph with a directional navy overlay for copy. */
body.reporting-guide-page .lm-hero::before,
body.reporting-guide-page .lm-hero::after { top: 0; bottom: 0; }
body.reporting-guide-page .lm-hero::before {
  background: url("/images/pexels-googledeepmind-17486101.webp") center 30% / cover no-repeat !important;
  opacity: 1;
  filter: saturate(1.02) contrast(1.05);
}
body.reporting-guide-page .lm-hero::after {
  background:
    linear-gradient(180deg, rgba(7,20,38,.12) 0%, rgba(7,20,38,.02) 30%, rgba(7,20,38,.68) 100%),
    linear-gradient(90deg, rgba(7,20,38,.68) 0%, rgba(7,20,38,.25) 48%, rgba(7,20,38,.04) 78%) !important;
}
body.reporting-guide-page .lm-hero h1 {
  color: #FFFFFF;
  text-shadow: 0 4px 24px rgba(7,20,38,.38);
}
body.reporting-guide-page .lm-hero-copy {
  color: rgba(248,250,252,.90);
  text-shadow: 0 3px 18px rgba(7,20,38,.42);
}
body.reporting-guide-page .lm-eyebrow {
  color: #F6D73F;
  border-color: rgba(248,250,252,.26);
  background: rgba(7,20,38,.38);
  backdrop-filter: blur(6px);
}
body.reporting-guide-page .lm-section-head span.sec-label { color: #0B6267; border-color: rgba(17,135,141,.25); background: rgba(17,135,141,.08); }
body.reporting-guide-page .lm-contents-card,
body.reporting-guide-page .lm-deliverable-card,
body.reporting-guide-page .lm-author-strip,
body.reporting-guide-page .lm-form-panel { border-color: var(--border); background: #FFFDF8; box-shadow: 0 16px 44px rgba(7,20,38,.08); backdrop-filter: none; }
body.reporting-guide-page .lm-contents-card {
  background: rgba(255,253,248,.88);
  backdrop-filter: blur(8px) saturate(115%);
}
body.reporting-guide-page .lm-contents-kicker { color: #0B6267; border-color: rgba(17,135,141,.25); background: rgba(17,135,141,.08); }
body.reporting-guide-page .lm-contents-list strong,
body.reporting-guide-page .lm-author-strip strong { color: var(--ink-950); }
body.reporting-guide-page .lm-deliverable-card i { color: #0B747A; }
body.reporting-guide-page .lm-form input { color: var(--ink-950); border-color: var(--border); background: #FFFDF8; }
body.reporting-guide-page .lm-quiz { border-color: var(--border); background: #F8F4EC; }
body.reporting-guide-page .lm-quiz-progress span { background: #D8D1C5; }
body.reporting-guide-page .lm-quiz-option { color: var(--ink-950); border-color: var(--border); background: #FFFDF8; }
body.reporting-guide-page .lm-quiz-option:hover { border-color: rgba(17,135,141,.45); background: rgba(17,135,141,.09); }
body.reporting-guide-page .lm-quiz-rec-kicker { color: #0B747A; }
body.guide-thank-you-page .ty-card { border-color: var(--border); background: #FFFDF8; box-shadow: 0 20px 58px rgba(7,20,38,.10); backdrop-filter: none; }
body.guide-thank-you-page .ty-secondary { border-color: var(--border); }

/* Legacy success and acknowledgement pages. */
body.received-page .received-hero,
body.received-page .thank-hero { min-height: auto; padding: clamp(72px, 9vw, 112px) 0 80px; }
body.received-page .received-hero::before,
body.received-page .thank-hero::before {
  background:
    radial-gradient(circle at 16% 12%, rgba(242,96,81,.11), transparent 30rem),
    radial-gradient(circle at 84% 18%, rgba(17,135,141,.10), transparent 32rem),
    linear-gradient(180deg, #FBF8F1, #F6F1E8) !important;
}
body.widb-application-received-page .received-hero::before {
  background:
    linear-gradient(90deg, rgba(246,241,232,.97), rgba(246,241,232,.83) 52%, rgba(246,241,232,.48)),
    url("/images/widb-hero-1200.webp") center 42% / cover no-repeat !important;
}
body.received-page .received-card,
body.received-page .thank-card {
  width: min(860px, 100%);
  margin-inline: auto;
  color: var(--ink-950);
  border-color: var(--border);
  background: #FFFDF8;
  box-shadow: 0 22px 62px rgba(7,20,38,.11);
  backdrop-filter: none;
}
body.received-page .next-card { border-color: var(--border); background: #F8F4EC; }
body.received-page .next-card i { color: #0B747A; }
body.received-page .status-pill { color: #8A283D; background: rgba(242,96,81,.10); }
body.received-page .received-note { border-color: rgba(17,135,141,.25); background: rgba(17,135,141,.08); }
body.received-page .received-note a { color: #0B747A; }
body.widb-application-received-page .tier-grid > div { border-color: var(--border) !important; background: #F8F4EC !important; }

/* Privacy page navigation and inline links need a dark accent on paper. */
body.privacy-page .privacy-nav { border-color: var(--border); background: #FFFDF8; box-shadow: 0 10px 28px rgba(7,20,38,.06); }
body.privacy-page .privacy-nav strong { color: var(--ink-950); }
body.privacy-page .privacy-nav a:hover,
body.privacy-page .privacy-nav a:focus-visible,
body.privacy-page .privacy-copy a { color: #0B747A; }
body.privacy-page .privacy-note { border-color: #11878D; background: rgba(17,135,141,.08); }

/* Workshop catalogue, detail, enquiry and confirmation surfaces. */
body.workshop-page .workshop-price-panel,
body.workshop-page .workshop-card,
body.workshop-page .workshop-panel,
body.workshop-page .workshop-package,
body.workshop-page .workshop-enquiry-card {
  border-color: var(--border);
  background: #FFFDF8;
  box-shadow: 0 16px 44px rgba(7,20,38,.08);
}
body.workshop-page a.workshop-card:hover { border-color: rgba(17,135,141,.42); background: rgba(17,135,141,.06); }
body.workshop-page .workshop-step,
body.workshop-page .workshop-addon-choice,
body.workshop-page .workshop-next-step-item,
body.workshop-page .workshop-faq,
body.workshop-page .workshop-empty { border-color: var(--border); background: #FFFDF8; }
body.workshop-page .workshop-package.is-featured { border-color: rgba(242,96,81,.38); background: linear-gradient(180deg,rgba(242,96,81,.08),#FFFDF8); }
body.workshop-page .workshop-card-link,
body.workshop-page .workshop-step span,
body.workshop-page .workshop-output strong,
body.workshop-page .workshop-addon-price,
body.workshop-page .workshop-faq button i,
body.workshop-page .workshop-next-step-item span,
body.workshop-page .workshop-selection-summary strong,
body.workshop-page .workshop-reference,
body.workshop-page .workshop-eyebrow i,
body.workshop-page .workshop-testimonial-attribution,
body.workshop-page a[href^="mailto:"] { color: #0B747A !important; }
body.workshop-page .workshop-faq button,
body.workshop-page .workshop-addon strong,
body.workshop-page .workshop-addon-selector legend,
body.workshop-page .workshop-addon-heading strong,
body.workshop-page .workshop-small-team-note strong { color: var(--ink-950); }
body.workshop-page .workshop-output { border-color: #11878D; background: rgba(17,135,141,.07); }
body.workshop-page .workshop-next-step { background: linear-gradient(135deg,rgba(17,135,141,.09),rgba(227,76,131,.06)); }
body.workshop-page .workshop-reference { background: rgba(17,135,141,.08); }
body.workshop-page .workshop-important-note { border-left-color: #F26051; background: rgba(242,96,81,.07); }
body.workshop-page .workshop-important-note strong { color: #C23B2F !important; }
body.workshop-page .workshop-section.alt::before { background: rgba(236,230,218,.55); }

/* Event listings and event detail controls. */
body.events-page .events-filters select { color-scheme: light; }
body.events-page .events-filters select option { color: var(--ink-950); background: #FFFDF8; }
body.events-page .event-row-meta i,
body.events-page .event-modal-hero i,
body.events-page .event-hosted a i,
body.events-page .event-icon-box,
body.events-page .registration-note i { color: #0B747A; }
body.events-page .calendar-controls button:hover,
body.events-page .calendar-grid .calendar-day:not(.is-muted):hover { color: var(--ink-950); background: rgba(17,135,141,.10); }
body.events-page .calendar-grid .calendar-day.is-selected { color: var(--ink-950); background: rgba(17,135,141,.14); box-shadow: inset 0 0 0 1px rgba(17,135,141,.42); }
body.events-page .event-modal-icon:hover,
body.events-page .event-modal-action:hover { color: var(--ink-950); background: rgba(17,135,141,.10); }
body.event-detail-page .event-icon-box,
body.event-detail-page .registration-note i,
body.event-detail-page .event-rich-description a,
body.event-detail-page .event-hosted a i { color: #0B747A; }
body.event-detail-page .countdown-value { color: var(--ink-950); }
body.event-detail-page .registration-social-proof {
  color: #075E63;
  border-bottom-color: rgba(17,135,141,.34);
  background: rgba(17,135,141,.11);
}
body.event-detail-page .registration-social-proof.registrations-open {
  color: #334155;
  border-bottom-color: var(--border);
  background: #F8F4EC;
}

/* Assessment results keep their hierarchy and contrast after the light-theme
   conversion. These components still carry several dark-theme declarations in
   their page-level CSS, so the overrides are deliberately page-scoped. */
body.digital-audit-page .results {
  color: var(--ink-950);
  border-color: rgba(17,135,141,.30);
  background: linear-gradient(145deg, #FFFDF8, #EEF7F4);
  box-shadow: 0 18px 46px rgba(7,20,38,.09);
}
body.digital-audit-page .score-circle {
  background: conic-gradient(#F4C928 var(--score), #DCE2DF 0);
  box-shadow: 0 10px 28px rgba(7,20,38,.10);
}
body.digital-audit-page .score-circle::after { background: #FFFDF8; }
body.digital-audit-page .score-circle strong { color: var(--ink-950); }
body.digital-audit-page .gap {
  color: #334155;
  padding: 9px 11px;
  border: 1px solid rgba(17,135,141,.16);
  border-radius: 10px;
  background: rgba(255,253,248,.72);
}
body.digital-audit-page .gap i,
body.digital-audit-page .accent { color: #0B747A !important; }

body.dmma-page .topbar {
  color: var(--ink-950);
  border-color: var(--border);
  background: rgba(255,253,248,.94);
  box-shadow: 0 12px 30px rgba(7,20,38,.08);
}
body.dmma-page .tab {
  color: #526071;
  border-color: var(--border);
  background: #FFFDF8;
}
body.dmma-page .tab:hover,
body.dmma-page .opt:hover { color: var(--ink-950) !important; }
body.dmma-page .score {
  background: conic-gradient(#F4C928 var(--score), #DCE2DF 0);
  box-shadow: 0 10px 28px rgba(7,20,38,.10);
}
body.dmma-page .score::after { background: #FFFDF8; }
body.dmma-page .score strong { color: var(--ink-950); }
body.dmma-page .domain-score {
  color: #526071;
  border-bottom-color: var(--border);
}
body.dmma-page #resultEmailedTo { color: var(--ink-950) !important; }
body.dmma-page a[href*="reporting-foundation-guide"] {
  border-color: var(--border) !important;
  background: #F8F4EC !important;
}
body.dmma-page .phase span,
body.dmma-page #benchmarkLine,
body.dmma-page a[href*="reporting-foundation-guide"] i { color: #0B747A !important; }

body.digital-readiness-page .sc-context,
body.digital-readiness-page .sc-step-label,
body.digital-readiness-page .sc-score-total,
body.digital-readiness-page .sc-name-label,
body.digital-readiness-page .sc-option-letter,
body.digital-readiness-page .sc-dim-label,
body.digital-readiness-page .sc-dim-val,
body.digital-readiness-page .sc-dim-group-label,
body.digital-readiness-page .conversion-label { color: #526071; }
body.digital-readiness-page .sc-btn-back,
body.digital-readiness-page .sc-btn-next {
  color: #526071;
  border-color: var(--border);
  background: #F8F4EC;
}
body.digital-readiness-page .sc-btn-back:hover {
  color: var(--ink-950);
  border-color: rgba(17,135,141,.46);
  background: rgba(17,135,141,.08);
}
body.digital-readiness-page .sc-btn-next.enabled {
  color: var(--ink-950);
  border-color: transparent;
  background: var(--women-grad);
}
body.digital-readiness-page .conversion-item,
body.digital-readiness-page .pdf-plan-item,
body.digital-readiness-page .pdf-fact {
  color: var(--ink-950);
  border-color: var(--border);
  background: #FFFDF8;
}
body.digital-readiness-page .conversion-value,
body.digital-readiness-page .result-card h3 { color: var(--ink-950); }
body.digital-readiness-page .tier-ready { color: #075E63; }
body.digital-readiness-page .tier-almost { color: #6B5200; }
body.digital-readiness-page .tier-building { color: #8A283D; }
body.digital-readiness-page .tier-early,
body.digital-readiness-page .sc-gap-label { color: #9D3028; }
body.digital-readiness-page .sc-name-label span,
body.digital-readiness-page #sc-gate-error { color: #9D3028 !important; }
body.digital-readiness-page .btn-pdf {
  color: var(--ink-950);
  border-color: var(--border);
  background: #FFFDF8;
}
body.digital-readiness-page .btn-pdf:hover,
body.digital-readiness-page .btn-pdf:focus-visible {
  color: var(--ink-950);
  border-color: rgba(17,135,141,.46);
  background: rgba(17,135,141,.09);
}
body.digital-readiness-page #sc-email-suggestion,
body.digital-readiness-page #sc-email-suggestion-btn { color: #0B747A !important; }
body.webinar-page .signup-flow b,
body.webinar-page .signup-closed-icon { color: #0B747A; }
body.kithms-women-page .price-was,
body.kithms-women-page .enrolment-commitment i,
body.kithms-women-page .apply-consent a { color: #0B747A; }

/* WIDB enrolment is a public workflow, so its form uses the same light paper
   treatment as the page instead of leaving dark panels beneath dark text. */
body.kithms-women-page .widb-enrolment-dialog { color: var(--ink-950); box-shadow: 0 26px 80px rgba(7,20,38,.25); }
body.kithms-women-page .widb-enrolment-dialog-shell { border-color: rgba(242,96,81,.28); background: #FFFDF8; }
body.kithms-women-page .widb-enrolment-dialog-head { border-color: var(--border); background: #F8F4EC; }
body.kithms-women-page .widb-enrolment-dialog-head h2,
body.kithms-women-page .widb-enrolment-dialog .tally-wrap h3,
body.kithms-women-page .widb-enrolment-dialog .apply-question { color: var(--ink-950); }
body.kithms-women-page .widb-enrolment-dialog-head p,
body.kithms-women-page .widb-enrolment-dialog .tally-wrap p,
body.kithms-women-page .widb-enrolment-dialog .apply-context,
body.kithms-women-page .widb-enrolment-dialog .apply-step-label,
body.kithms-women-page .widb-enrolment-dialog .apply-field-label { color: var(--muted); }
body.kithms-women-page .widb-enrolment-close { color: var(--ink-950); border-color: var(--border); background: #FFFDF8; }
body.kithms-women-page .widb-enrolment-close:hover,
body.kithms-women-page .widb-enrolment-close:focus-visible { border-color: rgba(17,135,141,.46); background: rgba(17,135,141,.08); }
body.kithms-women-page .widb-enrolment-dialog-body,
body.kithms-women-page .widb-enrolment-dialog .tally-wrap { background: #FFFDF8; }
body.kithms-women-page .widb-enrolment-dialog .apply-progress-track { background: #DCE2DF; }
body.kithms-women-page .widb-enrolment-dialog .apply-option,
body.kithms-women-page .widb-enrolment-dialog .apply-consent { color: var(--muted); border-color: var(--border); background: #F8F4EC; }
body.kithms-women-page .widb-enrolment-dialog .apply-option:hover,
body.kithms-women-page .widb-enrolment-dialog .apply-option.selected,
body.kithms-women-page .widb-enrolment-dialog .apply-consent:has(input:checked) { color: var(--ink-950); border-color: rgba(17,135,141,.42); background: rgba(17,135,141,.08); }
body.kithms-women-page .widb-enrolment-dialog .apply-btn-back,
body.kithms-women-page .widb-enrolment-dialog .apply-btn-next { color: var(--muted); border-color: var(--border); background: #F8F4EC; }
body.kithms-women-page .widb-enrolment-dialog .apply-btn-next.enabled { color: var(--ink-950); border-color: transparent; background: var(--women-grad); }
body.kithms-women-page .cohort-invite-card h3 { display: flex; align-items: center; justify-content: center; gap: 8px; text-align: center; }

/* Let the WIDB cards sit directly on the shared paper background. The section
   structure remains visible through spacing and quiet dividers, without a
   second white slab behind every group of cards. */
body.kithms-women-page .section {
  border: 0 !important;
  border-radius: 0;
  background: transparent !important;
  box-shadow: none;
}
body.kithms-women-page .section + .section { border-top: 1px solid var(--border) !important; }
body.kithms-women-page .section-head {
  padding: 0;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none;
}

/* Hero information cards sit over a photograph, so their supporting copy
   needs a firmer paper surface and darker slate than ordinary body text. */
body.kithms-women-page .hero-panel .stat-card {
  border-color: rgba(7,20,38,.18);
  background: rgba(255,253,248,.86);
  box-shadow: 0 12px 34px rgba(7,20,38,.10);
  backdrop-filter: blur(5px);
}
body.kithms-women-page .hero-panel .stat-card.featured {
  border-color: rgba(242,96,81,.48);
  background: rgba(255,248,243,.91);
}
body.kithms-women-page .hero-panel .stat-label,
body.kithms-women-page .hero-panel .stat-card [style*="color:var(--dim)"] {
  color: #334155 !important;
  font-weight: 650;
}
body.kithms-women-page .hero-panel .stat-card [style*="color:var(--cloud-50)"] { color: var(--ink-950) !important; }
body.kithms-women-page .hero-creds .cred-badge {
  color: #334155;
  border-color: rgba(242,96,81,.38);
  background: rgba(255,253,248,.76);
}

/* Insights filters retain readable ink when the active pill sits on paper. */
body.insights-page .insight-categories a:hover,
body.insights-page .insight-categories a.active { color: var(--ink-950); border-color: rgba(17,135,141,.48); background: rgba(17,135,141,.13); }
body.insights-page .insight-search { border-color: var(--border); background: #FFFDF8; }
body.insights-page .insight-search input { color: var(--ink-950); background: transparent; }
body.insights-page .insight-search button { color: #0B747A; background: #FFFDF8; }

@media (max-width: 980px) {
  .preview-ribbon { right: 0; bottom: 72px; padding: 8px 6px; border-radius: 10px 0 0 10px; writing-mode: vertical-rl; text-orientation: mixed; font-size: .66rem; letter-spacing: .03em; }
  body.events-page .hero { min-height: 100vh; align-content: center; padding: 64px 0 54px; gap: 12px; }
  body.events-page .hero h1 { font-size: clamp(2.2rem, 6vw, 3rem) !important; line-height: .99; }
  body.events-page .hero p { margin: 8px 0 0; max-width: 650px; font-size: 1.02rem; line-height: 1.58; }
  body.events-page .hero::before { top: -116px; bottom: -12px; background-position: 66% 20% !important; }
  body.events-page .hero::after { top: -76px; bottom: -10px; background: linear-gradient(180deg, rgba(7,20,38,.18) 0%, rgba(7,20,38,.06) 26%, rgba(7,20,38,.82) 100%), linear-gradient(90deg, rgba(7,20,38,.7) 0%, rgba(7,20,38,.3) 48%, rgba(7,20,38,.08) 78%) !important; }
  body.workshop-page.photo-hero-page .workshop-hero { min-height: 100vh; padding: calc(64px + var(--photo-hero-nav-overlap)) 0 54px !important; }
  body.workshop-page .workshop-hero h1 { font-size: clamp(2.2rem, 6vw, 3rem) !important; line-height: .99; }
  body.workshop-page .workshop-hero p { margin: 8px 0 0; max-width: 650px; font-size: 1.02rem; line-height: 1.58; }
  body.photo-hero-page .diagnostic-hero.has-hero-image { min-height: 100vh; }
  body.insights-page .insights-hero { min-height: 100vh; }
  body.events-page .events-layout { grid-template-columns: 1fr; }
  body.events-page .events-side { position: static; grid-row: auto; grid-template-columns: minmax(0, .75fr) minmax(280px, 1.25fr); }
  body.webinar-page .signup-hero::after { background: linear-gradient(180deg, rgba(246,241,232,.96), rgba(246,241,232,.82)); }
}

@media (max-width: 560px) {
  body.webinar-page .signup-nav { margin-top: 12px; }
  body.webinar-page .signup-hero { padding-top: 116px; }
}

@media (max-width: 700px) {
  body.events-page .events-section { padding: 48px 0 64px; }
  body.events-page .events-main { padding: 22px 18px; border-radius: 18px; }
  body.events-page .events-heading { align-items: flex-start; }
  body.events-page .events-filters select { flex-basis: 100%; width: 100%; }
  body.events-page .events-side { grid-template-columns: 1fr; }
  body.confirmation-page .confirm-nav { top: 8px; margin-top: 8px; }
  body.confirmation-page > .card,
  body.confirmation-page > main.card { margin-top: 32px; }
}

.insights-hero,
.workshop-hero {
  position: relative;
  isolation: isolate;
  overflow: hidden;
}
.insights-hero::before,
.workshop-hero::before,
.insights-hero::after,
.workshop-hero::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
}
.insights-hero::before {
  z-index: -2;
  background: url("/images/pexels-diva-plavalaguna-6149781.webp") center / cover no-repeat;
  transform: scaleX(-1);
  filter: saturate(.9) contrast(1.02);
}
.workshop-hero::before {
  z-index: -2;
  background: url("/images/events@2x.webp") center 46% / cover no-repeat;
}
.insights-hero::after,
.workshop-hero::after {
  z-index: -1;
  background: linear-gradient(90deg, rgba(246,241,232,.97) 0%, rgba(246,241,232,.76) 45%, rgba(246,241,232,.18) 78%, rgba(246,241,232,.06) 100%);
}
.insights-hero aside,
.workshop-price-panel { background: rgba(255,253,248,.84) !important; backdrop-filter: blur(5px); }

body:not(.admin-page) .insight-categories a {
  color: #526071;
  background: #FFFDF8;
  border-color: #CFC7B9;
}
body:not(.admin-page) .insight-categories a:hover,
body:not(.admin-page) .insight-categories a.active {
  color: #071426 !important;
  background: #D9EEEA !important;
  border-color: #11878D !important;
}
.diagnostic-kicker { display: inline-flex; align-items: center; gap: 9px; color: #11878D; font-size: .78rem; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }
.diagnostic-kicker::before { content: ""; width: 26px; height: 2px; background: linear-gradient(90deg, #F26051, #E34C83); }
.diagnostic-hero h1 { max-width: 14ch; margin: 18px 0; font-size: clamp(2.3rem, 5.5vw, 4.3rem); letter-spacing: -.045em; }
/* The homepage headline ("Turning Messy Data into Measurable Business
   Growth") is longer than this template's original copy ("Find the right
   next step."), so the default 14ch wrap forced it onto 4 tight lines with
   almost no breathing room. Widen the wrap and loosen the leading/margins
   for this page only -- other diagnostic-hero pages keep the tighter default. */
body.diagnostic-home .diagnostic-hero h1 { max-width: 21ch; margin: 20px 0 24px; line-height: 1.08; }
.diagnostic-hero-copy { max-width: 60ch; margin: 0 0 28px; font-size: clamp(1rem, 2vw, 1.17rem); }
.diagnostic-actions { display: flex; flex-wrap: wrap; gap: 12px; }
/* Standardize hero CTA button sizing site-wide to match the homepage
   (.diagnostic-actions): every hero's button row uses one of these
   class names, so give them all the same taller min-height instead of
   falling back to the smaller default .btn size used elsewhere on a page. */
.diagnostic-actions .btn,
.service-hero .actions .btn,
.hero-actions .btn,
.workshop-hero-actions .btn,
.not-found-actions .btn,
.lm-hero-actions .btn { min-height: 50px; }
.diagnostic-map { padding: 24px; border: 1px solid var(--border); border-radius: 24px; background: rgba(255, 253, 248, .88); box-shadow: var(--shadow); }
.diagnostic-map-step { display: grid; grid-template-columns: 42px 1fr; gap: 14px; align-items: center; padding: 14px 0; }
.diagnostic-map-step + .diagnostic-map-step { border-top: 1px solid var(--border); }
.diagnostic-map-step span { display: grid; place-items: center; width: 42px; height: 42px; border-radius: 13px; color: #071426; background: linear-gradient(135deg, rgba(17,135,141,.22), rgba(246,215,63,.52)); font-weight: 900; }
.diagnostic-map-step strong { display: block; font-family: "Bricolage Grotesque", Inter, sans-serif; font-size: 1.03rem; }
.diagnostic-map-step small { display: block; margin-top: 2px; color: var(--muted); }

.diagnostic-section { padding: 76px 0; }
.diagnostic-section.alt { position: relative; }
.diagnostic-section.alt::before { content: ""; position: absolute; inset: 0 50%; z-index: -1; width: 100vw; transform: translateX(-50%); background: rgba(236, 230, 218, .66); border-block: 1px solid rgba(7,20,38,.06); }
.diagnostic-section.dark { position: relative; color: #F8FAFC; }
.diagnostic-section.dark::before { content: ""; position: absolute; inset: 0 50%; z-index: -1; width: 100vw; transform: translateX(-50%); background: #071426; }
.diagnostic-section.dark h2,
.diagnostic-section.dark h3 { color: #F8FAFC; }
.diagnostic-section.dark p { color: rgba(226,232,240,.74); }
.diagnostic-head { display: flex; justify-content: space-between; align-items: end; gap: 30px; margin-bottom: 32px; }
.diagnostic-head > div { max-width: 720px; }
.diagnostic-head h2 { margin: 8px 0 10px; font-size: clamp(1.9rem, 3.4vw, 2.65rem); letter-spacing: -.03em; }
.diagnostic-head p { margin: 0; }
.diagnostic-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.diagnostic-grid.four { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.diagnostic-card { display: flex; flex-direction: column; min-height: 100%; padding: 24px; border: 1px solid var(--border); border-radius: 18px; background: #FFFDF8; box-shadow: 0 12px 34px rgba(7,20,38,.06); transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease; }
.diagnostic-card:hover { transform: translateY(-3px); border-color: rgba(17,135,141,.36); box-shadow: 0 18px 42px rgba(7,20,38,.10); }
.diagnostic-card-icon { display: grid; place-items: center; width: 48px; height: 48px; margin-bottom: 22px; border-radius: 14px; color: #071426; background: linear-gradient(135deg, rgba(242,96,81,.22), rgba(227,76,131,.22) 58%, rgba(246,215,63,.42)); }
.diagnostic-card h3 { margin: 0 0 9px; font-size: 1.3rem; }
.diagnostic-card p { margin: 0 0 20px; }
.diagnostic-card-link { display: inline-flex; align-items: center; gap: 8px; margin-top: auto; color: #11878D; font-weight: 850; }
.diagnostic-card-meta { display: flex; flex-wrap: wrap; gap: 7px; margin: -3px 0 14px; }
.diagnostic-card-meta span { padding: 5px 9px; border-radius: 999px; color: #C23B67; background: linear-gradient(135deg, rgba(242,96,81,.16), rgba(227,76,131,.16)); font-size: .72rem; font-weight: 800; }
.solution-family-card { overflow: hidden; }
.solution-card-media { aspect-ratio: 16 / 9; margin: -24px -24px 20px; overflow: hidden; border-bottom: 1px solid var(--border); background: #071426; }
.solution-card-media img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .35s ease; }
.solution-family-card:hover .solution-card-media img { transform: scale(1.025); }
.solution-family-card .diagnostic-card-icon { margin-bottom: 18px; }
.assessment-card { overflow: hidden; }
.assessment-card-media { aspect-ratio: 16 / 9; margin: -24px -24px 20px; overflow: hidden; border-bottom: 1px solid var(--border); background: #071426; }
.assessment-card-media img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .35s ease; }
.assessment-card:hover .assessment-card-media img { transform: scale(1.025); }
.assessment-card .diagnostic-card-icon { margin-bottom: 18px; }
.home-tool-card { overflow: hidden; }
.home-tool-card-media { aspect-ratio: 16 / 9; margin: -24px -24px 22px; overflow: hidden; border-bottom: 1px solid var(--border); background: #071426; }
.home-tool-card-media img { display: block; width: 100%; height: 100%; object-fit: cover; }
.home-women-card { display: grid; grid-template-columns: minmax(0,1.08fr) minmax(340px,.92fr); overflow: hidden; border: 1px solid var(--border); border-radius: 24px; background: #FFFDF8; box-shadow: 0 16px 44px rgba(7,20,38,.08); }
.home-women-copy { display: flex; flex-direction: column; align-items: flex-start; justify-content: center; padding: clamp(30px,5vw,58px); }
.home-women-copy h2 { margin: 10px 0 14px; font-size: clamp(2.2rem,4.5vw,3.6rem); letter-spacing: -.035em; }
.home-women-copy p { max-width: 62ch; margin: 0 0 24px; }
.home-women-media { min-height: 360px; background: #DDEDEA; }
.home-women-media img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center 42%; }
.diagnostic-event-card { overflow: hidden; }
.diagnostic-event-card-media {
  aspect-ratio: 16 / 9;
  margin: -24px -24px 22px;
  overflow: hidden;
  border-bottom: 1px solid var(--border);
  background: linear-gradient(135deg, rgba(17,135,141,.16), rgba(246,215,63,.22));
}
.diagnostic-event-card-media img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .24s ease; }
.diagnostic-event-card:hover .diagnostic-event-card-media img { transform: scale(1.025); }
.diagnostic-empty { grid-column: 1 / -1; padding: 26px; border: 1px dashed var(--border); border-radius: 16px; color: var(--muted); text-align: center; }
.diagnostic-path { display: grid; grid-template-columns: repeat(5, 1fr); gap: 10px; counter-reset: steps; }
.diagnostic-path article { position: relative; padding: 22px 16px; border-radius: 16px; background: #FFFDF8; border: 1px solid var(--border); }
.diagnostic-path article::before { counter-increment: steps; content: counter(steps, decimal-leading-zero); display: block; margin-bottom: 20px; color: #11878D; font-weight: 900; }
.diagnostic-path h3 { margin: 0 0 7px; font-size: 1.05rem; }
.diagnostic-path p { margin: 0; font-size: .88rem; }
.diagnostic-band { display: grid; grid-template-columns: 1.1fr .9fr; gap: 34px; align-items: center; padding: 38px; border-radius: 24px; color: #F8FAFC; background: #071426; }
.diagnostic-band h2 { margin: 0 0 12px; color: #F8FAFC !important; font-size: clamp(1.7rem, 3vw, 2.35rem); }
.diagnostic-band p { margin: 0; color: rgba(226,232,240,.74) !important; }
.diagnostic-band .diagnostic-actions { justify-content: flex-end; }
.diagnostic-subscribe { display: grid; grid-template-columns: 1.05fr .95fr; gap: 40px; align-items: start; margin: 0 0 60px; padding: 38px; border: 1px solid var(--border); border-radius: 24px; background: #FFFDF8; box-shadow: 0 12px 34px rgba(7,20,38,.06); }
.diagnostic-subscribe h2 { margin: 10px 0 12px; font-size: clamp(1.7rem, 3vw, 2.35rem); }
.diagnostic-subscribe p { margin: 0; }
.diagnostic-subscribe form { display: grid; gap: 12px; }
.diagnostic-subscribe label > span { display: block; margin-bottom: 5px; color: var(--ink-950); font-size: .78rem; font-weight: 850; }
.diagnostic-subscribe input:not([type="checkbox"]) { width: 100%; min-height: 46px; padding: 10px 12px; border: 1px solid var(--border); border-radius: 10px; }
.diagnostic-subscribe button[type="submit"] { display: inline-flex; align-items: center; justify-content: center; width: 100%; min-height: 48px; padding: 12px 18px; border: 0; border-radius: 12px; background: linear-gradient(110deg, #F26051, #E34C83 58%, #F6D73F); color: var(--ink-950); font: inherit; font-weight: 850; cursor: pointer; box-shadow: 0 10px 24px rgba(227, 76, 131, .18); transition: transform 180ms ease, box-shadow 180ms ease, filter 180ms ease; }
.diagnostic-subscribe button[type="submit"]:hover { transform: translateY(-2px); filter: saturate(1.08); box-shadow: 0 14px 30px rgba(227, 76, 131, .26); }
.diagnostic-subscribe button[type="submit"]:focus-visible { outline: 3px solid rgba(17, 135, 141, .32); outline-offset: 3px; }
.diagnostic-subscribe button[type="submit"]:disabled { opacity: .65; cursor: not-allowed; transform: none; }
.diagnostic-subscribe .diagnostic-consent { display: grid; grid-template-columns: 18px minmax(0, 1fr); align-items: flex-start; justify-content: start; gap: 10px; width: 100%; }
.diagnostic-subscribe .diagnostic-consent > span { color: var(--muted); font-weight: 500; line-height: 1.45; }
.diagnostic-subscribe .diagnostic-consent input { width: 18px !important; height: 18px; min-width: 18px; margin: 3px 0 0 !important; padding: 0; }
.diagnostic-subscribe .insight-form-status { min-height: 20px; font-size: .82rem; }
.site-insights-section { width: min(1160px, calc(100% - 32px)); margin: 76px auto; }
.pathway-hero { padding-bottom: 48px; }
.pathway-hero h1 { max-width: 16ch; }
.pathway-summary { max-width: 680px; }
.preview-ribbon { position: fixed; z-index: 1000; right: 14px; bottom: 14px; padding: 8px 12px; border-radius: 999px; color: #071426; background: #F6D73F; box-shadow: 0 8px 28px rgba(7,20,38,.18); font-size: .75rem; font-weight: 900; }

/* Service offer cards: centered icon-circle cards with a circular arrow CTA,
   used on /services for the DFY sprint / governance / bootcamp / retainer offers. */
.svc-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; }
.svc-grid.two { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.svc-grid.one { grid-template-columns: minmax(0, 1fr); max-width: 460px; }
.svc-card {
  display: flex; flex-direction: column; align-items: center; text-align: center; min-height: 100%;
  padding: 32px 26px 28px; border: 1px solid var(--border); border-radius: 20px;
  background: #FFFDF8; box-shadow: 0 12px 34px rgba(7,20,38,.06);
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.svc-card:hover { transform: translateY(-4px); box-shadow: 0 18px 42px rgba(7,20,38,.10); border-color: rgba(17,135,141,.32); }
.svc-card.featured { border-color: rgba(242,96,81,.34); background: linear-gradient(180deg, rgba(242,96,81,.06), #FFFDF8 44%); }
.svc-card-icon {
  display: grid; place-items: center; width: 62px; height: 62px; margin-bottom: 18px;
  border-radius: 50%; color: #071426; font-size: 1.25rem;
  background: linear-gradient(135deg, rgba(17,135,141,.22), rgba(246,215,63,.52));
}
.svc-card h3 { margin: 0 0 10px; font-size: 1.16rem; line-height: 1.25; }
.svc-card-overview { margin: 0 0 16px; color: var(--muted); font-size: .92rem; line-height: 1.6; }
.svc-card-includes { list-style: none; margin: 0 0 16px; padding: 0; display: grid; gap: 7px; width: 100%; text-align: left; }
.svc-card-includes li { display: flex; gap: 8px; color: var(--muted); font-size: .86rem; line-height: 1.45; }
.svc-card-includes li::before { content: ""; width: 6px; height: 6px; margin-top: 7px; border-radius: 99px; background: #11878D; flex: 0 0 auto; }
.svc-card-bestfor { margin: 0 0 20px; padding-top: 14px; border-top: 1px dashed var(--border); width: 100%; color: var(--dim); font-size: .8rem; font-style: italic; line-height: 1.5; }
.svc-card-price { margin: 2px 0 16px; font: 800 1.32rem "Bricolage Grotesque", sans-serif; color: #071426; }
.svc-card-price span { display: block; margin-top: 3px; font: 600 .72rem Inter, sans-serif; color: var(--dim); text-transform: none; letter-spacing: 0; }
.svc-card-excludes-label { display: block; width: 100%; margin: 2px 0 6px; font-size: .7rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; color: var(--dim); }
.svc-card-excludes { list-style: none; margin: 0 0 16px; padding: 0; display: grid; gap: 6px; width: 100%; text-align: left; }
.svc-card-excludes li { display: flex; gap: 8px; color: var(--dim); font-size: .82rem; line-height: 1.4; }
.svc-card-excludes li::before { content: "\2715"; flex: 0 0 auto; color: #c23b2f; font-weight: 800; font-size: .72rem; margin-top: 2px; }
.svc-card-cta { display: inline-flex; align-items: center; gap: 12px; margin-top: auto; color: #11878D; font-weight: 850; font-size: .92rem; text-decoration: none; }
.svc-card-cta-arrow {
  display: grid; place-items: center; flex: 0 0 auto; width: 38px; height: 38px; border-radius: 50%;
  border: 1px solid var(--border); background: #F8F4EC; color: #071426;
  transition: background .18s ease, color .18s ease, transform .18s ease, border-color .18s ease;
}
.svc-card:hover .svc-card-cta-arrow { background: linear-gradient(135deg, #11878D, #F6D73F); border-color: transparent; transform: translateX(2px); }

@media (max-width: 900px) {
  .svc-grid,
  .svc-grid.two { grid-template-columns: 1fr; }
  body:not(.admin-page) .footer-inner { grid-template-columns: 1fr 1fr; }
  /* body.photo-hero-page's h1/copy are white (desktop's dark navy
     overlay makes that readable) -- this mobile override was still
     the plain .diagnostic-hero cream gradient, putting white text on
     a light background. A light dark tint keeps the photo visible
     while restoring contrast for the white text. The 46% stop used to
     dip to .30 -- right where .diagnostic-hero-copy sits (44%-53% of
     hero height on a typical phone), making the paragraph the least
     legible part of the hero even though the h1/buttons around it
     were fine. Raised that stop to match its neighbours so the
     gradient no longer dips under the text. */
  body.photo-hero-page .diagnostic-hero.has-hero-image::after {
    background: linear-gradient(180deg, rgba(7,20,38,.42) 0%, rgba(7,20,38,.46) 46%, rgba(7,20,38,.55) 100%) !important;
  }
  .diagnostic-hero,
  .diagnostic-band,
  .diagnostic-subscribe { grid-template-columns: 1fr; }
  .diagnostic-grid,
  .diagnostic-grid.four { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .home-women-card { grid-template-columns: minmax(0,1fr) minmax(300px,.8fr); }
  .diagnostic-path { grid-template-columns: repeat(2, 1fr); }
  .diagnostic-band .diagnostic-actions { justify-content: flex-start; }
  body.photo-hero-page .diagnostic-hero.has-hero-image > div:first-child { max-width: none; }
}

@media (max-width: 640px) {
  body:not(.admin-page) .footer-inner { grid-template-columns: 1fr; }
  body:not(.admin-page) .footer-bottom { flex-direction: column; }
  body:not(.admin-page) .nav { gap: 10px; }
  body:not(.admin-page) .nav-cta { order: 3; width: 100%; min-height: 44px; }
  body:not(.admin-page) .nav-links { order: 4; }
  .diagnostic-shell { width: min(100% - 24px, 1160px); }
  .diagnostic-hero { padding-top: 62px; }
  .diagnostic-hero h1 { font-size: clamp(2.1rem, 10vw, 3.2rem); }
  .diagnostic-section { padding: 58px 0; }
  .diagnostic-head { display: block; }
  .diagnostic-head .btn { margin-top: 18px; }
  .diagnostic-grid,
  .diagnostic-grid.four,
  .diagnostic-path { grid-template-columns: 1fr; }
  .home-women-card { grid-template-columns: 1fr; }
  .home-women-media { min-height: 260px; }
  .diagnostic-map,
  .diagnostic-card,
  .diagnostic-band,
  .diagnostic-subscribe { border-radius: 16px; }
  .diagnostic-band,
  .diagnostic-subscribe { padding: 26px 20px; }
  .site-insights-section { width: min(100% - 24px, 1160px); margin-block: 58px; }
  .diagnostic-actions .btn,
  .service-hero .actions .btn,
  .hero-actions .btn,
  .workshop-hero-actions .btn { width: 100%; }
  .diagnostic-map-step { grid-template-columns: 40px minmax(0, 1fr); gap: 12px; }
  .diagnostic-map-step small { overflow-wrap: anywhere; }

  /* Shared mobile forms and preview chrome. */
  .diagnostic-subscribe { gap: 26px; }
  .diagnostic-subscribe h2 { margin-top: 8px; font-size: clamp(1.7rem, 8vw, 2.15rem); line-height: 1.08; }
  .diagnostic-subscribe form { gap: 14px; }
  .diagnostic-subscribe .diagnostic-consent { display: flex !important; align-items: flex-start; justify-content: flex-start; gap: 10px; }
  .diagnostic-subscribe .diagnostic-consent input { flex: 0 0 18px; }
  .diagnostic-subscribe .diagnostic-consent > span { flex: 1 1 auto; min-width: 0; margin: 0; }
  /* Full-bleed photo hero on phones -- fills the first screen like the
     homepage hero, rather than ending mid-screen with a bare gap before
     the next section. Content stays top-anchored via padding (not
     vertically centered) so it doesn't drift close to the floating nav. */
  body.events-page .hero { min-height: 100vh; align-content: center; padding: 58px 0 48px; gap: 12px; }
  body.events-page .hero h1 { font-size: clamp(2rem, 8vw, 2.7rem) !important; line-height: .98; }
  body.events-page .hero p { margin: 8px 0 0; font-size: 1rem; line-height: 1.58; }
  body.events-page .hero::before { top: -116px; bottom: -12px; background-position: 66% 20% !important; }
  body.events-page .hero::after { top: -76px; bottom: -10px; background: linear-gradient(180deg, rgba(7,20,38,.18) 0%, rgba(7,20,38,.06) 26%, rgba(7,20,38,.82) 100%), linear-gradient(90deg, rgba(7,20,38,.7) 0%, rgba(7,20,38,.3) 48%, rgba(7,20,38,.08) 78%) !important; }
  body.workshop-page.photo-hero-page .workshop-hero { min-height: 100vh; padding: calc(58px + var(--photo-hero-nav-overlap)) 0 48px !important; }
  body.workshop-page .workshop-hero h1 { font-size: clamp(2rem, 8vw, 2.7rem) !important; line-height: .98; }
  body.workshop-page .workshop-hero p { margin: 8px 0 0; font-size: 1rem; line-height: 1.58; }
  body.photo-hero-page .diagnostic-hero.has-hero-image { min-height: 100vh; }
  body.insights-page .insights-hero { min-height: 100vh; }
  body.events-page .events-section { padding: 42px 0 60px; }
  body.events-page .events-main { padding: 22px 18px; border-radius: 18px; }
  body.events-page .events-heading { align-items: flex-start; }
  body.events-page .events-heading h2 { font-size: 1.9rem; }
  body.events-page .events-filters select { width: 100%; min-width: 0; flex-basis: 100%; }
  body.events-page .events-side { grid-template-columns: 1fr; }

  /* Insights browsing is compact enough to scan before the first card. */
  body.insights-page .insight-browser { padding: 56px 0; }
  body.insights-page .insight-browser-head { gap: 22px; margin-bottom: 24px; }
  body.insights-page .insight-browser-head h2 { font-size: clamp(1.9rem, 9vw, 2.4rem); line-height: 1.05; }
  body.insights-page .insight-categories { margin-bottom: 26px; }
  body.insights-page .insight-empty { padding: 34px 20px; }
  body.insights-page .insight-empty h2 { font-size: 1.65rem; line-height: 1.12; }

  /* WIDB sections should flow on one paper background instead of appearing as
     white blocks with bands beginning after large areas of empty padding. */
  body.kithms-women-page main.shell { width: min(100% - 24px, 1160px); }
  body.kithms-women-page .section { padding: 50px 0; border: 0 !important; border-radius: 0; background: transparent !important; box-shadow: none; }
  body.kithms-women-page .section + .section { border-top: 1px solid var(--border) !important; }
  body.kithms-women-page .section-head { margin-bottom: 28px; padding: 0; border: 0 !important; background: transparent !important; box-shadow: none; }
  body.kithms-women-page .section-head h2 { font-size: clamp(1.9rem, 9vw, 2.4rem); line-height: 1.05; }
  body.kithms-women-page .section-head p { font-size: 1rem; line-height: 1.62; }
  body.kithms-women-page .glass-card,
  body.kithms-women-page .detail-card { padding: 24px 20px; }
  body.kithms-women-page .cohort-invite-card h3 { line-height: 1.22; }
  body.kithms-women-page .tt-row { grid-template-columns: 1fr; }
  body.kithms-women-page .tt-day { padding: 12px 16px; border-right: 0; border-bottom: 1px solid var(--border); }
  body.kithms-women-page .tt-content { padding: 16px; }
  body.kithms-women-page .widb-enrolment-dialog-head { gap: 12px; }
  body.kithms-women-page .widb-enrolment-dialog-head h2 { line-height: 1.12; }
}
