/* Open additions to the current JP Studio composition. */
.business-section{border-top:1px solid var(--line)}
.business-grid{display:grid;grid-template-columns:1fr 1.05fr;gap:clamp(48px,7vw,112px);align-items:start}
.business-eyebrow{font-size:11px;line-height:1.6;color:var(--muted);letter-spacing:.04em;margin:0 0 24px}
.business-copy h2{max-width:16ch}
.business-copy>p:not(.business-eyebrow){font-size:15px;line-height:1.8;color:var(--muted);max-width:42ch;margin-top:28px}
.business-copy>.button{margin-top:32px}
.business-estimate-link{display:flex;width:fit-content;margin-top:12px}
.business-flow{padding-top:4px;min-width:0}
.business-flow h3{font-size:clamp(25px,2.6vw,35px);letter-spacing:-.04em;font-weight:500;line-height:1.25;max-width:19ch}
.business-steps{padding:0;margin:36px 0 0;list-style:none;position:relative}
.business-steps:before{content:'';position:absolute;width:1px;left:11px;top:15px;bottom:50px;background:var(--line)}
.business-steps li{position:relative;display:grid;grid-template-columns:24px 1fr;gap:24px;padding:0 0 30px;transition:transform .5s}
.business-steps li.is-current{transform:translateX(3px)}
.business-steps li:last-child{padding-bottom:0}
.business-step-index{font-size:10px;line-height:22px;background:var(--paper);color:var(--muted);position:relative;z-index:1}
.business-steps h4{font-size:20px;font-weight:500;letter-spacing:-.025em;line-height:1.35;color:var(--muted);transition:color .5s}
.business-steps li.is-current h4{color:var(--ink)}
.business-steps p{font-size:12px;line-height:1.65;color:var(--muted);max-width:36ch;margin-top:8px}
.business-flow-note{font-size:11px;color:var(--muted);margin-top:26px;padding-top:18px;border-top:1px solid var(--line)}
.business-service-links{grid-column:2;display:flex;flex-wrap:wrap;gap:12px 24px;margin-top:20px;align-items:baseline}
.services .business-service-links .text-link{margin:0;font-size:13px}
.brands .brand-heading{display:flex;align-items:baseline;justify-content:space-between;gap:24px;margin-bottom:20px}
.brands .brand-label{margin:0;font-size:12px}
.brand-motion-toggle{border:0;border-bottom:1px solid currentColor;background:none;padding:3px 0;font:inherit;font-size:11px;color:var(--muted);cursor:pointer}
.brand-motion-toggle:hover{color:var(--ink)}
.brand-motion-toggle:focus-visible{outline:2px solid var(--ink);outline-offset:5px}
.brands .brand-track{animation:business-brand-flow 38s linear infinite}
.brands .brand-row{flex-shrink:0;gap:clamp(48px,6vw,88px);padding-right:clamp(48px,6vw,88px)}
.brands .brand-marquee:hover .brand-track{animation-play-state:running}
.brands.is-paused .brand-marquee .brand-track{animation-play-state:paused}
@keyframes business-brand-flow{to{transform:translateX(-12.5%)}}
.brands .project-logo-fitness img{width:148px;height:36px;filter:none}
.fitness-feature{padding-block:0 80px}
.fitness-feature-layout{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);align-items:center;gap:clamp(32px,6vw,88px);padding-top:48px;border-top:1px solid var(--line)}
.fitness-preview-image{display:block;overflow:hidden}
.fitness-preview-image img{display:block;width:100%;height:auto;transition:transform .7s cubic-bezier(.2,.65,.2,1)}
.fitness-preview-image:hover img{transform:scale(1.015)}
.fitness-feature-status{font-size:11px;color:var(--muted);margin-bottom:24px}
.fitness-feature-copy h2{font-size:clamp(38px,4.6vw,62px);line-height:1.06;letter-spacing:-.055em;font-weight:500;margin:0}
.fitness-feature-type{font-size:12px;margin:20px 0}
.fitness-feature-copy>p:last-of-type{font-size:15px;line-height:1.7;color:var(--muted);max-width:30ch}
.fitness-feature-copy .text-link{margin-top:24px}
@media(prefers-reduced-motion:reduce){.fitness-preview-image img{transition:none}.fitness-preview-image:hover img{transform:none}}
@media(max-width:760px){.fitness-feature{padding-bottom:48px}.fitness-feature-layout{grid-template-columns:1fr;gap:28px;padding-top:32px}.fitness-feature-copy h2 br{display:none}.fitness-feature-copy h2{font-size:38px}.fitness-feature-status{margin-bottom:16px}.fitness-feature-type{margin:16px 0}.fitness-feature-copy>p:last-of-type{max-width:40ch}}
@media(max-width:850px){.business-grid{gap:40px}.business-steps li{gap:16px}}
@media(max-width:760px){.business-grid{grid-template-columns:1fr;gap:48px}.business-flow h3{font-size:28px}.business-copy h2{font-size:clamp(35px,7.8vw,49px)}.business-service-links{margin-top:20px;gap:12px 24px}.business-flow-note{margin-top:24px}.brands .brand-heading{gap:16px}.brands .brand-label{font-size:11px}}
@media(prefers-reduced-motion:reduce){.business-steps li{transition:none;transform:none;opacity:1}.brands .brand-track{animation:none;transform:none;width:100%}.brands .brand-row{width:100%;flex-wrap:wrap;gap:24px 36px;padding:0}.brands .brand-row[aria-hidden=true]{display:none}.brands .brand-marquee{mask-image:none}.brand-motion-toggle{display:none}}
