:root{--brick:#7F1D1D;--brick-d:#5c1414;--pine:#166534;--pine-d:#0f4a26;--ink:#16231a;--paper:#f6f4ee;--line:#dad3c6;}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{margin:0;font-family:'Bitter',Georgia,serif;color:#23291f;background:var(--paper);line-height:1.6;font-size:17px;}
a{color:var(--pine-d);text-decoration:none;}
a:hover{text-decoration:underline;}
img{max-width:100%;display:block;}
.wrap{max-width:1120px;margin:0 auto;padding:0 22px;}
h1,h2,h3{font-family:'Archivo',system-ui,sans-serif;color:var(--ink);line-height:1.12;letter-spacing:-.4px;}
h2{font-size:clamp(24px,3.2vw,34px);font-weight:800;margin:0 0 14px;}
h3{font-size:20px;font-weight:700;margin:0 0 8px;}
.skip{position:absolute;left:-999px;}
.skip:focus{left:12px;top:10px;background:#fff;padding:8px 14px;z-index:200;border:2px solid var(--pine);}
/* top bar (mandatory) */
.topbar{background:var(--pine-d);color:#e2f0e6;font-family:'Archivo',sans-serif;font-size:14px;}
.topbar .wrap{display:flex;justify-content:space-between;align-items:center;gap:8px;min-height:42px;padding-top:7px;padding-bottom:7px;flex-wrap:wrap;}
.topbar .tag{opacity:.93;}
.topbar a.tp{color:#fff;font-weight:800;letter-spacing:.3px;display:inline-flex;align-items:center;gap:7px;min-height:30px;}
/* header */
header.site{background:var(--ink);position:sticky;top:0;z-index:100;}
header.site .wrap{display:flex;align-items:center;justify-content:space-between;min-height:64px;gap:14px;}
.brand{font-family:'Archivo',sans-serif;font-weight:800;font-size:19px;color:#fff;display:flex;align-items:center;gap:9px;}
.brand svg{width:26px;height:26px;flex:none;}
nav.main{display:flex;align-items:center;gap:4px;}
nav.main > a, .drop > button{font-family:'Archivo',sans-serif;font-weight:600;font-size:14px;color:#c5d6c9;background:none;border:0;padding:9px 11px;cursor:pointer;}
nav.main > a:hover,.drop:hover > button{color:#8fd2a6;text-decoration:none;}
.drop{position:relative;}
.drop .menu{position:absolute;top:100%;left:0;background:#fff;border:1px solid var(--line);border-radius:8px;box-shadow:0 14px 40px rgba(0,0,0,.18);min-width:290px;padding:8px;display:none;z-index:120;}
.drop:hover .menu,.drop:focus-within .menu{display:block;}
.drop .menu a{display:block;padding:9px 12px;font-family:'Archivo',sans-serif;font-size:14px;color:#2a3327;border-radius:6px;}
.drop .menu a:hover{background:#eef6f0;color:var(--pine-d);text-decoration:none;}
.drop .menu a.promo{font-weight:700;}
.drop .menu a.all{border-top:1px solid var(--line);margin-top:6px;color:var(--brick);font-weight:700;}
.callbtn{background:var(--brick);color:#fff!important;font-family:'Archivo',sans-serif;font-weight:800;font-size:14px;padding:11px 16px;border-radius:6px;min-height:44px;display:inline-flex;align-items:center;}
.callbtn:hover{background:var(--brick-d);text-decoration:none;}
.navtoggle{display:none;background:none;border:0;color:#fff;font-size:26px;cursor:pointer;}
/* hero */
.hero{position:relative;background-color:#1d3322;color:#eef6ef;overflow:hidden;background-size:cover;background-position:center 30%;background-repeat:no-repeat;}
.hero .contour{position:absolute;inset:0;width:100%;height:100%;opacity:.18;}
.hero .wrap{position:relative;padding:54px 22px 40px;}
.eyebrow{font-family:'Archivo',sans-serif;font-size:12.5px;letter-spacing:2.5px;text-transform:uppercase;color:#8fd2a6;font-weight:800;}
.hero h1{color:#fff;font-size:clamp(30px,4.6vw,50px);font-weight:800;margin:13px 0 14px;max-width:17ch;}
.hero h1 span{color:#9adcb1;}
.hero p.sub{font-size:18px;color:#d3e4d7;max-width:50ch;}
.hero .cta{margin-top:26px;display:flex;gap:13px;flex-wrap:wrap;}
.btn-pri{background:var(--brick);color:#fff!important;font-family:'Archivo',sans-serif;font-weight:800;font-size:16px;padding:15px 26px;border-radius:6px;min-height:44px;display:inline-flex;align-items:center;}
.btn-pri:hover{background:var(--brick-d);text-decoration:none;}
.btn-sec{background:rgba(255,255,255,.08);color:#eef6ef!important;border:1px solid rgba(255,255,255,.28);font-family:'Archivo',sans-serif;font-weight:700;font-size:15px;padding:14px 22px;border-radius:6px;min-height:44px;display:inline-flex;align-items:center;}
.btn-sec:hover{background:rgba(255,255,255,.16);text-decoration:none;}
/* hero strip */
.strip{background:var(--ink);border-top:3px solid var(--brick);}
.strip .wrap{display:flex;flex-wrap:wrap;padding:0;}
.strip div{flex:1 1 220px;padding:16px 20px;color:#bcd3c1;font-family:'Archivo',sans-serif;font-size:13px;border-right:1px solid rgba(255,255,255,.08);}
.strip b{display:block;color:#fff;font-size:15px;margin-bottom:2px;}
/* sections */
section{padding:46px 0;}
section.alt{background:#fff;border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
.lead{font-size:18px;max-width:64ch;}
.cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:22px;margin-top:24px;}
.card{background:var(--paper);border:1px solid var(--line);border-radius:10px;padding:22px;}
section.alt .card{background:var(--paper);}
.card h3{display:flex;align-items:center;gap:8px;}
.card .dot{width:9px;height:9px;border-radius:50%;background:var(--pine);flex:none;}
.card.promo{border-color:var(--brick);border-width:1.5px;}
.card.promo .dot{background:var(--brick);}
.tag-promo{font-family:'Archivo',sans-serif;font-size:10.5px;font-weight:800;letter-spacing:.6px;text-transform:uppercase;color:var(--brick);background:#f6e6e3;padding:2px 7px;border-radius:20px;margin-left:auto;}
/* mid CTA band */
.band{background:var(--brick);color:#fff;text-align:center;}
.band .wrap{padding:38px 22px;}
.band h2{color:#fff;}
.band .ph{font-family:'Archivo',sans-serif;font-size:clamp(26px,4vw,40px);font-weight:800;margin:6px 0 0;}
.band a{color:#fff;}
/* facts split */
.split{display:grid;grid-template-columns:1.1fr .9fr;gap:34px;align-items:start;}
.factbox{background:var(--ink);color:#dfeee5;border-radius:12px;padding:24px;font-family:'Archivo',sans-serif;}
.factbox h3{color:#fff;font-size:16px;letter-spacing:1px;text-transform:uppercase;}
.factbox .row{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-top:1px solid rgba(255,255,255,.12);font-size:14px;}
.factbox .row span:first-child{color:#a7c6b3;}
.factbox .row b{color:#fff;text-align:right;}
/* faq */
.faq details{border-bottom:1px solid var(--line);padding:14px 0;}
.faq summary{font-family:'Archivo',sans-serif;font-weight:700;font-size:17px;color:var(--ink);cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:12px;}
.faq summary::-webkit-details-marker{display:none;}
.faq summary::after{content:"+";color:var(--pine);font-weight:800;}
.faq details[open] summary::after{content:"\2212";}
.faq p{margin:12px 0 2px;}
/* breadcrumb */
.crumb{font-family:'Archivo',sans-serif;font-size:13px;color:#6a7464;padding:14px 0 0;}
.crumb a{color:#6a7464;}
/* footer */
footer.site{background:var(--ink);color:#bcd3c1;font-family:'Archivo',sans-serif;font-size:14px;margin-top:0;}
footer.site .wrap{padding:42px 22px 28px;display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:26px;}
footer.site h4{color:#fff;font-size:13px;letter-spacing:1px;text-transform:uppercase;margin:0 0 12px;}
footer.site a{color:#bcd3c1;display:block;padding:4px 0;}
footer.site a:hover{color:#8fd2a6;}
footer .fbrand{font-size:18px;font-weight:800;color:#fff;margin-bottom:10px;}
footer .fcall{display:inline-block;background:var(--brick);color:#fff!important;font-weight:800;padding:11px 18px;border-radius:6px;margin:8px 0;min-height:44px;}
footer .legal{border-top:1px solid rgba(255,255,255,.12);margin-top:8px;}
footer .legal .wrap{display:block;padding:16px 22px;color:#8aa091;font-size:12.5px;}
/* mobile sticky call */
.sticky{display:none;position:fixed;bottom:0;left:0;right:0;background:var(--brick);z-index:150;padding:9px 14px;box-shadow:0 -4px 18px rgba(0,0,0,.22);}
.sticky a{display:block;text-align:center;color:#fff!important;font-family:'Archivo',sans-serif;font-weight:800;font-size:17px;min-height:46px;line-height:46px;}
@media(max-width:860px){
  .split{grid-template-columns:1fr;}
  footer.site .wrap{grid-template-columns:1fr 1fr;}
}
@media(max-width:760px){
  nav.main{display:none;}
  .navtoggle{display:block;}
  .sticky{display:block;}
  body{padding-bottom:64px;}
  nav.main.open{display:flex;position:absolute;top:64px;left:0;right:0;flex-direction:column;background:var(--ink);padding:10px 16px 16px;gap:0;border-top:1px solid rgba(255,255,255,.12);}
  nav.main.open > a,.drop{width:100%;}
  .drop .menu{position:static;display:block;box-shadow:none;border:none;background:transparent;padding:0 0 8px 10px;}
  .drop .menu a{color:#c5d6c9;}
  footer.site .wrap{grid-template-columns:1fr;}
}

.svc-hero{background:#1d3322;color:#eef6ef;padding:34px 0 30px;}
.svc-hero-grid{display:grid;grid-template-columns:1fr;gap:28px;align-items:center;}
.svc-hero-content{min-width:0;}
.svc-hero-img img{border-radius:10px;box-shadow:0 4px 24px rgba(0,0,0,.4);}
@media(min-width:768px){
  .svc-hero-grid{grid-template-columns:1.1fr 0.9fr;}
  .svc-hero-img{order:2;}
  .svc-hero-content{order:1;}
}
.svc-hero h1{color:#fff;}
.svc-hero .crumb a{color:#9adcb1;}
.svc-hero p{color:#d3e4d7;}
.svc-hero a.btn-sec{background:rgba(255,255,255,.06);}
section .wrap p{max-width:68ch;}

/* era image grid */
.era-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px;margin-top:4px;}
.era-card{border-radius:10px;overflow:hidden;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.10);}
.era-card img{width:100%;height:200px;object-fit:cover;display:block;}
.era-label{padding:14px 16px;}
.era-label b{display:block;color:#fff;font-family:'Archivo',sans-serif;font-size:15px;font-weight:800;margin-bottom:4px;}
.era-label span{display:block;color:#b5cfc0;font-family:'Archivo',sans-serif;font-size:12.5px;line-height:1.5;}
.era-label .era-hood{color:#8fd2a6;margin-top:4px;}

.ixgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px;}
.ix{display:flex;justify-content:space-between;align-items:center;gap:10px;background:#fff;border:1px solid var(--line);border-radius:9px;padding:15px 16px;font-family:'Archivo',sans-serif;}
.ix b{font-weight:700;color:var(--ink);font-size:15px;}
.ix span{color:var(--pine);font-weight:700;font-size:13px;white-space:nowrap;}
.ix:hover{border-color:var(--pine);text-decoration:none;}
.ix.off{opacity:.55;}
.ix.off span{color:#9a9384;}
