/* Dubbing landing (/ai_dubbing). Everything is scoped with dp-, the site's own sections (lp-) stay as they are. */
.dp-serif { font-family: 'Cormorant Garamond', var(--font-family-heading); }
.dp-sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }

/* Hero: the film is the page. At rest it is a close-up behind the words, on play it pulls back to the whole frame. */
.dp-hero { --dp-gold: var(--color-accent-primary); --dp-ease: cubic-bezier(.2, .72, .22, 1); position: relative; isolation: isolate; overflow: hidden;
  display: flex; flex-direction: column; min-height: clamp(740px, 100svh, 1040px); padding-top: 104px; color: var(--color-text-primary); background: var(--color-bg-page); font-variant-numeric: lining-nums; }
.dp-film { position: absolute; z-index: -3; top: 0; left: 0; width: 100%; aspect-ratio: 1920 / 818; background: #000; transform-origin: 0 0;
  transform: translateX(var(--dp-rx, 0)) scale(var(--dp-rest, 1.47)); transition: transform 1.5s var(--dp-ease); will-change: transform; }
.dp-film video, .dp-film img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.dp-film img { transition: opacity .9s ease .25s; }
.dp-veil { position: absolute; z-index: -2; inset: 0; pointer-events: none; transition: opacity 1.2s ease;
  background: linear-gradient(90deg, var(--color-bg-page) 0, color-mix(in srgb, var(--color-bg-page) 86%, transparent) 30%, color-mix(in srgb, var(--color-bg-page) 8%, transparent) 62%, transparent 74%); }
.dp-floor { position: absolute; z-index: -1; left: 0; right: 0; bottom: 0; height: 46%; pointer-events: none; transition: height 1.2s ease;
  background: linear-gradient(0deg, var(--color-bg-page) 0, var(--color-bg-page) 40%, color-mix(in srgb, var(--color-bg-page) 70%, transparent) 66%, transparent); }
.dp-sky { position: absolute; z-index: -1; left: 0; right: 0; top: 0; height: 150px; pointer-events: none; background: linear-gradient(180deg, color-mix(in srgb, var(--color-bg-page) 80%, transparent), transparent); }
.dp-hero.is-on .dp-film { transform: translateX(0) translateY(var(--dp-top, 64px)) scale(1); }
.dp-hero.is-on .dp-film img { opacity: 0; }
.dp-hero.is-on .dp-veil { opacity: 0; }
.dp-hero.is-on .dp-floor { height: 36%; }
.dp-copy { flex: 1 1 auto; padding-bottom: 1.6rem; transition: opacity .6s ease, transform .8s var(--dp-ease); }
.dp-hero.is-on .dp-copy { opacity: 0; transform: translateY(-10px); pointer-events: none; visibility: hidden; transition: opacity .5s ease, transform .8s var(--dp-ease), visibility 0s .5s; }
.dp-hero > .container, .dp-copy > .container { width: 100%; }
.dp-copy-in { max-width: 46rem; }
.dp-eyebrow { display: flex; align-items: center; gap: .85rem; margin: 0 0 1.5rem; color: var(--dp-gold); font-size: .72rem; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; }
.dp-eyebrow::before { content: ""; width: 28px; height: 1px; background: currentColor; }
.dp-hero h1 { margin: 0 0 1.35rem; font-family: 'Cormorant Garamond', var(--font-family-heading); font-weight: 600; font-size: clamp(2.9rem, 4.7vw, 4.3rem); line-height: 1.04; letter-spacing: -.01em; }
.dp-hero h1 em { display: block; font-weight: 500; }
.dp-lede { margin: 0 0 1.9rem; max-width: 32rem; color: var(--color-text-secondary); font-size: clamp(1rem, 1.25vw, 1.1rem); line-height: 1.65; }
.dp-need { margin: .95rem 0 0; color: var(--color-text-muted); font-size: .82rem; }
/* The trial terms, said before the click */
.dp-terms { max-width: 34rem; margin: .95rem 0 0; color: var(--color-text-secondary); font-size: .88rem; line-height: 1.55; }
.dp-terms strong { color: var(--color-text-primary); font-weight: 600; }
.dp-terms + .dp-need { margin-top: .35rem; }
.lp-final .dp-terms { margin-left: auto; margin-right: auto; }

