body,button,input,textarea,select{font-family:"Noto Sans",Arial,sans-serif}
h1,h2,h3,h4,.button,.header-cta,.text-link,.gateway small,.eyebrow,.intro-band{font-family:"Noto Sans",Arial,sans-serif}
h1,h2,h3{font-weight:800;text-wrap:balance}
p,li{text-wrap:pretty}
.eyebrow i,.intro-band i{display:inline-block;width:4px;height:4px;margin:0 11px;border-radius:50%;background:currentColor;vertical-align:middle;opacity:.55}
.arrow-icon{width:18px;height:12px;display:inline-block;position:relative;flex:0 0 18px;margin-left:7px;vertical-align:middle}
.arrow-icon::before{content:"";position:absolute;left:0;right:1px;top:5px;height:2px;background:currentColor;border-radius:2px}
.arrow-icon::after{content:"";position:absolute;right:1px;top:2px;width:6px;height:6px;border-top:2px solid currentColor;border-right:2px solid currentColor;transform:rotate(45deg)}
.button,.text-link{display:inline-flex;align-items:center;justify-content:center}
.gateway>a>.arrow-icon{margin-left:0}
.service li{position:relative;padding-left:31px}
.service li::before{content:"";position:absolute;left:2px;top:.42em;width:11px;height:6px;border-left:2px solid var(--red);border-bottom:2px solid var(--red);transform:rotate(-45deg)}
.wellness li::before{border-color:var(--teal)}
.service figure{box-shadow:0 16px 42px rgba(23,23,23,.10)}

@media(max-width:700px){
  body{font-size:16.5px;line-height:1.65}
  .site-header{height:88px}
  .brand{width:104px;height:72px}
  .hero-copy{padding:48px 22px 42px}
  .hero h1{font-size:clamp(44px,12.4vw,52px);line-height:1.04;letter-spacing:-.045em}
  .hero-lead{font-size:17px;line-height:1.68}
  .eyebrow{font-size:11px;line-height:1.55;letter-spacing:.115em}
  .eyebrow i{margin-inline:8px}
  .actions{margin-top:28px}
  .button{min-height:52px;font-size:14px;line-height:1.25}
  .hero-proof{font-size:11px;gap:10px;margin-top:28px}
  .hero-visual{min-height:440px;margin-top:0}
  .image-note{left:16px;right:16px;bottom:16px}

  .gateway{padding:24px 18px;gap:14px}
  .gateway a{min-height:120px;padding:22px 20px;grid-template-columns:30px 1fr 18px}
  .gateway h2{font-size:26px;line-height:1.15;letter-spacing:-.025em}
  .gateway small{font-size:10px;letter-spacing:.085em}
  .intro-band{padding:20px 18px;font-size:10px;line-height:1.8;letter-spacing:.07em}
  .intro-band i{margin-inline:7px}

  .services,.team{padding-block:78px}
  .heading{margin-bottom:50px}.heading h2{font-size:clamp(37px,10.4vw,43px);line-height:1.1;letter-spacing:-.04em}.heading>p:last-child{font-size:17px;line-height:1.7}
  .service{padding:38px 0 62px;gap:0}
  .service aside{margin-bottom:24px;font-size:11px}
  .service>div{margin-bottom:34px}
  .service h3{font-size:clamp(36px,10vw,41px);line-height:1.1;letter-spacing:-.04em;margin-bottom:22px}
  .service p:not(.eyebrow){font-size:17px;line-height:1.7}
  .service ul{margin:27px 0 30px;gap:16px}.service li{font-size:16px;line-height:1.55;padding-left:29px}
  .text-link{font-size:14px;line-height:1.45}
  .service figure{width:100%;aspect-ratio:4/5;min-height:0;margin:0;border-radius:18px}
  .service figure img{object-position:center center}
  .wellness figure img{object-position:center 48%}

  .community,.process,.mission{padding-block:78px}
  .community-grid{gap:46px}
  .community-mark{min-height:350px;margin-bottom:0;border-radius:18px}
  .community h2,.process h2,.mission h2{font-size:clamp(37px,10.4vw,43px);line-height:1.1;letter-spacing:-.04em}
  .community>div>div>p:not(.eyebrow),.mission p:last-child{font-size:17px;line-height:1.7}
  .community-points{margin:30px 0 34px}.community-points>div{padding:22px;border-radius:13px}.community-points h3{font-size:21px}.community-points p{font-size:15.5px}
  .process-grid>div,.process-grid>div:nth-child(2){min-height:190px;padding:23px}.process-grid h3{font-size:22px}.process-grid p{font-size:15.5px}

  .team-heading{margin-bottom:50px}
  .team-grid{gap:24px}
  .team-grid img{height:auto;min-height:0;aspect-ratio:4/5;object-fit:cover}
  .team-grid article>div{padding:27px 24px 30px}
  .team h3{font-size:36px;line-height:1.1}.team h4{font-size:16px;line-height:1.4}.team small{font-size:12px}.team-grid article>div>p:last-child{font-size:16px;line-height:1.7}
  .team-vision{margin-top:24px;padding:30px 24px;gap:24px}.team-vision h3{font-size:32px;line-height:1.15}.team-vision p{font-size:16px;line-height:1.7}
  .contact{padding:80px 22px}.contact h2{font-size:clamp(38px,10.5vw,44px);line-height:1.1}.contact>p:not(.eyebrow){font-size:17px}
}
