/* MODO typography refinement — quieter, more precise, and more premium. */
body{
  font-feature-settings:"palt" 1;
  letter-spacing:.012em;
}

.hero{
  min-height:660px!important;
  padding-top:84px!important;
}
.hero-inner{
  min-height:576px!important;
  padding:76px 0 72px!important;
}
.hero-kicker{
  font-size:.68rem!important;
  letter-spacing:.24em!important;
  font-weight:720!important;
}
.hero h1{
  max-width:900px!important;
  margin:18px 0 25px!important;
  font-size:clamp(2.45rem,4.65vw,4.85rem)!important;
  font-weight:610!important;
  line-height:1.14!important;
  letter-spacing:-.035em!important;
}
.hero h1 em{
  font-weight:510!important;
}
.hero-copy{
  max-width:740px!important;
  margin-bottom:30px!important;
  font-size:clamp(.94rem,1.08vw,1.06rem)!important;
  line-height:1.9!important;
}
.btn{
  padding:11px 20px!important;
  font-size:.88rem!important;
  font-weight:720!important;
}

/* Cards begin after the hero instead of cutting into it. */
.pillars-wrap{
  margin-top:0!important;
  padding-top:52px!important;
  padding-bottom:8px!important;
}
.pillars{
  border:1px solid #e5e5e1!important;
  border-radius:14px!important;
  box-shadow:0 16px 42px rgba(24,29,33,.07)!important;
}
.pillar{
  min-height:268px!important;
  padding:34px 34px 32px!important;
}
.pillar-num{
  font-size:.69rem!important;
  letter-spacing:.17em!important;
  font-weight:760!important;
}
.pillar h3{
  margin:17px 0 12px!important;
  font-size:clamp(1.14rem,1.5vw,1.32rem)!important;
  font-weight:650!important;
  line-height:1.5!important;
  letter-spacing:-.018em!important;
}
.pillar p{
  font-size:.94rem!important;
  line-height:1.85!important;
}

.section{
  padding:78px 0!important;
}
.section-head h2,
.approach-copy h2{
  font-size:clamp(2rem,3.55vw,3.6rem)!important;
  font-weight:570!important;
  line-height:1.14!important;
  letter-spacing:-.035em!important;
}
.page-hero h1{
  max-width:900px!important;
  font-size:clamp(2.25rem,4.4vw,4.45rem)!important;
  font-weight:590!important;
  line-height:1.12!important;
  letter-spacing:-.04em!important;
}
.page-hero p{
  max-width:760px!important;
  font-size:1rem!important;
  line-height:1.9!important;
}
.detail-card h3,
.case-card h3{
  font-size:1.14rem!important;
  font-weight:650!important;
  line-height:1.5!important;
}
.detail-card p,
.case-card p{
  font-size:.94rem!important;
  line-height:1.85!important;
}
.case-cta h2,
.cta-bottom h2,
.contact-copy h2{
  font-size:clamp(1.9rem,3.3vw,3.35rem)!important;
  font-weight:560!important;
  line-height:1.18!important;
  letter-spacing:-.035em!important;
}
.step h3{
  font-size:1.08rem!important;
  font-weight:650!important;
}

@media(max-width:760px){
  .hero{
    min-height:600px!important;
    padding-top:72px!important;
  }
  .hero-inner{
    min-height:528px!important;
    padding:64px 0 58px!important;
  }
  .hero h1{
    font-size:clamp(2.15rem,10.5vw,3.25rem)!important;
    line-height:1.17!important;
  }
  .pillars-wrap{
    padding-top:34px!important;
  }
  .pillar{
    min-height:auto!important;
    padding:28px 25px!important;
  }
  .section{
    padding:64px 0!important;
  }
  .page-hero h1{
    font-size:clamp(2rem,10vw,3rem)!important;
  }
}
