
/* Version 48 — final visual overrides loaded after every other stylesheet */

/* FULL TICKER: one unmistakable deep teal-blue background */
html body .fx-rate-ticker,
html body .fx-rate-ticker .fx-rate-label,
html body .fx-rate-ticker .fx-rate-window,
html body .fx-rate-ticker .fx-rate-track,
html body .fx-rate-ticker .fx-rate-item,
html body .fx-rate-ticker .fx-rate-updated {
  background: #00556f !important;
  background-image: none !important;
  color: #ffffff !important;
}

html body .fx-rate-ticker {
  border-top: 1px solid rgba(255,255,255,.28) !important;
  border-bottom: 4px solid #20b56a !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.14),
    0 5px 16px rgba(0,50,70,.18) !important;
}

html body .fx-rate-ticker .fx-rate-label {
  border-right: 1px solid rgba(255,255,255,.32) !important;
}

html body .fx-rate-ticker .fx-rate-updated {
  border-left: 1px solid rgba(255,255,255,.32) !important;
}

html body .fx-rate-ticker .fx-rate-label strong,
html body .fx-rate-ticker .fx-rate-item,
html body .fx-rate-ticker .fx-rate-item strong,
html body .fx-rate-ticker .fx-rate-item span,
html body .fx-rate-ticker .fx-rate-item b,
html body .fx-rate-ticker .fx-rate-updated {
  color: #ffffff !important;
}

html body .fx-rate-ticker .fx-rate-label span {
  color: #00556f !important;
  background: #ffffff !important;
}

html body .fx-rate-ticker .fx-rate-item {
  border-right: 1px solid rgba(255,255,255,.25) !important;
}

html body .fx-rate-ticker .fx-rate-flag {
  background: #ffffff !important;
  box-shadow:
    0 0 0 2px rgba(255,255,255,.86),
    0 3px 8px rgba(0,0,0,.28) !important;
}

/* ALL TOP-LEVEL TABS: dark grey background and white writing */
html body .main-nav > a,
html body .main-nav .nav-group-toggle,
html body .main-nav .staff-login-button,
html body .grouped-nav > a,
html body .grouped-nav .nav-group-toggle {
  min-height: 44px !important;
  padding: 0 14px !important;
  border: 1px solid #4d545b !important;
  border-radius: 10px !important;
  color: #ffffff !important;
  background: #646b72 !important;
  background-image: none !important;
  box-shadow: 0 5px 13px rgba(32,38,43,.18) !important;
  font-weight: 800 !important;
  text-decoration: none !important;
}

html body .main-nav > a:hover,
html body .main-nav .nav-group-toggle:hover,
html body .main-nav .staff-login-button:hover,
html body .grouped-nav > a:hover,
html body .grouped-nav .nav-group-toggle:hover {
  border-color: #353a3f !important;
  color: #ffffff !important;
  background: #4d545b !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 7px 17px rgba(32,38,43,.25) !important;
}

html body .main-nav > a[aria-current="page"],
html body .main-nav .nav-group-toggle[aria-expanded="true"],
html body .main-nav > a.active {
  border-color: #0a7040 !important;
  color: #ffffff !important;
  background: #11864c !important;
  box-shadow: 0 7px 18px rgba(17,134,76,.28) !important;
}

html body .main-nav > a[aria-current="page"]::after,
html body .main-nav > a.active::after {
  display: none !important;
}

/* Dropdown panels remain clean and readable */
html body .nav-group-menu {
  border: 1px solid #cfd5d9 !important;
  background: #ffffff !important;
  box-shadow: 0 18px 42px rgba(23,31,37,.20) !important;
}

html body .nav-group-menu a {
  color: #303940 !important;
  background: transparent !important;
}

html body .nav-group-menu a:hover,
html body .nav-group-menu a:focus-visible {
  color: #ffffff !important;
  background: #646b72 !important;
}

@media (max-width: 1080px) {
  html body .main-nav > a,
  html body .main-nav .nav-group-toggle,
  html body .main-nav .staff-login-button,
  html body .grouped-nav > a,
  html body .grouped-nav .nav-group-toggle {
    width: 100% !important;
    justify-content: flex-start !important;
  }
}

/* Version 49 — navigation tabs match the ticker banner */
html body .main-nav > a,
html body .main-nav .nav-group-toggle,
html body .main-nav .staff-login-button,
html body .grouped-nav > a,
html body .grouped-nav .nav-group-toggle {
  color: #ffffff !important;
  border: 1px solid #00556f !important;
  background: #00556f !important;
  background-image: none !important;
  box-shadow: 0 5px 13px rgba(0,55,75,.20) !important;
}

