:root { --charcoal:#171d23; --paper:#f4f5ef; --lime:#c5ef59; --ink:#28332c; --heading:"Arial Black",Arial,Helvetica,sans-serif; --body:Arial,Helvetica,sans-serif; }
* { box-sizing:border-box; }
html { scroll-padding-top:24px; }
body { margin:0; background:var(--paper); color:var(--charcoal); font:400 18px/1.65 var(--body); }
h1,h2,h3,p,figure,dl,dd { margin:0; }
h1,h2,h3 { font-family:var(--heading); font-weight:900; line-height:1.15; letter-spacing:-.035em; overflow-wrap:anywhere; font-synthesis:none; }
h1 { font-size:clamp(36px,4.4vw,60px); max-width:650px; }
h2 { font-size:clamp(29px,3vw,42px); }
h3 { font-size:24px; }
p+p { margin-top:16px; }
a { color:inherit; text-underline-offset:5px; }
a:hover { text-decoration-thickness:2px; }
a,button { -webkit-tap-highlight-color:transparent; }
a:focus-visible,button:focus-visible { outline:3px solid var(--charcoal); outline-offset:5px; }
.dark a:focus-visible,.dark button:focus-visible { outline-color:var(--lime); }
button { font:inherit; }
[hidden] { display:none !important; }
img { display:block; width:100%; height:auto; }
.wrap { width:min(1240px,calc(100% - 64px)); margin-inline:auto; }
.section { padding-block:80px; }
.dark { color:var(--paper); background:var(--charcoal); }
.small,figcaption,.section-note { font-size:15px; line-height:1.6; }
.eyebrow { overflow-wrap:anywhere; font-size:13px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; line-height:1.6; margin-bottom:16px; }
.skip-link { position:absolute; top:8px; left:8px; z-index:5; padding:12px; background:var(--paper); transform:translateY(-200%); }
.skip-link:focus { transform:none; }
.concept-notice { background:var(--paper); padding:12px 24px; text-align:center; font-size:14px; line-height:1.5; }
.header-inner { display:flex; justify-content:space-between; align-items:center; gap:28px; padding-block:24px; border-bottom:1px solid #58615d; }
.wordmark { display:inline-flex; gap:12px; align-items:center; text-decoration:none; line-height:1; }
.wordmark svg { color:var(--lime); flex:none; }
.brand-name { display:block; font:900 29px/1 var(--heading); letter-spacing:-.04em; font-synthesis:none; }
.brand-description { display:block; margin-top:7px; font-size:13px; font-weight:700; letter-spacing:.06em; }
nav { display:flex; align-items:center; justify-content:flex-end; flex-wrap:wrap; gap:12px 24px; }
nav>a { display:inline-flex; align-items:center; min-height:44px; font-size:15px; text-decoration:none; }
.button { display:inline-flex; align-items:center; justify-content:space-between; gap:20px; min-height:48px; padding:12px 20px; background:var(--lime); color:var(--charcoal); font-size:16px; font-weight:700; line-height:1.5; text-decoration:none; }
.button:hover { text-decoration:underline; }
.hero { padding-block:48px 64px; }
.hero-grid { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(0,1fr); gap:72px; align-items:center; }
.hero-copy h1 span { color:var(--lime); }
.hero .eyebrow { color:var(--lime); display:flex; align-items:center; gap:10px; }
.signal { width:9px; height:9px; background:var(--lime); flex:none; }
.lead { margin-top:24px; max-width:540px; font-size:19px; }
.hero-actions { display:flex; flex-wrap:wrap; gap:16px 24px; margin-top:30px; align-items:center; }
.text-link { font-size:16px; display:inline-flex; align-items:center; min-height:44px; }
.hero-note { border-top:1px solid #58615d; margin-top:32px; padding-top:18px; font-size:14px; }
.hero-photo { min-width:0; border-bottom:5px solid var(--lime); }
.hero-photo img { aspect-ratio:1; object-fit:cover; }
figcaption { padding-block:13px; }
.section-heading { display:grid; grid-template-columns:max-content minmax(0,1.3fr) minmax(0,1fr); align-items:start; gap:28px; margin-bottom:40px; }
.section-number { font:900 46px/1 var(--heading); letter-spacing:-.05em; color:var(--ink); }
.section-heading .eyebrow { margin-bottom:12px; }
.section-heading>p { padding-top:28px; font-size:17px; }
.goal-selector { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,2fr); gap:32px; }
.goal-selector:not(.enhanced) { display:block; }
.goal-buttons { display:flex; flex-direction:column; gap:14px; padding:6px; margin:-6px; }
.goal-buttons button { border:2px solid var(--ink); background:transparent; color:var(--charcoal); display:flex; align-items:center; justify-content:space-between; gap:20px; padding:16px 22px; cursor:pointer; text-align:left; font-size:20px; font-weight:700; min-height:62px; }
.goal-buttons button[aria-pressed="true"] { background:var(--lime); border-color:var(--charcoal); }
.goal-buttons button:hover { text-decoration:underline; text-underline-offset:5px; }
.goal-panels { display:grid; min-width:0; }
.goal-panels article { background:white; border:1px solid #718071; padding:32px; }
.goal-panels article+article { margin-top:20px; }
.enhanced .goal-panels article { grid-area:1/1; margin-top:0; }
.enhanced .goal-panels article[aria-hidden="true"] { visibility:hidden; }
.fitness-pending .goal-selector:not(.enhanced) { display:grid; }
.fitness-pending .goal-buttons[hidden] { display:flex !important; visibility:hidden; }
.fitness-pending .goal-panels article { grid-area:1/1; margin-top:0; }
.fitness-pending .goal-panels article:not(:first-child) { visibility:hidden; }
.panel-label { font-size:13px; font-weight:700; text-transform:uppercase; letter-spacing:.08em; margin-bottom:12px; }
.goal-panels h3 { margin-bottom:18px; font-size:27px; max-width:590px; }
.goal-panels .small { margin-top:20px; border-top:1px solid #b2bbb0; padding-top:14px; }
.section-note { margin-top:28px; max-width:850px; }
.approach .section-number,.approach .eyebrow { color:var(--lime); }
.process-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.process-grid article { border:1px solid #75806f; padding:28px; }
.step-number { display:block; color:var(--lime); font-size:32px; font-weight:700; margin-bottom:32px; }
.process-grid h3 { margin-bottom:18px; }
.process-grid p { font-size:17px; }
.rhythm-list { margin:0; padding:0; list-style:none; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); counter-reset:rhythm; }
.rhythm-list li { border-top:3px solid var(--charcoal); padding:24px 32px 8px 0; counter-increment:rhythm; }
.rhythm-list li+li { border-left:1px solid #8f9a89; padding-left:32px; }
.day-label { font-size:14px; font-weight:700; }
.day-label::before { content:"0" counter(rhythm) " / "; }
.rhythm-list h3 { margin-block:20px 16px; }
.rhythm-list p { font-size:17px; }
.questions { background:var(--ink); color:var(--paper); }
.questions-layout { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.4fr); gap:80px; }
.questions .section-number { color:var(--lime); display:block; margin-bottom:24px; }
.questions .eyebrow { color:var(--lime); }
.questions-intro { margin-top:24px; }
.question-list article { padding-block:24px; border-top:1px solid #9aa48b; }
.question-list article:first-child { padding-top:0; border-top:0; }
.question-list h3 { font:700 23px/1.4 var(--body); letter-spacing:normal; margin-bottom:12px; }
.question-list p { font-size:17px; }
.consultation { border-bottom:1px solid #8f9a89; }
.consultation-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:80px; border-top:2px solid var(--charcoal); padding-top:30px; }
.consultation-grid>section { min-width:0; }
.consultation-grid h3 { margin-bottom:20px; }
.consultation-grid p,.contact-details { font-size:17px; }
.contact-details { margin-block:22px; }
.contact-details>div+div { margin-top:14px; }
.contact-details dt { font-size:14px; font-weight:700; }
.contact-details dd { overflow-wrap:anywhere; }
.hours>div { display:flex; justify-content:space-between; flex-wrap:wrap; gap:8px 20px; padding-block:12px; border-bottom:1px solid #8f9a89; font-size:17px; }
.hours dd { white-space:nowrap; }
.hours+.small { margin-top:16px; }
.demo-explanation { padding:28px; background:var(--lime); color:var(--charcoal); margin-top:36px; }
.demo-tag { display:block; font-size:13px; text-transform:uppercase; letter-spacing:.08em; font-weight:700; margin-bottom:12px; }
.demo-explanation p { font-size:17px; }
.footer-inner { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:12px 30px; padding-block:28px; font-size:15px; }
.footer-inner a { min-height:44px; display:inline-flex; align-items:center; gap:10px; }
@media(max-width:1100px) { .hero-grid { gap:40px; }.header-inner { flex-wrap:wrap; }nav { justify-content:flex-start; }.hero h1 { font-size:clamp(36px,4.4vw,54px); }.section-heading { grid-template-columns:max-content minmax(0,1fr); }.section-heading>p { grid-column:2; padding-top:0; }.questions-layout,.consultation-grid { gap:40px; } }
@media(max-width:899px) { .hero-grid { grid-template-columns:minmax(0,1fr); }.hero-photo { max-width:600px; }.hero-copy { max-width:720px; }.hero h1 { font-size:clamp(36px,6vw,54px); }.process-grid { grid-template-columns:minmax(0,1fr); }.step-number { margin-bottom:16px; }.questions-layout { grid-template-columns:minmax(0,1fr); gap:32px; } }
@media(max-width:767px) { .wrap { width:calc(100% - 40px); }.section { padding-block:48px; }.concept-notice { text-align:left; padding:12px 20px; font-size:15px; }.header-inner { gap:22px; padding-block:22px; }nav { gap:4px 20px; width:100%; }nav .button { margin-top:8px; }.hero { padding-block:32px 44px; }.hero-grid { gap:32px; }.hero .eyebrow { font-size:12px; }.hero h1 { font-size:clamp(36px,8.5vw,40px); }.lead { font-size:18px; margin-top:20px; }.hero-actions { gap:14px; margin-top:24px; }.hero-note { margin-top:26px; font-size:15px; }.section-heading { grid-template-columns:max-content minmax(0,1fr); gap:16px; margin-bottom:30px; }.section-number { font-size:36px; }.section-heading>p { grid-column:1/-1; font-size:17px; }.goal-selector { grid-template-columns:minmax(0,1fr); gap:24px; }.goal-buttons button { padding:12px 18px; min-height:54px; }.goal-panels article { padding:24px; }.goal-panels h3 { font-size:25px; }.process-grid article { padding:24px; }.rhythm-list { grid-template-columns:minmax(0,1fr); }.rhythm-list li,.rhythm-list li+li { border-left:0; padding:22px 0; }.rhythm-list li+li { border-top:1px solid #8f9a89; }.rhythm-list h3 { margin-block:12px; }.consultation-grid { grid-template-columns:minmax(0,1fr); gap:30px; }.demo-explanation { padding:22px; } }
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } }
