:root { --green: #003d32; --deep: #00372d; --gold: #e6a03c; --line: #d7c9b7; --scale: calc(100vw / 1536); font-family: Georgia, "Times New Roman", serif; color: var(--ink); font-synthesis: none; }
* { box-sizing: border-box; }
body { margin: 0px; }
button, input, textarea, select { font: inherit; }
button, a, input, textarea, select { -webkit-tap-highlight-color: transparent; }
button, a { touch-action: manipulation; }
a { color: inherit; text-decoration: none; }
button { color: inherit; cursor: pointer; }
button:disabled { cursor: wait; opacity: 0.6; }
img { display: block; max-width: 100%; }
button { border: 0px; background: none; }
p { font-size: clamp(18px, 1.83vw, 30px); margin: 16px 0px 24px; color: var(--brown); }
h1, h2, h3 { font-weight: 400; line-height: 1.04; margin: 0px; letter-spacing: -0.045em; }
h1, h2 { font-size: clamp(42px, 4.7vw, 80px); }
h3 { font-size: 34px; letter-spacing: -0.025em; }
a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible, select:focus-visible { outline: rgb(233, 154, 25) solid 3px; outline-offset: 5px; }
.icon { width: 28px; height: 28px; vertical-align: middle; flex-shrink: 0; }
.mobile-only { display: none !important; }
.inner { width: 87%; max-width: 1600px; margin: auto; }
.section { position: relative; overflow: hidden; }
.section > .inner { position: relative; z-index: 1; }
.section.green { background: linear-gradient(var(--green), transparent 160px), radial-gradient(ellipse at 35% 30%,#074e40,var(--deep) 85%); color: var(--cream); }
.green p { color: var(--cream); }
.sand { background: var(--sand); }
.kicker { font: 700 clamp(12px, 1.12vw, 18px) / 1.2 Arial, sans-serif; letter-spacing: 0.24em; margin-bottom: 27px; }
.kicker::after, .gold-line { content: ""; display: block; width: 112px; height: 5px; background: linear-gradient(90deg, rgb(242, 165, 29), rgb(150, 124, 92)); margin-top: 20px; }
.wave { position: absolute; width: 100%; height: 100px; bottom: -1px; left: 0px; z-index: 2; pointer-events: none; fill: var(--cream); stroke: var(--gold); stroke-width: 1.3px; }
.wave .wave-fill { stroke:none; }
.wave .wave-line { fill:none; }
.wave.green { fill: var(--green); }
.wave.sand { fill: var(--sand); }
.wave.cream { fill: var(--cream); }
.split { display: grid; grid-template-columns: 1.15fr 1fr; gap: 9%; }
.button { display: inline-flex; gap: 18px; align-items: center; justify-content: center; border: 2px solid rgb(238, 151, 14); border-radius: 40px; padding: 16px 26px; font-size: 27px; line-height: 1.2; min-height: 48px; }
.button .icon { width: 22px; height: 22px; }
.button:hover { background: rgba(214, 146, 30, 0.09); }
.text-link { font-size: 30px; display: inline-block; margin: 25px 0px; }
.photo { display: block; padding: 0px; text-align: inherit; overflow: hidden; }
.photo img { width: 100%; height: 100%; object-fit: cover; }
.site-header { height: 104px; display: flex; align-items: center; padding: 15px 6%; color: rgb(255, 255, 255); position: relative; z-index: 10; border-radius: 0px 0px 0px 8% / 0px 0px 0px 45%; box-shadow: rgba(23, 44, 34, 0.094) 0px 6px 15px; }
.brand { display: inline-flex; align-items: center; gap: 20px; color: rgb(255, 255, 255); }
.brand-symbol { width: 80px; height: 75px; border-right: 1px solid rgb(165, 180, 167); padding: 8px 24px 8px 0px; display: flex; align-items: center; justify-content: center; }
.brand-symbol img { width: 100%; filter: brightness(0) invert(1); }
.brand-name { font-size: 30px; line-height: 0.95; letter-spacing: -0.025em; font-weight: 700; }
.site-header nav:not(.menu) { display: flex; margin-left: auto; font: 700 15px Arial, sans-serif; }
.icon-button { display: inline-flex; align-items: center; justify-content: center; min-width: 44px; min-height: 44px; padding: 6px; }
.icon-button .icon { width: 30px; height: 30px; }
.menu { position: absolute; right: 5%; top: 90%; padding: 18px; background: var(--cream); color: var(--ink); border: 1px solid var(--line); box-shadow: rgba(0, 0, 0, 0.2) 0px 12px 30px; border-radius: 12px; min-width: 240px; }
.menu a { display: block; font: 16px Arial, sans-serif; padding: 13px; border-radius: 4px; }
.menu a:hover { background: var(--sand); }
.skip { position: fixed; top: -100px; z-index: 1000; background: white; padding: 15px; }
.skip:focus { top: 0px; }
.history { min-height: 1024px; padding-top: 92px; padding-bottom: 160px; }
.history h2 { max-width: 1000px; }
.history .kicker::after { margin-top: 0px; position: absolute; top: 0px; }
.history .kicker { padding-top: 31px; margin-bottom: 22px; }
.timeline { margin: 55px 0px 0px 32px; border-left: 1px solid rgb(217, 155, 64); max-width: 600px; padding-left: 70px; }
.timeline > div { position: relative; }
.timeline > div::before { content: ""; position: absolute; border-radius: 50%; background: rgb(231, 187, 100); border: 11px solid var(--green); }
.timeline h3 { line-height: 1.15; }
.timeline p { font-size: 24px; }
.history-note { border-top: 1px solid rgb(185, 166, 138); padding-top: 24px; margin-right: 0px; margin-bottom: 0px; margin-left: 105px; max-width: 610px; color: var(--ink); }
.history-shape { position: absolute; }
.history-shape span { position: absolute; }
.messages { padding-right: 0px; padding-left: 0px; }
.messages h2 { margin-bottom: 10px; }
.messages .kicker { margin-bottom: 24px; }
.video-poster { height: 525px; margin-top: 48px; border-radius: 28px; border: 1px solid rgb(169, 154, 128); position: relative; overflow: hidden; box-shadow: rgba(0, 0, 0, 0.2) 0px 18px 40px; }
.video-poster > img { height: 100%; }
.video-poster > div { position: absolute; inset: 0px; display: flex; align-items: center; justify-content: center; flex-direction: column; }
.video-poster p { color: white; text-align: center; }
.play-circle { width: 124px; height: 124px; border: 2px solid white; border-radius: 50%; display: flex; align-items: center; justify-content: center; background: rgba(255, 255, 255, 0.07); }
.play-circle .icon { width: 42px; height: 42px; fill: currentcolor; }
.youtube-link { display: inline-flex; align-items: center; gap: 15px; border-bottom: 1px solid rgb(235, 163, 52); padding-top: 0px; padding-right: 4px; padding-left: 4px; color: var(--cream); }
.visit { padding-right: 0px; padding-bottom: 75px; padding-left: 0px; }
.visit .sanctuary-wide { width: 100%; height: 530px; object-fit: cover; }
.visit-address { display: flex; gap: 18px; align-items: center; font-size: 34px; }
.visit-address .icon { color: rgb(217, 143, 32); width: 18px; }
.visit-address small { display: none; }
.services { padding: 76px 0px 120px; }
.services .kicker { margin-bottom: 24px; }
.empty-service { border: 1px dashed rgb(174, 150, 118); display: flex; align-items: center; justify-content: center; flex-direction: column; text-align: center; padding-right: 35px; padding-bottom: 35px; padding-left: 35px; }
.empty-service > .icon { width: 64px; height: 64px; color: rgb(165, 140, 103); }
.empty-service p { margin-top: 35px; }
.bulletin { padding-right: 0px; padding-left: 0px; }
.bulletin-cover { background: rgb(250, 245, 232); box-shadow: rgba(0, 26, 20, 0.4) 0px 18px 30px; border: 14px solid rgb(234, 224, 206); justify-self: center; text-align: center; display: block; }
.bulletin-cover > span { line-height: 1; display: block; margin-bottom: 20px; }
.bulletin-cover img { width: 100%; object-fit: cover; }
.agenda { padding-right: 0px; padding-left: 0px; }
.agenda-watermark { position: absolute; width: 420px; height: 340px; border: 1px solid rgb(225, 213, 196); border-radius: 40px; transform: rotate(7deg); display: flex; align-items: center; justify-content: center; color: rgb(225, 213, 196); }
.agenda-watermark .icon { width: 170px; height: 170px; stroke-width: 1.2; }
.agenda-state { margin-top: 25px; }
.home-contact { padding-right: 0px; padding-bottom: 60px; padding-left: 0px; }
.home-contact h2 { white-space: nowrap; }
.home-contact p { max-width: 600px; }
.home-contact .contact-button { border: 1px solid var(--cream); background: none; color: var(--cream); border-radius: 18px; box-shadow: none; }
.home-contact .contact-button > svg, .home-contact .contact-button small { display: none; }
.home-contact .contact-buttons { gap: 12px; max-width: 550px; margin-top: 28px; }
.map-teaser { margin-top: 5px; align-self: start; border-radius: 24px; overflow: hidden; }
.map-teaser img { width: 100%; height: 320px; }
.site-footer { padding: 75px 7% 24px; background: var(--deep); color: var(--cream); position: relative; }
.site-footer > .wave { top: -65px; height: 75px; bottom: auto; }
.footer-top { display: flex; justify-content: space-between; align-items: center; border-bottom: 1px solid rgb(184, 183, 168); padding-bottom: 25px; }
.social { display: flex; gap: 20px; }
.social a { border: 1px solid; border-radius: 50%; padding: 9px; }
.site-footer nav { display: flex; gap: 25px; justify-content: center; margin: 20px 0px; }
.site-footer nav a + a { border-left: 1px solid; padding-left: 25px; }
.copyright { font-size: 16px; color: rgb(138, 162, 152); text-align: center; margin: 15px 0px; }
.community-intro { padding-right: 0px; padding-bottom: 38px; padding-left: 0px; }
.community-intro .inner p { max-width: 1140px; }
.community-hero { width: 91%; height: 530px; margin-right: auto; margin-bottom: 0px; margin-left: auto; border-radius: 26px; box-shadow: rgba(55, 39, 16, 0.2) 0px 15px 30px; }
.community-gallery { padding-right: 0px; padding-bottom: 110px; padding-left: 0px; }
.gallery-pair { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin-right: auto; margin-bottom: 10px; margin-left: auto; width: 91.5%; }
.gallery-pair .photo { height: 550px; border-radius: 22px; }
.youth { padding-right: 0px; padding-bottom: 115px; padding-left: 0px; min-height: 1024px; }
.youth-carousel { width: 91%; margin: auto; position: relative; }
.youth-main { width: 100%; height: 100%; border-radius: 22px; }
.youth-next, .carousel-back, .carousel-next { display: none; }
.login-main h1::before, .admin-main > h1::before { content: ""; display: block; width: 112px; height: 5px; background: linear-gradient(90deg, rgb(233, 160, 47), rgb(153, 133, 104)); margin-bottom: 28px; }
.contact-buttons { display: grid; gap: 20px; margin-top: 90px; }
.contact-button { border-radius: 18px; padding: 32px; display: flex; align-items: center; gap: 18px; background: var(--green); color: var(--cream); box-shadow: rgba(68, 43, 19, 0.106) 0px 10px 22px; border: 2px solid var(--green); min-height: 140px; }
.contact-button > .icon { height: 72px; width: 72px; }
.contact-button strong { display: block; line-height: 1.1; }
.contact-button small { display: block; margin-top: 5px; }
.contact-button.prayer { background: rgb(246, 238, 226); color: var(--green); }
.contact-button .end-arrow { display: none; }
.footer-motto { font: 13px Arial, sans-serif; letter-spacing: 0.4em; color: white; margin-bottom: 35px; }
.published { padding: 70px 0px 110px; }
.published h2 { font-size: 52px; margin-bottom: 35px; }
.public-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 340px), 1fr)); gap: 30px; margin: 40px 0px; }
.content-card { border: 1px solid var(--line); border-radius: 14px; padding: 24px; background: var(--cream); color: var(--ink); overflow: hidden; }
.content-card .photo { border-radius: 8px; height: 240px; margin-bottom: 20px; }
.content-card h3 { font-size: 32px; line-height: 1.1; overflow-wrap: anywhere; }
.content-card p { font-size: 20px; color: var(--brown); }
.content-card .record-date { font: 14px / 1.5 Arial, sans-serif; }
.content-card .button { font-size: 17px; padding: 12px 20px; margin: 5px 0px; }
.preserve { white-space: pre-wrap; overflow-wrap: anywhere; }
.status { display: inline-block; font: 13px Arial, sans-serif; border-radius: 20px; background: rgb(231, 236, 220); padding: 5px 12px; }
.album-images { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.album-images .photo { height: 180px; }
.record-actions { display: flex; flex-wrap: wrap; gap: 12px; }
.listing { min-height: 75vh; padding: 80px 0px 130px; }
.listing-empty { padding: 70px 30px; text-align: center; border: 1px dashed var(--line); border-radius: 20px; }
.listing-empty > .icon { height: 70px; width: 70px; color: rgb(172, 152, 120); }
.login-header { height: 200px; background: radial-gradient(ellipse at center,#004e3c,var(--deep)); padding: 45px 10.5%; position: relative; }
.login-header > .wave { height: 70px; stroke: none; }
.login-header .brand-symbol { width: 130px; height: 85px; }
.login-header .brand-name { font-size: 36px; line-height: 1; }
.login-main { max-width: 750px; margin: 130px auto 0px; }
.login-main h1 { font-weight: 700; color: rgb(8, 14, 12); white-space: nowrap; }
.login-main h1::before { width: 96px; height: 9px; margin-bottom: 24px; }
.login-main > p { font-size: 40px; line-height: 1.27; margin: 15px 0px 70px; }
.login-main label { display: block; font-size: 36px; color: rgb(9, 15, 11); margin: 48px 0px 16px; font-weight: 700; }
.input-icon { display: flex; align-items: center; gap: 30px; border: 2px solid rgb(178, 173, 165); border-radius: 18px; min-height: 110px; padding: 18px 35px; background: rgba(255, 255, 255, 0.125); color: rgb(118, 111, 104); }
.input-icon > .icon { width: 50px; height: 50px; }
.input-icon input { border: 0px; background: none; min-width: 0px; flex: 1 1 0%; width: 100%; font-size: 36px; color: var(--ink); outline-offset: 8px; }
.input-icon button { border-left: 1px solid rgb(211, 203, 191); padding-left: 30px; }
.input-icon button .icon { width: 48px; height: 48px; }
.login-submit { width: 100%; padding: 25px; background: var(--green); color: var(--cream); border-radius: 18px; font-size: 44px; margin-top: 30px; display: flex; gap: 25px; justify-content: center; }
.back-site { display: block; padding: 35px 0px; border-top: 1px solid var(--line); text-align: center; font-size: 30px; margin-top: 50px; }
.login-bottom { height: 200px; margin-top: 60px; }
.admin-header { border-radius: 0px; box-shadow: none; gap: 20px; }
.panel-name { margin-left: auto; font-size: 26px; border-right: 1px solid white; padding-right: 30px; }
.admin-tabs { display: flex; justify-content: center; border-bottom: 1px solid rgb(227, 216, 201); padding: 20px 4% 0px; overflow-x: auto; gap: 10px; }
.admin-tabs button { display: flex; align-items: center; gap: 16px; padding: 10px 25px 22px; font-size: 24px; white-space: nowrap; border-bottom: 4px solid transparent; }
.admin-tabs button.active { border-color: var(--green); color: var(--green); }
.admin-tabs button .icon { width: 36px; height: 36px; }
.admin-main { max-width: 1336px; width: 90%; margin: 35px auto 100px; }
.admin-main > h1 { font-weight: 700; font-size: 60px; color: rgb(6, 12, 10); }
.admin-main > h1::before { height: 8px; width: 92px; margin-bottom: 22px; }
.admin-main > p { font-size: 30px; margin-bottom: 40px; }
.admin-section { border-bottom: 1px solid rgb(219, 208, 189); padding: 0px 0px 28px; margin-bottom: 28px; }
.admin-section-heading { display: flex; gap: 25px; align-items: center; margin: 0px 10px 20px; }
.admin-section-heading > .icon { width: 50px; height: 50px; }
.admin-section-heading h2 { font-weight: 700; font-size: 36px; color: rgb(8, 14, 11); }
.admin-section-heading p { font-size: 22px; margin: 8px 0px 0px; }
.solid-button { display: inline-flex; align-items: center; justify-content: center; gap: 15px; padding: 16px 22px; background: var(--green); color: var(--cream); border-radius: 12px; font-size: 24px; min-height: 48px; }
.admin-section-heading > .solid-button { margin-left: auto; white-space: nowrap; }
.admin-rows { border: 1px solid rgb(216, 209, 200); border-radius: 18px; overflow: hidden; background: rgba(255, 255, 255, 0.42); }
.admin-row { display: flex; gap: 24px; align-items: center; padding: 15px 20px; border-bottom: 1px solid rgb(226, 219, 209); }
.admin-row:last-child { border-bottom: 0px; }
.row-thumbnail { width: 110px; height: 85px; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.row-thumbnail > img { width: 100%; height: 100%; object-fit: cover; border-radius: 10px; }
.row-thumbnail > .icon { width: 58px; height: 58px; }
.row-info { flex: 1 1 0%; min-width: 0px; }
.row-info h3 { font-size: 28px; color: rgb(8, 14, 12); letter-spacing: -0.03em; overflow-wrap: anywhere; line-height: 1.15; margin-bottom: 8px; }
.row-info small { font: 14px Arial, sans-serif; display: block; margin-top: 7px; }
.badge { display: inline-block; font-size: 20px; padding: 4px 12px; border-radius: 8px; }
.badge.published { background: rgb(220, 239, 213); color: rgb(7, 86, 35); }
.badge.draft { background: rgb(234, 232, 228); color: rgb(85, 85, 85); }
.admin-row > button { background: rgb(245, 242, 238); border-radius: 12px; display: flex; flex-direction: column; align-items: center; gap: 5px; padding: 12px 30px; font-size: 20px; }
.danger { background: rgb(255, 235, 234) !important; color: rgb(167, 23, 12) !important; }
.admin-empty { font-size: 20px; padding: 30px; margin: 0px; }
.settings-form { max-width: 800px; }
.settings-form h2 { font-size: 38px; }
.settings-form label, #editor-form label { display: block; font: 600 16px / 1.4 Arial, sans-serif; margin: 16px 0px 8px; }
.settings-form input, #editor-form input, #editor-form textarea, #editor-form select { display: block; width: 100%; padding: 12px 14px; border: 1px solid rgb(170, 163, 147); background: rgb(255, 253, 248); color: var(--ink); border-radius: 8px; margin-top: 8px; font: 17px / 1.4 Arial, sans-serif; }
.form-error { font: 16px / 1.5 Arial, sans-serif; min-height: 22px; margin: 16px 0px; color: rgb(161, 40, 25) !important; }
.form-columns { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.form-actions { display: flex; gap: 15px; justify-content: flex-end; margin-top: 25px; }
.form-actions .button, .form-actions .solid-button { font-size: 18px; border-radius: 8px; }
.checkbox { gap: 12px; align-items: center; display: flex !important; }
.checkbox input { height: 20px; width: 20px !important; margin: 0px !important; }
dialog { border: 1px solid var(--line); border-radius: 18px; background: var(--cream); color: var(--ink); padding: 28px; max-width: min(760px, 94vw); width: 760px; max-height: 90vh; }
dialog::backdrop { background: rgba(0, 31, 24, 0.72); backdrop-filter: blur(3px); }
dialog h2 { font-size: 32px; }
.modal-heading { display: flex; justify-content: space-between; align-items: center; gap: 20px; }
.modal-heading h2 { font-weight: 700; }
.file-entry { display: flex; gap: 12px; align-items: center; margin: 16px 0px; border: 1px solid var(--line); padding: 10px; border-radius: 8px; font: 14px Arial, sans-serif; }
.file-entry > img { width: 70px; height: 70px; object-fit: cover; border-radius: 4px; }
.file-entry > div { flex: 1 1 0%; overflow-wrap: anywhere; min-width: 0px; }
.file-entry label { font-size: 13px !important; }
.lightbox { position: relative; }
.lightbox > .icon-button { position: absolute; right: 0px; top: 0px; background: var(--cream); border-radius: 50%; }
.lightbox img { max-height: 72vh; width: 100%; object-fit: contain; }
.lightbox p { font-size: 18px; text-align: center; margin-bottom: 0px; }
#toast { position: fixed; z-index: 100; left: 50%; bottom: 24px; transform: translate(-50%, 20px); background: rgb(7, 61, 49); color: white; padding: 14px 24px; border: 1px solid rgb(238, 227, 208); border-radius: 10px; box-shadow: rgba(0, 0, 0, 0.2) 0px 4px 20px; max-width: 90vw; width: max-content; opacity: 0; pointer-events: none; transition: 0.2s; font: 16px / 1.5 Arial, sans-serif; }
#toast.show { opacity: 1; transform: translate(-50%, 0px); }
.loading { padding: 60px; text-align: center; }
@media (min-width: 1025px) and (max-width: 1350px){
.brand-name { font-size: 25px; }
.site-header { gap: 14px; }
.bulletin-cover { width: 330px; }
.home-contact h2 { font-size: 48px; }
}
@media (max-width: 1024px){
:root { --scale: calc(100vw / 941); }
.desktop-only { display: none !important; }
.mobile-only { display: block !important; }
h1, h2 { font-size: clamp(28px, 6.7vw, 64px); line-height: 1.02; }
h3 { font-size: 24px; }
p { font-size: clamp(16px, 3.45vw, 32px); line-height: 1.25; margin: 10px 0px 16px; }
.inner { width: 86.5%; }
.kicker::after { max-width: 110px; }
.button { font-size: clamp(14px, 2.95vw, 28px); padding: 9px 15px; gap: 12px; border-width: 1px; min-height: 40px; }
.button .icon { width: 20px; height: 20px; }
.wave { height: 45px; }
.split { display: block; }
.site-header { gap: 5px; background: radial-gradient(at 40% 50%, rgb(0, 70, 52), rgb(0, 55, 46)); box-shadow: none; }
.brand-symbol { width: clamp(45px, 11.5vw, 105px); height: clamp(40px, 9.6vw, 90px); padding: 3px 12px 3px 0px; }
.brand-name { font-size: clamp(16px, 3.8vw, 35px); line-height: 0.96; font-weight: 400; letter-spacing: -0.02em; }
.site-header nav:not(.menu) { display: none; }
.site-header > #menu-button { margin-left: auto; }
.site-header > #menu-button .icon { width: clamp(28px, 6vw, 55px); height: clamp(28px, 6vw, 55px); }
.menu { right: 4%; min-width: 220px; }
.menu a { font-size: 16px; }
.history { min-height: 0px; }
.history h2 { max-width: none; }
.timeline { margin: 20px 0px 0px 9%; padding-left: 10%; border-color: rgb(202, 145, 66); }
.timeline h3 { font-weight: 400; letter-spacing: -0.02em; }
.timeline p { font-size: 16px; }
.home-mosaic { width: 92.5%; margin-right: auto; margin-bottom: 0px; margin-left: auto; display: grid; grid-template-columns: 1.1fr 1fr; }
.home-mosaic .photo { border-radius: 10px; height: 30vw; }
.home-mosaic .photo:first-child { grid-column: 1 / -1; }
.gallery-link { display: flex; justify-content: space-between; align-items: center; margin-right: 6.7%; margin-bottom: 0px; margin-left: 6.7%; }
.gallery-link span, .round-link { background: var(--green); color: white; border-radius: 50%; display: flex; align-items: center; justify-content: center; width: 30px; height: 30px; }
.gallery-link span .icon, .round-link .icon { width: 18px; height: 18px; }
.messages > .inner { width: 92.5%; }
.messages .kicker, .messages h2, .messages .inner > p { margin-left: 8%; margin-right: 8%; }
.video-poster { height: 38vw; margin-top: 15px; border-radius: 10px; box-shadow: none; }
.play-circle { min-width: 40px; min-height: 40px; border-width: 1px; }
.play-circle .icon { width: 25px; height: 25px; }
.youtube-link { margin-right: 3%; margin-bottom: 5px; }
.youtube-link .icon { width: 22px; height: 22px; }
.visit p { margin-top: 8px; }
.visit .sanctuary-wide { width: 92.5%; margin-right: auto; margin-bottom: 0px; margin-left: auto; border-radius: 10px; }
.visit .inner { display: contents; }
.visit .inner > .kicker, .visit h2, .visit .inner > p { margin-left: 6.7%; margin-right: 6.7%; }
.visit-address { position: relative; }
.visit-address small { display: block; font-weight: 400; }
.visit { display: flex; flex-direction: column; }
.visit-address { order: 2; }
.visit > .wave { display: none; }
.services { border-radius: 35% 30% 0px 0px / 6% 4% 0px 0px; }
.empty-service { border-radius: 0px; }
.empty-service > .icon, .empty-icon .icon { width: 62px; height: 62px; border: 1px dashed rgb(155, 130, 98); border-radius: 50%; padding: 16px; color: rgb(149, 130, 105); }
.empty-service p .mobile-only { display: inline !important; }
.services > .wave { stroke: none; }
.bulletin .kicker { white-space: nowrap; letter-spacing: 0.12em; }
.bulletin .kicker::after { margin-top: 7px; }
.bulletin .button { white-space: nowrap; }
.bulletin-cover { align-self: center; }
.bulletin .wave { height: 28px; stroke: none; }
.agenda-watermark { border-radius: 18px; transform: rotate(-12deg); }
.agenda-state { text-align: center; }
.agenda-state .empty-icon { margin: 5px auto; }
.home-contact { color: rgb(8, 15, 12) !important; }
.home-contact h2 { white-space: normal; }
.home-contact .kicker { font-size: 0px; letter-spacing: 0px; }
.home-contact .kicker::after { width: 40px; margin-top: 0px; }
.home-contact p { color: var(--brown); }
.home-contact p .mobile-only { display: inline !important; }
.home-contact .contact-buttons { max-width: none; }
.home-contact .contact-button { border: 0px; }
.home-contact .contact-button > svg { display: block; }
.home-contact .contact-button small { display: block; margin-top: 2px; }
.home-contact .contact-button .end-arrow { margin-left: auto; }
.home-map { display: grid !important; }
.home-map h2::before { content: ""; display: block; width: 40px; height: 3px; background: var(--gold); margin-bottom: 8px; }
.home-map p { margin: 5px 0px 8px; }
.home-map > img { width: 100%; border-radius: 8px; align-self: center; }
.home-map .button { gap: 5px; }
.site-footer > .wave { stroke: none; }
.social { gap: 7px; }
.site-footer nav { gap: 8px; flex-wrap: wrap; }
.site-footer nav a { font-size: clamp(10px, 1.8vw, 17px); }
.site-footer nav a + a { padding-left: 8px; }
.copyright { margin: 7px 0px; color: rgb(120, 150, 139); }
.community-hero { margin-right: 0px; margin-bottom: 0px; margin-left: 0px; box-shadow: none; }
.community-feature { width: 91.5%; margin-right: auto; margin-left: auto; border-bottom: 1px solid var(--line); display: grid !important; }
.community-feature .photo { border-radius: 9px; }
.community-feature > div { position: relative; }
.community-feature .kicker { letter-spacing: 0.08em; }
.community-feature .kicker::after { width: 40px; margin-top: 7px; height: 2px; }
.community-feature h2 { line-height: 0.96; }
.round-link { margin-left: auto; }
.gallery-pair { width: 91.5%; }
.gallery-pair .photo { border-radius: 8px; }
.youth { color: var(--ink) !important; }
.youth p { color: var(--brown); }
.youth-carousel { width: 91.5%; display: grid; }
.youth-main, .youth-next { display: block; border-radius: 9px; height: 100%; min-width: 0px; }
.carousel-back, .carousel-next { position: absolute; display: flex; align-items: center; justify-content: center; border-radius: 50%; background: var(--cream); box-shadow: rgba(0, 0, 0, 0.133) 0px 2px 3px; }
.dots { justify-content: center; display: flex !important; }
.dots > * { background: rgb(221, 212, 200); border-radius: 2px; }
.dots > b, .dots > .selected { background: rgb(227, 142, 0); }
.dots:has(.selected) > b:not(.selected) { background: rgb(221, 212, 200); }
.youth > .wave { display: none; }
.meetings { position: relative; display: grid !important; }
.meetings .kicker { letter-spacing: 0.06em; }
.meetings > img { position: absolute; }
.published { padding: 30px 0px 65px; }
.published h2 { font-size: 30px; }
.contact-button { box-shadow: none; border-width: 1px; }
.listing { padding: 35px 0px 65px; min-height: 75vh; }
.public-grid { gap: 16px; margin: 25px 0px; grid-template-columns: 1fr; }
.content-card { padding: 18px; }
.content-card h3 { font-size: 26px; }
.content-card p { font-size: 17px; }
.content-card .photo { height: 55vw; }
.content-card .album-images .photo { height: 30vw; }
.listing-empty { padding: 35px 15px; }
.listing-empty > .icon { width: 50px; height: 50px; }
.service-results .content-card { margin: 15px 0px; }
.login-header { height: 21vw; padding: 5vw 10.5%; }
.login-header > .wave { height: 4.5vw; }
.login-header .brand-symbol { width: 14vw; height: 9vw; padding-right: 13px; }
.login-main { max-width: 750px; margin-bottom: 0px; }
.login-main h1 { line-height: 1.1; }
.login-main h1::before { width: 10.3vw; margin-bottom: 12px; }
.login-main > p { margin: 5px 0px 7vw; }
.login-main label { margin-right: 0px; margin-bottom: 9px; margin-left: 0px; }
.input-icon { border-width: 1px; border-radius: 9px; min-height: 12vw; padding: 10px 4.5vw; gap: 4vw; }
.input-icon button { padding-left: 3vw; }
.login-submit { border-radius: 9px; }
.login-main .form-error { font-size: 14px; min-height: 0px; margin: 10px 0px 0px; }
.back-site { font-size: 3.8vw; padding: 4vw 0px; margin-top: 5.5vw; }
.panel-name { font-size: clamp(12px, 2.7vw, 25px); padding-right: 15px; margin-left: auto; white-space: nowrap; }
.admin-header .icon-button { min-width: 32px; width: 32px; padding: 2px; }
.admin-header .icon-button .icon { width: 28px; height: 28px; }
.admin-tabs button { border-bottom-width: 2px; }
.admin-tabs button:first-child { padding-left: 0px; }
.admin-main { width: 92.5%; margin-right: auto; margin-bottom: 60px; margin-left: auto; }
.admin-main > h1 { margin-left: 2.4%; }
.admin-main > h1::before { width: 45px; height: 5px; margin-bottom: 11px; }
.admin-main > p { margin-right: 2.4%; margin-left: 2.4%; }
.admin-section-heading { margin-top: 0px; margin-right: 5px; margin-left: 5px; }
.admin-section-heading > .icon { width: clamp(23px, 5vw, 46px); height: clamp(23px, 5vw, 46px); }
.admin-section-heading h2 { font-weight: 700; }
.admin-section-heading p { margin-top: 4px; }
.solid-button { padding: 10px 13px; gap: 8px; border-radius: 7px; font-size: clamp(14px, 2.8vw, 26px); min-height: 38px; }
.solid-button .icon { width: 22px; height: 22px; }
.admin-section-heading > .solid-button { font-size: clamp(11px, 2.7vw, 25px); }
.admin-section-heading > .solid-button .icon { width: 18px; height: 18px; }
.admin-rows { border-radius: 10px; }
.row-thumbnail { width: 12vw; height: 9vw; max-height: 85px; max-width: 110px; }
.row-thumbnail img { border-radius: 5px; }
.row-thumbnail > .icon { width: 35px; height: 35px; }
.row-info h3 { font-size: clamp(15px, 3vw, 28px); margin-bottom: 4px; }
.row-info small { font-size: 11px; margin-top: 4px; }
.badge { font-size: clamp(12px, 2.2vw, 20px); padding: 2px 6px; border-radius: 5px; }
.admin-row > button { border-radius: 7px; font-size: clamp(11px, 2.25vw, 21px); }
.admin-empty { padding: 18px; font-size: 16px; line-height: 1.4; }
.settings-form { padding: 0px 3%; }
.settings-form h2 { font-size: 28px; }
.settings-form p { font-size: 17px; }
dialog { padding: 20px; }
dialog h2 { font-size: 26px; }
.form-columns { gap: 12px; }
.form-actions { gap: 10px; }
.form-actions .button, .form-actions .solid-button { font-size: 15px; padding: 12px; }
.confirm-delete p { font-size: 18px; }
}
@media (max-width: 380px){
.brand-name { font-size: 16px; }
.site-header { padding-left: 6%; }
.admin-section-heading { gap: 6px; }
.admin-section-heading > .icon { display: none; }
.admin-row { gap: 7px; }
.admin-row > button { padding: 7px 9px; }
.panel-name { display: none; }
.admin-header > .icon-button { margin-left: auto; }
.input-icon input { font-size: 16px; }
.login-main label { font-size: 17px; }
.login-main > p { font-size: 17px; }
.timeline > div::before { left: calc(2px - 11vw); }
}
@media (prefers-reduced-motion: reduce){
* { scroll-behavior: auto !important; transition: none !important; }
}
:root { --cream: #faf7ef; --sand: #f0e3d1; --brown: #655044; --ink: #092f2b; }
h1, h2 { letter-spacing: -0.055em; }
p { line-height: 1.27; }
.community-brand { display: none; }
.mobile-calendar { display: none; }
.site-header .brand-name { font-weight: 400; font-size: 28px; }
.site-header .brand-symbol { width: 80px; height: 67px; padding-right: 28px; }
.site-header { gap: 14px; }
.site-header nav:not(.menu) { gap: 34px; }
.site-header > .icon-button { margin-left: 0px; }
.history h2 { font-size: 76px; line-height: 1.03; }
.history .timeline { margin-top: 56px; }
.timeline > div { padding: 70px 0px 28px; min-height: 200px; }
.timeline h3 { font-size: 34px; }
.timeline > div::before { box-sizing: border-box; width: 34px; height: 34px; left: -88px; top: 10px; }
.history-note { margin-top: 0px; font-size: 28px; }
.history-shape span { font-size: 310px; left: 290px; top: 240px; transform: rotate(31deg); opacity: 0.06; }
.messages { padding-top: 81px; padding-bottom: 121px; min-height: 1024px; }
.messages h2 { font-size: 72px; }
.messages .inner > p { margin-top: 12px; }
.messages .video-poster { margin-top: 48px; height: 525px; }
.video-poster > div { background: linear-gradient(transparent 38%, rgba(0, 0, 0, 0.145)); }
.video-poster p { font-size: 52px; letter-spacing: -0.035em; }
.youtube-link { font-size: 27px; margin-top: 15px; padding-bottom: 8px; }
.messages > .wave .wave-fill { d: path("M 0 3 C 250 73 445 -21 760 17 S 1190 -8 1536 38 V 100 H 0 Z"); }

.messages > .wave .wave-line { d: path("M 0 3 C 250 73 445 -21 760 17 S 1190 -8 1536 38"); }
.visit { padding-top: 90px; min-height: 1024px; }
.visit h2 { font-size: 76px; }
.visit .kicker { margin-bottom: 22px; }
.visit p { margin-top: 14px; }
.visit .sanctuary-wide { margin-top: 42px; object-position: center 57%; }
.visit-address { margin-top: 27px; }
.visit > .wave .wave-fill { d: path("M 0 18 C 250 -45 500 65 790 30 S 1250 -32 1536 15 V 100 H 0 Z"); }

.visit > .wave .wave-line { d: path("M 0 18 C 250 -45 500 65 790 30 S 1250 -32 1536 15"); }
.services { min-height:36.5vw; padding-top:4.9vw; padding-bottom:7vw; }
.services h2 { font-size:4.42vw; white-space:nowrap; }
.services .inner > div:first-child > p { max-width: 650px; }
.empty-service { min-height: 340px; border-radius: 48%; padding-top: 50px; }
.services .split { gap:8%; grid-template-columns:1.25fr 1fr; }
.services > .wave { height: 62px; }
.services > .wave .wave-fill { d: path("M 0 38 C 260 -4 540 65 800 50 S 1220 -2 1536 34 V 100 H 0 Z"); }

.services > .wave .wave-line { d: path("M 0 38 C 260 -4 540 65 800 50 S 1220 -2 1536 34"); }
.bulletin { min-height: 464px; padding-top: 70px; padding-bottom: 75px; }
.bulletin h2 { font-size: 64px; max-width: 530px; }
.bulletin p { max-width: 510px; font-size: 28px; line-height: 1.25; }
.bulletin-cover { color: var(--ink); width: 400px; height: 370px; margin-top: -65px; transform: rotate(-9deg); padding: 23px 22px 18px; }
.bulletin-cover img { height: 200px; object-position: center 65%; }
.bulletin-cover > span { font-size: 32px; }
.bulletin > .wave { height: 43px; }
.bulletin > .wave .wave-fill { d: path("M 0 30 C 250 -20 470 25 770 13 S 1220 43 1536 5 V 100 H 0 Z"); }

.bulletin > .wave .wave-line { d: path("M 0 30 C 250 -20 470 25 770 13 S 1220 43 1536 5"); }
.agenda { min-height: 557px; padding-top: 94px; padding-bottom: 83px; }
.agenda h2 { font-size: 70px; }
.agenda-watermark { top:0; right:0; width:24vw; height:20vw; }
.agenda > .wave { height: 61px; }
.agenda > .wave .wave-fill { d: path("M 0 30 C 230 -11 540 42 790 27 S 1280 -8 1536 17 V 100 H 0 Z"); }

.agenda > .wave .wave-line { d: path("M 0 30 C 230 -11 540 42 790 27 S 1280 -8 1536 17"); }
.home-contact { padding-top: 72px; }
.home-contact .contact-button { min-height: 70px; padding: 15px 28px; }
.home-contact .contact-button strong { font-weight: 400; font-size: 29px; }
.home-contact .contact-button strong::after { content: " →"; margin-left: 12px; }
.home-contact h2 { font-size: 60px; }
.home-contact .map-teaser { margin-top: 4px; }
.home-contact .split { grid-template-columns: 1.4fr 1fr; gap: 10%; }
.map-teaser img { object-fit: cover; }
.community-intro { padding-top: 46px; }
.community-intro h1 { font-size: 80px; }
.community-intro .kicker { margin-bottom: 23px; }
.community-intro p { margin-top: 16px; }
.community-hero { margin-top: 75px; object-position: center center; }
.community-hero img { object-position: center 55%; }
.community-gallery { padding-top: 80px; min-height: 1024px; }
.community-gallery h2 { font-size: 70px; }
.gallery-pair { margin-top: 15px; }
.gallery-pair .photo:first-child img { object-position: 50% 55%; }
.gallery-pair .photo:last-child img { object-position: 50% 48%; }
.community-gallery > .wave { height: 114px; }
.community-gallery > .wave .wave-fill { d: path("M 0 60 C 270 -25 530 65 800 40 S 1260 -27 1536 10 V 100 H 0 Z"); }

.community-gallery > .wave .wave-line { d: path("M 0 60 C 270 -25 530 65 800 40 S 1260 -27 1536 10"); }
.youth { padding-top: 90px; }
.youth h2 { font-size: 76px; }
.youth .inner > p { margin-bottom: 2px; }
.youth-carousel { height: 540px; }
.youth-main img { object-position: center 52%; }
.youth > .wave { height: 105px; }
.youth > .wave .wave-fill { d: path("M 0 40 C 250 -34 540 65 810 29 S 1220 -23 1536 25 V 100 H 0 Z"); }

.youth > .wave .wave-line { d: path("M 0 40 C 250 -34 540 65 810 29 S 1220 -23 1536 25"); }
.contact-button strong { font-size: 34px; }
.contact-button small { font-size: 24px; }
.site-footer .brand-name { font-weight: 400; }
.login-header .brand-name { font-weight: 400; }
.login-main h1 { font-size: 86px; }
.login-header > .wave .wave-fill { d: path("M 0 0 C 400 110 600 15 900 50 S 1300 100 1536 32 V 100 H 0 Z"); }

.login-header > .wave .wave-line { d: path("M 0 0 C 400 110 600 15 900 50 S 1300 100 1536 32"); }
.login-bottom { border-radius: 35% 55% 0px 0px; background: linear-gradient(rgba(239, 226, 211, 0.333), rgba(239, 226, 211, 0.333)) 0% 0% / auto, url("/assets/papel-superficie.png") 0% 0% / 500px 120px; }
@media (max-width: 1024px){
body { color: rgb(8, 31, 30); }
p { color: rgb(85, 73, 62); }
h1, h2 { color: rgb(7, 28, 27); font-weight: 700; letter-spacing: -0.065em; }
.green h2, .green h1 { color: var(--cream); }
.section:not(.green) { background-color: rgba(250, 247, 239, 0.79); }
.kicker { font-weight: 500; letter-spacing: 0.13em; font-size: 2.1vw; margin-bottom: 1.8vw; }
.kicker::after { height: 0.5vw; margin-top: 1.3vw; width: 10vw; }
.site-header { height: 15.3vw; min-height: 65px; border-radius: 0px 0px 0px 20% / 0px 0px 0px 65%; padding: 1.5vw 5.5% 2.5vw 9%; }
.site-header .brand-name { font-size: 3.8vw; }
.site-header .brand-symbol { width: 12vw; height: 9.5vw; padding-right: 3vw; }
.site-header > .icon-button { margin-left: auto; }
.brand { gap: 2.4vw; }
.history { padding: 4.8vw 0px 5vw; }
.history .kicker { padding-top: 3.4vw; margin-bottom: 3vw; font-family: Georgia, serif; font-size: 3.3vw; letter-spacing: 0.08em; }
.history .kicker::after { height: 0.7vw; width: 14vw; }
.history .timeline { padding-left: 10%; }
.timeline > div { padding: 3vw 0px 4vw; min-height: 15vw; }
.timeline h3 { font-size: 4.4vw; line-height: 1.12; }
.timeline > div::before { width: 4.2vw; height: 4.2vw; border-width: 1.35vw; left: calc(-11.3vw); top: 3vw; }
.history-note { font-size: 3.7vw; line-height: 1.22; margin-top: 1vw; margin-right: 32%; margin-bottom: 0px; padding-top: 2vw; min-width: 65%; }
.history-shape { background-repeat: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: rgba(224, 207, 182, 0.49); }
.history-shape span { font-size: 28vw; top: 30%; left: 25%; opacity: 0.1; transform: rotate(15deg); }
.history > .wave { fill: rgb(250, 247, 239); stroke: none; }
.home-community { padding: 3vw 0px 4vw; }
.home-community h2 { font-size: 6.7vw; line-height: 0.98; }
.home-community p { font-size: 3.55vw; line-height: 1.22; margin: 1vw 0px 2vw; }
.home-mosaic { margin-top: 1vw; gap: 1vw; }
.home-mosaic .photo:first-child { height: 35vw; clip-path: polygon(0px 7%, 100% 0px, 100% 100%, 0px 100%); }
.home-mosaic .photo:first-child img { object-position: center 52%; }
.home-mosaic .photo:not(:first-child) { height: 30vw; }
.home-mosaic .photo:nth-child(2) { clip-path: polygon(0px 0px, 100% 0px, 91% 100%, 0px 100%); }
.home-mosaic .photo:nth-child(3) { margin-left: -7%; width: 107%; clip-path: polygon(10% 0px, 100% 0px, 100% 100%, 0px 100%); }
.gallery-link { font-size: 3.8vw; font-weight: 400; margin-top: 1.5vw; position: relative; padding-bottom: 1.8vw; }
.gallery-link::after { content: ""; position: absolute; width: 9vw; height: 0.5vw; background: linear-gradient(90deg, rgb(239, 157, 24), rgb(147, 129, 106)); bottom: 0px; left: 0px; }
.gallery-link span { width: 5.5vw; height: 5.5vw; }
.gallery-link .icon { width: 3vw; height: 3vw; }
.messages { padding-top: 5vw; padding-right: 0px; padding-left: 0px; min-height: 0px; border-radius: 27% 0px 0px / 6% 0px 0px; }
.messages h2 { font-size: 5.7vw; line-height: 1; letter-spacing: -0.04em; margin-bottom: 1vw; }
.messages .kicker { margin-bottom: 1.5vw; }
.messages .inner > p { font-size: 3.15vw; line-height: 1.05; margin-top: 1vw; margin-bottom: 3vw; }
.messages .video-poster { height: 38vw; margin-top: 3vw; border-radius: 2vw; }
.video-poster > img { object-fit: fill; }
.video-poster p { font-size: 4vw; margin: 1.5vw 0px; }
.play-circle { width: 9vw; height: 9vw; }
.youtube-link { font-size: 2.7vw; margin-top: 3vw; margin-left: 3%; padding-bottom: 0.7vw; gap: 1.5vw; }
.messages::before { content: ""; position: absolute; right: -12%; top: -6%; width: 75%; height: 16%; border-radius: 50%; background: url("/assets/papel-superficie.png") rgba(119, 154, 125, 0.2); background-blend-mode: soft-light; transform: rotate(9deg); opacity: 0.45; }
.messages .wave { height: 5vw; stroke: rgb(211, 162, 89); stroke-width: 0.5px; }
.messages > .wave .wave-fill { d: path("M 0 30 C 250 100 600 15 900 5 S 1300 -30 1536 40 V 100 H 0 Z"); }

.messages > .wave .wave-line { d: path("M 0 30 C 250 100 600 15 900 5 S 1300 -30 1536 40"); }
.visit { padding: 3vw 0px; min-height: 0px; }
.visit h2 { font-size: 6.4vw; line-height: 1; }
.visit .kicker { margin-bottom: 1.5vw; }
.visit .inner > p { font-size: 3.35vw; line-height: 1.12; margin-top: 1.3vw; margin-bottom: 1.6vw; }
.visit .sanctuary-wide { margin-top: 1vw; height: 42vw; }
.visit-address { font-size: 4vw; margin: 2vw 6.7% 1vw; gap: 1.6vw; }
.visit-address small { font-size: 2.8vw; }
.visit-address .icon { width: 3.4vw; height: 4.2vw; fill: rgb(231, 162, 59); stroke: rgb(255, 248, 232); }
.services { padding-right: 0px; padding-left: 0px; min-height: 0px; background: linear-gradient(rgba(250, 247, 239, 0.6), rgba(250, 247, 239, 0.6)), url("/assets/papel-superficie.png") !important; }
.services h2 { font-size: 6.4vw; }
.services .kicker { margin-bottom: 1.5vw; }
.services p { font-size: 3.25vw; line-height: 1.12; max-width: 77%; }
.services .split { display: block; }
.empty-service { min-height: 0px; border: 0px; padding: 0px; max-width: 70%; margin-right: auto; margin-bottom: 0px; margin-left: auto; }
.empty-service > .icon { width: 13vw; height: 13vw; padding: 3.4vw; }
.empty-service p { line-height: 1.15; max-width: 100%; margin-top: 1.8vw; margin-bottom: 1.8vw; }
.empty-service::after { content: ""; width: 4.5vw; height: 0.5vw; border-radius: 1vw; background: linear-gradient(90deg, rgb(255, 189, 104), rgb(220, 132, 0)); margin-top: 0.5vw; }
.services > .wave { height: 6vw; }
.services > .wave .wave-fill { d: path("M 0 20 C 230 -20 600 100 920 70 S 1280 40 1536 5 V 100 H 0 Z"); }

.services > .wave .wave-line { d: path("M 0 20 C 230 -20 600 100 920 70 S 1280 40 1536 5"); }
.bulletin { padding: 4vw 0px 6vw; min-height: 0px; }
.bulletin .inner { width: 84%; }
.bulletin .split { display: grid; }
.bulletin h2 { font-size: 5.9vw; line-height: 0.98; letter-spacing: -0.055em; }
.bulletin p { font-size: 3vw; line-height: 1.1; margin: 1.4vw 0px 2vw; }
.bulletin .kicker { font-size: 2vw; margin-bottom: 1.6vw; }
.bulletin .button { font-size: 2.8vw; padding: 1.4vw 2.5vw; min-height: 0px; gap: 2vw; }
.bulletin-cover { width: 100%; margin: 0px -1vw 0px 0px; border: 0.8vw solid rgb(242, 234, 221); color: var(--ink); position: relative; z-index: 1; }
.bulletin-cover > span { line-height: 1; letter-spacing: 0.02em; }
.bulletin::before { content: ""; position: absolute; top: 10%; height: 90%; background-position: right center; background-size: contain; background-repeat: no-repeat; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: initial; transform: rotate(12deg); }
.bulletin > .wave { height: 5vw; stroke: none; }
.bulletin > .wave .wave-fill { d: path("M 0 0 C 340 -30 620 10 860 50 S 1260 100 1536 30 V 100 H 0 Z"); }

.bulletin > .wave .wave-line { d: path("M 0 0 C 340 -30 620 10 860 50 S 1260 100 1536 30"); }
.agenda { padding-top: 1.7vw; padding-right: 0px; padding-left: 0px; min-height: 0px; background: transparent; }
.agenda h2 { font-size: 5.6vw; }
.agenda .kicker { margin-bottom: 1.4vw; }
.agenda p { font-size: 3vw; line-height: 1.1; margin: 1.4vw 0px; max-width: 63%; }
.agenda-watermark { width: 22vw; height: 22vw; top: 4vw; right: -5%; border-width: 1.1vw; opacity: 0.35; }
.agenda-watermark .icon { width: 14vw; height: 14vw; }
.agenda-state { margin-top: 1.5vw; }
.agenda-state p { max-width: 100%; margin: 1vw 0px 1.6vw; }
.empty-icon .icon { width: 13vw; height: 13vw; padding: 3.4vw; }
.mobile-calendar { display: inline-block; }
.agenda > .wave { height: 4vw; stroke: none; fill: rgb(240, 229, 212); }
.agenda > .wave .wave-fill { d: path("M 0 0 C 250 -20 600 80 900 85 S 1280 100 1536 0 V 100 H 0 Z"); }

.agenda > .wave .wave-line { d: path("M 0 0 C 250 -20 600 80 900 85 S 1280 100 1536 0"); }
.home-contact { padding-right: 0px; padding-left: 0px; background: linear-gradient(rgba(240, 229, 212, 0.667), rgba(240, 229, 212, 0.667)), url("/assets/papel-superficie.png") !important; }
.home-contact .split { display: block; }
.home-contact h2 { font-size: 5.5vw; letter-spacing: -0.065em; }
.home-contact p { font-size: 3vw; line-height: 1.13; margin: 1.4vw 0px; }
.home-contact .kicker { margin-bottom: 1.5vw; }
.home-contact .contact-buttons { gap: 1.2vw; }
.home-contact .contact-button { min-height: 10.5vw; padding: 1.5vw 3vw; gap: 3vw; color: rgb(250, 247, 239); background: var(--deep); border-radius: 1.8vw; position: relative; overflow: hidden; }
.home-contact .contact-button::after { content: ""; position: absolute; right: 6%; bottom: -60%; width: 16%; height: 160%; background-position: center center; background-size: contain; background-repeat: no-repeat; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: initial; transform: rotate(-25deg); pointer-events: none; }
.home-contact .contact-button.prayer { color: rgb(250, 247, 239); }
.home-contact .contact-button strong { font-size: 3.5vw; font-weight: 400; line-height: 1; }
.home-contact .contact-button strong::after { display: none; }
.home-contact .contact-button small { font-size: 2.55vw; line-height: 1.1; }
.home-contact .contact-button > svg { width: 6.5vw; height: 6.5vw; }
.home-contact .contact-button .end-arrow { width: 2.5vw; height: 2.5vw; }
.home-map { padding-right: 6.7%; padding-left: 6.7%; gap: 3vw; }
.home-map h2 { font-size: 5.5vw; }
.home-map .button { font-size: 2.5vw; min-height: 0px; padding: 1.2vw 2vw; }
.home-map .icon { width: 3vw; height: 3vw; }
.site-footer { padding: 3vw 10.5% 1.5vw; background: radial-gradient(at 35% 40%, rgb(0, 71, 55), rgb(0, 53, 45)); }
.site-footer::after { content: ""; position: absolute; right: -2%; bottom: 0px; width: 15%; height: 80%; background: url("/assets/folhagem.svg") center center / contain no-repeat; opacity: 0.2; pointer-events: none; }
.site-footer > .wave { top: -4vw; height: 4.1vw; }
.site-footer .brand-symbol { height: 7vw; width: 11vw; }
.site-footer .brand-name { font-size: 3vw; font-weight: 400; }
.footer-top { padding-bottom: 2vw; }
.social .icon { width: 3vw; height: 3vw; }
.social a { padding: 1vw; }
.site-footer nav { margin: 2vw 0px 1vw; }
.copyright { font-size: 1.6vw; }
.community-page { background: transparent; }
.site-header:has(.community-brand) { height: 19vw; padding: 1.5vw 5% 4vw 6%; }
.site-header:has(.community-brand) > .brand { display: none; }
.community-brand { display: flex; gap: 2vw; align-items: center; color: rgb(255, 249, 238); }
.community-brand > img { width: 13vw; height: 13vw; }
.community-brand > span { line-height: 1.17; letter-spacing: 0.03em; }
.community-intro { padding: 2vw 0px 0px; }
.community-intro .kicker { margin-bottom: 2vw; }
.community-intro .inner { padding-bottom: 1vw; }
.community-intro p { margin: 1.5vw 0px; }
.community-intro::before { content: ""; position: absolute; }
.community-hero { height: 60vw; margin-top: 1vw; width: 100%; border-radius: 0px; }
.community-gallery { padding: 3vw 0px 4vw; min-height: 0px; }
.community-feature { margin-top: 2vw; margin-bottom: 2.5vw; padding-bottom: 3vw; gap: 3.6vw; grid-template-columns: 2.1fr 1fr; }
.community-feature .photo { height: 37vw; }
.community-feature .kicker { line-height: 1.3; margin: 1vw 0px 2vw; }
.community-feature p { line-height: 1.2; margin-top: 2vw; }
.round-link { width: 5.5vw; height: 5.5vw; margin-top: -1vw; }
.round-link .icon { width: 3vw; height: 3vw; }
.gallery-pair { gap: 1.5vw; }
.gallery-pair .photo { height: 27vw; }
.youth { padding-right: 0px; padding-bottom: 2vw; padding-left: 0px; min-height: 0px; background: transparent !important; }
.youth h2 { line-height: 1; }
.youth p { margin-top: 2vw; }
.youth::before { content: ""; position: absolute; }
.youth-carousel { height: 48vw; gap: 1.5vw; }
.carousel-back, .carousel-next { width: 5.5vw; height: 5.5vw; padding: 1.2vw; top: 53%; left: 1.2vw; }
.carousel-next { left: auto; right: 1.2vw; }
.dots { margin-top: 2.5vw; margin-right: 0px; margin-left: 0px; gap: 1.5vw; }
.dots > * { height: 0.5vw; width: 3.8vw; }
.meetings { padding-right: 0px; padding-left: 6.7%; grid-template-columns: 34% 66%; }
.meetings h2 { line-height: 0.96; }
.meetings .kicker { font-size: 1.9vw; margin-top: 2vw; margin-bottom: 3vw; }
.meetings .kicker::after { display: block; height: 0.4vw; width: 10vw; }
.site-header:has(+ .contact-page) { border-radius: 0px 0px 45% 28% / 0px 0px 16% 28%; padding-bottom: 2vw; }
.site-header:has(+ .contact-page)::after { content: ""; position: absolute; width: 18%; height: 130%; right: 15%; bottom: 0px; background: url("/assets/folhagem.svg") center center / contain no-repeat; opacity: 0.2; pointer-events: none; }
.contact-button { padding: 2vw 3.5vw; min-height: 12vw; gap: 3.5vw; border-radius: 1.8vw; }
.contact-button > .icon { width: 7vw; height: 7vw; }
.contact-button strong { font-size: 3.5vw; font-weight: 400; }
.contact-button small { font-size: 2.55vw; line-height: 1.1; margin-top: 0.5vw; }
.footer-motto { font-size: 1.5vw; margin: 1.3vw 0px 2vw; letter-spacing: 0.3em; }
.login-header .brand-name { font-size: 4vw; font-weight: 400; }
.login-main h1 { letter-spacing: -0.025em; }
.login-main { margin-top: 14.8vw; }
.login-main h1::before { height: 1vw; }
.login-main > p { line-height: 1.23; }
.login-main label { font-size: 4.1vw; font-weight: 400; }
.input-icon > .icon { width: 5.6vw; height: 5.6vw; }
.input-icon input { font-size: 4vw; }
.input-icon button .icon { width: 6.6vw; height: 6.6vw; }
.login-submit { font-size: 4.9vw; padding: 3vw; }
.login-bottom { height: 27vw; margin-top: 5vw; background-size: auto, 250px 60px; border-radius: 0px; }
.admin-header { border-radius: 0px; padding: 1.5vw 5%; }
.admin-header .brand-name { font-size: 3vw; }
.admin-header .brand-symbol { width: 12vw; height: 9vw; }
.admin-tabs button { font-family: Georgia, serif; }
.admin-main h2, .admin-main h3 { letter-spacing: -0.045em; }
.admin-main > .back-site { font-size: 18px; }
}
@media (max-width: 380px){
.history-note { font-size: 16px; min-width: 73%; }
.timeline h3 { font-size: 18px; }
.messages .inner > p, .visit .inner > p, .services p, .agenda p, .home-contact p { font-size: 14px; max-width: 100%; }
.bulletin p { font-size: 12px; }
.community-intro p, .youth p { font-size: 14px; }
.community-feature p { font-size: 11px; }
.community-feature h2 { font-size: 20px; }
.meetings p { font-size: 11px; }
.site-header .brand-name { font-size: 15px; }
.login-main > p, .login-main label, .input-icon input { font-size: 16px; }
}
.site-footer::after { right: 0px; }
.video-poster > img { width: 76%; margin-left: auto; object-fit: fill; mask-image: linear-gradient(90deg, transparent, rgb(0, 0, 0) 28%); filter: brightness(0.8); }
.video-poster { background: linear-gradient(115deg, rgb(36, 32, 27), rgb(68, 52, 33)); }
.video-poster > iframe { display: block; width: 100%; height: 100%; border: 0px; }
@media (max-width: 1024px){
.messages h2 { font-weight: 400; }
.messages .inner > p { max-width: 84%; }
.messages { padding-bottom: 5vw; }
.visit .inner > p { max-width: 83%; }
}
@media (min-width: 1025px){
.home-contact .contact-button.prayer { background: transparent; color: var(--cream); }
.community-intro .community-hero { margin-top: 65px; }
}
@media (max-width: 1024px){
body { background-blend-mode: normal; }
.youth h2, .home-contact h2 { color: rgb(8, 27, 24); }
.history h2, .home-community h2, .visit h2, .services h2, .bulletin h2, .agenda h2, .home-contact h2, .home-map h2 { font-weight: 400; }
.youth h2 { max-width: 60%; font-weight: 700; }
.admin-tabs { justify-content: space-between; padding: 2.8vw 5% 0px; gap: 0px; }
.admin-tabs button { padding: 1vw 2vw 2vw; font-size: 2.9vw; gap: 2vw; }
.admin-tabs button .icon { width: 4.3vw; height: 4.3vw; }
.admin-main { margin-top: 3.5vw; }
.admin-section-heading { gap: 2.5vw; }
.admin-section-heading h2 { font-size: 3.8vw; }
.admin-row { padding: 1.5vw 2vw; gap: 2.5vw; }
.admin-section { padding-bottom: 2vw; margin-bottom: 2vw; }
}
.pdf-thumb { background: linear-gradient(45deg, rgb(189, 40, 27), rgb(238, 77, 56)); color: rgb(255, 255, 255); font: 700 22px Arial; padding: 38px 10px 10px; clip-path: polygon(0px 0px, 65% 0px, 100% 24%, 100% 100%, 0px 100%); border-radius: 5px; }
.date-thumb { background: rgb(244, 240, 231); border-radius: 10px; padding: 10px 24px; text-align: center; font-size: 38px; color: rgb(9, 15, 13); }
.date-thumb small { display: block; font-size: 18px; }
.badge .icon { width: 18px; height: 18px; }
.row-info h3 { font-weight: 400; }
@media (max-width: 1024px){
.admin-header { height: 13.7vw; min-height: 0px; }
.admin-section-heading > .solid-button { min-height: 0px; }
.admin-section-heading p { font-size: 2.2vw; white-space: nowrap; }
.pdf-thumb { font-size: 2.3vw; padding: 4vw 1vw 1vw; }
.date-thumb { font-size: 3.7vw; padding: 1vw 2.5vw; }
.date-thumb small { font-size: 1.8vw; }
.admin-header .panel-name { font-weight: 400; }
}
:root { background: rgb(250, 247, 239); }
body { background: linear-gradient(105deg, rgb(252, 250, 245), rgb(248, 243, 232)); }
.site-header { background: radial-gradient(at 48% 120%, rgb(10, 73, 59), rgb(7, 59, 48)); }
.history-shape { inset: 0px; width: 100%; height: 100%; transform: none; border-radius: 0px; background: url("/assets/history-contour.svg") center center / 100% 100% no-repeat; }
.history-shape span { display: none; }
.history > .wave { height: 122px; }
.history > .wave .wave-fill { d: path("M 0 78 C 280 -10 570 58 804 53 S 1250 -30 1536 17 V 122 H 0 Z"); }

.history > .wave .wave-line { d: path("M 0 78 C 280 -10 570 58 804 53 S 1250 -30 1536 17"); }
@media (min-width: 1025px){
.site-header .brand-name { font-size: 28px; }
.site-header .brand-symbol img { width: 49px; max-width: none; }
.site-header .brand-symbol { padding-right: 30px; }
.timeline > div { min-height: 190px; }
.history-note { margin-top: -16px; }
.messages h2 { font-size: 70px; }
.messages .video-poster { margin-top: 45px; }
.messages > .wave { height: 104px; }
.messages > .wave .wave-fill { d: path("M 0 4 C 280 88 460 -25 780 19 S 1250 -4 1536 34 V 100 H 0 Z"); }

.messages > .wave .wave-line { d: path("M 0 4 C 280 88 460 -25 780 19 S 1250 -4 1536 34"); }
.visit h2 { font-size: 74px; }
.visit > .wave .wave-fill { d: path("M 0 24 C 260 -24 500 75 805 32 S 1250 -9 1536 28 V 100 H 0 Z"); }

.visit > .wave .wave-line { d: path("M 0 24 C 260 -24 500 75 805 32 S 1250 -9 1536 28"); }
.community-gallery h2 { font-size: 68px; }
.community-gallery .gallery-pair { margin-top: 10px; }
.community-gallery > .wave .wave-fill { d: path("M 0 68 C 250 -7 560 69 820 42 S 1270 -17 1536 22 V 100 H 0 Z"); }

.community-gallery > .wave .wave-line { d: path("M 0 68 C 250 -7 560 69 820 42 S 1270 -17 1536 22"); }
.youth { padding-top: 86px; }
.youth h2 { font-size: 74px; }
.youth > .wave .wave-fill { d: path("M 0 50 C 280 -19 520 72 835 41 S 1270 -14 1536 40 V 100 H 0 Z"); }

.youth > .wave .wave-line { d: path("M 0 50 C 280 -19 520 72 835 41 S 1270 -14 1536 40"); }
.community-page + .site-footer > .wave { display: none; }
}
@media (max-width: 1024px){
body { background: linear-gradient(rgba(250, 247, 239, 0.86), rgba(250, 247, 239, 0.86)) 0% 0% / auto, url("/assets/papel-superficie.png") 0% 0% / 250px 60px; }
.history-shape { inset: 0px; width: 100%; height: 100%; transform: none; border-radius: 0px; }
.history > .wave { height: 5vw; }
.history > .wave .wave-fill { d: path("M 0 40 C 300 -10 550 30 850 50 S 1300 90 1536 15 V 100 H 0 Z"); }

.history > .wave .wave-line { d: path("M 0 40 C 300 -10 550 30 850 50 S 1300 90 1536 15"); }
}
@media (min-width: 1025px){
.history h2 { font-size:5.2vw; letter-spacing:-.055em; }
.history { min-height:66.67vw; padding-top:6vw; padding-bottom:10.4vw; }
.history-shape { background-size:100% auto; background-position:center bottom; }
.history .timeline > div { min-height:13vw; padding:4.55vw 0 1.82vw; }
.history .timeline h3 { font-size:2.21vw; }
.history .history-note { max-width:40vw; font-size:1.76vw; }
.history .kicker { margin-bottom: 15px; }
.history .timeline { margin-top: 51px; }
.timeline > div::before { top: 0px; }
.history-note { font-size: 27px; }
.history > .wave { height: 122px; }
.history > .wave .wave-fill { d: path("M 0 64 C 280 -21 570 43 804 42 S 1250 -35 1536 14 V 100 H 0 Z"); }

.history > .wave .wave-line { d: path("M 0 64 C 280 -21 570 43 804 42 S 1250 -35 1536 14"); }
}
@media (max-width: 1024px){
.history-note { margin-left: 0px; }
.mobile-photo-strip { grid-template-columns: 2fr 1fr; gap: 2.5vw; width: 91.5%; margin: 1vw auto 2vw; display: grid !important; }
.mobile-photo-strip .photo { height: 25vw; border-radius: 1.8vw; }
.mobile-photo-strip .photo img { object-position: center 78%; transform: scale(1.35); }
.mobile-photo-strip .photo:last-child img { object-position: 95% 78%; transform: scale(2); transform-origin: 90% 85%; }
.community-gallery > .wave { height: 10vw; position: relative; display: block; margin-top: 1vw; margin-bottom: -4vw; fill: rgb(250, 247, 239); background: var(--deep); }
.community-gallery > .wave .wave-fill { d: path("M 0 0 C 500 -10 930 55 1536 95 V 100 H 0 Z"); }

.community-gallery > .wave .wave-line { d: path("M 0 0 C 500 -10 930 55 1536 95"); }
.youth { padding-top: 0px; }
.youth h2 { font-size: 6.8vw; letter-spacing: -0.06em; }
.youth p { font-size: 3.4vw; line-height: 1.23; }
.youth::before { width: 62%; right: -14%; }
.youth-carousel { margin-top: 4vw; grid-template-columns: 2.7fr 1fr; }
.youth-main img { transform-origin: center 68%; }
.dots { margin-bottom: 2vw; }
.meetings { min-height: 48vw; clip-path: none; background: linear-gradient(rgba(250, 247, 239, 0.667), rgba(250, 247, 239, 0.667)), url("/assets/papel-superficie.png"); padding-top: 5vw; padding-bottom: 3vw; }
.meetings > img { transform-origin: right center; }
.meetings h2 { font-size: 6.5vw; font-weight: 700; }
.meetings p { font-size: 2.65vw; line-height: 1.2; }
.meetings::before { content: ""; position: absolute; inset: 0px 0px auto; width: 100%; height: 12vw; background: url("/assets/encontros-onda.svg") center center / 100% 100%; z-index: 1; pointer-events: none; clip-path: none; }
}
@media (max-width: 1024px){
.services { padding-top: 4.5vw; padding-bottom: 5vw; }
.services .inner > div:first-child > p { max-width: 80%; margin-top: 1.4vw; margin-bottom: 2vw; }
.empty-service { margin-top: 2.5vw; }
.empty-service p { font-size: 3vw; }
.bulletin .split { grid-template-columns: 1.18fr 0.82fr; gap: 3vw; }
.bulletin-cover { height: 37vw; aspect-ratio: auto; padding: 3vw 2vw; }
.bulletin-cover img { height: 19vw; aspect-ratio: auto; filter: sepia(0.6) brightness(0.9); }
.bulletin-cover > span { font-size: 2.8vw; margin-bottom: 3vw; position: relative; }
.bulletin-cover > span::after { content: ""; position: absolute; bottom: -1.5vw; width: 5vw; height: 0.25vw; background: rgb(191, 139, 63); left: calc(50% - 2.5vw); }
.bulletin p { max-width: 44vw; }
.bulletin::before { width: 45%; right: 2%; }
.agenda { padding-bottom: 4vw; }
.home-map p { font-size: 2.3vw; line-height: 1.2; }
.home-map > img { height: 23vw; }
.meetings > img { object-position: 40% 45%; }
.meetings::after { content: ""; position: absolute; left: 0px; top: 0px; height: 100%; pointer-events: none; }
.meetings > div { z-index: 2; }
}
.site-header:has(.menu:not([hidden])) { mask: none; }
.brand-symbol img { transform: scale(1.25); }
@media (max-width: 1024px){
.admin-main > h1 { font-size: 6.3vw; }
.admin-main > p { font-size: 3.4vw; line-height: 1.2; margin-top: 1vw; margin-bottom: 3vw; }
.admin-row > button { padding: 0.7vw 3.2vw; min-height: 9vw; gap: 0.5vw; }
.admin-row > button .icon { width: 3.7vw; height: 3.7vw; }
.admin-section-heading > .solid-button { padding: 1.4vw 2.6vw; }
.admin-section-heading { margin-bottom: 1.6vw; }
.login-main { width: 79%; margin-left: auto; margin-right: auto; }
.login-header .brand-symbol img { transform: scale(1.15); }
.login-main h1 { font-weight: 700; font-size: 8.9vw; }
.login-main > p { font-size: 4.25vw; }
.input-icon:has(#password) { height: 12vw; }
.input-icon:has(#password) input { height: 100%; }
.login-submit { font-weight: 400; }
.login-main .back-site { font-size: 3.5vw; }
}
@media (max-width: 1024px){
.site-header:has(.community-brand) { background: transparent; border-radius: 0px; box-shadow: none; }
.site-header:has(.community-brand)::before { content: ""; position: absolute; inset: 0px; background: url("/assets/community-header.svg") center center / 100% 100% no-repeat; z-index: -1; }
.community-brand > span { font-size: 3vw; }
.community-intro::before { right: 0px; top: 0px; width: 100%; height: 42vw; clip-path: none; background: url("/assets/community-contour.svg") center center / 100% 100% no-repeat; }
.community-intro .kicker { font-weight: 600; }
.community-intro h1 { font-size: 6.7vw; }
.community-intro p { font-size: 3.4vw; max-width: 83%; line-height: 1.22; }
.contact-button > .icon { stroke-width: 1.8; }
.home-map .button { position: relative; z-index: 4; }
.site-footer > .wave { z-index: 0; }
}
@media (min-width: 1025px) and (max-width: 1535px){
.home-contact h2 { font-size: 3.90625vw; }
.home-contact .contact-button strong { font-size: 1.888vw; }
}
@media (max-width: 430px){
.kicker { font-size: 10px; }
.community-feature .kicker, .meetings .kicker { font-size: 9px; }
.home-map p { font-size: 12px; }
.home-map .button, .agenda-state .button, .bulletin .button { font-size: 12px; }
.home-contact .contact-button small, .contact-button small { font-size: 11px; }
.community-feature p, .meetings p { font-size: 12px; }
.bulletin p { font-size: 13px; }
.site-footer nav, .copyright { font-size: 10px; }
.site-footer .brand-name { font-size: 13px; }
.footer-motto { font-size: 9px; }
.input-icon input { font-size: 16px; }
.admin-tabs button { font-size: 12px; }
.admin-section-heading h2 { font-size: 17px; }
.admin-row > button { font-size: 12px; }
.admin-section-heading p { white-space: normal; font-size: 11px; }
.admin-section-heading > .solid-button { font-size: 12px; }
.admin-row > button .icon { width: 18px; height: 18px; }
.admin-main > .back-site { min-height: 44px; }
.carousel-back::after, .carousel-next::after { content: ""; position: absolute; inset: -10px; }
}
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0px; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0px; }
.site-footer::after { background-image: url("/assets/folhagem-modelo.png"); background-position: right bottom; background-size: contain; mask-image: linear-gradient(90deg, transparent, rgb(0, 0, 0) 25%); opacity: 0.8; }
@media (max-width: 1024px){
.community-gallery .gallery-pair { display: grid; grid-template-columns: 1fr 1fr; width: 91.5%; margin: 0px auto 2.5vw; gap: 1.5vw; }
.community-gallery .gallery-pair .photo { height: 27vw; border-radius: 1.8vw; }
.home-contact .contact-button::after { background-image: url("/assets/folhagem-modelo.png"); mask-image: linear-gradient(90deg, transparent, rgb(0, 0, 0) 30%); opacity: 0.7; }
.bulletin::before { background-image: url("/assets/folhagem-modelo.png"); mask-image: linear-gradient(90deg, transparent, rgb(0, 0, 0) 25%); opacity: 0.7; }
}
@media (min-width: 1025px){
.community-gallery .inner > p { margin-bottom: 12px; }
.community-gallery > .wave { height: 165px; }
.visit > .wave { height:5vw; }
.youth-main img { object-position: center 42%; }
.youth > .wave { height: 175px; }

.site-header:has(+ .community-page) .brand-name, .site-header:has(+ .contact-page) .brand-name { font-size: 22px; font-weight: 400; }
.site-header:has(+ .community-page) .brand-symbol img, .site-header:has(+ .contact-page) .brand-symbol img { transform: none; width: 38px; }
.community-intro h1 { font-size: 78px; }
.community-intro .kicker { margin-bottom: 20px; }
.community-intro p { margin-top: 12px; }
.services .empty-service { width: 34.2vw; max-width:100%; min-height:22.1vw; margin-top:1vw; padding:3.2vw 2vw; }
.bulletin-cover img { object-position: center 38%; }
}
@media (max-width: 1024px){
.community-intro h1 { font-weight: 400; }
.community-feature h2 { font-size: 6.5vw; font-weight: 400; }
.community-feature p { font-size: 2.8vw; }
.community-feature .kicker { font-size: 1.75vw; }
}
@media (max-width: 1024px){
.history-shape { background-image: url("/assets/history-mobile-contour-v2.svg"); }
.login-main label { margin-top: 6.4vw; }
.login-submit { margin-top: 6.8vw; }
.login-bottom { clip-path: polygon(0px 8%, 15% 2%, 32% 6%, 52% 19%, 68% 23%, 82% 18%, 100% 0px, 100% 100%, 0px 100%); }
.community-intro .community-hero img { object-position: 50% 42%; }
.visit .sanctuary-wide { object-position: center 60%; }
}
@media (max-width: 1024px){
.history h2 { font-size: 8.3vw; font-weight: 400; letter-spacing: -0.055em; line-height: 1.08; }
.history .timeline > div { min-height: 22vw; }
.history .timeline > div::before { width: 4.5vw; height: 4.5vw; top: 2vw; left: calc(-10.3vw); }
.history .timeline h3 { font-size: 4.5vw; line-height: 1.2; font-weight: 400; }
}
.home-contact .contact-button::after, .site-footer::after, .bulletin::before { mix-blend-mode: lighten; }
@media (min-width: 1025px){
.site-header .brand-name { font-weight: 400; }
.community-hero img { transform: scale(1.12); object-position: center 56%; }
.community-hero { overflow: hidden; }
.visit .sanctuary-wide { object-position: center 75%; }
}
@media (max-width: 1024px){
.site-header .brand-symbol img { width: 100%; max-width: 100%; }
.site-header .brand-name { font-weight: 400; }
.history .timeline { margin-top: 5.8vw; margin-left: 9%; }
.history .timeline > div { padding-top: 5.4vw; }
.history-shape { background-position: center bottom; background-size: 100% 120%; }
.youth h2, .meetings h2 { font-weight: 400; }
.youth::before { background: url("/assets/papel-superficie.png") rgb(227, 210, 185); background-blend-mode: multiply; opacity: 0.65; top: 0px; height: 48%; clip-path: polygon(100% 0px, 0px 42%, 100% 89%); }
.youth-main img { transform: scale(1.13); object-position: center 50%; }
.youth-next img { object-fit: fill; object-position: center center; }
.meetings > img { width: 115%; max-width: none; height: auto; top: 1vw; right: -25%; object-fit: contain; transform: none; mask-image: linear-gradient(90deg, transparent, rgb(0, 0, 0) 30%); }
.meetings::after { width: 39%; background: linear-gradient(90deg, rgb(250, 247, 239) 72%, transparent); }
.meetings > div { max-width: 33vw; }
.meetings p { max-width: 29vw; }
.bulletin-cover img { object-position: center 90%; object-fit: cover; transform: scale(1.04); }
.bulletin-cover { box-shadow: rgb(214, 203, 184) 0.5vw 1vw 0px, rgba(0, 19, 12, 0.4) 1vw 1.5vw 2vw; transform: rotate(-14deg); }
.agenda-state .button { font-size: 2.65vw; padding: 1.3vw 2.8vw; min-height: 0px; }
.home-contact { padding-top: 2vw; padding-bottom: 3vw; }
.home-contact .contact-buttons { margin-top: 1.5vw; }
.home-map { padding-top: 4vw; padding-bottom: 5vw; grid-template-columns: 1fr 1.05fr; }
.history h2, .youth h2, .meetings h2 { letter-spacing: -0.045em; -webkit-text-stroke: 0.38px currentcolor; }
.home-community h2 { font-weight: 400; -webkit-text-stroke: 0.38px currentcolor; }
.community-hero img { transform: scale(1.15); object-position: center 65%; }
.community-hero { overflow: hidden; }
.community-feature .photo img { transform: scale(1.15); transform-origin: center 65%; }
.youth::before { border-bottom: 1px solid rgb(215, 162, 82); }
}
@media (max-width: 1024px){
.history { background: linear-gradient(rgba(250, 247, 239, 0.267), rgba(250, 247, 239, 0.267)), url("/assets/papel-superficie.png") !important; }
.home-map > img { object-fit: cover; object-position: 60% center; }
}

