/* Homepage labels and controls stay readable at every breakpoint.
   Primary headings/body copy and the artwork itself are handled separately. */
#main :is(#choose,#platform,#demos,#intelligence,#protocol,#aisco,#ownership,#contact) .section-kicker,
#main :is(#choose,#platform,#demos,#intelligence,#protocol,#aisco,#ownership,#contact) .section-kicker > span {
  font-size:14px;
  line-height:1.6;
  letter-spacing:.035em;
  max-width:none;
}
#main :is(#choose,#platform,#demos,#intelligence,#protocol,#aisco,#ownership,#contact) .section-kicker {
  flex-wrap:wrap;
  gap:12px 28px;
}
#main #origin :is(.eyebrow,.concept-label) { font-size:12px; line-height:1.6; letter-spacing:.035em; }
#main #origin .hero-footer { font-size:14px; line-height:1.6; }

/* Section labels, step identifiers and other secondary navigation. */
#main #choose :is(.foundation-atlas-overline,.foundation-layer-number,.foundation-signature small),
#main #platform :is(.delivery-stage-label,.delivery-label,.evidence-document-meta),
#main #demos :is(.home-film-meta,.home-film-duration),
#main #demos .story-proof-links > :is(a,button) > span:not([aria-hidden]),
#main #intelligence :is(.example-label,.agent-application-range > span,.approval-line b,.capability-navigation > h3),
#main #intelligence .agent-capacity p,
#main #intelligence .use-case-tabs button::before,
#main #intelligence .swarm-step > i,
#main #protocol :is(.protocol-v2-eyebrow,.protocol-v2-policy,.protocol-v2-stage,.protocol-v2-support > h3),
#main #ownership :is(.ghost-label,.ghost-signature span),
#main #contact .rai-paths > a > span:not([aria-hidden]) {
  font-size:12px;
  line-height:1.6;
  letter-spacing:.025em;
}
#main #choose .foundation-atlas-overline { flex-wrap:wrap; gap:16px 24px; align-items:center; }
#main #choose .foundation-signature > span { font-size:14px; line-height:1.6; }
#main #choose .foundation-signature small { display:block; }
#main #demos .home-film-meta { min-height:0; }
#main #platform .evidence-document-meta { flex-wrap:wrap; gap:8px 20px; }

/* Captions are real reading content, not ornamental fine print. */
#main #choose .foundation-atlas-controls small,
#main #choose .foundation-atlas-art figcaption,
#main #platform .evidence-page-label,
#main #intelligence [data-swarm-status],
#main #intelligence .swarm-step small,
#main #contact .rai-footer > p > small {
  font-size:14px;
  line-height:1.6;
  letter-spacing:0;
}
#main #choose .foundation-atlas-art figcaption { position:static; margin-top:12px; padding-inline:8px; }
#main #choose .foundation-art-status { flex:0 0 5px; }
#main #platform .evidence-page-label { line-height:1.4; overflow-wrap:normal; }
#main #intelligence [data-swarm-status] { overflow-wrap:normal; }

/* All visible homepage actions have readable text and usable hit areas. */
#main :is(#origin,#choose,#platform,#demos,#intelligence,#protocol,#aisco,#ownership,#contact) :is(.button,.text-button),
#main #choose :is(.foundation-motion-control,.foundation-atlas-next-action),
#main #demos .home-film-action,
#main #platform :is(.evidence-open-action,.evidence-next-copy > a),
#main #intelligence :is(.use-case-tabs button,.swarm-motion-actions button),
#main #ownership .story-security summary,
#main #contact .rai-paths > a > b,
#main #contact .rai-footer > a {
  font-size:16px;
  line-height:1.5;
  min-height:44px;
  white-space:normal;
  letter-spacing:0;
}
#main :is(#origin,#choose,#platform,#demos,#intelligence,#protocol,#aisco,#ownership,#contact) :is(.button,.text-button) {
  height:auto;
  min-width:0;
  max-width:100%;
  text-align:left;
}
#main :is(#origin,#choose,#platform,#demos,#intelligence,#protocol,#aisco,#ownership,#contact) :is(.button,.text-button) > span[aria-hidden] { flex-shrink:0; }
#main #choose .foundation-motion-control { margin-block:0; padding:8px 0 8px 10px; }
#main #choose .foundation-motion-icon { flex-shrink:0; }
#main #choose .foundation-atlas-controls button { min-height:44px; }
#main #choose .foundation-atlas-controls strong,
#main #intelligence .swarm-step strong { font-size:16px; line-height:1.5; min-height:0; }
#main #choose .foundation-atlas-next-action { min-width:0; }
#main #choose .foundation-atlas-next-action > span { flex-shrink:0; }
#main #intelligence .swarm-motion-actions { gap:12px 24px; }
#main #intelligence .intelligence-outro { flex-wrap:wrap; }
#main #intelligence .intelligence-outro .button { flex:0 1 auto; }
#main #protocol .protocol-v2-transaction-head { flex-wrap:wrap; }
#main #protocol .protocol-v2-transaction-head > div { min-width:0; flex:1 1 360px; }
#main #protocol .protocol-v2-policy { flex:0 1 auto; max-width:100%; }
#main #protocol .protocol-v2-close { flex-wrap:wrap; }
#main #contact .rai-paths > a > b { gap:16px; }

