/* *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; } */
 
    :root {
      --blue:      #2baae1;
      --blue-dark: #009EE2;
      --text-dark: #1A1A1A;
      --text-mid:  #64748B;
      --text-light:#7a95a5;
    }
 
    html, body {
      font-family: 'DIN Pro', 'DINPro', 'DIN Next', 'Barlow', 'Arial Narrow', sans-serif;
      color: var(--text-dark); 
    }
    
    h1,
    .head1 {
      font-family: 'DIN OT', 'DINPro', 'DIN Next', 'Barlow', 'Arial Narrow', sans-serif;
      font-weight: 700;
      font-size: 54px;
      line-height: 72px;
      letter-spacing: 0px;
      color: var(--text-dark);
    }
 
    h2 ,
    .head2 {
      font-family: 'DIN OT', 'DINPro', 'DIN Next', 'Barlow', 'Arial Narrow', sans-serif;
      font-weight: 700;
      font-size: 36px;
      line-height: 40px;
      letter-spacing: 0px;
      text-align: center;
      color: var(--text-dark);
    }
 
    h3 ,
    .head3 {
      font-family: 'DIN Pro', 'DINPro', 'DIN Next', 'Barlow', 'Arial Narrow', sans-serif;
      font-weight: 400;
      font-size: 36px;
      line-height: 40px;
      letter-spacing: 0px;
      text-align: center;
      color: var(--text-dark);
    }
 
    .para1 {
      font-family: 'DIN Pro', 'DINPro', 'DIN Next', 'Barlow', 'Arial Narrow', sans-serif;
      font-weight: 400;
      font-size: 20px;
      line-height: 28px;
      letter-spacing: 0px;
      color: var(--text-mid);
    }
 
    .para2 {
      font-family: 'DIN Pro', 'DINPro', 'DIN Next', 'Barlow', 'Arial Narrow', sans-serif;
      font-weight: 400;
      font-size: 18px;
      line-height: 28px;
      letter-spacing: 0px;
      text-align: center;
      color: var(--text-mid);
    }
 
    .btn-light {
          background: #fff;
      color: var(--text-dark);
      border: none;
      padding: 10px 32px;
      border-radius: 6px;
      font-family: 'DIN Pro', 'DINPro', 'DIN Next', 'Barlow', 'Arial Narrow', sans-serif;
      font-size: 18px;
      line-height: 28px;
      font-weight: 400;
      cursor: pointer;
      display: inline-flex;
      align-items: center;
      gap: 8px;
      transition: background 0.2s, transform 0.15s, box-shadow 0.2s;
      box-shadow: 0 4px 16px rgba(43,170,225,0.32);
    }
    .btn-light:hover {border-color: var(--blue); color: var(--blue); transform: translateY(-1px); }
 
    .btn-dark {
 background: var(--blue);
      color: #fff;
      border: 1.5px solid #bbb;
      padding: 10px 32px;
      border-radius: 6px;
      font-family: 'DIN Pro', 'DINPro', 'DIN Next', 'Barlow', 'Arial Narrow', sans-serif;
     font-size: 18px;
      line-height: 28px;
      font-weight: 400;
      cursor: pointer;
      transition: border-color 0.2s, color 0.2s, transform 0.15s;
    }
    .btn-dark:hover {  background: var(--blue-dark); transform: translateY(-1px); box-shadow: 0 7px 22px rgba(43,170,225,0.38); }
 
 
    /* ─── HERO ─── */
    .hero {
      background: linear-gradient(135deg, #e8f5fc 0%, #d0ecf8 100%);
      padding: 80px 61px 80px 128px;
      overflow: hidden;
      position: relative;
      min-height: 520px;
    }
 
    .hero::after {
      content: '';
      position: absolute;
      top: -100px; right: -80px;
      width: 520px; height: 520px;
      background: radial-gradient(circle, rgba(43,170,225,0.10) 0%, transparent 68%);
      pointer-events: none;
    }
 
    .container {
      max-width: 1728px;
      margin: 0 auto;
      display: flex;
      align-items: center;
      gap: 70px;
      position: relative;
      z-index: 1;
    }
 
    /* ─── LEFT ─── */
    .hero-left {
      display: flex;
      flex-direction: column;
      gap: 18px;
      max-width: 752px;
      width: 100%;
      animation: fadeUp .6s cubic-bezier(.22,1,.36,1) both;
    }
 
    .hero-badge {
      display: inline-flex;
      align-items: center;
      gap: 7px;
      background: rgba(43,170,225,0.13);
      color: var(--blue-dark);
      font-size: 12px;
      font-weight: 600;
      letter-spacing: .025em;
      padding: 6px 13px;
      border-radius: 100px;
      width: fit-content;
      border: 1px solid rgba(43,170,225,0.2);
    }
    .hero-badge::before {
      content: '';
      width: 6px; height: 6px;
      border-radius: 50%;
      background: var(--blue);
      flex-shrink: 0;
    }
 
    .hero-left p {
      max-width: 455px;
    }
 
    .hero-btns {
      display: flex;
      align-items: center;
      gap: 12px;
      flex-wrap: wrap;
      margin-top: 6px;
    }
 
    /* ─── RIGHT ─── */
    .hero-right {
      max-width: 736px;
      width: 100%;
      display: flex;
      justify-content: flex-end;
      animation: fadeUp .6s .13s cubic-bezier(.22,1,.36,1) both;
    }
 
    /* Outer wrapper — gives room for circles to overflow bottom */
    .hero-image-wrap {
      position: relative;
      width: 100%;
      padding-bottom: 44px;
    }
 
    .hero-img-card {
      width: 100%;
      height: 520px;
      border-radius: 16px;
      overflow: hidden;
      position: relative;
      box-shadow:
        0 2px 8px rgba(20,55,85,0.08),
        0 16px 48px rgba(20,55,85,0.14);
    }
 
    .hero-img-card img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      object-position: center 15%;
      display: block;
    }
 
    /* ── Trust badge — top-LEFT of card ── */
    .hero-trust-badge {
      position: absolute;
      top: 22px;
      left: 20px;
      background: #fff;
      border-radius: 12px;
      padding: 25px;
      display: flex;
      align-items: center;
      gap: 12px;
      box-shadow: 0 4px 18px rgba(20,55,85,0.12);
    }
 
    .trust-icon {
      width: 48px; 
      height: 48px;
      background: var(--blue);
      border-radius: 50%;
      display: flex; align-items: center; justify-content: center;
      flex-shrink: 0;
    }
    .trust-icon svg {
      width: 20px; height: 28px;
      fill: none;
      stroke: #fff;
      stroke-width: 2.5;
      stroke-linecap: round;
      stroke-linejoin: round;
    }
 
    .trust-text {
      display: flex;
      flex-direction: column;
      gap: 2px;
    }
    .trust-text small {
        font-weight: 400;
        font-size: 14px;
        line-height: 20px;
        letter-spacing: 0px;
        color: var(--text-light);
    }
    .trust-text span {
         font-weight: 400;
        font-size: 16px;
        line-height: 24px;
        letter-spacing: 0px;
        color: var(--text-dark);
    }
 
    .hero-thumbs {
        position: absolute;
        bottom: 0;
        left: 31px;
        display: flex;
        align-items: center;
    }
 
    .hero-thumb {
      width: 112px;
      height: 112px;
      border-radius: 50%;
      overflow: hidden;
      border: 2px solid #fff;
      box-shadow: 0 4px 14px rgba(20,55,85,0.16);
      background: #daeef7;
      cursor: pointer;
      flex-shrink: 0;
      transition: transform 0.2s, box-shadow 0.2s, z-index 0s;
      position: relative;
      z-index: 1;
    }
    /* each circle after the first overlaps the previous by ~18px */
    .hero-thumb + .hero-thumb {
      margin-left: -12px;
    }
    .hero-thumb:hover {
      transform: translateY(-5px) scale(1.08);
      box-shadow: 0 8px 22px rgba(43,170,225,0.28);
      z-index: 10;
    }
    .hero-thumb img {
      width: 100%; height: 100%;
      object-fit: cover;
      display: block;
    }
 
    /* ─── Animation ─── */
    @keyframes fadeUp {
      from { opacity:0; transform:translateY(20px); }
      to   { opacity:1; transform:translateY(0); }
    }
 
    /* ─── Responsive ─── */
    @media (max-width: 960px) {
      .hero { padding: 48px 28px; }
      .container { flex-direction: column; gap: 36px; }
      .hero-right { justify-content: center; width: 100%; }
      .hero-image-wrap { width: 100%; max-width: 460px; }
    }



    /* ---------------------------------------- */

    .imagecards-section {
  background: #f4f8fb;
  padding: 80px 0 72px;
}
 
