
:root{
  --navy:#0B1828;
  --navy-2:#111F33;
  --gold:#E1B94F;
  --gold-light:#FCD970;
  --off-white:#F0F0F0;
  --white:#FFFFFF;
  --text:#111111;
  --muted:#555555;
  --slate:#475569;
  --border:#E2E8F0;
  --soft:#F8FAFC;
  --success:#166534;
  --error:#B91C1C;
  --shadow:0 20px 60px rgba(11,24,40,.12);
  --radius:22px;
  --radius-sm:14px;
  --container:1180px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  color:var(--text);
  background:var(--white);
  line-height:1.6;
  font-size:16px;
}
img{max-width:100%;height:auto}
a{color:inherit}
p{margin:0 0 1rem}
h1,h2,h3{
  margin:0 0 1rem;
  line-height:1.04;
  letter-spacing:-.045em;
}
h1,h2{font-family:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif}
h1{font-size:clamp(2.35rem,4.15vw,4.65rem);font-weight:720}
h2{font-size:clamp(1.85rem,2.8vw,2.85rem);font-weight:700}
h3{font-size:1.2rem}
ul{margin:0 0 1rem;padding-left:1.2rem}
.container{
  width:min(var(--container), calc(100% - 40px));
  margin-inline:auto;
}
.narrow{width:min(850px, calc(100% - 40px))}
.skip-link{
  position:absolute;
  left:-999px;top:8px;
  z-index:1000;
  background:var(--gold);
  color:var(--navy);
  padding:.75rem 1rem;
  border-radius:10px;
}
.skip-link:focus{left:8px}
.sr-only{
  position:absolute;width:1px;height:1px;
  padding:0;margin:-1px;overflow:hidden;
  clip:rect(0,0,0,0);white-space:nowrap;border:0;
}
.site-header{
  position:sticky;
  top:0;
  z-index:100;
  background:rgba(11,24,40,.96);
  backdrop-filter:blur(10px);
  border-bottom:1px solid rgba(255,255,255,.08);
}
.header-inner{
  min-height:82px;
  display:flex;
  align-items:center;
  gap:1.2rem;
}
.brand img{display:block;width:270px;max-height:74px;object-fit:contain}
.site-nav{
  display:flex;
  align-items:center;
  gap:.25rem;
  margin-left:auto;
}
.site-nav a,.nav-parent{
  color:var(--off-white);
  text-decoration:none;
  border:0;
  background:transparent;
  padding:.8rem .72rem;
  border-radius:999px;
  font-weight:700;
  font-size:.91rem;
  cursor:pointer;
}
.site-nav a:hover,.nav-parent:hover,.site-nav a:focus-visible,.nav-parent:focus-visible{
  color:var(--gold-light);
  background:rgba(255,255,255,.07);
  outline:none;
}
.nav-group{position:relative}
.nav-dropdown{
  position:absolute;
  top:100%;
  left:0;
  width:300px;
  background:var(--white);
  color:var(--text);
  border:1px solid var(--border);
  border-radius:18px;
  padding:.55rem;
  box-shadow:var(--shadow);
  opacity:0;
  transform:translateY(10px);
  visibility:hidden;
  transition:.18s ease;
}
.nav-group:hover .nav-dropdown,
.nav-group:focus-within .nav-dropdown,
.nav-group.open .nav-dropdown{
  opacity:1;transform:translateY(0);visibility:visible;
}
.nav-dropdown a{
  display:block;
  color:var(--text);
  border-radius:12px;
  padding:.72rem .85rem;
}
.nav-dropdown a:hover,.nav-dropdown a:focus-visible{
  color:var(--navy);
  background:var(--soft);
}
.header-cta{
  color:var(--navy);
  background:var(--gold);
  text-decoration:none;
  border-radius:999px;
  padding:.78rem 1rem;
  font-weight:760;
  white-space:nowrap;
  transition:.18s ease;
}
.header-cta:hover,.header-cta:focus-visible{
  background:var(--gold-light);
  transform:translateY(-1px);
}
.mobile-nav-toggle{
  display:none;
  margin-left:auto;
  width:46px;height:46px;
  border:1px solid rgba(255,255,255,.18);
  background:rgba(255,255,255,.06);
  border-radius:12px;
  padding:.62rem;
}
.mobile-nav-toggle span:not(.sr-only){
  display:block;height:2px;background:var(--off-white);margin:5px 0;border-radius:999px;
}
.hero{
  background:
    radial-gradient(circle at 80% 10%, rgba(225,185,79,.25), transparent 30%),
    linear-gradient(135deg, var(--navy), #07101D 75%);
  color:var(--white);
  padding:clamp(4rem,8vw,7rem) 0;
  overflow:hidden;
}
.hero-grid{
  display:grid;
  grid-template-columns:minmax(0,1.1fr) minmax(320px,.72fr);
  gap:clamp(2rem,5vw,4.5rem);
  align-items:center;
}
.eyebrow{
  color:var(--gold);
  text-transform:uppercase;
  letter-spacing:.14em;
  font-size:.78rem;
  font-weight:800;
  margin-bottom:.9rem;
}
.hero-subtitle{
  font-size:clamp(1.05rem,1.35vw,1.22rem);
  color:rgba(255,255,255,.82);
  max-width:670px;
}
.hero-actions,.cta-actions{
  display:flex;
  gap:.8rem;
  flex-wrap:wrap;
  margin-top:1.6rem;
}
.button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.45rem;
  min-height:48px;
  border-radius:999px;
  padding:.82rem 1.15rem;
  text-decoration:none;
  font-weight:760;
  border:1px solid transparent;
  cursor:pointer;
  transition:.18s ease;
}
.button:hover,.button:focus-visible{
  transform:translateY(-1px);
  outline:none;
}
.button-primary{
  background:var(--gold);
  color:var(--navy);
}
.button-primary:hover,.button-primary:focus-visible{background:var(--gold-light)}
.button-secondary{
  background:var(--navy);
  color:var(--white);
  border-color:rgba(255,255,255,.18);
}
.button-secondary:hover,.button-secondary:focus-visible{background:var(--navy-2)}
.button-ghost{
  color:var(--white);
  border-color:rgba(255,255,255,.25);
  background:rgba(255,255,255,.06);
}
.button-ghost:hover,.button-ghost:focus-visible{
  background:rgba(255,255,255,.12);
}
.hero-trust{
  margin-top:1.5rem;
  display:flex;
  flex-wrap:wrap;
  gap:.65rem;
  color:rgba(255,255,255,.78);
}
.hero-trust span{
  border:1px solid rgba(255,255,255,.16);
  padding:.48rem .65rem;
  border-radius:999px;
  font-size:.9rem;
  background:rgba(255,255,255,.04);
}
.hero-panel{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:1rem;
}
.panel-card{
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.15);
  border-radius:var(--radius);
  padding:1.2rem;
  backdrop-filter:blur(8px);
}
.panel-card span{
  color:var(--gold-light);
  font-weight:800;
}
.panel-card p{color:rgba(255,255,255,.82);margin:.6rem 0 0}
.large-stat{
  grid-column:1 / -1;
  padding:1.45rem;
}
.large-stat strong{
  display:block;
  font-family:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size:clamp(1.35rem,1.95vw,1.85rem);
  line-height:1.08;
  letter-spacing:-.045em;
  font-weight:720;
  margin-top:.45rem;
}
.stat-label{
  display:block;
  color:var(--gold-light);
  text-transform:uppercase;
  letter-spacing:.12em;
  font-size:.78rem;
}
.section{padding:clamp(3.5rem,7vw,6rem) 0}
.section-muted{background:var(--soft)}
.section-dark{
  background:var(--navy);
  color:var(--white);
}
.section-dark p{color:rgba(255,255,255,.78)}
.section-heading{
  text-align:center;
  max-width:850px;
  margin-bottom:2rem;
}
.section-heading p:not(.eyebrow){font-size:1.08rem;color:var(--muted)}
.service-grid,.guide-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:1.1rem;
}
.service-grid.compact{grid-template-columns:repeat(3,1fr)}
.service-card,.guide-card,.info-card,.side-card,.enquiry-form,.article-cta,.risk-box,.audience-grid div{
  background:var(--white);
  border:1px solid var(--border);
  border-radius:var(--radius);
  box-shadow:0 8px 30px rgba(11,24,40,.06);
}
.service-card,.guide-card{
  display:flex;
  flex-direction:column;
  min-height:270px;
  padding:1.25rem;
  text-decoration:none;
  transition:.18s ease;
}
.service-card:hover,.guide-card:hover,.service-card:focus-visible,.guide-card:focus-visible{
  transform:translateY(-3px);
  box-shadow:var(--shadow);
  outline:none;
  border-color:rgba(225,185,79,.6);
}
.service-card span,.guide-card span{
  color:var(--gold);
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.12em;
  font-size:.72rem;
}
.service-card h3,.guide-card h3{margin-top:.75rem;color:var(--navy)}
.service-card p,.guide-card p{color:var(--muted)}
.service-card strong,.guide-card strong{
  color:var(--navy);
  margin-top:auto;
}
.two-col{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(300px,.42fr);
  gap:clamp(2rem,5vw,4rem);
  align-items:start;
}
.content .lead,.lead{
  font-size:1.18rem;
  color:var(--slate);
}
.side-card{
  padding:1.4rem;
  position:sticky;
  top:112px;
}
.side-card .text-link{display:inline-block;margin-top:1rem}
.contact-card p{border-bottom:1px solid var(--border);padding-bottom:.9rem}
.contact-card p:last-child{border-bottom:0}
.three-card-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:1.1rem;
}
.info-card{
  padding:1.45rem;
}
.info-card h2{font-size:1.65rem}
.tick-list{
  list-style:none;
  padding-left:0;
}
.tick-list li{
  position:relative;
  padding-left:1.65rem;
  margin:.65rem 0;
}
.tick-list li::before{
  content:"";
  position:absolute;
  left:0;top:.48rem;
  width:.72rem;height:.72rem;
  border-radius:50%;
  background:var(--gold);
  box-shadow:0 0 0 4px rgba(225,185,79,.16);
}
.risk-box{
  padding:1rem 1.1rem;
  margin:1.3rem 0;
  background:#FFF8E6;
  border-color:#F4D67A;
}
.risk-box strong{color:var(--navy)}
.risk-box p{margin:.4rem 0 0;color:#3B2F0C}
.process-grid{
  display:grid;
  grid-template-columns:minmax(0,.72fr) minmax(0,1fr);
  gap:clamp(2rem,5vw,4rem);
}
.steps{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:1rem;
}
.steps div{
  background:var(--white);
  border:1px solid var(--border);
  border-radius:var(--radius);
  padding:1.15rem;
}
.section-dark .steps div{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.14)}
.steps span{
  display:inline-grid;
  place-items:center;
  width:34px;height:34px;
  border-radius:50%;
  background:var(--gold);
  color:var(--navy);
  font-weight:800;
  margin-bottom:.8rem;
}
.audience-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:1rem;
}
.audience-grid div{padding:1.2rem}
.location-links{
  display:grid;
  gap:.85rem;
}
.location-links a{
  color:var(--white);
  text-decoration:none;
  border:1px solid rgba(255,255,255,.16);
  border-radius:var(--radius-sm);
  padding:1rem;
  background:rgba(255,255,255,.07);
  font-weight:760;
}
.location-links a:hover,.location-links a:focus-visible{
  color:var(--gold-light);
  outline:none;
}
.enquiry-form{
  padding:clamp(1.25rem,3vw,2rem);
}
.form-heading h2{font-size:2rem}
.form-heading p,.form-note{color:var(--muted)}
.form-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:1rem;
}
label{
  display:grid;
  gap:.35rem;
  font-weight:700;
  color:var(--navy);
}
input,select,textarea{
  width:100%;
  border:1px solid var(--border);
  border-radius:12px;
  padding:.86rem .9rem;
  font:inherit;
  color:var(--text);
  background:var(--white);
}
textarea{resize:vertical}
input:focus,select:focus,textarea:focus{
  outline:3px solid rgba(225,185,79,.3);
  border-color:var(--gold);
}
.checkbox-label{
  display:flex;
  align-items:flex-start;
  gap:.75rem;
  margin-top:1rem;
  font-weight:600;
  color:var(--text);
}
.checkbox-label input{
  width:20px;height:20px;
  margin-top:.18rem;
  flex:0 0 auto;
}
.checkbox-label a{color:var(--navy);font-weight:900}
.optional{color:var(--muted)}
.honeypot{position:absolute;left:-9999px;opacity:0}
.form-status{font-weight:800;margin-top:1rem}
.form-status.success{color:var(--success)}
.form-status.error{color:var(--error)}
.cta-band{
  background:linear-gradient(135deg, var(--navy), #07101D);
  color:var(--white);
  padding:3rem 0;
}
.cta-band-inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:2rem;
}
.cta-band h2{font-size:clamp(1.8rem,3vw,3rem)}
.cta-band p{color:rgba(255,255,255,.78)}
.faq-list{
  display:grid;
  gap:.85rem;
  margin-top:1.5rem;
}
details{
  background:var(--white);
  border:1px solid var(--border);
  border-radius:var(--radius-sm);
  padding:1rem 1.15rem;
}
summary{
  cursor:pointer;
  color:var(--navy);
  font-weight:900;
  font-size:1.05rem;
}
details div{margin-top:.8rem;color:var(--muted)}
.related-list{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:.8rem;
  padding-left:0;
  list-style:none;
}
.related-list a{
  display:block;
  border:1px solid var(--border);
  border-radius:var(--radius-sm);
  padding:1rem;
  background:var(--white);
  text-decoration:none;
  font-weight:760;
}
.related-list a:hover,.related-list a:focus-visible{
  border-color:var(--gold);
  outline:none;
}
.article-hero,.thank-you{
  background:
    radial-gradient(circle at 80% 15%, rgba(225,185,79,.2), transparent 28%),
    linear-gradient(135deg, var(--navy), #07101D);
  color:var(--white);
  padding:clamp(4rem,8vw,7rem) 0;
}
.article-hero .lead,.thank-you .lead{color:rgba(255,255,255,.82)}
.article{
  font-size:1.05rem;
}
.article-section{
  margin-bottom:2.2rem;
  padding-bottom:2rem;
  border-bottom:1px solid var(--border);
}
.article-section h2{font-size:2rem}
.article-cta{
  padding:1.5rem;
  margin-top:2rem;
}
.legal-page{padding:4rem 0}
.text-link{
  color:var(--navy);
  font-weight:800;
}
.small{font-size:.9rem;color:var(--muted)}
.site-footer{
  background:var(--navy);
  color:rgba(255,255,255,.76);
  padding:3.5rem 0 6rem;
}
.footer-grid{
  display:grid;
  grid-template-columns:1.4fr 1fr 1fr 1fr;
  gap:2rem;
}
.footer-brand img{width:270px}
.footer-intro{max-width:430px}
.footer-contact{
  display:grid;
  gap:.35rem;
}
.footer-contact a,.footer-links a{
  color:rgba(255,255,255,.84);
  text-decoration:none;
}
.footer-contact a:hover,.footer-links a:hover,.footer-contact a:focus-visible,.footer-links a:focus-visible{
  color:var(--gold-light);
  outline:none;
}
.footer-heading{
  font-family:Inter, ui-sans-serif, system-ui, sans-serif;
  font-size:1rem;
  text-transform:uppercase;
  letter-spacing:.12em;
  color:var(--gold);
}
.footer-links{
  list-style:none;
  padding:0;
  margin:0;
  display:grid;
  gap:.45rem;
}
.legal-footer{
  border-top:1px solid rgba(255,255,255,.12);
  margin-top:2.5rem;
  padding-top:1.5rem;
  font-size:.82rem;
  color:rgba(255,255,255,.68);
}
.mobile-sticky-cta{
  display:none;
}

/* v1.2 clean typography refinement */
body{
  font-family:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
  text-rendering:optimizeLegibility;
  -webkit-font-smoothing:antialiased;
  font-weight:400;
}
h1,h2,h3,.large-stat strong{
  font-family:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
}
h1{
  max-width:760px;
  font-weight:700;
  letter-spacing:-.055em;
}
h2{
  font-weight:700;
  letter-spacing:-.045em;
}
h3{
  font-weight:700;
  letter-spacing:-.025em;
}
.hero .eyebrow,.stat-label,.service-card span,.guide-card span{
  font-weight:750;
}
.hero-subtitle{
  font-weight:400;
  line-height:1.55;
}
.large-stat strong{
  max-width:520px;
  font-weight:700;
}
.button,.header-cta{
  font-weight:700;
}
.site-nav a,.nav-parent{
  font-weight:650;
}
.panel-card p,.hero-trust span{
  font-size:.91rem;
}

@media (max-width:1050px){
  .brand img{width:230px}
  .header-cta{display:none}
  .site-nav a,.nav-parent{font-size:.88rem;padding:.7rem .5rem}
  .service-grid{grid-template-columns:repeat(2,1fr)}
  .footer-grid{grid-template-columns:1fr 1fr}
}
@media (max-width:860px){
  .header-inner{min-height:72px}
  .mobile-nav-toggle{display:block}
  .site-nav{
    position:absolute;
    top:100%;left:0;right:0;
    display:none;
    flex-direction:column;
    align-items:stretch;
    background:var(--navy);
    padding:1rem;
    border-top:1px solid rgba(255,255,255,.1);
  }
  .site-nav.open{display:flex}
  .site-nav a,.nav-parent{
    width:100%;
    text-align:left;
    border-radius:12px;
    padding:.9rem;
  }
  .nav-dropdown{
    position:static;
    width:100%;
    opacity:1;
    visibility:visible;
    transform:none;
    display:none;
    margin:.2rem 0 .6rem;
    box-shadow:none;
  }
  .nav-group.open .nav-dropdown{display:block}
  .hero-grid,.two-col,.process-grid,.cta-band-inner{
    grid-template-columns:1fr;
  }
  .hero-panel{grid-template-columns:1fr}
  .trust-grid{grid-template-columns:1fr 1fr}
  .three-card-grid,.service-grid.compact,.related-list{grid-template-columns:1fr}
  .side-card{position:static}
  .footer-grid{grid-template-columns:1fr}
  .cta-band-inner{align-items:flex-start}
}
@media (max-width:640px){
  body{font-size:15px}
  .container,.narrow{width:min(100% - 28px, var(--container))}
  .brand img{width:205px}
  .hero{padding:3.5rem 0}
  .service-grid,.guide-grid,.steps,.audience-grid,.form-grid,.trust-grid{
    grid-template-columns:1fr;
  }
  .service-card{min-height:auto}
  .hero-actions,.cta-actions{flex-direction:column}
  .button{width:100%}
  .site-footer{padding-bottom:5.5rem}
  .mobile-sticky-cta{
    position:fixed;
    left:0;right:0;bottom:0;
    z-index:200;
    display:grid;
    grid-template-columns:1fr 1fr;
    background:var(--navy);
    border-top:1px solid rgba(255,255,255,.12);
  }
  .mobile-sticky-cta a{
    color:var(--navy);
    text-decoration:none;
    background:var(--gold);
    text-align:center;
    font-weight:950;
    padding:.92rem;
    border-right:1px solid rgba(11,24,40,.22);
  }
  .mobile-sticky-cta a:first-child{background:var(--off-white)}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{
    scroll-behavior:auto!important;
    transition:none!important;
  }
}


/* Design polish v1.1 — lighter, cleaner header and typography */
:root{
  --navy:#0B1828;
  --navy-2:#101B2B;
}

body{
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}

h1,h2,h3{
  letter-spacing:-.018em;
}

h1{
  font-size:clamp(2.35rem,4.35vw,4.85rem);
  font-weight:600;
  line-height:1.1;
}

h2{
  font-size:clamp(1.9rem,3vw,3.05rem);
  font-weight:600;
}

h3{
  font-weight:700;
}

.site-header{
  background:#071323;
  border-bottom:1px solid rgba(225,185,79,.14);
  backdrop-filter:none;
}

.header-inner{
  min-height:74px;
}

.brand{
  display:flex;
  align-items:center;
}

.brand img{
  width:250px;
  max-height:54px;
}

.site-nav a,.nav-parent{
  font-weight:600;
  font-size:.9rem;
}

.header-cta{
  font-weight:800;
  padding:.72rem .98rem;
}

.hero{
  background:
    radial-gradient(circle at 82% 8%, rgba(225,185,79,.16), transparent 28%),
    linear-gradient(135deg, #071323 0%, #0B1828 48%, #060D18 100%);
  padding:clamp(3.6rem,7vw,6.2rem) 0;
}

.hero-copy{
  max-width:760px;
}

.eyebrow{
  font-weight:800;
  letter-spacing:.12em;
}

.hero-subtitle{
  font-size:clamp(1.04rem,1.35vw,1.22rem);
  max-width:680px;
  color:rgba(255,255,255,.84);
}

.button{
  font-weight:780;
}

.hero-trust span{
  font-size:.87rem;
  background:rgba(255,255,255,.035);
}

.panel-card{
  background:rgba(255,255,255,.065);
  border-color:rgba(255,255,255,.13);
}

.large-stat strong{
  font-size:clamp(1.45rem,2.25vw,2.05rem);
  font-weight:600;
}

.service-card,.guide-card,.info-card,.side-card,.enquiry-form,.article-cta,.risk-box,.audience-grid div{
  box-shadow:0 6px 24px rgba(11,24,40,.045);
}

.service-card,.guide-card{
  min-height:250px;
}

.service-card span,.guide-card span{
  font-weight:800;
}

@media (max-width:980px){
  .brand img{width:230px;max-height:50px}
  .header-inner{min-height:70px}
}

@media (max-width:640px){
  h1{font-size:clamp(2.15rem,12vw,3.15rem)}
  .brand img{width:210px}
  .hero{padding:3.1rem 0}
}


/* Credential logo strip v1.4 */
.credential-logo-strip{
  background:#071323;
  border-top:1px solid rgba(225,185,79,.12);
  border-bottom:1px solid rgba(225,185,79,.12);
  padding:1.05rem 0;
}
.credential-logo-grid{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:1rem;
  flex-wrap:wrap;
}
.credential-logo-card{
  width:min(100%, 430px);
  min-height:112px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1.1rem;
  padding:1rem 1.15rem;
  border:1px solid rgba(255,255,255,.13);
  border-radius:20px;
  background:rgba(255,255,255,.045);
  text-decoration:none;
  transition:transform .18s ease,border-color .18s ease,background .18s ease;
}
.credential-logo-card:hover{
  transform:translateY(-2px);
  border-color:rgba(225,185,79,.36);
  background:rgba(255,255,255,.07);
}
.credential-logo-card span{
  display:block;
  color:rgba(255,255,255,.68);
  font-size:.78rem;
  text-transform:uppercase;
  letter-spacing:.11em;
  font-weight:760;
  line-height:1.35;
}
.credential-logo-card img{
  max-width:184px;
  width:46%;
  height:auto;
  object-fit:contain;
  filter:drop-shadow(0 8px 18px rgba(0,0,0,.12));
}
.footer-credential-logos{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:.7rem;
  margin-top:1.15rem;
}
.footer-credential-logos a{
  display:flex;
  align-items:center;
  justify-content:center;
  width:142px;
  min-height:62px;
  padding:.65rem .7rem;
  border:1px solid rgba(255,255,255,.12);
  border-radius:14px;
  background:rgba(255,255,255,.045);
}
.footer-credential-logos img{
  display:block;
  max-width:118px;
  max-height:46px;
  width:auto;
  height:auto;
  object-fit:contain;
}
@media (max-width:640px){
  .credential-logo-card{
    flex-direction:column;
    align-items:flex-start;
    min-height:auto;
  }
  .credential-logo-card img{
    width:100%;
    max-width:200px;
  }
  .footer-credential-logos a{
    width:calc(50% - .35rem);
  }
}


/* v2.2 review-ready London corporate look */
:root{
  --navy:#071323;
  --navy-2:#0B1828;
  --gold:#E1B94F;
}

.site-header{
  background:rgba(5,13,24,.94);
  border-bottom:1px solid rgba(225,185,79,.18);
  backdrop-filter:blur(12px);
}

.hero.hero-london{
  position:relative;
  isolation:isolate;
  min-height:640px;
  display:flex;
  align-items:center;
  background:
    linear-gradient(90deg, rgba(5,13,24,.84) 0%, rgba(7,19,35,.70) 40%, rgba(7,19,35,.32) 72%, rgba(7,19,35,.44) 100%),
    url('/assets/img/london-skyline-hero.svg') center right / cover no-repeat;
  padding:clamp(4.2rem,7.5vw,7rem) 0;
}

.hero.hero-london::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  background:
    radial-gradient(circle at 74% 22%, rgba(225,185,79,.24), transparent 30%),
    linear-gradient(180deg, rgba(255,255,255,.055), rgba(255,255,255,0) 42%);
  pointer-events:none;
}

.hero.hero-london::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  height:120px;
  z-index:-1;
  background:linear-gradient(180deg, rgba(7,19,35,0), #071323);
  pointer-events:none;
}

.hero-london .hero-copy{
  max-width:780px;
}

.hero-london h1{
  max-width:760px;
  font-weight:660;
  letter-spacing:-.055em;
  line-height:1.03;
  text-shadow:0 22px 58px rgba(0,0,0,.26);
}

.hero-london .hero-subtitle{
  max-width:720px;
  color:rgba(255,255,255,.86);
  text-shadow:0 10px 28px rgba(0,0,0,.28);
}

.hero-london .hero-panel{
  padding:.55rem;
  border:1px solid rgba(255,255,255,.12);
  border-radius:28px;
  background:rgba(6,16,29,.48);
  box-shadow:0 30px 90px rgba(0,0,0,.26);
  backdrop-filter:blur(10px);
}

.hero-london .panel-card{
  background:rgba(255,255,255,.075);
  border-color:rgba(255,255,255,.14);
}

.hero-london .large-stat strong{
  font-size:clamp(1.32rem,2.05vw,1.88rem);
  line-height:1.12;
  font-weight:650;
}

.credential-logo-strip{
  background:#071323;
  border-top:1px solid rgba(225,185,79,.16);
  border-bottom:1px solid rgba(225,185,79,.14);
  padding:1.2rem 0;
}

.credential-logo-card{
  color:#fff;
  text-decoration:none;
  background:rgba(255,255,255,.055);
  border-color:rgba(255,255,255,.15);
  min-height:104px;
  justify-content:center;
}

.credential-logo-card span{
  display:none !important;
}

.credential-logo-card img{
  width:auto;
  max-width:240px;
  max-height:74px;
  filter:drop-shadow(0 12px 20px rgba(0,0,0,.22));
}

.legal-notice h2{
  margin-top:2.5rem;
}

.legal-notice h3{
  margin-top:1.45rem;
  color:var(--navy);
}

.table-wrap{
  overflow-x:auto;
  margin:1rem 0 1.5rem;
  border:1px solid var(--border);
  border-radius:16px;
}

table{
  width:100%;
  border-collapse:collapse;
  min-width:620px;
  background:var(--white);
}

th,td{
  text-align:left;
  vertical-align:top;
  padding:.9rem 1rem;
  border-bottom:1px solid var(--border);
}

th{
  background:var(--soft);
  color:var(--navy);
  font-weight:800;
}

tr:last-child td{
  border-bottom:0;
}

@media (max-width:860px){
  .hero.hero-london{
    min-height:auto;
    background:
      linear-gradient(180deg, rgba(5,13,24,.74) 0%, rgba(7,19,35,.64) 48%, rgba(7,19,35,.82) 100%),
      url('/assets/img/london-skyline-hero.svg') 58% 8% / auto 100% no-repeat;
    padding:3.25rem 0 4rem;
  }
  .hero-london .hero-panel{
    margin-top:.75rem;
  }
  .credential-logo-grid{
    gap:.8rem;
  }
  .credential-logo-card{
    width:100%;
    min-height:92px;
    align-items:center;
    justify-content:center;
  }
  .credential-logo-card img{
    width:auto;
    max-width:230px;
    max-height:70px;
  }
}

@media (max-width:640px){
  .hero.hero-london{
    background:
      linear-gradient(180deg, rgba(5,13,24,.72) 0%, rgba(7,19,35,.60) 45%, rgba(7,19,35,.80) 100%),
      url('/assets/img/london-skyline-hero.svg') 68% top / auto 78% no-repeat;
    padding:3rem 0 3.65rem;
  }
  .hero-london h1{
    font-size:clamp(2.25rem,11.5vw,3.45rem);
  }
  .hero-london .hero-subtitle{
    font-size:1.02rem;
  }
  .hero-london .hero-panel{
    border-radius:22px;
    padding:.45rem;
  }
  .credential-logo-strip{
    background:#071323 !important;
    padding:1rem 0;
  }
  .credential-logo-card{
    background:rgba(255,255,255,.06);
    border-color:rgba(255,255,255,.16);
    min-height:86px;
    padding:1rem;
  }
  .credential-logo-card img{
    max-width:210px;
    max-height:64px;
  }
}


.form-compliance-note{
  margin:.85rem 0 0;
  padding:.85rem 1rem;
  border-radius:14px;
  border:1px solid rgba(225,185,79,.36);
  background:rgba(225,185,79,.10);
  color:#172033;
  font-size:.92rem;
  line-height:1.5;
}
.form-compliance-note strong{
  color:var(--navy);
}

/* v2.5 anti-spam honeypot override */
.honeypot {
  position: absolute !important;
  left: -10000px !important;
  top: auto !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
}


/* v2.6 final polish: cleaner typography, calmer hero, user-replaceable hero image */
:root{
  --navy:#071323;
  --navy-2:#0B1828;
  --gold:#E1B94F;
  --gold-light:#F5D56E;
  --text:#101828;
  --muted:#667085;
  --slate:#475467;
  --soft:#F7F8FA;
  --border:#E5E7EB;
  --shadow:0 18px 48px rgba(7,19,35,.10);
  --radius:20px;
  --radius-sm:12px;
}
html{
  -webkit-text-size-adjust:100%;
  text-rendering:optimizeLegibility;
}
body{
  font-family:Aptos, "Aptos Display", Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
  font-size:16px;
  line-height:1.62;
  letter-spacing:-.005em;
  -webkit-font-smoothing:antialiased;
  font-weight:400;
}
h1,h2,h3,.large-stat strong{
  font-family:Aptos, "Aptos Display", Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
  letter-spacing:-.035em;
  text-wrap:balance;
}
h1{
  font-size:clamp(2.55rem,4.7vw,4.45rem);
  line-height:1.02;
  font-weight:650;
}
h2{
  font-size:clamp(1.8rem,2.65vw,2.65rem);
  line-height:1.08;
  font-weight:640;
}
h3{
  font-size:1.12rem;
  line-height:1.22;
  font-weight:650;
}
p, li{
  text-wrap:pretty;
}
.eyebrow{
  font-size:.73rem;
  letter-spacing:.18em;
  font-weight:760;
}
.site-header{
  background:rgba(5,13,24,.955);
  border-bottom:1px solid rgba(225,185,79,.14);
}
.header-inner{
  min-height:76px;
}
.brand img{
  width:254px;
  max-height:68px;
}
.site-nav a,.nav-parent{
  font-weight:640;
  font-size:.88rem;
  letter-spacing:-.01em;
  padding:.72rem .64rem;
}
.header-cta,.button{
  font-weight:670;
  letter-spacing:-.01em;
}
.header-cta{
  padding:.76rem 1.05rem;
}
.hero.hero-london{
  min-height:650px;
  background:
    linear-gradient(90deg, rgba(5,13,24,.76) 0%, rgba(7,19,35,.62) 42%, rgba(7,19,35,.22) 72%, rgba(7,19,35,.34) 100%),
    url('/assets/img/hero-image.jpg') center right / cover no-repeat;
}
.hero.hero-london::before{
  background:
    radial-gradient(circle at 77% 17%, rgba(225,185,79,.18), transparent 28%),
    linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,0) 48%);
}
.hero.hero-london::after{
  height:100px;
  background:linear-gradient(180deg, rgba(7,19,35,0), rgba(7,19,35,.94));
}
.hero-london h1{
  font-weight:650;
  letter-spacing:-.035em;
  text-shadow:0 18px 48px rgba(0,0,0,.25);
  max-width:780px;
}
.hero-london .hero-subtitle{
  font-size:clamp(1.02rem,1.22vw,1.16rem);
  line-height:1.64;
  color:rgba(255,255,255,.88);
  max-width:690px;
}
.hero-london .hero-panel{
  background:rgba(5,13,24,.40);
  border:1px solid rgba(255,255,255,.16);
  border-radius:24px;
  box-shadow:0 26px 70px rgba(0,0,0,.20);
}
.hero-london .panel-card{
  background:rgba(255,255,255,.07);
  border-color:rgba(255,255,255,.15);
  border-radius:18px;
}
.hero-london .large-stat strong{
  font-size:clamp(1.22rem,1.8vw,1.68rem);
  line-height:1.17;
  font-weight:630;
}
.button{
  min-height:48px;
  padding:.82rem 1.18rem;
}
.button-primary{
  box-shadow:0 12px 26px rgba(225,185,79,.22);
}
.section{
  padding:clamp(3.25rem,6.2vw,5.5rem) 0;
}
.service-card,.guide-card,.info-card,.side-card,.enquiry-form,.article-cta,.risk-box,.audience-grid div{
  border-color:rgba(15,23,42,.09);
  box-shadow:0 10px 26px rgba(7,19,35,.055);
}
.service-card,.guide-card{
  min-height:250px;
  padding:1.22rem;
}
.service-card h3,.guide-card h3{
  color:#0B1828;
}
.section-heading p:not(.eyebrow), .content .lead, .lead{
  color:#5B6472;
}
.credential-logo-strip{
  background:#071323;
  border-top:1px solid rgba(225,185,79,.14);
  border-bottom:1px solid rgba(225,185,79,.14);
}
.form-compliance-note{
  font-size:.9rem;
}
@media (max-width:1080px){
  h1{
    font-size:clamp(2.35rem,6vw,4rem);
  }
  .hero-grid{
    grid-template-columns:minmax(0,1fr);
  }
  .hero-london .hero-copy{
    max-width:820px;
  }
}
@media (max-width:860px){
  .brand img{
    width:225px;
  }
  .hero.hero-london{
    min-height:auto;
    background:
      linear-gradient(180deg, rgba(5,13,24,.70) 0%, rgba(7,19,35,.58) 48%, rgba(7,19,35,.82) 100%),
      url('/assets/img/hero-image.jpg') 62% top / auto 100% no-repeat;
    padding:3.2rem 0 4.2rem;
  }
}
@media (max-width:640px){
  body{font-size:15.7px}
  .hero.hero-london{
    background:
      linear-gradient(180deg, rgba(5,13,24,.66) 0%, rgba(7,19,35,.56) 45%, rgba(7,19,35,.84) 100%),
      url('/assets/img/hero-image.jpg') 66% top / auto 82% no-repeat;
    padding:2.8rem 0 3.6rem;
  }
  .hero-london h1{
    font-size:clamp(2.08rem,10vw,3.1rem);
    line-height:1.04;
    letter-spacing:-.03em;
  }
  .hero-london .hero-subtitle{
    font-size:1rem;
    line-height:1.58;
  }
  .hero-london .hero-panel{
    margin-top:.45rem;
    border-radius:20px;
  }
  .button{
    min-height:46px;
    padding:.78rem 1rem;
  }
  .section{
    padding:3.1rem 0;
  }
}


