/* CSS Variables — light scientific theme */
:root {
    --primary-color: #f4f7fb;
    --secondary-color: #e8eef6;
    --accent-cyan: #0d9f94;
    --accent-purple: #5b4fd6;
    --accent-amber: #c9851a;
    --accent-red: #d94f45;
    --text-dark: #1a2332;
    --text-muted: #3f4f60;
    --bg-dark: #f7f9fc;
    --bg-card: #ffffff;
    --bg-gradient: linear-gradient(180deg, #ffffff 0%, #f4f7fb 100%);
    --font-family: 'Plus Jakarta Sans', system-ui, -apple-system, sans-serif;
    --font-mono: 'JetBrains Mono', 'SFMono-Regular', 'Consolas', monospace;
    --surface: #ffffff;
    --surface-elevated: #ffffff;
    --border-subtle: rgba(26, 35, 50, 0.1);
    --text-primary: #122033;
    --accent-cyan-soft: rgba(13, 159, 148, 0.1);
}


* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body {
    font-family: var(--font-family);
    color: var(--text-dark);
    line-height: 1.6;
    background: #f7f9fc;
    overflow-x: hidden;
}

a {
    text-decoration: none;
    color: inherit;
}

h1, h2, h3, h4 {
    font-weight: 700;
    line-height: 1.2;
    color: var(--text-primary);
}

h2 {
    font-size: clamp(1.85rem, 3vw, 2.55rem);
    margin-bottom: 1rem;
    text-align: center;
    color: var(--text-primary);
    letter-spacing: -0.03em;
    background: none;
    -webkit-text-fill-color: unset;
}

p {
    margin-bottom: 1rem;
    color: var(--text-muted);
}

.container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
}

.section-padding {
    padding: 6rem 0;
}

.text-center {
    text-align: center;
}

/* Buttons */
.btn {
    display: inline-block;
    padding: 0.8rem 2rem;
    border-radius: 8px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.3s ease;
    text-align: center;
    border: none;
    font-size: 1rem;
}

.btn-primary {
    background: #0a7f78;
    color: #ffffff;
    box-shadow: none;
    border-radius: 6px;
    font-weight: 700;
}

.btn-primary:hover {
    transform: translateY(-1px);
    background: #086860;
    box-shadow: 0 8px 24px rgba(13, 159, 148, 0.25);
}

.btn-outline {
    background: transparent;
    color: var(--text-primary);
    border: 1px solid rgba(26, 35, 50, 0.18);
    border-radius: 6px;
}

.btn-outline:hover {
    background: rgba(13, 159, 148, 0.06);
    border-color: rgba(13, 159, 148, 0.45);
}

/* Navigation */
nav {
    background: rgba(255, 255, 255, 0.9);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    position: sticky;
    top: 0;
    z-index: 1000;
    border-bottom: 1px solid var(--border-subtle);
}

.nav-container {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 1.2rem 20px;
    max-width: 1200px;
    margin: 0 auto;
}

.logo {
    font-size: 1.5rem;
    font-weight: 800;
    color: var(--text-primary);
    letter-spacing: -0.5px;
    display: flex;
    align-items: center;
    gap: 0.55rem;
}

.logo-mark {
    width: 40px;
    height: 40px;
    display: block;
    object-fit: contain;
    flex-shrink: 0;
}

.logo-wordmark {
    display: inline-flex;
    align-items: baseline;
    gap: 0.28em;
    font-size: 1.2rem;
    font-weight: 800;
    letter-spacing: -0.03em;
    line-height: 1;
    white-space: nowrap;
}

.logo-name {
    color: #0b2c4d;
    font-weight: 800;
}

.logo-bioai {
    font-weight: 750;
    background: linear-gradient(90deg, #0d7ea8 0%, #0d9f94 100%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    color: #0d9f94;
}

.logo-img,
.footer-logo img {
    display: block;
    height: auto;
    width: auto;
    max-width: min(160px, 42vw);
    object-fit: contain;
}

.footer-logo {
    display: inline-flex;
    align-items: center;
    gap: 0.65rem;
    margin-bottom: 0.65rem;
}

.footer-logo img {
    width: 48px;
    height: 48px;
    max-width: 48px;
}

.footer-wordmark {
    display: inline-flex;
    align-items: baseline;
    gap: .28rem;
    color: #0b2c4d;
    font-size: 1.18rem;
    font-weight: 800;
    letter-spacing: -.03em;
}
.footer-wordmark strong { color: #0d9188; }

.logo span,
.logo-wordmark span {
    /* keep BioAI gradient; don't force cyan on all spans */
}

.nav-links {
    display: flex;
    gap: 2rem;
    align-items: center;
}

.nav-links a {
    font-weight: 500;
    font-size: 0.95rem;
    transition: color 0.3s;
    color: var(--text-dark);
}

.nav-links a:hover {
    color: var(--accent-cyan);
}

.nav-menu {
    position: relative;
    padding: 0.5rem 0;
}

.nav-submenu {
    position: absolute;
    top: 100%;
    left: 0;
    min-width: 160px;
    background: rgba(11, 19, 43, 0.96);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 8px;
    box-shadow: 0 16px 30px rgba(0, 0, 0, 0.35);
    padding: 0.5rem;
    display: none;
    z-index: 1001;
}

.nav-menu:hover .nav-submenu,
.nav-menu:focus-within .nav-submenu {
    display: grid;
    gap: 0.25rem;
}

.nav-submenu a {
    display: block;
    padding: 0.65rem 0.75rem;
    border-radius: 6px;
    white-space: nowrap;
}

.nav-submenu a:hover {
    background: rgba(0, 212, 255, 0.1);
}

/* Platform landing */
.platform-hero {
    padding: 5.5rem 0 4rem;
    min-height: calc(100vh - 72px);
    display: grid;
    align-items: center;
    background:
        linear-gradient(120deg, rgba(5, 10, 18, 0.96), rgba(7, 22, 29, 0.94)),
        radial-gradient(circle at 88% 18%, rgba(57, 211, 199, 0.16), transparent 34%);
}

.platform-hero-grid {
    display: grid;
    grid-template-columns: minmax(0, 0.92fr) minmax(420px, 1.08fr);
    gap: 3.5rem;
    align-items: center;
}

.platform-hero-copy h1 {
    font-size: clamp(2.2rem, 4.2vw, 3.6rem);
    margin: 0.85rem 0 1.25rem;
    max-width: 720px;
    letter-spacing: -0.035em;
    line-height: 1.12;
    font-weight: 800;
    color: var(--text-primary);
    -webkit-text-fill-color: unset;
}

.platform-hero-copy p {
    font-size: 1.15rem;
    max-width: 760px;
    color: var(--text-muted);
}

.hero-proof {
    display: flex;
    flex-wrap: wrap;
    gap: 0.65rem;
    margin: 1.6rem 0 2rem;
}

.hero-proof span {
    padding: 0.55rem 0.75rem;
    border: 1px solid var(--border-subtle);
    border-radius: 999px;
    background: #f4f7fb;
    color: var(--text-primary);
    font-size: 0.86rem;
    font-weight: 700;
}

.eyebrow {
    color: var(--accent-cyan);
    font-size: 0.78rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.product-mockup,
.tool-panel,
.workspace-card,
.module-card,
.contrast-card,
.user-card,
.cta-panel,
.job-table {
    background: #ffffff;
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 8px;
    box-shadow: 0 24px 70px rgba(0, 0, 0, 0.28);
}

.product-mockup {
    min-height: 520px;
    display: grid;
    grid-template-columns: 132px 1fr;
    overflow: hidden;
    border-color: rgba(57, 211, 199, 0.16);
}

.mock-sidebar {
    background: rgba(4, 8, 18, 0.72);
    padding: 1.2rem;
    display: grid;
    align-content: start;
    gap: 0.9rem;
}

.mock-logo {
    width: 42px;
    height: 42px;
    border-radius: 8px;
    display: grid;
    place-items: center;
    color: #052325;
    font-weight: 900;
    background: var(--accent-cyan);
}

.mock-sidebar span,
.status-pill {
    color: #c7d4e6;
    font-size: 0.82rem;
}

.mock-sidebar .active {
    color: #ffffff;
    font-weight: 800;
}

.mock-main {
    padding: 1.5rem;
    display: grid;
    gap: 1rem;
    align-content: start;
}

.mock-topline,
.module-card-head {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    align-items: flex-start;
}

.status-pill {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 28px;
    padding: 0.28rem 0.7rem;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.07);
    border: 1px solid rgba(255, 255, 255, 0.08);
    white-space: nowrap;
}

.status-pill.success {
    color: #8ef0bd;
    background: rgba(32, 178, 117, 0.12);
    border-color: rgba(32, 178, 117, 0.28);
}

.module-card.core .status-pill {
    color: #032728;
    background: var(--accent-cyan);
    border-color: transparent;
    font-weight: 900;
}

.mock-metrics {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.75rem;
}

.metric-card {
    min-height: 84px;
    padding: 0.85rem;
    border-radius: 8px;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.065), rgba(255, 255, 255, 0.032));
    border: 1px solid rgba(255, 255, 255, 0.07);
}

.metric-card:nth-child(4) {
    border-color: rgba(255, 107, 95, 0.38);
}

.metric-card:nth-child(4) strong {
    color: #ffb0a9;
}

.mock-insight-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.25fr) minmax(150px, 0.75fr);
    gap: 0.85rem;
}

.risk-panel,
.solvation-map {
    min-height: 138px;
    padding: 0.95rem;
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.035);
    border: 1px solid rgba(255, 255, 255, 0.07);
}

.risk-panel-top {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    gap: 1rem;
}

.risk-panel-top span {
    color: var(--text-muted);
    font-weight: 800;
    font-size: 0.82rem;
}

.risk-panel-top strong {
    color: #ffb0a9;
    font-size: 2.1rem;
}

.risk-bar {
    height: 9px;
    margin: 0.7rem 0;
    border-radius: 999px;
    background: linear-gradient(90deg, #ff6b5f, #f2b84b, #39d3c7);
    overflow: hidden;
}

.risk-bar span {
    display: block;
    width: 38%;
    height: 100%;
    background: rgba(255, 255, 255, 0.72);
}

.risk-panel p {
    margin: 0;
    font-size: 0.82rem;
}

.solvation-map {
    position: relative;
    overflow: hidden;
}

.map-node {
    position: absolute;
    z-index: 2;
    min-width: 48px;
    min-height: 48px;
    border-radius: 50%;
    display: grid;
    place-items: center;
    color: #ffffff;
    font-size: 0.72rem;
    font-weight: 900;
    border: 1px solid rgba(255, 255, 255, 0.16);
}

.map-node.donor {
    top: 18px;
    left: 18px;
    background: rgba(255, 107, 95, 0.72);
}

.map-node.amide {
    right: 24px;
    top: 42px;
    background: rgba(242, 184, 75, 0.72);
}

.map-node.lipophilic {
    left: 64px;
    bottom: 16px;
    background: rgba(57, 211, 199, 0.62);
}

.map-link {
    position: absolute;
    height: 2px;
    background: rgba(255, 255, 255, 0.24);
    transform-origin: left center;
}

.map-link.one {
    width: 88px;
    left: 58px;
    top: 48px;
    transform: rotate(13deg);
}

.map-link.two {
    width: 70px;
    left: 92px;
    top: 92px;
    transform: rotate(-20deg);
}

.metric-card span {
    display: block;
    color: var(--text-muted);
    font-size: 0.76rem;
}

.metric-card strong {
    display: block;
    margin-top: 0.55rem;
    font-size: 1.45rem;
    color: #ffffff;
}

.mock-table {
    display: grid;
    gap: 0.45rem;
}

.mock-row,
.job-row {
    display: grid;
    grid-template-columns: 1.2fr 1fr 1fr;
    gap: 0.75rem;
    align-items: center;
    min-height: 42px;
    padding: 0.65rem 0.8rem;
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.04);
    color: #dce6f4;
    font-size: 0.88rem;
}

.mock-row.header,
.job-row.header {
    color: var(--text-muted);
    font-weight: 800;
    background: rgba(255, 255, 255, 0.02);
}

.section-heading {
    max-width: 760px;
    margin: 0 auto 3rem;
    text-align: center;
}

.section-heading h2 {
    margin-top: 0.5rem;
}

.module-grid,
.workspace-grid,
.user-grid,
.contrast-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
}

.module-grid.compact {
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
}

.module-card,
.workspace-card,
.contrast-card,
.user-card {
    padding: 1.35rem;
}

.module-card {
    position: relative;
    overflow: hidden;
    min-height: 205px;
    transition: transform 0.2s, border-color 0.2s, background 0.2s;
}

.module-card:hover {
    transform: translateY(-3px);
    border-color: rgba(57, 211, 199, 0.22);
}

.module-card.core {
    background:
        linear-gradient(180deg, rgba(57, 211, 199, 0.105), rgba(12, 22, 39, 0.9));
    border-color: rgba(57, 211, 199, 0.28);
}

.module-card.core::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 3px;
    background: linear-gradient(90deg, var(--accent-cyan), var(--accent-amber));
}

.module-card h3,
.workspace-card h3,
.contrast-card h3,
.user-card h3 {
    font-size: 1.05rem;
    margin-bottom: 0.75rem;
}

.module-card p,
.workspace-card p,
.contrast-card li,
.user-card p {
    font-size: 0.92rem;
}

.workflow-band {
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.018), rgba(57, 211, 199, 0.035));
}

.timeline-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 1rem;
}

.timeline-step {
    min-height: 210px;
    padding: 1.25rem;
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid rgba(255, 255, 255, 0.08);
    position: relative;
}

.timeline-step span {
    display: inline-grid;
    place-items: center;
    width: 38px;
    height: 38px;
    border-radius: 8px;
    color: #041716;
    background: var(--accent-cyan);
    font-weight: 900;
}

.timeline-step h3 {
    margin: 1rem 0 0.6rem;
    font-size: 1rem;
}

.split-section {
    display: grid;
    grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.15fr);
    gap: 2rem;
    align-items: start;
}

.contrast-card ul {
    list-style-position: inside;
    color: var(--text-muted);
    display: grid;
    gap: 0.6rem;
}

.contrast-card.positive {
    border-color: rgba(0, 212, 255, 0.24);
}

.user-band {
    background: rgba(5, 11, 22, 0.75);
}

.cta-panel {
    padding: 3rem;
    text-align: center;
    background:
        linear-gradient(135deg, rgba(57, 211, 199, 0.12), rgba(124, 109, 255, 0.08)),
        rgba(12, 22, 39, 0.9);
}

.evidence-band {
    padding-top: 0;
}

.evidence-grid {
    display: grid;
    grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr);
    gap: 2rem;
    align-items: start;
    padding-top: 3rem;
    border-top: 1px solid rgba(255, 255, 255, 0.08);
}

.evidence-list {
    display: grid;
    gap: 0.75rem;
}

.evidence-list div {
    display: grid;
    grid-template-columns: 120px 1fr;
    gap: 1rem;
    padding: 1rem;
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid rgba(255, 255, 255, 0.07);
}

.evidence-list strong {
    color: var(--text-primary);
}

.evidence-list span {
    color: var(--text-muted);
}

/* Academy landing */
.academy-hero {
    padding: 4rem 0 3.25rem;
    min-height: auto;
    display: grid;
    align-items: center;
    background:
        radial-gradient(ellipse 55% 45% at 90% 10%, rgba(13, 159, 148, 0.08), transparent 55%),
        linear-gradient(180deg, #ffffff 0%, #f4f7fb 100%);
    border-bottom: 1px solid var(--border-subtle);
}

.academy-hero-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(400px, 0.9fr);
    gap: 3rem;
    align-items: center;
}

.academy-kicker {
    display: inline-flex;
    min-height: auto;
    align-items: center;
    padding: 0.35rem 0.75rem;
    border-radius: 6px;
    color: var(--accent-cyan);
    background: rgba(57, 211, 199, 0.1);
    border: 1px solid rgba(57, 211, 199, 0.2);
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.academy-hero-copy h1 {
    font-size: clamp(2.1rem, 3.8vw, 3.2rem);
    margin: 0.9rem 0 1.05rem;
    max-width: 640px;
    letter-spacing: -0.035em;
    line-height: 1.15;
    font-weight: 800;
}

.academy-hero-copy p {
    font-size: 1.06rem;
    max-width: 720px;
    color: var(--text-muted);
}

.academy-hero-list {
    display: grid;
    gap: 0.55rem;
    margin: 1.1rem 0 1.45rem;
    padding: 0;
    list-style: none;
    max-width: 760px;
}

.academy-hero-list li {
    position: relative;
    padding-left: 1.7rem;
    color: var(--text-primary);
    font-weight: 650;
}

.academy-hero-list li::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0.55rem;
    width: 9px;
    height: 9px;
    border-radius: 50%;
    background: var(--accent-cyan);
    box-shadow: 0 0 16px rgba(57, 211, 199, 0.55);
}

.academy-program-preview,
.academy-program-card,
.academy-offer-panel {
    background: #ffffff;
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 8px;
    box-shadow: 0 24px 70px rgba(0, 0, 0, 0.28);
}

.academy-program-preview {
    min-height: 470px;
    padding: 1.3rem;
    display: grid;
    gap: 1rem;
    align-content: start;
    background: #ffffff;
    border-color: var(--border-subtle);
}

.academy-preview-header h3 {
    margin: 0.45rem 0 0.7rem;
    font-size: 1.75rem;
}

.academy-preview-header p {
    margin-bottom: 0;
}

.academy-preview-path {
    display: grid;
    gap: 0.75rem;
}

.academy-preview-path div,
.academy-preview-outcome {
    padding: 1.05rem 1.1rem;
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.045);
    border: 1px solid rgba(255, 255, 255, 0.075);
}