.imagecards-inner {
  max-width: 1728px;
  margin: 0 auto;
  padding: 0 128px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 48px;
}
 
.imagecards-heading {
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px;
}
 
.imagecards-heading h2 {
  font-family: 'DIN OT', 'DINPro', 'DIN Next', 'Barlow', 'Arial Narrow', sans-serif;
  font-weight: 700;
  font-size: 36px;
  line-height: 40px;
  letter-spacing: 0;
  color: #1a2e3d;
}
 
.imagecards-heading .para2 {
  font-family: 'DIN Pro', 'DINPro', 'DIN Next', 'Barlow', 'Arial Narrow', sans-serif;
  font-weight: 400;
  font-size: 18px;
  line-height: 28px;
  letter-spacing: 0;
  text-align: center;
  color: #4a6172;
  max-width: 640px;
}
 
/* ─── SLICK SLIDER OVERRIDES ─── */
.imagecards-slider {
  width: 100%;
}
 
/* card padding so box-shadow isn't clipped */
.imagecards-slider .slick-list {
  margin: 0 -10px;
  padding: 10px 0 16px !important;
  overflow: visible !important;
}
.imagecards-slider .slick-track {
  display: flex !important;
}
 
/* ─── SLICK ARROWS ─── */
.imagecards-slider .slick-prev,
.imagecards-slider .slick-next {
  width: 44px; height: 44px;
  border-radius: 50%;
  border: 1.5px solid #d0dde6;
  background: #fff !important;
  z-index: 10;
  transition: background 0.2s, border-color 0.2s, transform 0.15s;
  box-shadow: 0 2px 8px rgba(20,55,85,0.08);
}
.imagecards-slider .slick-prev { left: -56px; }
.imagecards-slider .slick-next { right: -56px; }
.imagecards-slider .slick-prev:hover,
.imagecards-slider .slick-next:hover {
  background: #2baae1 !important;
  border-color: #2baae1;
  transform: scale(1.05);
}
.imagecards-slider .slick-prev:before,
.imagecards-slider .slick-next:before {
  content: '';
}
/* custom SVG arrows via pseudo — use background-image */
.imagecards-slider .slick-prev::after,
.imagecards-slider .slick-next::after {
  content: '';
  display: block;
  width: 20px; height: 20px;
  position: absolute;
  top: 50%; left: 50%;
  transform: translate(-50%, -50%);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
}

