*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:#234338;background:#fffdf7;font-family:'Nunito',sans-serif;line-height:1.65}h1,h2,h3,strong,b{font-family:'Baloo 2',sans-serif}h1,h2,h3,p{margin-top:0}.container{width:min(1160px,92%);margin:auto}.header{position:sticky;top:0;z-index:20;background:rgba(255,253,247,.95);backdrop-filter:blur(12px);border-bottom:1px solid #e7eadf}.nav{min-height:84px;display:flex;align-items:center;justify-content:space-between;gap:25px}.brand{display:flex;align-items:center;gap:11px;text-decoration:none;color:#214e3c}.brand-logo{display:block;width:86px;height:78px;object-fit:contain;flex:0 0 auto}.brand-caption{display:block}.brand strong,.brand b{display:block;line-height:.95;font-size:20px}.brand b{color:#e4ad18;font-size:22px}.brand small{display:block;font-size:10px;margin-top:4px;color:#65766e}.logo-mark{width:48px;height:48px;border-radius:16px 16px 16px 4px;background:#55a94d;display:grid;place-items:center;color:#ffd84a;font-size:26px;box-shadow:0 7px 18px #55a94d30}.nav nav{display:flex;align-items:center;gap:22px}.nav nav a{color:#38574d;text-decoration:none;font-weight:800;font-size:14px}.nav nav a:hover{color:#e1aa16}.nav nav a.nav-admin{background:#315c48;color:#fff!important;padding:9px 14px;border-radius:22px;box-shadow:0 5px 14px #315c4820}.nav nav a.nav-admin:hover{background:#244b3b;color:#fff!important}.nav-contact{background:#eab82c;color:#fff!important;padding:10px 17px;border-radius:22px}.menu-toggle{display:none;border:0;background:none;font-size:28px}.hero{position:relative;overflow:hidden;background:linear-gradient(135deg,#eef8df,#fff7d8);padding:72px 0 58px;min-height:650px}.hero-grid{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:35px}.eyebrow,.section-tag{display:inline-block;color:#4b9445;text-transform:uppercase;letter-spacing:1.5px;font-size:12px;font-weight:900;margin-bottom:12px}.hero h1{font-size:clamp(44px,5vw,70px);line-height:.98;color:#23513e;max-width:680px}.hero h1 span{color:#e8b522}.hero p{font-size:18px;color:#587066;max-width:610px}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin:28px 0}.btn{display:inline-flex;padding:13px 20px;border-radius:30px;text-decoration:none;font-weight:900}.primary{background:#55a94d;color:#fff;box-shadow:0 9px 20px #55a94d30}.secondary{border:2px solid #d6b22b;color:#6c5b1d}.hero-badges{display:flex;gap:25px}.hero-badges strong{display:block;font-size:25px;color:#e1a917}.hero-badges span{font-size:12px;color:#64756d}.hero-art{height:450px;position:relative;background:#cdeab5;border-radius:48% 52% 22% 22%;overflow:hidden;box-shadow:inset 0 -60px 0 #86c26a}.sun{position:absolute;width:95px;height:95px;border-radius:50%;background:#ffd84a;right:50px;top:45px}.cloud{position:absolute;width:120px;height:35px;background:#fff;border-radius:50px;opacity:.85}.cloud:before,.cloud:after{content:"";position:absolute;background:#fff;border-radius:50%}.cloud:before{width:45px;height:45px;left:20px;top:-22px}.cloud:after{width:55px;height:55px;right:20px;top:-28px}.cloud-a{left:40px;top:70px}.cloud-b{right:130px;top:140px;transform:scale(.65)}.tree{position:absolute;left:55px;bottom:105px}.tree i{display:block;width:35px;height:150px;background:#8b633e;margin-left:52px}.tree b{display:block;width:145px;height:145px;border-radius:50%;background:#4b9b50;position:absolute;bottom:80px;left:0;box-shadow:45px 25px 0 #67aa51,-40px 25px 0 #3f8f4a}.rainbow{position:absolute;right:60px;bottom:85px;font-size:110px}.children-card{position:absolute;bottom:0;left:22%;width:55%;height:145px;background:#f5dc76;border-radius:55% 55% 0 0}.child{position:absolute;font-size:60px;bottom:45px}.c1{left:10%}.c2{left:39%}.c3{right:8%}.grass{position:absolute;bottom:0;left:0;right:0;height:38px;background:#64ae50}.shape1,.shape2{position:absolute;border-radius:50%;opacity:.3}.shape1{width:220px;height:220px;background:#f4ce45;right:-90px;top:-70px}.shape2{width:140px;height:140px;background:#58a64f;left:-70px;bottom:-70px}.section{padding:88px 0}.intro{background:#fff}.intro-grid,.two-col{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.intro h2,.two-col h2,.center-head h2{font-size:42px;line-height:1.05;color:#24533f}.intro p{font-size:18px;color:#5d7168}.history{background:#f7f4e9}.story-visual{height:450px;background:linear-gradient(150deg,#b8d98c,#74b65b);border-radius:35px;position:relative;overflow:hidden}.story-card{position:absolute;background:#fffdf7;left:40px;bottom:45px;padding:28px;border-radius:22px;max-width:290px;box-shadow:0 15px 30px #315c2b25}.story-card span{font-size:45px;color:#e3b01d;font-family:'Baloo 2';font-weight:800;display:block}.story-card strong{font-size:24px;line-height:1.1;color:#315c48}.floating-note{position:absolute;right:25px;top:35px;background:#ffd95a;padding:15px 20px;border-radius:20px;font-weight:900;transform:rotate(4deg)}.history p,.philosophy p{color:#5d7168}.history blockquote{border-left:5px solid #e4b62a;padding:10px 20px;margin:25px 0;color:#426354;font-size:18px;font-style:italic}.history cite{display:block;font-size:12px;margin-top:6px;font-style:normal;font-weight:800}.proposal{background:#f0f8e8}.center-head{text-align:center;max-width:750px;margin:0 auto 38px}.center-head p{color:#687a71}.cards{display:grid;gap:20px}.cards.three{grid-template-columns:repeat(3,1fr)}.cards.two{grid-template-columns:repeat(2,1fr)}.info-card{background:#fff;border-radius:25px;padding:28px;box-shadow:0 8px 30px #315c2b10}.icon{width:55px;height:55px;border-radius:17px;display:grid;place-items:center;font-size:27px;margin-bottom:12px}.green{background:#d9f0cf}.yellow{background:#fff0bd}.orange{background:#ffe0c5}.info-card h3{font-size:26px;color:#315c48}.info-card p,.info-card li{font-size:14px;color:#61746b}.info-card ul{padding-left:18px}.philosophy{background:#fff}.method-box{background:#fff6d5;padding:42px;border-radius:35px;border:2px dashed #dfbd3c}.method-icon{font-size:55px}.method-box h3{font-size:30px;color:#315c48}.pill-row{display:flex;gap:8px;flex-wrap:wrap}.pill-row span{background:#fff;border-radius:20px;padding:7px 13px;font-size:12px;font-weight:800;color:#4c7d42}.choose{background:#fbfaf3}.reasons{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.reasons div{background:#fff;border-radius:18px;padding:18px;font-size:25px;box-shadow:0 6px 20px #315c2b0b}.reasons span{font-size:14px;font-weight:800;color:#466158;margin-left:8px}.schedules{background:#eaf5df}.unit-card{background:#fff;padding:30px;border-radius:28px;box-shadow:0 8px 28px #315c2b12}.unit-top{display:flex;gap:15px;align-items:center;margin-bottom:18px}.pin{font-size:30px}.unit-card h3{font-size:28px;color:#315c48;margin:0}.unit-card small{color:#78867f}.time{display:flex;justify-content:space-between;gap:20px;border-top:1px solid #e7eadf;padding:13px 0}.time strong{color:#e1a917}.time span{font-size:14px;text-align:right}.unit-card>a{display:block;color:#438c40;font-weight:900;text-decoration:none;margin-top:12px}.team{background:#fff}.team-tabs{display:flex;justify-content:center;gap:10px;margin-bottom:25px}.team-tabs button{border:0;background:#edf4e9;padding:11px 20px;border-radius:22px;font-weight:900;color:#487052;cursor:pointer}.team-tabs button.active{background:#55a94d;color:#fff}.team-list{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.team-list div{background:#f8faf5;border:1px solid #e8ede2;padding:13px 15px;border-radius:13px}.team-list b{display:block;color:#345849;font-size:14px}.team-list span{font-size:12px;color:#718078}.hidden{display:none}.notices{background:#fff7d5}.notice-box{display:flex;align-items:center;gap:30px;background:#fff;border-radius:30px;padding:35px;box-shadow:0 10px 30px #6c5b1d12}.notice-icon{font-size:55px}.notice-box h2{font-size:34px;color:#315c48;margin-bottom:6px}.notice-box p{color:#65766e}.gallery{background:#f2f7ed}.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.photo-placeholder{height:190px;border-radius:22px;background:linear-gradient(135deg,#d6edc4,#fff0a9);display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:45px;color:#548449}.photo-placeholder span{font-size:15px;font-weight:900;margin-top:8px}.contact{background:#275944;color:#fff;padding:70px 0}.contact-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:50px;align-items:center}.light{color:#f4d45a}.contact h2{font-size:45px;line-height:1.05}.contact p{color:#d4e5db}.contact-cards{display:grid;gap:12px}.contact-cards a{background:#fff;color:#315c48;padding:16px 20px;border-radius:18px;text-decoration:none}.contact-cards small,.contact-cards strong{display:block}.contact-cards small{color:#708078}.contact-cards strong{font-size:18px}footer{background:#183e31;color:#bcd2c6;padding:30px 0}.footer-grid{display:flex;justify-content:space-between;align-items:center;gap:20px}.footer-grid .brand strong{color:#fff}.footer-brand .brand-logo{width:100px;height:86px}.login-logo-image{display:block;width:min(240px,80%);height:190px;object-fit:contain;margin:0 auto 12px}.admin-heading-brand{display:flex;align-items:center;gap:22px}.admin-logo{width:115px;height:100px;object-fit:contain;flex:0 0 auto}.footer-grid p{font-size:12px;margin:0}.back-top{position:fixed;right:20px;bottom:20px;width:44px;height:44px;border:0;border-radius:50%;background:#e7b72b;color:#fff;font-size:22px;display:none;cursor:pointer}.back-top.show{display:block}@media(max-width:900px){.brand-logo{width:68px;height:64px}.admin-heading-brand{gap:14px}.admin-logo{width:90px;height:82px}.nav nav{display:none}.menu-toggle{display:block}.nav nav.open{display:flex;position:absolute;top:84px;left:0;right:0;background:#fffdf7;padding:20px;flex-direction:column;border-bottom:1px solid #ddd}.hero-grid,.intro-grid,.two-col,.contact-grid{grid-template-columns:1fr}.hero-art{height:340px}.cards.three,.reasons{grid-template-columns:1fr}.team-list{grid-template-columns:repeat(2,1fr)}.gallery-grid{grid-template-columns:repeat(2,1fr)}.cards.two{grid-template-columns:1fr}.footer-grid{flex-direction:column;align-items:flex-start}}@media(max-width:560px){.brand-logo{width:56px;height:55px}.brand strong,.brand b{font-size:17px}.brand b{font-size:18px}.brand small{font-size:9px}.admin-heading-brand{align-items:flex-start}.admin-logo{width:72px;height:72px}.login-logo-image{height:155px}.hero{padding-top:45px}.hero h1{font-size:43px}.hero-badges{gap:12px}.hero-badges strong{font-size:20px}.hero-badges span{font-size:10px}.section{padding:60px 0}.intro h2,.two-col h2,.center-head h2,.contact h2{font-size:34px}.team-list{grid-template-columns:1fr}.gallery-grid{grid-template-columns:1fr}.photo-placeholder{height:150px}.story-visual{height:330px}.notice-box{align-items:flex-start;flex-direction:column}.brand small{max-width:190px}}

