:root{--ink:#0b0b0b;--muted:#555;--line:#d8d8d6;--paper:#f4f4f2;--gutter:5.2vw}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:115px}body{margin:0;color:var(--ink);background:#fff;font-family:'Helvetica Neue',Arial,sans-serif;font-size:16px;line-height:1.65}a{color:inherit;text-decoration:none}img{display:block;width:100%;height:auto}button,input,select,textarea{font:inherit}button{cursor:pointer}figure,p,h1,h2,h3,ul,dl,dd{margin:0}h1,h2,h3{font-weight:300;line-height:1.05;letter-spacing:-.045em}h1{font-size:clamp(58px,6.8vw,116px)}h2{font-size:clamp(37px,4.1vw,68px)}h3{font-size:30px}p+p{margin-top:1.2em}button,a,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid currentColor;outline-offset:5px}a:hover{ text-decoration-thickness:1px}button{border-radius:0;color:inherit;-webkit-appearance:none;appearance:none}[hidden]{display:none!important}.wrap{width:calc(100% - var(--gutter)*2);max-width:1600px;margin-inline:auto}.section{padding-block:80px}.eyebrow{font-size:10px;line-height:1.6;letter-spacing:.14em;text-transform:uppercase;font-weight:500}.header{height:91px;padding-inline:var(--gutter);display:flex;align-items:center;gap:36px;justify-content:space-between;position:sticky;top:0;z-index:30;background:rgba(255,255,255,.98);border-bottom:1px solid var(--line)}.brand{width:215px;display:block;flex-shrink:0}.brand img{filter:invert(1);width:100%;height:auto}.desktop-nav{display:flex;gap:30px;align-items:center;font-size:13px;margin-left:auto}.desktop-nav a{padding-block:10px;position:relative}.desktop-nav a:after{content:'';position:absolute;bottom:1px;left:0;width:0;height:1px;background:currentColor;transition:width .2s}.desktop-nav a:hover:after,.desktop-nav a[aria-current]:after{width:100%}.header-cta{display:flex;justify-content:space-between;gap:28px;border:1px solid #111;padding:10px 17px;font-size:12px;margin-left:25px}.header-cta:hover{background:#000;color:#fff}.menu-toggle{display:none}.skip{position:fixed;transform:translateY(-160%);top:10px;left:20px;z-index:100;background:#fff;padding:10px 20px}.skip:focus{transform:none}.text-link{display:inline-flex;align-items:center;gap:35px;padding-block:9px;border-bottom:1px solid currentColor;font-size:13px;line-height:1.5}.text-link span{font-size:20px;transition:transform .2s}.text-link:hover span{transform:translate(2px,-2px)}.outline-link{border:1px solid currentColor;padding:16px 23px;display:inline-flex;gap:50px;align-items:center;font-size:14px}.prose{color:#444}.prose p+p{margin-top:24px}.prose .text-link{color:#000;margin-top:20px}.breadcrumbs{display:flex;gap:15px;padding-block:25px;font-size:10px;color:#555;flex-wrap:wrap}.breadcrumbs a:hover{text-decoration:underline;text-underline-offset:4px}.breadcrumbs>span:last-child{color:#111}.home-image{position:relative;margin-inline:2%}.home-image>img{height:auto;object-fit:contain}.home-visual:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.7),rgba(0,0,0,.32) 40%,transparent 72%);pointer-events:none}.home-image-caption{position:absolute;bottom:30px;left:3.3%;right:3.3%;z-index:1;color:#fff;display:flex;justify-content:space-between;align-items:end}.home-image-caption>span{font-size:10px;letter-spacing:.1em;text-transform:uppercase}.home-intro{display:grid;grid-template-columns:1fr 1fr;gap:10%;align-items:start}.home-intro .eyebrow{margin-bottom:22px}.home-intro h2{font-size:clamp(36px,3.7vw,60px)}.copy-columns{display:grid;grid-template-columns:1fr 1fr;gap:50px;max-width:800px;margin-top:32px;color:#444}.copy-columns .text-link{color:#111;margin-top:20px}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:40px;margin-bottom:45px}.section-heading .eyebrow{margin-bottom:20px}.home-projects{border-top:1px solid var(--line)}.home-project-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:48px 28px}.project-card{min-width:0}.card-image{position:relative;overflow:hidden}.card-image img{aspect-ratio:3/2;object-fit:contain;transition:transform .7s}.project-card:hover .card-image img{transform:scale(1.025)}.image-link{position:absolute;bottom:17px;right:17px;color:#000;background:#fff;padding:9px 14px;font-size:11px;opacity:0;transition:opacity .2s}.project-card:hover .image-link,.project-card a:focus-visible .image-link{opacity:1}.card-heading{display:flex;align-items:center;justify-content:space-between;margin-top:20px}.card-heading h3{font-size:30px}.card-heading>span{font-size:25px}.card-meta{display:flex;justify-content:space-between;gap:10px;color:#555;font-size:10px;margin-top:12px}.dark{background:#080808;color:#fff}.dark .eyebrow{color:#bbbcbb}.section-description{max-width:370px;color:#bbbcbb}.service-links{display:grid;grid-template-columns:1fr 1fr;gap:0 50px;margin-top:35px;border-top:1px solid #555}.service-links a{display:flex;align-items:start;justify-content:space-between;gap:25px;border-bottom:1px solid #555;padding:30px 0}.service-links h3{font-size:clamp(25px,2.6vw,40px);letter-spacing:-.035em}.service-links p{font-size:14px;line-height:1.7;color:#bbbcbb;margin-top:18px;max-width:430px}.service-links a>span{font-size:38px;transition:transform .2s}.service-links a:hover>span{transform:translate(5px,-5px)}.split-teaser{display:grid;grid-template-columns:1fr 1fr;gap:13%;align-items:center}.split-teaser>div>img{aspect-ratio:1.05;object-fit:cover;object-position:center 65%}.teaser-copy h2{margin:25px 0 30px}.teaser-copy>p:not(.eyebrow){color:#444}.teaser-copy .text-link{margin-top:24px}.page-heading{padding-bottom:55px}.page-heading>.eyebrow{padding-top:20px;margin-bottom:20px}.heading-row{display:grid;grid-template-columns:1.35fr .65fr;gap:8%;align-items:end}.page-lead{font-size:17px;color:#444;line-height:1.75;max-width:510px}.portfolio{padding-bottom:80px}.portfolio-toolbar{border-top:1px solid #aaa;padding-top:20px;display:flex;justify-content:space-between;gap:20px;margin-bottom:30px;align-items:center}.project-filters{display:flex;gap:25px;flex-wrap:wrap}.project-filters button{font-size:12px;background:none;border:0;border-bottom:1px solid transparent;padding:6px 0;color:#555}.project-filters button[aria-pressed=true]{color:#000;border-bottom-color:#000}.project-count{font-size:10px;color:#555}.portfolio-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:48px 28px;align-items:start}.callout{border-top:1px solid var(--line);text-align:center}.callout h2{margin:22px 0}.callout>p:not(.eyebrow){max-width:580px;margin-inline:auto;color:#555}.callout>.text-link{margin-top:25px}.project-hero{position:relative;background:#222}.project-hero>img{height:auto;object-fit:contain}.project-hero-breadcrumbs{position:absolute;inset:0 0 auto;z-index:2;padding-bottom:28px;background:linear-gradient(180deg,rgba(0,0,0,.65),rgba(0,0,0,.55) 60%,transparent)}.project-hero-breadcrumbs .breadcrumbs{color:#fff;text-shadow:0 1px 4px rgba(0,0,0,.25)}.project-hero-breadcrumbs .breadcrumbs>span:last-child{color:inherit}.project-hero:after{content:'';position:absolute;inset:30% 0 0;background:linear-gradient(transparent,rgba(0,0,0,.7));pointer-events:none}.project-hero-title{position:absolute;bottom:40px;left:0;right:0;z-index:1;color:#fff}.project-hero-title h1{font-size:clamp(70px,9vw,150px);margin-top:15px}.project-subnav{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #aaa;padding-block:22px;font-size:12px}.project-subnav>span{font-weight:500}.project-subnav>div{display:flex;gap:35px}.project-subnav a:hover{text-decoration:underline;text-underline-offset:6px}.project-intro{display:grid;grid-template-columns:1fr 1fr;gap:10%;padding-bottom:65px}.project-intro h2{font-size:clamp(38px,3.5vw,59px);margin-top:25px}.project-intro .prose{padding-top:6px}.project-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(155px,1fr));gap:25px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding-block:28px}.project-facts dt{font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:#555;margin-bottom:7px}.project-facts dd{font-size:13px}.gallery-hint{font-size:12px;color:#555}.project-gallery .section-heading h2{font-size:clamp(36px,3.3vw,55px)}.gallery-open{padding:0;border:0;background:none;display:block;position:relative;width:100%;text-align:left}.gallery-open img{height:auto;object-fit:cover}.gallery-open>span{position:absolute;bottom:20px;right:20px;background:#fff;color:#000;padding:8px 13px;font-size:10px}.gallery-item figcaption{font-size:11px;padding-top:13px;color:#555}.gallery-pair{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-top:28px}.gallery-pair img{height:610px;object-fit:cover}.gallery-wide img{height:auto;max-height:none;object-fit:contain}.materials{display:grid;grid-template-columns:1.08fr 1fr;align-items:stretch}.material-image .gallery-item,.material-image .gallery-open{height:100%}.material-image img{height:660px;object-fit:cover}.material-image figcaption{display:none}.material-copy{align-self:center;padding:65px 13%}.material-copy h2{margin:27px 0 30px;font-size:clamp(36px,3.6vw,60px)}.material-copy>p:not(.eyebrow){color:#bbbcbb}.material-list{list-style:none;padding:0;margin-top:35px;border-top:1px solid #555}.material-list li{font-size:12px;padding-block:12px;border-bottom:1px solid #555}.photo-credit{font-size:11px;color:#555;padding-bottom:35px}.project-cta{display:grid;grid-template-columns:1fr 1fr;gap:15%;padding-block:75px;border-top:1px solid var(--line)}.project-cta h2{margin-top:25px;font-size:clamp(36px,3.5vw,59px)}.project-cta>div:last-child{align-self:center;max-width:420px}.project-cta p:not(.eyebrow){color:#555}.project-cta .text-link{display:flex;width:max-content;max-width:100%;margin-top:12px}.project-pagination{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:30px;padding-block:45px 80px;border-top:1px solid var(--line)}.project-pagination>a:not(.all-projects){display:flex;flex-direction:column;gap:13px}.project-pagination>a:last-child{text-align:right}.project-pagination>a>span:last-child{font-size:35px;font-weight:300;letter-spacing:-.03em}.all-projects{font-size:12px;text-decoration:underline;text-underline-offset:5px}.service-overview{display:grid;grid-template-columns:1fr 1fr;gap:10%;align-items:center;padding-block:70px;border-top:1px solid var(--line)}.service-overview-image img{height:480px;object-fit:cover}.service-overview h2{font-size:clamp(35px,3.7vw,62px);margin:22px 0 28px}.service-overview p:not(.eyebrow){color:#555}.service-overview .text-link{margin-top:24px}.image-note{font-size:11px;margin-top:24px}.service-heading{padding-bottom:70px}.service-heading-grid{display:grid;grid-template-columns:1fr 1fr;gap:7%;align-items:center;padding-top:35px}.service-heading-grid h1{font-size:clamp(49px,5.25vw,86px);margin:28px 0}.service-heading-grid .text-link{margin-top:22px}.service-heading-grid figure img{height:auto;object-fit:contain}.service-heading-grid figcaption,.about-opening figcaption{font-size:10px;color:#555;margin-top:12px}.two-column{display:grid;grid-template-columns:1fr 1fr;gap:12%;border-top:1px solid var(--line);align-items:start}.two-column .eyebrow{margin-bottom:22px}.two-column .text-link{margin-top:22px}.considerations{background:var(--paper)}.topic-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:6%;margin-top:42px}.topic-grid h3{font-size:32px;max-width:340px;line-height:1.15}.topic-grid p{color:#555;margin-top:24px;font-size:15px}.related-feature{display:grid;grid-template-columns:1.1fr 1fr;gap:10%;align-items:center}.related-feature img{height:480px;object-fit:cover}.related-feature h2{margin:25px 0}.related-feature p:not(.eyebrow){color:#555}.related-feature .text-link{margin-top:20px}.faq-section{border-top:1px solid var(--line);display:grid;grid-template-columns:.85fr 1.15fr;gap:10%}.faq-section h2{margin-top:22px}.faq-section>div>p:not(.eyebrow){margin-top:25px;color:#555}.faq-list{border-top:1px solid #aaa}.faq-list details{border-bottom:1px solid #aaa}.faq-list summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:20px;padding-block:24px;font-size:18px;line-height:1.4}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary>span{font-size:23px}.faq-list details[open] summary>span{transform:rotate(45deg)}.faq-list details>p{padding:0 30px 25px 0;color:#555;font-size:15px}.process-route{border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding-block:50px 80px;gap:35px}.process-route h2{font-size:35px}.about-opening{display:grid;grid-template-columns:1fr 1fr;gap:10%;align-items:center;padding-bottom:100px}.about-opening img{height:auto;object-fit:contain}.about-opening h2{margin:25px 0 30px;font-size:clamp(35px,3.7vw,62px)}.about-opening p:not(.eyebrow){color:#555}.about-opening .text-link{margin-top:25px}.values-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:7%;margin-top:45px}.values-grid h2{font-size:39px}.values-grid p{margin-top:25px;color:#bbbcbb;font-size:15px}.credentials{padding-block:60px 100px;border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr;gap:12%}.credentials h2{font-size:42px;margin-top:25px}.credentials dl>div{padding:16px 0;border-bottom:1px solid var(--line)}.credentials dt{font-size:10px;color:#555;text-transform:uppercase;letter-spacing:.1em}.credentials dd{font-size:14px;margin-top:5px}.process-banner{margin-inline:2%}.process-banner img{height:auto;object-fit:contain}.process-banner figcaption{font-size:11px;color:#555;padding:14px 3.3%}.process-intro{display:grid;grid-template-columns:1fr 1fr;gap:12%;padding-bottom:65px}.process-intro p{color:#555}.process-stage{display:grid;grid-template-columns:1fr 1fr;gap:12%;border-top:1px solid var(--line);padding-block:50px}.process-stage h2{font-size:38px;line-height:1.15;margin-top:18px;max-width:460px}.process-stage>div>p:not(.eyebrow){color:#555}.stage-note{font-size:13px;padding-left:20px;border-left:1px solid #888}.process-stages{padding-bottom:55px}.contact-page{padding-bottom:100px}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:10%;padding-top:40px}.contact-grid h1{font-size:clamp(55px,5.7vw,95px);margin:27px 0 32px}.contact-direct{display:flex;flex-direction:column;gap:10px;margin-top:45px;font-size:14px}.contact-direct .phone{font-size:34px;letter-spacing:-.03em}.contact-direct>a:last-child{text-decoration:underline;text-underline-offset:5px}.location{font-size:13px;color:#555;margin-top:30px}.contact-help{border-top:1px solid var(--line);margin-top:40px;padding-top:30px;max-width:460px}.contact-help h2{font-size:28px}.contact-help p{font-size:14px;color:#555;margin-top:15px}.contact-help .text-link{margin-top:12px}form{background:var(--paper);padding:40px}form h2{font-size:35px}form>p{color:#555;font-size:13px;margin-top:12px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:24px}label{display:block;font-size:11px;margin-top:26px}label>span{color:#555}input,textarea,select{display:block;width:100%;min-width:0;border:0;border-radius:0;border-bottom:1px solid #aaa;background:transparent;padding:13px 0;color:#000;font-size:15px}input:focus,textarea:focus,select:focus{outline:2px solid #000;outline-offset:4px}textarea{resize:vertical}.form-note{font-size:10px!important;margin:22px 0!important;line-height:1.65}.form-note a{text-decoration:underline}.submit{background:#000;color:#fff;border:1px solid #000;width:100%;padding:19px 20px;display:flex;justify-content:space-between;font-size:13px}.submit:hover{background:#333}#form-status{font-size:12px;overflow-wrap:anywhere}#email-fallback{font-size:12px}.privacy-copy{max-width:800px;padding-bottom:100px}.privacy-copy h2{font-size:30px;margin:35px 0 20px}.privacy-copy p{color:#555}.privacy-copy a{text-decoration:underline}.error-links{display:flex;gap:40px;padding-bottom:100px}footer{background:#080808;color:#fff;padding:70px var(--gutter) 25px}.footer-invite{display:flex;align-items:end;justify-content:space-between;gap:50px;padding-bottom:70px}.footer-invite h2{font-size:clamp(40px,5.3vw,88px);margin-top:26px}.footer-invite .eyebrow{color:#bbbcbb}.footer-grid{display:grid;grid-template-columns:1.3fr .7fr 1fr 1.1fr;gap:35px;padding-block:45px 50px;border-top:1px solid #444;font-size:12px}.footer-grid h2{font-family:inherit;font-size:10px;font-weight:400;line-height:1.5;letter-spacing:.1em;text-transform:uppercase;margin-bottom:20px;color:#bbbcbb}.footer-grid a:not(.brand){display:block;line-height:1.6;margin-bottom:10px;overflow-wrap:anywhere}.footer-grid a:not(.brand):hover{text-decoration:underline;text-underline-offset:4px}.footer-grid .brand img{filter:none}.footer-brand p{font-size:11px;color:#bbbcbb;margin-top:23px}.legal{display:flex;justify-content:space-between;gap:25px;border-top:1px solid #444;padding-top:22px;font-size:9px;color:#bbbcbb}.lightbox{width:100vw;height:100dvh;max-width:100vw;max-height:100dvh;border:0;background:#050505;color:white;padding:65px 35px 25px}.lightbox::backdrop{background:#000}.lightbox-close{position:absolute;right:25px;top:15px;padding:10px;background:none;color:white;border:0;font-size:13px}.lightbox-stage{height:calc(100% - 55px);display:grid;grid-template-columns:45px 1fr 45px;gap:20px;align-items:center}.lightbox-stage>img{height:100%;max-height:100%;object-fit:contain;min-height:0}.lightbox-stage>button{border:1px solid #555;background:transparent;color:white;width:45px;height:45px;font-size:24px}.lightbox-caption{display:flex;justify-content:flex-end;align-items:center;gap:25px;margin:18px 65px 0;font-size:12px}.lightbox-caption>span{color:#bbbcbb;white-space:nowrap}body.modal-open{overflow:hidden}
@media(min-width:1900px){:root{--gutter:max(5.2vw,calc((100vw - 1600px)/2))}}
@media(max-width:1150px){.gallery-pair img{height:500px}.header{gap:20px}.brand{width:180px}.desktop-nav{gap:21px}.header-cta{margin-left:5px}.home-project-grid{gap:20px}.card-meta{flex-direction:column;gap:2px}.footer-grid{grid-template-columns:1.1fr .65fr 1fr 1fr;gap:25px}.footer-grid .brand{width:170px}.contact-grid{gap:6%}form{padding:28px}.form-row{display:block}.heading-row{grid-template-columns:1.2fr .8fr}.service-heading-grid h1{font-size:5.3vw}}
@media(max-width:900px){.desktop-nav{gap:18px;font-size:12px}.header{padding-inline:4%;gap:20px}.header-cta{padding:9px 12px;gap:18px}.brand{width:160px}.home-intro{display:block}.home-intro>.prose{margin-top:26px}.heading-row{display:block}.heading-row .page-lead{margin-top:30px;max-width:600px}.project-intro{gap:6%}.project-facts{grid-template-columns:repeat(3,1fr);row-gap:20px}.footer-grid{grid-template-columns:1fr 1fr;row-gap:40px}.values-grid{gap:30px}.values-grid h2{font-size:32px}.contact-grid{gap:5%}.contact-grid h1{font-size:53px}.service-heading-grid h1{font-size:5.5vw}.topic-grid{gap:4%}.topic-grid h3{font-size:27px}.material-copy{padding:50px 10%}.portfolio-grid{gap:22px}}
@media(max-width:760px){:root{--gutter:6%}html{scroll-padding-top:90px}.header{height:77px;padding-inline:6%}.brand{width:178px}.desktop-nav,.header-cta{display:none}.menu-toggle{display:flex;align-items:center;gap:14px;background:none;border:0;padding:10px 0;font-size:12px}.menu-toggle span{font-size:24px}#mobile-nav{position:fixed;z-index:29;top:77px;left:0;right:0;background:#080808;color:#fff;padding:18px 6% 30px;max-height:calc(100dvh - 77px);overflow:auto}#mobile-nav>a{display:block;font-size:29px;line-height:1.2;padding:15px 0;border-bottom:1px solid #555;font-weight:300}#mobile-nav>a[aria-current]{color:#bbbcbb}#mobile-nav>a.mobile-phone{font-size:12px;border:0;padding-top:25px}.section{padding-block:55px}.home-image{margin:0 3%}.home-image-caption{position:static;color:var(--ink);padding:16px 3%;gap:20px;align-items:center;border-bottom:1px solid var(--line)}.home-image-caption>span{font-size:8px;max-width:130px}.home-image-caption .text-link{font-size:11px;gap:20px}.home-intro h2{font-size:39px}.copy-columns{display:block;margin-top:25px;font-size:15px}.copy-columns>div{margin-top:18px}.section-heading{display:block;margin-bottom:32px}.section-heading h2{font-size:39px}.section-heading>.text-link{margin-top:20px}.home-project-grid{display:block}.home-project-grid .project-card{margin-bottom:37px}.home-project-grid .project-card:last-child{margin:0}.card-image img{aspect-ratio:3/2}.card-heading{margin-top:15px}.card-heading h3{font-size:30px}.card-meta{flex-direction:row;font-size:9px;gap:12px;margin-top:9px}.image-link{display:none}.section-description{margin-top:25px;font-size:15px}.service-links{display:block;margin-top:30px}.service-links a{padding:24px 0;gap:25px}.service-links h3{font-size:31px;max-width:280px}.service-links a>span{font-size:30px}.split-teaser{display:block}.split-teaser>div>img{aspect-ratio:1.2;object-position:center 70%}.teaser-copy{padding-top:38px}.teaser-copy h2{font-size:40px}.teaser-copy p{font-size:15px}.breadcrumbs{padding-block:20px;font-size:9px;gap:12px}.page-heading{padding-bottom:45px}.page-heading>.eyebrow{padding-top:25px;margin-bottom:20px}.page-heading h1{font-size:49px}.page-lead{font-size:15px;line-height:1.7}.heading-row .page-lead{margin-top:26px}.portfolio{padding-bottom:65px}.portfolio-toolbar{display:block;margin-bottom:30px}.project-filters{gap:22px}.project-count{margin-top:18px}.portfolio-grid{display:grid;grid-template-columns:1fr;gap:32px}.portfolio-grid>.project-card{padding:0;margin:0}.portfolio-grid>.project-card:last-child{margin-bottom:0}.callout{text-align:left}.callout h2{font-size:39px}.callout>p:not(.eyebrow){font-size:15px}.project-hero{background:#fff}.project-hero:after{display:none}.project-hero-title{position:static;color:var(--ink);padding-block:26px}.project-hero-title h1{font-size:14vw;margin-top:12px}.project-hero-title .eyebrow{font-size:9px}.project-subnav{padding-block:17px}.project-subnav>span{display:none}.project-subnav>div{width:100%;justify-content:space-between}.project-intro{display:block;padding-block:60px 45px}.project-intro h2{font-size:37px;margin-top:20px}.project-intro .prose{font-size:15px;padding-top:28px}.project-facts{grid-template-columns:1fr 1fr;gap:23px;padding-block:24px}.project-facts dt{font-size:9px}.project-facts dd{font-size:12px}.project-gallery .section-heading h2{font-size:35px}.gallery-hint{margin-top:20px;font-size:11px}.gallery-pair{gap:22px;display:block;margin-top:22px}.gallery-pair .gallery-item+.gallery-item{margin-top:25px}.gallery-pair img,.gallery-wide img{height:auto;max-height:none;object-fit:contain}.gallery-item figcaption{font-size:10px;padding-top:10px}.gallery-open>span{bottom:15px;right:15px;font-size:9px}.materials{display:flex;flex-direction:column}.material-image img{height:460px;object-fit:cover}.material-copy{padding:50px 6% 60px}.material-copy h2{font-size:39px;margin:24px 0}.material-copy>p:not(.eyebrow){font-size:15px}.material-list{margin-top:28px}.project-cta{display:block;padding-block:55px}.project-cta h2{font-size:39px}.project-cta>div:last-child{margin-top:25px;font-size:15px}.project-pagination{grid-template-columns:1fr 1fr;gap:20px;padding-block:35px 60px}.project-pagination>a>span:last-child{font-size:26px}.project-pagination .eyebrow{font-size:8px}.all-projects{grid-column:span 2;grid-row:2;text-align:center;font-size:11px;margin-top:10px}.service-overview{display:block;padding-block:45px}.service-overview-image img{height:350px}.service-overview>div{padding-top:30px}.service-overview h2{font-size:39px}.service-overview p:not(.eyebrow){font-size:15px}.service-overview .image-note{font-size:10px}.service-heading{padding-bottom:50px}.service-heading-grid{display:block;padding-top:23px}.service-heading-grid h1{font-size:48px;margin:23px 0}.service-heading-grid figure{margin-top:35px}.service-heading-grid figcaption{font-size:9px}.two-column{display:block}.two-column h2{font-size:39px;margin-bottom:28px}.two-column>.prose,.two-column>div:last-child{font-size:15px}.topic-grid{display:block;margin-top:30px}.topic-grid article+article{margin-top:35px;padding-top:30px;border-top:1px solid var(--line)}.topic-grid h3{font-size:29px;max-width:none}.topic-grid p{margin-top:18px}.related-feature{display:block}.related-feature img{height:350px}.related-feature>div{padding-top:30px}.related-feature h2{font-size:39px}.related-feature p:not(.eyebrow){font-size:15px}.faq-section{display:block}.faq-section h2{font-size:40px}.faq-list{margin-top:32px}.faq-list summary{font-size:17px;padding-block:20px}.faq-list details>p{font-size:14px}.process-route{display:block;padding-block:35px 55px}.process-route h2{font-size:31px}.process-route .text-link{margin-top:18px}.about-opening{display:block;padding-bottom:65px}.about-opening>div{margin-top:35px}.about-opening h2{font-size:39px}.about-opening p:not(.eyebrow){font-size:15px}.values-grid{display:block;margin-top:32px}.values-grid article+article{margin-top:35px;padding-top:28px;border-top:1px solid #555}.values-grid h2{font-size:35px}.values-grid p{margin-top:18px}.credentials{display:block;padding-block:45px 65px}.credentials h2{font-size:36px}.credentials dl{margin-top:25px}.credentials dd{font-size:13px}.process-banner{margin-inline:3%}.process-banner figcaption{font-size:9px;padding-inline:3%}.process-intro{display:block;padding-bottom:45px}.process-intro h2{font-size:37px;margin-bottom:25px}.process-intro p{font-size:15px}.process-stage{display:block;padding-block:35px}.process-stage h2{font-size:33px;margin:18px 0 25px}.process-stage>div:last-child>p{font-size:15px}.process-stage>div:last-child>.stage-note{font-size:12px}.process-stages{padding-bottom:25px}.contact-page{padding-bottom:65px}.contact-grid{display:block;padding-top:25px}.contact-grid h1{font-size:53px;margin-top:23px}.contact-direct{margin-top:35px;font-size:13px}.contact-direct .phone{font-size:32px}.contact-help{margin-top:30px}form{padding:30px 23px;margin-top:40px}.form-row{display:block}input,select,textarea{font-size:16px}.contact-help h2{font-size:28px}.contact-help p{font-size:14px}.privacy-copy{padding-bottom:60px;font-size:15px}.privacy-copy h2{font-size:27px}.error-links{flex-direction:column;align-items:start;padding-bottom:65px;gap:20px}footer{padding:55px 6% 25px}.footer-invite{display:block;padding-bottom:40px}.footer-invite h2{font-size:40px}.footer-invite .outline-link{margin-top:30px}.footer-grid{grid-template-columns:1fr 1fr;gap:35px 24px;padding-block:35px 40px}.footer-grid>.footer-brand,.footer-grid>div:last-child{grid-column:span 2}.footer-grid .brand{width:190px}.footer-grid h2{margin-bottom:15px;font-size:9px}.footer-grid a:not(.brand){font-size:11px}.footer-brand p{font-size:11px;margin-top:20px}.legal{display:block;font-size:8px}.legal>*{display:block;margin-bottom:12px}.lightbox{padding:60px 10px 20px}.lightbox-stage{grid-template-columns:35px 1fr 35px;gap:5px;height:calc(100% - 70px)}.lightbox-stage>button{width:35px;height:40px;font-size:21px}.lightbox-caption{margin:18px 5px 0;gap:18px;font-size:10px}.lightbox-close{right:12px}.lightbox-caption>p{max-width:260px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}

/* Desktop heading overlays the photograph; mobile gives the uncropped house and headline their own space. */
.home-visual{position:relative;isolation:isolate}
.home-visual>img{height:auto;object-fit:contain}
.home-hero-copy{position:absolute;z-index:1;left:3.3%;right:3.3%;top:auto;bottom:clamp(28px,4vw,64px);color:#fff}
.home-hero-copy .eyebrow{font-size:10px;letter-spacing:.13em;margin-bottom:22px}
.home-hero-copy h1{font-size:clamp(44px,5.2vw,88px);line-height:1.04;letter-spacing:-.045em;max-width:1100px}
.home-hero-copy h1 span{display:block}
.home-hero-copy .text-link{margin-top:24px}
.portfolio-heading .heading-row{grid-template-columns:1fr 1fr;gap:8%}
.portfolio-heading h1{font-size:clamp(58px,6.1vw,94px)}
.portfolio-heading .page-lead{font-size:15px;max-width:430px;justify-self:end}
.founder-signature{font-size:15px;color:#111!important;margin-top:28px!important}
.founder-signature span{font-size:11px;color:#555}
@media(max-width:760px){
 .home-visual{background:#111}
 .home-visual:after{display:none}
 .home-visual>img{width:100%;height:auto;aspect-ratio:3/2;object-fit:contain}
 .home-hero-copy{position:relative;inset:auto;padding:24px 6% 28px;background:#111;color:#fff}
 .home-hero-copy:before{content:'';position:absolute;bottom:100%;left:0;right:0;height:30px;background:linear-gradient(transparent,#111);pointer-events:none}
 .home-hero-copy h1{font-size:clamp(30px,9.2vw,48px);line-height:1.1;letter-spacing:-.035em;text-wrap:pretty;max-width:19ch}
 .home-hero-copy h1 span{display:inline}
 .home-hero-copy h1 span:first-child{display:block}
 .home-hero-copy .text-link{font-size:14px;min-height:44px;margin-top:20px;padding-block:10px;gap:32px}
 .home-hero-copy .text-link span{font-size:20px;line-height:1}
 .portfolio-heading{padding-bottom:30px}
 .portfolio-heading>.eyebrow{padding-top:10px}
 .portfolio-heading h1{font-size:54px}
 .portfolio-heading .page-lead{margin-top:22px}
 .portfolio-toolbar{padding-top:15px;margin-bottom:25px}
 .project-count{margin-top:12px}
 .service-links p{font-size:14px}
 .gallery-pair img{aspect-ratio:auto}
}

/* Development projects have explicit status and render labels. */
.project-card-status{position:absolute;top:16px;left:16px;background:#fff;color:#111;padding:8px 12px;font-size:9px;font-weight:500;letter-spacing:.06em;text-transform:uppercase}
.project-card[data-status="development"] .card-image img{object-fit:cover}
.project-status{font-size:12px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;margin-top:10px!important}
.project-hero-breadcrumbs .wrap{display:flex;align-items:center;justify-content:space-between;gap:20px}
.hero-render-label{color:#fff;font-size:10px;letter-spacing:.08em;text-transform:uppercase;text-align:right}
.prose .render-note{font-size:12px;color:#555}
body[data-image-type="render"] .gallery-pair img{height:auto;aspect-ratio:4/3;object-fit:contain}
body[data-image-type="render"] .material-image img{height:auto;object-fit:contain}
.upcoming-project .text-link{margin-top:5px}
@media(max-width:760px){
 .project-card-status{top:12px;left:12px;padding:7px 9px;font-size:8px}
 .project-status{font-size:10px}
 .hero-render-label{font-size:7px;max-width:90px;line-height:1.5}
 .project-hero-breadcrumbs .wrap{gap:12px}
}

/* Keep project type and location with the section navigation. */
.project-hero-title h1{margin-top:0}
.project-status+h1{margin-top:15px}
@media(max-width:760px){
 .project-subnav{flex-direction:column;align-items:flex-start;gap:17px}
 .project-subnav>.project-context{display:block;font-size:9px}
 .project-status+h1{margin-top:12px}
}

/* Vector icons keep their line appearance on iOS and all other platforms. */
.icon{display:inline-block;width:1em;height:1em;flex:none;vertical-align:-.12em;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.icon path{vector-effect:non-scaling-stroke}
.text-link>span,.card-heading>span,.service-links a>span,.header-cta>span,.outline-link>span{display:inline-flex;align-items:center;justify-content:center;flex:none}
.text-link .icon{width:20px;height:20px}
.card-heading .icon{width:24px;height:24px}
.gallery-open>span .icon,.image-link .icon{width:13px;height:13px;margin-left:5px}
.project-pagination .eyebrow .icon{width:12px;height:12px}
.lightbox-stage>button{display:grid;place-items:center}
.lightbox-stage .icon{width:22px;height:22px}
.header{background:#fff}
body.menu-open{overflow:hidden}
@media(max-width:760px){
 .header{gap:14px}
 .header .brand{width:178px;flex:0 1 178px;min-width:140px}
 .menu-toggle{display:inline-flex;align-items:center;justify-content:space-between;gap:12px;flex:none;min-width:88px;min-height:44px;padding:10px 12px;border:1px solid #111;background:#fff;color:#111;font:500 12px/1.2 'Helvetica Neue',Arial,sans-serif;letter-spacing:.02em;touch-action:manipulation}
 .menu-toggle .menu-label{font-size:12px}
 .menu-toggle .menu-icon{position:relative;display:block;width:18px;height:18px;flex:none}
 .menu-icon:before,.menu-icon:after{content:'';position:absolute;left:0;width:18px;height:1.5px;background:currentColor;transition:transform .2s,top .2s}
 .menu-icon:before{top:5px}
 .menu-icon:after{top:12px}
 .menu-toggle[aria-expanded=true]{background:#111;color:#fff}
 .menu-toggle[aria-expanded=true] .menu-icon:before{top:8.25px;transform:rotate(45deg)}
 .menu-toggle[aria-expanded=true] .menu-icon:after{top:8.25px;transform:rotate(-45deg)}
 #mobile-nav{display:flex;flex-direction:column;top:77px;bottom:0;height:calc(100vh - 77px);height:calc(100dvh - 77px);max-height:none;padding:18px 6% max(28px,env(safe-area-inset-bottom));overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
 #mobile-nav>a{flex:none;min-height:54px;line-height:1.2;padding:16px 0;border-color:#373737}
 #mobile-nav>a[aria-current=page]{color:#fff;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:7px}
 #mobile-nav>a.mobile-phone{margin-top:auto;min-height:44px;padding-top:28px;padding-bottom:10px;font-size:15px}
 #mobile-nav .icon{width:20px;height:20px;margin-left:10px}
 .home-hero-copy .text-link .icon{width:20px;height:20px}
 .lightbox-stage>button{width:44px;height:44px}
 .lightbox-stage{grid-template-columns:44px 1fr 44px}
}
@media(prefers-reduced-motion:reduce){.menu-icon:before,.menu-icon:after{transition:none}}
