@font-face{font-family:Vazirmatn;src:url("assets/Vazirmatn-Bold.ttf") format("truetype");font-weight:400 800;font-display:swap}
.reset-wrap{padding-block:28px}.reset-progress{display:flex;gap:12px;list-style:none;margin-top:24px;padding:0;font-size:10px;color:var(--muted)}.reset-progress li{display:flex;align-items:center;gap:5px;flex:1}.reset-progress li span{display:grid;place-items:center;flex-shrink:0;width:26px;height:26px;border:1px solid var(--border);border-radius:50%}.reset-progress li[aria-current=step]{color:var(--text)}.reset-progress li[aria-current=step] span{background:var(--yellow);border-color:var(--yellow)}.reset-progress .is-complete span{border-color:var(--success);color:var(--success)}.reset-stage{display:grid;gap:15px}.reset-stage[hidden]{display:none}.reset-description{font-size:11px;color:var(--muted)}.reset-actions{display:flex;align-items:center;justify-content:space-between;gap:12px}.reset-text-button{border:0;background:transparent;color:#6f5c00;font-size:10px;cursor:pointer;padding-block:6px}.reset-text-button:hover,.reset-login-link:hover{text-decoration:underline}.reset-text-button:disabled{cursor:default;color:var(--muted)}.reset-login-link{text-align:center;font-size:10px;color:#6f5c00}
:root{--yellow:#f2c900;--yellow-hover:#dcb600;--yellow-soft:#fff9dc;--black:#181817;--text:#292927;--muted:#6d6d67;--bg:#ffffff;--soft:#f7f7f4;--border:#e4e3dd;--danger:#b42323;--success:#27743c;--radius:12px;--container:1140px}
*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;scroll-padding-top:88px}body{font-family:Vazirmatn,Tahoma,sans-serif;background:var(--bg);color:var(--text);direction:rtl;line-height:1.8;overflow-x:hidden}a{color:inherit;text-decoration:none}a,button{-webkit-tap-highlight-color:transparent}a:focus:not(:focus-visible),button:focus:not(:focus-visible){outline:none}button,input,select,textarea{font:inherit}button{color:inherit}img{display:block;max-width:100%}::selection{background:var(--yellow);color:var(--black)}
.shell{width:min(var(--container),calc(100% - 48px));margin-inline:auto}
.public-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.96);border-bottom:1px solid var(--border);backdrop-filter:blur(12px)}
.header-row{min-height:78px;display:flex;align-items:center;gap:40px}.logo{display:inline-flex;align-items:center;gap:11px;flex:none}.logo-box{width:40px;height:40px;display:grid;place-items:center;background:var(--yellow);border-radius:8px;color:var(--black);font-family:Vazirmatn,Tahoma,sans-serif;font-size:13px;font-weight:800}.logo-image{width:46px;height:46px;display:block;border-radius:8px;object-fit:cover}.logo>span:last-child{display:flex;flex-direction:column;line-height:1.1}.logo b{font-family:Vazirmatn,Tahoma,sans-serif;font-size:17px;letter-spacing:1.2px}.logo small{margin-top:5px;color:var(--muted);font-size:9px}
.site-nav{display:flex;align-items:center;gap:27px}.site-nav a{position:relative;padding:27px 0 23px;color:var(--muted);font-size:12px}.site-nav a:hover,.site-nav a.active{color:var(--black)}.site-nav a.active::after{content:"";position:absolute;right:0;bottom:18px;width:100%;height:2px;background:var(--yellow)}.header-actions{display:flex;align-items:center;gap:20px;margin-inline-start:auto}.quiet-link,.text-link{color:var(--black);font-size:12px}.quiet-link:hover,.text-link:hover{text-decoration:underline}.nav-toggle{display:none;padding:7px 11px;border:1px solid var(--border);border-radius:8px;background:#fff;cursor:pointer;font-size:11px}
.button{min-height:48px;display:inline-flex;align-items:center;justify-content:center;padding:0 21px;border:1px solid transparent;border-radius:9px;font-size:12px;font-weight:700;cursor:pointer;transition:background .16s ease,border-color .16s ease}.button-primary{background:var(--yellow);color:var(--black)}.button-primary:hover{background:var(--yellow-hover)}.button-dark{background:var(--black);color:#fff}.button-dark:hover{background:#30302e}.button-small{min-height:40px;padding-inline:16px;font-size:10px}.button-full{width:100%;margin-top:4px}
.eyebrow{margin-bottom:10px;color:#8b7500;font-size:11px}.home-hero{padding:72px 0 82px}.hero-layout{display:grid;grid-template-columns:.9fr 1.1fr;align-items:center;gap:72px}.hero-content h1{max-width:560px;font-size:clamp(42px,5vw,62px);line-height:1.35;letter-spacing:-.035em}.hero-text{max-width:540px;margin-top:20px;color:var(--muted);font-size:16px;line-height:2}.hero-actions{display:flex;align-items:center;gap:25px;margin-top:28px}.hero-detail{margin-top:22px;color:#85857e;font-size:10px}.hero-media{height:520px;overflow:hidden;border-radius:16px;background:var(--soft)}.hero-media img{width:100%;height:100%;object-fit:cover;object-position:54% center}
.section{padding:92px 0}.section-head{display:grid;grid-template-columns:1fr .8fr;align-items:end;gap:80px;margin-bottom:38px}.section-head h2,.member-feature h2,.membership-layout h2,.coach-preview h2,.simple-cta h2{font-size:clamp(30px,3.5vw,44px);line-height:1.45;letter-spacing:-.025em}.section-head>p,.member-feature>div>p,.membership-layout>div>p,.coach-preview p,.simple-cta p{color:var(--muted);font-size:13px;line-height:2}
.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.simple-card{padding:28px;border:1px solid var(--border);border-radius:var(--radius);background:#fff}.simple-card h3{font-size:19px}.simple-card p{min-height:78px;margin-top:10px;color:var(--muted);font-size:12px}.simple-card a,.coach-card>a{display:inline-block;margin-top:20px;color:#735f00;font-size:10px}.simple-card a:hover,.coach-card>a:hover{text-decoration:underline}
.soft-section{background:var(--soft)}.member-feature{display:grid;grid-template-columns:.85fr 1.15fr;align-items:center;gap:90px}.member-feature>div>p,.membership-layout>div>p{margin-top:14px}.member-feature .button,.membership-layout .button{margin-top:25px}.plain-list{list-style:none;background:#fff;border:1px solid var(--border);border-radius:var(--radius)}.plain-list li{display:grid;grid-template-columns:180px 1fr;gap:20px;padding:21px 24px;border-bottom:1px solid var(--border)}.plain-list li:last-child{border-bottom:0}.plain-list strong{font-size:13px}.plain-list span{color:var(--muted);font-size:11px}
.membership-layout{display:grid;grid-template-columns:.85fr 1.15fr;align-items:center;gap:90px}.membership-steps{display:grid;gap:14px}.membership-steps article{display:grid;grid-template-columns:40px 1fr;gap:15px;padding:18px 0;border-bottom:1px solid var(--border)}.membership-steps article>span{width:34px;height:34px;display:grid;place-items:center;border-radius:50%;background:var(--yellow-soft);color:#695800;font-family:Vazirmatn,Tahoma,sans-serif;font-size:12px}.membership-steps h3{font-size:14px}.membership-steps p{color:var(--muted);font-size:11px}
.coach-preview{padding-top:0}.coach-preview-inner{display:flex;align-items:center;justify-content:space-between;gap:50px;padding:42px 48px;border-radius:var(--radius);background:var(--yellow-soft)}.coach-preview p{margin-top:8px}
.public-footer{padding:52px 0 24px;background:var(--soft);border-top:1px solid var(--border)}.footer-main{display:grid;grid-template-columns:1fr 1fr 1fr;align-items:center;gap:30px}.footer-main-detailed{grid-template-columns:.8fr 1.25fr 1fr .7fr}.footer-main>p{color:var(--muted);font-size:10px;text-align:center}.footer-about{line-height:2;text-align:right!important}.footer-main address{display:grid;gap:3px;color:var(--muted);font-style:normal;font-size:9px}.footer-main address a{color:inherit;font-family:Vazirmatn,Tahoma,sans-serif;font-size:10px}.footer-main nav{display:flex;justify-content:flex-end;gap:22px;font-size:10px}.footer-main nav a:hover,.footer-main address a:hover{text-decoration:underline}.footer-bottom{display:flex;justify-content:space-between;margin-top:38px;padding-top:17px;border-top:1px solid var(--border);color:#92928b;font-size:8px}
.service-hero{padding:105px 0 95px;background:#181817;color:#fff}.service-hero .shell{max-width:900px;margin-inline:auto}.service-hero h1{max-width:800px;margin-top:12px;font-size:clamp(42px,6vw,72px);line-height:1.28}.service-hero .shell>p:not(.eyebrow){max-width:680px;margin-top:22px;color:#b7b7b0;font-size:14px;line-height:2.1}.service-hero .button{margin-top:30px}.service-detail-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:100px;align-items:start}.service-detail-grid h2{margin-top:9px;font-size:clamp(34px,4.4vw,54px);line-height:1.35}.service-detail-grid>div>p:last-child{margin-top:20px;color:var(--muted);font-size:12px;line-height:2}.service-benefits{list-style:none;border-top:1px solid var(--border)}.service-benefits li{display:grid;grid-template-columns:.55fr 1fr;gap:25px;padding:23px 0;border-bottom:1px solid var(--border)}.service-benefits strong{font-size:13px}.service-benefits span{color:var(--muted);font-size:11px}.service-coach{display:flex;align-items:center;justify-content:space-between;gap:40px}.service-coach h2{margin-top:7px;font-size:clamp(35px,4.4vw,54px)}.service-coach div>p:last-child{margin-top:7px;color:var(--muted);font-size:12px}
.page-intro{padding:76px 0 48px}.page-intro .shell{max-width:820px;margin-right:max(24px,calc((100% - var(--container))/2))}.page-intro h1{font-size:clamp(38px,5vw,58px);line-height:1.4;letter-spacing:-.035em}.page-intro p:last-child{max-width:700px;margin-top:17px;color:var(--muted);font-size:14px}.team-image .shell{height:440px;overflow:hidden;border-radius:16px}.team-image img{width:100%;height:100%;object-fit:cover;object-position:center 38%}.coach-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.coach-card{display:grid;grid-template-columns:56px 1fr;gap:18px;padding:26px;border:1px solid var(--border);border-radius:var(--radius)}.coach-initial{width:52px;height:52px;display:grid;place-items:center;border-radius:50%;background:var(--yellow-soft);color:#695800;font-size:12px}.coach-card>div:nth-child(2)>p{color:#8b7500;font-size:9px}.coach-card h3{font-size:19px}.coach-card span{color:var(--muted);font-size:9px}.coach-card>p{grid-column:1/-1;color:var(--muted);font-size:11px}.coach-card>a{grid-column:1/-1;margin-top:0}.simple-cta{display:flex;align-items:center;justify-content:space-between;gap:50px}.simple-cta p{margin-top:7px}
.auth-body{min-height:100vh;background:var(--soft)}.auth-layout{min-height:100vh;display:grid;grid-template-columns:1.1fr .9fr}.auth-form-panel{display:flex;flex-direction:column;padding:34px max(34px,7vw);background:#fff}.auth-form-wrap{width:min(100%,420px);margin:auto}.signup-wrap{padding-block:25px}.auth-form-wrap .overline{margin-bottom:8px;color:#8b7500;font-size:10px}.auth-form-wrap .overline span{display:none}.auth-form-wrap h1{font-size:38px;line-height:1.4;letter-spacing:-.025em}.auth-form-wrap>p:not(.overline):not(.auth-switch){margin-top:7px;color:var(--muted);font-size:11px}.auth-form{display:grid;gap:15px;margin-top:25px}.form-message{display:none;padding:10px 12px;border:1px solid #efc5c5;border-radius:8px;background:#fff5f5;color:#7e1c1c;font-size:10px}.form-message.is-visible{display:block}.form-message.success{border-color:#b8dfc1;background:#f1fbf3;color:#1e5c2f}.field{display:flex;flex-direction:column}.field label,.field-label-row label{font-size:11px}.field-label-row{display:flex;justify-content:space-between;align-items:center}.field-label-row button{border:0;background:transparent;color:#6f5c00;font-size:9px;cursor:pointer}.field-help{margin:2px 0 5px;color:var(--muted);font-size:8px}.field-input{width:100%;height:47px;margin-top:5px;padding:0 12px;border:1px solid #cfcec7;border-radius:8px;background:#fff;outline:none;font-size:13px}.field-input:focus{border-color:#8f7800;box-shadow:0 0 0 3px var(--yellow-soft)}.field-input[aria-invalid=true]{border-color:var(--danger)}.field-error{min-height:14px;margin-top:3px;color:var(--danger);font-size:8px}.otp-field-row{display:grid;grid-template-columns:minmax(0,1fr) 105px;gap:8px;align-items:end}.otp-send-button{height:47px;min-height:47px;margin-top:5px;padding-inline:10px;background:var(--yellow);color:var(--black);white-space:nowrap}.otp-send-button:hover{background:var(--yellow-hover)}.otp-send-button:disabled{cursor:not-allowed;opacity:.62}.otp-status{min-height:14px;margin-top:3px;color:#1e5c2f;font-size:8px}.check-field{display:grid;grid-template-columns:18px 1fr;align-items:start;gap:8px}.check-field input{width:17px;height:17px;margin-top:4px;accent-color:var(--yellow)}.check-field label{font-size:9px}.check-field .field-error{grid-column:1/-1}.auth-switch{margin-top:19px!important;text-align:center;color:var(--muted);font-size:10px!important}.auth-switch a{color:#6f5c00}.auth-switch a:hover{text-decoration:underline}.demo-access{margin-top:18px;padding-top:15px;border-top:1px solid var(--border);color:var(--muted);font-size:9px}.demo-access summary{cursor:pointer}.demo-access p{margin-top:7px}.auth-art{display:flex;flex-direction:column;justify-content:center;padding:70px;background:#f2f0e7;border-right:1px solid var(--border)}.auth-art-mark{display:none}.auth-art>div:nth-child(2)>span{color:#8b7500;font-size:10px}.auth-art h2{margin-top:12px;font-size:45px;line-height:1.45;letter-spacing:-.035em}.auth-art p{max-width:410px;margin-top:17px;color:var(--muted);font-size:11px}.auth-art>small{margin-top:45px;color:var(--muted);font-size:8px}.auth-art-signup{background:#f2f0e7;color:var(--text)}.auth-art-signup ul{display:grid;gap:8px;margin-top:20px;padding-right:18px;font-size:10px}.auth-art-signup li::marker{color:#9b8000}
.app-body{min-height:100vh;background:var(--soft)}.app-shell{min-height:100vh;display:grid;grid-template-columns:230px 1fr;opacity:0;transition:opacity .15s ease}.app-shell.is-ready{opacity:1}.app-sidebar{position:sticky;top:0;height:100vh;display:flex;flex-direction:column;padding:28px 22px;background:#fff;border-left:1px solid var(--border)}.sidebar-logo small{color:var(--muted)}.side-nav{display:grid;gap:4px;margin-top:58px}.side-nav a{padding:12px 13px;border-radius:8px;color:var(--muted);font-size:11px}.side-nav a span{display:none}.side-nav a:hover,.side-nav a.active{background:var(--yellow-soft);color:var(--black)}.side-nav a.active{font-weight:700}.sidebar-bottom{display:grid;gap:12px;margin-top:auto;padding-top:19px;border-top:1px solid var(--border)}.sidebar-bottom a,.sidebar-bottom button,.sidebar-bottom span{border:0;background:transparent;color:var(--muted);text-align:right;font-size:9px;cursor:pointer}.sidebar-bottom button:hover,.sidebar-bottom a:hover{color:var(--black)}.app-main{min-width:0;padding:34px 44px 64px}.app-topbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:30px}.app-topbar>div:first-child>span{color:var(--muted);font-size:9px}.app-topbar h1{font-size:28px}.account-summary{display:flex;align-items:center;gap:11px}.account-summary strong,.account-summary span{display:block}.account-summary strong{font-size:10px}.account-summary>div span{color:var(--muted);font-family:Vazirmatn,Tahoma,sans-serif;font-size:8px}.account-avatar{width:39px;height:39px;display:grid!important;place-items:center;border-radius:8px;background:var(--yellow);font-family:Vazirmatn,Tahoma,sans-serif;font-size:9px;font-weight:800}
.welcome-panel{display:flex;align-items:center;justify-content:space-between;gap:30px;padding:30px 34px;border-radius:var(--radius);background:#fff;border:1px solid var(--border)}.welcome-panel h2{font-size:24px}.welcome-panel p{margin-top:4px;color:var(--muted);font-size:10px}.summary-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:14px}.summary-item{padding:21px 23px;border:1px solid var(--border);border-radius:var(--radius);background:#fff}.summary-item>span{color:var(--muted);font-size:9px}.summary-item>strong{display:block;margin-top:7px;font-size:16px}.summary-item>strong b{font-family:Vazirmatn,Tahoma,sans-serif;font-size:18px}.workout-section{margin-top:45px}.app-section-head{display:grid;grid-template-columns:1fr .8fr;align-items:end;gap:55px;margin-bottom:20px}.app-section-head span{color:var(--muted);font-size:9px}.app-section-head h2{font-size:24px}.app-section-head>p{color:var(--muted);font-size:9px}.workout-table{overflow:hidden;border:1px solid var(--border);border-radius:var(--radius);background:#fff}.workout-row{display:grid;grid-template-columns:1.6fr .7fr .7fr;gap:20px;padding:16px 20px;border-bottom:1px solid var(--border);font-size:10px}.workout-row:last-child{border-bottom:0}.workout-header{background:#f1f1ed;color:var(--muted);font-size:8px}.workout-row strong{font-size:11px}.dashboard-help{display:flex;align-items:center;justify-content:space-between;gap:30px;margin-top:24px;padding:24px 27px;border-radius:var(--radius);background:var(--yellow-soft)}.dashboard-help h2{font-size:17px}.dashboard-help p{color:var(--muted);font-size:9px}
.admin-date{color:var(--muted);font-size:9px}.admin-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.admin-metrics article{padding:21px 23px;border:1px solid var(--border);border-radius:var(--radius);background:#fff}.admin-metrics span{color:var(--muted);font-size:9px}.admin-metrics strong{display:block;margin-top:6px;font-family:Vazirmatn,Tahoma,sans-serif;font-size:28px}.admin-metrics p{color:var(--muted);font-size:8px}.users-section{margin-top:40px}.users-head{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:17px}.users-head>div>span{color:var(--muted);font-size:9px}.users-head h2{font-size:24px}.search-field{display:flex;align-items:center;gap:9px}.search-field span{font-size:9px}.search-field input{width:230px;height:40px;padding:0 12px;border:1px solid #cfcec7;border-radius:8px;background:#fff;outline:none;font-size:10px}.search-field input:focus{border-color:#8f7800;box-shadow:0 0 0 3px var(--yellow-soft)}.table-wrap{overflow-x:auto;border:1px solid var(--border);border-radius:var(--radius);background:#fff}.users-table{width:100%;border-collapse:collapse;white-space:nowrap}.users-table th,.users-table td{padding:15px 17px;border-bottom:1px solid var(--border);text-align:right;font-size:9px}.users-table tr:last-child td{border-bottom:0}.users-table th{background:#f1f1ed;color:var(--muted);font-weight:400}.users-table td:first-child strong,.users-table td:first-child small{display:block}.users-table td:first-child strong{font-size:10px}.users-table td:first-child small{margin-top:2px;color:var(--muted);font-family:Vazirmatn,Tahoma,sans-serif;font-size:8px}.status-text{display:inline-flex;align-items:center;gap:7px}.status-text i{width:6px;height:6px;border-radius:50%;background:var(--success)}.status-text.inactive i{background:#898980}.table-action{border:0;background:transparent;color:#735f00;font-size:8px;cursor:pointer}.table-action:hover{text-decoration:underline}.table-action:disabled{opacity:.45}.table-empty{padding:32px;text-align:center;color:var(--muted);font-size:10px}.admin-note{margin-top:11px;color:var(--muted);font-size:8px}
:focus-visible{outline:3px solid rgba(183,151,0,.35);outline-offset:3px}
@media(max-width:960px){.hero-layout{gap:42px}.hero-media{height:470px}.member-feature,.membership-layout{gap:50px}.app-shell{grid-template-columns:205px 1fr}.app-main{padding-inline:27px}}
@media(max-width:760px){.shell{width:min(100% - 32px,640px)}.header-row{min-height:70px;gap:14px;flex-wrap:wrap}.logo small{display:none}.nav-toggle{display:block;margin-inline-start:auto}.site-nav{display:none;order:4;width:100%;margin:0;padding:7px 0 15px;border-top:1px solid var(--border)}.site-nav.is-open{display:flex}.site-nav a{padding:6px 0}.site-nav a.active::after{bottom:0}.header-actions{margin-inline-start:0}.quiet-link{display:none}.home-hero{padding:48px 0 65px}.hero-layout,.section-head,.member-feature,.membership-layout{grid-template-columns:1fr}.hero-layout{gap:38px}.hero-content h1{font-size:44px}.hero-media{height:500px}.section{padding:70px 0}.section-head{gap:14px;align-items:start}.service-grid{grid-template-columns:1fr}.simple-card p{min-height:auto}.member-feature,.membership-layout{gap:38px}.plain-list li{grid-template-columns:1fr;gap:2px}.coach-preview-inner,.simple-cta{align-items:flex-start;flex-direction:column}.footer-main{grid-template-columns:1fr 1fr}.footer-main-detailed{align-items:start}.footer-main>p{display:block}.service-hero{padding:70px 0}.service-detail-grid{grid-template-columns:1fr;gap:45px}.service-coach{align-items:flex-start;flex-direction:column}.page-intro{padding-top:56px}.page-intro .shell{margin-inline:auto}.team-image .shell{height:380px}.coach-grid{grid-template-columns:1fr}.auth-layout{grid-template-columns:1fr}.auth-form-panel{min-height:100vh;padding:26px 27px 48px}.auth-art{display:none}.app-shell{display:block}.app-sidebar{position:relative;width:100%;height:auto;padding:18px}.sidebar-logo{margin-bottom:16px}.side-nav{display:flex;overflow-x:auto;margin-top:0}.side-nav a{min-width:max-content}.sidebar-bottom{display:flex;justify-content:space-between;margin-top:10px;padding-top:11px}.app-main{padding:25px 17px 50px}.summary-grid,.admin-metrics{grid-template-columns:1fr}.app-section-head{grid-template-columns:1fr;gap:7px}.users-head{align-items:start;flex-direction:column}.search-field{width:100%}.search-field input{flex:1}.app-topbar{align-items:start}.account-summary>div{display:none}}
@media(max-width:480px){.shell{width:min(100% - 24px,420px)}.header-actions .button{padding-inline:12px}.hero-content h1{font-size:36px}.hero-text{font-size:14px}.hero-actions{align-items:stretch;flex-direction:column}.hero-media{height:390px}.hero-media img{object-position:58% center}.section-head h2,.member-feature h2,.membership-layout h2,.coach-preview h2,.simple-cta h2{font-size:29px}.footer-main{grid-template-columns:1fr}.footer-logo{margin:auto}.footer-main-detailed .footer-about,.footer-main-detailed address{text-align:center!important}.footer-main nav{justify-content:center}.footer-bottom{flex-direction:column;align-items:center;gap:4px}.service-hero h1{font-size:37px}.service-benefits li{grid-template-columns:1fr;gap:3px}.page-intro h1{font-size:34px}.team-image .shell{height:300px}.auth-form-panel{padding-inline:19px}.auth-form-wrap h1{font-size:34px}.welcome-panel,.dashboard-help{align-items:flex-start;flex-direction:column}.workout-row{grid-template-columns:1.3fr .8fr .8fr;padding-inline:12px}.users-table th,.users-table td{padding:12px 11px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition-duration:.01ms!important}}

/* Mobile hamburger navigation */
.nav-toggle{position:relative;width:44px;height:44px;padding:0;color:var(--black);font-size:0}
.nav-toggle span{position:absolute;left:50%;width:21px;height:2px;border-radius:2px;background:currentColor;transition:transform .22s ease,opacity .16s ease}
.nav-toggle span:nth-child(1){transform:translate(-50%,-6px)}
.nav-toggle span:nth-child(2){transform:translate(-50%,0)}
.nav-toggle span:nth-child(3){transform:translate(-50%,6px)}
.nav-toggle[aria-expanded="true"] span:nth-child(1){transform:translate(-50%,0) rotate(45deg)}
.nav-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}
.nav-toggle[aria-expanded="true"] span:nth-child(3){transform:translate(-50%,0) rotate(-45deg)}
@media(max-width:760px){.nav-toggle{display:flex;align-items:center;justify-content:center}}

/* Mobile slide-in navigation drawer */
.nav-backdrop{display:none}
@media(max-width:760px){
  body.nav-open{overflow:hidden}
  .nav-toggle{z-index:72}
  .site-nav,.hero-header .site-nav{position:fixed;z-index:70;top:0;right:0;bottom:0;width:min(84vw,340px);height:100dvh;display:flex;align-items:stretch;flex-direction:column;gap:0;margin:0;padding:94px 28px 30px;border:0;border-left:1px solid rgba(0,0,0,.12);background:#fff;box-shadow:-20px 0 60px rgba(0,0,0,.22);transform:translateX(105%);visibility:hidden;transition:transform .28s ease,visibility 0s linear .28s}
  .site-nav.is-open,.hero-header .site-nav.is-open{transform:translateX(0);visibility:visible;transition:transform .28s ease}
  .site-nav a,.hero-header .site-nav a{width:100%;padding:16px 2px;border-bottom:1px solid var(--border);color:var(--black);font-size:15px}
  .site-nav a:hover,.site-nav a.active,.hero-header .site-nav a:hover,.hero-header .site-nav a.active{color:var(--black)}
  .site-nav a.active,.hero-header .site-nav a.active{font-weight:700}
  .site-nav a.active::after,.hero-header .site-nav a.active::after{right:0;bottom:-1px;width:42px;height:3px}
  .nav-backdrop{position:fixed;z-index:60;inset:0;display:block;border:0;background:rgba(0,0,0,.52);opacity:0;visibility:hidden;cursor:pointer;transition:opacity .28s ease,visibility 0s linear .28s}
  .nav-backdrop.is-visible{opacity:1;visibility:visible;transition:opacity .28s ease}
}

/* Connected membership flow */
textarea.field-input{height:auto;min-height:92px;padding-block:11px;resize:vertical;line-height:1.8}
select.field-input{cursor:pointer}
.numeric-input,.password-input{direction:ltr;text-align:left;font-family:Vazirmatn,Tahoma,sans-serif;letter-spacing:.04em}
.pending-page{width:min(100% - 32px,760px);margin-inline:auto;padding:34px 0 70px}
.pending-card{margin-top:56px;padding:44px;border:1px solid var(--border);border-radius:16px;background:#fff}
.pending-card h1{max-width:580px;font-size:clamp(34px,5vw,52px);line-height:1.45}
.pending-card>p:not(.overline){margin-top:14px;color:var(--muted);font-size:12px}
.pending-card dl{display:grid;grid-template-columns:repeat(3,1fr);margin-top:30px;border:1px solid var(--border);border-radius:10px;overflow:hidden}
.pending-card dl div{padding:17px;border-left:1px solid var(--border)}
.pending-card dl div:last-child{border-left:0}
.pending-card dt{color:var(--muted);font-size:9px}.pending-card dd{margin-top:5px;font-size:12px;font-weight:700}
.pending-steps{display:grid;gap:12px;margin-top:28px}.pending-steps p{display:grid;grid-template-columns:32px 1fr;align-items:center;gap:12px}.pending-steps b{width:30px;height:30px;display:grid;place-items:center;border-radius:50%;background:var(--yellow);font-size:10px}.pending-steps span{font-size:11px}
.pending-actions{display:flex;align-items:center;gap:24px;margin-top:32px}.pending-logout{border:0;background:transparent;cursor:pointer}
@media(max-width:600px){.pending-card{margin-top:32px;padding:27px 22px}.pending-card dl{grid-template-columns:1fr}.pending-card dl div{border-left:0;border-bottom:1px solid var(--border)}.pending-card dl div:last-child{border-bottom:0}.pending-actions{align-items:stretch;flex-direction:column}.pending-logout{min-height:42px}}

/* Coach web panel */
.coach-main{max-width:1280px;width:100%;margin-inline:auto}.coach-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.coach-metrics article{padding:22px 24px;border:1px solid var(--border);border-radius:var(--radius);background:#fff}.coach-metrics span{color:var(--muted);font-size:9px}.coach-metrics strong{display:block;margin-top:5px;font-family:Vazirmatn,Tahoma,sans-serif;font-size:29px}.coach-metrics p{color:var(--muted);font-size:8px}.coach-panel-section{margin-top:48px}.coach-profile-form,.coach-program-form{max-width:820px;display:grid;gap:19px;padding:26px;border:1px solid var(--border);border-radius:var(--radius);background:#fff}.coach-profile-form .button,.coach-program-form>.button{justify-self:start;min-width:210px}.coach-plan-access{padding:15px;border-radius:9px;background:var(--yellow-soft)}.coach-plan-access>span{display:block;margin-bottom:8px;color:var(--muted);font-size:9px}.coach-plan-access>div{display:flex;flex-wrap:wrap;gap:7px}.coach-plan-access>div span{padding:5px 9px;border:1px solid #e5d36e;border-radius:7px;background:#fff;font-size:9px}.coach-programs-table .danger{color:var(--danger)}
.program-settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.number-field{position:relative}.number-field .field-input{padding-left:56px}.number-field>span{position:absolute;top:50%;left:16px;transform:translateY(-50%);color:var(--muted);font-size:9px;pointer-events:none}.weekly-program-fieldset{min-width:0;margin:3px 0 0;padding:0;border:0}.weekly-program-fieldset>legend{margin-bottom:4px;font-size:11px;font-weight:700}.training-days-list{display:grid;gap:14px;margin-top:14px}.training-day-card{padding:18px;border:1px solid var(--border);border-radius:12px;background:#fafaf7}.training-day-head{display:flex;align-items:end;justify-content:space-between;gap:18px;margin-bottom:14px}.training-day-head h3{font-size:15px}.weekday-field{width:210px}.weekday-field label{display:block;margin-bottom:6px;color:var(--muted);font-size:9px}.movement-fields{display:grid;gap:9px}.movement-field-row{display:grid;grid-template-columns:1fr 58px;gap:8px}.movement-remove{min-height:46px;border:1px solid #dddcd5;border-radius:8px;background:#fff;color:var(--danger);font-size:8px;cursor:pointer}.movement-remove:hover{border-color:#caa;background:#fff5f5}.add-movement{min-height:42px;margin-top:11px;padding:0 14px;border:1px dashed #b79a00;border-radius:8px;background:#fffdf0;color:#6f5c00;font-size:9px;cursor:pointer}.add-movement:hover{background:var(--yellow-soft)}
.member-program-empty{padding:30px;text-align:center;color:var(--muted);font-size:10px}.member-workout-day+.member-workout-day{border-top:8px solid #f1f1ed}.member-workout-day-title{padding:15px 20px;background:var(--yellow-soft);font-size:14px}.member-workout-row{grid-template-columns:36px 1fr}.member-workout-row>span{width:25px;height:25px;display:grid;place-items:center;border-radius:50%;background:var(--yellow-soft);color:#6f5c00;font-family:Vazirmatn,Tahoma,sans-serif;font-size:8px}.member-workout-row>strong{white-space:pre-wrap;line-height:2}
@media(max-width:760px){.coach-metrics{grid-template-columns:1fr}.coach-profile-form,.coach-program-form{padding:20px 16px}.coach-profile-form .button,.coach-program-form>.button{width:100%}.coach-panel-section{margin-top:36px}.program-settings-grid{grid-template-columns:1fr}.training-day-head{align-items:stretch;flex-direction:column}.weekday-field{width:100%}}
@media(max-width:480px){.movement-field-row{grid-template-columns:1fr}.movement-remove{min-height:38px}}

/* Landing redesign: native CSS, light athletic direction.
   All visual tokens are scoped; shared pages receive typography changes only.
   Layers: header 50, existing mobile backdrop/drawer/toggle 60/70/72, skip link 80. */
.landing-body {
  --yellow: #f2c900;
  --yellow-hover: #dfba00;
  --yellow-soft: #fff9dc;
  --muted: #60605a;
  --border: #e4e4dc;
  --container: 1248px;
  color-scheme: light;
  background: #fff;
  color: #22231f;
}
.landing-body .shell { width: min(var(--container), calc(100% - 80px)); }
.landing-body :focus-visible { outline: 3px solid #665400; outline-offset: 5px; }
.landing-body .skip-link { position: fixed; top: 12px; right: 20px; z-index: 80; padding: 12px 20px; background: var(--yellow); color: var(--black); transform: translateY(-160%); border-radius: 8px; }
.landing-body .skip-link:focus { transform: translateY(0); }
.landing-body .hero-header { position: relative; background: #fff; backdrop-filter: none; }
.landing-body .header-row { min-height: 79px; gap: 48px; }
.landing-body .logo b { letter-spacing: .04em; font-size: 20px; }
.landing-body .logo small { font-size: 10px; }
.landing-body .site-nav { gap: 30px; }
.landing-body .site-nav a, .landing-body .quiet-link { font-size: 13px; }
.landing-body .button { min-height: 52px; padding-inline: 26px; font-size: 14px; border-radius: 8px; white-space: nowrap; }
.landing-body .button-small { min-height: 44px; padding-inline: 20px; font-size: 12px; }
.landing-body .button-dark { background: var(--yellow); color: var(--black); }
.landing-body .button-dark:hover { background: var(--yellow-hover); }
.landing-body .video-hero { padding-block: 40px 32px; }
.landing-body .video-hero-content { display: grid; grid-template-columns: .92fr 1.08fr; align-items: center; gap: 56px; }
.landing-body .hero-copy { padding-block: 24px; }
.landing-body .hero-copy > p { font-size: 13px; color: #5b5c52; margin-bottom: 24px; }
.landing-body .hero-copy h1 { font-size: clamp(48px, 5.2vw, 72px); line-height: 1.4; letter-spacing: -.045em; }
.landing-body .hero-copy h1::first-line { text-decoration: underline; text-decoration-color: var(--yellow); text-decoration-thickness: 10px; text-underline-offset: 12px; }
.landing-body .hero-copy > span { display: block; max-width: 430px; margin-top: 24px; font-size: 16px; color: var(--muted); line-height: 2; }
.landing-body .hero-actions { margin-top: 30px; gap: 24px; flex-wrap: wrap; }
.landing-body .video-link { display: inline-flex; align-items: center; min-height: 48px; font-size: 13px; text-decoration: underline; text-underline-offset: 6px; text-decoration-color: #9c9c90; }
.landing-body .video-link:hover { text-decoration-color: #665400; }
.landing-body .hero-film { height: clamp(400px, 39vw, 530px); min-width: 0; border-radius: 16px; overflow: hidden; background: var(--yellow-soft); }
.landing-body .hero-video { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center; }
.landing-body .landing-intro { padding-block: 96px; }
.landing-body .intro-grid { display: grid; grid-template-columns: .36fr 1fr; gap: 16px 72px; }
.landing-body .section-label { font-size: 13px; color: #625200; }
.landing-body .intro-grid > .section-label { grid-row: 1 / 3; padding-top: 10px; }
.landing-body .intro-grid h2 { max-width: 840px; font-size: clamp(28px, 3vw, 40px); line-height: 1.65; letter-spacing: -.025em; }
.landing-body .intro-grid > p:last-child { grid-column: 2; max-width: 690px; color: var(--muted); font-size: 15px; line-height: 2; }
.landing-body .training-section { padding-block: 72px 80px; background: #fafaf7; }
.landing-body .landing-section-head { max-width: 650px; margin-bottom: 36px; }
.landing-body .landing-section-head h2, .landing-body .coaches-highlight h2 { font-size: clamp(32px, 3.6vw, 46px); line-height: 1.5; margin-top: 8px; }
.landing-body .landing-section-head > p { margin-top: 16px; font-size: 15px; color: var(--muted); line-height: 2; }
.landing-body .training-list { display: grid; grid-template-columns: 1.1fr 1fr; gap: 16px; }
.landing-body .training-row { position: relative; display: grid; grid-template-columns: 1fr 48px; gap: 16px 24px; padding: 28px 32px; background: #fff; border: 1px solid var(--border); border-radius: 12px; }
.landing-body .training-row:first-child { grid-row: span 2; background: var(--yellow); border-color: var(--yellow); align-content: start; }
.landing-body .training-row > span { font-size: 13px; color: #57584f; grid-column: 1 / -1; }
.landing-body .training-row h3 { font-size: 25px; line-height: 1.7; }
.landing-body .training-row:first-child h3 { font-size: clamp(28px, 3vw, 38px); max-width: 320px; margin-top: 24px; }
.landing-body .training-row p { grid-column: 1; font-size: 14px; color: var(--muted); line-height: 2; max-width: 380px; }
.landing-body .training-row:first-child p { color: #42412f; }
.landing-body .training-row a { grid-column: 2; grid-row: 2 / 4; align-self: end; width: 48px; height: 48px; display: grid; place-items: center; background: var(--yellow); border: 1px solid #a48a00; border-radius: 8px; font-size: 24px; }
.landing-body .training-row:first-child a { background: #fff; border-color: #6b5a00; }
.landing-body .training-row:focus-within, .landing-body .training-row:hover { border-color: #776300; }
.landing-body .gym-experience { padding-block: 96px; }
.landing-body .experience-grid { display: grid; grid-template-columns: .95fr 1.05fr; gap: 80px; align-items: center; }
.landing-body .experience-image { height: 600px; border-radius: 16px; overflow: hidden; background: #f5f5f1; }
.landing-body .experience-image img { width: 100%; height: 100%; object-fit: cover; object-position: 65% center; }
.landing-body .experience-copy h2 { margin-top: 12px; font-size: clamp(30px, 3.4vw, 44px); line-height: 1.6; letter-spacing: -.025em; }
.landing-body .experience-copy > p:not(.section-label) { margin-top: 18px; font-size: 15px; color: var(--muted); line-height: 2; }
.landing-body .experience-copy ul { list-style: none; display: grid; gap: 24px; margin-block: 28px 32px; }
.landing-body .experience-copy li { border-inline-start: 3px solid var(--yellow); padding-inline-start: 20px; }
.landing-body .experience-copy strong { display: block; font-size: 16px; }
.landing-body .experience-copy li span { font-size: 14px; color: var(--muted); }
.landing-body .coaches-highlight { padding-block: 72px; border-block: 1px solid var(--border); }
.landing-body .coaches-highlight-inner { display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: 88px; }
.landing-body .coaches-highlight p:not(.section-label) { max-width: 460px; margin-top: 16px; font-size: 15px; color: var(--muted); line-height: 2; }
.landing-body .coach-names { display: grid; }
.landing-body .coach-names a { display: flex; justify-content: space-between; align-items: center; gap: 24px; padding-block: 28px; }
.landing-body .coach-names a + a { border-top: 1px solid var(--border); }
.landing-body .coach-names span { color: var(--muted); font-size: 14px; }
.landing-body .coach-names strong { font-size: 26px; text-decoration: underline; text-decoration-color: var(--yellow); text-underline-offset: 10px; text-decoration-thickness: 3px; }
.landing-body .coach-names a:hover strong { text-decoration-color: #776300; }
.landing-body .membership-banner { padding-block: 80px; }
.landing-body .membership-banner-inner { display: flex; justify-content: space-between; align-items: center; gap: 40px; padding: 80px; background: var(--yellow); border-radius: 16px; border: 1px solid #e5d882; }
.landing-body .membership-banner p { font-size: 14px; color: #625200; }
.button-memmbershipp { background: #ffec80;}
.button-memmbershipp:hover { background: #ffe553;}
.landing-body .membership-banner h2 { font-size: clamp(30px, 3.3vw, 42px); line-height: 1.6; margin-block: 8px; }
.landing-body .membership-banner span { font-size: 15px; color: var(--muted); }
.landing-body .landing-footer { background: #fafaf7; padding-block: 48px 24px; }
.landing-body .footer-main-detailed { grid-template-columns: .85fr 1.25fr 1.15fr .55fr; gap: 40px; align-items: start; }
.landing-body .footer-main > p, .landing-body .footer-main address, .landing-body .footer-main address a { font-size: 12px; color: var(--muted); }
.landing-body .footer-main address { gap: 8px; }
.landing-body .footer-main nav { display: grid; gap: 8px; font-size: 13px; }
.landing-body .footer-main nav a { min-height: 32px; }
.landing-body .footer-bottom { font-size: 11px; color: var(--muted); }
@media (max-width: 1024px) {
  .landing-body .shell { width: calc(100% - 48px); }
  .landing-body .header-row { gap: 24px; }
  .landing-body .site-nav { gap: 20px; }
  .landing-body .header-actions { gap: 16px; }
  .landing-body .video-hero-content { gap: 32px; }
  .landing-body .hero-copy h1 { font-size: 40px; }
  .landing-body .hero-actions { gap: 14px; }
  .landing-body .experience-grid, .landing-body .coaches-highlight-inner { gap: 40px; }
  .landing-body .experience-image { height: 560px; }
  .landing-body .footer-main-detailed { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 760px) {
  .landing-body .shell { width: calc(100% - 32px); }
  .landing-body .header-row { min-height: 72px; gap: 12px; flex-wrap: nowrap; }
  .landing-body .logo b { font-size: 16px; }
  .landing-body .logo-image { width: 38px; height: 38px; }
  .landing-body .button-small { font-size: 11px; padding-inline: 14px; }
  .landing-body .nav-toggle { flex-shrink: 0; }
  .landing-body .site-nav { gap: 0; }
  .landing-body .site-nav a { font-size: 16px; }
  .landing-body .video-hero { padding-block: 24px; }
  .landing-body .video-hero-content { grid-template-columns: 1fr; gap: 28px; }
  .landing-body .hero-copy { padding-block: 0; }
  .landing-body .hero-copy > p { margin-bottom: 12px; }
  .landing-body .hero-copy h1 { font-size: clamp(42px, 8vw, 58px); line-height: 1.45; }
  .landing-body .hero-copy h1::first-line { text-decoration-thickness: 7px; text-underline-offset: 8px; }
  .landing-body .hero-copy > span { max-width: 540px; margin-top: 18px; font-size: 15px; }
  .landing-body .hero-actions { flex-direction: row; align-items: center; margin-top: 22px; gap: 16px; }
  .landing-body .hero-film { height: auto; aspect-ratio: 4 / 3; }
  .landing-body .hero-footer { gap: 10px 18px; flex-wrap: wrap; font-size: 11px; }
  .landing-body .hero-footer > span:last-child { margin-inline-start: 0; flex-basis: 100%; }
  .landing-body .landing-intro, .landing-body .gym-experience { padding-block: 64px; }
  .landing-body .intro-grid, .landing-body .experience-grid, .landing-body .coaches-highlight-inner { grid-template-columns: 1fr; gap: 24px; }
  .landing-body .intro-grid > .section-label { grid-row: auto; padding: 0; }
  .landing-body .intro-grid > p:last-child { grid-column: auto; }
  .landing-body .intro-grid h2 { font-size: 28px; }
  .landing-body .training-section, .landing-body .coaches-highlight { padding-block: 56px; }
  .landing-body .training-list { grid-template-columns: 1fr; }
  .landing-body .training-row { padding: 24px; gap: 12px; }
  .landing-body .training-row:first-child { grid-row: auto; }
  .landing-body .training-row h3, .landing-body .training-row:first-child h3 { font-size: 26px; margin-top: 0; }
  .landing-body .experience-image { height: auto; aspect-ratio: 4 / 3; }
  .landing-body .experience-copy h2 { font-size: 32px; }
  .landing-body .coach-names strong { font-size: 24px; }
  .landing-body .membership-banner { padding-block: 56px; }
  .landing-body .membership-banner-inner { align-items: flex-start; flex-direction: column; padding: 32px 24px; gap: 24px; }
  .landing-body .membership-banner h2 { font-size: 30px; }
  .landing-body .footer-main-detailed { gap: 28px; }
}
@media (max-width: 480px) {
  .landing-body .header-row { gap: 8px; }
  .landing-body .logo { gap: 6px; }
  .landing-body .logo b { font-size: 14px; }
  .landing-body .button-small { padding-inline: 10px; font-size: 10px; }
  .landing-body .hero-actions .button { padding-inline: 18px; font-size: 13px; }
  .landing-body .video-link { font-size: 12px; }
  .landing-body .hero-actions { gap: 14px; }
  .landing-body .training-row { padding: 22px; }
  .landing-body .training-row h3, .landing-body .training-row:first-child h3 { font-size: 23px; }
  .landing-body .footer-main-detailed { grid-template-columns: 1fr; }
  .landing-body .footer-logo { margin: 0; }
  .landing-body .footer-main-detailed .footer-about, .landing-body .footer-main-detailed address { text-align: start !important; }
  .landing-body .footer-main nav { display: flex; justify-content: flex-start; gap: 24px; }
  .landing-body .footer-bottom { align-items: flex-start; }
}
@media (prefers-reduced-motion: reduce) {
  html:has(.landing-body) { scroll-behavior: auto; }
  .landing-body *, .landing-body *::before, .landing-body *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}

/* Homepage content expansion. Placeholder fields are deliberately labeled,
   never remote images. Radius scale: controls 8px, cards 12px, media 16px. */
.landing-body .home-section { padding-block: 80px; }
.landing-body .home-section-heading { max-width: 680px; margin-bottom: 36px; }
.landing-body .home-section-heading h2 { font-size: clamp(30px, 3.2vw, 44px); line-height: 1.55; letter-spacing: -.025em; }
.landing-body .home-section-heading p { margin-top: 12px; color: var(--muted); font-size: 15px; line-height: 2; }
.landing-body .home-introduction { padding-block: 44px 60px; }
.landing-body .introduction-layout { display: grid; grid-template-columns: 1.2fr 1fr; align-items: center; gap: 64px; padding-block: 44px; border-block: 1px solid var(--border); }
.landing-body .introduction-copy h2 { font-size: 20px; margin-bottom: 16px; }
.landing-body .introduction-copy p { max-width: 48ch; font-size: 15px; color: var(--muted); line-height: 2; }
.landing-body .introduction-copy .introduction-lead { font-size: clamp(24px, 2.4vw, 32px); color: var(--text); line-height: 1.7; margin-bottom: 18px; }
.landing-body .introduction-paths { padding: 28px 32px; background: var(--yellow-soft); border-radius: 12px; border-inline-start: 4px solid var(--yellow); }
.landing-body .introduction-paths h3 { display: flex; align-items: center; gap: 14px; font-size: 19px; margin-bottom: 20px; }
.landing-body .introduction-paths h3 > span { font-size: 42px; line-height: 1.2; }
.landing-body .introduction-paths ul { list-style: none; display: grid; gap: 18px; }
.landing-body .introduction-paths li { display: flex; align-items: baseline; justify-content: space-between; flex-wrap: wrap; gap: 4px 20px; }
.landing-body .introduction-paths strong { font-size: 16px; }
.landing-body .introduction-paths li > span { font-size: 13px; color: var(--muted); }
.landing-body .photo-slot { min-width: 0; display: grid; place-items: center; padding: 24px; background: #eeeeE8; color: #63635a; text-align: center; }
.landing-body .photo-slot > span { max-width: 24ch; font-size: 12px; line-height: 1.9; }
.landing-body .program-grid { display: grid; grid-template-columns: 1.05fr 1fr; gap: 24px; }
.landing-body .program-card { display: grid; grid-template-columns: .8fr 1fr; min-width: 0; overflow: hidden; border: 1px solid var(--border); border-radius: 16px; background: #fff; }
.landing-body .program-featured { grid-row: span 2; grid-template-columns: 1fr; }
.landing-body .program-featured .program-photo { min-height: 270px; }
.landing-body .program-photo-real { position: relative; padding: 0; overflow: hidden; }
.landing-body .program-photo-real img { position: absolute; inset: 0; display: block; width: 100%; height: 100%; object-fit: cover; object-position: center; }
.landing-body .program-copy { display: flex; flex: 1; flex-direction: column; align-items: flex-start; padding: 28px; }
.landing-body .program-copy h3 { font-size: 23px; line-height: 1.6; }
.landing-body .program-featured h3 { font-size: 29px; max-width: 450px; }
.landing-body .program-copy p { margin-block: 12px 24px; font-size: 14px; color: var(--muted); line-height: 1.9; }
.landing-body .program-copy .button { margin-top: auto; gap: 24px; min-height: 46px; padding-inline: 18px; font-size: 13px; }
.landing-body .program-card:focus-within { border-color: #665400; }
.landing-body .benefit-grid { list-style: none; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 32px; }
.landing-body .benefit-grid li { padding-block: 8px; }
.landing-body .benefit-icon { width: 56px; height: 56px; padding: 13px; border-radius: 12px; background: var(--yellow-soft); color: #625200; display: block; margin-bottom: 20px; }
.landing-body .benefit-grid h3 { font-size: 19px; }
.landing-body .benefit-grid p { color: var(--muted); font-size: 14px; margin-top: 8px; }
.landing-body .home-gallery { background: #fafaf7; }
.landing-body .gallery-grid { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); align-items: start; gap: 16px; }
.landing-body .gallery-grid > img { display: block; grid-column: span 2; width: 100%; height: auto; border-radius: 12px; }
.landing-body .gallery-grid > img:nth-child(-n + 2) { grid-column: span 3; }
.landing-body .gallery-films { margin-top: 48px; padding-top: 32px; border-top: 1px solid var(--border); }
.landing-body .gallery-films h3 { margin-bottom: 24px; font-size: 24px; line-height: 1.6; }
/* Match the landscape and portrait clips at the same visual height. */
.landing-body .gallery-video-grid { display: grid; grid-template-columns: minmax(0, 256fr) minmax(0, 81fr); align-items: start; gap: 24px; }
.landing-body .gallery-video-grid video { display: block; width: 100%; height: auto; border-radius: 12px; background: #111110; object-fit: contain; }
.landing-body .team-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; }
.landing-body .home-coach { display: grid; grid-template-columns: .7fr 1fr; gap: 24px; align-items: center; min-width: 0; }
.landing-body .coach-photo { min-height: 250px; height: 100%; border-radius: 12px; }
.landing-body .home-coach h3 { font-size: 27px; margin-block: 10px; }
.landing-body .home-coach p { font-size: 14px; line-height: 1.9; color: var(--muted); }
.landing-body .home-coach .coach-specialty { color: #625200; font-size: 13px; }
.landing-body .home-text-link { display: inline-flex; align-items: center; gap: 16px; min-height: 44px; font-size: 13px; text-decoration: underline; text-decoration-color: #8e7900; text-underline-offset: 6px; }
.landing-body .home-coach .home-text-link { margin-top: 18px; }
.landing-body .home-text-link:hover { text-decoration-thickness: 2px; }
.landing-body .home-reviews { border-block: 1px solid var(--border); }
.landing-body .reviews-layout { display: grid; grid-template-columns: .65fr 1fr; gap: 80px; }
.landing-body .review-slots { list-style: none; display: grid; gap: 16px; }
.landing-body .review-slots li { padding: 24px 28px; border: 1px solid var(--border); border-radius: 12px; background: #fff; }
.landing-body .review-heading { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 8px 16px; }
.landing-body .review-slots h3 { font-size: 16px; }
.landing-body .review-slots p { color: var(--muted); font-size: 14px; margin-block: 8px 12px; }
.landing-body .review-slots span { color: var(--muted); font-size: 12px; }
.landing-body .review-slots .review-stars { color: #947000; font-size: 20px; letter-spacing: 2px; line-height: 1.4; white-space: nowrap; }
.landing-body .start-steps { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 32px; list-style: none; }
.landing-body .step-number { display: grid; place-items: center; width: 44px; height: 44px; background: var(--yellow); border-radius: 8px; margin-bottom: 20px; font-size: 22px; }
.landing-body .start-steps li { border-inline-start: 1px solid var(--border); padding-inline-start: 24px; }
.landing-body .start-steps h3 { font-size: 19px; margin-bottom: 10px; }
.landing-body .start-steps p { font-size: 14px; color: var(--muted); line-height: 1.9; max-width: 26ch; }
.landing-body .home-start + .membership-banner { padding-top: 0; }
.landing-body .home-visit { padding-block: 12px 64px; }
.landing-body .visit-layout { display: grid; grid-template-columns: 1fr 1.2fr 1fr 1fr; gap: 32px; align-items: start; }
.landing-body .visit-layout h2 { font-size: 26px; }
.landing-body .visit-layout address { font-style: normal; }
.landing-body .visit-layout strong { display: block; font-size: 14px; margin-bottom: 10px; }
.landing-body .visit-layout span { display: block; color: var(--muted); font-size: 14px; line-height: 1.9; }
@media (max-width: 1024px) {
  .landing-body .program-grid { gap: 18px; }
  .landing-body .program-card { grid-template-columns: 1fr; }
  .landing-body .program-photo { min-height: 180px; }
  .landing-body .program-featured .program-photo { min-height: 380px; }
  .landing-body .program-copy { padding: 24px; }
  .landing-body .benefit-grid, .landing-body .start-steps { grid-template-columns: 1fr 1fr; }
  .landing-body .team-grid { gap: 32px; }
  .landing-body .home-coach { grid-template-columns: 1fr; }
  .landing-body .coach-photo { height: 240px; min-height: 0; }
  .landing-body .reviews-layout { gap: 40px; }
  .landing-body .visit-layout { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 760px) {
  .landing-body .home-section { padding-block: 56px; }
  .landing-body .home-section-heading { margin-bottom: 28px; }
  .landing-body .home-section-heading h2 { font-size: 30px; }
  .landing-body .home-introduction { padding-block: 12px 40px; }
  .landing-body .introduction-layout { grid-template-columns: 1fr; gap: 28px; padding-block: 32px; }
  .landing-body .introduction-copy p { font-size: 14px; }
  .landing-body .introduction-copy .introduction-lead { font-size: 24px; }
  .landing-body .introduction-paths { padding: 24px; }
  .landing-body .program-grid, .landing-body .team-grid, .landing-body .reviews-layout { grid-template-columns: 1fr; }
  .landing-body .program-featured { grid-row: auto; }
  .landing-body .program-photo, .landing-body .program-featured .program-photo { min-height: 0; aspect-ratio: 16 / 10; }
  .landing-body .program-featured h3 { font-size: 25px; }
  .landing-body .benefit-grid { gap: 24px; }
  .landing-body .benefit-grid h3 { font-size: 17px; }
  .landing-body .benefit-grid p { font-size: 13px; }
  .landing-body .gallery-grid { grid-template-columns: 1fr; gap: 16px; }
  .landing-body .gallery-grid > img, .landing-body .gallery-grid > img:nth-child(-n + 2) { grid-column: auto; }
  .landing-body .gallery-films { margin-top: 32px; padding-top: 24px; }
  .landing-body .gallery-films h3 { font-size: 21px; margin-bottom: 20px; }
  .landing-body .gallery-video-grid { grid-template-columns: 1fr; gap: 20px; }
  .landing-body .gallery-video-grid video:last-child { width: auto; max-width: 100%; max-height: 70vh; justify-self: center; }
  .landing-body .home-coach { grid-template-columns: .65fr 1fr; gap: 20px; }
  .landing-body .home-coach h3 { font-size: 23px; }
  .landing-body .coach-photo { height: 100%; min-height: 230px; padding: 16px; }
  .landing-body .reviews-layout { gap: 0; }
  .landing-body .start-steps { gap: 28px; }
  .landing-body .start-steps li { padding-inline-start: 16px; }
  .landing-body .start-steps h3 { font-size: 17px; }
  .landing-body .home-visit { padding-block: 0 48px; }
  .landing-body .visit-layout { gap: 28px; }
}
@media (max-width: 480px) {
  .landing-body .home-coach, .landing-body .start-steps, .landing-body .visit-layout { grid-template-columns: 1fr; }
  .landing-body .coach-photo { height: auto; min-height: 0; aspect-ratio: 4 / 3; }
  .landing-body .start-steps li { display: grid; grid-template-columns: 44px 1fr; gap: 4px 20px; padding: 0; border: 0; }
  .landing-body .step-number { grid-row: span 2; margin: 0; }
  .landing-body .start-steps p { grid-column: 2; }
  .landing-body .start-steps h3 { margin: 0; }
  .landing-body .review-slots li { padding: 22px; }
}