html body .main-nav > a:hover,
html body .main-nav .nav-group-toggle:hover,
html body .main-nav .staff-login-button:hover,
html body .grouped-nav > a:hover,
html body .grouped-nav .nav-group-toggle:hover {
  color: #ffffff !important;
  border-color: #20b56a !important;
  background: #006987 !important;
  box-shadow: 0 7px 17px rgba(0,55,75,.28) !important;
}

html body .main-nav > a[aria-current="page"],
html body .main-nav .nav-group-toggle[aria-expanded="true"],
html body .main-nav > a.active {
  color: #ffffff !important;
  border-color: #20b56a !important;
  background: #00556f !important;
  box-shadow:
    inset 0 -4px 0 #20b56a,
    0 7px 18px rgba(0,55,75,.28) !important;
}

/* Keep dropdown panels readable while matching the banner palette */
html body .nav-group-menu {
  border: 1px solid #0d7895 !important;
  background: #ffffff !important;
}

html body .nav-group-menu a {
  color: #00556f !important;
}

html body .nav-group-menu a:hover,
html body .nav-group-menu a:focus-visible {
  color: #ffffff !important;
  background: #00556f !important;
}

/* Version 50 — glowing ticker effect inspired by the banner sparkles */

html body .fx-rate-ticker .fx-rate-window{
  overflow:hidden !important;
}

html body .fx-rate-ticker .fx-rate-track{
  position:relative;
}

html body .fx-rate-ticker .fx-rate-item{
  position:relative;
  overflow:visible !important;
  padding-top:10px !important;
  padding-bottom:10px !important;
}

html body .fx-rate-ticker .fx-rate-item::before,
html body .fx-rate-ticker .fx-rate-item::after{
  content:"";
  position:absolute;
  border-radius:50%;
  pointer-events:none;
  opacity:.75;
  filter:blur(.2px);
  animation:tickerSparklePulse 2.6s ease-in-out infinite;
}

html body .fx-rate-ticker .fx-rate-item::before{
  width:5px;
  height:5px;
  top:8px;
  left:16px;
  background:radial-gradient(circle, rgba(255,255,255,1) 0%, rgba(255,255,255,.85) 35%, rgba(255,255,255,0) 72%);
  box-shadow:
    0 0 8px rgba(255,255,255,.95),
    0 0 16px rgba(255,255,255,.55),
    0 0 24px rgba(79,227,173,.42);
}

html body .fx-rate-ticker .fx-rate-item::after{
  width:4px;
  height:4px;
  right:18px;
  bottom:9px;
  background:radial-gradient(circle, rgba(214,255,243,1) 0%, rgba(214,255,243,.85) 40%, rgba(214,255,243,0) 74%);
  box-shadow:
    0 0 7px rgba(214,255,243,.95),
    0 0 14px rgba(214,255,243,.5),
    0 0 20px rgba(32,181,106,.38);
  animation-delay:1.1s;
}

html body .fx-rate-ticker .fx-rate-currency,
html body .fx-rate-ticker .fx-rate-currency span,
html body .fx-rate-ticker .fx-rate-item strong,
html body .fx-rate-ticker .fx-rate-item b{
  text-shadow:
    0 0 5px rgba(255,255,255,.55),
    0 0 10px rgba(255,255,255,.22),
    0 0 18px rgba(111,255,214,.18);
  animation:tickerTextGlow 2.8s ease-in-out infinite;
}

html body .fx-rate-ticker .fx-rate-item .divider{
  color:#dfffee !important;
  text-shadow:
    0 0 6px rgba(255,255,255,.55),
    0 0 12px rgba(130,255,213,.25);
}

html body .fx-rate-ticker .fx-rate-flag{
  box-shadow:
    0 0 0 2px rgba(255,255,255,.86),
    0 0 10px rgba(255,255,255,.26),
    0 0 18px rgba(89,255,190,.20),
    0 3px 8px rgba(0,0,0,.24) !important;
  animation:tickerFlagGlow 2.8s ease-in-out infinite;
}

@keyframes tickerTextGlow{
  0%,100%{
    text-shadow:
      0 0 5px rgba(255,255,255,.48),
      0 0 10px rgba(255,255,255,.18),
      0 0 18px rgba(111,255,214,.12);
  }
  50%{
    text-shadow:
      0 0 8px rgba(255,255,255,.76),
      0 0 16px rgba(255,255,255,.34),
      0 0 24px rgba(111,255,214,.26);
  }
}

@keyframes tickerFlagGlow{
  0%,100%{
    transform:translateY(0);
    box-shadow:
      0 0 0 2px rgba(255,255,255,.82),
      0 0 10px rgba(255,255,255,.24),
      0 0 18px rgba(89,255,190,.16),
      0 3px 8px rgba(0,0,0,.24);
  }
  50%{
    transform:translateY(-1px);
    box-shadow:
      0 0 0 2px rgba(255,255,255,.95),
      0 0 14px rgba(255,255,255,.36),
      0 0 24px rgba(89,255,190,.28),
      0 4px 10px rgba(0,0,0,.28);
  }
}

