/* Free resource library: readable editorial pages, sharing the Apex Iron identity. */
.resource-page { background: #f3f0e9; color: #1c2227; }
.resource-page .nav { background: #090c0f; }
.resource-page .nav a,.resource-page .brand { color: #f7f8fa; }
.resource-page .nav-links { gap: 22px; }
.resource-page main { padding-top: 74px; }
.resource-page .footer { background:#090c0f; color:#c8ced5; }
.resource-page .eyebrow,.home-resource .eyebrow { color:#aa1d25; font-weight:900; letter-spacing:.16em; text-transform:uppercase; font-size:.75rem; }
.resource-wrap { width:min(1120px,calc(100% - 48px)); margin-inline:auto; }
.resource-page .button-primary,.home-resource .button-primary { background:#b41d28; color:#fff; box-shadow:none; }
.resource-page .button-primary:hover,.home-resource .button-primary:hover { background:#921620; }
.resource-page .button-secondary,.home-resource .button-secondary { background:transparent; color:#20272d; border-color:#a5a8a7; backdrop-filter:none; }
.resource-hero { padding:72px 0 62px; border-bottom:1px solid #d5d3cc; }
.resource-hero h1 { max-width:900px; font-size:clamp(2.7rem,6.5vw,5.4rem); line-height:.99; letter-spacing:-.055em; margin-bottom:24px; }
.resource-hero .lede { max-width:650px; color:#535a5d; font-size:1.16rem; line-height:1.7; }
.resource-meta { display:flex; flex-wrap:wrap; gap:9px 18px; color:#62696c; font-size:.8rem; line-height:1.5; margin-top:25px; }
.resource-actions { display:flex; flex-wrap:wrap; gap:12px; margin:26px 0 18px; }
.resource-actions .button { text-align:center; padding-block:13px; line-height:1.4; }
.resource-hero-split { display:grid; grid-template-columns:1.12fr .88fr; gap:60px; align-items:center; }
.resource-cover { position:relative; overflow:hidden; min-height:480px; border-radius:7px; background:#11171a; box-shadow:0 25px 60px #17202126; color:#fff; }
.resource-cover img { width:100%; height:100%; position:absolute; inset:0; object-fit:cover; }
.resource-cover::after { content:""; position:absolute; inset:0; background:linear-gradient(0deg,#03090ee6,transparent 80%); }
.resource-cover-copy { position:absolute; z-index:1; inset:auto 30px 28px; }
.resource-cover-copy span { color:#c9f443; display:block; font-size:.75rem; font-weight:800; letter-spacing:.15em; text-transform:uppercase; margin-bottom:14px; }
.resource-cover-copy strong { display:block; max-width:320px; font-size:3.2rem; letter-spacing:-.045em; line-height:.95; }
.resource-cover-copy p { margin:16px 0 0; font-size:.86rem; line-height:1.5; color:#e1e5e7; }
.resource-feature { display:grid; grid-template-columns:1fr 1fr; overflow:hidden; border:1px solid #d4d4cf; background:#fff; border-radius:8px; margin:48px 0 28px; }
.resource-feature .resource-cover { border-radius:0; min-height:420px; box-shadow:none; }
.resource-feature-copy { padding:42px; align-self:center; }
.resource-feature h2 { font-size:clamp(2rem,4vw,3.2rem); line-height:1.05; letter-spacing:-.035em; margin-bottom:18px; }
.resource-feature p { color:#535a5d; line-height:1.7; }
.resource-tags { display:flex; flex-wrap:wrap; gap:8px; margin:20px 0; }
.resource-tags span { border:1px solid #cfd3ce; border-radius:4px; padding:7px 9px; font-size:.73rem; font-weight:700; }
.resource-grid { display:grid; grid-template-columns:1fr 1fr; gap:24px; margin-bottom:52px; }
.resource-card { display:flex; flex-direction:column; border:1px solid #d4d4cf; background:#fff; border-radius:8px; overflow:hidden; }
.resource-card-visual { height:205px; background:#0d1718; color:#c9f443; display:flex; flex-direction:column; justify-content:center; padding:30px; position:relative; overflow:hidden; }
.resource-card-visual::after { content:""; position:absolute; width:210px; height:210px; border:34px solid currentColor; opacity:.1; border-radius:50%; right:-45px; top:15px; }
.resource-card-visual strong { font-size:clamp(3rem,6vw,4.7rem); font-weight:900; letter-spacing:-.06em; line-height:1; }
.resource-card-visual span { margin-top:12px; font-size:.76rem; letter-spacing:.17em; font-weight:800; text-transform:uppercase; }
.resource-card-visual.strength { color:#ff9a83; background:#251518; }
.resource-card-body { padding:28px; flex:1; display:flex; flex-direction:column; align-items:flex-start; }
.resource-card h2 { font-size:1.65rem; line-height:1.14; letter-spacing:-.035em; }
.resource-card p { color:#535a5d; line-height:1.65; flex:1; }
.resource-text-link { color:#a61d27; font-weight:800; text-decoration:underline; text-underline-offset:4px; line-height:1.6; }
.resource-principles { padding:32px 0 58px; border-top:1px solid #d5d3cc; display:grid; grid-template-columns:1fr 1fr 1fr; gap:32px; }
.resource-principles h3 { font-size:1rem; }
.resource-principles p { color:#596164; line-height:1.65; font-size:.9rem; margin-bottom:0; }
.article-layout { display:grid; grid-template-columns:210px minmax(0,1fr); gap:56px; padding-top:44px; padding-bottom:70px; }
.article-toc { position:sticky; top:110px; align-self:start; }
.article-toc p { text-transform:uppercase; letter-spacing:.12em; font-weight:800; font-size:.7rem; color:#686e70; }
.article-toc a { display:block; padding:10px 0; font-size:.83rem; border-bottom:1px solid #d5d3cc; line-height:1.4; color:#434d50; }
.article-toc a:hover { color:#aa1d25; }
.article-body { min-width:0; }
.article-section { margin-bottom:46px; scroll-margin-top:105px; }
.article-section h2 { font-size:clamp(1.8rem,3.6vw,2.5rem); line-height:1.08; letter-spacing:-.04em; margin-bottom:20px; }
.article-section h3 { font-size:1.2rem; line-height:1.35; margin:25px 0 12px; }
.article-section p,.article-section li { color:#434c50; line-height:1.75; font-size:1rem; }
.article-section p { margin-bottom:17px; }
.article-section ul,.article-section ol { padding-left:22px; }
.article-section li { padding-left:3px; margin-bottom:9px; }
.article-section a:not(.button) { color:#a41d26; text-decoration:underline; text-underline-offset:3px; }
.article-note { padding:22px 24px; background:#e7e8df; border-left:4px solid #647838; margin:23px 0; }
.article-note p:last-child { margin-bottom:0; }
.article-note strong { color:#232d22; }
.article-note.attention { background:#f1e7da; border-left-color:#a06724; }
.article-stat-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; margin:27px 0; }
.article-stat { background:#111a1d; color:#fff; border-radius:5px; padding:22px 17px; }
.article-stat strong { color:#c9f443; display:block; font-size:2.4rem; font-weight:900; line-height:1; }
.article-stat span { display:block; margin-top:12px; font-size:.75rem; line-height:1.5; color:#d4dede; }
.week-grid { display:grid; grid-template-columns:1fr 1fr; gap:14px; margin:25px 0; }
.week-card { background:#fff; border:1px solid #d4d4cf; border-radius:6px; padding:23px; }
.week-card .week-kicker { color:#a91f2a; text-transform:uppercase; font-size:.7rem; letter-spacing:.12em; font-weight:900; margin:0 0 9px; }
.week-card h3 { font-size:1.25rem; margin:0 0 12px; }
.week-card p { font-size:.88rem; line-height:1.65; margin:0 0 12px; }
.week-card p:last-child { margin:0; }
.week-minutes { display:flex; align-items:baseline; gap:7px; padding-top:15px; border-top:1px solid #e1e2dc; margin-top:17px; }
.week-minutes strong { font-size:1.45rem; color:#202d25; white-space:nowrap; }
.week-minutes span { color:#5c645d; font-size:.72rem; }
.workout-panel { background:#fff; border:1px solid #d4d4cf; border-radius:6px; padding:25px; margin:18px 0; }
.workout-panel h3 { margin-top:0; }
.workout-panel h4 { font-size:1.1rem; margin:0 0 12px; line-height:1.4; }
.training-choices { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr)); gap:14px; margin:24px 0; }
.article-section .training-choices a { display:flex; flex-direction:column; gap:8px; padding:22px; border-radius:7px; background:#111a1d; color:#fff; text-decoration:none; border:2px solid transparent; }
.training-choices strong { color:#d0f04a; font-size:1.1rem; line-height:1.4; }
.training-choices span { color:#d4dede; font-size:1rem; line-height:1.5; }
.article-section .training-choices a:focus-visible { outline:3px solid #aa1d25; outline-offset:3px; }
.training-track { scroll-margin-top:105px; margin:34px 0; padding-top:24px; border-top:2px solid #c5cac0; }
.training-track h3 { font-size:1.6rem; }
.workout-table tbody th[scope="row"] { font-size:.9rem; text-transform:none; letter-spacing:normal; width:31%; }
.workout-table .visually-hidden { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.workout-table { width:100%; border-collapse:collapse; margin-top:16px; }
.workout-table th,.workout-table td { text-align:left; border-bottom:1px solid #e0e1da; padding:13px 10px 13px 0; vertical-align:top; color:#414a4d; font-size:.86rem; line-height:1.55; }
.workout-table th { color:#29322e; font-size:.7rem; letter-spacing:.07em; text-transform:uppercase; }
.workout-table td:first-child { font-weight:750; color:#242d28; width:31%; }
.workout-table td:last-child { width:42%; }
.plate-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:12px; margin:25px 0; }
.article-meal { margin:25px 0; }
.article-meal img { width:100%; max-height:410px; object-fit:cover; border-radius:7px; }
.article-meal figcaption { color:#5a645d; font-size:.78rem; line-height:1.65; margin-top:10px; }
.plate-card { padding:23px; border-radius:6px; background:#e8eadd; }
.plate-card:nth-child(2) { background:#f0e0d6; }
.plate-card:nth-child(3) { background:#e3e7e6; }
.plate-card:nth-child(4) { background:#ece5d7; }
.plate-card strong { display:block; font-size:1.15rem; margin-bottom:10px; color:#29332b; }
.plate-card p { font-size:.9rem; line-height:1.6; margin-bottom:0; }
.article-sources { border-top:1px solid #cccfc6; padding-top:25px; }
.article-sources li { font-size:.84rem; }
.article-cta { padding:32px; border-radius:7px; background:#10191c; color:#fff; margin:32px 0; }
.article-cta h2 { color:#fff; font-size:2rem; }
.article-cta p { color:#c5d0d3; }
.article-cta .button-secondary { color:#fff; border-color:#667071; }
.article-cta .button-primary { background:#c9f443; color:#142117; }
.calculator { border:1px solid #cbd0c7; border-radius:8px; background:#fff; overflow:hidden; margin:25px 0; }
.calculator-head { background:#102022; padding:25px; color:#fff; }
.calculator-head h3 { margin:0 0 10px; color:#fff; }
.calculator-head p { margin:0; color:#d6e1e1; font-size:.88rem; }
.calculator-form { padding:25px; }
.calculator-fields { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.calc-field { display:flex; flex-direction:column; gap:7px; }
.calc-field label,.calculator legend { font-size:.83rem; font-weight:800; color:#29312d; }
.calc-field input,.calc-field select { width:100%; min-height:47px; border:1px solid #aab4ad; border-radius:4px; background:#fafbf7; color:#222c26; padding:11px; font:inherit; }
.calc-field small { color:#616b64; font-size:.74rem; line-height:1.5; }
.calculator fieldset { border:0; padding:0; margin:0 0 23px; }
.unit-choices { display:flex; gap:18px; flex-wrap:wrap; margin-top:10px; }
.unit-choices label { display:flex; gap:8px; align-items:center; font-size:.88rem; }
.calculator input[type=radio],.calculator input[type=checkbox] { accent-color:#993020; width:18px; height:18px; flex:none; }
.calc-consent { display:flex; gap:10px; align-items:flex-start; margin:25px 0 19px; }
.calc-consent span { font-size:.83rem; color:#424d45; line-height:1.6; }
.calc-consent input { margin-top:4px; }
.calc-error { color:#a51b25!important; font-weight:700; font-size:.87rem!important; }
.calc-result { background:#e5efce; padding:25px; }
.calc-result h3 { margin-top:0; }
.calc-result .calc-number { font-size:clamp(1.8rem,5vw,2.8rem); color:#20311b; font-weight:900; letter-spacing:-.04em; margin-bottom:8px; }
.calc-result p { font-size:.9rem; }
.calc-result p:last-child { margin-bottom:0; }
.equation { padding:23px; background:#112123; color:#d6edb3; border-radius:5px; line-height:1.8; font-size:.96rem; overflow-wrap:anywhere; }
.equation strong { color:#c9f443; }
.home-resource { padding:85px 0; background:#efede5; color:#1c2227; }
.home-resource .resource-feature { margin:0; }
.home-resource .resource-feature-copy { padding:40px; }
.home-resource p { max-width:580px; }
.home-resource .resource-text-link { display:inline-block; margin-top:18px; }
.home-page .nav-links { gap:20px; }
.platform-card-ios .platform-mail-note { display:block; margin:13px 0 0; text-align:left; line-height:1.65; font-size:.77rem; }
.platform-card-ios .button { white-space:normal; text-align:center; padding-block:12px; line-height:1.4; }
@media(min-width:841px) and (max-width:1000px) { .home-page .nav-links { gap:12px; font-size:.77rem; } }
@media(max-width:840px) {
 .resource-hero { padding:44px 0; }
 .resource-hero-split { gap:32px; grid-template-columns:1fr; }
 .resource-hero-split .resource-cover { min-height:380px; }
 .resource-feature { grid-template-columns:1fr; }
 .resource-feature .resource-cover { min-height:320px; }
 .resource-feature-copy { padding:30px; }
 .article-layout { grid-template-columns:1fr; gap:24px; padding-top:28px; }
 .article-toc { position:static; display:flex; flex-wrap:wrap; gap:8px; }
 .article-toc p { width:100%; margin-bottom:4px; }
 .article-toc a { border:1px solid #c7cbc4; padding:8px 11px; border-radius:4px; }
 .resource-principles { grid-template-columns:1fr; gap:22px; }
 .resource-card-visual { height:175px; }
 .resource-page .nav-links { gap:0; }
}
@media(max-width:560px) {
 .resource-wrap { width:calc(100% - 32px); }
 .resource-hero h1 { font-size:2.85rem; }
 .resource-grid,.week-grid,.plate-grid { grid-template-columns:1fr; }
 .resource-feature-copy,.home-resource .resource-feature-copy { padding:24px; }
 .resource-cover-copy { inset:auto 24px 24px; }
 .resource-cover-copy strong { font-size:2.8rem; }
 .resource-actions { flex-direction:column; align-items:stretch; }
 .article-stat-grid { gap:7px; }
 .article-stat { padding:18px 10px; }
 .article-stat strong { font-size:2rem; }
 .article-stat span { font-size:.69rem; }
 .workout-panel { padding:17px; }
 .workout-table th,.workout-table td { font-size:.76rem; padding-right:7px; }
 .workout-table th { font-size:.62rem; letter-spacing:0; }
 .training-track .workout-table thead { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; }
 .training-track .workout-table,.training-track .workout-table tbody { display:block; width:100%; }
 .training-track .workout-table tr { display:block; padding:15px 0; border-bottom:1px solid #d0d6cc; }
 .training-track .workout-table tbody th[scope="row"],.training-track .workout-table td { display:block; width:100%; border:0; padding:4px 0; font-size:1rem; line-height:1.6; overflow-wrap:anywhere; }
 .training-track .workout-table td::before { content:attr(data-label); display:block; font-size:.8rem; font-weight:750; color:#64705d; }
 .calculator-fields { grid-template-columns:1fr; }
 .calculator-form,.calculator-head,.calc-result { padding:20px; }
 .article-cta { padding:25px; }
 .home-resource { padding:48px 0; }
}
@media print {
 .resource-page { background:#fff; color:#000; }
 .resource-page .nav,.resource-page .footer,.article-toc,.resource-actions,.calculator,.article-cta { display:none; }
 .resource-page main { padding:0; }
 .resource-wrap { width:100%; }
 .resource-hero { padding:0 0 24px; }
 .resource-hero-split { display:block; }
 .resource-hero .resource-cover { display:none; }
 .article-layout { display:block; padding-top:24px; }
 .article-section,.week-card,.workout-panel { break-inside:avoid; }
 .resource-page .article-section p,.resource-page .article-section li { color:#222; }
}
