/* Fotos, cartões e ações com retorno visual mais marcante ao passar o cursor. */
#idat.section{padding-top:48px;padding-bottom:40px}
#idat .story-mark.photo{overflow:hidden;background:#fff;cursor:zoom-in}
#idat .story-mark.photo img{width:100%;height:100%;object-fit:contain;transition:transform .55s cubic-bezier(.2,.8,.2,1),filter .55s}
#idat .story-mark.photo img{object-position:center center}
#idat .story-mark.photo:hover img{transform:scale(1.34);filter:saturate(1.08);position:relative;z-index:3}
#projetos.section{padding-top:48px;padding-bottom:42px}
#projetos .mascot-project{top:22px!important;right:3%!important;bottom:auto!important;left:auto!important}
.family .section{padding-bottom:34px}.family .mascot-family{display:none!important}
.contact.section{padding-bottom:40px}.contact .mascot-contact{display:none!important}
.event-feature{grid-template-columns:1.15fr .85fr}.event-visuals{display:grid;grid-template-columns:1fr 1fr;height:280px;background:#fff}.event-visuals img{width:100%;height:100%!important;object-fit:cover!important;background:none!important;transition:transform .35s}.event-visuals img:hover{transform:scale(1.06);position:relative;z-index:1}@media(max-width:790px){.event-feature{grid-template-columns:1fr}.event-visuals{height:230px}}
#acoes .social-photo img{transition:transform .45s cubic-bezier(.2,.8,.2,1),box-shadow .45s}#acoes .social-photo img:hover{transform:scale(1.14);box-shadow:0 14px 30px rgba(17,81,105,.28)}
#acoes .social-actions{gap:16px}#acoes .social-actions div{padding:16px 23px;font-size:1.02rem;box-shadow:0 6px 16px rgba(17,81,105,.08)}#acoes .social-actions i{font-size:1.25rem;margin-right:10px}
#acoes .social-actions{justify-content:center}

/* Um registro único ocupa todo o espaço visual do destaque de eventos. */
.event-visuals{grid-template-columns:1fr}

/* Mantém o mascote dos projetos no canto superior direito do bloco. */
#projetos .site-mascot.mascot-project{position:absolute!important;top:24px!important;right:28px!important;bottom:auto!important;left:auto!important}

/* Banner informativo de novos cadastros. */
.registration-banner{position:relative;isolation:isolate;display:grid;place-items:center;aspect-ratio:16/9;padding:22px 7%;overflow:hidden;background:#dff4fb}.registration-banner::before{content:'';position:absolute;inset:-28px;z-index:-2;background:url('assets/banner-novos-cadastros-2026.jpeg') center/cover no-repeat;filter:blur(18px) brightness(.78);transform:scale(1.08)}.registration-banner::after{content:'';position:absolute;inset:0;z-index:-1;background:rgba(8,68,109,.18)}.registration-banner img{display:block;max-width:100%;height:100%;width:auto;object-fit:contain;border-radius:18px;box-shadow:0 16px 36px rgba(17,81,105,.28)}

/* Ajustes de densidade do conteúdo do hero em telas amplas. */
@media(min-width:901px){#inicio .hero-copy{height:280px;padding-top:7px;padding-bottom:7px;overflow:hidden}#inicio .hero-copy h1{width:330px;min-height:220px;margin-top:5px;position:relative;top:-10px;font-size:2.7rem;line-height:1.03}.hero-copy .eyebrow{min-height:23px;line-height:23px}#inicio .hero-copy p:nth-of-type(2){height:90px}}
@media(max-width:650px){.registration-banner{padding:12px 5%}.registration-banner img{border-radius:12px}}

/* Prioriza a área superior da arte no recorte do banner principal. */
#inicio.hero{background-position:center top}

/* Chamada de doação centralizada no banner principal. */
#inicio .hero .donate{justify-content:center;text-align:center;white-space:nowrap;gap:10px}#inicio .hero .donate i{margin:0}
.registration-info-heading h2 span{color:var(--green);white-space:nowrap}
.contact .address-map{display:block;color:inherit;text-decoration:none}.contact .address-map:hover{text-decoration:underline}

/* Cartão de doação com aparência tátil e o coração como foco principal. */
#inicio .hero .donate{width:100%;min-height:144px;padding:12px 18px;flex-direction:column;gap:5px;border:0;border-radius:25px;background:linear-gradient(145deg,#ffd56a 0%,#e8a109 58%,#c87800 100%);color:#123b4a;font-size:.68rem;line-height:1.05;letter-spacing:.08em;box-shadow:0 10px 0 #9b5d00,0 18px 24px rgba(88,51,0,.28);text-shadow:none;transform:translateY(-6px)}#inicio .hero .donate::before{display:none}#inicio .hero .donate i{order:-1;margin:0;color:#e42a25;font-size:5.7rem;line-height:.78;filter:drop-shadow(0 5px 0 rgba(125,26,22,.3)) drop-shadow(0 9px 9px rgba(94,49,0,.28));text-shadow:0 2px 0 #fff}#inicio .hero .donate:hover{transform:translateY(-10px);box-shadow:0 14px 0 #9b5d00,0 24px 29px rgba(88,51,0,.32)}#inicio .hero .donate:active{transform:translateY(1px);box-shadow:0 3px 0 #9b5d00,0 6px 11px rgba(88,51,0,.25)}
@media(max-width:900px){#inicio .hero .donate{min-height:120px}#inicio .hero .donate i{font-size:4.7rem}}

/* Cadastro e recadastramento presencial. */
.registration-info{max-width:none;background:linear-gradient(135deg,#eef8fc 0%,#fff 55%,#eefaf0 100%)}.registration-info-heading{max-width:760px;margin:0 auto 34px;text-align:center}.registration-info-heading h2{margin-top:8px}.registration-info-grid{display:grid;grid-template-columns:1fr 1fr .9fr;gap:20px;max-width:1200px;margin:auto}.registration-info-grid article,.registration-info-grid aside{border-radius:20px;padding:28px;background:#fff;box-shadow:0 12px 28px rgba(17,81,105,.12)}.registration-info-grid article>i{font-size:1.8rem;color:var(--blue);margin-bottom:13px}.registration-info-grid h3{margin-bottom:13px}.registration-info-grid ul{margin:0;padding:0;list-style:none;display:grid;gap:9px}.registration-info-grid li::before{content:'✓';display:inline-grid;place-items:center;width:19px;height:19px;margin-right:9px;border-radius:50%;background:#eaf8eb;color:var(--green);font-weight:900;font-size:.75rem}.registration-info-grid aside{display:grid;gap:16px;background:var(--blue-dark);color:#e8f7ff}.registration-info-grid aside div{padding-bottom:15px;border-bottom:1px solid rgba(255,255,255,.22)}.registration-info-grid aside div:last-child{padding-bottom:0;border:0}.registration-info-grid aside i{color:#ffcf50;font-size:1.25rem;margin-bottom:8px}.registration-info-grid aside h3{color:#fff;margin-bottom:5px}.registration-info-grid aside p{margin:0}.registration-info-grid aside a{color:#fff;font-weight:800;text-decoration:none}@media(max-width:790px){.registration-info-grid{grid-template-columns:1fr}.registration-info-grid article,.registration-info-grid aside{padding:23px}}
.values article{transition:transform .35s cubic-bezier(.2,.8,.2,1),box-shadow .35s;cursor:default}.values article:hover{transform:scale(1.045) translateY(-5px);box-shadow:0 16px 28px rgba(12,54,72,.24);position:relative;z-index:2}
.gallery-grid img{transition:transform .45s cubic-bezier(.2,.8,.2,1),box-shadow .45s}.gallery-grid img:hover{transform:scale(1.14);box-shadow:0 15px 28px rgba(17,81,105,.26)}
.audience .mascot-inclusion{top:auto!important;bottom:14px!important}
.audience .mascot-inclusion{opacity:1!important;filter:drop-shadow(0 9px 12px rgba(12,67,96,.22)) saturate(1.18)!important}
.region .map-placeholder{max-height:none;min-height:350px}.region .map-placeholder>img{min-height:350px}
.mascot-finale-group{display:flex!important;justify-content:center;align-items:flex-end;gap:2px;margin:14px auto 0;min-height:106px;position:relative!important;z-index:2!important}.mascot-finale-group img{display:block;width:76px;height:92px;object-fit:contain;filter:drop-shadow(0 7px 9px rgba(5,52,80,.25));transition:transform .25s}.mascot-finale-group img:nth-child(2),.mascot-finale-group img:nth-child(4){margin-bottom:10px}.mascot-finale-group img:hover{transform:translateY(-8px) rotate(-3deg)}
.side-puzzles{position:fixed;inset:105px 0 42px;z-index:6;pointer-events:none}.side-puzzles i{position:absolute;font-size:2.1rem;opacity:.42;filter:drop-shadow(0 5px 7px rgba(10,57,83,.18));animation:side-puzzle-float 7s ease-in-out infinite}.side-puzzles i:nth-child(1){top:4%;left:1.2%;color:#e42a25}.side-puzzles i:nth-child(2){top:25%;right:1.1%;color:#e0990b;animation-delay:-2s}.side-puzzles i:nth-child(3){top:49%;left:1.2%;color:#179f29;animation-delay:-4s}.side-puzzles i:nth-child(4){top:68%;right:1.1%;color:#1a6eb7;animation-delay:-1s}.side-puzzles i:nth-child(5){bottom:2%;left:1.2%;color:#e0990b;animation-delay:-5s}.side-puzzles i:nth-child(6){bottom:8%;right:1.1%;color:#e42a25;animation-delay:-3s}@keyframes side-puzzle-float{0%,100%{transform:translateY(0) rotate(-8deg)}50%{transform:translateY(-16px) rotate(8deg)}}
@media(max-width:1000px){.side-puzzles{display:none}.region .map-placeholder,.region .map-placeholder>img{min-height:280px}}@media(max-width:650px){.mascot-finale-group{min-height:80px}.mascot-finale-group img{width:55px;height:70px}#acoes .social-actions div{font-size:.92rem;padding:13px 16px}}@media(prefers-reduced-motion:reduce){.side-puzzles i{animation:none}.story-mark.photo img,.event-visuals img,#acoes .social-photo img,.values article,.gallery-grid img,.mascot-finale-group img{transition:none!important}}

/* Ajustes finais de proporção, destaque e distribuição lateral. */
#idat .story-mark.photo{height:auto!important;display:block;overflow:hidden}
#idat .story-mark.photo img{display:block;width:100%;height:auto!important;object-fit:initial!important;object-position:center center}
.project-spotlight{grid-template-columns:1.15fr .85fr}.project-visuals{display:grid;grid-template-columns:1fr 1fr;height:280px;background:#fff}.project-visuals img{width:100%;height:100%!important;object-fit:contain!important;background:#fff}.project-visuals img+img{border-left:2px solid #dce9ef}@media(max-width:790px){.project-spotlight{grid-template-columns:1fr}.project-visuals{height:240px}}
.icon-grid article,.service-grid article,.project-grid article,.event-grid article{transition:transform .35s cubic-bezier(.2,.8,.2,1),box-shadow .35s}.icon-grid article:hover,.service-grid article:hover,.project-grid article:hover,.event-grid article:hover{transform:scale(1.045) translateY(-5px);box-shadow:0 16px 28px rgba(17,81,105,.2);position:relative;z-index:2}
#projetos .mascot-project{top:22px!important;right:3%!important;bottom:auto!important;left:auto!important}
.audience .mascot-inclusion{top:auto!important;bottom:-28px!important}
.region.section{padding-bottom:38px}.region .mascot-region{top:22px!important;bottom:auto!important}
.help-options span{font-size:1rem;padding:13px}
.side-puzzles i:nth-child(7){top:14%;left:4.2%;color:#1a6eb7;animation-delay:-6s}.side-puzzles i:nth-child(8){top:36%;right:4%;color:#179f29;animation-delay:-2.5s}.side-puzzles i:nth-child(9){top:59%;left:4.2%;color:#e0990b;animation-delay:-4.5s}.side-puzzles i:nth-child(10){top:79%;right:4%;color:#e42a25;animation-delay:-.5s}.side-puzzles i:nth-child(11){top:31%;left:1.2%;color:#e42a25;animation-delay:-5.5s}.side-puzzles i:nth-child(12){top:54%;right:1.1%;color:#1a6eb7;animation-delay:-1.5s}.side-puzzles i:nth-child(13){bottom:13%;left:4.2%;color:#179f29;animation-delay:-3.5s}.side-puzzles i:nth-child(14){bottom:19%;right:4%;color:#e0990b;animation-delay:-6.5s}
@media(min-width:1001px){#acoes .social-actions{flex-wrap:nowrap;gap:9px}#acoes .social-actions div{padding:11px 13px;font-size:.82rem;white-space:nowrap}#acoes .social-actions i{font-size:1rem;margin-right:6px}}
@media(max-width:650px){#idat .story-mark{height:340px!important}}
@media(prefers-reduced-motion:reduce){.icon-grid article,.service-grid article,.project-grid article,.event-grid article{transition:none!important}}

/* Enquadramentos solicitados e galeria progressiva. */
#idat .story-mark.photo:hover img{transform:scale(1.1)}
.project-visuals img{object-fit:cover!important;object-position:center bottom!important}
.gallery-grid{grid-template-columns:repeat(3,1fr)}
.gallery-toggle{display:flex;align-items:center;gap:10px;margin:24px auto 0;padding:12px 24px;border:0;cursor:pointer;font:inherit;text-transform:uppercase}
@media(max-width:650px){.gallery-grid{grid-template-columns:1fr}.gallery-toggle{margin-top:18px}}

/* Parceria institucional antes da chamada final de inclusão. */
.partnership{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center;position:relative;background:linear-gradient(135deg,#eef8fc,#f7fbf5)}
.partnership-copy h2{font-size:clamp(2rem,3.1vw,2.8rem);margin-top:10px}
.partnership-copy p{max-width:680px}
.partnership figure{margin:0;overflow:hidden;border-radius:24px;box-shadow:0 18px 38px rgba(17,81,105,.18)}
.partnership figure img{display:block;width:100%;aspect-ratio:1.28;object-fit:cover;object-position:center}
.partnership-structure{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:20px;position:relative;padding:28px 160px 28px 30px;border-radius:22px;background:#fff;box-shadow:0 12px 28px rgba(17,81,105,.1)}
.partnership-structure h3{margin-bottom:14px;color:var(--blue-dark);text-transform:uppercase;font-size:1rem}
.partnership-structure ul{margin:0;padding:0;list-style:none;display:grid;gap:8px}
.partnership-structure li{font-size:.9rem;line-height:1.45}.partnership-structure li::before{content:'✓';display:inline-grid;place-items:center;width:18px;height:18px;margin-right:8px;border-radius:50%;background:#e6f6ff;color:var(--blue);font-weight:900;font-size:.72rem}
.partnership-mascot{position:absolute;right:20px;bottom:20px;width:130px;height:150px;object-fit:contain;filter:drop-shadow(0 8px 12px rgba(12,67,96,.2))}
@media(max-width:790px){.partnership{grid-template-columns:1fr;gap:28px}.partnership figure{order:-1}.partnership figure img{aspect-ratio:1.45}.partnership-structure{grid-template-columns:1fr;padding:24px}.partnership-mascot{display:none}}

/* Coluna de parceiros no rodapé institucional. */
.footer-main{grid-template-columns:1.5fr .7fr .8fr 1.5fr}
.footer-partners ul{margin:0;padding:0;list-style:none;display:grid;gap:5px}
.footer-partners li{font-size:.76rem;line-height:1.35}.footer-partners li::before{content:'•';color:#ffcf50;margin-right:6px}
@media(max-width:790px){.footer-main{grid-template-columns:1fr 1fr}.footer-partners{grid-column:1/-1}}@media(max-width:480px){.footer-main{grid-template-columns:1fr}.footer-partners{grid-column:auto}}

/* Rodapé simplificado e atalho flutuante para a área de doação. */
.footer-main{grid-template-columns:minmax(270px,.9fr) minmax(420px,1.1fr);align-items:start}
.footer-identity p{margin:.45rem 0 1rem}.footer-identity strong{color:#fff}.footer-identity small{font-size:.76rem}.footer-identity em{display:block;margin-top:8px}
.footer-partners ul{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:22px;row-gap:7px}
.to-top{display:grid;place-items:center;text-decoration:none}.donation-shortcut{background:var(--yellow);color:var(--dark)}.donation-shortcut i{font-size:1.1rem}
@media(max-width:790px){.footer-main{grid-template-columns:1fr}.footer-partners{grid-column:auto}.footer-partners ul{grid-template-columns:1fr 1fr}}@media(max-width:480px){.footer-partners ul{grid-template-columns:1fr}}

/* Ajustes de proporção e espaçamento do rodapé em telas amplas. */
.footer-identity img{margin-bottom:0}
.footer-identity em{margin-top:0}
.footer-registration{padding-top:10px;margin-top:20px!important;margin-bottom:20px!important}
@media(min-width:791px){.footer-partners{width:500px;max-width:100%;padding-top:20px;margin-top:50px}}

/* Proporções ampliadas solicitadas para o rodapé em desktop. */
@media(min-width:791px){.footer-main{grid-template-columns:400px 600px}.footer-identity{width:400px}.footer-partners{width:600px;max-width:100%;min-height:200px;padding-top:50px;font-size:17px}.footer-partners h3{font-size:17px}.footer-partners li{font-size:17px;line-height:1.25}}

/* Região mais compacta e detalhes de estrutura sob demanda. */
.partnership-structure-toggle{grid-column:1/-1;justify-self:start;margin-top:-10px}
.partnership-structure-details{grid-column:1/-1;width:100%}.partnership-structure-details summary{display:inline-flex;align-items:center;gap:9px;cursor:pointer;list-style:none}.partnership-structure-details summary::-webkit-details-marker{display:none}.partnership-structure-details[open] .partnership-structure-toggle{margin-bottom:20px}.partnership-structure-details[open] .partnership-structure-toggle i{transform:rotate(180deg)}
@media(min-width:791px){.region.section{padding:70px 30px 10px}.region .mascot-region{position:absolute!important;top:8px!important;bottom:auto!important;left:30px!important;right:auto!important}}

/* Destaque do projeto principal e lista progressiva de projetos. */
.spotlight-label{display:block;margin-bottom:6px;color:var(--yellow);font:800 .7rem 'Nunito Sans';letter-spacing:.14em}
.project-toggle{display:flex;align-items:center;gap:10px;margin:24px auto 0;padding:12px 24px;border:0;cursor:pointer;font:inherit;text-transform:uppercase}
@media(max-width:650px){.project-toggle{margin-top:18px}}

/* Dimensões solicitadas para a área de atuação em telas amplas. */
@media(min-width:791px){.region.section{height:520px;margin-bottom:40px}.region.section>div:first-child{margin-top:20px}}
