.temple-hero {
    background: #23110c;
    color: #fff8ee;
}
.temple-hero__image { object-position: 72% center; }
.temple-hero__shade {
    background: linear-gradient(90deg, rgba(30, 13, 9, .97) 0%, rgba(34, 15, 10, .88) 30%, rgba(34, 15, 10, .36) 66%, rgba(34, 15, 10, .08) 100%), linear-gradient(0deg, rgba(30, 13, 9, .88), transparent 45%);
}
.temple-hero__inner { padding-top: 26px; }
.temple-breadcrumb { color: #e7d3b9; }
.temple-hero__content { max-width: 650px; padding: 48px 0 44px; }
.temple-location {
    display: inline-flex;
    gap: 8px;
    align-items: center;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: .08em;
    color: #f6dbac;
}
.temple-location i { color: #f5b351; }
.temple-hero__mantra, .temple-hero__hindi, .temple-welcome__mantra {
    font-family: 'Tiro Devanagari Hindi', serif;
}
.temple-hero__mantra { color: #f6c778; font-size: 25px; line-height: 1.7; margin: 18px 0 12px; }
.temple-hero h1 {
    font-family: 'Playfair Display', Georgia, serif;
    font-size: clamp(36px, 4.3vw, 60px);
    font-weight: 700;
    color: #fff8ee;
    line-height: 1.13;
    letter-spacing: -.025em;
    text-wrap: balance;
    margin: 0;
}
.temple-hero__hindi { font-size: 20px; color: #e8cfb0; margin-top: 14px; }
.temple-hero__description { max-width: 520px; font-size: 13px; line-height: 1.9; color: #e1d6c8; margin-top: 18px; }
.temple-primary-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    padding: 15px 22px;
    border: 1px solid #e7ab54;
    border-radius: 9px;
    background: linear-gradient(115deg, #f4bf6c, #df9d40);
    color: #341a0c;
    font-weight: 800;
    font-size: 12px;
    box-shadow: 0 6px 26px #0002;
    transition: background .2s, transform .2s;
}
.temple-primary-link:hover { background: #ffd794; transform: translateY(-2px); }
.temple-sound {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 8px 13px;
    border: 1px solid #e3bf7b55;
    border-radius: 9px;
    background: #24110a55;
    color: #fff5e4;
    text-align: left;
    font-size: 11px;
    font-weight: 700;
}
.temple-sound[hidden] { display: none; }
.temple-sound small { display: block; font-size: 9px; font-weight: 400; color: #d9c5aa; margin-top: 3px; }
.temple-sound__icon { color: #f5bf6a; font-size: 15px; }
.temple-sound[aria-pressed='true'] { background: #815b2c66; border-color: #e7b96c; }
.temple-sound:hover { border-color: #e7b96c; }
.temple-sound:disabled { opacity: .65; }
.temple-hero__foot { border-top: 1px solid #f9dfb82b; padding: 20px 0; font-size: 10px; color: #e3d3be; }
.temple-hero__foot span { display: inline-flex; align-items: center; gap: 9px; }
.temple-hero__foot i { color: #ebba6e; font-size: 14px; }
.temple-section-nav { background: #fffdfa; border-bottom: 1px solid #ebdfd0; }
.temple-section-nav > div { overflow-x: auto; scrollbar-width: thin; }
.temple-section-nav a { flex-shrink: 0; padding: 21px 0 18px; font-size: 11px; font-weight: 700; color: #7b6255; border-bottom: 3px solid transparent; }
.temple-section-nav a:first-child { color: #a34e17; border-color: #ce8c36; }
.temple-section-nav a:hover, .temple-section-nav a:focus-visible { color: #a34e17; border-color: #ce8c36; }
.temple-content { background: radial-gradient(ellipse at top left, #f7e8d322, transparent 45%), #fffaf3; }
.temple-content h2 { font-size: 23px; letter-spacing: -.04em; line-height: 1.4; }
.temple-kicker { font-size: 10px; letter-spacing: .19em; text-transform: uppercase; color: #ac672b; font-weight: 700; }
.temple-anchor { scroll-margin-top: 110px; }
.temple-seva-card { position: relative; border-color: #ecdfcc; box-shadow: 0 5px 22px #6e3d0e05; }
.temple-seva-card:hover { transform: translateY(-3px); }
.temple-offering { border-color: #e5ceaa; box-shadow: 0 12px 45px #6b391612; background: linear-gradient(160deg, #fff8e9, #fff 40%); overflow: hidden; }
.temple-offering::before { content: ''; position: absolute; inset: 0 0 auto; height: 4px; background: linear-gradient(90deg, #9c481c, #f3c376, #9c481c); }
.temple-offering__emblem { width: 48px; height: 48px; display: grid; place-items: center; color: #ab6024; border: 1px solid #e6cd9f; border-radius: 50%; background: #fff5df; font-size: 20px; }
.temple-offering h3 { line-height: 1.5; }
.temple-offering p { line-height: 1.8; }
.temple-offering select, .temple-offering input { min-height: 44px; }
.temple-welcome {
    position: fixed;
    inset: 0;
    z-index: 100;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 24px;
    background: radial-gradient(ellipse at 50% 38%, #62301b 0, #2c140f 45%, #1b0d0a 100%);
    color: #ffedcb;
    text-align: center;
    animation: temple-welcome-exit .35s ease 2s forwards;
}
.temple-welcome[hidden] { display: none; }
.temple-welcome__halo {
    position: relative;
    width: 146px;
    height: 146px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    border: 1px solid #f6ca7855;
    box-shadow: 0 0 70px #e8a34b22, inset 0 0 50px #e8a34b11;
    margin-bottom: 35px;
}
.temple-welcome__halo::before, .temple-welcome__halo::after { content: ''; position: absolute; inset: -12px; border: 1px solid #efbc5f26; border-radius: 50%; }
.temple-welcome__halo::after { inset: -24px; border-style: dashed; animation: temple-halo-spin 35s linear infinite; }
.temple-welcome__halo span { font-family: 'Tiro Devanagari Hindi', serif; font-size: 77px; line-height: 1; color: #f7ca7d; padding-top: 13px; text-shadow: 0 0 30px #efb75766; }
.temple-eyebrow { font-size: 9px; font-weight: 600; text-transform: uppercase; letter-spacing: .26em; color: #d3af7c; }
.temple-welcome__mantra { font-size: clamp(29px, 5vw, 43px); margin-top: 15px; line-height: 1.6; max-width: 760px; }
.temple-welcome__name { font-size: 11px; margin-top: 12px; color: #d6c0a1; }
.temple-welcome__line { height: 2px; width: 90px; background: #f7c16a33; margin-top: 28px; overflow: hidden; border-radius: 3px; }
.temple-welcome__line::after { content: ''; display: block; height: 100%; background: #e6b368; animation: temple-loading 1.7s ease-in-out forwards; transform-origin: left; }
#skipTempleWelcome { margin-top: 24px; font-size: 10px; color: #d5bd9a; padding: 9px 16px; border: 1px solid #d5bd9a33; border-radius: 20px; }
.temple-primary-link:focus-visible, .temple-sound:focus-visible, #skipTempleWelcome:focus-visible { outline: 2px solid #efb95f; outline-offset: 4px; }
@keyframes temple-halo-spin { to { transform: rotate(360deg); } }
@keyframes temple-loading { from { transform: scaleX(0); } to { transform: scaleX(1); } }
@keyframes temple-welcome-exit { to { opacity: 0; visibility: hidden; pointer-events: none; } }
@media (max-width: 639px) {
    .temple-hero__inner { padding-top: 20px; }
    .temple-hero__content { padding: 36px 0; }
    .temple-hero__shade { background: linear-gradient(0deg, #24110bf5, #24110bb3 65%, #24110b66); }
    .temple-hero__image { object-position: 66% center; }
    .temple-hero__description { font-size: 12px; }
    .temple-hero__mantra { font-size: 23px; margin-top: 16px; }
    .temple-hero__foot { font-size: 9px; line-height: 1.6; }
    .temple-content h2 { font-size: 21px; }
    .temple-section-nav a { padding-top: 17px; padding-bottom: 14px; font-size: 10px; }
    .temple-anchor { scroll-margin-top: 88px; }
}
@media (prefers-reduced-motion: reduce) {
    .temple-welcome, .temple-welcome *, .temple-welcome *::after { animation: none; }
    .temple-primary-link, .temple-seva-card { transition: none; transform: none; }
    html:has(.temple-hero) { scroll-behavior: auto; }
}