.dp-deck { position: relative; display: grid; grid-template-columns: 74px minmax(0, 1fr); column-gap: 1.5rem; align-items: center; padding-bottom: 1.5rem; }
.dp-big-play { display: grid; place-items: center; width: 74px; height: 74px; padding: 0; border: 0; border-radius: 50%; cursor: pointer; color: var(--color-bg-elevated); background: var(--dp-gold); font-size: 1.35rem;
  box-shadow: 0 0 34px color-mix(in srgb, var(--dp-gold) 42%, transparent); transition: transform .3s var(--dp-ease), box-shadow .3s; }
.dp-big-play:hover { transform: scale(1.06); box-shadow: 0 0 46px color-mix(in srgb, var(--dp-gold) 62%, transparent); }
.dp-big-play .fa-play { margin-left: 4px; }
.dp-twin { display: grid; gap: .3rem; min-width: 0; }
.dp-wave-row { display: grid; grid-template-columns: 7.2rem minmax(0, 1fr); align-items: center; column-gap: 1rem; }
.dp-wave-name { font-family: 'Cormorant Garamond', var(--font-family-heading); font-size: 1.12rem; font-style: italic; color: var(--color-text-muted); white-space: nowrap; overflow: hidden; }
.dp-wave-row.is-dub .dp-wave-name { color: var(--dp-gold); }
.dp-wave { position: relative; height: 30px; cursor: pointer; }
.dp-wave-row.is-dub .dp-wave .lp-wv:not(.lp-wv-on) i { background: color-mix(in srgb, var(--dp-gold) 34%, transparent); }
.dp-wave .lp-wv { gap: 1px; }
.dp-tag { font-family: 'Inter', var(--font-family-base); font-style: normal; font-size: .58rem; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--color-text-muted); margin-left: .45em; }
.dp-line { position: absolute; z-index: 1; left: 50%; bottom: 100%; width: min(100%, 52rem); min-height: 3em; margin-bottom: .9rem; transform: translateX(-50%); display: flex; align-items: flex-end; justify-content: center; text-align: center; opacity: 0; transition: opacity .35s;
  font-family: 'Cormorant Garamond', var(--font-family-heading); font-style: italic; font-weight: 500; font-size: clamp(1.45rem, 2.5vw, 2.15rem); line-height: 1.2; color: var(--color-text-primary); text-shadow: 0 2px 24px rgba(0, 0, 0, .9), 0 0 8px rgba(0, 0, 0, .7); text-wrap: balance; pointer-events: none; }
.dp-hero.is-on .dp-line.is-said { opacity: 1; }
.dp-hero .lp-dial { padding-bottom: .4rem; }
.dp-hero .lp-dial-track { min-width: 640px; }
.dp-hero-foot { padding-bottom: 1.5rem; }

#how h2 em, #privacy h2 em, #upload h2 em, #cost h2 em, #agent h2 em { display: block; }

/* Text buttons for languages: gold underline, no boxes. */
.dp-langs { display: flex; flex-wrap: wrap; gap: .3rem 1.5rem; margin: 0; padding: 0; list-style: none; }
.dp-lang { position: relative; padding: .3rem 0; border: 0; background: none; cursor: pointer; font-family: 'Cormorant Garamond', var(--font-family-heading); font-size: 1.28rem; font-weight: 600; color: var(--color-text-muted); transition: color .3s; }
.dp-lang::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 1px; background: var(--color-accent-primary); transform: scaleX(0); transform-origin: left; transition: transform .35s var(--dp-ease, ease); }
.dp-lang:hover { color: var(--color-text-secondary); }
.dp-lang.is-on { color: var(--color-accent-primary); }
.dp-lang.is-on::after { transform: scaleX(1); }
.dp-lang:focus-visible { outline: 2px solid var(--color-accent-primary); outline-offset: 3px; }
.dp-lang small { font-family: 'Inter', var(--font-family-base); font-size: .56rem; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; margin-left: .4em; color: var(--color-text-muted); }

