
:root{
 
 --primitive-color-graphite-1000:#0d0e0c;
 --primitive-color-graphite-950:#10110f;
 --primitive-color-graphite-900:#121310;
 --primitive-color-graphite-875:#151613;
 --primitive-color-graphite-850:#171815;
 --primitive-color-graphite-825:#181914;
 --primitive-color-graphite-775:#1d1e1a;
 --primitive-color-graphite-700:#252621;
 --primitive-color-graphite-650:#30312c;
 --primitive-color-graphite-550:#414038;
 --primitive-color-neutral-050:#f4f4f1;
 --primitive-color-neutral-200:#c9cac5;
 --primitive-color-neutral-350:#b1b2ad;
 --primitive-color-neutral-400:#a5a69f;
 --primitive-color-neutral-500:#92948d;
 --primitive-color-neutral-550:#858780;
 --primitive-color-neutral-650:#74766f;
 --primitive-color-neutral-900:#151515;
 --primitive-color-amber-500:#ffb635;
 --primitive-color-amber-700:#806222;
 --primitive-color-purple-400:#a58bd0;
 --primitive-color-green-500:#57c97a;
 --primitive-color-cyan-400:#59e0f2;
 --primitive-color-map-background:#0b1016;
 --primitive-color-map-border:#252c31;
 --primitive-font-family-sans:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
 --primitive-font-weight-medium:500;
 --primitive-font-weight-control:650;
 --primitive-font-weight-bold:700;
 --primitive-font-weight-strong:770;
 --primitive-font-weight-heavy:800;
 --primitive-radius-xs:4px;
 --primitive-radius-compact:5px;
 --primitive-radius-control:6px;
 --primitive-radius-segmented:7px;
 --primitive-radius-card:8px;
 --primitive-radius-map-compact:10px;
 --primitive-radius-floating:12px;
 --primitive-radius-map:14px;
 --primitive-radius-round:999px;
 --primitive-motion-fast:140ms;
 --primitive-motion-standard:150ms;
 
 --color-background:var(--primitive-color-graphite-950);
 --color-background-subtle:var(--primitive-color-graphite-1000);
 --color-chrome:var(--primitive-color-graphite-900);
 --color-surface-1:var(--primitive-color-graphite-875);
 --color-surface-2:var(--primitive-color-graphite-850);
 --color-surface-selected:var(--primitive-color-graphite-825);
 --color-surface-hover:var(--primitive-color-graphite-775);
 --color-border:var(--primitive-color-graphite-650);
 --color-border-subtle:var(--primitive-color-graphite-700);
 --color-border-strong:var(--primitive-color-graphite-550);
 --color-text:var(--primitive-color-neutral-050);
 --color-text-strong-muted:var(--primitive-color-neutral-200);
 --color-text-footer:var(--primitive-color-neutral-350);
 --color-text-muted:var(--primitive-color-neutral-400);
 --color-text-secondary:var(--primitive-color-neutral-500);
 --color-text-tertiary:var(--primitive-color-neutral-550);
 --color-text-dim:var(--primitive-color-neutral-650);
 --color-on-accent:var(--primitive-color-neutral-900);
 --color-accent:var(--primitive-color-amber-500);
 --color-accent-muted:var(--primitive-color-amber-700);
 --color-macro:var(--primitive-color-purple-400);
 --color-success:var(--primitive-color-green-500);
 --color-route:var(--primitive-color-cyan-400);
 --color-focus:var(--primitive-color-amber-500);
 --color-map-background:var(--primitive-color-map-background);
 --color-map-border:var(--primitive-color-map-border);
 --color-header-glass:rgba(18,19,16,.96);
 --color-border-hairline:rgba(255,255,255,.065);
 --color-header-border:rgba(255,255,255,.06);
 --color-surface-highlight:rgba(255,255,255,.035);
 --color-row-hover:rgba(255,255,255,.025);
 --type-family:var(--primitive-font-family-sans);
 --type-line-height-body:1.45;
 --type-tracking-display:-.045em;
 --type-tracking-heading:-.025em;
 --type-tracking-eyebrow:.14em;
 --type-size-caption:9px;
 --type-size-label:10px;
 --type-size-ui:11px;
 --type-size-body-sm:12px;
 --type-size-nav:13px;
 --type-size-body-md:14px;
 --type-size-body:15px;
 --type-size-card-title:20px;
 --shadow-map:0 14px 34px rgba(0,0,0,.22);
 --shadow-floating-nav:0 12px 30px rgba(0,0,0,.34);
 --shadow-surface-inset:inset 0 1px 0 rgba(255,255,255,.035);
 
 --control-height-compact:34px;
 --control-height-action:44px;
 --control-height-small-action:38px;
 --control-height-tab:48px;
 --control-height-row:54px;
 --control-radius:var(--primitive-radius-control);
 --control-background:var(--color-surface-2);
 --control-background-hover:var(--color-surface-hover);
 --control-background-selected:var(--color-accent);
 --control-text:var(--color-text-secondary);
 --control-text-selected:var(--color-on-accent);
 --control-border:var(--color-border);
 --control-inline-padding:17px;
 --control-compact-inline-padding:11px;
 --tab-background-selected:var(--color-surface-selected);
 --tab-indicator:var(--color-accent);
 --tab-indicator-width:2px;
 --layout-container-max:1520px;
 --layout-container-gutter:48px;
 --layout-header-height:72px;
 --layout-anchor-offset:94px;
 --layout-section-block:80px;
}


:root{
 --primitive-font-family-sans:var(--mm-font-ui);
 --color-background:var(--mm-color-bg);
 --color-background-subtle:var(--mm-color-bg-deep);
 --color-chrome:var(--mm-color-chrome);
 --color-surface-1:var(--mm-color-surface-1);
 --color-surface-2:var(--mm-color-surface-2);
 --color-surface-selected:var(--mm-color-surface-control);
 --color-surface-hover:var(--mm-color-surface-active);
 --color-border:var(--mm-color-border);
 --color-border-subtle:var(--mm-color-border-subtle);
 --color-border-strong:var(--mm-color-border-strong);
 --color-text:var(--mm-color-text);
 --color-text-strong-muted:var(--mm-color-text-soft);
 --color-text-muted:var(--mm-color-text-muted);
 --color-text-dim:var(--mm-color-text-dim);
 --color-on-accent:var(--mm-color-on-accent);
 --color-accent:var(--mm-color-accent);
 --color-focus:var(--mm-color-accent);
 --layout-container-max:var(--mm-canvas-max);
 --layout-container-gutter:var(--mm-gutter-desktop);
}


