@import url('https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Manrope:wght@400;500;600;700;800&family=Noto+Sans+SC:wght@400;500;700;900&display=swap');

:root{--paper:#f4f4f1;--ink:#151515;--muted:#73736f;--line:#d7d7d1;--acid:#d4ff3f;--dark:#171817;--serif:'Noto Sans SC','Source Han Sans SC','思源黑体',sans-serif;--sans:'Manrope','Helvetica Neue',Arial,sans-serif;--mono:'DM Mono','SFMono-Regular',monospace}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:14px;line-height:1.6;overflow-x:hidden}body.modal-open{overflow:hidden}img{display:block;max-width:100%}a{color:inherit;text-decoration:none}button{color:inherit;font:inherit;border:0;background:none;cursor:pointer}p,h1,h2,h3{margin:0}.noise{position:fixed;inset:0;pointer-events:none;opacity:.035;z-index:20;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.6'/%3E%3C/svg%3E")}.section-pad{padding:72px 20px}.site-header{height:68px;padding:0 20px;display:flex;align-items:center;justify-content:space-between;position:absolute;top:0;left:0;right:0;z-index:10}.monogram{font-weight:800;font-size:16px;letter-spacing:-.1em}.monogram span{font-size:7px;letter-spacing:0;margin-left:4px;vertical-align:top}.header-status,.desktop-nav{display:none}.menu-link{font-family:var(--mono);font-size:11px;text-transform:uppercase;letter-spacing:.04em}.menu-link span{font-size:16px;margin-left:5px}.eyebrow,.section-index,.work-topline p,.card-info p,.card-info>span,.visual-meta,.visual-caption,.floating-label,.hero-foot,.modal-kicker,.modal-footer,.story-details span{font-family:var(--mono);text-transform:uppercase;letter-spacing:.07em;font-size:10px}.eyebrow{display:flex;align-items:center;gap:12px;color:var(--muted)}.eyebrow span{color:var(--ink)}
.hero{min-height:100svh;position:relative;display:flex;flex-direction:column;justify-content:center;padding-top:104px;padding-bottom:85px;overflow:hidden}.hero-copy{position:relative;z-index:2}.hero h1{font-family:var(--serif);font-size:clamp(56px,17vw,110px);font-weight:500;line-height:1.02;letter-spacing:-.095em;margin:30px 0 24px}.hero h1 em{font-style:normal;color:transparent;-webkit-text-stroke:1.2px var(--ink);letter-spacing:-.12em}.hero h1 b{font-family:var(--sans);color:var(--acid);-webkit-text-stroke:0;font-size:1.2em;margin-left:6px}.hero-intro{color:#555650;font-size:13px;line-height:1.9}.round-arrow{display:flex;margin-top:38px;width:55px;height:55px;border:1px solid var(--ink);border-radius:50%;align-items:center;justify-content:center;font-size:20px;transition:.3s}.round-arrow:hover{background:var(--ink);color:var(--paper);transform:rotate(-45deg)}.hero-stage{height:340px;position:absolute;right:-80px;top:165px;width:310px;z-index:1}.hero-poster{position:absolute;overflow:hidden;box-shadow:0 20px 45px #00000020;background:#ddd}.hero-poster img{width:100%;height:100%;object-fit:cover}.hero-poster-back{height:208px;width:150px;right:0;top:10px;transform:translate(calc(var(--move-x,0) * -.45),calc(var(--move-y,0) * -.45)) rotate(8deg);filter:saturate(.8)}.hero-poster-front{height:278px;width:184px;right:83px;top:43px;transform:translate(var(--move-x,0),var(--move-y,0)) rotate(-8deg);border:8px solid var(--paper);box-shadow:0 26px 45px #00000026}.hero-poster-front img{object-position:center top}.portfolio-cover{position:absolute;z-index:2;right:33px;top:27px;width:215px;height:302px;padding:13px 13px 11px;background:#dce7c4;color:#20221e;box-shadow:18px 25px 40px #00000025;transform:rotate(5deg);overflow:hidden}.hero-art{position:absolute;z-index:2;right:29px;top:22px;width:225px;height:302px;overflow:hidden;background:#d5d5d1;box-shadow:18px 26px 48px #0000002b;transform:rotate(4deg);transition:transform .7s cubic-bezier(.2,.8,.2,1)}.hero-art img{width:100%;height:100%;object-fit:cover;object-position:center top;transition:transform 1s cubic-bezier(.2,.8,.2,1)}.hero-art:hover{transform:rotate(1deg) translateY(-8px)}.hero-art:hover img{transform:scale(1.025)}.hero-art-tag{position:absolute;z-index:2;left:11px;bottom:11px;color:#fff;font-family:var(--mono);font-size:7px;line-height:1.4;text-shadow:0 1px 5px #0008}.cover-top,.cover-bottom{display:flex;justify-content:space-between;align-items:center;font-family:var(--mono);font-size:7px;letter-spacing:.06em;text-transform:uppercase}.cover-top{position:relative;z-index:3}.cover-top span:first-child{font-family:var(--sans);font-size:16px;font-weight:800;letter-spacing:-.13em}.cover-top sup{font-size:5px;margin-left:2px;letter-spacing:0}.cover-grid-line{position:absolute;left:13px;right:13px;top:37px;height:1px;background:#20221e33}.cover-portrait{position:absolute;right:13px;top:52px;width:112px;height:150px;overflow:hidden;background:#2c2927;mix-blend-mode:multiply}.cover-portrait img{width:100%;height:100%;object-fit:cover;object-position:center top;filter:none;opacity:.94;mix-blend-mode:normal}.cover-stamp{position:absolute;left:15px;top:72px;font-family:var(--mono);font-size:7px;line-height:1.25;letter-spacing:.08em;color:#879d23}.cover-title{position:absolute;left:14px;bottom:47px;z-index:2}.cover-title small{display:block;font-family:var(--mono);font-size:6px;letter-spacing:.05em;margin-bottom:7px}.cover-title strong{display:block;font-family:var(--sans);font-size:31px;line-height:.83;letter-spacing:-.11em}.cover-title strong i{font-style:normal;color:#879d23}.cover-title em{display:block;font-family:var(--serif);font-size:10px;font-style:normal;margin-top:12px;letter-spacing:-.08em}.cover-index{position:absolute;right:13px;bottom:43px;font-family:var(--serif);font-size:65px;line-height:1;color:#20221e18}.cover-bottom{position:absolute;left:13px;right:13px;bottom:11px;border-top:1px solid #20221e55;padding-top:7px;font-size:6px}.contents{padding-top:72px;padding-bottom:88px;background:#eeeee9}.contents-head{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-top:40px}.contents-head h2{font-family:var(--serif);font-size:clamp(35px,9vw,72px);line-height:1.2;letter-spacing:-.1em;font-weight:500}.contents-head h2 span{color:#a1ae30}.contents-head p{text-align:right;color:var(--muted);font-size:12px;line-height:1.7}.contents-list{margin-top:43px;border-top:1px solid #cfcfc8}.contents-list a{display:grid;grid-template-columns:36px 1fr 28px;align-items:center;gap:10px;padding:18px 0;border-bottom:1px solid #cfcfc8;transition:padding .35s ease,background .35s ease}.contents-list a:hover{padding-left:12px;background:#e3e4d9}.contents-list a span,.contents-list a small{font-family:var(--mono);font-size:9px;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}.contents-list a strong{font-family:var(--serif);font-size:17px;font-weight:500;letter-spacing:-.06em}.contents-list a small{grid-column:2;grid-row:2;font-size:8px}.contents-list a b{grid-column:3;grid-row:1 / span 2;font-size:18px;font-weight:400}.floating-label{position:absolute;z-index:3;line-height:1.5;color:var(--muted)}.floating-label strong{font-weight:400;color:var(--ink)}.label-top{top:-28px;left:19px;transform:rotate(-8deg)}.label-bottom{bottom:4px;right:18px;transform:rotate(-8deg);text-align:right}.stage-orbit{position:absolute;border:1px solid var(--ink);border-radius:50%;opacity:.18}.orbit-one{width:245px;height:245px;right:20px;top:15px}.orbit-two{width:175px;height:175px;right:115px;top:90px;border-style:dashed}.hero-foot{position:absolute;bottom:24px;left:20px;right:20px;display:flex;align-items:center;gap:12px;color:var(--muted)}.hero-foot .line{height:1px;background:var(--line);flex:1}.hero-foot span:last-child{color:var(--ink);font-size:15px}
.section-index{color:var(--muted);font-size:10px}.section-index span{margin:0 8px;color:var(--line)}.manifesto{padding-top:48px;padding-bottom:0;overflow:hidden}.manifesto-grid{margin-top:42px}.manifesto-lead{font-family:var(--serif);font-size:clamp(30px,8.5vw,68px);line-height:1.25;letter-spacing:-.08em}.manifesto-lead span{color:#a7a7a1}.manifesto-body{max-width:320px;margin:34px 0 0 auto;color:#555650;font-size:14px}.manifesto-body p+p{margin-top:20px}.text-link{display:inline-flex;gap:10px;border-bottom:1px solid var(--ink);padding:30px 0 8px;color:var(--ink);font-size:12px}.text-link span{font-size:18px;line-height:12px}.manifesto-marquee{margin-top:83px;margin-left:-20px;width:calc(100% + 40px);border-top:1px solid var(--line);border-bottom:1px solid var(--line);white-space:nowrap;overflow:hidden;color:#b1b1ab;font-family:var(--serif);font-style:italic;font-size:22px;padding:12px 0;transform:rotate(-2deg)}.manifesto-marquee span{display:inline-block;animation:marquee 18s linear infinite}@keyframes marquee{to{transform:translateX(-50%)}}
.section-dark{background:var(--dark);color:var(--paper)}.profile{padding-top:78px;padding-bottom:94px;background:#ecece8}.profile-grid{display:grid;grid-template-columns:1fr;gap:42px;margin-top:42px}.profile-portrait{position:relative;max-width:390px;overflow:hidden;background:#211e1c}.profile-portrait img{width:100%;height:auto;filter:grayscale(.15);transition:transform 1s cubic-bezier(.2,.8,.2,1)}.profile-portrait:hover img{transform:scale(1.035)}.portrait-mark{position:absolute;right:13px;bottom:12px;color:#fff;font-family:var(--mono);font-size:9px;letter-spacing:.08em}.profile-copy h2{font-family:var(--serif);font-size:clamp(42px,11vw,82px);font-weight:400;line-height:1.1;letter-spacing:-.1em;margin:18px 0 24px}.profile-copy h2 i{font-style:normal;color:#a1ae30}.profile-intro{max-width:390px;color:#5e5e59;font-size:13px;line-height:1.9}.profile-intro+.profile-intro{margin-top:14px}.skill-list{display:flex;flex-wrap:wrap;gap:7px;margin-top:25px;max-width:400px}.skill-list span{border:1px solid #c4c4bd;border-radius:99px;padding:6px 10px;color:#686862;font-family:var(--mono);font-size:9px}.timeline-wrap{margin-top:75px;border-top:1px solid #c9c9c2;padding-top:20px}.timeline-title{display:flex;justify-content:space-between;align-items:flex-start;gap:20px}.timeline-title span{font-family:var(--mono);font-size:10px;text-transform:uppercase;color:#888880;letter-spacing:.07em}.timeline-title strong{font-family:var(--serif);font-size:19px;line-height:1.4;letter-spacing:-.06em;font-weight:500}.timeline{list-style:none;padding:0;margin:38px 0 0}.timeline li{display:grid;grid-template-columns:1fr;gap:7px;padding:17px 0;border-bottom:1px solid #d2d2cb}.timeline time{font-family:var(--mono);font-size:9px;color:#95958d}.timeline h3{font-size:16px;font-weight:600}.timeline p{font-size:12px;color:#73736c;margin-top:3px}.feature{margin-top:0;padding-top:72px;padding-bottom:84px}.section-index.light{color:#969891}.section-index.light span{color:#454741}.feature-head{display:flex;justify-content:space-between;align-items:flex-start;gap:20px}.feature-head>p{text-align:right;font-family:var(--serif);font-size:15px;line-height:1.45}.feature-head em{font-style:normal;color:var(--acid)}.feature-layout{margin-top:48px}.feature-visual{min-width:0}.visual-meta,.visual-caption{display:flex;justify-content:space-between;color:#8f918a;font-size:9px}.visual-window{height:430px;background:#e8e8e5;margin:12px 0;overflow:hidden}.visual-window img{width:100%;height:100%;object-fit:cover;transition:opacity .25s ease,transform .45s ease}.visual-window img.image-changing{opacity:.35;transform:scale(1.025)}.visual-caption{color:#8f918a}.visual-caption span:last-child{font-size:16px;color:var(--paper)}.feature-story{margin-top:52px}.light-eyebrow{color:#969891}.feature-story h2,.process-title h2,.contact h2{font-family:var(--serif);font-size:clamp(42px,12vw,80px);font-weight:400;letter-spacing:-.1em;line-height:1.1;margin:20px 0 25px}.feature-story h2 i,.process-title h2 i,.contact h2 i{color:var(--acid);font-style:normal}.story-copy{color:#aaaDA5;max-width:340px;font-size:13px;line-height:1.9}.story-details{border-top:1px solid #3b3d38;margin-top:35px;padding-top:18px;display:flex;gap:50px}.story-details div{display:flex;flex-direction:column;gap:6px}.story-details span{color:#73766f}.story-details strong{font-size:11px;line-height:1.6;font-weight:500}.image-switcher{display:flex;gap:8px;margin-top:29px}.switch{width:48px;height:48px;padding:3px;opacity:.45;transition:.3s}.switch.active,.switch:hover{opacity:1}.switch img{width:100%;height:100%;object-fit:cover}
.work-index{padding-top:76px}.work-topline{display:flex;justify-content:space-between;align-items:center}.work-topline p{color:var(--muted);font-size:9px}.work-heading{margin-top:34px}.work-heading h2{font-family:var(--serif);font-size:clamp(32px,8.5vw,70px);font-weight:500;line-height:1.2;letter-spacing:-.1em}.work-heading h2 span{color:#c5d83a}.filter-row{display:flex;gap:18px;margin:30px 0 34px;border-bottom:1px solid var(--line);padding-bottom:12px}.filter{font-family:var(--mono);font-size:10px;color:var(--muted);text-transform:uppercase;padding:0;position:relative}.filter.active,.filter:hover{color:var(--ink)}.filter.active:after{position:absolute;content:'';left:0;right:0;height:1px;bottom:-13px;background:var(--ink)}.work-grid{display:grid;grid-template-columns:1fr;gap:48px 16px}.work-card{min-width:0;transition:opacity .3s,transform .3s}.work-card.is-hidden{display:none}.card-hit{display:block;text-align:left;padding:0;width:100%}.card-image{height:250px;background:#e5e5e2;position:relative;overflow:hidden}.card-image img{width:100%;height:100%;object-fit:cover;transition:transform .7s cubic-bezier(.2,.8,.2,1)}.card-wide .card-image{height:265px}.card-tall .card-image{height:360px}.dark-card{background:#070809}.warm-card{background:#17100d}.blue-card{background:#0028cf}.web-card{background:#ddd}.card-hit:hover .card-image img{transform:scale(1.045)}.case-cover{isolation:isolate;color:#fff;overflow:hidden}.case-cover:after{content:'';position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(180deg,#00000012 0%,transparent 45%,#00000020 100%)}.case-cover img{position:absolute;inset:0;z-index:0;width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.2,.8,.2,1),opacity .4s}.case-cover:hover img{transform:scale(1.04)}.case-cover-top{position:absolute;z-index:3;left:15px;right:15px;top:14px;display:flex;justify-content:space-between;font-family:var(--mono);font-size:8px;letter-spacing:.045em;text-transform:uppercase}.cover-shengma{background:#0b4e4b}.cover-shengma img{opacity:.48;object-position:center}.cover-shengma:before{content:'';position:absolute;z-index:2;left:0;right:0;bottom:0;height:46%;background:linear-gradient(0deg,#073936e8,transparent)}.cover-shengma-word{position:absolute;z-index:3;left:15px;top:35%;font-family:var(--sans);font-size:clamp(32px,5vw,76px);font-weight:800;line-height:.8;letter-spacing:-.12em}.cover-shengma-word i{color:#bcf378;font-style:normal}.cover-stat{position:absolute;z-index:3;right:15px;bottom:17px;display:flex;align-items:flex-end;gap:7px}.cover-stat b{font-family:var(--sans);font-size:27px;line-height:.8;color:#bcf378}.cover-stat span{font-family:var(--mono);font-size:7px;line-height:1.35}.cover-maodi{background:#ef2d51}.cover-maodi img{opacity:.56;object-position:center;mix-blend-mode:multiply}.cover-maodi-word{position:absolute;z-index:3;left:15px;top:30%;font-family:var(--serif);font-size:clamp(37px,5vw,76px);font-weight:600;line-height:.8;letter-spacing:-.13em}.cover-maodi-word i{font-style:normal;color:#101321}.cover-seal{position:absolute;z-index:3;right:15px;bottom:17px;border:1px solid #fff;border-radius:50%;width:58px;height:58px;display:flex;align-items:center;justify-content:center;text-align:center;font-family:var(--serif);font-size:9px;line-height:1.45;transform:rotate(-12deg)}.cover-beizhi{background:#050505}.cover-beizhi img{opacity:.34;object-position:center;mix-blend-mode:screen}.beizhi-orbit{position:absolute;z-index:2;width:54%;aspect-ratio:1;right:13%;top:25%;border:1px solid #dbdbdb66;border-radius:50%;box-shadow:0 0 0 22px #dbdbdb12,0 0 0 44px #dbdbdb09}.cover-beizhi-word{position:absolute;z-index:3;left:15px;bottom:25%;font-family:var(--serif);font-size:clamp(28px,4vw,62px);line-height:.85;letter-spacing:-.12em}.cover-beizhi-word i{font-family:var(--sans);font-size:.34em;letter-spacing:.08em;font-style:normal;color:#dbdbdb}.cover-beizhi-caption{position:absolute;z-index:3;right:15px;bottom:17px;font-family:var(--mono);font-size:7px;line-height:1.4;text-align:right;color:#aaa}.cover-citycat{background:#0021e5}.cover-citycat img{opacity:.45;object-position:center;mix-blend-mode:screen}.cover-citycat:before{content:'M';position:absolute;z-index:2;right:5%;top:15%;font-family:var(--sans);font-size:clamp(130px,20vw,300px);font-weight:800;line-height:1;color:#fff1;letter-spacing:-.16em}.cover-citycat-word{position:absolute;z-index:3;left:15px;top:32%;font-family:var(--serif);font-size:clamp(36px,5vw,76px);line-height:.82;letter-spacing:-.15em;color:#fff}.cover-citycat-word i{font-style:normal;color:#f3d21d}.cover-citycat-tag{position:absolute;z-index:3;left:15px;bottom:18px;font-family:var(--serif);font-size:12px;letter-spacing:-.06em}.cover-archive{background:#dce7c4;color:#24251f}.cover-archive img{left:auto;right:0;width:54%;object-position:center top;filter:grayscale(1);mix-blend-mode:multiply;opacity:.82}.cover-archive .case-cover-top{color:#24251f}.cover-archive-word{position:absolute;z-index:3;left:15px;top:33%;font-family:var(--serif);font-size:clamp(29px,4vw,63px);line-height:.9;letter-spacing:-.13em}.cover-archive-word i{font-style:normal;color:#879d23}.cover-archive-meta{position:absolute;z-index:3;left:15px;bottom:17px;font-family:var(--mono);font-size:7px;line-height:1.45}.cover-duck{background:linear-gradient(135deg,#0023ec,#0e9bfd)}.cover-duck img{left:auto;right:-2%;width:66%;object-position:center;mix-blend-mode:screen;opacity:.58}.cover-duck-word{position:absolute;z-index:3;left:15px;top:32%;font-family:var(--serif);font-size:clamp(32px,5vw,72px);line-height:.84;letter-spacing:-.13em;color:#fff}.cover-duck-word i{display:block;margin-top:8px;font-family:var(--mono);font-size:8px;letter-spacing:.03em;font-style:normal}.cover-duck-caption{position:absolute;z-index:3;left:15px;bottom:18px;font-family:var(--mono);font-size:8px;line-height:1.3;color:#bfeaff}.cover-web{background:#e9ece8;color:#161616}.cover-web img{opacity:.7;object-position:center;mix-blend-mode:multiply}.cover-web .case-cover-top{color:#161616}.web-window{position:absolute;z-index:2;left:14%;right:14%;top:25%;bottom:18%;border:1px solid #151515aa;background:#eff2eddd;box-shadow:0 15px 30px #0002;padding:10px}.web-window span{display:inline-block;width:5px;height:5px;border-radius:50%;background:#111;margin-right:3px}.web-window b{display:block;font-family:var(--serif);font-size:clamp(16px,3vw,36px);line-height:1.1;letter-spacing:-.1em;margin-top:28%;font-weight:500}.cover-web-word{position:absolute;z-index:3;left:15px;bottom:16px;font-family:var(--sans);font-size:clamp(24px,3.5vw,52px);line-height:.8;letter-spacing:-.12em}.cover-web-word i{color:#057b68;font-style:normal}.card-index{position:absolute;z-index:4;top:14px;left:15px;color:inherit;font-family:var(--mono);font-size:10px;text-shadow:0 1px 5px #0005}.view-pill{position:absolute;bottom:14px;right:14px;background:var(--acid);color:var(--ink);font-family:var(--mono);font-size:9px;padding:7px 10px;opacity:0;transform:translateY(8px);transition:.3s}.card-hit:hover .view-pill{opacity:1;transform:none}.card-info{position:relative;padding-top:13px;padding-right:52px}.card-info h3{font-size:16px;line-height:1.3;font-weight:600}.card-info p{color:var(--muted);font-size:9px;margin-top:5px}.card-info .card-note{font-family:var(--serif);font-size:13px;line-height:1.6;letter-spacing:-.025em;text-transform:none;max-width:430px;color:#5e5e59;margin-top:14px}.card-info .card-output{font-family:var(--mono);font-size:9px;line-height:1.5;color:#999991;text-transform:uppercase;letter-spacing:.045em;margin-top:12px}.card-info>span{position:absolute;right:0;top:15px;color:var(--muted);font-size:9px}
.process{padding-top:46px;padding-bottom:90px}.process-grid{margin-top:43px}.process-title h2{color:var(--ink);margin:0 0 22px}.process-title h2 i{color:#b3bc40}.process-title p{color:var(--muted);font-size:13px}.steps{list-style:none;padding:0;margin:55px 0 0;border-top:1px solid var(--line)}.steps li{display:grid;grid-template-columns:42px 1fr;gap:13px;padding:22px 0;border-bottom:1px solid var(--line)}.steps li>span{font-family:var(--mono);font-size:10px;color:var(--muted)}.steps h3{font-size:17px;font-weight:600}.steps p{font-size:12px;color:var(--muted);margin-top:5px}
.contact{min-height:620px;display:flex;flex-direction:column;padding-top:72px;padding-bottom:26px}.contact-content{margin:auto 0}.contact h2{font-size:clamp(47px,13vw,92px);margin:18px 0 36px}.contact-email{display:inline-flex;align-items:center;gap:16px;font-size:15px;border-bottom:1px solid #777a73;padding-bottom:9px}.contact-email span{color:var(--acid);font-size:20px}.contact-foot{display:flex;justify-content:space-between;align-items:center;color:#81837c;font-family:var(--mono);font-size:9px;text-transform:uppercase;letter-spacing:.04em}.contact-foot a{color:var(--paper)}
.case-modal{position:fixed;inset:0;z-index:50;display:none;align-items:center;justify-content:center;padding:12px}.case-modal.open{display:flex}.modal-backdrop{position:absolute;inset:0;background:#10110fcc;backdrop-filter:blur(8px)}.modal-panel{position:relative;width:100%;height:min(94svh,900px);background:var(--paper);color:var(--ink);display:flex;flex-direction:column;box-shadow:0 20px 80px #0008}.modal-header{display:flex;justify-content:space-between;align-items:flex-start;padding:18px 18px 15px;border-bottom:1px solid var(--line)}.modal-kicker{color:var(--muted);font-size:9px}.modal-header h2{font-family:var(--serif);font-size:25px;font-weight:500;letter-spacing:-.07em;line-height:1.2;margin-top:3px}.modal-close{font-size:28px;font-weight:300;line-height:1;width:30px;height:30px}.modal-body{flex:1;min-height:0;overflow-y:auto;background:#e5e5e1;scroll-behavior:smooth}.case-intro{max-width:860px;margin:0 auto;padding:42px 22px 32px}.case-type{font-family:var(--mono);text-transform:uppercase;letter-spacing:.07em;font-size:9px;color:var(--muted)}.case-description{font-family:var(--serif);font-size:clamp(24px,5vw,46px);line-height:1.4;letter-spacing:-.08em;max-width:780px;margin-top:19px}.case-gallery{display:grid;grid-template-columns:1fr;gap:12px;padding:0 12px 46px}.case-story-block,.case-story-ending{grid-column:1/-1;padding:20px 10px 38px}.case-story-block{border-top:1px solid #c8c8c1}.case-story-label,.case-story-ending span{font-family:var(--mono);text-transform:uppercase;letter-spacing:.07em;font-size:9px;color:var(--muted)}.case-story-block h3{font-family:var(--serif);font-size:clamp(29px,7vw,64px);line-height:1.18;letter-spacing:-.1em;font-weight:500;max-width:720px;margin:16px 0 14px}.case-story-block p{font-size:14px;line-height:1.9;max-width:630px;color:#5e5e59}.case-system{grid-column:1/-1;padding:24px 10px 30px;border-top:1px solid #c8c8c1;border-bottom:1px solid #c8c8c1}.case-system-label{font-family:var(--mono);font-size:9px;letter-spacing:.07em;text-transform:uppercase;color:var(--muted)}.case-system h4{font-family:var(--serif);font-size:clamp(23px,4vw,42px);line-height:1.32;letter-spacing:-.08em;font-weight:500;max-width:720px;margin:15px 0 25px}.case-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:#c8c8c1;border:1px solid #c8c8c1}.case-stats div{display:flex;flex-direction:column;justify-content:space-between;min-height:84px;padding:11px;background:#e5e5e1}.case-stats strong{font-family:var(--sans);font-size:20px;letter-spacing:-.08em}.case-stats span{font-family:var(--mono);font-size:8px;text-transform:uppercase;color:var(--muted);line-height:1.4}.case-modules{display:flex;flex-wrap:wrap;gap:7px;margin-top:19px}.case-modules span{border:1px solid #bcbcb5;border-radius:99px;padding:6px 9px;font-family:var(--mono);font-size:8px;text-transform:uppercase;color:#66665f}.case-modules b{margin-right:6px;color:#aaa}.case-theme-mint .case-stats strong,.case-theme-mint .case-modules b{color:#087f75}.case-theme-pink .case-stats strong,.case-theme-pink .case-modules b{color:#ef2d51}.case-theme-black{background:#171817;color:#f4f4f1;border-color:#454741}.case-theme-black .case-system-label,.case-theme-black .case-stats span{color:#969891}.case-theme-black .case-stats{background:#454741;border-color:#454741}.case-theme-black .case-stats div{background:#242523}.case-theme-black .case-modules span{border-color:#575a53;color:#d7d7d1}.case-theme-black .case-stats strong,.case-theme-black .case-modules b{color:#bfc4c4}.case-theme-blue .case-stats strong,.case-theme-blue .case-modules b{color:#0021e5}.case-theme-lime .case-stats strong,.case-theme-lime .case-modules b{color:#879d23}.case-theme-electric{background:#0023ec;color:#fff}.case-theme-electric .case-system-label{color:#8fd7ff}.case-theme-electric .case-stats{background:#5a8eff;border-color:#5a8eff}.case-theme-electric .case-stats div{background:#0c50f5}.case-theme-electric .case-stats span{color:#bceaff}.case-theme-electric .case-modules span{border-color:#65b5ff;color:#fff}.case-theme-electric .case-modules b{color:#bceaff}.case-theme-white .case-stats strong,.case-theme-white .case-modules b{color:#057b68}.case-shot{margin:0;overflow:hidden;background:#d3d3cf;opacity:0;transform:translateY(24px);animation:case-shot-in .8s cubic-bezier(.2,.8,.2,1) forwards}.case-shot:nth-child(2){animation-delay:.08s}.case-shot:nth-child(3){animation-delay:.16s}.case-shot:nth-child(4){animation-delay:.24s}.case-shot:nth-child(5){animation-delay:.32s}.case-shot:nth-child(6){animation-delay:.4s}.case-shot img{width:100%;height:auto;display:block;transition:transform .8s cubic-bezier(.2,.8,.2,1)}.case-shot:hover img{transform:scale(1.025)}.case-shot figcaption{display:flex;justify-content:space-between;padding:10px 12px;font-family:var(--mono);font-size:9px;color:var(--muted);text-transform:uppercase}.case-story-ending{padding:36px 10px 10px;border-top:1px solid #c8c8c1}.case-story-ending p{font-family:var(--serif);font-size:clamp(24px,5vw,42px);line-height:1.35;letter-spacing:-.08em;max-width:630px;margin-top:14px}.modal-footer{display:flex;justify-content:space-between;align-items:center;padding:12px 18px;color:var(--muted);font-size:9px}@keyframes case-shot-in{to{opacity:1;transform:none}}.modal-footer a{color:var(--ink);border-bottom:1px solid var(--ink);padding-bottom:2px}
.reveal{opacity:0;transform:translateY(22px);transition:opacity .8s ease,transform .8s cubic-bezier(.2,.8,.2,1)}.reveal.visible{opacity:1;transform:none}.reveal-delay{transition-delay:.12s}.cursor-light{position:fixed;z-index:30;left:0;top:0;width:180px;height:180px;border-radius:50%;pointer-events:none;background:radial-gradient(circle,#d4ff3f38 0%,#d4ff3f0 68%);mix-blend-mode:multiply;transform:translate(-50%,-50%);opacity:0;transition:opacity .3s}.scroll-progress{display:none}.hero h1{animation:hero-text-in 1.1s cubic-bezier(.2,.8,.2,1) both}.hero-intro{animation:hero-text-in 1.1s .14s cubic-bezier(.2,.8,.2,1) both}.hero-stage{animation:hero-stage-in 1.4s .08s cubic-bezier(.2,.8,.2,1) both}.stage-orbit{animation:orbit-spin 18s linear infinite}.orbit-two{animation-direction:reverse;animation-duration:24s}.hero-poster-back{animation:poster-float 6s ease-in-out infinite}.hero-poster-front{animation:poster-float 7s .4s ease-in-out infinite reverse}@keyframes hero-text-in{from{opacity:0;transform:translateY(35px);clip-path:inset(0 0 100% 0)}to{opacity:1;transform:none;clip-path:inset(0)}}@keyframes hero-stage-in{from{opacity:0;transform:translate(50px,20px) rotate(8deg)}to{opacity:1;transform:none}}@keyframes poster-float{0%,100%{margin-top:0}50%{margin-top:-10px}}@keyframes orbit-spin{to{transform:rotate(360deg)}}
@media(pointer:fine){.cursor-light{opacity:.8}.card-hit{transform-style:preserve-3d;transition:transform .18s ease}.scroll-progress{display:flex;position:fixed;z-index:25;right:22px;top:50%;transform:translateY(-50%);height:108px;flex-direction:column;align-items:center;justify-content:space-between;font-family:var(--mono);font-size:9px;color:var(--muted)}.scroll-progress i{position:relative;width:1px;height:65px;background:var(--line);overflow:hidden}.scroll-progress i b{position:absolute;left:0;top:0;width:1px;height:100%;background:var(--ink);transform-origin:top;transform:scaleY(0)}}
@media(min-width:700px){.section-pad{padding-left:7vw;padding-right:7vw}.site-header{height:82px;padding:0 7vw}.header-status{display:flex;align-items:center;gap:8px;font-family:var(--mono);font-size:9px;text-transform:uppercase;color:var(--muted);letter-spacing:.05em}.header-status i{width:6px;height:6px;border-radius:50%;background:#9cb600;box-shadow:0 0 0 4px #dff38855}.desktop-nav{display:flex;gap:28px;font-family:var(--mono);font-size:10px;text-transform:uppercase}.desktop-nav a{color:var(--muted);transition:.2s}.desktop-nav a:hover{color:var(--ink)}.menu-link{display:none}.hero{padding-top:140px;padding-bottom:100px}.hero h1{font-size:clamp(90px,13vw,190px);margin-top:36px}.hero-intro{font-size:14px}.hero-stage{width:min(44vw,570px);height:min(46vw,520px);right:6vw;top:150px}.hero-poster-back{height:65%;width:45%;right:3%;top:6%}.hero-poster-front{height:82%;width:52%;right:27%;top:16%;border-width:13px}.portfolio-cover{width:min(29vw,360px);height:min(40vw,480px);right:18%;top:8%;padding:20px 20px 15px}.hero-art{width:min(29vw,360px);height:min(40vw,480px);right:18%;top:6%}.hero-art-tag{left:18px;bottom:18px;font-size:8px}.cover-grid-line{left:20px;right:20px;top:52px}.cover-portrait{right:20px;top:72px;width:54%;height:48%}.cover-stamp{left:22px;top:98px;font-size:9px}.cover-title{left:20px;bottom:72px}.cover-title small{font-size:8px;margin-bottom:11px}.cover-title strong{font-size:clamp(40px,4vw,60px)}.cover-title em{font-size:14px;margin-top:17px}.cover-index{right:20px;bottom:62px;font-size:100px}.cover-bottom{left:20px;right:20px;bottom:15px;padding-top:10px;font-size:8px}.contents{padding-top:120px;padding-bottom:135px}.contents-head{margin-top:70px}.contents-list{margin-top:68px}.contents-list a{grid-template-columns:55px 1fr 1.4fr 35px;gap:20px;padding:25px 0}.contents-list a small{grid-column:3;grid-row:1;align-self:center}.contents-list a b{grid-column:4;grid-row:1}.contents-list a strong{font-size:21px}.label-top{top:1%;left:4%}.label-bottom{bottom:3%;right:1%}.orbit-one{width:75%;height:75%;right:6%;top:3%}.orbit-two{width:56%;height:56%;right:27%;top:23%}.hero-foot{left:7vw;right:7vw;bottom:34px}.manifesto{padding-top:120px;padding-bottom:0}.manifesto-grid{display:grid;grid-template-columns:1.1fr .75fr;gap:7vw;margin-top:80px}.manifesto-body{margin:20px 0 0;max-width:400px}.manifesto-marquee{margin-top:125px;font-size:31px}.profile{padding-top:120px;padding-bottom:140px}.profile-grid{grid-template-columns:minmax(280px,.7fr) minmax(360px,1fr);gap:10vw;align-items:start;margin-top:75px}.profile-portrait{max-width:none}.profile-copy{padding-top:55px}.profile-copy h2{font-size:clamp(60px,7.5vw,110px)}.profile-intro{font-size:14px;max-width:510px}.timeline-wrap{margin-top:120px;padding-top:26px}.timeline{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:45px}.timeline li{display:block;padding:0 14px 0 0;border-bottom:0;border-right:1px solid #d2d2cb;min-height:135px}.timeline li:last-child{border-right:0}.timeline li div{margin-top:17px}.feature{padding-top:112px;padding-bottom:125px}.feature-head>p{font-size:22px}.feature-layout{display:grid;grid-template-columns:1.05fr .72fr;gap:8vw;margin-top:84px;align-items:start}.visual-window{height:clamp(500px,57vw,750px)}.feature-story{margin-top:85px}.feature-story h2{font-size:clamp(54px,7vw,100px)}.story-copy{font-size:14px}.work-index{padding-top:118px}.work-topline p{font-size:10px}.work-heading{display:flex;justify-content:space-between;align-items:end;margin-top:55px}.work-heading h2{font-size:clamp(48px,6.5vw,92px)}.filter-row{margin:0 0 11px;border:0;gap:23px}.filter.active:after{bottom:-14px}.work-grid{grid-template-columns:repeat(2,1fr);gap:70px 20px;margin-top:77px}.card-wide{grid-column:span 2}.card-image{height:min(30vw,430px)}.card-wide .card-image{height:min(39vw,560px)}.card-tall .card-image{height:min(43vw,610px)}.card-info{padding-top:17px}.card-info h3{font-size:18px}.process{padding-top:80px;padding-bottom:135px}.process-grid{display:grid;grid-template-columns:1fr 1fr;gap:11vw;margin-top:78px}.process-title h2{font-size:clamp(60px,8vw,110px)}.steps{margin:3px 0 0}.contact{min-height:760px;padding-top:112px}.contact h2{font-size:clamp(80px,11vw,165px);line-height:1.02;margin-top:35px}.contact-email{font-size:19px}.contact-foot{font-size:10px}.modal-panel{width:min(1100px,92vw)}.modal-header{padding:23px 28px 18px}.modal-footer{padding:14px 28px}.modal-header h2{font-size:32px}.case-intro{padding:68px 52px 48px}.case-gallery{grid-template-columns:repeat(2,1fr);gap:18px;padding:0 28px 70px}.case-story-block,.case-story-ending,.case-system{padding-left:24px;padding-right:24px}.case-stats{grid-template-columns:repeat(4,1fr)}.case-shot:first-of-type{grid-column:span 2}.case-shot:nth-of-type(4){grid-column:span 2}.case-shot figcaption{padding:11px 14px}}
@media(min-width:1100px){.hero-copy{margin-left:4vw}.hero-stage{right:10vw}.work-grid{grid-template-columns:repeat(12,1fr);gap:95px 20px}.work-card{grid-column:span 4}.work-card.card-wide{grid-column:span 8}.work-card.card-tall{grid-column:span 4;grid-row:span 2}.work-card:nth-child(5){grid-column:span 8}.work-card:nth-child(7){grid-column:span 8}.card-image{height:355px}.card-wide .card-image{height:480px}.card-tall .card-image{height:600px}}
.pdf-cover{background:#deded9;overflow:hidden}.pdf-cover img{width:100%;height:100%;object-fit:contain;background:#e5e5e1;transition:transform .7s cubic-bezier(.2,.8,.2,1)}.pdf-cover:hover img{transform:scale(1.018)}.pdf-cover .card-index{color:#fff;text-shadow:0 1px 6px #0008}.pdf-cover .view-pill{opacity:0}.work-grid .pdf-cover{border:1px solid #deded8}.card-info{min-height:78px}.card-info .card-note{max-width:600px}@media(max-width:699px){.work-grid .card-image,.work-grid .card-wide .card-image,.work-grid .card-tall .card-image{height:300px}}@media(min-width:700px){.work-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:64px 24px}.work-card,.work-card.card-wide,.work-card.card-tall{grid-column:auto;grid-row:auto}.work-grid .card-image,.work-grid .card-wide .card-image,.work-grid .card-tall .card-image{height:min(34vw,500px)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}}
