/* =========================================================
   Aspire Capital Partners Limited
   Shared stylesheet. Desktop canvas: 1366px (matches the Canva source).
   Every measurement below was taken from the source PDF.
   ========================================================= */

*, *::before, *::after { box-sizing: border-box; }

html, body { margin: 0; padding: 0; background: #f4f1ec; min-width: 1366px; }
h1, h2, h3, h4, p { margin: 0; font-weight: 400; }

/* No underlines anywhere, and no motion of any kind. */
a { text-decoration: none; }
a:hover, a:focus { text-decoration: none; }
* { transition: none !important; animation: none !important; }

img { display: block; border: 0; }

/* ---------- page canvas ---------- */
.page { position: relative; width: 100%; }
.sec { position: relative; width: 100%; min-width: 1366px; overflow: hidden; }
.inner { position: relative; width: 1366px; height: 100%; margin: 0 auto; }

/* Absolutely-positioned content blocks (semantic tags kept for the mobile pass) */
.sec p, .sec h1, .sec h2, .sec h3, .sec h4, .sec span, .sec a, .sec img { position: absolute; }
.sec .h-hero    { position: static; }

/* ---------- fixed header ---------- */
.site-header {
  position: fixed;
  top: 0; left: 0;
  width: 100%;
  min-width: 1366px;
  height: 96.3px;
  background: #f4f1ec;
  z-index: 100;
}
.header-inner { position: relative; width: 1366px; height: 96.3px; margin: 0 auto; }
.logo { position: absolute; left: 30px; top: 11px; width: 306px; height: 76px; }

.nav-div { position: absolute; top: 30.9px; width: 2px; height: 34.5px; background: #cdad7d; }
.nav-link { position: absolute; width: auto !important; white-space: nowrap; color: #cdad7d; }
.nav-link:hover { color: #a6834b; }
.nav-link.is-active, .nav-link.is-active:hover { color: #104179; }

/* ---------- section bands ---------- */
.hero        { height: 797px;  background: #104179; }
.securities  { height: 926px;  background: #104179; }
.services    { height: 537px;  background: #f4f1ec; }
.markets     { height: 858px;  background: #104179; }
.apart       { height: 1676px; background: #f4f1ec; }
.mission     { height: 614px;  background: #104179; }
.contact     { height: 568px;  background: #cdad7d; }
.site-footer { height: 116px;  background: #f2ece1; }
.hw-main     { height: 1661px; background: #104179; }
.hw-cta      { height: 542px;  background: #104179; }

/* ---------- hero ---------- */
.hero-laurel { left: 254.8px; top: 95.7px; width: 856px; height: 701px; }
.hero .h-welcome, .hero .h-line1, .hero .h-line2 { display: block; font-weight: 700; }

/* ---------- mountain photo bands ---------- */
.mountains {
  position: absolute;
  left: 0; right: 0; top: 0;
  height: 926px;
  background: url("assets/mountains.jpg") no-repeat calc(50% - 11.1px) top;
  background-size: cover;
  opacity: 0.40;
}
.mountains-cta {
  position: absolute;
  left: 0; right: 0; top: 0;
  height: 542px;
  background: url("assets/mountains2.jpg") no-repeat center 96%;
  background-size: cover;
  opacity: 0.63;
}

/* ---------- gold call-to-action box (LEARN MORE / GET IN TOUCH) ---------- */
.cta-box {
  width: 221.9px;
  height: 55.8px;
  background: #cdad7d;
  display: flex;
  align-items: center;
  justify-content: center;
}
.learn-more { left: 131.3px; top: 777.6px; }
.get-in-touch { left: 131.3px; top: 296.1px; }
.cta-box span {
  position: static !important;
  width: auto !important;
  font-weight: 700;
  text-indent: 1.19px;
}

.s-p3 strong { font-weight: 700; }

/* ---------- our services (home) ---------- */
.sv-h-p, .sv-h-c { font-weight: 700; }
.sv-p1 b, .sv-p2 b, .sv-p3 b, .sv-c1 b, .sv-c2 b, .sv-c3 b { font-weight: 700; }

/* ---------- markets we operate in ---------- */
#world-map { position: absolute; left: 131.3px; top: 180px; width: 1103px; height: 600px; background: transparent; }
.jvm-container { background: transparent !important; }
.jvm-tooltip {
  background-color: #cdad7d !important;
  color: #f4f1ec !important;
  border: none;
  box-shadow: none;
  font-family: Inter, sans-serif;
}

/* ---------- what sets us apart (home) ---------- */
.bracket {
  top: 512.7px; width: 55.1px; height: 288.1px;
  border-left: 4px solid #cdad7d;
  border-top: 4px solid #cdad7d;
  border-bottom: 4px solid #cdad7d;
}
.rule-apart { left: 149.1px; top: 885.3px; width: 1080.3px; height: 1.5px; background: #968770; }
.ebar { width: 9px; height: 118.2px; background: #104179; }
.rule-mission { left: 142.8px; top: 165.5px; width: 1080.3px; height: 1.5px; background: #f0e6d6; }

/* ---------- what this can offer you (how it works) ---------- */
/* Same size bar beside each item, but each one a different colour. */
.obar { width: 9px; height: 118.2px; }
.obar-1 { background: #f4f1ec; }
.obar-2 { background: #f0e6d6; }
.obar-3 { background: #e8d1ae; }
.obar-4 { background: #dbbf94; }
.obar-5 { background: #cdad7d; }
.hw-chart { left: 879px; top: 1118px; width: 341px; height: 259px; }

/* ---------- contact strip (home) ---------- */
.ico-loc   { left: 206px; top: 153px; width: 31px; height: 42px; }
.ico-phone { left: 206px; top: 357px; width: 36px; height: 28px; }
.ico-email { left: 206px; top: 408px; width: 34px; height: 27px; }
.ico-ig    { left: 691px; top: 348px; width: 33px; height: 34px; }
.ico-x     { left: 691px; top: 398px; width: 33px; height: 34px; }
.social { color: #104179; }
.social:hover { color: #a6834b; }

/* ---------- footer ---------- */
.ft-div { top: 38.6px; width: 2px; height: 38.2px; background: #104179; }
.disclaimer-link { color: #104179; }
.disclaimer-link:hover { color: #cdad7d; }
.footer-logo { left: 1033px; top: 20.5px; width: 306px; height: 76px; }

/* =========================================================
   Measured blocks: HOME
   ========================================================= */
.h-welcome {
  left: 130.9px;
  top: 184.17px;
  font-family: "Libre Baskerville";
  font-size: 36px;
  line-height: 44.64px;
  color: #cdad7d;
  width: 247px;
  letter-spacing: -0.04em;
}
.h-line1 {
  left: 130.9px;
  top: 225.69px;
  font-family: "Libre Baskerville";
  font-size: 74.8px;
  line-height: 92.75px;
  color: #cdad7d;
  width: 548px;
  letter-spacing: -0.04em;
}
.h-line2 {
  left: 130.9px;
  top: 325.58px;
  font-family: "Libre Baskerville";
  font-size: 62px;
  line-height: 76.88px;
  color: #cdad7d;
  width: 548px;
  letter-spacing: -0.04em;
}
.h-para {
  left: 130.9px;
  top: 443.6px;
  font-family: Lora;
  font-size: 24.5px;
  line-height: 34px;
  color: #f0e6d6;
  width: 766px;
}
.s-title {
  left: 131.3px;
  top: 116.21px;
  font-family: "Libre Baskerville";
  font-size: 50.7px;
  line-height: 60px;
  color: #f4f1ec;
  /* widened from 593px: "Securities-Backed Lending" is longer than the
     original wording and would otherwise wrap onto a third line */
  width: 830px;
  letter-spacing: -0.04em;
}
.s-p1 {
  left: 131.3px;
  top: 266.37px;
  font-family: Inter;
  font-size: 21.3px;
  line-height: 31px;
  color: #f4f1ec;
  width: 1002px;
}
.s-p2 {
  left: 131.3px;
  top: 452.37px;
  font-family: Inter;
  font-size: 21.3px;
  line-height: 31px;
  color: #f4f1ec;
  width: 1001px;
}
.s-p3 {
  left: 131.3px;
  top: 669.37px;
  font-family: Inter;
  font-size: 21.3px;
  line-height: 31px;
  color: #f4f1ec;
  width: 963px;
}
.s-btn-label {
  left: 176.0px;
  top: 793.61px;
  font-family: Inter;
  font-size: 18.7px;
  line-height: 22.36px;
  color: #104179;
  width: 163px;
  letter-spacing: 1.19px;
}
.sv-title {
  left: 131.3px;
  top: 79.14px;
  font-family: "Libre Baskerville";
  font-size: 50.7px;
  line-height: 60px;
  color: #104179;
  width: 341px;
  letter-spacing: -0.04em;
}
.sv-lead {
  left: 131.3px;
  top: 158.28px;
  font-family: Inter;
  font-size: 21.3px;
  line-height: 31px;
  color: #104179;
  width: 300px;
}
.sv-h-p {
  left: 563.5px;
  top: 114.61px;
  font-family: Inter;
  font-size: 21.3px;
  line-height: 25.47px;
  color: #104179;
  width: 303px;
}
.sv-h-c {
  left: 948.5px;
  top: 114.61px;
  font-family: Inter;
  font-size: 21.3px;
  line-height: 25.47px;
  color: #104179;
  width: 320px;
}
.sv-p1 {
  left: 563.5px;
  top: 158.28px;
  font-family: Inter;
  font-size: 21.3px;
  line-height: 31px;
  color: #104179;
  width: 296px;
}
.sv-p2 {
  left: 563.5px;
  top: 266.88px;
  font-family: Inter;
  font-size: 21.3px;
  line-height: 31px;
  color: #104179;
  width: 311px;
}
.sv-p3 {
  left: 563.5px;
  top: 344.48px;
  font-family: Inter;
  font-size: 21.3px;
  line-height: 31px;
  color: #104179;
  width: 267px;
}
.sv-c1 {
  left: 948.5px;
  top: 158.28px;
  font-family: Inter;
  font-size: 21.3px;
  line-height: 31px;
  color: #104179;
  width: 273px;
}
.sv-c2 {
  left: 948.5px;
  top: 235.88px;
  font-family: Inter;
  font-size: 21.3px;
  line-height: 31px;
  color: #104179;
  width: 305px;
}
.sv-c3 {
  left: 948.5px;
  top: 313.48px;
  font-family: Inter;
  font-size: 21.3px;
  line-height: 31px;
  color: #104179;
  width: 267px;
}
.mp-title {
  left: 131.3px;
  top: 66.98px;
  font-family: "Libre Baskerville";
  font-size: 42.7px;
  line-height: 52.95px;
  color: #f4f1ec;
  width: 480px;
  letter-spacing: -0.04em;
}
.ap-title {
  left: 131.3px;
  top: 101.61px;
  font-family: "Libre Baskerville";
  font-size: 50.7px;
  line-height: 60px;
  color: #104179;
  width: 466px;
  letter-spacing: -0.04em;
}
.ap-why {
  left: 131.3px;
  top: 208.35px;
  font-family: "Libre Baskerville";
  font-size: 33.3px;
  line-height: 41.29px;
  color: #cdad7d;
  width: 288px;
  letter-spacing: -0.04em;
}
.ap-whyp {
  left: 131.3px;
  top: 259.97px;
  font-family: Inter;
  font-size: 21.3px;
  line-height: 31px;
  color: #104179;
  width: 1096px;
}
.ap-values {
  left: 131.3px;
  top: 442.41px;
  font-family: "Libre Baskerville";
  font-size: 33.3px;
  line-height: 41.29px;
  color: #cdad7d;
  width: 209px;
  letter-spacing: -0.04em;
}
.v1-t {
  left: 176.6px;
  top: 534.28px;
  font-family: "Libre Baskerville";
  font-size: 25.5px;
  line-height: 31.62px;
  color: #cdad7d;
  width: 176px;
}
.v1-b {
  left: 176.6px;
  top: 577.28px;
  font-family: Inter;
  font-size: 18.7px;
  line-height: 28px;
  color: #104179;
  width: 303px;
}
.v2-t {
  left: 579.7px;
  top: 534.28px;
  font-family: "Libre Baskerville";
  font-size: 25.5px;
  line-height: 31.62px;
  color: #cdad7d;
  width: 170px;
}
.v2-b {
  left: 579.7px;
  top: 577.28px;
  font-family: Inter;
  font-size: 18.7px;
  line-height: 28px;
  color: #104179;
  width: 288px;
}
.v3-t {
  left: 968.8px;
  top: 534.28px;
  font-family: "Libre Baskerville";
  font-size: 25.5px;
  line-height: 31.62px;
  color: #cdad7d;
  width: 164px;
}
.v3-b {
  left: 968.8px;
  top: 577.28px;
  font-family: Inter;
  font-size: 18.7px;
  line-height: 28px;
  color: #104179;
  width: 280px;
}
.ap-expect {
  left: 131.3px;
  top: 974.41px;
  font-family: "Libre Baskerville";
  font-size: 33.3px;
  line-height: 41.29px;
  color: #104179;
  width: 381px;
  letter-spacing: -0.04em;
}
.c1-t {
  left: 161.8px;
  top: 1068.6px;
  font-family: "Libre Baskerville";
  font-size: 25.5px;
  line-height: 26px;
  color: #104179;
  width: 167px;
}
.c1-b {
  left: 161.8px;
  top: 1128.0px;
  font-family: Inter;
  font-size: 18.7px;
  line-height: 28px;
  color: #104179;
  width: 310px;
}
.c2-t {
  left: 541.4px;
  top: 1068.6px;
  font-family: "Libre Baskerville";
  font-size: 25.5px;
  line-height: 26px;
  color: #104179;
  width: 259px;
}
.c2-b {
  left: 541.4px;
  top: 1128.0px;
  font-family: Inter;
  font-size: 18.7px;
  line-height: 28px;
  color: #104179;
  width: 318px;
}
.c3-t {
  left: 921.0px;
  top: 1068.6px;
  font-family: "Libre Baskerville";
  font-size: 25.5px;
  line-height: 26px;
  color: #104179;
  width: 239px;
}
.c3-b {
  left: 921.0px;
  top: 1155.31px;
  font-family: Inter;
  font-size: 18.7px;
  line-height: 28px;
  color: #104179;
  width: 325px;
}
.c4-t {
  left: 161.8px;
  top: 1370.21px;
  font-family: "Libre Baskerville";
  font-size: 25.5px;
  line-height: 26px;
  color: #104179;
  width: 237px;
}
.c4-b {
  left: 161.8px;
  top: 1456.92px;
  font-family: Inter;
  font-size: 18.7px;
  line-height: 28px;
  color: #104179;
  width: 325px;
}
.c5-t {
  left: 541.4px;
  top: 1370.21px;
  font-family: "Libre Baskerville";
  font-size: 25.5px;
  line-height: 26px;
  color: #104179;
  width: 272px;
}
.c5-b {
  left: 541.4px;
  top: 1429.61px;
  font-family: Inter;
  font-size: 18.7px;
  line-height: 28px;
  color: #104179;
  width: 327px;
}
.mi-quote {
  left: 131.3px;
  top: 50.83px;
  font-family: Lora;
  font-size: 24.5px;
  line-height: 34px;
  color: #f4f1ec;
  width: 1065px;
}
.mi-title {
  left: 131.3px;
  top: 247.69px;
  font-family: "Libre Baskerville";
  font-size: 50.7px;
  line-height: 60px;
  color: #f4f1ec;
  width: 334px;
  letter-spacing: -0.04em;
}
.mi-body {
  left: 131.3px;
  top: 329.52px;
  font-family: Inter;
  font-size: 21.3px;
  line-height: 31px;
  color: #f4f1ec;
  width: 1081px;
}
.ct-loc {
  left: 131.3px;
  top: 77.98px;
  font-family: "Libre Baskerville";
  font-size: 42.7px;
  line-height: 52.95px;
  color: #f4f1ec;
  width: 306px;
  letter-spacing: -0.04em;
}
.ct-hours {
  left: 692.6px;
  top: 77.98px;
  font-family: "Libre Baskerville";
  font-size: 42.7px;
  line-height: 52.95px;
  color: #f4f1ec;
  width: 296px;
  letter-spacing: -0.04em;
}
.ct-addr {
  left: 262.3px;
  top: 152.37px;
  font-family: Inter;
  font-size: 18.7px;
  line-height: 26px;
  color: #104179;
  width: 279px;
}
.ct-days {
  left: 698.0px;
  top: 152.37px;
  font-family: Inter;
  font-size: 18.7px;
  line-height: 26px;
  color: #8c652b;
  width: 185px;
}
.ct-time {
  left: 698.0px;
  top: 178.37px;
  font-family: Inter;
  font-size: 18.7px;
  line-height: 26px;
  color: #104179;
  width: 203px;
}
.ct-info {
  left: 131.3px;
  top: 281.79px;
  font-family: "Libre Baskerville";
  font-size: 42.7px;
  line-height: 52.95px;
  color: #f4f1ec;
  width: 452px;
  letter-spacing: -0.04em;
}
.ct-follow {
  left: 692.6px;
  top: 285.75px;
  font-family: "Libre Baskerville";
  font-size: 32px;
  line-height: 39.68px;
  color: #104179;
  width: 300px;
}
.ct-phone {
  left: 262.3px;
  top: 357.61px;
  font-family: Inter;
  font-size: 18.7px;
  line-height: 26px;
  color: #104179;
  width: 141px;
}
.ct-email {
  left: 262.3px;
  top: 405.77px;
  font-family: Inter;
  font-size: 18.7px;
  line-height: 26px;
  color: #104179;
  width: 220px;
}
.ct-ig {
  left: 739.9px;
  top: 350.24px;
  font-family: Inter;
  font-size: 18.7px;
  line-height: 26px;
  color: #104179;
  width: 257px;
}
.ct-x {
  left: 739.9px;
  top: 400.43px;
  font-family: Inter;
  font-size: 18.7px;
  line-height: 26px;
  color: #104179;
  width: 174px;
}
.ft-reg {
  left: 131.3px;
  top: 45.53px;
  font-family: Inter;
  font-size: 18.7px;
  line-height: 22.36px;
  color: #104179;
  width: 683px;
}
.ft-disc {
  left: 853.9px;
  top: 46.0px;
  font-family: Lora;
  font-size: 17.7px;
  line-height: 22.66px;
  color: #104179;
  width: 137px;
}
.nav-home {
  left: 834.2px;
  top: 37.18px;
  font-family: Lora;
  font-size: 16px;
  line-height: 20.48px;
  color: #cdad7d;
  width: 80px;
}
.nav-how {
  left: 908.0px;
  top: 37.18px;
  font-family: Lora;
  font-size: 16px;
  line-height: 20.48px;
  color: #cdad7d;
  width: 154px;
}
.nav-become {
  left: 1055.9px;
  top: 37.18px;
  font-family: Lora;
  font-size: 16px;
  line-height: 20.48px;
  color: #cdad7d;
  width: 189px;
}
.nav-contacts {
  left: 1239.0px;
  top: 37.18px;
  font-family: Lora;
  font-size: 16px;
  line-height: 20.48px;
  color: #cdad7d;
  width: 117px;
}

/* =========================================================
   Measured blocks: HOW IT WORKS
   ========================================================= */
.hw-title {
  left: 131.3px;
  top: 210.48px;
  font-family: "Libre Baskerville";
  font-size: 66.7px;
  line-height: 80px;
  color: #f4f1ec;
  width: 791px;
  letter-spacing: -0.04em;
}
.hw-sub {
  left: 131.8px;
  top: 396.38px;
  font-family: "Libre Baskerville";
  font-size: 33.3px;
  line-height: 41.29px;
  color: #f4f1ec;
  width: 712px;
  letter-spacing: -0.04em;
}
.hw-p1 {
  left: 131.3px;
  top: 496.33px;
  font-family: Inter;
  font-size: 21.3px;
  line-height: 31px;
  color: #f4f1ec;
  width: 1091px;
}
.hw-p2 {
  left: 131.3px;
  top: 651.33px;
  font-family: Inter;
  font-size: 21.3px;
  line-height: 31px;
  color: #f4f1ec;
  width: 1072px;
}
.hw-offer {
  left: 130.9px;
  top: 802.5px;
  font-family: "Libre Baskerville";
  font-size: 33.3px;
  line-height: 41.29px;
  color: #f4f1ec;
  width: 447px;
  letter-spacing: -0.04em;
}
.hw-o1-t {
  left: 161.8px;
  top: 885.12px;
  font-family: "Libre Baskerville";
  font-size: 25.5px;
  line-height: 25.53px;
  color: #f4f1ec;
  width: 260px;
}
.hw-o1-b {
  left: 161.8px;
  top: 945.43px;
  font-family: Inter;
  font-size: 18.7px;
  line-height: 28px;
  color: #f4f1ec;
  width: 315px;
}
.hw-o2-t {
  left: 541.4px;
  top: 885.12px;
  font-family: "Libre Baskerville";
  font-size: 25.5px;
  line-height: 25.53px;
  color: #f0e6d6;
  width: 170px;
}
.hw-o2-b {
  left: 541.4px;
  top: 945.43px;
  font-family: Inter;
  font-size: 18.7px;
  line-height: 28px;
  color: #f0e6d6;
  width: 316px;
}
.hw-o3-t {
  left: 921.0px;
  top: 885.12px;
  font-family: "Libre Baskerville";
  font-size: 25.5px;
  line-height: 25.53px;
  color: #e8d1ae;
  width: 167px;
}
.hw-o3-b {
  left: 921.0px;
  top: 945.43px;
  font-family: Inter;
  font-size: 18.7px;
  line-height: 28px;
  color: #e8d1ae;
  width: 314px;
}
.hw-o4-t {
  left: 161.8px;
  top: 1140.44px;
  font-family: "Libre Baskerville";
  font-size: 25.5px;
  line-height: 25.53px;
  color: #dbbf94;
  width: 263px;
}
.hw-o4-b {
  left: 161.8px;
  top: 1228.07px;
  font-family: Inter;
  font-size: 18.7px;
  line-height: 28px;
  color: #dbbf94;
  width: 320px;
}
.hw-o5-t {
  left: 541.4px;
  top: 1140.44px;
  font-family: "Libre Baskerville";
  font-size: 25.5px;
  line-height: 25.53px;
  color: #cdad7d;
  width: 218px;
}
.hw-o5-b {
  left: 541.4px;
  top: 1200.76px;
  font-family: Inter;
  font-size: 18.7px;
  line-height: 28px;
  color: #cdad7d;
  width: 310px;
}
.hw-p3 {
  left: 131.3px;
  top: 1435.63px;
  font-family: Inter;
  font-size: 21.3px;
  line-height: 31px;
  color: #f4f1ec;
  width: 1082px;
}
.hw-ct {
  left: 131.3px;
  top: 79.06px;
  font-family: "Libre Baskerville";
  font-size: 66.7px;
  line-height: 80px;
  color: #f4f1ec;
  width: 366px;
  letter-spacing: -0.04em;
}
.hw-ct-sub {
  left: 131.3px;
  top: 185.39px;
  font-family: "Libre Baskerville";
  font-size: 40.0px;
  line-height: 49.6px;
  color: #f4f1ec;
  width: 769px;
  letter-spacing: -0.04em;
}
.hw-btn {
  left: 168.5px;
  top: 312.1px;
  font-family: Inter;
  font-size: 18.7px;
  line-height: 22.36px;
  color: #104179;
  width: 177px;
  letter-spacing: 1.19px;
}
.ft-reg2 {
  left: 131.3px;
  top: 45.52px;
  font-family: Inter;
  font-size: 18.7px;
  line-height: 22.36px;
  color: #104179;
  width: 683px;
}
.ft-disc2 {
  left: 853.9px;
  top: 46.0px;
  font-family: Lora;
  font-size: 17.7px;
  line-height: 22.66px;
  color: #104179;
  width: 137px;
}

/* =========================================================
   Measured blocks: BECOME A PARTNER
   ========================================================= */
.bp-title {
  left: 131.3px;
  top: 210.48px;
  font-family: "Libre Baskerville";
  font-size: 66.7px;
  line-height: 80px;
  color: #f4f1ec;
  width: 614px;
  letter-spacing: -0.04em;
}
.bp-p1 {
  left: 131.3px;
  top: 322.52px;
  font-family: Inter;
  font-size: 21.3px;
  line-height: 31px;
  color: #f4f1ec;
  width: 1100px;
}
.bp-p2 {
  left: 131.3px;
  top: 477.52px;
  font-family: Inter;
  font-size: 21.3px;
  line-height: 31px;
  color: #f4f1ec;
  width: 1090px;
}
.bp-form-title {
  left: 167.1px;
  top: 693.8px;
  font-family: "Libre Baskerville";
  font-size: 38.3px;
  line-height: 47.49px;
  color: #f4f1ec;
  width: 257px;
  letter-spacing: -0.04em;
}

/* ---------- become a partner: page bands ---------- */
.bp-main { height: 1545px; background: #dbbf94; }

/* The form panel, measured from the source PDF */
.form-panel {
  position: absolute;
  left: 131.3px;
  top: 652.9px;
  width: 1103.3px;
  height: 738px;
  background: #e8d1ae;
}

/* =========================================================
   Forms (shared by Become A Partner and Contact Us)
   Centred. No black anywhere in the styling.
   ========================================================= */
.form-wrap {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  width: 800px;
}
.bp-main .form-wrap { top: 780px; }

.acp-form { display: flex; flex-wrap: wrap; gap: 16px 24px; }
.field { display: flex; flex-direction: column; flex: 1 1 100%; }
.field.half { flex: 1 1 calc(50% - 12px); }

.acp-form label {
  font-family: Inter, sans-serif;
  font-size: 15px;
  line-height: 20px;
  color: #104179;
  margin-bottom: 6px;
}
.acp-form .opt { color: #6c7f99; }

.acp-form input[type="text"],
.acp-form input[type="email"],
.acp-form input[type="tel"],
.acp-form input[type="url"],
.acp-form select,
.acp-form textarea {
  font-family: Inter, sans-serif;
  font-size: 16px;
  line-height: 22px;
  color: #104179;
  background: #f4f1ec;
  border: 1px solid #cdad7d;
  padding: 11px 14px;
  width: 100%;
  outline: none;
  -webkit-appearance: none;
  appearance: none;
  border-radius: 0;
}
.acp-form textarea { resize: vertical; min-height: 92px; }
.acp-form input:focus,
.acp-form select:focus,
.acp-form textarea:focus { border-color: #104179; }
.acp-form input::placeholder,
.acp-form textarea::placeholder { color: #9aa9bd; }

/* phone: country code + number */
.phone-row { display: flex; gap: 10px; }
.phone-row select { width: 118px; flex: 0 0 118px; }
.phone-row input { flex: 1 1 auto; }
.other-code { display: none; width: 96px; flex: 0 0 96px; }
.other-code.show { display: block; }

/* validation */
.err {
  font-family: Inter, sans-serif;
  font-size: 12.5px;
  line-height: 14px;
  color: #9c3b2e;
  margin-top: 2px;
  min-height: 12px;   /* small reserved space, so errors never shift the layout */
}
.field.invalid input,
.field.invalid select,
.field.invalid textarea { border-color: #9c3b2e; }

/* submit */
.form-actions { flex: 1 1 100%; display: flex; justify-content: center; margin-top: -8px; }
.bp-main .form-actions { margin-top: 24px; }
.acp-form button {
  font-family: Inter, sans-serif;
  font-weight: 700;
  font-size: 18.7px;
  letter-spacing: 1.19px;
  text-indent: 1.19px;
  color: #104179;
  background: #cdad7d;
  border: 0;
  width: 221.9px;
  height: 55.8px;
  cursor: pointer;
}
.form-status {
  flex: 1 1 100%;
  text-align: center;
  font-family: Inter, sans-serif;
  font-size: 16px;
  line-height: 22px;
  color: #104179;
  min-height: 22px;
}

/* Form contents must flow normally, not inherit the page's absolute positioning. */
.form-wrap p, .form-wrap span, .form-wrap a,
.form-wrap h1, .form-wrap h2, .form-wrap h3, .form-wrap h4,
.form-wrap img { position: static; }

/* =========================================================
   Measured blocks: CONTACTS
   ========================================================= */
.cn-title {
  left: 131.3px;
  top: 225.04px;
  font-family: "Libre Baskerville";
  font-size: 60.0px;
  line-height: 74.4px;
  color: #a6834b;
  width: 280px;
  letter-spacing: -0.04em;
}
.cn-loc {
  left: 131.3px;
  top: 347.54px;
  font-family: "Libre Baskerville";
  font-size: 42.7px;
  line-height: 52.95px;
  color: #a6834b;
  width: 306px;
  letter-spacing: -0.04em;
}
.cn-hours {
  left: 692.6px;
  top: 347.54px;
  font-family: "Libre Baskerville";
  font-size: 42.7px;
  line-height: 52.95px;
  color: #a6834b;
  width: 296px;
  letter-spacing: -0.04em;
}
.cn-addr {
  left: 262.3px;
  top: 421.92px;
  font-family: Inter;
  font-size: 18.7px;
  line-height: 26px;
  color: #104179;
  width: 279px;
}
.cn-days {
  left: 692.6px;
  top: 421.92px;
  font-family: Inter;
  font-size: 18.7px;
  line-height: 26px;
  color: #8c652b;
  width: 185px;
}
.cn-time {
  left: 692.6px;
  top: 447.92px;
  font-family: Inter;
  font-size: 18.7px;
  line-height: 26px;
  color: #104179;
  width: 203px;
}
.cn-info {
  left: 131.3px;
  top: 551.35px;
  font-family: "Libre Baskerville";
  font-size: 42.7px;
  line-height: 52.95px;
  color: #a6834b;
  width: 452px;
  letter-spacing: -0.04em;
}
.cn-follow {
  left: 692.6px;
  top: 558.23px;
  font-family: "Libre Baskerville";
  font-size: 32.0px;
  line-height: 39.68px;
  color: #104179;
  width: 300px;
}
.cn-phone {
  left: 262.3px;
  top: 627.16px;
  font-family: Inter;
  font-size: 18.7px;
  line-height: 26px;
  color: #104179;
  width: 141px;
}
.cn-email {
  left: 262.3px;
  top: 675.33px;
  font-family: Inter;
  font-size: 18.7px;
  line-height: 26px;
  color: #104179;
  width: 220px;
}
.cn-ig {
  left: 739.9px;
  top: 622.72px;
  font-family: Inter;
  font-size: 18.7px;
  line-height: 26px;
  color: #104179;
  width: 257px;
}
.cn-x {
  left: 739.9px;
  top: 672.9px;
  font-family: Inter;
  font-size: 18.7px;
  line-height: 26px;
  color: #104179;
  width: 174px;
}
.ft-reg4 {
  left: 131.3px;
  top: 45.52px;
  font-family: Inter;
  font-size: 18.7px;
  line-height: 22.36px;
  color: #104179;
  width: 683px;
}
.ft-disc4 {
  left: 853.9px;
  top: 46.0px;
  font-family: Lora;
  font-size: 17.7px;
  line-height: 22.66px;
  color: #104179;
  width: 137px;
}

/* ---------- contacts: page bands ---------- */
.cn-main { height: 869px; background: #f0e6d6; }
/* This page's footer is a slightly lighter cream than the others, per the source. */
.site-footer.footer-light { background: #f4f1ec; }

/* contacts icons (same artwork and sizes as the home contact strip) */
.cn-ico-loc   { left: 206px;   top: 422.6px; width: 31px; height: 42px; }
.cn-ico-phone { left: 206px;   top: 626.6px; width: 36px; height: 28px; }
.cn-ico-email { left: 206px;   top: 677.6px; width: 34px; height: 27px; }
.cn-ico-ig    { left: 691px;   top: 620.5px; width: 33px; height: 34px; }
.cn-ico-x     { left: 691px;   top: 670.7px; width: 33px; height: 34px; }

/* =========================================================
   Measured blocks: CONTACT US
   ========================================================= */
.cu-title {
  left: 131.3px;
  top: 60.16px;
  font-family: "Libre Baskerville";
  font-size: 66.7px;
  line-height: 80px;
  color: #104179;
  width: 379px;
  letter-spacing: -0.04em;
}
.cu-p1 {
  left: 131.3px;
  top: 161.07px;
  font-family: Inter;
  font-size: 21.3px;
  line-height: 31px;
  color: #104179;
  width: 1103px;
}
.ft-reg5 {
  left: 131.3px;
  top: 45.52px;
  font-family: Inter;
  font-size: 18.7px;
  line-height: 22.36px;
  color: #104179;
  width: 683px;
}
.ft-disc5 {
  left: 853.9px;
  top: 46.0px;
  font-family: Lora;
  font-size: 17.7px;
  line-height: 22.66px;
  color: #104179;
  width: 137px;
}

/* ---------- contact us: page bands ---------- */
.cu-hero { height: 365px; background: #f4f1ec; }
.cu-main { height: 1440px; background: #f4f1ec; }

.mountains-top {
  position: absolute;
  left: 0; right: 0;
  top: 96.3px;
  height: 268px;
  background-color: #104179;
}
.mountains-top::after {
  content: "";
  position: absolute;
  inset: 0;
  background: url("assets/mountains3.jpg") no-repeat center 56.1%;
  background-size: cover;
  opacity: 0.50;
}

/* laurel watermark behind the form */
.cu-laurel { left: 0; top: 25px; width: 1366px; height: 1117.6px; opacity: 0.32; }

/* the navy form panel */
.cu-panel {
  position: absolute;
  left: 262.2px;
  top: 339.2px;
  width: 841.1px;
  height: 1040px;
  background: #104179;
}

/* "Get in touch": same face, size and tracking as Become A Partner,
   and the same offset from the panel corner. Gold, matching the submit box. */
.cu-form-title {
  left: 298px;
  top: 380.1px;
  font-family: "Libre Baskerville";
  font-size: 38.3px;
  line-height: 47.49px;
  letter-spacing: -0.04em;
  color: #cdad7d;
  width: 257px;
}

/* Same vertical rhythm as the Become A Partner form; narrower column. */
.cu-main .form-wrap { top: 452px; width: 640px; }
.cu-form { gap: 16px; }
.cu-form label { color: #cdad7d; }
.cu-form .opt { color: #cdad7d; }
.cu-form textarea { min-height: 255px; }
/* Borders match the panel, so the fields read as clean blocks rather than
   competing with the gold. Gold is kept for the focused field only. */
.cu-form input[type="text"],
.cu-form input[type="email"],
.cu-form input[type="tel"],
.cu-form input[type="url"],
.cu-form select,
.cu-form textarea { border-color: #104179; }
.cu-form input:focus,
.cu-form select:focus,
.cu-form textarea:focus { border-color: #cdad7d; }
.cu-form .err { color: #ffb3a7; }
.cu-form .field.invalid input,
.cu-form .field.invalid select,
.cu-form .field.invalid textarea { border-color: #ffb3a7; }
.cu-form .form-status { color: #f4f1ec; }

/* =========================================================
   Measured blocks: DISCLAIMER
   ========================================================= */
.dc-0 {
  left: 131.3px;
  top: 225.04px;
  font-family: "Libre Baskerville";
  font-size: 60.0px;
  line-height: 74.4px;
  color: #104179;
  width: 342px;
  letter-spacing: -0.04em;
}
.dc-1 {
  left: 131.3px;
  top: 346.78px;
  font-family: "Libre Baskerville";
  font-size: 37.3px;
  line-height: 46.25px;
  color: #104179;
  width: 1132px;
  letter-spacing: -0.04em;
}
.dc-2 {
  left: 131.3px;
  top: 421.28px;
  font-family: "Libre Baskerville";
  font-size: 30.7px;
  line-height: 38.07px;
  color: #104179;
  width: 464px;
  letter-spacing: -0.04em;
}
.dc-3 {
  left: 131.3px;
  top: 475.94px;
  font-family: Inter;
  font-size: 21.3px;
  line-height: 31px;
  color: #104179;
  width: 1103px;
}
.dc-4 {
  left: 131.3px;
  top: 565.2px;
  font-family: "Libre Baskerville";
  font-size: 30.7px;
  line-height: 38.07px;
  color: #104179;
  width: 295px;
  letter-spacing: -0.04em;
}
.dc-5 {
  left: 131.3px;
  top: 619.85px;
  font-family: Inter;
  font-size: 21.3px;
  line-height: 31px;
  color: #104179;
  width: 1099px;
}
.dc-6 {
  left: 131.3px;
  top: 743.85px;
  font-family: Inter;
  font-size: 21.3px;
  line-height: 31px;
  color: #104179;
  width: 789px;
}
.dc-7 {
  left: 167.6px;
  top: 805.85px;
  font-family: Inter;
  font-size: 21.3px;
  line-height: 31px;
  color: #104179;
  width: 345px;
}
.dc-8 {
  left: 167.6px;
  top: 836.85px;
  font-family: Inter;
  font-size: 21.3px;
  line-height: 31px;
  color: #104179;
  width: 225px;
}
.dc-9 {
  left: 167.6px;
  top: 867.85px;
  font-family: Inter;
  font-size: 21.3px;
  line-height: 31px;
  color: #104179;
  width: 349px;
}
.dc-10 {
  left: 167.6px;
  top: 898.85px;
  font-family: Inter;
  font-size: 21.3px;
  line-height: 31px;
  color: #104179;
  width: 432px;
}
.dc-11 {
  left: 131.3px;
  top: 960.85px;
  font-family: Inter;
  font-size: 21.3px;
  line-height: 31px;
  color: #104179;
  width: 1089px;
}
.dc-12 {
  left: 131.3px;
  top: 1050.11px;
  font-family: "Libre Baskerville";
  font-size: 30.7px;
  line-height: 38.07px;
  color: #104179;
  width: 407px;
  letter-spacing: -0.04em;
}
.dc-13 {
  left: 131.3px;
  top: 1104.77px;
  font-family: Inter;
  font-size: 21.3px;
  line-height: 31px;
  color: #104179;
  width: 1106px;
}
.dc-14 {
  left: 131.3px;
  top: 1287.03px;
  font-family: "Libre Baskerville";
  font-size: 30.7px;
  line-height: 38.07px;
  color: #104179;
  width: 506px;
  letter-spacing: -0.04em;
}
.dc-15 {
  left: 131.3px;
  top: 1341.69px;
  font-family: Inter;
  font-size: 21.3px;
  line-height: 31px;
  color: #104179;
  width: 683px;
}
.dc-16 {
  left: 167.6px;
  top: 1403.69px;
  font-family: Inter;
  font-size: 21.3px;
  line-height: 31px;
  color: #104179;
  width: 1051px;
}
.dc-17 {
  left: 167.6px;
  top: 1465.69px;
  font-family: Inter;
  font-size: 21.3px;
  line-height: 31px;
  color: #104179;
  width: 701px;
}
.dc-18 {
  left: 167.6px;
  top: 1496.69px;
  font-family: Inter;
  font-size: 21.3px;
  line-height: 31px;
  color: #104179;
  width: 1043px;
}
.dc-19 {
  left: 131.3px;
  top: 1589.69px;
  font-family: Inter;
  font-size: 21.3px;
  line-height: 31px;
  color: #104179;
  width: 1081px;
}
.dc-20 {
  left: 131.3px;
  top: 1744.69px;
  font-family: Inter;
  font-size: 21.3px;
  line-height: 31px;
  color: #104179;
  width: 1110px;
}
.dc-21 {
  left: 131.3px;
  top: 1833.95px;
  font-family: "Libre Baskerville";
  font-size: 30.7px;
  line-height: 38.07px;
  color: #104179;
  width: 239px;
  letter-spacing: -0.04em;
}
.dc-22 {
  left: 131.3px;
  top: 1888.6px;
  font-family: Inter;
  font-size: 21.3px;
  line-height: 31px;
  color: #104179;
  width: 1089px;
}
.dc-23 {
  left: 131.3px;
  top: 2101.86px;
  font-family: "Libre Baskerville";
  font-size: 30.7px;
  line-height: 38.07px;
  color: #104179;
  width: 456px;
  letter-spacing: -0.04em;
}
.dc-24 {
  left: 131.3px;
  top: 2156.52px;
  font-family: Inter;
  font-size: 21.3px;
  line-height: 31px;
  color: #104179;
  width: 1087px;
}
.dc-25 {
  left: 131.3px;
  top: 2307.78px;
  font-family: "Libre Baskerville";
  font-size: 30.7px;
  line-height: 38.07px;
  color: #104179;
  width: 402px;
  letter-spacing: -0.04em;
}
.dc-26 {
  left: 131.3px;
  top: 2362.43px;
  font-family: Inter;
  font-size: 21.3px;
  line-height: 31px;
  color: #104179;
  width: 1087px;
}
.dc-27 {
  left: 131.3px;
  top: 2513.69px;
  font-family: "Libre Baskerville";
  font-size: 30.7px;
  line-height: 38.07px;
  color: #104179;
  width: 571px;
  letter-spacing: -0.04em;
}
.dc-28 {
  left: 131.3px;
  top: 2568.35px;
  font-family: Inter;
  font-size: 21.3px;
  line-height: 31px;
  color: #104179;
  width: 1085px;
}
.dc-29 {
  left: 131.3px;
  top: 2754.35px;
  font-family: Inter;
  font-size: 21.3px;
  line-height: 31px;
  color: #104179;
  width: 1092px;
}
.dc-30 {
  left: 131.3px;
  top: 2936.61px;
  font-family: "Libre Baskerville";
  font-size: 30.7px;
  line-height: 38.07px;
  color: #104179;
  width: 188px;
  letter-spacing: -0.04em;
}
.dc-31 {
  left: 131.3px;
  top: 2991.27px;
  font-family: Inter;
  font-size: 21.3px;
  line-height: 31px;
  color: #104179;
  width: 1096px;
}
.dc-32 {
  left: 131.3px;
  top: 3142.53px;
  font-family: "Libre Baskerville";
  font-size: 30.7px;
  line-height: 38.07px;
  color: #104179;
  width: 303px;
  letter-spacing: -0.04em;
}
.dc-33 {
  left: 131.3px;
  top: 3197.18px;
  font-family: Inter;
  font-size: 21.3px;
  line-height: 31px;
  color: #104179;
  width: 1047px;
}
.dc-34 {
  left: 131.3px;
  top: 3317.44px;
  font-family: "Libre Baskerville";
  font-size: 30.7px;
  line-height: 38.07px;
  color: #104179;
  width: 338px;
  letter-spacing: -0.04em;
}
.dc-35 {
  left: 131.3px;
  top: 3372.1px;
  font-family: Inter;
  font-size: 21.3px;
  line-height: 31px;
  color: #104179;
  width: 1038px;
}
.dc-36 {
  left: 131.3px;
  top: 3492.36px;
  font-family: "Libre Baskerville";
  font-size: 30.7px;
  line-height: 38.07px;
  color: #104179;
  width: 266px;
  letter-spacing: -0.04em;
}
.dc-37 {
  left: 131.3px;
  top: 3547.02px;
  font-family: Inter;
  font-size: 21.3px;
  line-height: 31px;
  color: #104179;
  width: 1104px;
}
.dc-38 {
  left: 131.3px;
  top: 3729.28px;
  font-family: "Libre Baskerville";
  font-size: 30.7px;
  line-height: 38.07px;
  color: #104179;
  width: 504px;
  letter-spacing: -0.04em;
}
.dc-39 {
  left: 131.3px;
  top: 3783.93px;
  font-family: Inter;
  font-size: 21.3px;
  line-height: 31px;
  color: #104179;
  width: 1104px;
}
.dc-40 {
  left: 131.3px;
  top: 3904.19px;
  font-family: "Libre Baskerville";
  font-size: 30.7px;
  line-height: 38.07px;
  color: #104179;
  width: 153px;
  letter-spacing: -0.04em;
}
.dc-41 {
  left: 131.3px;
  top: 3958.85px;
  font-family: Inter;
  font-size: 21.3px;
  line-height: 31px;
  color: #104179;
  width: 1072px;
}
.dc-42 {
  left: 131.3px;
  top: 4051.85px;
  font-family: Inter;
  font-size: 21.3px;
  line-height: 31px;
  color: #104179;
  width: 311px;
}
.dc-43 {
  left: 131.3px;
  top: 4113.85px;
  font-family: Inter;
  font-size: 21.3px;
  line-height: 31px;
  color: #104179;
  width: 198px;
}

/* ---------- disclaimer: page bands ---------- */
.dc-main { height: 4232px; background: #f4f1ec; }
.dc-dot { left: 146.3px; width: 7px; height: 7px; border-radius: 50%; background: #104179; }

/* Disclaimer is not a nav destination, so no nav item is active here. */
/* On this page the footer Disclaimer link is permanently #a6834b and does not react to hover. */
.disclaimer-link.is-current,
.disclaimer-link.is-current:hover { color: #a6834b; }
.ft-reg6 {
  left: 131.3px;
  top: 45.52px;
  font-family: Inter;
  font-size: 18.7px;
  line-height: 22.36px;
  color: #104179;
  width: 683px;
}
.ft-disc6 {
  left: 853.9px;
  top: 46.0px;
  font-family: Lora;
  font-size: 17.7px;
  line-height: 22.66px;
  color: #104179;
  width: 137px;
}

/* =========================================================
   MOBILE
   The desktop build is a fixed 1366px canvas with everything
   absolutely positioned. Below, that is switched off and the
   page reflows into a single column. Multi-column blocks stack
   one under the other so the type can stay a readable size.
   ========================================================= */
@media (max-width: 900px) {

  /* ---- release the fixed canvas ---- */
  html, body { min-width: 0; -webkit-text-size-adjust: 100%; }
  .page { width: 100%; padding-top: 88px; }
  .sec { min-width: 0; height: auto !important; overflow: visible; }
  .inner { width: 100%; height: auto; margin: 0; padding: 44px 22px; }

  /* every positioned block returns to normal flow */
  .sec p, .sec h1, .sec h2, .sec h3, .sec h4,
  .sec span, .sec a, .sec img {
    position: static !important;
    left: auto !important;
    top: auto !important;
    width: auto !important;
    max-width: 100%;
  }

  /* Desktop hard breaks are wrap points only, so they go and the text reflows.
     A break marked .keep is a real break in the content and stays. */
  br:not(.keep) { display: none; }

  /* Default rhythm. :where() keeps these at zero specificity so any
     block-specific spacing below wins without needing !important. */
  .sec :where(h1, h2) { margin: 0 0 26px; }
  .sec :where(h3, h4) { margin: 0 0 16px; }
  .sec :where(p) { margin: 0 0 18px; }
  .sec :where(p:last-child) { margin-bottom: 0; }

  /* ---- header ---- */
  .site-header { height: 88px; min-width: 0; }
  .header-inner {
    width: 100%;
    height: 88px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 0 12px;
  }
  .logo { position: static; width: 180px; height: 44.7px; }
  .nav-div { display: none; }
  .nav {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 14px;
  }
  .nav-link {
    position: static !important;
    left: auto !important;
    font-size: 11px;
    line-height: 14px;
    white-space: nowrap;
  }

  /* ---- hero ---- */
  /* The wreath sits centred behind the hero text. Every value needs
     !important here: the reset above forces top/height to auto. */
  .hero .inner { z-index: 0; }
  .hero .inner .hero-laurel {
    position: absolute !important;
    left: 50% !important;
    top: 50% !important;
    right: auto !important;
    bottom: auto !important;
    transform: translate(-50%, -50%) !important;
    width: 116% !important;
    max-width: none !important;
    height: auto !important;
    z-index: -1;
  }
  /* the wreath now runs past the text column, so clip it at the section edge */
  .hero { overflow: hidden !important; }
  .h-welcome { font-size: 22px; line-height: 30px; }
  .h-line1   { font-size: 40px; line-height: 46px; }
  .h-line2   { font-size: 34px; line-height: 42px; margin-bottom: 0; }
  .h-para    { font-size: 16px; line-height: 27px; }

  /* ---- securities lending ---- */
  .mountains { height: 100%; }
  .s-title { font-size: 30px; line-height: 38px; }
  .s-p1, .s-p2, .s-p3 { font-size: 15px; line-height: 25px; }

  /* the gold call-to-action boxes */
  .cta-box { width: 200px !important; height: 52px; margin-top: 30px; }
  .cta-box span { font-size: 15px; letter-spacing: 1px; }

  /* ---- our services: the two lists stack under the intro ---- */
  .sv-title { font-size: 30px; line-height: 38px; }
  .sv-lead { font-size: 15px; line-height: 25px; margin-bottom: 26px; }
  .sv-h-p, .sv-h-c { font-size: 16px; line-height: 22px; margin: 0 0 16px; }
  .sv-h-c { margin-top: 26px; }
  .sv-p1, .sv-p2, .sv-p3,
  .sv-c1, .sv-c2, .sv-c3 { font-size: 15px; line-height: 25px; margin-bottom: 18px; }

  /* ---- markets ---- */
  .mp-title { font-size: 26px; line-height: 34px; }
  #world-map { position: static; width: 100% !important; height: 240px; }

  /* ---- what sets us apart ---- */
  .ap-title { font-size: 30px; line-height: 38px; }
  .ap-why, .ap-values, .ap-expect { font-size: 22px; line-height: 30px; margin: 30px 0 16px; }
  .ap-whyp { font-size: 15px; line-height: 25px; }

  /* The bracket and bar shapes cannot survive the reflow, so each item
     keeps its rule as a left edge running down the title and its text. */
  .bracket, .ebar { display: none; }

  .v1-t, .v2-t, .v3-t,
  .v1-b, .v2-b, .v3-b {
    border-left: 4px solid #cdad7d;
    padding-left: 16px;
  }
  .v1-t, .v2-t, .v3-t { font-size: 19px; line-height: 26px; margin: 0; padding-top: 4px; padding-bottom: 8px; }
  .v1-b, .v2-b, .v3-b { font-size: 14px; line-height: 23px; margin: 0 0 26px; padding-bottom: 6px; }

  .c1-t, .c2-t, .c3-t, .c4-t, .c5-t,
  .c1-b, .c2-b, .c3-b, .c4-b, .c5-b {
    border-left: 9px solid #104179;
    padding-left: 16px;
  }
  .c1-t, .c2-t, .c3-t, .c4-t, .c5-t { font-size: 19px; line-height: 26px; margin: 0; padding-top: 4px; padding-bottom: 8px; }
  .c1-b, .c2-b, .c3-b, .c4-b, .c5-b { font-size: 14px; line-height: 23px; margin: 0 0 26px; padding-bottom: 6px; }

  .rule-apart, .rule-mission {
    display: block;
    width: 100% !important;
    height: 1.5px;
    margin: 30px 0;
  }

  /* ---- mission ---- */
  .mi-quote { font-size: 17px; line-height: 28px; }
  .mi-title { font-size: 30px; line-height: 38px; }
  .mi-body  { font-size: 15px; line-height: 25px; }

  /* ---- contact strip: icon beside its text, one pair per line ---- */
  .contact h2 { clear: both; }
  .ct-loc, .ct-hours, .ct-info { font-size: 26px; line-height: 34px; margin: 34px 0 22px; }
  .ct-loc { margin-top: 0; }
  .ct-hours + .ct-days { margin-top: 0; }
  .ct-follow { font-size: 22px; line-height: 30px; margin: 34px 0 22px; clear: both; }

  .ico {
    position: static !important;
    float: left;
    clear: both;
    margin: 3px 14px 0 0;
  }
  .ico-loc   { width: 22px !important; height: 30px; }
  .ico-phone { width: 26px !important; height: 20px; }
  .ico-email { width: 24px !important; height: 19px; }
  .ico-ig, .ico-x { width: 24px !important; height: 24px; }

  .ct-addr, .ct-phone, .ct-email, .ct-ig, .ct-x {
    display: block;
    overflow: hidden;
    font-size: 15px;
    line-height: 25px;
    margin-bottom: 22px;
  }
  .ct-days, .ct-time { font-size: 15px; line-height: 25px; margin: 0; }

  /* ---- how it works ---- */
  .hw-title { font-size: 34px; line-height: 43px; }
  /* Sits halfway between the page title (34px) and the card titles (19px),
     and matches "What This Can Offer You" exactly. */
  .hw-sub   { font-size: 23px; line-height: 31px; margin: 0 0 30px; }
  .hw-p1, .hw-p2, .hw-p3 { font-size: 15px; line-height: 25px; }
  .hw-offer { font-size: 23px; line-height: 31px; margin: 34px 0 26px; }

  /* Each item keeps its own colour as a left edge, since the bars beside the
     cards cannot survive the reflow. Same idea as the home page. */
  .obar { display: none; }

  .hw-o1-t, .hw-o1-b, .hw-o2-t, .hw-o2-b, .hw-o3-t,
  .hw-o3-b, .hw-o4-t, .hw-o4-b, .hw-o5-t, .hw-o5-b {
    border-left: 9px solid;
    padding-left: 16px;
  }
  .hw-o1-t, .hw-o1-b { border-color: #f4f1ec; }
  .hw-o2-t, .hw-o2-b { border-color: #f0e6d6; }
  .hw-o3-t, .hw-o3-b { border-color: #e8d1ae; }
  .hw-o4-t, .hw-o4-b { border-color: #dbbf94; }
  .hw-o5-t, .hw-o5-b { border-color: #cdad7d; }

  .hw-o1-t, .hw-o2-t, .hw-o3-t, .hw-o4-t, .hw-o5-t {
    font-size: 19px; line-height: 26px;
    margin: 0; padding-top: 4px; padding-bottom: 8px;
  }
  .hw-o1-b, .hw-o2-b, .hw-o3-b, .hw-o4-b, .hw-o5-b {
    font-size: 14px; line-height: 23px;
    margin: 0 0 26px; padding-bottom: 6px;
  }

  /* the candlestick graphic */
  .hw-main .hw-chart {
    display: block;
    width: 100% !important;
    max-width: 320px;
    height: auto;
    margin: 8px auto 30px;
  }

  .hw-p3 { margin-top: 4px; }

  /* ---- how it works: contact us band ---- */
  .mountains-cta { height: 100%; }
  .hw-ct     { font-size: 34px; line-height: 43px; margin: 0 0 18px; }
  .hw-ct-sub { font-size: 19px; line-height: 29px; margin: 0; }

  /* ---- become a partner ---- */
  .bp-title { font-size: 34px; line-height: 43px; }
  .bp-p1, .bp-p2 { font-size: 15px; line-height: 25px; }

  /* The panel is a fixed-size rectangle on desktop. On a phone the title and
     the form become one continuous cream band running edge to edge instead. */
  .form-panel { display: none; }

  .bp-form-title {
    position: static !important;
    background: #e8d1ae;
    /* the reset above caps every heading at max-width:100%, which clipped this
       band 44px short and let the page tan show through on the right */
    max-width: none !important;
    width: auto !important;
    margin: 34px -22px 0 !important;
    padding: 30px 22px 0;
    font-size: 26px;
    line-height: 34px;
  }
  /* the message box grows as you type, same as Contact Us */
  .bp-main .acp-form textarea { min-height: 140px; }

  .bp-main .form-wrap {
    position: static !important;
    max-width: none;
    left: auto !important;
    top: auto !important;
    transform: none !important;
    width: auto !important;
    background: #e8d1ae;
    margin: 0 -22px;
    padding: 22px 22px 34px;
  }

  /* ---- forms ---- */
  .field.half { flex: 1 1 100%; }              /* one field per line */
  .acp-form { gap: 16px; }
  .phone-row select { width: 104px; flex: 0 0 104px; }
  .other-code.show { width: 84px; flex: 0 0 84px; }
  .acp-form label { font-size: 15px; }
  .acp-form input[type="text"],
  .acp-form input[type="email"],
  .acp-form input[type="tel"],
  .acp-form input[type="url"],
  .acp-form select,
  .acp-form textarea { font-size: 16px; }      /* 16px stops iOS zooming on focus */
  .acp-form button { width: 100%; max-width: 260px; }

  /* ---- contacts page: same treatment as the home contact strip ---- */
  .cn-title { font-size: 38px; line-height: 48px; margin: 0 0 10px; }

  .cn-main h2 { clear: both; }
  .cn-loc, .cn-hours, .cn-info { font-size: 23px; line-height: 31px; margin: 34px 0 22px; }
  .cn-follow { font-size: 20px; line-height: 28px; margin: 34px 0 22px; clear: both; }

  .cn-ico-loc, .cn-ico-phone, .cn-ico-email, .cn-ico-ig, .cn-ico-x {
    position: static !important;
    float: left;
    clear: both;
    margin: 3px 14px 0 0;
  }
  .cn-ico-loc   { width: 22px !important; height: 30px; }
  .cn-ico-phone { width: 26px !important; height: 20px; }
  .cn-ico-email { width: 24px !important; height: 19px; }
  .cn-ico-ig, .cn-ico-x { width: 24px !important; height: 24px; }

  .cn-addr, .cn-phone, .cn-email, .cn-ig, .cn-x {
    display: block;
    overflow: hidden;
    font-size: 15px;
    line-height: 25px;
    margin-bottom: 22px;
  }
  .cn-days, .cn-time { font-size: 15px; line-height: 25px; margin: 0; }

  /* ---- contact us ---- */
  /* The mountain band. Same photo, same zoom, same left-to-right framing as
     before: the band is simply shorter, so the top edge lands just above the
     peaks instead of showing a screen full of sky. The bottom edge is unchanged,
     which keeps it clear of the watermark. */
  .cu-hero { height: 26.4vw !important; min-height: 88px; }
  .mountains-top { top: 0; height: 100%; }
  .mountains-top::after { background-position: center 61.3%; }

  .cu-main { overflow: hidden !important; }
  .cu-main .inner { z-index: 0; }

  /* Option (c): the panel runs edge to edge, so the wreath moves up to sit
     behind the heading and the intro, where it has room to be seen. */
  /* The wreath fills the space between the photo and the navy band, centred
     both ways, with a small clearance top and bottom. Sized by HEIGHT off its
     container so it always fits, whatever width the phone is. */
  /* no cream gap under the navy band before the footer */
  .cu-main .inner { padding-top: 6px; padding-bottom: 0; }
  .cu-intro { position: relative; z-index: 0; padding: 30px 0; }
  .cu-main .cu-laurel {
    position: absolute !important;
    left: 50% !important;
    top: 50% !important;
    right: auto !important;
    bottom: auto !important;
    transform: translate(-50%, -50%) !important;
    /* fills its box, but never wider than the screen */
    height: min(calc(100% - 16px), 80vw) !important;
    width: auto !important;
    max-width: none !important;
    z-index: -1;
  }

  .cu-title { font-size: 34px; line-height: 43px; }
  .cu-p1 { font-size: 15px; line-height: 25px; }

  /* the navy panel becomes a full-width band holding the title and the form */
  .cu-panel { display: none; }

  .cu-form-title {
    position: static !important;
    max-width: none !important;
    width: auto !important;
    background: #104179;
    margin: 8px -22px 0 !important;
    padding: 30px 22px 0;
    font-size: 23px;
    line-height: 31px;
  }
  .cu-main .form-wrap {
    position: static !important;
    left: auto !important;
    top: auto !important;
    transform: none !important;
    width: auto !important;
    max-width: none;
    background: #104179;
    margin: 0 -22px;
    padding: 22px 22px 34px;
  }

  /* starts compact; form.js grows it as you type */
  .cu-form textarea { min-height: 140px; }

  /* ---- disclaimer ---- */
  .dc-0 { font-size: 34px; line-height: 43px; margin: 0 0 22px; }

  /* the document sub-title */
  .dc-main .dc-1 { font-size: 22px; line-height: 31px; margin: 0 0 6px; }

  /* every clause heading */
  .dc-main h2 { font-size: 19px; line-height: 27px; margin: 30px 0 12px; }

  .dc-main p { font-size: 15px; line-height: 25px; margin: 0 0 16px; }

  /* The bullet dots are positioned shapes on desktop. On mobile they become
     a proper marker on each list item instead. */
  .dc-dot { display: none; }
  /* Needs to out-specify `.sec p { position: static !important }` above,
     otherwise the markers escape and pile up in the corner of the page. */
  .dc-main .dc-li {
    position: relative !important;
    padding-left: 22px;
    margin-bottom: 10px !important;
  }
  .dc-main .dc-li::before {
    content: "";
    position: absolute;
    left: 2px;
    top: 9px;
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: #104179;
  }

  /* ---- footer ---- */
  .site-footer .inner {
    padding: 26px 22px;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 12px;
    text-align: center;
  }
  .ft-div { display: none; }
  .ft-reg2, .ft-reg4, .ft-reg5, .ft-reg6,
  .site-footer .ft-reg { font-size: 13px; line-height: 20px; margin: 0; }
  .ft-disc2, .ft-disc4, .ft-disc5, .ft-disc6,
  .site-footer .ft-disc { font-size: 13px; line-height: 18px; }
  .footer-logo { position: static !important; width: 190px !important; height: 47.2px; margin-top: 4px; }
}

/* =========================================================
   jsvectormap stylesheet, copied in verbatim so the map does not
   depend on an external stylesheet loading. (MIT, themustafaomar)
   ========================================================= */
.jvm-container svg { -ms-touch-action: none; touch-action: none; }
.jvm-container image, .jvm-container text, .jvm-zoomin, .jvm-zoomout { -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; }
.jvm-container { -ms-touch-action: none; touch-action: none; position: relative; overflow: hidden; height: 100%; width: 100%; }
.jvm-tooltip { border-radius: 3px; background-color: #5c5cff; font-family: sans-serif, Verdana; font-size: smaller; box-shadow: 1px 2px 12px rgba(0,0,0,0.2); padding: 3px 5px; white-space: nowrap; position: absolute; display: none; color: #FFF; }
.jvm-tooltip.active { display: block; }
.jvm-zoom-btn { border-radius: 3px; background-color: #292929; padding: 3px; box-sizing: border-box; position: absolute; line-height: 10px; cursor: pointer; color: #FFF; height: 15px; width: 15px; left: 10px; }
.jvm-zoom-btn.jvm-zoomout { top: 30px; }
.jvm-zoom-btn.jvm-zoomin { top: 10px; }

/* zoom buttons are switched off in script.js, so they never appear */
#world-map .jvm-zoom-btn { display: none; }

/* Only the highlighted markets and the two markers get a tooltip.
   script.js puts this class on <body> whenever the cursor is over
   anything else. */
body.acp-no-tip .jvm-tooltip { display: none !important; }

/* =========================================================
   Searchable country selector (both forms) + consent checkbox
   ========================================================= */
.cc { position: relative; flex: 0 0 132px; }
.cc-btn {
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 6px;
  white-space: nowrap;
  font-family: Inter, sans-serif;
  font-size: 16px;
  color: #104179;
  background: #f4f1ec;
  border: 1px solid #cdad7d;
  padding: 11px 14px;
  height: 100%;
  box-sizing: border-box;
}
.cu-form .cc-btn { border-color: #104179; }
.cc-caret { margin-left: auto; opacity: .7; }
.cc-pop {
  position: absolute;
  z-index: 30;
  top: calc(100% + 4px);
  left: 0;
  width: 290px;
  max-width: 78vw;
  background: #fff;
  border: 1px solid #104179;
  max-height: 280px;
  display: none;
  flex-direction: column;
}
.cc-pop.open { display: flex; }
.cc-search {
  margin: 8px;
  width: calc(100% - 16px);
  flex: 0 0 auto;
  font-family: Inter, sans-serif;
  font-size: 15px;
  color: #104179;
  background: #f4f1ec;
  border: 1px solid #cdad7d;
  padding: 8px 10px;
  box-sizing: border-box;
  outline: none;
}
.cc-list { overflow: auto; }
.cc-opt {
  padding: 8px 12px;
  cursor: pointer;
  display: flex;
  gap: 8px;
  font-size: 15px;
  color: #104179;
}
.cc-opt:hover, .cc-opt.active { background: #f0e6d6; }
.cc-iso { min-width: 26px; font-weight: 700; }
.cc-dial { margin-left: auto; opacity: .6; }

/* consent block (Contact Us only) */
.consent { flex: 1 1 100%; display: flex; flex-wrap: wrap; gap: 12px; align-items: flex-start; margin-top: 4px; }
.consent input {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  width: 20px !important;
  height: 20px !important;
  padding: 0 !important;
  flex: 0 0 20px;
  align-self: flex-start;
  margin-top: 2px;
  background: #f4f1ec;
  border: 1px solid #104179;
  border-radius: 0;
  cursor: pointer;
  position: relative;
  box-sizing: border-box;
}
.consent input:hover { background: #f4f1ec; }
.consent input:checked { background: #cdad7d; }
.consent input:checked:hover { background: #cdad7d; }
.consent input:checked::after {
  content: '';
  position: absolute;
  left: 50%;
  top: 46%;
  width: 7px;
  height: 14px;
  border: solid #3a3a3a;
  border-width: 0 3.5px 3.5px 0;
  transform: translate(-50%, -54%) rotate(45deg);
}
.consent-text { font-family: Inter, sans-serif; font-size: 15px; line-height: 1.5; margin: 0; color: #f4f1ec; }
.consent-link { color: #e8d1ae; text-decoration: none; }
.consent-link:hover { color: #cdad7d; text-decoration: none; }

/* on mobile the country box + number stack comfortably */
@media (max-width: 900px) {
  .cc { flex: 0 0 120px; }
  .cc-pop { width: 260px; }
}
/* consent error sits under the whole block */
.consent-text { flex: 1 1 0; min-width: 0; }
  .consent-err { flex: 1 1 100%; min-height: 12px; margin-top: 2px; margin-left: 0; font-size: 12.5px; line-height: 14px; }
.cu-form .consent .consent-err { color: #ffb3a7; }
