:root {
  --green: #36a900;
  --green-2: #1f7f32;
  --green-3: #e9ffd8;
  --gold: #d6af39;
  --navy: #061a33;
  --navy-2: #0d2b4f;
  --text: #4f5b68;
  --muted: #6b7683;
  --cream: #f3ead8;
  --bg: #fbfaf6;
  --pale: #f0ffdf;
  --white: #ffffff;
  --border: #e4eadf;
  --shadow: 0 20px 55px rgba(6, 26, 51, 0.1);
  --shadow-soft: 0 12px 30px rgba(6, 26, 51, 0.08);
  --radius: 22px;
}

* {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
}

body {
  margin: 0;
  background: linear-gradient(180deg, #fff 0%, var(--bg) 45%, #fff 100%);
  font-family: "DM Sans", Arial, sans-serif;
  color: var(--text);
  font-size: 16px;
  line-height: 1.72;
  -webkit-font-smoothing: antialiased;
}

a {
  color: inherit;
}

img {
  max-width: 100%;
  display: block;
}

p {
  margin: 0 0 18px;
  color: var(--text);
}

h1,
h2,
h3,
h4 {
  font-family: "DM Sans", Arial, sans-serif;
  color: var(--navy);
  line-height: 1.08;
  margin: 0 0 22px;
  font-weight: 700;
  letter-spacing: -0.035em;
}

h1 {
  font-size: clamp(42px, 5vw, 72px);
}

h2 {
  font-size: clamp(34px, 3.6vw, 54px);
}

h3 {
  font-size: clamp(22px, 2vw, 30px);
  letter-spacing: -0.02em;
}

.serif {
  font-family: "Frank Ruhl Libre", serif;
  font-style: italic;
  color: var(--green);
  font-weight: 700;
  letter-spacing: -0.02em;
}

.container {
  width: min(1220px, 92vw);
  margin: 0 auto;
}

.site-header {
  height: 86px;
  background: rgba(255, 255, 255, 0.88);
  backdrop-filter: blur(18px);
  display: flex;
  align-items: center;
  position: fixed;
  top: 0;
  z-index: 1000;
  border-bottom: 1px solid rgba(6, 26, 51, 0.07);
  box-shadow: 0 8px 30px rgba(6, 26, 51, 0.04);
}

.navwrap {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
}

.logo img {
  width: 235px;
  height: auto;
}

.nav {
  display: flex;
  gap: 34px;
  align-items: center;
}

.nav a {
  text-decoration: none;
  color: var(--navy);
  font-size: 16px;
  font-weight: 700;
  position: relative;
  transition: 0.25s ease;
}

.nav>a:hover,
.menu-item>a:hover,
.nav a.active {
  color: var(--green-2);
}

.nav>a:after,
.menu-item>a:after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -9px;
  height: 3px;
  border-radius: 3px;
  background: var(--green);
  transform: scaleX(0);
  transform-origin: center;
  transition: 0.25s ease;
}

.nav>a:hover:after,
.menu-item>a:hover:after,
.nav a.active:after {
  transform: scaleX(1);
}

.quote-btn,
.btn {
  background: linear-gradient(135deg, var(--green), var(--green-2));
  color: white !important;
  border: 0;
  border-radius: 999px;
  padding: 14px 30px;
  text-decoration: none;
  font-weight: 700;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  cursor: pointer;
  box-shadow: 0 13px 24px rgba(54, 169, 0, 0.22);
  transition:
    transform 0.25s ease,
    box-shadow 0.25s ease,
    background 0.25s ease;
}

.quote-btn:hover,
.btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 18px 36px rgba(54, 169, 0, 0.28);
}

.btn.white {
  background: #fff;
  color: var(--navy) !important;
  box-shadow: 0 12px 25px rgba(0, 0, 0, 0.12);
}

.btn.dark {
  background: var(--navy);
}

.read {
  font-size: 13px;
  padding: 9px 18px;
  border-radius: 999px;
  margin-top: 6px;
}

.menu-item {
  position: relative;
  padding: 31px 0;
}

.dropdown {
  position: absolute;
  top: 82px;
  left: -28px;
  background: #fff;
  border: 1px solid rgba(6, 26, 51, 0.07);
  border-radius: 18px;
  width: 430px;
  padding: 12px;
  box-shadow: var(--shadow);
  display: none;
  animation: drop 0.18s ease;
}

@keyframes drop {
  from {
    opacity: 0;
    transform: translateY(8px);
  }

  to {
    opacity: 1;
    transform: none;
  }
}

.menu-item:hover>.dropdown {
  display: block;
}

.dropdown a {
  display: block;
  padding: 12px 18px;
  font-size: 15px;
  border-radius: 12px;
  color: var(--navy);
}

.dropdown a:hover {
  background: var(--green-3);
  color: var(--green-2);
}

.submenu {
  position: absolute;
  left: 100%;
  top: 114px;
  width: 390px;
  background: #fff;
  border: 1px solid rgba(6, 26, 51, 0.07);
  border-radius: 18px;
  padding: 12px;
  box-shadow: var(--shadow);
  display: none;
}

.has-sub:hover .submenu {
  display: block;
}

.mobile-toggle {
  display: none;
  background: var(--navy);
  color: #fff;
  border: 0;
  border-radius: 12px;
  font-size: 24px;
  width: 46px;
  height: 46px;
}

.hero {
  padding: 28px 0 76px;
  position: relative;
  overflow: hidden;
}

.hero:before {
  content: "";
  position: absolute;
  right: -180px;
  top: -180px;
  width: 520px;
  height: 520px;
  background: radial-gradient(circle, rgba(54, 169, 0, 0.18), transparent 64%);
  pointer-events: none;
}

.hero-inner,
.page-hero {
  position: relative;
  background: linear-gradient(135deg, #f6eddc 0%, #f7f3e9 48%, #e8ffd8 100%);
  border-radius: 0 0 36px 36px;
  overflow: hidden;
  display: grid;
  grid-template-columns: 1fr 0.82fr;
  align-items: center;
  box-shadow: var(--shadow-soft);
}

.hero-inner:after,
.page-hero:after {
  content: "";
  position: absolute;
  right: -70px;
  bottom: -90px;
  width: 260px;
  height: 260px;
  border-radius: 50%;
  background: rgba(214, 175, 57, 0.18);
}

.hero-copy {
  padding: 82px 58px;
  position: relative;
  z-index: 2;
}

.hero-copy p {
  max-width: 690px;
  font-size: 18px;
  color: #4e5963;
}

.hero-actions {
  display: flex;
  gap: 16px;
  flex-wrap: wrap;
  margin-top: 12px;
}

.hero-img {
  height: 405px;
  width: calc(100% - 26px);
  object-fit: cover;
  border-radius: 30px;
  margin: 26px 26px 26px 0;
  box-shadow: 0 24px 55px rgba(6, 26, 51, 0.18);
  position: relative;
  z-index: 1;
}

.page-hero {
  margin-top: 24px;
  min-height: 372px;
  grid-template-columns: 1fr 0.95fr;
}

.page-hero .crumb {
  color: var(--green-2);
  font-size: 12px;
  font-weight: 900;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  margin-bottom: 12px;
}

.page-hero h1 {
  font-size: clamp(42px, 4.6vw, 66px);
}

.page-hero img {
  width: 100%;
  height: 372px;
  object-fit: cover;
  border-radius: 26px;
  margin: 22px 22px 22px 0;
  box-shadow: 0 20px 46px rgba(6, 26, 51, 0.16);
  position: relative;
  z-index: 1;
}

.section {
  padding: 88px 0;
  position: relative;
}

.center {
  text-align: center;
}

.narrow {
  max-width: 780px;
  margin-left: auto;
  margin-right: auto;
  color: var(--muted);
}

.grid2 {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 68px;
  align-items: center;
}

.grid3 {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 26px;
}

.grid4 {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px;
}

.grid5 {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 26px;
}

.photo {
  border-radius: var(--radius);
  height: 345px;
  object-fit: cover;
  width: 100%;
  box-shadow: var(--shadow-soft);
}

.smallphoto {
  height: 265px;
}

.card {
  background: #fff;
  border: 1px solid rgba(6, 26, 51, 0.07);
  border-radius: 22px;
  padding: 34px;
  box-shadow: 0 10px 30px rgba(6, 26, 51, 0.05);
  transition: 0.25s ease;
  position: relative;
  overflow: hidden;
}

.card:hover {
  transform: translateY(-6px);
  box-shadow: var(--shadow);
}

.service-card {
  text-align: center;
  min-height: 250px;
}

.service-card:before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, rgba(54, 169, 0, 0.07), transparent 58%);
  opacity: 0;
  transition: 0.25s ease;
}

.service-card:hover:before {
  opacity: 1;
}

.service-card img {
  width: 70px;
  height: 70px;
  object-fit: contain;
  margin: 0 auto 20px;
  border-radius: 18px;
  background: #f3ffe9;
  padding: 10px;
}

.service-card h3 {
  font-size: 20px;
  margin-bottom: 12px;
}

.home-service {
  border: 1px solid rgba(54, 169, 0, 0.2);
}

.home-service:hover {
  border-color: rgba(54, 169, 0, 0.45);
}

.light {
  background: linear-gradient(135deg, #061A33  0%, #061A33  100%);
}

.deep {
  background: #061a33;
  color: white;
  background-image:
    linear-gradient(135deg, rgba(6, 26, 51, 0.94), rgba(6, 26, 51, 0.78)),
    url("assets/site-images/home-data-report-bg.jpg");
  background-size: cover;
  background-position: center;
  background-attachment: fixed;
}

.deep h2,
.deep h3,
.deep p,
.deep li {
  color: white;
}

.number-card {
  min-height: 230px;
  background: rgba(255, 255, 255, 0.08);
  border-color: rgba(255, 255, 255, 0.13);
  backdrop-filter: blur(8px);
}

.number-card .num {
  font-size: 48px;
  color: rgba(255, 255, 255, 0.26);
  font-weight: 900;
  line-height: 1;
}

.number-card h3 {
  font-size: 20px;
  color: #b6ff8d;
}

ul.checks {
  padding: 0;
  margin: 0;
  list-style: none;
}

ul.checks li {
  margin: 11px 0;
  padding-left: 34px;
  position: relative;
  color: inherit;
}

ul.checks li:before {
  content: "✓";
  position: absolute;
  left: 0;
  top: 3px;
  background: linear-gradient(135deg, var(--green), var(--green-2));
  color: white;
  border-radius: 50%;
  font-size: 12px;
  width: 21px;
  height: 21px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 900;
}

.badge {
  font-size: 12px;
  color: var(--green-2);
  background: #efffe4;
  border: 1px solid rgba(54, 169, 0, 0.18);
  border-radius: 999px;
  padding: 8px 16px;
  font-weight: 900;
  display: inline-block;
  margin-bottom: 20px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.faq {
  max-width: 760px;
  margin: 36px auto 0;
  background: #fff;
  border-radius: 22px;
  box-shadow: var(--shadow-soft);
  padding: 8px 28px;
}

.faq-item {
  border-bottom: 1px solid #e8eee3;
}

.faq-item:last-child {
  border-bottom: 0;
}

.faq-q {
  padding: 22px 0;
  font-weight: 900;
  color: var(--navy);
  display: flex;
  justify-content: space-between;
  cursor: pointer;
  gap: 20px;
}

.faq-a {
  display: none;
  padding: 0 0 24px;
  color: var(--muted);
}

.faq-item.open .faq-a {
  display: block;
}

.cta {
  background: linear-gradient(135deg, var(--green), #217f21);
  border-radius: 30px;
  text-align: center;
  color: #fff;
  padding: 74px 28px;
  margin: 60px auto;
  background-image:
    linear-gradient(135deg, rgba(54, 169, 0, 0.94), rgba(31, 127, 50, 0.96)),
    url("assets/site-images/icon_repair.png");
  background-size: 170px;
  background-blend-mode: multiply;
  box-shadow: var(--shadow);
  position: relative;
  overflow: hidden;
}

.cta:before,
.cta:after {
  content: "";
  position: absolute;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.13);
}

.cta:before {
  width: 220px;
  height: 220px;
  left: -80px;
  top: -80px;
}

.cta:after {
  width: 180px;
  height: 180px;
  right: -50px;
  bottom: -70px;
}

.cta h2,
.cta p {
  color: #fff;
  position: relative;
  z-index: 1;
}

.cta .btn {
  position: relative;
  z-index: 1;
}

.site-footer {
  background: linear-gradient(135deg, #eefddb, #fff);
  padding: 86px 0 50px;
  border-top: 1px solid #e5efd9;
}

.footgrid {
  display: grid;
  grid-template-columns: 1.15fr 1fr 1fr;
  gap: 70px;
}

.site-footer img {
  max-width: 230px;
}

.social {
  display: flex;
  gap: 12px;
  margin-top: 24px;
}

.social span {
  width: 36px;
  height: 36px;
  background: var(--navy);
  border-radius: 50%;
  display: grid;
  place-items: center;
  color: white;
  font-size: 13px;
  font-weight: 700;
  transition: 0.2s ease;
}

.social span:hover {
  background: var(--green);
  transform: translateY(-2px);
}

.footer-links a {
  display: block;
  text-decoration: none;
  margin: 10px 0;
  color: #21334a;
  font-weight: 600;
}

.footer-links a:hover {
  color: var(--green-2);
}

.footer-line {
  height: 1px;
  background: #c8d5bd;
  margin-top: 64px;
}

.blogs {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 26px;
}

.blog-card {
  background: #fff;
  border-radius: 22px;
  overflow: hidden;
  color: var(--text);
  box-shadow: var(--shadow-soft);
  border: 1px solid rgba(6, 26, 51, 0.07);
  transition: 0.25s ease;
}

.blog-card:hover {
  transform: translateY(-6px);
  box-shadow: var(--shadow);
}

.blog-card img {
  width: 100%;
  height: 200px;
  object-fit: cover;
}

.blog-card div {
  padding: 26px;
}

.blog-card h3 {
  color: var(--navy);
  font-size: 22px;
}

.blog-card .btn,
.blog-card .read {
  margin-top: 4px;
}

.contact-form {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}

.contact-form input,
.contact-form textarea,
.contact-form select,
.popup input,
.popup select,
.popup textarea {
  border: 1px solid #e5eadf;
  background: #fff;
  border-radius: 14px;
  padding: 16px 18px;
  font: inherit;
  width: 100%;
  outline: none;
  transition: 0.2s ease;
}

.contact-form input:focus,
.contact-form textarea:focus,
.contact-form select:focus,
.popup input:focus,
.popup select:focus,
.popup textarea:focus {
  border-color: var(--green);
  box-shadow: 0 0 0 4px rgba(54, 169, 0, 0.1);
}

.contact-form textarea {
  grid-column: 1/3;
  height: 150px;
}

.contact-form button {
  grid-column: 1/3;
}

.contact-card {
  text-align: center;
  background: #fff;
  border: 1px solid rgba(54, 169, 0, 0.2);
  border-radius: 20px;
}

.popup-back {
  position: fixed;
  inset: 0;
  background: rgba(6, 15, 28, 0.76);
  z-index: 2000;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 22px;
}

.popup-back.show {
  display: flex;
}

.popup {
  width: min(1120px, 94vw);
  display: grid;
  grid-template-columns: 1fr 1fr;
  background: #fff;
  border-radius: 28px;
  overflow: hidden;
  box-shadow: 0 30px 80px rgba(0, 0, 0, 0.28);
  position: relative;
}

.popup-left {
  background: linear-gradient(135deg, #062c17, #0c4925);
  color: white;
  padding: 62px;
}

.popup-left h2 {
  color: white;
  font-size: clamp(38px, 4vw, 58px);
}

.popup-left p {
  color: rgba(255, 255, 255, 0.82);
}

.popup-right {
  padding: 44px;
}

.close {
  position: absolute;
  right: 22px;
  top: 18px;
  background: #fff;
  border: 0;
  font-size: 30px;
  width: 42px;
  height: 42px;
  border-radius: 50%;
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.15);
  cursor: pointer;
  z-index: 3;
}

.floating-chat {
  position: fixed;
  right: 24px;
  bottom: 18px;
  background: linear-gradient(135deg, #00bf62, #008d48);
  color: white;
  border: 5px solid white;
  width: 70px;
  height: 70px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  z-index: 999;
  font-size: 26px;
  box-shadow: var(--shadow);
  animation: pulse 2.4s infinite;
}

@keyframes pulse {

  0%,
  100% {
    transform: scale(1);
  }

  50% {
    transform: scale(1.05);
  }
}

.pricing {
  width: min(820px, 92vw);
  margin: auto;
  border: 1px solid #cfeac7;
  border-radius: 22px;
  background: #fff;
  overflow: hidden;
  box-shadow: var(--shadow-soft);
}

.pricing .row {
  display: grid;
  grid-template-columns: 1fr 1.2fr 0.8fr;
  padding: 18px 26px;
  border-bottom: 1px solid #e4efdf;
}

.pricing .head {
  font-weight: 900;
  color: var(--green-2);
  background: #f6fff1;
}

.pill {
  border: 1px solid #2ac67f;
  color: #12874d;
  border-radius: 20px;
  padding: 4px 10px;
  font-size: 12px;
  display: inline-block;
  background: #f2fff8;
}

.team-card {
  background: linear-gradient(135deg, var(--green), var(--green-2));
  color: #fff;
  padding: 26px;
  border-radius: 18px;
  margin: -28px 18px 0;
  position: relative;
  box-shadow: var(--shadow-soft);
}

.team-card h3 {
  color: #fff;
  font-size: 21px;
}

.team-card p {
  color: rgba(255, 255, 255, 0.86);
}

.mission {
  background: linear-gradient(135deg, var(--green), var(--green-2));
  color: #fff;
  border-radius: 24px;
  padding: 50px;
  box-shadow: var(--shadow-soft);
}

.mission h2 {
  color: #fff;
  font-family: "Frank Ruhl Libre";
  font-style: italic;
}

.mission p {
  color: rgba(255, 255, 255, 0.88);
}

.belief {
  background: #fff;
  border: 1px solid #d8eec8;
  border-radius: 24px;
  padding: 50px;
  box-shadow: var(--shadow-soft);
}

.page-title-small {
  font-size: clamp(36px, 4vw, 58px);
}

@media (max-width: 1020px) {
  .nav {
    gap: 20px;
  }

  .nav a {
    font-size: 15px;
  }

  .quote-btn {
    padding: 12px 20px;
  }

  .grid4 {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 900px) {
  .site-header {
    height: 78px;
  }

  .nav {
    display: none;
  }

  .mobile-toggle {
    display: block;
  }

  .nav.show {
    display: flex;
    position: absolute;
    top: 78px;
    left: 0;
    right: 0;
    background: #fff;
    flex-direction: column;
    gap: 0;
    align-items: flex-start;
    padding: 14px 24px 24px;
    border-bottom: 1px solid #e9eee4;
    box-shadow: 0 16px 36px rgba(6, 26, 51, 0.12);
  }

  .nav.show>a,
  .nav.show .menu-item>a {
    padding: 12px 0;
  }

  .menu-item {
    padding: 0;
    width: 100%;
  }

  .dropdown,
  .submenu {
    position: static;
    display: none;
    width: 100%;
    box-shadow: none;
    border: 1px solid #eef2e9;
    border-radius: 14px;
    margin: 6px 0 10px;
  }

  .menu-item.open .dropdown,
  .has-sub.open .submenu {
    display: block;
  }

  .hero-inner,
  .page-hero,
  .grid2,
  .grid3,
  .grid4,
  .grid5,
  .footgrid,
  .blogs,
  .popup {
    grid-template-columns: 1fr;
  }

  .hero-copy {
    padding: 48px 28px;
  }

  .hero-img,
  .page-hero img {
    height: 280px;
    width: calc(100% - 32px);
    margin: 0 16px 16px;
    border-radius: 22px;
  }

  h1 {
    font-size: 40px;
  }

  h2 {
    font-size: 34px;
  }

  .section {
    padding: 62px 0;
  }

  .photo {
    height: 285px;
  }

  .contact-form {
    grid-template-columns: 1fr;
  }

  .contact-form textarea,
  .contact-form button {
    grid-column: 1;
  }

  .popup-left,
  .popup-right {
    padding: 32px;
  }

  .footgrid {
    gap: 36px;
  }

  .close {
    right: 18px;
    top: 16px;
  }

  .quote-btn {
    display: none;
  }
}

@media (max-width: 560px) {
  .container {
    width: min(100% - 28px, 1220px);
  }

  .logo img {
    width: 205px;
  }

  .hero-copy {
    padding: 40px 22px;
  }

  .hero-img,
  .page-hero img {
    height: 230px;
  }

  .card {
    padding: 26px;
  }

  .grid4 {
    grid-template-columns: 1fr;
  }

  .pricing .row {
    grid-template-columns: 1fr;
    gap: 6px;
  }

  .cta {
    padding: 54px 20px;
    border-radius: 24px;
  }

  .floating-chat {
    width: 62px;
    height: 62px;
  }

  .popup-back {
    padding: 12px;
  }

  .popup {
    border-radius: 20px;
  }
}

/* ===== Home Page V2 Polish ===== */
.eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: #efffe4;
  border: 1px solid rgba(54, 169, 0, 0.18);
  color: var(--green-2);
  border-radius: 999px;
  padding: 9px 16px;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  margin-bottom: 20px;
}

.btn.ghost {
  background: #fff;
  color: var(--navy) !important;
  border: 1px solid rgba(6, 26, 51, 0.1);
  box-shadow: 0 10px 24px rgba(6, 26, 51, 0.07);
}

.btn.ghost:hover {
  background: var(--navy);
  color: #fff !important;
}

.home-hero {
  padding: 34px 0 82px;
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(circle at 82% 0%, rgba(54, 169, 0, 0.14), transparent 34%),
    linear-gradient(180deg, #fff 0%, #fbfaf6 100%);
}

.home-hero:before {
  content: "";
  position: absolute;
  left: -180px;
  bottom: -260px;
  width: 560px;
  height: 560px;
  border-radius: 50%;
  background: radial-gradient(circle,
      rgba(214, 175, 57, 0.16),
      transparent 68%);
}

.hero-shell {
  position: relative;
  display: grid;
  grid-template-columns: 1.05fr 0.95fr;
  align-items: center;
  gap: 30px;
  background: linear-gradient(135deg, #fff8ea 0%, #f8f3e8 47%, #eaffe0 100%);
  border: 1px solid rgba(6, 26, 51, 0.07);
  border-radius: 0 0 40px 40px;
  box-shadow: var(--shadow-soft);
  padding: 26px;
  overflow: hidden;
}

.hero-shell:after {
  content: "";
  position: absolute;
  right: -90px;
  top: -90px;
  width: 260px;
  height: 260px;
  border-radius: 50%;
  background: rgba(54, 169, 0, 0.12);
}

.hero-shell .hero-copy {
  padding: 58px 28px 58px 34px;
  z-index: 2;
}

.hero-shell h1 {
  max-width: 760px;
  margin-bottom: 24px;
}

.hero-shell .hero-copy p {
  font-size: 18px;
  max-width: 720px;
  color: #44515f;
}

.hero-media {
  position: relative;
  z-index: 2;
  min-height: 520px;
  display: flex;
  align-items: center;
}

.hero-media img {
  width: 100%;
  height: 500px;
  object-fit: cover;
  border-radius: 34px;
  box-shadow: 0 28px 70px rgba(6, 26, 51, 0.18);
}

.hero-float-card {
  position: absolute;
  left: -28px;
  bottom: 38px;
  background: rgba(255, 255, 255, 0.92);
  backdrop-filter: blur(12px);
  border: 1px solid rgba(6, 26, 51, 0.08);
  border-radius: 20px;
  padding: 18px 22px;
  box-shadow: 0 20px 45px rgba(6, 26, 51, 0.14);
}

.hero-float-card span {
  display: block;
  color: var(--muted);
  font-size: 13px;
  font-weight: 700;
}

.hero-float-card strong {
  display: block;
  color: var(--navy);
  font-size: 20px;
  margin-top: 3px;
}

.hero-trust {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
  margin-top: 34px;
  max-width: 680px;
}

.hero-trust div {
  background: rgba(255, 255, 255, 0.78);
  border: 1px solid rgba(6, 26, 51, 0.07);
  border-radius: 18px;
  padding: 16px 18px;
  box-shadow: 0 10px 24px rgba(6, 26, 51, 0.05);
}

.hero-trust strong {
  display: block;
  color: var(--green-2);
  font-size: 28px;
  line-height: 1;
  font-weight: 900;
}

.hero-trust span {
  display: block;
  color: #52606e;
  font-size: 13px;
  font-weight: 700;
  margin-top: 6px;
}

.section-head {
  margin-bottom: 42px;
}

.stand-out {
  background: #fff;
}

.feature-grid {
  margin-top: 0;
}

.feature-card,
.service-tile {
  display: block;
  text-decoration: none;
  background: #fff;
  border: 1px solid rgba(6, 26, 51, 0.07);
  border-radius: 24px;
  padding: 32px;
  box-shadow: 0 14px 34px rgba(6, 26, 51, 0.06);
  transition: 0.25s ease;
  position: relative;
  overflow: hidden;
  color: var(--text);
}

.feature-card:before,
.service-tile:before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, rgba(54, 169, 0, 0.08), transparent 58%);
  opacity: 0;
  transition: 0.25s ease;
}

.feature-card:hover:before,
.service-tile:hover:before {
  opacity: 1;
}

.feature-card:hover,
.service-tile:hover {
  transform: translateY(-7px);
  box-shadow: var(--shadow);
  border-color: rgba(54, 169, 0, 0.28);
}

.feature-card img,
.service-tile img {
  width: 76px;
  height: 76px;
  object-fit: contain;
  border-radius: 20px;
  background: #efffe4;
  padding: 12px;
  margin-bottom: 22px;
}

.feature-card h3,
.service-tile h3 {
  font-size: 22px;
  margin-bottom: 12px;
}

.feature-card span {
  color: var(--green-2);
  font-weight: 900;
  position: relative;
  z-index: 2;
}

.feature-card p,
.service-tile p {
  position: relative;
  z-index: 2;
}

.about-strip {
  background: linear-gradient(135deg, #f7fff0 0%, #fff 58%, #fff8e9 100%);
}

.about-grid {
  display: grid;
  grid-template-columns: 0.92fr 1.08fr;
  gap: 74px;
  align-items: center;
}

.about-image-wrap {
  position: relative;
}

.about-image-wrap .photo {
  height: 430px;
  border-radius: 30px;
}

.experience-card {
  position: absolute;
  right: -28px;
  bottom: 28px;
  background: linear-gradient(135deg, var(--green), var(--green-2));
  color: #fff;
  padding: 22px;
  border-radius: 22px;
  width: 250px;
  box-shadow: var(--shadow);
}

.experience-card strong {
  display: block;
  font-size: 22px;
}

.experience-card span {
  display: block;
  opacity: 0.88;
  line-height: 1.45;
  margin-top: 4px;
}

.about-grid .btn {
  margin-top: 18px;
}

.services-section {
  background: #fff;
}

.services-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 22px;
}

.service-tile {
  min-height: 280px;
}

.service-tile.wide {
  grid-column: span 2;
  background: linear-gradient(135deg, #fff, #f2ffe9);
}

.process-section {
  background: #061a33;
  color: #fff;
  background-image:
    linear-gradient(135deg, rgba(6, 26, 51, 0.96), rgba(6, 26, 51, 0.85)),
    url("assets/site-images/home-data-report-bg.jpg");
  background-size: cover;
  background-position: center;
}

.process-section h2,
.process-section h3,
.process-section p {
  color: #fff;
}

.process-grid {
  display: grid;
  grid-template-columns: 0.8fr 1.2fr;
  gap: 62px;
  align-items: center;
}

.light-badge {
  background: rgba(255, 255, 255, 0.1);
  border-color: rgba(255, 255, 255, 0.18);
  color: #b6ff8d;
}

.process-list {
  display: grid;
  gap: 18px;
}

.process-card {
  display: grid;
  grid-template-columns: 76px 1fr;
  gap: 18px;
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.13);
  border-radius: 24px;
  padding: 24px;
  backdrop-filter: blur(7px);
}

.process-card span {
  width: 58px;
  height: 58px;
  border-radius: 18px;
  background: rgba(182, 255, 141, 0.16);
  color: #b6ff8d;
  display: grid;
  place-items: center;
  font-size: 22px;
  font-weight: 900;
}

.process-card h3 {
  font-size: 22px;
  margin-bottom: 8px;
}

.process-card p {
  grid-column: 2;
  color: rgba(255, 255, 255, 0.76);
  margin-top: -12px;
}

.testimonials-section {
  background: linear-gradient(180deg, #fff, #fbfaf6);
}

.testimonial-grid {
  align-items: stretch;
}

.testimonial-card {
  background: #fff;
  border: 1px solid rgba(6, 26, 51, 0.07);
  border-radius: 24px;
  padding: 34px;
  box-shadow: var(--shadow-soft);
  position: relative;
}

.testimonial-card:before {
  content: "“";
  position: absolute;
  right: 26px;
  top: 8px;
  font-family: Georgia, serif;
  font-size: 98px;
  line-height: 1;
  color: rgba(54, 169, 0, 0.12);
}

.testimonial-card p {
  font-size: 17px;
  color: #42505d;
}

.testimonial-card strong {
  display: block;
  color: var(--navy);
  font-size: 18px;
}

.testimonial-card span {
  display: block;
  color: var(--green-2);
  font-size: 13px;
  font-weight: 700;
  margin-top: 4px;
}

.contact-band {
  background: linear-gradient(135deg, #f2ffe8, #fff);
}

.contact-grid {
  display: grid;
  grid-template-columns: 0.8fr 1.2fr;
  gap: 56px;
  align-items: center;
}

.home-form {
  background: #fff;
  border: 1px solid rgba(6, 26, 51, 0.07);
  border-radius: 28px;
  padding: 30px;
  box-shadow: var(--shadow-soft);
}

.blog-title-row {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 20px;
  margin-bottom: 34px;
}

.three-blogs {
  grid-template-columns: repeat(3, 1fr);
}

.blog-card a {
  color: var(--green-2);
  font-weight: 900;
  text-decoration: none;
}

.blog-card p {
  font-size: 14px;
  color: var(--muted);
}

.final-cta-wrap {
  padding-bottom: 40px;
}

.final-cta {
  margin-top: 0;
}

.site-footer h4 {
  font-size: 18px;
  margin: 0 0 14px;
  color: var(--navy);
}

.site-footer p {
  max-width: 360px;
  margin-top: 18px;
}

@media (max-width: 1120px) {
  .services-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .hero-shell {
    grid-template-columns: 1fr;
  }

  .hero-media {
    min-height: auto;
  }

  .hero-media img {
    height: 360px;
  }

  .hero-float-card {
    left: 24px;
  }

  .process-grid,
  .contact-grid,
  .about-grid {
    grid-template-columns: 1fr;
  }

  .experience-card {
    right: 24px;
  }

  .three-blogs {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 900px) {
  .home-hero {
    padding-top: 0;
  }

  .hero-shell {
    width: 100%;
    border-radius: 0 0 28px 28px;
    padding: 16px;
  }

  .hero-shell .hero-copy {
    padding: 38px 10px;
  }

  .hero-trust {
    grid-template-columns: 1fr;
  }

  .services-grid,
  .three-blogs {
    grid-template-columns: 1fr;
  }

  .service-tile.wide {
    grid-column: auto;
  }

  .process-card {
    grid-template-columns: 1fr;
  }

  .process-card p {
    grid-column: auto;
    margin-top: 0;
  }

  .about-image-wrap .photo {
    height: 310px;
  }

  .experience-card {
    position: static;
    width: auto;
    margin: -36px 18px 0;
  }

  .blog-title-row {
    display: block;
  }

  .blog-title-row .btn {
    margin-top: 10px;
  }
}

/* Home preview refinements */
.navwrap {
  gap: 18px;
}

.nav {
  gap: 26px;
}

.quote-btn {
  white-space: nowrap;
  min-width: max-content;
  padding: 13px 24px;
}

.logo img {
  width: 220px;
}

.home-hero:before {
  display: none;
}

.hero-shell {
  min-height: 590px;
}

.hero-shell:after {
  width: 210px;
  height: 210px;
  right: -65px;
  top: -65px;
}

.hero-float-card {
  max-width: 280px;
}

.floating-chat {
  right: 28px;
  bottom: 28px;
}

@media (max-width: 1180px) {
  .nav {
    gap: 18px;
  }

  .logo img {
    width: 190px;
  }

  .nav a {
    font-size: 14px;
  }

  .quote-btn {
    padding: 12px 18px;
  }
}

.hero-shell {
  min-height: 0;
}

.hero-shell:after {
  display: none;
}

.hero-media {
  min-height: 0;
}

.hero-media img {
  height: 450px;
}

.hero-float-card {
  left: 16px;
  bottom: 24px;
}

.nav a {
  white-space: nowrap;
}

/* Header compact spacing */
.site-header {
  height: 78px;
}

.logo img {
  width: 185px;
}

.nav {
  gap: 22px;
}

.nav a {
  font-size: 14px;
}

.menu-item {
  padding: 27px 0;
}

.quote-btn {
  padding: 11px 20px;
  font-size: 14px;
}

.navwrap {
  justify-content: center;
  gap: 28px;
}

.site-header .container {
  width: min(1320px, 96vw);
}

.logo img {
  width: 165px;
}

.nav {
  gap: 18px;
}

.nav a {
  font-size: 13px;
}

.quote-btn {
  padding: 10px 16px;
  font-size: 13px;
}

.navwrap {
  gap: 22px;
}

.nav>a:after,
.menu-item>a:after {
  bottom: -5px;
}

.site-header .navwrap {
  justify-content: space-between !important;
  gap: 12px !important;
}

.site-header .nav {
  gap: 14px !important;
  flex: 0 1 auto;
}

.site-header .logo {
  flex: 0 0 175px;
}

.site-header .quote-btn {
  flex: 0 0 auto;
  margin-left: 8px;
}

.site-header .nav a {
  font-size: 12.5px !important;
}

/* ===== Home Page Fixes: CTA + Footer ===== */
.final-cta-wrap {
  padding: 28px 0 76px;
}

.final-cta {
  max-width: 1040px;
  margin: 0 auto;
  padding: 58px 28px;
  border-radius: 28px;
  background:
    radial-gradient(circle at 9% 10%,
      rgba(255, 255, 255, 0.18) 0 0,
      transparent 90px),
    radial-gradient(circle at 94% 86%,
      rgba(255, 255, 255, 0.14) 0 0,
      transparent 105px),
    linear-gradient(135deg, #208b25 0%, #35a900 48%, #18752c 100%);
  box-shadow: 0 24px 65px rgba(6, 26, 51, 0.14);
  overflow: hidden;
}

.final-cta h2 {
  color: #fff;
  font-size: clamp(34px, 3.2vw, 50px);
  margin-bottom: 12px;
}

.final-cta .serif {
  color: #ffffff;
  text-shadow: 0 2px 12px rgba(0, 0, 0, 0.24);
}

.final-cta p {
  color: rgba(255, 255, 255, 0.88);
  margin-bottom: 22px;
}

.final-cta .btn.white {
  color: #10233a !important;
  background: #fff;
  box-shadow: 0 14px 30px rgba(0, 0, 0, 0.16);
}

.site-footer {
  background: #061a33;
  background-image:
    radial-gradient(circle at 12% 0%, rgba(54, 169, 0, 0.22), transparent 34%),
    linear-gradient(135deg, #071b33 0%, #061524 100%);
  color: rgba(255, 255, 255, 0.78);
  padding: 0;
  border-top: 0;
}

.footer-top-card {
  display: grid;
  grid-template-columns: 1.2fr auto;
  align-items: center;
  gap: 24px;
  background: linear-gradient(135deg, #ffffff 0%, #f0ffe4 100%);
  border-radius: 26px;
  padding: 30px 34px;
  transform: translateY(-42px);
  box-shadow: 0 24px 65px rgba(0, 0, 0, 0.18);
}

.footer-top-card h3 {
  margin: 0 0 8px;
  color: var(--navy);
  font-size: clamp(24px, 2.4vw, 34px);
}

.footer-top-card p {
  margin: 0;
  color: #50606f;
}

.footer-top-card .btn {
  white-space: nowrap;
}

.footgrid {
  display: grid;
  grid-template-columns: 1.25fr 0.8fr 1fr 1fr;
  gap: 44px;
  padding: 12px 0 48px;
}

.site-footer img {
  max-width: 210px;
  background: #fff;
  border-radius: 14px;
  padding: 8px 10px;
}

.site-footer p {
  color: rgba(255, 255, 255, 0.72);
  max-width: 360px;
  margin-top: 20px;
}

.site-footer h4 {
  color: #fff;
  font-size: 17px;
  margin: 0 0 18px;
  letter-spacing: -0.01em;
}

.footer-links a,
.footer-contact a {
  display: block;
  color: rgba(255, 255, 255, 0.72);
  text-decoration: none;
  margin: 10px 0;
  font-weight: 600;
  transition: 0.22s ease;
}

.footer-links a:hover,
.footer-contact a:hover {
  color: #b6ff8d;
  transform: translateX(4px);
}

.footer-contact p {
  margin: 0 0 10px;
}

.social span {
  background: rgba(255, 255, 255, 0.1);
  border: 1px solid rgba(255, 255, 255, 0.12);
  color: #fff;
}

.social span:hover {
  background: var(--green);
}

.footer-line {
  height: auto;
  background: transparent;
  border-top: 1px solid rgba(255, 255, 255, 0.1);
  padding: 22px 0;
  margin-top: 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  color: rgba(255, 255, 255, 0.6);
  font-size: 14px;
}

.footer-line a {
  color: rgba(255, 255, 255, 0.72);
  text-decoration: none;
  margin-left: 18px;
}

.footer-line a:hover {
  color: #b6ff8d;
}

@media (max-width: 900px) {
  .footer-top-card {
    grid-template-columns: 1fr;
    transform: translateY(-26px);
    padding: 26px;
  }

  .footgrid {
    grid-template-columns: 1fr 1fr;
    gap: 32px;
    padding-top: 0;
  }

  .footer-line {
    display: block;
    text-align: center;
  }

  .footer-line a {
    display: inline-block;
    margin: 8px 8px 0;
  }
}

@media (max-width: 560px) {
  .footgrid {
    grid-template-columns: 1fr;
  }

  .final-cta {
    padding: 44px 20px;
    border-radius: 22px;
  }
}

/* ===== Home Page V3 Polish: softer typography + cleaner full-width sections ===== */
:root {
  --font-main: "Inter", Arial, sans-serif;
}

body {
  font-family: var(--font-main);
  font-size: 16px;
  line-height: 1.68;
  color: #425163;
  background: #fff;
}

h1,
h2,
h3,
h4 {
  font-family: var(--font-main);
  font-weight: 720;
  letter-spacing: -0.025em;
  line-height: 1.14;
}

h1 {
  font-size: clamp(38px, 4.2vw, 58px);
}

h2 {
  font-size: clamp(28px, 3vw, 42px);
}

h3 {
  font-size: clamp(19px, 1.5vw, 24px);
}

p {
  color: #4b5b6b;
}

.serif {
  font-family: var(--font-main);
  font-style: normal;
  color: var(--green-2);
  font-weight: 760;
  letter-spacing: -0.02em;
}

.section {
  padding: 76px 0;
}

.section-head {
  margin-bottom: 34px;
}

.section-head h2 {
  max-width: 760px;
  margin-left: auto;
  margin-right: auto;
}

.section-head .narrow {
  font-size: 16px;
  line-height: 1.75;
  max-width: 720px;
}

.badge {
  font-size: 11px;
  letter-spacing: 0.11em;
  padding: 7px 15px;
  font-weight: 760;
  background: #f1ffe9;
}

.btn,
.quote-btn {
  font-weight: 760;
  letter-spacing: -0.01em;
}

/* Hero / banner clean full-width layout */
.home-hero {
  padding: 0;
  background:
    radial-gradient(circle at 88% 16%, rgba(54, 169, 0, 0.13), transparent 30%),
    linear-gradient(135deg, #fff9ed 0%, #f7ffe8 50%, #ffffff 100%);
  border-bottom: 1px solid rgba(6, 26, 51, 0.06);
  overflow: hidden;
}

.home-hero .container {
  width: min(1240px, 92vw);
}

.hero-shell {
  display: grid;
  grid-template-columns: 1.02fr 0.98fr;
  gap: 58px;
  align-items: center;
  width: 100%;
  max-width: none;
  min-height: 620px;
  margin: 0 auto;
  padding: 70px 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  border: 0;
  overflow: visible;
}

.hero-shell .hero-copy {
  padding: 0;
}

.hero-shell h1 {
  max-width: 650px;
  margin-bottom: 20px;
  color: #071b33;
}

.hero-shell .hero-copy p {
  max-width: 590px;
  font-size: 17px;
  line-height: 1.75;
  color: #4b5b6b;
}

.hero-actions {
  margin-top: 24px;
}

.btn.ghost {
  background: #ffffff;
  color: #10233a !important;
  border: 1px solid rgba(6, 26, 51, 0.12);
  box-shadow: none;
}

.hero-trust {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  max-width: 590px;
  gap: 12px;
  margin-top: 30px;
}

.hero-trust div {
  background: #fff;
  border: 1px solid rgba(6, 26, 51, 0.08);
  border-radius: 16px;
  padding: 14px 16px;
  box-shadow: 0 12px 28px rgba(6, 26, 51, 0.06);
}

.hero-trust strong {
  font-size: 24px;
  font-weight: 760;
}

.hero-trust span {
  font-size: 12.5px;
  font-weight: 650;
  color: #617082;
}

.hero-media {
  min-height: 0;
  position: relative;
}

.hero-media:before {
  content: "";
  position: absolute;
  inset: 32px -24px -24px 36px;
  border-radius: 34px;
  background: linear-gradient(135deg, #35a900, #187f31);
  opacity: 0.16;
  z-index: 0;
}

.hero-media img {
  position: relative;
  z-index: 1;
  width: 100%;
  height: 500px;
  object-fit: cover;
  border-radius: 34px;
  box-shadow: 0 28px 70px rgba(6, 26, 51, 0.18);
}

.hero-float-card {
  left: 26px;
  bottom: 26px;
  border-radius: 18px;
  padding: 16px 18px;
  box-shadow: 0 16px 38px rgba(6, 26, 51, 0.14);
}

.hero-float-card strong {
  font-size: 17px;
  font-weight: 760;
}

/* Better service/feature sections */
.stand-out,
.services-section {
  background:
    radial-gradient(circle at 8% 10%, rgba(54, 169, 0, 0.06), transparent 30%),
    linear-gradient(180deg, #ffffff 0%, #fbfffa 100%);
}

.feature-grid,
.services-grid {
  gap: 20px;
}

.feature-card,
.service-tile {
  border-radius: 22px;
  padding: 28px 26px;
  box-shadow: 0 10px 26px rgba(6, 26, 51, 0.055);
  border: 1px solid rgba(6, 26, 51, 0.075);
  min-height: auto;
}

.feature-card:hover,
.service-tile:hover {
  transform: translateY(-5px);
  box-shadow: 0 22px 48px rgba(6, 26, 51, 0.09);
}

.feature-card img,
.service-tile img {
  width: 64px;
  height: 64px;
  border-radius: 18px;
  padding: 11px;
  margin-bottom: 20px;
  background: linear-gradient(135deg, #efffe6, #fbfff7);
  box-shadow: inset 0 0 0 1px rgba(54, 169, 0, 0.08);
}

.feature-card h3,
.service-tile h3 {
  font-size: 20px;
  line-height: 1.18;
  margin-bottom: 11px;
  letter-spacing: -0.018em;
  font-weight: 760;
}

.feature-card p,
.service-tile p {
  font-size: 15px;
  line-height: 1.68;
  margin-bottom: 18px;
  color: #506174;
}

.feature-card span {
  font-size: 15px;
  font-weight: 760;
}

.services-grid {
  grid-template-columns: repeat(4, 1fr);
}

.service-tile.wide {
  grid-column: span 2;
  display: grid;
  grid-template-columns: 72px 1fr;
  align-items: start;
  column-gap: 18px;
  background: linear-gradient(135deg, #ffffff, #f5ffef);
}

.service-tile.wide img {
  grid-row: 1 / span 2;
  margin: 0;
}

.service-tile.wide h3 {
  margin-top: 6px;
}

/* About and process softer headings */
.about-strip {
  background: linear-gradient(135deg, #f7fff1 0%, #fff 55%, #fff8ed 100%);
}

.about-grid h2,
.process-grid h2,
.contact-grid h2 {
  font-size: clamp(28px, 2.8vw, 40px);
}

.process-card h3 {
  font-size: 20px;
  font-weight: 720;
}

.process-card span {
  font-weight: 760;
}

/* Full-width advice band, not boxed */
.final-cta-wrap {
  width: 100%;
  max-width: none;
  padding: 0;
  margin: 0;
}

.final-cta {
  width: 100vw;
  max-width: none;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  margin-top: 0;
  margin-bottom: 0;
  border-radius: 0;
  padding: 76px 24px;
  box-shadow: none;
  background:
    radial-gradient(circle at 14% 16%,
      rgba(255, 255, 255, 0.18),
      transparent 18%),
    radial-gradient(circle at 88% 80%,
      rgba(255, 255, 255, 0.14),
      transparent 18%),
    linear-gradient(135deg, #187f31 0%, #35a900 52%, #127130 100%);
}

.final-cta h2 {
  font-size: clamp(30px, 3vw, 44px);
  font-weight: 720;
  margin-bottom: 12px;
}

.final-cta p {
  font-size: 16px;
  color: rgba(255, 255, 255, 0.86);
}

/* Footer polish but less heavy */
.site-footer {
  background-image:
    radial-gradient(circle at 12% 0%, rgba(54, 169, 0, 0.16), transparent 30%),
    linear-gradient(135deg, #071b33 0%, #061421 100%);
}

.footer-top-card {
  transform: none;
  margin-top: 0;
  margin-bottom: 50px;
  box-shadow: 0 18px 45px rgba(0, 0, 0, 0.14);
  border: 1px solid rgba(54, 169, 0, 0.12);
}

.footer-top-card h3 {
  font-size: clamp(24px, 2.2vw, 32px);
  font-weight: 720;
}

.footgrid {
  padding-top: 60px;
}

.site-footer h4 {
  font-weight: 720;
}

.site-footer p,
.footer-links a,
.footer-contact a {
  font-weight: 500;
}

@media (max-width: 1120px) {
  .hero-shell {
    grid-template-columns: 1fr;
    gap: 34px;
    min-height: 0;
    padding: 54px 0;
  }

  .hero-media img {
    height: 390px;
  }

  .services-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 760px) {
  h1 {
    font-size: clamp(32px, 9vw, 42px);
  }

  h2 {
    font-size: clamp(26px, 7vw, 34px);
  }

  .section {
    padding: 58px 0;
  }

  .hero-shell {
    padding: 42px 0;
  }

  .hero-trust {
    grid-template-columns: 1fr;
  }

  .hero-media img {
    height: 320px;
    border-radius: 24px;
  }

  .hero-media:before {
    display: none;
  }

  .feature-grid,
  .services-grid,
  .three-blogs {
    grid-template-columns: 1fr;
  }

  .service-tile.wide {
    grid-column: auto;
    display: block;
  }

  .service-tile.wide img {
    margin-bottom: 20px;
  }

  .final-cta {
    padding: 58px 20px;
  }
}

/* ===== Home Page V4: cleaner service cards + remove horizontal scroll ===== */
html,
body {
  max-width: 100%;
  overflow-x: hidden;
}

.stand-out,
.services-section {
  overflow: hidden;
  background:
    radial-gradient(circle at 0% 0%, rgba(54, 169, 0, 0.055), transparent 32%),
    radial-gradient(circle at 100% 100%,
      rgba(54, 169, 0, 0.04),
      transparent 30%),
    linear-gradient(180deg, #ffffff 0%, #fbfffa 100%);
}

.stand-out .section-head,
.services-section .section-head {
  max-width: 780px;
  margin: 0 auto 38px;
}

.stand-out .section-head h2,
.services-section .section-head h2 {
  font-size: clamp(28px, 2.45vw, 38px);
  font-weight: 680;
  letter-spacing: -0.02em;
  margin-bottom: 14px;
}

.stand-out .section-head .narrow,
.services-section .section-head .narrow {
  font-size: 15.5px;
  line-height: 1.7;
  color: #607086;
}

.feature-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 18px;
}

.feature-card,
.service-tile {
  isolation: isolate;
  border-radius: 24px;
  border: 1px solid rgba(7, 24, 45, 0.08);
  background: linear-gradient(180deg, #ffffff 0%, #ffffff 58%, #fbfffa 100%);
  box-shadow: 0 16px 44px rgba(7, 24, 45, 0.055);
  transform: none;
}

.feature-card {
  padding: 26px 24px 24px;
  min-height: 260px;
}

.feature-card:before,
.service-tile:before {
  content: "";
  position: absolute;
  left: 24px;
  right: 24px;
  top: 0;
  height: 4px;
  border-radius: 0 0 999px 999px;
  background: linear-gradient(90deg, #36a900, #87db48);
  opacity: 0.85;
  transform: scaleX(0.28);
  transform-origin: left;
  transition: 0.28s ease;
  z-index: 0;
}

.feature-card:hover:before,
.service-tile:hover:before {
  transform: scaleX(1);
}

.feature-card:hover,
.service-tile:hover {
  transform: translateY(-4px);
  border-color: rgba(54, 169, 0, 0.24);
  box-shadow: 0 22px 54px rgba(7, 24, 45, 0.09);
}

.feature-card img,
.service-tile img {
  width: 58px;
  height: 58px;
  border-radius: 17px;
  padding: 10px;
  margin: 0 0 22px;
  background: linear-gradient(135deg, #efffe6 0%, #f8fff3 100%);
  box-shadow:
    inset 0 0 0 1px rgba(54, 169, 0, 0.12),
    0 10px 22px rgba(54, 169, 0, 0.08);
}

.feature-card h3,
.service-tile h3 {
  font-size: 20px;
  line-height: 1.18;
  font-weight: 700;
  letter-spacing: -0.018em;
  margin-bottom: 10px;
  color: #061a33;
}

.feature-card p,
.service-tile p {
  font-size: 15px;
  line-height: 1.62;
  color: #536477;
  margin-bottom: 16px;
}

.feature-card span {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 14px;
  font-weight: 700;
  color: #1f7f32;
}

.services-grid {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 18px;
}

.service-tile {
  grid-column: span 2;
  min-height: 248px;
  padding: 26px 24px 24px;
}

.service-tile:nth-child(4),
.service-tile.wide {
  grid-column: span 3;
}

.service-tile.wide {
  display: grid;
  grid-template-columns: 58px 1fr;
  column-gap: 18px;
  align-items: start;
  min-height: 160px;
  background: linear-gradient(135deg, #ffffff 0%, #f3ffec 100%);
}

.service-tile.wide img {
  grid-row: 1 / span 2;
  margin: 0;
}

.service-tile.wide h3 {
  margin-top: 3px;
  margin-bottom: 8px;
}

.service-tile.wide p {
  max-width: 620px;
}

.final-cta-wrap {
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0;
}

.final-cta {
  width: 100%;
  margin: 0;
  border-radius: 0;
}

@media (max-width: 1120px) {

  .feature-grid,
  .services-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .service-tile,
  .service-tile:nth-child(4),
  .service-tile.wide {
    grid-column: auto;
  }
}

@media (max-width: 760px) {

  .feature-grid,
  .services-grid {
    grid-template-columns: 1fr;
  }

  .feature-card,
  .service-tile {
    padding: 24px 22px;
  }

  .service-tile.wide {
    display: block;
  }

  .service-tile.wide img {
    margin-bottom: 20px;
  }
}

/* ===== About Us Page V1 Premium Layout ===== */
html,
body {
  max-width: 100%;
  overflow-x: hidden;
}

.about-page {
  background: #fffaf3;
  font-family: "Inter", Arial, sans-serif;
  color: #405064;
}

.about-page h1,
.about-page h2,
.about-page h3 {
  font-family: "Inter", Arial, sans-serif;
  letter-spacing: -0.03em;
  color: #061a33;
  font-weight: 720;
}

.about-page p {
  font-size: 15.5px;
  line-height: 1.78;
  color: #506070;
}

.about-page .eyebrow,
.about-page .section-kicker {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 14px;
  border-radius: 999px;
  background: #efffe5;
  border: 1px solid rgba(54, 169, 0, 0.18);
  color: #1f7f32;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  margin-bottom: 18px;
}

.about-page .text-link {
  font-size: 14px;
  font-weight: 700;
  text-decoration: none;
  color: #1f7f32;
}

.about-hero-v2 {
  position: relative;
  overflow: hidden;
  padding: 42px 0 74px;
  background:
    radial-gradient(circle at 86% 14%, rgba(54, 169, 0, 0.16), transparent 34%),
    linear-gradient(135deg, #fff8ea 0%, #fbfff4 58%, #ffffff 100%);
  border-bottom: 1px solid rgba(6, 26, 51, 0.06);
}

.about-hero-v2:before {
  content: "";
  position: absolute;
  left: -160px;
  bottom: -220px;
  width: 520px;
  height: 520px;
  border-radius: 50%;
  background: rgba(54, 169, 0, 0.06);
}

.about-hero-grid {
  display: grid;
  grid-template-columns: 1.02fr 0.98fr;
  gap: 62px;
  align-items: center;
  position: relative;
  z-index: 1;
}

.about-hero-content h1 {
  font-size: clamp(40px, 4.2vw, 62px);
  line-height: 1.04;
  max-width: 720px;
  margin-bottom: 20px;
}

.about-hero-content p {
  font-size: 17px;
  max-width: 650px;
  margin-bottom: 28px;
}

.about-hero-actions {
  display: flex;
  gap: 20px;
  align-items: center;
  flex-wrap: wrap;
}

.about-hero-visual {
  position: relative;
  min-height: 520px;
}

.about-hero-visual img {
  width: 100%;
  height: 370px;
  object-fit: cover;
  border-radius: 34px;
  box-shadow: 0 28px 70px rgba(6, 26, 51, 0.18);
}

.about-stat-card {
  position: absolute;
  left: -34px;
  bottom: 42px;
  width: 260px;
  background: rgba(255, 255, 255, 0.92);
  backdrop-filter: blur(12px);
  border: 1px solid rgba(6, 26, 51, 0.08);
  border-radius: 24px;
  padding: 22px;
  box-shadow: 0 22px 50px rgba(6, 26, 51, 0.14);
}

.about-stat-card strong {
  display: block;
  color: #1f7f32;
  font-size: 38px;
  line-height: 1;
  font-weight: 700;
}

.about-stat-card span {
  display: block;
  margin-top: 8px;
  color: #536170;
  font-size: 14px;
  line-height: 1.5;
  font-weight: 600;
}

.about-intro-v2 {
  padding: 80px 0 58px;
  background: #fff;
}

.about-intro-wrap {
  text-align: center;
  max-width: 880px;
}

.about-intro-wrap h2 {
  font-size: clamp(34px, 3.3vw, 48px);
  margin-bottom: 16px;
}

.about-intro-wrap p {
  font-size: 16px;
  max-width: 780px;
  margin: 0 auto;
}

.about-values-v2 {
  padding: 46px 0 84px;
  background: #fff;
}

.value-grid-v2 {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
}

.value-panel {
  border-radius: 30px;
  padding: 48px;
  min-height: 360px;
  position: relative;
  overflow: hidden;
  box-shadow: 0 18px 55px rgba(6, 26, 51, 0.08);
}

.value-panel span {
  position: absolute;
  right: 34px;
  top: 28px;
  font-size: 64px;
  font-weight: 700;
  line-height: 1;
  color: rgba(6, 26, 51, 0.06);
}

.value-panel h2 {
  font-size: clamp(30px, 3vw, 44px);
  margin-bottom: 22px;
  max-width: 410px;
}

.value-green {
  background: linear-gradient(135deg, #36a900 0%, #1e812f 100%);
}

.value-green h2,
.value-green p {
  color: #fff;
}

.value-green span {
  color: rgba(255, 255, 255, 0.16);
}

.value-green:after {
  content: "";
  position: absolute;
  right: -80px;
  bottom: -90px;
  width: 250px;
  height: 250px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.12);
}

.value-light {
  background: linear-gradient(135deg, #f2ffe5 0%, #ffffff 100%);
  border: 1px solid rgba(54, 169, 0, 0.16);
}

.value-light strong {
  color: #1f7f32;
}

.about-story-v2 {
  padding: 96px 0;
  background: #fffaf3;
}

.story-grid-v2 {
  display: grid;
  grid-template-columns: 0.95fr 1.05fr;
  gap: 80px;
  align-items: center;
}

.story-image-stack {
  position: relative;
  min-height: 520px;
}

.story-main-img {
  width: 82%;
  height: 430px;
  object-fit: cover;
  border-radius: 30px;
  box-shadow: 0 25px 60px rgba(6, 26, 51, 0.13);
}

.story-small-img {
  position: absolute;
  right: 0;
  bottom: 0;
  width: 48%;
  height: 260px;
  object-fit: cover;
  border-radius: 26px;
  border: 12px solid #fffaf3;
  box-shadow: 0 22px 48px rgba(6, 26, 51, 0.14);
}

.story-content-v2 h2 {
  font-size: clamp(32px, 3.1vw, 48px);
  max-width: 620px;
}

.story-content-v2 a {
  color: #1f7f32;
  font-weight: 700;
}

.story-points-v2 {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  margin-top: 26px;
}

.story-points-v2 div {
  background: #fff;
  border: 1px solid rgba(6, 26, 51, 0.08);
  border-radius: 20px;
  padding: 22px;
  box-shadow: 0 12px 34px rgba(6, 26, 51, 0.05);
}

.story-points-v2 strong {
  display: block;
  color: #061a33;
  font-size: 17px;
  margin-bottom: 6px;
}

.story-points-v2 span {
  display: block;
  color: #607080;
  font-size: 14px;
  line-height: 1.55;
}

.about-do-v2 {
  padding: 96px 0;
  background: linear-gradient(135deg, #efffde 0%, #f8fff0 54%, #ffffff 100%);
}

.do-grid-v2 {
  display: grid;
  grid-template-columns: 1fr 0.95fr;
  gap: 74px;
  align-items: center;
}

.do-content-v2 h2 {
  font-size: clamp(32px, 3vw, 46px);
  max-width: 660px;
}

.about-check-list {
  list-style: none;
  margin: 26px 0 0;
  padding: 0;
  display: grid;
  gap: 14px;
}

.about-check-list li {
  position: relative;
  background: rgba(255, 255, 255, 0.74);
  border: 1px solid rgba(54, 169, 0, 0.14);
  border-radius: 16px;
  padding: 15px 18px 15px 50px;
  color: #435366;
  font-size: 15px;
  line-height: 1.55;
  box-shadow: 0 10px 24px rgba(6, 26, 51, 0.04);
}

.about-check-list li:before {
  content: "✓";
  position: absolute;
  left: 16px;
  top: 14px;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: #36a900;
  color: #fff;
  font-size: 12px;
  font-weight: 900;
}

.do-image-card {
  position: relative;
}

.do-image-card:before {
  content: "";
  position: absolute;
  inset: 28px -18px -18px 32px;
  border-radius: 30px;
  background: #36a900;
  opacity: 0.16;
}

.do-image-card img {
  position: relative;
  width: 100%;
  height: 480px;
  object-fit: cover;
  border-radius: 32px;
  box-shadow: 0 24px 64px rgba(6, 26, 51, 0.14);
}

.about-why-v2 {
  padding: 96px 0;
  background: #fff;
}

.why-grid-v2 {
  display: grid;
  grid-template-columns: 0.9fr 1.1fr;
  gap: 76px;
  align-items: center;
}

.why-image-v2 img {
  width: 100%;
  height: 520px;
  object-fit: cover;
  object-position: center;
  border-radius: 34px;
  box-shadow: 0 24px 64px rgba(6, 26, 51, 0.13);
}

.why-content-v2 h2 {
  font-size: clamp(32px, 3vw, 46px);
}

.why-list-v2 {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  margin-top: 28px;
}

.why-list-v2 div {
  border: 1px solid rgba(6, 26, 51, 0.08);
  border-radius: 20px;
  padding: 22px;
  background: linear-gradient(180deg, #fff 0%, #fbfff7 100%);
  box-shadow: 0 12px 32px rgba(6, 26, 51, 0.045);
}

.why-list-v2 strong {
  display: block;
  color: #061a33;
  font-size: 16px;
  margin-bottom: 6px;
}

.why-list-v2 p {
  font-size: 14px;
  line-height: 1.58;
  margin: 0;
}

.about-team-v2 {
  padding: 96px 0 104px;
  background: #fffaf3;
}

.team-heading-v2 {
  text-align: center;
  max-width: 760px;
  margin: 0 auto 42px;
}

.team-heading-v2 h2 {
  font-size: clamp(34px, 3vw, 48px);
  margin-bottom: 12px;
}

.team-grid-v2 {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 26px;
  align-items: stretch;
}

.team-card-v2 {
  background: #fff;
  border: 1px solid rgba(6, 26, 51, 0.08);
  border-radius: 28px;
  overflow: hidden;
  box-shadow: 0 18px 48px rgba(6, 26, 51, 0.08);
  transition: 0.25s ease;
}

.team-card-v2:hover {
  transform: translateY(-6px);
  box-shadow: 0 26px 68px rgba(6, 26, 51, 0.12);
}

.team-card-v2 img {
  width: 100%;
  height: 340px;
  object-fit: cover;
  object-position: center top;
}

.team-card-v2 div {
  padding: 26px;
}

.team-card-v2 h3 {
  font-size: 22px;
  margin-bottom: 6px;
}

.team-card-v2 span {
  display: block;
  color: #1f7f32;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.45;
  margin-bottom: 14px;
}

.team-card-v2 p {
  font-size: 14px;
  line-height: 1.65;
  margin: 0;
}

.about-final-v2 {
  padding: 10px 0 96px;
  background: #fffaf3;
}

.about-final-card {
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  gap: 28px;
  border-radius: 32px;
  padding: 54px;
  background: linear-gradient(135deg, #36a900, #1f7f32);
  box-shadow: 0 24px 64px rgba(6, 26, 51, 0.14);
  position: relative;
  overflow: hidden;
}

.about-final-card:after {
  content: "";
  position: absolute;
  right: -60px;
  top: -90px;
  width: 260px;
  height: 260px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.14);
}

.about-final-card h2 {
  color: #fff;
  font-size: clamp(32px, 3vw, 46px);
  margin-bottom: 10px;
}

.about-final-card p {
  color: rgba(255, 255, 255, 0.86);
  max-width: 680px;
  margin: 0;
}

.about-final-card .eyebrow {
  background: rgba(255, 255, 255, 0.14);
  border-color: rgba(255, 255, 255, 0.2);
  color: #fff;
}

.about-final-card .btn {
  position: relative;
  z-index: 1;
  white-space: nowrap;
}

@media (max-width: 1120px) {

  .about-hero-grid,
  .story-grid-v2,
  .do-grid-v2,
  .why-grid-v2 {
    grid-template-columns: 1fr;
    gap: 46px;
  }

  .about-hero-visual {
    min-height: auto;
  }

  .about-hero-visual img {
    height: 430px;
  }

  .about-stat-card {
    left: 24px;
  }

  .value-grid-v2,
  .team-grid-v2 {
    grid-template-columns: 1fr;
  }

  .team-card-v2 {
    display: grid;
    grid-template-columns: 300px 1fr;
  }

  .team-card-v2 img {
    height: 100%;
    min-height: 300px;
  }
}

@media (max-width: 760px) {
  .about-hero-v2 {
    padding: 28px 0 52px;
  }

  .about-hero-content h1 {
    font-size: 38px;
  }

  .about-hero-visual img {
    height: 340px;
    border-radius: 24px;
  }

  .about-stat-card {
    position: relative;
    left: auto;
    bottom: auto;
    margin: -44px 18px 0;
    width: auto;
  }

  .about-intro-v2,
  .about-values-v2,
  .about-story-v2,
  .about-do-v2,
  .about-why-v2,
  .about-team-v2 {
    padding: 62px 0;
  }

  .value-panel {
    padding: 34px 26px;
    min-height: auto;
    border-radius: 24px;
  }

  .story-image-stack {
    min-height: auto;
  }

  .story-main-img {
    width: 100%;
    height: 330px;
  }

  .story-small-img {
    position: relative;
    width: 78%;
    height: 190px;
    margin: -40px 0 0 auto;
    border-width: 8px;
  }

  .story-points-v2,
  .why-list-v2 {
    grid-template-columns: 1fr;
  }

  .do-image-card img,
  .why-image-v2 img {
    height: 340px;
    border-radius: 24px;
  }

  .team-card-v2 {
    display: block;
  }

  .team-card-v2 img {
    height: 300px;
  }

  .about-final-card {
    grid-template-columns: 1fr;
    padding: 36px 26px;
    border-radius: 24px;
  }
}

/* ===== Taxation Page V1 Premium Layout ===== */
body.tax-page {
  font-family: "Inter", Arial, sans-serif;
  background: #fbfaf7;
  color: #334155;
  overflow-x: hidden;
}

body.tax-page h1,
body.tax-page h2,
body.tax-page h3 {
  font-family: "Inter", Arial, sans-serif;
  color: #061a33;
  letter-spacing: -0.045em;
  font-weight: 750;
  line-height: 1.08;
}

body.tax-page h1 {
  font-size: clamp(42px, 5vw, 76px);
}

body.tax-page h2 {
  font-size: clamp(30px, 3.2vw, 48px);
}

body.tax-page h3 {
  font-size: 22px;
}

body.tax-page p {
  font-size: 16px;
  line-height: 1.78;
  color: #536171;
}

.tax-page .site-header {
  background: rgba(255, 255, 255, 0.92);
  backdrop-filter: blur(14px);
  border-bottom: 1px solid rgba(6, 26, 51, 0.08);
}

.tax-page .nav a.active {
  color: #269500;
}

.tax-page .btn.ghost {
  background: #fff;
  color: #061a33;
  border: 1px solid rgba(6, 26, 51, 0.11);
  box-shadow: none;
}

.tax-page .btn.ghost:hover {
  background: #f2ffe8;
  border-color: rgba(54, 169, 0, 0.28);
}

.tax-page .small-btn {
  padding: 12px 20px;
  font-size: 14px;
  margin-top: 12px;
}

.tax-hero {
  position: relative;
  padding: 70px 0 72px;
  background:
    radial-gradient(circle at 8% 12%, rgba(54, 169, 0, 0.12), transparent 32%),
    radial-gradient(circle at 91% 6%,
      rgba(214, 175, 57, 0.12),
      transparent 30%),
    linear-gradient(180deg, #fff 0%, #f6fff0 100%);
  overflow: hidden;
}

.tax-hero:after {
  content: "";
  position: absolute;
  inset: auto -14% -48% auto;
  width: 56vw;
  height: 56vw;
  border-radius: 50%;
  background: rgba(54, 169, 0, 0.055);
  pointer-events: none;
}

.tax-hero-grid {
  display: grid;
  grid-template-columns: 1.02fr 0.98fr;
  gap: 58px;
  align-items: center;
  position: relative;
  z-index: 2;
}

.tax-hero-copy {
  max-width: 720px;
}

.tax-page .crumb {
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.16em;
  font-weight: 700;
  color: #308c0f;
  margin-bottom: 18px;
}
.reports-page .crumbb {
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.16em;
  font-weight: 700;
  color: #308c0f;
  margin-bottom: 18px;
}
.certified-help-page .crumbbb {
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.16em;
  font-weight: 700;
  color: #308c0f;
  margin-bottom: 18px;
}

.tax-page .crumb span {
  color: #9bac9f;
  margin: 0 10px;
}

.tax-pill,
.tax-kicker {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #207a1f;
  background: #efffe8;
  border: 1px solid rgba(54, 169, 0, 0.16);
  border-radius: 999px;
  padding: 9px 14px;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  margin-bottom: 18px;
}

.tax-pill:before,
.tax-kicker:before {
  content: "";
  width: 7px;
  height: 7px;
  background: #35a900;
  border-radius: 50%;
  box-shadow: 0 0 0 5px rgba(54, 169, 0, 0.12);
}

.tax-hero h1 {
  max-width: 760px;
  margin: 0 0 20px;
}

.tax-hero h1::first-letter {}

.tax-hero-copy p {
  font-size: 18px;
  max-width: 640px;
  margin-bottom: 28px;
}

.tax-hero-actions {
  display: flex;
  gap: 14px;
  align-items: center;
  flex-wrap: wrap;
  margin-bottom: 34px;
}

.tax-proof-row {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
  max-width: 650px;
}

.tax-proof-row div {
  background: rgba(255, 255, 255, 0.82);
  border: 1px solid rgba(6, 26, 51, 0.08);
  border-radius: 18px;
  padding: 16px 18px;
  box-shadow: 0 16px 36px rgba(6, 26, 51, 0.06);
}

.tax-proof-row strong {
  display: block;
  color: #061a33;
  font-weight: 700;
  font-size: 16px;
  margin-bottom: 4px;
}

.tax-proof-row span {
  display: block;
  color: #6b7788;
  font-weight: 600;
  font-size: 13px;
}

.tax-hero-media {
  position: relative;
  min-height: 520px;
}

.tax-hero-media:before {
  content: "";
  position: absolute;
  left: 15px;
  top: 55px;
  width: 90%;
  height: 80%;
  border-radius: 38px;
  background: linear-gradient(135deg, #34a400, #0d6e2d);
  box-shadow: 0 24px 68px rgba(6, 26, 51, 0.16);
}

.tax-hero-media img {
  position: absolute;
  right: 0;
  top: 0;
  width: 95%;
  height: 360px;
  object-fit: cover;
  border-radius: 38px;
  box-shadow: 0 28px 76px rgba(6, 26, 51, 0.18);
  border: 10px solid #fff;
}

.tax-media-card {
  position: absolute;
  background: #fff;
  border: 1px solid rgba(6, 26, 51, 0.08);
  border-radius: 18px;
  padding: 16px 18px;
  box-shadow: 0 18px 45px rgba(6, 26, 51, 0.14);
  min-width: 160px;
}

.tax-media-card strong {
  display: block;
  color: #061a33;
  font-weight: 850;
  font-size: 18px;
}

.tax-media-card span {
  font-size: 13px;
  color: #64748b;
  font-weight: 650;
}

.tax-media-card.top {
  left: 0;
  top: 70px;
}

.tax-media-card.bottom {
  right: 8px;
  bottom: 16px;
}

.tax-section {
  padding: 92px 0;
  position: relative;
}

.tax-section.soft-bg {
  background: linear-gradient(135deg, #f8fff3 0%, #fff 54%, #fff8e8 100%);
  border-top: 1px solid rgba(6, 26, 51, 0.06);
  border-bottom: 1px solid rgba(6, 26, 51, 0.06);
}

.tax-split,
.tax-list-layout,
.tax-process-grid {
  display: grid;
  grid-template-columns: 0.95fr 1.05fr;
  gap: 64px;
  align-items: center;
}

.tax-image-stack {
  position: relative;
}

.tax-image-stack .main-photo,
.tax-list-image img,
.tax-info-card.image-card img {
  width: 100%;
  height: 460px;
  object-fit: cover;
  border-radius: 30px;
  box-shadow: 0 24px 70px rgba(6, 26, 51, 0.13);
}

.tax-image-stack:before {
  content: "";
  position: absolute;
  left: -22px;
  bottom: -22px;
  width: 72%;
  height: 55%;
  border-radius: 28px;
  background: #eaffda;
  z-index: -1;
}

.mini-note {
  position: absolute;
  right: -18px;
  bottom: 28px;
  width: 238px;
  border-radius: 20px;
  background: #fff;
  padding: 18px 20px;
  box-shadow: 0 18px 48px rgba(6, 26, 51, 0.16);
  border: 1px solid rgba(6, 26, 51, 0.08);
}

.mini-note strong {
  display: block;
  color: #061a33;
  font-size: 18px;
}

.mini-note span {
  display: block;
  color: #64748b;
  font-size: 13px;
  line-height: 1.5;
  margin-top: 4px;
}

.tax-content-card {
  background: #fff;
  border: 1px solid rgba(6, 26, 51, 0.08);
  border-radius: 32px;
  padding: 42px;
  box-shadow: 0 20px 60px rgba(6, 26, 51, 0.08);
}

.tax-content-card h2 span,
.tax-info-card h2 span,
.tax-list-layout h2 span,
.issue-section h2 span,
.tax-faq-wrap h2 span,
.tax-cta-panel h2 span {
  color: #278c05;
  font-style: italic;
  font-family: Georgia, serif;
  font-weight: 700;
  letter-spacing: -0.03em;
}

.tax-check-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  margin-top: 28px;
}

.tax-check-grid span,
.tax-service-list li {
  position: relative;
  background: #f6fff0;
  border: 1px solid rgba(54, 169, 0, 0.14);
  border-radius: 15px;
  padding: 13px 14px 13px 40px;
  color: #233449;
  font-weight: 650;
  line-height: 1.45;
}

.tax-check-grid span:before,
.tax-service-list li:before {
  content: "✓";
  position: absolute;
  left: 14px;
  top: 13px;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: #35a900;
  color: #fff;
  display: grid;
  place-items: center;
  font-size: 11px;
  font-weight: 900;
}

.tax-info-grid {
  display: grid;
  grid-template-columns: 1fr 0.9fr 1fr;
  gap: 24px;
  align-items: stretch;
}

.tax-info-card {
  border-radius: 30px;
  overflow: hidden;
  min-height: 420px;
}

.tax-info-card.white-card {
  background: #fff;
  border: 1px solid rgba(6, 26, 51, 0.08);
  padding: 38px;
  box-shadow: 0 18px 50px rgba(6, 26, 51, 0.07);
}

.tax-info-card.green-card {
  background: linear-gradient(135deg, #eaffcf, #f8fff2);
  border: 1px solid rgba(54, 169, 0, 0.16);
  padding: 38px;
  box-shadow: 0 18px 50px rgba(54, 169, 0, 0.08);
}

.tax-info-card.image-card img {
  height: 100%;
  border-radius: 30px;
  box-shadow: none;
}

.tax-list-layout {
  grid-template-columns: 1.05fr 0.95fr;
}

.tax-list-layout h2,
.tax-process-copy h2 {
  max-width: 640px;
}

.tax-list-layout p {
  max-width: 620px;
}

.tax-service-list {
  list-style: none;
  padding: 0;
  margin: 28px 0 0;
  display: grid;
  gap: 12px;
}

.tax-list-image {
  position: relative;
}

.tax-list-image:after {
  content: "";
  position: absolute;
  right: -22px;
  top: -22px;
  width: 160px;
  height: 160px;
  border-radius: 26px;
  background: #34a900;
  z-index: -1;
  opacity: 0.16;
}

.issue-section {
  background: #fff;
}

.tax-head {
  max-width: 820px;
  margin: 0 auto 42px;
}

.tax-head h2 {
  margin-bottom: 18px;
}

.tax-head p {
  margin-inline: auto;
  max-width: 690px;
}

.tax-issue-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 22px;
}

.tax-issue-card {
  position: relative;
  background: #fbfaf7;
  border: 1px solid rgba(6, 26, 51, 0.09);
  border-radius: 26px;
  padding: 34px 28px 30px;
  min-height: 286px;
  box-shadow: 0 18px 45px rgba(6, 26, 51, 0.055);
  overflow: hidden;
  transition: 0.25s ease;
}

.tax-issue-card:before {
  content: "";
  position: absolute;
  right: -38px;
  top: -40px;
  width: 120px;
  height: 120px;
  border-radius: 50%;
  background: rgba(54, 169, 0, 0.09);
  transition: 0.25s ease;
}

.tax-issue-card:hover {
  transform: translateY(-7px);
  box-shadow: 0 25px 65px rgba(6, 26, 51, 0.1);
  border-color: rgba(54, 169, 0, 0.2);
}

.tax-issue-card:hover:before {
  background: rgba(54, 169, 0, 0.16);
}

.tax-issue-card span {
  display: block;
  color: #c6cbd2;
  font-size: 50px;
  line-height: 1;
  font-weight: 700;
  letter-spacing: -0.06em;
  margin-bottom: 38px;
}

.tax-issue-card h3 {
  font-size: 21px;
  margin-bottom: 12px;
}

.tax-issue-card p {
  font-size: 15px;
  line-height: 1.68;
  margin: 0;
}

.tax-process-section {
  background: #061a33;
  color: #fff;
  background-image:
    radial-gradient(circle at 10% 0%, rgba(54, 169, 0, 0.28), transparent 28%),
    linear-gradient(135deg, #061a33, #071321);
}

.tax-process-section h2,
.tax-process-section p {
  color: #fff;
}

.tax-process-section .tax-kicker {
  background: rgba(255, 255, 255, 0.1);
  border-color: rgba(255, 255, 255, 0.16);
  color: #bfff9c;
}

.tax-process-copy p {
  color: rgba(255, 255, 255, 0.74);
  max-width: 590px;
}

.tax-process-list {
  display: grid;
  gap: 16px;
}

.tax-process-list div {
  display: grid;
  grid-template-columns: 70px 1fr;
  gap: 20px;
  align-items: center;
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 22px;
  padding: 22px 24px;
}

.tax-process-list strong {
  width: 54px;
  height: 54px;
  border-radius: 17px;
  background: rgba(182, 255, 141, 0.14);
  color: #bfff9c;
  display: grid;
  place-items: center;
  font-weight: 850;
}

.tax-process-list span {
  color: #fff;
  font-size: 18px;
  font-weight: 700;
}

.tax-faq-wrap {
  max-width: 900px;
}

.tax-page .faq {
  margin-top: 0;
}

.tax-page .faq-item {
  background: #fff;
  border: 1px solid rgba(6, 26, 51, 0.08);
  border-radius: 18px;
  margin-bottom: 12px;
  box-shadow: 0 12px 32px rgba(6, 26, 51, 0.045);
}

.tax-page .faq-q {
  font-weight: 750;
  color: #061a33;
}

.tax-page .faq-a {
  color: #5f6e7f;
}

.tax-final-cta {
  padding: 24px 0 100px;
  background: #fbfaf7;
}

.tax-cta-panel {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 30px;
  align-items: center;
  background: linear-gradient(135deg, #35a900, #177c32);
  border-radius: 34px;
  padding: 48px 54px;
  box-shadow: 0 24px 70px rgba(6, 26, 51, 0.15);
  position: relative;
  overflow: hidden;
}

.tax-cta-panel:before {
  content: "";
  position: absolute;
  right: -80px;
  top: -90px;
  width: 260px;
  height: 260px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.14);
}

.tax-cta-panel:after {
  content: "";
  position: absolute;
  left: -80px;
  bottom: -90px;
  width: 220px;
  height: 220px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.1);
}

.tax-cta-panel>* {
  position: relative;
  z-index: 1;
}

.tax-cta-panel .tax-kicker {
  background: rgba(255, 255, 255, 0.14);
  border-color: rgba(255, 255, 255, 0.22);
  color: #fff;
}

.tax-cta-panel h2,
.tax-cta-panel p {
  color: #fff;
}

.tax-cta-panel p {
  margin: 10px 0 0;
  color: rgba(255, 255, 255, 0.84);
  max-width: 760px;
}

.tax-cta-panel .btn.white {
  background: #fff;
  color: #061a33 !important;
  box-shadow: 0 14px 30px rgba(0, 0, 0, 0.14);
  white-space: nowrap;
}

@media (max-width: 1100px) {

  .tax-hero-grid,
  .tax-split,
  .tax-list-layout,
  .tax-process-grid {
    grid-template-columns: 1fr;
  }

  .tax-hero-media {
    min-height: 430px;
  }

  .tax-hero-media img {
    height: 410px;
    width: 92%;
  }

  .tax-info-grid,
  .tax-issue-grid {
    grid-template-columns: 1fr 1fr;
  }

  .tax-info-card.image-card {
    min-height: 360px;
  }

  .tax-info-card.image-card img {
    height: 360px;
  }

  .tax-cta-panel {
    grid-template-columns: 1fr;
  }

  .tax-cta-panel .btn {
    width: max-content;
  }
}

@media (max-width: 760px) {
  .tax-hero {
    padding: 48px 0 56px;
  }

  .tax-proof-row,
  .tax-check-grid,
  .tax-info-grid,
  .tax-issue-grid {
    grid-template-columns: 1fr;
  }

  .tax-hero-media {
    min-height: auto;
  }

  .tax-hero-media:before {
    display: none;
  }

  .tax-hero-media img {
    position: relative;
    width: 100%;
    height: 320px;
    border-width: 6px;
    border-radius: 26px;
  }

  .tax-media-card {
    position: relative;
    display: inline-block;
    margin: 12px 8px 0 0;
    left: auto !important;
    right: auto !important;
    top: auto !important;
    bottom: auto !important;
  }

  .tax-section {
    padding: 68px 0;
  }

  .tax-content-card,
  .tax-info-card.white-card,
  .tax-info-card.green-card {
    padding: 28px;
    border-radius: 24px;
  }

  .tax-image-stack .main-photo,
  .tax-list-image img {
    height: 300px;
    border-radius: 24px;
  }

  .mini-note {
    position: static;
    width: auto;
    margin: 4px 18px 0;
  }

  .tax-issue-card {
    min-height: auto;
  }

  .tax-cta-panel {
    padding: 34px 24px;
    border-radius: 26px;
  }

  .tax-cta-panel .btn {
    width: 100%;
    text-align: center;
  }

  .tax-process-list div {
    grid-template-columns: 1fr;
    gap: 12px;
  }

  .tax-page h1 {
    font-size: 40px;
  }

  .tax-page h2 {
    font-size: 30px;
  }
}

/* Business Financial Reports FAQ redesign */
.reports-page .reports-faq-section {
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(circle at 12% 15%,
      rgba(207, 250, 180, 0.55),
      transparent 28%),
    linear-gradient(180deg, #fbfaf7 0%, #ffffff 100%);
  border-top: 1px solid rgba(6, 26, 51, 0.06);
  border-bottom: 1px solid rgba(6, 26, 51, 0.06);
  padding: 100px 0;
}

.reports-page .reports-faq-layout {
  display: grid;
  grid-template-columns: minmax(280px, 0.85fr) minmax(420px, 1.15fr);
  gap: 56px;
  align-items: flex-start;
}

.reports-page .reports-faq-intro {
  position: sticky;
  top: 110px;
  background: #061a33;
  color: #fff;
  border-radius: 28px;
  padding: 42px;
  box-shadow: 0 24px 70px rgba(6, 26, 51, 0.18);
  overflow: hidden;
}

.reports-page .reports-faq-intro:before {
  content: "";
  position: absolute;
  right: -60px;
  top: -70px;
  width: 210px;
  height: 210px;
  background: rgba(50, 167, 11, 0.35);
  border-radius: 50%;
}

.reports-page .reports-faq-intro .badge {
  background: rgba(255, 255, 255, 0.12);
  color: #cffa9f;
  border: 1px solid rgba(255, 255, 255, 0.14);
}

.reports-page .reports-faq-intro h2 {
  color: #fff;
  margin: 18px 0 16px;
  font-size: clamp(34px, 4vw, 54px);
  line-height: 1.04;
  letter-spacing: -0.04em;
}

.reports-page .reports-faq-intro h2 .serif {
  color: #cffa9f;
}

.reports-page .reports-faq-intro p {
  color: rgba(255, 255, 255, 0.78);
  line-height: 1.8;
  margin-bottom: 28px;
  max-width: 420px;
}

.reports-page .reports-faq-intro .btn {
  background: #32a70b;
  color: #fff;
  box-shadow: none;
}

.reports-page .reports-faq {
  max-width: none;
  margin: 0;
  padding: 0;
  background: transparent;
  box-shadow: none;
  border-radius: 0;
}

.reports-page .reports-faq .faq-item {
  position: relative;
  background: #fff;
  border: 1px solid rgba(6, 26, 51, 0.08);
  border-radius: 22px;
  margin-bottom: 16px;
  padding: 0 24px;
  box-shadow: 0 18px 45px rgba(6, 26, 51, 0.06);
  transition:
    transform 0.25s ease,
    box-shadow 0.25s ease,
    border-color 0.25s ease;
}

.reports-page .reports-faq .faq-item:hover {
  transform: translateY(-3px);
  box-shadow: 0 24px 65px rgba(6, 26, 51, 0.09);
  border-color: rgba(50, 167, 11, 0.24);
}

.reports-page .reports-faq .faq-item.open {
  background: linear-gradient(135deg, #ffffff 0%, #f3ffe9 100%);
  border-color: rgba(50, 167, 11, 0.25);
}

.reports-page .reports-faq .faq-q {
  padding: 24px 0;
  font-size: 18px;
  line-height: 1.35;
  font-weight: 750;
  color: #061a33;
  align-items: center;
}

.reports-page .reports-faq .faq-q b {
  flex: 0 0 38px;
  width: 38px;
  height: 38px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: #eefbe5;
  color: #238504;
  font-size: 22px;
  line-height: 1;
  transition: 0.25s ease;
}

.reports-page .reports-faq .faq-item.open .faq-q b {
  background: #32a70b;
  color: #fff;
}

.reports-page .reports-faq .faq-a {
  padding: 0 56px 24px 0;
  color: #536274;
  line-height: 1.75;
  font-size: 15.5px;
}

@media (max-width: 900px) {
  .reports-page .reports-faq-section {
    padding: 70px 0;
  }

  .reports-page .reports-faq-layout {
    grid-template-columns: 1fr;
    gap: 26px;
  }

  .reports-page .reports-faq-intro {
    position: relative;
    top: auto;
    padding: 30px;
    border-radius: 22px;
  }

  .reports-page .reports-faq-intro h2 {
    font-size: 34px;
  }

  .reports-page .reports-faq .faq-q {
    font-size: 16px;
  }

  .reports-page .reports-faq .faq-a {
    padding-right: 0;
  }
}

/* ===== Certified QuickBooks Help Page V2 ===== */
body.certified-help-page {
  overflow-x: hidden;
  background: linear-gradient(180deg, #fff 0%, #fbfaf6 42%, #fff 100%);
}

.certified-help-page .site-header {
  background: rgba(255, 255, 255, 0.94);
}

.cert-hero {
  padding: 34px 0 76px;
  background:
    radial-gradient(circle at 85% 4%, rgba(54, 169, 0, 0.13), transparent 34%),
    linear-gradient(180deg, #ffffff 0%, #fbfaf6 100%);
  overflow: hidden;
}

.cert-hero-grid {
  display: grid;
  grid-template-columns: 1.02fr 0.98fr;
  gap: 34px;
  align-items: center;
  background: linear-gradient(135deg, #fff9ea 0%, #f7f0e2 46%, #ecffe2 100%);
  border: 1px solid rgba(6, 26, 51, 0.07);
  border-radius: 34px;
  padding: 34px;
  box-shadow: 0 24px 70px rgba(6, 26, 51, 0.1);
  position: relative;
  overflow: hidden;
}

.cert-hero-grid:before {
  content: "";
  position: absolute;
  width: 260px;
  height: 260px;
  border-radius: 50%;
  right: -90px;
  top: -100px;
  background: rgba(54, 169, 0, 0.12);
}

.cert-hero-copy {
  position: relative;
  z-index: 2;
  padding: 32px 8px 32px 24px;
}

.cert-hero-copy h1 {
  max-width: 760px;
  font-size: clamp(42px, 4.6vw, 68px);
  font-weight: 750;
  letter-spacing: -0.05em;
  margin-bottom: 22px;
}

.cert-hero-copy p {
  max-width: 680px;
  font-size: 18px;
  line-height: 1.78;
  color: #4d5b68;
}

.cert-hero-media {
  position: relative;
  z-index: 2;
}

.cert-hero-media img {
  width: 100%;
  height: 500px;
  object-fit: cover;
  border-radius: 30px;
  box-shadow: 0 28px 70px rgba(6, 26, 51, 0.18);
}

.cert-floating-note {
  position: absolute;
  left: -26px;
  bottom: 34px;
  width: 255px;
  background: rgba(255, 255, 255, 0.92);
  backdrop-filter: blur(12px);
  border: 1px solid rgba(6, 26, 51, 0.08);
  border-radius: 20px;
  padding: 18px 20px;
  box-shadow: 0 20px 45px rgba(6, 26, 51, 0.14);
}

.cert-floating-note b {
  display: block;
  color: var(--navy);
  font-size: 17px;
  margin-bottom: 3px;
}

.cert-floating-note span {
  display: block;
  color: #607080;
  font-size: 13.5px;
  line-height: 1.45;
}

.cert-mini-stats {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
  margin-top: 32px;
  max-width: 680px;
}

.cert-mini-stats div {
  background: rgba(255, 255, 255, 0.74);
  border: 1px solid rgba(6, 26, 51, 0.07);
  border-radius: 18px;
  padding: 16px 18px;
  box-shadow: 0 10px 24px rgba(6, 26, 51, 0.05);
}

.cert-mini-stats strong {
  display: block;
  color: var(--green-2);
  font-size: 17px;
  line-height: 1.15;
}

.cert-mini-stats span {
  display: block;
  color: #596979;
  font-size: 13px;
  font-weight: 700;
  margin-top: 5px;
}

.cert-intro-section {
  padding-top: 40px;
  background: #fff;
}

.cert-intro-grid,
.cert-split-card {
  display: grid;
  grid-template-columns: 0.96fr 1.04fr;
  gap: 70px;
  align-items: center;
}

.cert-image-stack {
  position: relative;
}

.cert-main-photo {
  height: 510px;
  border-radius: 30px;
}

.cert-image-card {
  position: absolute;
  right: -28px;
  bottom: 30px;
  width: 290px;
  background: linear-gradient(135deg, var(--green), var(--green-2));
  border-radius: 22px;
  padding: 22px;
  color: #fff;
  box-shadow: 0 24px 55px rgba(6, 26, 51, 0.16);
}

.cert-image-card span {
  display: block;
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  opacity: 0.78;
  margin-bottom: 5px;
}

.cert-image-card strong {
  display: block;
  font-size: 18px;
  line-height: 1.35;
}

.cert-intro-copy h2,
.cert-compliance-section h2,
.cert-process-section h2 {
  font-size: clamp(34px, 3.5vw, 54px);
  font-weight: 750;
  letter-spacing: -0.045em;
}

.cert-problems {
  background: linear-gradient(180deg, #fbfaf6 0%, #fff 100%);
  border-top: 1px solid rgba(6, 26, 51, 0.06);
}

.cert-problem-grid {
  display: grid;
  grid-template-columns: 1.12fr 0.94fr 0.94fr;
  gap: 22px;
  margin-top: 46px;
}

.cert-problem-card {
  min-height: 270px;
  background: #fff;
  border: 1px solid rgba(6, 26, 51, 0.08);
  border-radius: 26px;
  padding: 34px;
  box-shadow: 0 16px 40px rgba(6, 26, 51, 0.06);
  transition: 0.25s ease;
  position: relative;
  overflow: hidden;
}

.cert-problem-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 24px 66px rgba(6, 26, 51, 0.1);
  border-color: rgba(54, 169, 0, 0.22);
}

.cert-problem-card span {
  display: block;
  color: rgba(6, 26, 51, 0.14);
  font-size: 58px;
  font-weight: 900;
  line-height: 1;
  margin-bottom: 26px;
}

.cert-problem-card h3 {
  font-size: 22px;
  color: var(--green-2);
  margin-bottom: 12px;
  font-weight: 700;
  letter-spacing: -0.02em;
}

.cert-problem-card p {
  font-size: 15.5px;
  line-height: 1.78;
  color: #4c5a68;
  margin-bottom: 0;
}

.cert-problem-card.featured {
  grid-row: span 2;
  background: linear-gradient(145deg, #061a33 0%, #0b2a4d 100%);
  color: #fff;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  min-height: 562px;
}

.cert-problem-card.featured:before {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at 12% 0%,
      rgba(54, 169, 0, 0.35),
      transparent 36%);
}

.cert-problem-card.featured span,
.cert-problem-card.featured h3,
.cert-problem-card.featured p {
  position: relative;
  z-index: 2;
}

.cert-problem-card.featured span {
  color: rgba(255, 255, 255, 0.22);
  font-size: 82px;
}

.cert-problem-card.featured h3 {
  color: #cafaac;
  font-size: 30px;
}

.cert-problem-card.featured p {
  color: rgba(255, 255, 255, 0.78);
  font-size: 16px;
}

.cert-compliance-section {
  background: #fff;
  padding-top: 84px;
}

.cert-split-card {
  background: linear-gradient(135deg, #f7fff0, #fff 62%);
  border: 1px solid rgba(54, 169, 0, 0.16);
  border-radius: 34px;
  padding: 42px;
  box-shadow: 0 20px 58px rgba(6, 26, 51, 0.07);
}

.cert-split-card img {
  height: 360px;
  width: 100%;
  object-fit: cover;
  border-radius: 26px;
  box-shadow: var(--shadow-soft);
}

.cert-services-deep {
  background: #061a33;
  color: #fff;
  background-image:
    linear-gradient(135deg, rgba(6, 26, 51, 0.96), rgba(6, 26, 51, 0.86)),
    url("assets/site-images/home-data-report-bg.jpg");
  background-size: cover;
  background-position: center;
}

.cert-services-deep .light-text h2,
.cert-services-deep .light-text p {
  color: #fff;
}

.cert-service-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 24px;
  margin-top: 42px;
}

.cert-service-card {
  display: grid;
  grid-template-columns: 220px 1fr;
  gap: 24px;
  align-items: center;
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.15);
  border-radius: 28px;
  padding: 16px;
  text-decoration: none;
  color: #fff;
  backdrop-filter: blur(8px);
  transition: 0.25s ease;
}

.cert-service-card:hover {
  transform: translateY(-6px);
  background: rgba(255, 255, 255, 0.12);
  border-color: rgba(182, 255, 141, 0.32);
}

.cert-service-card img {
  height: 170px;
  width: 220px;
  object-fit: cover;
  border-radius: 22px;
}

.cert-service-card h3 {
  color: #fff;
  font-size: 22px;
  margin-bottom: 10px;
}

.cert-service-card p {
  color: rgba(255, 255, 255, 0.75);
  font-size: 14.5px;
  line-height: 1.7;
  margin-bottom: 0;
}

.cert-process-section {
  background: linear-gradient(180deg, #fff, #fbfaf6);
}

.cert-process-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
  margin-top: 42px;
}

.cert-process-step {
  background: #fff;
  border: 1px solid rgba(6, 26, 51, 0.08);
  border-radius: 24px;
  padding: 28px;
  box-shadow: 0 12px 35px rgba(6, 26, 51, 0.05);
}

.cert-process-step span {
  width: 52px;
  height: 52px;
  border-radius: 17px;
  background: #efffe4;
  color: var(--green-2);
  display: grid;
  place-items: center;
  font-weight: 900;
  font-size: 20px;
  margin-bottom: 22px;
}

.cert-process-step h3 {
  font-size: 20px;
  margin-bottom: 10px;
}

.cert-process-step p {
  font-size: 14.5px;
  line-height: 1.7;
  margin-bottom: 0;
}

.cert-faq-section {
  padding: 90px 0 60px;
  background: #fff;
}

.cert-faq-layout {
  display: grid;
  grid-template-columns: 0.88fr 1.12fr;
  gap: 54px;
  align-items: flex-start;
}

.cert-faq-intro {
  background: linear-gradient(145deg, #061a33, #0c2b50);
  color: #fff;
  border-radius: 28px;
  padding: 40px;
  box-shadow: 0 24px 70px rgba(6, 26, 51, 0.16);
  position: sticky;
  top: 110px;
  overflow: hidden;
}

.cert-faq-intro:before {
  content: "";
  position: absolute;
  right: -60px;
  top: -70px;
  width: 210px;
  height: 210px;
  border-radius: 50%;
  background: rgba(54, 169, 0, 0.35);
}

.cert-faq-intro .badge {
  background: rgba(255, 255, 255, 0.1);
  color: #cffa9f;
  border-color: rgba(255, 255, 255, 0.16);
}

.cert-faq-intro h2 {
  color: #fff;
  font-size: clamp(34px, 3.8vw, 52px);
  line-height: 1.04;
  font-weight: 750;
  letter-spacing: -0.04em;
  position: relative;
}

.cert-faq-intro p {
  color: rgba(255, 255, 255, 0.76);
  line-height: 1.8;
  position: relative;
}

.cert-faq-intro .btn {
  box-shadow: none;
  position: relative;
}

.cert-faq {
  max-width: none;
  margin: 0;
  padding: 0;
  background: transparent;
  box-shadow: none;
  border-radius: 0;
}

.cert-faq .faq-item {
  background: #fff;
  border: 1px solid rgba(6, 26, 51, 0.08);
  border-radius: 22px;
  margin-bottom: 16px;
  padding: 0 24px;
  box-shadow: 0 18px 45px rgba(6, 26, 51, 0.06);
  transition: 0.25s ease;
}

.cert-faq .faq-item:hover {
  transform: translateY(-3px);
  border-color: rgba(54, 169, 0, 0.22);
  box-shadow: 0 22px 60px rgba(6, 26, 51, 0.08);
}

.cert-faq .faq-item.open {
  background: linear-gradient(135deg, #fff, #f3ffe9);
  border-color: rgba(54, 169, 0, 0.28);
}

.cert-faq .faq-q {
  padding: 24px 0;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.35;
  color: var(--navy);
  align-items: center;
}

.cert-faq .faq-q b {
  flex: 0 0 38px;
  width: 38px;
  height: 38px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: #efffe4;
  color: var(--green-2);
  font-size: 22px;
  transition: 0.25s ease;
}

.cert-faq .faq-item.open .faq-q b {
  background: var(--green);
  color: #fff;
}

.cert-faq .faq-a {
  padding: 0 56px 24px 0;
  color: #5a6876;
  line-height: 1.75;
  font-size: 15.5px;
}

@media (max-width: 1100px) {

  .cert-hero-grid,
  .cert-intro-grid,
  .cert-split-card,
  .cert-faq-layout {
    grid-template-columns: 1fr;
  }

  .cert-hero-media img {
    height: 380px;
  }

  .cert-floating-note {
    left: 24px;
  }

  .cert-problem-grid {
    grid-template-columns: 1fr 1fr;
  }

  .cert-problem-card.featured {
    grid-row: auto;
    min-height: 320px;
  }

  .cert-service-grid {
    grid-template-columns: 1fr;
  }

  .cert-process-grid {
    grid-template-columns: 1fr 1fr;
  }

  .cert-faq-intro {
    position: relative;
    top: auto;
  }
}

@media (max-width: 760px) {
  .cert-hero {
    padding-top: 16px;
  }

  .cert-hero-grid {
    padding: 18px;
    border-radius: 24px;
  }

  .cert-hero-copy {
    padding: 20px 6px;
  }

  .cert-hero-copy h1 {
    font-size: 40px;
  }

  .cert-hero-copy p {
    font-size: 16px;
  }

  .cert-mini-stats {
    grid-template-columns: 1fr;
  }

  .cert-hero-media img {
    height: 300px;
  }

  .cert-floating-note {
    position: static;
    width: auto;
    margin-top: 14px;
  }

  .cert-main-photo {
    height: 330px;
  }

  .cert-image-card {
    position: static;
    width: auto;
    margin: -36px 16px 0;
  }

  .cert-problem-grid {
    grid-template-columns: 1fr;
  }

  .cert-service-card {
    grid-template-columns: 1fr;
  }

  .cert-service-card img {
    width: 100%;
    height: 220px;
  }

  .cert-process-grid {
    grid-template-columns: 1fr;
  }

  .cert-split-card {
    padding: 24px;
  }

  .cert-faq-intro {
    padding: 28px;
  }

  .cert-faq .faq-q {
    font-size: 16px;
  }

  .cert-faq .faq-a {
    padding-right: 0;
  }
}

/* ================= QuickBooks Data Repair Page V2 ================= */
.repair-page {
  overflow-x: hidden;
  background: #fbfaf7;
  color: var(--navy);
}

.repair-page .container {
  max-width: 1180px;
}

.repair-hero {
  padding: 28px 0 70px;
  background: linear-gradient(180deg, #fbfaf7 0%, #fff 100%);
}

.repair-hero-grid {
  display: grid;
  grid-template-columns: 0.92fr 1.08fr;
  gap: 34px;
  align-items: stretch;
  background: #eee8d8;
  border: 1px solid rgba(6, 26, 51, 0.06);
  border-radius: 28px;
  padding: 24px;
  position: relative;
  overflow: hidden;
  min-height: 470px;
}

.repair-hero-grid:before {
  content: "";
  position: absolute;
  inset: auto auto -120px -90px;
  width: 300px;
  height: 300px;
  border-radius: 50%;
  background: rgba(54, 169, 0, 0.1);
}

.repair-hero-copy {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 42px 18px 42px 10px;
}

.repair-hero-copy .crumb {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #279200;
  margin-bottom: 18px;
}

.repair-hero-copy h1 {
  font-size: clamp(42px, 5.2vw, 76px);
  line-height: 0.98;
  letter-spacing: -0.055em;
  font-weight: 760;
  margin: 16px 0 18px;
  color: #061a33;
  max-width: 650px;
}

.repair-hero-copy p {
  font-size: 18px;
  line-height: 1.75;
  color: #516071;
  max-width: 540px;
  margin: 0 0 28px;
}

.hero-actions {
  display: flex;
  gap: 14px;
  flex-wrap: wrap;
}

.btn-ghost {
  background: #fff;
  color: #0b233f;
  border: 1px solid rgba(6, 26, 51, 0.1);
  box-shadow: none;
}

.btn-ghost:hover {
  background: #f5fff0;
  color: #1d8d00;
}

.repair-hero-media {
  position: relative;
  min-height: 410px;
  border-radius: 24px;
  overflow: hidden;
  box-shadow: 0 26px 65px rgba(6, 26, 51, 0.12);
}

.repair-hero-media img {
  width: 100%;
  height: 100%;
  object-fit: fill;
  display: block;
  transition: 0.4s ease;
}

.repair-hero-grid:hover .repair-hero-media img {
  transform: scale(1.035);
}

.repair-hero-card {
  position: absolute;
  left: 24px;
  bottom: 24px;
  right: 24px;
  background: rgba(255, 255, 255, 0.86);
  backdrop-filter: blur(10px);
  border: 1px solid rgba(255, 255, 255, 0.7);
  border-radius: 18px;
  padding: 18px 20px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  box-shadow: 0 18px 40px rgba(6, 26, 51, 0.16);
}

.repair-hero-card strong {
  font-size: 18px;
}

.repair-hero-card span {
  font-size: 13px;
  color: #526171;
}

.repair-section {
  padding: 86px 0;
}

.repair-two-col {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 70px;
  align-items: center;
}

.repair-two-col.reverse {
  grid-template-columns: 0.95fr 1.05fr;
}

.repair-photo {
  width: 100%;
  border-radius: 24px;
  object-fit: cover;
  display: block;
  box-shadow: 0 22px 55px rgba(6, 26, 51, 0.09);
}

.repair-photo.main {
  height: 520px;
}

.repair-support-visual .repair-photo {
  height: 360px;
}

.repair-image-stack {
  position: relative;
}

.repair-mini-card {
  position: absolute;
  left: -26px;
  bottom: 34px;
  background: #fff;
  border: 1px solid rgba(6, 26, 51, 0.08);
  border-radius: 20px;
  padding: 18px 20px;
  box-shadow: 0 18px 45px rgba(6, 26, 51, 0.12);
  max-width: 210px;
}

.repair-mini-card span {
  font-size: 34px;
  font-weight: 700;
  color: #c8d0d8;
}

.repair-mini-card strong {
  display: block;
  font-size: 18px;
  color: #061a33;
}

.repair-mini-card small {
  color: #5a6876;
  line-height: 1.4;
}

.repair-content-card {
  background: #fff;
  border: 1px solid rgba(6, 26, 51, 0.08);
  border-radius: 28px;
  padding: 44px;
  box-shadow: 0 24px 70px rgba(6, 26, 51, 0.06);
}

.repair-content-card h2,
.repair-copy h2 {
  font-size: clamp(34px, 3.6vw, 54px);
  line-height: 1.08;
  letter-spacing: -0.045em;
  font-weight: 720;
  margin: 12px 0 24px;
}

.repair-content-card p,
.repair-copy p {
  font-size: 16px;
  line-height: 1.85;
  color: #566273;
  margin-bottom: 16px;
}

.repair-content-card a {
  color: #279200;
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.repair-advantages {
  background: linear-gradient(180deg, #fff 0%, #fbfaf7 100%);
  border-top: 1px solid rgba(6, 26, 51, 0.05);
  border-bottom: 1px solid rgba(6, 26, 51, 0.05);
}

.repair-checks {
  list-style: none;
  padding: 0;
  margin: 22px 0 0;
}

.repair-checks li {
  position: relative;
  padding-left: 36px;
  margin-bottom: 14px;
  color: #4f5f70;
  line-height: 1.6;
}

.repair-checks li:before {
  content: "✓";
  position: absolute;
  left: 0;
  top: 0;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: #eaffdb;
  color: #279200;
  display: grid;
  place-items: center;
  font-weight: 900;
  font-size: 13px;
}

.repair-support-visual {
  position: relative;
}

.support-stat {
  position: absolute;
  right: 22px;
  bottom: -30px;
  background: #36a900;
  color: #fff;
  border-radius: 20px;
  padding: 20px 24px;
  box-shadow: 0 20px 50px rgba(54, 169, 0, 0.24);
  max-width: 230px;
}

.support-stat b {
  font-size: 36px;
  display: block;
  line-height: 1;
}

.support-stat span {
  font-size: 13px;
  line-height: 1.4;
  display: block;
  margin-top: 6px;
  color: rgba(255, 255, 255, 0.86);
}

.repair-section-head {
  max-width: 760px;
  margin: 0 auto 44px;
}

.repair-section-head.center {
  text-align: center;
}

.repair-section-head h2 {
  font-size: clamp(34px, 4vw, 56px);
  line-height: 1.08;
  letter-spacing: -0.045em;
  font-weight: 720;
  margin: 12px 0 16px;
}

.repair-section-head p {
  font-size: 16px;
  line-height: 1.75;
  color: #5a6876;
  margin: 0 auto;
  max-width: 650px;
}

.repair-problems-wrap {
  background: #071a31;
  color: #fff;
  position: relative;
  overflow: hidden;
}

.repair-problems-wrap:before {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at top right,
      rgba(54, 169, 0, 0.22),
      transparent 35%);
  pointer-events: none;
}

.repair-problems-wrap .container {
  position: relative;
}

.repair-problems-wrap h2,
.repair-problems-wrap p {
  color: #fff;
}

.repair-problems-wrap .repair-section-head p {
  color: rgba(255, 255, 255, 0.74);
}

.repair-problem-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 18px;
}

.repair-problem {
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 24px;
  padding: 30px 24px;
  min-height: 260px;
  transition: 0.25s ease;
}

.repair-problem:hover {
  transform: translateY(-5px);
  background: rgba(255, 255, 255, 0.12);
}

.repair-problem span {
  font-size: 46px;
  font-weight: 700;
  color: rgba(255, 255, 255, 0.18);
  line-height: 1;
}

.repair-problem h3 {
  color: #fff;
  font-size: 21px;
  line-height: 1.25;
  margin: 32px 0 12px;
}

.repair-problem p {
  font-size: 14.5px;
  line-height: 1.7;
  color: rgba(255, 255, 255, 0.74);
  margin: 0;
}

.repair-pricing-section {
  background: #fbfaf7;
}

.repair-pricing-card {
  max-width: 820px;
  margin: 0 auto;
  background: #fff;
  border: 1px solid rgba(54, 169, 0, 0.18);
  border-radius: 24px;
  box-shadow: 0 24px 70px rgba(6, 26, 51, 0.08);
  overflow: hidden;
}

.repair-price-row {
  display: grid;
  grid-template-columns: 1.15fr 1fr 0.65fr;
  border-bottom: 1px solid rgba(6, 26, 51, 0.08);
  align-items: center;
}

.repair-price-row span {
  padding: 24px 28px;
  color: #5d6876;
  border-right: 1px solid rgba(6, 26, 51, 0.07);
  font-size: 15px;
}

.repair-price-row span:last-child {
  border-right: 0;
}

.repair-price-row.head span {
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.16em;
  font-weight: 900;
  color: #20a000;
  background: #f7fff0;
}

.repair-price-row i {
  font-style: normal;
  margin-right: 10px;
  color: #25a600;
  background: #edffe4;
  border: 1px solid rgba(54, 169, 0, 0.18);
  border-radius: 8px;
  padding: 4px 6px;
}

.repair-price-row em {
  font-style: normal;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 8px 14px;
  border-radius: 999px;
  background: #edfff8;
  border: 1px solid rgba(0, 176, 130, 0.22);
  font-size: 12px;
  font-weight: 700;
  color: #00a36d;
}

.repair-price-note {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  padding: 24px 28px;
  background: #fbfff7;
}

.repair-price-note p {
  margin: 0;
  color: #7a858f;
  font-size: 13px;
  font-style: italic;
}

.repair-price-note .btn {
  white-space: nowrap;
}

.repair-testimonials {
  background: #fff;
}

.repair-testimonial-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 26px;
  max-width: 930px;
  margin: 0 auto;
}

.repair-testimonial {
  background: #fff;
  border: 1px solid rgba(6, 26, 51, 0.08);
  border-radius: 24px;
  padding: 34px 38px;
  box-shadow: 0 20px 55px rgba(6, 26, 51, 0.06);
  position: relative;
}

.repair-testimonial:before {
  content: "“";
  position: absolute;
  right: 28px;
  top: 10px;
  font-size: 86px;
  line-height: 1;
  color: #e8f8dc;
  font-family: serif;
}

.repair-testimonial .stars {
  color: #36a900;
  letter-spacing: 3px;
  font-size: 13px;
  margin-bottom: 16px;
}

.repair-testimonial p {
  font-size: 17px;
  line-height: 1.7;
  color: #3e4b59;
  font-style: italic;
  margin: 0 0 24px;
}

.repair-testimonial strong {
  display: block;
  color: #061a33;
  font-size: 17px;
}

.repair-testimonial span {
  color: #7a858f;
  font-size: 13px;
}

.repair-faq-section {
  background: #fbfaf7;
  padding-top: 70px;
}

.repair-faq-layout {
  display: grid;
  grid-template-columns: 0.85fr 1.15fr;
  gap: 54px;
  align-items: start;
}

.repair-faq-intro {
  position: sticky;
  top: 110px;
  background: linear-gradient(145deg, #061a33, #0b2e52);
  color: #fff;
  border-radius: 28px;
  padding: 40px;
  box-shadow: 0 24px 70px rgba(6, 26, 51, 0.12);
  overflow: hidden;
}

.repair-faq-intro:before {
  content: "";
  position: absolute;
  right: -70px;
  top: -80px;
  width: 220px;
  height: 220px;
  border-radius: 50%;
  background: rgba(54, 169, 0, 0.32);
}

.repair-faq-intro .badge {
  background: rgba(255, 255, 255, 0.1);
  color: #d6ffbb;
  border-color: rgba(255, 255, 255, 0.12);
}

.repair-faq-intro h2 {
  position: relative;
  color: #fff;
  font-size: clamp(32px, 3.3vw, 48px);
  line-height: 1.08;
  letter-spacing: -0.04em;
  margin: 14px 0 18px;
}

.repair-faq-intro p {
  position: relative;
  color: rgba(255, 255, 255, 0.75);
  line-height: 1.75;
  margin-bottom: 24px;
}

.repair-faq-intro .btn {
  position: relative;
}

.repair-faq {
  max-width: none;
  margin: 0;
}

.repair-faq .faq-item {
  background: #fff;
  border: 1px solid rgba(6, 26, 51, 0.08);
  border-radius: 18px;
  margin-bottom: 14px;
  padding: 0 22px;
  box-shadow: 0 16px 42px rgba(6, 26, 51, 0.055);
  transition: 0.22s ease;
}

.repair-faq .faq-item:hover {
  border-color: rgba(54, 169, 0, 0.22);
  transform: translateY(-2px);
}

.repair-faq .faq-item.open {
  background: linear-gradient(135deg, #fff, #f5ffee);
  border-color: rgba(54, 169, 0, 0.28);
}

.repair-faq .faq-q {
  padding: 21px 0;
  font-size: 16px;
  font-weight: 700;
  color: #061a33;
}

.repair-faq .faq-q b {
  width: 34px;
  height: 34px;
  border-radius: 50%;
  background: #efffe4;
  color: #239a00;
  display: grid;
  place-items: center;
  flex: 0 0 34px;
}

.repair-faq .faq-a {
  padding: 0 46px 22px 0;
  color: #5a6876;
  line-height: 1.75;
  font-size: 15px;
}

.repair-cta-wrap {
  padding: 50px 0 0;
}

@media (max-width: 1100px) {

  .repair-hero-grid,
  .repair-two-col,
  .repair-two-col.reverse,
  .repair-faq-layout {
    grid-template-columns: 1fr;
  }

  .repair-problem-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .repair-hero-copy {
    padding: 24px;
  }

  .repair-hero-media {
    min-height: 360px;
  }

  .repair-mini-card,
  .support-stat {
    position: static;
    margin: 18px 0 0;
  }

  .repair-photo.main {
    height: 420px;
  }

  .repair-faq-intro {
    position: relative;
    top: auto;
  }
}

@media (max-width: 760px) {
  .repair-section {
    padding: 58px 0;
  }

  .repair-hero {
    padding: 18px 0 48px;
  }

  .repair-hero-grid {
    padding: 16px;
    border-radius: 22px;
    min-height: auto;
  }

  .repair-hero-copy h1 {
    font-size: 42px;
  }

  .repair-hero-copy p {
    font-size: 16px;
  }

  .repair-hero-media {
    min-height: 280px;
  }

  .repair-hero-card {
    position: static;
    margin: 14px 0 0;
    display: block;
  }

  .repair-two-col {
    gap: 34px;
  }

  .repair-content-card {
    padding: 28px;
  }

  .repair-content-card h2,
  .repair-copy h2,
  .repair-section-head h2 {
    font-size: 34px;
  }

  .repair-photo.main,
  .repair-support-visual .repair-photo {
    height: 300px;
  }

  .repair-problem-grid,
  .repair-testimonial-grid {
    grid-template-columns: 1fr;
  }

  .repair-price-row {
    grid-template-columns: 1fr;
  }

  .repair-price-row span {
    border-right: 0;
    padding: 16px 20px;
  }

  .repair-price-note {
    display: block;
  }

  .repair-price-note .btn {
    margin-top: 16px;
  }

  .repair-faq-intro {
    padding: 30px;
  }

  .repair-faq .faq-a {
    padding-right: 0;
  }
}

/* ================= QuickBooks Data Migration Page V2 ================= */
.migration-page {
  overflow-x: hidden;
  background: #fbfaf7;
  color: var(--navy);
}

.migration-page .container {
  max-width: 1180px;
}

.migration-hero {
  padding: 26px 0 68px;
  background: linear-gradient(180deg, #fbfaf7 0%, #fff 100%);
}

.migration-hero-grid {
  display: grid;
  grid-template-columns: 0.94fr 1.06fr;
  gap: 34px;
  align-items: stretch;
  background: linear-gradient(135deg, #eee8d8 0%, #f7fff0 100%);
  border: 1px solid rgba(6, 26, 51, 0.06);
  border-radius: 30px;
  padding: 24px;
  position: relative;
  overflow: hidden;
  min-height: 500px;
  box-shadow: 0 24px 70px rgba(6, 26, 51, 0.07);
}

.migration-hero-grid:before {
  content: "";
  position: absolute;
  left: -130px;
  bottom: -120px;
  width: 330px;
  height: 330px;
  border-radius: 50%;
  background: rgba(54, 169, 0, 0.11);
}

.migration-hero-copy {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 44px 18px 44px 10px;
}

.migration-hero-copy .crumb {
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #279200;
  margin-bottom: 18px;
}

.migration-hero-copy .crumb span {
  color: #83909c;
  margin: 0 8px;
}

.migration-hero-copy h1 {
  font-size: clamp(42px, 5vw, 72px);
  line-height: 1;
  letter-spacing: -0.055em;
  font-weight: 760;
  margin: 16px 0 18px;
  color: #061a33;
  max-width: 660px;
}

.migration-hero-copy p {
  font-size: 18px;
  line-height: 1.75;
  color: #516071;
  max-width: 560px;
  margin: 0 0 28px;
}

.migration-hero-media {
  position: relative;
  min-height: 440px;
  border-radius: 26px;
  overflow: hidden;
  box-shadow: 0 26px 65px rgba(6, 26, 51, 0.13);
}

.migration-hero-media img {
  width: 100%;
  height: 100%;
  object-fit: fill;
  display: block;
  transition: 0.45s ease;
}

.migration-hero-grid:hover .migration-hero-media img {
  transform: scale(1.035);
}

.migration-hero-card {
  position: absolute;
  left: 24px;
  bottom: 24px;
  right: 24px;
  background: rgba(255, 255, 255, 0.88);
  backdrop-filter: blur(10px);
  border: 1px solid rgba(255, 255, 255, 0.75);
  border-radius: 19px;
  padding: 18px 20px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  box-shadow: 0 18px 40px rgba(6, 26, 51, 0.16);
}

.migration-hero-card strong {
  font-size: 18px;
  color: #061a33;
}

.migration-hero-card span {
  font-size: 13px;
  color: #526171;
}

.migration-section {
  padding: 88px 0;
}

.migration-two-col,
.migration-support-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 70px;
  align-items: center;
}

.migration-two-col.reverse {
  grid-template-columns: 1fr 1fr;
}

.migration-photo {
  width: 100%;
  height: 390px;
  border-radius: 26px;
  object-fit: cover;
  display: block;
  box-shadow: 0 22px 55px rgba(6, 26, 51, 0.09);
}

.migration-photo.tall {
  height: 560px;
}

.migration-image-wrap {
  position: relative;
}

.image-note {
  position: absolute;
  right: -26px;
  bottom: 30px;
  width: 260px;
  background: #fff;
  border: 1px solid rgba(6, 26, 51, 0.08);
  border-radius: 20px;
  padding: 20px;
  box-shadow: 0 20px 48px rgba(6, 26, 51, 0.13);
}

.image-note b {
  display: block;
  color: #061a33;
  margin-bottom: 5px;
}

.image-note span {
  display: block;
  color: #5c6874;
  font-size: 13px;
  line-height: 1.5;
}

.migration-copy-card {
  background: #fff;
  border: 1px solid rgba(6, 26, 51, 0.08);
  border-radius: 30px;
  padding: 46px;
  box-shadow: 0 24px 70px rgba(6, 26, 51, 0.06);
}

.migration-copy-card.slim {
  padding: 42px;
}

.migration-copy-card h2,
.migration-copy h2,
.migration-section-head h2 {
  font-size: clamp(34px, 3.6vw, 54px);
  line-height: 1.08;
  letter-spacing: -0.045em;
  font-weight: 720;
  margin: 12px 0 24px;
}

.migration-copy-card p,
.migration-copy p {
  font-size: 16px;
  line-height: 1.84;
  color: #566273;
  margin-bottom: 16px;
}

.migration-support-section {
  background: linear-gradient(180deg, #fff 0%, #fbfaf7 100%);
}

.migration-list-card {
  margin-top: 28px;
  background: linear-gradient(135deg, #f7fff0, #fff);
  border: 1px solid rgba(54, 169, 0, 0.16);
  border-radius: 24px;
  padding: 28px;
}

.migration-list-card h3 {
  font-size: 18px;
  margin-bottom: 18px;
  color: #061a33;
}

.migration-checks {
  list-style: none;
  padding: 0;
  margin: 0;
}

.migration-checks li {
  position: relative;
  padding-left: 34px;
  margin-bottom: 13px;
  color: #4f5f70;
  line-height: 1.65;
}

.migration-checks li:before {
  content: "✓";
  position: absolute;
  left: 0;
  top: 1px;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: #eaffdb;
  color: #279200;
  display: grid;
  place-items: center;
  font-weight: 900;
  font-size: 13px;
}

.two-col-list {
  columns: 2;
  column-gap: 34px;
}

.two-col-list li {
  break-inside: avoid;
}

.migration-visual-panel {
  position: relative;
}

.migration-visual-panel img {
  width: 100%;
  height: 600px;
  object-fit: cover;
  border-radius: 28px;
  box-shadow: 0 24px 65px rgba(6, 26, 51, 0.11);
}

.migration-stat {
  position: absolute;
  left: -28px;
  bottom: 34px;
  background: linear-gradient(135deg, #36a900, #1f8d35);
  color: #fff;
  border-radius: 22px;
  padding: 22px 24px;
  max-width: 235px;
  box-shadow: 0 22px 52px rgba(54, 169, 0, 0.24);
}

.migration-stat b {
  display: block;
  font-size: 44px;
  line-height: 1;
}

.migration-stat span {
  display: block;
  font-size: 13.5px;
  line-height: 1.45;
  color: rgba(255, 255, 255, 0.88);
}

.migration-us-section {
  background: #fff;
  border-top: 1px solid rgba(6, 26, 51, 0.05);
  border-bottom: 1px solid rgba(6, 26, 51, 0.05);
}

.migration-trust-section {
  background: #fbfaf7;
}

.migration-proven-section {
  background: #071a31;
  color: #fff;
  position: relative;
  overflow: hidden;
}

.migration-proven-section:before {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at 80% 0%,
      rgba(54, 169, 0, 0.2),
      transparent 36%);
  pointer-events: none;
}

.migration-proven-card {
  position: relative;
  display: grid;
  grid-template-columns: 0.9fr 1.1fr;
  gap: 54px;
  align-items: center;
}

.migration-proven-card img {
  width: 100%;
  height: 430px;
  object-fit: cover;
  border-radius: 28px;
  box-shadow: 0 24px 65px rgba(0, 0, 0, 0.26);
}

.migration-proven-card h2 {
  color: #fff;
  font-size: clamp(32px, 3.5vw, 50px);
  line-height: 1.1;
  letter-spacing: -0.04em;
}

.migration-proven-card p {
  color: rgba(255, 255, 255, 0.76);
  line-height: 1.78;
}

.migration-proven-card .migration-checks li {
  color: rgba(255, 255, 255, 0.84);
}

.migration-proven-card .badge {
  background: rgba(255, 255, 255, 0.1);
  color: #d6ffbb;
  border-color: rgba(255, 255, 255, 0.12);
}

.migration-process-section {
  background: linear-gradient(180deg, #fff, #fbfaf7);
}

.migration-section-head {
  max-width: 760px;
  margin: 0 auto 46px;
}

.migration-section-head.center {
  text-align: center;
}

.migration-section-head p {
  font-size: 16px;
  line-height: 1.75;
  color: #5a6876;
  margin: 0 auto;
  max-width: 650px;
}

.migration-process-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 22px;
}

.migration-step-card {
  position: relative;
  background: #fff;
  border: 1px solid rgba(6, 26, 51, 0.08);
  border-radius: 26px;
  padding: 34px 30px;
  box-shadow: 0 18px 50px rgba(6, 26, 51, 0.055);
  overflow: hidden;
  transition: 0.24s ease;
}

.migration-step-card:hover {
  transform: translateY(-5px);
  border-color: rgba(54, 169, 0, 0.24);
  box-shadow: 0 24px 70px rgba(6, 26, 51, 0.09);
}

.migration-step-card>span {
  position: absolute;
  right: 22px;
  top: 18px;
  font-size: 62px;
  font-weight: 900;
  color: rgba(6, 26, 51, 0.1);
  line-height: 1;
}

.migration-step-card img {
  width: 68px;
  height: 68px;
  object-fit: contain;
  border-radius: 20px;
  background: #efffe4;
  padding: 10px;
  margin-bottom: 24px;
}

.migration-step-card h3 {
  font-size: 21px;
  line-height: 1.25;
  margin-bottom: 14px;
  color: #061a33;
}

.migration-step-card p,
.migration-step-card li {
  font-size: 14.5px;
  line-height: 1.72;
  color: #596777;
}

.migration-step-card b {
  display: block;
  font-size: 14px;
  color: #061a33;
  margin: 14px 0 8px;
}

.migration-step-card ul {
  margin: 0;
  padding-left: 18px;
}

.migration-faq-section {
  background: #fbfaf7;
  padding-top: 80px;
}

.migration-faq-layout {
  display: grid;
  grid-template-columns: 0.85fr 1.15fr;
  gap: 54px;
  align-items: start;
}

.migration-faq-intro {
  position: sticky;
  top: 110px;
  background: linear-gradient(145deg, #061a33, #0b2e52);
  color: #fff;
  border-radius: 28px;
  padding: 40px;
  box-shadow: 0 24px 70px rgba(6, 26, 51, 0.12);
  overflow: hidden;
}

.migration-faq-intro:before {
  content: "";
  position: absolute;
  right: -70px;
  top: -80px;
  width: 220px;
  height: 220px;
  border-radius: 50%;
  background: rgba(54, 169, 0, 0.32);
}

.migration-faq-intro .badge {
  background: rgba(255, 255, 255, 0.1);
  color: #d6ffbb;
  border-color: rgba(255, 255, 255, 0.12);
}

.migration-faq-intro h2 {
  position: relative;
  color: #fff;
  font-size: clamp(32px, 3.3vw, 48px);
  line-height: 1.08;
  letter-spacing: -0.04em;
  margin: 14px 0 18px;
}

.migration-faq-intro p {
  position: relative;
  color: rgba(255, 255, 255, 0.75);
  line-height: 1.75;
  margin-bottom: 24px;
}

.migration-faq-intro .btn {
  position: relative;
}

.migration-faq {
  max-width: none;
  margin: 0;
}

.migration-faq .faq-item {
  background: #fff;
  border: 1px solid rgba(6, 26, 51, 0.08);
  border-radius: 18px;
  margin-bottom: 14px;
  padding: 0 22px;
  box-shadow: 0 16px 42px rgba(6, 26, 51, 0.055);
  transition: 0.22s ease;
}

.migration-faq .faq-item:hover {
  border-color: rgba(54, 169, 0, 0.22);
  transform: translateY(-2px);
}

.migration-faq .faq-item.open {
  background: linear-gradient(135deg, #fff, #f5ffee);
  border-color: rgba(54, 169, 0, 0.28);
}

.migration-faq .faq-q {
  padding: 21px 0;
  font-size: 16px;
  font-weight: 700;
  color: #061a33;
}

.migration-faq .faq-q b {
  width: 34px;
  height: 34px;
  border-radius: 50%;
  background: #efffe4;
  color: #239a00;
  display: grid;
  place-items: center;
  flex: 0 0 34px;
}

.migration-faq .faq-a {
  padding: 0 46px 22px 0;
  color: #5a6876;
  line-height: 1.75;
  font-size: 15px;
}

.migration-cta-wrap {
  padding: 50px 0 0;
}

@media (max-width: 1100px) {

  .migration-hero-grid,
  .migration-two-col,
  .migration-support-grid,
  .migration-proven-card,
  .migration-faq-layout {
    grid-template-columns: 1fr;
  }

  .migration-hero-copy {
    padding: 24px;
  }

  .migration-hero-media {
    min-height: 360px;
  }

  .migration-photo.tall,
  .migration-visual-panel img {
    height: 420px;
  }

  .migration-process-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .migration-faq-intro {
    position: relative;
    top: auto;
  }

  .image-note,
  .migration-stat {
    position: static;
    margin: 16px 0 0;
  }

  .two-col-list {
    columns: 1;
  }
}

@media (max-width: 760px) {
  .migration-section {
    padding: 58px 0;
  }

  .migration-hero {
    padding: 18px 0 48px;
  }

  .migration-hero-grid {
    padding: 16px;
    border-radius: 22px;
    min-height: auto;
  }

  .migration-hero-copy h1 {
    font-size: 40px;
  }

  .migration-hero-copy p {
    font-size: 16px;
  }

  .migration-hero-media {
    min-height: 280px;
  }

  .migration-hero-card {
    position: static;
    margin: 14px 0 0;
    display: block;
  }

  .migration-two-col,
  .migration-support-grid {
    gap: 34px;
  }

  .migration-copy-card {
    padding: 28px;
  }

  .migration-copy-card h2,
  .migration-copy h2,
  .migration-section-head h2 {
    font-size: 34px;
  }

  .migration-photo,
  .migration-photo.tall,
  .migration-visual-panel img,
  .migration-proven-card img {
    height: 300px;
  }

  .migration-process-grid {
    grid-template-columns: 1fr;
  }

  .migration-step-card {
    padding: 28px;
  }

  .migration-faq-intro {
    padding: 30px;
  }

  .migration-faq .faq-a {
    padding-right: 0;
  }
}

/* ================= QuickBooks Data Recovery Page V2 ================= */
.recovery-page {
  overflow-x: hidden;
  background: #fbfaf7;
  color: #061a33;
}

.recovery-page * {
  box-sizing: border-box;
}

.recovery-page .container {
  max-width: 1180px;
}

.green,
.recovery-page .serif {
  color: #2f9f07;
}

.recovery-hero {
  padding: 26px 0 70px;
  background: linear-gradient(180deg, #fbfaf7 0%, #fff 100%);
}

.recovery-hero-grid {
  display: grid;
  grid-template-columns: 0.92fr 1.08fr;
  gap: 30px;
  align-items: stretch;
  min-height: 510px;
  background: linear-gradient(135deg, #eee8d8, #f5ffec);
  border: 1px solid rgba(6, 26, 51, 0.06);
  border-radius: 30px;
  overflow: hidden;
  padding: 24px;
  box-shadow: 0 24px 70px rgba(6, 26, 51, 0.07);
  position: relative;
}

.recovery-hero-grid:before {
  content: "";
  position: absolute;
  left: -110px;
  bottom: -120px;
  width: 300px;
  height: 300px;
  border-radius: 50%;
  background: rgba(54, 169, 0, 0.11);
}

.recovery-hero-copy {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 40px 14px 40px 12px;
}

.recovery-hero-copy .crumb {
  font-size: 11px;
  font-weight: 850;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #279200;
  margin-bottom: 16px;
}

.recovery-hero-copy .crumb span {
  color: #84909b;
  margin: 0 8px;
}

.recovery-hero-copy h1 {
  font-size: clamp(42px, 5vw, 70px);
  line-height: 1.02;
  letter-spacing: -0.055em;
  font-weight: 730;
  margin: 14px 0 18px;
  color: #061a33;
  max-width: 660px;
}

.recovery-hero-copy p {
  font-size: 18px;
  line-height: 1.72;
  color: #516071;
  max-width: 560px;
  margin: 0 0 28px;
}

.hero-actions {
  display: flex;
  gap: 18px;
  align-items: center;
  flex-wrap: wrap;
}

.link-arrow {
  font-weight: 700;
  color: #168600;
  text-decoration: none;
}

.link-arrow:after {
  content: " →";
}

.recovery-hero-media {
  position: relative;
  min-height: 445px;
  border-radius: 26px;
  overflow: hidden;
  box-shadow: 0 26px 65px rgba(6, 26, 51, 0.13);
}

.recovery-hero-media img {
  width: 100%;
  height: 100%;
  object-fit: fill;
  display: block;
  transition: 0.45s ease;
}

.recovery-hero-grid:hover .recovery-hero-media img {
  transform: scale(1.035);
}

.hero-mini-card {
  position: absolute;
  left: 24px;
  right: 24px;
  bottom: 24px;
  background: rgba(255, 255, 255, 0.9);
  backdrop-filter: blur(12px);
  border: 1px solid rgba(255, 255, 255, 0.78);
  border-radius: 19px;
  padding: 18px 20px;
  box-shadow: 0 18px 45px rgba(6, 26, 51, 0.16);
}

.hero-mini-card b {
  display: block;
  color: #061a33;
  font-size: 18px;
}

.hero-mini-card span {
  display: block;
  color: #526171;
  font-size: 13px;
  margin-top: 4px;
}

.recovery-section {
  padding: 88px 0;
}

.recovery-light {
  background: linear-gradient(180deg, #fff, #f5ffec);
}

.recovery-dark {
  background: #071a31;
  color: #fff;
  position: relative;
  overflow: hidden;
}

.recovery-dark:before {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at 80% 0%,
      rgba(54, 169, 0, 0.2),
      transparent 38%);
  pointer-events: none;
}

.recovery-dark .container {
  position: relative;
}

.recovery-dark h2 {
  color: #fff;
}

.recovery-dark p {
  color: rgba(255, 255, 255, 0.78);
}

.recovery-split {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 68px;
  align-items: center;
}

.recovery-split.reverse {
  grid-template-columns: 1fr 1fr;
}

.recovery-photo {
  width: 100%;
  height: 420px;
  border-radius: 26px;
  object-fit: cover;
  display: block;
  box-shadow: 0 22px 58px rgba(6, 26, 51, 0.1);
}

.recovery-photo.tall {
  height: 560px;
}

.recovery-image-stack {
  position: relative;
}

.recovery-note {
  position: absolute;
  right: -24px;
  bottom: 26px;
  width: 270px;
  background: #fff;
  border: 1px solid rgba(6, 26, 51, 0.08);
  border-radius: 20px;
  padding: 20px;
  box-shadow: 0 20px 48px rgba(6, 26, 51, 0.13);
}

.recovery-note strong {
  display: block;
  color: #061a33;
  margin-bottom: 5px;
}

.recovery-note span {
  display: block;
  color: #5b6876;
  font-size: 13px;
  line-height: 1.5;
}

.recovery-copy-card {
  background: #fff;
  border: 1px solid rgba(6, 26, 51, 0.08);
  border-radius: 30px;
  padding: 44px;
  box-shadow: 0 24px 70px rgba(6, 26, 51, 0.06);
}

.recovery-copy h2,
.recovery-copy-card h2,
.recovery-section-head h2 {
  font-size: clamp(34px, 3.7vw, 52px);
  line-height: 1.08;
  letter-spacing: -0.045em;
  font-weight: 710;
  margin: 12px 0 22px;
  color: #061a33;
}

.recovery-copy p,
.recovery-copy-card p,
.recovery-section-head p {
  font-size: 16px;
  line-height: 1.84;
  color: #566273;
  margin-bottom: 16px;
}

.recovery-copy h3 {
  font-size: 17px;
  margin: 20px 0 14px;
  color: #061a33;
}

.recovery-checks,
.recovery-sign-list {
  list-style: none;
  padding: 0;
  margin: 0;
}

.recovery-checks.two-col {
  columns: 2;
  column-gap: 28px;
}

.recovery-checks li,
.recovery-sign-list li {
  position: relative;
  padding-left: 34px;
  margin-bottom: 13px;
  color: #4f5f70;
  line-height: 1.67;
  break-inside: avoid;
}

.recovery-checks li:before,
.recovery-sign-list li:before {
  content: "✓";
  position: absolute;
  left: 0;
  top: 1px;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: #eaffdb;
  color: #279200;
  display: grid;
  place-items: center;
  font-weight: 900;
  font-size: 13px;
}

.recovery-sign-list b {
  color: #061a33;
}

.recovery-section-head {
  max-width: 780px;
  margin: 0 auto 38px;
  text-align: center;
}

.recovery-section-head.center {
  text-align: center;
}

.recovery-recover-grid {
  display: grid;
  grid-template-columns: 0.88fr 1.12fr;
  gap: 28px;
  align-items: start;
}

.recover-list-card,
.recovery-table-card {
  background: #fff;
  border: 1px solid rgba(6, 26, 51, 0.08);
  border-radius: 26px;
  box-shadow: 0 20px 60px rgba(6, 26, 51, 0.055);
}

.recover-list-card {
  padding: 34px;
}

.recovery-table-card {
  overflow: hidden;
}

.recovery-table-card table {
  width: 100%;
  border-collapse: collapse;
  background: #fff;
}

.recovery-table-card th {
  text-align: left;
  font-size: 12px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #23a000;
  background: #f7fff1;
  padding: 18px 22px;
  border-bottom: 1px solid rgba(6, 26, 51, 0.08);
}

.recovery-table-card td {
  padding: 18px 22px;
  border-bottom: 1px solid rgba(6, 26, 51, 0.06);
  font-size: 14px;
  color: #586675;
  vertical-align: middle;
}

.recovery-table-card td:first-child {
  font-weight: 700;
  color: #061a33;
}

.recovery-table-card td span {
  display: inline-block;
  background: #f1ffea;
  border: 1px solid rgba(54, 169, 0, 0.2);
  color: #229000;
  border-radius: 999px;
  padding: 7px 11px;
  font-weight: 700;
  font-size: 12px;
  white-space: nowrap;
}

.table-foot {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  padding: 22px;
  background: #fbfff8;
}

.table-foot em {
  color: #6b7682;
  font-size: 13px;
  line-height: 1.5;
}

.testimonial-section {
  background: #fbfaf7;
}

.recovery-testimonials {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 26px;
}

.recovery-testimonials article {
  background: #fff;
  border: 1px solid rgba(6, 26, 51, 0.08);
  border-radius: 24px;
  padding: 34px;
  box-shadow: 0 18px 50px rgba(6, 26, 51, 0.055);
  position: relative;
}

.recovery-testimonials article:before {
  content: "“";
  position: absolute;
  right: 26px;
  top: 8px;
  font-size: 82px;
  line-height: 1;
  color: rgba(54, 169, 0, 0.12);
  font-family: serif;
}

.recovery-testimonials p {
  font-size: 17px;
  line-height: 1.75;
  color: #3f4a55;
  font-style: italic;
  margin-bottom: 22px;
}

.recovery-testimonials strong {
  display: block;
  color: #061a33;
  font-size: 16px;
}

.recovery-testimonials span {
  font-size: 12px;
  color: #7b8792;
}

.recovery-faq-section {
  background: linear-gradient(180deg, #fbfaf7, #fff);
  padding-top: 78px;
}

.recovery-faq-layout {
  display: grid;
  grid-template-columns: 0.86fr 1.14fr;
  gap: 54px;
  align-items: start;
}

.recovery-faq-intro {
  position: sticky;
  top: 110px;
  background: linear-gradient(145deg, #061a33, #0b2e52);
  color: #fff;
  border-radius: 28px;
  padding: 40px;
  box-shadow: 0 24px 70px rgba(6, 26, 51, 0.12);
  overflow: hidden;
}

.recovery-faq-intro:before {
  content: "";
  position: absolute;
  right: -70px;
  top: -80px;
  width: 220px;
  height: 220px;
  border-radius: 50%;
  background: rgba(54, 169, 0, 0.32);
}

.recovery-faq-intro>* {
  position: relative;
}

.recovery-faq-intro h2 {
  color: #fff;
  font-size: clamp(32px, 3.2vw, 48px);
  line-height: 1.08;
  letter-spacing: -0.04em;
  margin: 14px 0 18px;
}

.recovery-faq-intro p {
  color: rgba(255, 255, 255, 0.75);
  line-height: 1.75;
  margin-bottom: 24px;
}

.dark-badge {
  background: rgba(255, 255, 255, 0.1) !important;
  color: #d6ffbb !important;
  border-color: rgba(255, 255, 255, 0.12) !important;
}

.recovery-faq {
  max-width: none;
  margin: 0;
}

.recovery-faq .faq-item {
  background: #fff;
  border: 1px solid rgba(6, 26, 51, 0.08);
  border-radius: 18px;
  margin-bottom: 14px;
  padding: 0 22px;
  box-shadow: 0 16px 42px rgba(6, 26, 51, 0.055);
  transition: 0.22s ease;
}

.recovery-faq .faq-item:hover {
  border-color: rgba(54, 169, 0, 0.22);
  transform: translateY(-2px);
}

.recovery-faq .faq-item.open {
  background: linear-gradient(135deg, #fff, #f5ffee);
  border-color: rgba(54, 169, 0, 0.28);
}

.recovery-faq .faq-q {
  padding: 21px 0;
  font-size: 16px;
  font-weight: 700;
  color: #061a33;
}

.recovery-faq .faq-q b {
  width: 34px;
  height: 34px;
  border-radius: 50%;
  background: #efffe4;
  color: #239a00;
  display: grid;
  place-items: center;
  flex: 0 0 34px;
}

.recovery-faq .faq-a {
  padding: 0 46px 22px 0;
  color: #5a6876;
  line-height: 1.75;
  font-size: 15px;
}

.recovery-faq .faq-a p,
.recovery-faq .faq-a li {
  font-size: 15px;
  line-height: 1.75;
  color: #5a6876;
}

.recovery-faq code {
  background: #f0f4f2;
  border-radius: 5px;
  padding: 2px 5px;
}

.recovery-cta-wrap {
  padding: 52px 0 0;
}

@media (max-width: 1100px) {

  .recovery-hero-grid,
  .recovery-split,
  .recovery-recover-grid,
  .recovery-faq-layout {
    grid-template-columns: 1fr;
  }

  .recovery-hero-copy {
    padding: 26px;
  }

  .recovery-hero-media {
    min-height: 360px;
  }

  .recovery-photo.tall {
    height: 420px;
  }

  .recovery-note {
    position: static;
    margin: 16px 0 0;
  }

  .recovery-faq-intro {
    position: relative;
    top: auto;
  }

  .recovery-checks.two-col {
    columns: 1;
  }
}

@media (max-width: 760px) {
  .recovery-section {
    padding: 58px 0;
  }

  .recovery-hero {
    padding: 18px 0 48px;
  }

  .recovery-hero-grid {
    padding: 16px;
    border-radius: 22px;
    min-height: auto;
  }

  .recovery-hero-copy h1 {
    font-size: 40px;
  }

  .recovery-hero-copy p {
    font-size: 16px;
  }

  .recovery-hero-media {
    min-height: 280px;
  }

  .hero-mini-card {
    position: static;
    margin: 14px 0 0;
  }

  .recovery-split {
    gap: 34px;
  }

  .recovery-copy-card {
    padding: 28px;
  }

  .recovery-copy h2,
  .recovery-copy-card h2,
  .recovery-section-head h2 {
    font-size: 34px;
  }

  .recovery-photo,
  .recovery-photo.tall {
    height: 300px;
  }

  .recovery-testimonials {
    grid-template-columns: 1fr;
  }

  .recovery-faq-intro {
    padding: 30px;
  }

  .recovery-faq .faq-a {
    padding-right: 0;
  }

  .table-foot {
    display: block;
  }

  .table-foot .btn {
    margin-top: 14px;
  }

  .recovery-table-card {
    overflow-x: auto;
  }

  .recovery-table-card table {
    min-width: 680px;
  }
}

/* Data Conversion page v2 */
.conversion-page {
  overflow: hidden;
  background: #fbfaf7;
  color: #061b35;
}

.conversion-page .container {
  max-width: 1180px;
}

.conversion-page .eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 7px 12px;
  border-radius: 999px;
  background: #edffcf;
  border: 1px solid #c9efa0;
  color: #207a23;
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  margin-bottom: 16px;
}

.conversion-page h1,
.conversion-page h2 {
  letter-spacing: -0.04em;
  line-height: 1.08;
  color: #061b35;
  font-weight: 700;
}

.conversion-page h1 {
  font-size: clamp(38px, 5vw, 68px);
  max-width: 760px;
  margin: 0 0 20px;
}

.conversion-page h2 {
  font-size: clamp(30px, 3.4vw, 48px);
  margin: 0 0 22px;
}

.conversion-page h2 span,
.conversion-page h1 span {
  color: #239b13;
}

.conversion-page p {
  color: #526174;
  line-height: 1.85;
  font-size: 16px;
}

.conversion-page img {
  max-width: 100%;
  display: block;
}

.conversion-hero {
  padding: 66px 0 82px;
  background: linear-gradient(135deg, #f3eddc 0%, #fbfaf7 62%, #f0ffe0 100%);
  position: relative;
}

.conversion-hero:before {
  content: "";
  position: absolute;
  inset: auto -60px -100px auto;
  width: 320px;
  height: 320px;
  border-radius: 50%;
  background: rgba(51, 168, 18, 0.12);
  filter: blur(20px);
}

.conversion-hero-grid {
  display: grid;
  grid-template-columns: 1.05fr 0.95fr;
  gap: 54px;
  align-items: center;
  position: relative;
  z-index: 2;
}

.conversion-hero .crumb {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  color: #289314;
  margin-bottom: 18px;
  text-transform: uppercase;
}

.conversion-hero-copy>p {
  max-width: 610px;
  margin-bottom: 26px;
}

.hero-actions {
  display: flex;
  gap: 14px;
  flex-wrap: wrap;
  align-items: center;
}

.conversion-page .btn.ghost {
  background: #fff;
  color: #0b2138;
  border: 1px solid #dfe8db;
  box-shadow: none;
}

.conversion-page .btn.ghost:hover {
  background: #f4ffe8;
}

.conversion-hero-media {
  position: relative;
  border-radius: 30px;
  padding: 14px;
  background: #fff;
  box-shadow: 0 24px 70px rgba(21, 45, 31, 0.14);
  border: 1px solid rgba(32, 122, 35, 0.14);
}

.conversion-hero-media img {
  height: 350px;
  width: 100%;
  object-fit: cover;
  border-radius: 22px;
}

.conversion-mini-card {
  position: absolute;
  left: 34px;
  bottom: -80px;
  background: rgba(255, 255, 255, 0.92);
  backdrop-filter: blur(8px);
  border-radius: 18px;
  padding: 16px 18px;
  box-shadow: 0 18px 42px rgba(0, 0, 0, 0.14);
  max-width: 280px;
}

.conversion-mini-card strong {
  display: block;
  font-size: 17px;
  margin-bottom: 5px;
  color: #061b35;
}

.conversion-mini-card span {
  display: block;
  font-size: 13px;
  color: #526174;
  line-height: 1.5;
}

.conversion-section {
  padding: 88px 0;
}

.conversion-two {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 62px;
  align-items: center;
}

.conversion-two.reverse .conversion-img-wrap {
  order: 2;
}

.conversion-two.reverse .conversion-copy-card {
  order: 1;
}

.conversion-two-card {
  background: #fff;
  border-radius: 34px;
  padding: 32px;
  border: 1px solid #e6eee3;
  box-shadow: 0 18px 60px rgba(10, 28, 40, 0.06);
}

.conversion-img-wrap img {
  width: 100%;
  height: 460px;
  object-fit: cover;
  border-radius: 24px;
}

.conversion-copy-card {
  max-width: 580px;
}

.conversion-copy-card.clean {
  padding: 0;
}

.conversion-panel {
  background: linear-gradient(135deg, #fff 0%, #f6ffef 100%);
  border-radius: 34px;
  padding: 48px;
  border: 1px solid #dcefd2;
}

.soft-img img {
  height: 360px;
}

ul.conversion-check-list {
  list-style: none;
  margin: 22px 0 0;
  padding: 0;
  display: grid;
  gap: 14px;
}

ul.conversion-check-list li {
  position: relative;
  padding-left: 34px;
  color: #435166;
  line-height: 1.65;
  font-size: 15px;
}

ul.conversion-check-list li:before {
  content: "✓";
  position: absolute;
  left: 0;
  top: 2px;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: #21843a;
  color: #fff;
  font-size: 12px;
  font-weight: 900;
}

.section-head.center {
  text-align: center;
  max-width: 760px;
  margin: 0 auto 40px;
}

.section-head.center p {
  margin-left: auto;
  margin-right: auto;
  max-width: 690px;
}

.data-table-section {
  background: #fff;
}

.conversion-table-card {
  max-width: 920px;
  margin: 0 auto;
  background: #fff;
  border-radius: 24px;
  border: 1px solid #dce9d6;
  box-shadow: 0 20px 58px rgba(20, 48, 36, 0.08);
  overflow: hidden;
}

.conversion-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 15px;
}

.conversion-table th {
  background: #1d6f38;
  color: #fff;
  text-align: left;
  padding: 18px 22px;
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

.conversion-table td {
  padding: 17px 22px;
  border-bottom: 1px solid #e8eee6;
  color: #475467;
}

.conversion-table td:first-child {
  font-weight: 700;
  color: #185b2f;
  width: 34%;
}

.conversion-table tr:nth-child(even) td {
  background: #f6fbf4;
}

.table-note {
  padding: 18px 22px;
  color: #6b7787;
  font-size: 14px;
  background: #fbfff6;
}

.process-highlight {
  background: #fbfaf7;
}

.conversion-process-row {
  background: #fff;
  border-radius: 34px;
  padding: 38px;
  border: 1px solid #e6eee3;
}

.conversion-steps-list {
  list-style: none;
  padding: 0;
  margin: 22px 0 0;
  display: grid;
  gap: 14px;
}

.conversion-steps-list li {
  display: grid;
  grid-template-columns: 34px 1fr;
  gap: 14px;
  align-items: flex-start;
  color: #435166;
  line-height: 1.7;
}

.conversion-steps-list span {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: #1e7d3c;
  color: #fff;
  display: grid;
  place-items: center;
  font-weight: 700;
  font-size: 13px;
}

.testimonials-section {
  background: linear-gradient(180deg, #fbfaf7 0%, #fff 100%);
}

.conversion-testimonials {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}

.conversion-testimonials article {
  background: #fff;
  border: 1px solid #e2e8df;
  border-radius: 22px;
  padding: 30px;
  box-shadow: 0 16px 45px rgba(20, 48, 36, 0.06);
  min-height: 280px;
}

.quote-mark {
  font-size: 54px;
  color: #2ab34b;
  line-height: 0.7;
  display: block;
}

.conversion-testimonials p {
  font-style: italic;
  color: #3e4958;
}

.conversion-testimonials strong {
  display: block;
  margin-top: 18px;
  font-size: 16px;
}

.conversion-testimonials small {
  display: block;
  color: #7a8491;
  margin-top: 4px;
  line-height: 1.4;
}

.faq-modern-section {
  padding-top: 70px;
}

.faq-modern-grid {
  display: grid;
  grid-template-columns: 0.85fr 1.15fr;
  gap: 36px;
  align-items: start;
}

.faq-side-card {
  position: sticky;
  top: 110px;
  background: #08223b;
  color: #fff;
  border-radius: 28px;
  padding: 36px;
  box-shadow: 0 20px 60px rgba(8, 34, 59, 0.16);
}

.faq-side-card h2,
.faq-side-card p {
  color: #fff;
}

.faq-side-card h2 span {
  color: #a9f26c;
}

.faq-side-card .eyebrow {
  background: rgba(255, 255, 255, 0.12);
  color: #cfff9f;
  border-color: rgba(255, 255, 255, 0.2);
}

.faq-modern-list {
  display: grid;
  gap: 14px;
}

.faq-modern-list .faq-item {
  background: #fff;
  border: 1px solid #dfe8dc;
  border-radius: 18px;
  overflow: hidden;
  box-shadow: 0 10px 35px rgba(20, 48, 36, 0.04);
}

.faq-modern-list .faq-q {
  padding: 20px 22px;
  font-weight: 700;
  color: #061b35;
}

.faq-modern-list .faq-q b {
  color: #239b13;
  font-size: 20px;
}

.faq-modern-list .faq-a {
  padding: 0 22px 20px;
  color: #526174;
  line-height: 1.75;
}

.faq-modern-list .faq-item.open {
  border-color: #9ddf70;
  background: #fbfff5;
}

@media (max-width: 900px) {

  .conversion-hero-grid,
  .conversion-two,
  .faq-modern-grid {
    grid-template-columns: 1fr;
  }

  .conversion-two.reverse .conversion-img-wrap,
  .conversion-two.reverse .conversion-copy-card {
    order: unset;
  }

  .conversion-hero {
    padding: 42px 0 54px;
  }

  .conversion-hero-media img,
  .conversion-img-wrap img {
    height: 320px;
  }

  .conversion-section {
    padding: 54px 0;
  }

  .conversion-two-card,
  .conversion-panel,
  .conversion-process-row {
    padding: 22px;
  }

  .conversion-testimonials {
    grid-template-columns: 1fr;
  }

  .faq-side-card {
    position: static;
  }

  .conversion-table-card {
    overflow-x: auto;
  }

  .conversion-table {
    min-width: 720px;
  }

  .hero-actions {
    align-items: stretch;
  }

  .hero-actions .btn {
    width: 100%;
    text-align: center;
  }
}

@media (max-width: 560px) {
  .conversion-page h1 {
    font-size: 36px;
  }

  .conversion-page h2 {
    font-size: 30px;
  }

  .conversion-hero-media img,
  .conversion-img-wrap img {
    height: 260px;
  }

  .conversion-mini-card {
    position: static;
    margin-top: 14px;
  }

  .conversion-testimonials article {
    min-height: auto;
  }

  .conversion-steps-list li {
    grid-template-columns: 30px 1fr;
  }

  .conversion-section {
    padding: 46px 0;
  }
}

/* Accounting Services redesigned page */
.accounting-page {
  background: #fbfaf7;
  color: #061b35;
  overflow-x: hidden;
}

.accounting-page .container {
  max-width: 1180px;
}

.accounting-page .eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 7px 12px;
  border-radius: 999px;
  background: #edffcf;
  border: 1px solid #c9efa0;
  color: #207a23;
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  margin-bottom: 16px;
}

.accounting-page h1,
.accounting-page h2 {
  letter-spacing: -0.04em;
  line-height: 1.1;
  color: #061b35;
  font-weight: 700;
}

.accounting-page h1 {
  font-size: clamp(38px, 5vw, 68px);
  max-width: 760px;
  margin: 0 0 20px;
}

.accounting-page h2 {
  font-size: clamp(30px, 3.4vw, 48px);
  margin: 0 0 22px;
}

.accounting-page h3 {
  letter-spacing: -0.02em;
  color: #061b35;
}

.accounting-page h1 span,
.accounting-page h2 span {
  color: #239b13;
}

.accounting-page p {
  color: #526174;
  line-height: 1.85;
  font-size: 16px;
}

.accounting-page img {
  max-width: 100%;
  display: block;
}

.accounting-hero {
  padding: 66px 0 82px;
  background: linear-gradient(135deg, #f3eddc 0%, #fbfaf7 62%, #f0ffe0 100%);
  position: relative;
  overflow: hidden;
}

.accounting-hero:before {
  content: "";
  position: absolute;
  right: -70px;
  bottom: -110px;
  width: 360px;
  height: 360px;
  border-radius: 50%;
  background: rgba(51, 168, 18, 0.12);
  filter: blur(20px);
}

.accounting-hero-grid {
  display: grid;
  grid-template-columns: 1.05fr 0.95fr;
  gap: 54px;
  align-items: center;
  position: relative;
  z-index: 2;
}

.accounting-hero .crumb {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  color: #289314;
  margin-bottom: 18px;
  text-transform: uppercase;
}

.accounting-hero .crumb span {
  color: #8ba178;
  margin: 0 6px;
}

.accounting-hero-copy>p {
  max-width: 610px;
  margin-bottom: 26px;
}

.hero-actions {
  display: flex;
  gap: 14px;
  flex-wrap: wrap;
}

.accounting-page .btn.ghost {
  background: #fff;
  color: #0b2138;
  border: 1px solid #dfe8db;
  box-shadow: none;
}

.accounting-page .btn.ghost:hover {
  background: #f4ffe8;
}

.accounting-hero-media {
  position: relative;
  border-radius: 30px;
  padding: 14px;
  background: #fff;
  box-shadow: 0 24px 70px rgba(21, 45, 31, 0.14);
  border: 1px solid rgba(32, 122, 35, 0.14);
}

.accounting-hero-media img {
  height: 350px;
  width: 100%;
  object-fit: cover;
  border-radius: 22px;
}

.accounting-stats-card {
  position: absolute;
  left: 34px;
  bottom: -80px;
  background: rgba(255, 255, 255, 0.93);
  backdrop-filter: blur(8px);
  border-radius: 18px;
  padding: 16px 18px;
  box-shadow: 0 18px 42px rgba(0, 0, 0, 0.14);
  max-width: 300px;
}

.accounting-stats-card strong {
  display: block;
  font-size: 17px;
  margin-bottom: 5px;
  color: #061b35;
}

.accounting-stats-card span {
  display: block;
  font-size: 13px;
  color: #526174;
  line-height: 1.5;
}

.accounting-section {
  padding: 88px 0;
}

.accounting-two {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 62px;
  align-items: center;
}

.accounting-two.reverse .accounting-image-card {
  order: 2;
}

.accounting-two.reverse .accounting-panel {
  order: 1;
}

.accounting-image-card {
  background: #fff;
  border-radius: 34px;
  padding: 14px;
  border: 1px solid #e6eee3;
  box-shadow: 0 18px 60px rgba(10, 28, 40, 0.06);
}

.accounting-image-card img {
  width: 100%;
  height: 450px;
  object-fit: cover;
  border-radius: 24px;
}

.accounting-image-card.compact img {
  height: 380px;
}

.accounting-copy-card {
  max-width: 580px;
}

.mini-benefits {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  margin-top: 28px;
}

.mini-benefits div {
  background: #fff;
  border: 1px solid #e1eadc;
  border-radius: 18px;
  padding: 18px;
}

.mini-benefits strong {
  display: block;
  color: #061b35;
  margin-bottom: 5px;
}

.mini-benefits span {
  font-size: 13px;
  line-height: 1.55;
  color: #667085;
}

.accounting-panel {
  background: linear-gradient(135deg, #fff 0%, #f6ffef 100%);
  border-radius: 34px;
  padding: 48px;
  border: 1px solid #dcefd2;
  box-shadow: 0 18px 60px rgba(10, 28, 40, 0.05);
}

ul.accounting-checks {
  list-style: none;
  margin: 22px 0 0;
  padding: 0;
  display: grid;
  gap: 15px;
}

ul.accounting-checks li {
  position: relative;
  padding-left: 34px;
  color: #435166;
  line-height: 1.65;
  font-size: 15px;
}

ul.accounting-checks li:before {
  content: "✓";
  position: absolute;
  left: 0;
  top: 2px;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: #21843a;
  color: #fff;
  font-size: 12px;
  font-weight: 900;
}

.issue-section {
  background: #fff;
}

.issue-grid {
  display: grid;
  grid-template-columns: 0.85fr 1.15fr;
  gap: 56px;
  align-items: start;
}

.issue-cards {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
}

.issue-cards article {
  background: #fbfaf7;
  border: 1px solid #e3e9de;
  border-radius: 24px;
  padding: 28px;
  min-height: 170px;
  transition: 0.25s ease;
}

.issue-cards article:hover {
  transform: translateY(-4px);
  box-shadow: 0 18px 50px rgba(14, 43, 31, 0.08);
  border-color: #bde8a8;
}

.issue-cards span {
  display: block;
  color: #c7ccd1;
  font-size: 42px;
  font-weight: 700;
  margin-bottom: 28px;
}

.issue-cards h3 {
  font-size: 18px;
  line-height: 1.45;
  margin: 0;
}

.accounting-process {
  background: linear-gradient(180deg, #fbfaf7 0%, #f6fff0 100%);
}

.section-head.center {
  text-align: center;
  max-width: 760px;
  margin: 0 auto 40px;
}

.section-head.center p {
  margin-left: auto;
  margin-right: auto;
  max-width: 690px;
}

.process-row {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 22px;
}

.process-row article {
  background: #fff;
  border: 1px solid #dfe9d9;
  border-radius: 26px;
  padding: 30px;
  box-shadow: 0 16px 45px rgba(20, 48, 36, 0.05);
}

.process-row article span {
  width: 38px;
  height: 38px;
  border-radius: 50%;
  background: #209542;
  color: #fff;
  display: grid;
  place-items: center;
  font-weight: 700;
  margin-bottom: 22px;
}

.process-row h3 {
  font-size: 20px;
  margin: 0 0 10px;
}

.process-row p {
  font-size: 14px;
  margin: 0;
}

.accounting-page .faq-modern-section {
  background: #fbfaf7;
}

.accounting-page .faq-modern-grid {
  display: grid;
  grid-template-columns: 0.42fr 0.58fr;
  gap: 34px;
  align-items: start;
}

.accounting-page .faq-side-card {
  position: sticky;
  top: 110px;
  background: #061b35;
  color: #fff;
  border-radius: 30px;
  padding: 38px;
  box-shadow: 0 20px 60px rgba(6, 27, 53, 0.18);
}

.accounting-page .faq-side-card h2 {
  color: #fff;
}

.accounting-page .faq-side-card p {
  color: rgba(255, 255, 255, 0.76);
}

.accounting-page .faq-side-card .eyebrow {
  background: rgba(255, 255, 255, 0.08);
  border-color: rgba(255, 255, 255, 0.18);
  color: #b8ff8e;
}

.accounting-page .faq-card-list {
  display: grid;
  gap: 14px;
}

.accounting-page .faq-card-list .faq-item {
  background: #fff;
  border: 1px solid #e2e8df;
  border-radius: 18px;
  overflow: hidden;
  box-shadow: 0 10px 30px rgba(20, 48, 36, 0.04);
}

.accounting-page .faq-card-list .faq-q {
  padding: 20px 22px;
  font-weight: 700;
}

.accounting-page .faq-card-list .faq-a {
  padding: 0 22px 20px;
  color: #526174;
  line-height: 1.75;
}

.accounting-page .faq-card-list .faq-item.open {
  border-color: #b9e7a2;
  background: #fbfff7;
}

@media (max-width: 900px) {

  .accounting-hero-grid,
  .accounting-two,
  .issue-grid,
  .accounting-page .faq-modern-grid {
    grid-template-columns: 1fr;
  }

  .accounting-two.reverse .accounting-image-card,
  .accounting-two.reverse .accounting-panel {
    order: unset;
  }

  .accounting-hero {
    padding: 42px 0 54px;
  }

  .accounting-hero-media img,
  .accounting-image-card img {
    height: 320px;
  }

  .accounting-section {
    padding: 54px 0;
  }

  .accounting-panel,
  .accounting-page .faq-side-card {
    padding: 24px;
  }

  .accounting-page .faq-side-card {
    position: static;
  }

  .process-row,
  .issue-cards {
    grid-template-columns: 1fr;
  }

  .hero-actions {
    align-items: stretch;
  }

  .hero-actions .btn {
    width: 100%;
    text-align: center;
  }

  .mini-benefits {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 560px) {
  .accounting-page h1 {
    font-size: 36px;
  }

  .accounting-page h2 {
    font-size: 30px;
  }

  .accounting-hero-media img,
  .accounting-image-card img {
    height: 260px;
  }

  .accounting-stats-card {
    position: static;
    margin-top: 14px;
  }

  .accounting-section {
    padding: 46px 0;
  }
}

/* Online Bookkeeping Services Page */
.bookkeeping-page {
  background: #fbfaf7;
  overflow-x: hidden;
}

.bookkeeping-page .site-header {
  background: rgba(251, 250, 247, 0.94);
  backdrop-filter: blur(12px);
}

.bk-hero {
  padding: 34px 0 76px;
  background: linear-gradient(180deg, #fbfaf7 0%, #f4faee 100%);
}

.bk-hero-grid {
  display: grid;
  grid-template-columns: 0.92fr 1.08fr;
  gap: 34px;
  align-items: stretch;
  background: #eee7d7;
  border: 1px solid rgba(6, 26, 51, 0.06);
  border-radius: 30px;
  overflow: hidden;
  min-height: 520px;
  box-shadow: 0 28px 80px rgba(6, 26, 51, 0.07);
}

.bk-hero-copy {
  padding: 68px 58px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.bk-hero-copy h1 {
  font-size: clamp(42px, 4.8vw, 72px);
  line-height: 1.02;
  letter-spacing: -0.055em;
  margin: 14px 0 18px;
  font-weight: 730;
  color: #061a33;
}

.bk-hero-copy h1 span,
.bk-copy-card h2 span,
.bk-panel h2 span,
.bk-problems-section h2 span,
.bk-choose-section h2 span,
.bk-process-section h2 span,
.bk-faq-section h2 span {
  color: #278c05;
  font-style: italic;
  font-family: Georgia, serif;
  font-weight: 700;
  letter-spacing: -0.035em;
}

.bk-hero-copy p {
  font-size: 18px;
  line-height: 1.78;
  color: #526070;
  max-width: 620px;
}

.bk-hero-media {
  position: relative;
  min-height: 520px;
}

.bk-hero-media img {
  width: 100%;
  height: 100%;
  object-fit: fill;
  display: block;
}

.bk-hero-card {
  position: absolute;
  left: 28px;
  bottom: 28px;
  width: 290px;
  background: #fff;
  border: 1px solid rgba(6, 26, 51, 0.08);
  border-radius: 22px;
  padding: 22px;
  box-shadow: 0 24px 70px rgba(6, 26, 51, 0.16);
}

.bk-hero-card strong {
  display: block;
  font-size: 42px;
  line-height: 1;
  color: #28a100;
}

.bk-hero-card span {
  display: block;
  margin-top: 7px;
  color: #586879;
  font-size: 14px;
  line-height: 1.55;
}

.bk-section {
  padding: 92px 0;
}

.bk-two {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 66px;
  align-items: center;
}

.bk-two.reverse .bk-image-card {
  order: 2;
}

.bk-two.reverse .bk-panel {
  order: 1;
}

.bk-image-card {
  position: relative;
}

.bk-image-card img {
  width: 100%;
  height: 430px;
  object-fit: cover;
  border-radius: 28px;
  display: block;
  box-shadow: 0 24px 70px rgba(6, 26, 51, 0.08);
}

.bk-copy-card,
.bk-panel {
  background: #fff;
  border: 1px solid rgba(6, 26, 51, 0.08);
  border-radius: 30px;
  padding: 44px;
  box-shadow: 0 24px 70px rgba(6, 26, 51, 0.055);
}

.bk-copy-card h2,
.bk-panel h2,
.bk-section .section-head h2 {
  font-size: clamp(34px, 3.6vw, 52px);
  line-height: 1.09;
  letter-spacing: -0.045em;
  font-weight: 700;
  margin: 12px 0 22px;
  color: #061a33;
}

.bk-copy-card p,
.bk-panel p,
.bk-section .section-head p {
  color: #566374;
  line-height: 1.82;
  font-size: 16px;
  margin-bottom: 16px;
}

.bk-mini-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
  margin-top: 26px;
}

.bk-mini-grid div {
  background: #f5ffec;
  border: 1px solid rgba(54, 169, 0, 0.16);
  border-radius: 18px;
  padding: 18px;
}

.bk-mini-grid strong {
  display: block;
  color: #061a33;
  margin-bottom: 5px;
}

.bk-mini-grid span {
  display: block;
  color: #5b6876;
  font-size: 13px;
  line-height: 1.5;
}

.bk-problems-section {
  background: #fff;
}

.bk-problem-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 22px;
  margin-top: 46px;
}

.bk-problem-grid article {
  position: relative;
  min-height: 260px;
  background: #fbfaf7;
  border: 1px solid rgba(6, 26, 51, 0.08);
  border-radius: 26px;
  padding: 32px;
  box-shadow: 0 18px 50px rgba(6, 26, 51, 0.045);
  transition: 0.25s ease;
  overflow: hidden;
}

.bk-problem-grid article:nth-child(4),
.bk-problem-grid article:nth-child(5) {
  grid-column: span 1;
}

.bk-problem-grid article:hover {
  transform: translateY(-6px);
  box-shadow: 0 28px 75px rgba(6, 26, 51, 0.09);
  border-color: rgba(54, 169, 0, 0.25);
}

.bk-problem-grid article:before {
  content: "";
  position: absolute;
  right: -42px;
  top: -42px;
  width: 135px;
  height: 135px;
  border-radius: 50%;
  background: rgba(54, 169, 0, 0.08);
}

.bk-problem-grid span {
  display: block;
  color: #c8cdd2;
  font-size: 50px;
  line-height: 1;
  font-weight: 820;
  letter-spacing: -0.06em;
  margin-bottom: 34px;
}

.bk-problem-grid h3 {
  font-size: 20px;
  line-height: 1.35;
  margin-bottom: 12px;
  color: #209000;
}

.bk-problem-grid p {
  font-size: 15px;
  line-height: 1.75;
  color: #4d5b69;
}

.bk-list-section {
  background: linear-gradient(180deg, #fbfaf7, #f3ffe9);
}

.bk-checks {
  list-style: none;
  padding: 0;
  margin: 22px 0 0;
}

.bk-checks li {
  position: relative;
  padding-left: 34px;
  margin-bottom: 13px;
  color: #536171;
  line-height: 1.65;
}

.bk-checks li:before {
  content: "✓";
  position: absolute;
  left: 0;
  top: 1px;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: #eaffdb;
  color: #248e00;
  display: grid;
  place-items: center;
  font-weight: 900;
  font-size: 13px;
}

.dark-card {
  background: linear-gradient(145deg, #061a33, #0c2e4f);
  color: #fff;
  overflow: hidden;
  position: relative;
}

.dark-card:before {
  content: "";
  position: absolute;
  right: -70px;
  top: -80px;
  width: 220px;
  height: 220px;
  border-radius: 50%;
  background: rgba(54, 169, 0, 0.32);
}

.dark-card>* {
  position: relative;
}

.dark-card h2 {
  color: #fff;
}

.dark-card p {
  color: rgba(255, 255, 255, 0.76);
}

.bk-checks.light li {
  color: rgba(255, 255, 255, 0.82);
}

.bk-checks.light li:before {
  background: rgba(255, 255, 255, 0.14);
  color: #baff8d;
}

.bk-core-section {
  background: linear-gradient(180deg, #061a33, #09243f);
  padding-bottom: 110px;
}

.light-head h2,
.light-head p {
  color: #fff !important;
}

.bk-core-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
  margin-top: 44px;
}

.bk-core-grid article {
  background: #fff;
  border-radius: 26px;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, 0.1);
  box-shadow: 0 22px 65px rgba(0, 0, 0, 0.14);
  display: grid;
  grid-template-columns: 230px 1fr;
  align-items: stretch;
}

.bk-core-grid img {
  width: 100%;
  height: 100%;
  min-height: 230px;
  object-fit: cover;
}

.bk-core-grid div {
  padding: 28px;
}

.bk-core-grid h3 {
  font-size: 20px;
  line-height: 1.35;
  margin-bottom: 12px;
  color: #061a33;
}

.bk-core-grid p {
  font-size: 14.5px;
  line-height: 1.78;
  color: #566374;
}

.bk-process-row {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 22px;
  margin-top: 42px;
}

.bk-process-row article {
  background: #fff;
  border: 1px solid rgba(6, 26, 51, 0.08);
  border-radius: 26px;
  padding: 34px;
  box-shadow: 0 18px 50px rgba(6, 26, 51, 0.045);
}

.bk-process-row span {
  width: 48px;
  height: 48px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: #36a900;
  color: #fff;
  font-weight: 900;
  margin-bottom: 26px;
}

.bk-process-row h3 {
  font-size: 22px;
  margin-bottom: 12px;
}

.bk-process-row p {
  color: #566374;
  line-height: 1.75;
}

.bk-faq-section {
  background: linear-gradient(180deg, #fff, #fbfaf7);
}

.bookkeeping-page .faq-modern-grid {
  display: grid;
  grid-template-columns: 0.42fr 0.58fr;
  gap: 34px;
  align-items: start;
}

.bookkeeping-page .faq-side-card {
  position: sticky;
  top: 110px;
  background: #061b35;
  color: #fff;
  border-radius: 30px;
  padding: 38px;
  box-shadow: 0 20px 60px rgba(6, 27, 53, 0.18);
}

.bookkeeping-page .faq-side-card h2 {
  color: #fff;
}

.bookkeeping-page .faq-side-card p {
  color: rgba(255, 255, 255, 0.76);
}

.bookkeeping-page .faq-side-card .eyebrow {
  background: rgba(255, 255, 255, 0.08);
  border-color: rgba(255, 255, 255, 0.18);
  color: #b8ff8e;
}

.bookkeeping-page .faq-card-list {
  display: grid;
  gap: 14px;
}

.bookkeeping-page .faq-card-list .faq-item {
  background: #fff;
  border: 1px solid #e2e8df;
  border-radius: 18px;
  overflow: hidden;
  box-shadow: 0 10px 30px rgba(20, 48, 36, 0.04);
}

.bookkeeping-page .faq-card-list .faq-q {
  padding: 20px 22px;
  font-weight: 700;
}

.bookkeeping-page .faq-card-list .faq-a {
  padding: 0 22px 20px;
  color: #526174;
  line-height: 1.75;
}

.bookkeeping-page .faq-card-list .faq-item.open {
  border-color: #b9e7a2;
  background: #fbfff7;
}

@media (max-width: 1100px) {

  .bk-hero-grid,
  .bk-two,
  .bookkeeping-page .faq-modern-grid {
    grid-template-columns: 1fr;
  }

  .bk-two.reverse .bk-image-card,
  .bk-two.reverse .bk-panel {
    order: unset;
  }

  .bk-hero-media {
    min-height: 360px;
  }

  .bk-problem-grid {
    grid-template-columns: 1fr 1fr;
  }

  .bk-core-grid {
    grid-template-columns: 1fr;
  }

  .bookkeeping-page .faq-side-card {
    position: relative;
    top: auto;
  }
}

@media (max-width: 760px) {
  .bk-section {
    padding: 58px 0;
  }

  .bk-hero {
    padding: 18px 0 52px;
  }

  .bk-hero-grid {
    min-height: auto;
    border-radius: 22px;
  }

  .bk-hero-copy {
    padding: 34px 24px;
  }

  .bk-hero-copy h1 {
    font-size: 40px;
  }
  
.bk-hero-copy .crumbsss {
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: #279200;
    margin-bottom: 18px;
}

  .bk-hero-media {
    min-height: 280px;
  }

  .bk-hero-card {
    position: static;
    width: auto;
    margin: 14px;
  }

  .bk-image-card img {
    height: 300px;
    border-radius: 22px;
  }

  .bk-copy-card,
  .bk-panel,
  .bookkeeping-page .faq-side-card {
    padding: 26px;
    border-radius: 22px;
  }

  .bk-mini-grid,
  .bk-problem-grid,
  .bk-process-row {
    grid-template-columns: 1fr;
  }

  .bk-core-grid article {
    grid-template-columns: 1fr;
  }

  .bk-core-grid img {
    height: 220px;
  }

  .bookkeeping-page .faq-card-list .faq-q {
    font-size: 15px;
  }

  .hero-actions {
    align-items: stretch;
  }

  .hero-actions .btn {
    width: 100%;
    text-align: center;
  }
}

/* Blog Page Premium Redesign */
.blog-page {
  background: #fbfaf7;
  overflow-x: hidden;
}

.blog-page .site-header {
  background: rgba(251, 250, 247, 0.95);
  backdrop-filter: blur(12px);
}

.blog-page .nav a.active {
  color: #279600;
}

.blog-hero {
  padding: 34px 0 76px;
  background: linear-gradient(180deg, #fbfaf7 0%, #f4faee 100%);
}

.blog-hero-grid {
  display: grid;
  grid-template-columns: 0.95fr 1.05fr;
  align-items: stretch;
  gap: 34px;
  background: #eee7d7;
  border: 1px solid rgba(6, 26, 51, 0.06);
  border-radius: 30px;
  overflow: hidden;
  min-height: 520px;
  box-shadow: 0 28px 80px rgba(6, 26, 51, 0.07);
}

.blog-hero-copy {
  padding: 68px 58px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.blog-eyebrow {
  display: inline-flex;
  width: max-content;
  align-items: center;
  gap: 8px;
  padding: 8px 14px;
  border-radius: 999px;
  background: #efffe2;
  border: 1px solid #c9f2b4;
  color: #239200;
  text-transform: uppercase;
  font-size: 12px;
  font-weight: 850;
  letter-spacing: 0.09em;
}

.blog-hero-copy .crumb {
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.08em;
  color: #278c05;
  text-transform: uppercase;
  margin-bottom: 14px;
}

.blog-hero-copy h1 {
  font-size: clamp(44px, 4.8vw, 76px);
  line-height: 1.02;
  letter-spacing: -0.058em;
  margin: 14px 0 18px;
  color: #061a33;
  font-weight: 720;
}

.blog-hero-copy h1 span,
.blog-head h2 span {
  font-family: Georgia, serif;
  font-style: italic;
  color: #278c05;
  font-weight: 700;
  letter-spacing: -0.035em;
}

.blog-hero-copy p {
  font-size: 18px;
  line-height: 1.78;
  color: #536273;
  max-width: 630px;
  margin: 0;
}

.blog-hero-media {
  position: relative;
  min-height: 520px;
}

.blog-hero-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.blog-hero-media:after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg,
      rgba(6, 26, 51, 0.04),
      rgba(54, 169, 0, 0.12));
  pointer-events: none;
}

.blog-hero-note {
  position: absolute;
  left: 28px;
  bottom: 28px;
  width: min(330px, calc(100% - 56px));
  background: #fff;
  border: 1px solid rgba(6, 26, 51, 0.08);
  border-radius: 22px;
  padding: 22px;
  box-shadow: 0 24px 70px rgba(6, 26, 51, 0.16);
  z-index: 1;
}

.blog-hero-note b {
  display: block;
  color: #061a33;
  font-size: 18px;
  margin-bottom: 6px;
}

.blog-hero-note span {
  display: block;
  color: #5d6876;
  font-size: 14px;
  line-height: 1.55;
}

.blog-list-section {
  padding: 88px 0 70px;
  background: #fbfaf7;
}

.blog-head {
  text-align: center;
  margin: 0 auto 44px;
  max-width: 820px;
}

.blog-head h2 {
  font-size: clamp(34px, 3.6vw, 54px);
  line-height: 1.08;
  letter-spacing: -0.045em;
  margin: 14px 0 14px;
  color: #061a33;
  font-weight: 700;
}

.blog-head p {
  color: #5d6876;
  font-size: 16px;
  line-height: 1.7;
  margin: 0;
}

.blog-grid-modern {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 26px;
  align-items: stretch;
}

.blog-card-modern {
  background: #fff;
  border: 1px solid rgba(6, 26, 51, 0.08);
  border-radius: 28px;
  overflow: hidden;
  box-shadow: 0 18px 55px rgba(6, 26, 51, 0.055);
  transition:
    transform 0.25s ease,
    box-shadow 0.25s ease,
    border-color 0.25s ease;
  display: flex;
  flex-direction: column;
  min-height: 100%;
}

.blog-card-modern:hover {
  transform: translateY(-7px);
  box-shadow: 0 30px 80px rgba(6, 26, 51, 0.11);
  border-color: rgba(54, 169, 0, 0.23);
}

.blog-card-modern.featured-blog {
  grid-column: span 1;
}

.blog-image {
  display: block;
  height: 235px;
  overflow: hidden;
  background: #eef5e9;
}

.blog-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.45s ease;
}

.blog-card-modern:hover .blog-image img {
  transform: scale(1.06);
}

.blog-card-body {
  padding: 28px 28px 30px;
  display: flex;
  flex-direction: column;
  flex: 1;
}

.blog-meta {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
  margin-bottom: 15px;
  color: #5c6875;
  font-size: 13px;
  font-weight: 650;
}

.blog-meta span {
  position: relative;
}

.blog-meta span+span:before {
  content: "";
  display: inline-block;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: #36a900;
  margin-right: 12px;
  vertical-align: middle;
}

.blog-card-body h3 {
  font-size: clamp(21px, 1.8vw, 28px);
  line-height: 1.22;
  margin: 0 0 16px;
  color: #061a33;
  letter-spacing: -0.025em;
  font-weight: 760;
}

.blog-card-body h3 a {
  color: inherit;
  text-decoration: none;
}

.blog-card-body p {
  color: #526273;
  line-height: 1.75;
  font-size: 15.5px;
  margin: 0 0 24px;
}

.blog-read {
  margin-top: auto;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  width: max-content;
  background: #efffe2;
  border: 1px solid #caeebc;
  color: #197c00;
  text-decoration: none;
  font-weight: 850;
  border-radius: 999px;
  padding: 12px 18px;
  transition: 0.22s ease;
}

.blog-read:hover {
  background: #36a900;
  color: #fff;
  border-color: #36a900;
}

.blog-read span {
  font-size: 17px;
  line-height: 1;
}

.blog-load-wrap {
  text-align: center;
  margin-top: 42px;
}

.blog-load {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 220px;
  padding: 16px 28px;
  border-radius: 18px;
  background: #fff;
  border: 1px solid rgba(6, 26, 51, 0.09);
  color: #061a33;
  text-decoration: none;
  font-weight: 700;
  box-shadow: 0 14px 40px rgba(6, 26, 51, 0.055);
  transition: 0.22s ease;
}

.blog-load:hover {
  background: #36a900;
  color: #fff;
  transform: translateY(-2px);
  box-shadow: 0 20px 50px rgba(54, 169, 0, 0.18);
}

.blog-page .cta {
  margin-top: 40px;
}

@media (max-width: 1100px) {
  .blog-hero-grid {
    grid-template-columns: 1fr;
  }

  .blog-hero-media {
    min-height: 380px;
  }

  .blog-grid-modern {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 760px) {
  .blog-hero {
    padding: 18px 0 52px;
  }

  .blog-hero-grid {
    border-radius: 22px;
    min-height: auto;
  }

  .blog-hero-copy {
    padding: 34px 24px;
  }

  .blog-hero-copy h1 {
    font-size: 40px;
  }

  .blog-hero-copy p {
    font-size: 16px;
  }

  .blog-hero-media {
    min-height: 290px;
  }

  .blog-hero-note {
    position: static;
    width: auto;
    margin: 14px;
  }

  .blog-list-section {
    padding: 58px 0;
  }

  .blog-grid-modern {
    grid-template-columns: 1fr;
  }

  .blog-image {
    height: 220px;
  }

  .blog-card-body {
    padding: 24px;
  }

  .blog-card-body h3 {
    font-size: 22px;
  }

  .blog-head h2 {
    font-size: 32px;
  }
}

/* =========================================================
   GLOBAL HEADER + QUOTE POPUP POLISH V3
   Added after page styles so it overrides older page-specific rules
========================================================= */
html,
body {
  max-width: 100%;
  overflow-x: hidden !important;
}

body {
  padding-top: 0 !important;
}

.site-header {
  height: 84px !important;
  background: rgba(255, 255, 255, 0.94) !important;
  backdrop-filter: blur(18px) !important;
  -webkit-backdrop-filter: blur(18px) !important;
  border-bottom: 1px solid rgba(6, 26, 51, 0.08) !important;
  box-shadow: 0 10px 34px rgba(6, 26, 51, 0.055) !important;
  position: fixed !important;
  top: 0 !important;
  z-index: 9999 !important;
}

.site-header .container,
.site-header .navwrap {
  width: min(1180px, calc(100% - 42px)) !important;
  margin-inline: auto !important;
}

.site-header .navwrap {
  height: 84px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 28px !important;
}

.site-header .logo {
  display: flex !important;
  align-items: center !important;
  flex: 0 0 auto !important;
  text-decoration: none !important;
}

.site-header .logo img {
  width: 190px !important;
  max-height: 58px !important;
  object-fit: contain !important;
  display: block !important;
}

.site-header .nav {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 6px !important;
  flex: 1 1 auto !important;
  min-width: 0 !important;
}

.site-header .nav>a,
.site-header .menu-item>a {
  color: #061a33 !important;
  font-family: "Inter", "DM Sans", Arial, sans-serif !important;
  font-size: 14px !important;
  line-height: 1 !important;
  font-weight: 650 !important;
  letter-spacing: -0.01em !important;
  padding: 13px 14px !important;
  border-radius: 999px !important;
  transition:
    background 0.22s ease,
    color 0.22s ease,
    transform 0.22s ease !important;
  white-space: nowrap !important;
}

.site-header .nav>a:after,
.site-header .menu-item>a:after {
  display: none !important;
}

.site-header .nav>a:hover,
.site-header .menu-item>a:hover,
.site-header .nav a.active {
  background: #eefbe6 !important;
  color: #238b08 !important;
  transform: translateY(-1px) !important;
}

.site-header .menu-item {
  position: relative !important;
  padding: 0 !important;
}

.site-header .dropdown,
.site-header .submenu {
  background: #fff !important;
  border: 1px solid rgba(6, 26, 51, 0.09) !important;
  border-radius: 18px !important;
  box-shadow: 0 22px 60px rgba(6, 26, 51, 0.13) !important;
  padding: 10px !important;
}

.site-header .dropdown {
  top: calc(100% + 12px) !important;
  min-width: 290px !important;
}

.site-header .submenu {
  left: calc(100% + 10px) !important;
  top: 0 !important;
  min-width: 280px !important;
}

.site-header .dropdown a,
.site-header .submenu a {
  font-family: "Inter", "DM Sans", Arial, sans-serif !important;
  font-size: 13.5px !important;
  font-weight: 600 !important;
  line-height: 1.25 !important;
  color: #20334a !important;
  padding: 12px 14px !important;
  border-radius: 12px !important;
  display: block !important;
}

.site-header .dropdown a:hover,
.site-header .submenu a:hover,
.site-header .dropdown a.active {
  background: #f1ffe8 !important;
  color: #248b08 !important;
}

.site-header .quote-btn {
  flex: 0 0 auto !important;
  min-width: auto !important;
  margin-left: 0 !important;
  padding: 13px 24px !important;
  border-radius: 999px !important;
  background: linear-gradient(135deg, #36a900, #178b36) !important;
  color: #fff !important;
  font-family: "Inter", "DM Sans", Arial, sans-serif !important;
  font-size: 14px !important;
  font-weight: 750 !important;
  letter-spacing: -0.01em !important;
  box-shadow: 0 12px 28px rgba(36, 139, 8, 0.25) !important;
  border: 0 !important;
}

.site-header .quote-btn:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 18px 38px rgba(36, 139, 8, 0.32) !important;
}

.mobile-toggle {
  width: 46px !important;
  height: 46px !important;
  border-radius: 14px !important;
  border: 1px solid rgba(6, 26, 51, 0.1) !important;
  background: #f5fbf1 !important;
  color: #061a33 !important;
  box-shadow: 0 10px 24px rgba(6, 26, 51, 0.06) !important;
  font-size: 0 !important;
  position: relative !important;
}

.mobile-toggle:before,
.mobile-toggle:after,
.mobile-toggle span {
  content: "";
  position: absolute;
  left: 13px;
  right: 13px;
  height: 2px;
  background: #061a33;
  border-radius: 2px;
  transition: 0.22s ease;
}

.mobile-toggle:before {
  top: 15px;
}

.mobile-toggle span {
  top: 22px;
}

.mobile-toggle:after {
  top: 29px;
}

.mobile-toggle.is-open:before {
  top: 22px;
  transform: rotate(45deg);
}

.mobile-toggle.is-open span {
  opacity: 0;
  transform: scaleX(0);
}

.mobile-toggle.is-open:after {
  top: 22px;
  transform: rotate(-45deg);
}

.popup-back {
  background: rgba(7, 17, 31, 0.72) !important;
  backdrop-filter: blur(10px) !important;
  -webkit-backdrop-filter: blur(10px) !important;
  padding: 24px !important;
  z-index: 20000 !important;
}

.popup {
  width: min(1040px, calc(100vw - 42px)) !important;
  max-height: 88vh !important;
  display: grid !important;
  grid-template-columns: 0.92fr 1fr !important;
  border-radius: 30px !important;
  overflow: hidden !important;
  background: #fff !important;
  box-shadow: 0 34px 100px rgba(0, 0, 0, 0.32) !important;
  border: 1px solid rgba(255, 255, 255, 0.35) !important;
}

.popup-left {
  padding: 38px 50px !important;
  background:
    radial-gradient(circle at 20% 12%, rgba(84, 220, 67, 0.2), transparent 34%),
    linear-gradient(145deg, #063316 0%, #052711 48%, #031d0c 100%) !important;
  color: #fff !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
}

.popup-left h2 {
  font-family: "Inter", "DM Sans", Arial, sans-serif !important;
  font-size: clamp(34px, 3.2vw, 50px) !important;
  line-height: 1.06 !important;
  font-weight: 700 !important;
  letter-spacing: -0.055em !important;
  margin: 0 0 22px !important;
  color: #fff !important;
}

.popup-left p {
  font-size: 15.5px !important;
  line-height: 1.7 !important;
  color: rgba(255, 255, 255, 0.78) !important;
  max-width: 430px !important;
  margin: 0 0 16px !important;
}

.popup-left .checks {
  display: grid !important;
  gap: 1px !important;
  margin: 1px 0 0 !important;
  padding: 0 !important;
}

.popup-left .checks li {
  color: #fff !important;
  font-size: 14px !important;
  line-height: 1.0 !important;
  font-weight: 500 !important;
  padding-left: 34px !important;
  position: relative !important;
  list-style: none !important;
}

.popup-left .checks li:before {
  content: "✓" !important;
  position: absolute !important;
  left: 0 !important;
  top: -2px !important;
  width: 22px !important;
  height: 22px !important;
  border-radius: 50% !important;
  background: #3aae22 !important;
  color: #fff !important;
  display: grid !important;
  place-items: center !important;
  font-size: 13px !important;
  font-weight: 700 !important;
}

.popup-left h3 {
  font-size: 22px !important;
  font-weight: 700 !important;
  margin-top: 28px !important;
  color: #dfffc8 !important;
  letter-spacing: -0.02em !important;
}

.popup-right {
  padding: 38px !important;
  background: linear-gradient(180deg, #fff, #fbfdf9) !important;
  overflow: auto !important;
}

.popup-right>.serif,
.popup-right>span:first-child {
  display: inline-flex !important;
  align-items: center !important;
  background: #efffe5 !important;
  color: #197c06 !important;
  border: 1px solid #c8f5b4 !important;
  border-radius: 999px !important;
  padding: 9px 15px !important;
  margin-bottom: 20px !important;
  font-family: "Inter", "DM Sans", Arial, sans-serif !important;
  font-size: 12px !important;
  line-height: 1 !important;
  font-weight: 700 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
}

.popup-right h3 {
  font-family: "Inter", "DM Sans", Arial, sans-serif !important;
  font-size: clamp(27px, 2.4vw, 38px) !important;
  line-height: 1.12 !important;
  font-weight: 700 !important;
  letter-spacing: -0.045em !important;
  margin: 0 0 12px !important;
  color: #061a33 !important;
}

.popup-right p {
  font-size: 15px !important;
  line-height: 1.65 !important;
  color: #596575 !important;
  margin: 0 0 22px !important;
}

.popup .contact-form {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 12px !important;
}

.popup .contact-form input,
.popup .contact-form select,
.popup .contact-form textarea {
  min-height: 54px !important;
  border: 1px solid #dce7d7 !important;
  background: #fff !important;
  color: #061a33 !important;
  border-radius: 16px !important;
  padding: 0 17px !important;
  font-family: "Inter", "DM Sans", Arial, sans-serif !important;
  font-size: 15px !important;
  font-weight: 500 !important;
  line-height: 1.3 !important;
  box-shadow: 0 8px 18px rgba(6, 26, 51, 0.035) !important;
}

.popup .contact-form textarea {
  height: 116px !important;
  min-height: 116px !important;
  padding: 16px 17px !important;
  resize: vertical !important;
}

.popup .contact-form input::placeholder,
.popup .contact-form textarea::placeholder {
  color: #8a949f !important;
  font-weight: 500 !important;
}

.popup .contact-form input:focus,
.popup .contact-form select:focus,
.popup .contact-form textarea:focus {
  border-color: #36a900 !important;
  box-shadow:
    0 0 0 4px rgba(54, 169, 0, 0.12),
    0 12px 24px rgba(6, 26, 51, 0.05) !important;
}

.popup .contact-form .btn,
.popup .contact-form button {
  width: max-content !important;
  min-width: 230px !important;
  height: 56px !important;
  border-radius: 999px !important;
  padding: 0 24px !important;
  font-size: 14.5px !important;
  font-weight: 700 !important;
  letter-spacing: -0.01em !important;
  box-shadow: 0 14px 28px rgba(54, 169, 0, 0.28) !important;
}

.close {
  right: 20px !important;
  top: 18px !important;
  width: 44px !important;
  height: 44px !important;
  display: grid !important;
  place-items: center !important;
  border-radius: 50% !important;
  background: #fff !important;
  color: #071827 !important;
  font-family: Arial, sans-serif !important;
  font-size: 28px !important;
  line-height: 1 !important;
  font-weight: 400 !important;
  box-shadow: 0 12px 32px rgba(6, 26, 51, 0.14) !important;
  border: 1px solid rgba(6, 26, 51, 0.06) !important;
}

.close:hover {
  background: #f4fbef !important;
  transform: rotate(90deg) !important;
}

body.popup-open {
  overflow: hidden !important;
}

@media (max-width: 1100px) {

  .site-header .container,
  .site-header .navwrap {
    width: min(100% - 28px, 1060px) !important;
  }

  .site-header .logo img {
    width: 165px !important;
  }

  .site-header .nav>a,
  .site-header .menu-item>a {
    font-size: 13px !important;
    padding: 12px 10px !important;
  }

  .site-header .quote-btn {
    padding: 12px 18px !important;
    font-size: 13px !important;
  }
}

@media (max-width: 900px) {
  .site-header {
    height: 74px !important;
  }

  .site-header .navwrap {
    height: 74px !important;
    gap: 12px !important;
    justify-content: space-between !important;
  }

  .site-header .logo img {
    width: 168px !important;
  }

  .mobile-toggle {
    display: block !important;
    order: 3 !important;
  }

  .site-header .quote-btn {
    display: inline-flex !important;
    order: 2 !important;
    padding: 10px 15px !important;
    font-size: 12.5px !important;
  }

  .site-header .nav {
    display: none !important;
    position: absolute !important;
    top: 74px !important;
    left: 14px !important;
    right: 14px !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 6px !important;
    background: #fff !important;
    border: 1px solid rgba(6, 26, 51, 0.08) !important;
    border-radius: 22px !important;
    box-shadow: 0 22px 60px rgba(6, 26, 51, 0.16) !important;
    padding: 14px !important;
    max-height: calc(100vh - 92px) !important;
    overflow: auto !important;
  }

  .site-header .nav.show {
    display: flex !important;
  }

  .site-header .nav>a,
  .site-header .menu-item>a {
    display: flex !important;
    justify-content: space-between !important;
    width: 100% !important;
    padding: 14px 16px !important;
    border-radius: 14px !important;
    font-size: 14px !important;
  }

  .site-header .menu-item {
    width: 100% !important;
  }

  .site-header .dropdown,
  .site-header .submenu {
    position: static !important;
    display: none !important;
    width: 100% !important;
    min-width: 0 !important;
    margin: 6px 0 8px !important;
    box-shadow: none !important;
    background: #f9fdf6 !important;
    border-radius: 16px !important;
    padding: 8px !important;
  }

  .site-header .menu-item.open>.dropdown,
  .site-header .has-sub.open>.submenu {
    display: block !important;
  }

  .site-header .dropdown a,
  .site-header .submenu a {
    font-size: 13px !important;
    padding: 12px !important;
  }

  .popup {
    grid-template-columns: 1fr !important;
    width: min(560px, calc(100vw - 24px)) !important;
    max-height: 90vh !important;
    border-radius: 24px !important;
    overflow: auto !important;
  }

  .popup-left {
    padding: 30px 26px !important;
    display: block !important;
  }

  .popup-left h2 {
    font-size: 30px !important;
    margin-bottom: 12px !important;
  }

  .popup-left p {
    font-size: 14px !important;
    margin-bottom: 14px !important;
  }

  .popup-left .checks {
    grid-template-columns: 1fr 1fr !important;
    gap: 8px 12px !important;
  }

  .popup-left .checks li {
    font-size: 13px !important;
    padding-left: 28px !important;
  }

  .popup-left .checks li:before {
    width: 20px !important;
    height: 20px !important;
    font-size: 12px !important;
  }

  .popup-left h3 {
    display: none !important;
  }

  .popup-right {
    padding: 28px 24px 26px !important;
    overflow: visible !important;
  }

  .popup-right h3 {
    font-size: 26px !important;
  }

  .popup .contact-form .btn,
  .popup .contact-form button {
    width: 100% !important;
    min-width: 0 !important;
  }

  .close {
    right: 14px !important;
    top: 12px !important;
    width: 40px !important;
    height: 40px !important;
    font-size: 25px !important;
  }
}

@media (max-width: 560px) {
  .site-header .navwrap {
    width: calc(100% - 22px) !important;
  }

  .site-header .logo img {
    width: 145px !important;
  }

  .site-header .quote-btn {
    display: none !important;
  }

  .popup-back {
    padding: 10px !important;
    align-items: flex-start !important;
    padding-top: 18px !important;
  }

  .popup {
    width: 100% !important;
    max-height: calc(100vh - 36px) !important;
    border-radius: 20px !important;
  }

  .popup-left {
    padding: 26px 20px !important;
  }

  .popup-left h2 {
    font-size: 27px !important;
    letter-spacing: -0.045em !important;
  }

  .popup-left .checks {
    grid-template-columns: 1fr !important;
  }

  .popup-right {
    padding: 24px 18px !important;
  }

  .popup-right>.serif,
  .popup-right>span:first-child {
    font-size: 11px !important;
    padding: 8px 12px !important;
    margin-bottom: 14px !important;
  }

  .popup-right h3 {
    font-size: 24px !important;
  }

  .popup .contact-form input,
  .popup .contact-form select {
    min-height: 50px !important;
    border-radius: 14px !important;
  }

  .popup .contact-form textarea {
    min-height: 100px !important;
    height: 100px !important;
    border-radius: 14px !important;
  }
}

/* =========================================================
   GLOBAL HEADER / FOOTER / ADVICE CTA + CONTACT FIX V4
   Centralized components used across all static pages
========================================================= */
:root {
  --ui-green: #2fa30a;
  --ui-green-dark: #187530;
  --ui-green-soft: #eefee5;
  --ui-navy: #071b33;
  --ui-text: #516170;
  --ui-border: #e3ecde;
}

body {
  font-family: "Inter", "DM Sans", Arial, sans-serif !important;
  background: #fbfaf7;
  color: var(--ui-text);
}

body.no-scroll,
body.popup-open {
  overflow: hidden !important;
}

.site-header {
  height: 82px !important;
  background: rgba(255, 255, 255, 0.96) !important;
  backdrop-filter: blur(18px) !important;
  -webkit-backdrop-filter: blur(18px) !important;
  border-bottom: 1px solid rgba(7, 27, 51, 0.08) !important;
  box-shadow: 0 10px 36px rgba(7, 27, 51, 0.06) !important;
  position: sticky !important;
  top: 0 !important;
  z-index: 9999 !important;
  display: flex !important;
  align-items: center !important;
}

.global-navwrap {
  width: min(1180px, calc(100% - 44px));
  height: 82px;
  margin: auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 26px;
}

.global-logo {
  display: flex;
  align-items: center;
  text-decoration: none;
  flex: 0 0 auto;
}

.global-logo img {
  width: 188px;
  max-height: 58px;
  object-fit: contain;
  display: block;
}

.global-nav {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  flex: 1;
}

.global-nav>a,
.service-menu-v4>.service-link {
  color: var(--ui-navy) !important;
  text-decoration: none;
  font-size: 14px !important;
  font-weight: 680 !important;
  line-height: 1 !important;
  padding: 13px 15px !important;
  border-radius: 999px !important;
  transition: 0.22s ease !important;
  white-space: nowrap !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 7px !important;
}

.global-nav>a:hover,
.service-menu-v4:hover>.service-link,
.global-nav>a.active,
.service-menu-v4>.service-link.active {
  background: #effbe8 !important;
  color: #218707 !important;
  transform: translateY(-1px);
}

.service-menu-v4 {
  position: relative;
  display: flex;
  align-items: center;
  padding: 18px 0;
}

.service-link:after {
  content: "⌄";
  font-size: 12px;
  margin-top: -2px;
  opacity: 0.7;
}

.global-dropdown {
  position: absolute;
  top: calc(100% + 4px);
  left: 50%;
  transform: translateX(-50%) translateY(8px);
  width: min(720px, calc(100vw - 44px));
  background: rgba(255, 255, 255, 0.98);
  border: 1px solid rgba(7, 27, 51, 0.09);
  border-radius: 24px;
  box-shadow: 0 24px 80px rgba(7, 27, 51, 0.16);
  padding: 16px;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: 0.24s ease;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
}

.service-menu-v4:hover .global-dropdown,
.service-menu-v4.open .global-dropdown {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translateX(-50%) translateY(0);
}

.global-dropdown a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  min-height: 48px;
  border-radius: 15px;
  padding: 13px 15px;
  text-decoration: none;
  color: #20344a !important;
  font-size: 14px !important;
  font-weight: 650 !important;
  line-height: 1.25 !important;
  transition: 0.2s ease;
}

.global-dropdown a:after {
  content: "→";
  opacity: 0;
  color: #248b08;
  transform: translateX(-5px);
  transition: 0.2s ease;
}

.global-dropdown a:hover,
.global-dropdown a.active {
  background: #f1ffe8;
  color: #248b08 !important;
}

.global-dropdown a:hover:after,
.global-dropdown a.active:after {
  opacity: 1;
  transform: translateX(0);
}

.global-quote {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 13px 25px;
  border-radius: 999px;
  background: linear-gradient(135deg, #34a900, #178236);
  color: #fff !important;
  text-decoration: none;
  font-weight: 820 !important;
  font-size: 14px !important;
  box-shadow: 0 14px 32px rgba(36, 139, 8, 0.26);
  transition: 0.22s ease;
  white-space: nowrap;
}

.global-quote:hover {
  transform: translateY(-2px);
  box-shadow: 0 20px 44px rgba(36, 139, 8, 0.34);
}

.global-toggle {
  display: none;
  width: 46px;
  height: 46px;
  border-radius: 15px;
  border: 1px solid rgba(7, 27, 51, 0.1);
  background: #f4fbf0;
  box-shadow: 0 10px 24px rgba(7, 27, 51, 0.07);
  position: relative;
  cursor: pointer;
}

.global-toggle:before,
.global-toggle:after,
.global-toggle span {
  content: "";
  position: absolute;
  left: 13px;
  right: 13px;
  height: 2px;
  background: #071b33;
  border-radius: 2px;
  transition: 0.22s ease;
}

.global-toggle:before {
  top: 15px;
}

.global-toggle span {
  top: 22px;
}

.global-toggle:after {
  top: 29px;
}

.global-toggle.is-open:before {
  top: 22px;
  transform: rotate(45deg);
}

.global-toggle.is-open span {
  opacity: 0;
}

.global-toggle.is-open:after {
  top: 22px;
  transform: rotate(-45deg);
}

.global-advice-section {
  padding: 46px 0 70px !important;
  background: transparent !important;
}

.global-advice-card {
  width: min(1180px, calc(100% - 44px));
  margin: 0 auto;
  background: linear-gradient(135deg, #35a900 0%, #22922f 58%, #187c34 100%);
  border-radius: 34px;
  padding: 60px 66px;
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 30px;
  align-items: center;
  box-shadow: 0 28px 75px rgba(7, 27, 51, 0.16);
  position: relative;
  overflow: hidden;
}

.global-advice-card:before {
  content: "";
  position: absolute;
  right: -60px;
  top: -85px;
  width: 260px;
  height: 260px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.16);
}

.global-advice-card:after {
  content: "";
  position: absolute;
  left: -80px;
  bottom: -110px;
  width: 250px;
  height: 250px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.09);
}

.global-advice-content,
.global-advice-card a {
  position: relative;
  z-index: 1;
}

.global-advice-badge {
  display: inline-flex;
  align-items: center;
  padding: 11px 18px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.13);
  border: 1px solid rgba(255, 255, 255, 0.24);
  color: #fff;
  font-size: 12px;
  font-weight: 880;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  margin-bottom: 22px;
}

.global-advice-card h2 {
  color: #fff !important;
  font-size: clamp(34px, 3.8vw, 54px) !important;
  line-height: 1.05 !important;
  letter-spacing: -0.055em !important;
  font-weight: 790 !important;
  margin: 0 0 16px !important;
}

.global-advice-card h2 .serif {
  color: #fff !important;
  text-shadow: 0 2px 12px rgba(0, 0, 0, 0.18);
}

.global-advice-card p {
  color: rgba(255, 255, 255, 0.88) !important;
  font-size: 17px !important;
  line-height: 1.65 !important;
  max-width: 790px;
  margin: 0 !important;
}

.global-advice-card .btn {
  background: #fff !important;
  color: #071b33 !important;
  border-radius: 999px !important;
  padding: 18px 34px !important;
  min-width: 240px !important;
  text-align: center !important;
  text-decoration: none !important;
  font-weight: 850 !important;
  box-shadow: 0 16px 36px rgba(0, 0, 0, 0.15) !important;
  white-space: nowrap;
}

.global-advice-card .btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 22px 45px rgba(0, 0, 0, 0.2) !important;
}

.site-footer.global-footer {
  background: linear-gradient(135deg, #071b33 0%, #061624 100%) !important;
  padding: 76px 0 34px !important;
  color: rgba(255, 255, 255, 0.78) !important;
  border-top: 0 !important;
  position: relative;
  overflow: hidden;
}

.site-footer.global-footer:before {
  content: "";
  position: absolute;
  left: -90px;
  top: -120px;
  width: 360px;
  height: 360px;
  border-radius: 50%;
  background: rgba(54, 169, 0, 0.16);
}

.global-footer .container {
  position: relative;
}

.global-footer-grid {
  width: min(1180px, calc(100% - 44px));
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1.25fr 0.8fr 1fr 1fr;
  gap: 52px;
}

.global-footer-logo {
  background: #fff;
  border-radius: 18px;
  padding: 12px 16px;
  width: max-content;
  margin-bottom: 20px;
}

.global-footer-logo img {
  width: 185px !important;
  display: block;
}

.global-footer p {
  color: rgba(255, 255, 255, 0.74) !important;
  line-height: 1.75;
  font-size: 15px;
  margin: 0;
}

.global-footer h4 {
  color: #fff !important;
  font-size: 16px !important;
  margin: 0 0 18px !important;
  font-weight: 820 !important;
}

.global-footer a {
  display: block;
  color: rgba(255, 255, 255, 0.76) !important;
  text-decoration: none;
  margin: 0 0 13px;
  font-size: 15px;
  font-weight: 560;
  transition: 0.2s ease;
}

.global-footer a:hover {
  color: #cfffbb !important;
  transform: translateX(3px);
}

.global-footer .social {
  display: flex;
  gap: 10px;
  margin-top: 22px;
}

.global-footer .social span,
.global-footer .social a {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: rgba(255, 255, 255, 0.09);
  color: #fff !important;
  margin: 0;
  font-size: 13px;
  border: 1px solid rgba(255, 255, 255, 0.1);
}

.global-footer-bottom {
  width: min(1180px, calc(100% - 44px));
  margin: 44px auto 0;
  padding-top: 24px;
  border-top: 1px solid rgba(255, 255, 255, 0.12);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  color: rgba(255, 255, 255, 0.56);
  font-size: 14px;
}

.global-footer-bottom a {
  display: inline-block;
  margin: 0 0 0 18px;
  color: rgba(255, 255, 255, 0.66) !important;
}

/* Contact page v4 */
.contact-page-v4 {
  background: #fbfaf7 !important;
}

.contact-v4-hero {
  padding: 64px 0 76px;
  background: linear-gradient(135deg, #f5ffe9 0%, #fffaf1 55%, #fff 100%);
  position: relative;
  overflow: hidden;
}

.contact-v4-hero:before {
  content: "";
  position: absolute;
  left: -120px;
  bottom: -160px;
  width: 410px;
  height: 410px;
  border-radius: 50%;
  background: rgba(54, 169, 0, 0.08);
}

.contact-v4-hero-grid {
  display: grid;
  grid-template-columns: 1.02fr 0.98fr;
  gap: 54px;
  align-items: center;
  position: relative;
}

.contact-v4-copy h1 {
  font-size: clamp(44px, 5vw, 76px) !important;
  line-height: 1.04 !important;
  letter-spacing: -0.06em !important;
  font-weight: 790 !important;
  margin: 20px 0 22px !important;
  color: #071b33 !important;
}

.contact-v4-copy p {
  font-size: 18px !important;
  line-height: 1.75 !important;
  max-width: 650px !important;
  color: #536270 !important;
  margin-bottom: 28px !important;
}

.contact-v4-actions {
  display: flex;
  align-items: center;
  gap: 22px;
  flex-wrap: wrap;
}

.contact-v4-hero-card {
  position: relative;
}

.contact-v4-hero-card img {
  width: 100%;
  height: 500px;
  object-fit: fill;
  border-radius: 34px;
  box-shadow: 0 26px 70px rgba(7, 27, 51, 0.14);
  display: block;
}

.contact-v4-stat {
  position: absolute;
  left: 26px;
  bottom: 26px;
  background: rgba(255, 255, 255, 0.93);
  backdrop-filter: blur(12px);
  border-radius: 18px;
  padding: 17px 20px;
  box-shadow: 0 18px 40px rgba(7, 27, 51, 0.13);
  max-width: 280px;
}

.contact-v4-stat strong {
  display: block;
  color: #071b33;
  font-size: 18px;
  margin-bottom: 4px;
}

.contact-v4-stat span {
  color: #5a6672;
  font-size: 13px;
  line-height: 1.45;
}

.contact-v4-intro {
  padding: 70px 0 30px;
}

.narrow {
  max-width: 880px !important;
  text-align: center;
}

.contact-v4-intro h2 {
  font-size: clamp(32px, 3.2vw, 46px) !important;
  margin: 14px 0 18px !important;
  letter-spacing: -0.045em;
}

.contact-v4-intro p {
  font-size: 16.5px !important;
  line-height: 1.85 !important;
  color: #536270 !important;
}

.contact-v4-main {
  padding: 48px 0 70px;
}

.contact-v4-grid {
  display: grid;
  grid-template-columns: 1fr 0.9fr;
  gap: 34px;
  align-items: stretch;
}

.contact-v4-form-card,
.contact-v4-side {
  background: #fff;
  border: 1px solid rgba(7, 27, 51, 0.08);
  border-radius: 30px;
  box-shadow: 0 20px 55px rgba(7, 27, 51, 0.08);
  overflow: hidden;
}

.contact-v4-form-card {
  padding: 40px;
}

.contact-v4-form-card h2 {
  font-size: clamp(30px, 3vw, 44px) !important;
  line-height: 1.12 !important;
  letter-spacing: -0.045em !important;
  margin: 12px 0 12px !important;
}

.contact-v4-form-card p {
  margin-bottom: 24px;
}

.contact-v4-form {
  gap: 14px !important;
}

.contact-v4-form input,
.contact-v4-form textarea {
  border-radius: 16px !important;
  background: #fbfdf9 !important;
  border: 1px solid #dfe9da !important;
  min-height: 56px !important;
  font-size: 15px !important;
}

.contact-v4-form textarea {
  min-height: 150px !important;
}

.contact-v4-form .btn {
  height: 58px !important;
  border-radius: 999px !important;
  font-weight: 850 !important;
}

.contact-v4-side {
  display: flex;
  flex-direction: column;
}

.contact-v4-side img {
  width: 100%;
  height: 420px;
  object-fit: cover;
  display: block;
}

.contact-v4-direct {
  padding: 28px 30px;
  background: linear-gradient(135deg, #efffe4, #fff);
}

.contact-v4-direct h3 {
  font-size: 24px;
  margin: 0 0 8px;
}

.contact-v4-direct a {
  color: #178236;
  text-decoration: none;
  font-weight: 850;
}

.contact-v4-info {
  padding: 28px 0 46px;
}

.contact-v4-info-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}

.contact-v4-info-grid article {
  background: linear-gradient(135deg, #f1ffe6, #fff);
  border: 1px solid #caedbd;
  border-radius: 26px;
  text-align: center;
  padding: 32px 22px;
  box-shadow: 0 14px 38px rgba(7, 27, 51, 0.06);
}

.contact-v4-info-grid article span {
  width: 58px;
  height: 58px;
  display: grid;
  place-items: center;
  margin: 0 auto 16px;
  border-radius: 50%;
  background: #fff;
  border: 1px solid #d9ead5;
  font-size: 24px;
  color: #071b33;
}

.contact-v4-info-grid h3 {
  font-size: 20px;
  margin: 0 0 14px;
}

.contact-v4-info-grid a,
.contact-v4-info-grid p {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 38px;
  border-radius: 999px;
  background: #2fa30a;
  color: #fff !important;
  padding: 9px 16px;
  font-size: 13px;
  font-weight: 700;
  text-decoration: none;
  margin: 0;
}

.contact-v4-social {
  text-align: center;
  padding-top: 54px;
}

.contact-v4-social h3 {
  font-size: 16px;
  margin-bottom: 14px;
}

.contact-v4-social .social {
  justify-content: center;
}

.contact-v4-social .social a {
  display: grid;
  place-items: center;
  width: 34px;
  height: 34px;
  border-radius: 50%;
  background: #2fa30a;
  color: #fff !important;
  text-decoration: none;
  font-size: 12px;
  font-weight: 700;
}

/* Remove old contact mini CTA if any survives */
.contact-mini-cta-v2 {
  display: none !important;
}

@media (max-width: 1050px) {
  .global-navwrap {
    width: min(100% - 28px, 1060px);
    gap: 14px;
  }

  .global-logo img {
    width: 165px;
  }

  .global-nav>a,
  .service-menu-v4>.service-link {
    font-size: 13px !important;
    padding: 12px 10px !important;
  }

  .global-quote {
    padding: 12px 17px;
    font-size: 13px !important;
  }

  .global-advice-card {
    grid-template-columns: 1fr;
    padding: 48px 38px;
  }

  .global-advice-card .btn {
    width: max-content;
  }

  .global-footer-grid {
    grid-template-columns: 1fr 1fr;
    gap: 38px;
  }

  .contact-v4-hero-grid,
  .contact-v4-grid {
    grid-template-columns: 1fr;
  }

  .contact-v4-hero-card img {
    height: 420px;
  }

  .contact-v4-side img {
    height: 360px;
  }

  .contact-v4-info-grid {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 900px) {
  .site-header {
    height: 74px !important;
  }

  .global-navwrap {
    height: 74px;
  }

  .global-toggle {
    display: block;
    order: 3;
  }

  .global-quote {
    order: 2;
    padding: 10px 15px;
    font-size: 12.5px !important;
  }

  .global-nav {
    display: none !important;
    position: absolute;
    top: 74px;
    left: 14px;
    right: 14px;
    flex-direction: column;
    align-items: stretch;
    background: #fff;
    border: 1px solid rgba(7, 27, 51, 0.08);
    border-radius: 22px;
    box-shadow: 0 22px 60px rgba(7, 27, 51, 0.16);
    padding: 14px;
    gap: 6px;
    max-height: calc(100vh - 94px);
    overflow: auto;
  }

  .global-nav.show {
    display: flex !important;
  }

  .global-nav>a,
  .service-menu-v4>.service-link {
    width: 100%;
    justify-content: space-between;
    font-size: 14px !important;
    padding: 14px 16px !important;
  }

  .service-menu-v4 {
    display: block;
    padding: 0;
  }

  .global-dropdown {
    position: static;
    width: 100%;
    transform: none !important;
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    display: none;
    grid-template-columns: 1fr;
    box-shadow: none;
    background: #f8fdf5;
    border-radius: 16px;
    margin: 6px 0 8px;
    padding: 8px;
  }

  .service-menu-v4.open .global-dropdown {
    display: grid;
  }

  .service-menu-v4:hover .global-dropdown {
    display: none;
  }

  .service-menu-v4.open:hover .global-dropdown {
    display: grid;
  }

  .global-dropdown a {
    min-height: 44px;
    font-size: 13px !important;
    padding: 11px 12px !important;
  }

  .contact-v4-copy h1 {
    font-size: 46px !important;
  }

  .contact-v4-hero {
    padding: 44px 0 56px;
  }

  .contact-v4-hero-card img {
    height: 340px;
    border-radius: 24px;
  }

  .contact-v4-info-grid {
    grid-template-columns: 1fr;
  }

  .global-footer-grid {
    grid-template-columns: 1fr;
  }

  .global-footer-bottom {
    display: block;
  }

  .global-footer-bottom div:last-child {
    margin-top: 14px;
  }

  .popup {
    grid-template-columns: 1fr !important;
    width: min(560px, calc(100vw - 24px)) !important;
  }

  .popup-left {
    display: none !important;
  }

  .popup-right {
    padding: 34px 26px 28px !important;
  }

  .popup-right h3 {
    font-size: 26px !important;
  }

  .popup .contact-form .btn,
  .popup .contact-form button {
    width: 100% !important;
  }

  .global-advice-section {
    padding: 36px 0 54px !important;
  }

  .global-advice-card {
    border-radius: 26px;
    padding: 38px 26px;
  }

  .global-advice-card h2 {
    font-size: 34px !important;
  }

  .global-advice-card p {
    font-size: 16px !important;
  }

  .global-advice-card .btn {
    width: 100%;
    min-width: 0 !important;
  }
}

@media (max-width: 560px) {
  .global-logo img {
    width: 145px;
  }

  .global-quote {
    display: none;
  }

  .global-navwrap {
    width: calc(100% - 22px);
  }

  .contact-v4-copy h1 {
    font-size: 38px !important;
  }

  .contact-v4-copy p {
    font-size: 16px !important;
  }

  .contact-v4-form-card {
    padding: 26px 20px;
    border-radius: 22px;
  }

  .contact-v4-hero-card img,
  .contact-v4-side img {
    height: 280px;
  }

  .contact-v4-stat {
    position: static;
    margin: -26px 14px 0;
  }

  .global-advice-card {
    width: calc(100% - 28px);
    padding: 34px 20px;
  }

  .global-footer-grid,
  .global-footer-bottom {
    width: calc(100% - 28px);
  }

  .popup-back {
    padding: 10px !important;
    align-items: flex-start !important;
  }

  .popup {
    width: 100% !important;
    max-height: calc(100vh - 24px) !important;
    border-radius: 20px !important;
  }

  .popup-right {
    padding: 26px 18px !important;
  }
}

/* =========================================================
   HOME PAGE REDESIGN V4 + HEADER LIKE REFERENCE
========================================================= */
.home-redesign-v4 {
  background: #f8f6f1;
  color: #061a33;
}

.home-redesign-v4 .container {
  width: min(1220px, 92vw);
  margin-inline: auto;
}

.home-redesign-v4 .site-header {
  height: 98px !important;
  background: #f8f6f1 !important;
  box-shadow: none !important;
  border-bottom: 0 !important;
  backdrop-filter: none !important;
  position: fixed !important;
  top: 0 !important;
  z-index: 9999 !important;
}

.home-redesign-v4 .site-header .navwrap {
  height: 98px !important;
  width: min(1220px, 92vw) !important;
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  gap: 30px !important;
}

.home-redesign-v4 .site-header .logo img {
  width: 205px !important;
  max-height: 70px !important;
}

.home-redesign-v4 .site-header .nav {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 34px !important;
  flex: 1 !important;
}

.home-redesign-v4 .site-header .nav>a,
.home-redesign-v4 .site-header .menu-item>a {
  background: transparent !important;
  color: #020b1e !important;
  font-size: 17px !important;
  font-weight: 600 !important;
  padding: 12px 0 !important;
  border-radius: 0 !important;
  line-height: 1 !important;
  letter-spacing: 0 !important;
}

.home-redesign-v4 .site-header .nav>a:hover,
.home-redesign-v4 .site-header .menu-item>a:hover,
.home-redesign-v4 .site-header .nav a.active {
  background: transparent !important;
  color: #259100 !important;
  transform: none !important;
}

.home-redesign-v4 .site-header .quote-btn {
  background: #339e0b !important;
  color: #fff !important;
  border-radius: 8px !important;
  min-width: 138px !important;
  text-align: center !important;
  padding: 18px 24px !important;
  font-size: 17px !important;
  font-weight: 700 !important;
  box-shadow: none !important;
}

.home-redesign-v4 .site-header .menu-item {
  position: relative !important;
  padding: 40px 0 !important;
}

.home-redesign-v4 .site-header .dropdown {
  display: none;
  position: absolute !important;
  top: 88px !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  width: 330px !important;
  min-width: 330px !important;
  background: #fff !important;
  border: 1px solid #e5e5e5 !important;
  border-radius: 8px !important;
  padding: 12px 0 !important;
  box-shadow: 0 18px 34px rgba(0, 0, 0, 0.08) !important;
}

.home-redesign-v4 .site-header .menu-item:hover>.dropdown {
  display: block !important;
}

.home-redesign-v4 .site-header .dropdown a {
  font-size: 15px !important;
  font-weight: 500 !important;
  color: #0b1930 !important;
  line-height: 1.45 !important;
  padding: 11px 22px !important;
  border-radius: 7px !important;
  margin: 0 !important;
  letter-spacing: 0.02em !important;
  background: transparent !important;
}

.home-redesign-v4 .site-header .dropdown a:hover,
.home-redesign-v4 .site-header .has-sub:hover>a {
  background: #237b26 !important;
  color: #fff !important;
}

.home-redesign-v4 .site-header .submenu {
  display: none;
  position: absolute !important;
  left: calc(100% + 8px) !important;
  top: 150px !important;
  width: 330px !important;
  min-width: 330px !important;
  background: #fff !important;
  border: 1px solid #e5e5e5 !important;
  border-radius: 8px !important;
  padding: 12px 0 !important;
  box-shadow: 0 18px 34px rgba(0, 0, 0, 0.08) !important;
}

.home-redesign-v4 .site-header .has-sub:hover .submenu {
  display: block !important;
}

.home-redesign-v4 .site-header .submenu a:hover {
  background: #237b26 !important;
  color: #fff !important;
}

.home-redesign-v4 .mobile-toggle {
  display: none;
}

.home-hero-v4 {
  padding: 0 0 70px;
  background: #f8f6f1;
}

.hero-grid-v4 {
  display: grid;
  grid-template-columns: 1.08fr 0.92fr;
  align-items: center;
  gap: 58px;
  min-height: 590px;
  background: #e9e3d3;
  border-radius: 16px;
  padding: 72px 48px;
}

.hero-content-v4 h1 {
  font-size: 58px;
  line-height: 1.18;
  letter-spacing: -0.04em;
  font-weight: 500;
  color: #061a33;
  margin: 0 0 28px;
  max-width: 780px;
}

.hero-content-v4 h1 span,
.section-title-v4 h2 span,
.about-title-v4 h2 span,
.blog-head-v4 h2 span,
.cta-v4 h2 span {
  font-family: Georgia, serif;
  font-style: italic;
  font-weight: 700;
  color: #339e0b;
  letter-spacing: -0.04em;
}

.hero-content-v4 p {
  max-width: 800px;
  font-size: 18px;
  line-height: 1.9;
  color: #59616b;
  margin: 0;
}

.hero-actions-v4 {
  display: flex;
  gap: 18px;
  margin-top: 34px;
  flex-wrap: wrap;
}

.hero-actions-v4 .btn,
.read-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #339e0b;
  color: #fff !important;
  border-radius: 10px;
  padding: 15px 34px;
  font-size: 17px;
  font-weight: 700;
  text-decoration: none;
  box-shadow: none;
  border: 0;
}

.hero-actions-v4 .btn.dark {
  background: #05070f !important;
  color: #fff !important;
}

.hero-image-v4 {
  position: relative;
}

.hero-image-v4:before {
  content: "";
  position: absolute;
  width: 135px;
  height: 135px;
  background: #e9e3d3;
  border-radius: 26px;
  left: -50px;
  top: 118px;
  z-index: 2;
}

.hero-image-v4:after {
  content: "";
  position: absolute;
  width: 98px;
  height: 36px;
  background: #fff;
  border-radius: 100px;
  left: -20px;
  top: 122px;
  z-index: 3;
  transform: rotate(-38deg);
  box-shadow: 0 12px 24px rgba(0, 0, 0, 0.13);
}

.hero-image-v4 img {
  position: relative;
  z-index: 1;
  width: 100%;
  height: 360px;
  object-fit: cover;
  border-radius: 16px 16px 16px 0;
  display: block;
  box-shadow: none;
}

.home-section {
  padding: 92px 0;
}

.section-title-v4.center {
  text-align: center;
  margin: 0 auto 58px;
  max-width: 820px;
}

.section-title-v4 h2 {
  font-size: 46px;
  line-height: 1.2;
  font-weight: 500;
  letter-spacing: -0.035em;
  margin: 0 0 26px;
  color: #061a33;
}

.section-title-v4 p {
  font-size: 17px;
  line-height: 1.9;
  color: #59616b;
  margin: 0 auto;
  max-width: 850px;
}

.pill-v4 {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #e9edff;
  color: #071b33;
  border-radius: 13px;
  padding: 12px 18px;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.08em;
  margin-bottom: 18px;
}

.cards-grid-v4 {
  display: grid;
  gap: 28px;
}

.cards-grid-v4.two {
  grid-template-columns: repeat(2, 1fr);
}

.cards-grid-v4.three {
  grid-template-columns: repeat(3, 1fr);
}

.info-card-v4,
.service-card-v4 {
  background: #fff;
  border: 1px solid #dfdfdf;
  border-radius: 14px;
  padding: 40px 46px;
  text-align: center;
  min-height: 330px;
  transition: 0.25s ease;
}

.info-card-v4:hover,
.service-card-v4:hover {
  transform: translateY(-4px);
  box-shadow: 0 22px 50px rgba(6, 26, 51, 0.08);
  border-color: #39a10b;
}

.info-card-v4.soft {
  background: #efffd1;
}

.info-card-v4 img,
.service-card-v4 img {
  width: 86px;
  height: 86px;
  object-fit: contain;
  margin-bottom: 18px;
}

.info-card-v4 h3,
.service-card-v4 h3 {
  font-size: 28px;
  line-height: 1.2;
  font-weight: 700;
  color: #061a33;
  margin: 0 0 18px;
}

.service-card-v4 h3 {
  font-size: 24px;
}

.info-card-v4 p,
.service-card-v4 p {
  font-size: 16px;
  line-height: 1.85;
  color: #59616b;
  margin: 0 auto 18px;
}

.info-card-v4 p a {
  color: #e21e5b;
  text-decoration: underline;
}

.read-btn {
  font-size: 15px;
  padding: 14px 28px;
  border-radius: 6px;
}

.about-v4 {
  padding-top: 70px;
}

.about-layout-v4 {
  display: grid;
  grid-template-columns: 0.8fr 1.2fr;
  gap: 50px 70px;
  align-items: start;
}

.about-images-v4 {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: 0.85fr 1.15fr;
  gap: 22px;
}

.about-images-v4 img {
  width: 100%;
  height: 285px;
  object-fit: cover;
  border-radius: 13px;
  display: block;
}

.about-title-v4 h2 {
  font-size: 45px;
  line-height: 1.22;
  font-weight: 500;
  letter-spacing: -0.035em;
  margin: 14px 0 0;
  color: #061a33;
}

.about-text-v4 p {
  font-size: 17px;
  line-height: 1.75;
  color: #59616b;
  margin: 0;
}

.services-v4 {
  background: #f8f6f1;
}

.service-card-v4 {
  min-height: 300px;
  padding: 40px 34px;
}

.trusted-v4 {
  padding: 30px 0 80px;
  background: #f8f6f1;
}

.trusted-bg-v4 {
  background:
    linear-gradient(rgba(6, 26, 51, 0.88), rgba(6, 26, 51, 0.88)),
    url("assets/site-images/home-about-team-meeting.jpg") center/cover no-repeat;
  padding: 80px 0 0;
}

.trusted-bg-v4 h2 {
  text-align: center;
  color: #fff;
  font-size: 40px;
  line-height: 1.2;
  font-weight: 600;
  margin: 0 0 22px;
}

.trusted-bg-v4 h2 span {
  font-family: Georgia, serif;
  font-style: italic;
  color: #b8ffb0;
}

.trusted-cards-v4 {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 18px;
  transform: translateY(58px);
}

.trusted-cards-v4 article {
  background: #fff;
  border-radius: 12px;
  padding: 44px 58px;
  min-height: 275px;
  border: 1px solid #ddd;
}

.trusted-cards-v4 h3 {
  font-size: 24px;
  margin: 0 0 18px;
  color: #061a33;
}

.trusted-cards-v4 p,
.trusted-cards-v4 li {
  font-size: 15px;
  line-height: 1.8;
  color: #59616b;
}

.testimonials-v4 {
  padding-top: 120px;
}

.testimonial-grid-v4 {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 28px;
}

.testimonial-grid-v4 article {
  background: #fff;
  border: 1px solid #ddd;
  border-radius: 12px;
  padding: 42px 38px;
}

.testimonial-grid-v4 article>p {
  font-size: 20px;
  line-height: 1.65;
  font-style: italic;
  color: #333;
  margin: 0 0 34px;
}

.testimonial-grid-v4 div {
  display: flex;
  align-items: center;
  gap: 18px;
}

.testimonial-grid-v4 img {
  width: 72px;
  height: 72px;
  border-radius: 50%;
  object-fit: cover;
  border: 6px solid #f3f4f5;
}

.testimonial-grid-v4 strong {
  display: block;
  font-size: 18px;
  color: #061a33;
}

.testimonial-grid-v4 small {
  display: block;
  color: #777;
}

.contact-v4 {
  padding-top: 30px;
}

.form-v4 {
  max-width: 760px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 12px;
}

.form-v4 input,
.form-v4 textarea {
  border: 0;
  background: #fff;
  border-radius: 16px;
  padding: 20px 28px;
  font-size: 16px;
  color: #061a33;
  outline: 0;
}

.form-v4 textarea {
  grid-column: 1/-1;
  height: 145px;
  resize: vertical;
}

.form-v4 button {
  grid-column: 1/-1;
  background: #207a28;
  color: #fff;
  border: 0;
  border-radius: 12px;
  padding: 18px;
  font-size: 16px;
  font-weight: 700;
  cursor: pointer;
}

.blog-v4 {
  padding-top: 38px;
}

.blog-head-v4 {
  display: flex;
  justify-content: space-between;
  align-items: end;
  margin-bottom: 30px;
  gap: 20px;
}

.blog-head-v4 h2 {
  font-size: 44px;
  font-weight: 500;
  letter-spacing: -0.035em;
  margin: 0;
}

.blog-grid-v4 {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
}

.blog-grid-v4 article {
  background: #339e0b;
  border-radius: 12px;
  overflow: hidden;
  color: #fff;
}

.blog-grid-v4 img {
  width: 100%;
  height: 190px;
  object-fit: cover;
  display: block;
}

.blog-grid-v4 div {
  padding: 24px 26px 28px;
}

.blog-grid-v4 h3 {
  font-size: 21px;
  line-height: 1.28;
  color: #fff;
  margin: 0 0 16px;
  font-weight: 700;
}

.blog-grid-v4 p {
  font-size: 13px;
  margin: 0 0 22px;
  color: #fff;
}

.blog-grid-v4 a {
  display: inline-flex;
  background: #efffd1;
  color: #061a33 !important;
  text-decoration: none;
  border-radius: 4px;
  padding: 12px 22px;
  font-weight: 700;
}

.final-cta-wrap-v4 {
  padding: 90px 0 35px;
}

.cta-v4 {
  position: relative;
  overflow: hidden;
  border-radius: 12px;
  background: #339e0b;
  min-height: 330px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  color: #fff;
  padding: 60px 24px;
}

.cta-v4:before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    repeating-linear-gradient(to bottom,
      transparent 0 72px,
      rgba(255, 255, 255, 0.07) 73px 75px),
    linear-gradient(90deg,
      rgba(0, 0, 0, 0.18),
      transparent 25%,
      transparent 75%,
      rgba(0, 0, 0, 0.12));
}

.cta-v4:after {
  content: "";
  position: absolute;
  inset: auto 0 0 0;
  height: 78%;
  background: linear-gradient(90deg,
      rgba(10, 64, 24, 0.45) 0 6%,
      transparent 6% 9%,
      rgba(10, 64, 24, 0.5) 9% 14%,
      transparent 14% 18%,
      rgba(10, 64, 24, 0.38) 18% 23%,
      transparent 23% 27%,
      rgba(10, 64, 24, 0.42) 27% 32%,
      transparent 32% 36%,
      rgba(10, 64, 24, 0.36) 36% 41%,
      transparent 41% 45%,
      rgba(10, 64, 24, 0.48) 45% 50%,
      transparent 50% 56%,
      rgba(10, 64, 24, 0.4) 56% 62%,
      transparent 62% 70%,
      rgba(10, 64, 24, 0.5) 70% 76%,
      transparent 76% 86%,
      rgba(10, 64, 24, 0.36) 86% 91%,
      transparent 91% 95%,
      rgba(10, 64, 24, 0.42) 95% 100%);
  opacity: 0.65;
}

.cta-v4 h2,
.cta-v4 p,
.cta-v4 a {
  position: relative;
  z-index: 2;
}

.cta-v4 h2 {
  font-size: 43px;
  line-height: 1.2;
  font-weight: 500;
  margin: 0 0 22px;
  color: #fff;
}

.cta-v4 p {
  font-size: 16px;
  font-weight: 700;
  margin: 0 0 28px;
  color: #fff;
}

.cta-v4 a {
  background: #fff;
  color: #061a33 !important;
  border-radius: 15px;
  padding: 15px 48px;
  text-decoration: none;
  font-size: 16px;
}

.home-redesign-v4 .floating-chat {
  right: 28px;
  bottom: 26px;
  z-index: 9998;
}

@media (max-width: 1100px) {

  .hero-grid-v4,
  .cards-grid-v4.two,
  .about-layout-v4,
  .trusted-cards-v4,
  .testimonial-grid-v4 {
    grid-template-columns: 1fr;
  }

  .cards-grid-v4.three,
  .blog-grid-v4 {
    grid-template-columns: repeat(2, 1fr);
  }

  .hero-content-v4 h1 {
    font-size: 48px;
  }

  .about-images-v4 {
    grid-template-columns: 1fr;
  }

  .home-redesign-v4 .site-header .nav {
    gap: 18px;
  }

  .home-redesign-v4 .site-header .nav>a,
  .home-redesign-v4 .site-header .menu-item>a {
    font-size: 15px !important;
  }
}

@media (max-width: 900px) {
  .home-redesign-v4 .site-header {
    height: 78px !important;
  }

  .home-redesign-v4 .site-header .navwrap {
    height: 78px !important;
  }

  .home-redesign-v4 .mobile-toggle {
    display: block;
  }

  .home-redesign-v4 .site-header .nav {
    display: none !important;
  }

  .home-redesign-v4 .site-header .nav.show {
    display: flex !important;
    position: absolute;
    top: 78px;
    left: 0;
    right: 0;
    background: #fff;
    flex-direction: column;
    align-items: flex-start;
    padding: 16px 24px;
    gap: 0;
  }

  .home-redesign-v4 .site-header .quote-btn {
    display: none !important;
  }

  .home-redesign-v4 .site-header .dropdown,
  .home-redesign-v4 .site-header .submenu {
    position: static !important;
    display: none !important;
    transform: none !important;
    width: 100% !important;
    min-width: 0 !important;
    box-shadow: none !important;
    margin: 8px 0;
  }

  .home-redesign-v4 .menu-item.open .dropdown,
  .home-redesign-v4 .has-sub.open .submenu {
    display: block !important;
  }

  .hero-grid-v4 {
    grid-template-columns: 1fr;
    padding: 44px 24px;
    min-height: 0;
  }

  .hero-content-v4 h1 {
    font-size: 40px;
  }

  .hero-image-v4 img {
    height: 300px;
  }

  .home-section {
    padding: 62px 0;
  }

  .cards-grid-v4.three,
  .blog-grid-v4 {
    grid-template-columns: 1fr;
  }

  .trusted-cards-v4 {
    transform: none;
  }

  .trusted-bg-v4 {
    padding-bottom: 40px;
  }

  .form-v4 {
    grid-template-columns: 1fr;
  }

  .form-v4 textarea,
  .form-v4 button {
    grid-column: auto;
  }

  .blog-head-v4 {
    display: block;
  }

  .blog-head-v4 .read-btn {
    margin-top: 14px;
  }

  .testimonial-grid-v4 article>p {
    font-size: 17px;
  }
}

@media (max-width: 560px) {
  .home-redesign-v4 .site-header .logo img {
    width: 170px !important;
  }

  .hero-grid-v4 {
    width: 100%;
    border-radius: 0;
  }

  .home-redesign-v4 .container {
    width: min(100% - 28px, 1220px);
  }

  .hero-content-v4 h1,
  .section-title-v4 h2,
  .about-title-v4 h2,
  .blog-head-v4 h2,
  .cta-v4 h2 {
    font-size: 34px;
  }

  .info-card-v4,
  .service-card-v4,
  .trusted-cards-v4 article,
  .testimonial-grid-v4 article {
    padding: 28px 22px;
  }

  .about-images-v4 img {
    height: 220px;
  }

  .final-cta-wrap-v4 {
    padding-top: 50px;
  }

  .cta-v4 {
    min-height: 280px;
  }

  .hero-actions-v4 .btn {
    width: 100%;
  }
}

/* =========================================================
   FINAL CLIENT REVISION: header, home page polish, centered icons
   ========================================================= */
:root {
  --qb-green: #2f9b08;
  --qb-green-dark: #217b26;
  --qb-navy: #061a33;
  --qb-cream: #faf8f2;
}

body {
  background: var(--qb-cream) !important;
}

.site-header {
  height: 96px !important;
  background: #faf8f2 !important;
  border: 0 !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  position: fixed !important;
  top: 0 !important;
  z-index: 99999 !important;
  display: flex !important;
  align-items: center !important;
}

.site-header .container,
.site-header .navwrap {
  width: min(1260px, calc(100% - 70px)) !important;
  height: 96px !important;
  margin: 0 auto !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 32px !important;
}

.site-header .logo {
  flex: 0 0 230px !important;
  display: flex !important;
  align-items: center !important;
  text-decoration: none !important;
}

.site-header .logo img {
  width: 218px !important;
  max-height: 72px !important;
  object-fit: contain !important;
  display: block !important;
}

.site-header .nav {
  flex: 1 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 34px !important;
}

.site-header .nav>a,
.site-header .menu-item>a {
  font-family: Inter, Arial, sans-serif !important;
  font-size: 16px !important;
  line-height: 1 !important;
  font-weight: 600 !important;
  color: #020b1e !important;
  text-decoration: none !important;
  background: transparent !important;
  padding: 38px 0 !important;
  border-radius: 0 !important;
  letter-spacing: 0 !important;
  white-space: nowrap !important;
}

.site-header .nav>a:hover,
.site-header .menu-item:hover>a,
.site-header .nav a.active {
  color: var(--qb-green) !important;
  background: transparent !important;
  transform: none !important;
}

.site-header .quote-btn {
  flex: 0 0 auto !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: var(--qb-green) !important;
  color: #fff !important;
  border-radius: 8px !important;
  min-width: 140px !important;
  padding: 16px 28px !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  text-decoration: none !important;
  box-shadow: none !important;
  border: 0 !important;
}

.site-header .quote-btn:hover {
  background: var(--qb-green-dark) !important;
  transform: none !important;
  box-shadow: none !important;
}

.site-header .menu-item {
  position: relative !important;
  padding: 0 !important;
}

.site-header .dropdown {
  display: none !important;
  position: absolute !important;
  top: 72px !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  width: 330px !important;
  min-width: 330px !important;
  background: #fff !important;
  border: 1px solid #e6e6e6 !important;
  border-radius: 8px !important;
  padding: 10px 0 !important;
  box-shadow: 0 24px 45px rgba(6, 26, 51, 0.12) !important;
  z-index: 999999 !important;
}

.site-header .menu-item:hover>.dropdown {
  display: block !important;
}

.site-header .dropdown a,
.site-header .submenu a {
  display: block !important;
  font-family: Inter, Arial, sans-serif !important;
  font-size: 15px !important;
  font-weight: 500 !important;
  color: #0b1930 !important;
  line-height: 1.5 !important;
  text-decoration: none !important;
  padding: 10px 22px !important;
  margin: 0 !important;
  border-radius: 7px !important;
  background: transparent !important;
  letter-spacing: 0.015em !important;
}

.site-header .dropdown a:hover,
.site-header .submenu a:hover,
.site-header .has-sub:hover>a {
  background: var(--qb-green-dark) !important;
  color: #fff !important;
}

.site-header .has-sub {
  position: relative !important;
}

.site-header .submenu {
  display: none !important;
  position: absolute !important;
  left: calc(100% + 8px) !important;
  top: 0 !important;
  width: 330px !important;
  min-width: 330px !important;
  background: #fff !important;
  border: 1px solid #e6e6e6 !important;
  border-radius: 8px !important;
  padding: 10px 0 !important;
  box-shadow: 0 24px 45px rgba(6, 26, 51, 0.12) !important;
  z-index: 999999 !important;
}

.site-header .has-sub:hover>.submenu {
  display: block !important;
}

.mobile-toggle {
  display: none !important;
}

.home-redesign-v4 {
  background:
    radial-gradient(circle at 6% 4%, rgba(47, 155, 8, 0.08), transparent 28%),
    radial-gradient(circle at 88% 12%, rgba(47, 155, 8, 0.08), transparent 26%),
    #faf8f2 !important;
  color: var(--qb-navy) !important;
}

.home-redesign-v4 .container {
  width: min(1280px, calc(100% - 70px)) !important;
  margin-inline: auto !important;
}

.home-hero-v4 {
  padding: 24px 0 86px !important;
  background: transparent !important;
}

.hero-grid-v4 {
  position: relative;
  overflow: hidden;
  display: grid !important;
  grid-template-columns: 1.03fr 0.97fr !important;
  align-items: center !important;
  gap: 58px !important;
  min-height: 620px !important;
  background: linear-gradient(135deg, #efe8d8 0%, #e8dfcb 100%) !important;
  border-radius: 26px !important;
  padding: 84px 58px !important;
  box-shadow: 0 26px 70px rgba(6, 26, 51, 0.07) !important;
  border: 1px solid rgba(6, 26, 51, 0.04) !important;
}

.hero-grid-v4:before {
  content: "";
  position: absolute;
  width: 360px;
  height: 360px;
  border-radius: 50%;
  right: -110px;
  top: -130px;
  background: rgba(47, 155, 8, 0.1);
}

.hero-grid-v4:after {
  content: "";
  position: absolute;
  width: 160px;
  height: 160px;
  border-radius: 45px;
  right: 44%;
  bottom: -70px;
  background: rgba(255, 255, 255, 0.3);
  transform: rotate(18deg);
}

.hero-content-v4,
.hero-image-v4 {
  position: relative;
  z-index: 2;
}

.hero-content-v4 h1 {
  font-size: clamp(48px, 4.9vw, 72px) !important;
  line-height: 1.12 !important;
  font-weight: 650 !important;
  letter-spacing: -0.055em !important;
  margin-bottom: 26px !important;
}

.hero-content-v4 h1 span,
.section-title-v4 h2 span,
.about-title-v4 h2 span,
.blog-head-v4 h2 span,
.cta-v4 h2 span {
  font-family: Georgia, serif !important;
  font-style: italic !important;
  color: var(--qb-green) !important;
  font-weight: 700 !important;
}

.hero-content-v4 p {
  font-size: 18px !important;
  line-height: 1.85 !important;
  color: #5f6672 !important;
  max-width: 820px !important;
}

.hero-actions-v4 {
  margin-top: 34px !important;
  gap: 18px !important;
}

.hero-actions-v4 .btn,
.read-btn {
  background: var(--qb-green) !important;
  color: #fff !important;
  border-radius: 12px !important;
  padding: 15px 32px !important;
  font-weight: 700 !important;
  text-decoration: none !important;
  box-shadow: 0 14px 26px rgba(47, 155, 8, 0.18) !important;
}

.hero-actions-v4 .btn.dark {
  background: #05070f !important;
  box-shadow: 0 14px 26px rgba(6, 26, 51, 0.16) !important;
}

.hero-image-v4 img {
  height: 400px !important;
  border-radius: 24px !important;
  box-shadow: 0 24px 54px rgba(6, 26, 51, 0.16) !important;
}

.hero-image-v4:before {
  background: #efe8d8 !important;
  border-radius: 28px !important;
}

.home-section {
  padding: 94px 0 !important;
}

.section-title-v4.center {
  max-width: 880px !important;
  margin-bottom: 54px !important;
}

.section-title-v4 h2 {
  font-size: clamp(38px, 3.7vw, 56px) !important;
  font-weight: 650 !important;
  letter-spacing: -0.045em !important;
  margin-bottom: 20px !important;
}

.section-title-v4 p {
  font-size: 18px !important;
  line-height: 1.85 !important;
  color: #5f6672 !important;
}

.cards-grid-v4 {
  gap: 30px !important;
}

.info-card-v4,
.service-card-v4 {
  position: relative;
  overflow: hidden;
  background: #fff !important;
  border: 1px solid rgba(6, 26, 51, 0.08) !important;
  border-radius: 22px !important;
  padding: 48px 44px !important;
  text-align: center !important;
  min-height: 360px !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  box-shadow: 0 18px 48px rgba(6, 26, 51, 0.055) !important;
}

.info-card-v4:before,
.service-card-v4:before {
  content: "";
  position: absolute;
  inset: 0 0 auto 0;
  height: 5px;
  background: linear-gradient(90deg, var(--qb-green), #8ee65f);
  opacity: 0;
  transition: 0.25s ease;
}

.info-card-v4:hover:before,
.service-card-v4:hover:before {
  opacity: 1;
}

.info-card-v4:hover,
.service-card-v4:hover {
  transform: translateY(-6px) !important;
  box-shadow: 0 28px 70px rgba(6, 26, 51, 0.1) !important;
  border-color: rgba(47, 155, 8, 0.35) !important;
}

.info-card-v4.soft {
  background: linear-gradient(180deg, #f1ffd7, #fff) !important;
}

.info-card-v4 img,
.service-card-v4 img {
  display: block !important;
  width: 92px !important;
  height: 92px !important;
  object-fit: contain !important;
  margin: 0 auto 24px !important;
  flex: 0 0 auto !important;
  align-self: center !important;
}

.info-card-v4 h3,
.service-card-v4 h3 {
  font-size: clamp(25px, 2vw, 32px) !important;
  line-height: 1.15 !important;
  font-weight: 850 !important;
  margin: 0 0 18px !important;
  color: var(--qb-navy) !important;
  text-align: center !important;
}

.service-card-v4 h3 {
  font-size: clamp(24px, 1.8vw, 30px) !important;
}

.info-card-v4 p,
.service-card-v4 p {
  font-size: 17px !important;
  line-height: 1.85 !important;
  color: #59616b !important;
  margin: 0 auto 24px !important;
  max-width: 640px !important;
  text-align: center !important;
}

.info-card-v4 p a {
  color: #e21e5b !important;
  text-decoration: underline !important;
}

.service-card-v4 .read-btn,
.info-card-v4 .read-btn {
  margin-top: auto !important;
}

.cards-grid-v4.three {
  align-items: stretch !important;
}

.service-card-v4 {
  min-height: 365px !important;
  justify-content: flex-start !important;
  padding-top: 48px !important;
}

.service-card-v4 p {
  max-width: 340px !important;
}

.about-v4 {
  padding-top: 82px !important;
}

.about-layout-v4 {
  gap: 46px 72px !important;
  align-items: center !important;
}

.about-images-v4 img {
  height: 330px !important;
  border-radius: 24px !important;
  box-shadow: 0 18px 46px rgba(6, 26, 51, 0.1) !important;
}

.about-title-v4 h2 {
  font-size: clamp(38px, 3.4vw, 54px) !important;
  font-weight: 650 !important;
}

.about-text-v4 {
  background: #fff;
  border: 1px solid rgba(6, 26, 51, 0.08);
  border-radius: 24px;
  padding: 36px;
  box-shadow: 0 18px 45px rgba(6, 26, 51, 0.055);
}

.about-text-v4 p {
  font-size: 17px !important;
  line-height: 1.85 !important;
  color: #59616b !important;
}

.trusted-v4 {
  padding: 35px 0 100px !important;
}

.trusted-bg-v4 {
  border-radius: 0 !important;
  background:
    linear-gradient(rgba(6, 26, 51, 0.84), rgba(6, 26, 51, 0.88)),
    url("assets/site-images/home-about-team-meeting.jpg") center/cover no-repeat !important;
  padding: 86px 0 0 !important;
}

.trusted-bg-v4 h2 {
  font-size: clamp(36px, 3.2vw, 52px) !important;
}

.trusted-cards-v4 {
  gap: 28px !important;
}

.trusted-cards-v4 article {
  border-radius: 22px !important;
  padding: 46px 58px !important;
  box-shadow: 0 22px 55px rgba(6, 26, 51, 0.12) !important;
}

.testimonial-grid-v4 {
  grid-template-columns: repeat(2, 1fr) !important;
  gap: 30px !important;
}

.testimonial-grid-v4 article {
  border-radius: 22px !important;
  box-shadow: 0 18px 45px rgba(6, 26, 51, 0.055) !important;
  padding: 46px !important;
}

.testimonial-grid-v4 article:nth-child(3) {
  grid-column: 1/-1;
  width: min(680px, 100%);
  margin-inline: auto;
}

.form-v4 {
  max-width: 820px !important;
  gap: 14px !important;
}

.form-v4 input,
.form-v4 textarea {
  border: 1px solid rgba(6, 26, 51, 0.06) !important;
  box-shadow: 0 12px 26px rgba(6, 26, 51, 0.035) !important;
}

.form-v4 button {
  background: linear-gradient(135deg,
      var(--qb-green),
      var(--qb-green-dark)) !important;
  border-radius: 14px !important;
}

.blog-grid-v4 {
  gap: 24px !important;
}

.blog-grid-v4 article {
  border-radius: 20px !important;
  box-shadow: 0 18px 44px rgba(6, 26, 51, 0.09) !important;
  background: linear-gradient(180deg, #39a40c, #2b8f06) !important;
}

.blog-grid-v4 img {
  height: 210px !important;
}

.final-cta-wrap-v4 {
  padding: 86px 0 55px !important;
}

.cta-v4,
.cta {
  position: relative !important;
  overflow: hidden !important;
  border-radius: 30px !important;
  background: linear-gradient(135deg, #24a000 0%, #1f7f31 100%) !important;
  color: #fff !important;
  min-height: 320px !important;
  padding: 64px 76px !important;
  display: grid !important;
  grid-template-columns: 1fr auto !important;
  align-items: center !important;
  gap: 34px !important;
  text-align: left !important;
  box-shadow: 0 30px 80px rgba(23, 87, 31, 0.22) !important;
  border: 0 !important;
}

.cta-v4:before,
.cta:before {
  content: "" !important;
  position: absolute !important;
  inset: auto -90px -160px auto !important;
  width: 430px !important;
  height: 430px !important;
  border-radius: 50% !important;
  background: rgba(255, 255, 255, 0.16) !important;
}

.cta-v4:after,
.cta:after {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  background: linear-gradient(90deg,
      rgba(255, 255, 255, 0.07),
      transparent 34%,
      rgba(0, 0, 0, 0.08)) !important;
  opacity: 1 !important;
}

.cta-v4 h2,
.cta-v4 p,
.cta-v4 a,
.cta h2,
.cta p,
.cta a {
  position: relative !important;
  z-index: 2 !important;
}

.cta-v4 h2,
.cta h2 {
  font-size: clamp(38px, 3.5vw, 58px) !important;
  line-height: 1.08 !important;
  font-weight: 700 !important;
  color: #fff !important;
  margin: 0 0 18px !important;
  letter-spacing: -0.04em !important;
}

.cta-v4 p,
.cta p {
  font-size: 18px !important;
  line-height: 1.65 !important;
  font-weight: 600 !important;
  color: #fff !important;
  margin: 0 !important;
  max-width: 720px !important;
}

.cta-v4 a,
.cta .btn.white,
.cta a.btn,
.cta a {
  justify-self: end !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: #fff !important;
  color: var(--qb-navy) !important;
  border-radius: 999px !important;
  padding: 20px 46px !important;
  min-width: 250px !important;
  font-size: 18px !important;
  font-weight: 700 !important;
  text-decoration: none !important;
  box-shadow: none !important;
  white-space: nowrap !important;
}

@media (max-width: 1100px) {

  .site-header .container,
  .site-header .navwrap {
    width: min(100% - 32px, 1260px) !important;
    gap: 18px !important;
  }

  .site-header .logo {
    flex-basis: 200px !important;
  }

  .site-header .logo img {
    width: 190px !important;
  }

  .site-header .nav {
    gap: 20px !important;
  }

  .site-header .nav>a,
  .site-header .menu-item>a {
    font-size: 14px !important;
  }

  .site-header .quote-btn {
    padding: 13px 20px !important;
    min-width: 120px !important;
    font-size: 14px !important;
  }

  .hero-grid-v4 {
    grid-template-columns: 1fr !important;
    min-height: 0 !important;
    padding: 62px 42px !important;
  }

  .cards-grid-v4.two,
  .about-layout-v4,
  .trusted-cards-v4 {
    grid-template-columns: 1fr !important;
  }

  .cards-grid-v4.three,
  .blog-grid-v4 {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}

@media (max-width: 900px) {
  .site-header {
    height: 76px !important;
  }

  .site-header .container,
  .site-header .navwrap {
    height: 76px !important;
    width: calc(100% - 28px) !important;
  }

  .mobile-toggle {
    display: block !important;
    order: 3 !important;
    background: #fff !important;
    border: 1px solid rgba(6, 26, 51, 0.1) !important;
    border-radius: 10px !important;
    padding: 9px 12px !important;
    color: var(--qb-navy) !important;
  }

  .site-header .quote-btn {
    display: inline-flex !important;
    order: 2 !important;
    min-width: 0 !important;
    padding: 11px 16px !important;
    font-size: 13px !important;
  }

  .site-header .nav {
    display: none !important;
    position: absolute !important;
    top: 76px !important;
    left: 14px !important;
    right: 14px !important;
    flex-direction: column !important;
    align-items: stretch !important;
    background: #fff !important;
    border: 1px solid rgba(6, 26, 51, 0.08) !important;
    border-radius: 20px !important;
    box-shadow: 0 22px 60px rgba(6, 26, 51, 0.16) !important;
    padding: 12px !important;
    gap: 4px !important;
    max-height: calc(100vh - 96px) !important;
    overflow: auto !important;
  }

  .site-header .nav.show {
    display: flex !important;
  }

  .site-header .nav>a,
  .site-header .menu-item>a {
    width: 100% !important;
    padding: 14px 16px !important;
    font-size: 14px !important;
    display: flex !important;
    justify-content: space-between !important;
  }

  .site-header .menu-item {
    width: 100% !important;
  }

  .site-header .dropdown,
  .site-header .submenu {
    position: static !important;
    display: none !important;
    transform: none !important;
    width: 100% !important;
    min-width: 0 !important;
    box-shadow: none !important;
    background: #f7fcf2 !important;
    border-radius: 14px !important;
    padding: 8px !important;
    margin: 5px 0 !important;
  }

  .site-header .menu-item.open>.dropdown,
  .site-header .has-sub.open>.submenu {
    display: block !important;
  }

  .site-header .menu-item:hover>.dropdown,
  .site-header .has-sub:hover>.submenu {
    display: none !important;
  }

  .site-header .menu-item.open:hover>.dropdown,
  .site-header .has-sub.open:hover>.submenu {
    display: block !important;
  }

  .home-redesign-v4 .container {
    width: calc(100% - 28px) !important;
  }

  .cards-grid-v4.three,
  .blog-grid-v4,
  .testimonial-grid-v4 {
    grid-template-columns: 1fr !important;
  }

  .testimonial-grid-v4 article:nth-child(3) {
    grid-column: auto;
    width: 100%;
  }

  .cta-v4,
  .cta {
    grid-template-columns: 1fr !important;
    text-align: center !important;
    padding: 48px 28px !important;
    border-radius: 24px !important;
  }

  .cta-v4 a,
  .cta .btn.white,
  .cta a.btn,
  .cta a {
    justify-self: center !important;
    width: min(100%, 320px) !important;
    min-width: 0 !important;
  }
}

@media (max-width: 560px) {
  .site-header .logo {
    flex-basis: auto !important;
  }

  .site-header .logo img {
    width: 145px !important;
  }

  .site-header .quote-btn {
    display: none !important;
  }

  .hero-grid-v4 {
    padding: 42px 22px !important;
    border-radius: 20px !important;
  }

  .hero-image-v4 img {
    height: 285px !important;
  }

  .info-card-v4,
  .service-card-v4 {
    padding: 34px 22px !important;
    min-height: auto !important;
  }

  .info-card-v4 p,
  .service-card-v4 p {
    font-size: 16px !important;
  }
}

/* === Client revision: exact header feel + cleaner home + original CTA style === */
:root {
  --qb-green: #35a900;
  --qb-green-dark: #1f7f2d;
  --qb-navy: #061a33;
  --qb-cream: #faf8f2;
}

.site-header,
.home-redesign-v4 .site-header {
  height: 98px !important;
  background: #faf8f2 !important;
  border: 0 !important;
  box-shadow: none !important;
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  z-index: 9999 !important;
}

.site-header .container,
.site-header .navwrap,
.home-redesign-v4 .site-header .navwrap {
  width: min(1280px, calc(100% - 110px)) !important;
  height: 98px !important;
  margin-inline: auto !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 34px !important;
}

.site-header .logo {
  flex: 0 0 250px !important;
  display: flex !important;
  align-items: center !important;
}

.site-header .logo img,
.home-redesign-v4 .site-header .logo img {
  width: 220px !important;
  height: auto !important;
  max-height: 76px !important;
  display: block !important;
}

.site-header .nav,
.home-redesign-v4 .site-header .nav {
  flex: 1 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 42px !important;
}

.site-header .nav>a,
.site-header .menu-item>a,
.home-redesign-v4 .site-header .nav>a,
.home-redesign-v4 .site-header .menu-item>a {
  font-size: 17px !important;
  font-weight: 600 !important;
  color: #020b1e !important;
  background: transparent !important;
  padding: 38px 0 !important;
  text-decoration: none !important;
  line-height: 1 !important;
  border-radius: 0 !important;
}

.site-header .nav>a:hover,
.site-header .menu-item>a:hover,
.site-header .nav a.active,
.home-redesign-v4 .site-header .nav>a:hover,
.home-redesign-v4 .site-header .menu-item>a:hover,
.home-redesign-v4 .site-header .nav a.active {
  color: #188000 !important;
  background: transparent !important;
}

.site-header .quote-btn,
.home-redesign-v4 .site-header .quote-btn {
  flex: 0 0 auto !important;
  background: #339e0b !important;
  color: #fff !important;
  border-radius: 8px !important;
  padding: 18px 31px !important;
  min-width: 146px !important;
  text-align: center !important;
  font-size: 17px !important;
  font-weight: 700 !important;
  box-shadow: none !important;
  text-decoration: none !important;
}

.site-header .menu-item {
  position: relative !important;
  padding: 0 !important;
}

.site-header .dropdown,
.home-redesign-v4 .site-header .dropdown {
  display: none;
  position: absolute !important;
  top: 76px !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  width: 330px !important;
  min-width: 330px !important;
  background: #fff !important;
  border: 1px solid #e3e3e3 !important;
  border-radius: 9px !important;
  padding: 12px 0 !important;
  box-shadow: 0 20px 42px rgba(0, 0, 0, 0.1) !important;
  z-index: 30 !important;
}

.site-header .menu-item:hover>.dropdown {
  display: block !important;
}

.site-header .dropdown a,
.home-redesign-v4 .site-header .dropdown a {
  display: block !important;
  font-size: 15px !important;
  font-weight: 500 !important;
  line-height: 1.45 !important;
  color: #0b1930 !important;
  padding: 12px 22px !important;
  margin: 0 !important;
  background: transparent !important;
  text-decoration: none !important;
  border-radius: 7px !important;
}

.site-header .dropdown a:hover,
.site-header .has-sub:hover>a {
  background: #237b26 !important;
  color: #fff !important;
}

.site-header .has-sub {
  position: relative !important;
}

.site-header .submenu,
.home-redesign-v4 .site-header .submenu {
  display: none;
  position: absolute !important;
  left: calc(100% + 8px) !important;
  top: 0 !important;
  width: 330px !important;
  min-width: 330px !important;
  background: #fff !important;
  border: 1px solid #e3e3e3 !important;
  border-radius: 9px !important;
  padding: 12px 0 !important;
  box-shadow: 0 20px 42px rgba(0, 0, 0, 0.1) !important;
  z-index: 31 !important;
}

.site-header .has-sub:hover .submenu {
  display: block !important;
}

/* Home page: cleaner premium layout using all same content */
.home-redesign-v4 {
  background: #faf8f2 !important;
}

.home-redesign-v4 .container {
  width: min(1280px, calc(100% - 110px)) !important;
}

.home-hero-v4 {
  padding: 6px 0 86px !important;
}

.hero-grid-v4 {
  background: #e9e3d3 !important;
  border-radius: 17px !important;
  min-height: 620px !important;
  padding: 74px 56px !important;
  grid-template-columns: 1.1fr 0.9fr !important;
  gap: 64px !important;
  box-shadow: none !important;
}

.hero-content-v4 h1 {
  font-size: clamp(54px, 4.7vw, 72px) !important;
  line-height: 1.16 !important;
  font-weight: 500 !important;
  letter-spacing: -0.045em !important;
  color: #071b33 !important;
  margin-bottom: 30px !important;
}

.hero-content-v4 p {
  font-size: 18px !important;
  line-height: 1.9 !important;
  color: #5f6470 !important;
  max-width: 820px !important;
}

.hero-image-v4 img {
  height: 380px !important;
  border-radius: 16px 16px 16px 0 !important;
  object-fit: cover !important;
}

.hero-image-v4:before {
  background: #e9e3d3 !important;
  left: -54px !important;
  top: 112px !important;
}

.hero-image-v4:after {
  display: none !important;
  background: #fff !important;
}

.home-section {
  padding: 88px 0 !important;
}

.section-title-v4.center {
  max-width: 850px !important;
  margin-bottom: 60px !important;
}

.section-title-v4 h2 {
  font-size: clamp(42px, 3.6vw, 58px) !important;
  font-weight: 500 !important;
}

.section-title-v4 p {
  font-size: 17px !important;
  line-height: 1.9 !important;
  color: #59616b !important;
}

.cards-grid-v4 {
  gap: 34px !important;
}

.info-card-v4,
.service-card-v4 {
  background: #fff !important;
  border: 1px solid #dcdcdc !important;
  border-radius: 14px !important;
  box-shadow: none !important;
  min-height: 360px !important;
  padding: 46px 54px !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
}

.info-card-v4:hover,
.service-card-v4:hover {
  transform: none !important;
  box-shadow: 0 18px 45px rgba(6, 26, 51, 0.06) !important;
  border-color: #39a10b !important;
}

.info-card-v4:before,
.service-card-v4:before {
  display: none !important;
}

.info-card-v4.soft {
  background: #efffd1 !important;
}

.info-card-v4 img,
.service-card-v4 img {
  width: 90px !important;
  height: 90px !important;
  display: block !important;
  object-fit: contain !important;
  margin: 0 auto 26px !important;
  align-self: center !important;
  position: relative !important;
  left: auto !important;
  right: auto !important;
  transform: none !important;
}

.info-card-v4 h3,
.service-card-v4 h3 {
  font-size: clamp(26px, 2.1vw, 34px) !important;
  line-height: 1.15 !important;
  margin: 0 0 20px !important;
  text-align: center !important;
  color: #061a33 !important;
}

.info-card-v4 p,
.service-card-v4 p {
  font-size: 17px !important;
  line-height: 1.85 !important;
  max-width: 650px !important;
  margin: 0 auto 24px !important;
  text-align: center !important;
  color: #59616b !important;
}

.service-card-v4 {
  justify-content: center !important;
  min-height: 320px !important;
  padding: 44px 34px !important;
}

.service-card-v4 p {
  max-width: 360px !important;
}

.read-btn {
  border-radius: 6px !important;
  background: #339e0b !important;
  color: #fff !important;
  padding: 14px 30px !important;
}

.about-images-v4 img {
  border-radius: 14px !important;
  box-shadow: none !important;
}

.about-text-v4 {
  box-shadow: none !important;
  border: 0 !important;
  background: transparent !important;
  padding: 0 !important;
}

.trusted-bg-v4 {
  border-radius: 0 !important;
}

.testimonial-grid-v4 article {
  box-shadow: none !important;
  border-radius: 14px !important;
}

.testimonial-grid-v4 {
  grid-template-columns: repeat(2, 1fr) !important;
}

.testimonial-grid-v4 article:nth-child(3) {
  grid-column: auto !important;
  width: auto !important;
  margin: 0 !important;
}

/* Exact chart-style CTA used on original site/home */
.final-cta-wrap-v4,
.final-cta-wrap {
  padding: 88px 0 88px !important;
}

.cta-v4,
.final-cta,
.cta {
  position: relative !important;
  overflow: hidden !important;
  max-width: 1120px !important;
  margin: 0 auto !important;
  border-radius: 13px !important;
  min-height: 280px !important;
  background: #339e0b !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  padding: 58px 24px !important;
  color: #fff !important;
  box-shadow: none !important;
  border: 0 !important;
}

.cta-v4:before,
.final-cta:before,
.cta:before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  background:
    repeating-linear-gradient(to bottom,
      transparent 0 65px,
      rgba(255, 255, 255, 0.08) 66px 68px),
    linear-gradient(90deg,
      transparent 0 8%,
      rgba(0, 0, 0, 0.1) 8% 14%,
      transparent 14% 22%,
      rgba(0, 0, 0, 0.12) 22% 28%,
      transparent 28% 36%,
      rgba(0, 0, 0, 0.12) 36% 42%,
      transparent 42% 50%,
      rgba(0, 0, 0, 0.15) 50% 56%,
      transparent 56% 64%,
      rgba(0, 0, 0, 0.13) 64% 70%,
      transparent 70% 78%,
      rgba(0, 0, 0, 0.14) 78% 84%,
      transparent 84% 92%,
      rgba(0, 0, 0, 0.12) 92% 100%) !important;
  opacity: 0.45 !important;
}

.cta-v4:after,
.final-cta:after,
.cta:after {
  content: "" !important;
  position: absolute !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  height: 76% !important;
  background:
    linear-gradient(to top, rgba(0, 0, 0, 0.1), transparent),
    repeating-linear-gradient(to right,
      transparent 0 7.4%,
      rgba(21, 97, 35, 0.85) 7.4% 12.7%,
      transparent 12.7% 18.8%) !important;
  clip-path: polygon(0 72%,
      5% 72%,
      5% 44%,
      10% 44%,
      10% 0,
      15% 0,
      15% 100%,
      21% 100%,
      21% 55%,
      26% 55%,
      26% 100%,
      34% 100%,
      34% 35%,
      39% 35%,
      39% 100%,
      47% 100%,
      47% 0,
      52% 0,
      52% 100%,
      60% 100%,
      60% 17%,
      65% 17%,
      65% 100%,
      73% 100%,
      73% 63%,
      78% 63%,
      78% 100%,
      86% 100%,
      86% 35%,
      91% 35%,
      91% 100%,
      100% 100%,
      100% 100%,
      0 100%) !important;
  opacity: 0.64 !important;
}

.cta-v4 h2,
.final-cta h2,
.cta h2 {
  position: relative !important;
  z-index: 2 !important;
  color: #fff !important;
  font-size: clamp(36px, 3vw, 50px) !important;
  line-height: 1.15 !important;
  font-weight: 500 !important;
  margin: 0 0 20px !important;
  text-align: center !important;
  letter-spacing: -0.025em !important;
}

.cta-v4 h2 span,
.final-cta h2 span,
.cta h2 span,
.cta-v4 .serif,
.final-cta .serif {
  font-family: Georgia, serif !important;
  font-style: italic !important;
  font-weight: 700 !important;
  color: #fff !important;
}

.cta-v4 p,
.final-cta p,
.cta p {
  position: relative !important;
  z-index: 2 !important;
  color: #fff !important;
  font-size: 17px !important;
  font-weight: 600 !important;
  line-height: 1.5 !important;
  margin: 0 0 28px !important;
  text-align: center !important;
  max-width: 700px !important;
}

.cta-v4 a,
.final-cta a,
.final-cta .btn.white,
.cta a,
.cta .btn.white {
  position: relative !important;
  z-index: 2 !important;
  background: #fff !important;
  color: #061a33 !important;
  border-radius: 8px !important;
  min-width: 210px !important;
  padding: 16px 36px !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  text-decoration: none !important;
  box-shadow: none !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}

@media (max-width: 1180px) {

  .site-header .container,
  .site-header .navwrap,
  .home-redesign-v4 .container {
    width: min(100% - 40px, 1280px) !important;
  }

  .site-header .logo {
    flex-basis: 210px !important;
  }

  .site-header .logo img {
    width: 190px !important;
  }

  .site-header .nav {
    gap: 24px !important;
  }

  .site-header .nav>a,
  .site-header .menu-item>a {
    font-size: 15px !important;
  }

  .site-header .quote-btn {
    padding: 15px 22px !important;
  }

  .hero-grid-v4 {
    grid-template-columns: 1fr !important;
    min-height: 0 !important;
  }
}

@media (max-width: 900px) {

  .site-header,
  .site-header .container,
  .site-header .navwrap {
    height: 76px !important;
  }

  .site-header .logo {
    flex: 0 0 auto !important;
  }

  .site-header .logo img {
    width: 160px !important;
  }

  .site-header .nav {
    display: none !important;
  }

  .site-header .nav.show {
    display: flex !important;
  }

  .hero-grid-v4 {
    padding: 42px 22px !important;
    border-radius: 16px !important;
  }

  .cards-grid-v4.two,
  .cards-grid-v4.three,
  .testimonial-grid-v4 {
    grid-template-columns: 1fr !important;
  }
}

/* === FINAL CLIENT FIX 14 Jun: live-style header, shared advice CTA, testimonial slider, font polish === */
body {
  font-family: Inter, Arial, sans-serif !important;
  color: #384656 !important;
  background: #faf8f2 !important;
  font-size: 16px !important;
  line-height: 1.65 !important;
}

h1 {
  font-size: clamp(46px, 4.8vw, 72px) !important;
  line-height: 1.12 !important;
  font-weight: 500 !important;
  letter-spacing: -0.045em !important;
}

h2 {
  font-size: clamp(36px, 3.5vw, 56px) !important;
  line-height: 1.12 !important;
  font-weight: 500 !important;
  letter-spacing: -0.04em !important;
}

h3 {
  font-size: clamp(22px, 2vw, 30px) !important;
  line-height: 1.18 !important;
  font-weight: 700 !important;
  letter-spacing: -0.025em !important;
}

p {
  font-size: 17px !important;
  line-height: 1.85 !important;
  color: #4e5b68 !important;
}

.site-header {
  height: 94px !important;
  background: #faf8f2 !important;
  border-bottom: 0 !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  position: sticky !important;
  top: 0 !important;
  z-index: 99999 !important;
}

.global-navwrap {
  width: min(1260px, calc(100% - 80px)) !important;
  height: 94px !important;
  margin: 0 auto !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 34px !important;
}

.global-logo {
  display: flex !important;
  align-items: center !important;
  flex: 0 0 255px !important;
  text-decoration: none !important;
}

.global-logo img {
  width: 245px !important;
  height: auto !important;
  max-height: 74px !important;
  object-fit: contain !important;
}

.global-nav {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 38px !important;
  flex: 1 !important;
  position: static !important;
}

.global-nav>a,
.service-menu-v4>.service-link {
  font-family: Inter, Arial, sans-serif !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  line-height: 1 !important;
  color: #020b1e !important;
  background: transparent !important;
  padding: 39px 0 !important;
  border-radius: 0 !important;
  text-decoration: none !important;
  transform: none !important;
  letter-spacing: 0 !important;
  white-space: nowrap !important;
}

.global-nav>a:hover,
.service-menu-v4:hover>.service-link,
.global-nav>a.active,
.service-menu-v4>.service-link.active {
  background: transparent !important;
  color: #259400 !important;
  transform: none !important;
}

.global-quote {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: #339e0b !important;
  color: #fff !important;
  border-radius: 8px !important;
  min-width: 146px !important;
  padding: 17px 28px !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  text-decoration: none !important;
  box-shadow: none !important;
}

.global-quote:hover {
  background: #247f06 !important;
  color: #fff !important;
  transform: none !important;
}

.service-menu-v4 {
  position: relative !important;
  padding: 0 !important;
}

.global-dropdown {
  position: absolute !important;
  top: 72px !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  width: 330px !important;
  min-width: 330px !important;
  background: #fff !important;
  border: 1px solid #e6e6e6 !important;
  border-radius: 8px !important;
  padding: 10px 0 !important;
  box-shadow: 0 24px 45px rgba(6, 26, 51, 0.12) !important;
  z-index: 999999 !important;
  display: none !important;
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
}

.service-menu-v4:hover>.global-dropdown {
  display: block !important;
}

.global-dropdown a,
.global-submenu a {
  display: block !important;
  font-size: 15px !important;
  font-weight: 500 !important;
  color: #0b1930 !important;
  line-height: 1.48 !important;
  text-decoration: none !important;
  padding: 10px 22px !important;
  margin: 0 !important;
  border-radius: 7px !important;
  background: transparent !important;
  letter-spacing: 0.01em !important;
}

.global-dropdown a:hover,
.global-dropdown a.active,
.global-has-sub:hover>a {
  background: #237b26 !important;
  color: #fff !important;
}

.global-has-sub {
  position: relative !important;
}

.global-submenu {
  display: none !important;
  position: absolute !important;
  left: calc(100% + 8px) !important;
  top: 0 !important;
  width: 330px !important;
  min-width: 330px !important;
  background: #fff !important;
  border: 1px solid #e6e6e6 !important;
  border-radius: 8px !important;
  padding: 10px 0 !important;
  box-shadow: 0 24px 45px rgba(6, 26, 51, 0.12) !important;
  z-index: 999999 !important;
}

.global-has-sub:hover>.global-submenu {
  display: block !important;
}

.global-toggle {
  display: none !important;
}

/* Same green advice CTA across every page */
.global-advice-section {
  padding: 76px 0 88px !important;
  background: transparent !important;
}

.global-advice-card {
  width: min(1180px, calc(100% - 80px)) !important;
  margin: 0 auto !important;
  background: linear-gradient(135deg,
      #24a900 0%,
      #229d1c 45%,
      #177b33 100%) !important;
  border-radius: 34px !important;
  padding: 64px 64px !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  align-items: center !important;
  gap: 40px !important;
  box-shadow: 0 28px 80px rgba(6, 26, 51, 0.12) !important;
  position: relative !important;
  overflow: hidden !important;
  text-align: left !important;
  min-height: 286px !important;
}

.global-advice-card:before {
  content: "" !important;
  position: absolute !important;
  right: -60px !important;
  top: -92px !important;
  width: 280px !important;
  height: 280px !important;
  border-radius: 50% !important;
  background: rgba(255, 255, 255, 0.16) !important;
}

.global-advice-card:after {
  content: "" !important;
  position: absolute !important;
  right: -30px !important;
  bottom: -120px !important;
  width: 420px !important;
  height: 250px !important;
  border-radius: 50% !important;
  background: rgba(6, 26, 51, 0.1) !important;
}

.global-advice-content,
.global-advice-card .btn {
  position: relative !important;
  z-index: 2 !important;
}

.global-advice-badge {
  display: inline-flex !important;
  align-items: center !important;
  padding: 10px 18px !important;
  border-radius: 999px !important;
  background: rgba(255, 255, 255, 0.14) !important;
  border: 1px solid rgba(255, 255, 255, 0.28) !important;
  color: #fff !important;
  font-size: 12px !important;
  font-weight: 900 !important;
  letter-spacing: 0.095em !important;
  text-transform: uppercase !important;
  margin-bottom: 22px !important;
}

.global-advice-card h2 {
  color: #fff !important;
  font-size: clamp(40px, 4.1vw, 62px) !important;
  line-height: 1.04 !important;
  font-weight: 700 !important;
  letter-spacing: -0.055em !important;
  margin: 0 0 16px !important;
  text-align: left !important;
}

.global-advice-card h2 .serif {
  font-family: Georgia, serif !important;
  font-style: italic !important;
  font-weight: 700 !important;
  color: #fff !important;
}

.global-advice-card p {
  color: #fff !important;
  font-size: 17px !important;
  line-height: 1.65 !important;
  max-width: 760px !important;
  margin: 0 !important;
  text-align: left !important;
  font-weight: 600 !important;
}

.global-advice-card .btn {
  background: #fff !important;
  color: #061a33 !important;
  border-radius: 999px !important;
  padding: 19px 34px !important;
  min-width: 250px !important;
  text-align: center !important;
  text-decoration: none !important;
  font-weight: 850 !important;
  font-size: 16px !important;
  box-shadow: none !important;
  white-space: nowrap !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.global-advice-card .btn:hover {
  background: #f4fff0 !important;
  color: #061a33 !important;
  transform: none !important;
}

/* home cards/icons polish */
.info-card-v4,
.service-card-v4,
.card,
.service-card {
  text-align: center !important;
  align-items: center !important;
}

.info-card-v4 img,
.service-card-v4 img,
.service-card img {
  display: block !important;
  margin-left: auto !important;
  margin-right: auto !important;
  align-self: center !important;
}

.home-redesign-v4 .cards-grid-v4,
.home-redesign-v4 .services-grid-v4 {
  align-items: stretch !important;
}

.home-redesign-v4 .service-card-v4 {
  min-height: 330px !important;
  justify-content: center !important;
}

.home-redesign-v4 .service-card-v4 h3 {
  font-size: 28px !important;
}

.home-redesign-v4 .service-card-v4 p {
  font-size: 16px !important;
  line-height: 1.75 !important;
}

/* testimonial slider */
.testimonials-v4 {
  overflow: hidden !important;
  padding-top: 70px !important;
}

.testimonial-grid-v4 {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 34px !important;
  align-items: stretch !important;
}

.testimonial-grid-v4 article {
  display: none !important;
  background: #fff !important;
  border: 1px solid rgba(6, 26, 51, 0.1) !important;
  border-radius: 16px !important;
  padding: 54px 58px !important;
  min-height: 300px !important;
  box-shadow: none !important;
}

.testimonial-grid-v4 article.is-visible {
  display: flex !important;
  flex-direction: column !important;
  justify-content: space-between !important;
}

.testimonial-grid-v4 article p {
  font-size: 21px !important;
  line-height: 1.65 !important;
  color: #061a33 !important;
  font-style: italic !important;
  margin: 0 0 34px !important;
}

.testimonial-grid-v4 article div {
  display: flex !important;
  align-items: center !important;
  gap: 18px !important;
}

.testimonial-grid-v4 article img {
  width: 64px !important;
  height: 64px !important;
  border-radius: 50% !important;
  object-fit: cover !important;
}

.testimonial-grid-v4 article strong {
  font-size: 20px !important;
  color: #061a33 !important;
}

.testimonial-grid-v4 article small {
  font-size: 14px !important;
  color: #6c7480 !important;
  display: block !important;
}

.testimonial-dots {
  display: flex !important;
  justify-content: center !important;
  gap: 10px !important;
  margin-top: 28px !important;
}

.testimonial-dots button {
  width: 10px !important;
  height: 10px !important;
  border-radius: 50% !important;
  border: 0 !important;
  padding: 0 !important;
  background: #9fb3b5 !important;
  cursor: pointer !important;
}

.testimonial-dots button.active {
  background: #35a900 !important;
}

@media (max-width: 1180px) {
  .global-navwrap {
    width: min(100% - 36px, 1260px) !important;
    gap: 22px !important;
  }

  .global-logo {
    flex-basis: 210px !important;
  }

  .global-logo img {
    width: 200px !important;
  }

  .global-nav {
    gap: 24px !important;
  }

  .global-nav>a,
  .service-menu-v4>.service-link {
    font-size: 15px !important;
  }

  .global-quote {
    padding: 15px 22px !important;
  }

  .global-advice-card {
    width: min(100% - 44px, 1180px) !important;
    padding: 54px 42px !important;
  }
}

@media (max-width: 900px) {
  .site-header {
    height: 76px !important;
  }

  .global-navwrap {
    height: 76px !important;
    width: calc(100% - 28px) !important;
  }

  .global-logo {
    flex: 0 0 auto !important;
  }

  .global-logo img {
    width: 170px !important;
  }

  .global-toggle {
    display: block !important;
    order: 3;
    background: #061a33 !important;
    color: #fff !important;
    border: 0 !important;
    border-radius: 12px !important;
    width: 44px !important;
    height: 44px !important;
  }

  .global-nav {
    display: none !important;
    position: absolute !important;
    top: 76px !important;
    left: 14px !important;
    right: 14px !important;
    flex-direction: column !important;
    align-items: stretch !important;
    background: #fff !important;
    border: 1px solid rgba(6, 26, 51, 0.1) !important;
    border-radius: 18px !important;
    box-shadow: 0 22px 55px rgba(6, 26, 51, 0.16) !important;
    padding: 12px !important;
    gap: 0 !important;
  }

  .global-nav.show {
    display: flex !important;
  }

  .global-nav>a,
  .service-menu-v4>.service-link {
    padding: 14px 14px !important;
    width: 100% !important;
  }

  .global-dropdown,
  .global-submenu {
    position: static !important;
    transform: none !important;
    width: 100% !important;
    min-width: 0 !important;
    box-shadow: none !important;
    display: none !important;
    margin: 6px 0 !important;
  }

  .service-menu-v4.open>.global-dropdown,
  .global-has-sub.open>.global-submenu {
    display: block !important;
  }

  .service-menu-v4:hover>.global-dropdown,
  .global-has-sub:hover>.global-submenu {
    display: none !important;
  }

  .service-menu-v4.open:hover>.global-dropdown,
  .global-has-sub.open:hover>.global-submenu {
    display: block !important;
  }

  .global-quote {
    order: 2;
    padding: 11px 16px !important;
    font-size: 13px !important;
    min-width: auto !important;
  }

  .global-advice-card {
    grid-template-columns: 1fr !important;
    text-align: left !important;
    border-radius: 26px !important;
  }

  .global-advice-card .btn {
    width: max-content !important;
  }

  .testimonial-grid-v4 {
    grid-template-columns: 1fr !important;
  }

  .testimonial-grid-v4 article {
    padding: 34px 26px !important;
  }

  .testimonial-grid-v4 article p {
    font-size: 18px !important;
  }
}

@media (max-width: 560px) {
  .global-logo img {
    width: 150px !important;
  }

  .global-quote {
    display: none !important;
  }

  .global-advice-card {
    width: calc(100% - 28px) !important;
    padding: 34px 22px !important;
  }

  .global-advice-card h2 {
    font-size: 34px !important;
  }

  .global-advice-card p {
    font-size: 16px !important;
  }

  .global-advice-card .btn {
    width: 100% !important;
    min-width: 0 !important;
  }

  .global-advice-badge {
    font-size: 10px !important;
  }

  .home-redesign-v4 .container {
    width: calc(100% - 28px) !important;
  }
}

/* =========================================================
   CLIENT FIX V5: final typography, blog cards, manual 2-up testimonials
========================================================= */
html,
body {
  overflow-x: hidden !important;
}

body {
  font-size: 16px !important;
  line-height: 1.7 !important;
}

h1 {
  font-size: clamp(42px, 4.2vw, 66px) !important;
  line-height: 1.08 !important;
  letter-spacing: -0.045em !important;
}

h2 {
  font-size: clamp(32px, 3.1vw, 48px) !important;
  line-height: 1.12 !important;
  letter-spacing: -0.04em !important;
}

h3 {
  font-size: clamp(21px, 1.7vw, 28px) !important;
  line-height: 1.22 !important;
  letter-spacing: -0.025em !important;
}

p {
  font-size: 16px !important;
  line-height: 1.76 !important;
}

/* Header closer to live site */
.site-header {
  height: 86px !important;
  background: #fbfaf7 !important;
  border-bottom: 0 !important;
  box-shadow: none !important;
}

.global-navwrap {
  height: 86px !important;
  width: min(1280px, calc(100% - 72px)) !important;
  margin: auto !important;
  display: flex !important;
  align-items: center !important;
  gap: 34px !important;
}

.global-logo {
  flex: 0 0 240px !important;
  display: flex !important;
  align-items: center !important;
}

.global-logo img {
  width: 220px !important;
  max-height: 74px !important;
  object-fit: contain !important;
  display: block !important;
}

.global-nav {
  flex: 1 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 34px !important;
}

.global-nav>a,
.service-menu-v4>.service-link {
  font-size: 15.5px !important;
  font-weight: 600 !important;
  color: #020b1e !important;
  text-decoration: none !important;
  background: transparent !important;
  padding: 10px 0 !important;
  border-radius: 0 !important;
  line-height: 1.1 !important;
}

.global-nav>a:hover,
.service-menu-v4>.service-link:hover,
.global-nav>a.active,
.service-menu-v4>.service-link.active {
  color: #208200 !important;
  background: transparent !important;
}

.global-quote {
  background: #349f0c !important;
  color: #fff !important;
  border-radius: 8px !important;
  padding: 15px 28px !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  text-decoration: none !important;
  box-shadow: none !important;
  white-space: nowrap !important;
}

.global-dropdown {
  top: calc(100% + 15px) !important;
  border-radius: 8px !important;
  padding: 12px 0 !important;
  box-shadow: 0 16px 35px rgba(0, 0, 0, 0.08) !important;
  border: 1px solid #e2e2e2 !important;
  min-width: 320px !important;
  background: #fff !important;
}

.global-dropdown a,
.global-submenu a {
  font-size: 14px !important;
  line-height: 1.45 !important;
  padding: 10px 20px !important;
  border-radius: 6px !important;
  color: #0a1830 !important;
  font-weight: 500 !important;
}

.global-dropdown a:hover,
.global-submenu a:hover,
.global-has-sub:hover>a {
  background: #237b26 !important;
  color: #fff !important;
}

.global-submenu {
  left: calc(100% + 8px) !important;
  top: 92px !important;
  border-radius: 8px !important;
  padding: 12px 0 !important;
  box-shadow: 0 16px 35px rgba(0, 0, 0, 0.08) !important;
  border: 1px solid #e2e2e2 !important;
  min-width: 320px !important;
  background: #fff !important;
}

/* Home page sizing polish */
.home-redesign-v4 .container {
  width: min(1220px, calc(100% - 80px)) !important;
}

.home-section {
  padding: 74px 0 !important;
}

.hero-content-v4 h1 {
  font-size: clamp(44px, 4.6vw, 68px) !important;
  line-height: 1.08 !important;
}

.section-title-v4 h2,
.about-title-v4 h2,
.trusted-v4 h2,
.form-v4-wrap h2,
.blog-head-v4 h2 {
  font-size: clamp(34px, 3.2vw, 50px) !important;
}

.section-title-v4 p {
  max-width: 760px !important;
  margin-inline: auto !important;
  font-size: 16px !important;
  line-height: 1.85 !important;
}

.info-card-v4,
.service-card-v4 {
  padding: 42px 38px !important;
  text-align: center !important;
}

.info-card-v4 img,
.service-card-v4 img {
  display: block !important;
  margin: 0 auto 24px !important;
  width: 84px !important;
  height: 84px !important;
  object-fit: contain !important;
}

.info-card-v4 h3,
.service-card-v4 h3 {
  font-size: 26px !important;
  margin-bottom: 16px !important;
}

.info-card-v4 p,
.service-card-v4 p {
  font-size: 15.5px !important;
  line-height: 1.8 !important;
}

.service-card-v4 {
  min-height: 300px !important;
}

/* Testimonial: manual slider, always 2 cards on desktop, no auto movement */
.testimonials-v4 {
  padding-top: 68px !important;
  padding-bottom: 74px !important;
}

.testimonial-grid-v4 {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 28px !important;
  align-items: stretch !important;
  max-width: 1060px !important;
  margin: 0 auto !important;
}

.testimonial-grid-v4 article {
  display: none !important;
  background: #fff !important;
  border: 1px solid #dedede !important;
  border-radius: 12px !important;
  padding: 38px 42px !important;
  min-height: 260px !important;
  box-shadow: none !important;
}

.testimonial-grid-v4 article.is-visible {
  display: flex !important;
  flex-direction: column !important;
  justify-content: space-between !important;
}

.testimonial-grid-v4 article>p {
  font-size: 18px !important;
  line-height: 1.7 !important;
  color: #071b34 !important;
  font-style: italic !important;
  margin: 0 0 28px !important;
}

.testimonial-grid-v4 article div {
  display: flex !important;
  align-items: center !important;
  gap: 16px !important;
}

.testimonial-grid-v4 article img {
  width: 58px !important;
  height: 58px !important;
  border-radius: 50% !important;
  border: 6px solid #f1f2f3 !important;
  object-fit: cover !important;
}

.testimonial-grid-v4 article strong {
  font-size: 17px !important;
  line-height: 1.2 !important;
}

.testimonial-grid-v4 article small {
  font-size: 12.5px !important;
  color: #777 !important;
}

.testimonial-dots {
  display: flex !important;
  justify-content: center !important;
  gap: 10px !important;
  margin-top: 28px !important;
}

.testimonial-dots button {
  width: 9px !important;
  height: 9px !important;
  border-radius: 50% !important;
  border: 0 !important;
  padding: 0 !important;
  background: #b9c7c3 !important;
  cursor: pointer !important;
}

.testimonial-dots button.active {
  background: #299b07 !important;
}

/* Blogs: cleaner smaller cards */
.blog-v4 {
  padding-top: 60px !important;
  background: #fbfaf7 !important;
}

.blog-head-v4 {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  margin-bottom: 28px !important;
  gap: 24px !important;
}

.blog-head-v4 h2 {
  font-size: clamp(34px, 3.2vw, 50px) !important;
  font-weight: 600 !important;
  margin: 0 !important;
  line-height: 1.1 !important;
}

.blog-head-v4 .read-btn {
  padding: 13px 24px !important;
  border-radius: 8px !important;
  font-size: 14px !important;
}

.blog-grid-v4 {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 24px !important;
  align-items: stretch !important;
}

.blog-grid-v4 article {
  background: #fff !important;
  border: 1px solid rgba(6, 26, 51, 0.09) !important;
  border-radius: 18px !important;
  overflow: hidden !important;
  box-shadow: 0 14px 38px rgba(6, 26, 51, 0.065) !important;
  color: #061a33 !important;
  display: flex !important;
  flex-direction: column !important;
}

.blog-grid-v4 article:hover {
  transform: translateY(-4px) !important;
  box-shadow: 0 22px 50px rgba(6, 26, 51, 0.1) !important;
}

.blog-grid-v4 img {
  height: 185px !important;
  width: 100% !important;
  object-fit: cover !important;
  display: block !important;
}

.blog-grid-v4 div {
  padding: 22px 22px 24px !important;
  display: flex !important;
  flex-direction: column !important;
  flex: 1 !important;
}

.blog-grid-v4 h3 {
  font-size: 20px !important;
  line-height: 1.28 !important;
  color: #061a33 !important;
  margin: 0 0 14px !important;
  font-weight: 700 !important;
  letter-spacing: -0.025em !important;
}

.blog-grid-v4 p {
  font-size: 13px !important;
  line-height: 1.5 !important;
  color: #647181 !important;
  margin: 0 0 20px !important;
}

.blog-grid-v4 a {
  margin-top: auto !important;
  align-self: flex-start !important;
  background: #349f0c !important;
  color: #fff !important;
  text-decoration: none !important;
  border-radius: 7px !important;
  padding: 10px 18px !important;
  font-size: 13.5px !important;
  font-weight: 750 !important;
}

.blog-grid-v4 a:hover {
  background: #237b26 !important;
}

/* Global advice section identical on every page */
.global-advice-section {
  padding: 70px 0 86px !important;
  background: #fbfaf7 !important;
}

.global-advice-card {
  width: min(1180px, calc(100% - 80px)) !important;
  margin: 0 auto !important;
  border-radius: 28px !important;
  padding: 60px 60px !important;
  min-height: 270px !important;
}

.global-advice-card h2 {
  font-size: clamp(38px, 3.5vw, 56px) !important;
}

.global-advice-card p {
  font-size: 17px !important;
  max-width: 720px !important;
}

@media (max-width: 1100px) {
  .blog-grid-v4 {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .global-nav {
    gap: 24px !important;
  }

  .global-logo {
    flex-basis: 210px !important;
  }

  .global-logo img {
    width: 198px !important;
  }
}

@media (max-width: 900px) {
  .site-header {
    height: 76px !important;
  }

  .global-navwrap {
    height: 76px !important;
    width: calc(100% - 30px) !important;
  }

  .global-logo img {
    width: 170px !important;
  }

  .global-toggle {
    display: block !important;
  }

  .global-nav {
    display: none !important;
    position: absolute !important;
    top: 76px !important;
    left: 15px !important;
    right: 15px !important;
    flex-direction: column !important;
    align-items: stretch !important;
    background: #fff !important;
    border-radius: 18px !important;
    padding: 12px !important;
    box-shadow: 0 22px 55px rgba(6, 26, 51, 0.16) !important;
  }

  .global-nav.show {
    display: flex !important;
  }

  .global-nav>a,
  .service-menu-v4>.service-link {
    padding: 13px 14px !important;
    width: 100% !important;
  }

  .global-dropdown,
  .global-submenu {
    position: static !important;
    display: none !important;
    min-width: 0 !important;
    width: 100% !important;
    box-shadow: none !important;
    margin: 6px 0 !important;
  }

  .service-menu-v4.open>.global-dropdown,
  .global-has-sub.open>.global-submenu {
    display: block !important;
  }

  .global-quote {
    padding: 11px 16px !important;
    font-size: 13px !important;
  }

  .home-redesign-v4 .container {
    width: calc(100% - 32px) !important;
  }

  .testimonial-grid-v4 {
    grid-template-columns: 1fr !important;
    max-width: 640px !important;
  }

  .blog-grid-v4 {
    grid-template-columns: 1fr !important;
  }

  .blog-head-v4 {
    display: block !important;
  }

  .blog-head-v4 .read-btn {
    margin-top: 14px !important;
  }

  .global-advice-card {
    grid-template-columns: 1fr !important;
    width: calc(100% - 32px) !important;
    padding: 38px 26px !important;
  }

  .global-advice-card .btn {
    width: max-content !important;
  }
}

@media (max-width: 560px) {
  h1 {
    font-size: 36px !important;
  }

  h2 {
    font-size: 30px !important;
  }

  h3 {
    font-size: 22px !important;
  }

  p {
    font-size: 15px !important;
  }

  .global-logo img {
    width: 150px !important;
  }

  .global-quote {
    display: none !important;
  }

  .hero-content-v4 h1 {
    font-size: 36px !important;
  }

  .section-title-v4 h2,
  .about-title-v4 h2,
  .trusted-v4 h2,
  .form-v4-wrap h2,
  .blog-head-v4 h2 {
    font-size: 30px !important;
  }

  .testimonial-grid-v4 article {
    padding: 28px 22px !important;
  }

  .testimonial-grid-v4 article>p {
    font-size: 16px !important;
  }

  .blog-grid-v4 h3 {
    font-size: 18px !important;
  }

  .global-advice-card h2 {
    font-size: 30px !important;
  }

  .global-advice-card .btn {
    width: 100% !important;
  }
}

/* FINAL FIX V6: shared contact CTA on every page + smaller typography + stable manual testimonials + cleaner blogs */
html {
  font-size: 16px !important;
}

body {
  font-size: 16px !important;
  line-height: 1.65 !important;
  color: #435061 !important;
}

.container {
  max-width: 1180px !important;
}

/* Website-wide heading scale reduced */
h1,
.page-hero h1,
.hero-copy h1,
.contact-v4-copy h1,
.hero-content-v4 h1 {
  font-size: clamp(38px, 4.2vw, 58px) !important;
  line-height: 1.08 !important;
  letter-spacing: -0.04em !important;
}

h2,
.section h2,
.section-title-v4 h2,
.about-title-v4 h2,
.trusted-v4 h2,
.form-v4-wrap h2,
.blog-head-v4 h2,
.contact-v4-form-card h2,
.contact-v4-intro h2 {
  font-size: clamp(30px, 3vw, 44px) !important;
  line-height: 1.14 !important;
  letter-spacing: -0.035em !important;
}

h3,
.service-card-v4 h3,
.info-card-v4 h3,
.blog-grid-v4 h3,
.blog-card-body h3 {
  font-size: clamp(20px, 1.7vw, 26px) !important;
  line-height: 1.25 !important;
}

p,
.section p,
.service-card-v4 p,
.info-card-v4 p,
.contact-v4-copy p,
.contact-v4-intro p {
  font-size: 16px !important;
  line-height: 1.72 !important;
}

/* Header like live website, balanced and consistent */
.site-header {
  height: 82px !important;
  background: #fff !important;
  box-shadow: none !important;
  border-bottom: 0 !important;
  position: sticky !important;
  top: 0 !important;
  z-index: 1000 !important;
}

.global-navwrap {
  height: 82px !important;
  width: min(1280px, calc(100% - 72px)) !important;
  margin: 0 auto !important;
  display: flex !important;
  align-items: center !important;
  gap: 34px !important;
}

.global-logo {
  flex: 0 0 250px !important;
  display: flex !important;
  align-items: center !important;
}

.global-logo img {
  width: 235px !important;
  height: auto !important;
  display: block !important;
}

.global-nav {
  flex: 1 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 38px !important;
}

.global-nav>a,
.service-menu-v4>.service-link {
  font-size: 16px !important;
  font-weight: 500 !important;
  color: #061a33 !important;
  text-decoration: none !important;
  background: transparent !important;
  padding: 10px 0 !important;
  border-radius: 0 !important;
  line-height: 1.1 !important;
}

.global-nav>a:hover,
.service-menu-v4>.service-link:hover,
.global-nav>a.active,
.service-menu-v4>.service-link.active {
  color: #258d00 !important;
  background: transparent !important;
  transform: none !important;
}

.global-quote {
  background: #339e0b !important;
  color: #fff !important;
  border-radius: 7px !important;
  padding: 15px 30px !important;
  min-width: 126px !important;
  text-align: center !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  text-decoration: none !important;
}

.global-dropdown {
  top: 100% !important;
  left: 50% !important;
  transform: translateX(-50%) translateY(12px) !important;
  border-radius: 9px !important;
  padding: 12px 0 !important;
  width: 300px !important;
  box-shadow: 0 12px 35px rgba(6, 26, 51, 0.12) !important;
  border: 1px solid rgba(6, 26, 51, 0.1) !important;
}

.global-dropdown a {
  font-size: 14.5px !important;
  line-height: 1.55 !important;
  padding: 10px 20px !important;
  color: #061a33 !important;
}

.global-dropdown a:hover,
.global-dropdown a.active,
.global-has-sub:hover>a {
  background: #247b2b !important;
  color: #fff !important;
}

.global-submenu {
  left: 100% !important;
  top: 58px !important;
  width: 310px !important;
  border-radius: 9px !important;
  box-shadow: 0 12px 35px rgba(6, 26, 51, 0.12) !important;
}

/* Shared CTA: exact contact-us style everywhere */
.global-advice-section,
.final-cta-wrap-v4,
.about-final-v2 {
  padding: 86px 0 96px !important;
  background: #fbfaf7 !important;
}

.global-advice-card,
.about-final-card,
.cta-v4,
.cta {
  width: min(1180px, calc(100% - 72px)) !important;
  margin: 0 auto !important;
  background: linear-gradient(135deg,
      #24a900 0%,
      #229d1c 45%,
      #177b33 100%) !important;
  border-radius: 32px !important;
  padding: 58px 60px !important;
  min-height: 285px !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  align-items: center !important;
  gap: 40px !important;
  box-shadow: 0 28px 80px rgba(6, 26, 51, 0.12) !important;
  position: relative !important;
  overflow: hidden !important;
  text-align: left !important;
  border: 0 !important;
}

.global-advice-card:before,
.about-final-card:before,
.cta-v4:before,
.cta:before {
  content: "" !important;
  position: absolute !important;
  right: -54px !important;
  top: -92px !important;
  width: 280px !important;
  height: 280px !important;
  border-radius: 50% !important;
  background: rgba(255, 255, 255, 0.16) !important;
}

.global-advice-card:after,
.about-final-card:after,
.cta-v4:after,
.cta:after {
  content: "" !important;
  position: absolute !important;
  right: -22px !important;
  bottom: -125px !important;
  width: 420px !important;
  height: 250px !important;
  border-radius: 50% !important;
  background: rgba(6, 26, 51, 0.1) !important;
  opacity: 1 !important;
}

.global-advice-content,
.about-final-card>div,
.global-advice-card .btn,
.about-final-card .btn,
.cta-v4 h2,
.cta-v4 p,
.cta-v4 a,
.cta h2,
.cta p,
.cta a {
  position: relative !important;
  z-index: 2 !important;
}

.global-advice-badge,
.about-final-card .eyebrow {
  display: inline-flex !important;
  align-items: center !important;
  padding: 10px 18px !important;
  border-radius: 999px !important;
  background: rgba(255, 255, 255, 0.14) !important;
  border: 1px solid rgba(255, 255, 255, 0.28) !important;
  color: #fff !important;
  font-size: 12px !important;
  font-weight: 900 !important;
  letter-spacing: 0.095em !important;
  text-transform: uppercase !important;
  margin-bottom: 22px !important;
}

.global-advice-card h2,
.about-final-card h2,
.cta-v4 h2,
.cta h2 {
  color: #fff !important;
  font-size: clamp(40px, 4vw, 60px) !important;
  line-height: 1.04 !important;
  font-weight: 700 !important;
  letter-spacing: -0.055em !important;
  margin: 0 0 16px !important;
  text-align: left !important;
  max-width: 660px !important;
}

.global-advice-card h2 .serif,
.about-final-card h2 .serif,
.cta-v4 h2 span,
.cta h2 span {
  font-family: Georgia, serif !important;
  font-style: italic !important;
  font-weight: 700 !important;
  color: #fff !important;
}

.global-advice-card p,
.about-final-card p,
.cta-v4 p,
.cta p {
  color: #fff !important;
  font-size: 17px !important;
  line-height: 1.65 !important;
  max-width: 760px !important;
  margin: 0 !important;
  text-align: left !important;
  font-weight: 400 !important;
}

.global-advice-card .btn,
.about-final-card .btn,
.cta-v4 a,
.cta .btn.white,
.cta a.btn,
.cta a {
  background: #fff !important;
  color: #061a33 !important;
  border-radius: 999px !important;
  padding: 19px 34px !important;
  min-width: 250px !important;
  text-align: center !important;
  text-decoration: none !important;
  font-weight: 850 !important;
  font-size: 16px !important;
  box-shadow: none !important;
  white-space: nowrap !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  justify-self: end !important;
}

/* Manual testimonials: always two visible on desktop, no auto slide */
.testimonial-grid-v4 {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 28px !important;
  align-items: stretch !important;
  max-width: 1060px !important;
  margin: 0 auto !important;
}

.testimonial-grid-v4 article {
  display: none !important;
  background: #fff !important;
  border: 1px solid #dedede !important;
  border-radius: 12px !important;
  padding: 38px 42px !important;
  min-height: 255px !important;
  box-shadow: none !important;
}

.testimonial-grid-v4 article.is-visible {
  display: flex !important;
  flex-direction: column !important;
  justify-content: space-between !important;
}

.testimonial-grid-v4 article>p {
  font-size: 17px !important;
  line-height: 1.7 !important;
  color: #071b34 !important;
  font-style: italic !important;
  margin: 0 0 26px !important;
}

.testimonial-grid-v4 article img {
  width: 58px !important;
  height: 58px !important;
  border-radius: 50% !important;
  border: 6px solid #f1f2f3 !important;
  object-fit: cover !important;
}

.testimonial-grid-v4 article strong {
  font-size: 17px !important;
  line-height: 1.2 !important;
}

.testimonial-grid-v4 article small {
  font-size: 12.5px !important;
  color: #777 !important;
}

.testimonial-dots {
  display: flex !important;
  justify-content: center !important;
  gap: 10px !important;
  margin-top: 28px !important;
}

.testimonial-dots button {
  width: 10px !important;
  height: 10px !important;
  border-radius: 50% !important;
  border: 0 !important;
  background: #9eb5b9 !important;
  padding: 0 !important;
  cursor: pointer !important;
}

.testimonial-dots button.active {
  background: #2ca000 !important;
}

/* Cleaner blog cards on home page */
.blog-v4 {
  padding: 62px 0 72px !important;
  background: #fbfaf7 !important;
  overflow: hidden !important;
}

.blog-head-v4 {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  margin-bottom: 28px !important;
  gap: 24px !important;
}

.blog-head-v4 h2 {
  font-size: clamp(32px, 3vw, 46px) !important;
  font-weight: 600 !important;
  margin: 0 !important;
  line-height: 1.1 !important;
}

.blog-head-v4 .read-btn {
  padding: 12px 22px !important;
  border-radius: 8px !important;
  font-size: 14px !important;
}

.blog-grid-v4 {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 24px !important;
  align-items: stretch !important;
}

.blog-grid-v4 article {
  background: #fff !important;
  border: 1px solid rgba(6, 26, 51, 0.09) !important;
  border-radius: 18px !important;
  overflow: hidden !important;
  box-shadow: 0 14px 38px rgba(6, 26, 51, 0.065) !important;
  color: #061a33 !important;
  display: flex !important;
  flex-direction: column !important;
  min-width: 0 !important;
}

.blog-grid-v4 img {
  height: 190px !important;
  width: 100% !important;
  object-fit: cover !important;
  display: block !important;
}

.blog-grid-v4 div {
  padding: 22px 22px 24px !important;
  display: flex !important;
  flex-direction: column !important;
  flex: 1 !important;
}

.blog-grid-v4 h3 {
  font-size: 19px !important;
  line-height: 1.28 !important;
  color: #061a33 !important;
  margin: 0 0 14px !important;
  font-weight: 700 !important;
  letter-spacing: -0.025em !important;
}

.blog-grid-v4 p {
  font-size: 13px !important;
  line-height: 1.5 !important;
  color: #647181 !important;
  margin: 0 0 20px !important;
}

.blog-grid-v4 a {
  margin-top: auto !important;
  align-self: flex-start !important;
  background: #349f0c !important;
  color: #fff !important;
  text-decoration: none !important;
  border-radius: 7px !important;
  padding: 10px 18px !important;
  font-size: 13.5px !important;
  font-weight: 750 !important;
}

/* Blog listing page also smaller and cleaner */
.blog-head h2 {
  font-size: clamp(32px, 3vw, 46px) !important;
}

.blog-grid-modern {
  gap: 24px !important;
}

.blog-image {
  height: 200px !important;
}

.blog-card-body {
  padding: 22px !important;
}

.blog-card-body h3 {
  font-size: 20px !important;
  line-height: 1.28 !important;
}

.blog-card-body p {
  font-size: 14px !important;
  line-height: 1.65 !important;
}

@media (max-width: 1100px) {

  .blog-grid-v4,
  .blog-grid-modern {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .global-navwrap {
    width: calc(100% - 34px) !important;
    gap: 22px !important;
  }

  .global-logo {
    flex-basis: 220px !important;
  }

  .global-logo img {
    width: 205px !important;
  }

  .global-nav {
    gap: 24px !important;
  }
}

@media (max-width: 900px) {
  .site-header {
    height: 76px !important;
  }

  .global-navwrap {
    height: 76px !important;
    width: calc(100% - 28px) !important;
  }

  .global-logo {
    flex: 0 0 auto !important;
  }

  .global-logo img {
    width: 170px !important;
  }

  .global-toggle {
    display: block !important;
    order: 3;
    background: #fff !important;
    color: #fff !important;
    border: 0 !important;
    border-radius: 12px !important;
    width: 44px !important;
    height: 44px !important;
  }

  .global-nav {
    display: none !important;
    position: absolute !important;
    top: 76px !important;
    left: 15px !important;
    right: 15px !important;
    flex-direction: column !important;
    align-items: stretch !important;
    background: #fff !important;
    border-radius: 18px !important;
    padding: 12px !important;
    box-shadow: 0 22px 55px rgba(6, 26, 51, 0.16) !important;
    gap: 0 !important;
  }

  .global-nav.show {
    display: flex !important;
  }

  .global-nav>a,
  .service-menu-v4>.service-link {
    padding: 13px 14px !important;
    width: 100% !important;
  }

  .global-dropdown,
  .global-submenu {
    position: static !important;
    transform: none !important;
    width: 100% !important;
    min-width: 0 !important;
    box-shadow: none !important;
    display: none !important;
    margin: 6px 0 !important;
  }

  .service-menu-v4.open>.global-dropdown,
  .global-has-sub.open>.global-submenu {
    display: block !important;
  }

  .service-menu-v4:hover>.global-dropdown,
  .global-has-sub:hover>.global-submenu {
    display: none !important;
  }

  .service-menu-v4.open:hover>.global-dropdown,
  .global-has-sub.open:hover>.global-submenu {
    display: block !important;
  }

  .global-quote {
    order: 2;
    padding: 11px 16px !important;
    font-size: 13px !important;
    min-width: auto !important;
  }

  .testimonial-grid-v4 {
    grid-template-columns: 1fr !important;
    max-width: 640px !important;
  }

  .global-advice-card,
  .about-final-card,
  .cta-v4,
  .cta {
    grid-template-columns: 1fr !important;
    width: calc(100% - 32px) !important;
    padding: 42px 28px !important;
    border-radius: 26px !important;
  }

  .global-advice-card .btn,
  .about-final-card .btn,
  .cta-v4 a,
  .cta a {
    justify-self: start !important;
    width: max-content !important;
  }
}

@media (max-width: 680px) {

  h1,
  .page-hero h1,
  .hero-copy h1,
  .contact-v4-copy h1,
  .hero-content-v4 h1 {
    font-size: 34px !important;
  }

  h2,
  .section h2,
  .section-title-v4 h2,
  .about-title-v4 h2,
  .trusted-v4 h2,
  .form-v4-wrap h2,
  .blog-head-v4 h2 {
    font-size: 28px !important;
  }

  .blog-grid-v4,
  .blog-grid-modern {
    grid-template-columns: 1fr !important;
  }

  .blog-head-v4 {
    display: block !important;
  }

  .blog-head-v4 .read-btn {
    margin-top: 14px !important;
  }

  .global-advice-card h2,
  .about-final-card h2,
  .cta-v4 h2,
  .cta h2 {
    font-size: 32px !important;
  }

  .global-advice-card p,
  .about-final-card p,
  .cta-v4 p,
  .cta p {
    font-size: 16px !important;
  }

  .global-advice-card .btn,
  .about-final-card .btn,
  .cta-v4 a,
  .cta a {
    width: 100% !important;
    min-width: 0 !important;
    justify-self: stretch !important;
  }
}

/* ===== V7 global typography, spacing and dropdown stability fixes ===== */
:root {
  --navy: #061a33;
  --text: #4b5968;
}

body {
  font-size: 15px !important;
  line-height: 1.62 !important;
  color: var(--text) !important;
}

p,
li,
.faq-a,
.footer-links a,
.footer-contact a {
  font-size: 15px !important;
  line-height: 1.62 !important;
  font-weight: 400 !important;
}

h1,
h2,
h3,
h4 {
  font-weight: 650 !important;
  letter-spacing: -0.018em !important;
  line-height: 1.17 !important;
}

h1 {
  font-size: clamp(34px, 3.3vw, 50px) !important;
}

h2 {
  font-size: clamp(26px, 2.45vw, 36px) !important;
}

h3 {
  font-size: clamp(18px, 1.35vw, 22px) !important;
}

h4 {
  font-size: 18px !important;
}

.section {
  padding: 62px 0 !important;
}

.section-head {
  margin-bottom: 28px !important;
}

.section-head .narrow,
.narrow {
  font-size: 15px !important;
  line-height: 1.65 !important;
}

.badge,
.eyebrow,
.section-kicker,
.tax-pill,
.tax-kicker {
  font-size: 10.5px !important;
  font-weight: 700 !important;
  letter-spacing: 0.09em !important;
}

.btn,
.quote-btn,
.read {
  font-weight: 650 !important;
}

/* Header like reference + dropdown should stay open while moving mouse */
.site-header {
  height: 78px !important;
  overflow: visible !important;
}

.navwrap {
  overflow: visible !important;
}

.nav {
  overflow: visible !important;
}

.menu-item {
  position: relative !important;
  padding: 29px 0 !important;
}

.menu-item::before {
  content: "";
  position: absolute;
  left: -26px;
  right: -26px;
  top: 100%;
  height: 24px;
  background: transparent;
  pointer-events: auto;
}

.dropdown {
  top: calc(100% + 6px) !important;
  left: -26px !important;
  width: 300px !important;
  padding: 10px !important;
  border-radius: 10px !important;
  box-shadow: 0 15px 42px rgba(6, 26, 51, 0.12) !important;
  z-index: 3000 !important;
}

.menu-item:hover>.dropdown,
.dropdown:hover {
  display: block !important;
}

.dropdown a {
  font-size: 13.5px !important;
  font-weight: 500 !important;
  padding: 10px 12px !important;
  line-height: 1.45 !important;
  border-radius: 7px !important;
}

.has-sub {
  position: relative !important;
}

.has-sub::after {
  content: "";
  position: absolute;
  top: 0;
  left: 100%;
  width: 18px;
  height: 100%;
  background: transparent;
}

.submenu {
  top: 0 !important;
  left: calc(100% + 8px) !important;
  width: 300px !important;
  padding: 10px !important;
  border-radius: 10px !important;
  z-index: 3001 !important;
  box-shadow: 0 15px 42px rgba(6, 26, 51, 0.12) !important;
}

.has-sub:hover .submenu,
.submenu:hover {
  display: block !important;
}

.dropdown a:hover,
.dropdown a.active {
  background: #1f7f32 !important;
  color: #fff !important;
}

/* Cards: reduce oversized headings and improve spacing */
.card,
.feature-card,
.service-tile,
.blog-card,
.testimonial-card,
.team-card-v2,
.tax-issue-card {
  border-radius: 18px !important;
}

.service-card h3,
.feature-card h3,
.service-tile h3 {
  font-size: 18px !important;
  font-weight: 650 !important;
  line-height: 1.22 !important;
  margin-bottom: 10px !important;
}

.service-card p,
.feature-card p,
.service-tile p {
  font-size: 14.5px !important;
  line-height: 1.58 !important;
}

.service-card img,
.feature-card img,
.service-tile img {
  width: 58px !important;
  height: 58px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.feature-card,
.service-tile {
  padding: 24px 22px !important;
}

.services-grid,
.feature-grid,
.grid3,
.grid4,
.grid5,
.blogs {
  gap: 20px !important;
}

/* Blog listing and homepage blogs: smaller, cleaner */
.blog-card h3,
.blog-page .blog-card h3,
.blogs .blog-card h3 {
  font-size: 19px !important;
  line-height: 1.25 !important;
  font-weight: 650 !important;
  letter-spacing: -0.012em !important;
}

.blog-card div {
  padding: 22px !important;
}

.blog-card p {
  font-size: 14px !important;
  line-height: 1.55 !important;
}

.blog-card img {
  height: 190px !important;
}

.blog-title-row h2 {
  font-size: clamp(28px, 2.7vw, 38px) !important;
}

/* Testimonials: exactly two visible on desktop, no huge text */
.testimonials-section .testimonial-grid,
.testimonial-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 22px !important;
}

.testimonial-card {
  padding: 28px !important;
}

.testimonial-card p {
  font-size: 16px !important;
  line-height: 1.65 !important;
  font-weight: 400 !important;
}

.testimonial-card strong {
  font-size: 16px !important;
  font-weight: 650 !important;
}

.testimonial-card span {
  font-size: 13px !important;
}

/* Common contact-us CTA section reused everywhere: keep size balanced */
.final-cta-wrap {
  padding: 0 !important;
  margin: 0 !important;
}

.final-cta,
.cta {
  max-width: 1110px !important;
  width: min(1110px, 92vw) !important;
  margin: 40px auto 70px !important;
  border-radius: 26px !important;
  padding: 52px 48px !important;
  text-align: left !important;
  display: grid !important;
  grid-template-columns: 1fr auto !important;
  align-items: center !important;
  gap: 28px !important;
  box-shadow: 0 22px 60px rgba(6, 26, 51, 0.13) !important;
}

.final-cta h2,
.cta h2 {
  font-size: clamp(30px, 3vw, 44px) !important;
  font-weight: 700 !important;
  margin: 0 0 12px !important;
  max-width: 620px !important;
}

.final-cta p,
.cta p {
  font-size: 15.5px !important;
  line-height: 1.6 !important;
  margin: 0 !important;
  max-width: 650px !important;
}

.final-cta .btn,
.cta .btn {
  justify-self: end !important;
  white-space: nowrap !important;
}

/* Page-specific large areas */
.page-hero .hero-copy {
  padding: 58px 44px !important;
}

.page-hero h1 {
  font-size: clamp(34px, 3vw, 48px) !important;
}

.page-hero img {
  height: 330px !important;
}

.about-hero-content h1,
.tax-hero h1 {
  font-size: clamp(34px, 3.4vw, 50px) !important;
}

.about-intro-wrap h2,
.story-content-v2 h2,
.do-content-v2 h2,
.why-content-v2 h2,
.team-heading-v2 h2 {
  font-size: clamp(26px, 2.5vw, 36px) !important;
}

.tax-page h2,
.reports-page h2 {
  font-size: clamp(26px, 2.45vw, 36px) !important;
}

.tax-issue-card h3 {
  font-size: 18px !important;
  font-weight: 650 !important;
}

.tax-issue-card p {
  font-size: 14.5px !important;
}

@media (max-width: 900px) {

  .testimonials-section .testimonial-grid,
  .testimonial-grid {
    grid-template-columns: 1fr !important;
  }

  .final-cta,
  .cta {
    grid-template-columns: 1fr !important;
    text-align: left !important;
    padding: 40px 24px !important;
  }

  .final-cta .btn,
  .cta .btn {
    justify-self: start !important;
  }

  .section {
    padding: 50px 0 !important;
  }

  .dropdown,
  .submenu {
    position: static !important;
    width: 100% !important;
    box-shadow: none !important;
    display: none;
  }
}

/* === Ufrenza final polish: typography + stable service dropdown === */
@import url("https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap");

:root {
  --qb-navy: #061a33;
  --qb-green: #2f970c;
  --qb-text: #455468;
  --qb-soft: #f7faf4;
}

html {
  scroll-behavior: smooth;
}

body {
  font-family: "Inter", Arial, sans-serif !important;
  color: var(--qb-text) !important;
  background: #fbfaf7 !important;
  font-weight: 400 !important;
  line-height: 1.7 !important;
}

h1,
h2,
h3,
h4,
.global-nav a,
.btn,
.quote-btn,
.global-quote {
  font-family: "Inter", Arial, sans-serif !important;
}

h1,
.hero-content-v4 h1,
.page-hero h1 {
  font-weight: 750 !important;
  letter-spacing: -0.045em !important;
  line-height: 1.06 !important;
  color: var(--qb-navy) !important;
}

h2,
.section-title-v4 h2,
.about-title-v4 h2 {
  font-weight: 720 !important;
  letter-spacing: -0.035em !important;
  line-height: 1.12 !important;
  color: var(--qb-navy) !important;
}

h3,
.service-card-v4 h3,
.info-card-v4 h3 {
  font-weight: 700 !important;
  letter-spacing: -0.018em !important;
  color: var(--qb-navy) !important;
}

p,
li {
  font-weight: 400 !important;
  color: var(--qb-text) !important;
}

.btn,
.quote-btn,
.global-quote,
.read-btn {
  font-weight: 700 !important;
  letter-spacing: -0.01em !important;
}

.site-header {
  height: 84px !important;
  background: rgba(255, 255, 255, 0.96) !important;
  border-bottom: 1px solid rgba(6, 26, 51, 0.07) !important;
  box-shadow: 0 10px 35px rgba(6, 26, 51, 0.04) !important;
  backdrop-filter: blur(12px) !important;
  z-index: 999999 !important;
}

.global-navwrap {
  height: 84px !important;
  width: min(1280px, calc(100% - 64px)) !important;
  gap: 28px !important;
}

.global-logo {
  flex: 0 0 235px !important;
}

.global-logo img {
  width: 220px !important;
  max-height: 64px !important;
  object-fit: contain !important;
}

.global-nav {
  gap: 30px !important;
}

.global-nav>a,
.service-menu-v4>.service-link {
  font-size: 15px !important;
  font-weight: 600 !important;
  color: var(--qb-navy) !important;
  padding: 32px 0 !important;
  line-height: 1 !important;
}

.global-nav>a:hover,
.service-menu-v4:hover>.service-link,
.service-menu-v4.hover-open>.service-link,
.global-nav>a.active,
.service-menu-v4>.service-link.active {
  color: var(--qb-green) !important;
}

.global-quote {
  border-radius: 10px !important;
  background: linear-gradient(135deg, #35a70d, #237f11) !important;
  box-shadow: 0 12px 24px rgba(47, 151, 12, 0.18) !important;
  padding: 14px 24px !important;
  min-width: 120px !important;
}

.service-menu-v4 {
  position: relative !important;
  padding: 0 8px !important;
  margin: 0 -8px !important;
}

.service-menu-v4:after {
  content: "" !important;
  position: absolute !important;
  left: -18px !important;
  right: -18px !important;
  top: 60px !important;
  height: 36px !important;
  background: transparent !important;
  display: block !important;
}

.global-dropdown {
  top: 72px !important;
  left: 50% !important;
  transform: translateX(-50%) translateY(8px) !important;
  width: 340px !important;
  min-width: 340px !important;
  padding: 10px !important;
  border-radius: 14px !important;
  background: #fff !important;
  border: 1px solid rgba(6, 26, 51, 0.09) !important;
  box-shadow: 0 22px 55px rgba(6, 26, 51, 0.14) !important;
  display: none !important;
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
  z-index: 1000000 !important;
}

.service-menu-v4:hover>.global-dropdown,
.service-menu-v4.hover-open>.global-dropdown,
.service-menu-v4.open>.global-dropdown {
  display: block !important;
}

.global-dropdown a,
.global-submenu a {
  border-radius: 10px !important;
  padding: 11px 14px !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  line-height: 1.45 !important;
  color: var(--qb-navy) !important;
}

.global-dropdown a:hover,
.global-dropdown a.active,
.global-has-sub:hover>a,
.global-has-sub.hover-open>a {
  background: #eefbe9 !important;
  color: #247f11 !important;
}

.global-has-sub {
  position: relative !important;
}

.global-has-sub:after {
  content: "" !important;
  position: absolute !important;
  top: 0 !important;
  right: -18px !important;
  width: 24px !important;
  height: 100% !important;
  background: transparent !important;
}

.global-submenu {
  top: 0 !important;
  left: calc(100% + 10px) !important;
  width: 330px !important;
  min-width: 330px !important;
  padding: 10px !important;
  border-radius: 14px !important;
  background: #fff !important;
  border: 1px solid rgba(6, 26, 51, 0.09) !important;
  box-shadow: 0 22px 55px rgba(6, 26, 51, 0.14) !important;
  display: none !important;
  z-index: 1000001 !important;
}

.global-has-sub:hover>.global-submenu,
.global-has-sub.hover-open>.global-submenu,
.global-has-sub.open>.global-submenu {
  display: block !important;
}

.home-hero-v4,
.home-section {
  background: #fbfaf7 !important;
}

.service-card-v4,
.info-card-v4,
.blog-card-v4,
.contact-v4-form-card {
  border: 1px solid rgba(6, 26, 51, 0.07) !important;
  box-shadow: 0 18px 45px rgba(6, 26, 51, 0.06) !important;
}

.service-card-v4:hover,
.info-card-v4:hover {
  transform: translateY(-4px) !important;
  box-shadow: 0 24px 58px rgba(6, 26, 51, 0.1) !important;
}

@media (max-width: 1180px) {
  .global-nav {
    gap: 20px !important;
  }

  .global-logo {
    flex-basis: 205px !important;
  }

  .global-logo img {
    width: 195px !important;
  }

  .global-nav>a,
  .service-menu-v4>.service-link {
    font-size: 14px !important;
  }

  .global-quote {
    padding: 13px 18px !important;
  }
}

@media (max-width: 900px) {
  .site-header {
    height: 76px !important;
  }

  .global-navwrap {
    height: 76px !important;
    width: calc(100% - 28px) !important;
  }

  .global-logo img {
    width: 168px !important;
  }

  .global-nav {
    display: none !important;
    top: 76px !important;
    left: 14px !important;
    right: 14px !important;
    gap: 0 !important;
    position: absolute !important;
    flex-direction: column !important;
    align-items: stretch !important;
    background: #fff !important;
    border: 1px solid rgba(6, 26, 51, 0.09) !important;
    border-radius: 18px !important;
    padding: 12px !important;
    box-shadow: 0 22px 55px rgba(6, 26, 51, 0.16) !important;
  }

  .global-nav.show {
    display: flex !important;
  }

  .global-nav>a,
  .service-menu-v4>.service-link {
    padding: 14px !important;
    width: 100% !important;
  }

  .service-menu-v4 {
    padding: 0 !important;
    margin: 0 !important;
  }

  .service-menu-v4:after,
  .global-has-sub:after {
    display: none !important;
  }

  .global-dropdown,
  .global-submenu {
    position: static !important;
    transform: none !important;
    width: 100% !important;
    min-width: 0 !important;
    box-shadow: none !important;
    border-radius: 14px !important;
    background: #f7fbf4 !important;
    display: none !important;
    margin: 6px 0 !important;
  }

  .service-menu-v4.open>.global-dropdown,
  .global-has-sub.open>.global-submenu {
    display: block !important;
  }

  .service-menu-v4:hover>.global-dropdown,
  .global-has-sub:hover>.global-submenu {
    display: none !important;
  }

  .service-menu-v4.open:hover>.global-dropdown,
  .global-has-sub.open:hover>.global-submenu {
    display: block !important;
  }

  .global-quote {
    order: 2 !important;
  }

  .global-toggle {
    display: block !important;
  }
}

@media (max-width: 560px) {
  .global-quote {
    display: none !important;
  }

  .global-navwrap {
    width: calc(100% - 22px) !important;
  }

  h1,
  .hero-content-v4 h1,
  .page-hero h1 {
    font-size: 36px !important;
  }

  h2,
  .section-title-v4 h2 {
    font-size: 30px !important;
  }
}

/* =========================================================
   UFRENZA REQUEST FIX 2: Home polish, compact cards, better mobile
========================================================= */
:root {
  --qb-navy: #061a33;
  --qb-ink: #132941;
  --qb-text: #52606f;
  --qb-green: #27a407;
  --qb-soft: #f4fff0;
  --qb-line: #e8eee5;
}

.home-redesign-v4 {
  background: linear-gradient(180deg,
      #fff 0%,
      #fbfaf6 55%,
      #fff 100%) !important;
}

.home-redesign-v4 h1,
.home-redesign-v4 h2,
.home-redesign-v4 h3 {
  color: var(--qb-navy);
  letter-spacing: -0.04em !important;
}

.home-redesign-v4 p {
  color: var(--qb-text);
}

.hero-section-v4 {
  padding: 34px 0 72px !important;
  background: linear-gradient(180deg, #fff, #faf8f1) !important;
}

.hero-grid-v4 {
  border-radius: 32px !important;
  background: linear-gradient(135deg,
      #f7f0df 0%,
      #fff9ed 52%,
      #efffe5 100%) !important;
  box-shadow: 0 24px 70px rgba(6, 26, 51, 0.09) !important;
  overflow: hidden !important;
}

.hero-content-v4 h1 {
  font-size: clamp(42px, 4.7vw, 68px) !important;
  font-weight: 780 !important;
  line-height: 1.04 !important;
}

.hero-content-v4 p {
  font-size: 18px !important;
  line-height: 1.75 !important;
  max-width: 660px !important;
}

.section-title-v4 h2,
.about-title-v4 h2,
.blog-head-v4 h2 {
  font-size: clamp(32px, 3.1vw, 48px) !important;
  font-weight: 780 !important;
  line-height: 1.12 !important;
}

.section-title-v4 h2 span,
.about-title-v4 h2 span,
.blog-head-v4 h2 span,
.trusted-bg-v4 h2 span,
.cta-v4 h2 span {
  color: var(--qb-green) !important;
  font-style: italic !important;
}

.pill-v4 {
  background: #f0ffe8 !important;
  color: #238a08 !important;
  border: 1px solid rgba(39, 164, 7, 0.16) !important;
  border-radius: 999px !important;
  padding: 9px 15px !important;
  font-size: 12px !important;
  font-weight: 850 !important;
  letter-spacing: 0.08em !important;
}

/* compact, premium boxes */
.cards-grid-v4.three {
  gap: 28px !important;
  align-items: stretch !important;
}

.info-card-v4,
.service-card-v4 {
  background: linear-gradient(180deg, #fff 0%, #fffdfa 100%) !important;
  border: 1px solid rgba(6, 26, 51, 0.08) !important;
  border-radius: 24px !important;
  padding: 32px 28px !important;
  min-height: 300px !important;
  box-shadow: 0 18px 48px rgba(6, 26, 51, 0.055) !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  text-align: center !important;
}

.info-card-v4:hover,
.service-card-v4:hover {
  transform: translateY(-5px) !important;
  box-shadow: 0 28px 66px rgba(6, 26, 51, 0.1) !important;
  border-color: rgba(39, 164, 7, 0.36) !important;
}

.info-card-v4 img,
.service-card-v4 img {
  width: 76px !important;
  height: 76px !important;
  margin: 0 auto 18px !important;
  border-radius: 22px !important;
  background: #efffdf !important;
  padding: 10px !important;
}

.info-card-v4 h3,
.service-card-v4 h3 {
  font-size: clamp(21px, 1.45vw, 25px) !important;
  line-height: 1.18 !important;
  font-weight: 780 !important;
  margin: 0 0 12px !important;
  color: #061a33 !important;
  letter-spacing: -0.025em !important;
}

.service-card-v4 h3 {
  font-size: clamp(20px, 1.35vw, 24px) !important;
  max-width: 300px !important;
}

.info-card-v4 p,
.service-card-v4 p {
  font-size: 15.5px !important;
  line-height: 1.65 !important;
  color: #5b6570 !important;
  margin: 0 auto 20px !important;
  max-width: 330px !important;
}

.service-card-v4 .read-btn,
.info-card-v4 .read-btn {
  margin-top: auto !important;
  padding: 12px 24px !important;
  border-radius: 12px !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  box-shadow: 0 14px 30px rgba(39, 164, 7, 0.18) !important;
}

/* trusted section readability */
.trusted-v4 {
  padding: 18px 0 86px !important;
  background: #f8f6f1 !important;
}

.trusted-bg-v4 {
  padding: 76px 0 0 !important;
  background:
    linear-gradient(rgba(5, 20, 38, 0.86), rgba(5, 20, 38, 0.88)),
    url("assets/site-images/home-about-team-meeting.jpg") center/cover no-repeat !important;
}

.trusted-bg-v4 h2 {
  color: #fff !important;
  font-size: clamp(30px, 3vw, 46px) !important;
  font-weight: 700 !important;
  text-align: center !important;
  margin-bottom: 54px !important;
  letter-spacing: -0.04em !important;
}

.trusted-bg-v4 h2 span {
  color: #c8ffad !important;
}

.trusted-cards-v4 {
  gap: 24px !important;
  transform: translateY(48px) !important;
}

.trusted-cards-v4 article {
  background: #fff !important;
  border: 1px solid rgba(6, 26, 51, 0.08) !important;
  border-radius: 24px !important;
  padding: 36px 42px !important;
  box-shadow: 0 24px 60px rgba(6, 26, 51, 0.16) !important;
}

.trusted-cards-v4 article h3 {
  font-size: 22px !important;
  line-height: 1.25 !important;
  margin-bottom: 18px !important;
  color: #061a33 !important;
  letter-spacing: -0.02em !important;
}

.trusted-cards-v4 article p,
.trusted-cards-v4 article li {
  font-size: 15.5px !important;
  line-height: 1.7 !important;
  color: #4f5d6a !important;
}

.trusted-cards-v4 article ul {
  margin: 0 !important;
  padding-left: 22px !important;
}

/* service dropdown: add hover bridge so it does not disappear */
.service-menu-v4 {
  padding: 18px 0 22px !important;
}

.service-menu-v4:after {
  content: "";
  position: absolute;
  left: -20px;
  right: -20px;
  top: 100%;
  height: 22px;
  background: transparent;
}

.global-dropdown {
  top: calc(100% - 2px) !important;
  z-index: 10000 !important;
}

.service-menu-v4.hover-open .global-dropdown,
.service-menu-v4:hover .global-dropdown {
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
  transform: translateX(-50%) translateY(50) !important;
}

.global-has-sub {
  position: relative !important;
}

.global-submenu {
  position: absolute;
  left: calc(100% + 10px);
  top: 0;
  width: 330px;
  background: #fff;
  border: 1px solid rgba(7, 27, 51, 0.09);
  border-radius: 20px;
  box-shadow: 0 24px 70px rgba(7, 27, 51, 0.15);
  padding: 12px;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: 0.2s ease;
}

.global-has-sub:hover .global-submenu,
.global-has-sub.hover-open .global-submenu {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}

.global-has-sub:after {
  content: "";
  position: absolute;
  right: -14px;
  top: 0;
  width: 16px;
  height: 100%;
  background: transparent;
}

.global-has-sub>a:after {
  content: "›";
  margin-left: auto;
  color: #248b08;
}

/* nicer spacing for lower home blocks */
.about-v4,
.services-v4,
.testimonials-v4,
.contact-v4,
.blog-v4 {
  padding-top: 74px !important;
  padding-bottom: 74px !important;
}

.testimonial-grid-v4 article {
  padding: 34px !important;
  border-radius: 24px !important;
}

.blog-grid-v4 article {
  border-radius: 22px !important;
  overflow: hidden !important;
  box-shadow: 0 16px 44px rgba(6, 26, 51, 0.06) !important;
}

.final-cta-wrap-v4 {
  padding-top: 50px !important;
}

@media (max-width: 1100px) {
  .cards-grid-v4.three {
    grid-template-columns: repeat(2, 1fr) !important;
  }

  .service-card-v4,
  .info-card-v4 {
    min-height: 280px !important;
  }

  .trusted-cards-v4 article {
    padding: 32px !important;
  }
}

@media (max-width: 900px) {
  .home-redesign-v4 .site-header {
    height: 72px !important;
  }

  .global-navwrap {
    height: 72px !important;
    width: calc(100% - 28px) !important;
  }

  .global-logo img {
    width: 160px !important;
  }

  .global-nav {
    top: 72px !important;
    left: 12px !important;
    right: 12px !important;
    border-radius: 18px !important;
    padding: 12px !important;
  }

  .global-dropdown {
    position: static !important;
    width: 100% !important;
    display: none !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    transform: none !important;
    grid-template-columns: 1fr !important;
    padding: 8px !important;
    background: #f8fff4 !important;
    box-shadow: none !important;
  }

  .service-menu-v4.open .global-dropdown {
    display: grid !important;
  }

  .global-submenu {
    position: static !important;
    width: 100% !important;
    display: none !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    box-shadow: none !important;
    background: #fff !important;
    margin: 8px 0 0 !important;
    border-radius: 14px !important;
  }

  .global-has-sub.open .global-submenu {
    display: block !important;
  }

  .hero-section-v4 {
    padding: 0 0 54px !important;
  }

  .hero-grid-v4 {
    width: 100% !important;
    border-radius: 0 0 28px 28px !important;
    padding: 34px 22px !important;
  }

  .hero-content-v4 h1 {
    font-size: 38px !important;
  }

  .hero-content-v4 p {
    font-size: 16px !important;
    line-height: 1.65 !important;
  }

  .home-section {
    padding: 54px 0 !important;
  }

  .cards-grid-v4.three,
  .blog-grid-v4,
  .testimonial-grid-v4 {
    grid-template-columns: 1fr !important;
  }

  .info-card-v4,
  .service-card-v4 {
    padding: 28px 22px !important;
    min-height: auto !important;
  }

  .info-card-v4 h3,
  .service-card-v4 h3 {
    font-size: 22px !important;
  }

  .info-card-v4 p,
  .service-card-v4 p {
    font-size: 15px !important;
    line-height: 1.6 !important;
  }

  .trusted-bg-v4 {
    padding: 56px 0 0 !important;
  }

  .trusted-cards-v4 {
    transform: translateY(34px) !important;
  }

  .trusted-cards-v4 article {
    padding: 28px 24px !important;
  }

  .trusted-cards-v4 article h3 {
    font-size: 20px !important;
  }

  .about-images-v4 img,
  .hero-image-v4 img {
    height: 270px !important;
    border-radius: 22px !important;
  }

  .section-title-v4 h2,
  .about-title-v4 h2,
  .blog-head-v4 h2,
  .cta-v4 h2 {
    font-size: 32px !important;
  }
}

@media (max-width: 560px) {
  .home-redesign-v4 .container {
    width: calc(100% - 26px) !important;
  }

  .hero-content-v4 h1 {
    font-size: 34px !important;
  }

  .section-title-v4 h2,
  .about-title-v4 h2,
  .blog-head-v4 h2,
  .cta-v4 h2 {
    font-size: 29px !important;
  }

  .pill-v4 {
    font-size: 11px !important;
    padding: 8px 12px !important;
  }

  .hero-actions-v4 {
    gap: 10px !important;
  }

  .hero-actions-v4 .btn,
  .hero-actions-v4 .read-btn {
    width: 100% !important;
    justify-content: center !important;
  }

  .info-card-v4 img,
  .service-card-v4 img {
    width: 66px !important;
    height: 66px !important;
    margin-bottom: 14px !important;
  }

  .info-card-v4 h3,
  .service-card-v4 h3 {
    font-size: 20px !important;
    margin-bottom: 10px !important;
  }

  .trusted-bg-v4 h2 {
    font-size: 28px !important;
    margin-bottom: 34px !important;
  }

  .trusted-cards-v4 {
    transform: none !important;
    margin-top: 0 !important;
    padding-bottom: 24px !important;
  }

  .trusted-v4 {
    padding-bottom: 36px !important;
  }

  .trusted-cards-v4 article {
    border-radius: 20px !important;
    padding: 24px 20px !important;
  }

  .trusted-cards-v4 article p,
  .trusted-cards-v4 article li {
    font-size: 14.5px !important;
  }

  .form-v4 input,
  .form-v4 textarea,
  .form-v4 button {
    font-size: 15px !important;
    min-height: 48px !important;
  }

  .floating-chat {
    width: 56px !important;
    height: 56px !important;
    right: 18px !important;
    bottom: 18px !important;
  }
}

/* FINAL UFRENZA POLISH: cleaner home, softer typography, global footer, responsive fixes */
:root {
  --brand-navy: #071b33;
  --brand-green: #16a10b;
  --brand-green-dark: #0f7d16;
  --brand-muted: #5f6b78;
  --brand-bg: #fbfaf6;
  --brand-line: #e8eee7;
}

* {
  box-sizing: border-box;
}

body {
  background: var(--brand-bg) !important;
  color: var(--brand-navy) !important;
  -webkit-font-smoothing: antialiased;
}

h1,
h2,
h3,
h4,
.nav a,
.footer-links a,
.footer-contact a,
.btn,
.quote-btn {
  font-weight: 600 !important;
}

p,
li {
  font-weight: 400 !important;
  color: var(--brand-muted) !important;
}

.serif {
  font-family: Georgia, serif !important;
  font-weight: 600 !important;
  font-style: italic !important;
}

.container {
  max-width: 1240px !important;
}

.section,
.home-section {
  padding: 70px 0 !important;
}

.site-header {
  background: #fff !important;
  box-shadow: 0 8px 30px rgba(7, 27, 51, 0.06) !important;
}

.navwrap {
  background: #fff !important;
  border: 1px solid rgba(7, 27, 51, 0.07) !important;
  border-radius: 0 0 24px 24px !important;
}

.nav a {
  font-size: 15px !important;
  color: #183049 !important;
}

.nav a:hover,
.nav a.active {
  color: var(--brand-green) !important;
}

.quote-btn,
.btn,
.read-btn {
  background: linear-gradient(135deg,
      var(--brand-green),
      var(--brand-green-dark)) !important;
  color: #fff !important;
  border-radius: 12px !important;
  font-weight: 600 !important;
  box-shadow: 0 12px 28px rgba(22, 161, 11, 0.18) !important;
}

.btn.dark {
  background: #071b33 !important;
  color: #fff !important;
}

.btn.white {
  background: #fff !important;
  color: #071b33 !important;
}

.dropdown,
.submenu,
.global-dropdown,
.global-submenu {
  border-radius: 16px !important;
  box-shadow: 0 22px 60px rgba(7, 27, 51, 0.14) !important;
  border: 1px solid rgba(7, 27, 51, 0.08) !important;
}

.menu-item {
  padding: 24px 0 !important;
}

.menu-item:after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 100%;
  height: 18px;
}

.menu-item:hover .dropdown {
  display: block !important;
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
}

.dropdown {
  top: calc(100% - 6px) !important;
}

.has-sub:hover .submenu {
  display: block !important;
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
}

/* new home */
.home-page {
  background: linear-gradient(180deg,
      #fff 0%,
      #faf9f4 60%,
      #fff 100%) !important;
}

.new-home-hero {
  padding: 60px 0 58px !important;
  background:
    radial-gradient(circle at 12% 20%,
      rgba(22, 161, 11, 0.08),
      transparent 30%),
    linear-gradient(180deg, #fff, #fbfaf6) !important;
}

.hero-grid-v4 {
  display: grid !important;
  grid-template-columns: 1.05fr 0.95fr !important;
  align-items: center !important;
  gap: 44px !important;
  padding: 42px !important;
  background: #fff !important;
  border: 1px solid rgba(7, 27, 51, 0.08) !important;
  border-radius: 30px !important;
  box-shadow: 0 24px 70px rgba(7, 27, 51, 0.08) !important;
}

.hero-content-v4 h1 {
  font-size: clamp(42px, 4.2vw, 62px) !important;
  line-height: 1.05 !important;
  letter-spacing: -0.045em !important;
  margin: 18px 0 18px !important;
  color: var(--brand-navy) !important;
}

.hero-content-v4 h1 span,
.section-title-v4 h2 span {
  color: var(--brand-green) !important;
}

.hero-content-v4 p {
  font-size: 17px !important;
  line-height: 1.72 !important;
  max-width: 610px !important;
  color: var(--brand-muted) !important;
}

.hero-image-v4 img {
  width: 100% !important;
  height: 480px !important;
  object-fit: cover !important;
  border-radius: 24px !important;
  box-shadow: none !important;
}

.pill-v4 {
  display: inline-flex !important;
  align-items: center !important;
  background: #effbe9 !important;
  color: var(--brand-green-dark) !important;
  border: 1px solid rgba(22, 161, 11, 0.16) !important;
  border-radius: 999px !important;
  padding: 8px 14px !important;
  font-size: 12px !important;
  letter-spacing: 0.08em !important;
  font-weight: 600 !important;
}

.section-title-v4 {
  max-width: 760px !important;
  margin: 0 auto 34px !important;
}

.section-title-v4 h2,
.about-title-v4 h2,
.cta h2,
.page-hero h1,
.section h2 {
  font-size: clamp(30px, 3vw, 44px) !important;
  line-height: 1.15 !important;
  letter-spacing: -0.035em !important;
  color: var(--brand-navy) !important;
  font-weight: 600 !important;
}

.section-title-v4 p {
  font-size: 16px !important;
  line-height: 1.65 !important;
  color: var(--brand-muted) !important;
}

.cards-grid-v4.four {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 22px !important;
}

.cards-grid-v4.three {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 24px !important;
}

.info-card-v4,
.service-card-v4 {
  background: #fff !important;
  border: 1px solid rgba(7, 27, 51, 0.08) !important;
  border-radius: 22px !important;
  padding: 26px 22px !important;
  min-height: 260px !important;
  box-shadow: 0 14px 38px rgba(7, 27, 51, 0.055) !important;
  text-align: left !important;
  align-items: flex-start !important;
}

.info-card-v4:hover,
.service-card-v4:hover {
  transform: translateY(-4px) !important;
  border-color: rgba(22, 161, 11, 0.28) !important;
  box-shadow: 0 20px 50px rgba(7, 27, 51, 0.09) !important;
}

.info-card-v4 img,
.service-card-v4 img {
  width: 58px !important;
  height: 58px !important;
  padding: 8px !important;
  border-radius: 16px !important;
  background: #effbe9 !important;
  margin: 0 0 18px !important;
}

.info-card-v4 h3,
.service-card-v4 h3 {
  font-size: 22px !important;
  line-height: 1.18 !important;
  margin: 0 0 10px !important;
  font-weight: 600 !important;
  color: var(--brand-navy) !important;
  letter-spacing: -0.025em !important;
}

.info-card-v4 p,
.service-card-v4 p {
  font-size: 15px !important;
  line-height: 1.58 !important;
  margin: 0 0 18px !important;
  color: var(--brand-muted) !important;
  max-width: none !important;
}

.read-btn {
  display: inline-flex !important;
  margin-top: auto !important;
  padding: 11px 18px !important;
  font-size: 14px !important;
}

.new-about {
  background: #fff !important;
}

.about-layout-v4 {
  display: grid !important;
  grid-template-columns: 0.9fr 0.55fr 0.75fr !important;
  gap: 34px !important;
  align-items: center !important;
  background: #fff !important;
}

.about-images-v4 {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 14px !important;
}

.about-images-v4 img {
  width: 100% !important;
  height: 310px !important;
  object-fit: cover !important;
  border-radius: 22px !important;
}

.about-text-v4 p {
  font-size: 16px !important;
  line-height: 1.7 !important;
}

.trusted-v4 {
  padding: 40px 0 90px !important;
  background: #fbfaf6 !important;
}

.trusted-bg-v4 {
  background:
    linear-gradient(rgba(7, 27, 51, 0.86), rgba(7, 27, 51, 0.88)),
    url("assets/site-images/home-about-team-meeting.jpg") center/cover no-repeat !important;
  padding: 70px 0 10px !important;
  border-radius: 0 !important;
}

.trusted-bg-v4 h2 {
  color: #fff !important;
  font-size: clamp(30px, 3vw, 42px) !important;
  font-weight: 600 !important;
  max-width: 780px !important;
  margin: 0 auto 36px !important;
}

.trusted-cards-v4 {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 24px !important;
  transform: translateY(50px) !important;
}

.trusted-cards-v4 article {
  background: #fff !important;
  border-radius: 22px !important;
  padding: 32px !important;
  box-shadow: 0 20px 50px rgba(7, 27, 51, 0.14) !important;
}

.trusted-cards-v4 h3 {
  font-size: 22px !important;
  font-weight: 600 !important;
  color: var(--brand-navy) !important;
}

.trusted-cards-v4 li,
.trusted-cards-v4 p {
  font-size: 15px !important;
  line-height: 1.65 !important;
}

.clean-cta,
.cta {
  background: linear-gradient(135deg, #17a20b 0%, #0e7a1f 100%) !important;
  border-radius: 28px !important;
  padding: 44px 52px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 30px !important;
  overflow: hidden !important;
}

.clean-cta h2,
.cta h2 {
  color: #fff !important;
  font-size: clamp(28px, 3vw, 42px) !important;
  margin: 16px 0 12px !important;
}

.clean-cta p,
.cta p {
  color: rgba(255, 255, 255, 0.86) !important;
  font-size: 16px !important;
  line-height: 1.65 !important;
}

.clean-cta .pill-v4 {
  background: rgba(255, 255, 255, 0.16) !important;
  color: #fff !important;
  border-color: rgba(255, 255, 255, 0.22) !important;
}

/* global footer like about, fixed spacing/colors */
.site-footer {
  background: #071b33 !important;
  color: #fff !important;
  margin-top: 80px !important;
  padding: 0 0 34px !important;
  position: relative !important;
  overflow: hidden !important;
}

.footer-top-card {
  transform: translateY(-52px) !important;
  margin-bottom: 0 !important;
  background: linear-gradient(135deg, #17a20b 0%, #0e7a1f 100%) !important;
  border-radius: 26px !important;
  padding: 36px 46px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 28px !important;
  box-shadow: 0 20px 60px rgba(7, 27, 51, 0.16) !important;
}

.footer-top-card h3 {
  color: #fff !important;
  font-size: 28px !important;
  margin: 0 0 10px !important;
}

.footer-top-card p {
  color: rgba(255, 255, 255, 0.86) !important;
  margin: 0 !important;
}

.footgrid {
  display: grid !important;
  grid-template-columns: 1.35fr 0.8fr 1fr 1fr !important;
  gap: 70px !important;
  padding: 5px 0 48px !important;
}

.footgrid img {
  width: 190px !important;
  background: #fff !important;
  border-radius: 16px !important;
  padding: 16px !important;
}

.footgrid p {
  color: rgba(255, 255, 255, 0.68) !important;
  line-height: 1.62 !important;
  font-size: 15px !important;
}

.footer-links h4,
.footer-contact h4 {
  color: #fff !important;
  font-size: 16px !important;
  margin: 0 0 18px !important;
}

.footer-links a,
.footer-contact a {
  display: block !important;
  color: rgba(255, 255, 255, 0.78) !important;
  text-decoration: none !important;
  margin: 0 0 14px !important;
  font-size: 15px !important;
}

.footer-links a:hover,
.footer-contact a:hover {
  color: #fff !important;
}

.footer-line {
  border-top: 1px solid rgba(255, 255, 255, 0.12) !important;
  padding-top: 24px !important;
  display: flex !important;
  justify-content: space-between !important;
  gap: 20px !important;
  color: rgba(255, 255, 255, 0.65) !important;
}

.footer-line a {
  color: rgba(255, 255, 255, 0.82) !important;
  margin-left: 22px !important;
  text-decoration: none !important;
}

.social span {
  background: rgba(255, 255, 255, 0.09) !important;
  border: 1px solid rgba(255, 255, 255, 0.12) !important;
  color: #fff !important;
}

/* forms + pages */
.contact-form input,
.contact-form select,
.contact-form textarea,
.form-v4 input,
.form-v4 select,
.form-v4 textarea {
  width: 100% !important;
  border: 1px solid var(--brand-line) !important;
  border-radius: 12px !important;
  padding: 14px 15px !important;
  font-size: 15px !important;
  outline: none !important;
  background: #fff !important;
}

.contact-form input:focus,
.contact-form select:focus,
.contact-form textarea:focus {
  border-color: rgba(22, 161, 11, 0.55) !important;
  box-shadow: 0 0 0 4px rgba(22, 161, 11, 0.09) !important;
}

.simple-page {
  min-height: 62vh !important;
  display: flex !important;
  align-items: center !important;
  padding: 90px 0 !important;
}

.simple-card {
  text-align: center !important;
  background: #fff !important;
  border: 1px solid rgba(7, 27, 51, 0.08) !important;
  border-radius: 28px !important;
  padding: 70px 36px !important;
  box-shadow: 0 20px 60px rgba(7, 27, 51, 0.08) !important;
}

.simple-card h1 {
  font-size: clamp(38px, 5vw, 66px) !important;
  font-weight: 600 !important;
  color: var(--brand-navy) !important;
  letter-spacing: -0.045em !important;
  margin: 18px 0 12px !important;
}

.simple-card p {
  font-size: 18px !important;
  margin-bottom: 26px !important;
}

.popup h2,
.popup h3 {
  font-weight: 600 !important;
}

.popup-left h2 {
  font-size: 38px !important;
}

.popup-right h3 {
  font-size: 26px !important;
}

@media (max-width: 1100px) {

  .hero-grid-v4,
  .about-layout-v4 {
    grid-template-columns: 1fr !important;
  }

  .cards-grid-v4.four,
  .cards-grid-v4.three {
    grid-template-columns: repeat(2, 1fr) !important;
  }

  .footgrid {
    grid-template-columns: 1fr 1fr !important;
    gap: 36px !important;
  }

  .hero-image-v4 img {
    height: 360px !important;
  }
}

@media (max-width: 900px) {

  .section,
  .home-section {
    padding: 52px 0 !important;
  }

  .navwrap {
    border-radius: 0 !important;
  }

  .nav.active {
    display: flex !important;
  }

  .nav {
    background: #fff !important;
  }

  .nav .dropdown {
    position: static !important;
    width: 100% !important;
    display: none !important;
    box-shadow: none !important;
    background: #f5fff0 !important;
  }

  .menu-item.open .dropdown {
    display: block !important;
  }

  .submenu {
    position: static !important;
    width: 100% !important;
    display: none !important;
    box-shadow: none !important;
    margin-top: 8px !important;
  }

  .has-sub.open .submenu {
    display: block !important;
  }

  .footer-top-card,
  .clean-cta,
  .cta {
    flex-direction: column !important;
    align-items: flex-start !important;
    padding: 30px 24px !important;
  }

  .trusted-cards-v4 {
    grid-template-columns: 1fr !important;
    transform: none !important;
  }

  .trusted-v4 {
    padding-bottom: 30px !important;
  }

  .trusted-bg-v4 {
    padding-bottom: 42px !important;
  }

  .about-images-v4 img {
    height: 240px !important;
  }
}

@media (max-width: 600px) {
  .container {
    width: calc(100% - 28px) !important;
  }

  .new-home-hero {
    padding: 24px 0 42px !important;
  }

  .hero-grid-v4 {
    padding: 24px 18px !important;
    border-radius: 22px !important;
    gap: 24px !important;
  }

  .hero-content-v4 h1 {
    font-size: 34px !important;
  }

  .hero-content-v4 p {
    font-size: 15.5px !important;
  }

  .hero-actions-v4 {
    flex-direction: column !important;
  }

  .hero-actions-v4 .btn {
    width: 100% !important;
    text-align: center !important;
    justify-content: center !important;
  }

  .hero-image-v4 img {
    height: 240px !important;
  }

  .section-title-v4 h2,
  .about-title-v4 h2,
  .cta h2,
  .page-hero h1,
  .section h2 {
    font-size: 28px !important;
  }

  .cards-grid-v4.four,
  .cards-grid-v4.three {
    grid-template-columns: 1fr !important;
    gap: 16px !important;
  }

  .info-card-v4,
  .service-card-v4 {
    padding: 22px 18px !important;
    border-radius: 18px !important;
  }

  .info-card-v4 h3,
  .service-card-v4 h3 {
    font-size: 20px !important;
  }

  .info-card-v4 p,
  .service-card-v4 p {
    font-size: 14.5px !important;
  }

  .about-layout-v4 {
    gap: 22px !important;
  }

  .about-images-v4 {
    grid-template-columns: 1fr !important;
  }

  .about-images-v4 img {
    height: 220px !important;
  }

  .footgrid {
    grid-template-columns: 1fr !important;
    gap: 24px !important;
    padding-bottom: 30px !important;
  }

  .footer-top-card {
    transform: translateY(-34px) !important;
  }

  .site-footer {
    margin-top: 58px !important;
  }

  .footer-line {
    flex-direction: column !important;
  }

  .footer-line a {
    margin: 0 18px 0 0 !important;
  }

  .popup {
    width: calc(100% - 24px) !important;
    max-height: 92vh !important;
    overflow: auto !important;
  }

  .popup-left {
    display: none !important;
  }

  .popup-right {
    padding: 24px !important;
  }

  .floating-chat {
    width: 52px !important;
    height: 52px !important;
  }
}

/* Ufrenza correction pass: restore full home content, cleaner layout, readable typography */
:root {
  --brand-navy: #061b34;
  --brand-green: #159b0b;
  --brand-green-dark: #0b7807;
  --brand-muted: #526173;
  --brand-soft: #f6fbf3;
  --brand-line: rgba(6, 27, 52, 0.1);
}

html,
body {
  overflow-x: hidden !important;
  background: #fbfaf7 !important;
}

body {
  font-family: Inter, Arial, sans-serif !important;
  color: var(--brand-navy) !important;
}

h1,
h2,
h3,
h4,
h5,
h6,
.nav a,
.quote-btn,
.btn,
.read-btn,
.footer-links a,
.footer-contact a {
  font-weight: 600 !important;
}

p,
li,
input,
textarea,
select {
  font-weight: 400 !important;
  color: var(--brand-muted) !important;
}

.site-header {
  height: 76px !important;
  background: #fff !important;
  border-bottom: 1px solid rgba(6, 27, 52, 0.08) !important;
  box-shadow: 0 8px 30px rgba(6, 27, 52, 0.04) !important;
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  z-index: 1000 !important;
}

.site-header .navwrap {
  height: 76px !important;
  padding: 0 !important;
  background: transparent !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

.logo img {
  width: 215px !important;
  max-height: 58px !important;
  object-fit: contain !important;
}

.nav {
  gap: 28px !important;
  align-items: center !important;
}

.nav a {
  font-size: 15px !important;
  line-height: 1.2 !important;
  color: var(--brand-navy) !important;
}

.nav a.active,
.nav a:hover {
  color: var(--brand-green) !important;
}

.quote-btn,
.btn,
.read-btn {
  border-radius: 10px !important;
  background: var(--brand-green) !important;
  color: #fff !important;
  box-shadow: 0 12px 28px rgba(21, 155, 11, 0.18) !important;
  font-size: 15px !important;
}

.btn.dark {
  background: #07101d !important;
  color: #fff !important;
}

.menu-item {
  position: relative !important;
  padding: 28px 0 !important;
  margin: -28px 0 !important;
}

.menu-item>a:after {
  content: "⌄";
  font-size: 12px;
  margin-left: 7px;
  color: inherit;
}

.dropdown {
  display: block !important;
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  transform: translateY(10px) !important;
  top: calc(100% - 10px) !important;
  left: 0 !important;
  background: #fff !important;
  border: 1px solid var(--brand-line) !important;
  border-radius: 14px !important;
  box-shadow: 0 22px 50px rgba(6, 27, 52, 0.12) !important;
  padding: 10px !important;
  min-width: 270px !important;
  transition: 0.18s ease !important;
  z-index: 9999 !important;
}

.menu-item:hover>.dropdown,
.menu-item.hover-open>.dropdown {
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
  transform: translateY(0) !important;
}

.dropdown a {
  display: block !important;
  padding: 11px 12px !important;
  border-radius: 9px !important;
  font-size: 14px !important;
  line-height: 1.35 !important;
  white-space: normal !important;
}

.dropdown a:hover {
  background: #f0faed !important;
}

.has-sub {
  position: relative !important;
}

.submenu {
  display: block !important;
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  position: absolute !important;
  left: 100% !important;
  top: 0 !important;
  min-width: 285px !important;
  background: #fff !important;
  border: 1px solid var(--brand-line) !important;
  border-radius: 14px !important;
  box-shadow: 0 22px 50px rgba(6, 27, 52, 0.12) !important;
  padding: 10px !important;
  transition: 0.18s ease !important;
}

.has-sub:hover>.submenu {
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
}

.container {
  width: min(1180px, calc(100% - 48px)) !important;
  max-width: 1180px !important;
  margin-inline: auto !important;
}

.home-page .home-section,
.home-page .section {
  padding: 76px 0 !important;
  background: #fbfaf7 !important;
}

.home-hero-v4 {
  padding: 74px 0 70px !important;
  background:
    radial-gradient(circle at left top,
      rgba(21, 155, 11, 0.09),
      transparent 32%),
    linear-gradient(180deg, #fff, #fbfaf7) !important;
}

.hero-grid-v4 {
  display: grid !important;
  grid-template-columns: 1.03fr 0.97fr !important;
  gap: 54px !important;
  align-items: center !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
}

.hero-content-v4 h1 {
  font-size: clamp(42px, 4.45vw, 68px) !important;
  line-height: 1.04 !important;
  letter-spacing: -0.055em !important;
  margin: 0 0 22px !important;
  color: var(--brand-navy) !important;
  max-width: 720px !important;
}

.hero-content-v4 h1 span,
.section-title-v4 h2 span,
.about-title-v4 h2 span,
.trusted-bg-v4 h2 span,
.blog-head-v4 h2 span,
.cta-v4 h2 span {
  color: var(--brand-green) !important;
  font-family: inherit !important;
  font-style: normal !important;
}

.hero-content-v4 p {
  font-size: 18px !important;
  line-height: 1.72 !important;
  max-width: 650px !important;
  margin-bottom: 28px !important;
  color: var(--brand-muted) !important;
}

.hero-actions-v4 {
  display: flex !important;
  gap: 14px !important;
  flex-wrap: wrap !important;
}

.hero-actions-v4 .btn {
  padding: 16px 26px !important;
  min-width: 160px !important;
  text-align: center !important;
}

.hero-image-v4 {
  position: relative !important;
}

.hero-image-v4:before {
  content: "";
  position: absolute;
  inset: -22px -18px auto auto;
  width: 42%;
  height: 44%;
  background: #e7f6de;
  border-radius: 38px;
  z-index: 0;
}

.hero-image-v4 img {
  position: relative;
  z-index: 1;
  width: 100% !important;
  height: 520px !important;
  object-fit: cover !important;
  border-radius: 28px !important;
  box-shadow: 0 24px 70px rgba(6, 27, 52, 0.12) !important;
}

.section-title-v4 {
  max-width: 820px !important;
  margin: 0 auto 42px !important;
  text-align: center !important;
}

.section-title-v4 h2,
.about-title-v4 h2,
.blog-head-v4 h2,
.cta-v4 h2,
.trusted-bg-v4 h2 {
  font-size: clamp(30px, 3vw, 46px) !important;
  line-height: 1.16 !important;
  letter-spacing: -0.04em !important;
  color: var(--brand-navy) !important;
  margin: 12px 0 !important;
  font-weight: 600 !important;
}

.section-title-v4 p {
  font-size: 16px !important;
  line-height: 1.72 !important;
  color: var(--brand-muted) !important;
  margin: 0 auto !important;
  max-width: 760px !important;
}

.pill-v4 {
  display: inline-flex !important;
  background: #eef9e9 !important;
  color: var(--brand-green-dark) !important;
  border: 1px solid rgba(21, 155, 11, 0.18) !important;
  border-radius: 999px !important;
  padding: 8px 15px !important;
  font-size: 12px !important;
  letter-spacing: 0.08em !important;
  font-weight: 600 !important;
}

.cards-grid-v4.two {
  display: grid !important;
  grid-template-columns: repeat(2, 1fr) !important;
  gap: 24px !important;
}

.cards-grid-v4.three {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 24px !important;
}

.info-card-v4,
.service-card-v4 {
  background: #fff !important;
  border: 1px solid var(--brand-line) !important;
  border-radius: 22px !important;
  padding: 28px !important;
  min-height: auto !important;
  box-shadow: 0 16px 45px rgba(6, 27, 52, 0.055) !important;
  text-align: left !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  transition: 0.2s ease !important;
}

.info-card-v4:hover,
.service-card-v4:hover {
  transform: translateY(-4px) !important;
  box-shadow: 0 22px 58px rgba(6, 27, 52, 0.1) !important;
  border-color: rgba(21, 155, 11, 0.28) !important;
}

.info-card-v4 img,
.service-card-v4 img {
  width: 58px !important;
  height: 58px !important;
  object-fit: contain !important;
  background: #eef9e9 !important;
  border-radius: 16px !important;
  padding: 9px !important;
  margin: 0 0 18px !important;
}

.info-card-v4 h3,
.service-card-v4 h3 {
  font-size: clamp(21px, 2vw, 26px) !important;
  line-height: 1.18 !important;
  letter-spacing: -0.03em !important;
  margin: 0 0 12px !important;
  color: var(--brand-navy) !important;
  text-align: left !important;
}

.info-card-v4 p,
.service-card-v4 p {
  font-size: 15px !important;
  line-height: 1.68 !important;
  margin: 0 0 20px !important;
  color: var(--brand-muted) !important;
  text-align: left !important;
}

.info-card-v4 p a {
  color: var(--brand-green-dark) !important;
  font-weight: 600 !important;
}

.read-btn {
  margin-top: auto !important;
  padding: 11px 18px !important;
  font-size: 14px !important;
}

.about-v4 {
  background: #fff !important;
}

.about-layout-v4 {
  display: grid !important;
  grid-template-columns: 0.9fr 0.55fr 0.85fr !important;
  gap: 34px !important;
  align-items: center !important;
}

.about-images-v4 {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 14px !important;
}

.about-images-v4 img {
  height: 320px !important;
  width: 100% !important;
  object-fit: cover !important;
  border-radius: 22px !important;
  box-shadow: 0 16px 40px rgba(6, 27, 52, 0.08) !important;
}

.about-text-v4 p {
  font-size: 15.5px !important;
  line-height: 1.76 !important;
  color: var(--brand-muted) !important;
}

.trusted-v4 {
  padding: 0 !important;
  background: #fbfaf7 !important;
}

.trusted-bg-v4 {
  background:
    linear-gradient(rgba(6, 27, 52, 0.86), rgba(6, 27, 52, 0.9)),
    url("assets/site-images/home-about-team-meeting.jpg") center/cover no-repeat !important;
  padding: 78px 0 !important;
  border-radius: 0 !important;
}

.trusted-bg-v4 h2 {
  text-align: center !important;
  color: #fff !important;
  margin: 0 auto 38px !important;
  max-width: 800px !important;
}

.trusted-cards-v4 {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 24px !important;
  transform: none !important;
}

.trusted-cards-v4 article {
  background: #fff !important;
  border-radius: 22px !important;
  padding: 32px !important;
  box-shadow: 0 20px 50px rgba(0, 0, 0, 0.18) !important;
}

.trusted-cards-v4 h3 {
  font-size: 22px !important;
  margin: 0 0 16px !important;
  color: var(--brand-navy) !important;
}

.trusted-cards-v4 li,
.trusted-cards-v4 p {
  font-size: 15px !important;
  line-height: 1.7 !important;
}

.testimonial-grid-v4 {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 24px !important;
}

.testimonial-grid-v4 article {
  display: block !important;
  background: #fff !important;
  border: 1px solid var(--brand-line) !important;
  border-radius: 22px !important;
  padding: 26px !important;
  box-shadow: 0 16px 45px rgba(6, 27, 52, 0.055) !important;
}

.testimonial-grid-v4 article>p {
  font-size: 15px !important;
  line-height: 1.7 !important;
}

.form-v4 {
  display: grid !important;
  grid-template-columns: repeat(2, 1fr) !important;
  gap: 16px !important;
  max-width: 900px !important;
  margin: 0 auto !important;
  background: #fff !important;
  border: 1px solid var(--brand-line) !important;
  border-radius: 24px !important;
  padding: 28px !important;
  box-shadow: 0 16px 45px rgba(6, 27, 52, 0.06) !important;
}

.form-v4 input,
.form-v4 textarea,
.popup input,
.popup textarea,
.popup select {
  border: 1px solid rgba(6, 27, 52, 0.12) !important;
  border-radius: 10px !important;
  padding: 14px !important;
  font-size: 15px !important;
  background: #fff !important;
}

.form-v4 textarea {
  grid-column: 1/-1 !important;
  min-height: 120px !important;
}

.form-v4 button {
  grid-column: 1/-1 !important;
  justify-self: start !important;
  background: var(--brand-green) !important;
  color: #fff !important;
  border: 0 !important;
  border-radius: 10px !important;
  padding: 14px 28px !important;
  font-weight: 600 !important;
}

.blog-head-v4 {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  margin-bottom: 28px !important;
}

.blog-grid-v4 {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 22px !important;
}

.blog-grid-v4 article {
  background: #fff !important;
  border: 1px solid var(--brand-line) !important;
  border-radius: 20px !important;
  overflow: hidden !important;
  box-shadow: 0 14px 38px rgba(6, 27, 52, 0.05) !important;
}

.blog-grid-v4 img {
  width: 100% !important;
  height: 180px !important;
  object-fit: cover !important;
}

.blog-grid-v4 div {
  padding: 20px !important;
}

.blog-grid-v4 h3 {
  font-size: 18px !important;
  line-height: 1.35 !important;
  letter-spacing: -0.02em !important;
  margin: 0 0 10px !important;
}

.final-cta-wrap-v4 {
  padding: 72px 0 !important;
}

.cta-v4 {
  background: linear-gradient(135deg, #159b0b 0%, #0b7d26 100%) !important;
  border-radius: 0 !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  padding: 70px max(28px, calc((100vw - 1180px) / 2)) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 32px !important;
  box-shadow: none !important;
}

.cta-v4 h2 {
  color: #fff !important;
  margin: 0 0 12px !important;
  max-width: 640px !important;
}

.cta-v4 p {
  color: rgba(255, 255, 255, 0.84) !important;
  font-size: 17px !important;
  line-height: 1.65 !important;
  max-width: 650px !important;
}

.cta-v4 a {
  background: #fff !important;
  color: var(--brand-navy) !important;
  border-radius: 10px !important;
  padding: 16px 26px !important;
  font-weight: 600 !important;
  white-space: nowrap !important;
}

.site-footer {
  margin-top: 0 !important;
  background: #061b34 !important;
  color: #fff !important;
  padding-top: 70px !important;
}

.footer-top-card {
  display: none !important;
}

.footgrid {
  display: grid !important;
  grid-template-columns: 1.2fr 0.8fr 1fr 1fr !important;
  gap: 54px !important;
  padding: 0 0 48px !important;
  align-items: start !important;
}

.footgrid img {
  width: 190px !important;
  background: #fff !important;
  border-radius: 14px !important;
  padding: 12px !important;
  margin-bottom: 22px !important;
}

.footgrid p,
.site-footer p {
  color: rgba(255, 255, 255, 0.68) !important;
  font-size: 15px !important;
  line-height: 1.65 !important;
}

.site-footer h4 {
  color: #fff !important;
  font-size: 16px !important;
  margin: 0 0 18px !important;
}

.footer-links a,
.footer-contact a {
  display: block !important;
  color: rgba(255, 255, 255, 0.82) !important;
  margin: 0 0 13px !important;
  font-size: 15px !important;
  text-decoration: none !important;
}

.footer-links a:hover,
.footer-contact a:hover {
  color: #fff !important;
}

.footer-line {
  border-top: 1px solid rgba(255, 255, 255, 0.13) !important;
  padding: 24px 0 !important;
  display: flex !important;
  justify-content: space-between !important;
  gap: 20px !important;
  color: rgba(255, 255, 255, 0.68) !important;
}

.footer-line a {
  color: rgba(255, 255, 255, 0.82) !important;
  margin-left: 24px !important;
}

.social {
  display: flex !important;
  gap: 10px !important;
}

.social span {
  width: 34px !important;
  height: 34px !important;
  border-radius: 50% !important;
  background: rgba(255, 255, 255, 0.1) !important;
  color: #fff !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 13px !important;
}

.floating-chat {
  right: 28px !important;
  bottom: 28px !important;
  z-index: 999 !important;
}

@media (max-width: 980px) {
  .site-header {
    height: auto !important;
    min-height: 68px !important;
  }

  .site-header .navwrap {
    height: auto !important;
    min-height: 68px !important;
  }

  .mobile-toggle {
    display: block !important;
  }

  .nav {
    display: none !important;
    position: absolute !important;
    left: 0 !important;
    right: 0 !important;
    top: 68px !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    background: #fff !important;
    border-bottom: 1px solid var(--brand-line) !important;
    padding: 18px 24px !important;
    gap: 0 !important;
  }

  .nav.active {
    display: flex !important;
  }

  .nav a {
    padding: 12px 0 !important;
    width: 100% !important;
  }

  .menu-item {
    width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
  }

  .dropdown {
    position: static !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    transform: none !important;
    display: none !important;
    box-shadow: none !important;
    border-radius: 12px !important;
    width: 100% !important;
    min-width: 0 !important;
    margin: 8px 0 !important;
    background: #f4fbef !important;
  }

  .menu-item.open>.dropdown {
    display: block !important;
  }

  .submenu {
    position: static !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    display: none !important;
    box-shadow: none !important;
    min-width: 0 !important;
    background: #fff !important;
    margin: 8px 0 !important;
  }

  .has-sub.open>.submenu {
    display: block !important;
  }

  .quote-btn {
    display: none !important;
  }

  .hero-grid-v4,
  .about-layout-v4 {
    grid-template-columns: 1fr !important;
  }

  .cards-grid-v4.two,
  .cards-grid-v4.three,
  .testimonial-grid-v4,
  .blog-grid-v4,
  .trusted-cards-v4,
  .footgrid {
    grid-template-columns: 1fr !important;
  }

  .about-images-v4 {
    grid-template-columns: 1fr 1fr !important;
  }

  .cta-v4 {
    flex-direction: column !important;
    align-items: flex-start !important;
  }

  .footer-line {
    flex-direction: column !important;
  }

  .footer-line a {
    margin-left: 0 !important;
    margin-right: 18px !important;
  }
}

@media (max-width: 600px) {
  .container {
    width: calc(100% - 28px) !important;
  }

  .logo img {
    width: 178px !important;
  }

  .home-hero-v4 {
    padding: 34px 0 48px !important;
  }

  .home-page .home-section {
    padding: 50px 0 !important;
  }

  .hero-content-v4 h1 {
    font-size: 36px !important;
    line-height: 1.08 !important;
    letter-spacing: -0.045em !important;
  }

  .hero-content-v4 p {
    font-size: 15.5px !important;
    line-height: 1.68 !important;
  }

  .hero-actions-v4 {
    flex-direction: column !important;
  }

  .hero-actions-v4 .btn {
    width: 100% !important;
  }

  .hero-image-v4 img {
    height: 260px !important;
    border-radius: 20px !important;
  }

  .section-title-v4 {
    margin-bottom: 28px !important;
  }

  .section-title-v4 h2,
  .about-title-v4 h2,
  .blog-head-v4 h2,
  .cta-v4 h2,
  .trusted-bg-v4 h2 {
    font-size: 29px !important;
    letter-spacing: -0.035em !important;
  }

  .info-card-v4,
  .service-card-v4,
  .trusted-cards-v4 article {
    padding: 22px !important;
    border-radius: 18px !important;
  }

  .info-card-v4 h3,
  .service-card-v4 h3 {
    font-size: 21px !important;
  }

  .about-images-v4 {
    grid-template-columns: 1fr !important;
  }

  .about-images-v4 img {
    height: 220px !important;
  }

  .form-v4 {
    grid-template-columns: 1fr !important;
    padding: 20px !important;
  }

  .form-v4 textarea {
    grid-column: auto !important;
  }

  .form-v4 button {
    grid-column: auto !important;
    width: 100% !important;
  }

  .blog-head-v4 {
    align-items: flex-start !important;
    gap: 14px !important;
    flex-direction: column !important;
  }

  .cta-v4 {
    padding: 46px 22px !important;
    margin-left: -14px !important;
    margin-right: -14px !important;
  }

  .footgrid {
    gap: 26px !important;
    padding-bottom: 34px !important;
  }

  .site-footer {
    padding-top: 48px !important;
  }

  .floating-chat {
    width: 54px !important;
    height: 54px !important;
    right: 18px !important;
    bottom: 18px !important;
  }
}

/* ===== Ufrenza requested home page final correction ===== */
:root {
  --requested-hero-bg: #ebe5d5;
}

.home-redesign-v4,
.home-redesign-v4 body {
  background: #fffdf8 !important;
}

.home-redesign-v4 h1,
.home-redesign-v4 h2,
.home-redesign-v4 h3,
.home-redesign-v4 h4,
.home-redesign-v4 .hero-content-v4 h1,
.home-redesign-v4 .section-title-v4 h2,
.home-redesign-v4 .blog-head-v4 h2,
.home-redesign-v4 .cta-v4 h2 {
  font-weight: 600 !important;
  letter-spacing: -0.028em !important;
}

.home-redesign-v4 .nav a,
.home-redesign-v4 .quote-btn,
.home-redesign-v4 .btn,
.home-redesign-v4 .read-btn,
.home-redesign-v4 .footer-links a,
.home-redesign-v4 .footer-contact a,
.home-redesign-v4 .form-v4 button {
  font-weight: 600 !important;
}

.home-redesign-v4 .hero-content-v4 h1 span,
.home-redesign-v4 .section-title-v4 h2 span,
.home-redesign-v4 .about-title-v4 h2 span,
.home-redesign-v4 .blog-head-v4 h2 span,
.home-redesign-v4 .cta-v4 h2 span {
  font-family: inherit !important;
  font-style: normal !important;
  font-weight: 600 !important;
  color: #1f7f32 !important;
}

.home-hero-v4 {
  background: var(--requested-hero-bg) !important;
  padding: 0 !important;
  margin: 0 !important;
  border-bottom: 1px solid rgba(6, 26, 51, 0.06) !important;
}

.home-hero-v4 .container {
  width: min(1320px, 92vw) !important;
}

.hero-grid-v4 {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  padding: 72px 0 !important;
  min-height: 600px !important;
  gap: 60px !important;
  overflow: visible !important;
}

.hero-grid-v4:before,
.hero-grid-v4:after {
  display: none !important;
}

.hero-content-v4 h1 {
  font-size: clamp(38px, 4.2vw, 62px) !important;
  line-height: 1.08 !important;
  max-width: 720px !important;
  margin-bottom: 22px !important;
  color: #061a33 !important;
}

.hero-content-v4 p {
  font-size: 18px !important;
  line-height: 1.75 !important;
  max-width: 680px !important;
  color: #415165 !important;
  margin-bottom: 26px !important;
}

.hero-actions-v4 {
  display: flex !important;
  gap: 16px !important;
  flex-wrap: wrap !important;
  margin-top: 10px !important;
}

.hero-image-v4 {
  position: relative !important;
}

.hero-image-v4:before {
  content: "" !important;
  position: absolute !important;
  inset: 28px -28px -26px 34px !important;
  border-radius: 30px !important;
  background: rgba(31, 127, 50, 0.16) !important;
  z-index: 0 !important;
}

.hero-image-v4 img {
  position: relative !important;
  z-index: 1 !important;
  height: 500px !important;
  width: 100% !important;
  object-fit: cover !important;
  border-radius: 28px !important;
  box-shadow: 0 24px 60px rgba(6, 26, 51, 0.16) !important;
}

.home-section {
  padding: 78px 0 !important;
}

.section-title-v4 h2 {
  font-size: clamp(30px, 3vw, 44px) !important;
  line-height: 1.15 !important;
}

.section-title-v4 p {
  font-size: 16px !important;
  line-height: 1.75 !important;
  max-width: 820px !important;
}

.cards-grid-v4.two {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 24px !important;
}

.cards-grid-v4.three {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 24px !important;
}

.info-card-v4,
.service-card-v4 {
  justify-content: flex-start !important;
  align-items: flex-start !important;
  text-align: left !important;
  padding: 32px !important;
  border-radius: 22px !important;
  min-height: auto !important;
  background: #fff !important;
  box-shadow: 0 14px 40px rgba(6, 26, 51, 0.06) !important;
  border: 1px solid rgba(6, 26, 51, 0.08) !important;
}

.info-card-v4 img,
.service-card-v4 img {
  margin: 0 0 18px !important;
  width: 64px !important;
  height: 64px !important;
}

.info-card-v4 h3,
.service-card-v4 h3 {
  font-size: clamp(20px, 1.7vw, 26px) !important;
  font-weight: 600 !important;
  text-align: left !important;
  margin-bottom: 12px !important;
}

.info-card-v4 p,
.service-card-v4 p {
  font-size: 15.5px !important;
  line-height: 1.72 !important;
  text-align: left !important;
  max-width: none !important;
  margin: 0 0 18px !important;
  color: #4f6072 !important;
}

.service-card-v4 .read-btn,
.info-card-v4 .read-btn {
  margin-top: auto !important;
  align-self: flex-start !important;
}

.trusted-v4,
.testimonials-v4,
.contact-v4,
.blog-v4 {
  background: #fffdf8 !important;
}

.cta-v4 {
  border-radius: 0 !important;
  width: 100vw !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  min-height: 300px !important;
  padding: 70px max(24px, calc((100vw - 1220px) / 2)) !important;
  text-align: left !important;
  display: flex !important;
  align-items: flex-start !important;
  justify-content: center !important;
  background: linear-gradient(135deg, #1f7f32 0%, #36a900 100%) !important;
  box-shadow: none !important;
}

.cta-v4 h2 {
  font-size: clamp(32px, 3vw, 48px) !important;
  font-weight: 600 !important;
  text-align: left !important;
  max-width: 780px !important;
}

.cta-v4 p {
  font-size: 17px !important;
  font-weight: 500 !important;
  text-align: left !important;
  max-width: 720px !important;
}

.cta-v4 a {
  font-weight: 600 !important;
  border-radius: 999px !important;
}

.form-v4 button {
  cursor: pointer !important;
}

@media (max-width: 1100px) {
  .hero-grid-v4 {
    grid-template-columns: 1fr !important;
    padding: 56px 0 !important;
    min-height: 0 !important;
  }

  .hero-image-v4 img {
    height: 390px !important;
  }

  .cards-grid-v4.three {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 900px) {

  .cards-grid-v4.two,
  .cards-grid-v4.three {
    grid-template-columns: 1fr !important;
  }

  .hero-content-v4 h1 {
    font-size: clamp(34px, 9vw, 44px) !important;
  }

  .hero-content-v4 p {
    font-size: 16px !important;
  }

  .hero-image-v4:before {
    display: none !important;
  }

  .home-section {
    padding: 58px 0 !important;
  }

  .info-card-v4,
  .service-card-v4 {
    text-align: left !important;
    padding: 26px 22px !important;
  }

  .section-title-v4 h2 {
    font-size: clamp(28px, 8vw, 36px) !important;
  }
}

@media (max-width: 560px) {
  .home-hero-v4 .container {
    width: min(100% - 28px, 1320px) !important;
  }

  .hero-grid-v4 {
    padding: 42px 0 !important;
  }

  .hero-image-v4 img {
    height: 280px !important;
    border-radius: 20px !important;
  }

  .hero-actions-v4 .btn {
    width: 100% !important;
  }

  .cta-v4 {
    padding: 52px 20px !important;
  }

  .form-v4 {
    grid-template-columns: 1fr !important;
  }
}

/* === FINAL HOME CLEANUP 2026-06-14 === */
.home-redesign-v4 {
  background: #fffdf8 !important;
  --home-bg: #ebe5d5;
  --home-navy: #071b33;
  --home-green: #0d9414;
  --home-muted: #4f5f70;
}

.home-redesign-v4 h1,
.home-redesign-v4 h2,
.home-redesign-v4 h3,
.home-redesign-v4 h4 {
  font-weight: 600 !important;
  letter-spacing: -0.025em !important;
  color: var(--home-navy);
}

.home-redesign-v4 p,
.home-redesign-v4 li {
  color: var(--home-muted);
  line-height: 1.68 !important;
}

.home-redesign-v4 .container {
  width: min(1240px, 92vw) !important;
  max-width: 1240px !important;
}

.home-redesign-v4 .home-section {
  padding: 70px 0 !important;
}

/* full-width hero, no boxed banner */
.home-redesign-v4 .home-hero-v4 {
  background: #ebe5d5 !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
}

.home-redesign-v4 .home-hero-v4 .container {
  width: min(1240px, 92vw) !important;
}

.home-redesign-v4 .hero-grid-v4 {
  display: grid !important;
  grid-template-columns: 1.05fr 0.95fr !important;
  align-items: center !important;
  gap: 54px !important;
  padding: 68px 0 !important;
  min-height: 0 !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  overflow: visible !important;
}

.home-redesign-v4 .hero-grid-v4:before,
.home-redesign-v4 .hero-grid-v4:after {
  display: none !important;
}

.home-redesign-v4 .hero-content-v4 h1 {
  font-size: clamp(34px, 3.55vw, 52px) !important;
  line-height: 1.12 !important;
  max-width: 680px !important;
  margin: 18px 0 18px !important;
  font-weight: 600 !important;
}

.home-redesign-v4 .hero-content-v4 p {
  max-width: 720px !important;
  font-size: 17px !important;
  line-height: 1.72 !important;
  margin-bottom: 24px !important;
}

.home-redesign-v4 .hero-image-v4:before {
  display: none !important;
}

.home-redesign-v4 .hero-image-v4 img {
  height: 460px !important;
  border-radius: 24px !important;
  object-fit: fill !important;
  box-shadow: 0 22px 55px rgba(7, 27, 51, 0.14) !important;
}

/* section headings smaller and balanced */
.home-redesign-v4 .section-title-v4 {
  max-width: 860px !important;
  margin: 0 auto 36px !important;
}

.home-redesign-v4 .section-title-v4 h2,
.home-redesign-v4 .about-title-v4 h2,
.home-redesign-v4 .blog-head-v4 h2,
.home-redesign-v4 .contact-v4 h2,
.home-redesign-v4 .cta-v4 h2 {
  font-size: clamp(28px, 2.65vw, 40px) !important;
  line-height: 1.16 !important;
  font-weight: 600 !important;
}

.home-redesign-v4 .section-title-v4 p {
  max-width: 850px !important;
  font-size: 16px !important;
  line-height: 1.7 !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* card cleanup: icons fixed, headings smaller, text readable */
.home-redesign-v4 .cards-grid-v4.two {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 24px !important;
  align-items: stretch !important;
}

.home-redesign-v4 .cards-grid-v4.three {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 24px !important;
  align-items: stretch !important;
}

.home-redesign-v4 .info-card-v4,
.home-redesign-v4 .service-card-v4 {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  justify-content: flex-start !important;
  text-align: left !important;
  gap: 0 !important;
  padding: 30px 28px !important;
  min-height: 0 !important;
  border-radius: 20px !important;
  background: #fff !important;
  border: 1px solid rgba(7, 27, 51, 0.08) !important;
  box-shadow: 0 12px 34px rgba(7, 27, 51, 0.055) !important;
}

.home-redesign-v4 .info-card-v4.soft {
  background: #fff !important;
}

.home-redesign-v4 .info-card-v4 img,
.home-redesign-v4 .service-card-v4 img {
  width: 58px !important;
  height: 58px !important;
  padding: 9px !important;
  margin: 0 0 18px !important;
  display: block !important;
  align-self: flex-start !important;
  border-radius: 15px !important;
  background: #eefbe5 !important;
  object-fit: contain !important;
}

.home-redesign-v4 .info-card-v4 h3,
.home-redesign-v4 .service-card-v4 h3 {
  font-size: clamp(20px, 1.55vw, 23px) !important;
  line-height: 1.22 !important;
  margin: 0 0 11px !important;
  text-align: left !important;
  max-width: 100% !important;
}

.home-redesign-v4 .info-card-v4 p,
.home-redesign-v4 .service-card-v4 p {
  font-size: 15.2px !important;
  line-height: 1.68 !important;
  text-align: left !important;
  max-width: 100% !important;
  margin: 0 0 20px !important;
}

.home-redesign-v4 .info-card-v4 .read-btn,
.home-redesign-v4 .service-card-v4 .read-btn {
  margin-top: auto !important;
  align-self: flex-start !important;
}

/* about section text width fix */
.home-redesign-v4 .about-layout-v4 {
  display: grid !important;
  grid-template-columns: 0.85fr 1.15fr !important;
  gap: 36px 56px !important;
  align-items: center !important;
}

.home-redesign-v4 .about-images-v4 {
  grid-column: 1 / -1 !important;
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 18px !important;
  margin-bottom: 18px !important;
}

.home-redesign-v4 .about-images-v4 img {
  height: 300px !important;
  border-radius: 20px !important;
  object-fit: cover !important;
}

.home-redesign-v4 .about-title-v4 {
  max-width: 420px !important;
}

.home-redesign-v4 .about-text-v4 {
  max-width: 680px !important;
}

.home-redesign-v4 .about-text-v4 p {
  font-size: 16px !important;
  line-height: 1.76 !important;
}

/* contact section cleaner */
.home-redesign-v4 .contact-v4 {
  background: #fffdf8 !important;
  padding-top: 74px !important;
}

.home-redesign-v4 .contact-v4 .section-title-v4 {
  margin-bottom: 28px !important;
}

.home-redesign-v4 .contact-v4 h2 {
  color: var(--home-navy);
}

.home-redesign-v4 .contact-v4 h2 span {
  color: #1f7f32 !important;
  font-weight: 600 !important;
}

.home-redesign-v4 .form-v4 {
  max-width: 860px !important;
  margin: 0 auto !important;
  padding: 30px !important;
  border-radius: 22px !important;
  background: #fff !important;
  border: 1px solid rgba(7, 27, 51, 0.08) !important;
  box-shadow: 0 16px 45px rgba(7, 27, 51, 0.07) !important;
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 14px !important;
}

.home-redesign-v4 .form-v4 input,
.home-redesign-v4 .form-v4 textarea {
  min-height: 52px !important;
  border-radius: 12px !important;
  border: 1px solid rgba(7, 27, 51, 0.14) !important;
  padding: 14px 16px !important;
  font-size: 15px !important;
  background: #fff !important;
}

.home-redesign-v4 .form-v4 textarea {
  grid-column: 1 / -1 !important;
  min-height: 135px !important;
}

.home-redesign-v4 .form-v4 button {
  grid-column: auto !important;
  width: max-content !important;
  padding: 14px 28px !important;
  border-radius: 12px !important;
  font-weight: 600 !important;
  cursor: pointer !important;
}

/* final CTA: less messy */
.home-redesign-v4 .final-cta-wrap-v4 {
  width: 100% !important;
  max-width: none !important;
  padding: 40px 0 0 !important;
}

.home-redesign-v4 .cta-v4 {
  width: 100% !important;
  max-width: none !important;
  min-height: auto !important;
  margin: 0 !important;
  border-radius: 0 !important;
  padding: 58px max(24px, calc((100vw - 1240px) / 2)) !important;
  display: grid !important;
  grid-template-columns: 1fr auto !important;
  align-items: center !important;
  gap: 28px !important;
  background: #ebe5d5 !important;
  box-shadow: none !important;
  text-align: left !important;
}

.home-redesign-v4 .cta-v4 h2 {
  font-size: clamp(28px, 2.6vw, 40px) !important;
  line-height: 1.15 !important;
  max-width: 620px !important;
  margin: 0 0 12px !important;
  color: var(--home-navy);
}

.home-redesign-v4 .cta-v4 h2 span {
  color: #1f7f32 !important;
  font-weight: 600 !important;
  font-style: normal !important;
  font-family: inherit !important;
}

.home-redesign-v4 .cta-v4 p {
  max-width: 680px !important;
  color: #405267 !important;
  font-size: 16px !important;
  font-weight: 400 !important;
}

.home-redesign-v4 .cta-v4 a {
  background: #0d9414 !important;
  color: #fff !important;
  border-radius: 999px !important;
  padding: 15px 28px !important;
  font-weight: 600 !important;
}

@media (max-width: 1100px) {
  .home-redesign-v4 .hero-grid-v4 {
    grid-template-columns: 1fr !important;
    gap: 34px !important;
    padding: 52px 0 !important;
  }

  .home-redesign-v4 .hero-image-v4 img {
    height: 360px !important;
  }

  .home-redesign-v4 .cards-grid-v4.three {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 900px) {
  .home-redesign-v4 .home-section {
    padding: 54px 0 !important;
  }

  .home-redesign-v4 .cards-grid-v4.two,
  .home-redesign-v4 .cards-grid-v4.three {
    grid-template-columns: 1fr !important;
  }

  .home-redesign-v4 .about-layout-v4 {
    grid-template-columns: 1fr !important;
  }

  .home-redesign-v4 .about-images-v4 {
    grid-template-columns: 1fr !important;
  }

  .home-redesign-v4 .about-images-v4 img {
    height: 245px !important;
  }

  .home-redesign-v4 .cta-v4 {
    grid-template-columns: 1fr !important;
    align-items: start !important;
  }
}

@media (max-width: 560px) {
  .home-redesign-v4 .home-hero-v4 .container {
    width: calc(100% - 28px) !important;
  }

  .home-redesign-v4 .hero-content-v4 h1 {
    font-size: 33px !important;
  }

  .home-redesign-v4 .hero-content-v4 p {
    font-size: 15.5px !important;
  }

  .home-redesign-v4 .hero-image-v4 img {
    height: 250px !important;
    border-radius: 18px !important;
  }

  .home-redesign-v4 .info-card-v4,
  .home-redesign-v4 .service-card-v4 {
    padding: 24px 20px !important;
  }

  .home-redesign-v4 .info-card-v4 h3,
  .home-redesign-v4 .service-card-v4 h3 {
    font-size: 20px !important;
  }

  .home-redesign-v4 .form-v4 {
    grid-template-columns: 1fr !important;
    padding: 20px !important;
  }

  .home-redesign-v4 .form-v4 button {
    width: 100% !important;
  }

  .home-redesign-v4 .cta-v4 {
    padding: 44px 20px !important;
  }
}

/* ===== FINAL GLOBAL CONTRAST + CLEANUP PATCH ===== */
:root {
  --page-bg: #ebe5d5;
  --navy: #061a33;
  --green: #28a300;
  --green-2: #167a2f;
}

body {
  background: var(--page-bg) !important;
  color: #465568 !important;
  font-weight: 400 !important;
  padding-top: 50px !important;

}

h1,
h2,
h3,
h4 {
  font-weight: 600 !important;
  color: #061a33 !important;
  letter-spacing: -0.025em !important;
}

h1 {
  font-size: clamp(36px, 4.2vw, 58px) !important;
}

h2 {
  font-size: clamp(28px, 3vw, 42px) !important;
}

h3 {
  font-size: clamp(20px, 1.65vw, 26px) !important;
}

p,
li {
  font-weight: 400 !important;
  color: #465568 !important;
}

.btn,
.quote-btn {
  font-weight: 600 !important;
}
.new-cr {
  color: #fff !important;
}

/* White text on every dark block across the site */
.deep,
.process-section,
.recovery-dark,
.recovery-faq-intro,
.repair-faq-intro,
.migration-faq-intro,
.cert-faq-intro,
.reports-faq-intro,
.dark-card,
[class*="faq-intro"],
[class*="dark"],
.site-footer,
.cta,
.final-cta,
.footer-top-card.dark,
body.tax-page .tax-how,
body.tax-page .tax-process,
body.tax-page section[class*="dark"],
body.tax-page .process-section {
  color: #fff !important;
}

.deep h1,
.deep h2,
.deep h3,
.deep h4,
.deep p,
.deep li,
.process-section h1,
.process-section h2,
.process-section h3,
.process-section h4,
.process-section p,
.process-section li,
.recovery-dark h1,
.recovery-dark h2,
.recovery-dark h3,
.recovery-dark h4,
.recovery-dark p,
.recovery-dark li,
.recovery-faq-intro h1,
.recovery-faq-intro h2,
.recovery-faq-intro h3,
.recovery-faq-intro h4,
.recovery-faq-intro p,
.recovery-faq-intro li,
.repair-faq-intro h1,
.repair-faq-intro h2,
.repair-faq-intro h3,
.repair-faq-intro h4,
.repair-faq-intro p,
.repair-faq-intro li,
.migration-faq-intro h1,
.migration-faq-intro h2,
.migration-faq-intro h3,
.migration-faq-intro h4,
.migration-faq-intro p,
.migration-faq-intro li,
.cert-faq-intro h1,
.cert-faq-intro h2,
.cert-faq-intro h3,
.cert-faq-intro h4,
.cert-faq-intro p,
.cert-faq-intro li,
.reports-faq-intro h1,
.reports-faq-intro h2,
.reports-faq-intro h3,
.reports-faq-intro h4,
.reports-faq-intro p,
.reports-faq-intro li,
.dark-card h1,
.dark-card h2,
.dark-card h3,
.dark-card h4,
.dark-card p,
.dark-card li,
[class*="faq-intro"] h1,
[class*="faq-intro"] h2,
[class*="faq-intro"] h3,
[class*="faq-intro"] h4,
[class*="faq-intro"] p,
[class*="faq-intro"] li,
[class*="dark"] h1,
[class*="dark"] h2,
[class*="dark"] h3,
[class*="dark"] h4,
[class*="dark"] p,
[class*="dark"] li,
.cta h1,
.cta h2,
.cta h3,
.cta h4,
.cta p,
.cta li,
.final-cta h1,
.final-cta h2,
.final-cta h3,
.final-cta h4,
.final-cta p,
.final-cta li,
.site-footer h1,
.site-footer h2,
.site-footer h3,
.site-footer h4,
.site-footer p,
.site-footer li,
body.tax-page .process-section h1,
body.tax-page .process-section h2,
body.tax-page .process-section h3,
body.tax-page .process-section h4,
body.tax-page .process-section p,
body.tax-page .process-section li {
  color: #fff !important;
}

.deep p,
.process-section p,
[class*="faq-intro"] p,
[class*="dark"] p,
.site-footer p,
.cta p,
.final-cta p {
  color: rgba(255, 255, 255, 0.82) !important;
}

.badge.dark-badge,
.light-badge {
  background: rgba(255, 255, 255, 0.12) !important;
  border-color: rgba(255, 255, 255, 0.24) !important;
  color: #cfffad !important;
}

.serif {
  font-weight: 600 !important;
  color: #2a922e !important;
}

.cta .serif,
.final-cta .serif,
[class*="dark"] .serif,
.site-footer .serif {
  color: #fff !important;
}

/* Home page: cleaner cards and icon positioning */
.feature-grid,
.services-grid {
  align-items: stretch !important;
}

.feature-card,
.service-tile,
.card {
  padding: 26px 24px !important;
  border-radius: 22px !important;
}

.feature-card img,
.service-tile img,
.service-card img {
  display: block !important;
  margin: 0 0 18px 0 !important;
  width: 56px !important;
  height: 56px !important;
  padding: 9px !important;
  border-radius: 16px !important;
}

.service-card {
  text-align: left !important;
}

.service-card img {
  margin-left: 0 !important;
  margin-right: 0 !important;
}

.feature-card h3,
.service-tile h3,
.service-card h3 {
  font-size: 20px !important;
  line-height: 1.2 !important;
  font-weight: 600 !important;
  margin-bottom: 10px !important;
}

.feature-card p,
.service-tile p,
.service-card p {
  font-size: 15px !important;
  line-height: 1.65 !important;
  max-width: 100% !important;
}

.home-service {
  min-height: 0 !important;
}

/* Home About: prevent narrow broken paragraph columns */
.about-grid,
.grid2 {
  align-items: center !important;
}

.about-grid p,
.grid2 p,
.section p {
  max-width: 760px;
}

.about-strip .about-grid {
  grid-template-columns: 0.9fr 1.1fr !important;
  gap: 56px !important;
}

.about-strip .about-grid>div:last-child {
  max-width: 690px !important;
}

/* Contact / form section polish */
.contact-band {
  background: linear-gradient(180deg, var(--page-bg), #fffaf2) !important;
}

.contact-grid {
  align-items: start !important;
}

.home-form,
.contact-form-wrap,
.contact-card {
  background: #fff !important;
  border: 1px solid rgba(6, 26, 51, 0.08) !important;
  border-radius: 24px !important;
  box-shadow: 0 18px 50px rgba(6, 26, 51, 0.08) !important;
}

.contact-form input,
.contact-form textarea,
.contact-form select,
input,
textarea,
select {
  border: 1px solid #d9dfd5 !important;
  border-radius: 12px !important;
  font-size: 15px !important;
}

/* Final advice band: smaller, readable, no messy colors */
.final-cta-wrap {
  padding: 52px 0 !important;
  background: var(--page-bg) !important;
}

.final-cta,
.cta-v4,
.cta {
  max-width: 1180px !important;
  width: 92vw !important;
  margin: 0 auto !important;
  border-radius: 28px !important;
  padding: 46px 42px !important;
  background: linear-gradient(135deg, #1b9a26 0%, #137b32 100%) !important;
  box-shadow: 0 20px 52px rgba(6, 26, 51, 0.13) !important;
}

.final-cta h2,
.cta-v4 h2,
.cta h2 {
  font-size: clamp(26px, 2.6vw, 38px) !important;
  line-height: 1.18 !important;
  font-weight: 600 !important;
  color: #fff !important;
  margin-bottom: 12px !important;
}

.final-cta p,
.cta-v4 p,
.cta p {
  font-size: 16px !important;
  line-height: 1.65 !important;
  color: rgba(255, 255, 255, 0.86) !important;
  max-width: 720px !important;
}

.cta-v4 {
  display: grid !important;
  grid-template-columns: 1fr auto !important;
  align-items: center !important;
  gap: 28px !important;
  text-align: left !important;
}

.cta-v4 .btn,
.final-cta .btn,
.cta .btn {
  white-space: nowrap !important;
}

/* Footer always readable */
.site-footer {
  background: #061a33 !important;
  background-image:
    radial-gradient(circle at 8% 0%, rgba(54, 169, 0, 0.18), transparent 30%),
    linear-gradient(135deg, #061a33, #061421) !important;
  color: #fff !important;
}

.site-footer h4,
.site-footer h3 {
  color: #fff !important;
  font-weight: 600 !important;
  opacity: 1 !important;
}

.site-footer p,
.site-footer a,
.footer-links a,
.footer-contact a,
.footer-line,
.footer-line span {
  color: rgba(255, 255, 255, 0.78) !important;
  opacity: 1 !important;
}

.site-footer a:hover {
  color: #bfff9b !important;
}

.footer-top-card {
  background: linear-gradient(135deg, #fff, #f1ffe7) !important;
  color: #061a33 !important;
}

.footer-top-card h3 {
  color: #061a33 !important;
}

.footer-top-card p {
  color: #4f5b68 !important;
}

.footer-line {
  border-top: 1px solid rgba(255, 255, 255, 0.12) !important;
}

/* Service page dark cards */
.cert-card:first-child,
.cert-card.dark-card,
.bk-copy-card.dark-card {
  background: #061a33 !important;
}

.cert-card:first-child h3,
.cert-card:first-child p,
.cert-card:first-child span {
  color: #fff !important;
}

.cert-card:first-child p {
  color: rgba(255, 255, 255, 0.78) !important;
}

/* FAQ panels */
.faq-q {
  font-weight: 600 !important;
  color: #061a33 !important;
}

.faq-a,
.faq-a p,
.faq-a li {
  color: #536171 !important;
}

/* Hide accidental duplicated advice section when two are adjacent before footer */
section.container:has(+ section.container .cta) .cta {
  display: none !important;
}

@media (max-width: 900px) {

  .cta-v4,
  .final-cta,
  .cta {
    display: block !important;
    padding: 34px 24px !important;
    text-align: left !important;
  }

  .cta-v4 .btn,
  .final-cta .btn,
  .cta .btn {
    margin-top: 14px !important;
  }

  .about-strip .about-grid,
  .grid2 {
    grid-template-columns: 1fr !important;
  }

  .feature-grid,
  .services-grid,
  .grid3,
  .grid4,
  .grid5 {
    grid-template-columns: 1fr !important;
  }

  h1 {
    font-size: 34px !important;
  }

  h2 {
    font-size: 28px !important;
  }

  h3 {
    font-size: 20px !important;
  }
}

article.value-panel.value-green p,
article.value-panel.value-green h2 {

  color: #fff !important;
}

.btn.ghost {
  background: #ffffff;
  color: #fff !important;
}

.tax-process-copy p,
.tax-process-copy h2 {

  color: #fff !important;
}

.cert-service-card h3,
.cert-service-card p {
  color: #fff !important;

}

section.section.cert-services-deep h2,
section.section.cert-services-deep p {
  color: #fff !important;

}

.cert-problem-card h3 {
  color: var(--green-2) !important;
}

.cert-problem-card.featured p,
.rrepair-problems-wrap h2,
.repair-problems-wrap p,
.repair-problem h3,
.repair-problem p,
.migration-proven-section h2,
.migration-proven-section p,
.faq-side-card  h2 , .faq-side-card p{
  color: #fff !important;
}
.migration-checks li {
  color:#020b1e !important;
}
.migration-checks-new li {
color: #fff !important;
font-size: 14px !important;
}

/* ===== Blog Single Pages ===== */
.blog-single-hero{padding:64px 0 42px;background:linear-gradient(135deg,#EBE5D5 0%,#f8fff1 100%);border-bottom:1px solid rgba(6,26,51,.07)}
.blog-single-hero .crumb{font-size:12px;letter-spacing:.12em;text-transform:uppercase;font-weight:700;color:var(--green-2);margin-bottom:16px}
.blog-single-hero h1{max-width:980px;font-size:clamp(34px,4vw,58px);font-weight:700;line-height:1.12;margin-bottom:16px}
.blog-meta{display:flex;gap:16px;flex-wrap:wrap;color:#536477;font-weight:600;font-size:14px}
.blog-single-wrap{padding:58px 0 82px;background:#fff}
.blog-layout{display:grid;grid-template-columns:minmax(0,760px) 320px;gap:54px;align-items:start}
.blog-feature-img{width:100%;height:390px;object-fit:cover;border-radius:26px;box-shadow:0 18px 45px rgba(6,26,51,.10);margin-bottom:34px}
.blog-article{font-size:17px;line-height:1.78;color:#46576b}
.blog-article h2{font-size:clamp(26px,2.4vw,36px);font-weight:700;margin:42px 0 14px;color:#061a33}
.blog-article h3{font-size:23px;font-weight:700;margin:30px 0 10px;color:#061a33}
.blog-article h4{font-size:18px;font-weight:700;margin:22px 0 8px;color:#061a33}
.blog-article p{font-size:17px;line-height:1.78;margin:0 0 18px;color:#46576b}
.blog-article ul,.blog-article ol{padding-left:24px;margin:0 0 24px;color:#46576b}
.blog-article li{margin:8px 0}
.blog-article .note-box{background:#f2ffe9;border:1px solid rgba(54,169,0,.20);border-radius:18px;padding:22px 24px;margin:28px 0;color:#26384a}
.blog-article table{width:100%;border-collapse:collapse;margin:24px 0;background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 8px 24px rgba(6,26,51,.06)}
.blog-article th,.blog-article td{border:1px solid #e4eadf;padding:13px;text-align:left;vertical-align:top}.blog-article th{background:#f2ffe9;color:#061a33;font-weight:700}
.blog-sidebar{position:sticky;top:104px}.sidebar-card{background:#fff;border:1px solid rgba(6,26,51,.08);border-radius:22px;padding:24px;box-shadow:0 12px 32px rgba(6,26,51,.06);margin-bottom:20px}.sidebar-card h3{font-size:20px;font-weight:700;margin-bottom:12px}.sidebar-card a{display:block;text-decoration:none;color:#46576b;font-weight:600;margin:10px 0}.sidebar-card a:hover{color:var(--green-2)}.author-card{background:#061a33;color:#fff}.author-card h3,.author-card p{color:#fff}.author-card p{opacity:.78;font-size:14px;line-height:1.65}.article-cta{background:linear-gradient(135deg,#36a900,#1f7f32);color:#fff;border-radius:24px;padding:30px;margin-top:44px}.article-cta h2,.article-cta p{color:#fff}.article-cta h2{font-size:28px;margin-bottom:10px}.article-cta .btn{background:#fff;color:#061a33!important;box-shadow:none}
@media(max-width:980px){.blog-layout{grid-template-columns:1fr}.blog-sidebar{position:static}.blog-feature-img{height:300px}}
@media(max-width:560px){.blog-single-hero{padding:42px 0 30px}.blog-single-wrap{padding:38px 0 58px}.blog-feature-img{height:220px;border-radius:20px}.blog-article p{font-size:16px}.blog-article h2{font-size:26px}.blog-article h3{font-size:21px}}
.article-cta h2{
  color: #fff !important;
}