/* how a service runs: the free session, then five numbered steps */
.run{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.6fr);gap:clamp(32px,5vw,72px);margin-top:44px;align-items:start}
.free{position:sticky;top:96px;padding:32px;border-radius:24px;background:var(--frame);color:#fff}
.free small{font:700 11px/1.3 var(--stamp);letter-spacing:.16em;text-transform:uppercase;color:#9fd0e2}
.free h3{margin-top:12px;font-size:clamp(24px,1rem + 1vw,32px);line-height:1.2;font-weight:400}
.free p{margin-top:14px;font-size:17px;line-height:1.55;color:rgba(255,255,255,.82)}
.free .btn{margin-top:24px}
.runsteps{list-style:none;counter-reset:s}
.runsteps li{counter-increment:s;display:grid;grid-template-columns:48px minmax(0,1fr);gap:8px 16px;padding:24px 0;border-top:1px solid var(--line)}
.runsteps li:first-child{border-top:0;padding-top:4px}
.runsteps li::before{content:counter(s);grid-row:span 2;font:700 24px/1 var(--stamp);color:var(--petrol);padding-top:2px}
.runsteps h3{font-size:clamp(19px,1rem + .4vw,22px);line-height:1.3;font-weight:500}
.runsteps p{font-size:17px;line-height:1.55;color:var(--muted)}
@media (max-width:900px){.run{grid-template-columns:1fr}.free{position:static}}

/* how you pay: two models side by side, no figures */
.pay{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:20px;margin-top:40px}
.paycard{padding:32px;border-radius:24px;background:var(--white);box-shadow:inset 0 0 0 1px var(--line)}
.paycard > small{font:700 11px/1.3 var(--stamp);letter-spacing:.16em;text-transform:uppercase;color:var(--petrol)}
.paycard > h3{margin-top:10px;font-size:clamp(24px,1rem + 1vw,32px);line-height:1.2;font-weight:400}
.models{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:24px}
.model{padding:22px;border-radius:18px;background:var(--tint)}
.model h4{font-size:18px;font-weight:500}
.model p{margin-top:8px;font-size:16px;line-height:1.5;color:var(--muted)}
.model .k{display:inline-block;margin-top:14px;font-size:14px;color:var(--petrol)}
.paycard > p{margin-top:16px;font-size:17px;line-height:1.55;color:var(--muted)}
@media (max-width:900px){.pay{grid-template-columns:1fr}}
@media (max-width:560px){.models{grid-template-columns:1fr}}

/* community: two linked cards with real photos */
.comm{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:40px}
.comm a{display:flex;flex-direction:column;border-radius:22px;overflow:hidden;background:var(--white);box-shadow:inset 0 0 0 1px var(--line);text-decoration:none;transition:transform .2s ease}
.comm a:hover{transform:translateY(-3px)}
.comm img{width:100%;aspect-ratio:16/9;object-fit:cover}
.comm div{padding:24px 26px 26px;display:flex;flex-direction:column;gap:10px}
.comm h3{font-size:clamp(21px,1rem + .6vw,26px);font-weight:400;line-height:1.2}
.comm p{font-size:16px;line-height:1.5;color:var(--muted)}
@media (max-width:760px){.comm{grid-template-columns:1fr}}

/* how we partner */
.ptypes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:40px}
.ptypes div{padding:26px;border-top:2px solid var(--ink)}
.ptypes h3{font-size:20px;font-weight:500;line-height:1.3}
.ptypes p{margin-top:10px;font-size:16px;line-height:1.55;color:var(--muted)}
@media (max-width:860px){.ptypes{grid-template-columns:1fr}}
.logos{margin-top:32px;padding:22px 24px;border-radius:18px;border:1px dashed var(--line);color:var(--muted);font-size:15px}
.pjoin{display:flex;flex-wrap:wrap;gap:16px 28px;align-items:center;margin-top:32px}
