/* HGT site-wide readability and responsive density — v2.4.0 */
html { font-size: 18px; }
body { font-size: 18px; line-height: 1.65; }
.shell { width: min(1440px,calc(100% - 64px)); }

.brand span { font-size: 11px; line-height: 1.45; }
.navLinks a,.footerGrid a { font-size: 14px; }
.outlineButton,.goldButton { min-height: 54px; padding-inline: 28px; font-size: 14px; }
.eyebrow { font-size: 13px; line-height: 1.4; letter-spacing: 1.7px; }
.lead { max-width: 690px; font-size: 19px; }
.trustLabel { font-size: 12px; }
.logoBadge { min-height: 66px; font-size: 14px!important; }
.logoBadge small { font-size: 10px; }

.splitSection { grid-template-columns: 1fr 1.05fr 1fr; gap: 58px; }
.splitSection h2,.section h2,.modalCard h2 { font-size: 42px; }
.iconList li { gap: 16px; font-size: 17px; line-height: 1.5; }
.iconList i { width: 44px; height: 44px; }
.growthBand p { font-size: 27px; }

.serviceGrid { grid-template-columns: repeat(3,1fr); gap: 20px; margin-top: 30px; }
.serviceCard { min-height: 285px; padding: 32px 30px 60px; }
.serviceCard i { font-size: 34px; }
.serviceCard h3 { margin: 22px 0 12px; font-size: 21px; line-height: 1.3; }
.serviceCard p { font-size: 17px; line-height: 1.65; color: #c3c8c7; }
.serviceArrow { left: 30px; bottom: 22px; font-size: 25px; }

.leadershipIntro { grid-template-columns: .9fr 1.1fr; gap: 60px; }
.leadershipIntro>p { font-size: 19px; line-height: 1.7; }
.teamGrid { gap: 24px; }
.teamCard { grid-template-columns: 220px 1fr; min-height: 310px; }
.teamPhoto { min-height: 310px; }
.teamInfo { padding: 34px 30px; }
.teamInfo h3 { font-size: 34px; line-height: 1.1; }
.teamInfo>span { font-size: 13px; line-height: 1.4; }
.teamInfo p { font-size: 17px; line-height: 1.65; }
.linkedinLink { font-size: 15px; }
.techStack { padding: 24px 26px; gap: 14px; }
.techStack>span { font-size: 13px; }
.techStack b { padding: 11px 14px; font-size: 14px; }

.caseCard { height: 300px; padding: 26px; }
.caseCard small { font-size: 13px; }
.caseCard h3 { font-size: 25px; }
.caseCard p { font-size: 16px; }
.chartNote { font-size: 15px; }
.testimonial blockquote { font-size: 27px; }
.person p { font-size: 15px; }
.finalCta h2 { font-size: 32px; }
.finalCta p { font-size: 16px; }

.footerGrid p,.footerGrid span { font-size: 15px; }
.footerGrid h4 { font-size: 13px; }
.legal { font-size: 13px; }
.modalCard label { font-size: 13px; }
.modalCard input,.modalCard select,.modalCard textarea { font-size: 17px; }

/* Internal pages */
.pageHeroInner>p:not(.eyebrow) { max-width: 760px; font-size: 20px; }
.proofRibbonInner span { font-size: 13px; }
.proofRibbonInner strong { font-size: 34px; }
.clientSection h2,.growthStory h2,.pageCta h2 { font-size: 44px; }
.clientGrid strong { font-size: 21px; }
.clientGrid span { font-size: 13px; }
.growthCopy>p:not(.eyebrow) { font-size: 18px; }
.chartScale { font-size: 12px; }
.barWrap>span { font-size: 11px; }
.contentAside strong { font-size: 24px; }
.contentAside span { font-size: 13px; }
.hgt-content p,.hgt-content li,.contentStage .hgt-content { font-size: 18px; line-height: 1.75; }
.pageCta p:not(.eyebrow) { font-size: 18px; }

@media (max-width: 1100px) {
  .shell { width: calc(100% - 48px); }
  .serviceGrid { grid-template-columns: repeat(2,1fr); }
  .teamGrid { grid-template-columns: 1fr; }
  .teamCard { grid-template-columns: 240px 1fr; }
}

@media (max-width: 900px) {
  .navLinks a { font-size: 16px; }
  .splitSection { grid-template-columns: 1fr; }
  .roomImage { grid-row: auto; grid-column: auto; height: 420px; }
  .leadershipIntro { grid-template-columns: 1fr; }
  .footerGrid a { font-size: 15px; }
}

@media (max-width: 620px) {
  html { font-size: 19px; }
  body { font-size: 19px; line-height: 1.65; }
  .shell { width: calc(100% - 32px); }
  .eyebrow { font-size: 14px; }
  .lead { font-size: 19px; }
  .outlineButton,.goldButton { min-height: 60px; font-size: 16px; }
  .logoBadge { font-size: 14px!important; }
  .logoBadge small { font-size: 11px; }
  .splitSection h2,.section h2,.modalCard h2 { font-size: 40px; }
  .iconList li { font-size: 19px; }
  .iconList i { width: 50px; height: 50px; }
  .growthBand p { font-size: 27px; }
  .serviceGrid { grid-template-columns: 1fr; }
  .serviceCard { min-height: 260px; padding: 32px 26px 62px; }
  .serviceCard h3 { font-size: 23px; }
  .serviceCard p { font-size: 18px; }
  .teamCard { display: block; }
  .teamPhoto { min-height: 360px; }
  .teamInfo h3 { font-size: 35px; }
  .teamInfo>span { font-size: 14px; }
  .teamInfo p { font-size: 18px; }
  .linkedinLink { font-size: 16px; }
  .techStack>span,.techStack b { font-size: 14px; }
  .caseCard p,.chartNote { font-size: 17px!important; }
  .person p,.person small { font-size: 16px; }
  .footerGrid a,.footerGrid p,.footerGrid span { font-size: 17px; }
  .footerGrid h4,.legal { font-size: 14px; }
  .modalCard label { font-size: 14px; }
  .modalCard input,.modalCard select,.modalCard textarea { font-size: 18px; }
  .pageHeroInner>p:not(.eyebrow),.growthCopy>p:not(.eyebrow),.hgt-content p,.hgt-content li,.contentStage .hgt-content,.pageCta p:not(.eyebrow) { font-size: 19px; }
  .proofRibbonInner span,.clientGrid span,.contentAside span { font-size: 14px; }
}
