/*
  omigrene.sk visual interface
  Site-wide light medical UI layer for the static portal pages.
*/
:root {
  color-scheme: light;
  --omi-max: 1120px;
  --omi-paper: #f8fbfa;
  --omi-warm: #f3f0ea;
  --omi-card: #ffffff;
  --omi-ink: #0f2a37;
  --omi-ink-soft: #314f5b;
  --omi-muted: #6f8289;
  --omi-line: #dfe9e8;
  --omi-line-strong: #c9d8d7;
  --omi-teal: #08757d;
  --omi-teal-2: #0d95a0;
  --omi-teal-soft: #e4f4f4;
  --omi-aqua: #b8e6e9;
  --omi-serif: Georgia, "Times New Roman", serif;
  --omi-sans: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --omi-shadow: 0 18px 55px rgba(23, 54, 67, .10);
  --omi-shadow-soft: 0 10px 30px rgba(23, 54, 67, .07);
  --omi-shadow-card: 0 18px 55px rgba(12, 42, 54, .075);
}

html {
  background: var(--omi-paper) !important;
}

body {
  min-height: 100vh !important;
  color: var(--omi-ink) !important;
  background:
    radial-gradient(circle at 88% 0%, rgba(184, 230, 233, .44), transparent 28rem),
    linear-gradient(180deg, #fff 0%, var(--omi-paper) 44%, var(--omi-warm) 100%) !important;
  font-family: var(--omi-sans) !important;
  line-height: 1.65 !important;
  text-rendering: optimizeLegibility !important;
}

body::after,
body::before {
  display: none !important;
}

::selection {
  color: #fff !important;
  background: var(--omi-teal) !important;
}

a {
  color: var(--omi-teal) !important;
  text-decoration-thickness: 1px !important;
  text-underline-offset: 4px !important;
}

img,
svg {
  max-width: 100%;
}

nav#nav {
  position: sticky !important;
  top: 0 !important;
  z-index: 60 !important;
  min-height: 74px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 24px !important;
  padding: 13px max(17px, calc((100vw - 1120px) / 2)) !important;
  color: var(--omi-ink) !important;
  background: rgba(255, 255, 255, .9) !important;
  border-bottom: 1px solid rgba(201, 216, 215, .82) !important;
  backdrop-filter: blur(18px) saturate(140%) !important;
  box-shadow: none !important;
}

nav#nav .logo {
  display: inline-flex !important;
  align-items: center !important;
  gap: 12px !important;
  color: var(--omi-ink) !important;
  font-family: var(--omi-serif) !important;
  font-size: clamp(24px, 4vw, 32px) !important;
  font-weight: 500 !important;
  line-height: 1 !important;
  letter-spacing: -.045em !important;
  text-decoration: none !important;
}

nav#nav .logo .mk {
  width: 42px !important;
  height: 42px !important;
  padding: 7px !important;
  border: 2px solid var(--omi-teal) !important;
  border-radius: 50% !important;
  background: #fff !important;
}

nav#nav .logo .mk path,
nav#nav .logo .mk circle {
  stroke: var(--omi-teal) !important;
}

nav#nav .logo .mk circle {
  fill: var(--omi-teal) !important;
}

nav#nav .logo em {
  color: var(--omi-ink) !important;
  font-style: normal !important;
}

nav#nav .logo .tld {
  color: var(--omi-teal) !important;
  font-family: var(--omi-serif) !important;
  font-size: .72em !important;
  letter-spacing: -.02em !important;
}

nav#nav .navlinks {
  margin-left: auto !important;
  display: flex !important;
  align-items: center !important;
  gap: 19px !important;
}

nav#nav .navlinks a {
  color: var(--omi-ink-soft) !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  text-decoration: none !important;
  border-bottom: 2px solid transparent !important;
  transition: color .2s, border-color .2s, background .2s, box-shadow .2s !important;
}

nav#nav .navlinks a:hover,
nav#nav .navlinks a.act {
  color: var(--omi-teal) !important;
  border-color: var(--omi-aqua) !important;
}

nav#nav .navlinks .tool {
  min-height: 40px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 15px !important;
  color: var(--omi-ink) !important;
  background: #fff !important;
  border: 1px solid var(--omi-line-strong) !important;
  border-radius: 999px !important;
  box-shadow: var(--omi-shadow-soft) !important;
  font-family: var(--omi-sans) !important;
}

nav#nav .theme-tog {
  display: none !important;
}

nav#nav .burger {
  width: 44px !important;
  height: 44px !important;
  margin-left: auto !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 0 !important;
  border: 0 !important;
  border-radius: 12px !important;
  background: transparent !important;
}

nav#nav .burger span {
  width: 25px !important;
  height: 2px !important;
  margin: 3px 0 !important;
  background: var(--omi-ink) !important;
}

.ph {
  position: relative !important;
  max-width: 1120px !important;
  margin: 0 auto !important;
  padding: clamp(58px, 7vw, 88px) 17px clamp(34px, 5vw, 58px) !important;
}

.ph::before {
  content: "" !important;
  position: absolute !important;
  inset: 34px 17px auto auto !important;
  width: min(360px, 38vw) !important;
  aspect-ratio: 1 !important;
  z-index: -1 !important;
  border-radius: 42% 58% 46% 54% !important;
  background: radial-gradient(circle at 46% 36%, rgba(184, 230, 233, .78), rgba(239, 247, 247, .16) 62%, transparent 75%) !important;
}

.crumb {
  margin-bottom: 26px !important;
  color: var(--omi-muted) !important;
  font-family: var(--omi-sans) !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  letter-spacing: 0 !important;
}

.crumb a {
  color: var(--omi-teal) !important;
}

.ph .eyebrow,
.related .tag,
.appstrip .tag,
.kicker {
  color: var(--omi-teal) !important;
  font-family: var(--omi-sans) !important;
  font-size: 12px !important;
  font-weight: 850 !important;
  letter-spacing: .13em !important;
  text-transform: uppercase !important;
}

.ph .eyebrow::before,
.related .tag::before {
  background: var(--omi-teal) !important;
}

.ph h1,
.article h2,
.article h3,
.rel-card h3,
.appstrip h3,
.foot-brand .logo,
.sources h2 {
  color: var(--omi-ink) !important;
  font-family: var(--omi-serif) !important;
}

.ph h1 {
  max-width: 820px !important;
  margin-bottom: 22px !important;
  font-size: clamp(46px, 7.5vw, 86px) !important;
  font-weight: 500 !important;
  line-height: .94 !important;
  letter-spacing: -.06em !important;
}

