/* synapse-1.20-mobile-density-header-rhythm-copy-spacing
   Mobile density, compact header, and copy rhythm. Presentation only; no diagnostics, cover, veil, state-light runtime, or runtime-domain-loader authority. */
:root {
  --synapse-compact-gap: .48rem;
  --synapse-copy-measure: 62ch;
}

:where(.hero__lede,.access-card p,.info-card p,.closing-panel p,.app-install-panel p) {
  text-wrap: pretty;
  max-width: var(--synapse-copy-measure);
}
:where(.hero h1,.access-card h2,.info-card h2,.closing-panel h2,.app-install-panel h2) {
  text-wrap: balance;
}

body[data-public-chamber-shell="soft-active"] .page-shell,
body[data-public-chamber-shell="soft-active"] .synapse-public-viewport {
  scroll-margin-top: 5rem;
}

@media (max-width: 860px) {
  .site-header {
    gap: var(--synapse-compact-gap);
    padding: .54rem .72rem .6rem;
    grid-template-columns: minmax(0,1fr) auto;
  }
  .brand { gap: .55rem; }
  .brand__sigil { width: 1.9rem; height: 1.9rem; }
  .brand__copy strong { font-size: .94rem; }
  .brand__copy span { font-size: .68rem; margin-top: .12rem; }
  .menu-button { min-height: 2.2rem; padding: .44rem .72rem; font-size: .88rem; }
  .site-nav { margin-top: .18rem; }
  .site-nav__link { padding: .72rem .85rem; }
  .header-actions {
    width: 100%;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .38rem;
  }
  .header-actions .button {
    min-height: 2.22rem;
    padding: .44rem .48rem;
    font-size: .80rem;
    white-space: nowrap;
    box-shadow: none;
  }
  .page-shell { width: min(100% - .75rem, 1120px); padding-top: .62rem; }
  .synapse-public-viewport { padding-top: .55rem; padding-bottom: 2rem; }
  .synapse-public-viewport::before { display: none; }
  .active-chamber { padding: .36rem; border-radius: 23px; gap: .55rem; }
  .active-chamber::before, .active-chamber::after { width: 2.7rem; height: 2.7rem; opacity: .52; }
  .active-chamber::before { inset: .55rem auto auto .55rem; }
  .active-chamber::after { inset: auto .55rem .55rem auto; }
  .hero { gap: .58rem; }
  .hero__content { padding: 1.05rem .98rem 1.12rem; }
  .eyebrow, .access-card__label { margin-bottom: .52rem; font-size: .68rem; letter-spacing: .12em; }
  .hero h1 { font-size: clamp(1.82rem, 9.2vw, 3.15rem); line-height: 1.035; letter-spacing: -.044em; max-width: 13.2ch; }
  .hero__lede { font-size: .98rem; line-height: 1.52; margin: .82rem 0 0; }
  .hero__chips { gap: .38rem; margin: .78rem 0 .95rem; }
  .hero__chips li { font-size: .76rem; padding: .32rem .54rem; }
  .hero__actions { gap: .44rem; }
  .hero__actions .button { min-height: 2.28rem; padding: .48rem .68rem; font-size: .83rem; }
  .access-card { padding: .96rem; min-height: auto; }
  .access-card h2 { font-size: 1.12rem; }
  .access-card p { font-size: .92rem; line-height: 1.45; margin: .35rem 0 0; }
  .info-grid { gap: .64rem; margin-top: .64rem; }
  .info-card { padding: .96rem; }
  .info-card h2 { font-size: 1.06rem; }
  .info-card p { font-size: .92rem; line-height: 1.47; margin: .38rem 0 0; }
  .closing-panel { margin-top: .64rem; padding: .98rem; gap: .75rem; }
  .closing-panel h2 { font-size: 1.16rem; }
  .closing-panel p { font-size: .92rem; line-height: 1.45; margin: .38rem 0 0; }
  .site-footer { padding: .9rem .72rem; font-size: .84rem; }
}

