/* Digital Twins
   A dedicated service page built on the Studio system: 1200px rail, Everett
   display type, neutral surfaces, 5px geometry, hairlines, and one orange
   verification signal. Page-specific selectors stay behind .dt-page. */

.dt-page {
  --dt-ink: var(--launch-ink);
  --dt-copy: var(--launch-copy);
  --dt-muted: var(--launch-muted);
  --dt-line: var(--launch-line);
  --dt-line-strong: var(--launch-line-strong);
  --dt-orange: var(--launch-orange);
  --dt-dark: #141517;
  --dt-surface: #f4f4f5;
  --dt-soft: #f8f8f8;
  color: var(--dt-ink);
}

.dt-page main::before {
  width: var(--launch-frame);
}

.dt-page main > section {
  border-bottom: 1px solid var(--dt-line);
}

.dt-paths,
.dt-faq {
  scroll-margin-top: 76px;
}

.dt-page h1,
.dt-page h2 {
  font-family: var(--font-display);
  font-weight: 400;
  letter-spacing: -.035em;
  text-wrap: balance;
}

.dt-page h3,
.dt-page p,
.dt-page figure {
  margin: 0;
}

.dt-shell {
  width: var(--launch-frame);
  max-width: var(--launch-max);
  margin-inline: auto;
}

.dt-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: var(--dt-copy);
  font-size: 12px;
  font-weight: 500;
  line-height: 1.25;
}

.dt-eyebrow::before {
  width: 6px;
  height: 6px;
  flex: 0 0 auto;
  background: var(--dt-orange);
  content: "";
}

.dt-eyebrow--dark {
  color: rgba(255,255,255,.56);
}

.dt-actions {
  display: flex;
  align-items: center;
  gap: 22px;
  margin-top: 30px;
}

.dt-text-link {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  gap: 9px;
  color: var(--dt-ink);
  font-size: 14px;
  font-weight: 500;
  text-decoration: none;
}

.dt-text-link span {
  transition: transform 160ms var(--launch-ease);
}

.dt-text-link:focus-visible {
  border-radius: 3px;
  outline: 2px solid var(--dt-orange);
  outline-offset: 3px;
}

/* Hero */
.dt-hero {
  padding: var(--hero-pad-top, 86px) 0 96px;
}

.dt-hero-copy {
  max-width: 960px;
  margin-inline: auto;
  text-align: center;
}

.dt-hero-title h1 {
  max-width: 920px;
  margin: 20px auto 0;
  font-size: clamp(48px,4.7vw,62px);
  line-height: 1.02;
}

.dt-hero-intro {
  max-width: 800px;
  margin: 24px auto 0;
}

.dt-hero-intro > p {
  max-width: 760px;
  margin-inline: auto;
  color: var(--dt-copy);
  font-size: 18px;
  line-height: 1.55;
}

.dt-hero .dt-actions {
  justify-content: center;
}

.dt-hero-intro > p strong {
  display: block;
  margin-bottom: 5px;
  color: var(--dt-ink);
  font-weight: 500;
}

.dt-page .dt-verification {
  overflow: hidden;
  margin: 64px 0 0;
  border: 1px solid var(--dt-line-strong);
  border-radius: 5px;
  background: #e8e9eb;
  box-shadow: 0 34px 72px -62px rgba(16,17,19,.72);
}

.dt-verification-bar {
  min-height: 52px;
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: 18px;
  padding: 0 18px;
  border-bottom: 1px solid var(--dt-line);
  background: rgba(253,253,253,.96);
  color: var(--dt-muted);
  font-size: 11px;
}

.dt-verification-bar strong {
  color: var(--dt-ink);
  font-weight: 550;
}

.dt-verification-bar em {
  display: inline-flex;
  align-items: center;
  justify-self: end;
  gap: 7px;
  color: #576b5e;
  font-style: normal;
}

.dt-verification-bar em i {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #718a77;
  box-shadow: 0 0 0 4px rgba(113,138,119,.11);
}

.dt-verification-stage {
  position: relative;
  height: 548px;
  overflow: hidden;
  background:
    linear-gradient(rgba(24,24,27,.045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(24,24,27,.045) 1px, transparent 1px),
    #e9eaec;
  background-size: 48px 48px;
}

.dt-verification-stage > img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  object-position: center 55%;
  filter: saturate(.88) contrast(.99);
  transform: scale(1.015);
}

.dt-verification-stage::after {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg,rgba(12,13,15,.02),transparent 20%,transparent 78%,rgba(12,13,15,.05));
  content: "";
  pointer-events: none;
}

.dt-scan-plane {
  position: absolute;
  z-index: 2;
  top: 0;
  bottom: 0;
  left: 58%;
  width: 1px;
  background: rgba(236,95,63,.92);
  box-shadow: 0 0 18px rgba(236,95,63,.32);
  pointer-events: none;
}

.dt-scan-plane::before {
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  width: 96px;
  background: linear-gradient(90deg,transparent,rgba(236,95,63,.055));
  content: "";
}

.dt-proof-callout {
  position: absolute;
  z-index: 3;
  min-width: 150px;
  display: grid;
  grid-template-columns: 24px 1fr;
  column-gap: 9px;
  padding: 10px 12px;
  border: 1px solid rgba(24,24,27,.12);
  border-radius: 5px;
  background: rgba(253,253,253,.9);
  box-shadow: 0 18px 44px -34px rgba(18,18,20,.62);
  backdrop-filter: blur(14px);
}

