/* v0.4: motion choreography and linked film showcase. */
.film-section{background:#0b1118;color:#f8f7f4;position:relative;overflow:hidden}.film-section:before{content:'';position:absolute;width:65vw;height:65vw;border:1px solid #ffffff12;border-radius:50%;right:-25vw;top:-35vw;pointer-events:none}.film-section .section-head{align-items:end}.film-section .h2{margin-top:24px}.film-section .lead{color:#b6c3cf;font-size:18px}.film-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:28px}.film-card:nth-child(2){padding-top:70px}.film-card:nth-child(3){padding-top:140px}.film-launch{position:relative;display:flex;align-items:center;justify-content:center;aspect-ratio:4/5;overflow:hidden;border:1px solid #72879b55;background:radial-gradient(ellipse at 25% 20%,#345779 0,transparent 65%),linear-gradient(135deg,#172b3e,#0b1118);color:white}.film-card:nth-child(2) .film-launch{background:radial-gradient(ellipse at 80% 20%,#394651,transparent 70%),#101923}.film-card:nth-child(3) .film-launch{background:radial-gradient(ellipse at 30% 90%,#315776,transparent 70%),#141a21}.film-number{position:absolute;top:8%;left:8%;font-size:clamp(80px,11vw,190px);font-weight:500;line-height:1;letter-spacing:-.08em;color:#ffffff10}.film-play{width:82px;height:82px;border:1px solid #ffffff80;border-radius:50%;display:grid;place-items:center;font-size:20px;padding-left:4px;transition:transform .5s,background .5s,color .5s}.film-launch:hover .film-play,.film-launch:focus-visible .film-play{transform:scale(1.12);background:#f8f7f4;color:#101923}.film-action{position:absolute;bottom:28px;left:25px;right:25px;font-size:10px;letter-spacing:.2em;border-top:1px solid #ffffff40;padding-top:20px}.film-card h3{font-size:clamp(22px,2vw,32px);line-height:1.15;font-weight:500;margin-top:12px}.film-card .project-meta{color:#a4b3c0;margin-top:20px}.film-note{margin-top:35px;color:#b6c3cf;font-size:12px}.film-dialog{position:fixed;inset:0;margin:auto;width:min(1200px,94vw);max-height:94dvh;border:1px solid #566573;background:#10151c;color:#fff;padding:24px;overflow:auto}.film-dialog::backdrop{background:#000e;backdrop-filter:blur(12px)}.film-dialog-head{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:20px}.film-dialog h2{font-size:20px;margin:0}.film-close{background:none;border:1px solid #8a99a7;color:white;padding:12px 20px;min-height:44px}.film-player{aspect-ratio:16/9;background:#000}.film-player iframe{display:block;width:100%;height:100%;border:0}.film-help{display:flex;justify-content:space-between;gap:15px;flex-wrap:wrap;margin-top:18px;font-size:13px;color:#c3cbd3}.film-help a{text-decoration:underline;color:#fff}.motion-toggle{position:fixed;bottom:18px;left:18px;z-index:90;background:#101820e8;color:white;border:1px solid #a5b4c355;border-radius:30px;padding:12px 17px;min-height:44px;font-size:10px;letter-spacing:.06em;backdrop-filter:blur(14px)}
.motion-ready .word-mask{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.12em;margin-bottom:-.12em}.motion-ready .word-mask>span{display:inline-block;transform:translateY(112%) rotate(3deg);transition:transform .9s var(--ease);transition-delay:var(--word-delay)}.motion-ready .in .word-mask>span{transform:none}.motion-ready .project-media,.motion-ready .gallery figure{clip-path:inset(0 0 12% 0);transition:clip-path 1.1s var(--ease)}.motion-ready .in .project-media,.motion-ready .gallery figure.in{clip-path:inset(0)}.motion-ready .project-media img{transform:scale(1.12);transition:transform 1.3s var(--ease)}.motion-ready .in .project-media img{transform:scale(1)}.motion-ready .project-card:hover .project-media img{transform:scale(1.06)}.motion-ready .service-item{transition:background .4s,color .4s,padding-left .4s}.motion-ready .service-item:hover{padding-left:24px}.motion-ready .industry-preview,.motion-ready .intro-detail{transform:translateY(var(--drift,0px))}.motion-ready .hero-art{transform:translateY(var(--hero-drift,0px))}.motion-ready .hero-title{transform:translateY(var(--title-drift,0px))}.motion-ready .capability-strip i{transform:rotate(var(--icon-turn,0deg));transition:transform .12s linear}.motion-ready .round-link{transform:translate(var(--mx,0px),var(--my,0px))}.motion-ready .film-launch{transform:perspective(900px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));transition:transform .25s ease}.motion-ready .step:after{content:'';display:block;position:absolute;bottom:0;left:0;height:1px;background:#9ebbd6;width:100%;transform:scaleX(0);transform-origin:left;transition:transform 1s}.motion-ready .step{position:relative}.motion-ready .step.is-active:after{transform:scaleX(1)}.motion-ready .big-cta .arrow{display:inline-block;transition:transform .4s}.motion-ready .big-cta a:hover .arrow{transform:translate(4px,-4px)}
@view-transition{navigation:auto}::view-transition-old(root){animation:aura-out .18s ease both}::view-transition-new(root){animation:aura-in .45s ease both}@keyframes aura-out{to{opacity:0;transform:translateY(-8px)}}@keyframes aura-in{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
.motion-off *,.motion-off *:before,.motion-off *:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.motion-off .reveal{opacity:1!important;transform:none!important}.motion-off .word-mask>span{transform:none!important}.motion-off .hero-slide img{transform:none!important}.motion-off::view-transition-old(root),.motion-off::view-transition-new(root){animation:none}
@media(max-width:760px){.film-grid{grid-template-columns:1fr;gap:34px}.film-card:nth-child(n){padding-top:0}.film-launch{aspect-ratio:16/9}.film-number{font-size:110px}.film-play{height:64px;width:64px}.film-action{bottom:18px;padding-top:12px}.film-dialog{padding:16px}.film-dialog-head{align-items:start}.film-dialog h2{font-size:17px}.film-help{font-size:12px}.motion-toggle{bottom:12px;left:12px;padding:10px 13px}.motion-ready .hero-art,.motion-ready .hero-title{transform:none}.motion-ready .film-launch{transform:none}.motion-ready .industry-preview,.motion-ready .intro-detail{transform:none}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important}.word-mask>span{transform:none!important;transition:none!important}.motion-ready .hero-art,.motion-ready .hero-title,.motion-ready .industry-preview,.motion-ready .intro-detail,.motion-ready .film-launch{transform:none!important}::view-transition-old(root),::view-transition-new(root){animation:none}}
