
/* About page v53 — uniform image sizing and balanced section alignment */
.about-page{
  --about-visual-h:300px;
  --about-visual-radius:20px;
}

/* Overall section rhythm */
.about-page .about-story-section,
.about-page .about-purpose-section,
.about-page .about-capabilities-section,
.about-page .about-journey-section,
.about-page .about-principles-section,
.about-page .about-process-section{padding:62px 0}
.about-page .about-cta-section{padding:54px 0}
.about-page h2{font-size:clamp(34px,2.7vw,45px);line-height:1.1}
.about-page .section-intro{font-size:14px;line-height:1.72;max-width:780px}
.about-page .about-section-heading{margin-bottom:28px}

/* Shared visual rules */
.about-page .about-purpose-visual,
.about-page .about-journey-visual,
.about-page .about-process-visual,
.about-page .about-capabilities-feature-image,
.about-page .about-principles-visual,
.about-page .about-cta-visual{
  position:relative;
  overflow:hidden;
  border-radius:var(--about-visual-radius);
  box-shadow:0 20px 44px rgba(5,28,50,.13);
}
.about-page .about-purpose-visual img,
.about-page .about-journey-visual img,
.about-page .about-process-visual img,
.about-page .about-capabilities-feature-image img,
.about-page .about-principles-visual img,
.about-page .about-cta-visual img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  object-position:center;
}

/* WHO WE ARE */
.about-page .about-story-section .row{--bs-gutter-x:44px}
.about-page .about-story-visual{min-height:0;padding:16px 28px 44px 4px}
.about-page .about-story-image{
  height:350px;
  border-radius:22px;
  overflow:hidden;
  box-shadow:0 28px 58px rgba(6,23,42,.16);
  border:1px solid rgba(255,255,255,.9)
}
.about-page .about-story-image img{width:100%;height:100%;object-fit:cover;object-position:center}
.about-page .about-story-frame{right:0;top:52px;width:72%;height:72%;border-radius:22px}
.about-page .about-floating-card{padding:12px 15px;min-width:136px;border-radius:14px}
.about-page .about-floating-card strong{font-size:22px}
.about-page .about-floating-card span{font-size:8.8px}
.about-page .about-floating-years{left:0;bottom:4px}
.about-page .about-floating-clients{right:2px;top:7px}
.about-page .about-story-copy{padding:26px 27px 25px;border-radius:22px}
.about-page .about-story-copy h2{margin-bottom:14px}
.about-page .about-story-copy .about-lead{font-size:15px;line-height:1.64;margin-bottom:10px}
.about-page .about-story-copy>p:not(.about-lead){font-size:13.5px;line-height:1.68;margin-bottom:19px}
.about-page .about-story-points{gap:10px}
.about-page .about-story-points article{grid-template-columns:42px 1fr;gap:10px;padding:12px;border-radius:13px}
.about-page .about-story-points article>span{width:40px;height:40px}
.about-page .about-story-points h3{font-size:13px;margin-bottom:4px}
.about-page .about-story-points p{font-size:11px;line-height:1.5}
.about-page .about-story-actions{margin-top:19px}

/* FOUNDATION + JOURNEY: same visual size and same row system */
.about-page .about-purpose-intro,
.about-page .about-journey-intro{
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr);
  gap:32px;
  align-items:center;
  margin-bottom:28px;
}
.about-page .about-purpose-heading p,
.about-page .about-journey-heading p{
  max-width:720px;
  margin:13px 0 0;
  font-size:13.5px;
  line-height:1.7;
  color:#bdcad6;
}
.about-page .about-purpose-visual,
.about-page .about-journey-visual{
  height:var(--about-visual-h);
  margin:0;
  border:1px solid rgba(255,255,255,.13);
  background:#09243f
}
.about-page .about-purpose-visual:after,
.about-page .about-journey-visual:after,
.about-page .about-process-visual:after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,transparent 50%,rgba(3,18,34,.68));
  pointer-events:none
}
.about-page .about-purpose-visual figcaption,
.about-page .about-journey-visual figcaption,
.about-page .about-process-visual figcaption{
  position:absolute;
  z-index:2;
  left:15px;
  right:15px;
  bottom:14px;
  display:flex;
  align-items:center;
  gap:11px;
  color:#fff
}
.about-page .about-purpose-visual figcaption>span,
.about-page .about-journey-visual figcaption>span,
.about-page .about-process-visual figcaption>span{
  width:41px;
  height:41px;
  flex:0 0 41px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:12px;
  color:#ff8d43;
  background:rgba(5,23,42,.86);
  border:1px solid rgba(255,255,255,.13)
}
.about-page .about-purpose-visual figcaption svg,
.about-page .about-journey-visual figcaption svg,
.about-page .about-process-visual figcaption svg{
  width:20px;
  height:20px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.7
}
.about-page .about-purpose-visual figcaption small,
.about-page .about-journey-visual figcaption small,
.about-page .about-process-visual figcaption small{
  display:block;
  color:#ff9149;
  font-size:8px;
  font-weight:850;
  text-transform:uppercase;
  letter-spacing:.09em;
  margin-bottom:3px
}
.about-page .about-purpose-visual figcaption strong,
.about-page .about-journey-visual figcaption strong,
.about-page .about-process-visual figcaption strong{
  display:block;
  font-size:11.5px;
  line-height:1.35;
  font-weight:760
}

