.home-header { position: absolute; inset: 0px 0px auto; width: 100%; height: 6.77vw; min-height: 0px; padding: 0.98vw 5.4vw 0.98vw 6vw; gap: 0.9vw; border-radius: 0px; box-shadow: none; background: linear-gradient(105deg, rgb(16, 76, 61), rgb(4, 59, 48)); mask: url("/assets/header-home-mask.svg") 0px 0px / 100% 100%; margin: 0px; }
.home-header:has(.menu:not([hidden])) { mask: none; }
.home-header .brand { gap: 1.3vw; }
.home-header .brand-symbol { width: 5.2vw; height: 4.4vw; padding: 0.52vw 1.95vw 0.52vw 0px; }
.home-header .brand-symbol img { width: 3.2vw; max-width: none; transform: scale(1.3); }
.home-header .brand-name { font-size: 1.82vw; font-weight: 400; line-height: 0.95; }
.home-header nav:not(.menu) { font-size: 0.98vw; gap: 2.2vw; }
.home-header > .icon-button { margin-left: 0px; }
.home-header > .icon-button .icon { width: 1.95vw; height: 1.95vw; }
.home-top { background: linear-gradient(rgba(234, 223, 199, 0.333), rgba(250, 241, 220, 0.267)), url("/assets/pedra-superficie.png") 0px 0px / 130px 340px; }
.hero { height: 36.07vw; max-height: none; position: relative; margin: 0px; background: transparent; overflow: visible; }
.hero-scene { position: absolute; inset: 0px; overflow: hidden; background: rgb(3, 7, 8); mask: url("/assets/capa-mascara.svg") center center / 100% 100% no-repeat; }
.hero-photo { position: absolute; inset: 0; width: 100%; max-width: none; height: 100%; object-fit: fill; mask-image: none; }
.hero h1 { position: absolute; left: 6.9%; top: 15.2vw; margin: 0px; color: rgb(245, 237, 219); font-size: 4.3vw; font-weight: 400; line-height: 1; letter-spacing: -0.025em; text-shadow: rgba(0, 0, 0, 0.467) 0px 2px 8px; z-index: 2; }
.hero h1 strong { font-weight: 700; }
.hero h1::after { content: ""; display: block; width: 6.12vw; height: 0.33vw; margin-top: 1.56vw; background: linear-gradient(90deg, rgb(247, 196, 113), rgb(128, 99, 61)); }
.hero::after { content: ""; position: absolute; inset: 0px; z-index: 2; background: url("/assets/capa-luz.svg") center center / 100% 100% no-repeat; pointer-events: none; }
.hero-scene::before { content: ""; position: absolute; left: 0px; top: 7.16vw; width: 6.5vw; height: 18.2vw; background: url("/assets/vegetacao-modelo.png") left top / contain no-repeat; mask-image: linear-gradient(90deg, rgb(0, 0, 0) 65%, transparent); z-index: 1; pointer-events: none; }
.quick-links { display: grid; grid-template-columns: 1fr 1fr 1.12fr; gap: 1.95vw; padding: 0px 5.2% 1.63vw 7.1%; height: 8.14vw; position: relative; z-index: 3; }
.quick-links > a { display: flex; align-items: flex-end; position: relative; margin-top: -2.93vw; filter: drop-shadow(rgba(48, 39, 23, 0.2) 0px 0.39vw 0.33vw); }
.quick-links img { width: 60%; height: 9.12vw; object-fit: cover; border: 0.26vw solid rgb(248, 237, 217); border-radius: 0.78vw 0.78vw 0px; }
.quick-links span { display: flex; align-items: center; gap: 1.4vw; white-space: nowrap; flex: 1 1 0%; background: rgb(246, 239, 225); padding: 1.69vw 1.17vw; font-size: 1.82vw; font-weight: 400; border-radius: 0px 0.65vw 0.65vw 0px; }
.quick-links span .icon { width: 1.3vw; height: 1.3vw; }
.quick-links > a:nth-child(2) { margin-top: -1.63vw; }
.quick-links > a:nth-child(2) img { width: 54%; height: 7.42vw; }
.quick-links > a:last-child img { width: 46%; height: 6.18vw; }
.desktop-community { height: 22.79vw; display: grid; grid-template-columns: 48.6% 31.4% 20%; position: relative; background: linear-gradient(0deg, rgb(70, 58, 43) 0%, rgb(250, 247, 239) 14%); isolation: isolate; }
.desktop-community > img { width: 100%; height: 22.79vw; object-fit: cover; object-position: center 70%; }
.desktop-community > div { padding: 1.82vw 1.63vw 0px 2.34vw; }
.desktop-community h2 { font-size: 2.34vw; font-weight: 700; letter-spacing: -0.03em; }
.desktop-community h2::after { content: ""; display: block; background: linear-gradient(90deg, rgb(248, 189, 89), rgb(153, 133, 103)); width: 5.6vw; height: 0.26vw; margin: 0.65vw 0px 1.04vw; }
.desktop-community > div img { width: 100%; height: 11.59vw; object-fit: cover; }
.desktop-community::before { content: ""; position: absolute; left: 48.6%; right: 0px; bottom: 0px; height: 14%; background: url("/assets/pedra-escura.png") center center / 300px 80px; box-shadow: rgb(255, 214, 150) 0px -2px 8px; z-index: -1; }
.desktop-community::after { content: ""; position: absolute; left: 48.6%; bottom: 0px; width: 22.1vw; height: 5.8vw; background: url("/assets/jardim-comunidade.png") left bottom / contain no-repeat; mask-image: linear-gradient(90deg, transparent, rgb(0, 0, 0) 9%, rgb(0, 0, 0) 75%, transparent), linear-gradient(0deg, rgb(0, 0, 0) 65%, transparent); mask-composite: intersect; pointer-events: none; }
.map-card { margin: 1.63vw 1.56vw 4.69vw 0.33vw; box-shadow: rgba(92, 72, 35, 0.15) 0px 0.26vw 0.46vw; padding: 0.33vw; background: var(--cream); }
.map-card img { width: 100%; height: 10.94vw; object-fit: cover; }
.map-card span { display: flex; align-items: center; justify-content: space-between; padding: 1.3vw 0.65vw; font-size: 1.82vw; font-weight: 700; white-space: nowrap; }
.map-card .icon { width: 1.56vw; }
@media (max-width: 1024px){
.home-header { height: 15.3vw; min-height: 65px; padding: 1.5vw 5.5% 2.5vw 9%; gap: 2.4vw; background: rgb(7, 61, 50); }
.home-header .brand { gap: 2.4vw; }
.home-header .brand-symbol { width: 12vw; height: 9.5vw; padding: 1vw 3vw 1vw 0px; }
.home-header .brand-symbol img { width: 100%; max-width: 100%; }
.home-header .brand-name { font-size: 3.8vw; }
.home-header nav:not(.menu) { display: none; }
.home-header > .icon-button { margin-left: auto; }
.home-header > .icon-button .icon { width: 6vw; height: 6vw; }
.hero { height: 70.8vw; }
.hero-photo { inset: 0; width: 100%; height: 100%; mask-image: none; }
.hero h1 { left: 5.3%; top: 29.15vw; font-size: 5.7vw; line-height: 1.04; letter-spacing: -0.04em; max-width: 80%; }
.hero h1::after { width: 12vw; height: 0.4vw; margin-top: 2vw; }
.hero-scene::before { width: 10vw; height: 28vw; top: 15.3vw; opacity: 0.35; }
.quick-links { height: auto; grid-template-columns: 1fr 1fr; padding: 3.1vw 5.2% 4vw; gap: 3.6vw; }
.quick-links > a, .quick-links > a:nth-child(2) { margin: 0px; display: block; border-radius: 1.8vw; filter: none; box-shadow: rgba(89, 67, 43, 0.145) 0px 0.8vw 1.2vw; }
.quick-links img, .quick-links > a:nth-child(2) img { height: 26.5vw; width: 100%; border: 0.4vw solid rgb(248, 237, 217); border-radius: 1.8vw; object-fit: cover; }
.quick-links span { position: absolute; right: 0px; bottom: -1vw; min-width: 61%; padding: 3.8vw 2vw 2.4vw 5vw; font-size: 5.1vw; font-weight: 400; letter-spacing: -0.06em; border-radius: 0px 0px 1.8vw; clip-path: polygon(15% 15%, 100% 0px, 100% 100%, 0px 100%); background: rgb(250, 246, 237); }
.quick-links span .icon { display: none; }
.quick-links > a:last-child { grid-column: 1 / -1; margin-top: 0px; }
.quick-links > a:last-child img { width: 100%; height: 17vw; object-position: center; }
.quick-links > a:last-child span { min-width: 48%; padding: 4.8vw 2vw 3.4vw 5vw; }
.desktop-community { display: none !important; }
}
.bulletin-photo { overflow: hidden; }
@media (max-width: 1024px){
.bulletin-photo { height: 19vw; }
.bulletin-cover .bulletin-photo img { height: 100%; width: 100%; object-fit: cover; transform: scale(1.8); transform-origin: 50% 36%; }
.home-contact .contact-button::after, .site-footer::after, .bulletin::before { mix-blend-mode: lighten; mask-image: radial-gradient(rgb(0, 0, 0) 20%, transparent 70%); opacity: 0.7; }
.home-map > img { object-fit: cover; object-position: 60% center; }
.home-contact::after { content: ""; position: absolute; inset: auto 0px -1px; height: 6vw; background: url("/assets/contato-onda.svg") center center / 100% 100%; pointer-events: none; }
.home-contact { padding-bottom: 6vw; }
.home-map { padding-top: 1vw; }
.home-map .button { font-size: 2.5vw; }
.home-map p { font-size: 2.65vw; }
.agenda-state .button { font-size: 2.65vw; padding: 1.3vw 2.8vw; }
.agenda-state .button > .icon { width: 3.2vw; height: 3.2vw; }
.youth::before { clip-path: polygon(100% 0px, 0px 42%, 100% 89%); }
.meetings .kicker { font-size: 1.5vw; letter-spacing: 0.13em; }
.meetings p { font-size: 2.65vw; }
.meetings > div { max-width: 33vw; }
.meetings p { max-width: 29vw; }
}

