/* October review: shared navigation, safe editorial grids and operator surfaces. */
.design-v2 > header { grid-template-columns: auto minmax(0,1fr); gap: 2rem; padding-inline: max(1rem,calc((100% - 1680px)/2)); }
.design-v2 > header .header-right { max-width: none; min-width: 0; padding: 0; }
.design-v2 > header nav { justify-content: flex-end; flex-wrap: nowrap; }
.design-v2 > header nav > ul { flex-wrap: nowrap; }
.design-v2 > header nav > ul > li > a,
.design-v2 > header .site-nav-top-link,
.design-v2 > header .nav-dropdown-toggle { white-space: nowrap; }
.design-v2 > header .site-nav-primary > li.hidden { display: none !important; }
.design-v2 > header nav .nav-dropdown-menu { z-index: 110; }

/* Grid items must shrink inside their columns, including their text. */
.design-v2 main :is(section,article,div,aside,figure) { min-width: 0; }
.design-v2 main h1,
.design-v2 main h2,
.design-v2 main h3 { overflow-wrap: normal; word-break: normal; hyphens: none; }
.design-v2 main :is(.tp-section-heading,.ddp-metadata,.ddp-integrity,.service-scope,.service-context,.about-principles,.jsfx-detail-range,.jsfx-detail-listen,.studio-listening,.work-case-story) h2 { font-size: clamp(1.8rem,3vw,3rem); line-height: 1.14; }
.studio-effect h3 { font-size: clamp(1.8rem,3vw,2.5rem); line-height: 1.12; }
.software-tool-grid h3 { font-size: clamp(1.8rem,3vw,2.5rem); line-height: 1.12; }
.studio-utility-visual { height: clamp(240px,30vw,420px); min-height: 0; }
.software-hero h1 { font-size: clamp(2.6rem,4.5vw,4.5rem); line-height: 1.06; }
.hardware-hero h1 { font-size: clamp(3rem,5vw,5rem); line-height: 1.02; }
.ddp-hero h1 { font-size: clamp(2.6rem,4.2vw,4.5rem); line-height: 1.08; }
.jsfx-detail-hero h1 { font-size: clamp(2.6rem,4vw,4.25rem); line-height: 1.08; }
.work-case h2 { font-size: clamp(1.65rem,2.3vw,2.3rem); line-height: 1.15; }
.work-case h2 { overflow-wrap: break-word; }
.field-note-hero h1 { font-size: clamp(2.6rem,4.2vw,4.5rem); line-height: 1.08; }
.legal-v2-hero h1 { max-width: none; font-size: clamp(2rem,3.8vw,3.8rem); line-height: 1.15; overflow-wrap: break-word; hyphens: auto; }
.contact-form label { color: var(--tp-soot); }
.auth-page-v2 .auth-form label,
.member-page-v2 .member-form label { color: var(--tp-soot); }
.auth-page-v2 .auth-form :is(input,select,textarea),
.member-page-v2 .member-form :is(input,select,textarea) { color: var(--tp-soot); caret-color: var(--tp-soot); }
.utility-tool-page-v2 .signal-generator label { color: var(--tp-soot); }
.design-v2 main img,
.design-v2 main svg { max-width: 100%; }
.labs-hero { grid-template-columns: minmax(0,1fr) minmax(0,1fr); min-height: 0; }
.labs-hero-copy { padding: clamp(3rem,6vw,6rem) clamp(1.5rem,3vw,3rem) clamp(3rem,6vw,6rem) max(1rem,calc((100vw - 1380px)/2)); }
.labs-hero h1 { max-width: none; font-size: clamp(2.4rem,4.5vw,5rem); line-height: 1.08; letter-spacing: -.055em; }
.labs-scope { padding: clamp(1.5rem,3vw,3rem); }
.labs-scope-screen { min-height: 360px; }
.labs-tool-copy h2 { font-size: clamp(1.8rem,3vw,3rem); line-height: 1.14; }
.service-detail-hero { gap: clamp(2rem,4vw,4rem); grid-template-columns: minmax(0,1fr) minmax(0,1fr); }
.service-detail-hero h1 { font-size: clamp(3rem,5.2vw,5.8rem); line-height: 1.06; }
.service-detail-hero > div:first-child { container-type: inline-size; }
@supports (font-size: 1cqw) {
  .service-detail-hero h1 { font-size: clamp(2.5rem,13cqw,5.8rem); }
}
.service-signal { width: 100%; max-width: 100%; }
.labs-flow { margin: 0 0 3rem; }
.labs-workflow .labs-flow ol { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 1px; padding: 1px; border: 0; background: var(--tp-line); }
.labs-workflow .labs-flow li { display: block; min-width: 0; padding: 1.25rem; border: 0; background: var(--tp-bone-soft); }
.labs-flow li :is(span,strong,small) { display: block; }
.labs-flow li strong { margin: .65rem 0 .5rem; font-size: 1rem; }
.labs-flow li small { line-height: 1.4; }
.labs-flow figcaption { margin: .8rem 0 0; font-size: .95rem; line-height: 1.5; }
.quickstart-page-v2 .quickstart-hero { padding-block: clamp(2rem,4vw,4rem); gap: 2rem; }
.quickstart-page-v2 .quickstart-hero h1 { max-width: none; font-size: clamp(2rem,3.5vw,3rem); line-height: 1.12; }
.checkout-result-content h1 { font-size: clamp(2rem,3.5vw,3rem); line-height: 1.12; }

