:root {
  --core-bg: #123f40;
  --core-surface: #174c4d;
  --core-ink: #fff3db;
  --core-muted: #a8c5bf;
  --core-accent: #d9ff46;
  --core-accent-ink: #123f40;
  --core-display: "Unbounded", Arial, sans-serif;
  --core-radius: 18px;
}

body { font-family: "Manrope", Arial, sans-serif; }

.fit-header {
  position: fixed; z-index: 100; inset: 0 0 auto; height: 78px;
  display: grid; grid-template-columns: 1fr auto auto auto; align-items: center; gap: 34px;
  padding: 0 4vw; border-bottom: 1px solid rgba(255,243,219,.16);
  background: rgba(18,63,64,.8); backdrop-filter: blur(18px);
}
.fit-logo { width:max-content; display:flex; align-items:center; gap:10px; }
.fit-logo strong { color:var(--core-accent); font-family:var(--core-display); font-size:12px; line-height:.7; letter-spacing:-.12em; }
.fit-logo span { color:var(--core-muted); font-size:7px; line-height:1.2; text-transform:uppercase; }
.fit-nav { display:flex; gap:28px; }
.fit-nav a { font-size:9px; font-weight:700; letter-spacing:.05em; text-transform:uppercase; }
.fit-book { min-height:42px; padding:0 16px; border:0; border-radius:999px; background:var(--core-accent); color:var(--core-accent-ink); font-size:8px; font-weight:800; cursor:pointer; }
.fit-menu { display:none; }

