*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--white: #f2f1ee;--grey-lt: #e4e3de;--grey-mid: #9a9890;--grey-dk: #4a4945;--black: #181817;--concrete: #d0cec8;--olive: #6e8c1a;--olive-lt: #8aaa22;--line: rgba(24,24,23,.14);--line-rev: rgba(242,241,238,.12);--cond: "Barlow Condensed", sans-serif;--body: "Barlow", sans-serif;--mono: "IBM Plex Mono", monospace}html{scroll-behavior:smooth}body{font-family:var(--body);background:var(--white);color:var(--black);font-size:15px;line-height:1.6;-webkit-font-smoothing:antialiased}.nav{position:fixed;top:0;left:0;right:0;z-index:100;height:56px;display:flex;align-items:stretch;background:var(--black);border-bottom:2px solid var(--olive)}.nav-logo{display:flex;align-items:center;padding:0 28px;font-family:var(--cond);font-size:15px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;text-decoration:none;color:var(--white);border-right:1px solid var(--line-rev);white-space:nowrap}.nav-logo span{color:var(--olive);font-weight:400}.nav-links{display:flex;align-items:stretch;list-style:none;margin-left:auto}.nav-links li{display:flex}.nav-links a{display:flex;align-items:center;padding:0 20px;font-family:var(--mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;text-decoration:none;color:var(--grey-mid);border-left:1px solid var(--line-rev);transition:color .15s,background .15s}.nav-links a:hover{color:var(--white);background:#6e8c1a26}.nav-cta{display:flex;align-items:center;padding:0 24px;font-family:var(--mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;text-decoration:none;color:var(--white);background:var(--olive);border-left:1px solid var(--line-rev);transition:background .15s}.nav-cta:hover{background:var(--olive-lt)}.hero{padding-top:56px;background:var(--black);color:var(--white);min-height:100svh;display:flex;flex-direction:column}.hero-wordmark{padding:20px 28px 0;border-bottom:1px solid var(--line-rev);line-height:.88}.hero-wordmark .wm-text{font-family:var(--cond);font-size:clamp(80px,17vw,260px);font-weight:800;letter-spacing:-.02em;text-transform:uppercase;color:var(--white)}.hero-wordmark .wm-text .dot{color:var(--olive)}.hero-wordmark .wm-text .studio{color:var(--grey-dk);font-weight:600;display:block;padding-left:.06em}.hero-location-h1{font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--grey-mid);display:flex;align-items:center;gap:12px;margin-bottom:14px;font-weight:400}.hero-location-h1:before{content:"";display:block;width:20px;height:2px;background:var(--olive);flex-shrink:0}.hero-grid{flex:1;display:grid;grid-template-columns:1fr 1fr}.hero-left{padding:40px 32px 48px;border-right:1px solid var(--line-rev);display:flex;flex-direction:column;justify-content:space-between}.hero-tag{font-family:var(--mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--grey-mid);display:flex;align-items:center;gap:12px}.hero-tag:before{content:"";display:block;width:20px;height:2px;background:var(--olive);flex-shrink:0}.hero-claim{margin-top:32px;font-family:var(--cond);font-size:clamp(36px,4.5vw,64px);font-weight:700;text-transform:uppercase;line-height:1;letter-spacing:.01em;color:var(--white)}.hero-claim .accent{color:var(--olive)}.hero-desc{margin-top:24px;font-size:14px;font-weight:300;color:var(--grey-mid);line-height:1.7;max-width:340px}.hero-actions{margin-top:36px;display:flex;gap:12px}.btn-olive{font-family:var(--mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;text-decoration:none;color:var(--white);background:var(--olive);padding:13px 24px;transition:background .15s}.btn-olive:hover{background:var(--olive-lt)}.btn-outline{font-family:var(--mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;text-decoration:none;color:var(--grey-mid);border:1px solid var(--line-rev);padding:13px 24px;transition:color .15s,border-color .15s}.btn-outline:hover{color:var(--white);border-color:#f2f1ee66}.hero-stats{margin-top:48px;padding-top:24px;border-top:1px solid var(--line-rev);display:flex;gap:40px}.stat-num{display:block;font-family:var(--cond);font-size:40px;font-weight:800;color:var(--white);line-height:1}.stat-label{font-family:var(--mono);font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:var(--grey-mid);display:block;margin-top:6px}.hero-right{position:relative;overflow:hidden;background:#111;min-height:360px;display:flex;align-items:flex-end}.hero-img-placeholder{position:absolute;inset:0;display:flex;align-items:center;justify-content:center}.hero-drawing{opacity:.08}.hero-caption{position:relative;z-index:1;width:100%;padding:20px 28px;display:flex;justify-content:space-between;align-items:flex-end;border-top:1px solid var(--line-rev);font-family:var(--mono);font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:#f2f1ee4d}.ticker{background:var(--olive);overflow:hidden;height:36px;display:flex;align-items:center}.ticker-inner{display:flex;gap:0;animation:ticker 22s linear infinite;white-space:nowrap}.ticker-item{font-family:var(--cond);font-size:13px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#f2f1eee6;padding:0 32px}.ticker-sep{font-family:var(--mono);font-size:10px;color:#f2f1ee66;padding:0 8px}@keyframes ticker{0%{transform:translate(0)}to{transform:translate(-50%)}}.services{border-bottom:1px solid var(--line)}.services-head{display:flex;justify-content:space-between;align-items:center;padding:20px 32px;border-bottom:1px solid var(--line)}.section-label{font-family:var(--mono);font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--grey-mid)}.section-index{font-family:var(--mono);font-size:10px;letter-spacing:.1em;color:var(--concrete)}.services-grid{display:grid;grid-template-columns:repeat(4,1fr)}.service-card{padding:32px 28px 36px;border-right:1px solid var(--line);transition:background .15s}.service-card:last-child{border-right:none}.service-card:hover{background:var(--grey-lt)}.svc-num{font-family:var(--mono);font-size:10px;color:var(--olive);letter-spacing:.1em;display:block;margin-bottom:24px}.svc-name{font-family:var(--cond);font-size:26px;font-weight:700;text-transform:uppercase;letter-spacing:.01em;color:var(--black);line-height:1.05;margin-bottom:14px}.svc-desc{font-size:13px;font-weight:300;color:var(--grey-dk);line-height:1.6}.svc-tags{margin-top:20px;display:flex;flex-wrap:wrap;gap:6px}.svc-tag{font-family:var(--mono);font-size:9px;letter-spacing:.08em;text-transform:uppercase;color:var(--grey-mid);border:1px solid var(--line);padding:3px 8px}.services-subtitle{font-size:12px;font-weight:300;color:var(--grey-dk);margin-top:4px;letter-spacing:.02em}.local-context{padding:64px 32px;border-bottom:1px solid var(--line)}.local-context-title{font-family:var(--cond);font-size:clamp(22px,2.8vw,38px);font-weight:700;text-transform:uppercase;letter-spacing:.01em;line-height:1.1;color:var(--black);margin-bottom:32px}.local-context p{font-size:14px;font-weight:300;color:var(--grey-dk);line-height:1.75;max-width:660px;margin-bottom:20px}.local-context p:last-child{margin-bottom:0}.faq{border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.faq-head{display:flex;justify-content:space-between;align-items:center;padding:20px 32px;border-bottom:1px solid var(--line)}.faq-title{font-family:var(--cond);font-size:clamp(28px,3.5vw,48px);font-weight:700;text-transform:uppercase;line-height:1;color:var(--black);margin-top:10px}.faq-list{list-style:none}.faq-item{border-bottom:1px solid var(--line)}.faq-item:last-child{border-bottom:none}.faq-q{display:flex;align-items:center;justify-content:space-between;padding:22px 32px;cursor:pointer;gap:20px}.faq-q-text{font-family:var(--cond);font-size:17px;font-weight:700;text-transform:uppercase;letter-spacing:.02em;color:var(--black)}.faq-toggle{font-family:var(--mono);font-size:18px;color:var(--olive);flex-shrink:0;transition:transform .2s;user-select:none;line-height:1}.faq-item.open .faq-toggle{transform:rotate(45deg)}.faq-a{display:none;padding:0 32px 24px;margin:0;font-size:14px;font-weight:300;color:var(--grey-dk);line-height:1.7;max-width:660px}.faq-item.open .faq-a{display:block}.projects{padding:0}.projects-head{display:grid;grid-template-columns:1fr auto;align-items:end;padding:48px 32px 32px;border-bottom:1px solid var(--line)}.projects-title{font-family:var(--cond);font-size:clamp(36px,5vw,64px);font-weight:800;text-transform:uppercase;letter-spacing:.01em;line-height:1;color:var(--black)}.projects-title span{color:var(--olive)}.link-fwd{font-family:var(--mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;text-decoration:none;color:var(--grey-mid);display:flex;align-items:center;gap:8px;transition:color .15s,gap .15s}.link-fwd:hover{color:var(--olive);gap:14px}.projects-grid{display:grid;grid-template-columns:1.6fr 1fr;gap:0}.proj-card{border-right:1px solid var(--line);border-bottom:1px solid var(--line);overflow:hidden;position:relative;cursor:pointer}.proj-card:last-child{border-right:none}.proj-img{background:var(--black);position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center}.proj-card:first-child .proj-img{height:340px}.proj-card:not(:first-child) .proj-img{height:200px}.proj-img-txt{font-family:var(--mono);font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:#f2f1ee2e;text-align:center;padding:20px}.proj-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(24,24,23,.9) 0%,transparent 55%);opacity:0;transition:opacity .25s}.proj-card:first-child .proj-overlay,.proj-card:hover .proj-overlay{opacity:1}.proj-info{padding:18px 24px 22px;border-top:1px solid var(--line)}.proj-cat{font-family:var(--mono);font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:var(--olive);display:block;margin-bottom:8px}.proj-name{font-family:var(--cond);font-size:20px;font-weight:700;text-transform:uppercase;color:var(--black);line-height:1.1;margin-bottom:4px}.proj-meta{font-family:var(--mono);font-size:10px;letter-spacing:.06em;color:var(--grey-mid)}.about{display:grid;grid-template-columns:1fr 1fr;background:var(--black);color:var(--white);border-top:2px solid var(--olive)}.about-left{padding:64px 32px;border-right:1px solid var(--line-rev)}.about-title{font-family:var(--cond);font-size:clamp(40px,5vw,72px);font-weight:800;text-transform:uppercase;line-height:1;color:var(--white);margin-top:16px}.about-title span{color:var(--olive)}.about-body{margin-top:28px;font-size:14px;font-weight:300;color:#f2f1ee8c;line-height:1.8}.about-skills{margin-top:32px;display:flex;flex-wrap:wrap;gap:8px}.skill-badge{font-family:var(--mono);font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:var(--grey-mid);border:1px solid var(--line-rev);padding:5px 10px}.skill-badge.highlight{color:var(--olive);border-color:#6e8c1a66}.about-right{position:relative;min-height:400px;display:flex;align-items:flex-end;overflow:hidden}.about-img-placeholder{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;color:#f2f1ee1a}.about-img-placeholder p{font-family:var(--mono);font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:#f2f1ee2e;text-align:center}.process{border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.process-head{padding:40px 32px 32px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:end}.process-title{font-family:var(--cond);font-size:clamp(28px,3.5vw,48px);font-weight:700;text-transform:uppercase;line-height:1;color:var(--black);margin-top:10px}.process-steps{display:grid;grid-template-columns:repeat(4,1fr)}.step{padding:28px 24px 32px;border-right:1px solid var(--line);position:relative}.step:last-child{border-right:none}.step-num{font-family:var(--cond);font-size:72px;font-weight:800;color:var(--grey-lt);line-height:1;display:block;margin-bottom:8px}.step-name{font-family:var(--cond);font-size:20px;font-weight:700;text-transform:uppercase;color:var(--black);margin-bottom:10px;letter-spacing:.02em}.step-desc{font-size:13px;font-weight:300;color:var(--grey-dk);line-height:1.6}.contact{display:grid;grid-template-columns:1fr 1fr;background:var(--grey-lt)}.contact-left{padding:64px 32px;border-right:1px solid var(--line)}.contact-title{font-family:var(--cond);font-size:clamp(36px,5vw,64px);font-weight:800;text-transform:uppercase;line-height:1;color:var(--black);margin-top:16px;margin-bottom:24px}.contact-title span{color:var(--olive)}.contact-desc{font-size:14px;font-weight:300;color:var(--grey-dk);line-height:1.7;max-width:340px;margin-bottom:40px}.contact-row{display:flex;gap:20px;align-items:baseline;padding:14px 0;border-bottom:1px solid var(--line)}.contact-row:first-of-type{border-top:1px solid var(--line)}.c-label{font-family:var(--mono);font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:var(--grey-mid);min-width:72px;flex-shrink:0}.c-value{font-size:14px;color:var(--black);text-decoration:none;transition:color .15s}.c-value:hover{color:var(--olive)}.contact-right{padding:64px 32px;display:flex;flex-direction:column;gap:24px}.form-row{display:flex;flex-direction:column;gap:6px}.form-label{font-family:var(--mono);font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:var(--grey-mid)}.form-input,.form-textarea{font-family:var(--body);font-size:14px;color:var(--black);background:transparent;border:none;border-bottom:2px solid var(--concrete);padding:10px 0;outline:none;width:100%;transition:border-color .2s;resize:none}.form-input:focus,.form-textarea:focus{border-color:var(--olive)}.form-input::placeholder,.form-textarea::placeholder{color:var(--concrete);font-weight:300}.form-textarea{min-height:96px}.form-submit{font-family:var(--mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--white);background:var(--olive);border:none;padding:16px 32px;cursor:pointer;align-self:flex-start;transition:background .15s}.form-submit:hover{background:var(--olive-lt)}.footer{background:var(--black);border-top:2px solid var(--olive);padding:20px 32px;display:flex;justify-content:space-between;align-items:center}.footer-logo{font-family:var(--cond);font-size:14px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--white);text-decoration:none}.footer-logo span{color:var(--olive);font-weight:400}.footer-meta{font-family:var(--mono);font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:var(--grey-dk)}[data-reveal]{opacity:0;transform:translateY(20px);transition:opacity .5s ease,transform .5s ease}[data-reveal].visible{opacity:1;transform:none}[data-reveal-delay="1"]{transition-delay:.08s}[data-reveal-delay="2"]{transition-delay:.16s}[data-reveal-delay="3"]{transition-delay:.24s}[data-reveal-delay="4"]{transition-delay:.32s}@media(max-width:900px){.nav-links{display:none}.nav{padding:0}.nav-logo{padding:0 20px}.hero-wordmark .wm-text{font-size:clamp(56px,14vw,120px)}.hero-wordmark{padding:14px 20px 0}.local-context{padding:48px 20px}.faq-head{padding:20px}.faq-q{padding:18px 20px}.faq-a{padding:0 20px 20px}.hero-grid{grid-template-columns:1fr}.hero-left{padding:32px 20px 40px;border-right:none}.hero-right{min-height:240px}.services-grid{grid-template-columns:1fr 1fr}.service-card:nth-child(2){border-right:none}.service-card{border-bottom:1px solid var(--line)}.projects-head{padding:32px 20px 24px}.projects-grid{grid-template-columns:1fr}.proj-card{border-right:none}.proj-card:first-child .proj-img{height:240px}.about{grid-template-columns:1fr}.about-left{padding:48px 20px;border-right:none}.about-right{min-height:240px}.process-steps{grid-template-columns:1fr 1fr}.step:nth-child(2){border-right:none}.step{border-bottom:1px solid var(--line)}.process-head{padding:32px 20px 24px}.contact{grid-template-columns:1fr}.contact-left{padding:48px 20px;border-right:none;border-bottom:1px solid var(--line)}.contact-right{padding:40px 20px}.footer{flex-direction:column;gap:8px;padding:16px 20px}}
