/* REHBO · Spatial cinema edition */
:root{--paper:#080d15;--ink:#e8eef8;--line:#283341;--blue:#b9cefa;--muted:#9cacc2;--cinema-ease:cubic-bezier(.16,1,.3,1)}
body{background:#080d15;overflow-x:clip}.site-light-field{opacity:.45}.header{position:fixed;inset:0 0 auto;height:78px;background:linear-gradient(#080d15e8,transparent);border:0;backdrop-filter:none;padding:0 36px;pointer-events:none}.header>*{pointer-events:auto}.header>.wordmark{font-size:21px;border:0;background:transparent;letter-spacing:-1px;padding:8px 0}.header>.wordmark span{font-size:11px;letter-spacing:.08em}.header>nav{display:none}.reading-progress{z-index:100}
.ticket-navigation{position:relative;color:#132033;filter:drop-shadow(0 8px 22px #0004)}.ticket-navigation summary{display:flex;align-items:center;gap:16px;background:#e3e8ee;color:#172333;border:0;border-radius:3px;padding:10px 15px;min-height:48px;list-style:none;font-size:12px}.ticket-navigation summary::-webkit-details-marker{display:none}.ticket-navigation summary:before,.ticket-navigation summary:after{content:'';position:absolute;right:44px;width:9px;height:9px;border-radius:50%;background:#080d15;z-index:1}.ticket-navigation summary:before{top:-4px}.ticket-navigation summary:after{top:44px}.ticket-brand{font-weight:600}.ticket-brand small{display:block;font:7px/1.4 Arial;letter-spacing:.13em;margin-top:3px}.ticket-navigation .ticket-current{font-size:11px;color:#586375;padding-left:12px;border-left:1px solid #abb2bd}.ticket-navigation summary b{border-left:1px dashed #86919e;margin:0;padding-left:15px;font-size:16px;color:#25384c}.ticket-navigation nav{display:flex;flex-direction:column;position:absolute;right:0;top:56px;width:300px;padding:10px 20px 20px;background:#e3e8ee;box-shadow:0 20px 60px #0005;gap:0}.ticket-navigation nav a{padding:14px 3px;color:#243449;background:none;border:0;border-bottom:1px solid #aab4c1;border-radius:0;font-size:17px}.ticket-navigation nav a:hover{background:#c5d3e5;color:#080d15}.ticket-navigation nav a small{font:10px Arial;margin-right:15px}.ticket-navigation[open] nav{animation:ticketUnfold .35s var(--cinema-ease)}
.opening-sequence{position:relative;height:230svh}.cinema-cover{position:sticky;top:0;height:100svh;min-height:680px;overflow:hidden;isolation:isolate;background:#080d15!important;--opening:0;--camera-x:0deg;--camera-y:0deg;--screen-scale:1;--seat-scale:1;--seat-drop:0px;--screen-opacity:1}.cinema-folio{position:absolute;inset:84px 36px auto;z-index:8;border:0;padding:0;font:10px Arial;letter-spacing:.18em;display:flex;color:#8e9bae}.cinema-folio>span:nth-child(2){margin:auto}.cinema-folio .quiet-motion-control{margin-left:auto}.cinema-folio .quiet-motion-control button{padding:7px 10px;background:#10203780;border:1px solid #3b4c6480;border-radius:30px;font-size:10px;color:#c2d2e9}.theatre-scene{position:absolute;inset:0;perspective:900px;overflow:hidden;background:radial-gradient(ellipse at 50% 38%,#283c5a66,transparent 62%)}
.theatre-ceiling{position:absolute;inset:-40% -20% auto;height:80%;transform:perspective(500px) rotateX(-42deg);background:repeating-linear-gradient(90deg,transparent 0 12%,#7691b00b 12.1% 12.25%,transparent 12.4% 24%),linear-gradient(0deg,#37527620,transparent 70%)}.theatre-wall{position:absolute;top:6%;bottom:0;width:20%;background:repeating-linear-gradient(90deg,#060a0f 0 17px,#1c2938 18px,#0a111b 20px);opacity:.7}.wall-left{left:-10%;transform:perspective(600px) rotateY(36deg);transform-origin:left}.wall-right{right:-10%;transform:perspective(600px) rotateY(-36deg);transform-origin:right}.theatre-floor{position:absolute;inset:57% -30% -50%;transform:perspective(450px) rotateX(60deg);background:repeating-linear-gradient(0deg,transparent 0 70px,#7894bb12 71px 72px),repeating-linear-gradient(90deg,transparent 0 140px,#809cca0b 141px 142px),radial-gradient(ellipse at 50% 0,#8fabd922,transparent 65%)}
.projection-beam{position:absolute;inset:10% -20% -20%;background:linear-gradient(25deg,transparent 24%,#8faedf12 37%,#bdd6ff12 40%,transparent 44%);clip-path:polygon(0 100%,48% 0,82% 0,12% 100%);mix-blend-mode:screen;pointer-events:none;transform-origin:0 100%;filter:blur(10px)}.beam-right{transform:scaleX(-1);opacity:.5}
.cinema-screen{position:absolute;left:14%;top:19%;width:72%;height:52%;padding:3.3% 4.5%;border:1px solid #7694c07a;border-radius:2px;background:radial-gradient(ellipse at 78% 5%,#29436a80,transparent 70%),linear-gradient(120deg,#182a43,#0e192a 48%,#1b2e49);box-shadow:0 0 0 7px #02050bc4,0 0 0 8px #53698042,0 0 75px #8faef51a,0 50px 100px #000b;z-index:3;display:flex;flex-direction:column;justify-content:space-between;transform:perspective(1600px) rotateY(var(--camera-x)) rotateX(var(--camera-y)) scale(var(--screen-scale));transform-origin:50% 45%;opacity:var(--screen-opacity);will-change:transform;overflow:hidden}.screen-sheen{position:absolute;inset:-40%;background:linear-gradient(105deg,transparent 36%,#9cbdff0d 48%,transparent 60%);pointer-events:none}.screen-top{display:flex;justify-content:space-between;color:#a8bcd8;font:10px/1.5 Arial;letter-spacing:.22em;position:relative}.screen-top span:first-child{font-size:11px}.screen-main{display:flex;justify-content:space-between;align-items:center;gap:30px;position:relative}.screen-kicker{font-size:11px;letter-spacing:.22em;color:#a6b8cf;margin-bottom:18px}.cinema-screen h1{font-size:clamp(62px,7.8vw,128px);line-height:1.12;font-weight:600;letter-spacing:-.045em;color:#e7edf6;text-shadow:0 0 32px #adc9ff25}.cinema-screen h1 span{display:block;font:10px/1.5 Arial;letter-spacing:.35em;margin-top:18px;color:#8fa5c2}.screen-statement{font-size:clamp(25px,3.1vw,52px);font-weight:300;line-height:1.45;letter-spacing:-.04em;color:#a6bbd9;margin-top:50px}.screen-statement span{color:#e2edff}.screen-bottom{display:flex;align-items:flex-end;justify-content:space-between;gap:15px;padding-top:16px;border-top:1px solid #88a3c926;position:relative}.screen-bottom>span{font-size:10px;line-height:1.8;color:#8ea2bc}.screen-enter{display:flex;align-items:center;gap:42px;padding:10px 18px;border:1px solid #9db8dc70;border-radius:2px;font-size:12px;background:#10233c90}.screen-enter b{font-size:22px;font-weight:400}.screen-enter:hover{background:#c4d8f8;color:#11243c;box-shadow:0 0 24px #c4d8f826}
.seating{position:absolute;inset:67% -10% 0;z-index:5;transform:translateY(var(--seat-drop)) scale(var(--seat-scale));transform-origin:50% 100%;will-change:transform;pointer-events:none}.seat-row{position:absolute;left:50%;bottom:calc(76% - var(--row)*21%);display:flex;gap:calc(4px + var(--row)*2px);width:calc(74% + var(--row)*9%);transform:translateX(-50%);height:calc(30px + var(--row)*19px);filter:brightness(calc(.95 - var(--row)*.12))}.cinema-seat{flex:1;position:relative;border-radius:42% 42% 12% 12%;background:linear-gradient(160deg,#2b3e56,#121d2d 35%,#080e16 92%);border:1px solid #819ac442;box-shadow:inset 0 3px 2px #7892bc22,0 -3px 15px #08111e,0 7px 20px #000a}.cinema-seat:after{content:'';position:absolute;inset:13% 12% 20%;border:1px solid #7892bc10;border-radius:40% 40% 12% 12%}.cinema-seat.aisle{margin-right:7%}.scene-vignette{position:absolute;inset:0;z-index:6;pointer-events:none;background:linear-gradient(transparent 60%,#060b14 96%),radial-gradient(ellipse,transparent 45%,#03070c70)}
.cinema-contact{position:absolute;bottom:15%;left:50%;transform:translateX(-50%);display:flex;justify-content:center;flex-wrap:wrap;gap:10px;z-index:9;width:max-content;max-width:90%}.cinema-contact a,.cinema-contact button{font:10px/1.5 Arial,sans-serif;letter-spacing:.025em;color:#d0dcef;background:#0a172ad9;border:1px solid #6782a74a;border-radius:30px;padding:9px 14px;backdrop-filter:blur(10px)}.cinema-contact a:hover,.cinema-contact button:hover{background:#c7dbfa;color:#172337}.cinema-contact .cover-contact-status{position:absolute;top:100%;font-size:11px;color:#dce8f8;text-align:center;width:100%;min-height:0}.cinema-bottom{position:absolute;inset:auto 36px 30px;z-index:10;display:flex;justify-content:space-between;align-items:end;font:10px Arial;letter-spacing:.1em;color:#748aa8}.cinema-scroll{display:flex;flex-direction:column;align-items:center;gap:12px;font-size:12px;letter-spacing:.1em;color:#c8d7ec;background:none}.cinema-scroll i{font:26px Arial;display:block;font-style:normal}.cinema-skip{border:1px solid #6883a350;border-radius:2px;padding:10px 15px;color:#b7c7df;font-size:11px}.opening-meter{position:absolute;left:0;right:0;bottom:0;height:2px;z-index:10;background:#1f2d3f}.opening-meter span{display:block;width:100%;height:100%;background:#c0d5f4;transform:scaleX(var(--opening));transform-origin:left}
.contents{position:relative;padding-top:140px;padding-bottom:140px}.contents:before{content:'CONTENTS';font:clamp(70px,12vw,180px)/1 Arial;letter-spacing:-.06em;position:absolute;left:0;top:40px;color:#93acc308;pointer-events:none}.contents-list>a{border-radius:2px;background:#0c1523;border-color:#35455b;padding:24px}.contents-list>a:hover{background:#192a42;padding-left:34px}.contents-list i{font-size:28px}.about-section,.case-section,.contact-section{background:transparent}.about-section,.experience{padding-top:130px;padding-bottom:130px}.about-copy .lead{font-size:clamp(25px,2.7vw,40px);line-height:1.6}.cinema-reveal{opacity:1}.cinema-enhanced .cinema-reveal{opacity:0;transform:translateY(65px);transition:opacity 1s var(--cinema-ease),transform 1s var(--cinema-ease)}.cinema-enhanced .cinema-reveal.in-frame{opacity:1;transform:none}
.screening-invitation{display:flex;align-items:center;justify-content:space-between;gap:28px;margin:0 0 60px;padding:30px 34px;border:1px solid #566b8959;background:linear-gradient(110deg,#16243c,#0b1524);border-radius:3px}.screening-invitation>div>span{font:9px Arial;letter-spacing:.22em;color:#92aaca}.screening-invitation h3{font-size:25px;font-weight:400;margin:12px 0 7px}.screening-invitation p{font-size:12px;color:#8b9eba}.open-screening{display:flex;align-items:center;gap:22px;background:#d7e1ed;color:#142337;border:1px solid #e1e9f2;border-radius:3px;padding:17px 24px;font-size:14px;white-space:nowrap}.open-screening:hover{background:white;box-shadow:0 0 40px #d7e1ed22}.screening-symbol{font:30px Arial}.open-screening b{font-size:24px;font-weight:400}.works .project-grid{display:flex;flex-direction:column;gap:80px}.works .project{width:100%;padding:0;border:1px solid #65779345;border-radius:5px;overflow:hidden;background:#111b2b;box-shadow:0 30px 80px #0003;transform-origin:50% 100%;translate:none!important;scale:1!important;transition:box-shadow .5s}.works .project:nth-child(1){--scene-color:#a3b272}.works .project:nth-child(2){--scene-color:#819dbe}.works .project:nth-child(3){--scene-color:#a4bc3c}.works .project:nth-child(4){--scene-color:#7c9673}.works .project:nth-child(5){--scene-color:#a1516b}.works .project-image{background:radial-gradient(ellipse at 50% 90%,color-mix(in srgb,var(--scene-color) 18%,#111b2b),#0a1422 90%);height:clamp(300px,62vh,750px);padding:34px 7%;border-radius:0}.works .project .project-image img,.works .project.large .project-image img{width:100%;height:100%;object-fit:contain;object-position:center;transform:translateY(var(--image-shift,0px)) scale(var(--image-zoom,1))!important;filter:drop-shadow(0 24px 25px #0005);transition:transform .25s ease-out}.works .project:hover .project-image img{transform:translateY(var(--image-shift,0px)) scale(1.025)!important}.works .project-meta{margin:0;padding:26px 34px 30px;align-items:center;position:relative;background:#0c1522;border-top:1px solid #52678333}.works .project-meta h3{font-size:30px;line-height:1.4}.works .project-meta h3 span{font-size:15px;font-weight:400;color:#9aaac0}.works .category{font-size:10px;letter-spacing:.14em}.works .page-label{border:1px dashed #62748b80;padding:12px;font-size:11px}.works .open-icon{width:48px;height:48px;border:1px solid #a0b4cf80;border-radius:50%;right:26px;bottom:26px;background:#0e1c30b3;color:#dce9fa;font-size:26px}.works .project:hover .open-icon{background:#dce9fa;color:#13223a;transform:rotate(45deg)}.archive-card{border-radius:3px}.cinema-credits{font:11px Arial;letter-spacing:.3em;color:#7d96b9;margin-bottom:50px}.contact-section{padding-top:130px;border-top:1px solid #34445b}.contact-section h2{font-size:clamp(46px,6.7vw,100px)}
#cinema-gallery{position:fixed;inset:0;max-width:none;max-height:none;width:100%;height:100dvh;margin:0;padding:0;border:0;background:#080d15;color:#e9f0fa;overflow:hidden}#cinema-gallery::backdrop{background:#03060b}#cinema-gallery[open]{display:flex;flex-direction:column;animation:screeningOpen .65s var(--cinema-ease)}.screening-header{display:flex;align-items:center;justify-content:space-between;padding:26px 36px;z-index:3}.screening-header p{font:9px Arial;letter-spacing:.2em;color:#8da5c4;margin-bottom:8px}.screening-header h2{font-size:22px;font-weight:400}.screening-header button,.screening-actions button{background:#142236;border:1px solid #536a8b;border-radius:30px;color:#d9e8ff;padding:12px 20px;font-size:13px}.screening-header button:hover,.screening-actions button:hover{background:#d9e8ff;color:#15243a}#ribbon-stage{position:relative;flex:1;min-height:220px;overflow:hidden;outline-offset:-6px;touch-action:none;background:radial-gradient(ellipse at 50% 85%,#21395850,transparent 70%);cursor:grab}#ribbon-stage.dragging{cursor:grabbing}#ribbon-stage canvas{position:absolute;inset:0;width:100%;height:100%}.ribbon-hint{position:absolute;bottom:16px;left:50%;transform:translateX(-50%);font-size:11px;letter-spacing:.12em;color:#93aaca;pointer-events:none;white-space:nowrap}.ribbon-fallback{display:flex;height:100%;align-items:center;gap:20px;overflow-x:auto;padding:24px;scroll-snap-type:x mandatory}.ribbon-fallback button{min-width:min(75vw,650px);width:min(75vw,650px);padding:0;scroll-snap-align:center;background:#142033;border:1px solid #516585;border-radius:5px;overflow:hidden}.ribbon-fallback img{height:min(40vh,450px);object-fit:contain}.ribbon-fallback span{display:block;padding:16px;font-size:16px}.ribbon-webgl .ribbon-fallback{display:none}.screening-bottom{padding:24px 36px 32px;display:flex;align-items:center;justify-content:space-between;gap:25px;border-top:1px solid #283a52;z-index:3}.screening-description>span{font:11px Arial;letter-spacing:.13em;color:#91a9c8}.screening-description h3{font-size:26px;font-weight:400;margin:9px 0 6px}.screening-description p{font-size:11px;color:#9aacc4}.screening-actions{display:flex;gap:10px;align-items:center}.screening-actions #screening-open{background:#d7e4f8;color:#13233c;border-color:#d7e4f8;border-radius:3px;padding:16px 24px}.screening-actions #screening-open:hover{background:#fff}.screening-actions button:disabled{opacity:.3;cursor:default}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
html[data-editorial-motion=on] .screen-sheen{animation:projectorSweep 10s ease-in-out infinite}html[data-editorial-motion=on] .beam-left{animation:projectorBeam 8s ease-in-out infinite alternate}html[data-editorial-motion=on] .cinema-scroll i{animation:cinemaCue 2s ease-in-out infinite}html[data-editorial-motion=on] .screen-main{animation:screenTitle 1.4s var(--cinema-ease) both}html[data-editorial-motion=off] .cinema-enhanced .cinema-reveal{opacity:1;transform:none;transition:none}html[data-editorial-motion=off] .cinema-screen,html[data-editorial-motion=off] .seating{transform:none!important}html[data-editorial-motion=off] .opening-sequence{height:100svh}
@keyframes projectorSweep{0%,100%{transform:translateX(-15%) rotate(-4deg);opacity:.4}50%{transform:translateX(15%) rotate(4deg);opacity:1}}@keyframes projectorBeam{from{opacity:.3;rotate:-3deg}to{opacity:.85;rotate:3deg}}@keyframes cinemaCue{0%,100%{transform:translateY(-3px);opacity:.4}50%{transform:translateY(6px);opacity:1}}@keyframes screenTitle{from{opacity:0;filter:blur(8px);transform:translateY(20px)}to{opacity:1;filter:blur(0);transform:none}}@keyframes screeningOpen{from{opacity:0;clip-path:inset(45% 0)}to{opacity:1;clip-path:inset(0)}}@keyframes ticketUnfold{from{opacity:0;transform:translateY(-10px);clip-path:inset(0 0 85% 0)}to{opacity:1;transform:none;clip-path:inset(0)}}
@media(min-width:1800px){.cinema-screen{left:18%;width:64%;padding:3% 4%}.cinema-screen h1{font-size:clamp(128px,6.6vw,190px)}}
@media(max-width:1000px){.cinema-screen{left:8%;width:84%;padding:4%}.cinema-screen h1{font-size:clamp(70px,9vw,100px)}.screen-statement{font-size:32px}.screen-main{gap:20px}.screening-invitation{padding:26px}.works .project-image{height:52vh}.screening-description h3{font-size:22px}}
@media(max-width:720px){.header{height:65px;padding:0 18px}.header>.wordmark{font-size:18px}.header>.wordmark span{display:none}.ticket-navigation summary{padding:8px 10px;gap:10px;min-height:43px}.ticket-current{display:none}.ticket-brand{font-size:11px}.ticket-navigation summary:after{top:39px}.ticket-navigation summary:before,.ticket-navigation summary:after{right:35px}.ticket-navigation summary b{padding-left:10px}.ticket-navigation nav{width:260px;top:50px}.cinema-folio{inset:78px 20px auto;font-size:8px}.cinema-folio>span:nth-child(2){display:none}.cinema-cover{min-height:620px}.opening-sequence{height:180svh}.cinema-screen{left:7%;width:86%;top:20%;height:49%;padding:22px}.screen-top{font-size:7px;letter-spacing:.08em}.screen-top span:first-child{font-size:9px}.screen-kicker{font-size:9px;margin-bottom:16px}.cinema-screen h1{font-size:clamp(54px,16vw,88px)}.cinema-screen h1 span{font-size:8px;letter-spacing:.23em;margin-top:10px}.screen-main{align-items:flex-start;flex-direction:column;gap:12px}.screen-statement{font-size:19px;line-height:1.3;align-self:flex-end;margin-top:0}.screen-statement br{display:none}.screen-bottom>span{font-size:8px}.screen-enter{font-size:10px;gap:18px;padding:6px 10px}.screen-enter b{font-size:17px}.cinema-contact{bottom:15%;gap:6px;width:92%;max-width:92%}.cinema-contact a,.cinema-contact button{padding:7px 9px;font-size:9px}.cinema-bottom{inset:auto 20px 25px;align-items:end}.cinema-bottom>span{display:none}.cinema-scroll{align-items:flex-start;font-size:10px;gap:8px}.cinema-scroll i{padding-left:55px}.cinema-skip{font-size:10px;padding:8px 10px}.seating{inset:66% -55% 0}.theatre-wall{width:23%}.theatre-scene .wall-left{left:-15%}.theatre-scene .wall-right{right:-15%}.contents,.about-section,.experience{padding-top:80px;padding-bottom:80px}.contents-list>a{padding:20px 15px}.contents-list>a:hover{padding-left:20px}.contents:before{top:32px;font-size:16vw}.screening-invitation{flex-direction:column;align-items:stretch;padding:23px;gap:22px;margin-bottom:35px}.screening-invitation h3{font-size:23px}.open-screening{justify-content:space-between;padding:14px 18px;font-size:13px}.screening-symbol{font-size:24px}.works .project-grid{gap:38px}.works .project-image{height:290px;padding:22px 16px}.works .project-meta{padding:19px 18px;gap:12px}.works .project-meta h3{font-size:24px}.works .project-meta h3 span{display:block;margin:7px 0 0;font-size:12px}.works .category{font-size:8px;letter-spacing:.04em}.works .page-label{padding:8px;font-size:9px}.works .open-icon{height:33px;width:33px;font-size:20px;right:14px;bottom:14px}.screening-header{padding:20px}.screening-header h2{font-size:19px}.screening-header button{padding:10px 14px}.screening-bottom{padding:20px;flex-direction:column;align-items:stretch;gap:17px}.screening-description h3{font-size:22px}.screening-description p{font-size:10px}.screening-actions{justify-content:space-between}.screening-actions #screening-open{padding:12px 22px;font-size:12px}.screening-actions button{padding:10px 16px}#ribbon-stage{min-height:180px}.contact-section{padding-top:80px}.cinema-credits{font-size:9px;margin-bottom:30px}}
@media(prefers-reduced-motion:reduce){.opening-sequence{height:100svh}.cinema-enhanced .cinema-reveal{opacity:1;transform:none;transition:none}.cinema-screen,.seating{transform:none!important}.works .project .project-image img{transform:none!important}#cinema-gallery[open]{animation:none!important}}

/* Keep the opening navigation unobstructed. */
body.cover-in-view .floating-index{display:none}
