:root{--ink:#1d1d1f;--muted:#8b8b90;--blue:#0071e3;--paper:#fafaf9;--line:#e4e4e7}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--paper);font-family:-apple-system,BlinkMacSystemFont,'Helvetica Neue','PingFang SC','Microsoft YaHei',sans-serif;color:var(--ink);-webkit-font-smoothing:antialiased}a{text-decoration:none;color:inherit}button{font:inherit;color:inherit;border:0;background:none;padding:0;cursor:pointer}button,a,input{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:2px solid var(--blue);outline-offset:6px}h1,h2,h3,p{margin:0}header{height:76px;display:flex;align-items:center;justify-content:space-between;padding:0 max(6vw,calc((100vw - 1280px)/2));gap:30px;border-bottom:1px solid #e6e6e97a;position:relative;z-index:10;background:#fafaf9eb;backdrop-filter:blur(15px)}.brand{display:flex;align-items:center;gap:10px}.brand>span{font-size:15px;font-weight:600;letter-spacing:2px}.brand small{display:block;font-size:6px;letter-spacing:1.8px;margin-top:4px;font-weight:500}nav{display:flex;gap:32px;font-size:11px;color:#62626a}nav a:hover{color:var(--ink)}.header-cta{font-size:11px;background:#ececee;border-radius:30px;padding:10px 16px}.header-cta span{margin-left:14px}.menu{display:none}.hero{padding-top:63px;overflow:hidden}.hero-copy{text-align:center;position:relative;z-index:1}.eyebrow{font-size:10px;font-weight:600;letter-spacing:2.1px;color:#86868d}.hero h1{font-size:clamp(48px,5.2vw,74px);font-weight:650;letter-spacing:-2.5px;line-height:1.2;margin:24px 0 23px}.blue{color:var(--blue)}.hero-description{font-size:15px;color:#6e6e75;line-height:1.9;letter-spacing:.4px}.hero-actions{display:flex;align-items:center;justify-content:center;gap:28px;margin-top:25px}.button{display:inline-flex;align-items:center;justify-content:center;gap:18px;background:var(--blue);color:white;border-radius:40px;padding:13px 24px;font-size:12px;transition:background .25s,transform .25s}.button:hover{background:#0077ed;transform:translateY(-2px)}.link{font-size:12px;color:var(--blue)}.link span{margin-left:9px}.crew-stage{height:450px;max-width:1320px;margin:0 auto;position:relative;overflow:hidden}.crew-stage canvas,.scene-fallback{width:100%;height:100%;position:absolute;inset:0;object-fit:contain}.crew-stage canvas{opacity:0;transition:opacity 1s}.crew-stage.ready canvas{opacity:1}.crew-stage.ready .scene-fallback{opacity:0}.scene-fallback{transition:opacity .8s}.scene-loading{position:absolute;bottom:48px;left:0;right:0;text-align:center;font-size:10px;color:#9a9aa2}.ready .scene-loading{display:none}.scene-hint{position:absolute;bottom:8px;left:7%;font-size:9px;color:#8f8f95;display:flex;align-items:center;gap:8px}.status-dot{height:4px;width:4px;border-radius:50%;background:#8c9d8d}.hint-small{border-left:1px solid #d9d9df;margin-left:5px;padding-left:13px;color:#a4a4aa}.motion-toggle{position:absolute;bottom:0;right:7%;border:1px solid #d9d9de;background:#f5f5f7b0;width:28px;height:28px;border-radius:50%;font-size:10px;color:#7b7b81}.crew-labels{display:grid;grid-template-columns:repeat(4,1fr);max-width:1160px;padding:25px 15px 40px;margin:auto}.crew-labels button{text-align:center;border-right:1px solid #dedee1}.crew-labels button:last-child{border:0}.crew-labels span{display:block;font-size:8px;letter-spacing:1.4px;color:#aaaab0}.crew-labels strong{display:block;font-size:17px;font-weight:600;margin:9px 0 7px;transition:color .2s}.crew-labels button:hover strong{color:var(--blue)}.crew-labels small{font-size:10px;color:#919198}.hero-foot{margin:0 6vw;padding:22px 0 25px;border-top:1px solid var(--line);display:flex;justify-content:space-between;font-size:8px;color:#9a9aa0;letter-spacing:1.4px}.section{padding:105px max(6vw,calc((100vw - 1160px)/2))}.section-intro h2{font-size:clamp(36px,4vw,53px);line-height:1.32;font-weight:600;letter-spacing:-1.5px;margin:22px 0}.muted{color:#939398}.section-description{font-size:13px;line-height:1.9;color:#86868c}.process{background:#fff}.process-tabs{margin:43px 0 28px;display:flex;gap:8px;background:#f4f4f6;padding:5px;border-radius:40px;width:fit-content}.process-tabs button{font-size:11px;padding:12px 25px;border-radius:30px;color:#8d8d94;transition:.25s;white-space:nowrap}.process-tabs button.active{color:#28282c;background:white;box-shadow:0 2px 8px #0000000c}.process-feature{display:grid;grid-template-columns:1.1fr 1fr;min-height:500px;background:#f5f5f7;border-radius:27px;overflow:hidden;isolation:isolate}.role-art{position:relative;min-height:480px;background:radial-gradient(ellipse at 50% 60%,#e7e9eb00,#f2f3f5)}.role-art canvas{position:absolute;inset:0;width:100%;height:100%;z-index:1}.role-watermark{position:absolute;top:40px;left:25px;right:25px;text-align:center;color:#dfe1e5;font-size:clamp(35px,6.1vw,88px);font-weight:700;letter-spacing:-3px;z-index:0}.role-badge{position:absolute;left:32px;bottom:25px;font-size:8px;letter-spacing:1.4px;color:#a2a2ab;z-index:2}.role-copy{padding:72px 55px 45px 30px}.role-index{color:var(--blue);font-size:9px;letter-spacing:1.6px;font-weight:500}.role-copy h3{font-size:33px;line-height:1.4;letter-spacing:-.6px;font-weight:600;margin:22px 0 19px}.role-copy>p{color:#81818a;font-size:12px;line-height:2;max-width:340px}.deliverables{display:flex;gap:7px;margin:23px 0;flex-wrap:wrap}.deliverables span{font-size:9px;border:1px solid #dcdce1;color:#7e7e87;border-radius:5px;padding:6px 9px}.role-note{border-top:1px solid #dedee4;padding-top:20px}.role-note>span{font-size:9px;color:#a0a0a8}.role-note>p{font-size:11px;color:#6c6c75;line-height:1.8;margin-top:7px}.next-role{font-size:11px;color:var(--blue);margin-top:28px}.next-role span{margin-left:25px}.expertise{background:#f5f5f7}.capabilities{display:grid;grid-template-columns:repeat(3,1fr);gap:17px;margin-top:42px}.capability{position:relative;overflow:hidden;min-height:285px;background:white;border-radius:24px;padding:31px;transition:transform .4s}.capability:hover{transform:translateY(-4px)}.capability.large{grid-row:span 2;min-height:590px;background:linear-gradient(150deg,#e8edf1,#f9fafb)}.capability.wide{grid-column:span 2;display:flex;align-items:center;justify-content:space-between}.mini-icon{font-size:25px;margin-bottom:25px;font-weight:300;color:#545963;line-height:1}.cap-en{font-size:8px;letter-spacing:1.1px;color:#9d9da5}.capability h3{font-size:22px;letter-spacing:-.5px;font-weight:600;margin:13px 0}.capability p{font-size:10px;color:#8b8b94;line-height:2}.cap-bottom{position:absolute;bottom:30px;color:#a4a4ab;font-size:9px}.production-path{display:flex;align-items:center;gap:8px;font-size:9px;margin-top:24px;color:#7c8490}.production-path i{width:14px;height:1px;background:#b7bdc5}.film-object{position:absolute;width:220px;height:220px;bottom:20px;left:50%;transform:translateX(-50%) rotate(-12deg)}.film-body{position:absolute;top:35px;left:34px;width:134px;height:90px;border-radius:22px;background:linear-gradient(130deg,#f7fafb,#9fa9b2);box-shadow:18px 25px 40px #63748530,inset 2px 2px 3px white}.film-lens{position:absolute;left:138px;top:54px;width:70px;height:65px;background:linear-gradient(#58616b,#1e2933);border-radius:12px 25px 25px 12px;z-index:1;box-shadow:inset 0 4px 0 #84919f}.film-lens>div{width:36px;height:52px;position:absolute;right:-6px;top:6px;border:8px solid #929eaa;background:linear-gradient(30deg,#22374a,#5d829e);border-radius:50%}.film-stand{position:absolute;left:97px;top:122px;height:89px;width:12px;background:linear-gradient(90deg,#c6ced3,#909ba5);transform:rotate(12deg)}.orb-art{position:absolute;width:110px;height:110px;right:8px;bottom:-37px;opacity:.7}.orb-art i{position:absolute;inset:0;border:1px solid #a8b5d0;border-radius:50%;transform:rotateX(50deg) rotateZ(30deg)}.orb-art i:nth-child(2){transform:rotateY(50deg) rotateZ(-30deg)}.orb-art i:nth-child(3){transform:rotateZ(70deg) rotateX(60deg)}.quiet-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-right:20px;transform:rotate(-13deg)}.quiet-grid span{width:45px;height:45px;border-radius:9px;background:linear-gradient(120deg,#e4e8ea,#f5f7f8);box-shadow:4px 5px 8px #bac3ca22}.studio{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:100px;background:#fff}.studio-monogram{height:380px;display:flex;align-items:center;justify-content:center;position:relative;background:radial-gradient(ellipse,#f2f3f4,#fff 68%)}.studio-monogram>span{font-family:'Songti SC',serif;font-size:200px;color:#474c52;text-shadow:2px 3px 0 #e8ebed,12px 15px 25px #b6c2cd40;transform:perspective(500px) rotateY(-15deg) rotateX(8deg)}.studio-monogram i{position:absolute;bottom:40px;width:180px;height:15px;background:#aab2bd33;filter:blur(13px);border-radius:50%}.studio-copy h2{font-size:40px;font-weight:600;line-height:1.35;margin:24px 0}.studio-copy>p{font-size:12px;line-height:2;color:#8b8b94}.studio-copy blockquote{margin:24px 0;font-size:15px;letter-spacing:.2px;color:#5f6269}.brand-values{display:flex;gap:18px;border-top:1px solid var(--line);padding-top:22px;margin-top:28px}.brand-values span{font-size:8px;letter-spacing:.5px;color:#a1a1a9}.contact{text-align:center;background:#f5f5f7;padding-bottom:65px}.contact h2{font-size:52px;font-weight:600;letter-spacing:-1px;line-height:1.35;margin:25px 0}.contact>p:not(.eyebrow){font-size:13px;color:#8e8e96;margin-bottom:25px}.contact-info{display:grid;grid-template-columns:1fr 1fr;text-align:left;border-top:1px solid #dedee4;margin-top:65px;padding:33px 0 0;gap:40px}.contact-info>div>span{display:block;color:#aaaab0;font-size:9px;margin-bottom:13px}.contact-info a{font-size:21px;font-weight:500;display:block;margin-bottom:10px}.contact-info button{font-size:10px;color:var(--blue)}.contact-info p{font-size:12px;color:#6e6e75}.contact-info small{display:block;margin-top:10px;font-size:10px;color:#a0a0a7}footer{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:25px 6vw;border-top:1px solid #e4e4e7;font-size:8px;color:#a2a2aa;background:#f5f5f7}.footer-brand{font-size:11px;font-weight:600;color:#66666f}.footer-brand span{font-size:7px;margin-left:7px;letter-spacing:.6px}.toast{position:fixed;bottom:25px;left:50%;transform:translate(-50%,15px);background:#25252be8;backdrop-filter:blur(12px);border-radius:30px;padding:12px 22px;color:white;font-size:12px;opacity:0;pointer-events:none;transition:.2s;z-index:30}.toast.show{opacity:1;transform:translate(-50%,0)}.reveal{opacity:0;transform:translateY(22px);transition:opacity .7s,transform .7s}.reveal.visible{opacity:1;transform:none}
@media(min-width:1500px){.hero{padding-top:80px}.crew-stage{height:490px}}@media(max-width:1000px){.section{padding:80px 6vw}.crew-stage{height:360px}.role-copy{padding:50px 30px 35px 15px}.role-copy h3{font-size:27px}.process-feature{min-height:460px}.role-art{min-height:460px}.capability{padding:24px}.studio{gap:45px}.studio-copy h2{font-size:33px}.hero h1{font-size:61px}.capabilities{gap:13px}.capability h3{font-size:19px}.capability p{font-size:9px}.film-object{transform:translateX(-50%) rotate(-12deg) scale(.8)}.brand-values{gap:10px}}
@media(max-width:680px){header{height:68px;padding:0 6vw;gap:15px}.brand>span{font-size:13px}.brand small{font-size:5px}.brand svg{width:23px}.header-cta{margin-left:auto;font-size:9px;padding:9px 12px}.header-cta span{margin-left:8px}.menu{display:block;font-size:15px}nav{display:none;position:absolute;top:68px;left:0;right:0;padding:25px 6vw;background:#fafaf9f8;border-bottom:1px solid var(--line);gap:25px}nav.open{display:flex}.hero{padding-top:45px}.hero .eyebrow{font-size:8px;letter-spacing:1.5px}.hero h1{font-size:43px;line-height:1.3;letter-spacing:-1.7px;margin:20px 0}.hero-description{font-size:12px;line-height:1.9}.hero-actions{gap:20px;margin-top:23px}.button{font-size:10px;padding:12px 20px;gap:12px}.link{font-size:10px}.crew-stage{height:325px;width:135%;max-width:none;margin-left:-17.5%;margin-top:12px}.crew-labels{grid-template-columns:repeat(4,1fr);padding:20px 5px 30px}.crew-labels strong{font-size:12px;margin:9px 0 5px}.crew-labels span{font-size:5px;letter-spacing:.3px}.crew-labels small{font-size:7px}.scene-hint{left:20%;bottom:0;font-size:7px}.hint-small{display:none}.motion-toggle{right:20%;width:23px;height:23px;bottom:-4px;font-size:8px}.hero-foot{font-size:6px;letter-spacing:.5px;padding:20px 0}.hero-foot>span:nth-child(2){display:none}.section{padding:65px 6vw}.eyebrow{font-size:8px;letter-spacing:1.5px}.section-intro h2{font-size:32px;letter-spacing:-1px;margin:20px 0}.section-description{font-size:11px}.process-tabs{gap:2px;padding:4px;width:100%;margin:30px 0 20px;justify-content:space-between}.process-tabs button{font-size:8px;padding:11px 10px}.process-feature{grid-template-columns:1fr;border-radius:22px}.role-art{height:350px;min-height:0}.role-watermark{font-size:60px;top:25px}.role-badge{font-size:7px;bottom:15px;left:23px}.role-copy{padding:30px}.role-copy h3{font-size:28px;margin:18px 0}.role-copy>p{font-size:11px}.role-index{font-size:8px}.role-note{padding-top:17px}.next-role{margin-top:23px}.capabilities{grid-template-columns:1fr 1fr;gap:12px;margin-top:30px}.capability{min-height:285px;padding:23px 18px;border-radius:20px}.capability.large{grid-row:auto;grid-column:span 2;min-height:350px}.capability.large>p{max-width:200px}.capability.large .mini-icon{margin-bottom:18px}.capability h3{font-size:17px;margin:12px 0}.cap-en{font-size:6px;letter-spacing:.4px}.capability p{font-size:9px;line-height:1.9}.capability p br{display:none}.cap-bottom{font-size:7px;bottom:23px;left:18px;right:18px;line-height:1.7}.film-object{left:auto;right:-20px;bottom:0;transform:rotate(-12deg) scale(.65);transform-origin:right bottom}.production-path{gap:6px;font-size:8px;position:relative;z-index:2}.production-path i{width:12px}.capability.wide{grid-column:span 2;min-height:255px}.capability.wide>div:first-child{max-width:215px}.quiet-grid{margin-right:0;gap:5px}.quiet-grid span{width:25px;height:25px;border-radius:6px}.studio{grid-template-columns:1fr;gap:30px}.studio-monogram{height:230px}.studio-monogram>span{font-size:160px}.studio-monogram i{bottom:10px;width:150px}.studio-copy h2{font-size:34px}.studio-copy>p{font-size:11px}.studio-copy blockquote{font-size:13px;margin:20px 0}.brand-values{gap:15px}.brand-values span{font-size:7px}.contact h2{font-size:34px;letter-spacing:-.8px}.contact>p:not(.eyebrow){font-size:10px}.contact-info{grid-template-columns:1fr;gap:28px;margin-top:45px;padding-top:27px}.contact-info a{font-size:23px}.contact-info p{font-size:11px}.contact-info small{font-size:9px}footer{flex-wrap:wrap;gap:20px;padding:25px 6vw;font-size:7px}footer .footer-brand{width:55%}footer>span:nth-of-type(2){font-size:6px}.reveal{transform:translateY(15px)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}}
@media(min-width:681px){.hero{padding-top:48px}.hero h1{font-size:clamp(45px,4.6vw,62px);letter-spacing:-2px}.hero h1 br{display:none}.crew-stage{height:330px}.crew-labels{padding-top:10px;padding-bottom:30px}.hero-foot{padding-top:18px;padding-bottom:20px}}
@media(max-width:680px){.crew-stage{height:420px}.scene-hint{bottom:0}}
@media(max-width:680px){.crew-stage{width:100%;margin-left:0;height:400px}.scene-hint{left:6%}.motion-toggle{right:6%}}
/* Light, volume and editorial linework */
.hero{position:relative;background:radial-gradient(ellipse at 16% 38%,#f5eada99 0%,transparent 44%),radial-gradient(ellipse at 88% 62%,#dce6ef77 0%,transparent 48%),#fafaf9;isolation:isolate}.hero:before{content:'';position:absolute;inset:-20%;background:linear-gradient(121deg,transparent 33%,#ffffffa0 35%,#ffffff00 45%,#b6c4d71c 49%,transparent 61%);filter:blur(7px);pointer-events:none;z-index:-1}.crew-stage{background:radial-gradient(ellipse at 53% 87%,#8593a810,transparent 67%)}.crew-illustration{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;stroke:#718196;stroke-width:1.1;opacity:.57}.crew-illustration text{stroke:none;fill:#7e8c9b;font:9px monospace;letter-spacing:2px}.illustration-dash{stroke-dasharray:3 8;opacity:.4}.process{background:radial-gradient(ellipse at 0 20%,#f0f4f855,transparent 55%),#fff}.role-art{background:radial-gradient(ellipse at 24% 24%,#fffdf5,#e2e8ef55 65%,#f5f5f7)}.capability{box-shadow:0 14px 35px -22px #5e6f8826}.capability.large{background:radial-gradient(ellipse at 25% 20%,#fff9ef,#e5edf2 65%,#ecf0f4)}.film-object.camera-illustration{height:240px;width:100%;left:0;right:0;bottom:0;transform:none;overflow:hidden}.camera-illustration canvas,.camera-illustration svg{position:absolute;inset:0;width:100%;height:100%}.camera-illustration svg{z-index:1;pointer-events:none;stroke:#8392a5;stroke-width:.8;opacity:.6}.camera-illustration text{stroke:none;fill:#78889a;font:7px monospace;letter-spacing:1.5px}.studio{gap:65px}.camera-experience{height:420px;position:relative;border-radius:26px;overflow:hidden;background:radial-gradient(ellipse at 25% 18%,#fffdf8,#e7edf3 70%,#e0e6ed);outline-offset:5px;isolation:isolate}.camera-experience:after{position:absolute;inset:-10%;content:'';z-index:-1;background:linear-gradient(125deg,transparent 20%,#ffffffb0 25%,#ffffff00 42%,#aebdd42a 60%,transparent 74%);filter:blur(15px)}.camera-experience canvas,.camera-fallback{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}.camera-fallback{mix-blend-mode:multiply}.camera-experience.ready .camera-fallback{opacity:0}.camera-topline{position:absolute;top:24px;left:25px;right:25px;display:flex;justify-content:space-between;font-size:6px;letter-spacing:1.2px;color:#9aa3ad;pointer-events:none}.camera-caption{position:absolute;bottom:35px;left:28px;right:28px;pointer-events:none}.camera-caption strong{display:block;font-size:17px;font-weight:500;letter-spacing:-.3px}.camera-caption>span{display:block;font-size:9px;color:#8a95a1;margin-top:7px}.camera-caption button{pointer-events:auto;font-size:9px;border:1px solid #a7b4c35a;border-radius:20px;background:#ffffff99;padding:8px 12px;margin-top:13px;color:#65768a}.camera-note{position:absolute;bottom:13px;right:23px;font-size:6px;color:#a5acb4}.brand>svg{display:none}body.intro-playing{overflow:hidden}.aperture-intro{position:fixed;inset:0;z-index:100;background:radial-gradient(ellipse at 50% 40%,#fff,#eef1f5);transition:opacity .6s,visibility .6s;isolation:isolate}.aperture-intro.hidden{opacity:0;visibility:hidden;pointer-events:none}.aperture-intro canvas{position:absolute;inset:0;width:100%;height:100%}.intro-header{position:absolute;left:5vw;right:5vw;top:32px;display:flex;justify-content:space-between;align-items:center;z-index:3;font-size:8px;color:#8d949c;letter-spacing:2px}.intro-header button{font-size:9px;letter-spacing:.5px;padding:10px}.intro-caption{position:absolute;bottom:13%;left:0;right:0;text-align:center;z-index:3}.intro-caption>span{font-size:8px;letter-spacing:3px;color:#8d98a4}.intro-caption p{font-size:16px;letter-spacing:2px;color:#5f6c7a;margin-top:14px}.intro-steps{position:absolute;bottom:7%;left:0;right:0;display:flex;gap:7px;justify-content:center}.intro-steps i{height:2px;width:22px;background:#d7dce2;transition:background .2s}.intro-steps i.active{background:#59697d}.intro-wordmark{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;opacity:0;pointer-events:none;z-index:2;background:#fafaf900;transition:opacity .55s}.intro-wordmark strong{font-size:clamp(30px,5vw,58px);font-weight:500;letter-spacing:8px}.intro-wordmark>span{font-size:9px;letter-spacing:6px;color:#8c969f}.aperture-intro.brand-reveal .intro-wordmark{opacity:1}.aperture-intro.brand-reveal .intro-caption{opacity:0;transition:opacity .3s}.aperture-intro.brand-reveal canvas{opacity:0;transition:opacity .8s}#replayAperture{font-size:8px;color:#929ca8}
@media(max-width:1000px){.studio{gap:35px}.camera-experience{height:400px}}@media(max-width:680px){.crew-illustration{display:none}.studio{gap:38px}.camera-experience{height:380px}.camera-topline{left:20px;right:20px;font-size:5px}.camera-caption{left:23px;bottom:36px}.camera-caption strong{font-size:16px}.camera-caption>span{font-size:8px}.film-object.camera-illustration{width:180px;height:190px;left:auto;right:-5px;bottom:-10px;transform:none}.intro-header{top:22px;font-size:7px;letter-spacing:1.5px}.intro-caption{bottom:16%}.intro-caption p{font-size:13px}.intro-wordmark strong{letter-spacing:5px}.intro-wordmark>span{font-size:7px;letter-spacing:4px}#replayAperture{font-size:7px}}
@media(prefers-reduced-motion:reduce){body.intro-playing{overflow:auto}.aperture-intro{display:none}}
.aperture-intro{transition:none}.aperture-intro.hidden{transition:opacity .6s,visibility .6s}.aperture-intro:not(.brand-reveal) .intro-wordmark{transition:none}
/* V5: optical close-up, dark metal and grazing light. */
.aperture-intro{background:radial-gradient(ellipse at 48% 42%,#151d27 0%,#090d12 49%,#05070a 100%)}.intro-header{color:#798491}.intro-header button{color:#8f9ba9}.intro-caption{bottom:12%}.intro-caption>span{font-size:7px;color:#67788b;letter-spacing:3px}.intro-caption p{font-size:13px;letter-spacing:8px;color:#8f9cab;margin-top:11px}.intro-steps i{height:1px;background:#26313e;width:19px}.intro-steps i.active{background:#c6b395}.intro-wordmark{color:#e3e6e9}.intro-wordmark strong{font-size:clamp(28px,4vw,48px);letter-spacing:7px;font-weight:400}.intro-wordmark>span{color:#708091;font-size:8px}.aperture-intro.hidden{transition:opacity .25s,visibility .25s}.intro-wordmark{transition:opacity .18s}.aperture-intro.brand-reveal canvas{transition:opacity .25s}.intro-steps{bottom:6%}
/* Narrative illustration + dimensional set design. */
.crew-stage{max-width:1160px;width:88%;height:auto;aspect-ratio:3/1;margin:32px auto 0;border-radius:24px;isolation:isolate;background:#eae7e4}.illustrated-crew{position:absolute;inset:0;display:grid;grid-template-columns:repeat(4,1fr);overflow:hidden;opacity:1;transition:opacity .5s;transform:scale(1.015);animation:paintedBreath 16s ease-in-out infinite alternate}.illustrated-crew>div{background-image:url('assets/crew-illustration-v5.jpg');background-size:400% 100%;background-position:var(--crop) center}.crew-stage.ready #crewCanvas,.crew-stage #crewCanvas{opacity:0}.crew-stage.show-three #crewCanvas{opacity:1}.crew-stage.show-three .illustrated-crew{opacity:0;pointer-events:none}.crew-stage .scene-fallback,.crew-illustration{display:none}.crew-stage.show-three{background:radial-gradient(ellipse at 10% 20%,#fff1e0,#dde5ef 75%)}.scene-hint{left:20px;bottom:17px;z-index:2;color:#eee4d9;text-shadow:0 1px 8px #1b263c}.scene-hint .status-dot{background:#e3c9a7}.hint-small{color:#dcd5d3;border-color:#ffffff30}.motion-toggle{z-index:3;right:20px;bottom:13px;background:#ffffffbf;color:#506174}.art-mode-switch,.role-mode-switch{position:absolute;top:18px;right:18px;z-index:5;display:flex;gap:3px;border:1px solid #ffffff60;background:#f6f5f0cf;border-radius:25px;padding:3px;backdrop-filter:blur(15px)}.art-mode-switch button,.role-mode-switch button{font-size:8px;color:#92939a;padding:7px 11px;border-radius:20px}.art-mode-switch button.active,.role-mode-switch button.active{background:#fff;color:#3a4655;box-shadow:0 1px 5px #0000000b}.crew-stage.show-three .scene-hint{color:#8490a0;text-shadow:none}.crew-stage.show-three .hint-small{color:#a2a7b1}.crew-stage.art-paused .illustrated-crew{animation-play-state:paused}.crew-labels{max-width:1160px;margin-top:15px}.role-illustration{position:absolute;inset:0;z-index:2;background:url('assets/crew-illustration-v5.jpg') 0% center / 400% 100% no-repeat;transition:opacity .45s;filter:saturate(.82)}.role-art #roleCanvas{opacity:0;transition:opacity .45s}.role-art.show-three #roleCanvas{opacity:1}.role-art.show-three .role-illustration{opacity:0;pointer-events:none}.role-art:not(.show-three) .role-watermark{display:none}.role-art .role-badge{z-index:4;color:#eee8df;text-shadow:0 1px 7px #1d293d}.role-art.show-three .role-badge{color:#8d9bae;text-shadow:none}.role-mode-switch{top:20px;right:20px}.hero{background:radial-gradient(ellipse at 16% 38%,#f1e5dc88,transparent 44%),radial-gradient(ellipse at 88% 62%,#e6e4f477,transparent 48%),#fafaf9}.capability.large{background:radial-gradient(ellipse at 25% 20%,#fff4e7,#e6e3ed 65%,#eceff4)}.hero h1 .blue{color:#596d8d}.button{background:#4d6385}.button:hover{background:#3f567a}.link,.role-index,.next-role{color:#596d8d}@keyframes paintedBreath{from{transform:scale(1.015) translateY(0)}to{transform:scale(1.045) translateY(-2px)}}
@media(max-width:680px){.crew-stage{width:88%;height:450px;aspect-ratio:auto;margin:25px auto 0;border-radius:20px}.illustrated-crew{grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr}.crew-stage .scene-hint{left:12px;bottom:13px;font-size:6px}.motion-toggle{right:12px;bottom:8px;width:23px;height:23px}.art-mode-switch{top:10px;right:10px}.art-mode-switch button,.role-mode-switch button{font-size:7px;padding:6px 9px}.role-mode-switch{top:14px;right:14px}.role-illustration{background-size:400% 100%}.role-art{height:390px}.crew-labels{margin-top:8px}.hint-small{display:none}}
@media(prefers-reduced-motion:reduce){.illustrated-crew{animation:none}}
.role-illustration{background-size:400% auto;background-position:0% top}
@media(max-width:680px){.role-illustration{background-size:400% auto}}
/* V6: one illustrated 3D model language, without image-mode controls. */
.crew-stage{background:radial-gradient(ellipse at 15% 15%,#fff1df,#e2dfed 70%,#d7e0ec);height:385px;aspect-ratio:auto}.crew-stage.show-three{background:radial-gradient(ellipse at 15% 15%,#fff1df,#e2dfed 70%,#d7e0ec)}.crew-stage #crewCanvas{opacity:1}.crew-stage .scene-fallback{display:block}.crew-stage.ready .scene-fallback{opacity:0}.crew-illustration{display:block;z-index:1;opacity:.5;stroke:#5a5a72}.crew-stage .scene-hint{color:#777b91;text-shadow:none;z-index:2}.crew-stage .hint-small{color:#9296a6}.role-art #roleCanvas{opacity:1}.role-art .role-watermark{display:block!important;color:#d0cedc}.role-art .role-badge{color:#85869b;text-shadow:none}.role-art{background:radial-gradient(ellipse at 20% 25%,#fff3e5,#e3e0ed 70%,#dce4ed)}.site-sound{font-size:9px;white-space:nowrap;color:#8f929f;padding:8px 10px;border:1px solid #dddde4;border-radius:25px}header{gap:20px}.site-sound[aria-pressed="true"]{color:#536a87;border-color:#b7c3d3;background:#e8edf4}.intro-header{justify-content:initial;gap:20px}.intro-header>span{margin-right:auto}.intro-header #introSound{border:1px solid #465165;border-radius:20px;padding:8px 12px;color:#bac1cf;font-size:8px}.intro-header #skipAperture{font-size:8px}.crew-labels{margin-top:12px}@media(max-width:680px){.crew-stage{height:440px;width:88%}.site-sound{font-size:7px;padding:7px 8px}.header-cta{padding:8px 10px}header{gap:10px}.intro-header{gap:9px}.intro-header>span{font-size:6px;letter-spacing:1px}.intro-header #introSound{font-size:7px;padding:7px 8px}.intro-header #skipAperture{font-size:7px}.crew-illustration{display:none}.role-art{height:390px}}
/* Unified soft animated-film character rendering and future portfolio slots. */
.crew-stage,.crew-stage.show-three{background:radial-gradient(ellipse at 25% 20%,#fff7eb,#e7e8f1 75%)}.crew-illustration{opacity:.25}.role-art{background:radial-gradient(ellipse at 20% 25%,#fff5e8,#e7e9f3)}.capability{padding-bottom:78px}.capability.large{padding-bottom:280px}.works-entry{position:absolute;bottom:25px;left:30px;z-index:5;font-size:10px;color:#526984;background:#f2f4f8d9;border:1px solid #dfe4eb;border-radius:24px;padding:10px 15px}.cap-bottom{bottom:72px}.film-object.camera-illustration{bottom:35px;pointer-events:none}.works-dialog,.video-dialog{border:1px solid #e2e4e9;border-radius:22px;padding:0;color:#252936;background:#fafafc;width:min(950px,92vw);max-height:90svh;overflow:auto}.works-dialog::backdrop,.video-dialog::backdrop{background:#131b29b8;backdrop-filter:blur(15px)}.dialog-top{padding:25px 30px;display:flex;justify-content:space-between;align-items:center;gap:20px;border-bottom:1px solid #e3e5eb}.dialog-top>div>span{font-size:8px;letter-spacing:1.8px;color:#929aaa}.dialog-top h2{font-size:23px;letter-spacing:-.5px;font-weight:500;margin-top:10px}.dialog-top>button{font-size:11px;color:#7b8594}.works-empty{padding:80px 20px 90px;text-align:center}.works-empty>span{display:inline-grid;place-items:center;border:1px solid #ccd4df;color:#8392a7;border-radius:50%;width:55px;height:55px;font-size:14px;padding-left:3px}.works-empty h3{font-weight:500;font-size:21px;margin:25px 0 12px}.works-empty p{font-size:12px;color:#9ca4b0}.works-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px;padding:30px}.works-grid:empty{display:none}.work-tile{text-align:left;min-width:0}.work-poster{position:relative;aspect-ratio:16/9;background:linear-gradient(130deg,#e2e6ee,#f2f0eb);border-radius:13px;overflow:hidden;display:grid;place-items:center}.work-poster img{width:100%;height:100%;object-fit:cover}.work-poster>span{position:absolute;display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:#ffffffcc;color:#65758b;font-size:12px}.work-tile strong{display:block;font-size:15px;font-weight:500;margin:15px 0 8px}.work-tile small{display:block;font-size:10px;line-height:1.8;color:#8d97a4}.video-stage{position:relative;aspect-ratio:16/9;background:#0e131a;display:grid;place-items:center}.video-stage video{width:100%;height:100%;object-fit:contain;position:absolute;inset:0}.video-watermark{position:absolute;right:20px;bottom:16px;font-size:8px;letter-spacing:1px;color:#ffffff73;pointer-events:none}.video-controls{display:flex;align-items:center;gap:18px;padding:23px 25px;font-size:10px;color:#67748a}.video-controls input{flex:1;min-width:20px;accent-color:#6f809c;height:2px}.video-controls span{font:9px monospace;white-space:nowrap}.video-controls button{white-space:nowrap}.video-stage #videoError{z-index:2;text-align:center;background:#111923df;padding:25px;border-radius:15px;color:#c7cfdc;font-size:12px}.video-stage #videoError button{margin-top:15px;color:#9daecc;font-size:11px}.video-stage #videoError[hidden]{display:none}.video-stage:fullscreen video{object-fit:contain}.video-stage:fullscreen{width:100vw;height:100vh;background:#000}
@media(max-width:680px){.works-entry{left:18px;bottom:20px;padding:9px 12px;font-size:8px}.capability{padding-bottom:85px}.capability.large{padding-bottom:130px}.capability.large .works-entry{bottom:20px}.film-object.camera-illustration{bottom:15px;right:0;width:160px}.cap-bottom{bottom:65px;font-size:7px}.dialog-top{padding:22px}.dialog-top h2{font-size:20px}.works-grid{grid-template-columns:1fr;padding:23px;gap:25px}.works-empty{padding:65px 15px 75px}.works-empty h3{font-size:19px}.video-controls{gap:10px;font-size:8px;padding:20px 15px}.video-controls span{font-size:7px}.video-watermark{font-size:6px;right:12px;bottom:10px}.works-dialog,.video-dialog{width:94vw;border-radius:17px}}
