/* ═══════════════════════════════════════════════════════════════
   AOMICS — Advanced Clinical Data Science CRO
   Dark-theme design system with AI/ML visual language
   ═══════════════════════════════════════════════════════════════ */

:root {
  --bg-deep: #030712;
  --bg-base: #0a0f1c;
  --bg-surface: #111827;
  --bg-elevated: #1e293b;
  --bg-glass: rgba(17, 24, 39, 0.72);
  --cyan-400: #963232;
  --cyan-500: #891919;
  --cyan-600: #7c0000;
  --teal-400: #a34c4c;
  --teal-500: #963232;
  --violet-400: #a78bfa;
  --violet-500: #8b5cf6;
  --text-primary: #f8fafc;
  --text-secondary: #94a3b8;
  --text-muted: #64748b;
  --text-inverse: #0f172a;
  --border-subtle: rgba(148, 163, 184, 0.08);
  --border-glow: rgba(124, 0, 0, 0.25);
  --radius-sm: 6px;
  --radius-md: 10px;
  --radius-lg: 16px;
  --radius-xl: 24px;
  --shadow-glow: 0 0 40px rgba(124, 0, 0, 0.08);
  --shadow-card: 0 4px 24px rgba(0, 0, 0, 0.4);
  --transition-fast: 0.15s ease;
  --transition-base: 0.3s ease;
  --transition-slow: 0.5s cubic-bezier(0.4, 0, 0.2, 1);
}

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }
body {
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  background: var(--bg-deep);
  color: var(--text-primary);
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  overflow-x: hidden;
}

.wrap { max-width: 1280px; margin: 0 auto; padding: 0 24px; }
@media (min-width: 1024px) { .wrap { padding: 0 40px; } }

.skip-link {
  position: absolute; top: -40px; left: 0;
  background: var(--cyan-500); color: var(--text-inverse);
  padding: 8px 16px; font-size: 13px; font-weight: 600;
  border-radius: 0 0 var(--radius-sm) 0; z-index: 10000;
  transition: top var(--transition-fast);
}
.skip-link:focus { top: 0; }

.reveal { opacity: 1 !important; transform: translateY(0) !important; }

/* Header */
.site-header {
  position: sticky; top: 0; left: 0; right: 0; z-index: 1000;
  background: transparent; backdrop-filter: blur(0px);
  border-bottom: 1px solid transparent;
  transition: all var(--transition-base);
}
.site-header.scrolled {
  background: rgba(3, 7, 18, 0.88); backdrop-filter: blur(16px);
  border-bottom-color: var(--border-subtle);
}
.header-inner {
  max-width: 1280px; margin: 0 auto; padding: 0 24px;
  display: flex; align-items: center; justify-content: space-between; height: 72px;
}
@media (min-width: 1024px) { .header-inner { padding: 0 40px; } }

.brand { display: flex; align-items: center; gap: 12px; text-decoration: none; color: var(--text-primary); }
.brand img { height: 36px; width: auto; filter: brightness(1.2); }
.brand-text {
  font-size: 20px; font-weight: 800; letter-spacing: 0.08em;
  background: linear-gradient(135deg, var(--cyan-400), var(--teal-400));
  -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text;
}

.nav-toggle { display: flex; flex-direction: column; gap: 5px; background: none; border: none; cursor: pointer; padding: 8px; z-index: 1001; }
.nav-toggle span { display: block; width: 24px; height: 2px; background: var(--text-primary); border-radius: 2px; transition: all 0.3s ease; }
.nav-open .nav-toggle span:nth-child(1) { transform: rotate(45deg) translate(5px, 5px); }
.nav-open .nav-toggle span:nth-child(2) { opacity: 0; }
.nav-open .nav-toggle span:nth-child(3) { transform: rotate(-45deg) translate(5px, -5px); }

.main-nav {
  position: fixed; top: 0; right: -100%; width: 80%; max-width: 360px; height: 100vh;
  background: var(--bg-surface); border-left: 1px solid var(--border-subtle);
  padding: 100px 32px 32px; display: flex; flex-direction: column; gap: 24px;
  transition: right 0.4s cubic-bezier(0.4, 0, 0.2, 1); z-index: 999;
}
.nav-open .main-nav { right: 0; }
.main-nav ul { list-style: none; display: flex; flex-direction: column; gap: 4px; }
.main-nav ul li a { display: block; padding: 10px 0; color: var(--text-secondary); text-decoration: none; font-size: 15px; font-weight: 500; transition: color var(--transition-fast); }
.main-nav ul li a:hover { color: var(--cyan-400); }
.nav-item-row { display: flex; align-items: center; justify-content: space-between; }
.nav-sub-toggle { display: inline-flex; align-items: center; justify-content: center; min-width: 28px; min-height: 28px; background: none; border: none; border-radius: 8px; color: var(--text-muted); cursor: pointer; padding: 6px; transition: color var(--transition-fast), background var(--transition-fast); }
.nav-sub-toggle:hover, .nav-sub-toggle[aria-expanded="true"] { color: var(--aomics-burgundy); background: rgba(124, 0, 0, .08); }
.nav-sub-toggle svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 2; transition: transform .2s ease; }
.nav-sub-toggle[aria-expanded="true"] svg { transform: rotate(180deg); }
.sub-menu { max-height: 0; overflow: hidden; padding-left: 16px; transition: max-height 0.3s ease; }
.sub-menu-open { max-height: 400px; }

.lang-switch { display: flex; gap: 8px; margin-top: auto; }
.lang-btn { padding: 6px 14px; border-radius: var(--radius-sm); border: 1px solid var(--border-subtle); background: transparent; color: var(--text-muted); font-size: 13px; font-weight: 600; cursor: pointer; transition: all var(--transition-fast); }
.lang-btn:hover { border-color: var(--cyan-500); color: var(--text-primary); }
.lang-btn.active { background: var(--cyan-500); color: var(--text-inverse); border-color: var(--cyan-500); }

.header-cta {
  display: inline-flex; align-items: center; justify-content: center;
  padding: 12px 24px; background: linear-gradient(135deg, var(--cyan-500), var(--teal-500));
  color: var(--text-inverse); text-decoration: none; font-weight: 700; font-size: 14px;
  border-radius: var(--radius-md); transition: all var(--transition-base);
  box-shadow: 0 0 20px rgba(124, 0, 0, 0.2);
}
.header-cta:hover { box-shadow: 0 0 30px rgba(124, 0, 0, 0.4); transform: translateY(-1px); }

@media (min-width: 1024px) {
  .nav-toggle { display: none; }
  .main-nav { position: static; width: auto; height: auto; background: transparent; border: none; padding: 0; flex-direction: row; align-items: center; gap: 32px; }
  .main-nav ul { flex-direction: row; gap: 24px; }
  .main-nav ul li a { padding: 8px 0; font-size: 14px; }
  .sub-menu { position: absolute; background: var(--bg-elevated); border: 1px solid var(--border-subtle); border-radius: var(--radius-md); padding: 8px 0; min-width: 200px; box-shadow: var(--shadow-card); }
  .lang-switch { margin-top: 0; }
}

/* Buttons */
.btn {
  display: inline-flex; align-items: center; gap: 8px; padding: 14px 28px;
  background: linear-gradient(135deg, var(--cyan-500), var(--teal-500));
  color: var(--text-inverse); text-decoration: none; font-weight: 700; font-size: 15px;
  border-radius: var(--radius-md); border: none; cursor: pointer;
  transition: all var(--transition-base); position: relative; overflow: hidden;
}
.btn::before { content: ''; position: absolute; inset: 0; background: linear-gradient(135deg, var(--cyan-400), var(--teal-400)); opacity: 0; transition: opacity var(--transition-base); }
.btn:hover::before { opacity: 1; }
.btn span, .btn { position: relative; z-index: 1; }
/* .btn-glow intentionally carries no styling of its own any more: its old
   cyan box-shadow was already dead (overridden further down by the burgundy
   canonical .btn/.btn:hover rules), but its translateY(-2px) hover lift was
   still live and was the one thing making these buttons ("Explore our
   services", "Request a quote", etc.) hover differently from .btn-outline's
   "Scope this work". Removing it lets every .btn variant share one hover
   treatment. */
.btn-outline {
  background: transparent;
  border: 1px solid rgba(124, 0, 0,.45);
  color: var(--cyan-600);
}
.btn-outline::before { display: none; }
.btn-outline {
  background: transparent;
  border: 1px solid rgba(124, 0, 0,.45);
  color: var(--cyan-600);
}
.btn-outline::before { display: none; }

/* Hero */
.aomics-hero {
  position: relative; padding: 140px 0 80px;
  background: radial-gradient(ellipse at 50% 0%, rgba(124, 0, 0, 0.06) 0%, transparent 60%),
              radial-gradient(ellipse at 80% 50%, rgba(139, 92, 246, 0.04) 0%, transparent 50%),
              var(--bg-base);
  overflow: hidden; min-height: 640px; display: flex; flex-direction: column; justify-content: flex-start;
}
.particle-canvas { position: absolute; inset: 0; width: 100%; height: 100%; pointer-events: none; z-index: 1; }
.hero-gradient-bottom { position: absolute; bottom: 0; left: 0; right: 0; height: 200px; background: linear-gradient(to top, var(--bg-deep), transparent); z-index: 2; pointer-events: none; }
.aomics-hero-grid { position: relative; z-index: 3; display: grid; grid-template-columns: 1fr; gap: 48px; align-items: center; }
@media (min-width: 1024px) { .aomics-hero-grid { grid-template-columns: 1.1fr 1fr; gap: 64px; } }

.aomics-hero-copy { opacity: 0; transform: translateY(30px); transition: all 0.8s cubic-bezier(0.4, 0, 0.2, 1); }
.aomics-hero-copy.reveal { opacity: 1; transform: translateY(0); }

.aomics-hero-kicker { display: inline-flex; align-items: center; gap: 10px; font-size: 13px; font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; color: var(--cyan-400); margin-bottom: 20px; }
.kicker-pulse { width: 8px; height: 8px; border-radius: 50%; background: var(--cyan-400); box-shadow: 0 0 12px var(--cyan-400); animation: pulse-glow 2s ease-in-out infinite; }
@keyframes pulse-glow { 0%, 100% { opacity: 1; transform: scale(1); } 50% { opacity: 0.5; transform: scale(1.3); } }

.aomics-hero-copy h1 { font-size: clamp(2.2rem, 5vw, 3.8rem); font-weight: 800; line-height: 1.1; letter-spacing: -0.02em; margin-bottom: 24px; }
.type-line { display: block; }
.type-line em { font-style: normal; background: linear-gradient(135deg, var(--cyan-400), var(--teal-400)); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; }

.aomics-hero-lead { font-size: 17px; color: var(--text-secondary); max-width: 520px; margin-bottom: 32px; line-height: 1.7; }
.aomics-hero-actions { display: flex; flex-wrap: wrap; gap: 16px; margin-bottom: 40px; }
.aomics-hero-secondary { display: inline-flex; align-items: center; gap: 8px; color: var(--text-primary); text-decoration: none; font-weight: 600; font-size: 15px; padding: 14px 4px; transition: color var(--transition-fast); }
.aomics-hero-secondary:hover { color: var(--cyan-400); }
.aomics-hero-secondary span { transition: transform var(--transition-fast); }
.aomics-hero-secondary:hover span { transform: translateX(4px); }

.aomics-hero-trust { display: flex; flex-wrap: wrap; gap: 12px; }
.aomics-hero-trust span { padding: 6px 16px; background: rgba(124, 0, 0, 0.08); border: 1px solid rgba(124, 0, 0, 0.15); border-radius: 100px; font-size: 12px; font-weight: 600; letter-spacing: 0.04em; color: var(--cyan-400); }

