@font-face{font-family:DM Sans;src:url('./assets/dm-sans.woff2') format('woff2');font-style:normal;font-weight:100 900;font-display:swap}
@font-face{font-family:Libre Caslon Display;src:url('./assets/libre-caslon.woff2') format('woff2');font-style:normal;font-weight:400;font-display:swap}
:root{--forest:#253e35;--deep:#1a3029;--cream:#f6f3eb;--paper:#eeebe2;--ink:#243d34;--muted:#626c61;--line:#d2d5ca;--accent:#d3bd98;--display:'Libre Caslon Display',Georgia,serif;--sans:'DM Sans',Arial,sans-serif;--gutter:clamp(24px,5.3vw,88px)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--cream);color:var(--ink);font:15px/1.65 var(--sans);-webkit-font-smoothing:antialiased}body.modal-open{overflow:hidden}button,input,select,textarea{font:inherit}button,a,input,select,textarea,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit}button{border:0}a{color:inherit;text-decoration:none}img{display:block;width:100%;height:100%;object-fit:cover}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:400}h1,h2{font-family:var(--display);line-height:1.02;letter-spacing:-.025em}h2{font-size:clamp(46px,5vw,76px)}em{font-style:normal;color:#82907b}p{color:var(--muted)}[hidden]{display:none!important}:focus-visible{outline:2px solid #9b6c36;outline-offset:5px}button:focus-visible{outline-offset:6px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.skip-link{position:fixed;top:12px;left:20px;z-index:100;background:var(--cream);padding:12px 20px;transform:translateY(-150%)}.skip-link:focus{transform:none}.section-shell{padding:100px var(--gutter)}.eyebrow{font-size:10px;line-height:1.5;font-weight:600;letter-spacing:1.9px;text-transform:uppercase;color:var(--ink)}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:34px;min-height:50px;padding:15px 23px;background:var(--forest);border:1px solid var(--forest);color:var(--cream);font-size:12px;font-weight:500;line-height:1.5;transition:background .2s,transform .2s}.button>span{font-size:21px;line-height:1}.button:hover{background:#3b5447;transform:translateY(-2px)}.button-cream{background:var(--cream);color:var(--forest);border-color:var(--cream)}.button-cream:hover{background:#e4ddcd}.text-link{display:inline-flex;gap:25px;align-items:center;padding:8px 0;border-bottom:1px solid #a4ae9b;background:transparent;font-size:12px;font-weight:500}.text-link span{font-size:20px;transition:transform .2s}.text-link:hover span{transform:translate(3px,-3px)}
.site-header{position:sticky;top:0;z-index:20;height:100px;padding:0 var(--gutter);display:flex;align-items:center;gap:30px;justify-content:space-between;background:var(--cream);border-bottom:1px solid #253e3512;transition:box-shadow .2s}.site-header.is-scrolled{box-shadow:0 5px 22px #11231c0b}.wordmark{position:relative;display:inline-block;flex-shrink:0;font:40px/.95 var(--display);letter-spacing:1px}.wordmark .inc{font:8px/1 var(--sans);letter-spacing:.5px;display:inline-block;vertical-align:top;margin:5px 0 0 5px}.wordmark small{display:block;font:6.8px/1.5 var(--sans);font-weight:500;letter-spacing:1.45px;margin-top:10px}.desktop-nav{display:flex;gap:29px;margin-left:auto;align-items:center}.desktop-nav a{font-size:12px;padding:9px 0;position:relative}.desktop-nav a:after{content:'';position:absolute;bottom:4px;left:0;width:0;height:1px;background:var(--forest);transition:width .2s}.desktop-nav a:hover:after{width:100%}.header-cta{font-size:11px;min-height:45px;padding:11px 18px;margin-left:15px;gap:28px}.menu-toggle,.mobile-nav{display:none}
.hero{height:min(740px,calc(100svh - 100px));min-height:600px;position:relative;isolation:isolate;overflow:hidden;background:var(--deep);color:var(--cream)}.hero-image{position:absolute;inset:0;z-index:-3;object-position:67% 53%;animation:hero-arrive 1.4s ease-out both}.hero-shade{position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,rgba(9,27,21,.86),rgba(12,29,23,.6) 34%,rgba(12,29,23,.06) 76%),linear-gradient(0deg,#11261d99,transparent 35%)}.hero-content{padding:66px var(--gutter) 80px;position:relative}.hero .eyebrow{color:#f5f1e3;font-size:9px;letter-spacing:2px;display:flex;align-items:center;gap:14px}.short-rule{width:30px;height:1px;background:currentColor}.hero h1{font-size:clamp(100px,10.2vw,158px);line-height:.89;letter-spacing:-.04em;margin:30px 0 26px;max-width:750px}.hero h1 em{color:#e0ddc8}.hero-description{color:#e1e5d8;font-size:13px;line-height:1.7;margin-bottom:30px}.hero .button{min-width:195px}.hero-footer{position:absolute;left:var(--gutter);right:var(--gutter);bottom:26px;display:flex;align-items:center;justify-content:space-between;font-size:9px;letter-spacing:1.7px;color:#f1f1e7}.hero-footer a{display:flex;gap:30px;align-items:center}.hero-footer a span{font-size:20px;letter-spacing:0}.hero-photo-label{position:absolute;right:var(--gutter);bottom:100px;font-size:8px;letter-spacing:1.8px;writing-mode:vertical-rl;color:#f1f1e7}.intro{border-bottom:1px solid var(--line);padding-top:86px;padding-bottom:90px}.intro>.eyebrow{margin-bottom:28px}.intro-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:9%;align-items:start}.intro h2{font-size:clamp(44px,4.1vw,64px)}.intro-grid>div{max-width:430px;margin-left:auto}.intro-grid p{font-size:13px;line-height:1.85;margin-bottom:16px}.intro-grid .text-link{margin-top:8px}
.work{padding-top:94px}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:42px}.section-heading .eyebrow{margin-bottom:23px}.section-heading>p{font-size:13px;line-height:1.8;margin-bottom:4px}.work-toolbar{display:flex;justify-content:space-between;align-items:center;gap:22px;border-bottom:1px solid var(--line);margin-bottom:34px}.filters{display:flex;gap:30px}.filters button{background:transparent;padding:14px 0;font-size:11px;border-bottom:2px solid transparent;position:relative;bottom:-1px;color:var(--muted)}.filters button.active{color:var(--ink);border-color:var(--ink)}.filters button:hover{color:var(--ink)}#work-count{font-size:9px;letter-spacing:1px;text-transform:uppercase;color:var(--muted);white-space:nowrap}.project-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:42px 30px}.project-card{grid-column:span 2;text-align:left;padding:0;background:none;min-width:0}.project-card.project-wide{grid-column:span 3}.project-image{height:360px;position:relative;overflow:hidden;background:var(--paper)}.project-image img{transition:transform .65s cubic-bezier(.2,.6,.2,1)}.project-card:hover .project-image img{transform:scale(1.04)}.photo-open{position:absolute;right:18px;bottom:18px;background:var(--cream);width:44px;height:44px;display:grid;place-items:center;font-size:23px;opacity:0;transform:translateY(6px);transition:opacity .25s,transform .25s}.project-card:hover .photo-open,.project-card:focus-visible .photo-open{opacity:1;transform:none}.project-caption{padding-top:20px;display:flex;justify-content:space-between;align-items:end;gap:12px}.project-caption .eyebrow{font-size:8px;letter-spacing:1.5px;color:var(--muted)}.project-caption h3{font-family:var(--display);font-size:30px;line-height:1.2;margin-top:5px}.project-caption>span{font-size:21px;padding-bottom:3px}.gallery-footnote{font-size:10px;margin-top:36px;color:var(--muted)}
.services{background:var(--forest);color:var(--cream)}.services .eyebrow{color:#e4e8da}.services em{color:#b5c0a8}.services .section-heading>p{color:#d1d8c9}.service-columns{display:grid;grid-template-columns:1fr 1fr;margin-top:54px}.service-column{padding:40px 14% 12px 0;border-top:1px solid #84917e70}.service-column+ .service-column{padding-left:14%;padding-right:0;border-left:1px solid #84917e70}.service-index{font-size:9px;letter-spacing:1.8px;color:#c0c9b8}.service-column h3{font-family:var(--display);font-size:clamp(55px,5.3vw,78px);line-height:1;letter-spacing:-.02em;margin:26px 0}.service-column>p{font-size:13px;color:#cdd5c5;max-width:340px;line-height:1.85}.service-column ul{list-style:none;padding:0;margin:29px 0 28px;max-width:400px}.service-column li{padding:12px 0;border-bottom:1px solid #83917c55;font-size:12px;color:#e7e9df}.services .text-link{border-color:#84917e;color:var(--cream)}.designer-note{margin-top:60px;padding-top:26px;border-top:1px solid #84917e70;display:flex;align-items:center;justify-content:space-between;gap:25px}.designer-note p{font-size:12px;color:#e4e9db}.designer-note p span{color:#b8c4af;margin-left:7px}.designer-note .text-link{font-size:11px}
.approach{display:grid;grid-template-columns:1fr 1fr}.approach-image{position:relative;min-height:700px;overflow:hidden}.approach-image img{object-position:47% center}.approach-image:after{content:'';position:absolute;inset:70% 0 0;background:linear-gradient(transparent,#15271d66)}.image-stamp{position:absolute;z-index:1;bottom:42px;left:var(--gutter);font:36px/1 var(--display);letter-spacing:1px;color:white}.image-stamp small{display:block;font:8px var(--sans);letter-spacing:1.6px;margin-top:10px}.approach-copy{padding:82px clamp(30px,5.5vw,88px);background:var(--paper)}.approach-copy>.eyebrow{margin-bottom:25px}.approach-copy h2{font-size:clamp(50px,4.7vw,70px)}.approach-intro{font-size:12px;line-height:1.85;margin-top:24px}.steps{list-style:none;margin:30px 0 20px;padding:0}.steps li{display:flex;gap:20px;border-top:1px solid #c7cdbf;padding:20px 0}.steps li>span{font-size:9px;color:#75816f;padding-top:5px}.steps h3{font-size:13px;font-weight:500;margin-bottom:6px}.steps p{font-size:11px;line-height:1.8}.questions{display:grid;grid-template-columns:1fr 1.1fr;gap:9%;padding-top:90px;padding-bottom:90px}.questions h2{font-size:clamp(43px,4vw,60px)}.questions .eyebrow{margin-bottom:24px}.faq-list details{border-bottom:1px solid var(--line)}.faq-list details:first-child{border-top:1px solid var(--line)}.faq-list summary{display:flex;align-items:center;justify-content:space-between;gap:20px;list-style:none;cursor:pointer;font-size:12px;padding:21px 0}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary>span{font-size:22px;color:#6e7c64;line-height:1;transition:transform .2s}.faq-list details[open] summary>span{transform:rotate(45deg)}.faq-list details p{font-size:12px;padding:0 30px 23px 0;line-height:1.85}.faq-list details a{text-decoration:underline;text-underline-offset:3px}
.contact{background:var(--forest);color:var(--cream);padding-top:78px;padding-bottom:88px}.contact>.eyebrow{color:#cbd4c1}.contact-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:9%;margin-top:28px;align-items:end}.contact h2{font-size:clamp(70px,7.5vw,114px);line-height:.98}.contact h2 em{color:#b9c4aa}.contact .button{margin-top:34px;min-width:200px}.contact-details{padding-bottom:3px}.contact-details>p{color:#cbd4c1;font-size:13px;line-height:1.8;margin-bottom:23px}.contact-details>a{display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:13px;padding:9px 0;border-bottom:1px solid #7f8b7566}.contact-details>a:hover{color:#cedabf}.contact-details>a.contact-phone{font:32px var(--display);padding-bottom:12px}.contact-address{font-size:11px;color:#cbd4c1;margin-top:25px;line-height:1.8}.contact-address a{display:block;margin-top:10px;color:var(--cream)}.contact-address a span{margin-left:20px}.site-footer{padding:46px var(--gutter) 24px}.footer-main{display:flex;align-items:center;justify-content:space-between;gap:35px;padding-bottom:36px}.footer-main>.wordmark{font-size:38px}.footer-main>p{font-size:11px;line-height:1.7;margin-left:auto;margin-right:10%}.back-top{font-size:10px;display:flex;align-items:center;gap:22px}.back-top span{font-size:22px}.footer-bottom{border-top:1px solid var(--line);padding-top:21px;display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:9px;color:var(--muted)}.footer-bottom>div{display:flex;gap:24px}.footer-bottom button{background:none;padding:5px 0;font-size:inherit;color:inherit}.footer-bottom>span{font-size:8px;letter-spacing:1.3px}
dialog{padding:0;border:0;background:var(--cream);color:var(--ink);max-height:90dvh;width:min(720px,calc(100% - 40px));overflow:auto;box-shadow:0 30px 100px #091d2566;overscroll-behavior:contain}dialog::backdrop{background:rgba(10,25,18,.72);backdrop-filter:blur(5px)}.dialog-close{position:sticky;float:right;right:14px;top:14px;margin:14px 14px -58px 0;z-index:3;width:42px;height:42px;border-radius:50%;background:var(--cream);font:29px/1 var(--sans);box-shadow:0 0 0 1px #253e351a;display:grid;place-items:center}.dialog-close:hover{background:#dce3d1}.inquiry-content{padding:48px 52px}.inquiry-content>.eyebrow{margin-bottom:20px}.inquiry-content h2{font-size:58px}.form-intro{font-size:13px;margin:20px 0 26px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px 20px}label{display:block;font-size:11px;font-weight:500}label>span{font-weight:400;color:var(--muted)}label.full-width{grid-column:1/-1}input,select,textarea{display:block;min-width:0;width:100%;border:1px solid #b9c4b3;background:#faf8f2;color:var(--ink);border-radius:0;margin-top:7px;padding:12px;font-size:13px;line-height:1.5}input::placeholder,textarea::placeholder{color:#778071;opacity:1}textarea{resize:vertical;min-height:110px;max-height:350px}input:user-invalid,select:user-invalid,textarea:user-invalid{border-color:#a54132}.form-note{font-size:10px;line-height:1.8;margin:18px 0}.form-note a,.form-alternative a,.privacy-dialog a{text-decoration:underline;text-underline-offset:3px}.form-submit{width:100%;justify-content:space-between}.form-alternative{text-align:center;font-size:10px;margin-top:17px}#summary-title{font:35px/1.15 var(--display);margin:25px 0 15px}#project-summary>p{font-size:12px}#summary-text{background:var(--paper);border:1px solid var(--line);padding:20px;font:12px/1.8 var(--sans);white-space:pre-wrap;overflow-wrap:anywhere;max-height:290px;overflow:auto;margin:22px 0}.summary-tools{display:flex;justify-content:space-between;gap:20px;margin:15px 0}#copy-status{min-height:22px;color:var(--forest)}#email-project{width:100%}.privacy-dialog p:not(.eyebrow){font-size:13px;line-height:1.8;margin-top:20px}.gallery-dialog{width:min(1080px,calc(100% - 40px));background:var(--cream)}.gallery-stage{height:min(60vh,650px);position:relative;background:#182a22}.gallery-stage img{object-fit:contain}.gallery-arrow{position:absolute;top:50%;transform:translateY(-50%);background:var(--cream);height:44px;width:44px;border-radius:50%;font-size:22px}.gallery-arrow.prev{left:20px}.gallery-arrow.next{right:20px}.gallery-body{padding:30px 40px 36px}.gallery-meta{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:15px}.gallery-meta .eyebrow,#gallery-position{font-size:9px}#gallery-title{font-size:44px}#gallery-description{font-size:12px;line-height:1.85;max-width:720px;margin:16px 0 12px}.noscript-note{padding:20px var(--gutter);background:var(--paper);font-size:12px}.noscript-note a{text-decoration:underline}
.motion-ready .reveal{opacity:0;transform:translateY(18px);transition:opacity .65s ease,transform .65s ease}.motion-ready .reveal.is-visible{opacity:1;transform:none}@keyframes hero-arrive{from{transform:scale(1.025)}to{transform:scale(1)}}
@media(min-width:1600px){.section-shell,.site-header,.site-footer{padding-left:max(var(--gutter),calc((100vw - 1440px)/2));padding-right:max(var(--gutter),calc((100vw - 1440px)/2))}.hero-content{padding-left:max(var(--gutter),calc((100vw - 1440px)/2))}.hero-footer{left:max(var(--gutter),calc((100vw - 1440px)/2));right:max(var(--gutter),calc((100vw - 1440px)/2))}.project-image{height:410px}}
@media(max-width:1100px){.site-header{gap:20px}.desktop-nav{gap:20px}.desktop-nav a{font-size:11px}.wordmark{font-size:34px}.wordmark small{font-size:6px;letter-spacing:1.2px}.header-cta{margin-left:0;gap:20px;padding:11px 14px}.project-image{height:300px}.approach-copy{padding:65px 40px}.approach-image{min-height:650px}.intro-grid{gap:7%}.intro h2{font-size:49px}.contact-grid{gap:7%}}
@media(max-width:900px){html{scroll-padding-top:88px}.site-header{height:84px}.desktop-nav{display:none}.header-cta{margin-left:auto}.menu-toggle{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:6px;min-width:42px;height:44px;background:transparent;padding:10px}.menu-toggle span{display:block;width:22px;height:1px;background:var(--forest);transition:transform .2s}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(3.5px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-3.5px) rotate(-45deg)}.mobile-nav{display:flex;flex-direction:column;position:absolute;left:0;right:0;top:100%;padding:24px var(--gutter) 30px;background:var(--cream);box-shadow:0 18px 22px #162d221a;max-height:calc(100dvh - 84px);overflow:auto}.mobile-nav>a{display:flex;justify-content:space-between;padding:16px 0;border-bottom:1px solid var(--line);font:30px var(--display)}.mobile-nav>a>span{font:10px var(--sans);color:var(--muted);align-self:center}.mobile-nav .button{margin-top:22px}.mobile-nav>a.menu-phone{font:12px var(--sans);justify-content:center;border:0;padding-bottom:0}.hero{height:680px;min-height:600px}.hero h1{font-size:120px}.hero-content{padding-top:62px}.hero-shade{background:linear-gradient(90deg,#091b15d9,#0c1d177a 55%,#0c1d171a),linear-gradient(0deg,#11261d99,transparent 35%)}.section-shell{padding-top:72px;padding-bottom:72px}.intro-grid{grid-template-columns:1fr;gap:25px}.intro-grid>div{margin:0;max-width:560px}.intro h2{font-size:55px}.project-grid{gap:34px 22px}.project-image{height:270px}.project-caption h3{font-size:27px}.service-column{padding-right:10%}.service-column+.service-column{padding-left:10%}.approach-copy{padding:60px 30px}.approach-copy h2{font-size:52px}.questions{gap:6%}.questions h2{font-size:44px}.contact-grid{grid-template-columns:1.2fr 1fr;gap:7%}.contact h2{font-size:77px}.contact-details>a{font-size:11px}.contact-details>a.contact-phone{font-size:29px}.footer-main>p{margin-right:0}.footer-bottom>span{display:none}}
@media(max-width:600px){:root{--gutter:24px}html{scroll-padding-top:78px}.site-header{height:76px;gap:12px}.wordmark{font-size:31px;letter-spacing:.7px}.wordmark .inc{font-size:6px;margin:4px 0 0 3px}.wordmark small{font-size:5.3px;letter-spacing:1px;margin-top:7px}.header-cta{font-size:10px;min-height:38px;padding:9px 11px;gap:14px}.header-cta span{font-size:18px}.menu-toggle{min-width:30px;width:30px;padding:4px}.mobile-nav{max-height:calc(100dvh - 76px)}.hero{height:calc(100svh - 76px);min-height:590px;max-height:750px}.hero-content{padding-top:55px}.hero h1{font-size:clamp(90px,23vw,135px);margin-top:34px;margin-bottom:24px}.hero .eyebrow{font-size:8px;letter-spacing:1.7px}.hero-description{font-size:12px;max-width:290px}.hero-image{object-position:60% center}.hero-shade{background:linear-gradient(90deg,#102b20db,#102b2070 85%),linear-gradient(0deg,#11261d99,transparent 30%)}.hero-footer{bottom:22px;font-size:7px;letter-spacing:1.15px;gap:15px}.hero-footer a{gap:12px}.hero-photo-label{display:none}.hero .button{font-size:11px}.section-shell{padding-top:60px;padding-bottom:60px}.eyebrow{font-size:8px;letter-spacing:1.6px}.intro>.eyebrow{margin-bottom:22px}.intro h2{font-size:43px;line-height:1.08}.intro-grid{gap:24px}.intro-grid p{font-size:12px}.text-link{font-size:11px}.section-heading{display:block;margin-bottom:26px}.section-heading h2{font-size:57px}.section-heading .eyebrow{margin-bottom:20px}.section-heading>p{font-size:12px;margin-top:23px}.work-toolbar{gap:10px;margin-bottom:24px}.filters{gap:20px;overflow-x:auto}.filters button{font-size:10px;white-space:nowrap;padding:12px 0}#work-count{display:none}.project-grid{display:flex;flex-direction:column;gap:30px}.project-image{height:auto;aspect-ratio:1.27}.project-caption{padding-top:15px}.project-caption h3{font-size:28px}.project-caption .eyebrow{font-size:7px}.project-caption>span{font-size:20px}.photo-open{width:36px;height:36px;right:12px;bottom:12px;opacity:1;transform:none;font-size:20px}.gallery-footnote{font-size:9px;margin-top:30px}.service-columns{grid-template-columns:1fr;margin-top:32px}.service-column{padding:30px 0 38px}.service-column+.service-column{border-left:0;padding:30px 0 0}.service-index{font-size:8px}.service-column h3{font-size:65px;margin:22px 0}.service-column>p{font-size:12px}.service-column ul{margin:22px 0}.service-column li{font-size:11px}.designer-note{margin-top:38px;display:block;padding-top:23px}.designer-note p{font-size:11px}.designer-note p span{display:block;margin:5px 0 0}.designer-note .text-link{margin-top:12px}.approach{grid-template-columns:1fr}.approach-image{min-height:0;height:440px}.image-stamp{font-size:32px;bottom:28px}.image-stamp small{font-size:7px}.approach-copy{padding:55px 24px}.approach-copy h2{font-size:56px}.approach-intro{font-size:12px}.steps h3{font-size:12px}.steps p{font-size:11px}.steps li{padding:20px 0}.questions{grid-template-columns:1fr;gap:30px}.questions h2{font-size:48px}.faq-list summary{font-size:12px;padding:21px 0;line-height:1.5}.faq-list details p{font-size:11px}.contact-grid{grid-template-columns:1fr;gap:42px}.contact h2{font-size:clamp(65px,16.8vw,98px)}.contact .button{margin-top:28px;min-width:210px}.contact-details>p{font-size:12px;margin-bottom:18px}.contact-details>a{font-size:13px}.contact-details>a.contact-phone{font-size:34px}.contact-address{font-size:11px}.site-footer{padding-top:36px;padding-bottom:22px}.footer-main{flex-wrap:wrap;gap:24px;padding-bottom:30px}.footer-main>.wordmark{font-size:36px}.footer-main>p{margin:0;font-size:10px;width:60%}.back-top{margin-left:auto;font-size:9px;gap:12px}.footer-bottom{font-size:9px;gap:12px}.footer-bottom>div{gap:16px}dialog{width:calc(100% - 20px);max-height:94dvh}.inquiry-content{padding:45px 24px 30px}.inquiry-content h2{font-size:49px}.form-grid{grid-template-columns:1fr;gap:15px}.form-intro{font-size:12px}input,select,textarea{font-size:16px;padding:11px}label{font-size:11px}.form-note{font-size:10px}.gallery-dialog{width:calc(100% - 20px)}.gallery-stage{height:40vh}.gallery-body{padding:25px 23px 30px}.gallery-meta{gap:10px}.gallery-meta .eyebrow,#gallery-position{font-size:8px}#gallery-title{font-size:38px}.gallery-arrow{width:36px;height:36px;font-size:19px}.gallery-arrow.prev{left:12px}.gallery-arrow.next{right:12px}.dialog-close{width:38px;height:38px;font-size:25px}.privacy-dialog p:not(.eyebrow){font-size:12px}}
@media(max-width:370px){.header-cta{display:none}.menu-toggle{margin-left:auto}.hero h1{font-size:89px}.hero-footer{font-size:6px}.hero-footer a{gap:7px}.intro h2{font-size:39px}.contact h2{font-size:65px}.filters{gap:16px}}
.services :focus-visible,.contact :focus-visible,.hero :focus-visible{outline-color:var(--cream)}
.contact-details .contact-person{color:var(--cream);margin-bottom:15px}.contact-person strong{display:block;font-size:16px;font-weight:500}.contact-person span{display:block;font-size:10px;letter-spacing:1.2px;text-transform:uppercase;color:#cbd4c1;margin-top:2px}
@media(max-width:600px){.header-cta{white-space:nowrap;flex-shrink:0;font-size:10px}.header-cta>span{display:none}.filters{overflow-y:hidden}}

/* The image grid follows the source orientation; full views remain uncropped. */
.hero-image{left:0;width:100%;object-position:center 58%}
.hero-shade{background:linear-gradient(90deg,#10271ee8,#10271e8c 40%,#10271e12 78%),linear-gradient(0deg,#11261d8c,transparent 30%)}
.hero-content{width:55%}
.hero h1{font-size:clamp(100px,9.4vw,150px)}
.hero-photo-label{right:30px;text-shadow:0 1px 8px #102b20}
.project-card[data-shape="portrait"] .project-image{height:auto;aspect-ratio:3/4}
.project-card[data-shape="landscape"] .project-image{height:auto;aspect-ratio:4/3}
.project-caption h3{font-size:clamp(25px,2.3vw,34px)}
.approach-image img{object-position:center}
@media(min-width:901px){
  .gallery-dialog[open]{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr);overflow:hidden}
  .gallery-dialog .dialog-close{position:absolute;margin:0;right:14px;top:14px}
  .gallery-stage{height:min(82dvh,820px)}
  .gallery-body{display:flex;flex-direction:column;justify-content:center;padding:60px 34px 40px;overflow:auto}
  .gallery-meta{align-items:start;line-height:1.8}
  #gallery-position{white-space:nowrap}
  #gallery-inquire{align-self:start;margin-top:16px}
}
@media(min-width:601px) and (max-width:900px){
  .hero-content{width:62%}
  .hero h1{font-size:clamp(95px,13.5vw,120px)}
  .project-card{grid-column:span 3}
}
@media(max-width:600px){
  .hero-image{left:0;width:100%;object-position:54% center}
  .hero-content{width:100%}
  .hero h1{font-size:clamp(90px,23vw,135px)}
  .hero-shade{background:linear-gradient(90deg,#102b20d9,#102b2080 76%,#102b2066),linear-gradient(0deg,#11261dcc,transparent 35%)}
  .hero-photo-label{display:block;writing-mode:horizontal-tb;left:var(--gutter);right:auto;bottom:70px;font-size:7px;letter-spacing:1.4px}
  .project-caption h3{font-size:29px}
  .approach-image{height:auto;aspect-ratio:3/4}
  .gallery-stage{height:55dvh}
}

@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.motion-ready .reveal{opacity:1;transform:none}}

.contact-estimating{margin-top:25px;padding-top:20px;border-top:1px solid #7f8b7566}.contact-estimating p{font-size:8px;letter-spacing:1.3px;text-transform:uppercase;color:#cbd4c1}.contact-estimating strong{display:block;font-weight:500;font-size:15px;margin-top:7px}.contact-estimating strong span{display:block;font-size:10px;font-weight:400;color:#cbd4c1;margin-top:2px}.contact-estimating a{display:flex;justify-content:space-between;gap:15px;font-size:12px;margin-top:10px;overflow-wrap:anywhere}
