/* ===== Advanced edition — section accents and motion ===== */

.kousha-advanced {
  --orange-soft: rgba(11, 31, 58, 0.18);
  --navy-glass: rgba(8, 22, 43, 0.55);
}

.scroll-progress {
  position: fixed;
  top: 0;
  left: 0;
  height: 3px;
  width: 0%;
  z-index: 100;
  background: linear-gradient(90deg, var(--orange), #F4F6F8, var(--orange));
  box-shadow: 0 0 16px rgba(11, 31, 58, 0.45);
  transform-origin: left center;
  pointer-events: none;
}

.page-loader {
  position: fixed;
  inset: 0;
  z-index: 200;
  display: grid;
  place-items: center;
  background: linear-gradient(160deg, #08162B 0%, #0B1F3A 55%, #0B1F3A 100%);
  transition: opacity 0.45s var(--ease), visibility 0.45s var(--ease);
}

.page-loader.is-done {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}

.page-loader-inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.85rem;
}

.page-loader-inner img {
  width: 5.5rem;
  height: 5.5rem;
  object-fit: contain;
  filter: drop-shadow(0 12px 28px rgba(0, 0, 0, 0.45));
  animation: loaderPulse 1s var(--ease) infinite alternate;
}

.page-loader-inner strong {
  font-family: var(--font);
  font-weight: 800;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: #FFFFFF;
  font-size: 0.92rem;
}

.page-loader-bar {
  display: block;
  width: 9rem;
  height: 3px;
  margin-top: 0.35rem;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.15);
  overflow: hidden;
}

.page-loader-bar i {
  display: block;
  height: 100%;
  width: 0%;
  border-radius: inherit;
  background: linear-gradient(90deg, var(--orange), #F4F6F8);
  animation: loaderBar 2s linear forwards;
}

@keyframes loaderPulse {
  from { transform: translateY(0) scale(1); }
  to { transform: translateY(-6px) scale(1.04); }
}

@keyframes loaderBar {
  from { width: 0%; }
  to { width: 100%; }
}

.site-header {
  background: transparent;
}

.site-header.is-scrolled {
  background: rgba(255, 255, 255, 0.82);
  backdrop-filter: blur(18px) saturate(1.2);
  -webkit-backdrop-filter: blur(18px) saturate(1.2);
}

.brand-mark {
  transition: transform 0.45s var(--ease);
}

.brand:hover .brand-mark {
  transform: rotate(-6deg) scale(1.05);
}

.nav a {
  position: relative;
}

.nav a:not(.nav-cta)::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -0.35rem;
  width: 100%;
  height: 2px;
  background: var(--orange);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.35s var(--ease);
}

.nav a:not(.nav-cta):hover::after {
  transform: scaleX(1);
}

.nav-cta {
  position: relative;
  overflow: hidden;
  box-shadow: 0 10px 28px rgba(11, 31, 58, 0.28);
}

.nav-cta::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(120deg, transparent 20%, rgba(255, 255, 255, 0.35) 50%, transparent 80%);
  transform: translateX(-120%);
  transition: transform 0.7s var(--ease);
}

.nav-cta:hover::before {
  transform: translateX(120%);
}

.hero {
  isolation: isolate;
}

.hero-media img {
  will-change: transform;
  animation: none;
  transform: scale(1.12);
}

.hero-overlay {
  background:
    radial-gradient(ellipse 70% 50% at 20% 80%, rgba(11, 31, 58, 0.22), transparent 55%),
    linear-gradient(180deg, rgba(8, 22, 43, 0.5) 0%, rgba(8, 22, 43, 0.28) 38%, rgba(8, 22, 43, 0.92) 100%),
    linear-gradient(90deg, rgba(8, 22, 43, 0.72) 0%, transparent 62%);
}

.hero-content {
  animation: none;
}

.hero-brand,
.hero-title-anim,
.hero-lead,
.hero-actions {
  opacity: 0;
  transform: translateY(28px);
  animation: riseIn 0.95s var(--ease) forwards;
}

