.contact-strip {
  background: var(--navy);
  color: #fff;
  min-height: 42px;
  padding: 0 clamp(20px, 4vw, 64px);
}

.contact-strip-inner {
  min-height: 42px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
}

.contact-details,
.social-links {
  display: flex;
  align-items: center;
}

.contact-details { gap: 28px; }
.social-links { gap: 7px; }

.contact-strip a {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: .01em;
  transition: color .2s ease, background .2s ease, transform .2s ease;
}

.contact-strip a:hover { color: var(--yellow); }
.contact-strip svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.contact-strip .social-dot,
.contact-strip .facebook-fill { fill: currentColor; stroke: none; }

.social-links a {
  width: 30px;
  height: 30px;
  justify-content: center;
  border-radius: 50%;
  background: rgba(255,255,255,.1);
}

.social-links a:hover { background: rgba(255,255,255,.18); transform: translateY(-1px); }

.site-header {
  height: 110px;
  padding-inline: clamp(20px, 3.6vw, 58px);
  gap: 22px;
}

.site-header .brand-lockup { min-width: 224px; gap: 12px; }
.site-header .brand-symbol { width: 72px; height: 72px; }
.site-header .brand-small { font-size: 16px; }
.site-header .brand-name { font-size: 37px; }
.site-header .brand-tagline { font-size: 9px; }
.site-header nav { gap: clamp(16px, 1.8vw, 28px); font-size: 14px; }
.site-header nav a { white-space: nowrap; }

.about-us {
  padding: 110px clamp(20px, 8vw, 130px);
  display: grid;
  grid-template-columns: 1.05fr .95fr;
  column-gap: 9vw;
  row-gap: 40px;
  background: var(--cream);
}

.about-heading h2 {
  max-width: 720px;
  margin: 0;
  font-size: clamp(40px, 5vw, 72px);
  letter-spacing: -.04em;
}

.about-story {
  align-self: end;
  color: #526d74;
  font-size: 19px;
}

.about-story p:last-child { margin-bottom: 0; }

.about-year {
  grid-column: 1 / -1;
  margin-top: 16px;
  padding: 28px 32px;
  border-top: 1px solid rgba(17,62,72,.18);
  border-bottom: 1px solid rgba(17,62,72,.18);
  display: grid;
  grid-template-columns: auto auto 1fr;
  align-items: center;
  gap: 18px;
}

.about-year > span {
  color: #6a8187;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .15em;
  text-transform: uppercase;
}

.about-year strong {
  color: var(--blue);
  font: 400 clamp(44px, 5vw, 70px)/.9 var(--font-primary);
}

.about-year p {
  max-width: 560px;
  margin: 0 0 0 auto;
  color: #526d74;
  font-size: 17px;
}

.alliances-strip {
  min-height: 126px;
  padding: 24px clamp(20px, 6vw, 96px);
  display: flex;
  align-items: center;
  justify-content: center;
  gap: clamp(28px, 4vw, 64px);
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  background: #fff;
}

.alliances-strip > p {
  max-width: 200px;
  margin: 0;
  color: #667d83;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.alliance-logos {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: clamp(18px, 2.6vw, 40px);
}

.alliance-card {
  min-height: 66px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 8px;
  transition: opacity .2s ease, transform .2s ease;
}

.alliance-card:hover { opacity: .76; transform: translateY(-2px); }
.alliance-card:focus-visible { outline: 3px solid var(--yellow); outline-offset: 4px; }

.ngl-lockup {
  min-width: 168px;
  gap: 12px;
  color: #111;
}

.ngl-frame { width: 31px; height: 42px; border: 5px solid #f6cf27; flex: 0 0 auto; }
.ngl-name { font: 700 14px/1.03 Arial, sans-serif; text-transform: uppercase; letter-spacing: -.025em; }
.ngl-name strong { font-size: 17px; }

.cime-lockup {
  width: 166px;
  padding: 10px 15px;
  background: var(--navy);
}

.cime-lockup img { width: 136px; height: auto; }
.hope-lockup { width: 76px; }
.hope-lockup img { width: 68px; height: 68px; object-fit: contain; }
.big-lockup { width: 174px; }
.big-lockup img { width: 168px; height: auto; object-fit: contain; }

@media (max-width: 1180px) {
  .site-header nav { gap: 15px; font-size: 13px; }
  .site-header > .button { padding-inline: 15px; }
}

@media (max-width: 980px) {
  .site-header { height: 96px; }
  .site-header .brand-lockup { min-width: 200px; }
  .site-header .brand-symbol { width: 66px; height: 66px; }
  .about-us { grid-template-columns: 1fr; gap: 30px; }
  .about-story { max-width: 760px; }
}

@media (max-width: 620px) {
  .contact-strip { padding-inline: 14px; }
  .contact-strip-inner { min-height: 46px; gap: 12px; }
  .contact-details { gap: 14px; }
  .contact-strip a { font-size: 12px; }
  .email-link span { display: none; }
  .email-link { width: 28px; height: 28px; justify-content: center; border-left: 1px solid rgba(255,255,255,.22); padding-left: 12px; }
  .social-links a { width: 28px; height: 28px; }
  .site-header { height: 94px; }
  .site-header .brand-lockup { min-width: 180px; }
  .site-header .brand-symbol { width: 60px; height: 60px; }
  .site-header .brand-small { font-size: 14px; }
  .site-header .brand-name { font-size: 31px; }
  .about-us { padding-top: 76px; padding-bottom: 76px; }
  .about-year { grid-template-columns: auto 1fr; padding-inline: 0; }
  .about-year p { grid-column: 1 / -1; margin: 0; }
  .alliances-strip { min-height: 132px; flex-direction: column; gap: 20px; padding-block: 32px; text-align: center; }
  .alliances-strip > p { max-width: none; }
  .alliance-logos { width: min(100%, 390px); display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px 14px; }
  .alliance-card { width: 100%; min-width: 0; }
  .cime-lockup { width: 100%; }
  .hope-lockup img { width: 64px; height: 64px; }
  .big-lockup img { width: min(100%, 158px); }
}
