/* Shared screen layout. Kept separate from the workspace guide's print design. */
@font-face { font-family: RSPlexSans; src: url('../fonts/ibm-plex-sans-regular.woff2') format('woff2'); font-weight: 400; font-display: swap; }
@font-face { font-family: RSPlexSans; src: url('../fonts/ibm-plex-sans-semibold.woff2') format('woff2'); font-weight: 600 700; font-display: swap; }
@media (min-width: 1920px) {
  html:has(> body[data-page]) { font-size: clamp(1rem, .833333vw, 2rem); }
}
body[data-page] { --site-width: 77.5rem; --site-gutter: 2rem; }
body[data-page] .site-nav { min-height: 4.5rem !important; }
body[data-page] .site-nav .site-nav-inner { max-width: var(--site-width) !important; min-height: 4.5rem !important; padding-inline: var(--site-gutter); }
body[data-page] .site-nav .site-nav-brand { width: 7.375rem !important; }
body[data-page] .site-nav-resources-panel { width: 20rem; max-height: calc(100svh - 6rem); }
body[data-page] .site-context-inner { min-height: 2.5rem; }
body[data-page] .section-nav .wrap { overflow-x: auto; }
body[data-page] :is(a,button,summary):focus-visible { outline: 2px solid var(--cyan); outline-offset: 4px; }
body[data-page]:not([data-page="landing"]) { --sans: RSPlexSans, 'IBM Plex Sans', sans-serif; font-family: var(--sans); }
body[data-page]:not([data-page="landing"]) .wrap { max-width: var(--site-width); padding-inline: var(--site-gutter); }
body[data-page]:not([data-page="landing"]) :is(.hero,.trust-hero,.reviews-hero,.blog-hero) {
  margin: 0; padding: 4.5rem 0; min-height: 0; border: 0; overflow: visible;
}
body[data-page]:not([data-page="landing"]) :is(.hero,.trust-hero,.reviews-hero,.blog-hero)::before { display: none !important; }
body[data-page]:not([data-page="landing"]) :is(h1,.hero h1,.trust-hero h1,.reviews-hero h1,.blog-hero h1,.blog-article-header h1) {
  font: 600 clamp(2.3rem,3.8vw,3.7rem)/1.12 var(--sans); letter-spacing: -.04em; max-width: 22ch;
}
body[data-page]:not([data-page="landing"]) :is(h2,.trust-copy h2,.team-intro h2,.team-section-heading h2,.team-close h2) {
  font: 600 clamp(1.6rem,2.5vw,2.4rem)/1.22 var(--sans); letter-spacing: -.025em;
}
body[data-page]:not([data-page="landing"]) :is(h3,.trust-copy h3) { font-family: var(--sans); line-height: 1.35; letter-spacing: -.015em; }
body[data-page]:not([data-page="landing"]) .eyebrow { font: 400 .7rem/1.5 var(--mono); margin-bottom: 1rem; }
body[data-page]:not([data-page="landing"]) .lede { max-width: 62ch; font: 400 1.0625rem/1.75 var(--sans); }
body[data-page]:not([data-page="landing"]) .band,
body[data-page]:not([data-page="landing"]) .team-section { padding-block: 4rem; }
body[data-page]:not([data-page="landing"]) :is(.btn,.button) { min-height: 2.875rem; padding: .75rem 1.25rem; border-radius: .3125rem; box-shadow: none; }
body[data-page]:not([data-page="landing"]) :is(.ctas,.hero-actions) { gap: 1rem; flex-wrap: wrap; }
body[data-page]:not([data-page="landing"]) :is(.hero-grid,.two,.team-offer-grid,.team-scope-grid) { gap: 3rem; }
body[data-page]:not([data-page="landing"]) :is(.hero-grid,.two,.team-offer-grid,.team-scope-grid) > * { min-width: 0; }
body[data-page]:not([data-page="landing"]) :is(pre,.cmpwrap) { max-width: 100%; overflow-x: auto; }
body[data-page]:not([data-page="landing"]) .cmp :is(th,td) { padding: .9rem; font-size: .82rem; line-height: 1.65; }
body[data-page]:not([data-page="landing"]) .cmp th { font-family: var(--sans); color: var(--white); }
body[data-page]:not([data-page="landing"]) .cmp td { color: var(--text); }
body[data-page]:not([data-page="landing"]) .site-footer { padding-top: 3rem; }

