/*
Theme Name: Free Women Launch
Theme URI: https://wearefreewomen.com
Author: Free Women
Description: A lean, accessible launch homepage for Free Women.
Version: 1.2.1
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: free-women
*/

:root {
  --fw-coral: #f56f61;
  --fw-coral-dark: #c9463c;
  --fw-wine: #802c33;
  --fw-red: #b5242a;
  --fw-ink: #382f2d;
  --fw-muted: #6d615d;
  --fw-cream: #fffaf5;
  --fw-blush: #fff0ea;
  --fw-sand: #f5eadf;
  --fw-white: #ffffff;
  --fw-line: rgba(56, 47, 45, 0.14);
  --fw-shadow: 0 22px 60px rgba(94, 56, 48, 0.12);
  --fw-radius: 24px;
  --fw-max: 1180px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--fw-ink);
  background: var(--fw-cream);
  font-family: "Nunito", ui-rounded, "Avenir Next", Arial, sans-serif;
  font-size: 18px;
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
}
img { display: block; max-width: 100%; height: auto; }
a { color: var(--fw-wine); text-underline-offset: 0.2em; }
a:hover { color: var(--fw-coral-dark); }
:focus-visible { outline: 3px solid var(--fw-wine); outline-offset: 4px; }
.fw-skip { position: absolute; left: -9999px; top: 0; z-index: 999; background: #fff; padding: .8rem 1rem; }
.fw-skip:focus { left: 1rem; top: 1rem; }
.fw-wrap { width: min(calc(100% - 40px), var(--fw-max)); margin-inline: auto; }
.fw-narrow { width: min(calc(100% - 40px), 780px); margin-inline: auto; }
.fw-section { padding: clamp(72px, 9vw, 126px) 0; }
.fw-eyebrow { margin: 0 0 12px; color: var(--fw-coral-dark); font-size: .78rem; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
h1, h2, h3 { margin: 0; color: var(--fw-ink); font-weight: 900; line-height: 1.08; letter-spacing: -.035em; }
h1 { max-width: 820px; font-size: clamp(2.65rem, 6vw, 5.4rem); }
h2 { font-size: clamp(2.15rem, 4vw, 3.65rem); }
h3 { font-size: 1.35rem; letter-spacing: -.02em; }
p { margin: 0 0 1.2rem; }
.fw-lede { max-width: 720px; color: var(--fw-muted); font-size: clamp(1.08rem, 1.8vw, 1.3rem); line-height: 1.55; }
.fw-button { display: inline-flex; align-items: center; justify-content: center; min-height: 52px; padding: .75rem 1.35rem; border: 2px solid var(--fw-wine); border-radius: 999px; background: var(--fw-wine); color: #fff; font-weight: 900; text-decoration: none; transition: transform .2s ease, box-shadow .2s ease, background .2s ease; }
.fw-button:hover { color: #fff; background: #632127; transform: translateY(-2px); box-shadow: 0 12px 28px rgba(128,44,51,.2); }
.fw-button--light { border-color: #fff; background: #fff; color: var(--fw-wine); }
.fw-button--light:hover { background: var(--fw-blush); color: var(--fw-wine); }
.fw-text-link { font-weight: 900; }

.fw-announcement { padding: 6px 20px; background: var(--fw-wine); color: #fff; text-align: center; font-size: .86rem; font-weight: 800; }
.fw-announcement a { color: #fff; }
.fw-header { position: relative; z-index: 10; padding: 18px 0; border-bottom: 1px solid var(--fw-line); background: rgba(255,250,245,.94); }
.fw-header__inner { display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.fw-logo { width: 188px; }
.fw-header .fw-button { min-height: 44px; padding: .55rem 1.1rem; font-size: .9rem; }

.fw-hero { position: relative; overflow: hidden; padding: clamp(66px, 8vw, 110px) 0 86px; }
.fw-hero::before { content: ""; position: absolute; width: 620px; height: 620px; top: -270px; right: -160px; border-radius: 50%; background: radial-gradient(circle, rgba(245,111,97,.20), rgba(245,111,97,0) 69%); pointer-events: none; }
.fw-hero__grid { display: grid; grid-template-columns: minmax(0, 1.18fr) minmax(320px, .82fr); align-items: center; gap: clamp(40px, 7vw, 90px); }
.fw-hero h1 span { color: var(--fw-coral-dark); }
.fw-hero__copy > p { margin-top: 28px; }
.fw-hero__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 18px 24px; margin-top: 32px; }
.fw-reassurance { margin-top: 18px !important; color: var(--fw-muted); font-size: .86rem; }
.fw-hero__art { position: relative; min-height: 500px; }
.fw-symbol-stage { position: absolute; inset: 26px 20px 8px 34px; display: grid; place-items: center; overflow: hidden; border: 1px solid rgba(128,44,51,.13); border-radius: 50%; background: radial-gradient(circle at 42% 38%, #fff 0 9%, var(--fw-blush) 10% 56%, var(--fw-sand) 57% 100%); box-shadow: var(--fw-shadow); }
.fw-symbol-stage::after { content: ""; position: absolute; width: 34%; aspect-ratio: 1; right: -7%; bottom: 4%; border-radius: 50%; background: rgba(245,111,97,.42); }
.fw-symbol-stage img { position: relative; z-index: 1; width: min(68%, 330px); max-height: 74%; object-fit: contain; }
.fw-art-note { position: absolute; z-index: 2; right: 0; top: 42px; width: 180px; padding: 16px 18px; border-radius: 18px; background: #fff; box-shadow: var(--fw-shadow); font-size: .82rem; font-weight: 900; line-height: 1.25; transform: rotate(2deg); }

.fw-belief { background: var(--fw-white); }
.fw-belief h2 { margin-bottom: 30px; }
.fw-belief__lead { color: var(--fw-wine); font-size: clamp(1.28rem, 2.3vw, 1.72rem); font-weight: 900; line-height: 1.4; }
.fw-belief__closing { margin-top: 26px; font-weight: 900; }

.fw-values__head { display: grid; grid-template-columns: .9fr 1.1fr; align-items: end; gap: 50px; margin-bottom: 46px; }
.fw-values__head .fw-lede { margin: 0; }
.fw-cards { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; }
.fw-card { min-height: 300px; padding: 30px 26px; border: 1px solid var(--fw-line); border-radius: var(--fw-radius); background: rgba(255,255,255,.66); }
.fw-card__number { display: grid; width: 42px; height: 42px; margin-bottom: 34px; place-items: center; border-radius: 50%; background: var(--fw-blush); color: var(--fw-coral-dark); font-size: .8rem; font-weight: 900; }
.fw-card p { margin: 14px 0 0; color: var(--fw-muted); font-size: .96rem; }

.fw-reframe { padding: clamp(66px, 8vw, 100px) 0; background: var(--fw-wine); color: #fff; }
.fw-reframe h2 { max-width: 920px; color: #fff; }
.fw-reframe p { max-width: 790px; margin-top: 28px; color: rgba(255,255,255,.84); font-size: 1.1rem; }

.fw-event { background: var(--fw-white); }
.fw-event__shell { display: grid; grid-template-columns: .76fr 1.24fr; overflow: hidden; border: 1px solid var(--fw-line); border-radius: 32px; box-shadow: var(--fw-shadow); }
.fw-event__side { display: flex; flex-direction: column; justify-content: space-between; min-height: 590px; padding: 44px; background: linear-gradient(155deg, #4a2177, #74277e 48%, #bb3e62); color: #fff; }
.fw-event__badge { align-self: flex-start; padding: 7px 13px; border: 1px solid rgba(255,255,255,.5); border-radius: 999px; font-size: .75rem; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.fw-event__side h2 { color: #fff; font-size: clamp(2.2rem, 4vw, 3.5rem); }
.fw-event__date { margin: 20px 0 0; color: rgba(255,255,255,.82); font-weight: 800; }
.fw-event__content { padding: clamp(38px, 6vw, 72px); }
.fw-event__content h3 { margin: 8px 0 20px; font-size: clamp(1.8rem, 3vw, 2.7rem); }
.fw-session { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; margin: 28px 0; }
.fw-session div { padding: 15px; border-radius: 14px; background: var(--fw-blush); }
.fw-session span { display: block; color: var(--fw-muted); font-size: .72rem; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.fw-session strong { display: block; margin-top: 3px; font-size: .94rem; }
.fw-quote { margin: 28px 0; padding-left: 22px; border-left: 4px solid var(--fw-coral); color: var(--fw-wine); font-size: clamp(1.25rem, 2.2vw, 1.7rem); font-weight: 900; line-height: 1.35; }

.fw-signup { position: relative; overflow: hidden; background: var(--fw-blush); }
.fw-signup__grid { display: grid; grid-template-columns: .82fr 1.18fr; gap: clamp(36px, 7vw, 84px); align-items: center; }
.fw-form-shell { padding: clamp(28px, 5vw, 46px); border-radius: var(--fw-radius); background: #fff; box-shadow: var(--fw-shadow); }
.fw-form-shell label { display: block; margin: 0 0 8px; font-size: .86rem; font-weight: 900; }
.fw-form-shell input[type="text"], .fw-form-shell input[type="email"] { width: 100%; min-height: 52px; margin-bottom: 16px; padding: 12px 15px; border: 1px solid #cfc2bc; border-radius: 12px; background: #fff; color: var(--fw-ink); font: inherit; }
.fw-form-shell button, .fw-form-shell input[type="submit"] { width: 100%; min-height: 52px; padding: .75rem 1rem; border: 0; border-radius: 999px; background: var(--fw-wine); color: #fff; font: inherit; font-weight: 900; cursor: pointer; }
.fw-form-shell .mailerlite-form-field label { display: block; }
.fw-form-shell .mailerlite-form-response { font-weight: 800; }
.fw-placeholder-note { margin: 14px 0 0; color: var(--fw-muted); font-size: .8rem; text-align: center; }
.fw-privacy { margin: 14px 0 0; color: var(--fw-muted); font-size: .74rem; line-height: 1.5; }

.fw-founder { background: #fff; }
.fw-founder__grid { display: grid; grid-template-columns: .7fr 1.3fr; gap: clamp(40px, 8vw, 100px); align-items: center; }
.fw-founder__mark { display: grid; width: min(100%, 340px); aspect-ratio: 1; place-items: center; border-radius: 50%; background: var(--fw-sand); }
.fw-founder__mark img { width: 58%; max-height: 66%; object-fit: contain; }
.fw-signature { margin-top: 24px; font-weight: 900; }
.fw-signature span { display: block; color: var(--fw-muted); font-size: .86rem; font-weight: 700; }

.fw-final { padding: 70px 0; background: var(--fw-coral); text-align: center; }
.fw-final h2 { max-width: 780px; margin: 0 auto 28px; color: #3f2625; }
.fw-footer { padding: 52px 0 30px; background: #2e2524; color: rgba(255,255,255,.74); font-size: .84rem; }
.fw-footer__top { display: flex; align-items: flex-start; justify-content: space-between; gap: 40px; padding-bottom: 34px; border-bottom: 1px solid rgba(255,255,255,.12); }
.fw-footer__brand { width: 180px; padding: 8px 12px; border-radius: 12px; background: var(--fw-cream); }
.fw-footer__links { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 18px 24px; }
.fw-footer a { color: #fff; }
.fw-footer__bottom { display: flex; justify-content: space-between; gap: 34px; padding-top: 28px; }
.fw-footer__disclaimer { max-width: 760px; }

.fw-policy { padding: clamp(62px, 8vw, 100px) 0; background: #fff; }
.fw-policy__content { width: min(calc(100% - 40px), 820px); margin-inline: auto; }
.fw-policy h1 { margin-bottom: 12px; font-size: clamp(2.5rem, 5vw, 4.4rem); }
.fw-policy h2 { margin: 48px 0 16px; font-size: clamp(1.55rem, 3vw, 2.15rem); }
.fw-policy h3 { margin: 30px 0 10px; }
.fw-policy ul { margin: 0 0 1.4rem; padding-left: 1.25rem; }
.fw-policy li { margin-bottom: .55rem; }
.fw-policy__date { margin-bottom: 38px; color: var(--fw-muted); font-weight: 800; }
.fw-policy__notice { padding: 20px 22px; border-left: 4px solid var(--fw-coral); background: var(--fw-blush); }

/* Evidence-led Q&A pages */
.fw-qa { background: var(--fw-cream); }
.fw-qa-hero { padding: clamp(58px, 8vw, 96px) 0 54px; background: linear-gradient(145deg, var(--fw-cream), var(--fw-blush)); }
.fw-qa-hero h1 { max-width: 950px; font-size: clamp(2.55rem, 5.4vw, 4.9rem); }
.fw-qa-meta { display: flex; flex-wrap: wrap; gap: 8px 18px; margin: 22px 0 0; color: var(--fw-muted); font-size: .82rem; font-weight: 800; }
.fw-qa-meta span + span::before { content: "•"; margin-right: 18px; color: var(--fw-coral-dark); }
.fw-answer { margin-top: 38px; padding: clamp(25px, 4vw, 38px); border: 1px solid rgba(128,44,51,.16); border-radius: var(--fw-radius); background: #fff; box-shadow: var(--fw-shadow); }
.fw-answer__label { margin-bottom: 9px; color: var(--fw-coral-dark); font-size: .78rem; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.fw-answer p { margin: 0; color: var(--fw-ink); font-size: clamp(1.08rem, 2vw, 1.3rem); font-weight: 700; line-height: 1.55; }
.fw-qa-nav { padding: 18px 0; border-block: 1px solid var(--fw-line); background: #fff; }
.fw-qa-nav__inner { display: flex; flex-wrap: wrap; gap: 10px 22px; }
.fw-qa-nav a { font-size: .86rem; font-weight: 900; }
.fw-qa-section { padding: clamp(54px, 7vw, 88px) 0; }
.fw-qa-section--white { background: #fff; }
.fw-qa-section h2 { margin-bottom: 25px; font-size: clamp(2rem, 3.8vw, 3.2rem); }
.fw-qa-section h3 { margin: 30px 0 12px; }
.fw-quick-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 20px; }
.fw-option-card { padding: clamp(24px, 4vw, 34px); border: 1px solid var(--fw-line); border-radius: var(--fw-radius); background: rgba(255,255,255,.76); }
.fw-option-card--clinical { background: var(--fw-blush); }
.fw-option-card h2 { margin-bottom: 18px; font-size: clamp(1.55rem, 3vw, 2.25rem); }
.fw-option-card ul, .fw-qa-section ul { margin: 0; padding-left: 1.2rem; }
.fw-option-card li, .fw-qa-section li { margin-bottom: .72rem; }
.fw-callout { margin-top: 28px; padding: 22px 24px; border-left: 5px solid var(--fw-coral); background: var(--fw-blush); }
.fw-callout p:last-child { margin-bottom: 0; }
.fw-qa-table { width: 100%; margin-top: 25px; border-collapse: collapse; border: 1px solid var(--fw-line); background: #fff; }
.fw-qa-table th, .fw-qa-table td { padding: 17px 18px; border-bottom: 1px solid var(--fw-line); text-align: left; vertical-align: top; }
.fw-qa-table th { background: var(--fw-sand); font-size: .82rem; letter-spacing: .04em; text-transform: uppercase; }
.fw-evidence { margin: 28px 0; padding: clamp(24px, 4vw, 34px); border-radius: var(--fw-radius); background: var(--fw-wine); color: #fff; }
.fw-evidence h3 { margin-top: 0; color: #fff; }
.fw-evidence p:last-child { margin-bottom: 0; }
.fw-resource-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 20px; margin-top: 28px; }
.fw-resource { padding: 28px; border: 1px solid var(--fw-line); border-radius: var(--fw-radius); background: #fff; }
.fw-resource h3 { margin-top: 0; }
.fw-resource .fw-button { margin-top: 8px; }
.fw-disclosure { color: var(--fw-muted); font-size: .84rem; }
.fw-review-note { padding: 22px 24px; border: 1px solid var(--fw-line); border-radius: 16px; background: var(--fw-sand); }
.fw-reference-list { padding-left: 1.25rem; font-size: .91rem; }
.fw-reference-list li { margin-bottom: .9rem; }
.fw-disclaimer { margin-top: 42px; padding: 26px; border: 2px solid var(--fw-wine); border-radius: 18px; background: #fff; }
.fw-disclaimer h2 { margin-bottom: 12px; font-size: 1.45rem; }
.fw-disclaimer p:last-child { margin-bottom: 0; }

@media (max-width: 920px) {
  .fw-hero__grid, .fw-values__head, .fw-signup__grid, .fw-founder__grid { grid-template-columns: 1fr; }
  .fw-hero__art { min-height: 420px; max-width: 540px; width: 100%; margin-inline: auto; }
  .fw-cards { grid-template-columns: repeat(2, 1fr); }
  .fw-event__shell { grid-template-columns: 1fr; }
  .fw-event__side { min-height: 360px; }
  .fw-founder__mark { max-width: 260px; }
  .fw-quick-grid, .fw-resource-grid { grid-template-columns: 1fr; }
}
@media (max-width: 620px) {
  body { font-size: 16px; }
  .fw-wrap, .fw-narrow { width: min(calc(100% - 28px), var(--fw-max)); }
  .fw-header .fw-button { display: none; }
  .fw-logo { width: 158px; }
  .fw-hero { padding-top: 54px; }
  .fw-hero__art { min-height: 340px; }
  .fw-symbol-stage { inset: 28px 8px 6px 8px; }
  .fw-art-note { width: 138px; padding: 12px; font-size: .72rem; }
  .fw-cards { grid-template-columns: 1fr; }
  .fw-card { min-height: 0; }
  .fw-session { grid-template-columns: 1fr; }
  .fw-event__side, .fw-event__content { padding: 30px 24px; }
  .fw-footer__top, .fw-footer__bottom { flex-direction: column; }
  .fw-footer__links { justify-content: flex-start; }
  .fw-qa-meta { display: block; }
  .fw-qa-meta span { display: block; }
  .fw-qa-meta span + span::before { content: none; }
  .fw-qa-table, .fw-qa-table tbody, .fw-qa-table tr, .fw-qa-table th, .fw-qa-table td { display: block; }
  .fw-qa-table thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
  .fw-qa-table tr { padding: 14px 0; border-bottom: 1px solid var(--fw-line); }
  .fw-qa-table td { padding: 7px 16px; border: 0; }
  .fw-qa-table td::before { content: attr(data-label); display: block; color: var(--fw-coral-dark); font-size: .72rem; font-weight: 900; letter-spacing: .06em; text-transform: uppercase; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { transition: none !important; }
}


/* v1.0.7: compact logo header. Keep the original square logo file intact. */
.fw-announcement { padding:5px 24px; font-size:12px; font-weight:600; line-height:1.5; background:#AB262B; }
.fw-header { padding:8px 0; }
.fw-header__inner { min-height:64px; }
.fw-header__inner > a:first-child { display:block; position:relative; width:190px; height:64px; overflow:hidden; flex:0 0 190px; }
.fw-header .fw-logo { position:absolute; width:222px; max-width:none; height:222px; left:-17px; top:-75px; }
.fw-header .fw-button { font-weight:600; background:#AB262B; border-color:#AB262B; min-height:40px; padding:8px 20px; }
/* Scope the editorial palette and typography to the revised pages. */
.fw-editor-page {
 --fw-wine:#AB262B; --fw-coral:#D85C50; --fw-coral-dark:#AB262B; --fw-cream:#FFF9F6; --fw-blush:#FFE8DC;
 --fw-teal:#A9D5D2; --fw-deep:#173D40; --fw-ink:#382F2D; --fw-muted:#665B57;
 color:var(--fw-ink); background:var(--fw-cream); font-size:17px; line-height:1.65; overflow-wrap:anywhere;
}
.fw-reading-wrap { width:min(calc(100% - 112px),1100px); margin-inline:auto; }
.fw-editor-page h1,.fw-editor-page h2,.fw-editor-page h3,.fw-editor-page h4 { color:var(--fw-wine); font-weight:700; letter-spacing:normal; text-align:left; }
.fw-editor-page h1 { font-size:clamp(1.85rem,3.25vw,2.8rem); line-height:1.16; max-width:850px; }
.fw-editor-page h2 { font-size:clamp(1.6rem,2.5vw,2.1rem); line-height:1.22; margin:0 0 24px; }
.fw-editor-page h3 { font-size:1.18rem; line-height:1.35; margin:0 0 14px; }
.fw-editor-page h4 { font-size:1rem; line-height:1.35; margin:0 0 10px; }
.fw-editor-page p { margin:0 0 16px; }
.fw-editor-page p:last-child { margin-bottom:0; }
.fw-editor-page a { color:var(--fw-wine); text-decoration:underline; }
.fw-editor-page .fw-button { min-height:44px; border-color:var(--fw-wine); background:var(--fw-wine); color:white; font-size:.92rem; font-weight:600; text-decoration:none; padding:10px 22px; }
.fw-editor-page .fw-button:hover { background:#862027; border-color:#862027; transform:none; box-shadow:none; }
.fw-editor-page .fw-section-label { color:var(--fw-wine); text-transform:none; font-size:.8rem; font-weight:700; letter-spacing:.02em; margin-bottom:10px; }
.fw-editor-hero { padding:42px 0 32px; background:linear-gradient(115deg,#FFF9F6 35%,#eaf4f2); }
.fw-editor-meta { font-size:.78rem; color:var(--fw-muted); margin:18px 0 0 !important; }
.fw-short-answer { max-width:850px; margin-top:25px; padding:20px 24px; background:white; border:1px solid #d7e4df; border-left:4px solid var(--fw-teal); border-radius:0 14px 14px 0; }
.fw-short-answer p { font-size:1.02rem; }
.fw-small-label { display:block; color:var(--fw-wine); font-size:.77rem; font-weight:700; margin-bottom:8px !important; }
.fw-guide-hero { color:#FFF9F6; background:var(--fw-deep); padding:32px 0; }
.fw-guide-hero h1 { color:#FFF9F6; font-size:clamp(1.9rem,3.5vw,3rem); max-width:580px; }
.fw-guide-hero .fw-section-label { color:var(--fw-teal); }
.fw-guide-hero .fw-hero-tagline { color:var(--fw-teal); font-size:1.15rem; font-weight:600; margin:16px 0 12px; }
.fw-guide-hero .fw-editor-meta { color:#d6e5e2; }
.fw-guide-hero .fw-button { background:#AB262B; border-color:#d88c8f; margin-top:4px; }
.fw-cover-grid { display:grid; grid-template-columns:minmax(0,1fr) 280px; align-items:center; gap:64px; }
.fw-art { margin:0; min-width:0; }
.fw-art img { width:100%; height:auto; object-fit:contain; }
.fw-cover img { max-height:350px; width:auto; margin-left:auto; box-shadow:0 14px 28px #0004; }
.fw-art a { display:block; }
.fw-editor-nav { padding:16px 0; border-bottom:1px solid #d9d5d0; background:white; }
.fw-editor-nav .fw-reading-wrap { display:flex; flex-wrap:wrap; gap:9px 11px; align-items:center; }
.fw-editor-nav span { font-size:.75rem; color:var(--fw-muted); margin-right:7px; font-weight:600; }
.fw-editor-nav a { display:inline-block; padding:5px 11px; border:1px solid #c6dcd9; border-radius:30px; font-weight:600; font-size:.78rem; color:var(--fw-deep); background:#f6faf9; text-decoration:none; }
.fw-editor-nav a:hover { background:var(--fw-teal); }
.fw-editor-section { padding:44px 0; scroll-margin-top:18px; }
.fw-editor-section > .fw-reading-wrap { padding-top:25px; border-top:2px solid #AB262B; }
.fw-editor-section:nth-of-type(even) { background:white; }
.fw-editor-section > .fw-reading-wrap > p { max-width:820px; }
.fw-editor-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; margin:24px 0; align-items:start; }
.fw-cols-3 { grid-template-columns:repeat(3,minmax(0,1fr)); }
.fw-editor-card { border:1px solid #d7d9d5; border-radius:15px; background:white; padding:24px; height:100%; }
.fw-editor-card:nth-child(even) { background:#edf6f4; }
.fw-editor-card p,.fw-editor-card li { font-size:.94rem; }
.fw-editor-card .fw-callout { margin:18px 0 0; padding:14px; background:#FFF9F6; border-left:3px solid #D85C50; }
.fw-editor-card .fw-callout p { font-size:.86rem; }
.fw-editor-page ul,.fw-editor-page ol { padding-left:22px; margin:16px 0; }
.fw-editor-page li { margin:0 0 9px; }
.fw-detail { margin:20px 0 0; border:1px solid #d7d9d5; border-radius:10px; background:#fff; }
.fw-detail > summary { cursor:pointer; color:#AB262B; font-size:.86rem; font-weight:700; padding:14px 18px; line-height:1.45; }
.fw-detail[open] > summary { border-bottom:1px solid #dedbd7; }
.fw-detail-body { padding:20px; }
.fw-detail-body > p { max-width:800px; }
.fw-detail-body > .fw-art { max-width:760px; margin:24px auto; }
.fw-detail-body .fw-art + .fw-art { margin-top:28px; }
.fw-detail-body > p:has(+p) { margin-bottom:16px; }
.fw-detail-body > p:where(:first-child) { margin-top:0; }
.fw-detail-body > p { font-size:.94rem; }
.fw-symptom-card .fw-detail { border:0; border-top:1px solid #d7d9d5; border-radius:0; background:transparent; }
.fw-symptom-card .fw-detail > summary { padding:14px 0 0; }
.fw-symptom-card .fw-detail-body { padding:20px 0 0; }
.fw-symptom-card .fw-detail-body > p:nth-child(1) { color:#173D40; font-weight:700; }
.fw-editor-callout { margin:20px 0; padding:24px 28px; border-left:4px solid #AB262B; background:#edf6f4; border-radius:0 12px 12px 0; }
.fw-editor-page .fw-callout { padding:18px 22px; margin:20px 0; background:#FFF9F6; border-left:3px solid #D85C50; }
.fw-guide-chips { display:flex; flex-wrap:wrap; gap:10px; margin:24px 0 0; }
.fw-guide-chips a { display:block; padding:7px 14px; color:#173D40; border:1px solid #a9d5d2; background:#edf6f4; border-radius:24px; font-size:.85rem; }
.fw-illustrated { display:grid; grid-template-columns:minmax(0,1.45fr) minmax(0,.7fr); align-items:start; gap:44px; }
.fw-illustrated > .fw-art { max-width:330px; justify-self:end; }
.fw-art-pair { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.fw-crisis { padding:26px 28px; background:#FFF9F6; border:1px solid #c68b8e; border-top:5px solid #AB262B; border-radius:0 0 14px 14px; margin-top:24px; }
.fw-crisis > p { max-width:850px; }
.fw-review-caption { color:var(--fw-muted); font-size:.77rem; margin-top:18px !important; }
.fw-check-item { display:flex; align-items:flex-start; gap:13px; padding:20px; background:#edf6f4; border-radius:12px; height:100%; }
.fw-check-item > span { display:grid; place-items:center; width:28px; height:28px; flex:0 0 28px; border-radius:50%; color:white; background:#173D40; font-size:16px; }
.fw-check-item p { font-size:.92rem; }
.fw-closing { background:#173D40 !important; color:#FFF9F6; }
.fw-closing h2,.fw-closing .fw-section-label { color:#A9D5D2; }
.fw-closing .fw-reading-wrap { border-top-color:#A9D5D2; }
.fw-mini-card { padding:22px; background:#edf6f4; border:1px solid #cdddd8; border-radius:14px; height:100%; }
.fw-mini-card p { font-size:.94rem; }
.fw-symbol { display:grid; place-items:center; width:38px; height:38px; border-radius:12px; background:#173D40; color:#FFF9F6; font-size:21px; margin-bottom:14px; line-height:1; }
.fw-stat { background:#edf6f4; border-radius:14px; padding:25px; height:100%; border-top:3px solid #173D40; }
.fw-stat strong { display:block; font-size:2.4rem; line-height:1.1; color:#AB262B; margin:0 0 15px; font-weight:700; }
.fw-stat p { font-size:.9rem; }
.fw-stat-note { font-size:.8rem; color:#665B57; }
.fw-action-group { background:#FFF9F6; padding:26px; border-radius:14px; border-top:3px solid #AB262B; height:100%; }
.fw-action-group:nth-child(even) { background:#edf6f4; }
.fw-action-card { display:flex; align-items:start; gap:14px; padding:18px 0; border-top:1px solid #d6d8d1; }
.fw-action-card .fw-symbol { flex:0 0 32px; width:32px; height:32px; font-size:19px; border-radius:10px; }
.fw-action-card p { font-size:.9rem; }
.fw-supplement-note { border:1px solid #cdb6aa; padding:24px; border-radius:14px; background:#FFF9F6; }
.fw-editor-page .fw-qa-table { margin:0; font-size:.87rem; }
.fw-editor-page .fw-qa-table caption { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
.fw-editor-page .fw-qa-table th { background:#dcecea; color:#173D40; font-weight:700; text-transform:none; letter-spacing:normal; }
.fw-editor-page .fw-qa-table td { padding:17px; }
.fw-review-status { padding:18px 22px; background:#fff9f6; border:1px solid #ddd4cb; border-radius:12px; font-size:.85rem; margin-bottom:20px; }
.fw-review-status summary { cursor:pointer; font-weight:600; color:#665B57; }
.fw-review-status p { margin-top:16px; }
@media (max-width:900px) {
 .fw-reading-wrap { width:calc(100% - 64px); }
 .fw-cover-grid { grid-template-columns:minmax(0,1fr) 220px; gap:32px; }
 .fw-cover img { max-height:290px; }
 .fw-cols-3 { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .fw-illustrated { grid-template-columns:minmax(0,1.3fr) minmax(0,.7fr); gap:26px; }
 .fw-art-pair { grid-template-columns:1fr; }
}
@media (max-width:620px) {
 .fw-header__inner { min-height:52px; }
 .fw-header__inner > a:first-child { width:160px; height:56px; flex-basis:160px; }
 .fw-header .fw-logo { width:180px; height:180px; left:-11px; top:-59px; }
 .fw-header .fw-button { display:inline-flex; min-height:36px; font-size:.75rem; padding:6px 12px; }
 .fw-announcement { font-size:11px; padding:4px 24px; }
 .fw-editor-page { font-size:16px; }
 .fw-reading-wrap { width:calc(100% - 40px); }
 .fw-editor-hero { padding:28px 0; }
 .fw-cover-grid { grid-template-columns:minmax(0,1fr) 112px; align-items:start; gap:17px; }
 .fw-guide-hero h1 { font-size:1.65rem; }
 .fw-guide-hero .fw-section-label { font-size:.7rem; }
 .fw-guide-hero .fw-hero-tagline { font-size:.96rem; margin:12px 0; }
 .fw-guide-hero .fw-hero-text > p:not([class]) { font-size:.88rem; }
 .fw-guide-hero .fw-button { font-size:.78rem; padding:8px 12px; }
 .fw-cover { margin-top:28px; }
 .fw-cover img { max-height:none; width:100%; }
 .fw-editor-meta { font-size:.7rem; }
 .fw-editor-page h1 { font-size:1.85rem; }
 .fw-editor-page .fw-guide-hero h1 { font-size:1.65rem; }
 .fw-editor-section { padding:28px 0; }
 .fw-editor-section > .fw-reading-wrap { padding-top:22px; }
 .fw-editor-page h2 { font-size:1.55rem; margin-bottom:20px; }
 .fw-editor-page h3 { font-size:1.12rem; }
 .fw-editor-grid,.fw-cols-3 { grid-template-columns:1fr; gap:15px; margin:20px 0; }
 .fw-editor-card,.fw-mini-card,.fw-stat { padding:21px; }
 .fw-illustrated { grid-template-columns:1fr; gap:24px; }
 .fw-illustrated > .fw-art { justify-self:center; max-width:290px; }
 .fw-art-pair { grid-template-columns:1fr 1fr; }
 .fw-editor-nav { padding:12px 0; }
 .fw-editor-nav .fw-reading-wrap { gap:8px; }
 .fw-editor-nav span { width:100%; }
 .fw-editor-nav a { font-size:.75rem; padding:5px 9px; }
 .fw-action-group { padding:20px; }
 .fw-short-answer { padding:18px; }
 .fw-short-answer p { font-size:.96rem; }
 .fw-crisis,.fw-editor-callout { padding:21px; }
 .fw-editor-page .fw-qa-table td::before { color:#AB262B; text-transform:none; letter-spacing:normal; }
}
@media print {
 .fw-editor-nav,.fw-editor-page button { display:none; }
 .fw-editor-page details > * { display:block !important; }
 .fw-editor-page details > summary { display:block; }
 .fw-editor-page .fw-detail-body { content-visibility:visible !important; }
 .fw-editor-section { padding:20px 0; }
 .fw-editor-grid,.fw-illustrated { display:block; }
 .fw-editor-card,.fw-stat { margin:15px 0; break-inside:avoid; }
 .fw-editor-page,.fw-guide-hero,.fw-closing { background:white !important; color:#382F2D; }
 .fw-guide-hero h1,.fw-closing h2 { color:#AB262B; }
}
/* Symbol-led cards replace the source document's standard bullet markers. */
.fw-mini-card ul,.fw-stat ul,.fw-action-card ul { list-style:none; padding:0; margin:0; }
.fw-action-card li { margin:0; font-size:.9rem; }
.fw-mini-card li,.fw-stat li { margin:0; font-size:.94rem; }
.fw-action-card strong { color:#AB262B; font-weight:700; }
.fw-stages-title { margin-top:28px !important; }

.fw-illustrated > div > ul { display:grid; grid-template-columns:1fr 1fr; gap:12px; list-style:none; padding:0; }
.fw-illustrated > div > ul > li { padding:13px 15px; border-left:3px solid #A9D5D2; background:#edf6f4; border-radius:0 8px 8px 0; font-size:.88rem; margin:0; }
@media(max-width:620px){.fw-illustrated > div > ul { grid-template-columns:1fr; }}
.fw-crisis-resources { list-style:none; padding:0 !important; margin:20px 0 0 !important; }
.fw-crisis-resources li { border-top:1px solid #e0c6be; padding:13px 0; margin:0; }
.fw-crisis-resources strong { color:#AB262B; }

/* v1.0.8: the new Q&A uses the existing sleep Q&A component family. */
.fw-anxiety { font-size:18px; }
.fw-anxiety .fw-narrow { width:min(calc(100% - 64px),780px); }
.fw-anxiety .fw-wrap { width:min(calc(100% - 80px),1120px); }
.fw-anxiety .fw-qa-hero { padding:48px 0 38px; background:linear-gradient(145deg,#FFF9F6,#FFE8DC); }
.fw-anxiety .fw-qa-hero h1 { font-size:clamp(2rem,3.5vw,3.1rem); line-height:1.14; font-weight:700; }
.fw-anxiety .fw-eyebrow { font-weight:700; text-transform:none; letter-spacing:.025em; color:#AB262B; }
.fw-anxiety .fw-qa-meta { font-weight:600; font-size:.78rem; gap:6px 14px; margin-top:20px; }
.fw-anxiety .fw-answer { margin-top:28px; padding:28px 32px; border-radius:24px; border-color:#d7bdb4; box-shadow:0 14px 36px #5e383014; }
.fw-anxiety .fw-answer p { font-size:1.12rem; line-height:1.6; font-weight:600; }
.fw-anxiety .fw-answer__label { letter-spacing:.035em; font-weight:700; text-transform:none; }
.fw-anxiety .fw-qa-nav a { font-weight:700; font-size:.86rem; }
.fw-anxiety .fw-qa-nav { padding:18px 0; }
.fw-anxiety .fw-qa-section { padding:48px 0; }
.fw-anxiety .fw-qa-section > div { border-top:1px solid #AB262B; padding-top:28px; }
.fw-anxiety .fw-qa-section h2 { font-size:clamp(1.8rem,3.4vw,2.7rem); margin-bottom:25px; }
.fw-anxiety .fw-qa-section h3 { margin:28px 0 12px; font-size:1.3rem; }
.fw-anxiety .fw-option-card { border-radius:24px; background:#fff; padding:30px; }
.fw-anxiety .fw-option-card--clinical { background:#edf5f3; }
.fw-anxiety .fw-option-card h2 { font-size:clamp(1.65rem,2.7vw,2.2rem); margin:0 0 22px; }
.fw-anxiety .fw-option-card > ul { padding-left:20px; }
.fw-anxiety .fw-option-card > ul > li { margin-bottom:14px; }
.fw-anxiety .fw-option-card .fw-eyebrow { margin-bottom:10px; }
.fw-anxiety .fw-callout { padding:22px 24px; border-left:5px solid #D85C50; background:#FFE8DC; border-radius:0; }
.fw-anxiety .fw-evidence { background:#AB262B; border-radius:24px; padding:28px; }
.fw-anxiety .fw-evidence h3 { color:white; margin-top:0; }
.fw-anxiety .fw-evidence p { color:white; }
.fw-anxiety .fw-resource { border-radius:24px; }
.fw-anxiety .fw-resource h3 { margin-top:0; }
.fw-anxiety .fw-creatine { margin-top:28px; background:#FFF9F6; }
.fw-anxiety .fw-review-note { margin-top:26px; background:#f3e9df; }
.fw-qa-stat-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; margin:28px 0 18px; }
.fw-qa-stat { padding:25px; border:1px solid #d5e3df; border-radius:24px; background:white; border-top:4px solid #A9D5D2; }
.fw-qa-stat strong { display:block; color:#AB262B; font-size:2.5rem; font-weight:700; line-height:1.15; margin-bottom:18px; }
.fw-qa-stat ul { list-style:none; margin:0; padding:0; }
.fw-qa-stat li { margin:0; font-size:.94rem; }
.fw-qa-action { display:flex; gap:14px; align-items:start; padding:20px 0; border-top:1px solid #d8d2c9; }
.fw-qa-action > div { min-width:0; }
.fw-qa-action ul { padding:0; margin:0; list-style:none; }
.fw-qa-action li { margin:0; font-size:.96rem; line-height:1.65; }
.fw-qa-action strong { color:#AB262B; font-weight:700; }
.fw-qa-action-symbol { display:grid; place-items:center; flex:0 0 30px; height:30px; color:#AB262B; font-size:21px; font-weight:700; background:#FFE8DC; border-radius:50%; }
.fw-anxiety .fw-qa-table { font-size:.9rem; }
.fw-anxiety .fw-qa-table th { background:#f3e9df; color:#382F2D; }
.fw-anxiety .fw-qa-table td { padding:17px; }
/* The men's page: a workshop manual within the same Free Women family. */
.fw-mens { background:#f7f2e7; --fw-cream:#f7f2e7; }
.fw-mens .fw-guide-hero { background-color:#173D40; background-image:linear-gradient(#d5e6df09 1px,transparent 1px),linear-gradient(90deg,#d5e6df09 1px,transparent 1px); background-size:32px 32px; border-bottom:5px solid #AB262B; }
.fw-mens .fw-guide-hero .fw-section-label { font-family:ui-monospace,SFMono-Regular,Consolas,monospace; text-transform:uppercase; letter-spacing:.1em; font-size:.73rem; }
.fw-mens .fw-guide-hero h1 { font-weight:800; }
.fw-mens .fw-cover img { box-shadow:9px 9px 0 #071e2160; border:1px solid #f7f2e766; }
.fw-mens .fw-editor-nav { background:#ede6d8; border-bottom:1px solid #b8b0a2; }
.fw-mens .fw-editor-nav a { border-radius:3px; border-color:#aca89c; background:#fbf8f0; color:#173D40; }
.fw-mens .fw-editor-nav a:hover { background:#A9D5D2; }
.fw-mens .fw-editor-section { background:#f7f2e7; }
.fw-mens .fw-editor-section:nth-of-type(even) { background:#fffdf8; }
.fw-mens .fw-editor-section > .fw-reading-wrap { border-top:1px solid #173D40; }
.fw-manual-section-heading { display:flex; gap:18px; align-items:center; margin:0 0 28px; }
.fw-manual-number { display:grid; place-items:center; align-self:stretch; min-height:74px; flex:0 0 66px; background:#173D40; color:#FFF9F6; font:600 1.65rem/1 ui-monospace,SFMono-Regular,Consolas,monospace; }
.fw-manual-section-heading .fw-section-label { font-family:ui-monospace,SFMono-Regular,Consolas,monospace; text-transform:uppercase; letter-spacing:.055em; font-size:.72rem; margin-bottom:8px; }
.fw-manual-section-heading h2 { margin:0; }
.fw-mens .fw-editor-card { border-radius:4px; border-color:#c5bdad; border-top:3px solid #173D40; background:#fffdf8; }
.fw-mens .fw-editor-card:nth-child(even) { background:#edf1e9; }
.fw-mens .fw-editor-card h3 { color:#173D40; font-weight:800; }
.fw-mens .fw-detail { border-radius:3px; border-color:#c5bdad; background:#fffdf8; }
.fw-mens .fw-check-item { background:#fffdf8; border:1px solid #c5bdad; border-radius:4px; padding:20px; }
.fw-mens .fw-check-item > .fw-manual-art { display:grid; flex-basis:60px; width:60px; height:60px; border-radius:4px; background:#173D40; }
.fw-manual-art { display:grid; place-items:center; flex:0 0 76px; width:76px; height:76px; padding:10px; background:#173D40; border-radius:4px; }
.fw-manual-art img { display:block; max-width:100%; width:100%; max-height:100%; height:100%; object-fit:contain; }
.fw-manual-card-head { display:flex; gap:18px; align-items:center; margin-bottom:20px; }
.fw-manual-card-head h3 { margin:0; font-size:1.13rem; }
.fw-mens .fw-editor-callout { border-radius:0; background:#e3ece6; }
.fw-mens .fw-crisis { border-radius:0; border:1px solid #AB262B; border-top:6px solid #AB262B; background:#fff6ee; }
.fw-mens .fw-closing { background:#173D40 !important; }
.fw-mens .fw-closing .fw-manual-number { background:#A9D5D2; color:#173D40; }
.fw-mens .fw-closing h2 { color:#FFF9F6; }
.fw-mens .fw-closing .fw-section-label { color:#A9D5D2; }
.fw-manual-warning-list { display:grid; grid-template-columns:1fr 1fr; list-style:none; padding:0 !important; gap:14px; }
.fw-manual-warning-list > li { display:flex; gap:14px; align-items:center; background:#edf1e9; padding:14px; margin:0 !important; border:1px solid #d0ccbf; }
.fw-manual-warning-list .fw-manual-art { flex-basis:50px; width:50px; height:50px; padding:7px; }
@media(max-width:920px) { .fw-qa-stat-grid { grid-template-columns:1fr; } }
@media(max-width:620px) {
 .fw-anxiety { font-size:16px; }
 .fw-anxiety .fw-narrow,.fw-anxiety .fw-wrap { width:calc(100% - 40px); }
 .fw-anxiety .fw-qa-hero { padding:30px 0; }
 .fw-anxiety .fw-qa-hero h1 { font-size:1.95rem; }
 .fw-anxiety .fw-answer { padding:23px; margin-top:24px; }
 .fw-anxiety .fw-answer p { font-size:1rem; }
 .fw-anxiety .fw-qa-section { padding:30px 0; }
 .fw-anxiety .fw-qa-section h2 { font-size:1.7rem; }
 .fw-anxiety .fw-option-card { padding:24px; }
 .fw-anxiety .fw-option-card h2 { font-size:1.6rem; }
 .fw-anxiety .fw-qa-nav a { font-size:.81rem; }
 .fw-anxiety .fw-qa-table td { padding:12px 16px; }
 .fw-manual-number { flex-basis:46px; font-size:1.25rem; min-height:66px; }
 .fw-manual-section-heading { gap:13px; }
 .fw-mens .fw-manual-section-heading h2 { font-size:1.4rem; }
 .fw-manual-card-head { gap:14px; }
 .fw-manual-art { width:62px; height:62px; flex-basis:62px; }
 .fw-manual-card-head h3 { font-size:1rem; }
 .fw-manual-warning-list { grid-template-columns:1fr; }
 .fw-mens .fw-check-item { gap:15px; }
}
.fw-manual-urgent { display:flex; gap:18px; align-items:center; background:#fff1e8; border:1px solid #AB262B; border-left:5px solid #AB262B; padding:20px; margin:24px 0; }
.fw-manual-urgent p { margin:0; font-weight:600; }

/* v1.0.9: a little breathing room for the logo, and no orphan third card. */
.fw-header { padding:12px 0; }
.fw-header .fw-logo { width:210px; height:210px; left:-12px; top:-70px; }
.fw-three-blocks { grid-template-columns:repeat(3,minmax(0,1fr)); }
@media(max-width:900px) { .fw-three-blocks { grid-template-columns:1fr; } }
@media(max-width:620px) { .fw-header .fw-logo { width:172px; height:172px; left:-8px; top:-56px; } }
/* v1.1.0: balanced anatomy and shared reader actions. */
.fw-anatomy-intro { max-width:890px; margin-bottom:26px; }
.fw-anatomy-balanced { grid-template-columns:minmax(0,1.65fr) minmax(260px,1fr); align-items:center; gap:40px; }
.fw-anatomy-balanced > .fw-art { width:100%; max-width:330px; justify-self:center; padding:14px; background:#fffdf8; border:1px solid #d0c8b8; }
.fw-anatomy-balanced > div > p { font-weight:600; color:#173D40; }
.fw-anatomy-balanced > div > ul { margin-bottom:0; }
.fw-anatomy-takeaway { display:grid; grid-template-columns:1fr 1fr; gap:16px 28px; margin:28px 0; padding:22px 26px; background:#e3ece6; border-left:4px solid #173D40; }
.fw-anatomy-takeaway p { margin:0; font-size:.94rem; }
.fw-stages-art { max-width:1061px; margin:24px auto !important; background:white; border:1px solid #c5bdad; padding:15px; }
.fw-stages-art figcaption { font-size:.78rem; color:#665B57; margin-top:12px; }
.fw-stage-notes { margin-top:20px; }
.fw-reader-section { padding:32px 0; background:#fffdf8; }
.fw-reader-section .fw-disclaimer { margin-top:0; }
.fw-reader-section .fw-disclaimer h2 { font-size:1.5rem; margin-bottom:14px; }
.fw-reader-section--last { padding:36px 0 58px; border-top:1px solid #d9d2c7; background:#FFF9F6; }
.fw-reader-section--last h2 { font-size:clamp(1.65rem,2.5vw,2.1rem); margin-bottom:24px; }
.fw-reader-grid { display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); gap:24px; align-items:start; }
.fw-reader-card { border:1px solid #d3ccbf; padding:28px; background:white; border-radius:15px; }
.fw-reader-card--feedback { background:#edf5f3; }
.fw-mens .fw-reader-card { border-radius:4px; border-top:3px solid #173D40; }
.fw-reader-card h3 { margin:0 0 16px; font-size:1.25rem; }
.fw-reader-card p { font-size:.94rem; }
.fw-reader-card form > label { display:block; margin:18px 0 8px; font-size:.86rem; font-weight:700; }
.fw-reader-card input[type=email],.fw-reader-card input[type=url],.fw-reader-card textarea { display:block; width:100%; min-height:46px; border:1px solid #b9bdb5; border-radius:8px; background:white; color:#382F2D; padding:11px 13px; font:inherit; font-size:.95rem; }
.fw-reader-card textarea { resize:vertical; min-height:120px; }
.fw-reader-card button { font-family:inherit; margin-top:20px; }
.fw-reader-card .fw-checkbox { display:flex; gap:10px; align-items:flex-start; font-weight:400; line-height:1.5; }
.fw-checkbox input { margin:4px 0 0; width:17px; height:17px; flex:0 0 17px; accent-color:#AB262B; }
.fw-reader-card .fw-form-note { font-size:.76rem; color:#665B57; margin:12px 0 0; }
.fw-optional { font-weight:400; }
.fw-rating { margin:0; padding:0; border:0; }
.fw-rating legend { font-size:.86rem; font-weight:700; padding:0; margin-bottom:12px; }
.fw-rating-options { display:flex; flex-wrap:wrap; gap:9px; }
.fw-rating-options label { position:relative; cursor:pointer; }
.fw-rating-options input { position:absolute; opacity:0; width:1px; height:1px; }
.fw-rating-options label > span { display:block; padding:9px 12px; min-width:46px; text-align:center; background:white; border:1px solid #8b9992; border-radius:7px; color:#173D40; font-size:.93rem; }
.fw-rating-options input:checked + span { background:#AB262B; border-color:#AB262B; color:white; }
.fw-rating-options input:focus-visible + span { outline:3px solid #AB262B; outline-offset:3px; }
.fw-form-status { border-left:4px solid #AB262B; background:#FFE8DC; padding:18px 22px; margin-bottom:24px !important; }
.fw-form-trap { position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden; }
@media(max-width:800px) {
 .fw-anatomy-balanced { grid-template-columns:1fr; gap:28px; }
 .fw-anatomy-balanced > .fw-art { max-width:300px; }
 .fw-reader-grid { grid-template-columns:1fr; }
}
@media(max-width:620px) {
 .fw-anatomy-takeaway { grid-template-columns:1fr; padding:20px; gap:13px; }
 .fw-stages-art { padding:7px; }
 .fw-reader-section { padding:26px 0; }
 .fw-reader-section--last { padding-bottom:36px; }
 .fw-reader-card { padding:22px; }
 .fw-rating-options { gap:6px; }
 .fw-rating-options label > span { min-width:42px; padding:9px; }
}
@media print { .fw-reader-section--last { display:none; } }

/* Detailed body artwork stays behind the expandable arrow. */
.fw-anatomy-balanced { grid-template-columns:1fr; }
.fw-anatomy-balanced > div > ul { grid-template-columns:repeat(3,minmax(0,1fr)); }
@media(max-width:900px){.fw-anatomy-balanced > div > ul {grid-template-columns:1fr 1fr;}}
@media(max-width:620px){.fw-anatomy-balanced > div > ul {grid-template-columns:1fr;}}
