/* Videovoorstel — neutrale huisstijl: ivoor #F3F1EB, nachtblauw #14202E, staal #4C6178, goud #C6A15B */

:root {
    --creme: #F3F1EB;
    --donker: #14202E;
    --staal: #4C6178;
    --creme-donker: #D6D4CB;
    --goud: #C6A15B;
    --serif: 'Playfair Display', Georgia, serif;
    --sans: 'Raleway', 'Helvetica Neue', sans-serif;
}

* { margin: 0; padding: 0; box-sizing: border-box; }

/* hidden-secties mogen nooit renderen of klikken vangen,
   ook al zet een class elders display: flex */
[hidden] { display: none !important; }

html, body {
    height: 100%;
    background: var(--donker);
    color: var(--creme);
    font-family: var(--sans);
    overflow: hidden;
}

.podium {
    position: fixed;
    inset: 0;
    background: var(--donker);
}

/* ---------- Startscherm ---------- */

.start {
    position: absolute;
    inset: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 2.2rem;
    text-align: center;
    z-index: 30;
    background:
        radial-gradient(120% 90% at 50% 40%, rgba(76, 97, 120, 0.22), transparent 70%),
        var(--donker);
    transition: opacity 1s ease;
}
.start.verdwijnt { opacity: 0; pointer-events: none; }

.start-lijnen {
    position: absolute;
    inset: 0;
    color: var(--creme);
    opacity: 0.07;
    pointer-events: none;
}
.start-lijnen svg { width: 100%; height: 100%; }

/* Verschijn-patroon: elementen zijn standaard zichtbaar; de animatie voegt
   alleen de entree toe (backwards vult de wachttijd). Draaien animaties niet,
   dan staat alles er gewoon. */
/* ring om het merkwoord */
.ringkader {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    aspect-ratio: 1 / 1;
    animation: zachtOp 1.4s ease 0.2s backwards;
}
.ringkader svg {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
}
.ringkader circle {
    fill: none;
    stroke: rgba(243, 241, 235, 0.6);
    stroke-width: 1.5;
}
.ringkader-start { width: min(320px, 60vw); }
.ringkader-einde { width: min(190px, 40vw); }

.merk-woord {
    position: relative;
    font-family: var(--serif);
    font-weight: 700;
    letter-spacing: 0.32em;
    text-indent: 0.32em;
    text-transform: uppercase;
    color: var(--creme);
}
.merk-woord-start { font-size: clamp(1.7rem, 4vw, 2.4rem); }
.merk-woord-einde { font-size: clamp(1.05rem, 2.6vw, 1.35rem); }
.merk-woord-logo { font-size: clamp(1.2rem, 3vw, 1.65rem); }
.start-onderschrift {
    font-size: 0.78rem;
    font-weight: 500;
    letter-spacing: 0.42em;
    text-transform: uppercase;
    color: var(--creme-donker);
    animation: zachtOp 1.4s ease 0.6s backwards;
}

/* persoonlijk voorstel: handgeschreven naam met inkt-reveal */
.start-persoonlijk {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.2rem;
    animation: zachtOp 1.4s ease 0.9s backwards;
}
.start-voor {
    font-size: 0.66rem;
    font-weight: 500;
    letter-spacing: 0.34em;
    text-transform: uppercase;
    color: rgba(214, 212, 203, 0.7);
}
.start-naam,
.overlay-titel.als-naam {
    font-family: 'Great Vibes', cursive;
    font-weight: 400;
    font-style: normal;
    color: #FFFFFF;
}
.start-naam {
    font-size: clamp(2.4rem, 5vw, 3.6rem);
    line-height: 1.15;
    padding: 0 0.5em 0.15em;
    animation: inktReveal 2.2s cubic-bezier(0.4, 0, 0.2, 1) 1.3s backwards;
}
.overlay-titel.als-naam {
    font-size: clamp(3.2rem, 7.5vw, 6rem);
    line-height: 1.1;
    max-width: none;
    padding-bottom: 0.12em;
    text-shadow: 0 3px 34px rgba(20, 32, 46, 1), 0 1px 6px rgba(20, 32, 46, 0.9), 0 0 60px rgba(20, 32, 46, 0.8);
}
.overlay.toon .overlay-titel.als-naam {
    animation: inktReveal 2.4s cubic-bezier(0.4, 0, 0.2, 1) 0.5s backwards;
}
@keyframes inktReveal {
    from { clip-path: inset(-35% 100% -25% -5%); opacity: 0.6; filter: blur(2px); }
    to { clip-path: inset(-35% -10% -25% -5%); opacity: 1; filter: blur(0); }
}

