:root {
    --ink: #102b4d;
    --ink-deep: #071a33;
    --cream: #edf6ff;
    --paper: #f8fbff;
    --line: rgba(16, 62, 112, .14);
    --muted: #667d98;
    --amber: #f4c76b;
    --coral: #7d72e8;
    --mint: #54b6ff;
    --blue: #258cff;
    --shadow: 0 24px 70px rgba(18, 67, 124, .13);
    --shell: min(1180px, calc(100vw - 44px));
    --radius: 28px;
}

* { box-sizing: border-box; }
html { max-width: 100%; overflow-x: clip; scroll-behavior: smooth; scroll-padding-top: 110px; }
body { max-width: 100%; margin: 0; overflow-x: clip; background: var(--paper); color: var(--ink); font-family: "Noto Sans TC", "Microsoft JhengHei", system-ui, sans-serif; line-height: 1.7; }
body.nav-open { overflow: hidden; }
a { color: inherit; text-decoration: none; }
img { display: block; max-width: 100%; }
button, input, textarea { font: inherit; }
button { color: inherit; }
svg { width: 1.15em; height: 1.15em; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.shell { width: var(--shell); margin-inline: auto; }
.section { padding-block: 110px; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.skip-link { position: fixed; left: 16px; top: -80px; z-index: 999; background: #fff; padding: 12px 18px; border-radius: 8px; transition: top .2s; }
.skip-link:focus { top: 16px; }
.preview-banner { min-height: 34px; padding: 6px 22px; display: flex; align-items: center; justify-content: center; gap: 12px; background: var(--amber); color: var(--ink-deep); font-size: 12px; letter-spacing: .03em; text-align: center; }
.preview-banner strong { font-weight: 700; }

.site-header { position: sticky; top: 0; z-index: 100; background: rgba(255,253,248,.92); border-bottom: 1px solid transparent; backdrop-filter: blur(18px); transition: box-shadow .25s, border-color .25s; }
.site-header.is-scrolled { border-color: var(--line); box-shadow: 0 12px 32px rgba(11,36,35,.08); }
.header-inner { min-height: 86px; display: flex; align-items: center; justify-content: space-between; gap: 30px; }
.brand { display: flex; align-items: center; gap: 13px; flex: 0 0 auto; }
.brand img { width: 50px; height: 50px; }
.brand-copy { display: grid; line-height: 1.15; }
.brand-copy strong { font-size: 19px; letter-spacing: .08em; }
.brand-copy small { margin-top: 6px; color: var(--muted); font-size: 9px; font-weight: 700; letter-spacing: .17em; }
.site-nav { display: flex; align-items: center; gap: 8px; }
.site-nav a { position: relative; padding: 10px 13px; font-size: 15px; font-weight: 700; }
.site-nav a:not(.nav-contact)::after { content: ""; position: absolute; left: 13px; right: 13px; bottom: 4px; height: 2px; border-radius: 2px; background: var(--coral); transform: scaleX(0); transition: transform .2s; }
.site-nav a:hover::after, .site-nav a.is-active::after { transform: scaleX(1); }
.site-nav .nav-contact { margin-left: 6px; padding: 12px 18px; border-radius: 999px; background: var(--ink); color: #fff; }
.nav-toggle { display: none; width: 46px; height: 46px; border: 1px solid var(--line); border-radius: 50%; background: transparent; align-items: center; justify-content: center; flex-direction: column; gap: 5px; }
.nav-toggle > span:not(.sr-only) { width: 19px; height: 2px; background: var(--ink); transition: transform .2s, opacity .2s; }

.hero { position: relative; min-height: calc(100svh - 120px); isolation: isolate; overflow: hidden; background: var(--ink-deep); color: #fff; display: flex; align-items: center; }
.hero-image, .hero-shade { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: -3; }
.hero-shade { z-index: -2; background: linear-gradient(90deg, rgba(5,25,28,.98) 0%, rgba(7,29,31,.88) 35%, rgba(7,29,31,.26) 72%, rgba(7,29,31,.12) 100%); }
.hero-orbit { position: absolute; z-index: -1; width: 640px; height: 640px; border: 1px solid rgba(255,255,255,.14); border-radius: 50%; left: -330px; top: 50%; transform: translateY(-50%); }
.hero-orbit::before, .hero-orbit::after { content: ""; position: absolute; border: 1px solid rgba(255,255,255,.1); border-radius: 50%; inset: 70px; }
.hero-orbit::after { inset: 150px; }
.hero-content { padding-block: 110px 170px; }
.hero-content h1, .page-hero h1 { max-width: 790px; margin: 20px 0 26px; font-size: clamp(46px, 6vw, 82px); line-height: 1.12; letter-spacing: -.055em; }
.hero-content h1 em { color: #ffd07d; font-family: Georgia, "Noto Serif TC", serif; font-weight: 600; }
.hero-content > p { max-width: 610px; margin: 0; color: rgba(255,255,255,.76); font-size: clamp(17px, 2vw, 21px); }
.eyebrow { display: inline-flex; align-items: center; gap: 9px; color: var(--coral); font-size: 12px; font-weight: 900; letter-spacing: .2em; }
.eyebrow::before { content: ""; width: 24px; height: 2px; background: currentColor; }
.eyebrow-light { color: #ffd07d; }
.hero-actions { display: flex; gap: 12px; margin-top: 36px; flex-wrap: wrap; }
.button { min-height: 52px; display: inline-flex; align-items: center; justify-content: center; gap: 10px; border: 0; border-radius: 999px; padding: 13px 22px; font-weight: 800; cursor: pointer; transition: transform .2s, box-shadow .2s, background .2s; }
.button:hover { transform: translateY(-2px); }
.button-light { background: #fff; color: var(--ink-deep); box-shadow: 0 12px 30px rgba(0,0,0,.15); }
.button-dark { background: var(--ink); color: #fff; box-shadow: 0 12px 30px rgba(11,36,35,.18); }
.button-ghost { border: 1px solid rgba(255,255,255,.36); color: #fff; background: rgba(255,255,255,.05); backdrop-filter: blur(10px); }
.hero-next { position: absolute; left: 50%; bottom: 0; transform: translateX(-50%); min-height: 92px; display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 18px; padding: 17px 26px; background: rgba(255,253,248,.95); color: var(--ink); border-radius: 24px 24px 0 0; backdrop-filter: blur(16px); }
.hero-next .live-dot { width: 12px; height: 12px; background: var(--coral); border-radius: 50%; box-shadow: 0 0 0 7px rgba(231,111,81,.14); }
.hero-next div { display: grid; }
.hero-next small { color: var(--muted); font-size: 10px; font-weight: 800; letter-spacing: .15em; }
.hero-next strong { font-size: 16px; }
.hero-next a { display: flex; align-items: center; gap: 8px; color: var(--coral); font-weight: 800; }

.section-heading h2, .newcomer-callout h2, .group-intro h2, .faq-section h2 { margin: 14px 0 0; max-width: 780px; font-size: clamp(34px, 4vw, 54px); line-height: 1.25; letter-spacing: -.045em; }
.split-heading { display: grid; grid-template-columns: minmax(0,1.4fr) minmax(270px,.6fr); gap: 70px; align-items: end; }
.split-heading > p { margin: 0; color: var(--muted); font-size: 17px; }
.heading-row { display: flex; align-items: end; justify-content: space-between; gap: 30px; margin-bottom: 45px; }
.text-link { display: inline-flex; align-items: center; gap: 8px; color: var(--coral); font-weight: 800; white-space: nowrap; }
.welcome-cards { display: grid; grid-template-columns: repeat(3,1fr); gap: 18px; margin-top: 54px; }
.welcome-card { min-height: 250px; padding: 28px; border-radius: var(--radius); display: flex; flex-direction: column; justify-content: space-between; overflow: hidden; position: relative; }
.welcome-card::after { content: ""; position: absolute; width: 180px; height: 180px; border-radius: 50%; border: 30px solid rgba(255,255,255,.2); right: -70px; top: -70px; }
.card-sun { background: #d9edff; }.card-leaf { background: #bfe3ff; }.card-coral { background: #dcd8ff; }
.card-number { font-weight: 900; font-size: 13px; letter-spacing: .1em; }
.welcome-card strong { display: block; font-size: 25px; }
.welcome-card p { margin: 8px 0 0; color: rgba(11,36,35,.72); }

.gathering-section { background: var(--cream); }
.gathering-grid { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 14px; }
.gathering-card { min-height: 230px; padding: 26px; display: flex; flex-direction: column; border: 1px solid var(--line); border-radius: var(--radius); background: var(--paper); transition: transform .25s, box-shadow .25s; }
.gathering-card:hover { transform: translateY(-7px); box-shadow: var(--shadow); }
.gathering-top { display: flex; justify-content: space-between; color: var(--muted); font-size: 11px; font-weight: 900; letter-spacing: .16em; }
.gathering-icon { width: 43px; height: 43px; display: grid; place-items: center; border-radius: 50%; color: var(--ink); background: var(--amber); font-size: 13px; }
.tone-blue .gathering-icon { background: #b6d9f1; }.tone-coral .gathering-icon { background: #f7b7a5; }.tone-green .gathering-icon { background: #b9e6d2; }
.gathering-card h3 { margin: 38px 0 12px; font-size: 25px; line-height: 1.3; }
.gathering-time { font-size: 14px; }
.gathering-card p { color: var(--muted); font-size: 14px; }
.gathering-card > a { margin-top: auto; display: flex; align-items: center; gap: 7px; font-weight: 800; }

.heading-actions { display: flex; align-items: center; gap: 18px; }
.auto-badge { display: inline-flex; align-items: center; gap: 8px; color: var(--muted); font-size: 12px; font-weight: 700; }
.auto-badge i { width: 8px; height: 8px; border-radius: 50%; background: var(--mint); box-shadow: 0 0 0 5px rgba(92,200,161,.15); }
.activity-grid { display: grid; grid-template-columns: 1.35fr .82fr .82fr; gap: 20px; }
.activity-card { overflow: hidden; border: 1px solid var(--line); border-radius: var(--radius); background: #fff; }
.activity-image { position: relative; display: block; overflow: hidden; aspect-ratio: 1.35/1; }
.activity-card-2 .activity-image, .activity-card-3 .activity-image { aspect-ratio: 1.05/1; }
.activity-image img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s; }
.activity-card:hover .activity-image img { transform: scale(1.04); }
.sample-label, .photo-count { position: absolute; top: 15px; border-radius: 999px; padding: 7px 11px; color: #fff; font-size: 11px; font-weight: 800; backdrop-filter: blur(12px); }
.sample-label { left: 15px; background: rgba(11,36,35,.7); }.photo-count { right: 15px; display: flex; align-items: center; gap: 5px; background: rgba(255,255,255,.18); }
.activity-copy { padding: 24px; }
.activity-meta { display: flex; align-items: center; justify-content: space-between; gap: 10px; color: var(--muted); font-size: 11px; font-weight: 800; letter-spacing: .08em; }
.activity-meta span { color: var(--coral); }
.activity-copy h3 { margin: 12px 0 8px; font-size: 23px; line-height: 1.4; }
.activity-copy p { margin: 0; color: var(--muted); font-size: 14px; }
.activity-card-2 .activity-copy h3, .activity-card-3 .activity-copy h3 { font-size: 19px; }

.story-section { background: linear-gradient(125deg,#071a33,#0b3769); color: #fff; }
.story-grid { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1.15fr); gap: 56px; align-items: center; }
.story-copy { min-width: 0; }
.story-copy h2 { margin: 15px 0 22px; font-size: clamp(36px,3.35vw,52px); line-height: 1.22; letter-spacing: -.035em; text-wrap: balance; line-break: strict; }
.story-copy p { color: rgba(255,255,255,.68); font-size: 17px; }
.story-copy .button { margin-top: 18px; }
.featured-media-section { position: relative; overflow: hidden; }
.featured-media-section::before { content: ""; position: absolute; width: 440px; height: 440px; right: -180px; top: -220px; border-radius: 50%; background: radial-gradient(circle,rgba(60,157,255,.2),rgba(60,157,255,0) 70%); pointer-events: none; }
.featured-media-grid { grid-template-columns: minmax(0,1.18fr) minmax(330px,.82fr); gap: clamp(34px,5vw,72px); align-items: center; }
.featured-media-visual { min-width: 0; }
.featured-media-visual .video-embed { border: 1px solid rgba(255,255,255,.14); box-shadow: 0 30px 80px rgba(0,0,0,.38); }
.featured-media-watch-hint { display: inline-flex; align-items: center; gap: 9px; margin: 15px 0 0 12px; color: rgba(255,255,255,.74); font-size: 13px; font-weight: 800; letter-spacing: .04em; }
.featured-media-watch-hint svg { width: 16px; height: 16px; color: var(--amber); }
.featured-media-copy { padding: clamp(26px,3vw,42px); border: 1px solid rgba(255,255,255,.14); border-radius: 30px; background: linear-gradient(145deg,rgba(255,255,255,.095),rgba(255,255,255,.035)); box-shadow: 0 26px 70px rgba(0,0,0,.2); backdrop-filter: blur(14px); }
.featured-media-copy h2 { margin: 13px 0 10px; font-size: clamp(30px,3vw,46px); line-height: 1.22; }
.featured-media-meta { margin-top: 19px; color: rgba(255,255,255,.58); }
.featured-media-meta span { color: var(--amber); }
.featured-media-speaker { display: block; color: #8bd4ff; font-size: 15px; }
.featured-media-excerpt { margin: 22px 0 0; color: rgba(255,255,255,.76) !important; font-size: 17px !important; line-height: 1.85; }
.featured-media-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 25px; }
.story-copy .featured-media-actions .button { width: auto; margin-top: 0; }
.media-card { scroll-margin-top: 112px; }
.media-library-section { background: linear-gradient(180deg,#f5f9fe,#fff 32%); }
.media-library-toolbar { display: grid; gap: 20px; margin-bottom: 34px; padding: 24px; border: 1px solid #d8e5f2; border-radius: 26px; background: rgba(255,255,255,.92); box-shadow: 0 20px 55px rgba(21,65,112,.09); }
.media-search-form { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 12px; }
.media-search-form input[type="search"] { min-width: 0; height: 54px; padding: 0 18px; border: 1px solid #bfd2e6; border-radius: 999px; background: #f8fbff; color: var(--ink); font: inherit; }
.media-search-form input[type="search"]:focus { outline: 3px solid rgba(37,140,255,.15); border-color: #258cff; }
.media-kind-filters { display: flex; gap: 9px; overflow-x: auto; padding-bottom: 3px; scrollbar-width: thin; }
.media-filter { flex: 0 0 auto; padding: 10px 15px; border: 1px solid #cbddec; border-radius: 999px; color: #385a78; background: #fff; font-size: 13px; font-weight: 850; }
.media-filter:hover,.media-filter.is-active { border-color: #1778dc; color: #fff; background: linear-gradient(135deg,#258cff,#1265c8); box-shadow: 0 10px 24px rgba(30,112,203,.2); }
.media-result-summary { display: flex; align-items: center; justify-content: space-between; gap: 15px; color: #536f89; font-size: 14px; }
.media-result-summary a { color: #146fce; font-weight: 800; }
.media-library-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 25px; }
.media-library-card { display: flex; min-width: 0; flex-direction: column; overflow: hidden; border: 1px solid #d8e4ef; border-radius: 26px; background: #fff; box-shadow: 0 18px 50px rgba(16,57,99,.1); transition: transform .25s,border-color .25s,box-shadow .25s; }
.media-library-card:hover { transform: translateY(-5px); border-color: #95c7f5; box-shadow: 0 24px 60px rgba(16,75,134,.16); }
.media-thumbnail { position: relative; display: block; aspect-ratio: 16/9; overflow: hidden; background: #071a33; }
.media-thumbnail img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s,opacity .3s; }
.media-library-card:hover .media-thumbnail img { transform: scale(1.035); opacity: .88; }
.media-thumbnail::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg,transparent 45%,rgba(4,20,38,.32)); }
.media-thumbnail-play { position: absolute; z-index: 1; inset: 0; display: grid; place-items: center; width: 64px; height: 64px; margin: auto; border-radius: 50%; color: #fff; background: linear-gradient(135deg,#ff5964,#e21f35); box-shadow: 0 14px 30px rgba(152,12,34,.32); }
.media-thumbnail-play svg { width: 29px; height: 29px; }
.media-library-copy { display: flex; flex: 1; flex-direction: column; padding: 23px; }
.media-library-copy h2 { margin: 13px 0 8px; font-size: 24px; line-height: 1.35; }
.media-library-copy h2 a { color: var(--ink); }
.media-library-copy>strong { color: #1671cf; font-size: 14px; }
.media-library-copy>p { display: -webkit-box; margin: 16px 0 20px; overflow: hidden; color: var(--muted); line-height: 1.75; -webkit-box-orient: vertical; -webkit-line-clamp: 3; }
.media-card-link { display: inline-flex; align-items: center; gap: 8px; margin-top: auto; color: #126dcc; font-weight: 850; }
.media-card-link svg { width: 18px; height: 18px; }
.pagination { display: flex; flex-wrap: wrap; justify-content: center; gap: 9px; margin-top: 40px; }
.pagination a { min-width: 43px; min-height: 43px; display: inline-grid; place-items: center; padding: 8px 13px; border: 1px solid #c9daea; border-radius: 12px; color: #365773; background: #fff; font-weight: 850; }
.pagination a:hover,.pagination a.is-active { border-color: #1778dc; color: #fff; background: #1778dc; }
.media-detail-header { padding: 58px 0 48px; color: #fff; background: radial-gradient(circle at 80% 10%,rgba(52,155,255,.28),transparent 34%),linear-gradient(135deg,#071a33,#0c4077); }
.media-detail-header .shell { max-width: 1050px; }
.media-detail-back { display: inline-flex; margin-bottom: 32px; color: #9bd6ff; font-weight: 850; }
.media-detail-header .activity-meta { max-width: 560px; color: rgba(255,255,255,.66); }
.media-detail-header .activity-meta span { color: var(--amber); }
.media-detail-header h1 { max-width: 900px; margin: 15px 0 13px; font-size: clamp(38px,6vw,68px); line-height: 1.12; }
.media-detail-header strong { color: #8fd2ff; }
.media-detail-layout { max-width: 1050px; display: grid; gap: 32px; }
.media-detail-video { border: 1px solid #c6daec; border-radius: 28px; box-shadow: 0 28px 75px rgba(7,42,78,.2); }
.media-detail-body { padding: clamp(27px,5vw,58px); border: 1px solid #d7e3ee; border-radius: 28px; background: #fff; box-shadow: 0 18px 55px rgba(19,60,101,.08); color: #294d6b; }
.media-detail-body p,.media-detail-body li { font-size: 17px; line-height: 1.95; }
.story-video { position: relative; width: 100%; padding: 0; border: 0; border-radius: 30px; overflow: hidden; background: #000; cursor: pointer; aspect-ratio: 16/10; text-align: left; }
.story-video img { width: 100%; height: 100%; object-fit: cover; opacity: .73; transition: transform .6s, opacity .3s; }
.story-video:hover img { transform: scale(1.035); opacity: .82; }
.video-play { position: absolute; inset: 0; margin: auto; width: 82px; height: 82px; display: grid; place-items: center; color: var(--ink); background: #fff; border-radius: 50%; font-size: 30px; }
.video-caption { position: absolute; left: 28px; right: 28px; bottom: 25px; display: grid; color: #fff; }
.video-caption small { color: #ffd07d; font-weight: 800; }.video-caption strong { font-size: 21px; }
.newcomer-callout { display: grid; grid-template-columns: 1fr auto; align-items: end; gap: 55px; }
.newcomer-callout p { max-width: 780px; color: var(--muted); font-size: 17px; }

.visit-section { position: relative; overflow: hidden; color: #fff; background: linear-gradient(135deg,#071a33 0%,#0b3769 62%,#57172c 100%); }
.visit-section::before { content: ""; position: absolute; width: 430px; height: 430px; left: -180px; bottom: -260px; border: 1px solid rgba(247,184,75,.25); border-radius: 50%; box-shadow: 0 0 0 75px rgba(247,184,75,.035),0 0 0 150px rgba(255,107,107,.025); pointer-events: none; }
.visit-grid { position: relative; display: grid; grid-template-columns: minmax(320px,.78fr) minmax(0,1.22fr); gap: 58px; align-items: center; }
.visit-copy { min-width: 0; }
.visit-copy .eyebrow { color: #ff8790; }
.visit-copy h2 { margin: 16px 0 22px; font-size: clamp(38px,4.3vw,62px); line-height: 1.16; letter-spacing: -.045em; }
.visit-copy > p { max-width: 590px; margin: 0; color: rgba(255,255,255,.72); font-size: 17px; }
.visit-details { display: grid; gap: 12px; margin: 30px 0 0; }
.visit-details div { display: grid; grid-template-columns: 76px 1fr; gap: 15px; padding-top: 12px; border-top: 1px solid rgba(255,255,255,.14); }
.visit-details dt { color: #f7b84b; font-size: 11px; font-weight: 900; letter-spacing: .12em; }
.visit-details dd { margin: 0; color: #fff; font-weight: 700; }
.visit-actions { display: flex; align-items: center; gap: 22px; margin-top: 30px; flex-wrap: wrap; }
.visit-primary { color: #fff; background: linear-gradient(135deg,#c92f4f,#ff6b6b); box-shadow: 0 14px 34px rgba(139,24,55,.36); }
.visit-actions .text-link { color: #fff; }
.visit-map { position: relative; min-height: 470px; overflow: hidden; border: 1px solid rgba(255,255,255,.2); border-radius: 34px; background: #e8eef4; box-shadow: 0 30px 80px rgba(1,12,27,.42); }
.visit-map iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.visit-map-badge { position: absolute; z-index: 1; left: 20px; bottom: 20px; display: inline-flex; align-items: center; gap: 8px; padding: 10px 14px; color: #fff; background: rgba(7,26,51,.9); border: 1px solid rgba(255,255,255,.22); border-radius: 999px; font-size: 12px; font-weight: 800; backdrop-filter: blur(12px); pointer-events: none; }

.site-footer { padding: 72px 0 105px; color: rgba(255,255,255,.74); background: #06162b; }
.footer-grid { display: grid; grid-template-columns: 1.4fr 1fr 1fr .7fr; gap: 45px; }
.footer-brand { display: flex; gap: 15px; align-items: start; }.footer-brand img { width: 58px; }
.footer-brand strong { color: #fff; font-size: 21px; }.footer-brand p { margin: 7px 0 0; font-size: 13px; }
.footer-label { display: block; margin-bottom: 8px; color: #ffd07d; font-size: 11px; font-weight: 900; letter-spacing: .15em; }
.footer-grid p { margin: 0; font-size: 14px; }
.footer-links { display: grid; align-content: start; gap: 8px; font-size: 14px; font-weight: 700; }
.footer-bottom { display: flex; justify-content: space-between; gap: 20px; margin-top: 50px; padding-top: 24px; border-top: 1px solid rgba(255,255,255,.12); font-size: 12px; }
.mobile-actions { display: none; }

.page-hero { position: relative; overflow: hidden; padding: 120px 0 105px; color: #fff; background: var(--ink-deep); }
.page-hero::before, .page-hero::after { content: ""; position: absolute; border-radius: 50%; pointer-events: none; }
.page-hero::before { width: 520px; height: 520px; right: 7%; top: -270px; border: 1px solid rgba(255,255,255,.16); box-shadow: 0 0 0 80px rgba(255,255,255,.025), 0 0 0 160px rgba(255,255,255,.02); }
.page-hero::after { width: 220px; height: 220px; right: 23%; bottom: -140px; background: var(--coral); filter: blur(80px); opacity: .36; }
.page-hero h1 { font-size: clamp(46px,6vw,76px); }
.page-hero p { max-width: 680px; color: rgba(255,255,255,.7); font-size: 18px; }
.page-hero-gatherings { background: linear-gradient(125deg,#0b3769,#071a33); }.page-hero-activities { background: linear-gradient(125deg,#173d74,#101c42); }.page-hero-newcomer { background: linear-gradient(125deg,#15559a,#071a33); }.page-hero-about { background: linear-gradient(125deg,#0e4d91,#0b2e59); }.page-hero-pastors { background: linear-gradient(125deg,#403b8f,#0b3769); }

/* v0.3.0 blue identity, daily devotion and media */
.preview-banner{background:#0d67cf;color:#fff}.site-header{background:rgba(248,251,255,.94);border-color:rgba(17,75,138,.12)}
.brand img{filter:drop-shadow(0 8px 16px rgba(28,109,201,.2))}.brand-copy small,.eyebrow{color:#1675dc}.site-nav a:after{background:var(--blue)}.site-nav .nav-contact{background:linear-gradient(135deg,#258cff,#135dbd);box-shadow:0 10px 24px rgba(37,140,255,.22)}
.hero{background:#071a33}.hero-shade{background:linear-gradient(90deg,rgba(5,20,40,.94) 0,rgba(8,40,77,.74) 48%,rgba(7,26,51,.28) 100%)}.hero-orbit{border-color:rgba(95,190,255,.28);box-shadow:0 0 0 50px rgba(58,160,244,.05),0 0 0 110px rgba(58,160,244,.04)}.hero-content h1 em,.eyebrow-light,.footer-label,.video-caption small{color:var(--amber)}
.hero-cross{position:absolute;z-index:-1;right:clamp(24px,9vw,145px);top:11%;width:clamp(150px,24vw,330px);height:clamp(220px,38vw,490px);opacity:.34;filter:drop-shadow(0 0 50px rgba(106,192,255,.42))}.hero-cross:before,.hero-cross:after{content:"";position:absolute;border-radius:10px;background:linear-gradient(180deg,#fff6d4,#f4c76b)}.hero-cross:before{left:39%;top:0;width:22%;height:100%}.hero-cross:after{left:0;top:27%;width:100%;height:15%}.hero-cross span{position:absolute;inset:-35px;border:1px solid rgba(123,205,255,.28);border-radius:50%;animation:cross-pulse 5s ease-in-out infinite}
@keyframes cross-pulse{50%{transform:scale(1.055);opacity:.55}}
.live-dot{background:#5abaff;box-shadow:0 0 0 6px rgba(90,186,255,.15)}.button-dark{background:linear-gradient(135deg,#176fda,#0b3769);box-shadow:0 12px 30px rgba(18,81,151,.23)}
.gathering-section{background:#edf6ff}.tone-blue .gathering-icon{background:#cce8ff}.tone-coral .gathering-icon{background:#ddd8ff}.tone-mint .gathering-icon{background:#bfe3ff}.auto-badge i{background:#258cff}
.daily-devotion{position:relative;overflow:hidden;background:linear-gradient(135deg,#071a33,#0a3970 62%,#1166bd);color:#fff}.daily-devotion:before{content:"";position:absolute;inset:0;background:linear-gradient(rgba(111,195,255,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(111,195,255,.06) 1px,transparent 1px);background-size:42px 42px;mask-image:linear-gradient(90deg,#000,transparent)}.devotion-grid{position:relative;display:grid;grid-template-columns:1.05fr .95fr;border:1px solid rgba(154,218,255,.22);border-radius:30px;overflow:hidden;box-shadow:0 30px 80px rgba(0,14,32,.28)}.devotion-verse,.devotion-guide{padding:clamp(34px,6vw,70px)}.devotion-verse{position:relative;background:rgba(5,25,49,.62)}.devotion-verse blockquote{margin:35px 0 22px;font:600 clamp(28px,4vw,48px)/1.6 Georgia,"Noto Serif TC",serif;letter-spacing:.02em}.devotion-verse>strong{color:var(--amber)}.devotion-cross{position:absolute;right:28px;top:22px;color:rgba(244,199,107,.22);font-size:105px}.devotion-cross svg{fill:currentColor;stroke:none}.devotion-guide{background:rgba(255,255,255,.96);color:var(--ink)}.devotion-guide h2{margin:12px 0 18px;font-size:clamp(27px,4vw,43px);line-height:1.25}.devotion-guide p{color:var(--muted)}.devotion-guide ol{counter-reset:prayer;display:grid;gap:12px;margin:24px 0;padding:0;list-style:none}.devotion-guide li{display:flex;gap:12px;align-items:flex-start}.devotion-guide li:before{counter-increment:prayer;content:counter(prayer);min-width:28px;height:28px;display:grid;place-items:center;border-radius:50%;background:#dceeff;color:#1265c8;font-weight:900}.devotion-guide small{display:block;padding-top:18px;border-top:1px solid var(--line);color:#8293a8}
.video-embed{position:relative;width:100%;aspect-ratio:16/9;overflow:hidden;border-radius:26px;background:#020a14;box-shadow:0 24px 60px rgba(0,0,0,.25)}.video-embed iframe{position:absolute;inset:0;width:100%;height:100%;border:0}.page-hero-media{background:linear-gradient(125deg,#071a33,#0c4f94);min-height:390px}.page-cross{position:absolute;right:8vw;top:20px;color:rgba(244,199,107,.15);font-size:240px}.page-cross svg{fill:currentColor;stroke:none}.media-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:26px}.media-card{overflow:hidden;border:1px solid var(--line);border-radius:28px;background:#fff;box-shadow:var(--shadow)}.media-card .video-embed{border-radius:0;box-shadow:none}.media-copy{padding:25px}.media-copy h2{margin:12px 0 7px;font-size:25px;line-height:1.35}.media-copy>strong{color:#176bc9}.media-copy p{color:var(--muted)}.public-empty{padding:75px 25px;text-align:center;border:1px dashed #9ac7ee;border-radius:28px;background:#eef7ff}.public-empty>span{display:grid;place-items:center;width:74px;height:74px;margin:0 auto 20px;border-radius:50%;background:#dceeff;color:#176ed4;font-size:32px}.public-empty h2{font-size:34px;margin:0}.public-empty p{color:var(--muted)}
@media(max-width:820px){.hero-cross{right:-75px;opacity:.2}.devotion-grid,.media-grid{grid-template-columns:1fr}.devotion-verse,.devotion-guide{padding:32px 25px}.page-cross{right:-80px;font-size:190px}.story-grid .video-embed{order:-1}}
@media(max-width:1024px){.featured-media-grid{grid-template-columns:1fr}.featured-media-visual{order:-1}.featured-media-copy{max-width:none}}
@media(max-width:1024px){.media-library-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:820px){.featured-media-grid{gap:26px}.featured-media-copy{padding:25px 21px;border-radius:24px}.featured-media-copy h2{font-size:32px}.featured-media-excerpt{font-size:16px!important}.featured-media-watch-hint{margin-left:4px}.featured-media-actions{display:grid}.story-copy .featured-media-actions .button{width:100%}}
@media(max-width:680px){.media-library-toolbar{padding:18px;border-radius:20px}.media-search-form{grid-template-columns:1fr}.media-search-form .button{width:100%}.media-library-grid{grid-template-columns:1fr}.media-result-summary{align-items:flex-start;flex-direction:column}.media-library-copy{padding:21px}.media-detail-header{padding:40px 0 34px}.media-detail-header h1{font-size:38px}.media-detail-layout{padding-top:34px}.media-detail-body{padding:25px 21px;border-radius:22px}.media-detail-video{border-radius:20px}}
@media(prefers-reduced-motion:reduce){.hero-cross span{animation:none}}

.about-sections { display: grid; gap: 0; }.about-section { display: grid; grid-template-columns: 110px minmax(0,1fr); gap: 45px; padding: 55px 0; border-bottom: 1px solid var(--line); }.about-section:first-child { padding-top: 0; }.about-index { color: var(--coral); font-size: 14px; font-weight: 900; letter-spacing: .15em; }.about-copy { max-width: 850px; }.about-copy h2,.pastor-copy h2,.pastor-empty h2,.about-pastor-callout h2 { margin: 13px 0 22px; font-size: clamp(34px,4vw,54px); line-height: 1.22; letter-spacing: -.045em; }.about-copy p,.pastor-copy p,.about-pastor-callout p { color: var(--muted); font-size: 17px; }.about-copy blockquote,.pastor-copy blockquote { margin: 30px 0 0; padding: 24px 28px; border-left: 4px solid var(--coral); border-radius: 0 18px 18px 0; background: var(--cream); font-size: 20px; font-weight: 700; line-height: 1.65; }.about-pastor-callout { display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 42px; border-top: 1px solid var(--line); }
.pastor-list { display: grid; gap: 80px; }.pastor-profile { display: grid; grid-template-columns: minmax(280px,.72fr) minmax(0,1.28fr); gap: clamp(35px,7vw,90px); align-items: center; }.pastor-profile:nth-child(even) .pastor-photo { order: 2; }.pastor-photo { overflow: hidden; border-radius: 32px; aspect-ratio: 8/9; background: var(--cream); box-shadow: var(--shadow); }.pastor-photo img { width: 100%; height: 100%; object-fit: cover; }.pastor-copy { max-width: 720px; }.pastor-lead { color: var(--ink)!important; font-size: 21px!important; font-weight: 700; }.pastor-copy .text-link { margin-top: 22px; }.pastor-empty { display: grid; grid-template-columns: minmax(220px,380px) 1fr; gap: 55px; align-items: center; }.pastor-empty img { width: 100%; border-radius: 30px; }.pastor-empty p { color: var(--muted); }

.schedule-layout { display: grid; grid-template-columns: 330px minmax(0,1fr); gap: 55px; align-items: start; }
.week-panel { position: sticky; top: 125px; padding: 30px; border-radius: var(--radius); background: var(--cream); }
.week-panel h2 { margin: 10px 0; font-size: 34px; }.note { color: var(--muted); font-size: 13px; }
.week-list { display: grid; gap: 10px; margin-top: 24px; }
.gathering-tab { width: 100%; display: grid; grid-template-columns: 74px minmax(0,1fr); gap: 13px; align-items: center; padding: 15px; border: 1px solid transparent; border-radius: 16px; background: rgba(255,255,255,.72); color: var(--ink); text-align: left; cursor: pointer; transition: transform .18s ease,background .18s ease,border-color .18s ease,color .18s ease,box-shadow .18s ease; }
.gathering-tab:hover,.gathering-tab:focus-visible { transform: translateY(-1px); border-color: rgba(37,140,255,.3); outline: 0; box-shadow: 0 10px 24px rgba(18,75,137,.09); }
.gathering-tab.is-active { color: #fff; border-color: var(--ink); background: var(--ink); box-shadow: 0 14px 30px rgba(7,26,51,.2); }
.gathering-tab-kicker { overflow: hidden; color: #1474df; font-size: 10px; font-weight: 900; letter-spacing: .08em; text-overflow: ellipsis; white-space: nowrap; }.gathering-tab.is-active .gathering-tab-kicker { color: var(--amber); }.gathering-tab-copy { min-width: 0; display: grid; gap: 4px; }.gathering-tab strong { font-size: 14px; line-height: 1.35; }.gathering-tab small { overflow: hidden; opacity: .7; font-size: 11px; line-height: 1.45; text-overflow: ellipsis; white-space: nowrap; }
.schedule-cards { min-width: 0; }
.schedule-card { display: grid; grid-template-columns: 70px minmax(0,1.2fr) minmax(210px,.8fr); gap: 25px; align-items: start; min-height: 430px; padding: 40px; scroll-margin-top: 112px; border: 1px solid var(--line); border-radius: var(--radius); background: rgba(255,255,255,.72); box-shadow: 0 20px 55px rgba(18,75,137,.08); }
#study-result { scroll-margin-top: 112px; }
.schedule-card[hidden] { display: none; }
.schedule-card.is-active { animation: gathering-panel-in .3s ease both; }
@keyframes gathering-panel-in { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }
.schedule-index { width: 54px; height: 54px; display: grid; place-items: center; border-radius: 50%; background: var(--amber); font-weight: 900; }
.schedule-main h2 { margin: 8px 0; font-size: 30px; }.schedule-main p { margin: 0; color: var(--muted); }
.schedule-info { display: grid; gap: 4px; padding-left: 26px; border-left: 1px solid var(--line); }.schedule-info span { margin-top: 8px; color: var(--muted); font-size: 11px; font-weight: 800; }.schedule-info strong { font-size: 13px; }
.schedule-empty { padding: 50px; border: 1px solid var(--line); border-radius: var(--radius); background: #fff; text-align: center; }.schedule-empty strong { font-size: 24px; }.schedule-empty p { color: var(--muted); }
.group-intro { border-top: 1px solid var(--line); display: grid; grid-template-columns: 1.3fr .8fr auto; gap: 42px; align-items: center; }.group-intro p { color: var(--muted); }

.media-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-bottom: 55px; }
.filter-group { display: flex; flex-wrap: wrap; gap: 8px; }.filter-group button { padding: 10px 16px; border: 1px solid var(--line); border-radius: 999px; background: transparent; cursor: pointer; font-weight: 700; }.filter-group button.is-active { color: #fff; background: var(--ink); }
.timeline { position: relative; display: grid; gap: 50px; }.timeline::before { content: ""; position: absolute; left: 52px; top: 20px; bottom: 20px; width: 1px; background: var(--line); }
.timeline-item { position: relative; display: grid; grid-template-columns: 105px 1fr 1fr; gap: 30px; align-items: center; }
.timeline-item[hidden] { display: none; }
.timeline-item > time { z-index: 1; width: 105px; height: 105px; display: grid; place-content: center; text-align: center; border: 8px solid var(--paper); border-radius: 50%; background: var(--ink); color: #fff; line-height: 1.1; }.timeline-item time strong { font-size: 27px; }.timeline-item time span { margin-top: 5px; color: #ffd07d; font-size: 10px; }
.timeline-image { position: relative; overflow: hidden; border-radius: 24px; aspect-ratio: 16/10; }.timeline-image img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s; }.timeline-image:hover img { transform: scale(1.04); }
.timeline-copy h2 { margin: 10px 0; font-size: 30px; line-height: 1.35; }.timeline-copy p { color: var(--muted); }.album-size { display: inline-flex; align-items: center; gap: 7px; font-size: 12px; font-weight: 800; }

.visit-steps .split-heading { margin-bottom: 55px; }
.step-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 15px; }
.visit-step-card { position: relative; min-height: 280px; display: flex; flex-direction: column; padding: 28px; overflow: hidden; border: 1px solid transparent; border-radius: var(--radius); background: var(--cream); color: var(--ink); text-decoration: none; box-shadow: 0 12px 32px rgba(17,75,138,.04); transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease; }.visit-step-card-2 { background: #e1eff8; }.visit-step-card-3 { background: #e0f2e9; }.visit-step-card-4 { background: #f8ddcf; }.visit-step-card::after { content: ""; position: absolute; width: 110px; height: 110px; right: -55px; top: -55px; border: 1px solid rgba(20,94,170,.16); border-radius: 50%; transition: transform .25s ease; }.visit-step-card:hover { transform: translateY(-6px); border-color: rgba(22,117,220,.32); box-shadow: 0 22px 48px rgba(17,75,138,.14); }.visit-step-card:hover::after { transform: scale(1.18); }.visit-step-card:focus-visible { outline: 4px solid rgba(37,140,255,.25); outline-offset: 4px; border-color: #258cff; }.visit-step-number { font-size: 12px; font-weight: 900; }.visit-step-card h3 { margin: 70px 0 10px; font-size: 24px; }.visit-step-card p { margin: 0 0 24px; color: var(--muted); font-size: 14px; }.visit-step-action { display: inline-flex; align-items: center; gap: 8px; margin-top: auto; color: #125fac; font-size: 13px; font-weight: 900; }.visit-step-action svg { width: 16px; height: 16px; transition: transform .2s ease; }.visit-step-card:hover .visit-step-action svg { transform: translateX(4px); }.visit-step-card-2:hover .visit-step-action svg { transform: translateY(-2px); }
.faq-section { padding-top: 0; display: grid; grid-template-columns: .7fr 1.3fr; gap: 70px; scroll-margin-top: 112px; }.faq-list { border-top: 1px solid var(--line); }.faq-list details { border-bottom: 1px solid var(--line); }.faq-list summary { padding: 23px 35px 23px 0; cursor: pointer; font-weight: 800; }.faq-list p { margin: -8px 0 23px; color: var(--muted); }
.parking-section { scroll-margin-top: 112px; background: linear-gradient(145deg,#eef7ff 0,#f8fbff 55%,#fff8e8 100%); border-block: 1px solid rgba(17,75,138,.09); }
.parking-heading { margin-bottom: 38px; }.parking-heading h2 { max-width: 760px; }.parking-heading > p { max-width: 560px; color: var(--muted); }
.parking-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 16px; }
.parking-card { min-width: 0; display: grid; grid-template-columns: 44px minmax(0,1fr); gap: 18px; align-items: center; padding: 25px; border: 1px solid rgba(17,75,138,.12); border-radius: 24px; background: rgba(255,255,255,.88); box-shadow: 0 14px 38px rgba(17,75,138,.07); transition: transform .2s ease,border-color .2s ease,box-shadow .2s ease; }
.parking-card:hover { transform: translateY(-3px); border-color: rgba(37,140,255,.34); box-shadow: 0 20px 42px rgba(17,75,138,.12); }.parking-number { width: 42px; height: 42px; display: grid; place-items: center; border-radius: 14px; background: #dceeff; color: #1265c8; font-size: 12px; font-weight: 900; letter-spacing: .08em; }
.parking-card h3 { margin: 0 0 6px; font-size: 19px; line-height: 1.35; }.parking-card p { margin: 0; color: var(--muted); font-size: 13px; line-height: 1.6; }
.parking-link { grid-column: 1/-1; display: inline-flex; align-items: center; justify-content: center; gap: 7px; padding: 11px 14px; border-radius: 999px; background: #0d67cf; color: #fff; font-size: 12px; font-weight: 900; white-space: nowrap; text-decoration: none; }.parking-link:hover { background: #084d9f; }.parking-link:focus-visible { outline: 4px solid rgba(37,140,255,.24); outline-offset: 3px; }.parking-link svg { width: 15px; height: 15px; }
.parking-note { margin: 22px 0 0; color: var(--muted); font-size: 13px; text-align: center; }
.site-footer { scroll-margin-top: 112px; }.site-footer a[href^="tel:"],.site-footer a[href^="mailto:"] { color: inherit; text-decoration: none; }.site-footer a[href^="tel:"]:hover,.site-footer a[href^="mailto:"]:hover { color: #fff; text-decoration: underline; text-underline-offset: 4px; }

.video-dialog { width: min(480px, calc(100vw - 34px)); padding: 38px; border: 0; border-radius: 28px; color: var(--ink); text-align: center; box-shadow: var(--shadow); }.video-dialog::backdrop { background: rgba(5,25,28,.72); backdrop-filter: blur(8px); }.dialog-close { position: absolute; right: 16px; top: 12px; border: 0; background: transparent; font-size: 27px; cursor: pointer; }.dialog-icon { width: 68px; height: 68px; margin: 0 auto; display: grid; place-items: center; border-radius: 50%; background: var(--amber); font-size: 25px; }.video-dialog h2 { margin-bottom: 5px; }.video-dialog p { color: var(--muted); }

[data-reveal] { opacity: 0; transform: translateY(22px); transition: opacity .65s var(--delay,0ms), transform .65s var(--delay,0ms); }
[data-reveal].is-visible { opacity: 1; transform: none; }

@media (max-width: 1180px) {
    :root { --shell: min(100% - 36px, 900px); }
    .site-header { background: #f8fbff; backdrop-filter: none; }
    .nav-toggle { display: flex; z-index: 102; }
    .nav-toggle[aria-expanded="true"] > span:nth-child(1) { transform: translateY(7px) rotate(45deg); }.nav-toggle[aria-expanded="true"] > span:nth-child(2) { opacity: 0; }.nav-toggle[aria-expanded="true"] > span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }
    body.nav-open::before { content: ""; position: fixed; inset: 0; z-index: 99; background: rgba(3,18,36,.52); backdrop-filter: blur(3px); }
    .site-nav { position: fixed; inset: 0 0 0 auto; z-index: 101; width: min(390px, 88vw); max-width: 100vw; padding: 104px 24px 38px; display: flex; visibility: hidden; pointer-events: none; overflow-y: auto; flex-direction: column; align-items: stretch; gap: 2px; background: #f8fbff; box-shadow: -24px 0 70px rgba(4,29,58,.22); transform: translateX(104%); transition: transform .28s ease, visibility 0s linear .28s; }
    .site-nav.is-open { visibility: visible; pointer-events: auto; transform: none; transition-delay: 0s; }
    .site-nav a { padding: 12px 6px; font-size: 16px; border-bottom: 1px solid var(--line); }
    .site-nav a::after { display: none; }
    .site-nav .nav-contact { margin: 12px 0 0; border: 0; text-align: center; }
    .gathering-grid { grid-template-columns: repeat(2,1fr); }.activity-grid { grid-template-columns: 1fr 1fr; }.activity-card-1 { grid-column: 1/-1; }.activity-card-1 .activity-image { aspect-ratio: 16/8; }
    .story-grid { grid-template-columns: 1fr; gap: 42px; }.visit-grid { grid-template-columns: 1fr; }.visit-copy { max-width: 760px; }.visit-map { min-height: 420px; }.footer-grid { grid-template-columns: 1.5fr 1fr 1fr; }.footer-links { grid-column: 1/-1; display: flex; }
    .schedule-layout { grid-template-columns: 1fr; }.week-panel { position: static; }.week-list { grid-template-columns: repeat(2,minmax(0,1fr)); }.schedule-card { min-height: 0; }.group-intro { grid-template-columns: 1fr 1fr; }.group-intro .button { grid-column: 1/-1; justify-self: start; }
    .step-grid { grid-template-columns: repeat(2,1fr); }
    .parking-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .about-pastor-callout { grid-template-columns: 1fr; }.about-pastor-callout .button { justify-self: start; }
}

@media (max-width: 700px) {
    :root { --shell: calc(100% - 28px); --radius: 22px; }
    html { scroll-padding-top: 90px; }.preview-banner { padding: 5px 12px; gap: 5px; flex-direction: column; line-height: 1.35; }.preview-banner strong { font-size: 10px; }
    .header-inner { min-height: 72px; }.brand img { width: 43px; height: 43px; }.brand-copy strong { font-size: 16px; }.brand-copy small { font-size: 7px; }.nav-toggle { width: 42px; height: 42px; }
    .section { padding-block: 74px; }.hero { min-height: 760px; align-items: start; }.hero-image { object-position: 59% center; }.hero-shade { background: linear-gradient(180deg, rgba(6,28,29,.7), rgba(6,28,29,.9) 62%, rgba(6,28,29,1)); }.hero-content { padding-top: 92px; padding-bottom: 170px; }.hero-content h1 { margin-top: 16px; font-size: clamp(42px,12vw,58px); }.hero-content > p { font-size: 16px; }.hero-actions { display: grid; grid-template-columns: 1fr; }.button { width: 100%; }.hero-next { min-height: 105px; grid-template-columns: auto 1fr; gap: 14px; padding: 16px 18px; border-radius: 20px 20px 0 0; }.hero-next a { grid-column: 2; font-size: 13px; }.hero-next strong { font-size: 14px; }
    .split-heading { grid-template-columns: 1fr; gap: 22px; }.section-heading h2, .newcomer-callout h2, .group-intro h2, .faq-section h2 { font-size: 35px; }.welcome-cards, .gathering-grid { grid-template-columns: 1fr; }.welcome-card { min-height: 220px; }.gathering-card { min-height: 205px; }.gathering-card h3 { margin-top: 28px; }
    .heading-row { align-items: start; flex-direction: column; margin-bottom: 30px; }.heading-actions { width: 100%; align-items: start; flex-direction: column; }.activity-grid { display: flex; gap: 14px; margin-right: -14px; padding-right: 14px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; }.activity-card { min-width: 85%; scroll-snap-align: start; }.activity-card-1 { min-width: 92%; }.activity-card .activity-image, .activity-card-1 .activity-image { aspect-ratio: 4/3; }.activity-copy h3 { font-size: 20px; }
    .story-copy h2 { font-size: 36px; line-height: 1.25; letter-spacing: -.025em; }.story-video { aspect-ratio: 4/3; }.video-play { width: 62px; height: 62px; }.video-caption strong { font-size: 16px; }.newcomer-callout { grid-template-columns: 1fr; gap: 25px; }.visit-grid { gap: 38px; }.visit-copy h2 { font-size: 38px; }.visit-details div { grid-template-columns: 1fr; gap: 4px; }.visit-map { min-height: 330px; border-radius: 24px; }.visit-map-badge { left: 14px; bottom: 14px; }
    .footer-grid { grid-template-columns: 1fr; gap: 30px; }.footer-bottom { flex-direction: column; }.site-footer { padding-bottom: 135px; }.mobile-actions { position: fixed; z-index: 99; left: 10px; right: 10px; bottom: calc(8px + env(safe-area-inset-bottom)); display: grid; grid-template-columns: repeat(3,1fr); padding: 7px; border: 1px solid var(--line); border-radius: 20px; background: rgba(255,253,248,.94); box-shadow: 0 16px 45px rgba(11,36,35,.2); backdrop-filter: blur(16px); }.mobile-actions a { min-height: 54px; display: grid; place-items: center; align-content: center; gap: 2px; border-radius: 15px; color: var(--muted); font-size: 10px; font-weight: 800; }.mobile-actions a svg { font-size: 17px; }.mobile-actions .is-primary { color: #fff; background: var(--ink); }
    .page-hero { padding: 80px 0 72px; }.page-hero h1 { font-size: 43px; }.page-hero p { font-size: 16px; }
    .week-panel { overflow: hidden; padding: 24px 18px; }.week-list { display: flex; gap: 10px; margin-right: -18px; padding-right: 18px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; }.week-list::-webkit-scrollbar { display: none; }.gathering-tab { min-width: 82%; scroll-snap-align: start; }.schedule-card { grid-template-columns: 55px 1fr; padding: 24px 20px; gap: 17px; }.schedule-index { width: 48px; height: 48px; }.schedule-info { grid-column: 2; padding: 18px 0 0; border-left: 0; border-top: 1px solid var(--line); }.schedule-main h2 { font-size: 25px; }.group-intro { grid-template-columns: 1fr; gap: 12px; }.group-intro .button { grid-column: auto; }
    .media-toolbar { align-items: start; flex-direction: column; margin-bottom: 36px; }.filter-group { flex-wrap: nowrap; width: calc(100vw - 14px); margin-right: -14px; padding-right: 14px; overflow-x: auto; }.filter-group button { white-space: nowrap; }.timeline::before { display: none; }.timeline-item { grid-template-columns: 64px 1fr; gap: 15px; padding-bottom: 22px; border-bottom: 1px solid var(--line); }.timeline-item > time { width: 64px; height: 64px; border-width: 4px; }.timeline-item time strong { font-size: 20px; }.timeline-image { grid-column: 1/-1; grid-row: 2; }.timeline-copy { grid-column: 1/-1; }.timeline-copy h2 { font-size: 25px; }
    .step-grid { grid-template-columns: 1fr; }.visit-step-card { min-height: 220px; }.visit-step-card h3 { margin-top: 45px; }.parking-heading { margin-bottom: 28px; }.parking-grid { grid-template-columns: 1fr; }.parking-card { grid-template-columns: 42px minmax(0,1fr); gap: 13px; padding: 20px 17px; border-radius: 20px; }.parking-link { grid-column: 1/-1; justify-content: center; width: 100%; padding-block: 13px; }.parking-note { text-align: left; }.faq-section { grid-template-columns: 1fr; gap: 35px; }
    .about-section { grid-template-columns: 1fr; gap: 12px; padding: 38px 0; }.about-copy h2,.pastor-copy h2,.pastor-empty h2,.about-pastor-callout h2 { font-size: 34px; }.about-copy p,.pastor-copy p { font-size: 16px; }.about-copy blockquote,.pastor-copy blockquote { padding: 20px; font-size: 17px; }.pastor-list { gap: 60px; }.pastor-profile,.pastor-empty { grid-template-columns: 1fr; gap: 28px; }.pastor-profile:nth-child(even) .pastor-photo { order: initial; }.pastor-photo { border-radius: 24px; }
}

@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; } *, *::before, *::after { transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
    [data-reveal] { opacity: 1; transform: none; }
}

/* Safe rich article content */
.rich-content{color:inherit;font-size:inherit;line-height:1.85}.rich-content>*:first-child{margin-top:0}.rich-content>*:last-child{margin-bottom:0}.rich-content p{margin:0 0 1.05em}.rich-content h2,.rich-content h3,.rich-content h4{margin:1.45em 0 .65em;line-height:1.35;letter-spacing:-.025em}.rich-content h2{font-size:clamp(24px,3vw,34px)}.rich-content h3{font-size:clamp(20px,2.5vw,27px)}.rich-content ul,.rich-content ol{margin:0 0 1.25em;padding-left:1.5em}.rich-content li+li{margin-top:.4em}.rich-content blockquote{margin:1.35em 0;padding:18px 22px;border-left:4px solid #258cff;border-radius:0 13px 13px 0;background:#edf6ff;color:#214a73;font-weight:700}.rich-content a{color:#126bd5;text-decoration:underline;text-underline-offset:3px}.rich-content figure{margin:1.6em 0;text-align:center}.rich-content img{display:block;width:auto;max-width:100%;height:auto;margin:0 auto;border-radius:18px;box-shadow:0 16px 38px rgba(7,26,51,.12)}.rich-content figcaption{margin-top:9px;color:#687b95;font-size:13px}.rich-content hr{margin:2em 0;border:0;border-top:1px solid #d9e5f3}.rich-content-compact{line-height:1.7}.rich-content-compact h2,.rich-content-compact h3,.rich-content-compact h4{font-size:1.05em;margin:.7em 0 .35em}.rich-content-compact blockquote{padding:10px 13px;margin:.7em 0}.rich-content-compact figure{margin:1em 0}.pastor-vision{margin-top:1.2em;padding:20px 24px;border-radius:16px;background:#edf6ff}

/* Bible study, notices and registration */
.bible-ai-hero{padding:82px 0 54px;background:radial-gradient(circle at 82% 18%,rgba(38,142,160,.22),transparent 34%),linear-gradient(135deg,#071d2f,#0b3545);color:#fff}.bible-ai-hero-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr);gap:44px;align-items:center}.bible-ai-hero h1{margin:12px 0 18px;font-size:clamp(40px,6vw,70px);letter-spacing:-.05em}.bible-ai-hero p{max-width:720px;color:#d0e3e6;font-size:18px;line-height:1.85}.bible-ai-boundary{padding:25px;border:1px solid rgba(134,224,213,.28);border-radius:22px;background:rgba(3,20,32,.42);box-shadow:0 24px 70px rgba(0,0,0,.18)}.bible-ai-boundary strong{display:block;margin-bottom:10px;color:#7be0c9}.bible-ai-boundary ul{margin:0;padding-left:1.2em;color:#d8e8e9;line-height:1.9}.bible-ai-layout{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:28px;align-items:start}.bible-ai-form,.bible-ai-result,.article-detail,.community-card,.event-public-card,.registration-panel,.event-detail-copy{border:1px solid var(--line);border-radius:24px;background:#fff;box-shadow:0 18px 50px rgba(10,48,45,.08)}.bible-ai-form,.bible-ai-result,.article-detail,.registration-panel,.event-detail-copy{padding:clamp(23px,4vw,42px)}.bible-ai-form h2,.bible-ai-result h2{margin-top:0}.bible-ai-form label,.registration-form label{display:grid;gap:8px;margin-bottom:18px;color:var(--ink);font-weight:800}.bible-ai-form input,.bible-ai-form textarea,.registration-form input,.registration-form textarea,.registration-form select{width:100%;padding:13px 15px;border:1px solid #bdd0ce;border-radius:12px;background:#fff;color:var(--ink);font:inherit}.bible-ai-form textarea,.registration-form textarea{min-height:130px;resize:vertical}.bible-ai-form input:focus,.bible-ai-form textarea:focus,.registration-form input:focus,.registration-form textarea:focus,.registration-form select:focus{outline:3px solid rgba(31,153,132,.14);border-color:#15937c}.bible-ai-help{margin:-8px 0 18px;color:var(--muted);font-size:13px;line-height:1.7}.bible-ai-alert{margin-bottom:18px;padding:15px 17px;border:1px solid #efd3a0;border-radius:14px;background:#fff8e8;color:#795311;line-height:1.7}.bible-ai-alert.is-error{border-color:#edc1bc;background:#fff0ed;color:#922f28}.bible-ai-result{display:grid;gap:18px}.bible-ai-result section{padding-bottom:18px;border-bottom:1px solid var(--line)}.bible-ai-result section:last-child{padding-bottom:0;border:0}.bible-ai-result h3{margin:0 0 9px;font-size:17px}.bible-ai-result p,.bible-ai-result li{color:#3b5754;line-height:1.85}.bible-ai-result ul{margin:0;padding-left:1.25em}.honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}.community-list,.event-public-grid{display:grid;gap:18px}.community-list{grid-template-columns:repeat(2,minmax(0,1fr))}.community-card,.event-public-card{padding:26px;transition:transform .2s ease,border-color .2s ease}.community-card:hover,.event-public-card:hover{transform:translateY(-3px);border-color:#8bc9bf}.community-card h2,.event-public-card h2{margin:9px 0 12px;font-size:24px}.community-card p,.event-public-card p{color:var(--muted);line-height:1.75}.community-meta,.event-meta{display:flex;flex-wrap:wrap;gap:8px 16px;color:#55706d;font-size:13px}.community-pin,.event-type{display:inline-flex;padding:6px 10px;border-radius:999px;background:#e6f7f2;color:#08735f;font-size:11px;font-weight:900}.article-detail{max-width:900px;margin:auto}.article-detail header{margin-bottom:28px;padding-bottom:22px;border-bottom:1px solid var(--line)}.article-detail h1{margin:12px 0;font-size:clamp(34px,6vw,56px)}.event-public-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.event-public-card{display:flex;flex-direction:column}.event-public-card .button{margin-top:auto}.event-detail-hero{padding:72px 0 45px;background:linear-gradient(135deg,#eaf7f3,#f9f4e8)}.event-detail-hero h1{margin:13px 0;font-size:clamp(38px,6vw,62px)}.event-detail-meta{display:flex;flex-wrap:wrap;gap:12px 24px;color:#476763}.event-detail-layout{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(330px,.72fr);gap:28px;align-items:start}.registration-panel{position:sticky;top:100px}.registration-panel h2{margin-top:0}.registration-success{padding:25px;border-radius:18px;background:#e7f7f0;color:#096548}.registration-closed{padding:22px;border-radius:16px;background:#f2f4f3;color:#60706e}.registration-form .checkbox-field{display:flex;grid-template-columns:auto 1fr;align-items:start}.registration-form .checkbox-field input{width:auto;margin-top:5px}.community-empty{padding:50px 24px;text-align:center;border:1px dashed #aac4c0;border-radius:22px;color:var(--muted)}
@media(min-width:1181px){.header-inner{gap:14px}.site-nav{margin-left:auto;gap:1px}.site-nav a{padding:10px 7px;font-size:13px}.site-nav .nav-contact{margin-left:4px;padding:11px 12px}.brand-copy strong{font-size:17px}.brand-copy small{font-size:8px}}
@media(max-width:900px){.bible-ai-hero-grid,.bible-ai-layout,.event-detail-layout{grid-template-columns:1fr}.event-public-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.registration-panel{position:static}.community-list{grid-template-columns:1fr}}
@media(max-width:650px){.bible-ai-hero{padding:58px 0 42px}.bible-ai-hero p{font-size:16px}.bible-ai-form,.bible-ai-result,.article-detail,.registration-panel,.event-detail-copy{padding:21px}.event-public-grid{grid-template-columns:1fr}.community-card,.event-public-card{padding:21px}}

/* Bible study finishing details */
.bible-ai-boundary span{position:relative;display:block;padding:8px 0 8px 28px;color:#e5f3f1;font-weight:750}.bible-ai-boundary span:before{content:'✓';position:absolute;left:0;top:7px;width:20px;height:20px;display:grid;place-items:center;border-radius:50%;background:#52d6b9;color:#06362f;font-size:11px}.bible-ai-boundary small{display:block;margin-top:14px;padding-top:14px;border-top:1px solid rgba(134,224,213,.2);color:#9ec7c4}.bible-ai-heading,.bible-ai-result-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.bible-ai-heading{margin-bottom:22px}.bible-ai-heading h2{margin:7px 0 0}.ai-remaining,.ai-source-badge{display:inline-flex;padding:7px 11px;border-radius:999px;background:#e5f6f1;color:#08715e;font-size:11px;font-weight:900;white-space:nowrap}.bible-ai-form label>span{color:var(--muted);font-size:12px;font-weight:500;line-height:1.6}.bible-ai-guide{position:sticky;top:102px;overflow:hidden;padding:clamp(26px,4vw,42px);border-radius:24px;background:linear-gradient(145deg,#082838,#0b493f);box-shadow:0 22px 55px rgba(4,42,37,.18);color:#fff}.bible-ai-guide:after{content:'✦';position:absolute;right:-16px;bottom:-38px;color:rgba(118,224,196,.1);font-size:180px;line-height:1}.bible-ai-guide h2{margin:9px 0 20px;font-size:34px}.bible-ai-guide h3{margin:30px 0 9px;color:#79dcc5}.bible-ai-guide p,.bible-ai-guide li{position:relative;color:#d5e8e4;line-height:1.85}.bible-ai-guide ul{margin:0;padding-left:1.25em}.bible-ai-notice{margin:18px 0 0;color:var(--muted);font-size:12px;line-height:1.7}.bible-ai-result-section{padding-top:0;background:linear-gradient(180deg,transparent,#edf7f4)}.bible-ai-result{max-width:960px;margin:auto}.bible-ai-result-head{padding-bottom:22px}.bible-ai-result-head h2{margin:7px 0 5px;font-size:clamp(28px,4vw,43px)}.bible-ai-result-head p{margin:0;color:var(--muted)}.bible-ai-result blockquote{margin:4px 0;padding:20px;border-radius:16px;background:#e9f6f2;color:#174e45;font-size:18px;line-height:1.75}.bible-ai-result blockquote strong{display:block;margin-bottom:7px;color:#08715e;font-size:12px;letter-spacing:.08em}.bible-ai-result footer{color:var(--muted);font-size:12px;line-height:1.7}.bible-ai-alert.is-refused{border-color:#d6c5ee;background:#f7f2ff;color:#654390}.bible-ai-alert strong{display:block;margin-bottom:5px}.bible-ai-submit{width:100%}
@media(max-width:900px){.bible-ai-guide{position:static}.bible-ai-result-head{flex-direction:column}.bible-ai-heading{align-items:flex-start;flex-direction:column}}

/* Responsive navigation and homepage notices */
.site-nav a{white-space:nowrap;word-break:keep-all}
.home-notices{background:linear-gradient(180deg,#f3f8ff,#fff)}.home-notice-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.home-notice-card{display:flex;min-height:260px;padding:28px;flex-direction:column;border:1px solid var(--line);border-radius:24px;background:#fff;box-shadow:0 16px 42px rgba(14,64,112,.08)}.home-notice-card time{margin:12px 0 4px;color:var(--muted);font-size:12px}.home-notice-card h3{margin:8px 0 12px;font-size:25px;line-height:1.4}.home-notice-card p{margin:0 0 22px;color:var(--muted);line-height:1.75}.home-notice-card>.text-link{margin-top:auto}
@media(max-width:900px){.home-notice-grid{grid-template-columns:1fr 1fr}}
@media(max-width:650px){.home-notice-grid{grid-template-columns:1fr}.home-notice-card{min-height:auto;padding:22px}}

/* Homepage pinned announcement strip */
.home-pinned-notice{position:relative;z-index:4;border-bottom:1px solid rgba(255,255,255,.12);background:linear-gradient(100deg,#061f3a,#0b426b 70%,#12679b);color:#fff}.home-pinned-notice .shell{min-height:70px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:18px}.home-pinned-label{display:inline-flex;padding:7px 11px;border-radius:999px;background:#f4c76b;color:#382600;font-size:11px;font-weight:900;letter-spacing:.08em;white-space:nowrap}.home-pinned-notice a{min-width:0;color:#fff}.home-pinned-notice a strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:17px}.home-pinned-notice a small{display:block;margin-top:3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#bdd8eb}.home-pinned-more{display:inline-flex;align-items:center;gap:7px;font-size:13px;font-weight:800;white-space:nowrap}
@media(max-width:650px){.home-pinned-notice .shell{min-height:76px;grid-template-columns:auto minmax(0,1fr);gap:10px}.home-pinned-label{padding:6px 8px;font-size:10px}.home-pinned-notice a strong{font-size:14px}.home-pinned-notice a small,.home-pinned-more{display:none}}

/* Automatically loaded scripture */
.scripture-display{max-width:960px;margin:0 auto 24px;padding:clamp(24px,4vw,42px);border:1px solid #c8dfda;border-radius:24px;background:linear-gradient(145deg,#fffef9,#f2faf7);box-shadow:0 18px 50px rgba(10,48,45,.08)}.scripture-display header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:24px;padding-bottom:20px;border-bottom:1px solid #d8e7e3}.scripture-display h2{margin:7px 0 0;font-size:clamp(28px,4vw,42px)}.scripture-verses{font-family:"Noto Serif TC","Songti TC",serif;font-size:clamp(18px,2.2vw,23px);line-height:2}.scripture-verses p{margin:.35em 0}.scripture-display footer{margin-top:24px;padding-top:16px;border-top:1px solid #d8e7e3;color:var(--muted);font-size:12px}.scripture-display footer a{color:#0b7663;text-decoration:underline;text-underline-offset:3px}
@media(max-width:650px){.scripture-display{padding:22px}.scripture-display header{flex-direction:column}.scripture-verses{line-height:1.85}}
.bible-captcha-field{display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,.75fr);gap:18px;align-items:end;padding:20px;border:1px solid #cfe0f2;border-radius:18px;background:linear-gradient(135deg,#f5f9ff,#eef8f6)}
.bible-captcha-label{display:block;margin-bottom:9px;font-weight:800;color:#102844}.bible-captcha-code{display:flex;gap:8px;min-height:58px;align-items:center;padding:8px 16px;border:1px solid #9fc2e8;border-radius:14px;background:repeating-linear-gradient(145deg,#fff,#fff 8px,#edf5ff 9px,#edf5ff 11px);overflow:hidden}.bible-captcha-code span{display:inline-grid;place-items:center;width:26px;font:800 1.65rem/1 ui-monospace,SFMono-Regular,Menlo,monospace;color:#0d4c8e;text-shadow:1px 1px 0 #bde1d9;transform:rotate(-5deg)}.bible-captcha-code span:nth-child(even){color:#168b76;transform:translateY(3px) rotate(6deg)}.bible-captcha-field small{display:block;margin-top:8px;color:#657b94}.bible-captcha-field label{margin:0}.bible-captcha-field input{text-transform:uppercase;letter-spacing:.18em;font-weight:800}.bible-ai-submit[disabled]{cursor:wait;opacity:.84}.bible-ai-spinner{display:inline-block;width:18px;height:18px;border:2px solid rgba(255,255,255,.45);border-top-color:#fff;border-radius:50%;animation:bible-spin .75s linear infinite;vertical-align:-3px}@keyframes bible-spin{to{transform:rotate(360deg)}}
@media(max-width:700px){.bible-captcha-field{grid-template-columns:1fr}.bible-captcha-code{justify-content:center}.bible-ai-submit{min-height:58px;line-height:1.35}}

/* v1.5.0 anchored Bible study and contextual verse draw */
#scripture-result,#drawn-scripture,#study-result,#verse-draw-explanation{scroll-margin-top:112px}
.scripture-tool-switch{display:inline-flex;flex-wrap:wrap;gap:7px;margin-top:25px;padding:5px;border:1px solid rgba(255,255,255,.2);border-radius:999px;background:rgba(3,20,32,.3);backdrop-filter:blur(12px)}.scripture-tool-switch a{padding:10px 16px;border-radius:999px;color:#d8eaf4;font-size:13px;font-weight:900;text-decoration:none}.scripture-tool-switch a:hover,.scripture-tool-switch a.is-active{background:#fff;color:#0b3769;box-shadow:0 8px 24px rgba(0,0,0,.14)}
.study-more-cue{display:flex;flex-direction:column;align-items:center;gap:7px;margin:24px auto -8px;padding:12px 18px;color:#1265c8;font-size:12px;font-weight:900;text-align:center;text-decoration:none}.study-more-cue i{width:38px;height:38px;display:grid;place-items:center;border:1px solid #b8d8f4;border-radius:50%;background:#eef7ff;box-shadow:0 10px 25px rgba(18,101,200,.12);animation:study-cue 1.75s ease-in-out infinite}.study-more-cue svg{width:18px;height:18px;transform:rotate(90deg)}@keyframes study-cue{0%,100%{transform:translateY(0)}50%{transform:translateY(7px)}}
.verse-draw-hero{position:relative;overflow:hidden;padding:84px 0 72px;background:radial-gradient(circle at 78% 22%,rgba(247,184,75,.26),transparent 28%),linear-gradient(135deg,#071a33 0,#0b4d8f 62%,#1675dc 100%);color:#fff}.verse-draw-hero:before{content:"";position:absolute;inset:0;background:linear-gradient(rgba(111,195,255,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(111,195,255,.06) 1px,transparent 1px);background-size:42px 42px;mask-image:linear-gradient(90deg,#000,transparent)}.verse-draw-hero-grid{position:relative;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(250px,.55fr);gap:45px;align-items:center}.verse-draw-hero h1{max-width:800px;margin:13px 0 18px;font-size:clamp(44px,6vw,74px);line-height:1.16;letter-spacing:-.05em}.verse-draw-hero p{max-width:720px;color:#d8e8f6;font-size:18px;line-height:1.85}.verse-draw-symbol{position:relative;width:min(290px,28vw);aspect-ratio:1;display:grid;place-items:center;justify-self:end;border:1px solid rgba(255,255,255,.2);border-radius:50%;color:#ffd37d;background:rgba(3,20,32,.22);box-shadow:0 0 0 38px rgba(100,190,255,.06),0 0 0 76px rgba(100,190,255,.035)}.verse-draw-symbol>svg{width:42%;height:42%;filter:drop-shadow(0 0 22px rgba(255,211,125,.35))}.verse-draw-symbol span{position:absolute;inset:15%;border:1px dashed rgba(255,255,255,.22);border-radius:50%;animation:draw-orbit 14s linear infinite}@keyframes draw-orbit{to{transform:rotate(360deg)}}
.verse-draw-start{display:grid;grid-template-columns:minmax(0,1fr) minmax(340px,.7fr);gap:55px;align-items:end}.verse-draw-start h2{max-width:760px;margin:12px 0 15px;font-size:clamp(34px,4.5vw,55px);line-height:1.2;letter-spacing:-.04em}.verse-draw-start p{max-width:760px;color:var(--muted);font-size:17px}.verse-draw-form{display:grid;gap:11px;padding:28px;border:1px solid #cfe0ef;border-radius:24px;background:linear-gradient(145deg,#f8fbff,#eef7ff);box-shadow:0 18px 45px rgba(17,75,138,.08)}.verse-draw-form small{color:var(--muted);font-size:11px;line-height:1.6}.verse-draw-button{width:100%;min-height:62px;justify-content:center;border:0;background:linear-gradient(135deg,#ff6b6b,#ef3e62);box-shadow:0 16px 34px rgba(239,62,98,.24)}.verse-draw-button:hover{transform:translateY(-2px);box-shadow:0 20px 38px rgba(239,62,98,.3)}.verse-draw-button:disabled{cursor:not-allowed;filter:grayscale(.6);opacity:.55}.verse-draw-alert{margin-bottom:50px}
.verse-draw-result-section{padding-top:24px;background:linear-gradient(180deg,#f5faff,#eef7ff 56%,#fffaf0)}.verse-draw-result-grid{display:grid;gap:24px}.drawn-scripture-card,.verse-draw-explanation{max-width:980px;width:100%;margin:auto;padding:clamp(26px,4.5vw,50px);border:1px solid #c8daeb;border-radius:30px;background:#fff;box-shadow:0 25px 70px rgba(7,42,80,.11)}.drawn-scripture-card{background:linear-gradient(145deg,#fffdf7,#f1f8ff)}.drawn-scripture-card header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:24px;padding-bottom:20px;border-bottom:1px solid #d8e4ee}.drawn-scripture-card h2{margin:7px 0 0;font-size:clamp(32px,5vw,50px)}.drawn-scripture-card footer{margin-top:24px;padding-top:16px;border-top:1px solid #d8e4ee;color:var(--muted);font-size:12px}.drawn-scripture-card footer a{color:#1265c8}.verse-draw-explanation{min-height:300px}.verse-draw-loading{min-height:240px;display:grid;place-items:center;align-content:center;gap:12px;text-align:center}.verse-draw-loading .bible-ai-spinner{width:34px;height:34px;border-color:rgba(18,101,200,.2);border-top-color:#1265c8}.verse-draw-loading strong{font-size:22px}.verse-draw-loading p{margin:0;color:var(--muted)}.verse-draw-error{display:grid;place-items:start;gap:12px;min-height:220px;align-content:center}.verse-draw-error strong{font-size:24px}.verse-draw-error p{margin:0;color:var(--muted)}.verse-draw-error .button{width:auto}.verse-draw-content{display:grid;gap:24px}.verse-draw-content header{padding-bottom:22px;border-bottom:1px solid var(--line)}.verse-draw-content h2{margin:8px 0 0;font-size:clamp(31px,4.5vw,48px);line-height:1.25}.verse-draw-content section{padding-bottom:22px;border-bottom:1px solid var(--line)}.verse-draw-content h3{margin:0 0 12px;font-size:19px}.verse-draw-content p,.verse-draw-content li{color:#405a71;line-height:1.9;white-space:pre-line}.verse-draw-content blockquote{margin:0;padding:22px 24px;border-left:4px solid #8b5cf6;border-radius:0 18px 18px 0;background:#f3efff;color:#30245c;font-size:19px;line-height:1.75}.verse-draw-content blockquote strong{display:block;margin-bottom:7px;color:#6d45c5;font-size:12px;letter-spacing:.08em}.verse-draw-prayer{padding:25px!important;border:1px solid #efdbab!important;border-radius:20px;background:#fff9e9}.verse-draw-content ol{display:grid;gap:10px;margin:0;padding-left:1.25em}.verse-draw-content footer{color:var(--muted);font-size:12px;line-height:1.7}
.verse-draw-loading[hidden],.verse-draw-error[hidden],.verse-draw-content[hidden]{display:none!important}
@media(max-width:900px){.verse-draw-hero-grid,.verse-draw-start{grid-template-columns:1fr}.verse-draw-symbol{position:absolute;right:-70px;bottom:-100px;width:260px;opacity:.35}.verse-draw-start{gap:28px}.verse-draw-form{max-width:620px}}
@media(max-width:650px){#scripture-result,#drawn-scripture,#study-result,#verse-draw-explanation{scroll-margin-top:92px}.scripture-tool-switch{width:100%;display:grid;grid-template-columns:1fr 1fr}.scripture-tool-switch a{text-align:center}.verse-draw-hero{padding:62px 0 54px}.verse-draw-hero h1{font-size:43px}.verse-draw-hero p{font-size:16px}.verse-draw-start{padding-block:66px}.verse-draw-form{padding:20px}.drawn-scripture-card,.verse-draw-explanation{padding:23px 20px;border-radius:24px}.drawn-scripture-card header{flex-direction:column}.study-more-cue{margin-top:18px}.verse-draw-content blockquote{padding:20px}.verse-draw-prayer{padding:20px!important}}
@media(prefers-reduced-motion:reduce){.study-more-cue i,.verse-draw-symbol span{animation:none}}

/* v1.0.0 professional bilingual navigation */
.header-actions{display:flex;align-items:center;gap:10px;flex:0 0 auto}
.language-switcher{min-height:38px;display:flex;align-items:center;gap:4px;padding:4px;border:1px solid rgba(18,84,153,.18);border-radius:999px;background:rgba(255,255,255,.82);box-shadow:0 8px 22px rgba(7,42,82,.08)}
.language-switcher a{min-width:42px;padding:7px 9px;border-radius:999px;color:#61758d;font-size:11px;font-weight:900;letter-spacing:.04em;text-align:center;transition:background .2s,color .2s,box-shadow .2s}
.language-switcher a:hover{color:#0b4f9b;background:#edf6ff}.language-switcher a.is-active{color:#fff;background:linear-gradient(135deg,#258cff,#135dbd);box-shadow:0 6px 14px rgba(37,140,255,.24)}
.language-switcher>span{width:1px;height:16px;background:rgba(18,84,153,.18)}
.locale-en .brand-copy strong{letter-spacing:.02em}.locale-en .brand-copy small{letter-spacing:.08em}
.locale-en .devotion-verse blockquote{font-family:Georgia,"Times New Roman",serif;line-height:1.45}

/* v1.3.0 — structured daily message, prayer, and intercession burdens */
.devotion-guide>.rich-content{margin-bottom:24px}
.devotion-prayer{margin:26px 0 22px;padding:22px 24px;border:1px solid #cfe2f6;border-radius:20px;background:linear-gradient(135deg,#eef7ff,#f8fbff);box-shadow:0 14px 34px rgba(18,101,200,.08)}
.devotion-prayer>span,.devotion-burdens>strong{display:block;color:#1265c8;font-size:12px;font-weight:900;letter-spacing:.16em;text-transform:uppercase}
.devotion-prayer h3{margin:8px 0 10px;font-size:clamp(19px,2.2vw,25px);line-height:1.35}
.devotion-prayer p{margin:0;color:#40566f;line-height:1.9}
.devotion-burdens{padding-top:2px}
.devotion-burdens ol{margin-top:14px}
@media(max-width:820px){.devotion-prayer{padding:20px}.devotion-guide h2{font-size:clamp(26px,8vw,36px)}}
@media(min-width:1181px){.header-actions{margin-left:2px}.locale-en .site-nav a{font-size:12px;padding-inline:6px}}
@media(max-width:1180px){.header-actions{margin-left:auto}.site-nav .language-switcher{display:none}}
@media(max-width:520px){.header-inner{gap:8px}.header-actions{gap:7px}.language-switcher{min-height:34px;padding:3px}.language-switcher a{min-width:34px;padding:6px 7px;font-size:10px}.brand{gap:8px}.brand-copy strong{font-size:15px}.locale-en .brand-copy strong{max-width:150px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.locale-en .brand-copy small{display:none}}

/* v1.5.2 — keep every primary page heading balanced without orphaned CJK characters. */
.hero-content h1,.page-hero h1,.bible-ai-hero h1,.verse-draw-hero h1,.media-detail-header h1,.event-detail-hero h1,.article-detail h1{line-break:strict;word-break:auto-phrase;text-wrap:balance;overflow-wrap:normal}
.bible-ai-hero h1,.verse-draw-hero h1{max-width:min(100%,920px)}
.hero-title-phrase{white-space:nowrap}
@media(max-width:1100px){
    .bible-ai-hero-grid,.verse-draw-hero-grid{grid-template-columns:minmax(0,1fr)}
    .bible-ai-boundary{max-width:720px}
    .verse-draw-symbol{position:absolute;right:-72px;bottom:-108px;width:260px;opacity:.28}
    .bible-ai-hero h1,.verse-draw-hero h1{font-size:clamp(42px,6.2vw,64px);line-height:1.16}
}
@media(max-width:650px){
    .page-hero-newcomer h1 br{display:none}
    .hero-content h1,.page-hero h1,.bible-ai-hero h1,.verse-draw-hero h1,.media-detail-header h1,.event-detail-hero h1,.article-detail h1{font-size:clamp(30px,9.5vw,39px);line-height:1.2;letter-spacing:-.03em}
}

/* v1.4.0 — global announcement engine and denser cross-page rhythm */
.global-announcement[hidden]{display:none!important}
.global-announcement{position:relative;z-index:110;color:#fff;background:linear-gradient(100deg,#0a4a88,#177fd3);box-shadow:inset 0 -1px rgba(255,255,255,.16)}
.global-announcement-important{color:#332000;background:linear-gradient(100deg,#f7c451,#ffd983)}
.global-announcement-urgent{background:linear-gradient(100deg,#a82531,#dd4050)}
.global-announcement-inner{min-height:58px;display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:14px;padding-block:9px}
.global-announcement-label{display:inline-flex;align-items:center;min-height:28px;padding:5px 10px;border:1px solid rgba(255,255,255,.28);border-radius:999px;background:rgba(255,255,255,.14);font-size:11px;font-weight:900;letter-spacing:.08em;white-space:nowrap}
.global-announcement-important .global-announcement-label{border-color:rgba(70,43,0,.18);background:rgba(255,255,255,.38)}
.global-announcement-copy{min-width:0;display:grid;line-height:1.4}
.global-announcement-copy strong,.global-announcement-copy small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.global-announcement-copy strong{font-size:15px}.global-announcement-copy small{opacity:.78;font-size:12px}
.global-announcement-link{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:850;white-space:nowrap}
.global-announcement-close{width:34px;height:34px;display:grid;place-items:center;padding:0;border:1px solid rgba(255,255,255,.3);border-radius:50%;color:inherit;background:rgba(255,255,255,.12);font-size:22px;line-height:1;cursor:pointer}
.global-announcement-important .global-announcement-close{border-color:rgba(70,43,0,.2);background:rgba(255,255,255,.32)}
.global-announcement-close:hover,.global-announcement-close:focus-visible{background:rgba(255,255,255,.28);outline:3px solid rgba(255,255,255,.25);outline-offset:2px}

/* Measured against every public page at desktop and 390px mobile widths. */
.section{padding-block:84px}
.page-hero{padding:88px 0 76px}
.event-public-grid:has(>.public-empty:only-child){grid-template-columns:1fr;padding-block:62px}
.event-public-grid:has(>.public-empty:only-child) .public-empty{padding:46px 24px}
.faq-section.section{padding-top:0;padding-bottom:76px}
.group-intro.section,.about-pastor-callout.section{padding-block:72px}

@media(max-width:700px){
    .global-announcement-inner{min-height:62px;grid-template-columns:auto minmax(0,1fr) auto;gap:9px;padding-block:8px}
    .global-announcement-label{padding:4px 7px;font-size:9px}
    .global-announcement-copy strong{font-size:13px}.global-announcement-copy small,.global-announcement-link{display:none}
    .global-announcement-close{width:31px;height:31px;font-size:20px}
    .section{padding-block:52px}
    .page-hero{padding:58px 0 54px}
    .event-public-grid:has(>.public-empty:only-child){padding-block:38px}
    .event-public-grid:has(>.public-empty:only-child) .public-empty{padding:34px 18px}
    .faq-section.section{padding-top:0;padding-bottom:50px}
    .group-intro.section,.about-pastor-callout.section{padding-block:48px}
}

/* Safe YouTube embeds in rich content v1.5.6 */
.rich-content .rich-youtube{width:100%;margin:clamp(24px,4vw,38px) 0;text-align:center}.rich-youtube-frame{position:relative;width:100%;aspect-ratio:16/9;overflow:hidden;border-radius:clamp(16px,2.5vw,26px);background:linear-gradient(135deg,#020912,#071a33);box-shadow:0 24px 58px rgba(7,26,51,.2)}.rich-youtube-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}.rich-content .rich-youtube figcaption{margin-top:11px;font-size:13px}.rich-content .rich-youtube figcaption a{display:inline-flex;align-items:center;gap:5px;font-weight:800}.rich-content-compact .rich-youtube{margin:18px 0}.rich-content-compact .rich-youtube-frame{border-radius:14px}
@media(max-width:640px){.rich-content .rich-youtube{width:calc(100% + 8px);margin-left:-4px}.rich-youtube-frame{border-radius:14px}}

/* v1.5.7 — fast local Old and New Testament reader */
.online-bible-page{background:linear-gradient(180deg,#f3f8fd 0,#fff 48%,#f6f9fc 100%)}
.online-bible-hero{position:relative;overflow:hidden;padding:88px 0 78px;color:#fff;background:radial-gradient(circle at 82% 18%,rgba(57,205,180,.22),transparent 30%),linear-gradient(125deg,#06172f,#08345a 58%,#075459)}
.online-bible-hero:after{content:"";position:absolute;right:-110px;bottom:-250px;width:520px;height:520px;border:1px solid rgba(115,227,207,.22);border-radius:50%;box-shadow:0 0 0 72px rgba(115,227,207,.035),0 0 0 144px rgba(115,227,207,.025)}
.online-bible-hero-grid{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:64px}
.online-bible-hero h1{max-width:820px;margin:14px 0 20px;font-size:clamp(42px,5.4vw,72px);line-height:1.08;letter-spacing:-.045em;text-wrap:balance}
.online-bible-hero p{max-width:780px;margin:0;color:#c1d4e6;font-size:17px;line-height:1.9}
.online-bible-stats{display:grid;grid-template-columns:repeat(3,110px);overflow:hidden;border:1px solid rgba(255,255,255,.16);border-radius:24px;background:rgba(4,25,47,.58);backdrop-filter:blur(12px)}
.online-bible-stats div{padding:22px 12px;text-align:center}.online-bible-stats div+div{border-left:1px solid rgba(255,255,255,.13)}
.online-bible-stats strong{display:block;color:#73e3cf;font-size:30px}.online-bible-stats span{display:block;margin-top:4px;color:#d9e7f2;font-size:11px;font-weight:800;letter-spacing:.04em}
.online-bible-tools{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:22px;padding-top:48px;padding-bottom:30px}
.online-bible-book-form,.online-bible-search{display:flex;align-items:end;gap:12px;padding:18px;border:1px solid #d6e4f1;border-radius:22px;background:#fff;box-shadow:0 15px 38px rgba(15,56,96,.07)}
.online-bible-book-form label,.online-bible-search{min-width:0}.online-bible-book-form label{flex:1}.online-bible-book-form label>span,.online-bible-search>label{display:block;margin:0 0 8px;color:#173555;font-size:13px;font-weight:900}
.online-bible-book-form select,.online-bible-search input{width:100%;height:50px;border:1px solid #bfd1e2;border-radius:13px;background:#fafdff;color:#102c49;font:inherit;font-weight:750}
.online-bible-book-form select{padding:0 40px 0 14px}.online-bible-book-form .button{height:50px;white-space:nowrap}.online-bible-book-form .button svg{width:18px}
.online-bible-search{display:block}.online-bible-search>div{display:flex;gap:9px}.online-bible-search input{min-width:0;padding:0 15px}.online-bible-search button{min-width:86px;border:0;border-radius:13px;color:#fff;background:#0e62b8;font-weight:900;cursor:pointer}
.online-bible-reader{display:grid;grid-template-columns:250px minmax(0,1fr);align-items:start;gap:28px;padding-bottom:90px}
.online-bible-chapters{position:sticky;top:104px;overflow:hidden;border:1px solid #d6e4f1;border-radius:24px;background:#fff;box-shadow:0 18px 45px rgba(15,56,96,.08)}
.online-bible-chapters header{padding:21px 20px 15px;border-bottom:1px solid #e2ebf4}.online-bible-chapters header span{display:block;color:#67809a;font-size:11px;font-weight:900;letter-spacing:.12em}.online-bible-chapters header strong{display:block;margin-top:5px;color:#102c49;font-size:19px}
.online-bible-chapters nav{display:grid;grid-template-columns:repeat(5,1fr);gap:7px;max-height:62vh;overflow:auto;padding:15px}
.online-bible-chapters a{display:grid;place-items:center;aspect-ratio:1;border:1px solid #dce7f1;border-radius:10px;color:#34516c;background:#f8fbfe;font-size:12px;font-weight:850}.online-bible-chapters a:hover{border-color:#1985de;color:#0d61ae}.online-bible-chapters a.is-active{border-color:#0e62b8;color:#fff;background:linear-gradient(135deg,#1887e5,#0b4b92);box-shadow:0 7px 15px rgba(14,98,184,.22)}
.online-bible-reading{overflow:hidden;border:1px solid #d5e2ee;border-radius:30px;background:#fff;box-shadow:0 24px 64px rgba(11,49,84,.09)}
.online-bible-reading>header{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:34px 40px 27px;background:linear-gradient(135deg,#fff,#f1f8fd)}.online-bible-reading h2{margin:7px 0 0;color:#0b2948;font-size:clamp(30px,4vw,48px);letter-spacing:-.035em}
.online-bible-local-badge{padding:8px 12px;border:1px solid #b9e7dc;border-radius:999px;color:#087663;background:#ebfaf6;font-size:11px;font-weight:900;white-space:nowrap}
.online-bible-pager{display:flex;justify-content:space-between;gap:14px;padding:15px 40px;border-top:1px solid #e3ebf2;border-bottom:1px solid #e3ebf2;background:#fbfdff}.online-bible-pager a{color:#0c62b6;font-size:13px;font-weight:900}.online-bible-pager a:hover{text-decoration:underline}
.online-bible-verses{padding:36px 40px 44px}.online-bible-verses p{display:grid;grid-template-columns:34px minmax(0,1fr);gap:12px;margin:0;padding:10px 8px;border-radius:10px;color:#273f57;font-size:18px;line-height:1.9}.online-bible-verses p:target{background:#fff7cf;box-shadow:inset 3px 0 #f1bc33}.online-bible-verse-number{padding-top:4px;color:#148270;font-size:12px;font-weight:900;text-align:right}.online-bible-verse-number:hover{text-decoration:underline}
.online-bible-reading>footer>p{margin:0;padding:20px 40px;color:#6a8198;background:#f4f8fb;font-size:12px;line-height:1.7}.online-bible-reading>footer .online-bible-pager{border-bottom:0}
.online-bible-results{padding-top:0}.online-bible-results h2{margin:10px 0;font-size:clamp(30px,4vw,46px)}.online-bible-result-count{color:#607890}.online-bible-result-list{display:grid;gap:10px;margin-top:25px}.online-bible-result-list a{display:grid;grid-template-columns:160px minmax(0,1fr);gap:18px;padding:18px 20px;border:1px solid #d8e5f0;border-radius:16px;background:#fff;color:#304b64;line-height:1.7;box-shadow:0 9px 24px rgba(15,56,96,.045)}.online-bible-result-list a:hover{border-color:#73b6ea;transform:translateY(-1px)}.online-bible-result-list strong{color:#0b62b5}.online-bible-result-list span{min-width:0}
@media(max-width:1000px){.online-bible-hero-grid{grid-template-columns:1fr}.online-bible-stats{width:min(100%,430px)}.online-bible-tools{grid-template-columns:1fr}.online-bible-reader{grid-template-columns:1fr}.online-bible-chapters{position:static}.online-bible-chapters nav{grid-template-columns:repeat(10,1fr);max-height:none}.online-bible-chapters a{aspect-ratio:auto;min-height:38px}}
@media(max-width:650px){.online-bible-hero{padding:58px 0 54px}.online-bible-hero h1{font-size:clamp(35px,10vw,46px)}.online-bible-hero p{font-size:15px}.online-bible-stats{grid-template-columns:repeat(3,1fr)}.online-bible-stats div{padding:17px 7px}.online-bible-stats strong{font-size:25px}.online-bible-tools{padding-top:28px}.online-bible-book-form{align-items:stretch;flex-direction:column}.online-bible-book-form .button{justify-content:center}.online-bible-search>div{display:grid;grid-template-columns:minmax(0,1fr) 76px}.online-bible-chapters nav{grid-template-columns:repeat(6,1fr)}.online-bible-reading{border-radius:22px}.online-bible-reading>header{align-items:flex-start;flex-direction:column;padding:25px 21px 20px}.online-bible-local-badge{white-space:normal}.online-bible-pager{padding:14px 20px}.online-bible-verses{padding:24px 15px 32px}.online-bible-verses p{grid-template-columns:28px minmax(0,1fr);gap:8px;padding:8px 4px;font-size:17px;line-height:1.85}.online-bible-reading>footer>p{padding:18px 21px}.online-bible-result-list a{grid-template-columns:1fr;gap:5px}.online-bible-reader{padding-bottom:62px}}

/* v1.5.9 — keep desktop dropdowns and the mobile navigation drawer above the announcement strip. */
.site-header{z-index:200}
@media(min-width:1181px){.site-nav{position:relative;z-index:201}.site-nav .nav-group[open]{z-index:202}.nav-group-menu{z-index:203}}
