/* Sanmiguel Health legal-page presentation; Home styles remain untouched. */
.legal-page .site-header { background-color: var(--color-ivory); border-bottom: 1px solid rgba(167,131,92,.23); }
.legal-page .site-header[data-scrolled] { background-color: var(--color-ivory); }
.legal-page main { padding-top: var(--header-h); }
.legal-hero { padding:clamp(4rem,7vw,7rem) 0 clamp(3rem,5vw,4.5rem); border-bottom:1px solid rgba(167,131,92,.25); }
.legal-hero__layout { display:grid; gap:2rem; align-items:end; }
.legal-hero__eyebrow { display:flex; align-items:center; gap:1rem; }
.legal-hero__eyebrow:before { content:""; width:2.5rem; height:1px; background:var(--color-bronze); }
.legal-hero h1 { margin-top:1.35rem; font-size:clamp(3.4rem,8vw,7rem); line-height:.95; letter-spacing:-.035em; max-width:14ch; }
.legal-hero__intro { max-width:45rem; margin-top:1.5rem; line-height:1.75; color:var(--color-text-body); font-size:clamp(.98rem,.95rem + .3vw,1.1rem); }
.legal-hero__meta { max-width:21rem; border-left:1px solid var(--color-bronze); padding-left:1.25rem; color:var(--color-text-muted); font-size:.88rem; }
.legal-hero__meta dt { font-weight:600; color:var(--color-charcoal); margin-top:.6rem; }
.legal-hero__meta dd { margin:0; }
.legal-layout { display:grid; gap:3.5rem; padding-block:4rem 7rem; align-items:start; }
.legal-toc { padding:1.5rem; background:var(--color-card); border:1px solid rgba(167,131,92,.22); border-radius:.5rem; }
.legal-toc h2 { font-family:var(--font-sans); font-weight:600; font-size:.73rem; letter-spacing:.16em; text-transform:uppercase; color:var(--color-bronze-ink); }
.legal-toc ol { list-style:none; padding:0; margin:1.2rem 0 0; display:grid; gap:.15rem; }
.legal-toc a { display:flex; align-items:baseline; gap:.75rem; padding:.45rem 0; text-decoration:none; color:var(--color-text-body); font-size:.86rem; line-height:1.45; }
.legal-toc a span { font-size:.65rem; font-weight:650; letter-spacing:.05em; color:var(--color-bronze-ink); }
.legal-toc a:hover { color:var(--color-bronze-ink); text-decoration:underline; text-underline-offset:.25em; }
.legal-article { min-width:0; }
.legal-section { padding:2.75rem 0; border-top:1px solid rgba(167,131,92,.22); scroll-margin-top:calc(var(--header-h) + 1.5rem); }
.legal-section:first-child { border-top:0; padding-top:0; }
.legal-section__heading { display:flex; gap:1.1rem; align-items:start; margin-bottom:1.5rem; }
.legal-section__number { padding-top:.55rem; font-size:.75rem; font-weight:600; color:var(--color-bronze-ink); letter-spacing:.05em; }
.legal-section h2 { font-size:clamp(2.15rem,3vw,3rem); letter-spacing:-.015em; color:var(--color-charcoal); }
.legal-section p { max-width:72ch; margin-bottom:1rem; line-height:1.85; color:var(--color-text-body); font-size:.99rem; overflow-wrap:anywhere; }
.legal-section a { color:var(--color-bronze-ink); text-decoration-thickness:1px; text-underline-offset:.2em; }
.legal-section--identity { padding:2rem; margin-top:1rem; background:#efe8de; border-radius:.5rem; border:1px solid rgba(167,131,92,.25); }
.legal-section--identity p { font-size:.9rem; }
.legal-note { padding:1.25rem 1.5rem; border-left:2px solid var(--color-bronze); background:#f0eae0; font-size:.87rem; line-height:1.7; color:var(--color-text-body); }
.legal-footer { background:#f0eae0; border-top:1px solid rgba(167,131,92,.25); padding:3rem 0 2.25rem; }
.legal-footer__top { display:flex; justify-content:space-between; align-items:start; gap:2rem; flex-wrap:wrap; }
.legal-footer__brand { display:inline-block; width:12rem; }
.legal-footer__nav { display:flex; flex-wrap:wrap; gap:1.5rem; }
.legal-footer__nav a { font-size:.91rem; text-decoration:none; }
.legal-footer__nav a:hover { text-decoration:underline; }
.legal-footer__bottom { margin-top:2.5rem; padding-top:1.25rem; border-top:1px solid rgba(167,131,92,.25); color:var(--color-text-muted); font-size:.78rem; }
@media(min-width:64em){ .legal-page .site-header { background-color:var(--color-ivory); } .legal-hero__layout { grid-template-columns:minmax(0,1fr) 19rem; gap:4rem; } .legal-layout { grid-template-columns:16.5rem minmax(0,1fr); gap:clamp(3rem,5vw,7rem); } .legal-toc { position:sticky; top:calc(var(--header-h) + 2rem); } }
@media(max-width:37.49em){ .legal-hero { padding-block:3.5rem 2.5rem; } .legal-layout { gap:2.2rem; padding-block:2.75rem 4rem; } .legal-toc { padding:1.1rem; } .legal-section--identity { padding:1.25rem; } .legal-section__heading { gap:.75rem; } .legal-footer__nav { gap:1rem; } }
@media(prefers-reduced-motion:reduce){ html{scroll-behavior:auto;} }