/* Revisao visual / responsiva - camadas de compatibilidade para arquivo local.
   Mantem cores, textos e estrutura existentes. Nao requer servidor. */
:root { --sgc-green:#00a862; --sgc-ink:#003d1f; --sgc-subtle:#6c757d; }
html { scroll-behavior:smooth; -webkit-text-size-adjust:100%; }
*,*::before,*::after { box-sizing:border-box; }
body { min-width:320px; margin:0; }
[hidden] { display:none !important; }
.sgc-page { min-width:320px; width:100%; min-height:100vh; min-height:100svh; overflow-x:clip; display:flex; flex-direction:column; }
.sgc-stage { width:100%; flex:1 0 auto; min-width:0; display:flex; justify-content:center; align-items:center; padding:clamp(16px,3vw,36px) 16px; }
.sgc-panel { min-width:0; width:100%; max-width:600px; margin-inline:auto; padding:clamp(20px,3.4vw,40px); border-radius:16px; }
.sgc-panel__title { margin:0 0 8px; line-height:1.25; text-align:center; }
.sgc-panel__lead { max-width:460px; margin:0 auto 24px; text-align:center; line-height:1.55; overflow-wrap:break-word; }
.sgc-track { width:100%; height:10px; border-radius:999px; margin:0 0 26px; overflow:hidden; }
.sgc-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); grid-auto-rows:1fr; align-items:stretch; gap:14px; width:100%; }
.sgc-tile { min-width:0; min-height:142px; width:100%; height:100%; display:flex; flex-direction:column; justify-content:center; align-items:center; gap:9px; margin:0; padding:16px 12px; border-radius:12px; text-align:center; line-height:1.4; overflow-wrap:anywhere; }
.sgc-tile__icon { height:34px; min-height:34px; margin:0; display:flex; align-items:center; justify-content:center; flex-shrink:0; line-height:1; }
.sgc-icon-img { display:block; width:30px; height:30px; max-width:100%; object-fit:contain; }
.sgc-tile__name { min-width:0; max-width:100%; margin:0; font-size:1rem; line-height:1.35; font-weight:700; text-align:center; overflow-wrap:anywhere; text-wrap:balance; }
.sgc-tile:hover { transform:translateY(-3px); }
.sgc-tile:focus-visible,.sgc-cta:focus-visible,.sgc-back:focus-visible,.sgc-foot a:focus-visible,main a:focus-visible { outline:3px solid #007b48; outline-offset:3px; }
.sgc-panel--selected .sgc-panel__lead { display:none; }
.sgc-panel--selected .sgc-track { margin-bottom:24px; }
.sgc-bridge { min-width:0; width:100%; margin:0 auto; }
.sgc-bridge__heading { margin:0 0 18px; font-size:clamp(1.2rem,4vw,1.5rem); line-height:1.35; text-align:center; text-wrap:balance; }
.sgc-bridge__card { width:100%; margin:0 0 16px; padding:16px; border-radius:10px; }
.sgc-bridge__card-label { margin:0 0 6px; line-height:1.5; }
.sgc-bridge__card-value { margin:0; line-height:1.4; overflow-wrap:anywhere; text-wrap:balance; }
.sgc-bridge__hint { margin:14px auto 18px; max-width:440px; line-height:1.55; }
.sgc-cta { display:flex; align-items:center; justify-content:center; gap:10px; width:100%; min-height:48px; padding:12px 14px; border-radius:9px; font-size:clamp(.95rem,2.8vw,1.125rem); line-height:1.4; font-weight:600; text-align:center; overflow-wrap:break-word; }
.sgc-cta__icon { width:20px; height:20px; flex:0 0 20px; display:block; }
.sgc-back { min-height:44px; width:100%; margin:8px auto 0; padding:10px; border-radius:8px; font-weight:500; }
.sgc-foot { flex:0 0 auto; width:100%; padding:18px 16px 20px; font-size:14px; line-height:1.55; }
.sgc-foot__line { margin:0; overflow-wrap:break-word; }
.sgc-foot__line + .sgc-foot__line { margin-top:2px; }
.sgc-foot__rule { max-width:600px; margin:10px auto; }
.sgc-foot a { display:inline-block; padding:3px 2px; text-underline-offset:3px; }
.sgc-splash { width:100%; min-height:100%; }
.sgc-splash__mark { max-width:calc(100vw - 48px); object-fit:contain; }
/* Paginas juridicas: largura de leitura e consistencia tipografica. */
main.container { width:100%; max-width:820px; margin-inline:auto; padding:clamp(22px,4.5vw,48px) clamp(18px,4vw,32px) !important; }
main.container h1 { font-family:Poppins,Arial,sans-serif; font-size:clamp(1.75rem,4.5vw,2.35rem); font-weight:700; line-height:1.22; color:#007c49; margin-bottom:20px; overflow-wrap:break-word; }
main.container h2 { font-family:Poppins,Arial,sans-serif; font-size:clamp(1.07rem,2.2vw,1.25rem); font-weight:700; line-height:1.4; color:#006c42; margin-top:26px; margin-bottom:12px; }
main.container p,main.container li { font-family:Roboto,Arial,sans-serif; font-size:1rem; line-height:1.7; overflow-wrap:break-word; }
main.container ul { margin:0 0 16px; padding-left:24px; }
main.container li { margin-bottom:9px; }
main.container a { color:#007f49; text-underline-offset:3px; }
main.container .text-muted { color:#626d78 !important; }
@media(max-width:600px){
 .sgc-stage { padding:20px 12px; align-items:center; }
 .sgc-panel { max-width:100%; padding:22px 18px; border-radius:14px; }
 .sgc-panel__lead { margin-bottom:18px; font-size:.9rem; }
 .sgc-track { height:8px; margin-bottom:20px; }
 .sgc-grid { gap:10px; }
 .sgc-tile { min-height:122px; padding:12px 10px; gap:8px; }
 .sgc-tile__icon { height:30px; min-height:30px; }
 .sgc-icon-img { width:28px; height:28px; }
 .sgc-tile__name { font-size:.9rem; }
 .sgc-foot { font-size:.82rem; padding:15px 12px 18px; }
 main.container p,main.container li { font-size:.96rem; }
}
@media(max-width:360px){
 .sgc-stage { padding:14px 10px; }
 .sgc-panel { padding:18px 14px; }
 .sgc-grid { gap:8px; }
 .sgc-tile { min-height:112px; padding:10px 7px; gap:7px; }
 .sgc-tile__name { font-size:.825rem; line-height:1.3; }
 .sgc-icon-img { width:26px; height:26px; }
 .sgc-panel__lead { font-size:.85rem; }
 .sgc-cta { font-size:.92rem; padding:12px 10px; }
}
@media(max-height:680px) and (min-width:601px){
 .sgc-stage { padding-block:14px; }
 .sgc-panel { padding-block:20px; }
 .sgc-tile { min-height:114px; }
 .sgc-grid { gap:10px; }
}
@media(prefers-reduced-motion:reduce){
 html { scroll-behavior:auto; }
 .sgc-tile,.sgc-track__fill,.sgc-splash,.sgc-splash__mark { animation:none !important; transition:none !important; }
 .sgc-tile:hover { transform:none; }
}
