/* ==========================================================
   Home 2 page (page template: home-2.php)
   Everything is scoped to .hp2 and prefixed hp- so it can't clash
   with Bootstrap or the theme. This file only loads on that template.
   ========================================================== */

a.btn-main {
    border-radius: 30px!important;
}
.hp2 {
  --navy: #0a2342;
  --orange: #f28c28;
  --red: #e03a3e;
  --cyan: #00b8d9;
  --blue: #1565c0;
  --text: #41546d;
  --border: #d5deea;
  --border-light: #eaf0f7;
  --bg-soft: #f5f8fc;
  --bg-blue: #d3e2f5;
  --bg-brands: #dbdfe6;
  --white: #fff;

  --font-head: "Manrope", system-ui, sans-serif;
  --font-body: "Inter", system-ui, sans-serif;

  --radius-sm: 14px;
  --radius-lg: 24px;
  --shadow-soft: 0 12px 40px rgba(10, 35, 66, 0.08);

  font-family: var(--font-body);
  font-size: 16px;
  line-height: 1.6;
  color: var(--text);
  background: var(--white);
  -webkit-font-smoothing: antialiased;
}
.hp2 *, .hp2 *::before, .hp2 *::after { box-sizing: border-box; }
.hp2 img { max-width: 100%; display: block; }
.hp2 a { color: inherit; }
.hp2 h1, .hp2 h2, .hp2 h3, .hp2 h4, .hp2 h5 { font-family: var(--font-head); color: var(--navy); margin: 0; padding: 0; }
/* the theme gives every h2 an inline-block layout, padding and an underline swoosh */
.hp2 h2 { display: block; position: static; background: none; }
.hp2 h2::after { content: none !important; display: none; }
.hp2 p { margin: 0 0 1em; }
.hp2 ul { margin: 0; padding: 0; list-style: none; }
.hp2 section[id] { scroll-margin-top: 120px; }

/* ---------- layout helpers ---------- */
.hp2 .hp-container { width: 100%; max-width: 1200px; margin-inline: auto; padding-inline: 24px; }
.hp2 .hp-container--wide { max-width: 1640px; }
.hp2 .hp-container--form { max-width: 1530px; }
.hp2 .hp-container--reviews { max-width: 1440px; }

.hp2 .hp-accent-bar { display: block; height: 4px; border-radius: 2px; background: var(--orange); margin-bottom: 20px; }
.hp2 .hp-accent-bar--center { margin: 40px auto 0; }

.hp2 .hp-section-title {
    font-size: clamp(32px, 3.4vw, 48px);
    line-height: 1.15;
    font-weight: 800;
    letter-spacing: -0.02em;
 
}
.hp2 .hp-section-title--center { text-align: center; }

