*{box-sizing:border-box;margin:0;padding:0}

html{scroll-behavior:smooth}

body{
  margin:0;
  font-family:"Segoe UI",-apple-system,BlinkMacSystemFont,Roboto,Helvetica,Arial,sans-serif;
  background-color:#10150F;
  color:#EAF0E6;
  font-size:16px;
  line-height:1.75;
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
}

img{max-width:100%;display:block}

.container{max-width:1200px;margin:0 auto;padding:0 24px}

a{color:#C3D6B8}

::selection{background:#2F6B4F;color:#EAF0E6}

h1,h2,h3{font-family:Georgia,"Times New Roman",serif;font-weight:700;line-height:1.15}

.center-nav{
  position:sticky;
  top:0;
  z-index:50;
  background:#10150F;
  border-bottom:1px solid #2F6B4F;
  transition:box-shadow .3s ease;
}

.center-nav.header-scrolled{box-shadow:0 6px 18px rgba(0,0,0,.45)}

.center-nav-inner{
  display:flex;
  align-items:center;
}

.nav-left,.nav-right{list-style:none;flex:1;display:flex;align-items:center}
.nav-left{justify-content:flex-start}
.nav-right{justify-content:flex-end}

.nav-group a{
  display:inline-flex;
  align-items:center;
  color:#EAF0E6;
  text-decoration:none;
  font-weight:600;
  font-size:15px;
  letter-spacing:.4px;
  padding:24px 14px 20px;
  border-bottom:3px solid transparent;
}

.nav-group a::before{
  content:'';
  width:8px;
  height:8px;
  background:#2F6B4F;
  margin-right:9px;
  display:inline-block;
}

.nav-group a.active{border-bottom-color:#2F6B4F}
.nav-group a:hover{color:#C3D6B8}

.wordmark{
  flex-shrink:0;
  margin:0 28px;
  color:#C3D6B8;
  font-weight:800;
  font-size:21px;
  letter-spacing:3px;
  text-decoration:none;
}

.nav-toggle{
  display:none;
  flex-direction:column;
  justify-content:center;
  gap:5px;
  width:44px;
  height:44px;
  background:transparent;
  border:1px solid #2F6B4F;
  cursor:pointer;
  padding:10px;
}

.nav-toggle-bar{
  display:block;
  height:2px;
  width:100%;
  background:#C3D6B8;
}

.block-hero{background:#2F6B4F}
.block-hero .container{padding-top:88px;padding-bottom:44px}

.eyebrow-chip{
  display:inline-block;
  background:#1A2218;
  color:#EAF0E6;
  font-size:13px;
  font-weight:700;
  letter-spacing:2px;
  text-transform:uppercase;
  padding:8px 16px;
  margin-bottom:26px;
}

.block-hero h1{
  color:#EAF0E6;
  font-size:58px;
  line-height:1.06;
  max-width:880px;
  margin-bottom:24px;
}

.block-hero .hero-sub{
  color:#EAF0E6;
  font-size:19px;
  line-height:1.7;
  max-width:720px;
  margin-bottom:36px;
}

.hero-ctas{display:flex;gap:16px;flex-wrap:wrap}

.btn{
  display:inline-block;
  padding:15px 30px;
  font-size:16px;
  font-weight:700;
  letter-spacing:.4px;
  text-decoration:none;
  border:2px solid transparent;
  transition:background-color .25s ease,color .25s ease,border-color .25s ease;
}

.btn-dark{background:#1A2218;color:#EAF0E6;border-color:#1A2218}
.btn-dark:hover{background:#0C100B}
.btn-outline-light{background:transparent;color:#EAF0E6;border-color:#EAF0E6}
.btn-outline-light:hover{background:#EAF0E6;color:#2F6B4F}
.btn-pine{background:#2F6B4F;color:#EAF0E6;border-color:#2F6B4F}
.btn-pine:hover{background:#24553D}
.btn-light{background:#C3D6B8;color:#10150F;border-color:#C3D6B8}
.btn-light:hover{background:#ADC4A0}

.pine-row{display:flex;align-items:flex-end;gap:36px;margin-top:60px}

.pine-tree{display:flex;flex-direction:column;align-items:center}

.tree-crown{
  width:0;height:0;
  border-left:30px solid transparent;
  border-right:30px solid transparent;
  border-bottom:52px solid #1A2218;
}

.tree-trunk{width:14px;height:20px;background:#1A2218;margin-top:-3px}

.pine-tree.medium .tree-crown{border-left-width:24px;border-right-width:24px;border-bottom-width:42px}
.pine-tree.medium .tree-trunk{width:11px;height:16px}
.pine-tree.small .tree-crown{border-left-width:18px;border-right-width:18px;border-bottom-width:32px}
.pine-tree.small .tree-trunk{width:8px;height:13px}

.zone-band{padding:92px 0}
.services-band{background:#1A2218;border-top:1px solid #10150F;border-bottom:1px solid #10150F}
.process-band{background:#10150F}

.eyebrow{
  color:#C3D6B8;
  font-size:13px;
  font-weight:700;
  letter-spacing:2px;
  text-transform:uppercase;
}

.section-head{max-width:820px;margin-bottom:18px}
.section-head h2{color:#EAF0E6;font-size:40px;margin-top:12px}
.section-head p{color:#EAF0E6;font-size:17px;margin-top:16px}

.services-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  border:1px solid #2F6B4F;
  margin-top:44px;
  background:#1A2218;
}

.service-block{
  background:#1A2218;
  border:1px solid #2F6B4F;
  padding:36px 32px;
  margin:-1px 0 0 -1px;
}

.service-icon{
  position:relative;
  width:46px;
  height:46px;
  background:#C3D6B8;
  margin-bottom:22px;
}

.service-icon::before,
.service-icon::after{content:'';position:absolute;background:#10150F;border-radius:2px}

.ico-layers::before{width:20px;height:20px;top:8px;left:8px}
.ico-layers::after{width:20px;height:20px;bottom:8px;right:8px;border:3px solid #10150F;background:transparent}

.ico-data::before{width:20px;height:12px;top:10px;left:10px;border:3px solid #10150F;border-radius:9px;background:transparent}
.ico-data::after{width:20px;height:4px;bottom:11px;left:10px}

.ico-platform::before{width:24px;height:6px;top:10px;left:11px;box-shadow:0 9px 0 #10150F,0 18px 0 #10150F}
.ico-platform::after{display:none}

.ico-integration::before{width:13px;height:13px;top:9px;left:9px;border:3px solid #10150F;border-radius:50%;background:transparent}
.ico-integration::after{width:13px;height:13px;bottom:9px;right:9px;border:3px solid #10150F;border-radius:50%;background:transparent}

.ico-security::before{width:22px;height:24px;top:10px;left:12px;clip-path:polygon(50% 0,100% 16%,100% 55%,50% 100%,0 55%,0 16%)}
.ico-security::after{display:none}

.ico-managed::before{width:18px;height:18px;top:11px;left:11px;border:3px solid #10150F;border-radius:50%;background:transparent}
.ico-managed::after{width:6px;height:6px;top:20px;left:20px;border-radius:50%}

.service-title{color:#EAF0E6;font-size:23px;margin-bottom:12px}
.service-block p{color:#EAF0E6;font-size:15.5px}

.process-row{
  display:grid;
  grid-template-columns:1fr 1fr 1fr;
  border:1px solid #2F6B4F;
  margin-top:44px;
}

.process-step{padding:38px 34px;border-right:1px solid #2F6B4F}
.process-step:last-child{border-right:none}

.step-num{font-size:58px;font-weight:800;color:#C3D6B8;letter-spacing:1px}
.step-title{color:#EAF0E6;font-size:24px;margin:10px 0 14px}
.process-step p{color:#EAF0E6}

.metric-strip{background:#2F6B4F;padding:58px 0}
.metric-row{display:grid;grid-template-columns:1fr 1fr 1fr 1fr}

.metric-item{text-align:center;padding:10px 16px;border-right:1px solid #10150F}
.metric-item:last-child{border-right:none}

.metric-num{display:block;font-size:52px;font-weight:800;color:#C3D6B8;letter-spacing:1px}
.metric-label{display:block;margin-top:4px;font-size:14px;font-weight:700;letter-spacing:1.2px;text-transform:uppercase;color:#10150F}

.cta-band{background:#C3D6B8;padding:88px 0}
.cta-band h2{color:#10150F;font-size:40px;max-width:760px}
.cta-band p{color:#10150F;font-size:17px;max-width:640px;margin:18px 0 30px}

.four-col-footer{background:#10150F;border-top:1px solid #2F6B4F}
.footer-top{padding:72px 0 0}

.footer-grid{
  display:grid;
  grid-template-columns:2.2fr 1fr 1fr 1.4fr;
  border:1px solid #2F6B4F;
}

.footer-col{padding:36px 30px;border-right:1px solid #2F6B4F}
.footer-col:last-child{border-right:none}

.footer-wordmark{color:#C3D6B8;font-weight:800;font-size:22px;letter-spacing:3px}

.footer-blurb{color:#EAF0E6;margin-top:16px;font-size:15px}

.footer-col h3{color:#C3D6B8;font-size:14px;font-weight:700;letter-spacing:1.6px;text-transform:uppercase;margin-bottom:18px}

.footer-col ul{list-style:none}
.footer-col li{margin-bottom:10px}
.footer-col a{color:#EAF0E6;text-decoration:none;font-size:15px}
.footer-col a:hover{color:#C3D6B8}

.footer-contact{color:#EAF0E6;font-size:15px;line-height:1.9}

.footer-bottom{
  border-top:1px solid #2F6B4F;
  margin-top:64px;
  padding:24px 0;
  text-align:center;
  color:#C3D6B8;
  font-size:14px;
}

.footer-bottom a{color:#EAF0E6;text-decoration:none;border-bottom:1px solid #2F6B4F}
.footer-bottom a:hover{color:#C3D6B8}

.page-band{background:#1A2218;border-bottom:1px solid #2F6B4F;padding:76px 0 68px}
.page-band h1{color:#EAF0E6;font-size:48px;max-width:840px;margin:14px 0 20px}
.page-band .lead{color:#EAF0E6;font-size:18px;max-width:800px}

.services-ledger{padding:24px 0 8px}

.service-entry{
  display:grid;
  grid-template-columns:1fr 2.4fr;
  gap:44px;
  padding:46px 0;
  border-bottom:1px solid #2F6B4F;
}
.service-entry:last-child{border-bottom:none}

.entry-index{font-size:46px;font-weight:800;color:#C3D6B8}
.entry-title{color:#EAF0E6;font-size:28px;margin-bottom:16px}
.entry-body p{color:#EAF0E6;margin-bottom:14px}

.entry-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}
.tag{background:#2F6B4F;color:#EAF0E6;font-size:13px;font-weight:700;padding:5px 12px;letter-spacing:.4px}

.phases-band{background:#1A2218;padding:92px 0;border-top:1px solid #10150F;border-bottom:1px solid #10150F}
.phase-row{display:grid;grid-template-columns:130px 1fr;gap:24px;padding:28px 0;border-bottom:1px solid #2F6B4F}
.phase-row:last-child{border-bottom:none}
.phase-num{font-size:36px;font-weight:800;color:#C3D6B8}
.phase-title{color:#EAF0E6;font-size:21px;margin-bottom:8px}
.phase-row p{color:#EAF0E6}

.contact-layout{padding:84px 0}
.contact-grid{display:grid;grid-template-columns:1fr 1.5fr;gap:36px;align-items:start}

.info-card,.contact-form-card{background:#1A2218;border:1px solid #2F6B4F;padding:34px}
.info-card h2,.contact-form-card h2{color:#EAF0E6;font-size:23px;margin-bottom:8px}

.info-item{border-top:1px solid #2F6B4F;padding:18px 0}
.info-item:first-of-type{border-top:none}
.info-label{color:#C3D6B8;font-size:13px;font-weight:700;letter-spacing:1.2px;text-transform:uppercase}
.info-value{color:#EAF0E6;margin-top:4px}

.info-note{color:#EAF0E6;font-size:15px;margin-top:14px}

.form-group{margin-bottom:20px}
.form-group label{display:block;color:#C3D6B8;font-size:14px;font-weight:700;margin-bottom:8px}
.form-group input,.form-group textarea{
  width:100%;
  background:#10150F;
  border:1px solid #2F6B4F;
  color:#EAF0E6;
  padding:12px 14px;
  font-size:16px;
  font-family:inherit;
}
.form-group input:focus,.form-group textarea:focus{outline:none;border-color:#C3D6B8}
.form-group textarea{min-height:150px;resize:vertical}

.form-status{color:#C3D6B8;font-weight:700;margin-top:14px;min-height:20px}

.faq-band{padding:0 0 88px}
.faq-list{margin-top:34px}

.faq-item{background:#1A2218;border:1px solid #2F6B4F;margin-bottom:14px}

.faq-item summary{
  list-style:none;
  cursor:pointer;
  color:#EAF0E6;
  font-size:17px;
  font-weight:700;
  padding:20px 56px 20px 24px;
  position:relative;
  font-family:inherit;
}

.faq-item summary::-webkit-details-marker{display:none}

.faq-item summary::after{
  content:'+';
  position:absolute;
  right:22px;
  top:50%;
  transform:translateY(-50%);
  color:#C3D6B8;
  font-size:24px;
  font-weight:800;
}

.faq-item[open] summary::after{content:'-'}

.faq-a{padding:0 24px 22px;color:#EAF0E6;border-top:1px solid #2F6B4F;padding-top:16px}

.fade-up{opacity:0;transform:translateY(20px);transition:opacity .6s ease,transform .6s ease}
.fade-up.visible{opacity:1;transform:none}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .fade-up{opacity:1;transform:none;transition:none}
}

@media (max-width:900px){
  .center-nav-inner{flex-wrap:wrap;padding:0}
  .wordmark{margin:0 24px;order:1}
  .nav-toggle{display:flex;order:2;margin-left:auto;margin-right:24px}
  .nav-left{order:3;flex:none;width:100%;flex-direction:column}
  .nav-right{order:4;flex:none;width:100%;flex-direction:column}
  .nav-group{display:none}
  .center-nav.nav-open .nav-group{display:flex}
  .center-nav.nav-open .nav-group{border-top:1px solid #2F6B4F}
  .nav-group a{padding:14px 24px;border-bottom:1px solid #1A2218}
  .nav-group a.active{border-bottom-color:#2F6B4F}
  .block-hero h1{font-size:42px}
  .section-head h2{font-size:32px}
  .footer-grid{grid-template-columns:1fr 1fr}
  .footer-col{border-right:none;border-bottom:1px solid #2F6B4F}
  .footer-col:last-child{border-bottom:none}
  .footer-brand{grid-column:1 / -1}
}

@media (max-width:720px){
  .block-hero h1{font-size:36px}
  .block-hero .container{padding-top:56px}
  .hero-ctas{flex-direction:column;align-items:stretch}
  .hero-ctas .btn{text-align:center}
  .pine-row{gap:24px;margin-top:44px}
  .services-grid{grid-template-columns:1fr}
  .service-block{margin-left:0}
  .process-row{grid-template-columns:1fr}
  .process-step{border-right:none;border-bottom:1px solid #2F6B4F}
  .process-step:last-child{border-bottom:none}
  .metric-num{font-size:38px}
  .metric-label{font-size:12px}
  .service-entry{grid-template-columns:1fr;gap:14px}
  .phase-row{grid-template-columns:1fr;gap:8px}
  .contact-grid{grid-template-columns:1fr}
  .page-band h1{font-size:36px}
  .cta-band h2{font-size:32px}
}