/* =========================================================
   v2.7 WOW polish — final visual, hero image and mobile fix
   ========================================================= */

/* clean modern finance typography */
:root{
  --navy:#061221;
  --navy-2:#0B1828;
  --gold:#E1B94F;
  --gold-light:#F6D66F;
  --text:#101828;
  --muted:#5B6472;
  --border:#E6EAF0;
  --soft:#F7F8FA;
  --shadow:0 20px 55px rgba(6,18,33,.10);
  --radius:20px;
  --radius-sm:12px;
}

html{
  -webkit-text-size-adjust:100%;
}

body{
  font-family: Inter, Aptos, "Aptos Display", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
  color:var(--text);
  font-size:16px;
  line-height:1.62;
  letter-spacing:-.006em;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}

h1,h2,h3,.large-stat strong{
  font-family: Inter, Aptos, "Aptos Display", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
  letter-spacing:-.038em;
  text-wrap:balance;
}

h1{
  font-size:clamp(2.65rem,4.75vw,4.55rem);
  line-height:1.01;
  font-weight:680;
}

h2{
  font-size:clamp(1.85rem,2.85vw,2.8rem);
  line-height:1.08;
  font-weight:660;
}

h3{
  line-height:1.22;
  font-weight:680;
}

/* smoother header */
.site-header{
  background:rgba(5,13,24,.965) !important;
  border-bottom:1px solid rgba(225,185,79,.16);
  box-shadow:0 10px 30px rgba(0,0,0,.16);
  backdrop-filter:blur(12px);
}

