:root{--ink:#232722;--muted:#666b63;--paper:#f7f7f2;--line:#d6d8cf;--accent:#c4c5ac}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.65 Arial,Helvetica,sans-serif}button,input,select,textarea{font:inherit}a{color:inherit;text-decoration:none}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a:focus-visible,button:focus-visible{outline:3px solid #8a936d;outline-offset:5px}[hidden]{display:none!important}.preview{background:var(--ink);color:#e1e4d6;padding:7px 4.7%;display:flex;justify-content:space-between;font-size:12px;letter-spacing:1.1px}.preview span{letter-spacing:.3px;color:#c4c8bd}header{height:94px;display:flex;align-items:center;justify-content:space-between;padding:0 4.7%;position:sticky;top:0;background:rgba(247,247,242,.97);z-index:20;border-bottom:1px solid var(--line)}.brand{display:flex;flex-direction:column;line-height:1.2;flex-shrink:0}.brand b{font-size:28px;letter-spacing:3px}.brand b span{font-weight:normal;color:#8a927c}.brand small{font-size:11px;letter-spacing:3px;margin-top:7px}nav{display:flex;gap:32px;align-items:center;font-size:14px}nav a:not(.nav-cta){padding:8px 0;border-bottom:1px solid transparent}nav a.active{border-color:var(--ink)}.nav-cta{border:1px solid var(--ink);padding:12px 19px}.menu{display:none}.hero{height:min(760px,80vh);min-height:570px;position:relative;color:white}.hero>img{position:absolute;width:100%;height:100%;object-fit:cover}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(16,23,18,.77),rgba(16,23,18,.08)),linear-gradient(0deg,rgba(16,23,18,.35),transparent 40%)}.hero-copy{position:relative;padding:80px 7%;max-width:900px}.eyebrow{font-size:12px;letter-spacing:2px;font-weight:600;margin:0 0 22px}h1,h2,h3,p{margin-top:0}h1,h2{font-family:Georgia,'Times New Roman',serif;font-weight:400;line-height:1.08;letter-spacing:-1.5px}h1{font-size:clamp(44px,5.2vw,78px);margin-bottom:25px}h2{font-size:clamp(35px,3.7vw,54px);margin-bottom:20px}h3{font-weight:400;font-size:24px;line-height:1.3}.hero-copy>p:not(.eyebrow){max-width:410px;color:#ebeee5;font-size:18px}.actions{display:flex;gap:14px;margin-top:36px}.button{display:inline-block;border:1px solid transparent;border-radius:0;padding:15px 24px;font-size:14px;font-weight:600;text-align:center;transition:background .2s,transform .2s}.button:hover{transform:translateY(-2px)}.light{background:var(--paper);color:var(--ink)}.light:hover{background:#dedfcc}.outline{border-color:#c9cec1;color:white;background:transparent}.outline:hover{background:#ffffff18}.dark{background:var(--ink);color:white}.hero-bottom{position:absolute;bottom:25px;left:7%;right:7%;display:flex;justify-content:space-between;font-size:12px;letter-spacing:1px}.section{padding:90px 7%}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:40px;margin-bottom:38px}.section-heading h2{margin:0}.section-heading>p{max-width:360px;color:var(--muted);margin-bottom:0}.text-link{border-bottom:1px solid var(--ink);padding-bottom:5px;font-size:14px;white-space:nowrap}.featured-grid,.project-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:30px}.project-card{border:0;padding:0;background:none;text-align:left;color:var(--ink);width:100%}.image-wrap{position:relative;overflow:hidden;background:#d0d3c8;aspect-ratio:1.45}.image-wrap img{width:100%;height:100%;object-fit:cover;transition:transform .65s}.project-card:hover img{transform:scale(1.035)}.image-wrap>span{position:absolute;left:16px;top:16px;font-size:11px;letter-spacing:1px;background:#f7f7f2e8;padding:5px 9px}.card-bottom{padding-top:17px;display:flex;justify-content:space-between;align-items:start;gap:10px}.card-bottom h3{margin:0 0 5px;font-size:24px;font-family:Georgia,serif}.card-bottom p{font-size:13px;color:var(--muted);margin:0}.card-open{font-size:12px;border-bottom:1px solid var(--line);white-space:nowrap;padding-top:3px}.services{background:#e9ebe3}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:40px}.service-grid article{border-top:1px solid #b6bdad;padding-top:25px}.number{display:block;color:#7f8975;margin-bottom:26px;font-size:14px}.service-grid p{color:#5a6356}.service-grid ul{padding-left:18px;font-size:14px;line-height:2;margin:24px 0}.service-grid a{display:inline-block;border-bottom:1px solid var(--ink);font-size:14px}.about{display:grid;grid-template-columns:1fr 1fr;gap:80px}.large-text{font-family:Georgia,serif;font-size:28px;line-height:1.35}.quiet{font-size:13px;color:var(--muted)}.stats{padding-top:20px}.stats-top{border-top:1px solid var(--line);padding-top:24px;display:flex;justify-content:space-between;gap:15px}.stats-top span{font-size:12px;color:var(--muted)}.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);padding-top:10px}.stat-grid>div{border-right:1px solid var(--line);padding-left:30px}.stat-grid>div:first-child{padding-left:0}.stat-grid>div:last-child{border:0}.stat-grid strong{font-family:Georgia,serif;font-size:65px;font-weight:400;line-height:1.2;display:block}.stat-grid span{font-size:14px;color:var(--muted)}.highlight{display:grid;grid-template-columns:1.2fr 1fr;background:var(--ink);color:var(--paper)}.highlight>img{width:100%;height:100%;min-height:470px;object-fit:cover}.highlight>div{padding:65px 14% 65px 12%}.highlight p:not(.eyebrow){color:#c4cbbd}.team-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}.team-monogram{height:180px;display:flex;align-items:center;justify-content:center;background:#e6e8df;font:60px Georgia,serif;color:#8e9984;border-top:1px solid #cbd0c2}.team-grid h3{font-size:22px;margin:18px 0 5px}.team-grid p{font-size:14px;color:var(--muted)}.partners{margin-top:70px;border-top:1px solid var(--line);padding-top:28px}.partners>div{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;color:#7d8377;font-size:14px;letter-spacing:2px}.inquiry{background:var(--ink);color:var(--paper);display:grid;grid-template-columns:1fr 1.15fr;gap:90px}.inquiry>div>p:not(.eyebrow){max-width:390px;color:#bbc3b3}.next{margin-top:35px;padding-top:25px;border-top:1px solid #4b5544}.next p{color:#bbc3b3;font-size:14px;max-width:340px}.inquiry .quiet{font-size:12px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}label{display:block;font-size:14px;margin-bottom:20px}label>span{color:#abb3a3;font-size:12px}input,select,textarea{display:block;width:100%;margin-top:8px;background:#30372c;color:#f0f2e9;border:1px solid #59604f;border-radius:0;padding:13px;font-size:16px}input::placeholder,textarea::placeholder{color:#b5bbac;font-size:14px}input:focus,select:focus,textarea:focus{outline:2px solid #c4c5ac;outline-offset:2px}textarea{resize:vertical}#form-status{margin-top:20px;color:#e4e9d6;font-size:14px}footer{display:flex;gap:30px;align-items:center;justify-content:space-between;padding:45px 7%;font-size:13px;border-top:1px solid var(--line)}footer p{margin:0}footer>span{color:var(--muted);font-size:12px}.projects-intro{padding-top:65px}.projects-intro>p:not(.eyebrow){max-width:560px;color:var(--muted)}.projects-intro h1{font-size:64px}.filters{display:flex;flex-wrap:wrap;gap:10px;margin:40px 0 15px}.filters button{background:transparent;border:1px solid #c7cbbf;padding:12px 20px;color:var(--ink);font-size:14px}.filters button.active{background:var(--ink);color:white;border-color:var(--ink)}.project-grid{grid-template-columns:1fr 1fr;row-gap:45px;margin-top:30px}.project-cta{text-align:center;background:#e9ebe3}.project-cta .button{margin-top:12px}dialog{border:0;padding:0;background:var(--paper);color:var(--ink);max-width:900px;width:90vw;max-height:90vh;overflow:auto}dialog::backdrop{background:#131a15bd;backdrop-filter:blur(5px)}dialog>img{width:100%;height:330px;object-fit:cover;display:block}.close{position:absolute;top:16px;right:16px;z-index:1;background:var(--paper);border:0;padding:10px 16px;font-size:14px}.dialog-body{padding:35px 45px}.dialog-body h2{font-size:40px}.detail-facts{display:grid;grid-template-columns:1fr 1fr;gap:25px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:20px 0;margin:25px 0}.detail-facts b,.detail-facts span{display:block;font-size:14px}.detail-facts span{color:var(--muted);margin-top:5px}.reveal{transition:opacity .7s,transform .7s}.js-motion .reveal{opacity:0;transform:translateY(18px)}.js-motion .reveal.visible{opacity:1;transform:none}body.modal-open{overflow:hidden}@media(min-width:1100px){.featured-grid .project-card:nth-child(2){padding-top:70px}}@media(max-width:950px){nav{gap:17px}.section{padding:65px 5%}.hero-copy{padding:70px 5%}.about,.inquiry{gap:40px}.service-grid{gap:22px}.highlight>div{padding:45px 9%}.highlight h2{font-size:38px}footer{flex-wrap:wrap}.section-heading>p{max-width:300px}}@media(max-width:700px){.preview{font-size:10px;padding:6px 5%}.preview span{max-width:205px;text-align:right;font-size:10px}.brand b{font-size:23px}.brand small{font-size:10px}header{height:78px;padding:0 5%}.menu{display:block;background:none;border:1px solid var(--line);padding:9px 14px;font-size:14px}nav{display:none;position:absolute;left:0;right:0;top:78px;background:var(--paper);padding:25px;flex-direction:column;align-items:stretch;border-bottom:1px solid var(--line)}nav.open{display:flex}.hero{height:660px;min-height:0}.hero>img{object-position:65%}.hero-shade{background:linear-gradient(90deg,#151e18d9,#151e1860)}.hero-copy{padding:70px 6%}.hero h1{font-size:46px}.hero-copy>.eyebrow{font-size:10px;letter-spacing:1.5px}.hero-copy>p:not(.eyebrow){font-size:16px}.actions{flex-direction:column;align-items:start;gap:12px}.hero-bottom{left:6%;right:6%;font-size:10px;gap:20px}.section-heading{display:block}.section-heading>p{margin-top:24px}.section-heading .text-link{display:inline-block;margin-top:22px}.featured-grid,.project-grid,.service-grid,.about,.highlight,.inquiry{grid-template-columns:1fr}.featured-grid{gap:35px}.service-grid{gap:40px}.service-grid h3 br{display:none}.about{gap:18px}.stats-top{display:block}.stat-grid{grid-template-columns:1fr 1fr;gap:30px;margin-top:25px}.stat-grid>div{padding-left:0!important;border:0}.stat-grid strong{font-size:50px}.highlight>img{min-height:0;height:330px}.highlight>div{padding:45px 6%}.team-grid{grid-template-columns:1fr;gap:25px}.team-monogram{height:130px;justify-content:start;padding-left:35px}.partners>div{display:grid;grid-template-columns:1fr 1fr;font-size:11px;letter-spacing:1px}.form-row{grid-template-columns:1fr;gap:0}.inquiry{gap:35px}.projects-intro h1{font-size:46px}.filters{gap:8px}.filters button{font-size:13px;padding:10px 12px}footer{padding:35px 5%;display:grid;gap:18px}dialog>img{height:240px}.dialog-body{padding:25px}.dialog-body h2{font-size:32px}.detail-facts{grid-template-columns:1fr}.card-bottom{display:block}.card-open{display:inline-block;margin-top:10px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}.js-motion .reveal{opacity:1;transform:none}}

/* Refinement: aligned imagery, sample identities and restrained motion. */
.featured-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}
.featured-grid .project-card:nth-child(2){padding-top:0}
.featured-grid .image-wrap,.project-grid .image-wrap{aspect-ratio:3/2}
.card-bottom{min-height:85px}.project-card{min-width:0}
.brand{flex-direction:row;align-items:center;gap:13px}.brand-mark{width:43px;height:43px;color:#69735e;flex-shrink:0}.brand-wordmark{display:flex;flex-direction:column;gap:6px}.brand small{margin-top:0}
.team-photo{aspect-ratio:4/3;position:relative;overflow:hidden;background:#e6e8df}
.team-photo img{width:100%;height:100%;display:block;object-fit:cover;filter:saturate(.62);transition:transform .8s cubic-bezier(.2,.65,.25,1),filter .5s}
.team-grid article:hover img{transform:scale(1.035);filter:saturate(.85)}
.team-photo span{position:absolute;bottom:13px;left:13px;background:#f7f7f2e8;font-size:10px;letter-spacing:1.2px;padding:4px 8px}
.partners>.logo-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}
.partner-logo{padding:17px 8px 12px;border:1px solid var(--line);background:#eff0e9;text-align:center;transition:background .35s,transform .35s}
.partner-logo:hover{background:#e5e8dc;transform:translateY(-3px)}
.partner-logo img{width:100%;height:72px;display:block;object-fit:contain}.partner-logo span{display:block;font-size:10px;letter-spacing:1px;color:#7a8370}.logo-note{margin:15px 0 0}
.developer-credit{padding:17px 7%;border-top:1px solid var(--line);font-size:12px;color:var(--muted);display:flex;align-items:center;gap:5px}.developer-credit strong{font-weight:500;color:var(--ink)}.developer-credit>span{margin-left:auto;font-size:11px}
.scroll-progress{position:fixed;top:0;left:0;height:2px;width:100%;transform:scaleX(0);transform-origin:left;background:#a8b794;z-index:50;pointer-events:none}
.button{position:relative;overflow:hidden;transition:background .25s,transform .25s,box-shadow .25s}.button:hover{box-shadow:0 7px 18px #00000012}
.text-link,.service-grid a,nav a:not(.nav-cta){position:relative}.text-link::after,.service-grid a::after{content:'';position:absolute;bottom:-1px;left:0;right:0;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .3s}.text-link:hover::after,.service-grid a:hover::after{transform:scaleX(1)}
.reveal{transition:opacity .75s cubic-bezier(.2,.65,.25,1),transform .75s cubic-bezier(.2,.65,.25,1);transition-delay:var(--reveal-delay,0ms)}
.hero-copy>*{animation:heroEnter .9s cubic-bezier(.2,.65,.25,1) both}.hero-copy>.eyebrow{animation-delay:.05s}.hero-copy>h1{animation-delay:.15s}.hero-copy>p:not(.eyebrow){animation-delay:.25s}.hero-copy>.actions{animation-delay:.35s}
@keyframes heroEnter{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}
dialog[open]{animation:dialogEnter .28s ease-out}dialog[open]::backdrop{animation:backdropEnter .28s ease-out}
@keyframes dialogEnter{from{opacity:0;transform:translateY(12px) scale(.985)}to{opacity:1;transform:none}}@keyframes backdropEnter{from{opacity:0}to{opacity:1}}
.project-grid .project-card{animation:heroEnter .45s ease-out both;animation-delay:var(--reveal-delay,0ms)}
header{transition:box-shadow .3s}header.scrolled{box-shadow:0 3px 18px #1822140c}
@media(max-width:950px){.partners>.logo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.brand-mark{width:34px;height:34px}.brand{gap:9px}}
@media(max-width:700px){.featured-grid{grid-template-columns:1fr}.team-photo{aspect-ratio:3/2}.team-monogram{display:none}.developer-credit{padding:17px 5%;flex-wrap:wrap}.developer-credit>span{width:100%;margin-left:0}.partner-logo{padding:9px 5px}.partner-logo img{height:60px}.brand-wordmark{gap:5px}.brand-mark{width:32px;height:32px}.card-bottom{min-height:0}}
@media(prefers-reduced-motion:reduce){.hero-copy>*,dialog[open],dialog[open]::backdrop,.project-grid .project-card{animation:none!important}.scroll-progress{display:none}}

/* Responsive loading and comfortable touch targets. */
img{max-width:100%}.hero>img{height:100%}.highlight>img{height:100%}
.team-photo img{height:100%}.image-wrap img{height:100%}
@media(max-width:700px){.hero{height:auto;min-height:660px}.hero-copy{padding-bottom:115px}.hero h1{font-size:clamp(36px,11.8vw,46px)}.hero-bottom{bottom:22px}.menu,.filters button,.close{min-height:44px}.card-open{padding:12px 0}.highlight>img{height:330px}.projects-intro h1{font-size:clamp(36px,11vw,46px)}.brand small{letter-spacing:2px}.team-photo span{font-size:11px}}
@media(max-width:359px){.section{padding-left:6%;padding-right:6%}.preview span{max-width:170px}.hero-copy>.eyebrow{font-size:10px;letter-spacing:.6px}.partners>.logo-grid{gap:10px}.partner-logo img{height:50px}}
