:root {
    --r12-blue: #1657c8;
    --r12-ink: #0b1b2f;
    --r12-muted: #53667d;
    --r12-paper: #ffffff;
    --r12-soft: #f2f6fa;
    --r12-line: #d8e1eb;
}

body.round12 {
    color: var(--r12-ink);
    background: var(--r12-paper);
}

body.round12 .r8-shell,
body.round12 .nav-shell {
    width: min(90vw, 1480px);
    max-width: 1480px;
    margin-inline: auto;
    padding-inline: 0;
}

body.round12:not(.r10-home-page) .site-header {
    color: var(--r12-ink);
    border-bottom-color: rgba(11, 27, 47, .09);
    background: rgba(255, 255, 255, .98);
    box-shadow: none;
    backdrop-filter: blur(16px);
}

body.round12:not(.r10-home-page) .brand-name { color: var(--r9-brand); }

/* Homepage media remains the protected R10 player; only the copy geometry changes. */
body.round12.r10-home-page .r10-home-hero__inner {
    width: min(90vw, 1480px);
    max-width: 1480px;
    margin-inline: auto;
    min-height: 100svh;
    display: flex;
    align-items: center;
    padding-block: calc(var(--header-height) + 52px) 96px;
}

body.round12.r10-home-page .r10-home-hero__copy {
    width: min(680px, 48vw);
    max-width: 680px;
}

body.round12.r10-home-page .r10-home-hero h1 {
    max-width: none;
    margin: 0;
    font-size: clamp(80px, 6vw, 104px);
    font-weight: 660;
    letter-spacing: -.045em;
    line-height: 1.08;
    white-space: nowrap;
}

body.round12.r10-home-page .r10-home-hero__copy > p {
    max-width: 30em;
    margin-top: 24px;
    font-size: clamp(18px, 1.25vw, 21px);
    line-height: 1.62;
}

body.round12.r10-home-page .r10-actions { margin-top: 30px; }

body.round12.r10-home-page .r10-home-hero__shade {
    background: linear-gradient(90deg, rgba(3, 14, 31, .74) 0%, rgba(3, 14, 31, .48) 38%, rgba(3, 14, 31, .16) 72%), rgba(0, 0, 0, .12);
}

body.round12.r10-home-page .r10-home-technology,
body.round12.r10-home-page .r10-home-about {
    color: var(--r12-ink);
    background: var(--r12-soft);
}

