@charset "UTF-8";
:root{--paper:#ffffff;--ink:#102440;--muted:#596570;--line:#e0dfdd;--accent-ink:#087e82;--soft:#edf3f6;--serif:Georgia,'Times New Roman',serif;--sans:Arial,Helvetica,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.7 var(--sans);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}a,button,input,select,textarea{touch-action:manipulation}button,a{ -webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:wait}img{max-width:100%;display:block}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.1;letter-spacing:-.045em}h1{font-size:clamp(3.7rem,6.4vw,6.7rem)}h2{font-size:clamp(2.6rem,4.2vw,4.6rem)}h3{font-size:2rem}em{font-weight:400;color:var(--accent-ink)}p{color:var(--muted)}p+p{margin-top:18px}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid var(--accent-ink);outline-offset:5px}a:hover{color:var(--accent-ink)}[hidden]{display:none!important}.wrap{max-width:1400px;margin-inline:auto;padding-inline:clamp(24px,4.5vw,72px)}.eyebrow{font-size:10px;text-transform:uppercase;letter-spacing:.2em;font-weight:600;line-height:1.6;color:var(--ink)}.lead{font-size:17px;line-height:1.7;max-width:480px}.small{font-size:12px;line-height:1.7}.index{font-size:11px;letter-spacing:.12em;color:var(--accent-ink)}.skip-link{position:fixed;left:20px;top:-100px;padding:12px 20px;background:var(--ink);color:white;z-index:99}.skip-link:focus{top:10px}.site-header{border-bottom:1px solid var(--line);background:var(--paper);position:relative;z-index:20}.header-inner{height:108px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:flex;align-items:center;gap:18px;flex-shrink:0}.brand img{width:172px;height:auto}.brand>span{border-left:1px solid #d8d7d5;padding-left:18px;font-size:10px;letter-spacing:.26em;line-height:32px;color:var(--ink)}nav{display:flex;align-items:center;gap:28px}nav a{font-size:12px;white-space:nowrap}nav a[aria-current]{text-decoration:underline;text-underline-offset:7px;text-decoration-color:var(--accent-ink)}nav .nav-cta{padding:12px 19px;border:1px solid var(--ink);margin-left:6px}.menu-toggle{display:none}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:30px;padding:17px 25px;background:var(--ink);color:white;border:1px solid var(--ink);font-size:12px;line-height:1.5;letter-spacing:.02em;transition:background .2s,color .2s}.button:hover{background:#142e50;color:#fff}.button span{font-size:18px;line-height:1}.button.secondary{background:transparent;color:var(--ink)}.text-link{font-size:12px;display:inline-block;padding-bottom:6px;border-bottom:1px solid #a6b7c4}.quiet-link{display:inline-flex;gap:18px;font-size:12px}.hero{display:grid;grid-template-columns:1fr 1.04fr;gap:60px;padding-top:48px;padding-bottom:50px;align-items:center}.hero-copy{padding-top:14px}.hero-copy h1{margin:24px 0 26px}.hero-copy .lead{max-width:365px;margin-bottom:30px}.hero-copy .button{margin-right:18px}.hero-copy .quiet-link{margin-top:22px}.hero-note{margin-top:55px;display:flex;gap:18px;align-items:center}.hero-note p{font-size:11px;line-height:1.8}.small-rule{height:1px;width:42px;background:var(--accent-ink)}.hero-figure{position:relative;background:#e8eef2}.hero-figure img{width:100%;height:clamp(480px,44vw,660px);object-fit:cover}.art-label{position:absolute;z-index:1;left:25px;right:25px;top:22px;display:flex;justify-content:space-between;font-size:8px;letter-spacing:.17em;color:#102440}.hero-figure figcaption{font-size:10px;padding:12px 18px;background:#f5f4f2;color:#596570;line-height:1.5}.introduction{display:grid;grid-template-columns:1fr 1.5fr 1.3fr;gap:45px;align-items:start;padding-top:100px;padding-bottom:105px;border-top:1px solid var(--line)}.introduction h2{font-size:clamp(2.8rem,3.7vw,4rem)}.introduction>div{font-size:14px;max-width:365px}.section{padding-top:75px;padding-bottom:105px;border-top:1px solid var(--line)}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:50px}.section-heading .eyebrow{margin-bottom:18px}.service-overview{display:grid;grid-template-columns:repeat(3,1fr);border-block:1px solid var(--line)}.service-overview>a{position:relative;padding:36px 36px 38px 0;min-height:300px;transition:background .2s}.service-overview>a+a{padding-left:36px;border-left:1px solid var(--line)}.service-overview h3{margin:28px 0 20px;font-size:clamp(2rem,2.6vw,3rem)}.service-overview p{max-width:230px;font-size:13px}.circle-arrow{position:absolute;right:26px;top:30px;border:1px solid #bdcbd5;border-radius:50%;width:30px;height:30px;display:grid;place-items:center;font-size:16px}.service-overview>a:hover h3{color:var(--accent-ink)}.approach{background:#f5f4f2;padding-block:90px}.approach-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:100px;align-items:center}.approach h2{margin:20px 0 30px}.approach p:not(.eyebrow){max-width:400px;font-size:14px}.approach .text-link{margin-top:30px}.material-study{position:relative;min-height:430px;background:#e1eaf0;overflow:hidden}.sample{position:absolute;box-shadow:15px 25px 20px #1024401b}.sample-one{width:40%;height:66%;left:16%;top:14%;border-radius:50% 50% 0 0;background:linear-gradient(110deg,#142e50,#102440)}.sample-two{width:34%;height:48%;left:48%;top:37%;background:repeating-linear-gradient(90deg,#8ba4b7 0px,#8ba4b7 10px,#69869d 11px,#7894a9 12px);transform:rotate(8deg)}.sample-three{width:25%;aspect-ratio:1;left:25%;top:54%;border-radius:50%;background:linear-gradient(110deg,#33cccc,#b9e8e8)}.material-study>span{position:absolute;bottom:20px;left:24px;font-size:8px;letter-spacing:.2em;color:#102440}.work-note{display:grid;grid-template-columns:1fr 1.5fr 1.3fr;gap:45px;padding-block:110px}.work-note p:not(.eyebrow){font-size:14px;max-width:360px}.work-note .text-link{margin-top:26px}.closing{background:var(--ink);color:var(--paper);padding-block:80px}.closing-grid{display:grid;grid-template-columns:1fr 2.8fr;gap:24px}.closing .eyebrow{color:#c5d6e1}.closing h2{font-size:clamp(2.8rem,4.6vw,5rem)}.closing .button{grid-column:2;justify-self:start;background:var(--paper);color:var(--ink);margin-top:12px}.closing .button:hover{background:#e6f3f5}.site-footer{padding-top:60px}.footer-top{display:grid;grid-template-columns:1.25fr 1fr 1fr;gap:50px;padding-bottom:55px}.footer-top .brand{align-self:start;align-items:start}.footer-top .brand img{width:150px}.footer-top .brand>span{line-height:28px}.footer-top>p{font-family:var(--serif);font-size:24px;color:var(--ink);line-height:1.2}.footer-top>div{display:flex;flex-direction:column;align-items:start;gap:9px;font-size:12px}.footer-bottom{display:flex;border-top:1px solid var(--line);gap:35px;padding-block:22px;font-size:10px}.footer-bottom p{margin-right:auto}.page-intro{padding-top:90px;padding-bottom:80px}.page-intro h1{margin:22px 0 28px;font-size:clamp(3.7rem,6.4vw,6.4rem)}.page-intro .lead{max-width:560px}.services-list{padding-bottom:35px}.service-row{display:grid;grid-template-columns:.3fr 1.65fr 1fr;gap:50px;border-top:1px solid var(--line);padding-block:70px;scroll-margin-top:30px}.service-row .eyebrow{margin-bottom:18px}.service-row h2{max-width:530px;font-size:clamp(2.6rem,4vw,4rem)}.service-row p:not(.eyebrow){max-width:520px;font-size:14px;margin-top:24px}.plain-list{list-style:none;padding:0;margin:26px 0;font-size:12px;color:var(--muted)}.plain-list li{border-top:1px solid var(--line);padding:10px 0}.plain-list li:last-child{border-bottom:1px solid var(--line)}.service-art{position:relative;background:#e6edf2;align-self:start;min-height:330px;overflow:hidden}.service-art span,.service-art i,.service-art b{position:absolute;display:block}.architectural span{width:55%;height:72%;left:22%;top:15%;background:#9cb3c3;border-radius:50% 50% 0 0}.architectural i{left:32%;top:27%;width:34%;height:58%;background:linear-gradient(125deg,#ffffff,#d9edef);border-radius:50% 50% 0 0}.architectural b{background:#102440;width:34%;height:1px;left:32%;top:57%;box-shadow:0 40px #102440}.interiors{background:#dce8ed}.interiors span{width:50%;height:64%;left:15%;top:15%;background:#f5f4f2;transform:rotate(-8deg)}.interiors i{width:40%;height:52%;left:46%;top:32%;background:repeating-linear-gradient(90deg,#668ca3 0,#668ca3 8px,#496e88 9px,#496e88 10px);transform:rotate(10deg)}.interiors b{width:25%;aspect-ratio:1;border-radius:50%;background:#33cccc;left:25%;top:58%}.implementation{background:#e5edf2}.implementation span{width:58%;height:58%;left:20%;top:28%;border:2px solid #102440;transform:skewY(-12deg)}.implementation i{width:58%;height:58%;left:25%;top:20%;border:2px solid #5f839e;transform:skewY(-12deg)}.implementation b{width:58%;height:58%;left:30%;top:12%;border:2px solid #94b5c7;transform:skewY(-12deg)}.scope-note{display:grid;grid-template-columns:1fr 1.5fr 1.3fr;gap:45px;padding-block:65px 100px;border-top:1px solid var(--line)}.scope-note p:last-child{font-size:14px}.process-list article{display:grid;grid-template-columns:1fr 2fr;border-top:1px solid var(--line);gap:60px;padding:45px 0 55px}.process-list h2{font-size:clamp(2.5rem,3.6vw,3.7rem);margin-bottom:24px}.process-list p{max-width:610px;font-size:14px}.process-list .outcome{font-size:12px;color:var(--accent-ink);margin-top:25px}.before-you-start{padding-block:75px 105px}.before-you-start h2{margin-top:20px}.three-notes{display:grid;grid-template-columns:repeat(3,1fr);gap:45px;margin-top:55px}.three-notes>div{border-top:1px solid var(--line);padding-top:25px}.three-notes span{font-size:10px;color:var(--accent-ink)}.three-notes h3{font-size:28px;margin-block:20px}.three-notes p{font-size:13px;max-width:300px}.portfolio-empty{display:grid;grid-template-columns:1fr 1.2fr;gap:90px;align-items:center;padding-bottom:100px}.portfolio-empty h2{font-size:clamp(2.4rem,3.7vw,4rem);margin:20px 0 25px}.portfolio-empty p{font-size:14px;max-width:500px}.portfolio-empty .button{margin-top:30px}.portfolio-mark{background:#edf2f5;position:relative;min-height:450px;overflow:hidden}.portfolio-mark span{position:absolute;width:54%;height:74%;top:15%;left:18%;border:1px solid #8ba4b7;border-radius:50% 50% 0 0}.portfolio-mark i{position:absolute;width:50%;height:66%;top:28%;left:31%;background:var(--paper);border:1px solid #8ba4b7;border-radius:50% 50% 0 0}.journal-bottom{padding-block:55px 90px;border-top:1px solid var(--line)}.journal-bottom>a{display:block;border-bottom:1px solid var(--line);padding:30px 0}.journal-bottom h3{font-size:clamp(2rem,3.2vw,3rem)}.journal-bottom h3 span{float:right}.journal-bottom p{font-size:12px;margin-top:10px}.contact-grid{display:grid;grid-template-columns:.8fr 1.5fr;gap:100px;padding-bottom:110px}.contact-grid aside p{font-size:13px;max-width:270px}.contact-grid .email-link{font-family:var(--serif);font-size:26px;display:block;margin:20px 0 25px;letter-spacing:-.03em}.contact-aside-note{border-top:1px solid var(--line);margin-top:35px;padding-top:25px}.contact-aside-note .eyebrow{font-size:10px;margin-bottom:12px}.contact-grid aside>.text-link{margin-top:25px}.form-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:25px}.form-pair{display:grid;grid-template-columns:1fr 1fr;gap:22px}label{display:block;font-size:11px;font-weight:600;margin-bottom:22px}input,select,textarea{display:block;width:100%;border:1px solid #bdcbd5;border-radius:0;margin-top:8px;padding:15px;background:#ffffff;font-size:14px;font-weight:400;color:var(--ink);line-height:1.5}textarea{resize:vertical;min-height:155px}input::placeholder,textarea::placeholder{color:#667583}select{min-height:53px}.form-help{font-size:12px;line-height:1.75;margin:3px 0 25px}.form-help a{text-decoration:underline;text-underline-offset:3px}.draft-panel{padding:30px;border:1px solid #afc5cf;background:#edf5f7;scroll-margin-top:20px}.draft-panel h2{font-size:38px;margin:15px 0 20px}.draft-panel p{font-size:13px}.draft-panel pre{font:13px/1.8 var(--sans);white-space:pre-wrap;overflow-wrap:anywhere;background:#ffffff;padding:22px;margin:25px 0}.draft-panel .button{margin-bottom:15px}.text-button{border:0;border-bottom:1px solid var(--muted);background:transparent;font-size:12px;padding:6px 0;margin:0 15px;color:var(--ink)}.reading{max-width:840px;padding-bottom:100px}.reading h2{font-size:30px;margin:35px 0 18px}.reading p{font-size:15px}.reading a{text-decoration:underline}.error-actions{padding-bottom:100px}
@media(min-width:1450px){.hero{gap:80px}.hero-copy .quiet-link{display:flex;max-width:max-content}}@media(max-width:1100px){nav{gap:20px}.header-inner{height:95px}.brand img{width:145px}.brand{gap:12px}.brand>span{padding-left:12px;font-size:9px}.hero{gap:35px}.hero-copy .quiet-link{display:flex;width:max-content}.hero-note{margin-top:30px}.hero h1{font-size:clamp(3.9rem,6.5vw,5.5rem)}.introduction,.work-note,.scope-note{grid-template-columns:.7fr 1.4fr 1.3fr;gap:28px}.approach-grid{gap:60px}.contact-grid{gap:60px}.footer-top{gap:30px}.footer-top .brand{display:block}.footer-top .brand>span{display:block;border:0;padding:8px 0 0}.service-row{gap:30px;grid-template-columns:.15fr 1.4fr 1fr}}
@media(max-width:850px){.header-inner{height:85px}.brand img{width:150px}.menu-toggle{display:flex;align-items:center;gap:12px;font-size:12px;border:0;padding:12px 0 12px 12px;background:none;color:var(--ink)}nav{display:none;position:absolute;left:0;right:0;top:85px;background:var(--paper);border-bottom:1px solid var(--line);padding:18px 28px 30px;flex-direction:column;align-items:stretch;gap:0;box-shadow:0 20px 30px #10244010}nav.is-open{display:flex}nav a{padding:14px 0;font-size:15px}nav .nav-cta{margin:15px 0 0;text-align:center}.hero{gap:28px;padding-top:35px}.hero h1{font-size:4rem}.hero .lead{font-size:15px}.hero-note{display:none}.hero-figure img{height:500px}.hero .button{padding:15px 20px}.art-label{left:15px;right:15px;font-size:6px}.introduction,.work-note,.scope-note{grid-template-columns:1fr 1fr;row-gap:28px;padding-block:70px}.introduction>.eyebrow,.work-note>.eyebrow,.scope-note>.eyebrow{grid-column:1/-1}.section{padding-block:60px 80px}.service-overview>a,.service-overview>a+a{padding:28px 20px;min-height:295px}.service-overview>a:first-child{padding-left:0}.service-overview h3{font-size:30px}.circle-arrow{right:14px}.approach-grid{gap:40px}.material-study{min-height:370px}.closing-grid{grid-template-columns:1fr}.closing .button{grid-column:1}.closing{padding-block:65px}.footer-top{grid-template-columns:1fr 1fr}.footer-top>div{grid-column:1/-1}.service-row{grid-template-columns:.15fr 1.7fr 1fr;gap:24px;padding-block:50px}.service-art{min-height:270px}.service-row h2{font-size:38px}.page-intro{padding-top:60px;padding-bottom:60px}.portfolio-empty{gap:40px}.portfolio-mark{min-height:380px}.contact-grid{grid-template-columns:.7fr 1.4fr;gap:40px}.contact-grid .email-link{font-size:21px}.form-pair{grid-template-columns:1fr;gap:0}.process-list article{gap:40px}.three-notes{gap:28px}}
@media(max-width:600px){.brand img{width:143px}.brand>span{font-size:9px}.header-inner{height:80px}nav{top:80px}.hero{display:flex;flex-direction:column;gap:36px;padding-top:38px;padding-bottom:40px;align-items:stretch}.hero-copy{padding:0}.hero-copy h1{font-size:clamp(3.7rem,14.2vw,5.1rem);margin:22px 0}.hero-copy .lead{font-size:15px;max-width:340px;line-height:1.7;margin-bottom:24px}.hero .quiet-link{display:inline-flex;margin-top:20px;margin-left:0}.hero-figure img{height:auto;aspect-ratio:1/1.04;object-fit:cover;object-position:center 62%}.hero-figure figcaption{font-size:9px;padding:10px 12px}.art-label{top:16px;font-size:7px}.hero .eyebrow{font-size:9px;letter-spacing:.15em}.introduction,.work-note,.scope-note{grid-template-columns:1fr;gap:24px;padding-block:55px}.introduction h2,.work-note h2,.scope-note h2{font-size:42px}.introduction>div,.work-note>div{max-width:none}.section-heading{display:block;margin-bottom:30px}.section-heading h2{font-size:40px}.section-heading>.text-link{margin-top:25px}.service-overview{grid-template-columns:1fr}.service-overview>a,.service-overview>a+a{padding:28px 45px 28px 0;border-left:0;min-height:auto}.service-overview>a+a{border-top:1px solid var(--line)}.service-overview h3{margin:16px 0 14px;font-size:36px}.service-overview h3 br{display:none}.service-overview p{max-width:290px}.circle-arrow{right:0;top:31px}.section{padding-block:50px 60px}.approach{padding-block:50px}.approach-grid{grid-template-columns:1fr;gap:40px}.material-study{min-height:340px}.approach h2{font-size:45px}.closing h2{font-size:43px}.closing{padding-block:52px}.closing .eyebrow{font-size:9px}.footer-top{grid-template-columns:1fr 1fr;gap:35px 25px;padding-bottom:36px}.footer-top .brand img{width:145px}.footer-top>p{font-size:23px}.site-footer{padding-top:42px}.footer-bottom{flex-wrap:wrap;gap:15px 25px;font-size:9px;align-items:start}.footer-bottom p{width:100%;margin:0}.page-intro{padding-block:45px 45px}.page-intro h1{font-size:clamp(3.3rem,12.5vw,4.5rem)}.page-intro .lead{font-size:15px}.service-row{grid-template-columns:1fr;gap:20px;padding-block:35px 45px}.service-row h2{font-size:39px}.service-row .index{margin-bottom:-5px}.service-row .service-art{min-height:250px;order:3}.service-art span,.service-art i{max-width:210px}.process-list article{grid-template-columns:1fr;gap:18px;padding-block:32px 40px}.process-list h2{font-size:36px;margin-bottom:20px}.before-you-start{padding-block:50px 65px}.before-you-start h2{font-size:38px}.three-notes{grid-template-columns:1fr;gap:28px;margin-top:35px}.three-notes h3{margin-block:14px}.three-notes p{max-width:none}.portfolio-empty{grid-template-columns:1fr;gap:35px;padding-bottom:60px}.portfolio-mark{min-height:320px}.portfolio-empty h2{font-size:36px}.journal-bottom{padding-block:45px 60px}.journal-bottom h3{font-size:29px}.contact-grid{grid-template-columns:1fr;gap:45px;padding-bottom:65px}.contact-grid aside p{max-width:none}.contact-grid .email-link{font-size:29px;margin:16px 0}.contact-aside-note{margin-top:25px}.contact-grid .form-help{font-size:12px}.draft-panel{padding:22px}.draft-panel h2{font-size:33px}.draft-panel .button{gap:16px;padding:15px 20px}.draft-panel pre{padding:16px;font-size:12px}.text-button{margin-left:0}.reading{padding-bottom:65px}.reading h2{font-size:28px}.reading p{font-size:14px}.error-actions{padding-bottom:65px}}
@media(max-width:360px){.header-inner{gap:8px}.brand{gap:9px}.brand img{width:115px}.brand>span{font-size:8px;padding-left:9px;letter-spacing:.18em}.menu-toggle{gap:6px;padding-left:8px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important}}
