/* A bounded scroll study, not a replacement for the studio's service content. */
html.dd-static body[data-dd-route] #page-container .dd-build-section {
  padding: 90px 0 72px !important;
  background: #000 !important;
  overflow: visible !important;
  scroll-margin-top: 100px;
}
html.dd-static body[data-dd-route] #page-container .dd-build-shell {
  display: block !important;
  width: var(--dd-shell, calc(100% - 48px)) !important;
  max-width: 1080px !important;
  margin: 0 auto !important;
  padding: 0 !important;
}
.dd-experience-heading { max-width: 660px; margin-bottom: 32px; }
html.dd-static body[data-dd-route] #page-container .dd-experience-heading h2 {
  color: #efefea;
  font: 700 var(--dd-type-section)/1.05 var(--dd-font-text) !important;
  letter-spacing: -.032em !important;
  text-wrap: balance;
  padding: 0;
  margin: 0 0 20px;
}
.dd-experience-heading p { color: #a0a09a; font-size: var(--dd-type-body); line-height: 1.65; padding: 0; }
.dd-experience-kicker { display: block; margin: 0 0 24px; font-size: 10px; letter-spacing: .13em; text-transform: uppercase; color: #9a9a93; }
.dd-build-story { --dd-build-top: 100px; --dd-build-travel: 220vh; }
.dd-build-story--deep { --dd-build-travel: 270vh; }
.dd-build-story.is-scroll-enabled { height: calc(var(--dd-build-height, 620px) + var(--dd-build-travel)); }
.dd-build-story.is-scroll-enabled .dd-build-stage { position: sticky; top: var(--dd-build-top); }
.dd-build-stage { display: grid; grid-template-columns: 1fr 1fr; border: 1px solid #303030; background: #000; }
.dd-build-copy { display: flex; flex-direction: column; justify-content: center; min-width: 0; padding: clamp(24px, 4vw, 52px); }
.dd-build-instruction { color: #8d8d86; font-size: 11px; line-height: 1.5; letter-spacing: .04em; margin: 0 0 30px; padding: 0; }
.dd-build-active-label { display: block; color: #9a9a93; font-size: 10px; line-height: 1.5; letter-spacing: .13em; text-transform: uppercase; margin: 0 0 18px; }
html.dd-static body[data-dd-route] #page-container .dd-build-phase h3 {
  font: 600 clamp(1.5rem, 2.6vw, 2.1rem)/1.12 var(--dd-font-text) !important;
  letter-spacing: -.028em !important;
  color: #efefea;
  margin: 0 0 20px;
  padding: 0;
  text-wrap: balance;
}
.dd-build-phase > p { color: #b1b1aa; font-size: var(--dd-type-body); line-height: 1.65; margin: 0; padding: 0; }
.dd-build-detail { color: #777770; font-size: 10px; letter-spacing: .04em; line-height: 1.5; margin: 24px 0 0; padding: 0; }
.dd-build-phases { display: grid; }
.dd-build-phase { grid-area: 1 / 1; }
.dd-build-phase[aria-hidden="true"] { visibility: hidden; pointer-events: none; }
.dd-build-controls { margin-top: 32px; }
.dd-build-controls[hidden], .dd-build-toggle[hidden] { display: none !important; }
.dd-build-steps { display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid #303030; gap: 0; margin-bottom: 18px; }
html.dd-static body[data-dd-route] #page-container .dd-build-steps button {
  position: relative; display: flex; align-items: center; gap: 6px; background: transparent; border: 0; padding: 10px 0; min-height: 44px; color: #808079;
  text-align: left; font-size: 12px; line-height: 1.5; cursor: pointer;
}
.dd-build-step-index { font-size: 8px; letter-spacing: .03em; color: #51514d; }
.dd-build-steps button[aria-pressed="true"] .dd-build-step-index,
.dd-build-steps button.is-complete .dd-build-step-index { color: #b6b6ae; }
.dd-build-steps button::before { content: ""; position: absolute; left: 0; right: 18px; top: -1px; height: 1px; background: #efefea; transform: scaleX(0); transform-origin: left; transition: transform 350ms ease; }
html.dd-static body[data-dd-route] #page-container .dd-build-steps button[aria-pressed="true"] { color: #efefea; }
.dd-build-steps button[aria-pressed="true"]::before { transform: scaleX(1); }
/* One seven-stop axis beneath the scrubbable line. Keep the older language
   documents' two-row controls intact until their EN-first copy is approved. */
.dd-build-steps--timeline { grid-template-columns: repeat(7, minmax(0, 1fr)); border: 0; margin-bottom: 14px; }
html.dd-static body[data-dd-route] #page-container .dd-build-steps--timeline button {
  flex-direction: column; justify-content: flex-start; gap: 12px; padding: 9px 0 0;
  text-align: center; min-height: 126px; font-size: 11px;
}
.dd-build-steps--timeline button::before { left: 50%; right: auto; top: -12px; width: 1px; height: 21px; background: #494942; transform: none; transition: background-color 220ms ease; }
.dd-build-steps--timeline .dd-build-step-index { display: grid; place-items: center; width: 28px; height: 28px; flex-shrink: 0; border: 1px solid #797973; border-radius: 50%; color: #c3c3ba; font-size: 10px; font-variant-numeric: tabular-nums; transition: color 220ms ease, background-color 220ms ease, border-color 220ms ease; }
.dd-build-step-name { writing-mode: vertical-rl; transform: rotate(180deg); line-height: 1.1; letter-spacing: .02em; white-space: nowrap; }
.dd-build-steps--timeline button[aria-pressed="true"] .dd-build-step-index,
.dd-build-steps--timeline button.is-complete .dd-build-step-index { background: #efefea; border-color: #efefea; color: #000; }
.dd-build-steps--timeline button[aria-pressed="true"]::before,
.dd-build-steps--timeline button.is-complete::before { background: #efefea; }
html.dd-static body[data-dd-route] #page-container .dd-build-steps--timeline button:hover { color: #efefea; }
.dd-build-steps--timeline button:hover .dd-build-step-index { border-color: #efefea; }
.dd-build-range-label { display: flex; flex-direction: column; gap: 10px; color: #83837c; font-size: 10px; margin-bottom: 12px; }
.dd-build-range-label > span { display: flex; align-items: center; justify-content: space-between; }
.dd-build-percent { font-variant-numeric: tabular-nums; color: #c7c7c0; }
html.dd-static body[data-dd-route] #page-container #et-main-area .dd-build-range-label input { width: 100%; appearance: none; -webkit-appearance: none; accent-color: #efefea; cursor: pointer; height: 24px; min-height: 24px; margin: 0; padding: 0 !important; border: 0 !important; background: transparent !important; box-shadow: none !important; }
.dd-build-range-label input::-webkit-slider-runnable-track { height: 1px; background: linear-gradient(to right, #efefea 0 var(--dd-build-progress, 0%), #494942 var(--dd-build-progress, 0%) 100%); }
.dd-build-range-label input::-webkit-slider-thumb { -webkit-appearance: none; width: 10px; height: 10px; border: 0; border-radius: 0; margin-top: -4.5px; background: #efefea; }
.dd-build-range-label input::-moz-range-track { height: 1px; background: #494942; }
.dd-build-range-label input::-moz-range-progress { height: 1px; background: #efefea; }
.dd-build-range-label input::-moz-range-thumb { width: 10px; height: 10px; border: 0; border-radius: 0; background: #efefea; }
.dd-build-controls-note { font-size: 10px; color: #707069; margin-top: 4px; padding: 0; }
.dd-build-link { display: inline-block; margin-top: 26px; font-size: 13px; color: #e9e9e3; text-decoration: none; line-height: 1.6; }
.dd-build-link:hover { color: #fff; }
.dd-build-media { margin: 0; position: relative; min-width: 0; height: 100%; min-height: clamp(420px, 69vh, 650px); overflow: hidden; border-left: 1px solid #303030; background: #e9e9e9; }
.dd-build-story[data-phase="6"] .dd-build-media { background: #0b0d0f; }
.dd-build-media { transition: background-color 650ms ease; }
.dd-build-media > picture, .dd-build-canvas { position: absolute; inset: 0; width: 100%; height: 100%; display: block; }
.dd-build-media img, .dd-build-canvas { width: 100%; height: 100%; display: block; object-fit: cover; }
.dd-build-viewport { z-index: 1; pointer-events: none; opacity: var(--dd-build-viewport-opacity, 1); }
.dd-build-viewport img { width: 100%; height: 100%; object-fit: cover; }
.dd-build-story .dd-build-viewport { position: absolute; inset: 0; }
/* The replacement opening already blends its moving Workbench geometry.
   Keep the poster as a loading fallback, not a second stationary vehicle. */
.dd-build-story[data-viewport-baked="true"].is-ready .dd-build-viewport { opacity: 0; }
.dd-build-canvas { opacity: 0; }
.dd-build-story.is-ready .dd-build-canvas { opacity: 1; }
html.dd-static body[data-dd-route] #page-container .dd-build-toggle { position: absolute; left: 18px; bottom: 15px; z-index: 2; padding: 5px 0; min-height: 32px; border: 0; background: transparent; color: #434343; font-size: 10px; cursor: pointer; }
html.dd-static body[data-dd-route] #page-container .dd-build-story[data-phase="0"] .dd-build-toggle { color: #efefea; text-shadow: 0 1px 6px #000; }
html.dd-static body[data-dd-route] #page-container .dd-build-toggle.is-hangar { color: #fff; text-shadow: 0 1px 6px #000; }
.dd-experience-disclaimer { margin: 24px 0 0; color: #72726b; font-size: 11px; line-height: 1.65; max-width: 85ch; padding: 0; }
html.dd-static body[data-dd-route] #page-container .dd-build-production { position: absolute; top: 18px; right: 18px; z-index: 2; margin: 0; padding: 0; max-width: calc(100% - 36px); color: #30343a; font-size: 10px; line-height: 1.6; text-align: right; pointer-events: none; }
.dd-build-production span { display: block; }
html.dd-static body[data-dd-route] #page-container .dd-build-story[data-phase="0"] .dd-build-production { color: color-mix(in srgb, #efefea calc(var(--dd-build-viewport-opacity, 1) * 100%), #30343a); }
html.dd-static body[data-dd-route] #page-container .dd-build-story[data-phase="6"] .dd-build-production { color: #fff; text-shadow: 0 1px 5px #000; }
.dd-build-steps button:focus-visible, .dd-build-toggle:focus-visible, .dd-build-link:focus-visible, .dd-build-range-label input:focus-visible { outline: 1px solid #efefea; outline-offset: 5px; }
@media (min-width: 1000px) and (max-width: 1199px) {
  /* Preserve complete vehicles in the cover crop on narrow desktop windows. */
  .dd-build-stage { grid-template-columns: .8fr 1.2fr; }
  .dd-build-copy { padding: 28px; }
}
@media (max-width: 999px) {
  html.dd-static body[data-dd-route] #page-container .dd-build-section { padding: 66px 0 42px !important; }
  .dd-experience-heading { margin-bottom: 26px; }
  html.dd-static body[data-dd-route] #page-container .dd-experience-heading h2 { font-size: 28px !important; margin-bottom: 14px; }
  .dd-experience-heading p { font-size: 15px; }
  .dd-build-story { --dd-build-top: 84px; --dd-build-travel: 210vh; }
  .dd-build-story { max-width: 400px; margin-inline: auto; }
  .dd-build-story--deep { --dd-build-travel: 250vh; }
  .dd-build-stage { grid-template-columns: 1fr; }
  .dd-build-media { grid-row: 1; height: auto; aspect-ratio: 4/3; min-height: 0; border-left: 0; border-bottom: 1px solid #303030; }
  /* The existing square phone frames have a wider lens. A gentle, shared
     cover crop keeps the descending model and final three-vehicle scene whole. */
  .dd-build-media img, .dd-build-canvas { object-fit: cover; object-position: 50% 42%; transform: scale(1.12); }
  .dd-build-canvas { width: 100%; left: 0; right: 0; }
  .dd-build-copy { grid-row: 2; padding: 16px 20px; }
  .dd-build-instruction { margin: 0 0 8px; font-size: 9px; }
  .dd-build-active-label { font-size: 8px; margin-bottom: 6px; }
  html.dd-static body[data-dd-route] #page-container .dd-build-phase h3 { font-size: 21px !important; margin-bottom: 8px; }
  .dd-build-phase > p { font-size: 13px; line-height: 1.55; }
  .dd-build-detail { display: none; }
  .dd-build-controls { margin-top: 12px; }
  html.dd-static body[data-dd-route] #page-container .dd-build-steps button { padding: 7px 0; font-size: 10px; gap: 4px; }
  .dd-build-steps { margin-bottom: 0; }
  html.dd-static body[data-dd-route] #page-container .dd-build-steps--timeline button { min-height: 98px; padding: 7px 0 0; gap: 9px; font-size: 10px; }
  .dd-build-steps--timeline .dd-build-step-index { width: 24px; height: 24px; font-size: 9px; }
  .dd-build-steps--timeline button::before { top: -9px; height: 16px; }
  .dd-build-range-label { gap: 2px; font-size: 9px; margin-bottom: 4px; }
  .dd-build-controls-note { display: none; }
  .dd-build-link { font-size: 11px; margin-top: 8px; }
  html.dd-static body[data-dd-route] #page-container .dd-build-toggle { left: 12px; bottom: 8px; font-size: 9px; }
  .dd-experience-disclaimer { font-size: 10px; }
  html.dd-static body[data-dd-route] #page-container .dd-build-production { top: 10px; right: 12px; font-size: 9px; }
}
@media (max-height: 820px) and (min-width: 1000px) {
  .dd-build-media { min-height: 350px; }
  .dd-build-copy { padding: 24px 30px; }
  .dd-build-instruction { margin-bottom: 16px; }
  .dd-build-controls { margin-top: 18px; }
  .dd-build-detail { margin-top: 14px; }
  .dd-build-active-label { margin-bottom: 10px; }
  html.dd-static body[data-dd-route] #page-container .dd-build-phase h3 { margin-bottom: 14px; }
  html.dd-static body[data-dd-route] #page-container .dd-build-steps--timeline button { min-height: 112px; }
  .dd-build-steps--timeline { margin-bottom: 8px; }
  .dd-build-link { margin-top: 18px; }
}
@media (max-width: 999px) and (max-height: 740px) {
  .dd-build-media { aspect-ratio: 3/2; }
  .dd-build-copy { padding: 12px 16px; }
  html.dd-static body[data-dd-route] #page-container .dd-build-phase h3 { font-size: 19px !important; }
  .dd-build-phase > p { font-size: 12px; line-height: 1.5; }
  html.dd-static body[data-dd-route] #page-container .dd-build-steps--timeline button { min-height: 87px; font-size: 9px; gap: 7px; }
  .dd-build-steps--timeline .dd-build-step-index { width: 22px; height: 22px; }
}
@media (max-width: 359px) and (max-height: 740px) {
  .dd-build-copy { padding: 8px 14px; }
  html.dd-static body[data-dd-route] #page-container .dd-build-steps--timeline button { min-height: 84px; }
}
@media (prefers-reduced-motion: reduce) {
  .dd-build-viewport { display: none; }
  .dd-build-media { transition: none; }
  .dd-build-story.is-scroll-enabled { height: auto; }
  .dd-build-story.is-scroll-enabled .dd-build-stage { position: relative; top: auto; }
  .dd-build-steps button::before { transition: none; }
  .dd-build-steps--timeline .dd-build-step-index { transition: none; }
}