@media (max-width: 520px) {
  .brand__copy strong { font-size: .9rem; }
  .brand__copy span { display: none; }
  .header-actions .button { min-height: 2.12rem; padding-inline: .38rem; font-size: .76rem; letter-spacing: -.01em; }
  .page-shell { width: min(100% - .55rem, 1120px); }
  .hero__content, .access-card, .info-card, .closing-panel { border-radius: 17px; }
  .hero h1 { max-width: 12.7ch; }
}

@media (orientation: landscape) and (max-height: 520px) and (max-width: 980px) {
  .site-header {
    grid-template-columns: minmax(9.5rem, auto) minmax(0, 1fr) auto;
    gap: .42rem;
    padding: .36rem .62rem;
  }
  .brand__sigil { width: 1.68rem; height: 1.68rem; }
  .brand__copy strong { font-size: .84rem; }
  .brand__copy span { display: none; }
  .header-actions {
    grid-column: auto;
    display: flex;
    justify-content: flex-end;
    align-items: center;
    flex-wrap: nowrap;
    gap: .32rem;
    min-width: 0;
    width: auto;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
  .header-actions .button {
    flex: 0 0 auto;
    min-height: 1.95rem;
    padding: .34rem .55rem;
    font-size: .72rem;
  }
  .menu-button { min-height: 1.95rem; padding: .34rem .58rem; font-size: .75rem; }
  .site-nav {
    grid-column: 1 / -1;
    position: absolute;
    top: calc(100% + .25rem);
    right: .5rem;
    width: min(18rem, calc(100vw - 1rem));
    box-shadow: 0 18px 34px rgba(16,43,53,.14);
  }
  .page-shell { padding-top: .44rem; width: min(100% - .7rem, 1120px); }
  .synapse-public-viewport { min-height: auto; padding-top: .42rem; padding-bottom: 1.4rem; }
  .active-chamber { padding: .30rem; gap: .48rem; border-radius: 20px; }
  .active-chamber::before, .active-chamber::after { display: none; }
  .hero { grid-template-columns: minmax(0, 1.28fr) minmax(10.5rem, .72fr); gap: .5rem; align-items: stretch; }
  .hero__content { padding: .82rem .88rem; }
  .eyebrow, .access-card__label { font-size: .58rem; margin-bottom: .38rem; }
  .hero h1 { font-size: clamp(1.45rem, 4.2vw, 2.35rem); line-height: 1.02; max-width: 16ch; }
  .hero__lede { font-size: .82rem; line-height: 1.42; margin: .55rem 0 0; }
  .hero__chips { display: none; }
  .hero__actions { margin-top: .65rem; gap: .32rem; }
  .hero__actions .button { width: auto; min-height: 1.95rem; padding: .34rem .52rem; font-size: .72rem; }
  .access-card { padding: .75rem; min-height: auto; }
  .access-card h2 { font-size: .96rem; margin-bottom: .25rem; }
  .access-card p { font-size: .76rem; line-height: 1.34; }
  .info-grid { grid-template-columns: repeat(3, minmax(0,1fr)); gap: .48rem; margin-top: .48rem; }
  .info-card { padding: .72rem; }
  .info-card h2 { font-size: .88rem; margin-bottom: .25rem; }
  .info-card p { font-size: .72rem; line-height: 1.30; }
  .closing-panel {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    padding: .76rem;
    margin-top: .48rem;
  }
  .closing-panel h2 { font-size: .98rem; margin-bottom: .2rem; }
  .closing-panel p { font-size: .76rem; line-height: 1.32; }
  .closing-panel__actions .button { min-height: 1.95rem; padding: .34rem .52rem; font-size: .72rem; }
}

@media (min-width: 861px) and (max-width: 1080px) {
  .site-header { padding-inline: 1rem; gap: .55rem; }
  .site-nav__link { padding-inline: .55rem; font-size: .86rem; }
  .header-actions .button { min-height: 2.25rem; padding: .48rem .7rem; font-size: .84rem; }
  .hero h1 { font-size: clamp(2.4rem, 5.8vw, 4.25rem); }
}
