/* Locally retained from the design elements approved after the refresh. */
:root {
  --selected-ink: #17334a;
  --selected-blue: #087da4;
  --selected-muted: #687b89;
  --refresh-ink: #0c2034;
  --refresh-blue: #0d5b98;
  --refresh-blue-dark: #061f35;
  --refresh-muted: #526477;
}

/* A balanced, darker first screen with a concise overview of the centre. */
.hero-section::after { background-color: rgba(2,16,30,.57); }
.hero-section .container { position: relative; z-index: 2; }
.hero-section .roow { display: grid; width: 100%; grid-template-columns: minmax(0,1.08fr) minmax(340px,.82fr); align-items: center; gap: clamp(32px,6vw,84px); }
.hero-copy { max-width: 680px; }
.hero-section .hero-copy h1 { max-width: 690px; font-size: clamp(38px,4.7vw,62px); line-height: 1.12; }
.hero-sidecard { width: 100%; max-width: 470px; justify-self: end; padding: clamp(22px,3vw,34px); border: 1px solid rgba(255,255,255,.23); border-radius: 20px; background: linear-gradient(145deg,rgba(7,29,49,.91),rgba(9,43,68,.86)); box-shadow: 0 24px 70px rgba(0,0,0,.26); color: #fff; backdrop-filter: blur(12px); }
.hero-sidecard__eyebrow { display: inline-block; margin-bottom: 13px; color: #e3c47d; font-size: 10px; font-weight: 800; letter-spacing: .18em; }
.hero-sidecard h2 { max-width: 360px; margin: 0 0 22px; color: #fff; font-size: clamp(21px,2.2vw,28px); line-height: 1.25; letter-spacing: -.025em; }
.hero-service { display: grid; grid-template-columns: 32px minmax(0,1fr); align-items: start; gap: 12px; padding: 14px 0; border-top: 1px solid rgba(255,255,255,.14); }
.hero-service > span { padding-top: 2px; color: #53c5d5; font-size: 11px; font-weight: 800; letter-spacing: .08em; }
.hero-service strong,.hero-service small { display: block; }
.hero-service strong { color: #fff; font-size: 14px; line-height: 1.35; }
.hero-service small { margin-top: 4px; color: rgba(231,240,246,.72); font-size: 12px; line-height: 1.45; }
.hero-sidecard__foot { display: flex; align-items: center; gap: 8px; margin-top: 15px; color: rgba(231,240,246,.76); font-size: 11px; }
.hero-sidecard__foot i { color: #e3c47d; }
.focus-section { background: #edf2f6; }

/* Header */
.sticky-wrapper { position: relative !important; z-index: 1000; }
.sticky-wrapper.is-sticky .navbar { box-shadow: 0 8px 26px rgba(15,43,62,.09); }
nav.navbar.navbar-expand-lg { position: relative; min-height: 76px; padding: 10px 0; background: rgba(7,29,49,.98) !important; box-shadow: 0 1px 0 rgba(255,255,255,.08),0 8px 24px rgba(0,0,0,.12); backdrop-filter: blur(14px); }
.navbar .container { gap: 24px; }
.navbar .logo { display: inline-flex; flex: 0 0 auto; align-items: center; gap: 12px; text-decoration: none; }
.navbar .logo img { display: block; width: 54px; height: 48px; object-fit: contain; }
.navbar .logo-text { max-width: 230px; color: #f3f7fa; font-size: 13px; font-weight: 700; line-height: 1.3; }
.navbar-toggler { box-sizing: border-box; display: inline-flex; width: 46px; min-width: 46px; height: 46px; flex: 0 0 46px; align-items: center; justify-content: center; padding: 0; border: 1px solid rgba(255,255,255,.25); border-radius: 10px; background: rgba(255,255,255,.04); }
.navbar-toggler:focus { box-shadow: 0 0 0 3px rgba(39,183,203,.22); }
.navbar-toggler .navbar-toggler-icon { width: 22px; min-width: 22px; height: 2px; flex: 0 0 22px; filter: brightness(0) invert(1); }
.navbar-toggler .navbar-toggler-icon::before,.navbar-toggler .navbar-toggler-icon::after { right: 0; left: 0; width: 22px; }
.navbar-nav { align-items: center; gap: 4px; }
.navbar-nav .nav-item { margin: 0; }
.navbar-expand-lg .navbar-nav .nav-link { display: flex; min-height: 42px; align-items: center; padding: 9px 12px; border-radius: 9px; color: #d3e0e8; font-family: "Segoe UI",Arial,sans-serif; font-size: 13px; font-weight: 600; letter-spacing: 0; transition: color .2s ease,background .2s ease; }
.navbar-expand-lg .navbar-nav .nav-link:hover,.navbar-expand-lg .navbar-nav .nav-link:focus-visible,.navbar-expand-lg .navbar-nav .nav-link.active { color: #fff; background: rgba(39,183,203,.14); }
.language-nav-item { position: relative; margin-left: 8px !important; }
.language-selector { position: relative; }
.selected-language { display: inline-flex; min-height: 42px; align-items: center; gap: 8px; padding: 8px 11px; border: 1px solid rgba(255,255,255,.22); border-radius: 10px; background: rgba(255,255,255,.045); color: #f3f7fa; font: 600 13px "Segoe UI",Arial,sans-serif; cursor: pointer; }
.selected-language .arrow { font-size: 9px; }
.language-dropdown { position: absolute; top: calc(100% + 8px); right: 0; z-index: 1100; display: none; min-width: 150px; margin: 0; padding: 7px; border: 1px solid rgba(255,255,255,.13); border-radius: 12px; background: #0b2942; box-shadow: 0 14px 36px rgba(0,0,0,.26); list-style: none; }
.language-dropdown.visible { display: block; }
#language-dropdown.visible { visibility: visible; max-height: 300px; }
.language-dropdown li { margin: 0; }
.language-dropdown a { display: block; padding: 9px 11px; border-radius: 8px; color: #e1eaf0; font-size: 13px; text-decoration: none; }
#language-dropdown.visible a { visibility: visible; }
.language-dropdown a:hover { background: rgba(39,183,203,.15); color: #fff; }

/* Footer uses the same deep blue family as the hero card and course section. */
.contact-section { background: linear-gradient(135deg,#071d31 0%,#0a2c49 58%,#0c3659 100%) !important; }
.contact-section::before { display: none; }
.contact-section .hr1 { border-color: rgba(255,255,255,.18); opacity: 1; }
.contact-section .footer__text,.contact-section .footer__text p { color: #d4e0e8; }
.contact-section .footer__bottom_text { color: #aabdc9; }
.contact-section .footer1 a:hover { color: #e3c47d; }

/* Experts */
.team { background: #fff; }
.team .container { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 20px; }
.team .container > div:first-child { grid-column: 1 / -1; margin-bottom: 8px; text-align: left !important; }
.team h2 { margin: 0; color: var(--selected-ink); font-size: clamp(32px,4vw,46px); text-align: left !important; }
.team-member { display: grid; grid-template-columns: minmax(112px,.38fr) minmax(0,1fr); align-items: start; gap: 18px; width: 100%; max-width: none; margin: 0; padding: 22px; overflow: hidden; border: 1px solid #e5eaec; border-radius: 17px; background: #fff; box-shadow: 0 10px 30px rgba(23,51,74,.05); transition: transform .2s ease,box-shadow .2s ease; }
.team-member:hover { transform: translateY(-3px); box-shadow: 0 16px 34px rgba(23,51,74,.09); }
.team-member .member { min-width: 0; }
.team-member .member img { display: block; width: 96px; height: 96px; max-width: 100%; border: 4px solid #edf4f5; border-radius: 50%; object-fit: cover; }
.team-member h4 { margin: 12px 0 4px; color: var(--selected-ink); font-size: 16px; line-height: 1.35; }
.team-member span { display: block; color: var(--selected-blue); font-size: 12px; font-style: normal; font-weight: 700; }
.team-member .member-content { min-width: 0; padding: 0; color: var(--selected-muted); font-size: 13px; line-height: 1.7; }
.team-member .member-content p { margin: 0 0 8px; color: inherit; font-size: inherit; line-height: inherit; }
.team-member .member-content p.bio-text--collapsed { display: -webkit-box; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 5; }
.bio-toggle { padding: 0; border: 0; background: none; color: var(--selected-blue); cursor: pointer; font: inherit; font-size: 12px; font-weight: 800; }
.bio-toggle:hover { color: #0b3653; text-decoration: underline; }

/* Contacts and map */
.contact { padding: 72px 0; background: #f3f6f6; }
.contact .section-header { margin: 0 0 32px; }
.contact .section-header h2 { margin: 0; text-align: left !important; }
.contact .row.gx-lg-5 { align-items: stretch; margin: 0; }
.contact .row.gx-lg-5 > [class*="col-"] { padding: 0; }
.contact .info-container { display: flex; height: 100%; flex-direction: column; align-items: stretch !important; justify-content: flex-start !important; gap: 9px; padding: 22px; border: 1px solid #e0e8e8; border-radius: 18px 0 0 18px; background: #fff; box-shadow: 0 12px 32px rgba(23,51,74,.06); }
.contact .info-item { display: flex; width: 100%; align-items: flex-start; gap: 13px; margin: 0; padding: 12px 4px; border-bottom: 1px solid #edf0f0; border-radius: 0; background: transparent; color: var(--selected-ink); }
.contact .info-item:last-of-type { border-bottom: 0; }
.contact .info-item i { display: grid; width: 42px; height: 42px; flex: 0 0 42px; place-items: center; margin: 0; border-radius: 12px; background: #edf6f7; color: var(--selected-blue); font-size: 18px; }
.contact .info-item h4 { margin: 0 0 3px; padding: 0; color: #627989; font-size: 12px; font-weight: 700; }
.contact .info-item p { margin: 0; color: var(--selected-ink); font-size: 14px; line-height: 1.5; overflow-wrap: anywhere; }
.contact .info-item a { color: inherit; text-decoration: none; }
.contact .info-item a:hover { color: var(--selected-blue); text-decoration: underline; }
.contact-route { display: none; min-height: 44px; align-items: center; justify-content: center; gap: 9px; padding: 10px 16px; border: 1px solid #c8dfe3; border-radius: 10px; color: var(--selected-blue); font-size: 13px; font-weight: 800; text-decoration: none; }
.contact-route:hover { background: var(--selected-blue); color: #fff; }
.contact .maps { display: block; overflow: hidden; border: 1px solid #e0e8e8; border-left: 0; border-radius: 0 18px 18px 0; background: #e7eff0; }
.contact .maps .embed-responsive { min-height: 430px; }
.contact .maps iframe { display: block; width: 100%; height: 100%; min-height: 430px; border: 0; }

@media (max-width:1199px) {
  .navbar-expand-lg .navbar-nav .nav-link { padding-right: 9px; padding-left: 9px; font-size: 12px; }
  .navbar .logo-text { max-width: 190px; font-size: 12px; }
  .team-member { grid-template-columns: minmax(95px,.35fr) minmax(0,1fr); gap: 13px; padding: 18px; }
}
@media (max-width:991px) {
  nav.navbar.navbar-expand-lg { min-height: 68px; }
  .navbar .container { flex-wrap: wrap; }
  .navbar-collapse { flex-basis: 100%; }
  .navbar-nav { align-items: stretch; gap: 2px; padding: 12px 0 6px; }
  .navbar-expand-lg .navbar-nav .nav-link { min-height: 42px; padding: 9px 12px; font-size: 14px; }
  .language-nav-item { margin: 6px 0 0 !important; }
  .language-dropdown { right: auto; left: 0; }
  .hero-section .roow { grid-template-columns: minmax(0,1fr) minmax(290px,.82fr); gap: 22px; }
  .hero-section .hero-copy h1 { font-size: clamp(34px,4.4vw,48px); }
  .hero-sidecard { padding: 22px; }
  .hero-service { gap: 8px; }
  .hero-service strong { font-size: 13px; }
  .hero-service small { font-size: 11px; }
  .team .container { gap: 14px; }
  .team-member { grid-template-columns: 1fr; }
  .team-member .member { display: grid; grid-template-columns: 78px minmax(0,1fr); column-gap: 13px; align-items: center; }
  .team-member .member img { grid-row: span 2; width: 72px; height: 72px; }
  .team-member h4 { margin: 0 0 4px; }
  .team-member .member-content { font-size: 13px; }
  .contact-route { display: flex; width: 100%; }
  .contact .maps { display: none; }
  .contact .info-container { border-radius: 18px; }
}
@media (max-width:767px) {
  .navbar .logo img { width: 46px; height: 42px; }
  .navbar .logo-text { max-width: 190px; font-size: 11px; }
  .hero-section { height: auto; min-height: 0; padding: 108px 0 58px; }
  .hero-section .roow { grid-template-columns: 1fr; gap: 30px; }
  .hero-section .hero-copy h1 { font-size: clamp(34px,8vw,46px); }
  .hero-sidecard { max-width: none; justify-self: stretch; padding: 22px; }
  .hero-sidecard h2 { font-size: 23px; }
  .team .container { grid-template-columns: 1fr; gap: 13px; }
  .team-member { grid-template-columns: minmax(92px,.35fr) minmax(0,1fr); gap: 13px; padding: 16px; }
  .team-member .member { display: block; }
  .team-member .member img { width: 78px; height: 78px; margin-bottom: 9px; }
  .team-member h4 { margin: 0 0 4px; font-size: 14px; }
  .team-member .member-content { font-size: 12px; }
  .team-member .member-content p.bio-text--collapsed { -webkit-line-clamp: 4; }
  .contact { padding: 60px 0; }
  .contact .section-header { margin-bottom: 22px; }
  .contact .info-container { padding: 15px; }
  .contact .info-item { gap: 10px; }
  .contact .info-item i { width: 38px; height: 38px; flex-basis: 38px; }
}
@media (max-width:420px) {
  .hero-section .hero-copy h1 { font-size: 34px; }
  .hero-sidecard { padding: 19px; border-radius: 16px; }
  .hero-service { grid-template-columns: 26px minmax(0,1fr); padding: 12px 0; }
  .team-member { grid-template-columns: 1fr; }
  .team-member .member { display: grid; grid-template-columns: 70px 1fr; align-items: center; gap: 0 12px; }
  .team-member .member img { grid-row: span 2; width: 66px; height: 66px; margin: 0; }
  .team-member h4 { align-self: end; }
  .team-member .member span { align-self: start; }
}

/* About section carousel */
.about-carousel { background: #edf2f6; padding-top: 76px; padding-bottom: 68px; }
.about-carousel .section-intro { margin-bottom: 32px; }
.about-carousel .section-intro h2 { margin-bottom: 12px; }
.about-carousel__slider { overflow: hidden; padding: 10px 0 16px; }
.about-carousel .swiper-slide { height: auto; }
.about-carousel .testimonial-wrap { display: flex; box-sizing: border-box; height: 100%; padding: 0 10px; }
.about-carousel .testimonial-item.about-card { box-sizing: border-box; display: flex; width: 100%; min-height: 232px; height: auto; flex-direction: column; align-items: stretch; margin: 0; padding: 25px; border: 1px solid #dce5ec; border-radius: 17px; background: #fff; box-shadow: 0 12px 30px rgba(12,32,52,.065); cursor: default; }
.about-card__head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 22px; }
.about-card__number { color: var(--refresh-blue); font-size: 12px; font-weight: 800; letter-spacing: .12em; }
.about-card__head i { display: grid; width: 42px; height: 42px; place-items: center; border-radius: 12px; background: #eaf3f7; color: var(--refresh-blue); font-size: 20px; }
.about-carousel .testimonial-item.about-card h3 { margin: 0 0 11px; color: var(--refresh-ink); font-size: 19px; line-height: 1.35; text-align: left; }
.about-carousel .testimonial-item.about-card p { margin: 0; color: #536779; font-size: 14px; line-height: 1.65; text-align: left; }
.about-carousel__controls { display: grid; width: min(270px, 100%); min-height: 46px; grid-template-columns: 40px minmax(0, 1fr) 40px; align-items: center; justify-items: center; gap: 12px; margin: 12px auto 0; }
.about-carousel__button { display: grid; width: 40px; height: 40px; flex: 0 0 40px; place-items: center; border: 1px solid #cbd9e2; border-radius: 50%; background: #fff; color: #0c3c5f; cursor: pointer; transition: .2s ease; }
.about-carousel__button:hover,.about-carousel__button:focus-visible { border-color: var(--refresh-blue); background: var(--refresh-blue); color: #fff; }
.about-carousel__controls .swiper-pagination { position: static !important; inset: auto !important; display: flex; width: fit-content !important; max-width: 140px; align-items: center; justify-content: center; justify-self: center; gap: 2px; overflow: visible; transform: none; }
.about-carousel__controls .swiper-pagination-bullet { margin: 0 4px !important; }
.about-carousel__controls .swiper-pagination-bullet { background: #98aabd; opacity: .55; }
.about-carousel__controls .swiper-pagination-bullet-active { background: var(--refresh-blue); opacity: 1; }
.show-more-btn { border: 1px solid #0b3556; border-radius: 9px; background: #0b3556; color: #fff; box-shadow: 0 5px 14px rgba(8,44,75,.16); transition: background-color .2s ease, border-color .2s ease, box-shadow .2s ease, transform .2s ease; }
.show-more-btn:hover { border-color: #125c8e; background: #125c8e; color: #fff; box-shadow: 0 7px 17px rgba(8,44,75,.22); transform: translateY(-1px); }
.show-more-btn:focus-visible { outline: 3px solid var(--refresh-gold); outline-offset: 3px; }
@media (max-width:767px) {
  .about-carousel { padding-top: 58px; padding-bottom: 54px; }
  .about-carousel .section-intro { margin-bottom: 22px; }
  .about-carousel .section-intro p { font-size: 16px; }
  .about-carousel__slider { padding: 8px 0 12px; }
  .about-carousel .testimonial-wrap { padding: 0 8px; }
  .about-carousel .testimonial-item.about-card { min-height: 0; padding: 22px; }
  .about-carousel .testimonial-item.about-card h3 { font-size: 18px; }
  .about-carousel .testimonial-item.about-card p { font-size: 15px; }
  .about-card__head { margin-bottom: 17px; }
  .about-carousel__controls { width: min(246px, 100%); gap: 8px; margin-top: 10px; }
  .about-carousel__button { width: 38px; height: 38px; flex-basis: 38px; }
  .about-carousel__controls .swiper-pagination-bullet { width: 7px; height: 7px; margin: 0 3px !important; }
}
