/* GSIM — Optical direction. Content and CMS remain the source of truth. */
:root{--optical-ease:cubic-bezier(.19,1,.22,1)}
html{scroll-padding-top:110px}body{overflow-x:clip}main{background-color:var(--black)}
header{position:absolute;padding:18px 4.5%;min-height:92px;gap:30px}header nav{gap:clamp(18px,2.7vw,48px)}header nav a{position:relative;font-size:15px}header nav a:after{content:'';position:absolute;bottom:5px;left:0;width:100%;height:2px;background:#b48a2e;transform:scaleX(0);transform-origin:right;transition:transform .55s var(--optical-ease)}header nav a:hover:after,header nav a:focus-visible:after{transform:scaleX(1);transform-origin:left}header .brand{width:170px}
.section{padding:clamp(80px,9vw,160px) 6%}.opening{height:155svh;min-height:1020px}.hero{height:100svh;min-height:780px;padding:170px 6% 100px;align-items:center;text-align:left;justify-content:flex-start;background:#080807;perspective:1200px}.hero-light{inset:0;filter:none;z-index:-3;background:radial-gradient(ellipse at 80% 30%,#b6853538,transparent 55%)}.hero-light:before{display:none}.art-stage{inset:0;width:100%;height:100%;z-index:-2;transform-origin:70% 45%;mask-image:linear-gradient(180deg,#000 70%,transparent 100%);transform:translate3d(var(--optic-x,0px),calc(var(--art-drift,0px) + var(--optic-y,0px)),0) scale(var(--art-scale,1))}.art-fallback{object-fit:contain;mix-blend-mode:normal;opacity:1;transform:scale(1.02);transform-origin:70% 45%;animation:optical-breath 18s var(--optical-ease) infinite alternate}.hero:after{background:linear-gradient(90deg,#080807b8,transparent 82%),linear-gradient(0deg,#080807 0%,#08080777 18%,transparent 65%);z-index:-1}.hero-copy{width:100%;max-width:1500px;margin:auto 0;transform:translateY(var(--copy-drift,0px));text-align:left}.hero-copy .hero-kicker{margin:0 0 32px;color:#f4d598;letter-spacing:.23em;font-size:14px;font-weight:500}.hero h1{font-size:clamp(3.2rem,6.85vw,8.7rem);line-height:1.06;font-weight:700;letter-spacing:-.065em;text-shadow:0 2px 40px #0007}.hero-copy .hero-description{font-size:17px;max-width:520px;margin:40px 0 24px;line-height:1.75;color:#e9e5dd}.hero-copy .frame-link{background:#13110d80;backdrop-filter:blur(12px);font-size:14px;padding:20px 25px;margin-top:8px}.hero-bottom{left:6%;right:6%;bottom:25px;padding-top:18px;border-top:1px solid #ffffff26;font-size:13px}.hero-bottom .motion-control{font-size:13px}.hero:before{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background:url('assets/film-grain.svg');opacity:.24}
@keyframes optical-breath{from{transform:scale(1.02) rotate(-.4deg)}to{transform:scale(1.075) rotate(.4deg)}}
.optical-ready:not(.reduce-motion) .hero-copy{animation:optical-title-in 1.5s var(--optical-ease) both}@keyframes optical-title-in{from{clip-path:inset(0 0 100% 0);filter:blur(4px)}to{clip-path:inset(0);filter:blur(0)}}
.frame-link{transition:background .35s,color .35s,box-shadow .45s}.frame-link:hover{background:#fdc40012;box-shadow:inset 0 0 0 1px #fdc40050}.text-link{transition:letter-spacing .5s var(--optical-ease),color .3s}.text-link:hover{letter-spacing:.025em}
/* Divisions become one spacious editorial spread, with a different rhythm per column. */
.divisions{background:var(--black);position:relative;border-top:1px solid #b58c3f55}.division-heading{display:grid;grid-template-columns:1.5fr 1fr;align-items:end;gap:12%;margin-bottom:85px}.division-heading h2{font-size:clamp(3.4rem,7.7vw,8.8rem);max-width:900px}.division-heading p{padding-bottom:8px}.division-layout{gap:12%;grid-template-columns:1fr 1.1fr}.division{border-top:1px solid var(--line);padding-top:34px;position:relative;isolation:isolate}.division:before{content:'';position:absolute;inset:-30px;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at var(--hover-x,50%) var(--hover-y,40%),#bf872c16,transparent 65%);opacity:0;transition:opacity .6s}.division:hover:before{opacity:1}.division h3{font-size:clamp(3.2rem,4.8vw,6rem);margin-bottom:32px}.division h3 span{display:inline;color:var(--gold)}.division:nth-child(2){margin-top:115px}.division li{border-bottom:1px solid #ffffff12}.service-list details{padding:24px 0}.service-list details[open]{padding-bottom:30px}
/* Films: large stage, clean title plane, next project visible at the edge. */
.work{padding:100px 0 70px;background:#0d0c0a;overflow:hidden}.work-heading{padding:0 6%;margin-bottom:64px;align-items:end}.work-heading h2{font-size:clamp(3.5rem,7.5vw,8.5rem);line-height:.99;max-width:1000px}.work-heading p{max-width:260px}.cinema-track{margin:0;padding:0 6% 20px;gap:26px;scroll-padding-inline:6%;cursor:grab;touch-action:auto;scroll-snap-type:x mandatory}.cinema-track.is-dragging{cursor:grabbing;scroll-snap-type:none;user-select:none}.project-panel{flex-basis:94%;padding:45px 4%;min-height:680px;border:1px solid #e9d7b326;border-radius:2px;background:#090908;transition:border-color .5s;box-shadow:0 24px 65px #0004}.project-panel.is-active{border-color:#c9a36666}.project-copy{position:relative;z-index:2}.project-copy>p{font-size:15px;color:#c8b798}.project-panel h3{font-size:clamp(3rem,5.6vw,6.8rem);line-height:1.02;letter-spacing:-.055em;max-width:780px}.project-panel-bottom>p{font-size:17px;color:#d2ccc2;line-height:1.7}.project-panel .scene-media{transform:translate3d(0,var(--media-y,0px),0) scale(var(--film-scale,1));transition:filter .4s;filter:saturate(.9);max-width:650px}.project-panel:hover .scene-media{filter:saturate(1.06)}.project-panel .media-surface:before{opacity:.28;filter:blur(60px)}.scene-media img{box-shadow:none}.carousel-controls{margin:22px 6% 0;gap:16px}.project-selector{gap:9px;flex:1;justify-content:center}.project-selector button{width:clamp(22px,4vw,60px)}.project-selector button:before{height:1px;background:#ffffff35}.project-selector button[aria-pressed=true]:before{height:2px;background:var(--gold)}.yamaha-film{padding:0;height:720px}.yamaha-film-copy{height:720px;padding:42px 4%}.yamaha-screen{left:28%}.project-panel.yamaha-film h3{font-size:clamp(4.4rem,8vw,9rem);max-width:42%}.yamaha-client{max-width:40%;font-size:15px}.yamaha-film:before{background:linear-gradient(90deg,#090908 0%,#090908 28%,#090908e8 36%,#09090877 47%,transparent 65%)}.yamaha-scene-status{background:#080807b3;backdrop-filter:blur(12px)}
/* The manifesto is a reading pause after the moving gallery. */
.essence{padding-top:150px;padding-bottom:130px;background:radial-gradient(ellipse at 95% 65%,#84633518,transparent 60%),var(--black)}.reading-statement{font-size:clamp(3.4rem,7.3vw,8.5rem);max-width:1420px;line-height:1.1}.essence-bottom{margin-top:110px;grid-template-columns:.8fr 1fr;gap:20%}.history{align-items:start;flex-direction:column;gap:20px}.history strong{font-size:clamp(8rem,17vw,19rem);font-weight:500;line-height:.85;color:var(--gold)}.history p{max-width:220px;line-height:1.6;font-size:18px}.recognition{margin-top:100px;padding-top:70px;grid-template-columns:1fr 1fr;gap:14%}.award-image{max-width:380px}.recognition-copy h3{font-size:clamp(3rem,5.4vw,6rem)}.recognition-copy>p{font-size:24px;margin-top:12px}
/* Originals: alternating large poster and editorial text; all frames stay intact. */
.originals{background:#11100d}.original-intro{display:grid;grid-template-columns:1fr 2fr;column-gap:9%;padding-bottom:110px}.original-intro>p:first-child{font-size:17px;margin:0;align-self:start;padding-top:12px}.original-intro h2{font-size:clamp(3.5rem,6.2vw,7.5rem)}.original-intro>p:last-child{grid-column:2;max-width:470px}.story{min-height:100svh;padding:110px 8%;grid-template-columns:1fr 1fr;gap:13%;border-top-color:#ffffff1f}.story-poster{width:min(100%,540px);justify-self:center;transform:translateY(var(--poster-drift,0px)) scale(var(--poster-scale,1));transform-origin:center;filter:drop-shadow(0 30px 35px #0008)}.story-poster img{width:100%;height:auto;object-fit:contain}.story h3{font-size:clamp(3rem,5.4vw,6.4rem);line-height:1.04}.story-body{max-width:520px;margin-top:34px}.story-body>p:nth-child(2){font-size:19px;line-height:1.8}.story:nth-child(even){background:#080807}.story:nth-child(even) .story-poster{grid-column:2;grid-row:1}.story:nth-child(even) .story-editorial{grid-column:1;grid-row:1}.story-editorial{min-width:0}
.studio{background:#14110e;min-height:105svh}.studio-inner{gap:8%;grid-template-columns:1.1fr 1fr}.studio h2{font-size:clamp(4.5rem,9vw,10rem);font-weight:500}.studio-gallery{gap:8%;align-items:center;margin-top:90px}.studio-image{width:100%}.studio-image:nth-child(2){width:100%;transform:translateY(calc(var(--media-y,0px) + 70px))}.studio-gallery img{box-shadow:none;object-fit:contain}.studio-light{opacity:.6}
.archive{background:#090908}.archive-heading{align-items:end}.archive-heading h2{font-size:clamp(3.5rem,7vw,8rem)}.archive-list{margin-top:70px}.archive-list button{padding:30px 0;grid-template-columns:120px minmax(0,1.5fr) minmax(0,1fr) auto;gap:28px;transition:padding .5s var(--optical-ease),background .5s}.archive-list button:hover,.archive-list button:focus-visible{padding-left:20px;padding-right:20px;background:#a17b2721}.archive-thumb{width:120px;height:85px;object-fit:contain;transform:rotate(var(--thumb-angle,0deg));transition:transform .5s}.archive-list button:hover .archive-thumb{--thumb-angle:-4deg}.archive-list strong{font-size:clamp(1.4rem,2.7vw,3rem);font-weight:500}.archive-list small{font-size:13px;color:#bfb5a6}
.clients{background:#fff;color:#171412;padding-block:90px}.clients h2{font-size:clamp(2.7rem,5vw,5.5rem);max-width:950px}.client-list{display:flex;flex-wrap:wrap;justify-content:flex-start;gap:40px 5%;margin-top:60px;align-items:center}.client-list img{width:clamp(115px,13vw,185px);height:70px;object-fit:contain;filter:none;opacity:1;mix-blend-mode:normal}.client-other{color:#5c5850;font-size:16px;margin-top:40px}.clients+footer{border-top:1px solid #17141222}
footer.section{padding-top:120px}footer h2{font-size:clamp(3.5rem,8vw,9rem);line-height:1.01}.footer-bottom{align-items:center;padding-top:55px}.footer-bottom .brand{width:clamp(260px,38vw,620px)}.contact-grid{margin-top:80px}.social-links a{transition:padding .4s}.social-links a:hover{padding-inline:12px}
.about-opening{padding-top:210px;min-height:85svh;background:radial-gradient(ellipse at 100% 0%,#8a642a42,transparent 55%),#080807}.about-opening h1{font-size:clamp(3.4rem,8vw,9rem);max-width:1350px}.about-history{padding-block:140px}.about-photo{max-width:540px}.about-values{gap:8%;padding-top:50px;border-top:1px solid var(--line)}.about-values h3{font-size:30px}.about-special{background:#201a0f;padding-block:110px}.about-special h2{font-size:clamp(3rem,5.4vw,6rem)}
@media(min-width:1100px){.division-heading{position:relative}.original-intro>p:first-child{position:sticky;top:80px}.story-editorial{position:relative}.about-history>div:first-child{position:sticky;top:90px;align-self:start}}
@media(max-width:1050px){.hero h1{font-size:6.8vw}.hero{min-height:720px}.project-panel{min-height:600px}.yamaha-film,.yamaha-film-copy{height:660px}.archive-list button{grid-template-columns:90px minmax(0,1.5fr) minmax(0,1fr)}.archive-list small{display:none}.division-layout{gap:7%}}
@media(max-width:760px){html{scroll-padding-top:85px}.section{padding:80px 6%}header{padding:12px 6%;min-height:78px}header .brand{width:150px}.opening{height:120svh;min-height:820px}.hero{min-height:720px;height:100svh;padding:145px 6% 90px;align-items:center}.art-stage{inset:0;width:100%;height:100%;mask-image:linear-gradient(0deg,transparent,#000 28%,#000)}.art-fallback{object-fit:contain;object-position:50% 15%;animation:none}.hero:after{background:linear-gradient(0deg,#080807 5%,#08080788 55%,#08080722)}.hero-copy{padding-top:45px}.hero h1{font-size:clamp(1.9rem,6.8vw,3.6rem);line-height:1.14;letter-spacing:-.05em}.hero-copy .hero-kicker{font-size:12px;margin-bottom:26px;letter-spacing:.17em}.hero-copy .hero-description{font-size:16px;max-width:350px;margin:30px 0 24px}.hero-copy .frame-link{font-size:12px;padding:18px 20px}.hero-bottom{bottom:18px;font-size:12px}.hero-bottom .motion-control{font-size:12px}.division-heading{display:block;margin-bottom:55px}.division-heading h2,.work-heading h2{font-size:clamp(3rem,11vw,5rem)}.division-heading p{margin-top:28px}.division-layout{grid-template-columns:1fr;gap:60px}.division:nth-child(2){margin:0}.division h3{font-size:clamp(2.7rem,9vw,4rem)}.work{padding:75px 0 50px}.work-heading{display:block;margin-bottom:40px}.work-heading p{margin-top:25px}.project-panel{flex-basis:94%;min-height:0;padding:28px 6%;gap:30px;grid-template-columns:1fr}.project-panel h3{font-size:clamp(2.6rem,10vw,4rem)}.project-panel .scene-media{width:100%;height:auto;min-height:200px;max-height:330px;transform:none}.project-panel .scene-media img{max-height:300px;height:auto;width:auto;object-fit:contain}.project-panel-bottom>p{font-size:16px}.project-panel.yamaha-film{padding:0;min-height:700px;height:auto}.yamaha-film-copy{padding:28px 24px;height:auto;min-height:700px}.project-panel.yamaha-film h3{max-width:100%;font-size:clamp(3.4rem,13vw,5rem)}.yamaha-client{max-width:100%;font-size:14px}.yamaha-screen{left:0;top:170px;bottom:145px}.yamaha-film:before{background:linear-gradient(180deg,#090908 20%,#09090844 34%,transparent 46%,transparent 73%,#090908 84%)}.yamaha-film-bottom>div:first-child{max-width:57%}.yamaha-film-bottom{gap:12px}.yamaha-scene-status{max-width:120px;padding:8px}.carousel-controls{flex-wrap:wrap;gap:10px}.carousel-controls .frame-link{font-size:14px;padding:14px 12px}.project-selector{order:4;flex-basis:100%;gap:8px}.project-selector button{width:35px}.essence-bottom{grid-template-columns:1fr;gap:55px;margin-top:65px}.reading-statement{font-size:clamp(3rem,10vw,5rem)}.history{flex-direction:row;align-items:center;gap:30px}.history strong{font-size:8rem}.recognition{grid-template-columns:1fr;gap:35px;padding-top:45px;margin-top:65px}.original-intro{display:block}.original-intro h2{font-size:clamp(3rem,10vw,5rem)}.original-intro>p:first-child{margin-bottom:30px}.story{padding:75px 6%;grid-template-columns:1fr;gap:50px;min-height:0}.story-poster{width:min(90%,380px);transform:none}.story:nth-child(even) .story-poster,.story:nth-child(even) .story-editorial{grid-column:1;grid-row:auto}.story h3{font-size:clamp(3rem,10vw,5rem)}.story-body>p:nth-child(2){font-size:18px}.studio-inner{grid-template-columns:1fr;gap:45px}.studio h2{font-size:clamp(4rem,15vw,6rem)}.studio-gallery{margin-top:20px;grid-template-columns:1fr;gap:40px}.studio-image:nth-child(2){width:100%;transform:none}.archive-heading h2{font-size:clamp(3rem,10vw,5rem)}.archive-list button{grid-template-columns:75px minmax(0,1fr);gap:10px 18px;padding-block:25px}.archive-thumb{width:75px;height:70px}.archive-list strong{font-size:22px}.archive-list span{font-size:14px}.archive-list button:hover{padding-inline:0}.client-list{gap:26px 8%;margin-top:40px}.client-list img{width:42%;height:60px}.clients h2{font-size:clamp(2.7rem,9vw,4rem)}footer.section{padding-top:80px}footer h2{font-size:clamp(3.3rem,12vw,5rem)}.footer-bottom .brand{width:min(85%,360px)}.about-opening{padding-top:145px;min-height:0}.about-opening h1{font-size:clamp(3rem,10vw,5rem)}.about-history{padding-block:80px}.about-values{padding-top:30px}.about-special{padding-block:80px}}
@media(prefers-reduced-motion:reduce){.art-fallback,.hero-copy{animation:none!important}.art-stage,.story-poster,.scene-media,.studio-image{transform:none!important}*{scroll-behavior:auto!important}}
.reduce-motion .art-fallback,.reduce-motion .hero-copy{animation:none!important}.reduce-motion .story-poster{transform:none}
/* Editor stays stable: gestures and selection must win over presentation motion. */
[data-cms-preview] .art-fallback,[data-cms-preview] .hero-copy{animation:none!important}[data-cms-preview] .story-poster{transform:none}[data-cms-preview] .cinema-track{touch-action:auto}