.hero-brand { animation-delay: 0.35s; }
.hero-title-anim { animation-delay: 0.5s; }
.hero-lead { animation-delay: 0.65s; }
.hero-actions { animation-delay: 0.8s; }

.hero-mark {
  animation: logoFloat 5s ease-in-out infinite alternate;
}

@keyframes logoFloat {
  from { transform: translateY(0); }
  to { transform: translateY(-8px); }
}

.hero h1 {
  background: linear-gradient(180deg, #FFFFFF 20%, #F4F6F8 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  text-shadow: none;
  filter: drop-shadow(0 8px 24px rgba(0, 0, 0, 0.35));
}

.marquee {
  overflow: hidden;
  background: var(--navy-deep);
  border-block: 1px solid rgba(255, 255, 255, 0.08);
  padding: 0.9rem 0;
}

.marquee-track {
  display: flex;
  gap: 2.5rem;
  width: max-content;
  animation: marquee 32s linear infinite;
  color: rgba(255, 255, 255, 0.72);
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  font-size: 0.78rem;
}

.marquee-track span {
  white-space: nowrap;
}

.marquee-track span::before {
  content: "●";
  color: var(--orange);
  margin-right: 2.5rem;
}

@keyframes marquee {
  from { transform: translateX(0); }
  to { transform: translateX(-50%); }
}

.offer {
  position: relative;
  padding: 1.85rem 1.25rem 1.85rem 0;
  border-top: 2px solid var(--line);
  transition: transform 0.45s var(--ease), border-color 0.45s var(--ease), background 0.45s var(--ease);
  transform-style: preserve-3d;
  will-change: transform;
}

.offer:hover {
  border-color: var(--orange);
  background: linear-gradient(180deg, rgba(11, 31, 58, 0.06), transparent 70%);
}

.offer-index {
  display: block;
  font-size: 0.75rem;
  font-weight: 800;
  letter-spacing: 0.16em;
  color: var(--orange);
  margin-bottom: 0.75rem;
}

.how {
  position: relative;
  overflow: hidden;
}

.how-ambient {
  position: absolute;
  inset: -20%;
  background:
    radial-gradient(circle at 20% 30%, rgba(11, 31, 58, 0.18), transparent 40%),
    radial-gradient(circle at 80% 70%, rgba(244, 246, 248, 0.12), transparent 45%);
  animation: ambientDrift 18s ease-in-out infinite alternate;
  pointer-events: none;
}

@keyframes ambientDrift {
  from { transform: translate3d(-2%, 0, 0) scale(1); }
  to { transform: translate3d(2%, -2%, 0) scale(1.05); }
}

.steps {
  position: relative;
}

.steps::before {
  content: "";
  position: absolute;
  left: 1.35rem;
  top: 0;
  bottom: 0;
  width: 2px;
  background: linear-gradient(180deg, transparent, rgba(11, 31, 58, 0.55), transparent);
  opacity: 0.7;
}

.steps li {
  position: relative;
  transition-delay: calc(var(--i, 0) * 90ms);
}

.steps li.is-visible .step-num {
  animation: stepPop 0.55s var(--ease) both;
}

@keyframes stepPop {
  from { transform: scale(0.7); opacity: 0; }
  to { transform: scale(1); opacity: 1; }
}

.portal-visual {
  position: relative;
  transform-style: preserve-3d;
  transition: transform 0.5s var(--ease);
}

.portal-visual img {
  transition: transform 0.8s var(--ease);
}

.portal-visual:hover img {
  transform: scale(1.05);
}

.portal-shine {
  position: absolute;
  inset: 0;
  background: linear-gradient(115deg, transparent 30%, rgba(255, 255, 255, 0.28) 48%, transparent 62%);
  transform: translateX(-120%);
  transition: transform 0.9s var(--ease);
  pointer-events: none;
}

.portal-visual:hover .portal-shine {
  transform: translateX(120%);
}

.dest-card {
  position: relative;
  padding-top: 0.5rem;
  transition: transform 0.4s var(--ease);
}

.dest-card::before {
  content: "";
  position: absolute;
  left: 0;
  top: -2px;
  width: 2.5rem;
  height: 3px;
  background: var(--orange);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.45s var(--ease);
}

.dest-card.is-visible::before,
.dest-card:hover::before {
  transform: scaleX(1);
}

.stat-grid dd {
  background: linear-gradient(180deg, var(--orange-hot), var(--orange));
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}

.quote-form {
  position: relative;
}

.quote-form::before {
  content: "";
  position: absolute;
  inset: -1rem;
  border-radius: 1rem;
  background: radial-gradient(circle at top right, var(--orange-soft), transparent 55%);
  z-index: -1;
  opacity: 0.9;
}

.btn-primary {
  position: relative;
  overflow: hidden;
  box-shadow: 0 14px 34px rgba(11, 31, 58, 0.28);
}

.btn-magnetic {
  transition: transform 0.25s var(--ease), background 0.35s var(--ease), border-color 0.35s var(--ease);
}

.reveal {
  opacity: 0;
  transform: translateY(28px);
  transition: opacity 0.85s var(--ease), transform 0.85s var(--ease);
  transition-delay: calc(var(--d, 0) * 1ms);
}

.reveal.is-visible {
  opacity: 1;
  transform: translateY(0);
}

@media (prefers-reduced-motion: reduce) {
  .page-loader-inner img,
  .page-loader-bar i,
  .hero-brand,
  .hero-title-anim,
  .hero-lead,
  .hero-actions,
  .marquee-track,
  .how-ambient,
  .hero-mark {
    animation: none !important;
  }

  .reveal,
  .steps li {
    opacity: 1 !important;
    transform: none !important;
  }

  .scroll-progress {
    display: none;
  }
}

@media (max-width: 760px) {
  .steps::before {
    display: none;
  }
}

/* WhatsApp contact CTA (replaces quote form) */
.contact-whatsapp {
  padding: 0;
}

.contact-whatsapp-layout {
  position: relative;
  min-height: 28rem;
  display: grid;
  align-items: center;
  overflow: hidden;
  border-radius: 0.5rem;
}

.contact-whatsapp-visual {
  position: absolute;
  inset: 0;
}

.contact-whatsapp-visual img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transform: scale(1.06);
}

