:root {
  --bg: #10110f;
  --bg-deep: #090a09;
  --panel: #171916;
  --panel-2: #20231e;
  --text: #f4f1e9;
  --muted: #b8b9b2;
  --green: #91c53f;
  --green-soft: #b7dd72;
  --line: rgba(255,255,255,.12);
  --warm: #d5a45f;
  --max: 1180px;
  --shadow: 0 20px 60px rgba(0,0,0,.35);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--text);
  background:
    radial-gradient(circle at 20% 0%, rgba(145,197,63,.08), transparent 26rem),
    var(--bg);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  line-height: 1.55;
}
img { display: block; width: 100%; height: auto; }
a { color: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
.skip-link { position: absolute; left: -9999px; top: auto; }
.skip-link:focus { left: 1rem; top: 1rem; z-index: 9999; background: #fff; color:#000; padding:.75rem 1rem; border-radius:.35rem; }

.site-header {
  position: sticky;
  top: 0;
  z-index: 1000;
  background: rgba(10,11,10,.92);
  backdrop-filter: blur(18px);
  border-bottom: 1px solid var(--line);
}
.nav-shell {
  max-width: 1440px;
  margin: 0 auto;
  min-height: 70px;
  padding: .7rem 1rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
}
.brand { text-decoration: none; display: grid; line-height: 1; min-width: max-content; }
.brand-main { font-weight: 950; letter-spacing: .055em; font-size: .98rem; }
.brand-sub { font-size: .62rem; color: var(--green-soft); letter-spacing: .24em; margin-top: .32rem; }
.primary-nav { display: flex; align-items: center; flex-wrap: wrap; justify-content: flex-end; gap: .1rem; }
.primary-nav a { text-decoration: none; color: #e8e6df; font-size: .78rem; font-weight: 700; letter-spacing: .025em; padding: .55rem .62rem; border-radius: 999px; }
.primary-nav a:hover, .primary-nav a:focus-visible { background: rgba(255,255,255,.08); }
.primary-nav .daily-bread-link { border: 1px solid rgba(145,197,63,.45); color: var(--green-soft); margin-left: .4rem; display: inline-flex; align-items:center; gap:.35rem; }
.menu-toggle { display:none; background:transparent; border:0; width:42px; height:42px; padding:10px; }
.menu-toggle span { display:block; height:2px; background:#fff; margin:5px 0; border-radius:3px; }

.hero { min-height: min(790px, 86vh); position: relative; display:flex; align-items:flex-end; overflow:hidden; background:#000; }
.hero > img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center; }
.hero-overlay { position:absolute; inset:0; background: linear-gradient(90deg, rgba(0,0,0,.78) 0%, rgba(0,0,0,.34) 48%, rgba(0,0,0,.18) 100%), linear-gradient(0deg, rgba(0,0,0,.82), transparent 44%); }
.hero-copy { position:relative; z-index:2; width:min(var(--max), calc(100% - 2rem)); margin:0 auto; padding:clamp(4rem, 11vw, 8rem) 0 clamp(3rem, 7vw, 5.5rem); }
.eyebrow, .kicker { color: var(--green-soft); text-transform: uppercase; letter-spacing: .22em; font-size:.72rem; font-weight:800; }
.hero h1, .section-head h2, .closing-strip h2 { margin:.4rem 0 .8rem; text-transform:uppercase; font-weight:950; letter-spacing:-.035em; line-height:.92; text-wrap:balance; }
.hero h1 { max-width: 760px; font-size:clamp(2.7rem, 7vw, 6.1rem); text-shadow:0 7px 25px rgba(0,0,0,.42); }
.hero-copy > p:not(.eyebrow) { max-width:670px; font-size:clamp(1rem, 2vw, 1.25rem); color:#e5e2d9; }
.hero-actions { display:flex; flex-wrap:wrap; gap:.75rem; margin-top:1.4rem; }
.button { display:inline-flex; align-items:center; justify-content:center; text-decoration:none; font-weight:850; text-transform:uppercase; letter-spacing:.06em; font-size:.78rem; min-height:46px; padding:.75rem 1.05rem; border-radius:.25rem; transition: transform .16s ease, background .16s ease; }
.button:hover { transform: translateY(-1px); }
.button-primary { background:var(--green); color:#0d100a; }
.button-ghost { border:1px solid rgba(255,255,255,.35); background:rgba(0,0,0,.25); }

.pillar-strip { display:grid; grid-template-columns:repeat(5, 1fr); max-width:var(--max); margin:-1.2rem auto 0; position:relative; z-index:3; padding:0 1rem 2rem; }
.pillar { background:linear-gradient(180deg, #1a1c18, #111210); border:1px solid var(--line); padding:1.2rem .85rem; text-align:center; min-height:138px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:.15rem; }
.pillar:first-child { border-radius:.45rem 0 0 .45rem; }
.pillar:last-child { border-radius:0 .45rem .45rem 0; }
.pillar-icon { color:var(--green); font-size:1.45rem; }
.pillar strong { text-transform:uppercase; letter-spacing:.06em; font-size:.86rem; }
.pillar small { color:var(--muted); font-size:.73rem; }

.section { padding:clamp(4rem, 8vw, 7rem) 1rem; scroll-margin-top:78px; }
.section-dark { background:linear-gradient(180deg, #121411, #171916); }
.section-black { background:#090a09; }
.section-nutrition { background:linear-gradient(180deg, #171a15, #0e100d); }
.section-head { max-width:var(--max); margin:0 auto 2rem; }
.section-head h2 { font-size:clamp(2.6rem, 6.5vw, 5.8rem); }
.lede { max-width:760px; color:var(--muted); font-size:1.02rem; }

.feature-media { max-width:var(--max); margin:0 auto; border:1px solid var(--line); overflow:hidden; background:#000; box-shadow:var(--shadow); }
.feature-media img { aspect-ratio:16/9; object-fit:cover; }
.feature-media.lift { transform: translateY(0); }
.compact-top { margin-top:1.5rem; }
.secondary-media { margin-top:1.4rem; }

.exercise-grid { max-width:var(--max); margin:1.5rem auto 0; display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:1rem; }
.exercise-grid figure { margin:0; background:#111; border:1px solid var(--line); overflow:hidden; }
.exercise-grid img { aspect-ratio:1.56/1; object-fit:cover; }
.exercise-grid figcaption, .wide-visual-grid figcaption { padding:.8rem 1rem; color:#d8d6cf; font-weight:800; font-size:.78rem; letter-spacing:.08em; text-transform:uppercase; border-top:1px solid var(--line); }

.routine-grid { max-width:var(--max); margin:1.1rem auto 0; display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:1rem; }
.routine-card { display:grid; grid-template-columns:minmax(160px, .95fr) 1.15fr; background:#0e0f0e; border:1px solid var(--line); min-height:250px; }
.routine-card img { height:100%; object-fit:cover; }
.routine-card div { padding:1.25rem; align-self:center; }
.routine-card h3, .food-columns h3, .grocery-grid h3 { margin:0 0 .55rem; text-transform:uppercase; letter-spacing:.04em; font-size:1rem; }
.routine-card p { color:var(--muted); margin:0; font-size:.92rem; }
.wide-visual-grid { max-width:var(--max); margin:1rem auto; display:grid; grid-template-columns:1fr 1fr; gap:1rem; }
.wide-visual-grid figure { margin:0; border:1px solid var(--line); background:#0a0b0a; overflow:hidden; }
.wide-visual-grid img { aspect-ratio:1.6/1; object-fit:cover; }
.note-card { max-width:var(--max); margin:1rem auto 0; border-left:3px solid var(--green); padding:1rem 1.2rem; background:#0e100d; color:#d4d2cb; }

.workout-panel { max-width:var(--max); margin:1rem auto; display:grid; grid-template-columns:repeat(3,1fr); border:1px solid var(--line); }
.workout-stat { padding:1rem; background:#121411; text-align:center; }
.workout-stat + .workout-stat { border-left:1px solid var(--line); }
.workout-stat span { display:block; color:var(--muted); font-size:.7rem; text-transform:uppercase; letter-spacing:.16em; }
.workout-stat strong { display:block; margin-top:.25rem; text-transform:uppercase; font-size:1rem; }
.workout-list { max-width:var(--max); margin:1rem auto 0; padding:0; list-style:none; display:grid; grid-template-columns:repeat(2,1fr); gap:.75rem; }
.workout-list li { display:flex; gap:1rem; align-items:center; background:#121311; border:1px solid var(--line); padding:1rem; }
.workout-list li > span { color:var(--green); font-weight:950; font-size:1.5rem; }
.workout-list strong { display:block; }
.workout-list small { color:var(--muted); }
.progression { max-width:var(--max); margin:1rem auto 0; padding:1rem; border:1px solid rgba(145,197,63,.35); color:#dfe2d7; background:rgba(145,197,63,.06); }

.formula { max-width:var(--max); margin:1rem auto 0; display:flex; align-items:center; justify-content:center; flex-wrap:wrap; gap:.55rem; padding:1.2rem; background:#10120e; border:1px solid var(--line); text-transform:uppercase; font-weight:900; letter-spacing:.06em; }
.formula span { background:#1b1f18; padding:.58rem .7rem; border-radius:.2rem; }
.formula b { color:var(--green); }

.food-columns { max-width:var(--max); margin:1rem auto 0; display:grid; grid-template-columns:repeat(5,1fr); gap:.8rem; }
.food-columns article { background:#0f100f; border-top:3px solid var(--green); padding:1rem; }
.food-columns p { color:var(--muted); margin:0; font-size:.9rem; }

.recipe-grid { max-width:var(--max); margin:1rem auto 0; display:grid; grid-template-columns:1fr 1fr; gap:.85rem; }
.recipe-card { background:#111310; border:1px solid var(--line); }
.recipe-card summary { cursor:pointer; list-style:none; padding:1rem 1.1rem; font-weight:900; text-transform:uppercase; letter-spacing:.04em; display:flex; justify-content:space-between; align-items:center; }
.recipe-card summary::-webkit-details-marker { display:none; }
.recipe-card summary::after { content:"+"; color:var(--green); font-size:1.3rem; }
.recipe-card[open] summary::after { content:"–"; }
.recipe-body { border-top:1px solid var(--line); padding:1rem 1.1rem; color:#dedcd5; }
.recipe-body ul { margin:.5rem 0 1rem; padding-left:1.2rem; }
.recipe-formula { font-weight:900; color:var(--green-soft); text-transform:uppercase; letter-spacing:.03em; }
.muted { color:var(--muted); font-size:.88rem; }

.grocery-grid { max-width:var(--max); margin:1rem auto 0; display:grid; grid-template-columns:repeat(3,1fr); gap:.85rem; }
.grocery-grid article { background:#0f100f; border:1px solid var(--line); padding:1rem; }
.grocery-grid ul { margin:0; padding-left:1.1rem; color:var(--muted); }
.grocery-grid h3 { color:var(--green-soft); }

.closing-strip { display:flex; align-items:center; justify-content:space-between; gap:2rem; padding:clamp(3rem, 8vw, 5rem) max(1rem, calc((100vw - var(--max))/2)); background:linear-gradient(120deg, #1b2017, #0b0c0b 68%); border-top:1px solid rgba(145,197,63,.28); }
.closing-strip h2 { font-size:clamp(2rem, 5vw, 4.4rem); margin-bottom:0; }
.closing-strip em { color:var(--green); font-style:normal; }
.site-footer { display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:1.5rem; padding:1.4rem max(1rem, calc((100vw - var(--max))/2)); background:#070807; border-top:1px solid var(--line); color:var(--muted); font-size:.78rem; }
.site-footer > div { display:grid; line-height:1.15; color:#fff; }
.site-footer > div span { color:var(--green-soft); font-size:.67rem; letter-spacing:.12em; text-transform:uppercase; }
.site-footer p { margin:0; text-align:center; }
.site-footer a { color:var(--green-soft); text-decoration:none; white-space:nowrap; }

@media (max-width: 1120px) {
  .primary-nav a { font-size:.72rem; padding:.45rem .5rem; }
  .food-columns { grid-template-columns:repeat(3,1fr); }
}

@media (max-width: 860px) {
  .nav-shell { min-height:64px; }
  .menu-toggle { display:block; cursor:pointer; }
  .primary-nav { position:absolute; top:100%; left:0; right:0; display:none; background:rgba(9,10,9,.98); border-top:1px solid var(--line); border-bottom:1px solid var(--line); padding:.7rem 1rem 1rem; max-height:calc(100vh - 64px); overflow:auto; }
  .primary-nav.is-open { display:grid; grid-template-columns:1fr 1fr; gap:.25rem; }
  .primary-nav a { border-radius:.2rem; padding:.75rem .8rem; background:rgba(255,255,255,.025); }
  .primary-nav .daily-bread-link { margin-left:0; }
  .hero { min-height: 720px; }
  .hero > img { object-position:47% center; }
  .pillar-strip { grid-template-columns:1fr 1fr; gap:.5rem; margin-top:0; padding-top:1rem; }
  .pillar { border-radius:.25rem !important; min-height:120px; }
  .pillar:last-child { grid-column:1/-1; }
  .routine-grid, .wide-visual-grid, .recipe-grid { grid-template-columns:1fr; }
  .routine-card { grid-template-columns:1fr; }
  .routine-card img { aspect-ratio:16/9; }
  .workout-list { grid-template-columns:1fr; }
  .food-columns { grid-template-columns:1fr 1fr; }
  .grocery-grid { grid-template-columns:1fr 1fr; }
  .closing-strip { align-items:flex-start; flex-direction:column; }
  .site-footer { grid-template-columns:1fr; text-align:center; }
}

@media (max-width: 600px) {
  .section { padding-left:.75rem; padding-right:.75rem; }
  .hero { min-height: 650px; }
  .hero-overlay { background:linear-gradient(0deg, rgba(0,0,0,.92) 0%, rgba(0,0,0,.5) 55%, rgba(0,0,0,.1) 100%); }
  .hero-copy { width:calc(100% - 1.5rem); }
  .hero h1 { font-size:clamp(2.35rem, 13vw, 4rem); }
  .hero-copy > p:not(.eyebrow) { font-size:.96rem; }
  .button { width:100%; }
  .pillar-strip { padding-left:.75rem; padding-right:.75rem; }
  .section-head h2 { font-size:clamp(2.35rem, 14vw, 4rem); }
  .exercise-grid { grid-template-columns:1fr; }
  .feature-media img, .wide-visual-grid img { aspect-ratio:auto; object-fit:contain; }
  .workout-panel { grid-template-columns:1fr; }
  .workout-stat + .workout-stat { border-left:0; border-top:1px solid var(--line); }
  .food-columns, .grocery-grid { grid-template-columns:1fr; }
  .formula { justify-content:flex-start; }
  .formula span { width:calc(100% - 2.2rem); }
  .primary-nav.is-open { grid-template-columns:1fr; }
  .brand-main { font-size:.88rem; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior:auto; }
  *, *::before, *::after { transition:none !important; }
}

/* Detailed program content */
.section-cta { max-width:var(--max); margin:1rem auto 0; display:flex; justify-content:flex-start; }
.workout-panel.four-up { grid-template-columns:repeat(4,1fr); }
.exercise-detail-grid { max-width:var(--max); margin:1.25rem auto 0; display:grid; grid-template-columns:1fr 1fr; gap:1rem; }
.exercise-detail { background:#111310; border:1px solid var(--line); overflow:hidden; }
.exercise-detail img { width:100%; height:auto; object-fit:contain; background:#000; }
.exercise-detail > div { padding:1.05rem 1.1rem 1.2rem; }
.exercise-detail h3 { margin:.1rem 0 .35rem; text-transform:uppercase; letter-spacing:.025em; }
.exercise-detail p { margin:.45rem 0 0; color:var(--muted); }
.exercise-number { display:inline-block; color:var(--green); font-weight:950; letter-spacing:.12em; font-size:.78rem; }
.dose { color:var(--green-soft) !important; font-weight:850; }
.guidance-card { max-width:var(--max); margin:1rem auto 0; padding:1rem 1.1rem; border:1px solid rgba(145,197,63,.34); border-left:4px solid var(--green); background:rgba(145,197,63,.06); color:#dddcd5; }
.routine-order { max-width:var(--max); margin:1.2rem auto 0; display:grid; gap:1rem; }
.routine-step { display:grid; grid-template-columns:170px minmax(0,1.25fr) minmax(260px,.85fr); background:#0e100e; border:1px solid var(--line); overflow:hidden; }
.routine-step > img { width:100%; height:auto; object-fit:contain; background:#000; align-self:start; }
.step-label { padding:1.2rem; border-right:1px solid var(--line); background:linear-gradient(180deg,#161915,#0f100f); }
.step-label span { display:block; color:var(--green); font-weight:950; font-size:2.2rem; line-height:1; }
.step-label h3 { margin:.55rem 0 0; text-transform:uppercase; line-height:1.05; font-size:1rem; }
.step-content { padding:1.2rem; }
.step-content h4 { margin:.1rem 0 .2rem; text-transform:uppercase; font-size:.9rem; }
.step-content h4:not(:first-child) { margin-top:1rem; }
.step-content p { color:var(--muted); margin:.4rem 0; }
.dose-list { margin:.35rem 0 .8rem; padding-left:1.15rem; color:var(--muted); }
.dose-list li { margin:.3rem 0; }
.daytime-card { max-width:var(--max); margin:1rem auto 0; background:#111310; border:1px solid var(--line); padding:1.25rem; }
.daytime-card h3 { margin:0 0 .55rem; text-transform:uppercase; }
.daytime-card p { color:var(--muted); }
.mini-stats { display:grid; grid-template-columns:repeat(3,1fr); gap:.7rem; margin:1rem 0; }
.mini-stats span { display:flex; flex-direction:column; gap:.15rem; padding:.9rem; background:#0b0c0b; border:1px solid var(--line); color:#ddd; }
.mini-stats strong { color:var(--green-soft); text-transform:uppercase; font-size:.72rem; letter-spacing:.12em; }

@media (max-width: 980px) {
  .workout-panel.four-up { grid-template-columns:repeat(2,1fr); }
  .routine-step { grid-template-columns:140px 1fr; }
  .routine-step > img { grid-column:1/-1; width:100%; height:auto; max-height:none; min-height:0; aspect-ratio:auto; object-fit:contain; }
}
@media (max-width: 720px) {
  .exercise-detail-grid { grid-template-columns:1fr; }
  .routine-step { grid-template-columns:1fr; }
  .step-label { border-right:0; border-bottom:1px solid var(--line); }
  .routine-step > img { grid-column:auto; }
  .mini-stats { grid-template-columns:1fr; }
  .workout-panel.four-up { grid-template-columns:1fr; }
}

/* Keep instructional graphics fully visible. These assets contain multiple poses/text, so cropping breaks them. */
.instructional-media img,
.exercise-detail img,
.routine-step > img {
  object-position:center;
}

@media (max-width: 720px) {
  .exercise-detail img,
  .routine-step > img,
  .feature-media img {
    width:100%;
    height:auto;
    max-height:none;
    aspect-ratio:auto;
    object-fit:contain;
  }
}
