

/* Science Built Technologies visual normalization: parent brand system. */
body:not(:has(main [aria-label="Progression from ERT through ERTS to ERTS Lab"])) {
  --background: 210 40% 98%;
  --foreground: 213 39% 14%;
  --card: 0 0% 100%;
  --card-foreground: 213 39% 14%;
  --popover: 0 0% 100%;
  --popover-foreground: 213 39% 14%;
  --primary: 221 83% 53%;
  --primary-foreground: 0 0% 100%;
  --secondary: 214 95% 97%;
  --secondary-foreground: 213 39% 14%;
  --muted: 214 32% 96%;
  --muted-foreground: 215 16% 47%;
  --accent: 221 83% 53%;
  --accent-foreground: 0 0% 100%;
  --border: 214 32% 91%;
  --input: 214 32% 91%;
  --ring: 221 83% 53%;
  --radius: .625rem;
  background: linear-gradient(180deg, #f8fbff 0%, #f4f7fb 100%);
  color: #0d1b2a;
}

body:not(:has(main [aria-label="Progression from ERT through ERTS to ERTS Lab"])) :where(a, button, input, textarea, select):focus-visible {
  outline: 3px solid hsl(var(--primary) / .35);
  outline-offset: 3px;
}

body:not(:has(main [aria-label="Progression from ERT through ERTS to ERTS Lab"])) header {
  position: sticky;
  background: hsl(var(--background) / .97) !important;
  border-bottom-color: hsl(var(--border)) !important;
  box-shadow: 0 1px 0 hsl(var(--foreground) / .03);
}

body:not(:has(main [aria-label="Progression from ERT through ERTS to ERTS Lab"])) header::after {
  content: "";
  position: absolute;
  right: 0;
  bottom: -1px;
  left: 0;
  height: 2px;
  background: linear-gradient(90deg, transparent 0%, #2563eb 18%, #93c5fd 52%, transparent 100%);
  opacity: .72;
  pointer-events: none;
}

body:not(:has(main [aria-label="Progression from ERT through ERTS to ERTS Lab"])) .gradient-text {
  background-image: linear-gradient(90deg, #0d1b2a 0%, #2563eb 100%);
}

body:not(:has(main [aria-label="Progression from ERT through ERTS to ERTS Lab"])) .container-custom {
  width: min(100% - 2.5rem, 76rem);
}

body:not(:has(main [aria-label="Progression from ERT through ERTS to ERTS Lab"])) main > section:not(:first-child) {
  border-top: 1px solid hsl(var(--border) / .72);
}

body:not(:has(main [aria-label="Progression from ERT through ERTS to ERTS Lab"])) .section-padding {
  padding-block: clamp(3.5rem, 6vw, 5.75rem);
}

body:not(:has(main [aria-label="Progression from ERT through ERTS to ERTS Lab"])) .bg-card {
  border-color: hsl(var(--border));
  box-shadow: 0 12px 32px hsl(var(--foreground) / .055);
}

body:not(:has(main [aria-label="Progression from ERT through ERTS to ERTS Lab"])) .bg-card:hover {
  border-color: hsl(var(--primary) / .35);
  box-shadow: 0 16px 36px hsl(var(--foreground) / .08);
}

body:not(:has(main [aria-label="Progression from ERT through ERTS to ERTS Lab"])) footer {
  border-top-color: hsl(var(--border)) !important;
  background: #0d1b2a !important;
  color: hsl(210 40% 98%);
}

body:not(:has(main [aria-label="Progression from ERT through ERTS to ERTS Lab"])) footer :is(p, a) {
  color: hsl(210 40% 98% / .78);
}

body:not(:has(main [aria-label="Progression from ERT through ERTS to ERTS Lab"])) footer a:hover,
body:not(:has(main [aria-label="Progression from ERT through ERTS to ERTS Lab"])) footer a:focus-visible {
  color: #bfdbfe;
}

@media (max-width: 640px) {
  body:not(:has(main [aria-label="Progression from ERT through ERTS to ERTS Lab"])) .container-custom {
    width: min(100% - 1.5rem, 76rem);
  }
}

@media (prefers-reduced-motion: reduce) {
  body:not(:has(main [aria-label="Progression from ERT through ERTS to ERTS Lab"])) *,
  body:not(:has(main [aria-label="Progression from ERT through ERTS to ERTS Lab"])) *::before,
  body:not(:has(main [aria-label="Progression from ERT through ERTS to ERTS Lab"])) *::after {
    scroll-behavior: auto !important;
    transition-duration: .01ms !important;
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
  }
}


/* Publication family: same parent grammar, with research-reader density preserved. */
.article-site-header {
  box-shadow: 0 1px 0 hsl(var(--foreground) / .03);
}

.article-nav-links a {
  border-radius: .625rem;
}

.article-hero {
  background:
    radial-gradient(circle at 12% 0%, rgb(37 99 235 / .12), transparent 30rem),
    linear-gradient(to bottom, hsl(var(--background)), hsl(var(--muted) / .45));
}

.article-kicker {
  border-color: rgb(37 99 235 / .3);
  background: rgb(37 99 235 / .08);
  color: #1d4ed8;
}

.paper-card,
.article-toc {
  border-radius: 1rem;
  box-shadow: 0 14px 34px hsl(var(--foreground) / .05);
}

@media (max-width: 767px) {
  .article-nav {
    display: block;
    padding-top: .75rem;
    padding-bottom: .65rem;
  }

  .article-brand {
    display: block;
    margin-bottom: .45rem;
  }

  .article-nav-links {
    flex-wrap: nowrap;
    justify-content: flex-start;
    overflow-x: auto;
    padding-bottom: .25rem;
    scrollbar-width: thin;
  }

  .article-nav-links a:not([aria-current="page"]) {
    display: inline-flex;
    flex: 0 0 auto;
  }
}