/* Scenes: the site's tuner stage, with a film instead of a still. */
.dp-stage .lp-tuned-art { aspect-ratio: 16 / 9; }
.dp-stage .lp-tuned-pics video, .dp-stage .lp-tuned-pics img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: 1; filter: none; animation: none; transform: none; }
.dp-stage .lp-tuned-pics img { transition: opacity .6s ease; }
.dp-stage.is-started .lp-tuned-pics img { opacity: 0; }
.dp-stage .lp-tuned-t { font-size: clamp(2rem, 3.4vw, 2.9rem); }
.dp-stage-langs { grid-column: 1 / -1; grid-row: 3; position: relative; z-index: 2; margin-top: 1.1rem; padding-left: calc(58px + 1.2rem); }
.dp-from { display: block; margin-top: .3rem; font-family: 'Cormorant Garamond', var(--font-family-heading); font-style: italic; font-size: 1.15rem; color: var(--color-text-muted); }

/* Which one is real */
.dp-real { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(2rem, 6vw, 5rem); max-width: 58rem; margin: 0 auto; }
.dp-ear { display: grid; grid-template-columns: 58px minmax(0, 1fr); column-gap: 1.2rem; align-items: center; }
.dp-ear-name { grid-column: 1 / -1; display: flex; align-items: baseline; gap: .8rem; margin: 0 0 .7rem; font-family: 'Cormorant Garamond', var(--font-family-heading); font-size: clamp(2.6rem, 4vw, 3.4rem); font-weight: 500; line-height: 1; color: var(--color-accent-primary); }
.dp-ear-wave { position: relative; height: 54px; cursor: pointer; }
.dp-ear-who { font-style: italic; font-weight: 500; font-size: 1.3rem; color: var(--color-text-secondary); }
.dp-said { max-width: 44rem; margin: clamp(2rem, 4vw, 3rem) auto 0; text-align: center; font-family: 'Cormorant Garamond', var(--font-family-heading); font-style: italic; font-size: clamp(1.25rem, 1.9vw, 1.55rem); line-height: 1.35; color: var(--color-text-secondary); }
.dp-vote { margin-top: clamp(2rem, 4vw, 3rem); text-align: center; }
.dp-vote-q { margin: 0 0 1.1rem; font-family: 'Cormorant Garamond', var(--font-family-heading); font-size: clamp(1.5rem, 2.4vw, 2rem); font-weight: 600; }
.dp-vote-a { display: flex; flex-wrap: wrap; justify-content: center; gap: .9rem; }
.dp-verdict { margin: 0 auto; max-width: 40rem; font-family: 'Cormorant Garamond', var(--font-family-heading); font-size: clamp(1.5rem, 2.6vw, 2.2rem); line-height: 1.2; }
.dp-verdict em { font-weight: 500; }

/* One breath: one wide stage, one sentence. */
.dp-breath { position: relative; isolation: isolate; overflow: hidden; padding: clamp(5rem, 10vw, 8rem) 0; text-align: center; background: var(--color-bg-page); font-variant-numeric: lining-nums; }
.dp-breath-img { position: absolute; z-index: -2; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: .8; }
.dp-breath::before { content: ""; position: absolute; z-index: -1; inset: 0; background: radial-gradient(70% 80% at 50% 50%, color-mix(in srgb, var(--color-bg-page) 62%, transparent), var(--color-bg-page) 96%); }
.dp-breath h2 { margin: 0 0 .8rem; font-family: 'Cormorant Garamond', var(--font-family-heading); font-weight: 600; font-size: clamp(2.5rem, 4.8vw, 4.2rem); line-height: 1.02; }
.dp-breath h2 em { font-weight: 500; }
.dp-now-lang { max-width: none; margin: clamp(2rem, 4vw, 3rem) 0 .5rem; min-height: 1.4em; color: var(--color-accent-primary); font-size: .74rem; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; }
:lang(ja), :lang(zh), :lang(ko) { word-break: auto-phrase; }
.dp-now-line { min-height: 2.4em; max-width: 46rem; margin: 0 auto clamp(1.6rem, 3vw, 2.4rem); font-family: 'Cormorant Garamond', var(--font-family-heading); font-style: italic; font-weight: 500; font-size: clamp(1.75rem, 3.6vw, 3rem); line-height: 1.15; text-wrap: balance; transition: opacity .3s; }
.dp-breath-bar { display: grid; grid-template-columns: 58px minmax(0, 1fr); gap: 1.2rem; align-items: start; max-width: 58rem; margin: 0 auto; }
.dp-breath-bar > .dp-round { margin-top: 15px; }
.dp-round { display: grid; place-items: center; width: 58px; height: 58px; padding: 0; border: 0; border-radius: 50%; cursor: pointer; color: var(--color-bg-elevated); background: var(--color-accent-primary); font-size: 1.05rem; transition: transform .25s; }
.dp-round:hover { transform: scale(1.07); }
.dp-round .fa-play { margin-left: 3px; }
/* One timeline: the wave stands on the language line and each language owns the stretch around its name, so the
   needle, the gold part of the wave and the name that lights up always agree. The needle runs up through the wave. */
