
:root {
  --navy: #0e2745;
  --navy-2: #153559;
  --burgundy: #6a2232;
  --burgundy-soft: #9b6a73;
  --ivory: #f5f0e8;
  --ivory-deep: #ece3d5;
  --paper: #fffaf2;
  --text: #1d2733;
  --text-soft: #526172;
  --white: #ffffff;
  --border: rgba(14,39,69,0.12);
  --shadow: 0 22px 60px rgba(9, 25, 43, 0.09);
  --radius: 24px;
  --radius-sm: 18px;
  --container: 1240px;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--text);
  font-family: 'IBM Plex Sans Condensed', 'Arial Narrow', 'Helvetica Neue', Arial, sans-serif;
  line-height: 1.6;
  background: var(--ivory);
}
a { color: inherit; text-decoration: none; }
img { max-width: 100%; display: block; }
.container { width: min(calc(100% - 56px), var(--container)); margin: 0 auto; }
.section { padding: 96px 0; position: relative; overflow: hidden; }
.eyebrow {
  display: inline-block;
  margin-bottom: 16px;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .22em;
  text-transform: uppercase;
  color: rgba(255,255,255,.85);
}
.eyebrow.accent { color: var(--burgundy); }
.eyebrow.on-dark { color: rgba(245,240,232,.85); }
h1,h2,h3 { margin: 0 0 14px; line-height: 1.04; }
h1,h2 {
  font-family: 'Cormorant Garamond', Georgia, 'Times New Roman', serif;
  font-weight: 600;
  letter-spacing: -.018em;
}
h1 { font-size: clamp(52px, 6.6vw, 88px); }
h2 { font-size: clamp(36px, 3.8vw, 54px); max-width: 760px; }
h3 { font-size: clamp(24px, 2vw, 30px); line-height: 1.14; letter-spacing: -.015em; }
p { margin: 0 0 16px; font-size: 18px; color: var(--text-soft); }
.section-heading { max-width: 1040px; margin-bottom: 42px; }
.section-heading h2 { max-width: 820px; }
.section-heading p { max-width: 860px; }
.section-heading.narrow { max-width: 1080px; }
.section-heading.narrow h2 { max-width: 980px; }
.section-heading.narrow p { max-width: 880px; }
.btn {
  display: inline-flex; align-items: center; justify-content: center;
  min-height: 52px; padding: 0 26px; border-radius: 999px;
  font-weight: 700; transition: .25s ease; border: 1px solid transparent;
  font-size: 15px;
}
.btn-primary { background: var(--burgundy); color: var(--white); }
.btn-primary:hover { background: #561b29; }
.btn-secondary { background: transparent; border-color: rgba(255,255,255,.52); color: var(--white); }
.btn-secondary:hover { background: rgba(255,255,255,.08); }
.text-link { font-weight: 700; color: var(--navy); font-size: 16px; }
.text-link::after { content: ' →'; color: var(--burgundy); }
.section-action { margin-top: 30px; }
.site-header {
  position: sticky; top: 0; z-index: 20;
  background: rgba(245,240,232,0.88); backdrop-filter: blur(14px);
  border-bottom: 1px solid rgba(14,39,69,0.08);
}
.header-inner { display: flex; align-items: center; justify-content: space-between; min-height: 76px; gap: 24px; }
.brand { font-weight: 800; font-size: 25px; color: var(--navy); letter-spacing: -.02em; }
.site-nav { display: flex; align-items: center; gap: 24px; }
.site-nav a { font-weight: 600; color: var(--text); font-size: 15px; }
.site-nav .nav-cta {
  padding: 11px 17px; border-radius: 999px; background: var(--navy); color: var(--white);
}
.nav-toggle { display: none; background: none; border: 0; font-size: 28px; color: var(--navy); }

.hero {
  position: relative;
  min-height: 86svh;
  display: flex; align-items: center;
  background: var(--navy); color: var(--white);
}
.hero-media, .hero-overlay { position: absolute; inset: 0; }
.hero-media {
  background: url('../images/home/hero-city.jpg') center center/cover no-repeat;
  transform: scale(1.02);
}
.hero-overlay {
  background:
    linear-gradient(90deg, rgba(6,21,40,0.94) 0%, rgba(7,24,43,0.86) 34%, rgba(7,24,43,0.58) 66%, rgba(7,24,43,0.40) 100%),
    linear-gradient(180deg, rgba(6,18,32,0.18) 0%, rgba(6,18,32,0.62) 100%);
}.hero-content { position: relative; z-index: 1; padding: 118px 0 88px; max-width: 980px; }
.hero h1 { max-width: 900px; }
.hero-subtitle { color: rgba(255,255,255,.88); font-size: 21px; max-width: 820px; }
.hero-actions { display: flex; flex-wrap: wrap; gap: 14px; margin: 30px 0 18px; }
.hero-supporting { color: rgba(255,255,255,.76); max-width: 650px; font-size: 15px; }

.section-gap { background: var(--ivory); }
.gap-layout { display: grid; grid-template-columns: 1fr 1.02fr; gap: 58px; align-items: center; }
.gap-copy h2 { max-width: 660px; }
.gap-visual { position: relative; margin: 0; }
.gap-visual img {
  width: 100%; min-height: 560px; object-fit: cover;
  border-radius: var(--radius); box-shadow: var(--shadow);
}
.gap-visual figcaption {
  position: absolute; left: 28px; right: 28px; bottom: 28px;
  background: rgba(255,250,242,.94); border-radius: var(--radius-sm);
  padding: 22px 24px; color: var(--text); font-size: 20px; line-height: 1.48;
  box-shadow: 0 16px 38px rgba(9,25,43,.12);
}
.gap-visual figcaption span {
  width: 46px; height: 2px; background: var(--burgundy); display: block; margin-bottom: 14px;
}

.section-journey { background: #fffaf2; border-top: 1px solid rgba(14,39,69,.08); border-bottom: 1px solid rgba(14,39,69,.08); }
.journey-band {
  position: relative; background: rgba(255,255,255,.42); border: 1px solid rgba(14,39,69,.08);
  border-radius: 34px; overflow: hidden; box-shadow: var(--shadow);
}
.journey-banner { width: 100%; height: 320px; object-fit: cover; }
.journey-grid {
  position: relative;
  display: grid; grid-template-columns: repeat(4, 1fr); gap: 22px;
  padding: 32px 30px 30px;
}
.journey-grid::before {
  content: ''; position: absolute; top: 57px; left: 54px; right: 54px; height: 2px;
  background: linear-gradient(90deg, rgba(111,38,53,.2), rgba(111,38,53,.75), rgba(211,184,159,.65));
}
.journey-card {
  position: relative; z-index: 1; background: rgba(255,255,255,.92); border-radius: 22px; padding: 24px 22px 24px;
  border: 1px solid rgba(14,39,69,.09);
}
.step-no {
  width: 48px; height: 48px; border-radius: 50%; display: grid; place-items: center;
  background: var(--burgundy); color: white; font-weight: 800; margin-bottom: 18px;
  box-shadow: 0 0 0 8px rgba(255,250,242,.92);
}
.journey-card h3 { color: var(--navy); font-size: 24px; }

.section-where { background: #f1eadf; }
.sector-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 28px; }
.sector-card {
  background: rgba(255,255,255,.62); border-radius: var(--radius); overflow: hidden;
  border: 1px solid rgba(14,39,69,.08); box-shadow: var(--shadow);
}
.sector-card img { width: 100%; height: 310px; object-fit: cover; }
.sector-card-body { padding: 22px 24px 26px; }
.card-label { display: inline-block; font-size: 12px; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; color: var(--burgundy); margin-bottom: 14px; }
.sector-card h3 { color: var(--navy); }

.section-ground { background: #fffaf2; border-top: 1px solid rgba(14,39,69,.08); }
.ground-grid {
  display: grid; grid-template-columns: repeat(6, 1fr); gap: 24px;
}
.scene-card {
  grid-column: span 2; background: rgba(255,255,255,.64); border: 1px solid rgba(14,39,69,.08);
  border-radius: var(--radius); overflow: hidden; box-shadow: var(--shadow);
}
.scene-card-large { grid-column: span 3; }
.scene-card img { width: 100%; height: 250px; object-fit: cover; }
.scene-copy { padding: 20px 22px 24px; }
.scene-copy h3 { color: var(--navy); font-size: 28px; }

.section-stories { background: #f5f0e8; }
.story-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 26px; }
.story-card {
  background: rgba(255,255,255,.66); border-radius: var(--radius); overflow: hidden;
  border: 1px solid rgba(14,39,69,.08); box-shadow: var(--shadow);
}
.story-card img { width: 100%; height: 250px; object-fit: cover; }
.story-body { padding: 22px 22px 26px; }
.story-body h3 { color: var(--navy); font-size: 28px; }
.story-meta { font-size: 14px; color: var(--text-soft); margin-top: 8px; }
.story-meta strong { color: var(--text); }

.section-why {
  background: linear-gradient(180deg, #0c2340 0%, #0a1d33 100%);
  color: var(--white);
}
.section-why p { color: rgba(245,240,232,.84); }
.why-layout { display: grid; grid-template-columns: minmax(360px, .86fr) minmax(620px, 1.14fr); gap: 54px; align-items: start; }
.why-intro h2 { max-width: 680px; color: white; font-size: clamp(38px, 3.8vw, 56px); }
.why-cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.why-card {
  background: rgba(255,255,255,.045); border: 1px solid rgba(255,255,255,.11); border-radius: 24px;
  padding: 26px 24px 24px; min-height: 100%;
}
.why-card h3 { color: var(--ivory); font-size: 25px; line-height: 1.16; }

.section-contact { background: var(--ivory); }
.cta-panel {
  position: relative; overflow: hidden; display: grid; grid-template-columns: 1fr auto; gap: 28px; align-items: center;
  background: linear-gradient(135deg, var(--navy) 0%, #143964 100%); border-radius: 34px; padding: 48px 50px; box-shadow: var(--shadow);
}
.cta-panel::before {
  content: ''; position: absolute; right: -8%; top: 55%; width: 46%; height: 2px;
  background: linear-gradient(90deg, rgba(111,38,53,0) 0%, rgba(111,38,53,.75) 20%, rgba(211,184,159,.8) 75%, rgba(211,184,159,0) 100%);
}
.cta-panel h2 { color: var(--white); max-width: 720px; }
.cta-panel p { color: rgba(255,255,255,.84); max-width: 720px; }
.cta-panel .btn { position: relative; z-index: 1; }

@media (max-width: 1180px) {
  .site-nav { gap: 18px; }
  .site-nav a { font-size: 14px; }
  .journey-grid, .story-grid, .why-cards { grid-template-columns: repeat(2, 1fr); }
  .story-card:last-child, .why-card:last-child { grid-column: span 2; }
  .ground-grid { grid-template-columns: repeat(2, 1fr); }
  .scene-card, .scene-card-large { grid-column: auto; }
  .why-layout, .gap-layout, .cta-panel { grid-template-columns: 1fr; }
}
@media (max-width: 920px) {
  .nav-toggle { display: block; }
  .site-nav {
    display: none; position: absolute; top: 76px; left: 24px; right: 24px; background: rgba(245,240,232,.98);
    border-radius: 18px; padding: 18px; flex-direction: column; align-items: flex-start; box-shadow: var(--shadow);
  }
  .site-nav.open { display: flex; }
  .hero { min-height: auto; }
  .hero-content { padding-top: 120px; }
  .gap-layout, .sector-grid, .story-grid, .journey-grid, .why-cards { grid-template-columns: 1fr; }
  .story-card:last-child, .why-card:last-child { grid-column: auto; }
  .journey-banner { height: 220px; }
  .journey-grid::before { display: none; }
}
@media (max-width: 720px) {
  .container { width: min(calc(100% - 32px), var(--container)); }
  .section { padding: 72px 0; }
  h1 { font-size: clamp(46px, 14vw, 72px); }
  h2 { font-size: clamp(34px, 11vw, 54px); }
  p { font-size: 17px; }
  .brand { font-size: 23px; }
  .gap-visual img { min-height: 420px; }
  .gap-visual figcaption { left: 16px; right: 16px; bottom: 16px; font-size: 18px; }
  .scene-card img, .story-card img, .sector-card img { height: 220px; }
  .cta-panel { padding: 36px 28px; }
}


/* V12 typography correction: prevent large titles from stacking word-by-word */
.section-gap h2,
.section-journey h2,
.section-where h2,
.section-ground h2,
.section-stories h2 {
  max-width: 900px;
}

.section-why h2 {
  max-width: 720px;
}

.section-why .why-intro p {
  max-width: 640px;
}

.why-card p {
  font-size: 17px;
  line-height: 1.55;
}

@media (max-width: 1180px) {
  .why-layout { grid-template-columns: 1fr; }
  .why-intro h2 { max-width: 840px; }
}

@media (max-width: 920px) {
  h1 { font-size: clamp(46px, 11vw, 72px); }
  h2 { font-size: clamp(34px, 8vw, 48px); }
  .section-heading h2,
  .section-heading.narrow h2,
  .gap-copy h2,
  .why-intro h2 {
    max-width: 100%;
  }
}

@media (max-width: 720px) {
  h1 { font-size: clamp(42px, 12vw, 62px); }
  h2 { font-size: clamp(32px, 10vw, 44px); }
  .hero-content { padding-top: 96px; }
  .why-card { min-height: auto; }
}

/* V13 section rhythm and line length fixes */
.section-heading {
  max-width: 1180px;
}
.section-heading p {
  max-width: 1120px;
  font-size: 19px;
  line-height: 1.55;
}
.section-heading h2 {
  max-width: 980px;
}

/* Give major sections clearer separation without making them feel disconnected */
.section-gap {
  padding-bottom: 104px;
}
.section-journey {
  padding-top: 104px;
  padding-bottom: 104px;
}
.section-where {
  padding-top: 104px;
  padding-bottom: 104px;
}
.section-ground {
  padding-top: 104px;
  padding-bottom: 104px;
}

/* V13 Why Work With Us redesign */
.section-why {
  padding: 104px 0 108px;
}
.why-layout {
  display: block;
}
.why-intro {
  display: grid;
  grid-template-columns: minmax(420px, 0.95fr) minmax(520px, 1.05fr);
  gap: 70px;
  align-items: end;
  margin-bottom: 46px;
}
.why-intro h2 {
  max-width: 760px !important;
  font-size: clamp(40px, 4.4vw, 66px) !important;
  line-height: 1.04;
}
.why-intro p {
  max-width: 760px !important;
  font-size: 19px;
  line-height: 1.6;
}
.why-cards {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 22px;
}
.why-card {
  min-height: 230px;
  padding: 30px 30px 32px;
  border-radius: 18px;
  background: rgba(255,255,255,.055);
  border: 1px solid rgba(255,255,255,.13);
}
.why-card h3 {
  font-size: 28px !important;
  line-height: 1.12;
  max-width: 260px;
}
.why-card p {
  font-size: 17px;
  line-height: 1.58;
}

/* V13 CTA redesign: integrated full-width section, not a floating box */
.section-contact {
  background: linear-gradient(180deg, #0a1d33 0%, #0e2745 100%);
  color: white;
  padding: 96px 0;
}
.cta-panel {
  display: block;
  background: transparent;
  box-shadow: none;
  border-radius: 0;
  padding: 0;
  max-width: 980px;
}
.cta-panel::before {
  display: none;
}
.cta-panel h2 {
  color: white;
  max-width: 860px;
  font-size: clamp(40px, 4.6vw, 66px);
}
.cta-panel p {
  max-width: 860px;
  color: rgba(255,255,255,.82);
  font-size: 19px;
  line-height: 1.58;
  margin-bottom: 26px;
}
.cta-panel .btn {
  margin-top: 4px;
}
.section-contact .eyebrow.accent {
  color: #d3b89f;
}

@media (max-width: 1180px) {
  .why-intro {
    grid-template-columns: 1fr;
    gap: 24px;
    align-items: start;
  }
  .why-cards {
    grid-template-columns: 1fr;
  }
  .why-card {
    min-height: auto;
  }
}
@media (max-width: 920px) {
  .section-heading p {
    max-width: 100%;
    font-size: 18px;
  }
}


/* V14 rhythm correction: avoid blue-yellow-yellow-yellow-blue by making the journey a dark editorial section */
.section-journey {
  background: linear-gradient(180deg, #0e2745 0%, #102f52 100%) !important;
  color: #fff;
  border-top: 0 !important;
  border-bottom: 0 !important;
}
.section-journey .eyebrow.accent {
  color: #d3b89f;
}
.section-journey h2 {
  color: #fff;
}
.section-journey .section-heading p {
  color: rgba(255,255,255,.78);
}
.section-journey .journey-band {
  background: rgba(255,255,255,.055);
  border: 1px solid rgba(255,255,255,.12);
  box-shadow: none;
}
.section-journey .journey-card {
  background: rgba(255,255,255,.93);
}
.section-journey .journey-card p {
  color: #566174;
}

/* Keep the following light sections distinct but not all the same yellow */
.section-where {
  background: #f5f0e8 !important;
}
.section-ground {
  background: #fffaf2 !important;
}
.section-stories {
  background: #eef0f2 !important;
}

/* V14 Why Work With Us redesign */
.section-why {
  padding: 108px 0 112px;
}
.why-layout {
  display: block !important;
}
.why-intro {
  display: block !important;
  max-width: 1120px;
  margin: 0 0 46px 0 !important;
}
.why-intro .eyebrow {
  margin-bottom: 18px;
}
.why-intro h2 {
  max-width: 920px !important;
  font-size: clamp(40px, 4.1vw, 64px) !important;
  line-height: 1.03;
  margin-bottom: 24px;
}
.why-body {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 42px;
  max-width: 980px;
}
.why-body p {
  margin: 0;
  font-size: 18px;
  line-height: 1.62;
  color: rgba(245,240,232,.80);
}
.why-cards {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 22px !important;
}
.why-card {
  min-height: 240px !important;
  padding: 30px 30px 32px !important;
  border-radius: 18px !important;
}
.why-card h3 {
  font-size: 27px !important;
  line-height: 1.13 !important;
  max-width: 260px;
}
.why-card p {
  font-size: 17px;
  line-height: 1.58;
}

/* V14 CTA: integrated with the deep-blue ending, but softer and more continuous */
.section-contact {
  background: linear-gradient(180deg, #0a1d33 0%, #0e2745 100%) !important;
  padding: 82px 0 94px !important;
}
.cta-panel {
  max-width: 1050px;
}
.cta-panel h2 {
  max-width: 900px !important;
}
.cta-panel p {
  max-width: 920px !important;
}

@media (max-width: 1180px) {
  .why-body {
    grid-template-columns: 1fr;
    gap: 16px;
  }
  .why-cards {
    grid-template-columns: 1fr !important;
  }
  .why-card {
    min-height: auto !important;
  }
}

@media (min-width: 921px) {
  .section-where,
  .section-ground,
  .section-stories {
    padding-top: 92px;
    padding-bottom: 92px;
  }
}


/* V15 rhythm correction: On the Ground becomes a deep-blue section to restore blue / light / blue / light pacing */
.section-ground {
  background: linear-gradient(180deg, #0e2745 0%, #102f52 100%) !important;
  color: #fff;
  border-top: 0 !important;
}
.section-ground .eyebrow.accent {
  color: #d3b89f;
}
.section-ground h2,
.section-ground .section-heading h2 {
  color: #fff;
}
.section-ground .section-heading p {
  color: rgba(255,255,255,.78);
  max-width: 980px;
}
.section-ground .scene-card {
  background: rgba(255,255,255,.065);
  border: 1px solid rgba(255,255,255,.12);
  box-shadow: none;
}
.section-ground .scene-copy h3 {
  color: #fff;
}
.section-ground .scene-copy p {
  color: rgba(245,240,232,.80);
}
.section-ground .text-link {
  color: #fff;
}
.section-ground .text-link::after {
  color: #d3b89f;
}

/* V15 CTA: reduce width/height so it follows the content, not a huge block */
.section-contact {
  padding: 64px 0 72px !important;
}
.cta-panel {
  max-width: 880px !important;
}
.cta-panel h2 {
  max-width: 760px !important;
  font-size: clamp(34px, 3.6vw, 54px) !important;
  margin-bottom: 14px;
}
.cta-panel p {
  max-width: 760px !important;
  font-size: 18px !important;
  line-height: 1.56 !important;
  margin-bottom: 22px !important;
}

/* V15: improve vertical rhythm so section color blocks fit their content */
.section-journey,
.section-where,
.section-ground,
.section-stories,
.section-why {
  padding-top: 88px !important;
  padding-bottom: 88px !important;
}
.section-gap {
  padding-top: 92px !important;
  padding-bottom: 92px !important;
}

@media (max-width: 920px) {
  .section-contact {
    padding: 58px 0 64px !important;
  }
  .cta-panel {
    max-width: 100% !important;
  }
}


/* V16 refinement: card titles calmer and more proportional */
.story-body h3 {
  font-size: 24px !important;
  line-height: 1.18 !important;
  font-weight: 600 !important;
  letter-spacing: -0.01em;
}
.scene-copy h3 {
  font-size: 24px !important;
  line-height: 1.16 !important;
}
.sector-card h3 {
  font-size: 26px !important;
  line-height: 1.14 !important;
}

/* V16: Why Work With Us supporting copy stacked vertically */
.why-body {
  display: block !important;
  max-width: 780px !important;
}
.why-body p {
  max-width: 780px !important;
  margin: 0 0 14px 0 !important;
}
.why-body p:last-child {
  margin-bottom: 0 !important;
}

/* V16: align Hero and final CTA text widths with the rest of the page */
.hero-content {
  max-width: 960px !important;
}
.hero h1 {
  max-width: 900px !important;
}
.hero-subtitle {
  max-width: 860px !important;
}
.hero-supporting {
  max-width: 860px !important;
}

.cta-panel {
  max-width: 960px !important;
}
.cta-panel h2 {
  max-width: 880px !important;
}
.cta-panel p {
  max-width: 860px !important;
}

/* V16: slightly softer story meta for a more premium feel */
.story-meta {
  font-size: 13.5px !important;
  line-height: 1.55;
}

/* V16 mobile checks and refinements */
@media (max-width: 920px) {
  .hero-content,
  .hero-subtitle,
  .hero-supporting,
  .cta-panel,
  .cta-panel h2,
  .cta-panel p {
    max-width: 100% !important;
  }
  .story-body h3 {
    font-size: 22px !important;
  }
  .scene-copy h3,
  .sector-card h3 {
    font-size: 23px !important;
  }
}

@media (max-width: 720px) {
  .hero-content {
    padding-top: 92px !important;
    padding-bottom: 70px !important;
  }
  .hero-subtitle {
    font-size: 18px !important;
    line-height: 1.55 !important;
  }
  .hero-supporting {
    font-size: 14px !important;
  }
  .story-body {
    padding: 20px 20px 24px !important;
  }
  .story-body h3 {
    font-size: 21px !important;
  }
  .why-intro h2 {
    font-size: clamp(34px, 9vw, 46px) !important;
  }
  .why-body p {
    font-size: 16px !important;
  }
}


/* V17 alignment correction: Hero and final CTA use the same left edge as all other sections */
.hero-content {
  width: min(calc(100% - 56px), var(--container)) !important;
  max-width: var(--container) !important;
  margin-left: auto !important;
  margin-right: auto !important;
}
.hero h1,
.hero-subtitle,
.hero-supporting {
  margin-left: 0 !important;
  margin-right: 0 !important;
}
.hero h1 {
  max-width: 920px !important;
}
.hero-subtitle {
  max-width: 860px !important;
}
.hero-supporting {
  max-width: 860px !important;
}

/* The CTA is no longer a centered narrow block; it aligns to the main site grid */
.cta-panel {
  width: min(calc(100% - 56px), var(--container)) !important;
  max-width: var(--container) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  text-align: left !important;
}
.cta-panel h2,
.cta-panel p {
  margin-left: 0 !important;
  margin-right: 0 !important;
}
.cta-panel h2 {
  max-width: 880px !important;
}
.cta-panel p {
  max-width: 860px !important;
}

@media (max-width: 720px) {
  .hero-content,
  .cta-panel {
    width: min(calc(100% - 32px), var(--container)) !important;
  }
}


/* V18 visual reset: lighter premium navy, clearer headings, brighter images, less oppressive dark blocks */
:root{
  --navy:#0F3153;
  --navy-2:#17446F;
  --burgundy:#6A2232;
  --burgundy-soft:#9B5965;
  --ivory:#F8F5EF;
  --ivory-deep:#EFE7DA;
  --paper:#FFFDF8;
  --text:#182A3F;
  --text-soft:#53647A;
}

/* Hero: keep image visible, remove excessive darkness */
.hero{
  background:#0F3153 !important;
}
.hero-bg, .hero-media{
  filter:brightness(.88) saturate(.96) contrast(.98) !important;
}
.hero-overlay{
  background:
    linear-gradient(90deg, rgba(7,25,43,.82) 0%, rgba(7,25,43,.68) 42%, rgba(7,25,43,.36) 74%, rgba(7,25,43,.20) 100%),
    linear-gradient(180deg, rgba(7,25,43,.18) 0%, rgba(7,25,43,.50) 100%) !important;
}
.hero h1,
.hero .eyebrow,
.hero-subtitle,
.hero-supporting{
  text-shadow:0 1px 16px rgba(0,0,0,.24);
}

/* Headings on dark sections must be readable, not deep-blue on deep-blue */
.section-journey h2,
.section-ground h2,
.section-why h2,
.section-contact h2,
.final-cta h2,
.section-final h2,
.trust-head h2,
.why-intro h2{
  color:#FFFFFF !important;
}

/* Dark sections: softer blue, more air */
.section-journey,
.section-ground,
.section-why,
.section-contact,
.final-cta,
.section-final,
.trust-section{
  background:linear-gradient(180deg,#12395F 0%,#0F3153 100%) !important;
}
.section-journey .section-heading p,
.section-ground .section-heading p,
.section-why p,
.section-contact p,
.final-cta p,
.section-final p,
.trust-head p,
.why-intro p{
  color:rgba(255,255,255,.78) !important;
}
.section-journey .eyebrow,
.section-ground .eyebrow,
.section-why .eyebrow,
.section-contact .eyebrow,
.final-cta .eyebrow,
.section-final .eyebrow{
  color:#D9C7B4 !important;
}

/* Light sections: less yellow, cleaner warm white */
.section-gap,
.section-where,
.section-stories{
  background:#F8F5EF !important;
}

/* Images: stop making them black; retain editorial depth but visible */
.sector-card img,
.scene-card img,
.story-card img,
.editorial-image img,
.gap-image-panel img,
.gap-visual img,
.experience-media img,
.experience-collage img,
.journey-banner{
  filter:brightness(1.04) saturate(.95) contrast(.98) !important;
}
.sector-card img{
  opacity:.72 !important;
}
.sector-card:hover img{
  opacity:.62 !important;
}
.scene-card img{
  opacity:.70 !important;
}
.scene-card:hover img{
  opacity:.58 !important;
}

/* Overlays lighter but still readable */
.sector-card-body{
  background:linear-gradient(to top,rgba(8,30,52,.82) 0%,rgba(8,30,52,.44) 56%,rgba(8,30,52,.04) 100%) !important;
}
.scene-copy{
  background:linear-gradient(to top,rgba(8,30,52,.82) 0%,rgba(8,30,52,.45) 55%,rgba(8,30,52,.03) 100%) !important;
}
.card-label,
.section-ground .eyebrow.accent,
.section-journey .eyebrow.accent{
  color:#E2CABC !important;
}

/* Reduce muddy yellow/tan feeling */
.eyebrow.light,
.eyebrow.on-dark{
  color:#E7D8CB !important;
}
.story-route,
.story-card,
.sector-card,
.journey-card,
.scene-card{
  border-color:rgba(15,49,83,.10) !important;
}

/* Typography: keep the better v17 structure, but make body less cramped */
body{
  letter-spacing:.002em;
}
p{
  line-height:1.65 !important;
}
.body-copy p,
.section-heading p,
.section-intro,
.story-card-copy p,
.trust-head p,
.why-body p,
.why-left p{
  line-height:1.65 !important;
}
.story-body h3,
.story-card-copy h3{
  font-size:23px !important;
  line-height:1.18 !important;
  font-weight:500 !important;
}

/* Why Work With Us: keep v17 grid alignment, but avoid heavy blocks */
.section-why{
  padding-top:94px !important;
  padding-bottom:96px !important;
}
.why-cards,
.trust-cards{
  gap:20px !important;
}
.why-card,
.trust-cards article{
  background:rgba(255,255,255,.055) !important;
  border:1px solid rgba(255,255,255,.14) !important;
}
.why-card h3,
.trust-cards h3{
  color:#fff !important;
}
.why-card p,
.trust-cards p{
  color:rgba(255,255,255,.74) !important;
}

/* Final CTA: keep integrated but not black/heavy */
.section-contact,
.final-cta,
.section-final{
  padding-top:70px !important;
  padding-bottom:76px !important;
}
.cta-panel,
.cta-inner,
.section-final .content{
  text-align:left !important;
}
.cta-panel h2,
.final-cta h2,
.section-final h2{
  color:#fff !important;
}
.cta-panel p,
.final-cta p,
.section-final p{
  color:rgba(255,255,255,.80) !important;
}

/* Mobile: keep all dark text readable, images not too dark */
@media (max-width: 920px){
  .hero-overlay{
    background:linear-gradient(180deg,rgba(7,25,43,.72),rgba(7,25,43,.78)) !important;
  }
  .sector-card img,
  .scene-card img{
    opacity:.72 !important;
  }
}


/* ===== V19 refinement: premium navy, better image choices, editorial section rhythm ===== */
:root{
  --cba-navy:#0D2C4A;
  --cba-navy-deep:#0A223A;
  --cba-navy-soft:#173A5B;
  --cba-ivory:#F8F5EF;
  --cba-white:#FCFBF8;
  --cba-burgundy:#6D2A37;
  --cba-text:#18293C;
  --cba-text-soft:#55677A;
}
body{background:var(--cba-ivory); color:var(--cba-text);} 
.site-header{background:rgba(248,245,239,.94)!important; backdrop-filter:saturate(140%) blur(10px);} 
.brand,.site-nav a{color:var(--cba-text)!important;} 
.nav-cta{background:var(--cba-navy)!important; color:#fff!important; border-color:var(--cba-navy)!important;}

.hero{background:var(--cba-navy-deep)!important;}
.hero-media{background-image:url('../images/home/hero-city.jpg')!important; background-size:cover; background-position:center center; filter:brightness(.92) saturate(.92)!important;}
.hero-overlay{background:linear-gradient(90deg, rgba(10,34,58,.78) 0%, rgba(10,34,58,.60) 42%, rgba(10,34,58,.30) 72%, rgba(10,34,58,.22) 100%), linear-gradient(180deg, rgba(10,34,58,.18), rgba(10,34,58,.52))!important;}
.hero-content{max-width:1200px!important; align-items:flex-start!important; text-align:left!important;}
.hero .eyebrow{color:#EDE3D8!important;}
.hero h1{max-width:8ch!important; font-size:clamp(4.6rem, 8vw, 7.8rem)!important; line-height:.94!important;}
.hero-subtitle{max-width:42rem!important; color:rgba(255,255,255,.92)!important;}
.hero-supporting{max-width:40rem!important; color:rgba(255,255,255,.76)!important;}

.section-gap,.section-where,.section-stories{background:var(--cba-ivory)!important;}
.section-journey,.section-ground,.section-why,.section-final,.section-contact{background:var(--cba-navy)!important;}
.section-ground{background:#103253!important;}
.section .eyebrow.accent,.section .eyebrow.on-dark{color:var(--cba-burgundy)!important;}
.section-journey .eyebrow.accent,.section-ground .eyebrow.accent,.section-why .eyebrow.on-dark,.section-final .eyebrow,.section-contact .eyebrow{color:#E6D5C6!important;}

.section-heading h2,.why-intro h2,.final-cta h2,.section-final h2{font-size:clamp(2.8rem,5.1vw,4.9rem)!important; line-height:.98!important; letter-spacing:-.01em;}
.section-where .section-heading h2,
.section-ground .section-heading h2{max-width:11ch!important;}
.section-heading p{max-width:58rem!important; line-height:1.65!important; color:var(--cba-text-soft)!important;}
.section-journey .section-heading p,.section-ground .section-heading p,.section-why p,.section-final p,.section-contact p{color:rgba(255,255,255,.80)!important;}

/* Journey band simplified so it feels more premium */
.section-journey .journey-band{background:transparent!important; border:none!important; padding:0!important;}
.section-journey .journey-banner{display:none!important;}
.section-journey .journey-grid{margin-top:2.25rem!important; display:grid!important; grid-template-columns:repeat(4,1fr)!important; gap:18px!important;}
.section-journey .journey-card{background:rgba(255,255,255,.06)!important; border:1px solid rgba(255,255,255,.14)!important; border-radius:22px!important; padding:28px 24px!important; min-height:240px!important;}
.section-journey .step-no{color:#E6D5C6!important; font-size:1rem!important; letter-spacing:.14em;}
.section-journey .journey-card h3{color:#fff!important; font-size:1.65rem!important; line-height:1.1!important; margin-top:12px!important;}
.section-journey .journey-card p{color:rgba(255,255,255,.78)!important; line-height:1.55!important;}

/* Where China Leads: 4 editorial image columns */
.section-where .sector-grid{display:grid!important; grid-template-columns:repeat(4,minmax(0,1fr))!important; gap:4px!important; align-items:stretch!important;}
.section-where .sector-card{position:relative!important; min-height:640px!important; border-radius:0!important; overflow:hidden!important; background:#0f2740!important;}
.section-where .sector-card img{width:100%!important; height:100%!important; object-fit:cover!important; filter:brightness(.97) saturate(.92)!important; opacity:.86!important;}
.section-where .sector-card-body{position:absolute!important; inset:auto 0 0 0!important; padding:22px 24px 24px!important; background:linear-gradient(to top, rgba(8,29,49,.90) 0%, rgba(8,29,49,.62) 42%, rgba(8,29,49,.18) 72%, rgba(8,29,49,0) 100%)!important;}
.section-where .card-label{display:block!important; margin-bottom:14px!important; color:#C96D7E!important; font:600 .95rem/1 'IBM Plex Sans Condensed',sans-serif!important; letter-spacing:.14em; text-transform:uppercase;}
.section-where .sector-card h3{font-size:clamp(1.7rem,2.1vw,2.55rem)!important; line-height:1.05!important; color:#fff!important; max-width:11ch!important; margin-bottom:.75rem!important;}
.section-where .sector-card p{color:rgba(255,255,255,.84)!important; line-height:1.55!important; max-width:20ch!important;}

/* Ground: 2 large above + 3 smaller below, clearer like reference */
.section-ground .ground-grid{display:grid!important; grid-template-columns:repeat(6,minmax(0,1fr))!important; gap:4px!important;}
.section-ground .scene-card{position:relative!important; overflow:hidden!important; min-height:300px!important; background:#102e4a!important; border-radius:0!important; grid-column:span 2;}
.section-ground .scene-card-large{grid-column:span 3!important; min-height:420px!important;}
.section-ground .scene-card img{width:100%!important; height:100%!important; object-fit:cover!important; filter:brightness(.98) saturate(.92)!important; opacity:.88!important;}
.section-ground .scene-copy{position:absolute!important; inset:auto 0 0 0!important; padding:26px 26px 24px!important; background:linear-gradient(to top, rgba(8,29,49,.88) 0%, rgba(8,29,49,.56) 40%, rgba(8,29,49,.16) 72%, rgba(8,29,49,0) 100%)!important;}
.section-ground .scene-copy h3{color:#fff!important; font-size:clamp(1.5rem,2vw,2.15rem)!important; line-height:1.08!important; margin-bottom:.65rem!important;}
.section-ground .scene-copy p{color:rgba(255,255,255,.82)!important; max-width:34ch!important; line-height:1.55!important;}

/* Stories card titles calmer */
.section-stories .story-body h3{font-size:1.5rem!important; line-height:1.18!important; font-weight:600!important;}

/* Why work with us: cleaner balance */
.section-why .why-layout{display:grid!important; grid-template-columns:1.05fr 1fr!important; gap:42px!important; align-items:start!important;}
.section-why .why-intro h2{max-width:11ch!important; color:#fff!important; margin-bottom:1.15rem!important;}
.section-why .why-body{display:block!important; max-width:44rem!important;}
.section-why .why-body p{max-width:40rem!important;}
.section-why .why-body p + p{margin-top:1rem!important;}
.section-why .why-cards{display:grid!important; grid-template-columns:repeat(3,minmax(0,1fr))!important; gap:18px!important;}
.section-why .why-card{background:rgba(255,255,255,.055)!important; border:1px solid rgba(255,255,255,.14)!important; border-radius:24px!important; padding:26px 24px!important; min-height:290px!important;}
.section-why .why-card h3{font-size:1.7rem!important; line-height:1.08!important; color:#fff!important;}
.section-why .why-card p{font-size:1.04rem!important; line-height:1.6!important; color:rgba(255,255,255,.76)!important;}

/* CTA aligns to same width rhythm */
.section-final .container,.section-contact .container,.hero .container{max-width:1280px!important;}
.section-final .content,.section-contact .cta-panel{max-width:58rem!important; text-align:left!important; margin-left:0!important;}

/* mobile responsiveness */
@media (max-width: 1100px){
  .section-journey .journey-grid{grid-template-columns:repeat(2,1fr)!important;}
  .section-why .why-layout{grid-template-columns:1fr!important;}
  .section-why .why-cards{grid-template-columns:repeat(3,1fr)!important;}
}
@media (max-width: 900px){
  .hero h1{max-width:9ch!important; font-size:clamp(3.7rem,14vw,5.8rem)!important;}
  .section-where .sector-grid{grid-template-columns:1fr 1fr!important;}
  .section-where .sector-card{min-height:520px!important;}
  .section-ground .ground-grid{grid-template-columns:1fr 1fr!important;}
  .section-ground .scene-card,.section-ground .scene-card-large{grid-column:span 1!important; min-height:320px!important;}
  .section-why .why-cards{grid-template-columns:1fr!important;}
}
@media (max-width: 640px){
  .section-heading h2,.why-intro h2,.final-cta h2,.section-final h2{font-size:clamp(2.5rem,12vw,3.6rem)!important;}
  .section-where .section-heading h2,.section-ground .section-heading h2{max-width:9ch!important;}
  .section-where .section-heading p,.section-ground .section-heading p{max-width:100%!important;}
  .section-where .sector-grid{grid-template-columns:1fr!important;}
  .section-journey .journey-grid{grid-template-columns:1fr!important;}
}


/* =========================================================
   V20 DESIGN QA OVERRIDE
   Goal: WildChina-inspired premium teal-navy, cleaner alignment,
   readable typography, and magazine-style image sections.
   ========================================================= */

:root{
  --wild-blue:#273D4A;
  --wild-blue-deep:#002E40;
  --wild-blue-soft:#315564;
  --wild-blue-muted:#41545F;
  --cba-cream:#F8F6F1;
  --cba-cream-2:#F1ECE3;
  --cba-white:#FFFDF8;
  --cba-burgundy:#7A263A;
  --cba-burgundy-soft:#9E3550;
  --cba-ink:#182934;
  --cba-muted:#53636D;
}

/* reset heavy/conflicting prior blues */
body{
  background:var(--cba-cream) !important;
  color:var(--cba-ink) !important;
}

/* Header */
.site-header{
  background:rgba(248,246,241,.94) !important;
  border-bottom:1px solid rgba(39,61,74,.10) !important;
  backdrop-filter:saturate(140%) blur(12px);
}
.brand{
  color:var(--wild-blue-deep) !important;
}
.site-nav a{
  color:var(--cba-ink) !important;
}
.nav-cta{
  background:var(--wild-blue) !important;
  color:#fff !important;
  border-color:var(--wild-blue) !important;
}

/* Global typography: reduce oversized/awkward stacking */
h1,h2{
  font-family:Georgia, "Times New Roman", serif !important;
  letter-spacing:-0.025em !important;
}
h1{
  font-size:clamp(56px,7.2vw,104px) !important;
  line-height:.96 !important;
}
h2,
.section-heading h2,
.gap-copy h2,
.why-intro h2,
.section-final h2,
.cta-panel h2{
  font-size:clamp(42px,4.5vw,68px) !important;
  line-height:1.02 !important;
  max-width:900px !important;
}
p{
  font-size:17px !important;
  line-height:1.68 !important;
}
.eyebrow{
  font-size:12px !important;
  letter-spacing:.18em !important;
}

/* Hero: keep premium blue, less oppressive, text aligned to page grid */
.hero{
  background:var(--wild-blue-deep) !important;
}
.hero-media,
.hero-bg{
  filter:brightness(.96) saturate(.88) contrast(.98) !important;
}
.hero-overlay{
  background:
    linear-gradient(90deg, rgba(0,46,64,.86) 0%, rgba(0,46,64,.72) 42%, rgba(0,46,64,.38) 73%, rgba(0,46,64,.20) 100%),
    linear-gradient(180deg, rgba(0,46,64,.08) 0%, rgba(0,46,64,.46) 100%) !important;
}
.hero-content{
  width:min(calc(100% - 72px), 1200px) !important;
  max-width:1200px !important;
  margin-left:auto !important;
  margin-right:auto !important;
  padding-left:0 !important;
  padding-right:0 !important;
  text-align:left !important;
}
.hero h1{
  color:#fff !important;
  max-width:820px !important;
}
.hero-subtitle{
  max-width:720px !important;
  color:rgba(255,255,255,.88) !important;
}
.hero-supporting{
  max-width:680px !important;
  color:rgba(255,255,255,.70) !important;
}
.hero .eyebrow{
  color:#E8DED4 !important;
}

/* Section rhythm and backgrounds */
.section-gap,
.section-where,
.section-stories{
  background:var(--cba-cream) !important;
}
.section-journey,
.section-ground,
.section-why,
.section-final,
.section-contact,
.final-cta{
  background:var(--wild-blue) !important;
}
.section{
  padding-top:96px !important;
  padding-bottom:96px !important;
}
.section-heading{
  margin-bottom:54px !important;
  max-width:1100px !important;
}
.section-heading h2{
  margin-bottom:18px !important;
}
.section-heading p{
  max-width:760px !important;
  color:var(--cba-muted) !important;
}
.section-journey .section-heading p,
.section-ground .section-heading p,
.section-why p,
.section-final p,
.section-contact p{
  color:rgba(255,255,255,.78) !important;
}
.section-journey h2,
.section-ground h2,
.section-why h2,
.section-final h2,
.section-contact h2,
.section-journey .section-heading h2,
.section-ground .section-heading h2,
.why-intro h2{
  color:#fff !important;
}
.section-journey .eyebrow,
.section-ground .eyebrow,
.section-why .eyebrow,
.section-final .eyebrow,
.section-contact .eyebrow,
.eyebrow.on-dark,
.eyebrow.light{
  color:#E8DED4 !important;
}
.eyebrow.accent{
  color:var(--cba-burgundy) !important;
}

/* Gap: cleaner image/text balance */
.gap-layout{
  grid-template-columns:1fr 1fr !important;
  gap:72px !important;
  align-items:center !important;
}
.gap-copy h2{
  max-width:660px !important;
}
.gap-copy p{
  max-width:640px !important;
  color:var(--cba-muted) !important;
}
.gap-visual img,
.gap-image img{
  min-height:520px !important;
  height:520px !important;
  object-fit:cover !important;
  filter:brightness(1.04) saturate(.90) contrast(.98) !important;
}
.gap-visual figcaption{
  background:rgba(255,253,248,.94) !important;
  color:var(--cba-ink) !important;
}

/* Journey: clearer, no random cramped cards */
.section-journey .journey-band{
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
}
.section-journey .journey-banner{
  display:none !important;
}
.section-journey .journey-grid{
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:18px !important;
  padding:0 !important;
  margin-top:42px !important;
}
.section-journey .journey-grid::before{
  display:none !important;
}
.section-journey .journey-card{
  background:rgba(255,255,255,.07) !important;
  border:1px solid rgba(255,255,255,.16) !important;
  border-radius:2px !important;
  padding:30px 26px 32px !important;
  min-height:252px !important;
}
.section-journey .step-no{
  background:transparent !important;
  box-shadow:none !important;
  color:#E8DED4 !important;
  width:auto !important;
  height:auto !important;
  border:0 !important;
  justify-content:flex-start !important;
  font-size:20px !important;
  font-weight:600 !important;
}
.section-journey .journey-card h3{
  color:#fff !important;
  font-size:25px !important;
  line-height:1.13 !important;
}
.section-journey .journey-card p{
  color:rgba(255,255,255,.76) !important;
  line-height:1.55 !important;
}

/* WHERE: editorial four-panel layout, aligned and readable */
.section-where .section-heading h2{
  max-width:780px !important;
}
.section-where .sector-grid{
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:3px !important;
  align-items:stretch !important;
}
.section-where .sector-card{
  position:relative !important;
  min-height:620px !important;
  height:620px !important;
  border-radius:0 !important;
  overflow:hidden !important;
  background:var(--wild-blue-deep) !important;
  box-shadow:none !important;
}
.section-where .sector-card img{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  filter:brightness(1.02) saturate(.88) contrast(.98) !important;
  opacity:.84 !important;
}
.section-where .sector-card:hover img{
  opacity:.72 !important;
  transform:scale(1.025) !important;
}
.section-where .sector-card-body{
  position:absolute !important;
  inset:auto 0 0 0 !important;
  padding:24px 24px 28px !important;
  background:linear-gradient(to top, rgba(0,46,64,.93) 0%, rgba(0,46,64,.70) 42%, rgba(0,46,64,.22) 72%, rgba(0,46,64,0) 100%) !important;
}
.section-where .card-label{
  color:#D07A8B !important;
  font-size:12px !important;
  letter-spacing:.16em !important;
  margin-bottom:14px !important;
}
.section-where .sector-card h3{
  color:#fff !important;
  font-size:clamp(26px,2vw,34px) !important;
  line-height:1.08 !important;
  max-width:12ch !important;
  margin-bottom:12px !important;
}
.section-where .sector-card p{
  color:rgba(255,255,255,.82) !important;
  font-size:16px !important;
  line-height:1.55 !important;
  max-width:22ch !important;
}

/* GROUND: reference layout 2 large + 3 small */
.section-ground .ground-grid{
  display:grid !important;
  grid-template-columns:repeat(6,minmax(0,1fr)) !important;
  gap:3px !important;
}
.section-ground .scene-card{
  position:relative !important;
  overflow:hidden !important;
  min-height:310px !important;
  height:310px !important;
  grid-column:span 2 !important;
  background:var(--wild-blue-deep) !important;
  border-radius:0 !important;
  box-shadow:none !important;
}
.section-ground .scene-card-large{
  grid-column:span 3 !important;
  min-height:410px !important;
  height:410px !important;
}
.section-ground .scene-card img{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  filter:brightness(1.02) saturate(.88) contrast(.98) !important;
  opacity:.84 !important;
}
.section-ground .scene-card:hover img{
  opacity:.72 !important;
}
.section-ground .scene-copy{
  position:absolute !important;
  inset:auto 0 0 0 !important;
  padding:26px 28px 28px !important;
  background:linear-gradient(to top, rgba(0,46,64,.91) 0%, rgba(0,46,64,.62) 45%, rgba(0,46,64,.15) 74%, rgba(0,46,64,0) 100%) !important;
}
.section-ground .scene-copy h3{
  color:#fff !important;
  font-size:clamp(24px,2vw,32px) !important;
  line-height:1.1 !important;
  margin-bottom:10px !important;
}
.section-ground .scene-copy p{
  color:rgba(255,255,255,.80) !important;
  font-size:16px !important;
  line-height:1.55 !important;
  max-width:40ch !important;
}

/* Stories: calmer, no unnecessary image heaviness */
.section-stories .story-body h3{
  font-size:24px !important;
  line-height:1.18 !important;
  font-weight:500 !important;
}
.section-stories .story-card{
  background:var(--cba-white) !important;
  box-shadow:none !important;
  border:1px solid rgba(39,61,74,.08) !important;
}

/* Why / CTA */
.section-why .why-layout{
  display:grid !important;
  grid-template-columns:1fr !important;
  gap:36px !important;
}
.section-why .why-intro{
  max-width:960px !important;
}
.section-why .why-intro h2{
  max-width:820px !important;
}
.section-why .why-body{
  display:block !important;
  max-width:760px !important;
}
.section-why .why-body p + p{
  margin-top:16px !important;
}
.section-why .why-cards{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:20px !important;
}
.section-why .why-card{
  background:rgba(255,255,255,.06) !important;
  border:1px solid rgba(255,255,255,.14) !important;
  border-radius:2px !important;
  padding:30px 28px 32px !important;
  min-height:250px !important;
}
.section-why .why-card h3{
  color:#fff !important;
  font-size:28px !important;
  line-height:1.12 !important;
}
.section-why .why-card p{
  color:rgba(255,255,255,.76) !important;
}

.section-contact,
.section-final,
.final-cta{
  padding-top:72px !important;
  padding-bottom:80px !important;
}
.cta-panel,
.section-final .content{
  width:min(calc(100% - 72px),1200px) !important;
  max-width:1200px !important;
  margin-left:auto !important;
  margin-right:auto !important;
  text-align:left !important;
}
.cta-panel h2,
.section-final h2{
  max-width:760px !important;
}
.cta-panel p,
.section-final p{
  max-width:700px !important;
  color:rgba(255,255,255,.78) !important;
}

/* responsive QA */
@media(max-width:1100px){
  .section-where .sector-grid{grid-template-columns:repeat(2,minmax(0,1fr)) !important;}
  .section-where .sector-card{height:560px !important;min-height:560px !important;}
  .section-ground .ground-grid{grid-template-columns:repeat(2,minmax(0,1fr)) !important;}
  .section-ground .scene-card,
  .section-ground .scene-card-large{grid-column:span 1 !important;height:340px !important;min-height:340px !important;}
  .section-journey .journey-grid{grid-template-columns:repeat(2,minmax(0,1fr)) !important;}
  .section-why .why-cards{grid-template-columns:1fr !important;}
}
@media(max-width:720px){
  .hero-content,
  .cta-panel,
  .section-final .content{
    width:min(calc(100% - 34px),1200px) !important;
  }
  .section{padding-top:72px !important;padding-bottom:72px !important;}
  .section-where .sector-grid,
  .section-ground .ground-grid,
  .section-journey .journey-grid{
    grid-template-columns:1fr !important;
  }
  .section-where .sector-card{height:500px !important;min-height:500px !important;}
  .section-ground .scene-card,
  .section-ground .scene-card-large{height:320px !important;min-height:320px !important;}
  h2,
  .section-heading h2,
  .gap-copy h2,
  .why-intro h2{
    font-size:clamp(36px,10vw,52px) !important;
  }
}


/* ===== V21 CLEAN DESIGN SYSTEM OVERRIDE ===== */
:root{
  --brand-blue:#102F3D;
  --brand-blue-deep:#082736;
  --brand-blue-soft:#1A4050;
  --brand-red:#7A263A;
  --brand-red-hover:#933248;
  --brand-ivory:#F8F6F1;
  --brand-white:#FFFDF8;
  --brand-ink:#172A37;
  --brand-muted:#586873;
}

/* Palette lock: blue / burgundy / ivory / white only */
body{background:var(--brand-ivory)!important;color:var(--brand-ink)!important;}
.site-header{background:rgba(248,246,241,.96)!important;border-bottom:1px solid rgba(16,47,61,.12)!important;}
.brand{color:var(--brand-blue-deep)!important;}
.site-nav a{color:var(--brand-ink)!important;}
.nav-cta,.site-nav .nav-cta{background:var(--brand-red)!important;border-color:var(--brand-red)!important;color:#fff!important;}
.nav-cta:hover,.btn-primary:hover{background:var(--brand-red-hover)!important;}

/* Typography reset: smaller, lighter, cleaner */
h1,h2{font-family:Georgia,'Times New Roman',serif!important;font-weight:500!important;letter-spacing:-.018em!important;}
h1{font-size:clamp(54px,6.5vw,92px)!important;line-height:.98!important;max-width:780px!important;}
h2,.section-heading h2,.gap-copy h2,.why-intro h2,.cta-panel h2,.section-final h2,.final-cta h2{
  font-size:clamp(38px,3.6vw,56px)!important;
  line-height:1.06!important;
  font-weight:500!important;
  max-width:1160px!important;
}
h3,.sector-card h3,.scene-copy h3,.why-card h3,.story-body h3,.story-card-copy h3{font-weight:500!important;}
p,.section-heading p,.hero-subtitle,.hero-supporting{
  font-size:16px!important;
  line-height:1.66!important;
  font-weight:400!important;
}
.eyebrow{font-size:11px!important;letter-spacing:.18em!important;font-weight:700!important;}

/* Dark sections */
.hero,.section-journey,.section-ground,.section-why,.section-contact,.section-final,.final-cta{
  background:var(--brand-blue)!important;
}
.hero{background:var(--brand-blue-deep)!important;}
.hero-overlay{
  background:
  linear-gradient(90deg,rgba(8,39,54,.88) 0%,rgba(8,39,54,.72) 42%,rgba(8,39,54,.42) 73%,rgba(8,39,54,.26) 100%),
  linear-gradient(180deg,rgba(8,39,54,.12) 0%,rgba(8,39,54,.52) 100%)!important;
}
.hero-media,.hero-bg{filter:brightness(.95) saturate(.9) contrast(.98)!important;}
.hero h1,.section-journey h2,.section-ground h2,.section-why h2,.section-contact h2,.section-final h2,.final-cta h2,.why-intro h2{color:#fff!important;}
.section-journey .eyebrow,.section-ground .eyebrow,.section-why .eyebrow,.section-contact .eyebrow,.section-final .eyebrow,.final-cta .eyebrow,.eyebrow.on-dark,.eyebrow.light{color:#F0E5DC!important;}
.hero-subtitle,.section-journey .section-heading p,.section-ground .section-heading p,.section-why p,.section-contact p,.section-final p,.final-cta p{color:rgba(255,255,255,.82)!important;}

/* Light sections */
.section-gap,.section-where,.section-stories{background:var(--brand-ivory)!important;}
.eyebrow.accent,.section-gap .eyebrow,.section-where .eyebrow,.section-stories .eyebrow{color:var(--brand-red)!important;}

/* Alignment and line length QA */
.container,.hero-content,.cta-panel,.section-final .content{max-width:1200px!important;}
.section-heading{max-width:1200px!important;margin-bottom:48px!important;}
.section-heading h2{max-width:1200px!important;margin-bottom:16px!important;}
.section-heading p{max-width:980px!important;color:var(--brand-muted)!important;}
.section-where .section-heading h2,.section-ground .section-heading h2{
  max-width:1200px!important;
  white-space:normal!important;
}
.section-where .section-heading p,.section-ground .section-heading p{max-width:1040px!important;}

.hero-content{
  width:min(calc(100% - 72px),1200px)!important;
  margin-left:auto!important;margin-right:auto!important;
  padding-left:0!important;padding-right:0!important;text-align:left!important;
}
.hero-subtitle{max-width:760px!important;}
.hero-supporting{max-width:720px!important;color:rgba(255,255,255,.70)!important;}
.btn-primary,.button-primary{background:var(--brand-red)!important;border-color:var(--brand-red)!important;color:#fff!important;}

/* Fix Where section: one-line desktop heading where possible, correct red labels */
.section-where .section-heading h2{font-size:clamp(40px,3.35vw,54px)!important;line-height:1.06!important;}
.section-where .sector-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:3px!important;}
.section-where .sector-card{
  height:600px!important;min-height:600px!important;border-radius:0!important;background:var(--brand-blue-deep)!important;box-shadow:none!important;
}
.section-where .sector-card img{opacity:.86!important;filter:brightness(.98) saturate(.88) contrast(.98)!important;}
.section-where .sector-card-body{
  background:linear-gradient(to top,rgba(8,39,54,.92) 0%,rgba(8,39,54,.70) 42%,rgba(8,39,54,.20) 74%,rgba(8,39,54,0) 100%)!important;
  padding:24px 22px 26px!important;
}
.section-where .card-label{color:var(--brand-red-hover)!important;font-size:11px!important;letter-spacing:.16em!important;}
.section-where .sector-card h3{color:#fff!important;font-size:clamp(24px,1.8vw,30px)!important;line-height:1.10!important;max-width:13ch!important;}
.section-where .sector-card p{color:rgba(255,255,255,.82)!important;font-size:15px!important;line-height:1.55!important;max-width:23ch!important;}

/* Ground section: same system, better hierarchy */
.section-ground{background:var(--brand-blue)!important;}
.section-ground .scene-card{background:var(--brand-blue-deep)!important;}
.section-ground .scene-card img{opacity:.86!important;filter:brightness(.98) saturate(.88) contrast(.98)!important;}
.section-ground .scene-copy{
  background:linear-gradient(to top,rgba(8,39,54,.92) 0%,rgba(8,39,54,.68) 42%,rgba(8,39,54,.18) 74%,rgba(8,39,54,0) 100%)!important;
}
.section-ground .scene-copy h3{color:#fff!important;font-size:clamp(23px,1.8vw,30px)!important;}
.section-ground .scene-copy p{color:rgba(255,255,255,.82)!important;font-size:15px!important;line-height:1.55!important;}

/* Journey less blocky */
.section-journey .journey-card{
  background:rgba(255,255,255,.055)!important;
  border:1px solid rgba(255,255,255,.14)!important;
}
.section-journey .step-no{color:#F0E5DC!important;}
.section-journey .journey-card h3{color:#fff!important;font-size:22px!important;line-height:1.16!important;}
.section-journey .journey-card p{color:rgba(255,255,255,.76)!important;font-size:15px!important;line-height:1.58!important;}

/* Stories quieter */
.story-body h3,.story-card-copy h3{font-size:22px!important;line-height:1.22!important;}
.story-meta{color:var(--brand-muted)!important;}

/* Why and CTA */
.section-why .why-layout{grid-template-columns:1fr!important;gap:34px!important;}
.section-why .why-intro{max-width:920px!important;}
.section-why .why-intro h2{max-width:860px!important;}
.section-why .why-body{display:block!important;max-width:760px!important;}
.section-why .why-body p + p{margin-top:14px!important;}
.section-why .why-cards{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:18px!important;}
.section-why .why-card{
  background:rgba(255,255,255,.055)!important;border:1px solid rgba(255,255,255,.14)!important;border-radius:0!important;min-height:230px!important;padding:28px 26px!important;
}
.section-why .why-card h3{color:#fff!important;font-size:24px!important;}
.section-why .why-card p{color:rgba(255,255,255,.78)!important;font-size:15px!important;}

.section-contact,.section-final,.final-cta{padding-top:70px!important;padding-bottom:78px!important;}
.cta-panel,.section-final .content,.cta-inner{
  width:min(calc(100% - 72px),1200px)!important;max-width:1200px!important;margin-left:auto!important;margin-right:auto!important;
  padding-left:0!important;padding-right:0!important;text-align:left!important;background:transparent!important;box-shadow:none!important;
}
.cta-panel h2,.section-final h2,.final-cta h2{max-width:760px!important;font-size:clamp(38px,3.6vw,56px)!important;}
.cta-panel p,.section-final p,.final-cta p{max-width:760px!important;color:rgba(255,255,255,.82)!important;}

/* interaction: subtle, not blocky */
.sector-card,.scene-card,.journey-card,.why-card,.story-card{transition:transform .25s ease,opacity .25s ease,background .25s ease,border-color .25s ease!important;}
.sector-card:hover,.scene-card:hover,.journey-card:hover,.why-card:hover,.story-card:hover{transform:translateY(-4px)!important;}

/* Responsive */
@media(max-width:1100px){
  .section-where .sector-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
  .section-where .sector-card{height:520px!important;min-height:520px!important;}
  .section-ground .ground-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
  .section-ground .scene-card,.section-ground .scene-card-large{grid-column:span 1!important;height:330px!important;min-height:330px!important;}
  .section-journey .journey-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
  .section-why .why-cards{grid-template-columns:1fr!important;}
}
@media(max-width:720px){
  .hero-content,.cta-panel,.section-final .content,.cta-inner{width:min(calc(100% - 34px),1200px)!important;}
  h1{font-size:clamp(46px,13vw,64px)!important;}
  h2,.section-heading h2,.gap-copy h2,.why-intro h2{font-size:clamp(34px,9.5vw,46px)!important;}
  .section-where .sector-grid,.section-ground .ground-grid,.section-journey .journey-grid{grid-template-columns:1fr!important;}
  .section-where .sector-card{height:460px!important;min-height:460px!important;}
  .section-ground .scene-card,.section-ground .scene-card-large{height:320px!important;min-height:320px!important;}
}


/* =========================================================
   V22 QA PASS — navigation, typography, line length, hero, labels, CTA
   ========================================================= */

/* 1. Navigation */
.nav-links, .site-nav {
  gap: 30px !important;
}
.nav-cta, .site-nav .nav-cta {
  background: var(--brand-red, #7A263A) !important;
  color: #fff !important;
  border-color: var(--brand-red, #7A263A) !important;
  box-shadow: none !important;
}

/* 2. Hero: clearer image, less dark, smaller title, consistent left grid */
.hero-bg, .hero-media {
  background-image: url('../images/home/hero.jpg') !important;
  filter: brightness(1.03) saturate(.9) contrast(.98) !important;
}
.hero-shade, .hero-overlay {
  background:
    linear-gradient(90deg, rgba(8,39,54,.78) 0%, rgba(8,39,54,.60) 42%, rgba(8,39,54,.30) 73%, rgba(8,39,54,.16) 100%),
    linear-gradient(180deg, rgba(8,39,54,.08) 0%, rgba(8,39,54,.44) 100%) !important;
}
.hero {
  min-height: 82svh !important;
}
.hero-content, .hero-inner {
  width: min(calc(100% - 96px), 1200px) !important;
  max-width: 1200px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  text-align: left !important;
}
.hero h1 {
  font-size: clamp(50px, 5.9vw, 78px) !important;
  line-height: 1.02 !important;
  max-width: 1050px !important;
  font-weight: 500 !important;
}
.hero-subtitle {
  max-width: 900px !important;
  font-size: 15.8px !important;
  line-height: 1.7 !important;
}
.hero-supporting, .hero-note {
  max-width: 920px !important;
  font-size: 13.8px !important;
}

/* 3. Global typography: stop oversized wrapping */
h2,
.section-heading h2,
.section-head h2,
.gap-copy h2,
.why-intro h2,
.why-head h2,
.cta-panel h2,
.section-final h2,
.final-cta h2 {
  font-size: clamp(36px, 3.15vw, 48px) !important;
  line-height: 1.08 !important;
  font-weight: 500 !important;
  max-width: 1200px !important;
}
.section-where .section-heading h2,
.section-where .section-head h2,
.section-ground .section-heading h2,
.section-ground .section-head h2 {
  white-space: nowrap !important;
  max-width: 1200px !important;
  font-size: clamp(36px, 3vw, 46px) !important;
}
.section-heading p,
.section-head p {
  max-width: 1120px !important;
  font-size: 15.5px !important;
  line-height: 1.72 !important;
}
p {
  font-size: 15.5px !important;
  line-height: 1.7 !important;
}

/* 4. The Gap / Why body line lengths: allow natural longer lines */
.gap-copy p {
  max-width: 860px !important;
}
.gap-grid {
  grid-template-columns: 1.08fr .92fr !important;
  gap: 68px !important;
}

/* 5. Why Work With Us: not two cramped columns; more central, readable */
.why-head {
  display: block !important;
  max-width: 1120px !important;
  margin-bottom: 40px !important;
}
.why-head > div:first-child {
  max-width: 1100px !important;
}
.why-head > div:last-child {
  max-width: 980px !important;
  margin-top: 22px !important;
}
.why-head p {
  max-width: 980px !important;
  margin-bottom: 12px !important;
}
.why-grid, .why-cards {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 18px !important;
}
.why-grid article, .why-card {
  min-height: 210px !important;
  padding: 28px 26px !important;
}
.why-grid h3, .why-card h3 {
  font-size: 23px !important;
  line-height: 1.14 !important;
}

/* 6. Where image labels: red must be visible */
.image-card span,
.card-label,
.section-where .card-label {
  color: #F0A2AE !important;
  font-weight: 800 !important;
  opacity: 1 !important;
  text-shadow: 0 1px 8px rgba(0,0,0,.45) !important;
}
.image-card h3,
.section-where .sector-card h3 {
  font-size: clamp(23px, 1.65vw, 28px) !important;
  line-height: 1.12 !important;
  max-width: 14ch !important;
}
.image-card p,
.section-where .sector-card p {
  font-size: 14.5px !important;
  line-height: 1.56 !important;
}

/* 7. Final CTA: not glued to left edge; align with container but give breathing room */
.final-cta .container,
.section-final .content,
.cta-panel,
.cta-inner {
  width: min(calc(100% - 96px), 1200px) !important;
  max-width: 1200px !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  margin-left: auto !important;
  margin-right: auto !important;
  text-align: left !important;
}
.final-cta h2,
.section-final h2,
.cta-panel h2 {
  max-width: 880px !important;
  font-size: clamp(36px, 3.2vw, 48px) !important;
}
.final-cta p,
.section-final p,
.cta-panel p {
  max-width: 920px !important;
}

/* 8. Image readability and interaction */
.image-card img, .sector-card img, .scene-card img {
  filter: brightness(1.04) saturate(.9) contrast(.98) !important;
}
.image-card > div,
.sector-card-body,
.scene-copy {
  background: linear-gradient(to top, rgba(8,39,54,.88) 0%, rgba(8,39,54,.60) 46%, rgba(8,39,54,.16) 74%, rgba(8,39,54,0) 100%) !important;
}
.image-card, .sector-card, .scene-card, .journey-row article, .why-grid article, .story-card {
  transition: transform .25s ease, opacity .25s ease, background .25s ease, border-color .25s ease !important;
}
.image-card:hover, .sector-card:hover, .scene-card:hover, .journey-row article:hover, .why-grid article:hover, .story-card:hover {
  transform: translateY(-4px) !important;
}

/* 9. Responsive guardrails: only allow wrapping on narrower screens */
@media(max-width: 1100px) {
  .section-where .section-heading h2,
  .section-where .section-head h2,
  .section-ground .section-heading h2,
  .section-ground .section-head h2 {
    white-space: normal !important;
  }
  .why-grid, .why-cards {
    grid-template-columns: 1fr !important;
  }
}
@media(max-width: 900px) {
  .hero-content, .hero-inner, .final-cta .container, .section-final .content, .cta-panel, .cta-inner {
    width: min(calc(100% - 34px), 1200px) !important;
  }
  .hero h1 {
    font-size: clamp(44px, 12vw, 64px) !important;
  }
  h2,
  .section-heading h2,
  .section-head h2,
  .gap-copy h2,
  .why-head h2,
  .final-cta h2 {
    font-size: clamp(32px, 9vw, 44px) !important;
    white-space: normal !important;
  }
}


/* ===== V23 focused fixes ===== */

/* 1. Ensure The Journey nav is gone and spacing remains balanced */
.nav-links, .site-nav {
  gap: 32px !important;
}
.nav-links a[href="#journey"],
.site-nav a[href="#journey"] {
  display: none !important;
}

/* 2. Where section red labels: red pill with white text for visibility */
.section-where .card-label,
.section-where .image-card span,
.image-card.tall span {
  display: inline-flex !important;
  align-items: center !important;
  width: fit-content !important;
  background: #7A263A !important;
  color: #FFFFFF !important;
  padding: 7px 10px !important;
  border-radius: 999px !important;
  font-size: 10px !important;
  line-height: 1 !important;
  font-weight: 800 !important;
  letter-spacing: .13em !important;
  text-transform: uppercase !important;
  text-shadow: none !important;
  margin-bottom: 14px !important;
  opacity: 1 !important;
}

/* 3. CTA: move content inward, not glued to the left edge */
.final-cta .container,
.section-final .content,
.cta-panel,
.cta-inner {
  width: min(calc(100% - 160px), 1080px) !important;
  max-width: 1080px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}
.final-cta h2,
.section-final h2,
.cta-panel h2 {
  max-width: 820px !important;
}
.final-cta p,
.section-final p,
.cta-panel p {
  max-width: 820px !important;
}

/* 4. Footer: make it feel like a real website footer */
.site-footer,
footer {
  background: #061B26 !important;
  color: rgba(255,255,255,.70) !important;
  padding: 42px 0 !important;
  border-top: 1px solid rgba(255,255,255,.08) !important;
}
.footer-inner {
  display: grid !important;
  grid-template-columns: 1fr auto !important;
  grid-template-areas:
    "brand links"
    "legal legal" !important;
  gap: 18px 32px !important;
  align-items: center !important;
}
.footer-brand {
  grid-area: brand !important;
  font-family: Georgia, "Times New Roman", serif !important;
  font-size: 18px !important;
  color: rgba(255,255,255,.86) !important;
}
.footer-brand strong {
  color: #FFFFFF !important;
}
.footer-links {
  grid-area: links !important;
  display: flex !important;
  gap: 22px !important;
  flex-wrap: wrap !important;
  justify-content: flex-end !important;
}
.footer-links a {
  color: rgba(255,255,255,.68) !important;
  font-size: 12px !important;
  text-transform: uppercase !important;
  letter-spacing: .08em !important;
}
.footer-links a:hover {
  color: #FFFFFF !important;
}
.footer-legal {
  grid-area: legal !important;
  padding-top: 16px !important;
  border-top: 1px solid rgba(255,255,255,.08) !important;
  color: rgba(255,255,255,.46) !important;
  font-size: 12px !important;
}

/* 5. Responsive CTA/footer */
@media(max-width:900px){
  .final-cta .container,
  .section-final .content,
  .cta-panel,
  .cta-inner {
    width: min(calc(100% - 48px), 1080px) !important;
  }
  .footer-inner {
    grid-template-columns: 1fr !important;
    grid-template-areas:
      "brand"
      "links"
      "legal" !important;
  }
  .footer-links {
    justify-content: flex-start !important;
    gap: 14px 20px !important;
  }
}
@media(max-width:640px){
  .final-cta .container,
  .section-final .content,
  .cta-panel,
  .cta-inner {
    width: min(calc(100% - 34px), 1080px) !important;
  }
}


/* =====================================================
   V24 targeted QA: CTA position, nav cleanup, visible red labels, footer, dynamic scroll feel
   ===================================================== */

/* Kill leftover The Journey nav even if HTML removal misses it */
.nav-links a[href="#journey"],
.site-nav a[href="#journey"]{display:none!important}

/* More premium dynamic feel */
html{scroll-behavior:smooth}
.site-header,.nav{transition:background .35s ease, box-shadow .35s ease, border-color .35s ease, transform .35s ease!important}
.site-header.scrolled,.nav.scrolled,.nav.up{
  background:rgba(8,39,54,.96)!important;
  border-bottom-color:rgba(255,255,255,.08)!important;
  box-shadow:0 10px 30px rgba(0,0,0,.18)!important;
}
.site-header.scrolled .brand,
.site-header.scrolled .site-nav a,
.nav.scrolled .brand,
.nav.scrolled .site-nav a,
.nav.up .brand,
.nav.up .nav-links a{
  color:rgba(255,255,255,.82)!important;
}
.site-header.scrolled .nav-cta,
.nav.scrolled .nav-cta,
.nav.up .nav-cta,
.nav.up .nav-btn{
  background:#7A263A!important;
  color:#fff!important;
}

/* Reveal animation: add smoother section entrance */
.reveal,.rv,.fade-up{
  opacity:0;
  transform:translateY(28px);
  transition:opacity .78s cubic-bezier(.22,1,.36,1), transform .78s cubic-bezier(.22,1,.36,1)!important;
}
.reveal.visible,.rv.in,.fade-up.in{
  opacity:1;
  transform:none;
}

/* Image/cards micro interaction */
.sector-card,.scene-card,.image-card,.story-card,.journey-card,.why-card,.why-grid article,.stories-grid article{
  transition:transform .28s ease, box-shadow .28s ease, border-color .28s ease, opacity .28s ease!important;
}
.sector-card:hover,.scene-card:hover,.image-card:hover,.story-card:hover,.journey-card:hover,.why-card:hover,.why-grid article:hover,.stories-grid article:hover{
  transform:translateY(-5px)!important;
}
.sector-card img,.scene-card img,.image-card img{
  transition:transform .55s ease, opacity .35s ease, filter .35s ease!important;
}
.sector-card:hover img,.scene-card:hover img,.image-card:hover img{
  transform:scale(1.035)!important;
}

/* Red labels in Where: use red badge + white text for legibility */
.section-where .card-label,
.section-where .image-card span,
.image-card.tall span,
.s-card .s-lbl{
  display:inline-flex!important;
  align-items:center!important;
  width:fit-content!important;
  background:#7A263A!important;
  color:#fff!important;
  padding:7px 10px!important;
  border-radius:999px!important;
  font-size:10px!important;
  line-height:1!important;
  font-weight:800!important;
  letter-spacing:.13em!important;
  text-transform:uppercase!important;
  text-shadow:none!important;
  margin-bottom:14px!important;
  opacity:1!important;
}

/* FINAL CTA: full reset — no more cropped/left-edge content */
.final-cta,
.section-final,
.section-contact{
  position:relative!important;
  overflow:hidden!important;
  background:#082736!important;
  padding:92px 0 100px!important;
  text-align:left!important;
  display:block!important;
}
.final-cta::before,
.section-final::before{
  content:"";
  position:absolute;
  left:0;right:0;top:48%;
  height:1px;
  background:linear-gradient(90deg,transparent,#7A263A 28%,#7A263A 72%,transparent);
  opacity:.28;
}
.final-cta .container,
.final-cta .cta-inner,
.section-final .content,
.section-final .container,
.section-contact .cta-panel,
.section-contact .container{
  box-sizing:border-box!important;
  position:relative!important;
  z-index:2!important;
  width:min(100% - 180px, 980px)!important;
  max-width:980px!important;
  margin-left:auto!important;
  margin-right:auto!important;
  padding-left:0!important;
  padding-right:0!important;
  transform:none!important;
  left:auto!important;
  right:auto!important;
  text-align:left!important;
  background:transparent!important;
  box-shadow:none!important;
}
.final-cta .eyebrow,
.section-final .eyebrow,
.section-contact .eyebrow,
.final-cta .sec-eye{
  color:#B5485E!important;
  margin-bottom:20px!important;
}
.final-cta h2,
.section-final h2,
.section-contact h2,
.cta-panel h2{
  max-width:860px!important;
  font-size:clamp(38px,4.2vw,58px)!important;
  line-height:1.08!important;
  margin:0 0 22px!important;
  color:#fff!important;
  text-align:left!important;
}
.final-cta p,
.section-final p,
.section-contact p,
.cta-panel p{
  max-width:820px!important;
  margin:0 0 34px!important;
  color:rgba(255,255,255,.78)!important;
  text-align:left!important;
}
.final-cta .button,
.final-cta .btn-p,
.section-final .button,
.section-final .btn-primary,
.section-contact .button,
.section-contact .btn-primary{
  background:#7A263A!important;
  color:#fff!important;
}

/* Footer: real footer */
.site-footer{
  background:#061B26!important;
  color:rgba(255,255,255,.65)!important;
  padding:42px 0!important;
  border-top:1px solid rgba(255,255,255,.08)!important;
}
.footer-grid{
  display:grid!important;
  grid-template-columns:1fr auto!important;
  grid-template-areas:"brand nav" "legal legal"!important;
  align-items:center!important;
  gap:18px 32px!important;
}
.footer-brand{grid-area:brand!important;font-family:Georgia,'Times New Roman',serif!important;font-size:18px!important;color:rgba(255,255,255,.86)!important}
.footer-brand span{color:#fff!important}
.footer-nav{grid-area:nav!important;display:flex!important;gap:22px!important;flex-wrap:wrap!important;justify-content:flex-end!important}
.footer-nav a{font-size:12px!important;letter-spacing:.08em!important;text-transform:uppercase!important;color:rgba(255,255,255,.66)!important;text-decoration:none!important}
.footer-nav a:hover{color:#fff!important}
.footer-legal{grid-area:legal!important;padding-top:16px!important;border-top:1px solid rgba(255,255,255,.08)!important;font-size:12px!important;color:rgba(255,255,255,.44)!important}

/* Responsive CTA and footer */
@media(max-width:900px){
  .final-cta .container,
  .final-cta .cta-inner,
  .section-final .content,
  .section-final .container,
  .section-contact .cta-panel,
  .section-contact .container{
    width:min(100% - 48px, 980px)!important;
  }
  .footer-grid{grid-template-columns:1fr!important;grid-template-areas:"brand" "nav" "legal"!important}
  .footer-nav{justify-content:flex-start!important;gap:14px 20px!important}
}
@media(max-width:640px){
  .final-cta .container,
  .final-cta .cta-inner,
  .section-final .content,
  .section-final .container,
  .section-contact .cta-panel,
  .section-contact .container{
    width:min(100% - 34px, 980px)!important;
  }
  .final-cta h2,.section-final h2,.section-contact h2,.cta-panel h2{
    font-size:clamp(34px,10vw,46px)!important;
  }
}


/* =====================================================
   V25 layout and motion QA
   Fixes: CTA balance, Gap proportions, Why composition, footer completeness, stronger scroll flow
   ===================================================== */

/* Global section flow: less blocky, clearer rhythm */
.section, section.pad {
  position: relative !important;
}
.container {
  max-width: 1200px !important;
}

/* 1) Final CTA: not edge, not over-centered. Use page grid with a controlled text width. */
.final-cta,
.section-final,
.section-contact {
  padding: 88px 0 96px !important;
  background: #082736 !important;
}
.final-cta .container,
.final-cta .cta-inner,
.section-final .content,
.section-final .container,
.section-contact .cta-panel,
.section-contact .container {
  width: min(calc(100% - 120px), 1200px) !important;
  max-width: 1200px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  text-align: left !important;
}
.final-cta h2,
.section-final h2,
.section-contact h2,
.cta-panel h2 {
  max-width: 920px !important;
  font-size: clamp(38px, 3.8vw, 54px) !important;
  line-height: 1.08 !important;
}
.final-cta p,
.section-final p,
.section-contact p,
.cta-panel p {
  max-width: 900px !important;
  margin-bottom: 32px !important;
}

/* 2) The Gap: reduce oversized feeling, square/clean corners, more balanced content */
.section-gap,
.gap {
  padding-top: 94px !important;
  padding-bottom: 94px !important;
}
.gap-grid,
.gap-layout {
  width: min(100%, 1120px) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  display: grid !important;
  grid-template-columns: 0.96fr 0.88fr !important;
  gap: 64px !important;
  align-items: center !important;
}
.gap-copy h2,
.gap-left .sec-h2 {
  max-width: 620px !important;
  font-size: clamp(36px, 3.3vw, 50px) !important;
  line-height: 1.08 !important;
}
.gap-copy p,
.gap-body p {
  max-width: 640px !important;
  font-size: 15.5px !important;
}
.gap-copy blockquote,
.pull p {
  font-size: 22px !important;
}
.gap-image img,
.gap-visual img,
.gap-img {
  height: 460px !important;
  min-height: 0 !important;
  border-radius: 6px !important;
  object-fit: cover !important;
  box-shadow: 0 18px 44px rgba(16,47,61,.14) !important;
}
.gap-image figcaption,
.gap-visual figcaption,
.gap-image-caption,
.gap-cap {
  border-radius: 0 !important;
}

/* 3) Why Work With Us: improve composition and reduce awkward empty space */
.section-why,
.why {
  padding-top: 92px !important;
  padding-bottom: 96px !important;
  background: #082736 !important;
}
.why-head,
.why-grid {
  width: min(100%, 1200px) !important;
  margin-left: auto !important;
  margin-right: auto !important;
}
.why-head {
  display: grid !important;
  grid-template-columns: 0.72fr 0.78fr !important;
  gap: 70px !important;
  align-items: end !important;
  margin-bottom: 52px !important;
}
.why-head h2,
.why-left .sec-h2,
.why-intro h2 {
  font-size: clamp(36px, 3.7vw, 54px) !important;
  line-height: 1.08 !important;
  max-width: 740px !important;
}
.why-head p,
.why-left p,
.why-body p {
  max-width: 680px !important;
  color: rgba(255,255,255,.76) !important;
}
.why-grid,
.why-cards {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 20px !important;
}
.why-grid article,
.why-card,
.why-c {
  min-height: 220px !important;
  padding: 30px 28px !important;
  background: rgba(255,255,255,.045) !important;
  border: 1px solid rgba(255,255,255,.14) !important;
  border-left: 2px solid #7A263A !important;
}
.why-grid h3,
.why-card h3,
.why-c h3 {
  font-size: 24px !important;
  line-height: 1.15 !important;
}

/* 4) Visible red labels: badge style remains */
.section-where .card-label,
.section-where .image-card span,
.image-card.tall span,
.s-card .s-lbl {
  background: #7A263A !important;
  color: #fff !important;
  padding: 7px 10px !important;
  border-radius: 999px !important;
  font-weight: 800 !important;
  text-shadow: none !important;
}

/* 5) Stronger flow / scroll interaction */
.flow-reveal {
  opacity: 0;
  transform: translateY(34px);
  transition: opacity .85s cubic-bezier(.22,1,.36,1), transform .85s cubic-bezier(.22,1,.36,1);
}
.flow-reveal.in {
  opacity: 1;
  transform: translateY(0);
}
.flow-reveal[data-delay="1"]{transition-delay:.08s}
.flow-reveal[data-delay="2"]{transition-delay:.16s}
.flow-reveal[data-delay="3"]{transition-delay:.24s}
.flow-reveal[data-delay="4"]{transition-delay:.32s}

/* Subtle parallax-like depth */
.hero-bg,
.hero-media {
  transform: scale(1.04);
  transition: transform 1.2s ease-out;
}
body.loaded .hero-bg,
body.loaded .hero-media {
  transform: scale(1);
}
.image-card,
.sector-card,
.scene-card,
.stories-grid article,
.story-card,
.why-grid article {
  will-change: transform;
}
.image-card:hover,
.sector-card:hover,
.scene-card:hover,
.stories-grid article:hover,
.story-card:hover,
.why-grid article:hover {
  transform: translateY(-5px) !important;
}

/* 6) Footer completeness */
.site-footer {
  background: #061B26 !important;
  color: rgba(255,255,255,.66) !important;
  padding: 48px 0 !important;
  border-top: 1px solid rgba(255,255,255,.08) !important;
}

/* Align the three lower On-the-Ground copy blocks despite different title lengths. */
@media (min-width: 1025px) {
  .section-ground .ground-grid > .scene-card:not(.scene-card-large) .scene-copy {
    min-height: 200px !important;
    box-sizing: border-box !important;
  }
}
.footer-grid {
  display: grid !important;
  grid-template-columns: 1fr auto !important;
  grid-template-areas:
    "brand nav"
    "contact nav"
    "legal legal" !important;
  gap: 14px 34px !important;
  align-items: start !important;
}
.footer-brand {
  grid-area: brand !important;
  font-family: Georgia, "Times New Roman", serif !important;
  color: rgba(255,255,255,.9) !important;
  font-size: 19px !important;
}
.footer-brand span { color: #fff !important; }
.footer-contact {
  grid-area: contact !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 4px !important;
  font-size: 13px !important;
  color: rgba(255,255,255,.52) !important;
}
.footer-contact a {
  color: rgba(255,255,255,.72) !important;
}
.footer-nav {
  grid-area: nav !important;
  display: grid !important;
  gap: 9px !important;
  justify-items: end !important;
}
.footer-nav a {
  color: rgba(255,255,255,.66) !important;
  font-size: 12px !important;
  text-transform: uppercase !important;
  letter-spacing: .08em !important;
  text-decoration: none !important;
}
.footer-nav a:hover { color: #fff !important; }
.footer-legal {
  grid-area: legal !important;
  display: flex !important;
  justify-content: space-between !important;
  gap: 20px !important;
  flex-wrap: wrap !important;
  padding-top: 18px !important;
  border-top: 1px solid rgba(255,255,255,.08) !important;
  color: rgba(255,255,255,.42) !important;
  font-size: 12px !important;
}

/* Responsive */
@media(max-width: 1100px){
  .why-head {
    grid-template-columns: 1fr !important;
    gap: 24px !important;
  }
  .why-grid,
  .why-cards {
    grid-template-columns: 1fr !important;
  }
}
@media(max-width: 960px){
  .gap-grid,
  .gap-layout {
    grid-template-columns: 1fr !important;
    gap: 42px !important;
  }
  .final-cta .container,
  .final-cta .cta-inner,
  .section-final .content,
  .section-final .container,
  .section-contact .cta-panel,
  .section-contact .container {
    width: min(calc(100% - 48px), 1200px) !important;
  }
  .footer-grid {
    grid-template-columns: 1fr !important;
    grid-template-areas:
      "brand"
      "contact"
      "nav"
      "legal" !important;
  }
  .footer-nav {
    justify-items: start !important;
  }
}
@media(max-width: 640px){
  .final-cta .container,
  .final-cta .cta-inner,
  .section-final .content,
  .section-final .container,
  .section-contact .cta-panel,
  .section-contact .container {
    width: min(calc(100% - 34px), 1200px) !important;
  }
  .gap-image img,
  .gap-visual img,
  .gap-img {
    height: 360px !important;
  }
}


/* =====================================================
   V26: Why section rebuilt, footer visible, smoother section flow
   ===================================================== */

/* Smooth transitions between major colour blocks */
.section, section.pad, .section-dark, .section-gap, .section-where, .section-stories {
  position: relative !important;
}
.section-dark::before,
.final-cta::before {
  content: "";
  position: absolute;
  left: 0; right: 0; top: 0;
  height: 52px;
  pointer-events: none;
  background: linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,0));
  opacity: .45;
}
.section-gap + .section-dark,
.section-where + .section-dark,
.section-stories + .section-dark {
  box-shadow: inset 0 34px 60px rgba(0,0,0,.08) !important;
}

/* Make cards feel less block-pasted */
.image-card, .sector-card, .scene-card, .stories-grid article {
  border: 0 !important;
  box-shadow: 0 18px 50px rgba(8,39,54,.10) !important;
}
.section-dark .image-card,
.section-dark .scene-card,
.section-dark .sector-card {
  box-shadow: 0 18px 50px rgba(0,0,0,.22) !important;
}

/* Why section: replace boxed consulting look with editorial pillar layout */
.why-section-v26 {
  background: #082736 !important;
  padding: 100px 0 104px !important;
  overflow: hidden !important;
}
.why-editorial {
  max-width: 1180px !important;
}
.why-editorial h2 {
  color: #fff !important;
  font-size: clamp(40px, 4.2vw, 62px) !important;
  line-height: 1.04 !important;
  max-width: 980px !important;
  margin: 0 !important;
  font-family: Georgia, "Times New Roman", serif !important;
  font-weight: 500 !important;
}
.why-copy {
  max-width: 860px !important;
  margin-top: 30px !important;
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 42px !important;
}
.why-copy p {
  color: rgba(255,255,255,.76) !important;
  margin: 0 !important;
  line-height: 1.68 !important;
  font-size: 15.5px !important;
}
.why-points-v26 {
  margin-top: 58px !important;
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0,1fr)) !important;
  gap: 34px !important;
  border-top: 1px solid rgba(255,255,255,.18) !important;
}
.why-points-v26 article {
  padding: 28px 0 0 !important;
  background: transparent !important;
  border: 0 !important;
  min-height: 0 !important;
}
.why-points-v26 span {
  display: block !important;
  color: #B5485E !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  letter-spacing: .16em !important;
  margin-bottom: 20px !important;
}
.why-points-v26 h3 {
  color: #fff !important;
  font-size: clamp(22px, 1.9vw, 28px) !important;
  line-height: 1.12 !important;
  max-width: 260px !important;
  margin: 0 0 16px !important;
  font-weight: 600 !important;
}
.why-points-v26 p {
  color: rgba(255,255,255,.72) !important;
  font-size: 15px !important;
  line-height: 1.62 !important;
  max-width: 360px !important;
  margin: 0 !important;
}
.why-points-v26 article:hover h3 {
  color: #F7F3EC !important;
}

/* Final CTA: balanced, not too centered, not edge */
.final-cta .container,
.final-cta .cta-inner,
.section-final .content,
.section-final .container,
.section-contact .cta-panel,
.section-contact .container {
  width: min(calc(100% - 120px), 1100px) !important;
  max-width: 1100px !important;
}
.final-cta h2,
.section-final h2,
.section-contact h2,
.cta-panel h2 {
  max-width: 940px !important;
}
.final-cta p,
.section-final p,
.section-contact p,
.cta-panel p {
  max-width: 860px !important;
}

/* Footer V26: clearly visible full website footer */
.site-footer-v26 {
  background: #061923 !important;
  color: rgba(255,255,255,.70) !important;
  padding: 56px 0 38px !important;
  border-top: 1px solid rgba(255,255,255,.10) !important;
}
.footer-v26-grid {
  display: grid !important;
  grid-template-columns: minmax(280px, 1.2fr) minmax(150px,.4fr) minmax(150px,.4fr) !important;
  gap: 54px !important;
}
.footer-v26-brand .footer-logo {
  font-family: Georgia, "Times New Roman", serif !important;
  font-size: 21px !important;
  color: rgba(255,255,255,.94) !important;
  margin-bottom: 14px !important;
}
.footer-v26-brand .footer-logo span {
  color: #fff !important;
}
.footer-v26-brand p {
  max-width: 430px !important;
  color: rgba(255,255,255,.54) !important;
  font-size: 13.5px !important;
  line-height: 1.65 !important;
  margin: 0 0 12px !important;
}
.footer-v26-brand a {
  color: rgba(255,255,255,.78) !important;
  font-size: 13px !important;
}
.footer-v26-col h4 {
  color: #fff !important;
  margin: 0 0 16px !important;
  font-size: 12px !important;
  text-transform: uppercase !important;
  letter-spacing: .14em !important;
}
.footer-v26-col a {
  display: block !important;
  color: rgba(255,255,255,.60) !important;
  font-size: 13px !important;
  margin-bottom: 9px !important;
  text-decoration: none !important;
}
.footer-v26-col a:hover {
  color: #fff !important;
}
.footer-v26-bottom {
  grid-column: 1 / -1 !important;
  display: flex !important;
  justify-content: space-between !important;
  gap: 20px !important;
  flex-wrap: wrap !important;
  padding-top: 26px !important;
  margin-top: 6px !important;
  border-top: 1px solid rgba(255,255,255,.08) !important;
  color: rgba(255,255,255,.42) !important;
  font-size: 12px !important;
}

/* Stronger flow reveal */
.flow-reveal,
.reveal,
.rv {
  opacity: 0;
  transform: translateY(34px);
  transition: opacity .9s cubic-bezier(.22,1,.36,1), transform .9s cubic-bezier(.22,1,.36,1) !important;
}
.flow-reveal.in,
.reveal.visible,
.rv.in {
  opacity: 1;
  transform: none;
}

/* Responsive */
@media(max-width: 1000px){
  .why-copy {
    grid-template-columns: 1fr !important;
    gap: 16px !important;
  }
  .why-points-v26 {
    grid-template-columns: 1fr !important;
    gap: 26px !important;
  }
  .footer-v26-grid {
    grid-template-columns: 1fr !important;
    gap: 30px !important;
  }
}
@media(max-width: 720px){
  .final-cta .container,
  .final-cta .cta-inner,
  .section-final .content,
  .section-final .container,
  .section-contact .cta-panel,
  .section-contact .container {
    width: min(calc(100% - 34px), 1100px) !important;
  }
  .why-editorial h2 {
    font-size: clamp(34px, 10vw, 46px) !important;
  }
}


/* ===== V27 actual replacement: Why + Footer + smoother flow ===== */
.why-v27{
  background:#082736!important;
  padding:102px 0 108px!important;
  color:#fff!important;
  overflow:hidden!important;
}
.why-v27 .container{max-width:1200px!important}
.why-v27-head{max-width:1120px!important}
.why-v27-head h2{
  color:#fff!important;
  font-family:Georgia,"Times New Roman",serif!important;
  font-size:clamp(40px,4.2vw,62px)!important;
  line-height:1.04!important;
  font-weight:500!important;
  max-width:1000px!important;
  margin:0!important;
}
.why-v27-copy{
  margin-top:30px!important;
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:44px!important;
  max-width:900px!important;
}
.why-v27-copy p{
  color:rgba(255,255,255,.76)!important;
  font-size:15.5px!important;
  line-height:1.68!important;
  margin:0!important;
}
.why-v27-points{
  margin-top:62px!important;
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:34px!important;
  border-top:1px solid rgba(255,255,255,.18)!important;
}
.why-v27-points article{
  background:transparent!important;
  border:0!important;
  padding:28px 0 0!important;
  min-height:0!important;
  box-shadow:none!important;
}
.why-v27-points span{
  display:block!important;
  color:#B5485E!important;
  font-size:12px!important;
  font-weight:800!important;
  letter-spacing:.16em!important;
  margin-bottom:20px!important;
}
.why-v27-points h3{
  color:#fff!important;
  font-size:clamp(22px,1.9vw,28px)!important;
  line-height:1.12!important;
  max-width:270px!important;
  margin:0 0 16px!important;
  font-weight:600!important;
}
.why-v27-points p{
  color:rgba(255,255,255,.72)!important;
  font-size:15px!important;
  line-height:1.62!important;
  max-width:360px!important;
  margin:0!important;
}

/* footer visible */
.site-footer-v27{
  background:#061923!important;
  color:rgba(255,255,255,.70)!important;
  padding:58px 0 38px!important;
  border-top:1px solid rgba(255,255,255,.10)!important;
}
.footer-v27-grid{
  display:grid!important;
  grid-template-columns:minmax(280px,1.2fr) minmax(150px,.4fr) minmax(150px,.4fr)!important;
  gap:54px!important;
}
.footer-v27-brand .footer-logo{
  font-family:Georgia,"Times New Roman",serif!important;
  font-size:21px!important;
  color:rgba(255,255,255,.94)!important;
  margin-bottom:14px!important;
}
.footer-v27-brand .footer-logo span{color:#fff!important}
.footer-v27-brand p{
  max-width:430px!important;
  color:rgba(255,255,255,.54)!important;
  font-size:13.5px!important;
  line-height:1.65!important;
  margin:0 0 12px!important;
}
.footer-v27-brand a{color:rgba(255,255,255,.78)!important;font-size:13px!important}
.footer-v27-col h4{
  color:#fff!important;
  margin:0 0 16px!important;
  font-size:12px!important;
  text-transform:uppercase!important;
  letter-spacing:.14em!important;
}
.footer-v27-col a{
  display:block!important;
  color:rgba(255,255,255,.60)!important;
  font-size:13px!important;
  margin-bottom:9px!important;
  text-decoration:none!important;
}
.footer-v27-col a:hover{color:#fff!important}
.footer-v27-bottom{
  grid-column:1 / -1!important;
  display:flex!important;
  justify-content:space-between!important;
  gap:20px!important;
  flex-wrap:wrap!important;
  padding-top:26px!important;
  margin-top:6px!important;
  border-top:1px solid rgba(255,255,255,.08)!important;
  color:rgba(255,255,255,.42)!important;
  font-size:12px!important;
}

/* make flow more visible */
.flow-reveal,.reveal,.rv,.why-v27-head,.why-v27-points article,.site-footer-v27{
  opacity:0;
  transform:translateY(34px);
  transition:opacity .9s cubic-bezier(.22,1,.36,1),transform .9s cubic-bezier(.22,1,.36,1)!important;
}
.flow-reveal.in,.reveal.visible,.rv.in,.why-v27-head.in,.why-v27-points article.in,.site-footer-v27.in{
  opacity:1;
  transform:none;
}

@media(max-width:1000px){
  .why-v27-copy{grid-template-columns:1fr!important;gap:16px!important}
  .why-v27-points{grid-template-columns:1fr!important;gap:26px!important}
  .footer-v27-grid{grid-template-columns:1fr!important;gap:30px!important}
}
@media(max-width:720px){
  .why-v27-head h2{font-size:clamp(34px,10vw,46px)!important}
}


/* ===== V28 Why Work With Us: left narrative + right numbered logic ===== */
.why-v28{
  background:#082736!important;
  padding:104px 0 108px!important;
  color:#fff!important;
  overflow:hidden!important;
}
.why-v28-grid{
  display:grid!important;
  grid-template-columns:minmax(0, .95fr) minmax(420px, .85fr)!important;
  gap:86px!important;
  align-items:start!important;
}
.why-v28-left h2{
  color:#fff!important;
  font-family:Georgia,"Times New Roman",serif!important;
  font-size:clamp(38px,4vw,58px)!important;
  line-height:1.05!important;
  font-weight:500!important;
  max-width:760px!important;
  margin:0!important;
}
.why-v28-copy{
  margin-top:30px!important;
  max-width:720px!important;
}
.why-v28-copy p{
  color:rgba(255,255,255,.76)!important;
  font-size:15.5px!important;
  line-height:1.68!important;
  margin:0 0 14px!important;
}
.why-v28-right{
  border-top:1px solid rgba(255,255,255,.18)!important;
}
.why-v28-right article{
  display:grid!important;
  grid-template-columns:56px 1fr!important;
  gap:26px!important;
  padding:28px 0 30px!important;
  border-bottom:1px solid rgba(255,255,255,.14)!important;
  background:transparent!important;
  transition:transform .25s ease, border-color .25s ease!important;
}
.why-v28-right article:hover{
  transform:translateX(6px)!important;
  border-bottom-color:rgba(255,255,255,.28)!important;
}
.why-v28-right span{
  color:#B5485E!important;
  font-family:Georgia,"Times New Roman",serif!important;
  font-size:28px!important;
  line-height:1!important;
  font-weight:600!important;
}
.why-v28-right h3{
  color:#fff!important;
  font-size:clamp(21px,1.75vw,27px)!important;
  line-height:1.12!important;
  margin:0 0 10px!important;
  font-weight:600!important;
}
.why-v28-right p{
  color:rgba(255,255,255,.72)!important;
  font-size:15px!important;
  line-height:1.62!important;
  max-width:430px!important;
  margin:0!important;
}
@media(max-width:1000px){
  .why-v28-grid{
    grid-template-columns:1fr!important;
    gap:46px!important;
  }
  .why-v28-left h2{
    max-width:900px!important;
  }
  .why-v28-copy{
    max-width:780px!important;
  }
}
@media(max-width:640px){
  .why-v28{
    padding:78px 0 84px!important;
  }
  .why-v28-left h2{
    font-size:clamp(34px,10vw,46px)!important;
  }
  .why-v28-right article{
    grid-template-columns:46px 1fr!important;
    gap:18px!important;
  }
  .why-v28-right span{
    font-size:24px!important;
  }
}


/* ===== V29 footer simplified per request ===== */
.site-footer-v29,
footer {
  background:#061923!important;
  color:rgba(255,255,255,.46)!important;
  padding:26px 0!important;
  border-top:1px solid rgba(255,255,255,.08)!important;
}
.footer-v29-inner {
  display:flex!important;
  justify-content:space-between!important;
  align-items:center!important;
  gap:18px!important;
  flex-wrap:wrap!important;
  font-size:12px!important;
  line-height:1.5!important;
}
.footer-v29-inner span {
  color:rgba(255,255,255,.46)!important;
}
.footer-v27-grid,
.footer-v26-grid,
.footer-brand,
.footer-contact,
.footer-nav,
.footer-v27-brand,
.footer-v27-col,
.footer-v26-brand,
.footer-v26-col,
.footer-v27-bottom,
.footer-v26-bottom {
  display:none!important;
}
@media(max-width:720px){
  .footer-v29-inner {
    flex-direction:column!important;
    align-items:flex-start!important;
  }
}
