@import url('https://fonts.googleapis.com/css2?family=Zilla+Slab:wght@400;500;600;700&family=Work+Sans:wght@400;500;600&display=swap');

:root{
  --ink:#1C2620;
  --paper:#EFE9D8;
  --paper-2:#E7DFC9;
  --pine:#24443B;
  --pine-deep:#182F29;
  --moss:#6B8F71;
  --amber:#C99A2E;
  --amber-deep:#A87D1F;
  --rust:#A64B2A;
  --line:#D8CFB8;
  --max:1120px;
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  background:var(--paper);
  color:var(--ink);
  font-family:'Work Sans', sans-serif;
  font-size:17px;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3{
  font-family:'Zilla Slab', serif;
  color:var(--pine-deep);
  margin:0 0 .4em 0;
  line-height:1.15;
}
h1{font-size:clamp(2.1rem,4.4vw,3.4rem); font-weight:700;}
h2{font-size:clamp(1.6rem,3vw,2.2rem); font-weight:600;}
h3{font-size:1.25rem; font-weight:600;}
p{margin:0 0 1em 0;}
a{color:var(--pine-deep);}
.wrap{max-width:var(--max); margin:0 auto; padding:0 28px;}
img,svg{max-width:100%; display:block;}

/* header */
header.site{
  background:var(--pine);
  color:#F4F0E3;
}
.nav{
  display:flex; align-items:center; justify-content:space-between;
  padding:18px 28px;
  max-width:var(--max); margin:0 auto;
  gap:16px; flex-wrap:wrap;
}
.brand{
  display:flex; align-items:center; gap:10px;
  font-family:'Zilla Slab', serif; font-weight:700; font-size:1.3rem;
  color:#F4F0E3; text-decoration:none;
}
.brand .mark{width:34px; height:34px; flex:none;}
.nav-call{
  display:flex; align-items:center; gap:10px;
}
.nav-phone{
  color:#F4F0E3; font-weight:600; text-decoration:none; font-size:1.05rem;
  white-space:nowrap;
}
.btn{
  display:inline-flex; align-items:center; gap:8px;
  background:var(--amber); color:var(--pine-deep);
  font-weight:600; text-decoration:none;
  padding:12px 22px; border-radius:3px;
  border:1px solid var(--amber-deep);
  font-size:1rem;
  transition:background .15s ease;
}
.btn:hover{background:var(--amber-deep); color:#fff;}
.btn.ghost{
  background:transparent; color:#F4F0E3; border:1px solid rgba(244,240,227,.5);
}
.btn.ghost:hover{background:rgba(244,240,227,.12); color:#F4F0E3;}

/* hero */
.hero{
  position:relative;
  background:var(--pine);
  color:#F4F0E3;
  padding:64px 0 90px 0;
  overflow:hidden;
}
.hero .wrap{
  display:grid;
  grid-template-columns:1.3fr .8fr;
  gap:48px;
  align-items:center;
}
.hero p.lead{
  font-size:1.18rem;
  color:#DCE3D6;
  max-width:46ch;
}
.hero-actions{display:flex; gap:14px; flex-wrap:wrap; margin-top:22px;}
.hero-badges{
  display:flex; flex-direction:column; gap:10px; margin-top:34px;
}
.hero-badge{
  display:flex; gap:10px; align-items:flex-start;
  color:#DCE3D6; font-size:.98rem;
}
.hero-badge svg{width:18px; height:18px; flex:none; margin-top:3px; fill:var(--amber);}

.seal{
  width:100%; max-width:290px; justify-self:center;
}

/* signs / checklist */
.signs{
  padding:76px 0;
  background:var(--paper);
}
.signs .intro{max-width:56ch;}
.checklist{
  list-style:none; margin:34px 0 0 0; padding:0;
  display:grid; grid-template-columns:1fr 1fr; gap:16px 40px;
}
.checklist li{
  display:flex; gap:12px; align-items:flex-start;
  padding:16px 0; border-bottom:1px solid var(--line);
  font-size:1.02rem;
}
.checklist svg{width:20px; height:20px; flex:none; margin-top:3px; fill:var(--rust);}
.signs-cta{
  margin-top:36px; padding-top:8px;
}

/* services */
.services{
  padding:76px 0;
  background:var(--paper-2);
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
}
.service-grid{
  display:grid; grid-template-columns:repeat(3,1fr); gap:28px; margin-top:36px;
}
.service-card{
  background:var(--paper);
  border:1px solid var(--line);
  padding:30px 26px;
  border-radius:4px;
}
.service-card .icon{
  width:44px; height:44px; margin-bottom:16px;
}
.service-card .icon svg{fill:var(--pine);}

/* area served */
.area{
  padding:76px 0;
}
.area-inner{
  display:grid; grid-template-columns:1fr 1fr; gap:48px; align-items:start;
}
.state-grid{
  display:grid; grid-template-columns:1fr 1fr; gap:14px;
  margin-top:8px;
}
.state-pill{
  border:1px solid var(--pine);
  color:var(--pine-deep);
  padding:14px 18px;
  border-radius:4px;
  font-family:'Zilla Slab', serif;
  font-weight:600;
  font-size:1.05rem;
  background:var(--paper);
}
.note{
  font-size:.95rem; color:#4B564E; margin-top:18px;
}

/* process */
.process{
  padding:76px 0;
  background:var(--pine-deep);
  color:#F0EBDC;
}
.process h2{color:#F0EBDC;}
.process-steps{
  display:grid; grid-template-columns:repeat(3,1fr); gap:30px; margin-top:40px;
  counter-reset:step;
}
.step{
  position:relative; padding-left:52px;
}
.step::before{
  counter-increment:step;
  content:counter(step);
  position:absolute; left:0; top:-4px;
  width:38px; height:38px;
  border:1px solid var(--amber);
  color:var(--amber);
  border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  font-family:'Zilla Slab', serif; font-weight:700; font-size:1.15rem;
}
.step h3{color:#F0EBDC; margin-bottom:.3em;}
.step p{color:#C7CFC3; margin-bottom:0;}

/* cta band */
.cta-band{
  background:var(--amber);
  color:var(--pine-deep);
  padding:48px 0;
}
.cta-band .wrap{
  display:flex; align-items:center; justify-content:space-between; gap:24px; flex-wrap:wrap;
}
.cta-band h2{color:var(--pine-deep); margin-bottom:.2em;}
.cta-band .btn{
  background:var(--pine-deep); color:#F4F0E3; border-color:var(--pine-deep);
}
.cta-band .btn:hover{background:var(--ink);}

/* footer */
footer.site{
  background:var(--ink);
  color:#B9C1B4;
  padding:44px 0 30px 0;
  font-size:.92rem;
}
.foot-grid{
  display:grid; grid-template-columns:1.3fr .8fr .8fr; gap:32px;
}
.foot-grid h4{
  color:#E7E2D0; font-family:'Zilla Slab', serif; font-size:1.02rem; margin:0 0 .6em 0;
}
.foot-grid a{color:#B9C1B4; text-decoration:none;}
.foot-grid a:hover{color:#E7E2D0;}
.foot-grid ul{list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:8px;}
.disclaimer{
  border-top:1px solid #2C362E; margin-top:32px; padding-top:20px;
  font-size:.82rem; color:#8B9587; max-width:76ch;
}

/* legal pages */
.legal{
  padding:64px 0 80px 0; max-width:820px; margin:0 auto;
}
.legal h1{margin-bottom:.3em;}
.legal .updated{color:#5C6759; font-size:.9rem; margin-bottom:2em;}
.legal h2{font-size:1.3rem; margin-top:1.6em;}
.legal p, .legal li{color:#2E362F;}
.legal ul{padding-left:1.2em;}
.back-link{display:inline-block; margin-bottom:24px; font-size:.95rem;}

@media (max-width: 880px){
  .hero .wrap{grid-template-columns:1fr;}
  .seal{order:-1; max-width:180px; margin-bottom:8px;}
  .checklist{grid-template-columns:1fr;}
  .service-grid{grid-template-columns:1fr;}
  .area-inner{grid-template-columns:1fr;}
  .process-steps{grid-template-columns:1fr;}
  .foot-grid{grid-template-columns:1fr; gap:26px;}
  .cta-band .wrap{flex-direction:column; align-items:flex-start;}
}