.startknop {
    position: relative;
    width: 132px;
    height: 116px;
    background: none;
    border: none;
    color: var(--creme);
    cursor: pointer;
    animation: zachtOp 1.4s ease 1s backwards;
    transition: color 0.4s ease, transform 0.4s ease;
}
.startknop:disabled { cursor: default; }
.startknop:disabled .startknop-ring { opacity: 0.35; }
.startknop:disabled .startknop-driehoek { opacity: 0.35; }
.startknop:not(:disabled):hover { color: var(--goud); transform: scale(1.05); }

.startknop-ring {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
}
.startknop:not(:disabled) .startknop-ring circle {
    stroke-dasharray: 370;
    animation: ringTekenen 1.2s ease backwards,
               ringAdem 3.4s ease-in-out 1.4s infinite;
}
@keyframes ringAdem {
    0%, 100% { opacity: 1; }
    50% { opacity: 0.55; }
}
.startknop-driehoek {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 34px;
    height: 34px;
    transform: translate(-46%, -50%);
    transition: opacity 0.4s ease;
}

.start-status {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.9rem;
    animation: zachtOp 1.4s ease 1.2s backwards;
}
.laadtekst {
    font-size: 0.72rem;
    font-weight: 500;
    letter-spacing: 0.34em;
    text-transform: uppercase;
    color: var(--creme-donker);
    min-height: 1.2em;
}
.laadbalk {
    width: min(260px, 50vw);
    height: 1px;
    background: rgba(243, 241, 235, 0.18);
    overflow: hidden;
}
.laadbalk-vulling {
    width: 0%;
    height: 100%;
    background: var(--goud);
    transition: width 0.3s ease;
}

.bouwstempel {
    position: absolute;
    right: 1rem;
    bottom: 0.8rem;
    font-size: 0.62rem;
    letter-spacing: 0.18em;
    color: rgba(243, 241, 235, 0.3);
}

/* ---------- Speler ---------- */

.speler { position: absolute; inset: 0; }

.lagen { position: absolute; inset: 0; overflow: hidden; }

.laag {
    position: absolute;
    inset: 0;
    overflow: hidden;
    opacity: 0;
    background: var(--donker);
    will-change: opacity, clip-path;
}
.laag video {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    will-change: transform;
}
.laag video[hidden] { display: none; }
.laag-inhoud { position: absolute; inset: 0; }

/* Overgangen: de binnenkomende laag krijgt .actief plus een type-klasse.
   Timing volgt montagegebruik: cuts als basis, dissolves kort en glad. */
.laag.actief { opacity: 1; z-index: 2; }

.laag.overgang-fade {
    transition: opacity 0.9s cubic-bezier(0.4, 0, 0.2, 1);
}
.laag.overgang-wipe {
    opacity: 1;
    clip-path: inset(0 100% 0 0);
    transition: clip-path 0.8s cubic-bezier(0.83, 0, 0.17, 1);
}
.laag.overgang-wipe.actief { clip-path: inset(0 0 0 0); }
.laag.overgang-zoom {
    transform: scale(1.04);
    filter: blur(12px);
    transition: opacity 0.9s cubic-bezier(0.4, 0, 0.2, 1),
                transform 1.2s cubic-bezier(0.22, 0.6, 0.2, 1),
                filter 0.9s cubic-bezier(0.4, 0, 0.2, 1);
}
.laag.overgang-zoom.actief { transform: scale(1); filter: blur(0); }
.laag.overgang-cut, .laag.overgang-dip { transition: none; }

/* het vertrekkende beeld verliest focus terwijl het nieuwe scherpstelt */
.laag.vertrekt {
    transition: opacity 0.9s cubic-bezier(0.4, 0, 0.2, 1), filter 0.9s ease;
    filter: blur(9px);
    opacity: 0.4;
}

