
:root{
  --green:#073d27;
  --green2:#0b4f31;
  --green3:#03291b;
  --red:#c50e18;
  --red-dark:#9d0c13;
  --gold:#d5aa48;
  --white:#fffdf9;
  --cream:#f8f6f1;
  --ink:#113325;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  background:#fff;
  color:var(--ink);
  font-family:"DM Sans",system-ui,-apple-system,"Segoe UI",sans-serif;
}
a{text-decoration:none;color:inherit}
img{display:block;max-width:100%}
button,input,textarea,select{font:inherit}

.topbar{
  position:sticky;
  top:0;
  z-index:100;
  background:rgba(255,255,255,.97);
  border-bottom:1px solid rgba(6,61,39,.12);
  box-shadow:0 4px 20px rgba(0,0,0,.05);
  backdrop-filter:blur(10px);
}
.nav-wrap{
  width:min(1240px,calc(100% - 36px));
  height:92px;
  margin:auto;
  display:grid;
  grid-template-columns:210px 1fr auto;
  gap:28px;
  align-items:center;
}
.brand{
  width:190px;
  height:78px;
  display:flex;
  align-items:center;
  justify-content:flex-start;
  overflow:visible;
}
.brand img{
  width:185px;
  max-height:76px;
  object-fit:contain;
  object-position:left center;
  filter:drop-shadow(0 2px 2px rgba(0,0,0,.10));
}
.topbar nav{
  display:flex;
  justify-content:center;
  gap:34px;
  font-weight:700;
  font-size:.94rem;
}
.topbar nav a{
  position:relative;
  padding:31px 0 26px;
}
.topbar nav a::after{
  content:"";
  position:absolute;
  left:0;right:0;bottom:20px;
  height:2px;
  background:var(--red);
  transform:scaleX(0);
  transition:.2s ease;
}
.topbar nav a:hover::after,.topbar nav a.active::after{transform:scaleX(1)}
.call-pill{
  display:flex;
  align-items:center;
  gap:12px;
  background:var(--red);
  color:white;
  border-radius:999px;
  padding:14px 22px;
  font-size:1rem;
  font-weight:800;
  box-shadow:0 10px 26px rgba(197,14,24,.2);
}
.call-icon{font-size:1.15rem}

.hero{
  display:grid;
  grid-template-columns:40% 60%;
  min-height:570px;
  overflow:hidden;
  background:var(--green);
}
.hero-copy{
  position:relative;
  z-index:3;
  color:white;
  padding:52px 42px 50px max(48px,calc((100vw - 1240px)/2));
  display:flex;
  flex-direction:column;
  justify-content:center;
  background:
    radial-gradient(circle at 24% 16%,rgba(42,111,72,.20),transparent 34%),
    linear-gradient(135deg,#053821,#062f20);
}
.hero-logo{
  width:min(430px,96%);
  filter:drop-shadow(0 8px 16px rgba(0,0,0,.25));
  margin-bottom:12px;
}
.eyebrow{
  font-family:"Playfair Display",serif;
  text-transform:uppercase;
  letter-spacing:.26em;
  font-size:clamp(1.05rem,1.5vw,1.35rem);
  line-height:1.45;
  font-weight:800;
  margin:8px 0 16px;
}
.hero-text{
  width:min(480px,95%);
  margin:0;
  font-size:1rem;
  line-height:1.5;
  color:rgba(255,255,255,.92);
}
.primary-btn{
  margin-top:28px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:14px;
  width:max-content;
  min-width:250px;
  min-height:52px;
  padding:0 24px;
  border-radius:999px;
  color:white;
  background:var(--red);
  font-family:"Oswald",sans-serif;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.05em;
  box-shadow:0 9px 24px rgba(197,14,24,.23);
}
.primary-btn:hover{background:var(--red-dark)}

.hero-visual{
  position:relative;
  min-height:570px;
  background:var(--green);
}
.hero-visual img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center 49%;
}
.green-fade{
  pointer-events:none;
  position:absolute;
  inset:0;
  /* No dark shaded overlay — only a soft fade into the green at the left edge */
  background:linear-gradient(90deg,var(--green) 0%,rgba(7,61,39,.70) 6%,rgba(7,61,39,.28) 15%,rgba(7,61,39,0) 28%);
}