/* ---------- buttons ---------- */
.hp2 .hp-btn,
.hp2 .wpcf7-submit {
  display: inline-flex; align-items: center; justify-content: center;
  min-height: 48px; padding: 13px 28px;
  border-radius: 999px; border: 1px solid transparent;
  font-family: var(--font-head); font-weight: 700; font-size: 15px; line-height: 1.3;
  text-decoration: none; cursor: pointer; white-space: nowrap;
  transition: transform .15s ease, box-shadow .15s ease, background .15s ease;
  animation: none;
}
.hp2 .hp-btn:hover,
.hp2 .wpcf7-submit:hover { transform: translateY(-1px); box-shadow: 0 8px 20px rgba(224, 58, 62, .25); }
.hp2 .hp-btn--red,
.hp2 .wpcf7-submit { background: var(--red); color: var(--white); }
.hp2 .hp-btn--red:hover,
.hp2 .wpcf7-submit:hover { background: #c92f33; color: var(--white); }
.hp2 .hp-btn--outline { border-color: var(--navy); color: var(--navy); background: transparent; min-height: 50px; padding-inline: 29px; }
.hp2 .hp-btn--outline:hover { background: var(--navy); color: var(--white); box-shadow: none; }
.hp2 .hp-btn--small { min-height: 30px; padding: 4px 16px; font-size: 14px; }
.hp2 .hp-btn--large { min-height: 71px; padding-inline: 48px; font-size: 24px; }

.hp2 .hp-read-more { font-family: var(--font-head); font-weight: 700; color: var(--blue); text-decoration: none; }
.hp2 .hp-read-more:hover { text-decoration: underline; }

/* ---------- tick list ---------- */
.hp2 .hp-tick-list { display: grid; gap: 13px; margin: 0 0 24px; }
.hp2 .hp-tick-list li { position: relative; padding-left: 34px; font-weight: 500; line-height: 1.6; }
.hp2 .hp-tick-list li::before {
  content: "✓"; position: absolute; left: 0; top: 2px;
  width: 22px; height: 22px; border-radius: 50%;
  background: var(--orange); color: var(--navy);
  font-size: 13px; font-weight: 800; line-height: 22px; text-align: center;
}
.hp2 .hp-tick-list--light li { color: var(--white); }

/* the CF7 form markup uses the theme's WOW.js classes, which keep elements hidden until animated */
.hp2 .wow { visibility: visible !important; animation-name: none !important; }

/* ---------- form fields (Contact Form 7) ---------- */
.hp2 .wpcf7 p { margin: 0; }
.hp2 .wpcf7 br { display: none; }
.hp2 .wpcf7 .banner-form { padding: 0 !important; background: none !important; backdrop-filter: none !important; border: 0; box-shadow: none; }
.hp2 .wpcf7 .row { --bs-gutter-x: 24px; --bs-gutter-y: 22px; }
.hp2 .wpcf7 .wpcf7-form-control-wrap { display: block; }
.hp2 .wpcf7 input[type="text"],
.hp2 .wpcf7 input[type="email"],
.hp2 .wpcf7 input[type="tel"],
.hp2 .wpcf7 select,
.hp2 .wpcf7 textarea {
  width: 100%; font: 500 15px/1.3 var(--font-body); color: var(--navy);
  background-color: var(--white); border: 1px solid var(--border); border-radius: var(--radius-sm);
  padding: 15px 20px; min-height: 52px; height: auto; margin: 0; outline: none; box-shadow: none;
  transition: border-color .15s, box-shadow .15s;
}
.hp2 .wpcf7 select {
  font-weight: 700; appearance: none; -webkit-appearance: none;
  background: var(--white) url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='14' height='9' viewBox='0 0 14 9'><path d='M1 1l6 6 6-6' fill='none' stroke='%230a2342' stroke-width='2'/></svg>") no-repeat right 20px center !important;
}
.hp2 .wpcf7 textarea { resize: vertical; min-height: 74px; }
.hp2 .wpcf7 textarea::placeholder { font-weight: 700; color: var(--navy); }
.hp2 .wpcf7 input::placeholder { color: var(--navy); opacity: 1; }
.hp2 .wpcf7 input:focus, .hp2 .wpcf7 select:focus, .hp2 .wpcf7 textarea:focus { border-color: var(--cyan); box-shadow: 0 0 0 3px rgba(0, 184, 217, .2); }
.hp2 .wpcf7-submit { width: 100%; margin-top: 22px; }
.hp2 .wpcf7-spinner { position: absolute; margin: 34px 0 0 -40px; }
.hp2 .wpcf7-not-valid-tip { font-size: 13px; font-weight: 600; margin-top: 4px; }
.hp2 .wpcf7 form .wpcf7-response-output { margin: 16px 0 0; border-radius: var(--radius-sm); padding: 12px 16px; font-weight: 600; }

/* ==========================================================
   HERO (sits under the theme's header, like #subheader)
   ========================================================== */
.hp2 .hp-hero {
    position: relative;
    overflow: hidden;
    color: var(--white);
    padding: 216px 0 120px;
    background: linear-gradient(120deg, rgba(10, 35, 66, .95) 0%, rgb(18 58 102 / 10%) 100%), var(--hp-hero-img, none) center / cover no-repeat, var(--navy);
}
.hp2 .hp-hero__glow {
  position: absolute; top: -160px; right: -160px; width: 560px; height: 560px; border-radius: 50%;
  background: radial-gradient(circle, rgba(0, 184, 217, .35) 0%, rgba(0, 184, 217, 0) 70%);
  pointer-events: none;
}
.hp2 .hp-hero__inner { position: relative; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, min(873px, 46%)); gap: 56px; align-items: center; max-width: 1640px; }
.hp2 .hp-hero__copy { max-width: 760px; }
.hp2 .hp-hero h1 { color: var(--white); font-size: clamp(38px, 4vw, 60px); line-height: 1.15; font-weight: 800; letter-spacing: -0.02em; margin-bottom: 27px; }
.hp2 .hp-hero__lead { font-size: 18px; line-height: 1.6; max-width: 600px; margin-bottom: 27px; color: var(--white); }

