:root{
  --graphite: #15171a;
  --graphite-2: #1c1f22;
  --graphite-3: #23262a;
  --cream: #f3efe6;
  --stone: #b9ae9c;
  --silver: #8f979b;
  --line: #33373b;
  --green: #4b6b52;
  --green-light: #6a8c72;
  --rust: #9a4a34;
  --maxw: 1180px;
}
*{box-sizing:border-box; margin:0; padding:0;}
html{scroll-behavior:smooth;}
body{
  background: var(--graphite);
  color: var(--cream);
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
  font-size: 16px;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
}
h1,h2,h3,h4{
  font-family: 'Space Grotesk', sans-serif;
  font-weight: 600;
  letter-spacing: -0.01em;
}
a{color:inherit; text-decoration:none;}
img{display:block; max-width:100%;}
.wrap{max-width:var(--maxw); margin:0 auto; padding:0 32px;}
.stencil{font-family:'Allerta Stencil', sans-serif; letter-spacing:0.06em; text-transform:uppercase;}

/* ---------- Blueprint texture ---------- */
.blueprint-bg{
  background-image:
    linear-gradient(rgba(243,239,230,0.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(243,239,230,0.035) 1px, transparent 1px);
  background-size: 42px 42px;
}

/* ---------- Nav ---------- */
header.site-nav{
  position: sticky; top:0; z-index:50;
  background: rgba(21,23,26,0.88);
  backdrop-filter: blur(8px);
  border-bottom: 1px solid var(--line);
}
.nav-inner{
  display:flex; align-items:center; justify-content:space-between;
  padding: 18px 32px;
  max-width: var(--maxw); margin:0 auto;
}
.nav-logo{display:flex; align-items:center; gap:10px;}
.nav-logo img{height:26px; width:auto;}
.nav-links{display:flex; gap:36px; font-size:14px; color:var(--stone);}
.nav-links a{transition:color .2s;}
.nav-links a:hover{color:var(--cream);}
.nav-cta{
  font-size:13px; letter-spacing:0.04em; text-transform:uppercase;
  border:1px solid var(--silver); padding:10px 18px; border-radius:2px;
  color:var(--cream); white-space:nowrap;
  transition: all .2s;
}
.nav-cta:hover{background:var(--cream); color:var(--graphite); border-color:var(--cream);}

/* ---------- Hero ---------- */
.hero{
  padding: 120px 32px 100px;
  text-align:center;
  position:relative;
  overflow:hidden;
}
.hero-logo{max-width:640px; width:100%; margin:0 auto;}
.hero-logo img{width:100%; height:auto;}
.hero-status{
  margin-top: 22px;
  display:inline-block;
  font-size: 11px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--graphite);
  background: var(--green-light);
  padding: 5px 14px;
  border-radius: 999px;
}
.hero-tagline{
  margin-top: 26px;
  font-size: 15px;
  letter-spacing: 0.32em;
  text-transform: uppercase;
  color: var(--green-light);
}
.hero-sub{
  max-width: 620px;
  margin: 22px auto 0;
  font-size: 18px;
  color: var(--stone);
}
.hero-actions{
  margin-top: 44px;
  display:flex; gap:18px; justify-content:center; flex-wrap:wrap;
}
.btn{
  display:inline-block;
  padding: 15px 30px;
  font-size: 13px;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  border-radius: 2px;
  transition: all .2s;
  border: 1px solid transparent;
}
.btn-primary{background:var(--green); color:var(--cream); border-color:var(--green);}
.btn-primary:hover{background:var(--green-light); border-color:var(--green-light);}
.btn-ghost{border-color:var(--silver); color:var(--cream);}
.btn-ghost:hover{border-color:var(--cream);}

/* ---------- Section shared ---------- */
section{padding: 110px 32px;}
.eyebrow{
  font-size:12px; letter-spacing:0.28em; text-transform:uppercase;
  color:var(--green-light); margin-bottom:18px; display:block;
}
.section-head{max-width:640px; margin-bottom:64px;}
.section-head h2{font-size:38px; color:var(--cream); margin-bottom:18px;}
.section-head p{color:var(--stone); font-size:17px;}

