*{margin:0;padding:0;box-sizing:border-box}
:root{--primary:#0a66c2;--primary-dark:#004182;--primary-light:#eef4fc;--primary-glow:rgba(10,102,194,.12);--accent:#0096c7;--dark:#0a1929;--dark-soft:#1a2a4a;--gray:#5a6e85;--gray-soft:#7a8ea5;--gray-light:#f0f4f9;--white:#fff;--shadow-sm:0 8px 20px rgba(0,0,0,.02);--shadow-md:0 12px 30px rgba(0,0,0,.05);--shadow-lg:0 25px 45px rgba(0,0,0,.08);--safe-b:env(safe-area-inset-bottom,0px);--safe-t:env(safe-area-inset-top,0px)}
html{scroll-padding-top:100px;-webkit-text-size-adjust:100%}
body{font-family:'Poppins',sans-serif;background:var(--white);color:var(--dark);overflow-x:hidden;line-height:1.55;font-size:16px}
h1,h2,h3,h4{font-family:'Outfit',sans-serif;font-weight:700;letter-spacing:-.3px}
img{max-width:100%;display:block}
@keyframes floatSoft{0%,100%{transform:translateY(0)}50%{transform:translateY(-15px)}}
@keyframes pulseLight{0%{box-shadow:0 0 0 0 var(--primary-glow)}70%{box-shadow:0 0 0 20px rgba(10,102,194,0)}100%{box-shadow:0 0 0 0 rgba(10,102,194,0)}}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}
.container{width:100%;max-width:1280px;margin:0 auto;padding:0 6%}