/* Legal and security text has a bounded reading measure and a quiet side index. */
body[data-page]:not([data-page="landing"]) .trust-layout { grid-template-columns: 13rem minmax(0,1fr); gap: 4rem; }
body[data-page]:not([data-page="landing"]) .trust-copy { max-width: 74ch; }
body[data-page]:not([data-page="landing"]) .trust-toc { border: 0; border-left: 1px solid var(--rule); background: transparent; padding: .5rem 1rem; top: 6rem; }
body[data-page]:not([data-page="landing"]) .trust-copy :is(p,li) { font: 400 1rem/1.8 var(--sans); }
body[data-page]:not([data-page="landing"]) .trust-copy h2 { font-size: 1.8rem; }
body[data-page]:not([data-page="landing"]) .trust-copy h3 { font-size: 1.1rem; }
body[data-page]:not([data-page="landing"]) .trust-meta { font-size: .8rem; }
body[data-page]:not([data-page="landing"]) .trust-snapshot { margin-top: 2rem; }
body[data-page]:not([data-page="landing"]) .trust-grid { border-radius: .25rem; box-shadow: none; }
body[data-page]:not([data-page="landing"]) .trust-grid :is(p,li) { font-size: .9rem; }

/* Enterprise and onboarding keep their product-specific controls and artwork. */
body[data-page="enterprise"] .team-hero { padding-block: 4.5rem 3rem; }
body[data-page="enterprise"] .team-intro h1 { max-width: 20ch; }
body[data-page="enterprise"] .team-plan { padding: 2rem; box-shadow: none; border-radius: .375rem; }
body[data-page="enterprise"] .team-plan h2 { font-size: 1.6rem; }
body[data-page="enterprise"] .team-feature h3 { font-size: 1.2rem; }
body[data-page="onboarding"] .hero-product-shot { min-width: 0; width: 100%; max-width: none; }
body[data-page="onboarding"] .hero-grid { grid-template-columns: minmax(0,1fr) minmax(0,1fr); }

/* Research typography scales with the screen; paragraphs never stretch across it. */
body[data-page="blog"] .blog-article-header { padding-block: 3rem; }
body[data-page="blog"] .blog-article-header h1 { max-width: 26ch; }
body[data-page="blog"] .blog-prose { max-width: 54rem; font: 400 1rem/1.8 var(--sans); padding-block: 3rem; }
body[data-page="blog"] .blog-prose h2 { font-size: 1.8rem; }
body[data-page="blog"] .blog-prose h3 { font-size: 1.25rem; }
body[data-page="blog"] .blog-card h2 { font-size: 1.6rem; }
body[data-page="blog"] .blog-card-copy { padding: 1.75rem; }
body[data-page="blog"] .blog-card-image { margin: 1.75rem 1.75rem 0; }
body[data-page="blog"] .live-investigation-stage { height: 40rem; }
@media (min-width: 2560px) { body[data-page="blog"] .live-investigation-stage { --investigation-scale: 1; } }
@media (min-width: 3200px) { body[data-page="blog"] .live-investigation-stage { --investigation-scale: 1.25; } }
@media (min-width: 3840px) { body[data-page="blog"] .live-investigation-stage { --investigation-scale: 1.5; } }
body[data-page="reviews"] .reviews-subtitle { max-width: 65ch; font: 400 1.0625rem/1.75 var(--sans); }
body[data-page="reviews"] .live-tile { min-height: 17rem; }
body[data-page="reviews"] .research-set { max-width: none; }