@media (max-width:1024px) {
.home-community { isolation:isolate; }
.home-community::before { content:""; position:absolute; z-index:-1; top:0; right:0; width:44%; height:35vw; background: url('/assets/comunidade-transicao.svg') top right / 100% 100% no-repeat; pointer-events:none; }
.home-community h2 { font-weight:700; letter-spacing:-.045em; -webkit-text-stroke:0; }
.home-mosaic .photo:first-child img { transform:scale(1.22); transform-origin:50% 70%; }
.home-mosaic .photo:nth-child(2) img { transform:scale(1.12); transform-origin:50% 58%; }
.home-mosaic .photo:nth-child(3) img { transform:scale(1.3); transform-origin:65% 48%; }
}

@media (min-width:1025px) {
.home-page .services p { font-size:1.83vw; }
.home-page .empty-service > .icon { width:4.16vw; height:4.16vw; }
.home-page .agenda-watermark .icon { width:10vw; height:10vw; }
.home-page .bulletin > .wave { fill:var(--cream); }
.home-page .agenda { background:var(--cream); }
.home-page .home-contact { background:var(--deep); }
.home-page .agenda > .wave { fill:var(--deep); }
.home-page + .site-footer { background:var(--deep); }
.home-page + .site-footer > .wave { display:none; }
}