/* Mission cards */
.about-page .about-purpose-card{padding:23px 21px 22px}
.about-page .about-purpose-top{margin-bottom:16px}
.about-page .about-purpose-card h3{font-size:17px;line-height:1.35;margin-bottom:9px}
.about-page .about-purpose-card p{font-size:12.5px;line-height:1.64}
.about-page .about-proof-strip{margin-top:24px;padding-top:22px}
.about-page .about-proof-strip strong{font-size:32px}

/* CAPABILITIES: image is same size family */
.about-page .about-capabilities-feature{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  align-items:stretch;
  min-height:0;
  margin:0 0 26px;
  overflow:hidden;
  border:1px solid rgba(8,40,68,.1);
  border-radius:20px;
  background:linear-gradient(145deg,#fff,#f6f9fc);
  box-shadow:0 18px 42px rgba(7,25,45,.075)
}
.about-page .about-capabilities-feature-image{
  height:var(--about-visual-h);
  border-radius:0;
  box-shadow:none;
  background:#edf3f7
}
.about-page .about-capabilities-feature-copy{
  padding:26px 29px;
  display:flex;
  flex-direction:column;
  justify-content:center
}
.about-page .about-visual-kicker{margin-bottom:8px;font-size:9px}
.about-page .about-capabilities-feature-copy h3{
  margin:0 0 10px;
  color:#15304a;
  font-size:21px;
  line-height:1.28
}
.about-page .about-capabilities-feature-copy p{
  margin:0 0 14px;
  color:#687785;
  font-size:13px;
  line-height:1.66;
  max-width:650px
}
.about-page .about-visual-tags{gap:8px}
.about-page .about-visual-tags span{padding:8px 10px;font-size:9.5px}
.about-page .about-capability-card{padding:23px 21px 21px;min-height:215px}
.about-page .about-capability-icon{width:46px;height:46px;margin-bottom:15px}
.about-page .about-capability-card h3{font-size:16.5px;margin-bottom:8px}
.about-page .about-capability-card p{font-size:12px;line-height:1.62;min-height:0;margin-bottom:16px}
.about-page .about-capability-card a{font-size:9.5px}

/* JOURNEY */
.about-page .about-journey-track{gap:15px;margin-top:5px}
.about-page .about-journey-marker span{width:60px;height:60px}
.about-page .about-journey-track:before{top:30px}
.about-page .about-journey-card{min-height:200px;padding:20px 18px}
.about-page .about-journey-card h3{font-size:15.5px;margin-bottom:8px}
.about-page .about-journey-card p{font-size:12px;line-height:1.6}

/* HOW WE WORK: image height matches 2x2 cards */
.about-page .about-principles-layout{
  display:grid;
  grid-template-columns:minmax(360px,.88fr) minmax(0,1.12fr);
  gap:20px;
  align-items:stretch
}
.about-page .about-principles-visual{
  height:354px;
  min-height:0;
  background:#071d34
}
.about-page .about-principles-visual:after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,transparent 50%,rgba(4,20,38,.8));
  pointer-events:none
}
.about-page .about-principles-visual-caption{
  position:absolute;
  z-index:2;
  left:15px;
  right:15px;
  bottom:15px;
  display:flex;
  align-items:center;
  gap:11px;
  padding:11px 12px;
  border-radius:12px;
  background:rgba(5,24,43,.87);
  border:1px solid rgba(255,255,255,.14);
  color:#fff
}
.about-page .about-principles-visual-caption>span{
  width:40px;
  height:40px;
  flex:0 0 40px;
  border-radius:11px;
  display:flex;
  align-items:center;
  justify-content:center;
  color:#ff8d43;
  background:rgba(255,116,23,.13)
}
.about-page .about-principles-visual-caption svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7}
.about-page .about-principles-visual-caption small{
  display:block;
  color:#ff9149;
  font-size:8px;
  text-transform:uppercase;
  letter-spacing:.09em;
  font-weight:850;
  margin-bottom:3px
}
.about-page .about-principles-visual-caption strong{display:block;font-size:11.5px;line-height:1.35}
.about-page .about-principles-layout .about-principles-grid{
  margin:0;
  align-content:stretch;
  --bs-gutter-x:14px;
  --bs-gutter-y:14px
}
.about-page .about-principles-layout .about-principles-grid>[class*="col-"]{display:flex}
.about-page .about-principle-card{width:100%;min-height:170px;padding:20px 18px}
.about-page .about-principle-card h3{font-size:15.5px;margin-bottom:7px}
.about-page .about-principle-card p{font-size:12px;line-height:1.6}

