/* ==========================================================================
   FCLLP – static rebuild of the original Elementor design
   Colors: navy #252D63 / header #232D64 · blue #1E9CD7 · text #7B838C
   Fonts: DM Sans (site), Quicksand (menu), Lato (careers button)
   ========================================================================== */

:root {
  --navy: #252d63;
  --navy-header: #232d64;
  --blue: #1e9cd7;
  --blue-alt: #1d9cd7;
  --text: #7b838c;
  --role: #253e81;
  --line: #bdbdbd;
  --soft: #f4f5f6;
  --soft-home: #f7f7f7;
  --footer: #535659;
  --container: 1140px;
}

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body {
  margin: 0;
  font-family: "DM Sans", sans-serif;
  font-size: 16px;
  font-weight: 300;
  line-height: 1.5;
  color: var(--text);
  background: #fff;
  -webkit-font-smoothing: antialiased;
  font-optical-sizing: none;
}
img { max-width: 100%; height: auto; display: block; }
a { color: inherit; text-decoration: none; transition: color .3s; }
h1, h2, h3, h4, h5, h6 { margin: 0; font-family: "DM Sans", sans-serif; color: var(--navy); line-height: 1; }
p { margin: 0 0 .9rem; }
ul { list-style: none; margin: 0; padding: 0; }
b, strong { font-weight: 700; }
.skip-link { position: absolute; left: -999px; top: 0; background: var(--navy); color: #fff; padding: 10px 16px; z-index: 1000; }
.skip-link:focus { left: 10px; top: 10px; }

.container { width: 100%; max-width: var(--container); margin: 0 auto; padding: 0 10px; }
.text-justify { text-align: justify; }
.w400, .w400 p { font-weight: 400; }

/* Typography helpers ----------------------------------------------------- */
.h2 { font-size: 32px; font-weight: 700; color: var(--navy); line-height: 1; }
.h5 { font-size: 20px; font-weight: 700; color: var(--navy); line-height: 1; }
.rule { border: 0; border-top: 1px solid var(--line); margin: 30px 0; }

/* Buttons ---------------------------------------------------------------- */
.btn {
  display: inline-flex;
  align-items: center;
  gap: 21px;
  padding: 12px 24px;
  font-family: "DM Sans", sans-serif;
  font-size: 15px;
  font-weight: 400;
  line-height: 1;
  color: #fff;
  border-radius: 3px;
  border: 0;
  cursor: pointer;
  transition: background-color .3s, color .3s, border-color .3s;
}
.btn svg { width: 15px; height: 15px; fill: currentColor; flex-shrink: 0; }
.btn--blue { background: var(--blue); border-radius: 20px; }
.btn--blue:hover { background: var(--navy); color: #fff; }
.btn--navy { background: var(--navy); }
.btn--navy:hover { background: var(--blue); color: #fff; }

/* Header ----------------------------------------------------------------- */
.site-header {
  position: relative;
  z-index: 100;
  background: var(--navy-header);
  box-shadow: 0 0 10px 0 rgba(0, 0, 0, .23);
}
.header-inner {
  max-width: 1400px;
  margin: 0 auto;
  height: 112px;
  display: grid;
  grid-template-columns: 17.248% 65.752% 12.641% 1fr;
  align-items: center;
}
.header-logo { justify-self: end; padding: 0 10px; }
.header-logo img { width: 221px; height: auto; }
.main-nav ul { display: flex; justify-content: center; align-items: center; height: 50px; }
.main-nav a {
  display: flex;
  align-items: center;
  height: 50px;
  padding: 0 15px;
  font-family: "Quicksand", sans-serif;
  font-size: 15px;
  font-weight: 600;
  color: #fff;
}
.main-nav a:hover, .main-nav a.is-active { color: var(--blue); }
.header-social { display: flex; justify-content: center; padding-left: 2px; }
.header-social a { display: inline-flex; align-items: center; width: 28px; color: #fff; }
.header-social a:last-child { width: 20px; }
.header-social a:hover { color: var(--blue-alt); }
.header-social svg { width: 16px; height: 16px; fill: currentColor; }
.header-social a:nth-child(n+3) svg, .f-social a:nth-child(n+3) svg { width: 20px; height: 20px; }

.nav-toggle, .nav-panel-head, .nav-overlay { display: none; }

/* Home hero -------------------------------------------------------------- */
.hero {
  position: relative;
  min-height: 65vh;
  padding: 0 20% 0 11%;
  background: url("../images/hero-bg.jpg") center / cover no-repeat;
  color: #fff;
}
.hero::before { content: ""; position: absolute; inset: 0; background: rgba(37, 45, 99, .335); }
.hero-inner { position: relative; max-width: 1140px; margin: 0 auto; padding-top: 65px; }
.hero-line { width: 69px; height: 4px; background: #fff; }
.hero h1 { margin-top: 15px; font-size: 41px; font-weight: 500; line-height: 1; color: #fff; }
.hero p { margin: 15px 0 0; color: #fff; }
.hero .btn { margin-top: 29px; }

/* Home: who we are ------------------------------------------------------- */
.who { background: var(--soft-home); padding: 9% 5%; }
.who .container { display: flex; align-items: center; gap: 55px; padding: 0; }
.who-media, .who-body { flex: 1 1 50%; min-width: 0; }
.who-media img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 15px; }
.who-body > * + * { margin-top: 15px; }

/* Home: quote ------------------------------------------------------------ */
.quote {
  position: relative;
  padding: 80px 0;
  background: url("../images/male-city.jpg") center / cover no-repeat fixed;
}
.quote::before { content: ""; position: absolute; inset: 0; background: rgba(37, 45, 99, .7); }
.quote .container { position: relative; max-width: 1240px; padding: 20px 50px 50px; }
.quote blockquote { margin: 0; text-align: center; color: #fff; }
.quote blockquote::before {
  content: "\201C";
  display: block;
  height: .6em;
  font-family: "Times New Roman", Times, serif;
  font-size: 170px;
  font-weight: 900;
  line-height: 1;
  color: #fff;
}
.quote blockquote p { margin: 15px 0 0; font-size: 22px; font-weight: 400; line-height: 1.5; }
.quote cite { display: block; margin-top: 30px; font-style: normal; font-size: 18px; font-weight: 700; text-transform: uppercase; }

/* Two-column split (About, Services, Profiles, …) ------------------------ */
.split { display: grid; grid-template-columns: 1fr 1fr; gap: 60px; align-items: center; }
.split-media img { width: 100%; border-radius: 15px; }

/* About ------------------------------------------------------------------ */
.about-sec { padding: 80px 0 0; }
.about-sec--first { padding-top: 100px; }
.about-sec--last { padding-bottom: 120px; }
.about-sec .split { align-items: start; }
.about-sec .split-media { padding-top: var(--mo, 0); }
.about-sec .split-body { padding-top: var(--bo, 0); }
.about-sec .container { padding: 30px; }

/* Intro band (Services, People) ----------------------------------------- */
.intro { padding: 120px 0; text-align: center; }
.intro--soft { background: var(--soft); }
.intro .inner { max-width: 700px; margin: 0 auto; }
.intro .h2 { padding-top: 10px; margin-bottom: 34px; }
.intro--soft { padding-bottom: 130px; }
.intro--soft .inner p { padding: 0 11px; }

/* Services --------------------------------------------------------------- */
.svc { padding: 50px 0; }
.svc--first { padding: 85px 0 20px; }
.svc--last { padding: 0 0 80px; }
.svc--soft { background: var(--soft); }
.svc .container { padding: 30px; }
.svc-media img { aspect-ratio: 510 / 637; object-fit: cover; }
.svc .h5 { margin: 35px 0 20px; }
.svc .split { align-items: start; }
.svc .h2 { padding-top: 14px; }
.svc .split-media { padding-top: var(--mo, 40px); align-self: center; }
.svc .icon-list + .h5 { margin-top: 20px; }

/* Chevron icon list ------------------------------------------------------ */
.icon-list li { display: flex; align-items: flex-start; }
.icon-list li + li { margin-top: 7px; }
.icon-list svg { width: 16px; height: 16px; flex-shrink: 0; margin: 4px 5px 0 0; fill: var(--navy); }
.icon-list span { padding-left: 5px; }
.icon-list--loose li + li { margin-top: 10px; }
.icon-list--loose span { font-weight: 400; }

/* People ----------------------------------------------------------------- */
.team-sec {
  position: relative;
  padding: 85px 0 75px;
  background: url("../images/bg-shape.png") center / cover no-repeat;
}
.team-sec::before { content: ""; position: absolute; inset: 0; background: rgba(244, 245, 246, .32); }
.team-sec .container { position: relative; padding: 0 30px; }
.team-grid { display: grid; grid-template-columns: repeat(4, 225px); justify-content: space-between; row-gap: 62px; padding-top: 20px; }
.team-card { text-align: center; }
.team-card img { width: 225px; height: 225px; border-radius: 50%; object-fit: cover; }
.team-card h3 { margin-top: 22px; font-size: 21px; font-weight: 600; line-height: 1; color: var(--navy); transition: color .3s; }
.team-card h3.nm-b { font-size: 19px; font-weight: 700; }
.team-card .role { display: block; margin-top: 11px; font-size: 15px; font-weight: 500; line-height: 1; letter-spacing: .3px; color: var(--role); }
.team-card a:hover h3 { color: var(--blue); }

/* Profile ---------------------------------------------------------------- */
.profile-sec { background: #fbfbfb; padding: 100px 0 0; }
.profile-sec .container { padding: 30px; }
.profile-sec .split { align-items: start; }
.profile-photo img { width: 408px; height: 408px; margin: 0 auto; border-radius: 20px; object-fit: cover; }
.profile-name { font-size: 32px; font-weight: 700; color: #262d63; margin-top: 7px; }
.profile-role { margin-top: 20px; font-size: 16px; font-weight: 700; color: var(--blue); line-height: 1; }
.profile-bio { margin-top: 20px; }
.profile-more { background: #fbfbfb; padding: 0 0 100px; }
.profile-more .container { padding: 30px; }

/* Careers ---------------------------------------------------------------- */
.careers-top { padding: 124px 0 131px; }
.careers-top .split { gap: 80px; }
.careers-top .eyebrow { display: block; font-size: 16px; font-weight: 600; color: var(--navy); line-height: 1; }
.careers-top .h2 { margin-top: 20px; }
.careers-top .text-justify { margin-top: 20px; }
.careers-top .h5 { font-weight: 600; margin: 34px 0 20px; }
.careers-top .icon-list span, .careers-paths .icon-list span { padding-left: 13px; }
.careers-offer { background: var(--soft); padding: 70px 0 80px; }
.careers-offer .container { padding: 0; }
.careers-offer > .container > .h2 { padding-top: 14px; }
.careers-paths { display: grid; grid-template-columns: 1fr 1fr; }
.careers-paths .h5 { margin-bottom: 7px; padding-top: 14px; }
.careers-paths p { margin-bottom: 34px; }
.journey { background: var(--navy-header); padding: 100px 0; text-align: center; color: #fff; }
.journey .h2 { color: #fff; line-height: 1.2; }
.ekit-sep { position: relative; width: 100px; height: 4px; margin: 20px auto 26px; background: #fff; }
.ekit-sep::before {
  content: "";
  position: absolute;
  left: -27px; top: 0;
  width: 4px; height: 4px;
  background: #fff;
  box-shadow: 9px 0 0 #fff, 18px 0 0 #fff;
}
.journey .desc { max-width: 1120px; margin: 0 auto; font-size: 16px; font-weight: 400; color: #fff; }
.join-card {
  max-width: 1120px;
  margin: 70px auto 0;
  padding: 60px 70px;
  background: #fff;
  border-radius: 15px;
  box-shadow: 29px 29px 60px 0 rgba(0, 0, 0, .2);
}
.join-card .h2 { color: var(--navy); }
.btn-outline {
  display: inline-block;
  margin-top: 45px;
  padding: 21px 55px;
  border: 1px solid var(--navy-header);
  border-radius: 50px;
  font-family: "Lato", sans-serif;
  font-size: 15px;
  font-weight: 700;
  letter-spacing: .4px;
  line-height: 1;
  color: var(--navy);
  transition: background-color .3s, color .3s;
}
.btn-outline:hover { background: var(--navy-header); color: #fff; }

/* News ------------------------------------------------------------------- */
.news-sec { padding: 120px 0 209px; }
.news-sec .container { padding: 30px 0; }
.news-sec .split { grid-template-columns: 530px 1fr; gap: 70px; }
.news-sec .h5 { font-weight: 500; }
.news-sec .h2 { margin-top: 20px; }
.news-sec .text-justify { margin-top: 20px; }
.news-sec .btn { margin-top: 20px; }

/* Contact ---------------------------------------------------------------- */
.contact-sec { padding: 80px 0; }
.contact-sec .container { max-width: 1260px; display: grid; grid-template-columns: 1fr 1fr; }
.contact-left { padding: 30px; }
.contact-right { padding: 40px; }
.contact-title { font-size: 48px; font-weight: 600; letter-spacing: -1.4px; color: var(--navy); }
.short-bar { width: 48px; height: 4px; background: #1c9cd4; margin: 20px 0; }

.contact-cols { display: grid; grid-template-columns: 280px 280px; margin-top: 24px; }
.contact-cols > div + div { padding-left: 40px; }
.label-caps { font-size: 12px; font-weight: 500; text-transform: uppercase; letter-spacing: 1px; color: var(--navy); line-height: 1; margin-bottom: 20px; }
.info-list li { font-size: 14px; line-height: 21px; }
.info-list li + li { margin-top: 12px; }
.info-list--social li + li { margin-top: 14px; }
.info-list .row { display: flex; align-items: flex-start; color: var(--text); }
.info-list svg { width: 16px; height: 16px; margin-top: 2px; flex-shrink: 0; fill: var(--text); }
.info-list .row span { padding-left: 25px; }
.info-list a.row:hover { color: var(--blue); }
.contact-right .send-title { font-size: 24px; font-weight: 400; color: var(--navy); line-height: 1.33; }
.contact-right .short-bar { margin: 16px 0; }
.contact-form {
  padding: 36px;
  border-radius: 3px;
  box-shadow: -12px 12px 56px 10px rgba(16, 45, 94, .17);
}
.contact-form .field + .field { margin-top: 25px; }
.contact-form input, .contact-form textarea {
  width: 100%;
  min-height: 40px;
  padding: 5px 14px;
  border: 1px solid #e4e5e6;
  border-radius: 20px;
  background: #fff;
  font-family: "DM Sans", sans-serif;
  font-size: 14px;
  letter-spacing: .5px;
  color: var(--navy);
}
.contact-form textarea { padding: 10px 14px; resize: vertical; }
.contact-form input:focus, .contact-form textarea:focus { outline: none; border-color: var(--blue); }
.contact-form button {
  width: 100%;
  margin-top: 25px;
  padding: 16px 0 14px;
  border: 0;
  border-radius: 24px;
  background: #1c9cd4;
  color: #fff;
  font-family: "DM Sans", sans-serif;
  font-size: 14px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .5px;
  cursor: pointer;
  transition: background-color .3s, color .3s;
}
.contact-form button:hover { background: #fff; color: #1c9cd4; box-shadow: inset 0 0 0 1px #1c9cd4; }
.map-sec { padding: 10px; }
.map-sec iframe { display: block; width: 100%; height: 450px; border: 0; }
.form-note { display: none; margin-top: 15px; padding: 10px 14px; border-radius: 3px; background: rgba(30, 156, 215, .1); color: var(--navy); font-size: 14px; }
.form-note.is-visible { display: block; }

/* Team application form (WPForms look) ---------------------------------- */
.apply-sec { padding: 34px 0 60px; }
.apply-sec .intro-title { font-size: 24px; font-weight: 700; color: #333; line-height: 1.33; margin-bottom: 15px; }
.apply-sec .intro-text { color: #333; font-weight: 400; margin-bottom: 30px; }
.wpf-section { font-size: 22px; font-weight: 700; color: #333; margin: 30px 0 10px; line-height: 1.3; }
.wpf-row { display: grid; grid-template-columns: 1fr 1fr; gap: 0 20px; }
.wpf-field { padding: 15px 0; }
.wpf-label { display: block; margin-bottom: 11px; font-size: 16px; font-weight: 700; color: rgba(0, 0, 0, .85); line-height: 1.3; }
.wpf-label .req { color: #d63637; font-weight: 400; }
.wpf-field input[type=text], .wpf-field input[type=email], .wpf-field input[type=tel], .wpf-field select, .wpf-field textarea {
  width: 100%;
  height: 43px;
  padding: 0 14px;
  border: 1px solid rgba(0, 0, 0, .25);
  border-radius: 3px;
  background: #fff;
  font-family: "DM Sans", sans-serif;
  font-size: 16px;
  color: rgba(0, 0, 0, .7);
}
.wpf-field textarea { height: 120px; padding: 10px 14px; resize: vertical; }
.wpf-field input:focus, .wpf-field select:focus, .wpf-field textarea:focus { outline: none; border-color: #066aab; box-shadow: 0 0 0 1px #066aab; }
.wpf-date { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 10px; }
.wpf-choices li { display: flex; align-items: center; gap: 10px; color: rgba(0, 0, 0, .7); font-weight: 400; }
.wpf-choices li + li { margin-top: 10px; }
.wpf-choices input { width: 18px; height: 18px; margin: 0; accent-color: #066aab; }
.wpf-field input[type=file] { font-size: 14px; color: rgba(0, 0, 0, .7); }
.wpf-hint { font-size: 14px; color: rgba(0, 0, 0, .55); margin-top: 6px; }
.wpf-submit {
  margin-top: 20px;
  height: 41px;
  padding: 0 15px;
  border: 0;
  border-radius: 3px;
  background: #066aab;
  color: #fff;
  font-family: "DM Sans", sans-serif;
  font-size: 17px;
  font-weight: 700;
  cursor: pointer;
}
.wpf-submit:hover { background: #055a91; }

/* Footer ----------------------------------------------------------------- */
.site-footer { background: var(--footer); color: #fff; }
.footer-top { padding: 64px 0 52px; }
.footer-top .container { padding: 0; }
.footer-grid { display: grid; grid-template-columns: 35% 19% 27.361% 18.617%; }
.footer-grid > div { padding: 0 10px; }
.footer-grid > div:first-child { padding: 0; }
.footer-grid > div:not(:first-child) { padding-top: 10px; }
.footer-logo img { width: 100%; height: auto; }
.footer-about { margin-top: 20px; font-weight: 400; letter-spacing: .5px; }
.f-head { font-size: 20px; font-weight: 400; letter-spacing: .5px; color: #fff; line-height: 1; margin-bottom: 20px; }
.f-head--gap { margin-top: 59px; }
.f-head--follow { margin-top: 115px; }
.f-links li { line-height: 1; }
.f-links li + li { margin-top: 15px; }
.f-links a { display: inline-block; font-weight: 400; letter-spacing: -.2px; line-height: 1; color: #fff; }
.f-links a:hover { color: var(--blue-alt); }
.f-text { font-weight: 400; letter-spacing: .5px; color: #fff; }
.f-social { display: flex; gap: 13px; }
.f-social a { display: inline-flex; padding: 0 1.5px; color: #fff; }
.f-social a:hover { color: var(--blue-alt); }
.f-social svg { width: 16px; height: 16px; fill: currentColor; }
.footer-bottom { padding: 35px 0 32px; }
.footer-bottom .container { display: grid; grid-template-columns: 93.686% 6.314%; align-items: start; }
.footer-bottom .divider { margin: 15px 10px; border-top: .5px solid rgba(255, 255, 255, .31); }
.copyright { display: flex; justify-content: center; align-items: center; gap: 5px; margin-top: 20px; font-size: 17px; font-weight: 500; letter-spacing: .5px; line-height: 1; }
.copyright svg { width: 16px; height: 16px; fill: #fff; }
.to-top {
  margin: 20px auto 0;
  width: 50px; height: 50px;
  display: grid;
  place-items: center;
  border: 0;
  border-radius: 50px;
  background: transparent;
  color: #fff;
  cursor: pointer;
}
.to-top svg { width: 16px; height: 16px; fill: currentColor; }
.to-top:hover { color: #959f9b; }

/* Entrance fade (Elementor fadeIn) -------------------------------------- */
.js .fade { opacity: 0; transition: opacity 1.2s ease; }
.js .fade.is-in { opacity: 1; }
@media (prefers-reduced-motion: reduce) { .js .fade { opacity: 1; transition: none; } }

/* Tablet (≤1024) --------------------------------------------------------- */
@media (max-width: 1024px) {
  .header-inner { grid-template-columns: auto 1fr; height: 80px; padding: 0 10px; }
  .header-logo img { width: 91px; }
  .header-logo { align-self: start; padding-top: 11px; }
  .header-logo { justify-self: start; padding: 0; }
  .header-social { display: none; }
  .nav-toggle {
    display: inline-flex;
    justify-self: end;
    align-items: center;
    justify-content: center;
    width: 45px; height: 40px;
    padding: 8px;
    border: 0;
    border-radius: 3px;
    background: transparent;
    color: #fff;
    cursor: pointer;
  }
  .nav-toggle svg { width: 26px; height: 26px; fill: currentColor; }
  .main-nav {
    position: fixed;
    top: 0; left: -100vw;
    z-index: 200;
    width: 100%;
    max-width: 350px;
    height: 100%;
    overflow-y: auto;
    background: #fff;
  }
  .nav-anim .main-nav { transition: left .4s ease; }
  .nav-open .main-nav { left: 0; }
  .nav-panel-head { display: flex; justify-content: space-between; align-items: center; padding: 10px 0; }
  .nav-panel-head img { max-width: 120px; max-height: 50px; margin: 5px; padding: 5px; }
  .nav-close {
    width: 45px; height: 40px;
    margin: 12px;
    border: 0;
    border-radius: 3px;
    background: #262d63;
    color: #fff;
    font-size: 16px;
    cursor: pointer;
  }
  .nav-close:hover { background: var(--blue); }
  .main-nav ul { display: block; height: auto; }
  .main-nav a { height: auto; padding: 10px 15px; color: #262d63; }
  .nav-overlay { display: block; position: fixed; inset: 0; z-index: 150; background: rgba(51, 51, 51, .5); opacity: 0; visibility: hidden; transition: opacity .3s, visibility .3s; }
  .nav-open .nav-overlay { opacity: 1; visibility: visible; }
  .nav-open .site-header { z-index: 300; }

  .footer-top { padding: 90px 10px 60px; }
  .footer-grid { grid-template-columns: 1fr 1fr; }
  .footer-grid > div, .footer-grid > div:first-child { padding: 0 15px 30px; }
  .f-head--follow { margin-top: 45px; }
  .footer-bottom { padding: 0 10px 60px; }

  .hero { padding: calc(8% + 9px) 4% 0; }
  .hero-inner { padding-top: 0; }
  .hero-line { width: 8%; }
  .who { padding: 45px 0; }
  .who .container { max-width: none; padding: 0 5px; gap: 7px; }
  .who-media, .who-body { padding: 10px; }
  .who-body > * + * { margin-top: 20px; }

  .team-grid { grid-template-columns: repeat(3, 225px); justify-content: space-evenly; }
  .news-sec .split { grid-template-columns: 1fr 1fr; gap: 40px; }
  .contact-cols { grid-template-columns: 1fr 1fr; }
}

/* Mobile (≤767) ---------------------------------------------------------- */
@media (max-width: 767px) {
  .header-inner { height: 70px; padding: 0 10px; }
  .header-logo img { width: 121px; }
  .header-logo { align-self: center; padding-top: 0; }
  .footer-logo img { width: 121px; }
  .hero { min-height: 528px; padding: 0 15px; }
  .hero-inner { padding-top: 69px; }
  .hero-line { width: 62px; }
  .hero h1 { margin-top: 20px; font-size: 31px; }
  .hero p { margin-top: 20px; }
  .hero p br { display: none; }
  .hero .btn { margin-top: 34px; }

  .who { padding: 55px 0 63px; }
  .who .container { flex-direction: column; align-items: stretch; gap: 40px; padding: 0 15px; }
  .who-media img { aspect-ratio: 345 / 259; }
  .who-body > * + * { margin-top: 20px; }
  .who-media, .who-body { padding: 0; }

  .quote { padding: 100px 0; background-attachment: scroll; }
  .quote .container { padding: 0 15px; }
  .quote blockquote p { font-size: 18px; }

  .split, .news-sec .split, .careers-top .split { grid-template-columns: 1fr; gap: 30px; }
  .split--rev-mobile .split-media { order: -1; }
  .about-sec .container, .svc .container, .profile-sec .container { padding: 20px; }
  .about-sec .split { gap: 68px; }
  .about-sec .split-media, .about-sec .split-body { padding-top: 0; }
  .about-sec .split-media img { margin: 0 auto; }
  .about-sec:nth-of-type(odd) .split-media img { width: 275px; }
  .about-sec:nth-of-type(even) .split-media img { width: 315px; }
  .about-sec:nth-of-type(even) .container { padding: 20px 30px; }
  .about-sec { padding-top: 30px; }
  .about-sec--first { padding-top: 80px; }
  .about-sec--last { padding-bottom: 60px; }
  .svc, .svc--first, .svc--last { padding: 30px 0; }
  .svc .split { gap: 34px; }
  .svc .split-media { padding-top: 0; }
  .svc .h2 { font-size: 22px; padding-top: 0; }
  .svc .split-media img { margin: 0 auto; }
  main > .svc:nth-of-type(even) .container { padding: 20px 30px; }
  main > .svc:nth-of-type(even) .split-media img { width: 315px; }
  main > .svc:nth-of-type(odd) .split-media img { width: 275px; }
  .svc .icon-list li { line-height: 28px; }
  .svc .icon-list span { padding-left: 13px; }
  .svc .icon-list svg { margin-top: 6px; }
  .intro { padding: 104px 0 120px; }
  .intro .inner { padding: 0 40px; }
  .intro--soft .inner p { padding: 0; }

  .intro:not(.intro--soft) { padding: 80px 0; }
  .intro:not(.intro--soft) .inner { padding: 0 30px; }
  .intro:not(.intro--soft) .h2 { padding-top: 14px; margin-bottom: 20px; }
  .team-sec { padding: 50px 0; }
  .team-sec .container { padding: 0 20px; }
  .team-grid { grid-template-columns: 1fr; row-gap: 50px; padding-top: 0; }
  .team-card img { width: 100%; height: auto; aspect-ratio: 1; }
  .team-card h3 { margin-top: 23px; }
  .team-card .role { margin-top: 19px; }

  .profile-sec { padding-top: 80px; }
  .profile-sec .container { padding: 20px 30px; }
  .profile-sec .split { gap: 53px; }
  .profile-photo img { width: 189px; height: 189px; }
  .profile-more .container { padding: 30px; }
  .profile-more { padding: 81px 0 60px; }

  .careers-top { padding: 90px 0 35px; }
  .careers-top .split { gap: 54px; }
  .careers-top .container { padding: 0 20px; }
  .careers-top .h5 { margin-top: 48px; }
  .careers-top .icon-list span { padding-left: 15px; }
  .careers-offer { padding-bottom: 115px; }
  .careers-offer .container { padding: 0 35px; }
  .careers-offer > .container > .h2 { font-size: 25px; line-height: 1.2; }
  .careers-paths .h5 { font-size: 19px; }
  .careers-paths .icon-list span { padding-left: 13px; }
  .careers-paths { grid-template-columns: 1fr; row-gap: 40px; }
  .journey { padding: 60px 0; }
  .journey .container { padding: 0 10px; }
  .join-card { padding: 40px 30px; margin-top: 40px; }

  .news-sec { padding: 75px 0 60px; }
  .news-sec .container { padding: 0 20px; }
  .news-sec .h5 { font-size: 18px; }

  .contact-sec { padding: 80px 0 30px; }
  .contact-sec .container { grid-template-columns: 1fr; }
  .contact-left { padding: 20px; }
  .contact-right { padding: 50px 30px 30px; }
  .contact-title { font-size: 40px; }
  .contact-cols { grid-template-columns: 1fr; row-gap: 30px; }
  .contact-cols > div + div { padding-left: 0; }
  .contact-form { padding: 24px; }

  .apply-sec .container { padding: 0 20px; }
  .wpf-row { grid-template-columns: 1fr; }

  .footer-top { padding: 30px 10px 0; }
  .footer-grid { grid-template-columns: 1fr; }
  .footer-grid > div:first-child { padding: 30px 15px 20px; }
  .footer-grid > div:nth-child(2) { padding: 0 15px 30px; }
  .footer-grid > div:nth-child(n+3) { padding: 20px 15px 30px; }
  .footer-about { margin-top: 50px; text-align: justify; }
  .footer-about br { display: none; }
  .f-head { padding-top: 20px; }
  .f-head--gap { margin-top: 35px; }
  .f-head--follow { margin-top: 20px; }
  .footer-bottom { padding: 0 10px 20px; }
  .footer-bottom .container { grid-template-columns: 1fr; }
  .footer-bottom .divider { margin: 25px 10px 0; }
  .copyright { margin-top: 35px; line-height: 1.6; }
  .to-top { margin-top: 37px; }
}

/* WordPress additions ------------------------------------------------------ */
.hp-field { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.form-note.is-error { background: rgba(214, 54, 55, .08); color: #a12122; }
.profile-bio p, .profile-more p { font-weight: 400; }
.profile-bio p.is-light, .profile-more p.is-light { font-weight: 300; }
.profile-bio > :last-child, .profile-more .container > :last-child { margin-bottom: .9rem; }
.generic-sec { padding: 100px 0; }
.generic-sec--center { text-align: center; }
.generic-sec .container { max-width: 900px; padding: 0 20px; }
.generic-content { margin-top: 30px; text-align: justify; }
.generic-content h2, .generic-content h3 { margin: 1.4em 0 .6em; }
.generic-content ul { list-style: disc; padding-left: 1.4em; margin-bottom: .9rem; }
.generic-content a { color: var(--blue); }
.generic-media img { margin-top: 30px; border-radius: 15px; }
.generic-sec .btn { margin-top: 20px; }
.generic-list { list-style: none !important; padding: 0 !important; }
.generic-list li + li { margin-top: 10px; }
body.admin-bar .main-nav { top: 32px; }
@media (max-width: 782px) { body.admin-bar .main-nav { top: 46px; } }
@media (max-width: 767px) { .generic-sec { padding: 60px 0; } }
/* A section saved without an image: text uses the full width. */
.split > .split-body:only-child { grid-column: 1 / -1; }