.dt-proof-callout i {
  grid-row: 1 / 3;
  color: var(--dt-orange);
  font-size: 9px;
  font-style: normal;
}

.dt-proof-callout b {
  color: var(--dt-ink);
  font-size: 11px;
  font-weight: 550;
}

.dt-proof-callout small {
  margin-top: 2px;
  color: var(--dt-muted);
  font-size: 9px;
}

.dt-proof-callout--geometry { left: 3%; top: 11%; }
.dt-proof-callout--materials { right: 3%; top: 17%; }
.dt-proof-callout--artwork { left: 5%; bottom: 12%; }
.dt-proof-callout--scale { right: 5%; bottom: 10%; }

.dt-verification-foot {
  min-height: 58px;
  display: grid;
  grid-template-columns: repeat(3,1fr);
  border-top: 1px solid var(--dt-line);
  background: #fff;
}

.dt-verification-foot > span {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 0 18px;
  color: var(--dt-muted);
  font-size: 10px;
}

.dt-verification-foot > span + span {
  border-left: 1px solid var(--dt-line);
}

.dt-verification-foot strong {
  color: var(--dt-ink);
  font-weight: 550;
}

/* Definition */
.dt-definition {
  padding: 82px 0 86px;
}

.dt-definition-grid {
  display: grid;
  grid-template-columns: minmax(0,5fr) minmax(0,7fr);
  gap: 72px;
  align-items: start;
}

.dt-definition h2 {
  max-width: 17ch;
  font-size: clamp(34px,3.2vw,44px);
  line-height: 1.06;
}

.dt-definition-grid > div {
  max-width: 62ch;
  display: grid;
  gap: 18px;
  padding-top: 4px;
}

.dt-definition p {
  color: var(--dt-copy);
  font-size: 17px;
  line-height: 1.6;
}

/* Shared section heads */
.dt-section-head {
  display: grid;
  grid-template-columns: minmax(0,7fr) minmax(320px,5fr);
  gap: 72px;
  align-items: end;
  margin-bottom: 48px;
}

.dt-section-head h2 {
  max-width: 16ch;
  margin: 16px 0 0;
  font-size: clamp(38px,3.8vw,52px);
  line-height: 1.04;
}

.dt-section-head > p {
  max-width: 46ch;
  color: var(--dt-copy);
  font-size: 16px;
  line-height: 1.6;
}

/* Intake paths */
.dt-paths {
  padding: 116px 0 120px;
}

.dt-path-grid {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  border-top: 1px solid var(--dt-line-strong);
  border-bottom: 1px solid var(--dt-line-strong);
}

.dt-path-card {
  min-height: 648px;
  display: flex;
  flex-direction: column;
  padding: 32px 40px 36px;
  transition: background-color 180ms var(--launch-ease);
}

.dt-path-card + .dt-path-card {
  border-left: 1px solid var(--dt-line);
}

.dt-path-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  color: var(--dt-muted);
  font-size: 12px;
}

.dt-path-top span {
  color: #a8402c;
  font-variant-numeric: tabular-nums;
}

.dt-path-top small {
  color: var(--dt-ink);
  font-weight: 550;
}

.dt-path-visual {
  position: relative;
  width: min(100%,320px);
  height: 138px;
  flex: 0 0 138px;
  margin-top: 28px;
  color: #777a7f;
}

.dt-path-icon {
  width: 30px;
  height: 30px;
  display: grid;
  place-items: center;
  flex: 0 0 auto;
  border: 1px solid rgba(24,24,27,.08);
  border-radius: 5px;
  background: #f3f3f4;
  color: #888b90;
  font-style: normal;
}

.dt-path-icon svg {
  width: 17px;
  height: 17px;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.35;
}

.dt-ref-panel,
.dt-scan-canvas,
.dt-scan-state,
.dt-file-stack > i,
.dt-model-record {
  position: absolute;
  border: 1px solid rgba(24,24,27,.1);
  border-radius: 5px;
  background: rgba(253,253,253,.96);
  box-shadow: 0 12px 24px -20px rgba(18,18,20,.42),0 1px 2px rgba(18,18,20,.04);
}

.dt-ref-panel,
.dt-scan-state,
.dt-model-record {
  display: grid;
  grid-template-columns: 30px minmax(0,1fr);
  grid-template-rows: auto auto;
  column-gap: 10px;
  align-content: center;
  padding: 10px;
}

.dt-ref-panel .dt-path-icon,
.dt-model-record .dt-path-icon {
  grid-row: 1 / 3;
}

.dt-ref-panel b,
.dt-scan-canvas b,
.dt-scan-state b,
.dt-file-stack b,
.dt-model-record b {
  color: #343539;
  font-size: 10px;
  font-weight: 550;
  line-height: 1.2;
}

.dt-ref-panel small,
.dt-scan-state small,
.dt-file-stack small,
.dt-model-record small {
  margin-top: 3px;
  color: #74777c;
  font-size: 9px;
  line-height: 1.2;
}

.dt-ref-panel--photo {
  left: 0;
  top: 25px;
  width: 184px;
  min-height: 74px;
  z-index: 2;
}

.dt-ref-panel--measure {
  top: 0;
  right: 8px;
  width: 136px;
  min-height: 56px;
}

.dt-ref-panel--artwork {
  right: 0;
  bottom: 2px;
  width: 124px;
  min-height: 56px;
  z-index: 3;
}