.hp2 .hp-quote-card {
  background: var(--white); border-top: 6px solid var(--cyan);
  border-radius: var(--radius-lg); box-shadow: var(--shadow-soft);
  padding: 44px 56px 48px; color: var(--navy);
}
.hp2 .hp-quote-card h4 { font-family: var(--font-head); font-size: 26px; font-weight: 800; letter-spacing: -0.02em; color: var(--navy); margin: 0 0 28px !important; }

/* ==========================================================
   SERVICES
   ========================================================== */
.hp2 .hp-services { position: relative; padding: 110px 0 120px;  }
.hp2 .hp-service-grid { display: flex; gap: 32px; align-items: center; justify-content: center; margin-top: 70px; }
.hp2 .hp-service-card {
  flex: 1 1 0; max-width: 503px; border: 1px solid rgba(3, 33, 65, .5); border-radius: 25px; overflow: hidden;
  background: linear-gradient(148deg, #fff 2%, #e1e1e1 115%);
  filter: drop-shadow(0 0 25px rgba(0, 0, 0, .25));
}
.hp2 .hp-service-card--featured { flex-basis: 0; max-width: 558px; flex-grow: 1.11; }
.hp2 .hp-service-card__img { width: 100%; height: 331px; object-fit: cover; }
.hp2 .hp-service-card--featured .hp-service-card__img { height: 367px; }
.hp2 .hp-service-card__body { padding: 32px 25px; display: grid; gap: 24px; }
.hp2 .hp-service-card h3 { font-size: 24px; font-weight: 800; letter-spacing: -0.02em; line-height: 1.15; }
.hp2 .hp-service-card p { margin: 0; }
.hp2 .hp-service-card .hp-read-more { font-size: 20px; }

/* ==========================================================
   ABOUT
   ========================================================== */

.hp-services {
    background-image: url('https://aucklandairsolutions.co.nz/wp-content/uploads/2026/10/f25d34ef9959ab38da13fe2843e37129d3ceecef-scaled.webp');
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
    width: 100%;
}
.hp2 .hp-about { padding: 90px 0; }
.hp2 .hp-about__inner { display: grid; grid-template-columns: minmax(0, 533px) minmax(0, 520px); gap: 80px; justify-content: center; align-items: center; max-width: 1400px; }
.hp2 .hp-about__media img {
    width: 100%;
    height: 594px;
    object-fit: cover;
    border-radius: var(--radius-lg);
    box-shadow: 12px 12px 4px 0px #00000040;
}
.hp2 .hp-about__copy .hp-section-title { font-size: clamp(28px, 2.6vw, 38px); margin-bottom: 24px; }
.hp2 .hp-about__copy > p { margin-bottom: 24px; }

/* ==========================================================
   BRANDS
   ========================================================== */
.hp2 .hp-brands { background: var(--bg-brands); padding: 72px 0 80px; }
.hp2 .hp-brands__logos { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 40px 48px; margin-top: 48px; }
/* .hp2 .hp-brands__logos li { box-shadow: 5px 5px 4px rgba(0, 0, 0, .25); background: var(--white); } */
.hp2 .hp-brands__logos a { display: block; padding: 8px 16px; }
.hp2 .hp-brands__logos img {
    height: 55px;
    width: auto;
    max-width: 148px;
    object-fit: contain;
    filter: drop-shadow(5px 5px 4px #00000040);
}

/* ==========================================================
   PRODUCTS
   ========================================================== */
.hp2 .hp-products { padding: 100px 0 40px; background: var(--white); }
.hp2 .hp-products__head { max-width: 1017px; margin: 0 auto 70px; }
.hp2 .hp-products__head p { margin-top: 18px; font-size: 20px; max-width: 953px; }
.hp2 .hp-products__head a { color: var(--blue); font-weight: 600; }

.hp2 .hp-product { display: grid; grid-template-columns: 1fr 1fr; gap: 48px; align-items: center; margin-bottom: 72px; }
.hp2 .hp-product--reverse .hp-product__media { order: 2; }
.hp2 .hp-product__media img { width: 100%; max-height: 600px; object-fit: contain; }
.hp2 .hp-product__card {
  max-width: 621px; padding: 40px 48px; border-radius: 25px; border: 1px solid rgba(3, 33, 65, .2);
  background: linear-gradient(141deg, #fff 1%, #e5e5e5 104%);
  box-shadow: 0 0 25px rgba(0, 0, 0, .15);
}
.hp2 .hp-product__card h3 { font-size: 20px; font-weight: 800; letter-spacing: -0.01em; margin-bottom: 8px; }
.hp2 .hp-product__name { font-family: var(--font-head); font-weight: 700; font-size: 20px; color: var(--navy); margin-bottom: 18px; }
.hp2 .hp-check-list { display: grid; gap: 8px; margin-bottom: 24px; }
.hp2 .hp-check-list li { position: relative; padding-left: 36px; font-size: 18px; line-height: 1.5; color: var(--navy); }
.hp2 .hp-check-list li::before {
  content: ""; position: absolute; left: 0; top: 0; width: 24px; height: 24px; border-radius: 50%;
  background: var(--blue) url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M7 12.5l3.2 3.2L17 9' fill='none' stroke='white' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/></svg>") center / contain no-repeat;
}
.hp2 .hp-product__buy { display: flex; align-items: center; gap: 24px; }
.hp2 .hp-price { font-family: var(--font-head); font-weight: 800; font-size: 28px; color: var(--navy); }
.hp2 .hp-price small { font-size: 18px; font-weight: 700; margin-left: 4px; }

/* ==========================================================
   BOOK ASSESSMENT (Contact Form 7 "Homepage Form")
   ========================================================== */
.hp2 .hp-assessment { padding: 107px 0 100px; background: linear-gradient(104deg, #c3dcf0 10%, #fff 107%); }
.hp2 .hp-assessment__card {
  background: var(--white); border-top: 6px solid var(--orange); border-radius: var(--radius-lg);
  box-shadow: 19px 26px 43px rgba(10, 35, 66, .08); padding: 46px 58px 64px; max-width: 1530px; margin-inline: auto;
}
.hp2 .hp-assessment__card h2 { text-align: center; font-size: clamp(28px, 2.6vw, 36px); font-weight: 800; letter-spacing: -0.02em; color: var(--navy); margin: 0 0 36px !important; }
.hp2 .hp-assessment__card .why-choose-us-form-wrapper-border { border: 0; padding: 0; }
.hp2 .hp-assessment__card .form-label,
.hp2 .hp-assessment__card label:not(.hp-option) { display: block; font-family: var(--font-head); font-weight: 700; color: var(--navy); font-size: 16px; padding: 20px 0 12px; margin: 0; }
.hp2 .hp-assessment__card .form-label { font-size: 24px; padding-top: 0; }
.hp2 .hp-assessment__card .form-label small { display: block; font-family: var(--font-body); font-weight: 400; font-size: 16px; line-height: 40px; color: var(--text); }
.hp2 .hp-assessment__card .wpcf7-checkbox { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.hp2 .hp-assessment__card .wpcf7-list-item { margin: 0; display: block; }
.hp2 .hp-assessment__card .wpcf7-list-item label {
  display: flex; align-items: center; gap: 15px; min-height: 58px; padding: 8px 20px; margin: 0;
  border: 2px solid var(--border); border-radius: var(--radius-sm); color: var(--navy); cursor: pointer;
  font-family: var(--font-body); font-weight: 500; font-size: 16px;
  transition: border-color .15s, background .15s;
}
.hp2 .hp-assessment__card .wpcf7-list-item label:hover { border-color: var(--cyan); }
.hp2 .hp-assessment__card .wpcf7-list-item input { width: 20px; height: 20px; flex: none; accent-color: var(--blue); margin: 0; }
.hp2 .hp-assessment__card .wpcf7-list-item label:has(input:checked) { border-color: var(--blue); background: #f2f8ff; }
.hp2 .hp-assessment__card .wpcf7-list-item-label { margin: 0; }
.hp2 .hp-assessment__card .row > .col-md-6 { margin-top: 22px; }
.hp2 .hp-assessment__card textarea { border-width: 3px; min-height: 140px; }

/* ==========================================================
   WHY CHOOSE US
   ========================================================== */
.hp2 .hp-why { padding: 110px 0 120px; background: var(--white); }
.hp2 .hp-why__lead { text-align: center; font-size: 24px; line-height: 1.3; max-width: 1100px; margin: 28px auto 72px; }
.hp2 .hp-why__grid {
  position: relative; display: grid; grid-template-columns: repeat(2, minmax(0, 533px)); gap: 60px 320px; justify-content: center;
}
.hp2 .hp-why__grid::before { content: ""; position: absolute; left: 50%; top: -20px; bottom: -20px; width: 2px; background: var(--border); transform: translateX(-50%); }
.hp2 .hp-why-card {
  position: relative; text-align: center; padding: 20px 32px 32px; border-radius: 70px;
  background: linear-gradient(125deg, #a7d4f8 10%, #fff5f5 87%);
  box-shadow: 5px 5px 11px rgba(0, 0, 0, .25);
}
.hp2 .hp-why-card:nth-child(1) { background: linear-gradient(125deg, #afd8f8 12%, #fff 99%); }
.hp2 .hp-why-card:nth-child(3), .hp2 .hp-why-card:nth-child(4) { margin-top: 40px; }
.hp2 .hp-why-card:nth-child(3) { transform: translateX(80px); }
.hp2 .hp-why-card:nth-child(4) { transform: translateX(-20px); }
.hp2 .hp-why-card svg { width: 96px; height: 96px; margin: 10px auto 14px; display: block; fill: var(--navy); }
.hp2 .hp-why-card svg .hp-ic-accent { fill: var(--orange); }
.hp2 .hp-why-card svg .hp-ic-light { fill: none; stroke: var(--white); stroke-width: 5; stroke-linecap: round; stroke-linejoin: round; }
.hp2 .hp-why-card svg .hp-ic-line { fill: none; stroke: var(--orange); stroke-width: 4; stroke-linecap: round; stroke-linejoin: round; }
.hp2 .hp-why-card h3 { font-size: 20px; font-weight: 800; letter-spacing: -0.02em; line-height: 1.15; margin-bottom: 14px; }
.hp2 .hp-why-card p { margin: 0; }
article.hp-why-card img {
    height: 120px;
    /* width: 94%; */
    text-align: center;
    display: inline;
}
/* ==========================================================
   FAQ
   ========================================================== */
.hp2 .hp-faq { background: var(--bg-soft); padding: 110px 0; }
.hp2 .hp-faq__inner { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 640px); gap: 64px; max-width: 1400px; align-items: start; }
.hp2 .hp-faq__intro .hp-section-title {
    font-size: clamp(32px, 3vw, 44px);
    margin-bottom: 40px;
    max-width: 456px;
    MARGIN-LEFT: 0PX;
}
.hp2 .hp-faq__banner {
    width: 100%;
    max-width: 954px;
    height: auto;
    max-height: 520px;
    object-fit: cover;
    /* box-shadow: 8px 8px 8px rgba(0, 0, 0, .25); */
    filter: drop-shadow(5px 5px 4px #00000040);
}
.hp2 .hp-faq__list details { border-bottom: 1px solid var(--border); padding: 28px 0 29px; }
.hp2 .hp-faq__list details:first-child { padding-top: 0; }
.hp2 .hp-faq__list details:last-child { border-bottom: 0; }
.hp2 .hp-faq__list summary {
  font-family: var(--font-head); font-weight: 700; font-size: 20px; letter-spacing: -0.02em; color: var(--navy);
  cursor: pointer; list-style: none; display: flex; justify-content: space-between; gap: 16px;
}
.hp2 .hp-faq__list summary::-webkit-details-marker { display: none; }
.hp2 .hp-faq__list summary::after { content: "+"; font-size: 24px; line-height: 1; color: var(--orange); flex: none; }
.hp2 .hp-faq__list details[open] summary::after { content: "–"; }
.hp2 .hp-faq__list details p { margin: 7px 0 0; }

/* ==========================================================
   CTA BAND
   ========================================================== */
.hp2 .hp-cta { position: relative; padding: 112px 0; text-align: center; background: var(--white); overflow: hidden; isolation: isolate; }
.hp2 .hp-cta::before { content: ""; position: absolute; inset: 0; background: var(--hp-cta-img, none) center / cover no-repeat; opacity: .18; z-index: -1; }
.hp2 .hp-cta__inner { max-width: 1000px; display: grid; justify-items: center; gap: 38px; }
.hp2 .hp-cta h3 { font-size: clamp(20px, 2vw, 28px); line-height: 1.5; letter-spacing: -0.02em; color: var(--navy); font-weight: 700; }

/* ==========================================================
   REVIEWS
   ========================================================== */
.hp2 .hp-reviews { padding: 110px 0 100px; background: var(--white); }
.hp2 .hp-reviews .hp-accent-bar { margin-bottom: 16px; }
.hp2 .hp-reviews .hp-section-title { font-size: clamp(32px, 3vw, 44px); }
.hp2 .hp-reviews__lead { font-size: 20px; font-weight: 500; max-width: 920px; margin: 24px 0 28px; line-height: 1.28; }
.hp2 .hp-reviews__summary { display: flex; align-items: center; gap: 20px; margin-bottom: 40px; flex-wrap: wrap; }
.hp2 .hp-reviews__score { font-family: var(--font-head); font-weight: 800; font-size: 48px; color: var(--orange); line-height: 1; }
.hp2 .hp-reviews__who { display: grid; }
.hp2 .hp-reviews__who strong { font-weight: 600; font-size: 20px; color: var(--navy); }
.hp2 .hp-reviews__who span { font-weight: 500; font-size: 15px; }
.hp2 .hp-reviews__summary .hp-btn { margin-left: auto; }

.hp2 .hp-review-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 32px; }
.hp2 .hp-review { border-radius: var(--radius-lg); border: 1px solid var(--border-light); padding: 40px 44px 44px; min-height: 346px; position: relative; }
.hp2 .hp-review--1 { background: linear-gradient(122deg, #67a6f3 -40%, #fffbfb 55%); box-shadow: 45px 29px 30px rgba(10, 35, 66, .08); }
.hp2 .hp-review--2 { background: linear-gradient(132deg, #d1e1f9 8%, #fff 53%); box-shadow: 27px 32px 40px rgba(10, 35, 66, .08); }
.hp2 .hp-review--3 { background: linear-gradient(129deg, #dce8fa 17%, #fff 85%); box-shadow: 22px 12px 40px rgba(10, 35, 66, .08); }
.hp2 .hp-review__head { display: flex; align-items: center; gap: 16px; margin-bottom: 28px; }
.hp2 .hp-review h4 { font-size: 16px; font-weight: 700; }
.hp2 .hp-review__date { font-size: 13px; font-weight: 500; color: var(--navy); display: block; }
.hp2 .hp-review p { margin: 0; }
.hp2 .hp-avatar { width: 42px; height: 42px; border-radius: 50%; color: #fff; font: 700 20px/42px var(--font-body); text-align: center; flex: none; }
.hp2 .hp-avatar--1 { background: #1a73e8; }
.hp2 .hp-avatar--2 { background: #e8710a; }
.hp2 .hp-avatar--3 { background: #188038; }
.hp2 .hp-gicon { width: 17px; height: 17px; margin-left: auto; align-self: flex-start; }
.hp2 .hp-stars { display: flex; gap: 6px; margin: 2px 0; }
.hp2 .hp-stars i { width: 15px; height: 15px; background: #fbbc04; clip-path: polygon(50% 0, 62% 36%, 100% 38%, 70% 60%, 80% 96%, 50% 75%, 20% 96%, 30% 60%, 0 38%, 38% 36%); }

/* ==========================================================
   BLOG
   ========================================================== */
.hp2 .hp-blog { padding: 90px 0 110px; background: var(--white); }
.hp2 .hp-blog .hp-accent-bar { margin-bottom: 20px; }
.hp2 .hp-blog .hp-section-title { font-size: clamp(32px, 3vw, 44px); margin-bottom: 48px; }
.hp2 .hp-blog-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 32px; }
.hp2 .hp-blog-card {
  display: flex; flex-direction: column; text-decoration: none; overflow: hidden;
  background: var(--bg-blue); border: 1px solid var(--border-light); border-radius: var(--radius-lg);
  box-shadow: 28px 23px 21px rgba(10, 35, 66, .08); transition: transform .2s;
}
.hp2 .hp-blog-card:hover { transform: translateY(-4px); }
.hp2 .hp-blog-card img { width: 100%; height: 300px; object-fit: cover; }
.hp2 .hp-blog-card__body { padding: 28px 40px 36px; display: flex; flex-direction: column; flex: 1; gap: 14px; }
.hp2 .hp-blog-card__tag { font: 700 12px/1 var(--font-head); letter-spacing: .1em; text-transform: uppercase; color: var(--red); }
.hp2 .hp-blog-card h3 { font-size: 19px; line-height: 1.15; font-weight: 800; letter-spacing: -0.02em; flex: 1; }
.hp2 .hp-blog-card .hp-read-more { font-size: 15px; }

/* ==========================================================
   Theme overrides (this file only loads on the Home 2 page).
   Same fix as the calculator page: the theme's script fixes the mobile
   call/book bar after 50px of scroll, which takes it out of the page flow
   so the banner slides under it. Keep it in the flow and simply sticky.
   ========================================================== */
#wrapper { overflow: clip; }
.header-mobile-btn-wrapper, .header-mobile-btn-wrapper.sticky1 { position: sticky !important; top: 115px; z-index: 10; width: auto; transition: none; box-shadow: none; }
.header-mobile-btn-wrapper.sticky1 { box-shadow: rgba(0, 0, 0, .16) 0 3px 6px; }
@media (max-width: 347px) {
  .header-mobile-btn-wrapper, .header-mobile-btn-wrapper.sticky1 { top: 120px; }
}

/* ==========================================================
   RESPONSIVE
   ========================================================== */
@media (max-width: 1280px) {
  .hp2 .hp-hero__inner { grid-template-columns: 1fr; }
  .hp2 .hp-quote-card { max-width: 873px; }
  .hp2 .hp-why__grid { gap: 48px 120px; }
  .hp2 .hp-why-card:nth-child(n) { transform: none; }
  .hp2 .hp-product { grid-template-columns: 1fr; }
  .hp2 .hp-product--reverse .hp-product__media { order: 0; }
  .hp2 .hp-product__card { max-width: none; }
  .hp2 .hp-about__inner, .hp2 .hp-faq__inner { grid-template-columns: 1fr; }
  .hp2 .hp-faq__inner { gap: 48px; }
  .hp2 .hp-review-grid, .hp2 .hp-blog-grid { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 960px) {
  .hp2 .hp-service-grid { flex-direction: column; }
  .hp2 .hp-service-card, .hp2 .hp-service-card--featured { flex: none; max-width: 560px; width: 100%; }
  .hp2 .hp-why__grid { grid-template-columns: 1fr; gap: 28px; }
  .hp2 .hp-why__grid::before { display: none; }
  .hp2 .hp-why-card:nth-child(n) { margin-top: 0; }
  .hp2 .hp-why-card { border-radius: 40px; }
  .hp2 .hp-reviews__summary .hp-btn { margin-left: 0; }
}

/* the mobile call/book bar sits between the header and the banner below 768px */
@media (max-width: 767px) {
  .hp2 .hp-hero { padding-top: 56px; }
}

@media (max-width: 680px) {
  .hp2 .hp-hero { padding-bottom: 64px; }
  .hp2 .hp-quote-card { padding: 32px 22px; }
  .hp2 .hp-assessment { padding: 56px 0; }
  .hp2 .hp-assessment__card { padding: 32px 20px 40px; }
  .hp2 .hp-assessment__card .wpcf7-checkbox { grid-template-columns: 1fr; }
  .hp2 .hp-review-grid, .hp2 .hp-blog-grid { grid-template-columns: 1fr; }
  .hp2 .hp-about__media img { height: 360px; }
  .hp2 .hp-product__card { padding: 28px 22px; }
  .hp2 .hp-check-list li { font-size: 16px; }
  .hp2 .hp-review { padding: 28px 24px 32px; min-height: 0; }
  .hp2 .hp-product__buy { flex-wrap: wrap; }
  .hp2 .hp-btn--large { font-size: 18px; min-height: 60px; padding-inline: 32px; white-space: normal; }
  .hp2 .hp-services, .hp2 .hp-about, .hp2 .hp-why, .hp2 .hp-faq, .hp2 .hp-cta, .hp2 .hp-reviews, .hp2 .hp-blog { padding-block: 64px; }
}



.hp2 .hp-tick-list.bluishh li::before {
	    background: #00B8D9!important;
}

.container-fluid.footer_cta_section {
    padding: 51px 20px!important;
    text-align: center;
  
    background: linear-gradient(95.74deg, #97C5FF -63.82%, #FFFFFF 127.65%)!important;
}

.container-fluid.footer_cta_section h3 {
    color: #000000!important;
    font-size: 20px!important;
    line-height: 37px!important;
    font-weight: 500!important;
}