/* John Bramley About v21 — final layout normalization */
body.page-about{
  --about-rail:1320px;
  --about-gutter:64px;
  --about-section-y:82px;
}

/* ONE ALIGNMENT WALL */
body.page-about .about-hero-v18-inner,
body.page-about .about-profile-v21-inner,
body.page-about .about-standard > .section-inner,
body.page-about .about-path > .section-inner,
body.page-about .about-cta > .section-inner{
  width:min(var(--about-rail),calc(100% - var(--about-gutter)))!important;
  max-width:none!important;
  margin-left:auto!important;
  margin-right:auto!important;
}

/* HERO: keep everything in one viewport without billboard typography */
body.page-about .about-hero-v18{
  height:calc(100svh - 84px)!important;
  min-height:650px!important;
  max-height:860px!important;
}
body.page-about .about-hero-v18-inner{
  height:100%!important;
  min-height:0!important;
  grid-template-columns:250px minmax(0,720px)!important;
  grid-template-rows:minmax(0,1fr) auto!important;
  column-gap:48px!important;
  padding:34px 0 24px!important;
  align-items:center!important;
}
body.page-about .about-hero-v18-portrait{
  width:250px!important;
  height:370px!important;
}
body.page-about .about-hero-v18-copy{
  max-width:720px!important;
  padding-top:0!important;
}
body.page-about .about-hero-v18 .eyebrow{
  margin:0 0 13px!important;
}
body.page-about .about-hero-v18 h1{
  max-width:16ch!important;
  font-size:clamp(40px,3.9vw,56px)!important;
  line-height:1!important;
  letter-spacing:-.035em!important;
}
body.page-about .about-hero-v18 .lede{
  max-width:50ch!important;
  margin:16px 0 0!important;
  font-size:16px!important;
  line-height:1.56!important;
}
body.page-about .about-hero-v18-actions{
  margin-top:20px!important;
}
body.page-about .about-hero-v18-stats{
  padding-top:14px!important;
}
body.page-about .about-hero-v18-stat{
  padding:0 20px!important;
}
body.page-about .about-hero-v18-stat strong{
  font-size:19px!important;
}
body.page-about .about-hero-v18-stat span{
  font-size:9px!important;
}

/* EXPERIENCE SECTION: no inherited old grid classes */
body.page-about .about-profile-v21{
  background:#fff!important;
  padding:var(--about-section-y) 0 86px!important;
}
body.page-about .about-profile-v21-head{
  display:grid!important;
  grid-template-columns:minmax(0,760px) 180px!important;
  gap:56px!important;
  align-items:end!important;
  justify-content:space-between!important;
  padding-bottom:34px!important;
  border-bottom:1px solid #d7e1e9!important;
}
body.page-about .about-profile-v21-title .eyebrow{
  margin:0 0 18px!important;
}
body.page-about .about-profile-v21-title h2{
  margin:0!important;
  max-width:18ch!important;
  font-size:clamp(34px,3.2vw,46px)!important;
  line-height:1.08!important;
  letter-spacing:-.028em!important;
  color:#10283f!important;
  text-wrap:balance!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
}
body.page-about .about-profile-v21-stat{
  text-align:right!important;
  padding-bottom:3px!important;
}
body.page-about .about-profile-v21-stat strong{
  display:block!important;
  color:#2f6ea5!important;
  font-size:60px!important;
  line-height:.86!important;
  font-weight:400!important;
}
body.page-about .about-profile-v21-stat span{
  display:block!important;
  margin-top:12px!important;
  color:#65788a!important;
  font-size:9px!important;
  line-height:1.35!important;
  letter-spacing:.14em!important;
  text-transform:uppercase!important;
  white-space:nowrap!important;
}
body.page-about .about-profile-v21-copy{
  display:grid!important;
  grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr)!important;
  gap:64px!important;
  padding-top:38px!important;
}
body.page-about .about-profile-v21-copy .lead{
  margin:0!important;
  max-width:44ch!important;
  color:#10283f!important;
  font-size:21px!important;
  line-height:1.58!important;
  font-weight:500!important;
}
body.page-about .about-profile-v21-columns{
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:34px!important;
}
body.page-about .about-profile-v21-columns p{
  margin:0!important;
  color:#4a5f72!important;
  font-size:15.5px!important;
  line-height:1.72!important;
}

/* STANDARD SECTION */
body.page-about .about-standard{
  padding:78px 0 82px!important;
  background:#f7fafc!important;
}
body.page-about .about-standard-head{
  display:grid!important;
  grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)!important;
  gap:72px!important;
  align-items:start!important;
  margin-bottom:38px!important;
}
body.page-about .about-standard-head h2{
  margin:0!important;
  max-width:14ch!important;
  font-size:clamp(32px,3vw,42px)!important;
  line-height:1.08!important;
  text-wrap:balance!important;
}
body.page-about .about-standard-head > p{
  max-width:54ch!important;
  font-size:16px!important;
  line-height:1.7!important;
  margin:0!important;
}
body.page-about .about-principles{
  margin-top:0!important;
}
body.page-about .about-principle{
  display:grid!important;
  grid-template-columns:minmax(230px,.45fr) minmax(0,1fr)!important;
  gap:54px!important;
  padding:22px 0!important;
}
body.page-about .about-principle h3{
  font-size:21px!important;
  line-height:1.2!important;
}
body.page-about .about-principle p{
  max-width:64ch!important;
  font-size:15.5px!important;
  line-height:1.68!important;
}

