/* Fewer levels of copy, with readable supporting text on every screen. */
.hero-note{font-size:12px;line-height:1.6}
.preview-intro:empty{display:none}
.app-intro h2,.outlook h2,.training-usecases-heading h2{margin-top:0}
.app-entry{align-items:center}
.app-entry h3{margin:0 0 9px;color:var(--mint);font-size:22px}
.app-entry p{font-size:14px;max-width:360px}
.entry-symbol{margin-top:0}
.idea-bottom>p,.heading-row>p,.training-usecases-heading>p{font-size:15px}
.steps h3{font-size:17px}
.steps p,.training-usecase>p,.outlook-list p{font-size:14px;line-height:1.75}
.training-usecase h3{margin:0 0 12px;font-size:28px}
.sport-card p{font-size:13px}
.sports-foot p,.sports-foot .text-link,.training-usecases-action>p{font-size:13px}
.pricing-toolbar>p,.plan-summary,.pricing-note,.comparison-note{font-size:12px}
.plan-heading .tag{font-size:10px;letter-spacing:.5px}
.check-list li,.plan .button{font-size:13px}
/* Pair corresponding plan sections and benefit rows without clipping longer copy. */
@media(min-width:651px){
 .plan-grid{align-items:stretch}
 .plan-grid .check-list{display:grid;grid-template-rows:repeat(8,minmax(44px,1fr));gap:8px;align-content:stretch}
 .plan-grid .check-list li{margin:0;padding-block:2px;min-width:0}
 .plan-grid .check-list li::before{top:1px}
 .plan-grid .plan>.button{align-self:end}
 @supports(grid-template-rows:subgrid){
  .plan-grid{grid-template-rows:repeat(6,auto);row-gap:0}
  .plan-grid .plan{display:grid;grid-row:span 6;grid-template-rows:subgrid;min-width:0}
  .plan-grid .plan>*{min-width:0}
  .plan-grid .plan>.button{justify-self:stretch}
 }
}
.shared-plans>div p{font-size:14px}
.shared-plans .small-label,.shared-plans article>div span,.shared-plans article p>span{font-size:12px;letter-spacing:0}
.outlook-list .tag{font-size:11px;letter-spacing:.5px}
.roadmap-details{margin-top:0}
.roadmap-details dl{margin:0 0 10px}
.roadmap-details dl>div{padding:20px 0;border-top:1px solid var(--line)}
.roadmap-details dt{font-size:16px;font-weight:650;line-height:1.45;color:var(--text)}
.roadmap-details dd{font-size:14px;line-height:1.75;color:var(--muted);margin:8px 0 0}
.footer-bottom,.footer-bottom .text-link{font-size:12px}
.footer-legal{font-size:12px}
.mobile-more summary{font-size:13px;min-height:44px}
.membership-comparison{scroll-margin-top:28px}
.membership-comparison h3{font-size:28px;line-height:1.25;letter-spacing:-.7px;margin:28px 0 8px}
.membership-comparison table{table-layout:fixed;min-width:0;font-size:14px}
.membership-comparison caption{font-size:13px;line-height:1.6;margin:8px 0 20px;max-width:620px}
.membership-comparison th:first-child{width:64%}
.membership-comparison th:not(:first-child),.membership-comparison td{text-align:center;width:18%;font-size:15px}
.membership-comparison thead th{font-weight:700;padding-block:16px}
.membership-comparison tbody th{font-weight:550}
.membership-comparison td:last-child{background:#b5d8bd09;font-weight:700}
.membership-comparison td{vertical-align:middle}
.membership-comparison .comparison-check{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;color:var(--mint);line-height:0;vertical-align:middle}
.membership-comparison .comparison-check svg{display:block;width:22px;height:22px;margin:0}
.membership-comparison .feature-status{display:block;font-size:12px;font-weight:450;color:var(--muted);margin-top:4px}
.membership-comparison .feature-status.available{color:var(--mint)}
.membership-comparison .pro-feature th{color:#d0e5d5}
.membership-comparison tbody[hidden]{display:none}
.comparison-toggle{margin-top:20px;min-height:46px;font-size:14px}
/* Motion stays decorative; content never depends on an observer becoming ready. */
[data-reveal].will-reveal{opacity:1}
.plan{transition:border-color .25s ease,box-shadow .3s ease}
.membership-comparison tbody tr{transition:background-color .2s ease}
.mobile-more summary,.roadmap-details summary{transition:color .2s ease}
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){
 .plan:hover{border-color:#b5d8bd9c;box-shadow:0 12px 32px #0002}
 .pro-plan:hover{box-shadow:0 12px 36px #b5d8bd16,0 6px 18px #0002}
 .membership-comparison tbody tr:hover{background:#b5d8bd08}
 .mobile-more summary:hover{color:#e0f2e3}
}
@media(prefers-reduced-motion:reduce){
 .plan,.membership-comparison tbody tr,.mobile-more summary,.roadmap-details summary{transition:none}
 [data-reveal].will-reveal{transform:none}
}
@media(max-width:650px){
 .site-header .button{font-size:12px;min-height:44px}
 .hero .eyebrow{font-size:10px}
 .hero-lead{font-size:15px;line-height:1.65;max-width:320px}
 .hero-actions .text-link{font-size:12px}
 .hero-note{font-size:12px;max-width:100%}
 .hero-stage{gap:20px!important}
 .preview-intro h2{margin:0;font-size:23px}
 .preview-controls .button{font-size:13px;min-height:44px}
 .idea-bottom>p,.steps p,.heading-row>p,.app-entry p,.training-usecases-heading>p{font-size:14px;line-height:1.7}
 .app-entry h3{font-size:20px;margin:0 0 7px}
 .entry-symbol{margin-top:0}
 .sport-card p,.sports-foot p,.sports-foot .text-link{font-size:13px}
 .training-usecase h3{font-size:23px;margin:0}
 .training-usecase .mobile-more p,.outlook-list .mobile-more p{font-size:14px;line-height:1.7}
 .training-usecases-action>p{font-size:12px}
 .pricing-toolbar>p,.plan-summary,.pricing-note,.comparison-note{font-size:12px;line-height:1.65}
 .plan-heading .tag{font-size:10px}
 .check-list li,.plan .button{font-size:13px}
 .comparison summary{font-size:15px}
 .membership-comparison h3{font-size:23px;margin-top:24px}
 .membership-comparison table{font-size:13px;min-width:0}
 .membership-comparison caption{font-size:12px;line-height:1.6}
 .membership-comparison th:first-child{width:64%;overflow-wrap:anywhere}
 .membership-comparison th,.membership-comparison td{padding:14px 6px;line-height:1.5}
 .membership-comparison th:not(:first-child),.membership-comparison td{font-size:14px}
 .membership-comparison .feature-status{font-size:12px}
 .outlook-list .tag{font-size:11px}
 .outlook-list h3{font-size:20px;line-height:1.35}
 .footer-bottom,.footer-bottom .text-link,.footer-legal,.footer-top .text-link{font-size:12px}
 .demo-dialog .dialog-note{display:block;font-size:12px;line-height:1.5;margin:8px 0 0}
}

/* Richer brand accents with quiet depth behind the content. */
:root{--hero-mint:#7edbb6}
body{background-image:radial-gradient(ellipse 1100px 660px at 76% 0,#315c402d,transparent 72%);background-repeat:no-repeat}
.hero h1>span:not(.hero-middle){color:var(--hero-mint)}
.hero{isolation:isolate}
.membership-section{background:radial-gradient(ellipse 800px 460px at 12% 4%,#46765319,transparent 72%),#20251f}
.training-usecases{background:radial-gradient(ellipse 700px 340px at 88% 12%,#3a694c17,transparent 74%),#1d221e}
.closing{background:radial-gradient(ellipse 850px 380px at 20% 55%,#598e5f20,transparent 75%),linear-gradient(115deg,#293b2e,#253128);}
.feedback-section{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:28px;padding-block:46px;border-top:1px solid var(--line)}
.feedback-section h2{font-size:clamp(26px,3vw,38px);line-height:1.2;letter-spacing:-1px}
.feedback-section h2 span{color:var(--mint)}
.feedback-section p{font-size:14px;line-height:1.75;color:var(--muted);max-width:620px;margin-top:14px}
.feedback-section .button{justify-self:start}
@media(max-width:650px){.feedback-section{grid-template-columns:minmax(0,1fr);gap:20px;padding-block:32px}.feedback-section h2{font-size:28px}}
@media(min-width:651px){
 .hero::before{content:'';position:absolute;inset:-44px 14px -36px;z-index:-1;pointer-events:none;background:radial-gradient(ellipse 44% 68% at 25% 45%,#62b78c16,transparent 78%),radial-gradient(ellipse 40% 70% at 80% 48%,#73bd8d24,transparent 76%);filter:blur(16px);transform:translate(var(--ambient-x,0px),var(--ambient-y,0px));transition:transform .8s cubic-bezier(.2,.7,.2,1)}
 .hero-stage::before{background:radial-gradient(ellipse,#83c7af30,transparent 69%)}
}
@media(prefers-reduced-motion:reduce){
 .hero::before{transform:none;transition:none}
}

/* Two quiet, seamless discovery strips; pointer or keyboard focus pauses them. */
.discovery-bands{margin-top:2px}
.feature-band{border-top:1px solid #7edbb629;background:#1a2720}
.band-viewport{overflow:hidden;max-width:100%;mask-image:linear-gradient(to right,transparent,#000 16px,#000 calc(100% - 16px),transparent);-webkit-mask-image:linear-gradient(to right,transparent,#000 16px,#000 calc(100% - 16px),transparent)}
.band-viewport:focus-visible{outline:2px solid var(--mint);outline-offset:-3px}
.band-track{display:flex;width:max-content;animation:discovery-right var(--band-duration,60s) linear infinite;transform:translateX(-50%)}
.band-group{display:flex;align-items:center;justify-content:space-around;flex:0 0 auto;gap:clamp(28px,3.2vw,52px);min-width:100vw;margin:0;padding:19px clamp(24px,4.5vw,76px);list-style:none;box-sizing:border-box}
.band-group li{flex:none;white-space:nowrap}
.feature-band .band-track{animation-name:discovery-left;transform:translateX(0)}
.feature-band li{color:#c6dbcd;font-size:15px;font-weight:600;letter-spacing:-.2px}
.feature-band .band-priority{color:var(--hero-mint);font-weight:750}
.sport-band .band-group{padding-block:17px}
.sport-band li{font-size:12px;letter-spacing:1.8px;font-weight:650;color:#aabaae}
.band-viewport:hover .band-track,.band-viewport:focus-within .band-track{animation-play-state:paused}
@keyframes discovery-right{from{transform:translateX(-50%)}to{transform:translateX(0)}}
@keyframes discovery-left{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media(max-width:650px){
 .band-group{gap:28px;padding:16px 24px}
 .feature-band li{font-size:14px}
 .sport-band .band-group{padding-block:14px}
 .sport-band li{font-size:11px;letter-spacing:1.3px}
}
@media(prefers-reduced-motion:reduce){
 .band-viewport{overflow:visible;mask-image:none;-webkit-mask-image:none}
 .band-track{animation:none;transform:none;width:100%}
 .band-group{width:100%;min-width:0;justify-content:center;flex-wrap:wrap;gap:14px 24px}
 .band-group[aria-hidden="true"]{display:none}
}
