:root{--paper:#f4f2ed;--ink:#17191c;--blue:#2457ff;--muted:#686d76;--line:#d6d6d1}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;overflow-x:hidden;background:var(--paper);color:var(--ink);font-family:Arial,"Noto Sans SC",sans-serif}button,a{color:inherit;font:inherit}button{cursor:pointer}::selection{background:var(--blue);color:#fff}.site-header{position:fixed;z-index:50;inset:0 0 auto;height:72px;padding:0 4.4vw;display:grid;grid-template-columns:1fr 2fr 1fr;align-items:center;border-bottom:1px solid transparent;transition:.25s}.site-header.scrolled{background:#f4f2ede8;border-color:var(--line);backdrop-filter:blur(14px)}.monogram{justify-self:start;border:0;background:none;padding:0;font-size:20px;font-weight:800;letter-spacing:-.06em}.monogram span,.eyebrow{color:var(--blue)}nav{justify-self:center;display:flex;gap:52px}nav button,.language button{position:relative;border:0;background:none;padding:7px 0;font-size:13px}nav button:after,.language button:after{content:"";position:absolute;left:0;right:100%;bottom:0;height:2px;background:var(--blue);transition:.2s}nav button:hover:after,.language button.active:after{right:0}.language{justify-self:end;display:flex;gap:8px;align-items:center;font:12px monospace}.language .active{color:var(--blue)}.grid-surface{background-image:linear-gradient(to right,transparent calc(100% - 1px),#17191c12 1px);background-size:8.3333% 100%}.hero{min-height:900px;position:relative;display:grid;grid-template-columns:repeat(12,1fr);padding:115px 4.4vw 0;border-bottom:1px solid var(--ink);overflow:hidden}.grid-numbers{position:absolute;inset:78px 4.4vw auto;display:grid;grid-template-columns:repeat(12,1fr);font:10px monospace;color:#a4a6a8}.hero-copy{grid-column:1/8;padding:55px 30px 80px}.eyebrow{font:12px/1.3 monospace;letter-spacing:.09em;margin:0 0 28px}.hero h1{font-size:clamp(62px,7vw,105px);line-height:.82;letter-spacing:-.065em;margin:0}.hero h1 span{display:block}.hero h1 .cn-name{font-weight:900;margin-bottom:18px}.role{display:flex;align-items:center;gap:12px;margin:30px 0 43px;font:17px monospace}.role i{width:6px;height:6px;background:var(--blue);border-radius:50%}.hero h2{max-width:670px;margin:0;font-size:clamp(28px,3vw,45px);font-weight:500;line-height:1.08;letter-spacing:-.04em}.intro{max-width:610px;margin:25px 0 0;color:var(--muted);font-size:17px;line-height:1.65}.hero-actions{display:flex;gap:16px;margin-top:32px}.button{min-width:168px;height:52px;display:inline-flex;align-items:center;justify-content:space-between;gap:22px;padding:0 22px;border:1px solid var(--ink);background:transparent;text-decoration:none;font-weight:600;transition:.18s}.button.primary{color:var(--blue);border-color:var(--blue)}.button:hover{background:var(--ink);color:#fff;transform:translateY(-2px)}.button b{transition:.18s}.button:hover b{transform:translate(4px,-4px)}.system-map{grid-column:8/13;align-self:center;padding:24px 5px 90px 35px}.system-map svg{width:100%;overflow:visible}.paths path{fill:none;stroke:var(--blue);stroke-width:1.5;opacity:.75;stroke-dasharray:900;animation:draw 1.3s .5s both}.node{outline:none;cursor:pointer}.node circle{fill:var(--paper);stroke:var(--blue);stroke-width:2;transition:.2s}.node .halo{fill:none;opacity:0}.node text{font:10px monospace;fill:var(--ink)}.node.active circle:first-child{fill:var(--blue)}.node.active .halo{opacity:.35}.node.active text{fill:var(--blue)}.map-note{text-align:right;color:var(--muted);font:10px monospace}.scroll-cue{position:absolute;left:20px;bottom:48px;border:0;background:none;writing-mode:vertical-rl;font:10px monospace;letter-spacing:.12em;display:flex;align-items:center;gap:12px}.scroll-cue span{width:1px;height:45px;background:var(--blue)}.section-grid{display:grid;grid-template-columns:12% 44% 44%;border-bottom:1px solid var(--ink)}.section-index{padding:70px 30px;border-right:1px solid var(--line);writing-mode:vertical-rl;font:10px monospace;letter-spacing:.12em;color:var(--muted)}.section-index span{color:var(--blue);margin-bottom:18px}.section-heading{padding:80px 6vw;border-right:1px solid var(--line)}.section-heading h2{font-size:clamp(42px,5vw,76px);line-height:.98;letter-spacing:-.055em;margin:0}.section-heading>p:last-child{color:var(--muted);max-width:500px;line-height:1.6}.about-copy{padding:80px 6vw 30px;font-size:23px;line-height:1.5}.school{margin-top:50px;color:var(--muted);font:12px monospace;text-transform:uppercase}.strength-list{grid-column:2/4;display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line)}.strength-list div{padding:30px;min-height:150px;border-right:1px solid var(--line);display:flex;flex-direction:column;justify-content:space-between}.strength-list span{color:var(--blue);font:11px monospace}.strength-list strong{font-size:22px}.work{border-bottom:1px solid var(--ink)}.work-header{border-bottom:1px solid var(--ink)}.work-lead{align-self:end;padding:80px 6vw;color:var(--muted);font-size:18px}.project-shell{display:grid;grid-template-columns:34% 66%;min-height:620px}.project-tabs{border-right:1px solid var(--ink)}.project-tabs button{width:100%;min-height:190px;padding:34px 4vw;display:grid;grid-template-columns:48px 1fr 28px;grid-template-rows:auto auto;text-align:left;border:0;border-bottom:1px solid var(--line);background:none;transition:.2s}.project-tabs button:hover,.project-tabs button.active{background:var(--blue);color:#fff}.project-tabs span{font:11px monospace}.project-tabs strong{font-size:32px}.project-tabs small{grid-column:2;margin-top:10px;color:var(--muted)}.project-tabs button.active small,.project-tabs button:hover small{color:#dbe3ff}.project-tabs i{grid-column:3;grid-row:1/3;font-style:normal;font-size:22px;align-self:center}.project-detail{padding:60px 6vw;animation:projectIn .35s}.project-title{display:flex;justify-content:space-between;border-bottom:1px solid var(--ink);padding-bottom:40px}.project-title h3{margin:0 0 8px;font-size:clamp(50px,7vw,100px);line-height:.9;letter-spacing:-.06em}.project-title>div>p:last-child{color:var(--muted);font-size:18px}.project-title a{width:60px;height:60px;border:1px solid var(--blue);color:var(--blue);text-decoration:none;display:grid;place-items:center;font-size:25px}.project-row{display:grid;grid-template-columns:110px 1fr;padding:25px 0;border-bottom:1px solid var(--line)}.project-row span{font:11px monospace;color:var(--blue);text-transform:uppercase}.project-row p{margin:0;max-width:700px;font-size:17px;line-height:1.55}.tags{display:flex;gap:9px;flex-wrap:wrap;margin-top:30px}.tags span{border:1px solid var(--line);padding:9px 12px;font:10px monospace}.recognition .section-heading{border-right:0}.award-list{grid-column:2/4;border-top:1px solid var(--ink)}.award-list article{display:grid;grid-template-columns:100px 1fr 40px;gap:20px;align-items:center;min-height:120px;padding:24px 5vw;border-bottom:1px solid var(--line);transition:.2s}.award-list article:hover{padding-left:6vw;background:#fff}.award-list>article>span,.award-list small{color:var(--blue);font:11px monospace}.award-list h3{font-size:20px;margin:0 0 8px}.award-list p{margin:0;color:var(--muted)}.contact{min-height:620px;padding:90px 10vw 40px;position:relative;display:flex;flex-direction:column;justify-content:center;border-bottom:1px solid var(--ink)}.contact h2{max-width:1000px;font-size:clamp(60px,8vw,120px);line-height:.91;letter-spacing:-.065em;margin:0}.contact>p:not(.eyebrow){max-width:590px;margin:35px 0;color:var(--muted);font-size:18px;line-height:1.6}.contact>a{width:max-content;font-size:20px;color:var(--blue);text-decoration:none;border-bottom:2px solid var(--blue);padding:10px 0}.contact>a b{margin-left:60px}.contact-meta{position:absolute;bottom:30px;left:4.4vw;right:4.4vw;display:flex;justify-content:space-between;font:10px monospace;color:var(--muted)}footer{min-height:80px;padding:0 4.4vw;display:flex;align-items:center;justify-content:space-between;font:10px monospace}footer button{border:0;background:none;color:var(--blue)}.reveal{animation:rise .7s}@keyframes rise{from{opacity:0;transform:translateY(22px)}}@keyframes projectIn{from{opacity:0;transform:translateX(15px)}}@keyframes draw{from{stroke-dashoffset:900}to{stroke-dashoffset:0}}
@media(max-width:900px){.site-header{grid-template-columns:1fr auto}nav{display:none}.hero{min-height:auto;padding-top:110px}.hero-copy{grid-column:1/13;padding:45px 16px 30px}.hero h1{font-size:18vw}.role{flex-wrap:wrap}.system-map{grid-column:1/13;padding:20px 10px 80px}.section-grid{grid-template-columns:42px 1fr}.section-index{grid-row:1/4;padding:45px 14px}.section-heading,.about-copy{grid-column:2;padding:50px 28px;border-right:0}.strength-list{grid-column:2;grid-template-columns:1fr}.work-lead{grid-column:2;padding:25px 28px 50px}.project-shell{grid-template-columns:1fr}.project-tabs{border-right:0;display:grid;grid-template-columns:1fr 1fr}.project-detail{padding:45px 28px}.award-list{grid-column:2}.award-list article{grid-template-columns:55px 1fr}.award-list small{display:none}.contact{padding:80px 30px 70px}.contact h2{font-size:16vw}footer span:nth-child(2){display:none}}
@media(max-width:560px){.site-header{padding:0 20px}.grid-surface{background-size:25% 100%}.hero{padding-left:20px;padding-right:20px}.grid-numbers{display:none}.hero-copy{padding-left:0;padding-right:0}.hero h1{font-size:20vw}.hero h2{font-size:34px}.hero-actions{flex-direction:column}.button{width:100%}.system-map{padding-left:0}.scroll-cue{display:none}.project-tabs{grid-template-columns:1fr}.project-tabs button{min-height:120px}.project-detail{padding:35px 20px}.project-row{grid-template-columns:1fr;gap:10px}.contact-meta span:last-child{display:none}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
