.trainer-header-link { display:inline-flex; align-items:center; gap:10px; color:#d4d4d4; font-size:.72rem; letter-spacing:.11em; text-transform:uppercase; }
.trainer-header-link:hover { color:#fff; }

.trainer-hero { position:relative; min-height:720px; height:100svh; max-height:1080px; overflow:hidden; isolation:isolate; display:flex; flex-direction:column; justify-content:center; background:#080808; }
.trainer-hero-photo { position:absolute; z-index:-2; inset:0 0 0 43%; background:url('../assets/coaches.jpeg') 48% 36%/cover no-repeat; filter:grayscale(1) contrast(1.14) brightness(.67); }
.trainer-hero::after { content:""; position:absolute; z-index:-1; inset:0; background:linear-gradient(90deg,#050505 0%,rgba(5,5,5,.96) 26%,rgba(5,5,5,.58) 58%,rgba(5,5,5,.14) 100%),linear-gradient(0deg,#050505 0%,transparent 20%); }
.trainer-hero-inner,.trainer-hero-bottom { width:min(100% - 112px,1320px); margin-inline:auto; }
.trainer-hero-inner { padding:120px 0 50px; }
.trainer-kicker { display:flex; align-items:center; gap:14px; margin:0 0 29px; color:#d3d3d3; font-size:.72rem; letter-spacing:.25em; }
.trainer-kicker-line { width:36px; height:2px; background:var(--red); }
.trainer-hero h1,.trainer-section h2 { font-family:Oswald,'Arial Narrow',Impact,sans-serif; font-weight:600; text-transform:uppercase; }
.trainer-hero h1 { max-width:1050px; margin:0; font-size:clamp(4.2rem,9.2vw,9.5rem); line-height:.98; letter-spacing:-.037em; }
.trainer-hero h1 span { color:var(--red); }
.trainer-hero-copy { max-width:575px; margin:33px 0 0; color:#d0d0d0; font-size:clamp(1rem,1.5vw,1.15rem); line-height:1.7; }
.trainer-actions { display:flex; align-items:center; gap:32px; flex-wrap:wrap; margin-top:37px; }
.trainer-primary { width:min(330px,100%); min-height:66px; padding:17px 20px; display:flex; align-items:center; justify-content:space-between; gap:20px; border:1px solid var(--red); background:rgba(5,5,5,.77); font-size:.76rem; letter-spacing:.11em; text-transform:uppercase; transition:background .25s,border-color .25s; }
.trainer-primary:hover { background:#280a0d; }
.trainer-text-link { display:inline-flex; align-items:center; gap:14px; border-bottom:1px solid #777; padding:12px 0; font-size:.76rem; letter-spacing:.1em; text-transform:uppercase; }
.trainer-text-link span { color:var(--red); font-size:1.2rem; }
.trainer-text-link:hover { border-color:var(--red); }
.trainer-hero-bottom { position:absolute; bottom:18px; left:50%; transform:translateX(-50%); display:flex; justify-content:space-between; color:#929292; font-size:.62rem; letter-spacing:.2em; }

.trainer-section { max-width:1280px; margin:auto; padding:clamp(92px,10vw,145px) clamp(22px,4vw,56px); }
.trainer-section-top { display:flex; align-items:center; gap:25px; margin-bottom:48px; white-space:nowrap; }
.trainer-section-top .eyebrow { color:var(--red); }
.trainer-section-line { flex:1; height:1px; background:#303033; }
.trainer-section h2 { margin:0; font-size:clamp(3.2rem,6.4vw,6.7rem); line-height:1.02; letter-spacing:-.025em; }
.trainer-section h2 span { color:#777; }
.trainer-intro-grid { display:grid; grid-template-columns:1.15fr .85fr; gap:clamp(40px,6vw,100px); align-items:end; }
.trainer-intro-copy { max-width:460px; }
.trainer-intro-copy p { margin:0 0 22px; color:#c2c2c2; font-size:1rem; line-height:1.85; }
.trainer-intro-copy p:last-child { margin-bottom:0; }
.trainer-value-strip { display:grid; grid-template-columns:repeat(3,1fr); margin-top:80px; border-top:1px solid #38383a; border-bottom:1px solid #38383a; }
.trainer-value-strip > div { min-height:210px; padding:32px 34px 30px 0; }
.trainer-value-strip > div + div { border-left:1px solid #38383a; padding-left:34px; }
.trainer-value-number,.trainer-tool-index,.trainer-format-label { color:var(--red); font-size:.66rem; letter-spacing:.2em; }
.trainer-value-strip strong { display:block; margin-top:24px; font-family:Oswald,sans-serif; font-size:1.55rem; font-weight:500; letter-spacing:.03em; }
.trainer-value-strip p { margin:11px 0 0; max-width:245px; color:#a6a6a6; font-size:.84rem; line-height:1.65; }
.trainer-founder { display:grid; grid-template-columns:.85fr 1.15fr; margin-top:88px; border:1px solid #333337; background:#101011; }
.trainer-founder-photo { min-height:560px; overflow:hidden; }
.trainer-founder-photo img { display:block; width:100%; height:100%; object-fit:cover; object-position:50% 38%; filter:grayscale(1) contrast(1.1) brightness(.8); }
.trainer-founder-copy { display:flex; flex-direction:column; justify-content:center; padding:clamp(35px,5vw,74px); }
.trainer-founder-copy .eyebrow,.trainer-feedback .eyebrow { color:var(--red); line-height:1.5; }
.trainer-founder h3,.trainer-feedback h3 { margin:24px 0 26px; font-family:Oswald,sans-serif; font-size:clamp(2.5rem,4vw,4.5rem); font-weight:500; line-height:1.07; text-transform:uppercase; }
.trainer-founder p { max-width:540px; margin:0 0 17px; color:#c0c0c0; font-size:.93rem; line-height:1.8; }
.trainer-founder p:last-child { margin-bottom:0; }
.trainer-feedback { display:grid; grid-template-columns:1fr .8fr; align-items:center; gap:50px; margin-top:16px; padding:clamp(30px,4vw,52px); border:1px solid #5d1b23; background:linear-gradient(125deg,#1d1012,#0e0e0f 70%); }
.trainer-feedback h3 { margin-bottom:0; font-size:clamp(2.4rem,3.6vw,3.9rem); }
.trainer-feedback p { max-width:470px; margin:0; color:#c6c6c6; font-size:.93rem; line-height:1.8; }
.trainer-feedback .trainer-feedback-promise { margin-top:18px; color:#f1dddd; font-weight:600; }
.trainer-feedback-link { display:inline-flex; align-items:center; gap:18px; margin-top:23px; padding-bottom:7px; border-bottom:1px solid #c0a2a5; font-size:.73rem; letter-spacing:.12em; text-transform:uppercase; }
.trainer-feedback-link:hover,.trainer-pricing-contact:hover { border-color:var(--red); }

.trainer-tools { max-width:none; padding-inline:max(clamp(22px,4vw,56px),calc((100vw - 1168px)/2)); background:#0b0b0c; }
.trainer-tools-heading { display:flex; justify-content:space-between; align-items:end; gap:50px; margin-bottom:50px; }
.trainer-tools-heading p { max-width:350px; margin:0 0 6px; color:#b9b9b9; font-size:.98rem; line-height:1.8; }
.trainer-showcase { margin-bottom:66px; scroll-margin-top:24px; }
.trainer-showcase-head { display:flex; align-items:end; justify-content:space-between; gap:28px; margin-bottom:25px; }
.trainer-showcase-head .eyebrow { color:var(--red); font-size:.6rem; }
.trainer-showcase-head h3 { margin:12px 0 8px; font:500 clamp(2rem,3.5vw,3.65rem)/1.04 Oswald,sans-serif; text-transform:uppercase; }
.trainer-showcase-head p { margin:0; color:#a9a9a9; font-size:.87rem; line-height:1.65; }
.trainer-showcase-controls { display:flex; align-items:center; gap:12px; flex:none; }
.trainer-showcase-controls button { display:grid; place-items:center; width:42px; height:42px; padding:0; border:1px solid #555; background:#101011; color:#eee; font-size:1.3rem; cursor:pointer; }
.trainer-showcase-controls button:not(:disabled):hover { border-color:var(--red); color:var(--red); }
.trainer-showcase-controls button:disabled { opacity:.35; cursor:default; }
.trainer-showcase-count { min-width:56px; color:#bdbdbd; font-size:.67rem; letter-spacing:.12em; text-align:center; }
.trainer-showcase-track { display:flex; gap:14px; overflow-x:auto; scroll-snap-type:x mandatory; scroll-padding-left:0; scrollbar-width:none; overscroll-behavior-inline:contain; -webkit-overflow-scrolling:touch; }
.trainer-showcase-track::-webkit-scrollbar { display:none; }
.trainer-showcase-track:focus-visible { outline-offset:5px; }
.trainer-showcase-slide { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1fr); align-items:center; gap:clamp(22px,4vw,54px); flex:0 0 min(900px,calc(100% - 110px)); min-width:0; min-height:470px; padding:clamp(22px,3.5vw,42px); border:1px solid #46464a; background:radial-gradient(circle at 80% 30%,rgba(255,31,53,.075),transparent 37%),#111112; scroll-snap-align:start; scroll-snap-stop:always; }
.trainer-showcase-copy > span { color:var(--red); font-size:.62rem; letter-spacing:.2em; }
.trainer-showcase-copy h4 { margin:28px 0 18px; font:500 clamp(2.1rem,3.45vw,3.65rem)/1.02 Oswald,sans-serif; text-transform:uppercase; }
.trainer-showcase-copy p { max-width:360px; margin:0; color:#bdbdbd; font-size:.91rem; line-height:1.75; }
.trainer-demo-screen { width:100%; max-width:390px; min-height:380px; margin-left:auto; padding:22px; border:1px solid #46464a; border-radius:20px; background:#080809; box-shadow:0 20px 50px rgba(0,0,0,.25); color:#f1f1f1; }
.demo-screen-head,.demo-screen-title,.demo-progress-line,.demo-finance-row,.demo-library-row { display:flex; align-items:center; justify-content:space-between; gap:10px; }
.demo-screen-head { padding-bottom:15px; border-bottom:1px solid #363638; }
.demo-screen-head strong { font-family:Oswald,sans-serif; font-size:1rem; font-weight:500; letter-spacing:.22em; }
.demo-screen-head span,.demo-profile small,.demo-split small,.demo-chart-summary small,.demo-finance-total small,.demo-library-label,.demo-message > span { color:#888; font-size:.52rem; letter-spacing:.16em; }
.demo-profile { display:flex; align-items:center; gap:17px; margin:25px 0 23px; }
.demo-avatar { display:grid; place-items:center; flex:none; width:68px; height:68px; border:1px solid #5a5a5d; border-radius:9px; background:linear-gradient(145deg,#29292b,#101011); color:#c3c3c3; font-family:Oswald,sans-serif; font-size:1.5rem; }
.demo-profile small,.demo-profile strong,.demo-profile span { display:block; }
.demo-profile strong { margin:7px 0 4px; font-size:1.25rem; }
.demo-profile span { color:#aaa; font-size:.75rem; }
.demo-progress-line { margin-bottom:11px; color:#aaa; font-size:.71rem; }
.demo-progress-line strong { color:#eee; font-size:.85rem; }
.demo-meter { height:5px; overflow:hidden; background:#333; }
.demo-meter i { display:block; height:100%; background:var(--red); }
.demo-split { display:grid; grid-template-columns:1fr 1fr; gap:8px; margin-top:24px; }
.demo-split div { min-height:74px; padding:11px; border:1px solid #303033; }
.demo-split small,.demo-split strong { display:block; }
.demo-split strong { margin-top:8px; font-size:.73rem; line-height:1.4; }
.demo-screen-footer { display:flex; justify-content:space-between; gap:8px; margin-top:23px; padding-top:14px; border-top:1px solid #333; color:#9b9b9b; font-size:.66rem; }
.demo-screen-footer span:first-child { color:#f0f0f0; }
.demo-screen-title { margin:22px 0 14px; }
.demo-screen-title strong { font-size:1.18rem; }
.demo-screen-title span { color:#888; font-size:.62rem; }
.demo-workout-row { display:flex; align-items:center; justify-content:space-between; gap:9px; padding:14px 0; border-top:1px solid #303033; }
.demo-workout-row strong,.demo-workout-row small { display:block; }
.demo-workout-row strong { font-size:.76rem; }
.demo-workout-row small { margin-top:6px; color:#8b8b8b; font-size:.61rem; }
.demo-video-chip,.demo-muted-chip { flex:none; padding:7px 8px; border:1px solid #b82837; border-radius:5px; color:#ff5668; font-size:.56rem; }
.demo-muted-chip { border-color:#3b3b3d; color:#999; }
.demo-technique { margin-top:11px; padding:14px; border:1px solid #503039; background:#1a0e10; }
.demo-technique span,.demo-technique strong,.demo-technique small { display:block; }
.demo-technique span { color:#f27886; font-size:.5rem; letter-spacing:.13em; }
.demo-technique strong { margin:8px 0 5px; font-size:.78rem; }
.demo-technique small { color:#aaa; font-size:.61rem; line-height:1.45; }
.demo-chart-summary { padding:18px 0 2px; }
.demo-chart-summary strong { display:block; margin:6px 0; font-family:Oswald,sans-serif; font-size:2rem; font-weight:500; }
.demo-chart-summary > span { color:#88c3a2; font-size:.69rem; }
.demo-chart { display:block; width:100%; height:auto; margin-top:5px; }
.demo-chart-grid { fill:none; stroke:#303033; stroke-width:1; }
.demo-chart-line { fill:none; stroke:#f1f1f1; stroke-width:3; stroke-linecap:round; stroke-linejoin:round; }
.demo-chart-dots circle { fill:#f1f1f1; }
.demo-chart-dots circle:last-child { fill:var(--red); }
.demo-chart-axis { display:flex; justify-content:space-between; margin-top:-7px; color:#888; font-size:.53rem; letter-spacing:.1em; }
.demo-finance-total { margin:20px 0 17px; padding:18px; border:1px solid #32604b; border-radius:12px; background:linear-gradient(130deg,#15231c,#0e1511); }
.demo-finance-total small,.demo-finance-total strong,.demo-finance-total span { display:block; }
.demo-finance-total strong { margin:8px 0; font:500 2.25rem/1 Oswald,sans-serif; }
.demo-finance-total span { color:#9cb9a6; font-size:.63rem; }
.demo-finance-bars { display:flex; justify-content:space-between; align-items:end; gap:11px; height:84px; margin:0 13px 11px; border-bottom:1px solid #46464a; }
.demo-finance-bars i { width:13%; background:#8bcbaa; border-radius:3px 3px 0 0; }
.demo-finance-row { padding:13px 0; border-top:1px solid #333; font-size:.67rem; }
.demo-finance-row div { display:flex; align-items:center; gap:8px; }
.demo-finance-row span:last-child { color:#b7b7b7; text-align:right; }
.demo-status-dot { flex:none; width:7px; height:7px; border-radius:50%; }
.demo-status-red { background:#f17480; }
.demo-status-gold { background:#d7ad6f; }
.demo-finance-note { margin-top:10px; color:#777; font-size:.58rem; line-height:1.45; }
.demo-notice-row { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:20px 0; border-top:1px solid #343436; }
.demo-notice-row strong,.demo-notice-row small { display:block; }
.demo-notice-row strong { font-size:.75rem; }
.demo-notice-row small { margin-top:7px; color:#929292; font-size:.63rem; }
.demo-toggle { position:relative; flex:none; width:33px; height:20px; border-radius:20px; background:#a32434; }
.demo-toggle::after { content:""; position:absolute; top:3px; right:3px; width:14px; height:14px; border-radius:50%; background:#fff; }
.demo-message { margin-top:9px; padding:16px; border:1px solid #474749; border-radius:9px; background:#161617; }
.demo-message p { margin:10px 0 0; color:#d4d4d4; font-size:.72rem; line-height:1.55; }
.demo-library-label { margin:22px 0 10px; }
.demo-recipe { display:flex; align-items:center; gap:13px; padding:12px; border:1px solid #38383a; }
.demo-recipe-art { display:grid; place-items:center; flex:none; width:65px; height:65px; border-radius:7px; background:radial-gradient(circle at 40% 35%,#e8c5ad 0 18%,#995d3f 19% 26%,#e2d7b3 27% 49%,#624936 50% 56%,#363127 57%); color:#f8f1e6; font-size:1.3rem; }
.demo-recipe-art span { opacity:.5; }
.demo-recipe strong,.demo-recipe small,.demo-recipe span { display:block; }
.demo-recipe strong { font-size:.76rem; }
.demo-recipe small { margin:6px 0; color:#999; font-size:.59rem; }
.demo-recipe span { color:#ddd; font-size:.56rem; line-height:1.4; }
.demo-library-row { padding:12px 0; border-top:1px solid #303033; }
.demo-library-row strong,.demo-library-row small { display:block; }
.demo-library-row strong { font-size:.72rem; }
.demo-library-row small { margin-top:6px; color:#929292; font-size:.6rem; }
.demo-library-row > span { flex:none; color:#f17583; font-size:.61rem; }
.trainer-showcase-bottom { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-top:19px; }
.trainer-showcase-bottom p { margin:0; color:#898989; font-size:.7rem; line-height:1.6; }
.trainer-showcase-bottom a { display:inline-flex; align-items:center; gap:12px; padding:11px 0; border-bottom:1px solid #777; font-size:.71rem; letter-spacing:.09em; text-transform:uppercase; white-space:nowrap; }
.trainer-showcase-bottom a:hover { border-color:var(--red); }
.trainer-tool-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); border-top:1px solid #353538; border-left:1px solid #353538; }
.trainer-tool { min-height:250px; padding:33px 30px 30px; border-right:1px solid #353538; border-bottom:1px solid #353538; background:#0d0d0e; transition:background .25s; }
.trainer-tool:hover { background:#171719; }
.trainer-tool h3 { margin:40px 0 13px; font-family:Oswald,sans-serif; font-size:clamp(1.7rem,2.3vw,2.45rem); font-weight:500; line-height:1.12; text-transform:uppercase; }
.trainer-tool p { max-width:330px; margin:0; color:#aaa; font-size:.88rem; line-height:1.7; }
.trainer-client-view { display:grid; grid-template-columns:1fr .75fr; align-items:end; gap:48px; margin-top:70px; padding:34px 0 0; border-top:1px solid #353538; }
.trainer-client-view .eyebrow { color:var(--red); }
.trainer-client-view h3 { margin:21px 0 0; font-family:Oswald,sans-serif; font-size:clamp(2rem,3.2vw,3.5rem); font-weight:500; line-height:1.08; text-transform:uppercase; }
.trainer-client-view p { max-width:455px; margin:0 0 3px; color:#b9b9b9; font-size:.95rem; line-height:1.8; }

.trainer-format-grid { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.trainer-format { position:relative; isolation:isolate; display:flex; flex-direction:column; justify-content:space-between; min-height:560px; overflow:hidden; padding:38px; border:1px solid #37373a; }
.trainer-format::before { content:""; position:absolute; z-index:-2; inset:0; background-size:cover; background-position:center; filter:grayscale(1) brightness(.57) contrast(1.1); transition:transform .6s; }
.trainer-format:hover::before { transform:scale(1.04); }
.trainer-format::after { content:""; position:absolute; z-index:-1; inset:0; background:linear-gradient(0deg,#050505 1%,rgba(5,5,5,.66) 38%,rgba(5,5,5,.15) 100%); }
.trainer-format-offline::before { background-image:url('../assets/coaching.jpeg'); background-position:50% 35%; }
.trainer-format-online::before { background-image:url('../assets/training.jpeg'); background-position:50% 45%; }
.trainer-format h3 { margin:0 0 18px; font-family:Oswald,sans-serif; font-size:clamp(2.7rem,4.3vw,4.5rem); font-weight:600; line-height:1; }
.trainer-format p { max-width:470px; margin:0; color:#d2d2d2; font-size:.95rem; line-height:1.75; }

.trainer-process { padding-top:105px; }
.trainer-process-grid { display:grid; grid-template-columns:1fr .8fr; gap:clamp(50px,7vw,120px); }
.trainer-process-grid > div > p { max-width:460px; margin:32px 0 0; color:#b8b8b8; font-size:1rem; line-height:1.8; }
.trainer-steps { padding:0; margin:0; list-style:none; }
.trainer-steps li { display:grid; grid-template-columns:55px 1fr; gap:18px; padding:23px 0; border-top:1px solid #363638; }
.trainer-steps li:last-child { border-bottom:1px solid #363638; }
.trainer-steps li > span { color:var(--red); font-family:Oswald,sans-serif; font-size:1.5rem; }
.trainer-steps strong { font-family:Oswald,sans-serif; font-size:1.7rem; font-weight:500; text-transform:uppercase; }
.trainer-steps p { margin:8px 0 0; color:#a9a9a9; font-size:.88rem; line-height:1.65; }

.trainer-pricing { max-width:none; padding-inline:max(clamp(22px,4vw,56px),calc((100vw - 1168px)/2)); background:#0b0b0c; }
.trainer-pricing-heading { display:grid; grid-template-columns:1.3fr .7fr; gap:45px; align-items:end; margin-bottom:54px; }
.trainer-pricing-heading p { max-width:410px; margin:0 0 4px; color:#b9b9b9; font-size:.98rem; line-height:1.8; }
.trainer-trial { display:grid; grid-template-columns:minmax(0,1fr) minmax(210px,290px); align-items:end; gap:38px; margin-bottom:14px; padding:34px 36px; border:1px solid var(--red); background:linear-gradient(115deg,#281115,#101011 72%); scroll-margin-top:100px; }
.trainer-trial h3 { margin:14px 0 12px; font-family:Oswald,sans-serif; font-size:clamp(2.5rem,4vw,4rem); font-weight:600; line-height:1.03; }
.trainer-trial p { max-width:570px; margin:0; color:#d2c9ca; font-size:.9rem; line-height:1.7; }
.trainer-trial .trainer-trial-button { border-color:var(--red); background:var(--red); color:#fff; text-decoration:none; }
.trainer-trial .trainer-trial-button:hover,.trainer-trial .trainer-trial-button:focus-visible { border-color:#fff; background:#a82b39; }
.trainer-trial-button .action-arrow { width:20px; height:20px; flex:none; }
.trainer-plan-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }
.trainer-plan { display:flex; flex-direction:column; min-height:490px; padding:34px 30px 28px; border:1px solid #3a3a3c; background:#101011; }
.trainer-plan-featured { border-color:#ab2534; background:linear-gradient(145deg,#201012,#101011 58%); }
.trainer-plan-index { color:var(--red); font-size:.62rem; letter-spacing:.16em; line-height:1.6; }
.trainer-plan h3 { margin:43px 0 14px; font-family:Oswald,sans-serif; font-size:clamp(2.65rem,4vw,4.45rem); font-weight:600; line-height:.98; letter-spacing:-.025em; }
.trainer-plan-price { margin:0 0 20px; font-family:Oswald,sans-serif; font-size:2.9rem; line-height:1; }
.trainer-plan-price span { color:#aaa; font-family:Inter,Arial,sans-serif; font-size:.82rem; font-weight:400; letter-spacing:.02em; }
.trainer-plan-description { max-width:310px; margin:0; color:#c0c0c0; font-size:.91rem; line-height:1.75; }
.trainer-plan-details { margin-top:auto; padding-top:27px; }
.trainer-plan-details summary { display:flex; align-items:center; justify-content:space-between; min-height:62px; padding:17px 18px; border:1px solid #6a6a6d; font-size:.72rem; letter-spacing:.12em; text-transform:uppercase; list-style:none; cursor:pointer; transition:border-color .25s,background .25s; }
.trainer-plan-details summary::-webkit-details-marker { display:none; }
.trainer-plan-details summary:hover { border-color:var(--red); background:#2a1013; }
.trainer-plan-details summary span { color:var(--red); font-size:1.35rem; line-height:1; transition:transform .25s; }
.trainer-plan-details[open] summary { border-color:var(--red); }
.trainer-plan-details[open] summary span { transform:rotate(45deg); }
.trainer-plan-content { padding:21px 0 0; }
.trainer-plan-content ul { margin:0; padding:0 0 0 18px; color:#d2d2d2; font-size:.82rem; line-height:1.6; }
.trainer-plan-content li + li { margin-top:10px; }
.trainer-plan-content p { margin:21px 0; color:#9e9e9e; font-size:.78rem; line-height:1.65; }
.trainer-plan-note { display:block; margin-top:auto; padding:31px 0 22px; color:#8f8f8f; font-size:.61rem; letter-spacing:.17em; line-height:1.5; }
.trainer-plan-button { display:flex; align-items:center; justify-content:space-between; width:100%; min-height:62px; padding:17px 18px; border:1px solid #6a6a6d; background:transparent; font-size:.72rem; letter-spacing:.12em; text-align:left; text-transform:uppercase; }
.trainer-plan-button span { color:var(--red); font-size:1.35rem; }
.trainer-plan-checkout { gap:14px; min-height:82px; margin-top:12px; border-color:var(--red); background:rgba(255,31,53,.035); transition:background .25s,box-shadow .25s; }
.trainer-plan-checkout:hover,.trainer-plan-checkout:focus-visible { background:#2a1013; box-shadow:0 0 0 1px var(--red); }
.trainer-plan-checkout .trainer-plan-button-copy { display:flex; flex-direction:column; gap:5px; min-width:0; color:var(--white); font-size:inherit; line-height:1.5; }
.trainer-plan-button-copy small { color:#ff8d9a; font-size:.68rem; font-weight:400; letter-spacing:.035em; text-transform:none; }
.trainer-plan-checkout .action-arrow { flex:none; }
.trainer-plan-featured .trainer-plan-details summary { border-color:var(--red); }
.trainer-plan-soon { border-color:#2d2d2f; background:#0e0e0f; }
.trainer-plan-soon .trainer-plan-index,.trainer-plan-soon h3,.trainer-plan-soon .trainer-plan-button span { color:#777; }
.trainer-plan-soon .trainer-plan-description { color:#8e8e8e; }
.trainer-plan-button-soon { border-color:#333335; color:#8d8d8d; cursor:not-allowed; }
.trainer-pricing-disclaimer { margin:23px 0 0; color:#888; font-size:.77rem; line-height:1.6; }
.trainer-pricing-contact { display:inline-flex; align-items:center; gap:10px; margin-top:13px; padding-bottom:5px; border-bottom:1px solid #57575a; color:#c6c6c6; font-size:.77rem; line-height:1.5; }

.trainer-community { padding-top:30px; }
.trainer-community-box { position:relative; overflow:hidden; padding:clamp(34px,6vw,75px); border:1px solid #5d1b23; background:radial-gradient(circle at 84% 20%,rgba(255,31,53,.16),transparent 34%),linear-gradient(120deg,#151012,#080808 75%); }
.trainer-community-box::after { content:"+"; position:absolute; right:4%; top:-60px; color:rgba(255,31,53,.1); font-family:Oswald,sans-serif; font-size:380px; line-height:1; pointer-events:none; }
.trainer-soon { display:block; position:relative; z-index:1; margin-bottom:30px; color:var(--red); font-size:.69rem; letter-spacing:.21em; }
.trainer-community h2 { position:relative; z-index:1; max-width:800px; }
.trainer-community p { position:relative; z-index:1; max-width:690px; margin:26px 0 0; color:#c2c2c2; font-size:1rem; line-height:1.85; }

.trainer-footer { background:#090909; }
.trainer-footer h2 { max-width:1000px; }
.trainer-footer-contact { margin:24px 0 0; color:#999; font-size:.83rem; line-height:1.7; }
.trainer-footer-contact a { display:inline-block; color:#ededed; border-bottom:1px solid #777; }
.trainer-footer-contact a:hover { border-color:var(--red); }
.trainer-footer .footer-line a:hover { color:#fff; }

@media (max-width:900px) {
  .trainer-hero-inner,.trainer-hero-bottom { width:calc(100% - 64px); }
  .trainer-hero-photo { left:25%; }
  .trainer-hero::after { background:linear-gradient(90deg,#050505 0%,rgba(5,5,5,.9) 35%,rgba(5,5,5,.28) 100%),linear-gradient(0deg,#050505,transparent 30%); }
  .trainer-intro-grid,.trainer-process-grid { grid-template-columns:1fr; gap:32px; }
  .trainer-intro-copy { max-width:740px; }
  .trainer-founder { grid-template-columns:1fr 1fr; }
  .trainer-founder-photo { min-height:500px; }
  .trainer-feedback { grid-template-columns:1fr; gap:25px; }
  .trainer-tool-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .trainer-plan-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .trainer-pricing-heading { grid-template-columns:1fr; gap:25px; }
  .trainer-trial { grid-template-columns:1fr; gap:23px; }
  .trainer-trial-button { max-width:330px; }
  .trainer-plan-soon { grid-column:1 / -1; min-height:330px; }
}

@media (max-width:700px) {
  .trainer-header-link { display:none; }
  .trainer-hero { height:auto; min-height:100svh; max-height:none; }
  .trainer-hero-photo { inset:0 0 0 18%; background-size:auto calc(100% + 120px); background-position:42% -110px; filter:grayscale(1) contrast(1.12) brightness(.55); }
  .trainer-hero::after { background:linear-gradient(0deg,#050505 0%,rgba(5,5,5,.82) 37%,rgba(5,5,5,.36) 79%,rgba(5,5,5,.6) 100%); }
  .trainer-hero-inner,.trainer-hero-bottom { width:calc(100% - 40px); }
  .trainer-hero-inner { margin-top:auto; padding:210px 0 90px; }
  .trainer-kicker { gap:10px; margin-bottom:22px; font-size:.59rem; letter-spacing:.15em; }
  .trainer-kicker-line { width:23px; }
  .trainer-hero h1 { font-size:clamp(3.3rem,13vw,5rem); line-height:1.01; }
  .trainer-hero-copy { max-width:500px; margin-top:23px; font-size:.94rem; line-height:1.68; }
  .trainer-actions { gap:16px; margin-top:27px; }
  .trainer-primary { min-height:58px; }
  .trainer-hero-bottom { bottom:23px; font-size:.49rem; letter-spacing:.1em; }
  .trainer-section { padding:85px 20px; }
  .trainer-section-top { margin-bottom:34px; white-space:normal; }
  .trainer-section-top .eyebrow { min-width:0; line-height:1.5; }
  .trainer-section-line { min-width:24px; }
  .trainer-section h2 { font-size:clamp(2.8rem,11vw,4.5rem); }
  .trainer-intro-copy p,.trainer-tools-heading p,.trainer-process-grid > div > p,.trainer-community p { font-size:.94rem; }
  .trainer-value-strip { grid-template-columns:1fr; margin-top:50px; }
  .trainer-value-strip > div { min-height:0; padding:22px 0; }
  .trainer-value-strip > div + div { border-left:0; border-top:1px solid #38383a; padding-left:0; }
  .trainer-value-strip strong { margin-top:8px; }
  .trainer-value-strip p { max-width:none; }
  .trainer-founder { grid-template-columns:1fr; margin-top:58px; }
  .trainer-founder-photo { min-height:380px; max-height:450px; }
  .trainer-founder-copy { padding:32px 25px 36px; }
  .trainer-founder h3 { margin:18px 0 22px; font-size:2.8rem; }
  .trainer-founder p,.trainer-feedback p { font-size:.9rem; }
  .trainer-feedback { padding:30px 25px; }
  .trainer-feedback h3 { margin-top:18px; font-size:2.7rem; }
  .trainer-tools-heading { display:block; margin-bottom:32px; }
  .trainer-tools-heading p { margin-top:25px; }
  .trainer-showcase { margin-bottom:48px; }
  .trainer-showcase-head { align-items:start; flex-direction:column; gap:20px; }
  .trainer-showcase-head h3 { font-size:2.4rem; }
  .trainer-showcase-head p { font-size:.8rem; }
  .trainer-showcase-controls { align-self:flex-end; }
  .trainer-showcase-slide { display:block; flex-basis:calc(100% - 22px); min-height:0; padding:18px; }
  .trainer-showcase-copy h4 { margin:17px 0 9px; font-size:2.15rem; }
  .trainer-showcase-copy p { margin-bottom:22px; font-size:.78rem; line-height:1.6; }
  .trainer-demo-screen { max-width:none; min-height:0; padding:17px; border-radius:15px; }
  .trainer-showcase-bottom { align-items:start; flex-direction:column; }
  .trainer-showcase-bottom a { white-space:normal; }
  .trainer-tool-grid { grid-template-columns:1fr; }
  .trainer-tool { min-height:205px; padding:26px; }
  .trainer-tool h3 { margin-top:25px; }
  .trainer-client-view { grid-template-columns:1fr; gap:20px; margin-top:50px; }
  .trainer-client-view p { font-size:.9rem; }
  .trainer-format-grid { grid-template-columns:1fr; gap:12px; }
  .trainer-format { min-height:440px; padding:26px; }
  .trainer-format h3 { font-size:2.8rem; }
  .trainer-format p { font-size:.88rem; }
  .trainer-process { padding-top:85px; }
  .trainer-pricing-heading { margin-bottom:34px; }
  .trainer-pricing-heading p { font-size:.94rem; }
  .trainer-trial { padding:30px 25px; }
  .trainer-trial h3 { font-size:3rem; }
  .trainer-trial-button { max-width:none; }
  .trainer-plan-grid { grid-template-columns:1fr; }
  .trainer-plan,.trainer-plan-soon { grid-column:auto; min-height:0; padding:30px 25px 25px; }
  .trainer-plan h3 { margin:30px 0 17px; font-size:3.65rem; }
  .trainer-plan-details { margin-top:30px; padding-top:0; }
  .trainer-plan-note { margin-top:31px; padding:22px 0 17px; }
  .trainer-community { padding-top:10px; }
  .trainer-community-box { padding:32px 26px; }
  .trainer-soon { font-size:.57rem; line-height:1.5; }
  .trainer-community-box::after { right:-10%; top:20%; font-size:280px; }
  .trainer-footer h2 { font-size:clamp(2.6rem,11vw,4.5rem); }
}

@media (max-width:380px) {
  .trainer-hero h1 { font-size:12.2vw; }
  .trainer-hero-inner { padding-bottom:75px; }
  .trainer-actions { align-items:flex-start; flex-direction:column; }
  .trainer-showcase-slide { padding:12px; }
  .trainer-demo-screen { padding:12px; }
  .demo-screen-head strong { font-size:.85rem; letter-spacing:.15em; }
  .demo-avatar { width:52px; height:52px; }
  .demo-profile { gap:10px; }
  .demo-profile strong { font-size:1.05rem; }
}