*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--color-background);color:var(--color-text);font-family:var(--type-family);line-height:var(--type-line-height-body)}
a{color:inherit;text-decoration:none}
button{font:inherit}
button:focus-visible,a:focus-visible{outline:2px solid var(--color-accent);outline-offset:3px}
.wrap{width:min(var(--layout-container-max),calc(100% - (var(--layout-container-gutter) * 2)));margin:auto}
.header{position:fixed;inset:0 0 auto 0;z-index:1000;background:var(--color-header-glass);border-bottom:1px solid var(--color-header-border);backdrop-filter:blur(14px)}
main{padding-top:var(--layout-header-height)}
section[id]{scroll-margin-top:var(--layout-anchor-offset)}
.nav{height:var(--layout-header-height);display:flex;align-items:center;gap:30px}
.logo{font-size:var(--type-size-card-title);font-weight:var(--primitive-font-weight-heavy);letter-spacing:var(--type-tracking-display);margin-right:0}
.logo span:last-child{color:var(--color-accent)}
.logo-image{display:flex;align-items:center;min-width:0}
.logo-image img{display:block;width:138px;max-width:34vw;height:auto}
.footer-brand .logo-image img{width:126px}
@media(max-width:620px){.logo-image img{width:118px;max-width:40vw}.footer-brand .logo-image img{width:112px}}
.navlinks{display:flex;flex:1;justify-content:center;align-items:center;gap:28px;font-size:var(--type-size-nav);color:var(--color-text-strong-muted)}

.navactions{display:flex;gap:9px;margin-left:8px}
.desktop-lang{margin-left:12px;flex:0 0 auto}
.lang-switch{display:flex;align-items:center;padding:3px;border:1px solid var(--color-border);border-radius:var(--primitive-radius-segmented);background:var(--color-surface-1)}
.lang-switch button{min-width:34px;height:29px;padding:0 8px;border:0;border-radius:var(--primitive-radius-compact);background:transparent;color:var(--color-text-tertiary);font:inherit;font-size:var(--type-size-label);font-weight:var(--primitive-font-weight-bold);cursor:pointer}

.lang-switch button:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}
@media(max-width:1080px){.desktop-lang{display:none}.navlinks{flex:none;justify-content:flex-start}}

.btn{min-height:var(--control-height-action);padding:0 var(--control-inline-padding);border:1px solid var(--color-border);border-radius:var(--primitive-radius-control);background:transparent;color:var(--color-text);font-weight:var(--primitive-font-weight-control);cursor:pointer}


.btn:hover{filter:brightness(1.06)}
.mobile-controls{display:none;align-items:center;gap:8px;margin-left:auto}
.mobile-controls .lang-switch{flex:0 0 auto}
.mobile-cta{min-height:36px;padding:0 11px;font-size:var(--type-size-label)}
.mobile-bottom-nav{display:none}
.mobile-bottom-nav a{position:relative;display:flex;flex:1;min-width:0;height:58px;align-items:center;justify-content:center;flex-direction:column;gap:3px;color:var(--color-text-tertiary);font-size:8px;font-weight:var(--primitive-font-weight-bold);text-align:center}
.mobile-bottom-nav a svg{width:17px;height:17px;stroke:currentColor;stroke-width:1.7;fill:none;stroke-linecap:round;stroke-linejoin:round}
.mobile-bottom-nav a.active{color:var(--color-text)}
.mobile-bottom-nav a.active::before{content:'';position:absolute;top:0;left:50%;width:24px;height:2px;border-radius:var(--primitive-radius-round);background:var(--color-accent);transform:translateX(-50%)}
.mobile-bottom-nav a:focus-visible{outline:2px solid var(--color-accent);outline-offset:-3px}

.hero{padding:92px 0 86px;display:grid;grid-template-columns:minmax(0,.88fr) minmax(430px,1.12fr);gap:72px;align-items:center}
.eyebrow{font-size:var(--type-size-label);letter-spacing:var(--type-tracking-eyebrow);text-transform:uppercase;color:var(--color-text-dim);margin-bottom:12px}
.hero h1,.section h2{margin:0;line-height:1.025;letter-spacing:var(--type-tracking-display)}
.hero h1{font-size:clamp(43px,5vw,67px);max-width:630px}
.lead{font-size:var(--type-size-body);color:var(--color-text-muted);max-width:570px;margin:22px 0}
.actions{display:flex;gap:10px;flex-wrap:wrap}
.proof{display:flex;gap:19px;flex-wrap:wrap;margin-top:19px;color:var(--color-text-tertiary);font-size:var(--type-size-ui)}
.proof span:before{content:'✓';color:var(--color-accent);margin-right:6px}

.product{border:1px solid var(--color-border);border-radius:var(--primitive-radius-card);background:var(--color-surface-1);overflow:hidden}
.product-head{min-height:54px;padding:9px 17px;display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid var(--color-border);font-size:var(--type-size-body-sm)}
.chips{display:flex;gap:5px;flex-wrap:wrap}
.chip{min-height:32px;padding:0 10px;border:1px solid var(--color-border);border-radius:var(--primitive-radius-compact);background:var(--color-surface-2);color:var(--color-text-secondary);font-size:var(--type-size-label);cursor:pointer}
.chip.active{background:var(--color-accent);border-color:var(--color-accent);color:var(--color-on-accent)}
.product-body{padding:19px}
.summary{display:grid;grid-template-columns:1.2fr repeat(3,.7fr);margin:-19px -19px 15px;border-bottom:1px solid var(--color-border)}
.summary-main,.macro{padding:20px 17px}
.macro{border-left:1px solid var(--color-border)}
.big{font-size:35px;font-weight:var(--primitive-font-weight-strong);letter-spacing:-.04em}
.sub{font-size:var(--type-size-label);color:var(--color-text-dim)}
.macro b{font-size:var(--type-size-body-md)}
.bar{height:3px;background:var(--color-border-subtle);margin-top:8px}
.bar i{display:block;height:100%;background:var(--color-macro)}
.meal{border-bottom:1px solid var(--color-border-hairline)}
.meal>button{width:100%;padding:13px 0;border:0;background:transparent;color:var(--color-text);display:grid;grid-template-columns:1fr auto 18px;gap:12px;align-items:center;text-align:left;cursor:pointer}
.meal small{display:block;color:var(--color-text-dim);margin-top:2px}
.meal-detail{display:none;padding:0 0 13px;color:var(--color-text-muted);font-size:var(--type-size-ui)}
.meal.open .meal-detail{display:block}
.chev{color:var(--color-text-dim);transition:transform var(--primitive-motion-standard)}
.meal.open .chev{transform:rotate(90deg)}

.section{padding:var(--layout-section-block) 0}
.section.divider{border-top:1px solid var(--color-border-hairline)}
.section h2{font-size:clamp(33px,3.8vw,51px)}
.copy{color:var(--color-text-muted);max-width:500px}
.features{display:grid;grid-template-columns:270px minmax(0,1fr);gap:50px}
.feature-tabs{display:grid;margin-top:28px}
.feature-tab{height:49px;border:0;border-bottom:1px solid var(--color-border-subtle);background:transparent;color:var(--color-text-secondary);text-align:left;padding:0 13px;font-weight:var(--primitive-font-weight-control);cursor:pointer}
.feature-tab.active{color:var(--color-text);background:var(--color-surface-selected);border-left:2px solid var(--color-accent)}
.feature-stage{min-height:460px}
.feature-copy{display:grid;grid-template-columns:1fr 1fr;gap:26px;margin-top:18px;color:var(--color-text-muted);font-size:var(--type-size-body-sm)}