.dp-breath .lp-dial { margin: 0; }
.dp-breath-rail { position: relative; min-width: 640px; }
.dp-breath-wave { position: relative; height: 52px; margin-bottom: .6rem; cursor: pointer; }
.dp-breath .lp-dial-track { min-width: 0; }
.dp-breath .lp-dial-needle { top: calc(-60px - .6rem); height: calc(80px + .6rem); transition: transform .35s ease; }
.dp-breath-wave .lp-wv i.is-gap { visibility: hidden; }
@media (max-width: 900px) {
  .dp-breath-bar { grid-template-columns: minmax(0, 1fr); justify-items: center; gap: .6rem; }
  .dp-breath-bar > .dp-round { margin-top: 0; }
  .dp-breath-bar > .lp-dial { justify-self: stretch; margin: 0 calc(-1 * clamp(1.25rem, 4vw, 2.5rem)); padding: 18px clamp(1.25rem, 4vw, 2.5rem) 0; }
}
.lp-dial-track.is-gliding .lp-dial-needle { transition: none; }

/* The agent's job: one stop of the dial at a time. Without script every step simply stands in a list. */
.dp-job-lead { margin: clamp(2rem, 4vw, 3rem) 0 .4rem; font-size: clamp(1.6rem, 2.6vw, 2.2rem); line-height: 1.15; }
.dp-job-lead em { color: var(--color-accent-primary); font-weight: 400; }
.dp-job { margin: 1.5rem 0 0; padding: 0; list-style: none; }
.dp-job li { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: .5rem clamp(1.5rem, 4vw, 3.5rem); align-items: center; padding: .9rem 0; }
.dp-job strong { font-family: 'Cormorant Garamond', var(--font-family-heading); font-size: clamp(2.8rem, 5.6vw, 4.8rem); font-weight: 600; line-height: 1; color: var(--color-accent-primary); font-variant-numeric: lining-nums; }
.dp-job p { margin: 0; max-width: none; font-family: 'Cormorant Garamond', var(--font-family-heading); font-size: clamp(1.4rem, 2.3vw, 1.85rem); line-height: 1.25; color: var(--color-text-primary); }
.dp-job.is-live { min-height: 9.5rem; }
.dp-job.is-live li { display: none; }
.dp-job.is-live li.is-on { display: grid; animation: dp-job-in .55s var(--dp-ease, ease); }
@keyframes dp-job-in { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }
#dp-agent-dial { min-width: 640px; }
/* The section stands on its proof: one tile for every dub the agent made for this page, each a still of its scene with
   its language, lit one after another when the section comes near. The wall dissolves into the dark behind the words. */
.dp-wall { --wall-cols: 10; position: absolute; z-index: -1; top: 0; left: 0; right: 0; display: grid; grid-template-columns: repeat(var(--wall-cols), minmax(0, 1fr)); gap: 4px; pointer-events: none; }
.dp-wall::after { content: ""; position: absolute; inset: 0;
  background: linear-gradient(90deg, var(--color-bg-page) 0, color-mix(in srgb, var(--color-bg-page) 94%, transparent) 30%, color-mix(in srgb, var(--color-bg-page) 62%, transparent) 56%, color-mix(in srgb, var(--color-bg-page) 18%, transparent) 100%),
    linear-gradient(0deg, var(--color-bg-page) 0, color-mix(in srgb, var(--color-bg-page) 88%, transparent) 16%, transparent 64%), linear-gradient(180deg, var(--color-bg-page) 0, transparent 14%); }
