/* ── RESET & ROOT ─────────────────────────────────────────────── */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  --dark:#0F1E3D;
  --dark2:#132A52;
  --dark3:#17335F;
  --mid:#20406F;
  --border:rgba(255,255,255,0.14);
  --white:#ffffff;
  --grey:rgba(255,255,255,0.65);
  --light-grey:rgba(255,255,255,0.8);
  --accent:#ffffff;
  --pale:linear-gradient(135deg,#F3F6FA 0%,#D9E1EC 100%);
  --navy-grad:linear-gradient(120deg,#0F1E3D 0%,#1F3F7A 100%);
  --box-grad:linear-gradient(135deg,#F2F7FF 0%,#C6DCFF 55%,#94BCFF 100%);
  --blue-grad:linear-gradient(135deg,#3A82F7 0%,#1449C4 100%);
  --rule-grad:linear-gradient(90deg,#1449C4,#5B9BFF);
  --text-dim:rgba(255,255,255,0.85);
  --text-dimmer:rgba(255,255,255,0.40);
}
html{scroll-behavior:smooth;scroll-padding-top:calc(84px + env(safe-area-inset-top,0px))}
body{padding-bottom:env(safe-area-inset-bottom,0px)}
body{
  font-family:'Satoshi',-apple-system,"Segoe UI",Helvetica,Arial,sans-serif;
  font-weight:500;
  background:var(--dark);
  color:var(--white);
  line-height:1.6;
  font-size:16px;
  overflow-x:hidden;
}

/* ── NAV ──────────────────────────────────────────────────────── */
#nav{
  position:fixed;top:0;left:0;right:0;
  z-index:999;
  background:var(--navy-grad);
  border-bottom:1px solid var(--border);
  height:calc(84px + env(safe-area-inset-top,0px));
  padding-top:env(safe-area-inset-top,0px);
  display:flex;align-items:center;justify-content:space-between;
  padding:0 40px;
}
.nav-logo{
  display:flex;align-items:center;gap:10px;
  text-decoration:none;cursor:pointer;
}
.nav-logo img{height:54px;width:auto;display:block}
.nav-logo-fallback{
  font-family:'Satoshi',-apple-system,"Segoe UI",Helvetica,Arial,sans-serif;
  font-size:18px;font-weight:700;
  color:var(--white);letter-spacing:0.03em;
}
.nav-links{
  display:flex;align-items:center;gap:28px;list-style:none;
}
.nav-links a{
  font-size:11px;font-weight:600;
  letter-spacing:0.13em;text-transform:uppercase;
  color:var(--grey);text-decoration:none;
  transition:color 0.2s;cursor:pointer;
}
.nav-links a:hover,.nav-links a.active{color:var(--white)}
.nav-cta-btn{
  font-size:10.5px;font-weight:700;
  letter-spacing:0.14em;text-transform:uppercase;
  color:var(--white)!important;
  border:1px solid var(--white);
  padding:9px 20px;
  transition:background 0.2s,color 0.2s!important;
  cursor:pointer;
}
.nav-cta-btn:hover{background:var(--white);color:var(--dark)!important}

/* ── PAGE SHELL ───────────────────────────────────────────────── */
.page{display:none;padding-top:calc(84px + env(safe-area-inset-top,0px))}
.page.active{display:block}

/* ── HERO BAND ────────────────────────────────────────────────── */
.hero{
  min-height:90vh;
  display:flex;align-items:center;justify-content:center;
  text-align:center;
  padding:80px 40px;
  background:var(--dark);
  position:relative;overflow:hidden;
}
.hero-bg{
  position:absolute;inset:0;
  background-image:url('/assets/img/home-hero.webp'),radial-gradient(ellipse 90% 70% at 50% 30%,rgba(46,58,80,0.9) 0%,rgba(20,24,32,0.4) 55%,transparent 100%);
  background-size:cover,cover;
  background-position:center,center;
  background-repeat:no-repeat,no-repeat;
  opacity:0.12;
}
.hero-inner{position:relative;max-width:860px;}
.hero-eyebrow{
  font-size:clamp(0.48rem,2.2vw,1.15rem);font-weight:700;
  letter-spacing:clamp(0em,0.12vw,0.1em);text-transform:uppercase;
  white-space:nowrap;
  color:var(--grey);margin:14px 0 10px;
}
.hero h1{
  font-family:'Satoshi',-apple-system,"Segoe UI",Helvetica,Arial,sans-serif;
  font-size:clamp(2.75rem,5vw,4.25rem);
  font-weight:700;line-height:1.08;letter-spacing:-0.02em;
  color:var(--white);margin-bottom:24px;
}
.hero-sub{
  font-size:16px;font-weight:400;
  color:var(--text-dim);
  max-width:620px;margin:0 auto 44px;
  line-height:1.85;
}
/* Hero variant for inner pages */
.hero-sm{
  min-height:42vh;
  padding:70px 40px 60px;
  flex-direction:column;
  background:url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%201920%20620%22%20preserveAspectRatio=%22xMidYMid%20slice%22%3E%3Cdefs%3E%3ClinearGradient%20id=%22bgC%22%20x1=%220%22%20y1=%220%22%20x2=%221%22%20y2=%220.4%22%3E%3Cstop%20offset=%220%22%20stop-color=%22%230F1E3D%22/%3E%3Cstop%20offset=%221%22%20stop-color=%22%231F3F7A%22/%3E%3C/linearGradient%3E%3ClinearGradient%20id=%22p1%22%20x1=%220%22%20y1=%220%22%20x2=%221%22%20y2=%221%22%3E%3Cstop%20offset=%220%22%20stop-color=%22%233A82F7%22%20stop-opacity=%220.30%22/%3E%3Cstop%20offset=%221%22%20stop-color=%22%231449C4%22%20stop-opacity=%220.12%22/%3E%3C/linearGradient%3E%3ClinearGradient%20id=%22p2%22%20x1=%221%22%20y1=%220%22%20x2=%220%22%20y2=%221%22%3E%3Cstop%20offset=%220%22%20stop-color=%22%231449C4%22%20stop-opacity=%220.30%22/%3E%3Cstop%20offset=%221%22%20stop-color=%22%233A82F7%22%20stop-opacity=%220.06%22/%3E%3C/linearGradient%3E%3ClinearGradient%20id=%22beam%22%20x1=%220%22%20y1=%220%22%20x2=%221%22%20y2=%220%22%3E%3Cstop%20offset=%220%22%20stop-color=%22%23ffffff%22%20stop-opacity=%220%22/%3E%3Cstop%20offset=%220.45%22%20stop-color=%22%23cfe2ff%22%20stop-opacity=%220.35%22/%3E%3Cstop%20offset=%220.55%22%20stop-color=%22%23ffffff%22%20stop-opacity=%220.45%22/%3E%3Cstop%20offset=%221%22%20stop-color=%22%23ffffff%22%20stop-opacity=%220%22/%3E%3C/linearGradient%3E%3C/defs%3E%3Crect%20width=%221920%22%20height=%22620%22%20fill=%22url(%23bgC)%22/%3E%3Cpolygon%20points=%220,620%200,260%20820,70%201430,620%22%20fill=%22url(%23p1)%22/%3E%3Cpolygon%20points=%22420,620%201120,0%201920,0%201920,330%20980,620%22%20fill=%22url(%23p2)%22/%3E%3Cpolygon%20points=%220,620%20580,210%201920,470%201920,620%22%20fill=%22%230F1E3D%22%20opacity=%220.35%22/%3E%3Cg%20stroke-width=%221.5%22%20fill=%22none%22%3E%3Cpath%20d=%22M0,260%20L820,70%20L1430,620%22%20stroke=%22%235B9BFF%22%20opacity=%220.4%22/%3E%3Cpath%20d=%22M420,620%20L1120,0%22%20stroke=%22%239db4ec%22%20opacity=%220.3%22/%3E%3Cpath%20d=%22M0,620%20L580,210%20L1920,470%22%20stroke=%22%233A82F7%22%20opacity=%220.35%22/%3E%3C/g%3E%3Cpolygon%20points=%22520,0%20760,0%201500,620%201260,620%22%20fill=%22url(%23beam)%22/%3E%3C/svg%3E") center/cover no-repeat;
}
.hero-sm h1{font-size:clamp(2.75rem,5vw,4.25rem);text-shadow:0 2px 16px rgba(15,30,61,0.7),0 1px 3px rgba(15,30,61,0.6)}
.hero-sm .hero-eyebrow{text-shadow:0 1px 10px rgba(15,30,61,0.75)}

/* ── BUTTONS ──────────────────────────────────────────────────── */
.btn{
  display:inline-block;
  padding:13px 34px;
  font-family:'Satoshi',-apple-system,"Segoe UI",Helvetica,Arial,sans-serif;
  font-size:10.5px;font-weight:700;
  letter-spacing:0.16em;text-transform:uppercase;
  text-decoration:none;cursor:pointer;
  transition:all 0.22s;border:none;
}
.btn-white{
  background:var(--white);color:var(--dark);
  border:1px solid var(--white);
}
.btn-white:hover{background:transparent;color:var(--white)}
.btn-outline{
  background:transparent;color:var(--white);
  border:1px solid rgba(255,255,255,0.45);
}
.btn-outline:hover{border-color:var(--white)}

/* ── SECTION ──────────────────────────────────────────────────── */
.section{padding:80px 40px}
.section-dark{background:var(--dark)}
.section-dark2{background:var(--dark2)}
.section-dark3{background:var(--dark3)}
.container{max-width:1080px;margin:0 auto}

.section-label{
  font-size:9.5px;font-weight:700;
  letter-spacing:0.22em;text-transform:uppercase;
  color:var(--grey);margin-bottom:14px;
}
h2.serif{
  font-family:'Satoshi',-apple-system,"Segoe UI",Helvetica,Arial,sans-serif;
  font-size:clamp(2.25rem,4vw,3.25rem);
  font-weight:700;line-height:1.1;letter-spacing:-0.02em;
  color:var(--white);margin-bottom:28px;
}
h3.serif{
  font-family:'Satoshi',-apple-system,"Segoe UI",Helvetica,Arial,sans-serif;
  font-size:clamp(1.35rem,2.2vw,1.8rem);
  font-weight:700;line-height:1.2;letter-spacing:-0.01em;
  color:var(--white);margin-bottom:16px;
}
p.body-text{
  font-size:16px;color:var(--text-dim);
  line-height:1.6;margin-bottom:16px;
}
.rule{
  width:88px;height:14px;
  background:none;display:block;
  margin:24px 0;
}
.rule-center{margin:24px auto}

/* ── GRID LAYOUTS ─────────────────────────────────────────────── */
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:start}
.three-col{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.four-col{display:grid;grid-template-columns:repeat(4,1fr);gap:40px}

/* ── WHO WE WORK WITH CARDS ───────────────────────────────────── */
.who-card{
  background:var(--dark3);
  padding:44px 36px;
}
.who-card .section-label{margin-bottom:12px}

/* ── STAT ITEMS ───────────────────────────────────────────────── */
.stat-row{
  display:grid;grid-template-columns:repeat(4,1fr);gap:14px;
}
.stat-item{
  padding:36px 28px;
}
.stat-value{
  font-family:'Satoshi',-apple-system,"Segoe UI",Helvetica,Arial,sans-serif;font-weight:700;
  font-size:36px;color:var(--white);
  margin-bottom:6px;
}
.stat-label{font-size:11px;color:var(--grey);letter-spacing:0.1em;text-transform:uppercase}

/* ── LOAN TYPE LIST ───────────────────────────────────────────── */
.loan-list{list-style:none;padding:0}
.loan-list li{
  padding:18px 0;
  border-bottom:1px solid var(--border);
  font-family:'Satoshi',-apple-system,"Segoe UI",Helvetica,Arial,sans-serif;font-weight:500;
  font-size:17px;color:var(--white);
  display:flex;align-items:center;gap:16px;
}
.loan-list li::before{
  content:'';display:inline-block;
  width:5px;height:5px;border-radius:50%;
  background:var(--grey);flex-shrink:0;
}

/* ── WSP FEATURE BOXES ────────────────────────────────────────── */
.feature-boxes{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:48px}
.feature-box{
  background:var(--dark3);padding:40px 32px;
  border-top:2px solid var(--white);
}
.feature-box h3{
  font-family:'Satoshi',-apple-system,"Segoe UI",Helvetica,Arial,sans-serif;font-weight:700;
  font-size:20px;color:var(--white);margin-bottom:10px;
}
.feature-box p{font-size:13.5px;color:var(--grey);line-height:1.75}

/* ── CASE STUDY CARDS ─────────────────────────────────────────── */
.case-grid{display:grid;grid-template-columns:1fr;gap:16px;margin-top:56px}
.case-card{
  background:var(--dark3);padding:44px 48px;
  border-left:2px solid var(--white);
  display:flex;justify-content:space-between;align-items:center;
  gap:40px;cursor:pointer;transition:background 0.2s;
}
.case-card:hover{background:var(--mid)}
.case-card-text h3{
  font-family:'Satoshi',-apple-system,"Segoe UI",Helvetica,Arial,sans-serif;font-weight:700;
  font-size:20px;color:var(--white);margin-bottom:10px;
}
.case-card-text p{font-size:13.5px;color:var(--grey);line-height:1.7}
.case-card-arrow{font-size:22px;color:var(--grey);flex-shrink:0}

/* ── RESOURCES LIST ───────────────────────────────────────────── */
.resource-item{
  padding:28px 32px;
  margin-bottom:16px;
  display:flex;justify-content:space-between;align-items:center;gap:32px;
}
.resource-item h3{
  font-family:'Satoshi',-apple-system,"Segoe UI",Helvetica,Arial,sans-serif;font-weight:700;
  font-size:19px;color:var(--white);margin-bottom:8px;
}
.resource-item p{font-size:13.5px;color:var(--grey);line-height:1.7;max-width:640px}
.resource-item a{flex-shrink:0}

/* ── CONTACT FORM ─────────────────────────────────────────────── */
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:start}
.form-field{margin-bottom:20px}
.form-field label{
  display:block;font-size:10px;font-weight:700;
  letter-spacing:0.15em;text-transform:uppercase;
  color:var(--grey);margin-bottom:8px;
}
.form-field input,
.form-field textarea{
  width:100%;background:var(--dark3);
  border:1px solid var(--border);color:var(--white);
  padding:13px 16px;font-family:'Satoshi',-apple-system,"Segoe UI",Helvetica,Arial,sans-serif;font-size:14px;
  outline:none;transition:border 0.2s;
  -webkit-appearance:none;border-radius:0;
}
.form-field input:focus,
.form-field textarea:focus{border-color:rgba(255,255,255,0.5)}
.form-field textarea{resize:vertical;min-height:130px}

/* ── PROMISE BOX ──────────────────────────────────────────────── */
.promise-box{
  background:var(--dark3);padding:36px;
  border-left:2px solid var(--white);
  margin-bottom:36px;
}
.promise-box p{font-size:14px;color:var(--text-dim);line-height:1.8;margin-bottom:10px}
.promise-box p:last-child{margin-bottom:0}

/* ── DISCLOSURE ───────────────────────────────────────────────── */
.disclosure{
  background:var(--dark3);padding:28px 36px;
  margin-top:40px;
}
.disclosure h4{
  font-size:10px;font-weight:700;letter-spacing:0.15em;
  text-transform:uppercase;color:var(--grey);margin-bottom:10px;
}
.disclosure p{font-size:12px;color:var(--text-dimmer);line-height:1.75}

/* ── CTA BAND ─────────────────────────────────────────────────── */
.cta-band{
  background:var(--navy-grad);
  padding:54px 40px;text-align:center;
  border-top:1px solid var(--border);
}
.cta-band h2{margin-bottom:16px}
.cta-band p{
  font-size:14px;color:var(--text-dim);
  max-width:520px;margin:0 auto 36px;line-height:1.85;
}
.cta-band .section-label{margin-bottom:18px}

/* ── FOOTER ───────────────────────────────────────────────────── */
footer{
  background:var(--navy-grad);
  padding:64px 40px 28px;
  border-top:1px solid var(--border);
}
.footer-grid{
  max-width:1080px;margin:0 auto;
  display:grid;grid-template-columns:2.2fr 1fr 1fr 1fr;gap:48px;
  padding-bottom:48px;border-bottom:1px solid var(--border);
}
.footer-logo{height:40px;width:auto;display:block;margin-bottom:18px;opacity:0.7}
.footer-brand p{font-size:12px;color:var(--text-dimmer);line-height:1.8;max-width:260px}
.footer-col h4{
  font-size:9.5px;font-weight:700;letter-spacing:0.2em;
  text-transform:uppercase;color:var(--grey);margin-bottom:18px;
}
.footer-col a{
  display:block;font-size:12.5px;
  color:var(--text-dimmer);text-decoration:none;
  margin-bottom:9px;transition:color 0.2s;cursor:pointer;
}
.footer-col a:hover{color:var(--white)}
.footer-col address{font-style:normal;font-size:12.5px;color:var(--text-dimmer);line-height:1.85}
.footer-bottom{max-width:1080px;margin:24px auto 0}
.footer-copy{font-size:11px;color:var(--text-dimmer);margin-bottom:14px}
.footer-legal{font-size:10.5px;color:rgba(255,255,255,0.22);line-height:1.75}

/* ── COMING SOON ──────────────────────────────────────────────── */
.coming-soon{
  min-height:60vh;display:flex;align-items:center;justify-content:center;
  flex-direction:column;text-align:center;padding:60px 40px;
}
.coming-soon h1{font-family:'Satoshi',-apple-system,"Segoe UI",Helvetica,Arial,sans-serif;font-weight:700;font-size:48px;margin-bottom:16px}
.coming-soon p{color:var(--grey);font-size:15px}

/* ── RESPONSIVE ───────────────────────────────────────────────── */
@media(max-width:900px){
  #nav{padding:0 20px}
  .nav-links{display:none}
  .section{padding:60px 20px}
  .hero{padding:60px 20px}
  .two-col,.contact-grid{grid-template-columns:1fr;gap:48px}
  .three-col,.feature-boxes,.usp-grid{grid-template-columns:1fr;gap:16px}
  .four-col,.stat-row{grid-template-columns:1fr 1fr}
  .footer-grid{grid-template-columns:1fr 1fr;gap:36px}
  .case-card{flex-direction:column;align-items:flex-start}
  .resource-item{flex-direction:column;align-items:flex-start}
  .cta-band{padding:70px 20px}
  footer{padding:48px 20px 24px}
}
@media(max-width:560px){
  .stat-row,.four-col{grid-template-columns:1fr}
  .footer-grid{grid-template-columns:1fr}
}

/* ── LIGHT SECTIONS ───────────────────────────────────────────── */
.section-light{background:#ffffff}
.section-light .section-label{color:var(--dark)}
.section-light h2.serif,.section-light h3.serif{color:var(--dark)}
.section-light p.body-text{color:var(--dark)}
.section-light .loan-list li{color:var(--dark);border-bottom:1px solid rgba(15,30,61,0.12)}
.section-light .loan-list li::before{background:var(--dark)}
.section-light .btn-outline{color:var(--dark);border:1px solid rgba(15,30,61,0.45)}
.section-light .btn-outline:hover{border-color:var(--dark);background:var(--dark);color:var(--white)}
.section-light .btn-white{background:var(--dark);color:var(--white);border:1px solid var(--dark)}
.section-light .btn-white:hover{background:transparent;color:var(--dark)}
.section-light .stat-value{color:var(--dark)}
.section-light .stat-label{color:var(--dark)}
.section-light .feature-box h3{color:var(--dark)}
.section-light .feature-box p{color:var(--dark)}
.section-light .case-card-text h3{color:var(--dark)}
.section-light .case-card-text p{color:var(--dark)}
.section-light .case-card-arrow{color:var(--dark)}
.section-light .promise-box{background:#ffffff;border-left:2px solid var(--dark)}
.section-light .promise-box p{color:var(--dark)}
.section-light .promise-box a[href^="tel"]{color:var(--dark)!important}
.section-light .disclosure{background:#ffffff}
.section-light .disclosure h4{color:var(--dark)}
.section-light .disclosure p{color:var(--dark)}
.section-light .resource-item h3{color:var(--dark)}
.section-light .resource-item p{color:var(--dark)}
.section-light .form-field label{color:var(--dark)}
.section-light .form-field input,
.section-light .form-field textarea{background:#ffffff;border:1px solid rgba(15,30,61,0.25);color:var(--dark)}
.section-light .form-field input:focus,
.section-light .form-field textarea:focus{border-color:var(--dark)}
.section-light #submit-msg{color:var(--dark)!important}
/* V4: white sections — cards separated by navy hairlines, not tinted fills */
.section-light .usp-num{color:var(--dark)}
.section-light .usp-card h4{color:var(--dark)}
.section-light .usp-card p{color:var(--dark)}
.section-light .fee-stat-label{color:var(--dark)}
.section-light .fee-stat-value{color:var(--dark)}
.section-light .fee-context{color:var(--dark)}
.section-light .risk-note{background:#ffffff;border:1px solid rgba(15,30,61,0.35)}
.section-light .risk-note p{color:var(--dark)}
.section-light .hero-sub,.section-light .fee-stat-hero .fee-stat-value{color:var(--dark)}

/* ── AT-A-GLANCE BOX (product pages) ──────────────────────────── */
.glance-box{background:#ffffff;padding:36px 34px;border-top:2px solid var(--dark)}
.glance-box h3{font-family:'Satoshi',-apple-system,"Segoe UI",Helvetica,Arial,sans-serif;font-weight:700;font-size:21px;color:var(--dark);margin-bottom:20px}
.glance-row{display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding:12px 0;border-bottom:1px solid rgba(15,30,61,0.10)}
.glance-row:last-of-type{border-bottom:none}
.glance-label{font-size:10px;font-weight:700;letter-spacing:0.12em;text-transform:uppercase;color:var(--dark)}
.glance-value{font-family:'Satoshi',-apple-system,"Segoe UI",Helvetica,Arial,sans-serif;font-weight:700;font-size:15.5px;color:var(--dark);text-align:right}

/* ── USP NUMBER GRID (product pages) ──────────────────────────── */
.usp-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:8px}
.usp-card{background:var(--dark3);padding:38px 32px}
.usp-num{font-family:'Satoshi',-apple-system,"Segoe UI",Helvetica,Arial,sans-serif;font-weight:700;font-size:26px;color:var(--grey);margin-bottom:14px}
.usp-card h4{font-size:15px;font-weight:600;color:var(--white);margin-bottom:10px;letter-spacing:0.02em}
.usp-card p{font-size:13px;color:var(--grey);line-height:1.75}

/* ── RISK NOTICE ──────────────────────────────────────────────── */
.risk-note{background:var(--dark);padding:26px 30px;margin-top:30px}
.risk-note p{font-size:10.5px;letter-spacing:0.06em;color:rgba(255,255,255,0.45);line-height:1.85}

/* ── QUALIFYING QUESTIONS (contact page only) ─────────────────── */
.qualify-text{font-size:13px;color:var(--dark);line-height:1.7;margin-bottom:12px}
.yn-toggle{display:inline-flex;border:1px solid rgba(15,30,61,0.25);background:#ffffff}
.yn-toggle input{position:absolute;opacity:0;pointer-events:none}
.yn-toggle label{
  display:inline-block;padding:10px 30px;
  font-size:10.5px;font-weight:700;letter-spacing:0.14em;text-transform:uppercase;
  color:var(--dark);background:#ffffff;cursor:pointer;
  transition:background 0.15s,color 0.15s;
}
.yn-toggle label+input+label,
.yn-toggle label:nth-of-type(2){border-left:1px solid rgba(15,30,61,0.25)}
.yn-toggle input:checked+label{background:var(--dark);color:var(--white)}
.agree-row{display:flex;align-items:flex-start;gap:12px;cursor:pointer;margin:6px 0 22px}
.agree-row input{position:absolute;opacity:0;pointer-events:none}
.agree-box{
  width:18px;height:18px;flex-shrink:0;margin-top:3px;position:relative;
  border:1px solid rgba(15,30,61,0.45);background:#ffffff;transition:background 0.15s,border-color 0.15s;
}
.agree-row input:checked~.agree-box{background:var(--dark);border-color:var(--dark)}
.agree-row input:checked~.agree-box::after{
  content:'';position:absolute;left:5px;top:1px;width:5px;height:10px;
  border-right:2px solid #ffffff;border-bottom:2px solid #ffffff;transform:rotate(45deg);
}
.agree-text{font-size:13px;color:var(--dark);line-height:1.7}
.form-alert{font-size:13px;font-weight:700;color:var(--dark);background:#C6DCFF;border-left:3px solid #1449C4;padding:10px 14px;margin:0 0 14px}
.btn[disabled]{
  background:rgba(15,30,61,0.12)!important;color:rgba(15,30,61,0.45)!important;
  border-color:transparent!important;cursor:not-allowed;pointer-events:none;
}

/* ── FEE STAT PANEL (Our Fees page only) ──────────────────────── */
.fee-stats{
  display:grid;grid-template-columns:repeat(3,1fr);gap:16px;
  margin-top:20px;
}
.fee-stat{padding:40px 32px;text-align:center}
.fee-stat-label{
  font-size:10px;font-weight:700;letter-spacing:0.16em;text-transform:uppercase;
  color:var(--grey);margin-bottom:14px;
}
.fee-stat-value{font-family:'Satoshi',-apple-system,"Segoe UI",Helvetica,Arial,sans-serif;font-weight:700;font-size:34px;color:var(--white);line-height:1.1}
.fee-stat-hero .fee-stat-value{font-size:48px}
.fee-context{font-size:12px;color:var(--text-dimmer);line-height:1.75;margin-top:18px;max-width:720px}
@media(max-width:900px){
  .fee-stats{grid-template-columns:1fr}
}

/* ── NAV DROPDOWN ─────────────────────────────────────────────── */
.nav-drop{position:relative}
.nav-drop>a{display:inline-flex;align-items:center;gap:7px}
.nav-drop>a::after{content:'';width:5px;height:5px;border-right:1px solid currentColor;border-bottom:1px solid currentColor;transform:rotate(45deg) translateY(-2px)}
.nav-drop-menu{
  position:absolute;top:100%;left:50%;transform:translateX(-50%) translateY(6px);
  background:var(--navy-grad);border:1px solid var(--border);
  min-width:236px;padding:8px 0;
  opacity:0;visibility:hidden;transition:opacity .18s,transform .18s;
  z-index:1000;
}
.nav-drop::after{content:'';position:absolute;top:100%;left:0;right:0;height:14px}
.nav-drop:hover .nav-drop-menu{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0)}
.nav-drop-menu a{
  display:block;padding:12px 24px;
  font-size:10.5px;font-weight:600;letter-spacing:0.12em;text-transform:uppercase;
  color:var(--grey);text-decoration:none;cursor:pointer;transition:background .15s,color .15s;
}
.nav-drop-menu a:hover{background:var(--dark3);color:var(--white)}

/* ── V4 ADDITIONS ─────────────────────────────────────────────── */
.cta-small{font-size:14px;color:var(--text-dim);margin-bottom:10px}
.dev-tag{display:inline-block;font-size:9.5px;font-weight:700;letter-spacing:0.1em;text-transform:uppercase;color:#ffffff;background:var(--dark);padding:4px 10px;vertical-align:middle;margin-left:10px}
.section-light .dev-tag{background:var(--dark);color:#ffffff}
.dev-note{font-size:11px;font-weight:700;letter-spacing:0.08em;text-transform:uppercase;color:var(--dark);border:1px dashed rgba(15,30,61,0.4);padding:12px 16px;margin-top:28px}

/* Apply Online page */
.apply-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin:36px 0 48px}
.apply-step-card{background:#ffffff;padding:28px 26px}
.apply-step-card .usp-num{color:var(--dark);margin-bottom:8px}
.apply-step-card h4{font-size:15px;font-weight:700;color:var(--dark)}
.apply-form{border-radius:12px;box-shadow:inset 0 0 0 1px rgba(31,102,229,0.25);padding:40px}
.apply-progress{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:36px}
.apply-progress-step{font-size:10.5px;font-weight:700;letter-spacing:0.08em;text-transform:uppercase;color:rgba(15,30,61,0.45);border-top:3px solid rgba(15,30,61,0.15);padding-top:10px}
.apply-progress-step.active{color:var(--dark);border-top-color:var(--dark)}
.apply-panel{display:none}
.apply-panel.active{display:block}
.apply-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 28px}
.form-field select{width:100%;background:#ffffff;border:1px solid rgba(15,30,61,0.25);color:var(--dark);padding:13px 16px;font-family:'Satoshi',-apple-system,"Segoe UI",Helvetica,Arial,sans-serif;font-size:14px;outline:none;border-radius:0;-webkit-appearance:none;appearance:none}
.apply-form .form-field input{background:#ffffff;border:1px solid rgba(15,30,61,0.25);color:var(--dark)}
.apply-form .form-field label{color:var(--dark)}
.loan-list .ll-light{font-weight:400}
.ltv-panel{background:var(--dark);color:var(--white);padding:40px;text-align:center;margin:8px 0 8px}
.ltv-panel .ltv-label{font-size:10.5px;font-weight:700;letter-spacing:0.16em;text-transform:uppercase;color:var(--text-dim);margin-bottom:12px}
.ltv-panel .ltv-value{font-size:56px;font-weight:700;line-height:1}
.ltv-panel .ltv-sub{font-size:12px;color:var(--text-dim);margin-top:14px}
.apply-nav-btns{display:flex;justify-content:space-between;gap:16px;margin-top:32px}
.apply-placeholder{border:1px dashed rgba(15,30,61,0.4);padding:48px 32px;text-align:center;font-size:13px;font-weight:700;letter-spacing:0.08em;text-transform:uppercase;color:var(--dark);margin-bottom:28px}
@media(max-width:700px){.apply-grid{grid-template-columns:1fr}.apply-form{padding:24px}.apply-steps{grid-template-columns:1fr}.apply-progress{grid-template-columns:repeat(2,1fr)}}

/* ── V5 DESIGN SYSTEM ─────────────────────────────────────────── */
.section-pale{background:var(--pale)}

/* Boxes (B): resting fills, chips, hover */
.cbox{position:relative;overflow:hidden;border-radius:12px;border:none;
  transition:transform .3s,box-shadow .3s,background .3s;}
.section-light .cbox{background:var(--box-grad);box-shadow:inset 0 1px 0 rgba(255,255,255,0.9);border:none}
.section-pale .cbox{background:#ffffff;box-shadow:inset 0 0 0 1px rgba(31,102,229,0.18);border:none}
.section-light .cbox:hover,.section-pale .cbox:hover{background:var(--blue-grad);transform:translateY(-4px);box-shadow:0 12px 26px rgba(20,73,196,0.3)}
.section-light .cbox:hover *,.section-pale .cbox:hover *{color:#ffffff!important}
.section-light .cbox:hover .glance-row{border-color:rgba(255,255,255,0.3)}
.cbox::before{content:'';position:absolute;top:0;left:-80%;width:55%;height:100%;
  background:linear-gradient(105deg,transparent,rgba(255,255,255,0.5),transparent);
  transform:skewX(-20deg);opacity:0;pointer-events:none}
.cbox:hover::before{animation:sheen .6s ease forwards}
@keyframes sheen{0%{left:-80%;opacity:1}100%{left:120%;opacity:0}}

/* Icon chips (B4) */
.chip{width:34px;height:34px;border-radius:9px;background:var(--blue-grad);color:#ffffff;
  display:flex;align-items:center;justify-content:center;margin-bottom:14px;flex-shrink:0;
  transition:background .3s,color .3s}
.chip svg{display:block}
.section-light .cbox:hover .chip,.section-pale .cbox:hover .chip{background:#ffffff!important}
.section-light .cbox:hover .chip,.section-pale .cbox:hover .chip{background:#ffffff!important}
.section-light .cbox:hover .chip svg,.section-pale .cbox:hover .chip svg{stroke:#1449C4!important;color:#1449C4!important}

/* Buttons (C) — Apply Online buttons keep V4 style via .keep-v4 */
.btn{position:relative;overflow:hidden;transition:all .25s}
.btn:not(.keep-v4)::before{content:'';position:absolute;top:0;left:-90%;width:60%;height:100%;
  background:linear-gradient(105deg,transparent,rgba(255,255,255,0.55),transparent);
  transform:skewX(-20deg);opacity:0;pointer-events:none}
.btn:not(.keep-v4):hover::before{animation:sheen .6s ease forwards}
.section-light .btn-white:not(.keep-v4),.section-light .btn-outline:not(.keep-v4){
  background:var(--box-grad);color:var(--dark);border:none;box-shadow:inset 0 1px 0 rgba(255,255,255,0.9)}
.section-light .btn-white:not(.keep-v4):hover,.section-light .btn-outline:not(.keep-v4):hover{
  background:var(--blue-grad);color:#ffffff;box-shadow:0 8px 18px rgba(20,73,196,0.3)}
.section-pale .btn-white:not(.keep-v4),.section-pale .btn-outline:not(.keep-v4){
  background:var(--blue-grad);color:#ffffff;border:none}
.section-light .keep-v4.btn-outline{background:transparent;color:var(--dark);border:1px solid rgba(15,30,61,0.45);box-shadow:none}
.section-light .keep-v4.btn-outline:hover{border-color:var(--dark)}
.section-light .keep-v4.btn-white{background:var(--dark);color:var(--white);border:1px solid var(--dark);box-shadow:none}
.section-light .keep-v4.btn-white:hover{background:transparent;color:var(--dark)}
.section-light .cbox:hover .btn,.section-pale .cbox:hover .btn{background:#ffffff!important;color:var(--dark)!important;box-shadow:none}
.nav-cta-solid{background:var(--white);color:var(--dark)!important;position:relative;overflow:hidden}
.nav-cta-solid:hover{background:var(--white);color:var(--dark)!important}
.nav-cta-solid::before{content:'';position:absolute;top:0;left:-90%;width:60%;height:100%;
  background:linear-gradient(105deg,transparent,rgba(20,73,196,0.25),transparent);
  transform:skewX(-20deg);opacity:0;pointer-events:none}
.nav-cta-solid:hover::before{animation:sheen .6s ease forwards}

/* Nav link underline (E) */
.nav-links a{position:relative}
.nav-links a:not(.nav-cta-btn):not(.nav-cta-solid)::after{content:'';position:absolute;left:0;bottom:-6px;
  height:2px;width:100%;background:var(--blue-grad);
  transform:scaleX(0);transform-origin:left;transition:transform .25s ease}
.nav-links a:not(.nav-cta-btn):not(.nav-cta-solid):hover::after{transform:scaleX(1)}

/* B6: equal heading areas so underlines and body text align across a row */
.two-col>div>h2.serif:first-child{min-height:2.3em}
.two-col>div>h3.serif:first-child{min-height:2.5em}
.who-card h3{min-height:3.9em}
.feature-box h3{min-height:2.5em}
.usp-grid .usp-card h4{min-height:2.7em}
.apply-steps .apply-step-card h4{min-height:2.7em}
@media(max-width:900px){
  .two-col>div>h2.serif:first-child,.two-col>div>h3.serif:first-child,
  .who-card h3,.feature-box h3,.usp-grid .usp-card h4,.apply-steps .apply-step-card h4{min-height:0}
}

/* Section reveal (E) — hidden state only ever applied by JS */
/* V10: animate section CONTENT, not the section, so the page background never shows between sections */
.reveal-init>*{opacity:0;transform:translateY(16px)}
.reveal-init.reveal-in>*{opacity:1;transform:none;transition:opacity .5s ease,transform .5s ease}

/* Success Stories modal (K) */
.cs-overlay{position:fixed;inset:0;background:rgba(15,30,61,0.65);z-index:1200;
  display:none;align-items:center;justify-content:center;padding:24px}
.cs-overlay.open{display:flex}
.cs-modal{background:#ffffff;color:var(--dark);border-radius:12px;max-width:560px;width:100%;
  padding:40px;position:relative;box-shadow:0 20px 50px rgba(15,30,61,0.4)}
.cs-modal h3{font-size:1.4rem;font-weight:700;letter-spacing:-0.01em;color:var(--dark);margin-bottom:14px;padding-right:36px}
.cs-modal p{font-size:15px;line-height:1.6;color:var(--dark);margin-bottom:12px}
.cs-close{position:absolute;top:16px;right:16px;width:34px;height:34px;border-radius:9px;
  background:var(--blue-grad);color:#ffffff;border:none;cursor:pointer;font-size:18px;line-height:1;
  display:flex;align-items:center;justify-content:center}

/* Reduced motion (E) */
@media(prefers-reduced-motion:reduce){
  .cbox,.btn,.nav-cta-solid{transition:none}
  .section-light .cbox:hover,.section-pale .cbox:hover{transform:none}
  .cbox:hover::before,.btn:not(.keep-v4):hover::before,.nav-cta-solid:hover::before{animation:none;opacity:0}
  .nav-links a:not(.nav-cta-btn):not(.nav-cta-solid)::after{transition:none}
  .reveal-init>*{opacity:1;transform:none}
  .reveal-init.reveal-in>*{transition:none}
}

/* ── V6 ADDITIONS ─────────────────────────────────────────────── */
/* Fees tables (E3) */
.fee-table{width:100%;border-collapse:separate;border-spacing:0;margin-top:20px;border-radius:12px;overflow:hidden;box-shadow:inset 0 0 0 1px rgba(31,102,229,0.18)}
.fee-table th{background:var(--blue-grad);color:#ffffff;text-align:left;font-size:12px;font-weight:700;letter-spacing:0.08em;text-transform:uppercase;padding:14px 20px}
.fee-table td{padding:14px 20px;font-size:15px;color:var(--dark)}
.fee-table tbody tr:nth-child(odd) td{background:#ffffff}
.fee-table tbody tr:nth-child(even) td{background:#E4E9F1}
.fee-table .ft-fig{text-align:right;font-weight:500;white-space:nowrap}
.fee-table .ft-cashback td{background:var(--blue-grad)!important;color:#ffffff;font-weight:700}
.fee-table .ft-big{font-size:1.5rem;font-weight:700}
.pnum{background:var(--blue-grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.fee-context-panel{max-width:780px;margin-top:22px;font-size:1.25rem;line-height:1.5;color:var(--dark);background:#E4E9F1;border-left:4px solid #1449C4;padding:18px 22px;border-radius:0 12px 12px 0}
/* Gearing big figures (F) */
.big-figures{display:flex;align-items:center;justify-content:center;gap:clamp(20px,4vw,48px);margin-top:12px}
.big-fig{text-align:center}
.big-fig-num{font-size:clamp(3rem,6vw,4.5rem);font-weight:700;line-height:1;letter-spacing:-0.02em;background:var(--blue-grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.big-fig-label{font-size:12px;font-weight:700;letter-spacing:0.12em;text-transform:uppercase;color:var(--dark);margin-top:10px}
.big-fig-divider{width:1px;align-self:stretch;background:rgba(31,102,229,0.3)}
/* Home See How It Works (G) */
.btn-seehow{background:var(--blue-grad)!important;color:#ffffff!important;border:none!important;box-shadow:none!important}
.btn-seehow:hover{filter:brightness(0.86)}
/* Tilt cards (B): contained sheen so preserve-3d isn't flattened by overflow */
.cbox{overflow:visible}
.cbox::before{left:0;width:100%;transform:none;border-radius:12px;opacity:0;
  background:linear-gradient(105deg,transparent 42%,rgba(255,255,255,0.5) 50%,transparent 58%);
  background-size:280% 100%;background-position:160% 0}
.cbox:hover::before{animation:sheen2 .6s ease forwards}
@keyframes sheen2{0%{opacity:1;background-position:160% 0}100%{opacity:0;background-position:-60% 0}}
.cbox.tilting{transform-style:preserve-3d;will-change:transform}
.cbox.tilting>*{transform:translateZ(24px);transform-style:preserve-3d}
.cbox.tilting .chip{transform:translateZ(40px)}
.cbox.tilting::after{content:'';position:absolute;inset:0;border-radius:12px;pointer-events:none;
  background:radial-gradient(circle at var(--mx,50%) var(--my,50%), rgba(255,255,255,0.38), transparent 60%)}
.section-light .cbox.tilting,.section-pale .cbox.tilting{
  box-shadow:calc(var(--sx,0)*1px) calc(var(--sy,12)*1px) 26px rgba(20,73,196,0.3)}
@media(prefers-reduced-motion:reduce){
  .cbox:hover::before{animation:none;opacity:0}
}

/* ── V8: strapline band (Home) ───────────────────────────────── */
.strap-band{height:150px;background:var(--navy-grad);position:relative;overflow:hidden;z-index:2}
/* V11 Task B: pull the band up over the hero bottom, leaving ~40px below the Speak to an Expert button (measured at each breakpoint; never covers the button) */
/* V12 Task B3: band bottom flush with hero bottom (band occupies the hero's last 150px; white section starts exactly at the hero edge) */
.strap-band{margin-top:-150px}
.strap-line{position:absolute;left:50%;top:50%;transform:translate(calc(-50% + var(--tx,0px)),-50%);
  display:flex;align-items:center;gap:26px;white-space:nowrap;
  font-weight:500;font-size:clamp(1rem,2vw,1.5rem);color:#ffffff;will-change:transform}
.strap-sep{opacity:0.5}
.strap-mid-wrap{position:relative;display:inline-flex;align-items:center;justify-content:center}
.strap-mid{display:inline-block;will-change:transform,opacity,filter}
.strap-c{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%) scale(0.3);opacity:0;display:flex;will-change:transform,opacity}
.strap-c svg{height:clamp(30px,3.6vw,46px);width:auto;display:block}
/* ── V8: inner-hero logo strip ───────────────────────────────── */
.logo-strip{height:110px;position:relative;overflow:hidden;width:100%;align-self:stretch;flex:none;margin-top:18px}
.lg-wrap{position:absolute;left:50%;top:50%;transform:translate(calc(-50% + var(--lx,0px)),-50%)}
.lg{height:clamp(48px,6vw,72px);width:auto;display:block}
@media(prefers-reduced-motion:reduce){
  .strap-line{transform:translate(-50%,-50%)}
  .lg-wrap{transform:translate(-50%,-50%)}
}

/* ── V8: About flip cards (Task F) ───────────────────────────── */
.flip-card{perspective:1000px;background:none!important;box-shadow:none!important;padding:0!important;
  cursor:pointer;min-height:360px;outline-offset:4px}
.flip-inner{position:relative;width:100%;height:100%;min-height:360px;
  transform-style:preserve-3d;transition:transform .6s}
.flip-card.flipped .flip-inner{transform:rotateY(180deg)}
@media(hover:hover) and (pointer:fine){.flip-card:hover .flip-inner{transform:rotateY(180deg)}}
.flip-face{position:absolute;inset:0;backface-visibility:hidden;-webkit-backface-visibility:hidden;
  border-radius:12px;padding:36px 30px;overflow:auto}
.flip-front{background:var(--sapph-grad);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}
.flip-front h3{color:#ffffff!important;min-height:0}
.flip-front .chip{background:#ffffff;margin:0 auto 16px}
.flip-front .chip svg{stroke:#142E5E;color:#142E5E}
.flip-back{background:var(--sapph-wash);box-shadow:inset 0 0 0 1px rgba(35,76,158,0.35);transform:rotateY(180deg);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}
.flip-back p,.section-light .flip-back p.body-text,.section-pale .flip-back p.body-text{color:var(--dark)!important}
.flip-back .chip{background:var(--sapph-grad);margin:0 auto 16px}
.flip-back .chip svg{stroke:#ffffff;color:#ffffff}
@media(prefers-reduced-motion:reduce){.flip-inner{transition:none}}

/* ── V9: Fees product boxes (B2) ─────────────────────────────── */
.product-box{display:flex;gap:26px;align-items:stretch;margin-bottom:30px}
.product-panel{background:var(--blue-grad);border-radius:12px;padding:26px 34px;min-width:190px;
  display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;flex:none}
.product-num{font-size:56px;font-weight:700;color:#ffffff;line-height:1}
.product-name{font-size:14px;font-weight:500;color:#ffffff;margin-top:8px}
.product-head{display:flex;align-items:center}
@media(max-width:700px){.product-box{flex-direction:column}.product-panel{min-width:0}}
/* ── V9: worked-example tables + context panel widths (B3/B4) ── */
.fee-table{max-width:780px;margin-left:auto;margin-right:auto}
.fee-context-panel{font-size:1.05rem;max-width:780px;margin-left:auto;margin-right:auto}

/* ── V9: development range (D2/D3) ───────────────────────────── */
.dev-pills{display:flex;flex-wrap:wrap;gap:10px;margin-top:26px}
.dev-pill{border:none;cursor:pointer;border-radius:999px;padding:10px 18px;
  font-family:'Satoshi',-apple-system,"Segoe UI",Helvetica,Arial,sans-serif;
  font-size:12px;font-weight:700;letter-spacing:0.04em;
  background:#C6DCFF;color:var(--dark);transition:background .2s,color .2s}
.dev-pill.active{background:var(--blue-grad);color:#ffffff}
.dev-table-wrap{overflow-x:auto;margin-top:26px}
.dev-table{width:100%;min-width:760px;border-collapse:separate;border-spacing:0;border-radius:12px;overflow:hidden;box-shadow:inset 0 0 0 1px rgba(31,102,229,0.18)}
.dev-table th{background:var(--navy-grad);color:#ffffff;text-align:left;font-size:12px;font-weight:700;letter-spacing:0.08em;text-transform:uppercase;padding:13px 18px}
.dev-table td{padding:13px 18px;font-size:14.5px;color:var(--dark)}
.dev-table tbody tr:nth-child(odd) td{background:#ffffff}
.dev-table tbody tr:nth-child(even) td{background:linear-gradient(135deg,#F3F6FA 0%,#D9E1EC 100%)}
.dev-table tbody tr:hover td{background:#C6DCFF}

/* ===== V11 ===== */
/* A: nav logo */
.nav-logo-svg{height:52px;width:auto;display:block}
@media(max-width:900px){.nav-logo-svg{height:36px}}
/* D/E: deep sapphire palette */
:root{--sapph-grad:linear-gradient(135deg,#234C9E 0%,#142E5E 100%);--sapph-wash:linear-gradient(135deg,#FFFFFF 0%,#FFFFFF 40%,#D3DDEF 100%)}
/* E: contact boxes — sapphire wash, fine edge, even 24px gaps */
#page-contact .promise-box,#page-contact .disclosure{background:var(--sapph-wash);box-shadow:inset 0 0 0 1px rgba(35,76,158,0.35)}
#page-contact .promise-box{border-left:none;margin-bottom:0}
#page-contact .disclosure{margin-top:24px}
#page-contact .promise-box .chip,#page-contact .disclosure .chip{background:var(--sapph-grad)}
#page-contact .promise-box .chip svg,#page-contact .disclosure .chip svg{stroke:#ffffff;color:#ffffff}
#page-contact .promise-box p,#page-contact .promise-box a[href^="tel"],#page-contact .disclosure h4,#page-contact .disclosure p{color:var(--dark)!important}
/* E: visually hidden radios — keyboard accessible, zero layout footprint */
.vh-radio{position:absolute!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;border:0!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;clip-path:inset(50%)!important;opacity:0!important;white-space:nowrap!important}
.yn-toggle{position:relative}
/* Rule-6 fix: mobile stacking overrides were dead (inline grid styles beat the .two-col media rule; the .usp-grid mobile rule preceded its base rule). Restores intended ≤900px stacking; fixes 390px sideways scroll on Development, Second Charge and VAT. */
@media(max-width:900px){
  .two-col{grid-template-columns:1fr!important}
  .usp-grid{grid-template-columns:1fr}
}
/* G1: note under the development range table */
.dev-note{font-size:13.5px;color:var(--dark);margin-top:14px;max-width:880px}

/* ===== V12: pill buttons (Task G) ===== */
.btn{border-radius:999px;padding:6px 6px 6px 22px;display:inline-flex;align-items:center;gap:20px;line-height:1.2}
.btn.btn-plain{border-radius:0;padding:13px 34px;display:inline-block;gap:0}
.btn-arr{width:34px;height:34px;border-radius:50%;flex:none;display:inline-flex;align-items:center;justify-content:center;vertical-align:middle;margin-left:2px;
  background:var(--dark);color:#ffffff;transition:transform .22s ease,background .22s ease,color .22s ease}
.btn-arr svg{display:block}
/* arrow contrast per button colour (buttons keep their existing colours) */
.section-light .btn-white:not(.keep-v4) .btn-arr,.section-light .btn-outline:not(.keep-v4):not(.btn-seehow) .btn-arr{background:var(--dark);color:#ffffff}
.section-light .btn-white:not(.keep-v4):hover .btn-arr,.section-light .btn-outline:not(.keep-v4):not(.btn-seehow):hover .btn-arr{background:#ffffff;color:#1449C4}
.section-pale .btn-white:not(.keep-v4):not(.btn-plain) .btn-arr,.section-pale .btn-outline:not(.keep-v4):not(.btn-seehow) .btn-arr{background:#ffffff;color:#1449C4}
.section-pale .btn-white:not(.keep-v4):not(.btn-plain):hover .btn-arr,.section-pale .btn-outline:not(.keep-v4):not(.btn-seehow):hover .btn-arr{background:#ffffff;color:#1449C4}
.btn-seehow .btn-arr{background:#ffffff!important;color:#1449C4!important}
.cbox:hover .btn .btn-arr,.section-pale .cbox:hover .btn .btn-arr{background:var(--dark)!important;color:#ffffff!important}
.btn.keep-v4.btn-white .btn-arr{background:#ffffff;color:var(--dark)}
.btn.keep-v4.btn-outline .btn-arr{background:var(--dark);color:#ffffff}
.hero .btn-white .btn-arr,.cta-band .btn-white .btn-arr,.ltv-panel .btn .btn-arr{background:var(--dark);color:#ffffff}
/* hover: lift + arrow nudge; disabled: no animation */
.btn:not(.btn-plain):not([disabled]):hover{transform:translateY(-2px);box-shadow:0 10px 22px rgba(15,30,61,0.28)}
.btn:not(.btn-plain):not([disabled]):hover .btn-arr{transform:translateX(4px)}
.btn[disabled]{transform:none!important;box-shadow:none!important}
.btn[disabled] .btn-arr{background:rgba(15,30,61,0.25)!important;color:#ffffff!important;transform:none!important}
/* Task G2: nav pills — equal size, no arrow */
.nav-cta-btn{width:205px;height:44px;padding:0!important;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;
  border:none!important;background:var(--blue-grad);color:#ffffff!important}
.nav-cta-btn:hover{background:var(--blue-grad);color:#ffffff!important;filter:brightness(1.08)}
.nav-cta-solid,.nav-cta-solid:hover{background:#ffffff;color:#0F1E3D!important;filter:none}
/* Task B2/B3: hero cashback line */
.hero-cash{color:#ffffff;font-weight:500;margin:0 0 24px}
/* Task B5: mission label */
.mission-label{color:#1449C4;font-weight:700;font-size:15px;text-transform:none;letter-spacing:0.02em;margin:26px 0 6px}
/* Task F: modal quote */
.cs-quote{margin-top:16px;color:var(--dark)}
.cs-quote em{font-style:italic}

/* ===== V13: Valuation & Legals columns (item 8) ===== */
.vl-cols{display:grid;grid-template-columns:repeat(3,1fr);gap:34px;margin:28px 0}
.vl-col{padding-top:16px}
.vl-col h4{font-size:15px;font-weight:700;color:var(--dark);margin-bottom:8px}
.vl-col p{font-size:14.5px;line-height:1.7;color:var(--dark)}
@media(max-width:900px){.vl-cols{grid-template-columns:1fr;gap:24px}}
/* ===== V13: WSP split panel (item 9) ===== */
.wspp{display:grid;grid-template-columns:240px 1fr;border-radius:16px;overflow:hidden;background:#ffffff;
  box-shadow:0 18px 40px rgba(15,30,61,0.16),inset 0 0 0 1px rgba(35,76,158,0.18);margin-top:26px}
.wspp-l{background:linear-gradient(135deg,#234C9E 0%,#142E5E 100%);color:#ffffff;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:34px 24px;gap:10px}
.wspp-kicker{font-size:11px;font-weight:700;letter-spacing:0.12em;text-transform:uppercase;color:rgba(255,255,255,0.78)}
.wspp-name{font-size:26px;font-weight:700;color:#ffffff}
.wspp-tile{background:#ffffff;border-radius:12px;padding:12px 14px;margin-top:6px}
.wspp-tile img{display:block;width:150px;height:auto}
.wspp-r{padding:36px 40px}
.wspp-r .body-text{max-width:none}
@media(max-width:900px){.wspp{grid-template-columns:1fr}.wspp-l{padding:28px 20px}.wspp-r{padding:26px 22px}}

/* ===== V13: Success Stories cards (item 11) ===== */
.st-card{background:linear-gradient(160deg,#234C9E,#142E5E);color:#ffffff;border-radius:16px;padding:30px 32px;cursor:pointer;
  transition:transform .22s ease,box-shadow .22s ease}
.st-card:hover,.st-card:focus-visible{transform:translateY(-4px);box-shadow:0 16px 34px rgba(15,30,61,0.35)}
.st-card:focus-visible{outline:2px solid #5B9BFF;outline-offset:3px}
.st-lead{display:grid;grid-template-columns:1.15fr 1fr;gap:44px;align-items:center;margin-top:30px}
.st-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:22px}
.st-grid .st-card:nth-child(3n+2){background:linear-gradient(160deg,#1D4184,#183263)}
.st-grid .st-card:nth-child(3n){background:linear-gradient(160deg,#2756B8,#1C4189)}
.st-tag{font-size:11px;font-weight:700;letter-spacing:0.12em;text-transform:uppercase;color:rgba(255,255,255,0.78)}
.st-num{font-size:42px;font-weight:700;line-height:1.1;margin:12px 0 8px;color:#ffffff}
.st-title{font-size:16px;font-weight:700;line-height:1.45;color:#ffffff}
.st-read{margin-top:20px;font-size:11px;font-weight:700;letter-spacing:0.12em;color:#ffffff;display:flex;align-items:center;gap:10px}
.st-arr{width:26px;height:26px;border-radius:50%;background:#ffffff;color:#1449C4;display:inline-flex;align-items:center;justify-content:center;flex:none}
.st-quote{font-size:15.5px;line-height:1.75;color:#ffffff}
.cs-key{font-weight:700;margin-top:14px;color:var(--dark)}
@media(max-width:900px){.st-lead{grid-template-columns:1fr;gap:22px}}
@media(max-width:700px){.st-grid{grid-template-columns:1fr}}

/* ===== V13: hero clearance at small widths (item 2 — band must clear the button) ===== */
@media(max-width:900px){#page-home .hero .hero-inner{padding-bottom:72px}}
/* ===== V13: nav — one line from 1024px up (item 4) ===== */
@media(min-width:1024px){
  #nav{flex-wrap:nowrap}
  .nav-links{flex-wrap:nowrap;white-space:nowrap}
}
.nav-cta-btn{width:178px;height:38px;font-size:10.5px;letter-spacing:0.07em}
@media(max-width:1440px){
  .nav-links{gap:12px}
  .nav-cta-btn{width:168px;height:37px;font-size:10px}
}
@media(max-width:1280px){
  .nav-links{gap:10px}
  .nav-links a{font-size:10px;letter-spacing:0.05em}
  .nav-cta-btn{width:156px;height:36px;font-size:9.5px}
}
@media(max-width:1150px) and (min-width:1024px){
  .nav-links{gap:8px}
  .nav-links a{font-size:9.5px;letter-spacing:0.04em}
  .nav-logo-svg{height:44px}
  .nav-cta-btn{width:146px;height:34px;font-size:9px}
}

/* Nav: fit both CTA buttons on one line at 1280px (mobile menu out of scope) */
@media(max-width:1440px){
  #nav{padding:0 22px}
  .nav-links{gap:13px}
  .nav-links a{letter-spacing:0.07em;font-size:10.5px}
  .nav-cta-btn{padding:9px 12px}
  .nav-logo-fallback{font-size:15px}
}

/* ===== FEES PAGE LAYOUT (V10) ===== */
.fees-col{max-width:920px;text-align:center}
.fees-col p.body-text{max-width:none;margin:0 auto 14px}
.fees-col .fees-lead{font-weight:700;font-size:17px;margin-top:20px}
.fees-col .fees-ex{margin:48px 0 0;text-align:center}
.prod-head{display:flex;flex-direction:column;align-items:center;margin:0 auto 32px}
.prod-tab{display:inline-flex;align-items:center;gap:10px;background:var(--blue-grad);color:#ffffff;padding:12px 30px;border-radius:12px 12px 0 0}
.prod-tab .prod-n{font-size:32px;font-weight:700;line-height:1}
.prod-tab .prod-nm{font-size:17px;font-weight:500}
.prod-label{width:100%;background:#ffffff;border-top:4px solid #1449C4;border-radius:14px;padding:22px 28px;box-shadow:0 12px 28px rgba(20,73,196,0.14),inset 0 0 0 1px rgba(31,102,229,0.18)}
.prod-label h2{margin:0!important;font-size:clamp(1.35rem,2.6vw,2.05rem);line-height:1.2}
.fees-col .fee-table{max-width:none;width:100%;margin:20px 0 0;text-align:left}
.fees-col .fee-context-panel{max-width:none;width:100%;margin:18px 0 0;font-size:1.05rem;text-align:left;box-sizing:border-box}
.fees-col .fee-table thead tr{background:var(--blue-grad)}
.fees-col .fee-table th{background:transparent!important}
.fees-col .fee-table th:last-child{text-align:right}
.fees-col .fee-table tbody tr:nth-child(even){background:#E4E9F1}
.fees-col .fee-table tbody tr:nth-child(even) td{background:transparent!important}
.fees-col .fee-table tbody tr.ft-cashback{background:var(--blue-grad)}
.fees-col .fee-table tbody tr.ft-cashback td{background:transparent!important}
@media(max-width:700px){.prod-label{padding:18px}.fees-col{text-align:center}}

/* ===== V10: fees intro lead ===== */
.fees-col .fees-lead-intro{font-size:19px}
/* ===== V10: Bridging — What We Fund ===== */
.wwf-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:56px;align-items:center;margin-top:10px}
.wwf-st{padding:22px 0;border-top:1px solid rgba(15,30,61,0.18)}
.wwf-st:last-child{border-bottom:1px solid rgba(15,30,61,0.18)}
.wwf-h{font-size:clamp(1.5rem,2.6vw,2rem);font-weight:700;line-height:1.1;letter-spacing:-0.01em;color:var(--dark);margin:0 0 8px}
.wwf-lt{font-weight:400}
.wwf .body-text{margin:0;color:var(--dark)}
.wwf-list{columns:2;column-gap:28px;margin:6px 0 0;padding:0;list-style:none}
.wwf-list li{position:relative;padding:3px 0 3px 16px;color:var(--dark);font-size:15.5px;break-inside:avoid}
.wwf-list li:before{content:"";position:absolute;left:0;top:12px;width:6px;height:6px;border-radius:50%;background:#1449C4}
.wwf-stack svg{width:100%;height:auto;display:block}
.wwf-lab{font-family:'Satoshi',-apple-system,'Segoe UI',Helvetica,Arial,sans-serif;font-size:15px;font-weight:700;fill:#0F1E3D}
.wwf-sub{font-family:'Satoshi',-apple-system,'Segoe UI',Helvetica,Arial,sans-serif;font-size:12.5px;font-weight:500;fill:#1449C4}
/* V11 Task C: drop animation — each layer falls, bounces ~8px, settles; labels fade after landing */
.wwf-l,.wwf-t{transform-box:fill-box;transform-origin:center}
.js-wwf .wwf-l,.js-wwf .wwf-t{opacity:0}
.js-wwf .wwf-in .wwf-l1{animation:wwfDrop .8s linear 0s forwards}
.js-wwf .wwf-in .wwf-l2{animation:wwfDrop .8s linear .45s forwards}
.js-wwf .wwf-in .wwf-l3{animation:wwfDrop .8s linear .9s forwards}
.js-wwf .wwf-in .wwf-t1{animation:wwfLab .4s ease .62s forwards}
.js-wwf .wwf-in .wwf-t2{animation:wwfLab .4s ease 1.07s forwards}
.js-wwf .wwf-in .wwf-t3{animation:wwfLab .4s ease 1.52s forwards}
@keyframes wwfDrop{
  0%{opacity:0;transform:translateY(-220px);animation-timing-function:cubic-bezier(.5,0,1,.6)}
  6%{opacity:1}
  62%{transform:translateY(0);animation-timing-function:cubic-bezier(0,.45,.55,1)}
  80%{transform:translateY(-8px);animation-timing-function:cubic-bezier(.5,0,1,.6)}
  100%{opacity:1;transform:translateY(0)}
}
@keyframes wwfLab{from{opacity:0}to{opacity:1}}
@media (prefers-reduced-motion:reduce){.js-wwf .wwf-l,.js-wwf .wwf-t{opacity:1;transform:none;animation:none!important}}
@media(max-width:900px){.wwf-grid{grid-template-columns:1fr;gap:28px}.wwf-stack{order:-1;max-width:420px;margin:0 auto}}
@media(max-width:520px){.wwf-list{columns:1}}
/* ===== V10: Development range ===== */
.dev-defs{margin:10px 0 0;max-width:880px}
.dev-defs>div{display:grid;grid-template-columns:230px 1fr;gap:16px;padding:9px 0;border-top:1px solid rgba(15,30,61,0.10)}
.dev-defs>div:last-child{border-bottom:1px solid rgba(15,30,61,0.10)}
.dev-defs dt{font-weight:700;color:var(--dark)}
.dev-defs dd{margin:0;color:var(--dark)}
@media(max-width:700px){.dev-defs>div{grid-template-columns:1fr;gap:2px}}
.dev-table thead tr{background:var(--navy-grad)}
.dev-table th{background:transparent!important}
.dev-table tbody tr:nth-child(odd){background:#ffffff}
.dev-table tbody tr:nth-child(even){background:linear-gradient(90deg,#F3F6FA 0%,#D9E1EC 100%)}
.dev-table tbody tr td{background:transparent!important}
.dev-table tbody tr:hover{background:#C6DCFF}
.dev-table td:first-child{font-weight:700}

/* ===== V14: shared additions ===== */
.footer-logo{height:64px;width:auto;display:block;margin-bottom:18px}
.footer-nacfb{display:flex;align-items:center;gap:18px}
.footer-nacfb p{margin:0}
.footer-nacfb img{height:64px;width:auto;flex:none}
@media(max-width:700px){.footer-logo{height:48px}.footer-nacfb{flex-direction:column;align-items:flex-start}}
@media(min-width:700px) and (max-width:900px){.st-grid{grid-template-columns:1fr 1fr}}
.ctx-panel{font-size:1.05rem;line-height:1.5;color:var(--dark);background:#E4E9F1;border-left:3px solid #1449C4;padding:18px 22px;border-radius:0 12px 12px 0;box-sizing:border-box;width:100%}
.ctx-panel p{margin:0 0 10px;font-size:1.05rem;line-height:1.5;color:var(--dark)}
.ctx-panel p:last-child{margin-bottom:0}
.btn-grad{background:var(--blue-grad);color:#ffffff;font-weight:700}
.btn-grad .btn-arr{background:#ffffff;color:#1449C4}
.wspp-logo{width:180px;height:auto;display:block;margin-top:4px}

/* ===== V15: Help Guides grid ===== */
.guide-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:34px}
@media(min-width:700px) and (max-width:1100px){.guide-grid{grid-template-columns:1fr 1fr}}
@media(max-width:700px){.guide-grid{grid-template-columns:1fr}}
.guide-grid .flip-card,.guide-grid .flip-inner{min-height:252px}
.guide-grid .flip-face{padding:22px 18px}
.guide-grid .flip-front .chip{width:30px;height:30px}
.guide-grid .flip-front .chip svg{width:16px;height:16px}
.guide-grid .flip-front h3{font-size:1.15rem;line-height:1.3}
.guide-grid .flip-back p{font-size:13.5px;line-height:1.5;margin-bottom:14px}
.guide-grid .flip-back .btn{font-size:11px;padding:5px 5px 5px 16px}
.guide-grid .flip-back .btn .btn-arr{width:26px;height:26px}
/* ===== V15: guide pages ===== */
.guide-col{max-width:720px;margin:0 auto}
.guide-back{display:inline-block;font-weight:700;color:#1449C4;cursor:pointer;margin-bottom:26px;font-size:15px}
.guide-back:hover{text-decoration:underline}
.guide-toc{background:#E4E9F1;border-radius:12px;padding:22px 26px;margin:0 0 34px}
.guide-toc p{font-weight:700;color:var(--dark);margin:0 0 10px;font-size:15px;letter-spacing:0.02em;text-transform:uppercase}
.guide-toc a{display:block;color:#1449C4;font-weight:600;cursor:pointer;padding:3px 0;font-size:15.5px}
.guide-toc a:hover{text-decoration:underline}
.guide-h{margin:38px 0 14px}
.guide-link{color:#1449C4;font-weight:600;cursor:pointer;text-decoration:underline}
.guide-list{margin:6px 0 16px;padding:0;list-style:none}
.guide-list li{position:relative;padding:4px 0 4px 18px;color:var(--dark);font-size:16px;line-height:1.6}
.guide-list li:before{content:"";position:absolute;left:0;top:14px;width:6px;height:6px;border-radius:50%;background:#1449C4}
/* ===== V15: FAQ accordion ===== */
.faq-col{max-width:none;margin:0}
.faq-group{margin:44px 0 6px}
.faq-item + .faq-item{border-top:1px solid rgba(15,30,61,0.14)}
.faq-q{display:flex;align-items:center;justify-content:space-between;gap:18px;width:100%;
  background:none;border:0;padding:18px 0;cursor:pointer;text-align:left;font:inherit}
.faq-q span.faq-qt{font-weight:700;color:var(--dark);font-size:16.5px;line-height:1.45}
.faq-chev{flex:none;width:30px;height:30px;border-radius:50%;background:var(--dark);color:#ffffff;
  display:inline-flex;align-items:center;justify-content:center}
.faq-chev svg{display:block;transition:transform .3s ease}
.faq-item.open .faq-chev svg{transform:rotate(90deg)}
.faq-a{display:grid;grid-template-rows:0fr;transition:grid-template-rows .3s ease}
.faq-a>div{overflow:hidden;visibility:hidden;transition:visibility .3s}
.faq-item.open .faq-a{grid-template-rows:1fr}
.faq-item.open .faq-a>div{visibility:visible}
.faq-a .body-text{margin:0 0 14px}
.faq-a .guide-list{margin-bottom:14px}
.faq-ol{margin:6px 0 16px;padding-left:22px;color:var(--dark);font-size:16px;line-height:1.6}
.faq-ol li{padding:4px 0}
/* ===== V15: flowchart (Guide 1) ===== */
.fc-wrap{margin-top:30px}
.fc{display:grid;grid-template-columns:minmax(0,1.15fr) 90px minmax(0,1fr);align-items:stretch}
.fc-q{background:#ffffff;border:2px solid #0F1E3D;border-radius:12px;padding:22px 24px;grid-column:1}
.fc-label{display:block;font-size:12.5px;font-weight:700;letter-spacing:0.06em;text-transform:uppercase;color:#1449C4;margin-bottom:8px}
.fc-qt{font-weight:700;color:var(--dark);font-size:17px;line-height:1.45;margin:0}
.fc-help{color:#234C9E;font-size:14.5px;line-height:1.55;margin:10px 0 0}
.fc-btns{display:none;gap:12px;margin-top:16px;flex-wrap:wrap}
.fc-q.avail .fc-btns{display:flex}
.fc-btns .btn{border:0;font:inherit;font-weight:700;cursor:pointer}
.fc-btn-yes{background:#1449C4;color:#ffffff}
.fc-btn-yes .btn-arr{background:#ffffff;color:#1449C4}
.fc-btn-no{background:#C6DCFF;color:#142E5E}
.fc-btn-no .btn-arr{background:#142E5E;color:#ffffff}
.fc-out{border-radius:12px;padding:22px 24px;grid-column:3;align-self:center}
.fc-out h4{font-size:17px;font-weight:700;margin:0 0 8px}
.fc-out p{font-size:14.5px;line-height:1.55;margin:0}
.fc-out-help{background:var(--sapph-grad)}
.fc-out-help h4,.fc-out-help p{color:#ffffff}
.fc-out-no{background:#E4E9F1;border-left:4px solid #142E5E}
.fc-out-no h4,.fc-out-no p{color:var(--dark)}
.fc-out-speak{background:#ffffff;border:2px dashed #234C9E;grid-column:1}
.fc-out-speak h4,.fc-out-speak p{color:var(--dark)}
.fc-yes{grid-column:2;position:relative;align-self:center;height:40px;width:100%}
.fc-yes::before{content:'';position:absolute;left:0;right:10px;top:50%;height:2px;background:#1449C4}
.fc-yes::after{content:'';position:absolute;right:0;top:50%;transform:translateY(-50%);
  border-top:7px solid transparent;border-bottom:7px solid transparent;border-left:10px solid #1449C4}
.fc-yes span{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);background:#ffffff;
  padding:0 7px;color:#1449C4;font-weight:700;font-size:13px}
.fc-no{grid-column:1;position:relative;height:56px;width:100%}
.fc-no::before{content:'';position:absolute;left:50%;top:0;bottom:10px;width:2px;background:#1449C4;transform:translateX(-50%)}
.fc-no::after{content:'';position:absolute;left:50%;bottom:0;transform:translateX(-50%);
  border-left:7px solid transparent;border-right:7px solid transparent;border-top:10px solid #1449C4}
.fc-no span{position:absolute;left:calc(50% + 14px);top:50%;transform:translateY(-50%);color:#1449C4;font-weight:700;font-size:13px}
.fc .dim{opacity:.3;transition:opacity .3s}
.fc .on{opacity:1}
.fc-out.reached{outline:3px solid #1449C4;outline-offset:3px}
.fc-key{display:flex;gap:26px;flex-wrap:wrap;margin-top:30px}
.fc-key span{display:inline-flex;align-items:center;gap:9px;color:var(--dark);font-size:14.5px;font-weight:600}
.fc-sw{display:inline-block;width:22px;height:22px;border-radius:5px;flex:none}
.fc-sw-q{background:#ffffff;border:2px solid #0F1E3D}
.fc-sw-help{background:var(--sapph-grad)}
.fc-sw-no{background:#E4E9F1;border-left:4px solid #142E5E}
.fc-sw-speak{background:#ffffff;border:2px dashed #234C9E}
.fc-reset-row{display:flex;justify-content:flex-end;margin:0 0 18px}
.fc-reset-row .btn{border:0;font:inherit;cursor:pointer}
@media(max-width:700px){
  .fc{display:flex;flex-direction:column;gap:0}
  .fc-out{align-self:stretch;margin:0}
  .fc-yes{height:52px;width:100%}
  .fc-yes::before{left:50%;right:auto;top:0;bottom:10px;width:2px;height:auto;transform:translateX(-50%)}
  .fc-yes::after{right:auto;left:50%;top:auto;bottom:0;transform:translateX(-50%);
    border-left:7px solid transparent;border-right:7px solid transparent;border-top:10px solid #1449C4;border-bottom:0}
  .fc-yes span{left:calc(50% + 14px);transform:translateY(-50%)}
}
/* ===== V15: fees cashback footnote ===== */
.fee-footnote{font-size:12px;color:var(--dark);font-weight:400;max-width:780px;margin:10px auto 0}

/* ===== V16: contact boxes — hover keeps colours (D1) ===== */
#page-contact .promise-box:hover,#page-contact .disclosure:hover{background:var(--sapph-wash)}
#page-contact .promise-box:hover *,#page-contact .disclosure:hover *{color:var(--dark)!important}
#page-contact .promise-box:hover .chip,#page-contact .disclosure:hover .chip{background:var(--sapph-grad)!important}
#page-contact .promise-box:hover .chip svg,#page-contact .disclosure:hover .chip svg{stroke:#ffffff!important;color:#ffffff!important}

/* ── V17: entry modal ─────────────────────────────── */
html.cbc-gate, html.cbc-gate body{overflow:hidden}
html.cbc-gate body > *:not(#cbc-overlay){filter:blur(7px)}
#cbc-overlay{display:none;position:fixed;inset:0;z-index:9000;background:rgba(20,46,94,0.45);align-items:center;justify-content:center;padding:20px}
html.cbc-gate #cbc-overlay{display:flex}
#cbc-modal{width:580px;max-width:calc(100vw - 40px);background:#ffffff;border-radius:18px;overflow:hidden;box-shadow:0 30px 80px rgba(11,25,56,0.55);display:grid;grid-template-columns:220px 1fr}
.cbc-left{background:linear-gradient(160deg,#234C9E 0%,#142E5E 70%,#0B1938 100%);padding:26px 22px;display:flex;flex-direction:column;justify-content:space-between;gap:30px}
.cbc-left svg{width:150px;height:auto;display:block}
.cbc-left p{color:#ffffff;font-weight:700;font-size:14px;line-height:1.5;margin:0}
.cbc-right{padding:30px 28px}
.cbc-right h2{font-size:1.45rem;color:var(--dark);margin:0 0 6px}
.cbc-right > p{color:rgba(15,30,61,0.65);font-size:14.5px;margin:0 0 18px}
.cbc-choice{display:flex;align-items:center;gap:14px;width:100%;text-align:left;background:#ffffff;border:1.5px solid rgba(20,73,196,0.25);border-radius:12px;padding:14px 16px;cursor:pointer;font-family:inherit;transition:transform .18s ease,box-shadow .18s ease}
.cbc-choice + .cbc-choice{margin-top:12px}
.cbc-choice:hover,.cbc-choice:focus-visible{box-shadow:0 0 0 2px #1449C4;transform:translateY(-2px);outline:none}
.cbc-ci{flex:0 0 auto;color:#1449C4;display:flex}
.cbc-ct{font-weight:700;color:var(--dark);font-size:15px;display:block}
.cbc-cd{color:rgba(15,30,61,0.65);font-size:13px;display:block;margin-top:2px}
@media(max-width:700px){
  #cbc-modal{grid-template-columns:1fr;width:420px}
  .cbc-left{flex-direction:row;align-items:center;justify-content:flex-start;gap:14px;padding:14px 18px}
  .cbc-left svg{width:104px}
  .cbc-left p{font-size:12px}
}
/* ── V17: footer visitor-type link ── */
.footer-visitor{display:inline-block;margin-top:14px;font-size:11px;color:rgba(255,255,255,0.45);cursor:pointer;text-decoration:underline}
.footer-visitor:hover{color:rgba(255,255,255,0.75)}
/* ── V17: plain policy pages ── */
.policy-col{max-width:none}
.policy-col .body-text{margin-bottom:18px}
/* ── V17: WSP page new sections ── */
.wsp-hero-logo{width:440px;max-width:82vw;height:auto;display:block;margin:0 auto}
.wsp-apply-btn{display:inline-flex;align-items:center;justify-content:center;width:205px;height:44px;border-radius:999px;background:var(--blue-grad);color:#ffffff;font-size:10.5px;font-weight:700;letter-spacing:0.14em;text-transform:uppercase;cursor:pointer;border:none}
.wsp-apply-btn:hover{filter:brightness(1.08)}
.wsp-apply-btn.wsp-apply-white{background:#ffffff;color:#0C2963}
.wsp-split{display:grid;grid-template-columns:55fr 45fr}
.wsp-split-l{background:#ffffff;padding:80px 60px 80px max(40px, calc(50vw - 540px))}
.wsp-split-l p.body-text{color:var(--dark)}
.wsp-split-l h2{color:var(--dark)}
.wsp-split-l .wsp-logo-colour{width:320px;max-width:100%;height:auto;display:block;margin-bottom:8px}
.wsp-split-r{background:linear-gradient(150deg,#1449C4 0%,#0C2963 60%,#0B1938 100%);color:#ffffff;display:flex;flex-direction:column;justify-content:center;padding:80px max(40px, calc(50vw - 540px)) 80px 60px}
.wsp-split-r h3{color:#ffffff;font-size:1.5rem;margin:0 0 18px}
.wsg-row{display:flex;justify-content:space-between;align-items:baseline;gap:18px;padding:12px 0;border-bottom:1px solid rgba(255,255,255,0.18);font-size:15px}
.wsg-row:first-of-type{border-top:1px solid rgba(255,255,255,0.18)}
.wsg-row span:last-child{font-weight:700;text-align:right}
@media(max-width:860px){.wsp-split{grid-template-columns:1fr}.wsp-split-l,.wsp-split-r{padding:56px 24px}}
.wsp-fund-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:28px}
.wsp-fund-card{background:#ffffff;border-radius:12px;box-shadow:inset 0 0 0 1px rgba(35,76,158,0.35);padding:26px 24px}
.wsp-fund-card h4{color:var(--dark);font-size:1.05rem;margin:0 0 8px}
.wsp-fund-card p{color:rgba(15,30,61,0.72);font-size:14.5px;line-height:1.7;margin:0}
@media(max-width:700px){.wsp-fund-grid{grid-template-columns:1fr}}

/* ── V18: WSP application form ─────────────────────────────── */
.awsp-section > .awsp{max-width:1080px;margin:0 auto;display:grid;grid-template-columns:230px 1fr;gap:0;border-radius:16px;overflow:visible}
.awsp-left{background:linear-gradient(160deg,#234C9E 0%,#142E5E 65%,#0B1938 100%);color:#fff;border-radius:16px 0 0 16px;padding:28px 20px;position:sticky;top:90px;align-self:start;display:flex;flex-direction:column;gap:18px}
.awsp-kicker{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,0.75);margin:0}
.awsp-title{font-size:19px;font-weight:700;margin:2px 0 6px;color:#fff}
.awsp-ring{width:84px;height:84px;border-radius:50%;margin:2px auto 0;display:flex;align-items:center;justify-content:center;position:relative}
.awsp-ring-in{width:66px;height:66px;border-radius:50%;background:#142E5E;display:flex;flex-direction:column;align-items:center;justify-content:center}
.awsp-pct{font-size:17px;font-weight:700;color:#fff;line-height:1}
.awsp-pct-sub{font-size:9.5px;letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,0.7);margin-top:3px}
.awsp-parts{list-style:none;margin:4px 0 0;padding:0}
.awsp-parts li{margin:0}
.awsp-pbtn{display:flex;align-items:center;gap:10px;width:100%;background:none;border:none;color:rgba(255,255,255,0.85);font-family:inherit;font-size:12.5px;text-align:left;padding:7px 8px;border-radius:8px;cursor:pointer}
.awsp-pbtn:hover{background:rgba(255,255,255,0.08)}
.awsp-pbtn.cur{background:rgba(255,255,255,0.14);color:#fff;font-weight:700}
.awsp-pbtn.na{opacity:.38;cursor:default;pointer-events:none}
.awsp-dot{flex:0 0 18px;width:18px;height:18px;border-radius:50%;border:1.5px solid rgba(255,255,255,0.55);display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;color:#0F1E3D;background:transparent}
.awsp-dot.done{background:#5B9BFF;border-color:#5B9BFF}
.awsp-dot.warn{background:#fff;border-color:#fff}
.awsp-dot svg{display:block}
.awsp-note{font-size:10.5px;line-height:1.55;color:rgba(255,255,255,0.65);margin:auto 0 0}
.awsp-right{background:var(--pale);border-radius:0 16px 16px 0;padding:34px 30px}
.awsp-card{background:#fff;border-radius:16px;box-shadow:0 14px 40px rgba(11,25,56,0.12);padding:34px 34px 28px;max-width:640px;margin:0 auto}
.awsp-plabel{font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:#1449C4;margin:0 0 4px}
.awsp-ptitle{font-size:1.5rem;color:var(--dark);margin:0 0 4px}
.awsp-pdesc{font-size:14.5px;color:rgba(15,30,61,0.65);margin:0 0 22px}
.q{margin:0 0 18px}
.q-label{display:block;font-size:14.5px;font-weight:700;color:var(--dark);margin:0 0 8px}
.req{color:#1449C4;font-weight:700;margin-left:2px}
.q-help{font-size:12.5px;color:rgba(15,30,61,0.6);margin:7px 2px 0;line-height:1.5}
.ff{border:1.5px solid rgba(15,30,61,0.18);border-radius:10px;background:#fff;padding:8px 14px 7px;transition:border-color .18s,box-shadow .18s}
.ff label{display:block;font-size:10.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:rgba(15,30,61,0.6);margin:0 0 1px}
.ff input,.ff select,.ff textarea{display:block;width:100%;border:none;outline:none;background:transparent;font-family:inherit;font-size:15px;color:var(--dark);padding:2px 0 1px}
.ff textarea{min-height:92px;resize:vertical;line-height:1.55}
.ff select{cursor:pointer}
.ff:focus-within{border-color:#1449C4;box-shadow:0 0 0 3px rgba(20,73,196,0.14)}
.tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}
.tile{border:1.5px solid rgba(15,30,61,0.18);border-radius:12px;background:#fff;padding:13px 10px 11px;display:flex;flex-direction:column;align-items:center;gap:8px;cursor:pointer;font-family:inherit;font-size:13px;font-weight:600;color:var(--dark);text-align:center;line-height:1.35;transition:border-color .15s,box-shadow .15s,transform .15s}
.tile svg{color:#1449C4}
.tile:hover{border-color:#1449C4;transform:translateY(-1px)}
.tile:focus-visible{outline:none;border-color:#1449C4;box-shadow:0 0 0 3px rgba(20,73,196,0.18)}
.tile.on{background:linear-gradient(160deg,#234C9E 0%,#142E5E 65%,#0B1938 100%);border-color:#142E5E;color:#fff}
.tile.on svg{color:#fff}
.q-missing{border-color:#1449C4!important;border-width:2px!important;background:#F2F7FF!important}
.tiles.q-missing{border:2px solid #1449C4;background:#F2F7FF;border-radius:12px;padding:8px}
.msg-panel{background:#C6DCFF;border-left:3px solid #1449C4;border-radius:8px;padding:13px 16px;font-weight:700;color:#0F1E3D;font-size:14px;margin:0 0 18px}
.awsp-sub{font-size:1.06rem;color:var(--dark);margin:26px 0 12px;font-weight:700}
.awsp-sub:first-child{margin-top:0}
.gentry{background:#FAFCFF;border:1.5px solid rgba(15,30,61,0.14);border-radius:12px;padding:18px 18px 8px;margin:0 0 14px}
.gentry-head{display:flex;justify-content:space-between;align-items:baseline;margin:0 0 14px}
.gentry-title{font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#1449C4;margin:0}
.gentry-rm{background:none;border:none;font-family:inherit;font-size:12.5px;color:rgba(15,30,61,0.6);text-decoration:underline;cursor:pointer;padding:0}
.gentry-rm:hover{color:#1449C4}
.gadd{display:block;width:100%;border:1.5px dashed rgba(20,73,196,0.5);border-radius:12px;background:none;color:#1449C4;font-family:inherit;font-size:13.5px;font-weight:700;padding:12px;cursor:pointer;margin:2px 0 4px}
.gadd:hover{background:#F2F7FF}
.awsp-foot{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:28px;padding-top:20px;border-top:1px solid rgba(15,30,61,0.1)}
.awsp-back{background:none;border:none;font-family:inherit;font-size:13.5px;font-weight:700;color:rgba(15,30,61,0.65);cursor:pointer;padding:6px 2px}
.awsp-back:hover{color:#1449C4}
.awsp-step{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:rgba(15,30,61,0.5)}
.awsp-next{display:inline-flex;align-items:center;gap:12px;border:none;border-radius:999px;background:var(--blue-grad);color:#fff;font-family:inherit;font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:7px 7px 7px 24px;cursor:pointer}
.awsp-next:hover{filter:brightness(1.08)}
.awsp-next .btn-arr{width:30px;height:30px;border-radius:50%;background:rgba(255,255,255,0.18);display:flex;align-items:center;justify-content:center}
.awsp-next:disabled{opacity:.55;cursor:default;filter:none}
.q-anim{animation:qdrop .28s ease}
@keyframes qdrop{from{opacity:0;transform:translateY(-7px)}to{opacity:1;transform:none}}
.rev-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:0 0 24px}
.rev-tile{background:#F3F6FA;border-radius:10px;padding:11px 14px}
.rev-k{font-size:10.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:rgba(15,30,61,0.55);margin:0 0 3px}
.rev-v{font-size:14px;font-weight:600;color:var(--dark);margin:0;line-height:1.45}
.rev-v.muted{color:rgba(15,30,61,0.45);font-weight:500}
.decl-intro{font-size:14px;color:var(--dark);margin:0 0 14px;line-height:1.6}
.decls{list-style:none;margin:0 0 20px;padding:0}
.decls li{position:relative;padding:0 0 0 18px;margin:0 0 12px;font-size:13.5px;line-height:1.6;color:rgba(15,30,61,0.8)}
.decls li::before{content:'•';position:absolute;left:2px;color:#1449C4;font-weight:700}
.decls li strong{color:var(--dark)}
.chkrow{display:flex;gap:12px;align-items:flex-start;border:1.5px solid rgba(15,30,61,0.18);border-radius:10px;padding:14px 16px;cursor:pointer}
.chkrow input{width:19px;height:19px;accent-color:#1449C4;margin:2px 0 0;flex:0 0 auto;cursor:pointer}
.chkrow span{font-size:14px;font-weight:600;color:var(--dark);line-height:1.55}
.miss-list{list-style:none;margin:10px 0 0;padding:0}
.miss-list li{margin:0 0 7px}
.miss-list a{font-size:13.5px;font-weight:700;color:#1449C4;text-decoration:underline;cursor:pointer}
.hp-field{position:absolute;left:-9999px;top:-9999px;height:1px;width:1px;overflow:hidden}
.awsp-ok{text-align:center;padding:26px 6px}
.awsp-ok-tick{width:76px;height:76px;border-radius:50%;background:var(--blue-grad);display:flex;align-items:center;justify-content:center;margin:0 auto 20px}
.awsp-ok h3{font-size:1.5rem;color:var(--dark);margin:0 0 10px}
.awsp-ok p{font-size:15px;color:rgba(15,30,61,0.7);line-height:1.7;margin:0}
.file-name{font-size:12.5px;color:#1449C4;font-weight:600;margin:7px 2px 0}
.awsp-mob{display:none}
@media(max-width:900px){
  .awsp-section > .awsp{grid-template-columns:1fr}
  .awsp-left{display:none}
  .awsp-mob{display:flex;align-items:center;gap:12px;background:linear-gradient(160deg,#234C9E 0%,#142E5E 100%);border-radius:16px 16px 0 0;padding:13px 16px;color:#fff}
  .awsp-mob-pct{font-size:15px;font-weight:700;flex:0 0 auto}
  .awsp-mob-name{font-size:12.5px;font-weight:600;flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .awsp-mob select{flex:0 0 auto;max-width:132px;background:rgba(255,255,255,0.12);color:#fff;border:1px solid rgba(255,255,255,0.4);border-radius:8px;font-family:inherit;font-size:12px;padding:6px 8px}
  .awsp-mob select option{color:#0F1E3D}
  .awsp-right{border-radius:0 0 16px 16px;padding:18px 12px}
  .awsp-card{padding:22px 16px 20px}
  .rev-grid{grid-template-columns:1fr}
}

/* ── V19: Company Policies document list ── */
.pol-intro{margin-bottom:26px}
.pol-list{border-top:1px solid rgba(15,30,61,0.14);margin:0 0 28px}
.pol-row{display:flex;align-items:center;gap:20px;padding:22px 4px;border-bottom:1px solid rgba(15,30,61,0.14)}
.pol-ico{position:relative;flex:0 0 46px;width:46px;height:58px;border-radius:7px;background:linear-gradient(160deg,#234C9E 0%,#142E5E 70%,#0B1938 100%);display:flex;align-items:flex-end;justify-content:center;padding-bottom:8px}
.pol-ico::before{content:'';position:absolute;top:0;right:0;width:0;height:0;border-top:14px solid #ffffff;border-left:14px solid transparent}
.pol-ico::after{content:'';position:absolute;top:0;right:0;width:14px;height:14px;background:linear-gradient(315deg,transparent 50%,#5B9BFF 50%)}
.pol-pdf{color:#ffffff;font-size:11px;font-weight:800;letter-spacing:.08em}
.pol-mid{flex:1;min-width:0}
.pol-title{font-size:16px;font-weight:700;color:var(--dark);margin:0 0 3px}
.pol-desc{font-size:13.5px;color:rgba(15,30,61,0.65);line-height:1.55;margin:0 0 5px}
.pol-meta{font-size:12px;font-weight:700;color:#1449C4;margin:0}
.pol-dl{display:inline-flex;align-items:center;gap:10px;flex:0 0 auto;border-radius:999px;background:var(--blue-grad);color:#ffffff;font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:6px 6px 6px 22px;text-decoration:none;cursor:pointer}
.pol-dl:hover{filter:brightness(1.08)}
.pol-dl .btn-arr{width:28px;height:28px;border-radius:50%;background:rgba(255,255,255,0.18);display:flex;align-items:center;justify-content:center}
@media(max-width:620px){.pol-row{flex-wrap:wrap}.pol-mid{min-width:200px}.pol-dl{margin-left:66px}}

/* ── V20 ── */
.faq-bulk{display:flex;gap:10px;flex-wrap:wrap;margin:0 0 10px}
.faq-pill{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;background:linear-gradient(135deg,#F2F7FF,#C6DCFF);color:#0F1E3D;border:1px solid rgba(20,73,196,0.25);font-family:inherit;font-size:11.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:8px 18px;cursor:pointer;transition:transform .15s ease,border-color .15s ease}
.faq-pill:hover{transform:translateY(-1px);border-color:#1449C4}
.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}
.hero h1.wsp-hero-h1{margin:0 0 16px;font-size:0;line-height:0;text-shadow:none}
.wsp-apply-wide{width:auto;padding:0 30px;white-space:nowrap}
@media(max-width:480px){.wsp-apply-wide{letter-spacing:.08em;font-size:10px;padding:0 16px}}
.ff-moneyrow{display:flex;align-items:baseline;gap:6px}
.ff-moneyrow .ff-cur{font-size:15px;font-weight:600;color:var(--dark);flex:0 0 auto}
.ff-moneyrow input{flex:1;width:auto}
.ch-row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.ch-row .ff{flex:1;min-width:220px}
.ch-btn{flex:0 0 auto}
.ch-note{font-size:12px;font-weight:700;color:#1449C4;margin:4px 0 0}
.ch-line{font-size:12.5px;font-weight:700;color:#1449C4;margin:6px 0 0}

/* ── V21 ── */
.btn-outline.btn-quoted:not(.keep-v4){background:var(--blue-grad);color:#ffffff;box-shadow:0 8px 18px rgba(20,73,196,0.3)}
.btn-outline.btn-quoted:not(.keep-v4):not(.btn-seehow) .btn-arr{background:#ffffff;color:#1449C4}
.awsp.awsp-pre{grid-template-columns:1fr}
.awsp-pre .awsp-left{display:none}
.awsp-pre .awsp-mob{display:none!important}
.awsp-pre .awsp-card{background:none;box-shadow:none;padding:0;max-width:none;border:0}
.aw-start{display:flex;border-radius:16px;overflow:hidden;box-shadow:0 14px 40px rgba(11,25,56,0.12)}
.aw-start-l{background:linear-gradient(160deg,#234C9E 0%,#142E5E 65%,#0B1938 100%);color:#fff;padding:22px 28px;display:flex;flex-direction:column;justify-content:center;gap:3px;min-width:230px}
.aw-start-k{margin:0;font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,0.75)}
.aw-start-t{margin:0;font-weight:700;font-size:1.2rem;color:#fff}
.aw-start-r{flex:1;background:#F3F6FA;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:20px 28px;flex-wrap:wrap}
.aw-start-r p{margin:0;color:var(--dark);font-size:14.5px}
button.pol-dl{border:0;font-family:inherit}
@media(max-width:640px){.aw-start{flex-direction:column}.aw-start-l{min-width:0}}
.aw-restart-row{display:flex;justify-content:flex-end;margin:0 0 14px}
.aw-note-white{margin:12px 0 0;font-size:13.5px;font-weight:400;line-height:1.6;color:rgba(255,255,255,0.9)}

/* ── V22 ── */
.nav-bk-only{display:none}
body.vt-broker .nav-bk-hide{display:none}
body.vt-broker .nav-bk-only{display:list-item}
body.vt-broker .ft-bk-hide{display:none}
body.vt-broker .footer-logo{cursor:pointer}
.logo-strip{height:clamp(110px,16vw,165px)}
.lg{height:clamp(72px,9vw,108px)}
.footer-logo{height:128px}
.footer-nacfb img{height:128px;max-width:70vw}
@media(max-width:700px){.footer-logo{height:96px;max-width:86vw}.footer-nacfb img{height:96px}}

/* ── V23 ── */
body.card-mode #nav{display:none}
body.card-mode .page{padding-top:0}
.ccard-wrap{position:relative;min-height:100vh;padding:28px 16px 48px;background:#F3F6FA}
.ccard-wrap::before{content:"";position:absolute;left:0;right:0;top:0;height:250px;background:linear-gradient(150deg,#1F3F7A 0%,#0F1E3D 78%)}
.ccard{position:relative;max-width:400px;margin:0 auto;background:#fff;border-radius:20px;box-shadow:0 24px 60px rgba(11,25,56,0.35);overflow:hidden}
.ccard-head{position:relative;overflow:hidden;background:linear-gradient(150deg,#1F3F7A 0%,#0F1E3D 78%);padding:20px 20px 26px;color:#fff}
.ccard-wm{position:absolute;right:-80px;top:-34px;width:240px;height:auto;opacity:0.08;pointer-events:none}
.ccard-logo{width:112px;height:auto;display:block;position:relative}
.ccard-name{margin:38px 0 0;font-weight:700;font-size:27px;line-height:1.15;color:#fff;position:relative}
.ccard-role{margin:4px 0 0;font-weight:500;font-size:13.5px;color:rgba(255,255,255,0.85);position:relative}
.ccard-body{padding:18px 20px 20px}
.ccard-cta{display:flex;gap:10px}
.ccard-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;background:#F2F7FF;color:#1449C4;font-weight:700;border-radius:12px;padding:12px 0;font-size:14px;cursor:pointer;text-decoration:none}
.ccard-save{display:flex;align-items:center;justify-content:center;gap:9px;margin-top:10px;background:linear-gradient(135deg,#3A82F7 0%,#1449C4 100%);color:#fff;font-weight:700;text-transform:uppercase;letter-spacing:0.08em;font-size:12px;border-radius:999px;padding:13px 0;box-shadow:0 10px 24px rgba(20,73,196,0.35);cursor:pointer;text-decoration:none}
.ccard-rows{margin-top:14px}
.ccard-row{display:flex;align-items:center;gap:12px;padding:11px 0;border-top:1px solid #EEF2F8;text-decoration:none;color:inherit;cursor:default}
.ccard-row[href],.ccard-row.ccard-site{cursor:pointer}
.ccard-rows .ccard-row:first-child{border-top:0}
.ccard-ic{flex:none;width:32px;height:32px;border-radius:9px;background:#F2F7FF;display:flex;align-items:center;justify-content:center;color:#1449C4}
.ccard-lab{display:block;font-size:10.5px;color:#7A86A0;font-weight:600}
.ccard-val{display:block;font-size:14px;font-weight:700;color:var(--dark);line-height:1.3}
.ccard-arr{margin-left:auto;color:#1449C4;display:flex}
.ccard-strap{margin:16px 0 0;font-weight:700;color:#234C9E;font-size:8.5px;letter-spacing:0;text-align:left;white-space:nowrap}
@media(max-width:520px){
  .ccard-wrap{padding:0}
  .ccard-wrap::before{display:none}
  .ccard{max-width:none;border-radius:0;box-shadow:none;min-height:100vh}
}

/* == PHASE 2 (split into pages) =====================================
   Everything above this line is the V24 stylesheet, character for character, with one
   exception: the home hero photo (.hero-bg) now loads from /assets/img/home-hero.webp
   instead of from Wix (phase 3; the same 1920 x 1080 picture, self-hosted).
   In V24 the internal page links were <a onclick> with no address, so the
   browser never styled them as links. They are now real links; this one rule
   keeps them looking exactly as before. :where() has zero specificity, so
   every existing rule above still wins. Policy PDFs are excluded because they
   were already real links in V24. */
:where(a[href^="/"]:not([href^="/documents/"])){color:inherit;text-decoration:none;cursor:auto}

/* == CONTENT BATCH (November 2026) ================================= */
/* Anything given the class "bk-hide" is not shown to brokers. It uses the same
   visitor-type switch as the nav items (V24's .nav-bk-hide). */
body.vt-broker .bk-hide{display:none}
/* Footer: a small gap so the second legal paragraph ("WSP Capital Ltd also provides...")
   clearly reads as a separate paragraph. */
.footer-legal + .footer-legal{margin-top:10px}

/* == FOUNDER BLOCK (About Us, George Wall) ========================= */
/* Photo: rounded frame with a soft shadow, and a navy block set behind it 22px down and
   22px to the right. The right and bottom margins leave room for that block. */
.founder-photo{position:relative;margin:0 22px 22px 0;transform-style:preserve-3d;transition:transform .6s cubic-bezier(.2,.7,.2,1)}
.founder-photo.tilting{transition:transform .12s ease-out;will-change:transform}
.founder-back{position:absolute;top:22px;left:22px;width:100%;height:100%;border-radius:18px;background:linear-gradient(135deg,#234C9E 0%,#0F1E3D 100%)}
.founder-frame{position:relative;min-height:340px;border-radius:18px;overflow:hidden;background:#ffffff;box-shadow:0 18px 40px rgba(15,30,61,0.24)}
.founder-frame img{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;object-position:50% 36%;display:block}
/* Role line beneath the name */
.founder-role{font-size:12px;font-weight:700;letter-spacing:0.16em;text-transform:uppercase;color:#1449C4;margin:0 0 20px}
/* The quote, in a small navy card */
.section-light p.body-text.founder-quote{background:linear-gradient(120deg,#1F3F7A 0%,#0F1E3D 100%);color:#ffffff;font-size:17px;font-style:italic;border-radius:14px;box-shadow:0 14px 30px rgba(15,30,61,0.22);padding:22px 26px;margin:24px 0 0}
/* Upright tablets: keep the photo to a sensible width and centre it (with its navy block) */
@media(min-width:600px) and (max-width:900px){
  .founder-photo{max-width:420px;margin:0 auto 22px;left:-11px}
}

/* == ABOUT US: Valuation and Legals boxes ========================== */
/* Each of the three items sits in its own box: the site's pale slate wash, rounded like the
   site's cards, no border. The grid keeps all three the same width and the same height (set
   by the tallest), with the same spacing between them on every screen. On phones they stack. */
.vl-cols{gap:24px}
.vl-col{background:var(--pale);border-radius:12px;padding:24px 24px 26px}

/* == APPLICATION FORM ON NARROW PHONES ============================= */
/* The bottom row of the form (Back / Step / Next) could not shrink or wrap. On the Review step,
   where the button reads "Submit Application", it pushed the card wider than its column and,
   on the narrowest phones, made the page scroll sideways. Now the form column can never be
   wider than the screen, and the row wraps onto a second line only when it has to.
   (The step text takes the spare space and stays centred between Back and the button, exactly
   where it sat before; if the button does drop to a second line it stays on the right.) */
@media(max-width:900px){
  .awsp-section > .awsp{grid-template-columns:minmax(0,1fr)}
  .awsp-foot{flex-wrap:wrap}
  .awsp-foot .awsp-step{flex:1 1 auto;text-align:center}
  .awsp-foot .awsp-next{margin-left:auto}
}
@media(max-width:400px){
  .awsp-foot{gap:8px}
}

/* == NAV: ONE LINE AT EVERY WIDTH, WITH AN OVERFLOW MENU =========== */
/* The nav never wraps and never loses anything. assets/js/nav-menu.js keeps as many links in
   the bar as fit and moves the rest into a menu behind the "More" button; these rules are the
   look. Where everything fits (1280px and wider) nothing here changes how the nav appears. */
#nav{flex-wrap:nowrap}
.nav-links{flex:none;flex-wrap:nowrap;white-space:nowrap}
.nav-links > li{flex:none}
/* Below 900px V24 hid the links altogether. They come back once the script is in charge. */
html.nav-js .nav-links{display:flex}
/* 900 to 1023px: keep the 1024px logo and button sizes instead of jumping back to the large ones */
/* (the .02 / .98 cover windows whose width is a fraction of a pixel, e.g. when the browser is zoomed) */
@media(min-width:900.02px) and (max-width:1023.98px){.nav-logo-svg{height:44px}}
@media(max-width:1023.98px){.nav-cta-btn{width:146px;height:34px;font-size:9px}}
/* An item that has moved into the menu */
.nav-links > li.nav-of{display:none!important}

/* The "More" button: three bars that turn into a cross while the menu is open */
.nav-more{display:none}
/* The bars are 22px wide inside a 44px button (a comfortable size to tap). The negative margins
   space the bars themselves like any other nav item: the usual gap from the button beside them,
   and their right-hand end in line with the page margin. */
.nav-more.on{display:flex;align-items:center;margin:0 -11px}
.nav-more-btn{width:44px;height:44px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;
  padding:0;border:0;border-radius:10px;background:transparent;cursor:pointer;font-family:inherit;-webkit-tap-highlight-color:transparent}
.nav-more-btn span{display:block;width:22px;height:2px;border-radius:2px;background:#ffffff;transition:transform .22s ease,opacity .18s ease}
.nav-more-btn:hover{background:rgba(255,255,255,0.10)}
.nav-more-btn:focus-visible{outline:2px solid #ffffff;outline-offset:2px}
.nav-more-btn[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.nav-more-btn[aria-expanded="true"] span:nth-child(2){opacity:0}
.nav-more-btn[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

/* The menu. Above 640px: a white card under the button. */
.nav-menu{position:absolute;top:calc(100% + 8px);right:22px;min-width:250px;max-width:calc(100vw - 44px);
  max-height:calc(100vh - 84px - 24px);overflow-y:auto;overscroll-behavior:contain;
  background:#ffffff;border-radius:14px;box-shadow:0 18px 40px rgba(15,30,61,0.24);padding:10px;
  animation:navMenuIn .16s ease-out}
.nav-menu[hidden]{display:none}
@keyframes navMenuIn{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
.nav-menu ul{list-style:none}
.nav-menu-list a,.nav-menu-label{display:block;padding:12px 16px;border-radius:8px;
  font-size:13px;font-weight:600;letter-spacing:0.08em;text-transform:uppercase;line-height:1.3;
  color:#0F1E3D;text-decoration:none;white-space:nowrap}
.nav-menu-list a{cursor:pointer;transition:background .15s,color .15s}
.nav-menu-list a:hover{background:#F2F7FF;color:#1449C4}
.nav-menu-list a:focus-visible{outline:2px solid #1449C4;outline-offset:-2px}
.nav-menu-list a.active,.nav-menu-list a[aria-current="page"]{background:#F2F7FF;color:#1449C4}
.nav-menu-label.active{color:#1449C4}
.nav-menu-label{cursor:default;padding-bottom:6px}
.nav-menu-sub a{padding-left:34px;font-size:12px}
.nav-menu-btns{display:flex;flex-direction:column;gap:10px;margin-top:10px;padding:6px}
.nav-menu-btns .nav-cta-btn{width:100%;height:46px;font-size:11px;letter-spacing:0.1em;text-decoration:none;cursor:pointer}
.nav-menu-btns .nav-cta-btn:focus-visible{outline:2px solid #ffffff;outline-offset:2px}

/* 640px and below: a full-width navy panel dropping down beneath the nav */
@media(max-width:640px){
  .nav-menu{top:100%;left:0;right:0;min-width:0;max-width:none;max-height:calc(100vh - 84px);max-height:calc(100dvh - 84px);
    background:linear-gradient(120deg,#0F1E3D 0%,#1F3F7A 100%);border-radius:0;border-top:1px solid rgba(255,255,255,0.14);
    box-shadow:0 18px 40px rgba(15,30,61,0.35);padding:8px 22px 22px}
  .nav-menu-list a,.nav-menu-label{color:#ffffff;padding:15px 12px;border-radius:0}
  .nav-menu-list > li + li{border-top:1px solid rgba(255,255,255,0.12)}
  .nav-menu-list a:hover{background:rgba(255,255,255,0.08);color:#ffffff}
  .nav-menu-list a:focus-visible{outline-color:#ffffff}
  .nav-menu-list a.active,.nav-menu-list a[aria-current="page"]{background:rgba(255,255,255,0.10);color:#ffffff;box-shadow:inset 3px 0 0 #3A82F7}
  .nav-menu-label.active{color:#ffffff}
  .nav-menu-label{padding-bottom:6px}
  .nav-menu-sub a{padding:11px 12px 11px 30px}
  .nav-menu-sub{padding-bottom:6px}
  .nav-menu-btns{margin-top:16px;padding:0}
}
@media(prefers-reduced-motion:reduce){
  .nav-menu{animation:none}
  .nav-more-btn span{transition:none}
}

/* == HOME PAGES ON PHONES: THE HERO BUTTON CLEARS THE STRAPLINE BAND == */
/* The strapline band is pulled up over the last 150px of the home hero. On a phone the hero's
   text fills the screen, so the "Speak to an Expert" button ended up partly behind the band on
   the borrower home page (which had 72px of clearance below the button: 18px too little) and
   wholly behind it on the broker home page (which had none). Both pages now keep 130px below
   the button; with the hero's own 60px that leaves the button 40px clear of the band.
   600px and below only: tablets, laptops and desktops are untouched. */
@media(max-width:600px){
  #page-home .hero .hero-inner,
  #page-home-brokers .hero .hero-inner{padding-bottom:130px}
}

/* == SATOSHI, SELF-HOSTED ========================================== */
/* The three weights the site uses (400, 500, 700), served from this site instead of from
   Fontshare. The files in /assets/fonts/ are the official ones from fontshare.com, exactly as
   supplied (the ITF Free Font License allows self-hosting but not converting or trimming them;
   the licence text is alongside as FFL.txt). Same family name, weights and "swap" behaviour as
   the Fontshare stylesheet the site used before. */
@font-face{font-family:'Satoshi';src:url('/assets/fonts/Satoshi-Regular.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'Satoshi';src:url('/assets/fonts/Satoshi-Medium.woff2') format('woff2');font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:'Satoshi';src:url('/assets/fonts/Satoshi-Bold.woff2') format('woff2');font-weight:700;font-style:normal;font-display:swap}
