/* OPCO.AI v50 · phone composition. Intentionally no rules above 700px. */
@media (max-width:700px) {
  :root {--edge:clamp(20px,5.6vw,32px)}
  html {scroll-padding-top:0;scrollbar-gutter:auto}
  html:has(body.entering),html:has(dialog[open]) {overflow-y:hidden}
  body {text-size-adjust:100%;-webkit-text-size-adjust:100%}
  .masthead {padding:18px var(--edge);min-height:78px;background:linear-gradient(var(--green) 80%,#03270c00)}
  .brand {gap:8px}.brand svg {width:24px;height:24px}.wordmark {font-size:24px}
  .masthead .nav-toggle {min-height:44px;font-size:20px;padding:7px 0;gap:10px}
  .masthead .nav.is-open {top:76px;max-height:calc(100svh - 96px);overflow-y:auto;padding:18px var(--edge) 24px}
  .masthead .nav.is-open a {font-size:25px;min-height:48px;padding:12px 0}
  .utility-footer {top:18px;bottom:auto;right:96px;left:auto;z-index:35;gap:0}
  .utility-controls {padding:0;background:transparent;gap:0}
  .utility-controls .motion-control {width:44px;height:44px;min-height:44px;padding:12px;font-size:0;border:0;background:transparent}
  .utility-controls .motion-control svg {display:none}
  .utility-controls .motion-control::before {content:"";display:block;flex:none;width:8px;height:15px;border-left:2px solid currentColor;border-right:2px solid currentColor}
  .utility-controls .motion-control[aria-pressed="true"]::before {width:0;height:0;border-right:0;border-left:11px solid currentColor;border-top:7px solid transparent;border-bottom:7px solid transparent}
  .utility-controls .motion-control #motion-label,.utility-controls .fullscreen-control {display:none}
  .entering .nav-toggle {visibility:hidden}
  .panel,main .question-panel,main .architecture,main .chapter {min-height:0;padding:104px var(--edge) 58px;justify-content:flex-start;scroll-margin-top:0}
  main .panel + .panel {border-top:1px solid var(--line)}
  main .panel {overflow:clip}
  .panel .panel-topline {font-size:10px;line-height:1.65;letter-spacing:.11em;gap:15px;margin-bottom:30px;flex-wrap:wrap}
  .panel .next-link,.panel .chapter-next,.panel .architecture-link {font-size:14px;line-height:1.5;min-height:44px;gap:20px;max-width:100%;padding:10px 0}
  .panel .panel-bottom,.panel .chapter-end {position:relative;inset:auto;display:flex;flex-wrap:wrap;gap:12px 22px;margin-top:36px;padding-top:18px;font-size:11px;line-height:1.6;max-width:100%}
  .panel .panel-bottom a,.panel .chapter-end a {font-size:11px;line-height:1.6}
  .panel .panel-bottom-message {max-width:none;width:100%;text-align:left;font-size:10px;line-height:1.7}
  .panel .panel-bottom-message p {font-size:10px;letter-spacing:.035em}
  .panel .panel-bottom-message .panel-bottom-trademark {font-size:11px;margin-top:6px}
  .panel .panel-bottom-message a {font-size:11px}
  .question-panel .panel-grid {grid-template-columns:1fr;gap:24px;margin-bottom:0}
  .question-panel .question {font-size:clamp(35px,9.7vw,52px);line-height:1.09;max-width:24ch;letter-spacing:-.026em}
  .question-panel .question-copy {padding-top:0}
  .question-panel .next-link {margin-top:24px}
  .question-panel .question-art {padding-top:42px;padding-bottom:24px}
  .question-panel .art-group {width:100%;min-width:0;max-width:none}
  .question-panel .question-target {width:min(56vw,248px)}
  .question-panel .art-caption {font-size:22px;line-height:1.2;margin-top:54px;text-align:center}
  .architecture .panel-grid {grid-template-columns:1fr;gap:34px;margin-bottom:0}
  .architecture .builders {font-size:15px;line-height:1.6;margin-bottom:42px;max-width:31ch}
  .architecture h2 {font-size:clamp(61px,16.8vw,98px);line-height:.91;letter-spacing:-.035em;margin-bottom:30px}
  .architecture h2 sup {font-size:13px;top:6px}
  .architecture .architecture-lede {font-size:22px;line-height:1.4;margin-bottom:20px;max-width:31ch}
  .architecture .architecture-detail {font-size:16px;line-height:1.7;max-width:39ch}
  .architecture .stitch {font-size:14px;line-height:1.6;margin-top:24px}
  .architecture .architecture-link {margin-top:14px}
  .architecture .answer-target {width:min(62vw,280px)}
  .architecture .answer-art {padding:28px 0 12px}
  .architecture .answer-art .art-caption {font-size:10px;line-height:1.6;margin-top:22px;letter-spacing:.08em}
  .architecture .panel-bottom>span:last-child {font-size:10px}
  /* The opening retains its native Target flip; its form gets a usable phone surface. */
  .entry {display:block;overflow-x:clip;overflow-y:auto;padding:0 var(--edge);overscroll-behavior:contain}
  .entry-center {width:100%;min-height:0;padding:118px 0 0;transform:none}
  .entry-kicker {font-size:10px;line-height:1.7;letter-spacing:.09em;text-align:center;max-width:32ch;margin:0 0 40px}
  .flip-shell {width:min(84vw,352px);max-width:100%;margin:0 auto}
  .entry .enter-link {font-size:15px;min-height:48px;margin-top:30px;gap:32px}
  .entry .skip {font-size:13px;min-height:44px;margin-top:42px;padding:12px 0}
  .entry-caption {position:relative;inset:auto;font-size:22px;line-height:1.25;margin:33px 0 27px;max-width:27ch}
  .entry-caption .entry-attribution {font-size:12px;line-height:1.6;margin-top:9px}
  .entry-index {display:none}
  .entry-patent {position:relative;inset:auto;font-size:9px;line-height:1.7;letter-spacing:.05em;max-width:31ch;margin:0;padding-bottom:28px}
  .entry.contact-open .entry-center {padding-top:104px;padding-bottom:180px}
  .entry.contact-open .entry-kicker {margin-bottom:65px}
  .entry.contact-open .entry-caption,.entry.contact-open .entry-patent {display:none}
  .entry .capture-face {inset:-35px 0;border-radius:30px;box-shadow:inset 0 0 0 6px var(--green),inset 0 0 0 7px #b6d38d30}
  .capture-content {width:77%;padding-top:6px}
  .capture-content h2 {font-size:29px;line-height:1.04;margin-bottom:12px}
  .capture-intro {font-size:13px;line-height:1.5;margin-bottom:14px}
  .capture-content label {font-size:11px;letter-spacing:.08em;margin-top:10px}
  .capture-content input {font-size:16px;min-height:40px;padding:7px 0}
  .capture-content .form-enter {min-height:44px;padding:9px 0 3px;font-size:14px}
  .capture-close {width:44px;height:44px;line-height:44px;right:8px;top:8px;font-size:25px}
  .intro-form-status {font-size:12px;line-height:1.5;margin-top:8px}
  .entry .capture-content:has(.intro-form-status:not(:empty)) {padding-top:9px}
  .stitch-calculator .nsq-hl {display:none} /* Full Intelligence Layer title remains above the phone diagram. */
  /* Domain Targets stay tactile and individually legible. */
  .domains-intro {gap:24px}
  .domains-intro h2 {font-size:clamp(43px,11.8vw,65px);line-height:1.02}
  .domains-lead {font-size:25px;line-height:1.25;margin-top:20px}
  .domains-introduction,.domains-panel .domains-closing .domains-context-body {font-size:15px;line-height:1.75}
  .domains-summary {gap:42px;padding:10px 0 4px}
  .domains-summary dt {font-size:11px;line-height:1.5;letter-spacing:.05em}
  .domains-panel .domains-summary dd {font-size:57px;line-height:1}
  .domains-field-caption {font-size:13px;line-height:1.65;margin-bottom:24px}
  .domains-field {grid-template-columns:repeat(3,minmax(0,1fr));gap:20px 12px}
  .domains-panel .domain-system-tab {padding:6px 0 10px;min-width:0}
  .domains-panel .domain-system-tab svg {width:min(100%,94px)}
  .domain-system-name {font-size:11px;letter-spacing:.035em;margin-top:7px}
  .domain-system-modules {font-size:11px;line-height:1.5;margin-top:5px}
  .domain-system-detail {min-height:0;padding-top:24px;scroll-margin-top:96px}
  .domain-system-detail-top>span {font-size:11px}
  .domain-system-navigation button {width:44px;height:44px}
  .domain-system-function {font-size:25px;line-height:1.2}
  .domain-system-detail h3 {font-size:43px}
  .domain-system-scope {font-size:16px;line-height:1.7;max-width:none}
  .domain-system-count>span:last-child {font-size:11px;line-height:1.5}
  .domains-closing .domains-context-title {font-size:31px;line-height:1.12}
  .domains-panel .domains-cta,.domains-panel .domains-next,.domains-principles {font-size:14px;min-height:44px}
  /* Preserve the animated Cube as illustration; explore its real HTML data at full size. */
  .q-panel .q-domain-name,.q-panel .q-domain-function,.q-panel .q-intro h2 {font-size:clamp(36px,10vw,54px);line-height:1.07}
  .q-panel .q-product-intro {margin-top:30px}
  .q-panel .q-product-intro>p {font-size:21px;line-height:1.4;margin-top:18px}
  .q-panel>.panel-topline {order:0}.q-panel>.q-intro {order:1}.q-panel>.q-sample-reader {order:2}.q-panel>.q-figure {order:3}.q-panel>.q-next {order:4}
  .q-panel .q-cube-mount {height:290px;margin-top:12px}
  .q-panel .q-figure {margin-top:28px;overflow:hidden}
  .q-panel .q-sample-reader {margin-top:24px}
  .q-panel .q-sample-reader>summary {font-size:15px;line-height:1.6;padding:18px 0;min-height:56px}
  .q-panel .q-sample-grid {padding:0 0 24px;gap:24px}
  .q-sample-face .q-sample-surface {font-size:11px;letter-spacing:.06em}
  .q-sample-face h4 {font-size:30px;line-height:1.1;margin-top:14px}
  .q-sample-face .q-sample-value {font-size:44px;line-height:1;margin-top:22px}
  .q-sample-face .q-sample-sub {font-size:15px;line-height:1.65;margin-top:12px}
  .q-sample-face .q-sample-note {font-size:13px;line-height:1.7}
  .q-panel .q-sample-chart {height:150px;max-width:none}
  .q-panel .q-sample-chart text {font-size:9px}
  .q-panel .q-sample-chart-readout {height:auto}
  .q-panel .q-sample-chart-caption {font-size:11px;line-height:1.65}
  .q-panel .q-sample-meter-label {font-size:13px;line-height:1.5;gap:8px}
  .mobile-cube-tabs {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0 0 25px}
  .mobile-cube-tabs button {border:1px solid var(--line);border-radius:4px;font:400 12px/1.35 var(--sans);color:var(--muted);min-height:54px;padding:10px 6px;text-align:center}
  .mobile-cube-tabs button[aria-selected="true"] {border-color:#c3df94a6;background:#b6d38d13;color:var(--paper)}
  .q-sample-reader[data-mobile-explorer] .q-sample-face:not([data-mobile-active]) {display:none}
  .mobile-cube-status {font-size:12px;line-height:1.5;color:var(--muted);margin:0 0 16px}
  /* Contact and footer become usable reading/touch surfaces. */
  .closing-message h2 {font-size:clamp(68px,18vw,104px);line-height:.94}
  .closing-panel .closing-hero {gap:35px}
  .closing-panel .closing-target-wrap {width:min(63vw,270px);justify-self:center;margin:20px auto 10px}
  .closing-connect {margin-top:42px;padding-top:28px;gap:28px;scroll-margin-top:94px}
  .closing-connect-copy h3 {font-size:36px}
  .closing-connect-copy>p {font-size:15px;line-height:1.65;max-width:32ch}
  .closing-connect .closing-email {font-size:clamp(36px,10vw,50px);line-height:1.1;margin-top:25px;gap:14px}
  .closing-connect .closing-email>span {font-size:24px}
  .closing-connect-fields {grid-template-columns:1fr;gap:24px}
  .closing-connect-fields label {font-size:12px;line-height:1.6}
  .closing-connect-fields input {font-size:16px;min-height:46px;padding:9px 0}
  .closing-connect-submit {grid-column:1;width:100%;font-size:15px;min-height:48px;justify-content:space-between;padding:10px 0}
  .closing-connect-note,.closing-connect-status {font-size:12px;line-height:1.65;max-width:none}
  .opco-footer {padding:38px var(--edge) 38px}
  .opco-footer-brand-block>p {font-size:14px;line-height:1.75;max-width:none}
  .opco-footer-email {font-size:15px;min-height:44px;align-items:center;margin-top:16px}
  .opco-footer-nav {gap:22px 18px}
  .opco-footer-nav li {font-size:12px;line-height:1.5;margin-bottom:3px}
  .opco-footer-nav a,.opco-footer-nav button {display:inline-flex;align-items:center;min-height:44px;padding:8px 0}
  .opco-footer-legal>p {font-size:12px;line-height:1.8;letter-spacing:0}
  .opco-footer-bottom,.opco-footer-copyright {align-items:flex-start;flex-wrap:wrap;gap:14px}
  .opco-footer-copyright p,.opco-footer-policy-links {font-size:12px;line-height:1.6}
  .opco-footer-policy-links {flex-wrap:wrap;gap:8px 16px}
  .opco-footer-policy-links a,.opco-footer-policy-links button {min-height:44px;padding:10px 0}
  .experience-panel .experience-intro h2 {font-size:clamp(43px,11.6vw,64px);line-height:1.05}
  .experience-panel .experience-facts dt {font-size:23px;line-height:1.2}
  .experience-panel .experience-facts dd {font-size:15px;line-height:1.65}
  .experience-panel .experience-story h3 {font-size:29px;line-height:1.18}
  .experience-panel .experience-story p {font-size:14px;line-height:1.65}
  .experience-panel .experience-story a {min-height:44px}
}


/* V50 phone compositions. Original DOM, controls, targets and measured paths stay native. */
@media (max-width: 700px) {
  /* 03 — A six-domain constellation with room around its central spine. */
  .enterprise-panel .enterprise-figure {
    width: 100%;
    max-width: 460px;
    margin: 36px auto 0;
  }

  .enterprise-panel .enterprise-network {
    height: 600px;
  }

  .enterprise-panel .enterprise-core {
    left: 50%;
    top: 43%;
    width: 76px;
  }

  .enterprise-panel .enterprise-core-label {
    width: 110px;
    top: calc(100% + 17px);
    padding: 7px 0;
    font-size: 28px;
    line-height: 1.02;
  }

  .enterprise-panel .enterprise-domain {
    width: 106px;
    min-width: 0;
    min-height: 72px;
    padding: 10px 0;
    gap: 12px;
    -webkit-tap-highlight-color: transparent;
  }

  .enterprise-panel .enterprise-domain-mark {
    width: 19px;
    height: 19px;
    opacity: 1;
  }

  .enterprise-panel .enterprise-domain > span {
    font-size: 20px;
    line-height: 1.12;
  }

  .enterprise-panel .domain-investment { left: 22%; top: 13%; }
  .enterprise-panel .domain-operations { left: 78%; top: 13%; }
  .enterprise-panel .domain-governance { left: 19%; top: 43%; }
  .enterprise-panel .domain-risk { left: 81%; top: 43%; }
  .enterprise-panel .domain-compliance { left: 22%; top: 72%; }
  .enterprise-panel .domain-finance { left: 78%; top: 72%; }

  .enterprise-panel .enterprise-domain:focus-visible {
    outline: 1px solid var(--lime);
    outline-offset: 3px;
    border-radius: 3px;
  }

  .enterprise-panel .enterprise-models {
    top: 93%;
    width: 184px;
    min-height: 80px;
    padding: 14px;
  }

  .enterprise-panel .enterprise-models > span {
    font-size: 24px;
    line-height: 1.08;
  }

  .enterprise-panel .chapter-end {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 12px;
    margin-top: 25px;
    padding-top: 23px;
    border-top: 1px solid var(--line);
    font-size: 12px;
    line-height: 1.7;
  }

  .enterprise-panel .chapter-end > span:first-child,
  .enterprise-panel .chapter-end > a {
    max-width: 100%;
  }

  .enterprise-panel .chapter-end > a {
    width: fit-content;
    min-height: 44px;
    font-size: 14px;
    text-align: left;
    gap: 20px;
  }

  /* 04 — Context, a bounded exchange, then checked action. The SVG measures
     the actual positions below; the map height comes from its content. */
  .layer-public .layer-public-figure {
    margin-top: 38px;
  }

  .layer-public .layer-public-map {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    column-gap: 24px;
    row-gap: 26px;
    height: auto;
    min-width: 0;
    padding: 0 0 10px;
    isolation: isolate;
  }

  .layer-public .layer-public-wires {
    z-index: -1;
  }

  .layer-public .layer-public-context-bank {
    position: relative;
    grid-column: 1 / -1;
    grid-row: 1;
    left: auto;
    top: auto;
    width: 100%;
    max-width: none;
  }

  .layer-public .layer-public-context-bank > .layer-public-zone-title {
    font-size: 28px;
    line-height: 1.14;
  }

  .layer-public .layer-public-controls {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    column-gap: 22px;
    row-gap: 14px;
    margin-top: 23px;
  }

  .layer-public .layer-public-controls li {
    min-width: 0;
    gap: 8px;
    font-size: 12px;
    line-height: 1.6;
  }

  .layer-public .layer-public-controls li > span {
    background: var(--green);
    padding-right: 3px;
  }

  .layer-public .layer-public-controls i {
    order: 0;
    width: 17px;
    margin: 0 0 0 auto;
    opacity: 1;
  }

  .layer-public .layer-public-records {
    display: table;
    position: relative;
    z-index: 1;
    margin-top: 21px;
    padding: 3px 8px 3px 0;
    background: var(--green);
    font-size: 11px;
    line-height: 1.7;
  }

  .layer-public .layer-public-center {
    position: relative;
    grid-column: 1;
    grid-row: 3;
    left: auto;
    top: auto;
    width: auto;
    min-width: 0;
    transform: none;
    align-self: start;
  }

  .layer-public .layer-public-center > .layer-public-zone-title {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 48px;
    width: 100%;
    max-width: 100%;
    padding: 0 2px;
    font-size: 20px;
    line-height: 1.16;
    white-space: normal;
  }

  .layer-public .layer-public-target {
    width: 88px;
    height: 88px;
    margin-top: 26px;
  }

  .layer-public .layer-public-center-note {
    width: auto;
    max-width: 100%;
    padding: 4px 2px;
    margin-top: 17px;
    font-size: 12px;
    line-height: 1.65;
    text-wrap: balance;
  }

  .layer-public .layer-public-model {
    position: relative;
    grid-column: 2;
    grid-row: 3;
    top: auto;
    right: auto;
    width: 100%;
    padding-top: 16px;
    align-self: start;
  }

  .layer-public .layer-public-model-boundary {
    position: relative;
    z-index: 1;
    width: fit-content;
    margin: 0 auto 22px;
    padding: 0 3px;
    background: var(--green);
    font-size: 11px;
    line-height: 18px;
    letter-spacing: .045em;
  }

  .layer-public .layer-public-model-shape {
    width: min(124px, 100%);
    height: auto;
    aspect-ratio: 1;
    gap: 11px;
    padding: 10px;
  }

  .layer-public .layer-public-model-shape > p {
    font-size: 26px;
    line-height: 1.06;
  }

  .layer-public .layer-public-model-shape > span:not(.layer-public-inlet) {
    max-width: 12ch;
    font-size: 11px;
    line-height: 1.5;
    letter-spacing: 0;
  }

  .layer-public .layer-public-wire-label {
    position: relative;
    grid-column: 1 / -1;
    justify-self: center;
    left: auto;
    top: auto;
    width: fit-content;
    max-width: 100%;
    padding: 6px 14px;
    transform: none;
    background: var(--green);
    font-size: 12px;
    line-height: 1.65;
    color: #cbd8bb;
  }

  .layer-public .layer-public-outbound-label { grid-row: 2; }
  .layer-public .layer-public-return-label { grid-row: 4; }

  .layer-public .layer-public-action {
    position: relative;
    grid-column: 1 / -1;
    grid-row: 5;
    justify-self: center;
    left: auto;
    top: auto;
    width: 100%;
    min-width: 0;
    padding-top: 12px;
    transform: none;
  }

  .layer-public .layer-public-action-target {
    width: 22px;
    height: 22px;
  }

  .layer-public .layer-public-action > p {
    display: table;
    margin: 17px auto 0;
    padding: 3px 8px;
    background: var(--green);
    font-size: 27px;
    line-height: 1.15;
  }

  .layer-public .layer-public-action > span:last-child {
    font-size: 12px;
    line-height: 1.7;
    margin-top: 8px;
  }

  .layer-public .layer-public-closing {
    margin-top: 37px;
  }

  /* 05 — A usable shared control and two complete, readable comparisons. */
  .stitch-calculator-heading {
    margin-top: 36px;
    margin-bottom: 20px;
  }

  .stitch-calculator-heading h3 { font-size: 29px; }
  .stitch-calculator-heading > span { font-size: 12px; line-height: 1.7; }

  .stitch-calculator {
    border-radius: 5px;
  }

  .stitch-calculator .nsq-ctl {
    padding: 22px 18px 20px;
    top: calc(var(--mobile-header-height, 76px) + 5px);
    box-shadow: 0 8px 18px #03270c30;
  }

  .stitch-calculator .nsq-ctl > label {
    max-width: 32ch;
    margin-bottom: 15px;
    font-size: 14px;
    line-height: 1.6;
  }

  .stitch-calculator .nsq-range-row { gap: 17px; }
  .stitch-calculator .nsq-ctl input[type=range] { height: 44px; }
  .stitch-calculator .nsq-ctl input[type=range]::-webkit-slider-thumb {
    width: 23px;
    height: 23px;
    margin-top: -10px;
  }
  .stitch-calculator .nsq-ctl input[type=range]::-moz-range-thumb {
    width: 23px;
    height: 23px;
  }

  .stitch-calculator .nsq-live-count { min-width: 89px; gap: 7px; }
  .stitch-calculator .nsq-live-count output { font-size: 38px; }
  .stitch-calculator .nsq-live-count small { font-size: 11px; letter-spacing: .035em; }
  .stitch-calculator .nsq-range-note {
    width: calc(100% - 106px);
    margin-top: 2px;
    font-size: 11px;
    line-height: 1.6;
  }

  .stitch-calculator .nsq-panels { grid-template-columns: minmax(0, 1fr); }
  .stitch-calculator .nsq-p { padding: 27px 18px 30px; }
  .stitch-calculator .nsq-p.good { border-left: 0; }
  .stitch-calculator .nsq-h { margin-bottom: 16px; font-size: 14px; line-height: 1.65; }
  .stitch-calculator .nsq-svg { width: min(340px, 100%); }
  .stitch-calculator .nsq-c { gap: 12px; margin: 13px 0 15px; }
  .stitch-calculator .nsq-c b { font-size: 49px; }
  .stitch-calculator .nsq-c span {
    max-width: 24ch;
    font-size: 11px;
    line-height: 1.65;
    letter-spacing: .025em;
  }
  .stitch-calculator .nsq-d { font-size: 13px; line-height: 1.8; }
  .stitch-calculator .nsq-res { padding: 25px 18px 15px; gap: 14px; }
  .stitch-calculator .nsq-mult { font-size: 44px; }
  .stitch-calculator .nsq-rt { max-width: 36ch; font-size: 13px; line-height: 1.75; }
  .stitch-calculator .nsq-f { padding: 0 18px 12px; font-size: 11px; line-height: 1.75; }
  .stitch-calculator .nsq-note { padding: 0 18px 24px; font-size: 12px; line-height: 1.7; }

  /* 08 — Read the inputs, the connecting layer, then the forecast. */
  .predictive-example-caption { font-size: 27px; line-height: 1.2; }
  .predictive-sample-label { margin-top: 15px; font-size: 11px; line-height: 1.7; letter-spacing: .045em; }
  .pi-workflow { margin-top: 31px; }
  .pi-zone-label { margin-bottom: 19px; font-size: 11px; line-height: 1.7; letter-spacing: .08em; }
  .pi-system-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 15px; }
  .pi-system { min-height: 86px; padding-top: 14px; }
  .pi-system > span { font-size: 13px; line-height: 1.5; letter-spacing: .025em; }
  .pi-system small { font-size: 11px; line-height: 1.6; margin-top: 8px; }
  .pi-layer { margin: 44px 0 42px; }
  .pi-layer::before { top: -30px; }
  .pi-layer::after { bottom: -29px; }
  .pi-layer .pi-zone-label { font-size: 12px; letter-spacing: .06em; margin-bottom: 15px; }
  .pi-layer-target { width: 112px; }
  .pi-layer-note { margin-top: 12px; font-size: 12px; line-height: 1.7; }
  .pi-forecast-heading { display: block; padding-left: 0; }
  .pi-forecast-heading h3 { font-size: 29px; line-height: 1.13; max-width: 19ch; }
  .pi-range { font-size: 23px; line-height: 1.5; margin-top: 13px; }
  .pi-range > span:last-child { display: inline-block; font-size: 12px; }
  .pi-confidence { font-size: 11px; line-height: 1.6; margin-top: 13px; padding: 5px 10px; letter-spacing: .04em; }
  .pi-chart { width: calc(100% + 24px); margin: 22px 0 0 -12px; }
  .pi-chart-ticks { font-size: clamp(14px, calc(40px - 4vw), 28px); }
  .pi-chart-legend { gap: 10px 18px; margin: 14px 0 0; font-size: 12px; line-height: 1.7; }
  .pi-chart-legend > span { gap: 8px; }
  .pi-chart-legend i { width: 17px; }
  .pi-example-navigation { margin-top: 27px; padding-top: 15px; }
  .pi-stage-controls {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 4px 18px;
  }
  .pi-stage-controls button {
    display: flex;
    align-items: center;
    min-width: 0;
    min-height: 46px;
    gap: 8px;
    padding: 9px 0;
    border-bottom: 1px solid var(--line);
    font-size: 13px;
    line-height: 1.5;
    white-space: normal;
  }
  .pi-stage-controls button > span { flex: none; font-size: 11px; margin: 0; letter-spacing: .025em; }
  .pi-stage-controls button[aria-pressed=true] { border-bottom-color: #c3df9499; }
  .pi-stage-controls button:focus-visible, .pi-replay:focus-visible {
    outline: 1px solid var(--lime);
    outline-offset: 4px;
  }
  .pi-replay { width: fit-content; min-height: 44px; margin-top: 15px; padding: 8px 0; font-size: 13px; gap: 18px; }
  .pi-stage-description { min-height: 0; margin-top: 22px; font-size: 25px; line-height: 1.28; }
  .predictive-example-note { font-size: 12px; line-height: 1.85; margin-top: 18px; }

  /* 09 — Each company has a full row; the common architecture follows. */
  .stack-panel .stack-layout { gap: 36px; }
  .stack-panel .stack-caption { margin-bottom: 27px; font-size: 11px; line-height: 1.7; letter-spacing: .08em; }
  .stack-panel .stack-layers { border-color: #d9e7ca50; }
  .stack-panel .stack-band {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 12px;
    padding: 25px 18px 27px;
    border-color: #d9e7ca50;
  }
  .stack-panel .stack-band h3 { font-size: 28px; line-height: 1.12; }
  .stack-panel .stack-band > p { font-size: 13px; line-height: 1.8; }
  .stack-panel .stack-band-applications { display: block; padding-top: 49px; }
  .stack-panel .stack-band-applications > h3 { max-width: 22ch; font-size: 30px; line-height: 1.13; white-space: normal; }
  .stack-panel .stack-title-separator { display: inline; padding: 0 .15em; }
  .stack-panel .stack-brand-pair {
    grid-template-columns: minmax(0, 1fr);
    gap: 25px;
    margin-top: 32px;
  }
  .stack-panel .stack-brand-pair > div + div { padding-top: 25px; border-top: 1px solid var(--line); }
  .stack-panel .stack-company .stack-brand-lockup { gap: 11px; }
  .stack-panel .stack-brand-lockup > svg,
  .stack-panel .stack-brand-lockup > img { width: 34px; height: 34px; }
  .stack-panel .stack-company .stack-brand-wordmark { font-size: 18px; line-height: 1.15; }
  .stack-panel .stack-company .stack-brand-role { margin: 11px 0 0 45px; font-size: 11px; line-height: 1.6; letter-spacing: .075em; }
  .stack-panel .stack-company-scope { max-width: 26ch; margin-top: 20px; font-size: 24px; line-height: 1.2; }
  .stack-panel .stack-company-scope > span { margin-top: 10px; font-size: 19px; line-height: 1.35; }
  .stack-panel .stack-band-intelligence {
    grid-template-columns: minmax(0, 1fr) 58px;
    column-gap: 12px;
    padding: 28px 18px;
    align-items: center;
  }
  .stack-panel .stack-band-intelligence h3 { font-size: 32px; line-height: 1.06; }
  .stack-panel .stack-target { width: 58px; height: 58px; }
  .stack-panel .stack-layer-company { font-size: 12px; line-height: 1.6; margin-bottom: 10px; }
  .stack-panel .stack-patent { margin-top: 14px; font-size: 11px; line-height: 1.7; letter-spacing: .025em; }
}


/* V50 phone composition for the supporting pages. */
@media (max-width: 700px) {
  dialog.aux-page,
  dialog.legal-dialog {
    width: 100%;
    max-width: 100%;
    height: 100svh;
    height: 100dvh;
    max-height: 100dvh;
    min-width: 0;
    overflow-x: clip;
    scrollbar-gutter: auto;
    -webkit-overflow-scrolling: touch;
    scroll-padding-top: 100px;
  }

  .aux-page .aux-page-head {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 8px;
    min-height: 80px;
    padding: max(12px, env(safe-area-inset-top)) var(--edge) 12px;
  }

  .aux-page .aux-page-head > span,
  .ip-page .aux-page-head > span {
    min-width: 0;
    max-width: none;
    font-size: 11px;
    line-height: 1.55;
    letter-spacing: .035em;
    text-wrap: balance;
  }

  .aux-page .aux-head-divider,
  .ip-page .aux-head-divider { padding: 0 5px; }
  .aux-page-head .aux-head-controls { gap: 2px; }
  .aux-page-head .aux-close-button { margin-left: 0; }

  .aux-page-head .aux-icon-button {
    width: 44px;
    height: 44px;
    min-width: 44px !important;
    min-height: 44px;
    padding: 12px;
  }

  .aux-icon-button svg { width: 18px; height: 18px; }

  .aux-page-head .aux-home-link {
    display: inline-flex;
    align-items: center;
    min-height: 44px;
  }

  .aux-page-body,
  .ip-page .ip-body {
    padding: 38px var(--edge) max(40px, env(safe-area-inset-bottom));
    min-width: 0;
  }

  .aux-page-body :is(section, article, aside, details),
  .aux-page-hero > div,
  .ip-hero > div { min-width: 0; }

  .aux-page-eyebrow {
    max-width: 32ch;
    font-size: 11px;
    line-height: 1.65;
    letter-spacing: .1em;
    margin-bottom: 28px;
  }

  .aux-page-hero.fp-hero,
  .aux-page-hero.terminal-hero {
    grid-template-columns: minmax(0, 1fr);
    gap: 0;
    margin-bottom: 38px;
  }

  .aux-page-hero :is(h1, h2) {
    font-size: clamp(62px, 18vw, 102px);
    line-height: .94;
    letter-spacing: -.03em;
  }

  /* The bird controller still measures its original bay and divider. */
  .fp-motion-bay,
  .terminal-motion-bay {
    position: absolute;
    right: 0;
    bottom: 0;
    width: 30%;
    min-height: 160px;
  }

  .terminal-hero { padding-bottom: 34px; }
  .terminal-hero :is(h1, h2) { font-size: clamp(59px, 16.2vw, 88px); }

  .principles-page { --fp-heading: clamp(28px, 7.7vw, 34px); --fp-body: 16px; }
  .fp-row details { scroll-margin-top: 96px; }

  .fp-row summary {
    grid-template-columns: 24px minmax(0, 1fr) 16px;
    column-gap: 12px;
    padding: 28px 0;
    min-height: 72px;
  }

  .principles-page .fp-row:first-child summary { padding-top: 52px; }
  .principles-page .fp-number { font-size: 26px; line-height: 1.2; }
  .principles-page .fp-summary-title { line-height: 1.14; }
  .fp-expand { width: 16px; height: 16px; }
  .fp-expand:before, .fp-expand:after { top: 7px; width: 16px; }
  .fp-answer { gap: 28px; padding: 0 0 34px; }
  .principles-page .fp-argument { padding-top: 0; line-height: 1.8; }
  .fp-answer p { margin-bottom: 22px; }
  .principles-page .fp-argument .fp-key { margin: 28px 0; line-height: 1.17; }
  .fp-consequence { padding: 25px 21px 22px; }

  .principles-page .fp-consequence-copy,
  .principles-page .fp-related,
  .principles-page .fp-tags { line-height: 1.75; }

  .principles-page .fp-consequence-copy > b,
  .principles-page .fp-related > b { font-size: 11px; line-height: 1.7; }
  .fp-related { margin-top: 25px; padding-top: 23px; }
  .principles-page .fp-related .fp-concept-name { font-size: 17px; line-height: 1.5; }
  .principles-page .fp-tags { gap: 8px 15px; font-size: 15px; }
  .principles-page .fp-tags > li:before { top: 11px; }
  .fp-controls { padding-left: 19px; }
  .fp-controls > li { margin-bottom: 10px; }
  .fp-questions { padding-left: 16px; }
  .fp-questions > li { margin-bottom: 10px; }

  .principles-page .fp-go {
    min-height: 44px;
    font-size: 14px;
    line-height: 1.6;
    gap: 16px;
    margin-top: 22px;
    padding: 10px 0;
  }

  .fp-go > span { flex: none; }

  .aux-page-end {
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
    margin-top: 26px;
    padding-top: 24px;
    font-size: 11px;
    line-height: 1.7;
  }

  .aux-page-end > span { max-width: none; }
  .aux-page-end :is(button, a) { min-height: 44px; padding: 10px 0; font-size: 14px; }

  .ip-hero { margin-bottom: 46px; gap: 0; }
  .ip-hero .aux-page-eyebrow { font-size: 12px; line-height: 1.6; margin-bottom: 30px; }
  .ip-hero :is(h1, h2) { font-size: clamp(54px, 17.3vw, 104px); line-height: .94; }
  .ip-hero-copy { padding-top: 38px; }
  .ip-hero-statement { font-size: clamp(28px, 7.7vw, 36px); line-height: 1.16; }
  .ip-hero-steps { gap: 18px; margin-bottom: 30px; }
  .ip-hero-steps > li { grid-template-columns: 22px minmax(0, 1fr); column-gap: 13px; }
  .ip-hero-step-number { font-size: 11px; }
  .ip-hero-copy > p:last-child { font-size: 16px; line-height: 1.8; }
  .ip-eyebrow { font-size: 11px; line-height: 1.7; }
  .ip-inventions .ip-portfolio-title,
  .ip-inventions #ip-inventions-title { font-size: 30px; line-height: 1.15; }
  .ip-section-heading h3 { font-size: 36px; line-height: 1.08; }
  .ip-section-heading > p { font-size: 14px; line-height: 1.7; }

  /* Keep the native dove and trogon clearance above their measured cards. */
  .ip-crow-stage { height: 190px; }
  .ip-stage {
    grid-template-columns: 80px minmax(0, 1fr);
    column-gap: 16px;
    row-gap: 10px;
    min-height: 44px;
    padding: 48px 16px 24px;
  }

  .ip-stage-meta { font-size: 11px; line-height: 1.6; letter-spacing: .045em; }
  .ip-stage-art { width: 80px; }
  .ip-stage-name { font-size: clamp(20px, 5.6vw, 28px); line-height: 1.2; letter-spacing: -.025em; }
  .ip-stage-purpose { font-size: 14px; line-height: 1.6; max-width: none; }
  .ip-stage[data-ip-step="3"] { margin-top: 110px; }
  .ip-retained { gap: 10px; padding: 18px 16px; font-size: 13px; line-height: 1.6; }
  .ip-retained-end { margin-left: 28px; }
  .ip-invention-invite { font-size: 13px; line-height: 1.7; margin-top: 20px; }
  .ip-invention-panel { gap: 30px; padding: 34px 0 42px; }
  .ip-invention-copy h4 { font-size: 35px; line-height: 1.1; margin-bottom: 24px; }

  .ip-invention-copy > p:not(.ip-eyebrow),
  .ip-sequence-copy > p:not(.ip-sequence-lead),
  .ip-lab > div:nth-child(2) > p,
  .ip-mark-body > p { font-size: 16px; line-height: 1.8; }

  .ip-text-link {
    min-height: 44px;
    max-width: 100%;
    font-size: 14px;
    line-height: 1.6;
    gap: 16px;
    padding: 10px 0;
    margin-top: 22px;
  }

  .ip-text-link > span { flex: none; }
  .ip-filing > summary { min-height: 52px; font-size: 12px; line-height: 1.6; padding: 16px 0; }
  .ip-filing-body { padding: 12px 0 25px; }
  .ip-formal-title { font-size: 15px; line-height: 1.75; overflow-wrap: anywhere; }
  .ip-application { font-size: 13px; line-height: 1.75; }
  .ip-application span { padding-left: 0; }
  .ip-filing-caption { font-size: 24px; line-height: 1.3; }
  .ip-sequence { gap: 32px; padding-bottom: 44px; }
  .ip-sequence h3, .ip-lab h3 { font-size: clamp(39px, 10.4vw, 58px); line-height: 1.06; }
  .ip-sequence-lead { font-size: 26px; line-height: 1.35; }
  .ip-marks { padding-top: 50px; }
  .ip-marks .ip-section-heading h3 { font-size: 36px; }
  .ip-mark > summary { grid-template-columns: 23px minmax(0, 1fr) 16px; gap: 12px; min-height: 72px; padding: 26px 0; }
  .ip-mark-heading { font-size: clamp(27px, 7.7vw, 36px); line-height: 1.16; }
  .ip-mark-number { font-size: 13px; line-height: 1.4; }
  .ip-mark-short { font-size: 15px; line-height: 1.65; }
  .ip-mark-body { margin-left: 0; padding: 0 0 30px; gap: 20px; }
  .ip-mark-body .ip-text-link { font-size: 14px; gap: 16px; }
  .ip-lab { gap: 30px; padding: 48px 0 40px; }
  .ip-ownership { gap: 18px; padding-top: 26px; }
  .ip-ownership p { font-size: 12px; line-height: 1.85; }
  .ip-ownership :is(button, a) { min-height: 44px; font-size: 14px; line-height: 1.6; padding: 10px 0; }

  .terminal-section-label { font-size: 11px; line-height: 1.7; margin-bottom: 18px; }
  .terminal-gateway { padding: 24px 22px; }
  .terminal-gateway-meta { font-size: 11px; line-height: 1.6; margin-bottom: 22px; }
  .terminal-gateway-name { font-size: clamp(25px, 7vw, 34px); line-height: 1.18; }
  .terminal-gateway:first-child .terminal-gateway-name { font-size: 39px; }
  .terminal-gateway-scope { font-size: 16px; line-height: 1.65; margin-top: 12px; }
  .terminal-gateway-address { font-size: 13px; line-height: 1.7; overflow-wrap: anywhere; margin-top: 25px; }
  .terminal-system-group { margin-top: 44px; }
  .terminal-group-heading { padding-bottom: 24px; }
  .terminal-group-heading h3 { font-size: 31px; line-height: 1.15; }
  .terminal-group-heading p { font-size: 16px; line-height: 1.6; }
  .terminal-group-counts { gap: 40px; margin-top: 26px; }
  .terminal-group-counts dd { font-size: 46px; }
  .terminal-group-counts dt { font-size: 12px; line-height: 1.6; }
  .terminal-access-note { font-size: 13px; line-height: 1.7; margin: 20px 0 22px; }
  .terminal-access-note .terminal-lock { margin-top: 5px; }
  .terminal-systems { grid-template-columns: minmax(0, 1fr); gap: 14px; }
  .terminal-system { min-height: 0; padding: 22px; }
  .terminal-system-top { margin-bottom: 18px; }
  .terminal-system-number { font-size: 12px; }
  .terminal-system-name { font-size: 27px; line-height: 1.15; }
  .terminal-system-scope { max-width: 36ch; font-size: 16px; line-height: 1.65; margin-top: 12px; }
  .terminal-system-bottom { gap: 14px; align-items: center; font-size: 13px; line-height: 1.7; margin-top: 24px; }
  .terminal-system-bottom > span:first-child { max-width: none; }
  .terminal-system-bottom b { display: inline; font-size: 16px; padding-right: 5px; margin-bottom: 0; }
  .terminal-system-bottom .terminal-arrow { font-size: 21px; }
  .terminal-products { gap: 14px; }
  .terminal-product { min-height: 0; padding: 24px 22px; }
  .terminal-product-name { font-size: 27px; margin-top: 26px; }
  .terminal-product-scope { font-size: 16px; line-height: 1.65; margin-top: 12px; }
  .terminal-product .terminal-system-bottom { font-size: 13px; margin-top: 26px; }
  .terminal-product .terminal-system-bottom b { font-size: 16px; }
  .terminal-page .aux-page-end { margin-top: 36px; padding-top: 24px; }

  .legal-dialog .dialog-head {
    min-height: 80px;
    padding: max(12px, env(safe-area-inset-top)) var(--edge) 12px;
    gap: 18px;
    align-items: center;
  }

  .legal-dialog .dialog-head > span { font-size: 11px; line-height: 1.65; letter-spacing: .05em; }
  .legal-dialog .dialog-head :is(button, a) { min-height: 44px; min-width: 68px; display: inline-flex; align-items: center; justify-content: flex-end; font-size: 14px; padding: 10px 0; }
  .legal-dialog .legal-body { padding: 38px var(--edge) max(60px, env(safe-area-inset-bottom)); }
  .legal-dialog .legal-policy-title { font-size: clamp(38px, 10.5vw, 58px); line-height: 1.08; margin-bottom: 26px; }
  .legal-dialog .legal-date { font-size: 12px; line-height: 1.7; margin-bottom: 34px; }
  .legal-document { font-size: 16px; line-height: 1.8; max-width: none; }
  .legal-document p { line-height: 1.8; margin-bottom: 24px; }
  .legal-document p.legal-section-heading { font-size: 16px; line-height: 1.5; letter-spacing: .025em; margin-top: 38px; margin-bottom: 22px; }
  .legal-document :is(ul, ol) { padding-left: 22px; margin-bottom: 26px; }
  .legal-document li { padding-left: 3px; margin: 12px 0; }
}
