@font-face{font-family:Bricolage Grotesque;src:url(./bricolage-500-Cre6nC2_.woff2)format("woff2");font-style:normal;font-weight:400 500;font-display:swap}@font-face{font-family:Bricolage Grotesque;src:url(./bricolage-500-Cre6nC2_.woff2)format("woff2");font-style:normal;font-weight:600;font-display:swap}@font-face{font-family:Bricolage Grotesque;src:url(./bricolage-500-Cre6nC2_.woff2)format("woff2");font-style:normal;font-weight:700;font-display:swap}@font-face{font-family:Bricolage Grotesque;src:url(./bricolage-500-Cre6nC2_.woff2)format("woff2");font-style:normal;font-weight:800;font-display:swap}:root{--bg:#07080a;--bg-soft:#0d0f12;--panel:#ffffff09;--panel-strong:#ffffff0f;--line:#ffffff1a;--line-strong:#fff3;--text:#f2f2ef;--text-soft:#a8a8a2;--text-dim:#6f7076;--accent:#ff6a2b;--accent-soft:#ff6a2b24;--ink:#0a0a0b;--radius:14px;--radius-lg:26px;--pad:clamp(20px, 5vw, 84px);--ease:cubic-bezier(.22, 1, .36, 1);--font-display:"Bricolage Grotesque", "PingFang SC", "Microsoft YaHei", sans-serif;--font-body:"Bricolage Grotesque", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif}*{box-sizing:border-box}html,body{overscroll-behavior:none;background:var(--bg);margin:0;padding:0}body{color:var(--text);font-family:var(--font-body);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;font-size:16px;line-height:1.6}*{scrollbar-width:thin;scrollbar-color:#ffffff38 transparent}::selection{background:var(--accent);color:#fff}h1,h2,h3,h4,p{margin:0}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:none}img,video{max-width:100%;display:block}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:4px}.skip-link{background:var(--accent);color:#fff;z-index:200;padding:10px 16px;position:absolute;top:0;left:-9999px}.skip-link:focus{top:12px;left:12px}@property --mx{syntax:"<length-percentage>";inherits:true;initial-value:50%}@property --my{syntax:"<length-percentage>";inherits:true;initial-value:50%}.progress{transform-origin:0;background:linear-gradient(90deg, var(--accent), #ffb37a);z-index:120;width:100%;height:2px;position:fixed;inset:0 auto auto 0}.cursor-field{pointer-events:none;z-index:0;background:radial-gradient(420px circle at var(--mx,50%) var(--my,50%), #ff6a2b1a, transparent 62%);mix-blend-mode:screen;position:fixed;inset:0}.nav{z-index:100;padding:16px var(--pad);transition:background .4s var(--ease), backdrop-filter .4s var(--ease), border-color .4s var(--ease);border-bottom:1px solid #0000;justify-content:space-between;align-items:center;gap:20px;display:flex;position:fixed;top:0;left:0;right:0}.nav.is-solid{-webkit-backdrop-filter:saturate(150%)blur(14px);backdrop-filter:saturate(150%)blur(14px);border-bottom-color:var(--line);background:#07080ab8}.nav__brand{font-family:var(--font-display);letter-spacing:.02em;align-items:center;gap:10px;font-weight:600;display:inline-flex}.nav__mark{background:var(--accent);width:12px;height:12px;box-shadow:0 0 0 4px var(--accent-soft);border-radius:50%}.nav__links{color:var(--text-soft);align-items:center;gap:clamp(14px,2.4vw,30px);font-size:14px;display:flex}.nav__links a{transition:color .25s var(--ease);padding:6px 2px;position:relative}.nav__links a:after{content:"";transform-origin:0;width:100%;height:1px;transition:transform .32s var(--ease);background:currentColor;position:absolute;bottom:0;left:0;transform:scaleX(0)}.nav__links a:hover{color:var(--text)}.nav__links a:hover:after{transform:scaleX(1)}.nav__cta{border:1px solid var(--line-strong);color:var(--text);transition:background .28s var(--ease), border-color .28s var(--ease), transform .28s var(--ease);border-radius:999px;padding:9px 16px}.nav__cta:hover{background:var(--accent);border-color:var(--accent);color:#fff;transform:translateY(-1px)}@media (width<=720px){.nav__links a:not(.nav__cta){display:none}}.eyebrow{font-family:var(--font-display);letter-spacing:.22em;text-transform:uppercase;color:var(--text-dim);align-items:center;gap:9px;font-size:12px;display:inline-flex}.eyebrow__dot{background:var(--accent);border-radius:50%;width:6px;height:6px}.btn{letter-spacing:.01em;min-height:46px;transition:transform .3s var(--ease), background .3s var(--ease), border-color .3s var(--ease), color .3s var(--ease);border-radius:999px;justify-content:center;align-items:center;gap:9px;padding:0 22px;font-size:14.5px;font-weight:500;display:inline-flex}.btn--primary{background:var(--accent);color:#fff;box-shadow:0 12px 34px #ff6a2b42}.btn--primary:hover{background:#ff7d45;transform:translateY(-2px)}.btn--ghost{border:1px solid var(--line-strong);color:var(--text)}.btn--ghost:hover{border-color:var(--text);transform:translateY(-2px)}.section{padding:clamp(74px, 11vw, 150px) var(--pad);position:relative}.section--alt{background:linear-gradient(#ffffff06,#0000 60%)}.head{gap:14px;max-width:780px;display:grid}.head__title{font-family:var(--font-display);letter-spacing:-.025em;font-size:clamp(30px,4.6vw,58px);font-weight:600;line-height:1.06}.head__copy{max-width:640px;color:var(--text-soft);font-size:clamp(15px,1.1vw,17px)}[data-reveal=hidden]{opacity:0;transform:translateY(26px)}[data-reveal=visible]{opacity:1;transition:opacity .7s var(--ease), transform .7s var(--ease);transform:none}@media (prefers-reduced-motion:reduce){[data-reveal=hidden]{opacity:1;transform:none}}.hero{min-height:100svh;padding:clamp(110px, 16vh, 190px) var(--pad) 0;isolation:isolate;flex-direction:column;justify-content:flex-end;display:flex;position:relative;overflow:hidden}.hero__media{z-index:-2;position:absolute;inset:-8% 0}.hero__media video{object-fit:cover;filter:saturate(.86)contrast(1.06);width:100%;height:100%}.hero__veil{background:linear-gradient(#07080aeb 0%,#07080a85 34%,#07080af5 100%),radial-gradient(120% 80% at 15% 70%,#07080ae6,#0000 60%);position:absolute;inset:0}.hero__copy{max-width:900px;padding-bottom:clamp(28px,6vh,64px)}.hero__title{font-family:var(--font-display);letter-spacing:-.045em;margin-top:18px;font-size:clamp(58px,12vw,168px);font-weight:700;line-height:.9}.hero__title-latin{letter-spacing:.42em;color:var(--text-dim);margin-top:10px;font-size:clamp(12px,1.5vw,20px);font-weight:500;display:block}.hero__headline{max-width:720px;font-family:var(--font-display);letter-spacing:-.02em;margin-top:26px;font-size:clamp(21px,2.7vw,38px);line-height:1.24}.hero__intro{max-width:620px;color:var(--text-soft);margin-top:18px;font-size:clamp(14.5px,1.1vw,17px)}.hero__actions{flex-wrap:wrap;gap:12px;margin-top:32px;display:flex}.hero__stats{border-top:1px solid var(--line);grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;margin:clamp(38px,6vh,64px) 0 0;padding:0;display:grid}.hero__stat{padding:20px 18px 0 0}.hero__stat dt{letter-spacing:.1em;text-transform:uppercase;color:var(--text-dim);font-size:12.5px}.hero__stat dd{font-family:var(--font-display);letter-spacing:-.03em;margin:8px 0 0;font-size:clamp(26px,3.2vw,44px);line-height:1}.hero__stat small{font-family:var(--font-body);letter-spacing:0;color:var(--text-dim);margin-top:8px;font-size:12.5px;font-weight:400;display:block}@media (width<=720px){.hero__stats{grid-template-columns:repeat(2,minmax(0,1fr))}}.marquee{border-top:1px solid var(--line);border-bottom:1px solid var(--line);position:relative;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#0000,#000 8% 92%,#0000);mask-image:linear-gradient(90deg,#0000,#000 8% 92%,#0000)}.marquee__track{width:max-content;animation:34s linear infinite marquee;display:flex}.marquee__group{font-family:var(--font-display);letter-spacing:.08em;text-transform:uppercase;color:var(--text-dim);white-space:nowrap;align-items:center;gap:44px;padding:18px 22px;font-size:clamp(14px,1.4vw,19px);display:flex}.marquee__group span:before{content:"/";color:var(--accent);margin-right:44px}@keyframes marquee{to{transform:translate(-50%)}}@media (prefers-reduced-motion:reduce){.marquee__track{animation:none}}.hero__scroll{right:var(--pad);letter-spacing:.14em;text-transform:uppercase;color:var(--text-dim);transition:color .28s var(--ease);align-items:center;gap:10px;font-size:12.5px;display:inline-flex;position:absolute;bottom:clamp(78px,12vh,110px)}.hero__scroll span{background:linear-gradient(180deg, transparent, var(--accent));width:1px;height:34px}.hero__scroll:hover{color:var(--text)}@media (width<=860px){.hero__scroll{display:none}}.filters{flex-wrap:wrap;gap:9px;margin:34px 0 30px;display:flex}.chip{border:1px solid var(--line);min-height:40px;color:var(--text-soft);transition:color .26s var(--ease), border-color .26s var(--ease), background .26s var(--ease);border-radius:999px;padding:0 17px;font-size:13.5px}.chip:hover{color:var(--text);border-color:var(--line-strong)}.chip.is-active{background:var(--text);border-color:var(--text);color:var(--ink)}.grid{grid-template-columns:repeat(12,minmax(0,1fr));gap:clamp(14px,1.6vw,24px);display:grid}.card{grid-column:span 4}.card[data-orientation=wide]{grid-column:span 8}@media (width<=1100px){.card,.card[data-orientation=wide]{grid-column:span 6}}@media (width<=700px){.card,.card[data-orientation=wide]{grid-column:span 12}}.card__hit{text-align:left;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--panel);width:100%;transition:transform .42s var(--ease), border-color .42s var(--ease), background .42s var(--ease);display:block;overflow:hidden}.card__hit:hover{border-color:var(--line-strong);background:var(--panel-strong);transform:translateY(-6px)}.card__frame{aspect-ratio:9/16;background:#101114;display:block;position:relative;overflow:hidden}.card[data-orientation=wide] .card__frame{aspect-ratio:16/9}.card__frame img,.card__frame video{object-fit:cover;width:100%;height:100%;transition:transform .7s var(--ease), opacity .4s var(--ease)}.card__frame video{position:absolute;inset:0}.card__hit:hover .card__frame img{transform:scale(1.045)}.card__play{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);width:42px;height:42px;transition:background .3s var(--ease), transform .3s var(--ease);background:#0a0a0ba8;border:1px solid #ffffff38;border-radius:50%;place-items:center;display:grid;position:absolute;bottom:14px;right:14px}.card__hit:hover .card__play{background:var(--accent);border-color:var(--accent);transform:scale(1.06)}.card__meta{letter-spacing:.06em;text-transform:uppercase;gap:8px;font-size:11.5px;display:inline-flex;position:absolute;top:14px;left:14px}.card__meta span{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0a0a0b99;border:1px solid #ffffff29;border-radius:999px;padding:5px 10px}.card__body{gap:8px;padding:20px 22px 24px;display:grid}.card__index{font-family:var(--font-display);letter-spacing:.2em;color:var(--accent);font-size:12px}.card__title{font-family:var(--font-display);letter-spacing:-.015em;font-size:clamp(18px,1.5vw,22px);line-height:1.24}.card__summary{color:var(--text-soft);font-size:14px}.empty{color:var(--text-dim);padding:40px 0}.library__more{justify-content:center;margin-top:34px;display:flex}.library__group{border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:baseline;gap:10px 14px;margin-top:clamp(40px,5vw,66px);padding-bottom:16px;display:flex}.library__group-title{font-family:var(--font-display);letter-spacing:-.02em;font-size:clamp(20px,2.2vw,30px);font-weight:600;line-height:1.15}.library__group-count{border:1px solid var(--line-strong);color:var(--text-dim);letter-spacing:.06em;border-radius:999px;padding:3px 10px;font-size:12px}.library__group-note{color:var(--text-soft);flex:100%;font-size:14px}.library__group+.grid{margin-top:clamp(20px,2.4vw,30px)}#library .grid{grid-auto-flow:dense}.projects{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--line);gap:1px;margin-top:44px;display:grid;overflow:hidden}.project{background:var(--bg);transition:background .4s var(--ease);gap:14px;padding:clamp(26px,3.4vw,46px);display:grid}.project:hover{background:var(--bg-soft)}.project__head{align-items:baseline;gap:14px;display:flex}.project__index{font-family:var(--font-display);letter-spacing:-.04em;color:#0000;-webkit-text-stroke:1px var(--line-strong);font-size:clamp(30px,3.6vw,52px);line-height:1}.project__kind{letter-spacing:.16em;text-transform:uppercase;color:var(--text-dim);font-size:12px}.project__title{font-family:var(--font-display);letter-spacing:-.02em;font-size:clamp(21px,2.3vw,32px);line-height:1.2}.project__copy{max-width:780px;color:var(--text-soft);font-size:15px}.project__points,.project__tags{flex-wrap:wrap;gap:8px 10px;margin:0;padding:0;list-style:none;display:flex}.project__points li{background:var(--accent-soft);color:#ffbe97;border-radius:999px;padding:8px 14px;font-size:13px}.project__tags{margin-top:4px}.project__tags li{letter-spacing:.06em;color:var(--text-dim);font-size:12.5px}.project__tags li:before{content:"#";color:var(--accent);margin-right:3px}.services{grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:clamp(14px,1.6vw,22px);margin-top:44px;display:grid}.service{border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);transition:transform .4s var(--ease), border-color .4s var(--ease);gap:10px;padding:26px 24px 30px;display:grid}.service:hover{border-color:var(--line-strong);transform:translateY(-5px)}.service__index{font-family:var(--font-display);letter-spacing:.2em;color:var(--accent);font-size:12px}.service h3{font-family:var(--font-display);letter-spacing:-.01em;font-size:19px}.service p{color:var(--text-soft);font-size:14px}.steps{border-top:1px solid var(--line);grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:clamp(18px,2.4vw,34px);margin:clamp(46px,6vw,72px) 0 0;padding:clamp(30px,4vw,46px) 0 0;list-style:none;display:grid}.steps li{gap:10px;display:grid}.steps__index{font-family:var(--font-display);letter-spacing:.22em;color:var(--accent);font-size:13px}.steps h4{font-family:var(--font-display);font-size:17px;font-weight:600}.steps p{color:var(--text-soft);font-size:14px}.capabilities{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:clamp(14px,1.8vw,24px);margin-top:44px;display:grid}.capability{border:1px solid var(--line);border-radius:var(--radius);background:linear-gradient(180deg, var(--panel-strong), transparent);padding:30px 26px 34px;position:relative;overflow:hidden}.capability:after{content:"";background:linear-gradient(90deg, var(--accent), transparent 70%);opacity:0;width:100%;height:1px;transition:opacity .4s var(--ease);position:absolute;top:0;left:0}.capability:hover:after{opacity:1}.capability h3{font-family:var(--font-display);letter-spacing:-.015em;font-size:20px}.capability p{color:var(--text-soft);margin-top:12px;font-size:14.5px}.edu{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--panel);grid-template-columns:1.5fr 1fr;gap:clamp(20px,3vw,44px);margin-top:clamp(44px,6vw,72px);padding:clamp(28px,3.6vw,48px);display:grid}.edu__main h3{font-family:var(--font-display);letter-spacing:-.025em;margin-top:14px;font-size:clamp(22px,2.6vw,34px);line-height:1.16}.edu__main h3 span{letter-spacing:0;color:var(--text-soft);margin-top:6px;font-size:clamp(15px,1.3vw,19px);font-weight:400;display:block}.edu__main p{max-width:560px;color:var(--text-soft);margin-top:16px;font-size:14.5px}.edu__side{align-content:start;gap:18px;display:grid}.edu__period{font-family:var(--font-display);letter-spacing:-.02em;font-size:clamp(18px,1.8vw,24px)}.edu__courses{flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;display:flex}.edu__courses li{border:1px solid var(--line);color:var(--text-soft);border-radius:999px;padding:7px 13px;font-size:12.5px}@media (width<=820px){.edu{grid-template-columns:1fr}}.contact{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:clamp(14px,1.6vw,22px);margin-top:44px;display:grid}.contact__item{border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);transition:transform .4s var(--ease), border-color .4s var(--ease), background .4s var(--ease);gap:8px;padding:26px 24px 30px;display:grid}.contact__item:hover{border-color:var(--accent);background:var(--panel-strong);transform:translateY(-5px)}.contact__label{letter-spacing:.2em;text-transform:uppercase;color:var(--text-dim);font-size:12px}.contact__item strong{font-family:var(--font-display);letter-spacing:-.015em;word-break:break-word;font-size:clamp(17px,1.6vw,22px)}.contact__note{color:var(--text-soft);font-size:13.5px}.contact__actions{flex-wrap:wrap;gap:12px;margin-top:28px;display:flex}.contact__hint{color:var(--text-dim);margin-top:18px;font-size:13.5px}.footer{padding:clamp(40px, 6vw, 70px) var(--pad) clamp(34px, 5vw, 60px);border-top:1px solid var(--line);background:var(--bg-soft)}.footer__row{color:var(--text-soft);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;font-size:13.5px;display:flex}.footer__links{flex-wrap:wrap;gap:18px;display:flex}.footer__links a{transition:color .26s var(--ease)}.footer__links a:hover{color:var(--accent)}.footer__note{max-width:720px;color:var(--text-dim);margin-top:22px;font-size:12.5px;line-height:1.7}.lightbox{z-index:160;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#040506db;place-items:center;padding:clamp(14px,3vw,40px);display:grid;position:fixed;inset:0}.lightbox__panel{border:1px solid var(--line-strong);border-radius:var(--radius-lg);background:var(--bg-soft);width:min(100%,1040px);max-height:92svh;display:grid;position:relative;overflow:auto}.lightbox__panel[data-orientation=vertical]{width:min(100%,460px)}.lightbox__panel video{object-fit:contain;background:#000;width:100%;max-height:70svh}.lightbox__close{z-index:2;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);width:40px;height:40px;transition:background .28s var(--ease), transform .28s var(--ease);background:#0a0a0ba8;border:1px solid #ffffff38;border-radius:50%;place-items:center;display:grid;position:absolute;top:12px;right:12px}.lightbox__close:hover{background:var(--accent);transform:rotate(90deg)}.lightbox__info{gap:8px;padding:22px 24px 26px;display:grid}.lightbox__kicker{letter-spacing:.16em;text-transform:uppercase;color:var(--text-dim);font-size:12px}.lightbox__info h3{font-family:var(--font-display);letter-spacing:-.02em;font-size:clamp(19px,2vw,26px)}.lightbox__info p:last-child{color:var(--text-soft);font-size:14px}@media (prefers-reduced-motion:reduce){.hero__media,.hero__copy{transform:none!important}.card__hit,.service,.contact__item,.btn{transition:none}}
