:root {
  --ink: #062c43;
  --ink-2: #08425e;
  --blue: #0d8a97;
  --cyan: #ffb238;
  --orange: #f2763d;
  --paper: #f5f8f2;
  --muted: #5f7481;
  --line: rgba(6, 44, 67, .12);
  --radius: 24px;
  --shadow: 0 24px 70px rgba(7, 20, 38, .12);
}

html { scroll-behavior: smooth; }
body { font-family: "Manrope", sans-serif; color: var(--ink); background: #fff; overflow-x: hidden; }
h1, h2, h3, .navbar-brand, .footer-brand { font-family: "Space Grotesk", sans-serif; }
a { text-decoration: none; }
.skip-link { position: fixed; z-index: 9999; top: -60px; left: 20px; padding: 10px 16px; background: var(--cyan); color: var(--ink); border-radius: 0 0 8px 8px; font-weight: 800; }
.skip-link:focus { top: 0; }

.site-header { transition: background .3s, box-shadow .3s, transform .3s; }
.site-header.scrolled { background: rgba(6, 44, 67, .96); box-shadow: 0 12px 40px rgba(0, 0, 0, .22); backdrop-filter: blur(16px); }
.announcement { height: 36px; line-height: 36px; background: #ffb238; color: var(--ink); font-size: .78rem; font-weight: 800; letter-spacing: .02em; }
.announcement a { color: var(--ink); }
.navbar { min-height: 90px; padding: .7rem 0; }
.navbar-brand, .footer-brand { color: #fff; display: inline-flex; align-items: center; gap: .8rem; line-height: 1; }
.navbar-brand strong, .footer-brand strong { display: block; font-size: 1.2rem; letter-spacing: -.02em; }
.navbar-brand small, .footer-brand small { display: block; color: rgba(255,255,255,.65); font-family: "Manrope", sans-serif; font-size: .64rem; margin-top: .3rem; text-transform: uppercase; letter-spacing: .13em; }
.brand-mark { width: 52px; height: 52px; border-radius: 16px; display: grid; place-items: center; background: var(--cyan); transform: rotate(-4deg); box-shadow: 0 9px 25px rgba(255,178,56,.22); }
.brand-mark img { width: 44px; height: 44px; object-fit: contain; filter: brightness(0) saturate(100%); }
.nav-link { color: rgba(255,255,255,.72); font-size: .9rem; font-weight: 700; padding: .7rem .8rem !important; }
.nav-link:hover, .nav-link:focus, .nav-link.active { color: var(--cyan); }
.navbar .dropdown-toggle::after { margin-left: .4rem; vertical-align: .14em; }
.menu-panel { min-width: 245px; padding: .65rem; border: 1px solid rgba(255,255,255,.14); border-radius: 15px; background: #07334b; box-shadow: 0 20px 45px rgba(1,19,30,.3); }
.menu-panel .dropdown-item { display: flex; align-items: center; gap: .7rem; padding: .75rem; border-radius: 10px; color: rgba(255,255,255,.82); font-size: .82rem; font-weight: 700; }
.menu-panel .dropdown-item:hover, .menu-panel .dropdown-item:focus { color: var(--ink); background: var(--cyan); }
.menu-panel .dropdown-item i { width: 32px; height: 32px; display: grid; place-items: center; border-radius: 9px; color: var(--cyan); background: rgba(255,255,255,.08); font-size: 1rem; }
.menu-panel .dropdown-item:hover i { color: var(--ink); background: rgba(255,255,255,.42); }
.menu-panel strong, .menu-panel small { display: block; }
.menu-panel small { margin-top: .14rem; color: rgba(255,255,255,.53); font-size: .65rem; font-weight: 500; }
.menu-panel .dropdown-item:hover small { color: rgba(6,44,67,.72); }
.compact-panel { min-width: 190px; }
.compact-panel .dropdown-item { padding: .62rem .75rem; }
.menu-flag { font-size: 1rem; }
.btn { border-radius: 14px; font-weight: 800; padding: .78rem 1.25rem; }
.btn-brand { color: var(--ink); background: var(--cyan); border: 1px solid var(--cyan); box-shadow: 0 12px 32px rgba(255,178,56,.2); }
.btn-brand:hover { background: #ffd080; color: var(--ink); border-color: #ffd080; transform: translateY(-2px); }
.btn-ghost { color: #fff; border: 1px solid rgba(255,255,255,.22); background: rgba(255,255,255,.06); }
.btn-ghost:hover { color: #fff; background: rgba(255,255,255,.12); border-color: rgba(255,255,255,.4); }

.hero-section { position: relative; padding: 142px 0 58px; background: linear-gradient(128deg, #062c43 0%, #073950 53%, #0b6171 145%); color: #fff; min-height: 880px; }
.hero-row { min-height: calc(100vh - 200px); }
.hero-grid { position: absolute; inset: 0; opacity: .17; background-image: linear-gradient(rgba(255,255,255,.09) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.09) 1px, transparent 1px); background-size: 64px 64px; transform: perspective(800px) rotateX(61deg) scale(1.35); transform-origin: center bottom; mask-image: linear-gradient(to bottom, transparent 5%, #000 70%); }
.hero-glow { position: absolute; border-radius: 50%; filter: blur(80px); pointer-events: none; }
.glow-one { width: 420px; height: 420px; top: 12%; left: -14%; background: rgba(13,138,151,.34); }
.glow-two { width: 420px; height: 420px; bottom: 5%; right: -12%; background: rgba(255,178,56,.2); }
.eyebrow, .section-kicker { display: flex; align-items: center; gap: .65rem; text-transform: uppercase; letter-spacing: .14em; font-size: .78rem; font-weight: 800; color: var(--blue); margin-bottom: 1.1rem; }
.eyebrow { color: var(--cyan); }
.eyebrow span { width: 34px; height: 2px; background: var(--cyan); }
.hero-title { font-size: clamp(3rem, 6vw, 5.85rem); line-height: .98; letter-spacing: -.058em; font-weight: 700; max-width: 740px; }
.hero-title em { color: var(--cyan); font-style: normal; position: relative; }
.hero-copy { color: rgba(255,255,255,.67); max-width: 610px; font-size: 1.08rem; line-height: 1.8; margin: 1.7rem 0 2rem; }
.hero-trust { display: flex; flex-wrap: wrap; gap: 1.5rem; margin-top: 2.4rem; }
.hero-trust > div { display: flex; align-items: center; gap: .65rem; color: rgba(255,255,255,.55); font-size: .76rem; }
.hero-trust i { width: 34px; height: 34px; border-radius: 10px; display: grid; place-items: center; color: var(--cyan); background: rgba(50,230,195,.1); }
.hero-trust strong { display: block; color: #fff; font-size: .83rem; }

.journey-stage { position: relative; height: 570px; perspective: 1200px; transform-style: preserve-3d; transition: transform .25s ease-out; }
.stage-lines { position: absolute; inset: 10% 6% 0; border: 1px solid rgba(255,178,56,.3); border-radius: 50%; transform: rotateX(67deg) translateZ(-40px); box-shadow: 0 0 80px rgba(255,178,56,.12), inset 0 0 60px rgba(13,138,151,.18); }
.stage-lines::before, .stage-lines::after { content: ""; position: absolute; inset: 12%; border: 1px dashed rgba(255,255,255,.18); border-radius: inherit; }
.stage-lines::after { inset: 28%; }
.hero-photo-card { position: absolute; inset: 14% 9% 15%; border: 1px solid rgba(255,255,255,.16); border-radius: 32px; padding: 10px; background: rgba(255,255,255,.08); box-shadow: 0 48px 90px rgba(0,0,0,.42); transform: rotateY(-8deg) rotateX(3deg) translateZ(15px); overflow: hidden; backdrop-filter: blur(12px); }
.hero-photo-card .carousel-inner, .hero-photo-card .carousel-item { border-radius: 24px; overflow: hidden; }
.hero-photo-card img { width: 100%; height: 100%; object-fit: cover; border-radius: 24px; filter: saturate(.9) contrast(1.04); }
.hero-photo-card::after { content: ""; position: absolute; inset: 10px; border-radius: 24px; background: linear-gradient(180deg, transparent 45%, rgba(7,20,38,.86)); }
.photo-caption { position: absolute; z-index: 2; bottom: 34px; left: 34px; display: flex; align-items: center; gap: .65rem; font-size: .84rem; font-weight: 700; }
.hero-photo-card .carousel-control-prev, .hero-photo-card .carousel-control-next { z-index: 4; top: auto; bottom: 22px; width: 36px; height: 36px; border: 1px solid rgba(255,255,255,.36); border-radius: 50%; background: rgba(3,31,47,.42); opacity: 1; font-size: .82rem; }
.hero-photo-card .carousel-control-prev { left: auto; right: 66px; }
.hero-photo-card .carousel-control-next { right: 21px; }
.hero-photo-card .carousel-indicators { z-index: 4; right: auto; bottom: 15px; left: 28px; margin: 0; gap: .35rem; }
.hero-photo-card .carousel-indicators [data-bs-target] { width: 19px; height: 3px; margin: 0; border: 0; border-radius: 9px; background-color: #fff; }
.live-dot { width: 9px; height: 9px; background: var(--cyan); border-radius: 50%; box-shadow: 0 0 0 7px rgba(255,178,56,.16); }
.float-card, .success-pill { position: absolute; z-index: 3; display: flex; align-items: center; gap: .75rem; background: rgba(255,255,255,.94); color: var(--ink); border: 1px solid rgba(255,255,255,.75); box-shadow: 0 22px 55px rgba(0,0,0,.28); backdrop-filter: blur(12px); }
.float-card { padding: .8rem 1rem; border-radius: 16px; animation: drift 5s ease-in-out infinite; }
.float-card strong, .success-pill strong { display: block; font-size: .78rem; }
.float-card small, .success-pill small { display: block; color: var(--muted); font-size: .64rem; margin-top: .12rem; }
.flag-emoji { width: 38px; height: 38px; border-radius: 11px; display: grid; place-items: center; background: #edf2fa; font-size: 1.25rem; }
.float-canada { top: 8%; right: 0; transform: translateZ(80px) rotate(3deg); }
.float-uk { top: 45%; left: -3%; transform: translateZ(100px) rotate(-3deg); animation-delay: -1.3s; }
.float-uae { bottom: 7%; right: 3%; transform: translateZ(90px) rotate(2deg); animation-delay: -2.4s; }
.success-pill { top: 4%; left: 2%; padding: .85rem 1rem; border-radius: 18px; transform: translateZ(90px) rotate(-3deg); }
.success-pill i { font-size: 1.55rem; color: #15a47e; }
@keyframes drift { 0%,100% { translate: 0 0; } 50% { translate: 0 -11px; } }
.hero-marquee { position: absolute; bottom: 0; left: 0; right: 0; border-top: 1px solid rgba(255,255,255,.1); border-bottom: 1px solid rgba(255,255,255,.1); overflow: hidden; height: 58px; display: flex; align-items: center; background: rgba(255,255,255,.025); }
.marquee-track { display: flex; align-items: center; gap: 2.2rem; white-space: nowrap; min-width: max-content; animation: marquee 26s linear infinite; color: rgba(255,255,255,.33); font-size: .76rem; text-transform: uppercase; letter-spacing: .16em; font-weight: 800; }
.marquee-track i { width: 6px; height: 6px; border-radius: 50%; background: var(--cyan); }
@keyframes marquee { to { transform: translateX(-45%); } }

.section-pad { padding: 120px 0; }
.section-title { font-size: clamp(2.35rem, 4vw, 4rem); line-height: 1.06; letter-spacing: -.045em; font-weight: 700; margin: 0; }
.section-lead { color: var(--muted); font-size: 1.02rem; line-height: 1.8; }
.section-heading { max-width: 720px; margin-bottom: 3.4rem; }
.services-section { background: #fff; }
.service-card { position: relative; overflow: hidden; padding: 2rem; border: 1px solid var(--line); border-radius: var(--radius); background: #fff; transition: transform .35s, box-shadow .35s, border-color .35s; }
.service-card::after { content: ""; position: absolute; width: 160px; height: 160px; right: -80px; bottom: -90px; border-radius: 50%; background: var(--cyan); opacity: 0; transition: opacity .35s; filter: blur(20px); }
.service-card:hover { transform: translateY(-10px) rotateX(2deg); box-shadow: var(--shadow); border-color: rgba(75,116,255,.28); }
.service-card:hover::after { opacity: .12; }
.service-icon { width: 58px; height: 58px; border-radius: 17px; display: grid; place-items: center; background: #edf1ff; color: var(--blue); font-size: 1.6rem; margin-bottom: 2.2rem; }
.card-number { position: absolute; top: 2rem; right: 2rem; color: #c7ced9; font-weight: 800; font-size: .76rem; }
.service-card h3 { font-size: 1.28rem; font-weight: 700; }
.service-card p { color: var(--muted); line-height: 1.7; font-size: .9rem; min-height: 112px; }
.service-card a { position: relative; z-index: 2; display: inline-flex; gap: .55rem; color: var(--ink); font-size: .82rem; font-weight: 800; }

.destination-section { background: linear-gradient(135deg, #eaf5f2 0%, #f9f6ec 100%); }
.destination-shell { position: relative; padding: 1rem; background: rgba(255,255,255,.73); border: 1px solid #fff; border-radius: 30px; box-shadow: 0 25px 80px rgba(7,20,38,.08); }
.country-tile { height: 168px; color: var(--ink); display: flex; flex-direction: column; align-items: center; justify-content: center; border-radius: 21px; background: #fff; border: 1px solid var(--line); transition: transform .3s, background .3s, color .3s, box-shadow .3s; }
.country-tile img { width: 54px; height: 40px; object-fit: cover; border-radius: 7px; box-shadow: 0 7px 16px rgba(6,44,67,.16); transition: transform .3s; }
.country-tile strong { margin-top: .7rem; font-family: "Space Grotesk", sans-serif; }
.country-tile small { color: var(--muted); font-size: .7rem; margin-top: .18rem; }
.country-tile:hover { background: var(--ink); color: #fff; transform: translateY(-8px); box-shadow: 0 18px 40px rgba(7,20,38,.18); }
.country-tile:hover img { transform: scale(1.14) rotate(-5deg); }
.country-tile:hover small { color: rgba(255,255,255,.54); }

.about-visual { position: relative; max-width: 540px; padding: 0 45px 45px 0; }
.about-visual > img { position: relative; z-index: 2; width: 100%; height: 580px; object-fit: cover; border-radius: 30px; box-shadow: var(--shadow); }
.image-outline { position: absolute; inset: 45px 0 0 45px; border: 2px solid var(--cyan); border-radius: 30px; }
.about-badge { position: absolute; z-index: 3; right: -10px; top: 52px; display: flex; align-items: center; gap: .8rem; padding: 1rem 1.2rem; background: var(--ink); color: #fff; border-radius: 18px; box-shadow: 0 20px 40px rgba(7,20,38,.25); }
.about-badge i { color: var(--cyan); font-size: 1.8rem; }
.about-badge strong, .about-badge small { display: block; }
.about-badge strong { font-size: .82rem; }
.about-badge small { color: rgba(255,255,255,.52); font-size: .68rem; margin-top: .18rem; }
.feature-row { display: flex; gap: 1rem; margin-top: 1.55rem; }
.feature-row > span { flex: 0 0 46px; height: 46px; display: grid; place-items: center; border-radius: 14px; background: rgba(50,230,195,.13); color: #07846a; font-size: 1.2rem; }
.feature-row h3 { font-size: 1rem; font-weight: 800; margin-bottom: .35rem; }
.feature-row p { color: var(--muted); font-size: .86rem; line-height: 1.65; margin: 0; }
.btn-dark-brand { background: var(--ink); color: #fff; border-color: var(--ink); }
.btn-dark-brand:hover { background: var(--blue); color: #fff; border-color: var(--blue); transform: translateY(-2px); }

.process-section { position: relative; background: var(--ink); overflow: hidden; }
.process-section::before { content: ""; position: absolute; width: 600px; height: 600px; border: 1px solid rgba(50,230,195,.14); border-radius: 50%; right: -250px; top: -300px; box-shadow: 0 0 100px rgba(50,230,195,.06); }
.section-kicker.light { color: var(--cyan); }
.process-card { position: relative; height: 100%; padding: 2rem; border: 1px solid rgba(255,255,255,.11); border-radius: 24px; background: rgba(255,255,255,.045); color: #fff; backdrop-filter: blur(8px); transition: transform .3s, border-color .3s; }
.process-card:hover { transform: translateY(-8px); border-color: rgba(50,230,195,.5); }
.process-card > span { position: absolute; right: 1.7rem; top: 1.3rem; color: rgba(255,255,255,.12); font-size: 3rem; font-family: "Space Grotesk", sans-serif; font-weight: 700; }
.process-card > i { width: 58px; height: 58px; display: grid; place-items: center; color: var(--cyan); background: rgba(50,230,195,.1); border-radius: 17px; font-size: 1.5rem; margin-bottom: 2rem; }
.process-card h3 { font-size: 1.25rem; }
.process-card p { color: rgba(255,255,255,.57); line-height: 1.7; font-size: .9rem; margin: 0; }

.reviews-section { background: #fff; }
.review-card { margin: 0; padding: 2rem; border: 1px solid var(--line); border-radius: 24px; background: #fff; box-shadow: 0 12px 45px rgba(7,20,38,.05); }
.review-card.featured { background: var(--paper); transform: translateY(-12px); }
.stars { color: #ff9d43; letter-spacing: .14em; font-size: .9rem; }
.review-card > p { color: #27364d; font-size: 1rem; line-height: 1.8; margin: 1.4rem 0 1.8rem; }
.review-card footer { display: flex; align-items: center; gap: .8rem; }
.review-card footer > span { width: 44px; height: 44px; border-radius: 50%; display: grid; place-items: center; background: var(--ink); color: var(--cyan); font-size: .75rem; font-weight: 800; }
.review-card footer strong, .review-card footer small { display: block; }
.review-card footer strong { font-size: .84rem; }
.review-card footer small { color: var(--muted); font-size: .7rem; margin-top: .18rem; }

.consultation-section { padding: 20px 0 110px; background: #fff; }
.consultation-panel { position: relative; overflow: hidden; padding: clamp(2rem, 5vw, 4.5rem); border-radius: 32px; background: linear-gradient(135deg, #4059e8 0%, #233dca 45%, #0c827b 125%); color: #fff; box-shadow: 0 30px 90px rgba(31,55,180,.24); }
.consultation-panel::before { content: ""; position: absolute; width: 440px; height: 440px; border: 1px solid rgba(255,255,255,.15); border-radius: 50%; left: -240px; bottom: -280px; box-shadow: 0 0 0 45px rgba(255,255,255,.025), 0 0 0 90px rgba(255,255,255,.02); }
.consultation-panel h2 { font-size: clamp(2.35rem, 4vw, 3.75rem); line-height: 1.03; letter-spacing: -.045em; }
.consultation-panel > .row > div > p { color: rgba(255,255,255,.72); line-height: 1.75; }
.contact-stack { display: grid; gap: .8rem; margin-top: 2rem; }
.contact-stack a { display: flex; align-items: center; gap: .8rem; color: #fff; font-size: .88rem; font-weight: 700; }
.contact-stack i { width: 40px; height: 40px; display: grid; place-items: center; border-radius: 12px; background: rgba(255,255,255,.12); }
.contact-stack small { display: block; color: rgba(255,255,255,.55); font-size: .66rem; text-transform: uppercase; letter-spacing: .09em; margin-bottom: .15rem; }
.consultation-form { position: relative; padding: 2rem; border: 1px solid rgba(255,255,255,.2); border-radius: 24px; background: rgba(6,20,45,.34); backdrop-filter: blur(15px); }
.form-label { font-size: .74rem; font-weight: 800; color: rgba(255,255,255,.72); }
.form-control, .form-select { min-height: 52px; border-radius: 12px; border-color: rgba(255,255,255,.16); background-color: rgba(255,255,255,.11); color: #fff; font-size: .88rem; }
.form-control::placeholder { color: rgba(255,255,255,.42); }
.form-control:focus, .form-select:focus { background: rgba(255,255,255,.15); border-color: var(--cyan); color: #fff; box-shadow: 0 0 0 .2rem rgba(50,230,195,.13); }
.form-select option { color: var(--ink); }
.btn-light-cta { min-height: 54px; background: var(--cyan); color: var(--ink); border: 0; }
.btn-light-cta:hover { background: #fff; color: var(--ink); }
.form-note { text-align: center; color: rgba(255,255,255,.48); font-size: .66rem; margin-top: .8rem; }

.site-footer { padding: 76px 0 24px; background: #041d2e; color: #fff; }
.footer-brand .brand-mark { width: 46px; height: 46px; border-radius: 14px; }
.footer-brand .brand-mark img { width: 38px; height: 38px; }
.site-footer p { max-width: 410px; color: rgba(255,255,255,.5); font-size: .83rem; line-height: 1.7; margin: 1.2rem 0 0; }
.footer-title { color: var(--cyan); font-family: "Manrope", sans-serif; font-size: .77rem; letter-spacing: .12em; text-transform: uppercase; font-weight: 800; margin: .55rem 0 1.4rem; }
.footer-links { display: grid; gap: .8rem; }
.footer-links a { color: rgba(255,255,255,.68); font-size: .82rem; font-weight: 700; }
.footer-links a:hover { color: var(--cyan); }
.social-link { width: 42px; height: 42px; display: inline-grid; place-items: center; border: 1px solid rgba(255,255,255,.13); color: #fff; border-radius: 12px; margin-left: .45rem; }
.footer-social { margin-top: 1.35rem; margin-left: -.45rem; }
.social-link:hover { color: var(--ink); background: var(--cyan); border-color: var(--cyan); }
.footer-bottom { display: flex; justify-content: space-between; gap: 1rem; padding-top: 2rem; margin-top: 3rem; border-top: 1px solid rgba(255,255,255,.09); color: rgba(255,255,255,.36); font-size: .7rem; }
.footer-contact { display: grid; gap: .9rem; }
.footer-contact a { display: flex; align-items: center; gap: .75rem; color: #fff; font-size: .87rem; font-weight: 700; }
.footer-contact a:hover { color: var(--cyan); }
.footer-contact i { width: 38px; height: 38px; display: grid; place-items: center; flex: 0 0 38px; border-radius: 11px; background: rgba(255,255,255,.08); color: var(--cyan); font-size: 1rem; }
.footer-contact small { display: block; color: rgba(255,255,255,.48); font-size: .64rem; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; margin-bottom: .1rem; }
.footer-bottom a { color: rgba(255,255,255,.55); }
.footer-bottom a:hover { color: var(--cyan); }
.floating-call { position: fixed; z-index: 20; right: 22px; bottom: 22px; width: 54px; height: 54px; display: grid; place-items: center; border-radius: 50%; background: var(--cyan); color: var(--ink); font-size: 1.15rem; box-shadow: 0 12px 35px rgba(7,20,38,.25); transition: transform .25s; }
.floating-call:hover { color: var(--ink); transform: translateY(-4px) scale(1.03); }
.reveal { opacity: 0; transform: translateY(24px); transition: opacity .7s ease, transform .7s ease; }
.reveal.in-view { opacity: 1; transform: none; }

@media (max-width: 991.98px) {
  .site-header { background: rgba(7,20,38,.96); }
  .navbar { min-height: 76px; }
  .navbar-collapse { padding: 1rem 0 1.4rem; }
  .nav-link { padding: .65rem 0 !important; }
  .hero-section { min-height: auto; padding: 120px 0 100px; }
  .hero-row { min-height: auto; }
  .journey-stage { height: 500px; margin-top: 0; }
  .section-pad { padding: 90px 0; }
  .service-card p { min-height: auto; }
  .review-card.featured { transform: none; }
}

@media (max-width: 575.98px) {
  .brand-mark { width: 44px; height: 44px; border-radius: 13px; }
  .brand-mark img { width: 37px; height: 37px; }
  .navbar-brand strong { font-size: 1rem; }
  .navbar-brand small { font-size: .55rem; }
  .hero-title { font-size: 3.1rem; }
  .hero-copy { font-size: .96rem; }
  .hero-trust { gap: .8rem; }
  .journey-stage { height: 420px; margin-inline: -12px; }
  .hero-photo-card { inset: 14% 5% 16%; }
  .float-card { padding: .62rem .7rem; }
  .float-card small { display: none; }
  .float-card strong { font-size: .69rem; }
  .flag-emoji { width: 31px; height: 31px; font-size: 1rem; }
  .success-pill { top: 2%; left: 5%; }
  .float-canada { right: 2%; }
  .float-uk { left: 0; }
  .section-title { font-size: 2.45rem; }
  .section-pad { padding: 76px 0; }
  .country-tile { height: 140px; }
  .about-visual { padding: 0 24px 24px 0; }
  .about-visual > img { height: 440px; }
  .image-outline { inset: 28px 0 0 28px; }
  .about-badge { right: -2px; top: 32px; }
  .consultation-form { padding: 1.2rem; }
  .footer-bottom { flex-direction: column; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
  .reveal { opacity: 1; transform: none; }
}

/* Linked dropdown headings plus accessible desktop and mobile menus. */
@media (min-width: 992px) {
  .navbar .dropdown:hover > .dropdown-menu,
  .navbar .dropdown:focus-within > .dropdown-menu { display: block; margin-top: 0; }
}

@media (max-width: 991.98px) {
  .navbar-collapse .dropdown-menu { display: block; position: static; float: none; width: 100%; margin: 0 0 .55rem; padding: .25rem 0 .35rem 1rem; border: 0; box-shadow: none; background: transparent; }
  .navbar-collapse .dropdown-toggle::after { display: none; }
  .navbar-collapse .dropdown-item { padding: .45rem .25rem; color: rgba(255,255,255,.7); }
  .navbar-collapse .dropdown-item:hover,
  .navbar-collapse .dropdown-item:focus { color: #fff; background: transparent; }
  .navbar-collapse .menu-panel .dropdown-item i { width: 28px; height: 28px; font-size: .8rem; }
  .navbar-collapse .menu-panel .dropdown-item small { display: none; }
}

.card-link { display: inline-flex; align-items: center; gap: .45rem; margin-top: 1.2rem; color: var(--blue); font-size: .8rem; font-weight: 800; }
.destination-overview { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; margin-top: 2.5rem; }
.destination-overview a { position: relative; display: flex; flex-direction: column; min-height: 190px; padding: 1.7rem; border: 1px solid var(--line); border-radius: 22px; color: var(--ink); background: #fff; transition: .25s; }
.destination-overview a:hover { transform: translateY(-5px); box-shadow: 0 18px 45px rgba(7,20,38,.1); }
.destination-overview span { font-size: 2rem; }
.destination-overview strong { margin-top: 1rem; }
.destination-overview small { color: var(--muted); font-size: .72rem; margin-top: .25rem; }
.destination-overview > a > i { position: absolute; right: 1.5rem; top: 1.5rem; color: var(--blue); }
@media (max-width: 991.98px) { .destination-overview { grid-template-columns: 1fr 1fr; } }
@media (max-width: 575.98px) { .destination-overview { grid-template-columns: 1fr; } }