.dt-scan-canvas {
  left: 3px;
  top: 5px;
  width: 236px;
  height: 126px;
  overflow: hidden;
  background:
    linear-gradient(rgba(24,24,27,.04) 1px,transparent 1px),
    linear-gradient(90deg,rgba(24,24,27,.04) 1px,transparent 1px),
    #f7f7f8;
  background-size: 24px 24px;
}

.dt-scan-canvas > b {
  position: absolute;
  left: 11px;
  top: 10px;
}

.dt-scan-frame {
  position: absolute;
  left: 91px;
  top: 38px;
  width: 56px;
  height: 56px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(24,24,27,.13);
  border-radius: 5px;
  background: rgba(255,255,255,.58);
  color: #8d9095;
  font-style: normal;
}

.dt-scan-frame svg {
  width: 28px;
  height: 28px;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.1;
}

.dt-scan-canvas > em {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 34%;
  width: 1px;
  background: rgba(236,95,63,.7);
  box-shadow: 0 0 12px rgba(236,95,63,.18);
}

.dt-scan-state {
  right: 0;
  bottom: 7px;
  z-index: 2;
  width: 142px;
  min-height: 54px;
  grid-template-columns: 8px minmax(0,1fr);
  column-gap: 8px;
  background: rgba(253,253,253,.93);
  backdrop-filter: blur(10px);
}

.dt-scan-state > i {
  grid-row: 1 / 3;
  width: 6px;
  height: 6px;
  align-self: center;
  border-radius: 50%;
  background: #819a87;
  box-shadow: 0 0 0 3px rgba(129,154,135,.11);
}

.dt-file-stack {
  position: absolute;
  left: 0;
  top: 28px;
  width: 150px;
  height: 82px;
}

.dt-file-stack > i {
  top: 0;
  width: 64px;
  height: 72px;
  display: grid;
  align-content: end;
  padding: 9px;
  font-style: normal;
}

.dt-file-stack > i:nth-child(1) { left: 0; transform: translateY(7px); }
.dt-file-stack > i:nth-child(2) { left: 42px; z-index: 2; }
.dt-file-stack > i:nth-child(3) { left: 84px; transform: translateY(7px); z-index: 3; }

.dt-file-stack > i::before {
  position: absolute;
  left: 9px;
  top: 9px;
  width: 18px;
  height: 22px;
  border: 1px solid #a4a7ab;
  border-radius: 3px;
  background: #f6f6f7;
  content: "";
}

.dt-file-stack > i::after {
  position: absolute;
  left: 20px;
  top: 9px;
  width: 7px;
  height: 7px;
  border-bottom: 1px solid #a4a7ab;
  border-left: 1px solid #a4a7ab;
  background: #fff;
  content: "";
}

.dt-file-link {
  position: absolute;
  left: 154px;
  top: 68px;
  width: 30px;
  border-top: 1px dotted rgba(24,24,27,.42);
}

.dt-file-link::after {
  position: absolute;
  right: -1px;
  top: -5px;
  border-top: 5px solid transparent;
  border-bottom: 5px solid transparent;
  border-left: 7px solid rgba(24,24,27,.42);
  content: "";
}

.dt-model-record {
  right: 0;
  top: 33px;
  width: 136px;
  min-height: 72px;
}

.dt-path-card h3 {
  max-width: 18ch;
  margin-top: 28px;
  font-size: 30px;
  font-weight: 400;
  letter-spacing: -.025em;
  line-height: 1.15;
}

.dt-path-card > p {
  max-width: 36ch;
  margin-top: 24px;
  color: var(--dt-copy);
  font-size: 16px;
  line-height: 1.56;
}

.dt-path-help {
  margin-top: auto;
  padding-top: 32px;
  color: var(--dt-copy);
  font-size: 12px;
  font-weight: 550;
  letter-spacing: .01em;
}

.dt-path-card ul {
  display: grid;
  gap: 0;
  margin: 10px 0 0;
  padding: 0;
  border-top: 1px solid var(--dt-line);
  list-style: none;
}

.dt-path-card li {
  position: relative;
  padding: 13px 0 13px 16px;
  border-bottom: 1px solid var(--dt-line);
  color: var(--dt-copy);
  font-size: 14px;
  line-height: 1.4;
}

.dt-path-card li::before {
  position: absolute;
  left: 0;
  top: 19px;
  width: 5px;
  height: 5px;
  background: var(--dt-orange);
  content: "";
}

.dt-page .dt-path-note {
  display: flex;
  align-items: baseline;
  gap: 14px;
  max-width: 90ch;
  margin: 28px 0 0;
  color: var(--dt-copy);
  font-size: 15px;
  line-height: 1.55;
}

.dt-path-note span {
  flex: 0 0 auto;
  padding: 5px 8px;
  border: 1px solid var(--dt-line);
  border-radius: 999px;
  background: var(--dt-soft);
  color: var(--dt-ink);
  font-size: 11px;
  font-weight: 550;
}

/* Production standard */
.dt-standard {
  padding: 120px 0;
  background: var(--dt-dark);
  color: #fff;
}

.dt-standard-grid {
  display: grid;
  grid-template-columns: minmax(0,5.3fr) minmax(0,6.7fr);
  gap: 76px;
  align-items: start;
}

.dt-standard-visual {
  position: sticky;
  top: 92px;
  height: min(700px,calc(100vh - 130px));
  min-height: 560px;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 5px;
  background: #2a2b2e;
}

.dt-standard-visual img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  filter: saturate(.55) contrast(1.03) brightness(.86);
}

