:root{--media-grade:saturate(.86) contrast(1.05);--grade-shadow:#255d5940}
main{overflow:clip}
html.lenis{scroll-behavior:auto;scroll-padding-top:0}
.hero-image{transform:translate3d(var(--hero-x,0px),calc(var(--hero-y,0px) + var(--scene-scroll,0px)),0) scale(1.015)}
[tabindex="-1"]:focus{outline:none}
.hero-frame-count{padding-left:115px}
html[data-grade=mono]{--orange:#d8cfb6;--orange-soft:#f0e5ce;--paper:#eae5d8;--media-grade:grayscale(1) sepia(.18) contrast(1.08);--grade-shadow:#b7a88820}
html[data-grade=neon]{--orange:#ed73ef;--orange-soft:#89f9ed;--ink:#100d17;--paper:#e7e9f2;--media-grade:hue-rotate(282deg) saturate(1.3) contrast(1.07);--grade-shadow:#a94fe540}
html[data-grade] .hero-image,html[data-grade] .project-image img,html[data-grade] .project-hero-image,html[data-grade] #reel-image,html[data-grade] .intro-preview,html[data-grade] .route-zoom img{filter:var(--media-grade)}
html[data-grade=mono] .lens-scene{filter:grayscale(1) drop-shadow(15px 37px 23px #0008)}
html[data-grade=neon] .lens-scene{filter:hue-rotate(285deg) drop-shadow(15px 37px 23px #0008)}
html[data-grade=neon] .contact h2 span{color:#471c61}html[data-grade=mono] .contact h2 span{color:#665b43}
html[data-grade=neon] .services{background:#e4e5ef}html[data-grade=neon] .service[open] h3{color:#6f2b95}
.contact-phone{display:flex;align-items:center;gap:20px}.contact-phone bdi{font-family:var(--latin);font-size:14px}
.contact-phone:hover{text-decoration:underline;text-underline-offset:5px}
html.cinema-boot::after{content:'EDITOR / PREPARING THE SCENE';position:fixed;inset:0;display:grid;place-items:center;background:#0c0d0b;color:#d5c3a5;z-index:10000;font:10px var(--latin);letter-spacing:4px;direction:ltr}
body.intro-active{overflow:hidden}
.focus-cursor{position:fixed;left:0;top:0;width:0;height:0;z-index:10050;pointer-events:none;mix-blend-mode:difference;color:#fff;direction:ltr;opacity:0}
.focus-cursor.has-position{opacity:1}.focus-cursor.is-hidden{opacity:0}
.cursor-dot{position:fixed;left:-2px;top:-2px;width:4px;height:4px;border-radius:50%;background:white;pointer-events:none;will-change:transform}
.cursor-ring{position:fixed;left:0;top:0;pointer-events:none;will-change:transform}
.cursor-ring-shape{position:absolute;left:-16px;top:-16px;width:32px;height:32px;border:1px solid #ffffffcb;border-radius:50%;transition:width .25s,height .25s,left .25s,top .25s,border-radius .2s,background .2s,scale .2s cubic-bezier(.2,1.7,.3,1)}
.cursor-ring-shape>span{display:none;position:absolute;inset:0;place-items:center;font:18px var(--latin)}
.is-link .cursor-ring-shape{width:15px;height:15px;top:-7.5px;left:-7.5px;background:#fff;border-color:white}
.is-link .cursor-dot{width:12px;height:12px;left:-6px;top:-6px}
.is-media .cursor-ring-shape{width:58px;height:58px;left:-29px;top:-29px;border:0;border-radius:0;background:linear-gradient(white,white) top left/12px 1px no-repeat,linear-gradient(white,white) top left/1px 12px no-repeat,linear-gradient(white,white) top right/12px 1px no-repeat,linear-gradient(white,white) top right/1px 12px no-repeat,linear-gradient(white,white) bottom left/12px 1px no-repeat,linear-gradient(white,white) bottom left/1px 12px no-repeat,linear-gradient(white,white) bottom right/12px 1px no-repeat,linear-gradient(white,white) bottom right/1px 12px no-repeat}
.is-media .cursor-ring-shape>span{display:grid}.is-media .cursor-dot{opacity:0}
.cursor-label{position:absolute;top:39px;left:-45px;width:90px;text-align:center;font:9px var(--latin);letter-spacing:2px;white-space:nowrap}
.is-pressed .cursor-ring-shape{scale:.8}.is-pressed .cursor-dot{scale:.8}
@media(hover:hover) and (pointer:fine){html.cursor-ready,html.cursor-ready a,html.cursor-ready button,html.cursor-ready summary{cursor:none}html.cursor-ready input,html.cursor-ready textarea{cursor:text}html.cursor-ready select{cursor:auto}}

.color-studio{position:fixed;left:22px;bottom:22px;z-index:70;direction:ltr;color:var(--paper)}
.grade-toggle{padding:11px 15px;background:#171914df;border:1px solid #ffffff30;backdrop-filter:blur(15px);box-shadow:0 5px 20px #0002;min-height:43px}
.grade-toggle .mono{font-size:8px;letter-spacing:1.6px}.grade-icon{font:20px/1 var(--latin);color:var(--orange)}
.grade-current{border-left:1px solid #ffffff30;padding-left:12px;font:9px var(--latin);color:#c7c2b3}
.grade-toggle:hover{border-color:var(--orange)}
.grade-panel{position:absolute;bottom:58px;left:0;width:310px;padding:23px;background:#171914f5;border:1px solid #ffffff30;backdrop-filter:blur(25px);box-shadow:0 15px 60px #0008}
.grade-panel>.flex>.mono{font-size:8px;color:var(--orange);letter-spacing:1.2px}.grade-panel>p{font-size:12px;direction:rtl;margin:12px 0 23px;color:#afa99c}
.grade-options{display:grid;gap:8px}.grade-options button{display:flex;align-items:center;gap:12px;border:1px solid #ffffff20;padding:12px;text-align:left;font-family:var(--latin);font-size:12px;min-height:65px}
.grade-options button[aria-pressed=true]{border-color:var(--orange);background:#ffffff06}
.grade-options small{display:block;font-size:7px;letter-spacing:1.2px;color:#918c7f;margin-top:4px}.grade-options b{margin-left:auto;font:20px var(--latin);font-weight:400;color:var(--orange)}
.swatch{width:28px;height:28px;flex-shrink:0;border-radius:50%;border:1px solid #ffffff40}.swatch-cinema{background:linear-gradient(135deg,#256e71 40%,#ed7a36 65%)}.swatch-mono{background:linear-gradient(135deg,#262622 40%,#e0d6bb 65%)}.swatch-neon{background:linear-gradient(135deg,#65e3df 40%,#d03a9d 65%)}
.grade-footer{border-top:1px solid #ffffff20;margin-top:20px;padding-top:15px;gap:10px;direction:rtl}.grade-footer>button{font-size:10px;color:#a69c88;min-height:35px}.grade-footer>button:hover{color:var(--orange)}

dialog.aperture-intro{position:fixed;inset:0;width:100%;height:100%;max-width:none;max-height:none;padding:0;margin:0;border:0;background:#0b0d0b;overflow:hidden;z-index:1000;animation:none;color:#ece6d9;isolation:isolate}
.aperture-intro::backdrop{background:#0b0d0b}
.intro-preview,.intro-focus-blur,.aperture-canvas,.intro-grid{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.intro-preview{background:radial-gradient(ellipse at 35% 50%,#49635a,#141b17 40%,#060907 75%);transform:scale(1.06);opacity:.82}
.intro-focus-blur{backdrop-filter:blur(20px);background:#0a0c0920}
.aperture-canvas{z-index:1}
.intro-grid{z-index:2;opacity:.45;background-image:linear-gradient(90deg,transparent calc(33.333% - .5px),#d1bda312 33.333%,transparent calc(33.333% + .5px),transparent calc(66.666% - .5px),#d1bda312 66.666%,transparent calc(66.666% + .5px)),linear-gradient(transparent calc(33.333% - .5px),#d1bda312 33.333%,transparent calc(33.333% + .5px),transparent calc(66.666% - .5px),#d1bda312 66.666%,transparent calc(66.666% + .5px));border:1px solid #d1bda315;inset:24px;width:calc(100% - 48px);height:calc(100% - 48px)}
.intro-metadata{position:absolute;z-index:4;top:47px;left:48px;right:48px;display:flex;justify-content:space-between;gap:20px;font-size:9px;letter-spacing:1.5px;color:#b7ae9b}.intro-metadata>span:first-child{display:flex;align-items:center;gap:10px}
.intro-copy{position:absolute;z-index:3;inset:15% 20px 12%;display:flex;align-items:center;justify-content:center;flex-direction:column}
.intro-eyebrow{font-size:9px;letter-spacing:3px;color:#a99d86;margin-bottom:26px}
.intro-copy h2{font-size:clamp(59px,7.5vw,108px);line-height:1.03;font-weight:800;letter-spacing:-3px;text-shadow:0 6px 40px #0009}
.intro-copy h2>span{color:var(--orange)}
.focus-hold{width:90px;height:90px;position:relative;display:grid;place-items:center;margin-top:35px;touch-action:none;border-radius:50%;user-select:none;-webkit-user-select:none}
.focus-hold svg{position:absolute;inset:0;width:100%;height:100%;transform:rotate(-90deg)}
.focus-hold circle{fill:none;stroke-width:1}.hold-track{stroke:#cfb89950}.hold-progress{stroke:var(--orange);stroke-width:2!important;stroke-dasharray:289;stroke-dashoffset:289}
.focus-hold>span{font:32px/1 var(--latin);color:#dcccb1;transition:transform .4s}.is-focusing .focus-hold>span{transform:rotate(90deg)}
.intro-prompt{font-size:9px;letter-spacing:3px;color:#ded1b9;margin-top:17px}.intro-help{font-size:12px;color:#a99c84;margin-top:9px}.intro-help>span{opacity:.55;margin-right:10px}
.intro-bottom{position:absolute;z-index:4;bottom:44px;right:48px;left:48px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.intro-skip{display:flex;align-items:center;gap:13px;font-size:11px;color:#b7ac96;min-height:44px}.intro-skip>span{font:8px var(--latin);letter-spacing:1px}.intro-skip:hover{color:var(--orange)}
.intro-meter{font-size:8px;letter-spacing:1.5px;color:#716b5a}.intro-meter b{font-weight:400;color:#c7b391;margin:0 8px}.intro-sound{font-size:10px;color:#a39880;min-height:44px}
.film-wipe{position:fixed;inset:-1%;width:102%;height:102%;z-index:200;background:#171a15;visibility:hidden;display:flex;flex-direction:column;align-items:center;justify-content:space-between;pointer-events:none;direction:ltr;transform:translate3d(105%,0,0);border-left:1px solid var(--orange);border-right:1px solid var(--orange);will-change:transform}
.film-wipe>.mono{font-size:11px;letter-spacing:4px;color:var(--orange)}
.film-perfs{width:100%;height:34px;margin:23px 0;background:repeating-linear-gradient(90deg,transparent 0 20px,#d6c6a44d 20px 39px,transparent 39px 60px)}
.route-zoom{z-index:190;overflow:hidden;pointer-events:none;will-change:transform;isolation:isolate;background:var(--ink)}.route-zoom>img{width:100%;height:100%;object-fit:cover;max-width:none}
.route-zoom::after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#0005,transparent 60%)}

.project-route{background:var(--ink)}
.project-hero{position:relative;min-height:640px;height:calc(100svh - 99px);max-height:1000px;overflow:hidden;isolation:isolate}
.project-hero-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.project-hero::after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#0c0d0bee 0%,#0c0d0b15 70%),linear-gradient(270deg,#090a0933,transparent);z-index:-1}
.project-hero-top{position:absolute;top:34px;left:var(--gutter);right:var(--gutter);display:flex;justify-content:space-between;align-items:center;gap:20px}.project-hero-top>a{font-size:12px;display:flex;gap:20px;align-items:center}.project-hero-top .mono{font-size:9px;color:#e8d8ba}
.project-hero-copy{position:absolute;left:var(--gutter);right:var(--gutter);bottom:75px}
.project-hero-copy>.mono{font-size:10px;letter-spacing:2.5px;color:var(--orange)}
.project-route-title{font-size:clamp(55px,9vw,135px);letter-spacing:-3px;margin:25px 0 22px;line-height:1.03}
.project-route-subtitle{font:500 clamp(18px,2vw,30px) var(--latin);letter-spacing:2px;color:#e1d8c6}
.project-route-body{display:grid;grid-template-columns:1.3fr .7fr;gap:100px;padding:90px var(--gutter);align-items:start}
.project-route-body h2{font-size:48px;line-height:1.2;margin-bottom:25px}.project-route-body p{color:#b1ab9d;font-size:16px;line-height:2;max-width:630px}
.project-facts{display:grid;gap:23px}.project-facts>div{padding-bottom:18px;border-bottom:1px solid var(--line)}.project-facts dt{font:9px var(--latin);letter-spacing:2px;color:var(--orange);margin-bottom:8px}.project-facts dd{font-size:14px;color:#bbb5a6}
.project-route-contact{padding:0 var(--gutter) 80px;display:flex;align-items:center;gap:35px}.project-route-contact>p{font-size:15px;color:var(--muted)}
.project-next{display:block;border-top:1px solid var(--line);padding:50px var(--gutter);background:#191a16;position:relative;overflow:hidden}.project-next>.mono{font-size:9px;color:var(--orange)}.project-next h2{font-size:clamp(40px,5vw,75px);margin-top:18px;padding-left:65px}.project-next>span:last-child{position:absolute;left:var(--gutter);top:50%;font:70px var(--latin);transform:translateY(-30%);color:var(--orange)}
.project-next:hover{background:#22251d}
.route-status:not(.sr-only){position:fixed;right:24px;bottom:24px;z-index:220;background:#191a16;border:1px solid var(--orange);padding:14px 20px;color:var(--paper);font-size:13px;max-width:calc(100vw - 48px);box-shadow:0 10px 40px #0005}
.film-wipe,.route-zoom{pointer-events:auto}
@media(max-width:650px){.color-studio{left:12px;bottom:12px}.grade-toggle{padding:9px 12px;min-height:39px}.grade-toggle .mono{font-size:7px}.grade-current{font-size:8px;padding-left:8px}.grade-panel{width:290px;bottom:51px;padding:20px}.intro-grid{inset:12px;width:calc(100% - 24px);height:calc(100% - 24px)}.intro-metadata{top:30px;left:26px;right:26px;font-size:7px;letter-spacing:.5px;flex-direction:column;gap:9px}.intro-metadata>span:last-child{text-align:right;font-size:6px}.intro-copy{inset:17% 20px 16%}.intro-eyebrow{font-size:7px;letter-spacing:2px;margin-bottom:24px}.intro-copy h2{font-size:75px;letter-spacing:-2px}.focus-hold{width:78px;height:78px;margin-top:30px}.intro-prompt{font-size:7px;letter-spacing:2px}.intro-help{font-size:10px}.intro-help>span{display:block;margin:5px 0 0}.intro-bottom{left:25px;right:25px;bottom:30px;flex-wrap:wrap;gap:5px}.intro-skip{font-size:10px;gap:9px}.intro-skip>span{font-size:6px}.intro-meter{display:none}.intro-sound{font-size:9px}.film-wipe>.mono{font-size:8px;letter-spacing:1.5px}.film-perfs{height:23px;margin:20px 0}.project-hero{height:720px;min-height:calc(100svh - 80px)}.project-hero-top{top:25px;align-items:flex-start;gap:12px}.project-hero-top>a{font-size:10px;gap:12px}.project-hero-top .mono{font-size:7px}.project-hero-copy{bottom:60px}.project-route-title{font-size:64px;letter-spacing:-2px;line-height:1.15}.project-route-subtitle{font-size:16px;letter-spacing:1px}.project-route-body{grid-template-columns:1fr;gap:35px;padding:50px var(--gutter)}.project-route-body h2{font-size:36px}.project-route-body p{font-size:14px}.project-facts{grid-template-columns:1fr 1fr;gap:20px}.project-facts dd{font-size:12px}.project-route-contact{padding:0 var(--gutter) 50px;gap:20px;flex-wrap:wrap}.project-route-contact>p{font-size:12px}.project-next{padding:35px var(--gutter)}.project-next h2{font-size:40px}.project-next>span:last-child{font-size:50px}.contact-phone{gap:10px;flex-direction:column;align-items:flex-start}.contact-phone bdi{font-size:13px}.footer-bottom{padding-bottom:45px}}
@media(prefers-reduced-motion:reduce){.focus-cursor{display:none!important}.intro-focus-blur{backdrop-filter:none}.film-wipe,.route-zoom{display:none!important}.cursor-dot,.cursor-ring,.film-wipe{will-change:auto}.hero-image{background-position-y:48%!important}}
@media(max-height:700px){.intro-copy{inset:15% 20px 17%}.intro-copy h2{font-size:clamp(44px,9vw,65px);letter-spacing:-1.5px}.intro-eyebrow{font-size:6px;margin-bottom:16px;letter-spacing:1.5px}.focus-hold{width:65px;height:65px;min-height:65px;flex-shrink:0;margin-top:18px}.intro-prompt{margin-top:12px;font-size:7px}.intro-help{font-size:9px;margin-top:6px}.intro-bottom{bottom:20px}.intro-metadata{top:22px}}