.academy-preview-path strong,
.academy-preview-outcome strong {
    display: block;
    color: var(--text-primary);
    margin-bottom: 0.35rem;
}

.academy-preview-path p {
    margin: 0;
    font-size: 0.92rem;
}

.academy-preview-outcome {
    background: rgba(57, 211, 199, 0.065);
    border-color: rgba(57, 211, 199, 0.18);
}

.academy-preview-outcome ul {
    margin: 0.65rem 0 0;
    padding-left: 1.15rem;
    color: var(--text-muted);
}

.academy-audience-band {
    padding: 3.5rem 0;
    background: #f4f9fb;
    color: #0d1d2b;
}

.academy-audience-band h2 {
    margin: 0.45rem 0 0;
    color: #102236;
    background: none;
    -webkit-text-fill-color: #102236;
    text-align: left;
}

.academy-audience-grid {
    display: grid;
    grid-template-columns: minmax(0, 0.76fr) minmax(0, 1.24fr);
    gap: 2rem;
    align-items: start;
}

.academy-audience-list {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.85rem;
}

.academy-audience-list div {
    min-height: 170px;
    padding: 1rem;
    border-radius: 8px;
    background: #ffffff;
    border: 1px solid #d9e5ec;
    box-shadow: 0 12px 30px rgba(16, 34, 54, 0.08);
}

.academy-audience-list strong {
    display: block;
    color: #102236;
    margin-bottom: 0.55rem;
}

.academy-audience-list span {
    color: #536579;
}

.academy-clean-section {
    background: #f7f9fc;
}

.academy-program-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1rem;
}

.academy-program-card {
    min-height: 220px;
    padding: 1.25rem;
    display: grid;
    align-content: start;
    gap: 0.9rem;
}

.academy-program-card strong {
    color: var(--accent-cyan);
    font-size: 1.05rem;
}

.academy-program-card p {
    margin-bottom: 0;
    font-size: 0.92rem;
}

.academy-band {
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.018), rgba(38, 126, 118, 0.045));
}

.track-chip-row {
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem;
    margin-top: 1rem;
}

.track-chip-row span {
    display: inline-flex;
    min-height: 30px;
    align-items: center;
    padding: 0.32rem 0.55rem;
    border-radius: 999px;
    color: #dff7f4;
    font-size: 0.78rem;
    font-weight: 800;
    background: rgba(255, 255, 255, 0.055);
    border: 1px solid rgba(255, 255, 255, 0.08);
}

.certificate-note {
    padding: 1rem;
    border-radius: 8px;
    background: rgba(242, 184, 75, 0.08);
    border: 1px solid rgba(242, 184, 75, 0.2);
}

.academy-phase-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.85rem;
}

.academy-phase {
    min-height: 220px;
    padding: 1.2rem;
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.045);
    border: 1px solid rgba(255, 255, 255, 0.08);
}

.academy-phase span {
    display: inline-flex;
    color: var(--accent-cyan);
    font-weight: 900;
    margin-bottom: 0.85rem;
    text-transform: uppercase;
    font-size: 0.78rem;
}

.academy-phase h3 {
    font-size: 1.25rem;
    margin-bottom: 0.7rem;
}

.academy-phase p {
    font-size: 0.94rem;
    margin-bottom: 0;
}

.academy-offer-band {
    background: linear-gradient(180deg, #ffffff 0%, #f4f7fb 100%);
    border-top: 1px solid var(--border-subtle);
    border-bottom: 1px solid var(--border-subtle);
}

.academy-offer-band .section-heading h2,
.academy-offer-band .section-heading p,
.academy-offer-band .eyebrow {
    text-align: center;
}

.academy-offer-band .section-heading h2 {
    color: var(--text-primary) !important;
    -webkit-text-fill-color: unset !important;
}

.academy-offer-band .section-heading p {
    color: var(--text-muted) !important;
    max-width: 720px;
    margin-left: auto;
    margin-right: auto;
}

.academy-offer-panel {
    padding: 1.5rem;
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(280px, 0.45fr);
    gap: 1.5rem;
    align-items: center;
    background: #ffffff !important;
    border: 1px solid var(--border-subtle) !important;
    border-radius: 14px;
    box-shadow: 0 10px 28px rgba(18, 32, 51, 0.05) !important;
}

.academy-offer-panel h3 {
    font-size: 1.55rem;
    margin-bottom: 0.6rem;
    color: var(--text-primary) !important;
}

.academy-price-box {
    min-height: 160px;
    padding: 1.15rem;
    border-radius: 8px;
    background: rgba(57, 211, 199, 0.075);
    border: 1px solid rgba(57, 211, 199, 0.2);
    display: grid;
    align-content: center;
    gap: 0.4rem;
}

.academy-price-box span,
.academy-price-box small {
    color: var(--text-muted);
}

.academy-price-box strong {
    color: var(--text-primary);
    font-size: 1.55rem;
}

.academy-offer-list {
    display: grid;
    gap: 0.65rem;
    margin: 0;
    padding-left: 1.15rem;
    color: var(--text-muted);
}

/* Workspace */
.workspace-shell {
    min-height: 100vh;
    display: grid;
    grid-template-columns: 240px minmax(0, 1fr);
    background: #f7f9fc;
}

.workspace-sidebar {
    position: sticky;
    top: 0;
    height: 100vh;
    padding: 1.25rem;
    background: #ffffff;
    border-right: 1px solid var(--border-subtle);
    display: grid;
    align-content: start;
    gap: 0.35rem;
}

.workspace-sidebar a {
    padding: 0.75rem 0.85rem;
    border-radius: 8px;
    color: var(--text-muted);
    font-weight: 650;
}

.workspace-sidebar a:hover {
    background: rgba(13, 159, 148, 0.1);
    color: var(--text-primary);
}

.workspace-brand {
    color: var(--text-primary) !important;
    font-size: 1.25rem;
    margin-bottom: 1rem;
}

.workspace-topbar {
    min-height: 72px;
    padding: 1rem 1.6rem;
    border-bottom: 1px solid var(--border-subtle);
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.workspace-main {
    padding: 1.6rem;
}

.page-heading {
    margin-bottom: 1.5rem;
}

.page-heading h1 {
    font-size: 2rem;
    margin: 0.35rem 0 0.6rem;
}

.workspace-card {
    display: grid;
    min-height: 160px;
    align-content: start;
    transition: border-color 0.2s, transform 0.2s;
}

.workspace-card:hover {
    transform: translateY(-2px);
    border-color: rgba(0, 212, 255, 0.25);
}

.workspace-card span {
    margin-top: auto;
    color: var(--accent-cyan);
    font-weight: 800;
}

.tool-section-title {
    margin: 1.25rem 0 0.85rem;
    color: var(--text-primary);
    font-weight: 900;
}

.tool-layout,
.pipeline-grid {
    display: grid;
    grid-template-columns: minmax(320px, 0.8fr) minmax(0, 1.2fr);
    gap: 1rem;
    align-items: start;
}

.tool-panel {
    padding: 1.35rem;
    display: grid;
    gap: 1rem;
}

.tool-panel label {
    display: grid;
    gap: 0.4rem;
    color: #dce6f4;
    font-weight: 700;
}

.tool-panel input,
.tool-panel textarea {
    width: 100%;
    min-height: 42px;
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 8px;
    padding: 0.7rem;
    background: rgba(255, 255, 255, 0.05);
    color: #ffffff;
}

.tool-panel textarea {
    min-height: 100px;
    resize: vertical;
}

.file-drop {
    min-height: 90px;
    border: 1px dashed rgba(0, 212, 255, 0.34);
    border-radius: 8px;
    padding: 1rem;
    display: grid;
    align-content: center;
    gap: 0.25rem;
    background: rgba(0, 212, 255, 0.04);
}

.file-drop span {
    color: var(--text-muted);
}

.param-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.75rem;
}

.check-row {
    display: flex !important;
    grid-template-columns: none !important;
    flex-direction: row;
    align-items: center;
}

.check-row input {
    width: auto;
    min-height: auto;
}

.ranking-panel,
.stage-row {
    padding: 0.85rem;
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.04);
    color: #dce6f4;
}

.stage-list {
    display: grid;
    gap: 0.5rem;
}

.stage-row {
    display: flex;
    justify-content: space-between;
}

.job-table {
    margin-top: 1.25rem;
    padding: 0.75rem;
    display: grid;
    gap: 0.45rem;
}

.job-row {
    grid-template-columns: 1.2fr 1fr 1fr 0.7fr;
}

/* Standard pipeline */
.pipeline-step-strip {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.75rem;
    margin-bottom: 1.5rem;
}

.pipeline-step-strip div {
    min-height: 92px;
    padding: 0.9rem;
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid rgba(255, 255, 255, 0.075);
    display: grid;
    align-content: start;
    gap: 0.25rem;
}

.pipeline-step-strip span {
    color: var(--accent-cyan);
    font-weight: 900;
    font-size: 0.82rem;
}

.pipeline-step-strip strong {
    color: var(--text-primary);
}

.pipeline-step-strip small {
    color: var(--text-muted);
}

/* Modeling workbench */
.workbench-section {
    margin-bottom: 2rem;
}

.workbench-header {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    align-items: flex-start;
    margin-bottom: 1rem;
}

.workbench-header h2 {
    margin: 0.35rem 0 0;
    text-align: left;
    font-size: 1.55rem;
    background: none;
    -webkit-text-fill-color: unset;
    color: var(--text-primary);
}

.medchem-grid,
.sbdd-grid {
    display: grid;
    grid-template-columns: minmax(340px, 0.82fr) minmax(0, 1.18fr);
    gap: 1rem;
    align-items: start;
}

.medchem-input-panel textarea {
    min-height: 118px;
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
}

.quick-smiles {
    display: flex;
    flex-wrap: wrap;
    gap: 0.55rem;
}

.quick-smiles button {
    min-height: 34px;
    padding: 0.45rem 0.7rem;
    border-radius: 8px;
    border: 1px solid rgba(255, 255, 255, 0.11);
    background: rgba(255, 255, 255, 0.045);
    color: #dce8f4;
    font-weight: 750;
    cursor: pointer;
}

.quick-smiles button:hover {
    border-color: rgba(57, 211, 199, 0.34);
    color: #ffffff;
}

.design-rule-grid {
    display: grid;
    gap: 0.65rem;
}

.design-rule-grid.two-col {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.design-rule-grid div {
    padding: 0.9rem;
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.035);
    border: 1px solid rgba(255, 255, 255, 0.07);
}

.design-rule-grid strong,
.smiles-readout span {
    display: block;
    color: #ffffff;
    font-size: 0.84rem;
    margin-bottom: 0.28rem;
}

.design-rule-grid span {
    display: block;
    color: var(--text-muted);
    font-size: 0.86rem;
}

.panel-title-row {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    align-items: center;
}

.download-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.55rem;
    justify-content: flex-end;
}

.download-actions .btn {
    padding: 0.55rem 0.8rem;
    font-size: 0.84rem;
}

.structure-canvas {
    min-height: 360px;
    border-radius: 8px;
    display: grid;
    place-items: center;
    padding: 1.25rem;
    background: #f8fafc;
    border: 1px solid rgba(203, 213, 225, 0.9);
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.72);
    overflow: hidden;
}

.structure-canvas img {
    width: min(100%, 560px);
    max-height: 330px;
    object-fit: contain;
    padding: 1.4rem;
    border-radius: 8px;
    background: #ffffff;
    border: 1px solid rgba(226, 232, 240, 0.95);
    box-shadow: 0 14px 30px rgba(15, 23, 42, 0.12);
}

.smiles-readout {
    padding: 0.85rem;
    border-radius: 8px;
    background: rgba(57, 211, 199, 0.06);
    border: 1px dashed rgba(57, 211, 199, 0.32);
}

.smiles-readout code {
    color: #dff7f4;
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
    word-break: break-all;
}

/* Hero Section */
.hero {
    position: relative;
    padding: 8rem 0 6rem 0;
    text-align: center;
    background: radial-gradient(circle at 50% 100%, rgba(99, 91, 255, 0.15) 0%, rgba(6, 11, 25, 1) 70%);
}

.hero::before {
    content: '';
    position: absolute;
    top: 0; left: 0; right: 0; bottom: 0;
    background: url('data:image/svg+xml;utf8,<svg width="40" height="40" xmlns="http://www.w3.org/2000/svg"><circle cx="2" cy="2" r="1.5" fill="rgba(255,255,255,0.05)"/></svg>');
    z-index: 0;
}

.hero .container {
    position: relative;
    z-index: 1;
}

.hero h1 {
    font-size: 4rem;
    margin-bottom: 1.5rem;
    letter-spacing: -1px;
    line-height: 1.1;
}

.hero h1 span {
    background: none;
    color: var(--accent-cyan);
    -webkit-text-fill-color: unset;
}

.hero p {
    font-size: 1.25rem;
    color: #A0AEC0;
    max-width: 800px;
    margin: 0 auto 3rem auto;
    line-height: 1.8;
}

.hero-buttons {
    display: flex;
    gap: 1rem;
    justify-content: center;
}

/* The Promise / Problem Section */
.promise-section {
    background: var(--bg-dark);
}

.promise-card {
    background: linear-gradient(145deg, rgba(28, 37, 65, 0.8), rgba(11, 19, 43, 0.9));
    border: 1px solid rgba(255, 255, 255, 0.05);
    border-radius: 16px;
    padding: 4rem 3rem;
    text-align: center;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.5);
    position: relative;
    overflow: hidden;
}

.promise-card::before {
    content: '';
    position: absolute;
    top: 0; left: 0; right: 0; height: 4px;
    background: linear-gradient(90deg, var(--accent-red), var(--accent-purple));
}

.problem-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 3rem;
    margin-top: 4rem;
}

.problem-box h3 {
    color: var(--accent-red);
    margin-bottom: 1.5rem;
    font-size: 1.5rem;
}

.problem-box ul {
    list-style: none;
}

.problem-box li {
    position: relative;
    padding-left: 2rem;
    margin-bottom: 1rem;
    color: var(--text-muted);
}

.problem-box li::before {
    content: '✕';
    color: var(--accent-red);
    position: absolute;
    left: 0;
    font-weight: bold;
}

.solution-box h3 {
    color: var(--accent-cyan);
    margin-bottom: 1.5rem;
    font-size: 1.5rem;
}

.solution-box ul {
    list-style: none;
}

.solution-box li {
    position: relative;
    padding-left: 2rem;
    margin-bottom: 1rem;
    color: var(--text-muted);
}

.solution-box li::before {
    content: '✓';
    color: var(--accent-cyan);
    position: absolute;
    left: 0;
    font-weight: bold;
}

/* Solutions Grid */
.solutions-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
    gap: 2rem;
    margin-top: 4rem;
}

.card {
    background: var(--bg-card);
    backdrop-filter: blur(10px);
    border: 1px solid rgba(255, 255, 255, 0.05);
    padding: 2.5rem;
    border-radius: 12px;
    transition: all 0.3s ease;
    position: relative;
    overflow: hidden;
}

.card:hover {
    transform: translateY(-5px);
    border-color: rgba(0, 212, 255, 0.3);
    box-shadow: 0 10px 30px rgba(0, 212, 255, 0.1);
}

.card::after {
    content: '';
    position: absolute;
    top: 0; right: 0; bottom: 0; left: 0;
    background: linear-gradient(135deg, rgba(255,255,255,0.05) 0%, transparent 100%);
    pointer-events: none;
}

.card h3 {
    color: var(--text-primary);
    margin-bottom: 1rem;
    font-size: 1.4rem;
    display: flex;
    align-items: center;
    gap: 10px;
}

.card h3::before {
    content: '';
    display: inline-block;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--accent-cyan);
    box-shadow: 0 0 10px var(--accent-cyan);
}

.card p {
    font-size: 1rem;
    line-height: 1.6;
}

/* Workflow Section */
.workflow-section {
    background: linear-gradient(180deg, #ffffff 0%, #f4f7fb 100%);
    position: relative;
}

.workflow-steps {
    display: flex;
    justify-content: center;
    align-items: flex-start;
    gap: 2rem;
    margin-top: 4rem;
    flex-wrap: wrap;
}

.step {
    flex: 1;
    min-width: 250px;
    text-align: center;
    padding: 2rem;
}

.step-number {
    width: 60px;
    height: 60px;
    border-radius: 50%;
    background: linear-gradient(135deg, var(--accent-cyan), var(--accent-purple));
    color: white;
    font-size: 1.5rem;
    font-weight: 800;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 1.5rem auto;
    box-shadow: 0 0 20px rgba(99, 91, 255, 0.4);
}

.step h3 {
    margin-bottom: 1rem;
}

/* Dual Engine */
.dual-engine {
    background: rgba(28, 37, 65, 0.4);
    border-radius: 16px;
    padding: 4rem;
    margin-top: 4rem;
    border: 1px solid rgba(255, 255, 255, 0.05);
    text-align: center;
}

.dual-engine h3 {
    font-size: 2rem;
    margin-bottom: 1.5rem;
    color: var(--text-primary);
}

/* Target Audience */
.audience-tags {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 1rem;
    margin-top: 3rem;
}

.tag {
    background: #f4f7fb;
    padding: 0.8rem 1.8rem;
    border-radius: 50px;
    font-weight: 500;
    border: 1px solid var(--border-subtle);
    transition: all 0.3s ease;
    color: var(--text-primary);
}

.tag:hover {
    background: rgba(0, 212, 255, 0.1);
    border-color: var(--accent-cyan);
    transform: translateY(-2px);
}

/* Pricing */
.pricing-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 2rem;
    margin-top: 4rem;
}

