:root {
  --color-navy: #24275c;
  --color-navy-light: #343a85;
  --color-accent: #5a63b8;
  --color-navy-deep: #151635;
  --color-pale: #eeeff8;
  --color-gold: #d4af37;
  --color-gold-soft: #d4af37;
  --color-paper: #fafafc;
  --color-white: #fff;
  --color-ink: #151635;
  --color-slate: #505578;
  --color-muted: #8a8fbd;
  --color-line: #d9dbea;
  --font-heading: "Questrial", Arial, sans-serif;
  --font-body: "Questrial", Arial, sans-serif;
  --font-mono: "Questrial", Arial, sans-serif;
  --shadow-soft: 0 24px 60px rgba(7, 27, 44, .13);
}

html { overflow-x: clip; scroll-behavior: smooth; } /* clip (not hidden) contains full-bleed 100vw sections without breaking position:sticky on the nav */

body {
  background: var(--color-paper);
  color: var(--color-ink);
  font-family: var(--font-body);
  line-height: 1.65;
  overflow-x: clip;
}

h1, h2, h3, h4, h5, h6 {
  color: var(--color-navy-deep);
  font-family: var(--font-heading);
  font-weight: 500;
  letter-spacing: -.025em;
}

a { text-decoration: none; }

a:focus-visible,
button:focus-visible {
  border-radius: .2rem;
  outline: 3px solid var(--color-gold-soft);
  outline-offset: 3px;
}

/* Scroll reveal */
html.aos-ready [data-aos] { opacity: 0; transition: opacity .65s ease-out, transform .65s ease-out; will-change: opacity, transform; }
html.aos-ready [data-aos="fade-in"] { transform: none; }
html.aos-ready [data-aos="fade-up"] { transform: translateY(34px); }
html.aos-ready [data-aos="zoom-in"] { transform: scale(.94); }
html.aos-ready [data-aos="slide-left"] { transform: translateX(42px); }
html.aos-ready [data-aos="slide-right"] { transform: translateX(-42px); }
html.aos-ready [data-aos].aos-animate { opacity: 1; transform: none; }
html.aos-ready [data-aos-delay="100"] { transition-delay: .1s; }
html.aos-ready [data-aos-delay="200"] { transition-delay: .2s; }
html.aos-ready [data-aos-delay="300"] { transition-delay: .3s; }
html.aos-ready [data-aos-delay="400"] { transition-delay: .4s; }

.skip-link {
  background: var(--color-white);
  color: var(--color-navy-deep);
  left: 1rem;
  padding: .7rem 1rem;
  position: fixed;
  top: -5rem;
  transition: top .2s ease;
  z-index: 2000;
}

.skip-link:focus { top: 1rem; }

.section-space { padding: 5.75rem 0; }

.eyebrow {
  color: var(--color-gold);
  font-family: var(--font-mono);
  font-size: 1rem;
  font-weight: 500;
  letter-spacing: .14em;
  margin-bottom: .65rem;
  text-transform: uppercase;
}

.section-title,
.section-heading h2,
.why-section h2,
.faq-section h2 { font-size: clamp(2rem, 3vw, 2.55rem); }

.section-heading { margin-bottom: 3.2rem; max-width: 760px; }
.section-heading > p:last-child { color: var(--color-slate); font-size: 1.02rem; }

.gold-rule {
  background: var(--color-gold);
  display: block;
  height: 3px;
  margin: 1rem 0 1.4rem;
  width: 54px;
}

.btn {
  align-items: center;
  border-radius: .42rem;
  display: inline-flex;
  font-size: 1rem;
  font-weight: 700;
  justify-content: center;
  letter-spacing: .025em;
  min-height: 46px;
  padding: .7rem 1.4rem;
  transition: background-color .25s ease, border-color .25s ease, box-shadow .25s ease, color .25s ease, transform .25s ease;
}

.btn:hover { transform: translateY(-2px); }
.btn:active { transform: translateY(0); }
.btn-sm { font-size: 1rem; min-height: 42px; padding: .55rem 1rem; }

.btn-gold {
  background: var(--color-gold);
  border: 1px solid var(--color-gold);
  box-shadow: 0 8px 20px rgba(212, 175, 55, .2);
  color: var(--color-navy-deep);
}

.btn-gold:hover,
.btn-gold:focus { background: var(--color-accent); border-color: var(--color-accent); color: var(--color-white); }

.btn-outline-cream { border: 1px solid rgba(255, 255, 255, .55); color: var(--color-white); }
.btn-outline-cream:hover,
.btn-outline-cream:focus { background: var(--color-white); border-color: var(--color-white); color: var(--color-navy-deep); }

.btn-navy-outline { background: transparent; border: 1px solid var(--color-navy); color: var(--color-navy); }
.btn-navy-outline:hover,
.btn-navy-outline:focus { background: var(--color-navy); border-color: var(--color-navy); color: var(--color-white); }
.btn-navy { background: var(--color-navy); border: 1px solid var(--color-navy); box-shadow: 0 8px 20px rgba(36, 39, 92, .18); color: var(--color-white); }
.btn-navy:hover,
.btn-navy:focus { background: var(--color-navy-deep); border-color: var(--color-navy-deep); color: var(--color-white); }
.btn-gold-outline { background: transparent; border: 1px solid var(--color-gold); color: var(--color-navy-deep); }
.btn-gold-outline:hover,
.btn-gold-outline:focus { background: var(--color-gold); border-color: var(--color-gold); color: var(--color-navy-deep); }

/* Contact strip / top bar */
.contact-strip { background: var(--color-navy-deep); border-bottom: 1px solid rgba(255, 255, 255, .08); color: rgba(255, 255, 255, .78); font-size: 1rem; padding: .5rem 0; }
.contact-strip a { color: inherit; }
.contact-strip a:hover { color: var(--color-gold-soft); }
.contact-strip i { color: var(--color-gold-soft); margin-right: .35rem; }
.contact-strip__inner { align-items: center; display: flex; gap: 1.5rem; justify-content: space-between; }
.contact-strip__list { align-items: center; display: flex; flex-wrap: wrap; gap: 1.4rem; }
.contact-strip__list li { align-items: center; display: flex; }
.contact-strip__aside { align-items: center; display: flex; gap: 1.25rem; }
.contact-strip__hours { align-items: center; color: rgba(255, 255, 255, .68); }
.contact-strip__social { display: flex; gap: .35rem; }
.contact-strip__social a { align-items: center; border-radius: 50%; display: inline-flex; height: 28px; justify-content: center; transition: background-color .2s ease, color .2s ease; width: 28px; }
.contact-strip__social a:hover { background: var(--color-gold); color: var(--color-navy-deep); }
.contact-strip__social a:hover i { color: var(--color-navy-deep); }
.contact-strip__social i { margin: 0; }
.contact-strip__message { letter-spacing: .015em; }