.ph h1 .em,
.article h2 .em,
.appstrip h3 .em {
  color: var(--omi-teal) !important;
  font-style: normal !important;
}

.ph .standfirst {
  max-width: 720px !important;
  color: var(--omi-ink-soft) !important;
  font-family: var(--omi-sans) !important;
  font-size: clamp(18px, 2vw, 22px) !important;
  line-height: 1.68 !important;
}

.ph .meta {
  max-width: 830px !important;
  margin-top: 28px !important;
  padding-top: 20px !important;
  color: var(--omi-muted) !important;
  border-top: 1px solid var(--omi-line) !important;
  font-family: var(--omi-sans) !important;
  font-size: 13px !important;
  letter-spacing: 0 !important;
}

.ph .meta b {
  color: var(--omi-ink) !important;
}

.toc,
.article,
.feedback,
.sources,
.related {
  width: min(900px, calc(100% - 34px)) !important;
  max-width: none !important;
  margin-inline: auto !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

.toc-box,
.callout,
.factcell,
.evtable,
.feedback-box,
.source-item,
.rel-card,
.sources-box,
.article figure,
.migraine-prevalence,
.appstrip-in,
.foot-grid,
.disc {
  color: var(--omi-ink) !important;
  background: rgba(255, 255, 255, .84) !important;
  border: 1px solid var(--omi-line) !important;
  box-shadow: 0 10px 25px rgba(23, 54, 67, .045) !important;
}

.toc-box {
  padding: 24px !important;
  border-radius: 18px !important;
}

.toc-box h2,
.sources h2,
.foot-col h4,
.tbl-cap,
.chart-t {
  color: var(--omi-teal) !important;
  font-family: var(--omi-sans) !important;
  font-size: 12px !important;
  font-weight: 850 !important;
  letter-spacing: .13em !important;
}

.toc-list a {
  color: var(--omi-ink-soft) !important;
  font-size: 15px !important;
  font-weight: 650 !important;
}

.toc-list .n {
  color: var(--omi-teal) !important;
}

.article {
  padding-top: clamp(48px, 6vw, 76px) !important;
  padding-bottom: clamp(42px, 6vw, 70px) !important;
}

.article section {
  margin-bottom: clamp(44px, 6vw, 74px) !important;
}

.article h2 {
  max-width: 760px !important;
  margin-bottom: 22px !important;
  padding-top: 0 !important;
  font-size: clamp(31px, 5vw, 48px) !important;
  font-weight: 500 !important;
  line-height: 1.02 !important;
  letter-spacing: -.045em !important;
}

.article h2::before {
  display: none !important;
}

.article h3 {
  margin: 32px 0 13px !important;
  color: var(--omi-ink) !important;
  font-size: clamp(22px, 3vw, 30px) !important;
  font-weight: 500 !important;
  line-height: 1.08 !important;
  letter-spacing: -.03em !important;
}

.article p,
.article li {
  color: var(--omi-ink-soft) !important;
  font-size: 17px !important;
  line-height: 1.78 !important;
}

.article p b,
.article li b,
.article strong,
.factcell .n,
.rel-card h3 {
  color: var(--omi-ink) !important;
}

.article .term,
sup.cite {
  color: var(--omi-teal) !important;
}

.article ul li::before {
  background: var(--omi-teal) !important;
}

.callout {
  padding: 21px 23px !important;
  border-left: 4px solid var(--omi-teal) !important;
  border-radius: 16px !important;
}

.callout .h {
  color: var(--omi-teal) !important;
  font-family: var(--omi-sans) !important;
  font-weight: 850 !important;
}

.callout.warn,
.callout.key {
  border-left-color: var(--omi-teal) !important;
}

.callout.warn .h,
.callout.key .h {
  color: var(--omi-teal) !important;
}

.factgrid {
  gap: 14px !important;
}

.factcell {
  padding: 22px !important;
  border-radius: 16px !important;
}

.factcell .n {
  font-family: var(--omi-serif) !important;
  font-weight: 500 !important;
  letter-spacing: -.045em !important;
}

.factcell .n em,
.factcell .l {
  color: var(--omi-ink-soft) !important;
}

.factcell .s {
  color: var(--omi-muted) !important;
}

.evtable {
  border-radius: 16px !important;
  overflow: hidden !important;
}

.evrow {
  border-top: 1px solid var(--omi-line) !important;
}

.evrow.head {
  background: var(--omi-teal-soft) !important;
}

.evrow.head > div {
  color: var(--omi-teal) !important;
  font-family: var(--omi-sans) !important;
  font-weight: 850 !important;
}

.evrow > div {
  color: var(--omi-ink-soft) !important;
}

.evrow .nm {
  color: var(--omi-ink) !important;
}

.ev-badge,
.pill {
  border-radius: 999px !important;
  color: var(--omi-teal) !important;
  background: var(--omi-teal-soft) !important;
}

.article figure,
.migraine-prevalence {
  margin: 34px 0 !important;
  padding: 14px !important;
  border-radius: 20px !important;
  overflow: hidden !important;
}

.article figure svg,
.migraine-prevalence svg {
  display: block !important;
  width: 100% !important;
  height: auto !important;
}

.sources-box {
  padding: 26px !important;
  border-radius: 18px !important;
}

.sources li {
  color: var(--omi-muted) !important;
}

.sources li::before {
  color: var(--omi-teal) !important;
  border-color: var(--omi-line-strong) !important;
  background: #fff !important;
}

.sources li b {
  color: var(--omi-ink) !important;
}

.feedback-box {
  padding: 20px 22px !important;
  border-radius: 18px !important;
}

.feedback-box p {
  color: var(--omi-ink-soft) !important;
}

.fb-btns button {
  color: var(--omi-teal) !important;
  border-color: var(--omi-line-strong) !important;
  background: #fff !important;
  border-radius: 999px !important;
}

.related {
  padding-top: clamp(44px, 6vw, 72px) !important;
  padding-bottom: clamp(44px, 6vw, 72px) !important;
}

.rel-grid {
  gap: 14px !important;
}

.rel-card {
  min-height: 168px !important;
  padding: 22px !important;
  border-radius: 16px !important;
  text-decoration: none !important;
}

.rel-card:hover {
  transform: translateY(-3px) !important;
  border-color: var(--omi-aqua) !important;
  box-shadow: var(--omi-shadow-soft) !important;
}

.rel-card .k,
.rel-card p {
  color: var(--omi-muted) !important;
}

.appstrip {
  background: transparent !important;
  border-top: 1px solid var(--omi-line) !important;
}

.appstrip-in {
  width: min(1120px, calc(100% - 34px)) !important;
  margin: 0 auto !important;
  padding: 30px !important;
  border-radius: 22px !important;
  background:
    radial-gradient(circle at 94% 20%, rgba(184, 230, 233, .7), transparent 20rem),
    #fff !important;
}

.appstrip h3 {
  font-size: clamp(31px, 4vw, 46px) !important;
  font-weight: 500 !important;
  line-height: 1 !important;
  letter-spacing: -.045em !important;
}

.appstrip p {
  color: var(--omi-ink-soft) !important;
}

.btn,
.btn-line {
  min-height: 46px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 18px !important;
  color: #fff !important;
  background: var(--omi-teal) !important;
  border: 1px solid var(--omi-teal) !important;
  border-radius: 999px !important;
  box-shadow: 0 16px 34px rgba(8, 117, 125, .18) !important;
  font-family: var(--omi-sans) !important;
  font-weight: 800 !important;
  text-decoration: none !important;
}

footer {
  padding: 42px 17px 40px !important;
  color: var(--omi-muted) !important;
  background: rgba(255, 255, 255, .62) !important;
  border-top: 1px solid var(--omi-line) !important;
}

.foot-grid {
  width: min(1120px, 100%) !important;
  margin: 0 auto !important;
  padding: 28px !important;
  border-radius: 22px !important;
  background: rgba(255, 255, 255, .74) !important;
}

.foot-brand p,
.foot-col a,
.disc,
.foot-bot {
  color: var(--omi-muted) !important;
}

.foot-col a {
  text-decoration: none !important;
}

.foot-col a:hover {
  color: var(--omi-teal) !important;
}

.disc {
  width: min(1120px, 100%) !important;
  padding: 20px !important;
  border-radius: 18px !important;
}

.foot-bot {
  width: min(1120px, 100%) !important;
}

table,
.tbl-wrap,
.method,
.chart,
.epi-stats,
.phase,
.cgrp,
.cgrp-eff .e {
  color: var(--omi-ink) !important;
  background: rgba(255, 255, 255, .84) !important;
  border-color: var(--omi-line) !important;
}

th {
  color: var(--omi-teal) !important;
}

td {
  color: var(--omi-ink-soft) !important;
}

@media (max-width: 920px) {
  nav#nav {
    padding-inline: 17px !important;
  }

  nav#nav .navlinks {
    position: absolute !important;
    inset: 100% 0 auto !important;
    display: none !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 4px !important;
    padding: 14px 17px 20px !important;
    background: rgba(255, 255, 255, .98) !important;
    border-bottom: 1px solid var(--omi-line) !important;
  }

  nav#nav .navlinks.open,
  nav#nav .navlinks[style*="display"] {
    display: flex !important;
  }

  nav#nav .navlinks a {
    padding: 12px 0 !important;
  }

  nav#nav .navlinks .tool {
    width: 100% !important;
    margin-top: 8px !important;
  }

  nav#nav .burger {
    display: flex !important;
    flex-direction: column !important;
  }

  .toc-list,
  .factgrid,
  .rel-grid,
  .foot-grid {
    grid-template-columns: 1fr !important;
  }

  .evrow {
    grid-template-columns: 1fr !important;
  }

  .evrow.head {
    display: none !important;
  }
}

