@font-face{font-family:Geist;src:local("Arial");font-display:swap}
:root{--black:#050505;--lime:#b2d236;--white:#f8f9f3;--muted:#bec1b6;--line:rgba(255,255,255,.18);--pad:clamp(22px,5vw,76px)}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--black);color:var(--white);font-family:Geist,"Helvetica Neue",Arial,sans-serif;font-size:16px;line-height:1.45;-webkit-font-smoothing:antialiased}
a{color:inherit}
button,input,textarea{font:inherit}
.site-header{position:absolute;z-index:5;top:0;left:0;right:0;height:92px;display:flex;align-items:center;justify-content:space-between;padding:0 var(--pad);border-bottom:1px solid var(--line)}
.site-header img{display:block;width:clamp(118px,12vw,174px);height:auto}
.header-contact{color:var(--white);font-size:.75rem;font-weight:750;letter-spacing:.08em;text-decoration:none;text-transform:uppercase;border-bottom:2px solid var(--lime);padding:8px 0}
.hero{position:relative;isolation:isolate;min-height:min(880px,92svh);display:flex;align-items:flex-end;overflow:hidden;padding:150px var(--pad) 78px}
.hero-image,.hero-shade{position:absolute;inset:0;width:100%;height:100%}
.hero-image{z-index:-3;object-fit:cover;object-position:72% center;filter:grayscale(1) contrast(1.06)}
.hero-shade{z-index:-2;background:linear-gradient(90deg,#050505 0%,#050505 43%,rgba(5,5,5,.92) 52%,rgba(5,5,5,.2) 78%,rgba(5,5,5,.4) 100%)}
.hero:after{content:"";position:absolute;z-index:-1;right:-7vw;bottom:-16vw;width:min(38vw,540px);aspect-ratio:1;background:var(--lime);border-radius:100% 0 0 0}
.hero-content{width:min(790px,72vw)}
.status,.eyebrow{margin:0 0 24px;color:var(--lime);font-size:.72rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase}
.status{display:flex;align-items:center;gap:11px}
.status span{width:7px;height:7px;border-radius:50%;background:var(--lime);box-shadow:0 0 0 6px rgba(178,210,54,.14)}
.hero-line{max-width:760px;margin:0 0 20px;font-size:clamp(2.2rem,5vw,5.6rem);font-weight:820;letter-spacing:0;line-height:.94}
.hero-copy{max-width:650px;margin:0 0 34px;color:#d3d5cc;font-size:clamp(1rem,1.4vw,1.2rem)}
.primary-action,.contact-form button{display:inline-flex;align-items:center;justify-content:center;gap:30px;border:0;background:var(--lime);color:var(--black);font-weight:800;text-decoration:none;padding:15px 20px;cursor:pointer}
.hero-disciplines{position:absolute;right:var(--pad);top:125px;display:grid;gap:7px;text-align:right;color:#d8dad1;font-size:.67rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase}
.contact{display:grid;grid-template-columns:minmax(0,.85fr) minmax(420px,1.15fr);gap:clamp(60px,10vw,170px);padding:clamp(76px,10vw,150px) var(--pad);background:#f1f2ed;color:var(--black)}
.contact-intro h2{max-width:680px;margin:0 0 28px;font-size:clamp(3.2rem,6vw,7rem);line-height:.91;letter-spacing:0}
.contact-intro>p:not(.eyebrow){max-width:570px;color:#4c5048;font-size:1.1rem}
.email-link{display:inline-block;margin-top:24px;color:var(--black);font-weight:800;text-decoration-color:var(--lime);text-decoration-thickness:3px;text-underline-offset:7px}
.contact-form{display:grid;gap:24px;align-content:start;padding-top:8px}
.website-field{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;white-space:nowrap!important}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.contact-form label{display:grid;gap:8px;color:#5a5e55;font-size:.72rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}
.contact-form input,.contact-form textarea{width:100%;border:0;border-bottom:1px solid #93978e;border-radius:0;background:transparent;color:var(--black);padding:12px 0;font-size:1rem;text-transform:none;resize:vertical}
.contact-form input:focus,.contact-form textarea:focus{outline:0;border-color:var(--black);box-shadow:0 2px 0 var(--lime)}
.contact-form button{justify-self:start;margin-top:4px}
.contact-form button:disabled{cursor:wait;opacity:.68}
.form-note{margin:0;color:#6b6f66;font-size:.8rem}
footer{display:flex;align-items:center;gap:24px;min-height:110px;padding:24px var(--pad);color:#8e9188;font-size:.78rem}
footer img{width:13px;height:30px}
footer p:last-child{margin-left:auto}
@media(max-width:820px){
  .hero{min-height:max(680px,100svh)}.hero-content{width:100%}.hero-disciplines{display:none}.hero-shade{background:linear-gradient(90deg,#050505 0%,rgba(5,5,5,.96) 62%,rgba(5,5,5,.58) 100%)}.contact{grid-template-columns:1fr;gap:54px}.field-row{grid-template-columns:1fr}
}
@media(max-width:560px){
  .site-header{height:76px}.site-header img{width:106px}.hero{min-height:max(620px,100svh);align-items:flex-start;padding:clamp(220px,38svh,280px) var(--pad) 34px}.hero-image{object-position:68% center}.hero:after{width:54vw;right:-12vw;bottom:-18vw}.status{margin-bottom:18px}.hero-line{margin-bottom:16px;font-size:2.2rem;line-height:.98}.hero-copy{margin-bottom:24px;font-size:1rem;line-height:1.42}.primary-action{padding:13px 17px}.contact{padding-top:60px;padding-bottom:64px;gap:42px}.contact-intro h2{font-size:3rem}footer{align-items:flex-start;flex-wrap:wrap}footer p:last-child{width:100%;margin:0 0 0 37px}
}
@media(max-width:380px){
  :root{--pad:20px}.header-contact{font-size:.7rem}.hero{min-height:max(600px,100svh);padding-top:clamp(205px,36svh,245px);padding-bottom:28px}.hero-line{font-size:2.05rem}.hero-copy{font-size:.95rem}.contact-intro h2{font-size:2.7rem}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
