/* Mobile research reading edition. Desktop, shared chrome and controls stay owned
   by their existing stylesheets. Append after research-document-layout.css. */
@media (max-width: 760px) {
  body.research-page #rd-main {
    --rd-mobile-inset: clamp(20px, 5.6vw, 32px);
    --rd-mobile-anchor-offset: 64px;
    --rd-mobile-copy: 14px;
    width: 100%;
    max-width: 100%;
  }
  body.research-page #rd-main :is(.rd-hero, .rd-section) {
    box-sizing: border-box;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    padding-inline: var(--rd-mobile-inset);
  }
  body.research-page #rd-main .rd-hero {
    min-height: 100svh;
    padding-top: 188px;
    padding-bottom: 64px;
    justify-content: center;
  }
  body.research-page #rd-main .rd-hero-title {
    font-size: 32px;
    font-weight: 600;
    line-height: 1.17;
    letter-spacing: -.055em;
    overflow-wrap: normal;
    word-break: keep-all;
  }
  body.research-page #rd-main .rd-hero-accent { font-weight: 600; }
  body.research-page #rd-main .rd-hero-title:lang(en) {
    font-size: 30px;
    line-height: 1.1;
  }
  body.research-page #rd-main .rd-hero-mission {
    margin-top: 26px;
    font-size: 19px;
    line-height: 1.5;
    letter-spacing: -.035em;
  }
  body.research-page #rd-main .rd-hero-mission:lang(en) { font-size: 19px !important; }
  body.research-page #rd-main .rd-hero-statement {
    font-size: 14px;
    line-height: 1.85;
    max-width: 38em;
    margin-top: 23px !important;
  }
  body.research-page #rd-main .rd-hero-meta { gap: 12px; flex-wrap: wrap; font-size: 8px; }
  body.research-page #rd-main .rd-hero-meta span + span { padding-left: 12px; }
  body.research-page #rd-main .rd-section {
    min-height: 0;
    /* Share the fixed-toolbar clearance with mobile chapter navigation.
       112px of natural padding +64px anchor offset preserves heading position. */
    padding-top: 112px;
    padding-bottom: 48px;
    scroll-margin-top: var(--rd-mobile-anchor-offset) !important;
  }
  body.research-page #rd-main #rd-overview { justify-content: flex-start; }
  body.research-page #rd-main .rd-section-head { margin-bottom: 30px; }
  body.research-page #rd-main .rd-section-head > .rd-eyebrow {
    margin-bottom: 15px !important;
    font-size: 9px;
    letter-spacing: .11em;
    line-height: 1.8;
  }
  body.research-page #rd-main .rd-section-head h2 {
    font-size: clamp(26px, 7vw, 28px);
    font-weight: 600;
    line-height: 1.3;
    letter-spacing: -.045em;
    word-break: keep-all;
    overflow-wrap: normal;
    text-wrap: balance;
  }
  body.research-page #rd-main .rd-section-head > :is(.rd-lead, p:not(.rd-eyebrow)) {
    margin-top: 22px !important;
    font-size: var(--rd-mobile-copy);
    line-height: 1.9;
    color: #b9c4bc;
    text-wrap: pretty;
    overflow-wrap: anywhere;
    word-break: keep-all;
  }
  body.research-page #rd-main .rd-section-head h2:lang(en) { word-break: normal; }
  body.research-page #rd-main :is(.rd-overview-map, .rd-grid, .rd-capability-grid, .rd-reliability-grid, .rd-assessment-grid, .rd-autonomy-grid) {
    grid-template-columns: minmax(0, 1fr);
    gap: 14px;
  }
  body.research-page #rd-main #rd-overview .rd-overview-pillar {
    min-height: 0;
    padding: 22px 0;
    text-align: left;
    border: 0;
    border-top: 1px solid #a5b49d46;
    border-radius: 0;
    background: transparent;
  }
  body.research-page #rd-main #rd-overview .rd-overview-pillar h3 { font-size: 17px; line-height: 1.5; }
  body.research-page #rd-main #rd-overview .rd-overview-copy { font-size: 14px; line-height: 1.85; margin: 12px 0 18px; }
  body.research-page #rd-main #rd-overview .rd-overview-topics { justify-content: flex-start; gap: 5px 14px; }
  body.research-page #rd-main #rd-overview .rd-overview-linkage { align-items: flex-start; text-align: left; padding: 20px 0; gap: 10px; }
  body.research-page #rd-main #rd-overview .rd-overview-linkage p { font-size: 15px; line-height: 1.8; }

  /* Engine chapters: the role and complete copy lead; the live UI has its own
     bounded surface in normal flow rather than an absolute decorative offset. */
  body.research-page #rd-main .rd-engine { gap: 0; overflow: clip; }
  body.research-page #rd-main .rd-engine .rd-engine-copy { min-width: 0; width: 100%; min-height: 0; }
  body.research-page #rd-main .rd-engine-copy .rd-section-head { margin-bottom: 18px; }
  body.research-page #rd-main .rd-engine-copy .rd-section-head h2 { font-size: clamp(28px, 8vw, 32px); line-height: 1.05; }
  body.research-page #rd-main .rd-engine-copy > h3 { font-size: 17px !important; line-height: 1.55; letter-spacing: -.03em; margin-bottom: 19px; }
  body.research-page #rd-main .rd-engine-copy > .rd-lead { font-size: 14px; line-height: 1.9; }
  body.research-page #rd-main .rd-feature-list { grid-template-columns: minmax(0, 1fr); gap: 0; margin-top: 25px; }
  body.research-page #rd-main .rd-feature-list li { padding: 14px 0; gap: 12px; align-items: flex-start; }
  body.research-page #rd-main .rd-feature-list li span { font-size: 13px; line-height: 1.8; }
  body.research-page #rd-main .rd-feature-list .rd-icon { width: 20px; height: 20px; flex: 0 0 auto; margin-top: 2px; }
  body.research-page #rd-main .rd-engine-io { grid-template-columns: minmax(0, 1fr); gap: 18px; padding-top: 20px; margin-top: 18px; }
  body.research-page #rd-main .rd-engine-io dt { font-size: 10px; line-height: 1.6; }
  body.research-page #rd-main .rd-engine-io dd { font-size: 13px; line-height: 1.85; }
  body.research-page #rd-main .rd-engine-copy :is(.rd-engine-note, .rd-engine-flow) { font-size: 13px; line-height: 1.85; }
  body.research-page #rd-main :is(.rd-engine, #rd-autonomy) > .rd-engine-visual {
    position: relative;
    inset: auto !important;
    width: calc(100% + 2 * var(--rd-mobile-inset));
    height: clamp(270px, 80vw, 370px);
    max-height: 370px;
    margin: 30px calc(-1 * var(--rd-mobile-inset)) 0;
    flex: none;
  }
  body.research-page #rd-main .rd-magi-delta { margin-top: 28px; padding: 24px 0 0; text-align: left; }
  body.research-page #rd-main .rd-magi-delta > h3 { font-size: 17px !important; text-align: left; }
  body.research-page #rd-main .rd-magi-delta > div { gap: 23px; margin-top: 24px; }
  body.research-page #rd-main .rd-magi-delta :is(article, h4, article p) { text-align: left; }
  body.research-page #rd-main .rd-magi-delta h4 { font-size: 16px; }
  body.research-page #rd-main .rd-magi-delta article p { font-size: 13px; line-height: 1.85; }

  /* Three engine briefs become a concise comparison stack. */
  body.research-page #rd-main .rd-explorer { margin-top: 32px; border: 0; border-top: 1px solid #d5d9d82e; border-radius: 0; background: transparent; }
  body.research-page #rd-main .rd-explorer-title { padding: 24px 0; gap: 10px; }
  body.research-page #rd-main .rd-explorer-title > h3 { font-size: 17px; line-height: 1.5; }
  body.research-page #rd-main .rd-engine-briefs { padding: 0; gap: 12px; }
  body.research-page #rd-main .rd-engine-brief { padding: 23px 0; border: 0; border-top: 1px solid #b2c0b52e; border-radius: 0; background: transparent; text-align: left; }
  body.research-page #rd-main .rd-engine-brief-head { justify-content: flex-start; gap: 11px; }
  body.research-page #rd-main .rd-engine-brief h4 { font-size: 20px; }
  body.research-page #rd-main .rd-engine-brief h5 { font-size: 16px; line-height: 1.6; margin-top: 16px; }
  body.research-page #rd-main :is(.rd-engine-brief-copy, .rd-engine-brief dd) { font-size: 13px; line-height: 1.85; text-align: left; }
  body.research-page #rd-main .rd-engine-brief dt { text-align: left; font-size: 10px; }
  body.research-page #rd-main .rd-engine-brief dl > div { padding-top: 13px; margin-top: 14px; }
  body.research-page #rd-main :is(.rd-card, .rd-assessment-grid > article) { padding: 23px 0; text-align: left; border: 0; border-top: 1px solid #b2c0b52e; border-radius: 0; background: transparent; }
  body.research-page #rd-main :is(.rd-card, .rd-assessment-grid > article) h3 { font-size: 17px; line-height: 1.5; }
  body.research-page #rd-main :is(.rd-card, .rd-assessment-grid > article) p { font-size: 14px; line-height: 1.85; text-align: left; }
  body.research-page #rd-main #rd-autonomy > .rd-autonomy-grid { margin-top: 24px; }

  /* Mobile tables read as labelled records. Left alignment makes longer KR/EN
     entries easier to follow without expanding the viewport. */
  body.research-page #rd-main :is(.rd-component-matrix, .rd-evaluation-table, .rd-evidence-table) { margin-top: 28px; }
  body.research-page #rd-main :is(.rd-component-matrix, .rd-evaluation-table, .rd-evidence-table) :is(caption, th, td) { text-align: left; word-break: keep-all; overflow-wrap: anywhere; }
  body.research-page #rd-main :is(.rd-component-matrix, .rd-evaluation-table, .rd-evidence-table) tbody tr { padding: 20px 0; }
  body.research-page #rd-main :is(.rd-component-matrix, .rd-evaluation-table, .rd-evidence-table) th[scope=row] { font-size: 17px; line-height: 1.6; padding: 0 0 11px; }
  body.research-page #rd-main :is(.rd-component-matrix, .rd-evaluation-table, .rd-evidence-table) td { font-size: 13px; line-height: 1.85; padding: 9px 0; }
  body.research-page #rd-main :is(.rd-component-matrix, .rd-evaluation-table, .rd-evidence-table) td::before { text-align: left; margin: 0 0 4px; font-size: 10px; color: #a7b99e; }
  body.research-page #rd-main :is(.rd-architecture-boundary, .rd-architecture-feedback) { text-align: left; font-size: 13px; line-height: 1.85; }

  /* Complete technical diagrams keep a legible 680px canvas. A compact, visible
     pan surface avoids shrinking labels to illegible miniature text. */
  body.research-page #rd-main :is(.rd-functional-figure, .rd-evidence-view) { margin: 36px auto 0; padding-top: 24px; }
  body.research-page #rd-main .rd-engine > .rd-functional-figure { margin-top: 30px; padding-inline: 0; background: none; }
  body.research-page #rd-main :is(.rd-blueprint-heading, .rd-evidence-heading) { text-align: left; align-items: flex-start; gap: 8px; }
  body.research-page #rd-main :is(.rd-blueprint-heading, .rd-evidence-heading) h3 { text-align: left; font-size: 17px; line-height: 1.5; }
  body.research-page #rd-main :is(.rd-fn-status, .rd-evidence-status) { text-align: left; font-size: 10px; line-height: 1.8; }
  body.research-page #rd-main .rd-fn-viewport { border: 0; border-block: 1px solid #91ab963d; border-radius: 0; background: transparent; padding: 20px 0 18px; }
  body.research-page #rd-main .rd-fn-viewport .rd-fn-svg { display: block; width: 680px; min-width: 680px; max-width: none; height: auto; max-height: none; margin: 0; }
  body.research-page #rd-main .rd-fn-svg .rd-fn-edge text { font-size: 16px; }
  body.research-page #rd-main .rd-fn-pan-hint { font-size: 10px; padding: 6px 0; color: #b5c3b5; }
  body.research-page #rd-main :is(.rd-fn-legend, .rd-fn-shape-legend) { justify-content: flex-start; font-size: 10px; gap: 9px 16px; }
  body.research-page #rd-main :is(.rd-functional-figure, .rd-evidence-view) > figcaption { text-align: left; font-size: 13px; line-height: 1.85; margin-top: 18px; }
  body.research-page #rd-main :is(.rd-fn-type-note, .rd-fn-lane-note) { text-align: left; font-size: 13px; line-height: 1.85; }
  body.research-page #rd-main :is(.rd-fn-class-head, .rd-fn-class-row) { text-align: left; }
  body.research-page #rd-main .rd-fn-class-row { grid-template-columns: 66px minmax(0, 1fr); font-size: 13px; gap: 7px 14px; padding: 19px 0; }
  body.research-page #rd-main .rd-fn-class-row strong { font-size: 13px; }
  body.research-page #rd-main .rd-fn-class-row em { font-size: 11px; }
  body.research-page #rd-main .rd-fn-lane { text-align: left; padding: 0 0 8px; border: 0; border-top: 1px solid #a5b59a66; border-radius: 0; background: transparent; }
  body.research-page #rd-main .rd-fn-lane h4 { text-align: left; font-size: 12px; }
  body.research-page #rd-main .rd-fn-lane li { display: grid; grid-template-columns: 20px minmax(0, 1fr); gap: 10px; text-align: left; font-size: 13px; line-height: 1.8; }
  body.research-page #rd-main .rd-fn-lane li::before { margin-bottom: 0; padding-top: 3px; }

  /* Vision, workflow and roadmap carry all explanatory text in full-width
     reading rows, with the orbit retained as the structural overview. */
  body.research-page #rd-main .rd-orbit-detail-list { grid-template-columns: minmax(0, 1fr); gap: 18px; }
  body.research-page #rd-main .rd-orbit-detail-list > li { display: grid; grid-template-columns: 24px minmax(0, 1fr); gap: 4px 12px; padding-top: 17px; }
  body.research-page #rd-main .rd-orbit-detail-list .rd-orbit-number { grid-column: 1; grid-row: 1 / 3; padding-top: 3px; margin: 0; }
  body.research-page #rd-main .rd-orbit-detail-list strong { grid-column: 2; font-size: 15px; }
  body.research-page #rd-main .rd-orbit-detail-list p { grid-column: 2; font-size: 13px; line-height: 1.85; }
  body.research-page #rd-main .rd-vision-outcomes { padding: 23px 0; border: 0; border-top: 1px solid #aab59555; border-radius: 0; background: transparent; text-align: left; }
  body.research-page #rd-main .rd-vision-outcomes > h4 { font-size: 17px; }
  body.research-page #rd-main .rd-vision-outcomes > ol { grid-template-columns: minmax(0, 1fr); gap: 11px; }
  body.research-page #rd-main .rd-vision-outcomes > ol > li { padding: 20px 0; border: 0; border-top: 1px solid #a4b79245; border-radius: 0; background: transparent; text-align: left; }
  body.research-page #rd-main .rd-vision-outcomes :is(.rd-outcome-label, strong, p) { text-align: left; }
  body.research-page #rd-main .rd-vision-outcomes li > strong { font-size: 16px; }
  body.research-page #rd-main .rd-vision-outcomes li > p { font-size: 13px; line-height: 1.85; }
  body.research-page #rd-main .rd-wio-orbit { margin-bottom: 30px; }
  body.research-page #rd-main .rd-wio-details { gap: 0; }
  body.research-page #rd-main .rd-wio-details > li { padding: 21px 0; }
  body.research-page #rd-main .rd-wio-details .rd-wio-copy h3 { font-size: 16px; }
  body.research-page #rd-main .rd-wio-details .rd-wio-copy p { font-size: 13px; line-height: 1.85; }
  body.research-page #rd-main .rd-roadmap > :is(li, article) { grid-template-columns: 1fr; gap: 11px; padding: 26px 0; }
  body.research-page #rd-main .rd-roadmap :is(h3, p) { grid-column: 1; max-width: none; }
  body.research-page #rd-main .rd-roadmap h3 { font-size: 17px !important; line-height: 1.5; }
  body.research-page #rd-main .rd-roadmap p { font-size: 14px; line-height: 1.85; }
  body.research-page #rd-main .rd-evidence-cycle { grid-template-columns: minmax(0, 1fr); gap: 23px; }
  body.research-page #rd-main .rd-evidence-cycle strong { font-size: 16px; }
  body.research-page #rd-main .rd-evidence-cycle p { font-size: 13px; line-height: 1.85; }
  body.research-page #rd-main .rd-evidence-bridge ol { grid-template-columns: minmax(0, 1fr); gap: 22px; }
  body.research-page #rd-main .rd-evidence-bridge strong { font-size: 15px; }
  body.research-page #rd-main .rd-evidence-bridge li p { font-size: 13px; line-height: 1.85; }
  body.research-page #rd-main .rd-evolution-monument { margin-top: 40px; }
  body.research-page #rd-main .rd-evolution-monument .rd-evo-node { padding: 22px 0; border: 0; border-top: 1px solid #9caf8f4d; border-radius: 0; background: transparent; }
  body.research-page #rd-main .rd-evolution-monument .rd-evo-node h4 { font-size: 18px; }
  body.research-page #rd-main .rd-evolution-monument .rd-evo-node p { font-size: 13px; line-height: 1.85; }
  body.research-page #rd-main .rd-closing > p { font-size: clamp(26px, 7vw, 28px) !important; line-height: 1.5; }
}
@media (max-width: 360px) {
  body.research-page #rd-main { --rd-mobile-inset: 20px; }
  body.research-page #rd-main .rd-hero-title { font-size: 30px; }
  body.research-page #rd-main .rd-hero-title:lang(en) { font-size: 30px; }
  body.research-page #rd-main .rd-hero-mission { font-size: 18px; }
  body.research-page #rd-main .rd-section-head h2 { font-size: 28px; }
}