.training-modules{display:grid;grid-template-columns:repeat(4,1fr);border-bottom:1px solid var(--color-border);margin:-19px -19px 18px}
.training-module{min-height:48px;border:0;border-right:1px solid var(--color-border-subtle);background:var(--color-chrome);color:var(--color-text-tertiary);font-size:var(--type-size-ui);font-weight:var(--primitive-font-weight-control);cursor:pointer}

.training-module.active{color:var(--color-accent);background:var(--color-surface-selected);box-shadow:inset 0 -2px var(--color-accent)}
.cardio-sports{display:flex;gap:6px;overflow-x:auto;padding:14px 0 12px;scrollbar-width:thin}
.cardio-sport{flex:0 0 auto;min-height:35px;padding:0 11px;border:1px solid var(--color-border);border-radius:var(--primitive-radius-compact);background:var(--color-surface-1);color:var(--color-text-tertiary);font-size:var(--type-size-label);font-weight:var(--primitive-font-weight-control);cursor:pointer;white-space:nowrap}
.cardio-sport.active{border-color:var(--color-accent);background:var(--color-surface-selected);color:var(--color-accent)}
.cardio-sport-summary{display:grid;grid-template-columns:1fr auto;gap:18px;align-items:end;padding:5px 0 15px;border-bottom:1px solid var(--color-border-subtle)}
.cardio-sport-summary h4{margin:0 0 3px;font-size:var(--type-size-body)}
.cardio-sport-summary p{margin:0;color:var(--color-text-muted);font-size:var(--type-size-label)}
.cardio-sport-summary .sport-stat{text-align:right}
.cardio-sport-summary .sport-stat strong{display:block;font-size:var(--type-size-card-title)}
.cardio-sport-summary .sport-stat small{display:block;color:var(--color-text-dim);font-size:var(--type-size-caption)}









.route-map-local{position:relative;margin:10px 0 0;border:1px solid var(--color-map-border);border-radius:var(--primitive-radius-map);overflow:hidden;background:var(--color-map-background);box-shadow:var(--shadow-map);aspect-ratio:964/500}
.route-map-local img{display:block;width:100%;height:100%;object-fit:cover;object-position:center top}
.route-map-local::after{content:'';position:absolute;inset:0;pointer-events:none;box-shadow:var(--shadow-surface-inset)}
.cardio-map-integrated{margin:10px 0 0}
.cardio-map-toolbar{display:flex;align-items:center;min-height:38px;padding:0 2px;color:var(--color-text-muted)}
.cardio-map-toolbar .route-label{display:flex;align-items:center;gap:6px}
.cardio-map-toolbar .route-label i{width:7px;height:7px;border-radius:50%;background:var(--color-route);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-route) 12%,transparent)}
.cardio-map-toolbar strong{color:var(--color-text);font-size:var(--type-size-ui)}
.cardio-map-toolbar span{color:var(--color-text-muted);font-size:var(--type-size-caption)}
.route-caption{margin:8px 2px 0;color:var(--color-text-tertiary);font-size:var(--type-size-caption);line-height:var(--type-line-height-body)}
@media(max-width:620px){
 .route-map-local{aspect-ratio:4/3;border-radius:var(--primitive-radius-floating)}
 .route-map-local img{object-position:center top}
 .cardio-map-toolbar{min-height:34px}
 .route-caption{font-size:var(--type-size-label)}
}









.module-summary{display:grid;grid-template-columns:1fr auto;gap:18px;align-items:end;padding:0 0 17px;border-bottom:1px solid var(--color-border-subtle)}
.module-summary h3{margin:0 0 4px;font-size:var(--type-size-card-title);letter-spacing:var(--type-tracking-heading)}
.module-summary p{margin:0;color:var(--color-text-muted);font-size:var(--type-size-ui)}
.module-metric{text-align:right}
.module-metric strong{display:block;font-size:24px;line-height:1}
.module-metric small{color:var(--color-text-dim);font-size:var(--type-size-caption)}
.days{display:flex;gap:7px;overflow:auto;margin:16px 0 8px}
.day{min-width:54px;height:54px;border:1px solid var(--color-border);border-radius:var(--primitive-radius-control);background:transparent;color:var(--color-text-tertiary);cursor:pointer}
.day b,.day small{display:block}
.day b{font-size:var(--type-size-ui)}
.day small{font-size:var(--type-size-caption)}
.day.active{border-color:var(--color-accent);color:var(--color-accent);background:var(--color-surface-selected)}
.exercise{border-bottom:1px solid var(--color-border-subtle)}
.exercise>button{width:100%;min-height:54px;border:0;background:transparent;color:var(--color-text);display:grid;grid-template-columns:1fr auto 18px;gap:14px;align-items:center;text-align:left;cursor:pointer}
.exercise strong{display:block}
.exercise small{display:block;color:var(--color-text-dim);margin-top:2px}
.exercise-detail{display:none;padding:0 0 14px;color:var(--color-text-muted);font-size:var(--type-size-ui)}
.exercise.open .exercise-detail{display:block}
.metric-good{color:var(--color-success)}

.flow{display:grid;grid-template-columns:minmax(280px,.72fr) minmax(0,1.28fr);gap:72px;align-items:center}
.flow-list{list-style:none;padding:0;margin:23px 0 0;color:var(--color-text-secondary);font-size:var(--type-size-body-sm)}
.flow-list li+li{margin-top:10px}
.flow-list li:before{content:'✓';color:var(--color-accent);margin-right:8px}


.privacy{display:grid;grid-template-columns:minmax(280px,.8fr) minmax(0,1.2fr);gap:88px}
.facts{border-top:1px solid var(--color-border)}
.fact{display:grid;grid-template-columns:28px 1fr auto;gap:14px;padding:17px 0;border-bottom:1px solid var(--color-border)}
.fact-icon{color:var(--color-accent)}
.fact strong{font-size:var(--type-size-nav)}
.fact p{margin:4px 0 0;color:var(--color-text-muted);font-size:var(--type-size-ui)}
.fact button{border:0;background:transparent;color:var(--color-text-dim);cursor:pointer}
.fact-extra{display:none;grid-column:2/4;color:var(--color-text-tertiary);font-size:var(--type-size-ui)}
.fact.open .fact-extra{display:block}