/* PROCESS */
.about-page .about-process-topline{
  display:grid;
  grid-template-columns:minmax(0,1.08fr) minmax(380px,.92fr);
  gap:28px;
  align-items:center;
  margin-bottom:23px
}
.about-page .about-process-topline .about-process-intro{display:block;margin:0;padding:0}
.about-page .about-process-topline .about-process-intro h2{margin:0 0 11px}
.about-page .about-process-topline .about-process-intro>p{
  max-width:660px;
  margin:0;
  color:#b9c8d4;
  font-size:13px;
  line-height:1.66
}
.about-page .about-process-topline .about-process-checks{gap:9px 16px;margin-top:14px}
.about-page .about-process-visual{
  height:var(--about-visual-h);
  margin:0;
  border:1px solid rgba(255,255,255,.12);
  background:#061a30
}
.about-page .about-process-grid{--bs-gutter-x:14px;--bs-gutter-y:14px}
.about-page .about-process-grid article{min-height:200px;padding:20px 17px}
.about-page .about-process-grid article h3{font-size:16px}
.about-page .about-process-grid article p{font-size:11.8px;line-height:1.6}

/* FINAL CTA */
.about-page .about-cta-panel-visual{
  display:grid;
  grid-template-columns:minmax(0,1.12fr) minmax(390px,.88fr);
  gap:0;
  padding:0;
  align-items:stretch;
  overflow:hidden
}
.about-page .about-cta-panel-visual .about-cta-copy{
  padding:30px 33px;
  display:flex;
  flex-direction:column;
  justify-content:center
}
.about-page .about-cta-panel-visual .about-cta-copy h2{font-size:clamp(31px,2.4vw,40px)}
.about-page .about-cta-panel-visual .about-cta-copy p{font-size:13.5px;line-height:1.66;max-width:680px}
.about-page .about-cta-panel-visual .about-cta-actions{margin-top:17px}
.about-page .about-cta-visual{
  height:300px;
  min-height:0;
  border-radius:0;
  box-shadow:none;
  border-left:1px solid rgba(255,255,255,.11);
  background:#0b2c49
}
.about-page .about-cta-visual:after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,rgba(4,20,38,.28),rgba(4,20,38,.02));
  pointer-events:none
}

@media(max-width:1199px){
  .about-page{--about-visual-h:280px}
  .about-page .about-purpose-intro,
  .about-page .about-journey-intro{grid-template-columns:minmax(0,1fr) minmax(330px,.85fr)}
  .about-page .about-principles-layout{grid-template-columns:minmax(330px,.82fr) minmax(0,1.18fr)}
  .about-page .about-principles-visual{height:344px}
  .about-page .about-process-topline{grid-template-columns:minmax(0,1fr) minmax(340px,.85fr)}
  .about-page .about-cta-panel-visual{grid-template-columns:minmax(0,1fr) minmax(350px,.8fr)}
  .about-page .about-cta-visual{height:280px}
}

