/* Homepage Design Version 1 */
.page-home-v1 {
  --home-navy: #031738;
  --home-navy-2: #06214f;
  --home-blue: #0a2d67;
  --home-yellow: #ffc400;
  --home-red: #ed1c24;
  --home-light-blue: #f2f7ff;
  color: #132447;
  font-family: "Poppins", sans-serif;
}

.page-home-v1 p {
  font-size: 0.88rem;
  line-height: 1.65;
}

.page-home-v1 .home-header {
  top: 0;
}

.page-home-v1 .home-header .navbar {
  min-height: 88px;
}

.page-home-v1 .home-header .nav-link {
  font-size: 0.72rem;
  text-transform: uppercase;
}

.page-home-v1 .home-header .nav-link.active {
  color: var(--home-yellow);
}

.page-home-v1 .home-header .quote-button {
  min-height: 42px;
  padding: 9px 19px;
}

/* Hero */
.home-hero {
  background:
    radial-gradient(circle at 80% 20%, rgba(24, 83, 161, 0.28), transparent 32%),
    linear-gradient(125deg, #031738 0%, #06214f 52%, #041a3d 100%);
  color: #fff;
  min-height: 650px;
  overflow: hidden;
  padding: 112px 0 34px;
  position: relative;
}

.home-hero::before {
  background-image: radial-gradient(rgba(255, 255, 255, 0.16) 1px, transparent 1px);
  background-size: 12px 12px;
  bottom: 0;
  content: "";
  height: 240px;
  left: 0;
  opacity: 0.3;
  position: absolute;
  width: 42%;
}

.home-hero__skyline {
  background: url("../../images/decorations/city-skyline-navy.svg") bottom center / contain no-repeat;
  bottom: 0;
  height: 58%;
  left: 14%;
  opacity: 0.35;
  position: absolute;
  width: 48%;
}

.home-hero__skyline::before,
.home-hero__skyline::after {
  border-left: 30px solid transparent;
  border-right: 30px solid transparent;
  border-bottom: 280px solid #020f27;
  bottom: 0;
  content: "";
  filter: drop-shadow(85px 55px 0 #020f27) drop-shadow(170px 15px 0 #020f27) drop-shadow(255px 70px 0 #020f27);
  left: 40%;
  opacity: 0.45;
  position: absolute;
}

.home-hero__skyline::after {
  border-bottom-width: 190px;
  left: 10%;
}

.home-hero__route {
  background: url("../../images/decorations/hero-route-line.svg") center / contain no-repeat;
  border-radius: 50%;
  height: 250px;
  position: absolute;
  transform: rotate(-18deg);
  width: 390px;
}

.home-hero__route--one { right: 5%; top: 18%; }
.home-hero__route--two { bottom: -80px; right: 37%; transform: rotate(25deg); }
.home-hero__container { position: relative; z-index: 2; }
.home-hero__content { padding-top: 32px; }
.home-hero__eyebrow { font-family: "Kalam", cursive; font-size: 1.18rem !important; margin-bottom: 8px; }
.home-hero__title { color: #fff; font-size: clamp(2.8rem, 4.3vw, 4.75rem); font-weight: 800; letter-spacing: -0.055em; line-height: 0.99; margin-bottom: 24px; }
.home-hero__title span { color: var(--home-yellow); font-family: "Kalam", cursive; font-weight: 700; letter-spacing: -0.025em; }
.home-hero__description { color: rgba(255, 255, 255, 0.8); max-width: 500px; }
.home-hero__actions { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 24px; }
.home-hero__stats { display: flex; gap: clamp(22px, 3vw, 45px); margin-top: 48px; }
.hero-stat { align-items: center; display: flex; gap: 10px; }
.hero-stat > i { color: var(--home-yellow); font-size: 1.75rem; }
.hero-stat strong, .hero-stat span { display: block; }
.hero-stat strong { color: #fff; font-size: 0.98rem; line-height: 1.2; }
.hero-stat span { color: rgba(255, 255, 255, 0.66); font-size: 0.58rem; }

.hero-collage { height: 490px; margin-left: 15px; position: relative; }
.hero-collage__vehicle { bottom: 38px; height: auto; left: -3%; position: absolute; width: 24%; z-index: 1; }
.hero-collage__item { border: 6px solid #fff; box-shadow: 0 20px 45px rgba(0, 0, 0, 0.28); margin: 0; overflow: hidden; position: absolute; }
.hero-collage__item img { height: 100%; object-fit: cover; width: 100%; }
.hero-collage__item--main { border-radius: 48% 48% 18px 18px / 30% 30% 18px 18px; height: 310px; right: 2%; top: 10px; width: 72%; }
.hero-collage__item--left { border-radius: 65px 18px 18px 18px; bottom: 40px; height: 210px; left: 3%; width: 35%; z-index: 2; }
.hero-collage__item--center { border-radius: 18px; bottom: 4px; height: 205px; left: 34%; width: 36%; z-index: 3; }
.hero-collage__item--right { border-radius: 18px 18px 62px 18px; bottom: 28px; height: 215px; right: 0; width: 34%; z-index: 2; }
.hero-collage__badge { border-radius: 50%; box-shadow: var(--gem-shadow-md); height: 175px; object-fit: contain; position: absolute; right: 3%; top: 150px; transform: rotate(7deg); width: 175px; z-index: 5; }
.hero-collage__badge::before { border: 2px dashed #e0ad19; border-radius: 50%; content: ""; inset: 12px; position: absolute; }
.hero-collage__badge span { font-size: 0.63rem; font-weight: 700; letter-spacing: 0.09em; text-transform: uppercase; }
.hero-collage__badge strong { color: var(--home-navy); font-size: 3.1rem; line-height: 1; }
.hero-collage__pin { filter: drop-shadow(0 5px 8px rgba(0, 0, 0, .3)); height: 80px; left: 8%; object-fit: contain; position: absolute; top: 130px; width: 65px; z-index: 5; }

/* About */
.home-about { border-bottom: 1px solid var(--gem-border); padding-block: 34px; }
.home-about h2 { font-size: 1.55rem; margin-bottom: 12px; }
.home-about p { color: var(--gem-muted); }
.anniversary-mark { display: inline-block; }
.anniversary-mark > img { margin: 0 auto; max-width: 230px; }
.anniversary-mark > div { align-items: center; display: flex; justify-content: center; line-height: 1; }
.anniversary-mark strong { background: linear-gradient(#071b49, #ed1c24); -webkit-background-clip: text; background-clip: text; color: transparent; font-size: 6.7rem; letter-spacing: -0.11em; }
.anniversary-mark span { align-items: center; border: 4px solid var(--home-navy); border-radius: 50%; display: flex; font-size: 0.85rem; font-weight: 800; height: 55px; justify-content: center; margin-left: -7px; text-transform: uppercase; width: 55px; }
.anniversary-mark b { color: var(--home-red); font-size: 2.3rem; margin-left: 3px; }
.anniversary-mark p { color: var(--home-navy); font-size: 0.72rem; font-weight: 700; line-height: 1.3; margin: -4px 0 0; }
.about-features { display: grid; gap: 17px; }
.about-feature { align-items: center; display: flex; font-size: 0.78rem; gap: 13px; }
.about-feature span { align-items: center; border: 1px solid #b8c7e4; border-radius: 50%; color: var(--home-blue); display: flex; font-size: 1.1rem; height: 44px; justify-content: center; width: 44px; }

/* Shared homepage headings */
.home-section-title { align-items: center; display: flex; gap: 15px; justify-content: center; margin-bottom: 22px; text-align: center; }
.home-section-title::before, .home-section-title::after { background: #8ea0c2; content: ""; height: 1px; width: 48px; }
.home-section-title h2 { font-size: clamp(1.25rem, 2vw, 1.75rem); margin: 0; }

/* Experiences */
.experience-section { padding-block: 34px 42px; }
.experience-filters { border: 1px solid var(--gem-border); border-radius: var(--gem-radius-pill); display: flex; margin: 0 auto 26px; max-width: 790px; overflow: hidden; }
.experience-filters button { background: #fff; border: 0; color: var(--gem-body); flex: 1; font-size: 0.68rem; font-weight: 600; min-height: 34px; padding: 7px 15px; text-transform: uppercase; }
.experience-filters button.active { background: var(--home-navy); border-radius: var(--gem-radius-pill); color: #fff; }
.experience-grid { display: grid; gap: 14px; grid-template-columns: repeat(6, minmax(0, 1fr)); }
.experience-card { aspect-ratio: 1.42 / 1; border-radius: 10px; box-shadow: var(--gem-shadow-sm); overflow: hidden; position: relative; }
.experience-card::after { background: linear-gradient(transparent 45%, rgba(3, 23, 56, 0.96)); content: ""; inset: 0; position: absolute; }
.experience-card img { height: 100%; object-fit: cover; transition: transform 0.55s ease; width: 100%; }
.experience-card:hover img { transform: scale(1.07); }
.experience-card h3 { bottom: 12px; color: #fff; font-size: clamp(0.65rem, 0.8vw, 0.86rem); left: 8px; margin: 0; position: absolute; right: 8px; text-align: center; z-index: 2; }
.experience-card.is-hidden { display: none; }

/* Why choose */
.why-choose { background: linear-gradient(105deg, #f6faff, #eaf3ff 68%, #fff); overflow: hidden; padding-block: 36px; }
.reason-wheel { height: 340px; margin: auto; position: relative; width: 340px; }
.reason-wheel::before, .reason-wheel::after { border: 1px solid #9cb3d7; border-radius: 50%; content: ""; inset: 48px; position: absolute; }
.reason-wheel::after { border-style: dashed; inset: 20px; opacity: 0.55; }
.reason-wheel__center { align-items: center; background: #fff; border: 1px solid #c7d5eb; border-radius: 50%; box-shadow: var(--gem-shadow-sm); display: flex; inset: 86px; justify-content: center; position: absolute; text-align: center; }
.reason-wheel__center h2 { font-size: 1rem; line-height: 1.45; margin: 0; }
.reason-wheel__icon { align-items: center; background: #fff; border: 1px solid #cbd7e9; border-radius: 50%; box-shadow: var(--gem-shadow-sm); color: var(--gem-purple); display: flex; font-size: 1.25rem; height: 50px; justify-content: center; position: absolute; width: 50px; z-index: 2; }
.reason-wheel__icon--1 { left: 145px; top: 0; }.reason-wheel__icon--2 { right: 28px; top: 45px; }.reason-wheel__icon--3 { right: 0; top: 145px; }.reason-wheel__icon--4 { bottom: 30px; right: 38px; }.reason-wheel__icon--5 { bottom: 0; left: 145px; }.reason-wheel__icon--6 { bottom: 32px; left: 35px; }.reason-wheel__icon--7 { left: 0; top: 145px; }.reason-wheel__icon--8 { left: 30px; top: 45px; }
.benefit-checks { display: grid; gap: 28px; grid-template-columns: 1fr 1fr; }
.benefit-checks ul { display: grid; gap: 11px; margin: 0; padding: 0; }
.benefit-checks li { font-size: 0.75rem; font-weight: 600; padding-left: 25px; position: relative; }
.benefit-checks li::before { color: var(--home-blue); content: "\f26a"; font-family: bootstrap-icons; left: 0; position: absolute; top: -1px; }
.why-choose__visual { margin-right: -100px; position: relative; }
.why-choose__visual::before { background: url("../../images/decorations/paint-stroke-yellow.svg") center / contain no-repeat; content: ""; inset: 3% -5% -2% -8%; opacity: 0.85; position: absolute; }
.why-choose__visual img { max-height: 430px; max-width: none; object-fit: contain; object-position: bottom center; position: relative; transform: translateX(-8%); width: 125%; }

/* Process */
.process-section { overflow: hidden; }
.process-grid { display: grid; grid-template-columns: repeat(4, 1fr); margin: 0 auto; max-width: 760px; }
.process-step { position: relative; text-align: center; }
.process-step:not(:last-child)::after { border-top: 2px dashed #758eb7; content: ""; position: absolute; right: -25%; top: 38px; width: 50%; }
.process-step:not(:last-child)::before { color: var(--home-blue); content: "\f135"; font-family: "Font Awesome 6 Free"; font-weight: 900; position: absolute; right: -3px; top: 25px; transform: rotate(40deg); z-index: 2; }
.process-step__icon { align-items: center; background: #fff; border: 1px solid #acbedb; border-radius: 50%; color: var(--home-navy); display: flex; font-size: 1.6rem; height: 72px; justify-content: center; margin: 0 auto 12px; position: relative; width: 72px; }
.process-step__icon span { align-items: center; background: var(--home-yellow); border-radius: 50%; color: var(--home-navy); display: flex; font-size: 0.58rem; font-weight: 700; height: 20px; justify-content: center; position: absolute; right: -5px; top: -5px; width: 20px; }
.process-step h3 { font-size: 0.75rem; line-height: 1.3; }

/* Video */
.video-showcase { background: linear-gradient(120deg, #031738, #082b62); color: rgba(255, 255, 255, 0.76); overflow: hidden; padding-block: 34px; }
.video-showcase::before { background-image: radial-gradient(rgba(255, 255, 255, 0.1) 1px, transparent 1px); background-size: 15px 15px; content: ""; inset: 0 65% 0 0; position: absolute; }
.video-showcase h2 { color: #fff; font-size: clamp(1.45rem, 2.2vw, 2.1rem); line-height: 1.25; }
.video-frame { border: 3px solid rgba(255, 255, 255, 0.78); border-radius: 16px; margin: 0 10px; position: relative; }
.video-frame::before, .video-frame::after { border-color: var(--home-yellow); border-style: solid; content: ""; height: 45px; position: absolute; width: 45px; z-index: 2; }
.video-frame::before { border-width: 3px 0 0 3px; left: -14px; top: -14px; }.video-frame::after { border-width: 0 3px 3px 0; bottom: -14px; right: -14px; }
.video-frame img { border-radius: 13px; height: 300px; object-fit: cover; width: 100%; }
.video-frame__play { align-items: center; background: #4b77ed; border: 2px solid #fff; border-radius: 50%; color: #fff; display: flex; font-size: 1.8rem; height: 70px; justify-content: center; left: 50%; position: absolute; top: 50%; transform: translate(-50%, -50%); width: 70px; }
.glightbox-inline-content { background: #fff; display: none; max-width: 960px; }
.glightbox-inline-content video { display: block; width: 100%; }

/* CTA and counters */
.planning-cta { background: linear-gradient(90deg, #4420b6, #b526a1 50%, #e92d3d); color: #fff; min-height: 122px; overflow: hidden; }
.planning-cta__inner { align-items: center; display: grid; gap: 28px; grid-template-columns: 1fr 1.35fr 0.7fr; min-height: 122px; position: relative; }
.planning-cta h2 { color: #fff; font-size: 1.45rem; line-height: 1.15; margin: 0 0 4px; }
.planning-cta p { font-size: 0.7rem; margin: 0; }
.planning-cta__form { display: flex; position: relative; z-index: 2; }
.planning-cta__form .form-control { border: 0; border-radius: 8px 0 0 8px; min-height: 48px; }
.planning-cta__form .btn-gem { border-radius: 0 8px 8px 0; flex: 0 0 auto; }
.planning-cta__form .form-status { bottom: -38px; position: absolute; }
.planning-cta__inner > img { align-self: end; max-height: 118px; object-fit: contain; }
.stats-wrap { background: #fff; height: 58px; position: relative; }
.stats-strip { background: var(--home-navy); border-radius: 8px; box-shadow: var(--gem-shadow-md); display: grid; grid-template-columns: repeat(4, 1fr); left: 50%; max-width: 980px; padding: 20px 25px; position: absolute; top: 14px; transform: translateX(-50%); width: calc(100% - 30px); z-index: 3; }
.counter-item { align-items: center; border-right: 1px solid rgba(255, 255, 255, 0.14); color: #fff; display: flex; gap: 14px; justify-content: center; }
.counter-item:last-child { border: 0; }.counter-item > i { color: var(--home-yellow); font-size: 1.85rem; }.counter-item strong, .counter-item span { display: block; }.counter-item strong { color: #fff; font-size: 1.35rem; line-height: 1.1; }.counter-item span { color: rgba(255, 255, 255, 0.78); font-size: 0.62rem; }

/* Featured */
.featured-section { padding-block: 80px 36px; }
.featured-slider { padding: 4px 4px 32px; }
.featured-card { background: #fff; border: 1px solid var(--gem-border); border-radius: 9px; box-shadow: var(--gem-shadow-xs); overflow: hidden; transition: transform var(--gem-transition); }
.featured-card:hover { transform: translateY(-4px); }.featured-card img { aspect-ratio: 16/8.7; object-fit: cover; width: 100%; }.featured-card h3 { font-size: 0.7rem; margin: 0; padding: 11px 7px; text-align: center; }.featured-slider .swiper-pagination { bottom: 0; display: none; }

/* Conversion area */
.conversion-section { padding: 0 0 34px; }
.conversion-grid { border-radius: 14px; box-shadow: var(--gem-shadow-sm); overflow: hidden; }
.benefits-card, .quote-card, .testimonial-card { height: 100%; min-height: 320px; }
.benefits-card { background: linear-gradient(120deg, #031738, #082b62); color: #fff; overflow: hidden; padding: 35px 25px; position: relative; }
.benefits-card > img { bottom: 0; height: 96%; left: -6px; object-fit: contain; object-position: bottom center; position: absolute; width: 42%; }
.benefits-card__content { margin-left: 38%; position: relative; z-index: 2; }.benefits-card h2 { color: #fff; font-size: 1.25rem; }.benefits-card ul { display: grid; gap: 9px; padding: 0; }.benefits-card li { font-size: 0.72rem; font-weight: 500; padding-left: 23px; position: relative; }.benefits-card li::before { color: var(--home-yellow); content: "\f26a"; font-family: bootstrap-icons; left: 0; position: absolute; }
.quote-card { background: #fff; border: 1px solid var(--gem-border); padding: 25px 26px; }.quote-card h2, .testimonial-card h2 { font-size: 1.12rem; }.quote-card .form-control { font-size: 0.72rem; min-height: 38px; padding: 7px 10px; }.quote-card textarea.form-control { min-height: 68px; }.quote-card__submit { background: var(--home-red); border-radius: 5px; color: #fff; min-height: 39px; padding: 7px 15px; width: 100%; }
.testimonial-card { background: #fff; padding: 25px 35px; }.testimonial-card > h2 { text-align: center; }.testimonial-slider { padding: 20px 0 35px; }.testimonial { align-items: center; display: grid; gap: 20px; grid-template-columns: 90px 1fr; }.testimonial img { border-radius: 50%; width: 90px; }.testimonial__stars { color: var(--home-yellow); font-size: 0.82rem; letter-spacing: 2px; }.testimonial blockquote { font-size: 0.7rem; line-height: 1.6; margin: 8px 0; }.testimonial cite { font-size: 0.6rem; font-style: normal; font-weight: 600; }.testimonial-slider .swiper-pagination-bullet-active { background: var(--home-blue); }

/* FAQ and partners */
.faq-partners { border-top: 1px solid var(--gem-border); }.faq-layout { align-items: center; display: flex; gap: 24px; }.faq-layout h2 { font-size: 1.15rem; }.faq-bulb { color: var(--home-yellow); flex: 0 0 150px; position: relative; text-align: center; }.faq-bulb i { font-size: 8rem; line-height: 1; }.faq-bulb strong { color: #fff; font-size: 1.45rem; left: 50%; position: absolute; top: 44%; transform: translate(-50%, -50%); }.faq-layout .faq-accordion { gap: 7px; }.faq-layout .accordion-button { font-size: 0.68rem; min-height: 38px; padding: 9px 12px; }.faq-layout .accordion-body { font-size: 0.68rem; padding: 0 12px 12px; }.faq-layout__button { background: var(--home-red); border-radius: 5px; color: #fff; min-height: 38px; padding: 7px 20px; }
.partner-grid { background: #fff; border: 1px dashed #f1a0a5; border-radius: 16px; box-shadow: 0 8px 26px rgba(3, 23, 56, 0.07); display: grid; gap: 7px; grid-template-columns: repeat(5, 1fr); margin: 10px; overflow: hidden; padding: 12px; }.partner-grid img { background: #fff; border: 1px dashed #f1a0a5; border-radius: 8px; height: 64px; object-fit: contain; padding: 12px; transition: border-color 250ms ease, box-shadow 250ms ease, transform 250ms ease; width: 100%; }.partner-grid img:hover { border-color: var(--home-yellow); box-shadow: 0 8px 18px rgba(3, 23, 56, 0.12); transform: translateY(-3px) scale(1.025); }

/* Footer */
.home-footer { padding-top: 32px; }.home-footer p { font-size: 0.66rem; }.footer-newsletter { display: flex; flex-wrap: wrap; }.footer-newsletter .form-control { border: 0; border-radius: 4px 0 0 4px; font-size: 0.7rem; min-height: 38px; width: calc(100% - 42px); }.footer-newsletter button { background: var(--home-red); border: 0; border-radius: 0 4px 4px 0; color: #fff; width: 42px; }.footer-newsletter .form-status { flex: 0 0 100%; }.home-footer .site-footer__bottom { margin-top: 24px; padding-block: 12px; }

/* Use the code-native FAQ illustration without adding another decorative DOM layer. */
.faq-bulb {
  background: url("../../images/home/faq-lightbulb.svg") center / contain no-repeat;
  min-height: 190px;
}

.faq-bulb > i,
.faq-bulb > strong {
  visibility: hidden;
}