/* PATH SECTION */
body.page-about .about-path{
  padding:80px 0 84px!important;
}
body.page-about .about-path-grid{
  display:grid!important;
  grid-template-columns:minmax(300px,.78fr) minmax(0,1.22fr)!important;
  gap:72px!important;
  align-items:start!important;
}
body.page-about .about-path h2{
  margin:0!important;
  max-width:15ch!important;
  font-size:clamp(32px,3vw,42px)!important;
  line-height:1.08!important;
  text-wrap:balance!important;
}
body.page-about .about-step{
  padding:21px 0!important;
}
body.page-about .about-step h3{
  font-size:21px!important;
  line-height:1.2!important;
}
body.page-about .about-step p{
  max-width:64ch!important;
  font-size:15.5px!important;
  line-height:1.68!important;
}

/* CTA */
body.page-about .about-cta{
  padding:66px 0!important;
}
body.page-about .about-cta-grid{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(340px,.8fr)!important;
  gap:70px!important;
  align-items:center!important;
}
body.page-about .about-cta h2{
  margin:0!important;
  max-width:17ch!important;
  font-size:clamp(31px,2.8vw,40px)!important;
  line-height:1.1!important;
}
body.page-about .about-cta p{
  margin:0 0 20px!important;
  max-width:44ch!important;
  font-size:16px!important;
  line-height:1.66!important;
}

/* TABLET */
@media(max-width:1100px){
  body.page-about{--about-gutter:40px}
  body.page-about .about-profile-v21-head{
    grid-template-columns:minmax(0,1fr) 150px!important;
    gap:36px!important;
  }
  body.page-about .about-profile-v21-copy{
    grid-template-columns:1fr!important;
    gap:28px!important;
  }
  body.page-about .about-profile-v21-copy .lead{max-width:55ch!important}
  body.page-about .about-standard-head,
  body.page-about .about-path-grid,
  body.page-about .about-cta-grid{
    gap:44px!important;
  }
}

/* MOBILE */
@media(max-width:760px){
  body.page-about{
    --about-gutter:28px;
    --about-section-y:58px;
  }
  body.page-about .about-hero-v18{
    height:auto!important;
    max-height:none!important;
    min-height:calc(100svh - 74px)!important;
  }
  body.page-about .about-hero-v18-inner{
    width:calc(100% - 28px)!important;
    height:auto!important;
    min-height:calc(100svh - 74px)!important;
    grid-template-columns:104px minmax(0,1fr)!important;
    grid-template-rows:auto auto!important;
    column-gap:16px!important;
    row-gap:18px!important;
    padding:24px 0 20px!important;
    align-content:center!important;
  }
  body.page-about .about-hero-v18-portrait{
    width:104px!important;
    height:154px!important;
    align-self:start!important;
  }
  body.page-about .about-hero-v18 h1{
    max-width:none!important;
    font-size:clamp(29px,7.8vw,38px)!important;
    line-height:1.02!important;
  }
  body.page-about .about-hero-v18 .lede{
    max-width:34ch!important;
    margin-top:12px!important;
    font-size:14px!important;
    line-height:1.48!important;
  }
  body.page-about .about-hero-v18-actions{
    margin-top:14px!important;
    gap:8px!important;
  }
  body.page-about .about-hero-v18-actions .btn{
    min-width:0!important;
    padding-left:10px!important;
    padding-right:10px!important;
    font-size:9px!important;
  }
  body.page-about .about-hero-v18-stats{
    grid-column:1/-1!important;
    grid-template-columns:1fr 1fr!important;
    gap:12px 0!important;
    padding-top:12px!important;
  }
  body.page-about .about-profile-v21{
    padding:58px 0 62px!important;
  }
  body.page-about .about-profile-v21-head{
    grid-template-columns:1fr!important;
    gap:22px!important;
    padding-bottom:26px!important;
  }
  body.page-about .about-profile-v21-title h2{
    max-width:none!important;
    font-size:clamp(30px,8vw,38px)!important;
  }
  body.page-about .about-profile-v21-stat{
    text-align:left!important;
  }
  body.page-about .about-profile-v21-stat strong{
    font-size:48px!important;
  }
  body.page-about .about-profile-v21-stat span{
    white-space:normal!important;
  }
  body.page-about .about-profile-v21-copy{
    display:block!important;
    padding-top:28px!important;
  }
  body.page-about .about-profile-v21-copy .lead{
    font-size:19px!important;
    margin-bottom:22px!important;
  }
  body.page-about .about-profile-v21-columns{
    grid-template-columns:1fr!important;
    gap:16px!important;
  }
  body.page-about .about-standard,
  body.page-about .about-path{
    padding:58px 0 62px!important;
  }
  body.page-about .about-standard-head,
  body.page-about .about-path-grid,
  body.page-about .about-cta-grid{
    grid-template-columns:1fr!important;
    gap:26px!important;
  }
  body.page-about .about-standard-head h2,
  body.page-about .about-path h2,
  body.page-about .about-cta h2{
    max-width:none!important;
  }
  body.page-about .about-principle{
    grid-template-columns:1fr!important;
    gap:8px!important;
  }
  body.page-about .about-cta{
    padding:54px 0!important;
  }
}