/* Navigation is allowed to wrap; it never solves crowding by shrinking type. */
body .site-header #main-nav a,
body .site-header #main-nav.is-open a,
body .site-header .header-contact {
  font-size:16px;
  line-height:1.5;
  min-height:44px;
  letter-spacing:0;
}
body .site-header #main-nav a { white-space:normal; min-width:0; }
body .site-header #main-nav.is-open { gap:8px 28px; }
body .site-header #main-nav.is-open a { padding-block:10px; }

/* Footer metadata and links use the same reading sizes as the page. */
#site-footer.final-footer { font-size:14px; line-height:1.8; letter-spacing:.01em; }
#site-footer :is(.footer-column > strong,.footer-company > strong,.footer-company > small,.footer-install small) {
  font-size:12px;
  line-height:1.7;
  letter-spacing:.04em;
}
#site-footer :is(.footer-company > p,.footer-column > p,.footer-bottom > p) { font-size:14px; line-height:1.8; }
#site-footer :is(.footer-links a,.footer-column > a,.footer-return,.footer-install > a) {
  font-size:16px;
  line-height:1.5;
  min-height:44px;
  white-space:normal;
  letter-spacing:0;
}
#site-footer .footer-bottom { grid-template-columns:minmax(0,1fr); gap:16px; }
#site-footer .footer-links { gap:4px 24px; }
#site-footer .footer-return { justify-self:start; }
#site-footer .footer-install > a { height:auto; }

@media(max-width:1700px) {
  body .site-header #main-nav:not(.is-open) { display:none; }
}
@media(max-width:760px) {
  #main :is(#choose,#platform,#demos,#intelligence,#protocol,#aisco,#ownership,#contact) .section-kicker {
    flex-direction:column;
    align-items:flex-start;
    gap:8px;
  }
  #main :is(#choose,#platform,#demos,#intelligence,#protocol,#aisco,#ownership,#contact) .section-kicker > span { text-align:left; }
  #main #choose .foundation-atlas-overline { align-items:flex-start; gap:8px 16px; }
  #main #choose .foundation-motion-control { padding-left:0; }
  #main #choose .foundation-atlas-controls { gap:12px; }
  #main #platform .evidence-page-label { font-size:12px; line-height:1.35; margin-top:10px; }
  #main #platform .evidence-open-action { gap:14px; }
  #main #protocol .protocol-v2-policy { width:auto; }
  #main #intelligence .swarm-motion-actions { flex-wrap:wrap; gap:8px 22px; }
  #main #intelligence .agent-capacity { flex-wrap:wrap; gap:10px; }
}
@media(max-width:600px) {
  #site-footer .footer-links { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:6px 20px; }
  #site-footer .footer-links .footer-return { grid-column:1/-1; }
}
@media(max-width:500px) {
  #main #choose .foundation-atlas-controls { grid-template-columns:minmax(0,1fr); gap:0; }
  #main #choose .foundation-atlas-controls button { display:grid; grid-template-columns:24px minmax(0,1fr) 24px; gap:12px; padding:16px 0; }
  #main #choose .foundation-layer-number { margin:2px 0 0; }
  #main #choose .foundation-atlas-controls small { display:block; margin-top:4px; }
  #main #choose .foundation-layer-indicator { display:block; }
  #main #intelligence .use-case-tabs { grid-template-columns:minmax(0,1fr); }
  #main #intelligence .use-case-tabs button { flex-direction:row; align-items:center; justify-content:flex-start; text-align:left; gap:14px; min-height:56px; padding:14px 20px; border-right:0; border-bottom:1px solid var(--line); }
  #main #intelligence .use-case-tabs button:last-child { border-bottom:0; }
  #main #intelligence .use-case-tabs button > span { display:block; }
  #main #intelligence .use-case-tabs button[aria-selected="true"] { box-shadow:inset 3px 0 var(--teal); }
  body .site-header #main-nav.is-open { grid-template-columns:minmax(0,1fr); }
}