.pricing-intro{display:grid;grid-template-columns:.85fr 1.15fr;gap:80px;align-items:end;margin-bottom:38px}
.pricing-note{color:var(--color-text-muted);max-width:500px}
.price-row{border-top:1px solid var(--color-border);display:grid;grid-template-columns:1.2fr .5fr 1fr auto;gap:28px;align-items:center;padding:26px 0}
.price-row+.price-row{border-top:1px solid var(--color-border)}
.price-row h3{margin:0 0 4px;font-size:18px}
.price-row p{margin:0;color:var(--color-text-secondary);font-size:var(--type-size-ui)}
.price{font-size:27px;font-weight:var(--primitive-font-weight-strong);white-space:nowrap}
.price small{font-size:var(--type-size-label);font-weight:var(--primitive-font-weight-medium);color:var(--color-text-dim)}
.features-list{list-style:none;padding:0;margin:0;color:var(--color-text-secondary);font-size:var(--type-size-label)}
.features-list li+li{margin-top:5px}
.features-list li:before{content:'✓';color:var(--color-accent);margin-right:7px}
.pro-area{margin-top:14px;background:var(--color-surface-selected);border:1px solid var(--color-border-strong);border-radius:var(--primitive-radius-card);padding:25px 22px}
.pro-head{display:grid;grid-template-columns:1fr auto;gap:25px;align-items:start;margin-bottom:22px}
.pro-head h3{font-size:var(--type-size-card-title);margin:0 0 5px}
.pro-head p{margin:0;color:var(--color-text-secondary);font-size:var(--type-size-ui)}
.selected-total{text-align:right}
.selected-total .price{font-size:29px}
.selected-total small{display:block;color:var(--color-text-dim);font-size:var(--type-size-label)}
.periods{display:grid;border-top:1px solid var(--color-border)}
.period{width:100%;border:0;border-bottom:1px solid var(--color-border);background:transparent;color:var(--color-text);display:grid;grid-template-columns:22px 1fr auto;gap:12px;align-items:center;text-align:left;padding:13px 2px;cursor:pointer}
.radio{width:15px;height:15px;border:1px solid var(--color-text-dim);border-radius:50%;display:grid;place-items:center}
.period.active .radio{border-color:var(--color-accent)}
.period.active .radio:after{content:'';width:7px;height:7px;border-radius:50%;background:var(--color-accent)}
.period strong{font-size:var(--type-size-body-sm)}
.period span small{display:block;color:var(--color-text-dim);font-size:var(--type-size-caption);margin-top:2px}
.period-price{text-align:right;font-size:var(--type-size-body-sm);font-weight:var(--primitive-font-weight-bold)}
.period.active{background:var(--color-surface-selected)}
.pro-bottom{display:grid;grid-template-columns:1fr auto;gap:25px;align-items:center;padding-top:20px}
.saving{font-size:var(--type-size-ui);color:var(--color-success);min-height:16px}
.pro-cta{min-width:210px}

.faq-layout{display:grid;grid-template-columns:.7fr 1.3fr;gap:76px}
.faq{border-top:1px solid var(--color-border)}
.faq-item{border-bottom:1px solid var(--color-border)}
.faq-item>button{width:100%;min-height:58px;border:0;background:transparent;color:var(--color-text);display:flex;justify-content:space-between;align-items:center;text-align:left;font-weight:var(--primitive-font-weight-control);cursor:pointer}
.faq-answer{display:none;padding:0 32px 17px 0;color:var(--color-text-muted);font-size:var(--type-size-body-sm)}
.faq-item.open .faq-answer{display:block}
.plus{transition:transform var(--primitive-motion-standard)}
.faq-item.open .plus{transform:rotate(45deg)}

.footer{background:var(--color-background-subtle);padding:74px 0 48px}
.footer-layout{display:grid;grid-template-columns:minmax(0,1.4fr) .55fr .55fr;gap:78px}
.footer-main h2{margin:0 0 13px;font-size:clamp(35px,4vw,52px);line-height:1.02;letter-spacing:var(--type-tracking-display);max-width:650px}
.footer-main>p{margin:0;color:var(--color-text-muted);max-width:550px}
.footer-main .actions{margin-top:26px}
.footer-brand{margin-top:60px}
.footer-brand .logo{margin:0}
.copyright{margin-top:10px;color:var(--color-text-dim);font-size:var(--type-size-label)}
.footer-title{font-size:var(--type-size-label);text-transform:uppercase;letter-spacing:.13em;color:var(--color-text-dim);margin-bottom:14px}
.footer-col{display:grid;align-content:start;gap:10px}
.footer-col a{font-size:var(--type-size-body-sm);color:var(--color-text-footer)}
.footer-col a:hover{color:var(--color-text)}

@media(max-width:720px){
 .header .wrap{width:min(100%,calc(100% - 28px))}
 .nav{height:66px;gap:10px}
 .navlinks,.navactions,.desktop-lang{display:none}
 .mobile-controls{display:flex}
 .mobile-bottom-nav{position:fixed;z-index:999;left:10px;right:10px;bottom:10px;display:flex;border:1px solid var(--color-border);border-radius:var(--primitive-radius-floating);background:var(--color-header-glass);backdrop-filter:blur(14px);box-shadow:var(--shadow-floating-nav);overflow:hidden}
 main{padding-top:66px;padding-bottom:84px}
 section[id]{scroll-margin-top:82px}
 .hero,.flow,.privacy,.pricing-intro{grid-template-columns:1fr;gap:38px}
 .hero{padding:64px 0}.features{grid-template-columns:1fr}
 .feature-tabs{grid-template-columns:repeat(4,1fr);overflow:auto}
 .feature-tab{min-width:110px;border-left:0}.feature-tab.active{border-left:0;border-bottom:2px solid var(--color-accent)}
 .feature-copy{grid-template-columns:1fr}
 .training-modules{grid-template-columns:repeat(2,1fr)}
 .training-module:nth-child(2){border-right:0}.training-module:nth-child(-n+2){border-bottom:1px solid var(--color-border-subtle)}
 .price-row{grid-template-columns:1fr auto}.price-row .features-list,.price-row .btn{grid-column:1/-1}
 .pro-head,.pro-bottom{grid-template-columns:1fr}.selected-total{text-align:left}.pro-cta{min-width:0;justify-self:start}
 .stats{grid-template-columns:repeat(2,1fr)}.faq-layout{grid-template-columns:1fr;gap:36px}
 .footer-layout{grid-template-columns:1fr 1fr;gap:44px}.footer-main{grid-column:1/-1}
}
@media(max-width:520px){
 .wrap{width:calc(100% - 28px)}.nav{height:62px}
 
 .logo-image img{width:102px;max-width:29vw}
 .mobile-controls{gap:5px}
 .mobile-controls .lang-switch button{min-width:29px;padding:0 5px}
 .mobile-cta{display:none}
 .mobile-bottom-nav{left:8px;right:8px;bottom:8px}
 .mobile-bottom-nav a{height:56px;font-size:7.5px}
 main{padding-top:62px;padding-bottom:78px}
 section[id]{scroll-margin-top:78px}.hero h1{font-size:41px}.section{padding:60px 0}.section h2{font-size:33px}
 .summary{grid-template-columns:1fr 1fr}.summary-main{grid-column:1/-1}.macro:first-of-type{border-left:0}.summary .macro:last-child{grid-column:1/-1;border-left:0;border-top:1px solid var(--color-border)}
 .chart{height:195px;gap:6px}.price-row{grid-template-columns:1fr}.period{grid-template-columns:20px 1fr auto}
 .mobile-actions{grid-template-columns:1fr}.footer{padding-top:58px}.footer-layout{grid-template-columns:1fr}.footer-main{grid-column:auto}
}


