
:root{
  --bg-dark:#123a31 !important;
  --bg-dark-2:#0b2d27 !important;
  --bg-cream:#f8f6f0 !important;
  --bg-cream-2:#efebe2 !important;
  --accent-bronze:#b08a4b !important;
  --accent-bronze-light:#c6a46b !important;
  --text-cream:#fbf8f1 !important;
  --text-dark:#162923 !important;
  --text-muted:#66746f !important;
  --line:rgba(19,58,49,.13) !important;
  --v5-green:#0f5a49;
  --v5-green-dark:#0c4035;
  --v5-ink:#162923;
  --v5-muted:#66746f;
  --v5-paper:#f8f6f0;
  --v5-white:#fffdf9;
  --v5-border:rgba(18,58,49,.12);
  --v5-gold:#b08a4b;
  --v5-shadow:0 16px 46px rgba(21,41,35,.07);
  --v5-shadow-sm:0 7px 24px rgba(21,41,35,.055);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--v5-paper)}
body{
  font-family:'Manrope',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif !important;
  background:var(--v5-paper) !important;
  color:var(--v5-ink) !important;
  line-height:1.72;
  letter-spacing:-.008em;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
h1,h2,h3,h4,h5,h6,
.logo,.service-num,.rating-score,.review-card blockquote,.step b{
  font-family:'Manrope',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif !important;
  letter-spacing:-.035em;
  font-style:normal !important;
}
h1{font-weight:800 !important}
h2,h3{font-weight:700 !important}
p,li{letter-spacing:-.006em}
a{transition:color .18s ease,background .18s ease,border-color .18s ease,transform .18s ease,box-shadow .18s ease}

/* Header */
nav{
  min-height:72px;
  padding:12px clamp(18px,4vw,56px) !important;
  background:rgba(255,253,249,.96) !important;
  border-bottom:1px solid var(--v5-border) !important;
  box-shadow:0 2px 14px rgba(18,58,49,.035) !important;
  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);
}
nav .logo{
  color:var(--v5-ink) !important;
  font-size:20px !important;
  font-weight:800 !important;
  display:inline-flex;
  align-items:center;
  gap:9px;
  text-decoration:none !important;
  letter-spacing:-.035em;
}
nav .logo span{color:var(--v5-green) !important}
nav .logo img{width:30px;height:34px;object-fit:contain}
nav .nav-links{gap:clamp(17px,2.1vw,30px) !important;align-items:center}
nav .nav-links a{
  color:#34453f !important;
  font-size:13px !important;
  font-weight:600 !important;
  letter-spacing:-.01em !important;
  text-decoration:none !important;
  padding:9px 0;
  position:relative;
}
nav .nav-links a::after{
  content:'';
  position:absolute;left:0;right:100%;bottom:4px;height:1.5px;background:var(--v5-green);transition:right .2s ease;
}
nav .nav-links a:hover{color:var(--v5-green) !important}
nav .nav-links a:hover::after{right:0}
.nav-cta,.btn-primary,.popup-submit,.cta button,.cta input[type='submit'],button[type='submit']{
  font-family:'Manrope',sans-serif !important;
  background:var(--v5-green) !important;
  color:white !important;
  border:1px solid var(--v5-green) !important;
  border-radius:12px !important;
  font-weight:700 !important;
  letter-spacing:-.01em !important;
  box-shadow:none !important;
}
.nav-cta{padding:11px 18px !important;font-size:13px !important}
.nav-cta:hover,.btn-primary:hover,.popup-submit:hover,.cta button:hover,button[type='submit']:hover{background:var(--v5-green-dark) !important;border-color:var(--v5-green-dark) !important;transform:translateY(-1px)}
.nav-burger{color:var(--v5-green) !important;border:1px solid var(--v5-border) !important;background:#fff !important}

/* Remove decorative AI-looking wave separators and arrow controls */
.wave-divider{display:none !important}
.carousel-arrow{display:none !important}
.step::after{display:none !important;content:none !important}

/* Breadcrumbs */
.breadcrumbs{
  max-width:1180px !important;
  margin:0 auto !important;
  padding:22px 28px 0 !important;
  color:#7a8782 !important;
  font-family:'Manrope',sans-serif !important;
  font-size:12px !important;
  letter-spacing:.005em !important;
}
.breadcrumbs a{color:#697771 !important;text-decoration:none !important}
.breadcrumbs a:hover{color:var(--v5-green) !important}

/* Inner page hero */
.page-hero{
  max-width:1120px !important;
  margin:0 auto !important;
  padding:34px 28px 52px !important;
  display:grid !important;
  grid-template-columns:72px minmax(0,1fr) !important;
  gap:24px !important;
  align-items:start !important;
}
.page-hero-icon{
  width:62px !important;height:62px !important;
  border:1px solid rgba(176,138,75,.24) !important;
  background:#f1eadb !important;
  color:var(--v5-green) !important;
  border-radius:18px !important;
  display:flex !important;align-items:center !important;justify-content:center !important;
  box-shadow:none !important;
}
.page-hero-icon svg{width:31px !important;height:31px !important}
.eyebrow{
  color:var(--v5-gold) !important;
  font-family:'Manrope',sans-serif !important;
  font-size:11.5px !important;
  font-weight:800 !important;
  text-transform:uppercase !important;
  letter-spacing:.12em !important;
}
.page-hero h1{
  color:var(--v5-ink) !important;
  font-size:clamp(34px,5vw,62px) !important;
  line-height:1.02 !important;
  max-width:980px;
  margin-top:9px !important;
}

/* Editorial content */
.content,.page-body{
  max-width:900px !important;
  margin:0 auto !important;
  padding-left:28px !important;padding-right:28px !important;
  padding-bottom:86px !important;
}
.content p,.page-body p{font-size:16px;line-height:1.8;color:#34433e}
.lede-text,.lede{
  font-size:19px !important;
  line-height:1.72 !important;
  color:#34433e !important;
  margin-bottom:30px !important;
}
.updated{font-size:12px !important;color:#85908c !important;font-weight:600 !important;letter-spacing:.01em !important}
.content h2,.page-body h2{
  font-size:clamp(25px,3.3vw,36px) !important;
  line-height:1.17 !important;
  margin:58px 0 20px !important;
  padding-top:4px !important;
  color:var(--v5-ink) !important;
}
.content h3,.page-body h3{font-size:21px !important;line-height:1.3 !important;margin:34px 0 14px !important;color:var(--v5-ink) !important}
.content ul,.content ol,.page-body ul,.page-body ol{padding-left:22px}
.content li,.page-body li{margin-bottom:8px;color:#34433e}
.content a,.page-body a{color:var(--v5-green) !important;text-decoration-color:rgba(15,90,73,.28) !important;text-underline-offset:3px}
.content strong,.page-body strong{color:#20322c}
.toc{
  background:var(--v5-white) !important;
  border:1px solid var(--v5-border) !important;
  border-radius:18px !important;
  padding:24px 26px !important;
  margin:30px 0 44px !important;
  box-shadow:var(--v5-shadow-sm) !important;
}
.toc-title{font-weight:800 !important;font-size:14px !important;color:var(--v5-ink) !important;letter-spacing:-.01em !important}
.toc ol{columns:2;column-gap:34px;margin-top:12px !important}
.toc li{break-inside:avoid;font-size:13.5px !important;margin-bottom:7px !important}
.toc a{color:#4e625a !important;text-decoration:none !important}
.toc a:hover{color:var(--v5-green) !important}

/* Tables and informative blocks */
table{width:100%;border-collapse:separate !important;border-spacing:0 !important;background:var(--v5-white);border:1px solid var(--v5-border) !important;border-radius:16px;overflow:hidden;margin:26px 0 !important;box-shadow:var(--v5-shadow-sm)}
th{background:#f0ece3 !important;color:#22352f !important;font-size:13px !important;font-weight:800 !important}
th,td{padding:14px 16px !important;border-color:var(--v5-border) !important;text-align:left}
td{font-size:14px !important;color:#3d4e48 !important}
.disclaimer,.hub-note,.note,.warning,.legal-note{
  background:#f2eee5 !important;
  border:1px solid rgba(176,138,75,.22) !important;
  border-left:3px solid var(--v5-gold) !important;
  border-radius:14px !important;
  color:#44544e !important;
  padding:16px 18px !important;
}
.sources{background:#f2eee5 !important;border-radius:16px !important;border:1px solid var(--v5-border) !important;padding:20px !important}

/* Inline CTA, forms */
.inline-cta,.cta{
  background:var(--v5-green) !important;
  color:white !important;
  border-radius:22px !important;
  border:none !important;
  box-shadow:0 20px 50px rgba(15,90,73,.16) !important;
}
.inline-cta h2,.inline-cta h3,.inline-cta p,.cta h2,.cta h3,.cta p{color:white !important}
.inline-cta-btn{background:#fff !important;color:var(--v5-green) !important;border:1px solid #fff !important;border-radius:11px !important;font-weight:800 !important;text-decoration:none !important}
input,textarea,select{
  font-family:'Manrope',sans-serif !important;
  background:#fff !important;
  border:1px solid rgba(18,58,49,.16) !important;
  border-radius:11px !important;
  color:var(--v5-ink) !important;
  box-shadow:none !important;
}
input:focus,textarea:focus,select:focus{outline:none !important;border-color:var(--v5-green) !important;box-shadow:0 0 0 3px rgba(15,90,73,.08) !important}

/* FAQ */
.faq{background:#f2eee6 !important;padding:74px 6vw !important}
.faq-wrap{max-width:900px !important}
.faq-wrap h2{font-size:clamp(28px,4vw,42px) !important;color:var(--v5-ink) !important;margin-bottom:24px !important}
.faq details{
  background:var(--v5-white) !important;
  border:1px solid var(--v5-border) !important;
  border-radius:14px !important;
  padding:0 20px !important;
  margin-bottom:10px !important;
  box-shadow:none !important;
}
.faq details[open]{box-shadow:var(--v5-shadow-sm) !important}
.faq summary{font-size:15px !important;font-weight:700 !important;padding:18px 0 !important;color:#24352f !important}
.faq summary span::before{color:var(--v5-green) !important;font-weight:500 !important}
.faq details p{color:#50605b !important;line-height:1.7 !important}

/* Related cards */
.related{background:#f2eee6 !important;padding:70px 6vw !important}
.related-wrap{max-width:1120px !important}
.related-grid{gap:16px !important}
.related-grid > *{
  background:var(--v5-white) !important;
  border:1px solid var(--v5-border) !important;
  border-radius:18px !important;
  box-shadow:none !important;
  transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;
}
.related-grid > *:hover{transform:translateY(-2px);box-shadow:var(--v5-shadow-sm) !important;border-color:rgba(15,90,73,.24) !important}

/* Homepage hero */
.hero{
  background:var(--v5-paper) !important;
  color:var(--v5-ink) !important;
  min-height:650px !important;
  grid-template-columns:minmax(0,1.02fr) minmax(420px,.98fr) !important;
  border-bottom:1px solid var(--v5-border);
}
.hero::before{background:radial-gradient(circle at 20% 18%,rgba(176,138,75,.09),transparent 40%) !important}
.hero-text{padding:76px 5vw 72px 6vw !important}
.hero-text h1{color:var(--v5-ink) !important;font-size:clamp(42px,5.2vw,68px) !important;line-height:.99 !important;max-width:680px !important;margin-bottom:24px !important}
.hero-text h1 em{color:var(--v5-green) !important;font-style:normal !important}
.hero-text p{color:#53625c !important;font-size:17px !important;line-height:1.7 !important;max-width:560px !important}
.btn-ghost{background:transparent !important;color:var(--v5-green) !important;border:1px solid rgba(15,90,73,.26) !important;border-radius:12px !important;font-family:'Manrope',sans-serif !important;font-weight:700 !important}
.btn-ghost:hover{background:#edf3f0 !important;border-color:rgba(15,90,73,.35) !important}
.hero-regions{color:#75827d !important;gap:20px !important;font-size:12.5px !important;letter-spacing:.01em !important}
.hero-regions b{color:var(--v5-green) !important}
.hero-image-wrap{
  margin:30px 3.2vw 30px 0 !important;
  border-radius:26px !important;
  min-height:590px !important;
  overflow:hidden !important;
  box-shadow:0 28px 70px rgba(25,42,36,.14) !important;
}
.hero-image-wrap::after{background:linear-gradient(90deg,rgba(248,246,240,.34),transparent 24%) !important}
.hero-image-wrap img{filter:saturate(.8) contrast(1.01) brightness(.97) !important}

/* Homepage sections */
section{padding:82px 6vw !important}
.section-head{max-width:1120px;margin-left:auto !important;margin-right:auto !important}
.section-head h2{font-size:clamp(30px,4vw,46px) !important;color:var(--v5-ink) !important}
.section-head .lede{color:#64736d !important}
.services{background:#fbfaf6 !important}
.services-grid{
  max-width:1120px !important;margin:0 auto !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:16px !important;background:transparent !important;border:none !important;
}
.service-card{
  background:var(--v5-white) !important;
  border:1px solid var(--v5-border) !important;
  border-radius:20px !important;
  padding:30px 28px !important;
  box-shadow:none !important;
}
.service-card:hover{background:#fff !important;border-color:rgba(15,90,73,.23) !important;box-shadow:var(--v5-shadow-sm) !important;transform:translateY(-2px)}
.service-num{font-size:12px !important;color:var(--v5-gold) !important;font-weight:800 !important;letter-spacing:.08em !important}
.service-card h3{font-size:22px !important;color:var(--v5-ink) !important}
.service-card p{color:#69756f !important;line-height:1.65 !important}
.service-card a{color:var(--v5-green) !important;font-size:13px !important;letter-spacing:0 !important}

section.hub.cream,section.hub.cream2{background:var(--v5-paper) !important}
section.hub{border-top:1px solid rgba(18,58,49,.07)}
.hub-inner{max-width:1120px !important}
.hub h2{font-size:clamp(30px,4vw,44px) !important;color:var(--v5-ink) !important}
.hub p,.hub ul.hub-list li{color:#4e5d57 !important}
.hub-links a{
  background:#fff !important;
  color:var(--v5-green) !important;
  border:1px solid var(--v5-border) !important;
  border-radius:999px !important;
  padding:10px 15px !important;
  box-shadow:none !important;
}
.hub-links a:hover{background:#edf3f0 !important;border-color:rgba(15,90,73,.24) !important}
.col-card,.hub-card,.info-card{
  background:var(--v5-white) !important;
  border:1px solid var(--v5-border) !important;
  border-radius:20px !important;
  box-shadow:none !important;
}
.col-card{padding:28px !important}
.steps{gap:12px !important}
.step{background:var(--v5-white) !important;border:1px solid var(--v5-border) !important;border-radius:16px !important;padding:18px !important}
.step::before{background:#e8efe9 !important;color:var(--v5-green) !important}
.step span{color:#6a7772 !important}

.regions{background:var(--v5-green-dark) !important}
.regions .section-head h2{color:white !important}
.regions .section-head p.lede{color:rgba(255,255,255,.67) !important}
.regions-grid{max-width:1120px !important;margin:0 auto !important;gap:16px !important}
.region-card{border:1px solid rgba(255,255,255,.16) !important;background:rgba(255,255,255,.055) !important;border-radius:18px !important;padding:28px !important}
.region-card h3{color:white !important;font-size:24px !important}
.region-card p{color:rgba(255,255,255,.7) !important}
.region-card p.hours{color:#dfc89f !important;font-family:'Manrope',sans-serif !important}

.trust{background:#f2eee6 !important;padding:84px 10vw !important}
.rating-score{font-size:42px !important;color:var(--v5-ink) !important}
.review-card blockquote{font-size:clamp(19px,2vw,25px) !important;color:#2d3d37 !important;font-weight:500 !important;line-height:1.55 !important}
.review-card cite{color:var(--v5-green) !important}
.carousel-dots button{background:rgba(15,90,73,.18) !important}
.carousel-dots button.active{background:var(--v5-green) !important}

.test-teaser{background:var(--v5-green-dark) !important}
.test-teaser h2{color:#fff !important}
.test-teaser p{color:rgba(255,255,255,.72) !important}

.info-block{background:var(--v5-paper) !important;padding:66px 6vw !important}
.info-block h2{font-size:clamp(27px,3vw,38px) !important;color:var(--v5-ink) !important}
.info-block p{color:#4f5f59 !important}

/* Info index/hub grids */
.hub-grid,.info-grid,.card-grid{gap:16px !important}
.hub-card,.info-card{padding:24px !important;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}
.hub-card:hover,.info-card:hover{transform:translateY(-2px);box-shadow:var(--v5-shadow-sm) !important;border-color:rgba(15,90,73,.24) !important}

/* Test page */
.test-card{background:var(--v5-white) !important;border:1px solid var(--v5-border) !important;border-radius:22px !important;box-shadow:var(--v5-shadow-sm) !important}
.test-progress{background:#e8ece8 !important}
.test-progress > *{background:var(--v5-green) !important}
.custom-option{border:1px solid var(--v5-border) !important;border-radius:13px !important;background:#fff !important}
.custom-option:hover{border-color:rgba(15,90,73,.32) !important;background:#f6faf8 !important}

/* Popup & chat */
.popup-overlay{backdrop-filter:blur(10px) !important;background:rgba(9,30,25,.58) !important}
.popup-card{border-radius:22px !important;overflow:hidden !important;box-shadow:0 30px 90px rgba(8,31,25,.28) !important}
.popup-close{background:rgba(255,255,255,.9) !important;color:var(--v5-ink) !important;border:1px solid var(--v5-border) !important}
.chat-bubble{background:var(--v5-green) !important;color:#fff !important;box-shadow:0 12px 34px rgba(15,90,73,.22) !important}
.chat-panel{border-radius:20px !important;border:1px solid var(--v5-border) !important;box-shadow:0 24px 60px rgba(16,44,36,.16) !important;overflow:hidden !important}
.chat-panel-header{background:var(--v5-green-dark) !important;color:white !important}
.chat-msg.bot{background:#f1eee7 !important;color:#34443e !important;border-radius:14px !important}

/* Footer */
footer{
  background:var(--v5-green-dark) !important;
  color:rgba(255,255,255,.74) !important;
  border-top:none !important;
  padding-top:48px !important;
  padding-bottom:34px !important;
}
footer a{color:rgba(255,255,255,.72) !important;text-decoration:none !important}
footer a:hover{color:white !important}
footer .footer-disclaimer{color:rgba(255,255,255,.45) !important;font-size:11px !important}

/* Respect reduced motion */
@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto !important;transition:none !important}}

@media (max-width:980px){
  .hero{grid-template-columns:1fr !important}
  .hero-image-wrap{order:-1 !important;margin:22px 22px 0 !important;min-height:360px !important;height:360px !important;border-radius:22px !important}
  .hero-image-wrap::after{background:linear-gradient(180deg,transparent 62%,rgba(248,246,240,.46)) !important}
  .hero-text{padding:52px 24px 62px !important}
  .services-grid{grid-template-columns:repeat(2,minmax(0,1fr)) !important}
  .toc ol{columns:1}
}
@media (max-width:820px){
  nav{padding:10px 16px !important;min-height:64px}
  nav .logo{font-size:18px !important}
  nav .nav-links.open{background:#fff !important;border-top:1px solid var(--v5-border) !important;padding:8px 0 10px !important}
  nav .nav-links.open li{border-bottom:1px solid rgba(18,58,49,.07) !important;padding:8px 4px !important}
  nav .nav-links.open a{color:#32453e !important;font-size:14px !important}
  .nav-cta{padding:9px 10px !important;font-size:11px !important}
  .page-hero{grid-template-columns:52px minmax(0,1fr) !important;padding:28px 20px 40px !important;gap:16px !important}
  .page-hero-icon{width:50px !important;height:50px !important;border-radius:15px !important}
  .page-hero h1{font-size:clamp(30px,9vw,44px) !important}
  .breadcrumbs{padding:18px 20px 0 !important}
  .content,.page-body{padding-left:20px !important;padding-right:20px !important;padding-bottom:62px !important}
  .lede-text,.lede{font-size:17px !important}
  section{padding:58px 20px !important}
  .faq,.related{padding:56px 20px !important}
  .services-grid,.regions-grid{grid-template-columns:1fr !important}
  .hero-text h1{font-size:clamp(38px,12vw,54px) !important}
  .hero-regions{flex-wrap:wrap;gap:10px 18px !important}
}
@media (max-width:520px){
  .hero-image-wrap{height:280px !important;min-height:280px !important;margin:14px 14px 0 !important;border-radius:18px !important}
  .hero-text{padding:42px 18px 50px !important}
  .hero-btns{display:grid !important;grid-template-columns:1fr !important;width:100%}
  .hero-btns button,.hero-btns a{width:100%;text-align:center}
  .services-grid{gap:12px !important}
  .page-hero{grid-template-columns:1fr !important}
  .page-hero-icon{margin-bottom:2px}
  .toc{padding:20px !important;border-radius:15px !important}
}
