/* Web interpretation of frosted glass, inspired by Apple's material hierarchy. */
:root{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;--black:#080808;--ink:#fafafa;--muted:#c5c5c8;--line:#ffffff20;--glass:rgba(35,35,38,.68);--glass-border:#ffffff32;--surface:#141416;--red:#ed2d18;color-scheme:dark}
html[data-theme=light]{--black:#f5f5f7;--ink:#161617;--muted:#535358;--line:#00000018;--glass:rgba(255,255,255,.73);--glass-border:#ffffffc9;--surface:#fff;color-scheme:light}
body{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;background:var(--black);color:var(--ink)}
.site-header{position:absolute;inset:26px 32px auto;z-index:10;max-width:1376px;height:78px;margin:0 auto;padding:0 24px;border:1px solid var(--glass-border);border-radius:25px;background:var(--glass);backdrop-filter:blur(28px) saturate(1.65);-webkit-backdrop-filter:blur(28px) saturate(1.65);box-shadow:inset 0 1px 0 #ffffff25,0 12px 40px #00000016}
.digital-stage-logo{width:136px;max-height:46px}.site-header nav{gap:8px;font-size:11px;letter-spacing:.015em;font-weight:700}.site-header nav a{padding:13px 18px;border-radius:50px}.site-header nav a:last-child{background:var(--ink);color:var(--black)}.site-header nav a:hover{background:var(--red);color:#fff}
.hero{margin:12px;height:calc(100svh - 24px);max-height:1000px;min-height:600px;border-radius:32px;border:1px solid #ffffff18}.hero-shade{background:rgba(0,0,0,.34)}
.hero-scramble{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:clamp(32px,4.5vw,70px);font-weight:700;line-height:1.15;letter-spacing:-.055em;color:#fff;padding:24px}
.hero-scramble>span{position:relative;white-space:pre;min-width:0;padding:5px 9px;max-width:100%;text-shadow:none}
#heroPhrase::after{content:"";position:absolute;right:0;top:12%;height:79%;width:3px;background:var(--red);animation:caret 1s step-end infinite}
#heroPhrase[data-state=selected]{background:#ed2d184a}
#heroPhrase[data-state=selected]::before,#heroPhrase[data-state=selected]::after{content:"";position:absolute;top:0;bottom:0;height:100%;width:3px;background:var(--red);animation:none;box-shadow:none}
#heroPhrase[data-state=selected]::before{left:0;border-radius:0}
#heroPhrase[data-state=selected]::after{right:0}
.hero-scramble:has([data-state=selected]){--selection:1}
#heroPhrase[data-state=selected]{background-image:radial-gradient(circle at 0 0,var(--red) 0 7px,transparent 8px),radial-gradient(circle at 100% 100%,var(--red) 0 7px,transparent 8px);background-repeat:no-repeat}
#heroPhrase[data-state=static]::after{display:none}
@keyframes caret{50%{opacity:0}}
.reel-toggle,.studio-nav,.work-open{border:1px solid #ffffff75;background:#22222560;color:#fff;backdrop-filter:blur(20px) saturate(1.6);-webkit-backdrop-filter:blur(20px) saturate(1.6);box-shadow:inset 0 1px 0 #ffffff30,0 4px 16px #0002}
.hero-motion-toggle{right:26px;bottom:26px;opacity:1;width:44px;height:44px}
.brand-strip{border-bottom:0;padding:48px 0 36px}.strip-heading{justify-content:center;color:var(--muted);font-size:10px;letter-spacing:.12em;margin-bottom:22px}.logo-item{opacity:.75}.logo-item img{filter:brightness(0) invert(1)}html[data-theme=light] .logo-item img{filter:brightness(0)}
.section-wrap{max-width:1440px;margin:0 auto;padding-inline:40px}.works{padding-block:90px 100px}.section-heading{margin-bottom:38px}.section-heading h2,.production-intro h2{font-family:inherit;font-size:clamp(45px,5.2vw,76px);font-weight:700;letter-spacing:-.055em;line-height:1}
.work-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:44px 24px}.work-card button,.work-card:first-child button{border-radius:22px;aspect-ratio:1;background:var(--surface);isolation:isolate}.work-card button.work-bts{border-radius:0;aspect-ratio:auto;background:none;color:var(--ink)}
.work-open{width:46px;height:46px;right:16px;bottom:16px}.work-meta{padding-top:17px;align-items:start;gap:12px}.work-meta h3{font-weight:700;font-size:24px;letter-spacing:-.04em}.work-meta .work-subtitle{font-size:13px;line-height:1.4;color:var(--muted);margin-top:6px;font-weight:400}.work-workflow{font-size:9px;color:var(--muted);line-height:1.4;padding-top:5px;letter-spacing:.02em}
.production{border-top:1px solid var(--line);padding-block:85px 100px}.production-intro{grid-template-columns:1fr 1fr;gap:60px;margin-bottom:40px;align-items:end}.production-intro p{color:var(--ink);font-weight:400;font-size:20px;line-height:1.45;margin:0;max-width:480px;letter-spacing:-.025em}.studio-track{border-radius:24px}.studio-slide{background:var(--surface)}.production-stage figcaption{color:var(--muted);padding-inline:4px;margin-top:20px}.studio-prev{left:20px}.studio-next{right:20px}.studio-dot{background:var(--ink);opacity:.24}.studio-dot[aria-current=true]{background:var(--red);opacity:1}
footer{background:var(--surface);color:var(--ink);border-top:1px solid var(--line);padding:65px max(40px,calc((100vw - 1360px)/2)) 110px}.footer-email{font-family:inherit;font-weight:700;font-size:clamp(64px,10vw,145px);letter-spacing:-.065em}.footer-email em{color:var(--red)}.footer-email:hover{color:var(--red)}.footer-bottom{border-color:var(--line)}.footer-bottom>span{color:var(--muted)}.footer-kicker{color:var(--muted)}.footer-logo{filter:none}html[data-theme=light] .footer-logo{filter:brightness(0)}
.project-dialog{background:var(--glass);backdrop-filter:blur(40px);-webkit-backdrop-filter:blur(40px);color:var(--ink);border:1px solid var(--glass-border);border-radius:28px;padding:28px;box-shadow:inset 0 1px 0 #ffffff25,0 30px 100px #0008}.project-dialog::backdrop{background:#0008;backdrop-filter:blur(15px)}.dialog-close{color:var(--ink);border-color:var(--line);background:var(--surface)}.dialog-description,.project-info{color:var(--muted)}.project-info,.asset-heading{border-color:var(--line)}.media-controls button,.media-controls #muteVideo{color:var(--ink)}.media-stage{border-radius:14px}.media-gallery button{border-radius:12px}.theater-mode{--ink:#fff;--muted:#fff}
.design-switch{position:fixed;z-index:20;bottom:max(20px,env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:20px;padding:7px 8px 7px 20px;background:var(--glass);color:var(--ink);border:1px solid var(--glass-border);border-radius:50px;backdrop-filter:blur(30px) saturate(1.8);-webkit-backdrop-filter:blur(30px) saturate(1.8);box-shadow:inset 0 1px 0 #ffffff30,0 8px 32px #0002;white-space:nowrap}.design-switch>span{font-size:9px;letter-spacing:.12em;font-weight:700}.design-switch>div{display:flex;gap:3px}.design-switch button{min-height:42px;min-width:66px;border:0;border-radius:50px;background:none;color:inherit;font-size:12px;font-weight:500;padding:10px 16px}.design-switch button[aria-pressed=true]{background:var(--ink);color:var(--black);box-shadow:0 2px 10px #0002}body:has(dialog[open]) .design-switch{visibility:hidden}
@media(max-width:900px){.work-grid{gap:36px 18px}.work-meta{display:block}.work-workflow{display:block;margin-top:7px}.production-intro{gap:30px}.site-header{inset:24px 28px auto}.hero-scramble{font-size:clamp(27px,4.5vw,50px)}}
@media(max-width:600px){.site-header{inset:22px 20px auto;height:66px;padding:0 15px;border-radius:22px;gap:10px}.digital-stage-logo{width:106px}.site-header nav{gap:0;font-size:9px}.site-header nav a{padding:12px 10px}.site-header nav a:first-child{display:none}.hero{margin:8px;min-height:530px;height:calc(100svh - 16px);border-radius:26px}.hero-scramble{font-size:clamp(20px,5.25vw,32px);letter-spacing:-.05em;padding:12px}.hero-scramble>span{padding-inline:5px}.hero-motion-toggle{bottom:85px;right:18px}.brand-strip{padding-block:32px}.section-wrap{padding-inline:20px}.works{padding-block:50px 60px}.section-heading{margin-bottom:26px}.section-heading h2,.production-intro h2{font-size:48px}.work-grid{grid-template-columns:1fr;gap:32px}.work-card button,.work-card:first-child button{border-radius:20px;aspect-ratio:1}.work-meta{display:flex}.work-workflow{margin:0}.work-meta h3{font-size:24px}.production{padding-block:55px 60px}.production-intro{grid-template-columns:1fr;gap:22px;margin-bottom:28px}.production-intro p{font-size:18px;line-height:1.45}.studio-track{border-radius:20px}.studio-nav{width:40px;height:40px}.studio-prev{left:10px}.studio-next{right:10px}.production-stage figcaption{font-size:8px}.studio-pagination{order:3;width:100%;justify-content:center}.footer-email{font-size:clamp(48px,12.5vw,75px)}footer{padding:40px 20px 110px}.design-switch{gap:12px;padding-left:16px;bottom:16px}.design-switch button{min-width:60px;padding-inline:14px}.project-dialog{border-radius:0;padding:20px}.project-dialog.theater-mode{border-radius:0}.footer-bottom>span{color:var(--muted)}}
@supports not (backdrop-filter:blur(1px)){.site-header,.design-switch,.project-dialog{background:var(--surface)}}
@media(prefers-reduced-transparency:reduce){.site-header,.design-switch,.project-dialog{background:var(--surface);backdrop-filter:none;-webkit-backdrop-filter:none}}
@media(prefers-reduced-motion:reduce){#heroPhrase::after{animation:none;display:none}}
/* Selection handles stay outside the highlight, like a native text selection. */
#heroPhrase[data-state=selected]{background:#ed2d184a;box-shadow:inset 3px 0 var(--red),inset -3px 0 var(--red)}
#heroPhrase[data-state=selected]::before,#heroPhrase[data-state=selected]::after{width:12px;height:12px;border-radius:50%;background:var(--red)}
#heroPhrase[data-state=selected]::before{left:-4.5px;top:-6px;bottom:auto}
#heroPhrase[data-state=selected]::after{right:-4.5px;top:auto;bottom:-6px}

/* Edge-to-edge film with a lighter, separate navigation layer. */
.hero{margin:0;border:0;border-radius:0;height:100svh;max-height:none;min-height:600px}
.site-header{inset:28px 40px auto;height:60px;padding:0;border:0;border-radius:0;background:none;backdrop-filter:none;-webkit-backdrop-filter:none;box-shadow:none}
.digital-stage-logo{width:140px;max-height:50px}
.site-header nav{padding:6px;border:1px solid var(--glass-border);border-radius:100px;gap:2px;background:var(--glass);backdrop-filter:blur(28px) saturate(1.6);-webkit-backdrop-filter:blur(28px) saturate(1.6);box-shadow:inset 0 1px 0 #ffffff24,0 8px 30px #0002}
.site-header nav a{padding:13px 20px;font-size:10px;letter-spacing:.04em}
.design-switch{left:auto;right:24px;transform:none;padding:5px;gap:0}.design-switch button{min-height:36px;padding:8px 14px;font-size:11px}
.hero-motion-toggle{bottom:25px;right:25px}.design-switch{bottom:23px;right:86px}
@media(max-width:600px){.hero{margin:0;border-radius:0;height:100svh;min-height:530px}.site-header{inset:22px 20px auto;height:52px;padding:0;gap:12px}.digital-stage-logo{width:112px}.site-header nav{padding:5px}.site-header nav a{padding:11px 12px;font-size:9px}.design-switch{bottom:max(20px,env(safe-area-inset-bottom));right:76px;left:auto;padding:4px}.design-switch button{min-width:54px;min-height:34px;padding:8px 10px}.hero-motion-toggle{bottom:max(20px,env(safe-area-inset-bottom));right:20px}}
@supports not (backdrop-filter:blur(1px)){.site-header{background:none}.site-header nav{background:var(--surface)}}
@media(prefers-reduced-transparency:reduce){.site-header{background:none}.site-header nav{background:var(--surface);backdrop-filter:none;-webkit-backdrop-filter:none}}

/* October refinement: stable type, legible controls and quiet content surfaces. */
.hero-scramble>.hero-typing{display:inline-grid;min-width:0;max-width:100%;white-space:pre;text-align:left;padding:0}
.hero-typing .hero-phrase-measure,.hero-typing #heroPhrase{grid-area:1/1;padding:5px 9px;white-space:pre;line-height:inherit}
.hero-phrase-measure{visibility:hidden;pointer-events:none}
.hero-typing #heroPhrase{position:relative;display:inline-block;justify-self:start;min-width:0;min-height:1.15em;text-shadow:none}
.hero-typing #heroPhrase[data-state=empty]{min-width:3px}
.mobile-menu-toggle{display:none}
.site-header nav a{font-size:12px;min-height:44px;display:flex;align-items:center;justify-content:center;padding:12px 18px}
.site-header nav a:last-child .ui-arrow{margin-left:6px}
.work-workflow{font-size:12px;font-weight:500;letter-spacing:0;padding-top:4px}
.work-meta .work-subtitle{font-size:14px;line-height:1.45}
.work-meta{flex-wrap:wrap;row-gap:5px}.work-meta>div{flex:1;min-width:120px}
.production-stage figcaption{font-size:12px;letter-spacing:.025em}
.project-dialog{background:#171719;color:#fafafa;backdrop-filter:none;-webkit-backdrop-filter:none;border-color:#ffffff24;box-shadow:0 32px 100px #0009;padding:28px;animation:project-enter .22s cubic-bezier(.2,.7,.2,1)}
.project-dialog::backdrop{background:#000b;backdrop-filter:none;-webkit-backdrop-filter:none}
.dialog-head{display:block;padding-bottom:24px}.dialog-identity{display:flex;justify-content:space-between;align-items:start;gap:24px}.dialog-summary{padding-top:16px}
.dialog-head h2{margin-top:6px;font-size:clamp(36px,5vw,64px);font-weight:700;letter-spacing:-.045em}
.dialog-description{font-size:16px;font-weight:400;color:#dedee1;line-height:1.5;margin:0;max-width:740px}
.dialog-kicker{font-size:12px;letter-spacing:.03em}.jump-assets{font-size:12px;min-height:44px;padding-block:12px;margin-top:4px}
.dialog-close{background:#ffffff0c;border:1px solid #ffffff25;min-width:44px;min-height:44px;color:#fff}
.dialog-close:hover{background:var(--red)}
.media-controls{gap:12px;font-size:12px;margin-top:16px}
.media-controls button,.media-controls #muteVideo{font-size:12px;min-height:44px;min-width:44px}
.media-controls #beforeToggle{font-size:12px;min-height:44px;padding:10px 16px}
.project-info,.asset-heading{font-size:12px;letter-spacing:.025em}.asset-label{font-size:13px}.stage-caption{font-size:11px}
.media-stage{border-radius:14px}.dialog-head .ui-arrow{width:13px;height:13px}
@keyframes project-enter{from{opacity:0;transform:translateY(8px) scale(.99)}to{opacity:1;transform:none}}
@media(max-width:900px){.work-meta{display:block}.work-workflow{margin-top:8px}.work-meta h3{font-size:23px}}
@media(max-width:600px){
.site-header{inset:max(20px,env(safe-area-inset-top)) max(20px,env(safe-area-inset-right)) auto max(20px,env(safe-area-inset-left));height:52px}
.mobile-menu-toggle{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-width:94px;min-height:46px;padding:12px 16px;color:#fff;background:var(--glass);border:1px solid var(--glass-border);border-radius:50px;font-size:13px;font-weight:500;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);box-shadow:inset 0 1px 0 #ffffff20}
.menu-mark{position:relative;width:12px;height:12px}.menu-mark::before,.menu-mark::after{content:"";position:absolute;left:0;width:12px;height:1px;top:4px;background:currentColor;transition:transform .15s,top .15s}.menu-mark::after{top:8px}.menu-open .menu-mark::before{top:6px;transform:rotate(45deg)}.menu-open .menu-mark::after{top:6px;transform:rotate(-45deg)}
.site-header nav{position:absolute;right:0;top:64px;width:min(240px,calc(100vw - 40px));display:none;flex-direction:column;align-items:stretch;gap:4px;padding:8px;border-radius:25px;background:#1c1c1e;backdrop-filter:none;-webkit-backdrop-filter:none;box-shadow:0 16px 44px #0005}
.site-header.menu-open nav{display:flex}.site-header nav a,.site-header nav a:first-child{display:flex;justify-content:space-between;min-height:46px;padding:12px 16px;font-size:13px;border-radius:18px}
.site-header nav a:last-child{margin-top:2px}.site-header nav a:active{background:var(--red);color:#fff}
.work-meta{display:flex;align-items:start;gap:12px;flex-wrap:wrap}.work-workflow{margin:0;padding-top:5px;font-size:12px}.work-meta .work-subtitle{font-size:14px}
.hero-typing .hero-phrase-measure,.hero-typing #heroPhrase{padding-inline:5px}
.production-stage figcaption{font-size:11px;line-height:1.5}
.project-dialog{padding:0 20px max(24px,env(safe-area-inset-bottom));border-radius:0;animation:project-enter .2s ease-out}
.dialog-head{padding-bottom:20px}.dialog-identity{position:sticky;top:0;z-index:12;background:#171719;margin-inline:-20px;padding:18px 20px 14px;border-bottom:1px solid #ffffff14}
.dialog-head{display:contents}.dialog-summary{padding-block:18px 22px}
.dialog-head h2{font-size:36px}.dialog-kicker{font-size:11px}.dialog-description{font-size:15px;line-height:1.5}.jump-assets{font-size:12px}
.media-controls{display:grid;grid-template-columns:44px auto minmax(24px,1fr) auto 54px 44px;gap:4px;font-size:11px}
.media-controls #muteVideo{font-size:11px}.media-controls #beforeToggle{font-size:12px;padding:10px 14px;grid-column:1/-1;grid-row:2;margin-top:8px}
.stage-caption{font-size:10px}.project-info,.asset-heading{font-size:11px}.asset-label{font-size:12px}
.project-dialog.theater-mode .dialog-summary,.project-dialog.theater-mode .dialog-identity{display:none}
}
@media(prefers-reduced-transparency:reduce){.mobile-menu-toggle{background:#242426;backdrop-filter:none;-webkit-backdrop-filter:none}.project-dialog{background:#171719}}
@media(prefers-reduced-motion:reduce){.project-dialog{animation:none}.menu-mark::before,.menu-mark::after{transition:none}}

/* Studio photographs fill the rounded gallery without letterboxing. */
.production-stage .studio-slide img{object-fit:cover;object-position:center}
.studio-track{overflow-y:hidden}