/* Galeria dinâmica e área do administrador */
.admin-gallery-panel{display:flex;justify-content:center;align-items:center;flex-direction:column;gap:12px;margin:0 auto 30px}
.admin-gallery-button,.upload-button{border:0;border-radius:25px;padding:12px 20px;font-family:'Nunito',sans-serif;font-weight:900;cursor:pointer;display:inline-flex;align-items:center;gap:8px}
.admin-gallery-button{background:#315c48;color:#fff;box-shadow:0 8px 20px #315c4825}
.upload-button{background:#55a94d;color:#fff}
.admin-gallery-controls{width:min(760px,100%);background:#f0f8e8;border:1px solid #d8e8cf;border-radius:20px;padding:18px;display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap}
.admin-gallery-controls small{width:100%;text-align:center;color:#6a7b73}
.admin-gallery-controls span{font-size:13px;color:#526960}
.hidden{display:none!important}
.gallery-loading,.gallery-empty{grid-column:1/-1;text-align:center;padding:35px;color:#718078}
.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.gallery-photo{position:relative;overflow:hidden;border-radius:22px;background:#edf4e8;min-height:220px;box-shadow:0 8px 24px #315c2b12}
.gallery-photo-button{display:block;width:100%;padding:0;border:0;background:none;cursor:zoom-in}.gallery-photo img{width:100%;height:260px;display:block;object-fit:cover;transition:transform .2s ease}.gallery-photo-button:hover img{transform:scale(1.03)}
.gallery-delete{position:absolute;top:10px;right:10px;border:0;background:#fff;color:#a33a2b;border-radius:20px;padding:8px 11px;font-weight:900;cursor:pointer;box-shadow:0 5px 15px #0002}
@media(max-width:800px){.gallery-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){.gallery-grid{grid-template-columns:1fr}.gallery-photo img{height:240px}}

admin-header{padding:42px 0;background:#f0f8e8;border-bottom:1px solid #dbe9d3}.admin-header-inner{display:flex;align-items:center;justify-content:space-between;gap:25px}.admin-header h1{margin:8px 0}.admin-header p{color:#62736b}.admin-back-link{font-weight:900;color:#315c48;text-decoration:none}.admin-page{padding:40px 0 60px}.admin-upload-card{max-width:800px;margin:0 auto 45px;background:#f7fbf3;border:1px solid #dcebd5;border-radius:24px;padding:28px;text-align:center}.admin-status{margin:16px 0;font-weight:800}.admin-upload-card small{display:block;color:#6a7b73;margin-top:12px}.admin-photo-card{position:relative}@media(max-width:700px){.admin-header-inner{flex-direction:column;align-items:flex-start}}

.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:#f0f8e8;padding:25px}
.login-card{width:min(430px,100%);background:#fff;border-radius:28px;padding:36px;box-shadow:0 18px 45px #315c4820;text-align:center}
.login-logo{font-size:42px;margin-bottom:8px}
.login-card h1{margin:10px 0}
.login-card p{color:#66766e;margin-bottom:24px}
.login-card form{text-align:left}
.login-card label{display:block;font-weight:900;margin:14px 0 7px}
.login-card input{width:100%;box-sizing:border-box;border:1px solid #d4e1d0;border-radius:12px;padding:12px 14px;font:inherit}
.login-button{width:100%;border:0;border-radius:24px;padding:13px;margin-top:22px;background:#315c48;color:#fff;font-weight:900;font-size:16px;cursor:pointer}
.login-back{display:inline-block;margin-top:22px;color:#315c48;text-decoration:none;font-weight:900}
.login-error,.login-logout{padding:10px 12px;border-radius:10px;margin:15px 0;font-weight:800}
.login-error{background:#fdebea;color:#9a3026}
.login-logout{background:#edf7e9;color:#3d7136}

/* Galeria separada por unidade */
.public-gallery-unit{margin-top:38px}
.public-gallery-unit-title{display:flex;align-items:center;gap:12px;margin-bottom:18px}
.public-gallery-unit-title h3{font-size:30px;color:#315c48;margin:0}
.unit-gallery-icon{font-size:28px}
.public-gallery-unit+.public-gallery-unit{margin-top:55px}
.admin-header-actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.logout-form{margin:0}
.admin-logout-button{border:0;border-radius:22px;padding:10px 17px;background:#a94a3e;color:#fff;font-weight:900;cursor:pointer;font-family:'Nunito',sans-serif}
.unit-selector{display:flex;justify-content:center;align-items:center;gap:12px;margin:20px 0}
.unit-selector label{font-weight:900;color:#315c48}
.unit-selector select{border:1px solid #d4e1d0;border-radius:12px;padding:11px 35px 11px 14px;font:inherit;background:#fff;color:#315c48}
.admin-unit-section{margin-bottom:55px}
.admin-section-title{margin-bottom:18px}
.admin-section-title h2{margin:7px 0 0;color:#315c48}
@media(max-width:700px){.admin-header-actions{align-items:flex-start}.public-gallery-unit-title h3{font-size:25px}}

/* Avisos por unidade */
.public-notices-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}
.public-notice-unit{background:#fff;border-radius:28px;padding:26px;box-shadow:0 8px 28px #6c5b1d12}
.notice-list{display:grid;gap:14px}
.public-notice-item{background:#f8fbf5;border:1px solid #e0ead9;border-radius:18px;padding:18px}
.public-notice-item h3{margin:5px 0 8px;color:#315c48;font-size:21px}
.public-notice-item p{margin:0;color:#62736b;line-height:1.6;white-space:normal}
.notice-date{display:block;color:#8b7a3a;font-size:11px;font-weight:900;text-transform:uppercase}
.notice-empty,.notice-loading{padding:20px;text-align:center;color:#718078;background:#f8faf5;border-radius:15px}
.admin-notices-card{max-width:900px;margin:0 auto 45px;background:#fffaf0;border:1px solid #eadfb9;border-radius:24px;padding:28px}
.notice-admin-form{display:grid;gap:10px}
.notice-admin-form .unit-selector{margin:8px 0 12px}
.notice-admin-form label{font-weight:900;color:#315c48}
.notice-admin-form input,.notice-admin-form textarea{width:100%;box-sizing:border-box;border:1px solid #d4e1d0;border-radius:12px;padding:12px 14px;font:inherit;background:#fff;resize:vertical}
.admin-notice-button{justify-self:start;border:0;border-radius:24px;padding:12px 20px;background:#315c48;color:#fff;font-family:'Nunito',sans-serif;font-weight:900;cursor:pointer;margin-top:5px}
.admin-notice-list{display:grid;gap:12px}
.admin-notice-item{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;background:#fff;border:1px solid #e2e9dd;border-radius:18px;padding:18px}
.admin-notice-item h3{margin:5px 0 8px;color:#315c48}
.admin-notice-item p{margin:0;color:#66766e;line-height:1.5;white-space:pre-wrap}
.notice-delete{border:0;border-radius:20px;padding:8px 12px;background:#fdebea;color:#9a3026;font-weight:900;cursor:pointer;white-space:nowrap}
@media(max-width:800px){.public-notices-grid{grid-template-columns:1fr}.admin-notice-item{flex-direction:column}.notice-delete{align-self:flex-start}}


/* Visualizacao ampliada da foto */
.photo-modal{position:fixed;inset:0;z-index:1000;background:rgba(18,39,31,.88);display:none;align-items:center;justify-content:center;padding:30px}.photo-modal.open{display:flex}.photo-modal img{max-width:min(92vw,1200px);max-height:88vh;width:auto;height:auto;object-fit:contain;border-radius:14px;box-shadow:0 20px 60px rgba(0,0,0,.4)}.photo-modal-close{position:absolute;top:18px;right:22px;width:46px;height:46px;border:0;border-radius:50%;background:#fff;color:#315c48;font-size:34px;line-height:1;cursor:pointer;box-shadow:0 8px 25px rgba(0,0,0,.25)}.photo-modal-close:hover{background:#eaf5df}@media(max-width:560px){.photo-modal{padding:18px}.photo-modal img{max-width:96vw;max-height:82vh}.photo-modal-close{top:10px;right:10px;width:42px;height:42px;font-size:30px}}
