/* Apresentação compartilhada pelos artigos estáticos; conteúdo médico preservado. */
:root { --green-dark:#04261e; --green-medium:#244c40; --green-light:#edf1ed; --green-accent:#285f4e; --primary:#04261e; --gold:#a6bdb7; --bg:#fffcf9; --card:#fffcf9; --text:#04261e; --text-primary:#04261e; --text-secondary:#40564c; --text-muted:#40564c; --font-heading:'DM Sans',sans-serif; --font-body:'DM Sans',sans-serif; }
html { scroll-behavior:smooth; scroll-padding-top:130px; }
body { margin:0; background:#fffcf9; color:#04261e; font-family:'DM Sans',sans-serif; font-weight:300; }
body h1,body h2,body h3,body h4 { font-family:'DM Sans',sans-serif; font-weight:300; letter-spacing:-.04em; }
.rf-header { position:relative; top:auto; margin:20px; width:auto; padding:14px 24px; display:flex; gap:28px; align-items:center; border-radius:100px; background:#f2ede9; color:#04261e; box-shadow:0 6px 24px #04261e12; z-index:20; border:0; }
.rf-header a { color:#04261e; text-decoration:none; }
.rf-brand { display:flex; align-items:center; gap:10px; margin-right:auto; font-size:23px; letter-spacing:-.05em; line-height:1.25; }
.rf-brand img { width:56px; height:56px; object-fit:contain; mix-blend-mode:multiply; }
.rf-brand small { display:block; font-size:9px; letter-spacing:0; margin-top:5px; }
.rf-nav { display:flex; gap:26px; font-size:14px; }
.rf-header .rf-schedule { background:#04261e; color:#fffcf9; border-radius:100px; padding:14px 25px; font-size:14px; }
.rf-menu { position:relative; border:0; background:none; padding:0; }
.rf-menu summary { list-style:none; cursor:pointer; width:42px; height:42px; display:grid; place-items:center; border:1px solid #04261e40; border-radius:100%; font-size:20px; }
.rf-menu summary::-webkit-details-marker { display:none; }
.rf-menu nav { position:absolute; right:0; top:55px; width:min(300px,80vw); max-height:65vh; overflow:auto; padding:24px; border-radius:24px; background:#04261e; display:grid; gap:14px; }
.rf-menu nav a { color:#fffcf9; font-size:16px; }
.rf-skip { position:absolute; top:-200px; }
.rf-skip:focus { top:15px; background:white; padding:12px; }
.hero,.article-hero { background:#f2ede9; color:#04261e; padding:75px 6vw 65px; text-align:left; border-radius:0 0 44px 44px; margin:0; }
.hero h1,.article-hero h1 { color:#04261e; font-size:clamp(42px,5.2vw,76px); font-weight:200; line-height:1.07; max-width:1100px; margin:0 auto 28px; }
.hero p,.article-hero p,.article-hero .article-meta { max-width:1100px; margin-inline:auto; color:#40564c; font-size:16px; opacity:1; }
body > article:not(:has(.article-container)),.article-container,article.container { max-width:820px; padding:60px 25px; margin-inline:auto; font-size:18px; line-height:1.85; box-shadow:none; border:0; border-radius:0; background:transparent; }
body > article:has(.article-container) { max-width:none; padding:0; margin:0; }
article h2,.article-container h2 { font-size:clamp(28px,3vw,40px); line-height:1.2; margin-top:55px; padding-top:22px; border-top:1px solid #04261e30; border-left:0; padding-left:0; }
article h3,.article-container h3 { font-size:25px; line-height:1.3; }
.article-cover { max-width:1100px; margin:35px auto; padding-inline:24px; }
.article-cover img { display:block; width:100%; max-height:520px; object-fit:cover; border-radius:30px; }
.cta,.cta-box { background:#04261e; border-radius:28px; padding:36px; box-shadow:none; }
.cta h2,.cta h3,.cta-box h2,.cta-box h3 { color:#fffcf9; border:0; padding-top:0; }
.cta p,.cta-box p { color:#fffcf9; }
.cta-btn,.cta-button,.cta a,.cta-box a { border-radius:300px; font-weight:400; }
body footer { background:#04261e; color:#fffcf9; border-radius:40px 40px 0 0; margin-top:65px; padding:60px 6vw; }
body footer p,body footer a,body footer h4 { color:#fffcf9; }
:focus-visible { outline:2px solid #397d68; outline-offset:5px; }
@media(max-width:900px) { .rf-nav { display:none; } .rf-header { gap:14px; } }
@media(max-width:600px) {
 .rf-header { margin:12px; padding:12px; } .rf-brand { font-size:20px; gap:3px; } .rf-brand img { width:43px; height:43px; } .rf-brand small { font-size:8px; } .rf-schedule { display:none; }
 .hero,.article-hero { padding:42px 6vw; border-radius:0 0 28px 28px; }
 .hero h1,.article-hero h1 { font-size:42px; overflow-wrap:anywhere; }
 .article-container,body > article:not(:has(.article-container)),article.container { padding:35px 6vw; font-size:17px; }
 .article-cover img { border-radius:20px; } .cta,.cta-box { padding:28px 22px; }
 table { display:block; overflow-x:auto; max-width:100%; }
}
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } *,*::before,*::after { transition:none!important; animation:none!important; } }
