:root:has(body.cinema-preview){font-family:Arial,Helvetica,sans-serif;color:#fff2dc;background:#17242e;font-synthesis:none;color-scheme:dark}
body.cinema-preview *{box-sizing:border-box}body.cinema-preview{margin:0;overflow-x:hidden}body.cinema-preview button,body.cinema-preview a{-webkit-tap-highlight-color:transparent}body.cinema-preview button{font:inherit;cursor:pointer}body.cinema-preview a{color:inherit;text-decoration:none}.cinema button:focus-visible,.cinema a:focus-visible,#project-dialog button:focus-visible,#project-dialog a:focus-visible{outline:3px solid #488bbd;outline-offset:5px}[hidden]{display:none!important}
.cinema{--cta-background:#f0c29a;--cta-hover:#ffdab7;--cta-color:#2e302f;--cta-border:#ffe1bb;position:relative;isolation:isolate;width:100%;height:100svh;min-height:540px;overflow:hidden;background:radial-gradient(ellipse at 76% 48%,#3e535b 0,#283c46 38%,#17242e 76%)}
.cinema .project-heading{position:absolute;z-index:3;left:3.5%;right:7%;top:34px;max-width:680px;pointer-events:none}
.cinema .project-heading :is(h1,h2){font-family:Arial,Helvetica,sans-serif;font-size:clamp(38px,4vw,59px);font-weight:750;line-height:1;letter-spacing:-2.5px;margin:0 0 13px;color:#fff0d5}
.cinema .project-heading p{font-size:13px;line-height:1.5;letter-spacing:.1px;max-width:300px;margin:0;color:#d3ddd6}
.cinema .world{position:absolute;left:5%;right:5%;top:100px;bottom:155px;width:auto;height:auto;touch-action:pan-y}.cinema .world canvas{display:block;width:100%;height:100%}
.cinema .app-preview{position:absolute;z-index:3;left:50%;bottom:105px;top:auto;right:auto;display:block;transform:translateX(-50%);width:clamp(177px,18vw,244px)}
.cinema .scene-tools{position:absolute;left:3.5%;bottom:24px;z-index:4;display:flex;gap:8px}
.cinema .scene-tool{display:grid;place-items:center;width:44px;height:44px;padding:0;border:1px solid #ffffff50;border-radius:50%;background:#edf2f5f5;color:#203e3a;box-shadow:0 4px 18px #0002;backdrop-filter:blur(12px);transition:background .2s}
.cinema .scene-tool:hover{background:#fff}.cinema .scene-tool svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
body.cinema-preview>.navigation-dock>.language-switch{position:static;top:auto;right:auto;height:46px;min-height:46px}
.project-navigation[data-theme="cinema"]{--nav-bg:#edf2f5f5;--nav-fg:#203e3a;--nav-border:#ffffff90}
.cinema .loading{position:absolute;inset:0;display:grid;place-items:center;background:#17242e;z-index:8;color:#e6b68c;font-size:14px}
.cinema .error{position:absolute;z-index:9;left:25%;right:25%;top:40%;padding:24px;background:#293c46;line-height:1.6}
#project-dialog{border:1px solid #ffffff40;border-radius:24px;padding:38px;max-width:430px;width:calc(100% - 32px);color:#fff2dc;background:#17242e;box-shadow:0 20px 100px #0005}
#project-dialog::backdrop{background:#0b1824a6;backdrop-filter:blur(6px)}#project-dialog h2{font-size:28px;line-height:1.15;letter-spacing:-.8px;margin:0 0 18px}#project-dialog p{font-size:15px;line-height:1.6;color:#d3ddd6;margin:0 0 24px}
#project-dialog .dialog-close{position:absolute;right:8px;top:6px;display:grid;place-items:center;width:44px;height:44px;border:0;background:none;color:inherit;font-size:27px}
#project-dialog .dialog-contact{display:flex;justify-content:space-between;align-items:center;gap:18px;min-height:52px;padding:13px 20px;border:1px solid #ffe1bb;border-radius:999px;background:#f0c29a;color:#2e302f;font:600 14px/1.3 Arial,Helvetica,sans-serif}
#project-dialog .dialog-contact:hover{background:#ffdab7}#project-dialog .dialog-contact svg{width:18px;height:18px;flex:none;fill:none;stroke:currentColor;stroke-width:1.5}
@media(max-width:900px){.cinema .project-heading{left:5%;right:5%;top:30px}.cinema .project-heading :is(h1,h2){font-size:43px}.cinema .scene-tools{left:5%}}
@media(max-width:700px){
 .cinema .project-heading{top:calc(max(16px,env(safe-area-inset-top)) + 72px);max-width:90%}
 .cinema .project-heading :is(h1,h2){font-size:clamp(32px,9vw,40px);line-height:1.08;letter-spacing:-1px;margin-bottom:12px;text-wrap:balance}
 .cinema .project-heading p{font-size:16px;line-height:1.5;letter-spacing:0;max-width:32ch;text-wrap:pretty}
 .cinema .world{left:-2%;right:-2%;top:210px;bottom:180px}
 .cinema .app-preview{bottom:106px;width:177px}
 .cinema .scene-tools{left:max(16px,env(safe-area-inset-left));bottom:max(16px,env(safe-area-inset-bottom))}
 .cinema .error{left:8%;right:8%;top:45%}
}
@media(max-width:700px) and (max-height:650px){.cinema{min-height:540px}.cinema .world{top:195px;bottom:180px}.cinema .project-heading{top:88px}.cinema .project-heading p{font-size:16px}}
@media(max-width:900px) and (max-height:540px) and (min-aspect-ratio:6/5){
 .portfolio>.cinema{min-height:100svh}.cinema .project-heading{top:28px;right:auto;width:43%;max-width:43%}.cinema .project-heading :is(h1,h2){font-size:32px;letter-spacing:-1px}.cinema .project-heading p{font-size:14px;max-width:28ch}
 .cinema .world{left:32%;right:2%;top:40px;bottom:65px}.cinema .app-preview{left:5%;bottom:100px;transform:none;width:177px}
 .cinema .scene-tools{bottom:16px}body.cinema-preview>.navigation-dock{bottom:16px}
}
@media(prefers-reduced-motion:reduce){.cinema *,.cinema *:before,.cinema *:after{transition:none!important}}

.cinema:before,.cinema .app-preview:before{display:none}
