/* LORA: an opening in film, followed by rooms that unfold on scroll. */
.floating-header{height:116px;display:grid;grid-template-columns:1fr auto 1fr;background:none!important;border:0!important;backdrop-filter:none!important;pointer-events:none;padding:0 40px}.floating-header>*{pointer-events:auto}.header-context{font-size:8px;letter-spacing:.13em;width:max-content;line-height:1.8;text-shadow:0 1px 12px #0005}.header-context>span{display:block;font-family:'Mona Sans',sans-serif;font-size:10px;text-transform:none;letter-spacing:0;color:#c9c9c9}.nav-capsule{display:flex;align-items:center;gap:28px;padding:0 24px;background:rgba(0,0,0,.70);backdrop-filter:blur(18px);border:1px solid #ffffff26;border-radius:48px;height:65px;box-shadow:0 10px 40px #0002}.nav-capsule .header-logo{padding:0;min-height:0;display:flex;align-items:center}.nav-capsule .header-logo img{width:80px;height:auto}.nav-capsule .menu-toggle{border-left:1px solid #ffffff30;padding:12px 0 12px 24px;gap:19px;font-size:10px}.nav-capsule .menu-toggle i{width:18px;height:8px}.floating-header>.header-cta{justify-self:end;font-size:11px;border:1px solid #ffffff42;border-radius:40px;padding:13px 20px;background:#0005;backdrop-filter:blur(12px)}.floating-header.scrolled{height:100px}.floating-header.scrolled .header-context{opacity:0;pointer-events:none}.header-context{transition:opacity .4s}.floating-header .header-cta{transition:background .3s}.floating-header .header-cta:hover{background:#000}.menu-panel[open]{animation:menu-unfold .8s cubic-bezier(.76,0,.24,1)}@keyframes menu-unfold{from{clip-path:inset(20px 40% calc(100% - 85px) 40% round 45px)}to{clip-path:inset(0 0 0 0 round 0)}}.menu-body{grid-template-columns:1fr 1.5fr;gap:13%;padding:40px 0}.menu-photo{position:relative;overflow:hidden;height:380px}.menu-photo>img{width:100%;height:100%;object-fit:cover;transition:transform 1.5s var(--ease)}.menu-panel[open] .menu-photo>img{animation:menu-photo-reveal 1.5s var(--ease)}@keyframes menu-photo-reveal{from{transform:scale(1.17);opacity:0}to{transform:scale(1);opacity:1}}.menu-photo .micro{position:absolute;bottom:20px;left:20px;right:20px;font-size:8px;letter-spacing:.08em}.menu-photo:after{content:'';position:absolute;inset:60% 0 0;background:linear-gradient(transparent,#000a);z-index:-1}.menu-info .text-link{margin-top:18px}.menu-body nav a{font-size:clamp(28px,4.1vw,62px);padding:20px 0;transition:padding .55s var(--ease),opacity .4s}.menu-body nav:has(a:hover) a:not(:hover){opacity:.35}.menu-panel[open] .menu-body nav a{animation:menu-item-in .9s var(--ease) both;animation-delay:calc(.1s + var(--item-index,0)*.055s)}.menu-body nav a:nth-child(2){--item-index:1}.menu-body nav a:nth-child(3){--item-index:2}.menu-body nav a:nth-child(4){--item-index:3}.menu-body nav a:nth-child(5){--item-index:4}@keyframes menu-item-in{from{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}
/* Reveal the exact artwork, then open the two black curtains. */
.cinema-splash{background:transparent;animation:none;pointer-events:none;overflow:hidden;clip-path:none}.splash-curtain{position:absolute;top:0;bottom:0;width:50.1%;background:#000;will-change:transform}.curtain-left{left:0}.curtain-right{right:0}.cinema-splash .splash-logo-wrap{width:clamp(220px,28vw,400px);padding:100px 0;z-index:1}.cinema-splash .splash-logo-wrap img{animation:mark-reveal 1.2s var(--ease) .15s both}.cinema-splash .splash-rule{bottom:40px}.cinema-splash .splash-bottom{z-index:1;transition:opacity .4s}.cinema-splash.departing .curtain-left{transform:translateX(-100%);transition:transform 1.15s cubic-bezier(.76,0,.24,1)}.cinema-splash.departing .curtain-right{transform:translateX(100%);transition:transform 1.15s cubic-bezier(.76,0,.24,1)}.cinema-splash.departing .splash-logo-wrap,.cinema-splash.departing .splash-bottom{opacity:0;transition:opacity .35s}.cinema-splash.finished{display:none}
/* Hero is a short, sticky cinema sequence. */
.page-home .cinema{height:125svh;min-height:850px;max-height:none;overflow:visible;isolation:isolate;background:black;--cinema-progress:0}.cinema-stage{position:sticky;top:0;height:100svh;min-height:680px;max-height:1200px;overflow:hidden;isolation:isolate}.cinema-frame{position:absolute;inset:0;z-index:-2;overflow:hidden;clip-path:inset(calc(var(--cinema-progress)*30px) calc(var(--cinema-progress)*40px) round calc(var(--cinema-progress)*10px));transform:translateY(calc(var(--cinema-progress)*-10px))}.background-film{width:100%;height:100%;object-fit:cover;display:block;transform:scale(calc(1.05 - var(--cinema-progress)*.05));object-position:50% 50%}.cinema-shade{position:absolute;inset:0;background:linear-gradient(180deg,#0008 0%,#0002 30%,#0001 45%,#0009 75%,#000c 100%),radial-gradient(ellipse at 50% 40%,#0003,transparent 60%)}.cinema-coordinate{position:absolute;top:160px;left:40px;display:flex;gap:14px;align-items:center;font-size:9px;letter-spacing:.1em;text-transform:uppercase;opacity:calc(1 - var(--cinema-progress))}.cinema-coordinate .live-dot{margin:0;width:4px;height:4px}.hero-brand{position:absolute;width:clamp(290px,31vw,500px);top:38%;left:50%;transform:translate(-50%,calc(var(--cinema-progress)*-65px));opacity:calc(1 - var(--cinema-progress));text-align:center}.hero-brand>img{width:100%;height:auto}.brand-caption{display:block;text-transform:uppercase;letter-spacing:.23em;font-size:7px;margin-top:24px}.cinema-story{position:absolute;left:var(--gutter);right:var(--gutter);bottom:145px;display:flex;align-items:flex-end;justify-content:space-between;gap:50px;transform:translateY(calc(var(--cinema-progress)*-35px));opacity:calc(1 - var(--cinema-progress)*1.4)}.cinema h1{font-size:clamp(30px,3.3vw,57px);line-height:1.08;letter-spacing:-.05em;max-width:75%;font-weight:600;flex-shrink:1}.title-mask{display:block;overflow:hidden;padding:3px 0;margin:-3px 0}.title-mask>span{display:block}.cinema-aside{width:245px;max-width:24%;flex-shrink:0}.cinema-aside>p{font-size:11px;line-height:1.7;margin-bottom:23px;color:var(--fog)}.cinema-film-link{display:flex;gap:17px;align-items:center;padding:0;text-align:left;font-size:12px}.cinema-film-link small{display:block;font-size:9px;color:var(--ash);margin-top:5px}.film-orbit{display:grid;place-items:center;width:48px;height:48px;border:1px solid #ffffff65;border-radius:50%;transition:transform .5s var(--ease),background .4s,color .4s}.film-orbit svg{width:16px;height:16px}.cinema-film-link:hover .film-orbit{transform:scale(1.12);background:#fff;color:#000}.cinema-bottom{position:absolute;bottom:34px;left:var(--gutter);right:var(--gutter);display:flex;align-items:center;justify-content:space-between;gap:35px;font-size:10px;opacity:calc(1 - var(--cinema-progress)*2)}.cinema-bottom .scroll-cue{font-size:9px;text-transform:uppercase;letter-spacing:.09em;gap:15px}.scroll-line{width:1px;height:40px;background:#ffffff35;position:relative;overflow:hidden}.scroll-line:after{content:'';position:absolute;top:-50%;height:50%;width:100%;background:white;animation:scroll-trace 2.4s ease-in-out infinite}@keyframes scroll-trace{to{transform:translateY(320%)}}.cinema-location{font-size:8px;letter-spacing:.12em}.cinema-location>span{display:block;text-align:center;margin-top:5px;color:var(--ash);font-size:7px;letter-spacing:.13em}.background-toggle{display:flex;align-items:center;gap:12px;font-size:9px;text-transform:uppercase;letter-spacing:.09em;padding:13px 0}.playback-icon{font-size:13px;line-height:1}.intro-waiting .hero-brand>img,.intro-waiting .brand-caption,.intro-waiting .title-mask>span,.intro-waiting .cinema-aside,.intro-waiting .cinema-coordinate,.intro-waiting .cinema-bottom{opacity:0}.intro-enter .hero-brand>img{animation:brand-arrive 1.5s var(--ease) both}.intro-enter .brand-caption{animation:soft-arrive 1s .4s var(--ease) both}.intro-enter .title-mask>span{animation:line-arrive 1.1s .4s var(--ease) both}.intro-enter .title-mask:nth-child(2)>span{animation-delay:.55s}.intro-enter .cinema-aside{animation:soft-arrive 1.4s .7s var(--ease) both}.intro-enter .cinema-coordinate,.intro-enter .cinema-bottom{animation:soft-arrive 1.4s .85s var(--ease) both}@keyframes brand-arrive{from{opacity:0;clip-path:inset(100% 0 0);transform:translateY(30px)}to{opacity:1;clip-path:inset(0);transform:translateY(0)}}@keyframes line-arrive{from{opacity:0;transform:translateY(115%)}to{opacity:1;transform:translateY(0)}}@keyframes soft-arrive{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}
/* The story shifts from film to a bright editorial surface. */
.page-home .intro{background:var(--fog);color:#000;position:relative;padding-top:105px;padding-bottom:115px;overflow:hidden}.page-home .intro .section-number{color:var(--smoke)}.page-home .intro .statement{font-size:clamp(44px,7.4vw,112px);padding-left:13%;line-height:1.04;letter-spacing:-.065em;margin-bottom:65px}.statement-line{display:block;overflow:hidden}.page-home .intro .statement .muted{color:#8e8b88}.page-home .intro .intro-copy>p:not(.lead){color:#505050}.page-home .detail-image{max-width:340px}.page-home .detail-image img{height:auto;aspect-ratio:2/3;object-fit:contain;clip-path:inset(0);transition:clip-path 1.7s var(--ease),transform 1.7s var(--ease)}.page-home .detail-image:not(.is-visible) img{clip-path:inset(20% 0 20% 0);transform:scale(1.08)}.page-home .detail-image figcaption{color:#555}.page-home .intro .intro-bottom{gap:15%;padding-left:9%;padding-right:7%}.motion-ready [data-reveal]{transform:translateY(65px);transition:opacity 1.2s var(--ease),transform 1.4s var(--ease)}.motion-ready [data-reveal].is-visible{transform:translateY(0)}
/* Every project arrives as a full-sized room, then gives way to the next. */
.page-home .work{background:#000;color:#fff;padding-top:110px;padding-bottom:80px}.page-home .work .section-number{color:var(--ash)}.page-home .work .section-heading{margin-bottom:70px}.page-home .work h2{font-size:clamp(60px,8vw,125px)}.page-home .work h2 br{display:none}.page-home .project-grid{display:flex;flex-direction:column;gap:24px;position:relative}.page-home .project-card{position:sticky;top:110px;min-height:490px;height:76svh;max-height:900px;width:100%;margin:0;padding:0;isolation:isolate;overflow:hidden;background:#1a1a1a;box-shadow:0 -10px 35px #0007;display:block;flex-shrink:0}.page-home .project-card:nth-child(2){top:122px}.page-home .project-card:nth-child(3){top:134px}.page-home .project-card:nth-child(4){top:146px}.page-home .project-image,.page-home .project-yacht .project-image,.page-home .project-khem .project-image,.page-home .project-dinner .project-image{position:absolute;inset:0;aspect-ratio:auto;z-index:-2;height:100%}.page-home .project-image:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,#0004,transparent 40%,#000b)}.page-home .project-image img{transition:transform 1.5s var(--ease);height:100%;width:100%;object-fit:cover}.page-home .project-yacht .project-image img{object-position:50% 55%}.page-home .project-caption{position:absolute;bottom:45px;left:40px;right:40px;padding:0;color:#fff;display:flex;align-items:flex-end;justify-content:space-between;gap:45px;z-index:1}.page-home .project-caption h3{font-size:clamp(28px,4.4vw,68px);line-height:1.05;max-width:75%;margin:0}.page-home .project-caption>span{font-size:10px;color:white;text-transform:uppercase;letter-spacing:.11em;max-width:170px;text-align:right}.page-home .project-open{right:40px;bottom:auto;top:35px;background:transparent;border:1px solid #fff8;color:white;z-index:2;width:55px;height:55px}.page-home .image-index{top:40px;left:40px;font-size:10px;background:none;padding:0;z-index:2}.page-home .work-footer{border-color:#fff3;margin-top:45px}.page-home .services-preview{padding-top:100px;border-top:1px solid #fff2}.page-home .service-row{transition:padding .55s var(--ease),background .55s}.page-home .service-row:hover{padding-left:20px;padding-right:20px;background:#ffffff08}.page-home .founder-feature .founder-visual{clip-path:inset(0);transition:clip-path 1s var(--ease)}
@media(min-width:1700px){.cinema-stage{max-height:none}.hero-brand{top:39%;width:32vw;max-width:660px}.cinema-story{bottom:18vh}.cinema h1{font-size:3.2vw}.cinema-aside{width:300px}.cinema-aside>p{font-size:14px}.cinema-film-link{font-size:15px}.cinema-film-link small{font-size:11px}.film-orbit{width:60px;height:60px}.brand-caption{font-size:9px}.cinema-coordinate{top:180px;font-size:11px}.floating-header{height:135px;padding:0 60px}.nav-capsule{height:75px;padding:0 30px;gap:35px}.nav-capsule .header-logo img{width:94px}.floating-header .header-cta{font-size:13px}.header-context{font-size:10px}.header-context>span{font-size:12px}}
@media(max-width:1000px){.cinema h1{font-size:3.7vw;max-width:72%}.cinema-story{gap:30px}.cinema-aside{max-width:27%;width:210px}.cinema-aside>p{font-size:10px}.brand-caption{font-size:6px}.cinema-coordinate{top:145px}.floating-header{padding:0 28px}.header-context{font-size:7px}.header-context>span{font-size:8px}.nav-capsule{height:60px;gap:22px;padding:0 20px}.nav-capsule .header-logo img{width:80px}.nav-capsule .menu-toggle{padding-left:20px}.floating-header>.header-cta{padding:12px 16px;font-size:10px;gap:16px}.menu-body{gap:8%}.menu-photo{height:340px}.page-home .project-caption{left:30px;right:30px;bottom:30px}.page-home .project-card{height:68svh;min-height:430px}}
@media(max-width:700px){.floating-header{grid-template-columns:1fr auto;padding:0 20px;height:96px}.header-context{display:none}.nav-capsule{justify-self:start;gap:18px;height:57px;padding:0 20px}.nav-capsule .menu-toggle{padding-left:18px;gap:0}.nav-capsule .menu-toggle>span{display:none}.nav-capsule .menu-toggle i{width:20px}.floating-header>.header-cta{font-size:10px;padding:12px 15px;gap:16px}.floating-header.scrolled{height:88px}.page-home .cinema{height:115svh;min-height:790px}.cinema-stage{height:100svh;min-height:690px;max-height:none}.cinema-coordinate{left:24px;top:124px;font-size:8px}.hero-brand{width:64vw;max-width:350px;top:41%}.brand-caption{font-size:6px;letter-spacing:.18em;margin-top:21px}.cinema-story{left:24px;right:24px;bottom:120px;display:block;transform:none}.cinema h1{font-size:5.1vw;max-width:100%;line-height:1.12;font-weight:600}.cinema-aside{max-width:100%;width:auto;margin-top:25px;display:flex;justify-content:space-between;align-items:center;gap:25px}.cinema-aside>p{font-size:10px;margin:0;max-width:47%}.cinema-film-link{font-size:10px;gap:10px}.cinema-film-link small{font-size:7px;max-width:90px;line-height:1.5}.film-orbit{width:37px;height:37px;flex-shrink:0}.film-orbit svg{width:13px;height:13px}.cinema-bottom{left:24px;right:24px;bottom:25px;gap:20px}.cinema-bottom .scroll-cue{font-size:7px;gap:12px}.cinema-location{display:none}.background-toggle{font-size:7px}.scroll-line{height:30px}.background-film{object-position:48% 50%}.cinema-shade{background:linear-gradient(180deg,#0007 0%,#0003 25%,#0003 50%,#0009 77%,#000b 100%)}.cinema-frame{clip-path:inset(calc(var(--cinema-progress)*16px) calc(var(--cinema-progress)*12px) round 5px)}.menu-photo{height:280px}.menu-body nav a{font-size:6vw}.page-home .intro{padding-top:70px;padding-bottom:75px}.page-home .intro .statement{font-size:8.6vw;padding-left:0;margin-bottom:45px}.page-home .intro .intro-bottom{padding:0;gap:40px}.page-home .detail-image{width:65%;max-width:300px;margin-left:auto}.page-home .detail-image img{height:auto}.page-home .work{padding-top:75px;padding-bottom:65px}.page-home .work .section-heading{display:block;margin-bottom:38px}.page-home .work h2{font-size:13vw}.page-home .work h2 br{display:initial}.page-home .work .section-heading>p{font-size:12px;margin-top:25px}.page-home .project-grid{gap:18px}.page-home .project-card{top:100px;min-height:430px;height:65svh;max-height:650px}.page-home .project-card:nth-child(2){top:108px}.page-home .project-card:nth-child(3){top:116px}.page-home .project-card:nth-child(4){top:124px}.page-home .project-caption{left:22px;right:22px;bottom:28px;display:block}.page-home .project-caption h3{font-size:7.2vw;max-width:100%;line-height:1.07;margin-bottom:18px}.page-home .project-caption>span{display:block;text-align:left;font-size:8px;max-width:none}.page-home .image-index{left:22px;top:28px;font-size:9px}.page-home .project-open{width:42px;height:42px;top:20px;right:20px}.page-home .project-image img{object-position:center}.page-home .project-yacht .project-image img{object-position:60% 50%}.page-home .services-preview{padding-top:65px}.menu-body{display:block}.menu-info{display:none}.menu-body nav a{font-size:8vw;padding:22px 0}}
@media(max-width:380px){.floating-header{padding:0 15px;gap:12px}.nav-capsule{padding:0 16px;gap:14px}.nav-capsule .menu-toggle{padding-left:14px}.nav-capsule .header-logo img{width:80px}.floating-header>.header-cta{padding:11px 13px;gap:10px;font-size:9px}.cinema-aside>p{display:none}.cinema-film-link small{max-width:none}.cinema-story{bottom:115px}.cinema h1{font-size:5.4vw}}
@media(prefers-reduced-motion:reduce){.page-home .cinema{height:100svh;min-height:690px}.cinema-stage{position:relative}.hero-brand,.cinema-story,.cinema-bottom,.cinema-coordinate{opacity:1!important;transform:none!important}.hero-brand{transform:translateX(-50%)!important}.cinema-frame{clip-path:none!important;transform:none!important}.intro-waiting .hero-brand>img,.intro-waiting .brand-caption,.intro-waiting .title-mask>span,.intro-waiting .cinema-aside,.intro-waiting .cinema-coordinate,.intro-waiting .cinema-bottom{opacity:1}.page-home .project-card{position:relative;top:0!important}.background-film{transform:none}.page-home .detail-image img{clip-path:none!important;transform:none!important}}
.cinema-bottom:after{content:'';position:absolute;left:0;right:0;top:-22px;height:1px;background:#ffffff25}.cinema-bottom:before{content:'';position:absolute;left:0;top:-22px;width:calc(var(--film-progress,0)*100%);height:1px;background:#fff8;z-index:1;transition:width .4s linear}.is-visible .statement-line{animation:statement-reveal 1.3s var(--ease) both}.is-visible .statement-line:nth-child(2){animation-delay:.12s}.is-visible .statement-line:nth-child(3){animation-delay:.24s}@keyframes statement-reveal{from{clip-path:inset(0 0 100% 0);transform:translateY(40px)}to{clip-path:inset(0);transform:translateY(0)}}
.menu-panel[open] .menu-body nav a{animation-fill-mode:backwards}
.floating-header.scrolled>.header-cta{background:rgba(0,0,0,.9);border-color:#ffffff30}.page-home .project-card:focus-visible{outline-offset:-4px}.page-home .project-card:focus-visible .project-open{background:white;color:black}body:not(.page-home) main{animation:page-arrive .9s var(--ease) both}@keyframes page-arrive{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}

/* Silent moving project windows: monochrome until the viewer leans in. */
.work-playback{display:flex;align-items:center;gap:30px}.preview-toggle{display:flex;align-items:center;gap:10px;font-size:10px;letter-spacing:.03em;color:var(--ash);padding:10px 0}.preview-toggle:hover{color:white}.preview-toggle>span:first-child{font-size:14px}.page-home .project-video{display:block;width:100%;height:100%;object-fit:cover;filter:grayscale(1);transform:scale(1.015);transition:filter .85s ease,transform 1.4s var(--ease)}.page-home .project-gala .project-video{object-position:50% 68%}.page-home .project-card:focus-visible .project-video{filter:grayscale(0);transform:scale(1.045)}.preview-muted{display:inline-block;margin-left:24px;font-size:8px;letter-spacing:.11em;text-transform:uppercase;color:#ffffffb3}.page-home .project-card .project-image:after{pointer-events:none;background:linear-gradient(180deg,#0004,transparent 35%,#000a)}
@media(hover:hover){.page-home .project-card:hover .project-video{filter:grayscale(0);transform:scale(1.045)}}
@media(hover:none){.page-home .project-card.is-video-active .project-video{filter:grayscale(0)}}
@media(max-width:700px){.work-playback{gap:0;align-items:flex-end}.work-playback>.micro{display:none}.preview-toggle{font-size:9px}.preview-muted{margin-left:14px;font-size:7px}.page-home .project-video{object-position:50% 50%}}
@media(prefers-reduced-motion:reduce){.page-home .project-video,.page-home .project-card:hover .project-video,.page-home .project-card:focus-visible .project-video{transform:none}}

/* A soft, fine dot screen for the home hero, project cards and founder thumbnail. */
.video-texture {
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  user-select: none;
  background-image: radial-gradient(circle, #000 1px, transparent 1px);
  background-size: 3px 3px;
  background-position: center;
  opacity: .15;
}
.founder-visual .film-button { z-index: 2; }
.founder-preview {
  position: absolute; inset: 0; width: 100%; height: 100%;
  object-fit: cover; object-position: 35% 38%; pointer-events: none;
  opacity: 0; transition: opacity .5s ease;
}
.founder-preview.is-ready { opacity: 1; }
.founder-preview-toggle {
  position: absolute; top: 16px; right: 16px; z-index: 2;
  display: flex; align-items: center; gap: 7px;
  padding: 9px 13px; border: 1px solid #ffffff40; border-radius: 30px;
  color: #fff; background: #0007; backdrop-filter: blur(12px);
  font-size: 10px; line-height: 1;
}
.founder-preview-toggle:hover { background: #000b; }
.founder-preview-toggle:focus-visible { outline: 2px solid white; outline-offset: 3px; }
@media (prefers-reduced-motion: reduce) { .founder-preview { transition: none; } }

/* One expanding top bar: the logo travels left as the links unfold beside it. */
.floating-header { --nav-edge: 40px; --nav-closed: 245px; --nav-start: 240px; }
.floating-header > .header-cta { grid-column: 3; }
.floating-header .header-context,
.floating-header > .header-cta { transition: opacity .25s ease, visibility .25s, background .3s; }
.floating-header.navigation-open > .header-context,
.floating-header.navigation-open > .header-cta { opacity: 0; visibility: hidden; pointer-events: none; }
.nav-capsule {
  position: absolute;
  top: 50%; left: 50%;
  transform: translate(-50%, -50%);
  width: var(--nav-closed);
  isolation: isolate;
  overflow: hidden;
  transition: width .7s var(--ease), background .4s ease, box-shadow .4s ease;
}
.nav-capsule.is-open { width: min(860px, calc(100vw - var(--nav-edge) * 2)); background: rgba(5,5,5,.81); box-shadow: 0 16px 50px #0004; }
.nav-capsule > .header-logo,
.nav-capsule > .menu-toggle { flex-shrink: 0; }
.nav-capsule > .menu-toggle { min-height: 42px; }
.nav-capsule a:focus-visible,
.nav-capsule button:focus-visible { outline-offset: -3px; }
.nav-popout {
  position: absolute;
  top: 0; bottom: 0; left: var(--nav-start); right: 14px;
  display: flex; align-items: center; justify-content: space-between; gap: 5px;
  white-space: nowrap;
  opacity: 0; visibility: hidden; pointer-events: none;
  transition: opacity .2s ease, visibility 0s .45s;
}
.nav-capsule.is-open .nav-popout { opacity: 1; visibility: visible; pointer-events: auto; transition-delay: .14s, 0s; }
.nav-popout > a {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  min-height: 40px; padding: 9px 14px; border-radius: 24px;
  font-size: 12px; line-height: 1.2; color: #aaa;
  opacity: 0; transform: translateX(-14px);
  transition: opacity .2s ease, transform .5s var(--ease), color .25s, background .25s;
}
.nav-capsule.is-open .nav-popout > a { opacity: 1; transform: translateX(0); transition-delay: calc(.16s + var(--nav-index) * .045s), calc(.16s + var(--nav-index) * .045s), 0s, 0s; }
.nav-popout > a[aria-current=page],
.nav-popout > a:hover,
.nav-popout > a:focus-visible { color: #fff; background: #ffffff10; }
.nav-popout > .nav-contact { background: #fff; color: #000; padding-inline: 18px; }
.nav-popout > .nav-contact:hover,
.nav-popout > .nav-contact:focus-visible,
.nav-popout > .nav-contact[aria-current=page] { color: #000; background: #d8d8d8; }
.nav-popout > a > svg { display: none; width: 14px; height: 14px; }
.nav-popout > .nav-contact > svg { display: block; }
.nav-capsule .menu-toggle i b { transition: transform .35s var(--ease); }
.nav-capsule.is-open .menu-toggle i b:first-child { transform: translateY(3.5px) rotate(45deg); }
.nav-capsule.is-open .menu-toggle i b:last-child { transform: translateY(-3.5px) rotate(-45deg); }
@media (min-width: 1700px) {
  .floating-header { --nav-edge: 60px; --nav-closed: 280px; --nav-start: 275px; }
  .nav-capsule.is-open { width: 960px; }
  .nav-popout > a { font-size: 13px; padding-inline: 18px; }
}
@media (max-width: 1000px) {
  .floating-header { --nav-edge: 28px; --nav-closed: 225px; --nav-start: 220px; }
  .nav-popout > a { font-size: 11px; padding-inline: 10px; }
  .nav-popout > .nav-contact { padding-inline: 14px; }
}
@media (max-width: 700px) {
  .floating-header { --nav-edge: 20px; --nav-closed: 178px; --nav-start: 160px; }
  .floating-header > .header-cta { grid-column: 2; }
  .floating-header::before {
    content: ''; position: fixed; inset: 0; z-index: -1;
    background: #0007; backdrop-filter: blur(3px);
    opacity: 0; visibility: hidden; pointer-events: none;
    transition: opacity .3s ease, visibility 0s .3s;
  }
  .floating-header.navigation-open::before { opacity: 1; visibility: visible; pointer-events: auto; transition-delay: 0s; }
  .nav-capsule { left: var(--nav-edge); transform: translateY(-50%); overflow: visible; }
  .nav-capsule.is-open { width: var(--nav-closed); }
  .nav-popout {
    top: calc(100% + 12px); bottom: auto; left: 0; right: auto;
    display: flex; flex-direction: column; align-items: stretch; gap: 0;
    width: calc(100vw - var(--nav-edge) * 2);
    max-height: calc(100svh - 112px); padding: 24px;
    overflow-x: hidden; overflow-y: auto; overscroll-behavior: contain;
    background: rgba(8,8,8,.83); border: 1px solid #ffffff26;
    border-radius: 24px; box-shadow: 0 24px 60px #0005;
    transform: translateY(-12px) scale(.98); transform-origin: top left;
    transition: opacity .25s ease, transform .45s var(--ease), visibility 0s .45s;
  }
  .nav-popout::before { content: 'Explore LORA'; margin: 0 0 14px; color: #8b8b8b; font-size: 9px; letter-spacing: .16em; text-transform: uppercase; }
  .nav-capsule.is-open .nav-popout { transform: translateY(0) scale(1); transition-delay: 0s; }
  .nav-popout > a { flex-shrink: 0; justify-content: space-between; min-height: 56px; padding: 14px 4px; border-radius: 0; border-bottom: 1px solid #ffffff20; font-size: 20px; }
  .nav-popout > a:not(.nav-contact) > svg { color: #777; }
  .nav-popout > a[aria-current=page], .nav-popout > a:hover, .nav-popout > a:focus-visible { background: transparent; }
  .nav-popout > a[aria-current=page] > svg { color: white; }
  .nav-popout > .nav-contact { margin-top: 18px; padding: 15px 20px; min-height: 52px; border: 0; border-radius: 30px; font-size: 15px; }
  .nav-popout > .nav-contact[aria-current=page], .nav-popout > .nav-contact:hover, .nav-popout > .nav-contact:focus-visible { background: #d8d8d8; }
  .nav-popout > a > svg { display: block; width: 20px; height: 20px; }
}
@media (max-width: 380px) {
  .floating-header { --nav-edge: 15px; --nav-closed: 162px; --nav-start: 146px; }
}

/* A precise pointer leads; the glass circle follows with contextual labels. */
.lora-pointer {
  position: fixed; top: 0; left: 0; width: 0; height: 0;
  z-index: 201; pointer-events: none; user-select: none;
  opacity: 0; transition: opacity .1s ease;
}
.lora-pointer.is-visible { opacity: 1; }
.lora-pointer svg {
  position: absolute; overflow: visible; stroke-linejoin: round; stroke-linecap: round;
  filter: drop-shadow(0 1px 2px #0005);
}
.cursor-arrow { width: 25px; height: 25px; left: -3.6px; top: -3.6px; fill: #111; stroke: #fff; stroke-width: 1.8px; }
.cursor-hand { display: none; width: 28px; height: 30px; left: -12px; top: -3px; fill: #fff; stroke: #111; stroke-width: 1.4px; }
.cursor-hand .hand-detail { fill: none; stroke-width: 1.1px; }
.lora-pointer.is-action .cursor-arrow { display: none; }
.lora-pointer.is-action .cursor-hand { display: block; }
.lora-pointer.is-pressed svg { scale: .92; transform-origin: 14px 4px; }
.lora-cursor {
  position: fixed; top: 0; left: 0; width: 0; height: 0;
  z-index: 200; pointer-events: none; user-select: none;
  opacity: 0; mix-blend-mode: difference;
  transition: opacity .15s ease;
}
.lora-cursor.is-visible { opacity: 1; }
.cursor-face {
  display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 5px;
  width: 32px; height: 32px; border: 1px solid #fff; border-radius: 50%;
  background: transparent; color: #000; text-align: center;
  transform: translate(-50%, -50%);
  transition: width .35s var(--ease), height .35s var(--ease), background .25s, border-color .25s, transform .2s var(--ease);
}
.cursor-label { width: 76px; flex-shrink: 0; padding: 0 2px; font-size: 10px; font-weight: 500; line-height: 1.45; letter-spacing: .035em; text-transform: uppercase; overflow-wrap: normal; text-wrap: balance; }
.cursor-glyph { font-size: 16px; line-height: 1; }
.cursor-glyph:empty { display: none; }
.cursor-label, .cursor-glyph { opacity: 0; transition: opacity .18s ease; }
.lora-cursor.is-action { mix-blend-mode: normal; }
.is-action .cursor-face {
  width: 90px; height: 90px; color: #111;
  background: linear-gradient(145deg, rgba(255,255,255,.76), rgba(236,234,231,.58) 55%, rgba(201,201,201,.62));
  -webkit-backdrop-filter: blur(12px) saturate(.65);
  backdrop-filter: blur(12px) saturate(.65);
  border-color: rgba(255,255,255,.65);
  box-shadow: inset 0 1px 1px #ffffffb3, inset 0 -1px 1px #00000012, 0 5px 24px #00000014;
}
.is-action .cursor-label, .is-action .cursor-glyph { opacity: 1; transition-delay: .08s; }
.is-pressed .cursor-face { transform: translate(-50%, -50%) scale(.88); }
@media (hover: hover) and (pointer: fine) and (prefers-reduced-motion: no-preference) and (forced-colors: none) {
  html.cursor-active, html.cursor-active * { cursor: none !important; }
}
@media (hover: none), (pointer: coarse), (prefers-reduced-motion: reduce), (forced-colors: active) {
  .lora-cursor, .lora-pointer { display: none; }
}

/* Studio development credit */
.cinema-aside > p { text-wrap: pretty; }
@media (max-width: 700px) {
  .page-home .cinema { min-height: 960px; }
  .cinema-stage { min-height: 900px; }
  .cinema-aside { display: block; margin-top: 18px; }
  .cinema-aside > p { display: block; max-width: none; margin-bottom: 18px; font-size: 12px; line-height: 1.6; }
  .cinema-film-link small { max-width: none; }
}
.developer-credit{display:block;margin-top:10px}.developer-credit a{text-decoration:underline;text-underline-offset:3px;transition:color .2s}.developer-credit a:hover{color:#fff}.developer-credit a:focus-visible{outline:1px solid currentColor;outline-offset:4px}

@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {
  .is-action .cursor-face { background: rgba(236,234,231,.9); }
}
