/* Standard inner pages: About + Contact */
.inner-page {
  background: #fff
}

.inner-main {
  overflow: hidden
}

.inner-breadcrumb {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 0 0 22px;
  color: rgba(255, 255, 255, .7);
  font-size: .67rem;
  font-weight: 700;
  flex-wrap: wrap
}

.inner-breadcrumb a:hover {
  color: var(--gold-2)
}

.inner-breadcrumb i {
  font-size: .55rem;
  color: rgba(255, 255, 255, .42)
}

.inner-breadcrumb span {
  color: #fff
}

/* About hero */
.about-page-hero {
  position: relative;
  overflow: hidden;
  padding: 124px 0 72px;
  background: linear-gradient(120deg, #03233f 0%, #073d6a 58%, #0b588f 100%)
}

.about-page-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at 86% 18%, rgba(245, 190, 67, .14), transparent 23%), radial-gradient(circle at 5% 95%, rgba(95, 181, 235, .13), transparent 27%);
  pointer-events: none
}

.about-page-hero-grid {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(390px, .72fr);
  gap: 64px;
  align-items: center
}

.about-page-hero-copy h1 {
  margin: 0;
  max-width: 760px;
  color: #fff;
  font-family: "Manrope", sans-serif;
  font-size: clamp(2.7rem, 4.7vw, 4.8rem);
  font-weight: 800;
  letter-spacing: -.058em;
  line-height: 1
}

.about-page-hero-copy>p {
  max-width: 710px;
  margin: 20px 0 0;
  color: rgba(255, 255, 255, .76);
  font-size: .98rem;
  line-height: 1.78
}

.about-page-hero-actions {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  margin-top: 28px
}

.about-page-hero-actions .btn-outline-inner {
  border: 1px solid rgba(255, 255, 255, .28);
  color: #fff;
  background: rgba(255, 255, 255, .08)
}

.about-page-hero-actions .btn-outline-inner:hover {
  color: #fff;
  background: rgba(255, 255, 255, .15);
  transform: translateY(-2px)
}

.about-page-visual {
  position: relative;
  min-height: 410px
}

.about-page-main-image {
  position: absolute;
  inset: 0 0 34px 32px;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, .2);
  border-radius: 29px;
  box-shadow: 0 32px 75px rgba(0, 21, 39, .34)
}

.about-page-main-image img {
  width: 100%;
  height: 100%;
  object-fit: cover
}

.about-page-main-image::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent 55%, rgba(1, 30, 55, .32))
}

.about-page-map-chip {
  position: absolute;
  z-index: 3;
  left: 0;
  bottom: 0;
  width: 188px;
  padding: 13px;
  border: 1px solid rgba(255, 255, 255, .2);
  border-radius: 18px;
  background: rgba(255, 255, 255, .96);
  box-shadow: 0 18px 42px rgba(0, 26, 48, .2)
}

.about-page-map-chip img {
  width: 100%;
  height: 82px;
  object-fit: cover;
  border-radius: 11px
}

.about-page-map-chip span {
  display: flex;
  align-items: center;
  gap: 7px;
  margin-top: 9px;
  color: #173a59;
  font-size: .61rem;
  font-weight: 800
}

.about-page-map-chip i {
  color: var(--gold)
}

/* About stats */
.about-stats-section {
  position: relative;
  z-index: 3;
  margin-top: -1px;
  padding: 0 0 72px;
  background: #fff
}

.about-stats-strip {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 10px;
  transform: translateY(-22px)
}

.about-stat-card {
  min-height: 116px;
  padding: 19px 17px;
  border: 1px solid rgba(7, 52, 95, .09);
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 18px 42px rgba(7, 52, 95, .09)
}

.about-stat-card>span {
  display: grid;
  place-items: center;
  width: 38px;
  height: 38px;
  margin-bottom: 14px;
  border-radius: 11px;
  color: #fff;
  background: linear-gradient(145deg, var(--navy), var(--navy-2));
  box-shadow: 0 8px 18px rgba(7, 52, 95, .15)
}

.about-stat-card strong {
  display: block;
  color: #143957;
  font-family: "Manrope", sans-serif;
  font-size: 1rem;
  font-weight: 800
}