/* Revision6: editorial spacing below the locked hero and shared controls.
   Explanatory copy, figures and labels share one reading axis; no new shells. */
@media (max-width: 760px) {
  body.research-page #rd-main .rd-section-head { margin-bottom: 34px; }
  body.research-page #rd-main .rd-section-head > .rd-lead { max-width: 38em; }
  body.research-page #rd-main .rd-section > .rd-engine-note { margin-bottom: 22px; }
  body.research-page #rd-main #rd-overview .rd-overview-map { gap: 0; }
  body.research-page #rd-main #rd-overview .rd-overview-pillar { padding-block: 25px; }
  body.research-page #rd-main #rd-overview .rd-overview-kicker { margin-bottom: 9px; }
  body.research-page #rd-main #rd-overview .rd-overview-copy { margin: 13px 0 18px; }
  body.research-page #rd-main #rd-overview .rd-overview-linkage { margin-top: 12px; padding-block: 24px; }
  body.research-page #rd-main #rd-overview .rd-source-scope { text-align: left; }
  body.research-page #rd-main .rd-engine-copy > .rd-lead { max-width: 38em; }
  body.research-page #rd-main .rd-feature-list { margin-top: 28px; }
  body.research-page #rd-main .rd-feature-list li { padding-block: 15px; }
  body.research-page #rd-main .rd-engine-io { gap: 21px; margin-top: 22px; padding-top: 22px; }
  body.research-page #rd-main .rd-engine-io dt { margin-bottom: 6px; }
  body.research-page #rd-main .rd-engine-io dd { margin-top: 0; }
  body.research-page #rd-main .rd-engine-copy > .rd-engine-flow { margin-top: 21px; }
  body.research-page #rd-main .rd-magi-delta > div { gap: 25px; }
  body.research-page #rd-main .rd-magi-delta h4 { margin-bottom: 8px; }
  body.research-page #rd-main :is(.rd-autonomy-grid, .rd-capability-grid, .rd-reliability-grid, .rd-assessment-grid) { gap: 0; }
  body.research-page #rd-main :is(.rd-card, .rd-assessment-grid > article) { padding-block: 26px; }
  body.research-page #rd-main :is(.rd-card, .rd-assessment-grid > article) p { margin-top: 12px !important; }
  body.research-page #rd-main .rd-card-index { display: block; margin-bottom: 10px; }
  body.research-page #rd-main .rd-engine-briefs { gap: 0; }
  body.research-page #rd-main .rd-engine-brief { padding-block: 27px; }
  body.research-page #rd-main .rd-engine-brief-copy { margin-top: 12px; margin-bottom: 20px; }
  body.research-page #rd-main .rd-engine-brief dl { margin-top: 0; }
  body.research-page #rd-main .rd-engine-brief dl > div { padding-top: 15px; margin-top: 15px; }
  body.research-page #rd-main .rd-engine-brief dd { margin-top: 7px; }
  body.research-page #rd-main :is(.rd-component-matrix, .rd-evaluation-table, .rd-evidence-table) caption { padding-bottom: 18px; }
  body.research-page #rd-main :is(.rd-component-matrix, .rd-evaluation-table, .rd-evidence-table) tbody tr { padding-block: 23px; }
  body.research-page #rd-main :is(.rd-component-matrix, .rd-evaluation-table, .rd-evidence-table) td { padding-block: 10px; }
  body.research-page #rd-main :is(.rd-blueprint-heading, .rd-evidence-heading) { gap: 9px; }
  body.research-page #rd-main .rd-blueprint-drawing { margin-top: 23px; }
  body.research-page #rd-main .rd-fn-viewport {
    /* Touch exploration uses the whole screen; captions retain the text inset. */
    width: calc(100% + 2 * var(--rd-mobile-inset));
    max-width: none;
    margin-inline: calc(-1 * var(--rd-mobile-inset));
    padding-block: 22px;
    overflow-x: auto;
    overflow-y: hidden;
    overscroll-behavior-x: contain;
    scroll-padding-inline: var(--rd-mobile-inset);
  }
  body.research-page #rd-main .rd-fn-pan-hint { text-align: left; padding: 8px 0 0; margin-top: 7px; }
  body.research-page #rd-main :is(.rd-fn-legend, .rd-fn-shape-legend) { gap: 10px 18px; margin-block: 18px 12px; }
  body.research-page #rd-main :is(.rd-functional-figure, .rd-evidence-view) > figcaption { max-width: 38em; margin-left: 0; margin-top: 20px; }
  body.research-page #rd-main .rd-fn-lanes { gap: 24px; }
  body.research-page #rd-main .rd-fn-lane li { padding-block: 13px; }
  body.research-page #rd-main .rd-wio-details > li { gap: 14px; padding-block: 23px; }
  body.research-page #rd-main .rd-wio-details .rd-wio-copy { padding-top: 1px; }
  body.research-page #rd-main .rd-roadmap > :is(li, article) { padding-block: 29px; gap: 12px; }
  body.research-page #rd-main .rd-roadmap .rd-phase { line-height: 1.6; }
  body.research-page #rd-main .rd-evidence-bridge { margin-top: 32px; padding-top: 24px; }
  body.research-page #rd-main .rd-research-fields { gap: 9px 17px; padding-top: 23px; }
  body.research-page #rd-main .rd-durability-line { justify-content: flex-start; gap: 10px 20px; text-align: left; }
  body.research-page #rd-main .rd-closing { padding-top: 54px; text-align: left; }
  body.research-page #rd-main .rd-closing > p { text-align: left; margin-left: 0 !important; }
  body.research-page #rd-main .rd-closing .rd-button {
    min-height: 44px;
    padding-block: 8px;
    margin-top: 18px;
    gap: 18px;
    font-size: 13px;
    font-weight: 450;
    line-height: 1.5;
    box-sizing: border-box;
  }
}