img,svg{max-width:100%}
.hero>*,.features>*,.flow>*,.privacy>*,.pricing-intro>*,.faq-layout>*,.footer-layout>*,.price-row>*,.cardio-sport-summary>*,.module-summary>*{min-width:0}
.lead,.copy,.price-row p,.pro-head p,.faq-answer,.fact p,.module-summary p,.cardio-sport-summary p{overflow-wrap:anywhere}


.route-map-local{aspect-ratio:964/552}
.route-map-local img{object-fit:cover;object-position:center}


@media(max-width:1080px) and (min-width:721px){
 .wrap{width:min(100% - 36px,1040px)}
 .nav{gap:18px}
 .logo-image img{width:124px;max-width:none}
 .navlinks{gap:17px;font-size:var(--type-size-body-sm)}
 .desktop-lang{margin-left:2px}
 .navactions{margin-left:0}
 .navactions .btn:first-child{display:none}
 .navactions .btn.primary{min-height:40px;padding:0 13px;font-size:var(--type-size-ui)}
}


@media(max-width:1080px){
 .hero,.flow,.privacy,.pricing-intro{grid-template-columns:1fr;gap:38px}
 .hero{padding:68px 0 72px}
 .hero .product,.flow .chart-card{width:100%}
 .features{grid-template-columns:1fr;gap:30px}
 .feature-tabs{grid-template-columns:repeat(4,minmax(0,1fr));margin-top:22px}
 .feature-tab{min-width:0;text-align:center;border-left:0}
 .feature-tab.active{border-left:0;border-bottom:2px solid var(--color-accent)}
 .feature-stage{min-height:0}
 .pricing-intro{align-items:start;margin-bottom:30px}
 .faq-layout{gap:42px}
 .footer-layout{gap:48px}
}


@media(max-width:720px){
 .header{padding-top:env(safe-area-inset-top)}
 main{padding-top:calc(66px + env(safe-area-inset-top));padding-bottom:calc(86px + env(safe-area-inset-bottom))}
 section[id]{scroll-margin-top:calc(82px + env(safe-area-inset-top))}
 .mobile-bottom-nav{
  left:50%;right:auto;bottom:calc(10px + env(safe-area-inset-bottom));
  width:min(calc(100% - 20px),580px);transform:translateX(-50%);
 }
 .mobile-bottom-nav a{font-size:9.5px}
 .footer{padding-bottom:calc(106px + env(safe-area-inset-bottom))}
 .product-body{padding:16px}
 .summary{margin:-16px -16px 15px}
 .training-modules{margin:-16px -16px 18px}
 .feature-stage{min-height:0}
 .price-row{gap:18px}
 .price-row .btn{justify-self:start}
 .pro-area{padding:22px 18px}
}


@media(max-width:620px){
 .hero{padding:52px 0 58px;gap:30px}
 .section{padding:64px 0}
 .feature-tabs{
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:1px;overflow:visible;background:var(--color-border-subtle);
 }
 .feature-tab{
  min-width:0;height:46px;border:0;background:var(--color-chrome);text-align:center;padding:0 8px;
 }
 .feature-tab.active{border:0;box-shadow:inset 0 -2px var(--color-accent)}
 .feature-copy{gap:16px}
 .product-head{padding:11px 14px}
 .chips{justify-content:flex-end}
 .training-module{padding:0 8px}
 .cardio-sport-summary,.module-summary{grid-template-columns:1fr;gap:10px;align-items:start}
 .cardio-sport-summary .sport-stat,.module-metric{text-align:left}
 .cardio-map-toolbar{min-height:34px;flex-wrap:wrap;gap:4px 10px}
 .route-map-local{aspect-ratio:964/552;border-radius:var(--primitive-radius-map-compact)}
 .chart-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
 .chart-tabs button{min-width:0;padding:0 8px}
 .range{padding:12px}
 .chart{padding-inline:12px}
 .stats{padding-inline:12px}
 .fact{gap:10px}
 .price-row{padding:22px 0}
 .pro-area{padding:19px 16px}
 .period{grid-template-columns:20px minmax(0,1fr) auto;gap:8px}
 .faq-item>button{gap:18px}
 .footer-layout{gap:34px}
 .footer-brand{margin-top:42px}
}


@media(max-width:520px){
 .header .wrap{width:calc(100% - 20px)}
 main{padding-top:calc(62px + env(safe-area-inset-top));padding-bottom:calc(82px + env(safe-area-inset-bottom))}
 section[id]{scroll-margin-top:calc(78px + env(safe-area-inset-top))}
 .mobile-bottom-nav{bottom:calc(8px + env(safe-area-inset-bottom));width:calc(100% - 16px)}
 .mobile-bottom-nav a{height:58px;font-size:var(--type-size-caption)}
 .hero{padding:48px 0 52px}
 .hero h1{font-size:clamp(34px,10.5vw,41px)}
 .section{padding:56px 0}
 .section h2{font-size:clamp(29px,9vw,33px)}
 .lead{font-size:var(--type-size-body-md)}
 .proof{gap:9px 15px}
 .product-head{align-items:flex-start}
 .summary-main,.macro{padding:17px 14px}
 .big{font-size:31px}
 .feature-copy{grid-template-columns:1fr}
 .training-module{font-size:var(--type-size-label)}
 .cardio-sports{margin-inline:-2px;padding-bottom:10px}
 .days{margin-right:-14px;padding-right:14px}
 .exercise>button{grid-template-columns:minmax(0,1fr) auto 16px;gap:8px}
 .chart{height:190px;gap:5px}
 .barcol .bar-label{font-size:8px}
 .price-row{grid-template-columns:1fr;gap:14px}
 .price-row .features-list,.price-row .btn{grid-column:auto}
 .price-row .btn,.pro-cta{width:100%;justify-self:stretch}
 .pro-head,.pro-bottom{gap:16px}
 .period{padding:12px 0}
 .period-price{font-size:var(--type-size-ui)}
 .faq-layout{gap:28px}
 .footer{padding-top:54px}
 .footer-main .actions{display:grid}
 .footer-main .btn{width:100%}
}


@media(max-width:380px){
 .wrap{width:calc(100% - 22px)}
 .header .wrap{width:calc(100% - 16px)}
 .logo-image img{width:96px;max-width:31vw}
 .mobile-controls .lang-switch{padding:2px}
 .mobile-controls .lang-switch button{min-width:28px;height:28px;padding:0 4px}
 .summary{grid-template-columns:1fr 1fr}
 .training-modules{grid-template-columns:1fr 1fr}
 .training-module{font-size:9.5px}
 .cardio-sport{min-height:34px;padding-inline:9px}
 .fact{grid-template-columns:22px minmax(0,1fr) auto}
 .fact-extra{grid-column:2/-1}
 .period{grid-template-columns:18px minmax(0,1fr) auto}
 .period span small{font-size:8px}
 .mobile-bottom-nav a{font-size:8.5px}
}