.price-card {
    background: var(--bg-card);
    border: 1px solid rgba(255, 255, 255, 0.05);
    padding: 3rem 2rem;
    border-radius: 16px;
    text-align: center;
    transition: all 0.3s ease;
}

.price-card.featured {
    border-color: var(--accent-purple);
    transform: scale(1.05);
    box-shadow: 0 0 30px rgba(99, 91, 255, 0.15);
    background: linear-gradient(180deg, rgba(28, 37, 65, 0.9) 0%, rgba(11, 19, 43, 0.9) 100%);
}

.price-card:hover {
    transform: translateY(-5px);
    border-color: rgba(255, 255, 255, 0.2);
}

.price-card.featured:hover {
    transform: scale(1.05) translateY(-5px);
    border-color: var(--accent-cyan);
}

.price-val {
    font-size: 2.5rem;
    font-weight: 800;
    margin: 1.5rem 0;
    background: none;
    color: var(--text-primary);
    -webkit-text-fill-color: unset;
}

/* Footer */
footer {
    background: #ffffff;
    border-top: 1px solid var(--border-subtle);
    padding: 4rem 20px;
    text-align: center;
}

footer h3 {
    font-size: 1.8rem;
    margin-bottom: 2rem;
}

footer p {
    font-size: 0.9rem;
    margin-bottom: 0.5rem;
}

/* Responsive */
@media (max-width: 900px) {
    .problem-grid {
        grid-template-columns: 1fr;
    }
    .platform-hero-grid,
    .academy-hero-grid,
    .split-section,
    .tool-layout,
    .pipeline-grid,
    .workspace-shell,
    .evidence-grid,
    .academy-audience-grid,
    .medchem-grid,
    .sbdd-grid {
        grid-template-columns: 1fr;
    }
    .product-mockup {
        grid-template-columns: 1fr;
    }
    .mock-sidebar {
        display: flex;
        align-items: center;
        overflow-x: auto;
    }
    .module-grid,
    .workspace-grid,
    .user-grid,
    .contrast-grid,
    .academy-program-grid,
    .academy-offer-panel,
    .academy-audience-list,
    .academy-phase-grid,
    .timeline-grid,
    .pipeline-step-strip,
    .mock-insight-grid {
        grid-template-columns: 1fr 1fr;
    }
    .workspace-sidebar {
        position: static;
        height: auto;
        display: flex;
        flex-wrap: wrap;
    }
    .hero h1 { font-size: 3rem; }
    .price-card.featured { transform: none; }
    .price-card.featured:hover { transform: translateY(-5px); }
}

@media (max-width: 768px) {
    .nav-links,
    .nav-actions { display: none; }
    .nav-toggle { display: flex; }
    .hero h1 { font-size: 2.5rem; }
    .hero-buttons { flex-direction: column; }
    .step { min-width: 100%; }
    .platform-hero {
        padding-top: 4rem;
    }
    .academy-hero {
        padding-top: 4rem;
    }
    .module-grid,
    .workspace-grid,
    .user-grid,
    .contrast-grid,
    .academy-program-grid,
    .academy-offer-panel,
    .academy-audience-list,
    .academy-phase-grid,
    .timeline-grid,
    .pipeline-step-strip,
    .mock-metrics,
    .mock-insight-grid,
    .param-grid,
    .design-rule-grid.two-col,
    .evidence-list div {
        grid-template-columns: 1fr;
    }
    .workbench-header,
    .panel-title-row {
        display: grid;
    }
    .download-actions {
        justify-content: flex-start;
    }
    .mock-row,
    .job-row {
        grid-template-columns: 1fr;
    }
    .cta-panel {
        padding: 2rem 1.25rem;
    }
}

/* ===== Academy Sub-Nav ===== */
.academy-subnav {
    position: sticky;
    top: 0;
    z-index: 90;
    background: rgba(5, 10, 18, 0.96);
    backdrop-filter: blur(12px);
    border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}

.academy-subnav .container {
    display: flex;
    align-items: center;
    gap: 0;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
}

.academy-subnav .container::-webkit-scrollbar { display: none; }

.academy-subnav a {
    display: inline-flex;
    align-items: center;
    padding: 0.85rem 1.2rem;
    font-size: 0.85rem;
    font-weight: 600;
    color: var(--text-muted);
    white-space: nowrap;
    transition: color 0.2s;
    border-bottom: 2px solid transparent;
}

.academy-subnav a:hover {
    color: var(--text-primary);
    border-bottom-color: var(--accent-cyan);
}

.academy-subnav-cta {
    margin-left: auto;
    color: var(--accent-cyan) !important;
    font-weight: 800 !important;
    border-bottom-color: var(--accent-cyan) !important;
}

/* h2 left-aligned — solid professional headline */
h2.h2-left {
    text-align: left;
    background: none;
    -webkit-text-fill-color: unset;
    color: var(--text-primary);
    letter-spacing: -0.03em;
}

/* Academy Enroll Grid */
.academy-enroll-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr);
    gap: 2rem;
    align-items: start;
}

.academy-cta-copy {
    text-align: left;
    padding: 2.5rem;
}

.academy-cta-copy h2 {
    text-align: left;
    background: none;
    -webkit-text-fill-color: unset;
    color: var(--text-primary);
    letter-spacing: -0.03em;
}

/* Enrollment Form */
.academy-enroll-form {
    padding: 2rem;
    border-radius: 12px;
    background: #ffffff;
    border: 1px solid rgba(255, 255, 255, 0.08);
    display: grid;
    gap: 1.2rem;
}

.academy-enroll-form h3 {
    font-size: 1.35rem;
    margin-bottom: 0.25rem;
}

.enroll-field {
    display: grid;
    gap: 0.4rem;
}

.enroll-field label {
    font-size: 0.83rem;
    font-weight: 700;
    color: var(--text-muted);
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.enroll-field input,
.enroll-field select,
.enroll-field textarea {
    width: 100%;
    padding: 0.65rem 0.9rem;
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(255, 255, 255, 0.1);
    color: var(--text-muted);
    font-size: 0.94rem;
    font-family: inherit;
    transition: border-color 0.2s, background 0.2s;
    outline: none;
    resize: vertical;
}

.enroll-field input:focus,
.enroll-field select:focus,
.enroll-field textarea:focus {
    border-color: rgba(57, 211, 199, 0.45);
    background: rgba(57, 211, 199, 0.04);
}

.enroll-field select option { background: #ffffff; }

.enroll-note {
    font-size: 0.8rem;
    color: var(--text-muted);
    margin-bottom: 0;
    text-align: center;
}

@media (max-width: 768px) {
    .academy-enroll-grid { grid-template-columns: 1fr; }
}

/* Active nav link */
.nav-links a.nav-active {
    color: var(--text-primary);
    font-weight: 700;
}

/* Logo as link - no underline */
a.logo {
    text-decoration: none;
}

/* === Ensolva redesign additions === */

.mono {
    font-family: var(--font-mono);
    letter-spacing: 0.02em;
}

.h2-left {
    text-align: left !important;
}

.page-lead {
    max-width: 760px;
    font-size: 1.15rem;
}

.demo-data-label {
    display: inline-block;
    font-size: 0.72rem;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--accent-amber);
    margin-bottom: 0.75rem;
}

.demo-data-label.inline {
    margin-top: 1rem;
}

.placeholder-note {
    color: var(--accent-amber);
    font-style: italic;
}

/* Sticky nav */
.site-nav {
    position: sticky;
    top: 0;
    z-index: 1000;
    background: rgba(255, 255, 255, 0.94);
    backdrop-filter: blur(12px);
    border-bottom: 1px solid var(--border-subtle);
}

.nav-actions {
    display: flex;
    align-items: center;
    gap: 1rem;
}

.nav-cta {
    padding: 0.5rem 1.25rem !important;
    font-size: 0.9rem !important;
    white-space: nowrap;
    flex-shrink: 0;
}

.nav-toggle {
    display: none;
    flex-direction: column;
    gap: 5px;
    background: transparent;
    border: 1px solid rgba(255, 255, 255, 0.15);
    border-radius: 8px;
    padding: 0.55rem;
    cursor: pointer;
}

.nav-toggle span {
    display: block;
    width: 20px;
    height: 2px;
    background: var(--text-dark);
}

.mobile-nav-drawer {
    position: fixed;
    inset: 0;
    z-index: 1100;
    pointer-events: none;
    opacity: 0;
    transition: opacity 0.2s ease;
}

.mobile-nav-drawer.open {
    pointer-events: auto;
    opacity: 1;
}

.mobile-nav-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.55);
}

.mobile-nav-panel {
    position: absolute;
    top: 0;
    right: 0;
    width: min(320px, 88vw);
    height: 100%;
    background: var(--secondary-color);
    padding: 1.25rem;
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    border-left: 1px solid rgba(255, 255, 255, 0.08);
    transform: translateX(100%);
    transition: transform 0.25s ease;
}

.mobile-nav-drawer.open .mobile-nav-panel {
    transform: translateX(0);
}

.mobile-nav-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 0.5rem;
}

.mobile-nav-close {
    background: transparent;
    border: none;
    color: var(--text-dark);
    font-size: 1.5rem;
    cursor: pointer;
}

.mobile-nav-panel a {
    padding: 0.65rem 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}

/* Capability strip */
.capability-strip {
    padding: 1.25rem 0;
    border-top: 1px solid rgba(255, 255, 255, 0.06);
    border-bottom: 1px solid rgba(255, 255, 255, 0.06);
    background: rgba(16, 34, 54, 0.45);
}

.capability-strip-grid {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 1rem;
}

.capability-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.35rem;
    text-align: center;
    font-size: 0.82rem;
    color: var(--text-muted);
}

.capability-icon {
    color: var(--accent-cyan);
    font-size: 1.1rem;
}

/* Pipeline */
.pipeline-nodes {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    gap: 0.75rem;
    margin-bottom: 1.5rem;
}

.pipeline-node {
    background: var(--bg-card);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 12px;
    padding: 1rem;
    text-align: left;
    cursor: pointer;
    color: inherit;
    transition: border-color 0.2s, transform 0.2s;
}

.pipeline-node:hover,
.pipeline-node.active,
.pipeline-node:focus-visible {
    border-color: var(--accent-cyan);
    transform: translateY(-2px);
    outline: none;
}

.pipeline-num {
    color: var(--accent-cyan);
    font-size: 0.8rem;
}

.pipeline-node strong {
    display: block;
    margin: 0.35rem 0;
    color: var(--text-primary);
}

.pipeline-node small {
    color: var(--text-muted);
    font-size: 0.78rem;
}

.pipeline-detail-panel {
    background: var(--bg-card);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 16px;
    padding: 1.5rem;
}

.pipeline-detail-num {
    color: var(--accent-cyan);
}

.pipeline-detail-sub {
    color: var(--accent-purple);
    font-weight: 600;
}

/* Services */
.services-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1.25rem;
}

.service-card {
    background: var(--bg-card);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 16px;
    padding: 1.5rem;
}

.service-icon {
    font-size: 1.5rem;
    color: var(--accent-cyan);
    margin-bottom: 0.75rem;
}

.service-link {
    color: var(--accent-cyan);
    font-weight: 600;
}

/* Workspace mockup */
.workspace-mockup {
    display: grid;
    grid-template-columns: 200px 1fr;
    gap: 0;
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 16px;
    overflow: hidden;
    background: rgba(5, 10, 18, 0.9);
    position: relative;
}

.workspace-mock-sidebar {
    background: rgba(7, 19, 34, 0.95);
    padding: 1rem;
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
    font-size: 0.78rem;
    color: var(--text-muted);
}

.workspace-mock-sidebar .active {
    color: var(--accent-cyan);
    font-weight: 600;
}

.workspace-mock-main {
    padding: 1.25rem;
}

.workspace-mock-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 1rem;
}

.workspace-dashboard-grid,
.dashboard-mock-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 0.75rem;
}

.workspace-panel {
    background: rgba(15, 31, 48, 0.7);
    border: 1px solid rgba(255, 255, 255, 0.06);
    border-radius: 10px;
    padding: 0.85rem;
}

.workspace-panel.span-2 {
    grid-column: span 2;
}

.workspace-panel h3,
.workspace-panel h4 {
    font-size: 0.9rem;
    margin-bottom: 0.5rem;
}

.viewer-placeholder {
    min-height: 140px;
    border: 1px dashed rgba(57, 211, 199, 0.35);
    border-radius: 8px;
    display: grid;
    place-items: center;
    color: var(--text-muted);
    font-size: 0.85rem;
}

.progress-bar {
    height: 6px;
    background: rgba(255, 255, 255, 0.08);
    border-radius: 999px;
    overflow: hidden;
    margin-top: 0.35rem;
}

.progress-bar span {
    display: block;
    height: 100%;
    background: linear-gradient(90deg, var(--accent-cyan), var(--accent-purple));
}

.mini-job-row {
    display: flex;
    justify-content: space-between;
    padding: 0.35rem 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.05);
    font-size: 0.85rem;
}

.section-cta {
    text-align: center;
    margin-top: 2rem;
}

.scientific-hud {
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem;
    margin-bottom: 0.75rem;
}

.scientific-hud span,
.scientific-hud .hud-metric {
    font-size: 0.68rem;
    padding: 0.2rem 0.45rem;
    border-radius: 999px;
    border: 1px solid rgba(57, 211, 199, 0.25);
    color: var(--accent-cyan);
    background: rgba(57, 211, 199, 0.08);
}

.hero-mockup {
    position: relative;
}

/* Features */
.features-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1rem;
}

.feature-card {
    background: var(--bg-card);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 12px;
    padding: 1.25rem;
}

/* Research */
.research-themes {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 0.75rem;
    margin-bottom: 1.5rem;
}

.research-theme-card {
    background: var(--bg-card);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 12px;
    padding: 1rem;
    font-weight: 600;
}

.research-links {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 0.75rem;
}

.research-link-card {
    background: rgba(124, 109, 255, 0.12);
    border: 1px solid rgba(124, 109, 255, 0.25);
    border-radius: 10px;
    padding: 0.85rem 1rem;
    font-weight: 600;
    color: var(--accent-purple);
}

/* Academy preview */
.academy-preview-grid {
    display: grid;
    gap: 1.5rem;
}

.academy-topics,
.academy-programs {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    justify-content: center;
}

.topic-chip,
.program-pill {
    padding: 0.45rem 0.85rem;
    border-radius: 999px;
    border: 1px solid rgba(255, 255, 255, 0.1);
    background: var(--bg-card);
    font-size: 0.88rem;
}

/* Enterprise */
.enterprise-list {
    list-style: none;
    margin: 1rem 0 1.5rem;
}

.enterprise-list li {
    margin-bottom: 0.5rem;
    color: var(--text-muted);
}

.enterprise-list li::before {
    content: "✓ ";
    color: var(--accent-cyan);
}

.enterprise-options {
    display: grid;
    gap: 0.75rem;
}

.enterprise-option-card {
    background: var(--bg-card);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 10px;
    padding: 1rem 1.25rem;
    font-weight: 600;
}

/* Conversion paths */
.conversion-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1rem;
}

.conversion-card {
    background: var(--bg-card);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 14px;
    padding: 1.5rem;
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.conversion-card .btn {
    margin-top: auto;
}

/* Contact form */
.contact-grid {
    display: grid;
    grid-template-columns: 1fr 1.4fr;
    gap: 2rem;
    align-items: start;
}

.contact-link {
    color: var(--accent-cyan);
}

.contact-form {
    background: var(--bg-card);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 16px;
    padding: 1.5rem;
}

.contact-form label {
    display: block;
    margin-bottom: 0.85rem;
    font-size: 0.9rem;
    color: var(--text-muted);
}

.contact-form input,
.contact-form textarea,
.contact-form select {
    width: 100%;
    margin-top: 0.35rem;
    padding: 0.65rem 0.75rem;
    border-radius: 8px;
    border: 1px solid rgba(255, 255, 255, 0.12);
    background: rgba(5, 10, 18, 0.6);
    color: var(--text-dark);
    font-family: inherit;
}

.form-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.75rem;
}

.inquiry-type-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 0.5rem;
    margin-bottom: 1rem;
}

.inquiry-type-btn {
    padding: 0.55rem 0.75rem;
    border-radius: 8px;
    border: 1px solid rgba(255, 255, 255, 0.12);
    background: transparent;
    color: var(--text-muted);
    cursor: pointer;
    font-size: 0.82rem;
}

.inquiry-type-btn.selected {
    border-color: var(--accent-cyan);
    color: var(--accent-cyan);
    background: rgba(57, 211, 199, 0.08);
}

.inquiry-type-btn:focus-visible,
.nav-toggle:focus-visible,
.mobile-nav-close:focus-visible,
.pipeline-node:focus-visible,
.btn:focus-visible,
a:focus-visible {
    outline: 2px solid var(--accent-cyan);
    outline-offset: 2px;
}

/* Footer */
.site-footer {
    background: rgba(5, 10, 18, 0.95);
    border-top: 1px solid rgba(255, 255, 255, 0.06);
    padding: 3rem 0 1.5rem;
    margin-top: 2rem;
}

.footer-grid {
    display: grid;
    grid-template-columns: 1.5fr repeat(3, 1fr);
    gap: 2rem;
    margin-bottom: 2rem;
}

.footer-brand strong {
    display: block;
    font-size: 1.1rem;
    margin-bottom: 0.5rem;
}

.footer-links {
    display: flex;
    flex-direction: column;
    gap: 0.45rem;
}

.footer-links strong {
    margin-bottom: 0.35rem;
    color: var(--text-primary);
}

.footer-links a {
    color: var(--text-muted);
    font-size: 0.9rem;
}