.header-inner{
  min-height:76px;
}

.brand img{
  width:254px;
  max-height:64px;
  object-fit:contain;
}

.site-nav a,.nav-parent{
  font-weight:640;
  font-size:.885rem;
  letter-spacing:-.01em;
}

.header-cta,.button{
  font-weight:720;
  letter-spacing:-.012em;
}

/* hero uses your image and a clean dark corporate gradient */
.hero.hero-london{
  position:relative;
  isolation:isolate;
  min-height:650px;
  display:flex;
  align-items:center;
  color:#fff;
  background:
    linear-gradient(
      90deg,
      rgba(5,13,24,.90) 0%,
      rgba(7,19,35,.78) 38%,
      rgba(7,19,35,.54) 68%,
      rgba(7,19,35,.72) 100%
    ),
    url('/assets/img/hero-image.jpg') center right / cover no-repeat !important;
  padding:clamp(4rem,7vw,6.5rem) 0;
}

.hero.hero-london::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  background:
    radial-gradient(circle at 72% 18%, rgba(225,185,79,.16), transparent 28%),
    linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,0) 44%);
  pointer-events:none;
}

.hero.hero-london::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  height:115px;
  z-index:-1;
  background:linear-gradient(180deg, rgba(6,18,33,0), rgba(6,18,33,.98));
  pointer-events:none;
}