/* A normal-flow engine demonstration is content, rather than an atmospheric
   background. Remove the inherited desktop lens/wash around its actual UI. */
@media (max-width: 760px) {
  body.research-page #rd-main [data-engine-film].rd-engine-visual {
    z-index: 0;
    opacity: 1;
    box-shadow: none;
    border: 0;
    mask-image: none !important;
    -webkit-mask-image: none !important;
  }
  body.research-page #rd-main [data-engine-film].rd-engine-visual > :is(iframe, img) {
    opacity: 1;
    filter: none !important;
    transform: none;
    mask-image: linear-gradient(0deg, transparent, #000 3%, #000 97%, transparent);
    -webkit-mask-image: linear-gradient(0deg, transparent, #000 3%, #000 97%, transparent);
    mask-composite: add;
    -webkit-mask-composite: source-over;
  }
  body.research-page #rd-main [data-engine-film].rd-engine-visual::before,
  body.research-page #rd-main [data-engine-film].rd-engine-visual::after {
    background: none;
    box-shadow: none;
    filter: none;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    mask-image: none;
    -webkit-mask-image: none;
  }
}

/* Revision7: prose reads quietly; technical groups and complete figures carry
   their own alignment. Hero typography and shared brand controls are locked. */
@media (max-width: 760px) {
  body.research-page #rd-main { --rd-mobile-copy: 13.5px; }
  body.research-page #rd-main .rd-section-head > :is(.rd-lead, p:not(.rd-eyebrow)),
  body.research-page #rd-main .rd-engine-copy > .rd-lead,
  body.research-page #rd-main #rd-overview .rd-overview-copy,
  body.research-page #rd-main :is(.rd-card, .rd-assessment-grid > article) p,
  body.research-page #rd-main .rd-roadmap p {
    font-size: 13.5px;
    line-height: 1.85;
    word-break: keep-all;
    overflow-wrap: break-word;
    text-wrap: pretty;
  }
  body.research-page #rd-main .rd-section :is(.rd-engine-brief-copy, .rd-engine-brief dd, .rd-engine-io dd) {
    font-size: 13px;
    line-height: 1.85;
    overflow-wrap: break-word;
    word-break: keep-all;
  }
  body.research-page #rd-main .rd-engine-io {
    padding: 17px 16px;
    margin-top: 23px;
    border: 1px solid #a4b59d35;
    background: #a6bba008;
    gap: 15px;
  }
  body.research-page #rd-main .rd-engine-io > div + div {
    border-top: 1px solid #a4b59d25;
    padding-top: 15px;
  }
  body.research-page #rd-main .rd-engine-briefs { gap: 13px; }
  body.research-page #rd-main .rd-engine-brief {
    padding: 20px 17px;
    border: 1px solid #a4b59d30;
    background: #a6bba006;
  }
  body.research-page #rd-main #rd-overview .rd-overview-linkage {
    align-items: center;
    text-align: center;
    gap: 11px;
  }
  body.research-page #rd-main #rd-overview .rd-overview-linkage p { font-size: 13.5px; max-width: 31em; }
  body.research-page #rd-main .rd-functional-figure > .rd-blueprint-heading {
    align-items: center;
    text-align: center;
  }
  body.research-page #rd-main .rd-functional-figure > .rd-blueprint-heading :is(h3, .rd-fn-status) { text-align: center; }
  body.research-page #rd-main .rd-functional-figure > figcaption {
    margin-inline: auto;
    max-width: 33em;
    text-align: center;
    font-size: 13px;
  }
  body.research-page #rd-main .rd-functional-figure :is(.rd-fn-type-note, .rd-fn-lane-note, .rd-fn-pan-hint) { text-align: center; }
  body.research-page #rd-main .rd-functional-figure :is(.rd-fn-legend, .rd-fn-shape-legend) { justify-content: center; }
  body.research-page #rd-main :is(.rd-component-matrix, .rd-evaluation-table, .rd-evidence-table) :is(td, th, caption) {
    text-align: left;
    overflow-wrap: break-word;
    word-break: keep-all;
  }
  body.research-page #rd-main .rd-fn-class-row { grid-template-columns: 76px minmax(0, 1fr); gap: 8px 12px; }
  body.research-page #rd-main .rd-fn-class-row em { white-space: normal; }
  body.research-page #rd-main .rd-closing { text-align: center; }
  body.research-page #rd-main .rd-closing > p { text-align: center; margin-inline: auto !important; }
  body.research-page #rd-main .rd-closing .rd-button { justify-content: center; font-size: 13px; }
}