.footer-links a:hover {
    color: var(--accent-cyan);
}

.footer-bottom {
    border-top: 1px solid rgba(255, 255, 255, 0.06);
    padding-top: 1rem;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 0.5rem;
    color: #4A5568;
    font-size: 0.85rem;
}

/* About & resources */
.about-card {
    background: var(--bg-card);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 14px;
    padding: 1.5rem;
}

.resources-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1rem;
}

.resource-card {
    background: var(--bg-card);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 14px;
    padding: 1.5rem;
}

.contact-block {
    text-align: center;
}

.placeholder-panel {
    background: var(--bg-card);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 14px;
    padding: 2rem;
    text-align: center;
}

/* App shell nav groups */
.workspace-nav-group {
    margin-bottom: 1rem;
}

.workspace-nav-label {
    display: block;
    font-size: 0.68rem;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--text-muted);
    margin: 0.5rem 0 0.35rem;
    padding-left: 0.5rem;
}

.workspace-sidebar a {
    display: block;
    padding: 0.4rem 0.5rem;
    font-size: 0.88rem;
    color: var(--text-muted);
    border-radius: 6px;
}

.workspace-sidebar a:hover {
    color: var(--accent-cyan);
    background: rgba(57, 211, 199, 0.06);
}

/* Job detail */
.job-detail-card {
    background: var(--bg-card);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 14px;
    padding: 1.25rem;
    margin-bottom: 1.5rem;
}

.job-detail-header {
    display: flex;
    justify-content: space-between;
    align-items: start;
    margin-bottom: 1rem;
}

.job-detail-meta {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1rem;
    margin-bottom: 1rem;
}

.job-detail-meta span {
    display: block;
    font-size: 0.78rem;
    color: var(--text-muted);
    margin-bottom: 0.25rem;
}

.job-detail-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}

@media (max-width: 1024px) {
    .capability-strip-grid,
    .pipeline-nodes,
    .services-grid,
    .features-grid,
    .conversion-grid,
    .research-links,
    .footer-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .workspace-mockup {
        grid-template-columns: 1fr;
    }

    .workspace-mock-sidebar {
        flex-direction: row;
        flex-wrap: wrap;
        overflow-x: auto;
    }

    .workspace-dashboard-grid,
    .dashboard-mock-grid,
    .job-detail-meta {
        grid-template-columns: repeat(2, 1fr);
    }

    .workspace-panel.span-2 {
        grid-column: span 2;
    }
}

@media (max-width: 768px) {
    .capability-strip-grid,
    .pipeline-nodes,
    .services-grid,
    .features-grid,
    .research-themes,
    .research-links,
    .conversion-grid,
    .contact-grid,
    .form-row,
    .inquiry-type-grid,
    .footer-grid,
    .resources-grid,
    .workspace-dashboard-grid,
    .dashboard-mock-grid,
    .job-detail-meta {
        grid-template-columns: 1fr;
    }

    .workspace-panel.span-2 {
        grid-column: span 1;
    }

    .footer-bottom {
        flex-direction: column;
    }

    .pillars-grid,
    .offerings-grid,
    .conversion-grid-3,
    .services-grid-3 {
        grid-template-columns: 1fr;
    }

    .hero-audience {
        flex-wrap: nowrap;
    }
}

/* === Enterprise homepage polish === */

.enterprise-hero {
    position: relative;
    overflow: hidden;
}

.hero-backdrop {
    position: absolute;
    inset: 0;
    background:
        radial-gradient(ellipse 80% 60% at 70% 20%, rgba(57, 211, 199, 0.08), transparent 50%),
        radial-gradient(ellipse 50% 40% at 20% 80%, rgba(124, 109, 255, 0.06), transparent 50%);
    pointer-events: none;
}

.enterprise-hero .container {
    position: relative;
    z-index: 1;
}

.hero-lead {
    font-size: 1.12rem;
    line-height: 1.75;
    max-width: 680px;
    color: var(--text-muted);
}

.hero-pillars {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin: 1.5rem 0 1.75rem;
}

.hero-pillars span {
    padding: 0.5rem 1rem;
    border-radius: 6px;
    background: rgba(57, 211, 199, 0.08);
    border: 1px solid rgba(57, 211, 199, 0.2);
    color: var(--accent-cyan);
    font-size: 0.82rem;
    font-weight: 600;
}

.hero-audience {
    display: flex;
    align-items: center;
    flex-wrap: nowrap;
    gap: 0;
    margin-top: 2rem;
    padding-top: 1.5rem;
    border-top: 1px solid rgba(255, 255, 255, 0.06);
    font-size: 0.85rem;
    overflow-x: auto;
    white-space: nowrap;
}

.hero-audience-line,
.hero-audience > span {
    color: var(--text-muted);
    font-weight: 600;
    font-size: 0.82rem;
    white-space: nowrap;
    line-height: 1.4;
}

.hero-audience strong {
    color: var(--text-muted);
    font-weight: 600;
    font-size: 0.82rem;
}

.enterprise-mockup .compact-table {
    margin-top: 0.75rem;
}

.enterprise-mockup .compact-table .mock-row {
    font-size: 0.78rem;
    padding: 0.45rem 0.5rem;
}

.alt-band {
    background: rgba(7, 17, 29, 0.55);
    border-top: 1px solid rgba(255, 255, 255, 0.04);
    border-bottom: 1px solid rgba(255, 255, 255, 0.04);
}

.capability-strip-label {
    text-align: center;
    font-size: 0.78rem;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: var(--text-muted);
    margin-bottom: 1rem;
}

.capability-dot {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var(--accent-cyan);
    flex-shrink: 0;
}

.capability-item {
    flex-direction: row !important;
    align-items: center;
    gap: 0.5rem !important;
    font-size: 0.8rem !important;
}

/* Business pillars */
.pillars-section {
    background: linear-gradient(180deg, transparent, rgba(7, 17, 29, 0.4) 50%, transparent);
}

.pillars-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1.25rem;
}

.pillar-card {
    background: #ffffff;
    border: 1px solid rgba(255, 255, 255, 0.07);
    border-radius: 12px;
    padding: 1.75rem;
    transition: border-color 0.2s;
}

.pillar-card:hover {
    border-color: rgba(57, 211, 199, 0.25);
}

.pillar-num {
    display: inline-block;
    color: var(--accent-cyan);
    font-size: 0.75rem;
    font-weight: 700;
    margin-bottom: 0.5rem;
}

.pillar-card h3 {
    font-size: 1.15rem;
    margin-bottom: 0.65rem;
    color: var(--text-primary);
}

.pillar-card > p {
    font-size: 0.92rem;
    margin-bottom: 1rem;
    line-height: 1.65;
}

.pillar-list {
    list-style: none;
    margin: 0;
    padding: 0;
}

.pillar-list li {
    font-size: 0.85rem;
    color: var(--text-muted);
    padding: 0.3rem 0;
    padding-left: 1rem;
    position: relative;
}

.pillar-list li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0.65rem;
    width: 4px;
    height: 4px;
    border-radius: 50%;
    background: var(--accent-cyan);
}



/* Offerings */
.offerings-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1.25rem;
}

.offering-card {
    background: #ffffff;
    border: 1px solid rgba(255, 255, 255, 0.07);
    border-radius: 12px;
    padding: 1.5rem;
    display: flex;
    flex-direction: column;
}

.offering-card h3 {
    font-size: 1.05rem;
    margin-bottom: 0.6rem;
}

.offering-card p {
    flex: 1;
    font-size: 0.9rem;
    line-height: 1.6;
}

/* Pro cards */
.pro-card {
    border-radius: 12px !important;
    transition: transform 0.2s, border-color 0.2s;
}

.pro-card:hover {
    transform: translateY(-2px);
    border-color: rgba(57, 211, 199, 0.2) !important;
}

.services-grid-3 {
    grid-template-columns: repeat(3, 1fr) !important;
}

.conversion-grid-3 {
    grid-template-columns: repeat(3, 1fr) !important;
}

.section-heading p {
    max-width: 720px;
    margin: 0.75rem auto 0;
    font-size: 1.05rem;
    line-height: 1.7;
}

.section-heading h2 {
    font-size: clamp(1.8rem, 3vw, 2.6rem);
    letter-spacing: -0.02em;
}

@media (max-width: 1024px) {
    .pillars-grid {
        grid-template-columns: 1fr;
    }



    .offerings-grid,
    .services-grid-3,
    .conversion-grid-3 {
        grid-template-columns: repeat(2, 1fr) !important;
    }
}

/* === Multi-page layout === */

.page-hero-banner {
    position: relative;
    padding: 5rem 0 4rem;
    overflow: hidden;
    border-bottom: 1px solid rgba(255, 255, 255, 0.06);
    background: linear-gradient(180deg, rgba(7, 19, 34, 0.9) 0%, rgba(5, 10, 18, 0.6) 100%);
}

.page-hero-backdrop {
    position: absolute;
    inset: 0;
    background:
        radial-gradient(ellipse 70% 50% at 80% 10%, rgba(57, 211, 199, 0.07), transparent 55%),
        radial-gradient(ellipse 40% 35% at 10% 90%, rgba(124, 109, 255, 0.05), transparent 50%);
    pointer-events: none;
}

.page-hero-banner .container {
    position: relative;
    z-index: 1;
}

.page-hero-banner h1 {
    font-size: clamp(2rem, 4vw, 3rem);
    max-width: 820px;
    margin: 0.75rem 0 1rem;
    letter-spacing: -0.02em;
    background: none;
    color: var(--text-primary);
    -webkit-text-fill-color: unset;
    text-align: left;
}

.page-hero-banner .page-lead {
    color: var(--text-muted);
    margin-bottom: 0;
}

.home-highlights-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1.25rem;
}

.home-highlight-card {
    display: flex;
    flex-direction: column;
    background: #ffffff;
    border: 1px solid rgba(255, 255, 255, 0.07);
    border-radius: 12px;
    padding: 1.75rem;
    transition: border-color 0.2s, transform 0.2s;
    text-decoration: none;
    color: inherit;
}

.home-highlight-card:hover {
    border-color: rgba(57, 211, 199, 0.3);
    transform: translateY(-3px);
}

.home-highlight-card h3 {
    font-size: 1.1rem;
    margin-bottom: 0.65rem;
    color: var(--text-primary);
}

.home-highlight-card p {
    flex: 1;
    font-size: 0.92rem;
    line-height: 1.65;
    margin-bottom: 1rem;
}

.home-highlight-cta {
    font-size: 0.88rem;
    font-weight: 600;
    color: var(--accent-cyan);
}

.home-cta-band,
.page-cta-band {
    padding-top: 4rem;
    padding-bottom: 5rem;
}

.home-cta-band .cta-panel,
.page-cta-band .cta-panel {
    text-align: center;
    max-width: 720px;
    margin: 0 auto;
}

.home-cta-band h2,
.page-cta-band h2 {
    font-size: clamp(1.6rem, 2.5vw, 2.2rem);
    margin-bottom: 0.75rem;
    background: none;
    color: var(--text-primary);
    -webkit-text-fill-color: unset;
}

.home-cta-band .hero-buttons,
.page-cta-band .hero-buttons {
    justify-content: center;
    margin-top: 1.5rem;
}

@media (max-width: 1024px) {
    .home-highlights-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 768px) {
    .page-hero-banner {
        padding: 3.5rem 0 2.5rem;
    }

    .home-highlights-grid {
        grid-template-columns: 1fr;
    }

    .nav-links,
    .nav-actions {
        display: none;
    }

    .nav-toggle {
        display: flex;
    }
}

/* === Scientific design system (DESIGN_ENSOLVA.md) === */

.scientific-hero {
    position: relative;
    overflow: hidden;
}

.hero-grid-overlay {
    position: absolute;
    inset: 0;
    background-image:
        linear-gradient(rgba(57, 211, 199, 0.03) 1px, transparent 1px),
        linear-gradient(90deg, rgba(57, 211, 199, 0.03) 1px, transparent 1px);
    background-size: 48px 48px;
    mask-image: radial-gradient(ellipse 80% 70% at 60% 40%, black, transparent);
    pointer-events: none;
}

.hero-visual-panel {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.hero-visual-panel .demo-data-label {
    position: absolute;
    top: 0.5rem;
    right: 0.75rem;
    z-index: 2;
}

.molecular-viz {
    background: #ffffff;
    border: 1px solid var(--border-subtle);
    border-radius: 12px;
    overflow: hidden;
    position: relative;
}

.molecular-viz-compact {
    min-height: 180px;
}

.molecular-viz svg,
.molecular-viz-img {
    width: 100%;
    height: auto;
    display: block;
}

.molecular-viz-img {
    object-fit: cover;
    object-position: center;
    background: #ffffff;
}

.molecular-viz-compact .molecular-viz-img {
    max-height: 220px;
    object-fit: contain;
}

.mol-viz-hud {
    display: flex;
    gap: 1rem;
    padding: 0.5rem 0.75rem;
    background: rgba(5, 10, 18, 0.6);
    border-top: 1px solid rgba(255, 255, 255, 0.05);
    font-size: 0.72rem;
    color: var(--text-muted);
}

.hero-hud {
    margin: 0;
}

.hero-mini-dashboard {
    background: rgba(10, 20, 36, 0.9);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 10px;
    padding: 0.85rem;
}

.hero-mini-metrics {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 0.5rem;
    margin-bottom: 0.75rem;
}

.hero-mini-metrics .metric-card {
    padding: 0.5rem;
    font-size: 0.75rem;
}

.status-ok { color: var(--accent-cyan); font-size: 0.78rem; }
.status-run { color: var(--accent-amber); font-size: 0.78rem; }

.sci-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border-radius: 10px;
    background: rgba(57, 211, 199, 0.08);
    border: 1px solid rgba(57, 211, 199, 0.18);
    color: var(--accent-cyan);
    flex-shrink: 0;
}

.scientific-capability-strip {
    padding: 1.5rem 0;
    background: rgba(7, 17, 29, 0.7);
    border-top: 1px solid rgba(255, 255, 255, 0.05);
    border-bottom: 1px solid rgba(255, 255, 255, 0.05);
}

.scientific-capability-strip .capability-strip-grid {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    gap: 1rem;
}

.scientific-capability-strip .capability-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 0.65rem;
    padding: 0.75rem 0.5rem;
    font-size: 0.82rem;
    font-weight: 500;
    color: var(--text-muted);
}

.premium-service-card,
.premium-feature-card {
    position: relative;
    padding-top: 1.5rem;
}

.service-card-icon,
.feature-card-icon {
    margin-bottom: 1rem;
}

.services-grid-premium,
.features-grid-premium {
    grid-template-columns: repeat(3, 1fr) !important;
}

.premium-service-card::before,
.premium-feature-card::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 2px;
    background: linear-gradient(90deg, var(--accent-cyan), var(--accent-purple));
    border-radius: 12px 12px 0 0;
    opacity: 0;
    transition: opacity 0.2s;
}

.premium-service-card:hover::before,
.premium-feature-card:hover::before {
    opacity: 1;
}

.principles-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1.25rem;
}

.principle-card {
    background: #ffffff;
    border: 1px solid rgba(255, 255, 255, 0.07);
    border-radius: 12px;
    padding: 1.5rem;
    position: relative;
    padding-left: 1.75rem;
}

.principle-marker {
    position: absolute;
    left: 0.75rem;
    top: 1.65rem;
    width: 3px;
    height: 24px;
    background: linear-gradient(180deg, var(--accent-cyan), var(--accent-purple));
    border-radius: 2px;
}

.principle-card h3 {
    font-size: 1rem;
    margin-bottom: 0.5rem;
    color: var(--text-primary);
}

.principle-card p {
    font-size: 0.88rem;
    margin: 0;
    line-height: 1.6;
}

.tech-stack-strip {
    padding: 2rem 0;
    border-top: 1px solid rgba(255, 255, 255, 0.05);
}

.tech-stack-label {
    text-align: center;
    font-size: 0.72rem;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    color: var(--text-muted);
    margin-bottom: 1rem;
}

.tech-stack-items {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 0.5rem;
}

.tech-stack-chip {
    padding: 0.4rem 0.85rem;
    border-radius: 6px;
    font-size: 0.78rem;
    background: #ffffff;
    border: 1px solid rgba(255, 255, 255, 0.08);
    color: var(--text-muted);
}

.workspace-teaser-grid {
    align-items: center;
    gap: 3rem;
}

.workspace-teaser-list {
    list-style: none;
    margin: 1.25rem 0 1.75rem;
    padding: 0;
}

.workspace-teaser-list li {
    padding: 0.4rem 0 0.4rem 1.25rem;
    position: relative;
    font-size: 0.92rem;
    color: var(--text-muted);
}

.workspace-teaser-list li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0.75rem;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var(--accent-cyan);
}

.workspace-teaser-visual {
    background: rgba(10, 20, 36, 0.9);
    border: 1px solid rgba(57, 211, 199, 0.15);
    border-radius: 14px;
    padding: 1.5rem;
    position: relative;
}

.teaser-metrics {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 0.75rem;
    margin-bottom: 1rem;
}

.teaser-metric {
    background: rgba(5, 10, 18, 0.6);
    border: 1px solid rgba(255, 255, 255, 0.06);
    border-radius: 8px;
    padding: 0.75rem;
    text-align: center;
}

.teaser-metric span {
    display: block;
    font-size: 0.72rem;
    color: var(--text-muted);
    margin-bottom: 0.25rem;
}

.teaser-metric strong {
    font-size: 0.95rem;
    color: var(--accent-cyan);
}

.teaser-job-card {
    background: rgba(5, 10, 18, 0.5);
    border: 1px solid rgba(255, 255, 255, 0.06);
    border-radius: 8px;
    padding: 1rem;
}