.dp-wall i { position: relative; aspect-ratio: 16 / 9; background: var(--wall, none) no-repeat; background-size: var(--ws); background-position: var(--bx) var(--by); opacity: .12; filter: saturate(.2) brightness(.7); transition: opacity 1.2s ease, filter 1.2s ease; }
.dp-wall i.is-lit, .dp-wall.is-done i.is-ghost { opacity: .78; filter: saturate(.95) brightness(.88); }
.dp-wall i::after { content: ""; position: absolute; inset: 0; box-shadow: inset 0 0 0 1px var(--color-accent-primary), inset 0 0 18px color-mix(in srgb, var(--color-accent-primary) 45%, transparent); opacity: 0; }
.dp-wall i.is-lit:not(.is-ghost)::after { animation: dp-wall-done 1.8s ease-out; }
.dp-wall b { position: absolute; left: .5rem; bottom: .35rem; font-family: 'Cormorant Garamond', var(--font-family-heading); font-size: .86rem; font-weight: 600; line-height: 1; color: var(--color-text-primary); text-shadow: 0 1px 8px var(--color-bg-page), 0 0 2px var(--color-bg-page); opacity: 0; transition: opacity .8s .4s; }
.dp-wall i.is-lit b { opacity: .92; }
@keyframes dp-wall-done { from { opacity: 1; } to { opacity: 0; } }
@media (min-width: 1500px) { .dp-wall { --wall-cols: 12; } }
@media (max-width: 1000px) {
  .dp-wall { --wall-cols: 8; }
  .dp-wall::after { background: linear-gradient(90deg, var(--color-bg-page) 0, color-mix(in srgb, var(--color-bg-page) 90%, transparent) 40%, color-mix(in srgb, var(--color-bg-page) 72%, transparent) 72%, color-mix(in srgb, var(--color-bg-page) 52%, transparent) 100%),
    linear-gradient(0deg, var(--color-bg-page) 0, color-mix(in srgb, var(--color-bg-page) 88%, transparent) 16%, transparent 64%), linear-gradient(180deg, var(--color-bg-page) 0, transparent 14%); }
}
@media (max-width: 640px) {
  .dp-wall { --wall-cols: 6; gap: 3px; }
  .dp-wall::after { background: linear-gradient(0deg, var(--color-bg-page) 0, color-mix(in srgb, var(--color-bg-page) 80%, transparent) 50%, color-mix(in srgb, var(--color-bg-page) 52%, transparent) 100%); }
  .dp-wall b { display: none; }
}
@media (prefers-reduced-motion: reduce) { .dp-wall i, .dp-wall b { transition: none; } .dp-wall i.is-lit::after { animation: none; } }

