/* Public guides, exercise library and gift page. Plain editorial layout: paper, ink, one accent. */
:root{--paper:#fbfaf6;--ink:#14211f;--soft:#3b4846;--muted:#59656a;--line:#e3e1d8;--accent:#0e806b;--accent-text:#0a7562;--note:#fff6e0;--note-line:#e7c66a}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font:400 17px/1.65 Inter,system-ui,sans-serif}
a{color:var(--accent-text);text-underline-offset:2px}
a:hover{color:#075446}
.skip-link{position:absolute;left:-9999px;top:8px;background:#111;color:#fff;padding:10px 14px;border-radius:8px;z-index:10}
.skip-link:focus{left:12px}
.c-head{display:flex;align-items:center;justify-content:space-between;gap:16px;max-width:1120px;margin:0 auto;padding:18px 22px;border-bottom:1px solid var(--line)}
.c-brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink)}
.c-brand b{display:grid;place-items:center;width:38px;height:38px;border-radius:10px;background:#111;color:#4fd1b0;font:800 13px 'Space Grotesk',sans-serif;letter-spacing:.02em}
.c-brand span{font:800 15px 'Space Grotesk',sans-serif;letter-spacing:.12em}
.c-nav{display:flex;gap:18px;align-items:center;flex-wrap:wrap}
.c-nav a{color:var(--ink);text-decoration:none;font-weight:600;font-size:15px}
.c-nav a[aria-current]{color:var(--accent-text);text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:6px}
.c-nav .c-join{background:#111;color:#fff;padding:9px 14px;border-radius:10px}
.c-nav .c-join:hover{background:#0a7562;color:#fff}
.c-main{max-width:1120px;margin:0 auto;padding:26px 22px 60px}
.c-crumbs{font-size:14px;color:var(--muted);margin:0 0 18px}.c-crumbs a{color:var(--muted)}
.c-article{max-width:720px}
.c-kicker{font:800 12px Inter,sans-serif;letter-spacing:.16em;color:var(--accent-text);margin:0 0 8px;text-transform:uppercase}
h1{font:700 clamp(32px,5vw,46px)/1.08 'Space Grotesk',Inter,sans-serif;letter-spacing:-.02em;margin:0 0 14px}
h2{font:700 27px/1.2 'Space Grotesk',Inter,sans-serif;margin:38px 0 10px;letter-spacing:-.01em}
h3{font:700 20px/1.3 'Space Grotesk',Inter,sans-serif;margin:26px 0 6px}
.c-lede{font-size:20px;line-height:1.55;color:var(--soft);margin:0 0 18px}
.c-meta{font-size:14px;color:var(--muted);margin:0 0 26px;padding-bottom:16px;border-bottom:1px solid var(--line)}
p,li{color:var(--ink)}ul,ol{padding-left:22px}li{margin:4px 0}
ol.c-steps{list-style:none;padding:0;counter-reset:s}
ol.c-steps>li{counter-increment:s;position:relative;padding:2px 0 10px 46px;margin:0 0 6px}
ol.c-steps>li::before{content:counter(s);position:absolute;left:0;top:2px;width:30px;height:30px;border-radius:50%;background:#111;color:#fff;font:700 14px/30px Inter,sans-serif;text-align:center}
.c-safety{margin:26px 0;padding:14px 18px;background:var(--note);border-left:4px solid var(--note-line);border-radius:4px 10px 10px 4px;font-size:15.5px}
.c-safety strong{display:block;margin-bottom:2px}
.c-aside{margin:24px 0;padding:14px 18px;border:1px solid var(--line);border-radius:12px;background:#fff;font-size:15.5px}
.c-figure{margin:24px 0}.c-figure img{width:100%;height:auto;border-radius:12px;border:1px solid var(--line);background:#fff}
.c-figure figcaption{font-size:13px;color:var(--muted);margin-top:6px}
table.c-table{width:100%;border-collapse:collapse;margin:16px 0;font-size:15px;background:#fff;border:1px solid var(--line);border-radius:10px;overflow:hidden}
.c-table th,.c-table td{text-align:left;padding:9px 12px;border-bottom:1px solid var(--line);vertical-align:top}
.c-table th{background:#f1efe7;font-weight:700}
.c-table-wrap{overflow-x:auto}
.c-cta{margin:40px 0 10px;padding:22px 22px 20px;border-radius:14px;background:#111;color:#f3f1ea}
.c-cta h2{color:#fff;margin:0 0 6px;font-size:24px}.c-cta p{color:#d9d6cc;margin:0 0 14px}
.c-cta a.c-btn{display:inline-block;background:#4fd1b0;color:#0b1513;font-weight:800;text-decoration:none;padding:11px 16px;border-radius:10px;margin-right:12px}
.c-cta a.c-btn:hover{background:#7fe2c9}.c-cta a.c-more{color:#cfe9e1}
.c-related{margin:34px 0 0}.c-related ul{padding-left:20px}
.c-sources{font-size:14.5px;color:var(--soft)}.c-sources li{color:var(--soft)}
.c-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:14px;margin:18px 0 8px;padding:0;list-style:none}
.c-card{display:block;height:100%;padding:16px 16px 14px;background:#fff;border:1px solid var(--line);border-radius:12px;text-decoration:none;color:var(--ink)}
.c-card:hover{border-color:#9fcfc2;box-shadow:0 2px 0 #cfe6df}
.c-card strong{display:block;font:700 18px/1.25 'Space Grotesk',Inter,sans-serif;margin-bottom:4px}
.c-card small{display:block;color:var(--muted);font-size:14px;line-height:1.45}
.c-card img{display:block;width:100%;height:auto;border-radius:8px;margin:0 0 10px;background:#f6f5f0}
.c-cat{margin:34px 0 0}.c-cat h2{margin-bottom:4px}
.c-muscles{display:inline-block;background:#e9f4f0;color:#0a5a4b;border-radius:999px;padding:3px 12px;font-size:14px;font-weight:600;margin:0 0 14px}
.c-foot{border-top:1px solid var(--line);background:#f3f1ea}
.c-foot-in{max-width:1120px;margin:0 auto;padding:28px 22px 34px;display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:20px;font-size:14.5px}
.c-foot strong{display:block;margin-bottom:6px}.c-foot a{display:block;color:var(--ink);text-decoration:none;margin:3px 0}.c-foot a:hover{text-decoration:underline}
.c-foot p{margin:0 0 8px;color:var(--soft)}
.c-foot-small{max-width:1120px;margin:0 auto;padding:0 22px 26px;font-size:13px;color:var(--muted)}
.c-faq dt{font-weight:700;margin-top:16px}.c-faq dd{margin:4px 0 0}
@media (max-width:760px){body{font-size:16.5px}.c-head{flex-direction:column;align-items:flex-start}.c-nav{gap:12px}.c-foot-in{grid-template-columns:1fr 1fr}.c-lede{font-size:18px}}
@media (max-width:420px){.c-foot-in{grid-template-columns:1fr}}
.visually-hidden{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
a.c-btn-inline{display:inline-block;background:#111;color:#fff;font-weight:800;text-decoration:none;padding:12px 18px;border-radius:10px;margin:4px 12px 4px 0}
a.c-btn-inline:hover{background:#0a7562;color:#fff}
.c-meta-inline{font-size:14px;color:var(--muted)}
ul.c-cols{columns:2;column-gap:28px}ul.c-cols li{break-inside:avoid}
@media (max-width:560px){ul.c-cols{columns:1}}
.c-grid-tight{grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:10px}
.c-has-img{display:inline-block;margin-top:8px;font-style:normal;font-size:12px;font-weight:700;letter-spacing:.04em;color:var(--accent-text)}
@media (max-width:760px){.c-head{flex-direction:row;flex-wrap:wrap;align-items:center}.c-nav{width:100%;gap:10px 16px}.c-nav .c-join{margin-left:auto;padding:7px 12px}}
.c-toc{display:flex;flex-wrap:wrap;gap:8px 10px;list-style:none;padding:0;margin:18px 0 8px}.c-toc a{display:inline-block;padding:7px 12px;border:1px solid #d6dbd8;border-radius:999px;color:#0a5d4f;font-weight:600;font-size:14.5px;text-decoration:none}.c-toc a:hover,.c-toc a:focus-visible{border-color:#0a7562;text-decoration:underline}
.c-faq-sec{margin-top:30px;scroll-margin-top:16px}
details.c-faq{border-bottom:1px solid #e3e6e4;padding:2px 0}details.c-faq summary{cursor:pointer;padding:14px 28px 14px 0;font-weight:700;list-style:none;position:relative}details.c-faq summary::-webkit-details-marker{display:none}details.c-faq summary::after{content:"+";position:absolute;right:4px;top:11px;font-size:20px;color:#0a7562;font-weight:500}details.c-faq[open] summary::after{content:"–"}details.c-faq p{margin:0 0 16px}details.c-faq a{color:#0a5d4f;text-decoration:underline}
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.gf-form{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end;margin:22px 0 10px;padding:18px;border:1px solid #dfe3e1;border-radius:14px;background:#fff}
.gf-field{display:flex;flex-direction:column;gap:6px;flex:1 1 240px}.gf-field.gf-small{flex:0 1 130px}
.gf-field label{font-weight:700;font-size:14.5px}
.gf-field input,.gf-field select{font:inherit;font-size:16px;padding:11px 12px;border:1.5px solid #9aa5a2;border-radius:10px;background:#fff;color:#14211f;min-height:46px}
.gf-field input:focus-visible,.gf-field select:focus-visible{outline:3px solid #0a7562;outline-offset:1px;border-color:#0a7562}
.gf-btn{min-height:46px;margin:0;border:0;cursor:pointer;font:inherit;font-weight:700}.gf-btn[disabled]{opacity:.7;cursor:progress}
.gf-status{min-height:1.5em;margin:6px 0 14px;font-weight:600}.gf-status[data-kind=error]{color:#a3261b}
.gf-map{height:420px;border-radius:14px;border:1px solid #dfe3e1;margin:0 0 18px;z-index:0}
@media (max-width:640px){.gf-map{height:300px}}
.gf-results{list-style:none;padding:0;margin:0 0 30px;display:grid;gap:12px}
.gf-item{border:1px solid #dfe3e1;border-radius:14px;padding:14px 16px;background:#fff;transition:box-shadow .3s}.gf-item.gf-hl{box-shadow:0 0 0 3px #0a7562}
.gf-top{display:flex;justify-content:space-between;gap:12px;align-items:baseline}
.gf-item h3{margin:0;font-size:18px;display:flex;gap:10px;align-items:baseline}
.gf-n{display:inline-grid;place-items:center;min-width:26px;height:26px;border-radius:50%;background:#0a7562;color:#fff;font-size:13px;font-weight:700;flex:none}
.gf-dist{white-space:nowrap;color:#4a5552;font-size:14px;font-weight:600}
.gf-brand,.gf-addr{margin:4px 0 0 36px;color:#4a5552;font-size:15px}
.gf-hours{margin:10px 0 0 36px;display:flex;flex-wrap:wrap;gap:6px 10px;align-items:center}
.gf-badge{display:inline-block;padding:4px 10px;border-radius:999px;font-size:13.5px;font-weight:700;border:1.5px solid}
.gf-open{background:#e3f4ee;color:#0a5d4f;border-color:#0a7562}.gf-closed{background:#fbe9e7;color:#8a1f15;border-color:#b3392c}.gf-none{background:#f1f2f1;color:#3d4745;border-color:#9aa5a2}
.gf-raw{font-size:13.5px;color:#4a5552}.gf-raw code{font-size:13px;background:#f4f5f4;padding:1px 5px;border-radius:5px;word-break:break-word}
.gf-links{margin:10px 0 0 36px;display:flex;flex-wrap:wrap;gap:6px 16px;font-size:15px}
.gf-links a{color:#0a5d4f;text-decoration:underline}
.gf-show{font:inherit;font-size:15px;color:#0a5d4f;background:none;border:0;padding:0;text-decoration:underline;cursor:pointer}
.gf-notes{margin-top:34px}.gf-notes li{margin-bottom:10px}.gf-credit{font-size:14.5px;color:#4a5552}
.leaflet-container{font:inherit}.leaflet-container a{color:#0a5d4f}
@media (max-width:480px){.gf-brand,.gf-addr,.gf-hours,.gf-links{margin-left:0}}
button.gf-btn{-webkit-appearance:none;appearance:none;background:#14211f;color:#fff;border-radius:999px;padding:0 24px}button.gf-btn:hover{background:#0a5d4f}button.gf-btn:focus-visible{outline:3px solid #0a7562;outline-offset:2px}
.gf-field select{-webkit-appearance:none;appearance:none;padding-right:34px;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%2314211f' stroke-width='2'/%3E%3C/svg%3E") no-repeat right 12px center}

button.gf-btn.gf-btn-alt{background:#fff;color:#14211f;border:1.5px solid #14211f}
button.gf-btn.gf-btn-alt:hover{background:#eef6f3}
button.gf-btn[hidden]{display:none}
/* ---- Blog ---- */
.b-cats{display:flex;flex-wrap:wrap;gap:8px;margin:6px 0 22px}
.b-cats a{display:inline-block;padding:6px 12px;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--ink);text-decoration:none;font-size:14.5px;font-weight:600}
.b-cats a:hover{border-color:#9fcfc2}
.b-cats a[aria-current]{background:#111;border-color:#111;color:#fff}
.b-pg{font-weight:500;color:var(--muted);font-size:.6em}
.b-list{list-style:none;margin:0;padding:0;display:grid;gap:16px}
.b-card a{display:grid;grid-template-columns:200px 1fr;gap:18px;align-items:start;padding:14px;background:#fff;border:1px solid var(--line);border-radius:12px;text-decoration:none;color:var(--ink)}
.b-card a:hover{border-color:#9fcfc2;box-shadow:0 2px 0 #cfe6df}
.b-card img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;border-radius:8px;background:#efede6}
.b-card h2,.b-card h3{font:700 21px/1.25 'Space Grotesk',Inter,sans-serif;margin:4px 0 6px}
.b-card small{display:block;color:var(--soft);font-size:15px;line-height:1.5}
.b-cat{font:800 11.5px Inter,sans-serif;letter-spacing:.14em;text-transform:uppercase;color:var(--accent-text)}
.b-when{display:block;margin-top:8px;font-size:13.5px;color:var(--muted)}
.b-list-sm{grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}
.b-list-sm .b-card a{grid-template-columns:1fr;gap:8px;height:100%}
.b-list-sm .b-card h3{font-size:17px;margin:2px 0 4px}.b-list-sm .b-card small{display:none}
.b-pager{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:26px 0 0;font-size:15px;color:var(--muted)}
.b-pager a{font-weight:700}
.b-feed,.b-empty{font-size:14.5px;color:var(--muted);margin-top:26px}
.b-post .c-kicker a{color:inherit;text-decoration:none}
.b-hero{margin:0 0 26px}.b-hero img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;border-radius:12px;background:#efede6}
.b-hero figcaption{font-size:13px;color:var(--muted);margin-top:6px}.b-hero figcaption a{color:var(--muted)}
.b-body blockquote{margin:20px 0;padding:4px 0 4px 16px;border-left:3px solid #9fcfc2;color:var(--soft)}
.b-body blockquote p{color:var(--soft)}
.b-health{margin:30px 0 0;padding:12px 16px;background:var(--note);border-left:4px solid var(--note-line);border-radius:4px 10px 10px 4px;font-size:15px}
.b-join{margin:26px 0 0;padding:14px 18px;border:1px solid var(--line);border-radius:12px;background:#fff;font-size:15.5px}
.b-join p{margin:0}.b-join a{font-weight:700}
.b-tags{list-style:none;display:flex;flex-wrap:wrap;gap:6px;padding:0;margin:26px 0 0}
.b-tags li{margin:0;padding:3px 10px;border-radius:999px;background:#efede6;color:var(--soft);font-size:13px}
.b-related{margin:46px 0 0;padding-top:8px;border-top:1px solid var(--line)}
.b-related h2{margin-top:22px}
@media (max-width:640px){.b-card a{grid-template-columns:1fr;gap:10px}.b-card h2{font-size:19px}}

/* Phones: each table row becomes a small card (row heading, then each cell with its column name) */
@media(max-width:560px){
.c-table,.c-table tbody,.c-table tr,.c-table th,.c-table td{display:block;width:auto}
.c-table{border-radius:10px}
.c-table caption{display:block;text-align:left;padding:10px 12px 0}
.c-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.c-table tbody tr{padding:10px 12px;border-bottom:1px solid var(--line)}
.c-table tbody tr:last-child{border-bottom:0}
.c-table tbody th{background:none;padding:0 0 4px;border:0}
.c-table td{padding:3px 0;border:0}
.c-table td[data-label]::before{content:attr(data-label) ": ";font-weight:700;color:#4c595b}
}

/* In-page anchors: a little space above the target (the content header is not sticky). */
[id]{scroll-margin-top:var(--anchor-gap,16px)}


/* Logo v2 */
.c-brand img{display:block;height:44px;width:auto}
.c-foot-logo{display:inline-block;margin-bottom:8px}.c-foot-logo img{display:block;height:64px;width:auto}

/* Touch screens only: footer links get a 44 px tap area */
@media (pointer:coarse){.c-foot a{display:flex;align-items:center;min-height:44px;margin:0}}
/* Gold 'Gift a membership' in the content-page header (contrast #111 on #B8901F-#D4AF37 >= 6.3:1) */
.c-nav a[href="/gifts/"]{background:linear-gradient(135deg,#D4AF37,#B8901F);color:#111;padding:6px 12px;border-radius:999px;box-shadow:inset 0 0 0 1px rgba(17,17,17,.12)}
.c-nav a[href="/gifts/"]:hover{background:linear-gradient(135deg,#C9A227,#A8851A);color:#111}
.c-nav a[href="/gifts/"]:focus-visible{outline:3px solid #111;outline-offset:2px;box-shadow:0 0 0 5px #F3E3A6}
.c-nav a[href="/gifts/"][aria-current]{color:#111;text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:4px}
/* Compact phone header (FAQ): logo and Join on one row, the other links on one swipeable row, so the H1 is on the first screen */
@media (max-width:760px){.c-head-compact{position:relative;padding:10px 16px 4px;gap:6px}.c-head-compact .c-brand img{height:34px}.c-head-compact .c-nav{width:100%;display:block}.c-head-compact .c-nav .c-join{position:absolute;top:9px;right:16px;margin:0;padding:8px 14px;min-height:36px;display:inline-flex;align-items:center}
.c-head-compact .c-nav-row{display:flex;flex-wrap:nowrap;gap:4px 14px;overflow-x:auto;scrollbar-width:none;padding:2px 0 4px;mask-image:linear-gradient(90deg,#000 88%,transparent)}.c-head-compact .c-nav-row::-webkit-scrollbar{display:none}.c-head-compact .c-nav-row a{white-space:nowrap;font-size:14.5px;min-height:32px;display:inline-flex;align-items:center;flex:0 0 auto}.c-head-compact .c-nav-row a[href="/gifts/"]{padding:4px 11px}}
@media (min-width:761px){.c-head-compact .c-nav-row{display:contents}}
