@font-face {
    font-family: 'Manrope';
    src: url('../fonts/manrope/Manrope-VariableFont_wght.woff2') format('woff2');
    font-style: normal;
    font-weight: 200 800;
    font-display: swap;
}

@font-face {
    font-family: 'Newsreader';
    src: url('../fonts/newsreader/Newsreader-VariableFont_opsz,wght.woff2') format('woff2');
    font-style: normal;
    font-weight: 200 800;
    font-display: swap;
}

@font-face {
    font-family: 'Newsreader';
    src: url('../fonts/newsreader/Newsreader-Italic-VariableFont_opsz,wght.woff2') format('woff2');
    font-style: italic;
    font-weight: 200 800;
    font-display: swap;
}

















:root {
    --primary: #1E4B99;
    --deep-blue: #00327D;
    --hero-blue: #114FA2;
    --blue-tint: #E6F6FF;
    --mint: #9AF6B8;
    --red: #B6171E;
    --orange: #FC7D00;
    --text: #1A1C1E;
    --text-muted: #434653;
    --white: #FFFFFF;
    --surface: #F9F9FC;
    --wash: #F3FAFF;
    --border: #D8E0EA;
  --page-transition-enter-duration: 220ms;
  --page-transition-exit-duration: 160ms;
  --page-transition-distance: 5px;
  --page-transition-easing: cubic-bezier(0.22, 1, 0.36, 1);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
    margin: 0;
    color: var(--text);
    background: #fff;
    font-family: 'Manrope', Arial, sans-serif;
    font-size: 16px;
    line-height: 1.6;
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
}
body.menu-open { overflow: hidden; }


.skip-link {
  position: fixed;
  top: 10px;
  left: 10px;
  z-index: 200;
  transform: translateY(-160%);
  padding: 10px 14px;
  border-radius: 8px;
  background: var(--deep-blue);
  color: var(--white);
  font-size: 14px;
  font-weight: 700;
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.18);
}
.skip-link:focus { transform: translateY(0); }
#main-content:focus { outline: none; }


/* Subtle page-to-page transition. The sticky header stays visually stable. */
body.page-is-leaving main,
body.page-is-leaving .site-footer {
  opacity: 0;
  transform: translateY(-5px);
  pointer-events: none;
  transition: opacity 160ms cubic-bezier(0.22, 1, 0.36, 1), transform 160ms cubic-bezier(0.22, 1, 0.36, 1);
}

@media (prefers-reduced-motion: reduce) {
  body.page-is-leaving main,
  body.page-is-leaving .site-footer {
    opacity: 1;
    transform: none;
    transition: none;
  }
}
a { color: inherit; text-decoration: none; }
img { display: block; max-width: 100%; }
.responsive-picture { display:block; }
button, input, textarea { font: inherit; }
button { cursor: pointer; }
h1, h2, h3, p { margin-top: 0; }
p { font-size: 16px; }
h1, h2, h3 { font-family: 'Newsreader', Georgia, serif; }

.site-container {
    width: calc(100% - 128px);
    max-width: 1152px;
    margin-inline: auto;
}
.desktop-only { display: inline; }
.section-soft { background: var(--surface); }
.section-blue-wash { background: var(--wash); }

/* Header */
.site-header {
    height: 80px;
    background: #fff;
    position: sticky;
    top: 0;
    z-index: 50;
    border-bottom: 1px solid #eff1f4;
}
.header-inner {
    height: 80px;
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    align-items: center;
}
.brand { justify-self: start; }
.brand img { width: 132px; height: auto; }
.desktop-nav { display: flex; align-items: center; gap: 44px; height: 100%; }
.desktop-nav a {
    position: relative;
    color: #40434a;
    font-size: 17px;
    padding: 29px 0 25px;
}
.desktop-nav a.active { color: var(--red); font-weight: 600; }
.desktop-nav a.active::after {
    content: '';
    position: absolute;
    height: 2px;
    left: 0;
    right: 0;
    bottom: 19px;
    background: var(--red);
}
.header-cta { justify-self: end; }
.menu-toggle { display: none; }
.mobile-menu { display: none; }