/* Navigation */
.site-nav { background: rgba(36, 39, 92, .98); border-bottom: 1px solid rgba(255, 255, 255, .12); padding: .55rem 0; transition: background-color .35s ease, border-color .35s ease, box-shadow .35s ease, padding .35s ease, transform .35s ease; will-change: padding, box-shadow; z-index: 1030; }
.site-nav.is-scrolled { background: rgba(21, 22, 53, .97); border-bottom-color: rgba(212, 175, 55, .25); box-shadow: 0 12px 34px rgba(10, 12, 36, .24); padding: .25rem 0; }
.site-nav__brand { margin-right: 1.5rem; padding: 0; }
.site-nav__brand img { display: block; height: auto; max-width: 245px; transition: max-width .35s ease, transform .35s ease; width: 100%; }
.site-nav.is-scrolled .site-nav__brand img { max-width: 210px; }
.site-nav .nav-link { border-radius: .35rem; color: rgba(255, 255, 255, .84) !important; font-size: 1rem; font-weight: 600; padding: .65rem .7rem !important; }
.site-nav .nav-link:hover,
.site-nav .nav-link.active,
.site-nav .dropdown-toggle.show { background: rgba(90, 99, 184, .34); color: var(--color-white) !important; }
.site-nav .btn-sm { font-size: 1rem; padding: .55rem .95rem; }
.header-actions { align-items: center; display: flex; gap: .65rem; }
.site-nav .header-actions .btn-navy { background: var(--color-gold); border-color: var(--color-gold); box-shadow: 0 8px 20px rgba(212, 175, 55, .2); color: var(--color-navy-deep); }
.site-nav .header-actions .btn-navy:hover,
.site-nav .header-actions .btn-navy:focus { background: var(--color-white); border-color: var(--color-white); color: var(--color-navy-deep); }
.site-nav .header-actions .btn-gold-outline { border-color: rgba(255, 255, 255, .65); color: var(--color-white); }
.site-nav .header-actions .btn-gold-outline:hover,
.site-nav .header-actions .btn-gold-outline:focus { background: var(--color-white); border-color: var(--color-white); color: var(--color-navy-deep); }
.navbar-toggler { border-color: rgba(255, 255, 255, .3); }
.mega-menu { position: static; }
.mega-menu__panel { background: var(--color-white); border: 0; border-radius: 0; box-shadow: 0 24px 55px rgba(21, 22, 53, .18); left: 0 !important; margin: 0; padding: 1.75rem 0 2rem; right: 0 !important; top: 100%; width: 100%; }
.mega-menu__layout { align-items: stretch; display: grid; gap: clamp(1.5rem, 3vw, 3rem); grid-template-columns: .7fr 1.65fr .75fr; }
.mega-menu__intro { border-right: 1px solid var(--color-line); padding-right: clamp(1rem, 2vw, 2rem); }
.mega-menu__intro h2,
.mega-menu__cta h2 { font-size: 1.3rem; line-height: 1.3; }
.mega-menu__intro > p:not(.eyebrow),
.mega-menu__cta p { color: var(--color-slate); font-size: 1rem; }
.mega-menu__intro > a,
.mega-menu__cta > a { color: var(--color-accent); font-size: 1rem; font-weight: 700; }
.mega-menu__links { display: grid; gap: .45rem; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.mega-menu__link { align-items: flex-start; border-radius: .6rem; color: var(--color-navy-deep); display: flex; gap: .9rem; padding: .8rem; transition: background-color .25s ease, transform .25s ease; }
.mega-menu__link:hover,
.mega-menu__link:focus { background: var(--color-pale); color: var(--color-navy-deep); transform: translateY(-2px); }
.mega-menu__link.is-featured { background: rgba(238, 239, 248, .72); }
.mega-menu__link > i { color: var(--color-accent); flex: 0 0 22px; font-size: 1.05rem; margin-top: .2rem; text-align: center; }
.mega-menu__link strong { display: block; font-size: 1rem; margin-bottom: .25rem; }
.mega-menu__link small { color: var(--color-slate); display: block; font-size: 1rem; line-height: 1.5; }
.mega-menu__cta { background: var(--color-navy-deep); border-radius: .8rem; color: var(--color-white); padding: 1.35rem; }
.mega-menu__cta > span { color: var(--color-gold); display: block; font-size: 1rem; font-weight: 700; letter-spacing: .12em; margin-bottom: .8rem; text-transform: uppercase; }
.mega-menu__cta h2 { color: var(--color-white); }
.mega-menu__cta p { color: rgba(255, 255, 255, .7); }
.mega-menu__cta > a { color: var(--color-gold); }

/* Services dropdown */
.site-nav .dropdown-toggle::after { vertical-align: middle; }
.site-nav__dropdown { background: var(--color-white); border: 0; border-radius: .55rem; box-shadow: 0 18px 45px rgba(21, 22, 53, .18); margin-top: .4rem; min-width: 270px; padding: .5rem; }
.site-nav__dropdown .dropdown-item { border-radius: .4rem; color: var(--color-navy-deep); font-size: 1rem; font-weight: 600; padding: .6rem .85rem; white-space: normal; }
.site-nav__dropdown .dropdown-item:hover,
.site-nav__dropdown .dropdown-item:focus { background: var(--color-pale); color: var(--color-navy-deep); }
.site-nav__dropdown .dropdown-item.active { background: var(--color-navy); color: var(--color-white); }
@media (max-width: 1399.98px) {
  .site-nav__dropdown { background: rgba(255, 255, 255, .06); border-radius: .5rem; box-shadow: none; margin: .15rem 0 .5rem; padding: .35rem; }
  .site-nav__dropdown .dropdown-item { color: rgba(255, 255, 255, .82); }
  .site-nav__dropdown .dropdown-item:hover,
  .site-nav__dropdown .dropdown-item:focus { background: rgba(90, 99, 184, .34); color: var(--color-white); }
}

/* Hero */
.hero-section {
  background: var(--color-navy-deep);
  color: var(--color-white);
  overflow: hidden;
  position: relative;
}

.hero-slider { background: var(--color-navy-deep); width: 100%; }
.hero-slider .swiper-wrapper { align-items: stretch; }
.hero-slide { align-items: center; background-position: center bottom; background-repeat: no-repeat; background-size: cover; display: flex; height: auto; min-height: 660px; overflow: hidden; position: relative; }
.hero-slide::before { background: linear-gradient(90deg, rgba(21, 22, 53, .98) 0%, rgba(21, 22, 53, .87) 35%, rgba(21, 22, 53, .34) 63%, rgba(21, 22, 53, .08) 100%); content: ""; inset: 0; position: absolute; }
.hero-slide--formation { background-image: url("../images/hero-formation.webp"); }
.hero-slide--tax { background-image: url("../images/hero-tax-advisory.webp"); }
.hero-slide--growth { background-image: url("../images/hero-growth.webp"); }
.hero-slide .container { position: relative; z-index: 2; }
.hero-slide__content { max-width: 660px; padding: 6rem 0 7rem; }
.hero-slide h1,
.hero-slide h2 { color: var(--color-white); font-size: clamp(2.25rem, 4vw, 3.55rem); line-height: 1.1; max-width: 760px; }
.hero-slide h1 em { color: var(--color-gold-soft); font-style: normal; }
.hero-slide__lead { color: rgba(255, 255, 255, .8); font-size: 1.06rem; margin: 1rem 0 1.7rem; max-width: 620px; }
.hero-slide__lead--secondary { font-size: 1rem; margin-top: -1rem; }
.hero-slider__arrow { border: 1px solid rgba(255, 255, 255, .35); border-radius: 50%; color: var(--color-white); height: 46px; transition: background-color .2s ease, border-color .2s ease; width: 46px; }
.hero-slider__arrow::after { font-size: 1rem; font-weight: 700; }
.hero-slider__arrow:hover { background: var(--color-gold); border-color: var(--color-gold); color: var(--color-navy-deep); }
.hero-slider .swiper-button-prev { left: 2rem; }
.hero-slider .swiper-button-next { right: 2rem; }
.hero-slider__pagination { bottom: 1.7rem !important; }
.hero-slider__pagination .swiper-pagination-bullet { background: var(--color-white); height: 7px; opacity: .55; transition: opacity .2s ease, width .2s ease; width: 7px; }
.hero-slider__pagination .swiper-pagination-bullet-active { background: var(--color-gold); border-radius: 1rem; opacity: 1; width: 28px; }

/* Global reach */
.global-reach { background: var(--color-white); overflow: hidden; position: relative; }
.global-reach::before { background: url("../images/map.jpg") center / contain no-repeat; content: ""; inset: 4% -10% 0 30%; opacity: .045; pointer-events: none; position: absolute; }
.global-reach .container { position: relative; }
.global-reach__heading { align-items: start; display: grid; gap: clamp(2rem, 5vw, 5rem); grid-template-columns: .8fr 1.2fr; margin-bottom: 3rem; }
.global-reach__heading h3 { font-size: clamp(1.45rem, 2.2vw, 2rem); }
.global-reach__heading p { color: var(--color-slate); }
.formation-showcase { display: grid; gap: 1.5rem; margin-bottom: 1.5rem; }
.formation-feature { background: var(--color-pale); border: 1px solid var(--color-line); border-radius: 1rem; display: grid; grid-template-columns: minmax(320px, .85fr) minmax(0, 1.15fr); min-height: 470px; overflow: hidden; }
.formation-feature--reverse { --formation-container-offset: calc((100vw - 1320px) / 2 + .75rem); border-left: 0; border-radius: 0; border-right: 0; grid-template-columns: minmax(0, 1fr) minmax(420px, 1fr); margin-left: calc(50% - 50vw); width: 100vw; }
.formation-feature--reverse .formation-feature__media { order: 2; }
.formation-feature--reverse .formation-feature__content { padding-left: max(2rem, var(--formation-container-offset)); }
.formation-feature__media { margin: 0; min-height: 100%; overflow: hidden; position: relative; }
.formation-feature__media::after { background: linear-gradient(180deg, transparent 45%, rgba(21, 22, 53, .78)); content: ""; inset: 0; pointer-events: none; position: absolute; }
.formation-feature__media img { height: 100%; object-fit: cover; transition: transform .65s ease; width: 100%; }
.formation-feature:hover .formation-feature__media img { transform: scale(1.035); }
.formation-feature__media figcaption { align-items: center; bottom: 1.5rem; color: var(--color-white); display: flex; font-size: 1rem; font-weight: 700; gap: .75rem; left: 1.5rem; letter-spacing: .08em; position: absolute; text-transform: uppercase; z-index: 1; }
.formation-feature__media figcaption span { align-items: center; background: var(--color-gold); border-radius: 50%; color: var(--color-navy-deep); display: flex; height: 38px; justify-content: center; width: 38px; }
.formation-feature__content { align-content: center; background: var(--color-pale); display: grid; padding: clamp(2rem, 5vw, 4rem); }
.formation-feature__content--navy { background: var(--color-navy-deep); color: var(--color-white); }
.formation-feature__content h3 { font-size: clamp(1.55rem, 2.4vw, 2.15rem); margin-bottom: 1.5rem; }
.formation-feature__content--navy h3 { color: var(--color-white); }
.formation-feature__icon { align-items: center; background: var(--color-navy); border-radius: .75rem; color: var(--color-gold); display: flex; font-size: 1.2rem; height: 48px; justify-content: center; margin-bottom: 1.25rem; width: 48px; }
.formation-feature__content--navy .formation-feature__icon { background: rgba(255, 255, 255, .1); }
.formation-checklist { columns: 2; column-gap: 1.5rem; }
.formation-checklist li { break-inside: avoid; color: var(--color-slate); font-size: 1rem; margin-bottom: .72rem; padding-left: 1.2rem; position: relative; }
.formation-checklist li::before { color: var(--color-gold); content: "✓"; font-weight: 700; left: 0; position: absolute; }
.formation-feature__content--navy li { color: rgba(255, 255, 255, .78); }
.countries-panel { background: linear-gradient(120deg, #fff, var(--color-paper)); border: 0; border-radius: 1rem; margin-bottom: 1.25rem; overflow: hidden; padding: 1.4rem 0; }
.countries-panel__heading { align-items: end; display: grid; gap: 1rem 2rem; grid-template-columns: auto 1fr; padding: 0 clamp(1.25rem, 3vw, 2.25rem) 1.15rem; }
.countries-panel__heading h3 { font-size: clamp(1.25rem, 2vw, 1.65rem); margin: 0; }
.countries-panel__heading > p { color: var(--color-slate); font-size: 1rem; justify-self: end; margin: 0; }
.country-marquee { overflow: hidden; padding: .1rem 0; position: relative; }
.country-marquee::before,
.country-marquee::after { bottom: 0; content: ""; pointer-events: none; position: absolute; top: 0; width: clamp(24px, 5vw, 70px); z-index: 2; }
.country-marquee::before { background: linear-gradient(90deg, #fff, transparent); left: 0; }
.country-marquee::after { background: linear-gradient(270deg, var(--color-paper), transparent); right: 0; }
.country-marquee__track { animation: country-scroll 48s linear infinite; display: flex; width: max-content; }
.country-marquee:hover .country-marquee__track { animation-play-state: paused; }
.country-marquee__group { display: flex; flex-shrink: 0; gap: .65rem; padding-right: .65rem; }
.country-card { align-items: center; background: var(--color-white); border: 1px solid var(--color-line); border-radius: .75rem; box-shadow: 0 8px 22px rgba(21, 22, 53, .06); color: var(--color-navy-deep); display: inline-flex; flex: 0 0 auto; font-size: 1rem; font-weight: 650; gap: .6rem; min-height: 48px; padding: .55rem .9rem; white-space: nowrap; }
.country-card > span { font-size: 1.35rem; line-height: 1; }
@keyframes country-scroll { to { transform: translateX(-50%); } }
.consultation-panel { background: linear-gradient(120deg, rgba(36, 39, 92, .97), rgba(52, 58, 133, .94)), url("../images/banner00001.jpg") center / cover no-repeat; border-radius: 0; color: var(--color-white); margin-bottom: 4rem; margin-left: calc(50% - 50vw); width: 100vw; }
.consultation-panel__inner { align-items: start; display: grid; gap: 2.5rem; grid-template-columns: .7fr 1.3fr; margin: 0 auto; max-width: 1320px; padding: clamp(2.5rem, 5vw, 4rem) 0; width: calc(100% - 1.5rem); }
.consultation-panel h3 { color: var(--color-white); font-size: clamp(1.6rem, 2.5vw, 2.25rem); }
.consultation-panel p:not(.eyebrow) { color: rgba(255, 255, 255, .74); }
.regional-detail { align-items: start; display: grid; gap: clamp(2rem, 5vw, 4rem); grid-template-columns: .65fr 1.35fr; }
.regional-detail__intro { position: sticky; top: 120px; }
.regional-detail__intro h3 { font-size: clamp(1.6rem, 2.5vw, 2.2rem); }
.regional-detail__intro p { color: var(--color-slate); }
.region-accordion { display: grid; gap: .75rem; }
.region-accordion__item { background: linear-gradient(145deg, #fff, #f7f7fc); border: 1px solid var(--color-line); border-radius: 1rem; box-shadow: 0 10px 28px rgba(21, 22, 53, .055); overflow: hidden; transition: border-color .3s ease, box-shadow .3s ease, transform .3s ease; }
.region-accordion__item:hover { border-color: rgba(212, 175, 55, .65); box-shadow: 0 16px 36px rgba(21, 22, 53, .1); transform: translateY(-2px); }
.region-accordion__item[open] { background: var(--color-white); border-color: var(--color-gold); box-shadow: 0 18px 42px rgba(21, 22, 53, .11); }
.region-accordion__item summary { align-items: center; color: var(--color-navy-deep); cursor: pointer; display: grid; font-family: var(--font-heading); font-size: 1.12rem; font-weight: 700; gap: .85rem; grid-template-columns: 26px 1fr 32px; list-style: none; padding: 1rem 1.15rem; transition: background-color .3s ease; }
.region-accordion__item summary::-webkit-details-marker { display: none; }
.region-accordion__item summary:focus-visible { outline: 3px solid rgba(212, 175, 55, .45); outline-offset: -3px; }
.region-accordion__icon { align-items: center; background: transparent; border-radius: 0; color: var(--color-gold); display: flex; font-size: 1.25rem; height: 26px; justify-content: center; width: 26px; }
.region-accordion__item[open] .region-accordion__icon { transform: none; }
.region-accordion__toggle { border: 1px solid var(--color-line); border-radius: 50%; height: 30px; position: relative; width: 30px; }
.region-accordion__toggle::before,
.region-accordion__toggle::after { background: var(--color-navy); content: ""; height: 2px; left: 8px; position: absolute; top: 13px; transition: opacity .25s ease, transform .25s ease; width: 12px; }
.region-accordion__toggle::after { transform: rotate(90deg); }
.region-accordion__item[open] .region-accordion__toggle { background: var(--color-gold); border-color: var(--color-gold); }
.region-accordion__item[open] .region-accordion__toggle::after { opacity: 0; transform: rotate(0); }
.region-accordion__content { display: grid; grid-template-rows: 0fr; opacity: 0; padding: 0 1.15rem 0 3.65rem; transition: grid-template-rows .35s ease, opacity .3s ease, padding-bottom .35s ease; }
.region-accordion__content > * { overflow: hidden; }
.region-accordion__item[open] .region-accordion__content { grid-template-rows: 1fr; opacity: 1; padding-bottom: 1.2rem; }
.region-accordion__content p { color: var(--color-slate); font-size: 1rem; line-height: 1.8; margin: 0; }
.global-reach__closing { border-left: 3px solid var(--color-gold); color: var(--color-navy-deep); font-family: var(--font-heading); font-size: 1.08rem; font-weight: 600; margin: 1.5rem 0 0; padding: .35rem 0 .35rem 1rem; }

/* About */
.about-section { background: linear-gradient(rgba(250, 250, 252, .9), rgba(250, 250, 252, .94)), url("../images/map.jpg") bottom center / contain no-repeat; }
.about-section p:not(.eyebrow) { color: var(--color-slate); }
.about-highlights { margin: 1.5rem 0; }
.about-highlights li { align-items: flex-start; display: flex; gap: .55rem; }
.about-highlights i { color: var(--color-gold); margin-top: .35rem; }
.about-highlights span { color: var(--color-navy-deep); font-size: 1rem; font-weight: 700; line-height: 1.45; }
.about-visual { border-radius: .55rem; box-shadow: var(--shadow-soft); overflow: hidden; transition: box-shadow .3s ease, transform .3s ease; }
.about-visual:hover { box-shadow: 0 28px 60px rgba(21, 22, 53, .2); transform: translateY(-6px); }
.about-visual img { aspect-ratio: 3 / 2; display: block; height: auto; object-fit: cover; width: 100%; }

/* Core expertise */
.expertise-section { background: var(--color-paper); padding-top: 0; }
.expertise-grid { align-items: start; display: grid; gap: 1.25rem; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.expertise-card { background: var(--color-white); border: 1px solid var(--color-line); border-radius: 1rem; box-shadow: 0 16px 40px rgba(21, 22, 53, .07); overflow: hidden; padding: 2rem; position: relative; transition: border-color .3s ease, box-shadow .3s ease, transform .3s ease; }
.expertise-card:hover { border-color: var(--color-gold); box-shadow: 0 22px 48px rgba(21, 22, 53, .13); transform: translateY(-5px); }
.expertise-card__number { color: rgba(90, 99, 184, .08); font-family: var(--font-heading); font-size: 6rem; font-weight: 700; line-height: 1; position: absolute; right: 1rem; top: .5rem; }
.expertise-card__icon { align-items: center; background: transparent; border-radius: 0; color: var(--color-navy-deep); display: flex; font-size: 1.35rem; height: 30px; justify-content: flex-start; margin-bottom: 1.3rem; position: relative; width: 30px; }
.expertise-card h2 { font-size: 1.35rem; position: relative; }
.expertise-card p { color: var(--color-slate); font-size: 1rem; position: relative; }
.expertise-card__description { line-height: 1.7; margin: 0 0 1.25rem; max-height: 5.92rem; overflow: hidden; transition: max-height .55s ease; }
.expertise-card.is-expanded { border-color: var(--color-gold); box-shadow: 0 24px 55px rgba(21, 22, 53, .14); }
.expertise-card.is-expanded .expertise-card__description { max-height: 40rem; }
.expertise-card__toggle { align-items: center; background: transparent; border: 0; color: var(--color-accent); display: inline-flex; font-size: 1rem; font-weight: 700; gap: .55rem; padding: .25rem 0; position: relative; }
.expertise-card__toggle::after { background: var(--color-gold); bottom: 0; content: ""; height: 1px; left: 0; position: absolute; transition: width .3s ease; width: 28px; }
.expertise-card__toggle:hover::after { width: 100%; }
.expertise-card__toggle:focus-visible { border-radius: .2rem; outline: 3px solid rgba(212, 175, 55, .38); outline-offset: 4px; }
.expertise-card__toggle i { font-size: 1rem; transition: transform .3s ease; }
.expertise-card.is-expanded .expertise-card__toggle i { transform: rotate(180deg); }

/* Services */
.services-section { background: var(--color-pale); border-bottom: 1px solid var(--color-line); border-top: 1px solid var(--color-line); }
.services-slider { padding: .5rem .2rem 1rem; }
.services-slider .swiper-wrapper { align-items: stretch; }
.services-slider .swiper-slide { height: auto; }
.service-card { background: var(--color-white); border: 1px solid var(--color-line); border-radius: 1rem; display: flex; flex-direction: column; height: 100%; overflow: hidden; transition: border-color .3s ease, box-shadow .3s ease, transform .3s ease; }
.service-card:hover { border-color: var(--color-accent); box-shadow: 0 18px 35px -20px rgba(21, 22, 53, .35); transform: translateY(-4px); }
.service-card--accent { border-top: 3px solid var(--color-gold); }
.service-card__image { height: 190px; object-fit: cover; width: 100%; }
.service-card__body { display: flex; flex: 1; flex-direction: column; padding: 1.6rem 1.7rem 1.8rem; }
.service-card__icon { display: none; }
.service-card h3 { font-size: 1.2rem; }
.service-card h4 { color: var(--color-accent); font-family: var(--font-body); font-size: 1rem; font-weight: 700; line-height: 1.45; margin-bottom: .85rem; }
.service-card__body > p { color: var(--color-slate); font-size: 1rem; }
.service-card a { color: var(--color-accent); font-size: 1rem; font-weight: 700; margin-top: auto; padding-top: .5rem; }
.service-card a span { display: inline-block; margin-left: .25rem; transition: transform .2s ease; }
.service-card a:hover span { transform: translateX(4px); }
.services-slider__controls { align-items: center; display: flex; justify-content: space-between; margin-top: 1.25rem; padding: 0 .2rem; }
.services-slider__buttons { display: flex; gap: .65rem; }
.services-slider__arrow { align-items: center; background: var(--color-white); border: 1px solid var(--color-line); border-radius: .35rem; box-shadow: 0 8px 18px rgba(21, 22, 53, .08); color: var(--color-navy); display: inline-flex; height: 44px; justify-content: center; padding: 0; transition: background-color .2s ease, border-color .2s ease, color .2s ease, transform .2s ease; width: 44px; }
.services-slider__arrow:hover { background: var(--color-gold); border-color: var(--color-gold); color: var(--color-navy-deep); transform: translateY(-2px); }
.services-slider__arrow:disabled,
.services-slider__arrow.swiper-button-disabled { box-shadow: none; cursor: not-allowed; opacity: .38; pointer-events: none; transform: none; }
.services-slider__pagination { display: flex; gap: .4rem; position: static; width: auto !important; }
.services-slider__pagination .swiper-pagination-bullet { background: var(--color-muted); border-radius: 1rem; height: 6px; margin: 0 !important; opacity: .45; transition: background-color .2s ease, opacity .2s ease, width .2s ease; width: 18px; }
.services-slider__pagination .swiper-pagination-bullet-active { background: var(--color-accent); opacity: 1; width: 38px; }

/* Online formation */
.online-formation { background: var(--color-paper); }
.online-formation__panel { background: linear-gradient(120deg, rgba(21, 22, 53, .97), rgba(52, 58, 133, .91)), url("../images/banner00002.jpg") center / cover no-repeat; border-radius: 1rem; box-shadow: var(--shadow-soft); color: var(--color-white); overflow: hidden; padding: clamp(2rem, 5vw, 4.5rem); position: relative; }
.online-formation__panel::after { border: 1px solid rgba(212, 175, 55, .22); border-radius: 50%; content: ""; height: 320px; position: absolute; right: -120px; top: -150px; width: 320px; }
.online-formation__panel > * { position: relative; z-index: 1; }
.online-formation h2 { color: var(--color-white); }
.online-formation header > p:not(.eyebrow) { color: rgba(255, 255, 255, .75); }
.online-formation__label { color: var(--color-gold-soft); font-family: var(--font-heading); font-size: 1.08rem; font-weight: 600; }
.process-list { display: grid; gap: .7rem; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.process-list li { align-items: center; background: rgba(255, 255, 255, .07); border: 1px solid rgba(255, 255, 255, .13); border-radius: .75rem; color: rgba(255, 255, 255, .9); display: flex; font-size: 1rem; gap: .8rem; min-height: 68px; padding: .8rem 1rem; transition: background-color .3s ease, border-color .3s ease, transform .3s ease; }
.process-list li:hover { background: rgba(255, 255, 255, .12); border-color: rgba(212, 175, 55, .55); transform: translateY(-3px); }
.process-list span { color: var(--color-gold); font-family: var(--font-mono); font-size: 1rem; }

/* Why us */
.why-section { background: linear-gradient(rgba(52, 58, 133, .92), rgba(36, 39, 92, .95)), url("../images/banner00001.jpg") center / cover no-repeat; color: var(--color-white); }
.why-section h2 { color: var(--color-white); }
.why-section header > p:last-child { color: rgba(255, 255, 255, .65); }
.why-list li { align-items: flex-start; border-bottom: 1px solid rgba(255, 255, 255, .1); display: flex; gap: .8rem; padding: 1.15rem .75rem; }
.why-list i { color: var(--color-gold); margin-top: .35rem; }
.why-list strong { color: var(--color-white); font-size: 1rem; }

/* Values and stats */
.values-section { background: linear-gradient(180deg, var(--color-paper), #fff); }
.digital-first { align-items: center; background: var(--color-navy-deep); border-radius: 1rem; color: var(--color-white); display: grid; gap: 2.5rem; grid-template-columns: .9fr 1.1fr; margin-bottom: 2rem; overflow: hidden; padding: clamp(2rem, 4vw, 3.5rem); position: relative; }
.digital-first::after { background: radial-gradient(circle, rgba(212, 175, 55, .17), transparent 68%); content: ""; height: 360px; pointer-events: none; position: absolute; right: -100px; top: -160px; width: 360px; }
.digital-first h3 { color: var(--color-white); font-size: clamp(1.6rem, 2.5vw, 2.15rem); }
.digital-first p:not(.eyebrow) { color: rgba(255, 255, 255, .7); margin: 0; }
.digital-first__list { display: grid; gap: .75rem; grid-template-columns: repeat(2, minmax(0, 1fr)); position: relative; }
.digital-first__list li { align-items: center; border-bottom: 1px solid rgba(255, 255, 255, .12); display: flex; font-size: 1rem; font-weight: 600; gap: .65rem; padding: .75rem 0; }
.digital-first__list i { color: var(--color-gold); }
.value-card { background: var(--color-white); border: 1px solid var(--color-gold); border-radius: 1rem; height: 100%; padding: 1.8rem 1.5rem; transition: border-color .3s ease, box-shadow .3s ease, transform .3s ease; }
.value-card:hover { border-color: var(--color-accent); box-shadow: 0 20px 42px rgba(21, 22, 53, .14); transform: translateY(-6px); }
.value-card > span { color: var(--color-gold); font-family: var(--font-mono); font-size: 1rem; letter-spacing: .12em; }
.value-card h3 { font-size: 1.14rem; margin: .55rem 0; }
.value-card p { color: var(--color-slate); font-size: 1rem; margin: 0; }
.stats-section { background: var(--color-pale); border-bottom: 1px solid var(--color-line); border-top: 1px solid var(--color-line); }
.stat-item { border-right: 1px solid var(--color-line); padding: 2.25rem 1rem; text-align: center; }
.stat-item:last-child { border-right: 0; }
.stat-item strong { color: var(--color-navy-deep); display: block; font-family: var(--font-heading); font-size: 2.25rem; font-weight: 600; }
.stat-item span { color: var(--color-slate); display: block; font-size: 1rem; letter-spacing: .08em; text-transform: uppercase; }

/* Leadership */
.leadership-section__top { background: linear-gradient(180deg, var(--color-navy) 0%, var(--color-navy-light) 100%); color: var(--color-white); padding: 5rem 0 4rem; }
.leadership-section__heading { margin: 0 auto 3rem; max-width: 850px; }
.leadership-section__heading h2 { color: var(--color-white); font-size: clamp(2rem, 3.5vw, 3rem); }
.leadership-stats li { border-right: 1px solid rgba(255, 255, 255, .35); padding: .5rem 1rem; text-align: center; }
.leadership-stats li:last-child { border-right: 0; }
.leadership-stats strong { color: var(--color-white); display: block; font-family: var(--font-heading); font-size: clamp(2rem, 4vw, 2.75rem); font-weight: 700; line-height: 1; }
.leadership-stats span { color: rgba(255, 255, 255, .75); display: block; font-size: 1rem; font-weight: 700; letter-spacing: .04em; margin-top: .8rem; text-transform: uppercase; }
.leadership-section__main { background: var(--color-paper); padding: 5.5rem 0; }
.leadership-section__main header > p:not(.eyebrow) { color: var(--color-slate); }
.leadership-card { background: var(--color-white); border: 1px solid var(--color-line); border-radius: .35rem; box-shadow: 0 18px 45px rgba(21, 22, 53, .1); height: 100%; overflow: hidden; transition: box-shadow .3s ease, transform .3s ease; }
.leadership-card:hover { box-shadow: 0 24px 55px rgba(21, 22, 53, .16); transform: translateY(-5px); }
.leadership-card > img { height: 300px; object-fit: cover; width: 100%; }
.leadership-card__body { min-height: 135px; padding: 1.5rem; position: relative; }
.leadership-card__body h3 { font-size: 1.35rem; margin-bottom: .35rem; }
.leadership-card__body p { color: var(--color-navy); font-size: 1rem; font-weight: 700; letter-spacing: .08em; margin: 0; text-transform: uppercase; }
.leadership-card__icon { align-items: center; background: var(--color-gold); color: var(--color-navy-deep); display: flex; font-size: 1.1rem; height: 48px; justify-content: center; position: absolute; right: 1.25rem; top: -24px; width: 48px; }

/* FAQ */
.faq-section { background: var(--color-white); }
.faq-layout { align-items: start; display: grid; gap: clamp(3rem, 7vw, 7rem); grid-template-columns: minmax(230px, .62fr) minmax(0, 1.38fr); }
.faq-section__intro { position: sticky; top: 130px; }
.faq-section__intro h2 { font-size: clamp(2.25rem, 4.5vw, 3.35rem); line-height: 1.08; max-width: 390px; }
.faq-section__intro > p:not(.eyebrow) { color: var(--color-slate); margin: 1.15rem 0 1.5rem; max-width: 330px; }
.faq-section__intro a { color: var(--color-accent); font-size: 1rem; font-weight: 700; }
.faq-section__intro a span { display: inline-block; transition: transform .25s ease; }
.faq-section__intro a:hover span { transform: translateX(4px); }
.faq-accordion { display: grid; gap: .35rem; }
.faq-accordion .accordion-item { background: transparent; border: 0; border-radius: .75rem; overflow: hidden; }
.faq-accordion .accordion-button { background: transparent; border-radius: .75rem !important; box-shadow: none !important; color: var(--color-navy-deep); font-family: var(--font-heading); font-size: 1.03rem; font-weight: 650; gap: 1rem; line-height: 1.4; padding: 1.1rem 1.25rem; }
.faq-accordion .accordion-button::after { align-items: center; background-image: none !important; color: var(--color-accent); content: "+"; display: flex; flex: 0 0 24px; font-size: 1.55rem; font-weight: 500; height: 24px; justify-content: center; margin-left: auto; order: -1; transform: none !important; width: 24px; }
.faq-accordion .accordion-button:not(.collapsed) { background: #f3f4f8; border-radius: .75rem .75rem 0 0 !important; color: var(--color-navy-deep); }
.faq-accordion .accordion-button:not(.collapsed)::after { content: "−"; }
.faq-accordion .accordion-collapse.show,
.faq-accordion .accordion-collapse.collapsing { background: #f3f4f8; border-radius: 0 0 .75rem .75rem; }
.faq-accordion .accordion-body { color: var(--color-slate); font-size: 1rem; line-height: 1.7; padding: .15rem 1.5rem 1.4rem 4.25rem; }
.accordion-body p:last-child { margin-bottom: 0; }
.accordion-body li { margin-bottom: .35rem; }

/* CTA and footer */
.video-section { background: var(--color-white); border-top: 1px solid var(--color-line); }
.video-section header > p:not(.eyebrow) { color: var(--color-slate); }
.video-frame { background: var(--color-navy-deep); border: 8px solid var(--color-white); border-radius: .6rem; box-shadow: 0 24px 55px rgba(21, 22, 53, .2); overflow: hidden; }
.video-frame iframe { border: 0; }

.contact-cta { background: linear-gradient(120deg, rgba(36, 39, 92, .94), rgba(52, 58, 133, .88)), url("../images/banner00001.jpg") center / cover no-repeat; border-radius: .55rem; color: var(--color-white); overflow: hidden; padding: 3.75rem 2rem; position: relative; }
.contact-cta::before { border: 1px solid rgba(231, 200, 120, .2); border-radius: 50%; bottom: -100px; content: ""; height: 260px; left: -70px; position: absolute; width: 260px; }
.contact-cta > * { position: relative; }
.contact-cta h2 { color: var(--color-white); font-size: clamp(2rem, 3vw, 2.6rem); }
.contact-cta > p:not(.eyebrow) { color: rgba(255, 255, 255, .73); margin: 0 auto; max-width: 680px; }

.site-footer { background: var(--color-navy); color: rgba(255, 255, 255, .72); font-size: 1rem; overflow: hidden; position: relative; }
.site-footer::before { background: repeating-radial-gradient(ellipse at 25% 25%, transparent 0 24px, rgba(255, 255, 255, .035) 25px 27px); content: ""; height: 430px; left: -10%; pointer-events: none; position: absolute; top: 20px; transform: rotate(-10deg); width: 85%; }
.site-footer > * { position: relative; }
.site-footer h2 { color: var(--color-white); font-family: var(--font-body); font-size: 1rem; font-weight: 700; margin-bottom: 1.15rem; }
.site-footer a { color: rgba(255, 255, 255, .72); }
.site-footer a:hover { color: var(--color-gold-soft); }
.site-footer__contact-band { border-bottom: 1px solid rgba(255, 255, 255, .14); padding: 1.35rem 0; }
.site-footer__brand { max-width: 250px; }
.site-footer__brand img { display: block; height: auto; width: 100%; }
.footer-contact-grid { display: grid; gap: .7rem; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.footer-contact-grid li { align-items: center; display: flex; gap: .7rem; }
.footer-contact-grid i { color: var(--color-gold); font-size: 1rem; width: 18px; }
.footer-contact-grid span { display: flex; flex-wrap: wrap; gap: .15rem .5rem; }
.footer-contact-grid strong { color: var(--color-gold-soft); }
.social-links { display: flex; gap: .55rem; }
.social-links a { align-items: center; border: 1px solid rgba(255, 255, 255, .24); border-radius: 50%; display: flex; height: 38px; justify-content: center; width: 38px; }
.social-links a:hover { background: var(--color-gold); border-color: var(--color-gold); color: var(--color-navy-deep); }
.site-footer__main { padding: 3.5rem 0; }
.footer-about { color: rgba(255, 255, 255, .68); line-height: 1.9; }
.footer-links li { border-bottom: 1px solid rgba(255, 255, 255, .07); margin-bottom: .1rem; padding: .45rem 0; }
.footer-links a::before { color: var(--color-gold); content: "›"; font-weight: 700; margin-right: .5rem; }
.office-address { color: rgba(255, 255, 255, .68); display: flex; flex-direction: column; font-style: normal; gap: .5rem; line-height: 1.65; }
.office-address strong { color: var(--color-gold-soft); margin-top: .3rem; text-decoration: underline; text-underline-offset: 3px; }
.office-address strong:first-child { margin-top: 0; }
.site-footer__bottom { border-top: 1px solid rgba(255, 255, 255, .12); color: rgba(255, 255, 255, .48); padding: 1.1rem 0; }

@media (max-width: 1399.98px) {
  .formation-feature--reverse { --formation-container-offset: calc((100vw - 1140px) / 2 + .75rem); }
  .consultation-panel__inner { max-width: 1140px; }
  .site-nav .navbar-collapse { max-height: calc(100vh - 90px); overflow-y: auto; padding: 1rem 0 .4rem; }
  .site-nav .navbar-nav { align-items: stretch !important; }
  .site-nav .btn { margin-top: .6rem; width: 100%; }
  .header-actions { align-items: stretch; flex-direction: column; gap: 0; }
  .mega-menu__panel { box-shadow: none; padding: .5rem 0; position: static !important; transform: none !important; }
  .mega-menu__panel .container-fluid { padding: 0 !important; }
  .mega-menu__layout { display: block; }
  .mega-menu__intro,
  .mega-menu__cta { display: none; }
  .mega-menu__links { grid-template-columns: 1fr; }
  .mega-menu__link { padding: .7rem .85rem; }
}

@media (max-width: 1199.98px) {
  .formation-feature--reverse { --formation-container-offset: calc((100vw - 960px) / 2 + .75rem); }
  .consultation-panel__inner { max-width: 960px; }
  .site-nav .navbar-collapse { max-height: calc(100vh - 90px); overflow-y: auto; padding: 1rem 0 .4rem; }
  .site-nav .navbar-nav { align-items: stretch !important; }
  .site-nav .btn { margin-top: .6rem; width: 100%; }
  .header-actions { align-items: stretch; flex-direction: column; gap: 0; }
  .mega-menu__panel { box-shadow: none; padding: .5rem 0; position: static !important; transform: none !important; }
  .mega-menu__panel .container-fluid { padding: 0 !important; }
  .mega-menu__layout { display: block; }
  .mega-menu__intro,
  .mega-menu__cta { display: none; }
  .mega-menu__links { grid-template-columns: 1fr; }
  .mega-menu__link { padding: .7rem .85rem; }
  .hero-slide { min-height: 610px; }
  .hero-slide::before { background: linear-gradient(90deg, rgba(21, 22, 53, .97), rgba(21, 22, 53, .73)); }
  .hero-slider .swiper-button-prev { left: .8rem; }
  .hero-slider .swiper-button-next { right: .8rem; }
  .footer-contact-grid { grid-template-columns: 1fr; }
  .regional-detail__intro { position: static; }
}

@media (max-width: 991.98px) {
  .formation-feature--reverse { --formation-container-offset: calc((100vw - 720px) / 2 + .75rem); }
  .global-reach__heading,
  .consultation-panel__inner,
  .regional-detail,
  .faq-layout { grid-template-columns: 1fr; }
  .consultation-panel__inner { max-width: 720px; }
  .faq-section__intro { position: static; }
  .formation-feature,
  .formation-feature--reverse { grid-template-columns: 1fr; }
  .formation-feature--reverse .formation-feature__media { order: 0; }
  .formation-feature__media { min-height: 340px; }
  .expertise-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .expertise-card:last-child { grid-column: 1 / -1; }
}

@media (max-width: 767.98px) {
  .formation-feature--reverse { --formation-container-offset: calc((100vw - 540px) / 2 + .75rem); }
  .consultation-panel__inner { max-width: 540px; }
  .section-space { padding: 4rem 0; }
  .section-space .row.g-5 { --bs-gutter-x: 1.5rem; }
  .site-nav__brand img { max-width: 205px; }
  .hero-slide { background-position: 66% bottom; min-height: 600px; }
  .hero-slide::before { background: rgba(21, 22, 53, .82); }
  .hero-slide__content { padding: 4.5rem 0 6.5rem; }
  .hero-slide h1,
  .hero-slide h2 { font-size: clamp(2.25rem, 10vw, 3.1rem); }
  .hero-slider__arrow { display: none; }
  .global-reach__heading,
  .consultation-panel__inner,
  .regional-detail,
  .expertise-grid,
  .process-list,
  .digital-first,
  .digital-first__list { grid-template-columns: 1fr; }
  .region-accordion__content { padding-left: 1.15rem; }
  .expertise-card:last-child { grid-column: auto; }
  .formation-checklist { columns: 1; }
  .formation-feature__media { min-height: 260px; }
  .faq-layout { gap: 2rem; }
  .faq-accordion .accordion-button { padding: 1rem .85rem; }
  .faq-accordion .accordion-body { padding: .1rem 1rem 1.25rem 3.85rem; }
  .countries-panel__heading { align-items: start; grid-template-columns: 1fr; }
  .countries-panel__heading > p { justify-self: start; }
  .country-marquee__track { animation-duration: 36s; }
  .leadership-stats li { border-bottom: 1px solid rgba(255, 255, 255, .2); padding: 1.25rem .75rem; }
  .leadership-stats li:nth-child(2) { border-right: 0; }
  .leadership-stats li:nth-child(n+3) { border-bottom: 0; }
  .leadership-card > img { height: 245px; }
  .stat-item:nth-child(2) { border-right: 0; }
  .stat-item:nth-child(-n+2) { border-bottom: 1px solid var(--color-line); }
  .contact-cta { padding: 3rem 1.25rem; }
  .site-footer__main { padding: 3rem 0; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; }
  .country-marquee__track { animation-play-state: paused; }
  html.aos-ready [data-aos] { opacity: 1 !important; transform: none !important; }
}
