:root{--ink:#000000;--paper:#ffffff;--accent:#e82828;--accent-soft:#ff6b6b;--neutral:#cccccc;--gray:#555555;--line:var(--neutral)}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:85px}body{margin:0;background:var(--paper);color:var(--ink);font-family:'Raleway',Arial,sans-serif;font-size:16px;line-height:1.6}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}button,a,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:3px solid #e82828;outline-offset:5px}h1,h2,h3,h4,p{margin-top:0}h1,h2,.role h3{font-family:'Montserrat',Arial,sans-serif;font-weight:600;line-height:.98;letter-spacing:-.025em}h2{font-size:clamp(44px,5vw,72px);margin-bottom:25px}p{color:var(--gray)}.eyebrow{font-size:12px;font-weight:700;letter-spacing:.18em;margin-bottom:23px}.accent{color:var(--accent)}.header{height:92px;display:flex;align-items:center;justify-content:space-between;padding:0 5%;background:var(--ink);color:var(--paper);border-bottom:1px solid #333333;gap:25px}.logo{font-family:'Montserrat',Arial,sans-serif;font-style:italic;font-size:43px;line-height:.8;font-weight:800;letter-spacing:-3px;display:flex;align-items:center;gap:17px}.logo span{font-family:'Raleway',Arial,sans-serif;font-style:normal;font-size:9px;letter-spacing:.16em;font-weight:600;line-height:1.4;max-width:65px}.header nav{display:flex;gap:30px;font-size:13px}.header nav a:hover{color:var(--accent)}.nav-cta{border:1px solid #666666;padding:11px 18px;font-size:13px}.nav-cta span{margin-left:25px}.menu{display:none}.hero{background:var(--ink);color:var(--paper);display:grid;grid-template-columns:1.05fr 1fr;min-height:735px;padding:54px 5% 70px;overflow:hidden;gap:4%}.hero-copy{position:relative;z-index:2}.hero h1{font-size:clamp(65px,7.3vw,108px);margin:0 0 28px;line-height:.94}.hero h1 em{font-style:normal;color:var(--accent)}.hero .intro{font-size:16px;max-width:450px;color:#cccccc;line-height:1.7}.actions{display:flex;gap:30px;align-items:center;margin-top:32px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:35px;padding:16px 24px;font-size:14px;font-weight:700;min-height:52px;transition:transform .2s,background .2s}.button:hover{transform:translateY(-3px)}.primary{background:var(--accent);color:var(--ink)}.text-link{font-size:13px;border-bottom:1px solid #666666;padding:13px 0}.text-link span{margin-left:14px}.hero-note{font-size:12px!important;margin-top:32px;color:#cccccc!important}.hero-art{position:relative;margin:7px 0 0;min-height:550px}.hero-photo{width:85%;height:92%;object-fit:cover;object-position:51% center;position:absolute;right:0;top:0;filter:brightness(.72) saturate(.65)}.photo-caption{position:absolute;right:20px;top:20px;writing-mode:vertical-rl;letter-spacing:.18em;font-size:10px;color:white}.phone{width:265px;padding:13px 12px 10px;border:6px solid #333333;border-radius:35px;background:#101010;box-shadow:0 20px 45px #0004;color:#ffffff;position:relative;overflow:hidden}.hero-phone{position:absolute;bottom:-12px;left:-18px;transform:rotate(-5deg)}.phone-top{display:flex;justify-content:space-between;padding:0 8px 18px;font-size:10px}.app-brand{font-size:25px;font-weight:800;font-style:italic;display:flex;justify-content:space-between;align-items:center}.app-brand span{font-size:10px;font-style:normal;letter-spacing:.15em;font-weight:500;color:#cccccc}.phone-content{padding:26px 3px 4px}.tiny-label{font-size:9px;letter-spacing:.1em;color:#cccccc;margin-bottom:12px}.phone h3{font-family:'Montserrat',Arial,sans-serif;font-size:36px;line-height:1.05;letter-spacing:0;margin-bottom:13px}.phone p{font-size:12px;color:#cccccc;line-height:1.6}.app-card{background:#222222;padding:18px 14px;border:1px solid #444444;border-radius:12px;margin:22px 0 15px}.mini-icon{background:var(--accent);color:var(--ink);display:inline-grid;place-items:center;width:27px;height:27px;border-radius:50%;margin-bottom:14px}.phone h4{font-size:15px;margin-bottom:5px}.sample-cta{display:flex;justify-content:space-between;background:var(--accent);color:var(--ink);border-radius:5px;padding:9px 10px;font-size:11px;margin-top:17px}.app-row{display:flex;justify-content:space-between;font-size:11px;padding:10px 0}.app-nav{border-top:1px solid #444444;padding:16px 0 3px;display:flex;justify-content:space-between;font-size:9px;color:#aaaaaa}.app-nav .active{color:var(--accent)}.sample-label{text-align:center;font-size:8px;letter-spacing:.12em;margin-top:12px;color:#aaaaaa}.mobile-break{display:none}.role-strip{display:grid;grid-template-columns:repeat(3,1fr);padding:25px 5%;border-bottom:1px solid var(--line);gap:30px}.role-strip div{display:flex;gap:20px;align-items:center}.role-strip span{font-size:10px;letter-spacing:.08em;color:var(--gray)}.role-strip b{font-size:14px;font-weight:500}.section{padding:100px 7%}.section-heading{max-width:740px}.section-heading>p:last-child{max-width:600px}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:27px;margin-top:52px}.step-number{font-family:'Montserrat',Arial,sans-serif;font-size:20px;color:#666666;display:block;margin-bottom:14px}.steps h3{font-size:18px;margin-bottom:10px}.steps p{font-size:14px;line-height:1.7}.mini-preview{background:#f3f3f3;min-height:176px;border-top:2px solid #e82828;padding:20px;margin-bottom:25px;transition:background .2s}.steps a:hover .mini-preview{background:#ffe8e8}.mini-preview>span{font-size:9px;letter-spacing:.12em;display:block;margin-bottom:16px}.mini-preview strong{font-family:'Montserrat',Arial,sans-serif;font-size:29px;font-weight:500;line-height:1.05;display:block}.mini-tags{font-size:9px;margin-top:15px;color:#555555}.mini-tags i{font-style:normal;margin:0 5px}.preview-note{font-size:12px;color:#666666;margin:25px 0 0}.roles{background:var(--ink);color:var(--paper)}.centered{margin:auto;text-align:center}.centered>p:last-child{margin:0 auto;color:#cccccc}.role-composition{display:grid;grid-template-columns:1fr 1.08fr 1fr;align-items:center;gap:22px;margin-top:58px;position:relative}.role-composition:before{content:'';position:absolute;height:1px;background:#666666;left:0;right:0;top:50%}.role{padding:30px;background:#181818;border:1px solid #444444;position:relative}.role-type{font-size:11px;letter-spacing:.12em;display:flex;justify-content:space-between}.role-symbol{font-size:57px;line-height:1;font-family:'Montserrat',Arial,sans-serif;margin:30px 0;color:#ff6b6b;display:flex;align-items:center;justify-content:space-between}.role-symbol span{font-size:27px}.role h3{font-size:42px;margin-bottom:22px}.role p{font-size:14px;color:#cccccc;min-height:94px}.role-foot{font-size:9px;letter-spacing:.1em;display:block;border-top:1px solid #444444;padding-top:20px}.athlete{grid-column:2;grid-row:1;background:var(--accent);color:var(--ink);padding:40px 30px}.athlete p,.athlete .role-symbol{color:#ffffff}.athlete .role-foot{border-color:#ffffff66}.parent{grid-column:1;grid-row:1}.coach{grid-column:3;grid-row:1}.role-summary{text-align:center;color:#eeeeee;font-size:18px;margin:45px 0 14px}.role-disclaimer{text-align:center;font-size:12px;max-width:600px;margin:0 auto;color:#cccccc}.practice{display:grid;grid-template-columns:1fr 1fr;gap:10%;background:#f3f3f3}.practice-intro{max-width:365px}.example-label{font-size:12px;margin-top:35px}.conversation article{padding:20px 0 23px;border-bottom:1px solid #cccccc}.conversation article:first-child{padding-top:0}.conversation article>span{font-size:10px;letter-spacing:.14em;color:#9e1b1b}.conversation article p{color:#222222;font-size:19px;line-height:1.55;margin:10px 0 0}.conversation em{font-style:normal;font-weight:600}.inside{display:grid;grid-template-columns:1fr 1fr;gap:10%}.inside-copy>p:not(.eyebrow){max-width:410px}.view-tabs{margin-top:34px}.view-tabs button{width:100%;display:flex;gap:22px;text-align:left;background:transparent;border:0;border-top:1px solid var(--line);padding:20px 16px;align-items:center;color:var(--ink)}.view-tabs button[aria-selected=true]{background:#ffeaea;border-left:3px solid #e82828;padding-left:13px}.view-tabs button>span{font-size:12px;color:#777777}.view-tabs b{font-size:16px;font-weight:600}.view-tabs small{display:block;font-size:12px;color:var(--gray);margin-top:3px}.view-tabs i{font-style:normal;margin-left:auto;font-size:20px}.app-stage{background:#eeeeee;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:38px 20px;min-height:675px}.stage-caption{font-size:9px;letter-spacing:.14em;text-align:center;margin-bottom:30px;color:#555555}.app-stage .phone{width:280px;min-height:510px}.app-stage .phone-content{min-height:365px}.app-stage .preview-note{font-size:10px}.purpose{display:grid;grid-template-columns:1fr 1fr;background:#f3f3f3}.purpose-image{min-height:570px}.purpose-image img{width:100%;height:100%;max-height:640px;object-fit:cover;filter:saturate(.6)}.purpose-copy{padding:75px 14% 70px 12%;align-self:center}.purpose-copy p{font-size:15px}.purpose-line{font-size:9px;letter-spacing:.12em;display:block;margin-top:30px}.faq{display:grid;grid-template-columns:.8fr 1.2fr;gap:8%}.faq details{border-bottom:1px solid var(--line)}.faq summary{cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:23px 0;font-size:16px;font-weight:500}.faq summary::-webkit-details-marker{display:none}.faq summary span{font-size:24px;font-weight:400}.faq details[open] summary span{transform:rotate(45deg)}.faq details p{font-size:14px;padding-right:30px;margin-bottom:24px}.final-cta{text-align:center;padding:90px 24px;background:var(--accent)}.final-cta h2{font-size:clamp(52px,7vw,92px)}.final-cta h2 span{color:#ffffff}.final-cta p:not(.eyebrow){max-width:490px;margin:0 auto 30px;color:#ffffff}.dark{background:var(--ink);color:white;min-width:180px}footer{display:flex;justify-content:space-between;align-items:center;padding:40px 5%;gap:30px;background:var(--ink);color:white}footer p,footer>span{font-size:11px;color:#cccccc;margin:0}.skip{position:absolute;left:15px;top:-70px;background:var(--accent);padding:15px;z-index:100}.skip:focus{top:10px}#mobile-nav{background:var(--ink);color:white;padding:15px 5%}#mobile-nav a{display:block;padding:13px 0}
@media(min-width:1500px){.header,.hero,.role-strip,.section,footer{padding-left:max(7%,calc((100vw - 1350px)/2));padding-right:max(7%,calc((100vw - 1350px)/2))}}@media(max-width:1050px){.header nav{gap:17px;font-size:11px}.logo span{display:none}.hero{min-height:700px}.hero h1{font-size:79px}.hero-phone{left:-24px;transform:rotate(-4deg) scale(.88);transform-origin:bottom left}.hero-art{min-height:550px}.role-strip div{display:block}.role-strip b{display:block}.steps{gap:17px}.mini-preview{padding:15px}.role{padding:24px}.athlete{padding:36px 24px}.role h3{font-size:35px}.role p{min-height:130px}.inside{gap:5%}.purpose-copy{padding:55px 10%}.header{height:80px}.section{padding:80px 5%}}@media(max-width:760px){html{scroll-padding-top:20px}.header{height:76px;padding:0 6%}.header nav{display:none}.logo span{display:block}.nav-cta{margin-left:auto;padding:9px 12px;font-size:12px}.nav-cta span{margin-left:12px}.menu{display:block;border:0;background:transparent;color:var(--paper);font-size:23px;padding:8px;min-width:44px;min-height:44px}.header{gap:12px}.hero{display:flex;flex-direction:column;padding:40px 6% 44px;gap:38px}.hero h1{font-size:clamp(64px,12.5vw,94px)}.hero .intro{font-size:15px;max-width:470px}.hero h1 br:nth-child(2){display:none}.mobile-break{display:none}.hero .eyebrow{margin-bottom:20px}.actions{gap:22px;margin-top:25px}.button{padding:15px 19px;gap:25px}.hero-note{font-size:10px!important;margin-bottom:0;margin-top:25px}.hero-art{min-height:450px;margin:0 0 0 20px}.hero-photo{height:95%;width:90%;object-position:center}.hero-phone{left:-8px;bottom:-6px;transform:rotate(-5deg) scale(.79)}.photo-caption{right:12px;font-size:8px}.role-strip{padding:24px 6%;gap:17px}.role-strip span{font-size:8px}.role-strip b{font-size:12px;line-height:1.4;margin-top:6px}.section{padding:64px 6%}.section-heading h2{font-size:46px}.section-heading>p:last-child{font-size:15px}.steps{grid-template-columns:1fr 1fr;gap:24px 18px;margin-top:34px}.mini-preview{min-height:162px;padding:15px 12px}.mini-preview strong{font-size:27px}.mini-preview>span{font-size:8px}.mini-tags{font-size:8px}.steps h3{font-size:16px}.steps p{font-size:13px}.preview-note{font-size:11px}.role-composition{grid-template-columns:1fr;gap:23px;max-width:470px;margin:35px auto 0}.role-composition:before{width:1px;height:100%;left:50%;top:0}.athlete,.parent,.coach{grid-column:auto;grid-row:auto;padding:28px}.role h3{font-size:40px}.role p{min-height:0;font-size:15px}.role-symbol{margin:22px 0;font-size:47px}.role h3 br{display:none}.role-summary{font-size:16px;margin-top:32px}.role-disclaimer{font-size:11px}.practice,.inside,.faq{grid-template-columns:1fr;gap:35px}.practice h2,.inside h2,.faq h2{font-size:47px}.example-label{margin:20px 0 0}.conversation article p{font-size:17px}.inside{gap:30px}.inside h2 br:nth-child(2){display:none}.app-stage{min-height:610px;padding:30px 15px}.purpose{grid-template-columns:1fr}.purpose-image{min-height:0;height:370px}.purpose-image img{object-position:center}.purpose-copy{padding:50px 6%}.purpose-copy h2{font-size:50px}.purpose-copy h2 br:nth-child(2){display:none}.faq summary{font-size:15px}.final-cta{padding:65px 6%}.final-cta h2{font-size:55px}footer{flex-wrap:wrap;padding:35px 6%;gap:25px}footer p{display:none}footer>span{font-size:10px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before{transition:none!important;animation:none!important}}

/* T90 brand guide: Montserrat SemiBold / Raleway, red / black / white. */
body{font-weight:300}h1,h2,h3,h4,.button,.nav-cta,.role-type,.role-foot,.eyebrow{font-weight:600}h1,h2,.role h3{line-height:1.08;letter-spacing:-.035em}h3,h4{font-family:'Montserrat',Arial,sans-serif}
.logo{gap:16px;font-style:normal;letter-spacing:0}.logo img{width:90px;height:auto;display:block}.logo span{font-size:12px;max-width:70px}.app-brand{font-style:normal}.app-brand img{width:58px;height:auto}.primary,.sample-cta,.mini-icon,.athlete,.final-cta,.skip{color:white}.hero h1 em,.accent,.header nav a:hover,.app-nav .active{color:#ff6b6b}.hero h1{font-size:clamp(48px,5.1vw,76px);line-height:1.08}h2{font-size:clamp(36px,3.7vw,56px)}.hero{min-height:735px}.hero .intro{font-size:17px}.hero-note{font-size:14px!important}.hero-phone{transform:none;left:-12px}.phone{background:#101010}.phone h3{font-size:25px;line-height:1.2}.phone p{font-size:13px}.app-card{padding:16px 12px}.phone h4{font-size:14px}.sample-cta{font-size:12px;gap:8px}.app-brand span,.tiny-label,.app-nav,.sample-label,.phone-top{font-size:12px}.app-nav{gap:8px}.app-row{font-size:12px}.phone-content{padding-top:22px}.hero-art{min-height:590px}.phone-top{padding-bottom:14px}.hero-phone{bottom:0}.role h3{font-size:28px;letter-spacing:-.04em;overflow-wrap:normal}.role-symbol{font-size:48px}.role p{font-size:16px;min-height:155px}.role-type,.role-foot{font-size:12px}.role-foot{letter-spacing:.04em}.role-symbol span{color:inherit}.role-strip span{font-size:12px}.role-strip b{font-size:16px}.mini-preview strong{font-size:22px;line-height:1.2}.mini-preview>span,.mini-tags{font-size:12px}.mini-tags{line-height:1.5}.mini-preview{min-height:195px}.steps p,.purpose-copy p,.faq details p{font-size:16px}.header nav,.nav-cta,.text-link{font-size:14px}.eyebrow{font-size:12px}.view-tabs small{font-size:14px}.stage-caption,.purpose-line,.photo-caption,.conversation article>span{font-size:12px}.preview-note,.role-disclaimer,footer>span,footer p{font-size:12px}.final-cta h2{font-size:clamp(38px,5vw,68px)}.final-cta .eyebrow{color:white}.app-stage{min-height:715px}.app-stage .preview-note{font-size:12px}.purpose-copy h2{font-size:clamp(34px,3.5vw,52px)}
@media(max-width:1050px){.header nav{gap:14px}.logo span{display:none}.role{padding:22px}.role h3{font-size:24px}.athlete{padding:34px 22px}.role p{min-height:190px}.hero h1{font-size:clamp(44px,5.6vw,58px)}.hero-phone{transform:scale(.9);transform-origin:bottom left}.mini-preview{padding:15px 12px}}
@media(max-width:760px){.logo img{width:76px}.logo span{display:none}.header{gap:8px}.hero h1{font-size:clamp(39px,8.8vw,64px)}.hero h1 br:nth-child(2){display:block}.hero .intro{font-size:16px}.hero-note{font-size:12px!important}.hero-art{min-height:560px;margin-left:8px}.hero-phone{transform:none;left:-8px;bottom:0}.hero-photo{height:94%}.section-heading h2,.practice h2,.inside h2,.faq h2,.purpose-copy h2{font-size:clamp(32px,7.8vw,46px)}.role h3{font-size:32px}.role p{min-height:0;font-size:16px}.role h3 br{display:block}.steps{gap:25px 16px}.steps p{font-size:16px}.mini-preview strong{font-size:20px;overflow-wrap:anywhere}.mini-preview{min-height:205px}.mini-preview>span,.mini-tags{font-size:12px;letter-spacing:0}.role-strip span{font-size:12px;letter-spacing:0}.role-strip b{font-size:14px}.actions{gap:18px;flex-wrap:wrap}.section-heading>p:last-child{font-size:16px}.role-disclaimer,.preview-note{font-size:12px}.purpose-copy p{font-size:16px}.final-cta h2{font-size:clamp(34px,8vw,52px)}.app-stage{padding:30px 10px;min-height:700px}.phone{max-width:100%}.faq summary{font-size:16px}}

/* Readable text on the primary brand red. */
.primary,.sample-cta,.mini-icon,.athlete,.athlete p,.athlete .role-symbol,.final-cta p:not(.eyebrow),.final-cta .eyebrow,.skip{color:#000000}.athlete .role-foot{border-color:#00000055}.primary{font-weight:700}.final-cta .eyebrow{font-weight:700}

/* Brand hierarchy and responsive readability. */
.logo{gap:28px}
.logo img{flex-shrink:0}
.app-brand{gap:18px;min-height:52px}
.app-brand img{flex-shrink:0}
.app-brand span{text-align:right}
.hero h1 em,.accent,.header nav a:hover,.app-nav .active{color:var(--accent-soft)}
.eyebrow,.role-type,.role-strip span,.conversation article>span{font-size:.875rem}
.nav-cta,.text-link,.button{font-size:.875rem}
.role-strip div{flex-wrap:wrap;gap:8px 20px}
.steps a,.hero-copy,.inside-copy,.role,.purpose-copy,.faq-list{min-width:0}
.view-tabs button>div{min-width:0}
.view-tabs small{line-height:1.5}
.role h3{letter-spacing:-.025em;line-height:1.15}
.final-cta h2 span{color:var(--ink)}
@media(max-width:1050px) and (min-width:761px){
 .header nav{gap:12px}
 .header{padding-left:4%;padding-right:4%;gap:16px}
 .header .nav-cta{white-space:nowrap}
 .header .nav-cta span{margin-left:10px}
}
@media(max-width:380px){
 .header .nav-cta{font-size:.875rem;padding:9px}
 .header .nav-cta span{display:none}
 .steps{grid-template-columns:1fr}
 .mini-preview{min-height:0}
 .role-strip{grid-template-columns:1fr;gap:16px}
 .role-strip div{display:flex;align-items:baseline;gap:12px}
 .role-strip b{margin:0}
 .app-stage .phone{width:100%}
 .app-nav{flex-wrap:wrap}
}

/* Founder story: experience and credibility from the official brand narrative. */
.founder{display:grid;grid-template-columns:.65fr 1.35fr;gap:9%;background:var(--ink);color:var(--paper);border-top:1px solid #333}
.founder-kicker{display:flex;flex-direction:column;justify-content:space-between;min-height:300px}
.founder-kicker>span{font-size:.75rem;letter-spacing:.12em;color:var(--neutral);border-top:1px solid #444;padding-top:18px}
.founder-story{max-width:760px}
.founder-story h2{font-size:clamp(38px,4.2vw,64px)}
.founder-story>p{color:var(--neutral);font-size:1.05rem;max-width:660px}
.founder blockquote{font-family:'Montserrat',Arial,sans-serif;font-size:clamp(20px,2.2vw,32px);font-weight:600;line-height:1.3;margin:50px 0 0;padding:26px 0 0;border-top:3px solid var(--accent);color:var(--paper)}
@media(max-width:760px){.founder{grid-template-columns:1fr;gap:34px}.founder-kicker{min-height:0}.founder-kicker>span{margin-top:10px}.founder-story h2{font-size:clamp(32px,7.8vw,46px)}.founder blockquote{margin-top:34px}}

/* Official T90 color and geometric icon language. */
:root{--ink:#000000;--paper:#ffffff;--accent:#e82828;--accent-soft:#ff6b6b;--neutral:#cccccc}
.hero h1 em,.accent,.header nav a:hover,.app-nav .active{color:var(--accent)}
.mini-icon{width:34px;height:34px;background:var(--accent);padding:7px}
.mini-icon img{display:block;width:100%;height:100%;object-fit:contain;filter:brightness(0)}
.role-symbol{height:64px;margin:28px 0;display:flex;align-items:center}
.t90-concept-icon{position:relative;display:block;width:64px;height:64px;color:var(--accent)}
.t90-concept-icon:before,.t90-concept-icon:after,.t90-concept-icon i:before,.t90-concept-icon i:after{content:"";position:absolute;display:block}
.athlete .t90-concept-icon{color:var(--ink)}
.athlete-icon:before{inset:7px;border:3px solid currentColor;border-radius:50%}
.athlete-icon:after{width:13px;height:13px;border-radius:50%;background:currentColor;left:26px;top:26px}
.athlete-icon i:before{width:3px;height:56px;background:currentColor;left:31px;top:4px;transform:rotate(45deg)}
.parent-icon:before{width:37px;height:37px;border:3px solid currentColor;border-radius:50%;left:3px;top:12px}
.parent-icon:after{width:37px;height:37px;border:3px solid var(--paper);border-radius:50%;right:3px;top:12px}
.parent-icon i:before{width:10px;height:10px;background:var(--accent);border:3px solid var(--ink);border-radius:50%;left:27px;top:26px}
.coach-icon:before{width:46px;height:46px;border-left:3px solid currentColor;border-bottom:3px solid currentColor;left:5px;top:6px}
.coach-icon:after{width:34px;height:3px;background:currentColor;left:19px;top:27px;transform:rotate(-35deg);transform-origin:left center}
.coach-icon i:before{width:13px;height:13px;border-top:3px solid currentColor;border-right:3px solid currentColor;right:7px;top:13px;transform:rotate(-8deg)}

/* Daily Loop: three clear actions, supported by a separate foundation. */
body{font-weight:400}
.hero h1{font-size:clamp(2.5rem,4.8vw,4.5rem);line-height:1.1}
.hero .intro{max-width:34rem;font-size:1.0625rem}
.steps{grid-template-columns:repeat(3,minmax(0,1fr));gap:2rem}
.steps>a{padding:1.75rem 0;border-top:2px solid var(--accent)}
.step-number{font-size:.875rem;letter-spacing:.08em;margin-bottom:1.5rem}
.steps h3{font-size:1.375rem;line-height:1.3}
.steps p{font-size:1rem}
.step-link{font-size:.875rem;font-weight:600;border-bottom:1px solid #ccc;padding-bottom:.3rem}
.blueprint-note{margin-top:2rem;padding:1.5rem 1.75rem;background:#f3f3f3;border-left:3px solid var(--accent)}
.blueprint-note p{margin:.5rem 0 1rem;max-width:48rem}
.feature-note{margin-top:2rem;font-size:1rem}
.feature-note strong{display:block;color:var(--ink);margin-bottom:.5rem}
.role-disclaimer{font-size:.875rem;max-width:46rem;margin-left:auto;margin-right:auto}
.header a,.view-tabs button{min-height:44px}
.header .logo{min-height:44px}
.phone .app-nav{flex-wrap:wrap}
.hero h1 em{color:#ff6b6b}
@media(max-width:1100px){.header nav{display:none}.menu{display:block;background:transparent;color:white;border:0;min-width:44px;min-height:44px;font-size:1.5rem}.nav-cta{margin-left:auto}}
@media(max-width:760px){.hero h1{font-size:clamp(2.1rem,8.5vw,3.5rem)}.steps{grid-template-columns:1fr;gap:.5rem}.steps>a{padding:1.5rem 0}.step-number{margin-bottom:1rem}.steps p{max-width:35rem}.blueprint-note{padding:1.25rem}.hero-note{font-size:.875rem!important}.role-strip{gap:1rem}.role-strip span{font-size:.75rem}.app-stage{min-height:0}.section{padding-top:4rem;padding-bottom:4rem}}

/* Refined hierarchy, clear role colors, and quieter section surfaces. */
:root{--parent:#8C52FF;--coach:#5170FF}
.section{padding-top:76px;padding-bottom:76px}
.hero{min-height:660px}.hero-art{min-height:550px}
.blueprint{background:#111;color:white}.blueprint .section-heading p{color:#ccc}.blueprint .section-heading .accent{color:#ff6b6b}
.blueprint-parts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2rem;margin-top:2.5rem}
.blueprint-parts article{border-top:1px solid #555;padding-top:1.5rem}.blueprint-parts span{font-size:.875rem;letter-spacing:.06em;color:#ff6b6b}.blueprint-parts h3{font-size:1.4rem;line-height:1.3;margin:1rem 0}.blueprint-parts p{color:#ccc}
.roles{background:#050505}.role-composition{gap:1.5rem;align-items:stretch}.role-composition:before{display:none}.role{border:0;border-top:3px solid;padding:2rem;background:#151515}.role.athlete{background:#211010;color:white;border-color:#e82828;padding:2rem}.athlete p{color:#ddd}.athlete .role-foot{border-color:#555;color:#ddd}.parent{border-color:var(--parent)}.coach{border-color:var(--coach)}.parent .role-type,.parent .t90-concept-icon{color:var(--parent)}.coach .role-type,.coach .t90-concept-icon{color:var(--coach)}.athlete .role-type,.athlete .t90-concept-icon{color:#ff6b6b}.parent-icon i:before{background:var(--parent)}.role p{min-height:0}.role h3{font-size:1.75rem}.role-strip div:nth-child(2) span{color:#000000}.role-strip div:nth-child(3) span{color:#000000}.role-summary{margin-bottom:1rem}
.inside{background:#fff}.app-stage{background:#f1f1f1;min-height:640px}.view-tabs button{padding-top:1rem;padding-bottom:1rem}
.ask-section{display:grid;grid-template-columns:1fr 1fr;gap:7%;background:#f3f3f3}.ask-section>div{min-width:0}.sample-chat{background:white;padding:2rem;border-radius:16px}.sample-chat .preview-note{margin:0 0 1.5rem}.chat-question{background:#1b1b1b;color:white;padding:1.2rem;border-radius:14px 14px 0 14px;margin-left:1.5rem}.chat-answer{padding:1.5rem 0}.chat-answer b{color:#b51616}.chat-answer p{margin:.5rem 0 0;color:#333}.chat-caption{font-size:.875rem;color:#555}
.founder{grid-template-columns:.8fr 1.2fr;gap:6%;align-items:center;background:#080808}.founder-portrait{position:relative;overflow:hidden;aspect-ratio:600/775;background:#151515}.founder-portrait img{position:absolute;width:312%;max-width:none;left:-173.3%;top:-5.8%;height:auto}.founder-story h2{font-size:clamp(2rem,3.7vw,3.4rem)}.founder-name{margin-top:2rem}.founder-name strong{color:#fff}.founder-name span{font-size:.875rem}
.membership{display:grid;grid-template-columns:1fr 1fr;gap:7%;align-items:center}.membership>div{min-width:0}.price-panel{background:#111;color:white;padding:2rem;border-top:4px solid var(--accent)}.price-panel p{color:#ccc}.price-panel .trial-label{color:#fff;font-weight:600}.price-options{display:flex;align-items:center;gap:1.5rem;flex-wrap:wrap}.price-options p{margin:0}.price-options strong{font-family:Montserrat,Arial,sans-serif;display:block;font-size:2.5rem;color:white;line-height:1.2}.price-options span{display:block;font-size:.875rem}.price-note{font-size:.875rem;line-height:1.6;margin:1.2rem 0 0}.faq{background:#f5f5f5}footer nav{display:flex;gap:1.5rem;font-size:.875rem}footer nav a{padding:.6rem 0}footer{flex-wrap:wrap}.accent{color:#b51616}.hero .accent,.roles .accent,.founder .accent{color:#ff6b6b}
@media(max-width:760px){.section{padding-top:3.5rem;padding-bottom:3.5rem}.blueprint-parts,.ask-section,.founder,.membership{grid-template-columns:1fr}.blueprint-parts{gap:1.5rem}.ask-section,.membership{gap:2rem}.founder{gap:2rem}.founder-portrait{max-width:380px;width:100%;margin:auto}.sample-chat,.price-panel{padding:1.5rem}.role.athlete{grid-row:1}.role.parent{grid-row:2}.role.coach{grid-row:3}.app-stage{min-height:0}.hero-art{min-height:560px}.price-options strong{font-size:2.2rem}footer nav{flex-wrap:wrap}}

/* Supplied T90 Brand Style Guide: official typography and original icon artwork. */
body{font-family:'Raleway',Arial,sans-serif;font-weight:300}
h1,h2,h3,h4{font-family:'Montserrat',Arial,sans-serif;font-weight:600}
.intro,.practice-intro,.view-tabs b,.faq summary{font-family:'Raleway',Arial,sans-serif;font-weight:500}
.accent{color:var(--ink)}
.hero .accent,.roles .accent,.founder .accent,.blueprint .section-heading .accent{color:var(--accent-soft)}
.chat-answer b{color:var(--ink)}
.athlete .role-type,.athlete .t90-concept-icon,.blueprint-parts span{color:var(--accent-soft)}
.logo{gap:28px;flex-shrink:0}
.app-brand{padding:12px 0;gap:18px}
.mini-icon{width:48px;height:48px;padding:0;background:#12100e;border-radius:0}
.mini-icon img{width:100%;height:100%;object-fit:contain;filter:none}
.daily-brand-icon{width:64px;height:60px;display:block;object-fit:contain;background:#12100e;padding:6px;margin-bottom:1.25rem}

/* App screenshot typography: bold capitals, tracked labels, light body copy. */
:root{--font-heading:'Montserrat',Arial,sans-serif;--font-body:'Raleway',Arial,sans-serif}
body{font-family:var(--font-body);font-weight:300;line-height:1.65}
h1,h2,h3,h4{font-family:var(--font-heading);font-weight:800;text-transform:uppercase;letter-spacing:-.025em;line-height:1.15;text-wrap:balance;overflow-wrap:break-word}
.hero h1{font-size:clamp(2.25rem,4.15vw,4rem);font-weight:800;line-height:1.08;letter-spacing:-.025em}
h2,.founder-story h2{font-size:clamp(2rem,3.1vw,3.25rem);line-height:1.15;letter-spacing:-.025em}
.eyebrow,.role-type,.role-foot,.step-number,.blueprint-parts article>span,.tiny-label,.stage-caption,.app-brand>span,.role-strip span{font-family:var(--font-heading);text-transform:uppercase;font-weight:700;letter-spacing:.14em;line-height:1.5}
.eyebrow{font-size:.875rem;margin-bottom:1.25rem}
.button,.nav-cta,.sample-cta,.step-link,.text-link,.view-tabs b{font-family:var(--font-heading);font-weight:700;text-transform:uppercase;letter-spacing:.06em;line-height:1.45}
.button,.nav-cta{border-radius:14px}
.button.primary{background:#e82828;color:#fff;font-weight:800;font-size:1.125rem;letter-spacing:.04em;box-shadow:0 8px 24px #e8282826}
.sample-cta{background:#e82828;color:#000;font-weight:800;border-radius:10px;align-items:center;font-size:.75rem;gap:.5rem}
.sample-cta>span{flex-shrink:0}
.header nav,#mobile-nav,footer nav{font-family:var(--font-heading);font-weight:600}
.role h3{font-size:clamp(1.25rem,1.65vw,1.75rem);font-weight:800;line-height:1.2;letter-spacing:-.025em}
.role{border:1px solid #383838;border-radius:22px}
.role.athlete{border:2px solid #6c2424;background:linear-gradient(145deg,#211414,#151515)}
.role.parent{border:2px solid #555555}.role.coach{border:2px solid #555555}
.role-foot{letter-spacing:.07em;line-height:1.7}
.steps h3,.blueprint-parts h3{font-weight:800;font-size:1.25rem;line-height:1.3}
.phone h3{font-size:1.5rem;font-weight:800;line-height:1.15;letter-spacing:-.025em}
.phone h4{font-size:.875rem;font-weight:700;line-height:1.35}
.phone .app-brand>span{letter-spacing:.15em}
.phone .tiny-label{color:var(--accent-soft);font-size:.75rem;letter-spacing:.1em}
.app-card{border-color:#663030;border-radius:16px;background:linear-gradient(145deg,#211a1a,#181818)}
.app-stage{background:#101010;border-radius:24px}
.app-stage .stage-caption,.app-stage .preview-note{color:#ccc}
.view-tabs b{font-size:1rem}.view-tabs small{font-family:var(--font-body);font-weight:400;text-transform:none;letter-spacing:0}
.faq summary{font-family:var(--font-heading);font-weight:700;line-height:1.5;text-transform:uppercase;font-size:.9375rem;letter-spacing:.02em}
.faq summary>span{flex-shrink:0}
.intro{font-family:var(--font-body);font-weight:400}
@media(max-width:1100px) and (min-width:761px){.role{padding:1.5rem}.role.athlete{padding:1.5rem}.role-composition{gap:1rem}.role h3{font-size:1.2rem}.role-type{letter-spacing:.08em}}
@media(max-width:760px){
 .hero h1{font-size:clamp(2rem,8vw,3.5rem)}
 .section-heading h2,.practice h2,.inside h2,.faq h2,.purpose-copy h2,.founder-story h2,h2{font-size:clamp(1.75rem,6.6vw,2.75rem)}
 .role h3{font-size:clamp(1.375rem,5.2vw,2rem)}
 .role.athlete,.role.parent,.role.coach{padding:1.5rem}
 .eyebrow{letter-spacing:.12em}
 .actions{align-items:flex-start;gap:1rem}
 .button.primary{font-size:1.125rem}
 .app-stage{padding:2rem 1rem}
 .stage-caption{letter-spacing:.1em}
}

/* Smaller, comfortably spaced hero title with natural word wrapping. */
.hero h1{font-size:clamp(1.875rem,3.2vw,3rem);line-height:1.2;letter-spacing:0;word-spacing:.04em;max-width:16ch}
@media(max-width:760px){.hero h1{font-size:clamp(1.75rem,6.2vw,2.625rem);line-height:1.2;max-width:18ch}}

/* Official base and supporting palette from the supplied color-system reference. */
:root{--ink:#000000;--paper:#ffffff;--accent:#e82828;--accent-soft:#ff6b6b;--neutral:#cccccc;--parent:#8C52FF;--coach:#5170FF}
.hero,.header,footer,.roles{background:var(--ink)}
.hero h1 em,.hero .eyebrow,.roles .eyebrow,.founder .eyebrow,.blueprint .section-heading .eyebrow{color:var(--accent-soft)}
.button.primary,.sample-cta{background:var(--accent)}
.button.primary:hover{background:var(--accent-soft);color:var(--ink)}
.header nav a:hover,footer nav a:hover{color:var(--accent-soft)}
.role.athlete{border-color:var(--accent);background:#151515}
.role.parent{border-color:var(--parent);background:#151515}
.role.coach{border-color:var(--coach);background:#151515}
.athlete .role-type,.athlete .t90-concept-icon{color:var(--accent-soft)}
.parent .role-type,.parent .t90-concept-icon{color:color-mix(in srgb,var(--parent),white 25%)}
.coach .role-type,.coach .t90-concept-icon{color:color-mix(in srgb,var(--coach),white 25%)}
.parent-icon i:before{background:var(--parent)}
.role-strip span,.role-strip div:nth-child(2) span,.role-strip div:nth-child(3) span{color:var(--ink)}
.role-strip div{border-left:3px solid var(--accent);padding-left:1rem}
.role-strip div:nth-child(2){border-color:var(--parent)}
.role-strip div:nth-child(3){border-color:var(--coach)}
.price-panel,.steps>a{border-top-color:var(--accent)}
.app-stage .stage-caption,.app-stage .preview-note,.role p,.role-foot{color:var(--neutral)}

/* App launch status is informational until the store listing is available. */
.app-availability{margin:1.5rem 0;padding:.25rem 0 .25rem 1rem;border-left:3px solid var(--accent)}
.app-availability strong{display:block;font-family:var(--font-heading);font-size:1rem;font-weight:700;line-height:1.5;text-transform:uppercase;letter-spacing:.04em}
.app-availability p{font-size:.875rem;line-height:1.6;margin:.4rem 0 0}
.hero .app-availability strong{color:var(--accent-soft)}
.hero .app-availability p{color:var(--neutral)}
.hero .actions{flex-wrap:wrap}

/* Original T90 iconography, supplied through Google Drive. */
.role-brand-icon{display:block;width:96px;height:96px;object-fit:contain}
.feature-brand-icon{display:block;width:64px;height:64px;object-fit:contain;background:#101010;border-radius:12px;padding:6px;margin:0 0 1.25rem}
.daily-brand-icon{width:72px;height:72px;padding:8px;border-radius:12px;background:#101010}
.mini-icon{background:transparent;border-radius:0;width:48px;height:48px}
.direction-icon{display:inline-block;width:20px;height:20px;object-fit:contain;vertical-align:middle;flex-shrink:0}
.direction-icon.outbound{transform:rotate(-45deg)}
.direction-icon.down{transform:rotate(90deg)}
.step-link .direction-icon,.view-tabs .direction-icon,.price-panel .direction-icon{filter:brightness(0)}
.sample-cta .direction-icon{width:14px;height:14px}
.button.primary:hover .direction-icon{filter:brightness(0)}

/* Role accents from SCOS: athlete red, parent #8C52FF, coach #5170FF. */
.parent .role-brand-icon{filter:hue-rotate(260deg)}
.coach .role-brand-icon{filter:hue-rotate(230deg)}

/* Supplied phone mockups contain a 396px phone centered on a 600px canvas. */
.screen-frame{position:relative;aspect-ratio:396/800;overflow:hidden;width:100%;max-width:320px;flex-shrink:0}
.screen-frame>img{position:absolute;top:0;left:-25.757576%;width:151.515152%;max-width:none;height:100%;object-fit:contain}
.hero-screen{position:absolute;width:265px;max-width:75%;bottom:-12px;left:0;transform:rotate(-5deg)}
.inside-screen{width:100%;max-width:300px;margin:1.5rem auto 0}
.role-screen{width:100%;max-width:220px;margin:1.75rem auto}
@media(max-width:760px){.hero-screen{width:245px;left:10px;bottom:0}.inside-screen{max-width:280px}.role-screen{max-width:240px}}

/* Align role content and phone mockups in Athlete, Parent, Coach order. */
.role-composition{grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:repeat(6,auto);align-items:stretch}
.role-composition>.role{display:grid;grid-template-rows:subgrid;grid-row:1 / span 6;row-gap:0;min-width:0}
.role-composition>.athlete{grid-column:1}
.role-composition>.parent{grid-column:2}
.role-composition>.coach{grid-column:3}
.role-composition .role-symbol{height:96px}
.role-composition .role-screen{align-self:start}
@media(max-width:760px){
 .role-composition{display:flex;flex-direction:column}
 .role-composition>.role{display:block;width:100%}
}

/* Assessment foundations and role-specific daily communication. */
.assessment-system{background:#f7f7f7}
.assessment-system .section-heading{max-width:850px}
.assessment-system .section-heading>p:last-child{max-width:720px}
.assessment-roles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem;margin-top:2.5rem}
.assessment-role{display:flex;flex-direction:column;padding:1.75rem;background:#fff;border:1px solid #ddd;border-top:4px solid var(--role-color);border-radius:16px;min-width:0}
.assessment-athlete{--role-color:var(--accent);--role-text:#b71c1c}
.assessment-parent{--role-color:var(--parent);--role-text:#6b2cce}
.assessment-coach{--role-color:var(--coach);--role-text:#2947c5}
.assessment-role-label{font:700 .875rem/1.5 var(--font-heading);letter-spacing:.08em;color:var(--role-text);margin-bottom:1rem}
.assessment-role h3{font-size:1.25rem;line-height:1.3;min-height:2.6em;margin-bottom:1.5rem}
.assessment-definition{margin-bottom:1.25rem}
.assessment-definition h4{font-size:1.5rem;line-height:1.3;margin-bottom:.75rem;color:var(--role-text)}
.assessment-definition h4 span{display:block;font-size:.875rem;line-height:1.5;letter-spacing:.02em;margin-top:.35rem;color:#222}
.assessment-definition p{font-size:1rem;margin:0;line-height:1.7}
.assessment-takeaway{margin:auto 0 0;padding-top:1rem;border-top:1px solid #ddd;font-size:1rem;font-weight:500;color:#222}
.assessment-boundary,.profile-loop-note,.example-note{font-size:.875rem;line-height:1.65;max-width:850px;margin:1.5rem 0 0}
.profile-loop,.communication-example{margin-top:4rem}
.profile-loop h3,.communication-example h3{font-size:clamp(1.5rem,2.4vw,2.25rem);line-height:1.25;max-width:750px}
.profile-loop-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));list-style:none;padding:0;margin:2rem 0 0;gap:1.5rem;counter-reset:none}
.profile-loop-steps li{border-top:2px solid #ccc;padding-top:1rem;min-width:0}
.loop-number{font:700 .875rem/1.5 var(--font-heading);color:#b71c1c;display:block;margin-bottom:1rem}
.profile-loop-steps h4{font-size:1rem;line-height:1.4;margin-bottom:.75rem}
.profile-loop-steps p{font-size:1rem;margin:0}
.communication-roles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem;margin-top:2rem}
.communication-roles article{border-left:3px solid var(--role-color);padding:0 0 0 1.25rem}
.communication-roles blockquote{margin:0;color:#222;font-size:1.0625rem;line-height:1.7}
.sharing-note{display:flex;align-items:flex-start;gap:1rem;background:#161616;color:#ddd;padding:1.5rem;border-radius:14px;margin:2.5rem 0 0;font-size:.875rem}
.sharing-note img{object-fit:contain;flex-shrink:0}.sharing-note strong{display:block;color:#fff;margin-bottom:.25rem}
@media(max-width:1250px){.header nav{gap:15px;font-size:12px}}
@media(max-width:1000px){.assessment-roles{gap:1rem}.assessment-role{padding:1.25rem}.profile-loop-steps{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.assessment-roles,.communication-roles{grid-template-columns:1fr}.assessment-role h3{min-height:0}.profile-loop,.communication-example{margin-top:3rem}.assessment-role{padding:1.5rem}.communication-roles{gap:2rem}}
@media(max-width:480px){.profile-loop-steps{grid-template-columns:1fr}}

/* Original Drive acronym artwork; hide legacy subtitles without altering source pixels. */
.system-logo-mark{width:100%;max-width:250px;aspect-ratio:500/145;overflow:hidden;background:#161616;border-radius:8px;margin:0 0 1rem}
.system-logo-mark img{display:block;width:100%;height:auto;max-width:none}

/* Page-wide alignment and iPhone readability pass. */
:root{--page-gutter:clamp(20px,5vw,96px)}
.header,.hero,.role-strip,.section,footer{padding-left:max(var(--page-gutter),calc((100% - 1280px)/2));padding-right:max(var(--page-gutter),calc((100% - 1280px)/2))}
body{font-weight:400;-webkit-text-size-adjust:100%}
.section>*,.hero>*,.role-strip>*,.communication-roles>*,.profile-loop-steps>*{min-width:0}
p,blockquote,li{overflow-wrap:break-word}
.header{height:auto;min-height:84px;padding-top:12px;padding-bottom:12px;gap:20px}
.header nav a{display:flex;align-items:center}
.nav-cta{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;white-space:nowrap}
.menu{flex-shrink:0}
#mobile-nav{padding-left:var(--page-gutter);padding-right:var(--page-gutter)}
#mobile-nav a{min-height:48px}
#app-panel{width:100%;min-width:0}
.app-stage{align-self:start;min-height:0}
.stage-caption{font-size:.875rem;margin-bottom:0;max-width:28ch}
.app-stage .preview-note{font-size:.875rem;text-align:center;line-height:1.6}
.role-type,.role-foot,.preview-note,.role-disclaimer,footer>span,footer p{font-size:.875rem}
.role-strip div{display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:.35rem}
.role-strip span{font-size:.875rem;letter-spacing:.04em}
.role-strip b{font-size:1rem;line-height:1.5}
.steps{grid-template-rows:repeat(5,auto);row-gap:0}
.steps>a{display:grid;grid-template-rows:subgrid;grid-row:span 5;min-width:0}
.step-link{justify-self:start;align-self:end;display:inline-flex;align-items:center;gap:.5rem;min-height:44px;margin-top:.5rem}
.blueprint-parts{grid-template-rows:repeat(4,auto);row-gap:0}
.blueprint-parts article{display:grid;grid-template-rows:subgrid;grid-row:span 4;min-width:0}
.assessment-roles{grid-template-rows:repeat(5,auto);row-gap:0}
.assessment-role{display:grid;grid-template-rows:subgrid;grid-row:span 5}
.assessment-role h3{min-height:0}
.assessment-role>.assessment-definition:first-of-type{grid-row:3}
.assessment-role>.assessment-definition:nth-of-type(2){grid-row:4}
.assessment-takeaway{grid-row:5;align-self:end;margin:0}
.profile-loop-steps{grid-template-rows:repeat(3,auto);row-gap:0}
.profile-loop-steps li{display:grid;grid-template-rows:subgrid;grid-row:span 3}
.communication-roles{grid-template-rows:repeat(2,auto);row-gap:0}
.communication-roles article{display:grid;grid-template-rows:subgrid;grid-row:span 2}
.system-logo-mark{max-width:250px}
.faq summary{min-height:56px;gap:16px}
.faq details p{padding-right:0}
.text-link{display:inline-flex;align-items:center;min-height:44px}
@media(max-width:1350px){.header nav{display:none}.menu{display:block;background:transparent;color:white;border:0;min-width:44px;min-height:44px;font-size:1.5rem}.nav-cta{margin-left:auto}}
@media(max-width:1000px) and (min-width:761px){
 .role-composition,.assessment-roles{column-gap:1rem}
 .role.athlete,.role.parent,.role.coach,.assessment-role{padding:1.25rem}
 .role h3,.assessment-role h3{font-size:1.125rem;overflow-wrap:break-word}
 .profile-loop-steps{row-gap:2rem}
}
@media(max-width:760px){
 .header{min-height:72px;gap:12px}
 .header .logo{gap:0}.header .logo img{width:76px}
 .nav-cta{font-size:.875rem;padding:10px 12px}.nav-cta span{margin-left:10px}
 .hero{min-height:0;padding-top:32px;padding-bottom:40px;gap:32px}
 .hero h1{max-width:21ch;font-size:clamp(1.75rem,6.2vw,2.625rem);line-height:1.22;word-spacing:normal}
 .hero .intro{font-size:1rem;line-height:1.7}
 .hero .actions{display:flex;flex-direction:column;align-items:stretch;gap:8px}
 .hero .button{width:100%;font-size:1rem;gap:16px;padding:16px 20px}
 .hero .text-link{align-self:flex-start}
 .hero-note{margin-top:20px}
 .hero-art{margin:0;min-height:0;height:clamp(410px,125vw,560px)}
 .hero-screen{width:clamp(185px,56vw,245px);left:12px;bottom:0;max-width:72%}
 .hero-photo{height:92%;width:88%}
 .photo-caption{font-size:.75rem;letter-spacing:.1em}
 .section{padding-top:48px;padding-bottom:48px}
 h2,.section-heading h2,.inside h2,.faq h2,.founder-story h2{font-size:clamp(1.625rem,6.6vw,2.5rem);line-height:1.22;letter-spacing:-.02em}
 .eyebrow{font-size:.875rem;line-height:1.65;letter-spacing:.08em}
 .role-strip{padding-top:20px;padding-bottom:20px;gap:16px;grid-template-columns:1fr}
 .role-strip div{display:grid;grid-template-columns:110px minmax(0,1fr);align-items:start;gap:12px;padding-left:12px}
 .role-strip span{font-size:.875rem}.role-strip b{margin:0;font-size:.9375rem}
 .steps,.blueprint-parts,.assessment-roles,.profile-loop-steps,.communication-roles{grid-template-rows:none}
 .steps>a,.blueprint-parts article,.assessment-role,.profile-loop-steps li,.communication-roles article{display:block;grid-row:auto}
 .steps{gap:8px;margin-top:28px}.steps>a{padding:20px 0}
 .blueprint-parts{gap:24px}
 .role-composition{max-width:none;gap:24px;margin-top:28px}
 .role.athlete,.role.parent,.role.coach,.assessment-role{padding:24px}
 .role h3{font-size:1.375rem;line-height:1.3}
 .role-composition .role-symbol{height:72px;margin:20px 0}.role-brand-icon{width:72px;height:72px}
 .role-screen{max-width:240px;margin:24px auto}
 .assessment-roles{gap:24px;margin-top:28px}
 .assessment-role h3{margin-bottom:24px;line-height:1.4}
 .assessment-takeaway{margin-top:24px}
 .profile-loop-steps{grid-template-columns:1fr;gap:24px;margin-top:24px}
 .profile-loop-steps h4{font-size:1.0625rem}.loop-number{margin-bottom:12px}
 .communication-roles{gap:24px}
 .sharing-note{padding:20px;gap:12px}.sharing-note>span{min-width:0}
 .inside,.ask-section,.founder,.membership,.faq{gap:28px}
 .inside-copy>p:not(.eyebrow){max-width:none}
 .view-tabs button{gap:12px;padding:16px 12px}.view-tabs button[aria-selected=true]{padding-left:9px}
 .view-tabs button>span,.view-tabs button>i{flex-shrink:0}
 .app-stage{width:100%;padding:24px 16px;border-radius:18px}
 .inside-screen{max-width:280px;margin-top:24px}
 .sample-chat,.price-panel{padding:24px}.chat-question{margin-left:0;padding:16px}
 .price-options{gap:16px}.price-options strong{font-size:2rem}
 footer{align-items:flex-start;gap:20px;padding-top:32px;padding-bottom:32px}
 footer nav{width:100%;gap:24px}footer nav a{min-height:44px}
}
@media(max-width:360px){
 .role.athlete,.role.parent,.role.coach,.assessment-role,.sample-chat,.price-panel{padding:20px}
 .role-strip div{grid-template-columns:100px minmax(0,1fr);gap:8px}
 .sharing-note{flex-direction:column}
}

/* Screenshot review: clear space around complete acronym marks. */
.system-logo-mark{aspect-ratio:auto;padding:12px;border-radius:10px}
.system-logo-crop{aspect-ratio:500/150;overflow:hidden;width:100%}
.system-logo-crop img{display:block;width:100%;height:auto;max-width:none}
.founder-portrait{clip-path:inset(0 0 0 3px)}

/* New subtitle-free system artwork uses its full original canvas. */
.system-logo-full{aspect-ratio:500/200}

/* Progressive detail keeps mobile browsing short without removing information. */
.mobile-fold{min-width:0}
.mobile-fold>summary{display:none;cursor:pointer;list-style:none;align-items:center;justify-content:space-between;gap:16px;min-height:48px;padding:14px 0;font-weight:600;font-size:1rem;border-top:1px solid currentColor}
.mobile-fold>summary::-webkit-details-marker{display:none}
.mobile-fold>summary span{font-size:1.5rem;flex-shrink:0}
.mobile-fold[open]>summary span{transform:rotate(45deg)}
.founder-fold p{color:#ccc;font-size:1.05rem}
.mobile-action{display:none}
.screen-explainer{width:100%;max-width:440px;background:#fff;color:#111;border-left:3px solid #e82828;padding:18px 20px;border-radius:8px;margin-top:20px}
.screen-explainer h3{font-size:1.125rem;line-height:1.4;margin:0 0 8px}
.screen-explainer p{font-size:1rem;line-height:1.6;color:#333;margin:0}
.screen-explainer .screen-use{margin-top:8px;font-size:.875rem;color:#555}
@media(max-width:760px){
 body{padding-bottom:calc(76px + env(safe-area-inset-bottom,0px))}
 html{scroll-padding-bottom:100px}
 .section{padding-top:32px;padding-bottom:32px}
 .section-heading h2,.inside h2,.founder-story h2,.faq h2{margin-bottom:16px}
 .eyebrow{margin-bottom:12px}
 .hero{padding-top:24px;padding-bottom:28px;gap:24px}
 .hero h1{margin-bottom:18px}
 .hero .actions{margin-top:20px}
 .hero-art{height:280px;min-height:0}
 .hero-screen{width:130px;max-width:45%;left:14px}
 .hero-photo{height:100%;width:85%}
 .hero-note{font-size:.875rem!important;margin-top:12px}
 .hero .app-availability p{display:none}
 .role-strip{display:none}
 .steps{margin-top:20px;gap:0}
 .steps>a{display:grid;grid-template-columns:42px minmax(0,1fr);column-gap:14px;padding:16px 0;border-top:1px solid #ccc}
 .steps .daily-brand-icon{grid-column:1;grid-row:1 / span 4;width:42px;height:42px;padding:5px;margin:0}
 .steps .step-number,.steps h3,.steps p,.steps .step-link{grid-column:2}
 .steps .step-number{font-size:.875rem;margin-bottom:6px}
 .steps h3{font-size:1rem;margin-bottom:6px}
 .steps p{margin-bottom:0;font-size:1rem}
 .steps .step-link{margin:0;font-size:.875rem}
 .view-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin-top:20px}
 .view-tabs button,.view-tabs button[aria-selected=true]{justify-content:center;text-align:center;padding:10px 6px;border:1px solid #ccc;border-radius:6px;min-height:48px}
 .view-tabs button[aria-selected=true]{border-color:#e82828}
 .view-tabs button>span,.view-tabs button>i,.view-tabs small{display:none}
 .view-tabs b{font-size:.875rem;line-height:1.4}
 .feature-note,.stage-caption{display:none}
 .inside{gap:20px}.app-stage{padding:20px 16px}
 .inside-screen{max-width:180px;margin-top:0}
 .app-stage .preview-note{margin-top:12px}
 .screen-explainer{margin-top:16px;padding:16px}
 .mobile-fold>summary{display:flex}
 .blueprint-parts{margin-top:20px}
 .role-composition{gap:14px;margin-top:20px}
 .role.athlete,.role.parent,.role.coach{padding:20px}
 .role-composition .role-symbol{display:none}
 .role-type{margin-bottom:12px}
 .role h3{font-size:1.125rem;margin-bottom:10px}
 .role p{min-height:0;margin-bottom:14px}
 .role-summary{margin-top:20px}
 .role-fold .role-screen{max-width:210px}
 .assessment-fold{margin-top:20px}
 .sharing-note{margin-top:20px}
 .founder{grid-template-columns:80px minmax(0,1fr);gap:16px;align-items:start}
 .founder-portrait{width:80px;margin:0}
 .founder-story h2{font-size:1.25rem}
 .founder-story>p,.founder-fold p{font-size:1rem}
 .founder-name{margin-top:16px}
 .sample-chat{margin-top:12px}
 .price-panel{padding:20px}
 .faq{gap:8px}.faq summary{padding:16px 0}
 .mobile-action{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:20;align-items:center;justify-content:space-between;gap:12px;padding:12px 20px calc(12px + env(safe-area-inset-bottom,0px));background:#080808;color:white;border-top:1px solid #444}
 .mobile-action>span{font-size:.875rem;max-width:17ch;line-height:1.4}
 .mobile-action a{display:flex;align-items:center;justify-content:center;background:#e82828;color:#000;font-weight:700;font-size:.875rem;padding:10px 14px;min-height:44px;border-radius:6px;text-align:center}
}
@media print{.mobile-action{display:none}.mobile-fold>summary{display:none}}

/* Put the explanation first and integrate it into the preview surface. */
.app-stage{position:sticky;top:24px;background:#101010;color:#fff;gap:0;padding:28px 24px;justify-content:flex-start}
.screen-explainer{background:transparent;color:#fff;border:0;border-radius:0;padding:0 0 22px;margin:0;width:100%;max-width:440px}
.screen-heading{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin-bottom:10px}
.screen-explainer h3{font-size:clamp(1.25rem,2vw,1.75rem);color:#fff;margin:0;line-height:1.3}
.screen-heading>span{font-size:.875rem;white-space:nowrap;color:#aaa}
.screen-explainer p{color:#eee;line-height:1.6}
.screen-explainer .screen-use{color:#bbb;font-size:1rem;margin-top:8px}
.app-stage .inside-screen{max-width:230px;margin:0 auto}
.app-stage .preview-note{color:#aaa;font-size:.875rem;margin-top:16px}
@media(max-width:760px){
 .app-stage{position:static;padding:22px 18px}
 .screen-explainer{padding:0 0 20px;margin:0}
 .screen-explainer h3{font-size:1.25rem}
 .app-stage .inside-screen{max-width:180px}
}
@media(prefers-reduced-motion:no-preference){
 .screen-explainer{animation:preview-intro .25s ease-out}
 @keyframes preview-intro{from{opacity:.5;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}
}

/* Mobile editorial pass: one clear selector, readable copy and balanced spacing. */
.mobile-preview-picker{display:none}
@media(max-width:760px){
 :root{--page-gutter:24px}
 .section{padding-top:36px;padding-bottom:36px}
 .section p,.hero .intro,.role p,.founder-story>p,.founder-fold p{font-size:1rem;line-height:1.65}
 .eyebrow{letter-spacing:.07em;font-size:.875rem;line-height:1.5}
 .section:not(.roles):not(.blueprint):not(.founder) .eyebrow.accent{color:#b71c1c}
 h2,.section-heading h2,.inside h2,.founder-story h2,.faq h2{font-size:clamp(1.5rem,6.2vw,2rem);line-height:1.2;letter-spacing:-.015em;word-spacing:normal}
 .hero h1{font-size:clamp(1.875rem,7.4vw,2.375rem);line-height:1.15;max-width:20ch}
 .hero-art{height:240px}.hero-screen{width:115px}
 .hero .actions{gap:0}.hero .text-link{padding:12px 0}
 .steps>a{column-gap:12px;padding:18px 0}
 .steps h3{font-size:1rem;line-height:1.4;letter-spacing:0}
 .steps .step-number{font-size:.875rem;line-height:1.4}
 .view-tabs{display:none}
 .mobile-preview-picker{display:flex;flex-direction:column;gap:8px;margin-top:20px}
 .mobile-preview-picker label{font-size:.875rem;font-weight:600}
 .mobile-preview-picker select{width:100%;min-height:52px;padding:12px 14px;border:1px solid #555;border-radius:8px;background:white;color:#111;font:600 1rem/1.5 var(--font-heading);}
 .mobile-preview-picker select:focus-visible{outline:3px solid #e82828;outline-offset:3px}
 .mobile-preview-picker>span{font-size:.875rem;line-height:1.5;color:#555}
 .app-stage{border-radius:12px;padding:22px 20px}
 .screen-explainer{padding-bottom:22px}
 .screen-explainer p,.screen-explainer .screen-use{font-size:1rem;line-height:1.6}
 .screen-explainer h3{font-size:1.375rem}
 .app-stage .inside-screen{max-width:210px}
 .app-stage .preview-note{font-size:.875rem}
 .role-composition>.role{padding:22px}
 .role h3{font-size:1.125rem;line-height:1.4;letter-spacing:0}
 .role-disclaimer,.role-summary{font-size:.875rem!important;line-height:1.6}
 .mobile-fold>summary{font-size:1rem;line-height:1.5;gap:12px;padding:16px 0}
 .sharing-note{display:block;padding:20px}.sharing-note img{display:none}
 .sharing-note>span{display:block;font-size:1rem;line-height:1.65}
 .founder{display:block}
 .founder-portrait{float:left;width:90px;margin:0 18px 16px 0}
 .founder-story .eyebrow{min-height:30px}
 .founder-story>p:not(.eyebrow){clear:both}
 .founder-story h2{font-size:1.375rem;line-height:1.3;min-height:70px}
 .price-options{gap:12px}.price-options strong{font-size:2rem}
 .price-options p{margin:0}.price-panel{padding:22px}
 .faq summary{font-size:1rem;line-height:1.5;padding:18px 0;font-weight:600}
 footer nav{gap:16px;justify-content:space-between}
 .mobile-action{padding-left:16px;padding-right:16px;gap:8px}
 .mobile-action a{font-size:.875rem;padding:10px 12px}
}

/* Compact email contact */
.contact-section{display:flex;align-items:center;justify-content:space-between;gap:2rem;padding-top:2.5rem;padding-bottom:2.5rem;border-top:1px solid var(--line)}
.contact-section>div{min-width:0}
.contact-section h2{font-size:clamp(1.75rem,3vw,2.5rem);line-height:1.15;margin-bottom:.75rem}
.contact-section p{max-width:36rem;margin:0;font-size:1rem}
.contact-actions{display:flex;flex-direction:column;align-items:flex-start;gap:.5rem}
.contact-actions .button{color:#fff;justify-content:center;min-width:10rem}
.contact-address{font-size:1rem;min-height:44px;display:flex;align-items:center;text-decoration:underline;text-underline-offset:4px;overflow-wrap:anywhere}
@media(max-width:760px){.contact-section{flex-direction:column;align-items:stretch;gap:1.25rem;padding-top:2rem;padding-bottom:2rem}.contact-actions .button{width:100%}.contact-actions{align-items:stretch}.contact-address{justify-content:center}}

/* Email updates: compact inline form and delayed, dismissible dialog. */
.signup-section{display:grid;grid-template-columns:1fr 1.2fr;gap:2rem;align-items:start;border-top:1px solid var(--line);padding-top:2.5rem;padding-bottom:2.5rem}
.signup-section h2,#signup-popup h2{font-size:clamp(1.5rem,3vw,2rem);line-height:1.2;letter-spacing:0;margin:0 0 .75rem}
.signup-section p,#signup-popup p{font-size:1rem;line-height:1.6}
.signup-form{min-width:0}.signup-form label{font-size:.875rem;line-height:1.5;display:block}
.signup-input-row{display:flex;gap:.5rem;margin-top:.5rem}
.signup-input-row input{min-width:0;width:100%;background:#fff;color:#111;border:1px solid #777;border-radius:6px;padding:.8rem;font:inherit;font-size:1rem;min-height:48px}
.signup-input-row .button{white-space:nowrap;color:white;border:0;font:700 .875rem/1.4 var(--font-heading);cursor:pointer;justify-content:center;min-height:48px}
.signup-input-row .button:disabled{opacity:.65;cursor:wait}
.signup-form .signup-consent{display:flex;align-items:flex-start;gap:.65rem;margin-top:1rem;cursor:pointer}
.signup-consent input{flex:0 0 auto;width:20px;height:20px;margin-top:2px;accent-color:#e82828}
.signup-form .signup-privacy{font-size:.875rem;line-height:1.5;margin:.65rem 0 0;color:#555;overflow-wrap:anywhere}
.signup-privacy a{text-decoration:underline;text-underline-offset:3px}
.signup-status:empty{display:none}.signup-status{margin:.8rem 0 0;font-weight:600}.signup-status[data-error]{color:#b71c1c}
.signup-honey{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
#signup-popup{background:#101010;color:#fff;border:1px solid #444;border-top:4px solid #e82828;border-radius:14px;width:min(500px,calc(100% - 32px));max-height:calc(100dvh - 32px);padding:2rem;margin:auto;overflow-y:auto;box-shadow:0 24px 90px #0008}
#signup-popup::backdrop{background:rgb(0 0 0 / .55)}
#signup-popup .eyebrow{color:#bbb;margin:0 44px 1.25rem 0;font-size:.875rem}
#signup-popup .signup-input-row{flex-direction:column}
#signup-popup .signup-privacy{color:#bbb}#signup-popup .signup-status[data-error]{color:#ffb1b1}
.signup-close{position:absolute;right:.5rem;top:.5rem;min-width:44px;min-height:44px;background:transparent;color:#fff;border:0;font-size:2rem;line-height:1;cursor:pointer;border-radius:6px}
.signup-later{display:block;margin:.75rem auto 0;min-height:44px;background:none;color:#ddd;border:0;text-decoration:underline;font:inherit;cursor:pointer}
.signup-form :focus-visible,.signup-close:focus-visible,.signup-later:focus-visible{outline:3px solid #e82828;outline-offset:3px}
@media(max-width:760px){.signup-section{grid-template-columns:1fr;gap:1rem;padding-top:2rem;padding-bottom:2rem}.signup-input-row{flex-direction:column}#signup-popup{padding:1.5rem}#signup-popup h2{font-size:1.5rem}.signup-section .signup-privacy{font-size:.875rem}}
@media print{#signup-popup,.signup-section{display:none}}

/* Keep the supplied athlete in focus within the existing hero composition. */
.hero-photo{object-position:52% 60%;filter:brightness(.88) saturate(.9)}

/* Mobile readability: natural-height text blocks, without desktop row constraints. */
@media(max-width:760px){
 :root{--page-gutter:clamp(20px,5vw,28px)}
 .header{justify-content:space-between}.header .menu{margin-left:auto}
 .section{padding-top:44px;padding-bottom:44px}
 .section-heading h2,.inside h2,.founder-story h2,.faq h2,.section h2{font-size:clamp(1.5rem,6vw,1.875rem);line-height:1.28;letter-spacing:0;word-spacing:normal;margin-bottom:18px;min-height:0;height:auto;max-width:100%;overflow-wrap:break-word}
 .hero h1{font-size:clamp(1.75rem,7vw,2.25rem);line-height:1.23;letter-spacing:0;max-width:100%;height:auto}
 .section h3,.section h4{line-height:1.4;letter-spacing:0;overflow-wrap:break-word}
 .section p,.hero .intro{line-height:1.7}
 .eyebrow,.role-type,.assessment-role-label{line-height:1.6;letter-spacing:.06em;height:auto;white-space:normal}
 .steps{display:flex;flex-direction:column;gap:0}
 .steps>a{display:grid;grid-template-columns:36px minmax(0,1fr);grid-template-rows:auto auto auto auto;grid-row:auto;column-gap:12px;row-gap:8px;align-content:start;padding:24px 0;height:auto}
 .steps .daily-brand-icon{grid-column:1;grid-row:1 / 3;width:36px;height:36px;align-self:start}
 .steps .step-number{grid-column:2;grid-row:1;margin:0}
 .steps h3{grid-column:2;grid-row:2;margin:0;line-height:1.45}
 .steps p{grid-column:1 / -1;grid-row:3;margin:4px 0 0;line-height:1.7}
 .steps .step-link{grid-column:1 / -1;grid-row:4;min-height:44px;line-height:1.5;margin:0;flex-wrap:wrap}
 .blueprint-parts,.assessment-roles,.profile-loop-steps,.communication-roles{grid-template-rows:none;gap:24px}
 .blueprint-parts article,.assessment-role,.profile-loop-steps li,.communication-roles article{display:block;grid-template-rows:none;grid-row:auto;min-width:0;height:auto}
 .assessment-definition h4 span{display:block;margin-top:6px;line-height:1.5}
 .role-composition{gap:20px}.role-composition>.role{padding:24px 20px}
 .role h3{min-height:0;height:auto;margin-bottom:14px}
 .role p{height:auto;min-height:0}.role-foot{display:block;line-height:1.6;white-space:normal}
 .mobile-fold>summary,.faq summary{align-items:flex-start;gap:16px;line-height:1.6;padding:18px 0;white-space:normal;height:auto;min-width:0}
 .mobile-fold>summary span,.faq summary>span{flex:0 0 24px;line-height:1.1;text-align:center;margin-top:4px}
 .mobile-fold[open]>summary{margin-bottom:16px}
 .founder{display:flex;flex-direction:column;gap:20px}
 .founder-portrait{float:none;width:112px;max-width:100%;margin:0}
 .founder-story{width:100%;min-width:0}.founder-story .eyebrow{min-height:0}
 .founder-story h2{min-height:0;max-width:100%;font-size:clamp(1.5rem,6vw,1.875rem);line-height:1.3}
 .founder-story>p:not(.eyebrow){clear:none}
 .screen-heading{align-items:flex-start;gap:12px}.screen-heading h3{flex:1;min-width:0}.screen-heading>span{flex-shrink:0;line-height:1.6}
 .price-panel{padding:24px 20px}.price-options{flex-wrap:wrap;column-gap:20px;row-gap:16px}
 .price-options strong{line-height:1.3}.price-options span{line-height:1.6}
 .app-availability{height:auto}.app-availability strong{display:block;line-height:1.6;white-space:normal}
 .signup-input-row .button{white-space:normal;line-height:1.5;padding:14px 16px}
 .signup-form .signup-consent{line-height:1.6;gap:10px}.signup-form .signup-privacy{line-height:1.65}
 .contact-address{overflow-wrap:anywhere;white-space:normal;line-height:1.6;text-align:center}
 footer{gap:24px}footer nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 20px;justify-content:start}
 footer nav a{min-width:0;line-height:1.6;white-space:normal;overflow-wrap:break-word;padding:10px 0}
 footer p,footer>span{width:100%;line-height:1.6}
 .mobile-action{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;align-items:center}
 .mobile-action>span{max-width:none;line-height:1.5}.mobile-action a{line-height:1.5;white-space:normal;min-width:0}
 body{padding-bottom:calc(112px + env(safe-area-inset-bottom,0px))}
}

/* Clear billing choices with distinct labels, amounts and billing periods. */
.membership{align-items:start}
.membership-copy>p:not(.eyebrow){max-width:40ch}
.membership-support{margin-top:28px;padding-top:24px;border-top:1px solid #ccc}
.membership-support h3{font-size:1.0625rem;line-height:1.5;letter-spacing:0;margin:0 0 8px}
.membership-support p{font-size:1rem;line-height:1.65;margin:0}
.membership .price-panel{border-radius:12px;padding:28px}
.membership-trial{padding-bottom:24px}
.membership-trial .trial-label{font-family:var(--font-heading);font-size:1.375rem;line-height:1.4;margin:0 0 8px;color:#fff;letter-spacing:0;text-transform:none}
.membership-trial>p:last-child{font-size:1rem;line-height:1.6;margin:0;color:#ccc}
.membership-plans{display:grid;gap:0;border-top:1px solid #444}
.membership-plan{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:16px;padding:24px 0;border-bottom:1px solid #444;min-width:0}
.membership-plan h3{font-family:var(--font-heading);font-size:1.125rem;line-height:1.5;letter-spacing:0;margin:0 0 4px;text-transform:none}
.membership-plan>div>p{font-size:.875rem;line-height:1.6;color:#ccc;margin:0}
.membership-plan .membership-price{margin:0;text-align:right;color:white;min-width:0}
.membership-price strong{display:block;font-family:var(--font-heading);font-size:2rem;font-weight:700;line-height:1.25;letter-spacing:0;overflow-wrap:normal}
.membership-price span{display:block;font-size:.875rem;line-height:1.6;color:#ccc;margin-top:4px}
.membership .app-availability{margin:24px 0 20px;padding:0;border:0}
.membership .app-availability strong{font-size:1rem;line-height:1.6;letter-spacing:0;text-transform:none}
.membership .app-availability p{font-size:.875rem;line-height:1.65;color:#ccc;margin-top:8px}
.membership .price-note{font-size:.875rem;line-height:1.65;color:#bbb;margin:0}
@media(max-width:760px){
 .membership{gap:28px}.membership .price-panel{padding:24px 20px}
 .membership-copy>p:not(.eyebrow){max-width:none}
 .membership-support{margin-top:24px;padding-top:20px}
 .membership .membership-support h3{font-size:1rem;line-height:1.5}
 .membership .membership-support p{font-size:1rem;line-height:1.65}
 .membership-trial .trial-label{font-size:1.25rem;line-height:1.45}
 .membership-plan{gap:12px;padding:22px 0}
 .membership .membership-plan h3{font-size:1.0625rem;line-height:1.5}
 .membership .membership-plan>div>p,.membership-price span{font-size:.875rem;line-height:1.6}
 .membership .membership-price{line-height:1.25}
 .membership-price strong{font-size:clamp(1.625rem,7vw,2rem)}
 .section .eyebrow{margin-bottom:14px}
 .section-heading>p:last-child{margin-bottom:0}
 .role-disclaimer,.role-summary{line-height:1.7}
 .section .signup-privacy,.section .price-note{font-size:.875rem;line-height:1.65}
 .screen-explainer p{line-height:1.7}.screen-explainer .screen-use{margin-top:12px}
}
@media(max-width:340px){
 .membership-plan{grid-template-columns:1fr;gap:12px}
 .membership-plan .membership-price{text-align:left}
}

/* Consistent mobile disclosure controls. */
@media(max-width:760px){
 .mobile-fold>summary,.faq summary{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;min-height:52px;padding:16px 0;font-family:var(--font-body);font-size:1rem;font-weight:600;line-height:1.5;text-transform:none;letter-spacing:0;cursor:pointer;list-style:none}
 .mobile-fold>summary::-webkit-details-marker,.faq summary::-webkit-details-marker{display:none}
 .mobile-fold>summary>span,.faq summary>span{display:inline-flex;align-items:center;justify-content:center;flex:0 0 24px;width:24px;height:24px;margin:0;font-family:Arial,sans-serif;font-size:1.5rem;font-weight:700;line-height:1;color:inherit;transform-origin:center}
 .mobile-fold[open]>summary>span,.faq details[open]>summary>span{transform:rotate(45deg)}
}