/* Premium interaction and reading layer */
nav#nav {
  padding-inline: max(17px, calc((100vw - var(--omi-max)) / 2)) !important;
  transition: box-shadow .24s ease, background .24s ease, min-height .24s ease !important;
}

body.omi-scrolled nav#nav {
  background: rgba(255, 255, 255, .96) !important;
  box-shadow: 0 10px 30px rgba(23, 54, 67, .06) !important;
}

nav#nav .logo .word {
  color: var(--omi-ink) !important;
  font-style: normal !important;
  text-transform: none !important;
}

nav#nav .navlinks .tool:hover {
  color: #fff !important;
  background: var(--omi-teal) !important;
  border-color: var(--omi-teal) !important;
}

.toc-box,
.callout,
.appstrip-in,
.foot-grid,
.disc {
  backdrop-filter: blur(14px) saturate(130%) !important;
}

.article > section {
  position: relative !important;
}

.article > section::before {
  content: "" !important;
  position: absolute !important;
  left: -38px !important;
  top: 10px !important;
  width: 9px !important;
  height: 9px !important;
  border-radius: 50% !important;
  background: var(--omi-teal) !important;
  box-shadow: 0 0 0 8px rgba(8, 117, 125, .08) !important;
}

.factcell,
.rel-card,
.article-card,
.topic-card,
.source-item {
  transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease !important;
}

.factcell:hover,
.rel-card:hover,
.article-card:hover,
.topic-card:hover,
.source-item:hover {
  transform: translateY(-3px) !important;
  border-color: var(--omi-aqua) !important;
  box-shadow: var(--omi-shadow-card) !important;
}

.appstrip-in {
  width: min(var(--omi-max), calc(100% - 34px)) !important;
  box-shadow: 0 24px 70px rgba(8, 117, 125, .09) !important;
}

.btn,
.btn-line {
  transition: transform .2s ease, box-shadow .2s ease, background .2s ease !important;
}

.btn:hover,
.btn-line:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 18px 42px rgba(8, 117, 125, .25) !important;
}

.btn-primary {
  color: #fff !important;
  background: var(--omi-teal) !important;
  border-color: var(--omi-teal) !important;
}

.btn-secondary {
  color: var(--omi-ink) !important;
  background: #fff !important;
  border: 1px solid var(--omi-line-strong) !important;
  box-shadow: var(--omi-shadow-soft) !important;
}

.btn-secondary:hover {
  color: var(--omi-teal) !important;
  background: #fff !important;
  border-color: var(--omi-aqua) !important;
  box-shadow: var(--omi-shadow-card) !important;
}

.omi-progress {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  z-index: 100 !important;
  height: 3px !important;
  background: transparent !important;
  pointer-events: none !important;
}

