/* One continuous dark palette, with mint reserved for the main ideas. */
.key-word{color:var(--hero-mint,#7edbb6);font-weight:inherit}
.idea h2 span,.app-intro h2 span,.training-usecases-heading h2 span,.outlook h2 span,.feedback-section h2 span,.closing h2 span{color:var(--hero-mint,#7edbb6)}
.sports-section{background:linear-gradient(180deg,var(--bg) 0%,#1d2b23 16%,#203228 48%,#1c2922 82%,var(--bg) 100%);color:var(--text)}
/* Two clear training pillars, followed by a compact social invitation. */
.sports-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:36px;margin-bottom:38px}
.sports-kicker{font-size:11px;font-weight:750;letter-spacing:1.8px;margin:0 0 18px;color:#a5bcae}
.sports-heading h2{font-size:clamp(40px,4.4vw,64px);line-height:1.08;letter-spacing:-2.5px}
.sports-heading h2 span{color:var(--hero-mint,#7edbb6)}
.sports-heading>p{max-width:300px;font-size:15px;line-height:1.65;color:#bdc9c0;margin-bottom:4px}
.training-stories{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.training-story{min-width:0;background:#18251e;color:#f5f5eb;border:1px solid #b5d8bd24;border-radius:20px;overflow:hidden;display:flex;flex-direction:column;box-shadow:var(--sc-shadow-raised)}
.story-photo{height:320px;position:relative;overflow:hidden;isolation:isolate;background:#36483b}
.story-photo>img{width:100%;height:100%;object-fit:cover;transition:transform .65s cubic-bezier(.2,.7,.2,1)}
.gym-story .story-photo>img{object-position:50% 43%}
.routes-story .story-photo>img{object-position:50% 44%}
.story-photo::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(180deg,#07160f45,transparent 42%,#07160f80)}
.story-sport{position:absolute;top:20px;left:24px;z-index:2;display:flex;align-items:center;gap:9px;font-size:13px;font-weight:650;text-shadow:0 1px 10px #0009}
.story-sport svg,.sports-connections svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}
.story-timer{position:absolute;bottom:20px;left:24px;z-index:2;background:#12251ef2;border:1px solid #d5f4dd26;border-radius:14px;padding:13px 18px;display:grid;gap:3px;min-width:180px;box-shadow:0 10px 30px #0002}
.story-timer>span:first-child{font-size:12px;font-weight:650;color:#ceecdb}
.story-timer strong{font-size:37px;line-height:1.15;letter-spacing:-1.4px;font-weight:650;font-variant-numeric:tabular-nums}
.story-timer strong span{color:#82cdb5}
.story-timer>span:last-child{font-size:10px;color:#b2c3b9}
.story-development{position:absolute;left:24px;bottom:24px;z-index:2;padding:8px 12px;border:1px solid #ffffff4d;background:#15291ee8;border-radius:6px;font-size:12px;font-weight:600;color:#e2ecdf}
.story-copy{display:flex;flex-direction:column;align-items:flex-start;padding:30px 32px 32px;flex:1}
.story-copy h3{font-size:clamp(29px,2.5vw,38px);line-height:1.13;letter-spacing:-1.2px;margin:0 0 18px}
.story-copy h3 span{color:var(--hero-mint,#7edbb6)}
.story-copy>p{font-size:14px;line-height:1.75;color:#c2cfc5;max-width:480px;margin:0}
.story-features{display:flex;flex-wrap:wrap;gap:8px 18px;padding:0;margin:22px 0 27px;list-style:none;font-size:12px;line-height:1.6;color:#dfeae0}
.story-features li{position:relative;padding-left:13px}
.story-features li::before{content:"";position:absolute;top:.65em;left:0;width:4px;height:4px;border-radius:50%;background:#82cdb5}
.story-copy>.button{margin-top:auto;min-height:48px;font-size:13px}
.routes-story .button-line{border-color:#a2c5ae69;color:#e2f1e7}
.sports-connections{display:grid;grid-template-columns:1.15fr repeat(3,1fr);gap:24px;margin-top:32px;padding-top:28px;border-top:1px solid #b5d8bd29;align-items:center}
.sports-connections-intro h3{font-size:20px;letter-spacing:-.6px;line-height:1.25;margin:0 0 7px}
.sports-connections-intro p{font-size:12px;line-height:1.6;color:#bdc9c0;margin:0}
.sports-connections>div:not(:first-child){display:flex;gap:13px;align-items:center}
.sports-connections svg{color:var(--hero-mint,#7edbb6);width:27px;height:27px}
.sports-connections strong{font-size:13px;font-weight:750;display:block;margin-bottom:5px}
.sports-connections>div>span>span{font-size:12px;line-height:1.5;color:#bdc9c0;display:block}
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){.training-story:hover .story-photo>img{transform:scale(1.025)}}
@media(max-width:1000px){.sports-heading>p{max-width:235px}.story-copy{padding:26px 24px}.story-photo{height:290px}.sports-connections{grid-template-columns:repeat(3,1fr);gap:20px}.sports-connections-intro{grid-column:1/-1}.sports-connections-intro p{display:none}.story-features{display:grid;gap:6px}}
@media(max-width:700px){
 .sports-heading{display:block;margin-bottom:25px}.sports-kicker{font-size:10px;letter-spacing:1.4px;margin-bottom:15px}.sports-heading h2{font-size:clamp(34px,7.6vw,48px);letter-spacing:-1.7px}.sports-heading>p{font-size:14px;max-width:350px;margin:17px 0 0}
 .training-stories{grid-template-columns:1fr;gap:20px}.story-photo{height:260px}.gym-story .story-photo>img{object-position:50% 46%}.story-sport{left:20px;top:18px}.story-timer{left:14px;bottom:14px;padding:11px 12px;min-width:0;width:134px}.story-timer strong{font-size:31px}.story-development{left:20px;bottom:20px;font-size:11px}
 .story-copy{padding:25px 23px 27px}.story-copy h3{font-size:32px;margin-bottom:15px}.story-copy>p{font-size:14px;line-height:1.65}.story-features{display:flex;gap:7px 16px;margin:19px 0 22px;font-size:12px}.story-copy>.button{width:100%;font-size:12px}
 .sports-connections{grid-template-columns:1fr;gap:22px;margin-top:27px;padding-top:25px}.sports-connections-intro{grid-column:auto}.sports-connections-intro h3{font-size:23px;margin:0}.sports-connections strong{font-size:14px}.sports-connections>div>span>span{font-size:13px}
}
@media(prefers-reduced-motion:reduce){.story-photo>img{transition:none;transform:none}}
/* A direct invitation to find training partners, without adding another carousel. */
.idea h2 span{color:var(--hero-mint,#7edbb6)}
.idea .idea-bottom{grid-template-columns:minmax(250px,.9fr) minmax(0,2fr);gap:clamp(30px,5vw,68px);margin-top:38px}
.idea-intro>p{max-width:330px;color:var(--muted);font-size:16px;line-height:1.75}
.idea-intro .idea-promise{margin-top:16px;color:var(--text);font-weight:650}
.idea-intro .button{margin-top:24px;white-space:normal;text-align:center}
.idea-intro>small{display:block;max-width:290px;margin-top:13px;font-size:11px;line-height:1.6;color:var(--muted)}
.idea .steps{gap:24px}
.idea .steps article{display:block;border-top:1px solid #b5d8bd40;padding-top:22px}
.idea .steps .idea-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:13px;background:#b5d8bd10;color:var(--mint);padding:0}
.idea-icon svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.idea .steps h3{margin:20px 0 13px;font-size:19px;line-height:1.35;letter-spacing:-.5px}
.idea .steps p{font-size:14px;line-height:1.7}
@media(max-width:1000px){.idea .idea-bottom{grid-template-columns:1fr;gap:30px}.idea-intro>p{max-width:600px}.idea-intro>small{max-width:none}}
@media(max-width:650px){.idea .idea-bottom{margin-top:22px;gap:27px}.idea-intro>p{font-size:15px}.idea .steps{gap:0}.idea .steps article{display:grid;grid-template-columns:42px minmax(0,1fr);column-gap:15px;padding-block:20px}.idea .steps .idea-icon{grid-row:1/3}.idea .steps h3{margin:0 0 8px;font-size:18px}.idea .steps p{grid-column:2;font-size:13px}}
.story-plan-pro{display:inline-block;margin-bottom:14px;color:#b5d8bd;font-size:10px;letter-spacing:1.6px;font-weight:750}
.training-browser-note{display:block;margin-top:10px;color:var(--muted);font-size:11px;line-height:1.6}

/* A consistent, restrained elevation scale for the main content surfaces. */
:root{--sc-shadow-soft:0 2px 5px rgb(0 0 0 / .12),0 8px 18px -8px rgb(0 0 0 / .24);--sc-shadow-raised:0 3px 8px rgb(0 0 0 / .13),0 20px 40px -15px rgb(3 12 8 / .38),inset 0 1px 0 rgb(211 245 226 / .035);--sc-shadow-dialog:0 12px 30px rgb(0 0 0 / .24),0 30px 72px -14px rgb(0 0 0 / .45)}
.plan-grid .plan,.creator-art{box-shadow:var(--sc-shadow-raised)}
.plan-grid .pro-plan{box-shadow:0 3px 8px rgb(0 0 0 / .12),0 20px 40px -15px rgb(3 12 8 / .32),inset 0 1px 0 rgb(255 255 255 / .24)}
.idea .steps .idea-icon,.app-entry .entry-symbol,.button-mint,.button-dark{box-shadow:var(--sc-shadow-soft)}
.story-timer{box-shadow:0 3px 9px rgb(0 0 0 / .17),0 14px 28px -9px rgb(0 0 0 / .35),inset 0 1px 0 rgb(211 245 226 / .06)}
.credits-dialog{box-shadow:var(--sc-shadow-dialog)}
@media(forced-colors:active){
 :root{--sc-shadow-soft:none;--sc-shadow-raised:none;--sc-shadow-dialog:none}
 .plan-grid .pro-plan,.story-timer{box-shadow:none}
}