/* filmische cohesie: zacht vignet + levende korrel over de hele film */
.vignet {
    position: absolute;
    inset: 0;
    z-index: 4;
    pointer-events: none;
    background: radial-gradient(115% 95% at 50% 45%, transparent 52%, rgba(9, 16, 24, 0.38) 100%);
}
.korrel {
    position: absolute;
    inset: -80px;
    z-index: 9;
    pointer-events: none;
    opacity: 0.05;
    mix-blend-mode: overlay;
    background-image: url('data:image/png;base64,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');
    background-size: 128px 128px;
    animation: korrelLeven 0.5s infinite step-end;
}
@keyframes korrelLeven {
    0% { transform: translate(0, 0); }
    25% { transform: translate(-44px, 26px); }
    50% { transform: translate(30px, -38px); }
    75% { transform: translate(-18px, -14px); }
}

.dip {
    position: absolute;
    inset: 0;
    z-index: 6;
    background: var(--donker);
    opacity: 0;
    pointer-events: none;
}

.scrim {
    position: absolute;
    inset: 0;
    z-index: 3;
    pointer-events: none;
    background: linear-gradient(to top, rgba(20, 32, 46, 0.55) 0%, rgba(20, 32, 46, 0.08) 40%, rgba(20, 32, 46, 0.18) 100%);
}

/* ---------- Panelen per scène-type ---------- */

.paneel-curve {
    background:
        radial-gradient(110% 90% at 50% 45%, rgba(76, 97, 120, 0.2), transparent 70%),
        var(--donker);
    color: var(--creme);
}

/* video-scène met tekst: extra contrastlaag zodat tekst altijd vrijstaat */
.laag-inhoud.tekst-scrim {
    background:
        radial-gradient(75% 65% at 50% 50%, rgba(20, 32, 46, 0.42), rgba(20, 32, 46, 0.22) 70%),
        linear-gradient(to top, rgba(20, 32, 46, 0.45) 0%, rgba(20, 32, 46, 0.1) 45%);
}
/* naamscène: nog steviger, de naam moet er wit uitknallen */
.laag-inhoud.tekst-scrim-sterk {
    background:
        radial-gradient(80% 70% at 50% 50%, rgba(20, 32, 46, 0.62), rgba(20, 32, 46, 0.32) 70%),
        linear-gradient(to top, rgba(20, 32, 46, 0.5) 0%, rgba(20, 32, 46, 0.18) 45%);
}

/* paneel op een video-drager: geen dichte achtergrond maar een scrim */
.laag-inhoud.op-video.paneel-curve,
.laag-inhoud.op-video.paneel-fundament {
    background: linear-gradient(to bottom,
        rgba(20, 32, 46, 0.5) 0%,
        rgba(20, 32, 46, 0.35) 45%,
        rgba(20, 32, 46, 0.72) 100%);
}
.laag-inhoud.op-video.paneel-logo {
    background: radial-gradient(90% 80% at 50% 50%,
        rgba(20, 32, 46, 0.82) 0%,
        rgba(20, 32, 46, 0.6) 55%,
        rgba(20, 32, 46, 0.45) 100%);
}
.paneel-curve svg { width: 100%; height: 100%; }
.curve-basis { opacity: 0.18; }
.curve-lijn {
    stroke-dasharray: 1700;
    animation: curveTekenen 5s cubic-bezier(0.4, 0, 0.3, 1) 0.6s backwards;
}
@keyframes curveTekenen {
    from { stroke-dashoffset: 1700; }
    to { stroke-dashoffset: 0; }
}
.curve-vlak { animation: zachtOp 1.8s ease 3.8s backwards; }
.curve-lijn-dim {
    stroke-dasharray: 1700;
    opacity: 0.3;
    animation: curveTekenen 2.2s cubic-bezier(0.4, 0, 0.3, 1) 0.4s backwards;
}
.curve-lijn-methode {
    stroke: var(--goud);
    stroke-dasharray: 2100;
    animation: methodeTekenen 4.2s cubic-bezier(0.4, 0, 0.3, 1) 1.6s backwards;
}
@keyframes methodeTekenen {
    from { stroke-dashoffset: 2100; }
    to { stroke-dashoffset: 0; }
}
.curve-punt-methode {
    fill: var(--goud);
    animation: pinOp 0.6s ease 5.6s backwards;
}
.curve-punt {
    fill: var(--goud);
    animation: pinOp 0.6s ease 5.4s backwards;
}
.curve-punt-puls {
    fill: none;
    stroke: var(--goud);
    stroke-width: 1;
    opacity: 0;
    transform-origin: center;
    transform-box: fill-box;
    animation: pinPuls 2.6s ease-out infinite 5.8s;
}

