 

.tdc-od-hero { --od-ink: var(--color-dark, #0a0a14); --od-cyan: var(--color-neon-cyan, #00f0ff); --od-pink: var(--color-neon-pink, #ff2d78); --od-cta: var(--color-cta, #ff5c5c); --od-on-cta: var(--color-on-cta, #0a0a14); }
.tdc-od-hero .landing-hero__content { position: relative; z-index: 1; }
.tdc-od-hero__grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--space-2xl, 32px); align-items: center; }
@media (min-width: 1024px) { .tdc-od-hero__grid { grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); gap: var(--space-3xl, 48px); } }
 
.tdc-od-hero .landing-hero__title { margin-bottom: var(--space-md, 16px); }
.tdc-od-hero__from { margin: 0 0 var(--space-xs, 4px); font-size: var(--text-sm, 14px); font-weight: 600; color: var(--color-text-on-dark, #f0f0ff); }
.tdc-od-hero__copy > .tdc-od-chips { margin: var(--space-sm, 8px) 0 var(--space-lg, 24px); }
.tdc-od-hero::after { content: ''; position: absolute; inset: auto 0 0 auto; width: 55%; height: 100%; background: radial-gradient(ellipse at 75% 45%, rgba(0, 240, 255, .10) 0%, transparent 60%); pointer-events: none; }
.tdc-od-chips li { white-space: nowrap; }

 
.tdc-od { position: relative; }
.tdc-od [hidden], .tdc-od__studio[hidden], .tdc-od__progress[hidden] { display: none !important; }
.tdc-od__hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; opacity: 0; }
 
.tdc-od-sticky { display: none; }

 
.tdc-od__drop {
	position: relative; display: block; min-height: 260px; padding: var(--space-xl, 32px);
	border: 2px dashed rgba(0, 240, 255, .45); border-radius: var(--radius-xl, 24px);
	background: linear-gradient(160deg, rgba(20, 20, 36, .92), rgba(10, 10, 20, .88));
	box-shadow: 0 20px 60px rgba(0, 0, 0, .45), inset 0 0 0 1px rgba(255, 255, 255, .04);
	color: var(--color-text-on-dark, #f0f0ff); cursor: pointer; text-align: center;
	transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}
 
 
.tdc-od__drop:focus-visible { border-color: var(--od-cyan, #00f0ff); box-shadow: 0 24px 70px rgba(0, 0, 0, .5); outline: 3px solid var(--od-cyan, #00f0ff); outline-offset: 3px; }
.tdc-od__drop.is-over { border-style: solid; border-color: var(--od-cyan, #00f0ff); transform: scale(1.01); background: linear-gradient(160deg, rgba(0, 240, 255, .12), rgba(10, 10, 20, .9)); }
.tdc-od__drop.is-busy { cursor: progress; }
.tdc-od__drop.is-busy .tdc-od__drop-inner { opacity: .35; }
.tdc-od__drop-inner { display: flex; flex-direction: column; align-items: center; gap: var(--space-sm, 8px); }
.tdc-od__drop-icon { display: inline-flex; width: 72px; height: 72px; align-items: center; justify-content: center; border-radius: 50%; color: var(--od-cyan, #00f0ff); background: rgba(0, 240, 255, .08); box-shadow: 0 0 0 1px rgba(0, 240, 255, .25), 0 0 32px rgba(0, 240, 255, .18); margin-bottom: var(--space-xs, 4px); }
.tdc-od__drop.is-over .tdc-od__drop-icon { animation: tdc-od-bob .8s ease-in-out infinite; }
@keyframes tdc-od-bob { 50% { transform: translateY(-6px); } }
.tdc-od__drop-title { font-size: clamp(20px, 2.4vw, 26px); font-weight: 700; letter-spacing: -.01em; }
.tdc-od__drop-or { font-size: var(--text-sm, 14px); opacity: .6; }
.tdc-od__browse { pointer-events: none; }
.tdc-od__drop-formats { font-size: 13px; opacity: .65; margin-top: var(--space-xs, 4px); }
.tdc-od__progress { position: absolute; inset: auto var(--space-xl, 32px) var(--space-lg, 24px); }
.tdc-od__progress-bar { height: 8px; border-radius: 999px; background: rgba(255, 255, 255, .12); overflow: hidden; }
.tdc-od__progress-bar span { display: block; height: 100%; width: 0; border-radius: inherit; background: linear-gradient(90deg, var(--od-pink, #ff2d78), var(--od-cyan, #00f0ff)); transition: width .15s linear; }
.tdc-od__progress-label { display: block; margin-top: var(--space-sm, 8px); font-size: 14px; font-weight: 600; }

.tdc-od__msg { margin: var(--space-md, 16px) 0 0; padding: 12px 16px; border-radius: 12px; font-size: 15px; line-height: 1.45; }
.tdc-od__msg.is-error { background: rgba(255, 92, 92, .14); color: #ffb4b4; border: 1px solid rgba(255, 92, 92, .4); }
.tdc-od__msg.is-info { background: rgba(0, 240, 255, .1); color: #bff8ff; border: 1px solid rgba(0, 240, 255, .35); }
.tdc-od__msg.is-ok { background: rgba(0, 229, 160, .12); color: #a8ffe0; border: 1px solid rgba(0, 229, 160, .4); }

 
.tdc-od__studio {
	margin-top: var(--space-xl, 32px); padding: var(--space-lg, 24px);
	display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--space-lg, 24px);
	background: var(--color-white, #fff); color: var(--color-text-on-canvas, #1a1a1f);
	border-radius: var(--radius-xl, 24px); box-shadow: 0 30px 80px rgba(0, 0, 0, .45);
}
 
.tdc-od-hero__grid:has(.has-job) { grid-template-columns: minmax(0, 1fr); gap: var(--space-lg, 24px); }
.tdc-od-hero__grid:has(.has-job) .landing-hero__subtitle,
.tdc-od-hero__grid:has(.has-job) .tdc-od-chips,
.tdc-od-hero__grid:has(.has-job) .tdc-od-hero__from { display: none; }
.tdc-od-hero__grid:has(.has-job) .landing-hero__title { font-size: clamp(24px, 3vw, 32px); margin-bottom: 0; }
 
.tdc-od.has-job { display: grid; grid-template-columns: minmax(0, 1fr); }
.tdc-od.has-job .tdc-od__msg { order: 1; }
.tdc-od.has-job .tdc-od__studio { order: 2; }
.tdc-od.has-job .tdc-od__drop {
	order: 3; min-height: 104px; margin-top: var(--space-md, 16px);
	padding: var(--space-md, 16px) var(--space-lg, 24px); border-radius: 16px;
	display: flex; align-items: center; justify-content: center;
}
.tdc-od__drop-compact { display: none; }
.tdc-od.has-job .tdc-od__drop-inner { display: none; }
.tdc-od.has-job .tdc-od__drop-compact { display: flex; align-items: center; justify-content: center; gap: 10px; font-size: 15px; font-weight: 600; line-height: 1.35; text-align: center; }
.tdc-od.has-job .tdc-od__drop.is-busy .tdc-od__drop-compact { opacity: .35; }
.tdc-od.has-job .tdc-od__progress { inset: auto var(--space-lg, 24px) 10px; }
.tdc-od__drop-compact-icon { display: inline-flex; flex: none; color: var(--od-cyan, #00f0ff); }
@media (min-width: 900px) { .tdc-od__studio { grid-template-columns: minmax(0, 1.1fr) minmax(340px, .9fr); padding: var(--space-xl, 32px); } }

.tdc-od__stage { display: flex; flex-direction: column; gap: var(--space-md, 16px); }
.tdc-od__viewer { position: relative; aspect-ratio: 4 / 3; min-height: 260px; border-radius: 16px; overflow: hidden; background: radial-gradient(ellipse at 50% 40%, #1c1c30 0%, #0a0a14 75%); }
 
@keyframes tdc-od-materialize {
	0%   { transform: translateY(100%); opacity: 0; }
	10%  { opacity: 1; }
	86%  { opacity: 1; }
	100% { transform: translateY(-150%); opacity: 0; }
}

@media (prefers-reduced-motion: no-preference) {
	.tdc-od__viewer::before {
		content: '';
		position: absolute;
		inset: auto 0 0 0;
		height: 46%;
		z-index: 2;
		pointer-events: none;
		background: linear-gradient(
			to top,
			rgba(0, 240, 255, 0) 0%,
			rgba(0, 240, 255, 0.08) 58%,
			rgba(0, 240, 255, 0.42) 94%,
			rgba(186, 246, 255, 0.85) 100%
		);
		animation: tdc-od-materialize 1.45s cubic-bezier(0.22, 0.61, 0.36, 1) both;
	}
}

.tdc-od__viewer canvas { display: block; width: 100% !important; height: 100% !important; touch-action: none; }
.tdc-od__viewer.is-loading::after { content: ''; position: absolute; inset: 0; margin: auto; width: 40px; height: 40px; border-radius: 50%; border: 3px solid rgba(0, 240, 255, .25); border-top-color: #00f0ff; animation: tdc-od-spin .9s linear infinite; }
.tdc-od__viewer-hud { position: absolute; left: 12px; bottom: 12px; padding: 6px 10px; border-radius: 8px; background: rgba(10, 10, 20, .7); color: #f0f0ff; font-size: 13px; font-variant-numeric: tabular-nums; backdrop-filter: blur(6px); }
.tdc-od__viewer-fail { position: absolute; inset: 0; display: grid; place-items: center; margin: 0; padding: var(--space-lg, 24px); color: #c9c9dd; text-align: center; font-size: 14px; }
.tdc-od__file { display: flex; flex-wrap: wrap; gap: var(--space-sm, 8px) var(--space-lg, 24px); align-items: baseline; }
.tdc-od__file-name { flex: 1 1 100%; font-size: 17px; word-break: break-all; }
.tdc-od__file-meta { display: flex; flex-wrap: wrap; gap: var(--space-sm, 8px) var(--space-lg, 24px); margin: 0; }
.tdc-od__file-meta div { display: flex; flex-direction: column; }
.tdc-od__file-meta dt { font-size: 12px; text-transform: uppercase; letter-spacing: .06em; color: var(--color-text-on-canvas-muted, #5e5e6b); }
.tdc-od__file-meta dd { margin: 0; font-weight: 600; font-variant-numeric: tabular-nums; }
.tdc-od__pill { display: inline-block; padding: 4px 10px; border-radius: 999px; background: rgba(180, 74, 255, .12); color: #6a2fc4; font-size: 12px; font-weight: 600; }
.tdc-od__warn { margin: 0; padding: 10px 14px; border-radius: 10px; font-size: 14px; background: #fff4de; color: #6b4600; border: 1px solid #ffd58a; }
.tdc-od__warn.is-info { background: #e8fbff; color: #005a66; border-color: #9fe8f2; }
 
.tdc-od__actions { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-sm, 8px); align-self: flex-start; }
.tdc-od__action { min-height: 44px; padding: 10px 18px; font-size: 14.5px; border-radius: 10px; border: 1.5px solid; cursor: pointer; }
.tdc-od__action.tdc-od__newfile { background: transparent; color: var(--color-blueprint-on-canvas, #007a8a); border-color: var(--color-blueprint-on-canvas, #007a8a); }
.tdc-od__action.tdc-od__newfile:hover, .tdc-od__action.tdc-od__newfile:focus-visible { background: var(--color-blueprint-on-canvas, #007a8a); color: #fff; }
.tdc-od__action--cancel { background: transparent; color: var(--color-text-on-canvas-muted, #5e5e6b); border-color: #dcdce6; }
.tdc-od__action--cancel:hover, .tdc-od__action--cancel:focus-visible { color: #8a1c1c; border-color: #e2a3a3; background: #fff6f6; }
.tdc-od__action--danger { background: #8a1c1c; color: #fff; border-color: #8a1c1c; }
.tdc-od__action--danger:hover, .tdc-od__action--danger:focus-visible { background: #6d1414; border-color: #6d1414; }
.tdc-od__action:focus-visible { outline: 2px solid var(--color-focus, #00f0ff); outline-offset: 2px; }
.tdc-od__confirm { align-self: flex-start; padding: 12px 14px; border: 1.5px solid #e2a3a3; border-radius: 12px; background: #fff6f6; }
.tdc-od__confirm-q { margin: 0 0 10px; font-size: 14.5px; font-weight: 600; color: var(--color-text-on-canvas, #1a1a1f); }
.tdc-od__confirm-actions { display: flex; flex-wrap: wrap; gap: var(--space-sm, 8px); }

 
.tdc-od__config { display: flex; flex-direction: column; gap: var(--space-md, 16px); }
.tdc-od__group { border: 0; padding: 0; margin: 0; min-width: 0; }
.tdc-od__group legend { padding: 0; margin-bottom: var(--space-sm, 8px); font-size: 13px; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; color: var(--color-text-on-canvas-muted, #5e5e6b); }
.tdc-od__colour-name { text-transform: none; letter-spacing: 0; font-weight: 600; color: var(--color-text-on-canvas, #1a1a1f); }
.tdc-od__materials { display: grid; grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); gap: var(--space-sm, 8px); }
.tdc-od__material { position: relative; display: flex; flex-direction: column; gap: 2px; padding: 12px 14px; border: 1.5px solid #dcdce6; border-radius: 12px; cursor: pointer; transition: border-color .15s ease, box-shadow .15s ease; }
.tdc-od__material input { position: absolute; opacity: 0; inset: 0; margin: 0; cursor: pointer; }
.tdc-od__material:has(input:checked) { border-color: var(--color-blueprint-on-canvas, #007a8a); box-shadow: 0 0 0 3px rgba(0, 122, 138, .15); }
.tdc-od__material:has(input:focus-visible) { outline: 2px solid var(--color-focus, #00f0ff); outline-offset: 2px; }
.tdc-od__material-name { font-weight: 700; }
.tdc-od__material-desc { font-size: 12.5px; line-height: 1.35; color: var(--color-text-on-canvas-muted, #5e5e6b); }
 
 
.tdc-od__file-colours { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px; margin: var(--space-lg, 24px) 0 var(--space-xs, 6px); }
 
.tdc-od__file-colours.is-warning { padding: 10px 12px; border: 1px solid rgba(255, 149, 0, .45); border-radius: 10px; background: rgba(255, 149, 0, .07); }
.tdc-od__file-colours.is-warning .tdc-od__file-colours-label { color: #8a5200; }
.tdc-od__file-colours[hidden] { display: none; }
.tdc-od__file-colours-label { font-size: 13px; font-weight: 600; color: var(--color-ink-muted, #4a4a57); }
 
.tdc-od__file-colours-label--soft { font-weight: 500; opacity: .85; }
.tdc-od__file-colours-list { display: flex; flex-wrap: wrap; gap: 8px; }
.tdc-od__file-colour { display: inline-flex; align-items: center; gap: 6px; padding: 3px 9px 3px 4px; border: 1px solid rgba(0, 0, 0, .12); border-radius: 999px; background: rgba(0, 0, 0, .03); }
.tdc-od__file-colour-dot { width: 16px; height: 16px; border-radius: 50%; background: var(--chip, #888); box-shadow: inset 0 0 0 1px rgba(0, 0, 0, .25); }
 
.tdc-od__file-colour-hex { font-family: var(--font-mono, ui-monospace, SFMono-Regular, Menlo, monospace); font-size: 11px; letter-spacing: .02em; color: var(--color-ink-muted, #4a4a57); font-variant-numeric: tabular-nums; }

.tdc-od__swatches { display: flex; flex-wrap: wrap; gap: 8px; }
.tdc-od__swatch { width: 36px; height: 36px; padding: 0; border: 2px solid rgba(0, 0, 0, .08); border-radius: 50%; background: var(--dot, #888); cursor: pointer; box-shadow: inset 0 0 0 2px #fff; transition: transform .12s ease, box-shadow .12s ease; }
.tdc-od__swatch:hover { transform: scale(1.08); }
.tdc-od__swatch.is-selected { box-shadow: inset 0 0 0 2px #fff, 0 0 0 3px var(--color-blueprint-on-canvas, #007a8a); }
.tdc-od__swatch:focus-visible { outline: 2px solid var(--color-focus, #00f0ff); outline-offset: 3px; }
.tdc-od__row { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: var(--space-sm, 8px) var(--space-md, 16px); }
.tdc-od__field { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.tdc-od__field > span { font-size: 13px; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; color: var(--color-text-on-canvas-muted, #5e5e6b); }
.tdc-od__field select, .tdc-od__field textarea, .tdc-od__qty input { width: 100%; min-height: 44px; padding: 8px 12px; border: 1.5px solid #dcdce6; border-radius: 10px; background: #fff; color: inherit; font: inherit; }
.tdc-od__field select:focus-visible, .tdc-od__field textarea:focus-visible, .tdc-od__qty input:focus-visible { outline: 2px solid var(--color-focus, #00f0ff); outline-offset: 1px; border-color: var(--color-blueprint-on-canvas, #007a8a); }
.tdc-od__qty { display: grid; grid-template-columns: 44px 1fr 44px; }
.tdc-od__qty button { min-height: 44px; border: 1.5px solid #dcdce6; background: #f4f4f9; font-size: 20px; cursor: pointer; }
.tdc-od__qty button:first-child { border-radius: 10px 0 0 10px; border-right: 0; }
.tdc-od__qty button:last-child { border-radius: 0 10px 10px 0; border-left: 0; }
.tdc-od__qty input { border-radius: 0; text-align: center; font-variant-numeric: tabular-nums; -moz-appearance: textfield; }
.tdc-od__qty input::-webkit-inner-spin-button, .tdc-od__qty input::-webkit-outer-spin-button { -webkit-appearance: none; }
.tdc-od__toggle { display: flex; gap: 10px; align-items: flex-start; font-size: 14.5px; line-height: 1.4; cursor: pointer; }
.tdc-od__toggle input { width: 20px; height: 20px; margin: 1px 0 0; flex: none; accent-color: var(--color-blueprint-on-canvas, #007a8a); }
.tdc-od__toggle--rights { padding: 12px 14px; border-radius: 12px; background: #f4f4f9; }

 
.tdc-od__price { padding: var(--space-md, 16px) var(--space-lg, 24px); border-radius: 16px; background: var(--color-dark, #0a0a14); color: var(--color-text-on-dark, #f0f0ff); box-shadow: inset 0 0 0 1px rgba(0, 240, 255, .18); }
.tdc-od__price-head { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 14px; margin-bottom: 6px; }
.tdc-od__badge { display: inline-flex; align-items: center; padding: 4px 10px; border-radius: 999px; font-size: 12px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; background: rgba(255, 176, 32, .18); color: #ffd27a; }
.tdc-od__badge.is-precise { background: rgba(0, 229, 160, .16); color: #7dffd2; }
.tdc-od__slicing { display: inline-flex; align-items: center; gap: 8px; font-size: 13px; color: #bff8ff; }
.tdc-od__spinner { width: 14px; height: 14px; border-radius: 50%; border: 2px solid rgba(0, 240, 255, .3); border-top-color: #00f0ff; animation: tdc-od-spin .9s linear infinite; }
@keyframes tdc-od-spin { to { transform: rotate(360deg); } }
.tdc-od__total { font-size: clamp(32px, 4vw, 44px); font-weight: 800; letter-spacing: -.02em; line-height: 1.1; font-variant-numeric: tabular-nums; transition: opacity .15s ease; }
.tdc-od__total small { font-size: 14px; font-weight: 600; opacity: .7; margin-left: 4px; }
.is-quoting .tdc-od__total { opacity: .45; }
.tdc-od__lines, .tdc-od__breakdown dl { margin: var(--space-sm, 8px) 0 0; }
.tdc-od__lines div, .tdc-od__breakdown dl div { display: flex; justify-content: space-between; gap: 12px; padding: 5px 0; border-top: 1px solid rgba(255, 255, 255, .08); font-size: 14px; }
.tdc-od__lines dt, .tdc-od__breakdown dt { opacity: .8; }
.tdc-od__lines dd, .tdc-od__breakdown dd { margin: 0; font-variant-numeric: tabular-nums; font-weight: 600; }
.tdc-od__breakdown { margin-top: var(--space-sm, 8px); font-size: 14px; }
.tdc-od__breakdown summary { cursor: pointer; color: #bff8ff; }
.tdc-od__hint { margin: var(--space-sm, 8px) 0 0; font-size: 13px; color: #bff8ff; }
.tdc-od__hint:empty { display: none; }
.tdc-od__taxes { margin: 6px 0 0; font-size: 12px; opacity: .6; }
 
.tdc-od__ship { margin: var(--space-sm, 8px) 0 0; padding-top: 6px; border-top: 1px solid rgba(255, 255, 255, .08); font-size: 13.5px; font-weight: 600; line-height: 1.4; color: var(--color-text-on-dark, #f0f0ff); }
.tdc-od__checkout { width: 100%; justify-content: center; }
 
 
.tdc-od__another { width: 100%; min-height: 48px; justify-content: center; padding: 10px 18px; background: transparent; color: var(--color-blueprint-on-canvas, #007a8a); border: 1.5px solid var(--color-blueprint-on-canvas, #007a8a); border-radius: 10px; font-size: 15px; font-weight: 600; line-height: 1.3; white-space: normal; text-align: center; cursor: pointer; }
.tdc-od__another:hover, .tdc-od__another:focus-visible { background: var(--color-blueprint-on-canvas, #007a8a); color: #fff; }
.tdc-od__another:focus-visible { outline: 2px solid var(--color-focus, #00f0ff); outline-offset: 2px; }
.tdc-od__another:disabled, .tdc-od__checkout:disabled { opacity: .6; cursor: progress; }
 
.tdc-od__cart { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 4px 8px; margin: 0 0 var(--space-md, 16px); padding: 10px 16px; border-radius: 999px; background: rgba(0, 240, 255, .1); border: 1px solid rgba(0, 240, 255, .35); color: #bff8ff; font-size: 14.5px; font-weight: 600; line-height: 1.35; text-align: center; }
.tdc-od__cart[hidden] { display: none; }
.tdc-od__cart-link { color: #fff; text-decoration: underline; text-underline-offset: 3px; }
.tdc-od__cart-link:hover, .tdc-od__cart-link:focus-visible { color: var(--od-cyan, #00f0ff); }
#tdc-od-cancel-msg { order: 0; margin: 0; }
.tdc-od__config .tdc-od__msg.is-error, #tdc-od-cancel-msg.is-error { background: #ffecec; color: #8a1c1c; border-color: #ffb4b4; }
.tdc-od__config .tdc-od__hint { color: var(--color-text-on-canvas-muted, #5e5e6b); }

 
.tdc-od-materials { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: var(--space-lg, 24px); }
.tdc-od-material { padding: var(--space-lg, 24px); }
.tdc-od-material__name { margin: 0 0 6px; font-size: 22px; }
.tdc-od-material__desc { margin: 0 0 var(--space-md, 16px); opacity: .85; }
.tdc-od-material__colours { display: flex; flex-wrap: wrap; gap: 8px 14px; margin: 0; padding: 0; list-style: none; font-size: 14px; }
.tdc-od-material__colours li { display: inline-flex; align-items: center; gap: 6px; }
.tdc-od-dot { width: 16px; height: 16px; border-radius: 50%; background: var(--dot); box-shadow: inset 0 0 0 1px rgba(0, 0, 0, .12); }
.tdc-od-pricerows { display: grid; gap: var(--space-md, 16px); margin: 0; padding: 0; list-style: none; }
.tdc-od-pricerow { display: grid; grid-template-columns: 44px 1fr; gap: 14px; align-items: start; }
.tdc-od-pricerow__icon { display: inline-flex; width: 44px; height: 44px; align-items: center; justify-content: center; border-radius: 12px; background: rgba(0, 122, 138, .1); color: var(--color-blueprint-on-canvas, #007a8a); }
.tdc-od-pricerow p { margin: 2px 0 0; color: inherit; opacity: .78; }
.tdc-od-trust__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: var(--space-lg, 24px); }
.tdc-od-trust__item h3 { margin: var(--space-sm, 8px) 0 6px; font-size: 18px; }
.tdc-od-trust__item p { margin: 0; opacity: .8; }
.tdc-od-trust__icon { display: inline-flex; width: 48px; height: 48px; align-items: center; justify-content: center; border-radius: 12px; color: #00f0ff; background: rgba(0, 240, 255, .08); box-shadow: 0 0 0 1px rgba(0, 240, 255, .25); }
.tdc-od-faq { display: grid; gap: 10px; }
.tdc-od-faq__item { padding: 14px 18px; border: 1px solid #e3e3ec; border-radius: 12px; background: #fff; color: var(--color-text-on-canvas, #1a1a1f); }
.tdc-od-faq__item summary { cursor: pointer; font-weight: 700; list-style: none; display: flex; justify-content: space-between; gap: 12px; color: var(--color-text-on-canvas, #1a1a1f); }
.tdc-od-faq__item summary::-webkit-details-marker { display: none; }
.tdc-od-faq__item summary::after { content: '+'; font-weight: 400; color: var(--color-blueprint-on-canvas, #007a8a); }
.tdc-od-faq__item[open] summary::after { content: '−'; }
.tdc-od-faq__item p { margin: 10px 0 0; color: var(--color-text-on-canvas-muted, #5e5e6b); line-height: 1.55; }
 
.tdc-od-samples__table { width: 100%; border-collapse: collapse; margin: var(--space-lg, 24px) 0 var(--space-sm, 8px); font-size: 15px; }
.tdc-od-samples__table th, .tdc-od-samples__table td { padding: 12px 14px; text-align: left; vertical-align: baseline; border-bottom: 1px solid rgba(128, 128, 148, .35); }
.tdc-od-samples__table thead th { font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; opacity: .72; }
.tdc-od-samples__table tbody th { font-weight: 600; }
.tdc-od-samples__table .tdc-od-samples__size { white-space: nowrap; opacity: .78; font-variant-numeric: tabular-nums; }
.tdc-od-samples__table .tdc-od-samples__price { text-align: right; white-space: nowrap; font-variant-numeric: tabular-nums; }
.tdc-od-samples__table tbody .tdc-od-samples__price { font-weight: 700; font-size: 17px; }
.tdc-od-samples__note { margin: 0; font-size: 13px; opacity: .75; }
.tdc-od-crosslinks { margin: var(--space-lg, 24px) 0 0; font-size: 15px; line-height: 1.5; }
.tdc-od-crosslinks a { text-decoration: underline; text-underline-offset: 2px; }
@media (max-width: 479px) {
	.tdc-od-samples__table .tdc-od-samples__size { display: none; }
	.tdc-od-samples__table th, .tdc-od-samples__table td { padding: 10px 8px; }
}
 
@media (max-width: 767px) {
	.tdc-od-samples__table .tdc-od-samples__price { white-space: normal; }
}
.tdc-od-cta { text-align: center; }
.tdc-od-cta__other-title { margin: var(--space-2xl, 32px) 0 var(--space-md, 16px); font-size: 18px; }
.tdc-od-cta__other { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: var(--space-md, 16px); text-align: left; }
.tdc-od-cta__card { display: flex; flex-direction: column; gap: 4px; padding: var(--space-md, 16px) var(--space-lg, 24px); text-decoration: none; color: inherit; }
.tdc-od-cta__card span { font-size: 14px; color: inherit; opacity: .75; }

 
.tdc-od-account__lede { margin-bottom: var(--space-md, 16px); }
.tdc-od-account__actions { white-space: nowrap; }
.tdc-od-account__delete { margin-left: 6px; }
.tdc-od-cart-thumb { display: inline-flex; width: 64px; height: 64px; align-items: center; justify-content: center; border-radius: 10px; background: #0a0a14; color: #00f0ff; }

@media (prefers-reduced-motion: reduce) {
	.tdc-od__drop, .tdc-od__material, .tdc-od__swatch, .tdc-od__total { transition: none; }
	.tdc-od__drop.is-over .tdc-od__drop-icon { animation: none; }
}
@media (max-width: 599px) {
	.tdc-od__studio { padding: var(--space-md, 16px); border-radius: 16px; }
	.tdc-od__total { font-size: 32px; }

	 
	.tdc-od-hero__grid { row-gap: 0; }
	.tdc-od-hero__copy { display: contents; }
	.tdc-od-hero__copy > .figurine-kicker { order: 0; }
	.tdc-od-hero__copy > .landing-hero__title { order: 1; }
	.tdc-od-hero__app { order: 2; margin-top: var(--space-md, 16px); }
	.tdc-od-hero__copy > .landing-hero__subtitle { order: 3; margin-top: var(--space-lg, 24px); }
	 
	.tdc-od-hero__copy > .tdc-od-hero__from { order: 1; margin: 0; }
	.tdc-od-hero__copy > .tdc-od-chips { order: 4; margin: var(--space-sm, 8px) 0 0; }

	 
	.tdc-od__drop { min-height: 0; padding: var(--space-md, 16px); }
	.tdc-od__drop-inner { gap: 10px; }
	.tdc-od__drop-icon, .tdc-od__drop-or { display: none; }
	 
	.tdc-od__browse { order: 1; width: 100%; pointer-events: auto; }
	.tdc-od__drop-title { order: 2; font-size: var(--text-sm, 14px); font-weight: 600; opacity: .72; }
	.tdc-od__drop-formats { order: 3; margin-top: 0; }

	 
	.tdc-od-sticky:not([hidden]) {
		position: fixed; left: 12px; right: 12px;
		bottom: calc(12px + var(--tdc-consent-h, 0px) + env(safe-area-inset-bottom, 0px));
		z-index: 95; display: flex; align-items: center; justify-content: center;
		min-height: 52px; margin: 0; padding: .875rem 1.5rem;
		border: 2px solid var(--color-cta, #ff5c5c); border-radius: var(--radius-full, 9999px);
		background: var(--color-cta, #ff5c5c); color: var(--color-on-cta, #0a0a14);
		font-family: inherit; font-size: var(--text-base, 16px); font-weight: var(--weight-semibold, 600);
		line-height: 1; letter-spacing: var(--tracking-wide, .05em); white-space: nowrap; text-decoration: none;
		box-shadow: 0 8px 30px rgba(0, 0, 0, .4), var(--glow-cta-md, 0 4px 20px rgba(255, 92, 92, .4));
		cursor: pointer;
	}
	.tdc-od-sticky:not([hidden]):focus-visible { outline: 2px solid var(--color-focus, #00f0ff); outline-offset: 3px; }
	 
	:root:has(.floating-cart[aria-hidden="false"]) .tdc-od-sticky:not([hidden]) { right: 68px; }
	 
	:root:has(.tdc-od.has-job) .tdc-od-sticky { display: none; }
}


 
.tdc-od-cta .tdc-od-model-platforms { margin: 0 0 var(--space-lg, 24px); text-align: left; }
.tdc-od-cta .tdc-od-model-platforms h4 { margin: 0 0 var(--space-sm, 8px); font-size: 18px; line-height: 1.3; }
.tdc-od-cta .tdc-od-model-platforms h4:focus { outline: 3px solid var(--color-focus, #00f0ff); outline-offset: 4px; }
.tdc-od-cta .tdc-od-model-platforms__intro { margin: 0 0 12px; font-size: 15px; line-height: 1.5; }
.tdc-od-cta .tdc-od-model-platforms__steps { display: flex; flex-wrap: wrap; gap: 8px 28px; margin: 0 0 12px; padding-left: 20px; font-size: 14px; line-height: 1.5; }
.tdc-od-cta .tdc-od-model-platforms__steps li { padding-right: 4px; }
.tdc-od-cta .tdc-od-model-platforms__links { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 4px 16px; margin: 0 0 12px; padding: 0; list-style: none; }
.tdc-od-cta .tdc-od-model-platforms__links a { display: inline-flex; flex-wrap: wrap; align-items: center; gap: 0 4px; min-height: 44px; padding: 6px 0; color: var(--color-neon-cyan, #00f0ff); text-decoration: underline; text-underline-offset: 3px; line-height: 1.4; }
.tdc-od-cta .tdc-od-model-platforms__links a:hover { color: var(--color-text-on-dark, #f0f0ff); }
.tdc-od-cta .tdc-od-model-platforms__links a:focus-visible { outline: 3px solid var(--color-focus, #00f0ff); outline-offset: 4px; border-radius: 2px; }
.tdc-od-cta .tdc-od-model-platforms__new-tab { font-size: 12px; }
.tdc-od-cta .tdc-od-model-platforms__note { margin: 0; font-size: 13px; line-height: 1.5; color: var(--color-text-on-dark-muted, #b4b5cf); }
@media (max-width: 599px) {
	.tdc-od-cta .tdc-od-model-platforms__links { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
.tdc-od-hero .tdc-od-hero__model-link { margin: 8px 0 0; font-size: 14px; line-height: 1.5; }
.tdc-od-hero .tdc-od-hero__model-link a { display: inline-flex; align-items: center; min-height: 44px; color: var(--color-neon-cyan, #00f0ff); text-decoration: underline; text-underline-offset: 3px; }
.tdc-od-hero .tdc-od-hero__model-link a:focus-visible { outline: 3px solid var(--color-focus, #00f0ff); outline-offset: 4px; border-radius: 2px; }
