:root{
  --navy:#0f2d62;
  --navy2:#173c78;
  --blue:#4e8fc9;
  --gold:#b08a3c;
  --ink:#172033;
  --muted:#687388;
  --line:#e6eaf0;
  --soft:#f7f9fc;
  --white:#ffffff;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  color:var(--ink);
  background:var(--white);
  line-height:1.55;
}
a{text-decoration:none;color:inherit}
.container{width:min(1100px,calc(100% - 40px));margin:auto}
.site-header{
  position:sticky;top:0;z-index:50;
  background:rgba(255,255,255,.96);
  backdrop-filter:blur(10px);
  border-bottom:1px solid var(--line)
}
.nav{
  min-height:88px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px
}
.brand img{
  width:440px;
  height:125px;
  object-fit:contain;
  object-position:left center
}
nav{
  display:flex;
  gap:28px;
  font-size:14px;
  font-weight:700;
  color:#354158
}
nav a:hover{color:var(--blue)}
.hero{
  padding:42px 0 48px;
  background:linear-gradient(180deg,#fff 0%,#fbfcff 100%)
}
.hero-inner{text-align:center;max-width:900px}
.eyebrow{
  text-transform:uppercase;
  letter-spacing:.15em;
  font-weight:800;
  font-size:12px;
  color:var(--gold);
  margin:0 0 12px
}
h1{
  font-size:clamp(44px,7vw,76px);
  line-height:1.02;
  letter-spacing:-.045em;
  margin:0;
  color:var(--navy)
}
.service-line{
  max-width:760px;
  margin:21px auto 0;
  color:var(--muted);
  font-size:15px
}
.offer{
  display:grid;
  gap:3px;
  margin:32px auto 0
}
.offer strong{
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(28px,4vw,41px);
  font-weight:500;
  color:#21324f
}
.offer span{
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(22px,3vw,31px);
  color:#21324f
}
.hero-actions{
  display:flex;
  justify-content:center;
  margin-top:27px
}
.button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:48px;
  padding:0 28px;
  border-radius:10px;
  font-weight:800;
  font-size:14px
}
.primary{background:var(--navy);color:#fff}
.primary:hover{background:var(--navy2)}
.section{
  padding:70px 0;
  border-top:1px solid var(--line)
}
.section.compact{padding:64px 0}
.soft{background:var(--soft)}
.split{
  display:grid;
  grid-template-columns:1fr 1.15fr;
  gap:58px;
  align-items:center
}
h2{
  font-size:clamp(32px,4vw,47px);
  line-height:1.08;
  letter-spacing:-.035em;
  color:var(--navy);
  margin:0
}
.benefits{display:grid;gap:12px}
.benefit{
  display:flex;
  align-items:center;
  gap:15px;
  padding:15px 17px;
  border:1px solid var(--line);
  border-radius:14px;
  background:#fff;
  box-shadow:0 8px 30px rgba(15,45,98,.04)
}
.benefit span{
  width:34px;
  height:34px;
  border:1px solid #e7dcc1;
  border-radius:9px;
  display:grid;
  place-items:center;
  color:var(--gold);
  font-weight:900
}
.steps{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:16px;
  margin-top:32px
}
.steps article{
  background:#fff;
  border:1px solid var(--line);
  border-radius:18px;
  padding:26px;
  min-height:205px
}
.step-no{color:var(--gold);font-weight:900;font-size:13px}
.steps h3{color:var(--navy);font-size:20px;margin:12px 0 8px}
.steps p{color:var(--muted);margin:0}
.contact-section{
  padding:72px 0 36px;
  background:radial-gradient(circle at 80% 20%,#214c89 0%,var(--navy) 42%,#09224d 100%);
  color:#fff
}
.contact-section h2{color:#fff;margin-bottom:26px}
.contact-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:14px
}
.contact-card{
  display:flex;
  flex-direction:column;
  gap:4px;
  padding:18px;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.08);
  border-radius:14px
}
a.contact-card:hover{background:rgba(255,255,255,.12)}
.contact-card small{
  text-transform:uppercase;
  letter-spacing:.08em;
  color:#d4b66f;
  font-weight:800
}
.contact-card strong{font-size:16px;overflow-wrap:anywhere}
.footer-row{
  display:flex;
  justify-content:space-between;
  gap:30px;
  align-items:center;
  border-top:1px solid rgba(255,255,255,.14);
  margin-top:38px;
  padding-top:28px
}
.footer-brand img{
  width:230px;
  height:86px;
  object-fit:contain;
  object-position:left center;
  background:#fff;
  border-radius:10px;
  padding:6px
}
.footer-brand p{color:#c7d3e9;margin:10px 0 0;font-size:13px}
.socials{display:flex;gap:12px}
.social{
  width:46px;
  height:46px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:#fff;
  transition:transform .18s ease,box-shadow .18s ease
}
.social:hover{transform:translateY(-2px);box-shadow:0 7px 18px rgba(0,0,0,.18)}
.social svg{width:23px;height:23px;fill:currentColor}
.whatsapp{color:#25D366}
.facebook{color:#1877F2}
.instagram{color:#E1306C}
.copyright{margin:28px 0 0;color:#9fb0cb;font-size:12px}

@media(max-width:900px){
  .brand img{width:360px;height:114px}
  .split{gap:38px}
}

@media(max-width:760px){
  .container{width:min(100% - 28px,1100px)}
  .site-header{position:static}
  .nav{min-height:68px;justify-content:center}
  .brand img{width:310px;height:106px;object-position:center}
  nav{display:none}

  .hero{padding:38px 0 40px}
  .eyebrow{font-size:10px;letter-spacing:.12em}
  h1{font-size:clamp(38px,12vw,55px)}
  .service-line{font-size:13px;line-height:1.7}
  .offer{margin-top:27px}
  .offer strong{font-size:clamp(25px,8vw,34px)}
  .offer span{font-size:clamp(20px,6.7vw,28px)}
  .button{width:min(100%,240px)}

  .section,.section.compact{padding:50px 0}
  .split{grid-template-columns:1fr;gap:28px}
  h2{font-size:clamp(30px,9vw,40px)}
  .benefit{padding:14px}

  .steps{grid-template-columns:1fr;margin-top:26px}
  .steps article{min-height:auto;padding:22px}

  .contact-section{padding:54px 0 28px}
  .contact-grid{grid-template-columns:1fr}
  .contact-card{padding:16px}

  .footer-row{
    align-items:center;
    flex-direction:column;
    text-align:center;
    gap:24px
  }
  .footer-brand img{
    width:210px;
    height:82px;
    object-position:center
  }
  .footer-brand p{margin-top:8px}
  .socials{justify-content:center}
  .copyright{text-align:center}
}

@media(max-width:380px){
  .container{width:min(100% - 22px,1100px)}
  .brand img{width:285px;height:101px}
  h1{font-size:36px}
  .offer strong{font-size:25px}
  .offer span{font-size:21px}
}

/* v3 refinements */
.hero h1{margin-top:0}
@media(max-width:760px){
  .nav{min-height:76px}
  .hero{padding-top:34px}
}

/* v7: remove only the thick decorative bar beneath the brand logo */
.brand > span,
.brand .brand-line,
.brand .logo-line,
.logo-line,
.brand-underline {
  display:none !important;
}

/* Contact modal */
button.button{
  border:0;
  cursor:pointer;
  font-family:inherit;
}
.modal-open{overflow:hidden}
.contact-modal{
  position:fixed;
  inset:0;
  z-index:999;
  display:none;
  align-items:center;
  justify-content:center;
  padding:20px;
}
.contact-modal.is-open{display:flex}
.contact-modal-backdrop{
  position:absolute;
  inset:0;
  background:rgba(8,20,45,.62);
  backdrop-filter:blur(5px);
}
.contact-modal-card{
  position:relative;
  z-index:1;
  width:min(460px,100%);
  background:#fff;
  border-radius:20px;
  padding:28px;
  box-shadow:0 24px 70px rgba(0,0,0,.28);
}
.contact-modal-card h2{
  margin:0;
  font-size:32px;
  color:var(--navy);
}
.contact-modal-card p{
  margin:8px 0 22px;
  color:var(--muted);
}
.contact-modal-close{
  position:absolute;
  top:12px;
  right:14px;
  width:38px;
  height:38px;
  border:0;
  border-radius:50%;
  background:var(--soft);
  color:var(--navy);
  font-size:25px;
  cursor:pointer;
}
.contact-options{
  display:grid;
  gap:11px;
}
.contact-option{
  display:flex;
  align-items:center;
  gap:14px;
  padding:15px 16px;
  border:1px solid var(--line);
  border-radius:13px;
  background:#fff;
  color:var(--navy);
  font-weight:800;
  transition:transform .16s ease,background .16s ease;
}
.contact-option:hover{
  transform:translateY(-1px);
  background:var(--soft);
}
.contact-option-icon{
  width:34px;
  height:34px;
  display:grid;
  place-items:center;
  border-radius:9px;
  background:var(--soft);
  font-size:18px;
}
@media(max-width:520px){
  .contact-modal-card{
    padding:24px 18px 18px;
    border-radius:18px;
  }
  .contact-modal-card h2{font-size:28px}
  .contact-option{padding:14px}
}

/* Correct anchor positioning under the sticky header */
#services, #why-us, #process {
  scroll-margin-top: 120px;
}
@media(max-width:760px){
  #services, #why-us, #process {
    scroll-margin-top: 16px;
  }
}

/* v11 — compact, cleaner contact/footer section */
.contact{
  padding:52px 0 28px !important;
}
.contact h2{
  margin-bottom:20px !important;
}
.contact-grid{
  gap:10px !important;
}
.contact-card{
  padding:14px 16px !important;
  min-height:0 !important;
  border-radius:12px !important;
}
.contact-card .label{
  margin-bottom:5px !important;
}
.footer-row{
  margin-top:22px !important;
  padding-top:18px !important;
  gap:20px !important;
  align-items:flex-end !important;
}
.footer-brand{
  gap:0 !important;
}
.footer-logo{
  display:none !important;
}
.footer-brand p{
  margin:0 0 12px !important;
}
.footer-brand .copyright{
  margin-bottom:0 !important;
}
.socials{
  gap:9px !important;
}
.socials a{
  width:38px !important;
  height:38px !important;
}
.socials svg{
  width:18px !important;
  height:18px !important;
}
@media(max-width:760px){
  .contact{
    padding:38px 0 22px !important;
  }
  .contact-grid{
    gap:8px !important;
  }
  .contact-card{
    padding:12px 14px !important;
  }
  .footer-row{
    margin-top:18px !important;
    padding-top:16px !important;
    align-items:flex-start !important;
  }
  .socials a{
    width:36px !important;
    height:36px !important;
  }
}

/* v12 — tighter contact cards + integrated footer logo box */
.contact-grid{
  gap:8px !important;
}
.contact-card{
  padding:10px 14px !important;
  min-height:58px !important;
  justify-content:center !important;
  border-radius:11px !important;
}
.contact-card small{
  margin:0 0 2px !important;
  line-height:1.15 !important;
}
.contact-card strong{
  line-height:1.25 !important;
}
.footer-row{
  margin-top:18px !important;
  padding-top:15px !important;
}
.footer-brand-box{
  display:flex !important;
  align-items:center !important;
  gap:14px !important;
  background:#fff !important;
  border-radius:10px !important;
  padding:8px 14px 8px 8px !important;
  width:max-content !important;
  max-width:520px !important;
}
.footer-brand-box img{
  width:110px !important;
  height:54px !important;
  object-fit:contain !important;
  object-position:center !important;
  background:transparent !important;
  padding:0 !important;
  border-radius:0 !important;
}
.footer-brand-box p{
  margin:0 !important;
  color:var(--navy) !important;
  font-size:13px !important;
  font-weight:700 !important;
  line-height:1.25 !important;
  max-width:240px !important;
}
.copyright{
  margin-top:18px !important;
}
@media(max-width:760px){
  .contact-card{
    min-height:54px !important;
    padding:9px 12px !important;
  }
  .footer-brand-box{
    width:100% !important;
    max-width:100% !important;
    justify-content:flex-start !important;
    padding:8px 10px !important;
  }
  .footer-brand-box img{
    width:92px !important;
    height:48px !important;
  }
  .footer-brand-box p{
    font-size:12px !important;
    max-width:none !important;
  }
}

/* v13 — genuinely compact contact cards and cleaner brand pill */
.contact-grid{
  gap:6px !important;
}
.contact-card{
  min-height:0 !important;
  height:auto !important;
  padding:7px 12px !important;
  border-radius:9px !important;
}
.contact-card small{
  font-size:10px !important;
  margin:0 0 1px !important;
  line-height:1.05 !important;
}
.contact-card strong{
  font-size:14px !important;
  line-height:1.15 !important;
}
.footer-row{
  margin-top:12px !important;
  padding-top:12px !important;
}
.footer-brand-box{
  display:inline-flex !important;
  width:auto !important;
  max-width:none !important;
  min-width:0 !important;
  align-items:center !important;
  gap:9px !important;
  padding:5px 10px 5px 6px !important;
  border-radius:8px !important;
}
.footer-brand-box img{
  width:76px !important;
  height:39px !important;
}
.footer-brand-box p{
  max-width:185px !important;
  font-size:11px !important;
  line-height:1.15 !important;
  white-space:normal !important;
}
.copyright{
  margin-top:10px !important;
}
@media(max-width:760px){
  .contact-card{
    padding:7px 10px !important;
  }
  .footer-brand-box{
    width:auto !important;
    max-width:100% !important;
    padding:5px 9px 5px 5px !important;
  }
  .footer-brand-box img{
    width:68px !important;
    height:36px !important;
  }
  .footer-brand-box p{
    font-size:10.5px !important;
    max-width:170px !important;
  }
}

/* v14 — four genuinely small cards; no white brand box */
.contact-grid{
  display:grid !important;
  grid-template-columns:1fr 1fr !important;
  gap:7px 9px !important;
}
.contact-card{
  box-sizing:border-box !important;
  min-height:0 !important;
  height:48px !important;
  padding:6px 12px !important;
  display:flex !important;
  flex-direction:column !important;
  justify-content:center !important;
  border-radius:9px !important;
}
.contact-card small{
  font-size:9px !important;
  margin:0 0 2px !important;
  line-height:1 !important;
}
.contact-card strong{
  font-size:13px !important;
  line-height:1.1 !important;
}
.footer-row{
  margin-top:12px !important;
  padding-top:12px !important;
  align-items:center !important;
}
.footer-brand-clean{
  display:flex !important;
  align-items:center !important;
  gap:10px !important;
  background:transparent !important;
  padding:0 !important;
  width:auto !important;
}
.footer-brand-clean img{
  width:72px !important;
  height:42px !important;
  object-fit:contain !important;
  background:transparent !important;
  padding:0 !important;
}
.footer-brand-clean p{
  margin:0 !important;
  max-width:190px !important;
  font-size:11px !important;
  line-height:1.2 !important;
  color:#fff !important;
  font-weight:600 !important;
}
@media(max-width:760px){
  .contact-grid{grid-template-columns:1fr 1fr !important;gap:6px !important;}
  .contact-card{height:46px !important;padding:5px 9px !important;}
  .contact-card strong{font-size:11.5px !important;}
  .footer-brand-clean img{width:62px !important;height:38px !important;}
  .footer-brand-clean p{font-size:10px !important;max-width:160px !important;}
}

/* v15 — four actual compact boxes, NOT long rectangles */
.contact-grid{
  display:grid !important;
  grid-template-columns:repeat(2, 230px) !important;
  justify-content:start !important;
  gap:10px !important;
  width:auto !important;
  max-width:none !important;
}
.contact-card{
  width:230px !important;
  max-width:230px !important;
  min-width:0 !important;
  height:72px !important;
  min-height:72px !important;
  padding:10px 13px !important;
  box-sizing:border-box !important;
  border-radius:12px !important;
  justify-content:center !important;
}
.contact-card small{
  font-size:9px !important;
  margin-bottom:4px !important;
}
.contact-card strong{
  font-size:13px !important;
  line-height:1.2 !important;
}
@media(max-width:760px){
  .contact-grid{
    grid-template-columns:repeat(2, minmax(0,1fr)) !important;
    width:100% !important;
    gap:8px !important;
  }
  .contact-card{
    width:100% !important;
    max-width:none !important;
    height:68px !important;
    min-height:68px !important;
    padding:9px 10px !important;
  }
}

/* v16 — balanced footer: larger info cards and centered use of space */
.contact-wrap{
  max-width:900px !important;
}
.contact-grid{
  grid-template-columns:repeat(2, 310px) !important;
  gap:10px 12px !important;
}
.contact-card{
  width:310px !important;
  max-width:310px !important;
  height:76px !important;
  min-height:76px !important;
  padding:11px 15px !important;
}
.contact-card small{
  font-size:10px !important;
  margin-bottom:4px !important;
}
.contact-card strong{
  font-size:14px !important;
}
.footer-row{
  margin-top:15px !important;
}
.footer-brand-clean img{
  width:82px !important;
  height:46px !important;
}
.footer-brand-clean p{
  font-size:11.5px !important;
  max-width:205px !important;
}
@media(max-width:760px){
  .contact-grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    width:100% !important;
    gap:8px !important;
  }
  .contact-card{
    width:100% !important;
    max-width:none !important;
    height:70px !important;
    min-height:70px !important;
    padding:9px 10px !important;
  }
}

/* v16 modified header */
.site-header{
  background:linear-gradient(90deg,#0b2858 0%,#123b76 55%,#174c8c 100%);
  border-bottom:1px solid rgba(255,255,255,.14);
  box-shadow:0 4px 18px rgba(15,45,98,.10);
}
.site-header .nav{min-height:96px}
.site-header .brand{
  display:flex;
  align-items:center;
  background:#fff;
  border-radius:12px;
  padding:5px 12px;
  box-shadow:0 3px 12px rgba(0,0,0,.10);
}
.site-header .brand img{
  width:185px;
  height:72px;
  object-fit:contain;
  object-position:left center;
}
.site-header nav{color:#fff}
.site-header nav a{color:#fff;padding:10px 13px;border-radius:8px;transition:background .18s ease}
.site-header nav a:hover{color:#fff;background:rgba(255,255,255,.12)}

@media (max-width:700px){
  .site-header .nav{min-height:78px;gap:10px}
  .site-header .brand{padding:4px 7px;border-radius:9px}
  .site-header .brand img{width:112px;height:54px}
  .site-header nav{gap:4px;font-size:12px}
  .site-header nav a{padding:8px 6px}
}

/* v17 — tighter logo badge + refined nav typography */
.site-header .brand{
  display:inline-flex !important;
  align-items:center !important;
  background:#fff !important;
  border-radius:12px !important;
  padding:6px 10px !important;
  width:auto !important;
  min-width:0 !important;
  box-shadow:0 4px 14px rgba(0,0,0,.08) !important;
}
.site-header .brand img{
  width:185px !important;
  height:70px !important;
  object-fit:contain !important;
  object-position:center !important;
}
.site-header nav{
  gap:30px !important;
}
.site-header nav a{
  color:#fff !important;
  font-family:Georgia,"Times New Roman",serif !important;
  font-style:italic !important;
  font-weight:600 !important;
  letter-spacing:.01em !important;
  font-size:16px !important;
  transition:opacity .15s ease, transform .15s ease !important;
}
.site-header nav a:hover{
  opacity:.82 !important;
  transform:translateY(-1px) !important;
}
@media(max-width:760px){
  .site-header .brand{
    padding:5px 8px !important;
    border-radius:10px !important;
  }
  .site-header .brand img{
    width:165px !important;
    height:62px !important;
  }
}

/* v18 — logo +50%, white badge much tighter */
.site-header .brand{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:auto !important;
  min-width:0 !important;
  max-width:none !important;
  height:auto !important;
  padding:2px 4px !important;
  margin:0 !important;
  border-radius:7px !important;
  background:#fff !important;
}
.site-header .brand img{
  width:278px !important;
  height:105px !important;
  max-width:none !important;
  object-fit:contain !important;
  display:block !important;
}
@media(max-width:760px){
  .site-header .brand{
    padding:2px 3px !important;
  }
  .site-header .brand img{
    width:248px !important;
    height:93px !important;
  }
}

/* v19 — white badge truly hugs logo */
.site-header .brand{
  display:inline-block !important;
  width:190px !important;
  min-width:190px !important;
  max-width:190px !important;
  height:92px !important;
  min-height:92px !important;
  max-height:92px !important;
  padding:0 !important;
  margin:0 !important;
  background:#fff !important;
  border-radius:9px !important;
  overflow:hidden !important;
  box-sizing:border-box !important;
  line-height:0 !important;
}
.site-header .brand img{
  display:block !important;
  width:190px !important;
  height:92px !important;
  max-width:190px !important;
  max-height:92px !important;
  margin:0 !important;
  padding:0 !important;
  object-fit:contain !important;
  object-position:center !important;
}
@media(max-width:760px){
  .site-header .brand{
    width:155px !important;
    min-width:155px !important;
    max-width:155px !important;
    height:76px !important;
    min-height:76px !important;
    max-height:76px !important;
  }
  .site-header .brand img{
    width:155px !important;
    height:76px !important;
    max-width:155px !important;
    max-height:76px !important;
  }
}

/* v20 — larger logo, tighter white badge, services strip */
.site-header .brand{
  width:198px !important;
  min-width:198px !important;
  max-width:198px !important;
  height:96px !important;
  min-height:96px !important;
  max-height:96px !important;
  padding:0 !important;
  overflow:hidden !important;
  background:#fff !important;
  border-radius:8px !important;
  box-sizing:border-box !important;
}
.site-header .brand img{
  width:247px !important;
  height:120px !important;
  max-width:none !important;
  max-height:none !important;
  position:relative !important;
  left:50% !important;
  top:50% !important;
  transform:translate(-50%,-50%) !important;
  object-fit:contain !important;
}

/* blue pill fitted closely around the services text */
.hero .services,
.hero .service-line,
.hero .eyebrow-services,
.hero p:first-of-type{
  display:inline-block !important;
  width:auto !important;
  max-width:max-content !important;
  background:#0b4f96 !important;
  color:#fff !important;
  padding:7px 13px !important;
  border-radius:8px !important;
  line-height:1.25 !important;
  margin-left:auto !important;
  margin-right:auto !important;
}

/* Target the actual hero services line in this build */
.hero-subtitle{
  display:inline-block !important;
  width:auto !important;
  max-width:max-content !important;
  background:#0b4f96 !important;
  color:#fff !important;
  padding:7px 13px !important;
  border-radius:8px !important;
  line-height:1.25 !important;
  margin-left:auto !important;
  margin-right:auto !important;
}

@media(max-width:760px){
  .site-header .brand{
    width:158px !important;
    min-width:158px !important;
    max-width:158px !important;
    height:77px !important;
    min-height:77px !important;
    max-height:77px !important;
  }
  .site-header .brand img{
    width:200px !important;
    height:97px !important;
  }
  .hero-subtitle{
    padding:6px 9px !important;
    border-radius:7px !important;
    max-width:94% !important;
  }
}

/* v21 refinements */

/* Make the logo white badge tighter again while keeping logo visually strong */
.site-header .brand{
  width:168px !important;
  min-width:168px !important;
  max-width:168px !important;
  height:88px !important;
  min-height:88px !important;
  max-height:88px !important;
  padding:0 !important;
  border-radius:8px !important;
  overflow:hidden !important;
  background:#fff !important;
}
.site-header .brand img{
  width:220px !important;
  height:112px !important;
  max-width:none !important;
  max-height:none !important;
  position:relative !important;
  left:50% !important;
  top:50% !important;
  transform:translate(-50%,-50%) !important;
  object-fit:contain !important;
}

/* Service badge: same deep navy family as site, slightly larger + elegant italic */
.hero-subtitle{
  background:#12366b !important;
  background-image:none !important;
  color:#fff !important;
  font-family:Georgia, "Times New Roman", serif !important;
  font-style:italic !important;
  font-weight:600 !important;
  font-size:18px !important;
  letter-spacing:.15px !important;
  line-height:1.25 !important;
  padding:8px 15px !important;
  border-radius:7px !important;
  box-shadow:none !important;
}

/* Remove older broad rule that could recolor the same line */
.hero .services,
.hero .service-line,
.hero .eyebrow-services{
  background:#12366b !important;
}

@media(max-width:760px){
  .site-header .brand{
    width:142px !important;
    min-width:142px !important;
    max-width:142px !important;
    height:72px !important;
    min-height:72px !important;
    max-height:72px !important;
  }
  .site-header .brand img{
    width:184px !important;
    height:92px !important;
  }
  .hero-subtitle{
    font-size:14px !important;
    padding:7px 10px !important;
    max-width:94% !important;
  }
}

/* v22: tighter logo badge + better hero spacing */
.site-header .brand{
  width:132px !important;
  min-width:132px !important;
  max-width:132px !important;
  height:78px !important;
  min-height:78px !important;
  max-height:78px !important;
  padding:0 !important;
  border-radius:7px !important;
  overflow:hidden !important;
  background:#fff !important;
}
.site-header .brand img{
  width:158px !important;
  height:88px !important;
  max-width:none !important;
  max-height:none !important;
  object-fit:contain !important;
  position:relative !important;
  left:50% !important;
  top:50% !important;
  transform:translate(-50%,-50%) !important;
}

/* Give the services badge a little breathing room below the main heading */
.hero-subtitle{
  margin-top:18px !important;
  margin-bottom:24px !important;
  width:max-content !important;
  max-width:94% !important;
  padding:8px 15px !important;
}

/* keep hero vertical rhythm balanced */
.hero h1{
  margin-bottom:0 !important;
}

@media(max-width:760px){
  .site-header .brand{
    width:112px !important;
    min-width:112px !important;
    max-width:112px !important;
    height:64px !important;
    min-height:64px !important;
    max-height:64px !important;
  }
  .site-header .brand img{
    width:136px !important;
    height:74px !important;
  }
  .hero-subtitle{
    margin-top:14px !important;
    margin-bottom:20px !important;
    width:auto !important;
  }
}

/* v23 — rounded header bar */
.site-header{
  border-radius: 0 0 24px 24px !important;
  overflow: hidden !important;
}
.site-header .container,
.site-header .nav-wrap,
header.site-header{
  border-radius: 0 0 24px 24px !important;
}
@media (max-width:760px){
  .site-header,
  .site-header .container,
  .site-header .nav-wrap,
  header.site-header{
    border-radius:0 0 18px 18px !important;
  }
}

/* v24 — ONE services badge only + tighter logo badge */

/* Outer service-line must be completely invisible: no second rectangle */
.hero p.service-line{
  display:block !important;
  width:100% !important;
  max-width:none !important;
  background:transparent !important;
  background-image:none !important;
  color:inherit !important;
  padding:0 !important;
  border:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
  margin:18px auto 24px !important;
}

/* The inner span is the ONLY blue rectangle */
.hero p.service-line .hero-subtitle{
  display:inline-block !important;
  width:auto !important;
  max-width:94% !important;
  margin:0 auto !important;
  padding:8px 15px !important;
  background:#12366b !important;
  background-image:none !important;
  color:#fff !important;
  border:0 !important;
  border-radius:8px !important;
  box-shadow:none !important;
  font-family:Georgia,"Times New Roman",serif !important;
  font-style:italic !important;
  font-weight:600 !important;
  font-size:18px !important;
  line-height:1.25 !important;
}

/* White logo badge: shrink it again so it hugs the logo */
.site-header .brand{
  width:108px !important;
  min-width:108px !important;
  max-width:108px !important;
  height:68px !important;
  min-height:68px !important;
  max-height:68px !important;
  padding:0 !important;
  border-radius:10px !important;
  overflow:hidden !important;
  background:#fff !important;
}
.site-header .brand img{
  width:132px !important;
  height:76px !important;
  max-width:none !important;
  max-height:none !important;
  object-fit:contain !important;
  position:relative !important;
  left:50% !important;
  top:50% !important;
  transform:translate(-50%,-50%) !important;
}

@media(max-width:760px){
  .site-header .brand{
    width:94px !important;
    min-width:94px !important;
    max-width:94px !important;
    height:60px !important;
    min-height:60px !important;
    max-height:60px !important;
  }
  .site-header .brand img{
    width:116px !important;
    height:68px !important;
  }
  .hero p.service-line{
    margin:14px auto 20px !important;
  }
  .hero p.service-line .hero-subtitle{
    font-size:14px !important;
    padding:7px 10px !important;
  }
}

/* v26 — new logo + no white header box */
.site-header .brand{
  background:transparent !important;
  border:none !important;
  box-shadow:none !important;
  border-radius:0 !important;
  padding:0 !important;
  width:150px !important;
  min-width:150px !important;
  max-width:150px !important;
  height:92px !important;
  min-height:92px !important;
  max-height:92px !important;
  overflow:visible !important;
}
.site-header .brand img{
  display:block !important;
  width:150px !important;
  height:92px !important;
  max-width:150px !important;
  max-height:92px !important;
  object-fit:contain !important;
  object-position:center !important;
  position:static !important;
  transform:none !important;
  margin:0 !important;
  padding:0 !important;
}
@media(max-width:760px){
  .site-header .brand{
    width:118px !important;
    min-width:118px !important;
    max-width:118px !important;
    height:74px !important;
    min-height:74px !important;
    max-height:74px !important;
  }
  .site-header .brand img{
    width:118px !important;
    height:74px !important;
    max-width:118px !important;
    max-height:74px !important;
  }
}

/* v30: branded Contact Us popup */
.contact-modal-brand{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  margin:0 36px 14px;
}
.contact-modal-brand img{
  display:block;
  width:150px;
  max-height:94px;
  object-fit:contain;
  margin:0 auto 5px;
}
.contact-modal-company{
  color:#12366b;
  font-family:Georgia,"Times New Roman",serif;
  font-size:20px;
  font-weight:700;
  line-height:1.15;
}
@media(max-width:560px){
  .contact-modal-brand img{
    width:132px;
    max-height:84px;
  }
  .contact-modal-company{
    font-size:18px;
  }
}

/* v34 — restore complete footer and enlarge footer brand logo */
.footer-brand-clean img{
  width:118px !important;
  height:68px !important;
}
@media(max-width:760px){
  .footer-brand-clean img{
    width:96px !important;
    height:58px !important;
  }
}

/* v37: footer QR only */
.footer-qr-only{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:8px;
}
.footer-qr-only a{
  display:block;
  background:#fff;
  padding:7px;
  border-radius:12px;
  line-height:0;
}
.footer-qr-only img{
  display:block;
  width:108px;
  height:108px;
  object-fit:contain;
}
.footer-qr-only span{
  color:#fff;
  font-size:13px;
  font-weight:700;
}
@media(max-width:760px){
  .footer-qr-only img{
    width:92px;
    height:92px;
  }
}

/* v40 — Scan to Contact styling only */
.footer-qr-only span{
  font-family: Baskerville, "Libre Baskerville", "Times New Roman", serif !important;
  font-size: 16px !important;
  font-style: italic !important;
  font-weight: 700 !important;
  letter-spacing: .7px !important;
  transform: rotate(-3deg) !important;
  display: inline-block !important;
  text-shadow: 0 1px 1px rgba(0,0,0,.18) !important;
}

/* v44 — contact-card white text styling only */
.contact-grid .contact-card strong{
  font-family: "Palatino Linotype", Palatino, "Book Antiqua", serif !important;
  font-style: italic !important;
  font-weight: 600 !important;
  letter-spacing: .35px !important;
  line-height: 1.18 !important;
}
