.healthy-page { padding:clamp(24px,4vw,64px); color:var(--ink); }
.healthy-header { display:flex; align-items:flex-start; justify-content:space-between; gap:28px; margin-bottom:30px; }
.healthy-header h1 { max-width:23ch; margin-bottom:18px; font-size:clamp(2.1rem,4.6vw,3.6rem); }
.healthy-intro { max-width:65ch; color:var(--muted); font-size:1.15rem; }
.healthy-reset { flex-shrink:0; }
.healthy-reset button { background:transparent; border:0; padding:8px 0; color:var(--blue-dark); text-decoration:underline; text-underline-offset:4px; }
.healthy-admission { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.1fr); gap:clamp(24px,4vw,48px); padding:clamp(22px,3vw,38px); border:1px solid var(--line); border-top:5px solid var(--blue); border-radius:12px; background:var(--sky); }
.healthy-admission h2 { font-size:clamp(1.65rem,3vw,2.35rem); }
.healthy-admission .healthy-form { padding:24px; background:#fff; border:1px solid var(--line); border-radius:9px; }
.healthy-form { max-width:56rem; }
.healthy-field { margin-bottom:22px; }
.healthy-field label { display:block; margin-bottom:8px; font-weight:750; line-height:1.45; }
.healthy-field input,.healthy-field textarea { display:block; width:100%; border:1px solid #8195ae; border-radius:7px; padding:12px 14px; font:inherit; color:var(--ink); background:#fff; }
.healthy-field textarea { min-height:120px; resize:vertical; }
.healthy-field input:focus,.healthy-field textarea:focus { outline:3px solid var(--focus); outline-offset:3px; box-shadow:0 0 0 6px #fff; }
.healthy-checkbox { display:grid; grid-template-columns:22px minmax(0,1fr); gap:10px; align-items:start; }
.healthy-checkbox input { grid-column:1; grid-row:1; width:20px; height:20px; margin-top:3px; }
.healthy-checkbox label { grid-column:2; font-size:.9rem; font-weight:500; }
.healthy-checkbox .errorlist { grid-column:1/-1; }
.healthy-page .errorlist { color:var(--danger); padding-left:20px; font-weight:700; font-size:.95rem; }
.healthy-note,.healthy-footer { font-size:.86rem; line-height:1.6; color:var(--muted); }
.healthy-footer { margin:30px 0 0; }
.healthy-objectives { margin:38px 0; max-width:65ch; }
.healthy-objectives h2 { font-size:1.4rem; }
.healthy-objectives li { margin:8px 0; }
.healthy-contact-status { display:flex; flex-wrap:wrap; gap:6px 18px; padding:14px 18px; border:1px solid #bfdac8; border-radius:8px; background:#eef8f1; font-size:.88rem; }
.healthy-contact-status span { color:#365644; }
.healthy-progress { margin:26px 0; }
.healthy-progress ol { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:8px; list-style:none; padding:0; margin:0; }
.healthy-progress li { display:flex; flex-wrap:wrap; align-content:flex-start; align-items:center; gap:8px; padding:14px 12px; border:1px solid var(--line); border-radius:8px; color:var(--muted); font-size:.8rem; font-weight:650; }
.healthy-progress li>span:first-child { display:inline-grid; place-items:center; width:25px; height:25px; flex-shrink:0; background:#e9eef4; border-radius:5px; }
.healthy-progress li.is-current { color:var(--navy); background:var(--sky); border-color:var(--blue); }
.healthy-progress li.is-current>span:first-child { color:#fff; background:var(--blue); }
.healthy-progress li.is-complete { border-color:#bad4c2; color:#245a35; }
.healthy-step-status { flex-basis:100%; font-size:.7rem; }
.healthy-card { padding:clamp(22px,3vw,40px); background:#fff; border:1px solid var(--line); border-radius:12px; }
.healthy-card>h2 { max-width:28ch; margin-bottom:24px; font-size:clamp(1.8rem,3.5vw,2.6rem); }
.healthy-prepare { max-width:70ch; margin:30px 0; }
.healthy-prepare>div { margin:28px 0; }
.healthy-prepare>div:first-child { padding:22px 26px; border-left:5px solid var(--navy); background:#f3f6f9; }
.healthy-prepare>div:first-child>p { font-size:.76rem; text-transform:uppercase; letter-spacing:.12em; color:var(--muted); }
.healthy-prepare>div:first-child blockquote { margin:0; font-size:1.35rem; font-style:italic; font-weight:750; color:var(--navy); }
.healthy-prepare>div:nth-child(2) { padding:10px 0; text-align:center; }
.healthy-prepare>div:nth-child(2)>p:first-child { color:var(--blue-dark); text-transform:uppercase; letter-spacing:.14em; font-size:.8rem; font-weight:750; }
.healthy-prepare>div:nth-child(2)>p:nth-child(2) { font-size:1.45rem; line-height:1.4; font-weight:750; color:var(--navy); }
.healthy-prepare>div:nth-child(2)>p:nth-child(3) { font-size:.95rem; font-style:italic; color:var(--muted); }
.healthy-prepare h3 { font-size:1.3rem; margin-bottom:18px; }
.healthy-prepare p { line-height:1.72; }
.healthy-prepare hr { border:0; border-top:1px solid var(--line); }
.healthy-prepare .callout-foundation { padding:24px; border:1px solid #c2d6ee; background:var(--sky); border-radius:8px; }
.healthy-prepare .callout-foundation h3 { text-transform:uppercase; letter-spacing:.1em; font-size:.8rem; }
.healthy-prepare dl>div { margin:18px 0; }
.healthy-prepare dt { font-weight:750; }
.healthy-prepare dd { margin:4px 0 0; color:var(--muted); }
.healthy-prepare>div.border-t { padding-top:28px; border-top:1px solid var(--line); }
.healthy-prepare table { width:100%; border-collapse:collapse; margin:22px 0; font-size:.9rem; }
.healthy-prepare th { background:var(--navy); color:#fff; text-align:left; }
.healthy-prepare th,.healthy-prepare td { border:1px solid var(--line); padding:12px 14px; vertical-align:top; }
.healthy-prepare tbody tr:nth-child(even) { background:#f3f6f9; }
.healthy-prepare .callout-summary { margin:24px 0; padding:20px 24px; border-left:3px solid var(--blue); background:#f3f7fc; }
.healthy-prepare .callout-summary>p { font-size:.75rem; text-transform:uppercase; letter-spacing:.12em; color:var(--blue-dark); font-weight:750; }
.healthy-prepare .callout-summary ul { list-style:none; padding:0; }
.healthy-prepare .callout-summary li { display:flex; gap:12px; margin:10px 0; font-size:.9rem; }
.healthy-prepare .callout-summary li>span:first-child { color:var(--blue-dark); }
.healthy-prepare .callout-optional { margin:28px 0; padding:20px 24px; background:var(--warm); border-left:3px solid #b59554; }
.healthy-prepare .callout-optional h3 { font-size:.9rem; }
.healthy-processing { padding-top:28px; border-top:2px solid var(--navy); }
.healthy-processing h3 { font-size:1.65rem; }
.healthy-processing>p { max-width:65ch; color:var(--muted); }
.healthy-coaching { padding:24px; margin:24px 0; border-left:4px solid var(--blue); border-radius:0 8px 8px 0; background:var(--sky); line-height:1.75; max-width:72ch; }
.healthy-coaching p:last-child { margin-bottom:0; }
.healthy-role { max-width:70ch; font-style:italic; color:var(--muted); }
.healthy-scenario { max-width:70ch; margin:28px 0; line-height:1.8; }
.healthy-scenario p { margin-bottom:20px; }
.healthy-actions,.healthy-links { display:flex; flex-wrap:wrap; gap:12px; margin:22px 0 0; }
.healthy-action { display:inline-block; margin:10px 0; }
.healthy-actions .healthy-action { margin:0; }
.healthy-prior,.healthy-history { border:1px solid var(--line); border-radius:8px; padding:18px 22px; margin:24px 0; }
.healthy-prior summary,.healthy-history summary { cursor:pointer; font-weight:750; }
.healthy-prior[open]>p:first-of-type { margin-top:18px; }
.healthy-history article { padding:24px 0; border-top:1px solid var(--line); margin-top:20px; }
.healthy-history h4 { margin:20px 0 8px; }
.healthy-history details { color:var(--muted); }
.healthy-alert { padding:18px 22px; margin:20px 0; background:#fff4d6; color:#574015; border:1px solid #bd9540; border-radius:8px; }
.healthy-loading { margin:16px 0 0; color:var(--blue-dark); font-weight:650; }
.healthy-page [aria-busy=true] button { cursor:wait; opacity:.65; }
.healthy-page [hidden] { display:none!important; }
.healthy-page [data-focus]:focus { outline:3px solid var(--focus); outline-offset:6px; }
@media(max-width:1200px) { .healthy-admission { grid-template-columns:1fr; } .healthy-progress ol { grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media(max-width:620px) {
  .healthy-page { padding:24px 18px; }
  .healthy-header { display:block; }
  .healthy-header h1 { font-size:2.15rem; }
  .healthy-reset { margin-top:12px; }
  .healthy-progress ol { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .healthy-progress li { padding:12px 10px; }
  .healthy-card,.healthy-admission { padding:22px 18px; }
  .healthy-admission .healthy-form { padding:18px; }
  .healthy-links,.healthy-actions { display:grid; }
  .healthy-actions button,.healthy-form>button,.healthy-links>a { width:100%; }
  .healthy-prepare th,.healthy-prepare td { padding:9px; overflow-wrap:anywhere; }
}

.healthy-ending { border-bottom:1px solid var(--line); padding:6px 0 22px; margin-bottom:24px; }
.healthy-ending h3 { color:var(--blue-dark); font-size:1rem; }

.healthy-receipt { margin:0 0 24px; padding:16px 18px; border:1px solid var(--line); border-radius:8px; background:#f3f7fc; font-size:.88rem; }
.healthy-receipt [data-focus] { scroll-margin-top:12px; }
.healthy-receipt p { margin:4px 0 0; max-width:75ch; color:var(--muted); }
.healthy-receipt-actions { display:flex; flex-wrap:wrap; gap:10px 18px; align-items:center; margin-top:10px; }
.healthy-receipt-actions>a { color:var(--blue-dark); text-underline-offset:3px; }
.healthy-receipt-actions .healthy-action { margin:0; }
