/* Shared primary-content geometry. Load after component/theme styles.
   Forms, authentication panels, cards, dialogs and editorial articles keep
   their own component dimensions; only page shells and copy use this system. */
:root { --go3d-content-gutter: clamp(20px, 3vw, 64px); }
.container, .news-shell, .tech-shell, .vt-shell, .rentals-shell, main.portal-shell {
  width: calc(100% - var(--go3d-content-gutter) * 2);
  max-width: none;
  margin-inline: auto;
  min-width: 0;
}
/* Deliberately retain the article template's editorial reading column. */
.blog-article-main > .container { max-width: 1240px; }
main :is(h1, h2, h3, p, li) { overflow-wrap: break-word; }
main :is(h1, h2) { min-width: 0; text-wrap: wrap; }
main :is(.studio-split, .studio-hero-grid, .priority-split, .f-split,
  .f-hero-grid, .about-hero-grid, .about-intro, .about-feature,
  .about-press, .about-industry-grid, .about-capabilities,
  .fbs-split, .fbs-story-grid, .fbs-use-grid, .fbs-process,
  .tech-hero-heading, .tech-output-layout, .rental-hero-grid,
  .rental-section-heading, .vt-hero-heading, .ps-audience,
  .ps-capture, .ps-handoff, .capability-grid) > * { min-width: 0; }
/* Side-by-side title/intro composition expands proportionally with the page. */
@media (min-width: 651px) {
  .tech-section-head { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); }
}
/* A wider project shell must not enlarge the sign-in panel. */
@media (min-width: 801px) {
  main.portal-shell .login-layout { max-width: 1240px; margin-inline: auto; }
}
