/* Clip decorative shapes extending outside the viewport without changing layout. */
html, body { overflow-x: clip; }
.breadcrumb-banner .container > img {
  object-fit: cover;
  object-position: center;
  filter: brightness(.6);
}

/* Preserve the template typography and the supplied footer line breaks. */
.footer-section2 p, .footer-section2 span { white-space: pre-line; }

/* Bootstrap rows stretch their columns; let the cards fill that space. */
.row > [class*="col-"]:has(> :is(.service-items2, .blog-items2,
  .pricing-plan-items, .team-items, .choose-items4,
  .mail-address-items, .contact-mail-items)) {
  display: flex;
  flex-direction: column;
}
.row > [class*="col-"] > :is(.service-items2, .blog-items2,
  .pricing-plan-items, .team-items, .choose-items4,
  .mail-address-items, .contact-mail-items) {
  width: 100%;
  height: 100%;
  flex: 1;
  display: flex;
  flex-direction: column;
}
.service-items2 > .content, .blog-items2 > .content {
  width: 100%;
  flex: 1;
  display: flex;
  flex-direction: column;
}
.service-items2 .content > .theme-btn,
.blog-items2 .content > .theme-btn,
.team-items:not(.financial-items) > .content {
  margin-top: auto;
}
.service-items2 .content > h4 { min-height: 2.6em; }
.service-items2 .content > p { flex: 1; }
.pricing-plan-items > ul, .mail-address-items > ul { margin-top: auto; }
.service-items2 .icons, .work-list-item > .icons { flex-shrink: 0; }
.work-wrapper {
  display: grid !important;
  grid-auto-rows: 1fr;
}

@media (max-width: 575px) {
  .service-items2 { padding: 36px 24px; }
  .service-items2 .content { max-width: none; }
  .service-items2 .content > h4 { min-height: 0; }
}

/* Let the footer sit flush with the bottom of the page. */
.footer-section, .footer-section2 { margin-bottom: 0; border-bottom-left-radius: 0; border-bottom-right-radius: 0; }