.hero-london .hero-copy{
  max-width:800px;
}

.hero-london h1{
  max-width:790px;
  font-weight:680;
  text-shadow:0 20px 60px rgba(0,0,0,.34);
}

.hero-london .hero-subtitle{
  max-width:710px;
  font-size:clamp(1.02rem,1.25vw,1.16rem);
  line-height:1.64;
  color:rgba(255,255,255,.90);
  text-shadow:0 10px 28px rgba(0,0,0,.32);
}

.hero-actions{
  gap:.85rem;
}

.button{
  min-height:49px;
  padding:.84rem 1.18rem;
}

.button-primary{
  background:linear-gradient(180deg, var(--gold-light), var(--gold));
  color:#061221;
  box-shadow:0 14px 28px rgba(225,185,79,.25);
}

.button-primary:hover,.button-primary:focus-visible{
  background:linear-gradient(180deg, #FFE18A, var(--gold));
}

.button-ghost{
  background:rgba(255,255,255,.075);
  border-color:rgba(255,255,255,.28);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.12);
}

/* premium glass panel */
.hero-london .hero-panel{
  padding:.58rem;
  border-radius:28px;
  background:linear-gradient(180deg, rgba(13,28,47,.66), rgba(6,18,33,.54));
  border:1px solid rgba(255,255,255,.16);
  box-shadow:0 32px 90px rgba(0,0,0,.28);
  backdrop-filter:blur(12px);
}

.hero-london .panel-card{
  background:rgba(255,255,255,.07);
  border-color:rgba(255,255,255,.16);
  border-radius:18px;
}

.hero-london .panel-card p{
  line-height:1.52;
}

.stat-label,
.eyebrow,
.service-card span,
.guide-card span{
  letter-spacing:.16em;
}

.finance-chips{
  display:flex;
  flex-wrap:wrap;
  gap:.55rem;
  margin-top:.7rem;
}

.finance-chips span{
  display:inline-flex;
  align-items:center;
  min-height:34px;
  padding:.48rem .72rem;
  border-radius:999px;
  background:rgba(255,255,255,.10);
  border:1px solid rgba(255,255,255,.16);
  color:#fff;
  font-size:.92rem;
  line-height:1.1;
  font-weight:720;
  letter-spacing:-.015em;
}

/* card polish */
.service-card,.guide-card,.info-card,.side-card,.enquiry-form,.article-cta,.risk-box,.audience-grid div{
  border-color:rgba(15,23,42,.09);
  box-shadow:0 10px 28px rgba(6,18,33,.055);
}

.service-card,.guide-card{
  min-height:246px;
  transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}

.service-card:hover,.guide-card:hover,
.service-card:focus-visible,.guide-card:focus-visible{
  transform:translateY(-4px);
  box-shadow:0 22px 50px rgba(6,18,33,.12);
  border-color:rgba(225,185,79,.58);
}

.section{
  padding:clamp(3.35rem,6.2vw,5.7rem) 0;
}

