/* ============================================
   Pennsylvania Ant Control — Design System
   Palette: Pine #16352A / Amber #E8871E / Bone #F6F3EC / Char #232323 / Alert #C1440E
   Type: 'Barlow Condensed' (display/utility) + 'Source Serif 4' (body trust copy)
   Signature: "Inspection Ticket" card motif (perforation + stamp)
   ============================================ */

:root{
  --pine:#16352A;
  --pine-dark:#0E241B;
  --amber:#E8871E;
  --bone:#F6F3EC;
  --char:#232323;
  --alert:#C1440E;
  --line:#D8D2C4;
  --white:#FFFFFF;
}

*{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{
  font-family:'Source Serif 4', Georgia, serif;
  color:var(--char);
  background:var(--bone);
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3,h4,.display{
  font-family:'Barlow Condensed', 'Arial Narrow', sans-serif;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:0.02em;
  color:var(--pine-dark);
  line-height:1.05;
}
a{color:inherit;text-decoration:none;}
img{max-width:100%;display:block;border-radius:2px;}
.container{max-width:1120px;margin:0 auto;padding:0 24px;}
:focus-visible{outline:3px solid var(--amber);outline-offset:2px;}

/* ---- TFN bar ---- */
.tfn-bar{
  background:var(--pine-dark);
  color:var(--bone);
  font-family:'Barlow Condensed',sans-serif;
  font-size:14px;
  letter-spacing:.04em;
  text-transform:uppercase;
}
.tfn-bar .container{display:flex;justify-content:space-between;align-items:center;padding-top:8px;padding-bottom:8px;flex-wrap:wrap;gap:6px;}
.tfn-bar a.phone{color:var(--amber);font-weight:700;letter-spacing:.03em;}

/* ---- Header ---- */
header.site{background:var(--bone);border-bottom:3px solid var(--pine);}
header.site .container{display:flex;justify-content:space-between;align-items:center;padding-top:16px;padding-bottom:16px;flex-wrap:wrap;gap:12px;}
.logo{font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:26px;text-transform:uppercase;color:var(--pine-dark);letter-spacing:.01em;}
.logo span{color:var(--amber);}
.cta-btn{
  background:var(--alert);color:var(--white);font-family:'Barlow Condensed',sans-serif;
  text-transform:uppercase;letter-spacing:.04em;font-weight:700;font-size:16px;
  padding:12px 22px;border-radius:3px;display:inline-block;box-shadow:0 3px 0 #8B3009;
  transition:transform .1s ease;
}
.cta-btn:hover{transform:translateY(-1px);}
nav.main{display:flex;gap:18px;font-family:'Barlow Condensed',sans-serif;text-transform:uppercase;font-size:14px;letter-spacing:.03em;flex-wrap:wrap;}

/* ---- Hero ---- */
.hero{background:linear-gradient(180deg,var(--pine) 0%,var(--pine-dark) 100%);color:var(--bone);padding:64px 0 56px;position:relative;overflow:hidden;}
.hero .container{display:grid;grid-template-columns:1.15fr .85fr;gap:40px;align-items:center;}
.hero h1{color:var(--white);font-size:44px;margin-bottom:16px;}
.hero .eyebrow{color:var(--amber);font-family:'Barlow Condensed',sans-serif;text-transform:uppercase;letter-spacing:.12em;font-size:14px;margin-bottom:10px;display:block;}
.hero p.lead{font-size:19px;max-width:52ch;margin-bottom:22px;color:#E7E2D4;}
.hero .cta-row{display:flex;gap:14px;flex-wrap:wrap;align-items:center;}
.hero .cta-row .phone-big{font-family:'Barlow Condensed',sans-serif;font-size:26px;font-weight:700;color:var(--amber);}
.hero-img-wrap{border:4px solid var(--amber);border-radius:4px;overflow:hidden;transform:rotate(1.2deg);box-shadow:0 14px 30px rgba(0,0,0,.35);}

/* ---- Trust strip ---- */
.trust-strip{background:var(--white);border-bottom:1px solid var(--line);padding:18px 0;}
.trust-strip .container{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;font-family:'Barlow Condensed',sans-serif;text-transform:uppercase;font-size:14px;letter-spacing:.02em;color:var(--pine-dark);}
.trust-strip .item{display:flex;align-items:center;gap:8px;}
.trust-strip .dot{width:8px;height:8px;background:var(--amber);border-radius:50%;display:inline-block;}

/* ---- Sections ---- */
section{padding:56px 0;}
section.alt{background:var(--white);}
h2.section-title{font-size:34px;margin-bottom:8px;}
p.section-sub{color:#5A5A50;max-width:65ch;margin-bottom:30px;font-size:17px;}

/* ---- Inspection Ticket card (signature element) ---- */
.ticket{
  background:var(--white);
  border:2px dashed var(--pine);
  border-radius:6px;
  padding:26px 24px;
  position:relative;
}
.ticket::before,.ticket::after{
  content:"";position:absolute;top:50%;width:20px;height:20px;background:var(--bone);
  border-radius:50%;transform:translateY(-50%);
}
.ticket::before{left:-11px;}
.ticket::after{right:-11px;}
.ticket .stamp{
  position:absolute;top:16px;right:18px;
  border:2px solid var(--alert);color:var(--alert);
  font-family:'Barlow Condensed',sans-serif;text-transform:uppercase;
  font-weight:700;font-size:12px;letter-spacing:.08em;
  padding:4px 10px;border-radius:3px;transform:rotate(6deg);
}
.ticket h3{font-size:22px;margin-bottom:10px;}
.ticket-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}

/* ---- Cards / grids ---- */
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:30px;align-items:center;}
.card{background:var(--white);border:1px solid var(--line);border-radius:4px;padding:22px;}
.card h3{font-size:20px;margin-bottom:8px;color:var(--pine-dark);}
.card p{font-size:15px;color:#4A4A42;}
.icon-badge{width:42px;height:42px;background:var(--pine);color:var(--amber);border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:'Barlow Condensed',sans-serif;font-weight:700;margin-bottom:12px;}

/* ---- City chip list ---- */
.city-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;}
.city-chip{background:var(--white);border:1px solid var(--line);border-left:5px solid var(--amber);border-radius:3px;padding:16px 18px;}
.city-chip .zip{font-family:'Barlow Condensed',sans-serif;color:var(--pine);font-weight:700;letter-spacing:.03em;font-size:13px;text-transform:uppercase;}
.city-chip a{font-size:18px;font-weight:700;color:var(--pine-dark);font-family:'Barlow Condensed',sans-serif;text-transform:uppercase;}

/* ---- Zip list (fine print, for on-page SEO relevance) ---- */
.zip-list{font-size:14px;color:#6b6a5f;line-height:2;word-spacing:2px;}

/* ---- FAQ accordion (plain, no-js fallback friendly) ---- */
.faq-item{border-bottom:1px solid var(--line);padding:18px 0;}
.faq-item h3{font-size:19px;color:var(--pine-dark);margin-bottom:8px;text-transform:none;font-family:'Source Serif 4',serif;font-weight:700;}
.faq-item p{font-size:15.5px;color:#3f3f38;}

/* ---- CTA band ---- */
.cta-band{background:var(--amber);color:var(--pine-dark);padding:44px 0;text-align:center;}
.cta-band h2{font-size:30px;margin-bottom:10px;}
.cta-band .cta-btn{background:var(--pine-dark);color:var(--white);box-shadow:0 3px 0 #071108;}

/* ---- Footer ---- */
footer{background:var(--pine-dark);color:#CFC9B8;padding:44px 0 24px;font-size:14px;}
footer h4{color:var(--bone);font-family:'Barlow Condensed',sans-serif;text-transform:uppercase;font-size:15px;margin-bottom:12px;letter-spacing:.04em;}
footer .grid-4{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:30px;}
footer a{color:#CFC9B8;}
footer a:hover{color:var(--amber);}
footer ul{list-style:none;}
footer li{margin-bottom:7px;}
.footer-bottom{border-top:1px solid #2A4A3B;margin-top:30px;padding-top:18px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;font-size:13px;color:#8C8B7C;}
.footer-network{font-size:12.5px;color:#8C8B7C;margin-top:6px;}

/* ---- Responsive ---- */
@media (max-width:900px){
  .hero .container{grid-template-columns:1fr;}
  .grid-3,.ticket-grid,.city-grid{grid-template-columns:1fr 1fr;}
  .grid-2{grid-template-columns:1fr;}
  footer .grid-4{grid-template-columns:1fr 1fr;}
}
@media (max-width:600px){
  .hero h1{font-size:32px;}
  .grid-3,.ticket-grid,.city-grid{grid-template-columns:1fr;}
  .trust-strip .container{flex-direction:column;align-items:flex-start;}
  footer .grid-4{grid-template-columns:1fr;}
}
