:root{
  --bg:#f4f5f2;
  --surface:#ffffff;
  --ink:#101511;
  --muted:#667068;
  --line:#d7ddd7;
  --forest:#163d2b;
  --forest-dark:#0c281c;
  --soft:#e8eee9;
  --max:1180px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  background:var(--bg);
  color:var(--ink);
  font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  line-height:1.55;
  -webkit-font-smoothing:antialiased;
}
a{color:inherit;text-decoration:none}
.site-header{
  width:min(calc(100% - 48px),var(--max));
  min-height:84px;
  margin:0 auto;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:30px;
  border-bottom:1px solid var(--line);
}
.brand{display:flex;align-items:baseline;gap:10px}
.brand-mark{font-weight:900;letter-spacing:-.04em;font-size:1.42rem}
.brand-sub{font-size:.72rem;text-transform:uppercase;letter-spacing:.12em;color:var(--muted)}
.nav{display:flex;align-items:center;gap:24px;font-size:.88rem;font-weight:650}
.nav a{padding:10px 0}
.nav a:hover{color:var(--forest)}
.nav-contact{border-bottom:1px solid var(--ink)}
main{width:min(calc(100% - 48px),var(--max));margin:0 auto}
.hero{
  display:grid;
  grid-template-columns:minmax(0,1.45fr) minmax(290px,.55fr);
  gap:72px;
  padding:96px 0 88px;
  border-bottom:1px solid var(--line);
}
.eyebrow,.section-kicker,.panel-label{
  margin:0 0 18px;
  font-size:.72rem;
  line-height:1.2;
  font-weight:850;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:var(--forest);
}
.hero h1{
  max-width:820px;
  margin:0;
  font-size:clamp(3.4rem,7vw,6.65rem);
  line-height:.94;
  letter-spacing:-.065em;
  font-weight:850;
}
.hero-lead{
  max-width:750px;
  margin:30px 0 0;
  color:#3e4941;
  font-size:1.16rem;
}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:34px}
.button{
  min-height:48px;
  padding:13px 18px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:1px solid var(--ink);
  font-weight:760;
  font-size:.88rem;
}
.button.primary{background:var(--forest);border-color:var(--forest);color:#fff}
.button.primary:hover{background:var(--forest-dark);border-color:var(--forest-dark)}
.button.secondary{background:transparent}
.button.secondary:hover{background:var(--surface)}
.hero-panel{
  align-self:end;
  padding:28px;
  background:var(--forest);
  color:#fff;
}
.hero-panel .panel-label{color:#b9c9bf}
.hero-panel dl{margin:0}
.hero-panel dl div{
  display:grid;
  grid-template-columns:42px 1fr;
  gap:10px;
  padding:14px 0;
  border-top:1px solid rgba(255,255,255,.16);
}
.hero-panel dt{font-size:.72rem;color:#b9c9bf}
.hero-panel dd{margin:0;font-weight:720}
.section{
  display:grid;
  grid-template-columns:210px 1fr;
  gap:64px;
  padding:84px 0;
  border-bottom:1px solid var(--line);
}
.section-kicker{padding-top:7px}
.section-body{max-width:790px}
.section h2,.owner h2,.contact h2{
  margin:0;
  font-size:clamp(2rem,4vw,3.5rem);
  line-height:1.02;
  letter-spacing:-.045em;
}
.section-body p{
  max-width:720px;
  margin:22px 0 0;
  color:#465149;
  font-size:1.03rem;
}
.project-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
}
.project-card{
  min-height:330px;
  display:flex;
  flex-direction:column;
  padding:24px;
  background:var(--surface);
  border:1px solid var(--line);
}
.project-top{display:flex;justify-content:space-between;gap:12px;align-items:center}
.project-index{font-size:.72rem;color:var(--muted)}
.status{
  padding:5px 8px;
  background:var(--soft);
  color:var(--forest);
  font-size:.66rem;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.07em;
}
.project-card h3{margin:68px 0 12px;font-size:1.7rem;letter-spacing:-.035em}
.project-card p{margin:0;color:#4d5750}
.project-meta{
  margin-top:auto;
  padding-top:24px;
  font-size:.7rem;
  font-weight:800;
  color:var(--muted);
  text-transform:uppercase;
  letter-spacing:.07em;
}
.principle-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:36px;
}
.principle-grid article{border-top:2px solid var(--ink);padding-top:14px}
.principle-grid span{font-size:.7rem;color:var(--muted)}
.principle-grid h3{margin:32px 0 10px;font-size:1.18rem}
.principle-grid p{margin:0;color:#505a53}
.owner{
  margin:84px 0;
  padding:46px;
  background:var(--forest);
  color:#fff;
  display:flex;
  justify-content:space-between;
  align-items:end;
  gap:40px;
}
.owner .eyebrow{color:#bdcec3}
.owner p:not(.eyebrow){max-width:700px;margin:20px 0 0;color:#dbe5df}
.owner-button{background:#fff;border-color:#fff;color:var(--forest);white-space:nowrap}
.contact{
  padding:86px 0 96px;
  border-top:1px solid var(--line);
}
.contact h2{max-width:650px}
.contact-mail{
  display:inline-block;
  margin-top:30px;
  font-size:clamp(1.35rem,4vw,2.6rem);
  font-weight:780;
  letter-spacing:-.035em;
  border-bottom:2px solid var(--ink);
}
footer{
  width:min(calc(100% - 48px),var(--max));
  min-height:88px;
  margin:0 auto;
  border-top:1px solid var(--line);
  display:flex;
  align-items:center;
  gap:24px;
  justify-content:space-between;
  color:var(--muted);
  font-size:.78rem;
}
footer a{color:var(--ink);font-weight:700}
@media(max-width:900px){
  .site-header{width:min(calc(100% - 32px),var(--max));align-items:flex-start;padding:22px 0;flex-direction:column}
  .nav{width:100%;gap:18px;overflow-x:auto;padding-bottom:2px}
  main,footer{width:min(calc(100% - 32px),var(--max))}
  .hero{grid-template-columns:1fr;gap:42px;padding:72px 0 64px}
  .hero-panel{max-width:560px}
  .section{grid-template-columns:1fr;gap:26px;padding:64px 0}
  .project-grid,.principle-grid{grid-template-columns:1fr}
  .project-card{min-height:260px}
  .project-card h3{margin-top:48px}
  .owner{align-items:flex-start;flex-direction:column;margin:64px 0;padding:32px}
}
@media(max-width:520px){
  .site-header{width:calc(100% - 28px)}
  main,footer{width:calc(100% - 28px)}
  .nav{font-size:.8rem}
  .hero{padding-top:58px}
  .hero h1{font-size:clamp(3rem,17vw,4.2rem)}
  .hero-lead{font-size:1rem}
  .hero-actions{flex-direction:column}
  .button{width:100%}
  .hero-panel{padding:22px}
  .section{padding:54px 0}
  .project-card{padding:20px}
  .owner{padding:26px 22px}
  footer{padding:24px 0;align-items:flex-start;flex-direction:column;gap:8px}
}