/* ─── SLICK DOTS ─── */
.imagecards-slider .slick-dots {
  bottom: -32px;
  display: flex !important;
  justify-content: center;
  align-items: center;
  gap: 8px;
  list-style: none;
  padding: 0;
  margin: 0;
}
.imagecards-slider .slick-dots li {
  margin: 0;
  width: auto; height: auto;
}
.imagecards-slider .slick-dots li button {
  width: 8px; height: 8px;
  border-radius: 50%;
  background: #c8dae6;
  border: none;
  padding: 0;
  font-size: 0;
  cursor: pointer;
  transition: background 0.2s, width 0.2s, border-radius 0.2s;
}
.imagecards-slider .slick-dots li button::before { display: none; }
.imagecards-slider .slick-dots li.slick-active button {
  background: #2baae1;
  width: 24px;
  border-radius: 4px;
}
 
/* slider wrapper needs overflow visible for arrows */
.imagecards-inner {
  overflow: visible;
}
.imagecards-slider-wrap {
  width: 100%;
  position: relative;
  padding: 0 60px;
}
 
/* ─── CARD ─── */
.imagecard {
  flex: 0 0 calc((100% - 80px) / 5);
  background: #fff;
  border-radius: 14px;
  overflow: hidden;
  box-shadow: 0 2px 12px rgba(20,55,85,0.07);
  transition: box-shadow 0.2s, transform 0.2s;
  cursor: pointer;
}
 
.imagecard:hover {
  box-shadow: 0 8px 28px rgba(20,55,85,0.13);
  transform: translateY(-3px);
}
 