.teaser-job-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 0.75rem;
    font-size: 0.82rem;
}

.teaser-job-meta {
    font-size: 0.75rem;
    margin: 0.5rem 0 0;
    color: var(--text-muted);
}

.viewer-panel {
    min-height: 200px;
}

.viewer-panel .molecular-viz-compact {
    margin-top: 0.5rem;
}

.panel-metric {
    font-size: 0.82rem;
    margin-bottom: 0.25rem;
    color: var(--text-primary);
}

.panel-metric.subtle {
    color: var(--text-muted);
    font-size: 0.75rem;
}

.status-pill.queued {
    background: rgba(149, 167, 185, 0.15);
    color: var(--text-muted);
}

.mini-job-row {
    display: grid;
    grid-template-columns: 1fr auto auto;
    gap: 0.75rem;
    align-items: center;
    padding: 0.45rem 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.04);
    font-size: 0.8rem;
}

.mini-job-row:last-child {
    border-bottom: none;
}

.pipeline-section {
    background: linear-gradient(180deg, transparent, rgba(7, 17, 29, 0.35) 50%, transparent);
}

.pipeline-nodes {
    position: relative;
}

.pipeline-nodes::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 5%;
    right: 5%;
    height: 2px;
    background: linear-gradient(90deg, transparent, rgba(57, 211, 199, 0.25), rgba(124, 109, 255, 0.25), transparent);
    transform: translateY(-50%);
    z-index: 0;
}

.pipeline-node {
    position: relative;
    z-index: 1;
}

.research-theme-card {
    background: #ffffff;
    border: 1px solid rgba(255, 255, 255, 0.07);
    border-left: 3px solid var(--accent-cyan);
    border-radius: 0 10px 10px 0;
    padding: 1rem 1.25rem;
    font-size: 0.92rem;
    font-weight: 500;
    transition: border-color 0.2s, background 0.2s;
}

.research-theme-card:hover {
    border-left-color: var(--accent-purple);
    background: #ffffff;
}

@media (max-width: 1024px) {
    .scientific-capability-strip .capability-strip-grid {
        grid-template-columns: repeat(3, 1fr);
    }

    .principles-grid,
    .services-grid-premium,
    .features-grid-premium {
        grid-template-columns: repeat(2, 1fr) !important;
    }

    .hero-mini-metrics {
        grid-template-columns: repeat(2, 1fr);
    }

    .workspace-teaser-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 768px) {
    .scientific-capability-strip .capability-strip-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .principles-grid,
    .services-grid-premium,
    .features-grid-premium {
        grid-template-columns: 1fr !important;
    }
}

/* === MoA page expansions === */

.page-hero-banner {
    padding: 5.5rem 0 4.25rem;
}

.page-hero-banner h1 {
    line-height: 1.15;
}

.platform-catalog-grid,
.consulting-grid,
.moa-objectives-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1.25rem;
}

.platform-catalog-card,
.consulting-card,
.moa-objective-card {
    background: #ffffff;
    border: 1px solid rgba(255, 255, 255, 0.07);
    border-radius: 12px;
    padding: 1.5rem;
    transition: border-color 0.2s, transform 0.2s;
}

.platform-catalog-card:hover,
.consulting-card:hover,
.moa-objective-card:hover {
    border-color: rgba(57, 211, 199, 0.28);
    transform: translateY(-2px);
}

.platform-catalog-card h3,
.consulting-card h3,
.moa-objective-card h3 {
    font-size: 1.05rem;
    margin-bottom: 0.6rem;
    color: var(--text-primary);
}

.audience-strip {
    margin-top: 2.5rem;
    padding-top: 1.75rem;
    border-top: 1px solid rgba(255, 255, 255, 0.06);
}

.audience-strip-label {
    display: block;
    font-size: 0.72rem;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: var(--text-muted);
    margin-bottom: 0.85rem;
    text-align: center;
}

.audience-strip-items {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 0.5rem;
}

.audience-chip {
    padding: 0.4rem 0.85rem;
    border-radius: 6px;
    font-size: 0.8rem;
    font-weight: 500;
    background: rgba(57, 211, 199, 0.08);
    border: 1px solid rgba(57, 211, 199, 0.18);
    color: var(--text-muted);
}

.services-grid-4 {
    grid-template-columns: repeat(3, 1fr) !important;
}

.conversion-grid-4 {
    grid-template-columns: repeat(4, 1fr) !important;
}

.home-conversion-section .conversion-card {
    min-height: 220px;
    display: flex;
    flex-direction: column;
}

.home-conversion-section .conversion-card .btn {
    margin-top: auto;
    align-self: flex-start;
}

.research-partners {
    margin: 2.5rem 0 1.5rem;
    text-align: center;
}

.research-partners h3 {
    font-size: 1rem;
    margin-bottom: 1rem;
    color: var(--text-primary);
}

.regulatory-disclaimer {
    margin-top: 2.5rem;
    padding: 1.5rem;
    border-radius: 12px;
    border: 1px solid rgba(242, 184, 75, 0.25);
    background: rgba(242, 184, 75, 0.06);
}

.regulatory-disclaimer p {
    margin: 0.5rem 0 0;
    font-size: 0.9rem;
    line-height: 1.65;
    color: #d7c9a8;
}

.moa-objectives-grid {
    grid-template-columns: repeat(2, 1fr);
}

.moa-objective-card:last-child {
    grid-column: 1 / -1;
    max-width: 50%;
    margin: 0 auto;
    width: 100%;
}

