/* Public Stride Core components. The visual system is intentionally independent of the active theme. */
.stride-member-home{max-width:1000px;display:grid;grid-template-columns:1.4fr .8fr;gap:1px;margin:32px auto;border:1px solid #dfe5e8;border-radius:14px;overflow:hidden;background:#dfe5e8;color:#161b21}.stride-member-home__intro{padding:clamp(28px,5vw,58px);background:#192126;color:#fff}.stride-member-home__intro>span{color:#ccff00;font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.stride-member-home h2{margin:14px 0;font-size:clamp(32px,5vw,57px);line-height:.95;letter-spacing:-.06em}.stride-member-home__intro p{max-width:370px;margin:0;color:#bac4c8;line-height:1.6}.stride-member-home__status{display:flex;flex-direction:column;justify-content:center;padding:35px;background:#fff}.stride-member-home__status span{color:#6f7d85;font-size:11px;font-weight:800;letter-spacing:.09em;text-transform:uppercase}.stride-member-home__status strong{margin-top:10px;font-size:29px;letter-spacing:-.05em}.stride-member-home__status p{color:#637078}.stride-member-home__status a{color:#49620f;font-weight:800}.stride-member-home__links{grid-column:1/-1;display:grid;grid-template-columns:repeat(4,1fr)}.stride-member-home__links a{display:flex;align-items:center;gap:10px;padding:20px;background:#fff;color:#161b21;font-size:14px;font-weight:800;text-decoration:none;transition:.2s}.stride-member-home__links a:hover{background:#ccff00}.stride-member-home__links span{color:#87939a;font-size:11px}.stride-member-home__links b{margin-left:auto}@media(max-width:840px){.stride-member-home{grid-template-columns:1fr}.stride-member-home__links{grid-template-columns:repeat(2,1fr)}}@media(max-width:400px){.stride-member-home__links{grid-template-columns:1fr}}
.stride-membership-context{display:flex;align-items:center;justify-content:center;gap:10px;margin:-8px auto 28px;color:#53616a;font-size:13px}.stride-membership-context span{color:#78858d}.stride-membership-context strong{color:#192126}.stride-membership-context em{padding:3px 8px;border-radius:20px;background:#e8f1c9;color:#4e6515;font-size:11px;font-style:normal;font-weight:800;text-transform:uppercase}.stride-membership-notice{max-width:1000px;margin:20px auto -12px;padding:12px 15px;border-left:4px solid #92b800;background:#f2f8df;color:#3c5310;font-size:14px;font-weight:700}.stride-status-note{padding:9px 10px;border-radius:6px;background:#f0f3f4;color:#47555d;font-size:12px}.stride-cancel-membership{border:0;padding:0;background:transparent;color:#a74040;font:700 12px/1 inherit;text-decoration:underline;cursor:pointer}
.stride-profile{display:grid;grid-template-columns:1fr auto;column-gap:32px;align-items:end}.stride-profile h2{grid-column:1/-1;margin:0;font-size:27px;letter-spacing:-.04em}.stride-profile__identity{display:flex;grid-column:1/-1;align-items:center;gap:14px;padding-bottom:6px}.stride-profile__identity img{display:block;border-radius:50%}.stride-profile__identity strong{font-size:17px}.stride-profile__identity p{margin:3px 0 0;color:#68757d}.stride-profile label{display:grid;gap:7px;color:#49555c;font-size:13px;font-weight:800}.stride-profile input{width:min(480px,100%);margin-top:0;border:1px solid #c8d1d5;border-radius:6px;padding:11px}.stride-profile button{margin-top:0;align-self:end}@media(max-width:600px){.stride-profile{grid-template-columns:1fr}.stride-profile button{width:100%}}
.stride-pricing{--stride-ink:#161b21;--stride-muted:#66717c;--stride-line:#dfe5e8;--stride-lime:#ccff00;--stride-paper:#f7f9f7;max-width:1240px;margin:48px auto;padding:clamp(28px,5vw,72px);background:var(--stride-paper);color:var(--stride-ink);font-family:inherit}.stride-pricing *{box-sizing:border-box}.stride-pricing__hero{max-width:760px;text-align:center;margin:0 auto 32px}.stride-eyebrow{display:inline-block;margin-bottom:12px;color:#5c6c32;font-size:12px;font-weight:800;letter-spacing:.13em;text-transform:uppercase}.stride-pricing h2{margin:0;font-size:clamp(38px,6vw,72px);line-height:.95;letter-spacing:-.06em}.stride-pricing__hero p{max-width:610px;margin:20px auto 0;color:var(--stride-muted);font-size:17px;line-height:1.65}.stride-cycle-switch{display:flex;width:max-content;max-width:100%;margin:0 auto 45px;padding:5px;border:1px solid var(--stride-line);border-radius:99px;background:#fff;gap:3px}.stride-cycle-switch button{display:flex;align-items:center;gap:8px;border:0;border-radius:99px;padding:11px 18px;background:transparent;color:#66717c;font:700 14px/1 inherit;cursor:pointer;transition:.2s}.stride-cycle-switch button span{padding:3px 6px;border-radius:99px;background:#e7f4bd;color:#4b5e21;font-size:10px;text-transform:uppercase}.stride-cycle-switch button.is-active{background:var(--stride-ink);color:#fff}.stride-cycle-switch button.is-active span{background:#b8ed00;color:#172000}.stride-plan-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;align-items:stretch}.stride-plan-card{position:relative;display:flex;flex-direction:column;min-height:575px;padding:30px;border:1px solid var(--stride-line);border-radius:18px;background:#fff;box-shadow:0 8px 32px rgb(19 34 38 / 4%);overflow:hidden;transition:transform .25s,box-shadow .25s}.stride-plan-card:hover{transform:translateY(-7px);box-shadow:0 20px 38px rgb(19 34 38 / 12%)}.stride-plan-card.is-featured{border:2px solid var(--stride-ink);background:var(--stride-ink);color:#fff}.stride-plan-card__badge{position:absolute;top:0;right:22px;padding:7px 12px;border-radius:0 0 9px 9px;background:var(--stride-lime);color:#172000;font-size:10px;font-weight:900;letter-spacing:.09em;text-transform:uppercase}.stride-plan-card__heading{display:flex;align-items:center;gap:12px;margin-bottom:25px}.stride-plan-card__mark{display:grid;width:31px;height:31px;place-items:center;border-radius:50%;background:#ecf1e9;color:#263116;font-weight:900}.is-featured .stride-plan-card__mark{background:var(--stride-lime);color:#182000}.stride-plan-card h3{margin:0;font-size:27px;letter-spacing:-.04em}.stride-plan-card__features{margin:0;padding:0;list-style:none;color:#52606a;font-size:14px;line-height:1.43}.is-featured .stride-plan-card__features{color:#d6dcdf}.stride-plan-card__features li{position:relative;margin:0 0 13px;padding-left:23px}.stride-plan-card__features li::before{content:'✓';position:absolute;left:0;color:#698d0e;font-weight:900}.is-featured .stride-plan-card__features li::before{color:var(--stride-lime)}.stride-plan-card__price{display:flex;align-items:baseline;gap:7px;margin:auto 0 20px;padding-top:24px}.stride-price{font-size:45px;font-weight:900;line-height:1;letter-spacing:-.06em}.stride-price__period{font-size:14px;font-weight:700;color:#74808a}.is-featured .stride-price__period{color:#c7d0d3}.stride-join{display:flex;justify-content:space-between;align-items:center;width:100%;border:1px solid var(--stride-ink);border-radius:8px;padding:15px 17px;background:transparent;color:var(--stride-ink);font:800 14px/1 inherit;cursor:pointer;transition:.2s}.stride-join:hover{background:var(--stride-lime);border-color:var(--stride-lime)}.is-featured .stride-join{border-color:var(--stride-lime);background:var(--stride-lime);color:#182000}.is-featured .stride-join:hover{background:#fff;border-color:#fff}.stride-pricing__note{margin:26px 0 0;text-align:center;color:var(--stride-muted);font-size:13px}.stride-dashboard,.stride-classes,.stride-plans,.stride-notifications,.stride-profile{max-width:1000px;margin:32px auto;padding:25px;border:1px solid var(--stride-line);border-radius:14px;background:#fff;color:var(--stride-ink)}.stride-classes,.stride-plans{display:grid;gap:18px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.stride-classes article,.stride-plans article,.stride-notifications article{padding:20px;border:1px solid var(--stride-line);border-radius:10px}.stride-book,.stride-profile button{margin-top:10px;border:0;border-radius:6px;padding:12px 16px;background:var(--stride-ink);color:#fff;font-weight:800;cursor:pointer}@media(max-width:840px){.stride-plan-grid{grid-template-columns:1fr}.stride-plan-card{min-height:auto}.stride-pricing{margin:20px auto;padding:28px 18px}.stride-cycle-switch{margin-bottom:28px}}@media(max-width:400px){.stride-cycle-switch button{padding:10px}.stride-cycle-switch button span{display:none}}
