:root{
    --forest:#1E3B2C;
    --forest-dark:#122A1D;
    --forest-mid:#2E5540;
    --paper:#F1F0E6;
    --paper-dim:#E7E5D6;
    --ink:#1E1C16;
    --amber:#D9A441;
    --amber-dark:#B9852A;
    --rust:#B8421F;
    --rust-dark:#8F3117;
    --line:#c9c6b4;
    --mono:'IBM Plex Mono', monospace;
    --display:'Oswald', sans-serif;
    --body:'Inter', sans-serif;
  }
  *{box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{
    margin:0;
    font-family:var(--body);
    color:var(--ink);
    background:var(--paper);
    line-height:1.55;
  }
  h1,h2,h3,h4{
    font-family:var(--display);
    text-transform:uppercase;
    letter-spacing:0.02em;
    margin:0;
    color:var(--forest-dark);
  }
  a{color:inherit;}
  img{max-width:100%;display:block;}
  .wrap{max-width:1180px;margin:0 auto;padding:0 24px;}
  .eyebrow{
    font-family:var(--mono);
    text-transform:uppercase;
    letter-spacing:0.14em;
    font-size:12px;
    color:var(--rust);
    font-weight:600;
  }
  .eyebrow.on-dark{color:var(--amber);}

  /* ===== Top utility bar ===== */
  .topbar{
    background:var(--forest-dark);
    color:var(--paper);
    font-family:var(--mono);
    font-size:13px;
  }
  .topbar .wrap{
    display:flex;
    justify-content:space-between;
    align-items:center;
    padding:9px 24px;
    flex-wrap:wrap;
    gap:6px;
  }
  .topbar a{color:var(--amber);text-decoration:none;font-weight:600;}
  .topbar .badge-dot{color:#7fae8f;}

  /* ===== Header / hero ===== */
  header.hero{
    background:
      radial-gradient(circle at 15% 20%, rgba(217,164,65,0.08), transparent 45%),
      var(--forest);
    color:var(--paper);
    position:relative;
    overflow:hidden;
    border-bottom:6px solid var(--amber);
  }
  header.hero::before{
    content:"";
    position:absolute; inset:0;
    background-image:
      repeating-linear-gradient(0deg, rgba(241,240,230,0.045) 0px, rgba(241,240,230,0.045) 1px, transparent 1px, transparent 64px),
      repeating-linear-gradient(90deg, rgba(241,240,230,0.045) 0px, rgba(241,240,230,0.045) 1px, transparent 1px, transparent 64px);
    pointer-events:none;
  }
  nav.mainnav{
    position:relative;
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:20px 0;
  }
  .brand{
    display:flex;
    align-items:center;
    gap:12px;
    text-decoration:none;
  }
  .brand-mark{
    width:44px;height:44px;
    border:2px solid var(--amber);
    border-radius:50%;
    display:flex;align-items:center;justify-content:center;
    font-family:var(--mono);
    font-weight:600;
    color:var(--amber);
    font-size:11px;
    letter-spacing:0.05em;
    text-align:center;
    line-height:1.1;
    flex-shrink:0;
  }
  .brand-text{font-family:var(--display);color:var(--paper);font-size:17px;line-height:1.15;letter-spacing:0.01em;}
  .brand-text small{display:block;font-family:var(--mono);text-transform:uppercase;letter-spacing:0.12em;font-size:10px;color:var(--amber);margin-top:3px;font-weight:600;}
  nav.mainnav ul{
    display:flex;gap:28px;list-style:none;margin:0;padding:0;
    font-family:var(--mono);font-size:12.5px;text-transform:uppercase;letter-spacing:0.08em;
  }
  nav.mainnav ul a{text-decoration:none;color:var(--paper);opacity:0.85;}
  nav.mainnav ul a:hover{opacity:1;color:var(--amber);}
  .navcall{
    font-family:var(--mono);font-weight:600;
    background:var(--amber);color:var(--forest-dark);
    padding:10px 16px;border-radius:3px;text-decoration:none;font-size:13px;
    white-space:nowrap;
  }
  .mobile-only{display:none;}

  .hero-body{
    position:relative;
    padding:64px 0 88px;
    display:grid;
    grid-template-columns:1.2fr 0.8fr;
    gap:48px;
    align-items:center;
  }
  .stamp{
    position:absolute; top:40px; right:24px;
    width:118px;height:118px;
    border:2px solid var(--amber);
    border-radius:50%;
    display:flex;align-items:center;justify-content:center;
    transform:rotate(8deg);
    opacity:0.9;
  }
  .stamp svg{width:100%;height:100%;}
  .hero h1{
    font-size:clamp(34px, 5.4vw, 58px);
    line-height:1.03;
    color:var(--paper);
  }
  .hero h1 span{color:var(--amber);}
  .hero p.lede{
    font-family:var(--body);
    text-transform:none;
    font-size:17px;
    color:#D9D8C8;
    max-width:52ch;
    margin-top:20px;
  }
  .hero-ctas{
    margin-top:32px;
    display:flex;
    gap:14px;
    flex-wrap:wrap;
    align-items:center;
  }
  .btn-primary{
    background:var(--rust);
    color:#fff;
    font-family:var(--display);
    text-transform:uppercase;
    letter-spacing:0.04em;
    font-size:16px;
    padding:16px 28px;
    border-radius:3px;
    text-decoration:none;
    display:inline-flex;
    align-items:center;
    gap:10px;
    box-shadow:0 6px 0 var(--rust-dark);
    transition:transform 0.12s ease;
  }
  .btn-primary:hover{transform:translateY(-2px);}
  .btn-secondary{
    color:var(--paper);
    font-family:var(--mono);
    text-decoration:underline;
    text-underline-offset:4px;
    font-size:13px;
    letter-spacing:0.03em;
  }
  .hero-phone{
    font-family:var(--mono);
    font-size:14px;
    color:var(--amber);
    letter-spacing:0.02em;
  }
  .hero-card{
    background:var(--paper);
    border-radius:6px;
    padding:26px;
    border:1px solid var(--line);
    box-shadow:0 18px 40px rgba(0,0,0,0.25);
  }
  .hero-card h3{font-size:16px;color:var(--forest-dark);margin-bottom:14px;}
  .hero-card ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px;}
  .hero-card li{
    display:flex;gap:10px;align-items:flex-start;
    font-size:14.5px;
  }
  .hero-card li svg{flex-shrink:0;margin-top:2px;color:var(--rust);}
  .hero-card .callrow{
    margin-top:18px;padding-top:18px;border-top:1px dashed var(--line);
    text-align:center;
  }
  .hero-card .callrow a.phone-big{
    font-family:var(--mono);font-weight:600;font-size:22px;color:var(--forest-dark);text-decoration:none;
  }
  .hero-card .callrow .avail{font-family:var(--mono);font-size:11px;color:var(--rust);text-transform:uppercase;letter-spacing:0.1em;margin-top:4px;}

  /* ===== Stats strip ===== */
  .stats{
    background:var(--paper-dim);
    border-bottom:1px solid var(--line);
  }
  .stats .wrap{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    padding:28px 24px;
    gap:20px;
  }
  .stat{text-align:center;border-right:1px solid var(--line);}
  .stat:last-child{border-right:none;}
  .stat .num{font-family:var(--display);font-size:32px;color:var(--forest-dark);}
  .stat .lbl{font-family:var(--mono);font-size:11px;text-transform:uppercase;letter-spacing:0.08em;color:#6b6a5c;margin-top:4px;}

  /* ===== Sections generic ===== */
  section{padding:76px 0;}
  .section-head{max-width:640px;margin-bottom:44px;}
  .section-head h2{font-size:clamp(26px,3.4vw,38px);margin-top:8px;}
  .section-head p{font-size:15.5px;color:#4a4838;margin-top:12px;}

  /* ===== Services grid ===== */
  .svc-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:1px;
    background:var(--line);
    border:1px solid var(--line);
  }
  .svc-card{
    background:var(--paper);
    padding:28px 24px;
    display:flex;flex-direction:column;gap:12px;
  }
  .svc-card .icon{
    width:38px;height:38px;color:var(--rust);
  }
  .svc-card h3{font-size:16px;color:var(--forest-dark);}
  .svc-card p{font-size:13.6px;color:#565442;margin:0;}
  .svc-card .tag{
    font-family:var(--mono);font-size:10.5px;color:var(--forest-mid);text-transform:uppercase;letter-spacing:0.08em;margin-top:auto;
  }

  /* ===== Animal specimen cards ===== */
  .animals{background:var(--forest-dark);}
  .animals .section-head h2, .animals .eyebrow{color:var(--paper);}
  .animals .section-head p{color:#c7c6b6;}
  .spec-grid{
    display:grid;
    grid-template-columns:repeat(6,1fr);
    gap:14px;
  }
  .spec-card{
    background:var(--paper);
    border-radius:2px;
    padding:16px 12px 14px;
    position:relative;
    text-align:center;
  }
  .spec-card::before{
    content:"";
    position:absolute; top:8px; left:50%; transform:translateX(-50%);
    width:22px;height:22px;
    border:2px solid var(--line);
    border-radius:50%;
    background:var(--paper-dim);
  }
  .spec-card .idnum{
    font-family:var(--mono);font-size:9.5px;color:var(--rust);letter-spacing:0.08em;margin-top:20px;
  }
  .spec-card h4{font-size:13.5px;margin-top:6px;color:var(--forest-dark);letter-spacing:0.01em;}
  .spec-card .sub{font-family:var(--body);text-transform:none;font-size:11.5px;color:#6b6a5c;margin-top:3px;}

  /* ===== Process ===== */
  .process-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:0;
    counter-reset:step;
  }
  .step{
    padding:0 24px 0 0;
    border-left:1px solid var(--line);
    padding-left:22px;
    position:relative;
  }
  .step:first-child{border-left:none;padding-left:0;}
  .step .stepnum{
    font-family:var(--mono);font-size:12px;color:var(--rust);letter-spacing:0.1em;
  }
  .step h3{font-size:16px;margin-top:8px;color:var(--forest-dark);}
  .step p{font-size:13.6px;color:#565442;margin-top:8px;}

  /* ===== Coverage / states ===== */
  .coverage{background:var(--paper-dim);}
  .region-block{margin-bottom:28px;}
  .region-block h4{
    font-family:var(--mono);font-size:12px;color:var(--rust);text-transform:uppercase;letter-spacing:0.1em;
    margin-bottom:12px;
    border-bottom:1px solid var(--line);
    padding-bottom:8px;
  }
  .chip-row{display:flex;flex-wrap:wrap;gap:8px;}
  .chip{
    font-family:var(--body);font-size:13px;
    background:var(--paper);
    border:1px solid var(--line);
    padding:6px 12px;
    border-radius:20px;
    color:var(--ink);
  }

  /* ===== Testimonials ===== */
  .testi-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
  .testi{
    background:var(--paper);
    border:1px solid var(--line);
    border-top:3px solid var(--amber);
    padding:24px;
  }
  .testi p{font-size:14.5px;color:#3a3830;font-style:italic;}
  .testi .who{font-family:var(--mono);font-size:11.5px;text-transform:uppercase;letter-spacing:0.06em;color:var(--forest-mid);margin-top:14px;font-style:normal;}

  /* ===== FAQ ===== */
  .faq{max-width:820px;}
  .faq-item{border-bottom:1px solid var(--line);}
  .faq-item summary{
    font-family:var(--display);
    font-size:17px;
    color:var(--forest-dark);
    padding:20px 0;
    cursor:pointer;
    list-style:none;
    display:flex;justify-content:space-between;align-items:center;
    text-transform:uppercase;
    letter-spacing:0.01em;
  }
  .faq-item summary::-webkit-details-marker{display:none;}
  .faq-item summary::after{
    content:"+";
    font-family:var(--mono);
    color:var(--rust);
    font-size:22px;
  }
  .faq-item[open] summary::after{content:"–";}
  .faq-item p{padding-bottom:20px;margin:0;color:#4a4838;font-size:14.8px;max-width:64ch;}

  /* ===== Final CTA ===== */
  .final-cta{
    background:var(--rust);
    color:#fff;
    text-align:center;
    padding:68px 24px;
  }
  .final-cta h2{color:#fff;font-size:clamp(26px,4vw,40px);}
  .final-cta p{color:#f6d9cd;margin-top:12px;font-size:16px;}
  .final-cta .btn-primary{background:var(--forest-dark);box-shadow:0 6px 0 #0b1a12;margin-top:26px;}

  /* ===== Footer ===== */
  footer{background:var(--forest-dark);color:#c7c6b6;padding:56px 0 28px;}
  .foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:32px;}
  footer h5{font-family:var(--mono);text-transform:uppercase;font-size:11.5px;letter-spacing:0.1em;color:var(--amber);margin-bottom:14px;}
  footer ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:9px;font-size:13.5px;}
  footer ul a{text-decoration:none;color:#c7c6b6;}
  footer ul a:hover{color:var(--amber);}
  footer p.seo-block{font-size:12.5px;color:#8b8a78;line-height:1.7;margin-top:36px;padding-top:24px;border-top:1px solid #2c4433;max-width:980px;}
  .foot-bottom{
    margin-top:28px;padding-top:20px;border-top:1px solid #2c4433;
    display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;
    font-family:var(--mono);font-size:11.5px;color:#7e7d6c;
  }

  @media (max-width:920px){
    nav.mainnav ul{display:none;}
    .hero-body{grid-template-columns:1fr;}
    .stamp{display:none;}
    .stats .wrap{grid-template-columns:repeat(2,1fr);}
    .stat{border-right:none;border-bottom:1px solid var(--line);padding-bottom:12px;}
    .svc-grid{grid-template-columns:repeat(2,1fr);}
    .spec-grid{grid-template-columns:repeat(3,1fr);}
    .process-grid{grid-template-columns:1fr;gap:24px;}
    .step{border-left:none;padding-left:0;border-top:1px solid var(--line);padding-top:18px;}
    .step:first-child{border-top:none;padding-top:0;}
    .testi-grid{grid-template-columns:1fr;}
    .foot-grid{grid-template-columns:1fr 1fr;}
  }
  @media (max-width:560px){
    .spec-grid{grid-template-columns:repeat(2,1fr);}
    .topbar .wrap{justify-content:center;text-align:center;}
    .foot-grid{grid-template-columns:1fr;}
  }
  @media (prefers-reduced-motion: reduce){
    html{scroll-behavior:auto;}
    .btn-primary{transition:none;}
  }