.section-heading{
  margin-bottom:2.2rem;
}

.section-heading p:not(.eyebrow), .content .lead, .lead{
  color:#5B6472;
}

/* form polish */
label{
  line-height:1.3;
  gap:.42rem;
}

input,select,textarea{
  min-height:50px;
  font-size:16px;
  line-height:1.45;
  font-weight:500;
  padding:.9rem .95rem;
  border-radius:13px;
}

textarea{
  min-height:130px;
}

.checkbox-label{
  line-height:1.45;
  gap:.8rem;
}

.checkbox-label span{
  display:block;
}

.form-compliance-note{
  margin:.95rem 0 0;
  font-size:.91rem;
  line-height:1.52;
}

/* credential strip */
.credential-logo-strip{
  background:#061221 !important;
}

.credential-logo-card{
  border-color:rgba(255,255,255,.15);
  background:rgba(255,255,255,.055);
}

.credential-logo-card:hover,
.credential-logo-card:focus-visible{
  outline:none;
  border-color:rgba(225,185,79,.42);
}

/* mobile visual fixes */
@media (max-width:1080px){
  .hero-grid{
    grid-template-columns:minmax(0,1fr);
  }

  .hero-london .hero-copy{
    max-width:840px;
  }
}

@media (max-width:860px){
  .site-header{
    position:sticky;
  }

  .brand img{
    width:220px;
    max-height:56px;
  }

  .hero.hero-london{
    min-height:auto;
    background:
      linear-gradient(
        180deg,
        rgba(5,13,24,.88) 0%,
        rgba(7,19,35,.72) 44%,
        rgba(7,19,35,.88) 100%
      ),
      url('/assets/img/hero-image.jpg') 58% top / auto 100% no-repeat !important;
    padding:3.15rem 0 4rem;
  }

  .hero-london .hero-panel{
    margin-top:.75rem;
  }
}

@media (max-width:640px){
  body{
    font-size:15.8px;
    line-height:1.6;
  }

  .container,.narrow{
    width:min(100% - 30px, var(--container));
  }

  .brand img{
    width:205px;
  }

  .header-inner{
    min-height:70px;
  }

  .hero.hero-london{
    background:
      linear-gradient(
        180deg,
        rgba(5,13,24,.90) 0%,
        rgba(7,19,35,.76) 45%,
        rgba(7,19,35,.90) 100%
      ),
      url('/assets/img/hero-image.jpg') 64% top / auto 82% no-repeat !important;
    padding:2.75rem 0 3.45rem;
  }

  .hero-london h1{
    font-size:clamp(2.08rem,10vw,3.08rem);
    line-height:1.045;
    letter-spacing:-.032em;
  }

  .hero-london .hero-subtitle{
    font-size:1rem;
    line-height:1.58;
  }

  .hero-london .hero-panel{
    border-radius:20px;
    padding:.5rem;
  }

  .hero-panel .panel-card:not(.large-stat){
    display:none;
  }

  .large-stat{
    padding:1rem;
  }

  .finance-chips{
    gap:.45rem;
  }

  .finance-chips span{
    min-height:32px;
    padding:.45rem .62rem;
    font-size:.86rem;
  }

  .hero-actions,.cta-actions{
    gap:.72rem;
  }

  .button{
    min-height:47px;
    width:100%;
    padding:.78rem 1rem;
    line-height:1.2;
  }

  .form-grid{
    gap:.92rem;
  }

  label{
    font-size:.95rem;
    font-weight:660;
    line-height:1.35;
  }

  input,select,textarea{
    font-size:16px;
    line-height:1.48;
    font-weight:450;
    padding:.88rem .9rem;
    min-height:50px;
  }

  .checkbox-label{
    gap:.72rem;
    font-size:.93rem;
    line-height:1.45;
  }

  .checkbox-label input{
    width:21px;
    height:21px;
    margin-top:.05rem;
  }

  .form-compliance-note{
    font-size:.88rem;
  }

  .mobile-sticky-cta a{
    font-size:1rem;
    line-height:1.2;
  }
}

@media (prefers-reduced-motion:reduce){
  .service-card,.guide-card,.button,.header-cta{
    transition:none !important;
  }
}


/* v2.8 final quality polish — hero image, premium panels and mobile form comfort */
.hero.hero-london{
  min-height:660px;
  background:
    linear-gradient(
      90deg,
      rgba(5,13,24,.90) 0%,
      rgba(7,19,35,.80) 36%,
      rgba(7,19,35,.56) 66%,
      rgba(7,19,35,.72) 100%
    ),
    url('/assets/img/hero-image.jpg') center right / cover no-repeat !important;
}

.hero.hero-london::before{
  background:
    radial-gradient(circle at 78% 16%, rgba(225,185,79,.14), transparent 28%),
    linear-gradient(180deg, rgba(255,255,255,.045), rgba(255,255,255,0) 52%);
}

.hero-london h1{
  max-width:790px;
  font-weight:680;
  letter-spacing:-.038em;
}

.hero-london .hero-subtitle{
  max-width:700px;
  color:rgba(255,255,255,.90);
}

.hero-london .hero-panel{
  background:linear-gradient(180deg, rgba(6,18,33,.74), rgba(6,18,33,.52));
  border:1px solid rgba(255,255,255,.18);
  box-shadow:0 34px 88px rgba(0,0,0,.30);
}

.hero-london .large-stat{
  padding:1.28rem;
}

.finance-chips span{
  background:rgba(255,255,255,.115);
  border-color:rgba(255,255,255,.18);
}

label{
  font-weight:650;
}

input,select,textarea{
  font-weight:450;
}

input::placeholder,textarea::placeholder{
  color:#8A94A6;
}

.checkbox-label{
  font-weight:560;
}

@media (max-width:860px){
  .hero.hero-london{
    background:
      linear-gradient(
        180deg,
        rgba(5,13,24,.90) 0%,
        rgba(7,19,35,.76) 46%,
        rgba(7,19,35,.92) 100%
      ),
      url('/assets/img/hero-image.jpg') 58% top / auto 100% no-repeat !important;
  }
}

@media (max-width:640px){
  .hero.hero-london{
    background:
      linear-gradient(
        180deg,
        rgba(5,13,24,.92) 0%,
        rgba(7,19,35,.80) 48%,
        rgba(7,19,35,.94) 100%
      ),
      url('/assets/img/hero-image.jpg') 62% top / auto 82% no-repeat !important;
  }

  label{
    font-size:.94rem;
    font-weight:620;
    line-height:1.38;
    gap:.5rem;
  }

  input,select,textarea{
    font-size:16px;
    line-height:1.5;
    font-weight:430;
    min-height:52px;
    padding:.95rem .95rem;
  }

  textarea{
    min-height:138px;
  }

  .checkbox-label{
    font-size:.92rem;
    font-weight:520;
    line-height:1.5;
  }
}


/* v2.9 custom London photo hero + final visual polish
   Uses /assets/img/hero-image.jpg provided by the site owner.
   The dark overlay is intentional for readability and premium contrast.
*/
.hero.hero-london{
  position:relative;
  isolation:isolate;
  min-height:660px;
  display:flex;
  align-items:center;
  background:
    linear-gradient(
      90deg,
      rgba(3,10,19,.91) 0%,
      rgba(5,13,24,.82) 34%,
      rgba(5,13,24,.58) 63%,
      rgba(5,13,24,.74) 100%
    ),
    url('/assets/img/hero-image.jpg') center center / cover no-repeat !important;
}

.hero.hero-london::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  pointer-events:none;
  background:
    radial-gradient(circle at 77% 18%, rgba(225,185,79,.16), transparent 27%),
    linear-gradient(180deg, rgba(255,255,255,.035), rgba(255,255,255,0) 45%);
}

.hero.hero-london::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  height:104px;
  z-index:-1;
  pointer-events:none;
  background:linear-gradient(180deg, rgba(7,19,35,0), rgba(7,19,35,.96));
}

.hero-london h1{
  max-width:790px;
  font-weight:680;
  letter-spacing:-.04em;
  line-height:1.02;
  text-shadow:0 22px 52px rgba(0,0,0,.34);
}

.hero-london .hero-subtitle{
  max-width:700px;
  color:rgba(255,255,255,.91);
  text-shadow:0 10px 28px rgba(0,0,0,.34);
}

.hero-london .hero-panel{
  background:linear-gradient(180deg, rgba(5,13,24,.72), rgba(5,13,24,.46));
  border:1px solid rgba(255,255,255,.19);
  box-shadow:0 34px 92px rgba(0,0,0,.31);
  backdrop-filter:blur(12px);
}

.hero-london .panel-card{
  background:rgba(255,255,255,.075);
  border-color:rgba(255,255,255,.16);
}

.finance-chips{
  display:flex;
  flex-wrap:wrap;
  gap:.56rem;
  margin-top:.72rem;
}

.finance-chips span{
  display:inline-flex;
  align-items:center;
  min-height:32px;
  padding:.34rem .72rem;
  border:1px solid rgba(255,255,255,.20);
  border-radius:999px;
  background:rgba(255,255,255,.13);
  color:#fff;
  font-weight:720;
  font-size:.88rem;
  line-height:1.15;
  text-transform:none;
  letter-spacing:-.012em;
}

/* make trust logos feel premium rather than bulky */
.credential-logo-strip{
  padding:.72rem 0;
}

.credential-logo-card{
  min-height:76px;
  border-radius:16px;
  padding:.62rem 1rem;
  width:min(100%, 360px);
}

.credential-logo-card img{
  max-height:54px;
  max-width:205px;
}

.footer-credential-logos a{
  min-height:54px;
}

.footer-credential-logos img{
  max-height:40px;
}

