body.dominik-portfolio{margin:0;background:#05080d}body.dominik-portfolio #dr-flow{height:100dvh!important;max-height:none!important;min-height:0!important}body.dominik-portfolio.admin-bar #dr-flow{height:calc(100dvh - 32px)!important}#drse-toolbar{display:flex;gap:8px;align-items:center;flex-wrap:wrap;padding:14px 0;position:sticky;top:32px;z-index:200;background:#f0f0f1}#drse-toolbar button,#drse-toolbar select{padding:7px 10px}#drse-status{font-size:12px}#drse-status[data-error=true]{color:#b32d2e}.drse-admin #dr-editor .ed-bar{display:none}.drse-admin #dr-editor{--ed-bg:#f4f4f1;--ed-panel:#fff;--ed-ink:#222;--ed-muted:#64696c;--ed-line:#dadcda}.drse-admin #dr-editor .ed-layout{height:calc(100dvh - 160px)}.drse-skip{position:fixed;left:8px;top:-100px;z-index:99999;padding:12px;background:white;color:black}.drse-skip:focus{top:8px}body.dominik-portfolio #dr-flow.drse-hydrating{visibility:hidden}.drse-text-fallback{background:#05080d;color:white;padding:5%;font:16px/1.6 Arial}.drse-text-fallback img,.drse-text-fallback video{max-width:100%}@media(max-width:782px){body.dominik-portfolio.admin-bar #dr-flow{height:calc(100dvh - 46px)!important}#drse-toolbar{top:46px}}

/* Keep WordPress dashboard heading colors outside the portfolio preview. */
#dr-flow :where(h1,h2,h3,h4,h5,h6){color:inherit}

/* Device previews use the same responsive bases as their 375px / 768px visitor widths. */
#dr-flow[data-preview-device=phone] .hero h1{font-size:45px}
#dr-flow[data-preview-device=tablet] .hero h1{font-size:55.296px}
#dr-flow[data-preview-device=phone] .interlude-headlines h1{font-size:36px}
#dr-flow[data-preview-device=tablet] .interlude-headlines h1{font-size:55.296px}
#dr-flow[data-preview-device=phone] h2{font-size:32px}
#dr-flow[data-preview-device=phone] .section h2{font-size:30px}
#dr-flow[data-preview-device=phone] .contact h2{font-size:40px}
#dr-flow[data-preview-device=tablet] h2{font-size:44.544px}
#dr-flow[data-preview-device=tablet] .section h2{font-size:38.4px}
#dr-flow[data-preview-device=tablet] .contact h2{font-size:53.76px}

/* Match the visitor document baseline, rather than inheriting dashboard text defaults. */
#dr-flow{font-size:16px;line-height:normal}
#dr-flow p{font-size:inherit;line-height:inherit}

#dr-flow .section-local-background video::-webkit-media-controls-start-playback-button,#dr-flow .media-interlude video::-webkit-media-controls-start-playback-button{display:none!important}

/* Do not paint prototype media while restoring the saved document. The attribute survives class restoration. */
#dr-flow[data-drse-startup="pending"]{visibility:hidden!important}
/* Background video must remain visible before playback; never wait for play to make it visible. */
#dr-flow .hero>.section-local-background video[data-drse-background-ready="true"],#dr-flow .media-interlude video[data-drse-background-ready="true"]{opacity:1!important;transition:opacity .25s ease}

#dr-flow [data-drse-text-pending="true"]{opacity:0!important}

/* Decorative fallback images have no Play overlay. Playback controls remain on interludes once playing. */
#dr-flow .hero .drse-background-start,#dr-flow .media-interlude .drse-background-start{display:none!important}
#dr-flow .hero .section-local-background video::-webkit-media-controls-overlay-play-button,#dr-flow .media-interlude video::-webkit-media-controls-overlay-play-button{display:none!important}
#dr-flow .drse-fallback-poster{pointer-events:none!important}

/* Native provider transport controls stay accessible in fullscreen, including while paused. */
#dr-flow .visual:fullscreen>.sample-activity-sensor,#dr-flow .visual:-webkit-full-screen>.sample-activity-sensor{bottom:max(120px,18%)!important}
#dr-flow .provider-portal .visual:fullscreen iframe,#dr-flow .provider-portal .visual:-webkit-full-screen iframe{pointer-events:auto!important}
#dr-flow .provider-gallery-overlay{opacity:0;z-index:8;pointer-events:none!important}
@media(hover:hover) and (pointer:fine) and (min-width:1001px){
#dr-flow .provider-portal[data-provider-paused=true][data-provider-hover=true] .provider-gallery-overlay{opacity:1;background:rgba(0,0,0,.7)}
#dr-flow .provider-portal[data-provider-paused=true][data-provider-hover=true] .provider-gallery-overlay .work-index-copy{opacity:1;transform:none}
}
#dr-editor #dr-flow[data-preview-device=desktop] .provider-portal[data-provider-paused=true][data-provider-hover=true] .provider-gallery-overlay{opacity:1;background:rgba(0,0,0,.7)}
#dr-editor #dr-flow[data-preview-device=desktop] .provider-portal[data-provider-paused=true][data-provider-hover=true] .provider-gallery-overlay .work-index-copy{opacity:1;transform:none}
#dr-flow .visual:fullscreen>.provider-gallery-overlay,#dr-flow .visual:-webkit-full-screen>.provider-gallery-overlay{display:none!important}

/* Editor focus previews hover copy without changing visitor hover behaviour. */
#dr-editor[data-gallery-overlay-preview=true] #dr-flow .work-index-card .work-index-overlay,
#dr-editor[data-gallery-overlay-preview=true] #dr-flow .provider-portal[data-provider-paused=true] .provider-gallery-overlay{opacity:1!important;background:rgba(0,0,0,.7)}
#dr-editor[data-gallery-overlay-preview=true] #dr-flow .work-index-copy{opacity:1!important;transform:none!important}

/* Legacy split role/company spans inherit the unified caption line. */
#dr-flow .work-index-role .gallery-role,#dr-flow .work-index-role .gallery-network,#dr-flow .work-index-mobile-role .gallery-role,#dr-flow .work-index-mobile-role .gallery-network{position:static!important;inset:auto!important;transform:none!important;translate:none!important;padding:0!important;margin:0!important;font:inherit!important;color:inherit!important;letter-spacing:inherit!important;display:inline!important}

/* Explicit desktop mouse-leave wins over focus restored from fullscreen; keyboard focus still reveals controls. */
#dr-flow .project .visual[data-pointer-outside=true][data-controls-playing=false][data-controls-visible=false]>.play-label,
#dr-flow .project .visual[data-pointer-outside=true][data-controls-playing=false][data-controls-visible=false]>.sample-fullscreen{opacity:0!important;pointer-events:none!important}

/* Paused provider chrome remains clickable; an upper gesture surface preserves slider swipes. */
#dr-flow>.provider-portal>.visual{pointer-events:auto!important}
#dr-flow>.provider-portal[data-provider-paused=true]>.visual iframe{pointer-events:auto!important}
#dr-flow>.provider-portal[data-provider-paused=true]>.visual>.sample-activity-sensor{display:block;bottom:min(88px,35%)}
#dr-flow>.provider-portal[data-provider-paused=true]>.visual:fullscreen>.sample-activity-sensor,
#dr-flow>.provider-portal[data-provider-paused=true]>.visual:-webkit-full-screen>.sample-activity-sensor{display:none!important}

/* Crop across the section, not just within the oversized parallax media box. Clamp prevents exposed edges. */
body #dr-flow .media-interlude>img[data-responsive-media],body #dr-flow .media-interlude>video[data-responsive-media]{top:clamp(calc(-2 * var(--parallax-overscan,30%) - var(--interlude-offset,0px)),calc(-2 * var(--parallax-overscan,30%) * var(--drse-media-position-y,.5)),calc(0px - var(--interlude-offset,0px)))!important}

/* Interludes use a quiet text-only sound control in place of the old label. */
#dr-flow .media-interlude .interlude-placeholder{display:none!important}
#dr-flow .media-interlude .interlude-audio{position:absolute;left:4%;bottom:18px;z-index:8;width:auto;height:auto;margin:0;padding:6px 0;border:0;border-radius:0;background:none;color:#fff;font:12px/1.3 Arial,sans-serif;letter-spacing:.3px;text-transform:none;cursor:pointer;pointer-events:auto;text-shadow:0 1px 5px #0008}
#dr-flow .media-interlude .interlude-audio[hidden]{display:none!important}
#dr-flow .media-interlude .interlude-audio:focus-visible{outline:1px solid #fff;outline-offset:5px}

/* Identical slideshow timing in the editor and visitor runtime. */
#dr-flow #flow-about>.about-slideshow>img{transition:opacity var(--bio-fade-duration,3.5s) ease-in-out}

#dr-flow .media-interlude>.interlude-static-label{position:absolute;left:4%;bottom:18px;z-index:8;color:#fff;font:12px/1.3 Arial,sans-serif;letter-spacing:.3px;white-space:pre-line;text-shadow:0 1px 5px #0008}
#dr-flow .media-interlude>.interlude-static-label[hidden]{display:none!important}

/* A running slider or gallery player owns the whole frame; never leave its thumbnail beneath a compositor seam. */
#dr-flow .project>.visual:has(>.sample-player),
#dr-flow .project>.visual[data-provider-live=true]{background:#05080d!important}
#dr-flow .project>.visual:has(>.sample-player)>img:not(.sample-end-poster):not(.sample-paused-frame),
#dr-flow .project>.visual[data-provider-live=true]>img:not(.sample-end-poster):not(.sample-paused-frame){visibility:hidden!important}
#dr-flow .project>.visual>.sample-player{display:block;box-sizing:border-box!important;margin:0!important;padding:0!important;border:0!important;inset:0!important;width:100%!important;height:100%!important;max-width:none!important;max-height:none!important;background:#05080d!important}

#dr-editor .ed-text-position{grid-column:1/-1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:10px 0;border-bottom:1px solid var(--ed-line,#dadcda)}
#dr-editor .ed-text-position>strong{grid-column:1/-1;font-size:12px}

/* BIO_STACK_IMAGE_FIRST: maintain image → introduction → expanded biography. */
@media(max-width:800px){
#dr-flow:not([data-preview-device]):not([data-work-page]) #flow-about{display:flex!important;flex-direction:column!important;align-items:stretch!important}
#dr-flow:not([data-preview-device]) #flow-about>.about-slideshow{order:0!important;flex-shrink:0!important;margin-top:0!important;position:relative!important}
#dr-flow:not([data-preview-device]) #flow-about>.reveal:not(.about-slideshow){order:1!important;min-width:0}
#dr-flow:not([data-preview-device]) #flow-about>.bio-expansion{order:2!important;flex-shrink:0}
}
@container(max-width:800px){
#dr-editor #dr-flow:not([data-work-page]) #flow-about{display:flex!important;flex-direction:column!important;align-items:stretch!important}
#dr-editor #dr-flow #flow-about>.about-slideshow{order:0!important;flex-shrink:0!important;margin-top:0!important;position:relative!important}
#dr-editor #dr-flow #flow-about>.reveal:not(.about-slideshow){order:1!important;min-width:0}
#dr-editor #dr-flow #flow-about>.bio-expansion{order:2!important;flex-shrink:0}
}

/* Independent block-element margins must not collapse into adjoining margins. */
#dr-flow#dr-flow #flow-about .bio-milestones>.bio-milestone{display:flex;flex-direction:column;min-width:0}
#dr-flow#dr-flow #flow-about .bio-milestones>.bio-milestone>*{flex-shrink:0}

/* Gallery routing takes precedence over responsive portfolio layouts. */
#dr-flow#dr-flow[data-work-page] > #flow-about{display:none!important}

#dr-flow .slider-see-all:after{font-size:var(--see-all-arrow-size,1em);margin-left:var(--see-all-arrow-gap,7px)}

@media(hover:none) and (pointer:coarse){#dr-flow .project-grid .visual>img{backface-visibility:hidden;-webkit-backface-visibility:hidden;transform:translateZ(0)}}

/* Phone logo wall: three equal cells, independent of the desktop grid controls. */
@media(max-width:600px){#dr-flow:not([data-preview-device]) .resume-logo-wall{grid-template-columns:repeat(3,minmax(0,1fr))!important;grid-template-rows:none!important;grid-auto-rows:minmax(56px,auto);column-gap:16px;row-gap:20px}#dr-flow:not([data-preview-device]) .resume-wall-item{min-height:56px}}
#dr-editor #dr-flow[data-preview-device=phone] .resume-logo-wall{grid-template-columns:repeat(3,minmax(0,1fr))!important;grid-template-rows:none!important;grid-auto-rows:minmax(56px,auto);column-gap:16px;row-gap:20px}
#dr-editor #dr-flow[data-preview-device=phone] .resume-wall-item{min-height:56px}

#dr-flow .phone-credit-break{display:none}

@media(max-width:600px){
#dr-flow#dr-flow:not([data-preview-device]) .hero .phone-credit-break{display:block}
#dr-flow#dr-flow:not([data-preview-device]) .hero .phone-credit-separator{display:none}
#dr-flow#dr-flow:not([data-preview-device]) .hero .hero-bottom{display:flex!important;align-items:flex-end!important;gap:16px!important}
#dr-flow#dr-flow:not([data-preview-device]) .hero .hero-bottom>div{min-width:0;flex:1}
#dr-flow#dr-flow:not([data-preview-device]) .hero .hero-bottom>.round{flex-shrink:0}
#dr-flow#dr-flow:not([data-preview-device]) .restored-gallery>.project{flex:0 0 100%!important;min-width:0!important;max-width:100%!important}
#dr-flow#dr-flow:not([data-preview-device]) :is(#flow-film,#flow-brands)>.section-title{display:flex!important;flex-direction:row!important;align-items:flex-end!important;gap:12px!important}
#dr-flow#dr-flow:not([data-preview-device]) :is(#flow-film,#flow-brands)>.section-title>div:first-child{min-width:0;flex:1}
#dr-flow#dr-flow:not([data-preview-device]) :is(#flow-film,#flow-brands) .section-title h2{margin-bottom:0!important}
#dr-flow#dr-flow:not([data-preview-device]) :is(#flow-film,#flow-brands) .section-title .slider-controls{position:static!important;align-self:flex-end!important;margin:0 0 0 auto!important;flex:0 0 auto}
#dr-flow#dr-flow:not([data-preview-device]) :is(#flow-film,#flow-brands) .slider-controls .buttons{gap:6px!important}
#dr-flow#dr-flow:not([data-preview-device]) :is(#flow-film,#flow-brands) .slider-controls .round{width:34px!important;height:34px!important;min-width:34px!important;padding:0!important}
}

#dr-editor #dr-flow#dr-flow[data-preview-device=phone] .hero .phone-credit-break{display:block}
#dr-editor #dr-flow#dr-flow[data-preview-device=phone] .hero .phone-credit-separator{display:none}
#dr-editor #dr-flow#dr-flow[data-preview-device=phone] .hero .hero-bottom{display:flex!important;align-items:flex-end!important;gap:16px!important}
#dr-editor #dr-flow#dr-flow[data-preview-device=phone] .hero .hero-bottom>div{min-width:0;flex:1}
#dr-editor #dr-flow#dr-flow[data-preview-device=phone] .hero .hero-bottom>.round{flex-shrink:0}
#dr-editor #dr-flow#dr-flow[data-preview-device=phone] .restored-gallery>.project{flex:0 0 100%!important;min-width:0!important;max-width:100%!important}
#dr-editor #dr-flow#dr-flow[data-preview-device=phone] :is(#flow-film,#flow-brands)>.section-title{display:flex!important;flex-direction:row!important;align-items:flex-end!important;gap:12px!important}
#dr-editor #dr-flow#dr-flow[data-preview-device=phone] :is(#flow-film,#flow-brands)>.section-title>div:first-child{min-width:0;flex:1}
#dr-editor #dr-flow#dr-flow[data-preview-device=phone] :is(#flow-film,#flow-brands) .section-title h2{margin-bottom:0!important}
#dr-editor #dr-flow#dr-flow[data-preview-device=phone] :is(#flow-film,#flow-brands) .section-title .slider-controls{position:static!important;align-self:flex-end!important;margin:0 0 0 auto!important;flex:0 0 auto}
#dr-editor #dr-flow#dr-flow[data-preview-device=phone] :is(#flow-film,#flow-brands) .slider-controls .buttons{gap:6px!important}
#dr-editor #dr-flow#dr-flow[data-preview-device=phone] :is(#flow-film,#flow-brands) .slider-controls .round{width:34px!important;height:34px!important;min-width:34px!important;padding:0!important}

@media(hover:none) and (pointer:coarse){#dr-flow button,#dr-flow a,#dr-flow .play-label{touch-action:manipulation;-webkit-tap-highlight-color:transparent}}

#dr-flow .provider-portal[data-provider-prepared=true]{opacity:0!important;pointer-events:none!important}
@media(max-width:600px),(hover:none) and (pointer:coarse){
#dr-flow .media-interlude>.interlude-audio{min-height:44px;min-width:76px;padding:12px;z-index:30!important;pointer-events:auto!important;touch-action:manipulation}
#dr-flow .media-interlude>.interlude-playback{min-width:44px;min-height:44px;z-index:30!important;pointer-events:auto!important;touch-action:manipulation;font-size:0!important;display:grid;place-items:center}
#dr-flow .media-interlude>.interlude-playback::before{content:'';display:block;width:calc(var(--interlude-control-icon,16px)*.75);height:var(--interlude-control-icon,16px);background:var(--interlude-control-color,#fff);clip-path:polygon(0 0,100% 50%,0 100%)}
#dr-flow .media-interlude>.interlude-playback[aria-pressed=true]::before{clip-path:none;background:linear-gradient(to right,var(--interlude-control-color,#fff) 0 30%,transparent 30% 70%,var(--interlude-control-color,#fff) 70% 100%)}
#dr-flow .media-interlude>.interlude-playback[hidden]{display:none!important}
}

#dr-flow .provider-portal .sample-fullscreen-poster{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;pointer-events:none;z-index:6}