.contact-whatsapp-overlay {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(8, 22, 43, 0.88) 0%, rgba(8, 22, 43, 0.62) 55%, rgba(8, 22, 43, 0.45) 100%),
    linear-gradient(180deg, transparent 40%, rgba(8, 22, 43, 0.55) 100%);
}

.contact-whatsapp-copy {
  position: relative;
  z-index: 1;
  padding: 4.5rem 2.5rem;
  max-width: 36rem;
  color: #FFFFFF;
}

.contact-whatsapp-copy .eyebrow {
  color: var(--orange);
}

.contact-whatsapp-copy h2 {
  color: #FFFFFF;
  font-size: clamp(2rem, 4.5vw, 3.2rem);
  margin-bottom: 0.75rem;
}

.contact-whatsapp-copy p {
  color: rgba(255, 255, 255, 0.88);
  font-size: 1.05rem;
  margin-bottom: 1.5rem;
}

.whatsapp-follow-btn {
  display: inline-flex;
  align-items: center;
  gap: 0.65rem;
  padding: 1rem 1.35rem;
  border-radius: 999px;
  background: #0B1F3A;
  color: #FFFFFF !important;
  font-weight: 800;
  font-size: 1.05rem;
  box-shadow: 0 16px 36px rgba(11, 31, 58, 0.28);
  transition: transform 0.35s var(--ease), background 0.35s var(--ease);
}

.whatsapp-follow-btn:hover {
  background: #08162B;
  transform: translateY(-2px);
}

.whatsapp-follow-btn .whatsapp-icon {
  width: 1.4rem;
  height: 1.4rem;
}