.omi-progress span {
  display: block !important;
  width: 0 !important;
  height: 100% !important;
  background: linear-gradient(90deg, var(--omi-teal), #39c6cf) !important;
  box-shadow: 0 0 18px rgba(8, 117, 125, .35) !important;
}

.omi-rail {
  position: fixed !important;
  top: 112px !important;
  right: max(18px, calc((100vw - 1280px) / 2)) !important;
  z-index: 8 !important;
  width: 220px !important;
  max-height: calc(100vh - 145px) !important;
  overflow: auto !important;
  padding: 16px !important;
  border: 1px solid var(--omi-line) !important;
  border-radius: 18px !important;
  background: rgba(255, 255, 255, .82) !important;
  box-shadow: 0 18px 48px rgba(23, 54, 67, .08) !important;
  backdrop-filter: blur(18px) saturate(145%) !important;
}

.omi-rail-title {
  margin: 0 0 10px !important;
  color: var(--omi-teal) !important;
  font-size: 11px !important;
  font-weight: 850 !important;
  letter-spacing: .14em !important;
  text-transform: uppercase !important;
}

.omi-rail a {
  display: block !important;
  padding: 8px 0 8px 10px !important;
  color: var(--omi-muted) !important;
  border-left: 2px solid transparent !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  line-height: 1.28 !important;
  text-decoration: none !important;
}

.omi-rail a.is-active,
.omi-rail a:hover {
  color: var(--omi-teal) !important;
  border-left-color: var(--omi-teal) !important;
}

.omi-backtop {
  position: fixed !important;
  right: 20px !important;
  bottom: 20px !important;
  z-index: 55 !important;
  width: 44px !important;
  height: 44px !important;
  display: grid !important;
  place-items: center !important;
  color: #fff !important;
  background: var(--omi-teal) !important;
  border: 0 !important;
  border-radius: 50% !important;
  box-shadow: 0 16px 38px rgba(8, 117, 125, .25) !important;
  opacity: 0 !important;
  pointer-events: none !important;
  transform: translateY(8px) !important;
  transition: opacity .22s ease, transform .22s ease !important;
  cursor: pointer !important;
}

body.omi-scrolled .omi-backtop {
  opacity: 1 !important;
  pointer-events: auto !important;
  transform: none !important;
}

.omi-skip {
  position: fixed !important;
  top: 12px !important;
  left: 12px !important;
  z-index: 120 !important;
  padding: 10px 14px !important;
  color: #fff !important;
  background: var(--omi-teal) !important;
  border-radius: 999px !important;
  transform: translateY(-80px) !important;
}

.omi-skip:focus {
  transform: none !important;
}

@media (max-width: 1320px) {
  .omi-rail {
    display: none !important;
  }
}

@media (max-width: 920px) {
  .article > section::before {
    display: none !important;
  }
}

/* Original migraine-themed visual signature */
.hero,
.ph,
.section,
.quick-topics,
.article {
  isolation: isolate !important;
}

.hero {
  background:
    radial-gradient(circle at 82% 14%, rgba(58, 198, 207, .16), transparent 28rem),
    linear-gradient(180deg, rgba(230, 247, 248, .82), rgba(255, 255, 255, .72) 58%, rgba(248, 251, 250, .9)) !important;
}

.hero::before,
.ph::after {
  content: "" !important;
  position: absolute !important;
  z-index: -1 !important;
  pointer-events: none !important;
  opacity: .52 !important;
  background-image: url("data:image/svg+xml,%3Csvg width='820' height='520' viewBox='0 0 820 520' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='%2308757d' stroke-width='1.2' stroke-linecap='round' opacity='.24'%3E%3Cpath d='M24 346 C118 278 208 292 304 230 S492 122 604 172 734 268 800 212'/%3E%3Cpath d='M70 214 C174 138 262 174 340 126 S500 48 622 94 724 150 792 118' opacity='.6'/%3E%3Cpath d='M88 412 C168 362 248 372 338 320 S502 248 650 300' opacity='.5'/%3E%3C/g%3E%3Cg fill='%2308757d' opacity='.28'%3E%3Ccircle cx='70' cy='214' r='5'/%3E%3Ccircle cx='168' cy='163' r='3.5'/%3E%3Ccircle cx='304' cy='230' r='4.5'/%3E%3Ccircle cx='438' cy='154' r='3.5'/%3E%3Ccircle cx='604' cy='172' r='5'/%3E%3Ccircle cx='720' cy='252' r='3.5'/%3E%3Ccircle cx='168' cy='362' r='3.5'/%3E%3Ccircle cx='338' cy='320' r='4.5'/%3E%3Ccircle cx='650' cy='300' r='3.5'/%3E%3C/g%3E%3C/svg%3E") !important;
  background-size: contain !important;
  background-repeat: no-repeat !important;
}

.hero::before {
  inset: 84px -90px auto auto !important;
  width: min(760px, 70vw) !important;
  height: 460px !important;
  transform: rotate(-5deg) !important;
}

.ph::after {
  inset: 70px -20px auto auto !important;
  width: min(700px, 58vw) !important;
  height: 430px !important;
  transform: rotate(-8deg) !important;
}

.portrait-card {
  position: relative !important;
}

.portrait-card::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 2 !important;
  pointer-events: none !important;
  border: 0 !important;
  border-radius: 0 !important;
  background:
    radial-gradient(circle at 72% 22%, rgba(58, 198, 207, .18), transparent 10rem),
    linear-gradient(120deg, transparent 0 46%, rgba(255,255,255,.28) 54%, transparent 64%) !important;
  mix-blend-mode: screen !important;
}

.home-page .hero {
  background:
    radial-gradient(ellipse 48% 74% at 82% 36%, rgba(209, 244, 246, .82), rgba(235, 249, 249, .38) 52%, transparent 74%),
    radial-gradient(ellipse 42% 52% at 95% 78%, rgba(10, 131, 139, .10), transparent 68%),
    linear-gradient(90deg, rgba(248,251,250,.96) 0%, rgba(239,249,249,.92) 54%, rgba(229,248,248,.92) 100%) !important;
}

.home-page .hero-grid {
  position: relative !important;
  z-index: 2 !important;
}

.home-page .hero-copy {
  position: relative !important;
  z-index: 2 !important;
}

.home-page .hero-art {
  display: none !important;
}