.dt-standard-visual::after {
  position: absolute;
  inset: 0;
  border: 1px solid rgba(255,255,255,.08);
  background: linear-gradient(180deg,transparent 54%,rgba(10,11,13,.42));
  content: "";
  pointer-events: none;
}

.dt-standard-tag {
  position: absolute;
  z-index: 2;
  padding: 8px 10px;
  border: 1px solid rgba(255,255,255,.24);
  border-radius: 5px;
  background: rgba(15,16,18,.58);
  color: rgba(255,255,255,.78);
  font-size: 9px;
  backdrop-filter: blur(12px);
}

.dt-standard-tag::before {
  width: 5px;
  height: 5px;
  display: inline-block;
  margin-right: 7px;
  background: var(--dt-orange);
  content: "";
}

.dt-standard-tag--finish { top: 8%; right: 6%; }
.dt-standard-tag--art { left: 6%; top: 43%; }
.dt-standard-tag--edge { right: 8%; bottom: 9%; }

.dt-standard-copy {
  padding: 22px 0 8px;
}

.dt-standard-copy h2 {
  max-width: 13ch;
  margin-top: 18px;
  font-size: clamp(42px,4.3vw,58px);
  line-height: 1.02;
}

.dt-standard-lead {
  max-width: 46ch;
  margin-top: 26px !important;
  color: rgba(255,255,255,.61);
  font-size: 17px;
  line-height: 1.6;
}

.dt-standard-list {
  margin-top: 48px;
  border-top: 1px solid rgba(255,255,255,.14);
}

.dt-standard-list article {
  display: grid;
  grid-template-columns: 34px minmax(0,1fr);
  gap: 18px;
  padding: 24px 0 26px;
  border-bottom: 1px solid rgba(255,255,255,.14);
}

.dt-standard-list article > span {
  padding-top: 3px;
  color: var(--dt-orange);
  font-size: 10px;
}

.dt-standard-list h3 {
  font-size: 17px;
  font-weight: 500;
  letter-spacing: -.012em;
  line-height: 1.3;
}

.dt-standard-list p {
  max-width: 50ch;
  margin-top: 8px;
  color: rgba(255,255,255,.52);
  font-size: 14px;
  line-height: 1.58;
}

/* Process */
.dt-process {
  padding: 120px 0;
}

.dt-process-grid {
  display: grid;
  grid-template-columns: minmax(0,4.2fr) minmax(0,7.8fr);
  gap: 88px;
  align-items: start;
}

.dt-process header {
  position: sticky;
  top: 98px;
}

.dt-process h2 {
  max-width: 13ch;
  margin-top: 17px;
  font-size: clamp(38px,3.8vw,50px);
  line-height: 1.04;
}

.dt-process header > p {
  max-width: 38ch;
  margin-top: 24px;
  color: var(--dt-copy);
  font-size: 15px;
  line-height: 1.6;
}

.dt-process-list {
  margin: 0;
  padding: 0;
  border-top: 1px solid var(--dt-line-strong);
  list-style: none;
}

.dt-process-list li {
  display: grid;
  grid-template-columns: 34px minmax(0,1fr) 68px;
  gap: 18px;
  align-items: start;
  min-height: 132px;
  padding: 24px 0;
  border-bottom: 1px solid var(--dt-line);
}

.dt-process-list li > span {
  padding-top: 3px;
  color: var(--dt-orange);
  font-size: 10px;
}

.dt-process-list h3 {
  font-size: 18px;
  font-weight: 500;
  letter-spacing: -.015em;
  line-height: 1.3;
}

.dt-process-list p {
  max-width: 48ch;
  margin-top: 8px;
  color: var(--dt-copy);
  font-size: 14px;
  line-height: 1.56;
}

.dt-process-list small {
  justify-self: end;
  padding: 5px 7px;
  border: 1px solid var(--dt-line);
  border-radius: 4px;
  color: var(--dt-muted);
  font-size: 9px;
}

/* Outputs */
.dt-output {
  padding: 118px 0 124px;
  background: var(--dt-soft);
}

.dt-output-head {
  align-items: end;
}

.dt-output-head h2 {
  max-width: 17ch;
}

.dt-output-system {
  display: grid;
  grid-template-columns: minmax(280px,4fr) 72px minmax(0,8fr);
  align-items: stretch;
}

.dt-output-source,
.dt-output-card {
  overflow: hidden;
  border: 1px solid var(--dt-line-strong);
  border-radius: 5px;
  background: #fff;
}

.dt-output-source {
  min-height: 592px;
  display: grid;
  grid-template-rows: 46px minmax(0,1fr) 68px;
}

.dt-output-source-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 0 14px;
  border-bottom: 1px solid var(--dt-line);
  color: var(--dt-muted);
  font-size: 10px;
}

.dt-output-source-top em {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  color: #576b5e;
  font-style: normal;
}

.dt-output-source-top i {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #718a77;
  box-shadow: 0 0 0 4px rgba(113,138,119,.11);
}

.dt-output-source-media {
  position: relative;
  overflow: hidden;
  background:
    linear-gradient(rgba(24,24,27,.045) 1px,transparent 1px),
    linear-gradient(90deg,rgba(24,24,27,.045) 1px,transparent 1px),
    #e4e4e6;
  background-size: 36px 36px;
}

.dt-output-source-media img {
  position: relative;
  z-index: 1;
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  object-position: center;
}