/* Balance short English technical labels and the closing phrase independently;
   this keeps final words such as “state”, “paths” and “own” with their context. */
@media (max-width: 760px) {
  html[lang='en'] body.research-page #rd-main .rd-functional-figure .rd-blueprint-heading :is(h3, .rd-fn-status),
  html[lang='en'] body.research-page #rd-main .rd-magi-delta article p {
    text-wrap: balance;
    word-break: normal;
    overflow-wrap: normal;
  }
  html[lang='en'] body.research-page #rd-main .rd-closing > p > em {
    display: inline-block;
    width: 100%;
    max-width: 100%;
    vertical-align: top;
    text-wrap: balance;
  }
}

/* Preserve Korean word units in technical notes outside the primary leads. */
@media (max-width: 760px) {
  html[lang='ko'] body.research-page #rd-main :is(.rd-architecture-feedback, .rd-architecture-boundary, .rd-fn-type-note, .rd-fn-lane-note, .rd-engine-note, .rd-engine-flow, .rd-small-note, .rd-functional-figure > figcaption, .rd-evidence-view > figcaption) {
    word-break: keep-all;
    overflow-wrap: break-word;
    text-wrap: pretty;
  }
}

/* Revision11: full-fit relation geometry replaces sideways exploration. */
@media(max-width:760px){
 body.research-page #rd-main .rd-fn-viewport{
  width:100%;max-width:100%;margin-inline:0;padding-block:10px 0;
  overflow:visible;scroll-padding:0;border:0;
 }
 body.research-page #rd-main .rd-fn-viewport>.rd-fn-svg{display:none}
 body.research-page #rd-main .rd-fn-viewport>.rd-fn-svg-mobile{display:block;width:100%;max-width:100%;height:auto}
 body.research-page #rd-main .rd-fn-pan-hint{display:none}
 /* Only the outer six percent blends into the shared atmosphere; the live UI
    stays clear through the middle and has no rectangular lit perimeter. */
 body.research-page #rd-main [data-engine-film].rd-engine-visual>:is(iframe,img){
  mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent),linear-gradient(0deg,transparent,#000 7%,#000 93%,transparent);
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent),linear-gradient(0deg,transparent,#000 7%,#000 93%,transparent);
  mask-composite:intersect;-webkit-mask-composite:source-in;
 }
}
/* Revision11 coherent full-fit networks use the complete phone width. */
@media(max-width:760px){
 body.research-page #rd-main .rd-fn-viewport{width:calc(100% + 2 * var(--rd-mobile-inset));max-width:none;margin-inline:calc(-1 * var(--rd-mobile-inset));overflow:visible}
 body.research-page #rd-main [data-engine-film].rd-engine-visual>:is(iframe,img){
  mask-image:linear-gradient(90deg,transparent,#000 18%,#000 82%,transparent),linear-gradient(0deg,transparent,#000 20%,#000 80%,transparent);
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 18%,#000 82%,transparent),linear-gradient(0deg,transparent,#000 20%,#000 80%,transparent);
 }
}