/* Navbar */
.navbar{position:sticky;top:0;z-index:1000;background:rgba(255,255,255,.97);backdrop-filter:blur(12px);border-bottom:1px solid rgba(10,102,194,.1);padding-top:var(--safe-t)}
.nav-flex{display:flex;justify-content:space-between;align-items:center;padding-block:.6rem;flex-wrap:nowrap;gap:.6rem}
.logo{display:flex;align-items:center;gap:.7rem;min-width:0;flex:1 1 0;text-decoration:none}
.logo .logo3d{width:124px;height:124px}
.logo h1{font-size:1.75rem;font-weight:800;background:linear-gradient(135deg,var(--primary-dark),var(--primary),var(--accent));-webkit-background-clip:text;background-clip:text;color:transparent;line-height:1.1}
.logo span{font-size:.62rem;font-weight:500;color:var(--gray-soft);display:block;margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
.nav-links{display:flex;gap:1.4rem;align-items:center;flex-wrap:wrap}
.nav-links a{text-decoration:none;font-weight:500;font-size:.85rem;color:var(--primary);transition:.25s}
.nav-links a:hover{color:var(--accent)}
.lang-switch{display:flex;gap:.3rem}
.lang-btn{background:transparent;border:1px solid #dce5f0;padding:.2rem .7rem;border-radius:40px;cursor:pointer;font-weight:500;font-size:.65rem;color:var(--gray)}
.lang-btn.active{background:var(--primary);color:#fff;border-color:var(--primary)}
.nav-links a.btn-donate-nav{background:linear-gradient(135deg,var(--primary),var(--accent));color:#fff;padding:.45rem 1.2rem;border-radius:50px}
.menu-icon{display:none;font-size:1.6rem;cursor:pointer;color:var(--primary);background:none;border:none}
.mobile-menu{display:none;position:fixed;top:0;right:0;height:100%;width:min(80vw,320px);background:#fff;box-shadow:var(--shadow-lg);z-index:1001;flex-direction:column;padding:calc(1.5rem + var(--safe-t)) 1.5rem 1.5rem;gap:.6rem;overflow-y:auto}
.mobile-menu.open{display:flex}
.mobile-menu-close{align-self:flex-end;background:none;border:none;font-size:1.4rem;color:var(--primary)}
.mobile-menu a{text-decoration:none;font-weight:500;padding:.7rem;text-align:center;border-radius:12px;color:var(--primary)}
.menu-scrim{display:none;position:fixed;inset:0;background:rgba(10,25,41,.35);z-index:1000}
.menu-scrim.show{display:block}

/* Hero */
.hero{min-height:85vh;display:flex;align-items:center;background:linear-gradient(115deg,#fff 45%,#eff5fc 100%);position:relative;overflow:hidden}
.hero::before{content:'';position:absolute;top:-30%;right:-15%;width:65%;height:150%;background:radial-gradient(circle,var(--primary-glow) 0%,transparent 70%);animation:floatSoft 14s ease-in-out infinite}
.hero-grid{display:flex;align-items:center;gap:3rem;flex-wrap:wrap;position:relative;z-index:2}
.hero-text{flex:1 1 320px;min-width:0}
.badge{background:var(--primary-light);color:var(--primary);padding:.3rem 1.2rem;border-radius:50px;font-size:.7rem;font-weight:600;display:inline-flex;align-items:center;gap:.5rem;margin-bottom:1.5rem}
.hero-text h1{font-size:clamp(2rem,6vw,4.2rem);font-weight:800;line-height:1.15;margin-bottom:1rem;background:linear-gradient(135deg,var(--primary-dark),var(--primary),var(--accent));-webkit-background-clip:text;background-clip:text;color:transparent}
.hero-text p{font-size:1rem;color:var(--gray);margin-bottom:1.5rem;max-width:520px}
.hero-stats{display:flex;gap:1.5rem;flex-wrap:wrap;margin:1rem 0 1.8rem}
.stat-item h3{font-size:1.8rem;font-weight:800;color:var(--primary);margin-bottom:.2rem}
.stat-item span{font-size:.75rem;color:var(--gray-soft)}
.hero-visual{flex:1.5 1 440px;display:grid;grid-template-columns:1fr;gap:clamp(1rem,2.5vw,2rem);align-items:center;min-width:0}
.hero-visual .photo{min-width:0;border-radius:32px;overflow:hidden;box-shadow:var(--shadow-lg)}
.hero-visual .photo img{width:100%;height:auto}
.btn-primary{background:linear-gradient(95deg,var(--primary),var(--accent));color:#fff;padding:.8rem 2rem;border-radius:50px;font-weight:600;display:inline-flex;align-items:center;gap:8px;text-decoration:none;transition:.3s;box-shadow:0 8px 20px rgba(10,102,194,.25)}
.btn-primary:hover{transform:translateY(-3px);gap:12px}

section{padding:4rem 0}
.section-title{text-align:center;margin-bottom:2.5rem}
.section-title h2{font-size:clamp(1.8rem,4vw,2.4rem);color:var(--primary)}
.section-title h2:after{content:'';display:block;width:60px;height:3px;background:linear-gradient(90deg,var(--primary),var(--accent));margin:.7rem auto 0;border-radius:3px}
.section-title p{max-width:650px;margin:.5rem auto 0;color:var(--gray-soft);font-size:.9rem}

/* Sobre */
.sobre-container{display:flex;flex-wrap:wrap;gap:1.5rem}
.sobre-col{flex:1 1 280px;min-width:0}
.card{background:#fff;border-radius:28px;padding:1.8rem;box-shadow:var(--shadow-md);height:100%}
.card-soft{background:linear-gradient(135deg,var(--primary-light),#fff);border-radius:28px;padding:1.8rem;height:100%}
.card h4,.card-soft h4{color:var(--primary);margin-bottom:.8rem}
.card p,.card-soft p{font-size:.9rem}
.card h4+p+h4{margin-top:1.2rem}
.about-photo{border-radius:20px;overflow:hidden;margin:1.2rem 0}
.about-photo img{width:100%;height:auto}

/* Valores / objectivos */
.values-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1.2rem}
.value-item{background:var(--gray-light);border-radius:20px;padding:1.4rem 1rem;text-align:center;transition:.3s}
.value-item:hover{transform:translateY(-5px);background:#fff;box-shadow:var(--shadow-md)}
.value-item i{font-size:1.8rem;color:var(--primary);margin-bottom:.6rem;display:inline-block}
.value-item span{font-size:.85rem;font-weight:600;display:block}
.objectives-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:.7rem;margin-top:1.2rem}
.objectives-list li{background:var(--gray-light);padding:.8rem 1rem;border-radius:14px;list-style:none;display:flex;align-items:flex-start;gap:.7rem;font-size:.85rem;font-weight:500;transition:.2s}
.objectives-list li:hover{background:var(--primary-light);transform:translateX(5px)}
.objectives-list li i{color:var(--primary);font-size:.9rem;width:20px;margin-top:.15rem;flex-shrink:0}

/* Projecto */
.project-wrap{display:flex;flex-wrap:wrap;gap:2rem;align-items:center;max-width:1000px;margin:0 auto}
.project-photo{flex:1 1 320px;border-radius:28px;overflow:hidden;box-shadow:var(--shadow-lg)}
.project-photo img{width:100%;height:auto}
.project-card{flex:1 1 320px;background:#fff;border-radius:28px;padding:1.8rem;box-shadow:var(--shadow-sm);border:1px solid rgba(10,102,194,.08);transition:.4s}
.project-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-lg)}
.project-card>i{font-size:2.2rem;color:var(--primary);margin-bottom:.8rem;display:inline-block}
.project-card h3{font-size:1.2rem;margin-bottom:.8rem;color:var(--primary-dark)}
.project-card p{font-size:.88rem}
.project-tag{display:inline-block;background:var(--primary-light);color:var(--primary-dark);padding:.2rem 1rem;border-radius:40px;font-size:.65rem;font-weight:600;margin:0 0 .8rem .6rem}

/* Galeria */
.gallery{display:flex;flex-direction:column;gap:1rem}
.gallery-row{display:flex;gap:1rem}
.gallery figure{flex:var(--r,1.5) 1 0;min-width:0;position:relative;border-radius:20px;overflow:hidden;cursor:pointer;box-shadow:var(--shadow-md);margin:0}
.gallery img{width:100%;height:auto;transition:filter .4s}
.gallery figure:hover img{filter:brightness(1.06)}
.gallery figcaption{position:absolute;left:0;right:0;bottom:0;padding:1.4rem 1rem .8rem;background:linear-gradient(transparent,rgba(10,25,41,.78));color:#fff;font-size:.78rem;font-weight:500}
.lightbox{display:none;position:fixed;inset:0;background:rgba(7,21,38,.93);z-index:2000;align-items:center;justify-content:center;flex-direction:column;padding:1.2rem;gap:.8rem}
.lightbox.open{display:flex}
.lightbox img{max-height:80vh;max-width:100%;border-radius:12px;object-fit:contain}
.lightbox p{color:#cfe0f3;font-size:.85rem;text-align:center}
.lightbox button{position:absolute;top:calc(14px + var(--safe-t));right:18px;background:none;border:none;color:#fff;font-size:1.8rem;cursor:pointer}

/* Impacto */
.impact-section{background:linear-gradient(110deg,rgba(0,65,130,.93),rgba(10,42,68,.95)),url('../img/comunidade2.jpg') center/cover;color:#fff}
.impact-stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:1rem}
.impact-stat{background:rgba(255,255,255,.1);backdrop-filter:blur(8px);border-radius:24px;padding:1.4rem .8rem;text-align:center;transition:.3s}
.impact-stat:hover{background:rgba(255,255,255,.18);transform:scale(1.02)}
.impact-stat h2{font-size:1.8rem;font-weight:800;margin-bottom:.2rem}
.impact-stat p{font-size:.75rem;opacity:.9}

/* Contacto */
.contact-info{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem}
.contact-card{background:#fff;border-radius:20px;padding:1.3rem;text-align:center;transition:.3s;box-shadow:var(--shadow-sm)}
.contact-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-md)}
.contact-card i{font-size:1.8rem;color:var(--primary);margin-bottom:.6rem;display:inline-block}
.contact-card h4{font-size:1rem;margin-bottom:.3rem}
.contact-card p{font-size:.8rem;color:var(--gray);word-break:break-word}
.email-form-card{max-width:620px;margin:2.5rem auto 0;background:#fff;border-radius:24px;padding:2rem 2rem 2.2rem;box-shadow:var(--shadow-lg);border:1px solid rgba(10,102,194,.08);position:relative;overflow:hidden}
.email-form-card::before{content:'';position:absolute;top:0;left:0;width:100%;height:6px;background:linear-gradient(90deg,var(--primary-dark),var(--primary),var(--accent))}
.email-form-title{text-align:center;margin-bottom:1.6rem}
.email-form-title h3{font-size:1.3rem;color:var(--primary);margin-bottom:.35rem}
.email-form-title p{font-size:.85rem;color:var(--gray-soft)}
.email-form .form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem 1.2rem}
.email-form .form-row{margin-bottom:1rem}
.email-form .form-row.full{grid-column:1/-1}
.email-form label{display:flex;align-items:center;gap:.4rem;font-size:.78rem;font-weight:600;color:var(--primary);margin-bottom:.4rem}
.email-form label i{color:var(--primary);font-size:.8rem;width:14px}
.email-form input,.email-form select,.email-form textarea{width:100%;padding:.75rem 1rem;border:1.5px solid #dce5f0;border-radius:12px;font-family:'Poppins',sans-serif;font-size:.85rem;color:var(--dark);background:var(--gray-light);appearance:none;-webkit-appearance:none}
.email-form select{background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%235a6e85'><path d='M7 10l5 5 5-5z'/></svg>");background-repeat:no-repeat;background-position:right .9rem center;background-size:1.1rem;padding-right:2.4rem;cursor:pointer}
.email-form input:focus,.email-form select:focus,.email-form textarea:focus{outline:none;border-color:var(--primary);background:#fff}
.email-form textarea{resize:vertical;min-height:110px}
.email-form button{width:100%;background:linear-gradient(135deg,var(--primary),var(--accent));color:#fff;border:none;padding:.85rem 1.6rem;border-radius:50px;font-weight:600;font-size:.9rem;cursor:pointer;transition:.2s;box-shadow:0 8px 20px rgba(10,102,194,.25)}
.email-form button:hover{transform:translateY(-2px)}

.footer{background:#071526;color:#a0b8d4;padding:2.5rem 0 calc(1.5rem + var(--safe-b))}
.footer-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1.5rem}
.footer-brand{display:flex;gap:.8rem;align-items:flex-start}
.footer-brand .logo3d{width:110px;height:110px}
.footer h4{color:#fff;margin-bottom:.4rem}
.footer p{font-size:.75rem;line-height:1.5}
.back-to-top{position:fixed;bottom:calc(30px + var(--safe-b));right:30px;width:52px;height:52px;background:linear-gradient(135deg,var(--primary),var(--accent));color:#fff;border:none;border-radius:50%;cursor:pointer;font-size:1.3rem;z-index:999;opacity:0;visibility:hidden;transition:.3s;box-shadow:0 6px 18px rgba(10,102,194,.35);animation:pulseLight 2s infinite}
.back-to-top.show{opacity:1;visibility:visible}

@media(max-width:900px){.nav-links{display:none}.menu-icon{display:block}.hero-grid{flex-direction:column;text-align:center;gap:2rem}.hero-stats{justify-content:center}.hero-text p{margin-left:auto;margin-right:auto;max-width:100%}.hero-visual{width:100%}section{padding:3rem 0}.container{padding:0 5%}.gallery{grid-template-columns:repeat(2,1fr);grid-auto-rows:190px}}
@media(max-width:640px){.email-form-card{padding:1.5rem 1.2rem 1.8rem;border-radius:18px}.email-form .form-grid{grid-template-columns:1fr}}
@media(max-width:768px){body{font-size:15px}.sobre-container{flex-direction:column}.values-grid{grid-template-columns:repeat(2,1fr);gap:.8rem}.objectives-list{grid-template-columns:1fr}.footer-grid{text-align:center}.footer-brand{justify-content:center;text-align:left}.back-to-top{width:44px;height:44px;bottom:calc(20px + var(--safe-b));right:20px;font-size:1.1rem}.logo h1{font-size:1.25rem}.logo .logo3d{width:96px;height:96px}}
@media(max-width:480px){.hero-stats{gap:1rem}.stat-item h3{font-size:1.5rem}.btn-primary{padding:.7rem 1.5rem;font-size:.85rem}.section-title h2{font-size:1.5rem}.values-grid{grid-template-columns:1fr}.impact-stats-grid{grid-template-columns:repeat(2,1fr)}.logo span{display:none}}

@media(max-width:1100px){.nav-links{display:none}.menu-icon{display:block}.logo span{max-width:55vw}}
@media(max-width:900px){.hero{min-height:auto;padding:2rem 0}}
@media(max-width:520px){.logo h1{font-size:1.2rem}.logo .logo3d{width:88px;height:88px}.nav-flex{flex-wrap:nowrap}}
@media(min-width:1600px){.container{max-width:1440px}}
@media(max-width:900px){.hero::before{width:100%;right:0;top:-10%;height:120%}}

.hero-text h1{white-space:nowrap;font-size:clamp(1.8rem,3.6vw,3.2rem)}
@media(max-width:900px){.hero-text h1{font-size:clamp(2.1rem,9vw,3.6rem)}}

/* Logótipo 3D (js/logo3d.js) */
.logo3d{position:relative;flex-shrink:0;aspect-ratio:1;isolation:isolate}
.logo3d>img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}
.logo3d svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none}


.logo3d-wings{transform-origin:50% 40%;animation:wingsBreath 5s ease-in-out infinite}
.about-brand{width:clamp(250px,36vw,400px);margin:0 auto 2rem;animation:floatSoft 7s ease-in-out infinite}
@keyframes wingsBreath{0%,100%{transform:scale(1)}50%{transform:scale(1.025)}}
@media(max-width:700px){.gallery-row{flex-direction:column}.gallery figure{flex:none;width:100%}}

/* Loading personalizado */
.is-loading{overflow:hidden}
#loader{position:fixed;inset:0;z-index:5000;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at 50% 40%,#fff 30%,#eaf3fc 100%);transition:opacity .6s ease,visibility .6s ease}
#loader.done{opacity:0;visibility:hidden}
#loader.done .loader-box{transform:scale(1.06)}
.loader-box{display:flex;flex-direction:column;align-items:center;gap:1.4rem;padding:1.5rem;transition:transform .6s ease}
.loader-logo{width:clamp(210px,52vw,320px)}
.loader-bar{width:clamp(200px,55vw,300px);height:6px;border-radius:6px;background:rgba(10,102,194,.14);overflow:hidden}
.loader-bar i{display:block;height:100%;width:0;border-radius:6px;background:linear-gradient(90deg,var(--primary-dark),var(--primary),var(--accent));transition:width .25s ease;position:relative;overflow:hidden}
.loader-bar i::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.55),transparent);transform:translateX(-100%);animation:loaderShine 1.2s linear infinite}
.loader-text{font-family:'Outfit',sans-serif;font-weight:600;font-size:.85rem;letter-spacing:.14em;text-transform:uppercase;color:var(--primary-dark)}
.loader-text b{display:inline-block;min-width:3ch;text-align:left;color:var(--primary)}
@keyframes loaderShine{to{transform:translateX(100%)}}


/* ===== Ajustes finais: logo, alinhamento e responsividade ===== */
html,body{max-width:100%;overflow-x:clip}
.nav-flex{align-items:center;min-height:0}
.logo{align-items:center;gap:clamp(.5rem,1.2vw,.9rem)}
.logo .logo3d{width:clamp(64px,6.5vw,88px);height:clamp(64px,6.5vw,88px);margin:0}
.logo>div:last-child{min-width:0;display:flex;flex-direction:column;justify-content:center}
.logo h1{font-size:clamp(1.15rem,2.2vw,1.65rem);margin:0;white-space:nowrap}
.logo span{margin-top:2px}
.nav-links{flex-wrap:nowrap;white-space:nowrap;gap:clamp(.8rem,1.4vw,1.4rem)}
.footer-brand{align-items:center}
.footer-brand .logo3d{width:clamp(80px,12vw,100px);height:clamp(80px,12vw,100px)}
.about-brand{width:clamp(220px,36vw,380px);margin:0 auto 2rem}
@media(max-width:1100px){.logo .logo3d{width:72px;height:72px}.logo span{max-width:none}}
@media(max-width:520px){.logo .logo3d{width:60px;height:60px}.logo h1{font-size:1.1rem}}
@media(max-width:360px){.logo .logo3d{width:52px;height:52px}.logo h1{font-size:1rem}}
@media(max-width:768px){.footer-brand{flex-direction:column;align-items:center;text-align:center}}
@media(min-width:1101px){.logo{flex:0 1 auto}.logo span{white-space:normal;overflow:visible;text-overflow:clip;line-height:1.3;max-width:300px}}

/* Cabeçalho */
.logo h1{background:none;-webkit-text-fill-color:var(--primary);color:var(--primary)}
.logo span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:none;line-height:1.2}
@media(min-width:1101px){.logo{flex:0 1 auto}.logo span{white-space:nowrap;overflow:visible;max-width:none;font-size:clamp(.5rem,.62vw,.62rem)}}
.logo .logo3d,.nav-flex,.logo h1{transition:width .3s ease,height .3s ease,padding .3s ease,font-size .3s ease}
.navbar.shrink .nav-flex{padding-block:.25rem}
.navbar.shrink .logo .logo3d{width:44px;height:44px}
.navbar.shrink .logo h1{font-size:clamp(1rem,1.6vw,1.2rem)}
.navbar.shrink .logo span{display:none}
/* Loading rápido */
#loader{background:#fff;transition:opacity .3s ease,visibility .3s ease}
#loader.done .loader-box{transform:none}
.orbit{position:relative;width:clamp(120px,30vw,170px);aspect-ratio:1}
.orbit img{position:absolute;inset:14%;width:72%;height:72%;object-fit:contain;animation:orbitPulse 1s ease-in-out infinite}
.orbit i{position:absolute;inset:4%;border-radius:50%;border:3px solid var(--primary);opacity:0;animation:orbitPing 1.1s ease-out infinite}
@keyframes orbitSpin{to{transform:rotate(360deg)}}
@keyframes orbitPulse{50%{transform:scale(.94)}}
.hero-text h1{background:none;-webkit-text-fill-color:var(--primary);color:var(--primary)}

/* Logótipo plano (sem 3D): flutuar suave + brilho que pulsa */
.logo3d{container-type:normal}
.logo3d>img{animation:logoFloat 4.5s ease-in-out infinite;filter:drop-shadow(0 4px 6px rgba(10,102,194,.18))}
.footer .logo3d>img{filter:none;animation:none}
.logo:hover .logo3d>img{animation-duration:1.6s}
.logo3d::before{content:'';position:absolute;inset:8%;border-radius:50%;background:radial-gradient(circle,var(--primary-glow) 0,transparent 70%);animation:logoGlow 4.5s ease-in-out infinite;z-index:-1}
.footer .logo3d::before{display:none}
.about-brand{animation:none}
.about-brand>img{animation-duration:6s}
.orbit .logo3d{position:absolute;inset:16%;width:auto;height:auto}
.orbit .logo3d>img{inset:0;width:100%;height:100%;animation:orbitPulse 1s ease-in-out infinite}
@keyframes logoFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-6%)}}
@keyframes logoGlow{0%,100%{opacity:.5;transform:scale(.9)}50%{opacity:1;transform:scale(1.15)}}
@media(prefers-reduced-motion:reduce){.logo3d>img,.logo3d::before{animation:none}}
@keyframes orbitPing{0%{transform:scale(.7);opacity:.55}100%{transform:scale(1.15);opacity:0}}

/* Logótipo plano: sem 3D, só flutua */
.logo3d>img{filter:drop-shadow(0 4px 6px rgba(10,102,194,.18));animation:logoFloat 4.5s ease-in-out infinite}
.about-brand>img{filter:drop-shadow(0 8px 12px rgba(10,102,194,.18))}
.orbit .logo3d>img{animation:orbitPulse 1s ease-in-out infinite}
.footer .logo3d{background:#fff;border-radius:20px;padding:6px;box-sizing:border-box}
.footer .logo3d>img{position:static;filter:none;animation:none}
.footer .logo3d::before{display:none}
@media(prefers-reduced-motion:reduce){.logo3d>img{animation:none}}

/* Cabeçalho: nome e descrição da associação mais legíveis */
.logo h1{font-size:clamp(1.3rem,2.4vw,1.9rem)}
.logo span{font-size:.78rem!important;font-weight:600;color:var(--gray);white-space:normal!important;overflow:visible!important;max-width:340px!important;line-height:1.25}
@media(max-width:1100px){.logo span{font-size:.7rem!important;max-width:55vw!important}}
@media(max-width:520px){.logo h1{font-size:1.2rem}}

/* ===== Cabeçalho: nome da associação numa só linha + menu sempre visível ===== */
.logo span{white-space:nowrap!important;max-width:none!important;overflow:visible!important;text-overflow:clip!important;line-height:1.2;font-size:clamp(.55rem,.8vw,.72rem)!important;letter-spacing:0}
.logo>div:last-child{min-width:0}
/* menu completo só em ecrãs largos; abaixo disso, botão de menu */
@media(max-width:1279px){
  .nav-links{display:none!important}
  .menu-icon{display:flex!important}
  .logo{flex:1 1 auto;min-width:0}
  .logo span{font-size:clamp(.5rem,1.45vw,.66rem)!important}
}
@media(min-width:1280px){.menu-icon{display:none!important}}
@media(max-width:600px){.logo span{display:none!important}}
/* botão hambúrguer desenhado em CSS (não depende do Font Awesome) */
.menu-icon{width:46px;height:46px;flex:0 0 46px;align-items:center;justify-content:center;border-radius:12px;background:rgba(10,102,194,.08);padding:0;position:relative}
.menu-icon i{display:none}
.menu-icon::before{content:'';width:22px;height:2.5px;border-radius:2px;background:var(--primary);box-shadow:0 -7px 0 var(--primary),0 7px 0 var(--primary)}
.mobile-menu-close i{display:none}
.mobile-menu-close::before{content:'\00d7';font-size:2.2rem;line-height:1;color:var(--primary)}

/* Secção Apoio: cartão único centrado */
#apoio .contact-info{grid-template-columns:minmax(0,420px);justify-content:center}

/* ===== Menu móvel: nunca tapa o nome/logótipo — abre por baixo do cabeçalho ===== */
.navbar{z-index:1002}
.menu-scrim{z-index:1000;top:var(--nav-h,70px)}
.mobile-menu{z-index:1001;top:var(--nav-h,70px);height:calc(100% - var(--nav-h,70px));padding-top:1rem}

/* Vídeo de apresentação */
.video-wrap{max-width:1000px;margin:0 auto;border-radius:20px;overflow:hidden;box-shadow:var(--shadow-lg);background:#000;aspect-ratio:16/9}
.video-wrap video{display:block;width:100%;height:100%;object-fit:contain;background:#000}
