.blog-main { max-width: 1040px; margin: auto; padding: clamp(28px, 5vw, 64px) 24px; }
.blog-heading { margin-bottom: 32px; }
.blog-heading .crumbs { color: var(--c-steel); flex-wrap: wrap; margin-bottom: 28px; }
.blog-heading h1 { font-size: clamp(32px, 4.5vw, 54px); line-height: 1.1; letter-spacing: -.025em; max-width: 26ch; margin: 16px 0 24px; }
.blog-byline { font-size: .95rem; color: var(--c-steel); }
.blog-meta { display:flex; align-items:center; flex-wrap:wrap; gap:12px 18px; }
.blog-main .blog-share { display:inline-flex; align-items:center; gap:8px; min-height:44px; padding:10px 14px; background:transparent; border:1px solid #286342; color:#205334; font-size:.85rem; text-transform:none; letter-spacing:normal; white-space:normal; }
.blog-main .blog-share:hover { background:#e3eee5; color:#173d26; }
.blog-body { max-width: 900px; }
.blog-body > p { max-width: 78ch; }
.blog-body > p:first-child { font-size: 1.15rem; }
.blog-body h2 { margin-top: 44px; line-height: 1.25; font-size: clamp(24px, 3vw, 32px); scroll-margin-top: 140px; }
.blog-main a:not(.btn):not(.calculator-primary):not(.blog-card-image) { text-decoration: underline; text-underline-offset: 3px; }
.blog-main :focus-visible { outline: 3px solid #2057a3; outline-offset: 4px; }
.blog-main ul, .blog-main ol { padding-left: 24px; }
.blog-main ul { list-style: disc; }
.blog-main li { margin: 8px 0; }
.blog-toc, .blog-help, .blog-editorial { padding: 24px; background: var(--c-bone); margin: 28px 0; border: 1px solid var(--c-concrete); }
.blog-editorial { font-size: .95rem; }
.blog-editorial h2 { margin-top: 0; }
.blog-figure { max-width: 640px; margin: 28px auto; }
.blog-figure img { display: block; width: 100%; height: auto; }
.blog-figure figcaption { font-size: .85rem; margin-top: 8px; color: var(--c-steel); }
.blog-table { overflow-x: auto; margin: 24px 0; }
.blog-table table { width: 100%; border-collapse: collapse; font-size: .95rem; min-width: 640px; }
.blog-table th, .blog-table td { padding: 14px; border: 1px solid var(--c-aluminum); text-align: left; vertical-align: top; }
.blog-table th { background: var(--c-graphite); color: white; }
.blog-table td { background: var(--c-bone); }
.blog-card { display: grid; grid-template-columns: 1fr 1.4fr; gap: 32px; padding: 24px; border: 1px solid var(--c-aluminum); background: var(--c-bone); }
.blog-card h3 { font-size: 1.6rem; line-height: 1.25; margin-top: 12px; }
.blog-card-image { align-self: start; }
.blog-card img { display: block; width: 100%; height: auto; }
.blog-body .gym-calculator h2 { font-size: 1.5rem; }
.blog-body .gym-calculator h3 { font-size: 1.4rem; margin-top: 0; }
.blog-list { display: grid; gap: 28px; }
.blog-filter { display: flex; flex-wrap: wrap; gap: 12px; margin: 24px 0; }
.blog-filter a { padding: 10px 14px; border: 1px solid var(--c-aluminum); }
.blog-group { scroll-margin-top: 130px; margin-top: 40px; }
.blog-tool { padding: clamp(18px,3vw,28px); background: var(--c-bone); border: 1px solid var(--c-aluminum); margin: 28px 0; }
.blog-tool [hidden] { display: none !important; }
.blog-tool label { display:block; margin-bottom: 18px; font-weight:600; }
.blog-tool input:not([type=checkbox]), .blog-tool select, .blog-tool textarea { display:block; width:100%; min-height:48px; padding:12px; margin-top:6px; color:#1a1a1a; background:white; border:1px solid #777; font:inherit; }
.blog-tool textarea { resize:vertical; }
.blog-tool .tool-check { display:flex; gap:12px; align-items:flex-start; min-height:44px; }
.blog-tool input[type=checkbox] { width:22px; height:22px; flex:none; margin-top:3px; }
.blog-tool pre { white-space:pre-wrap; overflow-wrap:anywhere; font:inherit; }
.blog-tool fieldset { min-width:0; padding:16px; border:1px solid #aaa; }
.blog-tool [aria-invalid=true] { border:2px solid #a22121; }
.blog-tool [data-tool-error] { color:#8a1717; font-weight:bold; }
.tool-costs { display:grid; grid-template-columns:1fr 1fr; gap:16px; margin-bottom:20px; }
.tool-recommendations { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; margin:20px 0; }
.tool-product { background:#fff; padding:18px; border:1px solid var(--c-concrete); min-width:0; }
.tool-product img { display:block; width:100%; height:auto; }
.tool-product h5 { font-size:1.2rem; line-height:1.3; margin:12px 0; }
.tool-product-label { font-size:.85rem; font-weight:700; color:#414141; }
.tool-product dl { font-size:.9rem; }
.tool-product dt { font-weight:700; margin-top:8px; }
.tool-product dd { margin-left:0; }
.tool-product-note { padding:10px; background:var(--c-bone); font-size:.9rem; }
.tool-product-actions { display:flex; gap:10px; flex-wrap:wrap; }
.tool-product-actions .btn { min-height:44px; white-space:normal; }
.tool-secondary { margin-top:24px; }
.tool-secondary summary { cursor:pointer; padding:14px 0; text-decoration:underline; }
@media(max-width:700px) { .tool-recommendations { grid-template-columns:1fr; } }
@media(max-width:600px) { .tool-costs { grid-template-columns:1fr; } }
@media(max-width: 700px) { .blog-card { grid-template-columns: 1fr; padding: 18px; gap: 18px; } .blog-main { padding-inline: 16px; } }
