:root{
  --navy:#06265c;
  --navy-2:#0a3d80;
  --green:#169b45;
  --lime:#45ad22;
  --text:#10264b;
  --muted:#5d6b82;
  --line:#dfe8f0;
  --soft:#f5f9fc;
  --white:#fff;
  --shadow:0 14px 36px rgba(11,41,84,.10);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Inter,Arial,sans-serif;color:var(--text);background:#fff;line-height:1.55}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
.container{width:min(1240px,92%);margin:auto}

.site-header{position:sticky;top:0;z-index:50;background:#fff;border-bottom:1px solid var(--line)}
.nav-wrap{height:126px;display:flex;align-items:center;justify-content:space-between;gap:28px}
.brand{display:flex;align-items:center;flex:0 0 305px}
.brand img{width:295px;height:100px;object-fit:contain;object-position:left center}
.main-nav{display:flex;align-items:center;gap:29px;font-size:14px;font-weight:700;white-space:nowrap}
.main-nav a{padding:14px 0;position:relative}
.main-nav a.active,.main-nav a:hover{color:var(--green)}
.main-nav a.active:after{content:"";position:absolute;left:0;right:0;bottom:4px;height:3px;background:var(--green);border-radius:4px}
.nav-cta{padding:14px 20px!important;border-radius:8px;background:var(--green);color:#fff!important;box-shadow:0 8px 18px rgba(22,155,69,.18)}
.nav-cta:after{display:none!important}
.menu-toggle{display:none;background:none;border:0;padding:8px}
.menu-toggle span{display:block;width:27px;height:2px;background:var(--navy);margin:5px}

.hero{background:linear-gradient(90deg,#f7fbff 0%,#f7fbff 34%,#eef8ff 100%);border-bottom:1px solid var(--line);overflow:hidden}
.hero-grid{display:grid;grid-template-columns:42% 58%;min-height:620px;align-items:stretch}
.hero-copy{padding:54px 34px 48px 0;display:flex;flex-direction:column;justify-content:center;position:relative;z-index:2}
.eyebrow,.section-kicker{display:block;text-transform:uppercase;letter-spacing:.08em;font-size:14px;font-weight:800;color:var(--green);margin-bottom:16px}
.hero h1{font-size:clamp(46px,4.15vw,67px);line-height:1.01;letter-spacing:-.045em;margin:0 0 24px;max-width:570px;color:var(--navy)}
.hero h1 em{font-style:normal;color:var(--lime)}
.hero-copy p{font-size:17px;line-height:1.65;color:#324967;margin:0 0 26px;max-width:530px}
.hero-actions{display:flex;gap:16px;flex-wrap:wrap}
.button{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:0 23px;border-radius:8px;font-weight:800;border:1px solid transparent;cursor:pointer}
.button.primary{background:linear-gradient(135deg,#27b653,var(--green));color:#fff}
.button.secondary{background:#fff;color:var(--green);border-color:var(--green)}
.hero-notes{display:flex;gap:10px;flex-wrap:wrap;margin-top:22px}
.hero-notes span{font-size:12px;border:1px solid #d5e3ed;background:rgba(255,255,255,.9);padding:7px 10px;border-radius:999px;color:#45607c}
.hero-visual{position:relative;min-height:620px;overflow:hidden;background:#eef8ff}
.hero-visual img{width:100%;height:100%;object-fit:cover;object-position:center center}
.hero-visual:before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,#f7fbff 0%,rgba(247,251,255,.85) 9%,rgba(247,251,255,.1) 25%,transparent 44%);pointer-events:none}
.licence-card{display:none}

.service-strip{background:#fff;border-bottom:1px solid var(--line)}
.service-strip-grid{display:grid;grid-template-columns:repeat(4,1fr)}
.service-strip article{display:flex;gap:16px;align-items:center;padding:25px 20px;border-right:1px solid var(--line)}
.service-strip article:last-child{border-right:0}
.service-icon{width:54px;height:54px;border-radius:50%;display:grid;place-items:center;background:#eef8ee;font-size:24px;flex:none}
.service-strip h3{margin:0 0 3px;font-size:16px;color:var(--navy)}
.service-strip p{margin:0;color:var(--muted);font-size:13px}

.stats-band{display:none}
.section{padding:82px 0}
.section-soft{background:var(--soft)}
.split{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:start}
.section h2{font-size:clamp(34px,3.2vw,50px);line-height:1.12;letter-spacing:-.03em;margin:0 0 20px;color:var(--navy)}
.section p{color:var(--muted);font-size:16px}
.cards{display:grid;gap:22px;margin-top:34px}
.cards.four{grid-template-columns:repeat(4,1fr)}
.cards.three{grid-template-columns:repeat(3,1fr)}
.card{padding:26px;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:0 10px 24px rgba(8,40,85,.05)}
.card h3{margin-top:0;color:var(--navy)}
.dark-section{background:linear-gradient(135deg,var(--navy),var(--navy-2));color:#fff}
.dark-section h2{color:#fff}.dark-section p{color:#d2def0}.section-kicker.light{color:#8bdd5c}
.steps{list-style:none;padding:0;margin:0;display:grid;gap:18px}
.steps li{display:flex;gap:15px;border-bottom:1px solid rgba(255,255,255,.16);padding-bottom:18px}
.steps li>span{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:var(--green);font-weight:800;flex:none}
.steps p{margin:4px 0 0}
.panel{padding:32px;border:1px solid var(--line);border-radius:16px;background:var(--soft)}
.section-intro{max-width:820px}
.fx-cta{margin-top:28px;padding:23px 26px;border-radius:14px;background:var(--navy);color:#fff;display:flex;align-items:center;justify-content:space-between;gap:20px}
.fx-cta strong,.fx-cta span{display:block}.fx-cta span{color:#cdd9ea;margin-top:4px}
.regulation-row{margin:28px auto 0;max-width:640px;padding:15px 20px;background:#fff;border:1px solid var(--line);border-radius:12px;display:flex;align-items:center;justify-content:center;gap:18px}
.regulation-row img{width:135px;height:60px;object-fit:contain}.regulation-row strong,.regulation-row span{display:block}.regulation-row span{font-size:13px;color:var(--muted)}
.contact-form{display:grid;gap:15px;padding:28px;background:var(--soft);border:1px solid var(--line);border-radius:16px}
.contact-form label{display:grid;gap:7px;font-size:14px;font-weight:700}.contact-form input,.contact-form select,.contact-form textarea{width:100%;padding:12px 13px;border:1px solid #c9d6e1;border-radius:8px;font:inherit;background:#fff}.form-note{font-size:12px!important;margin:0}
footer{background:#04183f;color:#fff;padding:54px 0 22px}.footer-grid{display:grid;grid-template-columns:2fr repeat(3,1fr);gap:38px}.footer-logo{width:240px;background:#fff;border-radius:8px;padding:7px}footer h3{font-size:16px}footer a{display:block;color:#ccd8e9;margin:8px 0}.footer-bottom{display:flex;justify-content:space-between;border-top:1px solid rgba(255,255,255,.16);padding-top:20px;margin-top:34px;color:#aebbd0;font-size:13px}

@media(max-width:1080px){
  .menu-toggle{display:block}.main-nav{display:none;position:absolute;top:92px;left:0;right:0;flex-direction:column;align-items:flex-start;background:#fff;padding:20px 4%;box-shadow:var(--shadow)}.main-nav.open{display:flex}.nav-wrap{height:104px}.brand img{width:245px;height:82px}
  .hero-grid{grid-template-columns:1fr}.hero-copy{padding:50px 0 30px}.hero-visual{min-height:450px}.service-strip-grid,.cards.four,.cards.three{grid-template-columns:repeat(2,1fr)}.split{grid-template-columns:1fr}.footer-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:650px){
  .container{width:min(92%,600px)}.nav-wrap{height:88px}.main-nav{top:88px}.brand{flex-basis:220px}.brand img{width:215px}.hero h1{font-size:43px}.hero-copy p{font-size:15px}.hero-visual{min-height:310px}.service-strip-grid,.cards.four,.cards.three,.footer-grid{grid-template-columns:1fr}.service-strip article{border-right:0;border-bottom:1px solid var(--line)}.fx-cta{flex-direction:column;align-items:flex-start}.regulation-row{flex-direction:column;text-align:center}.footer-bottom{display:grid;gap:8px}
}


/* Version 7: larger, tightly cropped header logo */
.nav-wrap{
  height:132px;
  gap:20px;
}
.brand{
  flex:0 0 340px;
  min-width:340px;
}
.brand img{
  width:338px;
  height:112px;
  object-fit:contain;
  object-position:left center;
}
.main-nav{
  gap:24px;
}
@media(max-width:1180px){
  .brand{flex-basis:300px;min-width:300px}
  .brand img{width:295px;height:98px}
  .main-nav{gap:19px;font-size:13px}
}
@media(max-width:1080px){
  .brand{flex-basis:270px;min-width:270px}
  .brand img{width:265px;height:90px}
}
@media(max-width:650px){
  .brand{flex-basis:235px;min-width:235px}
  .brand img{width:230px;height:76px}
}


/* Version 8: final approved hero banner */
.hero-banner{
  position:relative;
  display:block;
  width:100%;
  overflow:hidden;
  background:#07395b;
  border-bottom:1px solid var(--line);
}
.hero-banner-image{
  display:block;
  width:100%;
  height:auto;
  object-fit:contain;
}
.hero-banner-actions{
  position:absolute;
  left:50%;
  bottom:34px;
  transform:translateX(-50%);
  display:flex;
  gap:16px;
  align-items:center;
  justify-content:flex-start;
  pointer-events:none;
}
.hero-banner-actions .button{
  pointer-events:auto;
  min-width:176px;
  box-shadow:0 10px 26px rgba(0,25,55,.34);
}
.hero-banner-actions .secondary{
  background:rgba(255,255,255,.96);
  color:var(--navy);
  border-color:#fff;
}
.hero-banner-actions .secondary:hover{
  background:#fff;
}
@media(max-width:1080px){
  .hero-banner-actions{
    bottom:22px;
  }
  .hero-banner-actions .button{
    min-width:156px;
    min-height:44px;
    padding:0 18px;
  }
}
@media(max-width:760px){
  .hero-banner{
    padding-bottom:82px;
  }
  .hero-banner-actions{
    bottom:16px;
    justify-content:center;
    gap:10px;
  }
  .hero-banner-actions .button{
    min-width:142px;
    min-height:44px;
    font-size:13px;
    padding:0 14px;
  }
}
@media(max-width:420px){
  .hero-banner{
    padding-bottom:126px;
  }
  .hero-banner-actions{
    flex-direction:column;
    bottom:14px;
  }
  .hero-banner-actions .button{
    width:190px;
  }
}

/* Version 9: prevent laptop-width clipping and keep the full banner visible */
html, body{
  max-width:100%;
  overflow-x:hidden;
}
.site-header,
main,
footer{
  width:100%;
  max-width:100%;
}
.nav-wrap{
  width:min(1320px,96%);
  height:122px;
  gap:18px;
}
.brand{
  flex:0 1 310px;
  min-width:230px;
  max-width:310px;
}
.brand img{
  width:100%;
  height:104px;
}
.main-nav{
  gap:20px;
  min-width:0;
  font-size:13px;
}
.hero-banner{
  width:100%;
  max-width:100%;
}
.hero-banner-image{
  width:100%;
  max-width:100%;
  height:auto;
}
.hero-banner-actions{
  left:max(4%, calc((100vw - 1240px)/2));
  transform:none;
  justify-content:flex-start;
}

/* Switch to the compact menu before the header becomes wider than a laptop screen. */
@media(max-width:1320px){
  .menu-toggle{display:block;flex:0 0 auto}
  .main-nav{
    display:none;
    position:absolute;
    top:112px;
    left:0;
    right:0;
    width:100%;
    flex-direction:column;
    align-items:flex-start;
    gap:4px;
    background:#fff;
    padding:20px 4%;
    box-shadow:var(--shadow);
    white-space:normal;
  }
  .main-nav.open{display:flex}
  .main-nav a{width:100%;padding:10px 0}
  .nav-cta{width:auto!important;padding:12px 18px!important}
  .brand{
    flex:0 1 330px;
    min-width:0;
    max-width:330px;
  }
}
@media(max-width:760px){
  .nav-wrap{height:94px;width:94%}
  .brand{max-width:250px}
  .brand img{height:78px}
  .main-nav{top:94px}
  .hero-banner-actions{
    left:50%;
    transform:translateX(-50%);
    width:92%;
    justify-content:center;
  }
}


/* Version 10: content and laptop-layout refinements */
@media (min-width: 1081px) {
  .menu-toggle {
    display: none !important;
  }
  .main-nav {
    display: flex !important;
    position: static !important;
    transform: none !important;
    opacity: 1 !important;
    visibility: visible !important;
  }
}
@media (max-width: 1080px) {
  .menu-toggle {
    display: inline-flex;
  }
}
@media (min-width: 1081px) and (max-width: 1280px) {
  .nav-wrap {
    gap: 16px;
  }
  .brand {
    flex-basis: 260px;
    min-width: 260px;
  }
  .brand img {
    width: 255px;
    height: 88px;
  }
  .main-nav {
    gap: 16px;
    font-size: 12.5px;
  }
  .main-nav a {
    white-space: nowrap;
  }
  .nav-cta {
    padding-inline: 16px;
  }
}
.hero-banner,
.hero {
  min-height: auto !important;
}
.hero-banner {
  aspect-ratio: 16 / 9;
  background-size: contain !important;
  background-position: center top !important;
  background-color: #063c61;
}
.hero-banner-inner {
  padding-bottom: 22px !important;
}
.services-grid {
  grid-template-columns: repeat(5, minmax(0, 1fr));
}
.feature-strip {
  grid-template-columns: repeat(5, minmax(0, 1fr));
}
@media (max-width: 1180px) {
  .services-grid,
  .feature-strip {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 680px) {
  .services-grid,
  .feature-strip {
    grid-template-columns: 1fr;
  }
  .hero-banner {
    aspect-ratio: auto;
    min-height: 560px !important;
    background-size: auto 100% !important;
    background-position: 48% top !important;
  }
}


/* Version 11: keep full navigation visible on laptops */
@media (min-width: 901px) {
  .menu-toggle {
    display: none !important;
  }

  .main-nav {
    display: flex !important;
    position: static !important;
    inset: auto !important;
    width: auto !important;
    max-height: none !important;
    padding: 0 !important;
    margin: 0 !important;
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
    flex-direction: row !important;
    align-items: center !important;
    background: transparent !important;
    box-shadow: none !important;
    border: 0 !important;
    gap: 13px !important;
    font-size: 12px !important;
  }

  .main-nav a {
    display: inline-flex !important;
    width: auto !important;
    padding: 10px 2px !important;
    white-space: nowrap !important;
  }

  .nav-wrap {
    min-height: 112px !important;
    height: auto !important;
    gap: 14px !important;
  }

  .brand {
    flex: 0 0 225px !important;
    min-width: 225px !important;
  }

  .brand img {
    width: 220px !important;
    height: 82px !important;
    object-fit: contain !important;
    object-position: left center !important;
  }

  .nav-cta {
    padding: 12px 14px !important;
    font-size: 12px !important;
    white-space: nowrap !important;
  }
}

@media (min-width: 1100px) {
  .main-nav {
    gap: 18px !important;
    font-size: 13px !important;
  }

  .brand {
    flex-basis: 265px !important;
    min-width: 265px !important;
  }

  .brand img {
    width: 260px !important;
    height: 92px !important;
  }

  .nav-cta {
    padding: 13px 18px !important;
    font-size: 13px !important;
  }
}

@media (max-width: 900px) {
  .menu-toggle {
    display: inline-flex !important;
  }
}


/* Version 12: functional navigation and active states */
html {
  scroll-behavior: smooth;
  scroll-padding-top: 120px;
}
[id] {
  scroll-margin-top: 120px;
}
.main-nav a {
  position: relative;
}
.main-nav a.active {
  color: #169447 !important;
  font-weight: 700;
}
.main-nav a.active::after {
  content: "";
  position: absolute;
  left: 2px;
  right: 2px;
  bottom: 2px;
  height: 2px;
  background: #169447;
  border-radius: 99px;
}
@media (max-width: 900px) {
  html {
    scroll-padding-top: 92px;
  }
  [id] {
    scroll-margin-top: 92px;
  }
}

.account-link{font-weight:800;color:#07395b;white-space:nowrap}.account-register{padding:11px 15px;border-radius:9px;color:#fff!important;background:#159447}@media(max-width:900px){.account-link{display:none}}

/* Version 22: clearly visible staff-login access */
.staff-login-button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:11px 15px;
  margin-left:8px;
  border:1px solid #07395b;
  border-radius:9px;
  color:#07395b!important;
  background:#ffffff;
  font-weight:800;
  white-space:nowrap;
}
.staff-login-button:hover{
  color:#ffffff!important;
  background:#07395b;
}
.staff-login-fallback{
  position:absolute;
  right:24px;
  top:24px;
}
.staff-login-panel{
  padding:30px 0;
  color:#ffffff;
  background:linear-gradient(120deg,#052f50,#0b5b71 65%,#168551);
}
.staff-login-panel-inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
}
.staff-login-panel span{
  display:block;
  margin-bottom:5px;
  color:#a7efbe;
  font-size:.77rem;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.staff-login-panel h2{
  margin:0 0 7px;
  color:#ffffff;
}
.staff-login-panel p{
  margin:0;
  color:#ffffffcc;
}
.staff-login-panel-button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:180px;
  padding:14px 20px;
  border-radius:10px;
  color:#07395b!important;
  background:#ffffff;
  font-weight:800;
  text-decoration:none;
}
@media(max-width:900px){
  .staff-login-button{
    display:inline-flex!important;
    margin:10px 0 0;
  }
}
@media(max-width:700px){
  .staff-login-panel-inner{
    display:grid;
  }
  .staff-login-panel-button{
    width:100%;
  }
}

/* Version 23: reduced grouped navigation */
.grouped-nav{
  display:flex;
  align-items:center;
  gap:10px;
  margin-left:auto;
}
.nav-group{position:relative}
.nav-group-toggle{
  border:0;
  background:transparent;
  color:#07395b;
  font:inherit;
  font-weight:800;
  cursor:pointer;
  padding:10px 8px;
}
.nav-group-menu{
  display:none;
  position:absolute;
  top:100%;
  left:0;
  z-index:50;
  min-width:210px;
  padding:8px;
  border:1px solid #d7e3e9;
  border-radius:12px;
  background:#fff;
  box-shadow:0 14px 36px rgba(7,57,91,.16);
}
.nav-group.open .nav-group-menu{display:grid}
.nav-group-menu a{
  padding:11px 12px;
  border-radius:8px;
  color:#07395b;
  font-weight:700;
  white-space:nowrap;
}
.nav-group-menu a:hover{background:#eef9f2}
@media(max-width:1000px){
  .grouped-nav{flex-wrap:wrap;justify-content:flex-end}
  .nav-group-menu{right:0;left:auto}
}
@media(max-width:760px){
  .grouped-nav{display:grid;width:100%;margin:12px 0 0}
  .nav-group-menu{position:static;box-shadow:none;margin-top:4px}
}

/* Version 24: integrated logo/navigation panel and FX ticker */
.site-header{
  position:relative;
  z-index:40;
  background:#ffffff;
  border-bottom:0;
}
.site-header .nav-wrap{
  width:min(1440px,calc(100% - 28px));
  min-height:112px;
  display:grid;
  grid-template-columns:minmax(260px,380px) minmax(0,1fr);
  align-items:stretch;
  gap:0;
  padding:0;
  overflow:visible;
  border:1px solid #d7e3e9;
  border-radius:0 0 16px 16px;
  background:#ffffff;
}
.site-header .brand{
  min-width:0!important;
  flex-basis:auto!important;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:10px 20px;
  overflow:hidden;
  background:linear-gradient(135deg,#fffdf5,#f6f1df);
  border-right:1px solid #d7e3e9;
}
.site-header .brand img{
  width:min(100%,340px)!important;
  max-height:92px;
  object-fit:contain;
}
.grouped-nav{
  min-width:0;
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:5px;
  padding:15px 18px;
  margin:0;
  background:#ffffff;
}
.grouped-nav>a,
.nav-group-toggle{
  padding:11px 9px;
  border-radius:8px;
}
.grouped-nav>a:hover,
.nav-group-toggle:hover{
  background:#eef9f2;
}
.staff-login-button{
  margin-left:6px;
}
.fx-rate-ticker{
  position:relative;
  z-index:35;
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:stretch;
  min-height:48px;
  color:#ffffff;
  background:#07395b;
  border-top:1px solid rgba(255,255,255,.12);
  border-bottom:3px solid #159447;
  overflow:hidden;
}
.fx-rate-label{
  display:flex;
  align-items:center;
  gap:8px;
  padding:0 17px;
  white-space:nowrap;
  color:#ffffff;
  background:#159447;
}
.fx-rate-label strong{
  font-size:.82rem;
  letter-spacing:.04em;
  text-transform:uppercase;
}
.fx-rate-label span{
  padding:3px 7px;
  border-radius:999px;
  color:#07395b;
  background:#ffffff;
  font-size:.72rem;
  font-weight:900;
}
.fx-rate-window{
  position:relative;
  min-width:0;
  overflow:hidden;
}
.fx-rate-track{
  width:max-content;
  display:flex;
  align-items:center;
  min-height:45px;
  animation:kingscrossRateTicker 54s linear infinite;
  will-change:transform;
}
.fx-rate-window:hover .fx-rate-track{
  animation-play-state:paused;
}
.fx-rate-item{
  display:flex;
  align-items:center;
  gap:8px;
  padding:0 20px;
  white-space:nowrap;
  border-right:1px solid rgba(255,255,255,.2);
  font-size:.86rem;
}
.fx-rate-item strong{
  color:#a7efbe;
  font-size:.92rem;
}
.fx-rate-item .buy,
.fx-rate-item .sell{
  color:#ffffff;
}
.fx-rate-item b{
  color:#ffffff;
}
.fx-rate-item .divider{
  color:#76d496;
}
.fx-rate-updated{
  display:flex;
  align-items:center;
  padding:0 14px;
  white-space:nowrap;
  color:#d7e8f0;
  background:#052f50;
  font-size:.7rem;
}
@keyframes kingscrossRateTicker{
  from{transform:translateX(0)}
  to{transform:translateX(-50%)}
}
@media(max-width:1100px){
  .site-header .nav-wrap{
    grid-template-columns:260px minmax(0,1fr);
  }
  .site-header .brand{
    padding:8px 12px;
  }
  .grouped-nav{
    flex-wrap:wrap;
    justify-content:center;
    padding:10px;
  }
  .fx-rate-ticker{
    grid-template-columns:auto minmax(0,1fr);
  }
  .fx-rate-updated{
    display:none;
  }
}
@media(max-width:760px){
  .site-header .nav-wrap{
    width:100%;
    grid-template-columns:1fr;
    border-radius:0;
  }
  .site-header .brand{
    border-right:0;
    border-bottom:1px solid #d7e3e9;
  }
  .site-header .brand img{
    max-height:78px;
  }
  .grouped-nav{
    display:grid;
    width:100%;
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .grouped-nav>a,
  .nav-group-toggle{
    width:100%;
    text-align:center;
  }
  .fx-rate-ticker{
    grid-template-columns:1fr;
  }
  .fx-rate-label{
    justify-content:center;
    min-height:35px;
  }
}
@media(prefers-reduced-motion:reduce){
  .fx-rate-track{
    animation:none;
  }
  .fx-rate-window{
    overflow:auto;
  }
}

/* Version 25: full-width Kingscross brand panel with navigation inside */
.site-header{
  width:100%;
  padding:0;
  background:#f7f1df;
  border-bottom:1px solid #d8cfb8;
}
.site-header .nav-wrap{
  width:100%;
  max-width:none;
  min-height:118px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  padding:10px clamp(18px,4vw,56px);
  border:0;
  border-radius:0;
  background:
    linear-gradient(90deg,#fffdf5 0%,#f7f1df 48%,#f1ead7 100%);
  box-shadow:inset 0 -1px 0 rgba(7,57,91,.08);
}
.site-header .brand{
  flex:0 0 clamp(285px,28vw,430px)!important;
  min-width:285px!important;
  display:flex;
  align-items:center;
  justify-content:flex-start;
  padding:0;
  border:0;
  background:transparent;
  overflow:visible;
}
.site-header .brand img{
  width:100%!important;
  max-width:430px!important;
  max-height:98px;
  object-fit:contain;
  object-position:left center;
}
.grouped-nav{
  flex:1 1 auto;
  min-width:0;
  display:flex;
  align-items:center;
  justify-content:flex-end;
  flex-wrap:wrap;
  gap:7px;
  padding:0;
  margin:0;
  background:transparent;
}
.grouped-nav>a,
.nav-group-toggle{
  min-height:42px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:10px 13px;
  border:1px solid rgba(7,57,91,.13);
  border-radius:9px;
  color:#07395b;
  background:rgba(255,255,255,.88);
  box-shadow:0 2px 7px rgba(7,57,91,.05);
  font-weight:800;
}
.grouped-nav>a:hover,
.nav-group-toggle:hover{
  border-color:#159447;
  background:#ffffff;
}
.staff-login-button{
  color:#ffffff!important;
  background:#07395b!important;
  border-color:#07395b!important;
}
.staff-login-button:hover{
  background:#159447!important;
  border-color:#159447!important;
}
.nav-group-menu{
  background:#fffdf8;
}
.fx-rate-track{
  animation-duration:110s;
}
.fx-rate-item{
  gap:9px;
  padding:0 24px;
}
.fx-rate-flag{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:28px;
  font-size:1.25rem;
  line-height:1;
}
@media(max-width:1120px){
  .site-header .nav-wrap{
    align-items:flex-start;
    flex-direction:column;
    gap:8px;
    padding:12px 20px;
  }
  .site-header .brand{
    width:100%;
    flex-basis:auto!important;
  }
  .site-header .brand img{
    max-width:380px!important;
  }
  .grouped-nav{
    width:100%;
    justify-content:flex-start;
  }
}
@media(max-width:760px){
  .site-header .nav-wrap{
    padding:10px 14px;
  }
  .site-header .brand{
    min-width:0!important;
    justify-content:center;
  }
  .site-header .brand img{
    max-width:330px!important;
    object-position:center;
  }
  .grouped-nav{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .grouped-nav>a,
  .nav-group-toggle{
    min-width:0;
  }
  .fx-rate-track{
    animation-duration:145s;
  }
}

/* Version 26: flag attached directly to currency code */
.fx-rate-currency{
  display:inline-flex;
  align-items:center;
  gap:6px;
}
.fx-rate-currency span{
  display:inline-block;
  font-size:1.18rem;
  line-height:1;
}

/* Version 27: currency code first, flag second */
.fx-rate-currency{
  white-space:nowrap;
}

/* Version 30 legal, compliance and cookie layer */
.legal-footer{
  margin-top:50px;
  color:#dce9ef;
  background:#052f50;
}
.legal-footer-grid{
  display:grid;
  grid-template-columns:1.3fr repeat(3,1fr);
  gap:28px;
  padding:40px 0 30px;
}
.legal-footer h3{margin:0 0 12px;color:#fff;font-size:1rem}
.legal-footer p{margin:0 0 9px;line-height:1.55}
.legal-footer a{
  display:block;
  margin:8px 0;
  color:#dce9ef;
  text-decoration:none;
}
.legal-footer a:hover{color:#a7efbe}
.legal-small{font-size:.78rem;color:#aac0cc}
.legal-footer-bottom{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:15px;
  padding:16px 0;
  border-top:1px solid rgba(255,255,255,.14);
  font-size:.8rem;
}
.cookie-settings-link{
  border:0;
  padding:0;
  color:#dce9ef;
  background:transparent;
  cursor:pointer;
  text-decoration:underline;
}
.cookie-banner{
  position:fixed;
  right:18px;
  bottom:18px;
  left:18px;
  z-index:100;
  display:none;
}
.cookie-banner.show{display:block}
.cookie-banner-inner{
  width:min(1050px,100%);
  margin:auto;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:22px;
  padding:18px 20px;
  color:#fff;
  background:#07395b;
  border:1px solid rgba(255,255,255,.18);
  border-radius:16px;
  box-shadow:0 18px 50px rgba(0,0,0,.25);
}
.cookie-banner p{margin:5px 0 0;color:#dce9ef;line-height:1.45}
.cookie-banner-actions{display:flex;gap:9px;flex-wrap:wrap}
.cookie-btn{
  min-height:42px;
  padding:10px 15px;
  border-radius:9px;
  border:1px solid #d7e3e9;
  font-weight:800;
  cursor:pointer;
}
.cookie-btn.primary{color:#fff;background:#159447;border-color:#159447}
.cookie-btn.secondary{color:#07395b;background:#fff}
.cookie-btn.full{width:100%}
.cookie-modal{
  position:fixed;
  inset:0;
  z-index:110;
  display:none;
  place-items:center;
  padding:20px;
  background:rgba(2,25,42,.62);
}
.cookie-modal.show{display:grid}
.cookie-modal-card{
  width:min(620px,100%);
  padding:24px;
  border-radius:18px;
  background:#fff;
  box-shadow:0 24px 70px rgba(0,0,0,.3);
}
.cookie-modal-header{
  display:flex;
  justify-content:space-between;
  gap:20px;
  margin-bottom:15px;
}
.cookie-modal-header span{
  color:#159447;
  font-size:.75rem;
  font-weight:800;
  text-transform:uppercase;
}
.cookie-modal-header h2{margin:5px 0;color:#07395b}
.cookie-close{
  width:38px;
  height:38px;
  border:0;
  border-radius:50%;
  font-size:1.5rem;
  cursor:pointer;
}
.cookie-choice{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  padding:16px 0;
  border-top:1px solid #d7e3e9;
}
.cookie-choice p{margin:5px 0 0;color:#667887;line-height:1.45}
.cookie-choice input{width:20px;height:20px}
.always-on{
  padding:5px 9px;
  border-radius:999px;
  color:#1c673a;
  background:#eaf8ef;
  font-size:.76rem;
  font-weight:800;
  white-space:nowrap;
}
.legal-page{
  width:min(1000px,calc(100% - 32px));
  margin:36px auto 70px;
}
.legal-page-header{
  padding:34px;
  border-radius:18px;
  color:#fff;
  background:linear-gradient(120deg,#052f50,#0b5b71 65%,#168551);
}
.legal-page-header span{
  color:#a7efbe;
  font-size:.77rem;
  font-weight:800;
  text-transform:uppercase;
}
.legal-page-header h1{margin:7px 0 9px;color:#fff}
.legal-page-header p{margin:0;max-width:760px;line-height:1.6}
.legal-document{
  margin-top:22px;
  padding:clamp(24px,4vw,42px);
  border:1px solid #d7e3e9;
  border-radius:18px;
  background:#fff;
  box-shadow:0 12px 38px rgba(7,57,91,.07);
}
.legal-document h2{margin-top:30px;color:#07395b}
.legal-document h2:first-child{margin-top:0}
.legal-document h3{color:#0b5b71}
.legal-document p,.legal-document li{line-height:1.7;color:#415565}
.legal-document ul{padding-left:22px}
.legal-callout{
  margin:20px 0;
  padding:16px 18px;
  border-left:4px solid #159447;
  border-radius:10px;
  background:#eef9f2;
  color:#234c36;
}
.compliance-consent{
  margin:18px 0;
  padding:16px;
  border:1px solid #d7e3e9;
  border-radius:12px;
  background:#f7fafb;
}
.compliance-consent label{
  display:flex;
  align-items:flex-start;
  gap:10px;
  line-height:1.5;
}
.compliance-consent input{
  width:18px;
  height:18px;
  margin-top:2px;
}
.compliance-consent a{color:#0b5b71;font-weight:700}
@media(max-width:850px){
  .legal-footer-grid{grid-template-columns:repeat(2,1fr)}
  .cookie-banner-inner{align-items:flex-start;flex-direction:column}
}
@media(max-width:560px){
  .legal-footer-grid{grid-template-columns:1fr}
  .legal-footer-bottom{align-items:flex-start;flex-direction:column}
}

/* Version 31 expanded customer information */
.legal-meta{
  display:flex;
  justify-content:space-between;
  gap:15px;
  flex-wrap:wrap;
  margin-bottom:20px;
  padding-bottom:16px;
  border-bottom:1px solid #d7e3e9;
  color:#667887;
  font-size:.82rem;
}
.legal-toc{
  margin:20px 0 30px;
  padding:20px 22px;
  border-radius:13px;
  background:#f3f7f9;
}
.legal-toc strong{color:#07395b}
.legal-toc ol{
  columns:2;
  gap:28px;
  margin:13px 0 0;
  padding-left:22px;
}
.legal-toc li{break-inside:avoid;margin:7px 0}
.legal-toc a{color:#0b5b71;text-decoration:none}
.legal-toc a:hover{text-decoration:underline}
.legal-section{
  scroll-margin-top:25px;
  padding-top:5px;
}
.legal-section h2{
  padding-bottom:9px;
  border-bottom:1px solid #e2eaee;
}
.legal-table-wrap{overflow-x:auto}
.legal-table{
  width:100%;
  border-collapse:collapse;
  margin:16px 0;
}
.legal-table th,.legal-table td{
  padding:12px;
  border:1px solid #d7e3e9;
  text-align:left;
}
.legal-table th{color:#07395b;background:#eef4f7}
.fraud-stop{
  padding:18px;
  border:2px solid #b43838;
  border-radius:12px;
  color:#7f2424;
  background:#fff2f2;
  font-size:1.05rem;
}
@media(max-width:650px){
  .legal-toc ol{columns:1}
}

.legal-part-heading{
  margin:34px 0 18px;
  padding:22px;
  border-radius:14px;
  color:#fff;
  background:linear-gradient(120deg,#07395b,#0b5b71 70%,#159447);
}
.legal-part-heading span{
  display:block;
  margin-bottom:5px;
  color:#a7efbe;
  font-size:.78rem;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.legal-part-heading h2{
  margin:0 0 7px;
  padding:0;
  border:0;
  color:#fff;
}
.legal-part-heading p{margin:0;color:#e1edf2}

/* Version 33 comprehensive combined terms */
.legal-document .legal-section{
  margin-top:24px;
}
.legal-document .legal-section > p:first-of-type{
  margin-top:0;
}
.legal-document .legal-table td:first-child{
  width:22%;
  font-weight:800;
  color:#07395b;
}

/* Version 34 expanded Privacy Notice */
.privacy-contact-card{
  margin:18px 0;
  padding:18px;
  border:1px solid #d7e3e9;
  border-radius:12px;
  background:#f7fafb;
}
.privacy-contact-card strong{
  color:#07395b;
}
.privacy-contact-card p{
  margin:5px 0;
}
.legal-document h3{
  margin-top:22px;
}

/* Version 39 expanded safeguarding information */
.safeguarding-warning{
  border-color:#b7791f;
  color:#704b12;
  background:#fff8e8;
}

/* Version 41: Our Locations page */
.locations-page{
  width:min(1120px,calc(100% - 32px));
  margin:34px auto 70px;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:22px;
}
.location-card,
.location-notice{
  padding:clamp(24px,4vw,38px);
  border:1px solid #d7e3e9;
  border-radius:19px;
  background:#ffffff;
  box-shadow:0 14px 42px rgba(7,57,91,.08);
}
.operational-location{
  grid-column:1/-1;
  border-top:5px solid #159447;
}
.planned-location{
  border-top:5px solid #c3912f;
}
.location-status{
  display:inline-flex;
  margin-bottom:12px;
  padding:6px 10px;
  border-radius:999px;
  font-size:.74rem;
  font-weight:900;
  letter-spacing:.05em;
  text-transform:uppercase;
}
.open-status{
  color:#176438;
  background:#eaf8ef;
}
.planned-status{
  color:#715017;
  background:#fff5dc;
}
.location-card h2,
.location-notice h2{
  margin:0 0 7px;
  color:#07395b;
}
.location-address{
  margin:0 0 22px;
  color:#526977;
  font-size:1.05rem;
}
.location-details{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:13px;
}
.location-details div{
  padding:15px;
  border-radius:11px;
  background:#f3f7f9;
}
.location-details span{
  display:block;
  margin-bottom:5px;
  color:#667887;
  font-size:.75rem;
  font-weight:800;
  text-transform:uppercase;
}
.location-details strong{
  color:#183044;
  line-height:1.45;
}
.location-details a{
  color:#0b5b71;
}
.location-actions{
  margin-top:20px;
}
.location-notice{
  grid-column:1/-1;
  text-align:center;
  background:#f7fafb;
}
.location-notice p{
  max-width:720px;
  margin:0 auto 18px;
  color:#667887;
}
.grouped-nav a[aria-current="page"]{
  border-color:#159447;
  background:#eef9f2;
}
@media(max-width:820px){
  .locations-page{
    grid-template-columns:1fr;
  }
  .operational-location,
  .location-notice{
    grid-column:auto;
  }
  .location-details{
    grid-template-columns:1fr;
  }
}

/* Version 42 updated operational locations */
.locations-page .operational-location{
  grid-column:auto;
}
.locations-page .operational-location:first-child{
  grid-column:auto;
}
.location-actions{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}
@media(min-width:821px){
  .locations-page{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

/* Version 43 — improved navigation tabs */
.site-header{
  position:sticky;
  top:0;
  z-index:1200;
  border-bottom:1px solid rgba(7,57,91,.1);
  box-shadow:0 8px 24px rgba(7,57,91,.07);
  backdrop-filter:blur(14px);
}

.nav-wrap{
  min-height:92px;
  gap:26px;
}

.main-nav{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:7px;
  flex-wrap:nowrap;
}

.main-nav > a,
.main-nav .nav-drop > button{
  position:relative;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:44px;
  padding:0 14px;
  border:1px solid transparent;
  border-radius:12px;
  color:#17384c;
  background:transparent;
  font-size:.92rem;
  font-weight:800;
  line-height:1;
  text-decoration:none;
  white-space:nowrap;
  transition:
    color .18s ease,
    background .18s ease,
    border-color .18s ease,
    transform .18s ease,
    box-shadow .18s ease;
}

.main-nav > a:hover,
.main-nav .nav-drop > button:hover{
  color:#07395b;
  border-color:#c7ddd2;
  background:#f2f8f5;
  transform:translateY(-1px);
}

.main-nav > a:focus-visible,
.main-nav .nav-drop > button:focus-visible,
.mobile-nav-toggle:focus-visible{
  outline:3px solid rgba(21,148,71,.28);
  outline-offset:3px;
}

.main-nav > a[aria-current="page"],
.main-nav .nav-drop > button[aria-expanded="true"]{
  color:#ffffff;
  border-color:#0f7b3d;
  background:linear-gradient(135deg,#0e7e3d,#159447);
  box-shadow:0 7px 18px rgba(21,148,71,.24);
}

.main-nav > a[aria-current="page"]::after{
  content:"";
  position:absolute;
  left:50%;
  bottom:-9px;
  width:7px;
  height:7px;
  border-radius:50%;
  background:#159447;
  transform:translateX(-50%);
}

.main-nav .account-tab{
  color:#ffffff;
  border-color:#07395b;
  background:linear-gradient(135deg,#07395b,#0b5b71);
  box-shadow:0 7px 18px rgba(7,57,91,.2);
}

.main-nav .account-tab:hover{
  color:#ffffff;
  border-color:#0b5b71;
  background:linear-gradient(135deg,#0b496e,#0e7083);
}

.main-nav .locations-tab{
  border-color:#d6c79e;
  background:#fffaf0;
}

.main-nav .locations-tab:hover{
  border-color:#c8ae62;
  background:#fff5dc;
}

.main-nav .staff-login-button{
  border-color:#c8b98e;
  background:#f6edcf;
  color:#433719;
}

.main-nav .staff-login-button:hover{
  border-color:#ad9653;
  background:#efe1b6;
  color:#2f260f;
}

.nav-drop{
  position:relative;
}

.nav-drop-menu{
  position:absolute;
  top:calc(100% + 12px);
  left:0;
  min-width:220px;
  padding:9px;
  border:1px solid #d8e4e8;
  border-radius:15px;
  background:#ffffff;
  box-shadow:0 18px 44px rgba(7,57,91,.16);
  opacity:0;
  visibility:hidden;
  transform:translateY(-7px);
  transition:opacity .18s ease, visibility .18s ease, transform .18s ease;
}

.nav-drop:hover .nav-drop-menu,
.nav-drop:focus-within .nav-drop-menu,
.nav-drop.is-open .nav-drop-menu{
  opacity:1;
  visibility:visible;
  transform:translateY(0);
}

.nav-drop-menu a{
  display:flex;
  align-items:center;
  min-height:42px;
  padding:9px 12px;
  border-radius:10px;
  color:#17384c;
  font-weight:750;
  text-decoration:none;
}

.nav-drop-menu a:hover,
.nav-drop-menu a:focus-visible{
  color:#07395b;
  background:#eef7f1;
}

.mobile-nav-toggle{
  display:none;
  align-items:center;
  gap:9px;
  min-height:44px;
  padding:0 14px;
  border:1px solid #cbdade;
  border-radius:12px;
  color:#07395b;
  background:#ffffff;
  font-weight:850;
  cursor:pointer;
}

.mobile-nav-icon,
.mobile-nav-icon::before,
.mobile-nav-icon::after{
  display:block;
  width:20px;
  height:2px;
  border-radius:2px;
  background:#07395b;
  transition:transform .18s ease, opacity .18s ease;
}

.mobile-nav-icon{
  position:relative;
}

.mobile-nav-icon::before,
.mobile-nav-icon::after{
  content:"";
  position:absolute;
  left:0;
}

.mobile-nav-icon::before{top:-6px}
.mobile-nav-icon::after{top:6px}

.mobile-nav-toggle[aria-expanded="true"] .mobile-nav-icon{
  background:transparent;
}

.mobile-nav-toggle[aria-expanded="true"] .mobile-nav-icon::before{
  top:0;
  transform:rotate(45deg);
}

.mobile-nav-toggle[aria-expanded="true"] .mobile-nav-icon::after{
  top:0;
  transform:rotate(-45deg);
}

@media(max-width:1080px){
  .nav-wrap{
    min-height:78px;
  }

  .mobile-nav-toggle{
    display:inline-flex;
    margin-left:auto;
  }

  .main-nav{
    position:absolute;
    top:100%;
    left:16px;
    right:16px;
    display:none;
    align-items:stretch;
    padding:14px;
    border:1px solid #d7e3e9;
    border-radius:18px;
    background:#fffdf6;
    box-shadow:0 20px 50px rgba(7,57,91,.18);
  }

  .main-nav.is-open{
    display:flex;
    flex-direction:column;
  }

  .main-nav > a,
  .main-nav .nav-drop > button{
    width:100%;
    justify-content:flex-start;
    min-height:48px;
  }

  .main-nav > a[aria-current="page"]::after{
    display:none;
  }

  .nav-drop{
    width:100%;
  }

  .nav-drop-menu{
    position:static;
    display:block;
    min-width:0;
    margin:5px 0 4px 14px;
    padding:5px;
    border:0;
    border-left:2px solid #cfe2d6;
    border-radius:0;
    background:transparent;
    box-shadow:none;
    opacity:1;
    visibility:visible;
    transform:none;
  }

  body.nav-open{
    overflow:hidden;
  }
}

@media(max-width:560px){
  .mobile-nav-label{
    display:none;
  }

  .mobile-nav-toggle{
    width:46px;
    justify-content:center;
    padding:0;
  }

  .main-nav{
    left:10px;
    right:10px;
  }
}

/* Version 44 — one ticker entry per currency */
.fx-rate-track{
  width:max-content;
}
.fx-rate-track .fx-rate-item[aria-hidden="true"]{
  display:none !important;
}

/* Version 46 — local SVG flags before one currency code */
.fx-rate-currency{
  display:inline-flex;
  align-items:center;
  gap:7px;
}
.fx-rate-flag{
  width:22px;
  height:15px;
  flex:0 0 22px;
  object-fit:cover;
  border-radius:2px;
  box-shadow:0 0 0 1px rgba(7,57,91,.16);
}

/* Version 47 — brighter ticker and uniform navigation tabs */

/* One rich royal-blue colour across the complete ticker */
.fx-rate-ticker{
  color:#ffffff;
  background:#064d78;
  border-top:1px solid rgba(255,255,255,.20);
  border-bottom:3px solid #d8bd6a;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08);
}
.fx-rate-label,
.fx-rate-updated{
  color:#ffffff;
  background:#064d78;
}
.fx-rate-label{
  border-right:1px solid rgba(255,255,255,.24);
}
.fx-rate-updated{
  border-left:1px solid rgba(255,255,255,.24);
}
.fx-rate-label span{
  color:#064d78;
  background:#ffffff;
}
.fx-rate-item{
  border-right:1px solid rgba(255,255,255,.24);
}
.fx-rate-item strong,
.fx-rate-item .buy,
.fx-rate-item .sell,
.fx-rate-item b{
  color:#ffffff;
}
.fx-rate-item .divider{
  color:#f4dc8b;
}
.fx-rate-flag{
  box-shadow:
    0 0 0 1px rgba(255,255,255,.72),
    0 2px 7px rgba(0,0,0,.25);
}

/* Give every top-level navigation tab the Staff Login treatment */
.main-nav > a,
.main-nav .nav-group-toggle,
.main-nav .staff-login-button,
.main-nav .account-tab,
.main-nav .locations-tab{
  color:#433719;
  border:1px solid #c8b98e;
  border-radius:12px;
  background:#f6edcf;
  box-shadow:0 5px 14px rgba(73,58,20,.11);
}

.main-nav > a:hover,
.main-nav .nav-group-toggle:hover,
.main-nav .staff-login-button:hover,
.main-nav .account-tab:hover,
.main-nav .locations-tab:hover{
  color:#2f260f;
  border-color:#ad9653;
  background:#efe1b6;
  box-shadow:0 7px 18px rgba(73,58,20,.17);
  transform:translateY(-1px);
}

.main-nav > a[aria-current="page"],
.main-nav .nav-group-toggle[aria-expanded="true"]{
  color:#ffffff;
  border-color:#8e783c;
  background:#9b8344;
  box-shadow:0 7px 18px rgba(73,58,20,.24);
}

.main-nav > a[aria-current="page"]::after{
  background:#9b8344;
}

/* Match the actual grouped dropdown menus to the revised tabs */
.nav-group-menu{
  border:1px solid #d8cda9;
  border-radius:15px;
  background:#fffdf6;
  box-shadow:0 18px 44px rgba(52,42,17,.16);
}
.nav-group-menu a{
  color:#433719;
  border-radius:10px;
}
.nav-group-menu a:hover,
.nav-group-menu a:focus-visible{
  color:#2f260f;
  background:#f6edcf;
}

@media(max-width:1080px){
  .main-nav > a,
  .main-nav .nav-group-toggle,
  .main-nav .staff-login-button,
  .main-nav .account-tab,
  .main-nav .locations-tab{
    width:100%;
    justify-content:flex-start;
  }
}

/* Version 84 — homepage quick quote and popular corridors */
.hero-banner{
  position:relative;
  background:#eef7fb;
  overflow:hidden;
}
.hero-split{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(340px,410px);
  align-items:stretch;
  max-width:1760px;
  margin:0 auto;
}
.hero-visual-panel{
  position:relative;
  min-width:0;
  background:#00556f;
}
.hero-visual-panel .hero-banner-image{
  width:100%;
  height:100%;
  min-height:500px;
  object-fit:cover;
  object-position:center;
  display:block;
}
.hero-visual-panel .hero-banner-actions{
  position:absolute;
  left:34px;
  bottom:28px;
  z-index:2;
  width:auto;
  padding:0;
}
.home-quote-card{
  background:#fff;
  padding:34px 30px 30px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  border-left:1px solid #dbe6ec;
  box-shadow:-14px 0 34px rgba(7,42,68,.08);
  z-index:3;
}
.home-quote-kicker{
  display:inline-flex;
  align-self:flex-start;
  padding:6px 10px;
  border-radius:999px;
  background:#e8f5ec;
  color:#13743f;
  font-size:12px;
  line-height:1;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
  margin-bottom:12px;
}
.home-quote-card h2{
  margin:0 0 22px;
  color:#14324b;
  font-size:26px;
  line-height:1.15;
  letter-spacing:-.02em;
}
.home-quote-field{
  display:block;
  margin:0 0 14px;
}
.home-quote-field>span{
  display:block;
  margin:0 0 7px;
  font-size:12px;
  font-weight:700;
  color:#4c6071;
}
.home-quote-input-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  min-height:58px;
  border:1px solid #bacbd5;
  border-radius:11px;
  background:#fff;
  overflow:hidden;
}
.home-quote-input-row input,
.home-quote-input-row output{
  width:100%;
  border:0;
  background:transparent;
  padding:0 14px;
  font:700 20px/1.2 Inter,Arial,sans-serif;
  color:#17344d;
  outline:none;
}
.home-quote-input-row select{
  align-self:stretch;
  min-width:118px;
  border:0;
  border-left:1px solid #d7e1e7;
  background:#f6f9fb;
  padding:0 11px;
  color:#17344d;
  font-weight:700;
  outline:none;
}
.home-quote-currency{
  align-self:stretch;
  display:flex!important;
  align-items:center;
  gap:8px;
  padding:0 14px;
  margin:0!important;
  border-left:1px solid #d7e1e7;
  background:#f6f9fb;
  color:#17344d!important;
}
.home-quote-currency img{
  width:24px;
  height:17px;
  object-fit:cover;
  border-radius:2px;
}
.home-quote-rate{
  font-size:13px;
  font-weight:800;
  color:#14324b;
  margin:2px 0 7px;
}
.home-quote-note{
  margin:0 0 18px;
  font-size:11px;
  line-height:1.45;
  color:#647683;
}
.home-send-button{
  width:100%;
  justify-content:center;
  text-align:center;
  min-height:48px;
  border-radius:999px;
}
.popular-corridors{
  background:#082f50;
  color:#fff;
  border-top:1px solid rgba(255,255,255,.08);
  border-bottom:1px solid rgba(255,255,255,.08);
}
.popular-corridors .container{
  padding-top:20px;
  padding-bottom:20px;
}
.corridor-heading{
  display:flex;
  align-items:baseline;
  justify-content:center;
  gap:12px;
  margin-bottom:15px;
}
.corridor-heading strong{
  font-size:18px;
}
.corridor-heading span{
  font-size:12px;
  color:#c9d8e4;
}
.corridor-row{
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:12px;
}
.corridor-chip{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  min-height:48px;
  padding:8px 12px;
  border-radius:999px;
  background:#fff;
  color:#17344d;
  text-decoration:none;
  font-size:13px;
  font-weight:800;
  border:1px solid rgba(255,255,255,.35);
  box-shadow:0 5px 16px rgba(0,0,0,.12);
  transition:transform .15s ease,box-shadow .15s ease;
}
.corridor-chip:hover{
  transform:translateY(-1px);
  box-shadow:0 7px 18px rgba(0,0,0,.18);
}
.corridor-chip img{
  width:30px;
  height:20px;
  object-fit:cover;
  border-radius:3px;
  box-shadow:0 0 0 1px rgba(0,0,0,.08);
}
@media(max-width:1050px){
  .hero-split{grid-template-columns:minmax(0,1fr) 350px}
  .hero-visual-panel .hero-banner-image{min-height:430px}
  .home-quote-card{padding:26px 22px}
  .home-quote-card h2{font-size:22px}
  .corridor-row{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:760px){
  .hero-split{grid-template-columns:1fr}
  .hero-visual-panel .hero-banner-image{min-height:0;height:auto;object-fit:contain}
  .hero-visual-panel .hero-banner-actions{left:18px;bottom:16px}
  .home-quote-card{border-left:0;border-top:1px solid #dbe6ec;box-shadow:0 -8px 24px rgba(7,42,68,.06);padding:24px 18px}
  .corridor-heading{display:block;text-align:center}
  .corridor-heading span{display:block;margin-top:5px}
  .corridor-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
  .corridor-chip{min-height:45px;padding:7px 9px}
}

/* V85 homepage transfer and FX calculator enhancements */
.corridor-row{grid-template-columns:repeat(6,minmax(0,1fr));}
.home-quote-input-row select{min-width:124px;max-width:142px;}
.home-fx-calculator{background:#f4f8fa;padding:30px 0 36px;border-bottom:1px solid #dfe8ed;}
.home-fx-card{display:grid;grid-template-columns:minmax(0,.82fr) minmax(420px,1.18fr);gap:34px;align-items:center;background:#fff;border:1px solid #dbe6ec;border-radius:18px;padding:28px 30px;box-shadow:0 12px 34px rgba(7,42,68,.07);}
.home-fx-copy h2{margin:4px 0 10px;color:#14324b;font-size:27px;line-height:1.15;}
.home-fx-copy p{margin:0;color:#5d7180;line-height:1.55;}
.home-fx-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px 14px;align-items:end;}
.home-fx-fields .home-quote-field{margin:0;}
.home-fx-fields .home-quote-rate{grid-column:1/2;margin:0;align-self:center;}
.home-fx-button{grid-column:2/3;justify-content:center;text-align:center;min-height:48px;border-radius:999px;}
.transfer-type-modal[hidden]{display:none;}
.transfer-type-modal{position:fixed;inset:0;z-index:9999;display:grid;place-items:center;padding:20px;}
.transfer-type-backdrop{position:absolute;inset:0;background:rgba(5,27,45,.62);backdrop-filter:blur(2px);}
.transfer-type-dialog{position:relative;width:min(520px,100%);background:#fff;border-radius:18px;padding:28px;box-shadow:0 24px 70px rgba(0,0,0,.28);z-index:1;}
.transfer-type-dialog h2{margin:2px 0 8px;color:#14324b;font-size:26px;}
.transfer-type-dialog>p{margin:0 0 19px;color:#647683;}
.transfer-type-close{position:absolute;right:14px;top:10px;border:0;background:transparent;font-size:30px;color:#587080;cursor:pointer;}
.transfer-type-options{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.transfer-type-choice{border:1px solid #cbd9e1;border-radius:14px;background:#f8fbfc;padding:18px 14px;text-align:left;cursor:pointer;color:#14324b;transition:.15s ease;}
.transfer-type-choice:hover{border-color:#16834b;box-shadow:0 7px 18px rgba(7,42,68,.09);transform:translateY(-1px);}
.transfer-type-choice span{display:block;font-size:26px;margin-bottom:8px;}.transfer-type-choice b{display:block;font-size:15px;margin-bottom:5px;}.transfer-type-choice small{display:block;color:#657783;line-height:1.35;}
@media(max-width:1000px){.corridor-row{grid-template-columns:repeat(4,minmax(0,1fr));}.home-fx-card{grid-template-columns:1fr;}.home-fx-fields{grid-template-columns:1fr 1fr;}}
@media(max-width:700px){.corridor-row{display:flex;overflow-x:auto;justify-content:flex-start;padding-bottom:5px;scroll-snap-type:x proximity;}.corridor-chip{min-width:132px;scroll-snap-align:start;}.home-fx-fields{grid-template-columns:1fr;}.home-fx-fields .home-quote-rate,.home-fx-button{grid-column:1}.transfer-type-options{grid-template-columns:1fr;}.home-fx-card{padding:22px 18px;}}

/* V87 homepage currency-dropdown visibility/recalculation fix */
/* The previous quote rows used overflow:hidden, which clipped the absolute dropdown menu
   to the height of the field. Keep the rounded field but allow the menu to open above it. */
.home-quote-input-row{overflow:visible;position:relative}
.home-quote-input-row>.kx-country-select{align-self:stretch;border-left:1px solid #d7e1e7;background:#f6f9fb;border-radius:0 10px 10px 0}
.home-quote-card,.home-fx-card{overflow:visible}
.kx-country-select{position:relative;min-width:150px;flex:0 0 auto;z-index:20}
.kx-country-select-button{width:100%;min-height:48px;border:0;background:transparent;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:0 10px;font:inherit;color:inherit;cursor:pointer}
.kx-country-selected{display:flex;align-items:center;gap:8px;white-space:nowrap}
.kx-country-selected img,.kx-country-option img{width:27px;height:18px;object-fit:cover;border-radius:2px;box-shadow:0 0 0 1px rgba(0,0,0,.12)}
.kx-country-menu{position:absolute;right:0;top:calc(100% + 6px);z-index:9999;pointer-events:auto;min-width:210px;max-height:310px;overflow:auto;background:#fff;border:1px solid #d9e1e5;border-radius:12px;box-shadow:0 14px 32px rgba(15,35,45,.16);padding:6px}
.kx-country-menu[hidden]{display:none}
.kx-country-option{width:100%;border:0;background:#fff;display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:8px;text-align:left;font:inherit;cursor:pointer}
.kx-country-option:hover,.kx-country-option:focus{background:#eef5f4}
.home-journey-choices{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}
.home-journey-button{width:100%;justify-content:center}
.home-fx-final{margin-top:10px;padding:14px 16px;border-radius:12px;background:#f1f6f5;display:flex;align-items:center;justify-content:space-between;gap:16px}
.home-fx-final span{font-size:.88rem;color:#52656c}
.home-fx-final strong{font-size:1.2rem;color:#0b3f47}
@media(max-width:640px){.kx-country-select{min-width:128px}.kx-country-menu{right:0;min-width:190px}.home-journey-choices{grid-template-columns:1fr}.home-fx-final{align-items:flex-start;flex-direction:column;gap:4px}}

/* V88: full country/currency dropdowns */
.kx-country-menu{max-height:360px;overflow:hidden;min-width:290px}
.kx-country-search-wrap{position:sticky;top:0;background:#fff;padding:8px;z-index:2;border-bottom:1px solid #e4ecea}
.kx-country-search{width:100%;box-sizing:border-box;border:1px solid #cbd8d5;border-radius:8px;padding:9px 10px;font:inherit}
.kx-country-options-list{max-height:300px;overflow-y:auto;padding:4px}
.kx-country-option small{margin-left:auto;color:#66756f;font-weight:700;font-size:.78rem}
.kx-country-option[hidden]{display:none!important}

/* V90 — slimmer homepage transfer pad so the full hero message remains visible */
@media (min-width:1061px){
  .hero-split{
    grid-template-columns:minmax(0,1fr) 300px;
  }
  .home-quote-card{
    padding:20px 16px 18px;
  }
  .home-quote-kicker{
    padding:5px 9px;
    margin-bottom:8px;
    font-size:10px;
  }
  .home-quote-card h2{
    margin-bottom:14px;
    font-size:20px;
    line-height:1.12;
  }
  .home-quote-field{
    margin-bottom:10px;
  }
  .home-quote-field>span{
    margin-bottom:5px;
    font-size:11px;
  }
  .home-quote-input-row{
    min-height:50px;
  }
  .home-quote-input-row input,
  .home-quote-input-row output{
    padding:0 10px;
    font-size:17px;
  }
  .kx-country-select-button{
    min-width:108px;
    padding-left:9px;
    padding-right:8px;
  }
  .kx-country-select-button img{
    width:22px;
    height:15px;
  }
  .home-quote-rate{
    font-size:11px;
    margin-bottom:5px;
  }
  .home-quote-note{
    margin-bottom:12px;
    font-size:9.5px;
    line-height:1.35;
  }
  .home-journey-choices{
    gap:8px;
  }
  .home-journey-button{
    min-height:42px;
    padding:9px 10px;
    font-size:12px;
  }
  .hero-visual-panel .hero-banner-image{
    min-height:430px;
  }
}

@media (min-width:1061px) and (max-width:1250px){
  .hero-split{
    grid-template-columns:minmax(0,1fr) 285px;
  }
  .home-quote-card{
    padding-left:14px;
    padding-right:14px;
  }
  .home-quote-card h2{
    font-size:19px;
  }
}

/* V95 homepage send-money quote summary */
.home-send-summary{display:grid;gap:0;margin:12px 0;border:1px solid #d8e4e9;border-radius:13px;overflow:hidden;background:#fff}.home-send-summary>div{display:flex;justify-content:space-between;gap:16px;padding:10px 12px;border-bottom:1px solid #e7eef1;font-size:.88rem}.home-send-summary>div:last-child{border-bottom:0}.home-send-summary span{color:#607383}.home-send-summary strong{text-align:right;color:#103b59}.home-send-summary .home-send-total{background:#f5f9fb}.home-send-summary .home-send-kes{background:#eef9f2;padding:13px 12px}.home-send-summary .home-send-kes strong{color:#158746;font-size:1.08rem}.home-quote-card h2{margin-bottom:14px}


/* V98 — clearer homepage service and customer-type tabs */
.home-quote-kicker.home-send-kicker{
  background:#0d5f9a;
  color:#fff;
  border-radius:8px;
  padding:9px 16px;
  font-size:14px;
  font-weight:900;
  letter-spacing:.06em;
  box-shadow:0 3px 10px rgba(13,95,154,.18);
}
.home-journey-button.home-business-button{
  background:#0d5f9a !important;
  border-color:#0d5f9a !important;
  color:#fff !important;
  font-weight:900;
}
.home-journey-button.home-business-button:hover,
.home-journey-button.home-business-button:focus{
  background:#084d7f !important;
  border-color:#084d7f !important;
}