@media(max-width:991px){
  .about-page{--about-visual-h:265px}
  .about-page .about-story-section,
  .about-page .about-purpose-section,
  .about-page .about-capabilities-section,
  .about-page .about-journey-section,
  .about-page .about-principles-section,
  .about-page .about-process-section{padding:54px 0}

  .about-page .about-purpose-intro,
  .about-page .about-journey-intro,
  .about-page .about-process-topline,
  .about-page .about-principles-layout,
  .about-page .about-cta-panel-visual,
  .about-page .about-capabilities-feature{grid-template-columns:1fr}

  .about-page .about-story-visual{padding:8px 24px 40px 0}
  .about-page .about-story-image{height:315px}
  .about-page .about-story-copy{margin-top:8px}

  .about-page .about-purpose-visual,
  .about-page .about-journey-visual,
  .about-page .about-process-visual,
  .about-page .about-capabilities-feature-image{height:265px}

  .about-page .about-capabilities-feature-image{border-radius:0}
  .about-page .about-principles-visual{height:285px}
  .about-page .about-cta-visual{
    height:265px;
    border-left:0;
    border-top:1px solid rgba(255,255,255,.11)
  }

  .about-page .about-journey-track{grid-template-columns:repeat(2,1fr)}
  .about-page .about-journey-track:before{display:none}
}

@media(max-width:767px){
  .about-page{--about-visual-h:225px}
  .about-page .about-story-section,
  .about-page .about-purpose-section,
  .about-page .about-capabilities-section,
  .about-page .about-journey-section,
  .about-page .about-principles-section,
  .about-page .about-process-section{padding:44px 0}
  .about-page .about-cta-section{padding:42px 0}
  .about-page h2{font-size:31px}

  .about-page .about-story-visual{padding:0 12px 36px 0}
  .about-page .about-story-image{height:260px;border-radius:18px}
  .about-page .about-story-frame{right:0;top:40px;height:72%;border-radius:18px}
  .about-page .about-floating-card{padding:9px 11px;min-width:116px}
  .about-page .about-floating-card strong{font-size:19px}
  .about-page .about-floating-card span{font-size:7.8px}
  .about-page .about-floating-clients{right:0;top:9px}
  .about-page .about-story-copy{padding:22px 18px 20px}
  .about-page .about-story-points{grid-template-columns:1fr}

  .about-page .about-purpose-intro,
  .about-page .about-journey-intro,
  .about-page .about-process-topline{gap:18px;margin-bottom:21px}

  .about-page .about-purpose-visual,
  .about-page .about-journey-visual,
  .about-page .about-process-visual,
  .about-page .about-capabilities-feature-image{
    height:225px;
    border-radius:16px
  }

  .about-page .about-capabilities-feature{margin-bottom:21px;border-radius:17px}
  .about-page .about-capabilities-feature-image{border-radius:0}
  .about-page .about-capabilities-feature-copy{padding:21px 19px}
  .about-page .about-capabilities-feature-copy h3{font-size:20px}

  .about-page .about-proof-strip{grid-template-columns:repeat(2,1fr);gap:0}
  .about-page .about-proof-strip>div{padding:11px 5px;border-bottom:1px solid rgba(255,255,255,.11)}
  .about-page .about-proof-strip>div:nth-child(2){border-right:0}

  .about-page .about-journey-track{grid-template-columns:1fr;gap:12px}
  .about-page .about-journey-card{min-height:0}

  .about-page .about-principles-layout{gap:17px}
  .about-page .about-principles-visual{height:225px;border-radius:16px}
  .about-page .about-principles-layout .about-principles-grid{--bs-gutter-y:12px}
  .about-page .about-principle-card{min-height:0}

  .about-page .about-process-grid article{min-height:0}

  .about-page .about-cta-panel-visual .about-cta-copy{padding:26px 20px}
  .about-page .about-cta-visual{height:225px}
}

@media(max-width:480px){
  .about-page{--about-visual-h:205px}
  .about-page .about-story-image{height:238px}
  .about-page .about-purpose-visual,
  .about-page .about-journey-visual,
  .about-page .about-process-visual,
  .about-page .about-capabilities-feature-image,
  .about-page .about-principles-visual,
  .about-page .about-cta-visual{height:205px}
}

