/* V21: independent product and editorial safe areas. */
@media (prefers-reduced-motion: no-preference) {
  .one-take .take-scenes { position: sticky; inset: auto; top: 0; height: 100svh; margin-top: -100svh; }
  .one-take .take-scene { position: absolute; inset: 0; height: 100%; min-height: 0; visibility: hidden; opacity: 0; transition: opacity .24s ease; }
  .one-take .take-scene.is-current { visibility: visible; opacity: var(--chapter-opacity, 1); transition: none; }
  .one-take .take-scene .take-copy { animation: none; margin: 0 auto 0 0; }
  .one-take .take-product-shell { inset: 84px 4% 64px 51%; width: auto; height: auto; transform: none; }
  .one-take .take-measure { display: none; }
  .one-take .take-copy { width: 39vw; text-align: left; }
  .one-take .take-scene--final .take-copy > p { margin-left: 0; }
  .one-take:not(.webgl-ready) .take-product { inset: 0; width: 100%; height: 100%; object-fit: contain; transform: none; }
}
/* V24: alternating editorial compositions; the product crosses an empty stage.
   A fixed canvas size avoids resizing WebGL during horizontal movement. */
@media (min-width: 901px) and (prefers-reduced-motion: no-preference) {
  .one-take .take-scene { padding-left: 6vw; padding-right: 6vw; }
  .one-take .take-scene.align-right .take-copy { margin: 0 0 0 auto; }
  .one-take .take-product-shell { transform: translateX(var(--composition-x, 0vw)); }
}
@media (max-width: 900px) and (min-height: 620px) and (prefers-reduced-motion: no-preference) {
  .one-take .take-scene { padding: calc(var(--nav-height) + 22px) 24px 0; align-items: flex-start; }
  .one-take .take-copy { width: 100%; max-width: 560px; }
  .one-take .take-scene--hero .take-copy { padding-top: 0; }
  .one-take .take-copy h1 { font-size: clamp(34px, 9.7vw, 54px); margin: 14px 0 18px; }
  .one-take .take-copy h2, .one-take .take-scene--final h2 { font-size: clamp(32px, 9vw, 48px); margin: 14px 0 18px; }
  .one-take .take-copy > p:not(.eyebrow):not(.take-stat) { max-width: 100%; font-size: 13px; line-height: 1.5; }
  .one-take .take-copy .button { margin-top: 12px; min-height: 42px; }
  .one-take .take-stat { font-size: 54px; margin: 12px 0; }
  .one-take .component-list, .one-take .tech-line { margin-top: 14px; }
  .one-take .take-product-shell { inset: max(365px, 49%) 6% 62px; width: auto; height: auto; }
}
@media (max-width: 900px) and (max-height: 619px) and (prefers-reduced-motion: no-preference) {
  .one-take .take-copy { width: 48%; }
  .one-take .take-product-shell { inset: 72px 3% 60px 54%; }
}
@media (min-width: 901px) and (max-height: 620px) and (prefers-reduced-motion: no-preference) {
  .one-take .take-scene { padding: 80px 6vw 58px; }
  .one-take .take-copy h1 { font-size: 40px; margin: 14px 0 18px; }
  .one-take .take-copy h2, .one-take .take-scene--final h2 { font-size: 36px; margin: 14px 0 18px; }
  .one-take .take-copy > p:not(.eyebrow):not(.take-stat) { font-size: 13px; }
  .one-take .take-stat { font-size: 60px; margin: 12px 0; }
  .one-take .component-list, .one-take .tech-line { margin-top: 14px; }
}
@media (max-width: 420px) and (min-height: 620px) and (max-height: 740px) and (prefers-reduced-motion: no-preference) {
  .one-take .take-scene { padding-top: calc(var(--nav-height) + 16px); }
  .one-take .take-copy h1, .one-take .take-copy h2, .one-take .take-scene--final h2 { font-size: 32px; margin: 12px 0 14px; }
  .one-take .take-copy > p:not(.eyebrow):not(.take-stat) { font-size: 12px; }
  .one-take .take-product-shell { top: 374px; }
}
/* v13: compact decision content below the unchanged cinematic story. */
/* v14: keep the product in a restrained photographic setting. */
.one-take .take-ghost, .one-take .take-grid, .one-take .take-orbits,
.one-take .take-scan, .one-take .take-noise, .one-take .take-halo,
.one-take .take-floor { display: none; }
.one-take .take-stage::after { background: linear-gradient(180deg, transparent 80%, #00000004); }
.one-take .take-stage { transition: none; }
.one-take .take-product-shell,
.one-take[data-bg] .take-product-shell { filter: none; }
/* V19: keep the studio backdrop fixed, not attached to entering copy.
   The full-canvas final glow drew a rectangle on narrow landscape screens.
   Transformed/blurred mobile copy also carried an opaque gradient with it. */
.one-take .take-copy::before { content: none; display: none; }
.one-take .take-copy.reveal,
.one-take .take-copy.reveal.in-view {
  opacity: 1;
  transform: none;
  filter: none;
  transition: none;
}
.one-take .take-status { border: 0; background: none; backdrop-filter: none; opacity: .55; }
.one-take .take-status i { box-shadow: none; animation: none; background: currentColor; }
.product-summary {
  position: relative;
  z-index: 2;
  padding: 64px 7vw 36px;
  color: #eef2f4;
  background: #10161c;
}
.summary-heading { display: flex; justify-content: space-between; align-items: end; gap: 24px; }
.summary-heading .eyebrow { color: #9babb6; margin: 0 0 20px; }
.summary-heading h2 { margin: 0; font: 500 clamp(30px, 3.4vw, 48px)/1.1 var(--display); letter-spacing: -.045em; }
.summary-heading .text-link { margin: 0; color: #dbe4eb; }
.summary-metrics { display: grid; grid-template-columns: repeat(4, 1fr); margin: 40px 0 20px; }
.summary-metrics > div { padding: 0 24px; border-left: 1px solid #36414a; }
.summary-metrics > div:first-child { padding-left: 0; border: 0; }
.summary-metrics dt { color: #a8b5bf; font-size: 13px; line-height: 1.5; }
.summary-metrics dd { margin: 18px 0 0; font: 500 clamp(28px, 3.1vw, 46px)/1.1 var(--display); letter-spacing: -.04em; white-space: nowrap; }
.summary-metrics dd small { font: 400 11px var(--mono); letter-spacing: 0; }
.summary-metrics dd > span { font: 400 12px var(--sans); letter-spacing: 0; }
.summary-note { max-width: 750px; color: #a8b5bf; font-size: 12px; line-height: 1.65; margin: 24px 0; }
.spec-disclosure { border-top: 1px solid #36414a; }
.spec-disclosure summary { display: flex; align-items: center; justify-content: space-between; gap: 24px; min-height: 64px; cursor: pointer; list-style: none; font-size: 15px; }
.spec-disclosure summary::-webkit-details-marker { display: none; }
.spec-disclosure summary i { position: relative; flex-shrink: 0; width: 16px; height: 16px; }
.spec-disclosure summary i::before, .spec-disclosure summary i::after { content: ''; position: absolute; inset: 7px 0 auto; border-top: 1px solid currentColor; }
.spec-disclosure summary i::after { transform: rotate(90deg); }
.spec-disclosure[open] summary i::after { transform: none; }
.spec-disclosure .spec-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 36px; margin: 4px 0 24px; border: 0; }
.spec-disclosure .spec-grid > div { display: grid; grid-template-columns: 1fr 1.3fr; gap: 20px; min-height: 0; padding: 16px 0; border: 0; border-bottom: 1px solid #36414a; }
.spec-disclosure .spec-grid > div:last-child { grid-column: 1/-1; grid-template-columns: 1fr 3.6fr; }
.spec-disclosure .spec-grid dt { color: #a8b5bf; font-size: 10px; }
.spec-disclosure .spec-grid dd { margin: 0; color: #eef2f4; font-size: 14px; line-height: 1.5; }
.routine--compact { padding: 80px 7vw 72px; }
.routine--compact .section-heading { display: block; }
.routine--compact .section-heading .eyebrow { margin: 0 0 22px; }
.routine--compact .section-heading h2 { font-size: clamp(36px, 4.3vw, 62px); line-height: 1.04; letter-spacing: -.05em; }
.routine--compact .routine-grid { margin-top: 36px; }
.routine--compact .routine-grid article { min-height: 0; padding-top: 24px; padding-bottom: 0; }
.routine--compact .routine-grid .eyebrow { margin-top: 28px; color: #596670; font-size: 9px; }
.routine--compact .routine-grid h3 { margin: 14px 0; font-size: clamp(26px, 2.6vw, 36px); line-height: 1.08; }
.routine--compact .routine-grid article > p:last-child { margin-bottom: 0; }
.faq--compact { padding: 68px 7vw 80px; display: grid; grid-template-columns: .75fr 1.25fr; gap: 7vw; background: #edf0f1; }
.faq--compact header { margin: 0; }
.faq--compact h2 { margin: 22px 0; font-size: clamp(34px, 3.9vw, 54px); line-height: 1.06; }
.faq--compact header > p:last-child { max-width: 270px; color: #505e67; font-size: 14px; line-height: 1.7; }
.faq--compact header a { display: inline-block; }
.faq--compact a, .purchase-help a { text-decoration: underline; text-underline-offset: 4px; }
.faq--compact .accordion button { min-height: 72px; padding: 20px 0; font-size: 16px; align-items: center; gap: 20px; }
.faq--compact .answer p { font-size: 15px; color: #4c5963; }
.purchase--compact { min-height: 0; grid-template-columns: 1fr 1fr; }
.purchase--compact .purchase-visual { min-height: 0; padding: 36px 24px; background: radial-gradient(ellipse at center, #f1f4f5, #dbe1e5); }
.purchase--compact .purchase-visual img { width: auto; max-width: 100%; height: 440px; max-height: none; object-fit: contain; filter: drop-shadow(0 25px 22px #19222b25); }
.purchase--compact .purchase-copy { padding: 64px 6vw; }
.purchase--compact h2 { font-size: clamp(38px, 4.2vw, 60px); line-height: 1.02; margin: 20px 0; }
.purchase--compact .purchase-copy > p:not(.eyebrow) { font-size: 16px; margin: 0; }
.purchase--compact .purchase-copy small { max-width: 370px; font-size: 12px; line-height: 1.6; color: #596670; }
.purchase-help { display: flex; gap: 24px; margin-top: 18px; font-size: 12px; }
.purchase-help a { display: inline-flex; align-items: center; min-height: 44px; }
.footer { min-height: 0; padding: 48px 7vw 24px; gap: 28px; }
.footer p { font-size: 12px; line-height: 1.7; color: #a8b1b9; }
.footer > span { color: #a8b1b9; line-height: 1.6; }
.product-summary :focus-visible { outline: 2px solid #adddff; outline-offset: 5px; }
@media (max-width: 900px) {
  .product-summary { padding: 48px 22px 24px; }
  .summary-heading { align-items: start; flex-direction: column; gap: 18px; }
  .summary-heading .eyebrow { margin-bottom: 14px; }
  .summary-heading .text-link { min-height: 44px; }
  .summary-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 26px 0; margin-top: 24px; }
  .summary-metrics > div { padding: 0 0 0 18px; }
  .summary-metrics > div:nth-child(odd) { padding: 0 18px 0 0; border: 0; }
  .summary-metrics dt { min-height: 39px; font-size: 12px; }
  .summary-metrics dd { margin-top: 8px; font-size: clamp(27px, 7.6vw, 38px); }
  .summary-metrics dd > span { font-size: 10px; }
  .summary-metrics dd small { font-size: 10px; }
  .spec-disclosure summary { font-size: 14px; }
  .spec-disclosure .spec-grid { grid-template-columns: 1fr; }
  .spec-disclosure .spec-grid > div, .spec-disclosure .spec-grid > div:last-child { grid-template-columns: 1fr 1.35fr; gap: 14px; }
  .routine--compact { padding: 56px 22px; }
  .routine--compact .routine-grid { grid-template-columns: 1fr; margin-top: 28px; }
  .routine--compact .routine-grid article, .routine--compact .routine-grid article + article { padding: 24px 0; border-right: 0; border-bottom: 1px solid var(--line); }
  .routine--compact .routine-grid article:last-child { padding-bottom: 0; border-bottom: 0; }
  .routine--compact .routine-grid .eyebrow { margin-top: 18px; }
  .routine--compact .routine-grid h3 { max-width: 100%; font-size: 29px; }
  .routine--compact .routine-grid article > p:last-child { max-width: 100%; font-size: 14px; }
  .faq--compact { grid-template-columns: 1fr; gap: 28px; padding: 56px 22px; }
  .faq--compact h2 { font-size: 38px; }
  .faq--compact header > p:last-child { max-width: 100%; margin-bottom: 0; }
  .faq--compact .accordion button { min-height: 68px; font-size: 15px; }
  .purchase--compact { grid-template-columns: 1fr; }
  .purchase--compact .purchase-visual { padding: 28px 22px; }
  .purchase--compact .purchase-visual img { height: 330px; }
  .purchase--compact .purchase-copy { padding: 44px 22px 40px; }
  .purchase--compact h2 { font-size: 44px; }
  .purchase--compact .button { width: 100%; }
  .footer { padding: 40px 22px 24px; gap: 24px; }
}
@media (max-width: 360px) {
  .summary-metrics > div { padding-left: 12px; }
  .summary-metrics > div:nth-child(odd) { padding-right: 12px; }
  .summary-metrics dd { font-size: 27px; }
}
/* Approved V17 renders live within the existing details section. */
.studio-details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin:32px 0}
.studio-details figure{margin:0;overflow:hidden;border-radius:16px;background:#e6e5e2}
.studio-details img{display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:cover}
.studio-details figcaption{display:flex;justify-content:space-between;gap:12px;padding:14px 18px;font-size:14px;color:#242424}
.studio-details figcaption span{font-size:11px;color:#666}
@media(max-width:600px){.studio-details{gap:10px;margin:24px 0}.studio-details figcaption{display:block;padding:10px;font-size:12px}.studio-details figcaption span{display:block;margin-top:3px}}