.resource-card {
    background: #ffffff;
    border: 1px solid rgba(255, 255, 255, 0.07);
    border-radius: 12px;
    padding: 1.5rem;
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.resource-card .status-pill {
    align-self: flex-start;
}

@media (max-width: 1024px) {
    .platform-catalog-grid,
    .consulting-grid,
    .moa-objectives-grid,
    .services-grid-4,
    .conversion-grid-4 {
        grid-template-columns: repeat(2, 1fr) !important;
    }

    .moa-objective-card:last-child {
        max-width: 100%;
    }
}

@media (max-width: 768px) {
    .platform-catalog-grid,
    .consulting-grid,
    .moa-objectives-grid,
    .services-grid-4,
    .conversion-grid-4 {
        grid-template-columns: 1fr !important;
    }
}

/* === Light theme polish === */

body {
    background: #f7f9fc;
    color: var(--text-primary);
}

.container {
    max-width: 1120px;
}

.section-padding {
    padding: 5rem 0;
}

.site-nav {
    background: rgba(255, 255, 255, 0.94);
    border-bottom: 1px solid var(--border-subtle);
    backdrop-filter: blur(16px);
}

.nav-container {
    max-width: 1120px;
    padding: 0.95rem 20px;
}

.nav-actions {
    display: flex;
    align-items: center;
    gap: 0.85rem;
}

.nav-links {
    gap: 1.1rem;
}

.nav-links a {
    font-size: 0.88rem;
    font-weight: 500;
    color: #334556;
    white-space: nowrap;
}

.nav-links a:hover {
    color: var(--text-primary);
}

.nav-links a.nav-active {
    color: var(--text-primary) !important;
    font-weight: 700;
    box-shadow: inset 0 -2px 0 var(--accent-cyan);
}

.nav-cta {
    padding: 0.45rem 1.1rem !important;
    font-size: 0.85rem !important;
    margin-left: 0;
}

.logo {
    font-size: 1.15rem;
    font-weight: 800;
    letter-spacing: -0.04em;
    color: #0b2c4d;
    gap: 0.55rem;
}

.logo-mark {
    width: 40px;
    height: 40px;
}

.logo-name { color: #0b2c4d !important; -webkit-text-fill-color: #0b2c4d !important; }
.logo-bioai {
    background: linear-gradient(90deg, #0d7ea8 0%, #0d9f94 100%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent !important;
    color: #0d9f94 !important;
}

.eyebrow {
    color: var(--accent-cyan);
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.12em;
}

.polished-hero,
.platform-hero,
.enterprise-hero,
.academy-hero {
    min-height: auto;
    padding: 4.5rem 0 3.5rem;
    background:
        radial-gradient(ellipse 60% 50% at 90% 0%, rgba(13, 159, 148, 0.08), transparent 55%),
        linear-gradient(180deg, #ffffff 0%, #f4f7fb 100%) !important;
    border-bottom: 1px solid var(--border-subtle);
}

.polished-hero .hero-grid-overlay,
.polished-hero .hero-pillars {
    display: none;
}

.platform-hero-copy h1,
.page-hero-banner h1,
.academy-hero-copy h1 {
    color: var(--text-primary) !important;
    background: none !important;
    -webkit-text-fill-color: unset !important;
}

.hero-lead,
.platform-hero-copy p,
.academy-hero-copy p,
.page-lead {
    color: var(--text-muted) !important;
}

.hero-buttons {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    margin-top: 1.75rem;
}

.hero-audience {
    margin-top: 2rem;
    padding-top: 1.25rem;
    border-top: 1px solid var(--border-subtle);
    flex-wrap: nowrap;
    white-space: nowrap;
}

.hero-audience-line,
.hero-audience > span,
.hero-audience strong {
    color: #334556 !important;
    font-size: 0.8rem;
    font-weight: 500;
    white-space: nowrap;
}

.polished-visual {
    border-radius: 14px;
    overflow: hidden;
    border: 1px solid var(--border-subtle);
    background: #ffffff;
    box-shadow: 0 18px 40px rgba(18, 32, 51, 0.08);
}

.polished-visual .molecular-viz {
    border: none;
    border-radius: 0;
    background: #f4f8fb;
}

.polished-visual .scientific-hud {
    border-top: 1px solid var(--border-subtle);
    background: #f8fafc;
    padding: 0.7rem 0.75rem;
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem;
    overflow: visible;
    justify-content: flex-start;
}

.polished-visual .scientific-hud span,
.polished-visual .hud-metric {
    font-size: 0.75rem;
    padding: 0.4rem 0.65rem;
    border-radius: 6px;
    background: #ffffff;
    border: 1px solid var(--border-subtle);
    color: #122033;
}

.hud-metric {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    flex: 0 0 auto;
    min-width: auto;
    justify-content: center;
    white-space: nowrap;
}

.hud-icon {
    width: 16px;
    height: 16px;
    color: #0a7f78;
    flex-shrink: 0;
}

.hud-metric-label {
    font-size: 0.75rem;
    font-weight: 650;
    color: #122033 !important;
    padding: 0 !important;
    border: none !important;
    background: transparent !important;
    overflow: visible;
    text-overflow: unset;
    white-space: nowrap;
}

.demo-data-label {
    color: var(--accent-amber);
}

.value-props-section {
    padding: 3.5rem 0 4rem;
    border-top: 1px solid var(--border-subtle);
    border-bottom: 1px solid var(--border-subtle);
    background: #ffffff;
}

.value-props-intro {
    max-width: 640px;
    margin-bottom: 2.5rem;
}

.value-props-heading {
    text-align: left;
    font-size: clamp(1.5rem, 2.5vw, 2rem);
    margin-bottom: 0.75rem;
    color: var(--text-primary);
}

.value-props-intro p {
    margin: 0;
    font-size: 1.02rem;
    line-height: 1.7;
    color: var(--text-muted);
}

.value-props-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1.5rem;
}

.value-prop-card {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 1rem;
    padding: 1.35rem 1.25rem;
    border-radius: 10px;
    border: 1px solid var(--border-subtle);
    background: #f7f9fc;
    transition: border-color 0.2s, background 0.2s;
}

.value-prop-card:hover {
    border-color: rgba(13, 159, 148, 0.35);
    background: #ffffff;
}

.value-prop-card h3 {
    font-size: 1rem;
    margin-bottom: 0.4rem;
    color: var(--text-primary);
}

.value-prop-card p {
    margin: 0;
    font-size: 0.88rem;
    line-height: 1.6;
    color: var(--text-muted);
}

.value-prop-card .sci-icon,
.sci-icon {
    width: 42px;
    height: 42px;
    border-radius: 8px;
    background: var(--accent-cyan-soft);
    border: 1px solid rgba(13, 159, 148, 0.2);
    color: var(--accent-cyan);
}

/* ── Founder-led CRO section ──────────────────────────────────── */
.founder-cro-section {
    background: #122033;
    color: #fff;
    border-top: none;
    border-bottom: none;
}

.founder-cro-grid {
    display: grid;
    grid-template-columns: auto 1px 1fr;
    gap: 0 3rem;
    align-items: center;
}

/* Avatar + name */
.founder-cro-identity {
    display: flex;
    align-items: center;
    gap: 1.5rem;
    min-width: 280px;
}

.founder-cro-avatar {
    width: 72px;
    height: 72px;
    border-radius: 50%;
    background: transparent;
    border: 2px solid var(--accent-cyan, #0d9f94);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.founder-cro-avatar span {
    font-size: 1.3rem;
    font-weight: 700;
    color: var(--accent-cyan, #0d9f94);
    letter-spacing: 0.05em;
}

.founder-cro-meta {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
}

.founder-cro-meta .eyebrow {
    color: #fbbf24;
    font-size: 0.82rem;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    font-weight: 700;
}

.founder-cro-meta h3 {
    margin: 0;
    font-size: clamp(1.45rem, 2vw, 1.75rem);
    font-weight: 800;
    color: #ffffff;
    line-height: 1.2;
}

.founder-cro-name-link {
    color: #ffffff;
    text-decoration: none;
    border-bottom: 1px solid rgba(251, 191, 36, 0.65);
    transition: border-color 0.2s, color 0.2s;
}

.founder-cro-name-link:hover {
    color: #fbbf24;
    border-color: #fbbf24;
}

.founder-cro-title {
    margin: 0;
    font-size: 0.95rem;
    font-weight: 500;
    color: #67e8f9 !important;
    -webkit-text-fill-color: #67e8f9 !important;
    line-height: 1.5;
}

/* Vertical divider */
.founder-cro-divider {
    width: 1px;
    height: 140px;
    background: rgba(255,255,255,0.12);
    align-self: center;
}

/* Quote + credentials + CTAs */
.founder-cro-statement {
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
}

.founder-cro-quote {
    margin: 0;
    padding: 0;
    font-size: 1.05rem;
    line-height: 1.7;
    color: rgba(255,255,255,0.88);
    font-style: italic;
    border: none;
    position: relative;
    padding-left: 1.25rem;
}

.founder-cro-quote::before {
    content: '"';
    position: absolute;
    left: 0;
    top: -0.15em;
    font-size: 2.2rem;
    line-height: 1;
    color: var(--accent-cyan, #0d9f94);
    font-style: normal;
    font-family: Georgia, serif;
}

.founder-cro-credentials {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.founder-cro-credentials li {
    display: flex;
    align-items: baseline;
    gap: 0.6rem;
    font-size: 0.87rem;
    color: rgba(255,255,255,0.65);
    line-height: 1.5;
}

.cred-dot {
    display: inline-block;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var(--accent-cyan, #0d9f94);
    flex-shrink: 0;
    margin-top: 0.35em;
}

.founder-cro-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    margin-top: 0.25rem;
}

/* Override btn-outline for dark background */
.founder-cro-section .btn-outline {
    color: #ffffff;
    border: 1.5px solid rgba(255,255,255,0.5);
    background: transparent;
}

.founder-cro-section .btn-outline:hover {
    background: rgba(255,255,255,0.1);
    border-color: #ffffff;
    color: #ffffff;
}

/* Section intro label */
.founder-cro-section-label {
    text-align: center;
    margin-bottom: 2.5rem;
}

.founder-cro-section-label .eyebrow {
    color: var(--accent-cyan, #0d9f94);
    margin-bottom: 0.5rem;
    display: block;
}

.founder-cro-section-label h2 {
    font-size: clamp(1.5rem, 2.5vw, 2rem);
    color: #ffffff;
    margin: 0;
    font-weight: 700;
}

/* Responsive */
@media (max-width: 900px) {
    .founder-cro-grid {
        grid-template-columns: 1fr;
        gap: 2rem 0;
    }

    .founder-cro-divider {
        width: 60px;
        height: 1px;
    }

    .founder-cro-identity {
        min-width: unset;
    }
}

@media (max-width: 600px) {
    .founder-cro-identity {
        flex-direction: column;
        align-items: flex-start;
        gap: 1rem;
    }
}


.engagement-section {
    background: #ffffff;
    border-top: 1px solid var(--border-subtle);
    border-bottom: 1px solid var(--border-subtle);
}

.engagement-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1.25rem;
}

.engagement-card {
    padding: 1.75rem;
    border-radius: 12px;
    border: 1px solid var(--border-subtle);
    background: #f7f9fc;
    display: flex;
    flex-direction: column;
    min-height: 210px;
    transition: border-color 0.2s, background 0.2s;
}

.engagement-card:hover {
    border-color: rgba(13, 159, 148, 0.35);
    background: #ffffff;
}

.engagement-card h3 {
    font-size: 1.15rem;
    margin-bottom: 0.75rem;
    color: var(--text-primary);
}

.engagement-card p {
    flex: 1;
    font-size: 0.92rem;
    line-height: 1.65;
}

.engagement-card .service-link {
    margin-top: 1rem;
    color: var(--accent-cyan);
}

/* CRO deliverables, trust, and scope */
.cro-assurance-section {
    background: #f7f9fc;
}

.assurance-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1rem;
}

.assurance-card {
    padding: 1.5rem;
    background: #ffffff;
    border: 1px solid var(--border-subtle);
    border-radius: 12px;
}

.assurance-card h3 {
    color: var(--text-primary);
    font-size: 1.05rem;
    margin-bottom: 0.65rem;
}

.assurance-card p,
.cro-trust-panel p {
    color: var(--text-muted);
    line-height: 1.65;
}

.cro-trust-panel {
    display: grid;
    grid-template-columns: 1.35fr 1fr;
    gap: 2rem;
    margin-top: 1.5rem;
    padding: 2rem;
    background: #ffffff;
    border: 1px solid var(--border-subtle);
    border-left: 4px solid var(--accent-cyan);
    border-radius: 12px;
}

.cro-trust-panel h2 {
    color: var(--text-primary);
    font-size: clamp(1.4rem, 2.4vw, 2rem);
    margin: 0.4rem 0 0.8rem;
}

.scope-note {
    padding: 1.25rem;
    background: #eef7f6;
    border-radius: 10px;
}

.scope-note strong {
    display: block;
    color: var(--text-primary);
    margin-bottom: 0.5rem;
}

.form-security-note {
    font-size: 0.8rem;
    line-height: 1.5;
    color: var(--text-muted);
    padding: 0.75rem;
    border-left: 3px solid var(--accent-cyan);
    background: rgba(13, 159, 148, 0.08);
}

.check-row a {
    color: var(--accent-cyan);
    text-decoration: underline;
}

.legal-content {
    max-width: 820px;
}

.legal-content h2 {
    color: var(--text-primary);
    margin: 2rem 0 0.65rem;
}

.legal-content p {
    color: var(--text-muted);
    line-height: 1.75;
}

.legal-updated {
    margin-top: 2.5rem;
    font-size: 0.85rem;
}

@media (max-width: 900px) {
    .assurance-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .cro-trust-panel {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 600px) {
    .assurance-grid {
        grid-template-columns: 1fr;
    }
}

.section-heading {
    margin-bottom: 2.75rem;
}

.section-heading h2,
.h2-left,
h2.h2-left,
.academy-cta-copy h2,
.home-cta-band h2,
.page-cta-band h2 {
    letter-spacing: -0.03em;
    color: var(--text-primary) !important;
    background: none !important;
    -webkit-text-fill-color: unset !important;
}

.section-heading p {
    color: var(--text-muted);
    font-size: 1.05rem;
}

.home-highlight-card,
.offering-card,
.premium-service-card,
.premium-feature-card,
.platform-catalog-card,
.consulting-card,
.conversion-card,
.pillar-card,
.module-card,
.service-card,
.feature-card,
.resource-card,
.moa-objective-card,
.principle-card,
.research-theme-card,
.about-card {
    border-radius: 10px !important;
    background: #ffffff !important;
    border: 1px solid var(--border-subtle) !important;
    box-shadow: 0 8px 24px rgba(18, 32, 51, 0.04) !important;
    color: inherit;
}

.home-highlight-card h3,
.offering-card h3,
.service-card h3,
.feature-card h3,
.pillar-card h3,
.module-card h3,
.moa-objective-card h3,
.principle-card h3 {
    color: var(--text-primary) !important;
}

.home-highlight-card:hover,
.offering-card:hover,
.premium-service-card:hover,
.conversion-card:hover,
.value-prop-card:hover {
    border-color: rgba(13, 159, 148, 0.35) !important;
}

.page-hero-banner {
    background: linear-gradient(180deg, #ffffff 0%, #f4f7fb 100%) !important;
    border-bottom: 1px solid var(--border-subtle);
    padding: 4.5rem 0 3.25rem;
}

.page-hero-backdrop {
    opacity: 0.45;
    background:
        radial-gradient(ellipse 70% 50% at 80% 10%, rgba(13, 159, 148, 0.08), transparent 55%) !important;
}

.scientific-capability-strip,
.capability-strip,
.tech-stack-strip {
    background: #ffffff !important;
    border-color: var(--border-subtle) !important;
}

.capability-item,
.tech-stack-chip,
.audience-chip,
.topic-chip,
.program-pill,
.hero-pillars span {
    background: #f4f7fb !important;
    border: 1px solid var(--border-subtle) !important;
    color: var(--text-primary) !important;
}

.cta-panel {
    background: #ffffff !important;
    border: 1px solid var(--border-subtle) !important;
    border-radius: 14px;
    padding: 2.5rem;
    box-shadow: 0 10px 30px rgba(18, 32, 51, 0.05) !important;
}

.site-footer {
    background: #ffffff !important;
    border-top: 1px solid var(--border-subtle) !important;
    color: var(--text-muted);
}

.site-footer strong,
.footer-brand strong {
    color: var(--text-primary);
}

.site-footer a:hover {
    color: var(--accent-cyan);
}

.alt-band,
.principles-section,
.services-section,
.research-section,
.pillars-section {
    background: #eef3f8 !important;
    border-color: var(--border-subtle) !important;
}

.pipeline-node,
.pipeline-detail-panel {
    border-radius: 10px;
    background: #ffffff !important;
    border: 1px solid var(--border-subtle) !important;
    color: var(--text-primary);
}

.pipeline-node strong,
.pipeline-detail-panel h3 {
    color: var(--text-primary) !important;
}

.workspace-mockup,
.workspace-teaser-visual,
.product-mockup,
.hero-mini-dashboard {
    border-radius: 14px;
    background: #ffffff !important;
    border: 1px solid var(--border-subtle) !important;
    box-shadow: 0 16px 40px rgba(18, 32, 51, 0.08) !important;
}

.workspace-mock-sidebar,
.mock-sidebar {
    background: #f4f7fb !important;
    border-right: 1px solid var(--border-subtle) !important;
    color: var(--text-muted);
}

.workspace-panel,
.metric-card,
.teaser-metric,
.teaser-job-card,
.enterprise-option-card {
    background: #f7f9fc !important;
    border: 1px solid var(--border-subtle) !important;
    color: var(--text-primary);
}

.workspace-panel h4,
.panel-metric,
.mock-row,
.mini-job-row,
.teaser-metric strong {
    color: var(--text-primary) !important;
}

.panel-metric.subtle,
.teaser-job-meta {
    color: var(--text-muted) !important;
}

.status-pill {
    background: rgba(13, 159, 148, 0.12) !important;
    color: var(--accent-cyan) !important;
}

.status-pill.success {
    background: rgba(13, 159, 148, 0.14) !important;
}

.contact-form,
.academy-program-preview,
.academy-program-card,
.academy-enroll-form {
    background: #ffffff !important;
    border: 1px solid var(--border-subtle) !important;
    border-radius: 14px;
    box-shadow: 0 10px 28px rgba(18, 32, 51, 0.05) !important;
}

.contact-form input,
.contact-form textarea,
.contact-form select,
.academy-enroll-form input,
.academy-enroll-form textarea,
.academy-enroll-form select {
    background: #f7f9fc !important;
    border: 1px solid var(--border-subtle) !important;
    border-radius: 8px;
    color: var(--text-primary) !important;
}

.contact-form input:focus,
.contact-form textarea:focus {
    outline: none;
    border-color: rgba(13, 159, 148, 0.45) !important;
    box-shadow: 0 0 0 3px rgba(13, 159, 148, 0.12);
}

.inquiry-type-btn {
    border-radius: 8px;
    border: 1px solid var(--border-subtle) !important;
    background: #f7f9fc !important;
    color: var(--text-muted) !important;
}

.inquiry-type-btn.selected {
    border-color: rgba(13, 159, 148, 0.45) !important;
    background: rgba(13, 159, 148, 0.1) !important;
    color: var(--text-primary) !important;
}

.academy-subnav {
    background: rgba(255, 255, 255, 0.94) !important;
    border-bottom: 1px solid var(--border-subtle) !important;
}

.academy-subnav a {
    color: #4a5b6d;
}

.academy-kicker {
    color: var(--accent-cyan) !important;
    background: rgba(13, 159, 148, 0.1) !important;
    border: 1px solid rgba(13, 159, 148, 0.2) !important;
}

.resources-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1.25rem;
}

.regulatory-disclaimer {
    border: 1px solid rgba(201, 133, 26, 0.28) !important;
    background: rgba(201, 133, 26, 0.08) !important;
}

.regulatory-disclaimer p {
    color: #7a5a1a !important;
}

.mobile-nav-panel {
    background: #ffffff !important;
    color: var(--text-primary);
}

.mobile-nav-panel a {
    color: var(--text-primary);
}

.nav-toggle {
    border-color: var(--border-subtle);
}

.nav-toggle span {
    background: var(--text-primary);
}

.service-link,
.home-highlight-cta,
.contact-link {
    color: var(--accent-cyan) !important;
}

.progress-bar {
    background: #e8eef6 !important;
}

.progress-bar span {
    background: var(--accent-cyan) !important;
}

.molecular-viz {
    background: #f4f8fb !important;
    border-color: var(--border-subtle) !important;
}

.mol-viz-hud {
    background: #ffffff !important;
    border-top: 1px solid var(--border-subtle);
    color: var(--text-muted);
}

@media (max-width: 1024px) {
    .value-props-grid,
    .engagement-grid,
    .resources-grid {
        grid-template-columns: 1fr;
    }

    .platform-hero-grid,
    .academy-hero-grid {
        grid-template-columns: 1fr;
        gap: 2.5rem;
    }
}

@media (max-width: 768px) {
    .polished-hero,
    .academy-hero {
        padding: 3rem 0 2.5rem;
    }

    .nav-cta {
        margin-left: 0;
    }

    .resources-grid {
        grid-template-columns: 1fr;
    }
}

/* Careers page */
.careers-intro-grid { align-items: start; gap: 2.5rem; }
.careers-why-list { list-style: none; margin: 0; padding: 0; display: grid; gap: 0.85rem; }
.careers-why-list li { padding: 0.85rem 1rem; border-radius: 10px; background: #ffffff; border: 1px solid var(--border-subtle); color: var(--text-muted); font-size: 0.95rem; }
.careers-focus-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.25rem; }
.careers-focus-card { background: #ffffff; border: 1px solid var(--border-subtle); border-radius: 12px; padding: 1.5rem; box-shadow: 0 8px 24px rgba(18, 32, 51, 0.04); }
.careers-focus-card h3 { font-size: 1.05rem; margin-bottom: 0.55rem; color: var(--text-primary); }
.careers-focus-card p { margin: 0; font-size: 0.9rem; }
.careers-empty { text-align: center; max-width: 720px; margin: 0 auto; }
.careers-empty .hero-buttons { justify-content: center; }
@media (max-width: 1024px) { .careers-focus-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 768px) { .careers-focus-grid { grid-template-columns: 1fr; } }


/* === Light theme contrast fix (visible text on light bg) === */
h1, h2, h3, h4,
.platform-hero-copy h1,
.academy-hero-copy h1,
.page-hero-banner h1,
.page-heading h1,
.section-heading h2,
.h2-left,
h2.h2-left,
.academy-cta-copy h2,
.home-cta-band h2,
.page-cta-band h2,
.home-highlight-card h3,
.offering-card h3,
.service-card h3,
.feature-card h3,
.pillar-card h3,
.module-card h3,
.moa-objective-card h3,
.principle-card h3,
.careers-focus-card h3,
.resource-card h3,
.conversion-card h3,
.engagement-card h3,
.value-prop-card h3,
.workspace-panel h4,
.about-card h2,
.contact-copy h2,
.contact-form h3,
.footer-brand strong,
.site-footer strong,
.footer-links strong,
.mobile-nav-header strong,
.workspace-brand,
.mock-topline h3,
.workspace-mock-header h3,
.research-partners h3,
.academy-preview-path strong,
.academy-preview-outcome strong,
.academy-price-box strong,
.tool-section-title,
.pipeline-step-strip strong,
.evidence-list strong,
.design-rule-grid strong,
.smiles-readout span {
    color: var(--text-primary) !important;
    -webkit-text-fill-color: unset !important;
    background-image: none !important;
}

p,
.hero-lead,
.page-lead,
.platform-hero-copy p,
.academy-hero-copy p,
.section-heading p,
.home-highlight-card p,
.offering-card p,
.service-card p,
.feature-card p,
.pillar-card p,
.module-card p,
.moa-objective-card p,
.principle-card p,
.careers-focus-card p,
.resource-card p,
.conversion-card p,
.engagement-card p,
.value-prop-card p,
.pipeline-node small,
.pipeline-detail-panel p,
.pipeline-detail-sub,
.footer-brand p,
.footer-bottom p,
.capability-strip-label,
.tech-stack-label,
.audience-strip-label,
.academy-preview-path p {
    color: var(--text-muted) !important;
}

.nav-links a,
.academy-subnav a,
.footer-links a,
.mobile-nav-panel a {
    color: #334556 !important;
}

.nav-links a:hover,
.nav-links a.nav-active,
.academy-subnav a:hover,
.footer-links a:hover {
    color: var(--text-primary) !important;
}

.hero-audience strong,
.capability-item,
.capability-item span,
.tech-stack-chip,
.audience-chip,
.topic-chip,
.program-pill,
.pipeline-node,
.pipeline-node strong,
.pipeline-num,
.mock-row,
.mini-job-row,
.panel-metric,
.metric-card,
.metric-card span,
.metric-card strong,
.mol-viz-hud,
.mol-viz-hud span,
.teaser-metric span,
.teaser-metric strong,
.teaser-job-meta,
.workspace-mock-sidebar,
.workspace-mock-sidebar span,
.mock-sidebar,
.mock-sidebar span,
.enterprise-list li,
.enterprise-option-card,
.research-theme-card,
.careers-why-list li,
.contact-form label,
.academy-enroll-form label,
.inquiry-type-btn,
.scientific-capability-strip .capability-item,
.hero-proof span,
.workspace-sidebar a,
.workspace-topbar,
.page-heading p,
.job-table,
.mock-main,
.mock-main h3,
.academy-hero-list li,
.academy-preview-outcome li {
    color: var(--text-primary) !important;
}

.btn-primary,
.btn-primary *,
.nav-links a.btn-primary,
.nav-links .btn-primary,
a.btn-primary,
.nav-cta,
.nav-links a.nav-cta {
    color: #ffffff !important;
}

.btn-outline {
    color: var(--text-primary) !important;
    border-color: rgba(26, 35, 50, 0.2) !important;
}

.logo {
    color: var(--text-primary) !important;
}

.logo-name { color: #0b2c4d !important; -webkit-text-fill-color: #0b2c4d !important; }
.logo-bioai { color: #0d9f94 !important; }

.eyebrow,
.service-link,
.home-highlight-cta,
.contact-link,
.research-link-card strong,
.pillar-num {
    color: var(--accent-cyan) !important;
}

.panel-metric.subtle,
.pipeline-node small,
.hero-audience > span,
.capability-strip-label,
.tech-stack-label,
.placeholder-note,
.site-footer,
.site-footer p,
.site-footer a {
    color: var(--text-muted) !important;
}

.site-footer strong,
.footer-brand strong,
.footer-links strong {
    color: var(--text-primary) !important;
}

.scientific-hud span {
    background: #ffffff !important;
    border: 1px solid var(--border-subtle) !important;
    color: #334556 !important;
}

.status-pill {
    color: var(--accent-cyan) !important;
}

.mobile-nav-close {
    color: var(--text-primary) !important;
}

/* form controls on light surfaces */
input, textarea, select {
    color: var(--text-primary);
}

.quick-smiles button:hover {
    color: var(--text-primary) !important;
}

.mock-sidebar .active {
    color: var(--text-primary) !important;
    background: rgba(13, 159, 148, 0.12) !important;
}

/* === Residual white-text cleanup on light surfaces === */
.card h3,
.dual-engine h3,
.tag,
.tool-panel input,
.tool-panel textarea,
.tool-panel select,
.tool-panel label,
.quick-smiles button,
.smiles-readout,
.design-rule-grid,
.job-table th,
.job-table td,
.mock-sidebar .active,
.enroll-field label,
.enroll-field input,
.enroll-field textarea,
.enroll-field select {
    color: var(--text-primary) !important;
}

.tool-panel,
.pipeline-panel,
.workspace-card,
.dual-engine,
.academy-program-preview,
.academy-price-box,
.academy-preview-path,
.academy-preview-outcome {
    background: #ffffff !important;
    border-color: var(--border-subtle) !important;
    color: var(--text-primary);
}

.btn-primary,
.btn-primary *,
.step-number {
    color: #ffffff !important;
}

/* eyebrow contrast */
.eyebrow {
    color: #0a7f78 !important;
}

/* hud label contrast */
.scientific-hud span,
.mol-viz-hud span,
.polished-visual .scientific-hud span {
    color: #334556 !important;
    font-weight: 600 !important;
}

.status-pill {
    color: #0a7f78 !important;
}

/* === Nav + Academy offer band light fixes === */
.nav-actions {
    display: flex;
    align-items: center;
    gap: 0.85rem;
}

.academy-offer-band {
    background: linear-gradient(180deg, #ffffff 0%, #f4f7fb 100%) !important;
}

.academy-offer-band .section-heading h2 {
    color: var(--text-primary) !important;
    -webkit-text-fill-color: unset !important;
    background: none !important;
}

.academy-offer-band .section-heading p {
    color: var(--text-muted) !important;
}

.academy-offer-panel,
.academy-price-box {
    background: #ffffff !important;
    border-color: var(--border-subtle) !important;
    color: var(--text-primary);
}

.academy-offer-panel h3,
.academy-price-box strong {
    color: var(--text-primary) !important;
}

.academy-hero-list li {
    color: var(--text-primary) !important;
}

/* Brand logo assets */
.logo-img {
    display: block;
    height: 38px;
    width: auto;
    max-width: min(250px, 48vw);
    object-fit: contain;
}

.footer-logo img {
    height: 42px;
    width: auto;
    max-width: 260px;
    object-fit: contain;
}

.about-brand-visual {
    padding-top: 0 !important;
}

.about-brand-img {
    display: block;
    width: 100%;
    max-width: 920px;
    height: auto;
    margin: 0 auto;
    border-radius: 14px;
    border: 1px solid var(--border-subtle);
    background: #ffffff;
    box-shadow: 0 16px 40px rgba(18, 32, 51, 0.08);
}

/* === HUD + Logo visibility === */
.hero-hud.scientific-hud,
.polished-visual .scientific-hud.hero-hud {
    flex-wrap: wrap !important;
    overflow: visible !important;
    gap: 0.45rem !important;
}

.hero-hud .hud-metric,
.hero-hud .hud-metric-label {
    color: #122033 !important;
    -webkit-text-fill-color: #122033 !important;
    overflow: visible !important;
    text-overflow: unset !important;
    white-space: nowrap !important;
    font-size: 0.75rem !important;
    font-weight: 650 !important;
}

.hero-hud .hud-metric {
    flex: 0 0 auto !important;
    min-width: auto !important;
    background: #ffffff !important;
    border: 1px solid var(--border-subtle) !important;
}

.logo-wordmark {
    display: inline-flex !important;
    align-items: baseline;
    gap: 0.28em !important;
}
.logo-name { color: #0b2c4d !important; -webkit-text-fill-color: #0b2c4d !important; background: none !important; }
.logo-bioai {
    background: linear-gradient(90deg, #0d7ea8 0%, #0d9f94 100%) !important;
    -webkit-background-clip: text !important;
    background-clip: text !important;
    -webkit-text-fill-color: transparent !important;
}

/* Team section */
.team-section {
    background: #f7f9fc !important;
    border-top: 1px solid var(--border-subtle);
}

.team-section h2 {
    color: var(--text-primary) !important;
}

.team-member {
    margin-top: 3rem;
    display: flex;
    align-items: center;
    gap: 3rem;
    flex-wrap: wrap;
}

.team-avatar {
    flex: 1;
    min-width: 220px;
    text-align: center;
}

.team-avatar-ring {
    width: 220px;
    height: 220px;
    border-radius: 50%;
    margin: 0 auto;
    padding: 5px;
    background: linear-gradient(135deg, #0d9f94, #5b4fd6);
}

.team-avatar-ring.team-avatar-alt {
    background: linear-gradient(135deg, #5b4fd6, #0d9f94);
}

.team-avatar-ring > span,
.team-avatar-ring {
    display: flex;
    align-items: center;
    justify-content: center;
}

.team-avatar-ring span {
    width: 100%;
    height: 100%;
    border-radius: 50%;
    background: #ffffff;
    color: #0b2c4d;
    font-size: 3.5rem;
    font-weight: 800;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: inset 0 0 0 1px var(--border-subtle);
}

.team-copy {
    flex: 2;
    min-width: 300px;
}

.team-copy h3 {
    font-size: 1.85rem;
    margin-bottom: 0.35rem;
    color: var(--text-primary);
}

.team-name {
    color: var(--text-primary) !important;
}

.team-name-link {
    color: #0a7f78 !important;
    text-decoration: none;
}

.team-name-link:hover {
    color: #0d9f94 !important;
}

.team-role {
    font-size: 1.15rem;
    font-weight: 700;
    color: #0a7f78 !important;
    margin-bottom: 0.25rem;
}

.team-subtitle {
    font-size: 1rem;
    font-weight: 600;
    color: var(--text-muted) !important;
    margin-bottom: 1.15rem;
}

.team-copy p {
    color: var(--text-muted) !important;
}

.team-highlights {
    list-style: none;
    margin-top: 1.25rem;
    padding: 0;
}

.team-highlights li {
    margin-bottom: 0.45rem;
    color: var(--text-muted);
    display: flex;
    gap: 0.55rem;
    align-items: flex-start;
}

.team-highlights li span {
    color: #0a7f78;
    font-weight: 700;
}

@media (max-width: 768px) {
    .team-member {
        gap: 1.5rem;
    }
    .team-avatar-ring {
        width: 160px;
        height: 160px;
    }
    .team-avatar-ring span {
        font-size: 2.5rem;
    }
}

/* Scientific research console */
.sci-console {
    border: 1px solid var(--border-subtle);
    border-radius: 16px;
    overflow: hidden;
    background: #ffffff;
    box-shadow: 0 18px 48px rgba(18, 32, 51, 0.08);
}

.sci-console-topbar {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 1rem;
    flex-wrap: wrap;
    padding: 0.95rem 1.15rem;
    border-bottom: 1px solid var(--border-subtle);
    background: linear-gradient(180deg, #ffffff 0%, #f7f9fc 100%);
}

.sci-console-brand {
    display: flex;
    align-items: center;
    gap: 0.75rem;
}

.sci-console-brand img {
    width: 28px;
    height: 28px;
    object-fit: contain;
}

.sci-console-brand strong {
    display: block;
    color: #0b2c4d;
    font-size: 0.98rem;
}

.sci-console-brand .mono {
    color: var(--text-muted);
    font-size: 0.72rem;
}

.sci-console-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem;
    align-items: center;
}

.sci-chip {
    font-size: 0.72rem;
    font-weight: 600;
    color: #0b2c4d;
    background: #eef7f6;
    border: 1px solid rgba(13, 159, 148, 0.22);
    border-radius: 999px;
    padding: 0.28rem 0.7rem;
}

.sci-console-body {
    display: grid;
    grid-template-columns: 180px minmax(0, 1fr);
    min-height: 520px;
}

.sci-console-nav {
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
    padding: 0.9rem 0.7rem;
    background: #f4f8fb;
    border-right: 1px solid var(--border-subtle);
}

.sci-console-nav span {
    padding: 0.55rem 0.7rem;
    border-radius: 8px;
    font-size: 0.8rem;
    font-weight: 600;
    color: #3f4f60;
}

.sci-console-nav .active {
    background: #ffffff;
    color: #0a7f78;
    border: 1px solid rgba(13, 159, 148, 0.25);
    box-shadow: 0 4px 12px rgba(18, 32, 51, 0.04);
}

.sci-console-main {
    padding: 1rem;
    background: #fbfcfe;
}

.sci-metric-row {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 0.65rem;
    margin-bottom: 0.85rem;
}

.sci-metric {
    background: #ffffff;
    border: 1px solid var(--border-subtle);
    border-radius: 10px;
    padding: 0.75rem 0.8rem;
    display: grid;
    gap: 0.15rem;
}

.sci-metric-label {
    font-size: 0.68rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #5b6b7c;
}

.sci-metric strong {
    font-size: 1.2rem;
    color: #0b2c4d;
    line-height: 1.1;
}

.sci-metric small {
    font-size: 0.72rem;
    color: var(--text-muted);
}

.sci-console-grid {
    display: grid;
    grid-template-columns: 1.4fr 0.8fr 0.8fr;
    gap: 0.75rem;
}

.sci-panel {
    background: #ffffff;
    border: 1px solid var(--border-subtle);
    border-radius: 12px;
    padding: 0.85rem;
    min-width: 0;
}

.sci-panel-structure {
    grid-row: span 2;
}

.sci-panel-wide {
    grid-column: 1 / -1;
}

.sci-panel-head {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    gap: 0.75rem;
    margin-bottom: 0.75rem;
}

.sci-panel-head h4 {
    margin: 0;
    font-size: 0.92rem;
    color: #0b2c4d !important;
}

.sci-panel-head .mono {
    font-size: 0.7rem;
    color: var(--text-muted);
}

.sci-structure-frame {
    border-radius: 10px;
    overflow: hidden;
    border: 1px solid var(--border-subtle);
    background: #f7f9fc;
}

.sci-structure-img {
    display: block;
    width: 100%;
    height: 280px;
    object-fit: cover;
    object-position: center 35%;
    background: #ffffff;
}

.sci-structure-legend {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem 1rem;
    padding: 0.55rem 0.75rem;
    border-top: 1px solid var(--border-subtle);
    background: #ffffff;
    font-size: 0.72rem;
    color: #3f4f60;
    font-weight: 600;
}

.sci-structure-legend span {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
}

.legend-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    display: inline-block;
}

.legend-dot.protein { background: #0b2c4d; }
.legend-dot.ligand { background: #12b886; }
.legend-dot.water { background: #e03131; }
.legend-dot.shell { background: #339af0; box-shadow: inset 0 0 0 1px #74c0fc; }

.sci-kv {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    gap: 0.55rem;
}

.sci-kv li {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    padding: 0.45rem 0;
    border-bottom: 1px solid rgba(26, 35, 50, 0.06);
    font-size: 0.82rem;
    color: var(--text-muted);
}

.sci-kv li:last-child { border-bottom: none; }

.sci-kv strong {
    color: #0b2c4d;
    font-size: 0.86rem;
}

.sci-table {
    display: grid;
    gap: 0.35rem;
}

.sci-table-row {
    display: grid;
    grid-template-columns: 1fr 1.2fr 0.8fr 0.7fr 0.7fr 0.8fr;
    gap: 0.5rem;
    align-items: center;
    padding: 0.55rem 0.65rem;
    border-radius: 8px;
    background: #f7f9fc;
    font-size: 0.8rem;
    color: #3f4f60;
}

.sci-table-row.head {
    background: transparent;
    font-size: 0.68rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: #5b6b7c;
    padding-bottom: 0.15rem;
}

.sci-pipeline {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 0.55rem;
}

.sci-step {
    background: #f7f9fc;
    border: 1px solid var(--border-subtle);
    border-radius: 10px;
    padding: 0.7rem 0.65rem;
    display: grid;
    gap: 0.2rem;
}

.sci-step .mono {
    color: #5b6b7c;
    font-size: 0.68rem;
}

.sci-step strong {
    color: #0b2c4d;
    font-size: 0.88rem;
}

.sci-step small {
    color: var(--text-muted);
    font-size: 0.72rem;
}

.sci-step.done {
    border-color: rgba(13, 159, 148, 0.35);
    background: #eefaf7;
}

.sci-step.active {
    border-color: rgba(13, 159, 148, 0.55);
    background: #e6f7f4;
    box-shadow: 0 0 0 2px rgba(13, 159, 148, 0.08);
}

.workspace-section .section-cta {
    margin-top: 1.75rem;
    text-align: center;
}

@media (max-width: 1024px) {
    .sci-console-body { grid-template-columns: 1fr; }
    .sci-console-nav {
        flex-direction: row;
        flex-wrap: wrap;
        border-right: none;
        border-bottom: 1px solid var(--border-subtle);
    }
    .sci-metric-row { grid-template-columns: repeat(3, 1fr); }
    .sci-console-grid { grid-template-columns: 1fr; }
    .sci-panel-structure { grid-row: auto; }
    .sci-structure-img { height: 220px; }
    .sci-pipeline { grid-template-columns: repeat(3, 1fr); }
    .sci-table-row,
    .sci-table-row.head {
        grid-template-columns: 1fr 1fr;
    }
}

@media (max-width: 640px) {
    .sci-metric-row { grid-template-columns: repeat(2, 1fr); }
    .sci-pipeline { grid-template-columns: 1fr 1fr; }
}

/* === Responsive workspace + persisted data flows === */
.workspace-mobile-toggle,
.workspace-mobile-close,
.workspace-mobile-backdrop { display: none; }

.auth-section { min-height: 70vh; }
.auth-grid,
.data-workspace-grid {
    display: grid;
    grid-template-columns: minmax(0, 0.8fr) minmax(360px, 1.2fr);
    gap: 2rem;
    align-items: start;
}
.auth-grid { max-width: 980px; }
.auth-grid h1 { font-size: clamp(2.2rem, 5vw, 4rem); margin: 0.5rem 0 1rem; }
.auth-tabs { display: grid; grid-template-columns: 1fr 1fr; gap: 0.5rem; margin-bottom: 1rem; }
.auth-tabs button {
    border: 1px solid var(--border-subtle); background: #f4f8fb; color: var(--text-primary);
    border-radius: 8px; padding: 0.7rem; font-weight: 700; cursor: pointer;
}
.auth-tabs button.active { background: #e6f7f4; border-color: rgba(13,159,148,.45); color: #0a7f78; }
.auth-form > .btn { display: block; width: max-content; }
.auth-form > .contact-link { display: block; margin-top: 1rem; }
.form-feedback { padding: 0.75rem 0.9rem; border-radius: 8px; margin: 0.75rem 0 0; }
.form-feedback.success { background: #e8f7f2; color: #087064 !important; }
.form-feedback.error { background: #fff0ef; color: #9d2e25 !important; }

/* Keep consent and NDA checkboxes aligned with multi-line label text. */
.contact-form label.check-row {
    display: grid !important;
    grid-template-columns: 1.1rem minmax(0, 1fr) !important;
    align-items: start;
    column-gap: 0.65rem;
    margin: 1rem 0;
    line-height: 1.55;
    cursor: pointer;
}

.contact-form label.check-row > input[type="checkbox"] {
    width: 1.1rem !important;
    height: 1.1rem;
    min-height: 1.1rem;
    margin: 0.18rem 0 0 !important;
    padding: 0 !important;
    flex: none;
    accent-color: var(--accent-cyan);
    cursor: pointer;
}
.data-workspace-grid { grid-template-columns: minmax(280px, 0.7fr) minmax(0, 1.3fr); }
.data-form { display: grid; gap: 0.9rem; position: sticky; top: 1rem; }
.data-form label { display: grid; gap: 0.4rem; color: var(--text-primary); font-weight: 650; }
.data-form input, .data-form textarea, .data-form select {
    width: 100%; padding: 0.75rem; border-radius: 8px; border: 1px solid var(--border-subtle);
    background: #fff; color: var(--text-primary); font: inherit;
}
.data-list { display: grid; gap: 1rem; }
.data-list .workspace-card { display: block; }
.data-list small { color: var(--text-muted); overflow-wrap: anywhere; }
.empty-state { text-align: center; padding: 3rem 1.5rem; }

@media (max-width: 900px) {
    html, body { max-width: 100%; overflow-x: hidden; }
    .nav-container { padding-inline: 16px; gap: 0.6rem; }
    .nav-actions { display: none !important; }
    .nav-toggle { display: flex !important; flex: 0 0 auto; }
    .logo { min-width: 0; }
    .logo-wordmark { min-width: 0; font-size: 1rem; white-space: nowrap; }
    .platform-hero-grid { min-width: 0; }
    .platform-hero-copy, .hero-visual-panel { min-width: 0; width: 100%; }
    .platform-hero-copy h1 {
        font-size: clamp(2.25rem, 10vw, 3.4rem) !important;
        line-height: 1.05 !important; overflow-wrap: anywhere; word-break: normal;
    }
    .platform-hero-copy p { font-size: 1rem !important; }
    .hero-audience, .hero-audience-line, .hero-audience > span {
        width: 100%; white-space: normal !important; overflow-wrap: anywhere;
    }
    .hero-hud .hud-metric-label { white-space: normal !important; }

    .workspace-shell { display: block; min-height: 100vh; }
    .workspace-mobile-toggle {
        display: flex; position: sticky; top: 0; z-index: 950; width: 100%; align-items: center;
        gap: 0.65rem; padding: 0.9rem 1rem; border: 0; border-bottom: 1px solid var(--border-subtle);
        background: #fff; color: var(--text-primary); font: inherit; font-weight: 750; cursor: pointer;
    }
    .workspace-mobile-close {
        display: block; position: absolute; top: 0.75rem; right: 0.75rem; width: 36px; height: 36px;
        border: 1px solid var(--border-subtle); border-radius: 8px; background: #fff;
        color: var(--text-primary); font-size: 1.5rem; cursor: pointer;
    }
    .workspace-mobile-backdrop {
        position: fixed; inset: 0; z-index: 970; background: rgba(11,25,42,.48);
    }
    .workspace-mobile-backdrop.open { display: block; }
    .workspace-sidebar {
        display: grid !important; position: fixed !important; inset: 0 auto 0 0; z-index: 980;
        width: min(320px, 88vw); height: 100vh !important; padding: 1.25rem;
        overflow-y: auto; flex-wrap: nowrap; transform: translateX(-105%); transition: transform .22s ease;
        box-shadow: 18px 0 50px rgba(11,25,42,.18);
    }
    .workspace-sidebar.open { transform: translateX(0); }
    .workspace-brand { padding-right: 3rem !important; }
    .workspace-content { min-width: 0; }
    .workspace-topbar { padding: 0.85rem 1rem; gap: 0.75rem; flex-wrap: wrap; }
    .workspace-main { padding: 1.1rem; }
    .auth-grid, .data-workspace-grid { grid-template-columns: 1fr; }
    .data-form { position: static; }
}

@media (max-width: 480px) {
    .container { width: 100%; padding-inline: 18px; }
    .logo-mark { width: 34px; height: 34px; }
    .platform-hero-copy h1 { font-size: clamp(2rem, 10vw, 2.65rem) !important; }
    .hero-buttons .btn { width: 100%; }
    .hero-visual-panel { margin-top: 0.5rem; }
    .workspace-topbar > div { display: grid; }
    .workspace-topbar strong { overflow-wrap: anywhere; }
    .page-heading h1 { font-size: 1.75rem; }
    .workspace-main .workspace-grid, .workspace-main .module-grid { grid-template-columns: 1fr; }
}

/* Keep the dark Solvatin surfaces above the legacy global heading palette. */
.solvatin-hero h1 {
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
}
.solvatin-feature-card.featured h3,
.solvatin-cta-panel h2 {
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
}
.solvatin-hero .solvatin-lead {
    color: #b9c9d5 !important;
}
.solvatin-hero .btn-outline {
    color: #ffffff !important;
    border-color: rgba(255, 255, 255, 0.34) !important;
    background: rgba(255, 255, 255, 0.03) !important;
}
.solvatin-feature-card.featured p,
.solvatin-cta-panel p {
    color: #afc1cd !important;
}

/* Pitch-deck-aligned Solvatin feature and evidence layouts. */
.solvatin-feature-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}
.solvatin-feature-card {
    min-height: 285px;
}
.solvatin-evidence-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
    margin-top: 3rem;
}
.solvatin-evidence-grid > div {
    padding: 2rem;
    text-align: left;
    background: #ffffff;
    border: 1px solid #d9e4e8;
    border-top: 3px solid #20a99e;
    border-radius: 10px;
}
.solvatin-evidence-grid > div:nth-child(2) { border-top-color: #d99a2b; }
.solvatin-evidence-grid > div:nth-child(3) { border-top-color: #35ad71; }
.solvatin-evidence-grid > div:nth-child(4) { border-top-color: #6e62dd; }
.solvatin-evidence-grid span {
    color: #0b837a;
    font: 700 .62rem var(--font-mono);
    letter-spacing: .1em;
}
.solvatin-evidence-grid h3 { margin: .75rem 0 .5rem; }
.solvatin-evidence-grid p { margin: 0; font-size: .9rem; }
.solvatin-catalog-intro {
    position: relative;
    overflow: hidden;
    padding: 7rem 0;
    background: linear-gradient(145deg, #f5fafb 0%, #ffffff 55%, #eef7f6 100%);
    border-top: 1px solid #dce8eb;
    border-bottom: 1px solid #dce8eb;
}
.solvatin-catalog-intro::after {
    content: "";
    position: absolute;
    width: 420px;
    height: 420px;
    right: -180px;
    top: -210px;
    border: 1px solid rgba(21, 155, 145, .15);
    border-radius: 50%;
    box-shadow: 0 0 0 65px rgba(21,155,145,.025), 0 0 0 130px rgba(21,155,145,.018);
}
.platform-story-grid {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: .9fr 1.1fr;
    align-items: center;
    gap: 5rem;
}
.platform-story-copy h2 {
    margin: .8rem 0 1.2rem;
    text-align: left;
}
.platform-story-copy > p {
    font-size: 1.02rem;
    line-height: 1.8;
}
.platform-flagship-note {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: .2rem 1rem;
    margin-top: 2rem;
    padding: 1.2rem 1.35rem;
    background: #09283a;
    border-left: 4px solid #4bd4c7;
    border-radius: 8px;
    box-shadow: 0 14px 35px rgba(9, 40, 58, .14);
}
.platform-flagship-note span {
    grid-column: 1 / -1;
    color: #62dcd1;
    font: 700 .58rem var(--font-mono);
    letter-spacing: .12em;
}
.platform-flagship-note strong {
    color: #ffffff;
    font-size: 1.3rem;
}
.platform-flagship-note p {
    margin: 0;
    color: #b5c8d2 !important;
    font-size: .83rem;
    line-height: 1.55;
}
.platform-journey {
    position: relative;
    display: grid;
    gap: .9rem;
}
.platform-journey::before {
    content: "";
    position: absolute;
    left: 31px;
    top: 52px;
    bottom: 52px;
    width: 1px;
    background: linear-gradient(#21a99e, #74cbc4);
}
.platform-journey > div {
    position: relative;
    display: grid;
    grid-template-columns: 42px 1fr;
    gap: .25rem 1.1rem;
    padding: 1.35rem 1.45rem;
    background: rgba(255,255,255,.9);
    border: 1px solid #d9e5e8;
    border-radius: 12px;
    box-shadow: 0 12px 30px rgba(16, 55, 73, .06);
}
.platform-journey > div > span {
    grid-row: 1 / 4;
    display: grid;
    place-items: center;
    align-self: center;
    width: 42px;
    height: 42px;
    color: #0a766e;
    background: #dcf5f2;
    border: 4px solid #f7fbfb;
    border-radius: 50%;
    font: 800 .65rem var(--font-mono);
    z-index: 1;
}
.platform-journey i {
    color: #0b837a;
    font: 700 .58rem var(--font-mono);
    font-style: normal;
    letter-spacing: .1em;
}
.platform-journey strong { color: #102d40; font-size: 1.05rem; }
.platform-journey p { margin: 0; font-size: .82rem; }
.platform-journey > div.flagship {
    color: #ffffff;
    background: linear-gradient(120deg, #0a293b, #0d4350);
    border-color: #0d4350;
    transform: translateX(14px);
    box-shadow: 0 20px 45px rgba(9, 40, 58, .2);
}
.platform-journey .flagship > span { color: #072b38; background: #56d8cc; border-color: #0f4753; }
.platform-journey .flagship i { color: #65ddd2; }
.platform-journey .flagship strong { color: #ffffff; }
.platform-journey .flagship p { color: #b8ccd5 !important; }
@media (max-width: 900px) {
    .platform-story-grid { grid-template-columns: 1fr; gap: 3rem; }
    .platform-journey > div.flagship { transform: none; }
}
@media (max-width: 520px) {
    .solvatin-catalog-intro { padding: 5rem 0; }
    .platform-flagship-note { grid-template-columns: 1fr; }
    .platform-journey > div { padding: 1.15rem 1rem; }
}
@media (max-width: 700px) {
    .solvatin-feature-grid,
    .solvatin-evidence-grid {
        grid-template-columns: 1fr;
    }
}

/* Primary Solvatin differentiators: solvation + multi-objective optimization. */
.solvatin-core-section {
    position: relative;
    overflow: hidden;
    background: #071c2d;
}
.solvatin-core-section::before {
    content: "";
    position: absolute;
    inset: 0;
    background: radial-gradient(circle at 15% 30%, rgba(37, 196, 183, .13), transparent 32%), radial-gradient(circle at 85% 70%, rgba(110, 98, 221, .13), transparent 34%);
    pointer-events: none;
}
.solvatin-core-section .container { position: relative; }
.solvatin-core-heading {
    max-width: 800px;
    margin: 0 auto 3.5rem;
    text-align: center;
}
.solvatin-core-heading h2 {
    margin: .75rem 0 1rem;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
}
.solvatin-core-heading p { color: #afc2ce !important; font-size: 1.05rem; }
.solvatin-core-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1.25rem;
}
.solvatin-core-card {
    position: relative;
    padding: 2.5rem;
    border: 1px solid rgba(255, 255, 255, .12);
    border-radius: 16px;
    background: rgba(12, 43, 61, .82);
    box-shadow: 0 24px 60px rgba(0, 0, 0, .22);
}
.solvatin-core-card.solvation-core { border-top: 3px solid #47d5c7; }
.solvatin-core-card.optimization-core { border-top: 3px solid #877cf1; }
.solvatin-core-topline { display: flex; justify-content: space-between; gap: 1rem; align-items: center; }
.solvatin-core-index { color: #7f9aaa; font: 700 .62rem var(--font-mono); letter-spacing: .12em; }
.solvatin-core-badge { padding: .32rem .55rem; border: 1px solid rgba(255,255,255,.15); border-radius: 999px; color: #b7c9d3; font: 600 .55rem var(--font-mono); letter-spacing: .08em; }
.solvatin-core-symbol {
    display: grid;
    place-items: center;
    width: 64px;
    height: 64px;
    margin: 2rem 0 1.5rem;
    border-radius: 18px;
    color: #071c2d;
    background: #57d9cd;
    font: 800 1rem var(--font-mono);
    box-shadow: 0 0 30px rgba(71, 213, 199, .22);
}
.optimization-core .solvatin-core-symbol { color: #ffffff; background: #756ae2; box-shadow: 0 0 30px rgba(117, 106, 226, .25); font-size: 1.7rem; }
.solvatin-core-card h3 { margin-bottom: .7rem; color: #ffffff !important; -webkit-text-fill-color: #ffffff !important; font-size: 1.6rem; }
.solvatin-core-lead { min-height: 3.2rem; color: #b8c9d3 !important; line-height: 1.65; }
.solvatin-core-card ul { display: grid; gap: .8rem; margin: 1.6rem 0 2rem; list-style: none; }
.solvatin-core-card li { position: relative; padding-left: 1.2rem; color: #d6e2e8; font-size: .9rem; }
.solvatin-core-card li::before { content: ""; position: absolute; left: 0; top: .58rem; width: 6px; height: 6px; border-radius: 50%; background: #4bd4c7; }
.optimization-core li::before { background: #8e84ef; }
.solvatin-core-outcome { display: grid; gap: .35rem; padding: 1rem 1.15rem; background: rgba(0, 0, 0, .18); border-left: 3px solid #48d2c5; }
.optimization-core .solvatin-core-outcome { border-left-color: #887df0; }
.solvatin-core-outcome span { color: #7895a5; font: 700 .56rem var(--font-mono); letter-spacing: .1em; }
.solvatin-core-outcome strong { color: #ffffff; font-size: .84rem; line-height: 1.5; }
.solvatin-core-bridge {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 1rem;
    margin-top: 1.5rem;
    padding: 1rem 1.25rem;
    border: 1px solid rgba(255, 255, 255, .1);
    border-radius: 10px;
    color: #82e3da;
    background: rgba(255, 255, 255, .035);
    font: 700 .66rem var(--font-mono);
    letter-spacing: .08em;
}
.solvatin-core-bridge i { color: #8299a8; font-style: normal; font-size: 1rem; }
.solvatin-core-bridge strong { color: #ffffff; }
@media (max-width: 800px) {
    .solvatin-core-grid { grid-template-columns: 1fr; }
    .solvatin-core-lead { min-height: 0; }
    .solvatin-core-bridge { align-items: stretch; flex-direction: column; text-align: center; }
    .solvatin-core-bridge i { transform: rotate(90deg); }
}
@media (max-width: 520px) {
    .solvatin-core-card { padding: 1.6rem; }
}

/* Refined Solvatin hero: balanced type and scientific product visual. */
.solvatin-hero-grid {
    grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr);
    gap: clamp(2.5rem, 4.5vw, 4.25rem);
}
.solvatin-hero h1 {
    max-width: 620px;
    font-size: clamp(2.65rem, 3.75vw, 3.75rem);
    line-height: 1.08;
    letter-spacing: -.042em;
}
.solvatin-science-visual {
    position: relative;
    overflow: hidden;
    margin: 0;
    min-width: 0;
    width: 100%;
    max-width: 100%;
    border: 1px solid rgba(112, 225, 214, .22);
    border-radius: 20px;
    background: #061a2b;
    box-shadow: 0 35px 90px rgba(0, 0, 0, .36), 0 0 0 8px rgba(255, 255, 255, .025);
}
.solvatin-science-visual::after {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: inherit;
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.04);
    pointer-events: none;
}
.solvatin-science-visual img {
    display: block;
    width: 100%;
    max-width: 100%;
    height: clamp(430px, 42vw, 570px);
    object-fit: cover;
    object-position: 56% center;
}
.solvatin-figure-caption {
    position: absolute;
    left: 1.35rem;
    right: 1.35rem;
    bottom: 1.35rem;
    display: grid;
    gap: .25rem;
    padding: 1rem 1.1rem;
    background: rgba(4, 23, 37, .82);
    border: 1px solid rgba(108, 225, 214, .2);
    border-radius: 10px;
    backdrop-filter: blur(12px);
}
.solvatin-figure-kicker {
    color: #63ded2;
    font: 700 .56rem var(--font-mono);
    letter-spacing: .12em;
}
.solvatin-figure-caption strong {
    color: #ffffff;
    font-size: .9rem;
    line-height: 1.45;
}
.solvatin-figure-legend {
    position: absolute;
    top: 1.1rem;
    left: 1.1rem;
    display: flex;
    flex-wrap: wrap;
    gap: .45rem;
}
.solvatin-figure-legend span {
    padding: .38rem .58rem;
    color: #c6d7df;
    background: rgba(4, 23, 37, .72);
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 999px;
    font: 500 .56rem var(--font-mono);
    backdrop-filter: blur(8px);
}
@media (max-width: 900px) {
    .solvatin-hero-grid { grid-template-columns: 1fr; }
    .solvatin-hero-copy { max-width: 720px; }
    .solvatin-science-visual img { height: min(68vw, 560px); }
}
@media (max-width: 600px) {
    .solvatin-hero h1 { font-size: clamp(2.35rem, 10.5vw, 3.2rem); }
    .solvatin-science-visual { border-radius: 14px; }
    .solvatin-science-visual img { height: 390px; object-position: 58% center; }
    .solvatin-figure-legend { top: .75rem; left: .75rem; right: .75rem; }
    .solvatin-figure-caption { left: .75rem; right: .75rem; bottom: .75rem; }
}

/* Academy training-track contrast and alignment. */
.academy-band {
    background: linear-gradient(180deg, #f2f7f9 0%, #edf4f6 100%) !important;
    border-top: 1px solid #dce7ea;
    border-bottom: 1px solid #dce7ea;
}
.academy-band .section-heading {
    max-width: 830px;
    margin-inline: auto;
}
.academy-band .module-grid {
    align-items: stretch;
}
.academy-band .module-card {
    display: flex;
    min-height: 245px;
    padding: 1.55rem;
    flex-direction: column;
    align-items: flex-start;
    background: #ffffff !important;
    border: 1px solid #d8e3e7 !important;
    border-top: 3px solid #159b91 !important;
    box-shadow: 0 12px 30px rgba(18, 50, 67, .07) !important;
}
.academy-band .module-card:nth-child(3n+2) { border-top-color: #5d72cf !important; }
.academy-band .module-card:nth-child(3n) { border-top-color: #c78b2e !important; }
.academy-band .module-card h3 {
    margin-bottom: .7rem;
    font-size: 1.02rem;
    line-height: 1.4;
}
.academy-band .module-card > p {
    margin-bottom: 1.15rem;
    font-size: .9rem;
    line-height: 1.65;
}
.academy-band .track-chip-row {
    margin-top: auto;
}
.academy-band .track-chip-row span {
    min-height: 27px;
    padding: .28rem .52rem;
    color: #176c67 !important;
    background: #e8f6f4 !important;
    border: 1px solid #c8e7e3 !important;
    font-size: .68rem;
    font-weight: 700;
}

/* Company page: clear public-facing hierarchy. */
.company-intro-section { background: #ffffff; }
.company-intro-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(320px, .95fr);
    align-items: center;
    gap: clamp(3rem, 6vw, 6rem);
}
.company-intro-copy h2 {
    max-width: 720px;
    margin: .8rem 0 1.25rem;
    font-size: clamp(2rem, 3.2vw, 2.8rem);
}
.company-intro-copy p {
    max-width: 720px;
    font-size: 1rem;
    line-height: 1.8;
}
.company-facts {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    overflow: hidden;
    background: #09283a;
    border: 1px solid #174256;
    border-radius: 16px;
    box-shadow: 0 24px 55px rgba(12, 42, 58, .16);
}
.company-facts > div {
    display: grid;
    gap: .45rem;
    min-height: 135px;
    padding: 1.5rem;
    align-content: center;
}
.company-facts > div:nth-child(odd) { border-right: 1px solid rgba(255,255,255,.09); }
.company-facts > div:nth-child(-n+2) { border-bottom: 1px solid rgba(255,255,255,.09); }
.company-facts span {
    color: #62dcd1;
    font: 700 .58rem var(--font-mono);
    letter-spacing: .12em;
}
.company-facts strong {
    color: #ffffff !important;
    font-size: .98rem;
    line-height: 1.45;
}
.about-mission .split-section,
.company-intro-section + .about-mission .split-section {
    align-items: stretch;
}
.about-mission .about-card {
    padding: 2rem;
    border-top: 3px solid #159b91 !important;
}
.about-mission .about-card:nth-child(2) { border-top-color: #5d72cf !important; }
.about-mission .about-card h2 {
    margin: .7rem 0 0;
    font-size: clamp(1.45rem, 2.4vw, 2rem);
    line-height: 1.35;
}
.moa-objectives-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}
.company-focus-grid {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    align-items: stretch;
    gap: 1.25rem;
}
.company-focus-grid .moa-objective-card {
    height: 100%;
}
.company-focus-grid .moa-objective-card:last-child {
    grid-column: auto !important;
    width: auto !important;
    max-width: none !important;
    margin: 0 !important;
}
.moa-objective-card { min-height: 245px; }
.team-section { background: #f3f7f9; }
.company-team-heading { max-width: 760px; margin: 0 auto 3rem; }
.team-member { background: #ffffff; border: 1px solid #dce6e9; border-radius: 14px; }
@media (max-width: 900px) {
    .company-intro-grid { grid-template-columns: 1fr; }
    .moa-objectives-grid:not(.company-focus-grid) { grid-template-columns: 1fr !important; }
}
@media (max-width: 720px) {
    .company-focus-grid { grid-template-columns: 1fr !important; }
}

.founder-profile-link {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1.5rem;
    margin-top: 1.5rem;
    padding: 1.25rem 1.35rem;
    background: #f0f8f7;
    border: 1px solid #cee6e3;
    border-left: 4px solid #159b91;
    border-radius: 10px;
}
.founder-profile-link .eyebrow { font-size: .58rem; }
.founder-profile-link p {
    max-width: 590px;
    margin: .3rem 0 0;
    font-size: .86rem;
    line-height: 1.6;
}
.founder-profile-link .btn {
    flex-shrink: 0;
    padding: .7rem 1rem;
    font-size: .82rem;
}
@media (max-width: 760px) {
    .founder-profile-link { align-items: stretch; flex-direction: column; }
    .founder-profile-link .btn { width: 100%; }
}
@media (max-width: 600px) {
    .academy-band .module-card { min-height: auto; }
    .company-facts { grid-template-columns: 1fr; }
    .company-facts > div { min-height: 110px; border-right: 0 !important; border-bottom: 1px solid rgba(255,255,255,.09); }
    .company-facts > div:last-child { border-bottom: 0; }
}