@media(max-width:720px) and (max-height:520px) and (orientation:landscape){
 .nav{height:56px}
 main{padding-top:calc(56px + env(safe-area-inset-top))}
 section[id]{scroll-margin-top:calc(68px + env(safe-area-inset-top))}
 .mobile-bottom-nav{bottom:calc(6px + env(safe-area-inset-bottom))}
 .mobile-bottom-nav a{height:48px;flex-direction:row;gap:6px;font-size:var(--type-size-caption)}
 .mobile-bottom-nav a svg{width:15px;height:15px}
 .hero{padding-top:38px}
}



.hero{align-items:start}
.hero>.product{align-self:start;margin-top:38px}
@media(max-width:1080px){
 .hero>.product{margin-top:0}
}





.btn{
 min-height:var(--control-height-action);
 padding:0 17px;
 border:1px solid var(--control-border);
 border-radius:var(--control-radius);
 background:transparent;
 color:var(--color-text);
 font-weight:var(--primitive-font-weight-control);
 cursor:pointer;
 transition:background var(--primitive-motion-fast) ease,border-color var(--primitive-motion-fast) ease,color var(--primitive-motion-fast) ease,filter var(--primitive-motion-fast) ease;
}

.btn.primary{background:var(--color-accent);border-color:var(--color-accent);color:var(--color-on-accent)}
.btn.primary:hover{filter:brightness(1.045);background:var(--color-accent)}
.btn.small{min-height:var(--control-height-small-action);padding:0 13px;font-size:var(--type-size-ui)}


.chip,
.range button,
.cardio-sport{
 min-height:var(--control-height-compact);
 height:auto;
 padding:0 11px;
 border:1px solid var(--control-border);
 border-radius:var(--control-radius);
 background:var(--control-background);
 color:var(--control-text);
 font:inherit;
 font-size:var(--type-size-label);
 font-weight:var(--primitive-font-weight-control);
 cursor:pointer;
 white-space:nowrap;
 transition:background var(--primitive-motion-fast) ease,border-color var(--primitive-motion-fast) ease,color var(--primitive-motion-fast) ease;
}
.chip:hover,
.range button:hover,
.cardio-sport:hover{background:var(--control-background-hover);color:var(--color-text)}
.chip.active,
.range button.active,
.cardio-sport.active{
 background:var(--control-background-selected);
 border-color:var(--control-background-selected);
 color:var(--control-text-selected);
}


.training-module,
.chart-tabs button{
 min-height:var(--control-height-tab);
 border:0;
 border-bottom:2px solid transparent;
 border-radius:0;
 background:var(--color-chrome);
 color:var(--color-text-tertiary);
 font:inherit;
 font-size:var(--type-size-ui);
 font-weight:var(--primitive-font-weight-control);
 cursor:pointer;
 transition:background var(--primitive-motion-fast) ease,color var(--primitive-motion-fast) ease,border-color var(--primitive-motion-fast) ease;
}
.training-module:hover,
.chart-tabs button:hover{background:var(--tab-background-selected);color:var(--color-text)}
.training-module.active,
.chart-tabs button.active{
 background:var(--tab-background-selected);
 color:var(--color-text);
 border-bottom-color:var(--color-accent);
 box-shadow:none;
}
.training-module{border-right:1px solid var(--color-border-subtle)}
.training-module:last-child{border-right:0}

.feature-tab{
 min-height:49px;
 height:auto;
 border:0;
 border-bottom:1px solid var(--color-border-subtle);
 border-left:2px solid transparent;
 border-radius:0;
 background:transparent;
 color:var(--color-text-secondary);
 padding:0 13px;
 font:inherit;
 font-weight:var(--primitive-font-weight-control);
 cursor:pointer;
 transition:background var(--primitive-motion-fast) ease,color var(--primitive-motion-fast) ease,border-color var(--primitive-motion-fast) ease;
}
.feature-tab:hover{background:var(--color-surface-1);color:var(--color-text)}
.feature-tab.active{
 color:var(--color-text);
 background:var(--tab-background-selected);
 border-left-color:var(--color-accent);
}


.day{
 min-width:54px;
 height:54px;
 border:1px solid var(--control-border);
 border-radius:var(--control-radius);
 background:var(--control-background);
 color:var(--control-text);
 cursor:pointer;
 transition:background var(--primitive-motion-fast) ease,border-color var(--primitive-motion-fast) ease,color var(--primitive-motion-fast) ease;
}
.day:hover{background:var(--control-background-hover);color:var(--color-text)}
.day.active{background:var(--color-accent);border-color:var(--color-accent);color:var(--color-on-accent)}


.lang-switch{padding:3px;border-radius:var(--primitive-radius-segmented);background:var(--color-surface-1)}
.lang-switch button{
 min-width:34px;height:29px;padding:0 8px;border:0;border-radius:var(--primitive-radius-compact);
 background:transparent;color:var(--control-text);font:inherit;font-size:var(--type-size-label);font-weight:var(--primitive-font-weight-bold);cursor:pointer;
}
.lang-switch button:hover{background:var(--control-background-hover);color:var(--color-text)}
.lang-switch button.active{background:var(--color-surface-hover);color:var(--color-text)}


.meal>button,
.exercise>button,
.faq-item>button{
 border-radius:var(--primitive-radius-xs);
 transition:background var(--primitive-motion-fast) ease;
}
.meal>button:hover,
.exercise>button:hover,
.faq-item>button:hover{background:var(--color-row-hover)}


.fact button{
 width:30px;height:30px;padding:0;
 display:inline-grid;place-items:center;
 border:1px solid var(--control-border);
 border-radius:var(--control-radius);
 background:transparent;
 color:var(--color-text-secondary);
 font:inherit;
 cursor:pointer;
 transition:background var(--primitive-motion-fast) ease,border-color var(--primitive-motion-fast) ease,color var(--primitive-motion-fast) ease;
}
.fact button:hover{background:var(--control-background-hover);color:var(--color-text)}


button:focus-visible,
a.btn:focus-visible,
.mobile-bottom-nav a:focus-visible{
 outline:2px solid var(--color-accent);
 outline-offset:2px;
}


@media(max-width:1080px){
 .feature-tab{
  border-left:0;
  border-bottom:2px solid transparent;
  text-align:center;
 }
 .feature-tab.active{
  border-left:0;
  border-bottom-color:var(--color-accent);
 }
}
@media(max-width:620px){
 .feature-tab.active{box-shadow:none;border-bottom-color:var(--color-accent)}
}