/* Mobile form comfort: prevents squeezed bold labels and iPhone zoom */
@media (max-width:640px){
  body{
    font-size:15.8px;
    line-height:1.64;
  }

  .hero.hero-london{
    min-height:auto;
    background:
      linear-gradient(
        180deg,
        rgba(3,10,19,.92) 0%,
        rgba(5,13,24,.78) 46%,
        rgba(5,13,24,.94) 100%
      ),
      url('/assets/img/hero-image.jpg') center top / cover no-repeat !important;
    padding:2.95rem 0 3.7rem;
  }

  .hero-london h1{
    font-size:clamp(2.12rem,10.4vw,3.18rem);
    line-height:1.045;
    letter-spacing:-.034em;
  }

  .hero-london .hero-subtitle{
    font-size:1rem;
    line-height:1.6;
  }

  .hero-london .hero-panel{
    background:linear-gradient(180deg, rgba(5,13,24,.68), rgba(5,13,24,.50));
    border-radius:20px;
    margin-top:.55rem;
  }

  .finance-chips{
    gap:.48rem;
  }

  .finance-chips span{
    font-size:.82rem;
    min-height:30px;
    padding:.32rem .62rem;
  }

  .credential-logo-strip{
    padding:.62rem 0;
  }

  .credential-logo-card{
    min-height:68px;
    padding:.55rem .8rem;
  }

  .credential-logo-card img{
    max-width:190px;
    max-height:48px;
  }

  label{
    font-size:.94rem;
    font-weight:610;
    line-height:1.38;
    gap:.5rem;
  }

  input,
  select,
  textarea{
    font-size:16px;
    line-height:1.5;
    font-weight:430;
    min-height:52px;
    padding:.95rem .96rem;
    border-radius:12px;
  }

  textarea{
    min-height:138px;
  }

  .checkbox-label{
    font-size:.92rem;
    font-weight:520;
    line-height:1.5;
    gap:.72rem;
  }

  .checkbox-label input{
    width:22px;
    height:22px;
  }
}


/* v3.0 final corporate polish
   Keep this block at the end so it overrides earlier experiments.
   Uses the owner-replaceable /assets/img/hero-image.jpg file.
*/
.hero.hero-london{
  position:relative;
  isolation:isolate;
  min-height:660px;
  display:flex;
  align-items:center;
  background:
    linear-gradient(
      90deg,
      rgba(3,10,19,.91) 0%,
      rgba(5,13,24,.82) 36%,
      rgba(5,13,24,.60) 64%,
      rgba(5,13,24,.73) 100%
    ),
    url('/assets/img/hero-image.jpg') center center / cover no-repeat !important;
}

.hero.hero-london::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  pointer-events:none;
  background:
    radial-gradient(circle at 76% 18%, rgba(225,185,79,.14), transparent 28%),
    linear-gradient(180deg, rgba(255,255,255,.03), rgba(255,255,255,0) 44%);
}

.hero.hero-london::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  height:96px;
  z-index:-1;
  pointer-events:none;
  background:linear-gradient(180deg, rgba(7,19,35,0), rgba(7,19,35,.98));
}

.hero-london .hero-grid{
  gap:clamp(2.1rem,5vw,4.2rem);
}

.hero-london h1{
  max-width:800px;
  font-weight:680;
  letter-spacing:-.038em;
  line-height:1.018;
  text-shadow:0 22px 56px rgba(0,0,0,.34);
}

.hero-london .hero-subtitle{
  max-width:710px;
  color:rgba(255,255,255,.91);
  text-shadow:0 10px 26px rgba(0,0,0,.32);
}

.hero-london .hero-panel{
  background:linear-gradient(180deg, rgba(5,13,24,.58), rgba(5,13,24,.38));
  border:1px solid rgba(255,255,255,.15);
  box-shadow:0 26px 66px rgba(0,0,0,.24);
  backdrop-filter:blur(11px);
}

.hero-london .panel-card{
  background:rgba(255,255,255,.068);
  border-color:rgba(255,255,255,.15);
}

.finance-chips span{
  background:rgba(255,255,255,.15);
  border-color:rgba(255,255,255,.22);
  font-weight:700;
}

.credential-logo-strip{
  padding:.62rem 0;
  background:#071323;
}

.credential-logo-grid{
  gap:.75rem;
}

.credential-logo-card{
  min-height:70px;
  width:min(100%, 330px);
  border-radius:15px;
  padding:.55rem .9rem;
  background:rgba(255,255,255,.048);
  border-color:rgba(255,255,255,.13);
}

.credential-logo-card img{
  max-width:188px;
  max-height:48px;
}

.service-card,
.guide-card,
.info-card,
.side-card,
.enquiry-form,
.article-cta,
.risk-box,
.audience-grid div{
  box-shadow:0 10px 28px rgba(7,19,35,.052);
}

.enquiry-form label{
  letter-spacing:-.006em;
}

input,
select,
textarea{
  min-height:50px;
}

.checkbox-label{
  align-items:flex-start;
}

@media (max-width:860px){
  .hero.hero-london{
    min-height:auto;
    background:
      linear-gradient(
        180deg,
        rgba(3,10,19,.90) 0%,
        rgba(5,13,24,.76) 46%,
        rgba(5,13,24,.94) 100%
      ),
      url('/assets/img/hero-image.jpg') center top / cover no-repeat !important;
    padding:3.1rem 0 4rem;
  }

  .hero-london .hero-panel{
    background:linear-gradient(180deg, rgba(5,13,24,.66), rgba(5,13,24,.46));
  }
}

@media (max-width:640px){
  .hero.hero-london{
    background:
      linear-gradient(
        180deg,
        rgba(3,10,19,.92) 0%,
        rgba(5,13,24,.80) 47%,
        rgba(5,13,24,.96) 100%
      ),
      url('/assets/img/hero-image.jpg') center top / cover no-repeat !important;
    padding:2.85rem 0 3.65rem;
  }

  .hero-london h1{
    font-size:clamp(2.12rem,10.4vw,3.18rem);
    line-height:1.045;
    letter-spacing:-.032em;
  }

  .hero-london .hero-subtitle{
    font-size:1rem;
    line-height:1.6;
  }

  .hero-london .hero-panel{
    border-radius:20px;
    margin-top:.55rem;
  }

  .credential-logo-strip{
    padding:.52rem 0;
  }

  .credential-logo-card{
    min-height:64px;
    padding:.5rem .76rem;
  }

  .credential-logo-card img{
    max-width:180px;
    max-height:44px;
  }

  label{
    font-size:.94rem;
    font-weight:610;
    line-height:1.42;
    gap:.5rem;
  }

  input,
  select,
  textarea{
    font-size:16px;
    line-height:1.52;
    font-weight:430;
    min-height:52px;
    padding:.96rem .96rem;
    border-radius:12px;
  }

  textarea{
    min-height:138px;
  }

  .checkbox-label{
    font-size:.92rem;
    font-weight:520;
    line-height:1.52;
    gap:.72rem;
  }

  .checkbox-label input{
    width:22px;
    height:22px;
  }
}


/* v3.1 final credential logo balance + deployment clarity
   Makes Fiducia and NACFB appear visually balanced without altering approved logo files. */
.credential-logo-strip{
  padding:.58rem 0;
}

.credential-logo-grid{
  gap:.78rem;
}

.credential-logo-card{
  width:min(100%, 330px);
  min-height:70px;
  padding:.56rem .92rem;
  display:flex;
  align-items:center;
  justify-content:center;
}

.credential-logo-card.fiducia-logo-card img,
.credential-logo-card[href*="fiducianetwork"] img{
  max-width:230px;
  max-height:58px;
  width:auto;
  height:auto;
  transform:scale(1.08);
  transform-origin:center;
}

.credential-logo-card.nacfb-logo-card img,
.credential-logo-card[href*="nacfb"] img{
  max-width:200px;
  max-height:48px;
  width:auto;
  height:auto;
}

.footer-credential-logos a.fiducia-footer-logo img,
.footer-credential-logos a[href*="fiducianetwork"] img{
  max-width:132px;
  max-height:48px;
  transform:scale(1.08);
  transform-origin:center;
}

.footer-credential-logos a.nacfb-footer-logo img,
.footer-credential-logos a[href*="nacfb"] img{
  max-width:118px;
  max-height:40px;
}

@media (max-width:640px){
  .credential-logo-strip{
    padding:.52rem 0;
  }

  .credential-logo-card{
    min-height:66px;
    padding:.52rem .76rem;
  }

  .credential-logo-card.fiducia-logo-card img,
  .credential-logo-card[href*="fiducianetwork"] img{
    max-width:214px;
    max-height:54px;
  }

  .credential-logo-card.nacfb-logo-card img,
  .credential-logo-card[href*="nacfb"] img{
    max-width:184px;
    max-height:44px;
  }
}


/* v3.3 mobile premium polish + balanced credential logos
   Final override layer: keeps the hero image, improves mobile spacing, and visually balances Fiducia/NACFB. */
.hero.hero-london{
  min-height:650px !important;
  background:
    linear-gradient(
      90deg,
      rgba(5,13,24,.91) 0%,
      rgba(7,19,35,.80) 37%,
      rgba(7,19,35,.60) 68%,
      rgba(7,19,35,.74) 100%
    ),
    url('/assets/img/hero-image.jpg') center right / cover no-repeat !important;
}

.hero-london .hero-panel{
  background:linear-gradient(180deg, rgba(5,13,24,.34), rgba(5,13,24,.24)) !important;
  border:1px solid rgba(255,255,255,.13) !important;
  box-shadow:0 22px 58px rgba(0,0,0,.18) !important;
  backdrop-filter:blur(10px);
}

.hero-london .panel-card{
  background:rgba(255,255,255,.062) !important;
  border-color:rgba(255,255,255,.14) !important;
}

.credential-logo-strip{
  padding:.54rem 0 !important;
  background:#071323 !important;
}

.credential-logo-grid{
  gap:.68rem !important;
}

.credential-logo-card{
  width:min(100%, 320px) !important;
  min-height:66px !important;
  padding:.48rem .82rem !important;
  border-radius:15px !important;
  background:rgba(255,255,255,.048) !important;
  border-color:rgba(255,255,255,.13) !important;
}

.credential-logo-card.fiducia-logo-card img,
.credential-logo-card[href*="fiducianetwork"] img{
  max-width:250px !important;
  max-height:62px !important;
  transform:scale(1.18) !important;
  transform-origin:center !important;
}

.credential-logo-card.nacfb-logo-card img,
.credential-logo-card[href*="nacfb"] img{
  max-width:178px !important;
  max-height:42px !important;
  transform:none !important;
}

.footer-credential-logos a.fiducia-footer-logo img,
.footer-credential-logos a[href*="fiducianetwork"] img{
  max-width:145px !important;
  max-height:52px !important;
  transform:scale(1.14) !important;
  transform-origin:center !important;
}

.footer-credential-logos a.nacfb-footer-logo img,
.footer-credential-logos a[href*="nacfb"] img{
  max-width:108px !important;
  max-height:36px !important;
}