/* v54 fix — What We Bring Together capability chips */
.about-page .about-capabilities-feature-copy .about-visual-tags{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
  width:100%;
  max-width:520px;
  margin-top:2px;
}
.about-page .about-capabilities-feature-copy .about-visual-tags span{
  min-width:0;
  min-height:50px;
  padding:8px 12px;
  display:flex;
  align-items:center;
  justify-content:flex-start;
  gap:10px;
  border:1px solid #e3eaf0;
  border-radius:13px;
  background:linear-gradient(145deg,#ffffff,#f7fafc);
  color:#18344e;
  font-size:10.5px;
  line-height:1.2;
  font-weight:800;
  letter-spacing:.01em;
  box-shadow:0 8px 20px rgba(7,25,45,.045);
  overflow:visible;
}
.about-page .about-capabilities-feature-copy .about-visual-tags span svg{
  display:block;
  flex:0 0 34px;
  width:34px;
  height:34px;
  padding:7px;
  box-sizing:border-box;
  overflow:visible;
  border-radius:10px;
  background:linear-gradient(145deg,#fff5ed,#ffe7d5);
  color:#ff7417;
  fill:none !important;
  stroke:currentColor !important;
  stroke-width:1.8 !important;
  stroke-linecap:round;
  stroke-linejoin:round;
  box-shadow:inset 0 0 0 1px rgba(255,116,23,.12);
}
.about-page .about-capabilities-feature-copy .about-visual-tags span:hover{
  transform:translateY(-2px);
  border-color:rgba(255,116,23,.28);
  box-shadow:0 12px 24px rgba(7,25,45,.075);
}
.about-page .about-capabilities-feature-copy .about-visual-tags span,
.about-page .about-capabilities-feature-copy .about-visual-tags span svg{
  transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease,background .22s ease;
}
.about-page .about-capabilities-feature-copy .about-visual-tags span:hover svg{
  transform:scale(1.06);
  background:linear-gradient(145deg,#ffefe3,#ffddc5);
}
@media(max-width:767px){
  .about-page .about-capabilities-feature-copy .about-visual-tags{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:8px;
  }
  .about-page .about-capabilities-feature-copy .about-visual-tags span{
    min-height:46px;
    padding:7px 9px;
    gap:8px;
    font-size:9.8px;
  }
  .about-page .about-capabilities-feature-copy .about-visual-tags span svg{
    flex-basis:30px;
    width:30px;
    height:30px;
    padding:6px;
  }
}
@media(max-width:420px){
  .about-page .about-capabilities-feature-copy .about-visual-tags{
    grid-template-columns:1fr;
  }
}


/* v64 targeted readability fix — About Us dark sections only.
   No runtime color switching, so there is no blink/flicker. */
.about-page .about-purpose-section,
.about-page .about-journey-section,
.about-page .about-process-section{
  color:#f7fbff;
}

.about-page .about-purpose-section h2,
.about-page .about-purpose-section h3,
.about-page .about-journey-section h2,
.about-page .about-journey-section h3,
.about-page .about-process-section h2,
.about-page .about-process-section h3{
  color:#ffffff!important;
  -webkit-text-fill-color:#ffffff!important;
}

.about-page .about-purpose-section h2 strong,
.about-page .about-journey-section h2 strong,
.about-page .about-process-section h2 strong,
.about-page .about-purpose-section .eyebrow,
.about-page .about-journey-section .eyebrow,
.about-page .about-process-section .eyebrow,
.about-page .about-card-label,
.about-page .about-journey-card small,
.about-page .about-process-grid b{
  color:#ff9149!important;
  -webkit-text-fill-color:#ff9149!important;
}

.about-page .about-purpose-section p,
.about-page .about-purpose-heading p,
.about-page .about-purpose-card p,
.about-page .about-journey-section p,
.about-page .about-journey-heading p,
.about-page .about-journey-card p,
.about-page .about-process-section p,
.about-page .about-process-topline .about-process-intro>p,
.about-page .about-process-grid p{
  color:#c3d0db!important;
  -webkit-text-fill-color:#c3d0db!important;
  opacity:1!important;
}

.about-page .about-process-checks span,
.about-page .about-proof-strip span{
  color:#d8e2ea!important;
  -webkit-text-fill-color:#d8e2ea!important;
  opacity:1!important;
}

.about-page .about-purpose-top small,
.about-page .about-process-top small{
  color:rgba(255,255,255,.48)!important;
  -webkit-text-fill-color:rgba(255,255,255,.48)!important;
}

.about-page .about-purpose-section a:not(.btn),
.about-page .about-journey-section a:not(.btn),
.about-page .about-process-section a:not(.btn){
  color:#ff9149!important;
  -webkit-text-fill-color:#ff9149!important;
}

/* Keep card surfaces and icon accents readable on the dark sections. */
.about-page .about-purpose-icon,
.about-page .about-process-top>span{
  color:#ff8a3a!important;
}
.about-page .about-process-checks svg{
  stroke:#ff8b3d!important;
}

/* Prevent any color animation/flicker in these text blocks. */
.about-page .about-purpose-section :is(h2,h3,p,small,span,b,strong,a),
.about-page .about-journey-section :is(h2,h3,p,small,span,b,strong,a),
.about-page .about-process-section :is(h2,h3,p,small,span,b,strong,a){
  transition-property:transform,background,border-color,box-shadow,opacity!important;
}
