:root{--theme-background:#f5f8fc;--theme-surface:#fff;--theme-surface-muted:#f1f5fa;--theme-ink:#0c1e33;--theme-ink-secondary:#33475c;--theme-muted:#5d7085;--theme-muted-soft:#8496a9;--theme-border:#dce4ee;--theme-primary:#0c8549;--theme-primary-hover:#0a7340;--theme-primary-deep:#075c33;--theme-primary-soft:#e3f6ec;--theme-on-primary:#fff;--theme-sky-soft:#f1f7ff;--theme-sky-border:#cbe2fd;--theme-link:#1d5fbf;--theme-gps:#1682ff;--theme-live:#f5a01a;--theme-danger:#c02a30;--theme-danger-soft:#fdecec;--theme-shadow:#0c1e33;--theme-map-dot:#c3c7cb;--theme-map-church:#23a365;--theme-map-grid:#dce4ee}:root[data-theme=classic]{--theme-background:#fcf7ee;--theme-surface:#fffaf1;--theme-surface-muted:#f3e8d4;--theme-ink:#4b3523;--theme-ink-secondary:#6b4a2b;--theme-muted:#796a58;--theme-muted-soft:#a59072;--theme-border:#dfcfb5;--theme-primary:#a77228;--theme-primary-hover:#87571d;--theme-primary-deep:#553419;--theme-primary-soft:#f4e7cf;--theme-sky-soft:#fff9ee;--theme-sky-border:#ead9bb;--theme-link:#946524;--theme-shadow:#53331b}:root{--bg:var(--theme-background);--fg:var(--theme-ink);--cream:var(--theme-background);--green:var(--theme-primary);--accent:var(--theme-primary)}body{background:var(--theme-background);color:var(--theme-ink)}.site-header,.news-page-header,.holy-3d-header{background:var(--theme-surface);border-color:var(--theme-border)}.header-cta,.gold-button,.guide-search button,.guide-button,.dashboard-cemetery button,.church-gps-bar button:first-child,.church-detail .church-map-link{background:var(--theme-primary);border-color:var(--theme-primary);color:var(--theme-on-primary);box-shadow:0 4px 14px color-mix(in srgb,var(--theme-shadow) 12%,transparent)}.header-cta:hover,.gold-button:hover,.guide-search button:hover,.guide-button:hover{background:var(--theme-primary-hover);color:var(--theme-on-primary)}.shortcut-card{background:var(--theme-surface);color:var(--theme-ink);border-color:var(--theme-border);box-shadow:0 2px 8px color-mix(in srgb,var(--theme-shadow) 6%,transparent)}.shortcut-card:hover{background:var(--theme-primary-soft);border-color:var(--theme-primary)}.shortcut-card svg{color:var(--theme-primary);filter:none}.hero{color:#fff;background:var(--theme-ink)}.hero h1,.hero h1 em,.hero-copy,.hero-caption{color:#fff}.hero-shade{background:linear-gradient(90deg,#0c1e33c9,#0c1e3338)}.site-footer{background:var(--theme-surface);color:var(--theme-ink);border-top:1px solid var(--theme-border)}.site-footer a,.site-footer p,.site-footer h2,.site-footer h3,.site-footer small{color:inherit}.church-results button[aria-pressed=true],.holy-3d-tools button[aria-pressed=true]{background:var(--theme-ink);border-color:var(--theme-ink);color:var(--theme-on-primary)}.church-results button[aria-pressed=true] span{color:var(--theme-on-primary)}.vietnam-map-card{background:var(--theme-surface)}.vietnam-map-legend i{background:var(--theme-map-church)}.vietnam-map-legend>span+span i{background:var(--theme-live)}.church-gps-dot{background:var(--theme-gps);border-color:var(--theme-surface)}.church-gps-accuracy{background:color-mix(in srgb,var(--theme-gps) 14%,transparent);border-color:color-mix(in srgb,var(--theme-gps) 25%,transparent)}.church-gps-pulse{border-color:color-mix(in srgb,var(--theme-gps) 55%,transparent)}.hero h1>span{color:var(--theme-on-primary)}.site-footer .footer-brand,.site-footer .footer-links>b,.site-footer .footer-social>b{color:var(--theme-ink)}.site-footer .footer-contact,.site-footer .footer-links,.site-footer .footer-bottom{color:var(--theme-muted)}.site-footer .footer-bottom b{color:var(--theme-ink)}.site-footer .footer-social a{background:var(--theme-surface-muted);border-color:var(--theme-border);color:var(--theme-ink-secondary);box-shadow:none}.site-footer a:hover{color:var(--theme-primary)}.site-footer .footer-bottom,.site-footer .footer-brand,.site-footer .footer-social{border-color:var(--theme-border)}@media (max-width:900px){.site-shell .hero,.site-shell .shortcut-wrap{background:var(--theme-background)}}.shortcut-icon{filter:none}.shortcut-icon svg{stroke-width:1.25px;filter:none}.shortcut-icon svg>*{vector-effect:non-scaling-stroke}.hero-no-copy .hero-content{padding-top:0;position:absolute;top:auto;bottom:110px}@media (max-width:900px){.hero-no-copy{min-height:calc(56.2799vw + 74px)}.hero-no-copy .hero-content{padding-top:0;bottom:32px}.site-shell .hero-no-copy{height:auto;min-height:0;padding:0}.hero-no-copy .church-slideshow.hero-photo{aspect-ratio:1672/941;width:100%;height:auto;position:relative;inset:auto}.hero-no-copy .hero-content{max-width:none;padding:18px 22px 30px;position:relative;inset:auto}}:root{--theme-route-start:#388b62;--theme-route-end:#185c40}.cemetery-route-action{background:linear-gradient(145deg,var(--theme-route-start),var(--theme-route-end));color:#fff;box-shadow:0 3px 8px #173d3026}.cemetery-route-action:hover{background:linear-gradient(145deg,var(--theme-route-start),var(--theme-route-end));filter:brightness(1.08)}.cemetery-route-action:focus-visible{outline:2px solid var(--theme-route-end);outline-offset:3px}@media (max-width:480px){.holy-3d-selection-route.cemetery-route-action{width:62px;min-height:56px}.holy-3d-selection-route.cemetery-route-action>.holy-3d-route-label{font-size:16px;display:block}}.holy-3d-tools button.holy-3d-mode-button[aria-pressed=true]{background:linear-gradient(145deg,var(--theme-route-start),var(--theme-route-end));color:#fff}.church-results .church-gps-distance{color:var(--theme-route-end);font-size:16px;font-weight:600}.church-gps-hint{color:var(--theme-muted);margin:0 0 16px;font-size:16px;line-height:1.6}.church-gps-bar>button:first-child{background:linear-gradient(145deg,var(--theme-route-start),var(--theme-route-end));color:#fff}.church-results .church-result-times{color:var(--theme-ink);font-size:18px;line-height:1.6}.church-results .church-result-next{color:var(--theme-route-end);font-size:16px;font-weight:600;line-height:1.6}.church-explorer{grid-template-rows:auto 1fr;grid-template-areas:"gps panel""map panel";row-gap:16px}.church-gps-actions{grid-area:gps}.church-explorer>.vietnam-map-card{grid-area:map}.church-explorer>.church-panel{grid-area:panel}.church-gps-actions .church-gps-bar{padding:0}.church-gps-actions .church-gps-hint{margin:10px 0 0}.church-search-filters{flex-direction:column;gap:12px;display:flex}@media (max-width:900px){.church-explorer{grid-template-rows:auto auto auto;grid-template-areas:"gps""panel""map"}.church-explorer .church-results{max-height:none;overflow:visible}.church-explorer .church-panel{flex-direction:column;display:flex}.church-explorer.has-gps .church-result-section{order:0}.church-explorer.has-gps .church-search-filters{order:2;margin-top:20px}.church-explorer.has-gps .church-detail{order:-1}.church-explorer.has-gps .vietnam-panel-note{order:3}.church-gps-actions .church-gps-bar{gap:8px}.church-gps-actions .church-gps-bar button{padding:10px 12px}}.church-map-sticky{z-index:60;background:var(--theme-background);border-bottom:1px solid var(--theme-border);padding-top:env(safe-area-inset-top,0px);position:sticky;top:0;box-shadow:0 4px 16px #4638270c}.church-map-sticky .news-page-header{padding-top:12px;padding-bottom:12px}.church-map-sticky .church-search-filters{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;max-width:1280px;margin:0 auto;padding:12px 32px 16px;display:grid}.church-search-field{min-width:0}.church-search-field label{color:var(--theme-ink-secondary);margin-bottom:6px;font-size:16px;font-weight:600;display:block}.church-search-field input,.church-search-field select{border:1px solid var(--theme-border);background:var(--theme-surface);width:100%;min-width:0;min-height:48px;color:var(--theme-ink);font:inherit;box-sizing:border-box;border-radius:12px;padding:10px 12px;font-size:18px}.church-search-field input:focus-visible,.church-search-field select:focus-visible{outline:2px solid var(--theme-route-start);outline-offset:2px}.church-explorer>.church-panel{top:calc(var(--map-sticky-height,170px) + 16px);max-height:calc(100dvh - var(--map-sticky-height,170px) - 32px);scroll-margin-top:calc(var(--map-sticky-height,170px) + 16px)}@media (max-width:900px){.church-map-sticky .church-search-filters{gap:12px;padding:10px 20px 14px}.church-explorer>.church-panel{max-height:none;overflow:visible}.church-map-sticky .brand img{width:36px}.church-map-sticky .brand b{font-size:16px}.church-map-sticky .brand small{font-size:18px}}@media (max-width:480px){.church-map-sticky .news-page-header{padding:10px 16px}.church-map-sticky .church-search-filters{gap:10px;padding:8px 12px 12px}.church-search-field input,.church-search-field select{padding:10px;font-size:16px}.church-search-field label{font-size:16px}}@media (max-width:900px){.news-page-header,.history-topbar,.mobile-page-header,.holy-3d-header{z-index:60;background:var(--theme-surface);position:sticky;top:0;box-shadow:0 3px 12px #4638270c}.church-map-sticky .news-page-header{box-shadow:none;position:static}:is(.mass-times-page,.history-page,.news-page,.biography-page,.legal-page) :is(section[id],details[id]){scroll-margin-top:112px}}