/* Shared buttons */
.btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 11px;
    height: 48px;
    padding: 0 27px;
    border-radius: 999px;
    border: 0;
    font-family: 'Manrope', sans-serif;
    font-size: 16px;
    font-weight: 600;
    white-space: nowrap;
    transition: transform .18s ease, opacity .18s ease;
}
.btn:hover { transform: translateY(-1px); opacity: .94; }
.btn-primary { background: #1e4f9f; color: #fff; }
.btn-mint { background: var(--mint); color: #04326e; }

.eyebrow {
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .14em;
    line-height: 1.3;
    text-transform: uppercase;
}
.eyebrow-light { color: #c8ffe0; }
.eyebrow-orange { color: var(--orange); }
.eyebrow-red { color: var(--red); }
.eyebrow-dot {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: #65ff9c;
    display: inline-block;
    margin-right: 8px;
}

/* HOME - Hero */
.home-hero {
    height: 688px;
    color: #fff;
    background: linear-gradient(180deg, #114a9c 0%, #1254a9 100%);
    overflow: hidden;
}
.home-hero-grid {
    height: 100%;
    display: grid;
    grid-template-columns: 1fr 566px;
    gap: 58px;
    align-items: center;
}
.home-hero-copy { padding-bottom: 7px; }
.home-hero-copy .eyebrow { margin-bottom: 24px; }
.home-hero-copy h1 {
    margin-bottom: 34px;
    color: #fff;
    font-size: 54px;
    font-weight: 650;
    line-height: .98;
    letter-spacing: -.025em;
}
.home-hero-copy h1 span { color: #7dffad; }
.home-hero-copy p {
    width: 455px;
    margin-bottom: 39px;
    color: rgba(255,255,255,.86);
    font-size: 16px;
    line-height: 1.55;
}
.home-hero-visual {
    position: relative;
    width: 566px;
    height: 600px;
}
.home-hero-visual > .responsive-picture { width:100%; height:100%; }
.hero-photo {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 25px;
}
.hero-social-proof {
    --social-proof-width: 171px;
    --social-proof-height: 50px;
    --social-proof-avatar-size: 30px;
    --social-proof-avatar-overlap: -7px;
    --social-proof-font-size: 10px;

    position: absolute;
    top: 22px;
    right: 19px;
    width: var(--social-proof-width);
    height: var(--social-proof-height);
    padding: 8px 18px;
    display: flex;
    align-items: center;
    gap: 13px;
    border-radius: 999px;
    background: #fff;
    box-shadow: 0 9px 24px rgba(18, 45, 75, .11);
}
.mini-avatars {
    display: flex;
    align-items: center;
    flex: 0 0 auto;
}
.mini-avatars img,
.mini-avatars span {
    width: var(--social-proof-avatar-size);
    height: var(--social-proof-avatar-size);
    border: 2px solid #fff;
    border-radius: 50%;
    flex: 0 0 var(--social-proof-avatar-size);
}
.mini-avatars > * + * { margin-left: var(--social-proof-avatar-overlap); }
.mini-avatars img {
    display: block;
    object-fit: cover;
    background: #fff;
}
.mini-avatars span {
    background: #E6E8ED;
    display: grid;
    place-items: center;
    color: #434653;
    font-size: var(--social-proof-font-size);
    font-weight: 600;
}
.hero-social-proof-copy {
    min-width: 0;
    font-family: 'Manrope', Arial, sans-serif;
    line-height: 1.15;
}
.hero-social-proof strong,
.hero-social-proof small {
    display: block;
    font-family: inherit;
    font-size: var(--social-proof-font-size);
    white-space: nowrap;
}
.hero-social-proof strong {
    color: #434653;
    font-weight: 400;
}
.hero-social-proof small {
    margin-top: 3px;
    color: #007A48;
    font-weight: 500;
}
.hero-success-badge {
    --success-badge-width: 204px;
    --success-badge-height: 83px;
    --success-badge-radius: 15px;
    --success-badge-icon-size: 48px;
    --success-badge-title-size: 27px;
    --success-badge-label-size: 11px;
    --success-badge-gap: 15px;
    --success-badge-padding-x: 16px;
    position: absolute;
    left: -38px;
    bottom: 35px;
    width: var(--success-badge-width);
    height: var(--success-badge-height);
    padding: 0 var(--success-badge-padding-x);
    display: flex;
    align-items: center;
    gap: var(--success-badge-gap);
    border: 1px solid rgba(255,255,255,.76);
    border-radius: var(--success-badge-radius);
    background: rgba(255,255,255,.70);
    color: var(--text);
    box-shadow: 0 10px 26px rgba(12,38,70,.13), inset 0 1px 0 rgba(255,255,255,.52);
    -webkit-backdrop-filter: blur(14px) saturate(120%);
    backdrop-filter: blur(14px) saturate(120%);
}
.visa-success-icon {
    width: var(--success-badge-icon-size);
    height: var(--success-badge-icon-size);
    flex: 0 0 var(--success-badge-icon-size);
    object-fit: contain;
}
.hero-success-copy { min-width:0; font-family:'Manrope', Arial, sans-serif; }
.hero-success-badge strong,
.hero-success-badge small { display:block; font-family:inherit; white-space:nowrap; }
.hero-success-badge strong { font-size:var(--success-badge-title-size); font-weight:700; line-height:1; }
.hero-success-badge small { margin-top:4px; color:#434653; font-size:var(--success-badge-label-size); font-weight:500; line-height:1.2; }

/* HOME - Stats */
.stats-strip { height: 150px; background: var(--surface); border-bottom: 1px solid #f1f1f5; }
.stats-grid { height: 100%; display: grid; grid-template-columns: repeat(4,1fr); align-items:center; }
.stat-item { min-height: 60px; display:flex; align-items:center; justify-content:center; gap: 15px; border-right: 1px solid #e8e8ed; }
.stat-item:last-child { border-right:0; }
.stat-icon { width:40px; height:40px; flex:0 0 40px; object-fit:contain; }
.stat-item strong { display:block; font-family:'Newsreader'; font-size:25px; line-height:1; font-weight:650; }
.stat-item small { display:block; margin-top:4px; color:#494b53; font-family:'Manrope', Arial, sans-serif; font-size:14px; font-weight:500; }

/* HOME - Reliable */
.home-reliable { padding: 46px 0 74px; }
.section-heading.centered { text-align:center; }
.section-heading .eyebrow { margin-bottom: 16px; }
.section-heading h2 {
    margin-bottom: 27px;
    color: #23252a;
    font-size: 48px;
    line-height: .99;
    font-weight: 560;
    letter-spacing: -.025em;
}
.home-reliable .section-heading h2 { line-height: 1.12; }
.section-heading h2 span { color: #003b88; }
.section-heading p { margin-bottom:0; color:var(--text-muted); font-size:16px; line-height:1.65; }
.reliable-grid {
    margin-top: 68px;
    display: grid;
    grid-template-columns: 1.15fr .55fr .55fr;
    grid-template-rows: 303px 303px;
    gap: 24px;
}
.feature-image-wrap {
    position: relative;
    grid-row: 1 / 3;
    min-width:0;
    overflow:hidden;
    border-radius: 22px;
}
.feature-image-wrap > .responsive-picture { width:100%; height:100%; }
.feature-image-wrap img { width:100%; height:100%; object-fit:cover; }
.feature-image-wrap::after { content:''; position:absolute; inset:52% 0 0; background:linear-gradient(to bottom, transparent, rgba(0,0,0,.64)); pointer-events:none; }
.feature-image-caption { position:absolute; left:27px; right:27px; bottom:26px; z-index:2; color:#fff; }
.feature-image-caption strong { display:block; font-size:21px; font-weight:500; margin-bottom:7px; }
.feature-image-caption small { display:block; font-size:14px; line-height:1.55; color:rgba(255,255,255,.82); }
.feature-card {
    border:1px solid #d6dae1;
    border-radius: 22px;
    padding: 34px 31px;
    background:#fff;
}
.feature-card.blue-tint { background:#e5f6fc; }
.feature-icon {
    width: 48px;
    height: 48px;
    margin-bottom: 27px;
    object-fit: contain;
}
.feature-card h3 { margin-bottom: 16px; color:#17191d; font-size:25px; line-height:1.13; font-weight:600; }
.feature-card p { margin:0; color:#3f434c; font-size:16px; line-height:1.6; }

/* HOME - Pathway */
.pathway-section {
  background:
    radial-gradient(circle at 86% 20%, rgba(255, 255, 255, 0.05) 0%, rgba(255, 255, 255, 0.035) 34%, rgba(255, 255, 255, 0) 72%),
    #1E4B99;
  color: #FFFFFF;
  padding: 64px 0 65px;
}

.section-heading.inverse .eyebrow { color: #88f8b4; }

.section-heading.inverse h2 {
  color: #FFFFFF;
  margin-bottom: 22px;
  font-size: 48px;
  line-height: 1.15;
}

.section-heading.inverse p {
  color: rgba(255, 255, 255, 0.78);
  font-size: 16px;
  line-height: 1.6;
}

.pathway-grid {
  position: relative;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 18px;
  margin-top: 64px;
}

.pathway-grid::before {
  content: "";
  position: absolute;
  z-index: 0;
  left: 0;
  right: 0;
  top: 50%;
  height: 1px;
  background: rgba(255, 255, 255, 0.26);
  transform: translateY(-0.5px);
}

.path-card {
  position: relative;
  z-index: 1;
  height: 268px;
  padding: 32px 25px 24px;
  background: #FFFFFF;
  color: var(--text);
  border-radius: 20px;
  text-align: center;
}

.path-step-badge {
  position: absolute;
  z-index: 2;
  top: -12px;
  right: -10px;
  width: 32px;
  height: 32px;
  object-fit: contain;
}

.path-icon {
  width: 56px;
  height: 56px;
  margin: 0 auto 26px;
  object-fit: contain;
}

.path-card h3 {
  margin-bottom: 18px;
  color: #1e4b99;
  font-size: 24px;
  line-height: 1.15;
  font-weight: 600;
}

.path-card p {
  margin: 0;
  color: #434653;
  font-size: 16px;
  line-height: 1.55;
}

/* HOME - Stories */
.stories-section { padding:64px 0 63px; }
.stories-heading { text-align:left; }
.stories-kicker { width:108px; margin-bottom:10px; }
.stories-kicker .eyebrow { display:block; width:max-content; margin:0 0 5px; line-height:1; }
.stories-kicker img { width:108px; height:4px; object-fit:contain; }
.stories-heading h2 {
    margin:0;
    font-size:50px;
    line-height:1.08;
    font-weight:560;
    letter-spacing:-.02em;
}
.stories-heading h2 span { color:#00327D; }
.testimonial-grid {
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:24px;
    margin-top:46px;
}
.testimonial-card {
    height:288px;
    padding:32px 32px 30px;
    border:1px solid #E2E2E5;
    border-radius:22px;
    background:#FFFFFF;
    box-shadow:none;
}
.testimonial-card:nth-child(2) { box-shadow:0 5px 9px rgba(26,28,30,.12); }
.testimonial-quote { width:32px; height:auto; margin-bottom:18px; object-fit:contain; }
.testimonial-copy { margin:0; }
.testimonial-copy p {
    min-height:100px;
    margin:0 0 33px;
    color:#434653;
    font-size:16px;
    line-height:1.55;
}
.person { display:flex; align-items:center; gap:16px; }
.person img { width:48px; height:48px; flex:0 0 48px; border-radius:50%; object-fit:cover; }
.person strong { display:block; font-size:14px; line-height:1.25; font-weight:650; letter-spacing:.01em; }
.person small { display:block; margin-top:1px; color:#72747E; font-size:14px; line-height:1.3; }

/* HOME - CTA */
.home-cta-wrap {
  padding: 56px 0 52px;
  background: linear-gradient(to bottom, #fff 0, #fff calc(100% - 52px), var(--wash) calc(100% - 52px), var(--wash) 100%);
}
.home-cta {
  min-height: 365px;
  padding: 62px 80px;
  border-radius: 40px;
  overflow: hidden;
  color: #fff;
  display: flex;
  justify-content: space-between;
  align-items: center;
  position: relative;
  background: linear-gradient(90deg, rgba(14, 65, 149, 0.98) 0%, rgba(20, 71, 153, 0.94) 46%, rgba(25, 76, 151, 0.76) 100%), url('../images/optimized/home-cta-760.webp') right center/cover no-repeat;
  background-image: linear-gradient(90deg, rgba(14, 65, 149, 0.98) 0%, rgba(20, 71, 153, 0.94) 46%, rgba(25, 76, 151, 0.76) 100%), image-set(url('../images/optimized/home-cta-760.avif') type('image/avif'), url('../images/optimized/home-cta-760.webp') type('image/webp'));
  box-shadow: 0 18px 36px rgba(22, 61, 118, 0.17);
}
.home-cta::after { content:''; position:absolute; inset:0; background:linear-gradient(90deg, rgba(5,42,111,.03), rgba(10,55,132,.12)); }
.home-cta > * { position:relative; z-index:2; }
.home-cta .eyebrow { margin-bottom:22px; }
.home-cta h2 { margin-bottom:36px; font-size:58px; line-height:.96; color:#fff; }
.home-cta h2 span { color:#7dffad; }
.home-cta p { margin:0; font-size:16px; line-height:1.55; color:rgba(255,255,255,.80); }
.home-cta .btn { min-width:168px; height:60px; }

/* ABOUT - Intro */
.about-intro { padding: 44px 0 69px; }
.about-intro-grid { min-height: 500px; display:grid; grid-template-columns: 1.28fr .82fr; gap:78px; align-items:center; }
.about-intro-copy .eyebrow { margin-bottom:24px; }
.about-intro-copy h1 { margin-bottom:45px; color:#1e4b99; font-size:50px; line-height:1.02; font-weight:620; letter-spacing:-.02em; }
.about-intro-copy p { max-width:620px; margin-bottom:49px; color:#434653; font-size:16px; line-height:1.62; }
.about-intro-grid > .responsive-picture { justify-self:end; width:464px; height:498px; }
.about-main-image { width:100%; height:100%; object-fit:cover; border-radius:26px; }
.expertise-wrap { margin-top:65px; }
.section-heading.compact h2 { margin-bottom:17px; color:#1e4b99; font-size:37px; }
.section-heading.compact p { font-size:16px; }
.expertise-grid {
  margin-top: 44px;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  grid-template-rows: 274px 316px;
  gap: 24px;
}
.expertise-card {
  position: relative;
  overflow: hidden;
  border: 1px solid #C3C6D6;
  border-radius: 16px;
  padding: 31px 32px;
}
.expertise-card h3 {
  margin-bottom: 20px;
  color: #1E4B99;
  font-size: 24px;
  line-height: 1.15;
  font-weight: 600;
}
.expertise-card p {
  margin: 0;
  color: #434653;
  font-size: 16px;
  line-height: 1.55;
}
.expertise-icon-image {
  display: block;
  object-fit: contain;
  object-position: left center;
  margin-bottom: 24px;
}
.expertise-icon-legal {
  width: 48px;
  height: 48px;
}
.expertise-icon-language,
.expertise-icon-integration {
  width: 34px;
  height: 30px;
}
.legal-card {
  grid-column: span 2;
  padding: 32px 40px;
  border-color: #1E4B99;
  border-radius: 24px;
  background:
    radial-gradient(circle at 86% 20%, rgba(255, 255, 255, 0.05) 0%, rgba(255, 255, 255, 0.035) 34%, rgba(255, 255, 255, 0) 72%),
    #1E4B99;
  color: #FFFFFF;
  box-shadow: 0 14px 32px rgba(30, 75, 153, 0.28);
  z-index: 1;
}
.legal-card h3 { color: #FFFFFF; }
.legal-card p {
  max-width: 400px;
  color: rgba(255, 255, 255, 0.8);
  font-size: 16px;
  line-height: 1.65;
}
.legal-decoration {
  position: absolute;
  right: 4px;
  bottom: 4px;
  width: 152px;
  height: 152px;
  object-fit: contain;
  opacity: 1;
  pointer-events: none;
}
.light-card { background: #D5ECF8; }
.integration-card { grid-column: 1; }
.partner-card {
  grid-column: 2/4;
  background: #FFFFFF;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 35px 48px;
}
.partner-card h3 { margin-bottom: 18px; }
.partner-card p { max-width: 470px; line-height: 1.55; }
.badges {
  margin-top: 24px;
  display: flex;
  align-items: center;
  gap: 16px;
}
.partner-card .badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  height: 32px;
  padding: 0 18px;
  border-radius: 999px;
  font-family: "Manrope", Arial, sans-serif;
  font-size: 12px;
  line-height: 1;
  font-weight: 500;
}
.partner-card .badge img {
  width: auto;
  height: auto;
  flex: 0 0 auto;
  object-fit: contain;
}
.partner-card .badge.certified img { width: 13px; height: 13px; }
.partner-card .badge.global img { width: 12px; height: 12px; }
.certified { background: #9AF6B8; color: #1E4B99; }
.global { background: #FFDAD6; color: #410003; }
.partner-shield {
  flex: 0 0 128px;
  width: 128px;
  height: 128px;
  margin-left: 24px;
  object-fit: contain;
}


/* ABOUT - Accreditation */
.accreditation-section { background:#1E4B99; color:#FFFFFF; padding:60px 0; }
.accreditation-grid { min-height:198px; display:grid; grid-template-columns:minmax(0, 1fr) 480px; gap:96px; align-items:center; }
.accreditation-section h2 { margin-bottom:25px; color:#FFFFFF; font-size:34px; line-height:1.05; }
.accreditation-section p { max-width:600px; margin-bottom:28px; color:rgba(255,255,255,.78); font-size:16px; line-height:1.6; }
.accreditation-icons { display:flex; align-items:center; gap:24px; }
.accreditation-icons img { display:block; width:auto; height:30px; object-fit:contain; opacity:.55; }
.registration-card { width:100%; min-height:130px; padding:26px 24px; border:1px solid rgba(67,70,83,.18); border-radius:12px; background:#FFFFFF; color:#1A1C1E; display:flex; flex-direction:column; justify-content:center; }
.registration-card span { display:block; margin-bottom:8px; color:#0051B4; font-size:16px; line-height:1.25; font-weight:500; letter-spacing:.05em; }
.registration-card strong { display:block; color:#1E4B99; font-size:16px; line-height:1.25; font-weight:700; }
.registration-card p { margin:4px 0 0; color:#434653; font-size:14px; line-height:1.4; }

/* ABOUT - Directors */
.directors-section { padding:61px 0 60px; background:#fff; }
.directors-heading h2 { margin-bottom:23px; color:#1E4B99; font-size:36px; }
.heading-line { display:block; width:96px; height:4px; margin:0 auto 16px; border-radius:2px; background:#0051B4; }
.directors-heading p { margin-bottom:0; font-size:16px; line-height:1.55; }
.directors-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; margin-top:43px; }
.director-card { height:auto; min-height:0; padding:37px 32px 31px; border:1px solid #DAEDFA; border-radius:18px; background:#E6F6FF; display:flex; flex-direction:column; }
.director-card h3 { margin-bottom:18px; color:#1E4B99; font-family:'Manrope', Arial, sans-serif; font-size:18px; line-height:1.75; font-weight:700; }
.director-card p { margin:0; color:#434653; font-size:16px; line-height:1.72; text-align:justify; }
.director-location { position:relative; margin-top:20px; padding-top:29px; display:flex; align-items:center; gap:8px; color:#434653; font-family:'Manrope', Arial, sans-serif; font-size:14px; font-weight:700; line-height:1; }
.director-location::before { content:''; position:absolute; top:0; left:0; width:48px; height:2px; background:#BDCAD4; }
.director-location img { width:16px; height:20px; flex:0 0 auto; object-fit:contain; }
.director-location strong { color:#434653; font:inherit; }

/* CONTACT */
.contact-page-main { background:var(--wash); }
.contact-hero { padding:45px 0 64px; }
.contact-hero-grid { min-height:337px; display:grid; grid-template-columns:1.07fr 1fr; align-items:start; gap:70px; }
.help-pill { width:max-content; height:33px; margin-bottom:25px; padding:0 15px; border-radius:999px; background:#9AF6B8; color:#004b77; display:flex; align-items:center; gap:9px; font-size:13px; font-weight:700; }
.contact-hero-copy h1 { margin-bottom:34px; color:#2857a6; font-size:51px; line-height:1.02; font-weight:620; letter-spacing:-.02em; }
.contact-hero-copy p { max-width:575px; margin:0; color:#4a4d55; font-size:16px; line-height:1.6; }
.contact-illustration { width:361px; justify-self:center; }
.contact-cards-grid { display:grid; grid-template-columns:1.452fr 1fr; gap:24px; margin-top:47px; }
.contact-form-card, .contact-info-card { background:#FFFFFF; }
.contact-form-card { min-height:588px; padding:48px 48px 44px; border-radius:24px; box-shadow:0 12px 28px rgba(29, 67, 114, .12); }
.contact-form-card h2, .contact-info-card h2 { margin-bottom:11px; color:#2857a6; font-size:30px; line-height:1.1; font-weight:620; }
.contact-form-card > p { margin-bottom:33px; color:#4c4f56; font-size:16px; line-height:1.6; }
.form-alert { margin:-16px 0 20px; border-radius:10px; padding:10px 13px; font-size:13px; }
.form-alert.success { background:#e7fbef; color:#217143; }
.form-alert.error { background:#fff0f0; color:#9d2a30; }
.contact-form { display:grid; grid-template-columns:1fr 1fr; gap:22px 24px; }
.form-field { grid-column:1 / -1; }
.form-field.half { grid-column:auto; }
.form-field label { display:block; margin-bottom:8px; color:#1E4B99; font-size:14px; font-weight:650; }
.form-field input, .form-field textarea { width:100%; border:1px solid #c9d6e5; border-radius:6px; background:#f1f9ff; outline:none; color:#2a2d33; font-size:16px; transition:border-color .15s ease, box-shadow .15s ease; }
.form-field input { height:44px; padding:0 16px; }
.form-field textarea { height:80px; padding:14px 16px; resize:vertical; }
.form-field input:focus, .form-field textarea:focus { border-color:#5281c3; box-shadow:0 0 0 3px rgba(82,129,195,.12); }
.form-field input::placeholder, .form-field textarea::placeholder { color:#7b8190; }
.form-actions { grid-column:1 / -1; margin-top:2px; }
.send-button { min-width:187px; height:52px; font-size:15px; }
.button-icon { width:16px; height:14px; flex:0 0 auto; object-fit:contain; }
.hp-field { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0,0,0,0); }
.contact-info-card { position:relative; overflow:hidden; min-height:588px; padding:43px 32px 40px; border:1px solid #dce4ec; border-radius:12px; }
.contact-info-card h2 { position:relative; z-index:2; display:flex; align-items:center; gap:9px; margin-bottom:31px; font-size:27px; }
.contact-heading-icon { width:18px; height:19px; flex:0 0 auto; object-fit:contain; }
.decor-arc { position:absolute; width:208px; height:208px; top:-104px; right:-104px; border-radius:50%; background:#f4f5ff; }
.contact-details { position:relative; z-index:1; }
.contact-line { display:flex; align-items:flex-start; gap:10px; margin-bottom:13px; color:#4e5159; font-size:16px; line-height:1.55; }
.contact-detail-icon { flex:0 0 auto; object-fit:contain; margin-top:2px; }
.contact-line p, .contact-line address { margin:0; line-height:1.55; font-style:normal; }
.contact-line--address { margin-bottom:25px; }
.contact-line--email { margin-top:29px; margin-bottom:0; }

/* Footer */
.site-footer { background:#1E4B99; color:#fff; }
.page-contact .site-footer { background:#27529D; }
.footer-main { min-height:159px; display:grid; grid-template-columns:1fr 1fr; align-items:center; }
.footer-main h2 { margin-bottom:10px; color:#fff; font-family:'Manrope'; font-size:22px; font-weight:650; }
.footer-main p { margin:0; color:#c7d2e4; font-size:14px; }
.footer-nav { justify-self:center; display:flex; flex-direction:column; gap:8px; color:#cbd5e5; font-size:14px; }
.footer-nav a:hover { color:#fff; }
.footer-bottom { height:61px; border-top:1px solid rgba(255,255,255,.68); display:grid; place-items:center; color:#c9d4e6; font-size:14px; }

/* Inline interface icon used by the help pill */
.ui-icon {
  width:16px;
  height:16px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}

@media (max-width: 767.98px) {
    body { font-size:16px; }
    .site-container { width: calc(100% - 32px); max-width:none; }
    .desktop-only { display:none; }

    .site-header, .header-inner { height:64px; }
    .header-inner { display:flex; justify-content:space-between; }
    .brand img { width:122px; }
    .desktop-nav, .header-cta { display:none; }
    .menu-toggle { width:34px; height:34px; padding:3px; margin-right:4px; border:0; background:transparent; display:flex; flex-direction:column; justify-content:center; gap:4px; }
    .menu-toggle span { display:block; width:28px; height:3px; margin-left:auto; border-radius:2px; background:#1e4b99; }
    .mobile-menu { display:block; position:fixed; inset:0; z-index:100; background:rgba(5,23,48,.42); opacity:0; visibility:hidden; transition:.2s ease; }
    .mobile-menu.open { opacity:1; visibility:visible; }
    .mobile-menu-panel { width:min(82vw,320px); height:100%; margin-left:auto; padding:18px 22px; background:#fff; transform:translateX(100%); transition:transform .22s ease; box-shadow:-8px 0 30px rgba(0,0,0,.15); }
    .mobile-menu.open .mobile-menu-panel { transform:translateX(0); }
    .mobile-menu-top { display:flex; justify-content:space-between; align-items:center; margin-bottom:31px; }
    .mobile-brand img { width:92px; }
    .menu-close { border:0; background:none; color:#1e4b99; font-size:34px; line-height:1; }
    .mobile-menu nav { display:flex; flex-direction:column; }
    .mobile-menu nav a { padding:14px 4px; border-bottom:1px solid #edf0f4; color:#333842; font-size:17px; }
    .mobile-menu nav a.active { color:#b6171e; font-weight:700; }

    .btn { height:42px; padding:0 22px; font-size:14px; }
    .eyebrow { font-size:10px; }

    /* HOME */
    .home-hero { height:auto; }
    .home-hero-grid { display:flex; flex-direction:column; gap:0; padding:44px 0 40px; align-items:stretch; }
    .home-hero-visual { order:1; width:100%; height:326px; margin-bottom:24px; }
    .hero-photo { width:100%; height:326px; border-radius:20px; object-fit:cover; object-position:center; }
    .hero-social-proof {
        --social-proof-width:116px;
        --social-proof-height:38px;
        --social-proof-avatar-size:20px;
        --social-proof-avatar-overlap:-5px;
        --social-proof-font-size:8px;
        top:10px;
        right:9px;
        padding:5px 10px;
        gap:7px;
    }
    .hero-social-proof small { margin-top:2px; }
    .hero-success-badge {
        --success-badge-width:133px;
        --success-badge-height:54px;
        --success-badge-radius:10px;
        --success-badge-icon-size:31px;
        --success-badge-title-size:19px;
        --success-badge-label-size:8px;
        --success-badge-gap:8px;
        --success-badge-padding-x:9px;
        left:-3px;
        bottom:9px;
    }
    .home-hero-copy { order:2; padding:0; }
    .home-hero-copy .eyebrow { margin-bottom:14px; }
    .home-hero-copy h1 { margin-bottom:18px; font-size:29px; line-height:1.08; }
    .home-hero-copy p { width:100%; max-width:315px; margin-bottom:24px; font-size:16px; line-height:1.55; }
    .home-hero-copy .btn { height:38px; padding:0 18px; font-size:12px; }

    .stats-strip { height:342px; }
    .stats-grid { grid-template-columns:1fr; align-content:center; gap:0; }
    .stat-item { min-height:75px; justify-content:flex-start; padding-left:25px; border-right:0; border-bottom:0; gap:14px; }
    .stat-item strong { font-size:22px; }

    .home-reliable { padding:62px 0 59px; }
    .section-heading .eyebrow { margin-bottom:12px; }
    .section-heading h2 { margin-bottom:20px; font-size:34px; line-height:.97; }
    .home-reliable .section-heading h2 { line-height:1.08; }
    .section-heading p { font-size:16px; line-height:1.55; }
    .reliable-grid { margin-top:40px; grid-template-columns:1fr; grid-template-rows:auto; gap:17px; }
    .feature-image-wrap { grid-row:auto; height:340px; border-radius:17px; }
    .feature-image-caption { left:20px; right:20px; bottom:18px; }
    .feature-image-caption strong { font-size:16px; margin-bottom:4px; }
    .feature-image-caption small { font-size:14px; }
    .feature-card { min-height:291px; border-radius:17px; padding:27px 23px; }
    .feature-card.blue-tint { background:#e5f6fc; }
    .feature-icon { width:43px; height:43px; margin-bottom:25px; }
    .feature-card h3 { font-size:23px; margin-bottom:15px; }
    .feature-card p { font-size:16px; line-height:1.58; }

  .pathway-section { padding: 64px 0 69px; }
  .section-heading.inverse h2 { margin-bottom: 16px; font-size: 34px; line-height: 1.08; }
  .section-heading.inverse p { font-size: 16px; line-height: 1.55; }
  .pathway-grid { grid-template-columns: 1fr; gap: 18px; margin: 40px auto 0; width: 282px; }
  .pathway-grid::before { top: 0; bottom: 0; left: 50%; right: auto; width: 1px; height: auto; transform: translateX(-50%); }
  .path-card { height: 260px; padding: 32px 24px 24px; border-radius: 20px; }
  .path-step-badge { top: -12px; right: -10px; }
  .path-icon { margin-bottom: 24px; }
  .path-card h3 { font-size: 23px; margin-bottom: 15px; }
  .path-card p { font-size: 16px; line-height: 1.58; }

    .stories-section { padding:54px 0 58px; }
    .stories-kicker { margin-bottom:9px; }
    .stories-heading h2 { font-size:34px; line-height:1.08; }
    .testimonial-grid { grid-template-columns:1fr; gap:17px; margin-top:34px; }
    .testimonial-card { height:auto; min-height:278px; padding:26px 24px 24px; border-radius:18px; }
    .testimonial-quote { width:29px; margin-bottom:16px; }
    .testimonial-copy p { min-height:104px; margin-bottom:25px; font-size:16px; line-height:1.58; }
    .person { gap:13px; }
    .person img { width:42px; height:42px; flex-basis:42px; }
    .person strong { font-size:13px; }
    .person small { font-size:14px; }

    .home-cta-wrap { padding:37px 0; background:var(--surface); }
    .home-cta { min-height:316px; padding:62px 24px 0; border-radius:20px; display:flex; flex-direction:column; align-items:flex-start; justify-content:flex-start; background-position:center; }
    .home-cta .eyebrow { margin-bottom:17px; }
    .home-cta h2 { margin-bottom:17px; font-size:31px; line-height:.96; }
    .home-cta p { font-size:16px; line-height:1.5; margin-bottom:14px; }
    .home-cta .btn { min-width:117px; height:36px; font-size:12px; align-self:flex-end; }

    /* ABOUT */
    .about-intro { padding:17px 0 50px; }
    .about-intro-grid { min-height:0; display:flex; flex-direction:column; gap:0; }
    .about-intro-grid > .responsive-picture { order:1; width:100%; height:430px; margin-bottom:25px; }
    .about-main-image { width:100%; height:100%; border-radius:18px; }
    .about-intro-copy { order:2; }
    .about-intro-copy .eyebrow { margin-bottom:10px; }
    .about-intro-copy h1 { margin-bottom:20px; font-size:29px; line-height:1; }
    .about-intro-copy p { margin-bottom:24px; font-size:16px; line-height:1.58; }
    .about-intro-copy .btn { height:39px; font-size:12px; }
    .expertise-wrap { margin-top:76px; }
    .section-heading.compact h2 { font-size:31px; margin-bottom:15px; }
    .section-heading.compact p { font-size:16px; }
    .expertise-grid { margin-top:39px; display:grid; grid-template-columns:1fr; grid-template-rows:auto; gap:17px; }
    .expertise-card, .legal-card, .integration-card, .partner-card { grid-column:auto; min-height:0; border-radius:16px; padding:27px 24px; }
    .legal-card { min-height:410px; padding:28px 25px; border-radius:24px; }
    .legal-card p { max-width:none; font-size:16px; line-height:1.62; }
    .expertise-icon-image { margin-bottom:24px; }
    .expertise-icon-legal { width:40px; height:40px; }
    .expertise-icon-language, .expertise-icon-integration { width:30px; height:auto; }
    .expertise-card h3 { margin-bottom:17px; font-size:23px; }
    .expertise-card p { font-size:16px; line-height:1.6; }
    .language-card, .integration-card { min-height:294px; }
    .partner-card { min-height:425px; display:block; padding:30px 25px; }
    .partner-card h3 { margin-bottom:17px; }
    .partner-card p { max-width:none; font-size:16px; }
    .badges { margin-top:24px; gap:9px; flex-wrap:wrap; }
    .partner-card .badge { height:24px; padding:0 11px; gap:6px; font-size:9px; }
    .partner-card .badge.certified img { width:10px; height:10px; }
    .partner-card .badge.global img { width:9px; height:9px; }
    .partner-shield { width:56px; height:56px; margin:31px 0 0; }
    .legal-decoration { right:20px; bottom:16px; width:116px; height:116px; }

    .accreditation-section { padding:60px 0; }
    .accreditation-grid { min-height:0; display:block; }
    .accreditation-section h2 { margin-bottom:25px; font-size:29px; line-height:1.05; }
    .accreditation-section p { max-width:325px; margin-bottom:28px; font-size:16px; line-height:1.6; }
    .accreditation-icons { margin-bottom:24px; gap:24px; }
    .accreditation-icons img { height:30px; }
    .registration-card { min-height:130px; padding:26px 24px; border-radius:12px; }
    .registration-card span { font-size:16px; }
    .registration-card strong { font-size:16px; }
    .registration-card p { font-size:14px; }

    .directors-section { padding:58px 0 60px; }
    .directors-heading h2 { margin-bottom:15px; font-size:31px; }
    .directors-heading p { font-size:16px; line-height:1.72; }
    .heading-line { width:96px; height:4px; margin-bottom:15px; }
    .directors-grid { grid-template-columns:1fr; gap:18px; margin-top:39px; }
    .director-card { height:auto; min-height:0; padding:34px 32px 34px; border-radius:18px; }
    .director-card h3 { margin-bottom:18px; font-size:17px; line-height:1.65; }
    .director-card p { font-size:16px; line-height:1.72; }
    .director-location { margin-top:20px; padding-top:29px; font-size:14px; gap:8px; }

    /* CONTACT */
    .contact-hero { padding:24px 0 64px; min-height:0; }
    .contact-hero-grid { min-height:0; display:flex; flex-direction:column; gap:0; align-items:stretch; }
    .contact-hero-copy { order:1; }
    .help-pill { height:32px; margin-bottom:27px; padding:0 16px; font-size:14px; }
    .contact-hero-copy h1 { margin-bottom:30px; font-size:29px; line-height:1.02; }
    .contact-hero-copy h1 br { display:none; }
    .contact-hero-copy p { max-width:330px; font-size:16px; line-height:1.62; }
    .contact-illustration { order:2; width:100%; max-width:358px; margin:31px auto 7px; }
    .contact-cards-grid { grid-template-columns:1fr; gap:25px; margin-top:42px; }
    .contact-form-card { min-height:586px; padding:25px 17px 11px; border-radius:24px; }
    .contact-form-card h2 { font-size:26px; margin-bottom:18px; }
    .contact-form-card > p { margin-bottom:28px; font-size:16px; line-height:1.7; }
    .contact-form { grid-template-columns:1fr; gap:16px; }
    .form-field.half { grid-column:1 / -1; }
    .form-field label { margin-bottom:8px; font-size:14px; }
    .form-field input { height:42px; }
    .form-field textarea { height:80px; }
    .form-actions { margin-top:0; }
    .send-button { min-width:171px; height:42px; font-size:14px; }
    .contact-info-card { min-height:329px; padding:34px 32px 26px; border-radius:12px; }
    .contact-info-card h2 { margin-bottom:30px; font-size:25px; }
    .contact-line { gap:10px; margin-bottom:11px; font-size:16px; }
    .contact-line p, .contact-line address { line-height:1.7; }
    .contact-line--address { margin-bottom:24px; }
    .contact-line--email { margin-top:29px; margin-bottom:0; }
    .decor-arc { width:202px; height:202px; top:-101px; right:-101px; }

    /* FOOTER */
    .footer-main { min-height:235px; display:block; padding-top:42px; }
    .footer-main h2 { margin-bottom:9px; font-size:18px; }
    .footer-main p { font-size:14px; }
    .footer-nav { justify-self:auto; margin-top:28px; gap:10px; font-size:14px; }
    .footer-bottom { height:62px; font-size:14px; }

    .page-about .footer-main { min-height:234px; }
    .page-contact .footer-main { min-height:238px; }
}

@media (min-width: 768px) {
    .page-contact .footer-main { min-height: 163px; }
}

@media (max-width: 767.98px) {
    .contact-line { font-size: 16px; }
    .form-field label { font-size: 14px; }
    .footer-main p { font-size: 14px; }
    .footer-nav { font-size: 14px; }
    .footer-bottom { font-size: 14px; }
    .stat-item { padding-left: 30px; }
}

@media (min-width: 768px) and (max-width: 1199.98px) {
    .site-container { width: calc(100% - 64px); }
    .home-hero { height:auto; min-height:620px; }
    .home-hero-grid { height:auto; min-height:620px; grid-template-columns:minmax(0, 1fr) minmax(300px, 46%); gap:28px; padding:40px 0; }
    .home-hero-copy { min-width:0; }
    .home-hero-copy h1 { font-size:clamp(38px, 4.25vw, 46px); }
    .home-hero-copy p { width:100%; max-width:100%; margin-bottom:30px; }
    .home-hero-visual { width:100%; height:clamp(500px, 54vw, 580px); }
    .hero-photo { width:100%; height:100%; }
    .hero-success-badge { left:-18px; bottom:24px; }
    .reliable-grid { margin-top:48px; grid-template-columns:repeat(2, minmax(0, 1fr)); grid-template-rows:auto; gap:20px; }
    .feature-image-wrap { grid-column:1 / -1; grid-row:auto; height:clamp(360px, 45vw, 460px); border-radius:20px; }
    .feature-image-wrap img { object-position:center 46%; }
    .feature-image-caption { left:28px; right:28px; bottom:24px; }
    .feature-card { min-height:0; padding:30px 28px; }
    .pathway-grid { grid-template-columns:repeat(2, minmax(0, 1fr)); gap:24px; width:100%; max-width:900px; margin:56px auto 0; }
    .pathway-grid::before { display:none; }
    .path-card { height:auto; min-height:240px; padding:32px 32px 28px; }
    .testimonial-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px;
    width: 100%;
    max-width: 960px;
    margin-inline: auto;
  }
  .testimonial-card {
    height: auto;
    min-height: 288px;
  }
  .testimonial-card:nth-child(3) {
    grid-column: 1/-1;
    width: calc((100% - 24px) / 2);
    justify-self: center;
  }
  .about-intro-grid { gap: 42px; }
    .about-intro-grid > .responsive-picture { width:100%; height:498px; }
    .about-main-image { width:100%; height:100%; }
    .expertise-grid { grid-template-columns:1fr; grid-template-rows:auto; gap:17px; }
    .expertise-card, .legal-card, .integration-card, .partner-card { grid-column:auto; min-height:0; }
    .legal-card p { max-width:none; }
    .accreditation-grid { min-height:0; display:block; }
    .accreditation-icons { margin-bottom:24px; }
    .contact-hero-grid { gap: 36px; }
    .contact-illustration { max-width: 100%; }
}

@media (min-width: 768px) and (max-width: 991.98px) {
    .stats-strip { height:220px; }
    .stats-grid { grid-template-columns:repeat(2, minmax(0, 1fr)); align-items:stretch; }
    .stat-item { min-height:110px; justify-content:flex-start; padding:0 28px; gap:15px; }
    .stat-item:nth-child(2n) { border-right:0; }
    .stat-item:nth-child(-n+2) { border-bottom:1px solid #e8e8ed; }
}
@media (min-width: 992px) and (max-width: 1199.98px) {
    .stat-item { gap:12px; padding:0 12px; }
    .stat-item strong { font-size:23px; }
}
