:root{--paper:#f7f8f2;--ink:#202b25;--muted:#616b63;--line:#d5dbd1;--accent:#365e42;--accent-soft:#e8eddf;--sans:"DM Sans", Arial, sans-serif;--mono:"DM Mono", Consolas, monospace;--serif:"Instrument Serif", Georgia, serif;--ease-out:cubic-bezier(.22, 1, .36, 1);color-scheme:light}*{box-sizing:border-box}html{background:var(--paper);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased}body{margin:0}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:wait;opacity:.6}button,input,textarea,select{border-radius:0}h1,h2,h3,p{margin:0}ul,ol{margin:0;padding:0;list-style:none}img{max-width:100%;display:block}section[id],main[id]{scroll-margin-top:100px}:focus-visible{outline:2px solid var(--accent);outline-offset:5px}::selection{color:#fff;background:var(--accent)}.container{width:min(1280px,100% - 112px);margin-inline:auto}.eyebrow{font:400 10px/1.6 var(--mono);letter-spacing:.1em;text-transform:uppercase}.section{padding-block:100px}.section h2{letter-spacing:-.045em;white-space:pre-line;text-wrap:balance;font-size:clamp(34px,3.65vw,52px);font-weight:500;line-height:1.12}.section .eyebrow{color:var(--muted);margin-bottom:22px}.section-intro{color:var(--muted);font-size:15px;line-height:1.75}.text-link{align-items:center;gap:18px;padding-block:10px;font-size:13px;font-weight:500;display:inline-flex}.text-link:hover{text-underline-offset:5px;text-decoration:underline}.button{border:1px solid var(--ink);justify-content:space-between;align-items:center;gap:40px;min-height:54px;padding:18px 24px;font-size:13px;font-weight:500;display:inline-flex}.button-primary{background:var(--ink);color:#fff}.button-primary:hover{background:var(--accent)}.button span,.text-link span{font-size:18px}.skip-link{z-index:100;background:var(--ink);color:#fff;padding:12px 20px;position:fixed;top:12px;left:16px;transform:translateY(-150%)}.skip-link:focus{transform:translateY(0)}.site-header{z-index:50;background:var(--paper);border-bottom:1px solid var(--line);position:sticky;top:0}.header-inner{justify-content:space-between;align-items:center;gap:32px;min-height:92px;display:flex}.brand{letter-spacing:-.8px;align-items:center;gap:13px;font-size:19px;font-weight:700;display:inline-flex}.brand-domain{color:var(--muted);font-weight:400}.brand-mark{font:italic 38px/1 var(--serif);color:var(--accent);padding-right:4px}.brand-mark span{color:var(--ink)}.main-nav,.header-actions{align-items:center;gap:32px;font-size:12px;display:flex}.main-nav a{padding-block:15px}.main-nav a:hover{text-underline-offset:6px;text-decoration:underline}.header-actions{gap:28px}.header-contact{border:1px solid var(--line);align-items:center;gap:30px;padding:12px 17px;display:flex}.header-contact:hover{border-color:var(--ink)}.language-switch{font:10px var(--mono);color:var(--muted);align-items:center;gap:5px;display:flex}.language-switch a{padding:12px 3px}.language-switch a[aria-current]{color:var(--ink);text-underline-offset:4px;text-decoration:underline}.hero{padding-top:50px}.hero-top{justify-content:space-between;align-items:center;gap:24px;display:flex}.hero-top .eyebrow{align-items:center;gap:9px;font-size:9px;display:flex}.status-dot{background:var(--accent);border-radius:50%;width:6px;height:6px}.eyebrow-divider{color:#a7afa4;margin-inline:3px}.hero-location{color:var(--muted);font-size:11px}.hero-location span{margin-left:14px}.hero-grid{grid-template-columns:1fr 225px;align-items:center;gap:50px;margin-top:38px;display:grid}.hero h1{letter-spacing:-.07em;font-size:clamp(66px,7.5vw,108px);font-weight:500;line-height:.99}.hero h1 em{font-family:var(--serif);color:var(--accent);letter-spacing:-.035em;font-weight:400}.hero-aside{padding-top:20px}.hero-aside .eyebrow{color:var(--muted);margin:22px 0 12px;font-size:8px}.hero-aside h2{letter-spacing:-.5px;margin-bottom:9px;font-size:19px;font-weight:500}.hero-aside>p:last-child{color:var(--muted);max-width:210px;font-size:12px;line-height:1.7}.architectural-mark{height:145px;margin-left:17px;position:relative}.plane{border:1px solid #99ab98;width:113px;height:113px;position:absolute;transform:skewY(-12deg)}.plane-back{background:#edf0e6;top:0;left:65px}.plane-mid{background:#c8d5bb;top:17px;left:32px}.plane-front{background:var(--accent);border-color:var(--accent);place-items:center;display:grid;top:34px;left:0}.plane-front span{color:#e3efcc;font:italic 73px/1 var(--serif)}.mark-coordinate{font:8px var(--mono);color:var(--muted);position:absolute;bottom:-13px;right:2px}.hero-bottom{justify-content:space-between;align-items:center;gap:40px;margin-block:40px 60px;display:flex}.hero-description{max-width:490px;color:var(--muted);font-size:16px;line-height:1.75}.hero-ctas{align-items:center;gap:28px;display:flex}.hero-ctas .text-link{white-space:nowrap}.hero-caption{border-top:1px solid var(--line);border-bottom:1px solid var(--line);font:9px var(--mono);letter-spacing:.06em;color:var(--muted);justify-content:space-between;gap:20px;padding-block:19px;display:flex}.hero-caption a{align-items:center;gap:20px;display:flex}.section-heading{justify-content:space-between;align-items:flex-end;gap:50px;margin-bottom:44px;display:flex}.section-heading .section-intro{max-width:320px;font-size:13px}.services-section{background:var(--accent-soft)}.services-layout{grid-template-columns:1fr 1.25fr;gap:80px;display:grid}.services-intro h2{font-size:clamp(33px,3.4vw,47px)}.services-intro .section-intro{max-width:340px;margin-block:26px}.service-row{border-top:1px solid #c7d0bf;grid-template-columns:22px 1fr 16px;gap:18px;padding-block:29px;display:grid}.service-row:last-child{border-bottom:1px solid #c7d0bf}.service-index{font:10px var(--mono);color:var(--muted);padding-top:4px}.service-row h3{letter-spacing:-.65px;font-size:21px;font-weight:500}.service-row p{color:#56614f;max-width:390px;margin-block:12px 16px;font-size:13px;line-height:1.75}.service-tags{font:9px var(--mono);color:#56614f}.service-arrow{font-size:19px}.about-layout{grid-template-columns:1fr 1fr;gap:90px;display:grid}.about-copy>p{color:var(--muted);margin-bottom:20px;font-size:15px;line-height:1.85}.about-signature{align-items:center;gap:18px;margin-top:36px;display:flex}.signature-monogram{font:italic 62px var(--serif);color:var(--accent)}.about-signature strong{margin-bottom:7px;font-size:14px;font-weight:500;display:block}.about-signature div span{font:8px var(--mono);color:var(--muted)}.opportunity{border-top:1px solid var(--line);margin-top:26px;padding-top:24px}.opportunity h3{margin-bottom:9px;font-size:14px;font-weight:500}.opportunity p{color:var(--muted);font-size:13px;line-height:1.75}.opportunity .text-link{margin-top:8px;font-size:12px}.process-block{border-top:1px solid var(--line);margin-top:70px;padding-top:32px}.process-list{grid-template-columns:repeat(3,1fr);gap:50px;display:grid}.process-index{font:10px var(--mono);color:var(--muted);margin-bottom:20px;display:block}.process-list h3{letter-spacing:-.4px;margin-bottom:12px;font-size:18px;font-weight:500}.process-list p{color:var(--muted);max-width:280px;font-size:13px;line-height:1.75}.stack-section{border-top:1px solid var(--line);grid-template-columns:1fr 1.5fr;gap:80px;padding-block:40px 70px;display:grid}.stack-section h2{letter-spacing:-.4px;font-size:17px;font-weight:500}.stack-section p{color:var(--muted);margin-top:8px;font-size:12px}.stack-list{flex-wrap:wrap;gap:10px 21px;display:flex}.stack-list li{font:11px/1.9 var(--mono);color:var(--muted)}.contact-section{background:#e4eadb}.contact-layout{grid-template-columns:1.25fr 1fr;gap:110px;display:grid}.contact-intro h2{font-size:clamp(40px,4vw,57px)}.contact-intro>p{color:#56614f;max-width:390px;margin-top:25px;font-size:14px;line-height:1.8}.contact-email{letter-spacing:-.5px;border-bottom:1px solid #abb9a1;align-items:center;gap:30px;margin-top:26px;padding-block:15px;font-size:23px;display:inline-flex}.contact-email:hover{color:var(--accent)}.social-links{flex-wrap:wrap;gap:25px;margin-top:25px;font-size:12px;display:flex}.social-links a{padding-block:8px}.email-invitation{border-top:1px solid #b9c6ae;padding-top:20px}.invitation-arrow{color:var(--accent);margin-bottom:22px;font-size:67px;font-weight:400;line-height:1;display:block}.email-invitation>p:not(.eyebrow){max-width:300px;margin-bottom:22px;font-size:16px;line-height:1.7}.email-invitation .eyebrow{margin-bottom:14px}.invitation-location{font:9px/1.8 var(--mono);color:#56614f;margin-top:25px;display:block}.contact-form{gap:16px;display:grid}.form-field{gap:6px;font-size:12px;display:grid}.form-row{gap:15px;display:grid}.contact-form input,.contact-form textarea,.contact-form select{width:100%;color:var(--ink);background:#f7f8f2;border:1px solid #acb9a2;padding:11px 12px;font-size:14px}.contact-form textarea{resize:vertical}.contact-form input[aria-invalid=true],.contact-form textarea[aria-invalid=true]{border-color:#9e3027}.field-error{color:#88271f;font-size:12px}.form-note,.form-status{font-size:12px;line-height:1.7}.form-note{color:#56614f;margin-top:10px}.form-note a,.form-status a{text-decoration:underline}.form-status{min-height:22px}.site-footer{background:#e4eadb}.footer-inner{border-top:1px solid #b9c6ae;justify-content:space-between;align-items:center;gap:25px;padding-block:25px;display:flex}.footer-inner p{font-size:11px}.footer-inner p span{color:#56614f;margin-left:24px}.footer-inner .text-link{font-size:11px}.publications-teaser{border-top:1px solid var(--line);grid-template-columns:1fr 1fr;gap:80px;display:grid}.publications-teaser .section-intro{max-width:430px;margin-bottom:20px}.blog-page,.article-page{min-height:70vh;padding-block:75px}.blog-intro{max-width:750px;margin-bottom:65px}.blog-intro .eyebrow{color:var(--accent);margin-bottom:25px}.blog-intro h1,.article-header h1{letter-spacing:-.055em;white-space:pre-line;overflow-wrap:anywhere;font-size:clamp(40px,5.5vw,76px);font-weight:500;line-height:1.08}.blog-intro .section-intro{max-width:560px;margin-top:25px}.blog-empty{border-block:1px solid var(--line);align-items:center;gap:40px;margin-bottom:30px;padding-block:45px;display:flex}.notebook-mark{font:italic 90px/1 var(--serif);color:var(--accent)}.blog-empty h2{letter-spacing:-.025em;font-size:23px;font-weight:500}.blog-empty p{color:var(--muted);max-width:550px;margin-top:12px;font-size:14px;line-height:1.8}.post-row{border-top:1px solid var(--line);grid-template-columns:210px 1fr;gap:45px;padding-block:34px;display:grid}.featured-posts{gap:24px;margin-bottom:42px;display:grid}.publication-sections{grid-column:1/-1;gap:56px;margin-bottom:36px;display:grid}.publication-category{scroll-margin-top:130px}.publication-category-heading{margin-bottom:26px}.publication-category-heading :is(h2,h3){letter-spacing:-.035em;font-size:clamp(24px,3vw,34px);font-weight:500}.publication-category-heading p,.category-empty{color:var(--muted);margin-top:12px;font-size:14px;line-height:1.8}.publication-category .featured-posts{margin-bottom:0}.featured-post{border:1px solid var(--line);background:var(--accent-soft);grid-template-columns:210px minmax(0,1fr);display:grid}.featured-post-intro{background:var(--ink);color:var(--paper);flex-direction:column;justify-content:space-between;padding:30px;display:flex}.featured-monogram{font:italic 110px/1 var(--serif);padding-block:22px}.featured-monogram span{color:#c7d7b4}.featured-signature{font:10px/1.8 var(--mono)}.featured-post-body{min-width:0;padding:38px 42px}.featured-title{letter-spacing:-.035em;overflow-wrap:anywhere;text-wrap:balance;font-size:clamp(28px,3.6vw,46px);font-weight:500;line-height:1.14}.featured-title a:hover{text-underline-offset:6px;text-decoration:underline}.featured-description{color:var(--muted);max-width:680px;margin-block:20px;font-size:15px;line-height:1.8}.featured-read{margin-top:20px}.featured-label{color:var(--ink);font:500 10px/1.6 var(--mono);letter-spacing:.1em;text-transform:uppercase;margin-bottom:13px}.featured-post-intro .featured-label{color:var(--paper);margin:0}.post-title{letter-spacing:-.035em;overflow-wrap:anywhere;font-size:clamp(24px,3vw,38px);font-weight:500;line-height:1.2}.post-title a:hover{text-underline-offset:5px;text-decoration:underline}.post-arrow{color:var(--accent);display:inline-block}@media (hover:hover) and (prefers-reduced-motion:no-preference){.post-arrow{transition:transform .18s var(--ease-out)}:is(.post-row,.featured-title) a:hover .post-arrow{transform:translate(3px,-3px)}}:is(.post-row,.featured-title) a:focus-visible .post-arrow{transition:none;transform:none}.post-row p{color:var(--muted);max-width:680px;margin-top:15px;line-height:1.8}.post-meta{color:var(--muted);font:11px/1.7 var(--mono);flex-wrap:wrap;gap:12px 25px;display:flex}.post-row>.post-meta{flex-direction:column;gap:8px}.post-tags{color:var(--accent);font:10px/1.8 var(--mono);text-transform:uppercase;flex-wrap:wrap;gap:8px 15px;margin-bottom:15px;display:flex}.article-page{max-width:850px}.article-header{border-bottom:1px solid var(--line);margin-block:40px;padding-bottom:35px}.article-description{color:var(--muted);margin-block:25px;font-size:19px;line-height:1.7}.prose{overflow-wrap:anywhere;font-size:17px;line-height:1.9}.prose p,.prose ul,.prose ol,.prose blockquote,.prose pre,.prose table{margin-block:22px}.prose h2{letter-spacing:-.03em;margin-top:45px;font-size:30px;line-height:1.3}.prose h3{margin-top:30px;font-size:23px}.prose ul{padding-left:25px;list-style:outside}.prose ol{padding-left:25px;list-style:decimal}.prose a{color:var(--accent);text-underline-offset:4px;text-decoration:underline}.prose pre{border:1px solid var(--line);max-width:100%;padding:20px;font-size:13px;line-height:1.7;overflow-x:auto}.prose code{font-family:var(--mono);font-size:.85em}.prose blockquote{border-left:3px solid var(--accent);color:var(--muted);margin-inline:0;padding-left:22px}.prose img{height:auto;margin-block:25px}.prose table{border-collapse:collapse;max-width:100%;display:block;overflow-x:auto}.prose th,.prose td{border:1px solid var(--line);padding:10px}.article-back{margin-top:35px}@media (width<=760px){.publications-teaser{grid-template-columns:1fr;gap:25px}.blog-page,.article-page{padding-block:45px}.blog-intro{margin-bottom:40px}.blog-empty{align-items:flex-start;gap:20px}.notebook-mark{font-size:55px}.post-row{grid-template-columns:1fr;gap:18px}.featured-post{grid-template-columns:1fr}.featured-post-intro{flex-direction:row;align-items:center;gap:16px;padding:18px 22px}.featured-monogram{display:none}.featured-signature{text-align:right}.featured-post-body{padding:26px 22px}.post-row>.post-meta{flex-direction:row}.article-description{font-size:17px}.prose{font-size:16px}}@media (prefers-reduced-motion:reduce){.post-arrow{transition:none}}@media (hover:hover) and (prefers-reduced-motion:no-preference){.button span{transition:transform .18s var(--ease-out)}.button:hover span{transform:translate(2px,-2px)}.button:focus-visible span{transition:none;transform:none}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}@media (width<=1100px){.container{width:calc(100% - 72px)}.hero-grid{grid-template-columns:1fr 200px;gap:25px}.hero h1{font-size:8.4vw}.hero-ctas{flex-direction:column;align-items:flex-start;gap:18px}.hero-description{max-width:440px}.services-layout,.about-layout{gap:48px}.contact-layout{gap:65px}}@media (width<=760px){.container{width:calc(100% - 40px)}.section{padding-block:65px}.header-inner{gap:16px;min-height:76px}.brand{gap:8px;font-size:17px}.brand-mark{font-size:33px}.header-inner{flex-wrap:wrap;padding-block:12px}.main-nav{border-top:1px solid var(--line);order:3;justify-content:space-between;gap:12px;width:100%}.main-nav a{padding-block:12px 0}.header-actions{gap:13px}.header-contact{gap:13px;padding:10px 11px;font-size:11px}.hero{padding-top:30px}.hero-top{align-items:flex-start}.hero-top .eyebrow{flex-wrap:wrap;gap:7px;max-width:210px;font-size:8px}.hero-location{text-align:right;max-width:95px;font-size:9px;line-height:1.6}.hero-location span{display:none}.hero-grid{margin-top:35px;display:block}.hero h1{letter-spacing:-.065em;font-size:clamp(56px,11.7vw,88px)}.hero-aside{display:none}.hero-bottom{flex-direction:column;align-items:flex-start;gap:26px;margin-block:29px 38px}.hero-description{max-width:460px;font-size:14px}.hero-ctas{flex-flow:wrap;align-items:center;gap:20px}.button{gap:25px;padding:16px 18px;font-size:12px}.text-link{gap:12px;font-size:12px}.hero-caption{letter-spacing:0;font-size:7px}.hero-caption a{gap:8px}.section-heading{margin-bottom:30px;display:block}.section-heading .section-intro{max-width:410px;margin-top:20px}.services-layout,.about-layout,.contact-layout{grid-template-columns:1fr;gap:38px}.services-intro .section-intro{max-width:440px;margin-block:22px 12px}.service-row h3{font-size:20px}.about-signature{margin-top:22px}.process-block{margin-top:45px}.process-list{grid-template-columns:1fr;gap:25px}.process-list li{padding-left:39px;position:relative}.process-index{position:absolute;top:4px;left:0}.process-list h3{margin-bottom:8px}.process-list p{max-width:100%}.stack-section{grid-template-columns:1fr;gap:24px;padding-block:35px 50px}.stack-list{gap:7px 17px}.contact-email{font-size:22px}.contact-section{padding-bottom:50px}.email-invitation{padding-top:25px}.invitation-arrow{float:right;font-size:53px}.invitation-location{margin-top:22px}.footer-inner{align-items:flex-start;padding-block:20px}.footer-inner p{font-size:10px;line-height:1.9}.footer-inner p span{margin-left:0;display:block}.footer-inner .text-link{padding-top:2px;font-size:10px}}@media (width<=380px){.brand-domain{display:none}.hero h1{font-size:11.5vw}}
