:root{color-scheme:light}*{box-sizing:border-box}body{margin:0;background:#f5f5f7;color:#1d1d1f;font-family:Arial,Noto Sans TC,sans-serif}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}a:focus-visible,button:focus-visible{outline:3px solid #0071e3;outline-offset:5px}header{position:sticky;top:0;z-index:20;background:#f5f5f7ee;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);display:flex;justify-content:space-between;align-items:center;padding:18px 5%;border-bottom:1px solid #ddd}.brand{font-size:22px;font-weight:800;letter-spacing:2px}.brand span{display:block;font-size:9px;letter-spacing:3px}nav{display:flex;gap:24px;font-size:12px}nav a[aria-current]{color:#0071e3}section{padding:100px max(6%,calc((100vw - 1200px)/2))}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(42px,6.9vw,96px);line-height:1.06;letter-spacing:-.055em;font-weight:700}h2{font-size:clamp(36px,5.1vw,68px);line-height:1.15;letter-spacing:-.04em;margin-bottom:48px}h3{font-size:24px;line-height:1.4;letter-spacing:-.025em}li,p{line-height:1.9}p{color:#6e6e73}.hero{padding-top:130px;padding-bottom:110px}.contact h2 span,.hero h1 span{color:#0071e3}.eyebrow{font-size:11px;letter-spacing:2px;font-weight:700;text-transform:uppercase;margin-bottom:28px}.intro{font-size:19px;margin:36px 0}.actions{display:flex;gap:30px;align-items:center}.button{display:inline-block;background:#0071e3;color:white;border-radius:28px;padding:14px 24px;font-size:14px}.stats{padding-top:35px;padding-bottom:35px;background:white;display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.stats strong{font-size:clamp(30px,4vw,56px);letter-spacing:-.05em}.stats p{font-size:13px;margin:8px 0}.split{display:grid;grid-template-columns:1.2fr 1fr;gap:60px}.large{font-size:22px;color:#444}.grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}.card{padding:36px;background:white;border-radius:24px}.card .eyebrow{color:#0071e3}.capabilities{margin-top:48px}.timeline article{display:grid;grid-template-columns:210px 1fr;gap:40px;padding:40px 0;border-top:1px solid #d2d2d7}.period{color:#0071e3;font-size:16px;font-weight:700}.dark{background:#10131a;color:white}.dark p{color:#a1a1aa}.filters{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:32px}.filters button{padding:10px 20px;border:1px solid #555;border-radius:24px;background:transparent;color:white;cursor:pointer}.filters button[aria-pressed=true]{background:white;color:#10131a}.project{background:#1d222c;border-radius:24px;overflow:hidden;transition:transform .2s}.project:hover{transform:translateY(-4px)}.project img{width:100%;height:280px;object-fit:cover}.project>div{padding:30px}.project span{color:#8bc4ff}.caption{font-size:12px;margin-top:20px}.gallery{column-count:2;column-gap:24px}.gallery button{width:100%;background:white;border:0;border-radius:20px;overflow:hidden;margin:0 0 24px;text-align:left;cursor:pointer;page-break-inside:avoid;break-inside:avoid}.gallery img{width:100%;display:block}.gallery span{display:block;padding:20px}.contact{background:white}.contact .button{margin:10px 12px 0 0}.case h1{font-size:clamp(36px,5vw,68px);margin-top:30px}.case>img{width:100%;max-height:550px;object-fit:cover;border-radius:24px}.case article{padding:32px 0;border-bottom:1px solid #ddd}.case video{width:100%;margin-top:30px}footer{padding:30px 6%;display:flex;justify-content:space-between;font-size:11px;color:#6e6e73;gap:20px}.modal{position:fixed;inset:0;z-index:50;background:#000e;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 24px}.modal img{max-width:95%;max-height:75vh;object-fit:contain}.close,.modal p{color:white}.close{position:absolute;right:24px;top:20px;padding:12px;background:#333;border:0;border-radius:24px}.admin{max-width:1000px;margin:auto;padding:40px 24px}.admin input,.admin textarea{width:100%;padding:12px;margin:8px 0 20px;border:1px solid #bbb;border-radius:12px}.admin textarea{min-height:500px;font-family:monospace}.admin button{margin-right:10px}.admin label{display:block}@media(max-width:760px){header{align-items:flex-start;gap:16px}nav{gap:12px;flex-wrap:wrap;max-width:245px}section{padding:65px 6%}.hero{padding-top:85px}.grid,.split,.stats,.timeline article{grid-template-columns:1fr}.timeline article{gap:16px}.gallery{column-count:1}footer{flex-direction:column}.project img{height:230px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}.reading-progress{position:fixed;top:0;left:0;right:0;height:3px;z-index:100;background:#0071e3;transform:scaleX(var(--progress,0));transform-origin:left;pointer-events:none}.reveal{opacity:0;transform:translateY(34px);transition:opacity .8s cubic-bezier(.2,.7,.2,1),transform .8s cubic-bezier(.2,.7,.2,1)}.reveal.revealed{opacity:1;transform:none}.hero{position:relative;overflow:hidden;background:radial-gradient(ellipse at 85% 20%,#d4e6f9 0,transparent 55%)}.hero h1{transform:translateY(calc(var(--scene,0)*-25px))}.hero:after{content:"";position:absolute;right:-120px;top:80px;width:420px;height:420px;border:1px solid #0071e329;border-radius:50%;pointer-events:none}.language-switch{border:1px solid #d2d2d7;border-radius:20px;padding:8px 12px;font-size:12px;white-space:nowrap}.model-panel{position:relative;background:linear-gradient(135deg,#eaf0f8,#fff);border:1px solid #dce5f0;border-radius:30px;display:grid;grid-template-columns:1fr 1.4fr;margin-bottom:30px;overflow:hidden}.model-copy{padding:45px;align-self:center}.model-viewport{height:400px;min-width:0;position:relative}.model-viewport canvas{display:block;width:100%;height:100%;touch-action:pan-y;cursor:grab}.model-viewport svg{width:100%;height:100%}.model-controls{padding:0 35px 25px;grid-column:1/-1}.model-placeholder{height:420px;border-radius:30px;background:#eaf0f8}.film-scene{height:180vh;padding:0!important;background:#10131a}.film-sticky{height:100vh;position:sticky;top:0;display:flex;align-items:center;justify-content:center;overflow:hidden}.film-frame{position:relative;width:calc(78% + var(--film-progress,0)*22%);height:calc(70% + var(--film-progress,0)*30%);border-radius:calc(40px - var(--film-progress,0)*40px);overflow:hidden}.film-frame>img,.film-frame>video{width:100%;height:100%;object-fit:cover;transform:scale(calc(1.1 - var(--film-progress,0)*.1))}.film-shade{position:absolute;inset:0;background:linear-gradient(0deg,#060b14e8,#060b1440)}.film-title{position:absolute;left:7%;right:7%;bottom:12%;color:white}.film-title h2{font-size:clamp(34px,5vw,68px);margin-bottom:20px}.film-title p{color:#dce6f3}.film-title .caption{max-width:620px}.skip-link{position:fixed;top:5px;left:10px;z-index:200;padding:12px;background:white;transform:translateY(-150%)}.skip-link:focus{transform:none}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.project img{aspect-ratio:16/10}.gallery img{aspect-ratio:4/3;object-fit:cover}.modal .close{min-height:44px}button:disabled{opacity:.5;cursor:wait}.language-switch,nav a{min-height:32px;display:inline-flex;align-items:center}.contact,.timeline{position:relative}.timeline:before{content:"";position:absolute;left:224px;top:20px;bottom:20px;width:1px;background:linear-gradient(#0071e3,#d2d2d7)}@media(max-width:760px){header{flex-wrap:wrap}header nav{order:3;max-width:none;width:100%;justify-content:space-between;gap:8px}nav a{min-height:36px}.model-panel{grid-template-columns:1fr}.model-copy{padding:28px 28px 0}.model-viewport{height:260px}.film-scene{height:auto}.film-sticky{height:75vh;position:relative}.film-frame{width:100%;height:100%;border-radius:0}.film-title{bottom:8%}.hero:after,.timeline:before{display:none}.reveal{transform:translateY(14px)}.capabilities,.gallery{content-visibility:auto;contain-intrinsic-size:auto 800px}.actions{gap:18px;flex-wrap:wrap}.button{min-height:44px}}@media(prefers-reduced-motion:reduce){.reveal{opacity:1;transition:none}.hero h1,.reveal{transform:none}.film-scene{height:auto}.film-sticky{height:80vh;position:relative}.film-frame{width:100%;height:100%;border-radius:0}.film-frame>img,.film-frame>video,.project:hover{transform:none}}@media(min-width:761px) and (prefers-reduced-motion:no-preference){.model-scroll{height:160vh}.model-panel{position:sticky;top:105px;min-height:65vh}.model-viewport{height:55vh}.model-copy h3{font-size:32px}}