.section-label{
 color:var(--color-text-tertiary);
 font-size:var(--type-size-label);
 font-weight:var(--primitive-font-weight-bold);
 letter-spacing:var(--type-tracking-eyebrow);
 text-transform:uppercase;
}


.product-led-head{
 display:grid;
 grid-template-columns:minmax(0,1fr) auto;
 align-items:end;
 gap:42px;
 margin-bottom:24px;
}
.product-led-head h2{max-width:620px;margin-top:8px}
.product-led-head p{
 max-width:690px;
 margin:14px 0 0;
 color:var(--color-text-muted);
 font-size:var(--type-size-body-md);
}
.section-product-led .feature-tabs{
 display:flex;
 align-items:end;
 margin:0;
 border-bottom:1px solid var(--color-border-subtle);
}
.section-product-led .feature-tab{
 min-width:92px;
 min-height:44px;
 padding:0 12px;
 border-left:0;
 border-bottom:2px solid transparent;
 text-align:center;
 background:transparent;
}
.section-product-led .feature-tab.active{
 border-left:0;
 border-bottom-color:var(--color-accent);
 background:var(--color-surface-selected);
}
.section-product-led .feature-stage{min-height:0}
.section-product-led .feature-copy{
 max-width:780px;
 margin:16px 0 0 auto;
 grid-template-columns:1fr 1fr;
}


.process-intro{
 display:grid;
 grid-template-columns:minmax(300px,.8fr) minmax(0,1.2fr);
 gap:70px;
 align-items:end;
 margin-bottom:28px;
}
.process-intro h2{margin-top:8px}
.process-intro p{
 margin:0;
 max-width:720px;
 color:var(--color-text-muted);
 font-size:var(--type-size-body-md);
}



.privacy-ledger-head{
 display:grid;
 grid-template-columns:190px minmax(0,.9fr) minmax(0,1.1fr);
 gap:34px;
 align-items:start;
 margin-bottom:26px;
}
.privacy-ledger-head h2{margin:0}
.privacy-ledger-head p{
 margin:2px 0 0;
 color:var(--color-text-muted);
 font-size:var(--type-size-body-md);
}
.privacy-ledger .fact{
 grid-template-columns:116px minmax(0,1fr) auto;
 align-items:start;
 padding:18px 0;
}
.privacy-state{
 color:var(--color-accent);
 font-size:var(--type-size-label);
 font-weight:var(--primitive-font-weight-bold);
 letter-spacing:.08em;
}
.privacy-ledger .fact-extra{grid-column:2/4}


.pricing-intro-direct{
 display:block;
 max-width:760px;
 margin-bottom:32px;
}
.pricing-intro-direct h2{margin:8px 0 0}
.pricing-intro-direct .pricing-note{margin:14px 0 0;max-width:720px}


.faq-head{
 display:flex;
 justify-content:space-between;
 align-items:end;
 gap:40px;
 margin-bottom:18px;
}
.faq-head h2{max-width:680px;margin:0}
.section-faq-direct .faq{width:100%}
.section-faq-direct .faq-item>button{min-height:64px}

@media(max-width:1080px){
 .product-led-head,
 .process-intro,
 .privacy-ledger-head{grid-template-columns:1fr;gap:20px}
 .section-product-led .feature-tabs{justify-content:stretch}
 .section-product-led .feature-tab{flex:1;min-width:0}
 .privacy-ledger-head{max-width:760px}
 .faq-head{display:block}
 .faq-head .section-label{margin-bottom:8px}
}
@media(max-width:620px){
 .product-led-head{margin-bottom:18px}
 .section-product-led .feature-tabs{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  border-bottom:0;
  gap:1px;
  background:var(--color-border-subtle);
 }
 .section-product-led .feature-tab{background:var(--color-chrome)}
 .section-product-led .feature-copy{grid-template-columns:1fr}
 .privacy-ledger .fact{grid-template-columns:1fr auto;gap:8px 12px}
 .privacy-state{grid-column:1/2}
 .privacy-ledger .fact>div:nth-of-type(1){grid-column:1/-1}
 .privacy-ledger .fact>button{grid-column:2;grid-row:1}
 .privacy-ledger .fact-extra{grid-column:1/-1}
}



.public-main{min-height:70vh}
.public-hero{padding:78px 0 54px;border-bottom:1px solid var(--color-border-subtle)}
.public-hero-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(260px,.7fr);gap:70px;align-items:end}
.public-kicker{color:var(--color-text-tertiary);font-size:var(--type-size-label);font-weight:var(--primitive-font-weight-bold);letter-spacing:var(--type-tracking-eyebrow);text-transform:uppercase;margin-bottom:12px}
.public-hero h1{margin:0;font-size:clamp(43px,5vw,66px);line-height:1.02;letter-spacing:var(--type-tracking-display)}
.public-hero .intro{max-width:760px;margin:18px 0 0;color:var(--color-text-muted);font-size:var(--type-size-body);line-height:1.7}
.public-meta{border-top:1px solid var(--color-border);padding-top:14px;display:grid;gap:10px}
.public-meta-row{display:grid;grid-template-columns:112px 1fr;gap:12px;font-size:var(--type-size-body-sm)}
.public-meta-row span{color:var(--color-text-tertiary)}
.public-meta-row strong{color:var(--color-text);font-weight:var(--primitive-font-weight-control)}
.public-highlights{display:grid;grid-template-columns:repeat(3,1fr);border-bottom:1px solid var(--color-border-subtle)}
.public-highlight{padding:19px 0;border-right:1px solid var(--color-border-subtle)}
.public-highlight+.public-highlight{padding-left:22px}
.public-highlight:last-child{border-right:0}
.public-highlight small{display:block;color:var(--color-text-tertiary);font-size:var(--type-size-label);text-transform:uppercase;letter-spacing:.09em;margin-bottom:4px}
.public-highlight strong{font-size:var(--type-size-body-sm)}
.document-layout{display:grid;grid-template-columns:220px minmax(0,760px);gap:70px;align-items:start;padding:58px 0 88px}
.document-toc{position:sticky;top:calc(var(--layout-header-height) + 24px);display:grid;gap:4px}
.document-toc-title{color:var(--color-text-tertiary);font-size:var(--type-size-label);font-weight:var(--primitive-font-weight-bold);letter-spacing:.09em;text-transform:uppercase;margin-bottom:8px}
.document-toc a{display:block;padding:7px 9px;border-left:2px solid transparent;color:var(--color-text-secondary);font-size:var(--type-size-ui)}
.document-toc a:hover,.document-toc a.active{color:var(--color-text);background:var(--color-surface-1);border-left-color:var(--color-accent)}
.legal-document{min-width:0}
.legal-section{padding:0 0 38px;margin:0 0 38px;border-bottom:1px solid var(--color-border-subtle);scroll-margin-top:calc(var(--layout-header-height) + 24px)}
.legal-section:last-child{border-bottom:0;margin-bottom:0}
.legal-section h2{margin:0 0 15px;font-size:clamp(25px,3vw,34px);line-height:1.12;letter-spacing:var(--type-tracking-heading)}
.legal-section h3{margin:24px 0 8px;font-size:var(--type-size-body);letter-spacing:-.01em}
.legal-section p,.legal-section li{color:var(--color-text-muted);font-size:var(--type-size-body-md);line-height:1.72}
.legal-section p{margin:0 0 13px}
.legal-section ul,.legal-section ol{margin:12px 0 14px;padding-left:20px}
.legal-section li+li{margin-top:5px}
.legal-section strong{color:var(--color-text-strong-muted)}
.legal-note{margin:18px 0;padding:15px 16px;border-left:2px solid var(--color-accent);background:var(--color-surface-1);color:var(--color-text-muted);font-size:var(--type-size-body-sm);line-height:1.65}
.legal-note strong{color:var(--color-text)}
.legal-links{display:flex;gap:9px;flex-wrap:wrap;margin-top:18px}
.legal-inline-link{color:var(--color-text);text-decoration:underline;text-decoration-color:var(--color-border-strong);text-underline-offset:3px}
.legal-inline-link:hover{text-decoration-color:var(--color-accent)}

