@import url("assets/fonts/inter/font.css");
@import url("assets/fonts/outfit/font.css");
@import url("assets/fonts/ibm-plex-mono/font.css");
:root{--ink:#111311;--paper:#f3f4f0;--accent:#c83d2c;--safe:clamp(22px,3.5vw,64px);color-scheme:dark}
*{box-sizing:border-box}html{background:var(--ink);scroll-behavior:smooth}body{margin:0;background:var(--ink);color:var(--paper);font:16px/1.5 "Inter Variable","PingFang SC","Microsoft YaHei",sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input{font:inherit}button{cursor:pointer}button,a,input{-webkit-tap-highlight-color:transparent}button:disabled{cursor:default;opacity:.6}a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid var(--accent);outline-offset:5px}[hidden]{display:none!important}
.skip{position:fixed;z-index:100;top:12px;left:var(--safe);padding:12px;background:var(--ink);transform:translateY(-180%)}.skip:focus{transform:none}
.site-bar{position:fixed;z-index:20;inset:0 0 auto;display:flex;align-items:center;justify-content:space-between;min-height:96px;padding:24px var(--safe);color:white;mix-blend-mode:exclusion;pointer-events:none;transition:opacity .35s,transform .35s,filter .35s}.site-bar>*{pointer-events:auto}.wordmark{display:flex;flex-direction:column;text-decoration:none;opacity:0;filter:blur(5px);transition:opacity .6s,filter .6s}.wordmark strong{font-size:20px;font-weight:600;letter-spacing:.06em;line-height:1.15}.wordmark span{margin-top:7px;font-size:9px;letter-spacing:.19em}.site-bar nav{display:flex;gap:34px}.site-bar nav a{display:inline-flex;align-items:center;min-height:44px;text-decoration:none;font-size:15px}.site-bar nav a:hover{opacity:.7}.brand-settled .wordmark{opacity:1;filter:none}.site-bar.nav-hidden{opacity:0;transform:translateY(-22px);filter:blur(6px);pointer-events:none}.site-bar.nav-hidden>*{pointer-events:none}.site-bar:focus-within{opacity:1;transform:none;filter:none}.site-bar:focus-within>*{pointer-events:auto}
.brand-intro{position:absolute;inset:0 0 auto;height:100svh;z-index:12;pointer-events:none;color:white;mix-blend-mode:exclusion;display:flex;align-items:center;padding:80px var(--safe);transition:opacity .7s,filter .7s}.brand-intro h1{margin:0;font-size:clamp(88px,17.7vw,280px);font-weight:600;letter-spacing:-.075em;line-height:.84}.brand-intro span{display:block;animation:brand-enter 1.15s cubic-bezier(.16,1,.3,1) both}.brand-intro span:last-child{animation-delay:.16s}.brand-settled .brand-intro{opacity:0;filter:blur(9px)}@keyframes brand-enter{from{opacity:0;filter:blur(14px);transform:translateY(18px)}to{opacity:1;filter:none;transform:none}}
.scene{position:relative;height:100svh;background:#101110}.scene-stage{position:sticky;top:0;height:100svh;overflow:clip;isolation:isolate}.scene-poster,.scene-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;pointer-events:none}.scene-poster{z-index:0}.scene-video{z-index:1;opacity:0;transition:opacity .6s}.scene.has-frame .scene-video{opacity:1}.scene-stage::after{content:"";position:absolute;z-index:2;inset:0;pointer-events:none;background:linear-gradient(180deg,#0003,transparent 30%,transparent 65%,#0006)}.scene-title{position:sticky;z-index:3;top:calc(50svh - 44px);margin:0 var(--safe);max-width:min(76%,950px);color:white;mix-blend-mode:exclusion;font-size:clamp(36px,4.6vw,72px);font-weight:500;line-height:1.03;letter-spacing:-.045em;opacity:.25;filter:blur(8px);transition:opacity .4s,filter .4s}.scene-title button{font:inherit;letter-spacing:inherit;color:inherit;text-align:left;background:none;border:0;padding:8px 0;overflow-wrap:anywhere}.scene.is-stable .scene-title{opacity:1;filter:none}.scene:first-of-type .scene-title{opacity:0}.brand-settled .scene:first-of-type .scene-title{opacity:.25}.brand-settled .scene:first-of-type.is-stable .scene-title,.scene:first-of-type .scene-title:focus-within{opacity:1}.scene-title button:hover{opacity:.8}.scene-bottom{position:absolute;z-index:4;bottom:max(28px,env(safe-area-inset-bottom));left:var(--safe);right:var(--safe);display:flex;justify-content:space-between;align-items:end;gap:24px}.scene-watch,.preview-toggle{min-height:48px;border:0;background:none;color:white;padding:10px 0;font-size:14px;text-shadow:0 1px 5px #000}.scene-watch{text-decoration:none}.preview-toggle{min-width:94px;text-align:right}.scene-status{margin:0;max-width:38ch;font-size:14px;color:white;text-shadow:0 1px 5px #000}.scene-status:empty{display:none}.scene-status:not(:empty)+.scene-watch{margin-top:4px}.preview-toggle:hover,.scene-watch:hover{opacity:.7}.direct-film{position:absolute;bottom:36px;left:var(--safe);z-index:3}
.about{padding:110px var(--safe) 100px;display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:end;border-top:1px solid #ffffff26}.about h2{margin:0;font-size:clamp(40px,6vw,88px);font-weight:500;line-height:1.2;letter-spacing:-.05em}.about h2 span{display:block;font-size:14px;letter-spacing:.14em;margin-top:16px}.about p{margin:0 0 4px;font-size:20px;max-width:22ch;color:#a6aba3}footer{padding:22px var(--safe) 30px;border-top:1px solid #ffffff26;font-size:12px;color:#a6aba3}.footer-wordmark{display:flex;align-items:baseline;justify-content:space-between;margin:0;padding:28px 0 38px;font-size:clamp(54px,13.1vw,218px);font-weight:750;letter-spacing:-.075em;line-height:1.15;white-space:nowrap;color:var(--paper)}.footer-bottom{display:flex;align-items:center;justify-content:space-between;gap:20px}footer nav{display:flex;gap:26px}footer a{display:inline-flex;align-items:center;min-height:44px;text-decoration:none}
.viewer{max-width:none;max-height:none;width:100%;height:100dvh;margin:0;padding:0;border:0;background:#090a09;color:white;overflow:hidden}.viewer::backdrop{background:#090a09}.viewer-surface{position:relative;width:100%;height:100%;background:#090a09}.viewer-video{width:100%;height:100%;object-fit:contain}.viewer-top{position:absolute;inset:0 0 auto;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:max(18px,env(safe-area-inset-top)) var(--safe);background:linear-gradient(#000b,transparent)}.viewer-top h2{margin:0;font-size:18px;font-weight:500}.viewer button{border:0;background:transparent;color:white;min-height:48px;padding:8px 12px}.viewer-close{margin-right:-12px}.viewer-controls{position:absolute;inset:auto 0 0;padding:25px var(--safe) max(22px,env(safe-area-inset-bottom));background:linear-gradient(transparent,#000d);transition:opacity .3s}.viewer.controls-hidden .viewer-controls,.viewer.controls-hidden .viewer-top{opacity:0;pointer-events:none}.viewer-top{transition:opacity .3s}.viewer-status{position:absolute;left:var(--safe);top:50%;margin:0;max-width:70%;background:#090a09b3;padding:8px 12px}.viewer-status:empty{display:none}.viewer-retry{position:absolute;left:var(--safe);top:calc(50% + 56px);text-decoration:none}.viewer-actions{display:flex;align-items:center;gap:14px}.viewer-actions button:first-child{padding-left:0}.viewer-time{margin-left:auto;font-size:13px;font-variant-numeric:tabular-nums;white-space:nowrap}.timeline{position:relative;height:32px;display:flex;align-items:center;--played:0%;--buffered:0%}.timeline::before,.buffered,.elapsed{position:absolute;height:2px;left:0;right:0;pointer-events:none}.timeline::before{content:"";background:#ffffff38}.buffered{right:auto;width:var(--buffered);background:#ffffff70}.elapsed{right:auto;width:var(--played);background:white}.seek{position:absolute;inset:0;margin:0;width:100%;height:32px;opacity:0;cursor:pointer}.timeline:focus-within{outline:2px solid var(--accent);outline-offset:2px}.timeline:focus-within .elapsed,.timeline:hover .elapsed{height:4px}.viewer.expanded{position:fixed;inset:0;width:100vw;height:100dvh}.viewer button:hover{color:#b6bcb0}body.viewer-open{position:fixed;width:100%;overflow:hidden}
@media(max-width:700px){.site-bar{min-height:80px;padding-block:16px}.wordmark strong{font-size:16px}.wordmark span{font-size:8px}.site-bar nav{gap:22px}.site-bar nav a{font-size:13px}.brand-intro h1{font-size:20vw;line-height:.9}.scene-title{font-size:clamp(38px,10vw,60px);max-width:calc(100% - 44px);top:calc(50svh - 30px)}.scene-bottom{bottom:max(24px,env(safe-area-inset-bottom))}.about{grid-template-columns:1fr;padding-block:75px;gap:30px}.about p{font-size:18px}.footer-wordmark{font-size:13.1vw;padding:20px 0 28px}.footer-bottom{align-items:flex-start;flex-direction:column;gap:4px}footer nav{gap:24px}.viewer-top h2{font-size:15px}.viewer-actions{gap:4px;flex-wrap:wrap}.viewer-actions button{font-size:13px;padding-inline:8px}.viewer-time{font-size:11px}.viewer-controls{padding-inline:20px}.viewer-top{padding-inline:20px}}
.footer-wordmark{font-family:"Outfit Variable",sans-serif}
/* Partner strip: fixed label, spacious continuous track, local fonts. */
.partners{display:grid;grid-template-columns:160px minmax(0,1fr);gap:40px;align-items:center;padding:32px 0 40px}
.partners-kicker{margin:0 0 6px;font-size:12px;font-weight:400;color:var(--paper);letter-spacing:.06em}
.partners h2{margin:0;font:400 10px/1.5 "IBM Plex Mono",monospace;letter-spacing:.08em;text-transform:uppercase}
.partner-window{overflow:hidden;min-width:0;mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent)}
.partner-track{display:flex;width:max-content;animation:partner-drift var(--partner-duration,40s) linear infinite}
.partner-list{display:flex;align-items:center;gap:80px;padding-right:80px;flex-shrink:0}
.partner-item{width:120px;height:70px;flex:none;display:flex;align-items:center;justify-content:center;color:var(--paper)}
.partner-item img{display:block;width:var(--logo-width,110px);max-width:140px;max-height:46px;object-fit:contain}
.partner-placeholder{opacity:.55;font-size:22px;font-weight:500;letter-spacing:-.04em}
.partners:is(:hover,:focus-within) .partner-track{animation-play-state:paused}
@keyframes partner-drift{to{transform:translateX(-50%)}}
@media(max-width:700px){.partners{grid-template-columns:minmax(0,1fr);gap:20px;padding:24px 0 32px}.partner-window{width:100%}.partner-list{gap:48px;padding-right:48px}.partner-item{width:112px}}
@media(prefers-reduced-motion:reduce){.partner-track{animation:none;width:auto}.partner-list{flex-wrap:wrap;gap:24px;padding:0;width:100%;justify-content:space-around}.partner-copy{display:none}.partner-window{mask-image:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.scene-title{filter:none}.brand-intro{display:none}.wordmark{opacity:1;filter:none}.scene:first-of-type .scene-title{opacity:1}}