.imagecard-img {
  width: 100%;
  aspect-ratio: 4/3;
  overflow: hidden;
}
 
.imagecard-img img {
  width: 100%; height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.4s;
}
 
.imagecard:hover .imagecard-img img {
  transform: scale(1.04);
}
 
.imagecard-body {
  padding: 14px 16px 18px;
  display: flex;
  flex-direction: column;
  gap: 6px;
}
 
.imagecard-title-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}
 
.imagecard-title {
  font-family: 'DIN OT', 'DINPro', 'DIN Next', 'Barlow', 'Arial Narrow', sans-serif;
  font-size: 15px;
  font-weight: 700;
  color: #1a2e3d;
  line-height: 1.3;
}
 
.imagecard-desc {
  font-family: 'DIN Pro', 'DINPro', 'DIN Next', 'Barlow', 'Arial Narrow', sans-serif;
  font-size: 13px;
  font-weight: 400;
  color: #4a6172;
  line-height: 1.5;
}
 
/* ─── INFO BUTTON ─── */
.info-btn {
  width: 26px; height: 26px;
  border-radius: 50%;
  border: none;
  background: #2baae1;
  color: #fff;
  display: flex; align-items: center; justify-content: center;
  cursor: pointer;
  flex-shrink: 0;
  transition: background 0.2s, transform 0.15s;
  padding: 0;
}
.info-btn:hover {
  background: #1a8bbf;
  transform: scale(1.1);
}
.info-btn svg {
  width: 14px; height: 14px;
  stroke: #fff;
}
 
 
/* ─── CTA ─── */
.imagecards-cta {
  display: flex;
  justify-content: center;
}
.imagecards-cta .btn-light {
  background: #2baae1;
  color: #fff;
  border: none;
  padding: 14px 36px;
  border-radius: 8px;
  font-family: 'DIN Pro', 'DINPro', 'DIN Next', 'Barlow', 'Arial Narrow', sans-serif;
  font-size: 15px;
  font-weight: 600;
  cursor: pointer;
  transition: background 0.2s, transform 0.15s, box-shadow 0.2s;
  box-shadow: 0 4px 16px rgba(43,170,225,0.32);
}
.imagecards-cta .btn-light:hover {
  background: #1a8bbf;
  transform: translateY(-1px);
  box-shadow: 0 7px 22px rgba(43,170,225,0.38);
}
 
/* ─── POPUP ─── */
.popup-overlay {
  position: fixed;
  inset: 0;
  background: rgba(10, 30, 50, 0.35);
  backdrop-filter: blur(3px);
  z-index: 1000;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.25s;
}
.popup-overlay.active {
  opacity: 1;
  pointer-events: all;
}
.popup-box {
  background: #2baae1;
  border-radius: 16px;
  padding: 36px 36px 36px 36px;
  max-width: 460px;
  width: 90%;
  position: relative;
  transform: translateY(16px) scale(0.97);
  transition: transform 0.28s cubic-bezier(.22,1,.36,1);
}
.popup-overlay.active .popup-box {
  transform: translateY(0) scale(1);
}
.popup-close {
  position: absolute;
  top: 14px; right: 16px;
  background: transparent;
  border: none;
  color: #fff;
  font-size: 22px;
  line-height: 1;
  cursor: pointer;
  opacity: 0.8;
  transition: opacity 0.15s;
  padding: 4px 8px;
}
.popup-close:hover { opacity: 1; }
.popup-text {
  font-family: 'DIN Pro', 'DINPro', 'DIN Next', 'Barlow', 'Arial Narrow', sans-serif;
  font-size: 18px;
  font-weight: 400;
  line-height: 28px;
  color: #fff;
  margin: 0;
}
 
/* ─── RESPONSIVE ─── */
@media (max-width: 1100px) {
  .imagecards-inner { padding: 0 40px; }
  .imagecards-slider-wrap { padding: 0 50px; }
}
@media (max-width: 800px) {
  .imagecards-inner { padding: 0 20px; gap: 32px; }
  .imagecards-slider-wrap { padding: 0 40px; }
  .imagecards-heading h2 { font-size: 26px; line-height: 34px; }
  .imagecards-heading .para2 { font-size: 15px; }
}
@media (max-width: 480px) {
  .imagecards-slider-wrap { padding: 0 30px; }
}