/* Reference alignment on top of the shared Fit Max palette. */
.fm-nav { min-height:58px; }
.fm-header:not(.shop-header) .fm-nav { width:min(1220px,calc(100% - 40px)); }
.fm-header { border-bottom-color:#be89632a; }
.home-hero,.shop-hero,.plans-band { --edge:linear-gradient(115deg,transparent 10%,#a56b4554 42%,#df9c686e 50%,transparent 52%); }
.home-hero::after,.shop-hero::after,.plans-band::after { content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background:var(--edge) left/7% 100% no-repeat,var(--edge) right/7% 100% no-repeat; }
.home-hero .hero-art { object-position:center 40%; }
.hero-layout { width:min(1230px,calc(100% - 44px))!important;grid-template-columns:minmax(0,1fr) minmax(0,.9fr) minmax(150px,.43fr);min-height:286px;gap:16px; }
.home-copy { text-align:center;justify-self:stretch; }
.hero-brand { margin:auto; font-size:clamp(38px,4vw,62px); }
.home-copy h1 { font-size:clamp(30px,3.05vw,48px); }
.home-copy p { margin-inline:auto;max-width:36ch; }
.home-copy .actions { justify-content:center;gap:12px; }
.home-copy .button { min-width:42%; }
.hero-progress { width:min(100%,194px);justify-self:end;padding:13px; }
.hero-progress strong { display:inline-block; }
.hero-progress p { display:flex;gap:6px;align-items:center;border-bottom:1px solid var(--frame);padding:2px 0;font-size:.76rem; }
.hero-progress p .fm-icon { width:16px;height:16px; }
.hero-progress .progress-ring { width:76px;margin-block:8px; }.hero-progress .progress-ring bdi { width:63px; }
.feature-strip { width:min(1285px,calc(100% - 44px))!important;gap:13px;padding-block:7px 15px; }
.feature-strip a { min-height:89px; }.feature-strip .fm-icon { width:32px;height:32px; }
.home-services { padding-block:5px 0; }.home-services>h2 { font-size:clamp(19px,1.7vw,25px);margin-bottom:10px; }
.services-layout { grid-template-columns:minmax(220px,1.18fr) minmax(0,3.4fr);gap:18px; }
.app-preview { min-height:276px;gap:13px;align-items:center; }.app-preview>div:last-child { order:-1;flex:1; }
.phone { flex:0 0 48%;padding:22px 8px 16px;transform:rotate(-8deg);border-width:3px;border-radius:24px;position:relative; }.phone::before { content:'';position:absolute;top:5px;left:35%;width:30%;height:5px;border-radius:9px;background:#070604; }
.phone a { min-height:40px; }.download-preview { display:block;margin-top:5px;border:1px solid var(--frame);border-radius:7px;text-align:center;direction:ltr;padding:4px;font-size:.72rem;color:var(--muted); }
.service-cards { gap:12px; }.service-cards img { aspect-ratio:1.95!important; }
.goals-layout { grid-template-columns:minmax(0,1.8fr) minmax(0,1fr);gap:14px; }.consult-card { min-height:130px; }.consult-card img { object-position:15% 26%; }.consult-card::before { background:linear-gradient(270deg,#100b08 15%,#100b0899 55%,transparent); }
.home-stats .wrap>div+div { border-inline-start:1px solid var(--frame);padding-inline-start:clamp(8px,3vw,48px); }
.home-bottom { grid-template-columns:1.12fr 1.14fr .85fr;gap:20px; }.join-card { min-height:165px; }.quote-card { align-self:start; }.quote-card h2,.home-bottom #journal h2 { text-align:center; }
.shop-hero h1 { font-size:clamp(30px,3.5vw,49px); }.shop-hero .wrap { min-height:203px;padding-block:12px; }.shop-hero .hero-art { object-position:left 48%; }.shop-hero .trust { gap:8px;margin-top:15px; }.shop-hero .badge,.shop-hero .wrap>small { display:inline-block; }
.category-shell { margin:10px auto 16px;gap:14px;width:97%; }.category-strip { gap:12px; }.category-strip [data-category=all] { display:none; }.category-strip button { min-height:76px; }.category-strip .fm-icon { width:30px;height:30px; }.category-strip button[aria-pressed=true] { box-shadow:inset 0 0 14px #d3915480; }
.catalog-layout { grid-template-columns:minmax(190px,.92fr) minmax(0,3.15fr);gap:11px; }.catalog-bar { min-height:32px; }.catalog-actions { flex:1; }.catalog-actions label { margin-inline-start:auto; }.catalog-actions .button,.catalog-actions select { border-radius:7px;min-height:32px; }
.filters { padding:0; }.filters summary { padding:9px 12px;background:linear-gradient(125deg,#492c1a,#1e140e); }.filters summary .fm-icon { width:20px;height:20px; }.filters form { padding:0 12px 10px;gap:6px; }.filters fieldset { margin:0;border-block:0;border-bottom:1px solid var(--frame); }.filters fieldset label { display:flex;align-items:center;gap:4px; }.filters input[type=radio] { appearance:none;width:13px;height:13px;border:1px solid #b29d8c;border-radius:3px;margin:0; }.filters input[type=radio]:checked { background:var(--copper);box-shadow:inset 0 0 0 2px #26180f; }.filters input[type=checkbox] { accent-color:var(--copper); }
.product-art img { aspect-ratio:1.58!important;object-position:center 53%; }.product-label { position:absolute;inset:49% 0 auto;text-align:center;pointer-events:none;font:italic 850 clamp(8px,1vw,13px)/1.05 system-ui;color:#e2a778;text-shadow:0 1px 2px #000; }.product-label b,.product-label strong { display:block; }.product-label strong { color:#f6e9d8;letter-spacing:.04em; }.product-info .button { background:linear-gradient(160deg,#b87e54,#633b23);color:#fff2e5;border:1px solid #c38a5f70;min-height:34px; }.product-info .button .fm-icon { color:inherit; }
.plan-layout { grid-template-columns:145px minmax(0,1fr) minmax(0,.49fr); }.plan-cards { direction:ltr;align-items:stretch; }.plan-cards article { direction:rtl;min-height:240px;position:relative;padding-top:17px; }.plan-cards .plan-featured { box-shadow:inset 0 0 42px #b7733460;border-color:#dda576; }.plan-featured>.badge { position:absolute;top:-10px;background:#d49763;color:#21130a; }.plan-cards strong { display:block;width:100%;background:linear-gradient(90deg,transparent,#af734540,transparent);padding:5px; }.plan-cards .button { width:100%; }.plan-cards article:not(.plan-featured) .button { background:linear-gradient(#785035,#412818);color:var(--ink); }
.dash-side { padding-top:21px;gap:10px;overflow:auto; }.dash-side .fm-mark { margin-bottom:15px; }.dash-side nav a { min-height:46px;border-bottom:1px solid #ab795220; }.dash-side nav a .fm-icon { width:26px;height:26px; }.dash-side .side-art { min-height:120px;object-fit:cover; }.dash-side .side-support { flex:none; }.side-back { text-align:center;font-size:.75rem;color:var(--muted); }
.dash-top { min-height:48px; }.dash-search input { width:clamp(150px,24vw,390px);border-radius:20px!important; }.dash-controls a { border:1px solid var(--frame);border-radius:50%;width:40px;height:40px;min-height:40px;background:#20150e; }
.athlete-welcome { min-height:156px; }.athlete-welcome .photo { width:49%;inset:auto 26% 0 auto;object-position:center 20%; }.athlete-welcome::before { background:linear-gradient(270deg,#100c09 16%,transparent 53%,#100c0988 74%,#100c09); }.athlete-motto { position:absolute;inset:24% auto auto 4%;width:22%;font-size:clamp(16px,1.75vw,26px)!important;color:var(--ink);font-weight:700;text-wrap:balance;text-align:center; }
.dash-metric { min-height:71px;padding:8px 11px; }.dash-metric .fm-icon { width:34px;height:34px; }.metric-ring { width:36px;aspect-ratio:1;flex:none;border-radius:50%;background:radial-gradient(circle closest-side,#24170e 70%,transparent 73%),conic-gradient(var(--copper) 60%,#5a3b28 0); }
.today-grid { direction:ltr;grid-template-columns:minmax(0,.7fr) minmax(0,1.2fr);gap:9px; }.today-grid>div { direction:rtl; }.today-grid>div:first-child img { height:185px; }.today-day { color:var(--copper); }.today-grid .dash-notices li { min-height:43px;border:1px solid #b4794930; }.today-grid .dash-notices li:first-child { border-color:var(--copper);background:linear-gradient(120deg,#3d2718,#21170f); }
.meal-grid img { width:76%!important;aspect-ratio:1!important;border-radius:50%!important;margin:4px auto; }.body-metrics { grid-template-columns:.7fr repeat(3,minmax(0,1fr));align-items:center; }.body-outline { width:100%;height:64px;color:var(--copper); }.measure-change { color:#a2c584; }
.dash-goal progress { height:13px; }.chart-caption { margin-top:3px; }
.coach-welcome .fm-icon { float:right;width:42px;height:42px;margin-inline-end:9px;border:1px solid var(--copper);border-radius:50%;padding:7px; }
.coach-columns .quick-grid a { min-height:63px; }.coach-columns .quick-grid .fm-icon { width:26px;height:26px; }
.student-avatar { overflow:hidden;vertical-align:middle; }.student-avatar img { width:100%!important;height:100%!important;aspect-ratio:1!important;object-position:center 18%; }.table-scroll progress { height:9px; }.student-status.status-0,.student-status.status-2,.student-status.status-4 { background:#1d3a2a;color:#d5efdb; }.student-status.status-1 { background:#573720; }.student-status.status-3 { background:#632b25;color:#ffe1db; }
.goals-ring .progress-ring { width:100px;flex:none;background:conic-gradient(var(--copper) 76%,#65564c 0); }.goals-ring .progress-ring bdi { width:83px; }
#student-progress { position:relative;isolation:isolate;overflow:hidden; }.student-detail-art { display:none; }
@media(min-width:1051px){
 .dash-main:has(.coach-welcome) { display:grid;grid-template-columns:minmax(240px,.82fr) minmax(0,2fr);align-content:start;gap:8px; }
 .dash-main:has(.coach-welcome)>.dash-top,.dash-main:has(.coach-welcome)>.coach-columns,.dash-main:has(.coach-welcome)>#dash-search-results { grid-column:1/-1; }
 .dash-main:has(.coach-welcome)>.dash-stats { margin:0;align-self:stretch; }.coach-welcome { min-height:105px;margin:0; }
 .coach-columns { grid-template-columns:minmax(0,.9fr) minmax(0,1.8fr) minmax(0,1.18fr);grid-template-rows:auto auto auto; }
 .coach-columns .primary-stack { display:contents; }.coach-columns .calendar-stack { grid-column:1;grid-row:1/span 2; }.coach-columns .trend-stack { grid-column:3;grid-row:1/span 3; }
 #quick { grid-column:2;grid-row:1;align-self:start; } #students { grid-column:2;grid-row:2;align-self:start; }
 #student-progress { grid-column:1/3;grid-row:3; }.student-detail-art { display:block;position:absolute;inset:0 0 0 auto;width:35%!important;height:100%!important;z-index:-1;opacity:.53;object-position:left center; }.student-detail { margin-inline-start:30%; }
}
@media(min-width:960px) and (max-width:1050px){.dash-shell{grid-template-columns:148px minmax(0,1fr)}.dash-side{display:flex;padding-inline:8px}.dash-mobile-nav{display:none}.dash-side .fm-mark span{font-size:20px}}
@media(max-width:1050px){.services-layout{grid-template-columns:1fr}.app-preview{min-height:0}.phone{flex-basis:130px;transform:none}.app-preview>div:last-child{order:0;flex:0 1 180px}}
@media(max-width:860px){.hero-layout{grid-template-columns:minmax(0,1fr) minmax(0,.5fr) minmax(135px,.36fr)}.home-copy .button{min-width:0}.athlete-motto{display:none}}
@media(max-width:760px){.plan-layout{grid-template-columns:1fr}.plan-cards article{min-height:205px}.hero-layout{grid-template-columns:1fr minmax(110px,.4fr)}.category-shell{gap:6px}.goals-layout{grid-template-columns:1fr}}
@media(max-width:560px){.hero-layout,.feature-strip{width:calc(100% - 28px)!important}.home-copy{text-align:start}.hero-brand,.home-copy p{margin-inline:0}.home-copy .actions{justify-content:start}.hero-progress{width:auto}.hero-progress p{font-size:.68rem}.feature-strip a{min-height:70px}.home-bottom{grid-template-columns:1fr;gap:8px}.plan-cards{direction:rtl}.plan-cards article{min-height:185px}.dash-controls a{width:26px;min-width:26px;height:33px;min-height:33px}.athlete-welcome .photo{inset:0 auto 0 0;width:55%}.today-grid>div:first-child img{height:140px}.body-metrics{grid-template-columns:.6fr repeat(3,minmax(0,1fr))}}

@media(max-width:560px){.home-hero .hero-art{object-position:35% 20%}}

.home-hero .hero-art { object-position:center top; }
.shop-hero .hero-art { width:65%;inset-inline-start:auto;object-position:left 49%; }
@media(min-width:1051px) {
 .dash-main:has(.coach-welcome)>.dash-stats { align-self:center; }
 .coach-welcome h1 { font-size:clamp(20px,1.65vw,29px); }
}
@media(max-width:760px) {
 .catalog-layout { grid-template-columns:minmax(0,1fr); }
 .catalog-layout>div,.catalog-actions { min-width:0; }
 .catalog-bar { flex-wrap:wrap; }
 .catalog-actions { flex-basis:100%; }
 .shop-hero .hero-art { width:100%; }
}
@media(max-width:560px) { .home-hero .hero-art { object-position:35% 20%; } }

/* Full-bleed homepage hero */
body:has(.premium-home){--fitmax-logo-brown:#b87545;background:#090807;font-family:Vazirmatn,Tahoma,Arial,sans-serif}
body:has(.premium-home) :is(button,input,select,textarea){font-family:inherit}
body:has(.premium-home) .fm-header{position:sticky;top:0;margin-bottom:-59px;background:#09080748;backdrop-filter:none;border-color:#ffffff14}
body:has(.premium-home) .fm-header .fm-nav{min-height:58px}
body:has(.premium-home) .fm-header .fm-mark i,.home-mark-max,.premium-brand em{color:var(--fitmax-logo-brown)}
.premium-home,.premium-home .home-stats{background:#090807}
.premium-hero{position:relative;isolation:isolate;overflow:hidden;background:#090807}
.premium-layout{box-sizing:border-box;min-height:100svh;display:flex;align-items:center;padding-block:84px 36px}
.premium-copy{position:relative;z-index:1;width:min(40%,530px);margin-inline-start:0}
.premium-brand{display:inline-block;margin:0;font-size:.94em;color:#f5eee7;white-space:nowrap}
.premium-copy h1{font-size:clamp(1.85rem,3.45vw,3.65rem);font-weight:900;line-height:1.35;text-wrap:balance;margin:0 0 .55em;color:#f5eee7}
.premium-copy p{font-size:clamp(.94rem,1.25vw,1.12rem);font-weight:400;color:#e9dbcf;max-width:36ch;margin:0 0 1.2em}
.premium-copy .actions{flex-wrap:wrap;gap:10px}
.premium-copy .button{min-height:44px;font-weight:700}
.premium-photo{position:absolute;inset:0;z-index:-2}
.premium-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:27% top}
.premium-hero::after{content:'';position:absolute;z-index:-1;inset:0;background:linear-gradient(270deg,#090807 0%,#090807df 24%,#09080769 43%,transparent 58%),linear-gradient(180deg,#09080760,transparent 18%)}
.premium-features{margin-block:0 16px;padding-block:12px 15px}
@media(min-width:901px) and (max-width:1180px){
 .premium-photo img{object-position:32% top}
 .premium-copy{width:38%}
}
@media(max-width:900px){
 .premium-layout{align-items:flex-start;padding-block:84px 0;min-height:max(100svh,620px)}
 .premium-copy{width:min(100%,460px)}
 .premium-copy h1{font-size:clamp(1.58rem,5.5vw,2.3rem)}
 .premium-photo{inset:48% 0 0}
 .premium-photo img{object-position:30% top}
 .premium-hero::after{background:linear-gradient(180deg,#090807 44%,#090807b0 49%,transparent 63%)}
}
@media(max-width:560px){
 .premium-layout{padding-block-start:74px}
 .premium-copy h1{font-size:clamp(1.4rem,6vw,1.9rem)}
 .premium-copy p{margin-block-end:.8em}
 .premium-copy .actions{gap:6px}
 .premium-copy .button{padding-inline:10px;font-size:.78rem}
}
/* Leave space above the athletes for the transparent navigation. */
@media(min-width:901px){
 .premium-photo{inset:59px 0 0}
 .premium-copy{width:min(34%,490px)}
 .premium-photo img{object-position:34% top}
}
@media(min-width:901px) and (max-width:1180px){
 .premium-photo{inset-block-start:16%}
 .premium-copy{width:33%}
 .premium-copy h1{font-size:clamp(1.65rem,3.15vw,2.3rem)}
 .premium-hero::after{background:linear-gradient(270deg,#090807 0%,#090807df 22%,#09080769 39%,transparent 57%),linear-gradient(180deg,#090807 11%,transparent 25%)}
}
@media(max-width:900px){
 .premium-photo{inset: auto 0 0;height:min(46%,calc(100vw * .91))}
 .premium-photo img{object-position:22% top}
 .premium-hero::after{background:linear-gradient(180deg,#090807 50%,#09080744 60%,transparent 70%)}
}

/* Dedicated services page */
.service-page-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:clamp(20px,4vw,56px);padding-block:clamp(28px,5vw,68px)}
.service-page-columns :is(h1,h2){font-size:clamp(1.05rem,1.5vw,1.3rem);line-height:1.5;margin:0 0 12px}
.service-page-columns .service-cards{grid-template-columns:repeat(3,minmax(0,1fr))}
.service-page-columns .goal-links{grid-template-columns:repeat(auto-fit,minmax(min(100%,80px),1fr));gap:8px}
.service-page-columns #goals>p{margin:0 0 10px;font-size:.9rem}
.service-page-columns .consult-card{margin-block-start:12px}
@media(max-width:700px){.service-page-columns{grid-template-columns:minmax(0,1fr)}}
.service-page-columns .goal-links a{border:0;background:none;box-shadow:none;border-radius:0}
.service-page-columns .goal-links a:hover{text-decoration:underline;text-underline-offset:4px}
.service-page-columns .consult-card{min-height:190px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center}
.service-page-columns .consult-card::before{display:none}
.service-page-columns .consult-card>img{position:static;width:100%;height:100%;min-height:190px;object-fit:cover;object-position:26% top;grid-column:2;grid-row:1}
.service-page-columns .consult-card>div{grid-column:1;grid-row:1}
@media(max-width:390px){.service-page-columns .consult-card{grid-template-columns:1fr}.service-page-columns .consult-card>img,.service-page-columns .consult-card>div{grid-column:1;grid-row:auto}.service-page-columns .consult-card>img{min-height:0;aspect-ratio:1.9}}
