/* AI generated: Fluid desktop layout and readable tablet/mobile layouts using the original artwork. */
body{background:#f8eee2 url('assets/paper.webp') repeat}
.page{width:100%;zoom:1;overflow:clip}
.topbar{height:44px;background:#211505 url('assets/dark-texture.webp') repeat;display:flex;align-items:center;justify-content:flex-end;gap:24px;padding:0 max(24px,calc((100% - 1480px)/2));font-size:13px}
.calendar{position:static;margin-right:auto;font-size:13px;letter-spacing:1px}
.address-link,.support-link,.locale,.search-toggle{position:static;flex-shrink:0}
.locale{display:flex;align-items:center;gap:8px;min-height:44px}
.locale a{opacity:.72}
.locale a[aria-current="true"]{opacity:1;font-weight:700;text-decoration:underline;text-underline-offset:3px}
.locale-sep{opacity:.4}
.search-toggle{width:28px;height:28px;background:url('assets/search-icon.webp') center/26px 24px no-repeat}
.search-panel{right:max(24px,calc((100% - 1480px)/2))}
.hero{width:100%;max-width:1600px;height:min(45.276vw,724.42px);margin:auto;background-size:100% 100%}
.brand{left:5.7%;top:3.94%;width:17.29%;height:38%}
.navigation{left:40.9%;top:6.7%;right:1%;gap:12px}.nav-link{font-size:clamp(13px,1vw,16px);letter-spacing:.5px;min-height:44px;display:flex;align-items:center}
.hero-heading{left:11.94%;top:43.5%;font-size:min(8.912vw,142.6px);line-height:1}
.hero-heading .headline-first{left:0;top:0}.hero-heading .headline-second{left:.34em;top:.7em}
.hero-motto{left:11.3%;top:72.05%;font-size:clamp(14px,1.47vw,23.5px);letter-spacing:clamp(1px,.41vw,6.5px);line-height:1.5}
.hero-button{left:16.22%;top:81.5%;width:15.42%;height:8.66%;font-size:clamp(13px,1.25vw,20px);display:flex;align-items:center;justify-content:center;line-height:1}
.mobile-menu-toggle{display:none}
.services,.activities,.promotions{width:100%;max-width:1480px;margin:0 auto;background:none;height:auto;padding:24px 32px}
.services>h2,.activities>h2{position:relative;left:auto;top:auto;text-align:center;font-size:26px;letter-spacing:6px;line-height:1.5;margin:0 0 26px;color:#30251c}
.service-grid{position:static;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:18px}
.service-card{height:auto;min-height:246px;border:1px solid #dfc7ab;border-radius:12px;padding:90px 12px 24px;position:relative;transform:none;background:rgba(255,250,243,.22)}
.service-card:before{content:'';position:absolute;top:17px;left:50%;transform:translateX(-50%);width:84px;height:62px;background-position:center;background-repeat:no-repeat;background-size:auto 62px;mix-blend-mode:multiply}
/* AI generated: Crisp vector contours retain the original hand-drawn silhouettes and rose color. */
.service-0:before{background-image:url('assets/service-icon-0.svg?v=original-contours-2')}.service-1:before{background-image:url('assets/service-icon-1.svg?v=original-contours-2')}.service-2:before{background-image:url('assets/service-icon-2.svg?v=original-contours-2')}.service-3:before{background-image:url('assets/service-icon-3.svg?v=original-contours-2')}.service-4:before{background-image:url('assets/service-icon-4.svg?v=original-contours-2')}
.service-card h3{font-size:19px;letter-spacing:2px}.service-card p{font-size:15px;line-height:1.8;letter-spacing:1px;filter:none;margin-top:8px}
.activities{padding-top:38px}.activities>h2:before,.activities>h2:after{content:'';display:inline-block;vertical-align:middle;width:15%;height:1px;background:#d5b58b;margin:0 25px}
.announcement{position:relative;left:auto;top:auto;width:100%;height:auto;min-height:300px;grid-template-columns:1.25fr 1fr;border:1px solid #d9ba94;border-radius:12px;overflow:hidden;background:#faf1e6}
.announcement-image{height:auto;min-height:300px;background:url('assets/temple-photo.webp') center/cover no-repeat}
.announcement-copy{padding:35px 38px 70px;min-width:0}.announcement time{font-size:16px}.announcement h3{font-size:24px;line-height:1.6;letter-spacing:2px;margin-top:9px}.announcement p{font-size:15px;line-height:1.9;filter:none;margin-top:16px}.announcement p br{display:none}
.detail-link{left:38px;top:auto;bottom:28px;font-size:15px;min-height:32px;display:flex;align-items:center}.detail-link span{visibility:visible}
.announcement-next{left:auto;right:44px;top:auto;bottom:91px;width:40px;height:40px;border:1px solid #ccab7b;background:none}.announcement-next:before{content:'›';font:28px Georgia;color:#ac7e40;display:block}
.carousel-dots{position:static;display:flex;justify-content:center;margin-top:14px;gap:2px}.carousel-dot{width:28px;height:28px}.carousel-dot:before{top:9px;left:9px}
.promotions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;padding-top:8px;padding-bottom:36px}
.promotion{position:relative;left:auto;top:auto;width:auto;height:auto;min-height:240px;border-radius:12px;background-size:100% 100%;background-repeat:no-repeat;padding:25px 28px 65px;overflow:hidden}
.promotion h2{font-size:21px;letter-spacing:3px;line-height:1.5}.promotion p{font-size:13px;line-height:1.9;filter:none}.promotion p br{display:none}
.about{background-image:url('assets/about-card.webp');padding-left:36%}.about p{white-space:normal;font-size:11.5px;letter-spacing:0;line-height:1.85}.about h2{font-size:20px;letter-spacing:3px}
.upcoming{background-image:url('assets/event-card.webp')}.donation{background-image:url('assets/donation-card.webp')}.donation p{max-width:70%;margin-top:9px;letter-spacing:1px}
.event-date{position:relative;left:auto;top:auto;display:inline-block;margin-top:18px;text-align:left}.event-date span:first-child{transform:none}.event-date strong{font-size:26px;line-height:1.4}.event-date span{font-size:14px}.event-copy{position:absolute;left:108px;top:89px;right:30px}.event-copy h3{font-size:15px;line-height:1.65;max-width:190px}.event-copy p{font-size:11px;line-height:1.9;max-width:170px}.event-copy p br{display:block}
.about-button,.signup-button,.donate-button{left:28px;top:auto;bottom:20px;min-width:90px;width:auto;padding:0 15px;height:34px;border-radius:22px;font-size:12px;line-height:34px;background:#faf0de;color:#a53360;border:1px solid #d7af7b}
.about-button{left:36%;color:#463421}.donate-button{background:#2b1b06;color:#fff1d7;border-color:#2b1b06}
footer{height:auto;min-height:215px;display:grid;grid-template-columns:140px minmax(250px,2fr) 1fr 1fr 120px;gap:20px 30px;padding:30px max(32px,calc((100% - 1416px)/2)) 24px;background:#211505 url('assets/dark-texture.webp') repeat;align-items:start}
.footer-brand{position:static;width:125px;height:96px;background:url('assets/footer-logo.webp') center/contain no-repeat}.contact-info{position:static}.contact-info p{font-size:13px;line-height:1.8}.contact-info>a{margin-left:0;font-size:14px;line-height:2}.footer-links{position:static}.footer-links h2,.follow-title{font-size:14px;line-height:1.8;margin-bottom:7px}.footer-links a{font-size:13px;line-height:1.9}.follow-title{position:static;grid-column:5;grid-row:1}.footer-social{grid-column:5;grid-row:1;margin-top:33px;width:104px;height:71px;background:url('assets/social.webp') center/contain no-repeat}.copyright{position:static;grid-column:1/4;font-size:11px;line-height:1.8}.legal{position:static;grid-column:4/6;font-size:11px;justify-content:flex-end;gap:12px;line-height:1.8}
@media(max-width:1199px){.navigation{gap:7px}.nav-link{font-size:12px}.service-grid{gap:12px}.service-card h3{font-size:16px;letter-spacing:1px}.service-card p{font-size:14px}.promotion{padding-left:20px;padding-right:20px;min-height:250px}.about{padding-left:35%}.promotion h2{font-size:18px;letter-spacing:2px}.event-copy{left:93px;right:18px;top:84px}.event-copy h3{font-size:13px}.event-copy p{font-size:10px}.about p{font-size:10.5px}.donation p{font-size:12px}.about-button{left:35%}footer{gap:22px;grid-template-columns:110px minmax(225px,2fr) 1fr 1fr 105px}.footer-brand{width:105px}.contact-info p{font-size:11px}}
@media(max-width:1023px){
 .topbar{padding:0 24px;gap:20px}.calendar{font-size:11px;letter-spacing:0}.locale{display:none}
 .hero{height:560px;background-size:auto 560px;background-position:center bottom}.brand{left:28px;top:18px;width:130px;height:130px;background:url('assets/brand.webp') center/contain no-repeat}.hero{background-image:url('assets/mobile-temple.webp');background-size:66% auto;background-position:right bottom}
 .hero-heading{left:7%;top:210px;font-size:94px}.hero-motto{left:7%;top:350px;font-size:14px;letter-spacing:2px;max-width:340px}.hero-button{left:7%;top:398px;width:173px;height:44px;background:url('assets/hero-cta.webp') center/100% 100% no-repeat;font-size:14px}
 .mobile-menu-toggle{display:flex;align-items:center;gap:12px;position:absolute;right:28px;top:36px;min-height:44px;padding:0 16px;border:1px solid #c8a57a;border-radius:6px;z-index:30;font-size:15px;background:#faf0e4}.mobile-menu-toggle span{font-size:20px}
 .hero nav{display:none;position:absolute;top:96px;right:24px;left:24px;z-index:25;max-height:calc(100dvh - 140px);overflow:auto;background:#fcf3e8;border:1px solid #d7b88f;box-shadow:0 12px 30px #40250822;padding:16px 24px}.hero nav.is-open{display:block}.navigation{position:static;display:block}.nav-item{border-bottom:1px solid #ead8c2}.nav-item:last-child{border:0}.nav-link{font-size:16px;width:100%;min-height:48px;justify-content:space-between}.nav-link[aria-expanded]:after{content:'+';font-family:Arial;font-size:20px}.nav-link[aria-expanded=true]:after{content:'−'}
 .dropdown,.services-menu .dropdown{position:static;width:100%;min-width:0;box-shadow:none;border:0;border-top:1px solid #e7d3b9;background:transparent;padding:12px 8px;display:block}.dropdown a{white-space:normal;font-size:14px;line-height:1.7;padding:9px 0}.services-menu .dropdown{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.menu-child{margin-left:8px}
 .services,.activities,.promotions{padding-left:24px;padding-right:24px}.service-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.service-card h3{font-size:18px}.service-card p{font-size:15px}.services>h2,.activities>h2{font-size:24px;letter-spacing:4px}.activities>h2:before,.activities>h2:after{width:10%;margin:0 15px}
 .announcement{grid-template-columns:1.1fr 1fr}.announcement-copy{padding:25px 24px 70px}.announcement h3{font-size:20px}.announcement p{font-size:14px}.detail-link{left:24px}.announcement-next{right:36px}.promotions{grid-template-columns:repeat(2,minmax(0,1fr))}.promotion{min-height:250px}.promotion h2{font-size:20px}.about p{font-size:12px}.donation{grid-column:1/-1;min-height:210px;background-size:auto 100%;background-position:right;background-color:#efb65f;padding:30px}.donation p{max-width:350px}.donation .donate-button{left:30px}.event-copy h3{font-size:15px}.event-copy p{font-size:11px}
 footer{grid-template-columns:130px 1fr 1fr;padding:30px 24px;gap:24px}.contact-info{grid-column:2/4}.contact-info p{font-size:13px}.footer-links.quick{grid-column:1;grid-row:2}.footer-links.related{grid-column:2;grid-row:2}.follow-title,.footer-social{grid-column:3;grid-row:2}.copyright{grid-column:1/3}.legal{grid-column:3;flex-wrap:wrap;gap:5px}
}
@media(max-width:599px){
 .topbar{height:38px;padding:0 16px;gap:16px}.calendar{font-size:10px;white-space:normal;line-height:1.5;max-width:225px}.address-link{display:none}.support-link{font-size:11px}.search-toggle{width:24px;height:24px;background-size:24px 22px}.search-panel{left:12px;right:12px;top:38px;width:auto}.search-panel input{width:100%;flex:1}.search-panel button{min-width:44px}
 .hero{height:655px;background-size:100% auto;background-position:center bottom}.brand{top:18px;left:22px;width:112px;height:112px}.mobile-menu-toggle{top:31px;right:20px}.hero nav{top:87px;left:16px;right:16px;padding:12px 18px}.services-menu .dropdown{grid-template-columns:1fr;gap:10px}.menu-group{padding-bottom:8px}
 .hero-heading{left:calc(50% - 120px);top:164px;font-size:90px}.hero-motto{left:0;top:302px;width:100%;max-width:none;text-align:center;font-size:13px;letter-spacing:1.5px}.hero-button{left:calc(50% - 86.5px);top:341px}.hero{background-size:100% 250px}
 .services,.activities,.promotions{padding-left:16px;padding-right:16px}.services{padding-top:18px}.services>h2,.activities>h2{font-size:22px;letter-spacing:3px;margin-bottom:22px}.service-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.service-card{min-height:250px;padding:90px 8px 20px}.service-card h3{font-size:16px;letter-spacing:0}.service-card p{font-size:13px;letter-spacing:.3px;line-height:1.9}.service-card:last-child{grid-column:1/-1;min-height:220px}.service-card:last-child p br{display:none}.service-card:last-child p{max-width:270px;margin:8px auto 0}
 .activities{padding-top:22px}.activities>h2:before,.activities>h2:after{display:none}.announcement{display:block;min-height:0}.announcement-image{height:205px;min-height:0}.announcement-copy{padding:24px 22px 72px;min-height:240px}.announcement h3{font-size:20px;letter-spacing:1px}.announcement p{font-size:15px}.announcement time{font-size:14px}.detail-link{left:22px;bottom:24px;font-size:14px}.announcement-next{bottom:89px;right:30px}.carousel-dots{margin-top:10px}
 .promotions{display:grid;grid-template-columns:1fr;gap:18px;padding-top:0;padding-bottom:30px}.promotion{min-height:242px;padding-top:23px}.promotion h2{font-size:21px}.about{padding-left:36%;padding-right:22px}.about p{font-size:12px;line-height:1.95;margin-top:10px}.about-button{left:36%}.upcoming{padding-left:26px;min-height:250px}.event-copy{left:111px;top:85px;right:25px}.event-copy h3{font-size:16px}.event-copy p{font-size:12px;line-height:1.9}.event-date{margin-top:18px}.signup-button{left:26px}.donation{grid-column:auto;min-height:225px;background-size:100% 100%;padding-left:27px}.donation p{max-width:65%;font-size:12px}.donation .donate-button{left:27px}
 footer{grid-template-columns:1fr 1fr;gap:26px 20px;padding:30px 22px}.footer-brand{grid-column:1/-1;width:125px;height:96px;margin:0 auto}.contact-info{grid-column:1/-1;text-align:center}.contact-info p{font-size:12px}.contact-info>a{font-size:14px}.footer-links.quick{grid-column:1;grid-row:auto}.footer-links.related{grid-column:2;grid-row:auto}.footer-links a{font-size:14px;line-height:2.2}.follow-title{grid-column:1;grid-row:auto}.footer-social{grid-column:2;grid-row:auto;margin-top:0}.copyright{grid-column:1/-1;text-align:center;font-size:10px}.legal{grid-column:1/-1;justify-content:center;margin-top:-12px;font-size:11px;gap:12px}
}
@media(max-width:359px){.calendar{max-width:175px;font-size:9px}.topbar{gap:10px}.hero-heading{font-size:84px;left:calc(50% - 112px)}.service-card h3{font-size:15px}.service-card p{font-size:12px}.promotion h2{font-size:18px}.event-copy{left:100px}.event-copy h3{font-size:14px}.event-copy p{font-size:10px}}
/* AI generated: Balance incomplete tablet rows while retaining original illustration proportions. */
@media(min-width:600px) and (max-width:1023px){.service-grid{grid-template-columns:repeat(6,minmax(0,1fr))}.service-card{grid-column:span 2}.service-card:nth-child(4){grid-column:2/span 2}.service-card:nth-child(5){grid-column:4/span 2}.donation{width:calc((100% - 22px)/2);justify-self:center;min-height:250px;background-size:100% 100%;padding:25px 24px 65px}.donation p{max-width:75%}}
/* AI generated: Fade the cropped temple artwork into the existing paper texture at compact sizes. */
@media(max-width:1023px){.hero{background-image:none}.hero:after,.hero-wind-art{content:'';position:absolute;bottom:0;right:0;width:66%;aspect-ratio:690/431;background:url('assets/mobile-temple.webp') center/100% 100% no-repeat;mask-image:linear-gradient(to bottom,transparent,#000 7%,#000 94%,transparent);pointer-events:none}.hero-heading,.hero-motto,.hero-button,.brand{z-index:1}}
@media(max-width:599px){.hero:after,.hero-wind-art{width:100%;height:250px;aspect-ratio:auto}}
/* AI generated: High-resolution transparent brand assets replace the screenshot-sized logos. */
.brand{background:none;isolation:isolate}
.brand:before{content:'';position:absolute;inset:-12px;background:url('assets/paper.webp') repeat;mask-image:linear-gradient(to right,transparent,#000 3%,#000 97%,transparent),linear-gradient(to bottom,transparent,#000 3%,#000 97%,transparent);mask-composite:intersect;z-index:-1;pointer-events:none}
.brand:after{content:'';position:absolute;inset:0;background:url('assets/temple-logo-hd.png') center/contain no-repeat;pointer-events:none}
.footer-brand{background-image:url('assets/temple-logo-hd-light.svg');height:125px}
@media(max-width:1023px){.brand:before{display:none}}
@media(max-width:599px){.brand{width:120px;height:132px}.footer-brand{height:125px}}
/* AI generated: The temple artwork is independent of the interface and fades into full-width paper. */
.hero{background:none;isolation:isolate}
.hero:before{content:'';position:absolute;inset:0;background:url('assets/hero-reference-layout.webp') center/100% 100% no-repeat;clip-path:inset(0 62% 0 0);mask-image:linear-gradient(to right,transparent,#000 5%,#000 32%,transparent 38%);pointer-events:none;z-index:0}
.hero:after,.hero-wind-art{content:'';position:absolute;right:-1%;bottom:0;width:64%;height:90%;aspect-ratio:auto;background:url('assets/hero.webp?v=temple-restored-1') center bottom/contain no-repeat;mask-image:linear-gradient(to right,transparent,#000 7%,#000 89%,transparent),linear-gradient(to bottom,transparent,#000 8%,#000 90%,transparent);mask-composite:intersect;pointer-events:none;z-index:0}
.hero-heading,.hero-motto,.hero-button,.brand{z-index:2}
.hero-button{background:url('assets/hero-cta.webp') center/100% 100% no-repeat}
/* AI generated: A true transparent marker keeps its rose color on both header backgrounds. */
.nav-item.active:after{content:'';position:absolute;top:44px;left:50%;width:65px;height:22px;transform:translateX(-50%);background:url('assets/nav-lotus.svg') center/contain no-repeat;pointer-events:none}
.announcement-image{background-image:url('assets/temple-photo.webp?v=temple-restored-1');background-position:left 70%}
@media(max-width:1023px){.hero:before{display:none}.hero:after,.hero-wind-art{right:0;width:66%;height:auto;aspect-ratio:1612/975;background-size:100% 100%}.nav-item.active:after{display:none}}
@media(max-width:599px){.hero:after,.hero-wind-art{width:100%;height:250px;aspect-ratio:auto;background-size:contain;background-position:center bottom;mask-image:linear-gradient(to right,transparent,#000 4%,#000 96%,transparent),linear-gradient(to bottom,transparent,#000 5%,#000 92%,transparent)}.announcement-image{background-position:35% 70%}}
/* English locale: the hero headline artwork is sized for four CJK characters, so stack the two English lines instead. */
.lang-en .hero-heading{top:42%;font-size:clamp(26px,3.4vw,54px);line-height:1.2}
.lang-en .hero-heading .headline-first,.lang-en .hero-heading .headline-second{position:static;display:block}
.lang-en .hero-button{width:auto;min-width:15.42%;padding:0 24px;white-space:nowrap}
.lang-en .hero-motto{font-size:15px;letter-spacing:2px}
@media(max-width:1023px){.lang-en .hero-heading{top:200px;font-size:40px}}
@media(max-width:599px){.lang-en .hero-heading{left:16px;right:16px;top:170px;font-size:30px;text-align:center}.lang-en .hero-motto{top:256px}.lang-en .hero-button{left:50%;transform:translateX(-50%);padding:0 24px}}
.lang-en .event-copy h3{font-size:13px;line-height:1.5}
.lang-en .event-copy p{font-size:10px;line-height:1.7}
/* Staff impersonation banner + homepage topbar auth links. */
.impersonation-bar{position:sticky;top:0;z-index:100;display:flex;align-items:center;justify-content:center;gap:16px;flex-wrap:wrap;padding:10px 20px;background:#aa215b;color:#fff;font-size:14px}
.impersonation-bar form{display:inline-flex;margin:0}
.impersonation-bar .btn{background:#fff;color:#aa215b;border:0;min-height:34px;padding:5px 14px;font-size:13.5px}
.impersonation-bar .btn:hover{background:#f7d9e6}
.topbar-auth{display:flex;align-items:center;gap:12px;flex-shrink:0}
.topbar-auth a{color:#ece7e0;font-size:13.5px}
.topbar-auth a:hover{color:#e8c987}
.topbar-auth a.topbar-login{text-decoration:underline;text-underline-offset:4px;text-decoration-color:#e8c98766}
.topbar-auth a.topbar-cta,.impersonation-bar ~ * .topbar-cta{border:1.5px solid #e8c987;color:#e8c987;font-weight:700;padding:3px 16px;border-radius:999px;letter-spacing:1px;white-space:nowrap}
.topbar-auth a.topbar-cta:hover{background:#e8c987;color:#211505}
.topbar-logout{display:inline-flex;margin:0}
.topbar-linklike{background:none;border:0;padding:0;font:inherit;cursor:pointer;color:#ece7e0}
.topbar-linklike:hover{color:#e8c987}

/* AI generated: Homepage scroll-reveal (applied via home.js; reduced-motion users skip it). */
.reveal{opacity:0;transform:translateY(26px);transition:opacity .9s cubic-bezier(.22,.61,.36,1),transform .9s cubic-bezier(.22,.61,.36,1)}
.reveal.revealed{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}}

/* AI generated: Progressive breeze layer shares the still artwork geometry, never intercepting navigation. */
.hero-wind-art{background:none;visibility:hidden;overflow:hidden;contain:layout paint;pointer-events:none}
.hero-wind-canvas{display:block;width:100%;height:100%;pointer-events:none}
.hero.is-wind-ready:after{visibility:hidden}
.hero.is-wind-ready .hero-wind-art{visibility:visible}
@media(prefers-reduced-motion:reduce){.hero.is-wind-ready:after{visibility:visible}.hero-wind-art{display:none}}

/* AI generated: Shared menu feedback and dropdown surfaces for home and inner pages. */
.navigation .nav-link:hover, .navigation .nav-link:focus-visible,
.navigation .dropdown a:hover, .navigation .dropdown a:focus-visible { color: #aa215b; background: transparent; }
@media(min-width:1024px){
    .navigation .dropdown { background: #fcf3e8; border: 1px solid #d8b988; border-radius: 6px; box-shadow: 0 6px 18px #40250814; }
}

/* AI generated: Keep the current-page lotus beneath its label inside compact menus as well. */
@media(max-width:1023px){
    .navigation .nav-item.active:after{display:block;top:32px;left:12px;width:36px;height:12px;transform:none}
}