.paneel-fundament {
    background: var(--donker);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-end;
    gap: 10px;
    padding: 0 clamp(1.5rem, 12vw, 14rem) clamp(6rem, 16vh, 10rem);
}
.vlak {
    width: 100%;
    max-width: 820px;
    display: flex;
    flex-direction: column;
    gap: 0.85rem;
    padding: clamp(1.2rem, 3vh, 2rem) clamp(1.3rem, 3.2vw, 2.6rem);
    backdrop-filter: blur(12px);
}
.vlak-fundament {
    background: rgba(20, 32, 46, 0.55);
    border: 1px solid rgba(243, 241, 235, 0.18);
    border-left: 3px solid var(--staal);
    animation: vlakOp 0.9s cubic-bezier(0.2, 0.7, 0.2, 1) 0.5s backwards;
}
.vlak-schatkist {
    background: rgba(20, 32, 46, 0.5);
    border: 1px solid rgba(198, 161, 91, 0.4);
    border-left: 3px solid var(--goud);
    animation: vlakOp 0.9s cubic-bezier(0.2, 0.7, 0.2, 1) 1.7s backwards;
}
@keyframes vlakOp {
    from { opacity: 0; transform: translateY(46px); }
    to { opacity: 1; transform: none; }
}
.vlak-kop {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 1.5rem;
    flex-wrap: wrap;
}
.vlak-labelgroep { display: inline-flex; align-items: center; gap: 0.7rem; }
.vlak-icoon { width: 16px; height: 16px; color: var(--goud); flex-shrink: 0; }
.vlak-fundament .vlak-icoon { color: var(--creme-donker); }
.vlak-label {
    font-size: 0.68rem;
    font-weight: 600;
    letter-spacing: 0.3em;
    text-transform: uppercase;
    color: var(--goud);
}
.vlak-fundament .vlak-label { color: var(--creme-donker); }
.vlak-bedrag {
    font-family: var(--serif);
    font-weight: 900;
    font-size: clamp(1.7rem, 3.6vw, 2.8rem);
    line-height: 1;
}
.vlak-tekst {
    font-size: 0.9rem;
    font-weight: 300;
    color: var(--creme-donker);
    max-width: 56ch;
    padding-top: 0.75rem;
    border-top: 1px solid rgba(243, 241, 235, 0.12);
}

.paneel-kaart {
    background:
        radial-gradient(120% 100% at 50% 40%, rgba(76, 97, 120, 0.16), transparent 70%),
        var(--donker);
}
.kaart-kader { position: absolute; inset: 0; perspective: 1400px; }
.kaart-kader svg {
    width: 100%;
    height: 100%;
    /* subtiele bolling: de wereld kantelt licht als een globe */
    transform: rotateX(9deg) scale(1.08);
    transform-origin: 50% 58%;
}
.kaart-groep { transition: transform 7s cubic-bezier(0.35, 0, 0.25, 1); }
.kaart-punt { fill: rgba(243, 241, 235, 0.22); }
.kaart-pin { animation: pinOp 0.9s ease backwards; }
@keyframes pinOp {
    from { opacity: 0; }
    to { opacity: 1; }
}
.kaart-pin-stip { fill: var(--goud); }
.kaart-pin-puls {
    fill: none;
    stroke: var(--goud);
    stroke-width: 1;
    opacity: 0;
    transform-origin: center;
    transform-box: fill-box;
    animation: pinPuls 2.6s ease-out infinite 0.4s;
}
@keyframes pinPuls {
    0% { transform: scale(0.25); opacity: 0.9; }
    70% { transform: scale(1); opacity: 0; }
    100% { transform: scale(1); opacity: 0; }
}
.kaart-route-oud {
    fill: none;
    stroke: rgba(243, 241, 235, 0.28);
    stroke-width: 1.2;
    stroke-dasharray: 5 7;
}
.kaart-route-nieuw {
    fill: none;
    stroke: var(--goud);
    stroke-width: 1.6;
    opacity: 0.8;
    stroke-dasharray: 900 900;
    animation: lijnTekenen 1.4s cubic-bezier(0.4, 0, 0.2, 1) backwards;
}
.kaart-reis-stip {
    fill: var(--goud);
    filter: drop-shadow(0 0 6px rgba(198, 161, 91, 0.9));
}
.kaart-bloei-ring {
    fill: none;
    stroke: var(--goud);
    stroke-width: 1.6;
    transform-origin: center;
    transform-box: fill-box;
}
@keyframes lijnTekenen {
    from { stroke-dashoffset: 900; }
    to { stroke-dashoffset: 0; }
}

