:root { --premium-accent:#b7dc69; --premium-border:rgba(183,220,105,.22); --premium-panel:rgba(16,19,15,.91); --premium-muted:#929b8e; --premium-nav-height:76px; }
* { box-sizing:border-box; }
.premium-guide-body { position:relative; min-height:100vh; isolation:isolate; color:#f2f5ef; background:#090b09; font-family:"Archivo",Arial,sans-serif; font-synthesis:none; }
.premium-guide-body::before { content:""; position:fixed; inset:0; z-index:0; pointer-events:none; background-color:#000; background-image:linear-gradient(rgba(0,0,0,.25),rgba(0,0,0,.25)); background-size:cover; background-position:center; background-repeat:no-repeat; filter:grayscale(1); }
.premium-guide-body::after { content:""; position:fixed; top:0; left:50%; z-index:0; width:2500px; max-width:280%; height:1000px; pointer-events:none; transform:translateX(-50%); background:radial-gradient(ellipse 56% 64% at 50% 0,rgba(214,245,156,.3) 0%,rgba(211,245,156,.15) 28%,rgba(211,245,156,.06) 52%,rgba(211,245,156,.02) 70%,transparent 85%); }
.premium-guide-body .dash-bg,.premium-guide-body .dash-halo { display:none; }
.premium-guide { position:relative; z-index:1; width:min(100% - 36px,1512px); margin:0 auto; padding:calc(var(--premium-nav-height) + 30px) 0 90px; }
.premium-guide,.premium-guide * { font-family:"Archivo",Arial,sans-serif; }
.premium-guide h1,.premium-guide h2,.premium-guide h3 { font-weight:700; }
.premium-kicker { margin:0; color:var(--premium-accent); font-size:12px; font-weight:700; letter-spacing:.18em; text-transform:uppercase; }

.premium-hero { position:relative; min-height:390px; display:grid; grid-template-columns:minmax(0,1.25fr) minmax(280px,.75fr); align-items:center; margin-bottom:28px; overflow:hidden; }
.premium-hero::before { content:""; position:absolute; inset:0; pointer-events:none; background:var(--premium-hero-image, url('/images/iron-warrior.webp')) center / cover no-repeat; opacity:.76; }
.premium-hero::before,.premium-hero::after { -webkit-mask-image:radial-gradient(ellipse 76% 86% at 56% 44%,#000 30%,rgba(0,0,0,.88) 49%,rgba(0,0,0,.28) 69%,transparent 94%); mask-image:radial-gradient(ellipse 76% 86% at 56% 44%,#000 30%,rgba(0,0,0,.88) 49%,rgba(0,0,0,.28) 69%,transparent 94%); }
.premium-hero::after { display:none; }
.premium-hero__copy { position:relative; z-index:2; padding:44px 0 46px 26px; text-shadow:0 2px 10px rgba(20,35,55,.3); }
.premium-back { display:inline-flex; margin-bottom:42px; color:#fff; font-size:14px; font-weight:700; text-decoration:none; }
.premium-back:hover { color:#fff; }
.premium-hero h1 { max-width:760px; margin:8px 0 15px; color:#f6f8f3; font-size:clamp(48px,5vw,72px); font-weight:700; line-height:1.08; letter-spacing:-.03em; }
.premium-hero__copy > p:not(.premium-kicker) { max-width:650px; margin:0; color:#fff; font-size:16px; line-height:1.58; }
.premium-hero__visual { position:relative; z-index:2; align-self:stretch; min-width:0; display:flex; align-items:flex-end; justify-content:center; }
.premium-hero__visual img { width:min(82%,350px); max-height:370px; object-fit:contain; object-position:center bottom; filter:drop-shadow(0 18px 24px rgba(0,0,0,.58)); opacity:.9; -webkit-mask-image:radial-gradient(ellipse 72% 76% at 50% 48%,#000 47%,rgba(0,0,0,.82) 66%,transparent 100%); mask-image:radial-gradient(ellipse 72% 76% at 50% 48%,#000 47%,rgba(0,0,0,.82) 66%,transparent 100%); }

.premium-state { min-height:150px; display:flex; align-items:center; gap:20px; margin-top:20px; padding:30px; border:1px solid var(--premium-border); border-radius:20px; background:var(--premium-panel); backdrop-filter:blur(14px); }
.premium-state[hidden] { display:none; }
.premium-state strong,.premium-state small { display:block; }
.premium-state small { margin-top:5px; color:var(--premium-muted); font-size:15px; }
.premium-spinner { width:42px; aspect-ratio:1; flex:none; border:3px solid rgba(183,220,105,.14); border-top-color:var(--premium-accent); border-radius:50%; animation:premiumSpin .8s linear infinite; }
@keyframes premiumSpin { to { transform:rotate(360deg); } }
.premium-state__icon { width:54px; height:54px; display:grid; place-items:center; flex:none; border-radius:15px; color:var(--premium-accent); background:rgba(183,220,105,.08); font-size:26px; font-weight:900; }
.premium-state > div { flex:1; }
.premium-state h2 { margin:7px 0 9px; font-size:27px; }
.premium-state p:not(.premium-kicker) { max-width:790px; margin:0; color:#90998c; font-size:16px; line-height:1.65; }
.premium-state > a,.premium-state > button { min-height:48px; display:inline-flex; align-items:center; justify-content:center; padding:0 20px; border:1px solid var(--premium-accent); border-radius:999px; color:#172014; background:var(--premium-accent); font-size:14px; font-weight:850; text-decoration:none; }
.premium-state--error { border-color:rgba(220,126,97,.3); }

.premium-global { position:sticky; top:var(--premium-nav-height); z-index:20; display:grid; grid-template-columns:auto minmax(220px,1fr) auto; align-items:center; gap:18px; margin:18px 0 22px; padding:9px 0; background:transparent; }
.premium-global > div:first-child span,.premium-global > div:first-child strong { display:block; }
.premium-global > div:first-child span { color:#7d8678; font-size:12px; }
.premium-global > div:first-child strong { margin-top:2px; color:#edf0e9; font-size:14px; }
.premium-global__track { position:relative; height:15px; overflow:hidden; border-radius:999px; background:radial-gradient(circle at 0 0,rgba(34,34,34,.98),rgba(34,34,34,.92)); box-shadow:0 0 0 1px #292929,0 0 20px rgba(0,0,0,.35); }
.premium-global__track::after { content:""; position:absolute; inset:0; border-radius:inherit; background:linear-gradient(to bottom,rgba(255,255,255,.25),rgba(255,255,255,.01)); mix-blend-mode:soft-light; pointer-events:none; }
.premium-global__track span { position:absolute; inset:0 auto 0 0; width:0; border-radius:inherit; background-image:linear-gradient(90deg,#d4e8a0,#b7dc69),repeating-linear-gradient(-45deg,rgba(255,255,255,.46) 0,rgba(255,255,255,.16) 8px,rgba(255,255,255,.05) 8px,rgba(255,255,255,.05) 16px); background-size:100% 100%,40px 40px; background-blend-mode:soft-light,normal; box-shadow:0 0 12px rgba(183,220,105,.65),0 0 35px rgba(207,248,217,.8); filter:saturate(1.1); transition:width .25s ease-out; animation:premiumProgressShine 1.4s linear infinite; }
@keyframes premiumProgressShine { to { background-position:0 0,40px 0; } }
.premium-global > b { min-width:52px; padding:5px 11px; border:1px solid rgba(183,220,105,.2); border-radius:999px; color:var(--premium-accent); background:rgba(0,0,0,.3); font-size:13px; text-align:center; }

.premium-reader-grid { display:grid; grid-template-columns:300px minmax(0,1fr) 290px; align-items:start; gap:18px; }
.premium-chapters,.premium-summary,.premium-chapter { min-width:0; border:1px solid rgba(183,220,105,.15); border-radius:22px; background:rgba(13,16,12,.9); box-shadow:0 20px 50px rgba(0,0,0,.18); backdrop-filter:blur(10px); }
.premium-chapters,.premium-summary { position:sticky; top:calc(var(--premium-nav-height) + 92px); overflow:visible; }
.premium-panel-title { padding:22px 20px 17px; border-bottom:1px solid rgba(255,255,255,.075); }
.premium-panel-title span,.premium-panel-title small { display:block; }
.premium-panel-title span { color:#f0f3ed; font-size:18px; font-weight:700; }
.premium-panel-title small { margin-top:5px; color:#7d8678; font-size:14px; }
.premium-collapse-done { width:calc(100% - 30px); min-height:42px; display:flex; align-items:center; gap:10px; margin:14px 15px 7px; padding:0 12px; border:0; color:#9ab06e; background:transparent; font-size:13px; font-weight:650; text-align:left; }
.premium-collapse-done i { width:19px; height:19px; display:grid; place-items:center; border:1px solid rgba(183,220,105,.3); border-radius:50%; font-size:11px; font-style:normal; }
.premium-collapse-done.is-active i { color:#172014; background:var(--premium-accent); }
.premium-chapters nav { display:grid; gap:10px; padding:8px 15px 18px; }
.premium-chapter-button { position:relative; min-height:132px; display:grid; grid-template-columns:1fr auto; grid-template-rows:1fr auto; align-items:end; gap:4px 12px; overflow:hidden; padding:18px; border:1px solid rgba(255,255,255,.08); border-radius:17px; color:#fff; background:#171a15; text-decoration:none; isolation:isolate; }
.premium-chapter-button::after { content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(0deg,rgba(8,10,7,.8),rgba(8,10,7,.06) 76%),linear-gradient(90deg,rgba(8,10,7,.18),transparent 62%); }
.premium-chapter-image { position:absolute; inset:0; z-index:-2; }
.premium-chapter-image img { width:100%; height:100%; object-fit:cover; filter:saturate(.35) brightness(.7); transition:filter .18s ease,transform .25s ease; }
.premium-chapter-button:hover .premium-chapter-image img { transform:scale(1.035); filter:saturate(1) brightness(1); }
.premium-chapter-button.is-active { border-color:rgba(183,220,105,.55); box-shadow:inset 0 0 0 1px rgba(183,220,105,.1); }
.premium-chapter-button.is-active .premium-chapter-image img { filter:saturate(1) brightness(1); }
.premium-chapter-copy { align-self:end; min-width:0; }
.premium-chapter-copy small,.premium-chapter-copy strong { display:block; }
.premium-chapter-copy small { margin-bottom:3px; color:var(--premium-accent); font-size:10px; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.premium-chapter-copy strong { overflow:hidden; color:#f1f4ed; font-size:17px; line-height:1.12; text-overflow:ellipsis; }
.premium-chapter-button > b { color:#e6eadf; font-size:14px; white-space:nowrap; }
.premium-chapter-button > i { position:absolute; top:12px; right:12px; width:23px; height:23px; display:grid; place-items:center; border-radius:50%; color:#182015; background:var(--premium-accent); font-size:12px; font-style:normal; opacity:0; }
.premium-chapter-button.is-complete > i { opacity:1; }
.premium-all-done { margin:12px; padding:16px; color:#899283; font-size:14px; line-height:1.5; }

.premium-chapter { overflow:hidden; }
.premium-chapter:focus,.premium-chapter:focus-visible { outline:none; }
.premium-chapter-intro { padding:30px 32px 19px; }
.premium-chapter-intro h3 { margin:8px 0 8px; color:#f0f3ec; font-size:27px; }
.premium-chapter-intro > p:not(.premium-kicker) { max-width:760px; margin:0; color:#929b8e; font-size:16px; line-height:1.65; }
.premium-module-stack { display:grid; gap:12px; padding:12px 18px 24px; }
.premium-module-card { position:relative; display:grid; grid-template-columns:38px minmax(0,1fr); border:1px solid rgba(255,255,255,.085); border-radius:18px; background:rgba(255,255,255,.022); transition:opacity .2s ease,background .2s ease,border-color .2s ease; }
.premium-module-card:hover { border-color:rgba(183,220,105,.3); background:rgba(183,220,105,.035); }
.premium-module-card.is-complete { opacity:.56; background:rgba(183,220,105,.035); }
.premium-module-card.is-complete:hover { opacity:.82; }
.premium-module-check { width:20px; height:20px; align-self:center; justify-self:center; display:grid; place-items:center; padding:0; border:1px solid rgba(255,255,255,.14); border-radius:6px; color:var(--premium-accent); background:linear-gradient(135deg,rgba(0,0,0,.44),rgba(68,68,68,.08)); box-shadow:0 4px 16px rgba(0,0,0,.25); backdrop-filter:blur(6px) saturate(120%); }
.premium-module-check span,.premium-module-check svg { width:16px; height:16px; display:block; }
.premium-module-check[aria-pressed="true"] { border-color:rgba(183,220,105,.55); background:rgba(183,220,105,.18); box-shadow:0 0 9px rgba(183,220,105,.14); }
.premium-module-check[disabled] { opacity:.45; cursor:wait; }
.premium-module-card__link { min-width:0; display:grid; grid-template-columns:58px minmax(0,1fr) auto; align-items:center; gap:15px; padding:18px 19px 18px 2px; color:inherit; text-decoration:none; }
.premium-module-card__number { width:46px; aspect-ratio:1; display:grid; place-items:center; border:1px solid rgba(183,220,105,.18); border-radius:50%; color:var(--premium-accent); background:rgba(183,220,105,.045); font-size:13px; font-weight:700; }
.premium-module-card__copy { min-width:0; }
.premium-module-card__copy small,.premium-module-card__copy strong { display:block; }
.premium-module-card__copy small { color:var(--chapter-accent); font-size:10px; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
.premium-module-card__copy strong { margin-top:4px; color:#f0f3ed; font-size:20px; line-height:1.2; }
.premium-module-card__copy p { margin:7px 0 0; color:#90998c; font-size:14px; line-height:1.52; }
.premium-module-card__arrow { color:#a9c375; font-size:24px; }

.premium-reward { position:relative; min-height:210px; display:grid; grid-template-columns:48px 170px minmax(0,1fr); align-items:center; gap:22px; overflow:hidden; margin:8px 18px 25px; padding:26px 34px; border:1px solid rgba(183,220,105,.15); border-radius:20px; background:linear-gradient(90deg,rgba(183,220,105,.055),transparent); }
.premium-reward::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(10,13,9,.82),rgba(10,13,9,.52),rgba(10,13,9,.88)); pointer-events:none; }
.premium-reward > * { position:relative; z-index:1; }
.premium-reward__check { width:34px; height:34px; display:grid; place-items:center; padding:0; border:1px solid rgba(255,255,255,.18); border-radius:10px; color:#172014; background:rgba(8,10,8,.7); }
.premium-reward__check svg { width:20px; height:20px; }
.premium-reward.is-unlocked .premium-reward__check { border-color:var(--premium-accent); background:var(--premium-accent); }
.premium-reward__icon { width:160px; filter:grayscale(.76) brightness(.68) drop-shadow(0 12px 20px rgba(0,0,0,.5)); animation:premiumRewardFloat 3.2s ease-in-out infinite; }
.premium-reward.is-unlocked .premium-reward__icon { filter:drop-shadow(0 0 22px rgba(183,220,105,.4)); }
.premium-reward h3 { margin:6px 0 5px; font-size:34px; }
.premium-reward p:not(.premium-kicker) { margin:0; color:#9ca595; font-size:15px; }
.premium-reward small { display:block; margin-top:9px; color:#71805f; font-size:11px; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
@keyframes premiumRewardFloat { 50% { transform:translateY(-9px) rotate(1deg); } }
.premium-chapter-footer { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:0 18px 23px; }
.premium-chapter-footer button { min-height:46px; display:inline-flex; align-items:center; gap:18px; padding:0 17px; border:1px solid rgba(255,255,255,.1); border-radius:12px; color:#b1b9ac; background:rgba(255,255,255,.025); font-size:14px; font-weight:750; }
.premium-chapter-footer button:last-child { margin-left:auto; color:#172014; border-color:var(--premium-accent); background:var(--premium-accent); }

.premium-summary { display:flex; flex-direction:column; gap:14px; padding:16px; text-align:left; }
.premium-summary__progress { display:flex; align-items:center; gap:14px; }
.premium-summary__ring { position:relative; flex:0 0 auto; width:84px; height:84px; }
.premium-summary__ring svg { width:100%; height:100%; display:block; transform:rotate(-90deg); }
.premium-summary__track,.premium-summary__fill { fill:none; stroke-width:8; }
.premium-summary__track { stroke:rgba(255,255,255,.1); }
.premium-summary__fill { stroke:var(--premium-accent); stroke-linecap:round; transition:stroke-dashoffset .5s ease; }
.premium-summary__label { position:absolute; inset:0; display:flex; align-items:center; justify-content:center; color:#fff; font-size:16px; font-weight:800; font-variant-numeric:tabular-nums; }
.premium-summary__label strong { font-size:inherit; }
.premium-summary__label span { color:rgba(255,255,255,.45); }
.premium-summary__caption { color:rgba(255,255,255,.7); font-size:14px; font-weight:600; line-height:1.3; }

/* Dedicated module pages */
.premium-module-guide { width:min(100% - 36px,1380px); }
.premium-module-layout { display:grid; grid-template-columns:minmax(0,1fr); align-items:start; }
.premium-module-article { min-width:0; border:1px solid rgba(183,220,105,.15); border-radius:22px; background:rgba(13,16,12,.86); box-shadow:0 24px 60px rgba(0,0,0,.22); backdrop-filter:blur(12px); }
.premium-module-article { overflow:hidden; }
.premium-module-article.is-complete { border-color:rgba(183,220,105,.31); }
.premium-module-hero { position:relative; min-height:300px; display:flex; flex-direction:column; justify-content:flex-end; overflow:hidden; padding:32px 36px; background:linear-gradient(0deg,#0d100c 0%,rgba(13,16,12,.4) 77%),linear-gradient(90deg,rgba(10,13,9,.86),transparent); }
.premium-module-hero::after { content:""; position:absolute; inset:0; box-shadow:inset 0 -45px 80px #0d100c; pointer-events:none; }
.premium-module-hero > * { position:relative; z-index:1; }
.premium-module-hero > a { align-self:flex-start; margin-bottom:auto; color:#b8c1b2; font-size:14px; font-weight:700; text-decoration:none; }
.premium-module-hero h1 { max-width:850px; margin:8px 0 10px; color:#f4f7f1; font-size:1.8rem; font-weight:700; line-height:1.1; letter-spacing:0; }
.premium-module-hero > p:not(.premium-kicker) { max-width:760px; margin:0; color:rgba(255,255,255,.7); font-size:.85rem; font-style:italic; line-height:1.55; }
.premium-module-hero > span { position:absolute; right:32px; bottom:-18px; z-index:0; color:rgba(255,255,255,.04); font-size:130px; font-weight:700; line-height:1; }
.premium-module-copy { display:grid; gap:16px; padding:28px 34px 36px; }
.premium-program-videos { display:grid; gap:16px; margin-bottom:4px; }
.premium-program-video { overflow:hidden; margin:0; border:1px solid rgba(183,220,105,.2); border-radius:18px; background:#090b08; box-shadow:0 16px 34px rgba(0,0,0,.22); }
.premium-program-video > div { position:relative; aspect-ratio:16/9; background:#050605; }
.premium-program-video iframe { position:absolute; inset:0; width:100%; height:100%; border:0; }
.premium-program-video figcaption { padding:12px 16px; color:#dfe7d8; font-size:14px; font-weight:700; }
.premium-module-lead,.premium-prose { scroll-margin-top:170px; margin:0; color:#fff; font-size:1rem; line-height:1.6; }
.premium-module-lead { color:#fff; font-size:1rem; font-weight:400; line-height:1.6; }
.premium-content-callout { scroll-margin-top:170px; padding:14px 16px; border-left:4px solid var(--chapter-accent); border-radius:0; background:rgba(22,28,24,.4); }
.premium-content-callout h3 { margin:0 0 6px; color:#edf1e9; font-size:1.17rem; line-height:1.2; }
.premium-content-callout p { margin:0; color:#fff; font-size:1rem; line-height:1.6; }
.premium-content-list { padding:16px 18px; border:1px solid rgba(255,255,255,.05); border-radius:0; background:rgba(255,255,255,.03); }
.premium-content-list h3 { margin:0 0 10px; color:#eef1ea; font-size:1.17rem; line-height:1.2; }
.premium-content-list ul,.premium-content-list ol { display:grid; gap:8px; margin:0; padding-left:22px; }
.premium-content-list li { padding-left:3px; color:#fff; font-size:1rem; line-height:1.6; }
.premium-content-list li::marker { color:var(--chapter-accent); font-weight:850; }
.premium-task-list { padding:18px; border:1px solid rgba(183,220,105,.2); border-radius:16px; background:rgba(183,220,105,.07); }
.premium-task-list h3 { margin:0 0 12px; color:#eef1ea; font-size:1.17rem; line-height:1.2; }
.premium-task-list > div { display:grid; gap:10px; }
.premium-task { display:grid; grid-template-columns:28px minmax(0,1fr); align-items:center; gap:12px; min-height:54px; padding:12px 14px; border:1px solid rgba(255,255,255,.08); border-radius:12px; color:#fff; background:rgba(0,0,0,.16); cursor:pointer; }
.premium-task input { position:absolute; width:1px; height:1px; overflow:hidden; opacity:0; pointer-events:none; }
.premium-task > span { width:24px; height:24px; display:grid; place-items:center; border:2px solid var(--chapter-accent); border-radius:7px; background:rgba(255,255,255,.04); }
.premium-task > span::after { content:'✓'; color:#15210e; font-size:16px; font-weight:900; opacity:0; transform:scale(.6); transition:opacity .15s ease,transform .15s ease; }
.premium-task strong { font-size:1rem; line-height:1.45; transition:opacity .15s ease; }
.premium-task:focus-within { outline:3px solid var(--chapter-accent); outline-offset:3px; }
.premium-task.is-complete > span { background:var(--chapter-accent); }
.premium-task.is-complete > span::after { opacity:1; transform:scale(1); }
.premium-task.is-complete strong { opacity:.62; text-decoration:line-through; text-decoration-thickness:2px; }
.premium-task:has(input:disabled) { cursor:wait; opacity:.72; }
.premium-glossary { scroll-margin-top:170px; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:11px; }
.premium-glossary div { padding:18px; border:1px solid rgba(255,255,255,.075); border-radius:13px; background:rgba(255,255,255,.022); }
.premium-glossary dt { color:#eef1ea; font-size:1rem; font-weight:600; }
.premium-glossary dd { margin:5px 0 0; color:#b9c3bf; font-size:.875rem; line-height:1.5; }
.premium-workout-stack { scroll-margin-top:170px; display:grid; gap:16px; }
.premium-workout { overflow:hidden; border:1px solid color-mix(in srgb,var(--chapter-accent) 34%,transparent); border-radius:16px; }
.premium-workout > header { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:19px 20px; background:color-mix(in srgb,var(--chapter-accent) 9%,transparent); }
.premium-workout > header strong { color:#f1f4ed; font-size:1rem; font-weight:600; }
.premium-workout > header span { color:#a4aea0; font-size:14px; }
.premium-exercise-row { display:grid; grid-template-columns:minmax(155px,1fr) 72px minmax(104px,1fr) 68px 62px; align-items:center; gap:12px; padding:15px 19px; border-top:1px solid rgba(255,255,255,.065); color:#abb4a7; font-size:14px; }
.premium-exercise-row strong { color:#e7ebe3; font-size:15px; }
.premium-exercise-row small { grid-column:1/-1; color:#858e81; font-size:13px; }
.premium-exercise-stat { display:grid; gap:2px; }
.premium-exercise-stat i { color:#747f72; font-size:9px; font-style:normal; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.premium-meal-grid { scroll-margin-top:170px; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:11px; }
.premium-meal-card { padding:18px; border:1px solid rgba(255,255,255,.075); border-radius:14px; background:rgba(255,255,255,.022); }
.premium-meal-card > div { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.premium-meal-card strong { font-size:1rem; }
.premium-meal-card b { color:var(--chapter-accent); font-size:15px; }
.premium-meal-card p { margin:9px 0 0; color:#9ca598; font-size:15px; line-height:1.55; }
.premium-faq-list { scroll-margin-top:170px; border:1px solid rgba(255,255,255,.075); border-radius:16px; padding:5px 22px; background:rgba(255,255,255,.018); }
.premium-faq { border-top:1px solid rgba(255,255,255,.07); }
.premium-faq:first-child { border-top:0; }
.premium-faq summary { padding:16px 2px; color:#e8ece5; font-size:1rem; font-weight:600; cursor:pointer; }
.premium-faq p { margin:0 0 18px; color:#fff; font-size:1rem; line-height:1.6; }
.premium-content-visual,.premium-content-gallery { scroll-margin-top:170px; margin:0; overflow:hidden; border:1px solid rgba(255,255,255,.075); border-radius:16px; background:#f7f8f6; }
.premium-content-visual img { width:100%; height:auto; display:block; }
.premium-content-visual--diagram { max-width:760px; justify-self:center; }
.premium-content-visual--portrait { max-width:480px; justify-self:center; }
.premium-content-visual figcaption,.premium-content-gallery figcaption { padding:12px 16px; color:#aab3a6; background:#151a14; font-size:13px; line-height:1.45; }
.premium-content-gallery > div { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:1px; background:rgba(255,255,255,.1); }
.premium-content-gallery article { min-width:0; display:grid; align-content:start; justify-items:center; padding:12px 8px 10px; background:#f7f8f6; }
.premium-content-gallery article img { width:100%; height:auto; display:block; }
.premium-content-gallery article strong { padding-top:7px; color:#263e61; font-size:12px; line-height:1.2; text-align:center; }
.premium-reference-pages,.premium-meal-atlas,.premium-protocols { scroll-margin-top:170px; display:grid; gap:14px; margin:0; }
.premium-reference-pages > header h3,.premium-meal-atlas > header h3,.premium-protocols > header h3 { margin:0 0 6px; color:#edf1e9; font-size:1.25rem; }
.premium-reference-pages > header p,.premium-meal-atlas > header p,.premium-protocols > header p { margin:0; color:#aab3a6; font-size:.95rem; line-height:1.55; }
.premium-reference-pages > div { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
.premium-reference-pages article,.premium-meal-level { overflow:hidden; border:1px solid rgba(255,255,255,.075); border-radius:16px; background:rgba(255,255,255,.022); }
.premium-reference-pages article > strong { display:block; padding:13px 14px; color:#edf1e9; font-size:.95rem; }
.premium-reference-pages a,.premium-meal-level a { position:relative; display:block; overflow:hidden; background:#f7f8f6; }
.premium-reference-pages img,.premium-meal-level img { width:100%; height:auto; display:block; transition:transform .22s ease; }
.premium-reference-pages a:hover img,.premium-meal-level a:hover img { transform:scale(1.015); }
.premium-reference-pages a span,.premium-meal-level a span { position:absolute; right:9px; bottom:9px; padding:6px 9px; border-radius:999px; color:#fff; background:rgba(31,58,95,.88); font-size:10px; font-weight:800; }
.premium-reference-pages figcaption { color:#aab3a6; font-size:13px; line-height:1.45; }
.premium-source-pages { scroll-margin-top:170px; display:grid; gap:18px; margin:0; }
.premium-source-pages > header { display:grid; gap:7px; }
.premium-source-pages > header .premium-kicker { margin:0; }
.premium-source-pages > header h3 { margin:0; color:#edf1e9; font-size:clamp(1.35rem,2vw,1.8rem); }
.premium-source-pages > header > p:last-child { margin:0; color:#aab3a6; line-height:1.6; }
.premium-source-pages__list { display:grid; gap:24px; }
.premium-source-page { overflow:hidden; border:1px solid rgba(255,255,255,.08); border-radius:18px; background:rgba(255,255,255,.025); }
.premium-source-page > header { display:flex; align-items:center; justify-content:space-between; gap:14px; padding:14px 16px; }
.premium-source-page > header strong { color:#edf1e9; font-size:.95rem; }
.premium-source-page > header a { color:#b7dc69; font-size:.78rem; font-weight:800; text-decoration:none; }
.premium-source-page__image { display:block; overflow:hidden; background:#fff; }
.premium-source-page__image img { display:block; width:100%; height:auto; }
.premium-source-page__transcript { border-top:1px solid rgba(255,255,255,.08); }
.premium-source-page__transcript summary { padding:14px 16px; color:#d7ded2; cursor:pointer; font-weight:800; }
.premium-source-page__transcript > div { padding:0 16px 18px; color:#b8c1b4; font-size:.94rem; line-height:1.72; white-space:pre-line; }
.premium-meal-level > summary,.premium-protocol > summary { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:16px 18px; color:#edf1e9; cursor:pointer; list-style:none; }
.premium-meal-level > summary::-webkit-details-marker,.premium-protocol > summary::-webkit-details-marker { display:none; }
.premium-meal-level > summary::after,.premium-protocol > summary::after { content:'+'; color:var(--chapter-accent); font-size:23px; line-height:1; }
.premium-meal-level[open] > summary::after,.premium-protocol[open] > summary::after { content:'−'; }
.premium-meal-level > summary strong { font-size:1.05rem; }
.premium-meal-level > summary span { margin-left:auto; color:#98a293; font-size:12px; }
.premium-meal-level > div { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1px; padding:1px; background:rgba(255,255,255,.1); }
.premium-meal-level article { min-width:0; background:#f7f8f6; }
.premium-meal-level h4 { margin:0; padding:12px 14px; color:#263e61; background:#edf3fc; font-size:.95rem; }
.premium-protocol { overflow:hidden; border:1px solid rgba(255,255,255,.075); border-radius:16px; background:rgba(255,255,255,.022); }
.premium-protocol > summary { justify-content:flex-start; }
.premium-protocol > summary span { color:#edf1e9; font-size:1rem; font-weight:800; }
.premium-protocol > summary small { margin-left:auto; color:#98a293; font-size:12px; }
.premium-protocol > div { display:grid; gap:16px; padding:4px 18px 20px; }
.premium-protocol aside { padding:13px 15px; border-left:4px solid var(--chapter-accent); background:rgba(255,255,255,.035); }
.premium-protocol aside b,.premium-protocol-exit b { color:#edf1e9; }
.premium-protocol aside p,.premium-protocol-exit { margin:5px 0 0; color:#b6c0b2; font-size:.94rem; line-height:1.55; }
.premium-protocol h4 { margin:0; color:#edf1e9; font-size:.92rem; }
.premium-protocol-identify,.premium-protocol-monitor { display:grid; gap:10px; padding:15px; border-radius:13px; background:rgba(255,255,255,.035); }
.premium-protocol-identify ul,.premium-protocol-monitor ul { display:grid; gap:8px; margin:0; padding-left:20px; }
.premium-protocol-identify li,.premium-protocol-monitor li { color:#b6c0b2; font-size:.94rem; line-height:1.5; }
.premium-protocol-identify li::marker,.premium-protocol-monitor li::marker { color:var(--chapter-accent); }
.premium-protocol-plan { display:grid; gap:12px; }
.premium-protocol ol { display:grid; gap:14px; margin:0; padding-left:24px; }
.premium-protocol li::marker { color:var(--chapter-accent); font-weight:800; }
.premium-protocol li strong { color:#edf1e9; }
.premium-protocol li p { margin:4px 0 0; color:#b6c0b2; font-size:.94rem; line-height:1.55; }
.premium-module-finish { margin:0 30px 30px; padding:31px; border:1px solid rgba(183,220,105,.23); border-radius:18px; background:linear-gradient(135deg,rgba(183,220,105,.08),rgba(183,220,105,.02)); }
.premium-module-finish h2 { margin:8px 0; font-size:1.5rem; line-height:1.2; }
.premium-module-finish > p:not(.premium-kicker) { margin:0 0 20px; color:#a7b0a2; font-size:16px; line-height:1.65; }
.premium-module-finish--compact { padding:0; border:0; border-radius:0; background:transparent; }
.premium-complete-button { min-height:46px; display:inline-flex; align-items:center; gap:10px; padding:0 16px; border:1px solid rgba(183,220,105,.38); border-radius:999px; color:#bfd78f; background:rgba(183,220,105,.06); font-size:14px; font-weight:800; }
.premium-complete-button i { width:19px; height:19px; display:grid; place-items:center; border:1px solid currentColor; border-radius:6px; font-style:normal; }
.premium-complete-button.is-complete { color:#172014; border-color:var(--premium-accent); background:var(--premium-accent); }
.premium-module-pagination { display:grid; grid-template-columns:1fr 1fr; gap:12px; padding:0 30px 32px; }
.premium-module-pagination a { min-height:82px; display:flex; flex-direction:column; justify-content:center; padding:15px 18px; border:1px solid rgba(255,255,255,.08); border-radius:14px; color:#e6eae2; background:rgba(255,255,255,.02); text-decoration:none; }
.premium-module-pagination a:last-child { text-align:right; }
.premium-module-pagination small { color:#818a7d; font-size:12px; }
.premium-module-pagination strong { margin-top:5px; font-size:15px; }
@media (max-width:1200px) {
  .premium-reader-grid { grid-template-columns:280px minmax(0,1fr); }
  .premium-summary { position:static; grid-column:1/-1; max-height:none; }
}
@media (max-width:900px) {
  :root { --premium-nav-height:64px; }
  .premium-guide,.premium-module-guide { width:min(100% - 20px,760px); padding-top:calc(var(--premium-nav-height) + 18px); }
  .premium-hero { min-height:0; grid-template-columns:1fr; margin-bottom:18px; }
  .premium-hero__copy { padding:28px 20px 6px; }
  .premium-back { margin-bottom:30px; }
  .premium-hero h1 { font-size:clamp(44px,11vw,64px); }
  .premium-hero__copy > p:not(.premium-kicker) { font-size:17px; }
  .premium-hero__visual { min-height:220px; }
  .premium-hero__visual img { max-height:250px; }
  .premium-global { top:var(--premium-nav-height); grid-template-columns:1fr auto; gap:9px 14px; margin:12px 0 18px; padding:9px 0; }
  .premium-global__track { grid-column:1/-1; grid-row:2; }
  .premium-global > b { grid-column:2; grid-row:1; }
  .premium-reader-grid { display:flex; flex-direction:column; }
  .premium-chapters,.premium-summary,.premium-chapter { width:100%; }
  .premium-summary { position:static; max-height:none; order:1; }
  .premium-chapters { position:static; max-height:none; order:2; }
  .premium-chapter { order:3; }
  .premium-chapters nav { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .premium-chapter-button { min-height:150px; }
  .premium-module-article { width:100%; }
}
@media (max-width:600px) {
  .premium-guide,.premium-module-guide { width:calc(100% - 14px); padding-bottom:50px; }
  .premium-hero__copy { padding:24px 12px 4px; }
  .premium-back { margin-bottom:28px; }
  .premium-hero h1 { margin-top:10px; font-size:clamp(40px,13vw,56px); }
  .premium-state { align-items:flex-start; flex-wrap:wrap; padding:22px 18px; }
  .premium-state > a,.premium-state > button { width:100%; }
  .premium-chapters nav { grid-template-columns:1fr; }
  .premium-chapter-button { min-height:142px; }
  .premium-chapter-intro { padding:24px 20px 14px; }
  .premium-module-stack { padding:10px 10px 20px; }
  .premium-module-card { grid-template-columns:36px minmax(0,1fr); }
  .premium-module-card__link { grid-template-columns:48px minmax(0,1fr); gap:10px; padding:14px 12px 14px 0; }
  .premium-module-card__number { width:44px; font-size:12px; }
  .premium-module-card__copy strong { font-size:18px; }
  .premium-module-card__copy p { font-size:13px; }
  .premium-module-card__arrow { display:none; }
  .premium-module-check { width:20px; height:20px; border-radius:6px; }
  .premium-module-check span,.premium-module-check svg { width:16px; height:16px; }
  .premium-reward { min-height:0; grid-template-columns:38px 90px minmax(0,1fr); gap:12px; margin:5px 10px 20px; padding:22px 15px; }
  .premium-reward__icon { width:90px; }
  .premium-reward h3 { font-size:26px; }
  .premium-reward p:not(.premium-kicker) { font-size:13px; }
  .premium-chapter-footer { flex-direction:column; padding:0 10px 18px; }
  .premium-chapter-footer button,.premium-chapter-footer button:last-child { width:100%; justify-content:space-between; margin:0; }
  .premium-summary { padding:16px; }
  .premium-module-hero { min-height:280px; padding:24px 20px; }
  .premium-module-hero h1 { font-size:1.8rem; }
  .premium-module-hero > p:not(.premium-kicker) { font-size:.85rem; }
  .premium-module-copy { gap:14px; padding:24px 18px 30px; }
  .premium-module-lead,.premium-prose { font-size:1rem; }
  .premium-glossary,.premium-meal-grid { grid-template-columns:1fr; }
  .premium-content-visual,.premium-content-gallery { border-radius:12px; }
  .premium-content-gallery > div { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .premium-content-gallery article:last-child:nth-child(odd) { grid-column:1/-1; }
  .premium-content-gallery article:last-child:nth-child(odd) img { max-width:210px; }
  .premium-content-visual figcaption,.premium-content-gallery figcaption { padding:11px 13px; font-size:12px; }
  .premium-exercise-row { grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; padding:13px; }
  .premium-exercise-row > strong { grid-column:1/-1; }
  .premium-exercise-stat { min-width:0; }
  .premium-reference-pages > div { grid-template-columns:1fr; }
  .premium-source-pages__list { gap:18px; }
  .premium-source-page { border-radius:12px; }
  .premium-source-page > header { padding:12px 13px; }
  .premium-source-page__transcript summary { padding:12px 13px; }
  .premium-source-page__transcript > div { padding:0 13px 15px; font-size:.88rem; line-height:1.65; }
  .premium-meal-level > summary,.premium-protocol > summary { align-items:flex-start; flex-wrap:wrap; gap:7px 12px; padding:15px; }
  .premium-meal-level > summary span,.premium-protocol > summary small { width:calc(100% - 30px); margin-left:0; }
  .premium-meal-level > summary::after,.premium-protocol > summary::after { margin-left:auto; }
  .premium-meal-level > div { grid-template-columns:1fr; }
  .premium-workout > header { align-items:flex-start; flex-direction:column; }
  .premium-module-finish { margin:0 12px 20px; padding:24px 20px; }
  .premium-module-finish--compact { padding:0; }
  .premium-complete-button--finish { width:100%; justify-content:center; }
  .premium-module-pagination { grid-template-columns:1fr; padding:0 12px 22px; }
  .premium-module-pagination a:last-child { text-align:left; }
}
@media (prefers-reduced-motion:reduce) {
  .premium-spinner,.premium-global__track span,.premium-reward__icon { animation:none; }
  .premium-global__track span { transition:none; }
}