.contact-layout{display:grid;grid-template-columns:minmax(0,.75fr) minmax(420px,1.25fr);gap:74px;padding:58px 0 88px;align-items:start}
.contact-aside{display:grid;gap:30px}
.contact-route{padding:0 0 18px;border-bottom:1px solid var(--color-border-subtle)}
.contact-route small{display:block;color:var(--color-text-tertiary);font-size:var(--type-size-label);letter-spacing:.08em;text-transform:uppercase;margin-bottom:5px}
.contact-route strong{display:block;font-size:var(--type-size-body);margin-bottom:5px}
.contact-route p{margin:0;color:var(--color-text-muted);font-size:var(--type-size-body-sm);line-height:1.6}
.contact-form{border:1px solid var(--color-border);background:var(--color-surface-1);border-radius:var(--primitive-radius-card);padding:24px;box-shadow:var(--shadow-surface-inset)}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.field{display:grid;gap:8px}
.field.full{grid-column:1/-1}
.field label{color:var(--color-text-strong-muted);font-size:var(--type-size-ui);font-weight:var(--primitive-font-weight-control)}
.field input,.field select,.field textarea{width:100%;border:1px solid var(--color-border);border-radius:var(--primitive-radius-control);background:var(--color-background-subtle);color:var(--color-text);font:inherit;font-size:var(--type-size-body-sm);padding:0 12px;outline:0}
.field input,.field select{height:var(--control-height-action)}
.field textarea{min-height:180px;padding-top:11px;resize:vertical;line-height:1.6}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--color-accent)}
.field-hint{display:flex;justify-content:space-between;gap:14px;color:var(--color-text-tertiary);font-size:var(--type-size-label)}
.form-bottom{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:24px;padding-top:16px;border-top:1px solid var(--color-border-subtle)}
.form-privacy{max-width:430px;color:var(--color-text-tertiary);font-size:var(--type-size-label);line-height:1.55}
.hp-field{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}

.public-footer{padding-top:58px}
.public-footer .footer-main h2{font-size:clamp(30px,3.4vw,43px)}
.public-footer .footer-brand{margin-top:42px}
.public-navlinks{display:flex;flex:1;justify-content:center;align-items:center;gap:28px;font-size:var(--type-size-nav);color:var(--color-text-strong-muted)}
.public-navlinks a.active{color:var(--color-text)}
.public-navlinks a.active::after{content:'';display:block;height:2px;margin-top:5px;background:var(--color-accent);border-radius:var(--primitive-radius-round)}

@media(max-width:1080px){
 .public-hero-grid,.contact-layout{grid-template-columns:1fr;gap:32px}
 .public-meta{max-width:620px}
 .document-layout{grid-template-columns:1fr;gap:30px}
 .document-toc{position:static;display:flex;gap:4px;overflow-x:auto;padding-bottom:8px;scrollbar-width:none}
 .document-toc::-webkit-scrollbar{display:none}
 .document-toc-title{display:none}
 .document-toc a{flex:0 0 auto;border-left:0;border-bottom:2px solid transparent;white-space:nowrap}
 .document-toc a:hover,.document-toc a.active{border-left:0;border-bottom-color:var(--color-accent)}
 .legal-document{max-width:820px}
}
@media(max-width:720px){
 .public-navlinks,.public-actions,.public-desktop-lang{display:none}
 .public-mobile-controls{display:flex}
 .public-main{padding-bottom:calc(84px + env(safe-area-inset-bottom))}
 .public-footer{padding-bottom:calc(105px + env(safe-area-inset-bottom))}
}
@media(max-width:620px){
 .public-hero{padding:52px 0 38px}
 .public-highlights{grid-template-columns:1fr}
 .public-highlight,.public-highlight+.public-highlight{padding:14px 0;border-right:0;border-bottom:1px solid var(--color-border-subtle)}
 .public-highlight:last-child{border-bottom:0}
 .document-layout,.contact-layout{padding:38px 0 68px}
 .legal-section{padding-bottom:28px;margin-bottom:28px}
 .contact-form{padding:18px 15px}
 .form-grid{grid-template-columns:1fr}
 .field.full{grid-column:auto}
 .form-bottom{display:grid}
 .form-bottom .btn{width:100%}
 .public-meta-row{grid-template-columns:1fr;gap:2px}
}


.btn{
 display:inline-flex;
 align-items:center;
 justify-content:center;
 box-sizing:border-box;
 min-height:var(--control-height-action);
 padding:0 var(--control-inline-padding);
 border:1px solid var(--control-border);
 border-radius:var(--control-radius);
 background:transparent;
 color:var(--color-text);
 font:inherit;
 font-weight:var(--primitive-font-weight-control);
 line-height:1;
 text-align:center;
 text-decoration:none;
 white-space:nowrap;
 cursor:pointer;
 appearance:none;
 -webkit-appearance:none;
 transition:
  background var(--primitive-motion-fast) ease,
  border-color var(--primitive-motion-fast) ease,
  color var(--primitive-motion-fast) ease,
  filter var(--primitive-motion-fast) ease;
}
.btn:hover{background:var(--control-background-hover);filter:none}
.btn.primary{
 background:var(--color-accent);
 border-color:var(--color-accent);
 color:var(--color-on-accent);
}
.btn.primary:hover{background:var(--color-accent);filter:brightness(1.045)}
.btn.small{
 min-height:var(--control-height-small-action);
 padding-inline:13px;
 font-size:var(--type-size-ui);
}
.btn:focus-visible{
 outline:2px solid var(--color-focus);
 outline-offset:2px;
}



@media(max-width:620px){
  .legal-inline-link,.auth-link{display:inline-block;min-height:24px;line-height:24px}
  .auth-check input[type="checkbox"],.auth-check input[type="radio"]{width:24px;height:24px;min-width:24px;min-height:24px}
}