/* vertrekpunt: bezochte plek blijft benoemd in beeld */
.kaart-pin-oud { animation: pinOp 0.6s ease 0.15s backwards; }
.kaart-pin-oud-stip {
    fill: none;
    stroke: rgba(243, 241, 235, 0.65);
    stroke-width: 1.4;
}
.kaart-pin-oud-naam {
    fill: rgba(243, 241, 235, 0.6);
    font-family: var(--sans);
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    text-anchor: middle;
}

.kaart-pin-naam {
    fill: var(--creme);
    font-family: var(--sans);
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    text-anchor: middle;
}
/* fragment: volbeeld-element dat als cirkel-iris uit de marker openbloeit */
.kaart-inzet {
    position: absolute;
    inset: 0;
    overflow: hidden;
    will-change: clip-path, opacity;
}
.kaart-inzet video {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
.kaart-inzet::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(to top, rgba(20, 32, 46, 0.55) 0%, rgba(20, 32, 46, 0.08) 45%, rgba(20, 32, 46, 0.2) 100%);
    pointer-events: none;
}

.paneel-logo {
    background:
        radial-gradient(120% 90% at 50% 40%, rgba(76, 97, 120, 0.22), transparent 70%),
        var(--donker);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 1.6rem;
    text-align: center;
}
.ringkader-logo {
    width: min(230px, 44vw);
    animation-delay: 0.5s;
    animation-duration: 1.6s;
}
.logo-payoff {
    font-size: 0.8rem;
    font-weight: 500;
    letter-spacing: 0.42em;
    text-transform: uppercase;
    color: var(--creme-donker);
    animation: zachtOp 1.6s ease 0.9s backwards;
}
/* ---------- Ondertitel ---------- */

.ondertitel {
    position: absolute;
    left: 50%;
    bottom: clamp(1.2rem, 4vh, 2.4rem);
    transform: translateX(-50%) translateY(10px);
    z-index: 5;
    max-width: min(680px, 84vw);
    text-align: center;
    font-family: var(--serif);
    font-weight: 700;
    font-style: italic;
    font-size: clamp(0.95rem, 1.5vw, 1.2rem);
    color: rgba(243, 241, 235, 0.92);
    text-shadow: 0 1px 14px rgba(20, 32, 46, 0.8);
    opacity: 0;
    transition: opacity 0.9s ease, transform 0.9s ease;
    pointer-events: none;
}
.ondertitel.toon { opacity: 1; transform: translateX(-50%) translateY(0); }

/* ---------- Overlay ---------- */

.overlay {
    position: absolute;
    inset: 0;
    z-index: 4;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    gap: 1.1rem;
    padding: clamp(2rem, 7vw, 6rem);
    pointer-events: none;
}
.overlay.positie-midden {
    justify-content: center;
    align-items: center;
    text-align: center;
}
.overlay.positie-links { align-items: flex-start; text-align: left; }
.overlay.positie-rechts { align-items: flex-end; text-align: right; }
.overlay.positie-boven {
    justify-content: flex-start;
    align-items: center;
    text-align: center;
    padding-top: clamp(3.4rem, 10vh, 6rem);
}
.overlay.positie-boven .overlay-titel {
    font-size: clamp(2rem, 4.6vw, 3.9rem);
    max-width: 28ch;
}
.overlay.positie-boven .overlay-citaat {
    font-size: clamp(1.1rem, 2vw, 1.6rem);
}

.overlay-kicker {
    font-size: clamp(0.68rem, 1vw, 0.82rem);
    font-weight: 600;
    letter-spacing: 0.44em;
    text-transform: uppercase;
    color: var(--goud);
    text-shadow: 0 1px 12px rgba(20, 32, 46, 0.9);
}
.overlay-kicker::before {
    content: '';
    display: inline-block;
    width: 28px;
    height: 2px;
    background: var(--goud);
    margin-right: 0.85rem;
    vertical-align: middle;
}
/* bij gecentreerde tekst is de streep symmetrisch */
.overlay.positie-midden .overlay-kicker::after,
.overlay.positie-boven .overlay-kicker::after {
    content: '';
    display: inline-block;
    width: 28px;
    height: 2px;
    background: var(--goud);
    margin-left: 0.85rem;
    vertical-align: middle;
}
.overlay-titel {
    font-family: var(--serif);
    font-weight: 900;
    font-size: clamp(2.2rem, 5.6vw, 4.6rem);
    line-height: 1.06;
    max-width: 16ch;
    text-wrap: balance;
}
.overlay.positie-midden .overlay-titel { max-width: 22ch; }
.overlay-tekst {
    font-size: clamp(0.95rem, 1.4vw, 1.15rem);
    font-weight: 300;
    letter-spacing: 0.02em;
    color: var(--creme-donker);
    max-width: 44ch;
}
.overlay-tekst:empty, .overlay-kicker:empty { display: none; }

