/* Stronger light/dark rhythm and elevated content surfaces. */
body { background: #f5f7fa; }

.section { position: relative; }
.section.process { background: linear-gradient(135deg, #f6eee1 0%, #fffaf3 54%, #ecf2f7 100%); }
.section.contact { background: linear-gradient(135deg, #e8f0f6 0%, #fdf8ef 100%); }
.section.about { background:#fff; }
.section.faqs { background: #f7f9fb; }
.trust-strip { background: linear-gradient(90deg, #fbf1df 0%, #fffaf1 55%, #edf4f8 100%); }

.service-card,
.process-step,
.contact-card,
.enquiry-form,
.accordion,
.map-wrap{
  box-shadow: 0 18px 45px rgba(6, 29, 53, .14);
}
.service-card { box-shadow: 20px 20px 30px rgba(0, 0, 0, 0.4); }
.process-step { border: 10px solid rgba(9, 42, 74, .07); box-shadow: 20px 20px 30px rgba(0, 0, 0, 0.4); }
.contact-card { border: 10px solid rgba(9, 42, 74, .08); box-shadow: 20px 20px 30px rgba(0, 0, 0, 0.4); }
.enquiry-form { box-shadow: 0 22px 55px rgba(0, 0, 0, .28); }
.accordion { border-radius: 14px; overflow: hidden; background: #fff; }
.accordion-item { padding-inline: 20px; }
.accordion-item:first-child { border-radius: 14px 14px 0 0; }
.accordion-item:last-child { border-radius: 0 0 14px 14px; }
.destination-card { box-shadow: 0 14px 30px rgba(0, 0, 0, .28); }

@media (max-width: 575px) {
  .accordion-item { padding-inline: 12px; }
  .service-card, .process-step, .contact-card, .enquiry-form { box-shadow: 0 12px 28px rgba(6, 29, 53, .13); }
}

/* Contemporary sans-serif typography for all section headings. */
h1, h2, h3, .destination-card, .brand-mark {
  font-family: 'Valley Sans', sans-serif; font-weight:700;
}

h1, h2, h3 { font-weight: 600; }
h1, h2 { letter-spacing: -.025em; }

.navbar .dropdown-menu {
  border: 0;
  border-radius: 12px;
  padding: 9px;
  margin-top: 10px;
  min-width: 205px;
  box-shadow: 0 16px 35px rgba(6, 29, 53, .16);
}

.navbar .dropdown-item {
  border-radius: 7px;
  color: var(--ink);
  font-size: .88rem;
  font-weight: 600;
  padding: 9px 12px;
}

.navbar .dropdown-item:hover,
.navbar .dropdown-item:focus {
  color: var(--navy);
  background: #f9ecd8;
}

/* Blue gradient section system derived from the Maxus logo navy. */
.trust-strip {
  background: linear-gradient(115deg, #d8e9f5 0%, #eff7fc 48%, #dcecf7 100%);
}

#study-abroad {
  background: linear-gradient(135deg, #eef6fb 0%, #ffffff 48%, #dcecf7 100%);
}

.section.process {
  background: linear-gradient(130deg, #d7e8f4 0%, #f5faff 50%, #e0eff8 100%);
}

.section.faqs {
  background: linear-gradient(135deg, #dcecf7 0%, #f8fcff 50%, #e6f2fa 100%);
}

.section.contact {
  background: linear-gradient(120deg, #cfe2f0 0%, #eaf4fa 52%, #d5e8f5 100%);
}

.destinations {
  background: #061d35;
}

.enquiry {
  background: linear-gradient(125deg, #061d35 0%, #092a4a 55%, #0b3d66 100%);
}

/* High-contrast aqua-to-navy gradients across the main sections. */
.trust-strip,
#study-abroad,
.section.process,
.section.faqs,
.section.contact {
  background: linear-gradient(125deg, #23c6d4 0%, #0d82a5 48%, #061d35 100%);
}

.trust-strip h2,
.trust-strip .trust-item strong,
.trust-strip .trust-item span,
#study-abroad .section-heading h2,
#study-abroad .section-heading > p:last-child,
.process .section-heading h2,
.faqs h2,
.faqs .col-lg-4 > p:not(.eyebrow),
.contact .section-heading h2 {
  color: #fff; font-weight:600;
}

.trust-strip .trust-item i{
  color: #d7fbff;
}

/* A calm white trust surface between the hero and services. */
.trust-strip {
  background: #fff;
  position: relative;
  z-index: 3;
  box-shadow: 0 16px 34px rgba(6, 29, 53, .14);
}

.trust-strip h2,
.trust-strip .trust-item strong { color: var(--ink); }
.trust-strip .trust-item span { color: var(--muted); }
.trust-strip .eyebrow,
.trust-strip .trust-item i { color: var(--gold); }
:root { --fade-duration: 1200ms; --slide-duration: 5000ms; }
.hero { height: 720px; isolation: isolate; overflow: hidden; position: relative; display: grid; align-items: center; width: 100%; }
.hero__media, .hero__overlay { inset: 0; position: absolute; }
.hero__media { z-index: -2; background: #111; }
.hero__video { height: 100%; left: 0; object-fit: cover; opacity: 0; position: absolute; top: 0; transition: opacity var(--fade-duration) ease-in-out; width: 100%; }
.hero__video.is-active { opacity: 1; }
.hero__overlay { z-index: -1; background: linear-gradient(90deg, rgba(0,0,0,.7) 0%, rgba(0,0,0,.43) 48%, rgba(0,0,0,.25) 100%); }
.hero__content { padding-block: 8rem 5.5rem; }
.hero h1 { font-size: clamp(3rem, 8vw, 5rem); font-weight: 800; letter-spacing: -.065em; line-height: 1; margin: .75rem 0 1.35rem; max-width: 50vw; text-wrap: balance; }
.hero__copy { color: rgba(255,255,255,.86); font-size: clamp(1rem, 1.8vw, 1.22rem); line-height: 1.55; max-width: 38rem; }
.hero__copy, .eyebrow, .hero h1, .hero__actions { transition: opacity 360ms ease, transform 480ms cubic-bezier(.2,.7,.2,1); }
.hero__text.is-changing .eyebrow, .hero__text.is-changing h1, .hero__text.is-changing .hero__copy, .hero__text.is-changing .hero__actions { opacity: 0; transform: translateY(16px); }
.hero__actions { display: flex; flex-wrap: wrap; gap: .75rem; margin-top: 2rem; }
.hero__utility { color:#fff; align-items: center; bottom: 1.8rem; display: flex; gap: .9rem; left: clamp(1rem, 5vw, 4rem); position: absolute; right: clamp(1rem, 5vw, 0rem); }
.hero__counter { font-size: .78rem; font-variant-numeric: tabular-nums; letter-spacing: .12em; min-width: 3rem; }
.hero__progress { background: rgba(255,255,255,.3); height: 2px; overflow: hidden; width: min(18rem, 35vw); }
.hero__progress span { background: #d89b3d; display: block; height: 100%; transform: scaleX(0); transform-origin: left; width: 100%; }
.hero__progress span.is-running { animation: progress var(--slide-duration) linear forwards; }
@keyframes progress { to { transform: scaleX(1); } }
@media (max-width: 575.98px) { .hero { height: 720px; } .hero__content { padding-block: 7rem 6rem; } .hero__overlay { background: linear-gradient(0deg, rgba(0,0,0,.72), rgba(0,0,0,.35)); } .hero__progress { width: 100%; } }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; } }