/* ---------- Philosophy ---------- */
.philosophy{background:var(--graphite-2); border-top:1px solid var(--line); border-bottom:1px solid var(--line);}
.philosophy .wrap{
  display:grid; grid-template-columns: 1fr 1fr; gap:80px; align-items:center;
}
.philosophy blockquote{
  font-family:'Space Grotesk', sans-serif;
  font-size: 34px;
  line-height:1.35;
  color: var(--cream);
  border-left: 2px solid var(--green);
  padding-left: 28px;
}
.philosophy .body p{color:var(--stone); margin-bottom:18px; font-size:16px;}
.philosophy .body p:last-child{margin-bottom:0;}
.philosophy .signoff{color:var(--cream); font-weight:600; margin-top:22px; font-family:'Space Grotesk', sans-serif;}

/* ---------- Values ---------- */
.values-grid{
  display:grid; grid-template-columns:repeat(3,1fr); gap:48px 40px;
}
.value-item{border-top:1px solid var(--line); padding-top:22px;}
.value-num{font-family:'Space Grotesk',sans-serif; color:var(--silver); font-size:13px; margin-bottom:10px; display:block;}
.value-item h3{font-size:19px; color:var(--cream); margin-bottom:10px;}
.value-item p{color:var(--stone); font-size:14.5px;}

/* ---------- CTA / Contact ---------- */
.contact{
  background: var(--graphite-2);
  border-top:1px solid var(--line);
}
.contact .wrap{
  display:grid; grid-template-columns: 1fr 1fr; gap:80px;
}
.contact-info h2{font-size:36px; color:var(--cream); margin-bottom:20px;}
.contact-info p{color:var(--stone); margin-bottom:28px; font-size:16px;}
.contact-detail{margin-bottom:20px;}
.contact-detail .label{font-size:12px; letter-spacing:0.14em; text-transform:uppercase; color:var(--silver); margin-bottom:6px; display:block;}
.contact-detail .value{font-size:16px; color:var(--cream);}

form{display:flex; flex-direction:column; gap:18px;}
.field label{display:block; font-size:12px; letter-spacing:0.1em; text-transform:uppercase; color:var(--stone); margin-bottom:8px;}
.field input, .field textarea{
  width:100%; background:var(--graphite); border:1px solid var(--line); color:var(--cream);
  padding:13px 14px; font-family:'Inter',sans-serif; font-size:15px; border-radius:2px;
}
.field input:focus, .field textarea:focus{outline:none; border-color:var(--green-light);}
.field textarea{resize:vertical; min-height:110px;}
.submit-btn{
  align-self:flex-start; margin-top:6px;
  background:var(--green); color:var(--cream); border:1px solid var(--green);
  padding:15px 32px; font-size:13px; letter-spacing:0.06em; text-transform:uppercase;
  border-radius:2px; cursor:pointer; transition:all .2s;
}
.submit-btn:hover{background:var(--green-light); border-color:var(--green-light);}

/* ---------- Footer ---------- */
footer{padding:50px 32px 40px; border-top:1px solid var(--line);}
footer .wrap{display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:24px;}
.footer-logo{display:flex; align-items:center; gap:10px;}
.footer-logo img{height:20px; width:auto; opacity:0.85;}
.footer-links{display:flex; gap:28px; font-size:13px; color:var(--stone);}
.footer-legal{font-size:12.5px; color:var(--silver); width:100%; margin-top:20px; border-top:1px solid var(--line); padding-top:20px;}

@media (max-width: 860px){
  .nav-links{display:none;}
  .hero{padding:90px 24px 70px;}
  section{padding:70px 24px;}
  .philosophy .wrap, .contact .wrap{grid-template-columns:1fr; gap:44px;}
  .philosophy blockquote{font-size:26px;}
  .values-grid{grid-template-columns:1fr 1fr; gap:36px 28px;}
}
@media (max-width: 520px){
  .values-grid{grid-template-columns:1fr;}
  .hero-actions{flex-direction:column; align-items:center;}
}