/* het citaat is de visie: groot, serif, met een gouden streep */
.overlay-citaat {
    font-family: var(--serif);
    font-weight: 700;
    font-style: italic;
    font-size: clamp(1.2rem, 2.3vw, 1.9rem);
    line-height: 1.35;
    color: rgba(243, 241, 235, 0.95);
    max-width: 30ch;
    text-shadow: 0 1px 18px rgba(20, 32, 46, 0.7);
}
.overlay-citaat::before {
    content: '';
    display: block;
    width: 46px;
    height: 2px;
    background: var(--goud);
    margin-bottom: 0.8rem;
}
.overlay.positie-midden .overlay-citaat::before,
.overlay.positie-boven .overlay-citaat::before { margin-left: auto; margin-right: auto; }
.overlay-citaat:empty { display: none; }

.overlay-invest {
    display: inline-flex;
    align-items: baseline;
    gap: 0.9rem;
    margin-top: 0.5rem;
    padding: 0.8rem 1.5rem;
    border: 1px solid rgba(198, 161, 91, 0.55);
    border-left: 3px solid var(--goud);
    background: rgba(20, 32, 46, 0.45);
    backdrop-filter: blur(8px);
    color: var(--creme);
    font-size: clamp(0.78rem, 1.1vw, 0.92rem);
    letter-spacing: 0.12em;
}
.overlay-invest.leeg { display: none; }
.overlay-invest-icoon { width: 18px; height: 18px; color: var(--goud); flex-shrink: 0; align-self: center; }
.overlay-locatie { font-weight: 600; text-transform: uppercase; letter-spacing: 0.22em; }
.overlay-locatie:empty { display: none; }
.overlay-bedrag {
    font-family: var(--serif);
    font-weight: 700;
    font-size: 1.25em;
    color: var(--goud);
    white-space: nowrap;
}
.overlay-bedrag:empty { display: none; }
.overlay-weging { font-weight: 300; font-size: 0.85em; color: rgba(214, 212, 203, 0.8); white-space: nowrap; }
.overlay-weging:empty { display: none; }
.overlay-bedrag:not(:empty) + .overlay-weging:not(:empty)::before {
    content: '\00b7';
    margin-right: 0.9rem;
    color: rgba(243, 241, 235, 0.5);
}
.overlay-locatie:not(:empty) + .overlay-bedrag:not(:empty)::before {
    content: '\00b7';
    margin-right: 0.9rem;
    color: rgba(243, 241, 235, 0.5);
}

/* In- en uitkomst van overlayregels: filmische blur-reveal, snel gestaffeld.
   Titel en citaat komen woord voor woord binnen (kinetische typografie).
   Basis is zichtbaar; alleen zonder .toon (tussen scenes in) verborgen. */
