:root{--ink: #050505;--muted: rgba(0, 0, 0, .58);--line: rgba(0, 0, 0, .12);--soft: #f4f2ee;--paper: #ffffff;--dark: #050505;--page-pad: 16px;--section-space: clamp(88px, 11vw, 168px);font-family:Inter,Noto Sans SC,-apple-system,BlinkMacSystemFont,sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--paper)}body{margin:0;min-width:320px;min-height:100vh;overflow-x:hidden;background:var(--paper)}button,a{font:inherit}button{border:0}a{color:inherit;text-decoration:none}h1,h2,h3,p{margin:0}a:focus-visible,button:focus-visible{outline:2px solid var(--ink);outline-offset:3px}.section--dark a:focus-visible,.section--dark button:focus-visible,.menu-overlay a:focus-visible,.menu-overlay button:focus-visible,.site-footer a:focus-visible{outline-color:#fff}.skip-link{position:fixed;z-index:200;top:12px;left:12px;padding:10px 14px;border-radius:999px;color:#fff;background:var(--ink);font-size:12px;transform:translateY(-160%);transition:transform .2s ease}.skip-link:focus{transform:translateY(0)}.section-inner{width:min(calc(100% - (var(--page-pad) * 2)),1376px);margin-inline:auto}.section{padding-block:var(--section-space);background:var(--paper)}.section[id]{scroll-margin-top:78px}.section--dark{color:#fff;background:var(--dark)}.section-eyebrow{margin-bottom:20px;color:var(--muted);font-size:11px;font-weight:500;letter-spacing:.13em;text-transform:uppercase}.section--dark .section-eyebrow,.section-heading--inverse .section-eyebrow{color:#ffffff9e}.section-heading{max-width:920px}.section-heading h2,.work-heading h2,.about-layout h2,.contact-layout h2{font-size:clamp(2.35rem,7vw,5.6rem);font-weight:300;letter-spacing:-.035em;line-height:1.04}.section-description{max-width:590px;margin-top:28px;color:var(--muted);font-size:15px;line-height:1.75}.navbar{position:fixed;inset:0 0 auto;z-index:50;display:flex;justify-content:space-between;align-items:center;padding:max(12px,env(safe-area-inset-top)) 16px 12px;pointer-events:none;border-bottom:1px solid transparent;transition:background-color .3s ease,border-color .3s ease,backdrop-filter .3s ease}.navbar--scrolled{background:#ffffffd1;border-bottom-color:#00000012;backdrop-filter:blur(18px) saturate(150%);-webkit-backdrop-filter:blur(18px) saturate(150%)}.navbar>*,.navbar a,.navbar button{pointer-events:auto}.nav-left,.brand,.menu-pill,.tag-pair,.systems-pill{display:flex;align-items:center}.nav-left{gap:7px}.brand{min-width:42px;min-height:42px;gap:9px}.brand-mark{width:28px;height:28px;display:block;object-fit:contain;flex:0 0 auto}.brand-name{display:none;font-size:13px;font-weight:600;letter-spacing:-.025em;white-space:nowrap}.menu-pill{min-height:42px;gap:7px;padding:5px 13px 5px 5px;border-radius:999px;color:#fff;background:var(--ink);font-size:11px;cursor:pointer;transition:transform .25s ease}.menu-pill:hover{transform:scale(1.025)}.menu-icon,.systems-icon{width:30px;height:30px;border-radius:50%;display:grid;place-items:center}.menu-icon{color:var(--ink);background:#fff}.tag-pair,.systems-pill{border-radius:999px;background:var(--soft)}.tag-pair{display:none;min-height:42px;gap:20px;padding:0 17px;font-size:10px;font-weight:500}.systems-pill{min-width:42px;min-height:42px;justify-content:center;padding:5px}.systems-icon{color:#fff;background:var(--ink)}.systems-label{display:none;padding:0 13px 0 10px;font-size:10px;font-weight:500}.hero{position:relative;min-height:100vh;min-height:100svh;overflow:hidden;background:var(--paper)}.video-wrap{position:absolute;z-index:0;width:80%;height:80%;top:10%;right:10%;bottom:10%;left:10%;overflow:hidden;background:#f4f4f4}.video-wrap:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:#ffffff09;pointer-events:none}.video-poster,.video-wrap video{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;display:block}.video-poster{z-index:0}.video-wrap video{z-index:1}.video-wrap--fallback .video-poster{filter:saturate(0)}.hero-content{position:absolute;z-index:30;inset:auto 0 0;min-height:67%;padding:145px var(--page-pad) max(22px,env(safe-area-inset-bottom));display:flex;flex-direction:column;justify-content:flex-end;align-items:flex-start;gap:24px;background:linear-gradient(to top,#fff 0%,rgba(255,255,255,.84) 53%,transparent 100%)}.hero-copy{width:100%}.eyebrow{margin-bottom:13px;display:flex;align-items:center;gap:9px;color:#00000094;font-size:11px}.eyebrow-dot{width:8px;height:8px;flex:0 0 auto;border-radius:50%;background:var(--ink)}.hero h1{max-width:1060px;font-size:clamp(2.15rem,9vw,4.5rem);font-weight:300;letter-spacing:-.025em;line-height:1.04}.hero-intro{max-width:520px;margin-top:16px;color:#00000094;font-size:13px;line-height:1.7}.hero-actions{margin-top:20px;display:flex;flex-wrap:wrap;gap:8px}.primary-action,.secondary-action{min-height:42px;padding:0 19px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;font-size:12px;font-weight:500;transition:transform .25s ease,background .25s ease}.primary-action{color:#fff;background:var(--ink)}.secondary-action{border:1px solid rgba(0,0,0,.35);background:#ffffff1a}.primary-action:hover,.secondary-action:hover{transform:translateY(-2px)}.secondary-action:hover{background:#ffffffb8}.hero-project-tags{display:flex;flex-wrap:wrap;gap:6px}.hero-project-tags a{min-height:42px;padding:0 12px;border:1px solid var(--line);border-radius:999px;display:inline-flex;align-items:center;background:#ffffffe0;font-size:10px;transition:background .25s ease,color .25s ease}.hero-project-tags a:hover,.hero-project-tags a:focus-visible{color:#fff;background:var(--ink)}.work-section{padding-top:clamp(108px,13vw,184px)}.work-heading{margin-bottom:clamp(58px,8vw,104px);display:grid;gap:22px}.work-heading h2{font-size:clamp(2.5rem,7vw,5.6rem)}.work-heading>p{max-width:360px;color:var(--muted);font-size:14px;line-height:1.75}.work-list{border-top:1px solid var(--line)}.work-row{min-height:178px;margin-inline:calc(var(--page-pad) * -1);padding:28px var(--page-pad);display:grid;grid-template-columns:32px minmax(0,1fr) 24px;grid-template-areas:"index name arrow" ". type type" ". description description";align-content:center;gap:10px 12px;border-bottom:1px solid var(--line);transition:background-color .3s ease}.work-row:hover,.work-row:focus-visible{background:var(--soft)}.work-index{grid-area:index;padding-top:6px;color:#0000006b;font-size:10px}.work-name{grid-area:name;font-size:clamp(1.7rem,6vw,3.35rem);font-weight:300;letter-spacing:-.035em;line-height:1.05;transition:transform .3s ease}.work-row:hover .work-name,.work-row:focus-visible .work-name{transform:translate(7px)}.work-type{grid-area:type;color:#0000007a;font-size:10px;letter-spacing:.04em;text-transform:uppercase}.work-description{grid-area:description;max-width:560px;color:var(--muted);font-size:13px;line-height:1.7}.work-arrow{grid-area:arrow;align-self:start;margin-top:3px;transition:transform .3s ease}.work-row:hover .work-arrow,.work-row:focus-visible .work-arrow{transform:translate(3px,-3px)}.thesis-section{padding-block:clamp(108px,13vw,190px)}.thesis-section .section-heading{margin-bottom:clamp(74px,10vw,142px)}.principle-list{border-top:1px solid rgba(255,255,255,.2)}.principle-row{padding:30px 0;display:grid;grid-template-columns:34px 1fr;gap:14px;border-bottom:1px solid rgba(255,255,255,.2)}.principle-index{padding-top:3px;color:#ffffff94;font-size:10px}.principle-row h3{font-size:clamp(1.35rem,5vw,2.4rem);font-weight:300;letter-spacing:-.025em}.principle-row p{grid-column:2;max-width:640px;color:#ffffffb3;font-size:14px;line-height:1.75}.focus-section .section-heading{max-width:820px}.focus-grid{margin-top:clamp(66px,9vw,120px);border-top:1px solid var(--line)}.focus-item{min-height:300px;padding:28px 0 40px;border-bottom:1px solid var(--line);display:flex;flex-direction:column}.focus-meta{display:flex;justify-content:space-between;align-items:center;color:#0000006b;font-size:10px}.status-pill{min-height:30px;padding:0 11px;border:1px solid var(--line);border-radius:999px;display:inline-flex;align-items:center;color:var(--ink);letter-spacing:.03em}.focus-item h3{margin-top:auto;font-size:clamp(1.75rem,5vw,2.8rem);font-weight:300;letter-spacing:-.035em;line-height:1.08}.focus-item p{max-width:360px;margin-top:18px;color:var(--muted);font-size:14px;line-height:1.75}.about-section{padding-block:clamp(100px,14vw,210px);background:var(--soft)}.about-layout{display:grid;gap:70px}.about-layout h2{font-size:clamp(2.5rem,7vw,5.2rem)}.about-copy{max-width:740px}.about-copy>p:not(.about-principle){margin-bottom:28px;font-size:clamp(1.35rem,4vw,2.25rem);font-weight:300;letter-spacing:-.02em;line-height:1.48}.about-principle{margin-top:54px;padding-top:20px;border-top:1px solid var(--line);color:var(--muted);font-size:12px;line-height:1.6}.contact-section{padding-block:clamp(108px,14vw,206px) 74px;scroll-margin-top:78px}.contact-layout{display:grid;gap:70px}.contact-layout .section-eyebrow{color:#ffffff9e}.contact-layout h2{max-width:980px;font-size:clamp(2.55rem,7.3vw,6.2rem)}.contact-action{display:flex;flex-direction:column;align-items:flex-start;gap:22px}.contact-action p{color:#ffffff9e;font-size:11px;letter-spacing:.05em}.contact-action a{min-height:50px;padding:0 20px;border-radius:999px;display:inline-flex;align-items:center;gap:18px;color:var(--ink);background:#fff;font-size:12px;font-weight:500;transition:transform .25s ease}.contact-action a:hover{transform:translateY(-3px)}.site-footer{color:#fff;background:var(--dark)}.footer-inner{min-height:144px;padding-block:28px max(32px,env(safe-area-inset-bottom));border-top:1px solid rgba(255,255,255,.2);display:flex;flex-wrap:wrap;align-items:center;gap:18px 28px;color:#ffffff9e;font-size:10px}.footer-inner strong{width:100%;color:#fff;font-size:12px;font-weight:500}.footer-brand{display:flex;align-items:center;gap:10px}.footer-brand .brand-mark{width:32px;height:32px}.footer-inner a{min-height:42px;margin-left:auto;display:inline-flex;align-items:center;gap:7px;color:#fff}.menu-overlay{position:fixed;z-index:100;top:0;right:0;bottom:0;left:0;min-height:100vh;min-height:100svh;padding:max(18px,env(safe-area-inset-top)) 16px max(22px,env(safe-area-inset-bottom));overflow-y:auto;display:flex;flex-direction:column;color:#fff;background:var(--dark)}.menu-topline,.menu-footer{display:flex;justify-content:space-between;align-items:center}.menu-brand{color:#fff;font-size:12px;font-weight:600}.close-button{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;color:var(--ink);background:#fff;cursor:pointer}.menu-content{width:100%;margin:auto 0;padding:60px 0;display:grid;gap:54px}.menu-page-nav>p,.menu-projects>p{margin-bottom:18px;color:#ffffff9e;font-size:11px;letter-spacing:.12em;text-transform:uppercase}.menu-page-nav>div,.menu-projects>div{border-top:1px solid rgba(255,255,255,.22)}.menu-page-nav a,.menu-projects a{min-height:64px;border-bottom:1px solid rgba(255,255,255,.22);display:grid;align-items:center}.menu-page-nav a{grid-template-columns:32px 1fr;font-size:clamp(1.5rem,8vw,3.1rem);font-weight:300;letter-spacing:-.035em}.menu-page-nav a span,.menu-projects a>span{color:#ffffff94;font-size:10px;letter-spacing:0}.menu-projects a{grid-template-columns:28px 1fr 22px;gap:8px}.menu-projects a strong{font-size:16px;font-weight:400;letter-spacing:-.02em}.menu-footer{flex-wrap:wrap;gap:12px 24px;color:#ffffff9e;font-size:10px;text-transform:uppercase;letter-spacing:.08em}.menu-footer a{min-height:42px;display:inline-flex;align-items:center;color:#fff;text-transform:none;letter-spacing:0}@media(min-width:768px){:root{--page-pad: 32px}.navbar{padding:18px 32px}.nav-left{gap:10px}.brand{margin-right:9px}.brand-name,.systems-label{display:inline}.tag-pair{display:flex}.menu-icon,.systems-icon{width:32px;height:32px}.menu-pill,.tag-pair,.systems-pill{min-height:42px}.video-wrap{width:100%;height:100%;top:0;right:0;bottom:0;left:0}.hero-content{min-height:64%;padding:180px 32px 30px;flex-direction:row;justify-content:space-between;align-items:flex-end;gap:44px}.hero-copy{width:auto}.eyebrow{margin-bottom:16px;font-size:13px}.hero h1{font-size:clamp(2.8rem,5.5vw,4.8rem);line-height:1}.hero-intro{margin-top:20px;font-size:14px}.hero-actions{margin-top:25px}.hero-project-tags{max-width:420px;justify-content:flex-end}.hero-project-tags a{padding-inline:14px;font-size:11px}.work-heading{grid-template-columns:minmax(0,1fr) 360px;align-items:end}.work-heading>p{justify-self:end}.principle-row{min-height:174px;padding:34px 0;grid-template-columns:50px minmax(220px,.8fr) minmax(300px,1.4fr);align-items:center;gap:24px}.principle-index{padding-top:0}.principle-row p{grid-column:3}.focus-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.focus-item{min-height:390px;padding:28px 24px 44px;border-right:1px solid var(--line)}.focus-item:first-child{padding-left:0}.focus-item:last-child{padding-right:0;border-right:0}.about-layout{grid-template-columns:minmax(260px,.8fr) minmax(420px,1.55fr);gap:8vw}.about-copy{padding-top:4px}.contact-layout{grid-template-columns:minmax(0,1fr) auto;align-items:end}.contact-action{align-items:flex-end}.footer-inner{min-height:112px;flex-wrap:nowrap;gap:34px}.footer-inner strong{width:auto;margin-right:auto}.menu-overlay{padding:24px 32px 28px}.menu-content{width:min(1120px,86vw);margin:auto;grid-template-columns:minmax(360px,1.15fr) minmax(320px,.85fr);gap:clamp(70px,9vw,150px)}.menu-page-nav a,.menu-projects a{min-height:76px}}@media(min-width:1100px){.work-row{min-height:154px;margin-inline:-20px;padding:30px 20px;grid-template-columns:48px minmax(245px,1.05fr) 190px minmax(330px,1.2fr) 28px;grid-template-areas:"index name type description arrow";align-items:center;gap:20px}.work-index,.work-arrow{padding-top:0;align-self:center;margin-top:0}.work-name{font-size:clamp(2.2rem,3.1vw,3.4rem)}.work-description{font-size:14px}}@media(max-height:720px){.hero-content{min-height:72%;padding-top:120px}.hero h1{font-size:clamp(2rem,7vh,3.5rem)}.hero-intro{margin-top:12px}.hero-actions{margin-top:14px}.hero-project-tags a{min-height:36px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