.home-page .hero::after {
  content: "" !important;
  position: absolute !important;
  inset: -8% 0 -7% auto !important;
  z-index: 1 !important;
  width: min(790px, 62vw) !important;
  pointer-events: none !important;
  background:
    url("hero-neural-profile-cutout.png") right center / auto 118% no-repeat !important;
  opacity: 1 !important;
  mix-blend-mode: normal !important;
  filter: contrast(1.06) saturate(1.04) brightness(.99) !important;
  -webkit-mask-image:
    linear-gradient(90deg, transparent 0%, rgba(0,0,0,.08) 13%, rgba(0,0,0,.78) 34%, #000 58%, #000 100%),
    linear-gradient(180deg, transparent 0%, #000 7%, #000 86%, transparent 100%) !important;
  mask-image:
    linear-gradient(90deg, transparent 0%, rgba(0,0,0,.08) 13%, rgba(0,0,0,.78) 34%, #000 58%, #000 100%),
    linear-gradient(180deg, transparent 0%, #000 7%, #000 86%, transparent 100%) !important;
  -webkit-mask-composite: source-in !important;
  mask-composite: intersect !important;
}

.home-page .portrait-card {
  width: min(760px, 100%) !important;
  background: transparent !important;
  box-shadow: none !important;
  border-radius: 0 !important;
}

.brand-mark,
nav#nav .logo .mk {
  box-shadow:
    inset 0 0 0 1px rgba(255, 255, 255, .9),
    0 10px 26px rgba(8, 117, 125, .12) !important;
}

.hero h1,
.ph h1,
.section h2 {
  text-wrap: balance !important;
}

.lede,
.standfirst,
.section-lede {
  text-wrap: pretty !important;
}

.trust-strip {
  position: relative !important;
  z-index: 3 !important;
  background:
    linear-gradient(90deg, transparent, rgba(8, 117, 125, .045), transparent),
    rgba(255, 255, 255, .88) !important;
  backdrop-filter: blur(10px) saturate(116%) !important;
}

.stat {
  position: relative !important;
  overflow: hidden !important;
}

.stat::after {
  content: "" !important;
  position: absolute !important;
  left: 18% !important;
  right: 18% !important;
  bottom: 0 !important;
  height: 3px !important;
  border-radius: 999px !important;
  background: linear-gradient(90deg, transparent, rgba(8, 117, 125, .45), transparent) !important;
  opacity: .65 !important;
}

.topic-card,
.article-card,
.rel-card,
.factcell,
.source-item {
  position: relative !important;
  overflow: hidden !important;
}

.topic-card::before,
.article-card::before,
.rel-card::before,
.factcell::before,
.source-item::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 auto 0 0 !important;
  width: 4px !important;
  background: linear-gradient(180deg, rgba(8, 117, 125, .85), rgba(58, 198, 207, .24)) !important;
  opacity: 0 !important;
  transition: opacity .22s ease !important;
}

.topic-card:hover::before,
.article-card:hover::before,
.rel-card:hover::before,
.factcell:hover::before,
.source-item:hover::before {
  opacity: 1 !important;
}

.topic-icon,
.stat-icon {
  filter: drop-shadow(0 8px 14px rgba(8, 117, 125, .12)) !important;
}

.article h2::after {
  content: "" !important;
  display: block !important;
  width: min(220px, 55vw) !important;
  height: 10px !important;
  margin-top: 14px !important;
  background:
    radial-gradient(circle at 10px 5px, rgba(8, 117, 125, .55) 0 3px, transparent 3.5px),
    linear-gradient(90deg, rgba(8, 117, 125, .38), rgba(58, 198, 207, .08), transparent) !important;
  border-radius: 999px !important;
}

.callout {
  background:
    linear-gradient(135deg, rgba(255, 255, 255, .96), rgba(238, 249, 250, .82)) !important;
}

.sources-box,
.foot-grid,
.disc {
  background:
    linear-gradient(180deg, rgba(255, 255, 255, .9), rgba(249, 252, 251, .84)) !important;
}

@keyframes omiAuraDrift {
  0%, 100% { transform: translate3d(0, 0, 0) rotate(-5deg); }
  50% { transform: translate3d(-10px, 6px, 0) rotate(-4deg); }
}

@media (prefers-reduced-motion: no-preference) {
  .hero::before {
    animation: omiAuraDrift 14s ease-in-out infinite !important;
  }
}

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

@media (max-width: 600px) {
  .hero::before,
  .ph::after {
    opacity: .32 !important;
    width: 520px !important;
  }

  .portrait-card::before {
    inset: 0 !important;
    border-radius: 0 !important;
  }
}

@media (max-width: 600px) {
  nav#nav {
    min-height: 68px !important;
  }

  nav#nav .logo {
    font-size: 27px !important;
  }

  nav#nav .logo .mk {
    width: 38px !important;
    height: 38px !important;
  }

  .ph {
    padding-top: 44px !important;
  }

  .ph::before {
    width: 220px !important;
    opacity: .75 !important;
  }

  .trust-strip {
    display: grid !important;
    grid-template-columns: 1fr !important;
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    overflow: hidden !important;
  }

  .ph h1 {
    font-size: clamp(44px, 15vw, 64px) !important;
  }

  .ph .standfirst,
  .article p,
  .article li {
    font-size: 16px !important;
  }

  .article h2 {
    font-size: clamp(30px, 10vw, 42px) !important;
  }

  .trust-strip .stat {
    width: 100% !important;
    min-width: 0 !important;
    border-right: 0 !important;
    border-bottom: 1px solid var(--line) !important;
    min-height: 126px !important;
    padding: 16px 6px !important;
  }

  .trust-strip .stat strong {
    font-size: clamp(23px, 7.2vw, 30px) !important;
    letter-spacing: -.045em !important;
  }

  .trust-strip .stat span {
    max-width: 120px !important;
    font-size: 12px !important;
    line-height: 1.3 !important;
  }

  .appstrip-in,
  .foot-grid {
    padding: 22px !important;
  }
}

@media (max-width: 900px) {
  .home-page .hero::after {
    display: block !important;
    inset: auto 0 380px 0 !important;
    width: auto !important;
    height: min(500px, 128vw) !important;
    background:
      url("hero-mobile-seamless.png") 72% 48% / cover no-repeat !important;
    opacity: 1 !important;
    mix-blend-mode: normal !important;
    filter: none !important;
    -webkit-mask-image: none !important;
    mask-image: none !important;
  }

  .home-page .hero-grid {
    padding-bottom: min(350px, 88vw) !important;
  }

  .home-page .hero-art {
    display: none !important;
  }

  .home-page .portrait-card {
    width: min(430px, 112vw) !important;
    margin-left: auto !important;
    margin-right: -54px !important;
  }
}

/* Latest omigrene.sk package adapter.
   Keeps the newest article set and converts the current dark shell into
   the light medical interface used in the redesigned version. */
