.brand-logo {
  width: 54px;
  height: 54px;
  object-fit: contain;
  flex: 0 0 auto;
}

footer .brand-logo {
  width: 66px;
  height: 66px;
  filter: drop-shadow(0 4px 12px rgba(75, 174, 201, 0.18));
}

.study {
  background: linear-gradient(145deg, #0f3144, #123f56 60%, #155972);
}

.service-card.featured {
  background: linear-gradient(145deg, #126f8d, #155972);
}

.consultation {
  background: linear-gradient(135deg, #54b4cc, #8ecddb);
}

@media (max-width: 720px) {
  .brand-logo {
    width: 46px;
    height: 46px;
  }
}

.conversion-ribbon {
  max-width: 1280px;
  margin: 2rem auto 0;
  padding: 1.15rem 1.35rem;
  border: 1px solid var(--line);
  border-radius: 18px;
  background: white;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.5rem;
  box-shadow: 0 18px 45px rgba(18, 76, 98, 0.08);
}

.conversion-ribbon > div { display: flex; align-items: center; gap: .75rem; flex-wrap: wrap; }
.conversion-ribbon > div > span:last-child { color: var(--muted); font-size: .9rem; }
.pulse { width: 9px; height: 9px; border-radius: 50%; background: var(--coral); box-shadow: 0 0 0 7px rgba(75,174,201,.14); }

.prep-visual {
  margin-top: 1rem;
  border-radius: 26px;
  overflow: hidden;
  background: white;
  display: grid;
  grid-template-columns: 1.15fr .85fr;
  min-height: 430px;
}

.prep-visual img { height: 100%; object-fit: cover; }
.prep-visual-copy { padding: 3.5rem; display: flex; flex-direction: column; justify-content: center; align-items: flex-start; }
.prep-visual-copy h3 { font: 500 2.7rem/1.05 "Newsreader", serif; margin: .7rem 0 1rem; }
.prep-visual-copy p { color: var(--muted); margin-bottom: 1.5rem; }

.uk-feature { padding: 0; isolation: isolate; }
.uk-feature > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: -3; }
.destination-overlay { position: absolute; inset: 0; z-index: -2; background: linear-gradient(90deg, rgba(8,36,51,.9), rgba(8,36,51,.36) 72%, rgba(8,36,51,.1)); }
.uk-feature:after { display: none; }
.uk-feature .country-index { position: absolute; top: 2rem; left: 2rem; z-index: 2; }
.destination-content { position: absolute; left: 2rem; right: 2rem; bottom: 2rem; z-index: 2; }
.destination-content h3 { text-shadow: 0 3px 22px rgba(0,0,0,.32); }
.destination-badge { display: inline-flex; background: rgba(255,255,255,.15); border: 1px solid rgba(255,255,255,.32); backdrop-filter: blur(8px); border-radius: 99px; padding: .4rem .7rem; font-size: .68rem; text-transform: uppercase; letter-spacing: .1em; margin-bottom: 1.2rem; }

.form-heading { border-bottom: 1px solid var(--line); padding-bottom: 1.2rem; margin-bottom: .2rem; }
.form-heading span, .form-heading strong { display: block; }
.form-heading span { color: var(--plum); text-transform: uppercase; letter-spacing: .12em; font-size: .7rem; font-weight: 700; }
.form-heading strong { font: 500 1.7rem "Newsreader", serif; margin-top: .25rem; }
.mobile-conversion { display: none; }

.destination-marquee { overflow: hidden; transform: none; margin-left: calc(-1 * max(5vw, (100vw - 1400px)/2)); margin-right: calc(-1 * max(5vw, (100vw - 1400px)/2)); }
.marquee-track { display: flex; width: max-content; animation: country-scroll 30s linear infinite; will-change: transform; }
.marquee-group { display: flex; align-items: center; gap: 2rem; padding-right: 2rem; }
.destination-marquee:hover .marquee-track { animation-play-state: paused; }
@keyframes country-scroll { from { transform: translateX(0); } to { transform: translateX(-50%); } }
.destination-feature.is-changing img { opacity: .35; transform: scale(1.025); }
.uk-feature > img { transition: opacity .28s ease, transform .55s ease; }
.destination-option { cursor: pointer; transition: background .2s ease, padding .2s ease; border-radius: 16px; }
.destination-option:hover, .destination-option:focus-visible, .destination-option.active { background: rgba(255,255,255,.065); padding-left: 1rem; padding-right: 1rem; outline: none; }
.destination-option.active h3 { color: #76c8dc; }
.destination-arrow { width: 42px; height: 42px; border: 1px solid #376779; border-radius: 50%; display: grid; place-items: center; }
.opp { padding: 0; overflow: hidden; min-height: 560px; }
.opp > div:last-child { padding: 1.7rem 2rem 2rem; display: flex; flex-direction: column; align-items: flex-start; flex: 1; }
.opp > div:last-child a { margin-top: auto; }
.opp-image { height: 230px; position: relative; overflow: hidden; }
.opp-image:after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 48%, rgba(8,36,51,.5)); }
.opp-image img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s ease; }
.opp:hover .opp-image img { transform: scale(1.045); }
.opp-image > span { position: absolute; top: 1rem; left: 1.2rem; z-index: 2; width: 42px; height: 42px; display: grid; place-items: center; border-radius: 50%; background: rgba(247,252,253,.9); color: var(--deep); font: 600 1rem "Newsreader",serif; }

@media (prefers-reduced-motion: reduce) { .marquee-track { animation-play-state: paused; } }

@media (max-width: 1050px) {
  .conversion-ribbon { margin-left: 7vw; margin-right: 7vw; }
  .prep-visual { grid-template-columns: 1fr; }
  .prep-visual img { height: 430px; }
}

@media (max-width: 720px) {
  body { padding-bottom: 66px; }
  .conversion-ribbon { margin: 1.5rem 6vw 0; align-items: flex-start; flex-direction: column; }
  .prep-visual img { height: 300px; }
  .prep-visual-copy { padding: 2rem; }
  .prep-visual-copy h3 { font-size: 2.1rem; }
  .destination-feature { min-height: 540px; }
  .destination-content { left: 1.3rem; right: 1.3rem; bottom: 1.3rem; }
  .destination-content h3 { font-size: 3rem; }
  .whatsapp-float { display: none; }
  .mobile-conversion { position: fixed; left: 0; right: 0; bottom: 0; z-index: 90; display: grid; grid-template-columns: 1fr 1.25fr; padding: .65rem; background: rgba(247,252,253,.96); backdrop-filter: blur(12px); border-top: 1px solid var(--line); gap: .5rem; }
  .mobile-conversion a { display: grid; place-items: center; border: 1px solid var(--plum); border-radius: 99px; padding: .7rem .5rem; color: var(--plum); font-size: .78rem; font-weight: 700; }
  .mobile-conversion a:last-child { background: var(--plum); color: white; }
}