@keyframes tickerSparklePulse{
  0%,100%{
    opacity:.42;
    transform:scale(.85);
  }
  50%{
    opacity:1;
    transform:scale(1.25);
  }
}

/* Version 51 — remove leftover green layer under Home tab only */
html body .main-nav > a[aria-current="page"]::before,
html body .main-nav > a[aria-current="page"]::after,
html body .main-nav > a.active::before,
html body .main-nav > a.active::after {
  content: none !important;
  display: none !important;
}

html body .main-nav > a[aria-current="page"],
html body .main-nav > a.active {
  overflow: hidden !important;
  background-clip: padding-box !important;
}

html body .main-nav > a[href="index.html"][aria-current="page"],
html body .main-nav > a[href="index.html"].active {
  background: #00556f !important;
  border: 1px solid #00556f !important;
  box-shadow:
    inset 0 -3px 0 #20b56a,
    0 5px 13px rgba(0,55,75,.20) !important;
}

/* Version 52 — Home tab exactly matches all other tabs */
html body .main-nav > a[href="index.html"],
html body .main-nav > a[href="index.html"][aria-current="page"],
html body .main-nav > a[href="index.html"].active,
html body .grouped-nav > a[href="index.html"],
html body .grouped-nav > a[href="index.html"][aria-current="page"],
html body .grouped-nav > a[href="index.html"].active {
  color: #ffffff !important;
  border: 1px solid #00556f !important;
  background: #00556f !important;
  background-image: none !important;
  box-shadow: 0 5px 13px rgba(0,55,75,.20) !important;
  outline: none !important;
  overflow: hidden !important;
}

html body .main-nav > a[href="index.html"]::before,
html body .main-nav > a[href="index.html"]::after,
html body .grouped-nav > a[href="index.html"]::before,
html body .grouped-nav > a[href="index.html"]::after {
  content: none !important;
  display: none !important;
  width: 0 !important;
  height: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  border: 0 !important;
}

html body .main-nav > a[href="index.html"]:hover,
html body .grouped-nav > a[href="index.html"]:hover {
  color: #ffffff !important;
  border-color: #20b56a !important;
  background: #006987 !important;
  box-shadow: 0 7px 17px rgba(0,55,75,.28) !important;
}

/* Remove active-page green styling from all tabs to prevent any hidden legacy layer */
html body .main-nav > a[aria-current="page"],
html body .main-nav > a.active,
html body .grouped-nav > a[aria-current="page"],
html body .grouped-nav > a.active {
  color: #ffffff !important;
  border: 1px solid #00556f !important;
  background: #00556f !important;
  background-image: none !important;
  box-shadow: 0 5px 13px rgba(0,55,75,.20) !important;
}

/* Version 53 — safe Formspree enquiry form */
.website-contact-form{
  padding:64px 0;
  background:#f5f8f9;
}
.contact-form-card{
  max-width:900px;
  margin:0 auto;
  padding:clamp(24px,4vw,42px);
  border:1px solid #d5e1e5;
  border-radius:20px;
  background:#ffffff;
  box-shadow:0 18px 48px rgba(7,57,91,.10);
}
.contact-form-card h2{
  margin:7px 0 10px;
  color:#07395b;
}
.contact-form-card > p{
  color:#5b6f7b;
}
.contact-form-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px;
  margin-top:24px;
}
.contact-form-grid label{
  display:flex;
  flex-direction:column;
  gap:7px;
  color:#17384c;
  font-weight:800;
}
.contact-form-grid input,
.contact-form-grid select,
.contact-form-grid textarea{
  width:100%;
  padding:13px 14px;
  border:1px solid #cbd9de;
  border-radius:10px;
  background:#ffffff;
  color:#17384c;
  font:inherit;
}
.contact-form-grid input:focus,
.contact-form-grid select:focus,
.contact-form-grid textarea:focus{
  outline:3px solid rgba(32,181,106,.18);
  border-color:#20b56a;
}
.contact-form-full{
  grid-column:1/-1;
}
.contact-consent{
  display:flex;
  align-items:flex-start;
  gap:10px;
  margin:18px 0;
  color:#526977;
  font-size:.92rem;
}
.contact-consent input{
  margin-top:4px;
}
@media(max-width:720px){
  .contact-form-grid{
    grid-template-columns:1fr;
  }
  .contact-form-full{
    grid-column:auto;
  }
}

