:root { --paper:#F4F2EF; --stone:#E8E4DF; --ink:#0F2238; --sub:#4E5D70; --line:#DAD5CE; --blue:#2C6BFF; --card:#fff;
  --display:'Bricolage Grotesque',system-ui,sans-serif; --body:'Figtree',system-ui,sans-serif; }
* { box-sizing:border-box; margin:0; padding:0; }
body { background:var(--paper); color:var(--ink); font:400 18px/1.6 var(--body); -webkit-font-smoothing:antialiased; }
img { display:block; max-width:100%; height:auto; }
a { color:inherit; }
:focus-visible { outline:3px solid var(--blue); outline-offset:3px; border-radius:8px; }
.wrap { width:min(860px, 100% - 32px); margin-inline:auto; }
.nav { background:rgba(244,242,239,.92); box-shadow:0 1px 0 var(--line); position:sticky; top:0; z-index:10; }
.nav .wrap { display:flex; align-items:center; justify-content:space-between; height:64px; }
.logo { text-decoration:none; font:800 22px var(--display); letter-spacing:-.03em; }
.logo b { color:var(--blue); }
.getbtn { background:var(--ink); color:#fff; border-radius:999px; padding:9px 18px; font-weight:700; font-size:15px; text-decoration:none; }
h1,h2,h3 { font-family:var(--display); letter-spacing:-.03em; line-height:1.1; }
h1 { font-weight:800; font-size:clamp(34px,6vw,56px); margin:44px 0 16px; }
h2 { font-weight:800; font-size:clamp(26px,4vw,36px); margin:0 0 14px; }
h3 { font-weight:700; font-size:22px; margin-bottom:6px; }
.lede { font-size:clamp(18px,2vw,21px); color:var(--sub); }
.note { font-size:14px; color:var(--sub); margin:14px 0 36px; }
section { margin:56px 0; }
.moves { display:grid; gap:18px; margin-top:8px; }
.move { display:grid; grid-template-columns:minmax(0,1fr); gap:14px; background:var(--card); border-radius:20px; padding:14px; box-shadow:0 1px 0 var(--line); }
.move img { border-radius:12px; width:100%; }
.move p { color:var(--sub); font-size:16px; }
.dose { color:var(--ink)!important; font-weight:700; margin-top:8px; }
@media (min-width:700px) { .move { grid-template-columns:300px minmax(0,1fr); align-items:center; padding:16px; gap:22px; } }
ul { padding-left:1.2em; display:grid; gap:10px; color:var(--sub); }
.red { background:var(--card); border-radius:20px; padding:24px; box-shadow:inset 0 0 0 2px #E5487A; }
details { background:var(--card); border-radius:14px; padding:14px 18px; margin-bottom:10px; box-shadow:0 1px 0 var(--line); }
summary { font-weight:700; cursor:pointer; }
details p { color:var(--sub); margin-top:8px; font-size:16px; }
.cta { background:var(--ink); color:#fff; border-radius:24px; padding:clamp(24px,5vw,44px); }
.cta p { color:#cfd8e3; }
.stores { display:flex; flex-wrap:wrap; gap:12px; margin-top:22px; }
.store { background:#000; color:#fff; border-radius:14px; padding:12px 20px; text-decoration:none; font-weight:700; border:1px solid #2a3b52; }
.more { margin-top:22px; font-size:15px; }
.more a { margin-left:10px; }
.foot { border-top:1px solid var(--line); padding:26px 0 40px; font-size:14px; color:var(--sub); }
.foot .wrap { display:flex; flex-wrap:wrap; justify-content:space-between; gap:8px; }
/* exercise library */
.crumb { font-size:14px; color:var(--sub); margin-top:28px; }
.crumb a { text-decoration:none; }
.crumb + h1 { margin-top:12px; }
.demo { margin:22px 0 8px; background:var(--card); border-radius:20px; padding:10px; box-shadow:0 1px 0 var(--line); }
.demo video { width:100%; max-height:70vh; border-radius:12px; background:#ddd; }
.dose.big { font-size:20px; font-weight:700; margin:14px 0 0; color:var(--ink)!important; }
ol { padding-left:1.3em; display:grid; gap:10px; color:var(--sub); }
.swaps { list-style:none; padding:0; display:flex; flex-wrap:wrap; gap:10px; }
.swaps a { display:inline-block; background:var(--card); border-radius:999px; padding:8px 16px; text-decoration:none; font-weight:600; box-shadow:0 1px 0 var(--line); }
.grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(240px,1fr)); gap:12px; }
.card { background:var(--card); border-radius:16px; padding:16px; text-decoration:none; display:grid; gap:6px; box-shadow:0 1px 0 var(--line); }
.card b { font:700 18px var(--display); letter-spacing:-.02em; }
.card span { font-size:14px; color:var(--sub); line-height:1.4; }
.card:hover { box-shadow:0 0 0 2px var(--blue); }