/* The six-page PDF is intentionally unaffected by this screen-only sheet. */
body[data-page="agent-environment"] .print-page { max-width: var(--site-width); margin: 0 auto; padding: 4rem var(--site-gutter); min-height: 0; background-image: none; }
body[data-page="agent-environment"] .print-page::before { display: none; }
body[data-page="agent-environment"] .print-page.hero { padding-top: 3rem; }
body[data-page="agent-environment"] .hero-grid { grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 3rem; }
body[data-page="agent-environment"] .page-index { margin-bottom: 2.5rem; }
body[data-page="agent-environment"] .hero-shot { max-width: none; transform: none; }
body[data-page="agent-environment"] .section-intro { gap: 3rem; }
body[data-page="agent-environment"] .current-layout { max-width: none; }
body[data-page="agent-environment"] :is(.gap-grid p,.security-grid p,.cap-panel p,.status-card li,.value-stack p) { font: 400 .94rem/1.7 var(--sans); }
body[data-page="agent-environment"] :is(.frame-bar,.product-frame figcaption,.proof-row span,.trust-strip p,.boundary,.final-boundaries) { font-size: .78rem; }
body[data-page="agent-environment"] .page-foot { position: static; margin-top: 2rem; text-align: right; }
body[data-page="agent-environment"] .arch-flow { grid-template-columns: 1fr 4rem 1fr 4rem 1fr; }
body[data-page="agent-environment"] .arch-node { padding: 1.25rem; }
body[data-page="agent-environment"] .arch-node p { font-size: .85rem; }
body[data-page="agent-environment"] .print-page:nth-child(even) { background-color: #020404; }

@media (min-width: 1600px) {
  body[data-page] { --site-width: 94rem; --site-gutter: 3rem; }
  body[data-page] .site-nav .site-nav-brand { width: 8rem !important; }
  body[data-page]:not([data-page="landing"]) :is(.hero,.trust-hero,.reviews-hero,.blog-hero,.team-hero) { padding-block: 5rem; }
  body[data-page="agent-environment"] .print-page.hero { padding: 4rem var(--site-gutter); }
}
@media (max-width: 900px) {
  body[data-page] { --site-gutter: 1.5rem; }
  body[data-page]:not([data-page="landing"]) .trust-layout { grid-template-columns: 1fr; gap: 2rem; }
  body[data-page]:not([data-page="landing"]) .trust-toc { position: static; display: flex; flex-direction: row; flex-wrap: wrap; gap: .75rem 1.25rem; border: 0; border-bottom: 1px solid var(--rule); padding: 0 0 1.5rem; }
  body[data-page]:not([data-page="landing"]) .trust-toc strong { width: 100%; }
  body[data-page="onboarding"] .hero-grid,
  body[data-page="agent-environment"] .hero-grid { grid-template-columns: 1fr; }
  body[data-page="agent-environment"] .print-page { padding-block: 3rem; }
}
@media (max-width: 640px) {
  body[data-page] .site-nav, body[data-page] .site-nav .site-nav-inner { min-height: 4rem !important; }
  body[data-page]:not([data-page="landing"]) :is(.hero,.trust-hero,.reviews-hero,.blog-hero,.team-hero) { padding-block: 2.75rem; }
  body[data-page]:not([data-page="landing"]) .band, body[data-page]:not([data-page="landing"]) .team-section { padding-block: 2.5rem; }
  body[data-page]:not([data-page="landing"]) :is(h1,.hero h1,.trust-hero h1,.reviews-hero h1,.blog-hero h1,.blog-article-header h1) { font-size: 2.3rem; overflow-wrap: break-word; }
  body[data-page]:not([data-page="landing"]) :is(.hero-grid,.two,.team-offer-grid,.team-scope-grid) { gap: 2rem; }
  body[data-page]:not([data-page="landing"]) .cmpwrap { overflow-x: auto; }
  body[data-page]:not([data-page="landing"]) .cmp { min-width: 42rem; }
  body[data-page="agent-environment"] .arch-flow { grid-template-columns: 1fr; }
  body[data-page="agent-environment"] .print-page { padding-inline: var(--site-gutter); }
  body[data-page="agent-environment"] .hero-grid { gap: 2rem; }
}

/* Override fixed-width legacy document shells as well as their generic wrappers. */
body[data-page="agent-environment"] .print-page.hero { margin-inline: auto; }
body[data-page="blog"].blog-index .blog-hero .wrap,
body[data-page="blog"].blog-index .blog-listing { max-width: var(--site-width); }
body[data-page="blog"].blog-index .blog-hero h1 { max-width: 26ch; font-size: clamp(2.3rem,3.8vw,3.7rem); }
body[data-page="blog"].blog-index .blog-card { grid-template-columns: 16rem minmax(0,1fr); gap: 2rem; }
body[data-page="blog"] .blog-prose.wrap { max-width: 54rem; }
body[data-page]:not([data-page="landing"]) .trust-snapshot { max-width: 74ch; }
@media (max-width: 640px) {
  body[data-page="blog"].blog-index .blog-card { grid-template-columns: minmax(0,1fr) 6rem; gap: .75rem 1rem; }
}
body[data-page="agent-environment"] .print-page.hero { padding-inline: var(--site-gutter); }