.services{
  position:relative;
  z-index:4;
  display:grid;
  grid-template-columns:repeat(4,1fr);
  padding:25px max(24px,calc((100vw - 1240px)/2));
  background:var(--white);
  border-bottom:1px solid #e9e2d7;
}
.services article{
  min-height:140px;
  text-align:center;
  padding:10px 26px 14px;
  border-right:1px solid #ddd5ca;
}
.services article:last-child{border-right:0}
.icon{
  width:62px;
  height:62px;
  border-radius:50%;
  margin:0 auto 10px;
  display:grid;
  place-items:center;
  color:white;
  font-size:1.65rem;
}
.icon.green{background:var(--green)}
.icon.red{background:var(--red)}
.services h3{
  margin:0;
  font-family:"Playfair Display",serif;
  font-size:1.25rem;
}
.services p{
  margin:6px auto 0;
  max-width:210px;
  color:#52675d;
  line-height:1.34;
  font-size:.92rem;
}

.quote-section{
  position:relative;
  overflow:hidden;
  display:grid;
  grid-template-columns:45% 55%;
  gap:38px;
  padding:58px max(48px,calc((100vw - 1240px)/2));
  background:
    radial-gradient(circle at 23% 20%,rgba(213,170,72,.13),transparent 28%),
    radial-gradient(circle at 74% 66%,rgba(255,255,255,.05),transparent 32%),
    linear-gradient(120deg,#062d1f,#0b4a2f 54%,#063520);
  color:white;
}
.quote-section::before{
  content:"";
  position:absolute;
  inset:0;
  opacity:.34;
  background:
    radial-gradient(circle at 10% 18%,#f0ca63 0 2px,transparent 3px) 0 0/44px 44px,
    radial-gradient(circle at 22% 76%,#c50e18 0 3px,transparent 4px) 0 0/66px 66px;
  filter:blur(.2px);
  pointer-events:none;
}
.decor{
  position:absolute;
  top:0;
  bottom:0;
  width:62px;
  opacity:.92;
  background:
    radial-gradient(circle at 50% 6%,#e5b84f 0 2px,transparent 3px) 0 0/22px 25px,
    linear-gradient(90deg,transparent 20%,rgba(16,87,49,.9) 21% 79%,transparent 80%);
}
.decor-left{left:0}
.decor-right{right:0}
.area-copy,.quote-card{position:relative;z-index:3}
.area-copy{padding:8px 12px 0 0}
.micro{
  display:inline-block;
  font-family:"Oswald",sans-serif;
  text-transform:uppercase;
  letter-spacing:.24em;
  font-size:.78rem;
  color:#f2d77e;
  margin-bottom:10px;
}
.area-copy h2{
  font-family:"Playfair Display",serif;
  margin:0;
  font-size:clamp(3rem,5vw,4.7rem);
  line-height:.98;
  max-width:600px;
}
.red-line{
  width:112px;
  height:4px;
  background:var(--red);
  margin:26px 0 20px;
}
.area-copy>p{
  max-width:490px;
  font-size:1.03rem;
  line-height:1.5;
  color:rgba(255,255,255,.9);
}
.mini-features{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:0;
  max-width:560px;
  margin-top:28px;
  border-top:1px solid rgba(255,255,255,.2);
}
.mini-features div{
  display:flex;
  align-items:center;
  gap:10px;
  padding:14px 16px 14px 0;
  border-bottom:1px solid rgba(255,255,255,.16);
  font-size:.8rem;
}
.mini-features span{
  width:38px;
  height:38px;
  display:grid;
  place-items:center;
  border:1px solid rgba(255,255,255,.65);
  border-radius:50%;
  font-size:1.1rem;
}
.mini-features b{font-weight:600}

.quote-card{
  align-self:center;
  background:#fff;
  color:var(--ink);
  border:2px solid #d7b053;
  border-radius:18px;
  padding:25px 28px 20px;
  box-shadow:0 20px 58px rgba(0,0,0,.28);
}
.quote-card h2{
  margin:0 0 18px;
  text-align:center;
  font-family:"Playfair Display",serif;
  font-size:clamp(2.15rem,3.2vw,3.1rem);
}
.grid2{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
  margin-bottom:11px;
}
input,select,textarea{
  width:100%;
  border:1px solid #cfd7d2;
  border-radius:7px;
  background:#fbfcfb;
  color:#173729;
  padding:12px 13px;
  outline:none;
}
input:focus,select:focus,textarea:focus{
  border-color:#0b4f31;
  box-shadow:0 0 0 3px rgba(11,79,49,.09);
}
textarea{
  resize:vertical;
  margin-bottom:12px;
}
.submit-btn{
  width:100%;
  min-height:49px;
  border:0;
  border-radius:999px;
  background:var(--red);
  color:white;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:13px;
  cursor:pointer;
  font-family:"Oswald",sans-serif;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.045em;
  font-size:1rem;
}
.submit-btn:hover{background:var(--red-dark)}
.form-note{
  margin:8px 0 0;
  text-align:center;
  color:#7e8883;
  font-size:.76rem;
}

footer{
  background:white;
  border-top:1px solid #e9e2d7;
}
.footer-wrap{
  width:min(1240px,calc(100% - 36px));
  margin:auto;
  min-height:92px;
  display:grid;
  grid-template-columns:170px 1fr auto;
  align-items:center;
  gap:26px;
}
.footer-wrap>img{width:120px}
.footer-wrap nav{
  display:flex;
  justify-content:center;
  gap:26px;
  font-size:.82rem;
  font-weight:600;
}
.footer-phone{
  display:flex;
  align-items:center;
  gap:10px;
  color:var(--green);
  font-size:1.15rem;
}
.footer-phone strong{font-size:1.35rem}

@media(max-width:1000px){
  .nav-wrap{grid-template-columns:150px 1fr auto}
  .topbar nav{gap:18px;font-size:.84rem}
  .hero{grid-template-columns:47% 53%}
  .services{grid-template-columns:repeat(2,1fr)}
  .services article:nth-child(2){border-right:0}
  .services article:nth-child(-n+2){border-bottom:1px solid #ddd5ca}
  .quote-section{grid-template-columns:1fr}
  .footer-wrap{grid-template-columns:130px 1fr auto}
}
@media(max-width:760px){
  .nav-wrap{height:76px;grid-template-columns:1fr auto}
  .topbar nav{display:none}
  .brand{width:145px;height:72px}
  .brand img{width:142px;max-height:70px}
  .call-pill{padding:10px 14px;font-size:.84rem}
  .hero{grid-template-columns:1fr}
  .hero-copy{
    order:1;
    padding:34px 22px 38px;
  }
  .hero-visual{order:0;min-height:360px}
  .green-fade{
    background:linear-gradient(180deg,rgba(7,61,39,0) 55%,rgba(7,61,39,.62) 82%,var(--green) 100%);
  }
  .services{grid-template-columns:1fr;padding:0}
  .services article{
    border-right:0!important;
    border-bottom:1px solid #ddd5ca!important;
    padding:20px;
  }
  .services article:last-child{border-bottom:0!important}
  .quote-section{padding:44px 20px}
  .area-copy h2{font-size:clamp(2.65rem,11vw,4.1rem)}
  .grid2{grid-template-columns:1fr}
  .mini-features{grid-template-columns:1fr}
  .quote-card{padding:22px 17px 18px}
  .footer-wrap{
    grid-template-columns:1fr;
    justify-items:center;
    padding:22px 0;
    gap:15px;
  }
  .footer-wrap nav{flex-wrap:wrap;gap:12px 20px}
}
