@charset "UTF-8";
:root{--paper:#f4f2eb;--ink:#333d30;--sage:#dfe3d6;--muted:#66705d;--line:#333d3026}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body:has(dialog[open]){overflow:hidden}body{margin:0;color:var(--ink);background:var(--paper);font-family:Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button{cursor:pointer}button:focus-visible,a:focus-visible{outline:2px solid var(--ink);outline-offset:6px}.skip-link{position:fixed;top:-100px;left:20px;background:var(--ink);color:var(--paper);padding:12px;z-index:10}.skip-link:focus{top:12px}.header{margin:0 4.2%;height:103px;display:flex;align-items:center;border-bottom:1px solid var(--line)}.wordmark{display:flex;align-items:center;gap:17px;font-size:16px;font-weight:600;line-height:.99;letter-spacing:1.3px}.wordmark svg{width:34px;height:34px}.header nav{margin-left:auto;display:flex;gap:38px;font-size:11px;letter-spacing:.2px}.header nav a{position:relative}.header nav a:after{content:"";position:absolute;left:0;right:0;bottom:-7px;height:1px;background:var(--ink);transform:scaleX(0);transform-origin:left;transition:transform .25s}.header nav a:hover:after{transform:scaleX(1)}.header-cta{margin-left:62px;background:transparent;border:0;border-bottom:1px solid #333d3066;padding:8px 0;color:var(--ink);font-size:11px;display:flex;gap:29px;align-items:center}.header-cta span{font-size:19px;transition:transform .3s}.header-cta:hover span{transform:translate(3px,-3px)}.hero{padding:45px 4.2% 0}.hero-heading{display:flex;justify-content:space-between;align-items:end;padding-bottom:42px}.eyebrow{text-transform:uppercase;font-size:9px;letter-spacing:1.8px;line-height:1.6;margin:0 0 25px}.hero h1{font-family:Georgia,'Times New Roman',serif;font-weight:400;font-size:clamp(65px,6.65vw,108px);line-height:.98;letter-spacing:-5px;margin:0}.hero h1 em{font-weight:400}.hero-intro{padding-bottom:11px;padding-right:28px;min-width:255px}.intro-rule{display:block;width:35px;border-top:1px solid var(--ink);margin-bottom:19px}.hero-intro p{font-size:13px;line-height:1.8;margin:0 0 24px;color:#636b5e}.hero-intro a{font-size:10px;display:flex;gap:40px;align-items:center;width:max-content}.hero-intro a span{font-size:24px;transition:transform .3s}.hero-intro a:hover span{transform:translate(3px,3px)}.hero-image{position:relative;margin:0;overflow:hidden;aspect-ratio:2.44;isolation:isolate;background:#d9dbcd}.architecture-scene{display:block;width:100%;height:100%;object-fit:cover;animation:scene-enter 1.5s cubic-bezier(.22,1,.36,1) both}.image-label{position:absolute;left:25px;right:25px;bottom:23px;display:flex;justify-content:space-between;color:#fffdf2;font-size:9px;letter-spacing:.6px;z-index:1;text-shadow:0 1px 7px #0005}.hero-image:after{content:"";position:absolute;left:0;right:0;bottom:0;height:25%;background:linear-gradient(transparent,#1c2415a6);pointer-events:none}.image-annotation{position:absolute;right:23px;top:22px;font-size:8px;letter-spacing:.6px;color:#fffdf2;writing-mode:vertical-rl;text-shadow:0 1px 7px #0004}.hero-footer{display:flex;justify-content:space-between;align-items:center;padding:22px 0;font-size:10px;color:var(--muted)}.hero-footer p{margin:0}.hero-footer a{display:flex;align-items:center;gap:24px;color:var(--ink)}.hero-footer a span{font-size:17px}.approach-section{padding:94px 4.2% 71px;border-top:1px solid var(--line);margin-top:15px}.approach-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:7%}.approach-grid h2{font-family:Georgia,'Times New Roman',serif;font-weight:400;font-size:clamp(42px,4.1vw,64px);line-height:1.1;letter-spacing:-2px;margin:0}.approach-copy{max-width:390px}.approach-copy p{font-size:13px;line-height:1.9;color:#66705d;margin:0 0 20px}.approach-copy p:first-child{font-size:17px;line-height:1.75;color:var(--ink)}.text-link{display:flex;gap:34px;align-items:center;font-size:10px;margin-top:27px}.text-link span{font-size:19px}.principles{display:grid;grid-template-columns:repeat(3,1fr);margin-top:69px;border-top:1px solid var(--line);padding-top:25px;gap:35px}.principles>span{display:flex;gap:38px;font-size:12px}.principles i{font-style:normal;color:#66705d;font-size:9px;padding-top:2px}.projects-section{padding:74px 4.2% 78px;background:#e9e9df}.section-heading{display:grid;grid-template-columns:1fr 1fr;align-items:end;margin-bottom:39px}.section-heading .eyebrow{grid-column:1 / -1;margin-bottom:19px}.section-heading h2{font-family:Georgia,'Times New Roman',serif;font-size:57px;line-height:1.1;font-weight:400;letter-spacing:-2px;margin:0}.section-heading>p:last-child{justify-self:end;font-size:10px;color:#5f6956;line-height:1.8;margin:0}.project-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px}.project-card>a{aspect-ratio:1.16;position:relative;overflow:hidden;display:block}.courtyard-detail{background:linear-gradient(120deg,#c7bba2 0,#e7decc 42%,#c1b397 100%)}.detail-window{position:absolute;left:12%;top:12%;width:52%;height:66%;background:linear-gradient(110deg,#384637,#6e7c5c 66%,#91a278);box-shadow:14px 15px 0 #a79579}.detail-window:after{content:"";position:absolute;left:49%;top:0;bottom:0;width:4px;background:#d5c6a8}.detail-window:before{content:"";position:absolute;left:0;right:0;top:40%;height:3px;background:#d5c6a8}.detail-light{position:absolute;left:64%;top:22%;width:45%;height:78%;background:#f0e9d8;transform:skewY(-21deg);box-shadow:0 -12px 0 #ddd2ba}.detail-table{position:absolute;left:18%;bottom:9%;width:57%;height:18%;background:#ac9473;border-radius:50%;transform:rotate(-13deg);box-shadow:0 9px 0 #927a5d}.detail-table:after{content:"";position:absolute;top:50%;left:46%;width:16%;height:160%;background:#8f7659;border-radius:0 0 15px 15px;z-index:-1}.quiet-detail{background:linear-gradient(120deg,#d5c8b0,#e8deca)}.quiet-wall{position:absolute;left:0;right:0;bottom:0;height:18%;background:#b8a88d;transform:skewY(-5deg);transform-origin:left}.quiet-arch{position:absolute;left:14%;top:9%;width:38%;height:80%;border-radius:48% 48% 0 0;background:linear-gradient(120deg,#857f63,#c5bf9f);border:14px solid #f1e5ce;box-shadow:15px 12px 0 #b1a58d}.quiet-chair{position:absolute;width:31%;height:25%;left:45%;bottom:17%;background:#8a7156;border-radius:47% 47% 20% 20%;box-shadow:0 7px 0 #6e5740;transform:rotate(-9deg)}.quiet-chair:before{content:"";position:absolute;left:8%;right:8%;top:-72%;height:99%;border-radius:50% 50% 0 0;background:#a68e6d;box-shadow:0 -4px 0 #806b50}.quiet-chair:after{content:"";position:absolute;width:8%;left:7%;top:92%;height:68%;background:#81684f;box-shadow:95px 0 0 #81684f}.quiet-plant{position:absolute;right:9%;bottom:18%;width:12%;height:26%;background:#a69673;clip-path:polygon(0 0,100% 0,82% 100%,17% 100%)}.quiet-plant:before{content:"";position:absolute;background:#657052;width:180%;height:180%;left:-40%;top:-125%;border-radius:60%}.project-arrow{position:absolute;bottom:19px;right:19px;display:grid;place-items:center;width:37px;height:37px;border:1px solid #f4f2eb99;border-radius:50%;background:#f4f2ebdd;font-size:20px;transition:transform .3s}.project-card>a:hover .project-arrow{transform:rotate(45deg)}.project-card>a>span:not(.project-arrow){transition:transform .7s cubic-bezier(.22,1,.36,1)}.project-card>a:hover>span:not(.project-arrow){transform:translateY(-5px)}.project-caption{display:grid;grid-template-columns:1fr auto;padding-top:20px}.project-caption h3{font-family:Georgia,'Times New Roman',serif;font-size:22px;font-weight:400;letter-spacing:-.5px;margin:0 0 7px}.project-caption p{font-size:9px;letter-spacing:.3px;margin:0;color:#5f6956}.project-caption>span{grid-column:2;grid-row:1 / 3;font-size:9px;padding-top:5px;color:#5f6956}.project-description{display:grid;grid-template-columns:50px 1fr 170px;gap:20px;padding:28px 0;border-top:1px solid var(--line)}.project-grid + .project-description{margin-top:45px}.project-description>span{font-size:9px;color:#5f6956}.project-description>span:last-child{text-align:right}.project-description h3{font-family:Georgia,'Times New Roman',serif;font-size:23px;font-weight:400;margin:0 0 11px}.project-description p{max-width:540px;font-size:12px;line-height:1.9;color:#5f6956;margin:0}.contact-section{background:var(--sage);padding:83px 4.2% 91px;text-align:center}.contact-section h2{font-family:Georgia,'Times New Roman',serif;font-weight:400;font-size:clamp(45px,5.2vw,76px);line-height:1.05;letter-spacing:-3px;margin:0 0 35px}.conversation-button{color:var(--paper);background:var(--ink);border:1px solid var(--ink);font-size:11px;padding:17px 21px;display:flex;gap:44px;align-items:center;transition:background .25s,transform .25s}.conversation-button:hover{background:#4a5744;transform:translateY(-2px)}.conversation-button span{font-size:18px}.contact-section .conversation-button{margin:auto}footer{margin:0 4.2%;padding:34px 0;display:flex;justify-content:space-between;align-items:center;gap:20px}footer .wordmark{font-size:12px;gap:12px}footer .wordmark svg{width:27px;height:27px}footer p,footer>a:last-child{font-size:9px;color:#66705d}dialog{padding:42px;max-width:510px;width:calc(100% - 32px);background:var(--paper);border:1px solid var(--line);color:var(--ink);max-height:calc(100dvh - 32px)}dialog::backdrop{background:#26312288;backdrop-filter:blur(7px)}.dialog-close{position:absolute;right:16px;top:12px;width:36px;height:36px;background:transparent;border:0;font-size:27px;color:var(--ink)}dialog h2{font-family:Georgia,'Times New Roman',serif;font-size:45px;font-weight:400;letter-spacing:-2px;line-height:1.08;margin:0 0 22px}.dialog-description{font-size:12px;line-height:1.8;color:#66705d}form label{display:block;font-size:11px;margin-top:19px}input,textarea,select{display:block;width:100%;background:#fffffb75;border:1px solid #333d3033;border-radius:0;padding:13px;margin-top:7px;color:var(--ink);font-size:12px;resize:vertical}input:focus,textarea:focus,select:focus{outline:1px solid var(--ink)}form .conversation-button{width:100%;justify-content:space-between;margin-top:24px}.form-status{font-size:11px;line-height:1.6;min-height:1.6em;color:#66705d;margin-bottom:0}.has-motion .reveal{opacity:0;transform:translateY(32px);transition:opacity .9s cubic-bezier(.22,1,.36,1),transform .9s cubic-bezier(.22,1,.36,1)}.has-motion .reveal.in-view{opacity:1;transform:translateY(0)}.project-card:nth-child(2){transition-delay:.12s}@keyframes scene-enter{from{opacity:0;transform:scale(1.07)}to{opacity:1;transform:scale(1)}}
@media(min-width:1500px){.hero-image{aspect-ratio:2.58}.hero-heading{padding-bottom:48px}.hero{padding-top:57px}}
@media(max-width:1000px){.header{height:87px}.header-cta{margin-left:36px}.header nav{gap:25px}.hero{padding-top:35px}.hero h1{font-size:8vw;letter-spacing:-3px}.hero-intro{padding-right:0;min-width:210px}.hero-image{aspect-ratio:2.1}.architecture-scene{width:115%;max-width:none;margin-left:-7.5%}.approach-grid h2{font-size:42px}.approach-copy p:first-child{font-size:15px}.approach-section{padding-top:70px}.principles>span{gap:20px;font-size:11px}.section-heading h2{font-size:47px}.quiet-chair:after{box-shadow:70px 0 0 #81684f}}
@media(max-width:650px){.header{margin:0 6%;height:81px}.wordmark{font-size:12px;letter-spacing:1px;gap:12px}.wordmark svg{width:28px;height:28px}.header nav{display:none}.header-cta{font-size:9px;margin-left:auto;gap:12px}.header-cta span{font-size:17px}.hero{padding:35px 6% 0}.hero-heading{display:block;padding-bottom:28px}.eyebrow{font-size:7px;letter-spacing:1.3px;margin-bottom:20px}.hero h1{font-size:13.5vw;letter-spacing:-2.5px;line-height:1.04}.hero-intro{margin-top:26px;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:0}.intro-rule{display:none}.hero-intro p{font-size:10px;line-height:1.7;margin:0}.hero-intro a{font-size:8px;gap:13px}.hero-intro a span{font-size:20px}.hero-image{aspect-ratio:.96}.architecture-scene{width:230%;height:100%;margin-left:-65%}.image-label{left:16px;right:16px;bottom:17px;font-size:7px;line-height:1.5;gap:35px}.image-label span:last-child{max-width:130px;text-align:right}.image-annotation{font-size:6px;right:13px;top:18px}.hero-footer{padding:18px 0;gap:25px;font-size:8px;line-height:1.7}.hero-footer a{font-size:7px;gap:10px;white-space:nowrap}.hero-footer a span{font-size:15px}.approach-section{padding:49px 6% 44px;margin-top:14px}.approach-grid{display:block}.approach-grid h2{font-size:35px;letter-spacing:-1.5px;line-height:1.12}.approach-copy{margin-top:28px}.approach-copy p:first-child{font-size:14px;line-height:1.8}.approach-copy p{font-size:11px;line-height:1.8}.text-link{font-size:9px;margin-top:21px}.principles{display:block;margin-top:34px;padding-top:21px}.principles>span{font-size:11px;padding:11px 0;gap:25px}.principles i{font-size:8px}.projects-section{padding:45px 6%}.section-heading{margin-bottom:26px;gap:15px}.section-heading .eyebrow{margin-bottom:1px}.section-heading h2{font-size:36px;letter-spacing:-1.8px}.section-heading>p:last-child{font-size:7px;max-width:90px;line-height:1.8}.project-grid{grid-template-columns:1fr;gap:32px}.project-card>a{aspect-ratio:1.13}.project-caption{padding-top:16px}.project-caption h3{font-size:21px}.project-caption p{font-size:8px}.project-caption>span{font-size:8px}.quiet-chair:after{box-shadow:90px 0 0 #81684f}.project-description{grid-template-columns:22px 1fr;padding:24px 0;gap:15px}.project-description>span:last-child{display:none}.project-description h3{font-size:20px}.project-description p{font-size:11px;line-height:1.8}.project-grid + .project-description{margin-top:35px}.contact-section{padding:51px 6% 58px}.contact-section h2{font-size:11.2vw;letter-spacing:-2px;margin-bottom:28px}.conversation-button{font-size:10px;padding:15px 18px;gap:32px}footer{margin:0 6%;padding:27px 0;flex-wrap:wrap}footer .wordmark{font-size:11px}footer p{font-size:7px;margin-left:auto}footer>a:last-child{font-size:8px;width:100%}dialog{padding:33px 25px}dialog .eyebrow{margin-top:15px}dialog h2{font-size:39px}.dialog-description{font-size:11px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.reveal{opacity:1!important;transform:none!important}}

/* Photography keeps its own composition across responsive crops. */
.hero-image img.architecture-scene{width:100%;margin-left:0;object-fit:cover;object-position:50% 57%}

.image-annotation{background:#1c2415b8;padding:8px 5px;border-radius:2px}

.notes-result{margin-top:16px;font-size:11px;line-height:1.6;border-top:1px solid currentColor;padding-top:12px}.notes-result summary{cursor:pointer}.notes-result pre{white-space:pre-wrap;overflow-wrap:anywhere;font-family:inherit;font-size:11px;opacity:.85;max-height:220px;overflow:auto}.notes-result summary:focus-visible{outline:2px solid currentColor;outline-offset:4px}
