:root{--public-navy:#063b5d;--public-blue:#0073c3;--public-sky:#0b8dd3;--public-yellow:#ffc100;--public-ink:#102f45;--public-muted:#5b7181;--public-bg:#eef5fa}.public-site{background:var(--public-bg);color:var(--public-ink);font-family:Montserrat,Arial,sans-serif;margin:0}.public-header{align-items:center;background:linear-gradient(120deg,#063b5d,#0073c3);display:flex;justify-content:space-between;padding:1rem max(2rem,calc((100vw - 1180px)/2));position:relative;z-index:10}.public-header nav{align-items:center;display:flex;gap:1.3rem}.public-header nav>a:not(.btn){color:#fff;font-size:.88rem;font-weight:700;text-decoration:none}.public-brand{align-items:center;color:#fff;display:inline-flex;gap:.7rem;text-decoration:none}.public-brand strong{font-size:2rem;font-weight:900;line-height:1}.public-brand span{font-size:.72rem;font-weight:900;letter-spacing:.13em}.public-hero{background:linear-gradient(130deg,#063b5d 0%,#075a89 57%,#0786ca 100%);display:grid;gap:3rem;grid-template-columns:minmax(0,1.6fr) minmax(300px,.7fr);margin:0 auto;max-width:1280px;min-height:520px;padding:5rem 4rem}.public-hero-copy{align-self:center}.public-kicker{color:#0784c7;display:block;font-size:.72rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase}.public-hero .public-kicker,.public-hero aside>span,.public-cta .public-kicker{color:#8fd8ff}.public-hero h1{color:#fff;font-size:clamp(2.5rem,5vw,4.5rem);font-weight:900;letter-spacing:-.04em;line-height:1.02;margin:.7rem 0 1.2rem;max-width:850px}.public-hero-copy>p{color:#dceef8;font-size:1.18rem;line-height:1.6;max-width:720px}.public-hero-actions{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:2rem}.btn-accent{background:var(--public-yellow);border-color:var(--public-yellow);color:#12344a;font-weight:800}.btn-accent:hover{background:#eeb400;border-color:#eeb400}.public-trust{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:2.3rem}.public-trust span{border:1px solid rgba(255,255,255,.28);border-radius:999px;color:#fff;font-size:.76rem;font-weight:700;padding:.55rem .8rem}.public-hero aside{align-self:center;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.25);border-radius:18px;color:#fff;padding:2rem}.public-hero aside>span{font-size:.7rem;font-weight:900;letter-spacing:.09em}.public-hero aside strong{display:block;font-size:1.65rem;line-height:1.3;margin:1rem 0}.public-hero aside p{color:#dbeaf3;line-height:1.55}.public-section{margin:0 auto;max-width:1280px;padding:5rem 2rem}.public-section-heading{max-width:740px}.public-section-heading h2,.public-flow h2,.public-cta h2{font-size:clamp(2rem,3.5vw,3rem);font-weight:900;letter-spacing:-.03em;margin:.5rem 0}.public-section-heading p{color:var(--public-muted);font-size:1.05rem}.public-profile-grid{display:grid;gap:1rem;grid-template-columns:repeat(4,minmax(0,1fr));margin-top:2.3rem}.public-profile-grid a{background:#fff;border:1px solid #cfe0ea;border-radius:14px;color:var(--public-ink);min-height:210px;padding:1.5rem;text-decoration:none;transition:.2s}.public-profile-grid a:hover{border-color:var(--public-blue);box-shadow:0 16px 35px rgba(4,71,112,.12);transform:translateY(-4px)}.public-profile-grid a>span{align-items:center;background:#e7f5fd;border-radius:50%;color:var(--public-blue);display:flex;font-weight:900;height:40px;justify-content:center;width:40px}.public-profile-grid h3{font-size:1.2rem;font-weight:850;margin:1.3rem 0 .5rem}.public-profile-grid p{color:var(--public-muted);line-height:1.5}.public-flow{background:#fff;border:1px solid #d4e3ec;display:grid;gap:2rem;grid-template-columns:minmax(240px,.6fr) 1.4fr;margin:0 auto 5rem;max-width:1180px;padding:2.5rem}.public-flow ol{display:grid;gap:1rem;grid-template-columns:repeat(2,1fr);list-style:none;margin:0;padding:0}.public-flow li{border-left:4px solid var(--public-blue);padding:.8rem 1rem}.public-flow li strong,.public-flow li span{display:block}.public-flow li span{color:var(--public-muted);font-size:.85rem;margin-top:.25rem}.public-cta{align-items:center;background:linear-gradient(120deg,#063b5d,#0073c3);color:#fff;display:flex;gap:2rem;justify-content:space-between;margin:0 auto 5rem;max-width:1180px;padding:2.5rem}.public-cta p{color:#d9edf8;max-width:700px}.public-cta .btn{white-space:nowrap}.public-footer{background:#052f49;color:#c9deea;display:flex;flex-direction:column;gap:2.5rem;padding:3rem max(2rem,calc((100vw - 1180px)/2))}.public-footer-top{align-items:flex-start;display:grid;gap:3rem;grid-template-columns:1fr 1.6fr}.public-footer-brand-col{display:flex;flex-direction:column;gap:.55rem}.public-footer-institutional-col{display:flex;flex-direction:column;gap:.75rem}.public-footer-institutional-title{color:#fff;display:block;text-align:center;width:100%}.public-footer-institutional-grid{display:grid;gap:.55rem 1.5rem;grid-template-columns:repeat(2,1fr)}.public-footer-bottom{align-items:center;border-top:1px solid rgba(255,255,255,.12);display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;padding-top:1.8rem}.public-footer a{color:#fff;text-decoration:none}.public-footer strong{color:#fff}.public-brand-footer{margin-bottom:.5rem}.public-flash{margin:1rem auto;max-width:900px}.public-page-hero{background:linear-gradient(120deg,#063b5d,#0073c3);color:#fff;padding:4rem max(2rem,calc((100vw - 1180px)/2))}.public-page-hero .public-kicker{color:#9bdbff}.public-page-hero h1{font-size:clamp(2.3rem,4vw,3.8rem);font-weight:900;margin:.5rem 0}.public-page-hero p{color:#d9ebf5;font-size:1.1rem}.opportunity-grid{display:grid;gap:1rem;grid-template-columns:repeat(3,minmax(0,1fr))}.opportunity-grid article,.public-empty{background:#fff;border:1px solid #d2e1ea;border-radius:14px;padding:1.5rem}.opportunity-grid article>span{color:var(--public-blue);font-size:.72rem;font-weight:900;text-transform:uppercase}.opportunity-grid h2{font-size:1.25rem;font-weight:850;margin:.7rem 0}.opportunity-grid article>p{color:var(--public-muted)}.opportunity-grid dl{border-top:1px solid #e2ebf0;display:grid;gap:.7rem;margin-top:1rem;padding-top:1rem}.opportunity-grid dl div{display:flex;gap:.8rem}.opportunity-grid dt{min-width:60px}.opportunity-grid dd{color:var(--public-muted);margin:0}.public-form-shell{background:#fff;border:1px solid #cfdee8;border-radius:20px;box-shadow:0 25px 60px rgba(4,53,84,.14);margin:3rem auto;max-width:760px;overflow:hidden}.public-form-shell>header{padding:2rem 2rem 1rem}.public-form-brand{color:var(--public-navy);justify-content:center;width:100%}.public-progress{background:#e5eef4;border-radius:99px;height:7px;margin:2rem 0 1rem;overflow:hidden}.public-progress i{background:var(--public-yellow);display:block;height:100%;transition:width .2s;width:25%}.public-form-shell>header ol{display:grid;grid-template-columns:repeat(4,1fr);list-style:none;margin:0;padding:0;text-align:center}.public-form-shell>header li{color:#9aa8b1;font-size:.75rem;font-weight:700}.public-form-shell>header li.active{color:var(--public-navy)}.public-form-shell form{padding:1rem 2rem 2rem}.public-form-shell fieldset{border:0;margin:0;min-width:0;padding:0}.public-form-shell fieldset[hidden]{display:none}.public-form-shell legend{color:var(--public-navy);font-size:1.65rem;font-weight:900;text-align:center}.public-form-shell fieldset>p{color:var(--public-muted);text-align:center}.profile-choice-grid{display:grid;gap:.8rem;grid-template-columns:1fr 1fr;margin-top:1.7rem}.profile-choice-grid label{cursor:pointer}.profile-choice-grid input{opacity:0;position:absolute}.profile-choice-grid label>span{border:2px solid #d6dde2;border-radius:12px;display:flex;flex-direction:column;min-height:105px;padding:1.1rem}.profile-choice-grid input:checked+span{background:#edf6fc;border-color:var(--public-navy);box-shadow:0 0 0 2px rgba(0,115,195,.08)}.profile-choice-grid b{font-size:1.02rem}.profile-choice-grid small{color:var(--public-muted);margin-top:.35rem}.public-fields{display:grid;gap:1rem;grid-template-columns:1fr 1fr;margin-top:1.5rem}.public-fields label>span{display:block;font-size:.82rem;font-weight:800;margin-bottom:.35rem}.public-fields label.full{grid-column:1/-1}.public-fields input,.public-fields select,.public-fields textarea{border-radius:10px;padding:.72rem .85rem}.cause-grid{display:grid;gap:.7rem;grid-template-columns:repeat(3,1fr);margin:1.5rem 0}.cause-grid label{cursor:pointer}.cause-grid input{opacity:0;position:absolute}.cause-grid span{align-items:center;border:2px solid #d8dfe4;border-radius:10px;display:flex;font-size:.85rem;font-weight:700;min-height:58px;padding:.7rem}.cause-grid input:checked+span{background:#eef8fd;border-color:var(--public-blue);color:var(--public-navy)}.majority-check,.document-check{align-items:flex-start;background:#f2f7fa;border-radius:10px;display:flex;gap:.6rem;margin-top:.8rem;padding:.85rem}.public-form-shell form>footer{display:flex;gap:.8rem;justify-content:space-between;margin-top:1.6rem}.public-form-shell form>footer .btn{font-weight:800;min-width:150px}.public-honeypot{left:-9999px;position:absolute}.public-document{margin:3rem auto;max-width:960px}.public-document>header{background:linear-gradient(120deg,#063b5d,#0073c3);color:#fff;padding:2.5rem}.public-document>header .public-kicker{color:#9cddff}.public-document>header h1{font-size:2.5rem;font-weight:900;margin:.5rem 0}.public-document>header p{color:#d9edf8}.public-document>header small{color:#bcd4e2}.public-document>div{background:#fff;border:1px solid #d5e3eb;padding:1rem 2.5rem 2.5rem}.public-document article{border-bottom:1px solid #e0e9ee;display:grid;gap:1rem;grid-template-columns:44px 1fr;padding:1.5rem 0}.public-document article>span{color:var(--public-blue);font-weight:900}.public-document h2{font-size:1.08rem;font-weight:850}.public-document article p{color:#405e72;line-height:1.65;margin:0}.public-completed{background:#fff;border:1px solid #d4e3ec;border-radius:18px;margin:5rem auto;max-width:680px;padding:3rem;text-align:center}.public-completed>span{align-items:center;background:#e6f7ee;border-radius:50%;color:#14864b;display:flex;font-size:2rem;font-weight:900;height:70px;justify-content:center;margin:0 auto 1.5rem;width:70px}.public-completed h1{font-size:2rem;font-weight:900}.public-completed>p:not(.public-kicker){color:var(--public-muted);line-height:1.6}.public-completed>div{display:flex;gap:.8rem;justify-content:center;margin-top:1.5rem}@media(max-width:900px){.public-hero{grid-template-columns:1fr;padding:4rem 2rem}.public-hero aside{display:none}.public-profile-grid,.opportunity-grid{grid-template-columns:1fr 1fr}.public-flow{grid-template-columns:1fr}.public-footer-top{grid-template-columns:1fr}}@media(max-width:650px){.public-header{padding:.85rem 1rem}.public-header nav>a:not(.btn){display:none}.public-hero{min-height:auto;padding:3rem 1.25rem}.public-section{padding:3rem 1rem}.public-profile-grid,.opportunity-grid,.public-flow ol,.profile-choice-grid,.public-fields,.cause-grid,.public-footer-institutional-grid{grid-template-columns:1fr}.public-cta{align-items:flex-start;flex-direction:column;margin:0 1rem 3rem}.public-form-shell{border-radius:0;margin:0}.public-form-shell>header,.public-form-shell form{padding-left:1rem;padding-right:1rem}.public-form-shell>header ol{font-size:.68rem}.public-fields label.full{grid-column:auto}.public-document{margin:0}.public-document>header,.public-document>div{padding:1.5rem}.public-completed{border-radius:0;margin:0;padding:3rem 1.25rem}.public-completed>div{flex-direction:column}}

/* Mantém o rodapé na base da janela quando a página possui pouco conteúdo. */
.public-site{display:flex;flex-direction:column;min-height:100vh}
.public-site>main{display:flex;flex:1;flex-direction:column}

/* O hero ocupa a largura total sem perder o alinhamento interno institucional. */
.public-hero{max-width:none;padding-left:max(4rem,calc((100vw - 1180px)/2));padding-right:max(4rem,calc((100vw - 1180px)/2));width:100%}
@media(max-width:900px){.public-hero{padding-left:2rem;padding-right:2rem}}
@media(max-width:650px){.public-hero{padding-left:1.25rem;padding-right:1.25rem}}

/* Cabeçalho claro para valorizar a assinatura visual oficial. */
.public-header{background:#fff;border-bottom:1px solid #d8e5ed;box-shadow:0 5px 18px rgba(4,53,84,.08);min-height:92px}
.public-header nav>a:not(.btn){color:var(--public-navy)}
.public-brand-image img{display:block;height:68px;object-fit:contain;width:auto}
.public-brand-footer{align-items:flex-start}
.public-brand-footer img{height:58px}
.public-form-brand img{height:82px}
@media(max-width:650px){.public-header{min-height:76px}.public-brand-image img{height:54px}.public-form-brand img{height:70px}}

/* A imagem já está recortada na área útil e recebe presença proporcional. */
.public-header{min-height:116px}
.public-brand-image img{height:92px;max-width:190px}
.public-brand-footer img{height:68px;max-width:142px}
.public-form-brand img{height:105px;max-width:220px}
@media(max-width:650px){.public-header{min-height:88px}.public-brand-image img{height:68px;max-width:142px}.public-form-brand img{height:84px;max-width:176px}}

/* Marca horizontal oficial, com largura de destaque e altura proporcional. */
.public-header .public-brand-image img{height:auto;max-width:none;width:280px}
.public-footer .public-brand-image img{height:auto;max-width:none;width:210px}
.public-form-brand img{height:auto;max-width:none;width:260px}
@media(max-width:650px){.public-header .public-brand-image img{height:auto;max-width:none;width:210px}.public-form-brand img{height:auto;max-width:none;width:220px}.public-footer .public-brand-image img{height:auto;max-width:none;width:190px}}

/* Navegação institucional e página Sobre. */
.public-nav-dropdown{position:relative}.public-nav-dropdown>button{background:transparent;border:0;color:var(--public-navy);font-size:.88rem;font-weight:700;padding:.65rem .25rem}.public-nav-dropdown>div{background:#fff;border:1px solid #d5e3eb;border-radius:10px;box-shadow:0 16px 35px rgba(4,53,84,.14);display:none;min-width:220px;padding:.45rem;position:absolute;right:0;top:calc(100% + .25rem);z-index:30}.public-nav-dropdown:hover>div,.public-nav-dropdown:focus-within>div{display:flex;flex-direction:column}.public-nav-dropdown>div a{border-radius:7px;color:var(--public-navy);font-size:.83rem;font-weight:700;padding:.7rem .8rem;text-decoration:none}.public-nav-dropdown>div a:hover,.public-nav-dropdown>div a:focus{background:#eaf5fb;color:var(--public-blue)}.public-about-hero{padding-bottom:5rem;padding-top:5rem}.public-about-hero h1{max-width:900px}.public-about-hero p{max-width:760px}.public-about-index{background:#fff;border:1px solid #d4e3ec;border-radius:14px;display:grid;gap:0;grid-template-columns:repeat(3,1fr);margin:-2rem auto 4rem;max-width:1180px;position:relative}.public-about-index a{align-items:center;color:var(--public-navy);display:flex;font-weight:850;gap:.8rem;padding:1.3rem 1.5rem;text-decoration:none}.public-about-index a+a{border-left:1px solid #dce7ed}.public-about-index span{align-items:center;background:#e7f5fd;border-radius:50%;color:var(--public-blue);display:flex;font-size:.75rem;height:34px;justify-content:center;width:34px}.public-about-section{display:none;gap:4rem;grid-template-columns:minmax(260px,.75fr) 1.25fr;margin:0 auto;max-width:1180px;padding:4rem 1rem;scroll-margin-top:120px}.public-about-section.active{display:grid}.public-about-section h2{font-size:clamp(2rem,3.5vw,3rem);font-weight:900;letter-spacing:-.03em;line-height:1.1;margin:.6rem 0}.public-about-section>div:last-child>p{color:#405e72;font-size:1.04rem;line-height:1.75}.public-about-history{border-bottom:0;border-top:0}.public-about-index a.active{background:#f5f9fc;color:var(--public-blue)}.public-about-index a.active span{background:var(--public-blue);color:#fff}@media(min-width:751px){.public-about-index a:first-child{border-top-left-radius:13px;border-bottom-left-radius:13px}.public-about-index a:last-child{border-top-right-radius:13px;border-bottom-right-radius:13px}}@media(max-width:750px){.public-about-index a:first-child{border-top-left-radius:13px;border-top-right-radius:13px}.public-about-index a:last-child{border-top-left-radius:0;border-top-right-radius:0;border-bottom-left-radius:13px;border-bottom-right-radius:13px}}.public-about-principles{display:grid;gap:.7rem;grid-template-columns:1fr 1fr;margin-top:1.5rem}.public-about-principles span{background:#fff;border-left:4px solid var(--public-blue);border-radius:8px;font-weight:800;padding:1rem}.public-about-cta{margin-top:3rem}@media(max-width:750px){.public-about-index{grid-template-columns:1fr;margin-left:1rem;margin-right:1rem}.public-about-index a+a{border-left:0;border-top:1px solid #dce7ed}.public-about-section{gap:1.5rem;grid-template-columns:1fr;padding:3rem 1.25rem}.public-about-principles{grid-template-columns:1fr}}@media(max-width:650px){.public-nav-dropdown{display:none}}

@media(max-width:650px){.public-nav-dropdown{display:block}.public-header .public-brand-image img{width:170px}.public-header nav{gap:.65rem}.public-nav-dropdown>button{font-size:.8rem}.public-nav-dropdown>div{position:fixed;right:1rem;top:82px}}

/* Navegação pública fixa e retorno inteligente ao topo. */
.public-site{box-sizing:border-box;padding-top:116px}.public-header{left:0;position:fixed;right:0;top:0;width:100%;z-index:100}.public-back-to-top{align-items:center;background:var(--public-blue);border:1px solid rgba(255,255,255,.7);border-radius:50%;bottom:24px;box-shadow:0 12px 28px rgba(4,53,84,.28);color:#fff;display:flex;font-size:1.5rem;font-weight:900;height:52px;justify-content:center;position:fixed;right:24px;transition:background .18s,transform .18s;width:52px;z-index:90}.public-back-to-top:hover,.public-back-to-top:focus{background:var(--public-navy);transform:translateY(-3px)}.public-back-to-top[hidden]{display:none}.public-document,.public-about-section{scroll-margin-top:132px}@media(max-width:650px){.public-site{padding-top:88px}.public-header{min-height:88px}.public-back-to-top{bottom:16px;height:46px;right:16px;width:46px}.public-nav-dropdown>div{top:82px}}

/* Jornada pública de apoio institucional. */
.public-support-link{background:var(--public-yellow);border-radius:8px;color:var(--public-navy)!important;padding:.65rem .9rem;white-space:nowrap}.public-support-link:hover,.public-support-link:focus{background:#eeb400}.donation-hero h1{max-width:930px}.donation-hero p{max-width:820px}.donation-intro{display:grid;gap:3rem;grid-template-columns:minmax(0,1.4fr) minmax(260px,.6fr);margin:0 auto;max-width:1180px;padding:4rem 1rem 2rem}.donation-intro h2{font-size:clamp(2rem,3.4vw,3rem);font-weight:900;letter-spacing:-.03em;margin:.6rem 0 1rem}.donation-intro p,.donation-intro li{color:#405e72;line-height:1.7}.donation-intro ul{display:grid;gap:.65rem;grid-template-columns:1fr 1fr;margin:1.5rem 0 0;padding-left:1.2rem}.donation-intro aside{align-self:start;background:#fff8dd;border-left:5px solid var(--public-yellow);border-radius:12px;padding:1.5rem}.donation-intro aside strong{color:var(--public-navy);display:block;font-size:1.15rem;margin-bottom:.5rem}.donation-intro aside p{margin:0}.donation-form-card{background:#fff;border:1px solid #cfdee8;border-radius:18px;box-shadow:0 20px 48px rgba(4,53,84,.12);margin:1rem auto 5rem;max-width:920px;overflow:hidden}.donation-form-card>header{background:#eaf5fb;border-bottom:1px solid #cfdee8;padding:1.8rem 2rem}.donation-form-card h2{font-size:1.7rem;font-weight:900;margin:.45rem 0 0}.donation-form-card form{padding:1rem 2rem 2rem}.donation-form-card .document-check{margin-top:1.2rem}.donation-submit{font-weight:800;margin-top:1.2rem;padding:.8rem 1.2rem}.donation-form-card label small{color:var(--public-muted);font-weight:500}.donation-form-card textarea{resize:vertical}@media(max-width:750px){.donation-intro{gap:1.5rem;grid-template-columns:1fr;padding:3rem 1rem 1.5rem}.donation-intro ul{grid-template-columns:1fr}.donation-form-card{border-radius:0;margin-bottom:0}.donation-form-card>header,.donation-form-card form{padding-left:1rem;padding-right:1rem}.donation-submit{width:100%}}@media(max-width:650px){.public-support-link{display:none!important}}

/* Sessão ativa na navegação pública. */
.public-account-dropdown>.btn{font-size:.84rem;font-weight:750;max-width:210px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.public-account-dropdown>div form{margin:0}.public-account-dropdown>div form button{background:transparent;border:0;border-radius:7px;color:#9f1d2c;font-size:.83rem;font-weight:750;padding:.7rem .8rem;text-align:left;width:100%}.public-account-dropdown>div form button:hover,.public-account-dropdown>div form button:focus{background:#fff0f2}.public-account-dropdown>div form button::before{margin-right:.45rem}

/* V6.8.3: legibilidade, navegação por hover e cartões públicos. */
.public-site{--public-muted:#405f73}
.public-header nav>a,.public-nav-dropdown>button,.public-nav-dropdown>div a,.public-account-dropdown>div form button{align-items:center;display:flex;gap:.48rem;transition:background-color .18s,color .18s,box-shadow .18s,transform .18s}
.public-header nav>a:not(.btn),.public-nav-dropdown>button{border-radius:8px;padding:.68rem .62rem}
.public-header nav>a:not(.btn):hover,.public-header nav>a:not(.btn):focus,.public-nav-dropdown>button:hover,.public-nav-dropdown>button:focus{background:#eaf5fb;color:var(--public-blue);outline:0}
.public-nav-dropdown>button .public-nav-chevron{font-size:.7rem;margin-left:.08rem;transition:transform .18s}
.public-nav-dropdown:hover>button .public-nav-chevron,.public-nav-dropdown:focus-within>button .public-nav-chevron{transform:rotate(180deg)}
.public-nav-dropdown>div{right:auto;top:100%}
.public-nav-dropdown>div a{font-size:.9rem;gap:.65rem;padding:.78rem .85rem}
.public-nav-dropdown>div a .bi,.public-account-dropdown>div button .bi{color:var(--public-blue);font-size:1rem;width:1.1rem}
.public-desktop-login{align-items:center;display:inline-flex;gap:.48rem}
.public-section-heading p,.public-profile-grid p,.public-flow li span,.opportunity-grid article>p,.opportunity-grid dd,.public-footer p,.public-footer span,.public-footer a,.public-footer small{color:#405f73;font-size:.98rem;line-height:1.6}
.public-flow li span{font-size:.93rem}
.public-footer a{border-radius:5px;padding:.12rem .25rem;transition:background-color .18s,color .18s,transform .18s}
.public-footer a:hover,.public-footer a:focus{background:rgba(0,115,195,.1);color:var(--public-blue);transform:translateX(3px)}
.opportunity-grid{gap:1.25rem}
.opportunity-grid article{border:1px solid #c8dce8;border-radius:16px;box-shadow:0 10px 28px rgba(4,53,84,.08);display:flex;flex-direction:column;min-height:330px;overflow:hidden;padding:1.7rem;position:relative;transition:border-color .2s,box-shadow .2s,transform .2s}
.opportunity-grid article::before{background:linear-gradient(90deg,var(--public-blue),var(--public-sky));content:"";height:4px;left:0;opacity:.25;position:absolute;right:0;top:0;transition:opacity .2s}
.opportunity-grid article:hover,.opportunity-grid article:focus-within,.opportunity-grid article:focus{border-color:#7bbce0;box-shadow:0 18px 42px rgba(4,71,112,.16);outline:0;transform:translateY(-4px)}
.opportunity-grid article:hover::before,.opportunity-grid article:focus-within::before,.opportunity-grid article:focus::before{opacity:1}
.opportunity-card-heading{align-items:center;display:flex;justify-content:space-between}
.opportunity-card-heading>span{color:var(--public-blue);font-size:.76rem;font-weight:900;letter-spacing:.04em;text-transform:uppercase}
.opportunity-card-heading>.bi{align-items:center;background:#e7f5fd;border-radius:50%;color:var(--public-blue);display:flex;height:36px;justify-content:center;width:36px}
.opportunity-grid h2{font-size:1.3rem;line-height:1.3;margin:.8rem 0 .35rem}
.opportunity-grid dl{margin-bottom:1.35rem}
.opportunity-grid dl div{align-items:flex-start;display:grid;gap:.15rem .65rem;grid-template-columns:72px 1fr}
.opportunity-grid dt{align-items:center;display:flex;gap:.38rem;min-width:0}
.opportunity-grid dt .bi{color:var(--public-blue)}
.opportunity-grid .opportunity-action{align-items:center;align-self:flex-start;display:inline-flex;font-weight:750;gap:.45rem;margin-top:auto;padding:.56rem .78rem;transition:background-color .18s,border-color .18s,color .18s,transform .18s}
.opportunity-grid article:hover .opportunity-action,.opportunity-grid article:focus-within .opportunity-action{background:var(--public-blue);border-color:var(--public-blue);color:#fff;transform:translateX(2px)}
@media(max-width:760px){.public-header nav>a,.public-nav-dropdown>button{gap:.62rem}.public-nav-dropdown>div{top:auto}.opportunity-grid article{min-height:0}.public-section-heading p,.public-profile-grid p,.public-flow li span,.opportunity-grid article>p,.opportunity-grid dd,.public-footer p,.public-footer span,.public-footer a,.public-footer small{font-size:.96rem}}

/* V6.8.4: jornada de cadastro inspirada em aplicativo, com identidade ISV. */
.public-registration-wrap{background:linear-gradient(145deg,#e6eff7,#f4f5fa);min-height:calc(100svh - 116px);padding:1.25rem 1rem 2.2rem}
.public-registration-back{align-items:center;color:#203451;display:flex;font-weight:700;gap:.45rem;margin:0 auto .9rem;max-width:680px;text-decoration:none}
.public-registration-back:hover,.public-registration-back:focus{color:var(--public-blue)}
.public-registration-card{border:1px solid #d7e1e9;border-radius:20px;box-shadow:0 22px 55px rgba(22,49,84,.12);margin:0 auto;max-width:680px}
.public-registration-card>header{padding:1.45rem 1.5rem .75rem}
.public-registration-card .public-form-brand img{height:auto;max-width:160px;width:38%}
.public-registration-card .public-progress{height:6px;margin:1.3rem 0 .85rem}
.public-registration-card>header li{color:#7a8996;font-size:.74rem}
.public-registration-card>header li.active{color:var(--public-navy)}
.public-registration-card form{padding:1rem 1.5rem 1.5rem}
.public-registration-card legend{color:#172a49;font-size:1.65rem}
.public-registration-card fieldset>p{color:#53687a;font-size:.98rem;margin-bottom:1.4rem}
.public-registration-card .profile-choice-grid{gap:.75rem;margin-top:0}
.public-registration-card .profile-choice-grid label>span{background:#fff;border:2px solid #d2d8dd;border-radius:14px;min-height:138px;padding:1rem;transition:background-color .18s,border-color .18s,box-shadow .18s,transform .18s}
.public-registration-card .profile-choice-grid label:hover>span{border-color:#8ebed9;box-shadow:0 10px 24px rgba(4,71,112,.09);transform:translateY(-2px)}
.public-registration-card .profile-choice-grid input:focus+span{box-shadow:0 0 0 3px rgba(0,115,195,.2)}
.public-registration-card .profile-choice-grid input:checked+span{background:#f3f9fd;border-color:var(--public-blue);box-shadow:0 0 0 2px rgba(0,115,195,.09)}
.profile-choice-icon{align-items:center;border-radius:50%;display:flex;font-size:1.15rem;height:40px;justify-content:center;margin-bottom:.72rem;width:40px}
.profile-icon-volunteer{background:#f3ffc9;color:#506700}.profile-icon-osc{background:#e8f3f8;color:#173c59}.profile-icon-company{background:#f0f0f6;color:#3d4661}.profile-icon-public{background:#d8f8e9;color:#087451}.profile-icon-partnership{background:#fff1cf;color:#8a5b00}
.public-registration-card .profile-choice-grid b{color:#172a49;font-size:1.02rem}
.public-registration-card .profile-choice-grid small{color:#526779;font-size:.88rem;line-height:1.35}
.public-registration-card form>footer{display:grid;grid-template-columns:1fr 1fr}
.public-registration-card form>footer .btn{align-items:center;border-radius:12px;display:inline-flex;gap:.55rem;justify-content:center;min-height:48px;min-width:0}
.public-registration-card form>footer [hidden]{display:none!important}
.public-registration-card form>footer .btn-primary{background:#142849;border-color:#142849}
.public-registration-card form>footer .btn-primary:hover,.public-registration-card form>footer .btn-primary:focus{background:#083e61;border-color:#083e61}
.public-registration-legal{color:#53687a;font-size:.88rem;line-height:1.55;margin:1.35rem auto 0;max-width:650px;text-align:center}
.public-registration-legal a{color:#203451;font-weight:650}
@media(max-width:650px){.public-registration-wrap{min-height:calc(100svh - 88px);padding:.8rem .6rem 1.5rem}.public-registration-card{border-radius:17px}.public-registration-card>header,.public-registration-card form{padding-left:1rem;padding-right:1rem}.public-registration-card .public-form-brand img{max-width:145px;width:42%}.public-registration-card .profile-choice-grid{grid-template-columns:1fr 1fr}.public-registration-card .profile-choice-grid label>span{min-height:132px}.public-registration-legal{font-size:.82rem;padding:0 .7rem}}
@media(max-width:430px){.public-registration-card .profile-choice-grid{grid-template-columns:1fr}.public-registration-card form>footer{grid-template-columns:1fr}.public-registration-card form>footer .btn{width:100%}}


/* Nossas Ações */
.actions-public-hero{
    background:linear-gradient(115deg,#063b5d 0%,#075d91 58%,#087fbe 100%);
    color:#fff;
    min-height:320px;
    overflow:hidden;
    position:relative;
}
.actions-public-hero.has-image{
    background-image:
        linear-gradient(90deg,rgba(3,48,76,.96) 0%,rgba(5,76,116,.88) 48%,rgba(5,89,137,.50) 72%,rgba(5,89,137,.18) 100%),
        var(--actions-hero-image);
    background-position:center;
    background-size:cover;
}
.actions-public-hero__inner{
    margin:0 auto;
    max-width:1180px;
    padding:4.7rem 2rem 4.9rem;
    position:relative;
    z-index:1;
}
.actions-public-hero .public-kicker{color:#ffc100}
.actions-public-hero h1{
    font-size:clamp(2.8rem,5vw,4.8rem);
    font-weight:900;
    letter-spacing:-.045em;
    margin:.55rem 0 .8rem;
}
.actions-public-hero p{
    color:#e4f2fa;
    font-size:1.13rem;
    line-height:1.65;
    margin:0;
    max-width:700px;
}
.actions-public-section{
    margin:0 auto;
    max-width:1180px;
    padding:3rem 2rem 5.5rem;
}
.actions-public-grid{
    display:grid;
    gap:1.5rem;
    grid-template-columns:repeat(3,minmax(0,1fr));
}
.action-public-card{
    background:#fff;
    border:1px solid #c9dce8;
    border-radius:18px;
    box-shadow:0 14px 34px rgba(4,53,84,.10);
    display:flex;
    flex-direction:column;
    min-width:0;
    overflow:hidden;
    transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;
}
.action-public-card:hover{
    border-color:#7bbce0;
    box-shadow:0 22px 48px rgba(4,71,112,.17);
    transform:translateY(-5px);
}
.action-public-card__media{
    aspect-ratio:16/9;
    background:linear-gradient(135deg,#dceef8,#edf6fb);
    overflow:hidden;
    position:relative;
}
.action-public-card__media img{
    display:block;
    height:100%;
    object-fit:cover;
    transition:transform .35s ease;
    width:100%;
}
.action-public-card:hover .action-public-card__media img{transform:scale(1.035)}
.action-public-card__placeholder{
    align-items:center;
    background:linear-gradient(135deg,#075984,#0b8dd3);
    color:#fff;
    display:flex;
    font-size:2.1rem;
    height:100%;
    justify-content:center;
    width:100%;
}
.action-public-card__org{
    background:#0073c3;
    border-radius:8px;
    color:#fff;
    font-size:.72rem;
    font-weight:900;
    left:14px;
    letter-spacing:.035em;
    max-width:calc(100% - 28px);
    overflow:hidden;
    padding:.42rem .66rem;
    position:absolute;
    text-overflow:ellipsis;
    text-transform:uppercase;
    top:14px;
    white-space:nowrap;
}
.action-public-card__body{
    display:flex;
    flex:1;
    flex-direction:column;
    padding:1.35rem 1.4rem 1.45rem;
}
.action-public-card h2{
    color:#102f45;
    font-size:1.35rem;
    font-weight:900;
    line-height:1.28;
    margin:0 0 .35rem;
}
.action-public-card__campaign{
    color:#5b7181;
    line-height:1.5;
    margin:0 0 1rem;
}
.action-public-card dl{
    border-top:1px solid #e1ebf1;
    display:grid;
    gap:.72rem;
    margin:0 0 1.25rem;
    padding-top:1rem;
}
.action-public-card dl div{
    display:grid;
    gap:.25rem;
    grid-template-columns:72px minmax(0,1fr);
}
.action-public-card dt{
    color:#163d58;
    font-size:.88rem;
    font-weight:800;
}
.action-public-card dt i{
    color:#0073c3;
    margin-right:.3rem;
}
.action-public-card dd{
    color:#526d7f;
    margin:0;
    min-width:0;
}
.action-public-card__cta{
    align-items:center;
    display:inline-flex;
    font-weight:800;
    gap:.5rem;
    margin-top:auto;
    width:max-content;
}
.action-public-card:hover .action-public-card__cta{
    background:#0073c3;
    border-color:#0073c3;
    color:#fff;
}
.actions-public-empty{
    border-radius:18px;
    margin:1rem auto 0;
    max-width:760px;
    padding:2.5rem;
    text-align:center;
}
@media(max-width:900px){
    .actions-public-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:640px){
    .actions-public-hero__inner{padding:3.7rem 1.25rem 4rem}
    .actions-public-section{padding:2rem 1.1rem 4rem}
    .actions-public-grid{grid-template-columns:1fr}
}

/* Cadastro público homologado */
.registration-origin-action{align-items:center;background:#eef8fd;border:1px solid #b9dff1;border-radius:12px;color:#173b54;display:flex;gap:.7rem;margin:0 2rem 1.25rem;padding:.8rem 1rem}.registration-origin-action i{color:#0073c3}.public-registration-card fieldset[data-step="1"] .profile-choice-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.public-registration-card fieldset[data-step="1"] .profile-choice-grid label:last-child{grid-column:1/-1}.public-registration-card fieldset[data-step="1"] .profile-choice-grid label:last-child>span{min-height:116px}@media(max-width:650px){.registration-origin-action{margin:0 1rem 1rem}.public-registration-card fieldset[data-step="1"] .profile-choice-grid{grid-template-columns:1fr}.public-registration-card fieldset[data-step="1"] .profile-choice-grid label:last-child{grid-column:auto}}


/* Modal institucional no cadastro público */
body.registration-legal-open{overflow:hidden}
.registration-legal-modal[hidden]{display:none!important}
.registration-legal-modal{inset:0;position:fixed;z-index:1200}
.registration-legal-modal__backdrop{background:rgba(8,28,45,.62);inset:0;position:absolute}
.registration-legal-modal__panel{background:#fff;border-radius:18px;box-shadow:0 30px 80px rgba(4,33,52,.28);display:flex;flex-direction:column;inset:4vh max(3vw,20px);margin:auto;max-width:1040px;overflow:hidden;position:absolute}
.registration-legal-modal__header{align-items:center;border-bottom:1px solid #dbe6ed;display:flex;gap:1rem;justify-content:space-between;padding:1rem 1.25rem}
.registration-legal-modal__header h2{color:#172a49;font-size:1.15rem;margin:0}
.registration-legal-modal__close{align-items:center;background:#f3f7fa;border:1px solid #cfdae2;border-radius:10px;color:#173b54;cursor:pointer;display:inline-flex;height:42px;justify-content:center;width:42px}
.registration-legal-modal__close:hover,.registration-legal-modal__close:focus{background:#e7f2f8;border-color:#8ebed9;outline:none}
.registration-legal-modal__content{flex:1;overflow:auto;padding:1.35rem 1.6rem 2rem}
.registration-legal-modal__content .legal-document,.registration-legal-modal__content .public-document{margin:0;max-width:none;padding:0}
.registration-legal-modal__content .legal-document__container,.registration-legal-modal__content .public-container{margin:0;max-width:none;padding:0;width:100%}
.registration-legal-modal__content .public-document>header{padding-top:0}
.registration-legal-loading,.registration-legal-error{padding:2rem;text-align:center}
.public-registration-legal a,.document-check a{cursor:pointer;text-decoration:underline;text-underline-offset:2px}
@media(max-width:650px){.registration-legal-modal__panel{border-radius:14px;inset:1.5vh 8px}.registration-legal-modal__content{padding:1rem}.registration-legal-modal__header{padding:.8rem 1rem}}

.public-field-help{
    color:#6c7f8e;
    display:block;
    font-size:.78rem;
    font-weight:500;
    line-height:1.35;
    margin-top:.35rem;
}

/* Cadastro público: iconografia reforçada */
.public-registration-card .profile-choice-icon{flex:0 0 52px;font-size:1.55rem;height:52px;margin-bottom:.85rem;width:52px}
.public-registration-card .profile-icon-volunteer{background:#dff3a0;color:#365900}
.public-registration-card .profile-icon-osc{background:#cceafb;color:#005b91}
.public-registration-card .profile-icon-company{background:#e1dcf6;color:#493b87}
.public-registration-card .profile-icon-public{background:#c8f0df;color:#006b49}
.public-registration-card .profile-icon-partnership{background:#ffe09a;color:#7a4700}

.public-field-help.is-danger{color:#b42318;font-weight:700}
.public-field-help.is-success{color:#087443;font-weight:700}
.form-control:invalid:focus{border-color:#dc3545}

/* Campo Outros Interesses */
.cause-other-field{
    animation: causeOtherFadeIn .22s ease-out;
    background:#f4f8fb;
    border:1px solid #cfe0ec;
    border-radius:12px;
    margin:1.1rem 0;
    padding:1.1rem 1.25rem;
}
.cause-other-field[hidden]{
    display:none !important;
}
.cause-other-field label{
    display:flex;
    flex-direction:column;
    gap:.45rem;
    margin:0;
    width:100%;
}
.cause-other-field label span{
    color:var(--public-navy);
    font-size:.88rem;
    font-weight:800;
}
.cause-other-field input{
    background:#ffffff;
    border:2px solid #b8ccd9;
    border-radius:10px;
    font-size:.95rem;
    padding:.75rem .9rem;
    transition:border-color .2s, box-shadow .2s;
    width:100%;
}
.cause-other-field input:focus{
    border-color:var(--public-blue);
    box-shadow:0 0 0 3px rgba(0,115,195,.12);
    outline:none;
}
@keyframes causeOtherFadeIn{
    from{opacity:0;transform:translateY(-6px)}
    to{opacity:1;transform:none}
}