@media (max-width:860px){
  .header-inner{
    min-height:76px !important;
  }

  .brand img{
    width:min(260px, calc(100vw - 116px)) !important;
    max-height:58px !important;
  }

  .mobile-nav-toggle{
    width:50px !important;
    height:50px !important;
    flex:0 0 50px !important;
  }

  .hero.hero-london{
    min-height:auto !important;
    background:
      linear-gradient(
        180deg,
        rgba(5,13,24,.90) 0%,
        rgba(7,19,35,.74) 44%,
        rgba(7,19,35,.93) 100%
      ),
      url('/assets/img/hero-image.jpg') center top / cover no-repeat !important;
    padding:3.45rem 0 4.05rem !important;
  }

  .hero-grid{
    gap:1.45rem !important;
  }

  .hero-london h1{
    max-width:100%;
  }

  .hero-london .hero-subtitle{
    max-width:100%;
  }

  .hero-actions{
    margin-top:1.25rem !important;
  }

  .hero-london .hero-panel{
    margin-top:.6rem !important;
    padding:.62rem !important;
    border-radius:22px !important;
  }

  .hero-panel .panel-card:not(.large-stat){
    display:none !important;
  }

  .hero-london .large-stat{
    padding:1.05rem !important;
  }

  .finance-chips{
    gap:.46rem !important;
  }

  .finance-chips span{
    min-height:31px !important;
    padding:.38rem .62rem !important;
    font-size:.86rem !important;
    line-height:1.18 !important;
    white-space:normal !important;
  }
}

@media (max-width:640px){
  .container,.narrow{
    width:min(100% - 32px, var(--container)) !important;
  }

  .header-inner{
    min-height:76px !important;
  }

  .brand img{
    width:min(250px, calc(100vw - 112px)) !important;
    max-height:56px !important;
  }

  .hero.hero-london{
    background:
      linear-gradient(
        180deg,
        rgba(5,13,24,.90) 0%,
        rgba(7,19,35,.76) 47%,
        rgba(7,19,35,.94) 100%
      ),
      url('/assets/img/hero-image.jpg') center top / cover no-repeat !important;
    padding:3.15rem 0 3.65rem !important;
  }

  .hero-london h1{
    font-size:clamp(2rem,9.4vw,3rem) !important;
    line-height:1.05 !important;
    letter-spacing:-.028em !important;
  }

  .hero-london .hero-subtitle{
    font-size:1rem !important;
    line-height:1.56 !important;
  }

  .hero-actions,.cta-actions{
    gap:.72rem !important;
  }

  .button{
    min-height:48px !important;
    padding:.78rem .9rem !important;
    line-height:1.2 !important;
  }

  .credential-logo-strip{
    padding:.54rem 0 !important;
  }

  .credential-logo-card{
    width:100% !important;
    min-height:72px !important;
    padding:.58rem .85rem !important;
  }

  .credential-logo-card.fiducia-logo-card img,
  .credential-logo-card[href*="fiducianetwork"] img{
    max-width:262px !important;
    max-height:66px !important;
    transform:scale(1.16) !important;
  }

  .credential-logo-card.nacfb-logo-card img,
  .credential-logo-card[href*="nacfb"] img{
    max-width:188px !important;
    max-height:44px !important;
  }

  label{
    font-size:.95rem !important;
    font-weight:620 !important;
    line-height:1.42 !important;
    gap:.5rem !important;
  }

  input,select,textarea{
    font-size:16px !important;
    line-height:1.5 !important;
    font-weight:430 !important;
    min-height:52px !important;
    padding:.92rem .94rem !important;
  }

  .checkbox-label{
    font-size:.92rem !important;
    line-height:1.5 !important;
    font-weight:520 !important;
  }
}


/* v3.3 final trust-logo strip + footer logo polish */
html{
  scroll-padding-top:96px;
}

/* Keep a premium dark breathing space below the homepage trust logos before the white content starts. */
.credential-logo-strip{
  position:relative !important;
  background:#071323 !important;
  padding-top:1.05rem !important;
  padding-bottom:2.25rem !important;
  border-bottom:0 !important;
  box-shadow:inset 0 -1px 0 rgba(225,185,79,.16) !important;
}

.credential-logo-strip::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  height:34px;
  background:
    linear-gradient(180deg, rgba(7,19,35,0) 0%, rgba(7,19,35,.82) 34%, #071323 100%);
  pointer-events:none;
}

.credential-logo-grid{
  position:relative;
  z-index:1;
}

/* Balance homepage Fiducia/NACFB logo optical sizes. */
.credential-logo-card{
  min-height:78px !important;
  padding:.62rem 1.05rem !important;
}

.credential-logo-card.fiducia-logo-card img,
.credential-logo-card[href*="fiducianetwork"] img{
  max-width:280px !important;
  max-height:74px !important;
  transform:scale(1.16) !important;
  transform-origin:center !important;
}

.credential-logo-card.nacfb-logo-card img,
.credential-logo-card[href*="nacfb"] img{
  max-width:176px !important;
  max-height:42px !important;
  transform:none !important;
}

/* Footer trust logos: give them a more premium, visible presence while keeping both balanced. */
.footer-credential-logos{
  gap:.75rem !important;
}

.footer-credential-logos a{
  width:166px !important;
  min-height:70px !important;
  padding:.72rem .82rem !important;
  border-radius:16px !important;
}

.footer-credential-logos a.fiducia-footer-logo img,
.footer-credential-logos a[href*="fiducianetwork"] img{
  max-width:154px !important;
  max-height:56px !important;
  transform:scale(1.10) !important;
  transform-origin:center !important;
}

.footer-credential-logos a.nacfb-footer-logo img,
.footer-credential-logos a[href*="nacfb"] img{
  max-width:126px !important;
  max-height:42px !important;
}

/* Slightly smooth the transition from hero to credentials. */
.hero.hero-london{
  border-bottom:1px solid rgba(225,185,79,.16) !important;
}

@media (max-width:860px){
  .credential-logo-strip{
    padding-top:.95rem !important;
    padding-bottom:1.85rem !important;
  }

  .credential-logo-strip::after{
    height:28px;
  }

  .credential-logo-card{
    min-height:76px !important;
    padding:.66rem .95rem !important;
  }

  .credential-logo-card.fiducia-logo-card img,
  .credential-logo-card[href*="fiducianetwork"] img{
    max-width:272px !important;
    max-height:70px !important;
    transform:scale(1.16) !important;
  }

  .credential-logo-card.nacfb-logo-card img,
  .credential-logo-card[href*="nacfb"] img{
    max-width:186px !important;
    max-height:44px !important;
  }
}

@media (max-width:640px){
  .credential-logo-strip{
    padding-top:.9rem !important;
    padding-bottom:1.85rem !important;
  }

  .credential-logo-card{
    min-height:74px !important;
    padding:.62rem .9rem !important;
  }

  .credential-logo-card.fiducia-logo-card img,
  .credential-logo-card[href*="fiducianetwork"] img{
    max-width:276px !important;
    max-height:72px !important;
    transform:scale(1.18) !important;
  }

  .credential-logo-card.nacfb-logo-card img,
  .credential-logo-card[href*="nacfb"] img{
    max-width:186px !important;
    max-height:44px !important;
  }

  .footer-credential-logos a{
    width:calc(50% - .38rem) !important;
    min-height:66px !important;
  }

  .footer-credential-logos a.fiducia-footer-logo img,
  .footer-credential-logos a[href*="fiducianetwork"] img{
    max-width:142px !important;
    max-height:52px !important;
    transform:scale(1.08) !important;
  }

  .footer-credential-logos a.nacfb-footer-logo img,
  .footer-credential-logos a[href*="nacfb"] img{
    max-width:116px !important;
    max-height:40px !important;
  }
}

/* v3.4 final logo box equalisation — equal card sizes, no fade */
.credential-logo-strip {
  background: #071323 !important;
  padding: 1.35rem 0 1.55rem !important;
  border-top: 1px solid rgba(225,185,79,.18) !important;
  border-bottom: 1px solid rgba(225,185,79,.18) !important;
}

.credential-logo-strip::after {
  display: none !important;
  content: none !important;
}

.credential-logo-grid {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 1rem !important;
  flex-wrap: wrap !important;
}

.credential-logo-card {
  flex: 0 0 420px !important;
  width: 420px !important;
  height: 92px !important;
  min-height: 92px !important;
  max-width: calc(50% - .5rem) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: .8rem 1.1rem !important;
  border-radius: 18px !important;
  background: rgba(255,255,255,.055) !important;
  border: 1px solid rgba(255,255,255,.16) !important;
  box-sizing: border-box !important;
}

.credential-logo-card img {
  display: block !important;
  width: auto !important;
  height: auto !important;
  object-fit: contain !important;
  transform: none !important;
  margin: 0 auto !important;
  filter: drop-shadow(0 10px 16px rgba(0,0,0,.18)) !important;
}

.credential-logo-card.fiducia-logo-card img,
.credential-logo-card[href*="fiducianetwork"] img {
  max-width: 255px !important;
  max-height: 62px !important;
}

.credential-logo-card.nacfb-logo-card img,
.credential-logo-card[href*="nacfb"] img {
  max-width: 230px !important;
  max-height: 56px !important;
}

/* Footer logo boxes: same width, same height */
.footer-credential-logos {
  display: flex !important;
  align-items: center !important;
  gap: .75rem !important;
  flex-wrap: wrap !important;
}

.footer-credential-logos a {
  flex: 0 0 170px !important;
  width: 170px !important;
  height: 72px !important;
  min-height: 72px !important;
  max-width: 170px !important;
  padding: .68rem .78rem !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 14px !important;
  background: rgba(255,255,255,.05) !important;
  border: 1px solid rgba(255,255,255,.14) !important;
  box-sizing: border-box !important;
}

.footer-credential-logos img {
  display: block !important;
  width: auto !important;
  height: auto !important;
  object-fit: contain !important;
  transform: none !important;
  margin: 0 auto !important;
}

.footer-credential-logos a.fiducia-footer-logo img,
.footer-credential-logos a[href*="fiducianetwork"] img {
  max-width: 146px !important;
  max-height: 52px !important;
}

.footer-credential-logos a.nacfb-footer-logo img,
.footer-credential-logos a[href*="nacfb"] img {
  max-width: 140px !important;
  max-height: 48px !important;
}

