/* UMBRA — shared visual system for the public website and private coaching app. */
:root {
  --umbra-bg: #090a09;
  --umbra-surface: #151713;
  --umbra-raised: #20221d;
  --umbra-ink: #f1eee5;
  --umbra-muted: #b3b5aa;
  --umbra-cream: #e1d3b5;
  --umbra-border: #ffffff26;
  --ink: var(--umbra-ink);
  --paper: var(--umbra-bg);
  --muted: var(--umbra-muted);
  --accent: var(--umbra-cream);
  --line: var(--umbra-border);
  --portal-ink: var(--umbra-ink);
  --portal-muted: var(--umbra-muted);
  --portal-line: var(--umbra-border);
}
body, .login-page { background:var(--umbra-bg);color:var(--umbra-ink); }
:where(button,a,input,select,textarea,summary):focus-visible { outline:2px solid var(--umbra-cream);outline-offset:4px; }
:where(button,input,select,textarea) { font-family:inherit; }
:where(.section h2,.heading h1,.login-intro h1,.cover h2) { font-weight:400;letter-spacing:-.045em; }
.section h2 { line-height:1.08; }
.eyebrow,.label { color:#c6b99b;letter-spacing:.18em;font-weight:500; }
.muted,.empty,.metrics,.sync-status { color:var(--umbra-muted); }
.btn,.btn.light,.heroactions .btn.light,.navright .btn,.login-continue {
  background:var(--umbra-cream);border-color:var(--umbra-cream);color:#1b1d16;border-radius:28px;
  min-height:46px;box-shadow:none;transition:background .18s,border-color .18s,transform .18s;
}
.btn:hover,.btn.light:hover,.login-continue:hover { background:#f0e4ca;color:#141610; }
.btn.secondary,.btn.outline { background:transparent;color:#e0d5bd;border-color:#9b8e705c; }
.btn.secondary:hover,.btn.outline:hover { background:#ffffff09;border-color:#c4b48b; }
.btn.danger { background:#30201d;color:#ffc5b5;border-color:#946552; }
.btn.danger:hover { background:#442a23;color:#ffddce; }
.btn:disabled,button:disabled { cursor:not-allowed;opacity:.55;transform:none; }
.link,.textlink { color:#e1d3b5; }
.card,.exercise,.login-card,.modal { background:var(--umbra-surface);border-color:var(--umbra-border);border-radius:15px;box-shadow:none; }
.card.accent,.start-card { background:linear-gradient(130deg,#27271e,#171913)!important;border-color:#a5946b55; }
.card h2,.card h3,.exercise h3 { font-weight:400;letter-spacing:-.035em; }
.row,.logtable td,.logtable th { border-color:var(--umbra-border); }
.field,.check { color:#d1d0c4; }
.field input,.field select,.field textarea,.logtable input,.modal input,.modal select,.modal textarea,.login-language select {
  background:#0e100d;color:var(--umbra-ink);border-color:#55574b;border-radius:6px;box-shadow:none;
}
.field input:focus,.field select:focus,.field textarea:focus { border-color:var(--umbra-cream); }
.field input::placeholder,.field textarea::placeholder,.modal input::placeholder,.modal textarea::placeholder { color:#9da192; }
input[type=checkbox],input[type=radio] { accent-color:var(--umbra-cream); }
.uploadinput { color:#d6cfbc;border-color:#8d8267; }
.uploadinput::file-selector-button { color:#e8ddc5;background:#2b2c23;border:1px solid #857859;border-radius:6px; }
.badge { background:#26281f;color:#e0d4b6;border-color:#8b805b66; }
.badge.warn { color:#f4d69b;background:#342b1d;border-color:#8f7649; }
.notice { color:#d9d5c6;background:#24261e;border-color:#7d73584d; }
.notice.error,.error { background:#38231f;color:#ffc5b5;border-color:#98624f; }
.toast { background:var(--umbra-cream);color:#1c1e16;border:1px solid #f4e8ca;box-shadow:0 12px 40px #0006; }
.tabs button,.demo-tabs button { color:#b8bcad;border-color:#686956; }
.tabs button.active,.demo-tabs button[aria-selected=true] { color:#1b1d16;background:var(--umbra-cream);border-color:var(--umbra-cream); }
.avatar { background:#2b2d24;color:#e0d1ac;border:1px solid #ad997747; }
.progressbar,.sample-track { background:#35372e; }
.progressbar span,.sample-track span { background:var(--umbra-cream); }

/* Public website: the same quiet surfaces and editorial hierarchy throughout. */
header,.sitefooter { background:#090a09;border-color:var(--umbra-border); }
.navlinks.menuopen { background:#11130f;border-color:var(--umbra-border); }
#site-language { border-color:#80765f80;color:#e4dfd0;background:#10110e; }
#site-language option { background:#151713;color:#f1eee5; }
.hero h1 span { color:#e1d3b5; }
.hero .eyebrow,.herofoot,.herofoot span+span:before { color:#c5bda9; }
.heroactions .textlink { border-color:#9e92775c;color:#e4dcc8; }
.ribbon { background:#141610;border-color:var(--umbra-border);color:#ccc8b9; }
.ribbon i { color:#c9b992; }
.certifications { background:#10120e;border-color:var(--umbra-border); }
.certifications h2 { color:#c4b795; }
.certifications p { color:#e0ddcf; }
.global-coaching { border-color:var(--umbra-border); }
.global-coaching>span { color:#c6b99b; }
.global-coaching p,.sectiontop p,.aboutcopy p,.signature small { color:var(--umbra-muted); }
.aboutcopy .signature { color:#e6d9bd; }
.coachportrait { border-radius:5px; }
.process { background:#131510;border-block:1px solid var(--umbra-border); }
.process .eyebrow,.step>span { color:#cdbd99; }
.process .sectiontop p,.step p { color:var(--umbra-muted); }
.step { border-color:#a3967640; }
.step h3 { font-weight:400;font-size:23px;letter-spacing:-.035em; }
.premium-packages .plan { background:linear-gradient(145deg,#1c1f19,#131510);border-color:var(--umbra-border);border-radius:15px; }
.premium-packages .plan.featured { background:radial-gradient(ellipse at 80% 0,#6b604327,transparent 70%),#1c1f18;border-color:#aa98715e;box-shadow:none; }
.premium-packages .featured .cta { background:var(--umbra-cream);border-color:var(--umbra-cream); }
.premium-packages .cta { border-radius:27px;border-color:#a4936b70;color:#e0d4b8; }
.premium-packages li:before,.premium-packages .number,.premium-packages .foot span:before { color:#cdbd99; }
.premium-packages .desc,.premium-packages .intro p,.premium-packages .quote span { color:var(--umbra-muted); }
.platform { background:#0e100d; }
.platform-window { background:#151713;border-color:#82775c66;border-radius:15px; }
.platform-bar { background:#20231c;color:#d8cdb4;border-color:var(--umbra-border); }
.demo-window,.demo-panel { background:#141611;color:var(--umbra-ink); }
.demo-pill,.preview-chip,.preview-check,.preview-exercise-icon { background:#2d3026;color:#e1d3b5; }
.demo-heading small,.demo-foot,.demo-caption,.exercise-row p,.meal-row p,.exercise-num,.meal-row>span,.video-label { color:var(--umbra-muted); }
.exercise-row,.meal-row,.checkin-row { border-color:var(--umbra-border); }
.coach-feedback { background:#272a20;color:#e9ddc4;border-color:#897d5d55; }
.coach-feedback p { color:#c6c8ba; }
.faq { background:#12140f;border-top:1px solid var(--umbra-border); }
.faq details { border-color:var(--umbra-border); }
.faq summary { color:var(--umbra-ink);font-weight:400; }
.faq summary:after { color:#d2c19a; }
.faq details p { color:var(--umbra-muted); }
section.cta { background:#1d2018;border-block:1px solid #a4936b45;color:var(--umbra-ink); }
section.cta h2 { font-weight:400; }
section.cta p { color:#bfc1b3; }
.footer-email,.footerlinks,.footertext { color:#c7c8bb; }
.footerbottom { border-color:var(--umbra-border);color:#aeb1a3; }
.modal:not(#application) .modalinner { padding:38px; }
.modal:not(#application) h2 { font-weight:400;letter-spacing:-.045em; }
.modal p { color:var(--umbra-muted); }
.modal .notice { background:#25271f;color:#d9d3c1; }
.modalback { background:#050605d9;backdrop-filter:blur(6px); }
.close { color:#e1d3b5; }

/* Coach and client navigation, account and sign-in. */
.sidebar,.topbar,.client-shell .sidebar nav { background:#0c0e0b;border-color:var(--umbra-border); }
.sidebar nav button { color:#b9beae;border-radius:8px; }
.sidebar nav button:hover { background:#ffffff08;color:#f3eee2; }
.sidebar nav button.active { color:#1d2017;background:var(--umbra-cream); }
.sidebarfoot,.topbar { color:#b3b7a7;border-color:var(--umbra-border); }
.topbar strong { color:#e0d2b0; }
.portal-language,.account-menu summary { color:#e6dcc7;border-color:#86795875;background:#10120e; }
.account-panel { background:#1a1d16;border-color:#897b5c75;box-shadow:0 15px 50px #0008; }
.account-panel p { color:#bfc2b2; }
.account-panel a,.account-panel button { color:#e4d8ba; }
.cover { background:radial-gradient(ellipse at top left,#65593b30,transparent 75%),#171a13;border:1px solid #99865e55;border-radius:16px; }
.cover p { color:#c2c4b6; }
.launch-strip,.start-steps button { background:#20231b;color:#e1dbc9;border-color:#a18c6145; }
.start-steps span { color:#c9b890; }
.launch-strip strong { color:#e0dece; }
.login-card { border-color:#a3936d55;box-shadow:0 24px 80px #0004;padding:34px; }
.login-intro h1 { font-weight:400;line-height:1.08; }
.login-intro>p,.login-help p { color:var(--umbra-muted); }
.login-help { border-color:#8a7a574d; }
.login-help h3 { color:#e3d8c0;font-weight:400; }
.login-photo { border-radius:6px; }

/* Messaging, progress and uploaded media. */
.inbox-row { border-color:var(--umbra-border); }
.inbox-row:hover { background:#ffffff05; }
.bubble { background:#22261c;color:#e9e8dd;border:1px solid #ffffff12; }
.bubble.mine { background:#303025;color:#f3efdf;border-color:#ae9a6c33; }
.bubble small { color:#bfbca8; }
.timeline { border-color:#97875e70; }
.timeline p,.timeline small,.photogrid small { color:var(--umbra-muted); }
.chart path { stroke:#484a3d; }
.chart polyline { stroke:#e1d3b5; }
.chart circle { fill:#e1d3b5; }
.strength-best { background:#23261c;border-color:var(--umbra-border); }
.strength-best>strong,.strength-bars strong { color:#e5d7b7; }
.strength-best>span,.strength-bars small,.strength-session-list span { color:#b8bdab; }
.strength-bars>div>div { background:#2d3125; }
.strength-bars>div>div>span { background:linear-gradient(#e1d3b5,#928664); }
.training-chart-track { background:#2c3025; }
.training-chart-track span { background:#ddcba2; }
.photogrid img { border-radius:8px;background:#11130e; }

/* Workouts: consistent finish with strong completed-set contrast. */
.workout-hero,.workout-start,.workout-exercise,.workout-feedback,.workout-history,.workout-stat-grid>div { border-color:var(--umbra-border);background:#151713; }
.workout-hero { background:radial-gradient(ellipse at top left,#6f603b22,transparent 70%),#161912; }
.workout-hero h2,.workout-exercise h2 { font-weight:400;letter-spacing:-.035em; }
.workout-exnav button,.workout-days button,.workout-screen-tabs button { background:#161912;color:#c7c7b6;border-color:#79745980; }
.workout-exnav button.active,.workout-days button.active,.workout-screen-tabs button.active { background:#333426;color:#eee3c9;border-color:#cab78b; }
.workout-exnav button span,.workout-exnav button small,.workout-no-video,.workout-set-header,.set-previous,.workout-activity-row small { color:#b9bdab; }
.workout-exercise-symbol,.exercise-card-art { background:linear-gradient(135deg,#303325,#1b1e15);color:#d9c799; }
.exercise-card-tag { background:#151810dd;color:#dfd5b9;border-color:#a4936b55; }
.exercise-card-footer,.exercise-card-number { color:#c4b793; }
.workout-cue,.workout-rest { background:#25291d;color:#dfdac7;border-color:#a08a5c45; }
.workout-cue p { color:#d4d5c4; }
.workout-set-row { border-color:var(--umbra-border); }
.workout-set-row input,.workout-table-heading select { background:#10130d;color:#f0eee2;border-color:#8a805d88; }
.workout-set-row.complete input { background:#333627;border-color:#b7a87b; }
.workout-set-row>strong,.workout-table-heading label { color:#c6c5b3; }
.workout-set-check { background:#15190f;color:#dac99f;border-color:#a7976f; }
.workout-set-check.done { background:var(--umbra-cream);color:#1b2012;border-color:var(--umbra-cream); }
.workout-progress,.workout-progress>span { color:#b9bdab; }
.workout-progress .progressbar span,.workout-rating button.active { background:var(--umbra-cream); }
.workout-rating button { border-color:#9b8d6870;color:#e1d3b5;background:#151810; }
.workout-previous summary,.workout-history summary,.workout-success { color:#dfd1b0; }
.workout-success { background:#272d1e;border-color:#9b99615c; }
.exercise-video-upload { background:#10130d;border-color:#95815b65; }

/* Client overview and its public demonstration use the same surfaces. */
.athlete-stats>div,.athlete-session,.athlete-shortcuts button,.public-athlete .athlete-shortcuts a,.athlete-week { background:#1b1e17;border:1px solid var(--umbra-border);border-radius:16px;box-shadow:none; }
.athlete-welcome h1,.platform .public-athlete .athlete-welcome h3,.athlete-session h2,.athlete-session h3,.athlete-shortcuts strong { font-weight:400;letter-spacing:-.035em; }
.athlete-stats strong { font-weight:400;color:#eee5d0; }
.athlete-stats span,.athlete-stats small,.athlete-welcome p,.athlete-session-meta,.athlete-shortcuts span,.athlete-save-info { color:#b7bcaa; }
.athlete-profile,.public-avatar { color:#dfd1ad;background:#292d22;border-color:#a08e6550; }
.athlete-continue,.platform .public-athlete .preview-login { background:var(--umbra-cream);color:#1c2014;border-radius:28px; }
.athlete-shortcuts svg,.public-athlete .public-tile-icon { color:#d6c39b; }
.athlete-session-progress>div { background:#383a2e; }
.athlete-session-progress>div>span { background:var(--umbra-cream); }
.athlete-week-days>div.today { background:#ffffff08; }
.day-empty { color:#c6b78f;background:#2c3023; }
.day-done { color:#182011;background:var(--umbra-cream); }
.athlete-onboarding { color:#ddd3b8;background:#22271b;border-color:#a4936b55; }

/* Weekly menus inherit the same palette without changing their day layout. */
.nutrition-week,.nutrition-studio { --nutrition-bg:#10120e;--nutrition-panel:#181b14;--nutrition-line:#ffffff24;--nutrition-ink:#f1eee5;--nutrition-muted:#b7bcaa;--nutrition-accent:#e1d3b5; }
.nutrition-hero { background:radial-gradient(ellipse at top left,#76634426,transparent 75%),#151912; }
.nutrition-edit-meal,.nutrition-extras,.nutrition-shopping { border-color:var(--umbra-border); }
.nutrition-meal-art { background:linear-gradient(135deg,#303325,#1d2116);color:#d6c399; }
.nutrition-edit-meal .meal-photo-editor { background:#11140e; }
.calorie-tools details { border-color:var(--umbra-border); }

@media(max-width:700px) {
  .card,.exercise { border-radius:13px; }
  .heading h1 { line-height:1.12;font-weight:400; }
  .section h2 { font-size:clamp(34px,8vw,46px); }
  .step h3 { font-size:22px; }
  .login-card { padding:27px 22px; }
  .modal:not(#application) .modalinner { padding:30px 24px; }
  .athlete-session,.athlete-shortcuts button,.public-athlete .athlete-shortcuts a { border-radius:16px; }
}
@media(prefers-reduced-motion:reduce) {
  *,*::before,*::after { scroll-behavior:auto!important;animation:none!important;transition:none!important; }
}
.workout-screen-tabs button[aria-pressed=true],.workout-days button[aria-pressed=true] { background:var(--umbra-cream);color:#1b1d16;border-color:var(--umbra-cream); }
.workout-progress>[role=progressbar] { background:#35372e; }
.workout-progress>[role=progressbar]>span { background:var(--umbra-cream); }
.workout-exnav button .exercise-card-number,.workout-exnav button .exercise-card-footer,.training-chart strong { color:#d9c9a6; }
.workout-exnav button .exercise-card-tag { background:#11150ddd;color:#e0d2b0;border-color:#a4936b55; }
.workout-stat-grid strong { color:#eee5d0;font-weight:400; }
/* Client stories — original reviews, separately consented photo pairs. */
.testimonials-section{border-top:1px solid var(--umbra-border)}.testimonials-section .eyebrow{color:#c4b38d}.testimonials-section h2 em,.reviews-studio h1 em{font-family:Georgia,serif;font-weight:400;color:var(--umbra-cream);letter-spacing:-.04em}.testimonial-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:26px;align-items:start}.testimonial-story{border:1px solid var(--umbra-border);border-radius:13px;overflow:hidden;background:#151713}.testimonial-photo-pair{display:grid;grid-template-columns:1fr 1fr;gap:6px;min-width:0}.testimonial-photo-pair figure{margin:0;position:relative;min-width:0}.testimonial-photo-pair img{width:100%;aspect-ratio:3/4;object-fit:contain;background:#10120e;display:block}.testimonial-photo-pair figcaption{position:absolute;bottom:13px;left:13px;background:#10120ee6;border:1px solid #ffffff38;border-radius:20px;padding:5px 12px;font-size:11px;color:#f1eee5}.testimonial-copy{padding:30px}.testimonial-rating{color:#d7c299;letter-spacing:4px;font-size:16px;margin:0 0 22px}.testimonial-copy blockquote,.testimonial-review blockquote{margin:0;font-size:20px;line-height:1.7;font-weight:400;letter-spacing:-.015em;white-space:pre-wrap;overflow-wrap:anywhere;color:#e6e4d8}.testimonial-person{border-top:1px solid var(--umbra-border);padding-top:20px;margin-top:26px;display:flex;flex-direction:column;gap:7px}.testimonial-person strong{font-size:14px;font-weight:500}.testimonial-person span{font-size:11px;color:var(--umbra-muted)}.testimonial-disclaimer{font-size:11px;color:var(--umbra-muted);margin-top:22px}.testimonials-empty{padding:45px;border:1px solid var(--umbra-border);background:radial-gradient(ellipse at 0 0,#71603c22,transparent 70%),#12150f;border-radius:14px}.testimonials-empty>span{font-size:9px;letter-spacing:.18em;color:#c3b38e}.testimonials-empty h3{font-weight:400;font-size:34px;letter-spacing:-.04em;margin:20px 0}.testimonials-empty p{color:var(--umbra-muted);font-size:14px;margin-bottom:24px}.reviews-studio h1{font-weight:400;font-size:clamp(34px,4vw,50px);line-height:1.1;letter-spacing:-.045em}.reviews-studio>.heading{margin-bottom:32px}.testimonial-review .testimonial-photo-pair{max-width:650px;margin:25px 0}.testimonial-review blockquote{margin:20px 0}.testimonial-review>.muted{margin:18px 0}.testimonial-form .subheading{margin-top:30px;align-items:center;gap:15px;flex-wrap:wrap}.testimonial-form .field small{font-size:11px;color:var(--umbra-muted);margin-top:6px}.testimonial-form .check{font-size:13px;line-height:1.8;align-items:start;margin:25px 0}.testimonial-form .check input{margin-top:5px;flex-shrink:0}.testimonial-upload{gap:20px;margin:22px 0}.testimonial-upload img,.testimonial-photo-empty{aspect-ratio:3/4;max-height:350px;object-fit:contain;width:100%;background:#10130d;border:1px solid var(--umbra-border);border-radius:10px}.testimonial-photo-empty{display:grid;place-items:center;font-family:Georgia,serif;font-size:24px;color:#beae88}.testimonial-upload .field{margin-top:13px}.testimonial-form textarea{min-height:140px}.review-invite{margin:28px 0;display:flex;align-items:center;justify-content:space-between;gap:25px}.review-invite h2{font-size:25px;margin:12px 0}.review-invite .muted{max-width:550px;font-size:13px}.review-invite .btn{flex-shrink:0}
@media(max-width:700px){.testimonial-grid{grid-template-columns:1fr}.testimonials-empty{padding:30px 24px}.testimonials-empty h3{font-size:29px}.testimonial-copy{padding:25px}.testimonial-copy blockquote,.testimonial-review blockquote{font-size:18px}.testimonial-upload{gap:12px}.testimonial-upload .uploadinput{font-size:10px;padding:8px;width:100%;min-width:0}.testimonial-upload .uploadinput::file-selector-button{display:block;margin-bottom:8px}.review-invite{align-items:start;flex-direction:column}.testimonial-photo-pair figcaption{font-size:10px;padding:4px 9px;bottom:9px;left:9px}.navlinks{gap:18px}}

.testimonial-photo-pair{grid-template-columns:repeat(2,minmax(0,1fr))}.testimonial-upload>div{min-width:0}
/* UMBRA home-screen app */
.umbra-install{max-width:1000px;padding:56px 6% calc(56px + env(safe-area-inset-bottom));margin:auto}.umbra-install>.brand{margin-bottom:52px}.umbra-install>.eyebrow{margin-bottom:18px}.umbra-install>h1{font-size:clamp(40px,7vw,72px);margin:16px 0}.umbra-install>p{max-width:670px;margin:22px 0}.install-guide{margin:32px 0}.install-guide .card{padding:28px}.install-guide h2{font-size:24px}.install-guide ol{padding-left:22px;line-height:1.8}.install-guide li{margin:12px 0}.install-guide>.muted{margin-top:20px}@media(display-mode:standalone){.topbar{padding-top:env(safe-area-inset-top)}.sidebarfoot{padding-bottom:env(safe-area-inset-bottom)}}

/* Compact, clearly labelled public demonstration. */
#inside .coaching-demo {max-width:850px;margin:0 auto;border:1px solid var(--luxury-line,#3a3b32);border-radius:14px;overflow:hidden;}
#inside .coaching-demo > summary {padding:22px 26px;cursor:pointer;color:#e1d3b5;font-weight:500;}
#inside .coaching-demo[open] > summary {border-bottom:1px solid #3a3b32;}
#inside .demo-tabs {padding:18px;flex-wrap:wrap;margin:0;}
#inside .platform-window {margin:0;border:0;border-radius:0;}
#inside .platform-bar {flex-wrap:wrap;gap:10px;}
.certifications-inner {flex-wrap:wrap;gap:16px;}
.certifications-inner p {max-width:100%;overflow-wrap:break-word;}
@media(max-width:600px){#inside .coaching-demo > summary {padding:18px;} .certifications-inner {align-items:flex-start;}}

/* Compact coaching navigation: the plan stays at the centre on small screens. */
.portal-mobile-header,.portal-bottom-nav{display:none}
@media(max-width:900px){
 .shell{display:block}
 .portal-mobile-header{display:flex;align-items:center;justify-content:space-between;padding:16px 5%;min-height:76px;background:#0c0e0b;border-bottom:1px solid #ffffff16}
 .portal-mobile-header .brand{gap:10px}.portal-mobile-header .brand-mark{width:29px;height:35px}.portal-mobile-header .brand-wordmark{width:132px}
 .portal-menu-toggle{width:44px;height:44px;display:grid;place-items:center;border:1px solid #ffffff24;border-radius:50%;background:transparent;color:#e3d6b6}
 .shell .sidebar{display:none;position:relative;height:auto;padding:16px 5% 22px;border-bottom:1px solid #ffffff20}
 .shell .sidebar.mobile-open{display:flex}.shell .sidebar>.brand{display:none}
 .shell .sidebar nav{position:static;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin:0;padding:0;gap:6px;border:0;backdrop-filter:none;background:transparent}
 .shell .sidebar nav button{font-size:13px;min-height:48px;white-space:normal;flex-direction:row;text-align:left;padding:12px;gap:10px;justify-content:flex-start}
 .shell .sidebarfoot{display:block;margin-top:16px;padding-top:14px}.shell .sidebarfoot a{display:inline-block;margin-right:18px}
 .shell .topbar{position:relative;top:auto;height:auto;min-height:66px;padding:12px 5%;gap:12px;flex-wrap:wrap}.shell .topbar>span{max-width:none;font-size:10px}.shell .topbar .badge,.shell .topbar .sync-status{display:none}.shell .topbar .actions{margin-left:auto;gap:8px}.shell .portal-language select{max-width:112px;font-size:12px}.shell .account-menu summary{font-size:12px;padding:9px 12px}
 .shell .content{padding:26px 5% calc(110px + env(safe-area-inset-bottom));}
 .portal-bottom-nav{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));position:fixed;inset:auto 0 0;z-index:40;background:#10120ff5;backdrop-filter:blur(18px);border-top:1px solid #e3d6b62b;padding:8px 8px calc(8px + env(safe-area-inset-bottom));gap:4px}
 .portal-bottom-nav button{border:0;background:transparent;color:#aeb1a5;min-width:0;min-height:54px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;border-radius:12px;font-size:10px;line-height:1.15;padding:7px 3px;overflow-wrap:anywhere}
 .portal-bottom-nav button.active{background:#e3d6b615;color:#e3d6b6}.portal-bottom-nav button.active svg{stroke-width:2.4}
 .shell .toast{bottom:calc(90px + env(safe-area-inset-bottom));}.shell .modalback{z-index:60}
 .client-shell .athlete-dashboard{display:flex;flex-direction:column;gap:20px}.client-shell .athlete-welcome{order:0;margin:0}.client-shell .athlete-session{order:1;margin:0}.client-shell .athlete-stats{order:2;margin:0}.client-shell .athlete-shortcuts{order:3;margin:0}.client-shell .athlete-week{order:4;margin:0}.client-shell .athlete-onboarding{order:5}
 .client-shell .athlete-welcome h1{font-size:30px}.client-shell .athlete-welcome p{font-size:14px}.client-shell .athlete-session h3{font-size:26px}
}

/* A more visual introduction to the private experience. */
.coaching-feature-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin:0 0 32px}
.coaching-feature{position:relative;overflow:hidden;border:1px solid #ffffff21;border-radius:20px;min-height:370px;background:#191c16}
.coaching-feature>img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;transition:transform .4s}
.coaching-feature:first-child>img{object-position:50% 30%}.coaching-feature:hover>img{transform:scale(1.025)}
.coaching-feature:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#090b09 0%,#090b09d9 20%,#090b0910 80%)}
.coaching-feature>div{position:absolute;z-index:1;bottom:0;left:0;right:0;padding:30px}.coaching-feature h3{font-size:32px;color:#f3eee2;margin:10px 0}.coaching-feature p{font-size:14px;color:#ddd7c8;max-width:310px}.coaching-feature .eyebrow{color:#e3d6b6}
#coaching .service-media{height:310px}#coaching .servicebody{padding:30px}#coaching .servicebody p{max-width:31ch;line-height:1.7}
#how-it-works{background:#e9e3d3;color:#20231d}#how-it-works .sectiontop p{color:#5e6158}#how-it-works .eyebrow{color:#686450}#how-it-works .steps{gap:16px;border:0}#how-it-works .step{padding:28px 24px;border:1px solid #292d201f;border-radius:16px;background:#ffffff40}#how-it-works .step>span{color:#6c6248;font-size:11px}#how-it-works .step h3{color:#20231d;font-size:24px}#how-it-works .step p{color:#565c50;line-height:1.7}
@media(max-width:700px){
 .coaching-feature-grid{grid-template-columns:1fr;gap:16px}.coaching-feature{min-height:310px}.coaching-feature>div{padding:25px}.coaching-feature h3{font-size:29px}
 #coaching .service-media{height:300px}#coaching .servicebody{padding:26px}#how-it-works .steps{grid-template-columns:1fr;gap:12px}#how-it-works .step{padding:23px}#how-it-works .step h3{font-size:23px;margin-top:14px}#how-it-works .step p{font-size:14px}
}

@media(max-width:900px){.shell .sidebarfoot a:first-of-type{display:block;margin-top:12px}}

.daily-steps{margin-bottom:28px}
.steps-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:18px 0 8px}
.steps-metrics>div{padding:14px 10px;border:1px solid var(--umbra-border);border-radius:12px;background:#ffffff05}
.steps-metrics dt{font-size:12px;color:var(--umbra-muted)}
.steps-metrics dd{margin:4px 0 0;font-size:clamp(19px,3vw,28px);color:var(--umbra-cream);font-variant-numeric:tabular-nums}
.steps-form{margin:22px 0}
.steps-form .formgrid{margin-top:12px}
.steps-history{margin:16px 0 0;padding:12px 0 0;border-top:1px solid var(--umbra-border)}
.steps-history summary{cursor:pointer}
.steps-history ul{list-style:none;padding:0;margin:12px 0 0;max-height:360px;overflow:auto}
.steps-history li{display:flex;align-items:center;flex-wrap:wrap;gap:12px;justify-content:space-between;padding:12px 2px;border-bottom:1px solid var(--umbra-border)}

.home-arrow{width:18px;height:18px;vertical-align:middle;flex:none}
.hero .hero-reassurance{margin-top:20px;font-size:14px;color:var(--umbra-cream)}
.hero .herofoot{margin-top:24px}
.client-progress{display:grid;grid-template-columns:minmax(0,440px) minmax(0,1fr);align-items:center;gap:clamp(28px,7vw,100px)}
.client-progress figure{margin:0}
.client-progress img{width:100%;height:auto;display:block;border-radius:16px}
.client-progress figcaption{margin-top:12px;color:var(--umbra-muted);font-size:13px}
.client-progress em{font-family:Georgia,serif;font-weight:400;color:var(--umbra-cream)}
.client-progress p{margin:22px 0;color:var(--umbra-muted);font-size:16px}
.sectiontop p,.aboutcopy p,.premium-packages .plan ul,.faq details p{font-size:16px;line-height:1.65}
.luxury-application label{font-size:14px}
.luxury-application input,.luxury-application textarea,.luxury-application select{font-size:16px}
@media(max-width:700px){.client-progress{grid-template-columns:1fr}.client-progress figure{max-width:440px}.footerlinks{flex-wrap:wrap}}
.daily-steps .heading{flex-direction:row;align-items:center;margin-bottom:12px}
.daily-steps .heading>svg{color:var(--umbra-cream);flex-shrink:0}
@media(max-width:700px){.steps-form .formgrid{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:10px}.steps-form input{min-width:0;width:100%;font-size:16px}}

.client-photo-row {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(6px, 2vw, 16px);
  max-width: 720px;
  margin: 24px auto 0;
}
.client-photo-row img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 1;
  object-fit: contain;
  background: var(--umbra-surface);
  border-radius: 10px;
}