/* Readable focus areas beneath the hero, using the site's own typography. */
.sponsor-section .focus-label { display:flex; align-items:center; gap:10px; max-width:none; height:75px; color:#fff; font-size:clamp(15px,1.35vw,20px); font-weight:700; line-height:1.3; }
.sponsor-section .focus-label img { width:26px; height:26px; flex-shrink:0; }
@media (max-width:575px) {
  .sponsor-section .focus-label { gap:8px; font-size:15px; }
  .sponsor-section .focus-label img { width:22px; height:22px; }
}

/* Golden Vision emblem in place of the template's footer marks, at their original footprint. */
.gv-footer-emblem { width: 173px; height: auto; }
.gv-footer-emblem-sm { width: 89px; height: auto; }

/* Hide leftover template decorations that use the old triangle mark or template branding. */
.hover-ele,
img[src*="faq-element.png"],
.text-circles { display: none !important; }

/* Shared Golden Vision palette; keep template layouts and typography. */
:root {
  --brand-blue: #0A1F44;
  --brand-black: #101820;
  --brand-gold: #D4AF37;
  --theme: var(--brand-gold);
  --theme2: var(--brand-gold);
  --theme3: var(--brand-blue);
  --theme4: var(--brand-blue);
  --theme5: var(--brand-blue);
  --theme6: var(--brand-gold);
  --theme7: var(--brand-gold);
  --black: var(--brand-black);
  --header: var(--brand-black);
  --header2: var(--brand-blue);
  --header3: var(--brand-black);
  --text: var(--brand-blue);
  --bs-primary: #0A1F44;
  --bs-primary-rgb: 10, 31, 68;
  --bs-link-color: #0A1F44;
  --bs-link-color-rgb: 10, 31, 68;
  --bs-link-hover-color: #101820;
  --bs-link-hover-color-rgb: 16, 24, 32;
  --bs-focus-ring-color: #D4AF3740;
  --toastify-color-info: #0A1F44;
  --toastify-color-success: #D4AF37;
  --toastify-color-warning: #D4AF37;
}
/* Replace the template's baked-in green footer image with brand surfaces. */
.footer-widget-wrapper {
  background-image: radial-gradient(ellipse at 45% 15%, #D4AF3714, transparent 55%), linear-gradient(120deg, #0A1F44, #101820);
}
.footer-section2 { background-color: var(--brand-blue); }
/* Brand tint over the existing hero photograph and its focus-area strip. */
.banner-section.style2 {
  background-image: linear-gradient(90deg, #0A1F44E6, #0A1F4480 38%, #10182000 70%), url(/assets/img/gv/hero.jpg);
}
@media (max-width: 767px) {
  .banner-section.style2 {
    background-image: linear-gradient(90deg, #0A1F44E6, #0A1F4480 38%, #10182000 70%), url(/assets/img/gv/heromobile.png);
  }
}
.sponsor-section { background-color: #0A1F4480; }
/* Keep the entire homepage headline bold, including its nested span. */
.banner-content2 h1,
.banner-content2 h1 span { font-weight: 700 !important; }
.banner-content2 .gv-hero-tagline {
  color: #fff;
  font-size: clamp(18px, 2vw, 26px);
  font-weight: 500;
  line-height: 1.4;
  margin: 0 0 28px;
}
@media (min-width: 992px) {
  .about-content .gv-about-heading {
    font-size: clamp(26px, 2.5vw, 36px);
    line-height: 1.25;
  }
  .about-content .gv-about-heading span {
    display: block;
    white-space: nowrap;
  }
}
.theme-btn.style2, .theme-btn.style2:hover { color: var(--brand-black); }
.theme-btn.p2-bg:not(:hover), .theme-btn-2:not(:hover) { color: var(--brand-black); }
.offcanvas__wrapper .offcanvas__content .offcanvas__contact .header-button .theme-btn:not(:hover) span,
.offcanvas__wrapper .offcanvas__content .offcanvas__contact .header-button .theme-btn:not(:hover) i { color: var(--brand-black) !important; }

/* Sculptural program cards inspired by the supplied reference. */
.service-items2.gv-program-card {
  min-height: 360px;
  padding: 24px 20px;
  overflow: hidden;
  isolation: isolate;
  border: 1px solid #ffffff45;
  border-radius: 18px !important;
  background: linear-gradient(145deg, #5283ff, #4068ff 65%, #3156ec);
  box-shadow: 0 18px 30px -15px #3156ec70;
  transition: transform .25s ease, box-shadow .25s ease;
}
.service-items2.gv-program-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 24px 36px -15px #3156ec80;
}
.gv-program-card::before,
.gv-benefit-grid::before {
  content: "";
  position: absolute;
  inset: 110px -25px 25px;
  background: url(/assets/brand/program-ribbon.svg) center / contain no-repeat;
  pointer-events: none;
  z-index: -1;
}
.row > :nth-child(2) > :is(.gv-program-card, .gv-benefit-grid)::before { background-image: url(/assets/brand/program-gear.svg); }
.row > :nth-child(3) > :is(.gv-program-card, .gv-benefit-grid)::before { background-image: url(/assets/brand/program-ring.svg); }
.row > :nth-child(4) > :is(.gv-program-card, .gv-benefit-grid)::before { background-image: url(/assets/brand/program-orbit.svg); }
.gv-program-card > .content { max-width: none; margin: 0; }
.gv-program-card .content > .icons { display: none !important; }
.gv-program-card .content > h4 { min-height: 0; margin-bottom: 14px !important; font-size: 26px; line-height: 1.08; }
.gv-program-card .content > h4 a,
.gv-program-card:hover .content > h4 a { color: #fff; font-weight: 700; }
.gv-program-card .content > p,
.gv-program-card:hover .content > p { color: #fff; font-size: 14px; line-height: 1.5; flex: 0; max-width: 235px; }
.gv-program-card .content > .link-btn {
  position: relative;
  isolation: isolate;
  margin-top: auto;
  padding-left: 12px;
  min-height: 30px;
  color: #183568;
  font-size: 11px;
  font-weight: 600;
}
.gv-program-card .link-btn::before {
  content: "";
  position: absolute;
  left: 0;
  width: 92px;
  height: 28px;
  border-radius: 30px;
  background: #fff;
  z-index: -1;
}
.gv-program-card .link-btn i { margin-left: auto; display: grid; place-items: center; width: 30px; height: 30px; border-radius: 50%; background: #fff; color: #183568; }
.gv-program-card a:focus-visible { outline: 3px solid #ffe39a; outline-offset: 4px; }
@media (prefers-reduced-motion: reduce) { .service-items2.gv-program-card { transition: none; } }

/* Give the four homepage benefit cards clear, contrasting surfaces. */
.work-wrapper:has(.gv-benefit-card) { gap: 18px; }
.work-wrapper .work-list-item.gv-benefit-card,
.work-wrapper .work-list-item.gv-benefit-card:hover {
  background: linear-gradient(125deg, #2449b8, #13347c) !important;
  border: 1px solid #6e94ee;
  padding: 26px;
  margin-left: 0 !important;
  box-shadow: 0 10px 24px -14px #0a1f4480;
}
.gv-benefit-card h4 { font-size: clamp(20px, 1.7vw, 25px); line-height: 1.25; }
.work-wrapper .gv-benefit-card h4 a,
.work-wrapper .gv-benefit-card p { color: #fff; }
.work-wrapper .gv-benefit-card .icon,
.work-wrapper .gv-benefit-card:hover .icon { background: #fff; flex-shrink: 0; }
.work-wrapper .gv-benefit-card .icon svg path { fill: #2449b8; }
.gv-benefit-card > div:last-child { min-width: 0; }
.gv-benefit-card a:focus-visible { outline: 3px solid #ffe39a; outline-offset: 4px; }
.choose-items4 .boxes > img { display: block; width: 64px; height: 65px; object-fit: contain; opacity: 1; }
.step-solution:not(:has(.step-thumb-big)) .step-wrapper-inner { margin-top: 0; }
.service-items2.gv-benefit-grid {
  background: linear-gradient(145deg, #5283ff, #4068ff 65%, #3156ec) !important;
  border: 1px solid #ffffff45;
  border-radius: 18px !important;
  box-shadow: 0 18px 30px -15px #3156ec70;
  isolation: isolate;
  overflow: hidden;
}
.gv-benefit-grid .content > h4 a,
.gv-benefit-grid .content > p { color: #fff; }
.gv-benefit-grid .icons { background: #fff; }
.gv-benefit-grid .icons svg path { fill: #2449b8; }
.gv-benefit-grid .gv-card-learn-more {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-top: 24px;
  padding: 11px 16px;
  background: #fff;
  border-radius: 30px;
  color: #0a1f44;
  font-size: 14px;
  font-weight: 600;
}
.gv-benefit-grid .gv-card-learn-more:hover { background: #edf2ff; color: #0a1f44; }
.gv-card-learn-more:focus-visible { outline: 3px solid #ffe39a; outline-offset: 4px; }
.work-wrapper.choose-partner-color .gv-benefit-card,
.work-wrapper.choose-partner-color .gv-benefit-card:hover { background: linear-gradient(125deg, #2449b8, #13347c) !important; }
.work-wrapper.choose-partner-color .gv-benefit-card .icon { background: #fff !important; }
.work-wrapper .gv-benefit-card .icon svg path { fill: #2449b8 !important; }

@media (max-width: 575px) {
  .work-wrapper .work-list-item.gv-benefit-card { padding: 20px 16px; }
  .work-wrapper .gv-benefit-card .icon { width: 44px; min-width: 44px; height: 44px; }
}
