:root{--ink:#25202d;--paper:#f7f4f0;--violet:#7056a8;--lav:#d8c8f2;--muted:#6d6772;--line:#d9d2d6;--coral:#d96e5b}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.7 Manrope,system-ui,sans-serif}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid var(--coral);outline-offset:4px}::selection{background:var(--lav)}.shell{max-width:1280px;margin:auto;padding:0 clamp(22px,5vw,76px)}.top{height:88px;display:flex;align-items:center;justify-content:space-between;gap:18px}.logo{font-size:27px;font-weight:800;letter-spacing:-.1em}.logo span{color:var(--violet)}.nav{display:flex;gap:30px;align-items:center}.nav a{font-size:12px;font-weight:800;letter-spacing:.11em;text-transform:uppercase}.nav a:hover,.inline-link:hover{color:var(--violet)}.menu{display:none}.hero{background:var(--ink);color:var(--paper);overflow:hidden;position:relative}.hero:before{content:"";position:absolute;width:520px;height:520px;border:1px solid #4c405b;border-radius:50%;right:-170px;top:-140px}.hero-grid{min-height:690px;display:grid;grid-template-columns:1.25fr .75fr;gap:55px;align-items:center;padding-top:45px;padding-bottom:65px;position:relative}.eyebrow{font-size:11px;font-weight:800;letter-spacing:.22em;text-transform:uppercase;color:var(--violet)}.hero .eyebrow{color:var(--lav)}h1,h2,h3,p{margin-top:0}h1,h2,.serif{font-family:"DM Serif Display",Georgia,serif;font-weight:400;letter-spacing:-.035em}h1{font-size:clamp(56px,6.7vw,108px);line-height:1.02;margin:28px 0}.accent{color:var(--lav);font-style:italic}.hero p{max-width:510px;color:#d3cbd9;font-size:16px}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:34px}.btn{border:1px solid transparent;border-radius:3px;padding:15px 22px;font-weight:800;font-size:12px;letter-spacing:.05em;display:inline-flex;gap:24px;align-items:center;transition:transform .2s,background .2s}.btn:hover{transform:translateY(-3px)}.btn-light{background:var(--paper);color:var(--ink)}.btn-outline{border-color:#92829e;color:var(--paper)}.btn-dark{background:var(--ink);color:#fff}.portrait-wrap{position:relative}.portrait-wrap:before{content:"";position:absolute;top:22px;right:-20px;bottom:-22px;left:20px;border:1px solid #79678a}.portrait{position:relative;width:100%;height:470px;object-fit:cover;object-position:center 25%;filter:saturate(.8)}.hero-foot{display:flex;justify-content:space-between;border-top:1px solid #4b4054;padding:18px 0;font-size:10px;letter-spacing:.18em;color:var(--lav)}.section{padding:112px 0}.section-head{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:46px}.section-head h2{font-size:clamp(44px,5vw,74px);line-height:1.1;margin:14px 0 0}.section-head p{max-width:350px;color:var(--muted)}.switcher{display:inline-flex;background:#e9e3e9;padding:5px;border-radius:5px;gap:3px}.switcher button{border:0;background:transparent;padding:12px 18px;border-radius:3px;font-size:12px;font-weight:800;color:var(--muted)}.switcher button.active{background:var(--ink);color:#fff}.intro-panel{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.intro-panel h3{font:normal clamp(32px,4vw,55px)/1.16 "DM Serif Display",serif}.intro-panel p{color:var(--muted)}.tags{display:flex;flex-wrap:wrap;gap:8px}.tag{border:1px solid var(--line);border-radius:100px;padding:7px 12px;font-size:11px;font-weight:700}.projects{display:grid;grid-template-columns:1fr 1fr;gap:26px}.project{background:#fff;border:1px solid #e8e2e5;overflow:hidden;transition:transform .25s,box-shadow .25s}.project:hover{transform:translateY(-5px);box-shadow:0 20px 45px #25202d13}.project-art{height:275px;display:flex;flex-direction:column;justify-content:space-between;padding:28px;position:relative;overflow:hidden}.project-art:after{content:"";position:absolute;width:260px;height:260px;border:1px solid #ffffff66;border-radius:50%;right:-40px;bottom:-100px}.project-art .big{font: 56px/1 "DM Serif Display",serif;z-index:1}.project-art .small{font-size:11px;letter-spacing:.16em;font-weight:800;z-index:1}.project-art.orbit{background:#c9d8d4;color:#20443e}.project-art.farming{background:#ddd3b9;color:#4a4732}.project-body{padding:28px}.project-body h3{font: 34px "DM Serif Display",serif;margin:4px 0}.project-body p{color:var(--muted);font-size:13px}.project-foot{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding-top:18px;font-size:12px;font-weight:800}.dark{background:var(--ink);color:var(--paper)}.dark .eyebrow{color:var(--lav)}.dark p{color:#d6ccdd}.timeline{border-top:1px solid var(--line)}.timeline-item{display:grid;grid-template-columns:210px 1fr;gap:30px;padding:28px 0;border-bottom:1px solid var(--line)}.timeline-item strong{font-size:12px;color:var(--violet)}.timeline-item h3{font: 27px "DM Serif Display",serif;margin:0 0 7px}.timeline-item p{margin:0;color:var(--muted);font-size:13px}.contact-title{font-size:clamp(55px,8vw,120px);line-height:1.05}.footer{border-top:1px solid #534b5b;padding:26px 0;display:flex;justify-content:space-between;gap:15px;font-size:11px;color:#cbbfd2}.page-head{padding:95px 0 65px}.page-head h1{font-size:clamp(55px,8vw,108px);max-width:920px}.page-head p{font-size:17px;max-width:650px;color:var(--muted)}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px}.detail-grid h2{font-size:42px}.detail-grid p{color:var(--muted)}.back{display:inline-block;margin-top:40px;color:var(--violet);font-weight:800}.architecture{display:flex;gap:12px;flex-wrap:wrap;margin:25px 0}.node{padding:18px 24px;background:#fff;border:1px solid var(--line);font-size:12px;font-weight:800}.node:focus,.node:hover{background:var(--lav)}.node-detail{padding:18px 22px;border-left:3px solid var(--violet);background:#fff;min-height:68px}.filter{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:28px}.filter button{background:transparent;border:1px solid var(--line);padding:9px 16px;border-radius:50px;font-weight:700;font-size:12px}.filter button.active{background:var(--ink);color:#fff}.search{padding:12px 16px;border:1px solid var(--line);background:#fff;width:min(100%,350px);font:inherit}.muted{color:var(--muted)}.palette{color:var(--violet)}.skip{position:absolute;left:-999px}.skip:focus{left:15px;top:10px;background:#fff;z-index:99;padding:8px}.modal{position:fixed;top:0;right:0;bottom:0;left:0;background:#25202dd9;display:grid;place-items:start center;padding:12vh 20px;z-index:20}.modal-inner{background:var(--paper);padding:30px;width:min(580px,100%);box-shadow:0 25px 90px #0006}.modal-inner input{width:100%;font:inherit;padding:14px;margin:18px 0}.modal-inner a{display:block;padding:11px;border-bottom:1px solid var(--line)}.smallnote{font-size:12px;color:var(--muted)}@media(max-width:850px){.nav{display:none;position:absolute;top:78px;left:0;right:0;background:var(--paper);z-index:10;padding:20px;flex-direction:column;align-items:start}.nav.open{display:flex}.menu{display:block;border:1px solid var(--line);padding:8px 12px;background:transparent}.hero-grid{grid-template-columns:1fr;padding-top:65px;gap:45px}.portrait-wrap{max-width:450px}.portrait{height:380px}.intro-panel,.detail-grid{grid-template-columns:1fr;gap:25px}.projects{grid-template-columns:1fr}.section{padding:70px 0}.section-head{display:block}.timeline-item{grid-template-columns:1fr;gap:8px}.hero-foot{gap:15px}.footer{flex-direction:column}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}.project-art{padding:0;background:#eee!important}.project-art img{width:100%;height:100%;object-fit:cover;object-position:center top;transition:transform .35s ease}.project:hover .project-art img{transform:scale(1.035)}.project-art:after{display:none}.project-art-label{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(transparent,#25202ddd);color:#fff;padding:48px 22px 18px;font-size:11px;font-weight:800;letter-spacing:.08em}.project-gallery{padding-top:35px}.project-gallery h2{font-size:clamp(40px,5vw,68px)}.gallery-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,360px),1fr));gap:24px;margin:32px 0}.gallery-grid figure{margin:0;background:#fff;border:1px solid var(--line);overflow:hidden}.gallery-grid img{display:block;width:100%;height:auto;max-height:390px;object-fit:contain;object-position:top;background:#f4f4f4}.gallery-grid figcaption{padding:16px 18px;color:var(--muted);font-size:12px}
