/* JR Online Fitness Coaching — shared styles */
:root{
  color-scheme:dark;
  --bg:#050505;--panel:#0f0f10;--panel2:#161618;--line:#26262a;
  --ink:#f4f4f5;--muted:#b4b4bb;--dim:#7c7c85;
  --tan:#ab9e8f;--tan-hi:#d9c6a6;--tan-soft:rgba(171,158,143,.14);--tan-ink:#0a0a0a;
  --red:#e8322b;
  --display:"Anton","Impact","Arial Narrow Bold",sans-serif;
  --body:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
}
*{box-sizing:border-box}
html,body{background:var(--bg);color:var(--ink)}
body{margin:0;font-family:var(--body);font-size:16px;line-height:1.55;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:inherit}
.wrap{max-width:1040px;margin:0 auto;padding:0 16px}
.narrow{max-width:680px}

/* header */
.hdr{position:sticky;top:0;z-index:20;background:rgba(5,5,5,.9);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.hdr .wrap{display:flex;align-items:center;justify-content:space-between;height:60px;gap:12px}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;font-size:11.5px;font-weight:600;letter-spacing:2.5px;text-transform:uppercase;color:var(--muted)}
.brand img{width:32px;height:32px;border-radius:7px}
.pill{background:var(--tan);color:var(--tan-ink);text-decoration:none;font-weight:700;font-size:14px;padding:9px 16px;border-radius:999px;white-space:nowrap}

/* type */
h1,h2,h3{font-family:var(--display);font-weight:400;text-transform:uppercase;line-height:.95;margin:0;text-wrap:balance}
h1{font-size:clamp(44px,11vw,76px)}
h2{font-size:clamp(30px,6vw,44px)}
h1 span,h2 span{color:var(--tan-hi)}
.eyebrow{font-size:11.5px;font-weight:600;letter-spacing:2.5px;text-transform:uppercase;color:var(--tan)}
.muted{color:var(--muted)}
p{margin:0}

/* buttons */
.btn{display:flex;align-items:center;justify-content:center;gap:10px;background:var(--tan);color:var(--tan-ink);text-decoration:none;font-weight:800;font-size:17px;min-height:56px;padding:0 24px;border-radius:14px;border:0;cursor:pointer;transition:background .15s}
.btn:hover{background:var(--tan-hi)}
.btn:focus-visible,.card:focus-visible{outline:3px solid var(--tan-hi);outline-offset:3px}
.btn.dark{background:#fff;color:#000}
.btn.ghost{background:transparent;color:var(--ink);border:1px solid var(--line)}

/* checks */
.checks{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.checks li{display:flex;gap:9px;align-items:baseline}
.checks li::before{content:"✓";color:var(--tan);font-weight:700;flex:none}

/* page header used on plan pages */
.phead{padding:26px 0 8px;display:grid;gap:12px}
.price{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}
.price b{font-family:var(--display);font-weight:400;font-size:44px;line-height:1}
.price small{color:var(--muted);font-size:14px}
.steps{display:flex;flex-wrap:wrap;gap:8px}
.steps span{font-size:13px;border:1px solid var(--line);background:var(--panel);border-radius:999px;padding:6px 12px;color:var(--muted)}
.steps b{color:var(--ink)}
.formbox{margin:18px 0 40px;border-top:1px solid var(--line);padding-top:6px}
.formbox iframe{display:block;width:100%;border:0;min-height:600px}
.loading{padding:40px 0;color:var(--dim);text-align:center}

/* footer */
.foot{border-top:1px solid var(--line);padding:22px 0 30px;color:var(--dim);font-size:12.5px;text-align:center}
.foot a{color:var(--muted)}

/* auto-scrolling transformations carousel */
.tx{overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent);mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent)}
.tx-track{display:flex;width:max-content;animation:tx-scroll 32s linear infinite}
.tx:hover .tx-track{animation-play-state:paused}
.tx-set{display:flex;gap:12px;padding-right:12px}
.tx-pair{margin:0;flex:none;width:clamp(210px,58vw,280px)}
.tx-ph{display:grid;grid-template-columns:1fr 1fr;gap:2px;border-radius:12px;overflow:hidden}
.tx-ph div{position:relative}
.tx-ph img{aspect-ratio:3/4;object-fit:cover;width:100%}
.tx-tag{position:absolute;left:6px;top:6px;font-size:10px;font-weight:800;letter-spacing:1.5px;text-transform:uppercase;padding:2px 6px;border-radius:5px;background:rgba(10,10,11,.82);color:var(--ink)}
.tx-ph .after .tx-tag{background:var(--tan);color:var(--tan-ink)}
.tx-pair figcaption{font-size:11.5px;color:var(--dim);margin-top:6px;text-transform:uppercase;letter-spacing:1.5px;font-weight:600}
.tx-pair.me figcaption{color:var(--tan)}
.tx-note{font-size:11.5px;color:var(--dim);margin-top:8px}
@keyframes tx-scroll{to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){.tx{overflow-x:auto}.tx-track{animation:none}}
