
/* A calmer reading hierarchy, retaining the established display typography. */
body{line-height:1.65}
h1,h2,h3{overflow-wrap:break-word}
h2{line-height:1.02}
.section-head h2{font-size:clamp(42px,6.2vw,88px);line-height:1.03}
.section-head{gap:28px}
.section-head p,.lead{line-height:1.65}
.service-card h3,.goal h3,.offer h3,.step h3,.contact-invite h3{font-family:var(--body);font-size:clamp(22px,2vw,28px);font-weight:650;line-height:1.24;letter-spacing:-.025em;text-transform:none;text-wrap:balance;hyphens:auto}
.service-card,.goal,.offer{min-width:0}
.service-card p,.goal p,.offer p{line-height:1.65;color:var(--ink-2)}
.offer.main p{color:rgba(255,255,255,.9)}
.btn,.nav .btn,.dock .btn{font-family:var(--body);font-weight:650;letter-spacing:-.012em;text-transform:none;font-size:16px;min-height:48px;line-height:1.25;text-align:center}
.nav .btn{font-size:14px;min-height:44px}.dock .btn{font-size:15px}
.nav-logo img{height:44px}.nav-links{gap:20px}.nav-pill{gap:12px}
@media(min-width:900px) and (max-width:1099px){.nav-links{display:none}.nav-right .burger{display:inline-flex}}
.menu .menu-close{display:inline-flex!important;position:fixed;top:22px;right:24px;color:var(--paper);background:var(--ink);border-color:#ffffff50}
.menu{gap:32px;justify-content:flex-start;overscroll-behavior:contain}
.menu li a{font-family:var(--body);font-weight:550;letter-spacing:-.02em;text-transform:none;font-size:clamp(20px,3.5vh,30px);line-height:1.25;padding:10px 0}
.menu ul{gap:0}.menu-foot{padding-bottom:20px}
.hero h1{line-height:.98}.hero h1 span:nth-child(3){margin-top:.07em}
.hero-photo img{object-position:center 40%}.hero-photo figcaption{font-weight:500}
.training-points li span{line-height:1.55}.training-points li b{flex:none}
.faq summary{font-family:var(--body);font-weight:550;font-size:clamp(17px,1.5vw,20px);line-height:1.4;gap:20px;min-height:64px}
.faq summary svg{flex:none}.faq .a{line-height:1.7}
.foot-grid{gap:32px 24px}.foot-grid>div{min-width:0}.foot-grid a{overflow-wrap:anywhere;line-height:1.5}.foot-grid li{padding:3px 0}
body.still .tone{opacity:1!important}
.request-modal .modal-eyebrow{font-size:14px;letter-spacing:.09em}.request-modal input,.request-modal textarea,.request-modal select{min-height:48px}.request-modal .modal-close{position:sticky;top:12px;float:right;margin:12px 12px -56px 0}
.service-summary h2{font-size:clamp(36px,4.3vw,64px);line-height:1.04}.service-faq .section-head{grid-template-columns:1fr}
@media(max-width:699px){.hero h1{font-size:clamp(49px,12vw,76px)}.hero-bottom{gap:22px}.hero-cta{display:grid;grid-template-columns:1fr}.hero-cta .btn{width:100%}.hero-proof{gap:8px}.chip{font-size:14px;padding:10px 12px;max-width:100%}.chip span{min-width:0}.hero-photo{border-radius:20px}.team-cap{flex-wrap:wrap}.section-head h2{font-size:clamp(40px,10vw,58px)}.service-hero h1{font-size:clamp(44px,11vw,68px);line-height:1.04}.goal,.service-card,.offer{border-radius:20px}.service-summary{gap:36px}.footer .outro{font-size:clamp(20px,6.7vw,46px)}}
@media(hover:hover) and (prefers-reduced-motion:no-preference){.service-card,.goal{transition:box-shadow .3s,border-color .3s,transform .3s}.service-card:hover,.goal:hover{transform:translateY(-4px)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}.tone{opacity:1!important}.hero-photo img{transform:none!important}.btn,.service-card,.goal{transition:none!important}}