.dt-output-axis {
  position: absolute;
  z-index: 2;
  display: block;
  background: rgba(236,95,63,.72);
  pointer-events: none;
}

.dt-output-axis--x {
  left: 0;
  right: 0;
  top: 58%;
  height: 1px;
}

.dt-output-axis--y {
  top: 0;
  bottom: 0;
  left: 53%;
  width: 1px;
}

.dt-output-source figcaption,
.dt-output-card figcaption {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 0 14px;
  border-top: 1px solid var(--dt-line);
}

.dt-output-source figcaption strong,
.dt-output-card figcaption span {
  color: var(--dt-ink);
  font-size: 12px;
  font-weight: 550;
}

.dt-output-source figcaption small,
.dt-output-card figcaption small {
  color: var(--dt-muted);
  font-size: 9px;
  text-align: right;
}

.dt-output-flow {
  position: relative;
  display: grid;
  place-items: center;
}

.dt-output-flow span {
  position: absolute;
  left: 0;
  right: 0;
  top: 50%;
  height: 1px;
  background: var(--dt-line-strong);
}

.dt-output-flow span::after {
  position: absolute;
  right: -1px;
  top: -3px;
  width: 6px;
  height: 6px;
  border-top: 1px solid var(--dt-line-strong);
  border-right: 1px solid var(--dt-line-strong);
  transform: rotate(45deg);
  content: "";
}

.dt-output-flow b {
  position: relative;
  z-index: 1;
  padding: 5px 7px;
  border: 1px solid var(--dt-line);
  border-radius: 999px;
  background: var(--dt-soft);
  color: var(--dt-muted);
  font-size: 8px;
  font-weight: 550;
  letter-spacing: .04em;
  text-transform: uppercase;
}

.dt-output-grid {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 12px;
}

.dt-output-card {
  min-width: 0;
  display: grid;
  grid-template-rows: 232px 58px;
}

.dt-output-media {
  min-width: 0;
  overflow: hidden;
  background: #dedee0;
}

.dt-output-media > img,
.dt-output-media > video {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  transition: transform 700ms var(--launch-ease);
}

.dt-output-media--pdp {
  display: grid;
  grid-template-columns: 1.55fr 1fr;
  grid-template-rows: repeat(2,1fr);
  gap: 1px;
  background: var(--dt-line);
}

.dt-output-media--pdp img:first-child {
  grid-row: 1 / 3;
}

.dt-output-media--colorways {
  display: grid;
  grid-template-columns: repeat(3,1fr);
  gap: 1px;
  background: var(--dt-line);
}

.dt-output-media--colorways img {
  min-width: 0;
}

.dt-output-destinations {
  min-height: 64px;
  display: grid;
  grid-template-columns: 1.1fr repeat(7,1fr);
  align-items: stretch;
  margin-top: 22px;
  border-top: 1px solid var(--dt-line-strong);
  border-bottom: 1px solid var(--dt-line-strong);
}

.dt-output-destinations > * {
  min-width: 0;
  display: flex;
  align-items: center;
  padding: 0 13px;
  color: var(--dt-copy);
  font-size: 10px;
  line-height: 1.25;
}

.dt-output-destinations > * + * {
  border-left: 1px solid var(--dt-line);
}

.dt-output-destinations strong {
  color: var(--dt-orange);
  font-weight: 550;
}

/* Operations */
.dt-operations {
  padding: 120px 0;
}

.dt-operations-grid {
  display: grid;
  grid-template-columns: minmax(320px,4.3fr) minmax(0,7.7fr);
  gap: 76px;
  align-items: center;
}

.dt-operations-copy h2 {
  max-width: 13ch;
  margin-top: 17px;
  font-size: clamp(38px,3.7vw,50px);
  line-height: 1.04;
}

.dt-operations-copy > p {
  max-width: 38ch;
  margin-top: 22px;
  color: var(--dt-copy);
  font-size: 15px;
  line-height: 1.6;
}

.dt-operations-points {
  display: grid;
  margin-top: 30px;
  border-top: 1px solid var(--dt-line);
}

.dt-operations-points span {
  display: flex;
  align-items: center;
  gap: 11px;
  padding: 12px 0;
  border-bottom: 1px solid var(--dt-line);
  color: var(--dt-copy);
  font-size: 13px;
  line-height: 1.4;
}

.dt-operations-points i {
  width: 5px;
  height: 5px;
  flex: 0 0 auto;
  background: var(--dt-orange);
}

.dt-operations-copy .dt-text-link {
  margin-top: 22px;
}

.dt-library-proof {
  overflow: visible;
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
}

.dt-library-proof img {
  width: 100%;
  height: 420px;
  display: block;
  object-fit: cover;
  object-position: left top;
  border: 1px solid var(--dt-line);
  border-radius: 4px;
  background: #fff;
}

.dt-library-proof figcaption {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  padding: 17px 6px 5px;
}

.dt-library-proof figcaption span {
  color: var(--dt-muted);
  font-size: 10px;
}

.dt-library-proof figcaption strong {
  max-width: 40ch;
  font-size: 11px;
  font-weight: 550;
  text-align: right;
}

/* Formats */
.dt-formats {
  padding: 104px 0 110px;
  background: var(--dt-soft);
}

.dt-format-label {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 20px;
  margin-bottom: 12px;
}

.dt-format-label strong {
  color: var(--dt-ink);
  font-size: 12px;
  font-weight: 550;
}

.dt-format-label span {
  color: var(--dt-muted);
  font-size: 11px;
}

