/* Product pages only. Existing Strata tokens supply every authored colour. */
/* Keep the expanded no-script navigation in normal flow so it cannot cover reading controls. */
html:not([data-site-nav-js]) .product-detail-page .site-header { position: static; }
.product-page {
  --pp-width: var(--content-width);
  --pp-gutter: clamp(20px, 4vw, 42px);
  --pp-section-space: 80px;
  --pp-gap: clamp(28px, 5vw, 72px);
  --pp-heading: var(--c-hub-title);
  margin: 0; padding: 0; max-width: none; overflow: visible;
  color: var(--site-secondary); font-size: 17px; line-height: 1.65;
}
.product-page :is(h1,h2,h3,p,figure,dl,dd,ol) { margin: 0; }
.product-page :is(h1,h2,h3) { color: var(--pp-heading); text-wrap: balance; }
.product-page h1 { font: 600 clamp(36px,4.5vw,60px)/1.1 var(--font-display); letter-spacing: -.045em; overflow-wrap: anywhere; }
.product-page h1 span { display: block; color: var(--c-colour-bronze); margin-top: 8px; }
.product-page h2 { font: 600 clamp(28px,3.1vw,40px)/1.18 var(--font-display); letter-spacing: -.035em; }
.product-page h3 { font: 600 20px/1.35 var(--font-sans); letter-spacing: -.015em; }
.product-page :is(p,dd,dt,a,summary,figcaption) { overflow-wrap: anywhere; }
.product-page p { max-width: 68ch; }
.product-page .pp-inner { width: min(100%,calc(var(--pp-width) + 2 * var(--pp-gutter))); margin-inline: auto; padding-inline: var(--pp-gutter); }
.product-page .pp-split { display: grid; grid-template-columns: minmax(0,1.05fr) minmax(0,.95fr); gap: var(--pp-gap); align-items: center; }
.product-page .pp-split > *, .product-page figure { min-width: 0; }
.product-page .pp-hero { padding-block: 88px 80px; }
.product-page .pp-brand-surface {
  --site-bg: var(--ds-colour-bg-dark); --site-surface: var(--ds-colour-surface-dark);
  --site-secondary: var(--ds-colour-mist-light); --site-text: var(--ds-colour-paper-dark);
  --site-muted: var(--ds-colour-mist-light); --site-border: var(--ds-colour-mist-dark);
  --site-focus: var(--ds-colour-paper-dark); --pp-heading: var(--ds-colour-paper-dark);
  --c-colour-bronze: var(--ds-colour-bronze-dark);
  background: var(--ds-colour-bg-dark); color: var(--site-secondary);
}
.product-page .pp-identity { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; margin-bottom: 28px; font-size: 17px; font-weight: 600; color: var(--site-text); }
.product-page .pp-identity img { flex: 0 0 48px; }
.product-page .pp-status { font-size: 13px; font-weight: 500; color: var(--c-colour-bronze); border-left: 1px solid var(--site-border); padding-left: 12px; }
.product-page .pp-lead { margin-block: 26px 30px; font-size: 18px; line-height: 1.65; max-width: 48ch; }
.product-page .pp-button { display: inline-flex; justify-content: center; align-items: center; min-height: 48px; padding: 12px 20px; border-radius: 12px; border: 1px solid var(--ds-colour-mist-light); color: var(--ds-colour-ink-light); background: var(--ds-colour-mist-light); font-size: 14px; line-height: 1.5; font-weight: 600; text-align: center; }
.product-page .pp-button:hover { text-decoration: underline; text-underline-offset: 4px; }
.product-page .pp-button-secondary { background: transparent; color: var(--site-text); border-color: var(--site-border); }
.product-page .pp-hero-proof { align-self: center; }
.product-page .pp-hero-proof .pp-screen { background: var(--ds-colour-bg-light); border: 1px solid var(--ds-colour-mist-dark); border-radius: 12px; }
.product-page .pp-hero-proof figcaption { font-size: 20px; color: var(--site-text); border: none; }
.product-page .pp-screen { display: block; width: 100%; height: auto; }
.product-page figcaption, .product-page .pp-caption { font-size: 13px; line-height: 1.6; color: var(--site-secondary); }
.product-page figcaption { padding-top: 16px; }
.product-page .pp-hero-proof .pp-caption { margin-top: 8px; }
.product-page .pp-section { padding-block: var(--pp-section-space); scroll-margin-top: 105px; }
.product-page .pp-surface { background: var(--site-surface); }
.product-page .pp-kicker { font-size: 13px; font-weight: 600; line-height: 1.5; color: var(--site-secondary); }
.product-page .pp-brand-surface .pp-kicker { color: var(--c-colour-bronze); }
.product-page .pp-section-head { max-width: 780px; margin-bottom: 36px; }
.product-page .pp-section-head .pp-kicker { margin-bottom: 14px; }
.product-page .pp-section-head > p:last-child:not(.pp-kicker) { margin-top: 20px; }
.product-page .pp-wide-proof { margin-block: 40px 32px; }
.product-page .pp-table-scroll { max-width: 100%; overflow-x: auto; overscroll-behavior-inline: contain; border: 1px solid var(--site-border); background: var(--ds-colour-bg-light); scrollbar-color: var(--ds-colour-steel) var(--ds-colour-bg-light); }
.product-page .pp-coverage-screen { min-width: 960px; }
.product-page .pp-three-lenses { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 32px; }
.product-page .pp-three-lenses > div { padding-top: 20px; border-top: 1px solid var(--site-border); }
.product-page dt { color: var(--pp-heading); font-weight: 600; }
.product-page dd { margin-top: 10px; }
.product-page .pp-callout { margin-top: 32px; padding-left: 20px; border-left: 2px solid var(--c-colour-bronze); font-size: 18px; color: var(--pp-heading); }
.product-page .pp-steps { list-style: none; padding: 0; counter-reset: routine; }
.product-page .pp-steps li { padding: 22px 0 22px 44px; position: relative; border-top: 1px solid var(--site-border); counter-increment: routine; }
.product-page .pp-steps li::before { content: counter(routine,decimal-leading-zero); position: absolute; left: 0; top: 24px; color: var(--site-secondary); font-size: 13px; font-variant-numeric: tabular-nums; }
.product-page .pp-steps h3 { margin-bottom: 8px; }
.product-page .pp-queue-focus { display: none; }
.product-page .pp-queue-proof { max-width: 500px; justify-self: end; }
.product-page .pp-queue-proof .pp-screen { background: var(--ds-colour-bg-light); }
.product-page .pp-manage-layout { display: grid; grid-template-columns: minmax(0,1.25fr) minmax(0,.75fr); column-gap: var(--pp-gap); align-items: start; }
.product-page .pp-manage-layout .pp-section-head { grid-column: 1/-1; }
.product-page .pp-ruled > div { display: grid; grid-template-columns: minmax(100px,.8fr) minmax(0,1.2fr); gap: 24px; padding-block: 22px; border-top: 1px solid var(--site-border); }
.product-page .pp-ruled dd { margin: 0; }
.product-page .pp-manage-layout .pp-ruled > div { display: block; }
.product-page .pp-manage-layout .pp-ruled dd { margin-top: 8px; }
.product-page .pp-model-sheet { padding: 30px; border: 1px solid var(--site-border); }
.product-page .pp-sheet-heading { display: flex; justify-content: space-between; align-items: baseline; flex-wrap: wrap; gap: 8px 20px; margin-bottom: 26px; }
.product-page .pp-model-sheet h2 { font-size: 26px; margin-bottom: 30px; }
.product-page .pp-weight { margin-top: 24px; }
.product-page .pp-weight > div:first-child { display: flex; justify-content: space-between; align-items: baseline; gap: 20px; font-size: 15px; }
.product-page .pp-weight strong { color: var(--pp-heading); font-size: 24px; font-weight: 500; font-variant-numeric: tabular-nums; white-space: nowrap; }
.product-page .pp-track { height: 16px; margin-top: 10px; background: var(--site-surface-alt); }
.product-page .pp-brand-surface .pp-track { background: var(--ds-colour-surface-dark); }
.product-page .pp-track span { display: block; height: 100%; background: var(--c-colour-accent); }
.product-page .pp-weight:nth-of-type(even) .pp-track span { background: var(--c-colour-bronze); }
.product-page .pp-w692 { width: 69.230769%; }
.product-page .pp-w308 { width: 30.769231%; }
.product-page .pp-w60 { width: 60%; }
.product-page .pp-w40 { width: 40%; }
.product-page .pp-total { display: flex; justify-content: space-between; gap: 20px; margin-top: 30px; padding-top: 18px; border-top: 1px solid var(--site-border); font-size: 14px; }
.product-page .pp-model-sheet > .pp-caption { margin-top: 12px; }
.product-page .pp-workflow { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); list-style: none; padding: 0; margin-top: 46px; }
.product-page .pp-workflow li { padding: 28px 28px 0 0; border-top: 1px solid var(--site-border); }
.product-page .pp-workflow li + li { padding-left: 28px; border-left: 1px solid var(--site-border); }
.product-page .pp-step-number { display: block; color: var(--site-secondary); font-size: 13px; margin-bottom: 22px; }
.product-page .pp-workflow h3 { margin-bottom: 14px; }
.product-page .pp-comparison { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 48px; margin-top: 44px; }
.product-page .pp-comparison figure { border-top: 1px solid var(--site-border); padding-top: 24px; }
.product-page .pp-comparison .pp-sheet-heading { margin-bottom: 18px; }
.product-page .pp-comparison figcaption { margin-top: 14px; }
.product-page .pp-callout + .pp-caption { margin-top: 20px; }
.product-page .pp-output-layout, .product-page .pp-detail-layout { display: grid; grid-template-columns: minmax(0,.8fr) minmax(0,1.2fr); column-gap: var(--pp-gap); }
.product-page .pp-output-layout .pp-ruled > div { grid-template-columns: minmax(0,.75fr) minmax(0,1.25fr); }
.product-page details { border-top: 1px solid var(--site-border); padding-block: 12px; }
.product-page details:last-child { border-bottom: 1px solid var(--site-border); }
.product-page summary { display: flex; align-items: center; justify-content: space-between; gap: 24px; min-height: 48px; font-weight: 600; color: var(--pp-heading); cursor: pointer; list-style: none; }
.product-page summary::-webkit-details-marker { display: none; }
.product-page .pp-chevron { flex: 0 0 20px; width: 20px; height: 20px; stroke: currentColor; stroke-width: 1.5; fill: none; }
.product-page details[open] .pp-chevron { transform: rotate(180deg); }
.product-page details > :not(summary) { margin-block: 20px; }
.product-page details .pp-ruled > div { display: block; }
.product-page details .pp-ruled dd { margin-top: 8px; }
.product-page .pp-closing-grid { display: grid; grid-template-columns: minmax(0,1.1fr) minmax(0,.9fr); align-items: start; gap: var(--pp-gap); }
.product-page .pp-reading-links { display: grid; align-content: start; border-bottom: 1px solid var(--site-border); }
.product-page .pp-reading-links a { display: flex; align-items: center; min-height: 60px; padding: 18px 0; border-top: 1px solid var(--site-border); color: var(--pp-heading); text-decoration: underline; text-underline-offset: 5px; }
.product-page :is(a,summary,[tabindex]):focus-visible { outline: 2px solid var(--site-focus); outline-offset: 4px; }
@media (max-width:1000px) {
  .product-page { --pp-section-space: 64px; }
  .product-page .pp-split { gap: 30px; }
  .product-page .pp-hero { padding-block: 64px; }
  .product-page h1 { font-size: 40px; }
  .product-page .pp-model-sheet { padding: 24px; }
  .product-page .pp-three-lenses { gap: 24px; }
  .product-page .pp-output-layout, .product-page .pp-detail-layout { grid-template-columns: 1fr; }
}
@media (max-width:760px) {
  .product-page { --pp-section-space: 44px; --pp-gap: 32px; font-size: 16px; }
  .product-page .pp-hero { padding-block: 48px; }
  .product-page h1 { font-size: clamp(32px,8.4vw,44px); }
  .product-page h2 { font-size: 29px; }
  .product-page .pp-split, .product-page .pp-manage-layout, .product-page .pp-closing-grid { grid-template-columns: minmax(0,1fr); }
  .product-page .pp-three-lenses, .product-page .pp-workflow, .product-page .pp-comparison { grid-template-columns: minmax(0,1fr); }
  .product-page .pp-three-lenses { gap: 20px; }
  .product-page .pp-section-head { margin-bottom: 28px; }
  .product-page .pp-lead { font-size: 17px; margin-block: 22px 26px; }
  .product-page .pp-hero-proof { margin-top: 8px; }
  .product-page .pp-queue-full { display: none; }
  .product-page .pp-queue-focus { display: block; }
  .product-page .pp-queue-proof { justify-self: stretch; max-width: none; }
  .product-page .pp-queue-proof .pp-screen { width: 100%; }
  .product-page .pp-ruled > div, .product-page .pp-output-layout .pp-ruled > div { grid-template-columns: 1fr; gap: 8px; }
  .product-page .pp-workflow { margin-top: 28px; }
  .product-page .pp-workflow li, .product-page .pp-workflow li + li { border-left: none; padding: 24px 0; }
  .product-page .pp-step-number { margin-bottom: 12px; }
  .product-page .pp-comparison { gap: 30px; }
  .product-page .pp-identity { margin-bottom: 24px; }
  .product-page .pp-sheet-heading { display: block; }
  .product-page .pp-sheet-heading span { display: block; }
  .product-page .pp-sheet-heading span + span { margin-top: 8px; }
}
