/*
Theme Name: DKK Partners
Theme URI: https://dkkpartners.com
Author: OpenAI
Description: Custom homepage theme for DKK Partners built from supplied homepage HTML.
Version: 1.0
Text Domain: dkk-partners
*/

/* =========================================================
   BRAND TOKENS
========================================================= */

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

:root {
  --ink: #080c18;
  --navy: #0c1424;
  --navy-mid: #111d30;
  --navy-card: #152340;
  --slate: #1e2d45;

  --sapphire: #004FAC;
  --sapphire-mid: #12469B;
  --sky: #6BB0FF;
  --sky-pale: #6BB0FF;

  --gold: #b8955a;
  --gold-light: #d4af78;
  --gold-rule: rgba(184,149,90,0.35);

  --t1: #f0f2f5;
  --t2: #8a97a8;
  --t3: #4a5868;

  --rule: rgba(255,255,255,0.07);
  --rule-mid: rgba(255,255,255,0.12);
  --rule-blue: rgba(107,176,255,0.15);

  --white: #f0f2f5;
  --grey: #8a97a8;
  --line: rgba(255,255,255,0.07);

  --bg0: #080c18;
  --bg1: #0c1424;
  --bg2: #111d30;
  --bg3: #152340;
  --bg-hover: #1e2d45;

  --blue: #004FAC;
  --blue-mid: #12469B;
  --blue-bright: #6BB0FF;
  --blue-dim: rgba(107,176,255,0.08);

  --text-primary: #f0f2f5;
  --text-secondary: #8a97a8;
  --text-muted: #4a5868;

  --border: rgba(255,255,255,0.07);
  --border-mid: rgba(255,255,255,0.12);
  --border-blue: rgba(107,176,255,0.15);

  --line-gold: rgba(184,149,90,0.3);
  --gold-dim: rgba(184,149,90,0.1);

  --navy-mid-compat: #111d30;
}

/* =========================================================
   GLOBAL / BASE
========================================================= */

html {
  scroll-behavior: smooth;
  margin-top: 0 !important;
}

body {
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Helvetica Neue', Arial, sans-serif !important;
  background: var(--ink);
  color: var(--t1);
  overflow-x: hidden;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility !important;
  font-size: 15px !important;
  line-height: 1.65 !important;
  font-weight: 400 !important;
  letter-spacing: -0.01em !important;
  margin: 0;
}

img,
picture,
video,
canvas,
svg {
  display: block;
  max-width: 100%;
}

a {
  color: inherit;
  text-decoration: none;
}

button,
input,
textarea,
select {
  font: inherit;
}

section {
  padding: 88px 64px !important;
}

/* =========================================================
   TYPOGRAPHY
========================================================= */

h1,
h2,
h3,
.contact-big,
.spec-title,
.manifesto-quote,
.story-pull,
.vision-callout-text,
.mv-text,
.stat-value,
.entity-name,
.team-name,
.founder-name,
.reg-entity,
.role-title,
.testimonial-quote,
.spec-follow-text,
.timeline-year,
.roles-sidebar-heading,
.role-card-title {
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Helvetica Neue', Arial, sans-serif !important;
  color: var(--t1);
}

h1 {
  font-size: clamp(36px, 5vw, 64px) !important;
  font-weight: 600 !important;
  line-height: 1.08 !important;
  letter-spacing: -0.02em !important;
  margin-bottom: 24px !important;
  color: var(--t1);
  animation: fadeInUp 1s 0.1s ease both;
}

h2 {
  font-size: clamp(26px, 3vw, 40px) !important;
  font-weight: 600 !important;
  line-height: 1.12 !important;
  letter-spacing: -0.015em !important;
  margin-bottom: 18px !important;
  color: var(--t1);
}

h3 {
  color: var(--t1);
}

h1 em,
h2 em {
  font-style: italic !important;
  font-weight: 300 !important;
  color: var(--t1) !important;
  letter-spacing: inherit !important;
}

.lead,
.body-text,
.hero-desc,
.entity-desc,
.pillar-desc,
.vision-body p {
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Helvetica Neue', Arial, sans-serif !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  line-height: 1.8 !important;
  letter-spacing: -0.005em !important;
  color: var(--t2) !important;
}

.hero-desc {
  max-width: 500px;
  margin-bottom: 48px;
  animation: fadeInUp 1s 0.2s ease both;
}

.section-tag,
.hero-eyebrow,
.page-eyebrow,
.entity-jurisdiction,
.role-meta,
.perk-title,
.value-name,
.team-role,
.founder-role,
.reg-jurisdiction,
.role-card-dept,
.roles-contact-label,
.mv-label,
.spec-follow-label,
.footer-col-title,
.footer-disc-entity,
.stat-label,
.pillar-title,
.role-type-badge,
.nav-tagline,
.testimonial-name,
.testimonial-role,
.timeline-title,
.apply-email,
.form-label,
.team-careers-label,
.region-tab,
.location-city,
.nav-cta,
.btn-primary,
.btn-ghost,
.btn-digital,
.btn-gold,
.btn-outline,
.role-apply,
.role-apply-btn,
.footer-links a,
.footer-social a,
.footer-copy,
.footer-legal a,
.footer-logo {
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Helvetica Neue', Arial, sans-serif !important;
}

/* =========================================================
   EYEBROWS / LABELS
========================================================= */

.section-tag,
.hero-eyebrow,
.page-eyebrow {
  font-size: 10px !important;
  font-weight: 600 !important;
  letter-spacing: 0.16em !important;
  text-transform: uppercase;
  color: var(--sky) !important;
  display: flex;
  align-items: center;
}

.section-tag {
  margin-bottom: 20px;
  gap: 14px;
}

.section-tag::before {
  content: '';
  display: block;
  width: 20px !important;
  height: 1px;
  background: var(--sky) !important;
  flex: 0 0 auto;
}

.hero-eyebrow,
.page-eyebrow {
  margin-bottom: 24px;
  gap: 16px;
  animation: fadeInUp 0.8s ease both;
}

.hero-eyebrow::before,
.page-eyebrow::before {
  content: '';
  display: block;
  width: 32px;
  height: 1px;
  background: var(--sky) !important;
  flex: 0 0 auto;
}

/* =========================================================
   RESPONSIVE BASE
========================================================= */

@media (max-width: 1024px) {
  section {
    padding: 72px 40px !important;
  }

  h1 {
    line-height: 1.1 !important;
  }

  h2 {
    line-height: 1.14 !important;
  }
}

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

  section {
    padding: 56px 24px !important;
  }

  h1 {
    font-size: clamp(32px, 9vw, 48px) !important;
    line-height: 1.12 !important;
    letter-spacing: -0.018em !important;
    margin-bottom: 18px !important;
  }

  h2 {
    font-size: clamp(24px, 6vw, 34px) !important;
    line-height: 1.16 !important;
    letter-spacing: -0.012em !important;
    margin-bottom: 16px !important;
  }

  .hero-desc {
    margin-bottom: 32px;
  }

  .section-tag,
  .hero-eyebrow,
  .page-eyebrow {
    letter-spacing: 0.14em !important;
  }

  .hero-eyebrow::before,
  .page-eyebrow::before {
    width: 24px;
  }
}

/* =========================================================
   OPTIONAL SAFETY FIX FOR BOLD / ITALIC HEADING SPACING
========================================================= */

h1 > em,
h2 > em {
  display: inline;
  white-space: normal;
}

/* =========================================================
   HEADER
========================================================= */

nav {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 1000;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 72px;
  height: 72px;
  background: rgba(8, 11, 22, 0.55) !important;
  backdrop-filter: blur(32px) saturate(1.6) !important;
  -webkit-backdrop-filter: blur(32px) saturate(1.6) !important;
  border-bottom: 1px solid rgba(255,255,255,0.05) !important;
  transition: background 0.4s ease !important;
}

nav.nav-scrolled {
  background: rgba(8, 11, 22, 0.88) !important;
  border-bottom-color: rgba(255,255,255,0.07) !important;
}

.nav-logo {
  display: flex;
  align-items: center;
  gap: 12px;
  text-decoration: none;
  color: var(--t1);
  font-size: 15px !important;
  font-weight: 600 !important;
  letter-spacing: -0.01em !important;
  min-width: 0;
  max-width: calc(100% - 60px);
  flex: 1 1 auto;
  overflow: hidden;
}

.nav-logo img {
  height: 40px;
  width: auto;
  display: block;
  flex-shrink: 0;
}

.nav-logo span {
  color: var(--t1) !important;
  font-weight: 700;
  line-height: 1;
  flex-shrink: 0;
}

.nav-logo-bar {
  width: 1px;
  height: 22px;
  background: var(--rule-mid);
  flex-shrink: 0;
}

.nav-tagline {
  font-size: 10px;
  font-weight: 400;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--t3);
  line-height: 1;
  white-space: nowrap;
  min-width: 0;
  overflow: visible;
  text-overflow: unset;
}

.nav-links {
  display: flex;
  align-items: center;
  gap: 6px;
  list-style: none;
  margin: 0;
  padding: 0;
}

.nav-links > li {
  position: relative;
}

.nav-links li a {
  font-size: 12px !important;
  font-weight: 400 !important;
  letter-spacing: 0.01em !important;
  color: var(--t2);
  text-decoration: none;
  padding: 6px 14px;
  transition: color 0.2s;
  position: relative;
  display: inline-flex;
  align-items: center;
}

.nav-links li a::after {
  content: '';
  position: absolute;
  bottom: 2px;
  left: 14px;
  right: 14px;
  height: 1px;
  background: #6BB0FF !important;
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.25s ease;
}

.nav-links li a:hover {
  color: var(--t1);
}

.nav-links li a:hover::after,
.nav-links li a.active::after {
  transform: scaleX(1);
}

.nav-links li a.active {
  color: var(--t1);
}

/* =========================================================
   DESKTOP DROPDOWN
========================================================= */

.menu-item-has-children {
  position: relative;
}

.nav-dropdown-toggle {
  appearance: none;
  -webkit-appearance: none;
  background: transparent;
  border: none;
  cursor: pointer;
  font-size: 12px !important;
  font-weight: 400 !important;
  letter-spacing: 0.01em !important;
  color: var(--t2);
  padding: 6px 26px 6px 14px;
  transition: color 0.2s;
  position: relative;
  display: inline-flex;
  align-items: center;
  font-family: inherit;
  line-height: 1.2;
}

.nav-dropdown-toggle::after {
  content: '';
  position: absolute;
  bottom: 2px;
  left: 14px;
  right: 14px;
  height: 1px;
  background: #6BB0FF !important;
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.25s ease;
}

.nav-dropdown-toggle::before {
  content: '';
  position: absolute;
  right: 12px;
  top: 50%;
  width: 7px;
  height: 7px;
  border-right: 1.5px solid var(--t2);
  border-bottom: 1.5px solid var(--t2);
  transform: translateY(-65%) rotate(45deg);
  transition: transform 0.2s ease, border-color 0.2s ease;
}

.menu-item-has-children:hover > .nav-dropdown-toggle,
.menu-item-has-children:focus-within > .nav-dropdown-toggle {
  color: var(--t1);
}

.menu-item-has-children:hover > .nav-dropdown-toggle::after,
.menu-item-has-children:focus-within > .nav-dropdown-toggle::after {
  transform: scaleX(1);
}

.menu-item-has-children:hover > .nav-dropdown-toggle::before,
.menu-item-has-children:focus-within > .nav-dropdown-toggle::before {
  border-color: #6BB0FF;
  transform: translateY(-35%) rotate(225deg);
}

.sub-menu {
  position: absolute;
  top: calc(100% + 16px);
  left: 0;
  min-width: 260px;
  list-style: none;
  margin: 0;
  padding: 10px 0;
  background: rgba(12, 20, 36, 0.98);
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: 14px;
  box-shadow: 0 18px 48px rgba(0,0,0,0.35);
  opacity: 0;
  visibility: hidden;
  transform: translateY(8px);
  transition: opacity 0.22s ease, transform 0.22s ease, visibility 0.22s ease;
  z-index: 1200;
}

.sub-menu::before {
  content: '';
  position: absolute;
  top: -16px;
  left: 0;
  right: 0;
  height: 16px;
}

.menu-item-has-children:hover > .sub-menu,
.menu-item-has-children:focus-within > .sub-menu {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

.sub-menu li {
  margin: 0;
  padding: 0;
}

.sub-menu li a {
  display: block;
  width: 100%;
  padding: 11px 18px !important;
  color: var(--t1) !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  letter-spacing: 0.03em !important;
  text-decoration: none;
  white-space: nowrap;
}

.sub-menu li a::after {
  display: none !important;
}

.sub-menu li a:hover {
  background: rgba(107,176,255,0.08) !important;
  color: #6BB0FF !important;
}

/* =========================================================
   CTA
========================================================= */

.nav-cta {
  font-size: 11px !important;
  font-weight: 500 !important;
  letter-spacing: 0.04em !important;
  text-transform: none;
  background: #6BB0FF !important;
  border: 1px solid #6BB0FF !important;
  color: #0a0e1a !important;
  padding: 8px 22px;
  border-radius: 6px;
  text-decoration: none;
  transition: all 0.25s ease;
  box-shadow: 0 0 0 rgba(107,176,255,0);
}

.nav-cta:hover {
  background: #5aa5ff !important;
  border-color: #5aa5ff !important;
  color: #ffffff !important;
  box-shadow: 0 6px 20px rgba(107,176,255,0.35);
}

.nav-cta::after,
.nav-cta:hover::after,
.nav-cta.active::after {
  display: none !important;
}

/* =========================================================
   MOBILE MENU
========================================================= */

.mobile-menu-toggle {
  display: none;
  width: 46px;
  height: 46px;
  border: 1px solid rgba(255,255,255,0.14);
  background: rgba(255,255,255,0.04);
  border-radius: 10px;
  padding: 0;
  cursor: pointer;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  gap: 5px;
  margin-left: 12px;
}

.mobile-menu-toggle span {
  display: block;
  width: 18px;
  height: 2px;
  border-radius: 999px;
  background: var(--t1);
  transition: transform 0.22s ease, opacity 0.22s ease;
}

.mobile-menu-toggle.is-open span:nth-child(1) {
  transform: translateY(7px) rotate(45deg);
}

.mobile-menu-toggle.is-open span:nth-child(2) {
  opacity: 0;
}

.mobile-menu-toggle.is-open span:nth-child(3) {
  transform: translateY(-7px) rotate(-45deg);
}

.mobile-menu-panel {
  display: none;
  position: fixed;
  top: 72px;
  left: 0;
  right: 0;
  z-index: 999;
  pointer-events: none;
}

.mobile-menu-panel.is-open {
  display: block;
  pointer-events: auto;
}

.mobile-nav-links {
  width: min(100% - 40px, 1200px);
  margin: 16px auto 0;
  padding: 0;
  list-style: none;
  background: rgba(12, 20, 36, 0.98);
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: 14px;
  overflow: hidden;
  box-shadow: 0 18px 48px rgba(0,0,0,0.35);
}

.mobile-nav-links li {
  margin: 0;
  padding: 0;
}

.mobile-nav-links > li > a {
  display: block;
  padding: 15px 18px;
  font-size: 12px !important;
  font-weight: 500 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase;
  color: var(--t1) !important;
  text-decoration: none;
  border-bottom: 1px solid rgba(255,255,255,0.06);
  background: transparent;
  transition: background 0.2s ease, color 0.2s ease;
}

.mobile-nav-links li a::after {
  display: none !important;
}

.mobile-nav-links li a:hover {
  background: rgba(107,176,255,0.08) !important;
  color: #6BB0FF !important;
}

/* Mobile submenu */
.mobile-has-submenu {
  border-bottom: 1px solid rgba(255,255,255,0.06);
}

.mobile-submenu-trigger {
  display: flex;
  align-items: stretch;
}

.mobile-parent-label {
  display: flex;
  align-items: center;
  flex: 1 1 auto;
  padding: 15px 18px;
  font-size: 12px !important;
  font-weight: 500 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase;
  color: var(--t1) !important;
  background: transparent;
}

.mobile-submenu-toggle {
  width: 56px;
  min-width: 56px;
  border: none;
  border-left: 1px solid rgba(255,255,255,0.06);
  background: transparent;
  cursor: pointer;
  position: relative;
}

.mobile-submenu-toggle span {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 10px;
  height: 10px;
  border-right: 1.5px solid var(--t1);
  border-bottom: 1.5px solid var(--t1);
  transform: translate(-50%, -65%) rotate(45deg);
  transition: transform 0.2s ease;
}

.mobile-has-submenu.is-open .mobile-submenu-toggle span {
  transform: translate(-50%, -35%) rotate(225deg);
}

.mobile-submenu {
  list-style: none;
  margin: 0;
  padding: 0;
  display: none;
  background: rgba(255,255,255,0.02);
  border-top: 1px solid rgba(255,255,255,0.06);
}

.mobile-has-submenu.is-open .mobile-submenu {
  display: block;
}

.mobile-submenu li a {
  display: block;
  padding: 13px 18px 13px 34px;
  font-size: 11px !important;
  font-weight: 500 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase;
  color: var(--t2) !important;
  text-decoration: none;
  border-bottom: 1px solid rgba(255,255,255,0.05);
  transition: background 0.2s ease, color 0.2s ease;
}

.mobile-submenu li:last-child a {
  border-bottom: none;
}

.mobile-submenu li a:hover {
  background: rgba(107,176,255,0.08) !important;
  color: #6BB0FF !important;
}

.mobile-nav-links .mobile-nav-cta {
  background: #6BB0FF !important;
  color: #0a0e1a !important;
  font-weight: 600 !important;
  text-transform: none;
  border-bottom: none;
}

.mobile-nav-links .mobile-nav-cta:hover {
  background: #5aa5ff !important;
  color: #ffffff !important;
}

/* =========================================================
   TABLET / MOBILE (FINAL CLEAN VERSION)
========================================================= */

@media (max-width: 1180px) {
  nav {
    padding: 0 24px;
    height: 72px;
  }

  .nav-links {
    display: none;
  }

  .mobile-menu-toggle {
    display: inline-flex;
    margin-left: 12px;
    flex-shrink: 0;
  }

  .nav-logo {
    display: flex;
    align-items: center;
    gap: 10px;
    flex: 1 1 auto;
    min-width: 0;
    max-width: calc(100% - 58px);
    overflow: hidden;
  }

  .nav-logo img {
    height: 34px;
    flex-shrink: 0;
  }

  .nav-logo-text {
    display: flex;
    align-items: center;
    min-width: 0;
  }

  .nav-logo-top {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: nowrap;
  }

  .nav-logo-wordmark {
    font-size: 15px !important;
    line-height: 1 !important;
    flex-shrink: 0;
  }

  .nav-logo-bar {
    height: 18px;
    flex-shrink: 0;
  }

  .nav-tagline {
    display: inline-block !important;
    font-size: 9px !important;
    letter-spacing: 0.05em !important;
    line-height: 1 !important;
    white-space: nowrap !important;
    max-width: none !important;
    overflow: visible !important;
    text-overflow: unset !important;
  }
}

@media (min-width: 1181px) {
  .mobile-menu-panel {
    display: none !important;
  }
}

@media (max-width: 767px) {
  nav {
    padding: 0 16px;
    height: 68px;
  }

  .nav-logo {
    gap: 8px;
    max-width: calc(100% - 54px);
  }

  .nav-logo img {
    height: 30px;
  }

  .nav-logo-top {
    gap: 6px;
  }

  .nav-logo-wordmark {
    font-size: 14px !important;
  }

  .nav-logo-bar {
    height: 16px;
  }

  .nav-tagline {
    font-size: 7.2px !important;
    letter-spacing: 0.04em !important;
    white-space: nowrap !important;
    max-width: none !important;
  }

  .mobile-menu-panel {
    top: 68px;
  }

  .mobile-nav-links {
    width: min(100% - 20px, 1200px);
    margin-top: 18px;
  }
}

@media (max-width: 480px) {
  nav {
    padding: 0 14px;
  }

  .nav-logo {
    gap: 7px;
    max-width: calc(100% - 52px);
  }

  .nav-logo img {
    height: 28px;
  }

  .nav-logo-top {
    gap: 5px;
  }

  .nav-logo-wordmark {
    font-size: 13px !important;
  }

  .nav-logo-bar {
    height: 14px;
  }

  .nav-tagline {
    font-size: 6.5px !important;
    letter-spacing: 0.035em !important;
    white-space: nowrap !important;
    max-width: none !important;
  }

  .mobile-nav-links {
    width: min(100% - 16px, 1200px);
    margin-top: 16px;
  }
}

/* =========================================================
   FOOTER
========================================================= */

footer {
  background: var(--ink);
  border-top: 1px solid var(--rule);
  padding: 72px 64px 48px;
}

/* -----------------------------
   TOP SECTION
----------------------------- */

.footer-top {
  display: grid;
  grid-template-columns: minmax(300px, 320px) minmax(0, 1fr);
  gap: 96px;
  padding-bottom: 56px;
  border-bottom: 1px solid var(--rule);
  margin-bottom: 56px;
}

.footer-brand {
  max-width: 320px;
}

.footer-nav {
  display: grid;
  grid-template-columns: repeat(4, minmax(140px, 1fr));
  gap: 40px 48px;
  align-items: start;
  justify-content: end;
  justify-items: start;
  margin-left: auto;
  width: 100%;
  max-width: 860px;
  padding-left: 28px;
}

/* -----------------------------
   LOGO
----------------------------- */

.footer-logo-block {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-bottom: 20px;

  text-decoration: none;
  color: inherit;
}

.footer-logo-img {
  flex-shrink: 0;
  display: flex;
  align-items: center;
}

.footer-logo-img img {
  height: 70px;
  width: auto;
  display: block;
}

.footer-logo-text {
  display: flex;
  flex-direction: column;
  gap: 3px;
}

.footer-logo-primary {
  font-size: 14px;
  font-weight: 600;
  letter-spacing: -0.01em;
  color: var(--t1);
  line-height: 1.2;
}

.footer-logo-secondary {
  font-size: 11px;
  font-weight: 400;
  color: var(--t3);
  letter-spacing: 0.02em;
}

/* subtle hover (optional but recommended) */
.footer-logo-block:hover {
  opacity: 0.85;
}

/* -----------------------------
   DESCRIPTION
----------------------------- */

.footer-desc {
  font-size: 13px;
  line-height: 1.8;
  margin-bottom: 24px;
  font-weight: 400;
  color: var(--t2);
}

/* -----------------------------
   SOCIAL LINKS
----------------------------- */

.footer-social {
  display: flex;
  gap: 8px;
  margin-bottom: 0;
  flex-wrap: wrap;
}

.footer-social a {
  font-size: 10px;
  font-weight: 500;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  text-decoration: none;
  border: 1px solid var(--rule-mid);
  padding: 7px 14px;
  color: var(--t2);
  transition: color 0.2s, border-color 0.2s, background 0.2s;
}

.footer-social a:hover {
  color: var(--t1);
  border-color: var(--rule-strong);
  background: rgba(255,255,255,0.03);
}

/* -----------------------------
   ADDRESS
----------------------------- */

.footer-address {
  margin-top: 24px;
  padding-top: 24px;
  border-top: 1px solid var(--rule);
}

.footer-address-label {
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--t3);
  margin-bottom: 10px;
}

.footer-address p {
  font-size: 12px;
  color: var(--t2);
  line-height: 1.9;
}

/* -----------------------------
   NAV COLUMNS
----------------------------- */

.footer-col-title {
  color: var(--t1);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  margin-bottom: 20px;
}

.footer-links {
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 14px;
  margin: 0;
  padding: 0;
}

.footer-links a {
  font-size: 13px;
  font-weight: 400;
  text-decoration: none;
  color: var(--t2);
  transition: color 0.15s;
  letter-spacing: -0.005em;
}

.footer-links a:hover {
  color: var(--t1);
}

.footer-grid {
  display: none;
}

/* =========================================================
   DISCLOSURES / REGISTERED ENTITIES
========================================================= */

.footer-disclosures {
  border-top: 1px solid var(--rule);
  padding-top: 40px;
  margin-bottom: 40px;
}

.footer-disc-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 32px 56px;
}

/* Entity block */

.footer-disc-block {
  padding: 24px 0 24px 18px;
  border-left: 2px solid #6BB0FF;
}

/* entity name */

.footer-disc-entity {
  color: var(--t1);
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  margin-bottom: 10px;
}

/* entity description */

.footer-disc-block p {
  font-size: 12px;
  line-height: 1.75;
  color: rgba(255,255,255,0.65);
}

/* regulatory numbers */

.footer-disc-regs {
  display: flex;
  flex-wrap: wrap;
  gap: 6px 18px;
  margin-top: 12px;
}

.footer-disc-regs span,
.footer-disc-regs strong {
  font-size: 11px;
  line-height: 1.6;
  color: var(--t2);
}

.footer-disc-regs strong {
  font-weight: 500;
}

/* =========================================================
   BOTTOM BAR
========================================================= */

.footer-bottom {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 24px;
}

.footer-copy {
  font-size: 11px;
  letter-spacing: 0.02em;
  color: var(--t2);
}

.footer-legal {
  display: flex;
  gap: 24px;
  flex-wrap: wrap;
  justify-content: flex-end;
}

.footer-legal a {
  font-size: 11px;
  text-decoration: none;
  color: var(--t2);
  transition: color 0.2s;
}

.footer-legal a:hover {
  color: var(--t1);
}

/* =========================================================
   ANIMATIONS
========================================================= */

@keyframes fadeInUp {
  from { opacity:0; transform:translateY(22px); }
  to { opacity:1; transform:translateY(0); }
}

@keyframes fadeInRight {
  from { opacity:0; transform:translateX(32px); }
  to { opacity:1; transform:translateX(0); }
}

@keyframes fadeUp {
  from { opacity:0; transform:translateY(16px); }
  to { opacity:1; transform:translateY(0); }
}

@keyframes pulse {
  0%,100% { opacity:.18; }
  50% { opacity:.38; }
}

@keyframes trace {
  to { stroke-dashoffset: -120; }
}

@keyframes orbit1 {
  from { transform:rotate(0deg) translateX(108px) rotate(0deg); }
  to { transform:rotate(360deg) translateX(108px) rotate(-360deg); }
}

@keyframes orbit2 {
  from { transform:rotate(120deg) translateX(80px) rotate(-120deg); }
  to { transform:rotate(480deg) translateX(80px) rotate(-480deg); }
}

@keyframes orbit3 {
  from { transform:rotate(240deg) translateX(56px) rotate(-240deg); }
  to { transform:rotate(600deg) translateX(56px) rotate(-600deg); }
}

@keyframes floatY {
  0%,100% { transform:translateY(0); }
  50% { transform:translateY(-8px); }
}

@keyframes glow {
  0%,100% { opacity:.7; }
  50% { opacity:1; }
}

@keyframes scanline {
  from { transform:translateY(0); }
  to { transform:translateY(560px); }
}

@keyframes ab-pulse {
  0%,100% { opacity:.12; }
  50% { opacity:.28; }
}

@keyframes ab-travel {
  to { stroke-dashoffset: -200; }
}

@keyframes ab-blink {
  0%,100% { opacity:.6; }
  50% { opacity:1; }
}

@keyframes ab-spin {
  from { transform:rotate(0deg); }
  to { transform:rotate(360deg); }
}

.orb1 { animation: orbit1 14s linear infinite; transform-origin: 260px 148px; }
.orb2 { animation: orbit2 10s linear infinite; transform-origin: 260px 148px; }
.orb3 { animation: orbit3 18s linear infinite; transform-origin: 260px 148px; }
.pulse-ring { animation: pulse 3s ease-in-out infinite; }
.float-group { animation: floatY 6s ease-in-out infinite; }
.glow-dot { animation: glow 2s ease-in-out infinite; }
.trace-line { stroke-dasharray: 40 80; animation: trace 2.4s linear infinite; }
.trace-line-slow { stroke-dasharray: 30 90; animation: trace 3.8s linear infinite; }
.trace-gold { stroke-dasharray: 20 60; animation: trace 1.8s linear infinite; }

.ab-ring { animation: ab-pulse 4s ease-in-out infinite; }
.ab-ring2 { animation: ab-pulse 4s ease-in-out infinite; animation-delay: 1.3s; }
.ab-ring3 { animation: ab-pulse 4s ease-in-out infinite; animation-delay: 2.6s; }
.ab-arc { stroke-dasharray: 60 140; animation: ab-travel 3s linear infinite; }
.ab-arc2 { stroke-dasharray: 40 160; animation: ab-travel 4.2s linear infinite; }
.ab-arc3 { stroke-dasharray: 50 150; animation: ab-travel 2.6s linear infinite; }
.ab-arc4 { stroke-dasharray: 35 165; animation: ab-travel 5s linear infinite; }
.ab-arc5 { stroke-dasharray: 55 145; animation: ab-travel 3.6s linear infinite; }
.ab-dot { animation: ab-blink 2.4s ease-in-out infinite; }
.ab-spin { transform-origin: 240px 240px; animation: ab-spin 80s linear infinite; }

.reveal {
  opacity: 1;
  transform: translateY(0);
  transition: opacity 0.6s ease, transform 0.6s ease;
}

.js-loaded .reveal {
  opacity: 0;
  transform: translateY(18px);
}

.js-loaded .reveal.visible {
  opacity: 1;
  transform: translateY(0);
}

/* =========================================================
   RESPONSIVE
========================================================= */

@media (max-width: 1100px) {
  nav {
    padding: 0 32px;
  }

  section,
  .vision-section,
  .entities-section,
  .contact-section,
  footer {
    padding-left: 32px !important;
    padding-right: 32px !important;
  }

  .hero {
    padding: 120px 32px 80px;
  }

  .stats {
    padding: 0 32px;
  }

  .hero-inner,
  .about,
  .vision-layout,
  .contact-section {
    grid-template-columns: 1fr;
    gap: 48px;
  }

  .hero-visual {
    display: none;
  }

  .about-pillars {
    grid-template-columns: 1fr 1fr;
  }

  .entities-grid {
    grid-template-columns: 1fr 1fr;
  }

  .footer-top {
    grid-template-columns: 1fr;
    gap: 40px;
  }

  .footer-brand {
    max-width: 100%;
  }

  .footer-nav {
    grid-template-columns: repeat(3, minmax(160px, 1fr));
    gap: 32px;
    max-width: 100%;
    padding-left: 0;
    margin-left: 0;
    justify-content: start;
  }

  .footer-disc-grid {
    grid-template-columns: 1fr;
  }

  .capabilities-section {
    padding-left: 32px;
    padding-right: 32px;
  }

  .capabilities-body {
    grid-template-columns: 1fr;
    gap: 40px;
  }

  .capabilities-anchor {
    position: static;
  }

  .capabilities-ctas {
    flex-direction: row;
  }

  .capability-row {
    grid-template-columns: 36px 1fr;
  }

  .capability-tag {
    display: none;
  }

  .prefooter-strip {
    padding-left: 32px;
    padding-right: 32px;
  }

  .prefooter-inner {
    flex-direction: column;
    align-items: flex-start;
    gap: 28px;
  }

  .stat-cta {
    display: none;
  }
}

@media (max-width: 640px) {
  nav {
    padding: 0 20px;
    height: 56px;
  }

  .nav-links {
    display: none;
  }

  .hero {
    padding: 100px 20px 64px;
  }

  .stats {
    grid-template-columns: 1fr 1fr;
    padding: 0 20px;
  }

  .stat {
    padding: 24px 20px;
    border-right: none;
    border-bottom: 1px solid var(--rule);
  }

  section,
  .vision-section,
  .entities-section,
  .contact-section,
  footer {
    padding: 72px 20px !important;
  }

  .about-pillars,
  .entities-grid {
    grid-template-columns: 1fr;
  }

  .footer-top {
    grid-template-columns: 1fr;
    gap: 36px;
  }

  .footer-nav {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 28px 24px;
  }

  .footer-bottom {
    flex-direction: column;
    gap: 12px;
    align-items: flex-start;
  }

  .footer-legal {
    justify-content: flex-start;
    gap: 14px 20px;
  }

  .form-row {
    grid-template-columns: 1fr;
  }

  .capabilities-section {
    padding: 72px 20px;
  }

  .capabilities-ctas {
    flex-direction: column;
  }

  .capability-row:hover {
    padding-left: 8px;
  }

  .prefooter-strip {
    padding: 0 20px;
  }

  .prefooter-inner {
    padding-left: 20px;
    border-left: none;
    border-top: 3px solid #6BB0FF;
    padding-top: 32px;
  }

  .prefooter-actions {
    flex-direction: column;
    align-items: flex-start;
    width: 100%;
  }

  .vision-cta-row {
    flex-direction: column;
    align-items: flex-start;
  }

  .hero-actions {
    flex-wrap: wrap;
  }
}

/* =========================================================
   WORDPRESS FIXES
========================================================= */

.admin-bar nav {
  top: 32px !important;
}

@media screen and (max-width: 782px) {
  .admin-bar nav {
    top: 46px !important;
  }
}

/* =========================================================
   SCROLL CONTROLS
========================================================= */

.scroll-controls {
  position: fixed;
  right: 28px;
  bottom: 28px;
  display: flex;
  flex-direction: column;
  gap: 10px;
  z-index: 200;
}

.scroll-controls button {
  width: 40px;
  height: 40px;
  border-radius: 8px;
  border: 1px solid rgba(255,255,255,0.08);
  background: rgba(8,11,22,0.75);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  color: #ffffff;
  font-size: 16px;
  cursor: pointer;
  transition: all 0.25s ease;
}

.scroll-controls button:hover {
  background: #6BB0FF;
  border-color: #6BB0FF;
  color: #0a0e1a;
  transform: translateY(-2px);
  box-shadow: 0 6px 18px rgba(107,176,255,0.35);
}

#scrollUp {
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.3s;
}

#scrollUp.visible {
  opacity: 1;
  pointer-events: auto;
}

/* =========================================================
   HOME
========================================================= */

/* ---------- Buttons ---------- */

.btn-primary,
.form-submit,
.btn-gold,
.role-apply-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 12px 22px;
  min-height: 44px;

  font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  font-style: normal !important;
  line-height: 1 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
  white-space: nowrap;

  color: #0c1424 !important;
  background: #6BB0FF !important;
  border: 1px solid #6BB0FF !important;
  transition: all 0.2s ease;
}

.btn-primary:hover,
.form-submit:hover,
.btn-gold:hover,
.role-apply-btn:hover {
  background: #ffffff !important;
  border-color: #ffffff !important;
  color: #0c1424 !important;
}

.btn-ghost,
.btn-outline,
.role-apply,
.founder-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 12px 22px;
  min-height: 44px;

  font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  font-style: normal !important;
  line-height: 1 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
  white-space: nowrap;

  color: #ffffff !important;
  border: 1px solid rgba(255,255,255,0.2) !important;
  background: transparent;
  transition: all 0.2s ease;
}

.btn-ghost:hover,
.btn-outline:hover,
.role-apply:hover,
.founder-link:hover {
  border-color: #6BB0FF !important;
  color: #ffffff !important;
  background: rgba(107,176,255,0.08) !important;
}

.btn-ghost::after {
  content: '\2192';
  font-size: 14px;
  transition: transform 0.2s;
}

.btn-ghost:hover::after {
  transform: translateX(4px);
}

.btn-digital {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 12px 22px;
  min-height: 44px;

  font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  font-style: normal !important;
  line-height: 1 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
  white-space: nowrap;

  color: #ffffff !important;
  background: transparent;
  border: 1px solid rgba(255,255,255,0.2) !important;
  transition: all 0.2s ease;
}

.btn-digital:hover {
  border-color: #6BB0FF !important;
  color: #ffffff !important;
  background: rgba(107,176,255,0.08) !important;
}

/* ---------- Hero ---------- */

.hero {
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 128px 64px 96px;
  position: relative;
  overflow: hidden;
  background: var(--ink);
}

.hero-bg {
  position: absolute;
  inset: 0;
  background:
    radial-gradient(ellipse 60% 70% at 68% 42%, rgba(0,79,172,0.09) 0%, transparent 62%),
    radial-gradient(ellipse 35% 45% at 10% 70%, rgba(10,14,26,0.8) 0%, transparent 65%),
    linear-gradient(170deg, #0a0e1a 0%, #0e1525 55%, #0a0e1a 100%);
}

.hero-grid {
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(rgba(255,255,255,0.02) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,0.02) 1px, transparent 1px);
  background-size: 72px 72px;
}

.hero-inner {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 80px;
  align-items: center;
  width: 100%;
}

.hero-content {
  max-width: 580px;
}

.hero-visual {
  display: flex;
  justify-content: center;
  align-items: center;
  opacity: 0;
  animation: fadeInRight 1.2s 0.5s ease forwards;
}

.hero-visual svg {
  max-width: 460px;
  width: 100%;
}

.hero-actions {
  display: flex;
  align-items: center;
  gap: 16px;
  animation: fadeInUp 1.1s 0.3s ease both;
}

/* ---------- Stats ---------- */

.stats {
  background: var(--navy-mid);
  border-top: 1px solid var(--rule);
  border-bottom: 1px solid var(--rule);
  padding: 0 64px;
  display: grid;
  grid-template-columns: repeat(4,1fr);
}

.stat {
  padding: 28px 36px !important;
  border-right: 1px solid var(--rule);
  position: relative;
}

.stat:last-child {
  border-right: none;
}

.stat:first-child::before {
  content: '';
  position: absolute;
  top: 24px;
  bottom: 24px;
  left: 0;
  width: 2px;
  background: #6BB0FF !important;
}

.stat-value {
  font-size: 38px !important;
  font-weight: 500 !important;
  letter-spacing: -0.04em !important;
  line-height: 1 !important;
  color: var(--t1) !important;
}

.stat-label {
  font-size: 10px;
  font-weight: 500;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--t3);
  margin-top: 5px !important;
}

.stat-cta {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 28px 40px !important;
  border-right: none !important;
  gap: 8px;
}

.stat-cta::before {
  display: none !important;
}

.stat-cta-label {
  font-size: 10px;
  font-weight: 500;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--t3);
}

.stat-cta-link {
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.04em;
  color: #6BB0FF;
  text-decoration: none;
  display: flex;
  align-items: center;
  gap: 6px;
  transition: gap 0.2s, color 0.2s;
}

.stat-cta-link:hover {
  color: var(--t1);
  gap: 10px;
}

/* ---------- About ---------- */

.about {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 96px;
  align-items: center;
  background: var(--navy);
  border-top: 1px solid var(--rule);
  border-bottom: 1px solid var(--rule);
}

.about-visual {
  display: flex;
  justify-content: center;
  align-items: center;
}

.about-pillars {
  margin-top: 44px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1px;
  background: var(--rule);
  border: 1px solid var(--rule);
}

.pillar {
  padding: 22px 26px;
  background: var(--navy-mid);
  border-left: 2px solid transparent;
  transition: background 0.2s, border-left-color 0.2s !important;
}

.pillar:hover {
  background: var(--navy-card);
  border-left-color: #6BB0FF !important;
}

.pillar-title {
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--t1);
  margin-bottom: 6px;
}

/* ---------- Vision ---------- */

.vision-section {
  background: var(--navy);
  border-top: 1px solid var(--rule);
  border-bottom: 1px solid var(--rule);
  padding: 88px 64px !important;
  overflow: visible !important;
}

.vision-layout {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 96px;
  align-items: center;
  overflow: visible !important;
}

.vision-layout > div:first-child {
  max-width: 560px;
}

.vision-text {
  overflow: visible !important;
}

.vision-body {
  display: flex;
  flex-direction: column;
  gap: 18px;
  margin-top: 28px;
}

.vision-callout {
  display: flex;
  gap: 18px;
  align-items: flex-start;
  padding: 24px 0;
}

.vision-callout-line {
  flex-shrink: 0;
  width: 2px;
  min-height: 44px;
  background: #6BB0FF !important;
  opacity: 0.7 !important;
}

.vision-callout-text {
  font-size: 19px !important;
  font-weight: 300 !important;
  font-style: italic !important;
  letter-spacing: -0.02em !important;
  line-height: 1.55 !important;
  color: var(--t1) !important;
}

.vision-cta-row {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-top: 8px;
  padding-top: 24px;
  border-top: 1px solid var(--rule);
  flex-wrap: wrap;
}

.vision-visual {
  display: flex;
  justify-content: center;
  align-items: center;
  overflow: visible !important;
  min-height: 560px;
  height: auto !important;
  padding-top: 20px;
}

.vision-visual svg {
  display: block;
  width: 100%;
  max-width: 480px;
  height: auto !important;
  overflow: visible !important;
}

/* ---------- Capabilities ---------- */

.capabilities-section {
  background: var(--ink);
  border-top: 1px solid var(--rule);
  border-bottom: 1px solid var(--rule);
  padding: 88px 64px;
}

.capabilities-body {
  display: grid;
  grid-template-columns: 300px 1fr;
  gap: 64px;
  align-items: start;
}

.capabilities-anchor {
  position: sticky;
  top: 88px;
  display: flex;
  flex-direction: column;
  gap: 24px;
}

.capabilities-anchor h2 {
  margin-bottom: 0;
}

.capabilities-anchor-desc {
  font-size: 14px;
  font-weight: 400;
  line-height: 1.8;
  color: var(--t2);
  letter-spacing: -0.005em;
}

.capabilities-ctas {
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding-top: 8px;
  border-top: 1px solid var(--rule);
}

.capabilities-rows {
  display: flex;
  flex-direction: column;
  border-top: 1px solid var(--rule);
}

.capability-row {
  display: grid;
  grid-template-columns: 40px 1fr auto;
  gap: 0 32px;
  align-items: start;
  padding: 32px 0;
  border-bottom: 1px solid var(--rule);
  position: relative;
  overflow: hidden;
  transition: padding-left 0.2s;
}

.capability-row::before {
  content: '';
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 2px;
  background: #6BB0FF;
  transform: scaleY(0);
  transform-origin: top;
  transition: transform 0.3s ease;
}

.capability-row:hover {
  padding-left: 12px;
}

.capability-row:hover::before {
  transform: scaleY(1);
}

.capability-row:last-child {
  border-bottom: none;
}

.capability-number {
  font-size: 11px;
  font-weight: 500;
  letter-spacing: 0.1em;
  color: var(--t3);
  padding-top: 3px;
}

.capability-content {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.capability-title {
  font-size: 16px;
  font-weight: 600;
  letter-spacing: -0.02em;
  line-height: 1.2;
  color: var(--t1);
  transition: color 0.2s;
}

.capability-row:hover .capability-title {
  color: #6BB0FF;
}

.capability-desc {
  font-size: 13px;
  font-weight: 400;
  line-height: 1.75;
  color: var(--t2);
  letter-spacing: -0.005em;
  max-width: 520px;
}

.capability-tag {
  font-size: 9px;
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--t3);
  padding-top: 4px;
  white-space: nowrap;
}

/* ---------- Entities ---------- */

.entities-section {
  background: var(--ink);
  padding: 88px 64px !important;
  border-bottom: 1px solid var(--rule);
}

.entities-section > .section-tag,
.entities-section > h2,
.entities-section > .lead {
  max-width: 700px;
}

.entities-grid {
  display: grid;
  grid-template-columns: repeat(2,1fr);
  gap: 1px;
  margin-top: 56px;
  background: var(--rule);
  border: 1px solid var(--rule);
}

.entity-card {
  background: var(--navy-mid);
  padding: 32px 28px !important;
  position: relative;
  overflow: hidden;
  border-left: 3px solid transparent !important;
  transition: background 0.2s, border-color 0.2s !important;
}

.entity-card:hover {
  background: var(--navy-card);
  border-left-color: #6BB0FF !important;
}

.entity-card::after {
  display: none !important;
}

.entity-flag {
  font-size: 24px;
  margin-bottom: 20px;
}

.entity-name {
  font-size: 17px !important;
  font-weight: 600 !important;
  letter-spacing: -0.02em !important;
  margin-bottom: 4px;
  color: var(--t1);
}

.entity-jurisdiction {
  font-size: 10px;
  font-weight: 500;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: #6BB0FF !important;
  margin-bottom: 18px;
}

.entity-reg {
  font-size: 11px;
  color: var(--t3);
  line-height: 2;
  letter-spacing: 0.02em;
  padding-top: 18px;
  border-top: 1px solid var(--rule);
}

.entity-reg strong {
  color: var(--t2);
  font-weight: 500;
}

/* ---------- Contact ---------- */

.contact-section {
  background: var(--navy);
  border-top: 1px solid var(--rule);
  padding: 88px 64px !important;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 96px;
  align-items: center;
}

.contact-big {
  font-size: clamp(26px, 3.2vw, 42px) !important;
  font-weight: 600 !important;
  letter-spacing: -0.025em !important;
  line-height: 1.15 !important;
  color: var(--t1) !important;
}

.contact-big em {
  font-weight: 300 !important;
  font-style: italic !important;
  color: var(--t1) !important;
}

.contact-form {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.form-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}

.form-field {
  display: flex;
  flex-direction: column;
  gap: 7px;
}

.form-label {
  font-size: 10px;
  font-weight: 500;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--t3);
}

.form-input,
.form-select,
.form-textarea {
  background: var(--navy-mid);
  border: 1px solid var(--rule);
  padding: 11px 16px;
  color: var(--t1);
  font-size: 13px;
  outline: none;
  transition: border-color 0.2s, background 0.2s;
  width: 100%;
  border-radius: 0;
}

.form-input:focus,
.form-select:focus,
.form-textarea:focus {
  border-color: #6BB0FF !important;
  background: rgba(107,176,255,0.04) !important;
}

.form-select option {
  background: var(--navy-mid);
}

.form-textarea {
  resize: vertical;
  min-height: 96px;
}

/* ---------- Pre-footer ---------- */

.prefooter-strip {
  background: var(--navy-mid);
  border-top: 1px solid var(--rule);
  border-bottom: 1px solid var(--rule);
  padding: 0 64px;
}

.prefooter-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 48px;
  padding: 56px 0;
  border-left: 3px solid #6BB0FF;
  padding-left: 40px;
}

.prefooter-heading {
  font-family: 'Inter', -apple-system, 'Helvetica Neue', Arial, sans-serif !important;
  font-size: clamp(26px, 3vw, 40px) !important;
  font-weight: 600 !important;
  letter-spacing: -0.025em !important;
  line-height: 1.1 !important;
  color: var(--t1) !important;
  margin-bottom: 8px;
  text-transform: capitalize;
}

.prefooter-sub {
  font-size: 14px;
  font-weight: 400;
  color: var(--t2);
  line-height: 1.6;
  max-width: 480px;
}

.prefooter-actions {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-shrink: 0;
}

/* =========================================================
   HOMEPAGE TEMPLATE
   Responsive only
   Use with wrapper: .homepage-template
========================================================= */

.homepage-template {
  overflow-x: hidden;
}

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

.homepage-template img,
.homepage-template svg,
.homepage-template video {
  max-width: 100%;
  height: auto;
}

.homepage-template .container,
.homepage-template .section-inner,
.homepage-template .inner,
.homepage-template .wrap,
.homepage-template .content-wrap {
  width: min(100% - 32px, 1200px);
  margin-inline: auto;
}

.homepage-template section {
  padding-top: clamp(56px, 7vw, 110px);
  padding-bottom: clamp(56px, 7vw, 110px);
}

/* =========================================================
   HERO
========================================================= */

.homepage-template .hero,
.homepage-template .homepage-hero,
.homepage-template .page-hero {
  min-height: auto;
}

.homepage-template .hero-inner,
.homepage-template .homepage-hero-inner,
.homepage-template .page-hero-inner {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
  gap: 44px;
  align-items: center;
}

.homepage-template .hero-copy,
.homepage-template .hero-content,
.homepage-template .hero-text,
.homepage-template .hero-media,
.homepage-template .hero-image {
  min-width: 0;
}

.homepage-template .hero h1,
.homepage-template .homepage-hero h1,
.homepage-template .page-hero h1 {
  font-size: clamp(42px, 5.8vw, 78px);
  line-height: 0.97;
  letter-spacing: -0.03em;
}

.homepage-template .hero p,
.homepage-template .homepage-hero p,
.homepage-template .page-hero p {
  font-size: clamp(16px, 1.2vw, 19px);
  line-height: 1.72;
  max-width: 60ch;
}

.homepage-template .hero-buttons,
.homepage-template .button-row,
.homepage-template .cta-buttons,
.homepage-template .btn-row {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
}

/* =========================================================
   COMMON GRID SECTIONS
========================================================= */

.homepage-template .services-grid,
.homepage-template .cards-grid,
.homepage-template .markets-grid,
.homepage-template .entities-grid,
.homepage-template .news-grid,
.homepage-template .features-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
}

.homepage-template .service-card,
.homepage-template .market-card,
.homepage-template .entity-card,
.homepage-template .news-card,
.homepage-template .feature-card,
.homepage-template .card {
  min-width: 0;
  height: 100%;
  padding: 28px;
  border-radius: 22px;
}

/* =========================================================
   SPLIT / TWO-COLUMN SECTIONS
========================================================= */

.homepage-template .split,
.homepage-template .two-col,
.homepage-template .vision-grid,
.homepage-template .content-grid,
.homepage-template .tradfi-defi-grid,
.homepage-template .intro-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 34px;
  align-items: center;
}

.homepage-template .split > *,
.homepage-template .two-col > *,
.homepage-template .vision-grid > *,
.homepage-template .content-grid > * {
  min-width: 0;
}

/* =========================================================
   TABLET
========================================================= */

@media (max-width: 1024px) {
  .homepage-template .container,
  .homepage-template .section-inner,
  .homepage-template .inner,
  .homepage-template .wrap,
  .homepage-template .content-wrap {
    width: min(100% - 28px, 1200px);
  }

  .homepage-template .hero-inner,
  .homepage-template .homepage-hero-inner,
  .homepage-template .page-hero-inner,
  .homepage-template .split,
  .homepage-template .two-col,
  .homepage-template .vision-grid,
  .homepage-template .content-grid,
  .homepage-template .tradfi-defi-grid,
  .homepage-template .intro-grid {
    grid-template-columns: 1fr;
  }

  .homepage-template .services-grid,
  .homepage-template .cards-grid,
  .homepage-template .markets-grid,
  .homepage-template .entities-grid,
  .homepage-template .news-grid,
  .homepage-template .features-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 767px) {
  .homepage-template .container,
  .homepage-template .section-inner,
  .homepage-template .inner,
  .homepage-template .wrap,
  .homepage-template .content-wrap {
    width: min(100% - 20px, 1200px);
  }

  .homepage-template section {
    padding-top: 48px;
    padding-bottom: 48px;
  }

  .homepage-template .hero-inner,
  .homepage-template .homepage-hero-inner,
  .homepage-template .page-hero-inner {
    gap: 24px;
  }

  .homepage-template .hero h1,
  .homepage-template .homepage-hero h1,
  .homepage-template .page-hero h1 {
    font-size: clamp(34px, 10vw, 46px);
    line-height: 0.98;
  }

  .homepage-template .hero p,
  .homepage-template .homepage-hero p,
  .homepage-template .page-hero p {
    font-size: 15px;
    line-height: 1.7;
  }

  .homepage-template .hero-buttons,
  .homepage-template .button-row,
  .homepage-template .cta-buttons,
  .homepage-template .btn-row {
    display: grid;
    grid-template-columns: 1fr;
    gap: 12px;
  }

  .homepage-template .hero-buttons a,
  .homepage-template .button-row a,
  .homepage-template .cta-buttons a,
  .homepage-template .btn-row a,
  .homepage-template .hero-buttons .button,
  .homepage-template .button-row .button,
  .homepage-template .cta-buttons .button,
  .homepage-template .btn-row .button {
    width: 100%;
  }

  .homepage-template .services-grid,
  .homepage-template .cards-grid,
  .homepage-template .markets-grid,
  .homepage-template .entities-grid,
  .homepage-template .news-grid,
  .homepage-template .features-grid {
    grid-template-columns: 1fr;
    gap: 16px;
  }

  .homepage-template .service-card,
  .homepage-template .market-card,
  .homepage-template .entity-card,
  .homepage-template .news-card,
  .homepage-template .feature-card,
  .homepage-template .card {
    padding: 20px 18px;
    border-radius: 18px;
  }
}

/* =========================================================
   SMALL MOBILE
========================================================= */

@media (max-width: 480px) {
  .homepage-template .container,
  .homepage-template .section-inner,
  .homepage-template .inner,
  .homepage-template .wrap,
  .homepage-template .content-wrap {
    width: min(100% - 16px, 1200px);
  }

  .homepage-template .hero h1,
  .homepage-template .homepage-hero h1,
  .homepage-template .page-hero h1 {
    font-size: clamp(30px, 10vw, 40px);
  }

  .homepage-template .service-card,
  .homepage-template .market-card,
  .homepage-template .entity-card,
  .homepage-template .news-card,
  .homepage-template .feature-card,
  .homepage-template .card {
    padding: 18px 16px;
  }
}

/* =========================================================
   HOMEPAGE RESPONSIVE FIX PATCH
========================================================= */

html,
body {
  overflow-x: hidden;
}

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

.hero,
.stats,
.about,
.vision-section,
.capabilities-section,
.entities-section,
.contact-section,
.prefooter-strip {
  overflow: hidden;
}

/* ---------- Tablet ---------- */
@media (max-width: 1024px) {
  .hero {
    min-height: auto;
    padding: 110px 28px 72px;
  }

  .hero-inner,
  .about,
  .vision-layout,
  .contact-section,
  .capabilities-body {
    grid-template-columns: 1fr !important;
    gap: 40px !important;
  }

  .stats {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    padding: 0 28px;
  }

  .entities-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .about-pillars {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .vision-section,
  .capabilities-section,
  .entities-section,
  .contact-section {
    padding-left: 28px !important;
    padding-right: 28px !important;
  }

  .prefooter-strip {
    padding-left: 28px !important;
    padding-right: 28px !important;
  }

  .prefooter-inner {
    flex-direction: column;
    align-items: flex-start;
    gap: 24px;
    padding-left: 28px;
  }

  .capabilities-anchor {
    position: static !important;
  }

  .form-row {
    grid-template-columns: 1fr 1fr !important;
  }
}

/* ---------- Mobile ---------- */
@media (max-width: 767px) {
  .hero {
    min-height: auto;
    padding: 96px 20px 56px !important;
  }

  .hero-inner,
  .about,
  .vision-layout,
  .contact-section,
  .capabilities-body {
    grid-template-columns: 1fr !important;
    gap: 28px !important;
  }

  .hero-content,
  .hero-visual,
  .about > *,
  .vision-layout > *,
  .contact-section > *,
  .capabilities-body > * {
    min-width: 0;
    width: 100%;
  }

  .hero-visual svg,
  .vision-visual svg {
    max-width: 100% !important;
  }

  .hero-actions,
  .vision-cta-row,
  .prefooter-actions {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 12px !important;
    width: 100%;
  }

  .hero-actions a,
  .hero-actions .btn-primary,
  .hero-actions .btn-ghost,
  .hero-actions .btn-outline,
  .hero-actions .btn-digital,
  .vision-cta-row a,
  .vision-cta-row .btn-primary,
  .vision-cta-row .btn-ghost,
  .vision-cta-row .btn-outline,
  .vision-cta-row .btn-digital,
  .prefooter-actions a,
  .prefooter-actions .btn-primary,
  .prefooter-actions .btn-ghost,
  .prefooter-actions .btn-outline,
  .prefooter-actions .btn-digital {
    width: 100% !important;
  }

  .btn-primary,
  .form-submit,
  .btn-gold,
  .role-apply-btn,
  .btn-ghost,
  .btn-outline,
  .role-apply,
  .founder-link,
  .btn-digital {
    white-space: normal !important;
    text-align: center;
  }

  .stats {
    grid-template-columns: 1fr !important;
    padding: 0 20px !important;
  }

  .stat {
    border-right: none !important;
    border-bottom: 1px solid var(--rule) !important;
    padding: 22px 18px !important;
  }

  .stat:last-child {
    border-bottom: none !important;
  }

  .about-pillars,
  .entities-grid,
  .form-row {
    grid-template-columns: 1fr !important;
  }

  .vision-section,
  .capabilities-section,
  .entities-section,
  .contact-section {
    padding: 56px 20px !important;
  }

  .vision-visual {
    min-height: auto !important;
    padding-top: 0 !important;
  }

  .capability-row {
    grid-template-columns: 1fr !important;
    gap: 10px !important;
    padding: 24px 0 !important;
  }

  .capability-row:hover {
    padding-left: 0 !important;
  }

  .capability-tag {
    white-space: normal !important;
  }

  .entity-card {
    padding: 22px 18px !important;
  }

  .contact-section {
    gap: 32px !important;
  }

  .prefooter-strip {
    padding-left: 20px !important;
    padding-right: 20px !important;
  }

  .prefooter-inner {
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 20px !important;
    padding: 40px 0 40px 20px !important;
  }
}

/* ---------- Small mobile ---------- */
@media (max-width: 480px) {
  .hero {
    padding: 88px 16px 48px !important;
  }

  .hero h1 {
    font-size: clamp(30px, 10vw, 40px) !important;
  }

  .vision-section,
  .capabilities-section,
  .entities-section,
  .contact-section {
    padding: 48px 16px !important;
  }

  .entity-card,
  .stat {
    padding: 20px 16px !important;
  }

  .prefooter-strip {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }

  .prefooter-inner {
    padding-left: 16px !important;
  }
}

/* =========================================================
   Vision image stronger mobile fix
========================================================= */

@media (max-width: 1024px) {
  .vision-layout {
    grid-template-columns: 1fr !important;
  }

  .vision-layout > div,
  .vision-visual,
  .vision-visual picture,
  .vision-visual img,
  .vision-visual svg {
    width: 100% !important;
    max-width: 100% !important;
  }

  .vision-visual {
    min-height: auto !important;
    padding-top: 0 !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
  }

  .vision-visual img,
  .vision-visual svg {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
  }
}

@media (max-width: 767px) {
  .vision-section {
    padding-left: 20px !important;
    padding-right: 20px !important;
  }

  .vision-layout > div:first-child {
    max-width: none !important;
  }

  .vision-visual {
    width: 100% !important;
    display: flex !important;
    justify-content: center !important;
  }

  .vision-visual picture,
  .vision-visual img,
  .vision-visual svg {
    width: auto !important;
    max-width: 92% !important;
    height: auto !important;
    min-width: 0 !important;
    margin: 0 auto !important;
  }
}

@media (max-width: 480px) {
  .vision-visual picture,
  .vision-visual img,
  .vision-visual svg {
    max-width: 90% !important;
  }
}

@media (max-width: 1024px) {
  .vision-visual svg,
  .vision-visual img {
    max-width: 90% !important;
    margin: 0 auto;
  }
}

@media (max-width: 767px) {
  .vision-visual svg,
  .vision-visual img {
    max-width: 88% !important;
  }
}

@media (max-width: 480px) {
  .vision-visual svg,
  .vision-visual img {
    max-width: 85% !important;
  }
}

/* =========================================================
   HOMEPAGE GENERAL ENQUIRY FORM - FINAL WPFORMS OVERRIDE
========================================================= */

.contact-section .contact-form-wrap,
.contact-section .contact-form-wrap .wpforms-container,
.contact-section .contact-form-wrap .wpforms-form {
  width: 100% !important;
  margin: 0 !important;
}

.contact-section .contact-form-wrap .wpforms-field {
  padding: 0 !important;
  margin: 0 0 16px 0 !important;
}

.contact-section .contact-form-wrap .wpforms-field-label {
  display: block !important;
  margin: 0 0 7px 0 !important;
  font-size: 10px !important;
  font-weight: 500 !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
  color: #4a5868 !important;
  line-height: 1.4 !important;
}

.contact-section .contact-form-wrap .wpforms-field-sublabel,
.contact-section .contact-form-wrap .wpforms-field-label-inline {
  font-size: 10px !important;
  font-weight: 500 !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
  color: #4a5868 !important;
  margin-top: 6px !important;
}

.contact-section .contact-form-wrap .wpforms-required-label {
  color: #6BB0FF !important;
  margin-left: 4px !important;
}

.contact-section .contact-form-wrap input[type="text"],
.contact-section .contact-form-wrap input[type="email"],
.contact-section .contact-form-wrap input[type="tel"],
.contact-section .contact-form-wrap input[type="url"],
.contact-section .contact-form-wrap input[type="number"],
.contact-section .contact-form-wrap select,
.contact-section .contact-form-wrap textarea {
  width: 100% !important;
  background: #0f1b31 !important;
  color: #f0f2f5 !important;
  border: 1px solid rgba(255,255,255,0.08) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  padding: 11px 16px !important;
  font-size: 13px !important;
  line-height: 1.5 !important;
  min-height: auto !important;
  outline: none !important;
  transition: border-color 0.2s ease, background 0.2s ease !important;
}

.contact-section .contact-form-wrap textarea {
  min-height: 120px !important;
  resize: vertical !important;
}

.contact-section .contact-form-wrap input::placeholder,
.contact-section .contact-form-wrap textarea::placeholder {
  color: #8a97a8 !important;
  opacity: 1 !important;
}

.contact-section .contact-form-wrap select {
  color: #f0f2f5 !important;
  appearance: none !important;
  -webkit-appearance: none !important;
}

.contact-section .contact-form-wrap select option {
  background: #0f1b31 !important;
  color: #f0f2f5 !important;
}

.contact-section .contact-form-wrap input:focus,
.contact-section .contact-form-wrap select:focus,
.contact-section .contact-form-wrap textarea:focus {
  border-color: #6BB0FF !important;
  background: rgba(107,176,255,0.04) !important;
  box-shadow: none !important;
  outline: none !important;
}

.contact-section .contact-form-wrap .wpforms-one-half,
.contact-section .contact-form-wrap .wpforms-first,
.contact-section .contact-form-wrap .wpforms-last,
.contact-section .contact-form-wrap .wpforms-field-row-block {
  width: 100% !important;
  margin-left: 0 !important;
  padding: 0 !important;
}

.contact-section .contact-form-wrap .wpforms-submit-container {
  margin-top: 8px !important;
  padding: 0 !important;
}

.contact-section .contact-form-wrap .wpforms-form input[type="submit"],
.contact-section .contact-form-wrap .wpforms-form button[type="submit"],
.contact-section .contact-form-wrap .wpforms-submit {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: auto !important;
  min-height: 44px !important;
  padding: 12px 22px !important;

  font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  font-style: normal !important;
  line-height: 1 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
  white-space: nowrap !important;

  color: #0c1424 !important;
  background: #6BB0FF !important;
  border: 1px solid #6BB0FF !important;
  border-radius: 0 !important;
  background-image: none !important;
  box-shadow: none !important;
  appearance: none !important;
  -webkit-appearance: none !important;
  cursor: pointer !important;
  transition: all 0.2s ease !important;
}

.contact-section .contact-form-wrap .wpforms-form input[type="submit"]:hover,
.contact-section .contact-form-wrap .wpforms-form button[type="submit"]:hover,
.contact-section .contact-form-wrap .wpforms-submit:hover {
  background: #ffffff !important;
  border-color: #ffffff !important;
  color: #0c1424 !important;
}

.contact-section .contact-form-wrap .wpforms-form input[type="submit"]:focus,
.contact-section .contact-form-wrap .wpforms-form button[type="submit"]:focus,
.contact-section .contact-form-wrap .wpforms-submit:focus,
.contact-section .contact-form-wrap .wpforms-form input[type="submit"]:active,
.contact-section .contact-form-wrap .wpforms-form button[type="submit"]:active,
.contact-section .contact-form-wrap .wpforms-submit:active {
  outline: none !important;
  box-shadow: none !important;
}

.contact-section .contact-form-wrap .wpforms-error {
  font-size: 12px !important;
  margin-top: 6px !important;
  color: #ffb4b4 !important;
}

.contact-section .contact-form-wrap input.wpforms-error,
.contact-section .contact-form-wrap select.wpforms-error,
.contact-section .contact-form-wrap textarea.wpforms-error {
  border-color: #d86c6c !important;
}

.contact-section .contact-form-wrap .wpforms-confirmation-container-full,
.contact-section .contact-form-wrap .wpforms-confirmation-scroll {
  background: rgba(107,176,255,0.06) !important;
  border: 1px solid rgba(107,176,255,0.22) !important;
  color: #f0f2f5 !important;
  padding: 16px 18px !important;
  font-size: 13px !important;
  line-height: 1.7 !important;
}

@media (max-width: 767px) {
  .contact-section .contact-form-wrap .wpforms-form input[type="submit"],
  .contact-section .contact-form-wrap .wpforms-form button[type="submit"],
  .contact-section .contact-form-wrap .wpforms-submit {
    width: 100% !important;
  }
}

/* =========================================================
   HOMEPAGE ENQUIRY FORM - TWO SINGLE-LINE NAME FIELDS
========================================================= */

/* First + Last name side by side */
.contact-section .contact-form-wrap .wpforms-field.wpforms-one-half {
  float: left !important;
  clear: none !important;
  width: calc(50% - 6px) !important;
  margin-left: 0 !important;
  margin-right: 12px !important;
}

.contact-section .contact-form-wrap .wpforms-field.wpforms-one-half.wpforms-last,
.contact-section .contact-form-wrap .wpforms-field.wpforms-one-half:last-of-type {
  margin-right: 0 !important;
}

.contact-section .contact-form-wrap .wpforms-field.wpforms-one-half input {
  width: 100% !important;
}

/* Clear the next full-width field after the two half fields */
.contact-section .contact-form-wrap .wpforms-field:not(.wpforms-one-half) {
  clear: both !important;
}

/* Fix select text clipping */
.contact-section .contact-form-wrap select {
  height: 48px !important;
  line-height: 48px !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  padding-right: 42px !important;
  background-position: right 14px center !important;
}

/* Mobile */
@media (max-width: 767px) {
  .contact-section .contact-form-wrap .wpforms-field.wpforms-one-half {
    float: none !important;
    width: 100% !important;
    margin-right: 0 !important;
  }

  .contact-section .contact-form-wrap .wpforms-field:not(.wpforms-one-half) {
    clear: none !important;
  }
}

/* =========================================================
   HOMEPAGE — REAL MOBILE/TABLET HEADING SPACING FIX
   Targets actual homepage selectors in use
========================================================= */

@media (max-width: 1024px) {
  .hero h1,
  .vision-section h2,
  .about h2,
  .capabilities-section h2,
  .entities-section h2,
  .contact-big,
  .prefooter-heading {
    letter-spacing: 0 !important;
    word-spacing: normal !important;
    font-kerning: normal !important;
    text-rendering: optimizeLegibility !important;
  }

  .hero h1 em,
  .vision-section h2 em,
  .about h2 em,
  .capabilities-section h2 em,
  .entities-section h2 em,
  .contact-big em,
  .prefooter-heading em,
  .hero h1 i,
  .vision-section h2 i,
  .about h2 i,
  .capabilities-section h2 i,
  .entities-section h2 i,
  .contact-big i,
  .prefooter-heading i {
    display: inline !important;
    font-style: italic !important;
    letter-spacing: 0 !important;
    word-spacing: normal !important;
    white-space: normal !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  /* visible space before italic */
  .hero h1 em::before,
  .vision-section h2 em::before,
  .about h2 em::before,
  .capabilities-section h2 em::before,
  .entities-section h2 em::before,
  .contact-big em::before,
  .prefooter-heading em::before,
  .hero h1 i::before,
  .vision-section h2 i::before,
  .about h2 i::before,
  .capabilities-section h2 i::before,
  .entities-section h2 i::before,
  .contact-big i::before,
  .prefooter-heading i::before {
    content: "\00a0";
  }

  /* visible space after italic */
  .hero h1 em::after,
  .vision-section h2 em::after,
  .about h2 em::after,
  .capabilities-section h2 em::after,
  .entities-section h2 em::after,
  .contact-big em::after,
  .prefooter-heading em::after,
  .hero h1 i::after,
  .vision-section h2 i::after,
  .about h2 i::after,
  .capabilities-section h2 i::after,
  .entities-section h2 i::after,
  .contact-big i::after,
  .prefooter-heading i::after {
    content: "\00a0";
  }

  /* hero line break case */
  .hero h1 br + em::before,
  .hero h1 br + i::before {
    content: "" !important;
  }

  /* no trailing fake space when italic is last */
  .hero h1 > em:last-child::after,
  .vision-section h2 > em:last-child::after,
  .about h2 > em:last-child::after,
  .capabilities-section h2 > em:last-child::after,
  .entities-section h2 > em:last-child::after,
  .contact-big > em:last-child::after,
  .prefooter-heading > em:last-child::after,
  .hero h1 > i:last-child::after,
  .vision-section h2 > i:last-child::after,
  .about h2 > i:last-child::after,
  .capabilities-section h2 > i:last-child::after,
  .entities-section h2 > i:last-child::after,
  .contact-big > i:last-child::after,
  .prefooter-heading > i:last-child::after {
    content: "" !important;
  }
}

@media (max-width: 767px) {
  .hero h1,
  .vision-section h2,
  .about h2,
  .capabilities-section h2,
  .entities-section h2,
  .contact-big,
  .prefooter-heading {
    letter-spacing: 0 !important;
  }

  .hero h1 {
    line-height: 1.08 !important;
  }

  .vision-section h2,
  .about h2,
  .capabilities-section h2,
  .entities-section h2,
  .contact-big,
  .prefooter-heading {
    line-height: 1.12 !important;
  }
}

/* =========================================================
   HOMEPAGE TYPOGRAPHY OVERRIDE
   Cancels old global italic spacing and applies correct
   two-way spacing for mobile/tablet
========================================================= */

@media (max-width: 1024px) {
  .hero h1 em,
  .vision-section h2 em,
  .about h2 em,
  .capabilities-section h2 em,
  .entities-section h2 em,
  .contact-big em,
  .prefooter-heading em,
  .hero h1 i,
  .vision-section h2 i,
  .about h2 i,
  .capabilities-section h2 i,
  .entities-section h2 i,
  .contact-big i,
  .prefooter-heading i {
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    letter-spacing: 0 !important;
    word-spacing: normal !important;
    white-space: normal !important;
    display: inline !important;
  }

  .hero h1,
  .vision-section h2,
  .about h2,
  .capabilities-section h2,
  .entities-section h2,
  .contact-big,
  .prefooter-heading {
    letter-spacing: 0 !important;
    word-spacing: normal !important;
  }

  .hero h1 em::before,
  .vision-section h2 em::before,
  .about h2 em::before,
  .capabilities-section h2 em::before,
  .entities-section h2 em::before,
  .contact-big em::before,
  .prefooter-heading em::before,
  .hero h1 i::before,
  .vision-section h2 i::before,
  .about h2 i::before,
  .capabilities-section h2 i::before,
  .entities-section h2 i::before,
  .contact-big i::before,
  .prefooter-heading i::before {
    content: "\00a0" !important;
  }

  .hero h1 em::after,
  .vision-section h2 em::after,
  .about h2 em::after,
  .capabilities-section h2 em::after,
  .entities-section h2 em::after,
  .contact-big em::after,
  .prefooter-heading em::after,
  .hero h1 i::after,
  .vision-section h2 i::after,
  .about h2 i::after,
  .capabilities-section h2 i::after,
  .entities-section h2 i::after,
  .contact-big i::after,
  .prefooter-heading i::after {
    content: "\00a0" !important;
  }

  .hero h1 br + em::before,
  .hero h1 br + i::before {
    content: "" !important;
  }

  .hero h1 > em:last-child::after,
  .vision-section h2 > em:last-child::after,
  .about h2 > em:last-child::after,
  .capabilities-section h2 > em:last-child::after,
  .entities-section h2 > em:last-child::after,
  .contact-big > em:last-child::after,
  .prefooter-heading > em:last-child::after,
  .hero h1 > i:last-child::after,
  .vision-section h2 > i:last-child::after,
  .about h2 > i:last-child::after,
  .capabilities-section h2 > i:last-child::after,
  .entities-section h2 > i:last-child::after,
  .contact-big > i:last-child::after,
  .prefooter-heading > i:last-child::after {
    content: "" !important;
  }
}

/* =========================================================
   ABOUT PAGE TEMPLATE
========================================================= */

.about-page-template {
  --ink: #080c18;
  --navy: #0c1424;
  --navy-mid: #111d30;
  --navy-card: #152340;
  --slate: #1e2d45;

  --sapphire: #004FAC;
  --sapphire-mid: #12469B;
  --sky: #6BB0FF;
  --sky-pale: #6BB0FF;

  --gold: #b8955a;
  --gold-light: #d4af78;
  --gold-rule: rgba(184,149,90,0.35);

  --t1: #f0f2f5;
  --t2: #8a97a8;
  --t3: #4a5868;

  --rule: rgba(255,255,255,0.07);
  --rule-mid: rgba(255,255,255,0.12);
  --rule-blue: rgba(107,176,255,0.15);

  color: var(--t1);
  background: var(--ink);
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}

.about-page-template *,
.about-page-template *::before,
.about-page-template *::after {
  box-sizing: border-box;
}

.about-page-template h1,
.about-page-template h2,
.about-page-template h3,
.about-page-template p {
  margin-top: 0;
}

.about-page-template h1,
.about-page-template h2 {
  font-family: 'Inter', -apple-system, 'Helvetica Neue', Arial, sans-serif !important;
  color: var(--t1);
}

.about-page-template h1 {
  font-size: clamp(36px, 5vw, 64px);
  font-weight: 600;
  line-height: 1.06;
  letter-spacing: -0.03em;
  margin-bottom: 24px;
}

.about-page-template h2 {
  font-size: clamp(26px, 3vw, 40px);
  font-weight: 600;
  line-height: 1.1;
  letter-spacing: -0.025em;
  margin-bottom: 18px;
}

.about-page-template h1 em,
.about-page-template h2 em {
  font-style: italic;
  font-weight: 300;
  color: var(--t1);
  letter-spacing: -0.02em;
}

.about-page-template .lead,
.about-page-template .body-text,
.about-page-template .hero-desc,
.about-page-template .page-hero-lead,
.about-page-template .timeline-desc {
  font-size: 14px;
  font-weight: 400;
  line-height: 1.8;
  letter-spacing: -0.005em;
  color: var(--t2);
}

.about-page-template .page-hero {
  min-height: 52vh;
  display: flex;
  align-items: flex-end;
  padding: 128px 64px 64px;
  position: relative;
  overflow: hidden;
  border-bottom: 1px solid var(--rule);
  background: var(--ink);
}

.about-page-template .page-hero::before {
  content: '';
  position: absolute;
  inset: 0;
  background:
    radial-gradient(ellipse 55% 60% at 75% 38%, rgba(0,79,172,0.08) 0%, transparent 60%),
    linear-gradient(170deg, #0a0e1a 0%, #0d1422 100%);
}

.about-page-template .page-hero-grid {
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(rgba(255,255,255,0.02) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,0.02) 1px, transparent 1px);
  background-size: 72px 72px;
}

.about-page-template .page-hero-ghost {
  display: none;
}

.about-page-template .page-hero-inner {
  position: relative;
  z-index: 2;
  max-width: 820px;
}

.about-page-template .page-eyebrow,
.about-page-template .section-tag {
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: #6BB0FF;
  display: flex;
  align-items: center;
  gap: 14px;
}

.about-page-template .page-eyebrow {
  margin-bottom: 20px;
  animation: fadeUp 0.8s ease both;
}

.about-page-template .page-eyebrow::before,
.about-page-template .section-tag::before {
  content: '';
  width: 20px;
  height: 1px;
  background: #6BB0FF;
  display: block;
}

.about-page-template .section-tag {
  margin-bottom: 20px;
}

.about-page-template .page-hero h1 {
  font-size: clamp(38px, 5.5vw, 68px);
  animation: fadeUp 0.9s 0.1s ease both;
}

.about-page-template .page-hero-lead {
  font-size: 15px;
  max-width: 640px;
  animation: fadeUp 1s 0.2s ease both;
  margin-top: 8px;
}

/* Hero CTA */
.about-page-template .hero-cta {
  margin-top: 30px;
  display: flex;
  gap: 14px;
  flex-wrap: wrap;
}

.about-page-template a.btn-primary,
.about-page-template a.btn-secondary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 12px 22px;
  min-height: 44px;

  font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  font-style: normal !important;
  line-height: 1 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
  white-space: nowrap;

  transition: all 0.2s ease;
}

.about-page-template .hero-cta a,
.about-page-template .inline-cta a,
.about-page-template .final-cta-actions a {
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  font-style: normal !important;
  line-height: 1 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
}

.about-page-template .btn-primary {
  background: #6BB0FF;
  color: #0c1424;
}

.about-page-template .btn-primary:hover {
  background: #ffffff;
  color: #0c1424;
}

.about-page-template .btn-secondary {
  border: 1px solid rgba(255,255,255,0.2);
  color: #ffffff;
}

.about-page-template .btn-secondary:hover {
  border-color: #6BB0FF;
  background: rgba(107,176,255,0.08);
}

/* Sections */
.about-page-template .manifesto-section,
.about-page-template .story-section,
.about-page-template .mv-section,
.about-page-template .values-section,
.about-page-template .timeline-section,
.about-page-template .founders-section,
.about-page-template .about-final-cta {
  padding: 88px 64px;
  border-bottom: 1px solid var(--rule);
}

.about-page-template .manifesto-section,
.about-page-template .values-section,
.about-page-template .founders-section {
  background: var(--navy);
}

.about-page-template .story-section,
.about-page-template .mv-section,
.about-page-template .timeline-section,
.about-page-template .about-final-cta {
  background: var(--ink);
}

/* Layouts */
.about-page-template .manifesto-layout,
.about-page-template .story-layout {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 80px;
  align-items: start;
  margin-top: 52px;
}

.about-page-template .manifesto-quote,
.about-page-template .story-pull {
  font-size: clamp(17px, 1.8vw, 22px);
  font-weight: 300;
  font-style: italic;
  letter-spacing: -0.02em;
  line-height: 1.65;
  color: var(--t1);
  padding-left: 24px;
  border-left: 2px solid #6BB0FF;
}

.about-page-template .manifesto-sign {
  font-size: 15px;
  font-weight: 400;
  font-style: italic;
  color: var(--t2);
  margin-top: 28px;
}

.about-page-template .body-text + .body-text {
  margin-top: 16px;
}

.about-page-template .story-spacer {
  margin-top: 20px;
}

.about-page-template .gold-link {
  color: #6BB0FF;
  text-decoration: none;
  border-bottom: 1px solid rgba(107,176,255,0.3);
  transition: border-color 0.2s ease, color 0.2s ease;
}

.about-page-template .gold-link:hover {
  border-color: #6BB0FF;
  color: #ffffff;
}

/* Inline CTA */
.about-page-template .inline-cta {
  margin-top: 48px;
  border: 1px solid var(--rule);
  background: var(--navy-mid);
  padding: 32px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
}

.about-page-template .inline-cta-copy {
  max-width: 700px;
}

.about-page-template .inline-cta-copy h3 {
  margin-bottom: 10px;
}

.about-page-template .inline-cta-copy p {
  margin-bottom: 0;
  color: var(--t2);
  line-height: 1.8;
}

.about-page-template .inline-cta-actions {
  flex-shrink: 0;
}

/* Mission & Vision */
.about-page-template .mv-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1px;
  margin-top: 52px;
  background: var(--rule);
  border: 1px solid var(--rule);
}

.about-page-template .mv-card {
  background: var(--navy-mid);
  padding: 48px 44px;
  position: relative;
  overflow: hidden;
  transition: background 0.2s ease;
}

.about-page-template .mv-card:hover {
  background: var(--navy-card);
}

.about-page-template .mv-card::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 1px;
  background: #6BB0FF;
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.3s;
}

.about-page-template .mv-card:hover::after {
  transform: scaleX(1);
}

.about-page-template .mv-label {
  font-size: 10px;
  font-weight: 500;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: #6BB0FF;
  margin-bottom: 16px;
}

.about-page-template .mv-text {
  font-size: clamp(15px, 1.5vw, 18px);
  font-weight: 400;
  line-height: 1.7;
  letter-spacing: -0.01em;
  color: var(--t1);
}

/* Values */
.about-page-template .values-strip {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 1px;
  background: var(--rule);
  border: 1px solid var(--rule);
  margin-top: 52px;
}

.about-page-template .value-card {
  background: var(--navy-mid);
  padding: 34px 28px 32px;
  position: relative;
  overflow: hidden;
  transition: background 0.2s ease, transform 0.2s ease, border-color 0.2s ease;
  border-top: 2px solid transparent;
  min-height: 240px;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
}

.about-page-template .value-card:hover {
  background: var(--navy-card);
  border-top-color: #6BB0FF;
  transform: translateY(-2px);
}

.about-page-template .value-icon {
  width: 48px;
  height: 48px;
  border: 1px solid rgba(107,176,255,0.18);
  background: rgba(107,176,255,0.05);
  border-radius: 14px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 22px;
  transition: all 0.2s ease;
}

.about-page-template .value-card:hover .value-icon {
  border-color: rgba(107,176,255,0.35);
  background: rgba(107,176,255,0.08);
}

.about-page-template .value-icon svg {
  width: 22px;
  height: 22px;
  stroke: #6BB0FF;
  stroke-width: 1.7;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.about-page-template .value-name {
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--t1);
  line-height: 1.45;
  margin-bottom: 12px;
}

.about-page-template .value-text {
  font-size: 14px;
  line-height: 1.75;
  color: var(--t2);
  margin: 0;
}

/* Timeline */
.about-page-template .timeline {
  margin-top: 60px;
  position: relative;
}

.about-page-template .timeline::before {
  content: '';
  position: absolute;
  left: calc(148px + 10px);
  top: 18px;
  bottom: 10px;
  width: 1px;
  background: var(--rule-mid);
  transform: translateX(-50%);
}

.about-page-template .timeline-fill-line {
  position: absolute;
  left: calc(148px + 10px);
  top: 18px;
  transform: translateX(-50%);
  width: 1px;
  background: #6BB0FF;
  height: 0;
  opacity: 0.6;
  transition: height 0.6s ease;
  pointer-events: none;
}

.about-page-template .timeline-item {
  display: grid;
  grid-template-columns: 148px 36px 1fr;
  gap: 0 28px;
  margin-bottom: 48px;
  align-items: start;
  position: relative;
}

.about-page-template .timeline-year {
  font-size: 20px;
  font-weight: 300;
  letter-spacing: -0.03em;
  font-variant-numeric: tabular-nums;
  color: rgba(184,149,90,0.18);
  line-height: 1;
  text-align: right;
  transition: color 0.4s;
}

.about-page-template .timeline-item.tl-active .timeline-year {
  color: rgba(240,242,245,0.3);
}

.about-page-template .timeline-item.tl-current .timeline-year {
  color: var(--t1);
}

.about-page-template .timeline-dot {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: var(--ink);
  border: 1.5px solid rgba(255,255,255,0.1);
  transition: all 0.4s;
  margin-top: 6px;
  position: relative;
  z-index: 2;
  justify-self: center;
}

.about-page-template .timeline-dot::after {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%,-50%) scale(0);
  width: 24px;
  height: 24px;
  border-radius: 50%;
  border: 1px solid rgba(184,149,90,0.3);
  opacity: 0;
}

.about-page-template .timeline-item.tl-active .timeline-dot {
  background: #6BB0FF;
  border-color: #6BB0FF;
  box-shadow: 0 0 0 4px rgba(107,176,255,0.15);
}

.about-page-template .timeline-item.tl-current .timeline-dot {
  box-shadow: 0 0 0 5px rgba(107,176,255,0.15), 0 0 14px rgba(107,176,255,0.2);
}

.about-page-template .timeline-title {
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.12);
  margin-bottom: 10px;
  transition: color 0.4s;
}

.about-page-template .timeline-item.tl-active .timeline-title {
  color: rgba(255,255,255,0.5);
}

.about-page-template .timeline-item.tl-current .timeline-title {
  color: var(--t1);
}

.about-page-template .timeline-desc {
  color: rgba(255,255,255,0.08);
  transition: color 0.4s;
}

.about-page-template .timeline-item.tl-active .timeline-desc {
  color: rgba(255,255,255,0.28);
}

.about-page-template .timeline-item.tl-current .timeline-desc {
  color: var(--t2);
}

@keyframes tl-pulse {
  0% {
    transform: translate(-50%,-50%) scale(0.5);
    opacity: 0.6;
  }
  100% {
    transform: translate(-50%,-50%) scale(2.5);
    opacity: 0;
  }
}

.about-page-template .timeline-item.tl-current .timeline-dot::after {
  animation: tl-pulse 2s ease-out infinite;
}

/* Founders - original layout kept, only centered */
.about-page-template .founders-section {
  text-align: center;
}

.about-page-template .founders-section .section-tag {
  justify-content: center;
}

.about-page-template .founders-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1px;
  margin-top: 52px;
  background: var(--rule);
  border: 1px solid var(--rule);
  max-width: 720px;
  margin-left: auto;
  margin-right: auto;
}

.about-page-template .founder-card {
  background: var(--navy-mid);
  padding: 44px 40px;
  position: relative;
  overflow: hidden;
  text-align: center;
  transition: background 0.25s ease, transform 0.25s ease, box-shadow 0.25s ease;
}

.about-page-template .founder-card:hover {
  background: var(--navy-card);
  transform: translateY(-4px);
  box-shadow: 0 12px 30px rgba(0,0,0,0.35);
}

.about-page-template .founder-card::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 1px;
  background: var(--sapphire-mid);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.3s;
}

.about-page-template .founder-card:hover::after {
  transform: scaleX(1);
}

.about-page-template .founder-avatar {
  width: 96px;
  height: 96px;
  margin: 0 auto 16px;
  border-radius: 50%;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,0.12);
  background: var(--navy-card);
  display: flex;
  align-items: center;
  justify-content: center;
}

.about-page-template .founder-avatar-image img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  object-position: center;
  border-radius: 50%;
  transition: transform 0.35s ease;
}

.about-page-template .founder-card:hover .founder-avatar-image img {
  transform: scale(1.08);
}

.about-page-template .founder-card:hover .founder-avatar {
  box-shadow: 0 0 0 3px rgba(107,176,255,0.15);
}

.about-page-template .founder-name {
  font-size: 17px;
  font-weight: 600;
  letter-spacing: -0.02em;
  color: var(--t1);
  margin-bottom: 4px;
}

.about-page-template .founder-role {
  font-size: 10px;
  font-weight: 500;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #6BB0FF;
  margin-bottom: 18px;
}

.about-page-template .founder-link {
  font-size: 10px;
  font-weight: 500;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--t3);
  text-decoration: none;
  border: 1px solid rgba(107,176,255,0.35);
  padding: 7px 16px;
  transition: all 0.2s ease;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
}

.about-page-template .founder-link:hover {
  border-color: #6BB0FF;
  color: #ffffff;
  background: rgba(107,176,255,0.1);
}

.about-page-template .founder-link .arrow {
  width: 10px;
  height: 10px;
  border-top: 1.5px solid currentColor;
  border-right: 1.5px solid currentColor;
  transform: rotate(45deg);
  transition: transform 0.2s ease;
  margin-top: 1px;
}

.about-page-template .founder-link:hover .arrow {
  transform: rotate(45deg) translate(2px, -2px);
}

/* Final CTA */
.about-page-template .about-final-cta {
  text-align: center;
  border-bottom: none;
  border-top: 1px solid var(--rule);
  background: linear-gradient(180deg, #0d1422 0%, #080c18 100%);
}

.about-page-template .about-final-cta .section-tag {
  justify-content: center;
}

.about-page-template .about-final-cta h2 {
  max-width: 860px;
  margin-left: auto;
  margin-right: auto;
}

.about-page-template .about-final-cta p {
  max-width: 640px;
  margin: 0 auto 30px;
}

.about-page-template .final-cta-actions {
  display: flex;
  gap: 14px;
  justify-content: center;
  flex-wrap: wrap;
}

/* Reveal */
.about-page-template .reveal {
  opacity: 1;
  transform: translateY(0);
  transition: opacity 0.6s ease, transform 0.6s ease;
}

body.js-loaded .about-page-template .reveal,
.about-page-template .reveal {
  opacity: 0;
  transform: translateY(18px);
}

.about-page-template .reveal.visible {
  opacity: 1;
  transform: translateY(0);
}

@keyframes fadeUp {
  from {
    opacity: 0;
    transform: translateY(16px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* Responsive */
@media (max-width: 1100px) {
  .about-page-template .page-hero,
  .about-page-template .manifesto-section,
  .about-page-template .story-section,
  .about-page-template .mv-section,
  .about-page-template .values-section,
  .about-page-template .timeline-section,
  .about-page-template .founders-section,
  .about-page-template .about-final-cta {
    padding-left: 32px;
    padding-right: 32px;
  }

  .about-page-template .manifesto-layout,
  .about-page-template .story-layout,
  .about-page-template .mv-grid {
    grid-template-columns: 1fr;
    gap: 44px;
  }

  .about-page-template .founders-grid {
    grid-template-columns: 1fr;
    max-width: 420px;
    margin-left: auto;
    margin-right: auto;
  }

  .about-page-template .values-strip {
    grid-template-columns: 1fr 1fr;
  }

  .about-page-template .timeline-item {
    grid-template-columns: 96px 30px 1fr;
    gap: 0 18px;
  }

  .about-page-template .timeline::before,
  .about-page-template .timeline-fill-line {
    left: calc(96px + 10px);
  }

  .about-page-template .inline-cta {
    flex-direction: column;
    align-items: flex-start;
  }

  .about-page-template .inline-cta-actions {
    width: 100%;
  }
}

@media (max-width: 640px) {
  .about-page-template .page-hero {
    padding: 110px 20px 56px;
  }

  .about-page-template .manifesto-section,
  .about-page-template .story-section,
  .about-page-template .mv-section,
  .about-page-template .values-section,
  .about-page-template .timeline-section,
  .about-page-template .founders-section,
  .about-page-template .about-final-cta {
    padding: 72px 20px;
  }

  .about-page-template .values-strip,
  .about-page-template .founders-grid {
    grid-template-columns: 1fr;
  }

  .about-page-template .timeline-item {
    grid-template-columns: 72px 24px 1fr;
    gap: 0 14px;
    margin-bottom: 36px;
  }

  .about-page-template .timeline::before,
  .about-page-template .timeline-fill-line {
    left: calc(72px + 8px);
  }

  .about-page-template .timeline-year {
    text-align: left;
    font-size: 18px;
  }

  .about-page-template .inline-cta {
    padding: 24px 20px;
  }

  .about-page-template .hero-cta,
  .about-page-template .final-cta-actions {
    flex-direction: column;
    align-items: stretch;
  }

  .about-page-template .btn-primary,
  .about-page-template .btn-secondary {
    width: 100%;
  }

  .about-page-template .founder-card {
    padding: 36px 24px;
  }

  .about-page-template .founder-avatar {
    width: 88px;
    height: 88px;
  }
}
/* =========================================================
   ABOUT PAGE RESPONSIVE
========================================================= */

.about-page-template {
  overflow-x: hidden;
}

.about-page-template .container {
  width: min(100% - 32px, 1200px);
  margin-inline: auto;
}

/* Hero */

.about-page-template .hero-inner {
  display: grid;
  grid-template-columns: 1.1fr 0.9fr;
  gap: 48px;
  align-items: center;
}

.about-page-template h1 {
  font-size: clamp(42px,5vw,72px);
  line-height: 1;
}

.about-page-template h2 {
  font-size: clamp(30px,3vw,48px);
}

/* Content splits */

.about-page-template .two-col,
.about-page-template .about-grid,
.about-page-template .vision-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 36px;
}

/* Cards */

.about-page-template .principles-grid,
.about-page-template .values-grid,
.about-page-template .entity-grid {
  display: grid;
  grid-template-columns: repeat(3,1fr);
  gap: 24px;
}

.about-page-template .principle-card,
.about-page-template .value-card {
  padding: 28px;
  border-radius: 20px;
}

/* Timeline */

.about-page-template .journey-grid {
  display: grid;
  gap: 20px;
}

.about-page-template .journey-item {
  padding: 26px;
  border-radius: 18px;
}

/* =========================================================
   TABLET
========================================================= */

@media (max-width:1024px) {

  .about-page-template .hero-inner {
    grid-template-columns: 1fr;
  }

  .about-page-template .two-col,
  .about-page-template .about-grid,
  .about-page-template .vision-grid {
    grid-template-columns: 1fr;
  }

  .about-page-template .principles-grid,
  .about-page-template .values-grid,
  .about-page-template .entity-grid {
    grid-template-columns: repeat(2,1fr);
  }

}

/* =========================================================
   MOBILE
========================================================= */

@media (max-width:768px) {

  .about-page-template section {
    padding-top: 50px;
    padding-bottom: 50px;
  }

  .about-page-template h1 {
    font-size: clamp(34px,8vw,44px);
  }

  .about-page-template .principles-grid,
  .about-page-template .values-grid,
  .about-page-template .entity-grid {
    grid-template-columns: 1fr;
  }

  .about-page-template .principle-card,
  .about-page-template .value-card {
    padding: 22px;
  }

}

/* =========================================================
   SMALL MOBILE
========================================================= */

@media (max-width:480px) {

  .about-page-template h1 {
    font-size: 30px;
  }

  .about-page-template .principle-card,
  .about-page-template .value-card {
    padding: 18px;
  }

}

/* =========================================================
   Mission & Vision section - add '&' to mobile and tablet
========================================================= */

.about-page-template .amp-inline {
  display: inline !important;
  white-space: pre !important;
  font-style: normal !important;
  font-weight: 600 !important;
  letter-spacing: 0 !important;
}

@media (max-width: 1024px) {
  .about-page-template .amp-inline {
    display: inline !important;
    white-space: pre !important;
    opacity: 1 !important;
    visibility: visible !important;
  }
}

/* =========================================================
   CAREERS PAGE TEMPLATE
========================================================= */

.careers-page-template {
  --ink: #080c18;
  --navy: #0c1424;
  --navy-mid: #111d30;
  --navy-card: #152340;
  --slate: #1e2d45;

  --sapphire: #004FAC;
  --sapphire-mid: #12469B;
  --sky: #6BB0FF;
  --sky-pale: #6BB0FF;

  --gold: #b8955a;
  --gold-light: #d4af78;
  --gold-rule: rgba(184,149,90,0.35);

  --t1: #f0f2f5;
  --t2: #8a97a8;
  --t3: #4a5868;

  --rule: rgba(255,255,255,0.07);
  --rule-mid: rgba(255,255,255,0.12);
  --rule-blue: rgba(107,176,255,0.15);

  color: var(--t1);
  background: var(--ink);
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  font-size: 15px;
  line-height: 1.65;
  font-weight: 400;
  letter-spacing: -0.01em;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

.careers-page-template *,
.careers-page-template *::before,
.careers-page-template *::after {
  box-sizing: border-box;
}

.careers-page-template section {
  padding: 88px 64px;
}

.careers-page-template h1,
.careers-page-template h2,
.careers-page-template h3,
.careers-page-template .roles-sidebar-heading,
.careers-page-template .role-card-title,
.careers-page-template .spec-title {
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  color: var(--t1);
  margin: 0;
}

.careers-page-template h1 {
  font-size: clamp(36px, 5vw, 64px);
  font-weight: 600;
  line-height: 1.06;
  letter-spacing: -0.03em;
  margin-bottom: 24px;
}

.careers-page-template h2 {
  font-size: clamp(26px, 3vw, 40px);
  font-weight: 600;
  line-height: 1.1;
  letter-spacing: -0.025em;
  margin-bottom: 18px;
}

.careers-page-template h1 em,
.careers-page-template h2 em,
.careers-page-template .roles-sidebar-heading em,
.careers-page-template .spec-title em {
  font-style: italic;
  font-weight: 300;
  color: var(--t1);
}

.careers-page-template .body-text,
.careers-page-template .page-hero-lead,
.careers-page-template .value-desc,
.careers-page-template .perk-desc {
  font-size: 14px;
  font-weight: 400;
  line-height: 1.8;
  letter-spacing: -0.005em;
  color: var(--t2);
  margin: 0;
}

.careers-page-template .body-text + .body-text {
  margin-top: 16px;
}

.careers-page-template .section-tag,
.careers-page-template .page-eyebrow,
.careers-page-template .value-name,
.careers-page-template .perk-title,
.careers-page-template .role-card-dept,
.careers-page-template .roles-contact-label,
.careers-page-template .spec-follow-label,
.careers-page-template .testimonial-name,
.careers-page-template .testimonial-role,
.careers-page-template .role-type-badge {
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}

.careers-page-template .section-tag {
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--sky);
  margin-bottom: 20px;
  display: flex;
  align-items: center;
  gap: 14px;
}

.careers-page-template .section-tag::before {
  content: '';
  display: block;
  width: 20px;
  height: 1px;
  background: var(--sky);
}

.careers-page-template .page-hero {
  min-height: 52vh;
  display: flex;
  align-items: flex-end;
  padding: 128px 64px 64px;
  position: relative;
  overflow: hidden;
  border-bottom: 1px solid var(--rule);
  background: var(--ink);
}

.careers-page-template .page-hero::before {
  content: '';
  position: absolute;
  inset: 0;
  background:
    radial-gradient(ellipse 55% 60% at 75% 38%, rgba(0,79,172,0.08) 0%, transparent 60%),
    linear-gradient(170deg, #0a0e1a 0%, #0d1422 100%);
}

.careers-page-template .page-hero-grid {
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(rgba(255,255,255,0.02) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,0.02) 1px, transparent 1px);
  background-size: 72px 72px;
}

.careers-page-template .page-hero-inner {
  position: relative;
  z-index: 2;
  max-width: 820px;
}

.careers-page-template .page-eyebrow {
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--sky);
  margin-bottom: 20px;
  display: flex;
  align-items: center;
  gap: 14px;
  animation: fadeUp 0.8s ease both;
}

.careers-page-template .page-eyebrow::before {
  content: '';
  width: 28px;
  height: 1px;
  background: var(--sky);
}

.careers-page-template .page-hero h1 {
  animation: fadeUp 0.9s 0.1s ease both;
}

.careers-page-template .page-hero-lead {
  max-width: 620px;
  margin-top: 8px;
  animation: fadeUp 1s 0.2s ease both;
}

.careers-page-template .page-hero-actions {
  display: flex;
  gap: 14px;
  flex-wrap: wrap;
  margin-top: 32px;
}

.careers-page-template .culture-section {
  background: var(--navy);
  border-bottom: 1px solid var(--rule);
}

.careers-page-template .culture-layout {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 80px;
  align-items: start;
  margin-top: 48px;
}

.careers-page-template .culture-pull {
  font-size: clamp(17px, 1.8vw, 22px);
  font-weight: 300;
  font-style: italic;
  letter-spacing: -0.02em;
  line-height: 1.65;
  color: var(--t1);
  border-left: 2px solid var(--sky);
  padding-left: 24px;
}

.careers-page-template .section-inline-cta {
  margin-top: 28px;
}

.careers-page-template .values-section {
  background: var(--ink);
  border-bottom: 1px solid var(--rule);
}

.careers-page-template .values-intro {
  max-width: 700px;
  margin-bottom: 48px;
}

.careers-page-template .values-grid {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 1px;
  background: var(--rule);
  border: 1px solid var(--rule);
}

.careers-page-template .value-card {
  background: var(--navy-mid);
  padding: 36px 26px;
  border-top: 2px solid transparent;
  transition: background 0.2s, border-color 0.2s, transform 0.2s;
}

.careers-page-template .value-card:hover {
  background: var(--navy-card);
  border-top-color: var(--sky);
}

.careers-page-template .value-num {
  font-size: 36px;
  font-weight: 300;
  letter-spacing: -0.04em;
  line-height: 1;
  color: rgba(255,255,255,0.04);
  margin-bottom: 16px;
}

.careers-page-template .value-name {
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--t1);
  margin-bottom: 10px;
  line-height: 1.45;
}

.careers-page-template .why-section {
  background: var(--navy);
  border-bottom: 1px solid var(--rule);
}

.careers-page-template .why-intro {
  max-width: 640px;
  margin-bottom: 48px;
}

.careers-page-template .perks-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1px;
  background: var(--rule);
  border: 1px solid var(--rule);
}

.careers-page-template .perk-card {
  background: var(--navy-mid);
  padding: 36px 30px;
  border-top: 2px solid transparent;
  transition: background 0.2s, border-color 0.2s;
}

.careers-page-template .perk-card:hover {
  background: var(--navy-card);
  border-top-color: var(--sky);
}

.careers-page-template .perk-icon {
  font-size: 22px;
  margin-bottom: 16px;
  opacity: 0.6;
}

.careers-page-template .perk-title {
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--t1);
  margin-bottom: 10px;
}

.careers-page-template .testimonials-section {
  background: var(--ink);
  border-bottom: 1px solid var(--rule);
}

.careers-page-template .testimonials-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1px;
  margin-top: 52px;
  background: var(--rule);
  border: 1px solid var(--rule);
}

.careers-page-template .testimonial-card {
  background: var(--navy-mid);
  padding: 40px 32px;
  transition: background 0.2s;
}

.careers-page-template .testimonial-card:hover {
  background: var(--navy-card);
}

.careers-page-template .stars {
  color: var(--t3);
  font-size: 11px;
  letter-spacing: 3px;
  margin-bottom: 18px;
}

.careers-page-template .testimonial-quote {
  font-size: 14px;
  font-weight: 400;
  font-style: italic;
  line-height: 1.8;
  letter-spacing: -0.005em;
  color: var(--t2);
  margin-bottom: 28px;
}

.careers-page-template .testimonial-name {
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--t2);
  margin-bottom: 2px;
}

.careers-page-template .testimonial-role {
  font-size: 11px;
  color: var(--t3);
}

.careers-page-template .roles-section {
  background: var(--navy);
  border-bottom: 1px solid var(--rule);
}

.careers-page-template .roles-layout {
  display: grid;
  grid-template-columns: 320px 1fr;
  gap: 80px;
  align-items: start;
  margin-top: 64px;
}

.careers-page-template .roles-sidebar {
  position: sticky;
  top: 88px;
}

.careers-page-template .roles-sidebar-heading {
  font-size: clamp(24px, 2.8vw, 36px);
  font-weight: 600;
  letter-spacing: -0.025em;
  line-height: 1.15;
  margin-bottom: 20px;
}

.careers-page-template .roles-contact-block {
  padding: 20px 0;
  border-top: 1px solid var(--rule);
}

.careers-page-template .roles-contact-label {
  font-size: 9px;
  font-weight: 600;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--t3);
  margin-bottom: 8px;
}

.careers-page-template .roles-contact-email {
  font-size: 13px;
  color: var(--sky);
  text-decoration: none;
  border-bottom: 1px solid rgba(107,176,255,0.3);
  transition: border-color 0.2s, color 0.2s;
}

.careers-page-template .roles-contact-email:hover {
  border-bottom-color: var(--sky);
  color: var(--sky);
}

.careers-page-template .roles-sidebar-actions {
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin-top: 24px;
}

.careers-page-template .roles-cards {
  display: flex;
  flex-direction: column;
  gap: 1px;
  background: var(--rule);
  border: 1px solid var(--rule);
}

.careers-page-template .role-card {
  background: var(--ink);
  padding: 36px 40px;
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 24px;
  align-items: center;
  position: relative;
  overflow: hidden;
  transition: background 0.2s;
  text-decoration: none;
}

.careers-page-template .role-card::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 2px;
  transform: scaleX(0);
  transform-origin: left;
  background: var(--sky);
  transition: transform 0.3s ease;
}

.careers-page-template .role-card:hover {
  background: var(--navy-mid);
}

.careers-page-template .role-card:hover::before {
  transform: scaleX(1);
}

.careers-page-template .role-card-body {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.careers-page-template .role-card-dept {
  font-size: 9px;
  font-weight: 600;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--sky);
  display: flex;
  align-items: center;
  gap: 10px;
}

.careers-page-template .role-card-dept::before {
  content: '';
  display: inline-block;
  width: 16px;
  height: 1px;
  background: currentColor;
}

.careers-page-template .role-card-title {
  font-size: 20px;
  font-weight: 600;
  letter-spacing: -0.02em;
  line-height: 1.15;
  color: var(--t1);
}

.careers-page-template .role-card-tags {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}

.careers-page-template .role-tag {
  font-size: 10px;
  font-weight: 400;
  letter-spacing: 0.06em;
  color: var(--t3);
  background: rgba(255,255,255,0.04);
  border: 1px solid var(--rule);
  padding: 3px 10px;
}

.careers-page-template .role-card-action {
  flex-shrink: 0;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 12px;
}

.careers-page-template .role-apply-btn,
.careers-page-template .btn-gold {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 0 20px;
  font-size: 11px;
  font-weight: 500;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #0a0e1a;
  background: #6BB0FF;
  border: 1px solid #6BB0FF;
  text-decoration: none;
  transition: background 0.2s, border-color 0.2s, color 0.2s;
  white-space: nowrap;
  line-height: 1;
  vertical-align: middle;
}

.careers-page-template .role-card:hover .role-apply-btn,
.careers-page-template .btn-gold:hover {
  background: #4a9aef;
  border-color: #4a9aef;
  color: #fff;
}

.careers-page-template .btn-outline {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 0 18px;
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #6BB0FF;
  text-decoration: none;
  border: 1px solid rgba(107,176,255,0.35);
  transition: all 0.2s;
  line-height: 1;
  white-space: nowrap;
  vertical-align: middle;
}

.careers-page-template .btn-outline:hover {
  border-color: #6BB0FF;
  color: #fff;
  background: rgba(107,176,255,0.1);
}

.careers-page-template .page-hero-actions .btn-gold,
.careers-page-template .page-hero-actions .btn-outline,
.careers-page-template .section-inline-cta .btn-gold,
.careers-page-template .section-inline-cta .btn-outline,
.careers-page-template .roles-sidebar-actions .btn-gold,
.careers-page-template .roles-sidebar-actions .btn-outline,
.careers-page-template .speculative-section .btn-gold,
.careers-page-template .speculative-section .btn-outline {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.careers-page-template .roles-sidebar-actions .btn-gold,
.careers-page-template .roles-sidebar-actions .btn-outline {
  width: 100%;
}

.careers-page-template .role-apply-btn {
  padding-top: 0;
  padding-bottom: 0;
}

.careers-page-template .role-type-badge {
  font-size: 9px;
  font-weight: 500;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--t3);
  border: 1px solid var(--rule);
  padding: 3px 10px;
  white-space: nowrap;
}

.careers-page-template .speculative-section {
  background: var(--ink);
}

.careers-page-template .spec-inner {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 80px;
  align-items: center;
}

.careers-page-template .spec-title {
  font-size: clamp(26px, 3vw, 40px);
  font-weight: 600;
  letter-spacing: -0.025em;
  line-height: 1.1;
  margin: 0 0 22px;
}

.careers-page-template .spec-follow {
  border: 1px solid var(--rule-mid);
  padding: 44px 40px;
  background: var(--navy-mid);
}

.careers-page-template .spec-follow-label {
  font-size: 10px;
  font-weight: 500;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--t3);
  margin-bottom: 14px;
}

.careers-page-template .spec-follow-text {
  font-size: 16px;
  font-weight: 300;
  font-style: italic;
  letter-spacing: -0.01em;
  line-height: 1.65;
  color: var(--t2);
  margin: 0 0 28px;
}

.careers-page-template .reveal {
  opacity: 1;
  transform: translateY(0);
  transition: opacity 0.6s ease, transform 0.6s ease;
}

.js-loaded .careers-page-template .reveal {
  opacity: 0;
  transform: translateY(18px);
}

.js-loaded .careers-page-template .reveal.visible {
  opacity: 1;
  transform: translateY(0);
}

@keyframes fadeUp {
  from {
    opacity: 0;
    transform: translateY(16px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* =========================================================
   OPTIONAL HEADER / FOOTER POLISH
   Keep this only if you want the careers page to influence
   your existing theme nav/footer styling.
========================================================= */

nav {
  background: rgba(8, 11, 22, 0.55) !important;
  backdrop-filter: blur(32px) saturate(1.6) !important;
  -webkit-backdrop-filter: blur(32px) saturate(1.6) !important;
  border-bottom: 1px solid rgba(255,255,255,0.05) !important;
  transition: background 0.4s ease !important;
}

nav.nav-scrolled {
  background: rgba(8, 11, 22, 0.88) !important;
  border-bottom-color: rgba(255,255,255,0.07) !important;
}

/* =========================================================
   RESPONSIVE
========================================================= */

@media (max-width: 1100px) {
  .careers-page-template section {
    padding-left: 32px;
    padding-right: 32px;
  }

  .careers-page-template .page-hero {
    padding: 120px 32px 56px;
  }

  .careers-page-template .culture-layout,
  .careers-page-template .spec-inner,
  .careers-page-template .roles-layout {
    grid-template-columns: 1fr;
    gap: 44px;
  }

  .careers-page-template .roles-sidebar {
    position: static;
  }

  .careers-page-template .values-grid {
    grid-template-columns: 1fr 1fr;
  }

  .careers-page-template .perks-grid {
    grid-template-columns: 1fr 1fr;
  }

  .careers-page-template .testimonials-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 640px) {
  .careers-page-template section {
    padding: 72px 20px;
  }

  .careers-page-template .page-hero {
    padding: 110px 20px 56px;
  }

  .careers-page-template .values-grid,
  .careers-page-template .perks-grid {
    grid-template-columns: 1fr;
  }

  .careers-page-template .role-card {
    grid-template-columns: 1fr;
    gap: 20px;
    padding: 28px 24px;
  }

  .careers-page-template .role-card-action {
    align-items: flex-start;
    flex-direction: row;
  }

  .careers-page-template .page-hero-actions {
    flex-direction: column;
    align-items: flex-start;
  }
}

/* =========================================================
   PRESS & MEDIA PAGE TEMPLATE
========================================================= */

.press-media-page-template {
  --ink: #080c18;
  --navy: #0c1424;
  --navy-mid: #111d30;
  --navy-card: #152340;
  --t1: #f0f2f5;
  --t2: #8a97a8;
  --t3: #4a5868;
  --rule: rgba(255,255,255,0.07);
  --rule-mid: rgba(255,255,255,0.12);
  --sky: #6BB0FF;
  --sapphire: #004FAC;
  --sapphire-mid: #12469B;
  --gold: #b8955a;
  --gold-light: #d4af78;
  --gold-rule: rgba(184,149,90,0.35);

  color: var(--t1);
  background: var(--ink);
  overflow-x: hidden;
  -webkit-font-smoothing: antialiased;
}

.press-media-page-template *,
.press-media-page-template *::before,
.press-media-page-template *::after {
  box-sizing: border-box;
}

.press-media-page-template img {
  max-width: 100%;
  height: auto;
}

.press-media-page-template a {
  text-decoration: none;
}

/* HERO */
.press-media-page-template .page-hero {
  min-height: 44vh;
  display: flex;
  align-items: flex-end;
  padding: 120px 64px 64px;
  position: relative;
  overflow: hidden;
  border-bottom: 1px solid var(--rule);
  background: var(--ink);
}

.press-media-page-template .page-hero::before {
  content: '';
  position: absolute;
  inset: 0;
  background:
    radial-gradient(ellipse 50% 60% at 75% 38%, rgba(0,79,172,0.08) 0%, transparent 60%),
    linear-gradient(170deg, #080c18 0%, #0d1422 100%);
}

.press-media-page-template .page-hero-grid {
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(rgba(255,255,255,0.02) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,0.02) 1px, transparent 1px);
  background-size: 72px 72px;
}

.press-media-page-template .page-hero-inner {
  position: relative;
  z-index: 2;
  max-width: 860px;
}

.press-media-page-template .page-eyebrow,
.press-media-page-template .section-tag {
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--sky);
  margin-bottom: 16px;
  display: flex;
  align-items: center;
  gap: 10px;
}

.press-media-page-template .page-eyebrow::before,
.press-media-page-template .section-tag::before {
  content: '';
  width: 20px;
  height: 1px;
  background: var(--sky);
}

.press-media-page-template .page-eyebrow {
  animation: fadeUp 0.8s ease both;
}

.press-media-page-template .page-hero h1 {
  font-size: clamp(36px, 5vw, 64px);
  font-weight: 600;
  letter-spacing: -0.03em;
  line-height: 1.06;
  margin: 0;
  animation: fadeUp 0.9s 0.1s ease both;
}

.press-media-page-template .page-hero h1 em,
.press-media-page-template h2 em,
.press-media-page-template .enquiries-heading em,
.press-media-page-template .newsletter-heading em {
  font-style: italic;
  font-weight: 300;
}

.press-media-page-template .page-hero-lead {
  font-size: 15px;
  font-weight: 400;
  color: var(--t2);
  max-width: 620px;
  line-height: 1.8;
  animation: fadeUp 1s 0.2s ease both;
  margin-top: 16px;
}

/* TYPE */
.press-media-page-template h2 {
  font-size: clamp(24px, 2.8vw, 36px);
  font-weight: 600;
  letter-spacing: -0.025em;
  line-height: 1.1;
  margin: 0 0 16px;
  color: var(--t1);
}

.press-media-page-template .lead {
  font-size: 15px;
  font-weight: 400;
  line-height: 1.8;
  color: var(--t2);
}

.press-media-page-template .press-section-lead {
  margin-bottom: 0;
}

/* HERO STATS */

.press-media-page-template .hero-stats {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: nowrap;
  gap: 34px;
  margin-top: 0px;
}

.press-media-page-template .hero-stat-item {
  text-align: center;
  min-width: 120px;
}

.press-media-page-template .hero-stat-value {
  font-size: 28px;
  font-weight: 600;
  color: var(--sky);
  letter-spacing: 0.04em;
}

.press-media-page-template .hero-stat-label {
  font-size: 13px;
  color: var(--t2);
  margin-top: 6px;
}

.press-media-page-template .hero-stat-divider {
  width: 1px;
  height: 34px;
  background: rgba(255,255,255,0.08);
}

/* SECTION WRAPPERS */
.press-media-page-template .press-section {
  padding: 88px 64px;
  background: var(--ink);
  border-bottom: 1px solid var(--rule);
}

.press-media-page-template .media-section {
  padding: 88px 64px;
  background: var(--navy);
  border-bottom: 1px solid var(--rule);
}

.press-media-page-template .media-kit-section {
  padding: 88px 64px;
  background: var(--ink);
  border-bottom: 1px solid var(--rule);
}

.press-media-page-template .enquiries-section {
  padding: 88px 64px;
  background: var(--ink);
  border-bottom: 1px solid var(--rule);
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 96px;
  align-items: center;
}

.press-media-page-template .newsletter-section {
  padding: 72px 64px;
  background: var(--navy-mid);
}

/* FEATURED PRESS */
.press-media-page-template .press-featured {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1px;
  margin-top: 52px;
  margin-bottom: 1px;
  background: var(--rule);
  border: 1px solid var(--rule);
  border-bottom: none;
}

.press-media-page-template .press-card-featured {
  background: var(--navy-mid);
  overflow: hidden;
  position: relative;
  transition: background 0.2s;
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: 1fr 1fr;
}

.press-media-page-template .press-card-featured:hover {
  background: var(--navy-card);
}

.press-media-page-template .press-card-featured::after,
.press-media-page-template .press-card::after,
.press-media-page-template .media-card::after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 2px;
  background: var(--sky);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.3s ease;
}

.press-media-page-template .press-card-featured:hover::after,
.press-media-page-template .press-card:hover::after,
.press-media-page-template .media-card:hover::after {
  transform: scaleX(1);
}

/* IMAGES */
.press-media-page-template .press-card-img,
.press-media-page-template .media-card-img {
  width: 100%;
  aspect-ratio: 16/9;
  overflow: hidden;
  background: var(--navy);
  position: relative;
}

.press-media-page-template .press-card-featured .press-card-img img,
.press-media-page-template .press-card-img img,
.press-media-page-template .media-card-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: opacity 0.3s, transform 0.4s;
}

.press-media-page-template .press-card-featured .press-card-img img,
.press-media-page-template .press-card-img img {
  opacity: 0.85;
}

.press-media-page-template .media-card-img img {
  opacity: 0.75;
}

.press-media-page-template .press-card-featured:hover .press-card-img img,
.press-media-page-template .press-card:hover .press-card-img img,
.press-media-page-template .media-card:hover .media-card-img img {
  opacity: 1;
  transform: scale(1.03);
}

/* PRESS TEXT */
.press-media-page-template .press-card-featured-body {
  padding: 40px 44px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 14px;
}

.press-media-page-template .press-featured-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--ink);
  background: var(--sky);
  padding: 4px 10px;
  width: fit-content;
}

.press-media-page-template .press-card-date {
  font-size: 10px;
  font-weight: 500;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--t3);
}

.press-media-page-template .press-card-featured .press-card-date {
  font-size: 11px;
  letter-spacing: 0.08em;
}

.press-media-page-template .press-card-title {
  font-size: 15px;
  font-weight: 600;
  letter-spacing: -0.02em;
  line-height: 1.35;
  color: var(--t1);
  transition: color 0.2s;
}

.press-media-page-template .press-card-featured .press-card-title {
  font-size: 22px;
  font-weight: 600;
  letter-spacing: -0.025em;
  line-height: 1.25;
}

.press-media-page-template .press-card:hover .press-card-title,
.press-media-page-template .press-card-featured:hover .press-card-title,
.press-media-page-template .media-card:hover .media-card-title {
  color: var(--sky);
}

.press-media-page-template .press-card-excerpt {
  font-size: 13px;
  font-weight: 400;
  line-height: 1.75;
  color: var(--t2);
  max-width: 460px;
  margin: 0;
}

.press-media-page-template .press-card-arrow,
.press-media-page-template .media-card-arrow {
  font-size: 12px;
  display: flex;
  align-items: center;
  gap: 6px;
  transition: color 0.2s, gap 0.2s;
}

.press-media-page-template .press-card-featured .press-card-arrow {
  color: var(--sky);
  margin-top: auto;
  font-weight: 500;
}

.press-media-page-template .press-card:hover .press-card-arrow,
.press-media-page-template .press-card-featured:hover .press-card-arrow,
.press-media-page-template .media-card:hover .media-card-arrow {
  gap: 10px;
}

/* GRIDS */
.press-media-page-template .press-grid,
.press-media-page-template .media-grid,
.press-media-page-template .media-kit-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1px;
  background: var(--rule);
  border: 1px solid var(--rule);
}

.press-media-page-template .press-grid,
.press-media-page-template .media-grid {
  margin-top: 1px;
}

.press-media-page-template .media-kit-grid {
  margin-top: 48px;
}

/* CARDS */
.press-media-page-template .press-card,
.press-media-page-template .media-card {
  background: var(--navy-mid);
  display: flex;
  flex-direction: column;
  overflow: hidden;
  position: relative;
  transition: background 0.2s;
}

.press-media-page-template .press-card:hover,
.press-media-page-template .media-card:hover,
.press-media-page-template .media-kit-card:hover {
  background: var(--navy-card);
}

.press-media-page-template .press-card-body {
  padding: 24px 26px 28px;
  display: flex;
  flex-direction: column;
  gap: 10px;
  flex: 1;
}

.press-media-page-template .press-card-source {
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--t3);
  display: flex;
  align-items: center;
  gap: 6px;
  margin-top: auto;
  padding-top: 10px;
  border-top: 1px solid var(--rule);
}

.press-media-page-template .press-card-source-dot {
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: var(--t3);
  flex-shrink: 0;
}

/* FILTERS */
.press-media-page-template .filter-bar {
  display: flex;
  align-items: center;
  gap: 0;
  margin-top: 52px;
  border: 1px solid var(--rule);
  width: fit-content;
}

.press-media-page-template .filter-btn {
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--t3);
  background: var(--navy-mid);
  border: none;
  border-right: 1px solid var(--rule);
  padding: 10px 20px;
  cursor: pointer;
  transition: all 0.15s;
}

.press-media-page-template .filter-btn:last-child {
  border-right: none;
}

.press-media-page-template .filter-btn:hover {
  color: var(--t1);
  background: var(--navy-card);
}

.press-media-page-template .filter-btn.active {
  color: var(--ink);
  background: var(--sky);
}

/* MEDIA PLAY */
.press-media-page-template .media-play {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  pointer-events: none;
}

.press-media-page-template .media-play-btn {
  width: 52px;
  height: 52px;
  border-radius: 50%;
  background: rgba(8, 12, 24, 0.62);
  border: 1px solid rgba(107,176,255,0.55);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 10px 30px rgba(0,0,0,0.28);
  transition: transform 0.2s ease, background 0.2s ease, border-color 0.2s ease;
}

.press-media-page-template .media-card:hover .media-play-btn {
  background: rgba(17, 29, 48, 0.82);
  border-color: rgba(107,176,255,0.9);
  transform: scale(1.06);
}

.press-media-page-template .media-play-btn svg {
  width: 16px;
  height: 16px;
  fill: var(--sky);
  margin-left: 2px;
}

/* MEDIA BODY */
.press-media-page-template .media-card-body {
  padding: 24px 26px 28px;
  display: flex;
  flex-direction: column;
  gap: 8px;
  flex: 1;
}

.press-media-page-template .media-card-type {
  font-size: 9px;
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--sky);
}

.press-media-page-template .media-card-title {
  font-size: 14px;
  font-weight: 600;
  letter-spacing: -0.02em;
  line-height: 1.35;
  color: var(--t1);
  transition: color 0.2s;
}

.press-media-page-template .media-card-desc {
  font-size: 12px;
  font-weight: 400;
  color: var(--t2);
  line-height: 1.6;
}

.press-media-page-template .media-card-arrow {
  color: var(--t3);
  margin-top: auto;
  padding-top: 10px;
}

/* MEDIA KIT */
.press-media-page-template .media-kit-card {
  background: var(--navy-mid);
  padding: 32px 30px;
  display: flex;
  flex-direction: column;
  gap: 12px;
  transition: background 0.2s, border-color 0.2s;
  border-top: 2px solid transparent;
}

.press-media-page-template .media-kit-card:hover {
  border-top-color: var(--sky);
}

.press-media-page-template .media-kit-icon {
  width: 40px;
  height: 40px;
  background: rgba(107,176,255,0.08);
  border: 1px solid rgba(107,176,255,0.15);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.press-media-page-template .media-kit-icon svg {
  width: 18px;
  height: 18px;
  stroke: var(--sky);
  fill: none;
  stroke-width: 1.5;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.press-media-page-template .media-kit-title {
  font-size: 14px;
  font-weight: 600;
  letter-spacing: -0.02em;
  color: var(--t1);
}

.press-media-page-template .media-kit-desc {
  font-size: 12px;
  color: var(--t2);
  line-height: 1.7;
}

.press-media-page-template .media-kit-link {
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--sky);
  display: flex;
  align-items: center;
  gap: 6px;
  margin-top: auto;
  padding-top: 14px;
  border-top: 1px solid var(--rule);
  transition: gap 0.2s;
}

.press-media-page-template .media-kit-link:hover {
  gap: 10px;
}

.press-media-page-template .media-kit-contact {
  margin-top: auto;
  padding-top: 14px;
  border-top: 1px solid var(--rule);
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.press-media-page-template .media-kit-contact-name {
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--t3);
}

.press-media-page-template .media-kit-contact-link {
  font-size: 13px;
  color: var(--sky);
  width: fit-content;
  border-bottom: 1px solid rgba(107,176,255,0.3);
  transition: border-color 0.2s;
}

.press-media-page-template .media-kit-contact-link:hover,
.press-media-page-template .enquiries-contact-value a:hover {
  border-color: var(--sky);
}

/* ENQUIRIES */
.press-media-page-template .enquiries-heading {
  font-size: clamp(26px, 3vw, 40px);
  font-weight: 600;
  letter-spacing: -0.025em;
  line-height: 1.15;
  margin: 0;
}

.press-media-page-template .enquiries-body {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.press-media-page-template .enquiries-body p {
  font-size: 14px;
  font-weight: 400;
  line-height: 1.8;
  color: var(--t2);
  margin: 0;
}

.press-media-page-template .enquiries-contact-item {
  display: flex;
  flex-direction: column;
  gap: 4px;
  padding: 18px 0;
  border-top: 1px solid var(--rule);
}

.press-media-page-template .enquiries-contact-label {
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--t3);
}

.press-media-page-template .enquiries-contact-value a {
  font-size: 14px;
  font-weight: 400;
  color: var(--sky);
  border-bottom: 1px solid rgba(107,176,255,0.3);
  transition: border-color 0.2s;
}

.press-media-page-template .enquiries-contact-address {
  font-size: 14px;
  color: var(--t2);
  margin-top: 4px;
}

/* NEWSLETTER */
.press-media-page-template .newsletter-inner {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 80px;
  align-items: center;
}

.press-media-page-template .newsletter-heading {
  font-size: clamp(22px, 2.5vw, 32px);
  font-weight: 600;
  letter-spacing: -0.025em;
  line-height: 1.2;
  margin-bottom: 10px;
}

.press-media-page-template .newsletter-sub {
  font-size: 14px;
  color: var(--t2);
  line-height: 1.75;
  margin: 0;
}

.press-media-page-template .newsletter-form {
  display: flex;
  gap: 10px;
}

.press-media-page-template .newsletter-input {
  flex: 1;
  background: var(--navy);
  border: 1px solid var(--rule);
  padding: 12px 16px;
  color: var(--t1);
  font-size: 13px;
  outline: none;
  transition: border-color 0.2s;
  border-radius: 0;
}

.press-media-page-template .newsletter-input:focus {
  border-color: var(--sky);
}

.press-media-page-template .newsletter-input::placeholder {
  color: var(--t3);
}

.press-media-page-template .newsletter-btn {
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--ink);
  background: var(--sky);
  border: none;
  padding: 12px 24px;
  cursor: pointer;
  white-space: nowrap;
  transition: background 0.2s, color 0.2s;
}

.press-media-page-template .newsletter-btn:hover {
  background: #4a9aef;
  color: var(--t1);
}

.press-media-page-template .newsletter-note {
  font-size: 11px;
  color: var(--t3);
  margin-top: 12px;
  line-height: 1.6;
}

/* ANIMATIONS */
@keyframes fadeUp {
  from {
    opacity: 0;
    transform: translateY(16px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.press-media-page-template .reveal {
  opacity: 1;
  transform: translateY(0);
  transition: opacity 0.5s ease, transform 0.5s ease;
}

.js-loaded .press-media-page-template .reveal {
  opacity: 0;
  transform: translateY(14px);
}

.js-loaded .press-media-page-template .reveal.visible {
  opacity: 1;
  transform: translateY(0);
}


/* CTA SECTIONS */
.press-media-page-template .media-cta-section {
  padding: 88px 64px;
  background: var(--navy-mid);
  border-bottom: 1px solid var(--rule);
}

.press-media-page-template .media-cta-inner {
  display: grid;
  grid-template-columns: 1.3fr 0.7fr;
  gap: 64px;
  align-items: center;
  padding: 40px 0;
  border-top: 1px solid var(--rule);
  border-bottom: 1px solid var(--rule);
}

.press-media-page-template .media-cta-copy .lead {
  max-width: 640px;
  margin: 0;
}

.press-media-page-template .media-cta-actions,
.press-media-page-template .enquiries-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  align-items: center;
}

.press-media-page-template .enquiries-actions {
  padding-top: 10px;
}

/* BUTTONS */
.press-media-page-template .btn-primary,
.press-media-page-template .btn-secondary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 46px;
  padding: 0 22px;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  text-decoration: none;
  transition: background 0.2s ease, border-color 0.2s ease, color 0.2s ease, transform 0.2s ease;
}

.press-media-page-template .btn-primary {
  background: var(--sky);
  color: var(--ink);
  border: 1px solid var(--sky);
}

.press-media-page-template .btn-primary:hover {
  background: #4a9aef;
  border-color: #4a9aef;
  color: var(--t1);
  transform: translateY(-1px);
}

.press-media-page-template .btn-secondary {
  background: transparent;
  color: var(--t1);
  border: 1px solid var(--rule-mid);
}

.press-media-page-template .btn-secondary:hover {
  background: rgba(255,255,255,0.03);
  border-color: rgba(107,176,255,0.35);
  color: var(--sky);
  transform: translateY(-1px);
}

@media (max-width: 1100px) {
  .press-media-page-template .media-cta-section {
    padding-left: 32px;
    padding-right: 32px;
  }

  .press-media-page-template .media-cta-inner {
    grid-template-columns: 1fr;
    gap: 28px;
  }
}

@media (max-width: 640px) {
  .press-media-page-template .media-cta-section {
    padding: 64px 20px;
  }

  .press-media-page-template .media-cta-actions,
  .press-media-page-template .enquiries-actions {
    flex-direction: column;
    align-items: stretch;
  }

  .press-media-page-template .btn-primary,
  .press-media-page-template .btn-secondary {
    width: 100%;
  }
}

/* RESPONSIVE */
@media (max-width: 1100px) {
  .press-media-page-template .page-hero,
  .press-media-page-template .press-section,
  .press-media-page-template .media-section,
  .press-media-page-template .media-kit-section,
  .press-media-page-template .enquiries-section,
  .press-media-page-template .newsletter-section {
    padding-left: 32px;
    padding-right: 32px;
  }

  .press-media-page-template .press-grid,
  .press-media-page-template .media-grid,
  .press-media-page-template .media-kit-grid {
    grid-template-columns: 1fr 1fr;
  }

  .press-media-page-template .press-card-featured,
  .press-media-page-template .press-featured {
    grid-template-columns: 1fr;
  }

  .press-media-page-template .enquiries-section,
  .press-media-page-template .newsletter-inner {
    grid-template-columns: 1fr;
    gap: 48px;
  }

  .press-media-page-template .newsletter-inner {
    gap: 32px;
  }
}

@media (max-width: 640px) {
  .press-media-page-template .page-hero {
    padding: 100px 20px 52px;
  }

  .press-media-page-template .press-section,
  .press-media-page-template .media-section,
  .press-media-page-template .media-kit-section,
  .press-media-page-template .enquiries-section,
  .press-media-page-template .newsletter-section {
    padding: 64px 20px;
  }

  .press-media-page-template .press-grid,
  .press-media-page-template .media-grid,
  .press-media-page-template .media-kit-grid {
    grid-template-columns: 1fr;
  }

  .press-media-page-template .hero-stats {
    gap: 20px;
  }

  .press-media-page-template .hero-stat-divider {
    display: none;
  }

  .press-media-page-template .press-card-featured-body {
    padding: 28px 24px;
  }

  .press-media-page-template .press-card-featured .press-card-title {
    font-size: 18px;
  }

  .press-media-page-template .filter-bar {
    flex-wrap: wrap;
    width: 100%;
  }

  .press-media-page-template .filter-btn {
    border-right: none;
    border-bottom: 1px solid var(--rule);
    flex: 1;
    text-align: center;
  }

  .press-media-page-template .newsletter-form {
    flex-direction: column;
  }

  .press-media-page-template .media-play-btn {
    width: 48px;
    height: 48px;
  }
}

/* =========================================================
   PRESS PAGE NEWSLETTER - MAILCHIMP BRAND OVERRIDE
========================================================= */

.newsletter-form-wrap {
  width: 100%;
}

.newsletter-form-wrap .mc4wp-form,
.newsletter-form-wrap form {
  width: 100%;
  margin: 0;
}

.newsletter-form-wrap .mc4wp-form-fields {
  display: flex;
  align-items: center;
  gap: 12px;
  width: 100%;
}

.newsletter-form-wrap .mc4wp-form-fields > * {
  margin: 0;
}

.newsletter-form-wrap input[type="email"] {
  -webkit-appearance: none;
  appearance: none;
  flex: 1 1 auto;
  width: 100%;
  min-width: 0;
  height: 56px;
  padding: 0 18px;
  border-radius: 0 !important;
  border: 1px solid rgba(255,255,255,0.12) !important;
  background: #071224 !important;
  color: #f0f2f5 !important;
  box-shadow: none !important;
  outline: none !important;

  font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif !important;
  font-size: 15px !important;
  font-weight: 400 !important;
  line-height: 56px !important;
  letter-spacing: 0 !important;
}

.newsletter-form-wrap input[type="email"]::placeholder {
  color: rgba(240,242,245,0.58) !important;
}

.newsletter-form-wrap input[type="email"]:focus {
  border-color: rgba(107,176,255,0.45) !important;
  background: #09172b !important;
}

.newsletter-form-wrap button[type="submit"],
.newsletter-form-wrap input[type="submit"] {
  -webkit-appearance: none;
  appearance: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 56px;
  padding: 0 24px;
  border: 0 !important;
  border-radius: 0 !important;
  background: #6BB0FF !important;
  color: #0c1424 !important;
  box-shadow: none !important;
  cursor: pointer;
  white-space: nowrap;

  font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  line-height: 1 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
}

.newsletter-form-wrap button[type="submit"]:hover,
.newsletter-form-wrap input[type="submit"]:hover {
  opacity: 0.92;
}

.newsletter-form-wrap button[type="submit"]:focus,
.newsletter-form-wrap input[type="submit"]:focus {
  outline: none;
}

.newsletter-form-wrap .mc4wp-response {
  margin-top: 12px;
  color: #cfd7e3;
  font-size: 13px;
  line-height: 1.5;
}

.newsletter-form-wrap .mc4wp-response p {
  margin: 0;
}

@media (max-width: 767px) {
  .newsletter-form-wrap .mc4wp-form-fields {
    flex-direction: column;
    align-items: stretch;
  }

  .newsletter-form-wrap button[type="submit"],
  .newsletter-form-wrap input[type="submit"] {
    width: 100%;
  }
}

/* =========================================================
   GROUP ENTITIES PAGE TEMPLATE
========================================================= */

.group-entities-page-template {
  --ink: #080c18;
  --navy: #0c1424;
  --navy-mid: #111d30;
  --navy-card: #152340;
  --slate: #1b2a42;

  --sapphire: #004fac;
  --sapphire-mid: #12469b;
  --sky: #6bb0ff;
  --sky-soft: rgba(107,176,255,0.18);
  --sky-line: rgba(107,176,255,0.32);

  --t1: #f0f2f5;
  --t2: #8a97a8;
  --t3: #4a5868;

  --rule: rgba(255,255,255,0.07);
  --rule-mid: rgba(255,255,255,0.12);
  --rule-strong: rgba(255,255,255,0.18);

  color: var(--t1);
  background: var(--ink);
  overflow-x: hidden;
  -webkit-font-smoothing: antialiased;
}

.group-entities-page-template *,
.group-entities-page-template *::before,
.group-entities-page-template *::after {
  box-sizing: border-box;
}

.group-entities-page-template a {
  text-decoration: none;
}

.group-entities-page-template h1,
.group-entities-page-template h2,
.group-entities-page-template h3,
.group-entities-page-template p {
  margin-top: 0;
}

/* =========================================================
   SHARED
========================================================= */

.group-entities-page-template .page-eyebrow,
.group-entities-page-template .section-tag {
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--sky);
  display: flex;
  align-items: center;
  gap: 10px;
}

.group-entities-page-template .page-eyebrow::before,
.group-entities-page-template .section-tag::before {
  content: '';
  width: 20px;
  height: 1px;
  background: var(--sky);
}

.group-entities-page-template .section-tag {
  margin-bottom: 16px;
}

.group-entities-page-template h2 {
  font-size: clamp(24px, 2.8vw, 36px);
  font-weight: 600;
  letter-spacing: -0.025em;
  line-height: 1.12;
  margin-bottom: 16px;
}

.group-entities-page-template h2 em,
.group-entities-page-template h1 em {
  font-style: italic;
  font-weight: 300;
}

/* =========================================================
   BUTTONS
========================================================= */

.group-entities-page-template .btn-primary {
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--ink);
  background: var(--sky);
  padding: 13px 28px;
  border: 1px solid var(--sky);
  transition: background 0.2s ease, color 0.2s ease, transform 0.2s ease;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-align: center;
}

.group-entities-page-template .btn-primary:hover {
  background: #4a9aef;
  color: var(--t1);
  transform: translateY(-1px);
}

.group-entities-page-template .btn-ghost {
  font-size: 11px;
  font-weight: 500;
  letter-spacing: 0.06em;
  color: var(--t2);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  gap: 8px;
  padding: 13px 20px;
  border: 1px solid var(--rule-mid);
  transition: color 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}

.group-entities-page-template .btn-ghost:hover {
  color: var(--t1);
  border-color: var(--rule-strong);
  transform: translateY(-1px);
}

.group-entities-page-template .btn-ghost::after {
  content: '\2192';
  transition: transform 0.2s ease;
}

.group-entities-page-template .btn-ghost:hover::after {
  transform: translateX(3px);
}

/* =========================================================
   HERO
========================================================= */

.group-entities-page-template .entities-hero {
  position: relative;
  overflow: hidden;
  padding: 120px 64px 44px;
  border-bottom: 1px solid var(--rule);
  background:
    radial-gradient(circle at 18% 22%, rgba(107,176,255,0.08) 0%, transparent 28%),
    radial-gradient(circle at 82% 18%, rgba(0,79,172,0.12) 0%, transparent 30%),
    linear-gradient(180deg, #08101d 0%, #0a1220 52%, #0d1524 100%);
}

.group-entities-page-template .entities-hero-bg {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(135deg, rgba(255,255,255,0.02) 0%, transparent 45%),
    linear-gradient(315deg, rgba(255,255,255,0.01) 0%, transparent 40%);
  pointer-events: none;
}

.group-entities-page-template .entities-hero-grid {
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(rgba(255,255,255,0.025) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,0.025) 1px, transparent 1px);
  background-size: 72px 72px;
  mask-image: linear-gradient(to bottom, rgba(0,0,0,0.7), rgba(0,0,0,0.2));
  pointer-events: none;
}

.group-entities-page-template .entities-hero-orb {
  position: absolute;
  border-radius: 999px;
  filter: blur(20px);
  opacity: 0.65;
  pointer-events: none;
}

.group-entities-page-template .orb-1 {
  width: 340px;
  height: 340px;
  background: radial-gradient(circle, rgba(107,176,255,0.12) 0%, transparent 70%);
  top: 60px;
  right: 15%;
  animation: floatOrb 9s ease-in-out infinite;
}

.group-entities-page-template .orb-2 {
  width: 280px;
  height: 280px;
  background: radial-gradient(circle, rgba(0,79,172,0.14) 0%, transparent 70%);
  bottom: 20px;
  left: 5%;
  animation: floatOrb 11s ease-in-out infinite reverse;
}

.group-entities-page-template .entities-hero-inner {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(360px, 0.8fr);
  gap: 44px;
  align-items: center;
  padding-top: 42px;
  margin-bottom: 22px;
}

.group-entities-page-template .entities-hero-copy {
  max-width: 760px;
}

.group-entities-page-template .page-eyebrow {
  margin-bottom: 18px;
  animation: fadeUp 0.8s ease both;
}

.group-entities-page-template .entities-hero h1 {
  font-size: clamp(40px, 5.8vw, 72px);
  font-weight: 600;
  letter-spacing: -0.04em;
  line-height: 1.02;
  max-width: 760px;
  margin-bottom: 20px;
  animation: fadeUp 0.95s 0.08s ease both;
}

.group-entities-page-template .entities-hero-lead {
  font-size: 15px;
  line-height: 1.85;
  color: var(--t2);
  max-width: 620px;
  margin-bottom: 28px;
  animation: fadeUp 1.05s 0.16s ease both;
}

.group-entities-page-template .entities-hero-actions {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
  animation: fadeUp 1.15s 0.24s ease both;
}

.group-entities-page-template .entities-hero-panel {
  position: relative;
  z-index: 2;
  background: linear-gradient(180deg, rgba(17,29,48,0.96) 0%, rgba(11,19,32,0.96) 100%);
  border: 1px solid rgba(255,255,255,0.08);
  box-shadow: 0 22px 60px rgba(0,0,0,0.28);
  padding: 28px 28px 24px;
  backdrop-filter: blur(14px);
}

.group-entities-page-template .hero-panel-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 22px;
  padding-bottom: 16px;
  border-bottom: 1px solid var(--rule);
}

.group-entities-page-template .hero-panel-label {
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--sky);
}

.group-entities-page-template .hero-panel-badge {
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--t1);
  padding: 7px 10px;
  border: 1px solid rgba(107,176,255,0.24);
  background: rgba(107,176,255,0.08);
}

.group-entities-page-template .hero-panel-main {
  display: grid;
  grid-template-columns: 1fr;
  gap: 14px;
}

.group-entities-page-template .hero-panel-stat {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 16px;
  padding: 14px 0;
  border-bottom: 1px solid var(--rule);
}

.group-entities-page-template .hero-panel-stat:last-child {
  border-bottom: 0;
  padding-bottom: 6px;
}

.group-entities-page-template .hero-panel-value {
  font-size: 28px;
  font-weight: 600;
  letter-spacing: -0.03em;
  color: var(--t1);
  min-width: 34px;
}

.group-entities-page-template .hero-panel-text {
  font-size: 12px;
  color: var(--t2);
  text-align: right;
  line-height: 1.6;
}

.group-entities-page-template .hero-panel-footer {
  margin-top: 20px;
  padding-top: 18px;
  border-top: 1px solid var(--rule);
}

.group-entities-page-template .hero-panel-line {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  font-size: 11px;
  line-height: 1.7;
  color: var(--t2);
}

.group-entities-page-template .hero-panel-dot {
  width: 8px;
  height: 8px;
  background: var(--sky);
  border-radius: 50%;
  margin-top: 5px;
  box-shadow: 0 0 0 6px rgba(107,176,255,0.09);
  flex-shrink: 0;
}

/* =========================================================
   HERO REG CARDS
========================================================= */

.group-entities-page-template .hero-reg-strip {
  position: relative;
  z-index: 2;
  margin-top: 40px;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1px;
  background: var(--rule);
  border: 1px solid var(--rule);
}

.group-entities-page-template .hero-reg-card {
  background: rgba(15,25,40,0.92);
  padding: 28px 26px;
  min-height: 100%;
  transition: background 0.25s ease, transform 0.25s ease;
}

.group-entities-page-template .hero-reg-card:hover {
  background: rgba(21,35,64,0.98);
  transform: translateY(-2px);
}

.group-entities-page-template .hero-reg-top {
  display: flex;
  align-items: flex-start;
  gap: 14px;
  margin-bottom: 14px;
}

.group-entities-page-template .hero-reg-flag {
  font-size: 26px;
  line-height: 1;
}

.group-entities-page-template .hero-reg-country {
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--sky);
  margin-bottom: 4px;
}

.group-entities-page-template .hero-reg-title {
  font-size: 17px;
  font-weight: 600;
  letter-spacing: -0.02em;
  color: var(--t1);
  line-height: 1.2;
}

.group-entities-page-template .hero-reg-meta {
  font-size: 11px;
  font-weight: 500;
  color: var(--t3);
  margin-bottom: 14px;
}

.group-entities-page-template .hero-reg-detail {
  font-size: 12px;
  line-height: 1.8;
  color: var(--t2);
  margin-bottom: 18px;
}

.group-entities-page-template .hero-reg-tag {
  display: inline-flex;
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--t1);
  border: 1px solid rgba(107,176,255,0.22);
  background: rgba(107,176,255,0.08);
  padding: 8px 10px;
}

/* =========================================================
   FOOTPRINT SECTION
========================================================= */

.group-entities-page-template .footprint-section {
  padding: 88px 64px;
  background: var(--navy);
  border-bottom: 1px solid var(--rule);
}

.group-entities-page-template .footprint-intro {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 96px;
  align-items: start;
  margin-bottom: 52px;
}

.group-entities-page-template .footprint-heading {
  margin-bottom: 0;
}

.group-entities-page-template .footprint-copy p {
  font-size: 14px;
  line-height: 1.85;
  color: var(--t2);
  margin-bottom: 0;
}

.group-entities-page-template .footprint-map-wrap {
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(circle at 50% 50%, rgba(107,176,255,0.07) 0%, transparent 48%),
    linear-gradient(180deg, rgba(17,29,48,1) 0%, rgba(10,18,31,1) 100%);
  border: 1px solid var(--rule);
  min-height: 500px;
  margin-bottom: 28px;
}

.group-entities-page-template .footprint-map-grid {
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(rgba(255,255,255,0.025) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,0.025) 1px, transparent 1px);
  background-size: 64px 64px;
  opacity: 0.9;
}

.group-entities-page-template .footprint-map-label {
  position: absolute;
  top: 18px;
  right: 18px;
  z-index: 3;
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--sky);
  padding: 8px 10px;
  border: 1px solid rgba(107,176,255,0.18);
  background: rgba(8,14,24,0.7);
  backdrop-filter: blur(8px);
}

.group-entities-page-template .footprint-map {
  position: relative;
  min-height: 500px;
}

/* Animated connection lines */
.group-entities-page-template .map-core-line {
  position: absolute;
  height: 1px;
  transform-origin: left center;
  overflow: hidden;
  background: linear-gradient(
    90deg,
    rgba(107,176,255,0.02) 0%,
    rgba(107,176,255,0.18) 35%,
    rgba(107,176,255,0.42) 50%,
    rgba(107,176,255,0.18) 65%,
    rgba(107,176,255,0.02) 100%
  );
  animation: pulseLine 4.5s ease-in-out infinite;
}

.group-entities-page-template .map-core-line::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(
    90deg,
    transparent 0%,
    rgba(255,255,255,0.65) 50%,
    transparent 100%
  );
  transform: translateX(-120%);
  animation: travelLine 3.6s linear infinite;
}

.group-entities-page-template .core-line-1 {
  width: 210px;
  top: 170px;
  left: 34%;
  transform: rotate(8deg);
}

.group-entities-page-template .core-line-2 {
  width: 270px;
  top: 184px;
  left: 34%;
  transform: rotate(-27deg);
}

.group-entities-page-template .core-line-3 {
  width: 190px;
  top: 188px;
  left: 20%;
  transform: rotate(25deg);
}

/* Nodes */
.group-entities-page-template .map-node {
  position: absolute;
  z-index: 2;
  background: transparent;
  border: 0;
  padding: 0;
  text-align: left;
  cursor: pointer;
  font: inherit;
}

.group-entities-page-template .map-node-london {
  top: 136px;
  left: 36%;
}

.group-entities-page-template .map-node-dubai {
  top: 268px;
  left: 56%;
}

.group-entities-page-template .map-node-us {
  top: 170px;
  left: 10%;
}

.group-entities-page-template .map-node-canada {
  top: 34px;
  left: 15%;
}

/* Interactive dots */
.group-entities-page-template .map-dot {
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background: var(--sky);
  box-shadow:
    0 0 0 8px rgba(107,176,255,0.09),
    0 0 30px rgba(107,176,255,0.26);
  display: block;
  animation: pulseDot 3.8s ease-in-out infinite;
  position: relative;
  z-index: 3;
  transition: transform 0.28s ease, box-shadow 0.28s ease;
}

.group-entities-page-template .map-dot::before,
.group-entities-page-template .map-dot::after {
  content: '';
  position: absolute;
  inset: 0;
  border-radius: 50%;
  border: 1px solid rgba(107,176,255,0.28);
  transform: scale(1);
  opacity: 0;
  animation: rippleDot 3.2s ease-out infinite;
}

.group-entities-page-template .map-dot::after {
  animation-delay: 1.2s;
}

/* Cards */
.group-entities-page-template .map-card {
  position: absolute;
  top: -14px;
  left: 20px;
  min-width: 152px;
  max-width: 168px;
  background: rgba(10,17,29,0.9);
  border: 1px solid rgba(255,255,255,0.08);
  padding: 15px 16px;
  backdrop-filter: blur(10px);
  box-shadow: 0 16px 40px rgba(0,0,0,0.24);
  transition:
    transform 0.28s ease,
    border-color 0.28s ease,
    background 0.28s ease,
    box-shadow 0.28s ease;
}

.group-entities-page-template .map-card-hq {
  border-color: rgba(107,176,255,0.22);
  background: rgba(12,20,36,0.95);
}

.group-entities-page-template .map-card-label {
  font-size: 9px;
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--sky);
  margin-bottom: 6px;
}

.group-entities-page-template .map-card-title {
  font-size: 16px;
  font-weight: 600;
  letter-spacing: -0.02em;
  color: var(--t1);
  margin-bottom: 2px;
}

.group-entities-page-template .map-card-sub {
  font-size: 11px;
  color: var(--t2);
  line-height: 1.5;
}

/* Hover interaction */
.group-entities-page-template .map-node:hover .map-card,
.group-entities-page-template .map-node.is-active .map-card {
  transform: translateY(-6px) scale(1.02);
  border-color: rgba(107,176,255,0.35);
  background: rgba(16,28,47,0.96);
  box-shadow: 0 24px 60px rgba(0,0,0,0.34);
}

.group-entities-page-template .map-node:hover .map-dot,
.group-entities-page-template .map-node.is-active .map-dot {
  box-shadow:
    0 0 0 10px rgba(107,176,255,0.14),
    0 0 38px rgba(107,176,255,0.42);
  transform: scale(1.08);
}

/* Stats under map */
.group-entities-page-template .footprint-stats {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1px;
  background: var(--rule);
  border: 1px solid var(--rule);
}

.group-entities-page-template .footprint-stat {
  background: var(--navy-mid);
  padding: 22px 24px;
}

.group-entities-page-template .footprint-stat-value {
  font-size: 18px;
  font-weight: 600;
  letter-spacing: -0.02em;
  color: var(--t1);
  margin-bottom: 6px;
}

.group-entities-page-template .footprint-stat-label {
  font-size: 11px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--t3);
  line-height: 1.6;
}

/* =========================================================
   INTRO SECTION
========================================================= */

.group-entities-page-template .intro-section {
  padding: 88px 64px;
  background: var(--ink);
  border-bottom: 1px solid var(--rule);
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 96px;
  align-items: start;
}

.group-entities-page-template .intro-heading {
  margin-bottom: 0;
}

.group-entities-page-template .intro-body {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.group-entities-page-template .intro-body p {
  font-size: 14px;
  font-weight: 400;
  line-height: 1.85;
  color: var(--t2);
  margin-bottom: 0;
}

/* =========================================================
   ENTITIES SECTION
========================================================= */

.group-entities-page-template .entities-section {
  padding: 88px 64px;
  background: var(--navy);
  border-bottom: 1px solid var(--rule);
}

.group-entities-page-template .entities-intro {
  font-size: 14px;
  color: var(--t2);
  line-height: 1.8;
  max-width: 700px;
  margin-top: 4px;
  margin-bottom: 0;
}

.group-entities-page-template .entities-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1px;
  margin-top: 52px;
  background: var(--rule);
  border: 1px solid var(--rule);
}

.group-entities-page-template .entity-card {
  background: var(--navy-mid);
  padding: 48px 44px;
  display: flex;
  flex-direction: column;
  position: relative;
  overflow: hidden;
  transition: background 0.2s ease, border-color 0.2s ease;
  border-left: 3px solid transparent;
}

.group-entities-page-template .entity-card:hover {
  background: var(--navy-card);
  border-left-color: var(--sky);
}

.group-entities-page-template .entity-header {
  display: flex;
  align-items: flex-start;
  gap: 16px;
  margin-bottom: 28px;
  padding-bottom: 28px;
  border-bottom: 1px solid var(--rule);
}

.group-entities-page-template .entity-flag {
  font-size: 32px;
  line-height: 1;
  flex-shrink: 0;
  margin-top: 2px;
}

.group-entities-page-template .entity-header-text {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.group-entities-page-template .entity-country {
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--sky);
}

.group-entities-page-template .entity-name {
  font-size: 20px;
  font-weight: 600;
  letter-spacing: -0.02em;
  color: var(--t1);
  line-height: 1.2;
}

.group-entities-page-template .entity-jurisdiction {
  font-size: 11px;
  font-weight: 400;
  color: var(--t3);
  margin-top: 2px;
}

.group-entities-page-template .entity-desc {
  font-size: 13px;
  font-weight: 400;
  line-height: 1.85;
  color: var(--t2);
  margin: 0 0 28px;
}

.group-entities-page-template .entity-regs {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 20px 0;
  border-top: 1px solid var(--rule);
  border-bottom: 1px solid var(--rule);
  margin-bottom: 20px;
}

.group-entities-page-template .entity-reg-row {
  display: flex;
  align-items: baseline;
  gap: 10px;
}

.group-entities-page-template .entity-reg-label {
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--t3);
  flex-shrink: 0;
  min-width: 160px;
}

.group-entities-page-template .entity-reg-value {
  font-size: 12px;
  font-weight: 500;
  color: var(--t2);
  font-variant-numeric: tabular-nums;
  letter-spacing: 0.02em;
}

.group-entities-page-template .entity-address-label {
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--t3);
  margin-bottom: 6px;
}

.group-entities-page-template .entity-address {
  font-size: 12px;
  color: var(--t2);
  line-height: 1.9;
}

.group-entities-page-template .entity-website {
  display: inline-flex;
  align-items: center;
  justify-content: flex-start;
  align-self: flex-start;
  text-align: left;
  gap: 6px;
  margin-top: 16px;
  font-size: 12px;
  font-weight: 500;
  color: var(--sky);
  border-bottom: 1px solid rgba(107,176,255,0.3);
  transition: border-color 0.2s ease, color 0.2s ease;
}

.group-entities-page-template .entity-website:hover {
  border-color: var(--sky);
  color: var(--t1);
}

.group-entities-page-template .entity-website:hover {
  border-color: var(--sky);
  color: var(--t1);
}

/* =========================================================
   STANDARDS SECTION
========================================================= */

.group-entities-page-template .standards-section {
  padding: 88px 64px;
  background: var(--ink);
  border-bottom: 1px solid var(--rule);
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 96px;
  align-items: start;
}

.group-entities-page-template .standards-heading {
  margin-bottom: 0;
}

.group-entities-page-template .standards-body {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.group-entities-page-template .standards-body-spaced {
  margin-top: 24px;
}

.group-entities-page-template .standards-body p {
  font-size: 14px;
  font-weight: 400;
  line-height: 1.85;
  color: var(--t2);
  margin-bottom: 0;
}

.group-entities-page-template .standards-pillars {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1px;
  margin-top: 52px;
  background: var(--rule);
  border: 1px solid var(--rule);
}

.group-entities-page-template .pillar-card {
  background: var(--navy-mid);
  padding: 28px 30px;
  transition: background 0.2s ease, border-color 0.2s ease;
  border-top: 2px solid transparent;
}

.group-entities-page-template .pillar-card:hover {
  background: var(--navy-card);
  border-top-color: var(--sky);
}

.group-entities-page-template .pillar-icon {
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--sky);
  margin-bottom: 10px;
}

.group-entities-page-template .pillar-title {
  font-size: 14px;
  font-weight: 600;
  letter-spacing: -0.02em;
  color: var(--t1);
  margin-bottom: 8px;
}

.group-entities-page-template .pillar-desc {
  font-size: 12px;
  color: var(--t2);
  line-height: 1.7;
}

/* =========================================================
   CTA STRIP
========================================================= */

.group-entities-page-template .cta-strip {
  background: var(--navy-mid);
  border-top: 1px solid var(--rule);
  border-bottom: 1px solid var(--rule);
  padding: 0 64px;
}

.group-entities-page-template .cta-strip-inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 24px;
  text-align: center;
  padding: 56px 40px;
  border-left: 0;
  border-top: 3px solid var(--sky);
  max-width: 980px;
  margin: 0 auto;
}

.group-entities-page-template .cta-heading {
  font-size: clamp(20px, 2.2vw, 28px);
  font-weight: 600;
  letter-spacing: -0.02em;
  color: var(--t1);
  margin-bottom: 8px;
  line-height: 1.2;
}

.group-entities-page-template .cta-sub {
  font-size: 14px;
  font-weight: 400;
  color: var(--t2);
  line-height: 1.6;
  max-width: 620px;
  margin: 0 auto;
}

.group-entities-page-template .cta-actions {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  flex-wrap: wrap;
  width: 100%;
}

/* =========================================================
   ENTITIES CTA BLOCKS
========================================================= */

.group-entities-page-template .entities-inline-cta {
  padding: 64px;
  border-bottom: 1px solid var(--rule);
  background: var(--navy-mid);
}

.group-entities-page-template .entities-inline-cta-inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 22px;
  text-align: center;
  max-width: 900px;
  margin: 0 auto;
}

.group-entities-page-template .entities-inline-cta-text {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}

.group-entities-page-template .entities-inline-cta-text h3 {
  font-size: 28px;
  letter-spacing: -0.02em;
  margin-bottom: 10px;
}

.group-entities-page-template .entities-inline-cta-text p {
  font-size: 14px;
  color: var(--t2);
  max-width: 620px;
  line-height: 1.7;
  margin: 0 auto;
}

.group-entities-page-template .entities-inline-cta-actions {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
  width: 100%;
}

/* Secondary CTA */

.group-entities-page-template .entities-secondary-cta {
  padding: 80px 64px;
  background: linear-gradient(
    180deg,
    rgba(10,18,31,1) 0%,
    rgba(13,21,36,1) 100%
  );
  border-top: 1px solid var(--rule);
  border-bottom: 1px solid var(--rule);
  text-align: center;
}

.group-entities-page-template .entities-secondary-cta-inner {
  max-width: 760px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}

.group-entities-page-template .entities-secondary-cta h3 {
  font-size: 34px;
  margin-bottom: 14px;
  letter-spacing: -0.02em;
}

.group-entities-page-template .entities-secondary-cta p {
  font-size: 14px;
  color: var(--t2);
  line-height: 1.8;
  margin-bottom: 28px;
  max-width: 640px;
}

.group-entities-page-template .entities-secondary-actions {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
  width: 100%;
}

/* =========================================================
   ANIMATIONS
========================================================= */

@keyframes fadeUp {
  from {
    opacity: 0;
    transform: translateY(16px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes floatOrb {
  0%, 100% {
    transform: translateY(0px) translateX(0px);
  }
  50% {
    transform: translateY(-12px) translateX(8px);
  }
}

@keyframes pulseDot {
  0%, 100% {
    transform: scale(1);
    opacity: 1;
  }
  50% {
    transform: scale(1.08);
    opacity: 0.92;
  }
}

@keyframes rippleDot {
  0% {
    transform: scale(1);
    opacity: 0;
  }
  20% {
    opacity: 0.5;
  }
  100% {
    transform: scale(3.2);
    opacity: 0;
  }
}

@keyframes pulseLine {
  0%, 100% {
    opacity: 0.55;
  }
  50% {
    opacity: 1;
  }
}

@keyframes travelLine {
  0% {
    transform: translateX(-120%);
  }
  100% {
    transform: translateX(120%);
  }
}

.group-entities-page-template .reveal {
  opacity: 1;
  transform: translateY(0);
  transition: opacity 0.55s ease, transform 0.55s ease;
}

.js-loaded .group-entities-page-template .reveal {
  opacity: 0;
  transform: translateY(14px);
}

.js-loaded .group-entities-page-template .reveal.visible {
  opacity: 1;
  transform: translateY(0);
}

.group-entities-page-template .entity-delay-1,
.group-entities-page-template .reg-delay-1 {
  transition-delay: 0.07s;
}

.group-entities-page-template .entity-delay-2,
.group-entities-page-template .reg-delay-2 {
  transition-delay: 0.14s;
}

.group-entities-page-template .reg-delay-3 {
  transition-delay: 0.21s;
}

/* =========================================================
   RESPONSIVE
========================================================= */

@media (max-width: 1200px) {
  .group-entities-page-template .entities-hero-inner,
  .group-entities-page-template .footprint-intro,
  .group-entities-page-template .intro-section,
  .group-entities-page-template .standards-section {
    grid-template-columns: 1fr;
    gap: 40px;
  }

  .group-entities-page-template .hero-reg-strip,
  .group-entities-page-template .footprint-stats {
    grid-template-columns: 1fr;
  }

  .group-entities-page-template .entities-grid {
    grid-template-columns: 1fr;
  }

  .group-entities-page-template .standards-pillars {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 1100px) {
  .group-entities-page-template .entities-hero,
  .group-entities-page-template .footprint-section,
  .group-entities-page-template .intro-section,
  .group-entities-page-template .entities-section,
  .group-entities-page-template .standards-section,
  .group-entities-page-template .cta-strip,
  .group-entities-page-template .entities-inline-cta,
  .group-entities-page-template .entities-secondary-cta {
    padding-left: 32px;
    padding-right: 32px;
  }

  .group-entities-page-template .cta-strip-inner {
    padding: 48px 28px;
  }

  .group-entities-page-template .map-node-london {
    top: 120px;
    left: 39%;
  }

  .group-entities-page-template .map-node-dubai {
    top: 252px;
    left: 58%;
  }

  .group-entities-page-template .map-node-us {
    top: 178px;
    left: 8%;
  }

  .group-entities-page-template .map-node-canada {
    top: 34px;
    left: 14%;
  }

  .group-entities-page-template .core-line-1 {
    width: 180px;
    left: 37%;
  }

  .group-entities-page-template .core-line-2 {
    width: 230px;
    left: 37%;
  }

  .group-entities-page-template .core-line-3 {
    width: 170px;
    left: 19%;
  }
}

@media (max-width: 767px) {
  .group-entities-page-template .entities-hero {
    padding: 96px 20px 28px;
  }

  .group-entities-page-template .entities-hero-inner {
    padding-top: 28px;
    margin-bottom: 18px;
  }

  .group-entities-page-template .footprint-section,
  .group-entities-page-template .intro-section,
  .group-entities-page-template .entities-section,
  .group-entities-page-template .standards-section,
  .group-entities-page-template .entities-inline-cta,
  .group-entities-page-template .entities-secondary-cta {
    padding: 64px 20px;
  }

  .group-entities-page-template .cta-strip {
    padding: 0 20px;
  }

  .group-entities-page-template .entities-hero h1 {
    font-size: clamp(34px, 10vw, 52px);
  }

  .group-entities-page-template .entities-hero-actions,
  .group-entities-page-template .cta-actions,
  .group-entities-page-template .entities-inline-cta-actions,
  .group-entities-page-template .entities-secondary-actions {
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 100%;
  }

  .group-entities-page-template .entities-hero-panel {
    padding: 22px 20px;
  }

  .group-entities-page-template .hero-reg-card,
  .group-entities-page-template .entity-card {
    padding: 28px 22px;
  }

  .group-entities-page-template .footprint-map-wrap,
  .group-entities-page-template .footprint-map {
    min-height: 540px;
  }

  .group-entities-page-template .map-node-london {
    top: 100px;
    left: 48%;
  }

  .group-entities-page-template .map-node-dubai {
    top: 346px;
    left: 55%;
  }

  .group-entities-page-template .map-node-us {
    top: 248px;
    left: 6%;
  }

  .group-entities-page-template .map-node-canada {
    top: 48px;
    left: 8%;
  }

  .group-entities-page-template .map-card {
    min-width: 132px;
    max-width: 144px;
    left: 18px;
    padding: 12px 12px;
  }

  .group-entities-page-template .map-card-title {
    font-size: 14px;
  }

  .group-entities-page-template .core-line-1 {
    width: 95px;
    top: 135px;
    left: 35%;
  }

  .group-entities-page-template .core-line-2 {
    width: 170px;
    top: 152px;
    left: 38%;
  }

  .group-entities-page-template .core-line-3 {
    width: 120px;
    top: 158px;
    left: 18%;
  }

  .group-entities-page-template .standards-pillars {
    grid-template-columns: 1fr;
  }

  .group-entities-page-template .entity-reg-row {
    flex-direction: column;
    gap: 4px;
  }

  .group-entities-page-template .entity-reg-label {
    min-width: 0;
  }

  .group-entities-page-template .cta-strip-inner {
    padding: 32px 20px;
  }

  .group-entities-page-template .entities-inline-cta-text h3,
  .group-entities-page-template .entities-secondary-cta h3 {
    font-size: 26px;
  }

  .group-entities-page-template .btn-primary,
  .group-entities-page-template .btn-ghost {
    width: 100%;
    max-width: 320px;
  }
}

/* =========================================================
   MARKETS PAGE TEMPLATE
========================================================= */

.markets-page-template {
  --ink: #080c18;
  --navy: #0c1424;
  --navy-mid: #111d30;
  --navy-card: #152340;
  --slate: #1b2a42;

  --sapphire: #004fac;
  --sapphire-mid: #12469b;
  --sky: #6bb0ff;
  --sky-dim: rgba(107,176,255,0.12);

  --t1: #f0f2f5;
  --t2: #8a97a8;
  --t3: #4a5868;

  --rule: rgba(255,255,255,0.07);
  --rule-mid: rgba(255,255,255,0.12);

  color: var(--t1);
  background: var(--ink);
  overflow-x: hidden;
}

/* =========================================================
   GLOBAL
========================================================= */

.markets-page-template * {
  box-sizing: border-box;
}

.markets-page-template section {
  position: relative;
}

.markets-page-template em {
  font-style: italic;
}

.markets-page-template .reveal {
  opacity: 1;
  transform: translateY(0);
  transition: opacity 0.55s ease, transform 0.55s ease;
}

.js-loaded .markets-page-template .reveal {
  opacity: 0;
  transform: translateY(14px);
}

.js-loaded .markets-page-template .reveal.visible {
  opacity: 1;
  transform: translateY(0);
}

@keyframes marketsFadeUp {
  from {
    opacity: 0;
    transform: translateY(16px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* =========================================================
   HERO
========================================================= */

.markets-page-template .page-hero {
  min-height: 56vh;
  display: flex;
  align-items: flex-end;
  padding: 128px 64px 72px;
  overflow: hidden;
  border-bottom: 1px solid var(--rule);
}

.markets-page-template .page-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(ellipse 60% 70% at 60% 40%, rgba(0,79,172,0.1) 0%, transparent 60%),
    linear-gradient(170deg, #080c18 0%, #0c1422 100%);
}

.markets-page-template .hero-grid-bg {
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(rgba(255,255,255,0.018) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,0.018) 1px, transparent 1px);
  background-size: 72px 72px;
}

.markets-page-template .hero-inner {
  position: relative;
  z-index: 2;
  width: 100%;
  display: grid;
  grid-template-columns: 1fr 360px;
  gap: 80px;
  align-items: end;
}

.markets-page-template .page-eyebrow {
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--sky);
  margin-bottom: 16px;
  display: flex;
  align-items: center;
  gap: 10px;
  animation: marketsFadeUp 0.8s ease both;
}

.markets-page-template .page-eyebrow::before {
  content: "";
  width: 20px;
  height: 1px;
  background: var(--sky);
}

.markets-page-template .page-hero h1 {
  font-size: clamp(38px, 5.5vw, 70px);
  font-weight: 600;
  letter-spacing: -0.03em;
  line-height: 1.04;
  animation: marketsFadeUp 0.9s 0.1s ease both;
}

.markets-page-template .page-hero h1 em {
  font-style: italic;
  font-weight: 300;
}

.markets-page-template .page-hero-lead {
  font-size: 15px;
  color: var(--t2);
  line-height: 1.8;
  margin-top: 18px;
  max-width: 580px;
  animation: marketsFadeUp 1s 0.2s ease both;
}

/* Hero stats */
.markets-page-template .hero-stats {
  display: flex;
  align-items: center;
  gap: 36px;
  margin-top: 36px;
  padding-top: 28px;
  border-top: 1px solid var(--rule);
  animation: marketsFadeUp 1.1s 0.3s ease both;
  flex-wrap: wrap;
}

.markets-page-template .hero-stat {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.markets-page-template .hero-stat-val {
  font-size: 24px;
  font-weight: 600;
  letter-spacing: -0.03em;
  color: var(--t1);
  line-height: 1;
}

.markets-page-template .hero-stat-lbl {
  font-size: 10px;
  font-weight: 500;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--t3);
}

.markets-page-template .hero-stat-div {
  width: 1px;
  height: 30px;
  background: var(--rule-mid);
  flex-shrink: 0;
}

/* Hero jump pills */
.markets-page-template .hero-regions {
  animation: marketsFadeUp 1s 0.28s ease both;
}

.markets-page-template .hero-regions-label {
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--t3);
  margin-bottom: 14px;
}

.markets-page-template .hero-region-pills {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.markets-page-template .hero-region-pill {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 12px 16px;
  background: rgba(255,255,255,0.03);
  border: 1px solid var(--rule);
  cursor: pointer;
  transition: background 0.15s, border-color 0.15s;
  text-decoration: none;
}

.markets-page-template .hero-region-pill:hover {
  background: var(--sky-dim);
  border-color: rgba(107,176,255,0.25);
}

.markets-page-template .hero-region-pill-name {
  font-size: 12px;
  font-weight: 500;
  color: var(--t1);
}

.markets-page-template .hero-region-pill-count {
  font-size: 10px;
  color: var(--sky);
  font-weight: 600;
  letter-spacing: 0.06em;
}

/* =========================================================
   MAP SECTION
========================================================= */

.markets-page-template .map-section {
  background: var(--ink);
  border-bottom: 1px solid var(--rule);
  padding: 56px 64px 64px;
}

.markets-page-template .map-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  margin-bottom: 32px;
  gap: 24px;
  flex-wrap: wrap;
}

.markets-page-template .map-header-left h2 {
  font-size: clamp(22px, 2.5vw, 32px);
  font-weight: 600;
  letter-spacing: -0.025em;
  margin-bottom: 8px;
}

.markets-page-template .map-header-left h2 em {
  font-style: italic;
  font-weight: 300;
}

.markets-page-template .map-header-left p {
  font-size: 13px;
  color: var(--t2);
}

.markets-page-template .map-controls {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}

.markets-page-template .map-filter-btn {
  appearance: none;
  border: 1px solid var(--rule-mid);
  background: rgba(255,255,255,0.03);
  color: var(--t2);
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  padding: 10px 14px;
  cursor: pointer;
  transition: all 0.2s ease;
}

.markets-page-template .map-filter-btn:hover {
  color: var(--t1);
  border-color: rgba(107,176,255,0.25);
  background: rgba(107,176,255,0.08);
}

.markets-page-template .map-filter-btn.active {
  color: var(--ink);
  background: var(--sky);
  border-color: var(--sky);
}

/* Layout */
.markets-page-template .map-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 340px;
  gap: 20px;
  align-items: stretch;
}

.markets-page-template .map-sidebar {
  display: flex;
  flex-direction: column;
  gap: 16px;
  min-width: 0;
  height: 520px;
  min-height: 520px;
}

/* Map canvas */
.markets-page-template .map-canvas-wrap {
  border: 1px solid rgba(255,255,255,0.12);
  background:
    radial-gradient(circle at 55% 45%, rgba(0,79,172,0.08) 0%, transparent 42%),
    #0c1424;
  overflow: hidden;
  position: relative;
  height: 520px;
  min-width: 0;
}

.markets-page-template #map-canvas {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

.markets-page-template #map-overlay {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  overflow: visible;
}

/* Tooltip */
.markets-page-template .map-tooltip {
  position: absolute;
  pointer-events: none;
  background: #111d30;
  border: 1px solid rgba(107,176,255,0.3);
  padding: 12px 18px;
  min-width: 190px;
  opacity: 0;
  transition: opacity 0.15s;
  z-index: 30;
}

.markets-page-template .map-tooltip.visible {
  opacity: 1;
}

.markets-page-template .map-tooltip-city {
  font-size: 14px;
  font-weight: 600;
  color: #f0f2f5;
  margin-bottom: 3px;
}

.markets-page-template .map-tooltip-country {
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #6bb0ff;
  margin-bottom: 6px;
}

.markets-page-template .map-tooltip-region {
  font-size: 11px;
  color: #4a5868;
}

.markets-page-template .map-tooltip-hq {
  display: inline-block;
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: #080c18;
  background: #6bb0ff;
  padding: 2px 8px;
  margin-top: 6px;
}

/* Side panel */
.markets-page-template .map-sidepanel {
  position: relative;
  inset: auto;
  width: 100%;
  z-index: 1;
  flex: 0 0 auto;
}

.markets-page-template .map-sidepanel-inner {
  background: rgba(12,20,36,0.9);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border: 1px solid rgba(255,255,255,0.08);
  padding: 18px 18px 16px;
}

.markets-page-template .map-sidepanel-label {
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--t3);
  margin-bottom: 12px;
}

.markets-page-template .map-sidepanel-city {
  font-size: 24px;
  font-weight: 600;
  letter-spacing: -0.03em;
  color: var(--t1);
  line-height: 1.05;
}

.markets-page-template .map-sidepanel-country {
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--sky);
  margin-top: 8px;
}

.markets-page-template .map-sidepanel-meta {
  font-size: 12px;
  color: var(--t2);
  line-height: 1.7;
  margin-top: 8px;
}

.markets-page-template .map-sidepanel-badge {
  display: inline-flex;
  align-items: center;
  margin-top: 14px;
  min-height: 28px;
  padding: 6px 10px;
  border: 1px solid rgba(107,176,255,0.22);
  background: rgba(107,176,255,0.12);
  color: var(--sky);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

/* Office list */
.markets-page-template .map-office-list {
  border: 1px solid rgba(255,255,255,0.08);
  background: rgba(255,255,255,0.02);
  overflow-x: hidden;
  overflow-y: auto;
  flex: 1 1 auto;
  min-height: 0;
  scrollbar-width: thin;
  scrollbar-color: rgba(107,176,255,0.32) rgba(255,255,255,0.03);
}

.markets-page-template .map-office-list::-webkit-scrollbar {
  width: 8px;
}

.markets-page-template .map-office-list::-webkit-scrollbar-track {
  background: rgba(255,255,255,0.03);
}

.markets-page-template .map-office-list::-webkit-scrollbar-thumb {
  background: rgba(107,176,255,0.32);
  border-radius: 999px;
}

.markets-page-template .map-office-item {
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  text-align: left;
  padding: 14px 16px;
  border: 0;
  border-bottom: 1px solid rgba(255,255,255,0.06);
  background: transparent;
  cursor: pointer;
  transition: background 0.2s ease, border-color 0.2s ease;
}

.markets-page-template .map-office-item:last-child {
  border-bottom: 0;
}

.markets-page-template .map-office-item:hover,
.markets-page-template .map-office-item.is-active {
  background: rgba(107,176,255,0.08);
}

.markets-page-template .map-office-item-main {
  display: flex;
  flex-direction: column;
  gap: 4px;
  min-width: 0;
}

.markets-page-template .map-office-item-city {
  font-size: 13px;
  font-weight: 600;
  color: var(--t1);
}

.markets-page-template .map-office-item-country {
  font-size: 11px;
  color: var(--t2);
}

.markets-page-template .map-office-item-badge {
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--sky);
  white-space: nowrap;
  flex-shrink: 0;
  text-align: right;
}

/* Map nodes */
.markets-page-template .map-node {
  pointer-events: auto;
  cursor: pointer;
}

.markets-page-template .map-node.is-dim {
  opacity: 0.22;
}

.markets-page-template .map-node.is-active {
  opacity: 1;
}

.markets-page-template .map-node-label {
  transition: opacity 0.2s ease, transform 0.2s ease;
}

.markets-page-template .map-node.is-active .map-dot-core {
  filter: drop-shadow(0 0 8px rgba(107,176,255,0.7));
}

.markets-page-template .map-dot-pulse {
  animation: mapPulse 2.2s ease-out infinite;
  transform-origin: center;
}

@keyframes mapPulse {
  0% {
    opacity: 0.55;
    transform: scale(0.9);
  }
  70% {
    opacity: 0;
    transform: scale(1.9);
  }
  100% {
    opacity: 0;
    transform: scale(1.9);
  }
}

/* =========================================================
   REGIONS SECTION
========================================================= */

.markets-page-template .regions-section {
  background: var(--ink);
  border-bottom: 1px solid var(--rule);
}

.markets-page-template .region-tab-strip {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  border-bottom: 1px solid var(--rule);
}

.markets-page-template .region-tab-btn {
  padding: 24px 32px;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--t3);
  background: var(--navy);
  border: none;
  border-right: 1px solid var(--rule);
  cursor: pointer;
  transition: all 0.2s;
  text-align: left;
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.markets-page-template .region-tab-btn:last-child {
  border-right: none;
}

.markets-page-template .region-tab-btn-count {
  font-size: 22px;
  font-weight: 600;
  letter-spacing: -0.03em;
  color: var(--t3);
  line-height: 1;
  transition: color 0.2s;
}

.markets-page-template .region-tab-btn:hover {
  background: var(--navy-mid);
  color: var(--t2);
}

.markets-page-template .region-tab-btn.active {
  background: var(--ink);
  color: var(--sky);
  border-bottom: 2px solid var(--sky);
  margin-bottom: -1px;
}

.markets-page-template .region-tab-btn.active .region-tab-btn-count {
  color: var(--t1);
}

.markets-page-template .region-panel {
  display: none;
}

.markets-page-template .region-panel.active {
  display: grid;
  grid-template-columns: 380px 1fr;
  min-height: 440px;
}

.markets-page-template .region-panel-left {
  padding: 52px 52px 52px 64px;
  background: var(--ink);
  border-right: 1px solid var(--rule);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.markets-page-template .region-panel-tag {
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--sky);
  margin-bottom: 12px;
}

.markets-page-template .region-panel-heading {
  font-size: clamp(22px, 2.5vw, 32px);
  font-weight: 600;
  letter-spacing: -0.025em;
  line-height: 1.15;
  margin-bottom: 20px;
}

.markets-page-template .region-panel-heading em {
  font-style: italic;
  font-weight: 300;
}

.markets-page-template .region-panel-desc {
  font-size: 13px;
  color: var(--t2);
  line-height: 1.85;
}

.markets-page-template .region-panel-desc + .region-panel-desc {
  margin-top: 12px;
}

.markets-page-template .region-panel-offices-count {
  margin-top: 28px;
  padding-top: 24px;
  border-top: 1px solid var(--rule);
}

.markets-page-template .region-offices-num {
  font-size: 36px;
  font-weight: 600;
  letter-spacing: -0.04em;
  color: var(--t1);
  line-height: 1;
}

.markets-page-template .region-offices-label {
  font-size: 10px;
  font-weight: 500;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--t3);
  margin-top: 4px;
}

.markets-page-template .region-panel-right {
  background: var(--navy);
  display: flex;
  flex-direction: column;
}

.markets-page-template .region-country-row {
  display: grid;
  grid-template-columns: 52px 1fr 1fr auto;
  align-items: center;
  padding: 20px 40px 20px 32px;
  border-bottom: 1px solid var(--rule);
  gap: 16px;
  transition: background 0.15s;
  position: relative;
  overflow: hidden;
}

.markets-page-template .region-country-row::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 2px;
  background: var(--sky);
  transform: scaleY(0);
  transform-origin: top;
  transition: transform 0.25s;
}

.markets-page-template .region-country-row:hover {
  background: var(--navy-mid);
}

.markets-page-template .region-country-row:hover::before {
  transform: scaleY(1);
}

.markets-page-template .region-country-row:last-child {
  border-bottom: none;
}

.markets-page-template .region-country-flag {
  font-size: 28px;
}

.markets-page-template .region-country-name {
  font-size: 14px;
  font-weight: 600;
  letter-spacing: -0.015em;
  color: var(--t1);
}

.markets-page-template .region-country-city {
  font-size: 12px;
  color: var(--t3);
  display: flex;
  align-items: center;
  gap: 6px;
}

.markets-page-template .region-country-city::before {
  content: "";
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: var(--sky);
  opacity: 0.5;
  flex-shrink: 0;
}

.markets-page-template .region-country-status {
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--t3);
  border: 1px solid var(--rule);
  padding: 3px 10px;
  text-align: right;
  white-space: nowrap;
}

.markets-page-template .region-country-status.highlight {
  color: var(--sky);
  border-color: rgba(107,176,255,0.25);
  background: var(--sky-dim);
}

/* =========================================================
   CORRIDORS
========================================================= */

.markets-page-template .corridors-section {
  padding: 88px 64px;
  background: var(--navy);
  border-bottom: 1px solid var(--rule);
}

.markets-page-template .corridors-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: 24px;
  margin-bottom: 52px;
}

.markets-page-template .corridors-header-left h2 {
  font-size: clamp(22px, 2.5vw, 34px);
  font-weight: 600;
  letter-spacing: -0.025em;
}

.markets-page-template .corridors-header-left h2 em {
  font-style: italic;
  font-weight: 300;
}

.markets-page-template .corridors-header-right {
  font-size: 13px;
  color: var(--t2);
  line-height: 1.75;
  max-width: 420px;
  text-align: right;
}

.markets-page-template .section-eyebrow {
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--sky);
  margin-bottom: 10px;
  display: flex;
  align-items: center;
  gap: 10px;
}

.markets-page-template .section-eyebrow span {
  width: 20px;
  height: 1px;
  background: var(--sky);
  display: inline-block;
}

.markets-page-template .corridor-flow {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1px;
  background: var(--rule);
  border: 1px solid var(--rule);
}

.markets-page-template .corridor-card {
  background: var(--navy-mid);
  padding: 32px 28px;
  display: flex;
  flex-direction: column;
  gap: 14px;
  position: relative;
  overflow: hidden;
  transition: background 0.2s;
}

.markets-page-template .corridor-card::after {
  content: "";
  position: absolute;
  inset: 0 0 auto 0;
  height: 2px;
  background: var(--sky);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.3s;
}

.markets-page-template .corridor-card:hover {
  background: var(--navy-card);
}

.markets-page-template .corridor-card:hover::after {
  transform: scaleX(1);
}

.markets-page-template .corridor-icon {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.1em;
  color: var(--sky);
}

.markets-page-template .corridor-route {
  font-size: 16px;
  font-weight: 600;
  letter-spacing: -0.02em;
  color: var(--t1);
  line-height: 1.3;
}

.markets-page-template .corridor-route em {
  font-style: italic;
  font-weight: 300;
  display: block;
  margin-top: 2px;
}

.markets-page-template .corridor-detail {
  font-size: 12px;
  color: var(--t3);
  line-height: 1.7;
}

/* =========================================================
   CTA BANDS
========================================================= */

.markets-page-template .markets-cta-band {
  margin-top: 24px;
  padding: 28px 32px;
  border: 1px solid var(--rule);
  background:
    linear-gradient(135deg, rgba(107,176,255,0.08) 0%, rgba(255,255,255,0.02) 100%),
    var(--navy);
  display: grid;
  grid-template-columns: 1.2fr auto;
  gap: 24px;
  align-items: center;
}

.markets-page-template .markets-cta-band-eyebrow {
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--sky);
  margin-bottom: 10px;
}

.markets-page-template .markets-cta-band h3 {
  font-size: clamp(20px, 2.2vw, 28px);
  font-weight: 600;
  letter-spacing: -0.025em;
  margin-bottom: 10px;
  color: var(--t1);
}

.markets-page-template .markets-cta-band p {
  font-size: 13px;
  line-height: 1.8;
  color: var(--t2);
  max-width: 640px;
}

.markets-page-template .markets-cta-band-actions {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  justify-content: flex-end;
  align-items: center;
}

.markets-page-template .corridors-cta-row {
  display: flex;
  gap: 12px;
  margin-top: 28px;
  flex-wrap: wrap;
}

/* =========================================================
   CLOSING
========================================================= */

.markets-page-template .closing-section {
  padding: 96px 64px;
  background: var(--ink);
  border-bottom: 1px solid var(--rule);
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 96px;
  align-items: center;
}

.markets-page-template .closing-pull {
  font-size: clamp(22px, 2.8vw, 36px);
  font-weight: 300;
  font-style: italic;
  line-height: 1.45;
  color: var(--t1);
  letter-spacing: -0.02em;
  padding-left: 28px;
  border-left: 2px solid var(--sky);
}

.markets-page-template .closing-body {
  font-size: 14px;
  color: var(--t2);
  line-height: 1.85;
}

.markets-page-template .closing-cta-row {
  display: flex;
  gap: 12px;
  margin-top: 28px;
  flex-wrap: wrap;
}

/* =========================================================
   BUTTONS
========================================================= */

.markets-page-template .btn-primary,
.markets-page-template .btn-ghost {
  min-height: 48px;
  padding: 13px 22px;
  text-decoration: none;
  text-align: center;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  vertical-align: middle;
  white-space: nowrap;
}

.markets-page-template .btn-primary {
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--ink);
  background: var(--sky);
  border: 1px solid var(--sky);
  transition: background 0.15s, color 0.15s, border-color 0.15s;
}

.markets-page-template .btn-primary:hover {
  background: #4a9aef;
  color: var(--t1);
  border-color: #4a9aef;
}

.markets-page-template .btn-ghost {
  font-size: 11px;
  font-weight: 500;
  color: var(--t2);
  gap: 8px;
  border: 1px solid var(--rule-mid);
  transition: color 0.15s, border-color 0.15s, background 0.15s;
}

.markets-page-template .btn-ghost:hover {
  color: var(--t1);
  border-color: rgba(255,255,255,0.2);
  background: rgba(255,255,255,0.03);
}

.markets-page-template .btn-ghost::after {
  content: "\2192";
  transition: transform 0.2s;
}

.markets-page-template .btn-ghost:hover::after {
  transform: translateX(3px);
}

/* =========================================================
   RESPONSIVE
========================================================= */

@media (max-width: 1100px) {
  .markets-page-template .page-hero {
    padding: 120px 32px 64px;
  }

  .markets-page-template .hero-inner {
    grid-template-columns: 1fr;
  }

  .markets-page-template .hero-regions {
    display: none;
  }

  .markets-page-template .map-section {
    padding: 40px 32px 48px;
  }

  .markets-page-template .map-layout {
    grid-template-columns: 1fr;
  }

  .markets-page-template .map-sidebar {
    height: auto;
    min-height: 0;
  }

  .markets-page-template .map-canvas-wrap {
    height: 420px;
  }

  .markets-page-template .map-header {
    flex-direction: column;
    align-items: flex-start;
    gap: 16px;
    margin-bottom: 24px;
  }

  .markets-page-template .map-office-list {
    max-height: 360px;
  }

  .markets-page-template .region-tab-strip {
    grid-template-columns: repeat(2, 1fr);
  }

  .markets-page-template .region-panel.active {
    grid-template-columns: 1fr;
  }

  .markets-page-template .region-panel-left {
    padding: 40px 32px;
  }

  .markets-page-template .region-country-row {
    padding: 16px 24px;
  }

  .markets-page-template .corridors-section {
    padding: 64px 32px;
  }

  .markets-page-template .corridors-header {
    flex-direction: column;
    align-items: flex-start;
    gap: 16px;
  }

  .markets-page-template .corridors-header-right {
    text-align: left;
    max-width: none;
  }

  .markets-page-template .corridor-flow {
    grid-template-columns: 1fr 1fr;
  }

  .markets-page-template .markets-cta-band {
    grid-template-columns: 1fr;
    align-items: flex-start;
  }

  .markets-page-template .markets-cta-band-actions {
    justify-content: flex-start;
  }

  .markets-page-template .closing-section {
    padding: 72px 32px;
    grid-template-columns: 1fr;
    gap: 44px;
  }
}

@media (max-width: 820px) {
  .markets-page-template .map-canvas-wrap {
    height: 360px;
  }

  .markets-page-template .map-sidepanel-city {
    font-size: 20px;
  }

  .markets-page-template .map-office-list {
    max-height: 320px;
  }
}

@media (max-width: 640px) {
  .markets-page-template .page-hero {
    padding: 100px 20px 52px;
  }

  .markets-page-template .hero-stats {
    gap: 20px;
  }

  .markets-page-template .hero-stat-div {
    display: none;
  }

  .markets-page-template .map-section {
    padding: 32px 20px 48px;
  }

  .markets-page-template .map-canvas-wrap {
    height: 320px;
  }

  .markets-page-template .map-controls {
    gap: 6px;
  }

  .markets-page-template .map-filter-btn {
    font-size: 9px;
    padding: 9px 10px;
  }

  .markets-page-template .map-sidepanel-inner {
    padding: 14px;
  }

  .markets-page-template .map-sidepanel-city {
    font-size: 18px;
  }

  .markets-page-template .map-office-item {
    padding: 12px 14px;
  }

  .markets-page-template .map-office-item-badge {
    font-size: 8px;
  }

  .markets-page-template .map-office-list {
    max-height: 280px;
  }

  .markets-page-template .region-tab-strip {
    grid-template-columns: 1fr 1fr;
  }

  .markets-page-template .region-tab-btn {
    padding: 16px 18px;
  }

  .markets-page-template .region-country-row {
    grid-template-columns: 40px 1fr;
    padding: 14px 20px;
  }

  .markets-page-template .region-country-city,
  .markets-page-template .region-country-status {
    display: none;
  }

  .markets-page-template .corridor-flow {
    grid-template-columns: 1fr;
  }

  .markets-page-template .corridors-section,
  .markets-page-template .closing-section {
    padding: 56px 20px;
  }

  .markets-page-template .markets-cta-band {
    padding: 22px 18px;
  }

  .markets-page-template .markets-cta-band-actions,
  .markets-page-template .corridors-cta-row,
  .markets-page-template .closing-cta-row {
    flex-direction: column;
    align-items: stretch;
  }

  .markets-page-template .btn-primary,
  .markets-page-template .btn-ghost {
    justify-content: center;
    text-align: center;
  }
}

/* =========================================================
   SERVICES OVERVIEW PAGE TEMPLATE
========================================================= */

.services-overview-page-template {
  --ink: #080c18;
  --navy: #0c1424;
  --navy-mid: #111d30;
  --navy-card: #152340;

  --t1: #f0f2f5;
  --t2: #8a97a8;
  --t3: #4a5868;

  --rule: rgba(255,255,255,0.07);
  --rule-mid: rgba(255,255,255,0.12);

  --sky: #6BB0FF;
  --sky-dim: rgba(107,176,255,0.10);
  --sapphire: #004FAC;

  color: var(--t1);
  background: var(--ink);
  overflow: hidden;
}

.services-overview-page-template *,
.services-overview-page-template *::before,
.services-overview-page-template *::after {
  box-sizing: border-box;
}

.services-overview-page-template a {
  text-decoration: none;
}

.services-overview-page-template svg {
  display: block;
}

/* =========================================================
   HERO
========================================================= */

.services-overview-page-template .page-hero {
  position: relative;
  overflow: hidden;
  margin-top: 110px;
  padding: 100px 64px 0;
  background: var(--ink);
}

.services-overview-page-template .page-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(ellipse 55% 65% at 50% 50%, rgba(0,79,172,0.08) 0%, transparent 65%),
    linear-gradient(170deg, #080c18 0%, #0c1422 100%);
}

.services-overview-page-template .hero-grid-bg {
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(rgba(255,255,255,0.018) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,0.018) 1px, transparent 1px);
  background-size: 72px 72px;
}

.services-overview-page-template .hero-editorial {
  position: relative;
  z-index: 2;
  max-width: 900px;
  margin: 0 auto;
  padding-bottom: 72px;
  text-align: center;
  border-bottom: 1px solid var(--rule);
}

.services-overview-page-template .page-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 20px;
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--sky);
  animation: fadeUp 0.8s ease both;
}

.services-overview-page-template .page-eyebrow::before,
.services-overview-page-template .page-eyebrow::after {
  content: "";
  width: 24px;
  height: 1px;
  background: var(--sky);
}

.services-overview-page-template .page-hero h1 {
  margin-bottom: 24px;
  font-size: clamp(40px, 5.5vw, 76px);
  font-weight: 600;
  letter-spacing: -0.035em;
  line-height: 1.03;
  color: var(--t1);
  animation: fadeUp 0.9s 0.1s ease both;
}

.services-overview-page-template .page-hero h1 em {
  font-style: italic;
  font-weight: 300;
}

.services-overview-page-template .page-hero-lead {
  max-width: 640px;
  margin: 0 auto 36px;
  font-size: 16px;
  line-height: 1.8;
  color: var(--t2);
  animation: fadeUp 1s 0.2s ease both;
}

.services-overview-page-template .hero-ctas {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  animation: fadeUp 1.1s 0.3s ease both;
}

.services-overview-page-template .hero-services-strip {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0;
}

.services-overview-page-template .hero-service-item {
  position: relative;
  overflow: hidden;
  padding: 28px 32px;
  background: var(--navy);
  border-top: 1px solid var(--rule);
  border-right: 1px solid var(--rule);
  transition: background 0.2s ease;
  cursor: pointer;
}

.services-overview-page-template .hero-service-item:last-child {
  border-right: none;
}

.services-overview-page-template .hero-service-item::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 2px;
  background: var(--sky);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.3s ease;
}

.services-overview-page-template .hero-service-item:hover {
  background: var(--navy-mid);
}

.services-overview-page-template .hero-service-item:hover::before {
  transform: scaleX(1);
}

.services-overview-page-template .hero-service-num {
  margin-bottom: 12px;
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--t3);
}

.services-overview-page-template .hero-service-name {
  margin-bottom: 6px;
  font-size: 14px;
  font-weight: 600;
  letter-spacing: -0.01em;
  line-height: 1.3;
  color: var(--t1);
  transition: color 0.2s ease;
}

.services-overview-page-template .hero-service-item:hover .hero-service-name {
  color: var(--sky);
}

.services-overview-page-template .hero-service-brief {
  font-size: 12px;
  line-height: 1.55;
  color: var(--t3);
}

/* =========================================================
   SHARED
========================================================= */

.services-overview-page-template .section-tag {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 14px;
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--sky);
}

.services-overview-page-template .section-tag::before {
  content: "";
  width: 20px;
  height: 1px;
  background: var(--sky);
}

.services-overview-page-template .btn-primary,
.services-overview-page-template .btn-ghost {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  white-space: nowrap;
}

.services-overview-page-template .btn-primary {
  padding: 13px 28px;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--ink);
  background: var(--sky);
  border: 1px solid var(--sky);
  transition: background 0.15s ease, color 0.15s ease;
}

.services-overview-page-template .btn-primary:hover {
  background: #4a9aef;
  color: var(--t1);
}

.services-overview-page-template .btn-ghost {
  gap: 8px;
  padding: 13px 20px;
  font-size: 11px;
  font-weight: 500;
  color: var(--t2);
  border: 1px solid var(--rule-mid);
  transition: color 0.15s ease, border-color 0.15s ease;
}

.services-overview-page-template .btn-ghost::after {
  content: "\2192";
  transition: transform 0.2s ease;
}

.services-overview-page-template .btn-ghost:hover {
  color: var(--t1);
  border-color: rgba(255,255,255,0.18);
}

.services-overview-page-template .btn-ghost:hover::after {
  transform: translateX(3px);
}

/* =========================================================
   INTRO
========================================================= */

.services-overview-page-template .intro-section {
  display: grid;
  grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr);
  gap: 72px;
  align-items: center;
  padding: 88px 64px;
  background: var(--navy);
  border-bottom: 1px solid var(--rule);
  position: relative;
  overflow: hidden;
}

.services-overview-page-template .intro-section::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 72% 48%, rgba(107,176,255,0.08) 0%, transparent 26%),
    radial-gradient(circle at 72% 48%, rgba(212,175,120,0.05) 0%, transparent 40%);
  pointer-events: none;
}

.services-overview-page-template .intro-copy-col,
.services-overview-page-template .intro-visual-col {
  position: relative;
  z-index: 2;
}

.services-overview-page-template .intro-heading {
  font-size: clamp(24px, 2.8vw, 38px);
  font-weight: 600;
  letter-spacing: -0.025em;
  line-height: 1.15;
  color: var(--t1);
  margin-bottom: 22px;
}

.services-overview-page-template .intro-heading em {
  font-style: italic;
  font-weight: 300;
}

.services-overview-page-template .intro-body p {
  margin-bottom: 16px;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.85;
  color: var(--t2);
  max-width: 620px;
}

.services-overview-page-template .intro-body p:last-child {
  margin-bottom: 0;
}

.services-overview-page-template .intro-visual-col {
  display: flex;
  justify-content: center;
  align-items: center;
}

.services-overview-page-template .services-infra-visual {
  width: 100%;
  max-width: 620px;
  margin: 0;
  background: transparent;
  border: 0;
  box-shadow: none;
  padding: 0;
}

.services-overview-page-template .services-infra-visual svg {
  display: block;
  width: 100%;
  height: auto;
}

/* =========================================================
   SERVICES GRID
========================================================= */

.services-overview-page-template .services-section {
  padding: 88px 64px;
  background: var(--ink);
  border-bottom: 1px solid var(--rule);
}

.services-overview-page-template .services-section-header {
  margin-bottom: 52px;
}

.services-overview-page-template .services-heading {
  max-width: 480px;
  font-size: clamp(24px, 2.8vw, 38px);
  font-weight: 600;
  letter-spacing: -0.025em;
  line-height: 1.15;
  color: var(--t1);
}

.services-overview-page-template .services-heading em {
  font-style: italic;
  font-weight: 300;
}

.services-overview-page-template .services-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1px;
  background: var(--rule);
  border: 1px solid var(--rule);
}

.services-overview-page-template .service-card {
  position: relative;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  padding: 52px 48px;
  background: var(--navy-mid);
  transition: background 0.2s ease;
}

.services-overview-page-template .service-card:hover {
  background: var(--navy-card);
}

.services-overview-page-template .service-card::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 2px;
  background: var(--sky);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.35s ease;
}

.services-overview-page-template .service-card:hover::before {
  transform: scaleX(1);
}

.services-overview-page-template .service-num {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 24px;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--t3);
}

.services-overview-page-template .service-num::after {
  content: "";
  flex: 1;
  height: 1px;
  background: var(--rule);
}

.services-overview-page-template .service-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 48px;
  height: 48px;
  margin-bottom: 24px;
  border: 1px solid rgba(107,176,255,0.15);
  background: var(--sky-dim);
}

.services-overview-page-template .service-icon svg {
  width: 22px;
  height: 22px;
  fill: none;
  stroke: var(--sky);
  stroke-width: 1.5;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.services-overview-page-template .service-title {
  margin-bottom: 14px;
  font-size: 22px;
  font-weight: 600;
  letter-spacing: -0.02em;
  line-height: 1.2;
  color: var(--t1);
  transition: color 0.2s ease;
}

.services-overview-page-template .service-card:hover .service-title {
  color: var(--sky);
}

.services-overview-page-template .service-desc {
  margin-bottom: 28px;
  font-size: 13px;
  font-weight: 400;
  line-height: 1.85;
  color: var(--t2);
}

.services-overview-page-template .service-caps {
  display: flex;
  flex-direction: column;
  gap: 0;
  margin-bottom: 32px;
  padding-top: 20px;
  border-top: 1px solid var(--rule);
}

.services-overview-page-template .service-cap {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 8px 0;
  border-bottom: 1px solid var(--rule);
  font-size: 12px;
  color: var(--t2);
}

.services-overview-page-template .service-cap:last-child {
  border-bottom: none;
}

.services-overview-page-template .service-cap::before {
  content: "";
  flex-shrink: 0;
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: var(--sky);
  opacity: 0.6;
}

.services-overview-page-template .service-link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-top: auto;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--sky);
  transition: gap 0.2s ease;
}

.services-overview-page-template .service-card:hover .service-link {
  gap: 12px;
}

.services-overview-page-template .service-dkk-link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-top: auto;
  font-size: 12px;
  font-weight: 500;
  color: var(--sky);
  border-bottom: 1px solid rgba(107,176,255,0.3);
  transition: border-color 0.2s ease, color 0.2s ease;
}

.services-overview-page-template .service-dkk-link:hover {
  border-color: var(--sky);
}

/* =========================================================
   SERVICES CTA
========================================================= */

.services-overview-page-template .services-section-cta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 40px;
  margin-top: 36px;
  padding: 32px 34px;
  border: 1px solid var(--rule);
  background: linear-gradient(180deg, rgba(17,29,48,0.78) 0%, rgba(12,20,36,0.92) 100%);
}

.services-overview-page-template .services-section-cta-copy h3 {
  margin: 0 0 10px;
  font-size: clamp(20px, 2vw, 28px);
  font-weight: 600;
  letter-spacing: -0.025em;
  line-height: 1.18;
  color: var(--t1);
}

.services-overview-page-template .services-section-cta-copy h3 em {
  font-style: italic;
  font-weight: 300;
}

.services-overview-page-template .services-section-cta-copy p {
  max-width: 760px;
  margin: 0;
  font-size: 14px;
  line-height: 1.8;
  color: var(--t2);
}

.services-overview-page-template .services-section-cta-actions {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-shrink: 0;
}

/* =========================================================
   CLIENTS
========================================================= */

.services-overview-page-template .clients-section {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 96px;
  align-items: start;
  padding: 88px 64px;
  background: var(--navy);
  border-bottom: 1px solid var(--rule);
}

.services-overview-page-template .clients-heading {
  font-size: clamp(24px, 2.8vw, 38px);
  font-weight: 600;
  letter-spacing: -0.025em;
  line-height: 1.15;
  color: var(--t1);
}

.services-overview-page-template .clients-heading em {
  font-style: italic;
  font-weight: 300;
}

.services-overview-page-template .clients-body {
  margin-top: 20px;
}

.services-overview-page-template .clients-body p {
  margin-bottom: 20px;
  font-size: 14px;
  line-height: 1.85;
  color: var(--t2);
}

.services-overview-page-template .clients-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1px;
  margin-top: 4px;
  background: var(--rule);
  border: 1px solid var(--rule);
}

.services-overview-page-template .client-type {
  padding: 22px 24px;
  background: var(--navy-mid);
  border-top: 2px solid transparent;
  transition: background 0.2s ease, border-color 0.2s ease;
}

.services-overview-page-template .client-type:hover {
  background: var(--navy-card);
  border-top-color: var(--sky);
}

.services-overview-page-template .client-type-icon {
  margin-bottom: 8px;
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--sky);
}

.services-overview-page-template .client-type-name {
  font-size: 13px;
  font-weight: 600;
  letter-spacing: -0.01em;
  line-height: 1.3;
  color: var(--t1);
}

.services-overview-page-template .client-type-desc {
  margin-top: 6px;
  font-size: 11px;
  line-height: 1.6;
  color: var(--t3);
}

/* =========================================================
   NETWORK
========================================================= */

.services-overview-page-template .network-section {
  padding: 88px 64px;
  background: var(--ink);
  border-bottom: 1px solid var(--rule);
}

.services-overview-page-template .network-inner {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 96px;
  align-items: center;
}

.services-overview-page-template .network-heading {
  margin-bottom: 20px;
  font-size: clamp(24px, 2.8vw, 38px);
  font-weight: 600;
  letter-spacing: -0.025em;
  line-height: 1.15;
  color: var(--t1);
}

.services-overview-page-template .network-heading em {
  font-style: italic;
  font-weight: 300;
}

.services-overview-page-template .network-body p {
  margin-bottom: 16px;
  font-size: 14px;
  line-height: 1.85;
  color: var(--t2);
}

.services-overview-page-template .network-body p:last-child {
  margin-bottom: 0;
}

.services-overview-page-template .network-actions {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  margin-top: 28px;
}

.services-overview-page-template .network-corridors {
  display: flex;
  flex-direction: column;
  gap: 1px;
  background: var(--rule);
  border: 1px solid var(--rule);
}

.services-overview-page-template .corridor-row {
  position: relative;
  overflow: hidden;
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 18px 24px;
  background: var(--navy-mid);
  transition: background 0.2s ease;
}

.services-overview-page-template .corridor-row::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  width: 2px;
  background: var(--sky);
  transform: scaleY(0);
  transform-origin: top;
  transition: transform 0.25s ease;
}

.services-overview-page-template .corridor-row:hover {
  background: var(--navy-card);
}

.services-overview-page-template .corridor-row:hover::before {
  transform: scaleY(1);
}

.services-overview-page-template .corridor-arrow {
  flex-shrink: 0;
  font-size: 14px;
  font-weight: 300;
  color: var(--sky);
}

.services-overview-page-template .corridor-label {
  font-size: 13px;
  font-weight: 500;
  letter-spacing: -0.01em;
  color: var(--t1);
}

.services-overview-page-template .corridor-detail {
  margin-top: 2px;
  font-size: 11px;
  color: var(--t3);
}

/* =========================================================
   CTA
========================================================= */

.services-overview-page-template .cta-strip {
  padding: 0 64px;
  background: var(--navy-mid);
  border-top: 1px solid var(--rule);
}

.services-overview-page-template .cta-strip-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 48px;
  padding: 64px 0 64px 44px;
  border-left: 3px solid var(--sky);
}

.services-overview-page-template .cta-heading {
  margin-bottom: 10px;
  font-size: clamp(20px, 2.2vw, 30px);
  font-weight: 600;
  letter-spacing: -0.025em;
  line-height: 1.2;
  color: var(--t1);
}

.services-overview-page-template .cta-heading em {
  font-style: italic;
  font-weight: 300;
}

.services-overview-page-template .cta-sub {
  max-width: 520px;
  font-size: 14px;
  line-height: 1.7;
  color: var(--t2);
}

.services-overview-page-template .cta-actions {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-shrink: 0;
}

.services-overview-page-template .intro-cta-row,
.services-overview-page-template .clients-cta-row {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  margin-top: 28px;
}

.services-overview-page-template .cta-actions .btn-primary,
.services-overview-page-template .cta-actions .btn-ghost,
.services-overview-page-template .intro-cta-row .btn-primary,
.services-overview-page-template .intro-cta-row .btn-ghost,
.services-overview-page-template .clients-cta-row .btn-primary,
.services-overview-page-template .clients-cta-row .btn-ghost,
.services-overview-page-template .services-section-cta-actions .btn-primary,
.services-overview-page-template .services-section-cta-actions .btn-ghost {
  min-width: 210px;
}

/* =========================================================
   ANIMATIONS
========================================================= */

@keyframes fadeUp {
  from {
    opacity: 0;
    transform: translateY(16px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.services-overview-page-template .reveal {
  opacity: 1;
  transform: translateY(0);
  transition: opacity 0.55s ease, transform 0.55s ease;
}

.js-loaded .services-overview-page-template .reveal {
  opacity: 0;
  transform: translateY(14px);
}

.js-loaded .services-overview-page-template .reveal.visible {
  opacity: 1;
  transform: translateY(0);
}

/* =========================================================
   RESPONSIVE
========================================================= */

@media (max-width: 1100px) {
  .services-overview-page-template .page-hero,
  .services-overview-page-template .intro-section,
  .services-overview-page-template .services-section,
  .services-overview-page-template .clients-section,
  .services-overview-page-template .network-section,
  .services-overview-page-template .cta-strip {
    padding-left: 32px;
    padding-right: 32px;
  }

  .services-overview-page-template .page-hero {
    margin-top: 95px;
    padding-top: 90px;
  }

  .services-overview-page-template .hero-services-strip {
    grid-template-columns: 1fr 1fr;
  }

  .services-overview-page-template .hero-service-item:nth-child(2) {
    border-right: none;
  }

  .services-overview-page-template .hero-service-item:nth-child(3) {
    border-right: none;
  }

  .services-overview-page-template .intro-section,
  .services-overview-page-template .clients-section,
  .services-overview-page-template .network-inner {
    grid-template-columns: 1fr;
    gap: 44px;
  }

  .services-overview-page-template .intro-visual-col {
    justify-content: flex-start;
  }

  .services-overview-page-template .services-infra-visual {
    max-width: 100%;
  }

  .services-overview-page-template .services-grid {
    grid-template-columns: 1fr;
  }

  .services-overview-page-template .cta-strip-inner,
  .services-overview-page-template .services-section-cta {
    flex-direction: column;
    align-items: flex-start;
  }
}

@media (max-width: 640px) {
  .services-overview-page-template .page-hero {
    margin-top: 82px;
    padding: 78px 20px 0;
  }

  .services-overview-page-template .intro-section,
  .services-overview-page-template .services-section,
  .services-overview-page-template .clients-section,
  .services-overview-page-template .network-section {
    padding: 64px 20px;
  }

  .services-overview-page-template .cta-strip {
    padding: 0 20px;
  }

  .services-overview-page-template .cta-strip-inner {
    padding-top: 32px;
    padding-left: 0;
    border-left: none;
    border-top: 3px solid var(--sky);
  }

  .services-overview-page-template .clients-grid {
    grid-template-columns: 1fr;
  }

  .services-overview-page-template .hero-services-strip {
    grid-template-columns: 1fr 1fr;
  }

  .services-overview-page-template .service-card {
    padding: 36px 28px;
  }

  .services-overview-page-template .hero-ctas,
  .services-overview-page-template .network-actions,
  .services-overview-page-template .cta-actions,
  .services-overview-page-template .intro-cta-row,
  .services-overview-page-template .clients-cta-row,
  .services-overview-page-template .services-section-cta-actions {
    flex-direction: column;
    align-items: stretch;
    width: 100%;
  }

  .services-overview-page-template .cta-actions .btn-primary,
  .services-overview-page-template .cta-actions .btn-ghost,
  .services-overview-page-template .intro-cta-row .btn-primary,
  .services-overview-page-template .intro-cta-row .btn-ghost,
  .services-overview-page-template .clients-cta-row .btn-primary,
  .services-overview-page-template .clients-cta-row .btn-ghost,
  .services-overview-page-template .services-section-cta-actions .btn-primary,
  .services-overview-page-template .services-section-cta-actions .btn-ghost {
    width: 100%;
    min-width: 0;
  }
}

/* =========================================================
   FX LIQUIDITY PAGE TEMPLATE
========================================================= */

.fx-liquidity-page-template {
  --ink: #080c18;
  --navy: #0c1424;
  --navy-mid: #111d30;
  --navy-card: #152340;

  --t1: #f0f2f5;
  --t2: #8a97a8;
  --t3: #4a5868;

  --rule: rgba(255,255,255,0.07);
  --rule-mid: rgba(255,255,255,0.12);

  --sky: #6BB0FF;
  --sky-dim: rgba(107,176,255,0.10);
  --sapphire: #004FAC;

  color: var(--t1);
  background: var(--ink);
  overflow-x: hidden;
}

.fx-liquidity-page-template *,
.fx-liquidity-page-template *::before,
.fx-liquidity-page-template *::after {
  box-sizing: border-box;
}

.fx-liquidity-page-template a {
  text-decoration: none;
}

.fx-liquidity-page-template svg {
  display: block;
}

/* =========================================================
   SHARED
========================================================= */

.fx-liquidity-page-template .stag,
.fx-liquidity-page-template .caps-tag {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 14px;
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--sky);
}

.fx-liquidity-page-template .stag::before,
.fx-liquidity-page-template .caps-tag::before {
  content: "";
  width: 20px;
  height: 1px;
  background: var(--sky);
}

/* =========================================================
   BUTTONS
========================================================= */

.fx-liquidity-page-template .btn-primary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  white-space: nowrap;
  padding: 13px 28px;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--ink);
  background: var(--sky);
  border: 1px solid var(--sky);
  transition: background 0.15s ease, color 0.15s ease;
}

.fx-liquidity-page-template .btn-primary:hover {
  background: #4a9aef;
  color: var(--t1);
}

.fx-liquidity-page-template .btn-ghost {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  text-align: center;
  white-space: nowrap;
  padding: 13px 20px;
  font-size: 11px;
  font-weight: 500;
  color: var(--t2);
  border: 1px solid var(--rule-mid);
  transition: color 0.15s ease, border-color 0.15s ease;
}

.fx-liquidity-page-template .btn-ghost::after {
  content: "\2192";
  transition: transform 0.2s ease;
}

.fx-liquidity-page-template .btn-ghost:hover {
  color: var(--t1);
  border-color: rgba(255,255,255,0.18);
}

.fx-liquidity-page-template .btn-ghost:hover::after {
  transform: translateX(3px);
}

/* =========================================================
   HERO
========================================================= */

.fx-liquidity-page-template .fx-hero {
  min-height: 100vh;
  position: relative;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  justify-content: center;
  background: var(--ink);
}

.fx-liquidity-page-template .hero-bg {
  position: absolute;
  inset: 0;
  background:
    radial-gradient(ellipse 90% 55% at 50% 100%, rgba(0,79,172,0.18) 0%, transparent 60%),
    radial-gradient(ellipse 50% 40% at 15% 30%, rgba(107,176,255,0.04) 0%, transparent 55%),
    linear-gradient(180deg, #050810 0%, #080c18 60%, #0a1020 100%);
}

.fx-liquidity-page-template .hero-grid {
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(rgba(255,255,255,0.016) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,0.016) 1px, transparent 1px);
  background-size: 80px 80px;
}

.fx-liquidity-page-template .hero-scan {
  position: absolute;
  left: 0;
  right: 0;
  height: 1px;
  background: linear-gradient(
    90deg,
    transparent 0%,
    rgba(107,176,255,0.25) 25%,
    rgba(107,176,255,0.7) 50%,
    rgba(107,176,255,0.25) 75%,
    transparent 100%
  );
  animation: fxScan 7s ease-in-out infinite;
  pointer-events: none;
  z-index: 1;
}

@keyframes fxScan {
  0% {
    top: 15%;
    opacity: 0;
  }
  8% {
    opacity: 1;
  }
  92% {
    opacity: 1;
  }
  100% {
    top: 88%;
    opacity: 0;
  }
}

.fx-liquidity-page-template .hero-col-marker {
  position: absolute;
  top: 0;
  bottom: 0;
  width: 1px;
  background: rgba(107,176,255,0.04);
}

.fx-liquidity-page-template .hero-content {
  position: relative;
  z-index: 2;
  width: 100%;
  max-width: 1440px;
  margin: 0 auto;
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 150px 64px 72px;
}

.fx-liquidity-page-template .hero-breadcrumb {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 24px;
  font-size: 11px;
  color: var(--t3);
  animation: fadeUp 0.7s ease both;
}

.fx-liquidity-page-template .hero-breadcrumb a {
  color: var(--t3);
  text-decoration: none;
}

.fx-liquidity-page-template .hero-breadcrumb a:hover {
  color: var(--t2);
}

.fx-liquidity-page-template .crumb-sep {
  opacity: 0.4;
}

.fx-liquidity-page-template .hero-eyebrow {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 20px;
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--sky);
  animation: fadeUp 0.8s 0.05s ease both;
}

.fx-liquidity-page-template .hero-eyebrow::before {
  content: "";
  width: 24px;
  height: 1px;
  background: var(--sky);
}

.fx-liquidity-page-template .fx-hero h1 {
  max-width: 980px;
  margin: 0;
  font-size: clamp(40px, 5.5vw, 76px);
  font-weight: 600;
  letter-spacing: -0.035em;
  line-height: 1.03;
  color: var(--t1);
  animation: fadeUp 0.9s 0.1s ease both;
}

.fx-liquidity-page-template .fx-hero h1 .line-em {
  display: block;
  font-style: italic;
  font-weight: 300;
  color: var(--t1);
}

.fx-liquidity-page-template .hero-rule {
  width: 88px;
  height: 3px;
  background: var(--sky);
  margin: 36px 0 42px;
  animation: fadeUp 1s 0.2s ease both;
}

.fx-liquidity-page-template .hero-body {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(420px, 0.85fr);
  gap: 72px;
  align-items: end;
  width: 100%;
  animation: fadeUp 1.1s 0.25s ease both;
}

.fx-liquidity-page-template .hero-body > div:first-child {
  max-width: 760px;
}

.fx-liquidity-page-template .hero-lead {
  max-width: 680px;
  margin: 0 0 18px;
  font-size: 16px;
  line-height: 1.8;
  color: var(--t2);
}

.fx-liquidity-page-template .hero-lead:last-of-type {
  margin-bottom: 32px;
}

.fx-liquidity-page-template .hero-actions {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
}

.fx-liquidity-page-template .hero-credentials {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1px;
  width: 100%;
  max-width: 520px;
  margin-left: auto;
  align-self: end;
  background: var(--rule);
  border: 1px solid var(--rule);
}

.fx-liquidity-page-template .hero-cred {
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-height: 108px;
  padding: 22px 24px;
  background: rgba(255,255,255,0.02);
  border-top: 1px solid transparent;
  transition: background 0.2s ease, border-color 0.2s ease;
}

.fx-liquidity-page-template .hero-cred:hover {
  background: var(--sky-dim);
  border-top-color: var(--sky);
}

.fx-liquidity-page-template .hero-cred-val {
  margin-bottom: 6px;
  font-size: 24px;
  font-weight: 700;
  letter-spacing: -0.03em;
  color: var(--t1);
  font-variant-numeric: tabular-nums;
}

.fx-liquidity-page-template .hero-cred-lbl {
  font-size: 9px;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--t3);
}

/* =========================================================
   HERO MARQUEE
========================================================= */

.fx-liquidity-page-template .marquee-wrap {
  position: relative;
  z-index: 2;
  border-top: 1px solid var(--rule-mid);
  background: rgba(5,8,16,0.8);
  backdrop-filter: blur(16px);
  overflow: hidden;
}

.fx-liquidity-page-template .marquee-inner {
  display: flex;
  width: max-content;
  animation: fxMarquee 50s linear infinite;
}

.fx-liquidity-page-template .marquee-inner:hover {
  animation-play-state: paused;
}

@keyframes fxMarquee {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(-50%);
  }
}

.fx-liquidity-page-template .m-pair {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 16px 28px;
  border-right: 1px solid var(--rule);
  flex-shrink: 0;
  transition: background 0.15s ease;
}

.fx-liquidity-page-template .m-pair:hover {
  background: var(--sky-dim);
}

.fx-liquidity-page-template .m-flag {
  font-size: 15px;
  line-height: 1;
}

.fx-liquidity-page-template .m-code {
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.05em;
  color: var(--t1);
  white-space: nowrap;
  font-variant-numeric: tabular-nums;
}

.fx-liquidity-page-template .m-region {
  padding: 2px 7px;
  font-size: 8px;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--sky);
  background: var(--sky-dim);
  border: 1px solid rgba(107,176,255,0.15);
  white-space: nowrap;
}

.fx-liquidity-page-template .m-dir {
  font-size: 8px;
  font-weight: 500;
  letter-spacing: 0.04em;
  color: var(--t3);
  white-space: nowrap;
}

/* =========================================================
   COVERAGE / EXPERTISE
========================================================= */

.fx-liquidity-page-template .coverage {
  padding: 88px 64px;
  background: var(--ink);
  border-bottom: 1px solid var(--rule);
}

.fx-liquidity-page-template .coverage-head {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 64px;
  align-items: end;
  margin-bottom: 40px;
}

.fx-liquidity-page-template .coverage-head h2 {
  margin: 0;
  font-size: clamp(24px, 2.8vw, 38px);
  font-weight: 600;
  letter-spacing: -0.025em;
  line-height: 1.15;
  color: var(--t1);
}

.fx-liquidity-page-template .coverage-head h2 em {
  font-style: italic;
  font-weight: 300;
}

.fx-liquidity-page-template .coverage-head-right {
  margin: 0;
  font-size: 14px;
  line-height: 1.8;
  color: var(--t2);
}

/* =========================================================
   CAPABILITIES
========================================================= */

.fx-liquidity-page-template .caps {
  padding: 88px 0;
  background: var(--navy);
  border-bottom: 1px solid var(--rule);
}

.fx-liquidity-page-template .caps-inner {
  display: grid;
  grid-template-columns: minmax(380px, 0.95fr) minmax(0, 1.35fr);
  max-width: 1440px;
  margin: 0 auto;
}

.fx-liquidity-page-template .caps-left {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 0 64px 0 64px;
  border-right: 1px solid var(--rule);
}

.fx-liquidity-page-template .caps-h2 {
  max-width: 320px;
  margin: 0 0 18px;
  font-size: clamp(24px, 2.8vw, 38px);
  font-weight: 600;
  letter-spacing: -0.025em;
  line-height: 1.15;
  color: var(--t1);
}

.fx-liquidity-page-template .caps-h2 em {
  font-style: italic;
  font-weight: 300;
}

.fx-liquidity-page-template .caps-body {
  max-width: 340px;
  margin: 0;
  font-size: 13px;
  line-height: 1.8;
  color: var(--t2);
}

.fx-liquidity-page-template .cap {
  position: relative;
  overflow: hidden;
  display: grid;
  grid-template-columns: 72px 1fr;
  border-bottom: 1px solid var(--rule);
  transition: background 0.15s ease;
}

.fx-liquidity-page-template .cap:last-child {
  border-bottom: none;
}

.fx-liquidity-page-template .cap::after {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 2px;
  background: var(--sky);
  transform: scaleY(0);
  transform-origin: top;
  transition: transform 0.3s ease;
}

.fx-liquidity-page-template .cap:hover {
  background: rgba(107,176,255,0.025);
}

.fx-liquidity-page-template .cap:hover::after {
  transform: scaleY(1);
}

.fx-liquidity-page-template .cap-num {
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.1em;
  color: var(--t3);
  border-right: 1px solid var(--rule);
}

.fx-liquidity-page-template .cap-body {
  padding: 30px 64px 30px 40px;
}

.fx-liquidity-page-template .cap-title {
  margin-bottom: 12px;
  max-width: 720px;
  font-size: 24px;
  font-weight: 600;
  letter-spacing: -0.02em;
  line-height: 1.2;
  color: var(--t1);
  transition: color 0.2s ease;
}

.fx-liquidity-page-template .cap:hover .cap-title {
  color: var(--sky);
}

.fx-liquidity-page-template .cap-desc {
  max-width: 720px;
  margin: 0;
  font-size: 13px;
  line-height: 1.8;
  color: var(--t2);
}

/* =========================================================
   MARKETS
========================================================= */

.fx-liquidity-page-template .markets {
  padding: 88px 64px;
  background: var(--ink);
  border-bottom: 1px solid var(--rule);
}

.fx-liquidity-page-template .markets-inner {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 96px;
  align-items: start;
}

.fx-liquidity-page-template .markets-h2 {
  margin: 0 0 18px;
  font-size: clamp(24px, 2.8vw, 38px);
  font-weight: 600;
  letter-spacing: -0.025em;
  line-height: 1.15;
  color: var(--t1);
}

.fx-liquidity-page-template .markets-h2 em {
  font-style: italic;
  font-weight: 300;
}

.fx-liquidity-page-template .markets-body {
  margin: 0 0 28px;
  font-size: 14px;
  line-height: 1.85;
  color: var(--t2);
}

.fx-liquidity-page-template .mgroup {
  margin-bottom: 24px;
}

.fx-liquidity-page-template .mgroup-label {
  padding-bottom: 8px;
  margin-bottom: 0;
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--sky);
  border-bottom: 1px solid var(--rule);
}

.fx-liquidity-page-template .moffice {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 10px 0;
  border-bottom: 1px solid var(--rule);
}

.fx-liquidity-page-template .moffice:last-child {
  border-bottom: none;
}

.fx-liquidity-page-template .moffice-left {
  display: flex;
  align-items: center;
  gap: 10px;
}

.fx-liquidity-page-template .moffice-flag {
  font-size: 18px;
}

.fx-liquidity-page-template .moffice-name {
  font-size: 13px;
  font-weight: 600;
  letter-spacing: -0.01em;
  color: var(--t1);
}

.fx-liquidity-page-template .moffice-city {
  margin-top: 1px;
  font-size: 11px;
  color: var(--t3);
}

.fx-liquidity-page-template .moffice-cap {
  font-size: 9px;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--t3);
  text-align: right;
}

/* =========================================================
   SECTION CTA BAND
========================================================= */

.fx-liquidity-page-template .section-cta-band {
  padding: 0 64px 88px;
  background: var(--ink);
}

.fx-liquidity-page-template .section-cta-band-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 40px;
  padding: 32px 34px;
  border: 1px solid var(--rule);
  background: linear-gradient(180deg, rgba(17,29,48,0.78) 0%, rgba(12,20,36,0.92) 100%);
}

.fx-liquidity-page-template .section-cta-band-copy h3 {
  margin: 0 0 10px;
  font-size: clamp(20px, 2vw, 28px);
  font-weight: 600;
  letter-spacing: -0.025em;
  line-height: 1.18;
  color: var(--t1);
}

.fx-liquidity-page-template .section-cta-band-copy h3 em {
  font-style: italic;
  font-weight: 300;
}

.fx-liquidity-page-template .section-cta-band-copy p {
  max-width: 760px;
  margin: 0;
  font-size: 14px;
  line-height: 1.8;
  color: var(--t2);
}

.fx-liquidity-page-template .section-cta-band-actions {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-shrink: 0;
}

/* =========================================================
   ANIMATIONS
========================================================= */

@keyframes fadeUp {
  from {
    opacity: 0;
    transform: translateY(16px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.fx-liquidity-page-template .reveal {
  opacity: 1;
  transform: translateY(0);
  transition: opacity 0.55s ease, transform 0.55s ease;
}

.js-loaded .fx-liquidity-page-template .reveal {
  opacity: 0;
  transform: translateY(14px);
}

.js-loaded .fx-liquidity-page-template .reveal.visible {
  opacity: 1;
  transform: translateY(0);
}

/* =========================================================
   RESPONSIVE
========================================================= */

@media (max-width: 1100px) {
  .fx-liquidity-page-template .hero-content,
  .fx-liquidity-page-template .coverage,
  .fx-liquidity-page-template .section-cta-band,
  .fx-liquidity-page-template .markets {
    padding-left: 32px;
    padding-right: 32px;
  }

  .fx-liquidity-page-template .hero-content {
    padding-top: 136px;
    padding-bottom: 64px;
  }

  .fx-liquidity-page-template .hero-body,
  .fx-liquidity-page-template .coverage-head,
  .fx-liquidity-page-template .markets-inner {
    grid-template-columns: 1fr;
    gap: 44px;
  }

  .fx-liquidity-page-template .hero-body > div:first-child {
    max-width: 100%;
  }

  .fx-liquidity-page-template .hero-credentials {
    max-width: 100%;
    margin-left: 0;
  }

  .fx-liquidity-page-template .section-cta-band-inner {
    flex-direction: column;
    align-items: flex-start;
  }

  .fx-liquidity-page-template .caps-inner {
    grid-template-columns: 1fr;
  }

  .fx-liquidity-page-template .caps-left {
    padding: 0 32px 40px;
    border-right: none;
    border-bottom: 1px solid var(--rule);
  }

  .fx-liquidity-page-template .caps-h2,
  .fx-liquidity-page-template .caps-body {
    max-width: 100%;
  }

  .fx-liquidity-page-template .cap-body {
    padding: 24px 32px;
  }

  .fx-liquidity-page-template .cap-title,
  .fx-liquidity-page-template .cap-desc {
    max-width: 100%;
  }
}

@media (max-width: 640px) {
  .fx-liquidity-page-template .hero-content {
    padding: 112px 20px 48px;
  }

  .fx-liquidity-page-template .coverage,
  .fx-liquidity-page-template .markets {
    padding: 64px 20px;
  }

  .fx-liquidity-page-template .section-cta-band {
    padding: 0 20px 64px;
  }

  .fx-liquidity-page-template .section-cta-band-inner {
    padding: 24px 22px;
  }

  .fx-liquidity-page-template .fx-hero h1 {
    font-size: clamp(40px, 11vw, 56px);
    line-height: 1.04;
  }

  .fx-liquidity-page-template .hero-lead {
    font-size: 15px;
    line-height: 1.75;
  }

  .fx-liquidity-page-template .hero-credentials {
    grid-template-columns: 1fr 1fr;
  }

  .fx-liquidity-page-template .hero-cred {
    min-height: 92px;
    padding: 18px;
  }

  .fx-liquidity-page-template .hero-cred-val {
    font-size: 20px;
  }

  .fx-liquidity-page-template .m-pair {
    padding: 14px 18px;
    gap: 8px;
  }

  .fx-liquidity-page-template .m-code {
    font-size: 12px;
  }

  .fx-liquidity-page-template .m-region,
  .fx-liquidity-page-template .m-dir {
    font-size: 7px;
  }

  .fx-liquidity-page-template .coverage-head h2,
  .fx-liquidity-page-template .caps-h2,
  .fx-liquidity-page-template .markets-h2 {
    font-size: clamp(24px, 8vw, 32px);
  }

  .fx-liquidity-page-template .section-cta-band-copy h3 {
    font-size: clamp(20px, 7vw, 28px);
  }

  .fx-liquidity-page-template .cap-title {
    font-size: 20px;
  }

  .fx-liquidity-page-template .hero-actions,
  .fx-liquidity-page-template .section-cta-band-actions {
    flex-direction: column;
    align-items: stretch;
    width: 100%;
  }

  .fx-liquidity-page-template .hero-actions .btn-primary,
  .fx-liquidity-page-template .hero-actions .btn-ghost,
  .fx-liquidity-page-template .section-cta-band-actions .btn-primary,
  .fx-liquidity-page-template .section-cta-band-actions .btn-ghost {
    width: 100%;
    min-width: 0;
  }

  .fx-liquidity-page-template .moffice {
    flex-direction: column;
    align-items: flex-start;
  }

  .fx-liquidity-page-template .moffice-cap {
    text-align: left;
  }
}

/* =========================================================
   CROSS-BORDER PAYMENTS PAGE TEMPLATE
========================================================= */

.cross-border-payments-page-template {
  --ink: #080c18;
  --navy: #0c1424;
  --navy-mid: #111d30;
  --navy-card: #152340;

  --t1: #f0f2f5;
  --t2: #8a97a8;
  --t3: #4a5868;

  --rule: rgba(255,255,255,0.07);
  --rule-mid: rgba(255,255,255,0.12);

  --sky: #6BB0FF;
  --sky-dim: rgba(107,176,255,0.09);

  color: var(--t1);
  background: var(--ink);
  overflow-x: hidden;
}

.cross-border-payments-page-template *,
.cross-border-payments-page-template *::before,
.cross-border-payments-page-template *::after {
  box-sizing: border-box;
}

.cross-border-payments-page-template svg {
  max-width: 100%;
  height: auto;
}

.cross-border-payments-page-template strong {
  font-weight: 600;
}

/* =========================================================
   SUBNAV
========================================================= */

.cross-border-payments-page-template .subnav {
  background: var(--navy);
  border-bottom: 1px solid var(--rule);
  padding: 0 64px;
  display: flex;
  overflow-x: auto;
}

.cross-border-payments-page-template .subnav a {
  font-size: 11px;
  font-weight: 500;
  color: var(--t3);
  text-decoration: none;
  padding: 15px 20px;
  white-space: nowrap;
  border-right: 1px solid var(--rule);
  transition: color 0.15s;
  position: relative;
}

.cross-border-payments-page-template .subnav a::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 2px;
  background: var(--sky);
  transform: scaleX(0);
  transition: transform 0.2s;
}

.cross-border-payments-page-template .subnav a:hover {
  color: var(--t2);
}

.cross-border-payments-page-template .subnav a.active {
  color: var(--t1);
}

.cross-border-payments-page-template .subnav a.active::after {
  transform: scaleX(1);
}

/* =========================================================
   HERO
========================================================= */

.cross-border-payments-page-template .hero {
  min-height: 88vh;
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(420px, 0.95fr);
  position: relative;
  overflow: hidden;
  border-bottom: 1px solid var(--rule);
}

.cross-border-payments-page-template .hero-bg {
  position: absolute;
  inset: 0;
  background:
    radial-gradient(ellipse 65% 65% at 0% 60%, rgba(0,79,172,0.1) 0%, transparent 55%),
    linear-gradient(180deg, #060a14 0%, #080c18 100%);
}

.cross-border-payments-page-template .hero-grid {
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(rgba(255,255,255,0.016) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,0.016) 1px, transparent 1px);
  background-size: 80px 80px;
}

.cross-border-payments-page-template .hero-divider {
  position: absolute;
  left: 50%;
  top: 0;
  bottom: 0;
  width: 1px;
  background: var(--rule-mid);
  z-index: 1;
}

.cross-border-payments-page-template .hero-left {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 148px 64px 84px;
}

.cross-border-payments-page-template .hero-breadcrumb {
  font-size: 11px;
  color: var(--t3);
  margin-bottom: 22px;
  display: flex;
  align-items: center;
  gap: 8px;
  animation: cbpFadeUp 0.7s ease both;
}

.cross-border-payments-page-template .hero-breadcrumb a {
  color: var(--t3);
  text-decoration: none;
}

.cross-border-payments-page-template .hero-breadcrumb a:hover {
  color: var(--t2);
}

.cross-border-payments-page-template .crumb-sep {
  opacity: 0.4;
}

.cross-border-payments-page-template .hero-eyebrow {
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--sky);
  margin-bottom: 20px;
  display: flex;
  align-items: center;
  gap: 14px;
  animation: cbpFadeUp 0.8s 0.05s ease both;
}

.cross-border-payments-page-template .hero-eyebrow::before {
  content: '';
  width: 28px;
  height: 1px;
  background: var(--sky);
}

.cross-border-payments-page-template .hero h1 {
  font-size: clamp(42px, 5.6vw, 74px);
  font-weight: 700;
  letter-spacing: -0.04em;
  line-height: 0.95;
  margin-bottom: 26px;
  max-width: 680px;
  animation: cbpFadeUp 0.9s 0.1s ease both;
}

.cross-border-payments-page-template .hero h1 em {
  font-style: italic;
  font-weight: 300;
  color: var(--sky);
  display: block;
}

.cross-border-payments-page-template .hero-rule {
  width: 56px;
  height: 3px;
  background: var(--sky);
  margin-bottom: 26px;
  animation: cbpFadeUp 1s 0.18s ease both;
}

.cross-border-payments-page-template .hero-lead {
  font-size: 15px;
  color: var(--t2);
  line-height: 1.82;
  max-width: 560px;
  margin: 0 0 16px;
  animation: cbpFadeUp 1.1s 0.22s ease both;
}

.cross-border-payments-page-template .hero-lead:last-of-type {
  margin-bottom: 34px;
}

.cross-border-payments-page-template .hero-actions {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
  animation: cbpFadeUp 1.2s 0.28s ease both;
}

.cross-border-payments-page-template .hero-right {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 110px 52px 60px;
  background: rgba(255,255,255,0.01);
  animation: cbpFadeUp 1s 0.3s ease both;
}

.cross-border-payments-page-template .hero-right svg {
  width: 100%;
  max-width: 500px;
}

/* =========================================================
   BUTTONS
========================================================= */

.cross-border-payments-page-template .btn-primary,
.cross-border-payments-page-template .btn-ghost {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  white-space: nowrap;
}

.cross-border-payments-page-template .btn-primary {
  padding: 13px 28px;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--ink);
  background: var(--sky);
  border: 1px solid var(--sky);
  transition: background 0.15s ease, color 0.15s ease;
}

.cross-border-payments-page-template .btn-primary:hover {
  background: #4a9aef;
  color: var(--t1);
}

.cross-border-payments-page-template .btn-ghost {
  padding: 13px 20px;
  font-size: 11px;
  font-weight: 500;
  color: var(--t2);
  border: 1px solid var(--rule-mid);
  transition: color 0.15s ease, border-color 0.15s ease;
}

.cross-border-payments-page-template .btn-ghost:hover {
  color: var(--t1);
  border-color: rgba(255,255,255,0.18);
}

/* =========================================================
   SHARED SECTION TAGS / HEADINGS
========================================================= */

.cross-border-payments-page-template .intro-tag,
.cross-border-payments-page-template .caps-tag,
.cross-border-payments-page-template .corridors-tag,
.cross-border-payments-page-template .cta-tag {
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--sky);
  margin-bottom: 14px;
  display: flex;
  align-items: center;
  gap: 10px;
}

.cross-border-payments-page-template .intro-tag::before,
.cross-border-payments-page-template .caps-tag::before,
.cross-border-payments-page-template .corridors-tag::before,
.cross-border-payments-page-template .cta-tag::before {
  content: '';
  width: 20px;
  height: 1px;
  background: var(--sky);
}

.cross-border-payments-page-template .intro-h2,
.cross-border-payments-page-template .caps-h2,
.cross-border-payments-page-template .corridors-h2,
.cross-border-payments-page-template .cta h2 {
  font-weight: 600;
  letter-spacing: -0.028em;
  line-height: 1.08;
  margin: 0;
}

.cross-border-payments-page-template .intro-h2 {
  font-size: clamp(24px, 2.8vw, 38px);
}

.cross-border-payments-page-template .caps-h2,
.cross-border-payments-page-template .corridors-h2 {
  font-size: clamp(26px, 3vw, 40px);
}

.cross-border-payments-page-template .intro-h2 em,
.cross-border-payments-page-template .caps-h2 em,
.cross-border-payments-page-template .corridors-h2 em,
.cross-border-payments-page-template .cta h2 em {
  font-style: italic;
  font-weight: 300;
}

/* =========================================================
   INTRO
========================================================= */

.cross-border-payments-page-template .intro {
  background: var(--navy);
  border-bottom: 1px solid var(--rule);
  padding: 88px 64px;
  display: grid;
  grid-template-columns: 400px 1fr;
  gap: 80px;
  align-items: start;
}

.cross-border-payments-page-template .intro-right p {
  font-size: 15px;
  color: var(--t2);
  line-height: 1.85;
  margin: 0 0 18px;
  max-width: 760px;
}

.cross-border-payments-page-template .intro-right p:last-child {
  margin-bottom: 0;
}

/* =========================================================
   CAPABILITIES
========================================================= */

.cross-border-payments-page-template .caps {
  background: var(--ink);
  border-bottom: 1px solid var(--rule);
  padding: 88px 64px;
}

.cross-border-payments-page-template .caps-header {
  margin-bottom: 52px;
}

.cross-border-payments-page-template .caps-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1px;
  background: var(--rule);
  border: 1px solid var(--rule);
}

.cross-border-payments-page-template .cap-card {
  background: var(--navy-mid);
  padding: 44px 40px;
  position: relative;
  overflow: hidden;
  transition: background 0.2s;
  min-height: 265px;
}

.cross-border-payments-page-template .cap-card:hover {
  background: var(--navy-card);
}

.cross-border-payments-page-template .cap-card::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 2px;
  background: var(--sky);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.35s;
}

.cross-border-payments-page-template .cap-card:hover::before {
  transform: scaleX(1);
}

.cross-border-payments-page-template .cap-card-num {
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--t3);
  margin-bottom: 20px;
}

.cross-border-payments-page-template .cap-card-icon {
  width: 44px;
  height: 44px;
  border: 1px solid rgba(107,176,255,0.2);
  background: var(--sky-dim);
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 20px;
  flex-shrink: 0;
}

.cross-border-payments-page-template .cap-card-icon svg {
  width: 20px;
  height: 20px;
  stroke: var(--sky);
  fill: none;
  stroke-width: 1.5;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.cross-border-payments-page-template .cap-card-title {
  font-size: 19px;
  font-weight: 600;
  letter-spacing: -0.02em;
  color: var(--t1);
  margin-bottom: 14px;
  line-height: 1.25;
  transition: color 0.2s;
  max-width: 340px;
}

.cross-border-payments-page-template .cap-card:hover .cap-card-title {
  color: var(--sky);
}

.cross-border-payments-page-template .cap-card-desc {
  font-size: 13px;
  color: var(--t2);
  line-height: 1.8;
  margin: 0;
  max-width: 420px;
}

/* =========================================================
   CORRIDORS
========================================================= */

.cross-border-payments-page-template .corridors {
  background: var(--navy);
  border-bottom: 1px solid var(--rule);
  padding: 88px 64px;
}

.cross-border-payments-page-template .corridors-header {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 64px;
  align-items: end;
  margin-bottom: 56px;
}

.cross-border-payments-page-template .corridors-intro,
.cross-border-payments-page-template .cta-body {
  font-size: 14px;
  color: var(--t2);
  line-height: 1.85;
}

.cross-border-payments-page-template .corridors-list {
  display: flex;
  flex-direction: column;
  gap: 1px;
  background: var(--rule);
  border: 1px solid var(--rule);
}

.cross-border-payments-page-template .corridor {
  background: var(--navy-mid);
  display: grid;
  grid-template-columns: 260px 1fr 260px;
  align-items: center;
  transition: background 0.2s;
  position: relative;
  overflow: hidden;
}

.cross-border-payments-page-template .corridor::before {
  content: '';
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 3px;
  background: var(--sky);
  transform: scaleY(0);
  transform-origin: top;
  transition: transform 0.3s;
}

.cross-border-payments-page-template .corridor:hover {
  background: var(--navy-card);
}

.cross-border-payments-page-template .corridor:hover::before {
  transform: scaleY(1);
}

.cross-border-payments-page-template .corridor-hub,
.cross-border-payments-page-template .corridor-dest {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 28px 32px;
}

.cross-border-payments-page-template .corridor-hub {
  border-right: 1px solid var(--rule);
}

.cross-border-payments-page-template .corridor-dest {
  border-left: 1px solid var(--rule);
}

.cross-border-payments-page-template .corridor-hub-label,
.cross-border-payments-page-template .corridor-dest-label {
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--t3);
  margin-bottom: 8px;
}

.cross-border-payments-page-template .corridor-hub-city {
  font-size: 16px;
  font-weight: 600;
  letter-spacing: -0.02em;
  color: var(--t1);
}

.cross-border-payments-page-template .corridor-hub-city span {
  display: block;
  font-size: 13px;
  font-weight: 400;
  color: var(--t3);
  margin-top: 2px;
}

.cross-border-payments-page-template .corridor-mid {
  padding: 28px 40px;
  text-align: center;
}

.cross-border-payments-page-template .corridor-arrow {
  font-size: 22px;
  font-weight: 300;
  color: var(--sky);
  letter-spacing: 0.08em;
  margin-bottom: 6px;
}

.cross-border-payments-page-template .corridor-label {
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--t3);
}

.cross-border-payments-page-template .corridor-desc {
  font-size: 12px;
  color: var(--t3);
  margin-top: 4px;
  line-height: 1.5;
}

.cross-border-payments-page-template .corridor-dest-markets {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.cross-border-payments-page-template .corridor-dest-tag {
  font-size: 10px;
  font-weight: 500;
  letter-spacing: 0.04em;
  color: var(--sky);
  background: var(--sky-dim);
  border: 1px solid rgba(107,176,255,0.18);
  padding: 3px 10px;
}

.cross-border-payments-page-template .corridors-note {
  margin-top: 40px;
  max-width: 860px;
}

.cross-border-payments-page-template .corridors-note p {
  font-size: 14px;
  color: var(--t2);
  line-height: 1.85;
  margin: 0;
}

/* =========================================================
   CTA
========================================================= */

.cross-border-payments-page-template .cta {
  background: var(--navy);
  padding: 96px 64px;
  position: relative;
  overflow: hidden;
  border-top: 1px solid var(--rule);
}

.cross-border-payments-page-template .cta::before {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse 55% 60% at 30% 50%, rgba(0,79,172,0.1) 0%, transparent 60%);
}

.cross-border-payments-page-template .cta-inner {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 64px;
  align-items: center;
  padding-left: 44px;
  border-left: 3px solid var(--sky);
}

.cross-border-payments-page-template .cta h2 {
  font-size: clamp(28px, 3.5vw, 48px);
  line-height: 1.05;
  margin-bottom: 14px;
}

.cross-border-payments-page-template .cta h2 em {
  color: var(--sky);
}

.cross-border-payments-page-template .cta-body {
  font-size: 15px;
  line-height: 1.75;
  max-width: 560px;
}

.cross-border-payments-page-template .cta-btns {
  display: flex;
  flex-direction: column;
  gap: 12px;
  flex-shrink: 0;
}

/* =========================================================
   REVEAL
========================================================= */

.cross-border-payments-page-template .reveal {
  opacity: 1;
  transform: translateY(0);
  transition: opacity 0.55s ease, transform 0.55s ease;
}

.js-loaded .cross-border-payments-page-template .reveal {
  opacity: 0;
  transform: translateY(14px);
}

.js-loaded .cross-border-payments-page-template .reveal.visible {
  opacity: 1;
  transform: translateY(0);
}

@keyframes cbpFadeUp {
  from {
    opacity: 0;
    transform: translateY(16px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* =========================================================
   RESPONSIVE
========================================================= */

@media (max-width: 1100px) {
  .cross-border-payments-page-template .subnav {
    padding-left: 32px;
    padding-right: 32px;
  }

  .cross-border-payments-page-template .hero {
    grid-template-columns: 1fr;
    min-height: auto;
  }

  .cross-border-payments-page-template .hero-right,
  .cross-border-payments-page-template .hero-divider {
    display: none;
  }

  .cross-border-payments-page-template .hero-left {
    justify-content: flex-end;
    padding: 132px 32px 64px;
  }

  .cross-border-payments-page-template .intro {
    grid-template-columns: 1fr;
    gap: 44px;
    padding: 64px 32px;
  }

  .cross-border-payments-page-template .caps,
  .cross-border-payments-page-template .corridors,
  .cross-border-payments-page-template .cta {
    padding-left: 32px;
    padding-right: 32px;
  }

  .cross-border-payments-page-template .corridors-header,
  .cross-border-payments-page-template .cta-inner {
    grid-template-columns: 1fr;
    gap: 40px;
  }

  .cross-border-payments-page-template .corridor {
    grid-template-columns: 1fr;
  }

  .cross-border-payments-page-template .corridor-hub,
  .cross-border-payments-page-template .corridor-dest {
    border: none;
  }

  .cross-border-payments-page-template .cta-inner {
    padding-left: 28px;
  }

  .cross-border-payments-page-template .cta-btns {
    flex-direction: row;
    flex-wrap: wrap;
  }
}

@media (max-width: 640px) {
  .cross-border-payments-page-template .subnav {
    padding: 0 20px;
  }

  .cross-border-payments-page-template .hero-left {
    padding: 110px 20px 52px;
  }

  .cross-border-payments-page-template .intro,
  .cross-border-payments-page-template .caps,
  .cross-border-payments-page-template .corridors,
  .cross-border-payments-page-template .cta {
    padding: 64px 20px;
  }

  .cross-border-payments-page-template .caps-grid {
    grid-template-columns: 1fr;
  }

  .cross-border-payments-page-template .cta-btns {
    flex-direction: column;
  }

  .cross-border-payments-page-template .hero h1 {
    font-size: clamp(36px, 11vw, 56px);
  }

  .cross-border-payments-page-template .hero-lead {
    font-size: 14px;
  }

  .cross-border-payments-page-template .cap-card,
  .cross-border-payments-page-template .corridor {
    min-height: unset;
  }

  .cross-border-payments-page-template .hero-actions,
  .cross-border-payments-page-template .cta-btns {
    width: 100%;
  }

  .cross-border-payments-page-template .hero-actions .btn-primary,
  .cross-border-payments-page-template .hero-actions .btn-ghost,
  .cross-border-payments-page-template .cta-btns .btn-primary,
  .cross-border-payments-page-template .cta-btns .btn-ghost {
    width: 100%;
  }
}

/* =========================================================
   EMERGING MARKET ACCESS PAGE TEMPLATE
========================================================= */

.emerging-market-access-page-template {
  --ink: #080c18;
  --navy: #0c1424;
  --navy-mid: #111d30;
  --navy-card: #152340;

  --t1: #f0f2f5;
  --t2: #8a97a8;
  --t3: #4a5868;

  --rule: rgba(255,255,255,0.07);
  --rule-mid: rgba(255,255,255,0.12);

  --sky: #6BB0FF;
  --sky-dim: rgba(107,176,255,0.09);

  color: var(--t1);
  background: var(--ink);
  overflow-x: hidden;
}

.emerging-market-access-page-template *,
.emerging-market-access-page-template *::before,
.emerging-market-access-page-template *::after {
  box-sizing: border-box;
}

.emerging-market-access-page-template svg {
  max-width: 100%;
  height: auto;
}

.emerging-market-access-page-template strong {
  font-weight: 600;
}

/* =========================================================
   SUBNAV
========================================================= */

.emerging-market-access-page-template .subnav {
  background: var(--navy);
  border-bottom: 1px solid var(--rule);
  padding: 0 64px;
  display: flex;
  overflow-x: auto;
}

.emerging-market-access-page-template .subnav a {
  font-size: 11px;
  font-weight: 500;
  color: var(--t3);
  text-decoration: none;
  padding: 15px 20px;
  white-space: nowrap;
  border-right: 1px solid var(--rule);
  transition: color 0.15s;
  position: relative;
}

.emerging-market-access-page-template .subnav a::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 2px;
  background: var(--sky);
  transform: scaleX(0);
  transition: transform 0.2s;
}

.emerging-market-access-page-template .subnav a:hover {
  color: var(--t2);
}

.emerging-market-access-page-template .subnav a.active {
  color: var(--t1);
}

.emerging-market-access-page-template .subnav a.active::after {
  transform: scaleX(1);
}

/* =========================================================
   HERO
========================================================= */

.emerging-market-access-page-template .hero {
  min-height: 88vh;
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(420px, 0.95fr);
  position: relative;
  overflow: hidden;
  border-bottom: 1px solid var(--rule);
}

.emerging-market-access-page-template .hero-bg {
  position: absolute;
  inset: 0;
  background:
    radial-gradient(ellipse 65% 65% at 0% 60%, rgba(0,79,172,0.1) 0%, transparent 55%),
    linear-gradient(180deg, #060a14 0%, #080c18 100%);
}

.emerging-market-access-page-template .hero-grid {
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(rgba(255,255,255,0.016) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,0.016) 1px, transparent 1px);
  background-size: 80px 80px;
}

.emerging-market-access-page-template .hero-divider {
  position: absolute;
  left: 50%;
  top: 0;
  bottom: 0;
  width: 1px;
  background: var(--rule-mid);
  z-index: 1;
}

.emerging-market-access-page-template .hero-left {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 148px 64px 84px;
}

.emerging-market-access-page-template .hero-breadcrumb {
  font-size: 11px;
  color: var(--t3);
  margin-bottom: 22px;
  display: flex;
  align-items: center;
  gap: 8px;
  animation: emaFadeUp 0.7s ease both;
}

.emerging-market-access-page-template .hero-breadcrumb a {
  color: var(--t3);
  text-decoration: none;
}

.emerging-market-access-page-template .hero-breadcrumb a:hover {
  color: var(--t2);
}

.emerging-market-access-page-template .crumb-sep {
  opacity: 0.4;
}

.emerging-market-access-page-template .hero-eyebrow {
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--sky);
  margin-bottom: 20px;
  display: flex;
  align-items: center;
  gap: 14px;
  animation: emaFadeUp 0.8s 0.05s ease both;
}

.emerging-market-access-page-template .hero-eyebrow::before {
  content: '';
  width: 28px;
  height: 1px;
  background: var(--sky);
}

.emerging-market-access-page-template .hero h1 {
  font-size: clamp(42px, 5.6vw, 74px);
  font-weight: 700;
  letter-spacing: -0.04em;
  line-height: 0.95;
  margin-bottom: 26px;
  max-width: 760px;
  animation: emaFadeUp 0.9s 0.1s ease both;
}

.emerging-market-access-page-template .hero h1 em {
  font-style: italic;
  font-weight: 300;
  color: var(--sky);
  display: block;
}

.emerging-market-access-page-template .hero-rule {
  width: 56px;
  height: 3px;
  background: var(--sky);
  margin-bottom: 26px;
  animation: emaFadeUp 1s 0.18s ease both;
}

.emerging-market-access-page-template .hero-lead {
  font-size: 15px;
  color: var(--t2);
  line-height: 1.82;
  max-width: 560px;
  margin: 0 0 16px;
  animation: emaFadeUp 1.1s 0.22s ease both;
}

.emerging-market-access-page-template .hero-lead:last-of-type {
  margin-bottom: 34px;
}

.emerging-market-access-page-template .hero-actions {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
  animation: emaFadeUp 1.2s 0.28s ease both;
}

.emerging-market-access-page-template .hero-right {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 110px 52px 60px;
  background: rgba(255,255,255,0.01);
  animation: emaFadeUp 1s 0.3s ease both;
}

.emerging-market-access-page-template .presence-panel {
  width: 100%;
  max-width: 460px;
  border: 1px solid var(--rule);
  background:
    linear-gradient(180deg, rgba(255,255,255,0.02) 0%, rgba(255,255,255,0.01) 100%);
  backdrop-filter: blur(6px);
}

.emerging-market-access-page-template .presence-header {
  padding: 28px 28px 20px;
  border-bottom: 1px solid var(--rule);
}

.emerging-market-access-page-template .presence-kicker {
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--sky);
  margin-bottom: 10px;
}

.emerging-market-access-page-template .presence-title {
  font-size: 22px;
  font-weight: 600;
  letter-spacing: -0.025em;
  color: var(--t1);
}

.emerging-market-access-page-template .presence-list {
  display: flex;
  flex-direction: column;
}

.emerging-market-access-page-template .presence-item {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 18px 28px;
  border-bottom: 1px solid var(--rule);
  transition: background 0.2s;
}

.emerging-market-access-page-template .presence-item:hover {
  background: rgba(107,176,255,0.04);
}

.emerging-market-access-page-template .presence-region {
  font-size: 12px;
  font-weight: 600;
  color: var(--t1);
  letter-spacing: -0.01em;
}

.emerging-market-access-page-template .presence-count {
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--sky);
}

.emerging-market-access-page-template .presence-note {
  padding: 20px 28px 24px;
  font-size: 13px;
  color: var(--t2);
  line-height: 1.75;
}

/* =========================================================
   BUTTONS
========================================================= */

.emerging-market-access-page-template .btn-primary,
.emerging-market-access-page-template .btn-ghost {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  white-space: nowrap;
}

.emerging-market-access-page-template .btn-primary {
  padding: 13px 28px;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--ink);
  background: var(--sky);
  border: 1px solid var(--sky);
  transition: background 0.15s ease, color 0.15s ease;
}

.emerging-market-access-page-template .btn-primary:hover {
  background: #4a9aef;
  color: var(--t1);
}

.emerging-market-access-page-template .btn-ghost {
  padding: 13px 20px;
  font-size: 11px;
  font-weight: 500;
  color: var(--t2);
  border: 1px solid var(--rule-mid);
  transition: color 0.15s ease, border-color 0.15s ease, background 0.15s ease;
}

.emerging-market-access-page-template .btn-ghost:hover {
  color: var(--t1);
  border-color: rgba(255,255,255,0.18);
  background: rgba(255,255,255,0.02);
}

/* =========================================================
   SHARED SECTION TAGS / HEADINGS
========================================================= */

.emerging-market-access-page-template .intro-tag,
.emerging-market-access-page-template .caps-tag,
.emerging-market-access-page-template .markets-tag,
.emerging-market-access-page-template .realities-tag,
.emerging-market-access-page-template .clients-tag,
.emerging-market-access-page-template .cta-tag {
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--sky);
  margin-bottom: 14px;
  display: flex;
  align-items: center;
  gap: 10px;
}

.emerging-market-access-page-template .intro-tag::before,
.emerging-market-access-page-template .caps-tag::before,
.emerging-market-access-page-template .markets-tag::before,
.emerging-market-access-page-template .realities-tag::before,
.emerging-market-access-page-template .clients-tag::before,
.emerging-market-access-page-template .cta-tag::before {
  content: '';
  width: 20px;
  height: 1px;
  background: var(--sky);
}

.emerging-market-access-page-template .intro-h2,
.emerging-market-access-page-template .caps-h2,
.emerging-market-access-page-template .markets-h2,
.emerging-market-access-page-template .realities-h2,
.emerging-market-access-page-template .clients-h2,
.emerging-market-access-page-template .cta h2 {
  font-weight: 600;
  letter-spacing: -0.028em;
  line-height: 1.08;
  margin: 0;
}

.emerging-market-access-page-template .intro-h2 {
  font-size: clamp(24px, 2.8vw, 38px);
}

.emerging-market-access-page-template .caps-h2,
.emerging-market-access-page-template .markets-h2,
.emerging-market-access-page-template .realities-h2,
.emerging-market-access-page-template .clients-h2 {
  font-size: clamp(26px, 3vw, 40px);
}

.emerging-market-access-page-template .intro-h2 em,
.emerging-market-access-page-template .caps-h2 em,
.emerging-market-access-page-template .markets-h2 em,
.emerging-market-access-page-template .realities-h2 em,
.emerging-market-access-page-template .clients-h2 em,
.emerging-market-access-page-template .cta h2 em {
  font-style: italic;
  font-weight: 300;
}

/* =========================================================
   INTRO
========================================================= */

.emerging-market-access-page-template .intro {
  background: var(--navy);
  border-bottom: 1px solid var(--rule);
  padding: 88px 64px;
  display: grid;
  grid-template-columns: 400px 1fr;
  gap: 80px;
  align-items: start;
}

.emerging-market-access-page-template .intro-right p {
  font-size: 15px;
  color: var(--t2);
  line-height: 1.85;
  margin: 0 0 18px;
  max-width: 760px;
}

.emerging-market-access-page-template .intro-right p:last-child {
  margin-bottom: 0;
}

/* =========================================================
   MARKETS
========================================================= */

.emerging-market-access-page-template .markets {
  background: var(--ink);
  border-bottom: 1px solid var(--rule);
  padding: 88px 64px;
}

.emerging-market-access-page-template .markets-header {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 64px;
  align-items: end;
  margin-bottom: 56px;
}

.emerging-market-access-page-template .markets-intro,
.emerging-market-access-page-template .clients-intro,
.emerging-market-access-page-template .cta-body,
.emerging-market-access-page-template .realities-intro {
  font-size: 14px;
  color: var(--t2);
  line-height: 1.85;
}

.emerging-market-access-page-template .markets-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1px;
  background: var(--rule);
  border: 1px solid var(--rule);
}

.emerging-market-access-page-template .market-card {
  background: var(--navy-mid);
  min-height: 100%;
}

.emerging-market-access-page-template .market-card-head {
  padding: 24px 28px 20px;
  border-bottom: 1px solid var(--rule);
  background: rgba(107,176,255,0.03);
  transition: background 0.2s;
}

.emerging-market-access-page-template .market-card:hover .market-card-head {
  background: rgba(107,176,255,0.07);
}

.emerging-market-access-page-template .market-card-num {
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--t3);
  margin-bottom: 10px;
}

.emerging-market-access-page-template .market-card-title {
  font-size: 18px;
  font-weight: 700;
  letter-spacing: -0.02em;
  color: var(--t1);
  margin-bottom: 4px;
}

.emerging-market-access-page-template .market-card-sub {
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--sky);
}

.emerging-market-access-page-template .market-card-list {
  display: flex;
  flex-direction: column;
}

.emerging-market-access-page-template .market-row {
  padding: 14px 28px;
  border-bottom: 1px solid var(--rule);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  transition: background 0.15s;
}

.emerging-market-access-page-template .market-row:last-child {
  border-bottom: none;
}

.emerging-market-access-page-template .market-row:hover {
  background: rgba(107,176,255,0.04);
}

.emerging-market-access-page-template .market-row.muted {
  opacity: 0.76;
}

.emerging-market-access-page-template .market-row-left {
  display: flex;
  align-items: center;
  gap: 10px;
}

.emerging-market-access-page-template .market-row-left .flag {
  font-size: 18px;
  line-height: 1;
}

.emerging-market-access-page-template .market-row-left strong {
  display: block;
  font-size: 12px;
  font-weight: 500;
  color: var(--t1);
}

.emerging-market-access-page-template .market-row-left span:last-child {
  display: block;
  font-size: 10px;
  color: var(--t3);
  margin-top: 1px;
}

.emerging-market-access-page-template .market-tag {
  font-size: 8px;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--sky);
  background: var(--sky-dim);
  border: 1px solid rgba(107,176,255,0.18);
  padding: 2px 8px;
  white-space: nowrap;
  flex-shrink: 0;
}

.emerging-market-access-page-template .market-tag.alt {
  color: var(--t3);
  background: rgba(255,255,255,0.03);
  border-color: var(--rule);
}

/* =========================================================
   SECTION CTA STRIP
========================================================= */

.emerging-market-access-page-template .section-cta-strip {
  margin-top: 32px;
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 28px;
  align-items: center;
  padding: 28px 32px;
  border: 1px solid var(--rule);
  background: rgba(255,255,255,0.015);
}

.emerging-market-access-page-template .section-cta-kicker {
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--sky);
  margin-bottom: 10px;
}

.emerging-market-access-page-template .section-cta-copy p {
  font-size: 14px;
  line-height: 1.8;
  color: var(--t2);
  margin: 0;
  max-width: 680px;
}

.emerging-market-access-page-template .section-cta-actions {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
}

.emerging-market-access-page-template .section-cta-strip-digital {
  background: linear-gradient(180deg, rgba(107,176,255,0.04) 0%, rgba(255,255,255,0.015) 100%);
}

/* =========================================================
   CAPABILITIES
========================================================= */

.emerging-market-access-page-template .caps {
  background: var(--navy);
  border-bottom: 1px solid var(--rule);
  padding: 88px 64px;
}

.emerging-market-access-page-template .caps-header {
  margin-bottom: 52px;
}

.emerging-market-access-page-template .caps-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1px;
  background: var(--rule);
  border: 1px solid var(--rule);
}

.emerging-market-access-page-template .cap-card {
  background: var(--navy-mid);
  padding: 44px 40px;
  position: relative;
  overflow: hidden;
  transition: background 0.2s;
  min-height: 265px;
}

.emerging-market-access-page-template .cap-card:hover {
  background: var(--navy-card);
}

.emerging-market-access-page-template .cap-card::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 2px;
  background: var(--sky);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.35s;
}

.emerging-market-access-page-template .cap-card:hover::before {
  transform: scaleX(1);
}

.emerging-market-access-page-template .cap-card-num {
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--t3);
  margin-bottom: 20px;
}

.emerging-market-access-page-template .cap-card-icon {
  width: 44px;
  height: 44px;
  border: 1px solid rgba(107,176,255,0.2);
  background: var(--sky-dim);
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 20px;
  flex-shrink: 0;
}

.emerging-market-access-page-template .cap-card-icon svg {
  width: 20px;
  height: 20px;
  stroke: var(--sky);
  fill: none;
  stroke-width: 1.5;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.emerging-market-access-page-template .cap-card-title {
  font-size: 19px;
  font-weight: 600;
  letter-spacing: -0.02em;
  color: var(--t1);
  margin-bottom: 14px;
  line-height: 1.25;
  transition: color 0.2s;
  max-width: 360px;
}

.emerging-market-access-page-template .cap-card:hover .cap-card-title {
  color: var(--sky);
}

.emerging-market-access-page-template .cap-card-desc {
  font-size: 13px;
  color: var(--t2);
  line-height: 1.8;
  margin: 0;
  max-width: 440px;
}

/* =========================================================
   REALITIES
========================================================= */

.emerging-market-access-page-template .realities {
  background: var(--ink);
  border-bottom: 1px solid var(--rule);
  padding: 88px 64px;
}

.emerging-market-access-page-template .realities-header {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 64px;
  align-items: end;
  margin-bottom: 56px;
}

.emerging-market-access-page-template .realities-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1px;
  background: var(--rule);
  border: 1px solid var(--rule);
}

.emerging-market-access-page-template .reality-card {
  background: var(--navy-mid);
  padding: 36px 32px;
  transition: background 0.2s;
  border-top: 3px solid transparent;
}

.emerging-market-access-page-template .reality-card:hover {
  background: var(--navy-card);
  border-top-color: var(--sky);
}

.emerging-market-access-page-template .reality-num {
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--t3);
  margin-bottom: 14px;
}

.emerging-market-access-page-template .reality-title {
  font-size: 16px;
  font-weight: 600;
  letter-spacing: -0.02em;
  color: var(--t1);
  margin-bottom: 12px;
  transition: color 0.2s;
}

.emerging-market-access-page-template .reality-card:hover .reality-title {
  color: var(--sky);
}

.emerging-market-access-page-template .reality-body {
  font-size: 13px;
  color: var(--t2);
  line-height: 1.8;
  margin: 0;
}

.emerging-market-access-page-template .reality-response {
  margin-top: 20px;
  padding-top: 16px;
  border-top: 1px solid var(--rule);
  font-size: 12px;
  color: var(--sky);
  line-height: 1.7;
  font-style: italic;
}

/* =========================================================
   CLIENTS
========================================================= */

.emerging-market-access-page-template .clients {
  background: var(--navy);
  border-bottom: 1px solid var(--rule);
  padding: 88px 64px;
}

.emerging-market-access-page-template .clients-header {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 64px;
  align-items: end;
  margin-bottom: 56px;
}

.emerging-market-access-page-template .clients-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1px;
  background: var(--rule);
  border: 1px solid var(--rule);
}

.emerging-market-access-page-template .client-card {
  background: var(--navy-mid);
  padding: 28px 30px;
  border-top: 2px solid transparent;
  transition: all 0.2s;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.emerging-market-access-page-template .client-card:hover {
  background: var(--navy-card);
  border-top-color: var(--sky);
}

.emerging-market-access-page-template .client-type {
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--sky);
}

.emerging-market-access-page-template .client-title {
  font-size: 15px;
  font-weight: 600;
  letter-spacing: -0.01em;
  color: var(--t1);
}

.emerging-market-access-page-template .client-desc {
  font-size: 12px;
  color: var(--t3);
  line-height: 1.65;
  margin: 0;
}

/* =========================================================
   CTA
========================================================= */

.emerging-market-access-page-template .cta {
  background: var(--navy);
  padding: 96px 64px;
  position: relative;
  overflow: hidden;
  border-top: 1px solid var(--rule);
}

.emerging-market-access-page-template .cta::before {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse 55% 60% at 30% 50%, rgba(0,79,172,0.1) 0%, transparent 60%);
}

.emerging-market-access-page-template .cta-inner {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 64px;
  align-items: center;
  padding-left: 44px;
  border-left: 3px solid var(--sky);
}

.emerging-market-access-page-template .cta h2 {
  font-size: clamp(28px, 3.5vw, 48px);
  line-height: 1.05;
  margin-bottom: 14px;
}

.emerging-market-access-page-template .cta h2 em {
  color: var(--sky);
}

.emerging-market-access-page-template .cta-body {
  font-size: 15px;
  line-height: 1.75;
  max-width: 620px;
}

.emerging-market-access-page-template .cta-btns {
  display: flex;
  flex-direction: column;
  gap: 12px;
  flex-shrink: 0;
}

/* =========================================================
   REVEAL
========================================================= */

.emerging-market-access-page-template .reveal {
  opacity: 1;
  transform: translateY(0);
  transition: opacity 0.55s ease, transform 0.55s ease;
}

.js-loaded .emerging-market-access-page-template .reveal {
  opacity: 0;
  transform: translateY(14px);
}

.js-loaded .emerging-market-access-page-template .reveal.visible {
  opacity: 1;
  transform: translateY(0);
}

@keyframes emaFadeUp {
  from {
    opacity: 0;
    transform: translateY(16px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* =========================================================
   RESPONSIVE
========================================================= */

@media (max-width: 1100px) {
  .emerging-market-access-page-template .subnav {
    padding-left: 32px;
    padding-right: 32px;
  }

  .emerging-market-access-page-template .hero {
    grid-template-columns: 1fr;
    min-height: auto;
  }

  .emerging-market-access-page-template .hero-right,
  .emerging-market-access-page-template .hero-divider {
    display: none;
  }

  .emerging-market-access-page-template .hero-left {
    justify-content: flex-end;
    padding: 132px 32px 64px;
  }

  .emerging-market-access-page-template .intro {
    grid-template-columns: 1fr;
    gap: 44px;
    padding: 64px 32px;
  }

  .emerging-market-access-page-template .markets,
  .emerging-market-access-page-template .caps,
  .emerging-market-access-page-template .realities,
  .emerging-market-access-page-template .clients,
  .emerging-market-access-page-template .cta {
    padding-left: 32px;
    padding-right: 32px;
  }

  .emerging-market-access-page-template .markets-header,
  .emerging-market-access-page-template .realities-header,
  .emerging-market-access-page-template .clients-header,
  .emerging-market-access-page-template .cta-inner,
  .emerging-market-access-page-template .section-cta-strip {
    grid-template-columns: 1fr;
    gap: 24px;
  }

  .emerging-market-access-page-template .markets-grid,
  .emerging-market-access-page-template .caps-grid {
    grid-template-columns: 1fr;
  }

  .emerging-market-access-page-template .realities-grid,
  .emerging-market-access-page-template .clients-grid {
    grid-template-columns: 1fr;
  }

  .emerging-market-access-page-template .cta-inner {
    padding-left: 28px;
  }

  .emerging-market-access-page-template .cta-btns {
    flex-direction: row;
    flex-wrap: wrap;
  }
}

@media (max-width: 640px) {
  .emerging-market-access-page-template .subnav {
    padding: 0 20px;
  }

  .emerging-market-access-page-template .hero-left {
    padding: 110px 20px 52px;
  }

  .emerging-market-access-page-template .intro,
  .emerging-market-access-page-template .markets,
  .emerging-market-access-page-template .caps,
  .emerging-market-access-page-template .realities,
  .emerging-market-access-page-template .clients,
  .emerging-market-access-page-template .cta {
    padding: 64px 20px;
  }

  .emerging-market-access-page-template .section-cta-strip {
    padding: 24px 20px;
  }

  .emerging-market-access-page-template .section-cta-actions,
  .emerging-market-access-page-template .cta-btns {
    flex-direction: column;
    align-items: stretch;
  }

  .emerging-market-access-page-template .hero h1 {
    font-size: clamp(36px, 11vw, 56px);
  }

  .emerging-market-access-page-template .hero-lead {
    font-size: 14px;
  }

  .emerging-market-access-page-template .cap-card,
  .emerging-market-access-page-template .reality-card,
  .emerging-market-access-page-template .client-card {
    min-height: unset;
  }

  .emerging-market-access-page-template .hero-actions,
  .emerging-market-access-page-template .cta-btns,
  .emerging-market-access-page-template .section-cta-actions {
    width: 100%;
  }

  .emerging-market-access-page-template .hero-actions .btn-primary,
  .emerging-market-access-page-template .hero-actions .btn-ghost,
  .emerging-market-access-page-template .cta-btns .btn-primary,
  .emerging-market-access-page-template .cta-btns .btn-ghost,
  .emerging-market-access-page-template .section-cta-actions .btn-primary,
  .emerging-market-access-page-template .section-cta-actions .btn-ghost {
    width: 100%;
  }
}

/* =========================================================
   ONBOARDING PAGE TEMPLATE
========================================================= */

.onboarding-page-template {
  --ink: #080c18;
  --navy: #0c1424;
  --navy-mid: #111d30;
  --navy-card: #152340;

  --t1: #f0f2f5;
  --t2: #8a97a8;
  --t3: #4a5868;

  --rule: rgba(255,255,255,0.07);
  --rule-mid: rgba(255,255,255,0.12);

  --sky: #6BB0FF;
  --sky-dim: rgba(107,176,255,0.09);
  --sapphire: #004FAC;

  color: var(--t1);
  background: var(--ink);
  overflow-x: hidden;
  -webkit-font-smoothing: antialiased;
}

.onboarding-page-template *,
.onboarding-page-template *::before,
.onboarding-page-template *::after {
  box-sizing: border-box;
}

/* ✅ FIX: ensures spacing between bold ↔ italic text renders correctly */
.onboarding-page-template .text-space {
  display: inline-block;
  width: 0.25em; /* controls spacing — tweak if needed */
}

/* =========================================================
   SHARED BUTTON LANGUAGE
========================================================= */

.onboarding-page-template .btn-primary,
.onboarding-page-template .btn-ghost {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 0 24px;
  text-decoration: none;
  white-space: nowrap;
  transition: all .18s ease;
}

.onboarding-page-template .btn-primary {
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--ink);
  background: var(--sky);
  border: 1px solid var(--sky);
}

.onboarding-page-template .btn-primary:hover {
  background: #4a9aef;
  border-color: #4a9aef;
  color: var(--t1);
}

.onboarding-page-template .btn-ghost {
  font-size: 11px;
  font-weight: 500;
  color: var(--t2);
  border: 1px solid var(--rule-mid);
  background: transparent;
  gap: 8px;
}

.onboarding-page-template .btn-ghost:hover {
  color: var(--t1);
  border-color: rgba(107,176,255,0.3);
  background: rgba(255,255,255,0.02);
}

.onboarding-page-template .btn-ghost::after {
  content: '\2192';
  transition: transform .2s;
}

.onboarding-page-template .btn-ghost:hover::after {
  transform: translateX(3px);
}

/* =========================================================
   HERO
========================================================= */

.onboarding-page-template .hero {
  min-height: 52vh;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  overflow: hidden;
  border-bottom: 1px solid var(--rule);
  background: var(--ink);
  text-align: center;
}

.onboarding-page-template .hero-bg {
  position: absolute;
  inset: 0;
  background:
    radial-gradient(ellipse 70% 60% at 50% 100%, rgba(0,79,172,0.11) 0%, transparent 58%),
    linear-gradient(180deg, #060a14 0%, #080c18 100%);
}

.onboarding-page-template .hero-grid {
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(rgba(255,255,255,0.015) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,0.015) 1px, transparent 1px);
  background-size: 80px 80px;
}

.onboarding-page-template .hero-content {
  position: relative;
  z-index: 2;
  width: 100%;
  max-width: 980px;
  margin: 0 auto;
  padding: 148px 64px 80px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
}

.onboarding-page-template .hero-eyebrow {
  font-size: 10px;
  font-weight: 600;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--sky);
  margin-bottom: 20px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
  animation: onboardingFadeUp .8s ease both;
}

.onboarding-page-template .hero-eyebrow::before,
.onboarding-page-template .hero-eyebrow::after {
  content: '';
  width: 24px;
  height: 1px;
  background: var(--sky);
}

.onboarding-page-template .hero h1 {
  font-size: clamp(38px, 5vw, 68px);
  font-weight: 600;
  letter-spacing: -.035em;
  line-height: 1.06;
  margin-bottom: 20px;
  text-align: center;
  animation: onboardingFadeUp .9s .1s ease both;
}

.onboarding-page-template .hero h1 em {
  font-style: italic;
  font-weight: 300;
  color: var(--sky);
}

.onboarding-page-template .hero-lead {
  font-size: 16px;
  color: var(--t2);
  line-height: 1.75;
  max-width: 620px;
  margin: 0 auto;
  text-align: center;
  animation: onboardingFadeUp 1s .18s ease both;
}

.onboarding-page-template .hero-ctas {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  margin-top: 30px;
  animation: onboardingFadeUp 1.05s .22s ease both;
}

/* TRUST */

.onboarding-page-template .hero-trust {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 18px;
  margin-top: 36px;
  padding-top: 32px;
  border-top: 1px solid var(--rule);
  animation: onboardingFadeUp 1.1s .25s ease both;
  flex-wrap: wrap;
}

.onboarding-page-template .trust-badge {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 14px;
  border: 1px solid transparent;
  background: transparent;
  transition:
    transform .18s ease,
    border-color .18s ease,
    background .18s ease,
    box-shadow .18s ease;
}

.onboarding-page-template .trust-badge:hover {
  transform: translateY(-2px);
  border-color: rgba(107,176,255,0.22);
  background: rgba(107,176,255,0.05);
  box-shadow: 0 0 18px rgba(107,176,255,0.08);
}

.onboarding-page-template .trust-badge-icon {
  width: 28px;
  height: 28px;
  border: 1px solid rgba(107,176,255,0.2);
  background: var(--sky-dim);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  transition:
    border-color .18s ease,
    background .18s ease,
    box-shadow .18s ease,
    transform .18s ease;
}

.onboarding-page-template .trust-badge:hover .trust-badge-icon {
  border-color: rgba(107,176,255,0.35);
  background: rgba(107,176,255,0.12);
  box-shadow: 0 0 14px rgba(107,176,255,0.10);
  transform: scale(1.03);
}

.onboarding-page-template .trust-badge-icon svg {
  width: 12px;
  height: 12px;
  stroke: var(--sky);
  fill: none;
  stroke-width: 1.5;
  stroke-linecap: round;
  stroke-linejoin: round;
  transition: stroke .18s ease;
}

.onboarding-page-template .trust-badge:hover .trust-badge-icon svg {
  stroke: #8fc2ff;
}

.onboarding-page-template .trust-badge-text {
  font-size: 11px;
  font-weight: 500;
  color: var(--t3);
  letter-spacing: .01em;
  line-height: 1.4;
  transition: color .18s ease;
}

.onboarding-page-template .trust-badge-text strong {
  color: var(--t2);
  display: block;
  font-weight: 600;
  transition: color .18s ease;
}

.onboarding-page-template .trust-badge:hover .trust-badge-text {
  color: var(--t2);
}

.onboarding-page-template .trust-badge:hover .trust-badge-text strong {
  color: var(--t1);
}

.onboarding-page-template .trust-div {
  width: 1px;
  height: 24px;
  background: var(--rule-mid);
}

/* =========================================================
   PATHS
========================================================= */

.onboarding-page-template .paths {
  background: var(--navy);
  border-bottom: 1px solid var(--rule);
  padding: 88px 64px;
}

.onboarding-page-template .paths-header {
  text-align: center;
  max-width: 560px;
  margin: 0 auto 56px;
}

.onboarding-page-template .paths-tag {
  font-size: 10px;
  font-weight: 600;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: var(--sky);
  margin-bottom: 14px;
  display: inline-flex;
  align-items: center;
  gap: 10px;
}

.onboarding-page-template .paths-tag::before,
.onboarding-page-template .paths-tag::after {
  content: '';
  width: 16px;
  height: 1px;
  background: var(--sky);
}

.onboarding-page-template .paths-h2 {
  font-size: clamp(24px, 2.8vw, 38px);
  font-weight: 600;
  letter-spacing: -.025em;
  line-height: 1.1;
}

.onboarding-page-template .paths-h2 em {
  font-style: italic;
  font-weight: 300;
}

.onboarding-page-template .paths-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1px;
  background: var(--rule);
  border: 1px solid var(--rule);
}

.onboarding-page-template .path-card {
  background: var(--navy-mid);
  padding: 52px 52px 44px;
  display: flex;
  flex-direction: column;
  position: relative;
  overflow: hidden;
  transition: background .25s ease;
}

.onboarding-page-template .path-card:hover {
  background: var(--navy-card);
}

.onboarding-page-template .path-card::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: var(--sky);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform .4s ease;
}

.onboarding-page-template .path-card:hover::before {
  transform: scaleX(1);
}

.onboarding-page-template .path-card.digital {
  background: rgba(10,16,30,0.8);
}

.onboarding-page-template .path-card.digital:hover {
  background: var(--navy-card);
}

/* CARD LOGOS */

.onboarding-page-template .path-card-logo {
  display: flex;
  align-items: center;
  margin-bottom: 24px;
  min-height: 70px;
}

.onboarding-page-template .path-card-logo img {
  display: block;
  width: auto;
  object-fit: contain;
}

.onboarding-page-template .partners-logo img {
  height: 64px;
  max-width: 320px;
}

.onboarding-page-template .digital-logo img {
  height: 52px;
  max-width: 260px;
}

.onboarding-page-template .path-card-eyebrow {
  font-size: 10px;
  font-weight: 600;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: var(--sky);
  margin-bottom: 18px;
}

.onboarding-page-template .path-card-title {
  font-size: 28px;
  font-weight: 600;
  letter-spacing: -.025em;
  color: var(--t1);
  margin-bottom: 8px;
  line-height: 1.15;
  transition: color .2s;
}

.onboarding-page-template .path-card:hover .path-card-title {
  color: var(--sky);
}

.onboarding-page-template .path-card-sub {
  font-size: 13px;
  color: var(--t3);
  margin-bottom: 28px;
  font-style: italic;
}

.onboarding-page-template .path-reg {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 32px;
  padding: 10px 14px;
  border: 1px solid var(--rule-mid);
  background: rgba(255,255,255,0.02);
  width: fit-content;
}

.onboarding-page-template .path-reg-label {
  font-size: 9px;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--t3);
}

.onboarding-page-template .path-reg-value {
  font-size: 10px;
  font-weight: 600;
  color: var(--sky);
  letter-spacing: .04em;
}

.onboarding-page-template .path-features {
  display: flex;
  flex-direction: column;
  margin-bottom: 32px;
  border-top: 1px solid var(--rule);
  padding-top: 20px;
}

.onboarding-page-template .path-feature {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 11px 0;
  border-bottom: 1px solid var(--rule);
  font-size: 13px;
  color: var(--t2);
  line-height: 1.55;
}

.onboarding-page-template .path-feature:last-child {
  border-bottom: none;
}

.onboarding-page-template .path-feature-dot {
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: var(--sky);
  flex-shrink: 0;
  margin-top: 5px;
  opacity: .7;
}

/* ACTIONS */

.onboarding-page-template .path-actions {
  margin-top: auto;
  display: flex;
  flex-direction: column;
  min-height: 86px;
  justify-content: flex-end;
}

.onboarding-page-template .path-link-static,
.onboarding-page-template .path-link-out {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 16px;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--sky);
  text-decoration: none;
  width: fit-content;
  transition: color .15s ease, transform .15s ease, opacity .25s ease;
}

.onboarding-page-template .path-link-static::after,
.onboarding-page-template .path-link-out::after {
  content: '\2192';
  transition: transform .2s ease;
}

.onboarding-page-template .path-link-static:hover,
.onboarding-page-template .path-link-out:hover {
  color: var(--t1);
}

.onboarding-page-template .path-link-static:hover::after,
.onboarding-page-template .path-link-out:hover::after {
  transform: translateX(3px);
}

.onboarding-page-template .path-link-out {
  opacity: 0;
  transform: translateY(6px);
}

.onboarding-page-template .path-card.digital:hover .path-link-out {
  opacity: 1;
  transform: translateY(0);
}

.onboarding-page-template .path-cta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 16px 24px;
  background: var(--sky);
  color: var(--ink);
  text-decoration: none;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
  transition: background .15s, color .15s;
}

.onboarding-page-template .path-cta:hover {
  background: #4a9aef;
  color: var(--t1);
}

.onboarding-page-template .path-cta-arrow {
  font-size: 16px;
  transition: transform .2s;
}

.onboarding-page-template .path-cta:hover .path-cta-arrow {
  transform: translateX(4px);
}

/* =========================================================
   PROCESS
========================================================= */

.onboarding-page-template .process {
  background: var(--ink);
  border-bottom: 1px solid var(--rule);
  padding: 88px 64px;
}

.onboarding-page-template .process-header {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 64px;
  align-items: end;
  margin-bottom: 52px;
}

.onboarding-page-template .process-tag {
  font-size: 10px;
  font-weight: 600;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: var(--sky);
  margin-bottom: 14px;
  display: flex;
  align-items: center;
  gap: 10px;
}

.onboarding-page-template .process-tag::before {
  content: '';
  width: 20px;
  height: 1px;
  background: var(--sky);
}

.onboarding-page-template .process-h2 {
  font-size: clamp(26px, 3vw, 40px);
  font-weight: 600;
  letter-spacing: -.028em;
  line-height: 1.08;
}

.onboarding-page-template .process-h2 em {
  font-style: italic;
  font-weight: 300;
}

.onboarding-page-template .process-intro {
  font-size: 14px;
  color: var(--t2);
  line-height: 1.85;
}

.onboarding-page-template .process-steps {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0;
  background: var(--rule);
  border: 1px solid var(--rule);
}

.onboarding-page-template .step {
  background: var(--navy-mid);
  padding: 36px 28px;
  position: relative;
  overflow: hidden;
  transition: background .2s;
  border-right: 1px solid var(--rule);
}

.onboarding-page-template .step:last-child {
  border-right: none;
}

.onboarding-page-template .step:hover {
  background: var(--navy-card);
}

.onboarding-page-template .step::after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 2px;
  background: var(--sky);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform .3s;
}

.onboarding-page-template .step:hover::after {
  transform: scaleX(1);
}

.onboarding-page-template .step-num {
  font-size: 44px;
  font-weight: 800;
  letter-spacing: -.06em;
  color: rgba(107,176,255,0.1);
  line-height: 1;
  margin-bottom: 20px;
  transition: color .2s;
}

.onboarding-page-template .step:hover .step-num {
  color: rgba(107,176,255,0.18);
}

.onboarding-page-template .step-title {
  font-size: 15px;
  font-weight: 600;
  letter-spacing: -.015em;
  color: var(--t1);
  margin-bottom: 10px;
  transition: color .2s;
}

.onboarding-page-template .step:hover .step-title {
  color: var(--sky);
}

.onboarding-page-template .step-desc {
  font-size: 12px;
  color: var(--t2);
  line-height: 1.75;
}

/* =========================================================
   CHECKLIST
========================================================= */

.onboarding-page-template .checklist {
  background: var(--navy);
  border-bottom: 1px solid var(--rule);
  padding: 88px 64px;
}

.onboarding-page-template .checklist-inner {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 96px;
  align-items: start;
}

.onboarding-page-template .checklist-tag {
  font-size: 10px;
  font-weight: 600;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: var(--sky);
  margin-bottom: 14px;
  display: flex;
  align-items: center;
  gap: 10px;
}

.onboarding-page-template .checklist-tag::before {
  content: '';
  width: 20px;
  height: 1px;
  background: var(--sky);
}

.onboarding-page-template .checklist-h2 {
  font-size: clamp(24px, 2.8vw, 38px);
  font-weight: 600;
  letter-spacing: -.025em;
  line-height: 1.1;
  margin-bottom: 16px;
}

.onboarding-page-template .checklist-h2 em {
  font-style: italic;
  font-weight: 300;
}

.onboarding-page-template .checklist-body {
  font-size: 14px;
  color: var(--t2);
  line-height: 1.85;
}

.onboarding-page-template .checklist-right {
  display: flex;
  flex-direction: column;
  gap: 1px;
  background: var(--rule);
  border: 1px solid var(--rule);
}

.onboarding-page-template .check-item {
  background: var(--navy-mid);
  padding: 18px 24px;
  display: flex;
  align-items: flex-start;
  gap: 14px;
  transition: background .15s;
  position: relative;
  overflow: hidden;
}

.onboarding-page-template .check-item::before {
  content: '';
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 2px;
  background: var(--sky);
  transform: scaleY(0);
  transform-origin: top;
  transition: transform .25s;
}

.onboarding-page-template .check-item:hover {
  background: var(--navy-card);
}

.onboarding-page-template .check-item:hover::before {
  transform: scaleY(1);
}

.onboarding-page-template .check-mark {
  width: 18px;
  height: 18px;
  border: 1px solid rgba(107,176,255,0.3);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  margin-top: 1px;
}

.onboarding-page-template .check-mark svg {
  width: 10px;
  height: 10px;
  stroke: var(--sky);
  fill: none;
  stroke-width: 2.5;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.onboarding-page-template .check-text {
  font-size: 13px;
  color: var(--t2);
  line-height: 1.6;
}

.onboarding-page-template .check-text strong {
  color: var(--t1);
  font-weight: 600;
  display: block;
  margin-bottom: 1px;
  font-size: 13px;
}

/* =========================================================
   OFFLINE ONBOARDING
========================================================= */

.onboarding-page-template .offline-onboarding {
  background: var(--navy);
  border-bottom: 1px solid var(--rule);
  padding: 88px 64px;
}

.onboarding-page-template .offline-inner {
  width: 100%;
}

.onboarding-page-template .offline-intro {
  max-width: 760px;
  margin-bottom: 52px;
}

.onboarding-page-template .offline-tag {
  font-size: 10px;
  font-weight: 600;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: var(--sky);
  margin-bottom: 14px;
  display: flex;
  align-items: center;
  gap: 10px;
}

.onboarding-page-template .offline-tag::before {
  content: '';
  width: 20px;
  height: 1px;
  background: var(--sky);
}

.onboarding-page-template .offline-h2 {
  font-size: clamp(26px, 3vw, 40px);
  font-weight: 600;
  letter-spacing: -.028em;
  line-height: 1.08;
  margin-bottom: 16px;
}

.onboarding-page-template .offline-h2 em {
  font-style: italic;
  font-weight: 300;
}

.onboarding-page-template .offline-lead {
  font-size: 14px;
  color: var(--t2);
  line-height: 1.85;
  max-width: 720px;
}

.onboarding-page-template .offline-grid {
  display: grid;
  grid-template-columns: 1.2fr .8fr;
  gap: 32px;
  align-items: start;
}

.onboarding-page-template .offline-process,
.onboarding-page-template .offline-download-card {
  background: var(--navy-mid);
  border: 1px solid var(--rule);
}

.onboarding-page-template .offline-process {
  padding: 36px 36px 28px;
}

.onboarding-page-template .offline-process-head {
  margin-bottom: 28px;
}

.onboarding-page-template .offline-process-kicker {
  font-size: 10px;
  font-weight: 600;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--sky);
  margin-bottom: 10px;
}

.onboarding-page-template .offline-process-arrow,
.onboarding-page-template .offline-download-arrow {
  font-size: 18px;
  color: var(--sky);
  margin-bottom: 14px;
  line-height: 1;
}

.onboarding-page-template .offline-process h3,
.onboarding-page-template .offline-download-card h3 {
  font-size: 24px;
  font-weight: 600;
  letter-spacing: -.02em;
  line-height: 1.15;
  color: var(--t1);
  margin-bottom: 12px;
}

.onboarding-page-template .offline-process-head p,
.onboarding-page-template .offline-download-card p {
  font-size: 13px;
  color: var(--t2);
  line-height: 1.8;
}

.onboarding-page-template .offline-steps {
  display: flex;
  flex-direction: column;
  gap: 1px;
  background: var(--rule);
  border: 1px solid var(--rule);
}

.onboarding-page-template .offline-step {
  display: grid;
  grid-template-columns: 64px 1fr;
  gap: 18px;
  align-items: start;
  padding: 18px 20px;
  background: rgba(255,255,255,0.015);
  transition: background .18s ease;
}

.onboarding-page-template .offline-step:hover {
  background: rgba(107,176,255,0.05);
}

.onboarding-page-template .offline-step-num {
  font-size: 24px;
  font-weight: 700;
  letter-spacing: -.04em;
  color: rgba(107,176,255,0.42);
  line-height: 1;
}

.onboarding-page-template .offline-step-copy {
  font-size: 13px;
  color: var(--t2);
  line-height: 1.75;
}

.onboarding-page-template .offline-step-copy a {
  color: var(--sky);
  text-decoration: none;
  border-bottom: 1px solid rgba(107,176,255,0.28);
  transition: color .15s ease, border-color .15s ease;
}

.onboarding-page-template .offline-step-copy a:hover {
  color: var(--t1);
  border-color: rgba(107,176,255,0.5);
}

.onboarding-page-template .offline-download {
  display: flex;
  flex-direction: column;
}

.onboarding-page-template .offline-download-card {
  padding: 34px 32px 30px;
  position: relative;
  overflow: hidden;
  transition: background .2s ease, border-color .2s ease;
}

.onboarding-page-template .offline-download-card:hover {
  background: var(--navy-card);
  border-color: rgba(107,176,255,0.18);
}

.onboarding-page-template .offline-download-card::before {
  content: '';
  position: absolute;
  inset: 0 auto 0 0;
  width: 3px;
  background: var(--sky);
  opacity: .9;
}

.onboarding-page-template .offline-doc-eyebrow {
  font-size: 10px;
  font-weight: 600;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--sky);
  margin-bottom: 14px;
  position: relative;
  z-index: 1;
}

.onboarding-page-template .offline-download-cta {
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  margin-top: 22px;
  min-height: 48px;
  padding: 0 22px;
  background: var(--sky);
  border: 1px solid var(--sky);
  color: var(--ink);
  text-decoration: none;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  transition: background .18s ease, color .18s ease, border-color .18s ease;
}

.onboarding-page-template .offline-download-cta:hover {
  background: #4a9aef;
  border-color: #4a9aef;
  color: var(--t1);
}

.onboarding-page-template .offline-download-cta span {
  font-size: 16px;
  transition: transform .2s ease;
}

.onboarding-page-template .offline-download-cta:hover span {
  transform: translateX(3px);
}

.onboarding-page-template .offline-doc-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 18px;
  margin-top: 18px;
  padding-top: 18px;
  border-top: 1px solid var(--rule);
}

.onboarding-page-template .offline-doc-meta span {
  font-size: 11px;
  color: var(--t3);
  line-height: 1.5;
}

@media (max-width: 1100px) {
  .onboarding-page-template .offline-onboarding {
    padding-left: 32px;
    padding-right: 32px;
  }

  .onboarding-page-template .offline-grid {
    grid-template-columns: 1fr;
    gap: 24px;
  }
}

@media (max-width: 640px) {
  .onboarding-page-template .offline-onboarding {
    padding: 64px 20px;
  }

  .onboarding-page-template .offline-process,
  .onboarding-page-template .offline-download-card {
    padding: 28px 24px 24px;
  }

  .onboarding-page-template .offline-step {
    grid-template-columns: 52px 1fr;
    gap: 14px;
    padding: 16px 16px;
  }

  .onboarding-page-template .offline-download-cta {
    width: 100%;
  }
}

/* =========================================================
   CLIENTS
========================================================= */

.onboarding-page-template .clients {
  background: var(--ink);
  border-bottom: 1px solid var(--rule);
  padding: 88px 64px;
}

.onboarding-page-template .clients-inner {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 96px;
  align-items: start;
}

.onboarding-page-template .clients-tag {
  font-size: 10px;
  font-weight: 600;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: var(--sky);
  margin-bottom: 14px;
  display: flex;
  align-items: center;
  gap: 10px;
}

.onboarding-page-template .clients-tag span {
  width: 20px;
  height: 1px;
  background: var(--sky);
  display: inline-block;
}

.onboarding-page-template .clients-h2 {
  font-size: clamp(24px, 2.8vw, 38px);
  font-weight: 600;
  letter-spacing: -.025em;
  line-height: 1.1;
  margin-bottom: 16px;
}

.onboarding-page-template .clients-h2 em {
  font-style: italic;
  font-weight: 300;
}

.onboarding-page-template .clients-body {
  font-size: 14px;
  color: var(--t2);
  line-height: 1.85;
}

.onboarding-page-template .client-types {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1px;
  background: var(--rule);
  border: 1px solid var(--rule);
}

.onboarding-page-template .client-type {
  background: var(--navy-mid);
  padding: 24px 22px;
  border-top: 2px solid transparent;
  transition: all .2s;
}

.onboarding-page-template .client-type:hover {
  background: var(--navy-card);
  border-top-color: var(--sky);
}

.onboarding-page-template .client-type-lbl {
  font-size: 9px;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--sky);
  margin-bottom: 6px;
}

.onboarding-page-template .client-type-name {
  font-size: 14px;
  font-weight: 600;
  letter-spacing: -.01em;
  color: var(--t1);
  margin-bottom: 6px;
}

.onboarding-page-template .client-type-desc {
  font-size: 11px;
  color: var(--t3);
  line-height: 1.6;
}

/* =========================================================
   FAQ
========================================================= */

.onboarding-page-template .faq {
  background: var(--navy);
  border-bottom: 1px solid var(--rule);
  padding: 88px 64px;
}

.onboarding-page-template .faq-inner {
  display: grid;
  grid-template-columns: 320px 1fr;
  gap: 80px;
  align-items: start;
}

.onboarding-page-template .faq-tag {
  font-size: 10px;
  font-weight: 600;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: var(--sky);
  margin-bottom: 14px;
  display: flex;
  align-items: center;
  gap: 10px;
}

.onboarding-page-template .faq-tag::before {
  content: '';
  width: 20px;
  height: 1px;
  background: var(--sky);
}

.onboarding-page-template .faq-h2 {
  font-size: clamp(22px, 2.5vw, 34px);
  font-weight: 600;
  letter-spacing: -.025em;
  line-height: 1.12;
  margin-bottom: 16px;
}

.onboarding-page-template .faq-h2 em {
  font-style: italic;
  font-weight: 300;
}

.onboarding-page-template .faq-body {
  font-size: 13px;
  color: var(--t2);
  line-height: 1.8;
}

.onboarding-page-template .faq-right {
  display: flex;
  flex-direction: column;
  gap: 1px;
  background: var(--rule);
  border: 1px solid var(--rule);
}

.onboarding-page-template .faq-item {
  background: var(--navy-mid);
  overflow: hidden;
}

.onboarding-page-template .faq-q {
  width: 100%;
  padding: 20px 24px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  cursor: pointer;
  font-size: 14px;
  font-weight: 500;
  color: var(--t1);
  letter-spacing: -.01em;
  gap: 16px;
  transition: background .15s;
  user-select: none;
  background: transparent;
  border: 0;
  text-align: left;
}

.onboarding-page-template .faq-q:hover {
  background: rgba(107,176,255,0.04);
}

.onboarding-page-template .faq-icon {
  width: 20px;
  height: 20px;
  border: 1px solid var(--rule-mid);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  transition: background .15s, border-color .15s;
  font-size: 14px;
  color: var(--sky);
  font-weight: 300;
  line-height: 1;
}

.onboarding-page-template .faq-item.open .faq-icon {
  background: var(--sky);
  border-color: var(--sky);
  color: var(--ink);
}

.onboarding-page-template .faq-a {
  max-height: 0;
  overflow: hidden;
  transition: max-height .35s ease, padding .35s ease;
  font-size: 13px;
  color: var(--t2);
  line-height: 1.8;
  padding: 0 24px;
  border-top: 0 solid var(--rule);
}

.onboarding-page-template .faq-item.open .faq-a {
  max-height: 220px;
  padding: 16px 24px 20px;
  border-top: 1px solid var(--rule);
}

/* =========================================================
   CONTACT ALT
========================================================= */

.onboarding-page-template .contact-alt {
  background: var(--navy-mid);
  border-bottom: 1px solid var(--rule);
  padding: 0 64px;
}

.onboarding-page-template .contact-alt-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 48px;
  padding: 48px 0;
  border-left: 3px solid var(--sky);
  padding-left: 40px;
}

.onboarding-page-template .contact-alt-text h3 {
  font-size: clamp(18px, 2vw, 26px);
  font-weight: 600;
  letter-spacing: -.02em;
  margin-bottom: 8px;
}

.onboarding-page-template .contact-alt-text h3 em {
  font-style: italic;
  font-weight: 300;
}

.onboarding-page-template .contact-alt-text p {
  font-size: 14px;
  color: var(--t2);
  max-width: 520px;
  line-height: 1.75;
}

.onboarding-page-template .contact-alt-actions {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-shrink: 0;
}

/* =========================================================
   REVEAL
========================================================= */

@keyframes onboardingFadeUp {
  from {
    opacity: 0;
    transform: translateY(16px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.onboarding-page-template .reveal {
  opacity: 1;
  transform: translateY(0);
  transition: opacity .55s ease, transform .55s ease;
}

.js-loaded .onboarding-page-template .reveal {
  opacity: 0;
  transform: translateY(14px);
}

.js-loaded .onboarding-page-template .reveal.visible {
  opacity: 1;
  transform: translateY(0);
}

/* =========================================================
   RESPONSIVE
========================================================= */

@media (max-width: 1100px) {
  .onboarding-page-template .hero-content,
  .onboarding-page-template .paths,
  .onboarding-page-template .process,
  .onboarding-page-template .checklist,
  .onboarding-page-template .clients,
  .onboarding-page-template .faq,
  .onboarding-page-template .contact-alt {
    padding-left: 32px;
    padding-right: 32px;
  }

  .onboarding-page-template .paths-grid {
    grid-template-columns: 1fr;
  }

  .onboarding-page-template .process-header,
  .onboarding-page-template .checklist-inner,
  .onboarding-page-template .clients-inner {
    grid-template-columns: 1fr;
    gap: 44px;
  }

  .onboarding-page-template .process-steps {
    grid-template-columns: 1fr 1fr;
  }

  .onboarding-page-template .step {
    border-right: none;
    border-bottom: 1px solid var(--rule);
  }

  .onboarding-page-template .step:nth-child(odd) {
    border-right: 1px solid var(--rule);
  }

  .onboarding-page-template .step:last-child {
    border-bottom: none;
  }

  .onboarding-page-template .faq-inner {
    grid-template-columns: 1fr;
    gap: 40px;
  }

  .onboarding-page-template .contact-alt-inner {
    flex-direction: column;
    align-items: flex-start;
    gap: 24px;
  }

  .onboarding-page-template .hero-trust {
    gap: 14px;
  }

  .onboarding-page-template .trust-div {
    display: none;
  }

  .onboarding-page-template .path-link-out {
    opacity: 1;
    transform: none;
  }
}

@media (max-width: 640px) {
  .onboarding-page-template .hero-content {
    padding: 110px 20px 60px;
  }

  .onboarding-page-template .hero-ctas {
    flex-direction: column;
    width: 100%;
  }

  .onboarding-page-template .hero-ctas .btn-primary,
  .onboarding-page-template .hero-ctas .btn-ghost {
    width: 100%;
  }

  .onboarding-page-template .paths,
  .onboarding-page-template .process,
  .onboarding-page-template .checklist,
  .onboarding-page-template .clients,
  .onboarding-page-template .faq {
    padding: 64px 20px;
  }

  .onboarding-page-template .contact-alt {
    padding: 0 20px;
  }

  .onboarding-page-template .process-steps {
    grid-template-columns: 1fr;
  }

  .onboarding-page-template .step {
    border-right: none;
    border-bottom: 1px solid var(--rule);
  }

  .onboarding-page-template .client-types {
    grid-template-columns: 1fr;
  }

  .onboarding-page-template .contact-alt-inner {
    border-left: none;
    border-top: 3px solid var(--sky);
    padding-left: 0;
    padding-top: 32px;
  }

  .onboarding-page-template .contact-alt-actions {
    flex-direction: column;
    width: 100%;
  }

  .onboarding-page-template .contact-alt-actions .btn-primary,
  .onboarding-page-template .contact-alt-actions .btn-ghost {
    width: 100%;
  }

  .onboarding-page-template .path-card {
    padding: 36px 28px 32px;
  }

  .onboarding-page-template .partners-logo img {
    height: 54px;
    max-width: 260px;
  }

  .onboarding-page-template .digital-logo img {
    height: 46px;
    max-width: 220px;
  }
}

/* =========================================================
   CONTACT PAGE TEMPLATE
   Matched more closely to Onboarding page styling
========================================================= */

.contact-page-template {
  --ink: #080c18;
  --navy: #0c1424;
  --navy-mid: #111d30;
  --navy-card: #152340;
  --slate: #1b2a42;

  --t1: #f0f2f5;
  --t2: #8a97a8;
  --t3: #4a5868;

  --rule: rgba(255,255,255,0.07);
  --rule-mid: rgba(255,255,255,0.12);
  --rule-strong: rgba(255,255,255,0.18);

  --sky: #6BB0FF;
  --sky-dim: rgba(107,176,255,0.09);
  --sapphire: #004FAC;

  color: var(--t1);
  background: var(--ink);
  overflow-x: hidden;
  -webkit-font-smoothing: antialiased;
}

.contact-page-template *,
.contact-page-template *::before,
.contact-page-template *::after {
  box-sizing: border-box;
}

/* =========================================================
   SHARED BUTTON LANGUAGE
========================================================= */

.contact-page-template .btn-primary,
.contact-page-template .btn-ghost {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 0 24px;
  text-decoration: none;
  white-space: nowrap;
  transition: all .18s ease;
}

.contact-page-template .btn-primary {
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--ink);
  background: var(--sky);
  border: 1px solid var(--sky);
}

.contact-page-template .btn-primary:hover {
  background: #4a9aef;
  border-color: #4a9aef;
  color: var(--t1);
}

.contact-page-template .btn-ghost {
  font-size: 11px;
  font-weight: 500;
  color: var(--t2);
  border: 1px solid var(--rule-mid);
  background: transparent;
  gap: 8px;
}

.contact-page-template .btn-ghost:hover {
  color: var(--t1);
  border-color: rgba(107,176,255,0.3);
  background: rgba(255,255,255,0.02);
}

.contact-page-template .btn-ghost::after {
  content: '\2192';
  transition: transform .2s;
}

.contact-page-template .btn-ghost:hover::after {
  transform: translateX(3px);
}

.contact-page-template .text-link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: var(--sky);
  text-decoration: none;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .12em;
  text-transform: uppercase;
  transition: color .15s ease, transform .15s ease;
}

.contact-page-template .text-link::after {
  content: '\2192';
  transition: transform .2s ease;
}

.contact-page-template .text-link:hover {
  color: var(--t1);
}

.contact-page-template .text-link:hover::after {
  transform: translateX(3px);
}

/* =========================================================
   SHARED KICKER / TAG LANGUAGE
========================================================= */

.contact-page-template .page-eyebrow {
  font-size: 10px;
  font-weight: 600;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--sky);
  margin-bottom: 20px;
  display: inline-flex;
  align-items: center;
  gap: 14px;
}

.contact-page-template .page-eyebrow::before,
.contact-page-template .page-eyebrow::after {
  content: '';
  width: 24px;
  height: 1px;
  background: var(--sky);
}

.contact-page-template .section-kicker {
  font-size: 10px;
  font-weight: 600;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: var(--sky);
  margin-bottom: 14px;
  display: inline-flex;
  align-items: center;
  gap: 10px;
}

.contact-page-template .section-kicker::before {
  content: '';
  width: 20px;
  height: 1px;
  background: var(--sky);
}

/* optional modifier if you want some headings to have both sides */
.contact-page-template .section-kicker.kicker-centered::after {
  content: '';
  width: 20px;
  height: 1px;
  background: var(--sky);
}

/* =========================================================
   HERO
========================================================= */

.contact-page-template .contact-hero {
  position: relative;
  border-bottom: 1px solid var(--rule);
  background: var(--ink);
  overflow: hidden;
}

.contact-page-template .contact-hero-bg {
  position: absolute;
  inset: 0;
  background:
    radial-gradient(ellipse 70% 60% at 50% 100%, rgba(0,79,172,0.11) 0%, transparent 58%),
    linear-gradient(180deg, #060a14 0%, #080c18 100%);
  pointer-events: none;
}

.contact-page-template .contact-hero::after {
  content: '';
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(rgba(255,255,255,0.015) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,0.015) 1px, transparent 1px);
  background-size: 80px 80px;
  pointer-events: none;
}

.contact-page-template .contact-hero-inner {
  position: relative;
  z-index: 2;
  width: 100%;
  max-width: 980px;
  margin: 0 auto;
  padding: 148px 64px 80px;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}

.contact-page-template .contact-hero h1 {
  font-size: clamp(38px, 5vw, 68px);
  font-weight: 600;
  letter-spacing: -.035em;
  line-height: 1.06;
  margin: 0 0 20px;
  max-width: 760px;
}

.contact-page-template .contact-hero h1 em {
  font-style: italic;
  font-weight: 300;
  color: var(--sky);
}

.contact-page-template .hero-lead {
  max-width: 620px;
  font-size: 16px;
  color: var(--t2);
  line-height: 1.75;
  margin: 0;
}

/* =========================================================
   MAIN LAYOUT
========================================================= */

.contact-page-template .contact-main {
  padding: 88px 64px 0;
  background: var(--navy);
  border-bottom: 1px solid var(--rule);
}

.contact-page-template .contact-main-grid {
  max-width: 1240px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: minmax(0, 0.92fr) minmax(0, 1.08fr);
  gap: 28px;
  align-items: start;
}

.contact-page-template .contact-details-column,
.contact-page-template .contact-form-column {
  min-width: 0;
}

/* =========================================================
   PANELS
========================================================= */

.contact-page-template .details-panel,
.contact-page-template .form-shell {
  background: var(--navy-mid);
  border: 1px solid var(--rule);
}

.contact-page-template .details-panel {
  padding: 30px 30px 32px;
}

.contact-page-template .form-shell {
  padding: 30px;
}

.contact-page-template .details-panel h2,
.contact-page-template .form-header h2,
.contact-page-template .final-band-copy h2 {
  font-size: clamp(24px, 2.8vw, 38px);
  font-weight: 600;
  letter-spacing: -.025em;
  line-height: 1.1;
  margin: 0 0 16px;
  color: var(--t1);
}

.contact-page-template .details-panel h2 em,
.contact-page-template .form-header h2 em,
.contact-page-template .final-band-copy h2 em {
  font-style: italic;
  font-weight: 300;
}

.contact-page-template .details-panel p,
.contact-page-template .form-header p,
.contact-page-template .final-band-copy p {
  font-size: 14px;
  color: var(--t2);
  line-height: 1.85;
  margin: 0 0 16px;
}

.contact-page-template .details-panel a {
  color: var(--sky);
  text-decoration: none;
}

.contact-page-template .details-panel a:hover {
  color: #84bcff;
}

.contact-page-template .contact-intro {
  margin-bottom: 22px;
}

/* =========================================================
   DIGITAL ENTITY NOTE
========================================================= */

.contact-page-template .digital-entity-note {
  margin-top: 24px;
  padding-top: 18px;
  border-top: 1px solid var(--rule);
}

.contact-page-template .digital-entity-note p {
  margin: 0;
  font-size: 13px;
  line-height: 1.8;
  color: var(--t3);
}

.contact-page-template .digital-entity-note a {
  color: var(--sky);
  font-weight: 600;
  text-decoration: none;
}

.contact-page-template .digital-entity-note a:hover {
  color: #84bcff;
}

/* =========================================================
   CONTACT LIST
========================================================= */

.contact-page-template .contact-list {
  display: flex;
  flex-direction: column;
}

.contact-page-template .contact-row {
  display: grid;
  grid-template-columns: 180px 1fr;
  gap: 20px;
  padding: 16px 0;
  border-bottom: 1px solid var(--rule);
}

.contact-page-template .contact-row:first-child {
  padding-top: 0;
}

.contact-page-template .contact-row:last-child {
  border-bottom: none;
  padding-bottom: 0;
}

.contact-page-template .contact-label {
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--t3);
}

.contact-page-template .contact-value {
  font-size: 14px;
  line-height: 1.8;
  color: var(--t1);
}

.contact-page-template .contact-value a {
  color: var(--t1);
  text-decoration: none;
}

.contact-page-template .contact-value a:hover {
  color: var(--sky);
}

/* =========================================================
   FORM
========================================================= */

.contact-page-template .form-header {
  padding-bottom: 20px;
  margin-bottom: 20px;
  border-bottom: 1px solid var(--rule);
}

.contact-page-template .form-response-time {
  margin: 0;
  font-size: 13px;
  line-height: 1.75;
  color: var(--t3);
}

.contact-page-template .contact-form {
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.contact-page-template .form-grid.two-col {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
}

.contact-page-template .field {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.contact-page-template .field label {
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--t3);
}

.contact-page-template .field label span {
  color: var(--sky);
}

.contact-page-template .field input,
.contact-page-template .field select,
.contact-page-template .field textarea {
  width: 100%;
  min-height: 42px;
  background: #10192b;
  border: 1px solid var(--rule-mid);
  color: var(--t1);
  font-family: inherit;
  font-size: 14px;
  padding: 10px 12px;
  outline: none;
  transition: border-color .2s ease, background .2s ease;
  appearance: none;
  border-radius: 0;
}

.contact-page-template .field input::placeholder,
.contact-page-template .field textarea::placeholder {
  color: var(--t3);
}

.contact-page-template .field input:focus,
.contact-page-template .field select:focus,
.contact-page-template .field textarea:focus {
  border-color: var(--sky);
  background: #132039;
}

.contact-page-template .field textarea {
  min-height: 108px;
  resize: vertical;
  line-height: 1.65;
  padding-top: 10px;
  padding-bottom: 10px;
}

.contact-page-template .field select {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%238a97a8' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 12px center;
  padding-right: 34px;
  cursor: pointer;
}

.contact-page-template .field select option {
  background: #111d30;
  color: var(--t1);
}

.contact-page-template .radio-row {
  display: flex;
  align-items: center;
  gap: 24px;
  margin-top: 2px;
  flex-wrap: wrap;
}

.contact-page-template .radio-opt {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 14px;
  color: var(--t2);
  cursor: pointer;
  text-transform: none;
  letter-spacing: 0;
  font-weight: 400;
}

.contact-page-template .radio-opt input[type="radio"] {
  appearance: auto;
  -webkit-appearance: radio;
  -moz-appearance: auto;
  width: 14px;
  height: 14px;
  min-height: 0;
  padding: 0;
  margin: 0;
  border: none;
  border-radius: 50%;
  background: transparent;
  box-shadow: none;
  accent-color: var(--sky);
  cursor: pointer;
  flex: 0 0 14px;
}

.contact-page-template .form-submit-row {
  display: flex;
  align-items: center;
  gap: 18px;
  flex-wrap: wrap;
  padding-top: 4px;
}

.contact-page-template .submit-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 0 24px;
  font-family: inherit;
  border: 1px solid var(--sky);
  cursor: pointer;
  background: var(--sky);
  color: var(--ink);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .08em;
  text-transform: uppercase;
  transition: all .18s ease;
}

.contact-page-template .submit-btn:hover {
  background: #4a9aef;
  border-color: #4a9aef;
  color: var(--t1);
}

.contact-page-template .form-privacy {
  margin: 0;
  font-size: 12px;
  line-height: 1.65;
  color: var(--t3);
  max-width: 420px;
}

.contact-page-template .form-privacy a {
  color: var(--t2);
  text-decoration: none;
}

.contact-page-template .form-privacy a:hover {
  color: var(--sky);
}

.contact-page-template #form-success {
  display: none;
  margin-top: 8px;
  padding: 24px;
  border: 1px solid rgba(107,176,255,0.22);
  background: rgba(107,176,255,0.05);
}

.contact-page-template #form-success h3 {
  margin: 0 0 8px;
  font-size: 18px;
  font-weight: 600;
  color: var(--sky);
}

.contact-page-template #form-success p {
  margin: 0;
  font-size: 14px;
  line-height: 1.75;
  color: var(--t2);
}

/* =========================================================
   FINAL BAND
========================================================= */

.contact-page-template .contact-final-band {
  background: var(--ink);
  padding: 88px 64px;
}

.contact-page-template .contact-final-band-inner {
  max-width: 1240px;
  margin: 0 auto;
  padding: 48px 0;
  border-left: 3px solid var(--sky);
  padding-left: 40px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 48px;
}

.contact-page-template .final-band-copy {
  max-width: 720px;
}

.contact-page-template .final-band-copy p {
  margin: 0;
}

.contact-page-template .final-band-side {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 22px;
  flex-shrink: 0;
}

.contact-page-template .final-band-stats {
  display: flex;
  align-items: center;
  gap: 26px;
  flex-wrap: wrap;
}

.contact-page-template .final-stat {
  text-align: center;
}

.contact-page-template .final-stat strong {
  display: block;
  font-size: 28px;
  line-height: 1;
  font-weight: 600;
  color: var(--t1);
  margin-bottom: 6px;
}

.contact-page-template .final-stat span {
  font-size: 11px;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--t3);
}

.contact-page-template .final-band-actions {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
}

/* =========================================================
   OTHER FIELD (DYNAMIC FORM INPUTS)
========================================================= */

.contact-page-template .other-field-wrap {
  max-height: 0;
  overflow: hidden;
  opacity: 0;
  transform: translateY(-4px);
  transition: max-height .22s ease, opacity .18s ease, transform .18s ease, margin-top .18s ease;
  margin-top: 0;
}

.contact-page-template .other-field-wrap.is-visible {
  max-height: 70px;
  opacity: 1;
  transform: translateY(0);
  margin-top: 8px;
}

.contact-page-template .other-field {
  width: 100%;
}

/* =========================================================
   RESPONSIVE
========================================================= */

@media (max-width: 1100px) {
  .contact-page-template .contact-hero-inner,
  .contact-page-template .contact-main,
  .contact-page-template .contact-final-band {
    padding-left: 32px;
    padding-right: 32px;
  }

  .contact-page-template .contact-main-grid {
    grid-template-columns: 1fr;
  }

  .contact-page-template .contact-final-band-inner {
    flex-direction: column;
    align-items: flex-start;
    gap: 24px;
  }

  .contact-page-template .final-band-side {
    align-items: flex-start;
  }
}

@media (max-width: 640px) {
  .contact-page-template .contact-hero-inner {
    padding: 110px 20px 60px;
  }

  .contact-page-template .contact-main,
  .contact-page-template .contact-final-band {
    padding: 64px 20px;
  }

  .contact-page-template .contact-main {
    padding-bottom: 0;
  }

  .contact-page-template .form-grid.two-col {
    grid-template-columns: 1fr;
  }

  .contact-page-template .contact-row {
    grid-template-columns: 1fr;
    gap: 8px;
  }

  .contact-page-template .form-shell,
  .contact-page-template .details-panel {
    padding: 24px 20px;
  }

  .contact-page-template .contact-final-band-inner {
    border-left: none;
    border-top: 3px solid var(--sky);
    padding-left: 0;
    padding-top: 32px;
    padding-bottom: 0;
  }

  .contact-page-template .form-submit-row,
  .contact-page-template .final-band-actions {
    flex-direction: column;
    align-items: flex-start;
    width: 100%;
  }

  .contact-page-template .submit-btn,
  .contact-page-template .final-band-actions .btn-primary,
  .contact-page-template .final-band-actions .btn-ghost {
    width: 100%;
  }

  .contact-page-template .page-eyebrow::before,
  .contact-page-template .page-eyebrow::after {
    width: 18px;
  }
}

/* =========================================================
   CONTACT PAGE - WPFORMS FINAL LAYOUT FIX
========================================================= */

.contact-page-template .contact-form-live .wpforms-container {
  margin: 0 !important;
}

.contact-page-template .contact-form-live .wpforms-form {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: flex-start !important;
  margin-left: -7px !important;
  margin-right: -7px !important;
}

.contact-page-template .contact-form-live .wpforms-field {
  width: 100% !important;
  padding: 0 7px !important;
  margin: 0 0 16px !important;
  box-sizing: border-box !important;
}

.contact-page-template .contact-form-live .wpforms-field.dkk-full {
  width: 100% !important;
  flex: 0 0 100% !important;
  max-width: 100% !important;
}

.contact-page-template .contact-form-live .wpforms-field.dkk-half {
  width: 50% !important;
  flex: 0 0 50% !important;
  max-width: 50% !important;
}

.contact-page-template .contact-form-live .wpforms-field-label {
  display: block !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;
  color: var(--t3) !important;
  margin: 0 0 6px !important;
  line-height: 1.4 !important;
}

.contact-page-template .contact-form-live .wpforms-required-label {
  color: var(--sky) !important;
}

.contact-page-template .contact-form-live input[type="text"],
.contact-page-template .contact-form-live input[type="email"],
.contact-page-template .contact-form-live input[type="tel"],
.contact-page-template .contact-form-live input[type="url"],
.contact-page-template .contact-form-live input[type="number"],
.contact-page-template .contact-form-live select,
.contact-page-template .contact-form-live textarea {
  width: 100% !important;
  max-width: 100% !important;
  min-height: 42px !important;
  background: #10192b !important;
  border: 1px solid var(--rule-mid) !important;
  color: var(--t1) !important;
  font-family: inherit !important;
  font-size: 14px !important;
  padding: 10px 12px !important;
  outline: none !important;
  transition: border-color .2s ease, background .2s ease !important;
  appearance: none !important;
  -webkit-appearance: none !important;
  -moz-appearance: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

.contact-page-template .contact-form-live input::placeholder,
.contact-page-template .contact-form-live textarea::placeholder {
  color: var(--t3) !important;
  opacity: 1 !important;
}

.contact-page-template .contact-form-live input:focus,
.contact-page-template .contact-form-live select:focus,
.contact-page-template .contact-form-live textarea:focus {
  border-color: var(--sky) !important;
  background: #132039 !important;
}

.contact-page-template .contact-form-live textarea {
  min-height: 108px !important;
  resize: vertical !important;
  line-height: 1.65 !important;
  padding-top: 10px !important;
  padding-bottom: 10px !important;
}

.contact-page-template .contact-form-live select {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%238a97a8' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 12px center !important;
  padding-right: 34px !important;
  cursor: pointer !important;
}

.contact-page-template .contact-form-live .wpforms-field-description,
.contact-page-template .contact-form-live .wpforms-field-sublabel,
.contact-page-template .contact-form-live .wpforms-page-indicator {
  color: var(--t3) !important;
}

.contact-page-template .contact-form-live .wpforms-submit-container {
  width: 100% !important;
  flex: 0 0 100% !important;
  max-width: 100% !important;
  padding: 8px 7px 0 !important;
  margin: 0 !important;
}

.contact-page-template .contact-form-live button[type="submit"] {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 48px !important;
  padding: 0 24px !important;
  font-family: inherit !important;
  border: 1px solid var(--sky) !important;
  cursor: pointer !important;
  background: var(--sky) !important;
  color: var(--ink) !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;
  transition: all .18s ease !important;
  border-radius: 0 !important;
}

.contact-page-template .contact-form-live button[type="submit"]:hover {
  background: #4a9aef !important;
  border-color: #4a9aef !important;
  color: var(--t1) !important;
}

.contact-page-template .contact-form-live .wpforms-confirmation-container-full {
  width: 100% !important;
  margin: 8px 7px 0 !important;
  padding: 24px !important;
  border: 1px solid rgba(107,176,255,0.22) !important;
  background: rgba(107,176,255,0.05) !important;
  color: var(--t2) !important;
}

.contact-page-template .contact-form-live .wpforms-confirmation-container-full p {
  margin: 0 !important;
  font-size: 14px !important;
  line-height: 1.75 !important;
  color: var(--t2) !important;
}

.contact-page-template .contact-form-live .wpforms-error {
  color: #ff8c8c !important;
  font-size: 12px !important;
}

.contact-page-template .wpforms-privacy-note {
  margin: 18px 0 0;
  font-size: 12px;
  line-height: 1.65;
  color: var(--t3);
  max-width: 420px;
}

.contact-page-template .wpforms-privacy-note a {
  color: var(--t2);
  text-decoration: none;
}

.contact-page-template .wpforms-privacy-note a:hover {
  color: var(--sky);
}

@media (max-width: 640px) {
  .contact-page-template .contact-form-live .wpforms-field.dkk-half {
    width: 100% !important;
    flex: 0 0 100% !important;
    max-width: 100% !important;
  }
}

/* =========================================================
   CONTACT PAGE - WPFORMS RADIO STYLING
========================================================= */

.contact-page-template .contact-form-live .wpforms-field-radio ul,
.contact-page-template .contact-form-live .wpforms-field-checkbox ul {
  list-style: none !important;
  margin: 6px 0 0 !important;
  padding: 0 !important;
}

.contact-page-template .contact-form-live .wpforms-field-radio li,
.contact-page-template .contact-form-live .wpforms-field-checkbox li {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  margin: 0 0 10px !important;
  padding: 0 !important;
}

.contact-page-template .contact-form-live .wpforms-field-radio input[type="radio"],
.contact-page-template .contact-form-live .wpforms-field-checkbox input[type="checkbox"] {
  appearance: auto !important;
  -webkit-appearance: radio !important;
  -moz-appearance: auto !important;
  width: 14px !important;
  height: 14px !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
  box-shadow: none !important;
  accent-color: var(--sky) !important;
  cursor: pointer !important;
  flex: 0 0 14px !important;
}

.contact-page-template .contact-form-live .wpforms-field-radio label,
.contact-page-template .contact-form-live .wpforms-field-checkbox label {
  font-size: 14px !important;
  line-height: 1.5 !important;
  color: var(--t2) !important;
  font-weight: 400 !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  margin: 0 !important;
  cursor: pointer !important;
}

.contact-page-template .contact-form-live .wpforms-field-radio label:hover,
.contact-page-template .contact-form-live .wpforms-field-checkbox label:hover {
  color: var(--t1) !important;
}

/* =========================================================
   TERMS & CONDITIONS PAGE TEMPLATE
========================================================= */

.terms-and-conditions-page-template {
  --ink: #080c18;
  --navy: #0c1424;
  --navy-mid: #111d30;
  --navy-card: #152340;

  --t1: #f0f2f5;
  --t2: #8a97a8;
  --t3: #4a5868;

  --rule: rgba(255,255,255,0.07);
  --rule-mid: rgba(255,255,255,0.12);

  --sky: #6BB0FF;
  --sky-dim: rgba(107,176,255,0.08);

  color: var(--t1);
  background: var(--ink);
  overflow-x: hidden;
  -webkit-font-smoothing: antialiased;
}

.terms-and-conditions-page-template *,
.terms-and-conditions-page-template *::before,
.terms-and-conditions-page-template *::after {
  box-sizing: border-box;
}

/* HERO */

.terms-and-conditions-page-template .terms-hero {
  position: relative;
  background: var(--ink);
  overflow: hidden;
}

.terms-and-conditions-page-template .terms-hero-bg {
  position: absolute;
  inset: 0;
  background:
    radial-gradient(ellipse 70% 60% at 50% 100%, rgba(0,79,172,0.11) 0%, transparent 58%),
    linear-gradient(180deg, #060a14 0%, #080c18 100%);
  pointer-events: none;
}

.terms-and-conditions-page-template .terms-hero::after {
  content: '';
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(rgba(255,255,255,0.015) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,0.015) 1px, transparent 1px);
  background-size: 80px 80px;
  pointer-events: none;
}

.terms-and-conditions-page-template .terms-hero-inner {
  position: relative;
  z-index: 2;
  width: 100%;
  max-width: 1180px;
  margin: 0 auto;
  padding: 190px 64px 124px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  text-align: left;
  min-height: 420px;
}

.terms-and-conditions-page-template .page-eyebrow {
  font-size: 10px;
  font-weight: 600;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--sky);
  margin-bottom: 20px;
  display: inline-flex;
  align-items: center;
  gap: 14px;
}

.terms-and-conditions-page-template .page-eyebrow::before,
.terms-and-conditions-page-template .page-eyebrow::after {
  content: '';
  width: 24px;
  height: 1px;
  background: var(--sky);
}

.terms-and-conditions-page-template .terms-hero h1 {
  font-size: clamp(38px, 5vw, 68px);
  font-weight: 600;
  letter-spacing: -.035em;
  line-height: 1.06;
  margin: 0 0 20px;
  max-width: 760px;
  color: var(--t1);
}

.terms-and-conditions-page-template .terms-hero h1 em {
  font-style: italic;
  font-weight: 300;
  color: var(--sky);
}

.terms-and-conditions-page-template .hero-lead {
  max-width: 620px;
  font-size: 16px;
  color: var(--t2);
  line-height: 1.75;
  margin: 0;
}

/* DOCUMENT LAYOUT */

.terms-and-conditions-page-template .doc-body {
  position: relative;
  z-index: 3;
  max-width: 1240px;
  margin: -44px auto 0;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 320px;
  gap: 0;
  padding: 0 64px 0;
  border-bottom: 1px solid var(--rule);
}

.terms-and-conditions-page-template .doc-content {
  padding: 56px 48px 64px;
  max-width: none;
  background: rgba(12, 20, 36, 0.82);
  border: 1px solid var(--rule);
  backdrop-filter: blur(10px);
}

.terms-and-conditions-page-template .doc-intro {
  margin-bottom: 44px;
  padding-bottom: 36px;
  border-bottom: 1px solid var(--rule);
  font-size: 16px;
  color: var(--t2);
  line-height: 1.85;
}

.terms-and-conditions-page-template .doc-section {
  position: relative;
  margin-bottom: 40px;
  padding-bottom: 36px;
  border-bottom: 1px solid var(--rule);
}

.terms-and-conditions-page-template .doc-section:last-child {
  margin-bottom: 0;
  padding-bottom: 0;
  border-bottom: none;
}

.terms-and-conditions-page-template .doc-section::after {
  content: '';
  position: absolute;
  left: 0;
  bottom: -1px;
  width: 56px;
  height: 1px;
  background: rgba(107,176,255,0.35);
}

.terms-and-conditions-page-template .doc-section:last-child::after {
  display: none;
}

.terms-and-conditions-page-template .doc-section-num {
  margin-bottom: 8px;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--sky);
}

.terms-and-conditions-page-template .doc-section h3 {
  margin-bottom: 14px;
  font-size: 18px;
  font-weight: 600;
  letter-spacing: -0.02em;
  color: var(--t1);
}

.terms-and-conditions-page-template .doc-section p {
  margin-bottom: 12px;
  font-size: 15px;
  color: var(--t2);
  line-height: 1.85;
}

.terms-and-conditions-page-template .doc-section p:last-child {
  margin-bottom: 0;
}

.terms-and-conditions-page-template .doc-section ul {
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin-bottom: 12px;
}

.terms-and-conditions-page-template .doc-section li {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  font-size: 15px;
  color: var(--t2);
  line-height: 1.75;
}

.terms-and-conditions-page-template .doc-section li::before {
  content: '';
  width: 4px;
  height: 4px;
  margin-top: 8px;
  flex-shrink: 0;
  border-radius: 50%;
  background: var(--sky);
  opacity: 0.6;
}

.terms-and-conditions-page-template .doc-section strong {
  color: var(--t1);
  font-weight: 600;
}

.terms-and-conditions-page-template .doc-section a {
  color: var(--sky);
  text-decoration: none;
  border-bottom: 1px solid rgba(107,176,255,0.3);
}

.terms-and-conditions-page-template .doc-section a:hover {
  border-color: var(--sky);
}

/* DISCLAIMER */

.terms-and-conditions-page-template .doc-disclaimer {
  margin-top: 36px;
  padding: 18px 22px;
  background: rgba(107,176,255,0.04);
  border: 1px solid var(--rule);
  border-left: 2px solid var(--sky);
}

.terms-and-conditions-page-template .doc-disclaimer p {
  margin: 0;
  font-size: 13px;
  color: var(--t3);
  line-height: 1.8;
  font-style: italic;
}

/* SIDEBAR */

.terms-and-conditions-page-template .doc-sidebar {
  padding: 32px;
  background:
    linear-gradient(180deg, rgba(255,255,255,0.02) 0%, rgba(255,255,255,0) 100%),
    rgba(12, 20, 36, 0.92);
  border-top: 1px solid var(--rule);
  border-right: 1px solid var(--rule);
  border-bottom: 1px solid var(--rule);
  backdrop-filter: blur(10px);
}

.terms-and-conditions-page-template .pdf-card {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-bottom: 26px;
  padding: 20px;
  background: var(--navy-mid);
  border: 1px solid var(--rule-mid);
  text-decoration: none;
  box-shadow: 0 10px 30px rgba(0,0,0,0.16);
  transition: all 0.2s ease;
}

.terms-and-conditions-page-template .pdf-card:hover {
  background: var(--navy-card);
  border-color: rgba(107,176,255,0.25);
  transform: translateY(-1px);
}

.terms-and-conditions-page-template .pdf-icon {
  width: 38px;
  height: 38px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--sky-dim);
  border: 1px solid rgba(107,176,255,0.2);
  flex-shrink: 0;
}

.terms-and-conditions-page-template .pdf-icon svg {
  width: 16px;
  height: 16px;
  stroke: var(--sky);
  fill: none;
  stroke-width: 1.5;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.terms-and-conditions-page-template .pdf-label {
  margin-bottom: 3px;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--t3);
}

.terms-and-conditions-page-template .pdf-name {
  font-size: 14px;
  font-weight: 600;
  color: var(--t1);
}

.terms-and-conditions-page-template .pdf-type {
  margin-top: 2px;
  font-size: 11px;
  color: var(--sky);
}

.terms-and-conditions-page-template .sidebar-block {
  padding: 22px 0;
  border-bottom: 1px solid var(--rule);
}

.terms-and-conditions-page-template .sidebar-block:last-child {
  border-bottom: none;
}

.terms-and-conditions-page-template .sidebar-block-label {
  margin-bottom: 10px;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--t3);
}

.terms-and-conditions-page-template .sidebar-block-text {
  font-size: 13px;
  color: var(--t2);
  line-height: 1.8;
}

.terms-and-conditions-page-template .sidebar-block-text a {
  color: var(--sky);
  text-decoration: none;
}

.terms-and-conditions-page-template .other-policies {
  display: flex;
  flex-direction: column;
  gap: 1px;
  margin-top: 12px;
  background: var(--rule);
  border: 1px solid var(--rule);
}

.terms-and-conditions-page-template .other-policy-link {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 14px;
  background: var(--navy-mid);
  font-size: 13px;
  color: var(--t3);
  text-decoration: none;
  box-shadow: 0 10px 30px rgba(0,0,0,0.16);
  transition: all 0.15s ease;
}

.terms-and-conditions-page-template .other-policy-link:hover {
  background: var(--navy-card);
  color: var(--t2);
}

.terms-and-conditions-page-template .other-policy-link span {
  color: var(--sky);
}

/* RESPONSIVE */

@media (max-width: 1100px) {
  .terms-and-conditions-page-template .terms-hero-inner {
    padding: 160px 32px 104px;
    min-height: 360px;
  }

  .terms-and-conditions-page-template .doc-body {
    grid-template-columns: 1fr;
    margin-top: -28px;
    padding: 0 32px;
  }

  .terms-and-conditions-page-template .doc-content {
    padding: 40px 32px 56px;
  }

  .terms-and-conditions-page-template .doc-sidebar {
    padding: 32px;
    border-left: 1px solid var(--rule);
    border-right: 1px solid var(--rule);
    border-top: none;
  }
}

@media (max-width: 640px) {
  .terms-and-conditions-page-template .terms-hero-inner {
    padding: 128px 20px 88px;
    min-height: auto;
  }

  .terms-and-conditions-page-template .terms-hero h1 {
    font-size: clamp(30px, 8vw, 42px);
  }

  .terms-and-conditions-page-template .hero-lead {
    font-size: 15px;
  }

  .terms-and-conditions-page-template .page-eyebrow::before,
  .terms-and-conditions-page-template .page-eyebrow::after {
    width: 18px;
  }

  .terms-and-conditions-page-template .doc-body {
    margin-top: -20px;
    padding: 0 20px;
  }

  .terms-and-conditions-page-template .doc-content {
    padding: 32px 20px 48px;
  }

  .terms-and-conditions-page-template .doc-sidebar {
    padding: 28px 20px;
  }
}

/* =========================================================
   PRIVACY POLICY PAGE TEMPLATE
   Uses Terms page styling with corrected bullet alignment
========================================================= */

.privacy-policy-page-template {
  background: transparent;
}

/* Fix all bullet lists on the Privacy page */

.privacy-policy-page-template .doc-section ul {
  list-style: none;
  margin: 12px 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.privacy-policy-page-template .doc-section li {
  display: grid !important;
  grid-template-columns: 12px 1fr;
  column-gap: 10px;
  align-items: start;
  padding: 0 !important;
  margin: 0;
  font-size: 15px;
  color: var(--t2);
  line-height: 1.75;
}

/* Replace inherited Terms bullet styling */
.privacy-policy-page-template .doc-section li::before {
  content: '';
  display: block;
  width: 4px;
  height: 4px;
  margin-top: 11px;
  border-radius: 50%;
  background: var(--sky);
  opacity: 0.6;
  position: static !important;
  left: auto !important;
  top: auto !important;
  flex: none !important;
}

/* Make all list content sit in the text column */
.privacy-policy-page-template .doc-section li > * {
  grid-column: 2;
}

/* If list item is plain text, it stays aligned */
.privacy-policy-page-template .doc-section li {
  white-space: normal;
}

/* Structured list styling for section 05 */
.privacy-policy-page-template .doc-section li strong {
  display: block;
  margin: 0 0 4px;
  color: var(--t1);
  font-weight: 600;
}

.privacy-policy-page-template .doc-section li p {
  margin: 0;
  font-size: 15px;
  color: var(--t2);
  line-height: 1.75;
}

/* =========================================================
   COMPLAINTS POLICY PAGE TEMPLATE
   Uses Terms page styling with corrected bullet alignment
========================================================= */

.complaints-policy-page-template {
  background: transparent;
}

/* Fix all bullet lists on the Complaints page */

.complaints-policy-page-template .doc-section ul {
  list-style: none;
  margin: 12px 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.complaints-policy-page-template .doc-section li {
  display: grid !important;
  grid-template-columns: 12px 1fr;
  column-gap: 10px;
  align-items: start;
  padding: 0 !important;
  margin: 0;
  font-size: 15px;
  color: var(--t2);
  line-height: 1.75;
}

.complaints-policy-page-template .doc-section li::before {
  content: '';
  display: block;
  width: 4px;
  height: 4px;
  margin-top: 11px;
  border-radius: 50%;
  background: var(--sky);
  opacity: 0.6;
  position: static !important;
  left: auto !important;
  top: auto !important;
  flex: none !important;
}

/* Make all list content sit in the text column */
.complaints-policy-page-template .doc-section li > * {
  grid-column: 2;
}

/* If list item is plain text, it stays aligned */
.complaints-policy-page-template .doc-section li {
  white-space: normal;
}

/* Structured list styling */
.complaints-policy-page-template .doc-section li strong {
  display: block;
  margin: 0 0 4px;
  color: var(--t1);
  font-weight: 600;
}

.complaints-policy-page-template .doc-section li p {
  margin: 0;
  font-size: 15px;
  color: var(--t2);
  line-height: 1.75;
}

/* Contact blocks unique to Complaints page */

.complaints-policy-page-template .contact-block {
  background: var(--navy-mid);
  border: 1px solid var(--rule-mid);
  padding: 20px 24px;
  margin-top: 16px;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.complaints-policy-page-template .contact-block-name {
  font-size: 13px;
  font-weight: 600;
  color: var(--t1);
  margin-bottom: 4px;
}

.complaints-policy-page-template .contact-block-row {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  font-size: 13px;
  color: var(--t2);
}

.complaints-policy-page-template .contact-block-label {
  font-size: 9px;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--t3);
  min-width: 72px;
  padding-top: 2px;
  flex-shrink: 0;
}

.complaints-policy-page-template .contact-block-val a {
  color: var(--sky);
  text-decoration: none;
  border-bottom: 1px solid rgba(107,176,255,0.3);
}

.complaints-policy-page-template .contact-block-val a:hover {
  border-color: var(--sky);
}

@media (max-width: 640px) {
  .complaints-policy-page-template .contact-block-row {
    flex-direction: column;
    gap: 4px;
  }

  .complaints-policy-page-template .contact-block-label {
    min-width: 0;
  }
}

/* Complaints page — phone number colour fix */

.complaints-policy-page-template .sidebar-block a[href^="tel"] {
  color: var(--t2);
  text-decoration: none;
}

.complaints-policy-page-template .sidebar-block a[href^="tel"]:hover {
  color: var(--t2);
  border-bottom: none;
}

/* =========================================================
   COOKIE POLICY PAGE TEMPLATE
========================================================= */

.cookie-policy-page-template {
  background: transparent;
}

.cookie-policy-page-template .doc-intro {
  font-size: 15px;
  color: var(--t2);
  line-height: 1.9;
}

.cookie-policy-page-template .doc-intro a,
.cookie-policy-page-template .doc-section a {
  color: var(--sky);
  text-decoration: none;
  border-bottom: 1px solid rgba(107,176,255,0.3);
}

.cookie-policy-page-template .doc-intro a:hover,
.cookie-policy-page-template .doc-section a:hover {
  border-color: var(--sky);
}

.cookie-policy-page-template .doc-section ul {
  list-style: none;
  margin: 12px 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.cookie-policy-page-template .doc-section li {
  display: grid !important;
  grid-template-columns: 12px 1fr;
  column-gap: 10px;
  align-items: start;
  padding: 0 !important;
  margin: 0;
  font-size: 15px;
  color: var(--t2);
  line-height: 1.75;
  white-space: normal;
}

.cookie-policy-page-template .doc-section li::before {
  content: '';
  display: block;
  width: 4px;
  height: 4px;
  margin-top: 11px;
  border-radius: 50%;
  background: var(--sky);
  opacity: 0.6;
  position: static !important;
  left: auto !important;
  top: auto !important;
  flex: none !important;
}

.cookie-policy-page-template .doc-section li > * {
  grid-column: 2;
}

.cookie-policy-page-template .doc-section li strong {
  display: block;
  margin: 0 0 4px;
  color: var(--t1);
  font-weight: 600;
}

.cookie-policy-page-template .doc-section li p {
  margin: 0;
  font-size: 15px;
  color: var(--t2);
  line-height: 1.75;
}

/* Cookie type table */
.cookie-policy-page-template .cookie-types {
  display: flex;
  flex-direction: column;
  gap: 1px;
  background: var(--rule);
  border: 1px solid var(--rule);
  margin-top: 16px;
}

.cookie-policy-page-template .cookie-type-row {
  background: var(--navy-mid);
  display: grid;
  grid-template-columns: 200px 1fr;
  transition: background 0.15s ease;
}

.cookie-policy-page-template .cookie-type-row:hover {
  background: var(--navy-card);
}

.cookie-policy-page-template .cookie-type-name {
  padding: 18px 20px;
  border-right: 1px solid var(--rule);
}

.cookie-policy-page-template .cookie-type-label {
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--sky);
  margin-bottom: 4px;
}

.cookie-policy-page-template .cookie-type-tag {
  font-size: 9px;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  padding: 2px 8px;
  display: inline-block;
  margin-top: 4px;
}

.cookie-policy-page-template .cookie-type-tag.essential {
  color: var(--sky);
  background: rgba(107,176,255,0.09);
  border: 1px solid rgba(107,176,255,0.2);
}

.cookie-policy-page-template .cookie-type-tag.optional {
  color: var(--t3);
  background: rgba(255,255,255,0.03);
  border: 1px solid var(--rule-mid);
}

.cookie-policy-page-template .cookie-type-desc {
  padding: 18px 20px;
  font-size: 13px;
  color: var(--t2);
  line-height: 1.7;
  display: flex;
  align-items: center;
}

/* Contact block */
.cookie-policy-page-template .contact-block {
  background: var(--navy-mid);
  border: 1px solid var(--rule-mid);
  padding: 20px 24px;
  margin-top: 16px;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.cookie-policy-page-template .contact-block-name {
  font-size: 13px;
  font-weight: 600;
  color: var(--t1);
  margin-bottom: 4px;
}

.cookie-policy-page-template .contact-block-row {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  font-size: 13px;
  color: var(--t2);
}

.cookie-policy-page-template .contact-block-label {
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--t3);
  min-width: 64px;
  padding-top: 2px;
  flex-shrink: 0;
}

.cookie-policy-page-template .contact-block-val {
  font-size: 13px;
  color: var(--t2);
  line-height: 1.7;
}

.cookie-policy-page-template .contact-block-val a {
  color: var(--sky);
  text-decoration: none;
  border-bottom: 1px solid rgba(107,176,255,0.3);
}

.cookie-policy-page-template .contact-block-val a:hover {
  border-color: var(--sky);
}

@media (max-width: 1100px) {
  .cookie-policy-page-template .cookie-type-row {
    grid-template-columns: 1fr;
  }

  .cookie-policy-page-template .cookie-type-name {
    border-right: none;
    border-bottom: 1px solid var(--rule);
  }
}

@media (max-width: 640px) {
  .cookie-policy-page-template .contact-block {
    padding: 18px 16px;
  }

  .cookie-policy-page-template .contact-block-row {
    flex-direction: column;
    gap: 4px;
  }

  .cookie-policy-page-template .contact-block-label {
    min-width: 0;
  }
}

/* =========================================================
   DKK FINAL CONSOLIDATED PATCH
   Replaces all duplicated mobile/tablet/spacing patches
   Paste at the VERY END of style.css
========================================================= */

/* =========================================================
   1) GLOBAL TYPOGRAPHY / INLINE SPACING CONSISTENCY
   Fixes visual loss of spacing between regular/bold/italic
   across Mac, Windows, mobile, tablet, iPad, etc.
========================================================= */

html {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
}

body {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

em,
i {
  font-style: italic;
  display: inline;
  margin: 0;
  padding: 0;
  letter-spacing: normal;
  word-spacing: normal;
  font-kerning: normal;
  font-variant-ligatures: common-ligatures;
  text-rendering: optimizeLegibility;
}

h1 em, h2 em, h3 em, h4 em, h5 em, h6 em,
h1 i,  h2 i,  h3 i,  h4 i,  h5 i,  h6 i,
p em,  p i,
li em, li i,
a em,  a i,
span em, span i,
strong em, strong i,
b em, b i,
em strong, i strong,
em b, i b,
.hero em, .hero i,
.page-hero em, .page-hero i,
.entities-hero em, .entities-hero i,
.section-title em, .section-title i,
.page-title em, .page-title i,
.card-title em, .card-title i,
.contact-big em, .contact-big i,
.enquiries-heading em, .enquiries-heading i,
.newsletter-heading em, .newsletter-heading i,
.roles-sidebar-heading em, .roles-sidebar-heading i,
.spec-title em, .spec-title i,
.pillar-title em, .pillar-title i,
.capability-title em, .capability-title i,
.press-card-title em, .press-card-title i,
.media-card-title em, .media-card-title i,
.prefooter-heading em, .prefooter-heading i,
.story-pull em, .story-pull i,
.manifesto-quote em, .manifesto-quote i,
.vision-callout-text em, .vision-callout-text i,
.mv-text em, .mv-text i,
.stat-value em, .stat-value i,
.entity-name em, .entity-name i,
.team-name em, .team-name i,
.founder-name em, .founder-name i,
.reg-entity em, .reg-entity i,
.role-title em, .role-title i,
.testimonial-quote em, .testimonial-quote i,
.spec-follow-text em, .spec-follow-text i,
.timeline-year em, .timeline-year i,
.role-card-title em, .role-card-title i {
  display: inline !important;
  margin: 0 !important;
  padding: 0 !important;
  letter-spacing: normal !important;
  word-spacing: normal !important;
  white-space: inherit !important;
}

h1, h2, h3, h4, h5, h6,
.page-hero h1,
.hero h1,
.section-title,
.page-title,
.card-title,
.contact-big,
.enquiries-heading,
.newsletter-heading,
.roles-sidebar-heading,
.spec-title,
.pillar-title,
.capability-title,
.press-card-title,
.media-card-title,
.prefooter-heading,
.story-pull,
.manifesto-quote,
.vision-callout-text,
.mv-text,
.stat-value,
.entity-name,
.team-name,
.founder-name,
.reg-entity,
.role-title,
.testimonial-quote,
.spec-follow-text,
.timeline-year,
.role-card-title {
  word-spacing: normal !important;
}

/* Keep footer brand spacing visually clean */
.site-footer .footer-title,
.site-footer .footer-brand,
.footer-title,
.footer-brand {
  word-spacing: normal !important;
  letter-spacing: normal !important;
}

/* =========================================================
   2) MOBILE/TABLET HERO TYPOGRAPHY FIXES
========================================================= */

@media (max-width: 1024px) {
  .hero,
  .page-hero,
  .contact-hero,
  .terms-hero,
  .entities-hero {
    min-height: auto !important;
    overflow: visible !important;
  }

  h1,
  .page-hero h1,
  .hero h1 {
    overflow: visible !important;
  }
}

@media (max-width: 767px) {
  h1,
  .page-hero h1,
  .hero h1 {
    line-height: 1.06 !important;
  }
}

/* =========================================================
   3) GLOBAL SAFETY FIXES FOR MOBILE/TABLET CROPPING
========================================================= */

@media (max-width: 1024px) {
  .page-hero,
  .hero,
  .entities-hero,
  .page-hero-inner,
  .hero-inner,
  .entities-hero-inner {
    overflow: visible !important;
  }

  .page-hero-inner,
  .hero-inner,
  .entities-hero-inner,
  .hero-content,
  .hero-left,
  .hero-right {
    min-width: 0 !important;
    max-width: 100% !important;
  }

  .hero img,
  .hero svg,
  .page-hero img,
  .page-hero svg,
  .entities-hero img,
  .entities-hero svg {
    max-width: 100% !important;
    height: auto !important;
  }
}

/* =========================================================
   4) HERO TOP SPACING
========================================================= */

/* Desktop */
.cross-border-payments-page-template .hero,
.fx-liquidity-page-template .hero-content,
.emerging-market-access-page-template .page-hero,
.markets-page-template.emerging-market-access-page-template .page-hero {
  padding-top: 96px !important;
}

@media (min-width: 1101px) {
  .about-page-template .page-hero,
  .careers-page-template .page-hero,
  .markets-page-template .page-hero {
    padding-top: 148px !important;
  }

  .press-media-page-template .page-hero {
    padding-top: 142px !important;
  }

  .about-page-template .page-hero-inner,
  .careers-page-template .page-hero-inner,
  .markets-page-template .page-hero-inner,
  .press-media-page-template .page-hero-inner {
    position: relative;
    z-index: 2;
  }
}

/* Tablet */
@media (max-width: 1100px) {
  .hero {
    padding-top: 104px !important;
    padding-bottom: 64px !important;
  }

  .about-page-template .page-hero,
  .careers-page-template .page-hero,
  .press-media-page-template .page-hero,
  .markets-page-template .page-hero,
  .group-entities-page-template .entities-hero,
  .contact-page-template .contact-hero,
  .terms-and-conditions-page-template .terms-hero,
  .privacy-policy-page-template .terms-hero,
  .complaints-policy-page-template .terms-hero,
  .cookie-policy-page-template .terms-hero {
    padding-top: 104px !important;
  }

  .cross-border-payments-page-template .hero,
  .cross-border-payments-page-template .hero-left,
  .cross-border-payments-page-template .hero-content,
  .emerging-market-access-page-template .page-hero,
  .emerging-market-access-page-template .page-hero-inner,
  .emerging-market-access-page-template .hero-inner,
  .emerging-market-access-page-template .hero-content,
  .emerging-market-access-page-template .hero-copy,
  .emerging-market-access-page-template .hero-main,
  .emerging-market-access-page-template .hero-left {
    padding-top: 88px !important;
    margin-top: 0 !important;
    min-height: auto !important;
  }

  .cross-border-payments-page-template .hero,
  .emerging-market-access-page-template .page-hero,
  .markets-page-template.emerging-market-access-page-template .page-hero {
    min-height: auto !important;
    margin-top: 0 !important;
  }

  .cross-border-payments-page-template .hero-left,
  .emerging-market-access-page-template .page-hero-inner,
  .emerging-market-access-page-template .hero-inner {
    justify-content: flex-start !important;
    align-items: flex-start !important;
  }
}

/* Mobile */
@media (max-width: 767px) {
  .hero {
    padding-top: 88px !important;
    padding-bottom: 52px !important;
  }

  .about-page-template .page-hero,
  .careers-page-template .page-hero,
  .press-media-page-template .page-hero,
  .markets-page-template .page-hero,
  .group-entities-page-template .entities-hero,
  .contact-page-template .contact-hero,
  .terms-and-conditions-page-template .terms-hero,
  .privacy-policy-page-template .terms-hero,
  .complaints-policy-page-template .terms-hero,
  .cookie-policy-page-template .terms-hero {
    padding-top: 88px !important;
  }
}

@media (max-width: 640px) {
  .cross-border-payments-page-template .hero,
  .cross-border-payments-page-template .hero-left,
  .cross-border-payments-page-template .hero-content,
  .emerging-market-access-page-template .page-hero,
  .emerging-market-access-page-template .page-hero-inner,
  .emerging-market-access-page-template .hero-inner,
  .emerging-market-access-page-template .hero-content,
  .emerging-market-access-page-template .hero-copy,
  .emerging-market-access-page-template .hero-main,
  .emerging-market-access-page-template .hero-left {
    padding-top: 80px !important;
    margin-top: 0 !important;
    min-height: auto !important;
  }
}

/* =========================================================
   5) CROSS-BORDER PAYMENTS HERO VISUAL FIX
========================================================= */

@media (max-width: 1100px) {
  .cross-border-payments-page-template .hero {
    display: grid !important;
    grid-template-columns: 1fr !important;
    min-height: auto !important;
    overflow: visible !important;
  }

  .cross-border-payments-page-template .hero-divider {
    display: none !important;
  }

  .cross-border-payments-page-template .hero-left,
  .cross-border-payments-page-template .hero-right {
    width: 100% !important;
    padding-left: 32px !important;
    padding-right: 32px !important;
  }

  .cross-border-payments-page-template .hero-right {
    display: flex !important;
    visibility: visible !important;
    opacity: 1 !important;
    align-items: center !important;
    justify-content: center !important;
    padding-top: 16px !important;
    padding-bottom: 56px !important;
    background: transparent !important;
  }

  .cross-border-payments-page-template .hero-right svg,
  .cross-border-payments-page-template .hero-right img,
  .cross-border-payments-page-template .hero-right picture,
  .cross-border-payments-page-template .hero-right canvas {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    width: 100% !important;
    max-width: 440px !important;
    height: auto !important;
    margin: 0 auto !important;
  }

  .cross-border-payments-page-template .hero-right * {
    visibility: visible !important;
  }
}

@media (max-width: 767px) {
  .cross-border-payments-page-template .hero-left {
    padding: 96px 20px 24px !important;
  }

  .cross-border-payments-page-template .hero-right {
    padding: 0 20px 36px !important;
  }

  .cross-border-payments-page-template .hero h1 em {
    display: inline !important;
  }
}

@media (max-width: 640px) {
  .cross-border-payments-page-template .hero-right {
    padding: 0 20px 40px !important;
  }

  .cross-border-payments-page-template .hero-right svg,
  .cross-border-payments-page-template .hero-right img,
  .cross-border-payments-page-template .hero-right picture,
  .cross-border-payments-page-template .hero-right canvas {
    max-width: 360px !important;
  }
}

/* =========================================================
   6) EMERGING MARKET ACCESS HERO FIX
========================================================= */

@media (max-width: 1024px) {
  .markets-page-template .page-hero,
  .emerging-market-access-page-template .page-hero {
    min-height: auto !important;
    overflow: visible !important;
  }

  .markets-page-template .hero-inner,
  .emerging-market-access-page-template .hero-inner,
  .markets-page-template .page-hero-inner,
  .emerging-market-access-page-template .page-hero-inner {
    grid-template-columns: 1fr !important;
    gap: 28px !important;
    align-items: start !important;
  }

  .markets-page-template .hero-regional-presence,
  .emerging-market-access-page-template .hero-regional-presence,
  .markets-page-template .regional-presence-box,
  .emerging-market-access-page-template .regional-presence-box,
  .markets-page-template .hero-panel,
  .emerging-market-access-page-template .hero-panel,
  .markets-page-template .hero-side-card,
  .emerging-market-access-page-template .hero-side-card {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    position: relative !important;
    inset: auto !important;
    width: 100% !important;
    max-width: 100% !important;
    margin-top: 8px !important;
  }
}

@media (max-width: 767px) {
  .markets-page-template .hero-regional-presence,
  .emerging-market-access-page-template .hero-regional-presence,
  .markets-page-template .regional-presence-box,
  .emerging-market-access-page-template .regional-presence-box,
  .markets-page-template .hero-panel,
  .emerging-market-access-page-template .hero-panel,
  .markets-page-template .hero-side-card,
  .emerging-market-access-page-template .hero-side-card {
    padding: 18px !important;
  }
}

/* =========================================================
   7) GLOBAL MARKETS "JUMP TO REGION" FIX
========================================================= */

@media (max-width: 1024px) {
  .markets-page-template .jump-to-region,
  .markets-page-template .jump-to,
  .markets-page-template .region-jump,
  .markets-page-template .hero-region-nav,
  .markets-page-template .region-tabs,
  .markets-page-template .region-tab-wrap {
    display: flex !important;
    visibility: visible !important;
    opacity: 1 !important;
    flex-wrap: wrap !important;
    gap: 10px !important;
    width: 100% !important;
    max-width: 100% !important;
    margin-top: 20px !important;
    position: relative !important;
    z-index: 3 !important;
  }

  .markets-page-template .region-tab,
  .markets-page-template .jump-to-region a,
  .markets-page-template .jump-to a,
  .markets-page-template .region-jump a,
  .markets-page-template .hero-region-nav a {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 42px !important;
    padding: 10px 14px !important;
    white-space: normal !important;
  }
}

@media (max-width: 767px) {
  .markets-page-template .jump-to-region,
  .markets-page-template .jump-to,
  .markets-page-template .region-jump,
  .markets-page-template .hero-region-nav,
  .markets-page-template .region-tabs,
  .markets-page-template .region-tab-wrap {
    flex-direction: column !important;
    align-items: stretch !important;
  }
}

/* =========================================================
   8) PRESS & MEDIA HERO + FILTER FIXES
========================================================= */

@media (max-width: 1024px) {
  .press-media-page-template .page-hero {
    min-height: auto !important;
    overflow: visible !important;
    padding-top: 104px !important;
    padding-bottom: 56px !important;
  }

  .press-media-page-template .page-hero-inner,
  .press-media-page-template .page-hero h1,
  .press-media-page-template .page-hero-lead {
    max-width: 100% !important;
    overflow: visible !important;
  }

  .press-media-page-template .filter-bar {
    display: flex !important;
    flex-wrap: wrap !important;
    width: 100% !important;
    gap: 8px !important;
    border: none !important;
    background: transparent !important;
  }

  .press-media-page-template .filter-btn {
    border: 1px solid var(--rule) !important;
    flex: 0 1 auto !important;
    min-height: 42px !important;
    padding: 10px 16px !important;
  }
}

@media (max-width: 767px) {
  .press-media-page-template .page-hero {
    padding-top: 88px !important;
    padding-bottom: 48px !important;
  }

  .press-media-page-template .filter-bar {
    gap: 8px !important;
  }

  .press-media-page-template .filter-btn {
    flex: 1 1 calc(50% - 8px) !important;
    text-align: center !important;
    border-right: 1px solid var(--rule) !important;
    border-bottom: 1px solid var(--rule) !important;
  }

  .press-media-page-template .hero-stats {
    flex-wrap: wrap !important;
    justify-content: flex-start !important;
    gap: 14px !important;
  }

  .press-media-page-template .hero-stat-item {
    min-width: calc(50% - 8px) !important;
    text-align: left !important;
  }
}

/* =========================================================
   9) CONTACT FORM PRIVACY SENTENCE FIX
========================================================= */

@media (max-width: 1024px) {
  .contact-section .contact-form-wrap .wpforms-field-html,
  .contact-section .contact-form-wrap .wpforms-field-html p,
  .contact-section .contact-form-wrap .wpforms-field-description {
    white-space: normal !important;
    word-spacing: normal !important;
    letter-spacing: normal !important;
  }
}

/* =========================================================
   10) FOOTER / LEGAL LINK COLOUR FIXES
========================================================= */

@media (max-width: 1024px) {
  footer a,
  .footer a,
  .site-footer a,
  .footer-copy a,
  .footer-legal a,
  .footer-links a,
  .footer-disc-block a,
  .footer-disc-regs a,
  .footer-disc-regs span a,
  .footer-disc-regs strong a {
    color: var(--t2) !important;
    text-decoration: none !important;
    -webkit-text-fill-color: var(--t2) !important;
  }

  footer a:hover,
  footer a:focus,
  footer a:active,
  footer a:visited,
  .footer a:hover,
  .footer a:focus,
  .footer a:active,
  .footer a:visited,
  .site-footer a:hover,
  .site-footer a:focus,
  .site-footer a:active,
  .site-footer a:visited,
  .footer-copy a:hover,
  .footer-copy a:focus,
  .footer-copy a:active,
  .footer-copy a:visited,
  .footer-legal a:hover,
  .footer-legal a:focus,
  .footer-legal a:active,
  .footer-legal a:visited,
  .footer-links a:hover,
  .footer-links a:focus,
  .footer-links a:active,
  .footer-links a:visited,
  .footer-disc-block a:hover,
  .footer-disc-block a:focus,
  .footer-disc-block a:active,
  .footer-disc-block a:visited,
  .footer-disc-regs a:hover,
  .footer-disc-regs a:focus,
  .footer-disc-regs a:active,
  .footer-disc-regs a:visited {
    color: var(--t2) !important;
    -webkit-text-fill-color: var(--t2) !important;
  }

  a[href*="31000317046503"],
  a[href*="31000317046503"]:visited,
  a[href*="31000317046503"]:hover,
  a[href*="31000317046503"]:focus,
  a[href*="msb"],
  a[href*="msb"]:visited,
  a[href*="msb"]:hover,
  a[href*="msb"]:focus,
  .msb-number,
  .msb-license,
  .msb-licence,
  .licence-number,
  .license-number {
    color: var(--t2) !important;
    -webkit-text-fill-color: var(--t2) !important;
    text-decoration: none !important;
    border-bottom-color: transparent !important;
  }
}

/* =========================================================
   11) MOBILE NAV CONSISTENCY
========================================================= */

@media (max-width: 1180px) {
  .mobile-nav-links .mobile-nav-cta,
  .mobile-nav-links .menu-item-cta a,
  .mobile-nav-links a[href*="onboard"],
  .mobile-nav-links a[href*="onboarding"],
  .mobile-nav-links a.mobile-nav-cta,
  .mobile-nav-links li a.mobile-nav-cta {
    text-transform: uppercase !important;
    letter-spacing: 0.08em !important;
  }
}

/* =========================================================
   12) KEEP-TOGETHER UTILITY
========================================================= */

@media (max-width: 1024px) {
  .keep-together {
    white-space: nowrap !important;
    display: inline !important;
  }
}

/* =========================================================
   13) GLOBAL MOBILE / TABLET HEADING SPACING FIX
   Stronger gap before italic words across site
========================================================= */

@media (max-width: 1024px) {
  h1,
  h2,
  h3,
  .contact-big,
  .spec-title,
  .manifesto-quote,
  .story-pull,
  .vision-callout-text,
  .mv-text,
  .stat-value,
  .entity-name,
  .team-name,
  .founder-name,
  .reg-entity,
  .role-title,
  .testimonial-quote,
  .spec-follow-text,
  .timeline-year,
  .roles-sidebar-heading,
  .role-card-title,
  .prefooter-heading,
  .capability-title,
  .pillar-title {
    word-spacing: normal !important;
    font-kerning: normal !important;
    text-rendering: optimizeLegibility !important;
  }

  h1,
  h2 {
    letter-spacing: 0 !important;
  }

  h3,
  .contact-big,
  .spec-title,
  .manifesto-quote,
  .story-pull,
  .vision-callout-text,
  .mv-text,
  .stat-value,
  .entity-name,
  .team-name,
  .founder-name,
  .reg-entity,
  .role-title,
  .testimonial-quote,
  .spec-follow-text,
  .timeline-year,
  .roles-sidebar-heading,
  .role-card-title,
  .prefooter-heading,
  .capability-title,
  .pillar-title {
    letter-spacing: normal !important;
  }

  h1 em,
  h2 em,
  h3 em,
  .contact-big em,
  .spec-title em,
  .manifesto-quote em,
  .story-pull em,
  .vision-callout-text em,
  .mv-text em,
  .stat-value em,
  .entity-name em,
  .team-name em,
  .founder-name em,
  .reg-entity em,
  .role-title em,
  .testimonial-quote em,
  .spec-follow-text em,
  .timeline-year em,
  .roles-sidebar-heading em,
  .role-card-title em,
  .prefooter-heading em,
  .capability-title em,
  .pillar-title em,
  h1 i,
  h2 i,
  h3 i,
  .contact-big i,
  .spec-title i,
  .manifesto-quote i,
  .story-pull i,
  .vision-callout-text i,
  .mv-text i,
  .stat-value i,
  .entity-name i,
  .team-name i,
  .founder-name i,
  .reg-entity i,
  .role-title i,
  .testimonial-quote i,
  .spec-follow-text i,
  .timeline-year i,
  .roles-sidebar-heading i,
  .role-card-title i,
  .prefooter-heading i,
  .capability-title i,
  .pillar-title i {
    display: inline !important;
    font-style: italic !important;
    letter-spacing: 0 !important;
    word-spacing: normal !important;
    white-space: normal !important;
    margin-left: 0.14em !important;
    padding-left: 0 !important;
  }
}

@media (max-width: 767px) {
  h1,
  h2,
  h3,
  .contact-big,
  .spec-title,
  .manifesto-quote,
  .story-pull,
  .vision-callout-text,
  .mv-text,
  .stat-value,
  .entity-name,
  .team-name,
  .founder-name,
  .reg-entity,
  .role-title,
  .testimonial-quote,
  .spec-follow-text,
  .timeline-year,
  .roles-sidebar-heading,
  .role-card-title,
  .prefooter-heading,
  .capability-title,
  .pillar-title {
    letter-spacing: 0 !important;
  }

  h1 {
    line-height: 1.08 !important;
  }

  h2 {
    line-height: 1.12 !important;
  }

  h1 em,
  h2 em,
  h3 em,
  .contact-big em,
  .spec-title em,
  .manifesto-quote em,
  .story-pull em,
  .vision-callout-text em,
  .mv-text em,
  .stat-value em,
  .entity-name em,
  .team-name em,
  .founder-name em,
  .reg-entity em,
  .role-title em,
  .testimonial-quote em,
  .spec-follow-text em,
  .timeline-year em,
  .roles-sidebar-heading em,
  .role-card-title em,
  .prefooter-heading em,
  .capability-title em,
  .pillar-title em,
  h1 i,
  h2 i,
  h3 i,
  .contact-big i,
  .spec-title i,
  .manifesto-quote i,
  .story-pull i,
  .vision-callout-text i,
  .mv-text i,
  .stat-value i,
  .entity-name i,
  .team-name i,
  .founder-name i,
  .reg-entity i,
  .role-title i,
  .testimonial-quote i,
  .spec-follow-text i,
  .timeline-year i,
  .roles-sidebar-heading i,
  .role-card-title i,
  .prefooter-heading i,
  .capability-title i,
  .pillar-title i {
    letter-spacing: 0 !important;
    margin-left: 0.16em !important;
  }
}

.hero h1 span,
.page-hero h1 span,
.hero-editorial h1 span,
section h2 span,
.contact-big span {
  display: inline;
}