/* Existing admin routes keep their controls and IDs, with the current brand. */
.design-v2.admin-surface-page { background: var(--tp-bone); color: var(--tp-soot); }
.design-v2.admin-surface-page { --color-text: var(--tp-soot); --color-text-alt: var(--tp-moss); --color-border: var(--tp-line); --color-surface-2: var(--tp-bone-soft); }
.design-v2.admin-surface-page :is(.admin-users-page,.admin-products-page,.admin-access-page,.admin-kbridge-page) { --admin-soft: var(--tp-line); --admin-strong: var(--tp-line); --admin-border-soft: var(--tp-line); --admin-border-strong: var(--tp-line); --access-border: var(--tp-line); --admin-card: var(--tp-bone-soft); --admin-card-alt: var(--tp-bone-soft); --ops-panel: var(--tp-bone-soft); --ops-panel-alt: var(--tp-bone-soft); }
.design-v2.admin-surface-page :is(.admin-users-hero,.admin-products-hero,.access-hero,.admin-kbridge-hero,.admin-products-toolbar,.admin-products-list-panel,.admin-products-editor,.admin-products-catalog,.access-controls,.access-chart,.ops-toolbar,.ops-jobs,.ops-job-detail,.ops-detail,.ops-panel) { color: var(--tp-soot); background: var(--tp-bone-soft) !important; border-color: var(--tp-line); border-radius: 0; box-shadow: none; }
.design-v2.admin-surface-page .option-chip { background: var(--tp-bone) !important; color: var(--tp-soot); border-color: var(--tp-line); }
.design-v2.admin-surface-page .access-panel { color: var(--tp-soot); background: var(--tp-bone-soft) !important; border-color: var(--tp-line); border-radius: 0; }
.design-v2.admin-surface-page .top-days-list strong { color: var(--tp-aubergine-deep); }
.design-v2.admin-surface-page :is(.status-badge,.status-pill,.ops-badge,.product-badge,.badge) { color: var(--tp-soot); background: var(--tp-bone); border-color: var(--tp-line); }
.design-v2.admin-surface-page :is(.tag-pill,.state-pill,.state-pill-ok) { color: var(--tp-soot); }
.design-v2.admin-surface-page .product-row-description { color: var(--tp-soot); }
.design-v2.admin-surface-page main { overflow: visible; }
.design-v2.admin-surface-page .page-layout { grid-template-columns: 230px minmax(0,1fr); max-width: 1600px; gap: 2.5rem; margin: 2rem auto 4rem; padding: 0 1rem; }
.design-v2.admin-surface-page .page-layout > .content { grid-column: 2; }
.design-v2.admin-surface-page .content-inner { max-width: none; padding: 0; }
.design-v2.admin-surface-page :is(.card,.sidebar,.admin-toolbar-card,.trust-panel) { color: var(--tp-soot); background: var(--tp-bone-soft) !important; border: 1px solid var(--tp-line); border-radius: 0; box-shadow: none !important; }
.design-v2.admin-surface-page .sidebar { position: static; width: 100%; margin: 0; padding: 1.25rem; align-self: start; }
.design-v2.admin-surface-page .sidebar h3 { font-size: 1rem; }
.design-v2.admin-surface-page .sidebar a { color: var(--tp-soot); line-height: 1.35; }
.design-v2.admin-surface-page h1 { margin: 0 0 1rem; font-size: clamp(1.8rem,3vw,2.8rem); line-height: 1.15; }
.design-v2.admin-surface-page h2 { font-size: clamp(1.25rem,2vw,1.65rem); line-height: 1.25; }
.design-v2.admin-surface-page :is(label,th,td,small,.muted) { color: var(--tp-soot); }
.design-v2.admin-surface-page :is(input,select,textarea) { max-width: 100%; color: var(--tp-soot) !important; background: var(--tp-bone-soft) !important; border: 1px solid var(--tp-line); border-radius: 0; }
.design-v2.admin-surface-page main :is(.btn,button) { color: var(--tp-bone-soft); background: var(--tp-aubergine-deep); border: 1px solid var(--tp-aubergine-deep); }
.design-v2.admin-surface-page main .btn-link { color: var(--tp-soot); background: transparent; border-color: var(--tp-line); }
.design-v2.admin-surface-page main .btn-danger { color: var(--tp-soot); background: var(--color-accent); border-color: var(--color-accent); }
.design-v2.admin-surface-page :is(.btn,button) { max-width: 100%; border-radius: 0; }
.design-v2.admin-surface-page .btn-primary { color: var(--tp-bone-soft); background: var(--tp-aubergine-deep); }
.design-v2.admin-surface-page tbody tr:hover,
.design-v2.admin-surface-page tbody tr:focus-within { background: var(--tp-bone); }
.design-v2.admin-surface-page :is(th,td) { border-color: var(--tp-line); }
.design-v2.admin-surface-page :is(.table-wrap,.table-wrapper,.table-responsive) { max-width: 100%; overflow-x: auto; }
.design-v2.admin-surface-page .cards { display: grid; grid-template-columns: repeat(auto-fit,minmax(min(100%,280px),1fr)); gap: 1rem; }
.design-v2.admin-surface-page .card { padding: 1.5rem; }
.design-v2.admin-surface-page .card :is(h2,h3):first-child { margin-top: 0; }
.design-v2.admin-surface-page .metric { color: var(--tp-aubergine-deep); }
.design-v2.admin-surface-page :is(label.check,label.check-inline) { display: flex; align-items: center; justify-content: flex-start; gap: .6rem; }
.design-v2.admin-surface-page input[type="checkbox"] { flex: 0 0 auto; width: 1.1rem; height: 1.1rem; margin: 0; }
.design-v2.admin-surface-page a { color: var(--tp-moss); }
.design-v2.admin-surface-page > footer a { color: var(--tp-bone-soft); }
.design-v2.admin-surface-page .error { color: var(--tp-aubergine-deep); }