:root,
[data-theme="light"] {
  --bg: #f8fbfa !important;
  --bg2: #ffffff !important;
  --panel: #ffffff !important;
  --line: rgba(15, 42, 55, .12) !important;
  --line2: rgba(15, 42, 55, .07) !important;
  --fog: #6f8289 !important;
  --silk: #314f5b !important;
  --bone: #0f2a37 !important;
  --mint: #08757d !important;
  --mint-d: #0d95a0 !important;
  --ember: #08757d !important;
  --plasma: #0d95a0 !important;
  --gold: #0d95a0 !important;
  --grain: 0 !important;
}

body.home-page nav {
  position: sticky !important;
  top: 0 !important;
  z-index: 80 !important;
  color: var(--omi-ink) !important;
  background: rgba(255,255,255,.92) !important;
  border-bottom: 1px solid rgba(201,216,215,.86) !important;
  backdrop-filter: blur(18px) saturate(140%) !important;
}

body.home-page .nav-in {
  min-height: 74px !important;
  padding: 12px max(17px, calc((100vw - 1120px) / 2)) !important;
}

body.home-page .logo,
body.home-page .logo .word {
  color: var(--omi-ink) !important;
  font-family: var(--omi-serif) !important;
  font-size: clamp(24px, 4vw, 32px) !important;
  letter-spacing: -.045em !important;
}

body.home-page .logo em,
body.home-page .logo .tld {
  color: var(--omi-teal) !important;
}

body.home-page .logo svg {
  width: 42px !important;
  height: 42px !important;
  padding: 7px !important;
  border: 2px solid var(--omi-teal) !important;
  border-radius: 50% !important;
  background: #fff !important;
}

body.home-page .navlinks a.nl,
body.home-page .theme-tog {
  color: var(--omi-ink-soft) !important;
}

body.home-page .tool {
  color: #fff !important;
  background: var(--omi-teal) !important;
  border-color: var(--omi-teal) !important;
  border-radius: 999px !important;
  box-shadow: 0 14px 30px rgba(8,117,125,.18) !important;
}

body.home-page .hero {
  min-height: 620px !important;
  padding: 138px 0 70px !important;
  border-bottom: 1px solid var(--omi-line) !important;
  background:
    radial-gradient(ellipse 48% 74% at 82% 36%, rgba(209,244,246,.82), rgba(235,249,249,.38) 52%, transparent 74%),
    linear-gradient(90deg, rgba(248,251,250,.98) 0%, rgba(239,249,249,.94) 55%, rgba(229,248,248,.92) 100%) !important;
}

body.home-page .heroviz {
  display: none !important;
}