/* Revision12: prose follows phrases and punctuation; concise labels balance
   independently. Keep the authored hierarchy and every word unchanged. */
@media(max-width:760px){
 body.research-page #rd-main .rd-section :is(p,dd,td,th,figcaption){
  min-width:0;
  overflow-wrap:break-word;
  text-wrap:pretty;
 }
 html[lang='ko'] body.research-page #rd-main .rd-section :is(p,dd,td,th,figcaption){
  word-break:keep-all;
  line-break:strict;
 }
 html[lang='en'] body.research-page #rd-main .rd-section :is(p,dd,td,th,figcaption){
  word-break:normal;
  hyphens:manual;
 }
 body.research-page #rd-main .rd-section :is(h2,h3,h4,.rd-fn-status,.rd-evidence-status,.rd-outcomes-status){
  word-break:keep-all;
  overflow-wrap:break-word;
  text-wrap:balance;
 }
 html[lang='en'] body.research-page #rd-main .rd-section :is(h2,h3,h4,.rd-fn-status,.rd-evidence-status,.rd-outcomes-status){word-break:normal}
 body.research-page #rd-main .rd-section :is(.rd-overview-copy,.rd-engine-brief-copy,.rd-magi-delta article p,.rd-vision-outcomes li>p,.rd-evo-node p,.rd-orbit-detail-list p,.rd-fn-anchor>p:last-child){
  text-wrap:balance;
 }
 body.research-page #rd-main .rd-section :is(.rd-functional-figure,.rd-evidence-view)>figcaption{
  text-wrap:pretty;
  overflow-wrap:break-word;
 }
 body.research-page #rd-main .rd-closing>p>em{
  display:inline-block;width:100%;max-width:100%;vertical-align:top;text-wrap:balance;
 }
}
