.approach-opening{padding-top:clamp(2rem,5vw,4rem);padding-bottom:clamp(3rem,7vw,6rem)}
.approach-opening>.text-link{margin-bottom:2.5rem}
.approach-opening>.label{position:relative;display:inline-block;width:max-content;max-width:100%;padding-bottom:.75rem;border-bottom:0;text-decoration:none}
.approach-opening>.label:after{position:absolute;bottom:0;left:0;width:3.5rem;height:3px;background:var(--orange);content:''}
.approach-opening h1{max-width:18ch;margin:1rem 0 1.5rem;font:600 clamp(2.4rem,5.5vw,4.75rem)/1.04 var(--display);letter-spacing:-.045em}
.approach-page main p:not(.label),.approach-page main li{font:400 1.1125rem/1.55 var(--body);color:var(--ink)}
.approach-opening>p:not(.label){max-width:58ch;margin-bottom:1.5rem}
.approach-section{display:grid;grid-template-columns:5fr 6fr;gap:8%;padding:clamp(2.5rem,5vw,4.5rem) 0;border-top:1px solid var(--ink);scroll-margin-top:100px}
.approach-section h2,.approach-contact h2{max-width:22ch;margin:1rem 0 1.5rem;font:600 clamp(2rem,3.5vw,3rem)/1.08 var(--display);letter-spacing:-.035em}
.approach-page .approach-price{font-weight:600}
.approach-copy p{max-width:58ch;margin:0 0 1.2rem}
.approach-copy p:last-child{margin-bottom:0}
.approach-copy h3{margin:1.8rem 0 .7rem;font:600 1.2rem/1.25 var(--display);letter-spacing:-.02em}
.approach-copy ul{padding-left:1.2rem;margin:0 0 1.5rem;max-width:58ch}
.approach-copy li+li{margin-top:.6rem}
.approach-contact{border-top:1px solid var(--ink);padding:clamp(3rem,6vw,5rem) 0}
.approach-contact p:not(.label){margin-bottom:1.5rem;max-width:55ch}
.approach-contact .text-link{display:flex;width:fit-content;max-width:100%;margin-top:1.25rem}
.approach-page .button{max-width:100%;white-space:normal;margin-top:0}
.approach-page footer a{color:inherit}
.approach-flow{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6rem;list-style:none;margin:3rem 0 0;padding:0}
.approach-flow li{position:relative;min-width:0;text-align:center}
.flow-icon{display:block;width:140px;height:140px;margin:0 auto 1.25rem;color:var(--ink)}
.flow-step-link{display:block;padding:.4rem;color:var(--ink);text-decoration:none}
.flow-step-title{display:block;font:600 clamp(1.2rem,1.8vw,1.5rem)/1.2 var(--display)}
.flow-step-copy{display:block;margin:.65rem auto 0;max-width:27ch;font:400 1.1125rem/1.5 var(--body)}
.flow-step-hint{display:block;margin-top:.8rem;font:400 .9rem/1.4 var(--body);text-decoration:underline;text-underline-offset:.2em}
.flow-step-link:hover .flow-step-hint{font-weight:600}
.flow-step-link:focus-visible{outline:2px solid var(--ink);outline-offset:4px}
.approach-copy>h3:first-child{margin-top:0}
.approach-page main :is(h1,h2,h3),.flow-step-title,.flow-step-copy{text-wrap:balance}
.approach-page main p{text-wrap:pretty}
.flow-decision{position:absolute;left:-6rem;top:2rem;width:6rem;text-align:center}
.flow-decision span{display:block;margin-bottom:.5rem;font:400 .9rem/1.3 var(--body);white-space:nowrap}
.flow-decision svg{display:block;width:100%;height:24px}
@media(max-width:760px){
  .approach-flow{grid-template-columns:1fr;gap:4.5rem}
  .flow-icon{width:80px;height:80px;margin-bottom:.7rem}
  .flow-decision{left:calc(50% - 3rem);top:-3.8rem}
  .flow-decision svg{width:40px;height:24px;transform:rotate(90deg);margin:.25rem auto 0}
  .flow-step-title{font-size:1.35rem}
  .flow-step-hint{margin-top:.45rem}
  .approach-section{grid-template-columns:1fr;gap:1rem}
  .approach-opening h1 br{display:none}
  .approach-section h2{max-width:25ch}
}