body.home-page .hero::after {
  content: "" !important;
  position: absolute !important;
  inset: -8% 0 -7% auto !important;
  z-index: 1 !important;
  width: min(790px, 62vw) !important;
  pointer-events: none !important;
  background: url("hero-neural-profile-cutout.png") right center / auto 118% no-repeat !important;
  filter: contrast(1.06) saturate(1.04) brightness(.99) !important;
  -webkit-mask-image:
    linear-gradient(90deg, transparent 0%, rgba(0,0,0,.08) 13%, rgba(0,0,0,.78) 34%, #000 58%, #000 100%),
    linear-gradient(180deg, transparent 0%, #000 7%, #000 86%, transparent 100%) !important;
  mask-image:
    linear-gradient(90deg, transparent 0%, rgba(0,0,0,.08) 13%, rgba(0,0,0,.78) 34%, #000 58%, #000 100%),
    linear-gradient(180deg, transparent 0%, #000 7%, #000 86%, transparent 100%) !important;
  -webkit-mask-composite: source-in !important;
  mask-composite: intersect !important;
}

body.home-page .hero .wrap {
  position: relative !important;
  z-index: 2 !important;
}

body.home-page .hero .eyebrow,
body.home-page .hero h1,
body.home-page .hero .lede,
body.home-page .hero-cta,
body.home-page .reveal {
  opacity: 1 !important;
  transform: none !important;
  animation: none !important;
}

body.home-page .eyebrow,
body.home-page .sec-eye,
body.home-page .sec-num,
body.home-page .libcard .lk {
  color: var(--omi-teal) !important;
}

body.home-page h1 {
  max-width: 560px !important;
  color: #0f2a37 !important;
  font-family: var(--omi-serif) !important;
  font-size: clamp(70px, 10vw, 120px) !important;
  line-height: .92 !important;
  letter-spacing: -.06em !important;
}

body.home-page h1 .em,
body.home-page .sec-h .em {
  color: #08757d !important;
  font-style: normal !important;
}

body.home-page .lede {
  max-width: 560px !important;
  color: #314f5b !important;
  font-size: clamp(18px, 2vw, 22px) !important;
}

body.home-page .btn-fill {
  color: #fff !important;
  background: var(--omi-teal) !important;
  border-color: var(--omi-teal) !important;
  box-shadow: 0 16px 34px rgba(8,117,125,.22) !important;
}

body.home-page .btn-line {
  color: var(--omi-ink) !important;
  background: rgba(255,255,255,.92) !important;
  border-color: var(--omi-line-strong) !important;
}

body.home-page .marquee,
body.home-page .statgrid {
  position: relative !important;
  z-index: 3 !important;
  background: rgba(255,255,255,.88) !important;
  border-color: var(--omi-line) !important;
  backdrop-filter: blur(10px) saturate(116%) !important;
}

body.home-page .statcell,
body.home-page .callout,
body.home-page .libcard,
body.home-page .phase,
body.home-page .e-card,
body.home-page .toolbox {
  color: var(--omi-ink) !important;
  background: rgba(255,255,255,.86) !important;
  border-color: var(--omi-line) !important;
  box-shadow: var(--omi-shadow-card) !important;
}

body.home-page .big,
body.home-page .callout .v,
body.home-page .sec-h,
body.home-page .libcard h3,
body.home-page .pt {
  color: var(--omi-ink) !important;
  font-family: var(--omi-serif) !important;
}

body.home-page .lab,
body.home-page .prose,
body.home-page .libcard p,
body.home-page .pd,
body.home-page footer {
  color: var(--omi-ink-soft) !important;
}

body.home-page .sec {
  border-color: var(--omi-line) !important;
  background: transparent !important;
}

body.home-page footer {
  background: linear-gradient(180deg, rgba(255,255,255,.75), rgba(248,251,250,.96)) !important;
  border-color: var(--omi-line) !important;
}

@media (max-width: 900px) {
  body.home-page .hero {
    min-height: 1040px !important;
    padding: 118px 0 0 !important;
    background:
      url("hero-neural-profile-integrated.png") calc(100% + 58px) 155px / 300px auto no-repeat,
      linear-gradient(90deg, rgba(248,251,250,.99) 0%, rgba(248,251,250,.9) 52%, rgba(248,251,250,.16) 100%),
      radial-gradient(circle at 82% 20%, rgba(58,198,207,.18), transparent 23rem),
      linear-gradient(180deg, rgba(230,247,248,.82), rgba(255,255,255,.72) 58%, rgba(248,251,250,.9)) !important;
  }

  body.home-page .hero::after {
    display: none !important;
  }

  body.home-page h1 {
    font-size: clamp(56px, 15vw, 76px) !important;
  }

  body.home-page .lede {
    max-width: 350px !important;
  }

  body.home-page .navlinks {
    background: rgba(255,255,255,.98) !important;
    border-bottom: 1px solid var(--omi-line) !important;
  }
}

@media (max-width: 600px) {
  body.home-page .statgrid {
    grid-template-columns: 1fr !important;
  }
}

/* Mobile layout repair 2026-06-22.
   Desktop stays untouched; this fixes the phone hero crop and the opened menu. */
@media (max-width: 900px) {
  body.home-page .wrap {
    width: calc(100% - 28px) !important;
    max-width: 1120px !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  body.home-page {
    overflow-x: hidden !important;
  }

  body.home-page .site-header {
    z-index: 120 !important;
    background: rgba(255, 255, 255, .96) !important;
  }

  body.home-page .site-header .nav {
    position: relative !important;
    width: calc(100% - 24px) !important;
    max-width: 1120px !important;
    min-height: 72px !important;
    gap: 10px !important;
    padding: 0 !important;
  }

  body.home-page .brand {
    min-width: 0 !important;
    max-width: calc(100% - 58px) !important;
    gap: 10px !important;
    padding-right: 58px !important;
  }

  body.home-page .brand-mark {
    width: 40px !important;
    height: 40px !important;
    flex: 0 0 auto !important;
  }

  body.home-page .brand-name {
    min-width: 0 !important;
    overflow: hidden !important;
    text-overflow: clip !important;
    font-size: clamp(25px, 7.5vw, 31px) !important;
    letter-spacing: -.055em !important;
  }

  body.home-page .menu-toggle {
    position: absolute !important;
    top: 50% !important;
    right: 0 !important;
    transform: translateY(-50%) !important;
    display: inline-flex !important;
    flex: 0 0 46px !important;
    align-items: center !important;
    justify-content: center !important;
    flex-direction: column !important;
    margin-left: auto !important;
    color: var(--omi-ink) !important;
    background: transparent !important;
  }

  body.home-page .menu-toggle span {
    display: block !important;
    width: 27px !important;
    height: 2px !important;
    margin: 3px 0 !important;
    border-radius: 999px !important;
    background: currentColor !important;
  }

  body.home-page .nav-links {
    position: absolute !important;
    top: calc(100% + 10px) !important;
    left: 0 !important;
    right: 0 !important;
    z-index: 130 !important;
    width: auto !important;
    display: none !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 6px !important;
    padding: 12px !important;
    color: var(--omi-ink) !important;
    background: rgba(255, 255, 255, .98) !important;
    border: 1px solid var(--omi-line) !important;
    border-radius: 18px !important;
    box-shadow: 0 22px 58px rgba(15, 42, 55, .16) !important;
    backdrop-filter: blur(18px) saturate(140%) !important;
  }

  body.home-page .nav-links.open {
    display: flex !important;
  }

  body.home-page .nav-links a {
    width: 100% !important;
    min-height: 46px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    padding: 0 14px !important;
    color: var(--omi-ink-soft) !important;
    border: 0 !important;
    border-radius: 12px !important;
    background: rgba(242, 248, 248, .7) !important;
    font-size: 15px !important;
    font-weight: 800 !important;
    text-decoration: none !important;
  }

  body.home-page .nav-links .nav-cta {
    justify-content: center !important;
    color: #fff !important;
    background: var(--omi-teal) !important;
    box-shadow: 0 12px 26px rgba(8, 117, 125, .18) !important;
  }

  body.home-page .hero {
    min-height: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
  }

  body.home-page .hero-grid {
    min-height: 0 !important;
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 0 !important;
    align-items: start !important;
    padding: 48px 0 255px !important;
  }

  body.home-page .hero-copy {
    position: relative !important;
    z-index: 3 !important;
    width: 100% !important;
    max-width: 100% !important;
    overflow-wrap: anywhere !important;
  }

  body.home-page .hero .eyebrow {
    margin-bottom: 20px !important;
    font-size: 11px !important;
    letter-spacing: .13em !important;
  }

  body.home-page h1 {
    max-width: 8.7ch !important;
    font-size: clamp(58px, 17vw, 78px) !important;
    line-height: .91 !important;
  }

  body.home-page .lede {
    max-width: 100% !important;
    margin-top: 24px !important;
    padding-right: 8px !important;
    font-size: clamp(17px, 4.7vw, 20px) !important;
    line-height: 1.62 !important;
  }

  body.home-page .hero-actions {
    width: 100% !important;
    max-width: 100% !important;
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 12px !important;
    margin-top: 28px !important;
  }

  body.home-page .hero-actions .btn {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    min-height: 58px !important;
  }

  body.home-page .hero::after {
    display: block !important;
    inset: auto -54px -28px auto !important;
    width: min(78vw, 310px) !important;
    height: min(430px, 112vw) !important;
    background: url("hero-neural-profile-cutout.png") right bottom / contain no-repeat !important;
    opacity: .9 !important;
    mix-blend-mode: multiply !important;
    filter: saturate(.98) contrast(1.04) !important;
    -webkit-mask-image:
      linear-gradient(90deg, transparent 0%, rgba(0,0,0,.65) 18%, #000 44%, #000 100%),
      linear-gradient(180deg, transparent 0%, #000 8%, #000 92%, transparent 100%) !important;
    mask-image:
      linear-gradient(90deg, transparent 0%, rgba(0,0,0,.65) 18%, #000 44%, #000 100%),
      linear-gradient(180deg, transparent 0%, #000 8%, #000 92%, transparent 100%) !important;
  }

  body.home-page .trust-strip {
    margin-top: 0 !important;
  }
}

@media (max-width: 430px) {
  body.home-page .hero-grid {
    padding-top: 42px !important;
    padding-bottom: 238px !important;
  }

  body.home-page .hero::after {
    right: -62px !important;
    bottom: -36px !important;
    width: min(82vw, 300px) !important;
    height: min(410px, 112vw) !important;
  }
}

/* Hard phone clamp: prevents the desktop container from leaking into 360px browsers. */
@media (max-width: 600px) {
  html,
  body,
  body.home-page,
  body.home-page .site-header,
  body.home-page main,
  body.home-page .hero {
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: hidden !important;
    background:
      url("hero-neural-profile-integrated.png") calc(100% + 58px) 155px / 300px auto no-repeat,
      linear-gradient(90deg, rgba(248,251,250,.99) 0%, rgba(248,251,250,.9) 52%, rgba(248,251,250,.16) 100%),
      radial-gradient(circle at 82% 20%, rgba(58,198,207,.18), transparent 23rem),
      linear-gradient(180deg, rgba(230,247,248,.82), rgba(255,255,255,.72) 58%, rgba(248,251,250,.9)) !important;
  }

  body.home-page .wrap,
  body.home-page .hero .wrap,
  body.home-page .hero-grid,
  body.home-page .hero-copy,
  body.home-page .lede,
  body.home-page .hero-actions {
    width: calc(100vw - 28px) !important;
    max-width: calc(100vw - 28px) !important;
    min-width: 0 !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  body.home-page .site-header .nav {
    width: calc(100vw - 28px) !important;
    max-width: calc(100vw - 28px) !important;
  }

  body.home-page .brand {
    max-width: calc(100vw - 88px) !important;
    padding-right: 0 !important;
  }

  body.home-page .brand-name {
    font-size: clamp(24px, 7vw, 28px) !important;
  }

  body.home-page .menu-toggle {
    position: fixed !important;
    top: 13px !important;
    right: 12px !important;
    z-index: 220 !important;
    width: 46px !important;
    height: 46px !important;
    display: flex !important;
    opacity: 1 !important;
    visibility: visible !important;
  }

  body.home-page .nav-links {
    position: fixed !important;
    top: 78px !important;
    left: 12px !important;
    right: 12px !important;
    width: auto !important;
    max-width: none !important;
  }

  body.home-page h1 {
    width: calc(100vw - 28px) !important;
    max-width: 8.2ch !important;
    font-size: clamp(52px, 15.4vw, 66px) !important;
  }

  body.home-page .lede {
    padding-right: 0 !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
    text-wrap: pretty !important;
  }

  body.home-page .hero-actions .btn {
    width: calc(100vw - 28px) !important;
    max-width: calc(100vw - 28px) !important;
    padding-left: 14px !important;
    padding-right: 14px !important;
  }

  body.home-page .hero-grid {
    padding-top: 44px !important;
    padding-bottom: 250px !important;
  }

  body.home-page .hero::after {
    display: none !important;
  }
}

/* Final hero/nav polish: faster WebP hero and stronger MigraWatch CTA. */
body.home-page .nav-links .nav-cta,
body.home-page .tool {
  color: #fff !important;
  background: linear-gradient(135deg, #08757d 0%, #075f68 100%) !important;
  border: 1px solid rgba(8,117,125,.95) !important;
  box-shadow: 0 12px 28px rgba(8,117,125,.24) !important;
  font-weight: 850 !important;
}

body.home-page .nav-links .nav-cta:hover,
body.home-page .tool:hover {
  color: #fff !important;
  background: linear-gradient(135deg, #0d95a0 0%, #08757d 100%) !important;
  border-color: #08757d !important;
  box-shadow: 0 16px 34px rgba(8,117,125,.30) !important;
}

@media (min-width: 901px) {
  body.home-page .hero::after {
    background: url("hero-neural-profile-optimized.webp") right center / auto 118% no-repeat !important;
  }
}

@media (max-width: 900px) {
  body.home-page .hero {
    background:
      linear-gradient(90deg, rgba(248,251,250,.99) 0%, rgba(248,251,250,.93) 52%, rgba(248,251,250,.16) 100%),
      url("hero-neural-profile-mobile-focus.webp") calc(100% - 14px) 64px / 315px auto no-repeat,
      radial-gradient(circle at 82% 20%, rgba(58,198,207,.18), transparent 23rem),
      linear-gradient(180deg, rgba(230,247,248,.82), rgba(255,255,255,.72) 58%, rgba(248,251,250,.9)) !important;
  }

  body.home-page .hero::after {
    display: none !important;
  }
}

/* Final mobile portrait and menu fix: the woman is no longer painted behind text. */
.menu-state,
.mobile-portrait {
  display: none !important;
}

@media (max-width: 900px) {
  body.home-page .hero {
    background:
      radial-gradient(circle at 82% 20%, rgba(58,198,207,.18), transparent 23rem),
      linear-gradient(180deg, rgba(230,247,248,.82), rgba(255,255,255,.72) 58%, rgba(248,251,250,.9)) !important;
  }

  body.home-page .hero::after {
    display: none !important;
  }
}

@media (max-width: 600px) {
  html,
  body,
  body.home-page,
  body.home-page main {
    background: #f8fbfa !important;
  }

  body.home-page .menu-toggle {
    cursor: pointer !important;
    pointer-events: auto !important;
    touch-action: manipulation !important;
  }

  body.home-page .site-header {
    position: sticky !important;
    top: 0 !important;
    z-index: 300 !important;
    overflow: visible !important;
  }

  body.home-page .site-header .nav {
    overflow: visible !important;
  }

  body.home-page .menu-state:checked ~ .nav-links {
    display: flex !important;
    z-index: 320 !important;
  }

  body.home-page .hero-grid {
    padding: 44px 0 42px !important;
  }

  body.home-page .hero-copy {
    position: relative !important;
    z-index: 2 !important;
  }

  body.home-page .hero .eyebrow,
  body.home-page h1,
  body.home-page .lede,
  body.home-page .hero-actions {
    position: relative !important;
    z-index: 2 !important;
  }

  body.home-page .lede {
    width: calc(100vw - 28px) !important;
    max-width: calc(100vw - 28px) !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  body.home-page .mobile-portrait {
    display: block !important;
    position: absolute !important;
    top: 10px !important;
    right: -154px !important;
    z-index: 1 !important;
    width: 300px !important;
    height: 430px !important;
    margin: 0 !important;
    border-radius: 0 !important;
    pointer-events: none !important;
    opacity: .92 !important;
    mix-blend-mode: normal !important;
    background: url("hero-woman-visible-alpha.webp") center top / contain no-repeat !important;
    -webkit-mask-image: none !important;
    mask-image: none !important;
    overflow: visible !important;
  }
}
