:root{--ink:#07090d;--white:#e9eef2;--muted:#98a5b0;--line:#d4e4ef29;--red:#b92d38;--mono:"Cascadia Mono","Consolas",monospace;--font:"Segoe UI","Microsoft YaHei","PingFang SC",sans-serif}
*{box-sizing:border-box;letter-spacing:0}html{scroll-behavior:smooth;scrollbar-color:#526470 #080a0d}
body{margin:0;background:var(--ink);color:var(--white);font:15px/1.6 var(--font)}
button,a{font:inherit}button{cursor:pointer;color:inherit;border-radius:0}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible{outline:2px solid #ddeef3;outline-offset:5px}
img,video{display:block;max-width:100%}h1,h2,h3,p{margin:0}h1,h2,h3{line-height:1.2;font-weight:400}::selection{background:#982833;color:white}[hidden]{display:none!important}
svg.lucide{width:18px;height:18px;flex:none;stroke-width:1.5}
.icon-button{width:40px;height:40px;display:grid;place-items:center;background:#080c10c9;border:1px solid #d9e7ef40;border-radius:50%}
.icon-button:hover{background:#d9e4e9;color:#111}
.text-command{display:inline-flex;align-items:center;gap:14px;color:inherit;border:0;border-bottom:1px solid currentColor;background:none;padding:12px 0;font-size:12px}
.eyebrow,.section-number{font:10px/1.5 var(--mono);color:var(--muted)}.section-number{position:absolute;left:5%;top:60px;z-index:4}
.grain{position:fixed;inset:0;pointer-events:none;z-index:90;opacity:.045;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 160 160' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.72' numOctaves='3'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
.site-head{position:fixed;z-index:80;top:22px;left:30px;right:30px;display:flex;justify-content:space-between;align-items:flex-start;pointer-events:none}
.wordmark,.index-trigger{pointer-events:auto}.wordmark{font:600 12px/1.3 var(--font);text-shadow:0 1px 8px #000}.wordmark span{display:block;font:8px/1.5 var(--mono);color:#bac4ce;margin-top:3px}
.index-trigger{border:0;background:#080b1090;display:flex;align-items:center;gap:10px;padding:8px 10px;min-height:40px}.nav-label{font:10px var(--mono)}
.nav-butterfly{position:relative;width:23px;height:23px;display:inline-block;filter:drop-shadow(0 0 6px #c4e5ed)}
.nav-butterfly:before,.nav-butterfly:after,.butterfly:before,.butterfly:after{content:"";position:absolute;top:2px;left:0;width:12px;height:18px;clip-path:polygon(0 45%,23% 0,100% 15%,83% 100%);border:1px solid #deeff3;background:linear-gradient(130deg,#deeff3cc,#7594a377,#6b203444);transform-origin:right center;animation:wing 1.4s ease-in-out infinite alternate}
.nav-butterfly:after,.butterfly:after{left:12px;scale:-1 1;animation-delay:-.7s}@keyframes wing{to{transform:rotateY(65deg)}}
.index-panel{position:fixed;z-index:100;right:30px;top:78px;width:240px;max-height:calc(100dvh - 110px);padding:18px 20px;background:#080b10ef;backdrop-filter:blur(20px);border:1px solid var(--line);opacity:0;visibility:hidden;transform:translateY(-8px);transition:opacity .25s,transform .3s,visibility .25s;overflow:auto}
.index-panel.open{opacity:1;visibility:visible;transform:none}.index-top{display:flex;align-items:center;justify-content:space-between;font:10px var(--mono);padding-bottom:12px}.index-top .icon-button{border:0;width:26px;height:26px}
.index-links a{display:flex;align-items:center;gap:16px;padding:6px 0;color:#95a2ad;font-size:13px}.index-links a small{font:9px var(--mono);color:#667885}.index-links a:hover,.index-links a.active{color:white}
.home{height:760svh;position:relative}.home-sticky{position:sticky;top:0;height:100svh;overflow:hidden}.home-space{position:relative;height:100%;background:#030609;isolation:isolate;--exit:0}
.space-back{position:absolute;inset:-20px;background:#04070b;opacity:.9}
.ip-video-wrap{position:absolute;top:50%;left:50%;translate:-50% -50%;z-index:2;opacity:calc(1 - var(--exit));will-change:transform,opacity}
.ip-video{width:100%;height:100%;object-fit:contain}.ip-video-wrap:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,#030609ee 0%,#030609cc 28%,transparent 48%);opacity:var(--copy-opacity,0)}
#space-canvas{position:absolute;inset:0;z-index:4;width:100%;height:100%;pointer-events:none;opacity:calc(1 - var(--exit))}
.butterflies{position:absolute;inset:0;z-index:5;pointer-events:none;opacity:var(--butterfly-opacity,0)}.butterfly{position:absolute;width:24px;height:24px;filter:drop-shadow(0 0 4px #bddae5)}
.water{position:absolute;bottom:2%;left:0;right:0;height:20%;z-index:3;opacity:var(--water-opacity,0);pointer-events:none;border-top:1px solid #a0bfc929;background:linear-gradient(transparent,#10242b50)}
.water-grid{height:100%;background:repeating-linear-gradient(0deg,transparent 0 21px,#cde4ee15 22px);mask-image:linear-gradient(#000,transparent)}
.home-copy{position:absolute;top:24%;left:6%;width:35%;max-width:440px;z-index:6;opacity:var(--copy-opacity,0);clip-path:inset(0 0 calc(100% - var(--copy-reveal,0%)) 0);transform:translateY(calc((1 - var(--copy-opacity,0))*15px));pointer-events:none}
.home-copy h1{font-size:42px;margin-top:22px;line-height:1.16}.home-copy h1 span{display:block;font:14px/1.5 var(--mono);margin-top:9px;color:#acbac6}.home-role{font-size:15px;margin-top:16px}.home-copy h2{font-size:28px;line-height:1.6;margin-top:27px}
.home-english{font:11px/1.6 var(--mono);color:#a9bac7;margin-top:13px}.home-description{font-size:12px;line-height:1.9;margin-top:25px;color:#c6cfd6}.home-english.secondary{font:10px/1.7 var(--font)}
.home-side-note{position:absolute;z-index:6;bottom:24px;right:30px;font:9px var(--mono);color:#abb9c3}.home-side-note span{margin-left:22px}
.scroll-cue{position:absolute;z-index:6;bottom:26px;left:30px;display:flex;align-items:center;gap:20px;font:9px var(--mono);opacity:var(--cue-opacity,1)}.scroll-cue b{height:1px;width:40px;background:#bacbd5}
.tools-scene{position:absolute;inset:0;z-index:8;pointer-events:none;opacity:calc(var(--tools-opacity,0) * (1 - var(--exit)))}
.tools-heading{position:absolute;left:5%;top:14%}.tools-heading h2{font:14px var(--mono);margin-top:6px}
.tool-cloud{position:absolute;inset:0;z-index:7;pointer-events:none}.tool-cloud.visible{pointer-events:auto}
.tool{position:absolute;left:var(--x);top:var(--y);width:92px;height:88px;transform:translate(-50%,-42%) scale(calc(.86 + var(--reveal,0)*.14));opacity:var(--reveal,0);border:0;background:transparent;display:flex;align-items:end;justify-content:center;transition:filter .25s,background .25s;pointer-events:auto}
.tool-ring{position:absolute;inset:4%;border:1px solid #c9e7f200;border-radius:8px;transition:border-color .3s,box-shadow .3s}
.tool-label{display:flex;align-items:center;gap:5px;position:absolute;bottom:-12px;left:50%;translate:-50% 0;min-width:80px;max-width:136px;padding:4px 7px;background:#071017bb;backdrop-filter:blur(8px);white-space:nowrap;border-bottom:1px solid #b0c7d35e;font:8px/1.2 var(--mono)}
.tool-label b{font-size:11px;font-weight:400}.tool-label small{font-size:8px}.tool:hover .tool-ring,.tool.selected .tool-ring{border-color:#e5f3f8b0;box-shadow:0 0 20px #dcebf81a}.tool.selected .tool-label{background:#dce7ed;color:#101820}
.tool.dimmed{filter:opacity(.4) saturate(.5)}.tool-cloud.visible .tool-ring,.tool-cloud.visible .tool-label{animation:tool-float 5s ease-in-out infinite alternate;animation-delay:calc(var(--i) * -.4s)}.tool:hover .tool-ring,.tool:hover .tool-label{animation-play-state:paused}
@keyframes tool-float{to{translate:0 -4px}}
.tool-detail{position:absolute;left:5%;right:5%;bottom:7%;width:min(550px,90%);display:flex;gap:16px;align-items:center;border-top:1px solid #c7d8e13d;padding:14px 0;background:linear-gradient(90deg,#04090be6,transparent);pointer-events:auto;min-height:82px}
.tool-detail-symbol{font:30px var(--mono);color:#d6e7ed}.tool-detail strong{font-size:14px;font-weight:400;display:block}.tool-detail small{display:block;font-size:12px;color:#b2c5d0;margin-top:5px}.tool-detail .icon-button{margin-left:auto;flex:none}
.media-diagnostic{position:absolute;left:5%;bottom:15%;z-index:12;font-size:13px;background:#15222beb;padding:12px}.video-error .ip-video-wrap{background:url('assets/ip/ip-space.jpg') center/contain no-repeat}
.project{position:relative;min-height:120svh;padding:140px 7% 100px;overflow:hidden}.project-heading{margin-bottom:40px}.project-heading h2{font-size:72px;margin:15px 0}.project-heading p,.project-heading>span,.vj-title>span{font:11px var(--mono);color:#a4b2bc}
.project-td{background:#101014}.video-stage{position:relative;background:#05070b;aspect-ratio:16/9}.video-stage video{width:100%;height:100%;object-fit:contain}.video-fallback{display:none}
.project-td .video-stage{margin-left:auto;width:82%}.video-control,.media-open{position:absolute;bottom:18px;right:20px;border:0;background:#e8edf0;color:#10171c;padding:11px 18px;font-size:12px}
.section-tail{max-width:740px;margin:30px 0 0 auto;font-size:16px;line-height:1.9;color:#abb7be}.project-vj{background:#09090b}.vj-title h2{font-size:80px;margin:20px 0 40px}.vj-title{position:relative;z-index:2}.vj-video{width:88%;margin-left:auto}
.vj-beam{position:absolute;left:3%;top:43%;height:1px;width:95%;transform:rotate(-10deg);background:#b42836;box-shadow:0 0 20px #b3283444;pointer-events:none}
.project-cave{display:grid;grid-template-columns:.7fr 1.3fr;gap:40px;align-items:center;background:#0c1214;min-height:100svh}.cave-copy h2{font-size:90px;line-height:1.35;margin-top:25px}.cave-copy h2 i{font-style:normal;color:#91a299;margin-left:.6em}.cave-copy .project-description{font-size:14px;color:#abb8b6;margin-top:24px;line-height:1.9}.cave-video{width:100%}
.project-h5{background:#0c1017}.h5-intro h2{font:112px/1 var(--font);margin:20px 0}.h5-intro h2 span{display:inline-block;font:16px/1.5 var(--mono);margin-left:20px}.h5-phones{display:flex;justify-content:center;gap:80px;padding-top:40px}
.phone{width:280px}.phone:nth-child(2){margin-top:75px}.phone-screen{aspect-ratio:9/17;position:relative;background:#151e25;border:6px solid #28333c;border-radius:18px;overflow:hidden}.phone-screen video{width:100%;height:100%;object-fit:contain}.phone-tap{position:absolute;right:14px;bottom:14px;background:#e8edf0;color:#10171c;border:0;width:38px;height:38px;border-radius:50%}.phone p{margin-top:16px;font-size:14px}.phone-actions{margin-top:10px;display:flex;flex-wrap:wrap;gap:12px;align-items:center;font-size:11px;color:#a1afb8}.phone-watch{position:static;width:auto;height:auto;min-height:34px;border-radius:0;background:none;color:inherit;border-bottom:1px solid #8196a4;padding:5px 0}.phone-description{font-size:12px;line-height:1.8;color:#99acb7;margin-top:16px}
.featured-projects{height:380svh;position:relative;background:#101316}.featured-sticky{position:sticky;top:0;height:100svh;overflow:hidden}
.featured-marker{position:absolute;width:1px;height:1px;left:0;scroll-margin-top:0}#ganggan{top:0}#qingpingyue{top:calc((380svh - 100svh)/3)}#jianzhi{top:calc((380svh - 100svh)*2/3)}
.templo-shell{display:grid;grid-template-columns:1fr 1fr;height:100%;gap:5%;padding:100px 5% 40px}
.templo-poster{position:relative;display:flex;align-items:center;min-width:0}.poster-stack{position:relative;width:100%;aspect-ratio:16/9;background:#090b0f}.poster-panel{position:absolute;inset:0;opacity:0;transform:translateY(35px);transition:opacity .6s,transform .75s cubic-bezier(.2,.7,.2,1);pointer-events:none}
.poster-panel.active{opacity:1;transform:none;z-index:1;pointer-events:auto}.poster-panel img{width:100%;height:100%;object-fit:contain}.poster-panel span{position:absolute;left:0;top:-28px;font:10px var(--mono);color:#afc0cd}
.featured-tabs{position:absolute;left:0;bottom:4%;display:flex;gap:18px}.featured-tab{border:0;background:none;color:#7e909e;font:12px var(--mono);padding:12px 0;border-bottom:1px solid #42535e}.featured-tab.active{color:#ecf1f4;border-color:#ecf1f4}
.templo-right{position:relative;display:flex;flex-direction:column;justify-content:space-between;gap:20px;min-width:0}
.templo-copy{min-height:300px;position:relative}.featured-copy{position:absolute;inset:0;pointer-events:none;opacity:0;transform:translateY(18px);clip-path:inset(0 0 100% 0);transition:opacity .35s,transform .6s,clip-path .65s}
.featured-copy.active{opacity:1;transform:none;clip-path:inset(0);pointer-events:auto}.featured-copy h3{font-size:36px;margin:12px 0}.featured-copy .tagline{font-size:17px;color:#d4dfe5;margin:12px 0}.featured-copy p{font-size:13px;line-height:1.8;color:#aab9c4}.featured-copy .award-line{font-size:10px;color:#b9c9d4;margin-top:16px}.featured-copy .extended{display:none}
.templo-media-stack{position:relative;width:100%;aspect-ratio:16/9;background:#06080b}.featured-media{position:absolute;inset:0;opacity:0;visibility:hidden;transition:opacity .5s,visibility .5s;pointer-events:none}.featured-media.active{opacity:1;visibility:visible;pointer-events:auto}.featured-media video{width:100%;height:100%;object-fit:contain}
.preview-audio{position:absolute;left:16px;bottom:16px;z-index:3;width:38px;height:38px}.preview-watch{position:absolute;bottom:16px;right:16px;z-index:3;border:0;background:#e7edf1;color:#111922;display:flex;align-items:center;gap:10px;padding:10px 14px;font-size:11px}
.media-shell{position:relative;background:#040609;aspect-ratio:16/9}.media-shell video{width:100%;height:100%;object-fit:contain}.media-error{position:absolute;left:20px;top:20px;max-width:85%;font-size:12px;background:#080c10e6;padding:10px;color:#e3c1c1}
.images-section{position:relative;height:390svh;background:#0b0e10}.gallery-sticky{position:sticky;top:0;height:100svh;overflow:hidden}.gallery-space{position:absolute;inset:0}.gallery-space canvas{width:100%;height:100%;display:block;touch-action:pan-y}
.gallery-heading{position:absolute;left:5%;top:15%;z-index:3;pointer-events:none}.gallery-heading h2{font-size:60px;line-height:.95;margin:15px 0 28px}.gallery-heading em,.video-world-head em{font-style:normal;color:#8098a5}.gallery-heading p{font-size:15px}.gallery-heading small{font:10px var(--mono);color:#91a4b3}
.gallery-index{position:absolute;z-index:4;left:5%;bottom:8%;display:flex;flex-direction:column;gap:4px}.gallery-series{background:none;border:0;border-bottom:1px solid #c3d4df26;text-align:left;padding:7px 0;display:flex;gap:20px;min-width:175px;font-size:12px;color:#8a9ba7}.gallery-series.active{color:#e8f1f5}.gallery-series small{font:9px var(--mono);margin-left:auto}
.gallery-focus{position:absolute;right:5%;bottom:7%;z-index:4;display:grid;gap:5px;text-align:right;max-width:45%;pointer-events:none}.gallery-focus strong{font-size:23px;font-weight:400}.gallery-focus span{font:10px var(--mono);color:#98acb9}.gallery-focus button{pointer-events:auto;justify-self:end;font-size:11px}
.gallery-fallback{display:flex;overflow:auto;gap:30px;align-items:center;width:100%;height:100%;padding:90px 35%;scrollbar-width:thin}.gallery-fallback button{border:0;background:none;min-width:240px;padding:0}.gallery-fallback img{height:50vh;width:240px;object-fit:contain}
.school-section{position:relative;background:#111816;padding:150px 6% 100px}.school-feature{display:grid;grid-template-columns:.85fr 1.15fr;gap:6%;align-items:center}.school-copy h2{font-size:48px;margin:18px 0}.school-copy h3{font-size:17px;margin:28px 0 18px}.school-copy p{font-size:13px;line-height:1.9;color:#aabeb3;margin-bottom:14px}.subtitle-en{font:11px var(--mono)!important;color:#8ea99b!important}.school-media{min-width:0}.school-wechat{margin-top:15px}
.video-world{position:relative;background:#090c0f;padding:115px 5% 85px;min-height:120svh}.video-world-head{position:relative;z-index:2;pointer-events:none}.video-world-head h2{font-size:80px;line-height:.94;margin-top:18px}.video-world-count{font:10px var(--mono);color:#9baab4;margin-top:20px}.archive-anchor{position:absolute;top:0;left:0}
.video-world-stage{display:grid;grid-template-columns:1.25fr .75fr;gap:7%;margin-top:-70px;align-items:start}
.video-cube-wrap{position:sticky;top:110px;height:660px;min-width:0}.video-cube{position:absolute;inset:0}.video-cube canvas{width:100%;height:100%;display:block;touch-action:pan-y}
.video-focus{position:absolute;bottom:0;left:0;max-width:420px;pointer-events:none;padding-top:14px;border-top:1px solid var(--line)}.video-focus strong{display:block;font-size:24px;margin:8px 0}.video-focus p{font-size:12px;line-height:1.8;color:#97aeba}
.video-world-list{position:relative;z-index:3;max-height:760px;overflow:auto;scrollbar-width:thin;padding-top:10px}
.video-world-row{display:flex;width:100%;align-items:baseline;gap:14px;border:0;border-bottom:1px solid #c5d8e822;background:none;text-align:left;padding:14px 0;color:#8496a5;transition:color .3s,transform .3s}.video-world-row small{font:9px var(--mono);min-width:16px}.video-world-row strong{font-size:17px;font-weight:400}.video-world-row>span{font:8px var(--mono);margin-left:auto;text-align:right}.video-world-row.is-focused{color:#f3f6f8;transform:translateX(6px)}
.cube-fallback{display:flex;align-items:center;justify-content:center;height:100%}.cube-fallback img{width:75%;max-height:70%;object-fit:contain}
.awards{position:relative;background:#0a1013;padding:90px 5% 70px}.recognition-heading{position:relative;z-index:3}.recognition-heading h2{font-size:44px;margin:18px 0}.recognition-heading h2 span{display:block;font:13px var(--mono);color:#95aab6;margin-top:13px}.recognition-heading p{font-size:15px}.recognition-heading small{font:10px var(--mono);color:#92a6b1}.char-reveal{color:#a9b5b9}.char-reveal .char{color:#263b44;opacity:var(--char-alpha,.15);display:inline;transition:none}.char-reveal .char-space{white-space:pre}
.contact{position:relative;height:100svh;min-height:620px;background:#04070b;overflow:hidden}.ending-video,.ending-loop{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;pointer-events:none}.ending-loop{opacity:0}.contact.looping .ending-loop{opacity:1}.contact.looping .ending-video{opacity:0}
.contact-content{position:absolute;z-index:3;top:28%;left:6%;width:min(36%,460px);opacity:0;transform:translateY(20px);transition:opacity 1s,transform 1s;pointer-events:none;text-shadow:0 2px 15px #03050a}.contact.readable .contact-content{opacity:1;transform:none;pointer-events:auto}.contact-content h2{font-size:36px;line-height:1.7;margin:22px 0}.contact-content>p{font:15px/1.8 var(--mono);color:#b2c2ce}
.contact-links{display:flex;flex-direction:column;gap:25px;margin-top:32px;align-items:flex-start}.contact-status{font-size:11px;color:#a6b5c0}.ending-start,.ending-toggle{position:absolute;left:30px;bottom:80px;z-index:5}.contact footer{position:absolute;bottom:25px;left:30px;right:30px;display:flex;justify-content:space-between;z-index:4;font:9px var(--mono);color:#9cabb5}
.ending-error{position:absolute;left:30px;top:90px;z-index:5;background:#101820d9;padding:10px;color:#e6caca}
.lightbox{position:fixed;inset:0;z-index:150;background:#03070bf7;backdrop-filter:blur(20px);overflow:auto;overscroll-behavior:contain;padding:55px 6% 35px;display:flex;flex-direction:column;align-items:center;gap:20px}.lightbox-close{position:fixed;right:23px;top:18px;z-index:152}
.lightbox-content{width:100%;max-width:1250px;display:flex;flex-direction:column;align-items:center;gap:24px;min-height:0}.lightbox-caption{width:100%;max-width:900px}.lightbox-caption h2{font-size:32px;margin:10px 0 20px}.lightbox-caption p{font-size:14px;line-height:1.9;color:#b0c0cb}.lightbox-caption .detail-extended{margin-top:12px}
.lightbox-content>img{height:calc(100svh - 230px);width:100%;object-fit:contain}.lightbox-content>video{width:min(100%,1180px);max-height:65svh;aspect-ratio:16/9;object-fit:contain;background:#000}.lightbox-controls{display:flex;align-items:center;justify-content:center;gap:20px;flex-wrap:wrap;min-height:40px;font:11px var(--mono)}.lightbox-controls .icon-button{width:40px;height:40px}
.lightbox-controls .text-command{font-size:11px}.image-series-strip{display:flex;gap:10px;overflow:auto;max-width:100%;padding:10px 4px;align-items:center}.image-series-strip button{width:65px;height:72px;flex:none;border:1px solid #bbc9d030;background:none;padding:2px;opacity:.5}.image-series-strip button.active{opacity:1;border-color:#e1f0f7}.image-series-strip img{width:100%;height:100%;object-fit:contain}.certificate-preview{cursor:zoom-in}.lightbox.zoomed .certificate-preview{height:auto;max-height:none;width:auto;max-width:100%;cursor:zoom-out}.lightbox.zoomed .lightbox-content{max-width:none}.lightbox-content .original-pdf{width:100%;height:75svh;border:0;background:#fff}.series-story{max-width:900px;color:#9eafbc;font-size:12px;line-height:1.9}
@media(min-width:1600px){.home-copy{top:25%}.home-copy h1{font-size:52px}.home-copy h2{font-size:36px}.project-heading h2,.vj-title h2{font-size:100px}.templo-copy{min-height:390px}.featured-copy h3{font-size:48px}.featured-copy p{font-size:16px}.featured-copy .extended{display:block;margin-top:14px}.video-cube-wrap{height:780px}}
@media(max-height:760px) and (min-width:901px){.home-copy{top:16%}.home-copy h1{font-size:32px;margin-top:12px}.home-copy h2{font-size:23px;margin-top:15px}.home-description{margin-top:15px}.home-english.secondary{display:none}.templo-shell{padding-top:85px}.templo-copy{min-height:235px}.featured-copy h3{font-size:29px;margin:8px 0}.featured-copy p{font-size:11px}.featured-copy .tagline{font-size:14px;margin:8px 0}.contact-content h2{font-size:28px}}
@media(max-width:900px){
 .project{padding:115px 6% 70px;min-height:auto}.project-heading h2,.vj-title h2{font-size:58px}.project-td .video-stage,.vj-video{width:100%}.project-cave{grid-template-columns:1fr}.cave-copy h2{font-size:60px}.cave-copy h2 br{display:none}.cave-copy h2 i{margin-left:.2em}.h5-phones{gap:35px}.phone{width:250px}
 .templo-shell{gap:4%;padding:100px 5% 30px}.templo-copy{min-height:280px}.featured-copy h3{font-size:28px}.featured-copy p{font-size:12px}.featured-copy .tagline{font-size:15px}.video-world-stage{grid-template-columns:1.05fr 1fr;gap:5%;margin-top:35px}.video-cube-wrap{height:530px;top:85px}.video-world-head h2{font-size:64px}.video-world-row strong{font-size:14px}.video-world-row>span{display:none}.school-feature{grid-template-columns:1fr}.school-copy{max-width:650px}.contact-content h2{font-size:28px}.contact-content>p{font-size:11px}
}
@media(max-width:600px){
 .site-head{top:16px;left:18px;right:18px}.nav-label{display:none}.index-panel{right:18px;top:70px}.wordmark{font-size:10px}.home{height:640svh}.home-copy{left:7%;top:10%;width:86%;max-width:none;padding-right:25%;}.home-copy h1{font-size:30px;margin-top:10px}.home-copy h1 span{font-size:10px}.home-copy h2{font-size:22px;line-height:1.5;margin-top:15px}.home-role{font-size:12px}.home-english{font-size:9px}.home-description{position:absolute;left:0;top:calc(68svh + 10px);width:100%;font-size:11px;margin:0}.home-english.secondary{display:none}.ip-video-wrap:after{background:linear-gradient(0deg,#04060977,transparent 70%)}.home-side-note{right:18px;font-size:7px}.scroll-cue{left:18px;font-size:8px}
 .tools-heading{left:7%;top:14%}.tools-heading h2{font-size:12px}.tool{width:48px;height:46px}.tool-label{min-width:28px;padding:3px;bottom:-10px}.tool-label b{font-size:10px}.tool-label small{display:none}.tool-ring{border-radius:4px}.tool-detail{left:7%;bottom:8%;width:86%;min-height:90px;gap:10px}.tool-detail strong{font-size:12px}.tool-detail small{font-size:11px}.tool-detail-symbol{font-size:22px}.tool-detail .icon-button{width:30px;height:30px}
 .section-number{top:52px;font-size:9px}.project{padding:110px 6% 65px}.project-heading h2,.vj-title h2{font-size:42px}.section-tail{font-size:13px}.cave-copy h2{font-size:48px}.project-cave{gap:25px}.cave-copy .project-description{font-size:12px}.h5-intro h2{font-size:80px}.h5-intro h2 span{font-size:11px;margin-left:10px}.h5-phones{gap:25px;flex-direction:column;align-items:center}.phone{width:250px}.phone:nth-child(2){margin-top:30px}
 .featured-projects{height:400svh}.templo-shell{display:flex;flex-direction:column;gap:14px;padding:95px 6% 24px}.featured-marker#qingpingyue{top:100svh}.featured-marker#jianzhi{top:200svh}.templo-poster{width:100%;flex:none;align-items:start;padding-top:20px}.poster-stack{width:69%;aspect-ratio:16/9}.poster-panel span{top:-20px;font-size:8px}.featured-tabs{left:auto;right:0;top:18px;bottom:auto;flex-direction:column;gap:0}.featured-tab{font-size:11px;padding:7px 0}.templo-right{flex:1;gap:12px;min-height:0;justify-content:space-between}.templo-copy{min-height:200px;flex:1}.featured-copy h3{font-size:28px;margin:8px 0}.featured-copy .tagline{font-size:13px;margin:8px 0}.featured-copy p{font-size:11px;line-height:1.75}.featured-copy .award-line{margin-top:8px;font-size:9px}.featured-copy .eyebrow{font-size:8px}.templo-media-stack{flex:none}
 .images-section{height:420svh}.gallery-heading{left:6%;top:13%}.gallery-heading h2{font-size:42px;line-height:1;margin-bottom:15px}.gallery-heading p{font-size:11px}.gallery-heading small{font-size:8px}.gallery-index{left:6%;bottom:7%;max-width:42%}.gallery-series{min-width:125px;font-size:10px;gap:10px;padding:6px 0}.gallery-focus{right:6%;bottom:7%;max-width:44%}.gallery-focus strong{font-size:17px}.gallery-focus span{font-size:8px}.gallery-focus button{font-size:9px}.gallery-fallback{padding-left:50%;padding-right:20px;gap:20px}
 .school-section{padding:115px 6% 70px}.school-copy h2{font-size:38px}.school-copy h3{font-size:15px}.school-copy p{font-size:12px}
 .video-world{padding:100px 6% 70px}.video-world-head h2{font-size:58px}.video-world-stage{display:block;margin-top:20px}.video-cube-wrap{position:relative;top:auto;height:470px}.video-focus{max-width:100%;bottom:0}.video-focus strong{font-size:20px}.video-focus p{font-size:11px}.video-world-list{max-height:650px;margin-top:40px}.video-world-row strong{font-size:16px}.video-world-row{padding:13px 0}
 .awards{padding:80px 6% 60px}.recognition-heading h2{font-size:35px}.recognition-heading p{font-size:12px}.recognition-heading small{font-size:8px}
 .contact{min-height:650px}.contact-content{top:auto;bottom:18%;left:7%;width:86%;background:linear-gradient(0deg,#040609eb,transparent);padding-top:25px}.contact-content h2{font-size:26px;line-height:1.6;margin:14px 0}.contact-content>p{font-size:11px}.contact-links{margin-top:20px;gap:15px}.ending-start,.ending-toggle{left:18px;bottom:75px}.contact footer{left:18px;right:18px;font-size:8px}
 .lightbox{padding:70px 5% 30px;gap:16px}.lightbox-caption h2{font-size:24px;margin-top:6px}.lightbox-caption p{font-size:12px}.lightbox-content>img{height:50svh}.lightbox-content>video{max-height:60svh}.lightbox-controls{gap:13px;font-size:9px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.char-reveal .char{opacity:1}.home-copy{clip-path:none}}
