/* Heat Index — editorial layer (loaded after gym.css). Dark ink, refined ember accent, Bodoni display, Manrope text. */
:root{
  --ink:#0B0A09;--ink2:#131110;--ink3:#1B1816;--ink4:#25211E;
  --bone:#F2ECE3;--mute:#A79D92;--mute2:#756C63;
  --heat:#A9502F;--heat2:#8A3B30;--amber:#C29660;
  --h1:#7FA39A;--h2:#A3A77F;--h3:#C29660;--h4:#B26A45;--h5:#8E3F31;
  --c-ignite:#B05A38;--c-iron:#D8CFC2;--c-ride:#A24B52;--c-strike:#C29660;--c-engine:#8197AE;--c-reset:#7FA39A;
  --line:rgba(242,236,227,.11);--line2:rgba(242,236,227,.24);
  --disp:"Bodoni Moda",Didot,Georgia,serif;--sans:"Manrope",system-ui,-apple-system,"Segoe UI",sans-serif;--mono:"Manrope",system-ui,sans-serif;
  --r:8px;--ease:cubic-bezier(.2,.7,.2,1)
}
body{font-family:var(--sans);letter-spacing:.003em}

/* film theme */
.cf{--cf-ink:#0B0A09;--cf-light:#F6F0E7;--cf-fg:#F2ECE3;--cf-bg:#0B0A09;--cf-accent:#C98A68;--cf-disp:var(--disp);--cf-sans:var(--sans);--cf-top:calc(var(--rb) + var(--nh));--cf-shade:#000c;--cf-scrim:#000a}
.cf .cf-h1 em,.cf .cf-h2 em{color:#D39A78}
/* the live floor gauge rides along as the hero's side panel */
.cf-side .hx-gauge{position:static;inset:auto;transform:none;width:280px;max-width:none;margin:0;opacity:1;background:#0b0a09b3;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border:1px solid var(--line2);border-radius:var(--r)}
.cf-side .hx-gauge *{text-shadow:none}

/* ---------- serif display: sentence case, light weight ---------- */
.hx-h1,.hx-h2,.hx-logo,.hx-menu a,.hx-fc h3,.hx-mt,.hx-pc-n,.hx-coach h3,.hx-pt-sum h3,.hx-ap-h h2,.hx-ap-in h2,.hx-adm-h,.hx-card-h h2,
.hx-qgrid p,.hx-foot-big,.hx-compare caption,.hx-nl h3,.hx-jopt b,.hx-ap-card h3,.hx-rooms b,.hx-ct b,.hx-heatpick-l,.hx-mq-t span,.ph:after,
.hx-ap-qr b,.hx-coach-b h3{
  text-transform:none!important;font-weight:500!important;letter-spacing:-.015em!important;font-family:var(--disp)!important}
.hx-h1{font-size:clamp(3.4rem,9vw,9rem)!important;line-height:.9!important}
.hx-h1-s{font-size:clamp(3rem,7.4vw,7rem)!important}
.hx-h2{font-size:clamp(2.5rem,5.6vw,5.4rem)!important;line-height:.94!important;max-width:16ch}
.hx-h1 em,.hx-h2 em,.hx-qgrid p em,.hx-adm-h em,.hx-mt em{font-style:italic!important;font-weight:400!important;color:var(--heat)}
.hx-freeze .hx-h2 em{color:var(--amber)}
.hx-logo{font-size:1.4rem!important;letter-spacing:.01em!important}
.hx-logo b{font-style:italic;font-weight:400}
.hx-mq-t span{font-style:italic;font-weight:400!important}
.hx-foot-big{letter-spacing:-.03em!important}
.hx-qgrid p{line-height:1.18!important;font-size:clamp(1.4rem,2vw,1.75rem)!important}
.hx-fc h3,.hx-coach h3{font-size:clamp(2rem,3vw,2.6rem)!important;line-height:.95!important}
.hx-menu a{font-size:clamp(2.2rem,10vw,3.4rem)!important}

/* numbers in the display face */
.hx-kpi b,.hx-stats b,.hx-pc-p b,.hx-pk-p,.hx-pk-n,.hx-fc-out b,.hx-heat-out,.hx-ap-stats b,.hx-ap-streak b,.hx-chart .vl,.hx-pm b,.hx-ptc b,
.hx-pt-sum .tot dd,.hx-gauge-top b,.hx-tl-ci b,.hx-nl time b,.hx-ap-list time b,.hx-tl-b time,.hx-ap-ch-h b{
  font-family:var(--disp)!important;font-weight:500!important;letter-spacing:-.01em!important;text-transform:none!important}

/* small labels: tracked sans caps instead of heavy display */
.hx-tt-dh,.hx-steps li,.hx-compare thead th,.hx-tl-m b,.hx-ap-list div b,.hx-sub,.hx-days b,.hx-dchip b,.hx-cls b,.hx-av,.hx-wa-av{
  font-family:var(--sans)!important;font-weight:700!important;letter-spacing:.04em!important}
.hx-tt-dh,.hx-steps li,.hx-compare thead th,.hx-sub{font-size:.72rem!important;letter-spacing:.2em!important;text-transform:uppercase!important}
.hx-cls b{font-size:.98rem!important;text-transform:none!important;letter-spacing:0!important}

/* eyebrows */
.hx-kick,.hx-eyebrow{font:600 .68rem/1.2 var(--sans)!important;letter-spacing:.3em!important;text-transform:uppercase}
.hx-eyebrow{display:flex;align-items:center;gap:14px;color:var(--heat)}
.hx-eyebrow:before{content:"";width:34px;height:1px;background:currentColor;flex:none}
.hx-kick i{height:1px;width:34px}

/* buttons */
.hx-btn{font:600 .72rem/1 var(--sans)!important;letter-spacing:.16em;text-transform:uppercase;border-width:1px;min-height:48px;padding:0 24px}
.hx-btn-sm{min-height:40px;padding:0 16px;font-size:.66rem!important}
.hx-btn-heat{background:var(--bone);color:var(--ink);box-shadow:none}
.hx-btn-heat:hover{background:#E4D9CA;color:var(--ink);box-shadow:none}
.hx-btn-line{background:transparent}

/* surfaces: thin lines, small radii */
[class*="hx-"]{--r:8px}
.hx-fc,.hx-coach,.hx-pc,.hx-pk,.hx-card,.hx-kpi,.hx-plan,.hx-jopt,.hx-nl,.hx-cls,.hx-ap-card,.hx-tt-dh,.hx-compare,.hx-freeze-in,.hx-pt-sum,.hx-gauge,.hx-tab,.ph{border-radius:var(--r)!important}
.ph img{border-radius:inherit}

/* nav */
.hx-nav{background:linear-gradient(#0b0a09d9,#0b0a0900)}
body:not(.pg-home) .hx-nav{background:#0b0a09e6;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
.hx-links a{font:600 .7rem/1 var(--sans)!important;letter-spacing:.16em!important;text-transform:uppercase}
.hx-rib{font-family:var(--sans)!important;letter-spacing:.03em}
.hx-live{font-family:var(--sans)!important}

@media (max-width:820px){
  .hx-h1{font-size:clamp(2.8rem,13vw,4.4rem)!important}
  .hx-h1-s{font-size:clamp(2.6rem,12vw,4rem)!important}
  .hx-h2{font-size:clamp(2.2rem,10vw,3.2rem)!important}
  .hx-foot-big{font-size:clamp(3.4rem,19vw,8rem)!important}
}

/* ---------- refinements ---------- */
/* numbers band: quiet ink band instead of the loud gradient */
.hx-stats{background:var(--ink2)!important;color:var(--bone)!important;border-block:1px solid var(--line);animation:none!important}
.hx-stats b{font-size:clamp(3rem,6vw,5.6rem)!important;line-height:.9!important}
.hx-stats div:nth-child(odd) b{font-style:italic;font-weight:400!important;color:var(--heat)}
.hx-stats span{font:600 .66rem/1.4 var(--sans)!important;letter-spacing:.24em!important;color:var(--mute)}
/* membership teaser: featured plan as a cream card */
.hx-pm{border-radius:var(--r)!important;border-color:var(--line2)}
.hx-pm span,.hx-pm small{font-family:var(--sans)!important;letter-spacing:.2em!important}
.hx-pm b{font-weight:500!important}
.hx-pm-hot{background:var(--bone)!important;color:var(--ink)!important;border-color:var(--bone)!important}
.hx-pm-hot b{font-style:italic;font-weight:400!important}
.hx-pc{border-radius:var(--r)!important}
.hx-pc-badge{font-family:var(--sans)!important;letter-spacing:.18em!important;font-size:.62rem!important}
.hx-pc-tag,.hx-pc-p span,.hx-pk span,.hx-coach .hx-eyebrow{font-family:var(--sans)!important}
/* footer wordmark must fit on one line in Bodoni */
.hx-foot-big{font-size:clamp(3.6rem,16.4vw,17rem)!important;line-height:.86!important;letter-spacing:-.035em!important}
.hx-foot-big b{font-style:italic;font-weight:400!important}
/* staff dashboard */
.hx-snav a{border-radius:var(--r);font-size:.86rem}
.hx-snav a[aria-current]{background:var(--ink3);color:var(--bone);box-shadow:inset 2px 0 0 var(--heat)}
.hx-snav a[aria-current] svg{color:var(--heat);stroke:var(--heat)}
.hx-kpi{border-radius:var(--r)!important}
.hx-kpi b{font-size:clamp(1.5rem,2vw,2.1rem)!important}
.hx-kpi span{font-family:var(--sans)!important;letter-spacing:.18em!important}
.hx-tl-m b{font-family:var(--disp)!important;font-weight:500!important;text-transform:none!important;letter-spacing:0!important;font-size:1.12rem!important}
.hx-side-foot{border-radius:var(--r)}
.hx-ap-qr{border-radius:var(--r)!important}
@media (max-width:820px){
  .hx-foot-big{font-size:16vw!important}
  .hx-stats b{font-size:clamp(2.6rem,12vw,3.6rem)!important}
}
@media (max-width:600px){.hx-compare thead th{letter-spacing:.08em!important;font-size:.62rem!important}}
/* comfortable tap targets on touch screens */
@media (max-width:820px),(pointer:coarse){
  .hx-seg button,.hx-seg label span{min-height:40px;min-width:40px;justify-content:center}
  .hx-freeze-in{border-radius:var(--r)!important}
}
.hx-freeze-in{border-radius:var(--r)!important}
/* mobile menu: ink sheet with serif links instead of a full orange screen */
.hx-menu{background:var(--ink)!important;color:var(--bone)!important}
.hx-menu a{border-bottom:1px solid var(--line)!important;padding:10px 0!important;font-size:clamp(2rem,9vw,3rem)!important}
.hx-menu a:hover,.hx-menu a:focus-visible{color:var(--heat)}
.hx-menu small{font-family:var(--sans)!important;color:var(--heat);letter-spacing:.1em}
.hx-menu p{font-family:var(--sans)!important;color:var(--mute)}
html.hx-menu-on .hx-nav .hx-logo,html.hx-menu-on .hx-burger{color:var(--bone)!important}
html.hx-menu-on .hx-nav .hx-logo svg{fill:var(--bone)!important}
html.hx-menu-on .hx-burger{border-color:var(--line2)!important}
html.hx-menu-on .hx-burger i{background:var(--bone)!important}

/* ---------- restrained palette: accent only on small details, selections in bone ---------- */
.hx-h1 em,.hx-h2 em,.hx-qgrid p em,.hx-adm-h em,.hx-mt em,.hx-foot-big b{color:#C47E5C!important}
.hx-eyebrow{color:#B9805F}
.hx-mq{background:var(--ink2)!important;color:var(--bone)!important;border-block:1px solid var(--line)}
.hx-stats div:nth-child(odd) b{color:#C47E5C}
.hx-seg button[aria-pressed=true],.hx-seg input:checked+span,.hx-tog input:checked+span,.hx-days button[aria-selected=true],.hx-tt-dh.today,
.hx-dchip input:checked+span,.hx-slot input:checked+span,.hx-ap-tabs button[aria-current],.hx-freeze .hx-seg button[aria-pressed=true]{
  background:var(--bone)!important;color:var(--ink)!important;box-shadow:none!important}
.hx-pc-badge,.hx-new,.hx-st-live,.hx-fl-more b{background:var(--bone)!important;color:var(--ink)!important}
.hx-av,.hx-wa-av{background:var(--ink3)!important;color:#D7A487!important;border:1px solid var(--line2)}
.hx-ap-qr{background:var(--ink2)!important;color:var(--bone)!important;border:1px solid var(--line2)}
.hx-pc.hot{background:linear-gradient(170deg,rgba(169,80,47,.14),var(--ink2) 55%)!important;border-color:rgba(196,126,92,.55)!important}
.hx-kpi:first-child{background:linear-gradient(150deg,rgba(169,80,47,.16),var(--ink2) 70%)!important;border-color:rgba(196,126,92,.35)!important}
.hx-compare td.hot,.hx-tbl tr.new td,.hx-tbl tr.new,.hx-tl-b.sel,.hx-rl li.ours,.hx-opt input:checked+span,.hx-jopt input:checked+span,.hx-ptc input:checked+span{background:rgba(169,80,47,.1)!important}
.hx-opt input:checked+span,.hx-jopt input:checked+span,.hx-ptc input:checked+span,.hx-slot input:checked+span{border-color:rgba(196,126,92,.6)!important}
.hx-pill{background:rgba(169,80,47,.16)!important;color:#D7A487!important}
.hx-sd.overdue,.hx-sd.cancelled{background:#A0525C!important}
.hx-warn{background:rgba(194,150,96,.1)!important}
.hx-freeze-in{background:linear-gradient(140deg,#121816,var(--ink2))!important}
#hxg stop:nth-child(1){stop-color:#C29660}#hxg stop:nth-child(2){stop-color:#A9502F}#hxg stop:nth-child(3){stop-color:#8A3B30}
/* keep the wordmark legible over the film */
body[data-page="home"] .hx-nav{background:linear-gradient(#0c0b0ae6,#0c0b0a00)}
.hx-logo span b{color:#D9A07E}