.dt-format-rail {
  display: grid;
  grid-template-columns: repeat(7,minmax(0,1fr));
  border: 1px solid var(--dt-line-strong);
  border-radius: 5px;
  background: #fff;
}

.dt-format-rail span {
  min-height: 76px;
  display: grid;
  place-items: center;
  padding: 12px;
  color: var(--dt-copy);
  font-size: 12px;
  font-weight: 550;
  text-align: center;
}

.dt-format-rail span + span {
  border-left: 1px solid var(--dt-line);
}

.dt-format-notes {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  margin-top: 42px;
  border-top: 1px solid var(--dt-line-strong);
}

.dt-format-notes article {
  min-height: 190px;
  padding: 22px 28px 24px 0;
}

.dt-format-notes article + article {
  padding-left: 28px;
  border-left: 1px solid var(--dt-line);
}

.dt-format-notes small {
  color: var(--dt-orange);
  font-size: 10px;
}

.dt-format-notes h3 {
  max-width: 28ch;
  margin-top: 34px;
  font-size: 18px;
  font-weight: 500;
  letter-spacing: -.012em;
  line-height: 1.32;
}

.dt-format-notes p {
  max-width: 36ch;
  margin-top: 12px;
  color: var(--dt-muted);
  font-size: 13px;
  line-height: 1.5;
}

.dt-formats-link {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin-top: 22px;
  color: var(--dt-ink);
  font-size: 12px;
  font-weight: 550;
  text-decoration: none;
}

.dt-formats-link span {
  transition: transform 180ms ease;
}

.dt-formats-link:hover span {
  transform: translateX(3px);
}

/* FAQ */
.dt-faq {
  padding: 112px 0 118px;
}

.dt-faq-grid {
  display: grid;
  grid-template-columns: minmax(0,4fr) minmax(0,8fr);
  gap: 80px;
  align-items: start;
}

.dt-faq header {
  position: sticky;
  top: 98px;
}

.dt-faq h2 {
  max-width: 12ch;
  margin-top: 17px;
  font-size: clamp(36px,3.6vw,48px);
  line-height: 1.04;
}

.dt-faq header > p {
  max-width: 34ch;
  margin-top: 22px;
  color: var(--dt-copy);
  font-size: 15px;
  line-height: 1.58;
}

.dt-faq-list {
  border-top: 1px solid var(--dt-line-strong);
}

.dt-faq details {
  border-bottom: 1px solid var(--dt-line);
}

.dt-faq summary {
  min-height: 70px;
  display: grid;
  grid-template-columns: minmax(0,1fr) 24px;
  align-items: center;
  gap: 24px;
  padding: 19px 0;
  list-style: none;
  cursor: pointer;
  font-size: 17px;
  line-height: 1.35;
}

.dt-faq summary::-webkit-details-marker { display: none; }

.dt-faq summary::after {
  width: 24px;
  height: 24px;
  display: grid;
  place-items: center;
  color: var(--dt-muted);
  font-size: 18px;
  font-weight: 300;
  content: "+";
}

.dt-faq details[open] summary::after { content: "−"; }

.dt-faq summary:focus-visible {
  border-radius: 4px;
  outline: 2px solid var(--dt-orange);
  outline-offset: 3px;
}

.dt-faq details p {
  max-width: 66ch;
  padding: 0 56px 25px 0;
  color: var(--dt-copy);
  font-size: 15px;
  line-height: 1.62;
}

/* Closing ask */
.dt-commit {
  padding: 100px 0 104px;
  border-bottom: 0 !important;
  background: var(--dt-dark);
  color: #fff;
}

.dt-commit-grid {
  display: grid;
  grid-template-columns: minmax(0,7fr) minmax(320px,5fr);
  gap: 80px;
  align-items: end;
}

.dt-commit h2 {
  max-width: 15ch;
  margin-top: 18px;
  font-size: clamp(44px,4.6vw,60px);
  line-height: 1.01;
}

.dt-commit-grid > div:last-child > p {
  max-width: 42ch;
  color: rgba(255,255,255,.59);
  font-size: 16px;
  line-height: 1.6;
}

.dt-commit .pp-button {
  min-height: 48px;
  margin-top: 30px;
  border-color: #fff;
  background: #fff;
  color: var(--dt-dark);
}

@media (hover:hover) and (pointer:fine) {
  .dt-text-link:hover { text-decoration: underline; }
  .dt-text-link:hover span { transform: translateX(2px); }
  .dt-hero .dt-text-link:hover span { transform: translateY(2px); }
  .dt-path-card:hover { background: var(--dt-soft); }
  .dt-output-card:hover img,
  .dt-output-card:hover video { transform: scale(1.018); }
}

@media (prefers-reduced-motion:no-preference) {
  .dt-scan-plane {
    animation: dt-scan 8s var(--launch-ease) infinite alternate;
  }

  .dt-scan-canvas > em {
    animation: dt-path-scan 5.5s var(--launch-ease) infinite alternate;
  }
}

@keyframes dt-scan {
  from { left: 28%; }
  to { left: 72%; }
}

@keyframes dt-path-scan {
  from { transform: translateX(0); }
  to { transform: translateX(80px); }
}

