
@import url('https://fonts.googleapis.com/css2?family=Lora:ital,wght@0,400;0,600;1,400&family=Inter:wght@400;500&display=swap');

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  --green:#2d5a3d;
  --black:#1a1a1a;
  --mid:#5a5a5a;
  --light:#909090;
  --rule:#e2e2dc;
  --bg:#fdfcf9;
  --white:#fff;
  --max:860px;
  --gap:40px;
}
html{font-size:17px;-webkit-text-size-adjust:100%}
body{font-family:'Inter',system-ui,sans-serif;color:var(--black);
  background:var(--bg);line-height:1.65}
a{color:inherit;text-decoration:none}

/* NAV */
header{background:var(--bg);border-bottom:1px solid var(--rule)}
.nav-inner{max-width:1080px;margin:0 auto;padding:0 var(--gap);
  display:flex;align-items:center;justify-content:space-between;height:58px}
.brand{font-family:'Lora',Georgia,serif;font-size:1rem;color:var(--green);
  letter-spacing:.01em}
nav{display:flex;align-items:center;gap:2rem}
nav a{font-size:.8125rem;color:var(--mid)}
nav a:hover{color:var(--black)}
nav a.nav-cta{color:var(--green);font-weight:500}
.nav-toggle{display:none;background:none;border:none;cursor:pointer;
  color:var(--black);padding:2px}
#nav-menu{display:flex;gap:2rem;align-items:center}

/* LAYOUT */
.wrap{max-width:var(--max);margin:0 auto;padding:0 var(--gap)}
.section{padding:72px 0;border-bottom:1px solid var(--rule)}
.section:last-of-type{border-bottom:none}

/* HOME HERO */
.home-hero{padding:96px var(--gap) 80px;max-width:var(--max);margin:0 auto}
.home-hero h1{
  font-family:'Lora',Georgia,serif;
  font-size:clamp(2rem,4vw,3rem);
  font-weight:400;
  color:var(--black);
  line-height:1.3;
  max-width:640px;
  margin-bottom:1.5rem;
}
.home-hero p{
  font-size:1rem;color:var(--mid);
  max-width:480px;line-height:1.8;
  margin-bottom:2.25rem;
}
.home-hero .sub{
  font-size:.875rem;color:var(--light);
  font-style:italic;
  font-family:'Lora',Georgia,serif;
  margin-top:-.75rem;
  margin-bottom:2.25rem;
}

/* PHOTO STRIP */
.photo-strip{width:100%;height:280px;object-fit:cover;object-position:center;
  display:block;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}
.photo-half{width:100%;height:220px;object-fit:cover;object-position:center;
  display:block;margin-bottom:2rem;border-radius:2px}

/* BUTTONS */
.btn{display:inline-block;font-size:.8125rem;font-weight:500;
  border-radius:2px;padding:.6rem 1.25rem;letter-spacing:.01em}