.header-instagram {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.35rem;
  height: 2.35rem;
  border-radius: 999px;
  background: linear-gradient(45deg, #f09433 0%, #e6683c 25%, #dc2743 50%, #cc2366 75%, #bc1888 100%);
  color: #FFFFFF !important;
  flex-shrink: 0;
  transition: transform 0.3s var(--ease), filter 0.3s var(--ease);
}

.header-instagram:hover {
  transform: translateY(-2px) scale(1.05);
  filter: brightness(1.08);
}

.instagram-icon {
  width: 1.2rem;
  height: 1.2rem;
}

.meet-in-person {
  margin-top: 1.5rem;
  padding: 1.15rem 1.2rem;
  border: 1px solid rgba(255, 255, 255, 0.18);
  border-left: 3px solid var(--orange);
  border-radius: 0.45rem;
  background: rgba(8, 22, 43, 0.45);
  backdrop-filter: blur(8px);
  max-width: 28rem;
}

.meet-in-person-title {
  margin: 0 0 0.55rem !important;
  font-size: 0.78rem !important;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--orange) !important;
}

.meet-in-person-location {
  display: flex;
  align-items: flex-start;
  gap: 0.55rem;
  margin: 0 0 0.85rem !important;
  font-size: 1.02rem !important;
  font-weight: 700;
  color: #FFFFFF !important;
  line-height: 1.35;
}

.meet-pin {
  width: 1.15rem;
  height: 1.15rem;
  flex-shrink: 0;
  margin-top: 0.12rem;
  color: var(--orange);
}

.meet-maps-btn {
  display: inline-flex;
  align-items: center;
  padding: 0.55rem 0.9rem;
  border-radius: 999px;
  border: 1px solid rgba(255, 255, 255, 0.35);
  color: #FFFFFF !important;
  font-size: 0.88rem;
  font-weight: 700;
  transition: background 0.3s var(--ease), border-color 0.3s var(--ease);
}

.meet-maps-btn:hover {
  background: rgba(11, 31, 58, 0.2);
  border-color: var(--orange);
}

.contact-email {
  margin: 1.25rem 0 0;
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
}

.contact-email span {
  font-size: 0.75rem;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.65);
}

.contact-email a {
  color: #0B1F3A;
  font-size: 1.05rem;
  font-weight: 800;
}

.contact-email a:hover {
  color: var(--orange) !important;
}

