/* Full fictional models reuse FJ's typography, buttons, FAQ and native dialog. */
.model-page{--paper:#f0f2e8;--ink:#20372a;--muted:#465448;--line:#d0d9c5;--accent:#c1f464;--panel:#dfe8d0;--contrast:#20372a;--on-contrast:#f5f7ed;background:var(--paper);font-size:16px}
.model-online{--paper:#101e33;--ink:#f0f5ff;--muted:#c5d2e7;--line:#3b5070;--accent:#9bcaff;--panel:#1a2e4b;--contrast:#9bcaff;--on-contrast:#11223d}
.model-studio{--paper:#f8f0e8;--ink:#4d3028;--muted:#705248;--line:#dcc5b6;--accent:#d98d68;--panel:#eddbcd;--contrast:#8e402d;--on-contrast:#fff5ed}
.model-page em{font-family:'Instrument Serif',Georgia,serif;font-weight:400}
.model-page .eyebrow{font-size:14px;letter-spacing:.7px;line-height:1.6;text-transform:uppercase}
.model-page p,.model-page .faq summary,.model-page .faq details p,.model-page .steps p{font-size:16px;line-height:1.8}
.model-page .button{font-size:16px;line-height:1.5;text-align:center}
.model-page .dark{background:var(--contrast);color:var(--on-contrast)}
.model-page .light{background:var(--paper);color:var(--ink)}
.model-page a:focus-visible,.model-page button:focus-visible,.model-page summary:focus-visible{outline:3px solid var(--muted);outline-offset:5px}
.model-page h1{font-size:clamp(54px,6vw,88px);line-height:1.03;letter-spacing:-3px;margin:24px 0}
.model-page h2{font-size:clamp(38px,4vw,60px);letter-spacing:-1.8px;line-height:1.1}
.model-page h3{font-size:26px;line-height:1.25;letter-spacing:-.6px;font-weight:500}
.model-notice{border-bottom:1px solid var(--line);font-size:14px;line-height:1.6}
.model-notice>.wrap{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-block:14px}
.model-notice a{text-decoration:underline;text-underline-offset:4px;white-space:nowrap}
.model-header{display:flex;align-items:center;justify-content:space-between;gap:25px;padding-block:30px}
.model-brand{font-size:29px;font-weight:650;letter-spacing:-1.4px;white-space:nowrap}
.model-header nav{display:flex;gap:24px;font-size:16px}
.model-header nav a:hover,.model-link:hover{text-decoration:underline;text-underline-offset:5px}
.model-hero{display:grid;grid-template-columns:1.05fr 1fr;gap:50px;align-items:center;padding-block:70px 100px}
.model-hero>div{min-width:0}.model-hero p{max-width:500px;font-size:18px}
.model-hero .actions{gap:20px}.model-link{display:inline-flex;align-items:center;justify-content:space-between;gap:20px;font-size:16px;line-height:1.5;background:transparent;color:inherit;border:0;border-bottom:1px solid currentColor;padding:8px 0;cursor:pointer}
.model-visual{background:var(--panel);border:1px solid var(--line);border-radius:160px 160px 18px 18px;padding:30px;min-height:430px;display:flex;flex-direction:column;justify-content:center}
.model-art{width:100%;max-width:430px;margin:auto;min-width:0}.model-art svg{display:block;width:100%;height:auto;max-height:400px;overflow:visible}
.model-art .equipment-kettlebell,.model-art .equipment-run{display:none}
.model-studio .model-art .equipment-dumbbell{display:none}.model-studio .model-art .equipment-kettlebell{display:block}
.visual-caption{display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:16px;padding-top:20px;border-top:1px solid var(--line)}
.model-online .model-visual{border-radius:18px;transform:rotate(3deg)}
.model-studio .model-visual{border-radius:220px 220px 12px 12px}
.model-studio .model-art{filter:none}
.model-manifesto{border-block:1px solid var(--line);background:var(--panel)}
.model-manifesto .wrap{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-block:25px;font-size:16px}
.model-programs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.model-program{padding:30px;border:1px solid var(--line);border-radius:14px;display:flex;flex-direction:column;transition:transform .35s,box-shadow .35s}
.model-program:nth-child(2){background:var(--panel)}
.program-number{display:flex;align-items:center;justify-content:space-between;font:52px 'Instrument Serif',Georgia,serif;border-bottom:1px solid var(--line);padding-bottom:25px;margin-bottom:10px}
.program-number>span{font:26px Arial,sans-serif}
.model-program p{margin-top:0}.model-program ul{padding-left:20px;color:var(--muted);line-height:1.8;margin-bottom:28px;font-size:16px}.model-program li+li{margin-top:9px}
.model-program .model-link{margin-top:auto;text-align:left}
.model-approach{background:var(--panel);border-block:1px solid var(--line)}
.approach-intro{display:grid;grid-template-columns:1fr 1fr;gap:15px 70px;align-items:center}
.approach-intro .eyebrow{grid-column:1/-1}.approach-intro h2{margin:0}.approach-intro p{max-width:530px}
.model-values{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:45px;margin-top:60px}
.model-values article{border-top:1px solid var(--line);padding-top:25px}.value-index{font:36px 'Instrument Serif',Georgia,serif}
.model-values h3{margin:20px 0 12px}
.model-page .step-number{color:var(--muted)}.model-page .steps article{border-color:var(--line)}.model-page .steps h3{font-size:24px}
.model-faq{display:grid;grid-template-columns:1fr 1.2fr;gap:65px;border-top:1px solid var(--line)}
.model-faq a{text-decoration:underline;text-underline-offset:4px}.model-page .faq summary span{color:var(--muted)}.model-page .faq summary:hover{color:var(--ink)}
.model-start{padding:90px 0;background:var(--contrast);color:var(--on-contrast);text-align:center}
.model-start .eyebrow{justify-content:center}.model-start h2{font-size:clamp(46px,6vw,78px)}.model-start p{color:inherit;margin:26px 0}.model-start .model-caption{font-size:14px;margin-bottom:0}
.model-online .model-start .light{background:var(--paper);color:var(--ink)}
.model-footer{display:flex;justify-content:space-between;gap:30px;align-items:center;flex-wrap:wrap;padding-block:50px}.model-footer p{font-size:14px;margin-bottom:0}
.model-switcher{width:100%;border-top:1px solid var(--line);padding-top:25px;display:flex;flex-wrap:wrap;gap:12px}
.model-switcher a{padding:12px 18px;border:1px solid var(--line);border-radius:30px;font-size:14px}.model-switcher a[aria-current=page]{background:var(--contrast);color:var(--on-contrast)}
.model-page .contact-dialog{color:var(--ink)}.model-page .contact-dialog>.eyebrow{font-size:14px}.model-page .dialog-close{color:var(--ink)}.model-page .dialog-close:hover{background:var(--panel)}
.model-week{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.model-week>div>p{max-width:500px}
.week-preview{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:28px}.week-controls{display:flex;gap:8px;border-bottom:1px solid var(--line);padding-bottom:22px}.week-controls button{flex:1;border:1px solid var(--line);border-radius:30px;padding:12px 8px;background:transparent;color:var(--ink);font-size:16px}.week-controls button[aria-pressed=true]{background:var(--accent);color:#20372a;border-color:var(--accent)}.week-panel{min-height:245px;padding-top:28px}.week-panel h3{font-size:30px;margin:20px 0}.week-panel p{margin-bottom:0}
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){.model-program:hover{transform:translateY(-7px);box-shadow:0 16px 25px #0001}.model-art svg{transition:transform .55s;animation:model-float 6s ease-in-out infinite}.model-art:hover svg{transform:rotate(-7deg) scale(1.04);animation-play-state:paused}}
@keyframes model-float{50%{translate:0 -10px}}
@media(max-width:1100px){.model-header nav{gap:16px}.model-hero{gap:25px}.model-visual{padding:22px;min-height:340px}.model-program{padding:24px}.model-brand{font-size:25px}.model-programs{gap:14px}.model-manifesto .wrap{flex-wrap:wrap;justify-content:center}}
@media(max-width:800px){.model-notice>.wrap{align-items:flex-start;flex-direction:column;gap:7px}.model-header{flex-wrap:wrap;gap:22px}.model-header nav{order:3;width:100%;justify-content:space-between;border-top:1px solid var(--line);padding-top:20px}.model-hero{grid-template-columns:1fr;padding-block:35px 65px;gap:45px}.model-visual{max-width:520px;width:100%;justify-self:center}.model-programs{grid-template-columns:1fr}.model-program{padding:28px}.program-number{font-size:42px}.model-values{gap:25px}.approach-intro{grid-template-columns:1fr;gap:20px}.model-faq,.model-week{grid-template-columns:1fr;gap:35px}.model-hero h1{font-size:clamp(54px,9vw,78px)}}
@media(max-width:540px){.model-page h1{letter-spacing:-2px}.model-header .small{font-size:14px;padding:10px 12px}.model-brand{font-size:25px}.model-header nav{gap:12px;font-size:14px}.model-visual{padding:22px;min-height:300px}.model-visual .visual-caption{font-size:16px}.model-manifesto .wrap{display:grid;grid-template-columns:1fr;text-align:center;padding-block:24px;gap:13px}.model-manifesto [aria-hidden]{display:none}.model-values{grid-template-columns:1fr;gap:30px}.model-page .section{padding-block:65px}.model-start{padding-block:65px}.model-program .model-link{width:100%}.model-footer{align-items:flex-start}.model-page .eyebrow{font-size:14px}.model-page .button{padding:16px 18px}.model-notice a{white-space:normal}.model-hero .actions{align-items:flex-start;flex-direction:column}.week-preview{padding:20px}.week-panel{min-height:280px}}
@media(prefers-reduced-motion:reduce){.model-art svg{animation:none!important;transition:none!important}.model-program:hover{transform:none}}

/* Personal introductions and richer, deliberately illustrative commercial content. */
.model-coach{display:grid;grid-template-columns:1.1fr .9fr;align-items:center;gap:clamp(36px,6vw,90px)}
.coach-copy h2{margin-bottom:25px}.model-page .coach-lead{font-size:23px;line-height:1.5;color:var(--ink);max-width:500px}
.coach-credentials{list-style:none;padding:0;margin:28px 0;display:grid;gap:12px;font-size:16px}.coach-credentials li{display:flex;gap:12px;align-items:center}.coach-credentials span{display:grid;place-items:center;width:28px;height:28px;border:1px solid var(--line);border-radius:50%;flex-shrink:0}
.model-page .placeholder-note{font-size:14px;line-height:1.6;margin-top:20px;max-width:460px}
.coach-portrait{margin:0;width:100%;max-width:440px;justify-self:end}.coach-photo{background:var(--panel);border:1px solid var(--line);border-radius:16px;aspect-ratio:4/5;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:30px;overflow:hidden;position:relative;color:var(--ink)}
.coach-photo svg{width:100%;height:auto;max-height:85%}.coach-photo>span{font-size:16px;margin-top:12px;line-height:1.5}.coach-portrait figcaption{display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px 18px;padding-top:18px;font-size:16px;line-height:1.6}.coach-portrait figcaption>span{color:var(--muted)}
.model-studio .coach-photo{border-radius:180px 180px 14px 14px}.model-online .coach-photo{box-shadow:14px 14px 0 var(--panel);border-color:#5d7da6}
.atlas-fit{background:var(--panel);border-block:1px solid var(--line)}.fit-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}.fit-grid>div{min-width:0}.fit-grid h2{margin-bottom:25px}
.fit-controls{display:flex;flex-wrap:wrap;gap:10px;margin-top:25px}.fit-controls button,.schedule-controls button{font-size:16px;line-height:1.5;background:transparent;border:1px solid var(--line);color:var(--ink);padding:12px 18px;border-radius:30px;transition:background .2s,transform .2s}
.fit-controls button[aria-pressed=true],.schedule-controls button[aria-pressed=true]{background:var(--contrast);color:var(--on-contrast);border-color:var(--contrast)}
.fit-panel{background:var(--paper);border:1px solid var(--line);border-radius:16px;padding:36px;min-height:330px}.fit-panel h3{font-size:32px;margin:25px 0 15px}.fit-panel p{margin-bottom:30px}
.pricing-section{padding-top:75px}.model-page .pricing-disclosure{font-size:14px;color:var(--muted);margin:-15px 0 32px;line-height:1.6}
.pricing-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;align-items:stretch}.pricing-card{display:flex;flex-direction:column;padding:32px 28px;border:1px solid var(--line);border-radius:18px;position:relative;transition:transform .35s,box-shadow .35s;background:var(--paper)}
.featured-plan{background:var(--panel);border:2px solid var(--accent);box-shadow:0 20px 50px #0002}.plan-label{font-size:14px;line-height:1.5;letter-spacing:.6px;color:var(--muted)}.pricing-card h3{font-size:32px;margin:20px 0 14px}.plan-description{min-height:115px;margin-top:0}.plan-price{display:flex;align-items:baseline;flex-wrap:wrap;gap:10px}.plan-price>span:first-child{font-size:clamp(48px,4.5vw,64px);font-weight:500;letter-spacing:-3px;line-height:1.2}.plan-price>span:last-child{font-size:16px;color:var(--muted)}.price-caption{font-size:14px;color:var(--muted);margin:10px 0 26px}.pricing-card .button{width:100%;padding-inline:14px}.pricing-card .light{background:transparent;border-color:var(--line);color:var(--ink)}.plan-includes{font-size:16px;line-height:1.5;padding-top:25px;margin-top:28px;border-top:1px solid var(--line)}.pricing-card ul{padding:0;margin:20px 0 0;list-style:none;display:grid;gap:15px}.pricing-card li{font-size:16px;line-height:1.6;display:flex;align-items:flex-start;gap:12px;color:var(--muted)}.pricing-card li>span{color:var(--accent)}.model-page .pricing-footnote{font-size:14px;line-height:1.6;text-align:center;max-width:700px;margin:26px auto 0}
.model-online .week-controls button[aria-pressed=true]{color:var(--on-contrast)}
.studio-space{background:var(--panel);border-block:1px solid var(--line)}.space-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:60px;align-items:center}.space-placeholder{background:var(--paper);border:1px solid var(--line);min-height:380px;border-radius:150px 150px 14px 14px;display:flex;align-items:center;justify-content:center;flex-direction:column;padding:35px;color:var(--muted)}.space-placeholder svg{display:block;width:100%;height:auto}.space-placeholder>span{font-size:16px;line-height:1.6;margin-top:25px}.space-notes{display:grid;gap:25px}.space-notes article{border-bottom:1px solid var(--line);padding:0 0 22px 46px;position:relative}.space-notes article>span{position:absolute;left:0;top:0;font:28px 'Instrument Serif',Georgia,serif}.space-notes h3{margin:0 0 10px}.space-notes p{margin:0}
.schedule-controls{display:flex;gap:10px;flex-wrap:wrap}.model-page .schedule-status{font-size:14px;line-height:1.6;margin:24px 0 15px}.studio-slots{border-top:1px solid var(--line)}.studio-slot{display:grid;grid-template-columns:150px 1fr auto;align-items:center;gap:30px;padding:28px 0;border-bottom:1px solid var(--line)}.studio-slot[hidden]{display:none}.slot-time{font-size:22px;line-height:1.4;font-weight:500}.studio-slot h3{margin:0 0 6px}.studio-slot p{margin:0}.studio-slot .model-link{white-space:nowrap}
.model-header nav{flex-wrap:wrap}.model-online .model-visual{border-color:#416084}.model-studio .model-start .light{background:var(--paper);color:var(--ink)}
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){.pricing-card:hover{transform:translateY(-7px);box-shadow:0 25px 50px #0003}.fit-controls button:hover,.schedule-controls button:hover{transform:translateY(-3px)}.coach-photo svg{transition:transform .6s}.coach-photo:hover svg{transform:scale(1.025)}}
@media(max-width:1100px){.pricing-card{padding:25px 20px}.pricing-card h3{font-size:28px}.plan-description{min-height:145px}.model-header{flex-wrap:wrap}.model-header nav{gap:20px}.space-grid{gap:35px}.fit-grid{gap:35px}}
@media(max-width:800px){.model-coach{grid-template-columns:1fr}.coach-portrait{max-width:400px;justify-self:center;order:2}.fit-grid,.space-grid{grid-template-columns:1fr}.pricing-grid{grid-template-columns:1fr}.pricing-card{padding:30px}.plan-description{min-height:0}.pricing-card .button{max-width:350px}.pricing-card ul{grid-template-columns:1fr 1fr;gap:15px 25px}.studio-slot{grid-template-columns:110px 1fr;gap:20px}.studio-slot .model-link{grid-column:2;justify-self:start}.space-placeholder{min-height:300px}.model-online .coach-photo{box-shadow:8px 8px 0 var(--panel)}}
@media(max-width:540px){.model-page .coach-lead{font-size:21px}.coach-photo{padding:22px}.coach-portrait figcaption{flex-direction:column}.fit-panel{padding:25px;min-height:380px}.fit-controls button,.schedule-controls button{font-size:16px;padding:11px 15px}.pricing-card{padding:27px 22px}.pricing-card ul{grid-template-columns:1fr}.plan-price>span:first-child{font-size:58px}.studio-slot{grid-template-columns:1fr;gap:12px}.studio-slot .model-link{grid-column:1}.space-placeholder{padding:25px;min-height:260px;border-radius:90px 90px 12px 12px}.space-notes article{padding-left:40px}.studio-slot h3{font-size:24px}.model-header nav{gap:12px 20px}.model-coach .actions .button{width:100%}}
@media(prefers-reduced-motion:reduce){.pricing-card:hover,.fit-controls button:hover,.schedule-controls button:hover{transform:none}.coach-photo:hover svg{transform:none}}