@media (max-width: 860px) {
  .credential-logo-card {
    flex: 1 1 100% !important;
    width: 100% !important;
    max-width: 100% !important;
    height: 88px !important;
    min-height: 88px !important;
  }

  .credential-logo-card.fiducia-logo-card img,
  .credential-logo-card[href*="fiducianetwork"] img {
    max-width: 255px !important;
    max-height: 62px !important;
  }

  .credential-logo-card.nacfb-logo-card img,
  .credential-logo-card[href*="nacfb"] img {
    max-width: 235px !important;
    max-height: 56px !important;
  }
}

@media (max-width: 640px) {
  .credential-logo-strip {
    padding: 1rem 0 1.15rem !important;
  }

  .credential-logo-grid {
    gap: .8rem !important;
  }

  .credential-logo-card {
    height: 84px !important;
    min-height: 84px !important;
    padding: .75rem 1rem !important;
  }

  .footer-credential-logos {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 170px)) !important;
    justify-content: start !important;
    gap: .7rem !important;
  }

  .footer-credential-logos a {
    width: 170px !important;
    max-width: 170px !important;
    height: 70px !important;
    min-height: 70px !important;
    flex: none !important;
  }

  .footer-credential-logos a.fiducia-footer-logo img,
  .footer-credential-logos a[href*="fiducianetwork"] img {
    max-width: 144px !important;
    max-height: 50px !important;
  }

  .footer-credential-logos a.nacfb-footer-logo img,
  .footer-credential-logos a[href*="nacfb"] img {
    max-width: 138px !important;
    max-height: 46px !important;
  }
}

/* v3.5 responsive mobile + footer logo equalisation final patch */
html {
  scroll-padding-top: 96px;
}

body {
  overflow-x: hidden;
}

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

/* Ensure the homepage never inherits a desktop-width layout on mobile */
.hero.hero-london,
.hero.hero-london * {
  box-sizing: border-box;
}

.hero.hero-london {
  background:
    linear-gradient(
      90deg,
      rgba(5,13,24,.90) 0%,
      rgba(7,19,35,.78) 38%,
      rgba(7,19,35,.58) 68%,
      rgba(7,19,35,.72) 100%
    ),
    url('/assets/img/hero-image.jpg') center right / cover no-repeat !important;
}

.hero-london .hero-panel {
  max-width: 100%;
  overflow: hidden;
}

/* Homepage trust logo strip: equal cards and clean dark band */
.credential-logo-strip {
  background: #071323 !important;
  padding: 1.25rem 0 1.55rem !important;
  border-top: 1px solid rgba(225,185,79,.18) !important;
  border-bottom: 1px solid rgba(225,185,79,.18) !important;
}

.credential-logo-strip::after {
  display: none !important;
}

.credential-logo-grid {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 1rem !important;
  flex-wrap: wrap !important;
}

.credential-logo-card {
  flex: 0 1 400px !important;
  width: 400px !important;
  max-width: calc(50% - .5rem) !important;
  height: 88px !important;
  min-height: 88px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: .78rem 1rem !important;
  border-radius: 18px !important;
  background: rgba(255,255,255,.055) !important;
  border: 1px solid rgba(255,255,255,.16) !important;
}

.credential-logo-card img {
  width: auto !important;
  height: auto !important;
  object-fit: contain !important;
  transform: none !important;
  margin: 0 auto !important;
}

.credential-logo-card.fiducia-logo-card img,
.credential-logo-card[href*="fiducianetwork"] img {
  max-width: 248px !important;
  max-height: 60px !important;
}

.credential-logo-card.nacfb-logo-card img,
.credential-logo-card[href*="nacfb"] img {
  max-width: 232px !important;
  max-height: 54px !important;
}

/* Footer trust logos: same boxes, side-by-side in the footer column */
.footer-credential-logos {
  display: grid !important;
  grid-template-columns: repeat(2, 142px) !important;
  gap: .65rem !important;
  align-items: center !important;
  justify-content: start !important;
  max-width: 296px !important;
}

.footer-credential-logos a {
  width: 142px !important;
  height: 62px !important;
  min-height: 62px !important;
  max-width: 142px !important;
  padding: .54rem .62rem !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 12px !important;
  background: rgba(255,255,255,.055) !important;
  border: 1px solid rgba(255,255,255,.14) !important;
  box-sizing: border-box !important;
}

.footer-credential-logos img {
  display: block !important;
  width: auto !important;
  height: auto !important;
  object-fit: contain !important;
  transform: none !important;
  margin: 0 auto !important;
}

.footer-credential-logos a.fiducia-footer-logo img,
.footer-credential-logos a[href*="fiducianetwork"] img {
  max-width: 122px !important;
  max-height: 43px !important;
}

.footer-credential-logos a.nacfb-footer-logo img,
.footer-credential-logos a[href*="nacfb"] img {
  max-width: 120px !important;
  max-height: 40px !important;
}

/* Stronger responsive rules: fixes mobile desktop-scaling caused by cached/legacy CSS */
@media (max-width: 900px) {
  .container,
  .narrow {
    width: min(100% - 32px, var(--container)) !important;
  }

  .header-inner {
    min-height: 76px !important;
    gap: .75rem !important;
  }

  .brand img {
    width: min(245px, calc(100vw - 112px)) !important;
    max-height: 62px !important;
  }

  .mobile-nav-toggle {
    display: block !important;
    margin-left: auto !important;
    flex: 0 0 52px !important;
    width: 52px !important;
    height: 52px !important;
  }

  .header-cta {
    display: none !important;
  }

  .site-nav {
    position: absolute !important;
    top: 100% !important;
    left: 0 !important;
    right: 0 !important;
    display: none !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: .2rem !important;
    background: #071323 !important;
    padding: 1rem !important;
    border-top: 1px solid rgba(255,255,255,.10) !important;
  }

  .site-nav.open {
    display: flex !important;
  }

  .site-nav a,
  .nav-parent {
    width: 100% !important;
    text-align: left !important;
    border-radius: 12px !important;
    padding: .92rem !important;
    font-size: 1rem !important;
  }

  .nav-dropdown {
    position: static !important;
    width: 100% !important;
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
    display: none !important;
    margin: .2rem 0 .6rem !important;
    box-shadow: none !important;
  }

  .nav-group.open .nav-dropdown {
    display: block !important;
  }

  .hero.hero-london {
    min-height: auto !important;
    padding: 3.1rem 0 3.35rem !important;
    background:
      linear-gradient(
        180deg,
        rgba(5,13,24,.88) 0%,
        rgba(7,19,35,.72) 48%,
        rgba(7,19,35,.90) 100%
      ),
      url('/assets/img/hero-image.jpg') center top / cover no-repeat !important;
  }

  .hero-grid {
    grid-template-columns: 1fr !important;
    gap: 1.25rem !important;
  }

  .hero-london .hero-copy {
    max-width: 100% !important;
  }

  .hero-london h1 {
    max-width: 100% !important;
    font-size: clamp(2.15rem, 9.8vw, 3.35rem) !important;
    line-height: 1.04 !important;
    letter-spacing: -.035em !important;
  }

  .hero-london .hero-subtitle {
    max-width: 100% !important;
    font-size: 1rem !important;
    line-height: 1.55 !important;
  }

  .hero-actions,
  .cta-actions {
    flex-direction: column !important;
    gap: .75rem !important;
  }

  .hero-actions .button,
  .cta-actions .button {
    width: 100% !important;
  }

  .hero-london .hero-panel {
    width: 100% !important;
    margin-top: .65rem !important;
    padding: .65rem !important;
    border-radius: 20px !important;
    background: rgba(5,13,24,.46) !important;
  }

  .hero-panel {
    grid-template-columns: 1fr !important;
  }

  .hero-london .panel-card {
    padding: 1rem !important;
  }

  .hero-london .large-stat strong {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: .45rem !important;
    font-size: 1rem !important;
    line-height: 1.35 !important;
  }

  .credential-logo-card {
    flex: 1 1 calc(50% - .5rem) !important;
    width: calc(50% - .5rem) !important;
    max-width: calc(50% - .5rem) !important;
    height: 82px !important;
    min-height: 82px !important;
  }

  .credential-logo-card.fiducia-logo-card img,
  .credential-logo-card[href*="fiducianetwork"] img {
    max-width: 205px !important;
    max-height: 54px !important;
  }

  .credential-logo-card.nacfb-logo-card img,
  .credential-logo-card[href*="nacfb"] img {
    max-width: 198px !important;
    max-height: 48px !important;
  }

  input,
  select,
  textarea {
    font-size: 16px !important;
    line-height: 1.45 !important;
    padding: .95rem .95rem !important;
  }

  label {
    line-height: 1.35 !important;
  }

  .checkbox-label {
    align-items: flex-start !important;
    line-height: 1.45 !important;
  }
}

@media (max-width: 640px) {
  body {
    font-size: 15.8px !important;
  }

  .container,
  .narrow {
    width: min(100% - 28px, var(--container)) !important;
  }

  .brand img {
    width: min(220px, calc(100vw - 102px)) !important;
  }

  .hero.hero-london {
    padding: 2.65rem 0 3rem !important;
  }

  .hero-london h1 {
    font-size: clamp(2rem, 10.4vw, 3rem) !important;
  }

  .hero-london .hero-subtitle {
    font-size: .98rem !important;
  }

  .credential-logo-strip {
    padding: 1rem 0 1.15rem !important;
  }

  .credential-logo-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: .7rem !important;
  }

  .credential-logo-card {
    width: 100% !important;
    max-width: 100% !important;
    height: 78px !important;
    min-height: 78px !important;
    padding: .65rem .5rem !important;
  }

  .credential-logo-card.fiducia-logo-card img,
  .credential-logo-card[href*="fiducianetwork"] img {
    max-width: 150px !important;
    max-height: 46px !important;
  }

  .credential-logo-card.nacfb-logo-card img,
  .credential-logo-card[href*="nacfb"] img {
    max-width: 148px !important;
    max-height: 42px !important;
  }

  .footer-credential-logos {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    max-width: min(100%, 300px) !important;
    gap: .6rem !important;
  }

  .footer-credential-logos a {
    width: 100% !important;
    max-width: none !important;
    height: 60px !important;
    min-height: 60px !important;
  }

  .footer-credential-logos a.fiducia-footer-logo img,
  .footer-credential-logos a[href*="fiducianetwork"] img {
    max-width: 118px !important;
    max-height: 41px !important;
  }

  .footer-credential-logos a.nacfb-footer-logo img,
  .footer-credential-logos a[href*="nacfb"] img {
    max-width: 116px !important;
    max-height: 38px !important;
  }
}