@media (max-width:1000px) {
  .dt-definition-grid,
  .dt-section-head,
  .dt-standard-grid,
  .dt-process-grid,
  .dt-operations-grid,
  .dt-faq-grid,
  .dt-commit-grid {
    grid-template-columns: 1fr;
  }

  .dt-section-head,
  .dt-commit-grid { gap: 34px; }
  .dt-path-grid { grid-template-columns: 1fr; }
  .dt-path-card { min-height: 0; }
  .dt-path-card + .dt-path-card { border-top: 1px solid var(--dt-line); border-left: 0; }
  .dt-definition-grid { gap: 28px; }
  .dt-standard-grid,
  .dt-process-grid,
  .dt-operations-grid,
  .dt-faq-grid { gap: 52px; }

  .dt-hero-intro { max-width: 660px; }
  .dt-verification-stage { height: 500px; }
  .dt-section-head > p { max-width: 54ch; }
  .dt-standard-visual { position: relative; top: auto; }
  .dt-process header,
  .dt-faq header { position: static; }
  .dt-standard-visual { height: 620px; min-height: 0; }
  .dt-standard-copy { max-width: 760px; }
  .dt-operations-copy { max-width: 680px; }
  .dt-output-system { grid-template-columns: minmax(240px,4fr) 52px minmax(0,8fr); }
  .dt-output-source { min-height: 552px; }
  .dt-output-card { grid-template-rows: 211px 58px; }
}

@media (max-width:720px) {
  .dt-page main::before { width: calc(100% - 40px); }
  .dt-shell { width: calc(100% - 40px); }

  .dt-hero { padding: 54px 0 64px; }
  .dt-hero-copy { text-align: left; }
  .dt-hero-title h1 { max-width: none; margin: 17px 0 0; font-size: 42px; line-height: 1.02; }
  .dt-hero-intro { margin: 24px 0 0; }
  .dt-hero-intro > p { margin-inline: 0; }
  .dt-hero-intro > p { font-size: 17px; }
  .dt-actions { width: 100%; align-items: flex-start; flex-direction: column; justify-content: flex-start; gap: 8px; margin-top: 24px; }
  .dt-actions .pp-button { width: 100%; min-height: 48px; }
  .dt-page .dt-verification { margin-top: 40px; }
  .dt-verification-bar { min-height: 48px; grid-template-columns: 1fr auto; padding-inline: 11px; }
  .dt-verification-bar > span { display: none; }
  .dt-verification-bar em { font-size: 9px; }
  .dt-verification-stage { height: 420px; background-size: 32px 32px; }
  .dt-verification-stage > img { object-position: 52% center; transform: scale(1.28); }
  .dt-proof-callout { min-width: 0; padding: 8px 9px; grid-template-columns: 18px 1fr; }
  .dt-proof-callout small { display: none; }
  .dt-proof-callout--geometry { left: 10px; top: 12px; }
  .dt-proof-callout--materials { right: 10px; top: 68px; }
  .dt-proof-callout--artwork { left: 10px; bottom: 64px; }
  .dt-proof-callout--scale { right: 10px; bottom: 12px; }
  .dt-verification-foot { min-height: 0; grid-template-columns: 1fr; }
  .dt-verification-foot > span { min-height: 42px; padding-inline: 11px; }
  .dt-verification-foot > span + span { border-top: 1px solid var(--dt-line); border-left: 0; }

  .dt-definition { padding: 62px 0 66px; }
  .dt-definition h2 { font-size: 32px; }
  .dt-definition p { font-size: 15px; }

  .dt-section-head { margin-bottom: 32px; }
  .dt-section-head h2 { max-width: none; font-size: 34px; }
  .dt-section-head > p { font-size: 15px; }

  .dt-paths { padding: 72px 0 76px; }
  .dt-path-grid { grid-template-columns: 1fr; }
  .dt-path-card { min-height: 0; padding: 24px 0 28px; }
  .dt-path-card + .dt-path-card { border-top: 1px solid var(--dt-line); border-left: 0; }
  .dt-path-visual { margin-top: 24px; }
  .dt-path-card h3 { max-width: 18ch; margin-top: 24px; font-size: 26px; }
  .dt-path-card > p { font-size: 15px; }
  .dt-path-help { margin-top: 28px; padding-top: 0; }
  .dt-path-note { align-items: flex-start; flex-direction: column; gap: 10px; }

  .dt-standard { padding: 72px 0 76px; }
  .dt-standard-grid { gap: 38px; }
  .dt-standard-visual { height: 470px; }
  .dt-standard-copy { padding: 0; }
  .dt-standard-copy h2 { max-width: none; font-size: 38px; }
  .dt-standard-lead { font-size: 16px; }
  .dt-standard-list { margin-top: 34px; }
  .dt-standard-list article { padding: 20px 0 22px; }

  .dt-process { padding: 76px 0 80px; }
  .dt-process-grid { gap: 38px; }
  .dt-process h2 { max-width: none; font-size: 34px; }
  .dt-process-list li { grid-template-columns: 30px minmax(0,1fr); min-height: 0; padding: 21px 0; }
  .dt-process-list small { display: none; }

  .dt-output { padding: 74px 0 80px; }
  .dt-output-system { display: block; }
  .dt-output-source { min-height: 0; grid-template-rows: 44px 390px 64px; }
  .dt-output-source figcaption { align-items: flex-start; flex-direction: column; justify-content: center; gap: 4px; }
  .dt-output-source figcaption small { text-align: left; }
  .dt-output-flow { height: 68px; }
  .dt-output-flow span { left: 50%; right: auto; top: 0; bottom: 0; width: 1px; height: auto; }
  .dt-output-flow span::after { right: -3px; top: auto; bottom: -1px; transform: rotate(135deg); }
  .dt-output-grid { display: flex; gap: 10px; margin-right: -20px; padding-right: 20px; overflow-x: auto; scroll-snap-type: x mandatory; overscroll-behavior-inline: contain; scrollbar-width: none; }
  .dt-output-grid::-webkit-scrollbar { display: none; }
  .dt-output-card { width: min(84vw,330px); height: auto; flex: 0 0 auto; grid-template-rows: 238px 68px; scroll-snap-align: start; }
  .dt-output-card figcaption { align-items: flex-start; flex-direction: column; justify-content: center; gap: 4px; }
  .dt-output-card figcaption small { text-align: left; }
  .dt-output-destinations { min-height: 58px; display: flex; margin-right: -20px; padding-right: 20px; overflow-x: auto; scroll-snap-type: x mandatory; overscroll-behavior-inline: contain; scrollbar-width: none; }
  .dt-output-destinations::-webkit-scrollbar { display: none; }
  .dt-output-destinations > * { min-width: 132px; flex: 0 0 auto; scroll-snap-align: start; }
  .dt-output-destinations strong { min-width: 92px; }

  .dt-operations { padding: 76px 0 80px; }
  .dt-operations-grid { gap: 38px; }
  .dt-operations-copy h2 { max-width: none; font-size: 34px; }
  .dt-library-proof { padding: 8px; }
  .dt-library-proof img { height: 320px; object-position: 24% top; }
  .dt-library-proof figcaption { align-items: flex-start; flex-direction: column; gap: 6px; padding: 14px 4px 4px; }
  .dt-library-proof figcaption strong { text-align: left; }

  .dt-formats { padding: 72px 0 76px; }
  .dt-format-label { align-items: flex-start; flex-direction: column; gap: 4px; }
  .dt-format-rail { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; overscroll-behavior-inline: contain; scrollbar-width: none; }
  .dt-format-rail::-webkit-scrollbar { display: none; }
  .dt-format-rail span { min-width: 126px; min-height: 66px; scroll-snap-align: start; }
  .dt-format-notes { grid-template-columns: 1fr; margin-top: 32px; }
  .dt-format-notes article,
  .dt-format-notes article + article { min-height: 0; padding: 22px 0 24px; border-left: 0; }
  .dt-format-notes article + article { border-top: 1px solid var(--dt-line); }
  .dt-format-notes h3 { margin-top: 24px; }
  .dt-formats-link { margin-top: 10px; }

  .dt-faq { padding: 76px 0 82px; }
  .dt-faq-grid { gap: 36px; }
  .dt-faq h2 { max-width: none; font-size: 34px; }
  .dt-faq summary { min-height: 64px; padding: 17px 0; font-size: 16px; }
  .dt-faq details p { padding-right: 34px; font-size: 14px; }

  .dt-commit { padding: 72px 0 76px; }
  .dt-commit h2 { max-width: none; font-size: 40px; }
  .dt-commit-grid > div:last-child > p { font-size: 15px; }
  .dt-commit .pp-button { width: 100%; }
}