.fit-hero {
  position:relative; min-height:100svh; display:grid; grid-template-columns:minmax(0,.9fr) minmax(520px,1.1fr);
  align-items:center; gap:4vw; padding:125px 6vw 70px; overflow:hidden;
  background:linear-gradient(135deg,#ff755f 0 49.8%,#123f40 50%);
}
.fit-hero::after { content:""; position:absolute; inset:0; opacity:.16; background-image:linear-gradient(rgba(255,255,255,.18) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.18) 1px,transparent 1px); background-size:70px 70px; }
.fit-hero__copy { position:relative; z-index:2; color:#fff3db; }
.fit-hero__copy > span,.workout-lab header > span,.fit-schedule__head > span,.energy-copy > span,.fit-cta > span { font-size:8px; font-weight:800; letter-spacing:.17em; text-transform:uppercase; }
.fit-hero h1,.workout-lab h2,.fit-schedule h2,.energy-copy h2,.fit-cta h2 { margin:26px 0 0; font-family:var(--core-display); font-size:clamp(72px,8.3vw,138px); font-weight:800; letter-spacing:-.09em; line-height:.76; }
.fit-hero h1 em,.workout-lab h2 em,.fit-schedule h2 em,.fit-cta h2 em { color:var(--core-accent); font-style:normal; }
.fit-hero__copy > p { max-width:530px; margin:34px 0 0; font-size:13px; line-height:1.7; }
.fit-hero__copy > div { display:flex; gap:12px; margin-top:32px; }
.fit-hero__copy button,.fit-cta button { min-height:54px; padding:0 19px; border:0; border-radius:999px; background:var(--core-accent); color:var(--core-accent-ink); font-size:9px; font-weight:800; cursor:pointer; }
.fit-hero__copy a { min-height:54px; display:inline-flex; align-items:center; padding:0 19px; border:1px solid rgba(255,243,219,.5); border-radius:999px; font-size:9px; font-weight:800; }

.fit-kinetic { position:relative; z-index:2; width:min(44vw,670px); aspect-ratio:1; margin:auto; transform:translate3d(calc(var(--pnx,0)*-18px),calc(var(--pny,0)*-16px),0); transition:transform .2s ease-out; }
.fit-disc { position:absolute; display:grid; place-items:center; border-radius:50%; mix-blend-mode:screen; }
.fit-disc span { font-family:var(--core-display); font-size:9px; letter-spacing:.15em; }
.disc-a { inset:4%; border:2px solid rgba(217,255,70,.75); animation:fitSpin 18s linear infinite; }
.disc-b { inset:18%; border:34px solid rgba(255,117,95,.7); animation:fitSpin 13s linear infinite reverse; }
.disc-c { inset:32%; background:var(--core-accent); color:#123f40; box-shadow:0 0 80px rgba(217,255,70,.25); }
.disc-a::before,.disc-b::before { content:""; position:absolute; width:15px; height:15px; top:10%; left:18%; border-radius:50%; background:var(--core-accent); box-shadow:0 0 20px var(--core-accent); }
.fit-pulse { position:absolute; z-index:3; inset:39%; display:flex; align-items:center; justify-content:center; gap:8px; border-radius:50%; background:#123f40; color:#fff3db; }
.fit-pulse strong { font-family:var(--core-display); font-size:33px; }
.fit-pulse span { font-size:6px; line-height:1.25; }
.fit-tag { position:absolute; z-index:3; padding:13px 16px; border:1px solid rgba(255,243,219,.3); border-radius:999px; background:rgba(18,63,64,.72); font-size:8px; font-weight:800; line-height:1.2; backdrop-filter:blur(10px); animation:fitFloat 4s ease-in-out infinite; }
.tag-a { left:0; top:18%; }
.tag-b { right:0; bottom:17%; animation-delay:-2s; }
.fit-hero__foot { position:absolute; z-index:3; right:6vw; bottom:24px; left:6vw; display:flex; justify-content:space-between; font-size:7px; letter-spacing:.13em; }
@keyframes fitSpin { to{transform:rotate(360deg)} }
@keyframes fitFloat { 50%{transform:translateY(-12px)} }

.fit-ticker { overflow:hidden; background:var(--core-accent); color:#123f40; transform:rotate(1deg) scale(1.02); }
.fit-ticker > div { width:max-content; display:flex; gap:25px; padding:14px 0; animation:fitTicker 20s linear infinite; }
.fit-ticker span { font-family:var(--core-display); font-size:12px; }
@keyframes fitTicker { to{transform:translateX(-50%)} }

.workout-lab,.fit-schedule,.energy-wall { padding:140px 6vw; }
.workout-lab header,.fit-schedule__head { display:grid; grid-template-columns:.35fr 1.1fr .55fr; gap:4vw; align-items:end; margin-bottom:65px; }
.workout-lab header > span,.fit-schedule__head > span,.energy-copy > span { color:var(--core-accent); align-self:start; }
.workout-lab h2,.fit-schedule h2,.energy-copy h2 { margin:0; font-size:clamp(64px,7vw,108px); }
.workout-lab header p { margin:0; color:var(--core-muted); font-size:12px; line-height:1.7; }
.workout-console { display:grid; grid-template-columns:.72fr 1.28fr; min-height:620px; border:1px solid rgba(255,243,219,.18); border-radius:28px; overflow:hidden; background:#0e3031; }
.workout-controls { display:flex; flex-direction:column; padding:40px; border-right:1px solid rgba(255,243,219,.15); }
.workout-controls > small { margin:25px 0 13px; color:var(--core-muted); font-size:7px; letter-spacing:.15em; }
.workout-controls > small:first-child { margin-top:0; }
.state-switch { display:grid; grid-template-columns:repeat(3,1fr); gap:5px; }
.state-switch button,.focus-grid button { padding:11px 6px; border:1px solid rgba(255,243,219,.17); border-radius:10px; background:transparent; font-size:8px; cursor:pointer; }
.state-switch button.is-active,.focus-grid button.is-active { border-color:var(--core-accent); background:var(--core-accent); color:#123f40; }
.workout-controls input { width:100%; accent-color:var(--core-accent); }
.intensity-scale { display:flex; justify-content:space-between; align-items:center; margin-top:8px; color:var(--core-muted); font-size:7px; }
.intensity-scale b { color:var(--core-accent); font-family:var(--core-display); font-size:25px; }
.focus-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:7px; }
.workout-output { --load:68%; position:relative; display:flex; flex-direction:column; justify-content:center; padding:55px 7vw; overflow:hidden; background:radial-gradient(circle at 87% 13%,rgba(217,255,70,.19),transparent 28%),#174c4d; }
.workout-output__ring { position:absolute; width:260px; height:260px; right:-65px; top:-65px; display:grid; place-items:center; border:1px solid rgba(255,243,219,.2); border-radius:50%; }
.workout-output__ring::before { content:""; position:absolute; inset:20px; border:16px solid rgba(255,243,219,.08); border-top-color:var(--core-accent); border-radius:50%; transform:rotate(calc(var(--load) * 1.8)); transition:transform .35s ease; }
.workout-output__ring span { position:relative; z-index:2; color:var(--core-accent); font-family:var(--core-display); font-size:27px; }
.workout-output > small { color:var(--core-accent); font-size:8px; letter-spacing:.15em; }
.workout-output h3 { margin:25px 0; font-family:var(--core-display); font-size:clamp(58px,7vw,105px); letter-spacing:-.08em; line-height:.77; }
.workout-output > p { max-width:520px; color:var(--core-muted); font-size:11px; line-height:1.7; }
.workout-meta { display:flex; gap:40px; margin:27px 0; }
.workout-meta small,.workout-meta b { display:block; }
.workout-meta small { color:var(--core-muted); font-size:7px; }
.workout-meta b { margin-top:4px; font-size:10px; }
.workout-output > button { width:max-content; padding:13px 17px; border:0; border-radius:999px; background:#ff755f; color:#fff3db; font-size:8px; font-weight:800; cursor:pointer; }

.fit-schedule { background:#fff3db; color:#123f40; }
.fit-schedule__head > span { color:#e65345; }
.fit-schedule h2 em { color:#e65345; }
.day-tabs { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:6px; }
.day-tabs button { width:42px; height:42px; border:1px solid rgba(18,63,64,.25); border-radius:50%; background:transparent; font-size:7px; cursor:pointer; }
.day-tabs button.is-active { background:#123f40; color:#fff3db; }
.schedule-board { border-top:2px solid #123f40; }
.schedule-board article { display:grid; grid-template-columns:110px 1fr 110px 48px; align-items:center; gap:20px; padding:27px 8px; border-bottom:1px solid rgba(18,63,64,.25); transition:padding .25s ease,background .25s ease; }
.schedule-board article:hover { padding-inline:20px; background:#d9ff46; }
.schedule-board time { font-family:var(--core-display); font-size:30px; }
.schedule-board article span { color:#e65345; font-size:7px; font-weight:800; letter-spacing:.14em; }
.schedule-board h3 { margin:5px 0; font-family:var(--core-display); font-size:31px; letter-spacing:-.06em; }
.schedule-board p { margin:0; color:#6a7d77; font-size:8px; }
.schedule-board article > b { font-size:8px; }
.schedule-board button { width:43px; height:43px; border:1px solid #123f40; border-radius:50%; background:transparent; cursor:pointer; }

.energy-wall { display:grid; grid-template-columns:.65fr 1.35fr; gap:6vw; background:#ff755f; color:#fff3db; }
.energy-copy { align-self:start; position:sticky; top:120px; }
.energy-copy > span { color:#123f40; }
.energy-copy h2 { margin-top:25px; }
.energy-copy p { max-width:430px; color:rgba(255,243,219,.75); font-size:12px; line-height:1.7; }
.energy-metrics { display:grid; grid-template-columns:repeat(2,1fr); gap:12px; }
.energy-metrics article { position:relative; min-height:320px; display:flex; flex-direction:column; justify-content:flex-end; padding:28px; overflow:hidden; border:1px solid rgba(255,243,219,.35); }
.energy-metrics small { position:absolute; top:24px; left:25px; font-size:7px; letter-spacing:.15em; }
.energy-metrics strong { font-family:var(--core-display); font-size:60px; letter-spacing:-.07em; }
.energy-metrics span { font-size:9px; opacity:.7; }
.energy-metrics i { position:absolute; right:0; bottom:0; left:0; height:5px; background:linear-gradient(90deg,var(--core-accent) var(--v),rgba(255,255,255,.12) var(--v)); }

.fit-cta { position:relative; min-height:90svh; display:flex; flex-direction:column; align-items:center; justify-content:center; overflow:hidden; padding:100px 6vw; text-align:center; }
.fit-cta h2 { position:relative; z-index:2; margin:25px 0 38px; font-size:clamp(90px,13vw,200px); }
.fit-cta button,.fit-cta > span { position:relative; z-index:2; }
.fit-cta__orbit { position:absolute; width:min(65vw,900px); aspect-ratio:1; border:80px solid #ff755f; border-radius:50%; opacity:.34; animation:fitSpin 18s linear infinite; }
.fit-cta__orbit::after { content:""; position:absolute; width:45px; height:45px; top:-62px; left:50%; border-radius:50%; background:var(--core-accent); }
.fit-footer { min-height:110px; display:grid; grid-template-columns:1fr 1fr 1fr auto; align-items:center; gap:25px; padding:25px 4vw; border-top:1px solid rgba(255,243,219,.15); color:var(--core-muted); font-size:8px; }
.fit-footer p { margin:0; }

@media(max-width:980px){
  .fit-header{grid-template-columns:1fr auto}.fit-header .portal-back,.fit-book{display:none}.fit-menu{position:relative;z-index:2;width:42px;height:42px;display:grid;place-items:center;padding:0;border:1px solid rgba(255,243,219,.2);border-radius:50%;background:transparent}.fit-menu i{position:absolute;width:17px;height:2px;background:currentColor}.fit-menu i:first-child{transform:translateY(-4px)}.fit-menu i:last-child{transform:translateY(4px)}.menu-open .fit-menu i:first-child{transform:rotate(45deg)}.menu-open .fit-menu i:last-child{transform:rotate(-45deg)}
  .fit-nav{position:fixed;inset:0;flex-direction:column;align-items:flex-start;justify-content:center;gap:18px;padding:10vw;visibility:hidden;opacity:0;background:#123f40;transition:.3s}.menu-open .fit-nav{visibility:visible;opacity:1}.fit-nav a{font-family:var(--core-display);font-size:42px}
  .fit-hero{grid-template-columns:1fr;padding-top:140px;background:linear-gradient(160deg,#ff755f 0 44%,#123f40 44%)}.fit-kinetic{width:min(82vw,650px)}
  .workout-lab header,.fit-schedule__head{grid-template-columns:1fr;gap:22px}.workout-lab header p{max-width:540px}.workout-console{grid-template-columns:1fr}.workout-controls{border-right:0;border-bottom:1px solid rgba(255,243,219,.15)}.workout-output{min-height:590px}
  .energy-wall{grid-template-columns:1fr}.energy-copy{position:static}.fit-footer{grid-template-columns:1fr 1fr}
}
@media(max-width:620px){
  .fit-header{height:70px;padding-inline:18px}.fit-hero{min-height:auto;padding:120px 20px 70px}.fit-hero h1{font-size:68px}.fit-hero__copy > div{flex-direction:column}.fit-hero__copy button,.fit-hero__copy a{width:100%;justify-content:center}.fit-kinetic{width:92vw;margin-top:20px}.fit-tag{font-size:6px}.fit-hero__foot{display:none}
  .workout-lab,.fit-schedule,.energy-wall{padding:90px 20px}.workout-lab h2,.fit-schedule h2,.energy-copy h2{font-size:51px}.workout-controls{padding:28px 20px}.workout-output{min-height:560px;padding:75px 22px 38px}.workout-output h3{font-size:57px}.workout-output__ring{width:190px;height:190px}.workout-meta{gap:20px}
  .day-tabs{justify-content:flex-start}.schedule-board article{grid-template-columns:75px 1fr 40px;gap:10px}.schedule-board article > b{display:none}.schedule-board time{font-size:21px}.schedule-board h3{font-size:23px}
  .energy-metrics{grid-template-columns:1fr}.energy-metrics article{min-height:250px}.fit-cta{min-height:75svh;padding-inline:20px}.fit-cta h2{font-size:73px}.fit-cta__orbit{border-width:45px}.fit-footer{grid-template-columns:1fr;padding:35px 20px}
}

/* V8 — live kinetic campaign photography */
.fit-kinetic { isolation: isolate; }
.fit-photo { position:absolute; z-index:0; inset:8%; margin:0; overflow:hidden; border:1px solid rgba(255,243,219,.34); border-radius:50%; background:#0e3031; box-shadow:0 35px 100px rgba(0,0,0,.24); }
.fit-photo::after { content:""; position:absolute; inset:0; background:linear-gradient(135deg,rgba(18,63,64,.08),rgba(18,63,64,.54)); pointer-events:none; }
.fit-photo img { width:100%; height:100%; object-fit:cover; object-position:62% center; filter:saturate(.9) contrast(1.05); transition:transform .75s cubic-bezier(.2,.8,.2,1),filter .45s ease; }
.fit-kinetic:hover .fit-photo img { filter:saturate(1.05) contrast(1.07); transform:scale(1.055); }
.disc-a,.disc-b { z-index:2; }
.disc-b { border-width:3px; border-color:rgba(255,117,95,.78); }
.disc-c { z-index:2; border:1px solid rgba(217,255,70,.55); background:rgba(18,63,64,.58); color:var(--core-accent); -webkit-backdrop-filter:blur(8px); backdrop-filter:blur(8px); }