/* Version 55 — Kingscross form confirmation */
.kingscross-form-confirmation{
  display:flex;
  align-items:flex-start;
  gap:18px;
  margin-top:22px;
  padding:24px;
  border:1px solid rgba(32,181,106,.42);
  border-radius:17px;
  color:#17384c;
  background:linear-gradient(135deg,#f5fff9,#edf9f3);
  box-shadow:0 15px 36px rgba(7,57,91,.10);
}
.kingscross-form-confirmation .confirmation-mark{
  display:grid;
  place-items:center;
  width:48px;
  height:48px;
  flex:0 0 48px;
  border-radius:50%;
  color:#ffffff;
  background:#159447;
  box-shadow:0 0 0 7px rgba(21,148,71,.11);
  font-size:1.45rem;
  font-weight:900;
}
.kingscross-form-confirmation span{
  color:#159447;
  font-size:.76rem;
  font-weight:900;
  letter-spacing:.07em;
  text-transform:uppercase;
}
.kingscross-form-confirmation h3{
  margin:5px 0 8px;
  color:#07395b;
  font-size:1.4rem;
}
.kingscross-form-confirmation p{
  margin:0;
  color:#526977;
  line-height:1.65;
}
.confirmation-reset{
  margin-top:16px;
  padding:10px 15px;
  border:1px solid #00556f;
  border-radius:9px;
  color:#ffffff;
  background:#00556f;
  font:inherit;
  font-weight:800;
  cursor:pointer;
}
.confirmation-reset:hover{
  background:#006987;
}
.formspree-status{
  margin-top:16px;
  padding:13px 15px;
  border-radius:10px;
}
.formspree-error{
  border:1px solid #d79b9b;
  color:#7c2525;
  background:#fff3f3;
}
form[hidden]{
  display:none !important;
}
@media(max-width:560px){
  .kingscross-form-confirmation{
    flex-direction:column;
  }
}

/* Version 61 — audit, accessibility and launch-readiness cleanup */
.skip-link{
  position:fixed;
  left:12px;
  top:-70px;
  z-index:99999;
  padding:11px 15px;
  border-radius:8px;
  color:#ffffff;
  background:#07395b;
  font-weight:800;
  text-decoration:none;
}
.skip-link:focus{top:12px}
.form-honeypot{
  position:absolute !important;
  left:-10000px !important;
  width:1px !important;
  height:1px !important;
  overflow:hidden !important;
  opacity:0 !important;
}
:focus-visible{
  outline:3px solid rgba(32,181,106,.55);
  outline-offset:3px;
}
img{max-width:100%;height:auto}
@media (prefers-reduced-motion: reduce){
  *,
  *::before,
  *::after{
    scroll-behavior:auto !important;
    animation-duration:.01ms !important;
    animation-iteration-count:1 !important;
    transition-duration:.01ms !important;
  }
}
@media print{
  .site-header,
  .fx-rate-ticker,
  .cookie-banner,
  .cookie-modal,
  .mobile-nav-toggle,
  .legal-footer{
    display:none !important;
  }
  body{color:#000;background:#fff}
  a{color:#000;text-decoration:underline}
}

/* Version 62 — location opening hours */
.location-hours{
  grid-column:1/-1;
}
.opening-hours-list{
  display:grid;
  grid-template-columns:minmax(130px,1fr) minmax(100px,.7fr);
  gap:7px 16px;
  margin:8px 0 0;
}
.opening-hours-list dt{
  color:#526977;
  font-weight:750;
}
.opening-hours-list dd{
  margin:0;
  color:#17384c;
  font-weight:850;
  text-align:right;
}
.footer-hours{
  margin-top:10px;
}
@media(max-width:560px){
  .opening-hours-list{
    grid-template-columns:1fr auto;
  }
}

/* Version 63 — consistent navigation landmarks */
.simple-page-nav{
  display:flex;
  justify-content:flex-end;
  gap:10px;
  padding:14px 18px;
}
.simple-page-nav a{
  padding:9px 14px;
  border-radius:9px;
  color:#ffffff;
  background:#00556f;
  font-weight:800;
  text-decoration:none;
}
.simple-page-nav a:hover{
  background:#006987;
}

/* Version 64 — customer-facing production-status cleanup */
.service-availability-notice{
  margin:18px 0 24px;
  padding:16px 18px;
  border:1px solid rgba(0,85,111,.22);
  border-left:5px solid #00556f;
  border-radius:10px;
  background:#f2f8fa;
  color:#17384c;
}
.service-availability-notice strong{
  display:block;
  margin-bottom:5px;
}
.service-availability-notice p{
  margin:0;
}
button:disabled,
input:disabled{
  cursor:not-allowed !important;
  opacity:.58;
}

/* Version 65 — standard operational details */
.operational-details-summary{
  margin-top:20px;
  padding-top:18px;
  border-top:1px solid rgba(255,255,255,.18);
}
.operational-details-summary p{
  margin:5px 0;
}
.operational-details-summary a{
  color:inherit;
}
.company-branch-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px;
  margin:20px 0 30px;
}
.company-branch-card{
  padding:20px;
  border:1px solid rgba(0,85,111,.18);
  border-radius:12px;
  background:#f8fbfc;
}
.company-branch-card h3{
  margin-top:0;
  color:#00556f;
}
@media(max-width:760px){
  .company-branch-grid{grid-template-columns:1fr}
}

/* Version 66 — form validation and submission states */
.form-consent{
  display:flex;
  align-items:flex-start;
  gap:10px;
  margin:14px 0;
  font-size:.93rem;
  line-height:1.45;
}
.form-consent input{
  flex:0 0 auto;
  margin-top:3px;
}
.form-status{
  margin-top:14px;
  min-height:1.4em;
}
.form-status.success,
.form-status.error{
  padding:15px 16px;
  border-radius:10px;
}
.form-status.success{
  border:1px solid rgba(32,181,106,.35);
  background:#effaf4;
  color:#155b36;
}
.form-status.error{
  border:1px solid rgba(183,50,50,.28);
  background:#fff3f3;
  color:#842626;
}
.form-status strong,
.form-status span{
  display:block;
}
.form-status span{
  margin-top:5px;
}
.form-reset-button{
  margin-top:12px;
  padding:9px 13px;
  border:0;
  border-radius:8px;
  background:#00556f;
  color:#fff;
  font-weight:800;
  cursor:pointer;
}
form[aria-busy="true"]{
  opacity:.88;
}

/* Version 67 — security and backend-readiness notices */
.security-backend-notice{
  margin:16px 0 22px;
  padding:16px 18px;
  border:1px solid rgba(157,94,0,.28);
  border-left:5px solid #9d5e00;
  border-radius:10px;
  background:#fff8e8;
  color:#5c3a00;
}
.security-backend-notice strong{
  display:block;
  margin-bottom:5px;
}
.security-backend-notice p{
  margin:0;
}

/* Version 68 — mobile optimisation */
html{
  -webkit-text-size-adjust:100%;
}
body{
  overflow-x:hidden;
}
.breakable-link{
  overflow-wrap:anywhere;
  word-break:break-word;
}
.responsive-table-wrap{
  width:100%;
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
  border-radius:10px;
}
.responsive-table-wrap table{
  min-width:680px;
}
input,
select,
textarea,
button{
  max-width:100%;
}
input,
select,
textarea{
  font-size:16px;
}
img,
svg,
video{
  max-width:100%;
}
@media(max-width:900px){
  .site-header,
  .header-inner{
    padding-left:14px;
    padding-right:14px;
  }
  .hero,
  .hero-section{
    min-height:auto;
  }
  .hero img,
  .hero-banner img{
    width:100%;
    height:auto;
    object-fit:cover;
  }
  .location-grid,
  .company-branch-grid,
  .service-grid,
  .feature-grid,
  .dashboard-grid{
    grid-template-columns:1fr !important;
  }
}
@media(max-width:760px){
  .site-header{
    position:relative;
  }
  .main-nav,
  .grouped-nav{
    width:100%;
    flex-wrap:wrap;
    gap:8px;
  }
  .main-nav a,
  .grouped-nav a,
  .simple-page-nav a{
    min-height:44px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
  }
  .simple-page-nav{
    justify-content:flex-start;
    flex-wrap:wrap;
    padding:10px 12px;
  }
  .fx-rate-ticker,
  .ticker-wrap,
  .rate-ticker{
    overflow:hidden;
  }
  .ticker-track{
    min-width:max-content;
  }
  .legal-page-shell,
  .legal-document,
  main{
    width:100%;
    max-width:100%;
  }
  .legal-document{
    padding-left:16px;
    padding-right:16px;
  }
  .legal-document h1{
    font-size:clamp(1.8rem,8vw,2.5rem);
    line-height:1.08;
  }
  .legal-document h2{
    font-size:clamp(1.3rem,6vw,1.8rem);
  }
  .legal-toc{
    padding:14px;
  }
  .legal-toc ol{
    padding-left:20px;
  }
  .form-row,
  .form-grid,
  .two-column,
  .three-column{
    grid-template-columns:1fr !important;
  }
  form button[type="submit"],
  form input[type="submit"]{
    width:100%;
    min-height:46px;
  }
  .location-card,
  .company-branch-card{
    padding:16px;
  }
  .opening-hours-list{
    grid-template-columns:minmax(0,1fr) auto;
    gap:7px 12px;
  }
  .operational-details-summary{
    overflow-wrap:anywhere;
  }
}
@media(max-width:560px){
  body{
    font-size:15px;
  }
  .brand img,
  .site-logo{
    max-width:210px;
    height:auto;
  }
  .hero img,
  .hero-banner img{
    aspect-ratio:auto;
    object-fit:contain;
  }
  .main-nav,
  .grouped-nav,
  .simple-page-nav{
    flex-direction:column;
    align-items:stretch;
  }
  .main-nav a,
  .grouped-nav a,
  .simple-page-nav a{
    width:100%;
  }
  .legal-actions,
  .button-row,
  .hero-actions{
    display:flex;
    flex-direction:column;
    gap:10px;
  }
  .legal-actions a,
  .button-row a,
  .hero-actions a,
  .grouped-button{
    width:100%;
    text-align:center;
  }
  .privacy-contact-card,
  .legal-callout,
  .service-availability-notice,
  .security-backend-notice{
    padding:14px;
  }
  .responsive-table-wrap{
    margin-left:-4px;
    margin-right:-4px;
    width:calc(100% + 8px);
  }
  .footer-columns,
  .site-footer-inner{
    grid-template-columns:1fr !important;
  }
}
@media(max-width:390px){
  .legal-document{
    padding-left:12px;
    padding-right:12px;
  }
  .opening-hours-list{
    grid-template-columns:1fr;
  }
  .opening-hours-list dd{
    text-align:left;
    margin-bottom:6px;
  }
}

/* Version 69 — legal and regulatory consistency review */
.legal-review-status{
  margin:16px 0 22px;
  padding:14px 16px;
  border:1px solid rgba(0,85,111,.2);
  border-left:5px solid #00556f;
  border-radius:10px;
  background:#f3f8fa;
  color:#17384c;
}
.legal-review-status strong{
  display:block;
  margin-bottom:4px;
}
.legal-review-status p{
  margin:0;
}
.related-legal-links ul{
  columns:2;
  column-gap:28px;
}
@media(max-width:650px){
  .related-legal-links ul{columns:1}
}

/* Version 73 — expanded agent recruitment */
.agent-recruitment-page{max-width:1180px;margin:0 auto;padding:30px 20px 60px}
.agent-hero{margin-bottom:28px}
.agent-hero-copy{max-width:900px}
.agent-hero .eyebrow{margin:0 0 8px;color:#0c6f7f;font-weight:900;letter-spacing:.08em;text-transform:uppercase;font-size:.82rem}
.agent-hero h1{margin:0 0 12px;font-size:clamp(2.1rem,5vw,3.7rem);line-height:1.05;color:#07395b}
.agent-section{margin:34px 0}
.agent-section h2{color:#07395b;margin-bottom:12px}
.agent-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.agent-card{padding:20px;border:1px solid rgba(0,85,111,.18);border-radius:12px;background:#f8fbfc}
.agent-card h3{color:#00556f;margin-top:0}
.agent-card ul,.agent-checklist,.agent-process{line-height:1.65}
.agent-table-wrap{width:100%;overflow-x:auto}
.agent-application-form{margin-top:20px;padding:22px;border:1px solid rgba(0,85,111,.2);border-radius:14px;background:#f8fbfc}
.agent-application-form .form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.agent-application-form label{display:block;font-weight:750;color:#17384c}
.agent-application-form input,.agent-application-form select,.agent-application-form textarea{width:100%;margin-top:7px}
@media(max-width:760px){.agent-card-grid,.agent-application-form .form-grid{grid-template-columns:1fr}.agent-recruitment-page{padding-left:14px;padding-right:14px}}

/* Version 74 — Agent value proposition */
.agent-lead{
  font-size:1.22rem;
  line-height:1.55;
  color:#17384c;
  font-weight:650;
  max-width:860px;
}
.agent-opportunity{
  padding:26px 0 10px;
}
.agent-intro-copy{
  max-width:930px;
  font-size:1.08rem;
  line-height:1.7;
}
.agent-benefit-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
  margin:24px 0 28px;
}
.agent-benefit-card{
  padding:20px;
  border:1px solid rgba(0,85,111,.16);
  border-radius:14px;
  background:linear-gradient(180deg,#fbfdfd 0%,#f3f9fa 100%);
  box-shadow:0 8px 22px rgba(7,57,91,.06);
}
.agent-benefit-card h3{
  margin:0 0 9px;
  color:#00556f;
  font-size:1.08rem;
}
.agent-benefit-card p{
  margin:0;
  line-height:1.62;
}
.agent-network-statement,
.agent-entrepreneur-callout{
  margin:22px 0;
  padding:22px;
  border-radius:14px;
}
.agent-network-statement{
  background:#07395b;
  color:#fff;
}
.agent-network-statement h3{
  margin-top:0;
  color:#8ff07b;
}
.agent-network-statement p:last-child{
  margin-bottom:0;
}
.agent-entrepreneur-callout{
  border:1px solid rgba(32,181,106,.28);
  background:#f2fbf5;
}
.agent-entrepreneur-callout h3{
  margin-top:0;
  color:#146a3e;
}
.agent-small-print{
  margin-top:16px;
  padding-top:14px;
  border-top:1px solid rgba(0,85,111,.16);
  font-size:.87rem;
  line-height:1.55;
  color:#607580;
}
@media(max-width:900px){
  .agent-benefit-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:640px){
  .agent-benefit-grid{grid-template-columns:1fr}
}

/* Version 75 — visible Agent Opportunity section */
.agent-opportunity-hero{
  padding-bottom:18px;
}
.agent-opportunity{
  margin:18px 0 42px !important;
  padding:30px !important;
  border-radius:18px;
  background:linear-gradient(180deg,#f6fbfc 0%,#ffffff 100%);
  border:1px solid rgba(0,85,111,.16);
  box-shadow:0 14px 34px rgba(7,57,91,.07);
}
.agent-opportunity-heading{
  max-width:920px;
  margin-bottom:22px;
}
.agent-opportunity-heading h2{
  margin:5px 0 12px;
  font-size:clamp(1.8rem,4vw,2.6rem);
}
.agent-intro-copy{
  font-size:1.1rem;
  line-height:1.7;
}
.agent-benefit-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
  margin:24px 0 30px;
}
.agent-benefit-card{
  position:relative;
  min-height:250px;
  padding:22px;
  border-radius:14px;
  background:#fff;
  border:1px solid rgba(0,85,111,.15);
  box-shadow:0 8px 24px rgba(7,57,91,.06);
}
.agent-benefit-card h3{
  margin:8px 0 10px;
  color:#00556f;
}
.agent-benefit-card p{
  line-height:1.65;
}
.agent-benefit-number{
  font-size:.78rem;
  font-weight:900;
  letter-spacing:.1em;
  color:#20b56a;
}
.fx-benefit-card{
  border:2px solid rgba(32,181,106,.28);
  background:#f4fcf7;
}
.agent-network-statement{
  margin:28px 0 20px;
  padding:24px;
  border-radius:16px;
  background:#07395b;
  color:#fff;
}
.agent-network-statement h3{
  margin-top:0;
  color:#8ff07b;
}
.agent-entrepreneur-callout{
  margin:20px 0;
  padding:24px;
  border-radius:16px;
  border:1px solid rgba(32,181,106,.25);
  background:#effaf4;
}
.agent-entrepreneur-callout h3{
  margin-top:0;
  color:#146a3e;
}
.agent-small-print{
  margin:18px 0 0;
  padding-top:15px;
  border-top:1px solid rgba(0,85,111,.15);
  font-size:.88rem;
  color:#607580;
  line-height:1.55;
}
@media(max-width:900px){
  .agent-benefit-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:650px){
  .agent-opportunity{padding:20px !important}
  .agent-benefit-grid{grid-template-columns:1fr}
  .agent-benefit-card{min-height:auto}
}

/* Version 77 — SEO breadcrumbs */
.seo-breadcrumbs{max-width:1180px;margin:0 auto 16px;padding:8px 0;font-size:.9rem;color:#607580}
.seo-breadcrumbs a{color:#00556f;font-weight:700;text-decoration:none}
.seo-breadcrumbs a:hover{text-decoration:underline}
@media(max-width:760px){.seo-breadcrumbs{padding-left:14px;padding-right:14px}}

/* Version 78 — final responsive desktop/tablet/mobile hardening */
*,*::before,*::after{box-sizing:border-box}

html,body{
  width:100%;
  max-width:100%;
  overflow-x:hidden;
  -webkit-text-size-adjust:100%;
}

main,section,article,header,footer,nav,div{
  min-width:0;
}

img,svg,video,canvas{
  max-width:100%;
  height:auto;
}

.breakable-link,
.agent-benefit-card p,
.agent-card p,
.location-card p,
.company-branch-card p,
.legal-document p,
.legal-document li{
  overflow-wrap:anywhere;
  word-break:normal;
}

input,select,textarea,button{
  max-width:100%;
}

.responsive-table-wrap,
.agent-table-wrap,
.legal-table-wrap{
  width:100%;
  max-width:100%;
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
}

@media(max-width:1100px){
  .agent-benefit-grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
}

@media(max-width:900px){
  .company-branch-grid,
  .location-grid,
  .service-grid,
  .feature-grid{
    grid-template-columns:1fr !important;
  }

  .site-header,
  .header-inner{
    width:100%;
    max-width:100%;
  }
}

@media(max-width:768px){
  .agent-benefit-grid,
  .agent-card-grid,
  .agent-application-form .form-grid,
  .form-grid,
  .form-row,
  .two-column,
  .three-column{
    grid-template-columns:1fr !important;
  }

  .agent-opportunity,
  .agent-application-form,
  .legal-document,
  .privacy-contact-card,
  .location-card,
  .company-branch-card{
    max-width:100%;
  }

  .main-nav,
  .grouped-nav,
  .simple-page-nav{
    max-width:100%;
    flex-wrap:wrap;
  }

  .main-nav a,
  .grouped-nav a,
  .simple-page-nav a,
  button,
  .grouped-button{
    min-height:44px;
  }

  .legal-document h1{
    font-size:clamp(1.8rem,7vw,2.5rem);
    line-height:1.1;
  }

  .legal-document h2{
    font-size:clamp(1.3rem,5vw,1.8rem);
  }
}

@media(max-width:560px){
  body{font-size:15px}

  .agent-recruitment-page{
    padding-left:12px;
    padding-right:12px;
  }

  .agent-opportunity{
    padding:18px 14px !important;
  }

  .agent-benefit-card,
  .agent-card,
  .location-card,
  .company-branch-card,
  .privacy-contact-card,
  .legal-callout{
    padding:15px;
  }

  .main-nav,
  .grouped-nav,
  .simple-page-nav{
    flex-direction:column;
    align-items:stretch;
  }

  .main-nav a,
  .grouped-nav a,
  .simple-page-nav a,
  form button[type="submit"],
  form input[type="submit"],
  .grouped-button{
    width:100%;
  }

  input,select,textarea{
    width:100%;
    font-size:16px;
  }

  .seo-breadcrumbs,
  .legal-document{
    padding-left:12px;
    padding-right:12px;
  }

  .opening-hours-list{
    grid-template-columns:1fr auto;
  }
}

@media(max-width:390px){
  .opening-hours-list{
    grid-template-columns:1fr;
  }

  .opening-hours-list dd{
    text-align:left;
    margin-bottom:6px;
  }

  .agent-hero h1{
    font-size:2rem;
  }

  .agent-opportunity-heading h2{
    font-size:1.65rem;
  }
}

/* Version 78 publication copy — accessible prototype journeys */
.prototype-access-panel{max-width:1100px;margin:24px auto 34px;padding:24px;border:1px solid rgba(0,85,111,.18);border-radius:16px;background:#f7fbfc}
.prototype-action-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:18px 0}
.prototype-action-grid a{text-align:center;text-decoration:none}
.prototype-note{margin:14px 0 0;padding:12px 14px;border-radius:10px;background:#fff8df;color:#5d4b13}
@media(max-width:800px){.prototype-action-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:480px){.prototype-action-grid{grid-template-columns:1fr}}

/* Version 79 — reconnect Services cards to prototype transaction journeys */
.service-card-clickable{
  cursor:pointer;
  position:relative;
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.service-card-clickable:hover,
.service-card-clickable:focus-visible{
  transform:translateY(-2px);
  box-shadow:0 12px 28px rgba(7,57,91,.12);
  border-color:rgba(32,181,106,.42) !important;
  outline:none;
}
.service-card-action{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  margin-top:16px;
  min-height:44px;
  padding:10px 16px;
  border-radius:9px;
  background:#00556f;
  color:#fff !important;
  font-weight:800;
  text-decoration:none !important;
}
.service-card-action:hover,
.service-card-action:focus{
  text-decoration:none !important;
  filter:brightness(1.05);
}
@media(max-width:560px){
  .service-card-action{width:100%}
}

/* Version 81 — active customer login/register cards */
.account-card-clickable{
  cursor:pointer;
  position:relative;
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.account-card-clickable:hover,
.account-card-clickable:focus-visible{
  transform:translateY(-2px);
  box-shadow:0 12px 28px rgba(7,57,91,.12);
  border-color:rgba(32,181,106,.45) !important;
  outline:none;
}
.account-card-action{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  margin-top:18px;
  min-height:44px;
  padding:10px 16px;
  border-radius:9px;
  background:#00556f;
  color:#fff !important;
  font-weight:800;
  text-decoration:none !important;
}
.account-card-action:hover,
.account-card-action:focus{
  filter:brightness(1.06);
  text-decoration:none !important;
}
@media(max-width:560px){
  .account-card-action{width:100%}
}


/* V98: accessibility skip link remains keyboard-accessible on screen, never printed. */
@media print{
  .skip-link{display:none !important;}
}