/* Hero Visual */
.aomics-hero-visual { opacity: 0; transform: translateY(30px) scale(0.98); transition: all 1s cubic-bezier(0.4, 0, 0.2, 1) 0.2s; background: var(--bg-glass); backdrop-filter: blur(20px); border: 1px solid var(--border-subtle); border-radius: var(--radius-xl); overflow: hidden; box-shadow: var(--shadow-glow), var(--shadow-card); }
.aomics-hero-visual.reveal { opacity: 1; transform: translateY(0) scale(1); }
.aomics-hero-visual.is-dashboard { background: #fff; }
.hhd-fit { width: 100%; overflow: hidden; }
.hhd-dashboard { transform-origin: top left; }

.hero-window-bar { display: flex; align-items: center; gap: 12px; padding: 12px 16px; background: rgba(0, 0, 0, 0.3); border-bottom: 1px solid var(--border-subtle); font-size: 12px; font-weight: 600; color: var(--text-muted); }
.hero-window-dots { display: flex; gap: 6px; }
.hero-window-dots i { width: 10px; height: 10px; border-radius: 50%; display: block; }
.hero-window-dots i:nth-child(1) { background: #ef4444; }
.hero-window-dots i:nth-child(2) { background: #f59e0b; }
.hero-window-dots i:nth-child(3) { background: #7c0000; }
.hero-window-status { margin-left: auto; display: flex; align-items: center; gap: 6px; font-size: 11px; color: var(--teal-400); }
.live-dot { width: 6px; height: 6px; border-radius: 50%; background: var(--teal-400); animation: pulse-glow 1.5s ease-in-out infinite; }

.hero-window-body { padding: 24px; }
.hero-workspace-heading { display: flex; justify-content: space-between; align-items: flex-start; margin-bottom: 20px; }
.hero-workspace-heading p { font-size: 11px; color: var(--text-muted); text-transform: uppercase; letter-spacing: 0.08em; margin-bottom: 4px; }
.hero-workspace-heading h2 { font-size: 20px; font-weight: 700; }
.hero-reviewed { padding: 4px 10px; background: rgba(124, 0, 0, 0.1); border: 1px solid rgba(124, 0, 0, 0.2); border-radius: 100px; font-size: 11px; font-weight: 700; color: var(--teal-400); }

.hero-signal-card { background: rgba(0, 0, 0, 0.25); border: 1px solid var(--border-subtle); border-radius: var(--radius-md); padding: 16px; margin-bottom: 16px; }
.hero-signal-title { display: flex; justify-content: space-between; font-size: 12px; margin-bottom: 12px; color: var(--text-muted); }
.hero-signal-title strong { color: var(--text-secondary); font-weight: 600; }
.hero-sparkline { display: flex; align-items: flex-end; gap: 6px; height: 60px; margin-bottom: 8px; }
.hero-sparkline span { flex: 1; background: linear-gradient(to top, var(--cyan-600), var(--cyan-400)); border-radius: 3px 3px 0 0; opacity: 0.7; animation: grow-up 0.8s ease-out forwards; transform-origin: bottom; transform: scaleY(0); }
@keyframes grow-up { to { transform: scaleY(1); } }
.hero-signal-axis { display: flex; justify-content: space-between; font-size: 10px; color: var(--text-muted); text-transform: uppercase; letter-spacing: 0.06em; }

.hero-workspace-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; margin-bottom: 16px; }
.hero-workspace-tile { background: rgba(255, 255, 255, 0.03); border: 1px solid var(--border-subtle); border-radius: var(--radius-md); padding: 14px 10px; text-align: center; transition: all var(--transition-base); }
.hero-workspace-tile:hover { background: rgba(124, 0, 0, 0.06); border-color: rgba(124, 0, 0, 0.2); transform: translateY(-2px); }
.tile-icon { display: block; font-size: 20px; margin-bottom: 6px; color: var(--cyan-400); }
.hero-workspace-tile strong { display: block; font-size: 11px; font-weight: 700; margin-bottom: 2px; }
.hero-workspace-tile small { font-size: 10px; color: var(--text-muted); }

.hero-workspace-footer { display: flex; align-items: center; gap: 8px; font-size: 11px; color: var(--text-muted); }
.hero-footer-dot { width: 6px; height: 6px; border-radius: 50%; background: var(--violet-400); box-shadow: 0 0 8px var(--violet-400); }

/* Data Stream */
.data-stream { background: var(--bg-surface); border-top: 1px solid var(--border-subtle); border-bottom: 1px solid var(--border-subtle); overflow: hidden; padding: 12px 0; }
.data-stream-track { display: flex; gap: 40px; width: max-content; animation: stream-scroll 40s linear infinite; }
@keyframes stream-scroll { 0% { transform: translateX(0); } 100% { transform: translateX(-33.33%); } }
.data-stream-item { display: flex; align-items: center; gap: 10px; font-family: 'SF Mono', 'Fira Code', monospace; font-size: 12px; color: var(--text-muted); white-space: nowrap; }
.data-stream-dot { width: 5px; height: 5px; border-radius: 50%; background: var(--teal-400); opacity: 0.6; }

/* Metrics */
.aomics-metrics { padding: 80px 0; background: var(--bg-deep); }
.metrics-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 20px; }
@media (min-width: 768px) { .metrics-grid { grid-template-columns: repeat(4, 1fr); } }

.metric-card { background: var(--bg-surface); border: 1px solid var(--border-subtle); border-radius: var(--radius-lg); padding: 28px 24px; text-align: center; transition: all var(--transition-base); position: relative; overflow: hidden; }
.metric-card::before { content: ''; position: absolute; top: 0; left: 0; right: 0; height: 2px; background: linear-gradient(90deg, var(--cyan-500), var(--teal-500)); opacity: 0; transition: opacity var(--transition-base); }
.metric-card:hover::before { opacity: 1; }
.metric-card:hover { transform: translateY(-4px); box-shadow: var(--shadow-glow), var(--shadow-card); border-color: var(--border-glow); }
.metric-value { display: block; font-size: clamp(1.8rem, 3vw, 2.4rem); font-weight: 800; background: linear-gradient(135deg, var(--cyan-400), var(--teal-400)); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; margin-bottom: 8px; font-variant-numeric: tabular-nums; }
.metric-label { font-size: 13px; color: var(--text-muted); font-weight: 500; }

/* Section Heading */
.aomics-section-heading { display: flex; justify-content: space-between; align-items: flex-end; margin-bottom: 48px; opacity: 0; transform: translateY(24px); transition: all 0.7s cubic-bezier(0.4, 0, 0.2, 1); }
.aomics-section-heading.reveal { opacity: 1; transform: translateY(0); }
.aomics-section-heading h2 { font-size: clamp(1.6rem, 3.5vw, 2.4rem); font-weight: 800; line-height: 1.15; letter-spacing: -0.02em; margin: 12px 0 16px; max-width: 600px; }
.aomics-section-heading p { color: var(--text-secondary); font-size: 16px; max-width: 560px; line-height: 1.65; }
.section-number { font-family: 'SF Mono', monospace; font-size: 13px; color: var(--text-muted); font-weight: 600; letter-spacing: 0.04em; }
.aomics-kicker { display: inline-flex; align-items: center; gap: 8px; font-size: 12px; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; color: var(--cyan-400); }
.aomics-kicker::before { content: ''; width: 24px; height: 1px; background: var(--cyan-500); }

/* Capabilities */
.aomics-capabilities { padding: 100px 0; background: var(--bg-base); }
.aomics-capability-layout { display: grid; grid-template-columns: 1fr; gap: 32px; opacity: 0; transform: translateY(24px); transition: all 0.7s cubic-bezier(0.4, 0, 0.2, 1) 0.15s; }
.aomics-capability-layout.reveal { opacity: 1; transform: translateY(0); }
@media (min-width: 1024px) { .aomics-capability-layout { grid-template-columns: 1fr 1.2fr; gap: 48px; } }

.aomics-capability-list { display: flex; flex-direction: column; gap: 8px; }
.aomics-capability-row { display: flex; align-items: center; gap: 16px; width: 100%; padding: 20px 24px; background: var(--bg-surface); border: 1px solid var(--border-subtle); border-radius: var(--radius-md); color: var(--text-primary); text-align: left; cursor: pointer; transition: all var(--transition-base); position: relative; overflow: hidden; }
.aomics-capability-row::before { content: ''; position: absolute; left: 0; top: 0; bottom: 0; width: 3px; background: linear-gradient(to bottom, var(--cyan-500), var(--teal-500)); opacity: 0; transition: opacity var(--transition-fast); }
.aomics-capability-row:hover, .aomics-capability-row.is-open { background: var(--bg-elevated); border-color: rgba(124, 0, 0, 0.2); }
.aomics-capability-row.is-open::before { opacity: 1; }
.aomics-capability-number { font-family: 'SF Mono', monospace; font-size: 13px; font-weight: 700; color: var(--text-muted); min-width: 28px; }
.aomics-capability-row span strong { display: block; font-size: 15px; font-weight: 700; margin-bottom: 2px; }
.aomics-capability-row span small { font-size: 13px; color: var(--text-muted); }
.aomics-capability-row b { margin-left: auto; font-size: 20px; font-weight: 300; color: var(--cyan-400); min-width: 20px; text-align: right; }

.aomics-capability-detail { background: var(--bg-surface); border: 1px solid var(--border-subtle); border-radius: var(--radius-lg); padding: 32px; position: relative; overflow: hidden; }
.aomics-capability-detail::after { content: ''; position: absolute; top: -100px; right: -100px; width: 300px; height: 300px; background: radial-gradient(circle, rgba(124, 0, 0, 0.06), transparent 70%); pointer-events: none; }
.aomics-detail-label { font-family: 'SF Mono', monospace; font-size: 11px; font-weight: 600; letter-spacing: 0.1em; text-transform: uppercase; color: var(--text-muted); margin-bottom: 12px; }
.aomics-capability-detail h3 { font-size: 24px; font-weight: 800; margin-bottom: 16px; }
.aomics-capability-detail > p { color: var(--text-secondary); font-size: 15px; line-height: 1.7; margin-bottom: 24px; }

.aomics-bars { display: flex; align-items: flex-end; gap: 8px; height: 80px; margin-bottom: 24px; }
.aomics-bars span { flex: 1; border-radius: 4px 4px 0 0; transition: height 0.8s cubic-bezier(0.4, 0, 0.2, 1); background: linear-gradient(to top, var(--cyan-600), var(--cyan-400)); opacity: 0.8; }
.aomics-bars span:nth-child(3n) { background: linear-gradient(to top, var(--teal-600), var(--teal-400)); }
.aomics-bars span:nth-child(3n+2) { background: linear-gradient(to top, var(--violet-600), var(--violet-400)); }

.aomics-tag-list { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 16px; }
.aomics-tag-list span { padding: 6px 14px; background: rgba(124, 0, 0, 0.08); border: 1px solid rgba(124, 0, 0, 0.15); border-radius: 100px; font-size: 12px; font-weight: 600; color: var(--cyan-400); }
.aomics-detail-note { font-size: 12px !important; color: var(--text-muted) !important; font-style: italic; }

/* Operating Model */
.aomics-operating-model { padding: 100px 0; background: radial-gradient(ellipse at 30% 50%, rgba(139, 92, 246, 0.04) 0%, transparent 60%), var(--bg-deep); }
.aomics-stage-line { display: flex; gap: 8px; overflow-x: auto; padding-bottom: 16px; margin-bottom: 32px; opacity: 0; transform: translateY(24px); transition: all 0.7s cubic-bezier(0.4, 0, 0.2, 1) 0.15s; }
.aomics-stage-line.reveal { opacity: 1; transform: translateY(0); }
.aomics-stage-line button { flex: 1; min-width: 140px; padding: 20px 16px; background: var(--bg-surface); border: 1px solid var(--border-subtle); border-radius: var(--radius-md); color: var(--text-secondary); text-align: left; cursor: pointer; transition: all var(--transition-base); position: relative; }
.aomics-stage-line button:hover { background: var(--bg-elevated); border-color: rgba(124, 0, 0, 0.2); }
.aomics-stage-line button.is-selected { background: linear-gradient(135deg, rgba(124, 0, 0, 0.12), rgba(124, 0, 0, 0.08)); border-color: var(--border-glow); box-shadow: 0 0 20px rgba(124, 0, 0, 0.1); }
.aomics-stage-line button i { display: block; font-family: 'SF Mono', monospace; font-size: 11px; font-weight: 700; color: var(--text-muted); margin-bottom: 8px; }
.aomics-stage-line button strong { display: block; font-size: 15px; font-weight: 700; color: var(--text-primary); margin-bottom: 4px; }
.aomics-stage-line button small { font-size: 12px; color: var(--text-muted); }

.aomics-stage-detail { display: grid; grid-template-columns: 1fr; gap: 24px; background: var(--bg-surface); border: 1px solid var(--border-subtle); border-radius: var(--radius-lg); padding: 32px; opacity: 0; transform: translateY(24px); transition: all 0.7s cubic-bezier(0.4, 0, 0.2, 1) 0.3s; }
.aomics-stage-detail.reveal { opacity: 1; transform: translateY(0); }
@media (min-width: 768px) { .aomics-stage-detail { grid-template-columns: 2fr 1fr; } }

.aomics-stage-detail h3 { font-size: 22px; font-weight: 800; margin: 12px 0 16px; }
.aomics-stage-detail p { color: var(--text-secondary); font-size: 15px; line-height: 1.7; }
.aomics-stage-status { background: rgba(124, 0, 0, 0.06); border: 1px solid rgba(124, 0, 0, 0.15); border-radius: var(--radius-md); padding: 24px; text-align: center; align-self: start; }
.aomics-stage-status span { display: block; font-size: 11px; text-transform: uppercase; letter-spacing: 0.1em; color: var(--text-muted); margin-bottom: 8px; }
.aomics-stage-status strong { display: block; font-size: 20px; font-weight: 800; color: var(--teal-400); margin-bottom: 4px; }
.aomics-stage-status small { font-size: 12px; color: var(--text-muted); }

/* Trust Band */
.aomics-trust-band { padding: 100px 0; background: var(--bg-base); }
.aomics-trust-grid { display: grid; grid-template-columns: 1fr; gap: 24px; opacity: 0; transform: translateY(24px); transition: all 0.7s cubic-bezier(0.4, 0, 0.2, 1) 0.15s; }
.aomics-trust-grid.reveal { opacity: 1; transform: translateY(0); }
@media (min-width: 768px) { .aomics-trust-grid { grid-template-columns: repeat(3, 1fr); } }

.trust-card { background: var(--bg-surface); border: 1px solid var(--border-subtle); border-radius: var(--radius-lg); padding: 36px 28px; position: relative; overflow: hidden; transition: all var(--transition-base); }
.trust-card:hover { transform: translateY(-6px); box-shadow: var(--shadow-glow), var(--shadow-card); border-color: var(--border-glow); }
.trust-card-glow { position: absolute; top: -60px; right: -60px; width: 180px; height: 180px; background: radial-gradient(circle, rgba(124, 0, 0, 0.1), transparent 70%); pointer-events: none; transition: opacity var(--transition-base); opacity: 0; }
.trust-card:hover .trust-card-glow { opacity: 1; }
.trust-card strong { display: block; font-family: 'SF Mono', monospace; font-size: 13px; font-weight: 700; color: var(--cyan-400); margin-bottom: 16px; }
.trust-card h3 { font-size: 20px; font-weight: 800; margin-bottom: 12px; }
.trust-card p { color: var(--text-secondary); font-size: 14px; line-height: 1.7; }

/* Contact */
.aomics-home-contact { padding: 100px 0; background: radial-gradient(ellipse at 70% 50%, rgba(124, 0, 0, 0.05) 0%, transparent 60%), var(--bg-deep); }
.contact-content { display: grid; grid-template-columns: 1fr; gap: 32px; align-items: center; opacity: 0; transform: translateY(24px); transition: all 0.7s cubic-bezier(0.4, 0, 0.2, 1); }
.contact-content.reveal { opacity: 1; transform: translateY(0); }
@media (min-width: 768px) { .contact-content { grid-template-columns: 1.2fr 1fr; } }

.aomics-home-contact h2 { font-size: clamp(1.6rem, 3.5vw, 2.4rem); font-weight: 800; line-height: 1.15; margin: 12px 0 16px; }
.aomics-home-contact p { color: var(--text-secondary); font-size: 16px; max-width: 480px; line-height: 1.7; }
.aomics-home-contact-actions { display: flex; flex-direction: column; gap: 16px; align-items: flex-start; }
.aomics-home-contact-actions a:not(.btn) { color: var(--cyan-400); text-decoration: none; font-weight: 600; font-size: 15px; transition: color var(--transition-fast); }
.aomics-home-contact-actions a:not(.btn):hover { color: var(--teal-400); }
.aomics-home-contact-actions small { font-size: 13px; color: var(--text-muted); }

/* Footer */
.site-footer { background: var(--bg-surface); border-top: 1px solid var(--border-subtle); padding: 64px 0 0; }
.footer-grid { max-width: 1280px; margin: 0 auto; padding: 0 24px; display: grid; grid-template-columns: 1fr; gap: 40px; }
@media (min-width: 768px) { .footer-grid { grid-template-columns: 1.5fr repeat(4, 1fr); } }
@media (min-width: 1024px) { .footer-grid { padding: 0 40px; } }

.footer-brand img { height: 40px; margin-bottom: 16px; filter: brightness(1.2); }
.footer-brand p { color: var(--text-muted); font-size: 14px; max-width: 280px; margin-bottom: 20px; }
.footer-social { display: flex; gap: 12px; }
.footer-social a { width: 36px; height: 36px; display: flex; align-items: center; justify-content: center; background: var(--bg-elevated); border: 1px solid var(--border-subtle); border-radius: 50%; color: var(--text-secondary); text-decoration: none; font-weight: 700; font-size: 14px; transition: all var(--transition-fast); }
.footer-social a:hover { background: var(--cyan-500); color: var(--text-inverse); border-color: var(--cyan-500); }

.footer-col h4 { font-size: 13px; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; color: var(--text-primary); margin-bottom: 20px; }
.footer-col ul { list-style: none; }
.footer-col ul li { margin-bottom: 10px; }
.footer-col ul li a { color: var(--text-muted); text-decoration: none; font-size: 14px; transition: color var(--transition-fast); }
.footer-col ul li a:hover { color: var(--cyan-400); }

.footer-bottom { margin-top: 48px; padding: 24px; border-top: 1px solid var(--border-subtle); text-align: center; }
.footer-bottom p { color: var(--text-muted); font-size: 13px; }

/* Breadcrumb */
.breadcrumb-bar { background: var(--bg-surface); border-bottom: 1px solid var(--border-subtle); padding: 16px 0; }
.breadcrumb-bar .wrap { display: flex; align-items: center; gap: 8px; font-size: 13px; }
.breadcrumb-bar a { color: var(--text-muted); text-decoration: none; transition: color var(--transition-fast); }
.breadcrumb-bar a:hover { color: var(--cyan-400); }
.breadcrumb-bar span { color: var(--text-secondary); }
.bc-sep { color: var(--text-muted); margin: 0 4px; }

/* Blog Grid */
.blog-grid { display: grid; grid-template-columns: 1fr; gap: 28px; opacity: 0; transform: translateY(24px); transition: all 0.7s cubic-bezier(0.4, 0, 0.2, 1); }
.blog-grid.reveal { opacity: 1; transform: translateY(0); }
@media (min-width: 768px) { .blog-grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .blog-grid { grid-template-columns: repeat(3, 1fr); } }

.blog-card { background: var(--bg-surface); border: 1px solid var(--border-subtle); border-radius: var(--radius-lg); overflow: hidden; transition: all var(--transition-base); }
.blog-card:hover { transform: translateY(-4px); box-shadow: var(--shadow-card); border-color: rgba(124, 0, 0, 0.15); }
.blog-card-img { display: block; aspect-ratio: 16/10; overflow: hidden; background: var(--bg-elevated); }
.blog-card-img img { width: 100%; height: 100%; object-fit: cover; transition: transform var(--transition-slow); }
.blog-card:hover .blog-card-img img { transform: scale(1.05); }
.img-placeholder { width: 100%; height: 100%; background: linear-gradient(135deg, var(--bg-elevated), var(--bg-surface)); }
.blog-card-body { padding: 24px; }
.blog-meta { display: flex; align-items: center; gap: 8px; font-size: 12px; color: var(--text-muted); margin-bottom: 12px; }
.blog-meta .dot { color: var(--text-muted); }
.blog-card-title { margin-bottom: 10px; }
.blog-card-title a { color: var(--text-primary); text-decoration: none; font-size: 18px; font-weight: 700; line-height: 1.3; transition: color var(--transition-fast); }
.blog-card-title a:hover { color: var(--cyan-400); }
.blog-excerpt { color: var(--text-secondary); font-size: 14px; line-height: 1.6; margin-bottom: 16px; }
.text-link { color: var(--cyan-400); text-decoration: none; font-weight: 600; font-size: 14px; transition: color var(--transition-fast); }
.text-link:hover { color: var(--teal-400); }

/* Single Post */
.single-post { padding: 40px 0; }
.post-hero { margin-bottom: 40px; }
.post-title { font-size: clamp(1.8rem, 4vw, 2.8rem); font-weight: 800; line-height: 1.15; margin: 20px 0 24px; }
.post-hero-img { width: 100%; max-height: 400px; object-fit: cover; border-radius: var(--radius-lg); border: 1px solid var(--border-subtle); }
.post-body { color: var(--text-secondary); font-size: 16px; line-height: 1.8; }
.post-body h2, .post-body h3 { color: var(--text-primary); margin: 32px 0 16px; }
.post-body p { margin-bottom: 16px; }
.post-body a { color: var(--cyan-400); }

/* Page Hero */
.page-hero { padding: 120px 0 60px; background: radial-gradient(ellipse at 50% 0%, rgba(124, 0, 0, 0.05) 0%, transparent 60%), var(--bg-base); text-align: center; }
.page-hero h1 { font-size: clamp(2rem, 5vw, 3.2rem); font-weight: 800; }

/* Error */
.error-hero { padding: 160px 0 80px; text-align: center; background: var(--bg-base); }
.error-code { font-family: 'SF Mono', monospace; font-size: 80px; font-weight: 800; background: linear-gradient(135deg, var(--cyan-400), var(--violet-400)); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; line-height: 1; margin-bottom: 16px; }
.error-hero h1 { font-size: 28px; font-weight: 800; margin-bottom: 12px; }
.error-text { color: var(--text-muted); margin-bottom: 32px; }
.el-btn.primary { display: inline-block; padding: 14px 28px; background: linear-gradient(135deg, var(--cyan-500), var(--teal-500)); color: var(--text-inverse); text-decoration: none; font-weight: 700; border-radius: var(--radius-md); }

/* Loading */
.react-loading { display: flex; flex-direction: column; align-items: center; justify-content: center; min-height: 100vh; gap: 20px; color: var(--text-muted); font-size: 15px; background: var(--bg-deep); }
.loader-pulse { width: 40px; height: 40px; border-radius: 50%; background: linear-gradient(135deg, var(--cyan-500), var(--teal-500)); animation: loader-breathe 1.5s ease-in-out infinite; }
@keyframes loader-breathe { 0%, 100% { transform: scale(1); opacity: 1; } 50% { transform: scale(1.2); opacity: 0.5; } }
.react-error { display: flex; flex-direction: column; align-items: center; justify-content: center; min-height: 100vh; text-align: center; padding: 40px; background: var(--bg-deep); }
.react-error h1 { font-size: 24px; font-weight: 800; margin-bottom: 12px; color: #ef4444; }
.react-error p { color: var(--text-muted); }

/* Page Content */
.page-content { padding: 60px 0; background: var(--bg-base); min-height: 50vh; }
.page-content h1, .page-content h2, .page-content h3 { color: var(--text-primary); }
.page-content p { color: var(--text-secondary); line-height: 1.7; }
.page-content a { color: var(--cyan-400); }

/* Legacy service content is retained for continuity, but the imported flat
   WordPress stream is rebuilt as the aligned card grid used by the new shell. */
.legacy-budget-solutions { width: min(1180px, calc(100% - 48px)); margin: 0 auto 72px; padding: 76px 0 24px; }
.legacy-budget-solutions > h1 { max-width: 820px; margin: 0 auto 38px; color: var(--text-primary); font-size: clamp(1.75rem, 3.4vw, 2.75rem); line-height: 1.08; letter-spacing: -.04em; text-align: center; }
.legacy-budget-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; align-items: stretch; }
.legacy-budget-card { display: flex; min-width: 0; min-height: 520px; flex-direction: column; overflow: hidden; border: 1px solid var(--border-subtle); border-radius: 20px; background: var(--bg-surface); box-shadow: 0 14px 34px rgba(60, 20, 20, .09); transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease; }
.legacy-budget-card:hover { transform: translateY(-5px); border-color: rgba(124, 0, 0, .32); box-shadow: 0 20px 42px rgba(60, 20, 20, .14); }
.legacy-budget-card h3 { margin: 28px 28px 12px; color: var(--text-primary); font-size: 1.15rem; line-height: 1.2; }
.legacy-budget-card p { margin: 0 28px 14px; color: var(--text-secondary); font-size: .92rem; line-height: 1.65; }
.legacy-budget-card p:last-of-type { margin-top: auto; margin-bottom: 22px; }
.legacy-budget-card p:last-of-type a { display: inline-flex; align-items: center; gap: 6px; color: var(--cyan-600); font-weight: 800; text-decoration: none; }
.legacy-budget-card p:last-of-type a:hover { color: var(--teal-500); }
.legacy-budget-card > a:last-child, .legacy-budget-card > img:last-child { display: block; margin-top: 0; }
.legacy-budget-card img { display: block; width: 100%; height: 250px; object-fit: cover; object-position: center; }
.legacy-budget-card > a:last-child img { height: 250px; }

@media (max-width: 900px) { .legacy-budget-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 640px) { .legacy-budget-solutions { width: min(100% - 32px, 520px); padding-top: 54px; }.legacy-budget-grid { grid-template-columns: 1fr; gap: 18px; }.legacy-budget-card { min-height: 0; }.legacy-budget-card img, .legacy-budget-card > a:last-child img { height: 220px; } }

/* Scrollbar */
::-webkit-scrollbar { width: 8px; }
::-webkit-scrollbar-track { background: var(--bg-deep); }
::-webkit-scrollbar-thumb { background: var(--bg-elevated); border-radius: 4px; }
::-webkit-scrollbar-thumb:hover { background: var(--text-muted); }

/* Selection */
::selection { background: rgba(124, 0, 0, 0.3); color: var(--text-primary); }

/* ═══════════════════════════════════════════════════════════════
   Light clinical system — green gradient surface and evidence-led UI
   ═══════════════════════════════════════════════════════════════ */
:root {
  --bg-deep: #faf6f5;
  --bg-base: #fbf7f6;
  --bg-surface: #ffffff;
  --bg-elevated: #f4ebeb;
  --bg-glass: rgba(255, 255, 255, 0.82);
  --cyan-400: #520000;
  --cyan-500: #520000;
  --cyan-600: #520000;
  --teal-400: #a34c4c;
  --teal-500: #963232;
  --violet-400: #5870a3;
  --violet-500: #435b91;
  --text-primary: #102c2a;
  --text-secondary: #486866;
  --text-muted: #718b87;
  --text-inverse: #ffffff;
  --border-subtle: rgba(124, 0, 0, 0.14);
  --border-glow: rgba(124, 0, 0, 0.35);
  --shadow-glow: 0 18px 50px rgba(25, 121, 97, 0.13);
  --shadow-card: 0 12px 30px rgba(26, 76, 65, 0.1);
}
body { background: var(--bg-base); color: var(--text-primary); }
.site-header { background: rgba(250, 248, 248, 0.78); }
.site-header.scrolled { background: rgba(250, 248, 248, 0.92); border-bottom-color: var(--border-subtle); }
.brand { color: var(--text-primary); }
.brand img { filter: none; }
.nav-toggle span { background: var(--text-primary); }
.main-nav { background: var(--bg-surface); border-left-color: var(--border-subtle); }
@media (min-width: 1024px) { .main-nav { background: transparent; border-left: none; } .sub-menu { background: var(--bg-surface); border-color: var(--border-subtle); } }
.main-nav ul li a { color: var(--text-secondary); }
.main-nav ul li a:hover, .breadcrumb-bar a:hover, .aomics-hero-secondary:hover { color: var(--cyan-500); }
.header-cta, .btn { color: #fff; background: linear-gradient(135deg, #520000, #a34c4c); }
.aomics-hero { background: radial-gradient(ellipse at 8% 12%, rgba(108, 211, 171, 0.28), transparent 46%), radial-gradient(ellipse at 88% 60%, rgba(124, 0, 0, 0.16), transparent 48%), var(--bg-base); }
.hero-gradient-bottom { background: linear-gradient(to top, var(--bg-base), transparent); }
.aomics-hero-copy h1 { color: var(--text-primary); }
.aomics-hero-lead, .aomics-section-heading p, .aomics-home-contact p { color: var(--text-secondary); }
.aomics-hero-trust span, .aomics-tag-list span { background: rgba(124, 0, 0, 0.09); border-color: rgba(124, 0, 0, 0.22); color: var(--cyan-600); }
.aomics-hero-visual { background: rgba(255,255,255,.72); border-color: rgba(18, 104, 89, .16); box-shadow: 0 24px 60px rgba(33, 102, 83, .16); }
.hero-window-bar { background: rgba(13, 82, 69, .96); color: #c6ebe0; }
.hero-window-body { color: var(--text-primary); }
.hero-signal-card { background: rgba(226, 245, 238, .78); border-color: var(--border-subtle); }
.hero-workspace-tile { background: rgba(235, 248, 243, .85); border-color: var(--border-subtle); }
.hero-workspace-tile:hover { background: #d9f0e5; border-color: rgba(124, 0, 0, .3); }
.hero-workspace-tile strong { color: var(--text-primary); }
.data-stream { background: #f4ebeb; border-color: var(--border-subtle); }
.data-stream-item { color: var(--text-secondary); }
.aomics-metrics, .aomics-capabilities, .aomics-trust-band, .page-content { background: var(--bg-base); }
.metric-card, .aomics-capability-row, .aomics-capability-detail, .trust-card, .aomics-stage-detail { background: var(--bg-surface); border-color: var(--border-subtle); box-shadow: 0 6px 20px rgba(60, 20, 20, .05); }
.metric-label, .section-number, .aomics-detail-label { color: var(--text-muted); }
.metric-value { background: linear-gradient(135deg, var(--cyan-600), var(--teal-400)); -webkit-background-clip: text; background-clip: text; }
.aomics-capability-row:hover, .aomics-capability-row.is-open, .aomics-stage-line button:hover { background: var(--bg-elevated); }
.aomics-capability-row span small, .aomics-stage-line button small { color: var(--text-muted); }
.aomics-capability-row span strong, .aomics-stage-line button strong, .trust-card h3, .aomics-capability-detail h3, .aomics-stage-detail h3 { color: var(--text-primary); }
.aomics-operating-model { background: linear-gradient(135deg, #faf5f5, #fdf7f7 54%, #faf5f5); }
.aomics-stage-line button { background: rgba(255,255,255,.76); border-color: var(--border-subtle); }
.aomics-stage-line button.is-selected { background: linear-gradient(135deg, rgba(124, 0, 0,.16), rgba(124, 0, 0,.13)); border-color: var(--border-glow); }
.aomics-stage-line button i { color: var(--text-muted); }
.aomics-stage-status { background: rgba(124, 0, 0, .09); border-color: rgba(124, 0, 0,.2); }
.aomics-stage-status strong { color: var(--cyan-600); }
.trust-card strong, .aomics-kicker { color: var(--cyan-600); }
.aomics-home-contact { background: linear-gradient(135deg, #520000, #3a0000 58%, #1a0000); color: #fff; }
.aomics-home-contact p, .aomics-home-contact-actions small { color: rgba(255,255,255,.74); }
.aomics-home-contact-actions a:not(.btn) { color: #e4cccc; }
.site-footer { background: #103c3a; border-top-color: rgba(255,255,255,.12); }
.footer-brand p, .footer-col ul li a, .footer-bottom p { color: rgba(228, 248, 240, .7); }
.footer-col h4 { color: #fff; }
.footer-social a { background: rgba(255,255,255,.1); border-color: rgba(255,255,255,.18); color: #d8f5eb; }
.breadcrumb-bar { background: #f6efef; border-bottom-color: var(--border-subtle); }
.breadcrumb-bar span { color: var(--text-secondary); }
.page-hero { background: linear-gradient(135deg, #faf5f5, #ffffff); }
.react-loading, .react-error { background: var(--bg-base); color: var(--text-secondary); }

/* Service atlas */
.service-atlas { padding: 104px 0; background: linear-gradient(145deg, #faf5f5 0%, #fff 48%, #faf5f5 100%); }
.service-atlas-heading { display: flex; align-items: end; justify-content: space-between; gap: 32px; margin-bottom: 38px; opacity: 0; transform: translateY(22px); transition: all .7s ease; }
.service-atlas-heading.reveal, .service-atlas-shell.reveal { opacity: 1; transform: translateY(0); }
.service-atlas-heading h2 { max-width: 620px; margin: 12px 0 14px; font-size: clamp(1.9rem, 4vw, 3rem); line-height: 1.08; letter-spacing: -.035em; color: var(--text-primary); }
.service-atlas-heading p { max-width: 620px; color: var(--text-secondary); font-size: 16px; line-height: 1.7; }
.service-atlas-link, .quote-back { border: 0; background: transparent; color: var(--cyan-600); font-weight: 700; cursor: pointer; white-space: nowrap; padding: 12px 0; }
.service-atlas-link span { margin-left: 8px; }
.service-atlas-shell { opacity: 0; transform: translateY(22px); transition: all .7s ease .12s; }
.service-atlas-tabs { display: grid; grid-template-columns: repeat(3, 1fr); border-bottom: 1px solid rgba(18,104,89,.18); }
.service-atlas-tabs button { border: 0; border-top: 2px solid transparent; padding: 18px 20px; text-align: left; background: transparent; color: var(--text-secondary); font-size: 15px; font-weight: 700; cursor: pointer; }
.service-atlas-tabs button span { display: inline-block; margin-right: 16px; font: 700 11px 'SF Mono', monospace; color: var(--text-muted); }
.service-atlas-tabs button b { float: right; color: var(--text-muted); }
.service-atlas-tabs button.active { color: var(--text-primary); border-top-color: var(--cyan-500); background: rgba(255,255,255,.64); }
.service-atlas-tabs button.active span, .service-atlas-tabs button.active b { color: var(--cyan-600); }
.service-atlas-detail { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: 46px; padding: 42px; border: 1px solid var(--border-subtle); border-top: 0; background: rgba(255,255,255,.82); box-shadow: 0 18px 50px rgba(60, 20, 20,.08); }
.service-atlas-index, .profile-label, .quote-step-hint { color: var(--cyan-600); font: 700 11px/1.4 'SF Mono', monospace; letter-spacing: .08em; text-transform: uppercase; }
.service-atlas-copy h3 { margin: 16px 0; font-size: clamp(1.65rem, 3vw, 2.5rem); line-height: 1.1; letter-spacing: -.03em; color: var(--text-primary); }
.service-atlas-copy > p:not(.service-atlas-index) { color: var(--text-secondary); line-height: 1.75; }
.service-atlas-copy ul { list-style: none; padding: 0; margin: 24px 0 28px; display: grid; gap: 12px; }
.service-atlas-copy li { color: var(--text-primary); font-size: 14px; font-weight: 600; }
.service-atlas-copy li span { display: inline-grid; place-items: center; width: 22px; height: 22px; margin-right: 10px; border-radius: 50%; background: #f1e5e5; color: var(--cyan-600); font-size: 12px; }
.btn-outline { background: transparent; border: 1px solid rgba(124, 0, 0,.45); color: var(--cyan-600); }
.btn-outline::before { display: none; }
.service-atlas-visual { min-height: 340px; position: relative; overflow: hidden; border-radius: 22px; background: linear-gradient(145deg, #f1e5e5, #f1e5e5); }
.service-atlas-visual img { width: 100%; height: 100%; min-height: 340px; object-fit: cover; display: block; mix-blend-mode: multiply; opacity: .82; }
.service-atlas-visual::after { content: ''; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(241,252,247,.35), transparent 60%); pointer-events: none; }
.service-atlas-visual.is-panel { display: flex; align-items: center; padding: 22px; background: #fff; border: 1px solid rgba(124, 0, 0, .12); }
.service-atlas-visual.is-panel::after { display: none; }
.service-atlas-visual-label { position: absolute; left: 20px; bottom: 18px; z-index: 2; display: flex; align-items: center; gap: 8px; padding: 9px 12px; border-radius: 9px; background: rgba(255,255,255,.82); color: var(--text-primary); font-size: 11px; font-weight: 700; box-shadow: 0 8px 20px rgba(60, 20, 20,.12); }
.service-atlas-orbit { position: absolute; border: 1px solid rgba(124, 0, 0,.4); border-radius: 50%; pointer-events: none; z-index: 1; }
.orbit-one { width: 220px; height: 220px; right: -40px; top: 34px; }.orbit-two { width: 330px; height: 330px; right: -95px; top: -20px; border-color: rgba(88,112,163,.25); }

/* About people and profile experience */
.about-experience { background: var(--bg-base); }
.about-intro { padding: 112px 0 92px; background: linear-gradient(145deg, #f4ebeb, #fdf7f7 64%); opacity: 0; transform: translateY(22px); transition: all .7s ease; }
.about-intro.reveal { opacity: 1; transform: translateY(0); }
.about-intro-grid { display: grid; grid-template-columns: 1.15fr .85fr; gap: 72px; align-items: end; }
.about-intro h1 { max-width: 760px; margin-top: 18px; font-size: clamp(2.5rem, 6vw, 5.1rem); line-height: .98; letter-spacing: -.055em; color: var(--text-primary); }
.about-intro-grid > p { margin: 0 0 6px; max-width: 480px; color: var(--text-secondary); font-size: 17px; line-height: 1.8; }
.about-signal-band { padding: 82px 0; background: #f4ebeb; }
.about-signal-grid { display: grid; grid-template-columns: .8fr 1.2fr; gap: 70px; align-items: center; }
.about-signal-grid h2 { margin: 14px 0 16px; max-width: 520px; font-size: clamp(1.9rem, 4vw, 3.2rem); line-height: 1.05; letter-spacing: -.04em; }
.about-signal-grid p { max-width: 510px; color: var(--text-secondary); line-height: 1.8; }
.about-signal-number { font: 800 12px 'SF Mono', monospace; color: var(--cyan-600); }
.about-signal-grid img { width: 100%; max-height: 370px; object-fit: cover; border-radius: 24px; mix-blend-mode: multiply; opacity: .78; }
.about-people { padding: 110px 0; }
.about-advisory { background: linear-gradient(145deg, #fbf7f6, #f6efef); }
.about-section-heading { display: flex; align-items: end; justify-content: space-between; gap: 24px; margin-bottom: 44px; }
.about-section-heading h2 { margin: 14px 0; font-size: clamp(2rem, 4vw, 3.2rem); line-height: 1.04; letter-spacing: -.045em; }
.about-section-heading p:not(.aomics-kicker) { max-width: 600px; color: var(--text-secondary); line-height: 1.7; }
.about-section-heading > span { color: var(--text-muted); font: 700 12px 'SF Mono', monospace; }
.profile-rail { display: grid; grid-template-columns: .75fr 1.25fr; gap: 26px; }
.profile-rail-list { display: flex; flex-direction: column; gap: 8px; }
.profile-rail-list button { display: grid; grid-template-columns: 34px 1fr 22px; gap: 6px 12px; align-items: center; border: 1px solid transparent; border-radius: 12px; background: transparent; color: var(--text-secondary); cursor: pointer; padding: 18px; text-align: left; }
.profile-rail-list button span { grid-row: span 2; color: var(--text-muted); font: 700 11px 'SF Mono', monospace; }
.profile-rail-list button strong { color: var(--text-primary); font-size: 15px; }.profile-rail-list button small { color: var(--text-muted); font-size: 12px; }.profile-rail-list button b { grid-column: 3; grid-row: 1 / span 2; color: var(--text-muted); }
.profile-rail-list button:hover, .profile-rail-list button.active { border-color: rgba(124, 0, 0,.24); background: #fff; box-shadow: 0 8px 22px rgba(60, 20, 20, .07); }.profile-rail-list button.active span, .profile-rail-list button.active b { color: var(--cyan-600); }
.profile-feature { display: grid; grid-template-columns: .85fr 1.15fr; min-height: 340px; background: #fff; border: 1px solid var(--border-subtle); border-radius: 20px; overflow: hidden; box-shadow: 0 16px 40px rgba(60, 20, 20, .1); }
.profile-photo-wrap { min-height: 340px; position: relative; background: linear-gradient(145deg, #f1e5e5, #f1e5e5); }.profile-photo-wrap img { width: 100%; height: 100%; object-fit: cover; display: block; }.profile-index { position: absolute; top: 16px; left: 16px; padding: 7px 10px; border-radius: 7px; background: rgba(255,255,255,.82); color: var(--cyan-600); font: 700 11px 'SF Mono', monospace; }
.profile-feature-copy { padding: 38px 38px 32px; }.profile-feature-copy h3 { margin: 18px 0 6px; font-size: clamp(1.55rem, 3vw, 2.25rem); line-height: 1.1; letter-spacing: -.035em; }.profile-role { color: var(--cyan-600) !important; font-weight: 700; margin-bottom: 22px; }.profile-feature-copy > p:not(.profile-label):not(.profile-role) { color: var(--text-secondary); line-height: 1.75; }.profile-focus { margin-top: 28px; padding-top: 17px; border-top: 1px solid var(--border-subtle); display: flex; flex-direction: column; gap: 6px; }.profile-focus span { color: var(--text-muted); font: 700 10px 'SF Mono', monospace; text-transform: uppercase; letter-spacing: .1em; }.profile-focus strong { color: var(--text-primary); font-size: 13px; }
.about-cta { padding: 84px 0; background: linear-gradient(135deg, #520000, #3a0000); color: #fff; }.about-cta .wrap { display: flex; align-items: center; justify-content: space-between; gap: 40px; }.about-cta h2 { margin: 14px 0; max-width: 670px; font-size: clamp(2rem, 4vw, 3.4rem); line-height: 1.03; letter-spacing: -.04em; }.about-cta p:not(.aomics-kicker) { max-width: 560px; color: rgba(255,255,255,.76); line-height: 1.7; }.about-cta .aomics-kicker { color: #e4cccc; }

/* Request quote workflow */
.quote-page { padding: 124px 0 92px; background: linear-gradient(145deg, #faf5f5, #fdf7f7 54%, #faf5f5); min-height: calc(100vh - 72px); }
.quote-layout { display: grid; grid-template-columns: .85fr 1.15fr; gap: 80px; align-items: start; }.quote-brief { padding-top: 24px; }.quote-brief h1 { margin: 16px 0 22px; max-width: 580px; font-size: clamp(2.45rem, 5vw, 4.5rem); line-height: .99; letter-spacing: -.055em; }.quote-brief > p { max-width: 500px; color: var(--text-secondary); font-size: 17px; line-height: 1.8; }.quote-brief-list { display: grid; gap: 14px; margin: 34px 0; }.quote-brief-list span { display: flex; align-items: center; gap: 14px; color: var(--text-primary); font-weight: 700; }.quote-brief-list b { color: var(--cyan-600); font: 700 11px 'SF Mono', monospace; }.quote-form { background: #fff; border: 1px solid var(--border-subtle); border-radius: 20px; padding: 32px; box-shadow: 0 20px 55px rgba(60, 20, 20,.11); }.quote-progress { display: flex; border-bottom: 1px solid var(--border-subtle); margin-bottom: 28px; }.quote-progress button { flex: 1; padding: 0 8px 18px; border: 0; border-bottom: 2px solid transparent; background: transparent; color: var(--text-muted); font: 700 12px 'SF Mono', monospace; cursor: pointer; }.quote-progress button span { display: grid; place-items: center; width: 25px; height: 25px; margin: 0 auto 8px; border: 1px solid var(--border-subtle); border-radius: 50%; font-size: 10px; }.quote-progress button.active { color: var(--cyan-600); border-bottom-color: var(--cyan-500); }.quote-progress button.active span, .quote-progress button.complete span { background: #f1e5e5; border-color: #e4cccc; color: var(--cyan-600); }.quote-form-heading h2 { margin: 10px 0 28px; font-size: clamp(1.45rem, 3vw, 2.05rem); line-height: 1.12; letter-spacing: -.03em; }.quote-fields { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }.quote-fields label { color: var(--text-primary); font-size: 12px; font-weight: 700; }.quote-fields input:not([type="checkbox"]), .quote-fields select, .quote-fields textarea { width: 100%; display: block; margin-top: 8px; border: 1px solid rgba(124, 0, 0,.19); border-radius: 9px; background: #faf5f5; color: var(--text-primary); padding: 12px 13px; font: 500 14px/1.4 inherit; }.quote-fields textarea { resize: vertical; }.quote-fields input:focus, .quote-fields select:focus, .quote-fields textarea:focus { outline: 3px solid rgba(124, 0, 0,.16); border-color: var(--cyan-500); }.quote-fields .full { grid-column: 1 / -1; }.domain-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }.domain-grid button { min-height: 68px; display: flex; gap: 10px; align-items: center; border: 1px solid var(--border-subtle); border-radius: 10px; background: #faf5f5; color: var(--text-primary); padding: 12px; text-align: left; font-size: 13px; font-weight: 700; cursor: pointer; }.domain-grid button span { display: grid; place-items: center; width: 22px; height: 22px; border: 1px solid rgba(124, 0, 0,.32); border-radius: 6px; color: var(--cyan-600); }.domain-grid button.selected { background: #f1e5e5; border-color: rgba(124, 0, 0,.48); }.quote-consent { display: flex; align-items: flex-start; gap: 9px; line-height: 1.5; font-weight: 500 !important; }.quote-consent input { accent-color: var(--cyan-500); margin-top: 2px; }.quote-form-actions { display: flex; align-items: center; justify-content: space-between; gap: 14px; margin-top: 30px; padding-top: 22px; border-top: 1px solid var(--border-subtle); }.btn-quiet { background: transparent; color: var(--text-secondary); border: 1px solid var(--border-subtle); }.quote-success { max-width: 760px; padding: 90px 0; text-align: center; }.quote-success-mark { display: grid; place-items: center; width: 64px; height: 64px; margin: 0 auto 24px; border-radius: 50%; background: #f1e5e5; color: var(--cyan-600); font-size: 30px; font-weight: 800; }.quote-success h1 { margin: 16px 0; font-size: clamp(2.4rem, 5vw, 4.6rem); line-height: 1; letter-spacing: -.05em; }.quote-success > p:not(.aomics-kicker) { max-width: 570px; margin: 0 auto 30px; color: var(--text-secondary); font-size: 17px; line-height: 1.7; }

@media (max-width: 900px) { .service-atlas-heading, .about-cta .wrap { align-items: flex-start; flex-direction: column; }.service-atlas-detail, .quote-layout { grid-template-columns: 1fr; gap: 32px; }.about-intro-grid, .about-signal-grid { grid-template-columns: 1fr; gap: 28px; }.profile-rail { grid-template-columns: 1fr; }.profile-feature { grid-template-columns: .8fr 1.2fr; } }
@media (max-width: 640px) { .service-atlas { padding: 76px 0; }.service-atlas-tabs { display: flex; overflow-x: auto; }.service-atlas-tabs button { min-width: 170px; }.service-atlas-detail { padding: 24px; }.service-atlas-visual, .service-atlas-visual img { min-height: 250px; }.about-intro { padding: 90px 0 68px; }.about-people { padding: 74px 0; }.profile-feature { grid-template-columns: 1fr; }.profile-photo-wrap { min-height: 280px; max-height: 330px; }.profile-feature-copy { padding: 26px; }.quote-page { padding-top: 96px; }.quote-form { padding: 22px; }.quote-fields, .domain-grid { grid-template-columns: 1fr; }.quote-fields .full { grid-column: auto; }.quote-progress button { font-size: 10px; }.about-section-heading { align-items: flex-start; flex-direction: column; } }

/* Aomics brand header — burgundy, bone and teal */
:root {
  --aomics-burgundy: #7c0000;
  --aomics-burgundy-deep: #520000;
  --aomics-bone: #f6f0e5;
  --aomics-teal: #520000;
  --aomics-teal-soft: #d7b2b2;
}
.site-header {
  background: rgba(246, 240, 229, .94);
  border-bottom: 1px solid rgba(124, 0, 0, .14);
  box-shadow: 0 8px 28px rgba(54, 18, 12, .08);
  backdrop-filter: blur(18px);
}
.header-inner { height: 108px; transition: height .35s ease; }
.site-header.scrolled {
  background: linear-gradient(112deg, var(--aomics-burgundy-deep), var(--aomics-burgundy) 55%, #520000);
  border-bottom-color: rgba(255, 255, 255, .2);
  box-shadow: 0 12px 34px rgba(82, 0, 0, .25);
}
.site-header.scrolled .header-inner { height: 72px; }
.brand { flex: 0 0 auto; gap: 0; }
.brand-logo-frame { display: block; width: 220px; line-height: 0; }
.brand-logo { display: block; width: 100%; height: auto; max-height: 88px; object-fit: contain; object-position: left center; transition: opacity .25s ease, transform .35s ease; }
.brand-logo-white { display: none; }
.site-header.scrolled .brand-logo-dark { display: none; }
.site-header.scrolled .brand-logo-white { display: block; max-height: 58px; }
.site-header.scrolled .brand { color: #fff; }
.brand-text { color: var(--aomics-burgundy); }
.main-nav { gap: 26px; }
.main-nav > ul { gap: 18px; }
.main-nav > ul > li { position: relative; }
.main-nav ul li a { color: #543c37; font-size: 13px; font-weight: 700; letter-spacing: .01em; }
.main-nav ul li a:hover, .nav-sub-toggle:hover { color: var(--aomics-burgundy); }
.site-header.scrolled .main-nav ul li a, .site-header.scrolled .nav-sub-toggle { color: rgba(255, 255, 255, .9); }
.site-header.scrolled .main-nav ul li a:hover, .site-header.scrolled .nav-sub-toggle:hover { color: #fff; }
.nav-sub-toggle { color: #765f58; }
.sub-menu { border-color: rgba(124, 0, 0, .14); box-shadow: 0 18px 36px rgba(54, 18, 12, .14); }
.lang-switch { align-items: center; gap: 4px; margin-left: 2px; }
.lang-btn { padding: 5px 4px; border: 0; border-radius: 0; background: transparent; color: #765f58; font-size: 12px; font-weight: 800; letter-spacing: .08em; }
.lang-btn:hover { color: var(--aomics-burgundy); }
.lang-btn.active { color: var(--aomics-burgundy); background: transparent; border-bottom: 2px solid currentColor; }
.lang-divider { color: rgba(84, 60, 55, .42); font-size: 12px; }
.site-header.scrolled .lang-btn, .site-header.scrolled .lang-divider { color: rgba(255, 255, 255, .92); }
.site-header.scrolled .lang-btn.active { color: #fff; border-bottom-color: #fff; }
.header-cta { padding: 12px 18px; border-radius: 999px; border: 0; font: inherit; cursor: pointer; background: linear-gradient(125deg, var(--aomics-burgundy), #a32929 52%, var(--aomics-teal)); color: #fff; box-shadow: 0 10px 22px rgba(124, 0, 0, .18); }
.header-cta:hover { box-shadow: 0 14px 28px rgba(124, 0, 0, .28); transform: translateY(-2px); }
.header-cta span { margin-left: 4px; }
.site-header.scrolled .header-cta { background: linear-gradient(125deg, #fff, #e9d9c8); color: var(--aomics-burgundy); box-shadow: none; }

/* ── Full-width mega-menu ───────────────────────────────────────────
   Rendered once, portaled to <body> and fixed just below the header
   (see <MegaOverlay> in App.tsx), so nothing in the header's stacking
   or overflow context can clip or hide it. */
.header-cta-menu { position: relative; }
.mega-nav-item .nav-item-row { display: inline-flex; align-items: center; }

.mega-portal {
  position: fixed; left: 0; right: 0; z-index: 4000;
  padding: 8px 24px 28px;
  /* The full-width strip must not swallow clicks in its empty side bands —
     only the visible card is interactive. */
  pointer-events: none;
  animation: megaFade .16s ease both;
}
@keyframes megaFade { from { opacity: 0; transform: translateY(-10px); } to { opacity: 1; transform: none; } }

.mega-card {
  position: relative;
  pointer-events: auto;
  max-width: 1280px; margin: 0 auto;
  display: grid; grid-template-columns: 250px 1fr; gap: 40px;
  background: #fff; border: 1px solid rgba(124, 0, 0, .12); border-radius: 22px;
  box-shadow: 0 40px 80px -24px rgba(54, 18, 12, .32);
  padding: 30px 36px;
}
/* Invisible bridge across the header→card gap so hover intent doesn't flicker. */
.mega-card::before { content: ''; position: absolute; left: 0; right: 0; top: -8px; height: 8px; }
.mega-lead-title { font-size: 20px; font-weight: 800; color: var(--aomics-burgundy); letter-spacing: -.01em; }
.mega-lead p { margin-top: 10px; font-size: 13px; line-height: 1.65; color: #6b5a5a; }
.mega-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 4px 22px; align-content: start; }
.mega-grid > a {
  display: flex; gap: 12px; align-items: flex-start;
  padding: 12px; border-radius: 14px; text-decoration: none;
  transition: background .14s ease;
}
.mega-grid > a:hover { background: #faf5f5; }
.mega-ico {
  flex: 0 0 auto; width: 34px; height: 34px; border-radius: 10px;
  display: grid; place-items: center; color: #fff;
  background: linear-gradient(135deg, var(--aomics-burgundy), #a32929);
}
.mega-txt b { display: block; font-size: 14px; font-weight: 700; color: #1a0000; }
.mega-txt small { display: block; margin-top: 3px; font-size: 12px; line-height: 1.5; color: #6b5a5a; }

@media (max-width: 1023px) {
  .mega-portal { padding: 8px 12px 16px; }
  .mega-card { grid-template-columns: 1fr; gap: 16px; padding: 22px; }
  .mega-grid { grid-template-columns: 1fr; }
}
.nav-toggle span { background: var(--aomics-burgundy); }
.site-header.scrolled .nav-toggle span { background: #fff; }

/* Keep the footer in the same brand family and make every link legible. */
.site-footer { background: linear-gradient(135deg, var(--aomics-burgundy-deep), var(--aomics-burgundy) 52%, #520000); border-top: 0; }
.footer-brand img { width: 208px; height: auto; max-height: none; margin-bottom: 18px; }
.footer-brand p, .footer-col ul li a, .footer-bottom p { color: rgba(246, 240, 229, .76); }
.footer-col h4 { color: var(--aomics-bone); }
.footer-col ul li a:hover { color: #fff; }
.footer-social a { background: rgba(246, 240, 229, .12); border-color: rgba(246, 240, 229, .24); color: var(--aomics-bone); }
.footer-social a:hover { background: var(--aomics-bone); border-color: var(--aomics-bone); color: var(--aomics-burgundy); }
.footer-bottom { border-top-color: rgba(246, 240, 229, .2); }

@media (min-width: 1024px) {
  .sub-menu { top: calc(100% + 10px); left: -16px; opacity: 0; pointer-events: none; transition: opacity .18s ease, transform .18s ease; transform: translateY(-6px); }
  /* Visibility is driven only by the single-open JS state (.sub-menu-open); no
     :hover / :focus-within reveal, so two panels can never show at once. */
  .sub-menu.sub-menu-open { opacity: 1; pointer-events: auto; transform: translateY(0); }
  .sub-menu li a { padding: 10px 16px !important; white-space: nowrap; }
}
@media (max-width: 1023px) {
  .header-inner { height: 88px; }
  .brand-logo-frame { width: 184px; }
  .site-header.scrolled .brand-logo-white { max-height: 50px; }
  .main-nav { background: var(--aomics-bone); border-left-color: rgba(124, 0, 0, .18); }
  .site-header.scrolled .main-nav { background: var(--aomics-burgundy-deep); }
  .main-nav ul li a { color: #543c37; }
  .site-header.scrolled .main-nav ul li a { color: rgba(255, 255, 255, .9); }
  .lang-switch { margin-top: auto; }
}

/* ── Investor Relations & legal pages (Adaptrials-style layout) ─────────── */
.biz-page { background: var(--bg-base); min-height: 60vh; }
.biz-hero {
  padding: 96px 0 64px;
  background: linear-gradient(145deg, #fefcf8, #f5eee4 54%, #f1e5e5);
  border-bottom: 1px solid var(--border-subtle);
}
.biz-hero .wrap { max-width: 1200px; margin: 0 auto; padding: 0 24px; }
.kicker-pill {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  border: 1px solid rgba(124, 0, 0, .22);
  background: rgba(124, 0, 0, .06);
  color: var(--aomics-burgundy);
  border-radius: 999px;
  padding: 7px 14px;
  font: 700 11px 'SF Mono', monospace;
  text-transform: uppercase;
  letter-spacing: .1em;
}
.kicker-pill svg { display: block; }
.biz-hero h1 {
  margin: 20px 0 16px;
  font-size: clamp(2.2rem, 5vw, 3.4rem);
  line-height: 1.02;
  letter-spacing: -.045em;
  color: var(--text-primary);
}
.biz-hero p:not(.kicker-pill):not(.biz-updated) {
  max-width: 760px;
  color: var(--text-secondary);
  font-size: 1.06rem;
  line-height: 1.7;
}
.biz-updated { margin-top: 14px; color: var(--text-muted); font-size: 12px; }

/* Service hero: copy + ported design graphic in the right-hand column */
.svc-hero-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 0.92fr);
  gap: 48px;
  align-items: center;
}
.svc-hero-copy { min-width: 0; }
.svc-hero-copy .biz-hero-lead,
.svc-hero-copy .biz-hero-sub { max-width: 560px; }
.svc-hero-aside { min-width: 0; }
.svc-figure {
  position: relative;
  width: 100%;
  overflow: hidden;
  border-radius: 20px;
  border: 1px solid rgba(124, 0, 0, .16);
  background: #fff;
  box-shadow: 0 24px 56px rgba(124, 0, 0, .12);
}
.svc-figure-inner { transform-origin: top left; }
@media (max-width: 960px) {
  .svc-hero-grid { grid-template-columns: 1fr; gap: 32px; }
  .svc-hero-aside { max-width: 560px; }
}

.biz-body { max-width: 1080px; margin: 0 auto; padding: 64px 24px 96px; }
.biz-section { margin-bottom: 56px; }
.biz-section-heading,
.legal-prose section > h2 {
  font-size: clamp(1.5rem, 3vw, 2rem);
  letter-spacing: -.02em;
  color: var(--text-primary);
  margin: 0 0 22px;
}
.biz-section-lead { color: var(--text-secondary); line-height: 1.7; max-width: 720px; margin-bottom: 20px; }
.biz-cards { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.biz-grid-2 { display: grid; grid-template-columns: repeat(2, 1fr); gap: 18px; }
.biz-card {
  background: #fff;
  border: 1px solid var(--border-subtle);
  border-radius: 16px;
  padding: 26px;
  box-shadow: 0 12px 30px rgba(54, 18, 12, .06);
  transition: transform .25s ease, box-shadow .25s ease;
}
.biz-card:hover { transform: translateY(-3px); box-shadow: 0 16px 38px rgba(54, 18, 12, .12); }
.biz-card-icon {
  width: 36px;
  height: 36px;
  border-radius: 10px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgba(124, 0, 0, .08);
  color: var(--aomics-burgundy);
}
.biz-icon-emerald { background: rgba(124, 0, 0, .1); color: var(--aomics-teal); }
.biz-card h3 { font-size: 1.04rem; margin: 16px 0 8px; color: var(--text-primary); }
.biz-card p { color: var(--text-secondary); font-size: .92rem; line-height: 1.65; }
.biz-chip-icon { width: 20px; height: 20px; border-radius: 6px; }
.biz-actions { display: flex; flex-wrap: wrap; gap: 12px; }
.biz-chip {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  border: 1px solid var(--border-subtle);
  background: #fff;
  color: var(--aomics-burgundy);
  font-weight: 600;
  font-size: 13px;
  padding: 10px 16px;
  border-radius: 10px;
  text-decoration: none;
  transition: border-color .2s ease;
}
.biz-chip:hover { border-color: rgba(124, 0, 0, .4); }

/* Sub-navigation chips between the four Clinical Biometrics service pages */
.biz-subnav { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 30px; }
.biz-chip.is-active {
  background: var(--aomics-burgundy);
  border-color: var(--aomics-burgundy);
  color: #fff;
}

/* Service page hero – headline + intro scale */
.biz-hero-lead {
  display: block;
  max-width: 820px;
  margin: 0 0 10px;
  color: var(--text-primary) !important;
  font-size: 1.3rem !important;
  font-weight: 600;
  line-height: 1.45 !important;
}
.biz-hero-sub {
  display: block;
  max-width: 800px;
  margin: 0;
  color: var(--text-secondary) !important;
  font-size: 1rem !important;
  line-height: 1.7 !important;
}

/* Capability cards – slightly denser than default biz-cards on services */
.service-grid { grid-template-columns: repeat(3, 1fr); }

/* Deliverables checklist */
.biz-deliverables {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 12px;
  list-style: none;
  padding: 0;
}
.biz-deliverables li {
  display: flex;
  align-items: center;
  gap: 12px;
  background: #fff;
  border: 1px solid var(--border-subtle);
  border-radius: 12px;
  padding: 14px 16px;
  color: var(--text-secondary);
  font-size: .94rem;
  font-weight: 600;
  line-height: 1.45;
}
.biz-deliverable-icon {
  width: 26px;
  height: 26px;
  border-radius: 7px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgba(124, 0, 0, .12);
  color: var(--aomics-teal);
  flex: none;
}
.service-grid .biz-card { display: flex; flex-direction: column; }
.biz-hub-card .biz-chip { margin-top: auto; align-self: flex-start; }
.biz-hub-pipeline { padding-top: 12px; }
.biz-hub-pipeline + .biz-hub-pipeline { border-top: 1px solid rgba(124, 0, 0, .14); }
.biz-hub-pipeline-title {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-weight: 600;
  font-size: .98rem;
  color: var(--aomics-burgundy);
  text-decoration: none;
}
.biz-hub-pipeline-title:hover { text-decoration: underline; }
.biz-contact {
  background: linear-gradient(135deg, var(--aomics-burgundy-deep) 0%, var(--aomics-burgundy) 58%, #cbc3c3 100%);
  color: #fff;
  border-radius: 18px;
  padding: 34px 36px;
  box-shadow: 0 18px 44px rgba(124, 0, 0, .22);
}
.biz-contact h2 { color: #fff; display: flex; align-items: center; gap: 10px; font-size: 1.2rem; margin: 0 0 12px; }
.biz-contact-icon {
  width: 30px;
  height: 30px;
  border-radius: 8px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgba(255, 255, 255, .14);
  color: #fff;
}
.biz-contact-cta-icon { width: 18px; height: 18px; border-radius: 5px; margin-right: 4px; background: transparent; }
.biz-contact p { color: rgba(255, 255, 255, .85); line-height: 1.7; max-width: 640px; }
.biz-contact .btn-glow { display: inline-flex; align-items: center; margin-top: 18px; }
.biz-contact-addr { margin-top: 20px; font-size: 12px; color: rgba(255, 255, 255, .72) !important; }
.biz-callout {
  margin-top: 18px;
  border: 1px solid var(--border-subtle);
  background: #fff;
  border-radius: 12px;
  padding: 18px 20px;
}
.biz-callout strong { display: block; color: var(--text-primary); font-size: 14px; margin-bottom: 8px; }
.biz-callout p { margin: 0 0 4px; color: var(--text-secondary); font-size: .9rem; line-height: 1.6; }
.biz-note {
  margin-top: 44px;
  border: 1px solid var(--border-subtle);
  background: #fff;
  border-radius: 10px;
  padding: 15px 18px;
  font-size: 12px;
  color: var(--text-muted);
  line-height: 1.6;
}

/* Legal prose */
.legal-prose { max-width: 820px; }
.legal-prose section > h2 { font-size: 1.42rem; margin-bottom: 14px; }
.legal-prose p, .legal-prose li { color: var(--text-secondary); line-height: 1.78; font-size: .97rem; }
.legal-prose a { color: var(--aomics-burgundy); font-weight: 600; }
.legal-prose ul { list-style: disc; padding-left: 22px; display: grid; gap: 10px; }
.legal-prose .biz-chip { margin-top: 4px; }

@media (max-width: 900px) {
  .biz-cards { grid-template-columns: 1fr; }
  .biz-grid-2 { grid-template-columns: 1fr; }
  .biz-hero { padding: 72px 0 48px; }
}
@media (max-width: 640px) {
  .header-inner { padding: 0 18px; }
  .brand-logo-frame { width: 164px; }
  .site-header.scrolled .header-inner { height: 68px; }
  .header-cta { width: 100%; }
}

/* Compact navigation pass: the complete information architecture stays
   available in grouped menus instead of competing for one horizontal row. */
:root {
  --aomics-sage: #e4cccc;
}
.site-header {
  background: linear-gradient(112deg, rgba(255,255,255,.98), rgba(124, 0, 0,.3) 58%, rgba(124,0,0,.12));
}
.site-header.scrolled {
  background: linear-gradient(112deg, #520000, #7c0000 58%, #520000);
}
.header-inner { max-width: 1440px; padding-inline: 32px; }
.main-nav { flex: 1 1 auto; min-width: 0; justify-content: flex-end; }
.main-nav > ul { flex: 1 1 auto; min-width: 0; justify-content: flex-end; }
.main-nav > ul > li > .nav-item-row > a { white-space: nowrap; }
.sub-menu { background: linear-gradient(150deg, #fff, rgba(124, 0, 0,.3)); border-top: 3px solid var(--aomics-sage); }
.site-header.scrolled .sub-menu { background: linear-gradient(150deg, #520000, #7c0000); border-top-color: var(--aomics-sage); }
.site-header.scrolled .sub-menu li a { color: rgba(255,255,255,.9); }
.site-header.scrolled .sub-menu li a:hover { color: var(--aomics-sage); }
.header-cta { background: linear-gradient(125deg, var(--aomics-burgundy), var(--aomics-teal)); }
.site-header.scrolled .header-cta { background: var(--aomics-brand-gradient); color: #fff; }
@media (min-width: 1024px) and (max-width: 1180px) {
  .header-inner { padding-inline: 20px; }
  .brand-logo-frame { width: 190px; }
  .main-nav { gap: 16px; }
  .main-nav > ul { gap: 11px; }
  .main-nav ul li a { font-size: 12px; }
  .header-cta { padding-inline: 13px; font-size: 12px; }
}

/* Brand gradient: sage to Aomics burgundy, with white as the neutral surface. */
:root {
  --aomics-brand-gradient: linear-gradient(116deg, #e4cccc 0%, #7c0000 100%);
  --aomics-brand-gradient-soft: linear-gradient(116deg, rgba(255, 255, 255, .98) 0%, rgba(124, 0, 0, .34) 52%, rgba(124, 0, 0, .16) 100%);
}
.site-header { background: var(--aomics-brand-gradient-soft); }
.site-header.scrolled { background: var(--aomics-brand-gradient); }
.header-cta,
.site-header.scrolled .header-cta { background: var(--aomics-brand-gradient); color: #fff; }
.aomics-hero-copy h1 .type-line em,
.metric-value { background-image: var(--aomics-brand-gradient); }
.aomics-hero-copy h1 .type-line em {
  background-image: linear-gradient(110deg, #000 0%, #e4cccc 52%, #7c0000 100%);
}
.aomics-hero-kicker { color: var(--aomics-burgundy); }
.kicker-pulse { background: var(--aomics-burgundy); box-shadow: 0 0 12px rgba(124, 0, 0, .42); }
.sub-menu { background: linear-gradient(150deg, #fff, rgba(124, 0, 0, .3)); }
.site-header.scrolled .sub-menu { background: linear-gradient(150deg, #7c0000, #520000); }

/* Adaptrials-inspired shell: restrained borders, compact type and the same
   evidence-workspace rhythm across every Aomics page. */
.site-header { position: sticky; top: 0; }
.header-inner { max-width: 1280px; }
.main-nav > ul > li > .nav-item-row > a,
.nav-sub-toggle { border-radius: 8px; }
.main-nav > ul > li > .nav-item-row > a { padding: 8px 10px; }
.main-nav > ul > li > .nav-item-row > a:hover,
.main-nav > ul > li > .nav-item-row > a:focus-visible {
  background: rgba(124, 0, 0, .26);
  color: var(--aomics-burgundy);
}
.site-header.scrolled .main-nav > ul > li > .nav-item-row > a:hover,
.site-header.scrolled .main-nav > ul > li > .nav-item-row > a:focus-visible {
  background: rgba(124, 0, 0, .18);
  color: #fff;
}
.sub-menu { padding: 8px 0; border-radius: 12px; }
.sub-menu li a { border-radius: 8px; margin: 2px 8px; }
.sub-menu li a:hover, .sub-menu li a:focus-visible { background: rgba(124, 0, 0, .22); }
.lang-btn { border: 1px solid rgba(124, 0, 0, .16); border-radius: 8px; padding: 6px 9px; }
.lang-btn.active { background: var(--aomics-burgundy); color: #fff; border-color: var(--aomics-burgundy); }
.site-header.scrolled .lang-btn { border-color: rgba(255, 255, 255, .3); }
.site-header.scrolled .lang-btn.active { background: var(--aomics-sage); color: var(--aomics-burgundy-deep); border-color: var(--aomics-sage); }
.header-cta { border-radius: 9px; box-shadow: 0 8px 22px rgba(124, 0, 0, .16); }
.header-cta:focus-visible, .btn:focus-visible, .lang-btn:focus-visible { outline: 3px solid rgba(124, 0, 0, .75); outline-offset: 2px; }

/* Adaptrials scroll treatment: wide white lockup at rest, then a compact
   burgundy bar with a cross-faded white lockup once the page moves. */
.site-header {
  background: rgba(255, 255, 255, .98);
  transition: background-color .35s ease, box-shadow .35s ease, border-color .35s ease;
}
.site-header.scrolled {
  background: #7c0000;
  border-bottom-color: rgba(255, 255, 255, .22);
}
.brand-logo-frame {
  position: relative;
  height: 88px;
  display: flex;
  align-items: center;
  transition: height .35s ease;
}
.brand-logo {
  transition: opacity .35s ease, visibility .35s ease, transform .35s ease;
}
.brand-logo-dark { opacity: 1; visibility: visible; }
.site-header.scrolled .brand-logo-dark { display: block; }
/* Compact white favicon replaces the full logo once the header condenses.
   Uses a pre-rendered white PNG (aomics-favicon-white.png) — no CSS filter,
   so bundler minification can never break the recoloring. */
.brand-logo-white {
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  margin: auto;
  opacity: 0;
  visibility: hidden;
  transition: opacity .35s ease, visibility .35s ease, transform .35s ease;
}
.site-header.scrolled .brand-logo-frame { height: 58px; }
.site-header.scrolled .brand-logo-dark { opacity: 0; visibility: hidden; transform: scale(.96); }
/* Same specificity as the legacy rules above but declared later, so these win. */
.site-header.scrolled .brand-logo-white {
  opacity: 1;
  visibility: visible;
  height: 52px;
  width: auto;
  max-height: none;
  transform: scale(1);
}

/* Footer themed in the Aomics burgundy with light text for contrast.
   Layout mirrors the Adaptrials app structure:
   [logo] [col] [col] [col] [col] [col]
   ——————— legal links · badges ———————
   ——————— disclaimer ——————— */
.site-footer {
  background: var(--aomics-burgundy);
  border-top: 1px solid rgba(255, 255, 255, .16);
  padding: 48px 0 24px;
}
/* The legacy site.css draws the footer logo in a white pill (background:#fff;
   padding:5px) — wrong on the burgundy footer. Show the white logo bare. */
.site-footer .footer-brand img {
  background: transparent;
  padding: 0;
  border-radius: 0;
  filter: none;
}
.footer-grid {
  display: grid;
  grid-template-columns: repeat(6, [col-start] 1fr);
  column-gap: 32px;
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 24px;
}
.footer-brand {
  grid-column: 1 / -1;
  display: flex;
  flex-direction: column;
  gap: 16px;
  max-width: 216px;
}
.footer-brand img { width: 208px; }
.footer-col { grid-column: span 1; }
.footer-col:nth-child(1) { grid-column: 1; }
.footer-col:nth-child(2) { grid-column: 2; }
.footer-col:nth-child(3) { grid-column: 3; }
.footer-col:nth-child(4) { grid-column: 4; }
.footer-col:nth-child(5) { grid-column: 5; }
.footer-col h4 { color: #fff; font-size: .85rem; font-weight: 600; margin-bottom: 16px; }
.footer-col ul li { margin-bottom: 10px; }
.footer-col ul li a { color: rgba(255, 255, 255, .82); font-size: .825rem; text-decoration: none; }
.footer-col ul li a:hover { color: #fff; }
.footer-brand p { color: rgba(255, 255, 255, .72); font-size: .8rem; line-height: 1.5; }
.footer-social { display: flex; gap: 10px; }
.footer-social a {
  display: inline-flex; align-items: center; justify-content: center;
  width: 34px; height: 34px; border-radius: 6px;
  border: 1px solid rgba(255, 255, 255, .35);
  background: rgba(255, 255, 255, .1); color: #fff; font-size: .7rem; font-weight: 700;
  text-decoration: none; transition: all .2s ease;
}
.footer-social a:hover { background: #fff; color: var(--aomics-burgundy); border-color: #fff; }
.footer-social a[aria-label="X / Twitter"] { font-size: .75rem; }

/* ── bottom legal / badges row ── */
.footer-bottom {
  display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px;
  max-width: 1280px; margin: 0 auto; padding: 24px 24px 0;
  border-top: 1px solid rgba(255, 255, 255, .12); font-size: .75rem; color: rgba(255, 255, 255, .68);
}
.footer-legal { display: inline-flex; align-items: center; gap: 6px; flex-wrap: wrap; }
.footer-legal-divider { color: rgba(255, 255, 255, .38); }
.footer-legal a { color: rgba(255, 255, 255, .82); text-decoration: none; }
.footer-legal a:hover { color: #fff; }
.footer-badges { display: inline-flex; gap: 8px; flex-wrap: wrap; }
.footer-badges span {
  background: rgba(255, 255, 255, .08); border: 1px solid rgba(255, 255, 255, .22);
  color: rgba(255, 255, 255, .8); border-radius: 4px;
  padding: 3px 10px; font-size: .68rem;
}

/* ── disclaimer panel ── */
.footer-disclaimer {
  max-width: 1280px; margin: 16px auto 0; padding: 0 24px;
  background: rgba(0, 0, 0, .18); border-radius: 8px; padding: 14px 18px;
  font-size: .72rem; line-height: 1.55; color: rgba(255, 255, 255, .78);
}
.footer-disclaimer strong { color: #fff; font-weight: 600; }

@media (width<1024px) {
  .footer-grid { grid-template-columns: 1fr 1fr; column-gap: 20px; }
  .footer-brand { grid-column: 1 / -1; }
  .footer-col { grid-column: span 1; }
  .footer-col:nth-child(odd) { }
  .footer-bottom, .footer-disclaimer { flex-direction: column; text-align: center; gap: 10px; padding-left: 24px; padding-right: 24px; }
  .footer-legal { justify-content: center; }
  .footer-badges { justify-content: center; }
}
.footer-bottom { border-top-color: rgba(255, 255, 255, .16); }
.footer-bottom p { color: rgba(255, 255, 255, .7); }

/* ── Desktop dropdown fixes ─────────────────────────────────────────────
   1. `.main-nav ul { flex-direction: row }` (top bar) also hit .sub-menu,
      laying dropdown items out in a wide horizontal strip -> stack them.
   2. The mobile accordion (`max-height: 0; overflow: hidden`) clipped the
      absolutely-positioned desktop dropdown -> release it; show/hide is
      handled by opacity/pointer-events on desktop.
   3. Bridge the 14px hover gap so the dropdown stays open while the
      pointer travels from the item to the panel. */
@media (width>=1024px) {
  .main-nav .sub-menu { flex-direction: column; gap: 0; }
  .main-nav .sub-menu { max-height: none; overflow: visible; }
  .main-nav li.has-children { position: relative; }
  .main-nav > ul > li.has-children > .sub-menu::before {
    content: '';
    position: absolute;
    top: -16px;
    left: 0;
    right: 0;
    height: 16px;
  }
}

/* Audience value map and platform technology overview. */
.aomics-audience { padding: 104px 0; background: linear-gradient(145deg, #fff 0%, #faf5f5 58%, rgba(124, 0, 0, .22) 100%); }
.aomics-audience-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; opacity: 0; transform: translateY(22px); transition: all .7s ease .12s; }
.aomics-audience-grid.reveal { opacity: 1; transform: translateY(0); }
.aomics-audience-card { display: flex; flex-direction: column; min-height: 430px; padding: 24px; border: 1px solid rgba(124, 0, 0, .14); border-radius: 16px; background: rgba(255, 255, 255, .9); box-shadow: 0 12px 28px rgba(60, 20, 20, .06); transition: transform .25s ease, border-color .25s ease, box-shadow .25s ease; }
.aomics-audience-card:hover { transform: translateY(-5px); border-color: rgba(124, 0, 0, .38); box-shadow: 0 18px 36px rgba(124, 0, 0, .12); }
.aomics-audience-card-top { display: flex; align-items: center; justify-content: space-between; padding-bottom: 18px; border-bottom: 1px solid rgba(124, 0, 0, .12); color: var(--aomics-burgundy); font: 700 11px 'SF Mono', monospace; }
.aomics-audience-card-top b { font-size: 18px; font-family: inherit; }
.aomics-audience-label, .technology-platform-eyebrow { margin: 20px 0 8px; color: var(--aomics-burgundy); font: 700 10px/1.4 'SF Mono', monospace; letter-spacing: .09em; text-transform: uppercase; }
.aomics-audience-card h3 { margin-bottom: 12px; color: var(--text-primary); font-size: 20px; line-height: 1.13; letter-spacing: -.025em; }
.aomics-audience-card > p:not(.aomics-audience-label) { color: var(--text-secondary); font-size: 14px; line-height: 1.65; }
.aomics-audience-card ul, .technology-platform-card ul { display: grid; gap: 9px; margin: 20px 0; padding: 0; list-style: none; }
.aomics-audience-card li, .technology-platform-card li { display: flex; gap: 8px; align-items: flex-start; color: var(--text-primary); font-size: 12px; line-height: 1.45; }
.aomics-audience-card li span, .technology-platform-card li span { display: inline-grid; flex: 0 0 auto; place-items: center; width: 18px; height: 18px; border-radius: 50%; background: rgba(124, 0, 0, .4); color: var(--aomics-burgundy); font-size: 11px; font-weight: 800; }
.aomics-audience-link, .technology-platform-link { display: inline-flex; align-items: center; gap: 8px; margin-top: auto; padding: 0; border: 0; background: transparent; color: var(--aomics-burgundy); font-size: 12px; font-weight: 800; cursor: pointer; }
.aomics-audience-link span, .technology-platform-link span { transition: transform .2s ease; }
.aomics-audience-link:hover span, .technology-platform-link:hover span { transform: translateX(4px); }

.technology-page { background: var(--bg-base); }
.technology-hero { padding: 104px 0 90px; background: linear-gradient(145deg, #050505 0%, #1a0000 45%, #7c0000 100%); color: #fff; }
.technology-hero-grid { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(360px, .9fr); gap: 72px; align-items: center; }
.technology-hero h1 { max-width: 760px; margin: 16px 0 22px; color: #fff; font-size: clamp(2.6rem, 5.5vw, 5rem); line-height: .99; letter-spacing: -.055em; }
.technology-hero h1::first-line { background: linear-gradient(110deg, #000 0%, #e4cccc 52%, #fff 86%); -webkit-background-clip: text; background-clip: text; color: transparent; }
.technology-hero > .wrap > div:first-child > p:not(.aomics-kicker) { max-width: 650px; color: rgba(255, 255, 255, .75); font-size: 17px; line-height: 1.75; }
.technology-hero .aomics-kicker { color: var(--aomics-sage); }
.technology-hero-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 18px; margin-top: 30px; }
.technology-hero .aomics-hero-secondary { color: rgba(255,255,255,.8); }
.technology-signal-card { padding: 24px; border: 1px solid rgba(124, 0, 0, .42); border-radius: 16px; background: rgba(255, 255, 255, .08); box-shadow: 0 20px 48px rgba(0, 0, 0, .22); backdrop-filter: blur(16px); }
.technology-signal-header { display: flex; justify-content: space-between; gap: 12px; padding-bottom: 18px; border-bottom: 1px solid rgba(255,255,255,.16); color: var(--aomics-sage); font: 700 10px 'SF Mono', monospace; letter-spacing: .08em; }
.technology-signal-header b { color: #fff; font-weight: 700; }
.technology-signal-flow { display: grid; grid-template-columns: 1fr auto 1fr auto 1fr; gap: 8px; align-items: center; margin: 32px 0 22px; color: #fff; font-size: 12px; font-weight: 700; text-align: center; }
.technology-signal-flow span { padding: 14px 8px; border: 1px solid rgba(124, 0, 0,.32); border-radius: 9px; background: rgba(124, 0, 0,.12); }
.technology-signal-flow i { color: var(--aomics-sage); font-style: normal; font-size: 18px; }
.technology-signal-bar { display: flex; align-items: end; gap: 8px; height: 76px; padding: 0 6px 8px; border-bottom: 1px solid rgba(255,255,255,.18); }
.technology-signal-bar span { flex: 1; height: 35%; border-radius: 4px 4px 0 0; background: linear-gradient(to top, #e4cccc, #fff); animation: grow-up .9s ease-out forwards; transform: scaleY(0); transform-origin: bottom; }
.technology-signal-bar span:nth-child(2) { height: 58%; animation-delay: .12s; }.technology-signal-bar span:nth-child(3) { height: 46%; animation-delay: .24s; }.technology-signal-bar span:nth-child(4) { height: 78%; animation-delay: .36s; }.technology-signal-bar span:nth-child(5) { height: 92%; animation-delay: .48s; }
.technology-signal-card > p { margin-top: 18px; color: rgba(255,255,255,.72); font-size: 13px; line-height: 1.6; }
.technology-platforms { padding: 104px 0; background: #fff; }
.technology-section-heading { max-width: 760px; margin-bottom: 40px; }.technology-section-heading h2 { margin: 12px 0 14px; color: var(--text-primary); font-size: clamp(2rem, 4vw, 3.2rem); line-height: 1.04; letter-spacing: -.045em; }.technology-section-heading > p:not(.aomics-kicker) { color: var(--text-secondary); line-height: 1.7; }
.technology-platform-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.technology-platform-card { display: flex; flex-direction: column; min-height: 510px; padding: 26px; border: 1px solid rgba(124,0,0,.16); border-radius: 16px; background: linear-gradient(160deg, #fff, rgba(124, 0, 0,.18)); box-shadow: 0 12px 30px rgba(60, 20, 20,.06); transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease; }.technology-platform-card:hover { transform: translateY(-5px); border-color: rgba(124,0,0,.4); box-shadow: 0 20px 40px rgba(124,0,0,.1); }
.technology-platform-top { display: flex; justify-content: space-between; color: var(--aomics-burgundy); font: 700 11px 'SF Mono', monospace; }.technology-platform-top a { color: var(--aomics-burgundy); font-size: 18px; }.technology-platform-card h3 { margin: 4px 0 10px; color: var(--aomics-burgundy); font-size: 27px; letter-spacing: -.04em; }.technology-platform-card h4 { margin-bottom: 14px; color: var(--text-primary); font-size: 19px; line-height: 1.2; letter-spacing: -.025em; }.technology-platform-card > p:not(.technology-platform-eyebrow) { color: var(--text-secondary); font-size: 14px; line-height: 1.7; }
.technology-stack { padding: 104px 0; background: linear-gradient(145deg, #faf5f5, rgba(124, 0, 0,.22)); }.technology-layer-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }.technology-layer { padding: 22px; border: 1px solid rgba(124,0,0,.15); border-radius: 14px; background: rgba(255,255,255,.82); }.technology-layer > span { color: var(--aomics-burgundy); font: 700 11px 'SF Mono', monospace; }.technology-layer h3 { margin: 18px 0 9px; color: var(--text-primary); font-size: 19px; }.technology-layer p { color: var(--text-secondary); font-size: 13px; line-height: 1.65; }
.technology-cta { padding: 72px 0; background: linear-gradient(116deg, #050505 0%, #e4cccc 52%, #7c0000 100%); color: #fff; }.technology-cta .wrap { display: flex; align-items: center; justify-content: space-between; gap: 34px; }.technology-cta h2 { max-width: 720px; margin-top: 12px; color: #fff; font-size: clamp(1.9rem, 4vw, 3.3rem); line-height: 1.05; letter-spacing: -.045em; }.technology-cta .aomics-kicker { color: #fff; }.technology-cta .btn { background: #fff; color: var(--aomics-burgundy); }

@media (max-width: 1023px) { .aomics-audience-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }.technology-hero-grid { grid-template-columns: 1fr; gap: 40px; }.technology-platform-grid { grid-template-columns: 1fr; }.technology-platform-card { min-height: 0; }.technology-layer-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 640px) { .aomics-audience { padding: 76px 0; }.aomics-audience-grid { grid-template-columns: 1fr; }.aomics-audience-card { min-height: 0; }.technology-hero, .technology-platforms, .technology-stack { padding: 76px 0; }.technology-signal-flow { grid-template-columns: 1fr; }.technology-signal-flow i { transform: rotate(90deg); }.technology-layer-grid { grid-template-columns: 1fr; }.technology-cta { padding: 58px 0; }.technology-cta .wrap { align-items: flex-start; flex-direction: column; } }

/* Keep the technology hero on the same light, clinical canvas as Adaptrials;
   the architecture card carries the dark contrast instead of reducing text
   contrast behind the black → sage → burgundy headline. */
.technology-hero { background: linear-gradient(145deg, #fff 0%, #faf5f5 56%, rgba(124, 0, 0, .34) 100%); color: var(--text-primary); }
.technology-hero h1 { color: var(--text-primary); }
.technology-hero h1::first-line { background-image: linear-gradient(110deg, #000 0%, #e4cccc 52%, #7c0000 100%); }
.technology-hero > .wrap > div:first-child > p:not(.aomics-kicker) { color: var(--text-secondary); }
.technology-hero .aomics-hero-secondary { color: var(--aomics-burgundy); }
.technology-signal-card { background: linear-gradient(145deg, #050505 0%, #1a0000 48%, #7c0000 100%); }

/* Public editorial routes: a consistent Aomics reading canvas with the
   spacious CTA rhythm used by the Adaptrials public pages. */
.editorial-page { min-height: calc(100vh - 72px); background: #faf5f5; color: var(--text-primary); }
.editorial-hero { padding: 132px 0 82px; background: linear-gradient(145deg, #fff 0%, #faf5f5 58%, rgba(124, 0, 0, .4) 100%); border-bottom: 1px solid rgba(124, 0, 0, .12); }
.editorial-hero-grid { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(300px, .8fr); gap: 74px; align-items: end; }
.editorial-hero h1 { max-width: 800px; margin: 14px 0 18px; color: var(--text-primary); font-size: clamp(2.65rem, 5.3vw, 5.4rem); line-height: .97; letter-spacing: -.065em; background: linear-gradient(112deg, #050505 8%, #6a1414 50%, var(--aomics-burgundy) 94%); -webkit-background-clip: text; background-clip: text; color: transparent; }
.editorial-hero > .wrap > div:first-child > p:not(.aomics-kicker) { max-width: 690px; color: var(--text-secondary); font-size: 17px; line-height: 1.75; }
.editorial-hero-index { align-self: stretch; display: flex; flex-direction: column; justify-content: flex-end; min-height: 180px; padding: 24px; border-left: 2px solid var(--aomics-burgundy); background: rgba(255, 255, 255, .56); }.editorial-hero-index span { color: var(--aomics-burgundy); font: 700 10px 'SF Mono', monospace; letter-spacing: .1em; }.editorial-hero-index strong { margin-top: 16px; color: var(--text-primary); font-size: 23px; line-height: 1.1; letter-spacing: -.035em; }.editorial-hero-index small { margin-top: 10px; color: var(--text-secondary); font-size: 12px; line-height: 1.55; }
.editorial-content, .resources-content, .news-content, .faq-content, .careers-content { padding: 82px 0 100px; }
.editorial-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-bottom: 34px; }.editorial-filters { display: flex; flex-wrap: wrap; gap: 8px; }.editorial-filters button { padding: 8px 13px; border: 1px solid rgba(124, 0, 0, .2); border-radius: 999px; background: #fff; color: var(--text-secondary); font-size: 12px; font-weight: 700; cursor: pointer; }.editorial-filters button.active, .editorial-filters button:hover { border-color: var(--aomics-burgundy); background: var(--aomics-burgundy); color: #fff; }.editorial-search { display: flex; align-items: center; gap: 8px; min-width: 220px; padding: 8px 12px; border: 1px solid rgba(124, 0, 0, .18); border-radius: 8px; background: #fff; color: var(--aomics-burgundy); }.editorial-search input { width: 100%; border: 0; outline: 0; background: transparent; color: var(--text-primary); font: inherit; font-size: 12px; }.editorial-search input::placeholder { color: #87928b; }
.blog-featured { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr); min-height: 370px; margin-bottom: 38px; overflow: hidden; border: 1px solid rgba(124, 0, 0, .15); border-radius: 18px; background: #fff; box-shadow: 0 18px 44px rgba(60, 20, 20, .08); }.blog-featured-image { min-height: 300px; overflow: hidden; background: linear-gradient(145deg, #1a0000, #7c0000); }.blog-featured-image img { width: 100%; height: 100%; object-fit: cover; transition: transform .45s ease; }.blog-featured:hover .blog-featured-image img { transform: scale(1.04); }.blog-featured-copy { display: flex; flex-direction: column; justify-content: center; padding: 40px; }.editorial-label { margin: 0 0 10px; color: var(--aomics-burgundy); font: 700 10px/1.4 'SF Mono', monospace; letter-spacing: .1em; text-transform: uppercase; }.blog-featured-copy .blog-meta { margin-bottom: 15px; }.blog-featured-copy h2 { margin-bottom: 14px; color: var(--text-primary); font-size: clamp(1.7rem, 3vw, 2.65rem); line-height: 1.05; letter-spacing: -.045em; }.blog-featured-copy > p { color: var(--text-secondary); line-height: 1.7; }.blog-featured-copy .text-link { margin-top: 25px; }.blog-grid-modern { opacity: 1; transform: none; }.blog-grid-modern .blog-card { background: #fff; border-color: rgba(124, 0, 0, .14); box-shadow: 0 10px 28px rgba(60, 20, 20, .05); }.blog-grid-modern .blog-card-title, .blog-grid-modern .blog-card-title a { color: var(--text-primary); }.blog-grid-modern .blog-card-body { padding: 22px; }.editorial-empty { padding: 50px 0; color: var(--text-secondary); }.editorial-cta { padding: 68px 0; background: linear-gradient(116deg, #050505 0%, #e4cccc 52%, #7c0000 100%); color: #fff; }.editorial-cta .wrap { display: flex; align-items: center; justify-content: space-between; gap: 30px; }.editorial-cta h2 { max-width: 680px; margin-top: 10px; color: #fff; font-size: clamp(1.9rem, 4vw, 3.2rem); line-height: 1.04; letter-spacing: -.05em; }.editorial-cta .aomics-kicker { color: #fff; }.editorial-cta .btn { background: #fff; color: var(--aomics-burgundy); }
.resources-intro, .careers-intro { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: 60px; align-items: end; margin-bottom: 38px; }.resources-intro h2, .careers-intro h2 { margin-top: 12px; color: var(--text-primary); font-size: clamp(2rem, 3.8vw, 3.4rem); line-height: 1; letter-spacing: -.05em; }.resources-intro > p, .careers-intro > p { color: var(--text-secondary); line-height: 1.75; }.resource-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }.resource-card { display: flex; flex-direction: column; min-height: 315px; padding: 23px; border: 1px solid rgba(124, 0, 0, .14); border-radius: 14px; background: linear-gradient(160deg, #fff, rgba(124, 0, 0, .17)); transition: transform .25s ease, box-shadow .25s ease; }.resource-card:hover { transform: translateY(-4px); box-shadow: 0 18px 34px rgba(124, 0, 0, .1); }.resource-card-top { display: flex; justify-content: space-between; color: var(--aomics-burgundy); font: 700 10px 'SF Mono', monospace; letter-spacing: .08em; }.resource-card-top b { font-weight: 700; text-transform: uppercase; }.resource-card h3 { margin: 30px 0 12px; color: var(--text-primary); font-size: 19px; line-height: 1.12; letter-spacing: -.025em; }.resource-card p { color: var(--text-secondary); font-size: 13px; line-height: 1.65; }.resource-card button, .news-item-copy button { display: inline-flex; align-items: center; gap: 8px; margin-top: auto; padding: 0; border: 0; background: transparent; color: var(--aomics-burgundy); font-size: 12px; font-weight: 800; cursor: pointer; }.resource-card button span, .news-item-copy button span { transition: transform .2s ease; }.resource-card button:hover span, .news-item-copy button:hover span { transform: translateX(4px); }.resources-request { display: flex; align-items: center; justify-content: space-between; gap: 28px; margin-top: 58px; padding: 30px; border-radius: 16px; background: linear-gradient(135deg, #1a0000, #7c0000); color: #fff; }.resources-request h2 { margin: 10px 0; color: #fff; font-size: clamp(1.4rem, 2.8vw, 2.4rem); letter-spacing: -.035em; }.resources-request p:not(.aomics-kicker) { max-width: 680px; color: rgba(255, 255, 255, .72); font-size: 13px; line-height: 1.65; }.resources-request .aomics-kicker { color: var(--aomics-sage); }.resources-request .btn { flex: 0 0 auto; background: #fff; color: var(--aomics-burgundy); }
.news-list { max-width: 980px; margin: 0 auto; }.news-item { display: grid; grid-template-columns: 150px minmax(0, 1fr); gap: 32px; padding: 35px 0; border-top: 1px solid rgba(124, 0, 0, .16); }.news-item:last-child { border-bottom: 1px solid rgba(124, 0, 0, .16); }.news-date { display: grid; align-content: start; gap: 8px; color: var(--text-secondary); font-size: 12px; }.news-date span { color: var(--aomics-burgundy); font: 700 11px 'SF Mono', monospace; }.news-item-copy h2 { max-width: 760px; margin-bottom: 11px; color: var(--text-primary); font-size: clamp(1.4rem, 2.8vw, 2.25rem); line-height: 1.08; letter-spacing: -.04em; }.news-item-copy > p:not(.editorial-label) { max-width: 680px; color: var(--text-secondary); line-height: 1.7; }.news-item-copy button { margin-top: 18px; }
.faq-grid { max-width: 980px; margin: 0 auto; }.faq-item { border-top: 1px solid rgba(124, 0, 0, .16); }.faq-item:last-child { border-bottom: 1px solid rgba(124, 0, 0, .16); }.faq-item summary { display: grid; grid-template-columns: 54px 1fr 24px; gap: 14px; align-items: center; padding: 22px 0; color: var(--text-primary); list-style: none; cursor: pointer; }.faq-item summary::-webkit-details-marker { display: none; }.faq-item summary span { color: var(--aomics-burgundy); font: 700 11px 'SF Mono', monospace; }.faq-item summary strong { font-size: 17px; letter-spacing: -.02em; }.faq-item summary b { color: var(--aomics-burgundy); font-size: 22px; font-weight: 400; text-align: center; transition: transform .2s ease; }.faq-item[open] summary b { transform: rotate(45deg); }.faq-item > p { max-width: 820px; margin: -4px 0 25px 68px; color: var(--text-secondary); line-height: 1.75; }.faq-cta { display: flex; align-items: center; justify-content: space-between; gap: 28px; margin: 64px auto 0; max-width: 980px; padding: 30px; border-radius: 16px; background: linear-gradient(135deg, rgba(124, 0, 0, .32), rgba(124, 0, 0, .12)); }.faq-cta h2 { max-width: 630px; margin-top: 10px; color: var(--text-primary); font-size: clamp(1.5rem, 3vw, 2.5rem); line-height: 1.05; letter-spacing: -.04em; }
.career-role-list { display: grid; gap: 16px; max-width: 1040px; margin: 0 auto; }.career-role { padding: 27px; border: 1px solid rgba(124, 0, 0, .15); border-radius: 16px; background: #fff; box-shadow: 0 12px 28px rgba(60, 20, 20, .05); }.career-role-header { display: flex; align-items: start; justify-content: space-between; gap: 20px; }.career-role h3 { margin: 5px 0 8px; color: var(--text-primary); font-size: clamp(1.25rem, 2.5vw, 1.8rem); line-height: 1.1; letter-spacing: -.03em; }.career-role-header p { color: var(--text-secondary); font-size: 12px; }.career-type { flex: 0 0 auto; padding: 6px 10px; border-radius: 999px; background: rgba(124, 0, 0, .4); color: var(--aomics-burgundy); font-size: 10px; font-weight: 800; }.career-summary { max-width: 840px; margin-top: 18px; color: var(--text-secondary); font-size: 14px; line-height: 1.7; }.career-detail-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px; margin-top: 22px; }.career-detail-grid h4 { margin-bottom: 9px; color: var(--text-primary); font: 700 10px 'SF Mono', monospace; letter-spacing: .08em; text-transform: uppercase; }.career-detail-grid ul { display: grid; gap: 7px; padding-left: 17px; color: var(--text-secondary); font-size: 12px; line-height: 1.55; }.career-apply { margin-top: 24px; padding: 10px 15px; font-size: 12px; }.careers-cta { display: flex; align-items: center; justify-content: space-between; gap: 28px; max-width: 1040px; margin: 52px auto 0; padding: 30px; border-radius: 16px; background: linear-gradient(135deg, #1a0000, #7c0000); color: #fff; }.careers-cta h2 { margin: 10px 0; color: #fff; font-size: clamp(1.5rem, 3vw, 2.6rem); line-height: 1.03; letter-spacing: -.04em; }.careers-cta p:not(.aomics-kicker) { max-width: 640px; color: rgba(255, 255, 255, .72); font-size: 13px; line-height: 1.65; }.careers-cta .aomics-kicker { color: var(--aomics-sage); }.careers-cta .btn { flex: 0 0 auto; background: #fff; color: var(--aomics-burgundy); }

/* Compact footer and strict header button contrast. */
.header-cta { background: var(--aomics-burgundy) !important; color: #fff !important; }
.header-cta:hover { background: var(--aomics-burgundy-deep) !important; }
.site-header.scrolled .header-cta { background: #fff !important; color: var(--aomics-burgundy) !important; }
.site-header.scrolled .header-cta:hover { background: var(--aomics-bone) !important; }
.footer-grid { max-width: 1180px; grid-template-columns: minmax(210px, 1.35fr) repeat(5, minmax(0, 1fr)); column-gap: 22px; row-gap: 18px; padding: 0 24px; }
.footer-brand { grid-column: auto; max-width: 240px; }
.site-footer { padding-top: 38px; }
.footer-bottom { max-width: 1180px; margin-top: 32px; padding-top: 18px; }
.footer-disclaimer { max-width: 1180px; margin-top: 12px; padding-top: 11px; padding-bottom: 11px; }
@media (max-width: 1023px) { .footer-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: 28px; }.footer-brand { grid-column: 1 / -1; max-width: 280px; } }
@media (max-width: 900px) { .editorial-hero-grid, .resources-intro, .careers-intro { grid-template-columns: 1fr; gap: 34px; }.editorial-hero-index { min-height: 0; }.resource-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }.blog-featured { grid-template-columns: 1fr; }.blog-featured-image { min-height: 260px; }.faq-cta, .careers-cta, .resources-request, .editorial-cta .wrap { align-items: flex-start; flex-direction: column; } }
@media (max-width: 640px) { .editorial-hero { padding: 104px 0 66px; }.editorial-hero h1 { font-size: clamp(2.45rem, 13vw, 4rem); }.editorial-content, .resources-content, .news-content, .faq-content, .careers-content { padding: 70px 0 78px; }.editorial-toolbar { align-items: stretch; flex-direction: column; }.editorial-search { min-width: 0; }.resource-grid { grid-template-columns: 1fr; }.resource-card { min-height: 0; }.blog-featured-copy { padding: 26px; }.news-item { grid-template-columns: 1fr; gap: 12px; padding: 26px 0; }.faq-item summary { grid-template-columns: 40px 1fr 22px; gap: 8px; }.faq-item summary strong { font-size: 15px; }.faq-item > p { margin-left: 48px; }.career-role { padding: 21px; }.career-role-header { flex-direction: column; gap: 10px; }.career-detail-grid { grid-template-columns: 1fr; gap: 20px; }.footer-grid { grid-template-columns: 1fr 1fr; padding-inline: 20px; }.footer-brand { grid-column: 1 / -1; }.footer-col h4 { margin-bottom: 11px; }.footer-col ul li { margin-bottom: 7px; }.footer-col ul li a { font-size: .76rem; }.footer-bottom, .footer-disclaimer { padding-left: 20px; padding-right: 20px; } }

/* Compliance / regulatory-grade evidence page. */
.compliance-page { min-height: calc(100vh - 72px); background: #faf5f5; color: var(--text-primary); }.compliance-hero { padding: 132px 0 88px; background: linear-gradient(145deg, #fff 0%, #faf5f5 56%, rgba(124, 0, 0,.4) 100%); }.compliance-hero-grid { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(350px, .9fr); gap: 72px; align-items: center; }.compliance-hero h1 { max-width: 760px; margin: 15px 0 22px; color: var(--text-primary); font-size: clamp(2.6rem, 5.4vw, 5.2rem); line-height: .98; letter-spacing: -.06em; background: linear-gradient(110deg, #050505 10%, #6a1414 52%, var(--aomics-burgundy) 96%); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; }.compliance-hero > .wrap > div:first-child > p:not(.aomics-kicker) { max-width: 690px; color: var(--text-secondary); font-size: 17px; line-height: 1.75; }.compliance-hero-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 20px; margin-top: 30px; }.compliance-quiet-link { color: var(--aomics-burgundy); font-size: 13px; font-weight: 800; text-decoration: none; }.compliance-quiet-link span { margin-left: 6px; }.compliance-proof { min-height: 370px; padding: 26px; border-radius: 18px; background: linear-gradient(145deg, #050505, #1a0000 50%, #7c0000); color: #fff; box-shadow: 0 24px 58px rgba(60, 20, 20,.2); }.compliance-proof-top { display: flex; justify-content: space-between; gap: 12px; padding-bottom: 17px; border-bottom: 1px solid rgba(255,255,255,.2); color: var(--aomics-sage); font: 700 10px 'SF Mono', monospace; letter-spacing: .08em; }.compliance-proof-top b { color: #fff; }.compliance-proof-core { display: grid; grid-template-columns: 1fr auto 1fr auto 1fr; gap: 8px; align-items: center; margin: 84px 0 30px; text-align: center; }.compliance-proof-core span { padding: 14px 5px; border: 1px solid rgba(124, 0, 0,.4); border-radius: 8px; background: rgba(124, 0, 0,.12); font-size: 11px; font-weight: 800; letter-spacing: .06em; }.compliance-proof-core i { color: var(--aomics-sage); font-style: normal; font-size: 18px; }.compliance-proof-line { display: flex; align-items: end; gap: 8px; height: 58px; padding: 0 6px 8px; border-bottom: 1px solid rgba(255,255,255,.2); }.compliance-proof-line span { flex: 1; height: 32%; border-radius: 3px 3px 0 0; background: linear-gradient(to top, #e4cccc, #fff); }.compliance-proof-line span:nth-child(2) { height: 56%; }.compliance-proof-line span:nth-child(3) { height: 43%; }.compliance-proof-line span:nth-child(4) { height: 74%; }.compliance-proof-line span:nth-child(5) { height: 62%; }.compliance-proof-line span:nth-child(6) { height: 90%; }.compliance-proof > p { margin-top: 17px; color: rgba(255,255,255,.72); font-size: 13px; line-height: 1.6; }.compliance-thread { padding: 102px 0; background: #fff; }.compliance-standards { padding: 102px 0; background: linear-gradient(145deg, #faf5f5, rgba(124, 0, 0,.22)); }.compliance-heading { display: flex; align-items: end; justify-content: space-between; gap: 30px; margin-bottom: 42px; }.compliance-heading h2 { max-width: 760px; margin: 12px 0 14px; color: var(--text-primary); font-size: clamp(2rem, 4vw, 3.35rem); line-height: 1.02; letter-spacing: -.05em; }.compliance-heading p:not(.aomics-kicker) { max-width: 700px; color: var(--text-secondary); line-height: 1.7; }.compliance-heading > span { color: var(--text-muted); font: 700 11px 'SF Mono', monospace; }.compliance-chain { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }.compliance-chain-item { min-height: 210px; padding: 22px; border: 1px solid rgba(124,0,0,.15); border-radius: 14px; background: linear-gradient(160deg, #fff, rgba(124, 0, 0,.14)); }.compliance-chain-number { display: flex; align-items: center; justify-content: space-between; color: var(--aomics-burgundy); font: 700 11px 'SF Mono', monospace; }.compliance-chain-number i { color: rgba(124,0,0,.35); font-size: 18px; font-style: normal; }.compliance-chain-item h3 { margin: 32px 0 10px; color: var(--text-primary); font-size: 19px; line-height: 1.1; letter-spacing: -.025em; }.compliance-chain-item p { color: var(--text-secondary); font-size: 13px; line-height: 1.65; }.compliance-standard-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }.compliance-standard-grid article { padding: 22px; border: 1px solid rgba(124,0,0,.14); border-radius: 13px; background: rgba(255,255,255,.8); }.compliance-standard-grid article > span { color: var(--aomics-burgundy); font: 700 11px 'SF Mono', monospace; }.compliance-standard-grid h3 { margin: 17px 0 8px; color: var(--text-primary); font-size: 17px; }.compliance-standard-grid p { color: var(--text-secondary); font-size: 12px; line-height: 1.6; }.compliance-cta { padding: 72px 0; background: linear-gradient(116deg, #050505 0%, #e4cccc 52%, #7c0000 100%); color: #fff; }.compliance-cta .wrap { display: flex; align-items: center; justify-content: space-between; gap: 34px; }.compliance-cta h2 { max-width: 760px; margin: 11px 0; color: #fff; font-size: clamp(1.9rem, 4vw, 3.2rem); line-height: 1.03; letter-spacing: -.05em; }.compliance-cta p:not(.aomics-kicker) { max-width: 670px; color: rgba(255,255,255,.72); line-height: 1.65; }.compliance-cta .aomics-kicker { color: #fff; }.compliance-cta .btn { flex: 0 0 auto; background: #fff; color: var(--aomics-burgundy); }

/* Consent surface and the requested shell contrast. */
.cookie-banner { position: fixed; right: 22px; bottom: 22px; z-index: 1200; display: flex; align-items: center; justify-content: space-between; gap: 28px; width: min(920px, calc(100% - 44px)); padding: 18px 20px; border: 1px solid rgba(124,0,0,.25); border-radius: 14px; background: #fff; box-shadow: 0 18px 50px rgba(54,18,12,.22); }.cookie-banner-copy { display: flex; align-items: flex-start; gap: 12px; }.cookie-banner-mark { display: grid; flex: 0 0 auto; place-items: center; width: 30px; height: 30px; border-radius: 8px; background: var(--aomics-burgundy); color: #fff; font-weight: 800; }.cookie-banner-copy strong { display: block; color: var(--text-primary); font-size: 13px; }.cookie-banner-copy p { max-width: 590px; margin: 4px 0 5px; color: var(--text-secondary); font-size: 11px; line-height: 1.5; }.cookie-policy-link { padding: 0; border: 0; background: transparent; color: var(--aomics-burgundy); font-size: 11px; font-weight: 800; cursor: pointer; }.cookie-banner-actions { display: flex; flex: 0 0 auto; gap: 8px; }.cookie-banner-actions button { padding: 9px 12px; border-radius: 8px; font-size: 11px; font-weight: 800; cursor: pointer; }.cookie-reject { border: 1px solid rgba(124,0,0,.24); background: #fff; color: var(--aomics-burgundy); }.cookie-accept { border: 1px solid var(--aomics-burgundy); background: var(--aomics-burgundy); color: #fff; }.cookie-banner-actions button:hover { background: var(--aomics-burgundy-deep); color: #fff; }
.brand-logo-frame { width: 250px; }.header-inner { height: 116px; }.site-header.scrolled .header-inner { height: 72px; }.lang-btn { color: var(--aomics-burgundy) !important; border-color: rgba(124,0,0,.2) !important; }.lang-btn.active { background: var(--aomics-burgundy) !important; color: #fff !important; }.lang-divider { color: var(--aomics-burgundy) !important; }.site-header.scrolled .lang-btn { color: #fff !important; border-color: rgba(255,255,255,.38) !important; }.site-header.scrolled .lang-btn.active { background: #fff !important; color: var(--aomics-burgundy) !important; }.site-header.scrolled .lang-divider { color: #fff !important; }.aomics-hero-copy h1 .type-line { background-image: linear-gradient(110deg, #050505 0%, #e4cccc 52%, #7c0000 100%); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; color: transparent; }.aomics-hero-copy h1 .type-line em { background: none; -webkit-text-fill-color: inherit; color: inherit; }.aomics-hero-actions .btn, .service-atlas .btn-outline { background: #fff; border: 1px solid var(--aomics-burgundy); color: var(--aomics-burgundy); }.aomics-hero-actions .btn:hover, .service-atlas .btn-outline:hover { background: var(--aomics-burgundy); color: #fff; }
@media (max-width: 1023px) { .brand-logo-frame { width: 210px; }.header-inner { height: 96px; } }
@media (max-width: 900px) { .compliance-hero-grid { grid-template-columns: 1fr; gap: 42px; }.compliance-proof { max-width: 620px; }.compliance-chain, .compliance-standard-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }.compliance-heading { align-items: flex-start; flex-direction: column; }.cookie-banner { align-items: flex-start; flex-direction: column; gap: 14px; }.cookie-banner-actions { width: 100%; justify-content: flex-end; } }
@media (max-width: 640px) { .brand-logo-frame { width: 180px; }.header-inner { height: 88px; }.compliance-hero { padding: 105px 0 70px; }.compliance-hero h1 { font-size: clamp(2.45rem, 13vw, 4rem); }.compliance-thread, .compliance-standards { padding: 74px 0; }.compliance-chain, .compliance-standard-grid { grid-template-columns: 1fr; }.compliance-proof { min-height: 350px; padding: 21px; }.compliance-proof-core { margin-top: 65px; }.compliance-cta .wrap { align-items: flex-start; flex-direction: column; }.cookie-banner { right: 12px; bottom: 12px; width: calc(100% - 24px); padding: 16px; }.cookie-banner-actions { justify-content: stretch; }.cookie-banner-actions button { flex: 1; } }

/* Final readability pass: one predictable burgundy action style, with white
   surfaces used only where a dark CTA would not have enough contrast. */
.btn { background: var(--aomics-burgundy) !important; color: #fff !important; border: 1px solid var(--aomics-burgundy) !important; }
.btn::before { background: linear-gradient(135deg, var(--aomics-burgundy-deep), var(--aomics-burgundy)); }
.btn:hover { color: #fff !important; }
.aomics-home-contact { background: linear-gradient(118deg, #0b5651 0%, #520000 55%, #11655e 100%); color: #fff; }
.aomics-home-contact h2 { color: #fff; }
.aomics-home-contact p { color: rgba(255,255,255,.76); }
.aomics-home-contact .aomics-kicker { color: var(--aomics-sage); }
.aomics-home-contact-actions a:not(.btn) { color: #fff; }
.aomics-home-contact-actions a:not(.btn):hover { color: var(--aomics-sage); }
.aomics-home-contact-actions small { color: rgba(255,255,255,.7); }
.aomics-home-contact-actions .btn { background: #fff !important; color: var(--aomics-burgundy) !important; border-color: #fff !important; }
.aomics-home-contact-actions .btn::before { background: var(--aomics-burgundy); }
.aomics-home-contact-actions .btn:hover { color: #fff !important; }
.about-cta .btn, .editorial-cta .btn, .technology-cta .btn, .compliance-cta .btn,
.resources-request .btn, .careers-cta .btn { background: #fff !important; color: var(--aomics-burgundy) !important; border-color: #fff !important; }
.about-cta .btn::before, .editorial-cta .btn::before, .technology-cta .btn::before,
.compliance-cta .btn::before, .resources-request .btn::before, .careers-cta .btn::before { background: var(--aomics-burgundy); }
.about-cta .btn:hover, .editorial-cta .btn:hover, .technology-cta .btn:hover, .compliance-cta .btn:hover,
.resources-request .btn:hover, .careers-cta .btn:hover { color: #fff !important; }

/* The consent surface follows the compact Adaptrials card: readable copy,
   stacked controls and a stable footprint on every public route. */
.cookie-banner { left: 24px; right: auto; bottom: 12px; display: block; width: min(448px, calc(100% - 48px)); padding: 20px; border-radius: 16px; }
.cookie-banner-copy { gap: 0; }
.cookie-banner-mark { display: none; }
.cookie-banner-copy p { max-width: none; font-size: 13px; line-height: 1.55; }
.cookie-banner-copy strong { font-size: 16px; }
.cookie-banner-actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); margin-top: 16px; }
.cookie-banner-actions button { min-height: 40px; padding: 10px 14px; font-size: 13px; }
@media (max-width: 640px) {
  .cookie-banner { left: 12px; width: calc(100% - 24px); padding: 18px; }
  .cookie-banner-actions { grid-template-columns: 1fr 1fr; }
}

/* The requested homepage title uses a single black → burgundy sweep across
   both lines, including the emphasized word, instead of a separate gradient. */
.aomics-hero-copy h1 .type-line { background-image: linear-gradient(110deg, #050505 0%, #7c0000 100%); }
.aomics-hero-copy h1 .type-line em { background: none; -webkit-text-fill-color: inherit; color: inherit; }

/* Wider resting header for the full lockup, while retaining the compact
   burgundy state after scroll. */
.header-inner { max-width: 1480px; }
.brand-logo-frame { width: 290px; }
@media (max-width: 1180px) { .brand-logo-frame { width: 240px; } }
@media (max-width: 1023px) { .brand-logo-frame { width: 220px; } }
@media (max-width: 640px) { .brand-logo-frame { width: 190px; } }

/* Light-surface primary actions remain burgundy-on-white until hover. */
.aomics-hero-actions .btn, .service-atlas .btn-outline { background: #fff !important; color: var(--aomics-burgundy) !important; border-color: var(--aomics-burgundy) !important; }
.aomics-hero-actions .btn::before, .service-atlas .btn-outline::before { background: var(--aomics-burgundy); }
.aomics-hero-actions .btn:hover, .service-atlas .btn-outline:hover { background: var(--aomics-burgundy) !important; color: #fff !important; }

/* Final Aomics palette: burgundy scale only (plus white and black neutrals). */
:root {
  --aomics-burgundy: #7c0000;
  --aomics-burgundy-2: #891919;
  --aomics-burgundy-3: #963232;
  --aomics-burgundy-4: #a34c4c;
  --aomics-burgundy-5: #b06666;
  --aomics-burgundy-6: #bd7f7f;
  --aomics-burgundy-7: #ca9999;
  --aomics-burgundy-8: #d7b2b2;
  --aomics-burgundy-9: #e4cccc;
  --aomics-burgundy-10: #f1e5e5;
  --aomics-burgundy-deep: #520000;
  --aomics-sage: #bd7f7f;
  --aomics-teal: #891919;
  --aomics-teal-soft: #d7b2b2;
  --cyan-400: #963232;
  --cyan-500: #891919;
  --cyan-600: #7c0000;
  --teal-400: #a34c4c;
  --teal-500: #963232;
  --teal-600: #891919;
  --violet-400: #a34c4c;
  --violet-500: #891919;
  --bg-base: #fff;
  --bg-surface: #fff;
  --bg-elevated: #f1e5e5;
  --bg-deep: #f1e5e5;
}

/* Preserve the clinical white canvas while replacing former green washes. */
.aomics-hero, .aomics-metrics, .aomics-capabilities, .aomics-trust-band,
.aomics-operating-model, .page-content, .editorial-page, .technology-page,
.contact-page, .compliance-page { background-color: #fff; }
.aomics-hero { background-image: linear-gradient(145deg, #fff 0%, #fff 62%, #f1e5e5 100%) !important; }
.data-stream, .breadcrumb-bar { background: #f1e5e5 !important; }
.aomics-operating-model, .about-signal-band, .about-advisory, .quote-page,
.technology-stack, .compliance-standards { background: linear-gradient(145deg, #fff 0%, #f1e5e5 100%) !important; }
.technology-hero, .editorial-hero, .contact-hero, .contact-success { background: linear-gradient(145deg, #fff 0%, #fff 58%, #f1e5e5 100%) !important; }
.technology-signal-card, .contact-hero-panel, .compliance-proof { background: linear-gradient(145deg, #050505 0%, #520000 52%, #7c0000 100%) !important; }
.technology-platform-card, .resource-card, .career-role, .contact-form,
.faq-cta, .aomics-audience-card { background: linear-gradient(160deg, #fff, #f1e5e5) !important; }
.about-cta, .editorial-cta, .careers-cta, .resources-request, .technology-cta,
.compliance-cta, .contact-platform-strip { background: linear-gradient(116deg, #050505 0%, #891919 52%, #7c0000 100%) !important; }

/* Use the full wordmark at roughly 80% of the expanded header height. */
.brand-logo-frame { width: 320px; height: 96px; }
.brand-logo-dark { width: auto; height: 92px; max-width: 100%; max-height: none; object-fit: contain; }
@media (max-width: 1180px) { .brand-logo-frame { width: 260px; } }
@media (max-width: 1023px) { .brand-logo-frame { width: 230px; height: 82px; }.brand-logo-dark { height: 78px; } }
@media (max-width: 640px) { .brand-logo-frame { width: 200px; height: 76px; }.brand-logo-dark { height: 72px; } }

/* Header reference alignment and homepage surface. */
.aomics-hero { background: linear-gradient(145deg, #fff 0%, #fff 62%, rgba(124,0,0,.055) 100%) !important; }
.aomics-hero-copy h1 { background: linear-gradient(110deg, #050505 0%, #7c0000 100%); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; color: transparent; }
.aomics-hero-copy h1 .type-line { display: inline; background: none; -webkit-text-fill-color: inherit; color: inherit; }
.aomics-hero-copy h1 .type-line em { background: none; -webkit-text-fill-color: inherit; color: inherit; }

/* Flag buttons follow the dependency-free SVG treatment used by Adaptrials. */
.lang-btn { display: inline-flex; align-items: center; justify-content: center; width: 30px; height: 26px; padding: 3px !important; border: 1px solid rgba(124,0,0,.2) !important; border-radius: 999px !important; }
.flag-icon { display: inline-flex; width: 18px; height: 12px; overflow: hidden; border-radius: 3px; box-shadow: inset 0 0 0 1px rgba(0,0,0,.14); }
.flag-icon svg { display: block; width: 100%; height: 100%; }
.site-header.scrolled .lang-btn { border-color: rgba(255,255,255,.4) !important; }

.footer-quote-button { display: inline-flex; align-items: center; gap: 8px; width: fit-content; padding: 10px 14px; border: 1px solid #fff; border-radius: 9px; background: #fff; color: var(--aomics-burgundy); font-size: 12px; font-weight: 800; cursor: pointer; transition: background .2s ease, color .2s ease, transform .2s ease; }
.footer-quote-button:hover { background: var(--aomics-burgundy-deep); color: #fff; transform: translateY(-1px); }

@media (max-width: 640px) {
  .aomics-hero-copy h1 .type-line { display: block; }
}

/* Contact journey — the CTA pattern is intentionally spacious and decisive,
   while the intake surface gives every enquiry a useful scientific starting
   point instead of routing people into a generic mailbox. */
.contact-page { min-height: calc(100vh - 72px); background: #faf5f5; color: var(--text-primary); }
.contact-hero { padding: 136px 0 92px; background: linear-gradient(145deg, #fff 0%, #faf5f5 58%, rgba(124, 0, 0, .42) 100%); overflow: hidden; }
.contact-hero-grid { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(350px, .9fr); gap: 76px; align-items: center; }
.contact-hero-copy { max-width: 760px; }
.contact-hero-copy h1 { max-width: 760px; margin: 14px 0 22px; color: var(--text-primary); font-size: clamp(2.65rem, 5vw, 5.1rem); line-height: .98; letter-spacing: -.06em; }
.contact-hero-copy h1 { background: linear-gradient(112deg, #050505 8%, #6a1414 50%, var(--aomics-burgundy) 94%); -webkit-background-clip: text; background-clip: text; color: transparent; }
.contact-hero-lead { max-width: 660px; color: var(--text-secondary); font-size: 17px; line-height: 1.75; }
.contact-hero-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 20px; margin-top: 30px; }
.contact-hero-link { color: var(--aomics-burgundy); font-size: 14px; font-weight: 800; text-decoration: none; }
.contact-hero-link span { display: inline-block; margin-left: 5px; transition: transform .2s ease; }
.contact-hero-link:hover span { transform: translate(3px, -3px); }
.contact-steps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; max-width: 660px; margin-top: 58px; padding-top: 20px; border-top: 1px solid rgba(124, 0, 0, .2); }
.contact-steps div { display: grid; gap: 3px; }
.contact-steps span { color: var(--aomics-burgundy); font: 700 11px 'SF Mono', monospace; }
.contact-steps strong { color: var(--text-primary); font-size: 14px; }
.contact-steps small { color: var(--text-secondary); font-size: 11px; line-height: 1.45; }
.contact-hero-panel { position: relative; min-height: 430px; padding: 28px; border: 1px solid rgba(124, 0, 0, .5); border-radius: 18px; background: linear-gradient(145deg, #050505 0%, #19231b 48%, #7c0000 100%); box-shadow: 0 24px 60px rgba(60, 20, 20, .22); color: #fff; overflow: hidden; }
.contact-hero-panel::after { content: ''; position: absolute; right: -90px; bottom: -110px; width: 290px; height: 290px; border: 1px solid rgba(124, 0, 0, .35); border-radius: 50%; box-shadow: 0 0 0 26px rgba(124, 0, 0, .06), 0 0 0 54px rgba(124, 0, 0, .04); }
.contact-panel-top { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding-bottom: 18px; border-bottom: 1px solid rgba(255, 255, 255, .18); color: var(--aomics-sage); font: 700 10px 'SF Mono', monospace; letter-spacing: .09em; }
.contact-panel-top b { color: #fff; font-weight: 700; }
.contact-panel-orbit { position: relative; display: grid; place-items: center; width: 180px; height: 180px; margin: 40px auto 24px; border: 1px solid rgba(124, 0, 0, .42); border-radius: 50%; }
.contact-panel-orbit::before, .contact-panel-orbit::after { content: ''; position: absolute; inset: 23px; border: 1px solid rgba(124, 0, 0, .25); border-radius: 50%; }
.contact-panel-orbit::after { inset: 52px; border-color: rgba(255, 255, 255, .2); }
.contact-panel-orbit span { z-index: 1; display: grid; place-items: center; width: 58px; height: 58px; border-radius: 50%; background: linear-gradient(145deg, #fff, var(--aomics-sage)); color: var(--aomics-burgundy); font-size: 26px; font-weight: 900; box-shadow: 0 0 30px rgba(124, 0, 0, .38); }
.contact-panel-orbit i { position: absolute; width: 7px; height: 7px; border-radius: 50%; background: var(--aomics-sage); box-shadow: 0 0 14px var(--aomics-sage); }
.contact-panel-orbit i:nth-of-type(1) { top: 14px; left: 83px; }.contact-panel-orbit i:nth-of-type(2) { right: 12px; bottom: 43px; background: #fff; }.contact-panel-orbit i:nth-of-type(3) { bottom: 17px; left: 45px; background: #c98989; }
.contact-hero-panel h2 { position: relative; z-index: 1; margin: 0 0 10px; color: #fff; font-size: 27px; letter-spacing: -.04em; }
.contact-hero-panel > p { position: relative; z-index: 1; max-width: 390px; color: rgba(255, 255, 255, .74); font-size: 14px; line-height: 1.7; }
.contact-panel-metrics { position: relative; z-index: 1; display: flex; gap: 26px; margin-top: 24px; }
.contact-panel-metrics span { display: grid; gap: 2px; color: rgba(255, 255, 255, .64); font-size: 10px; line-height: 1.35; text-transform: uppercase; letter-spacing: .06em; }
.contact-panel-metrics b { color: var(--aomics-sage); font-size: 19px; letter-spacing: -.04em; }
.contact-intake { padding: 108px 0; background: #fff; }
.contact-intake-grid { display: grid; grid-template-columns: minmax(250px, .76fr) minmax(0, 1.24fr); gap: 78px; align-items: start; }
.contact-intake-brief { position: sticky; top: 120px; }
.contact-intake-brief h2 { max-width: 410px; margin: 14px 0 15px; color: var(--text-primary); font-size: clamp(2rem, 3.5vw, 3.25rem); line-height: 1.03; letter-spacing: -.05em; }
.contact-intake-brief > p { max-width: 430px; color: var(--text-secondary); line-height: 1.7; }
.contact-direct-list { display: grid; gap: 9px; margin-top: 34px; }
.contact-direct-list a, .contact-direct-list button { display: grid; grid-template-columns: 30px 1fr auto; gap: 12px; align-items: center; width: 100%; padding: 14px 0; border: 0; border-top: 1px solid rgba(124, 0, 0, .15); background: transparent; color: var(--text-primary); text-align: left; text-decoration: none; cursor: pointer; }
.contact-direct-list a:last-child, .contact-direct-list button:last-child { border-bottom: 1px solid rgba(124, 0, 0, .15); }
.contact-direct-list a > span, .contact-direct-list button > span { display: grid; place-items: center; width: 28px; height: 28px; border-radius: 8px; background: rgba(124, 0, 0, .38); color: var(--aomics-burgundy); font-weight: 800; }
.contact-direct-list strong, .contact-direct-list small { display: block; }
.contact-direct-list strong { font-size: 13px; }.contact-direct-list small { margin-top: 2px; color: var(--text-secondary); font-size: 11px; line-height: 1.4; }.contact-direct-list b { color: var(--aomics-burgundy); font-size: 17px; transition: transform .2s ease; }.contact-direct-list a:hover b, .contact-direct-list button:hover b { transform: translateX(4px); }
.contact-form { padding: 30px; border: 1px solid rgba(124, 0, 0, .16); border-radius: 18px; background: linear-gradient(150deg, #fff, rgba(124, 0, 0, .15)); box-shadow: 0 18px 44px rgba(60, 20, 20, .08); }
.contact-form-heading { display: flex; align-items: baseline; justify-content: space-between; gap: 16px; margin-bottom: 28px; padding-bottom: 18px; border-bottom: 1px solid rgba(124, 0, 0, .14); }.contact-form-heading span { color: var(--aomics-burgundy); font: 700 11px 'SF Mono', monospace; }.contact-form-heading p { margin: 0; color: var(--text-secondary); font-size: 12px; }
.contact-form fieldset { padding: 0; border: 0; }.contact-form legend { margin-bottom: 14px; color: var(--text-primary); font-size: 16px; font-weight: 800; }
.contact-intent-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.contact-intent-grid button { position: relative; display: grid; gap: 5px; min-height: 126px; padding: 15px; border: 1px solid rgba(124, 0, 0, .14); border-radius: 11px; background: rgba(255, 255, 255, .72); color: var(--text-primary); text-align: left; cursor: pointer; transition: border-color .2s ease, background .2s ease, transform .2s ease; }
.contact-intent-grid button:hover { transform: translateY(-2px); border-color: rgba(124, 0, 0, .4); }.contact-intent-grid button.selected { border-color: var(--aomics-burgundy); background: rgba(124, 0, 0, .35); box-shadow: inset 0 0 0 1px rgba(124, 0, 0, .12); }.contact-intent-grid button > span { color: var(--aomics-burgundy); font: 700 10px 'SF Mono', monospace; }.contact-intent-grid strong { padding-right: 20px; font-size: 13px; line-height: 1.2; }.contact-intent-grid small { max-width: 245px; color: var(--text-secondary); font-size: 11px; line-height: 1.45; }.contact-intent-grid button > b { position: absolute; top: 13px; right: 14px; color: var(--aomics-burgundy); font-size: 16px; }
.contact-form-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 15px; margin-top: 26px; }.contact-form-fields label { display: grid; gap: 7px; color: var(--text-primary); font-size: 12px; font-weight: 700; }.contact-form-fields label:nth-child(4) { grid-column: 1 / -1; }.contact-form input:not([type="checkbox"]), .contact-form textarea { width: 100%; padding: 12px 13px; border: 1px solid rgba(124, 0, 0, .18); border-radius: 8px; background: rgba(255, 255, 255, .88); color: var(--text-primary); font: inherit; font-size: 13px; outline: none; transition: border-color .2s ease, box-shadow .2s ease; }.contact-form textarea { resize: vertical; min-height: 112px; }.contact-form input:focus, .contact-form textarea:focus { border-color: var(--aomics-burgundy); box-shadow: 0 0 0 3px rgba(124, 0, 0, .38); }.contact-form input::placeholder, .contact-form textarea::placeholder { color: #87928b; }
.contact-consent { display: flex; gap: 9px; align-items: flex-start; margin-top: 18px; color: var(--text-secondary); font-size: 11px; line-height: 1.5; }.contact-consent input { flex: 0 0 auto; width: 15px; height: 15px; margin-top: 1px; accent-color: var(--aomics-burgundy); }
.contact-form-footer { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-top: 24px; padding-top: 20px; border-top: 1px solid rgba(124, 0, 0, .14); }.contact-form-footer small { color: var(--text-secondary); font-size: 11px; line-height: 1.4; }.contact-form-footer .btn { flex: 0 0 auto; }
.contact-platform-strip { padding: 54px 0; background: linear-gradient(116deg, #050505 0%, #3a0000 50%, #7c0000 100%); color: #fff; }.contact-platform-strip > .wrap > .aomics-kicker { color: var(--aomics-sage); }.contact-platform-strip > .wrap > div { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; margin-top: 18px; }.contact-platform-strip span { display: grid; gap: 5px; padding: 17px 18px; border: 1px solid rgba(124, 0, 0, .28); border-radius: 10px; color: rgba(255, 255, 255, .72); font-size: 12px; line-height: 1.45; }.contact-platform-strip b { color: #fff; font-size: 14px; }
.contact-success { display: grid; min-height: calc(100vh - 72px); place-items: center; padding: 120px 0 80px; background: linear-gradient(145deg, #fff 0%, #faf5f5 58%, rgba(124, 0, 0, .42) 100%); }.contact-success-card { max-width: 720px; padding: 52px; border: 1px solid rgba(124, 0, 0, .16); border-radius: 20px; background: #fff; box-shadow: 0 22px 55px rgba(60, 20, 20, .12); text-align: center; }.contact-success-mark { display: grid; place-items: center; width: 58px; height: 58px; margin: 0 auto 24px; border-radius: 50%; background: var(--aomics-burgundy); color: #fff; font-size: 28px; font-weight: 800; }.contact-success-card h1 { margin: 14px 0; color: var(--text-primary); font-size: clamp(2rem, 4vw, 3.6rem); line-height: 1; letter-spacing: -.05em; }.contact-success-card > p:not(.aomics-kicker) { color: var(--text-secondary); line-height: 1.7; }.contact-success-actions { display: flex; justify-content: center; align-items: center; gap: 20px; margin-top: 30px; }.contact-text-button { border: 0; background: transparent; color: var(--aomics-burgundy); font-size: 13px; font-weight: 800; cursor: pointer; }
@media (max-width: 900px) { .contact-hero-grid, .contact-intake-grid { grid-template-columns: 1fr; gap: 44px; }.contact-hero-panel { max-width: 620px; }.contact-intake-brief { position: static; }.contact-intake-brief > p { max-width: 620px; }.contact-direct-list { max-width: 620px; }.contact-platform-strip > .wrap > div { grid-template-columns: 1fr; } }
@media (max-width: 640px) { .contact-hero { padding: 106px 0 72px; }.contact-hero-copy h1 { font-size: clamp(2.45rem, 13vw, 4rem); }.contact-hero-lead { font-size: 15px; }.contact-steps { margin-top: 40px; }.contact-hero-panel { min-height: 390px; padding: 22px; }.contact-intake { padding: 76px 0; }.contact-form { padding: 20px; }.contact-intent-grid, .contact-form-fields { grid-template-columns: 1fr; }.contact-form-fields label:nth-child(4) { grid-column: auto; }.contact-form-heading { display: grid; gap: 8px; }.contact-form-footer { align-items: flex-start; flex-direction: column; }.contact-success-card { padding: 34px 22px; }.contact-success-actions { align-items: stretch; flex-direction: column; } }

/* Final brand pass: no green accents remain in active surfaces. Every former
   teal/sage treatment resolves to the burgundy scale supplied by the brand. */
.site-header { background: linear-gradient(112deg, rgba(255,255,255,.98), rgba(241,229,229,.72) 58%, rgba(124,0,0,.12)) !important; }
.site-header.scrolled { background: linear-gradient(112deg, #520000, #7c0000 58%, #891919) !important; }
.header-cta { background: linear-gradient(125deg, #7c0000, #891919) !important; color: #fff !important; }
.site-header.scrolled .header-cta { background: #fff !important; color: #7c0000 !important; }
.hero-window-bar { background: #520000 !important; color: #f1e5e5 !important; border-color: rgba(241,229,229,.26) !important; }
.hero-signal-card, .hero-workspace-tile { background: #f1e5e5 !important; border-color: rgba(124,0,0,.2) !important; color: var(--text-primary); }
.hero-workspace-tile:hover { background: #e4cccc !important; border-color: rgba(124,0,0,.38) !important; }
.service-atlas-orbit { border-color: rgba(124,0,0,.4) !important; }
.profile-photo-wrap { background: linear-gradient(145deg, #e4cccc, #f1e5e5) !important; }
.profile-index, .quote-brief-list b, .quote-progress button.active { color: var(--aomics-burgundy) !important; }
.quote-page, .page-hero, .technology-hero, .editorial-hero, .compliance-hero,
.contact-hero, .contact-success { background: linear-gradient(145deg, #fff 0%, #fff 58%, #f1e5e5 100%) !important; }
.quote-fields input:not([type="checkbox"]), .quote-fields select, .quote-fields textarea,
.domain-grid button { background: #fff !important; border-color: rgba(124,0,0,.2) !important; }
.quote-fields input:focus, .quote-fields select:focus, .quote-fields textarea:focus { outline-color: rgba(124,0,0,.16) !important; border-color: var(--aomics-burgundy) !important; }
.quote-progress button.active { border-bottom-color: var(--aomics-burgundy-2) !important; }
.quote-progress button.active span, .quote-progress button.complete span,
.quote-success-mark { background: #e4cccc !important; border-color: #ca9999 !important; color: var(--aomics-burgundy) !important; }
.technology-hero h1::first-line, .aomics-hero-copy h1 .type-line { background-image: linear-gradient(110deg, #050505 0%, #7c0000 100%) !important; }
.technology-signal-bar span, .compliance-proof-line span { background: linear-gradient(to top, #7c0000, #e4cccc) !important; }
.technology-stack, .compliance-standards, .aomics-audience, .aomics-operating-model,
.about-signal-band, .about-advisory { background: linear-gradient(145deg, #fff 0%, #f1e5e5 100%) !important; }
.aomics-stage-status { background: rgba(241,229,229,.72) !important; border-color: rgba(124,0,0,.2) !important; }
.aomics-stage-status strong { color: var(--aomics-burgundy) !important; }
.domain-grid button.selected { background: #e4cccc !important; border-color: rgba(124,0,0,.48) !important; }
.technology-cta, .editorial-cta, .compliance-cta, .about-cta, .careers-cta,
.resources-request, .contact-platform-strip { background: linear-gradient(116deg, #050505 0%, #891919 52%, #7c0000 100%) !important; }
.contact-hero-panel, .compliance-proof, .technology-signal-card { background: linear-gradient(145deg, #050505 0%, #520000 52%, #7c0000 100%) !important; border-color: rgba(241,229,229,.28) !important; }
.contact-panel-orbit, .compliance-proof-core span { border-color: rgba(241,229,229,.42) !important; }
.contact-panel-orbit span { background: linear-gradient(145deg, #fff, #e4cccc) !important; color: var(--aomics-burgundy) !important; }
.contact-panel-orbit i { background-color: #e4cccc !important; box-shadow: 0 0 14px #e4cccc !important; }
.contact-panel-metrics b, .contact-panel-top { color: #e4cccc !important; }
.contact-panel-top, .contact-platform-strip > .wrap > .aomics-kicker { color: #e4cccc !important; }
.contact-platform-strip span { border-color: rgba(241,229,229,.3) !important; }
.about-signal-band, .about-advisory, .technology-platform-card, .resource-card,
.career-role, .contact-form, .faq-cta, .aomics-audience-card { border-color: rgba(124,0,0,.18) !important; }

/* Contrast correction for the homepage and dark brand CTAs. */
body { background: #fff !important; color: #1c1010; }
.aomics-hero { background: #fff !important; background-image: linear-gradient(145deg, #fff 0%, #fff 70%, #f1e5e5 100%) !important; }
.aomics-hero-visual { background: linear-gradient(145deg, #fff 0%, #fff 58%, #f1e5e5 100%) !important; border-color: rgba(124,0,0,.2) !important; box-shadow: 0 24px 60px rgba(124,0,0,.12) !important; color: #1c1010; }
.hero-window-body, .hero-workspace-heading h2, .hero-workspace-tile strong { color: #1c1010 !important; }
.hero-workspace-heading p, .hero-signal-title, .hero-signal-axis, .hero-workspace-tile small, .hero-workspace-footer { color: #6d4c4c !important; }
.hero-reviewed { background: #e4cccc !important; border-color: #ca9999 !important; color: #7c0000 !important; }
.hero-signal-card, .hero-workspace-tile { background: #f1e5e5 !important; }
.about-cta h2, .about-cta p:not(.aomics-kicker), .about-cta .aomics-kicker,
.editorial-cta h2, .editorial-cta p:not(.aomics-kicker), .technology-cta h2,
.technology-cta p:not(.aomics-kicker), .compliance-cta h2, .compliance-cta p:not(.aomics-kicker),
.careers-cta h2, .careers-cta p:not(.aomics-kicker), .resources-request h2,
.resources-request p:not(.aomics-kicker) { color: #fff !important; }
.about-cta .aomics-kicker, .editorial-cta .aomics-kicker, .technology-cta .aomics-kicker,
.compliance-cta .aomics-kicker, .careers-cta .aomics-kicker, .resources-request .aomics-kicker { color: #e4cccc !important; }

/* Homepage hero headline — layered brand treatment.
   Lead copy sits in near-black ink for legibility; the emphasis word is solid
   brand; the closing phrase carries a refined burgundy→rust text gradient with
   a solid brand fallback for browsers without reliable text clipping. */
.aomics-hero-copy h1,
.aomics-hero-copy h1 .type-line {
  background-image: none !important;
  background-clip: initial !important;
  -webkit-background-clip: initial !important;
  color: #1c1010 !important;
  -webkit-text-fill-color: #1c1010 !important;
}
.aomics-hero-copy h1 .type-line em {
  font-style: normal;
  background-image: none !important;
  -webkit-background-clip: initial !important;
  background-clip: initial !important;
  color: #7c0000 !important;
  -webkit-text-fill-color: #7c0000 !important;
}
.aomics-hero-copy h1 .hero-title-grad {
  color: #7c0000 !important;
  -webkit-text-fill-color: #7c0000 !important;
}
@supports ((-webkit-background-clip: text) or (background-clip: text)) {
  .aomics-hero-copy h1 .hero-title-grad {
    background-image: linear-gradient(102deg, #7c0000 0%, #9e142b 52%, #c04a33 100%) !important;
    -webkit-background-clip: text !important;
    background-clip: text !important;
    color: transparent !important;
    -webkit-text-fill-color: transparent !important;
  }
}

/* Canonical action treatment: every primary action follows the same
   “Scope this work” outline/hover behavior across light and dark surfaces. */
.btn, .header-cta, .footer-quote-button {
  background: #fff !important;
  color: #7c0000 !important;
  border: 1px solid #7c0000 !important;
  box-shadow: 0 8px 22px rgba(124,0,0,.12) !important;
}
/* The old cyan/teal design faded this overlay in on hover to shift the
   background gradient; .btn:hover now sets the background directly, so the
   overlay is purely redundant — and, worse, it sits (position: absolute,
   inset: 0) on top of any button label that isn't wrapped in a <span>
   (".btn span" is the only thing given z-index: 1 above it), which is why
   "Explore our services" / "Request a quote" and similar plain-text .btn-glow
   buttons went blank on hover while "Scope this work" (.btn-outline, whose
   ::before is already display: none) did not. Hiding it here matches that
   outline treatment for every .btn variant. */
.btn::before { display: none !important; }
.btn:hover, .header-cta:hover, .footer-quote-button:hover {
  background: #7c0000 !important;
  color: #fff !important;
  border-color: #7c0000 !important;
  box-shadow: 0 12px 28px rgba(124,0,0,.24) !important;
}
.btn-quiet { background: #fff !important; color: #7c0000 !important; border-color: #7c0000 !important; box-shadow: none !important; }
.btn-quiet:hover { background: #7c0000 !important; color: #fff !important; }
.cookie-accept { background: #fff !important; color: #7c0000 !important; border-color: #7c0000 !important; }
.cookie-accept:hover { background: #7c0000 !important; color: #fff !important; }

/* Keep the high-specificity navigation hover rule in lockstep with the
   “Scope this work” interaction instead of reverting to the old bone tone. */
.site-header.scrolled .header-cta:hover,
.aomics-hero-actions .btn:hover,
.service-atlas .btn-outline:hover,
.footer-quote-button:hover {
  background: #7c0000 !important;
  color: #fff !important;
  border-color: #7c0000 !important;
}

/* Header wordmark matches the footer wordmark's own size exactly (.footer-brand
   img is a fixed 208px wide, no breakpoint scaling — line ~1050), rather than
   scaling with viewport width. 97px height = 208px / the logo file's own ratio
   (2091x974 ≈ 2.147:1). One size at every breakpoint, same as the footer;
   scrolling still shrinks to the compact favicon mark.
   !important is required: the original ".brand img" rule (line ~80, height:
   36px) is a class+type selector, which outranks a bare ".brand-logo-dark"/
   ".brand-logo-white" class selector regardless of source order — without it
   the logo silently renders at 36px no matter what is set here. */
.header-inner { height: 128px; }
.brand-logo-frame { width: 208px; height: 97px; }
.brand-logo-dark { width: 100% !important; height: 100% !important; max-width: none !important; max-height: none !important; object-fit: contain; }
.site-header.scrolled .header-inner { height: 72px; }
.site-header.scrolled .brand-logo-frame { width: 58px; height: 58px; }
.site-header.scrolled .brand-logo-white { width: 100% !important; height: 100% !important; max-width: none !important; max-height: none !important; object-fit: contain; }
.aomics-hero { padding-top: 152px; }

/* --------------------------------------------------------------------------
   Light pre-footer CTA bands for About, Contact, Blogs and News & Updates.
   Replaces the shared dark burgundy→black gradient (see the earlier
   ".about-cta, .editorial-cta, … { background: … !important }" block) with a
   clean white treatment so these bands read against the burgundy footer.
   -------------------------------------------------------------------------- */
.about-cta,
.editorial-cta,
.contact-platform-strip {
  background: #fff !important;
  background-image: linear-gradient(145deg, #fff 0%, #fff 60%, #faf5f5 100%) !important;
  border-top: 1px solid rgba(124, 0, 0, .12);
}
.about-cta h2,
.editorial-cta h2,
.contact-platform-strip b {
  color: var(--text-primary) !important;
}
.about-cta p:not(.aomics-kicker),
.editorial-cta p:not(.aomics-kicker),
.contact-platform-strip span {
  color: var(--text-secondary) !important;
}
.about-cta .aomics-kicker,
.editorial-cta .aomics-kicker,
.contact-platform-strip > .wrap > .aomics-kicker {
  color: var(--aomics-burgundy) !important;
}
.contact-platform-strip span {
  background: #fff;
  border-color: rgba(124, 0, 0, .16) !important;
}

/* ═══════════════════════════════════════════════════════════════
   Snow-white app background (major surface pass, 2026-09-07).
   The page canvas is snow (#FFFAFA); content cards keep their own
   surfaces. Header loses its warm-cream tint when not scrolled.
   ═══════════════════════════════════════════════════════════════ */
:root { --snow: #fffafa; }
html, body { background: var(--snow) !important; }
body { color: #1c1010; }
main, .page-main, .react-root, #root, .site-main { background: var(--snow); }
.site-header:not(.scrolled) {
  background: rgba(255, 250, 250, .94) !important;
  border-bottom-color: rgba(124, 0, 0, .10) !important;
  box-shadow: 0 8px 26px rgba(54, 18, 12, .06) !important;
}
.aomics-hero {
  background: var(--snow) !important;
  background-image: linear-gradient(150deg, var(--snow) 0%, var(--snow) 72%, #f7ecec 100%) !important;
}
.aomics-hero-visual, .aomics-hero-visual.is-dashboard { background: var(--snow) !important; }
/* Former cream section fills → snow, so large surfaces read clean white. */
.section-soft, .bg-soft, .aomics-band, .editorial-cta, .contact-platform-strip,
.resources-hero, .about-hero, .service-atlas, .aomics-audience {
  background-color: var(--snow) !important;
}

/* ═══════════════════════════════════════════════════════════════════════════
   ADAPTRIALS-ADAPTED FORMATTING  (2026-09-07)
   Ports the Adaptrials welcome-page formatting system — Geist typography, the
   at-rest header boundary treatment, shadcn-style button shape/size, and the
   compact footer type scale. Aomics brand colours (#7c0000 + rose tints) and
   brand surfaces (dark scrolled header, burgundy footer) are kept as-is.
   ═══════════════════════════════════════════════════════════════════════════ */
:root {
  --font-sans: 'Geist', ui-sans-serif, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  --font-mono: 'Geist Mono', ui-monospace, 'SF Mono', 'Fira Code', monospace;
  --radius: 0.75rem;
}

/* 1 — Typography ---------------------------------------------------------- */
body, input, button, select, textarea,
.btn, .header-cta, .footer-quote-button, .aomics-hero-secondary {
  font-family: var(--font-sans);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
h1, h2, h3, h4, h5, h6 { font-family: var(--font-sans); letter-spacing: -0.021em; }
/* Mono eyebrows / labels, the way Adaptrials sets small caps in Geist Mono */
.aomics-kicker, .aomics-hero-kicker, .kicker-pill, .editorial-label,
.aomics-detail-label, .section-number, .service-atlas-index, .profile-label,
.quote-step-hint, .biz-updated, .footer-col h4, .career-detail-grid h4,
.technology-layer > span, .compliance-heading > span, .aomics-capability-number,
.aomics-stage-line button i {
  font-family: var(--font-mono);
}
/* Body / lead copy — text-base → text-lg, leading-relaxed */
.aomics-hero-lead, .biz-hero p:not(.kicker-pill):not(.biz-updated),
.aomics-section-heading p, .service-atlas-copy > p:not(.service-atlas-index) {
  font-size: 1.075rem; line-height: 1.65;
}

/* 2 — Header boundary: clean & line-free at rest, subtle only on scroll --- */
.site-header:not(.scrolled) {
  background: rgba(255, 250, 250, .72) !important;
  -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px);
  border-bottom: 1px solid transparent !important;
  box-shadow: none !important;
}
.site-header.scrolled {
  box-shadow: 0 8px 30px -12px rgba(20, 8, 6, .18) !important;
}

/* 3 — Primary nav links: 14px / medium / rounded pill hover -------------- */
.main-nav > ul > li > .nav-item-row > a,
.main-nav > ul > li > a {
  font-size: 14px !important;
  font-weight: 500 !important;
  letter-spacing: 0 !important;
  padding: 8px 12px !important;
  border-radius: 8px;
  transition: background .15s ease, color .15s ease;
}
.site-header:not(.scrolled) .main-nav > ul > li > .nav-item-row > a:hover,
.site-header:not(.scrolled) .main-nav > ul > li > a:hover {
  background: rgba(124, 0, 0, .06);
  color: var(--aomics-burgundy) !important;
}

/* 4 — Buttons: shadcn geometry (rounded-md, 14px/medium, compact) -------- */
.btn, .btn-glow, .btn-outline, .header-cta, .footer-quote-button, .biz-chip {
  border-radius: 8px !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  letter-spacing: 0 !important;
}
.btn, .btn-glow, .btn-outline, .footer-quote-button { padding: 10px 18px !important; gap: 8px; }
.header-cta { padding: 9px 15px !important; }
.aomics-hero-actions .btn, .aomics-hero-actions .btn-glow,
.service-atlas .btn-outline { padding: 11px 20px !important; }
/* solid burgundy primary */
.btn.btn-glow, .aomics-hero-actions .btn.btn-glow, .footer-quote-button {
  background: var(--aomics-burgundy) !important;
  color: #fff !important;
  border: 1px solid var(--aomics-burgundy) !important;
  box-shadow: 0 1px 2px rgba(124, 0, 0, .14) !important;
}
.btn.btn-glow:hover, .aomics-hero-actions .btn.btn-glow:hover,
.footer-quote-button:hover { background: #6a0000 !important; }
/* outline secondary */
.btn.btn-outline, .service-atlas .btn-outline, .aomics-hero-actions .btn:not(.btn-glow) {
  background: #fff !important;
  color: var(--aomics-burgundy) !important;
  border: 1px solid rgba(124, 0, 0, .35) !important;
  box-shadow: 0 1px 2px rgba(124, 0, 0, .06) !important;
}
.btn.btn-outline:hover, .service-atlas .btn-outline:hover,
.aomics-hero-actions .btn:not(.btn-glow):hover {
  background: rgba(124, 0, 0, .06) !important;
  border-color: var(--aomics-burgundy) !important;
  color: var(--aomics-burgundy) !important;
}

/* 5 — Footer: keep the burgundy surface, adopt the compact Adaptrials type - */
.footer-col h4 {
  font-size: .7rem !important;
  font-weight: 600 !important;
  letter-spacing: .12em !important;
  text-transform: uppercase !important;
  margin-bottom: 14px !important;
}
.footer-col ul li a, .footer-brand p { font-size: 13px !important; }
.footer-bottom p, .footer-legal, .footer-badges span { font-size: .72rem !important; }
.footer-badges span { border-radius: 8px !important; }

/* 6 — Container width parity (Adaptrials max-w-7xl) --------------------- */
.header-inner { max-width: 1280px !important; }

/* ═══════════════════════════════════════════════════════════════
   7 — White surface pass  (Adaptrials parity: pages sit on white,
       brand colour appears only on element edges / hairlines)
   ═══════════════════════════════════════════════════════════════ */
:root {
  --bg-deep: #ffffff;
  --bg-base: #ffffff;
  --bg-surface: #ffffff;
  --bg-elevated: #f8f3f3;
  --bg-glass: rgba(255, 255, 255, 0.92);
  --border-subtle: rgba(124, 0, 0, 0.16);
  --border-glow: rgba(124, 0, 0, 0.34);
  --shadow-glow: 0 10px 34px rgba(124, 0, 0, 0.06);
  --shadow-card: 0 6px 20px rgba(60, 20, 20, 0.06);
}

/* page + section backgrounds → flat white, no gradients / tints */
body,
.aomics-hero, .hero-gradient-bottom,
.aomics-metrics, .aomics-capabilities, .aomics-trust-band, .aomics-operating-model,
.page-content, .page-hero, .error-hero, .service-atlas,
.breadcrumb-bar, .data-stream, .aomics-ticker,
.react-loading, .react-error {
  background: #fff !important;
  background-image: none !important;
}
.site-header, .site-header.scrolled { background: rgba(255, 255, 255, 0.9) !important; background-image: none !important; }

/* cards / panels: white fill + brand hairline edge */
.metric-card, .aomics-capability-row, .aomics-capability-detail, .trust-card,
.aomics-stage-detail, .aomics-stage-line button, .aomics-hero-visual,
.hero-signal-card, .hero-workspace-tile, .blog-card, .legacy-budget-card {
  background: #fff !important;
  background-image: none !important;
  border: 1px solid var(--border-subtle) !important;
  box-shadow: var(--shadow-card);
}
.aomics-capability-row:hover, .aomics-capability-row.is-open,
.aomics-stage-line button:hover, .hero-workspace-tile:hover {
  background: var(--bg-elevated) !important;
  border-color: var(--border-glow) !important;
}
.aomics-stage-line button.is-selected {
  background: #fff !important;
  border-color: var(--cyan-600) !important;
  box-shadow: inset 3px 0 0 var(--cyan-600), var(--shadow-card) !important;
}

/* pills / tags / status chips: outline, not fill */
.aomics-hero-trust span, .aomics-tag-list span, .hero-reviewed, .aomics-stage-status {
  background: #fff !important;
  border: 1px solid var(--border-subtle) !important;
  color: var(--cyan-600) !important;
}
.aomics-stage-status strong, .trust-card strong, .aomics-kicker { color: var(--cyan-600); }

/* fake window chrome + gradient text → light / solid */
.hero-window-bar { background: #f6efef !important; color: var(--text-muted) !important; border-bottom: 1px solid var(--border-subtle); }
.metric-value { background: none !important; -webkit-text-fill-color: var(--cyan-600); color: var(--cyan-600) !important; }

/* dark contrast blocks → white with a single brand top edge */
.aomics-home-contact {
  background: #fff !important; background-image: none !important; color: var(--text-primary) !important;
  border: 1px solid var(--border-subtle); border-top: 3px solid var(--cyan-600);
}
.aomics-home-contact p, .aomics-home-contact-actions small { color: var(--text-secondary) !important; }
.aomics-home-contact-actions a:not(.btn) { color: var(--cyan-600) !important; }

.site-footer { background: #fff !important; background-image: none !important; color: var(--text-secondary) !important; border-top: 3px solid var(--cyan-600); }
.footer-brand p, .footer-col ul li a, .footer-bottom p { color: var(--text-secondary) !important; }
.footer-col h4 { color: var(--text-primary) !important; }
.footer-social a { background: #fff !important; border: 1px solid var(--border-subtle) !important; color: var(--cyan-600) !important; }
.footer-social a:hover { background: var(--cyan-600) !important; color: #fff !important; }

/* scrollbar on white */
::-webkit-scrollbar-track { background: #fff; }
::-webkit-scrollbar-thumb { background: #e7dede; }
::-webkit-scrollbar-thumb:hover { background: #d3c3c3; }

/* the primary CTA stays the one intentional brand fill */
.header-cta, .btn { background: var(--cyan-600) !important; background-image: none !important; color: #fff !important; border: 1px solid var(--cyan-600) !important; }
.header-cta:hover, .btn:hover { background: #5f0000 !important; }

/* footer: very light + world-map watermark (parity with old WordPress footer) */
.site-footer {
  background: #fcfbfb url("/assets/world-map.svg") no-repeat center 58% !important;
  background-size: clamp(760px, 94%, 1220px) auto !important;
  border-top: 1px solid var(--border-subtle) !important;
}
.site-footer > * { position: relative; }

/* ── v2: subtle dotted world-map footer + line-free header ─────────────── */
.site-footer {
  background: #fcfbfb url("/assets/world-map.svg") no-repeat center 46% !important;
  background-size: min(940px, 78%) auto !important;
  border-top: 1px solid rgba(124, 0, 0, 0.10) !important;
}
.site-footer > * { position: relative; z-index: 1; }

.site-header,
.site-header:not(.scrolled),
.site-header.scrolled {
  border: 0 !important;
  border-bottom: 0 !important;
  box-shadow: none !important;
}
.site-header.scrolled { box-shadow: 0 10px 30px -18px rgba(20, 8, 6, 0.22) !important; }
.data-stream, .aomics-ticker, .breadcrumb-bar { border-top: 0 !important; border-bottom: 0 !important; }

/* ═══════════════════════════════════════════════════════════════════════════
   v3 — scrolled header stays white & legible · header/hero fully line-free ·
   footer text = dark brand, disclaimer = brand fill, map ~80% transparent
   ═══════════════════════════════════════════════════════════════════════════ */

/* 1 — scrolled header: identical white treatment to the at-rest header ----- */
.site-header, .site-header:not(.scrolled), .site-header.scrolled {
  background: #ffffff !important;
  background-image: none !important;
  border: 0 !important;
  box-shadow: none !important;
}
.site-header.scrolled .brand,
.site-header.scrolled .main-nav ul li a,
.site-header.scrolled .main-nav > ul > li > .nav-item-row > a,
.site-header.scrolled .main-nav > ul > li > a,
.site-header.scrolled .nav-sub-toggle,
.site-header.scrolled .lang-btn,
.site-header.scrolled .lang-divider { color: #1c1010 !important; }
.site-header.scrolled .main-nav ul li a:hover,
.site-header.scrolled .main-nav > ul > li > .nav-item-row > a:hover,
.site-header.scrolled .nav-sub-toggle:hover { color: #7c0000 !important; }
.site-header.scrolled .nav-toggle span { background: #1c1010 !important; }
.site-header.scrolled .header-cta { background: #7c0000 !important; background-image: none !important; color: #fff !important; border-color: #7c0000 !important; }
.site-header.scrolled .lang-btn { border-color: rgba(124, 0, 0, .25) !important; }
.site-header.scrolled .lang-btn.active { background: #7c0000 !important; color: #fff !important; border-color: #7c0000 !important; }
.site-header.scrolled .lang-divider { color: rgba(124, 0, 0, .4) !important; }
.site-header.scrolled .sub-menu { background: #fff !important; background-image: none !important; border-color: rgba(124, 0, 0, .14) !important; }
.site-header.scrolled .sub-menu li a { color: #1c1010 !important; }
.site-header.scrolled .sub-menu li a:hover { color: #7c0000 !important; }
/* logo: full wordmark at rest → compact colour favicon (aomics-mark.png) once scrolled */
.site-header.scrolled .brand-logo-dark { opacity: 0 !important; visibility: hidden !important; }
.site-header.scrolled .brand-logo-white {
  display: block !important; opacity: 1 !important; visibility: visible !important;
  height: 46px !important; width: 46px !important; max-height: none !important; object-fit: contain !important;
}

/* 2 — header + hero: completely white, zero divider ---------------------- */
.aomics-hero, .aomics-hero.reveal {
  background: #ffffff !important;
  background-image: none !important;
}
.aomics-hero::before, .aomics-hero::after, .hero-gradient-bottom { background: none !important; }
main, .page-main, #root { background: #ffffff !important; }

/* 3 — footer: dark-brand text, brand-fill disclaimer, faint map ---------- */
.footer-col h4, .footer-brand strong { color: #7c0000 !important; }
.footer-col ul li a, .footer-brand p, .footer-bottom p,
.footer-legal a, .footer-legal { color: #5f0000 !important; }
.footer-legal-divider { color: rgba(124, 0, 0, .45) !important; }
.footer-col ul li a:hover, .footer-legal a:hover { color: #7c0000 !important; }
.footer-bottom { border-top-color: rgba(124, 0, 0, .14) !important; }
.footer-social a { border-color: rgba(124, 0, 0, .3) !important; color: #7c0000 !important; }

.footer-disclaimer {
  background: #7c0000 !important;
  color: rgba(255, 255, 255, .88) !important;
  border-radius: 8px;
}
.footer-disclaimer strong { color: #ffffff !important; }

/* v5 — footer brand slot: full colour Aomics wordmark (aomics-logo.png) */
.site-footer .footer-brand img,
.footer-brand img {
  width: 190px !important;
  height: auto !important;
  max-width: 100% !important;
  max-height: none !important;
  margin-bottom: 18px !important;
  filter: none !important;
  background: transparent !important;
}

/* ═══════════════════════════════════════════════════════════════════════════
   v6 — German nav must not collide with the logo · dark CTA panels lightened
        to an Adaptrials-style brand+grey gradient with dark text
   ═══════════════════════════════════════════════════════════════════════════ */

/* A. header layout guards + German (longer labels) tightening ------------- */
.header-inner { gap: 22px; }
.brand { flex: 0 0 auto; position: relative; z-index: 3; align-self: stretch;
  display: flex; align-items: center; padding-right: 12px; background: #fff; }
.main-nav { min-width: 0; }
.main-nav > ul { flex-wrap: nowrap; }
html[lang="de"] .site-header:not(.scrolled) .brand-logo-frame { width: 176px !important; }
html[lang="de"] .site-header .main-nav { gap: 15px !important; }
html[lang="de"] .site-header .main-nav > ul { gap: 12px !important; }
html[lang="de"] .site-header .main-nav ul li a,
html[lang="de"] .site-header .main-nav > ul > li > .nav-item-row > a {
  font-size: 12.5px !important; letter-spacing: 0 !important;
  padding-left: 4px !important; padding-right: 4px !important;
}
html[lang="de"] .site-header .header-cta { padding-inline: 14px !important; font-size: 12.5px !important; }
@media (min-width: 1024px) and (max-width: 1360px) {
  html[lang="de"] .site-header:not(.scrolled) .brand-logo-frame { width: 148px !important; }
  html[lang="de"] .site-header .main-nav { gap: 10px !important; }
  html[lang="de"] .site-header .main-nav > ul { gap: 7px !important; }
  html[lang="de"] .site-header .main-nav ul li a,
  html[lang="de"] .site-header .main-nav > ul > li > .nav-item-row > a { font-size: 11.5px !important; }
  html[lang="de"] .site-header .lang-btn { transform: scale(.85); }
}

/* B. dark CTA / proof panels → light brand+grey gradient ----------------- */
.technology-cta, .compliance-cta, .careers-cta, .about-cta, .contact-platform-strip,
.technology-signal-card, .compliance-proof, .contact-hero-panel {
  background: linear-gradient(135deg, #f7f2f2 0%, #edeaec 46%, #ecedf2 100%) !important;
  color: #241a1b !important;
  border: 1px solid rgba(124, 0, 0, .14) !important;
  box-shadow: 0 16px 40px rgba(60, 20, 20, .07) !important;
}
.compliance-standards { background: linear-gradient(145deg, #faf6f6, #f0ecee) !important; }
.compliance-chain-item { background: linear-gradient(160deg, #fff, #f4eff1) !important; }

.technology-cta h2, .compliance-cta h2, .careers-cta h2, .about-cta h2,
.technology-signal-flow, .technology-signal-header b, .compliance-proof-top b,
.contact-hero-panel h2, .contact-hero-panel h3 { color: #241a1b !important; }
.technology-cta p:not(.aomics-kicker), .compliance-cta p:not(.aomics-kicker),
.careers-cta p:not(.aomics-kicker), .about-cta p:not(.aomics-kicker),
.technology-signal-card > p, .compliance-proof > p, .contact-hero-panel p { color: #6a5b5b !important; }
.technology-cta .aomics-kicker, .compliance-cta .aomics-kicker, .careers-cta .aomics-kicker,
.about-cta .aomics-kicker, .technology-signal-header, .technology-signal-flow i,
.compliance-proof-top, .compliance-proof-core i { color: #7c0000 !important; }
.technology-signal-header, .compliance-proof-top,
.technology-signal-bar, .compliance-proof-line { border-color: rgba(124, 0, 0, .16) !important; }
.technology-signal-flow span, .compliance-proof-core span {
  background: rgba(124, 0, 0, .05) !important; border-color: rgba(124, 0, 0, .18) !important; color: #241a1b !important;
}
.technology-signal-bar span, .compliance-proof-line span {
  background: linear-gradient(to top, #7c0000, #d9b8b8) !important;
}
.technology-cta .btn, .compliance-cta .btn, .careers-cta .btn, .about-cta .btn,
.technology-cta .btn-glow, .compliance-cta .btn-glow, .about-cta .btn-glow {
  background: #7c0000 !important; color: #fff !important; border-color: #7c0000 !important;
}
.technology-cta .btn::before, .compliance-cta .btn::before, .careers-cta .btn::before,
.about-cta .btn::before { background: #5f0000 !important; }

/* ═══════════════════════════════════════════════════════════════════════════
   v8 — minimal  EN | DE  language toggle: text only, brand-burgundy active
        with an underline, grey divider + inactive (no pill, no border)
   ═══════════════════════════════════════════════════════════════════════════ */
.lang-switch {
  display: inline-flex !important;
  align-items: center !important;
  gap: 9px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  overflow: visible !important;
  background: transparent !important;
}
.lang-switch .lang-divider {
  display: inline !important;
  color: #b7abab !important;
  font: 400 13px/1 var(--font-mono, 'Geist Mono', ui-monospace, monospace) !important;
}
.lang-switch .lang-btn {
  width: auto !important;
  height: auto !important;
  padding: 1px 1px 3px !important;
  border: 0 !important;
  border-bottom: 2px solid transparent !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: #8a7d7d !important;
  font: 800 13px/1.1 var(--font-mono, 'Geist Mono', ui-monospace, monospace) !important;
  letter-spacing: .09em !important;
  transform: none !important;
  transition: color .15s ease, border-color .15s ease !important;
}
.lang-switch .lang-btn + .lang-btn { border-left: 0 !important; }
.lang-switch .lang-btn:hover { color: #7c0000 !important; background: transparent !important; }
.lang-switch .lang-btn.active {
  color: #7c0000 !important;
  background: transparent !important;
  border-bottom-color: #7c0000 !important;
}
/* scrolled header is white too — keep the toggle identical */
.site-header.scrolled .lang-switch { border: 0 !important; background: transparent !important; }
.site-header.scrolled .lang-switch .lang-btn { color: #8a7d7d !important; }
.site-header.scrolled .lang-switch .lang-btn.active { color: #7c0000 !important; border-bottom-color: #7c0000 !important; background: transparent !important; }
.site-header.scrolled .lang-switch .lang-divider { color: #b7abab !important; }

/* ── kill any hairline / shadow at the header ↔ hero boundary (all pages) ── */
.site-header, .site-header::before, .site-header::after,
.site-header:not(.scrolled), .site-header.scrolled {
  border: 0 !important; box-shadow: none !important; outline: 0 !important;
}
.site-header::before, .site-header::after { content: none !important; }
.aomics-hero, .aomics-hero::before, .aomics-hero::after,
main, .react-main, #main-content, .page-main {
  border: 0 !important; border-top: 0 !important; box-shadow: none !important;
  margin-top: 0 !important;
}
.aomics-hero { background: #ffffff !important; background-image: none !important; }
main, .react-main, #main-content, .page-main, html, body { background: #ffffff !important; }

/* ═══════════════════════════════════════════════════════════════════════════
   v9 — language dropdown at the end of the main menu (brand burgundy)
   ═══════════════════════════════════════════════════════════════════════════ */
.lang-menu { position: relative; display: inline-flex; margin-left: 4px; }
.lang-menu-btn {
  display: inline-flex; align-items: center; gap: 7px;
  font: 700 12px/1 'Geist Mono', ui-monospace, monospace; letter-spacing: .07em;
  color: #7c0000; background: #fff;
  border: 1px solid rgba(124, 0, 0, .28); border-radius: 9px;
  padding: 8px 11px; cursor: pointer;
  transition: background .14s ease, border-color .14s ease;
}
.lang-menu-btn svg { width: 14px; height: 14px; }
.lang-menu-btn .lang-caret { font-size: 9px; opacity: .75; margin-left: -1px; }
.lang-menu-btn:hover, .lang-menu.open .lang-menu-btn,
.lang-menu:hover .lang-menu-btn, .lang-menu:focus-within .lang-menu-btn {
  background: #f6efef; border-color: #7c0000;
}
.lang-menu-panel {
  position: absolute; top: calc(100% + 10px); right: 0; min-width: 178px;
  background: #fff; border: 1px solid rgba(124, 0, 0, .16); border-top: 3px solid #7c0000;
  border-radius: 10px; box-shadow: 0 18px 42px rgba(60, 20, 20, .16);
  padding: 6px; display: none; z-index: 96;
}
.lang-menu.open .lang-menu-panel,
.lang-menu:hover .lang-menu-panel,
.lang-menu:focus-within .lang-menu-panel { display: block; }
.lang-menu-panel button {
  display: flex; width: 100%; align-items: center; justify-content: space-between; gap: 14px;
  padding: 9px 11px; border: 0; border-radius: 7px; background: transparent; cursor: pointer;
  font: 600 13px/1 'Geist', -apple-system, sans-serif; color: #1c1010; text-align: left;
}
.lang-menu-panel button .lc { font: 700 10px/1 'Geist Mono', ui-monospace, monospace; color: #9a8f8f; letter-spacing: .09em; }
.lang-menu-panel button:hover { background: #f6efef; color: #7c0000; }
.lang-menu-panel button.on { color: #7c0000; }
.lang-menu-panel button.on .lc { color: #7c0000; }
.lang-menu-panel button.on::after { content: "✓"; position: absolute; left: 12px; font-size: 11px; }
.lang-menu-panel button.on { position: relative; padding-left: 26px; }
/* scrolled header is white — keep the control identical */
.site-header.scrolled .lang-menu-btn { color: #7c0000; background: #fff; border-color: rgba(124, 0, 0, .28); }
.site-header.scrolled .lang-menu-btn:hover, .site-header.scrolled .lang-menu.open .lang-menu-btn { background: #f6efef; }
/* mobile drawer: full-width control, inline panel */
@media (max-width: 1023px) {
  .lang-menu { width: 100%; margin: 6px 0 0; }
  .lang-menu-btn { width: 100%; justify-content: center; }
  .lang-menu-panel { position: static; box-shadow: none; margin-top: 8px; min-width: 0; }
}

/* ═══════════════════════════════════════════════════════════════════════════
   v10 — Adaptrials visual-system parity for the Aomics masthead and hero.
   The spacing, type scale, soft canvas, controls and decision-card geometry
   follow the Adaptrials welcome page while Aomics keeps its burgundy identity.
   Keep this canonical layer last so historical theme passes cannot override it.
   ═══════════════════════════════════════════════════════════════════════════ */
:root {
  --aomics-canvas: #fafcfc;
  --aomics-ink: #101918;
  --aomics-muted: #60706f;
  --aomics-line: #dfe8e6;
  --aomics-brand-soft: #f7eeee;
}

html,
body,
main,
.react-main,
#main-content,
.page-main {
  background: var(--aomics-canvas) !important;
}

body {
  color: var(--aomics-ink);
  font-family: var(--font-sans);
}

.wrap,
.header-inner {
  max-width: 1280px !important;
}

/* Header: Adaptrials scale, density and calm surface treatment. */
.site-header,
.site-header:not(.scrolled) {
  background: rgba(250, 252, 252, .9) !important;
  background-image: none !important;
  -webkit-backdrop-filter: blur(12px) !important;
  backdrop-filter: blur(12px) !important;
  border: 0 !important;
  box-shadow: none !important;
}

.header-inner {
  height: 112px !important;
  gap: 16px !important;
  padding-inline: 32px !important;
  transition: height .24s ease !important;
}

.brand {
  align-self: center !important;
  height: 100%;
  padding-right: 12px !important;
  background: transparent !important;
}

.brand-logo-frame,
html[lang="de"] .site-header:not(.scrolled) .brand-logo-frame {
  width: 208px !important;
  height: 80px !important;
}

.brand-logo-dark {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  object-position: left center !important;
}

.main-nav {
  gap: 12px !important;
}

.main-nav > ul {
  gap: 2px !important;
}

.main-nav > ul > li > .nav-item-row > a,
.main-nav > ul > li > a,
html[lang="de"] .site-header .main-nav ul li a,
html[lang="de"] .site-header .main-nav > ul > li > .nav-item-row > a {
  padding: 8px 10px !important;
  color: #566463 !important;
  font-family: var(--font-sans) !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  line-height: 1.2 !important;
  letter-spacing: 0 !important;
}

.nav-sub-toggle {
  color: #6b7776 !important;
}

.site-header:not(.scrolled) .main-nav > ul > li > .nav-item-row > a:hover,
.site-header:not(.scrolled) .main-nav > ul > li > a:hover,
.site-header:not(.scrolled) .nav-sub-toggle:hover {
  color: var(--aomics-burgundy) !important;
  background: var(--aomics-brand-soft) !important;
}

.header-cta,
.site-header.scrolled .header-cta {
  min-height: 40px !important;
  padding: 9px 16px !important;
  border: 1px solid var(--aomics-burgundy) !important;
  border-radius: 8px !important;
  background: var(--aomics-burgundy) !important;
  color: #fff !important;
  box-shadow: 0 1px 2px rgba(124, 0, 0, .16) !important;
  font-size: 14px !important;
  font-weight: 600 !important;
}

.header-cta:hover,
.site-header.scrolled .header-cta:hover {
  background: #650000 !important;
  border-color: #650000 !important;
  color: #fff !important;
  box-shadow: 0 6px 16px rgba(124, 0, 0, .18) !important;
  transform: translateY(-1px);
}

.lang-menu {
  margin-left: 0 !important;
}

.lang-menu-btn,
.site-header.scrolled .lang-menu-btn {
  min-height: 40px;
  padding: 8px 10px;
  border-color: transparent !important;
  background: transparent !important;
  color: #566463 !important;
  font-family: var(--font-sans) !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  letter-spacing: 0 !important;
}

.lang-menu-btn:hover,
.lang-menu.open .lang-menu-btn,
.lang-menu:focus-within .lang-menu-btn,
.site-header.scrolled .lang-menu-btn:hover,
.site-header.scrolled .lang-menu.open .lang-menu-btn {
  background: var(--aomics-brand-soft) !important;
  color: var(--aomics-burgundy) !important;
}

.site-header.scrolled {
  background: rgba(250, 252, 252, .96) !important;
  background-image: none !important;
  border-bottom: 1px solid rgba(16, 25, 24, .08) !important;
  box-shadow: 0 8px 28px -18px rgba(16, 25, 24, .32) !important;
}

.site-header.scrolled .header-inner {
  height: 64px !important;
}

.site-header.scrolled .brand-logo-frame {
  width: 42px !important;
  height: 42px !important;
}

.site-header.scrolled .main-nav ul li a,
.site-header.scrolled .main-nav > ul > li > .nav-item-row > a,
.site-header.scrolled .main-nav > ul > li > a,
.site-header.scrolled .nav-sub-toggle {
  color: #566463 !important;
}

.site-header.scrolled .main-nav ul li a:hover,
.site-header.scrolled .main-nav > ul > li > .nav-item-row > a:hover,
.site-header.scrolled .main-nav > ul > li > a:hover,
.site-header.scrolled .nav-sub-toggle:hover {
  color: var(--aomics-burgundy) !important;
  background: var(--aomics-brand-soft) !important;
}

/* Hero: Adaptrials two-column proportions and editorial hierarchy. */
.aomics-hero {
  min-height: auto !important;
  padding: 0 0 128px !important;
  justify-content: flex-start !important;
  overflow: hidden;
  background:
    radial-gradient(58% 58% at 79% 22%, rgba(124, 0, 0, .065), transparent 72%),
    var(--aomics-canvas) !important;
}

.aomics-hero::before,
.aomics-hero::after,
.hero-gradient-bottom {
  content: none !important;
  display: none !important;
}

.particle-canvas {
  display: none !important;
}

.aomics-hero-grid {
  grid-template-columns: minmax(440px, .86fr) minmax(610px, 1.14fr) !important;
  gap: 44px !important;
  align-items: start !important;
}

.aomics-hero-copy {
  max-width: 660px;
  margin-top: 44px;
}

.aomics-hero > .wrap {
  max-width: 1400px !important;
}

.aomics-hero-visual {
  margin-top: 44px;
  transition: opacity 1s cubic-bezier(.4, 0, .2, 1) .2s,
    transform .34s cubic-bezier(.2, .8, .2, 1),
    box-shadow .34s ease,
    border-color .34s ease !important;
}

.aomics-hero-visual.reveal:hover {
  transform: translateY(-4px) scale(1.008) !important;
  border-color: rgba(124, 0, 0, .3) !important;
  box-shadow: 0 34px 76px rgba(64, 24, 24, .18) !important;
}

.aomics-hero-kicker {
  display: inline-flex !important;
  align-items: center !important;
  gap: 9px !important;
  width: fit-content;
  margin: 0 0 26px !important;
  padding: 8px 14px !important;
  border: 1px solid rgba(124, 0, 0, .18);
  border-radius: 999px;
  background: rgba(255, 255, 255, .82);
  box-shadow: 0 1px 3px rgba(16, 25, 24, .07);
  color: #4e5d5c !important;
  font-family: var(--font-sans) !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  line-height: 1.2 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}

.kicker-pulse {
  width: 8px !important;
  height: 8px !important;
  background: var(--aomics-burgundy) !important;
  box-shadow: none !important;
}

.aomics-hero-copy h1 {
  max-width: 650px;
  margin: 0 0 24px !important;
  color: var(--aomics-ink) !important;
  font-family: var(--font-sans) !important;
  font-size: clamp(3.1rem, 4.7vw, 4.35rem) !important;
  font-weight: 750 !important;
  line-height: .99 !important;
  letter-spacing: -.052em !important;
  text-wrap: balance;
}

.aomics-hero-copy h1 .type-line {
  display: block !important;
  color: var(--aomics-ink) !important;
  -webkit-text-fill-color: var(--aomics-ink) !important;
}

.aomics-hero-copy h1 .type-line em,
.aomics-hero-copy h1 .hero-title-grad {
  font-style: normal;
  color: var(--aomics-burgundy) !important;
  -webkit-text-fill-color: var(--aomics-burgundy) !important;
}

@supports ((-webkit-background-clip: text) or (background-clip: text)) {
  .aomics-hero-copy h1 .type-line em,
  .aomics-hero-copy h1 .hero-title-grad {
    background-image: linear-gradient(105deg, #7c0000 0%, #a32929 55%, #c06b6b 100%) !important;
    -webkit-background-clip: text !important;
    background-clip: text !important;
    color: transparent !important;
    -webkit-text-fill-color: transparent !important;
  }
}

.aomics-hero-lead {
  max-width: 620px !important;
  margin: 0 0 32px !important;
  color: var(--aomics-muted) !important;
  font-size: 18px !important;
  font-weight: 400;
  line-height: 1.65 !important;
}

.aomics-hero-actions {
  gap: 14px !important;
  margin: 0 0 36px !important;
}

.aomics-hero-actions .btn.btn-glow,
.aomics-hero-secondary {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 12px 20px !important;
  border-radius: 8px !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  line-height: 1 !important;
  text-decoration: none;
}

.aomics-hero-actions .btn.btn-glow {
  background: var(--aomics-burgundy) !important;
  border-color: var(--aomics-burgundy) !important;
  color: #fff !important;
  box-shadow: 0 1px 2px rgba(124, 0, 0, .16) !important;
}

.aomics-hero-actions .btn.btn-glow:hover {
  background: #650000 !important;
  border-color: #650000 !important;
  box-shadow: 0 8px 20px rgba(124, 0, 0, .18) !important;
}

.aomics-hero-secondary {
  gap: 8px !important;
  background: rgba(255, 255, 255, .76) !important;
  border: 1px solid #d8e1df !important;
  color: var(--aomics-ink) !important;
  box-shadow: 0 1px 2px rgba(16, 25, 24, .06) !important;
}

.aomics-hero-secondary:hover {
  background: var(--aomics-brand-soft) !important;
  border-color: rgba(124, 0, 0, .3) !important;
  color: var(--aomics-burgundy) !important;
}

.aomics-hero-trust {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px 28px !important;
  max-width: 560px;
}

.aomics-hero-trust span {
  display: flex;
  align-items: center;
  gap: 9px;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: var(--aomics-muted) !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  letter-spacing: 0 !important;
}

.aomics-hero-trust span::before {
  content: "✓";
  display: inline-grid;
  flex: 0 0 18px;
  width: 18px;
  height: 18px;
  place-items: center;
  border: 1.5px solid var(--aomics-burgundy);
  border-radius: 50%;
  color: var(--aomics-burgundy);
  font-size: 11px;
  font-weight: 800;
  line-height: 1;
}

.aomics-hero-visual,
.aomics-hero-visual.is-dashboard {
  width: 100%;
  border: 1px solid var(--aomics-line) !important;
  border-radius: 18px !important;
  background: #fff !important;
  box-shadow: 0 26px 62px -24px rgba(16, 25, 24, .28) !important;
  backdrop-filter: none !important;
  overflow: hidden;
}

@media (min-width: 1024px) and (max-width: 1180px) {
  .header-inner { padding-inline: 22px !important; }
  .brand-logo-frame,
  html[lang="de"] .site-header:not(.scrolled) .brand-logo-frame {
    width: 170px !important;
  }
  .main-nav { gap: 7px !important; }
  .main-nav > ul > li > .nav-item-row > a,
  .main-nav > ul > li > a,
  html[lang="de"] .site-header .main-nav ul li a,
  html[lang="de"] .site-header .main-nav > ul > li > .nav-item-row > a {
    padding-inline: 7px !important;
    font-size: 12.5px !important;
  }
  .aomics-hero-grid {
    grid-template-columns: minmax(0, .9fr) minmax(500px, 1.1fr) !important;
    gap: 28px !important;
  }
}

@media (max-width: 1023px) {
  .header-inner {
    height: 88px !important;
    padding-inline: 24px !important;
  }
  .brand-logo-frame,
  html[lang="de"] .site-header:not(.scrolled) .brand-logo-frame {
    width: 184px !important;
    height: 70px !important;
  }
  .main-nav {
    gap: 8px !important;
    background: var(--aomics-canvas) !important;
    border-left: 1px solid rgba(124, 0, 0, .12) !important;
  }
  .site-header.scrolled .main-nav {
    background: var(--aomics-canvas) !important;
  }
  .main-nav > ul { gap: 4px !important; }
  .lang-menu { width: 100%; }
  .aomics-hero {
    min-height: 0 !important;
    padding: 44px 0 72px !important;
  }
  .aomics-hero-grid {
    grid-template-columns: 1fr !important;
    gap: 44px !important;
  }
  .aomics-hero-copy { max-width: 720px; margin-top: 0; }
  .aomics-hero-visual { max-width: 760px; margin-top: 0; }
}

@media (max-width: 640px) {
  .header-inner {
    height: 80px !important;
    padding-inline: 18px !important;
  }
  .brand-logo-frame,
  html[lang="de"] .site-header:not(.scrolled) .brand-logo-frame {
    width: 164px !important;
    height: 62px !important;
  }
  .aomics-hero {
    padding: 64px 0 58px !important;
  }
  .aomics-hero-copy h1 {
    font-size: clamp(2.55rem, 12vw, 3.25rem) !important;
    line-height: 1.02 !important;
  }
  .aomics-hero-lead { font-size: 16px !important; }
  .aomics-hero-actions { align-items: stretch; flex-direction: column; }
  .aomics-hero-actions .btn,
  .aomics-hero-secondary { width: 100%; }
  .aomics-hero-trust { grid-template-columns: 1fr; }
  .aomics-hero-visual { border-radius: 14px !important; }
}

/* ═══════════════════════════════════════════════════════════════════════════
   v11 — Full public-site system. The remaining routes now share the same
   Adaptrials-derived rhythm, hierarchy, card language and interaction quality.
   ═══════════════════════════════════════════════════════════════════════════ */
:root {
  --text-primary: var(--aomics-ink);
  --text-secondary: var(--aomics-muted);
  --text-muted: #7a8785;
  --border-subtle: var(--aomics-line);
  --radius-sm: 8px;
  --radius-md: 12px;
  --radius-lg: 16px;
  --radius-xl: 20px;
  --aomics-section-space: clamp(72px, 7vw, 104px);
  --aomics-card-shadow: 0 12px 34px -24px rgba(16, 25, 24, .36);
  --aomics-card-shadow-hover: 0 22px 48px -25px rgba(16, 25, 24, .38);
}

::selection {
  background: rgba(124, 0, 0, .16);
  color: var(--aomics-ink);
}

:where(a, button, input, select, textarea, summary):focus-visible {
  outline: 3px solid rgba(124, 0, 0, .24) !important;
  outline-offset: 3px !important;
}

.aomics-kicker,
.kicker-pill,
.editorial-label,
.aomics-detail-label,
.service-atlas-index,
.quote-step-hint,
.biz-updated {
  color: var(--aomics-burgundy) !important;
  font-family: var(--font-mono) !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  line-height: 1.35 !important;
  letter-spacing: .09em !important;
  text-transform: uppercase !important;
}

.kicker-pill {
  gap: 8px !important;
  padding: 7px 12px !important;
  border: 1px solid rgba(124, 0, 0, .16) !important;
  border-radius: 999px !important;
  background: rgba(255, 255, 255, .8) !important;
  box-shadow: 0 1px 3px rgba(16, 25, 24, .05);
}

.aomics-section-heading,
.service-atlas-heading,
.technology-section-heading,
.about-section-heading,
.compliance-heading,
.resources-intro,
.careers-intro {
  margin-bottom: 42px !important;
}

.aomics-section-heading h2,
.service-atlas-heading h2,
.technology-section-heading h2,
.about-section-heading h2,
.compliance-heading h2,
.resources-intro h2,
.careers-intro h2 {
  margin: 12px 0 14px !important;
  color: var(--aomics-ink) !important;
  font-family: var(--font-sans) !important;
  font-size: clamp(2rem, 3.7vw, 3.25rem) !important;
  font-weight: 700 !important;
  line-height: 1.04 !important;
  letter-spacing: -.045em !important;
  text-wrap: balance;
}

.aomics-section-heading p:not(.aomics-kicker),
.service-atlas-heading p:not(.aomics-kicker),
.technology-section-heading > p:not(.aomics-kicker),
.about-section-heading p:not(.aomics-kicker),
.compliance-heading p:not(.aomics-kicker),
.resources-intro > p,
.careers-intro > p {
  max-width: 680px;
  color: var(--aomics-muted) !important;
  font-size: 16px !important;
  line-height: 1.7 !important;
}

.section-number,
.about-section-heading > span,
.compliance-heading > span {
  color: #8a9694 !important;
  font-family: var(--font-mono) !important;
  font-size: 11px !important;
  font-weight: 600 !important;
}

/* Reusable controls across every route. */
.btn,
.btn-glow,
.btn-outline,
.footer-quote-button,
.biz-chip {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  gap: 8px;
  padding: 10px 17px !important;
  border-radius: 8px !important;
  font-family: var(--font-sans) !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  line-height: 1.1 !important;
  letter-spacing: 0 !important;
  text-decoration: none;
  transition: background .16s ease, border-color .16s ease, color .16s ease,
    box-shadow .16s ease, transform .16s ease !important;
}

.btn,
.btn.btn-glow,
.btn-glow {
  border: 1px solid var(--aomics-burgundy) !important;
  background: var(--aomics-burgundy) !important;
  color: #fff !important;
  box-shadow: 0 1px 2px rgba(124, 0, 0, .16) !important;
}

.btn:hover,
.btn.btn-glow:hover,
.btn-glow:hover {
  border-color: #650000 !important;
  background: #650000 !important;
  color: #fff !important;
  box-shadow: 0 8px 20px rgba(124, 0, 0, .18) !important;
  transform: translateY(-1px);
}

.btn.btn-outline,
.btn-outline,
.btn-quiet,
.biz-chip {
  border: 1px solid #d6dfdd !important;
  background: #fff !important;
  color: var(--aomics-ink) !important;
  box-shadow: 0 1px 2px rgba(16, 25, 24, .05) !important;
}

.btn.btn-outline:hover,
.btn-outline:hover,
.btn-quiet:hover,
.biz-chip:hover {
  border-color: rgba(124, 0, 0, .3) !important;
  background: var(--aomics-brand-soft) !important;
  color: var(--aomics-burgundy) !important;
  box-shadow: 0 6px 16px rgba(124, 0, 0, .08) !important;
}

/* Slim utility surfaces. */
.data-stream,
.aomics-ticker,
.breadcrumb-bar {
  background: #fff !important;
  border-top: 1px solid var(--aomics-line) !important;
  border-bottom: 1px solid var(--aomics-line) !important;
  box-shadow: none !important;
}

.data-stream,
.aomics-ticker {
  color: var(--aomics-muted) !important;
}

.data-stream-dot {
  background: var(--aomics-burgundy) !important;
  box-shadow: none !important;
}

.breadcrumb-bar {
  padding-top: 0 !important;
  color: #7a8785 !important;
  font-size: 13px !important;
}

.breadcrumb-bar .wrap {
  min-height: 48px;
  display: flex;
  align-items: center;
  gap: 8px;
}

.breadcrumb-bar a {
  color: #64716f !important;
  font-weight: 500;
  text-decoration: none;
}

.breadcrumb-bar a:hover {
  color: var(--aomics-burgundy) !important;
}

/* Homepage sections: clearer cadence and dashboard-like grouped surfaces. */
.service-atlas,
.aomics-audience,
.aomics-metrics,
.aomics-capabilities,
.aomics-operating-model,
.aomics-trust-band {
  padding: var(--aomics-section-space) 0 !important;
}

.service-atlas,
.aomics-metrics,
.aomics-operating-model {
  background: #fff !important;
  background-image: none !important;
}

.aomics-audience,
.aomics-capabilities,
.aomics-trust-band {
  background: var(--aomics-canvas) !important;
  background-image: none !important;
}

.service-atlas-link,
.aomics-audience-link,
.technology-platform-link,
.news-item-copy button,
.resource-card button,
.contact-text-button,
.quote-back {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--aomics-burgundy) !important;
  font-family: var(--font-sans);
  font-size: 13px;
  font-weight: 650;
  cursor: pointer;
  text-decoration: none;
}

.service-atlas-shell,
.aomics-capability-detail,
.aomics-stage-detail {
  border: 1px solid var(--aomics-line) !important;
  border-radius: 18px !important;
  background: #fff !important;
  box-shadow: var(--aomics-card-shadow) !important;
  overflow: hidden;
}

.service-atlas-tabs {
  background: #f5f8f7 !important;
  border-bottom: 1px solid var(--aomics-line) !important;
}

.service-atlas-tabs button {
  min-height: 62px;
  border: 0 !important;
  border-right: 1px solid var(--aomics-line) !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: #697674 !important;
  font-size: 13px !important;
  font-weight: 550 !important;
}

.service-atlas-tabs button.active {
  background: #fff !important;
  color: var(--aomics-burgundy) !important;
  box-shadow: inset 0 -2px 0 var(--aomics-burgundy) !important;
}

.service-atlas-detail {
  gap: 44px !important;
  padding: clamp(26px, 4vw, 46px) !important;
  background: #fff !important;
}

.service-atlas-copy h3 {
  color: var(--aomics-ink) !important;
  font-size: clamp(1.75rem, 3vw, 2.65rem) !important;
  line-height: 1.08 !important;
  letter-spacing: -.04em !important;
}

.service-atlas-copy > p:not(.service-atlas-index) {
  color: var(--aomics-muted) !important;
}

.service-atlas-visual,
.service-atlas-visual.is-panel {
  border: 1px solid var(--aomics-line) !important;
  border-radius: 14px !important;
  background: #f8faf9 !important;
  box-shadow: none !important;
}

.aomics-audience-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 18px !important;
}

.aomics-audience-card,
.metric-card,
.trust-card,
.technology-platform-card,
.technology-layer,
.compliance-chain-item,
.compliance-standard-grid article,
.resource-card,
.career-role,
.biz-card,
.biz-deliverables li,
.faq-item,
.blog-card,
.blog-featured {
  border: 1px solid var(--aomics-line) !important;
  border-radius: 16px !important;
  background: #fff !important;
  background-image: none !important;
  box-shadow: var(--aomics-card-shadow) !important;
}

.aomics-audience-card {
  min-height: 360px !important;
  padding: 26px !important;
}

.aomics-audience-card:hover,
.trust-card:hover,
.technology-platform-card:hover,
.technology-layer:hover,
.resource-card:hover,
.career-role:hover,
.biz-card:hover,
.blog-card:hover,
.blog-featured:hover {
  border-color: rgba(124, 0, 0, .24) !important;
  box-shadow: var(--aomics-card-shadow-hover) !important;
  transform: translateY(-3px);
}

.aomics-audience-card h3,
.trust-card h3,
.technology-platform-card h3,
.technology-layer h3,
.resource-card h3,
.career-role h3,
.biz-card h3 {
  color: var(--aomics-ink) !important;
}

.aomics-audience-card > p:not(.aomics-audience-label),
.trust-card p,
.technology-platform-card > p:not(.technology-platform-eyebrow),
.technology-layer p,
.resource-card p,
.career-summary,
.biz-card p {
  color: var(--aomics-muted) !important;
}

.aomics-audience-card li span,
.technology-platform-card li span,
.biz-deliverable-icon {
  border: 1px solid rgba(124, 0, 0, .18) !important;
  background: var(--aomics-brand-soft) !important;
  color: var(--aomics-burgundy) !important;
}

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

.metric-card {
  padding: 26px 22px !important;
}

.metric-value {
  color: var(--aomics-ink) !important;
  font-size: clamp(2rem, 4vw, 3rem) !important;
  letter-spacing: -.04em !important;
}

.metric-label {
  color: var(--aomics-muted) !important;
  font-size: 13px !important;
}

.aomics-capability-list {
  gap: 6px !important;
}

.aomics-capability-list button,
.aomics-stage-line button,
.profile-rail-list button {
  border-color: transparent !important;
  border-radius: 10px !important;
  background: transparent !important;
  color: var(--aomics-muted) !important;
  transition: background .16s ease, color .16s ease, border-color .16s ease !important;
}

.aomics-capability-list button:hover,
.aomics-stage-line button:hover,
.profile-rail-list button:hover {
  background: #f5f8f7 !important;
  color: var(--aomics-ink) !important;
}

.aomics-capability-list button.active,
.aomics-capability-list button.is-selected,
.aomics-stage-line button.is-selected,
.profile-rail-list button.active {
  border-color: rgba(124, 0, 0, .18) !important;
  background: var(--aomics-brand-soft) !important;
  color: var(--aomics-burgundy) !important;
  box-shadow: none !important;
}

.aomics-capability-detail,
.aomics-stage-detail {
  padding: clamp(26px, 4vw, 42px) !important;
}

.aomics-tag-list span,
.hero-reviewed,
.aomics-stage-status {
  border-color: rgba(124, 0, 0, .16) !important;
  background: var(--aomics-brand-soft) !important;
  color: var(--aomics-burgundy) !important;
}

.trust-card {
  padding: 28px !important;
}

.trust-card-glow {
  background: radial-gradient(circle, rgba(124, 0, 0, .08), transparent 68%) !important;
}

/* Shared inner-page hero composition. */
.biz-page,
.technology-page,
.editorial-page,
.compliance-page,
.contact-page,
.about-experience,
.quote-page,
.single-post,
.page-content {
  background: var(--aomics-canvas) !important;
  color: var(--aomics-ink) !important;
}

.biz-hero,
.technology-hero,
.editorial-hero,
.compliance-hero,
.contact-hero,
.about-intro {
  padding: 64px 0 82px !important;
  border: 0 !important;
  border-bottom: 1px solid var(--aomics-line) !important;
  background:
    radial-gradient(52% 85% at 82% 26%, rgba(124, 0, 0, .06), transparent 74%),
    var(--aomics-canvas) !important;
}

.quote-page,
.page-hero,
.error-hero {
  padding-top: 64px !important;
}

.quote-brief {
  padding-top: 0 !important;
}

.biz-hero h1,
.technology-hero h1,
.editorial-hero h1,
.compliance-hero h1,
.contact-hero-copy h1,
.about-intro h1,
.quote-brief h1,
.post-title,
.page-content h1 {
  max-width: 820px;
  margin: 18px 0 20px !important;
  background: none !important;
  color: var(--aomics-ink) !important;
  -webkit-text-fill-color: var(--aomics-ink) !important;
  font-family: var(--font-sans) !important;
  font-size: clamp(2.75rem, 4.8vw, 4.2rem) !important;
  font-weight: 730 !important;
  line-height: 1 !important;
  letter-spacing: -.055em !important;
  text-wrap: balance;
}

.biz-hero p:not(.kicker-pill):not(.biz-updated),
.technology-hero > .wrap > div:first-child > p:not(.aomics-kicker),
.editorial-hero > .wrap > div:first-child > p:not(.aomics-kicker),
.compliance-hero > .wrap > div:first-child > p:not(.aomics-kicker),
.contact-hero-lead,
.about-intro-grid > p,
.quote-brief > p {
  color: var(--aomics-muted) !important;
  font-size: 17px !important;
  line-height: 1.72 !important;
}

.biz-hero-lead {
  color: var(--aomics-ink) !important;
  font-size: 20px !important;
  font-weight: 600 !important;
  line-height: 1.45 !important;
}

.biz-hero-sub {
  color: var(--aomics-muted) !important;
  font-size: 16px !important;
}

.svc-figure,
.technology-signal-card,
.compliance-proof,
.contact-hero-panel,
.editorial-hero-index,
.profile-feature,
.contact-form,
.quote-form,
.contact-success-card,
.biz-callout,
.biz-note {
  border: 1px solid var(--aomics-line) !important;
  border-radius: 18px !important;
  background: #fff !important;
  background-image: none !important;
  box-shadow: var(--aomics-card-shadow) !important;
  color: var(--aomics-ink) !important;
}

.svc-figure {
  box-shadow: 0 22px 48px -26px rgba(16, 25, 24, .36) !important;
}

.technology-signal-card,
.compliance-proof,
.contact-hero-panel {
  position: relative;
  overflow: hidden;
}

.technology-signal-card::before,
.compliance-proof::before,
.contact-hero-panel::before,
.editorial-hero-index::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 3px;
  background: var(--aomics-burgundy);
}

.technology-signal-header,
.technology-signal-flow,
.technology-signal-card > p,
.compliance-proof-top,
.compliance-proof > p,
.contact-panel-top,
.contact-hero-panel h2,
.contact-hero-panel > p {
  color: var(--aomics-muted) !important;
}

.technology-signal-header b,
.contact-hero-panel h2,
.compliance-proof-top b {
  color: var(--aomics-ink) !important;
}

.editorial-hero-index {
  position: relative;
  min-height: 180px;
  padding: 26px 28px !important;
  border-left: 1px solid var(--aomics-line) !important;
}

.editorial-hero-index strong {
  color: var(--aomics-ink) !important;
  font-size: 22px !important;
}

.editorial-hero-index small {
  color: var(--aomics-muted) !important;
  font-size: 13px !important;
}

.biz-body,
.editorial-content,
.resources-content,
.news-content,
.faq-content,
.careers-content,
.contact-intake,
.technology-platforms,
.technology-stack,
.compliance-thread,
.compliance-standards,
.about-people,
.about-signal-band {
  padding-top: var(--aomics-section-space) !important;
  padding-bottom: var(--aomics-section-space) !important;
}

.biz-body,
.editorial-content,
.news-content,
.careers-content,
.contact-intake,
.technology-platforms,
.compliance-thread,
.about-people {
  background: #fff !important;
  background-image: none !important;
}

.resources-content,
.faq-content,
.technology-stack,
.compliance-standards,
.about-advisory,
.about-signal-band {
  background: var(--aomics-canvas) !important;
  background-image: none !important;
}

.biz-body {
  max-width: 1120px !important;
}

.biz-section {
  margin-bottom: 72px !important;
}

.biz-section-heading,
.legal-prose section > h2 {
  margin-bottom: 24px !important;
  color: var(--aomics-ink) !important;
  font-size: clamp(1.65rem, 3vw, 2.35rem) !important;
  font-weight: 700 !important;
  line-height: 1.08 !important;
  letter-spacing: -.035em !important;
}

.biz-cards,
.service-grid,
.technology-platform-grid,
.technology-layer-grid,
.resource-grid,
.compliance-chain,
.compliance-standard-grid {
  gap: 16px !important;
}

.biz-card,
.technology-platform-card,
.technology-layer,
.resource-card,
.compliance-chain-item,
.compliance-standard-grid article {
  padding: 24px !important;
}

.biz-card-icon,
.mega-ico {
  border: 1px solid rgba(124, 0, 0, .14) !important;
  background: var(--aomics-brand-soft) !important;
  color: var(--aomics-burgundy) !important;
  box-shadow: none !important;
}

.biz-deliverables {
  gap: 10px !important;
}

.biz-deliverables li {
  min-height: 62px;
  padding: 15px 16px !important;
  color: #53615f !important;
  font-size: 14px !important;
  font-weight: 500 !important;
}

.legal-prose {
  max-width: 880px !important;
}

.legal-prose section {
  padding: 32px 0;
  border-bottom: 1px solid var(--aomics-line);
}

.legal-prose section:first-child { padding-top: 0; }
.legal-prose section:last-of-type { border-bottom: 0; }

.legal-prose p,
.legal-prose li,
.post-body,
.page-content {
  color: var(--aomics-muted) !important;
  font-size: 16px !important;
  line-height: 1.78 !important;
}

/* Forms and choice controls use the same product UI geometry. */
.contact-form,
.quote-form {
  padding: clamp(24px, 3vw, 34px) !important;
}

.contact-form input:not([type="checkbox"]),
.contact-form textarea,
.quote-fields input:not([type="checkbox"]),
.quote-fields select,
.quote-fields textarea,
.editorial-search {
  border: 1px solid #ced9d6 !important;
  border-radius: 9px !important;
  background: #fff !important;
  color: var(--aomics-ink) !important;
  box-shadow: 0 1px 2px rgba(16, 25, 24, .04) !important;
}

.contact-form input:not([type="checkbox"]),
.contact-form textarea,
.quote-fields input:not([type="checkbox"]),
.quote-fields select,
.quote-fields textarea {
  min-height: 44px;
  padding: 11px 13px !important;
  font-family: var(--font-sans) !important;
  font-size: 14px !important;
}

.contact-form input:focus,
.contact-form textarea:focus,
.quote-fields input:focus,
.quote-fields select:focus,
.quote-fields textarea:focus {
  outline: 3px solid rgba(124, 0, 0, .11) !important;
  outline-offset: 0 !important;
  border-color: rgba(124, 0, 0, .45) !important;
  box-shadow: none !important;
}

.contact-intent-grid button,
.domain-grid button {
  border: 1px solid var(--aomics-line) !important;
  border-radius: 12px !important;
  background: #fff !important;
  color: var(--aomics-ink) !important;
  box-shadow: none !important;
}

.contact-intent-grid button:hover,
.domain-grid button:hover,
.contact-intent-grid button.selected,
.domain-grid button.selected {
  border-color: rgba(124, 0, 0, .3) !important;
  background: var(--aomics-brand-soft) !important;
  transform: none !important;
}

.quote-progress button {
  color: #7a8785 !important;
  font-family: var(--font-sans) !important;
  font-weight: 550 !important;
}

.quote-progress button.active {
  color: var(--aomics-burgundy) !important;
  border-bottom-color: var(--aomics-burgundy) !important;
}

/* Lists, editorial content and expandable answers. */
.blog-featured,
.career-role,
.resource-card {
  overflow: hidden;
  transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}

.blog-featured-copy h2,
.news-item-copy h2,
.faq-cta h2,
.careers-cta h2,
.resources-request h2,
.about-cta h2,
.editorial-cta h2,
.technology-cta h2,
.compliance-cta h2 {
  color: var(--aomics-ink) !important;
  font-size: clamp(1.75rem, 3.4vw, 2.85rem) !important;
  line-height: 1.06 !important;
  letter-spacing: -.04em !important;
  text-wrap: balance;
}

.news-item {
  border-color: var(--aomics-line) !important;
}

.faq-item {
  overflow: hidden;
  box-shadow: none !important;
}

.faq-item summary {
  min-height: 72px;
  padding: 20px 22px !important;
  color: var(--aomics-ink) !important;
  cursor: pointer;
}

.faq-item[open] {
  border-color: rgba(124, 0, 0, .22) !important;
  box-shadow: var(--aomics-card-shadow) !important;
}

.faq-item > p {
  color: var(--aomics-muted) !important;
}

/* Call-to-action bands: quiet, authoritative and consistently branded. */
.about-cta,
.editorial-cta,
.careers-cta,
.resources-request,
.technology-cta,
.compliance-cta,
.contact-platform-strip,
.faq-cta,
.biz-contact {
  border: 1px solid rgba(124, 0, 0, .14) !important;
  border-radius: 18px !important;
  background:
    linear-gradient(135deg, rgba(124, 0, 0, .055), rgba(124, 0, 0, .018)),
    #fff !important;
  color: var(--aomics-ink) !important;
  box-shadow: var(--aomics-card-shadow) !important;
}

.about-cta,
.editorial-cta,
.technology-cta,
.compliance-cta,
.contact-platform-strip {
  margin: 0 auto clamp(56px, 6vw, 84px);
  width: min(1216px, calc(100% - 48px));
  padding: clamp(34px, 5vw, 56px) !important;
}

.about-cta .wrap,
.editorial-cta .wrap,
.technology-cta .wrap,
.compliance-cta .wrap,
.contact-platform-strip .wrap {
  max-width: none !important;
  padding: 0 !important;
}

.about-cta p:not(.aomics-kicker),
.editorial-cta p:not(.aomics-kicker),
.careers-cta p:not(.aomics-kicker),
.resources-request p:not(.aomics-kicker),
.technology-cta p:not(.aomics-kicker),
.compliance-cta p:not(.aomics-kicker),
.biz-contact p,
.faq-cta p:not(.aomics-kicker) {
  color: var(--aomics-muted) !important;
}

.about-cta .aomics-kicker,
.editorial-cta .aomics-kicker,
.careers-cta .aomics-kicker,
.resources-request .aomics-kicker,
.technology-cta .aomics-kicker,
.compliance-cta .aomics-kicker,
.contact-platform-strip .aomics-kicker {
  color: var(--aomics-burgundy) !important;
}

.careers-cta,
.resources-request,
.faq-cta,
.biz-contact {
  padding: clamp(28px, 4vw, 38px) !important;
}

.biz-contact h2,
.biz-contact-icon {
  color: var(--aomics-ink) !important;
}

.biz-contact-icon {
  border: 1px solid rgba(124, 0, 0, .14) !important;
  background: var(--aomics-brand-soft) !important;
}

.biz-contact-addr {
  color: #7a8785 !important;
}

/* Public CMS articles and posts. */
.page-content,
.post-body {
  width: min(100%, 920px);
  margin: 0 auto;
  padding: var(--aomics-section-space) 24px !important;
}

/* CMS pages already clear the fixed header through the breadcrumb bar. Keep
   their first heading on the same compact visual rhythm as bespoke pages. */
.page-content {
  padding-top: 16px !important;
}

.page-content h2,
.post-body h2 {
  margin: 42px 0 16px;
  color: var(--aomics-ink) !important;
  font-size: clamp(1.65rem, 3vw, 2.35rem);
  line-height: 1.1;
  letter-spacing: -.035em;
}

.page-content h3,
.post-body h3 {
  margin: 30px 0 12px;
  color: var(--aomics-ink) !important;
  font-size: 1.3rem;
}

.page-content p + p,
.post-body p + p {
  margin-top: 16px;
}

.single-post .post-hero {
  padding-top: 16px;
}

.post-hero .breadcrumb-bar {
  padding-top: 0 !important;
  border: 0 !important;
  background: transparent !important;
}

.post-hero-img {
  overflow: hidden;
  border: 1px solid var(--aomics-line);
  border-radius: 18px !important;
  box-shadow: var(--aomics-card-shadow);
}

/* Footer retains the approved Aomics treatment, with tighter Adaptrials type. */
.site-footer {
  border-top: 1px solid var(--aomics-line) !important;
  font-family: var(--font-sans) !important;
}

.footer-grid,
.footer-bottom,
.footer-disclaimer {
  max-width: 1280px !important;
}

.footer-col h4 {
  color: var(--aomics-ink) !important;
}

.footer-col ul li a,
.footer-brand p,
.footer-bottom,
.footer-legal a {
  color: #687573 !important;
}

.footer-col ul li a:hover,
.footer-legal a:hover {
  color: var(--aomics-burgundy) !important;
}

@media (max-width: 1023px) {
  .biz-hero,
  .technology-hero,
  .editorial-hero,
  .compliance-hero,
  .contact-hero,
  .about-intro {
    padding: 64px 0 72px !important;
  }

  .quote-page,
  .page-hero,
  .error-hero,
  .single-post .post-hero {
    padding-top: 64px !important;
  }

  .single-post .post-hero { padding-top: 16px !important; }
  .breadcrumb-bar { padding-top: 0 !important; }

  .aomics-audience-grid,
  .technology-layer-grid,
  .compliance-chain,
  .compliance-standard-grid,
  .resource-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .about-cta,
  .editorial-cta,
  .technology-cta,
  .compliance-cta,
  .contact-platform-strip {
    width: min(100% - 32px, 1216px);
  }
}

@media (max-width: 760px) {
  .aomics-section-heading,
  .service-atlas-heading,
  .technology-section-heading,
  .about-section-heading,
  .compliance-heading,
  .resources-intro,
  .careers-intro {
    align-items: flex-start !important;
    flex-direction: column !important;
    gap: 18px !important;
  }

  .biz-cards,
  .service-grid,
  .biz-grid-2,
  .biz-deliverables,
  .aomics-audience-grid,
  .technology-platform-grid,
  .technology-layer-grid,
  .compliance-chain,
  .compliance-standard-grid,
  .resource-grid {
    grid-template-columns: 1fr !important;
  }

  .service-atlas-tabs {
    display: flex !important;
    overflow-x: auto;
    scroll-snap-type: x proximity;
  }

  .service-atlas-tabs button {
    flex: 0 0 180px;
    scroll-snap-align: start;
  }

  .aomics-audience-card { min-height: 0 !important; }
}

@media (max-width: 640px) {
  .biz-hero,
  .technology-hero,
  .editorial-hero,
  .compliance-hero,
  .contact-hero,
  .about-intro {
    padding: 64px 0 62px !important;
  }

  .quote-page,
  .page-hero,
  .error-hero,
  .single-post .post-hero {
    padding-top: 64px !important;
  }

  .single-post .post-hero { padding-top: 16px !important; }
  .breadcrumb-bar { padding-top: 0 !important; }

  .biz-hero h1,
  .technology-hero h1,
  .editorial-hero h1,
  .compliance-hero h1,
  .contact-hero-copy h1,
  .about-intro h1,
  .quote-brief h1,
  .post-title,
  .page-content h1 {
    font-size: clamp(2.45rem, 12vw, 3.35rem) !important;
  }

  .about-cta,
  .editorial-cta,
  .technology-cta,
  .compliance-cta,
  .contact-platform-strip {
    width: calc(100% - 24px);
    margin-bottom: 48px;
  }

  .career-role-header,
  .contact-form-footer,
  .quote-form-actions {
    align-items: stretch !important;
    flex-direction: column !important;
  }

  .cookie-banner {
    right: 12px !important;
    bottom: 12px !important;
    width: calc(100% - 24px) !important;
  }
}

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