.about-stat-card small {
  display: block;
  margin-top: 3px;
  color: #788b9b;
  font-size: .58rem;
  font-weight: 600;
  line-height: 1.35
}

/* Story */
.about-story-section {
  padding: 18px 0 25px
}

.about-story-grid {
  display: grid;
  grid-template-columns: minmax(0, .86fr) minmax(0, 1.14fr);
  gap: 66px;
  align-items: center
}

.about-story-media {
  position: relative;
  min-height: 510px
}

.about-story-media>img {
  width: 100%;
  height: 510px;
  object-fit: cover;
  border-radius: 27px;
  box-shadow: 0 26px 62px rgba(7, 52, 95, .14)
}

.about-story-floating {
  position: absolute;
  right: -18px;
  bottom: 24px;
  max-width: 250px;
  padding: 18px 19px;
  border: 1px solid rgba(7, 52, 95, .09);
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 18px 42px rgba(7, 52, 95, .13)
}

.about-story-floating span {
  display: grid;
  place-items: center;
  width: 38px;
  height: 38px;
  margin-bottom: 11px;
  border-radius: 11px;
  color: #083256;
  background: linear-gradient(135deg, #ffd872, #e6a62a)
}

.about-story-floating strong {
  display: block;
  color: #173a59;
  font-family: "Manrope", sans-serif;
  font-size: .8rem;
  font-weight: 800;
  line-height: 1.35
}

.about-story-floating p {
  margin: 5px 0 0;
  color: #7b8d9c;
  font-size: .61rem;
  line-height: 1.55
}

.about-story-copy h2 {
  margin: 0;
  color: var(--ink);
  font-family: "Manrope", sans-serif;
  font-size: clamp(2rem,2.7vw, 3.25rem);
  font-weight: 800;
  letter-spacing: -.05em;
  line-height: 1.07
}

.about-story-copy>p {
  margin: 17px 0 0;
  color: #667c8f;
  font-size: .9rem;
  line-height: 1.84
}

.about-story-points {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 9px;
  margin-top: 24px
}

.about-story-points span {
  display: flex;
  align-items: center;
  gap: 8px;
  min-height: 49px;
  padding: 10px 12px;
  border: 1px solid #e3edf4;
  border-radius: 13px;
  color: #173a59;
  background: #f8fbfe;
  font-size: .66rem;
  font-weight: 700
}

.about-story-points i {
  color: #0b6fa9
}

/* Mission / vision */
.about-purpose-section {
  padding: 76px 0;
  background: linear-gradient(180deg, #f7fbfe, #eef6fb)
}

.about-purpose-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 18px;
  margin-top: 34px
}

.purpose-card {
  position: relative;
  overflow: hidden;
  min-height: 300px;
  padding: 35px 36px;
  border-radius: 26px;
  box-shadow: 0 22px 52px rgba(7, 52, 95, .11)
}

.purpose-card::after {
  content: "";
  position: absolute;
  right: -70px;
  top: -80px;
  width: 250px;
  height: 250px;
  border: 1px solid rgba(255, 255, 255, .09);
  border-radius: 50%;
  box-shadow: 0 0 0 45px rgba(255, 255, 255, .025)
}

.purpose-card-vision {
  background: linear-gradient(135deg, #052e55, #0c5f98)
}

.purpose-card-mission {
  background: linear-gradient(135deg, #0a4776, #0b6aa6)
}

.purpose-card>span {
  position: relative;
  z-index: 1;
  display: grid;
  place-items: center;
  width: 52px;
  height: 52px;
  border-radius: 15px;
  color: #082f54;
  background: linear-gradient(135deg, #ffd872, #e8aa2b);
  font-size: 1.1rem
}

.purpose-card h3 {
  position: relative;
  z-index: 1;
  margin: 22px 0 0;
  color: #fff;
  font-family: "Manrope", sans-serif;
  font-size: 1.6rem;
  font-weight: 800;
  letter-spacing: -.035em
}

.purpose-card p {
  position: relative;
  z-index: 1;
  margin: 12px 0 0;
  max-width: 560px;
  color: rgba(255, 255, 255, .74);
  font-size: .79rem;
  line-height: 1.75
}

/* Strengths */
.about-strengths-section {
  padding: 30px 0;
  background: #fff
}

.about-strengths-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 13px;
  margin-top: 34px
}

.about-strength-card {
  display: flex;
  gap: 14px;
  min-height: 146px;
  padding: 20px;
  border: 1px solid rgba(7, 52, 95, .09);
  border-radius: 18px;
  background: linear-gradient(180deg, #fff, #fbfdff);
  box-shadow: 0 13px 32px rgba(7, 52, 95, .055);
  transition: transform var(--ease), box-shadow var(--ease)
}

.about-strength-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 20px 40px rgba(7, 52, 95, .1)
}

.about-strength-card>span {
  display: grid;
  place-items: center;
  width: 45px;
  height: 45px;
  flex: 0 0 45px;
  border-radius: 13px;
  color: #fff;
  background: linear-gradient(145deg, var(--navy), var(--navy-2));
  box-shadow: 0 8px 18px rgba(7, 52, 95, .15)
}

.about-strength-card h3 {
  margin: 2px 0 0;
  color: #173a59;
  font-family: "Manrope", sans-serif;
  font-size: .79rem;
  font-weight: 800
}

.about-strength-card p {
  margin: 7px 0 0;
  color: #7a8d9c;
  font-size: .65rem;
  line-height: 1.58
}

/* Process */
.about-process-section {
  padding: 76px 0;
  background: #f7fbfe
}

.about-process-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  margin-top: 35px
}

.about-process-card {
  position: relative;
  min-height: 190px;
  padding: 23px 21px;
  border: 1px solid rgba(7, 52, 95, .08);
  border-radius: 20px;
  background: #fff;
  box-shadow: 0 14px 34px rgba(7, 52, 95, .06)
}

.about-process-card::after {
  content: "";
  position: absolute;
  right: -12px;
  top: 44px;
  width: 24px;
  height: 1px;
  background: #cbddea
}

.about-process-card:last-child::after {
  display: none
}

.about-process-card>span {
  display: grid;
  place-items: center;
  width: 36px;
  height: 36px;
  border-radius: 10px;
  color: #083256;
  background: linear-gradient(135deg, #ffd872, #e8aa2b);
  font-size: .6rem;
  font-weight: 800
}

.about-process-card h3 {
  margin: 18px 0 0;
  color: #173a59;
  font-family: "Manrope", sans-serif;
  font-size: .8rem;
  font-weight: 800
}

.about-process-card p {
  margin: 8px 0 0;
  color: #7b8d9c;
  font-size: .64rem;
  line-height: 1.6
}

/* Contact hero */
.contact-page-hero {
  position: relative;
  overflow: hidden;
  padding: 124px 0 68px;
  background: linear-gradient(120deg, #03233f 0%, #073d6a 58%, #0b588f 100%)
}

.contact-page-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at 88% 28%, rgba(245, 190, 67, .15), transparent 22%);
  pointer-events: none
}

.contact-hero-grid {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 370px;
  gap: 60px;
  align-items: center
}

.contact-hero-copy h1 {
  margin: 0;
  color: #fff;
  font-family: "Manrope", sans-serif;
  font-size: clamp(2.7rem, 4.7vw, 4.7rem);
  font-weight: 800;
  letter-spacing: -.058em;
  line-height: 1
}

.contact-hero-copy>p {
  max-width: 700px;
  margin: 20px 0 0;
  color: rgba(255, 255, 255, .75);
  font-size: .97rem;
  line-height: 1.78
}

.contact-hero-quick {
  display: grid;
  gap: 9px
}

.contact-hero-quick a,
.contact-hero-quick span {
  display: flex;
  align-items: center;
  gap: 12px;
  min-height: 64px;
  padding: 12px 14px;
  border: 1px solid rgba(255, 255, 255, .17);
  border-radius: 16px;
  color: #fff;
  background: rgba(255, 255, 255, .08);
  backdrop-filter: blur(9px)
}

.contact-hero-quick i {
  display: grid;
  place-items: center;
  width: 38px;
  height: 38px;
  flex: 0 0 38px;
  border-radius: 11px;
  color: #083256;
  background: linear-gradient(135deg, #ffd872, #e8aa2b)
}

.contact-hero-quick strong {
  display: block;
  font-size: .7rem;
  font-weight: 800
}

.contact-hero-quick small {
  display: block;
  margin-top: 2px;
  color: rgba(255, 255, 255, .6);
  font-size: .54rem;
  line-height: 1.35
}

/* Contact body */
.contact-main-section {
  padding: 76px 0;
  background: #fff
}

.contact-main-grid {
  display: grid;
  grid-template-columns: minmax(0, .72fr) minmax(0, 1.28fr);
  gap: 32px;
  align-items: start
}

.contact-info-panel {
  padding: 28px;
  border: 1px solid rgba(7, 52, 95, .09);
  border-radius: 24px;
  background: linear-gradient(180deg, #f9fcff, #f2f8fc);
  box-shadow: 0 18px 46px rgba(7, 52, 95, .07)
}

.contact-info-panel h2,
.contact-form-card h2 {
  margin: 0;
  color: #143957;
  font-family: "Manrope", sans-serif;
  font-size: 1.7rem;
  font-weight: 800;
  letter-spacing: -.04em
}

.contact-info-panel>p,
.contact-form-card>p {
  margin: 9px 0 0;
  color: #7a8c9c;
  font-size: .73rem;
  line-height: 1.65
}

.contact-info-list {
  display: grid;
  gap: 9px;
  margin-top: 23px
}

.contact-info-item {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 13px;
  border: 1px solid rgba(7, 52, 95, .075);
  border-radius: 14px;
  background: #fff
}

.contact-info-item>span {
  display: grid;
  place-items: center;
  width: 38px;
  height: 38px;
  flex: 0 0 38px;
  border-radius: 11px;
  color: #fff;
  background: linear-gradient(145deg, var(--navy), var(--navy-2))
}

.contact-info-item small {
  display: block;
  color: #8797a5;
  font-size: .53rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .05em
}

.contact-info-item strong,
.contact-info-item a {
  display: block;
  margin-top: 3px;
  color: #173a59;
  font-size: .66rem;
  font-weight: 800;
  line-height: 1.45
}

.contact-info-note {
  margin-top: 18px;
  padding: 15px;
  border-radius: 14px;
  color: #173a59;
  background: #fff7e6;
  border: 1px solid #f5e1b6;
  font-size: .63rem;
  line-height: 1.58
}

.contact-info-note i {
  margin-right: 6px;
  color: #d89718
}

.contact-form-card {
  padding: 30px;
  border: 1px solid rgba(7, 52, 95, .09);
  border-radius: 24px;
  background: #fff;
  box-shadow: 0 22px 54px rgba(7, 52, 95, .09)
}

.contact-form-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 13px;
  margin-top: 24px
}

.contact-form-field {
  display: grid;
  gap: 6px
}

.contact-form-field.full {
  grid-column: 1/-1
}

.contact-form-field label {
  color: #183a58;
  font-size: .64rem;
  font-weight: 800
}

.contact-form-field input,
.contact-form-field textarea,
.contact-form-field select {
  width: 100%;
  min-height: 47px;
  padding: 10px 12px;
  border: 1px solid #d7e4ed;
  border-radius: 11px;
  outline: 0;
  color: #173a59;
  background: #fff;
  font-size: .76rem;
  box-shadow: none;
  transition: border-color var(--ease), box-shadow var(--ease)
}

.contact-form-field textarea {
  min-height: 112px;
  resize: vertical
}

.contact-form-field input:focus,
.contact-form-field textarea:focus,
.contact-form-field select:focus {
  border-color: #7fa8c7;
  box-shadow: 0 0 0 3px rgba(11, 78, 132, .08)
}

.contact-form-actions {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  margin-top: 17px
}

.contact-form-actions .btn {
  border-radius: 11px
}

.contact-form-actions .contact-email-btn {
  color: #fff;
  background: #ff7908
}

.contact-form-actions .contact-whatsapp-btn {
  color: #fff;
  background: #15b96d
}

.contact-form-note {
  display: flex;
  gap: 7px;
  align-items: flex-start;
  margin: 10px 0 0;
  color: #8191a0;
  font-size: .59rem;
  line-height: 1.45
}

.contact-brief-section {
  padding: 0 0 70px;
  background: #fff
}

.contact-brief-card {
  display: grid;
  grid-template-columns: .75fr 1.25fr;
  gap: 36px;
  align-items: center;
  padding: 34px 38px;
  border-radius: 25px;
  background: linear-gradient(135deg, #052f57, #0b5d96);
  box-shadow: 0 23px 58px rgba(6, 47, 87, .17)
}

.contact-brief-card h2 {
  margin: 0;
  color: #fff;
  font-family: "Manrope", sans-serif;
  font-size: clamp(1.7rem, 2.6vw, 2.55rem);
  font-weight: 800;
  letter-spacing: -.04em
}

.contact-brief-card p {
  margin: 10px 0 0;
  color: rgba(255, 255, 255, .69);
  font-size: .7rem;
  line-height: 1.65
}

.contact-brief-list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 8px
}

.contact-brief-list span {
  display: flex;
  align-items: center;
  gap: 7px;
  min-height: 45px;
  padding: 9px 10px;
  border: 1px solid rgba(255, 255, 255, .13);
  border-radius: 12px;
  color: #fff;
  background: rgba(255, 255, 255, .07);
  font-size: .59rem;
  font-weight: 700
}

.contact-brief-list i {
  color: #ffd05a
}

.contact-map-section {
  padding: 40px 0;
  background: #f6fafe
}

.contact-map-wrap {
  overflow: hidden;
  border: 1px solid rgba(7, 52, 95, .08);
  border-radius: 26px;
  background: #fff;
  box-shadow: 0 22px 56px rgba(7, 52, 95, .09)
}

.contact-map-head {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 20px;
  padding: 28px 30px 22px
}

.contact-map-head h2 {
  margin: 0;
  color: #153957;
  font-family: "Manrope", sans-serif;
  font-size: 1.65rem;
  font-weight: 800
}

.contact-map-head p {
  margin: 7px 0 0;
  color: #7c8e9e;
  font-size: .68rem
}

.contact-map-head a {
  color: #0b5d93;
  font-size: .64rem;
  font-weight: 800
}

.contact-map-wrap iframe {
  display: block;
  width: 100%;
  height: 410px;
  border: 0
}

.mobile-links a.is-active {
  color: var(--gold);
  padding-left: 9px
}

@media (max-width:1199.98px) {
  .about-page-hero-grid {
    grid-template-columns: minmax(0, 1fr) 380px;
    gap: 40px
  }

  .about-stats-strip {
    grid-template-columns: repeat(5, 1fr)
  }

  .about-story-grid {
    gap: 46px
  }

  .contact-hero-grid {
    grid-template-columns: minmax(0, 1fr) 340px;
    gap: 40px
  }

  .contact-main-grid {
    grid-template-columns: 390px 1fr
  }
}

@media (max-width:991.98px) {
  .about-page-hero {
    padding: 104px 0 70px
  }

  .about-page-hero-grid {
    grid-template-columns: 1fr;
    gap: 42px
  }

  .about-page-visual {
    max-width: 620px;
    min-height: 380px
  }

  .about-stats-strip {
    grid-template-columns: repeat(3, 1fr)
  }

  .about-stat-card:nth-child(4),
  .about-stat-card:nth-child(5) {
    grid-column: span 1
  }

  .about-story-grid {
    grid-template-columns: 1fr
  }

  .about-story-media {
    max-width: 650px
  }

  .about-purpose-grid {
    grid-template-columns: 1fr
  }

  .about-strengths-grid {
    grid-template-columns: repeat(2, 1fr)
  }

  .about-process-grid {
    grid-template-columns: repeat(2, 1fr)
  }

  .about-process-card:nth-child(2)::after {
    display: none
  }

  .contact-page-hero {
    padding: 104px 0 66px
  }

  .contact-hero-grid {
    grid-template-columns: 1fr
  }

  .contact-hero-quick {
    grid-template-columns: repeat(3, 1fr)
  }

  .contact-hero-quick a,
  .contact-hero-quick span {
    min-height: 76px
  }

  .contact-main-grid {
    grid-template-columns: 1fr
  }

  .contact-info-panel {
    display: grid;
    grid-template-columns: .78fr 1.22fr;
    gap: 24px
  }

  .contact-info-list {
    margin-top: 0
  }

  .contact-info-note {
    grid-column: 1/-1;
    margin-top: 0
  }

  .contact-brief-card {
    grid-template-columns: 1fr
  }

  .contact-map-wrap iframe {
    height: 360px
  }
}

@media (max-width:767.98px) {

  .about-page-hero,
  .contact-page-hero {
    padding: 91px 0 60px
  }

  .about-page-hero-copy h1,
  .contact-hero-copy h1 {
    font-size: clamp(2.2rem, 9.4vw, 3.3rem)
  }

  .about-page-hero-copy>p,
  .contact-hero-copy>p {
    font-size: .83rem;
    line-height: 1.72
  }

  .about-page-visual {
    min-height: 330px
  }

  .about-page-main-image {
    inset: 0 0 30px 20px;
    border-radius: 23px
  }

  .about-page-map-chip {
    width: 160px
  }

  .about-page-map-chip img {
    height: 68px
  }

  .about-stats-section {
    padding-bottom: 54px
  }

  .about-stats-strip {
    grid-template-columns: repeat(2, 1fr);
    gap: 9px
  }

  .about-stat-card {
    min-height: 104px
  }

  .about-stat-card:last-child {
    grid-column: 1/-1
  }

  .about-story-section {
    padding-bottom: 58px
  }

  .about-story-media {
    min-height: 390px
  }

  .about-story-media>img {
    height: 390px;
    border-radius: 22px
  }

  .about-story-floating {
    right: 10px;
    bottom: 14px
  }

  .about-story-copy h2 {
    font-size: 1.95rem
  }

  .about-story-copy>p {
    font-size: .79rem;
    line-height: 1.72
  }

  .about-story-points {
    grid-template-columns: 1fr
  }

  .about-purpose-section,
  .about-strengths-section,
  .about-process-section {
    padding: 58px 0
  }

  .purpose-card {
    min-height: 260px;
    padding: 29px 27px;
    border-radius: 22px
  }

  .about-strengths-grid {
    grid-template-columns: 1fr
  }

  .about-process-grid {
    grid-template-columns: 1fr
  }

  .about-process-card::after {
    display: none
  }

  .contact-hero-quick {
    grid-template-columns: 1fr
  }

  .contact-hero-quick a,
  .contact-hero-quick span {
    min-height: 62px
  }

  .contact-main-section {
    padding: 58px 0
  }

  .contact-info-panel {
    display: block;
    padding: 23px
  }

  .contact-info-list {
    margin-top: 20px
  }

  .contact-info-note {
    margin-top: 16px
  }

  .contact-form-card {
    padding: 24px
  }

  .contact-form-grid {
    grid-template-columns: 1fr
  }

  .contact-form-field.full {
    grid-column: auto
  }

  .contact-form-actions {
    grid-template-columns: 1fr
  }

  .contact-brief-section {
    padding-bottom: 56px
  }

  .contact-brief-card {
    padding: 28px 25px
  }

  .contact-brief-list {
    grid-template-columns: repeat(2, 1fr)
  }

  .contact-map-section {
    padding: 56px 0
  }

  .contact-map-head {
    align-items: flex-start;
    flex-direction: column;
    padding: 23px
  }

  .contact-map-wrap iframe {
    height: 320px
  }
}

@media (max-width:575.98px) {
  .about-page-visual {
    min-height: 290px
  }

  .about-page-main-image {
    inset: 0 0 26px 12px
  }

  .about-page-map-chip {
    width: 142px;
    padding: 9px
  }

  .about-page-map-chip img {
    height: 58px
  }

  .about-page-map-chip span {
    font-size: .53rem
  }

  .about-stats-strip {
    transform: translateY(-16px)
  }

  .about-story-media {
    min-height: 330px
  }

  .about-story-media>img {
    height: 330px
  }

  .about-story-floating {
    max-width: 205px;
    padding: 14px
  }

  .about-story-floating p {
    font-size: .56rem
  }

  .contact-form-card h2,
  .contact-info-panel h2 {
    font-size: 1.45rem
  }

  .contact-brief-list {
    grid-template-columns: 1fr 1fr
  }

  .contact-map-wrap iframe {
    height: 285px
  }
}

@media (max-width:399.98px) {
  .about-page-hero-actions .btn {
    width: 100%
  }

  .about-page-visual {
    min-height: 260px
  }

  .about-page-map-chip {
    display: none
  }

  .about-page-main-image {
    inset: 0
  }

  .about-stats-strip {
    grid-template-columns: 1fr 1fr
  }

  .about-stat-card {
    padding: 15px
  }

  .about-story-media {
    min-height: 300px
  }

  .about-story-media>img {
    height: 300px
  }

  .about-story-floating {
    display: none
  }

  .about-strength-card {
    padding: 17px
  }

  .contact-brief-list {
    grid-template-columns: 1fr
  }

  .contact-map-wrap iframe {
    height: 260px
  }
}

/* =========================================================
   V10 INNER PAGE REFINEMENTS
   Compact page-title banner, improved readability and spacing
   ========================================================= */
.inner-title-section {
  position: relative;
  overflow: hidden;
  padding: 128px 0 60px;
  background: linear-gradient(120deg, #03233f 0%, #073d6a 58%, #0b588f 100%)
}

.inner-title-section::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(115deg, rgba(255, 255, 255, .02), transparent 44%), radial-gradient(circle at 88% 18%, rgba(245, 190, 67, .16), transparent 22%);
  pointer-events: none
}

.inner-title-glow {
  position: absolute;
  right: -160px;
  top: -210px;
  width: 520px;
  height: 520px;
  border: 1px solid rgba(255, 255, 255, .08);
  border-radius: 50%;
  box-shadow: 0 0 0 72px rgba(255, 255, 255, .018), 0 0 0 144px rgba(255, 255, 255, .011);
  pointer-events: none
}

.inner-title-wrap {
  position: relative;
  z-index: 2
}

.inner-title-section .inner-breadcrumb,
.inner-title-section .product-breadcrumb {
  margin-bottom: 19px;
  font-size: .78rem
}

.inner-title-section h1 {
  margin: 0;
  color: #fff;
  font-family: "Manrope", sans-serif;
  font-size: clamp(2.7rem, 3.7vw, 4.75rem);
  font-weight: 800;
  letter-spacing: -.055em;
  line-height: 1.02
}

/* Readability upgrade across every non-home page. */
body:not(.home-page) .eyebrow {
  font-size: .76rem;
  letter-spacing: .075em;
  margin-bottom: 11px
}

body:not(.home-page) .section-heading h2 {
font-size: clamp(2.15rem, 2.75vw, 3.15rem);
}

body:not(.home-page) .section-heading p {
  max-width: 760px;
  font-size: .98rem;
  line-height: 1.72
}

body:not(.home-page) .cta-kicker {
  font-size: .74rem
}

body:not(.home-page) .cta-copy p {
  font-size: .93rem;
  line-height: 1.68
}

body:not(.home-page) .cta-meta span {
  font-size: .96rem
}

body:not(.home-page) .cta-action>a {
  font-size: .96rem
}

/* About page now begins with a title-only banner. */
.about-stats-section {
  margin-top: 0;
     padding: 47px 0 35px;
  background: #fff
}

.about-stats-strip {
  transform: none
}

.about-stat-card {
  min-height: 132px;
  padding: 22px 20px
}

.about-stat-card>span {
  width: 44px;
  height: 44px;
  margin-bottom: 15px;
  border-radius: 13px;
  font-size: 1rem
}

.about-stat-card strong {
  font-size: 1.16rem
}

.about-stat-card small {
  font-size: .76rem;
  line-height: 1.42
}

.about-story-section {
     padding: 20px 0 30px;
}

.about-story-copy>p {
  font-size: 1rem;
  line-height: 1.82
}

.about-story-points span {
  min-height: 54px;
  padding: 12px 14px;
  font-size: .82rem
}

.about-story-floating strong {
  font-size: .92rem
}

.about-story-floating p {
  font-size: .76rem;
  line-height: 1.58
}

.purpose-card p {
  font-size: .94rem;
  line-height: 1.74
}

.about-strength-card {
  min-height: 165px;
  padding: 23px
}

.about-strength-card h3 {
  font-size: .96rem
}

.about-strength-card p {
  font-size: .82rem;
  line-height: 1.62
}

.about-process-card {
  min-height: 205px;
  padding: 25px 23px
}

.about-process-card>span {
  font-size: .72rem
}

.about-process-card h3 {
  font-size: .96rem
}

.about-process-card p {
  font-size: .82rem;
  line-height: 1.62
}

/* Contact page: title-only banner + readable contact/form content. */
.contact-main-section {
  padding: 78px 0 82px
}

.contact-main-grid {
  gap: 38px
}

.contact-info-panel,
.contact-form-card {
  border-radius: 26px
}

.contact-info-panel {
  padding: 32px
}

.contact-form-card {
  padding: 34px
}

.contact-info-panel h2,
.contact-form-card h2 {
  font-size: 2rem
}

.contact-info-panel>p,
.contact-form-card>p {
  font-size: .9rem;
  line-height: 1.7
}

.contact-info-list {
  gap: 11px;
  margin-top: 26px
}

.contact-info-item {
  gap: 14px;
  padding: 15px
}

.contact-info-item>span {
  width: 42px;
  height: 42px;
  flex-basis: 42px;
  border-radius: 12px
}

.contact-info-item small {
  font-size: .68rem
}

.contact-info-item strong,
.contact-info-item a {
  font-size: .84rem;
  line-height: 1.5
}

.contact-info-note {
  font-size: .8rem;
  line-height: 1.6;
  padding: 17px
}

.contact-form-grid {
  gap: 15px;
  margin-top: 26px
}

.contact-form-field label {
  font-size: .8rem
}

.contact-form-field input,
.contact-form-field textarea,
.contact-form-field select {
  min-height: 52px;
  padding: 11px 13px;
  font-size: .9rem
}

.contact-form-field textarea {
  min-height: 126px
}

.contact-form-note {
  font-size: .75rem;
  line-height: 1.5
}

.contact-map-section {
  padding: 72px 0
}

.contact-map-head h2 {
  font-size: 1.95rem
}

.contact-map-head p {
  font-size: .86rem
}

.contact-map-head a {
  font-size: .78rem
}

@media (max-width:991.98px) {
  .inner-title-section {
    padding: 108px 0 52px
  }

  .about-stats-strip {
    grid-template-columns: repeat(3, 1fr)
  }

  .contact-main-section {
    padding: 66px 0 70px
  }
}

@media (max-width:767.98px) {
  .inner-title-section {
    padding: 94px 0 44px
  }

  .inner-title-section h1 {
    font-size: clamp(2.25rem, 10vw, 3.35rem)
  }

  .inner-title-section .inner-breadcrumb,
  .inner-title-section .product-breadcrumb {
    font-size: .72rem;
    margin-bottom: 14px
  }

  body:not(.home-page) .section-heading h2 {
    font-size: 2rem
  }

  body:not(.home-page) .section-heading p {
    font-size: .9rem
  }

  .about-stats-section {
    padding: 42px 0 58px
  }

  .about-stats-strip {
    grid-template-columns: repeat(2, 1fr);
    gap: 10px
  }

  .about-stat-card {
    min-height: 116px;
    padding: 18px
  }

  .about-stat-card:last-child {
    grid-column: 1/-1
  }

  .about-story-copy>p {
    font-size: .91rem;
    line-height: 1.74
  }

  .about-story-points span {
    font-size: .78rem
  }

  .purpose-card p {
    font-size: .88rem
  }

  .about-strength-card h3,
  .about-process-card h3 {
    font-size: .9rem
  }

  .about-strength-card p,
  .about-process-card p {
    font-size: .78rem
  }

  .contact-main-section {
    padding: 56px 0 60px
  }

  .contact-info-panel,
  .contact-form-card {
    padding: 24px
  }

  .contact-info-panel h2,
  .contact-form-card h2 {
    font-size: 1.65rem
  }

  .contact-info-panel>p,
  .contact-form-card>p {
    font-size: .84rem
  }

  .contact-info-item strong,
  .contact-info-item a {
    font-size: .8rem
  }

  .contact-form-field input,
  .contact-form-field textarea,
  .contact-form-field select {
    font-size: .86rem
  }

  .contact-map-section {
    padding: 56px 0
  }
}

@media (max-width:575.98px) {
  .inner-title-section {
    padding: 88px 0 38px
  }

  .inner-title-section h1 {
    font-size: 2.15rem
  }

  .about-stats-strip {
    grid-template-columns: 1fr 1fr
  }

  .contact-info-panel,
  .contact-form-card {
    padding: 21px
  }

  .about-stats-section{
    display: none;
  }

      body:not(.home-page) .section-heading h2 {
        font-size: 1.6rem;
    }

    .inner-title-section {
        padding: 109px 0 38px;
    }
}