@media (max-width: 760px) {
  .contact-whatsapp-copy {
    padding: 3.25rem 1.35rem;
  }

  .whatsapp-follow-btn {
    width: 100%;
    justify-content: center;
    text-align: center;
    font-size: 0.95rem;
  }

  .meet-in-person {
    max-width: none;
  }
}
/* Continuous destination loop and compact monochrome social marks. */
.marquee-track { gap:0; animation-duration:48s; direction:ltr; }
.marquee-group {display:flex;flex-shrink:0;gap:2.5rem;padding-inline-end:2.5rem;align-items:center}
.header-instagram,.header-youtube,.header-whatsapp {background:none;color:#FFFFFF!important;border-radius:0;padding:0;box-shadow:none}
.header-instagram,.header-youtube {width:1.65rem;height:2rem;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}
.header-youtube svg,.header-instagram svg {width:1.25rem;height:1.25rem}
.header-whatsapp {gap:.45rem}
.header-instagram:hover,.header-youtube:hover,.header-whatsapp:hover {background:none;color:var(--orange)!important;filter:none}
.site-header.is-scrolled .header-instagram,.site-header.is-scrolled .header-youtube,.site-header.is-scrolled .header-whatsapp {color:var(--navy)!important}
.contact-email a {overflow-wrap:anywhere}
.visit-note {font-size:.95rem!important;margin-bottom:1rem!important}
.visit-note a {text-decoration:underline;color:#FFFFFF}
.pointer-halo {position:fixed;left:0;top:0;width:34px;height:34px;border:1px solid var(--orange);border-radius:50%;pointer-events:none;z-index:300;opacity:0;transform:translate(-50%,-50%);transition:width .2s,height .2s,opacity .2s;background:rgba(11, 31, 58, .06)}
.pointer-halo.active {width:54px;height:54px;background:rgba(11, 31, 58, .16)}
.touch-ripple {position:fixed;width:22px;height:22px;border:2px solid var(--orange);border-radius:50%;pointer-events:none;z-index:300;animation:touchPulse .65s ease-out forwards}
@keyframes touchPulse {from{transform:translate(-50%,-50%) scale(.5);opacity:.8}to{transform:translate(-50%,-50%) scale(3);opacity:0}}
@media(max-width:1100px){.header-bar{flex-wrap:wrap;padding-block:.6rem}.brand-cluster{flex:1}.nav{gap:1rem}}
@media(max-width:760px){.header-bar{flex-wrap:nowrap;gap:.45rem}.brand-cluster{gap:.5rem}.brand-mark{width:2.3rem;height:2.3rem}.header-whatsapp{font-size:.75rem;padding:0}.header-instagram,.header-youtube{width:1.25rem}.lang-toggle{padding:.35rem}.lang-toggle #langCurrent{display:none}.contact-whatsapp-copy{max-width:100%;min-width:0}.contact-email a{font-size:.95rem}}
@media(prefers-reduced-motion:reduce){.pointer-halo,.touch-ripple{display:none}.hero-brand,.hero-title-anim,.hero-lead,.hero-actions{opacity:1;transform:none}.marquee-track{width:100%;flex-wrap:wrap}.marquee-group{flex-wrap:wrap}}

/* Pure white hero lettering and icon-only header contact. */
.hero h1 {background:none;color:#FFFFFF;-webkit-text-fill-color:#FFFFFF;}
.hero-lead {color:#FFFFFF;}
.header-whatsapp {width:1.65rem;height:2rem;justify-content:center;flex-shrink:0;}
@media(max-width:760px){.header-whatsapp{width:1.25rem;}}
/* Let longer translations wrap, and preserve contact address direction. */
.hero h1 {overflow-wrap:anywhere;line-height:1.15}
body.is-rtl .contact-whatsapp-copy,body.is-rtl .about-layout,body.is-rtl .offer,body.is-rtl .dest-card {text-align:start}
body.is-rtl .meet-in-person {border-left:1px solid rgba(255, 255, 255, .18);border-right:3px solid var(--orange)}
body.is-rtl .marquee-group span {direction:rtl;unicode-bidi:isolate}
.contact-email a {text-align:start;unicode-bidi:isolate}




/* Kousha logo with the two-axis 3D switching motion. */
.page-loader{background:linear-gradient(160deg,#08162B 0%,#0B1F3A 55%,#0B1F3A 100%);transition:opacity .22s ease,visibility .22s ease}
.peace-loader-inner{width:80px;height:80px;perspective:350px}
.peace-flip{display:block;width:80px;height:80px;object-fit:contain;background:transparent;animation:peaceFlip 1.5s ease-in-out infinite;will-change:transform;backface-visibility:visible}
@keyframes peaceFlip{0%{transform:perspective(350px) rotateX(0deg) rotateY(0deg)}50%{transform:perspective(350px) rotateX(-180deg) rotateY(0deg)}100%{transform:perspective(350px) rotateX(-180deg) rotateY(-180deg)}}
@media(prefers-reduced-motion:reduce){.peace-flip{animation:none}.page-loader{transition:none}}
@media(pointer:coarse){.pointer-halo,.touch-ripple{display:none}.hero-media img{transform:scale(1.08)!important}.hero-brand,.hero-title-anim,.hero-lead,.hero-actions{animation:none!important;opacity:1!important;transform:none!important}}



.nav-login .account-state{font-size:.65em;font-weight:500;opacity:.85;overflow-wrap:anywhere}.account-state[hidden]{display:none}

@media(max-width:1023px),(hover:none),(pointer:coarse){.pointer-halo,.touch-ripple{display:none!important}.hero-media img{will-change:auto!important}}

.pointer-halo{display:none!important}

/* Keep both identical ticker groups aligned to the same physical origin in every language. */
.marquee { direction:ltr; }
.marquee-track { direction:ltr; flex-direction:row; justify-content:flex-start; margin:0; will-change:transform; }
.marquee-group { box-sizing:border-box; min-width:100vw; justify-content:space-around; }
@media(prefers-reduced-motion:reduce){.marquee-track{will-change:auto}.marquee-group[aria-hidden="true"]{display:none}}

.port-photo-gallery{max-width:1320px;margin:0 auto;padding:0 clamp(20px,4vw,64px) 72px;position:relative}.port-photo-grid{display:grid;grid-template-columns:1.45fr 1fr;gap:20px}.port-photo-grid figure{margin:0;overflow:hidden;border-radius:18px;background:#08162B;aspect-ratio:1.48}.port-photo-grid img{width:100%;height:100%;object-fit:cover;display:block}.port-photo-grid figure:first-child{aspect-ratio:2.14}.port-photo-credits{font-size:11px;color:#0B1F3A;text-align:end;margin-top:10px}.port-photo-credits summary{cursor:pointer;display:inline-block}.port-photo-credits p{line-height:1.7}.port-photo-credits a{color:inherit}@media(max-width:640px){.port-photo-gallery{padding-bottom:40px}.port-photo-grid{grid-template-columns:1fr;gap:12px}.port-photo-grid figure,.port-photo-grid figure:first-child{aspect-ratio:1.7}}

.flag-destinations{background:#FFFFFF}.destination-flags{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:18px}.destination-flag-card{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;min-height:150px;padding:24px 12px;border:1px solid #CCD4DE;border-radius:16px;background:#F4F6F8;text-align:center;font-weight:700;color:#0B1F3A}.destination-flag{font-size:58px;line-height:1.15;font-family:"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji",sans-serif;font-weight:400}@media(max-width:900px){.destination-flags{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:540px){.destination-flags{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.destination-flag-card{min-height:130px;padding:20px 8px;font-size:14px}.destination-flag{font-size:48px}}

/* Destination showcase: lightweight, no moving layers or blur. */
.flag-destinations{background:linear-gradient(125deg,#08162B,#0B1F3A);color:#FFFFFF;position:relative;border-top:1px solid #0B1F3A;border-bottom:1px solid #0B1F3A;padding-block:clamp(60px,7vw,104px)}
.destination-intro{display:flex;align-items:center;justify-content:space-between;gap:40px;margin-bottom:42px}.flag-destinations .section-head{max-width:730px;margin:0}.flag-destinations .eyebrow{color:#F4F6F8}.flag-destinations h2{color:#FFFFFF;font-size:clamp(32px,4vw,54px);line-height:1.12;letter-spacing:-.035em;max-width:700px}.flag-destinations .section-head>p:last-child{color:#F4F6F8;max-width:580px;margin-top:20px}.destination-origin{display:flex;align-items:center;gap:12px;flex-shrink:0;padding:22px 24px;border:1px solid #0B1F3A;border-radius:18px;background:#ffffff06}.destination-origin>span{font-size:30px}.destination-origin strong{font-size:14px;letter-spacing:.12em}.destination-origin i{color:#F4F6F8;font-size:26px;font-style:normal}.destination-origin b{font-size:40px;font-weight:500;line-height:1}.destination-flags{grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.destination-flag-card{position:relative;border:1px solid #ffffff1c;background:#ffffff05;border-radius:14px;color:#F4F6F8;min-height:150px;gap:18px;padding:24px 12px;font-size:14px;font-weight:600}.destination-flag-card:nth-child(even){background:#ffffff08}.destination-flag{font-size:56px;filter:none}.destination-flag-card:after{content:"";height:2px;width:20px;border-radius:2px;background:#0B1F3A;opacity:.6}.destination-flag-card:last-child{grid-column:auto}@media(hover:hover) and (pointer:fine){.destination-flag-card{transition:background .18s ease,border-color .18s ease}.destination-flag-card:hover{background:#ffffff10;border-color:#0B1F3A}}
@media(max-width:1000px){.destination-intro{gap:24px}.destination-origin{padding:16px}.destination-flags{grid-template-columns:repeat(4,minmax(0,1fr))}.destination-origin b{font-size:32px}}@media(max-width:700px){.destination-intro{display:block;margin-bottom:28px}.destination-origin{margin-top:26px;width:fit-content;gap:16px;padding:12px 18px}.destination-origin b{font-size:28px}.destination-origin>span{font-size:25px}.destination-flags{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.destination-flag-card{min-height:136px;font-size:12px;padding:18px 7px;gap:14px}.destination-flag{font-size:43px}.flag-destinations h2{font-size:36px}}@media(max-width:380px){.destination-flags{grid-template-columns:repeat(2,minmax(0,1fr))}}

.destination-flag img{display:block;width:84px;height:56px;object-fit:cover;border-radius:5px;box-shadow:0 5px 16px #0004}.destination-flag{line-height:1}.trust-layout{display:grid;grid-template-columns:1.3fr 1fr;gap:48px;align-items:start}.company-trust{background:#F4F6F8}.company-trust h2{font-size:clamp(28px,3vw,40px);line-height:1.2}.company-trust p{color:#0B1F3A;line-height:1.8}.company-trust address{font-style:normal;border-inline-start:3px solid #0B1F3A;padding-inline-start:26px}.company-trust address a{display:inline-block;margin:8px 0;color:#0B1F3A}.legal-links{display:flex;gap:20px;font-size:13px}.floating-whatsapp{position:fixed;bottom:calc(20px + env(safe-area-inset-bottom));right:20px;z-index:9999;display:flex;align-items:center;justify-content:center;width:58px;height:58px;border-radius:50%;background:#0B1F3A;color:#FFFFFF;box-shadow:0 5px 20px #0003;border:2px solid #FFFFFF}.floating-whatsapp svg{width:38px;height:38px}.floating-whatsapp:focus-visible{outline:3px solid #F4F6F8;outline-offset:4px}@media(max-width:700px){.trust-layout{grid-template-columns:1fr;gap:24px}.destination-flag img{width:66px;height:44px}.legal-links{flex-wrap:wrap}.site-footer{padding-bottom:90px}}

.portal-layout,.contact-whatsapp-layout{grid-template-columns:1fr}.portal-layout>div,.contact-whatsapp-copy{max-width:900px}.company-trust .eyebrow{letter-spacing:.14em}

/* Readable contact colors on the light section, in every locale. */
.contact-whatsapp{background:#FFFFFF}.contact-whatsapp-copy{color:#0B1F3A}.contact-whatsapp-copy h2{color:#0B1F3A}.contact-whatsapp-copy p{color:#0B1F3A}.contact-whatsapp-copy .eyebrow{color:#0B1F3A}.contact-whatsapp-copy .contact-email>span{color:#0B1F3A}.contact-whatsapp-copy .contact-email a{color:#0B1F3A;text-decoration:underline;text-underline-offset:4px}.contact-whatsapp-copy .meet-in-person{background:#FFFFFF;border:1px solid #CCD4DE;border-inline-start:4px solid #0B1F3A;box-shadow:none}.contact-whatsapp-copy .meet-in-person p,.contact-whatsapp-copy .visit-note a,.contact-whatsapp-copy .meet-in-person-location{color:#0B1F3A}.contact-whatsapp-copy .meet-maps-btn{color:#0B1F3A;border-color:#CCD4DE;background:#FFFFFF}.contact-whatsapp-copy .meet-maps-btn:hover{color:#FFFFFF;background:#0B1F3A}.contact-whatsapp-copy .whatsapp-follow-btn{background:#0B1F3A;color:#FFFFFF;box-shadow:none}.contact-whatsapp-copy .whatsapp-follow-btn:hover{background:#08162B;color:#FFFFFF}.contact-whatsapp-copy a:focus-visible{outline:3px solid #0B1F3A;outline-offset:4px}.contact-whatsapp-copy .meet-in-person h3,.contact-whatsapp-copy .meet-in-person .eyebrow{color:#0B1F3A}

/* Explicit overrides for legacy white office labels. */
.contact-whatsapp-copy .meet-in-person .meet-in-person-location,.contact-whatsapp-copy .meet-in-person .meet-in-person-location span,.contact-whatsapp-copy .meet-in-person .meet-maps-btn{color:#0B1F3A!important}.contact-whatsapp-copy .meet-in-person .meet-maps-btn:hover{color:#FFFFFF!important;background:#0B1F3A}.contact-whatsapp-copy .meet-in-person{backdrop-filter:none}

/* Compact outline contact mark, visible only after loading finishes. */
.floating-whatsapp{width:48px;height:48px;background:transparent;border:0;border-radius:0;box-shadow:none;color:#0B1F3A;z-index:900;right:22px;bottom:calc(22px + env(safe-area-inset-bottom));padding:4px;visibility:hidden;opacity:0;pointer-events:none}.floating-whatsapp.is-ready{visibility:visible;opacity:1;pointer-events:auto}.floating-whatsapp svg{width:40px;height:40px;display:block;filter:drop-shadow(0 1px 1px #0003)}.floating-whatsapp:hover{color:#08162B;background:transparent}.floating-whatsapp:focus-visible{outline:2px solid #0B1F3A;outline-offset:3px;border-radius:8px}html[aria-busy="true"] .floating-whatsapp{visibility:hidden!important;opacity:0!important;pointer-events:none!important}

/* Simple flag and name destination list, inspired by the reference. */
.flag-destinations{background:#FFFFFF;color:#0B1F3A;border:0;padding-block:72px}.destination-intro{display:block;margin:0 auto 36px;text-align:center}.flag-destinations .section-head{max-width:850px;margin:0 auto}.flag-destinations h2{color:#0B1F3A;max-width:none;font-size:clamp(30px,3.3vw,46px);letter-spacing:-.025em;line-height:1.2}.flag-destinations .section-head>p:last-child{color:#0B1F3A;margin-inline:auto}.flag-destinations .eyebrow{color:#0B1F3A}.destination-flags{display:flex;flex-wrap:wrap;justify-content:center;align-items:flex-start;gap:26px 32px;max-width:1080px;margin:0 auto}.destination-flag-card,.destination-flag-card:nth-child(even){width:110px;min-height:100px;flex:0 0 110px;display:flex;flex-direction:column;gap:14px;padding:0;margin:0;background:transparent;border:0;border-radius:0;box-shadow:none;color:#0B1F3A;font-size:15px;font-weight:500;line-height:1.4}.destination-flag-card:after{display:none}.destination-flag img{width:75px;height:45px;object-fit:fill;border:1px solid #CCD4DE;border-radius:0;box-shadow:none}.destination-flag-card:hover{background:transparent;border:0}.destination-flag{display:block;font-size:0}.destination-origin{display:none}@media(max-width:700px){.flag-destinations{padding-block:48px}.destination-flags{gap:22px 12px}.destination-flag-card,.destination-flag-card:nth-child(even){width:100px;flex-basis:100px;min-height:100px;font-size:14px;padding:0;gap:13px}.destination-flag img{width:75px;height:45px}.flag-destinations h2{font-size:32px}}

/* Uniform flag canvases and label baselines; no internal SVG letterboxing. */
.destination-flags{gap:28px 24px;align-items:flex-start}.destination-flag-card,.destination-flag-card:nth-child(even){flex:0 0 120px;width:120px;min-height:112px;gap:14px;justify-content:flex-start}.destination-flag{display:block;width:80px;height:48px;flex:0 0 48px;overflow:hidden;line-height:0;border:1px solid #CCD4DE;box-sizing:content-box}.destination-flag img{display:block;width:80px;height:48px;object-fit:fill;border:0;border-radius:0;box-shadow:none}.destination-flag-card>span:last-child{display:flex;align-items:flex-start;justify-content:center;width:100%;min-height:42px;line-height:1.4;text-align:center;overflow-wrap:normal}@media(max-width:700px){.destination-flags{gap:24px 12px;max-width:480px;margin-inline:auto}.destination-flag-card,.destination-flag-card:nth-child(even){flex:0 0 calc((100% - 24px)/3);width:calc((100% - 24px)/3);min-height:110px;gap:13px;font-size:14px}.destination-flag,.destination-flag img{width:72px;height:44px}.destination-flag{flex-basis:44px}.destination-flag-card>span:last-child{min-height:40px;font-size:clamp(11px,3.2vw,14px)}}
