@import url('./assets/fonts.css');
:root{--paper:#f4f3ee;--surface:#fbfaf6;--ink:#1c2528;--muted:#657174;--line:#d7dbd6;--blue:#334fea;--blue-soft:#e7ebff;--dark:#142226;--radius:5px;--sans:'Manrope',Arial,sans-serif;--serif:'Instrument Serif',Georgia,serif;--mono:'JetBrains Mono',monospace;--container:1280px}
:root[data-theme=dark]{--paper:#142023;--surface:#1c2a2e;--ink:#f1f2e9;--muted:#abb5b3;--line:#354447;--blue:#a0afff;--blue-soft:#273855;--dark:#0b171b}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:95px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:15px;line-height:1.8;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid var(--blue);outline-offset:6px}::selection{background:var(--blue);color:white}img,svg{max-width:100%}img{display:block}button{border:0;background:none}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:500}p+p{margin-top:1.1em}.wrap{width:min(var(--container),calc(100% - 96px));margin-inline:auto}.eyebrow,.label{font:10px/1.6 var(--mono);letter-spacing:.12em;text-transform:uppercase}.eyebrow{display:flex;align-items:center;gap:11px;color:var(--muted)}.eyebrow:before{content:'';height:6px;width:6px;border-radius:50%;background:var(--blue)}.muted{color:var(--muted)}.serif{font-family:var(--serif);font-weight:400}.skip{position:fixed;top:-100px;left:20px;z-index:100;background:var(--ink);color:var(--paper);padding:12px}.skip:focus{top:10px}.site-header{position:sticky;top:0;z-index:30;background:var(--paper);border-bottom:1px solid var(--line)}.nav{height:86px;display:flex;align-items:center;justify-content:space-between;gap:32px}.brand{display:flex;align-items:center;gap:12px;font-size:12px;line-height:1.3;font-weight:700;letter-spacing:.035em}.monogram{font:23px/1 var(--serif);width:40px;height:40px;display:grid;place-items:center;border:1px solid var(--ink);border-radius:50%;letter-spacing:-3px;padding-right:3px}.nav-links{display:flex;gap:30px;align-items:center}.nav-links>a{font-size:12px;font-weight:600;position:relative}.nav-links>a:after{content:'';position:absolute;bottom:-8px;left:0;height:1px;width:0;background:var(--blue);transition:width .2s}.nav-links>a:hover:after,.nav-links>a[aria-current=page]:after{width:100%}.nav-end{display:flex;gap:18px;align-items:center}.nav-note{font:9px var(--mono);letter-spacing:.06em;color:var(--muted)}.theme-toggle{width:34px;height:34px;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center}.theme-toggle svg{width:15px;height:15px}.menu-toggle{display:none;font:11px var(--mono)}.progress{height:2px;position:absolute;bottom:-1px;background:var(--blue);width:0;left:0}.hero{display:grid;grid-template-columns:1.1fr 1fr;gap:40px;align-items:center;padding-block:66px 53px;min-height:720px}.hero .eyebrow{margin-bottom:36px}.name-title{font:clamp(104px,12.5vw,184px)/.79 var(--serif);letter-spacing:-.055em;margin-left:-8px}.name-title em{font-weight:400;color:var(--blue);display:block;padding-bottom:20px}.hero-intro{font-size:15px;line-height:1.85;max-width:510px;margin-top:34px}.hero-intro strong{font-weight:700}.actions{display:flex;align-items:center;gap:24px;flex-wrap:wrap;margin-top:28px}.button{display:inline-flex;gap:22px;align-items:center;justify-content:center;font-size:12px;font-weight:600;padding:13px 20px;background:var(--ink);color:var(--paper);border:1px solid var(--ink);border-radius:2px;transition:background .2s,transform .2s}.button:hover{transform:translateY(-2px);background:var(--blue);border-color:var(--blue);color:#fff}.button.ghost{background:transparent;color:var(--ink);border-color:var(--line)}.text-link{display:inline-flex;align-items:center;gap:14px;font-size:12px;font-weight:600;border-bottom:1px solid var(--line);padding-block:5px}.text-link:hover{color:var(--blue);border-color:var(--blue)}.arrow{width:16px;height:16px;flex:none}.hero-map{min-height:510px;position:relative;padding:15px 0 0 25px}.map-top{display:flex;justify-content:space-between;color:var(--muted);font:9px var(--mono);letter-spacing:.08em}.map-top span:last-child{color:var(--blue)}.map-canvas{width:100%;height:auto;display:block;margin-block:10px}.map-grid{stroke:var(--line);stroke-width:.7}.map-ring{fill:none;stroke:var(--line);stroke-width:.8}.map-path{fill:none;stroke:var(--blue);stroke-width:1.5;opacity:.7}.map-core{fill:var(--ink)}.map-core-text{fill:var(--paper);font:38px var(--serif);letter-spacing:-3px}.map-tag{fill:var(--surface);stroke:var(--line)}.map-text{font:11px var(--mono);fill:var(--ink)}.map-small{font:8px var(--mono);fill:var(--muted);letter-spacing:.05em}.map-dot{fill:var(--blue)}.map-node-highlight{stroke:var(--blue);stroke-width:1.2}.axis-tabs{display:flex;border-bottom:1px solid var(--line);gap:20px}.axis-tabs button{padding:8px 0 11px;font-size:11px;color:var(--muted);border-bottom:2px solid transparent;margin-bottom:-1px}.axis-tabs button[aria-pressed=true]{border-color:var(--blue);color:var(--ink)}.axis-description{font-size:12px;line-height:1.9;color:var(--muted);margin-top:17px;min-height:52px}.hero-bottom{display:flex;gap:30px;justify-content:space-between;border-top:1px solid var(--line);padding-block:18px;font:9px var(--mono);letter-spacing:.06em;color:var(--muted)}.hero-bottom span:first-child{color:var(--ink)}.section{padding-block:100px}.section-head{display:grid;grid-template-columns:1.4fr 1fr;gap:70px;align-items:end;margin-bottom:46px}.section-title{font:clamp(40px,5.5vw,73px)/1.06 var(--serif);letter-spacing:-.035em;margin-top:16px}.section-title em{font-weight:400;color:var(--muted)}.section-intro{font-size:13px;color:var(--muted);max-width:400px;padding-bottom:6px}.projects-section{border-top:1px solid var(--line)}.filters{display:flex;gap:9px;flex-wrap:wrap;margin-bottom:28px}.filter{border:1px solid var(--line);padding:7px 15px;border-radius:25px;font-size:11px;color:var(--muted)}.filter[aria-pressed=true]{background:var(--ink);color:var(--paper);border-color:var(--ink)}.filter-count{font:10px var(--mono);margin-left:auto;align-self:center;color:var(--muted)}.project-list{display:grid;gap:28px}.project-card{display:grid;grid-template-columns:1.06fr 1fr;gap:44px;padding-bottom:28px;border-bottom:1px solid var(--line);align-items:center}.project-media{display:block;position:relative;overflow:hidden;background:#dce3dd;border-radius:var(--radius);aspect-ratio:1.45}.project-media img{height:100%;width:100%;object-fit:cover;object-position:top;transition:transform .6s}.project-media:hover img{transform:scale(1.025)}.project-media>.diagram{width:100%;height:100%}.media-index{position:absolute;bottom:14px;left:16px;background:#f4f3eee8;color:#283438;padding:4px 8px;font:9px var(--mono);border-radius:2px}.project-meta{display:flex;align-items:center;gap:10px;font:9px var(--mono);letter-spacing:.04em;color:var(--muted);margin-bottom:16px}.project-meta .index{color:var(--blue)}.project-title{font:clamp(29px,3.3vw,45px)/1.13 var(--serif);letter-spacing:-.02em;margin-bottom:10px}.project-title a:hover{color:var(--blue)}.project-description{font-size:12px;line-height:1.9;color:var(--muted);max-width:440px}.project-status{font-size:10px;margin-block:16px 11px;color:var(--muted)}.tags{display:flex;gap:7px;flex-wrap:wrap;list-style:none;margin:14px 0 0;padding:0}.tags li{font:9px var(--mono);border:1px solid var(--line);padding:3px 8px;border-radius:2px}.project-links{display:flex;gap:25px;margin-top:22px}.project-card.compact{grid-template-columns:220px 1fr;gap:35px}.project-card.compact .project-media{aspect-ratio:1.3}.project-card.compact .project-title{font-size:31px}.project-card.compact .project-description{max-width:650px}.project-card.compact .project-meta{margin-bottom:6px}.project-card.compact .project-status{margin-top:10px}.project-card.compact .project-links{margin-top:12px}.project-card[hidden]{display:none}.diagram text{font-family:var(--mono)}.story{background:var(--dark);color:#eef1e8;overflow:hidden}.story-inner{display:grid;grid-template-columns:.8fr 1.2fr;gap:100px}.story .eyebrow{color:#afbfbe}.story-number{font:160px/.9 var(--serif);letter-spacing:-.05em;margin-block:40px 10px;color:#b5c2e6}.story-caption{font:10px var(--mono);color:#9dafb1;line-height:1.9;max-width:230px}.story h2{font:clamp(35px,4.5vw,60px)/1.12 var(--serif);letter-spacing:-.025em}.story h2 em{color:#afc1ff;font-weight:400}.story p{font-size:13px;color:#c3cecb;line-height:2;margin-top:25px;max-width:600px}.story .story-note{font-size:11px;color:#91a6a8;border-top:1px solid #38484a;padding-top:22px}.story a{color:#eef1e8}.journey{display:grid;grid-template-columns:.9fr 1.1fr;gap:90px}.journey .section-title{font-size:61px}.timeline{list-style:none;margin:0;padding:0}.timeline li{display:grid;grid-template-columns:100px 1fr;gap:24px;padding:25px 0;border-top:1px solid var(--line)}.timeline time{font:10px var(--mono);color:var(--muted);padding-top:4px}.timeline h3{font-size:15px;font-weight:700;line-height:1.7}.timeline p{font-size:12px;color:var(--muted);margin-top:5px;line-height:1.85}.cv-note{font-size:11px;color:var(--muted);max-width:300px;margin-top:20px}.admissions{border-top:1px solid var(--line);background:var(--surface)}.admission-list{display:grid;grid-template-columns:1fr 1fr;gap:0 44px}.admission-link{border-top:1px solid var(--line);padding:22px 4px;display:flex;gap:20px;align-items:center;justify-content:space-between}.admission-link:hover .arrow{transform:translate(3px,-3px)}.admission-link .arrow{transition:transform .2s}.admission-link .label{color:var(--muted);font-size:8px}.admission-link h3{font-size:15px;font-weight:700;line-height:1.6;margin-top:4px}.admission-link p{font-size:11px;color:var(--muted);margin-top:3px}.contact{padding-block:100px 60px}.contact-top{display:flex;align-items:end;justify-content:space-between;gap:50px}.contact-title{font:clamp(57px,8vw,111px)/1 var(--serif);letter-spacing:-.04em;margin-top:20px}.contact-title em{color:var(--blue);font-weight:400}.contact-text{font-size:13px;color:var(--muted);max-width:390px;margin-top:25px}.email{font-size:13px;display:inline-flex;gap:18px;border-bottom:1px solid var(--ink);padding-bottom:9px;margin-top:30px;word-break:break-word}.site-footer{display:flex;gap:20px;justify-content:space-between;align-items:center;border-top:1px solid var(--line);margin-top:65px;padding-top:22px;font:9px var(--mono);color:var(--muted)}.footer-links{display:flex;gap:22px}.breadcrumb{font:10px var(--mono);color:var(--muted);display:flex;gap:12px;align-items:center;margin-bottom:45px}.breadcrumb a:hover{color:var(--blue)}.detail-hero{padding-block:50px 60px}.detail-title{font:clamp(47px,7.5vw,98px)/1.03 var(--serif);letter-spacing:-.04em;max-width:1100px;margin-top:21px}.detail-intro{font-size:17px;color:var(--muted);max-width:760px;line-height:1.9;margin-top:28px}.detail-meta{display:flex;gap:30px;flex-wrap:wrap;border-top:1px solid var(--line);margin-top:35px;padding-top:20px;color:var(--muted);font:10px/1.8 var(--mono)}.detail-hero .actions{margin-top:25px}.detail-media{margin-top:5px;aspect-ratio:1.9;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:#dce3dd}.detail-media img{width:100%;height:100%;object-fit:cover;object-position:top}.detail-media svg{height:100%;width:100%}.media-caption{font:9px var(--mono);color:var(--muted);margin-top:10px}.study-body{display:grid;grid-template-columns:250px 1fr;gap:90px;padding-block:70px}.study-aside{font-size:12px;color:var(--muted);border-top:1px solid var(--line);padding-top:20px;align-self:start;position:sticky;top:115px}.study-aside .label{color:var(--ink);margin-bottom:12px}.study-aside a{display:inline-block;margin-top:20px;border-bottom:1px solid var(--line);font-size:11px}.study-main h2{font:36px/1.2 var(--serif);margin-bottom:18px;letter-spacing:-.02em}.study-main section{padding-bottom:38px;margin-bottom:26px;border-bottom:1px solid var(--line)}.study-main p,.study-main li{font-size:13px;color:var(--muted);line-height:1.95}.study-main ul{padding-left:19px}.study-main li+li{margin-top:12px}.architecture{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin-top:23px}.architecture span{padding:16px 8px;border:1px solid var(--line);background:var(--surface);font:10px/1.7 var(--mono);text-align:center;position:relative}.architecture span:not(:last-child):after{content:'→';position:absolute;right:-12px;top:50%;transform:translateY(-50%);color:var(--blue);z-index:1}.evidence{padding:23px;background:var(--blue-soft);border-left:2px solid var(--blue);margin-top:24px}.evidence strong{font:32px/1.3 var(--serif);display:block;color:var(--ink)}.evidence .label{font-size:8px}.next-project{border-top:1px solid var(--line);padding-block:50px;display:flex;justify-content:space-between;gap:20px;align-items:center}.next-project h3{font:35px var(--serif)}.program-hero{display:grid;grid-template-columns:1fr 300px;gap:60px;align-items:end}.program-hero .detail-title{font-size:clamp(44px,6vw,75px)}.program-stamp{padding:30px;border:1px solid var(--line);background:var(--surface)}.program-stamp .year{font:58px var(--serif);letter-spacing:-.04em;line-height:1.1}.program-stamp p{font-size:11px;color:var(--muted);margin-top:12px}.program-copy{max-width:840px;margin-inline:auto;padding-block:20px 55px}.program-copy .section-title{font-size:42px;margin-bottom:23px}.program-copy p,.program-copy li{font-size:14px;line-height:2;color:var(--muted)}.program-copy ul{padding-left:19px}.program-copy>section{padding-block:28px;border-bottom:1px solid var(--line)}.program-copy h2{font:36px var(--serif);margin-bottom:20px}.program-projects{padding-block:40px 80px}.program-projects .section-title{font-size:43px;margin-bottom:30px}.program-source{font:10px/1.9 var(--mono);color:var(--muted);border-top:1px solid var(--line);padding-block:25px 55px}.program-source a{border-bottom:1px solid var(--line)}.notfound{padding-block:100px 180px}.notfound h1{font:130px var(--serif);color:var(--blue)}.notfound p{margin:20px 0 30px}.reveal{opacity:1}.js .reveal{opacity:0;transform:translateY(18px);transition:opacity .6s,transform .6s}.js .reveal.visible{opacity:1;transform:none}
@media(min-width:1600px){.hero{min-height:790px}.name-title{font-size:190px}.hero-map{padding-left:45px}}
@media(max-width:1080px){.wrap{width:calc(100% - 60px)}.hero{gap:25px;min-height:650px}.name-title{font-size:140px}.nav-note{display:none}.hero-map{padding-left:0}.hero-intro{font-size:13px}.hero .eyebrow{font-size:9px}.story-inner{gap:55px}.journey{gap:50px}.project-card{gap:30px}.study-body{grid-template-columns:190px 1fr;gap:50px}.program-hero{grid-template-columns:1fr 235px;gap:35px}.nav-links{gap:22px}}
@media(max-width:760px){html{scroll-padding-top:77px}.wrap{width:calc(100% - 40px)}.nav{height:70px}.brand{font-size:10px;gap:9px}.monogram{width:33px;height:33px;font-size:20px}.nav-end{gap:13px}.menu-toggle{display:block}.nav-links{display:none;position:absolute;top:70px;left:0;right:0;background:var(--paper);padding:25px 25px 30px;box-shadow:0 18px 20px #0000000a;border-bottom:1px solid var(--line);flex-direction:column;align-items:start;gap:25px}.nav-links.open{display:flex}.nav-links>a{font-size:15px}.hero{grid-template-columns:1fr;padding-block:44px 27px;gap:40px;min-height:0}.hero .eyebrow{margin-bottom:31px;font-size:8px}.name-title{font-size:clamp(110px,27vw,165px);margin-left:-3px;line-height:.79}.hero-intro{font-size:13px;max-width:550px;margin-top:23px}.hero-map{min-height:0;max-width:490px;margin-inline:auto;width:100%;padding-top:13px;border-top:1px solid var(--line)}.map-canvas{height:310px;margin-block:5px}.axis-description{min-height:0;font-size:11px}.hero-bottom{font-size:8px;gap:15px;padding-block:18px;flex-wrap:wrap}.hero-bottom span:last-child{display:none}.section{padding-block:64px}.section-head{grid-template-columns:1fr;gap:22px;margin-bottom:30px}.section-title{font-size:46px}.section-intro{font-size:12px;max-width:520px}.filters{gap:7px}.filter{padding:6px 11px;font-size:10px}.filter-count{display:none}.project-card,.project-card.compact{grid-template-columns:1fr;gap:23px;padding-bottom:28px}.project-card.compact .project-media{aspect-ratio:1.8}.project-media{aspect-ratio:1.5}.project-title,.project-card.compact .project-title{font-size:34px}.project-description{font-size:12px;max-width:none}.project-status{font-size:10px;margin-top:12px}.project-links{margin-top:15px}.project-list{gap:36px}.project-meta{margin-bottom:10px}.story-inner{grid-template-columns:1fr;gap:35px}.story-number{font-size:100px;margin-block:25px 10px}.story-caption{max-width:none}.story h2{font-size:43px}.story p{font-size:12px}.journey{grid-template-columns:1fr;gap:35px}.journey .section-title{font-size:48px}.timeline li{grid-template-columns:80px 1fr;gap:17px;padding-block:23px}.timeline time{font-size:8px}.timeline h3{font-size:13px}.timeline p{font-size:11px}.admission-list{grid-template-columns:1fr}.admission-link{padding-block:20px}.admission-link h3{font-size:14px}.contact{padding-block:65px 35px}.contact-top{align-items:start;flex-direction:column;gap:25px}.contact-title{font-size:65px}.contact .actions{margin-top:0}.contact-text{font-size:12px}.email{font-size:11px;gap:10px;max-width:100%}.site-footer{margin-top:45px;align-items:start;flex-direction:column;font-size:8px}.footer-links{gap:20px}.breadcrumb{font-size:8px;margin-bottom:30px}.detail-hero{padding-block:32px 36px}.detail-title{font-size:52px}.detail-intro{font-size:14px;margin-top:22px}.detail-meta{gap:12px 23px;font-size:9px}.detail-media{aspect-ratio:1.35}.study-body{grid-template-columns:1fr;gap:38px;padding-block:45px}.study-aside{position:static;font-size:12px}.study-main h2{font-size:32px}.study-main p,.study-main li{font-size:12px}.architecture{grid-template-columns:1fr 1fr;gap:12px}.architecture span:nth-child(2):after{display:none}.architecture span{font-size:9px}.program-hero{grid-template-columns:1fr;gap:30px}.program-hero .detail-title{font-size:43px}.program-stamp{display:grid;grid-template-columns:1fr 1fr;gap:18px;padding:20px}.program-stamp .year{font-size:43px}.program-stamp p{margin:0;font-size:10px}.program-copy{padding-top:0}.program-copy p,.program-copy li{font-size:12px}.program-copy h2{font-size:32px}.program-projects{padding-block:20px 50px}.program-projects .section-title{font-size:36px}.next-project h3{font-size:27px}.button{font-size:11px;padding:12px 16px}.actions{gap:17px}.text-link{font-size:11px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.js .reveal{opacity:1;transform:none}}
@media print{.site-header,.filters,.theme-toggle,.menu-toggle,.hero-map,.site-footer,.contact .actions{display:none}.wrap{width:100%}.hero{display:block;min-height:0;padding:20px 0}.name-title{font-size:75px}.section{padding-block:25px}.project-card{break-inside:avoid}.project-media{max-height:180px}.story{background:none;color:#000}.story p,.story h2{color:#000}.js .reveal{opacity:1;transform:none}body{background:white;font-size:11px}.section-title{font-size:35px}}

.macc-year{font-size:.3em;letter-spacing:normal;margin-left:8px}