.overlay:not(.toon):not(.verberg) > * { opacity: 0; }
.overlay.toon > *:not(.overlay-titel):not(.overlay-citaat) {
    animation: regelOp 0.65s cubic-bezier(0.19, 1, 0.22, 1) backwards;
}
.overlay.toon > *:nth-child(1) { animation-delay: 0.3s; }
.overlay.toon > *:nth-child(4) { animation-delay: 0.85s; }
.overlay.toon > *:nth-child(5) { animation-delay: 1s; }
.overlay .w { display: inline-block; }
/* titelwoorden in een subtiel wit-naar-creme drukwerkverloop */
.overlay-titel:not(.als-naam) .w {
    background: linear-gradient(180deg, #FFFFFF 0%, var(--creme) 58%, #C9C6BD 100%);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
}
.overlay.toon .overlay-titel:not(.als-naam) .w,
.overlay.toon .overlay-citaat .w {
    animation: woordOp 0.7s cubic-bezier(0.19, 1, 0.22, 1) backwards;
}
.overlay.verberg > * {
    animation: regelWeg 0.4s ease forwards;
}
@keyframes woordOp {
    from { opacity: 0; transform: translateY(0.5em); filter: blur(6px); }
    to { opacity: 1; transform: none; filter: none; }
}

/* ---------- Voortgang (segmenten) ---------- */

.voortgang {
    position: absolute;
    top: clamp(1rem, 3vh, 1.6rem);
    left: 50%;
    transform: translateX(-50%);
    z-index: 5;
    display: flex;
    gap: 6px;
    width: min(420px, 60vw);
}
.segment {
    flex: 1;
    height: 2px;
    background: rgba(243, 241, 235, 0.25);
    overflow: hidden;
}
.segment-vulling {
    display: block;
    width: 0%;
    height: 100%;
    background: var(--goud);
}
.segment.klaar .segment-vulling { background: rgba(243, 241, 235, 0.75); }
.segment.klaar .segment-vulling { width: 100%; }

/* ---------- Bediening ---------- */

.bediening {
    position: absolute;
    right: clamp(1rem, 3vw, 2rem);
    top: clamp(0.7rem, 2.4vh, 1.2rem);
    z-index: 7;
    display: flex;
    gap: 0.45rem;
    opacity: 0.8;
    transition: opacity 0.3s ease;
}
.bediening:hover { opacity: 1; }
.bedieningsknop {
    width: 42px;
    height: 42px;
    display: grid;
    place-items: center;
    background: rgba(20, 32, 46, 0.5);
    border: 1px solid rgba(243, 241, 235, 0.18);
    border-radius: 50%;
    color: var(--creme);
    cursor: pointer;
    backdrop-filter: blur(8px);
    transition: background 0.25s ease, border-color 0.25s ease;
}
.bedieningsknop:hover { background: rgba(20, 32, 46, 0.75); border-color: rgba(198, 161, 91, 0.6); }
.bedieningsknop svg { width: 18px; height: 18px; }
.icoon-speel { display: none; }
.speler.gepauzeerd .icoon-speel { display: block; }
.speler.gepauzeerd .icoon-pauze { display: none; }
.icoon-geluid-uit { display: none; }
.speler.gedempt .icoon-geluid-uit { display: block; }
.speler.gedempt .icoon-geluid-aan { display: none; }

.speler.gepauzeerd .overlay.toon > * { animation-play-state: paused; }
.speler.gepauzeerd .laag { transition: none; }

/* ---------- Eindscherm ---------- */

.einde {
    position: absolute;
    inset: 0;
    z-index: 20;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 1.6rem;
    text-align: center;
    background:
        radial-gradient(120% 90% at 50% 40%, rgba(76, 97, 120, 0.22), transparent 70%),
        var(--donker);
    opacity: 0;
    transition: opacity 1.2s ease;
}
.einde.toon { opacity: 1; }
.einde-tekst {
    font-size: 0.78rem;
    font-weight: 500;
    letter-spacing: 0.42em;
    text-transform: uppercase;
    color: var(--creme-donker);
    animation: zachtOp 1.4s ease 0.8s backwards;
}

.eindknop {
    margin-top: 1rem;
    padding: 1rem 3.2rem;
    border-radius: 999px;
    background: rgba(198, 161, 91, 0.8);
    border: none;
    color: #fff;
    font-family: var(--sans);
    font-size: 0.8rem;
    font-weight: 600;
    letter-spacing: 0.28em;
    text-transform: uppercase;
    cursor: pointer;
    animation: zachtOp 1.4s ease 1.2s backwards;
    transition: background 0.3s ease;
}
.eindknop:hover { background: rgba(198, 161, 91, 1); }

/* ---------- Keyframes ---------- */

@keyframes zachtOp {
    from { opacity: 0; transform: translateY(14px); }
    to { opacity: 1; transform: none; }
}
@keyframes regelOp {
    from { opacity: 0; transform: translateY(18px); filter: blur(6px); }
    to { opacity: 1; transform: none; filter: none; }
}
@keyframes regelWeg {
    from { opacity: 1; transform: none; }
    to { opacity: 0; transform: translateY(-12px); filter: blur(6px); }
}
@keyframes ringTekenen {
    to { stroke-dashoffset: 0; }
}

@media (prefers-reduced-motion: reduce) {
    .laag, .overlay > *, .start, .einde { transition: none; animation-duration: 0.01s !important; }
}
