:root{--navy:#101522;--ink:#142033;--muted:#5a667a;--gold:#f4c84f;--orange:#f1892d;--light:#f6f8fc;--white:#fff;--line:#e3e8f2;--green:#29a95f;--green-dark:#1f874a;--shadow:0 18px 55px rgba(16,21,34,.14)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:#fff;line-height:1.55}a{color:inherit}.topbar{background:var(--navy);color:#fff;font-weight:800;text-align:center;padding:10px 16px}.topbar a{color:#fff;text-decoration:none;background:var(--green);padding:5px 12px;border-radius:999px;margin-left:4px}.header{position:sticky;top:0;z-index:20;background:rgba(255,255,255,.95);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}.wrap{width:min(1160px,92%);margin:auto}.nav{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:14px 0}.logo{display:inline-flex;align-items:center;border-radius:14px;overflow:hidden;box-shadow:0 10px 24px rgba(16,21,34,.16);background:var(--navy)}.logo img{width:275px;max-width:60vw;display:block}.menu{display:flex;gap:20px;align-items:center;font-weight:800}.menu a{text-decoration:none;color:#152033}.menu a:hover{color:var(--green)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--green);color:#fff;text-decoration:none;font-weight:900;border-radius:999px;padding:13px 22px;box-shadow:0 8px 22px rgba(41,169,95,.28);border:0;cursor:pointer}.btn.dark{background:var(--navy);color:#fff;box-shadow:none}.btn.outline{background:#fff;color:var(--green-dark);border:2px solid var(--green);box-shadow:none}.hero{background:linear-gradient(135deg,#0f1728 0%,#19233a 55%,#0d1322 100%);color:#fff;overflow:hidden}.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:42px;align-items:center;padding:65px 0}.eyebrow{color:var(--green);font-weight:900;text-transform:uppercase;letter-spacing:.08em;font-size:14px}.hero h1,.page-hero h1{font-size:clamp(38px,6vw,68px);line-height:.95;margin:12px 0 18px}.hero p,.page-hero p{font-size:20px;color:#dbe5f2;max-width:680px}.hero-card{background:#fff;color:var(--ink);border-radius:26px;padding:24px;box-shadow:var(--shadow)}.hero-card img{width:100%;border-radius:20px;display:block}.quick-row{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:24px}.quick{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.15);padding:16px;border-radius:18px}.quick strong{display:block;color:#fff}.section{padding:70px 0}.section.alt{background:var(--light)}.section h2{font-size:clamp(30px,4vw,46px);line-height:1.08;margin:0 0 14px}.lead{font-size:19px;color:var(--muted);max-width:820px}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:25px}.card{background:#fff;border:1px solid var(--line);border-radius:24px;padding:25px;box-shadow:0 10px 25px rgba(16,21,34,.05)}.card h3{margin-top:0;font-size:22px}.card p{color:var(--muted)}.badge{display:inline-block;background:#e9f8ef;color:#145f35;padding:7px 12px;border-radius:999px;font-size:13px;font-weight:900;margin-bottom:10px}.list{padding-left:20px;color:var(--muted)}.cta{background:linear-gradient(135deg,#e9f8ef,#ffffff);border:1px solid #ccebd8;border-radius:28px;padding:36px;color:#101522;display:grid;grid-template-columns:1fr auto;gap:22px;align-items:center;box-shadow:var(--shadow)}.cta h2{margin:0}.footer{background:var(--navy);color:#dfe8f4;padding:55px 0 90px}.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:28px}.footer a{color:#fff;text-decoration:none}.small{font-size:13px;color:#99a8bd}.page-hero{background:linear-gradient(135deg,#101522,#20304d);color:#fff;padding:65px 0}.breadcrumb{color:#cbd6e6;font-size:14px;margin-bottom:14px}.breadcrumb a{color:var(--green);text-decoration:none}.resource-links a{display:block;background:#fff;border:1px solid var(--line);border-radius:16px;padding:16px;margin:12px 0;text-decoration:none;font-weight:900}.resource-links span{display:block;font-weight:400;color:var(--muted);font-size:14px}.faq-item{border:1px solid var(--line);border-radius:18px;margin:12px 0;background:#fff;overflow:hidden}.faq-q{padding:18px 20px;font-weight:900;cursor:pointer;display:flex;justify-content:space-between}.faq-a{padding:0 20px 18px;color:var(--muted);display:none}.faq-item.active .faq-a{display:block}.form{display:grid;gap:14px}.form input,.form textarea,.form select{width:100%;border:1px solid var(--line);border-radius:14px;padding:14px;font-size:16px}.form textarea{min-height:130px}.notice{background:#e9f8ef;border:1px solid #ccebd8;border-radius:18px;padding:18px;color:#145f35}@keyframes contactFloat{0%,100%{transform:translateY(-50%) translateX(0)}50%{transform:translateY(calc(-50% - 18px)) translateX(0)}}.floating-contact{position:fixed;right:14px;top:58%;z-index:1000;display:flex;flex-direction:column;gap:10px;animation:contactFloat 4.8s ease-in-out infinite;pointer-events:none}.floating-contact:hover{animation-play-state:paused}.floating-contact a{display:flex;align-items:center;justify-content:center;gap:8px;text-decoration:none;font-weight:900;border-radius:999px;padding:12px 15px;box-shadow:0 12px 26px rgba(0,0,0,.22);border:1px solid rgba(255,255,255,.35);pointer-events:auto;opacity:.93;transition:opacity .2s ease,transform .2s ease}.floating-contact a:hover{opacity:1;transform:translateX(-4px)}.float-call{background:var(--green);color:#fff}.float-email{background:var(--navy);color:#fff}.license-badge{display:inline-flex;flex-wrap:wrap;gap:6px;align-items:center;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.25);border-radius:999px;padding:10px 14px;margin:8px 0 4px;color:#fff;font-weight:800}.license-badge span{color:#cbd6e6;font-size:13px;font-weight:600}.hamb{display:none;background:none;border:0;font-size:30px}.blog-card img{width:100%;border-radius:18px;background:#ddd}.two-col{columns:2;column-gap:35px}.kicker{color:var(--green);font-weight:900}@media(max-width:850px){.hamb{display:block}.menu{display:none;position:absolute;left:0;right:0;top:75px;background:#fff;padding:20px;box-shadow:var(--shadow);flex-direction:column}.menu.open{display:flex}.hero-grid,.grid-3,.grid-2,.footer-grid,.cta{grid-template-columns:1fr}.quick-row{grid-template-columns:1fr}.floating-contact{left:12px;right:12px;top:auto;bottom:14px;flex-direction:row;animation:none}.floating-contact a{flex:1;padding:13px 12px}.section{padding:50px 0}.two-col{columns:1}.nav .btn{display:none}}

/* Brand logo updates */
.footer-logo{width:300px;max-width:100%;display:block;margin-bottom:14px}.logo:hover{transform:translateY(-1px)}.logo{transition:transform .2s ease}.header .btn{background:var(--green);color:#fff}.topbar{background:var(--navy)}

/* Keep official logo navy background intact */
.logo{display:inline-flex;align-items:center;border-radius:14px;overflow:hidden;box-shadow:0 10px 24px rgba(16,21,34,.16);background:var(--navy);padding:0!important}.logo img{width:275px;max-width:60vw;display:block}.footer-logo{background:var(--navy);border-radius:16px;padding:10px;box-shadow:none}


/* =========================================================
   FINAL TESTED MOBILE HEADER FIX - v2
   The logo is now a fixed-safe horizontal asset and cannot
   stretch vertically on phones, tablets, or desktops.
   ========================================================= */
html, body { width:100%; max-width:100%; overflow-x:hidden; }
* { min-width:0; }
img, svg { max-width:100%; height:auto; }
.wrap { width:min(1160px, calc(100% - 32px)); }
.header { background:rgba(255,255,255,.97); }
.nav { min-height:72px; padding:8px 0; position:relative; }
.logo {
  width:230px !important;
  height:66px !important;
  max-width:58vw !important;
  max-height:66px !important;
  padding:0 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  overflow:hidden !important;
  border-radius:12px !important;
  background:#101522 !important;
  box-shadow:0 8px 20px rgba(16,21,34,.14) !important;
  flex:0 0 auto !important;
}
.logo img {
  display:block !important;
  width:100% !important;
  height:100% !important;
  max-width:100% !important;
  max-height:100% !important;
  object-fit:contain !important;
  object-position:center center !important;
  aspect-ratio:auto !important;
}
.hero-card { width:100%; max-width:100%; overflow:hidden; }
.hero-card img { display:block; width:100%; height:auto; object-fit:contain; }
.footer-logo { width:300px !important; max-width:80vw !important; height:auto !important; max-height:95px !important; object-fit:contain !important; background:#101522 !important; border-radius:14px !important; padding:0 !important; }
.floating-contact { z-index:9999; }
@media (min-width:1440px){
  .wrap{width:min(1240px, calc(100% - 80px));}
  .logo{width:260px !important;height:75px !important;max-height:75px !important;}
}
@media (max-width:1200px){
  .menu{gap:14px;font-size:15px;}
  .logo{width:218px !important;height:63px !important;}
}
@media (max-width:1024px){
  .hero-grid{grid-template-columns:1fr;gap:30px;padding:48px 0;}
  .hero-card{max-width:760px;margin:0 auto;}
  .grid-3{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media (max-width:850px){
  .wrap{width:calc(100% - 28px);}
  .nav{min-height:66px;padding:8px 0;}
  .logo{width:190px !important;height:55px !important;max-width:56vw !important;max-height:55px !important;border-radius:10px !important;}
  .hamb{display:block;margin-left:auto;color:#168ce5;line-height:1;font-size:30px;}
  .menu{top:66px;}
  .nav .btn{display:none;}
  .hero-grid,.grid-3,.grid-2,.footer-grid,.cta{grid-template-columns:1fr;}
  .hero-card{padding:12px;border-radius:22px;}
  .hero-card img{border-radius:16px;}
  .hero h1,.page-hero h1{font-size:clamp(32px,10vw,48px);line-height:1.02;}
  .hero p,.page-hero p{font-size:17px;}
  .floating-contact{left:12px;right:12px;bottom:12px;top:auto;flex-direction:row;animation:none;}
  .floating-contact a{flex:1;min-height:50px;padding:12px 10px;font-size:18px;}
  .footer{padding-bottom:112px;}
}
@media (max-width:600px){
  .wrap{width:calc(100% - 24px);}
  .topbar{font-size:13px;padding:8px 8px;}
  .topbar a{display:inline-block;margin-top:4px;}
  .logo{width:170px !important;height:49px !important;max-width:52vw !important;max-height:49px !important;}
  .nav{min-height:62px;}
  .menu{top:62px;}
  .hero-grid{padding:34px 0;}
  .hero p .btn{width:100%;margin:5px 0;}
  .btn{width:100%;}
  .license-badge{border-radius:16px;line-height:1.35;}
  .quick-row{grid-template-columns:1fr;}
}
@media (max-width:390px){
  .logo{width:155px !important;height:45px !important;max-width:50vw !important;}
  .floating-contact a{font-size:15px;min-height:46px;}
  .hero h1,.page-hero h1{font-size:30px;}
}


/* =========================================================
   FINAL MOBILE OVERFLOW + GREEN THEME PATCH
   Fixes footer overflow, floating contact width, and removes
   remaining yellow/orange CTA styling.
   ========================================================= */
:root{
  --gold:#29a95f;
  --orange:#29a95f;
}
.cta{
  background:linear-gradient(135deg,#e8f8ee 0%, #d8f0e0 100%) !important;
  border:1px solid #bfe2ca !important;
}
.cta .btn,
.cta .btn.dark,
.hero .btn,
.section .btn,
.page-hero .btn{
  background:var(--green) !important;
  color:#fff !important;
  border-color:var(--green) !important;
  box-shadow:0 8px 22px rgba(41,169,95,.28) !important;
}
.badge,
.notice{
  background:#e8f8ee !important;
  color:#145f35 !important;
  border-color:#bfe2ca !important;
}
.footer,
.footer .wrap,
.footer-grid,
.hero,
.section,
main,
body,
html{
  overflow-x:hidden !important;
}
.footer-grid > div,
.grid-2 > div,
.grid-3 > div,
.nav > *{
  min-width:0 !important;
}
.footer-logo{
  width:100% !important;
  max-width:280px !important;
  height:auto !important;
  max-height:none !important;
  display:block !important;
  margin:0 0 14px 0 !important;
  object-fit:contain !important;
}
.floating-contact{
  left:10px !important;
  right:10px !important;
  width:auto !important;
  max-width:none !important;
  gap:8px !important;
}
.floating-contact a{
  min-width:0 !important;
  width:calc(50% - 4px) !important;
  flex:0 1 calc(50% - 4px) !important;
  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
}
.floating-contact a span{
  white-space:nowrap !important;
}
@media (max-width:850px){
  .wrap{width:calc(100% - 24px) !important;}
  .section{padding:42px 0 !important;}
  .cta{padding:26px 18px !important; border-radius:24px !important;}
  .cta .btn,
  .cta .btn.dark{width:100% !important;}
  .footer{padding:46px 0 112px !important;}
  .footer-grid{display:grid !important; grid-template-columns:1fr !important; gap:22px !important;}
  .footer-logo{max-width:260px !important;}
}
@media (max-width:600px){
  .wrap{width:calc(100% - 20px) !important;}
  .logo{width:185px !important; height:54px !important; max-width:58vw !important;}
  .footer-logo{max-width:240px !important;}
  .floating-contact{left:8px !important; right:8px !important; bottom:8px !important;}
  .floating-contact a{font-size:14px !important; padding:12px 10px !important;}
}
@media (max-width:390px){
  .logo{width:170px !important; height:50px !important; max-width:56vw !important;}
  .footer-logo{max-width:220px !important;}
  .floating-contact a{font-size:13px !important;}
}


/* =========================================================
   FINAL CLEAN PATCH - MOBILE + DESKTOP POLISH
   - all yellow/orange accents switched to green
   - floating contact buttons made small and out of the way
   - footer/mobile overflow fixed
   - logo/image sizing tightened
   ========================================================= */
:root{
  --gold:#29a95f !important;
  --orange:#29a95f !important;
  --green:#29a95f !important;
  --green-dark:#1f874a !important;
}
html,body{max-width:100% !important;overflow-x:hidden !important;}
img,svg{max-width:100% !important;height:auto !important;}
.wrap{width:min(1160px, calc(100% - 28px)) !important;}
.topbar{background:#101522 !important;color:#fff !important;padding:10px 14px !important;}
.topbar a{background:transparent !important;color:#6fe39b !important;padding:0 !important;margin-left:4px !important;border-radius:0 !important;box-shadow:none !important;}
.hamb{color:#29a95f !important;}
.eyebrow,.kicker,.breadcrumb a{color:#6fe39b !important;}
.badge,.notice{background:#e8f8ee !important;color:#145f35 !important;border-color:#bfe2ca !important;}
.btn,.hero .btn,.section .btn,.page-hero .btn,.cta .btn,.cta .btn.dark{background:#29a95f !important;color:#fff !important;border:2px solid #29a95f !important;box-shadow:0 8px 22px rgba(41,169,95,.26) !important;}
.btn.outline{background:#ffffff !important;color:#1f874a !important;border:2px solid #29a95f !important;box-shadow:none !important;}
.cta{background:linear-gradient(135deg,#ecfbf1 0%, #dff3e7 100%) !important;border:1px solid #bfe2ca !important;}
.logo{background:#101522 !important;}
.logo img{object-fit:contain !important;}
.hero-grid{align-items:center !important;}
.hero-card{padding:0 !important;border-radius:26px !important;background:transparent !important;box-shadow:none !important;display:flex !important;justify-content:center !important;align-items:center !important;}
.hero-card img{width:100% !important;height:auto !important;display:block !important;border-radius:22px !important;}
.quick-row{gap:14px !important;}
.quick{min-width:0 !important;}
.footer{background:#08122a !important;padding:52px 0 52px !important;overflow:hidden !important;}
.footer-grid{grid-template-columns:1.15fr 1fr 1fr !important;align-items:start !important;}
.footer-grid>div{min-width:0 !important;}
.footer-logo{display:block !important;width:min(260px,80vw) !important;max-width:100% !important;height:auto !important;margin:0 0 14px 0 !important;padding:0 !important;background:#101522 !important;border-radius:14px !important;}

/* Floating contact: small, visible, not in the way */
.floating-contact{
  position:fixed !important;
  right:14px !important;
  left:auto !important;
  top:56% !important;
  bottom:auto !important;
  transform:translateY(-50%) !important;
  display:flex !important;
  flex-direction:column !important;
  gap:10px !important;
  animation:none !important;
  z-index:9999 !important;
  width:auto !important;
  pointer-events:auto !important;
}
.floating-contact a{
  width:60px !important;
  height:60px !important;
  min-width:60px !important;
  max-width:60px !important;
  padding:0 !important;
  border-radius:999px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  overflow:hidden !important;
  text-decoration:none !important;
  font-size:0 !important;
  box-shadow:0 10px 24px rgba(0,0,0,.24) !important;
  border:1px solid rgba(255,255,255,.25) !important;
}
.floating-contact a span{display:none !important;}
.floating-contact a::before{display:block;font-size:24px;line-height:1;color:#fff;}
.float-call{background:#29a95f !important;color:#fff !important;}
.float-email{background:#101522 !important;color:#fff !important;}
.float-call::before{content:"☎";}
.float-email::before{content:"✉";}

/* Mobile */
@media (max-width: 850px){
  .wrap{width:calc(100% - 22px) !important;}
  .nav{min-height:64px !important;padding:8px 0 !important;}
  .logo{width:200px !important;height:58px !important;max-width:60vw !important;}
  .menu{top:64px !important;right:0 !important;left:0 !important;}
  .hero-grid,.grid-3,.grid-2,.footer-grid,.cta{grid-template-columns:1fr !important;}
  .hero-grid{gap:26px !important;padding:34px 0 42px !important;}
  .hero h1,.page-hero h1{font-size:clamp(31px, 10vw, 46px) !important;line-height:1.03 !important;}
  .hero p,.page-hero p{font-size:16px !important;}
  .quick-row{grid-template-columns:1fr !important;}
  .license-badge{border-radius:18px !important;line-height:1.35 !important;}
  .section{padding:42px 0 !important;}
  .cta{padding:24px 18px !important;border-radius:24px !important;}
  .footer{padding:44px 0 44px !important;}
  .footer-logo{width:min(240px,74vw) !important;}
  .floating-contact{
    right:10px !important;
    left:auto !important;
    top:auto !important;
    bottom:86px !important;
    transform:none !important;
    gap:8px !important;
  }
  .floating-contact a{
    width:54px !important;
    height:54px !important;
    min-width:54px !important;
    max-width:54px !important;
  }
}
@media (max-width: 600px){
  .topbar{font-size:13px !important;}
  .logo{width:184px !important;height:54px !important;max-width:60vw !important;}
  .footer-logo{width:min(220px,72vw) !important;}
}
@media (max-width: 390px){
  .logo{width:170px !important;height:50px !important;max-width:58vw !important;}
  .floating-contact a{width:50px !important;height:50px !important;min-width:50px !important;max-width:50px !important;}
}


/* =========================================================
   POLISH PASS 2 - final layout/graphics pass
   ========================================================= */
.hero-grid{grid-template-columns:1.02fr .98fr !important;align-items:center !important;}
.hero-card{max-width:640px !important;margin-left:auto !important;}
.hero-card img{border-radius:22px !important;}
.topbar a{background:none !important;color:#6fe39b !important;padding:0 !important;margin-left:6px !important;display:inline !important;}
.cta .btn.dark,.cta .btn{background:#29a95f !important;border-color:#29a95f !important;color:#fff !important;}

/* compact side contact buttons on every device */
.floating-contact{
  position:fixed !important;
  right:14px !important;
  left:auto !important;
  top:60% !important;
  bottom:auto !important;
  transform:translateY(-50%) !important;
  display:flex !important;
  flex-direction:column !important;
  gap:10px !important;
  width:auto !important;
  z-index:9999 !important;
}
.floating-contact a{
  width:56px !important;
  height:56px !important;
  min-width:56px !important;
  max-width:56px !important;
  flex:none !important;
  padding:0 !important;
  font-size:0 !important;
  border-radius:999px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  box-shadow:0 12px 28px rgba(0,0,0,.22) !important;
}
.floating-contact a:hover{transform:translateX(-3px) !important;}
.float-call::before,.float-email::before{display:block !important;font-size:23px !important;line-height:1 !important;color:#fff !important;}
.float-call::before{content:"☎" !important;}
.float-email::before{content:"✉" !important;}
.floating-contact a span{display:none !important;}
@media (max-width: 850px){
  .hero-grid{grid-template-columns:1fr !important;}
  .hero-card{max-width:100% !important;margin:0 auto !important;}
  .floating-contact{
    right:10px !important;
    left:auto !important;
    top:auto !important;
    bottom:92px !important;
    transform:none !important;
    flex-direction:column !important;
    gap:8px !important;
  }
  .floating-contact a{
    width:52px !important;
    height:52px !important;
    min-width:52px !important;
    max-width:52px !important;
  }
}
@media (max-width: 390px){
  .floating-contact{right:8px !important;bottom:88px !important;}
  .floating-contact a{width:48px !important;height:48px !important;min-width:48px !important;max-width:48px !important;}
}


/* SEO content polish */
.content-flow p{font-size:18px;color:var(--muted);max-width:920px}.content-flow h2{margin-top:34px}.link-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:22px 0}.link-grid a{display:block;background:#fff;border:1px solid var(--line);border-radius:18px;padding:16px;text-decoration:none;font-weight:900;color:#142033;box-shadow:0 8px 18px rgba(16,21,34,.04)}.link-grid a:hover{border-color:#29a95f;transform:translateY(-2px)}.service-pill{display:inline-block;background:#e8f8ee;color:#145f35;border:1px solid #bfe2ca;border-radius:999px;padding:8px 12px;font-weight:900;margin:4px}.county-callout{background:#101522;color:#fff;border-radius:26px;padding:30px;box-shadow:var(--shadow)}.county-callout p{color:#dbe5f2}.county-callout a{color:#fff}.mini-faq{display:grid;gap:12px}.mini-faq .card{box-shadow:none}.official-link{background:#eef7ff;border:1px solid #cddff4;border-radius:18px;padding:18px;margin:18px 0;color:#142033}.official-link a{font-weight:900;color:#145f35}.disclaimer{font-size:13px;color:#7a8799}.hero .license-badge{display:none!important}.floating-contact{right:14px!important;left:auto!important;top:60%!important;bottom:auto!important;transform:translateY(-50%)!important;flex-direction:column!important}.floating-contact a{width:56px!important;height:56px!important;min-width:56px!important;max-width:56px!important;font-size:0!important;padding:0!important}.floating-contact a span{display:none!important}.floating-contact a::before{font-size:23px!important;color:#fff!important}.float-call::before{content:"☎"}.float-email::before{content:"✉"}@media(max-width:850px){.link-grid{grid-template-columns:1fr}.content-flow p{font-size:16.5px}.floating-contact{right:10px!important;bottom:88px!important;top:auto!important;transform:none!important}.floating-contact a{width:50px!important;height:50px!important;min-width:50px!important;max-width:50px!important}}