body.round12.r10-home-page .r10-home-technology .r10-block-intro > p { color: var(--r12-muted); }
body.round12.r10-home-page .r10-home-technology .r10-index { color: var(--r12-blue); }
body.round12.r10-home-page .r10-tech-route { color: var(--r12-muted); }
body.round12.r10-home-page .r10-tech-route i { background: #9bb3cf; }
body.round12.r10-home-page .r10-home-tech-grid__media { order: 2; }
body.round12.r10-home-page .r10-home-tech-grid__copy { order: 1; }
body.round12.r10-home-page .r10-home-about { background: #fff; }

/* Compact, editorial page heroes. Media heroes use one intact image on the right. */
body.round12 .r10-page-hero {
    min-height: clamp(400px, 48svh, 560px);
    color: var(--r12-ink);
    background: linear-gradient(135deg, #fff 0%, #f3f7fb 100%);
}

body.round12 .r10-page-hero--text { min-height: clamp(330px, 40svh, 470px); }

body.round12 .r10-page-hero__inner {
    z-index: 2;
    padding-block: 72px;
}

body.round12 .r10-page-hero__inner > * { max-width: 680px; }

body.round12 .r10-page-hero h1 {
    max-width: 12em;
    margin-top: 14px;
    color: var(--r12-ink);
    font-size: clamp(54px, 5.4vw, 82px);
    letter-spacing: -.045em;
    line-height: 1.02;
}

body.round12 .r10-page-hero__lead {
    max-width: 36em;
    margin-top: 24px;
    color: var(--r12-muted);
    font-size: clamp(17px, 1.2vw, 20px);
    line-height: 1.72;
}

body.round12 .r10-page-hero__media {
    right: 0;
    left: 51%;
    width: 49%;
    padding: 34px 0 34px 34px;
}

body.round12 .r10-page-hero__media img {
    border-radius: 18px 0 0 18px;
    object-position: center;
}

body.round12 .r10-page-hero__shade {
    right: 0;
    left: 46%;
    z-index: 1;
    background: linear-gradient(90deg, #f7f9fc 0%, rgba(247, 249, 252, .2) 24%, transparent 48%);
    pointer-events: none;
}

body.round12 .r10-page-hero:not(.r10-page-hero--text) .r10-page-hero__inner > * { max-width: 44%; }
body.round12 .r10-page-hero--light .r10-kicker { color: var(--r12-blue); }

body.round12 .r10-section { padding-block: clamp(72px, 7vw, 112px); }
body.round12 .r10-block-intro h2 { font-size: clamp(36px, 3.7vw, 58px); }
body.round12 .r10-block-intro > p { color: var(--r12-muted); }
body.round12 .r10-caption { color: var(--r12-muted); }

/* Every non-home page remains light; old dark R10 section colors are neutralized. */
body.round12 .r10-rail-existing,
body.round12 .r10-auto-change,
body.round12 .r10-boundary-section,
body.round12 .r10-depot-replanning,
body.round12 .r10-line-review,
body.round12 .r10-tech-world,
body.round12 .r10-tech-rules,
body.round12 .r10-fab-event,
body.round12 .r10-joint-result,
body.round12 .r10-about-research,
body.round12 .r12-boundary-section {
    color: var(--r12-ink);
    background: var(--r12-soft);
}

body.round12 .r10-rail-existing .r10-block-intro > p,
body.round12 .r10-auto-change .r10-block-intro > p,
body.round12 .r10-boundary-section .r10-block-intro > p,
body.round12 .r10-depot-replanning .r10-block-intro > p,
body.round12 .r10-line-review .r10-block-intro > p,
body.round12 .r10-tech-world .r10-block-intro > p,
body.round12 .r10-tech-rules .r10-block-intro > p,
body.round12 .r10-fab-event .r10-block-intro > p,
body.round12 .r10-joint-result .r10-block-intro > p,
body.round12 .r10-about-research .r10-block-intro > p,
body.round12 .r12-boundary-section .r10-block-intro > p { color: var(--r12-muted); }

body.round12 .r10-rail-existing .r10-index,
body.round12 .r10-auto-change .r10-index,
body.round12 .r10-boundary-section .r10-index,
body.round12 .r10-depot-replanning .r10-index,
body.round12 .r10-line-review .r10-index,
body.round12 .r10-tech-world .r10-index,
body.round12 .r10-tech-rules .r10-index,
body.round12 .r10-fab-event .r10-index,
body.round12 .r10-joint-result .r10-index,
body.round12 .r10-about-research .r10-index,
body.round12 .r12-boundary-section .r10-index { color: var(--r12-blue); }

.r12-rail-system { padding: 0 0 clamp(54px, 6vw, 90px); background: #fff; }
.r12-wide-media { height: auto; aspect-ratio: 16 / 8.78; box-shadow: 0 22px 70px rgba(11, 27, 47, .1); }
.r12-narrow-section { max-width: 1060px; margin-inline: auto; }
.r12-feature-grid { display: grid; grid-template-columns: minmax(340px, .78fr) minmax(560px, 1.22fr); gap: clamp(42px, 6vw, 90px); align-items: center; }
.r12-feature-media { height: auto; aspect-ratio: 3 / 2; }
.r12-example { max-width: 900px; margin: 26px 0 0; padding-left: 18px; border-left: 2px solid #93b6e8; color: var(--r12-muted); line-height: 1.75; }
.r12-compact-list { margin-top: 40px; }
.r12-role-pair { grid-template-columns: 1fr 1fr; margin-top: 32px; }
.r12-role-pair > article { min-height: 170px; }

.r12-state-pair { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; margin-top: 44px; }
.r12-state-pair > article { padding: 10px 10px 24px; border: 1px solid var(--r12-line); border-radius: 16px; background: #fff; }
.r12-state-pair > article h3 { margin: 20px 14px 0; font-size: 21px; }
.r12-state-media { height: auto; aspect-ratio: 16 / 9; }
.r12-state-pair--context > .r10-media { height: auto; aspect-ratio: 16 / 9; }
.r12-sequence-media { height: auto; aspect-ratio: 3 / 1; margin-top: 38px; }

body.round12 .r10-depot-compare__media,
body.round12 .r10-line-review__media,
body.round12 .r10-fab-event__media { height: auto; aspect-ratio: 3 / 1; }

body.round12 .r10-low-system__media { height: auto; aspect-ratio: 3 / 1; }
body.round12 .r10-low-continuity__line { margin-bottom: 36px; }
body.round12 .r10-low-gallery { margin-top: 18px; }

.r12-candidate-section { background: #fff; }
.r12-candidate-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; margin-top: 46px; }
.r12-candidate-grid > article { padding: 10px 10px 28px; border: 1px solid var(--r12-line); border-radius: 16px; background: #fff; }
.r12-candidate-media { height: auto; aspect-ratio: 16 / 9; }
.r12-candidate-grid > article > span { display: block; margin: 22px 18px 0; color: var(--r12-blue); font-size: 12px; font-weight: 750; letter-spacing: .08em; }
.r12-candidate-grid h3 { margin: 12px 18px 0; font-size: clamp(22px, 1.7vw, 28px); }
.r12-candidate-grid p { margin: 12px 18px 0; color: var(--r12-muted); line-height: 1.7; }
.r12-comparison { display: grid; grid-template-columns: auto 1fr; gap: 30px; align-items: center; margin-top: 18px; padding: 24px 28px; border-radius: 12px; background: var(--r12-soft); }
.r12-comparison p { color: var(--r12-muted); }

body.round12 .r10-tech-nav { background: rgba(255, 255, 255, .97); }
body.round12 .r10-tech-agents { background: var(--r12-soft); }

body.round12 .r10-products-direction,
body.round12 .r10-item-grid > article,
body.round12 .r10-item-grid > a { border-color: var(--r12-line); box-shadow: none; }

body.round12 .r12-item-action {
    display: inline-block;
    margin-top: 18px;
    padding-right: 28px;
    color: var(--r12-blue);
    font-size: 14px;
    font-weight: 720;
}

.r12-about-intro { display: grid; grid-template-columns: minmax(360px, .8fr) minmax(420px, 1.2fr); gap: 90px; align-items: center; }
.r12-about-directions { margin-top: 58px; }
.r12-about-directions > a { min-height: 0; padding: 28px 0; border-width: 1px 0 0; border-radius: 0; background: transparent; }
.r12-about-directions > a:last-child { border-bottom-width: 1px; }
.r12-about-directions h3 { margin-top: 14px; }
.r12-about-reading { max-width: 900px; margin-inline: auto; }
body.round12 .r10-about-research .r10-text-link { color: var(--r12-blue); }

body.round12 .r10-contact-direct {
    padding-block: 42px;
    color: var(--r12-ink);
    border-block: 1px solid var(--r12-line);
    background: #fff;
}

body.round12 .r10-contact-direct a { color: var(--r12-blue); }
body.round12 .r10-contact-direct .r10-block-intro > p { color: var(--r12-ink); }
body.round12 .r10-contact-direct__actions button,
body.round12 .r10-contact-direct__actions a { color: var(--r12-blue); border-color: #aabdd3; }
body.round12 .r10-contact-topic-grid { gap: 10px; }
body.round12 .r10-contact-topic-grid button { min-height: 168px; padding: 22px; }
body.round12 .r10-contact-topic-grid strong { margin-top: 18px; }

body.round12 .r10-contact-band {
    color: var(--r12-ink);
    border: 1px solid var(--r12-line);
    background: var(--r12-soft);
}
body.round12 .r10-contact-band p:not(.r10-kicker) { color: var(--r12-muted); }
body.round12 .r10-contact-band .r10-kicker { color: var(--r12-blue); }

@media (max-width: 1080px) {
    body.round12.r10-home-page .r10-home-hero h1 { font-size: clamp(72px, 8.5vw, 90px); }
    .r12-feature-grid,
    .r12-about-intro { grid-template-columns: 1fr; gap: 40px; }
    .r12-candidate-grid { grid-template-columns: 1fr; }
    .r12-candidate-grid > article { display: grid; grid-template-columns: minmax(300px, .9fr) minmax(280px, 1.1fr); column-gap: 26px; }
    .r12-candidate-grid .r10-media { grid-row: 1 / 5; }
}

@media (max-width: 767px) {
    body.round12 .r10-page-hero,
    body.round12 .r10-page-hero--text { min-height: 420px; align-items: center; }
    body.round12 .r10-page-hero__media,
    body.round12 .r10-page-hero__shade { display: none; }
    body.round12 .r10-page-hero__inner { padding-block: 58px; }
    body.round12 .r10-page-hero:not(.r10-page-hero--text) .r10-page-hero__inner > *,
    body.round12 .r10-page-hero__inner > * { max-width: none; }
    body.round12 .r10-page-hero h1 { font-size: clamp(43px, 12vw, 54px); line-height: 1.04; }
    body.round12 .r10-page-hero__lead { margin-top: 20px; }

    body.round12.r10-home-page .r10-home-hero__inner {
        width: min(90vw, 1480px);
        min-height: 100svh;
        align-self: stretch;
        align-items: center;
        padding: 92px 0 72px;
    }
    body.round12.r10-home-page .r10-home-hero__copy { width: 100%; max-width: 350px; }
    body.round12.r10-home-page .r10-home-hero h1 {
        font-size: clamp(42px, 11.5vw, 48px);
        letter-spacing: -.04em;
        line-height: 1.12;
        white-space: nowrap;
    }
    body.round12.r10-home-page .r10-home-hero__copy > p { max-width: 22em; margin-top: 20px; font-size: 16px; line-height: 1.58; }
    body.round12.r10-home-page .r10-home-hero__shade { background: linear-gradient(0deg, rgba(2, 12, 28, .82), rgba(2, 12, 28, .38) 66%, rgba(2, 12, 28, .15)); }

    .r12-state-pair,
    .r12-role-pair,
    .r12-candidate-grid { grid-template-columns: 1fr; }
    .r12-candidate-grid > article { display: block; }
    .r12-candidate-grid .r10-media { grid-row: auto; }
    .r12-sequence-media,
    body.round12 .r10-depot-compare__media,
    body.round12 .r10-line-review__media,
    body.round12 .r10-fab-event__media,
    body.round12 .r10-low-system__media { aspect-ratio: 3 / 1; }
    .r12-comparison { grid-template-columns: 1fr; gap: 8px; }
    .r12-about-directions { grid-template-columns: 1fr; }
    body.round12 .r10-contact-topic-grid button { min-height: 142px; }
}

@media (max-width: 370px) {
    body.round12.r10-home-page .r10-home-hero h1 { font-size: 42px; }
}
