/* AI generated: All desktop geometry follows the 1122 × 1402 reference. */
@font-face{font-family:Temple Calligraphy;src:url('assets/temple-calligraphy.woff2') format('woff2');font-display:block}
@font-face{font-family:Temple Serif;src:url('assets/temple-serif.woff2') format('woff2');font-weight:100 900;font-display:swap}
@font-face{font-family:Temple Sans;src:url('assets/temple-sans.woff2') format('woff2');font-weight:100 900;font-display:swap}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#f8eee2;color:#24211b;font-family:KaiTi,STKaiti,'Temple Serif',serif}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit;text-decoration:none}button{color:inherit}h1,h2,h3,p,ul{margin:0}button{border:0;background:none;padding:0}a:focus-visible,button:focus-visible,input:focus-visible{outline:2px solid #aa215b;outline-offset:4px}a:hover,button:hover{color:#ab235b}[hidden]{display:none!important}.page{width:1122px;margin:0 auto;overflow:clip}.topbar,.hero,.services,.activities,.promotions,footer{position:relative;background-repeat:no-repeat;background-size:1122px auto}.topbar{height:44px;background-image:url('assets/topbar.webp');color:#ece7e0;font-size:14px}.calendar{position:absolute;left:61px;top:13px;line-height:18px;letter-spacing:1px;white-space:nowrap}.address-link{position:absolute;left:851px;top:14px}.support-link{position:absolute;left:905px;top:14px}.locale{position:absolute;left:1068px;top:14px;white-space:nowrap}.search-toggle{position:absolute;left:992px;top:9px;width:29px;height:28px}.search-panel{position:absolute;right:80px;top:42px;width:340px;padding:18px;background:#faf1e6;border:1px solid #d8b988;z-index:20;color:#282018;box-shadow:0 5px 16px #24190922}.search-panel label{display:block;margin-bottom:10px}.search-panel>div{display:flex;gap:8px}.search-panel input{width:230px;min-width:0;padding:5px;border:1px solid #d8b988;background:#fffaf3}.search-feedback{font-size:14px;line-height:1.6;margin-top:8px}
.hero{height:508px;background-image:url('assets/hero.webp')}.brand{position:absolute;left:64px;top:20px;width:194px;height:193px}.navigation{position:absolute;top:34px;left:440px;right:0;list-style:none;display:flex;align-items:center;justify-content:space-between;padding:0;z-index:10}.nav-item{position:relative}.nav-link{display:block;white-space:nowrap;font-size:14px;line-height:32px;font-weight:700;letter-spacing:1px}.nav-item.active .nav-link{color:#ae2b60}.dropdown{position:absolute;top:38px;left:-14px;min-width:150px;padding:14px 18px;background:#fbf2e8;border:1px solid #d8b988;box-shadow:0 7px 18px #3f25151c}.dropdown a{display:block;font-size:15px;line-height:2.1;white-space:nowrap}.services-menu .dropdown{left:auto;right:-140px;width:630px;display:grid;grid-template-columns:1fr 1fr 1.5fr;gap:18px}.menu-group>a:first-child{font-weight:bold}.menu-child{padding-left:8px}.nav-item:last-child .dropdown{left:auto;right:0}.hero-heading{position:absolute;left:0;top:0;font-family:'Temple Calligraphy',KaiTi,STKaiti,serif;font-weight:400;font-size:100px;line-height:100px;color:#171610}.hero-heading span{position:absolute;white-space:nowrap}.headline-first{left:134px;top:221px}.headline-second{left:168px;top:291px}.hero-motto{position:absolute;left:124px;top:368px;line-height:23px;font-size:17px;letter-spacing:3px}.hero-button{position:absolute;left:182px;top:414px;width:172px;height:44px;text-align:center;line-height:43px;color:#ffebea;font-weight:bold;font-size:15px;letter-spacing:3px}.hero-button:hover{color:#fff}
.services{height:246px;background-image:url('assets/services.webp')}.services>h2{position:absolute;left:508px;top:-5px;font-family:'Temple Serif',serif;font-size:23px;font-weight:700;line-height:30px;letter-spacing:8px}.service-grid{position:absolute;left:74px;top:20px;display:grid;grid-template-columns:198px 186px 186px 186px 190px;gap:10px}.service-card{height:208px;display:block;text-align:center;padding-top:74px;scroll-margin-top:30px}.service-card h3{font-family:'Temple Serif',serif;font-size:18px;line-height:28px;letter-spacing:3px;font-weight:700}.service-card p{font-size:15px;line-height:23px;letter-spacing:1px;margin-top:3px}.service-card:hover{color:#a6295e}
.activities{height:302px;background-image:url('assets/activities.webp')}.activities>h2{position:absolute;left:455px;top:1px;font-family:'Temple Serif',serif;font-size:23px;letter-spacing:6px;line-height:32px;font-weight:700}.announcement{position:absolute;left:70px;top:48px;width:993px;height:222px;display:grid;grid-template-columns:573px 420px}.announcement-image{height:222px}.announcement-copy{position:relative;padding:27px 0 0 42px}.announcement time{font:16px/22px Arial,sans-serif;color:#b43b6b}.announcement h3{font-family:'Temple Serif',serif;font-size:21px;font-weight:700;letter-spacing:3px;line-height:31px;margin-top:9px}.announcement p{font-size:14px;line-height:24px;letter-spacing:1px;margin-top:12px}.detail-link{position:absolute;left:42px;top:169px;font-size:14px;line-height:22px;font-weight:bold;letter-spacing:2px}.detail-link span{color:#c89543;padding-left:10px;font-family:Arial}.announcement-next{position:absolute;left:1068px;top:147px;width:39px;height:40px;border-radius:50%}.carousel-dots{position:absolute;left:527px;top:277px;display:flex;gap:5px}.carousel-dot{width:14px;height:18px;position:relative}.carousel-dot:before{content:'';position:absolute;top:4px;left:3px;width:10px;height:10px;border-radius:50%;background:#e6cfb8}.carousel-dot.selected:before{background:#b82a65}
.promotions{height:198px;background-image:url('assets/promotions.webp')}.promotion{position:absolute;top:7px;height:178px}.promotion h2{font-family:'Temple Serif',serif;font-size:18px;letter-spacing:4px;font-weight:700;line-height:28px}.about{left:69px;width:317px;padding-left:116px;padding-top:16px}.about p{font-size:10px;line-height:19px;font-weight:bold;letter-spacing:.55px;margin-top:4px;white-space:nowrap}.about-button{position:absolute;left:116px;top:136px;width:80px;height:27px;font-size:12px;letter-spacing:1px}.upcoming{left:400px;width:332px;padding-left:27px;padding-top:16px;color:#f8e5e2}.upcoming h2{font-weight:500;font-size:19px;letter-spacing:4px}.event-date{position:absolute;left:26px;top:55px;text-align:center;line-height:23px}.event-date span{display:block;font-size:14px}.event-date span:first-child{font-family:Arial}.event-date strong{display:block;font:23px/28px Arial,sans-serif}.event-copy{position:absolute;left:98px;top:64px}.event-copy h3{font-family:'Temple Serif',serif;font-size:14px;font-weight:500;line-height:24px;letter-spacing:1px}.event-copy p{font-size:11px;line-height:22px;letter-spacing:.2px}.signup-button{position:absolute;left:21px;top:135px;width:79px;height:28px;color:#b3436c;font-size:12px;font-weight:bold}.donation{left:746px;width:317px;padding-left:28px;padding-top:16px}.donation h2{font-size:18px;letter-spacing:3px}.donation p{font-size:12px;line-height:20px;letter-spacing:1px;margin-top:3px}.donate-button{position:absolute;left:27px;top:135px;width:91px;height:28px;color:#faecdb;font-size:12px;letter-spacing:1px}.donate-button:hover{color:white}
footer{height:104px;background-image:url('assets/footer.webp');color:#cbbfac;font-size:12px}.footer-brand{position:absolute;left:111px;top:6px;width:103px;height:84px}.contact-info{position:absolute;left:295px;top:11px}.contact-info p{font-family:'Times New Roman',serif;font-size:12px;line-height:17px}.contact-info>a{display:block;margin-left:25px;font:12px/21px Arial,sans-serif}.contact-info .phone{margin-top:3px}.footer-links{position:absolute;top:11px;line-height:17px}.footer-links h2,.follow-title{font-size:13px;line-height:18px;font-weight:400}.footer-links a{display:block;font-size:12px;letter-spacing:1px}.quick{left:594px}.related{left:730px}.follow-title{position:absolute;left:873px;top:11px}.copyright{position:absolute;left:61px;bottom:3px;font:10px/13px Arial,sans-serif}.legal{position:absolute;left:946px;bottom:3px;display:flex;gap:13px;white-space:nowrap;font-size:11px;line-height:14px}footer a:hover,footer button:hover{color:#fff0df}
dialog{width:min(520px,90vw);border:1px solid #c9a778;padding:38px;color:#30251e;background:#fbf2e8;box-shadow:0 15px 80px #0005}dialog::backdrop{background:#24180988}dialog h2{font-family:'Temple Serif',serif;font-size:24px;margin-bottom:20px}dialog p{line-height:1.9;margin:10px 0}dialog a{color:#a72c60}.dialog-close{position:absolute;right:13px;top:8px;font:26px Arial}.dialog-contact{display:inline-block;margin-top:14px}
/* AI generated: Second visual comparison corrections for source weight, spacing, and text centers. */
body{font-family:'Temple Sans',sans-serif;color:#38332c;font-weight:500}
.navigation{left:459px}.nav-link{font-family:'Temple Serif',serif;font-weight:800;font-size:13px}
.calendar{font-size:13px;font-weight:500;letter-spacing:1.1px;top:12px}.topbar{font-size:13px}.address-link,.support-link,.locale{top:12px}
.hero-heading{filter:blur(.18px)}.hero-motto{font-family:'Temple Serif',serif;font-size:16px;font-weight:700;letter-spacing:3.5px;top:366px;color:#555047}.hero-button{font-family:'Temple Serif',serif;font-size:14px;font-weight:800}
.services>h2{left:513px;top:-4px;font-weight:900;letter-spacing:8px;font-size:22px}
.service-card h3{font-size:17px;font-weight:900;letter-spacing:2px}.service-card p{font-size:13px;font-weight:500;letter-spacing:1.5px;line-height:23px;margin-top:3px}.service-0{transform:translateX(3px)}.service-4{transform:translateX(5px)}
.activities>h2{font-size:22px;font-weight:900;letter-spacing:5px;top:1px}
.announcement time{color:#b24c73}.announcement h3{font-size:20px;font-weight:900;letter-spacing:3.5px}.announcement p{font-size:13px;font-weight:500;letter-spacing:1.1px}.detail-link{font-size:13px;font-weight:600}
.promotion h2{font-size:18px;font-weight:900}.about p{font-size:10px;font-weight:600;letter-spacing:.4px;line-height:19px;color:#726251}.about-button{font-size:11px;font-weight:600}.upcoming h2{font-weight:700;letter-spacing:5px}.event-date{top:55px}.event-copy h3{font-weight:700;font-size:14px}.event-copy p{font-size:10px;letter-spacing:.15px}.donation p{font-size:11px;font-weight:600;letter-spacing:1.3px;color:#73602d}.signup-button,.donate-button{font-size:11px;font-weight:600}
.footer-links h2,.follow-title{font-size:12px}.footer-links a{font-size:11px;font-weight:400;letter-spacing:1px}.legal{font-size:10px}.contact-info>a{font-size:12px}.copyright{color:#b4a58e}
/* AI generated: Third visual comparison corrections for body density and announcement baselines. */
.calendar{font-size:14px;font-weight:400;letter-spacing:1.1px;white-space:pre}
.nav-link{font-size:14px;font-weight:650;letter-spacing:.5px}
.hero-motto{left:127px;font-size:16.5px;letter-spacing:4.6px;font-weight:650}
.service-card p{font-size:13.5px;color:#4c4942;filter:blur(.14px)}
.service-card h3{font-weight:800;letter-spacing:2.3px}
.activities>h2{letter-spacing:4.5px;font-weight:800}
.announcement-copy{padding-top:24px}.announcement h3{font-size:21px;font-weight:750;letter-spacing:3.5px}.announcement p{color:#504a42;filter:blur(.12px)}
.detail-link{top:168px}.event-date{top:51px}.event-date strong{font-size:22px}.event-copy{left:100px;top:61px}.event-copy h3{font-size:15px}.event-copy p{font-size:10.5px}.about p{font-weight:700;filter:blur(.15px)}
/* AI generated: Final source alignment for promotional headings and footer typography. */
.donation h2{letter-spacing:4.5px}.about h2{letter-spacing:4.5px}.event-date span:first-child{transform:translateX(-5px)}.contact-info p{font-size:11.5px}.detail-link span{visibility:hidden}
/* AI generated: Preserve the reference composition at narrower widths without rearranging it. */
@media(max-width:1121px){.page{zoom:calc(100vw / 1122px)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* AI generated: Hero headline waits for the calligraphy font, then slides in (no fallback-font flash). */
html.hl-wait .hero-heading{opacity:0}
.hero-heading .headline-first{opacity:0;transform:translateX(-1.8em)}
.hero-heading .headline-second{opacity:0;transform:translateX(1.8em)}
html.hl-go .hero-heading{opacity:1}
html.hl-go .hero-heading .headline-first{animation:headline-left-in 2.4s cubic-bezier(.15,.85,.25,1) both}
html.hl-go .hero-heading .headline-second{animation:headline-right-in 2.4s cubic-bezier(.15,.85,.25,1) .44s both}
@keyframes headline-left-in{from{opacity:0;transform:translateX(-1.8em)}to{opacity:1;transform:translateX(0)}}
@keyframes headline-right-in{from{opacity:0;transform:translateX(1.8em)}to{opacity:1;transform:translateX(0)}}
@media (prefers-reduced-motion:reduce){html.hl-wait .hero-heading,html.hl-wait .hero-heading .headline-first,html.hl-wait .hero-heading .headline-second{opacity:1;transform:none}html.hl-go .hero-heading .headline-first,html.hl-go .hero-heading .headline-second{animation:none;opacity:1;transform:none}}

/* AI generated: keep hidden carousel slides out of the grid layout */
.announcement[hidden]{display:none}
