/* Product, consulting and bespoke reading layouts share the wide-screen grid.
   Outer sections own the edge inset; nested content keeps its own reading measure. */
@media (min-width: 1800px) and (min-height: 800px) {
  body:is(.product-detail, .bespoke-detail, .qms-detail, .suite-page) {
    --wide-section-space: clamp(100px, 4.5vw, 160px);
    --wide-column-gap: clamp(64px, 3.6vw, 128px);
    --wide-subheading: clamp(28px, 1.15vw, 40px);
  }

  /* Full-bleed surfaces with a single aligned content grid. */
  body:is(.product-detail, .bespoke-detail) main > :is(.service-section, .product-evidence, .service-closing, .adoption-start, .product-next-steps, .mq-family-links),
  body.qms-detail .qms-wrap {
    width: 100%;
    max-width: none;
    margin-inline: 0;
    padding-inline: var(--wide-edge);
    padding-block: var(--wide-section-space);
  }

  body.suite-page main > section {
    padding-inline: var(--wide-edge);
  }

  body:is(.product-detail, .bespoke-detail) .service-subnav,
  body.qms-detail .qms-subnav {
    padding-inline: var(--wide-edge);
    gap: 16px clamp(36px, 2vw, 72px);
    font-size: var(--wide-small);
  }

  body.product-detail .adoption-inner {
    max-width: none;
  }

  /* The film remains full width while its copy follows the page grid. */
  body.cinematic-detail .cinematic-hero .content {
    padding: clamp(154px, 12svh, 220px) var(--wide-edge) clamp(90px, 9svh, 140px);
  }

  body.cinematic-detail .cinematic-hero h1 {
    max-width: min(100%, calc(var(--wide-content) * .78));
    font-size: max(84px, min(var(--wide-title), 8.4svh));
    line-height: 1.24;
  }

  body.cinematic-detail .cinematic-hero .content > p:not(.eyebrow) {
    max-width: 36em;
    font-size: var(--wide-body);
    line-height: 1.85;
  }

  body.cinematic-detail .cinematic-hero :is(.eyebrow, .qms-back),
  body.product-family-detail .cinematic-hero .product-purpose {
    font-size: var(--wide-small);
  }

  body.product-detail .product-signature {
    font-size: clamp(26px, 1.05vw, 36px);
  }

  body.product-detail .product-signature::before,
  body.product-detail .product-signature > img {
    width: clamp(42px, 1.55vw, 56px);
    height: clamp(42px, 1.55vw, 56px);
  }

  /* Product and bespoke sections retain their existing editorial hierarchy. */
  body:is(.product-detail, .bespoke-detail) .evidence-heading {
    column-gap: var(--wide-column-gap);
    margin-bottom: clamp(48px, 2.6vw, 88px);
  }

  body:is(.product-detail, .bespoke-detail) :is(.evidence-heading h2, .service-closing h2),
  body.suite-page :is(.suite-comparison, .suite-connect) h2 {
    font-size: max(50px, var(--wide-heading));
  }

  body:is(.product-detail, .bespoke-detail) :is(.evidence-heading p, .evidence-steps p, .workflow-stage p, .service-terms dd, .foundation-return, .service-related, .service-closing p, .delivery-list p) {
    font-size: var(--wide-body);
    line-height: 1.85;
    max-width: 36em;
    text-wrap: pretty;
  }

  body:is(.product-detail, .bespoke-detail) :is(.evidence-steps h3, .service-terms dt, .foundation-map > p:first-child, .foundation-map ol, .delivery-list h3) {
    font-size: var(--wide-subheading);
    line-height: 1.5;
  }

  body:is(.product-detail, .bespoke-detail) :is(.evidence-screen figcaption, .foundation-map > p:first-child span, .section-kicker, .delivery-list span),
  body.product-detail .evidence-steps li::before {
    font-size: var(--wide-small);
  }

  body.product-detail :is(.evidence-steps, .adoption-questions),
  body:is(.product-detail, .bespoke-detail) .service-terms > div {
    column-gap: var(--wide-column-gap);
  }

  body.product-detail .workflow-stage {
    margin-top: clamp(88px, 4vw, 144px);
  }

  body.product-detail .workflow-stage > .workflow-caption {
    padding-left: clamp(64px, 2.5vw, 88px);
    margin-bottom: clamp(32px, 1.6vw, 56px);
  }

  body.product-detail .workflow-caption > div {
    column-gap: var(--wide-column-gap);
  }

  body.product-detail .workflow-caption h3 {
    font-size: clamp(32px, 1.4vw, 48px);
  }

  body.product-detail .workflow-number {
    font-size: var(--wide-body);
  }

  body.product-detail .evidence-screen > a {
    padding: clamp(16px, .8vw, 28px);
  }

  body.product-detail .adoption-start h3 {
    font-size: max(76px, min(var(--wide-title), 9svh));
  }

  body.product-detail .adoption-start h3 span {
    font-size: var(--wide-subheading);
  }

  body.product-detail .adoption-start :is(.adoption-intro, .adoption-questions p, .adoption-reassurance p:last-child) {
    font-size: var(--wide-body);
  }

  body.product-detail .adoption-questions h4 {
    font-size: clamp(22px, .95vw, 33px);
  }

  body.product-detail .adoption-questions li > span,
  body.product-detail .adoption-start .adoption-promise {
    font-size: var(--wide-subheading);
  }

  body.product-detail .adoption-reassurance > div {
    max-width: 40em;
  }

  body.product-detail .adoption-start .button {
    width: auto;
    min-width: clamp(260px, 12vw, 410px);
  }

  /* These columns sit inside an already inset parent. */
  body.product-detail .product-next-steps > :is(.service-closing, .gallery-entry) {
    width: auto;
    max-width: none;
    padding-block: 0;
  }

  body.product-detail .product-next-steps > .service-closing {
    padding-left: 0;
    padding-right: calc(var(--wide-column-gap) / 2);
  }

  body.product-detail .product-next-steps > .gallery-entry {
    padding-left: calc(var(--wide-column-gap) / 2);
    padding-right: 0;
  }

  body.product-detail .product-next-steps h2 {
    font-size: clamp(38px, 1.7vw, 60px);
  }

  body.product-detail .product-next-steps p {
    max-width: 36em;
    font-size: var(--wide-body);
  }

  body.product-detail .product-next-steps .eyebrow,
  body:is(.product-detail, .bespoke-detail) .mq-family-links small {
    font-size: var(--wide-small);
  }

  body:is(.product-detail, .bespoke-detail) .mq-family-links a > span {
    font-size: var(--wide-subheading);
  }

  /* Consulting sections previously combined a capped wrapper with wide padding. */
  body.qms-detail :is(.qms-intro, .qms-scope, .qms-evidence-intro, .qms-document, .qms-process, .qms-faq) {
    column-gap: var(--wide-column-gap);
  }

  body.qms-detail h2 {
    font-size: max(54px, var(--wide-heading));
  }

  body.qms-detail :is(.qms-intro > p:last-child, .qms-heading > p:last-child, .qms-services p, .qms-evidence-intro > p, .qms-document-copy > p:not(.eyebrow), .qms-document dd, .qms-process-list p, .qms-faq details p, .qms-closing-bottom p) {
    max-width: 36em;
    font-size: var(--wide-body);
    line-height: 1.85;
    text-wrap: pretty;
  }

  body.qms-detail :is(.qms-services h3, .qms-process-list h3) {
    font-size: var(--wide-subheading);
  }

  body.qms-detail .qms-document-copy h3 {
    font-size: clamp(40px, 1.8vw, 62px);
  }

  body.qms-detail :is(.qms-services article > span, .qms-services small, .qms-evidence-intro small, .qms-document dt, .qms-process-list b) {
    font-size: var(--wide-small);
  }

  body.qms-detail .qms-services article {
    grid-template-columns: clamp(32px, 1.5vw, 52px) minmax(0, 1fr);
    gap: clamp(18px, 1vw, 36px);
    padding-block: clamp(32px, 1.5vw, 52px);
  }

  body.qms-detail .qms-services article:first-child {
    padding-top: 0;
  }

  body.qms-detail .qms-paper {
    max-width: 900px;
    padding-right: 0;
  }

  body.qms-detail .qms-process-list article {
    padding-left: clamp(32px, 1.5vw, 52px);
    padding-bottom: clamp(30px, 1.8vw, 64px);
  }

  body.qms-detail .qms-faq details {
    padding-block: clamp(24px, 1.2vw, 42px);
  }

  body.qms-detail .qms-faq summary {
    font-size: clamp(22px, .9vw, 31px);
  }

  /* Bespoke disclosure labels and delivery steps grow with their body copy. */
  body.bespoke-detail #scope .service-terms,
  body.bespoke-detail #delivery .delivery-list {
    column-gap: var(--wide-column-gap);
  }

  body.bespoke-detail .infrastructure-flow strong,
  body.bespoke-detail .db-disclosure-title,
  body.bespoke-detail #delivery .delivery-list h3 {
    font-size: var(--wide-subheading);
  }

  body.bespoke-detail :is(.infrastructure-note, .db-disclosure-note, .infrastructure-flow > div > span, #delivery .delivery-list span) {
    max-width: 56em;
    font-size: var(--wide-small);
  }

  body.bespoke-detail :is(.db-disclosure-subtitle, .db-disclosure-content .service-terms dd, #delivery .delivery-list p, .service-closing p) {
    font-size: var(--wide-body);
    max-width: 36em;
    line-height: 1.85;
  }

  body.bespoke-detail .db-disclosure-content .service-terms > div {
    grid-template-columns: minmax(280px, .5fr) minmax(0, 1fr);
    column-gap: var(--wide-column-gap);
    padding-block: 24px;
  }

  body.bespoke-detail .db-disclosure-content .service-terms dt {
    font-size: clamp(22px, .9vw, 31px);
  }

  body.bespoke-detail .db-disclosure > summary {
    grid-template-columns: minmax(280px, .6fr) minmax(0, 1fr) 28px;
    gap: var(--wide-column-gap);
    padding-block: clamp(28px, 1.4vw, 48px);
  }

  body.bespoke-detail #delivery .delivery-list li::before {
    font-size: clamp(36px, 1.5vw, 52px);
  }

  body.bespoke-detail .service-closing {
    column-gap: var(--wide-column-gap);
  }

  /* Q-Suite keeps the product screenshots large and copy at a readable measure. */
  body.suite-page .suite-intro {
    padding-block: clamp(170px, 12svh, 220px) clamp(80px, 4vw, 144px);
  }

  body.suite-page .suite-hero-copy {
    max-width: clamp(760px, 40vw, 1380px);
  }

  body.suite-page .suite-intro h1.suite-wordmark {
    font-size: max(84px, min(var(--wide-title), 8.4svh));
  }

  body.suite-page .suite-wordmark .suite-q {
    width: clamp(80px, 4vw, 136px);
    height: clamp(80px, 4vw, 136px);
    flex-basis: clamp(80px, 4vw, 136px);
  }

  body.suite-page .suite-tagline {
    font-size: max(46px, var(--wide-heading));
  }

  body.suite-page :is(.suite-lead, .suite-product-copy > p:not(.eyebrow), .suite-connect > p:not(.eyebrow)) {
    max-width: 36em;
    font-size: var(--wide-body);
    line-height: 1.85;
  }

  body.suite-page .suite-index {
    gap: clamp(50px, 4vw, 144px);
    margin-top: clamp(52px, 3vw, 104px);
  }

  body.suite-page .suite-index > a {
    font-size: clamp(24px, 1vw, 35px);
  }

  body.suite-page :is(.suite-index small, .suite-product figcaption, .suite-table-hint) {
    font-size: var(--wide-small);
  }

  body.suite-page .suite-product {
    column-gap: var(--wide-column-gap);
    padding-block: var(--wide-section-space);
  }

  body.suite-page .suite-product h2 {
    font-size: max(50px, var(--wide-heading));
  }

  body.suite-page .suite-product h3 {
    max-width: 23em;
    font-size: var(--wide-subheading);
  }

  body.suite-page .suite-product-name .suite-q {
    width: clamp(48px, 2vw, 72px);
    height: clamp(48px, 2vw, 72px);
    flex-basis: clamp(48px, 2vw, 72px);
  }

  body.suite-page :is(.suite-comparison, .suite-connect) {
    padding-block: var(--wide-section-space);
  }

  body.suite-page .suite-comparison table {
    font-size: var(--wide-body);
  }

  body.suite-page .suite-comparison :is(th, td) {
    padding: clamp(26px, 1.4vw, 48px) clamp(20px, 1vw, 36px);
  }

  body.suite-page .suite-comparison thead th[data-suite-product] {
    font-size: var(--wide-subheading);
  }

  body.suite-page .suite-actions .button {
    width: auto;
    min-width: 22em;
  }
}

/* Keep the disclosure icon and the longer consultation label inside phone layouts. */
@media (max-width: 700px) {
  body.bespoke-detail .db-disclosure > summary {
    grid-template-columns: minmax(0, 1fr) 28px;
  }

  body.bespoke-detail .db-disclosure > summary > span {
    min-width: 0;
  }

  body.suite-page main .suite-actions .button {
    width: 100%;
    min-width: 0;
    height: auto;
    min-height: 60px;
  }

  body.suite-page main .suite-actions .button-label {
    white-space: normal;
    overflow-wrap: break-word;
  }
}