.btn-green{background:var(--green);color:#fff}
.btn-green:hover{opacity:.88}
.btn-ghost{border:1px solid var(--rule);color:var(--mid);margin-left:.75rem}
.btn-ghost:hover{border-color:#bbb;color:var(--black)}
.btn-link{color:var(--green);font-size:.875rem;font-weight:500}
.btn-link:hover{text-decoration:underline}

/* PAGE HEADER */
.page-hd{padding:72px 0 56px}
.page-hd h1{font-family:'Lora',Georgia,serif;font-weight:400;
  font-size:clamp(1.6rem,3vw,2.25rem);margin-bottom:.65rem;line-height:1.3}
.page-hd p{color:var(--mid);max-width:500px;line-height:1.75;font-size:.9375rem}

/* BODY TEXT */
.body-text h2{font-family:'Lora',Georgia,serif;font-weight:400;
  font-size:1.2rem;margin-bottom:.75rem;line-height:1.35}
.body-text p{color:var(--mid);line-height:1.8;font-size:.9375rem;margin-bottom:.9rem}
.body-text p:last-child{margin-bottom:0}
.body-text em{font-style:italic;color:var(--mid)}

/* TWO COL */
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:start}

/* SIMPLE LIST */
.list-plain{list-style:none;padding:0}
.list-plain li{font-size:.9rem;color:var(--mid);padding:.55rem 0;
  border-bottom:1px solid var(--rule);line-height:1.55}
.list-plain li:last-child{border-bottom:none}
.list-plain a{color:var(--green)}
.list-plain a:hover{text-decoration:underline}

/* SERVICE TABLE */
.svc-table{width:100%;border-collapse:collapse;margin-top:1.5rem}
.svc-table tr{border-bottom:1px solid var(--rule)}
.svc-table tr:first-child{border-top:1px solid var(--rule)}
.svc-table td{padding:1.1rem 0;vertical-align:top}
.svc-table td:first-child{width:36%;font-size:.9375rem;color:var(--black);
  font-weight:500;padding-right:2rem}
.svc-table td:last-child{font-size:.875rem;color:var(--mid);line-height:1.75}

/* ENGAGE */
.engage-blocks{margin-top:2.5rem;display:grid;
  grid-template-columns:repeat(3,1fr);gap:2.5rem}
.engage-block h3{font-family:'Lora',Georgia,serif;font-weight:400;
  font-size:1rem;margin-bottom:.5rem}
.engage-block p{font-size:.875rem;color:var(--mid);line-height:1.75}

/* ABOUT */
.bird-wrap{float:right;margin:0 0 2.5rem 3rem;width:130px;opacity:.92}
.clearfix::after{content:'';display:block;clear:both}
.about-lead{font-family:'Lora',Georgia,serif;font-weight:400;font-style:italic;
  font-size:1.15rem;line-height:1.75;color:var(--mid);
  max-width:560px;margin-bottom:2.5rem}
.values-list{list-style:none;padding:0;margin-top:1.5rem}
.values-list li{padding:1rem 0;border-bottom:1px solid var(--rule)}
.values-list li:last-child{border-bottom:none}
.values-list strong{display:block;font-size:.9375rem;margin-bottom:.25rem}
.values-list p{font-size:.875rem;color:var(--mid);line-height:1.7;margin:0}

/* FAQ */
.faq-group{margin-bottom:2.5rem}
.faq-group-title{font-size:.72rem;font-weight:500;letter-spacing:.09em;
  text-transform:uppercase;color:var(--light);margin-bottom:1rem}
.faq-item{border-bottom:1px solid var(--rule)}
.faq-q{width:100%;text-align:left;background:none;border:none;
  font-family:'Inter',sans-serif;font-size:.9375rem;color:var(--black);
  padding:.9rem 0;cursor:pointer;display:flex;
  justify-content:space-between;align-items:center;gap:1rem;line-height:1.4}
.faq-q:hover{color:var(--green)}
.arrow{font-size:.65rem;color:var(--light);flex-shrink:0;transition:transform .2s}
.faq-item.open .arrow{transform:rotate(180deg)}
.faq-a{display:none;padding:0 0 1rem;font-size:.875rem;
  color:var(--mid);line-height:1.8;max-width:580px}
.faq-item.open .faq-a{display:block}

/* CONTACT */
.contact-cols{display:grid;grid-template-columns:1fr 1fr;gap:6rem}
.c-block{margin-bottom:2rem}
.c-label{font-size:.7rem;font-weight:500;letter-spacing:.09em;
  text-transform:uppercase;color:var(--light);display:block;margin-bottom:.35rem}
.c-val{font-size:.9375rem;color:var(--black)}
.c-val a{color:var(--green)}
.c-val a:hover{text-decoration:underline}
.steps-list{list-style:none;padding:0;counter-reset:s}
.steps-list li{counter-increment:s;display:grid;
  grid-template-columns:1.25rem 1fr;gap:1rem;
  padding:.9rem 0;border-bottom:1px solid var(--rule)}
.steps-list li:last-child{border-bottom:none}
.steps-list li::before{content:counter(s);font-size:.75rem;
  color:var(--green);font-weight:500;padding-top:.2rem}
.steps-list strong{display:block;font-size:.875rem;margin-bottom:.2rem}
.steps-list p{margin:0;font-size:.8125rem;color:var(--mid);line-height:1.7}

/* SPECIALTIES TABS */
.spec-tabs{display:flex;gap:0;border-bottom:1px solid var(--rule);margin-bottom:2.5rem}
.spec-tab{padding:.65rem 1.25rem .65rem 0;font-size:.8125rem;color:var(--mid);
  background:none;border:none;border-bottom:1px solid transparent;
  margin-bottom:-1px;cursor:pointer;font-family:inherit}
.spec-tab.active,.spec-tab:hover{color:var(--green)}
.spec-tab.active{border-bottom-color:var(--green)}
.spec-section{display:none}
.spec-section.active{display:grid;grid-template-columns:1fr 1fr;gap:4rem}
.spec-section h2{font-family:'Lora',Georgia,serif;font-weight:400;
  font-size:1.15rem;margin-bottom:1.25rem;grid-column:1/-1}
.spec-col h4{font-size:.7rem;font-weight:500;color:var(--light);
  text-transform:uppercase;letter-spacing:.08em;margin-bottom:.75rem}
.spec-col ul{list-style:none;padding:0}
.spec-col ul li{font-size:.875rem;color:var(--mid);
  padding:.45rem 0;border-bottom:1px solid var(--rule)}
.spec-col ul li:last-child{border-bottom:none}
.spec-col a{color:var(--green);font-size:.875rem}
.spec-col a:hover{text-decoration:underline}

/* CTA STRIP */
.cta-strip{padding:64px 0;display:flex;align-items:center;
  justify-content:space-between;gap:2rem}
.cta-strip-text h2{font-family:'Lora',Georgia,serif;font-weight:400;font-size:1.2rem}
.cta-strip-text p{color:var(--mid);font-size:.875rem;margin-top:.3rem;
  font-style:italic;font-family:'Lora',Georgia,serif}

/* FOOTER */
footer{border-top:1px solid var(--rule);padding:36px 0;background:var(--bg)}
.foot-inner{max-width:1080px;margin:0 auto;padding:0 var(--gap);
  display:flex;justify-content:space-between;align-items:center;
  flex-wrap:wrap;gap:1.5rem}
.foot-brand{font-family:'Lora',Georgia,serif;font-size:.9rem;color:var(--green)}
.foot-contact{font-size:.8rem;color:var(--light);margin-top:.2rem}
.foot-contact a{color:var(--light)}
.foot-contact a:hover{color:var(--green)}
.foot-sep{margin:0 .4rem;color:var(--rule)}
.foot-links{display:flex;gap:1.5rem;flex-wrap:wrap}
.foot-links a{font-size:.7875rem;color:var(--mid)}
.foot-links a:hover{color:var(--black)}

/* RESOURCE GUIDE */
.guide-intro{font-family:'Lora',Georgia,serif;font-style:italic;font-weight:400;
  font-size:1.1rem;line-height:1.8;color:var(--mid);max-width:580px;margin-bottom:2.5rem}
.guide-body h2{font-family:'Lora',Georgia,serif;font-weight:400;
  font-size:1.15rem;margin:2.5rem 0 .75rem;line-height:1.35;color:var(--black)}
.guide-body h3{font-size:.9375rem;font-weight:500;margin:1.75rem 0 .5rem;color:var(--black)}
.guide-body p{font-size:.9375rem;color:var(--mid);line-height:1.8;margin-bottom:.9rem}
.guide-body ul,.guide-body ol{padding-left:1.5rem;margin-bottom:1rem}
.guide-body li{font-size:.9375rem;color:var(--mid);line-height:1.8;margin-bottom:.35rem}
.guide-body strong{color:var(--black)}
.guide-back{display:inline-block;font-size:.8125rem;color:var(--green);
  margin-bottom:2rem;font-weight:500}
.guide-back:hover{text-decoration:underline}

/* RESPONSIVE */
@media(max-width:760px){
  .two-col,.contact-cols,.engage-blocks,.spec-section.active{
    grid-template-columns:1fr;gap:2.5rem}
  .spec-section h2{grid-column:1}
  .bird-wrap{float:none;margin:0 0 2rem}
  .cta-strip{flex-direction:column;align-items:flex-start}
  .svc-table td:first-child{width:40%}
  .photo-strip{height:200px}
}
@media(max-width:520px){
  :root{--gap:24px}
  .home-hero{padding:64px var(--gap) 56px}
  .home-hero h1{font-size:1.75rem}
  nav{display:none}
  .nav-toggle{display:flex}
  #nav-menu{display:none;position:absolute;top:58px;left:0;right:0;
    background:var(--bg);border-bottom:1px solid var(--rule);
    flex-direction:column;align-items:flex-start;
    padding:1rem var(--gap);gap:0}
  #nav-menu.open{display:flex}
  #nav-menu a{padding:.6rem 0;border-bottom:1px solid var(--rule);width:100%;margin:0}
  #nav-menu a:last-child{border-bottom:none}
  .svc-table{display:block}
  .svc-table tr,.svc-table td{display:block}
  .svc-table td:first-child{padding-bottom:.25rem;padding-right:0}
  .svc-table td:last-child{padding-top:0;padding-bottom:1.25rem}
  .photo-strip{height:160px}
}
