@layer reset,base,components,responsive;
@layer reset{*{box-sizing:border-box}body,h1,h2,h3,p{margin:0}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit;text-decoration:none}img,svg,video{max-width:100%}button:disabled{cursor:not-allowed} [hidden]{display:none!important}}
@layer base{
:root{--paper:#f6f5ef;--ink:#203c32;--muted:#68736b;--line:#d9ddd0;--lime:#d8e9ae;--green:#285b46;--soft:#eeeee4;--serif:Georgia,'Times New Roman',serif;--sans:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;color-scheme:light;font-family:var(--sans);color:var(--ink);background:var(--paper);font-synthesis:none}body{font-size:14px;line-height:1.6}button{border:0;background:none;color:inherit}h1,h2,h3{font-weight:400}h1,h2{font-family:var(--serif);line-height:1.06;letter-spacing:-.055em}h1{font-size:clamp(48px,6.5vw,92px)}h2{font-size:clamp(36px,4vw,55px)}h3{font-size:18px;letter-spacing:-.03em}p{line-height:1.75}.muted{color:var(--muted)}.eyebrow{font-size:10px;letter-spacing:.16em;font-weight:600;text-transform:uppercase}.fine-print{font-size:12px;color:var(--muted);line-height:1.6}.skip{position:fixed;top:10px;opacity:0;pointer-events:none;left:12px;z-index:20;padding:10px 20px;background:var(--ink);color:white}.skip:focus{opacity:1;pointer-events:auto}:focus-visible{outline:2px solid var(--green);outline-offset:5px}::selection{background:var(--lime);color:var(--ink)}input,select{background:transparent;border:1px solid #b9c4b5;border-radius:6px;color:var(--ink);padding:12px 14px;min-width:0;width:100%;outline-offset:2px}input::placeholder{color:#7b847c}.field{display:grid;gap:7px;font-size:12px;font-weight:500}button:disabled{opacity:.45}main{max-width:1440px;min-height:72vh;margin:auto;padding:0 64px}.site-header{height:100px;max-width:1568px;padding:0 64px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:25px;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:10px;font-size:24px;font-weight:650;letter-spacing:-1.3px}.brand-dot{color:#77924e}.primary-nav{display:flex;gap:32px;align-self:stretch;align-items:center}.primary-nav a{font-size:12px;position:relative;color:var(--muted)}.primary-nav a.active{color:var(--ink)}.primary-nav a.active:after{content:'';position:absolute;height:3px;background:var(--ink);bottom:-39px;left:0;right:0}.header-actions{display:flex;gap:24px;align-items:center}.preview-tag{font-size:8px;letter-spacing:.12em;color:var(--muted)}.login-link{font-size:12px}.login-link span{margin-left:9px}.avatar{width:34px;height:34px;border-radius:50%;background:var(--ink);color:var(--lime);font-size:12px}.site-footer{max-width:1440px;margin:75px auto 0;padding:28px 64px;display:flex;align-items:center;justify-content:space-between;gap:20px;border-top:1px solid var(--line);color:var(--muted);font-size:11px}.site-footer .brand{font-size:19px;color:var(--ink)}.text-button{font-size:12px;padding:0;border-bottom:1px solid currentColor;line-height:1.8}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:32px;padding:14px 22px;border-radius:5px;font-size:12px;font-weight:500;min-height:48px;transition:background .15s,transform .15s}.button:hover{transform:translateY(-1px)}.dark{background:var(--ink);color:var(--paper)}.dark:hover{background:#335443}.light{background:var(--paper);color:var(--ink)}.outline{border:1px solid var(--line)}.button span[aria-hidden]{font-size:20px;line-height:1}.icon-button{width:36px;height:36px;font-size:25px;line-height:1;border-radius:50%}.icon-button:hover{background:var(--soft)}}
@layer components{
.page-top{display:flex;align-items:center;justify-content:space-between;padding:31px 0 24px;color:var(--muted)}.edition{display:flex;gap:10px;align-items:center}.status-dot{width:5px;height:5px;border-radius:50%;background:#769e5f;display:inline-block}.hero{display:grid;grid-template-columns:1fr 1.04fr;gap:54px;align-items:center;padding:6px 0 52px}.hero-copy{padding:8px 0 0}.hero-copy .eyebrow{display:block;margin-bottom:24px;color:var(--muted)}.hero h1 em{font-weight:400;color:#748868}.hero-copy>p{max-width:365px;color:var(--muted);font-size:13px;margin:24px 0 25px}.hero-actions{display:flex;align-items:center;gap:25px;flex-wrap:wrap}.hero-note{font-size:10px;color:var(--muted);margin-top:16px;display:flex;gap:8px;align-items:center}.hero-visual{position:relative;background:#e2e6d3;min-height:435px;border-radius:9px;overflow:hidden;isolation:isolate}.visual-top{position:absolute;top:23px;left:25px;right:25px;display:flex;justify-content:space-between;align-items:center;z-index:2;font-size:9px;letter-spacing:.12em}.visual-top .pill{background:#f7f8efb5;border:1px solid #fff9;border-radius:20px;padding:5px 10px;font-size:8px}.visual-grain{position:absolute;inset:0;opacity:.17;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' opacity='.3' filter='url(%23n)'/%3E%3C/svg%3E");pointer-events:none;z-index:3}.court-art{width:100%;height:435px;display:block}.visual-bottom{position:absolute;bottom:22px;left:25px;right:25px;display:flex;justify-content:space-between;align-items:flex-end;z-index:4}.visual-caption{font-size:10px;line-height:1.5;color:#f5f7e8}.visual-caption strong{font-family:var(--serif);font-size:20px;display:block;font-weight:400;letter-spacing:-.5px}.play-button{width:44px;height:44px;border:1px solid #f5f7e8a6;border-radius:50%;background:#fff2;color:white;display:grid;place-items:center;backdrop-filter:blur(5px);font-size:13px}.play-button:hover{background:#fff4}.visual-foot{position:absolute;bottom:0;left:0;right:0;height:110px;background:linear-gradient(transparent,#15382c90);z-index:1}.rally-path{stroke-dasharray:7 8}.court-shuttle{filter:drop-shadow(0 0 5px #fff9)}.principles{display:flex;gap:26px;justify-content:space-between;padding:18px 0 24px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);color:var(--muted);font-size:10px}.principles span{display:flex;align-items:center;gap:10px}.principles b{font-size:10px;font-weight:400;color:#98a58a}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;margin:35px 0 20px;gap:20px}.section-heading h2{font-size:33px;letter-spacing:-.045em}.section-heading .eyebrow{display:block;color:var(--muted);margin-bottom:9px}.section-heading .text-button{font-size:11px}.session-collection{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.session-tile{display:block;width:100%;text-align:left;padding:0;min-width:0}.session-art{height:175px;position:relative;border-radius:6px;overflow:hidden;background:#dbe2d3;transition:transform .2s}.session-tile:hover .session-art{transform:translateY(-3px)}.session-art .mini-court{width:100%;height:100%;object-fit:cover}.session-art .tile-arrow{position:absolute;right:13px;bottom:12px;background:var(--paper);width:29px;height:29px;border-radius:50%;display:grid;place-items:center}.sample-label{position:absolute;top:12px;left:13px;font-size:8px;letter-spacing:.1em;background:#f6f5efdc;padding:3px 6px;border-radius:2px}.tile-meta{display:flex;justify-content:space-between;gap:12px;margin-top:14px;align-items:center}.tile-meta h3{font-size:13px;font-weight:500;letter-spacing:0}.tile-meta span{font-size:10px;color:var(--muted);flex-shrink:0}.tile-sub{font-size:10px;color:var(--muted);margin-top:4px}.new-tile .session-art{background:transparent;border:1px dashed #b6c2ac;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:13px}.plus{font-size:29px;font-weight:300}.new-tile .session-art p{font-size:11px}.session-page-head{display:flex;align-items:flex-end;justify-content:space-between;padding:57px 0 35px;gap:20px}.session-page-head h1{font-size:65px}.session-page-head p{margin-top:14px;color:var(--muted);font-size:13px}.filter-row{display:flex;gap:24px;align-items:center;border-bottom:1px solid var(--line);padding:0 0 15px;margin-bottom:25px}.filter{padding:5px 0;font-size:12px;color:var(--muted)}.filter.active{color:var(--ink);box-shadow:0 2px var(--ink)}.search-field{margin-left:auto;max-width:230px;font-size:12px;padding:8px 12px}.empty-state{grid-column:1/-1;padding:55px 0;border-top:1px solid var(--line)}.empty-state h3{font-family:var(--serif);font-size:30px}.empty-state p{margin-top:10px;color:var(--muted)}.session-detail{padding-top:30px}.back-link{font-size:11px;color:var(--muted);display:inline-block;margin-bottom:22px}.detail-head{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-bottom:26px}.detail-head h1{font-size:50px}.detail-head p{font-size:11px;color:var(--muted);margin-top:9px}.detail-stage{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:30px}.detail-video{aspect-ratio:16/10;background:#dfe4d4;border-radius:8px;overflow:hidden;position:relative}.detail-video .court-art{height:100%}.detail-video video{width:100%;height:100%;object-fit:contain;background:#172d24}.detail-video .visual-top{pointer-events:none}.no-video{display:grid;place-items:center;height:100%;padding:25px;text-align:center}.no-video h3{font-family:var(--serif);font-size:30px}.no-video p{font-size:12px;color:var(--muted);max-width:300px;margin:14px auto}.detail-notes{border-top:1px solid var(--line);padding-top:19px}.detail-notes .eyebrow{color:var(--muted)}.detail-notes h2{font-size:30px;margin:18px 0}.detail-notes p{font-size:12px;color:var(--muted)}.detail-notes .button{margin-top:22px;width:100%;gap:10px}.detail-line{display:flex;justify-content:space-between;border-bottom:1px solid var(--line);padding:14px 0;font-size:11px}.detail-line span{color:var(--muted)}.rally-strip{margin:23px 0;padding:18px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;align-items:center;gap:18px}.rally-strip label{font-size:11px;flex-shrink:0}.rally-strip input{padding:0;accent-color:var(--green)}.rally-strip output{font-size:11px;min-width:58px}.detail-tabs{display:flex;gap:25px;margin:30px 0 15px;border-bottom:1px solid var(--line)}.detail-tab{font-size:12px;padding:0 0 13px;color:var(--muted)}.detail-tab.active{color:var(--ink);box-shadow:0 2px var(--ink)}.detail-content{min-height:140px;max-width:780px;font-size:13px}.detail-content h3{font-family:var(--serif);font-size:30px;margin-bottom:12px}.detail-content p{color:var(--muted)}.sample-metrics{display:flex;flex-wrap:wrap;gap:40px;margin-top:25px}.sample-metrics strong{font-family:var(--serif);display:block;font-size:32px;font-weight:400}.sample-metrics span{font-size:10px;color:var(--muted)}.membership-head{padding:65px 0 45px;text-align:center}.membership-head .eyebrow{color:var(--muted);margin-bottom:20px;display:block}.membership-head h1{font-size:70px}.membership-head p{max-width:490px;margin:22px auto 0;color:var(--muted);font-size:13px}.pricing{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.price-tier{padding:29px 28px 31px;border-right:1px solid var(--line)}.price-tier:first-child{padding-left:0}.price-tier:last-child{border:0;padding-right:0}.price-tier.featured{background:#eaf0dc}.price-tier .eyebrow{color:var(--muted)}.price-tier h2{font-family:var(--sans);font-size:19px;letter-spacing:-.03em;margin-top:14px}.price{font-family:var(--serif);font-size:60px;letter-spacing:-.06em;margin:14px 0 0;line-height:1.2}.price small{font-family:var(--sans);font-size:11px;letter-spacing:0;color:var(--muted)}.allowance{font-size:12px;margin:12px 0 22px}.price-tier ul{list-style:none;padding:0;margin:22px 0;font-size:12px;line-height:2.4;color:var(--muted)}.price-tier li:before{content:'↗';margin-right:10px;color:var(--green)}.price-tier .button{width:100%}.pricing-note{font-size:11px;color:var(--muted);margin-top:20px;text-align:center}.faq{max-width:800px;margin:50px auto}.faq h2{font-size:35px;margin-bottom:22px}.faq details{border-top:1px solid var(--line);padding:18px 0}.faq summary{cursor:pointer;font-size:13px}.faq details p{font-size:12px;color:var(--muted);padding-top:15px;max-width:650px}.auth-layout{display:grid;grid-template-columns:1fr 1fr;min-height:650px;padding:45px 0;gap:70px;align-items:center}.auth-art{height:640px;min-height:570px;background:#e0e7d3;border-radius:8px;position:relative;overflow:hidden}.auth-art .court-art{position:absolute;height:100%;inset:0}.auth-art .visual-foot{height:50%;background:linear-gradient(transparent,#15382cbd)}.auth-quote{position:absolute;bottom:35px;left:35px;right:35px;z-index:4;color:#f8f6ed}.auth-quote h2{font-size:47px;max-width:340px}.auth-quote p{font-size:11px;margin-top:18px;color:#e5eddb}.auth-form-wrap{max-width:360px;width:100%;padding:25px 0}.auth-form-wrap>.eyebrow{color:var(--muted)}.auth-form-wrap h1{font-size:51px;margin:17px 0}.auth-form-wrap>p{color:var(--muted);font-size:12px;margin-bottom:25px}.auth-form{display:grid;gap:16px}.password-wrap{position:relative}.password-wrap input{padding-right:60px}.password-toggle{position:absolute;right:10px;top:10px;font-size:10px;padding:4px}.auth-form .button{width:100%;margin-top:4px}.auth-alternative{font-size:11px;color:var(--muted);margin-top:22px}.auth-alternative a{text-decoration:underline;color:var(--ink)}.auth-divider{display:flex;align-items:center;gap:15px;margin:20px 0;font-size:9px;letter-spacing:.1em;color:var(--muted)}.auth-divider:before,.auth-divider:after{content:'';height:1px;background:var(--line);flex:1}.auth-note{border-left:2px solid #a5b789;padding:0 0 0 12px;font-size:10px;color:var(--muted);margin-top:22px}.form-error{color:#a23e30;font-size:12px;min-height:18px}.auth-links{display:flex;justify-content:space-between;font-size:11px}.auth-links a{text-decoration:underline}.check-field{display:flex;align-items:flex-start;gap:9px;font-size:11px;color:var(--muted)}.check-field input{width:14px;height:14px;margin-top:3px;accent-color:var(--green)}.account-surface{max-width:620px;padding:65px 0}.account-surface h1{font-size:60px;margin-bottom:25px}.account-surface .button{margin-top:20px}.account-surface p{color:var(--muted);margin-bottom:18px}.preview-banner{padding:12px 16px;background:#e9eedb;border-radius:4px;font-size:11px;margin-bottom:25px;display:flex;justify-content:space-between;gap:15px}dialog{border:0;border-radius:12px;padding:30px;width:min(590px,calc(100% - 32px));background:var(--paper);color:var(--ink);box-shadow:0 30px 100px #10281c33;max-height:90dvh;overflow:auto}dialog::backdrop{background:#172d2480;backdrop-filter:blur(5px)}.dialog-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px;color:var(--muted)}dialog h2{font-size:48px;margin-bottom:15px}dialog p{font-size:12px}dialog #info-body p{margin:14px 0;color:var(--muted)}dialog #info-body ul{font-size:12px;color:var(--muted);padding-left:20px}dialog #info-body .button{margin-top:15px}.drop-zone{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:185px;border:1px dashed #a2b394;border-radius:7px;background:#edf0e4;margin:24px 0;gap:7px;position:relative;text-align:center;padding:20px;cursor:pointer}.drop-zone.dragging{background:#dbe8c7;border-color:var(--green)}.drop-zone input{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%;height:100%}.drop-zone:focus-within{outline:2px solid var(--green);outline-offset:3px}.drop-zone strong{font-size:13px;font-weight:500}.drop-zone>span:not(.upload-icon){font-size:10px;color:var(--muted)}.upload-icon{font-size:31px;font-weight:300}#selected-file{max-width:100%;overflow-wrap:anywhere}.form-row{display:grid;grid-template-columns:1fr 110px;gap:16px}#upload-form>.button{width:100%;margin-top:20px}.toast{position:fixed;bottom:25px;left:50%;transform:translate(-50%,20px);background:var(--ink);color:var(--paper);padding:13px 22px;border-radius:6px;font-size:12px;box-shadow:0 10px 25px #152f2030;z-index:10;opacity:0;pointer-events:none;transition:opacity .2s,transform .2s;max-width:calc(100% - 32px)}.toast.visible{opacity:1;transform:translate(-50%,0)}.noscript{padding:30px;text-align:center}.notice-inline{font-size:11px;color:var(--muted);padding:14px 0;border-bottom:1px solid var(--line)}
}
@layer responsive{
@media(min-width:1500px){.hero{gap:80px}.hero-visual,.court-art{min-height:470px}}
@media(max-width:1100px){main{padding:0 35px}.site-header{padding:0 35px}.hero{gap:30px}.hero h1{font-size:68px}.hero-visual{min-height:400px}.court-art{height:400px}.preview-tag{display:none}.primary-nav{gap:23px}.auth-layout{gap:40px}.site-footer{padding:25px 35px}.principles{gap:10px}.detail-stage{grid-template-columns:minmax(0,1fr) 240px}}
@media(max-width:780px){.site-header{height:84px;flex-wrap:wrap;position:relative;padding:0 24px;gap:0}.brand{font-size:22px}.brand img{width:26px;height:26px}.primary-nav{order:3;position:absolute;top:84px;left:0;right:0;height:46px;justify-content:center;border-bottom:1px solid var(--line);gap:35px;background:var(--paper)}.primary-nav a.active:after{bottom:-15px;height:2px}.header-actions{gap:15px}main{padding:46px 24px 0}.page-top{padding:25px 0 20px}.hero{grid-template-columns:1fr;gap:30px;padding-bottom:30px}.hero-copy{padding-top:10px}.hero h1{font-size:76px}.hero-copy>p{max-width:420px}.hero-visual{min-height:390px}.court-art{height:390px}.hero-copy .eyebrow{margin-bottom:18px}.principles{flex-wrap:wrap;justify-content:flex-start;gap:12px 25px}.session-collection{grid-template-columns:repeat(2,1fr);gap:25px 18px}.session-art{height:180px}.site-footer{padding:25px 24px;flex-wrap:wrap;gap:16px}.site-footer>span{order:3;flex-basis:100%}.session-page-head{padding-top:35px}.session-page-head h1{font-size:55px}.detail-stage{grid-template-columns:1fr}.detail-notes{display:grid;grid-template-columns:1fr 1fr;gap:0 25px}.detail-notes .button{align-self:start}.detail-notes>p{grid-column:1/-1}.detail-head{align-items:flex-start}.detail-head h1{font-size:40px}.detail-head>.button{padding:10px;min-width:90px;gap:5px}.pricing{grid-template-columns:1fr}.price-tier,.price-tier:first-child,.price-tier:last-child{padding:25px 20px;border-right:0;border-bottom:1px solid var(--line)}.price-tier:last-child{border-bottom:0}.price-tier ul{display:grid;grid-template-columns:1fr 1fr;line-height:1.8;gap:8px}.membership-head{padding:40px 0}.membership-head h1{font-size:58px}.auth-layout{grid-template-columns:1fr;padding:35px 0;min-height:auto;gap:30px}.auth-form-wrap{max-width:440px;margin:auto;order:1}.auth-art{order:2;min-height:260px;max-height:290px}.auth-quote h2{font-size:35px}.auth-quote{bottom:25px;left:25px}.filter-row{flex-wrap:wrap;gap:20px}.search-field{max-width:none;flex-basis:100%;order:2}.session-page-head .button{gap:10px}}
@media(max-width:480px){main{padding:46px 20px 0}.site-header{padding:0 20px}.hero h1{font-size:65px}.hero-copy>p{font-size:12px}.hero-actions{gap:20px}.hero-visual{min-height:345px}.court-art{height:345px}.visual-top{left:18px;right:18px;top:18px}.visual-bottom{left:18px;right:18px;bottom:18px}.session-collection{grid-template-columns:1fr}.session-art{height:210px}.section-heading h2{font-size:29px}.principles{font-size:9px}.session-page-head{align-items:flex-start;flex-direction:column;gap:22px}.session-page-head h1{font-size:55px}.detail-head{flex-wrap:wrap}.detail-head h1{font-size:42px}.detail-video{aspect-ratio:4/3}.detail-notes{display:block}.detail-notes .button{max-width:260px}.detail-tabs{gap:20px}.sample-metrics{gap:25px}.form-row{grid-template-columns:1fr}.membership-head h1{font-size:50px}.price-tier ul{grid-template-columns:1fr}.auth-form-wrap h1{font-size:48px}.auth-links{gap:15px}.edition .eyebrow{font-size:8px}.page-top>.eyebrow{font-size:8px}dialog{padding:23px}dialog h2{font-size:42px}.preview-banner{flex-direction:column}.button{min-height:46px}.primary-nav a{font-size:11px}.primary-nav{gap:26px}.rally-strip{gap:10px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
}

/* Studio v2: neutral type, practical controls, less decoration. */
:root {
  --paper: #fafafa;
  --ink: #182029;
  --muted: #66717c;
  --line: #dfe3e7;
  --lime: #e9eef4;
  --green: #285774;
  --soft: #f0f2f4;
  --sans: Arial, Helvetica, sans-serif;
  --serif: Arial, Helvetica, sans-serif;
  --accent: #e35a37;
}
body { font-size: 14px; }
h1, h2, h3 { font-family: var(--sans); font-weight: 600; }
h1, h2 { letter-spacing: -.045em; line-height: 1.08; }
p { line-height: 1.65; }
.eyebrow { font-size: 10px; letter-spacing: .08em; font-weight: 600; }
main { max-width: 1360px; padding: 0 48px; }
.site-header { height: 80px; max-width: 1456px; padding: 0 48px; gap: 32px; }
.brand { font-size: 25px; font-weight: 700; letter-spacing: -1.5px; gap: 0; }
.brand-dot { color: var(--accent); }
.primary-nav { margin-right: auto; margin-left: 55px; gap: 28px; }
.primary-nav a, .login-link { font-size: 13px; }
.primary-nav a.active { font-weight: 600; }
.primary-nav a.active:after { display: none; }
.header-actions { gap: 22px; }
.preview-tag { font-size: 9px; letter-spacing: .06em; }
.avatar { background: var(--ink); color: white; border-radius: 3px; }
.page-top { padding: 34px 0 22px; }
.hero { grid-template-columns: 1fr 1fr; gap: 65px; padding: 10px 0 48px; }
.hero-copy { padding: 0; }
.hero h1 { font-size: clamp(44px, 4.5vw, 64px); line-height: 1.04; letter-spacing: -.055em; max-width: 550px; }
.hero-copy > p { font-size: 14px; max-width: 390px; margin: 23px 0 28px; }
.hero-actions { gap: 22px; }
.hero-copy > .hero-note { font-size: 11px; margin: 18px 0 0; max-width: 340px; }
.button { min-height: 43px; padding: 11px 18px; border-radius: 3px; font-size: 13px; gap: 12px; justify-content: center; font-weight: 500; transition: background .12s; }
.button:hover { transform: none; }
.dark { background: var(--ink); color: #fff; }
.dark:hover { background: #34414e; }
.outline { background: transparent; border-color: #b9c1ca; }
.outline:hover { background: #f0f2f4; }
.text-button { border: 0; font-size: 12px; text-decoration: underline; text-underline-offset: 4px; }
.hero-visual { min-height: 365px; border-radius: 3px; background: #dfe7ed; }
.court-art { height: 365px; }
.visual-top { font-size: 10px; letter-spacing: .03em; top: 20px; left: 22px; right: 22px; }
.visual-top .pill { border: 0; border-radius: 2px; font-size: 9px; padding: 4px 8px; background: #ffffffe0; }
.visual-bottom { bottom: 22px; left: 22px; right: 22px; gap: 20px; align-items: flex-end; }
.visual-caption { color: white; font-size: 9px; letter-spacing: .04em; }
.visual-caption strong { font: 500 16px/1.4 var(--sans); letter-spacing: -.02em; margin-top: 5px; }
.visual-review { color: white; font-size: 11px; text-decoration: underline; text-underline-offset: 4px; white-space: nowrap; }
.visual-foot { height: 120px; background: linear-gradient(transparent, #172c3dcc); }
.visual-grain, .tile-arrow, .status-dot, .play-button { display: none; }
.section-heading { border-top: 1px solid var(--line); padding-top: 30px; margin: 0 0 22px; align-items: center; }
.section-heading h2 { font-size: 23px; letter-spacing: -.04em; }
.section-heading p { font-size: 12px; margin-top: 6px; }
.section-heading .text-button { font-size: 12px; }
.session-collection { gap: 24px; }
.session-art { height: 190px; border-radius: 3px; background: #e6ebef; }
.session-tile:hover .session-art { transform: none; opacity: .92; }
.sample-label { top: 12px; left: 12px; font-size: 9px; letter-spacing: .03em; border-radius: 1px; }
.tile-meta { margin-top: 12px; }
.tile-meta h3 { font-size: 14px; font-weight: 500; }
.tile-meta span, .tile-sub { font-size: 11px; }
.tile-sub { margin-top: 4px; }
.new-tile .session-art { border: 1px solid var(--line); background: #f1f3f5; gap: 0; }
.new-tile .session-art p { font-size: 13px; color: var(--muted); }
.new-tile .tile-meta h3 { text-decoration: underline; text-underline-offset: 4px; }
.workflow-note { display: grid; grid-template-columns: 1fr 1.5fr auto; gap: 35px; align-items: center; border-top: 1px solid var(--line); margin-top: 45px; padding-top: 26px; }
.workflow-note h2 { font-size: 19px; letter-spacing: -.035em; }
.workflow-note p { color: var(--muted); font-size: 12px; max-width: 480px; }
.workflow-note a { white-space: nowrap; }
.site-footer { max-width: 1360px; margin-top: 65px; padding: 25px 48px; font-size: 11px; }
.site-footer .brand { font-size: 20px; }
.site-footer .text-button { font-size: 11px; }
.membership-head { padding: 60px 0 28px; text-align: left; }
.membership-head .eyebrow { margin-bottom: 18px; }
.membership-head h1 { font-size: 48px; max-width: 640px; }
.membership-head p { max-width: 540px; margin: 18px 0 0; font-size: 14px; }
.billing-caption { display: flex; gap: 16px; font-size: 11px; margin-top: 34px; font-weight: 600; }
.billing-caption span { color: var(--muted); font-weight: 400; }
.pricing { border-color: var(--line); }
.price-tier, .price-tier:first-child, .price-tier:last-child { padding: 29px 30px 30px; border-right: 1px solid var(--line); }
.price-tier:first-child { padding-left: 0; }
.price-tier:last-child { padding-right: 0; border-right: 0; }
.price-tier.featured { background: transparent; border-top: 2px solid var(--accent); padding-top: 27px; }
.price-tier h2 { font-size: 21px; margin-top: 12px; }
.price { font: 600 49px/1.2 var(--sans); letter-spacing: -.055em; margin: 24px 0 0; }
.price small { font: 400 12px var(--sans); letter-spacing: 0; color: var(--muted); }
.allowance { font-size: 13px; margin: 14px 0 22px; }
.price-tier ul { font-size: 12px; line-height: 1.7; margin: 22px 0 25px; min-height: 92px; }
.price-tier li { margin: 10px 0; }
.price-tier li:before { display: none; }
.price-tier .button { width: auto; min-width: 155px; }
.pricing-note { font-size: 11px; text-align: left; margin-top: 17px; }
.faq { max-width: 760px; margin: 56px 0 0; }
.faq h2 { font-size: 24px; margin-bottom: 24px; }
.faq details { padding: 17px 0; }
.faq summary { font-size: 13px; }
.faq details p { font-size: 13px; }
.auth-layout { display: block; max-width: 390px; margin: auto; min-height: 630px; padding: 58px 0 30px; }
.auth-art { display: none; }
.auth-form-wrap { max-width: none; padding: 0; }
.auth-form-wrap h1 { font-size: 35px; margin: 15px 0; letter-spacing: -.04em; }
.auth-form-wrap > p { font-size: 13px; }
.auth-form { gap: 18px; }
.field { font-size: 12px; }
input, select { border-color: #bdc6cd; border-radius: 3px; background: white; padding: 11px 12px; }
.auth-form .button { margin-top: 0; }
.auth-form-wrap > #demo-login { padding: 0; min-height: 30px; border: 0; background: none; width: auto !important; text-decoration: underline; text-underline-offset: 4px; }
.auth-divider { margin: 20px 0 12px; font-size: 9px; }
.auth-note { border-left: 0; padding: 0; border-top: 1px solid var(--line); padding-top: 18px; margin-top: 25px; font-size: 11px; }
.auth-alternative { font-size: 12px; }
.session-page-head { padding: 50px 0 30px; }
.session-page-head h1 { font-size: 44px; margin-top: 12px; }
.session-page-head p { font-size: 13px; }
.filter { font-size: 13px; }
.filter.active { box-shadow: 0 2px var(--ink); }
.empty-state h3 { font-family: var(--sans); font-size: 26px; }
.detail-head h1 { font-size: 38px; }
.detail-head p { font-size: 11px; }
.detail-video { border-radius: 3px; background: #dfe7ed; }
.detail-notes h2 { font-size: 26px; line-height: 1.15; }
.detail-notes > p { font-size: 13px; }
.detail-notes .button { width: auto; }
.detail-content h3 { font-family: var(--sans); font-size: 24px; }
.detail-tab { font-size: 13px; }
.detail-content p { font-size: 13px; }
.sample-metrics strong { font-family: var(--sans); font-size: 28px; font-weight: 600; }
.sample-metrics span { font-size: 11px; }
.account-surface { padding-top: 55px; }
.account-surface h1 { font-size: 40px; margin-top: 15px; }
.account-surface .button { margin-right: 10px; }
.preview-banner { background: #eef2f6; border-radius: 2px; margin-top: 22px; font-size: 11px; }
dialog { border-radius: 5px; padding: 28px; background: #fafafa; }
dialog::backdrop { background: #17212f88; backdrop-filter: none; }
dialog h2 { font-size: 31px; margin-top: 10px; }
.dialog-head .eyebrow { font-size: 10px; }
.drop-zone { border-radius: 3px; background: #f1f4f7; border-color: #9eafbd; min-height: 160px; }
.drop-zone.dragging { background: #e4edf5; border-color: #285774; }
.drop-zone strong { font-size: 14px; }
.drop-zone > span:not(.upload-icon) { font-size: 11px; }
.toast { border-radius: 3px; background: #182029; }
.no-video h3 { font-family: var(--sans); font-size: 25px; }
@media (min-width: 1500px) {
  .hero { gap: 65px; }
  .hero-visual, .court-art { min-height: 395px; }
}
@media (max-width: 1100px) {
  main, .site-header { padding-left: 32px; padding-right: 32px; }
  .primary-nav { margin-left: 20px; gap: 22px; }
  .hero { gap: 34px; }
  .hero h1 { font-size: 51px; }
  .hero-visual { min-height: 340px; }
  .court-art { height: 340px; }
  .site-footer { padding-left: 32px; padding-right: 32px; }
}
@media (max-width: 780px) {
  .site-header { height: 72px; padding: 0 24px; gap: 0; }
  .primary-nav { margin: 0; top: 72px; height: 45px; gap: 33px; }
  .primary-nav a { font-size: 12px; }
  main { padding: 45px 24px 0; }
  .page-top { padding: 24px 0 20px; }
  .hero { grid-template-columns: 1fr; gap: 30px; }
  .hero h1 { font-size: 55px; }
  .hero-copy > p { max-width: 440px; }
  .hero-visual { min-height: 365px; }
  .court-art { height: 365px; }
  .session-collection { grid-template-columns: repeat(2, 1fr); }
  .session-art { height: 170px; }
  .workflow-note { grid-template-columns: 1fr; gap: 13px; margin-top: 35px; }
  .workflow-note a { justify-self: start; margin-top: 2px; }
  .site-footer { padding: 24px; margin-top: 48px; }
  .membership-head { padding-top: 36px; }
  .membership-head h1 { font-size: 40px; }
  .membership-head p { font-size: 13px; }
  .pricing { grid-template-columns: 1fr; }
  .price-tier, .price-tier:first-child, .price-tier:last-child { padding: 25px 0; border-right: 0; border-bottom: 1px solid var(--line); }
  .price-tier:last-child { border-bottom: 0; }
  .price-tier.featured { border-top: 0; }
  .price-tier ul { display: block; min-height: auto; margin: 15px 0 22px; }
  .price-tier li { margin: 7px 0; }
  .price { margin-top: 17px; font-size: 44px; }
  .faq { margin-top: 42px; }
  .auth-layout { padding-top: 40px; }
  .auth-form-wrap { max-width: none; }
  .detail-head h1 { font-size: 34px; }
  .detail-notes { display: block; }
  .detail-notes .button { width: auto; }
  .section-heading { padding-top: 25px; }
}
@media (max-width: 480px) {
  main { padding-left: 20px; padding-right: 20px; }
  .site-header { padding: 0 20px; }
  .brand { font-size: 24px; }
  .hero h1 { font-size: 46px; }
  .hero-copy > p { font-size: 13px; }
  .hero-actions { gap: 18px; }
  .hero-actions .text-button { font-size: 12px; }
  .hero-visual { min-height: 310px; }
  .court-art { height: 310px; }
  .visual-top { left: 16px; right: 16px; top: 16px; font-size: 9px; }
  .visual-bottom { left: 16px; right: 16px; bottom: 17px; display: block; }
  .visual-caption strong { font-size: 15px; }
  .visual-review { display: inline-block; margin-top: 10px; }
  .session-collection { grid-template-columns: 1fr; gap: 26px; }
  .session-art { height: 210px; }
  .new-tile .session-art { height: 100px; }
  .section-heading h2 { font-size: 22px; }
  .session-page-head h1 { font-size: 38px; }
  .membership-head h1 { font-size: 37px; }
  .billing-caption { flex-direction: column; gap: 6px; margin-top: 24px; }
  .auth-form-wrap h1 { font-size: 33px; }
  .detail-head h1 { font-size: 31px; }
  .detail-head > .button { min-width: 0; padding: 0; min-height: 30px; border: 0; text-decoration: underline; }
  .detail-content h3 { font-size: 23px; }
  .detail-tabs { gap: 19px; }
  .detail-tab { font-size: 12px; }
  .account-surface h1 { font-size: 35px; }
  dialog { padding: 23px; }
  dialog h2 { font-size: 30px; }
  .site-footer { gap: 15px; }
}
/* Responsive layout and input ergonomics. Keep content in normal flow. */
main, section, article, aside, .hero-copy, .hero-visual, .detail-stage > *, .auth-form-wrap, .form-row > * { min-width: 0; }
h1, h2, h3, .tile-meta, .fine-print, .form-error, #selected-file { overflow-wrap: anywhere; }
.primary-nav a, .login-link { display: inline-flex; align-items: center; min-height: 44px; }
#main:focus { outline: none; }
.price-tier .button { max-width: 100%; }
.detail-video .court-art { min-height: 0; }
.detail-tabs { flex-wrap: wrap; }
.detail-tab { min-height: 44px; padding-top: 9px; padding-bottom: 9px; }
.rally-strip input { min-width: 55px; flex: 1; }
.faq summary { min-height: 44px; display: list-item; align-content: center; }
.auth-form-wrap, .auth-layout { min-width: 0; }
.auth-layout { min-height: min(630px, 75dvh); }
dialog { max-height: calc(100dvh - 32px); overscroll-behavior: contain; }
@media (max-width: 1023px) and (min-width: 781px) {
  .hero { gap: 26px; }
  .hero h1 { font-size: clamp(38px, 5vw, 50px); }
  .hero-actions { align-items: flex-start; flex-direction: column; gap: 15px; }
  .hero-visual { min-height: 320px; }
  .court-art { height: 320px; }
  .session-collection { gap: 18px; }
  .tile-meta { align-items: flex-start; }
  .tile-meta h3 { line-height: 1.4; }
  .price-tier, .price-tier:first-child, .price-tier:last-child { padding-left: 18px; padding-right: 18px; }
  .price-tier:first-child { padding-left: 0; }
  .price-tier:last-child { padding-right: 0; }
  .price-tier .button { min-width: 0; width: 100%; padding: 11px 10px; }
}
@media (max-width: 780px) {
  .site-header { position: relative; height: auto; min-height: 112px; display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 0 15px; padding-top: 12px; }
  .site-header > .brand { align-self: center; min-height: 44px; }
  .header-actions { grid-column: 2; grid-row: 1; min-height: 44px; }
  .primary-nav { position: static; grid-column: 1 / -1; grid-row: 2; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); width: 100%; height: 48px; margin: 0; gap: 0; border: 0; }
  .primary-nav a { justify-content: center; min-height: 48px; text-align: center; font-size: 12px; }
  .primary-nav a.active { box-shadow: inset 0 -2px var(--ink); }
  main { padding-top: 0; }
  .session-page-head { padding-top: 30px; }
  .membership-head { padding-top: 32px; }
  .hero h1 { font-size: clamp(40px, 7.5vw, 56px); }
  .hero-visual { min-height: 0; aspect-ratio: 1.55; }
  .hero-visual .court-art { width: 100%; height: 100%; min-height: 0; }
  .session-art { height: auto; aspect-ratio: 1.7; }
  .session-art .mini-court { height: 100%; }
  .detail-head { align-items: flex-start; }
  .detail-head h1 { font-size: clamp(29px, 5vw, 38px); }
  .detail-head > .button { min-height: 44px; }
  .auth-layout { min-height: 0; padding-top: 35px; }
  .form-row { grid-template-columns: minmax(0, 1fr) 110px; }
  .drop-zone { min-height: 140px; }
  .preview-banner { margin-top: 18px; }
}
@media (max-width: 600px) {
  main { padding-left: 18px; padding-right: 18px; }
  .site-header { padding-left: 18px; padding-right: 18px; }
  .hero { padding-bottom: 32px; gap: 26px; }
  .hero-copy > p { margin: 18px 0 22px; }
  .hero-actions { align-items: stretch; gap: 12px; }
  .hero-actions > .button { flex: 1 1 100%; }
  .hero-actions > .text-button { min-height: 44px; display: inline-flex; align-items: center; }
  .hero-copy > .hero-note { margin-top: 9px; }
  .hero-visual { aspect-ratio: 1.2; }
  .visual-top { gap: 12px; }
  .visual-caption strong { max-width: 250px; }
  .visual-review { min-height: 32px; display: inline-flex; align-items: center; }
  .section-heading { gap: 12px; }
  .section-heading .text-button { min-height: 44px; display: inline-flex; align-items: center; flex-shrink: 0; }
  .session-collection { grid-template-columns: 1fr; }
  .new-tile .session-art { height: 110px; aspect-ratio: auto; }
  .tile-meta h3 { line-height: 1.4; }
  .membership-head h1 { font-size: clamp(30px, 8vw, 40px); }
  .membership-head { padding-bottom: 23px; }
  .billing-caption { flex-direction: column; gap: 5px; margin-top: 23px; }
  .price-tier, .price-tier:first-child, .price-tier:last-child { display: grid; grid-template-columns: minmax(0, 1fr) auto; column-gap: 16px; padding: 24px 0; }
  .price-tier > .eyebrow { grid-column: 1; grid-row: 1; align-self: end; }
  .price-tier > h2 { grid-column: 1; grid-row: 2; margin-top: 7px; }
  .price-tier > .price { grid-column: 2; grid-row: 1 / 3; margin: 0; text-align: right; align-self: center; font-size: 39px; }
  .price small { display: block; margin-top: 2px; font-size: 11px; }
  .price-tier > .allowance { grid-column: 1 / -1; margin: 16px 0 0; }
  .price-tier > ul { grid-column: 1 / -1; margin: 13px 0 18px; }
  .price-tier > .button { grid-column: 1 / -1; width: 100%; min-height: 46px; }
  .faq { margin-top: 35px; }
  .faq details { padding: 4px 0; }
  .faq details p { padding-bottom: 15px; }
  .detail-tabs { gap: 8px 18px; }
  .detail-tab { font-size: 12px; }
  .detail-head { gap: 12px; margin-bottom: 18px; }
  .detail-head > .button { min-height: 44px; }
  .rally-strip { gap: 9px; padding: 10px 0; }
  .rally-strip .icon-button { width: 44px; height: 44px; flex-shrink: 0; }
  .rally-strip label { font-size: 10px; }
  .rally-strip output { min-width: 35px; font-size: 10px; }
  .sample-metrics { gap: 22px; }
  .sample-metrics > div { min-width: 105px; }
  .sample-metrics strong { font-size: 27px; }
  .account-surface { padding-top: 32px; }
  .account-surface > .button { width: 100%; margin-right: 0; }
  .site-footer { padding-left: 18px; padding-right: 18px; }
  .site-footer .text-button { min-height: 44px; display: inline-flex; align-items: center; }
  .site-footer > span { line-height: 1.6; }
  .form-row { grid-template-columns: 1fr; }
  dialog { width: calc(100% - 24px); padding: 21px; }
  dialog::backdrop { backdrop-filter: none; }
  .dialog-head { align-items: center; }
  .icon-button { min-width: 44px; min-height: 44px; }
  input, select { font-size: 16px; min-height: 44px; }
  .password-toggle { top: 0; right: 0; min-width: 52px; min-height: 44px; }
  .auth-links a { display: inline-flex; min-height: 44px; align-items: center; }
  .auth-alternative a { display: inline-block; padding: 10px 3px; }
  .auth-form-wrap > #demo-login { min-height: 44px; }
  .auth-form .button { min-height: 46px; }
  .toast { bottom: max(16px, env(safe-area-inset-bottom)); width: max-content; max-width: calc(100% - 24px); }
}
@media (pointer: coarse) {
  .filter { min-height: 44px; }
  .button, .avatar { min-height: 44px; }
  .avatar { min-width: 44px; }
}
@media (max-height: 500px) and (orientation: landscape) {
  dialog { max-height: calc(100dvh - 20px); }
  .auth-layout { padding-top: 24px; }
}
/* Fill the sample player consistently; global SVG heights must not letterbox it. */
.detail-video > .court-art { position: absolute; inset: 0; width: 100%; height: 100%; min-height: 0; }
.detail-video .court-shuttle { fill: #ffde75; stroke: #fff; stroke-width: 2; filter: drop-shadow(0 0 6px #ffde75); }
.rally-play { min-width: 64px; min-height: 44px; padding: 9px 12px; border: 1px solid var(--line); border-radius: 3px; font-size: 12px; font-weight: 600; }
.rally-play:hover { background: var(--soft); }
.rally-play[aria-pressed="true"] { background: var(--ink); color: white; }
.rally-strip output { min-width: 85px; font-variant-numeric: tabular-nums; text-align: right; }
.sr-label { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
@media (max-width: 600px) { .rally-strip { gap: 12px; } .rally-strip output { min-width: 78px; } .rally-play { min-width: 61px; } }

/* Free trial and optional rewarded second analysis. */
.free-offer { border-top: 1px solid var(--line); padding: 27px 0; margin-bottom: 27px; display: grid; grid-template-columns: 1.1fr 1fr 1fr; gap: 28px; }
.free-intro h2 { font-size: 25px; margin: 12px 0; }
.free-intro > p, .free-option > p { color: var(--muted); font-size: 12px; }
.free-option h3 { font-size: 15px; margin-bottom: 12px; }
.free-option .free-minutes { font-size: 22px; font-weight: 600; color: var(--ink); line-height: 1.3; margin-bottom: 12px; }
.free-minutes span { display: block; font-size: 11px; font-weight: 400; color: var(--muted); margin-top: 5px; }
.free-option > .text-button { display: inline-flex; align-items: center; min-height: 44px; margin-top: 7px; }
.free-option > .button { margin-top: 14px; min-height: 44px; }
.free-option > .fine-print { font-size: 11px; margin-top: 10px; }
.free-disclosure { grid-column: 1 / -1; max-width: 900px; }
@media (max-width: 900px) { .free-offer { grid-template-columns: 1fr 1fr; gap: 24px; } .free-intro { grid-column: 1 / -1; max-width: 560px; } }
@media (max-width: 600px) { .free-offer { grid-template-columns: 1fr; gap: 24px; padding-top: 23px; } .free-intro { grid-column: auto; } .free-option { border-top: 1px solid var(--line); padding-top: 20px; } .free-option > .button { width: 100%; } .free-intro h2 { font-size: 23px; } }
/* Sportslysis introduction: sport-first presentation, separate from the review workspace. */
.intro-status { color: var(--green); font-size: 11px; font-weight: 600; }
.intro-hero { padding-bottom: 58px; }
.intro-hero h1 { max-width: 530px; }
.intro-hero .hero-copy > p { max-width: 430px; }
.intro-section-heading { max-width: 630px; }
.intro-section-heading > .eyebrow { color: var(--muted); }
.intro-section-heading h2 { font-size: 34px; margin: 13px 0 15px; }
.intro-section-heading > p { font-size: 14px; color: var(--muted); }
.sport-scope { border-top: 1px solid var(--line); padding-top: 35px; }
.sport-rows { margin-top: 30px; }
.sport-row { display: grid; grid-template-columns: 38px minmax(0, 1fr) auto; gap: 25px; border-top: 1px solid var(--line); padding: 28px 0; align-items: start; }
.sport-number { font-size: 12px; color: var(--muted); padding-top: 7px; }
.sport-name { display: flex; gap: 18px; align-items: center; flex-wrap: wrap; }
.sport-name h3 { font-size: 24px; font-weight: 600; }
.sport-state { font-size: 10px; font-weight: 500; color: #285774; background: #e8eff4; padding: 3px 7px; border-radius: 2px; }
.sport-state.coming { background: #eceef0; color: var(--muted); }
.sport-row p { font-size: 13px; color: var(--muted); max-width: 620px; margin-top: 10px; }
.sport-row .fine-print { font-size: 11px; max-width: 590px; }
.sport-row > .text-button { min-height: 44px; display: inline-flex; align-items: center; }
.future-sport > .fine-print { padding-top: 8px; }
.intro-workflow { padding-top: 40px; border-top: 1px solid var(--line); }
.intro-workflow ol { padding: 0; margin: 30px 0 0; list-style: none; display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 42px; }
.intro-workflow li { border-top: 1px solid var(--line); padding-top: 17px; }
.intro-workflow li > span { font-size: 11px; color: var(--muted); }
.intro-workflow h3 { font-size: 17px; font-weight: 600; margin: 12px 0; }
.intro-workflow p { color: var(--muted); font-size: 13px; }
.intro-next { border-top: 1px solid var(--line); margin-top: 45px; padding-top: 34px; display: flex; justify-content: space-between; align-items: center; gap: 30px; }
.intro-next h2 { font-size: 29px; margin: 11px 0; }
.intro-next p { font-size: 13px; color: var(--muted); }
.intro-next-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 20px; }
.form-row { grid-template-columns: minmax(0, 1fr) 125px 105px; }
@media (max-width: 780px) {
  .primary-nav { grid-template-columns: repeat(4, minmax(0,1fr)); }
  .primary-nav a { font-size: 11px; }
  .intro-hero { padding-bottom: 36px; }
  .intro-section-heading h2 { font-size: 29px; }
  .sport-row { gap: 18px; grid-template-columns: 28px minmax(0,1fr); }
  .sport-row > .text-button, .future-sport > .fine-print { grid-column: 2; justify-self: start; padding-top: 0; }
  .intro-workflow ol { gap: 24px; }
  .intro-next { align-items: flex-start; flex-direction: column; }
  .form-row { grid-template-columns: 1fr 1fr; }
  .form-row > .field:first-child { grid-column: 1 / -1; }
}
@media (max-width: 600px) {
  .intro-section-heading h2 { font-size: 27px; }
  .intro-section-heading > p { font-size: 13px; }
  .sport-row { gap: 12px; padding: 23px 0; }
  .sport-name { gap: 10px; }
  .sport-name h3 { font-size: 22px; }
  .intro-workflow { padding-top: 28px; }
  .intro-workflow ol { grid-template-columns: 1fr; gap: 23px; margin-top: 25px; }
  .intro-workflow li { padding-top: 13px; }
  .intro-next { margin-top: 34px; padding-top: 26px; gap: 23px; }
  .intro-next h2 { font-size: 26px; }
  .intro-next-actions { width: 100%; gap: 14px; }
  .intro-next-actions .button { width: 100%; }
  .intro-next-actions .text-button { display: inline-flex; align-items: center; min-height: 44px; }
  .form-row { grid-template-columns: 1fr; }
  .form-row > .field:first-child { grid-column: auto; }
}

/* Private recordings stay in the same quiet document flow as the session library. */
.cloud-library{margin:8px 0 30px;padding:26px 0;border-bottom:1px solid var(--line,#dce2e5)}
.cloud-recordings{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:16px;margin-top:18px}
.cloud-recording{display:flex;flex-direction:column;gap:8px;padding:18px;border:1px solid var(--line,#dce2e5);text-decoration:none;color:inherit;overflow-wrap:anywhere}
.cloud-recording span,.cloud-status{font-size:13px;color:var(--muted,#586775)}
.cloud-save-option input{width:auto;min-height:auto;margin-right:8px}
.cloud-save-option[hidden]{display:none}
#cloud-video{width:100%;height:100%;object-fit:contain;background:#111}
#upload-progress{font-size:13px;min-height:1.3em}