@media (max-width: 1760px) {
  .design-v2 > header { grid-template-columns: minmax(0,1fr) auto; gap: 0; padding-inline: max(1rem,calc((100% - 1380px)/2)); }
  .design-v2 > header nav { display: grid; }
  .design-v2 > header .site-nav-primary > li:not(.hidden) { display: block !important; }
  .design-v2 > header #auth-nav { flex-wrap: wrap; }
  .design-v2 > header .nav-dropdown.open .nav-dropdown-menu { position: static; min-width: 0; margin-top: .5rem; box-shadow: none; }
}
@media (max-width: 1100px) {
  .labs-hero,
  .service-detail-hero { grid-template-columns: 1fr; }
  .service-detail-hero { min-height: 0; }
  .labs-hero-copy { padding-inline: 1.5rem; }
  .labs-scope-screen { min-height: 300px; }
  .studio-effect { grid-template-columns: minmax(0,1fr); }
  .studio-effect > * { grid-column: 1; grid-row: auto; }
  .design-v2.admin-surface-page .page-layout { grid-template-columns: minmax(0,1fr); gap: 1.5rem; }
  .design-v2.admin-surface-page .page-layout > .content { grid-column: 1; }
  .design-v2.admin-surface-page .sidebar ul { display: flex; flex-wrap: wrap; gap: .3rem 1rem; }
}
@media (max-width: 680px) {
  .fire2-title-lockup h1 { font-size: clamp(1.9rem,10vw,2.6rem); }
  .fire2-delivery-proof-copy h2 { max-width: none; font-size: clamp(1.6rem,7.5vw,2rem); }
  .design-v2 > header .brand-text { display: inline-block; font-size: 1.12rem; }
  .labs-hero-copy,.labs-scope { padding-inline: 1rem; }
  .service-detail-hero h1 { font-size: clamp(2.4rem,11vw,3.4rem); }
  .design-v2.admin-surface-page :is(table,pre) { display: block; max-width: 100%; overflow-x: auto; }
  .design-v2.admin-surface-page #orders-table :is(th,td):last-child { position: sticky; right: 0; background: var(--tp-bone-soft); box-shadow: -1px 0 var(--tp-line); }
  .labs-workflow .labs-flow ol { grid-template-columns: 1fr; }
}