@media (max-width:430px) {
  .dt-hero-title h1 { font-size: 39px; }
  .dt-verification-stage { height: 390px; }
  .dt-standard-visual { height: 430px; }
}

@media (prefers-reduced-motion:reduce) {
  .dt-scan-plane { animation: none; }
  .dt-output-card img,
  .dt-output-card video,
  .dt-text-link span { transition: none; }
}

/* v3: per-path CTAs, docs links, CAD-to-Studio proof, dual-path close */
.dt-path-cta {
  margin-top: 24px;
}

.dt-path-card li a {
  color: var(--dt-ink);
  text-decoration: underline;
  text-underline-offset: 2px;
}

.dt-path-card li a:focus-visible {
  border-radius: 3px;
  outline: 2px solid var(--dt-orange);
  outline-offset: 2px;
}

.dt-formats-links {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0 40px;
}

.dt-formats-proof {
  overflow: hidden;
  margin-top: 52px;
  padding: 12px;
  border: 1px solid var(--dt-line);
  border-radius: 5px;
  background: #f0f1f2;
  box-shadow: 0 28px 66px -58px rgba(18,18,20,.62);
}

.dt-formats-proof img {
  width: 100%;
  height: auto;
  display: block;
  border: 1px solid var(--dt-line);
  border-radius: 4px;
  background: #141517;
}

.dt-formats-proof figcaption {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  padding: 17px 6px 5px;
}

.dt-formats-proof figcaption span {
  flex: 0 0 auto;
  color: var(--dt-muted);
  font-size: 10px;
}

.dt-formats-proof figcaption strong {
  max-width: 56ch;
  font-size: 11px;
  font-weight: 550;
  text-align: right;
}

.dt-faq details p a {
  color: var(--dt-ink);
  text-decoration: underline;
  text-underline-offset: 2px;
}

.dt-commit .dt-actions {
  gap: 26px;
}

.dt-commit .dt-actions .pp-button {
  margin-top: 0;
}

.dt-commit .dt-text-link {
  color: #fff;
}

@media (max-width:720px) {
  .dt-path-cta { min-height: 40px; }
  .dt-commit .dt-actions { flex-direction: column; align-items: stretch; }
  .dt-commit .dt-actions .pp-button { width: 100%; }
  .dt-commit .dt-actions .dt-text-link { justify-content: center; }
  .dt-formats-proof figcaption { flex-direction: column; align-items: flex-start; gap: 6px; }
  .dt-formats-proof figcaption strong { text-align: left; }
}