/* Fix the line */
.dp-fix { display: grid; grid-template-columns: minmax(0, 11fr) minmax(0, 10fr); gap: clamp(2rem, 5vw, 4.5rem); align-items: start; }
.dp-fix-film { position: relative; aspect-ratio: 16 / 9; overflow: hidden; border-radius: var(--radius-lg); background: #000; }
.dp-fix-film video, .dp-fix-film img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.dp-fix-film img { transition: opacity .5s; }
.dp-fix-film.is-started img { opacity: 0; }
.dp-fix-play { position: absolute; left: 1rem; bottom: 1rem; }
.dp-fix-state { position: absolute; right: 1rem; top: .9rem; color: var(--color-text-primary); font-size: .62rem; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; text-shadow: 0 1px 10px rgba(0, 0, 0, .9); }
.dp-script { display: grid; gap: .55rem; margin: 1.1rem 0 1.4rem; min-height: 11.5em; }
.dp-script p { margin: 0; font-family: 'Cormorant Garamond', var(--font-family-heading); font-size: clamp(1.3rem, 1.9vw, 1.6rem); line-height: 1.22; color: var(--color-text-primary); }
.dp-script.is-before p { color: var(--color-text-muted); }
.dp-script.is-before p:last-child { text-decoration: line-through; text-decoration-color: color-mix(in srgb, var(--color-text-muted) 60%, transparent); }
.dp-script.is-after p { font-style: italic; }
.dp-script.is-after p b { font-weight: 600; font-style: italic; color: var(--color-accent-primary); }
.dp-why { margin: 0 0 1.4rem; font-family: 'Cormorant Garamond', var(--font-family-heading); font-style: italic; font-size: 1.2rem; line-height: 1.3; color: var(--color-text-secondary); min-height: 2.6em; }
.dp-points { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(1.6rem, 4vw, 3.5rem); margin: clamp(3rem, 6vw, 5rem) 0 0; padding: 0; list-style: none; }
.dp-points li { padding-top: 1rem; border-top: 1px solid color-mix(in srgb, var(--color-accent-primary) 40%, transparent); }
.dp-points h3 { margin: 0 0 .45rem; font-size: clamp(1.4rem, 2vw, 1.7rem); }
.dp-points p { margin: 0; color: var(--color-text-secondary); font-size: .98rem; line-height: 1.6; }

/* How it works */
.dp-how { display: grid; grid-template-columns: minmax(0, 12fr) minmax(0, 9fr); gap: clamp(2rem, 5vw, 4.5rem); align-items: center; }
.dp-how video { display: block; width: 100%; aspect-ratio: 16 / 9; border-radius: var(--radius-lg); background: #000; }
.dp-how-film { position: relative; }
.dp-how-play { position: absolute; left: 50%; top: 50%; width: 76px; height: 76px; font-size: 1.4rem; transform: translate(-50%, -50%); }
.dp-how-play:hover { transform: translate(-50%, -50%) scale(1.06); }
.dp-how-film.is-on .dp-how-play { display: none; }
.dp-steps { margin: 0; padding: 0; list-style: none; counter-reset: step; }
.dp-steps li { counter-increment: step; display: grid; grid-template-columns: 2.6rem minmax(0, 1fr); align-items: baseline; padding: .72rem 0; border-bottom: 1px solid color-mix(in srgb, var(--color-text-primary) 10%, transparent); color: var(--color-text-secondary); font-size: 1rem; line-height: 1.5; }
.dp-steps li::before { content: counter(step); font-family: 'Cormorant Garamond', var(--font-family-heading); font-size: 1.7rem; font-weight: 500; color: var(--color-accent-primary); line-height: 1; }
.dp-steps b { color: var(--color-text-primary); font-weight: 600; }

/* One upload */
.dp-upload { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(2rem, 6vw, 5rem); align-items: center; }
.dp-tracks { margin: 0; padding: 0; list-style: none; columns: 2; column-gap: 2.5rem; }
.dp-tracks li { break-inside: avoid; display: flex; align-items: baseline; gap: .7rem; padding: .42rem 0; font-family: 'Cormorant Garamond', var(--font-family-heading); font-size: 1.5rem; font-weight: 500; color: var(--color-text-secondary); }
.dp-tracks li::before { content: ""; flex: none; width: 14px; height: 1px; align-self: center; background: var(--color-accent-primary); }
.dp-tracks li:first-child { color: var(--color-accent-primary); }
.dp-tracks small { font-family: 'Inter', var(--font-family-base); font-size: .58rem; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--color-text-muted); }

/* Cost */
.dp-cost-vs { margin-top: clamp(2.8rem, 6vw, 4.5rem); }
.dp-cost-src { margin: 1.5rem 0 0; max-width: 46rem; font-family: 'Cormorant Garamond', var(--font-family-heading); font-style: italic; font-size: 1.12rem; line-height: 1.35; color: var(--color-text-muted); }
.dp-cost-src a { color: var(--color-accent-primary); }

/* Sources and licences */
.dp-credits { padding: 0 0 clamp(4rem, 8vw, 6rem); background: var(--color-bg-page); }
.dp-disclose { max-width: 46rem; margin: 0 auto 1.2rem; text-align: center; font-family: 'Cormorant Garamond', var(--font-family-heading); font-style: italic; font-size: 1.25rem; color: var(--color-text-secondary); }
.dp-credits details { max-width: 58rem; margin: 0 auto; }
.dp-credits summary { cursor: pointer; text-align: center; color: var(--color-accent-primary); font-family: 'Cormorant Garamond', var(--font-family-heading); font-size: 1.25rem; font-weight: 600; }
.dp-credit { padding: 1rem 0; border-bottom: 1px solid color-mix(in srgb, var(--color-text-primary) 10%, transparent); color: var(--color-text-secondary); font-size: .92rem; line-height: 1.55; }
.dp-credit h3 { margin: 0 0 .2rem; font-size: 1.3rem; color: var(--color-text-primary); }
.dp-credit p { margin: 0; max-width: none; }
.dp-credit a { color: var(--color-accent-primary); }

#dp-scene-dial .lp-dial-item { font-size: clamp(1.1rem, 1.3vw, 1.2rem); }
/* Dial in the scenes section starts on the left on small screens */
@media (max-width: 1000px) {
  .dp-hero { min-height: 0; padding-top: 88px; }
  .dp-film { position: relative; order: 2; z-index: 0; aspect-ratio: 16 / 10; transform: none !important; margin-top: .4rem; }
  .dp-film video, .dp-film img { object-position: 42% 50%; }
  .dp-veil, .dp-floor, .dp-sky { display: none; }
  .dp-copy { order: 1; flex: none; opacity: 1 !important; transform: none !important; visibility: visible !important; pointer-events: auto !important; }
  .dp-copy-in { max-width: none; }
  .dp-copy .dp-cta { margin-top: 1.2rem; }
  .dp-deck { order: 3; margin-top: 1rem; grid-template-columns: 58px minmax(0, 1fr); column-gap: 1rem; padding-bottom: .4rem; }
  .dp-big-play { width: 58px; height: 58px; font-size: 1.05rem; }
  .dp-line { position: static; order: 4; grid-column: 1 / -1; width: 100%; min-height: 3.6em; margin: .9rem 0 0; transform: none; opacity: 1; font-size: 1.4rem; align-items: flex-start; text-shadow: none; color: var(--color-text-secondary); }
  .dp-line:not(.is-said) { visibility: hidden; }
  .dp-hero-foot { order: 5; }
  .dp-hero-dial { order: 4; }
  .dp-wave-row { grid-template-columns: 5.2rem minmax(0, 1fr); column-gap: .6rem; }
  .dp-wave-name { font-size: 1rem; }
  .dp-tag { display: none; }
  .dp-fix, .dp-how, .dp-upload { grid-template-columns: minmax(0, 1fr); }
  .dp-script { min-height: 0; }
}
@media (max-width: 1000px) {
  .dp-stage-langs { grid-column: 1; grid-row: 4; padding-left: calc(52px + 1rem); margin-top: .9rem; }
}
@media (max-width: 1120px) {
  #dp-scene-dial { min-width: 1060px; }
}
@media (max-width: 640px) {
  .dp-hero h1 { font-size: clamp(2.55rem, 11.5vw, 3.1rem); }
  .dp-lede { margin-bottom: 1rem; font-size: 1rem; }
  .dp-hero .lp-dial-track { min-width: 680px; }
  .dp-real { grid-template-columns: minmax(0, 1fr); gap: 1.6rem; }
  .dp-points { grid-template-columns: minmax(0, 1fr); gap: 1.4rem; }
  .dp-tracks { columns: 2; column-gap: 1.2rem; }
  .dp-tracks li { font-size: 1.3rem; }
  .dp-stage-langs { padding-left: 0; }
  .dp-job li { grid-template-columns: minmax(0, 1fr); }
  .dp-job.is-live { min-height: 14rem; }
  .dp-lang { font-size: 1.2rem; }
  .dp-langs { gap: .15rem 1.1rem; }
}
.dp-cta-low { display: none; }
@media (max-width: 1000px) {
  #dubbing-landing .lp-dial.is-scroll { --fl: #000; --fr: #000; -webkit-mask-image: linear-gradient(90deg, var(--fl) 0, #000 56px, #000 calc(100% - 56px), var(--fr)); mask-image: linear-gradient(90deg, var(--fl) 0, #000 56px, #000 calc(100% - 56px), var(--fr)); }
  #dubbing-landing .lp-dial.is-scroll:not(.is-start) { --fl: transparent; }
  #dubbing-landing .lp-dial.is-scroll:not(.is-end) { --fr: transparent; }
}
@media (prefers-reduced-motion: reduce) { .dp-film, .dp-copy, .dp-film img { transition: none; } }
