/* GSA — R04: expansão dos 14 layouts restantes. Preserva o desenho aprovado da R03. */
.r4-preview-id{font-size:9px;font-weight:750;letter-spacing:.12em;color:#484848;white-space:nowrap}
.r4-breadcrumb{display:flex;flex-wrap:wrap;align-items:center;gap:9px;font-size:11px;color:#484848;margin-bottom:23px;font-weight:650;line-height:1.5}
.r4-breadcrumb a{text-decoration:none;color:#222222;border-bottom:1px solid transparent}.r4-breadcrumb a:hover{border-color:#181818}
.r4-breadcrumb strong{font-weight:700;color:#181818}.r4-breadcrumb span{color:#6c6c6c}
.r4-detail .inner-hero{padding-top:35px;padding-bottom:30px;border-bottom:1px solid #afafaf}
.r4-detail .inner-hero h1{font-size:clamp(45px,4.85vw,69px);max-width:940px;margin:13px 0 21px}
.r4-detail .inner-lede{max-width:760px;font-size:17px}
.r4-detail .detail-layout{grid-template-columns:minmax(280px,.94fr) minmax(0,1.06fr);gap:clamp(30px,5vw,72px);padding-block:36px 63px}
.r4-detail .detail-photo{top:24px}.r4-detail .detail-photo picture{aspect-ratio:4/3;overflow:hidden}
.r4-detail .detail-photo picture img{width:100%;height:100%;object-fit:cover}
.r4-detail .r4-area-note{padding:24px 25px;margin-top:17px;background:#eeeeee;border-left:3px solid #181818}
.r4-detail .r4-area-note strong{font-size:clamp(25px,2.8vw,33px)}
.r4-detail .r4-area-note p{font-size:13px}
.r4-detail .r3-detail-nav{padding-bottom:1px}
.r4-detail .detail-content>.r4-editorial-section{padding:26px 0;scroll-margin-top:23px}
.r4-detail .detail-content>.r4-editorial-section:first-child{padding-top:8px}
.r4-detail .detail-content>.r4-editorial-section h2{font-size:clamp(29px,2.8vw,36px);line-height:1.18;letter-spacing:-.015em}
.r4-detail .detail-content>.r4-editorial-section p{font-size:16px;line-height:1.7;max-width:700px}
.r4-detail .detail-content>.r4-editorial-section:nth-child(4){padding:25px;background:#eeeeee;border-left:3px solid #181818;margin:13px 0}
.r4-detail .detail-content>.r4-editorial-section:nth-child(4) h2{font-size:30px}
.r4-detail .r4-main-cta{width:100%;margin-top:13px;justify-content:space-between}
.r4-after-detail{padding:29px 33px 31px;border-top:1px solid #afafaf;border-bottom:1px solid #afafaf;background:#eeeeee;margin-block:8px 65px}
.r4-after-detail p{font:400 clamp(24px,2.9vw,33px)/1.27 var(--serif);margin:12px 0 18px;max-width:780px}
.r4-related{display:flex;gap:20px;flex-wrap:wrap}
.r4-related a{font-size:12px;font-weight:760;text-decoration:underline;text-underline-offset:4px;color:#181818;padding:9px 0}
/* Programa: original texts intact. */
.r4-programa .inner-hero{padding-block:48px 42px;border-bottom:1px solid #afafaf}
.r4-process-layout{display:grid!important;grid-template-columns:minmax(0,1.34fr) minmax(280px,.72fr);gap:clamp(28px,5vw,72px);align-items:start;padding-block:49px 83px!important}
.r4-process-stack{min-width:0}.r4-process-stack .inner-step{max-width:100%;scroll-margin-top:27px}
.r4-process-stack .inner-step:first-child{border-top:0}
.r4-process-stack .inner-step h2{font-size:clamp(27px,2.9vw,35px)}
.r4-process-stack .inner-step p{font-size:16px;line-height:1.75}
.r4-program-aside{position:sticky;top:20px;padding:32px;background:#181818;color:#fff}
.r4-program-aside .r3-micro{color:#afafaf}
.r4-program-aside h2{font:400 clamp(30px,3vw,40px)/1.16 var(--serif);letter-spacing:-.025em;margin:15px 0}
.r4-program-aside>p{font-size:13px;color:#dadada;line-height:1.68;margin:0 0 25px}
.r4-program-toc{display:flex;flex-direction:column;gap:0}
.r4-program-toc a{text-decoration:none;color:#eeeeee;border-top:1px solid #ffffff47;padding:14px 1px;font-size:12px;font-weight:720;line-height:1.4}
.r4-program-toc a:hover{color:white;text-decoration:underline;text-underline-offset:4px}
.r4-aside-cta{display:block;padding:15px 13px;background:#fff;color:#181818;text-decoration:none;text-align:center;font-weight:800;font-size:12px;margin-top:19px}
/* Institutional */
.r4-sobre .inner-hero{padding-block:51px 48px}
.r4-sobre .inner-hero h1{max-width:1020px}
.r4-about-nav{display:flex;flex-wrap:wrap;gap:9px;margin-top:31px;max-width:1120px}
.r4-about-nav a{background:#eeeeee;border:1px solid #dadada;min-height:40px;display:inline-flex;align-items:center;color:#181818;font-size:11px;font-weight:730;text-decoration:none;padding:9px 12px}
.r4-about-nav a:hover{background:#dadada}
.r4-sobre .editorial-columns{padding-block:55px 85px}
.r4-sobre .r4-about-section{scroll-margin-top:20px}
.r4-sobre .r4-about-section h2{font-size:clamp(30px,2.8vw,38px)}
/* FAQ */
.r4-faq .inner-hero{padding-block:45px 37px;border-bottom:1px solid #afafaf}
.r4-faq-search{width:min(var(--container),calc(100% - 72px));margin:38px auto 0;padding:28px 31px;background:#eeeeee;border:1px solid #dadada}
.r4-faq-search h2{font:400 clamp(28px,3vw,39px)/1.2 var(--serif);margin:8px 0 17px}
.r4-faq-field{display:flex;gap:9px;align-items:stretch;background:#fff;border:1px solid #afafaf;padding:5px;max-width:740px}
.r4-faq-field:focus-within{outline:3px solid #bf9e59;outline-offset:3px}
.r4-faq-field input{border:0;background:transparent;outline:0;min-width:0;flex:1;padding:10px 13px;font-size:15px;color:#181818}
.r4-faq-field button{background:#181818;color:#fff;border:0;padding:0 19px;font-size:12px;font-weight:770;min-height:45px}
.r4-faq-search #r4-faq-result{font-size:11px;color:#484848;margin:11px 0 0}
.r4-faq-categories{display:flex;flex-wrap:wrap;gap:7px 12px;margin-top:20px}
.r4-faq-categories a{color:#181818;font-size:11px;font-weight:730;text-decoration:underline;text-underline-offset:5px}
.r4-faq .faq-groups{padding-top:44px;gap:38px 52px}
.r4-faq .faq-group{scroll-margin-top:25px;border-top:3px solid #181818;padding-top:23px}
.r4-faq .faq-group h2{margin-top:0}
.r4-faq .faq-item{border-bottom:1px solid #dadada}
.r4-faq .faq-item summary{min-height:65px;padding:17px 2px}
.r4-faq .faq-item[hidden],.r4-faq .faq-group[hidden],.r4-faq-empty[hidden]{display:none!important}
.r4-faq-empty{grid-column:1/-1;background:#eeeeee;padding:32px;border:1px dashed #afafaf}
.r4-faq-empty h2{font:400 31px var(--serif)}
/* Contact */
.r4-contato .inner-hero{padding-block:44px 41px;border-bottom:1px solid #afafaf}
.r4-contact-intro{padding-top:48px}
.r4-contact-intro h2{font:400 clamp(31px,3.5vw,44px)/1.1 var(--serif);margin:10px 0 13px}
.r4-contact-intro p{font-size:15px;color:#222222;max-width:650px;line-height:1.65;margin:0}
.r4-contato .contact-grid{padding-top:28px}
.r4-contato .contact-panel{min-height:310px}
.r4-contato .hours{border-top:1px solid #dadada;margin-top:45px}
/* Legal: never hide or label a draft as effective policy. */
.r4-legal .inner-hero{padding-block:47px 42px;border-bottom:1px solid #afafaf}
.r4-legal-nav{display:flex;gap:9px;flex-wrap:wrap;margin:0 0 29px}
.r4-legal-nav a{font-size:11px;color:#181818;background:#eeeeee;border:1px solid #dadada;padding:10px 13px;text-decoration:none;font-weight:730}
.r4-legal-nav a:hover{background:#dadada}
.r4-legal .legal-warning{border-left:4px solid #a77a36}
.r4-legal .legal-preview .inner-prose{scroll-margin-top:20px}
.r4-legal .legal-preview .inner-prose h2{font-size:clamp(29px,2.9vw,37px)}
/* Base accessibility of new components */
.r4-page :is(input,button,a):focus-visible{outline:3px solid #b58c3d;outline-offset:4px}
.sr-only{position:absolute!important;width:1px;height:1px;padding:0!important;margin:-1px!important;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:1000px){.r4-process-layout{grid-template-columns:minmax(0,1fr) minmax(245px,.62fr);gap:29px}.r4-program-aside{padding:24px}.r4-detail .detail-layout{gap:29px}.r4-about-nav a{font-size:10px}}
@media(max-width:760px){
 .r4-preview-id{display:none}
 .r4-breadcrumb{margin-bottom:17px;font-size:10px;gap:6px}
 .r4-detail .inner-hero{padding-block:26px 22px}.r4-detail .inner-hero h1{font-size:clamp(40px,9.6vw,56px);margin:9px 0 17px}
 .r4-detail .inner-lede{font-size:15px}
 .r4-detail .detail-layout{padding-block:22px 40px;display:block}.r4-detail .detail-photo picture{aspect-ratio:16/10}
 .r4-detail .r4-area-note{padding:21px 20px;margin:14px 0 22px}.r4-detail .detail-content>.r4-editorial-section{padding:22px 0}
 .r4-detail .detail-content>.r4-editorial-section h2{font-size:29px}.r4-detail .detail-content>.r4-editorial-section p{font-size:15px}
 .r4-detail .detail-content>.r4-editorial-section:nth-child(4){padding:20px}.r4-detail .detail-content>.r4-editorial-section:nth-child(4) h2{font-size:27px}
 .r4-detail .r4-main-cta{min-width:0}.r4-after-detail{width:calc(100% - 34px);padding:22px 20px;margin-block:10px 49px}
 .r4-programa .inner-hero{padding-block:34px 29px}.r4-process-layout{display:flex!important;flex-direction:column;gap:14px;padding-block:27px 46px!important}
 .r4-process-stack{order:2}.r4-program-aside{order:1;width:100%;position:static;padding:22px 20px;margin-bottom:10px}
 .r4-program-toc{display:grid;grid-template-columns:1fr 1fr;gap:0 13px}.r4-program-toc a{padding:11px 0}
 .r4-process-stack .inner-step{padding-block:21px}.r4-process-stack .inner-step h2{font-size:28px}.r4-process-stack .inner-step p{font-size:15px}
 .r4-sobre .inner-hero{padding-block:34px 29px}.r4-about-nav{gap:7px;margin-top:23px}.r4-about-nav a{font-size:10px;min-height:37px}
 .r4-sobre .editorial-columns{padding-block:35px 60px}
 .r4-faq .inner-hero{padding-block:31px}.r4-faq-search{width:calc(100% - 34px);margin-top:24px;padding:23px 19px}
 .r4-faq-search h2{font-size:31px}.r4-faq-field input{font-size:16px}.r4-faq-field button{padding:0 12px}
 .r4-faq .faq-groups{padding-top:32px}
 .r4-contato .inner-hero{padding-block:31px}.r4-contact-intro{padding-top:31px}.r4-contact-intro h2{font-size:33px}
 .r4-contato .contact-grid{padding-top:23px}.r4-contato .contact-panel{min-height:0}
 .r4-legal .inner-hero{padding-block:31px}.r4-legal-nav{gap:7px}.r4-legal-nav a{font-size:10px;padding:9px}
}
@media(prefers-reduced-motion:reduce){.r4-detail :is(a,button){transition:none}}
/* Use original editorial CTA earlier on the nine newly refined specialty pages. */
.r4-hero-cta{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:12px 20px;background:#181818;color:#fff;text-decoration:none;font-size:13px;font-weight:760;line-height:1.4;margin-top:22px}
.r4-hero-cta:hover{background:#181818;color:#fff}
.r4-hero-cta+.r4-detail-nav{margin-top:20px}
@media(max-width:760px){.r4-hero-cta{width:100%;margin-top:18px;min-height:49px;justify-content:space-between;padding-inline:17px}.r4-hero-cta+.r4-detail-nav{margin-top:16px}}
