/* Shared interface recipes. Layout and content rhythm remain in layout.css. */
:root {
  --radius-card:24px;
  --radius-pill:999px;
  --control-height:46px;
  --on-accent:#fff;
  --surface-hover:#eceeec;
  --accent-soft:#e9efe5;
  --focus-color:#52784a;
}
html[data-theme=dark] {
  --on-accent:#102015;
  --surface-hover:#242424;
  --accent-soft:#242c21;
  --focus-color:#b4d5a3;
}
#main:focus {outline:none}
/* Pointer/touch focus and modal return focus must not leave keyboard rings.
   Existing :focus-visible rules remain available for keyboard navigation. */
html[data-input-modality=pointer] :focus,
html[data-input-modality=pointer] :is(.search-box,.community-detail):focus-within {
  outline:none!important;
}
body svg {stroke-width:1.75}
.ui-icon {width:24px;height:24px;flex-shrink:0}
.action-icon {display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;line-height:1}
.action-icon .ui-icon {width:18px;height:18px}
.section-icon {display:inline-grid;place-items:center;width:44px;height:44px;border-radius:14px;background:var(--bg);color:var(--green);flex-shrink:0}
.section-icon .ui-icon {width:22px;height:22px}
::selection {background:var(--accent-soft);color:var(--ink)}
a:focus-visible,button:focus-visible,input:focus-visible,summary:focus-visible,select:focus-visible {
  outline:3px solid var(--focus-color);outline-offset:4px;
}
.quick-nav a:focus-visible,.video-card:focus-visible,.archive-card:focus-visible,.news-row:focus-visible {
  outline:3px solid var(--focus-color);outline-offset:-4px;
}

/* One family of pill actions, quiet links and category selectors. */
.button,.location-links .button {
  border:0;border-radius:var(--radius-pill);min-height:var(--control-height);
  padding:10px 20px;gap:14px;font-size:calc(15px + var(--reading-step));
  line-height:1.5;font-weight:600;transition:background .2s,color .2s;
}
.button:hover {transform:none}
.button.primary {background:var(--green);color:var(--on-accent)}
.button.primary:hover {background:#354d3a}
html[data-theme=dark] .button.primary {background:var(--green);color:var(--on-accent)}
html[data-theme=dark] .button.primary:hover {background:#bad3ac}
.button.secondary,html[data-theme=dark] .button.secondary {background:var(--surface);color:var(--ink);border:0}
.button.secondary:hover {background:var(--surface-hover)}
.text-link {color:var(--green);gap:12px;font-weight:550;white-space:normal;line-height:1.5}
.text-link:hover,.word-section .text-link:hover,.news-row:hover h3 {color:var(--green)}
.button .action-icon,.text-link .action-icon {flex-shrink:0}
.icon-button,.header-actions .settings-trigger {width:44px;height:44px;border:0;border-radius:50%}
.icon-button:hover {background:var(--surface)}
.icon-button .ui-icon {width:20px;height:20px}
.header-actions .settings-trigger {min-width:44px}
.menu-trigger svg,.settings-trigger svg {width:24px;height:24px}
.menu-dialog {border:0}
.menu-dialog nav {gap:4px}
.menu-dialog nav a {border:0;border-radius:14px;padding:12px 14px;min-height:48px;font-weight:550}
.menu-dialog nav a:hover {background:var(--surface)}
.menu-dialog nav a[aria-current=page] {background:var(--accent-soft);color:var(--green);font-weight:650}
.menu-dialog nav a[aria-current=page] span {color:var(--green)}
.menu-studio {border-radius:var(--radius-card)}
.menu-studio:hover {background:var(--surface-hover)}
.tag,html[data-theme=dark] .tag,.word-section .video-info .tag,html[data-theme=dark] .word-section .video-info .tag {
  border:0;border-radius:var(--radius-pill);background:var(--accent-soft);color:var(--green);
  padding:3px 10px;font-size:calc(12px + var(--reading-step));font-weight:600;line-height:1.65;
}
.video-category-toggle {padding:4px;background:var(--surface)}
.video-category-toggle button,.chip {min-height:44px;padding:9px 20px;border:0;border-radius:var(--radius-pill);font-size:calc(15px + var(--reading-step));line-height:1.5;font-weight:600;color:var(--muted)}
.chip {background:var(--bg)}
.video-category-toggle button[aria-pressed=true],.chip[aria-pressed=true] {background:var(--green);color:var(--on-accent)}
html[data-theme=dark] .video-category-toggle button[aria-pressed=true] {background:var(--green);color:var(--on-accent)}
.chip:hover:not([aria-pressed=true]) {background:var(--surface-hover);color:var(--ink)}

/* A surface introduces every inner page; type hierarchy is shared across routes. */
.page-hero {border:0;background:var(--paper);padding-block:36px 40px}
.page-hero .breadcrumb {margin-bottom:24px;gap:10px;align-items:center;flex-wrap:wrap}
.breadcrumb .action-icon .ui-icon {width:12px;height:12px}
.page-hero .eyebrow {margin-bottom:12px}
.page-hero h1 {font-size:calc(42px + var(--reading-step));line-height:1.25;font-weight:650}
.page-hero p {margin-top:16px;line-height:1.75;font-size:calc(15px + var(--reading-step))}
.page-section {padding-block:44px 64px}
.page-grid {grid-template-columns:minmax(0,1fr) minmax(0,1.8fr);gap:64px;align-items:start}
.page-grid>aside {display:block}
.page-grid>aside>h2,.location-info>h2 {font-size:calc(30px + var(--reading-step));line-height:1.4}
.page-grid>aside>p {margin-top:14px;color:var(--muted);font-size:calc(15px + var(--reading-step));line-height:1.75}
.prose-block+.prose-block {margin-top:40px}
.prose .prose-block>h2,.card-section-head h2,.faq h2 {font-size:calc(24px + var(--reading-step));line-height:1.4;margin-bottom:20px}
.prose p {font-size:calc(15px + var(--reading-step));line-height:1.8}
.prose .small,.source-note {font-size:calc(12px + var(--reading-step));line-height:1.7}
.source-note {margin-top:20px}
.vision-stats {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:28px 0 16px;background:var(--surface);padding:28px;gap:20px}
.vision-stats>div {min-width:0}
.vision-stats span {line-height:1.6;color:var(--muted)}
.value-grid {gap:16px}
.value-card {border:0;background:var(--surface);border-radius:var(--radius-card);padding:24px}
.value-card small {font-family:inherit;color:var(--green);font-size:calc(12px + var(--reading-step));font-weight:650}
.prose .value-card h3 {font-size:calc(18px + var(--reading-step));margin:10px 0;line-height:1.5}
.value-card p {color:var(--muted)}
.staff-panel {background:var(--surface);border-radius:var(--radius-card);padding:28px}
.staff-panel .text-link {margin-top:14px}
.prose .staff-panel .source-note {margin-top:16px}

/* Related practical information lives inside one card. */
.info-panel,.location-card,.notice-panel,.schedule-card,.worship-mini {
  background:var(--surface);border:0;border-radius:var(--radius-card);
}
.info-panel {padding:28px}
.info-panel>.section-icon {margin-bottom:18px}
.info-panel h3 {font-size:calc(21px + var(--reading-step));margin-bottom:12px}
.info-panel p {color:var(--muted);line-height:1.75}
.info-panel .button {margin-top:22px}
.schedule-card {padding:26px}
.card-section-head {display:flex;align-items:center;gap:14px;margin-bottom:16px}
.card-section-head h2 {margin:0;font-size:calc(21px + var(--reading-step))}
.schedule-table {border-collapse:separate;border-spacing:0 6px;table-layout:fixed}
.schedule-table th {border:0;padding:8px 14px;color:var(--muted);font-weight:550}
.schedule-table th:first-child {width:35%}
.schedule-table th:nth-child(2) {width:27%}
.schedule-table th:last-child {width:38%}
.schedule-table td {padding:16px 14px;border:0;background:var(--bg);font-size:calc(15px + var(--reading-step));line-height:1.6;vertical-align:middle}
.schedule-table td:first-child {border-radius:14px 0 0 14px}
.schedule-table td:last-child {border-radius:0 14px 14px 0}
.schedule-table tr.sunday td {background:var(--accent-soft)}
html[data-theme=dark] .schedule-table tr.sunday {background:transparent}
.worship-mini {padding:26px}
.worship-mini h3 {font-size:calc(15px + var(--reading-step));font-weight:650;gap:12px;margin-bottom:12px}
.worship-mini h3 .ui-icon {width:22px;height:22px;color:var(--green)}
.schedule-line {border:0;padding:10px 0;gap:14px;line-height:1.6}
.schedule-line strong {text-align:right;font-weight:600}
.visit-band .worship-mini {background:var(--bg)}
.worship-mini>.text-link {font-size:calc(12px + var(--reading-step));margin-top:12px}

/* Video and text archives use the same card body and metadata hierarchy. */
.archive-controls {padding:20px;background:var(--surface);border-radius:var(--radius-card);margin-bottom:20px}
.archive-controls .subnav {gap:8px;margin:0 0 16px}
.search-bar {margin:0}
.search-box,html[data-theme=dark] .search-box {border:0;border-radius:var(--radius-pill);padding:3px 18px;background:var(--bg);max-width:none;gap:12px;color:var(--muted)}
.search-box:focus-within {outline:3px solid var(--focus-color);outline-offset:3px}
.search-box input {min-height:44px;font-size:calc(15px + var(--reading-step));color:var(--ink)}
.search-box input:focus-visible {outline:none}
.search-box .ui-icon {width:20px;height:20px}
.result-summary {margin-bottom:20px}
.archive-grid {grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.archive-grid>.video-card,.archive-card {background:var(--surface);border:0;border-radius:var(--radius-card);align-self:stretch;transition:background .2s}
.archive-grid>.video-card {display:flex;flex-direction:column;overflow:visible}
.archive-grid>.video-card .video-info,.archive-info {padding:20px}
.archive-grid .video-info h3,.archive-info h3 {font-size:calc(18px + var(--reading-step));line-height:1.5;margin:10px 0 8px}
.archive-grid .video-info p,.archive-info p {font-size:calc(12px + var(--reading-step));line-height:1.65}
.archive-card:hover {transform:none}
.archive-art,.archive-art.dawn,html[data-theme=dark] .archive-art,html[data-theme=dark] .archive-art.dawn {background:var(--paper);min-height:0;aspect-ratio:16/9;padding:24px}
.archive-art .book-label {font-family:inherit;color:var(--muted);letter-spacing:.08em}
.archive-art strong {font-size:calc(24px + var(--reading-step));font-weight:600}
.archive-art>.ui-icon {width:44px;height:44px;opacity:.4;color:var(--green);top:24px;right:24px}
.archive-footer {border:0;padding:0 20px 20px;gap:12px;font-size:calc(12px + var(--reading-step))}
.media-play {padding:0;background:var(--bg);color:var(--green)}
.media-play .ui-icon {width:18px;height:18px;margin-left:2px}
.series-feature .media-play .ui-icon {width:22px;height:22px}
.media-frame {background:var(--surface)}
.video-card:hover .media-frame img {transform:scale(1.02)}
.empty-state,.notice-panel {border:0;background:var(--surface);border-radius:var(--radius-card);padding:40px 24px}
.empty-state h3 {font-size:calc(21px + var(--reading-step))}
.archive-bottom {margin-top:32px}

/* Photo, news and visitor cards share surfaces, corners and action icons. */
.community-card .card-info>span {border:0;background:var(--surface);color:var(--green);width:36px;height:36px;border-radius:50%}
.community-card .card-label {background:var(--bg);color:var(--green);border-radius:var(--radius-pill)}
.wide-community {gap:40px;margin-bottom:40px}
.wide-community h2 {font-size:calc(30px + var(--reading-step));line-height:1.4}
.wide-community img {border-radius:var(--radius-card)}
.community-detail {border:0;background:var(--surface);display:flex;flex-direction:column}
.community-detail-grid {gap:24px}
.community-detail img {aspect-ratio:16/10;height:auto;width:100%}
.community-detail>div {padding:24px;display:flex;flex:1;flex-direction:column;align-items:flex-start}
.community-detail h2 {font-size:calc(24px + var(--reading-step));line-height:1.4}
.community-detail p {margin:12px 0;font-size:calc(15px + var(--reading-step));line-height:1.7}
.community-detail .time {font-size:calc(12px + var(--reading-step));margin:0 0 14px;line-height:1.6}
.community-detail .text-link {font-size:calc(12px + var(--reading-step));gap:10px;max-width:100%;min-height:44px}
.community-detail .eyebrow {font-size:calc(12px + var(--reading-step));margin-bottom:10px}
.news-list {display:grid;gap:14px}
.news-row {grid-template-columns:44px minmax(0,1fr) 20px;align-items:center;gap:18px;padding:24px;background:var(--surface);border:0;border-radius:var(--radius-card);transition:background .2s}
.news-row:hover {background:var(--surface-hover)}
.news-row .tag {margin-bottom:10px}
.news-row h3 {font-size:calc(18px + var(--reading-step));margin:0 0 6px;line-height:1.5}
.news-row p {line-height:1.6;font-size:calc(12px + var(--reading-step))}
.news-row>.action-icon {color:var(--green)}
.location-layout {gap:40px;align-items:start}
.location-card {padding:32px;min-height:320px;gap:24px}
.location-card .map-label {color:var(--green);line-height:1.6;gap:12px}
.location-card .address {font-size:calc(27px + var(--reading-step));line-height:1.5}
.location-card .address small {font-size:calc(15px + var(--reading-step));line-height:1.7;margin-top:12px}
.address-button {background:var(--bg);border:0;border-radius:var(--radius-pill);padding:10px 16px;text-decoration:none;align-self:flex-start;min-height:44px;font-size:calc(15px + var(--reading-step));font-weight:600;gap:12px}
.address-button:hover {color:var(--ink)}
.location-links {gap:12px;margin-top:20px}
.location-info>p {font-size:calc(15px + var(--reading-step));line-height:1.75;margin-bottom:24px}
.location-info>.text-link {font-size:calc(12px + var(--reading-step));margin-top:16px}
.faq {margin-top:44px;max-width:900px}
.faq h2 {margin-bottom:22px}
.faq details,.faq details:last-child {border:0;background:var(--surface);border-radius:var(--radius-card);margin-top:12px}
.faq summary {padding:20px 24px;gap:20px;min-height:64px;font-size:calc(15px + var(--reading-step));font-weight:600;line-height:1.6}
.faq summary:focus-visible {outline-offset:-4px}.faq summary::after,.faq details[open] summary::after {content:none}
.faq summary::-webkit-details-marker {display:none}
.faq-icon {display:grid;place-items:center;width:28px;height:28px;border-radius:50%;color:var(--green);flex-shrink:0;transition:transform .2s}
.faq-icon .ui-icon {width:18px;height:18px}
.faq details[open] .faq-icon {transform:rotate(45deg)}
.faq details p {padding:0 24px 24px;margin:0;color:var(--muted);font-size:calc(15px + var(--reading-step));line-height:1.8;max-width:760px}
.faq details p a {color:var(--green);text-decoration:underline;text-underline-offset:3px}

/* Shared utility surfaces and feedback. */
.settings-dialog:not(.settings-drawer),.content-dialog {border-radius:var(--radius-card);background:var(--bg)}
.content-dialog h2 {font-size:calc(24px + var(--reading-step));line-height:1.4;margin-bottom:20px}
.content-dialog p {font-size:calc(15px + var(--reading-step));line-height:1.8}
.settings-dialog .font-options button[aria-pressed=true],.settings-dialog .theme-options button[aria-pressed=true] {color:var(--on-accent)}
.settings-refresh {color:var(--green)}
.back-to-top,.toast {background:var(--green);color:var(--on-accent)}
.back-to-top .ui-icon {width:22px;height:22px}
.toast {border-radius:var(--radius-pill);font-size:calc(15px + var(--reading-step));box-shadow:0 4px 20px #0002;max-width:calc(100% - 40px);line-height:1.5}
.footer-top>a:last-child {display:inline-flex;align-items:center;gap:10px;color:var(--green);min-height:44px}
.footer-top>a:last-child .ui-icon {width:18px;height:18px}

@media(max-width:1000px) {
  .page-grid {grid-template-columns:minmax(0,1fr);gap:32px}
  .page-grid>aside {max-width:700px}
  .archive-grid {grid-template-columns:repeat(2,minmax(0,1fr))}
  .community-detail-grid {grid-template-columns:minmax(0,1fr)}
  .community-detail {display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .community-detail img {height:100%;min-height:100%;aspect-ratio:4/3}
  .schedule-card {padding:24px}
  .location-layout {gap:28px}
}
@media(max-width:700px) {
  :root {--control-height:44px}
  .page-hero {padding-block:26px 30px}
  .page-hero .breadcrumb {margin-bottom:20px}
  .page-hero h1 {font-size:calc(33px + var(--reading-step))}
  .page-hero .eyebrow {margin-bottom:10px}
  .page-hero p {margin-top:14px}
  .page-section {padding-block:30px 44px}
  .page-grid {gap:28px}
  .page-grid>aside>h2,.location-info>h2,.wide-community h2 {font-size:calc(24px + var(--reading-step))}
  .prose .prose-block>h2,.faq h2 {font-size:calc(21px + var(--reading-step));margin-bottom:18px}
  .prose-block+.prose-block {margin-top:30px}
  .value-grid {gap:12px}
  .value-card {padding:20px}
  .value-card p {font-size:calc(15px + var(--reading-step))}
  .staff-panel,.info-panel {padding:22px}
  .vision-stats {display:flex;flex-direction:column;padding:22px;margin-block:24px 16px;gap:18px}.vision-stats>div{display:flex;align-items:center;justify-content:space-between;gap:16px}.vision-stats strong{font-size:calc(36px + var(--reading-step))}.vision-stats span{margin:0;max-width:55%;text-align:right}
  .button,.location-links .button {padding:9px 16px;gap:10px;font-size:calc(15px + var(--reading-step))}
  .hero .button {gap:4px}
  .hero .button .action-icon .ui-icon {width:15px;height:15px}
  .text-link {gap:10px}
  .schedule-card {padding:18px}
  .card-section-head {gap:12px;margin-bottom:12px}
  .card-section-head h2 {font-size:calc(18px + var(--reading-step))}
  .schedule-table,.schedule-table tbody {display:block;width:100%}
  .schedule-table thead {position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
  .schedule-table tr {display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);column-gap:12px;padding:14px;margin-top:8px;border-radius:14px;background:var(--bg)}
  .schedule-table tr.sunday {background:var(--accent-soft)}
  html[data-theme=dark] .schedule-table tr.sunday {background:var(--accent-soft)}
  .schedule-table td,.schedule-table tr.sunday td {display:block;padding:0;border-radius:0;background:transparent;font-size:calc(12px + var(--reading-step))}
  .schedule-table td:first-child {grid-row:span 2;align-self:center}
  .schedule-table td:nth-child(2) {color:var(--muted);margin-bottom:3px}
  .schedule-table td:last-child {color:var(--green);font-weight:600}
  .worship-mini {padding:22px}
  .archive-controls {padding:16px}
  .archive-controls .subnav {gap:6px;margin-bottom:14px}
  .chip {font-size:calc(12px + var(--reading-step));padding:8px 14px}
  .search-box {padding-inline:14px;gap:10px}
  .search-box input {font-size:calc(15px + var(--reading-step))}
  .archive-grid {grid-template-columns:minmax(0,1fr);gap:20px}
  .archive-grid>.video-card .video-info,.archive-info {padding:18px}
  .archive-art {padding:22px}
  .archive-footer {padding:0 18px 18px}
  .archive-controls+.result-summary {margin-bottom:18px}
  .community-detail {display:flex}
  .community-detail img {height:auto;min-height:0;aspect-ratio:16/10;max-height:none}
  .community-detail>div {padding:22px}
  .community-detail-grid {gap:20px}
  .wide-community {grid-template-columns:minmax(0,1fr);gap:24px;margin-bottom:32px}
  .wide-community .eyebrow {margin-bottom:12px}
  .wide-community p {margin-block:14px 16px}
  .news-row {grid-template-columns:36px minmax(0,1fr) 18px;padding:20px;gap:12px}
  .news-row>.section-icon {width:36px;height:36px;border-radius:12px}
  .news-row .tag {margin-bottom:8px}
  .news-row h3 {font-size:calc(18px + var(--reading-step));margin-bottom:6px}
  .location-layout {grid-template-columns:minmax(0,1fr);gap:32px}
  .location-card {padding:24px;min-height:290px;gap:22px}
  .location-card .address {font-size:calc(24px + var(--reading-step))}
  .location-links .button {flex:1;min-width:0;justify-content:space-between;gap:6px}
  .location-links .action-icon .ui-icon {width:15px;height:15px}
  .location-info>h2 {margin-bottom:16px}
  .location-info>p {margin-bottom:20px}
  .faq {margin-top:36px}
  .faq summary {padding:18px 20px;gap:12px}
  .faq details p {padding:0 20px 20px}
  .settings-dialog:not(.settings-drawer),.content-dialog {padding:22px}
  .content-dialog h2 {font-size:calc(21px + var(--reading-step))}
  .community-card .card-info>span {width:28px;height:28px;min-width:28px}
}
@media(max-width:380px) {
  .value-grid {grid-template-columns:minmax(0,1fr)}
  .news-row {padding:18px;grid-template-columns:minmax(0,1fr) 18px}
  .news-row>.section-icon {display:none}
  .location-links {flex-direction:column;align-items:stretch}
  .schedule-card {padding:16px}
  .schedule-table tr {padding:12px;column-gap:10px}
  .hero .button {padding-inline:8px}
}

/* v16 · an inset thumbnail belongs to its card, rather than sharing its edge. */
.series-track {align-items:stretch}
.series-track>.video-card,.archive-grid>.video-card {
  padding:8px;align-self:stretch;display:flex;flex-direction:column;
  border:0;border-radius:24px;min-width:0;
}
.series-track>.video-card {background:var(--bg)}
.series-track .media-frame,.archive-grid>.video-card .media-frame {
  flex-shrink:0;border-radius:16px;
}
.series-track .video-info {padding:12px 8px 10px}
.archive-grid>.video-card .video-info {padding:14px 12px 12px}
.series-track .video-info h3 {margin:8px 0 6px}
.media-frame>.media-play,.video-card .media-play,.series-feature .media-play {
  width:44px;height:44px;padding:0;background:transparent;border:0;
  border-radius:0;box-shadow:none;color:#fff;
  filter:drop-shadow(0 2px 5px #0008) drop-shadow(0 0 16px #0005);
  transition:filter .2s;
}
.media-play .ui-icon,.series-feature .media-play .ui-icon {
  width:26px;height:26px;margin:0;fill:currentColor;stroke:none;
}
.series-feature .media-play {width:60px;height:60px}
.series-feature .media-play .ui-icon {width:36px;height:36px}
.video-card:hover .media-play {filter:drop-shadow(0 3px 7px #000a) drop-shadow(0 0 20px #0007)}

/* Progressive frosted glass: a soft, fading boundary instead of a header rule. */
.site-header {border:0;box-shadow:none;background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none;isolation:isolate}
.site-header::before {content:'';position:absolute;inset:0;z-index:-1;background:var(--bg);pointer-events:none}
.header-inner {position:relative}
@supports ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))) {
  .site-header::before {
    inset:0 0 -22px;
    background:linear-gradient(to bottom,#ffffffeb 0%,#ffffffc2 65%,#ffffff70 100%);
    backdrop-filter:blur(20px) saturate(1.3);
    -webkit-backdrop-filter:blur(20px) saturate(1.3);
    mask-image:linear-gradient(to bottom,#000 0%,#000 66%,transparent 100%);
    -webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 66%,transparent 100%);
  }
  html[data-theme=dark] .site-header::before {background:linear-gradient(to bottom,#000e 0%,#000b 65%,#0007 100%)}
}

/* Portrait stories: the same photographic carousel on phone, tablet and desktop. */
.home-community .section-head {align-items:center;gap:28px}
.community-heading-end {display:flex;align-items:center;gap:28px;flex-shrink:0}
.community-heading-end .fresh-art {width:100px;height:88px}
.community-track {
  display:flex;gap:24px;overflow-x:auto;overflow-y:hidden;
  padding:4px 0 12px;scroll-snap-type:x mandatory;scrollbar-width:none;
  scroll-padding-inline:0;overscroll-behavior-x:contain;
}
.community-track::-webkit-scrollbar {display:none}
.community-track:focus-visible {outline:3px solid var(--focus-color);outline-offset:5px;border-radius:24px}
.home-community .community-track .community-card {
  position:relative;isolation:isolate;flex:0 0 38%;max-width:420px;
  aspect-ratio:4/5;min-width:0;display:flex;align-items:stretch;justify-content:flex-end;
  flex-direction:column;padding:28px;scroll-snap-align:start;
  border:0;border-radius:24px;background:#162019;color:#fff;overflow:hidden;
}
.home-community .community-card:focus-visible {outline:3px solid #c6e4b6;outline-offset:-5px}
.home-community .community-card .photo,html[data-font=larger] .home-community .community-card .photo {
  position:absolute;inset:0;z-index:-2;width:100%;height:100%;
  aspect-ratio:auto;border-radius:0;background:transparent;
}
.home-community .community-card .photo::after {
  content:'';position:absolute;inset:0;
  background:linear-gradient(180deg,#0005 0%,transparent 28%,#0001 45%,#000b 80%,#000e 100%);
}
.home-community .community-card .photo img {
  position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
  object-position:50% 55%;filter:none;transition:transform .6s;
}
.home-community .community-card:hover .photo img {transform:scale(1.035)}
/* The original square banners contain lettering; frame the photo-only areas. */
.home-community .community-school .photo img {transform:scale(1.3);transform-origin:center bottom}
.home-community .community-school:hover .photo img {transform:scale(1.335)}
.home-community .community-youth .photo img {object-position:left center;transform:scale(2);transform-origin:left 40%}
.home-community .community-youth:hover .photo img {transform:scale(2.035)}
.home-community .community-card .card-label {
  position:absolute;top:26px;left:28px;display:inline-flex;align-items:center;
  background:#ffffffde;color:#233b27;border:0;border-radius:999px;
  font-size:calc(12px + var(--reading-step));font-weight:650;letter-spacing:.06em;
  padding:5px 12px;max-width:calc(100% - 56px);
}
.home-community .community-card .card-info {
  position:relative;display:flex;align-items:flex-end;justify-content:space-between;
  gap:16px;padding:0;width:100%;
}
.home-community .community-card .card-info>div {min-width:0}
.home-community .community-card h3 {font-size:calc(30px + var(--reading-step));line-height:1.3;color:#fff;letter-spacing:-.04em}
.home-community .community-card p {font-size:calc(15px + var(--reading-step));line-height:1.6;color:#ffffffe0;margin-top:10px}
.home-community .community-card .card-info>.action-icon {
  width:40px;height:40px;min-width:40px;border-radius:50%;border:0;
  background:#ffffff26;color:#fff;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);
}
.community-card .action-icon .ui-icon {width:20px;height:20px}
.community-carousel-footer {display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:12px}
.community-carousel-footer>p {font-size:calc(12px + var(--reading-step));color:var(--muted);line-height:1.6}
.community-controls {display:flex;gap:8px;flex-shrink:0}
.community-arrow {display:grid;place-items:center;width:44px;height:44px;border:0;border-radius:50%;background:var(--surface);color:var(--green);transition:background .2s}
.community-arrow .ui-icon {width:20px;height:20px}
.community-arrow:hover:enabled {background:var(--surface-hover)}
.community-arrow:disabled {color:var(--muted);opacity:.45}

/* Original vector accents suggest fresh growth without competing with the logo. */
.fresh-art {display:block;flex-shrink:0;pointer-events:none}
.fresh-art path,.fresh-art circle {stroke:none}
.fresh-art .art-leaf {fill:#52764a}
.fresh-art .art-leaf-light {fill:#a9c584}
.fresh-art .art-orbit {fill:#f0f4e8}
.fresh-art .art-spark {fill:#668954}
.fresh-art .art-dot {fill:#bdd69e}
.fresh-art .art-stem {stroke:#355238;stroke-width:4;fill:none}
html[data-theme=dark] .fresh-art .art-leaf {fill:#8bb879}
html[data-theme=dark] .fresh-art .art-leaf-light {fill:#c3dc9c}
html[data-theme=dark] .fresh-art .art-orbit {fill:#172014}
html[data-theme=dark] .fresh-art .art-spark {fill:#b4d594}
html[data-theme=dark] .fresh-art .art-stem {stroke:#c3dc9c}
.welcome-eyebrow {display:flex;align-items:center;gap:10px}
.welcome-eyebrow .fresh-seed {width:32px;height:32px}

@media(max-width:1000px) {
  .home-community .community-track .community-card {flex-basis:46%;padding:24px}
  .home-community .community-card h3 {font-size:calc(27px + var(--reading-step))}
  .home-community .community-card .card-label {top:24px;left:24px;max-width:calc(100% - 48px)}
  .community-heading-end {gap:18px}
  .community-heading-end .fresh-art {width:80px;height:72px}
}
@media(max-width:700px) {
  .home-community .section-head {position:relative;flex-wrap:wrap;gap:10px;align-items:flex-start}
  .home-community .section-head>div:first-child {padding-right:64px}
  .community-heading-end {width:100%;justify-content:flex-start}
  .community-heading-end .fresh-art {position:absolute;top:-2px;right:0;width:60px;height:56px}
  .community-heading-end .text-link {font-size:calc(12px + var(--reading-step));min-height:36px}
  .home-community .community-track {gap:16px}
  .home-community .community-track .community-card {flex-basis:84%;max-width:none;aspect-ratio:4/5;padding:22px}
  .home-community .community-card h3 {font-size:calc(27px + var(--reading-step))}
  .home-community .community-card p {font-size:calc(12px + var(--reading-step));margin-top:8px}
  .home-community .community-card .card-label {top:22px;left:22px;max-width:calc(100% - 44px);padding:4px 10px;font-size:calc(12px + var(--reading-step))}
  .home-community .community-card .card-info {gap:12px;padding:0}
  .home-community .community-card .card-info>.action-icon {width:36px;height:36px;min-width:36px}
  .community-carousel-footer {gap:14px;margin-top:8px}
  .series-track .video-info {padding:12px 8px 10px}
  .archive-grid>.video-card .video-info {padding:14px 10px 12px}
}
@media(prefers-reduced-transparency:reduce) {
  .site-header::before {inset:0;background:var(--bg);mask-image:none;-webkit-mask-image:none;backdrop-filter:none;-webkit-backdrop-filter:none}
}

/* v17 · living greens, one refined sprout, and a travelling category pill. */
:root {
  --green:#387b48;
  --green-hover:#2e6e42;
  --green-display:#52965b;
  --accent-soft:#ebf5e5;
  --focus-color:#438c50;
}
html[data-theme=dark] {
  --green:#a4d785;
  --green-hover:#bee69f;
  --green-display:#a4d785;
  --accent-soft:#202c1b;
  --focus-color:#c3e7a9;
}
.button.primary:hover,html[data-theme=dark] .button.primary:hover {background:var(--green-hover)}
.hero h1 em,html[data-theme=dark] .hero h1 em {color:var(--green-display)}
.church-logo {background:var(--green)}
html[data-theme=dark] .church-logo {background:#bdddab}
.fresh-art .art-leaf {fill:#4b9a55}
.fresh-art .art-leaf-light {fill:#acd476}
.fresh-art .art-orbit {fill:#f1f7e9}
.fresh-art .art-stem {stroke:#458448;stroke-width:4;stroke-linecap:round}
.fresh-art .art-spark {fill:#71a45a}
.fresh-art .art-dot {fill:#b7d892}
html[data-theme=dark] .fresh-art .art-leaf {fill:#79b66b}
html[data-theme=dark] .fresh-art .art-leaf-light {fill:#bddf8e}
html[data-theme=dark] .fresh-art .art-orbit {fill:#152010}
html[data-theme=dark] .fresh-art .art-stem {stroke:#94c47b}
html[data-theme=dark] .fresh-art .art-spark {fill:#a3cf7d}
.hero .annual-motto {flex-direction:row;align-items:center;gap:10px;margin-bottom:16px}
.hero .annual-motto .fresh-seed {width:40px;height:36px}
.welcome-eyebrow .fresh-seed {width:32px;height:30px}
.video-category-toggle {
  position:relative;isolation:isolate;display:inline-grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  width:min(100%,480px);gap:4px;padding:4px;border-radius:999px;
}
.category-indicator {display:none;position:absolute;left:0;top:0;z-index:0;border-radius:999px;background:var(--green);pointer-events:none}
.video-category-toggle.has-indicator .category-indicator {display:block}
.video-category-toggle.indicator-ready .category-indicator {
  transition:transform .32s cubic-bezier(.22,1,.36,1),width .32s cubic-bezier(.22,1,.36,1),height .2s ease;
}
.video-category-toggle button {position:relative;z-index:1;min-width:0;padding:10px 8px;line-height:1.4;white-space:normal;transition:color .2s;background:transparent}
.video-category-toggle.has-indicator button[aria-pressed=true],html[data-theme=dark] .video-category-toggle.has-indicator button[aria-pressed=true] {background:transparent;color:var(--on-accent)}
.video-category-toggle.has-indicator button:hover:not([aria-pressed=true]) {background:transparent;color:var(--green)}
.series-history-head {flex-wrap:wrap}
@media(max-width:700px) {
  .hero .annual-motto {gap:8px;margin-bottom:14px}
  .hero .annual-motto .fresh-seed {width:36px;height:32px}
  .video-category-toggle {display:grid;width:100%}
  .video-category-toggle button {padding-inline:4px;font-size:calc(15px + var(--reading-step));min-height:44px}
  .series-heading {flex-wrap:wrap;gap:10px}
}

.video-category-toggle .category-word {display:inline-block;white-space:nowrap}

/* v18 · a softer edge, complete church pages and small moments of life. */
:root {--green:#357444;--green-hover:#2b633a;--green-display:#4d8e56}
html[data-theme=dark] {--green:#9bcc7e;--green-hover:#b2db95;--green-display:#9bcc7e}
html {background:var(--bg)}
body {background:var(--bg)}
.hero .button {padding-inline:24px}
.header-actions {margin-right:-8px}
.header-actions .settings-trigger {
  display:flex;align-items:center;justify-content:flex-end;gap:10px;
  width:auto;min-width:0;height:44px;padding:0;border-radius:999px;
  font-size:calc(15px + var(--reading-step));font-weight:600;
}
.site-header .menu-trigger svg {width:22px;height:22px;stroke-width:1.5}
.site-header .settings-trigger svg {width:20px;height:20px;stroke-width:1.5}
.site-header {padding-top:env(safe-area-inset-top,0px)}
.site-header::before {top:calc(-1 * env(safe-area-inset-top,0px) - 2px)}
@supports ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))) {
  .site-header::before {
    inset:calc(-1 * env(safe-area-inset-top,0px) - 12px) 0 -44px;
    background:linear-gradient(to bottom,#fffffff2 0%,#ffffffce 52%,#ffffff80 100%);
    mask-image:linear-gradient(to bottom,#000 0%,#000 48%,#000e 66%,#0006 86%,transparent 100%);
    -webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 48%,#000e 66%,#0006 86%,transparent 100%);
    backdrop-filter:blur(22px) saturate(1.2);-webkit-backdrop-filter:blur(22px) saturate(1.2);
  }
  html[data-theme=dark] .site-header::before {background:linear-gradient(to bottom,#000f 0%,#000c 52%,#0008 100%)}
}
.menu-parent {display:flex;align-items:center;gap:8px}
.menu-parent>a {flex:1}
.menu-parent .icon-button svg {width:18px;height:18px;transition:transform .25s}
.menu-parent .icon-button[aria-expanded=true] svg {transform:rotate(180deg)}
.menu-subnav {display:grid;grid-template-rows:0fr;transition:grid-template-rows .25s}
.menu-subnav>div {min-height:0;overflow:hidden;padding-inline:16px}
.menu-subnav.is-expanded {grid-template-rows:1fr}
.menu-dialog nav .menu-subnav a {font-size:calc(15px + var(--reading-step));color:var(--muted);padding:10px 14px;min-height:44px;margin-block:2px}
.menu-dialog nav .menu-subnav a[aria-current=page] {color:var(--green)}
.church-subnav {display:flex;gap:8px;flex-wrap:wrap;margin-bottom:32px}
.church-subnav a {display:flex;align-items:center;min-height:44px;border-radius:999px;padding:9px 18px;background:var(--surface);font-size:calc(15px + var(--reading-step));line-height:1.5;font-weight:550}
.church-subnav a[aria-current=page] {background:var(--green);color:var(--on-accent)}
.greeting-layout {display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.25fr);gap:64px;align-items:start}
.greeting-graphic {background:var(--surface);border-radius:24px;padding:44px;min-height:390px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}
.greeting-graphic .fresh-art {width:150px;height:150px;margin-bottom:24px}
.greeting-graphic>p {font-size:calc(24px + var(--reading-step));color:var(--ink);font-weight:600;line-height:1.5}
.greeting-graphic>span {margin-top:20px;color:var(--muted);font-size:calc(12px + var(--reading-step))}
.greeting-prose h2 {font-size:calc(30px + var(--reading-step));line-height:1.4;margin-bottom:28px}
.greeting-prose>p,.reading-prose p {font-size:calc(18px + var(--reading-step));line-height:1.85;color:var(--text)}
.greeting-prose>p+p,.reading-prose p+p {margin-top:22px}
.pastor-signature {display:flex;gap:18px;align-items:baseline;margin:32px 0 20px;flex-wrap:wrap}
.pastor-signature>span {font-size:calc(12px + var(--reading-step));color:var(--muted)}
.pastor-signature>strong {font-size:calc(24px + var(--reading-step));color:var(--green);letter-spacing:.12em;font-weight:600}
.staff-grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.staff-card {min-width:0;background:var(--surface);border-radius:24px;padding:28px}
.staff-card .card-section-head h2 {font-size:calc(24px + var(--reading-step))}
.staff-role {margin-top:20px}
.staff-role h3 {font-size:calc(12px + var(--reading-step));color:var(--muted);line-height:1.6;letter-spacing:0}
.staff-role p {display:flex;gap:8px 18px;flex-wrap:wrap;margin-top:7px;font-size:calc(21px + var(--reading-step));font-weight:600;color:var(--ink)}
.word-detail {max-width:860px;margin:auto}
.word-detail-heading {display:flex;align-items:center;gap:16px;margin-bottom:28px}
.word-detail-heading .section-icon {background:var(--surface)}
.word-detail-heading h2 {font-size:calc(24px + var(--reading-step))}
.word-detail-heading p {font-size:calc(15px + var(--reading-step));color:var(--muted);margin-top:6px}
.word-detail>.video-card {margin-bottom:28px}
.word-detail>.button {margin-top:32px}
.vision-stats strong .count-value {display:inline;font:inherit;line-height:inherit;color:inherit;margin:0;text-align:left;max-width:none}
.vision-flow>div {position:relative}
.vision-flow>div+div:before {content:'→';position:absolute;left:-22px;top:12px;font-family:Pretendard,sans-serif;font-size:18px;color:var(--muted);opacity:.4}
.value-card>.section-icon {margin-bottom:20px}
.value-card>small {display:block}
.worship-overview {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:20px 0}
.worship-time-card {display:flex;align-items:center;gap:14px;background:var(--bg);border-radius:18px;padding:16px;min-width:0}
.clock-graphic {width:72px;height:72px;stroke:var(--green);fill:none;flex-shrink:0}
.clock-graphic .clock-ticks {opacity:.35}
.clock-graphic .clock-hands {transform-origin:48px 48px}
.clock-graphic .clock-center {fill:var(--green);stroke:none}
.worship-time-card>div>span {font-size:calc(12px + var(--reading-step));color:var(--muted)}
.worship-time-card strong {display:block;line-height:1.3;font-size:calc(30px + var(--reading-step));font-weight:600;color:var(--green);font-variant-numeric:tabular-nums;margin-top:6px}
.worship-time-card strong small {font-size:calc(12px + var(--reading-step));font-weight:500}
.motion-reveal.is-visible .section-icon {animation:graphic-appear .6s cubic-bezier(.22,1,.36,1) both;animation-delay:calc(var(--reveal-order,0)*60ms)}
.worship-overview.is-visible .clock-hands {animation:clock-set .85s cubic-bezier(.22,1,.36,1) both}
.community-carousel {width:var(--viewport-width,100%);margin-inline:calc((100% - var(--viewport-width,100%))/2)}
.community-track {padding:48px var(--content-gutter,24px) 18px;scroll-padding-inline:var(--content-gutter,24px)}
.community-slide {position:relative;flex:0 0 38%;max-width:420px;min-width:0;scroll-snap-align:start;transform:rotate(var(--card-tilt,0deg));transform-origin:50% 85%;transition:transform .3s cubic-bezier(.22,1,.36,1)}
.home-community .community-track .community-card {width:100%;max-width:none;position:relative;z-index:1}
.card-sprout {position:absolute;z-index:0;top:-34px;left:calc(50% - 26px);width:52px;height:48px;pointer-events:none}
.card-sprout .fresh-art {width:100%;height:100%}
.community-slide.is-visible .card-sprout .fresh-art {animation:sprout-rise .7s cubic-bezier(.22,1,.36,1) both}
.community-carousel-footer {padding-inline:var(--content-gutter,24px)}
@keyframes graphic-appear {from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
@keyframes clock-set {from{transform:rotate(-30deg);opacity:.3}to{transform:rotate(0);opacity:1}}
@keyframes sprout-rise {from{transform:translateY(12px) scale(.75);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}
@media(max-width:1100px) {.worship-time-card {gap:8px;padding:14px}.clock-graphic {width:56px;height:56px}}
@media(max-width:1000px) {.community-slide {flex-basis:46%}.greeting-layout {gap:32px}.greeting-graphic {padding:32px}}
@media(max-width:700px) {
  .hero .button {padding-inline:16px}
  .header-actions .settings-trigger {gap:8px;font-size:calc(12px + var(--reading-step))}
  .menu-trigger>span {display:inline;font-size:calc(12px + var(--reading-step))}
  .menu-trigger {gap:8px}
  .greeting-layout {grid-template-columns:minmax(0,1fr);gap:28px}
  .greeting-graphic {min-height:0;padding:26px;display:grid;grid-template-columns:72px minmax(0,1fr);gap:16px;align-items:center}
  .greeting-graphic .fresh-art {width:72px;height:72px;margin:0;grid-row:span 2}
  .greeting-graphic>p {font-size:calc(18px + var(--reading-step))}
  .greeting-graphic>span {margin:0;font-size:calc(12px + var(--reading-step))}
  .greeting-prose h2 {font-size:calc(24px + var(--reading-step));margin-bottom:22px}
  .greeting-prose>p,.reading-prose p {font-size:calc(15px + var(--reading-step));line-height:1.85}
  .church-subnav {gap:6px;margin-bottom:26px}
  .church-subnav a {font-size:calc(12px + var(--reading-step));padding:8px 14px}
  .staff-grid {grid-template-columns:minmax(0,1fr);gap:18px}
  .staff-card {padding:24px}
  .staff-card .card-section-head h2 {font-size:calc(21px + var(--reading-step))}
  .word-detail-heading {gap:12px;margin-bottom:22px;align-items:flex-start}
  .word-detail-heading h2 {font-size:calc(21px + var(--reading-step))}
  .vision-flow>div+div:before {display:none}
  .worship-overview {gap:10px}
  .worship-time-card {flex-direction:column;align-items:flex-start;gap:8px;padding:14px}
  .clock-graphic {width:48px;height:48px}
  .worship-time-card strong {font-size:calc(24px + var(--reading-step))}
  .community-slide {flex-basis:84%;max-width:none}
  .home-community .community-track .community-card {aspect-ratio:4/5}
  .home-community .community-track {padding-top:44px}
}
@media(max-width:380px) {.hero .button {padding-inline:12px}.greeting-graphic {padding:22px;grid-template-columns:56px minmax(0,1fr)}.greeting-graphic .fresh-art {width:56px;height:56px}}
@media(prefers-reduced-transparency:reduce) {.site-header::before {inset:calc(-1 * env(safe-area-inset-top,0px)) 0 0;background:var(--bg);mask-image:none;-webkit-mask-image:none;backdrop-filter:none;-webkit-backdrop-filter:none}}

.header-actions #reading-open.settings-trigger {width:auto;height:44px;min-width:0}

/* v19 · warm soil around the photo, with a continuous spring above it. */
.home-community {--community-frame:#725640}
html[data-theme=dark] .home-community {--community-frame:#87664b}
.home-community .community-track {padding-top:60px;padding-bottom:32px}
.community-slide {
  transform:translateY(var(--card-lift,0px)) rotate(var(--card-tilt,0deg));
  transform-origin:50% 82%;transition:none;
}
.community-track.is-swaying .community-slide {will-change:transform}
.home-community .community-track .community-card {
  padding:8px;background:var(--community-frame);justify-content:stretch;
}
.community-card-window {
  position:relative;isolation:isolate;flex:1;min-height:0;min-width:0;
  display:flex;flex-direction:column;justify-content:flex-end;
  width:100%;padding:24px;border-radius:16px;overflow:hidden;background:#162019;
}
.card-sprout {top:-44px;left:calc(50% - 32px);width:64px;height:60px}
.card-sprout .fresh-art {filter:drop-shadow(0 3px 4px #426d2814)}
.home-community .community-card .card-label {top:24px;left:24px;max-width:calc(100% - 48px)}
@media(max-width:1000px) {
  .community-card-window {padding:20px}
  .home-community .community-card .card-label {top:20px;left:20px;max-width:calc(100% - 40px)}
}
@media(max-width:700px) {
  .home-community .community-track {padding-top:56px;padding-bottom:30px}
  .community-card-window {padding:16px}
  .home-community .community-card .card-label {top:16px;left:16px;max-width:calc(100% - 32px)}
}
@media(prefers-reduced-motion:reduce) {
  .community-slide {transform:none}
}

/* v20 · one drawer clock, pointer-aware focus, and compositor-only travel. */
html:has(dialog[open]) {overflow:hidden}
/* Keep the sticky header attached to the root scrollport while the modal locks it. */
body:has(dialog[open]) {overflow:visible}
.menu-dialog,.settings-drawer {box-shadow:0 0 32px #0000001f;contain:layout style}
.menu-dialog:focus,.settings-drawer:focus {outline:none}
.menu-dialog.drawer-moving,.settings-drawer.drawer-moving {will-change:transform}
:is(.menu-dialog,.settings-drawer)[data-focus-origin=pointer] .menu-head [data-close]:focus {
  outline:none;box-shadow:none;
}
.menu-dialog[open]::backdrop,.settings-drawer[open]::backdrop {
  background:#0006;backdrop-filter:none;
  animation:drawer-shade-in var(--drawer-duration,360ms) var(--drawer-easing,ease) both;
}
.menu-dialog.drawer-closing::backdrop,.settings-drawer.drawer-closing::backdrop {animation-name:drawer-shade-out}
@keyframes drawer-shade-in {from{opacity:0}to{opacity:1}}
@keyframes drawer-shade-out {from{opacity:var(--drawer-shade-start,1)}to{opacity:0}}
.video-category-toggle.indicator-ready .category-indicator {transition:transform .32s cubic-bezier(.22,1,.36,1)}
.community-slide {transform:none}
@media(prefers-reduced-motion:reduce) {
  .menu-dialog[open]::backdrop,.settings-drawer[open]::backdrop {animation:none}
}

/* v21 · variable type, with its widest word reserving a stable footprint. */
.hero h1 .motto-sky {
  --motto-play:paused;position:relative;display:inline-grid;
  color:var(--green);vertical-align:baseline;white-space:nowrap;
}
.hero h1 .motto-sky::after {
  content:attr(data-text);grid-area:1/1;visibility:hidden;font-weight:900;
}
.hero h1 .motto-ink {
  position:absolute;inset:0 auto auto 0;grid-area:1/1;justify-self:start;font-weight:650;
  animation:motto-arrive .85s cubic-bezier(.22,.8,.25,1) both,motto-weight 6.2s cubic-bezier(.22,.75,.22,1) infinite;
  animation-play-state:var(--motto-play);
}
.hero h1 .motto-sky.motto-running {--motto-play:running}
html.page-hidden .hero h1 .motto-sky,html:has(dialog[open]) .hero h1 .motto-sky {--motto-play:paused}
.hero h1 .motto-life {color:#30352f;font-style:normal}
html[data-theme=dark] .hero h1 .motto-life {color:#e8ebe6}
@keyframes motto-arrive {from{opacity:0;transform:translate3d(0,.22em,0)}to{opacity:1;transform:translate3d(0,0,0)}}
@keyframes motto-weight {0%,5%,100%{font-weight:550}20%{font-weight:800}28%{font-weight:700}36%,66%{font-weight:750}84%{font-weight:580}}
@media(prefers-reduced-motion:reduce) {
  .hero h1 .motto-ink {animation:none;font-weight:650}
}

/* v22 · persistent video panes and a clearer reading hierarchy. */
.video-deck {overflow:hidden;isolation:isolate;min-width:0}
.video-deck-track {display:flex;align-items:stretch;min-width:0;transition:transform .48s cubic-bezier(.22,.75,.25,1)}
.video-deck-panel {flex:0 0 100%;min-width:0;padding:2px;display:flex;flex-direction:column}
/* Let content determine height; avoid a percentage back-reference inside stretched flex items. */
.video-deck-panel>.video-series {height:auto;flex:1 0 auto;min-width:0;box-sizing:border-box}
.page-hero h1 {font-weight:750}
.prose .prose-block>h2,.card-section-head h2,.greeting-prose h2,.location-info h2,.faq h2,.wide-community h2,.community-detail h2,.section-head h2 {font-weight:750}
.value-card h3,.staff-role p,.video-info h3,.news-row h3,.info-panel h3 {font-weight:700}
.prose strong,.reading-prose strong,.greeting-prose strong {font-weight:750}
.prose .staff-panel {display:grid;grid-template-columns:minmax(0,1fr);gap:16px;min-width:0}
.prose .staff-panel>h2,.prose .staff-panel>p {margin:0}
.staff-lead {display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}
.staff-lead>span {font-size:calc(12px + var(--reading-step));color:var(--muted)}
.staff-lead>strong {font-size:calc(21px + var(--reading-step));font-weight:750;color:var(--ink)}
.staff-panel .button-row {display:flex;flex-wrap:wrap;gap:12px;margin-top:6px;min-width:0}
.staff-panel .button-row .button {min-width:0;white-space:normal;font-weight:650}
@media(max-width:700px) {
  .prose .staff-panel {padding:24px 20px;gap:14px}
  .staff-panel .button-row {display:grid;grid-template-columns:minmax(0,1fr);gap:10px}
  .staff-panel .button-row .button {width:100%;justify-content:space-between;gap:14px;padding:12px 18px;min-height:48px}
}
@media(prefers-reduced-motion:reduce) {.video-deck-track {transition:none}}

/* v23 · softer home headings, with a green-leaning charcoal ink. */
html[data-theme=light] {--ink:#303831;--text:#4b514c}
html[data-theme=light] .hero h1 .motto-life {color:var(--ink)}
#main:has(.home-intro) :is(h2,h3),.home-intro .quick-nav strong {font-weight:600}

/* v24 · green leads; walnut and linen carry the church's warmth. */
:root {
  --brown:#795b45;
  --brown-hover:#654b39;
  --brown-soft:#f2ece5;
  --brown-soft-hover:#e9dfd3;
  --warm-plane:#f6f3ee;
  --warm-card:#f3f0eb;
  --word-plane:#eee6dc;
  --warm-line:#e4dacf;
  --warm-muted:#6c645a;
  --brown-frame:#725640;
}
html[data-theme=dark] {
  --brown:#c8a587;
  --brown-hover:#ddbb9d;
  --brown-soft:#251e19;
  --brown-soft-hover:#34291f;
  --warm-plane:#151311;
  --warm-card:#1c1815;
  --word-plane:#211a15;
  --warm-line:#40352c;
  --warm-muted:#b7ada3;
  --brown-frame:#87664b;
}
html[data-theme] :is(.visit-band,.page-hero,.site-footer) {background:var(--warm-plane)}
html[data-theme] .verse-band {background:var(--word-plane)}
.verse-inner :is(.eyebrow,.verse-label,blockquote) {color:var(--brown)}
.page-hero>.container>.eyebrow,.welcome-eyebrow,.home-community .section-head .eyebrow,.greeting-prose>.eyebrow {color:var(--brown)}
.button.secondary,html[data-theme=dark] .button.secondary {background:var(--brown-soft);color:var(--brown)}
.button.secondary:hover,html[data-theme=dark] .button.secondary:hover {background:var(--brown-soft-hover);color:var(--brown-hover)}
.vision-stats,.value-card,.staff-panel,.staff-card,.greeting-graphic {background:var(--warm-card)}
.vision-stats strong,.value-card>small,.pastor-signature>strong {color:var(--brown)}
:is(.value-card,.staff-card) .section-icon {background:var(--brown-soft);color:var(--brown)}
.greeting-graphic>span {color:var(--brown)}
.site-footer .footer-top,.site-footer .footer-bottom {border-color:var(--warm-line)}
.home-community,html[data-theme=dark] .home-community {--community-frame:var(--brown-frame)}
:is(.visit-band,.page-hero,.site-footer,.verse-band,.vision-stats,.value-card,.staff-panel,.staff-card,.greeting-graphic) {--muted:var(--warm-muted)}

/* v27 · curated public updates, practical arrival guidance, direct communities. */
.week-grid {display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:24px;align-items:stretch}
.week-card {padding:28px;background:var(--bg);border-radius:24px;min-width:0}
.week-card>h3 {display:flex;align-items:center;gap:12px;margin-bottom:18px;font-size:calc(18px + var(--reading-step))}
.week-card>h3>svg {color:var(--brown)}
.public-notices {display:grid;gap:12px}
.public-notice {display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px 18px;background:var(--surface);border-radius:16px;text-align:left;min-width:0;transition:background .2s}
.public-notice:hover {background:var(--surface-hover)}
.public-notice>span {display:grid;gap:4px;min-width:0}
.public-notice small {font-size:calc(12px + var(--reading-step));color:var(--brown);font-weight:600}
.public-notice strong {font-size:calc(18px + var(--reading-step));line-height:1.5;color:var(--ink);font-weight:600}
.public-notice>span>span {font-size:calc(12px + var(--reading-step));color:var(--muted)}
.public-notice>svg {width:18px;height:18px;color:var(--green)}
.week-grid .worship-mini {margin:0;align-self:stretch;padding:28px}
.this-week .section-head {margin-bottom:24px}
.arrival-guide {margin-top:54px}
.arrival-steps {list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.arrival-steps>li {padding:24px;background:var(--surface);border-radius:24px;min-width:0}
.arrival-step-head {display:flex;align-items:center;justify-content:space-between;margin-bottom:18px;color:var(--green)}
.step-number {font-family:Pretendard,sans-serif;font-size:calc(33px + var(--reading-step));line-height:1;color:var(--brown)}
.arrival-steps h3,.family-guide h3 {font-size:calc(21px + var(--reading-step));font-weight:650;margin-bottom:9px}
.arrival-steps p,.family-guide p {font-size:calc(15px + var(--reading-step));color:var(--muted);line-height:1.8}
.family-guide {margin-top:18px;padding:28px;background:var(--warm-card);border-radius:24px;display:flex;align-items:center;justify-content:space-between;gap:28px;--muted:var(--warm-muted)}
.family-guide>div {max-width:680px;min-width:0}
.family-guide .eyebrow {color:var(--brown);margin-bottom:9px}
.family-guide>.button {flex-shrink:0}
.arrival-contact {display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:18px;font-size:calc(15px + var(--reading-step));color:var(--muted)}
.arrival-contact a {display:inline-flex;align-items:center;gap:6px;color:var(--green);min-height:44px;font-weight:600}
.arrival-contact svg {width:18px;height:18px}
.community-detail {scroll-margin-top:18px}
.community-detail.is-selected {background:var(--accent-soft)}
.community-detail:focus {outline:none}
html[data-input-modality=keyboard] .community-detail:focus {outline:3px solid var(--focus-color);outline-offset:5px}
.community-facts {margin:18px 0}
.community-facts>span {display:block;font-size:calc(12px + var(--reading-step));color:var(--muted);font-weight:600}
.community-facts .time {margin-top:3px}
.community-actions {display:flex;align-items:center;gap:18px;flex-wrap:wrap}
@media(max-width:800px){
 .week-grid {grid-template-columns:1fr;gap:18px}
 .arrival-steps {grid-template-columns:1fr;gap:12px}
 .arrival-steps>li {padding:21px}
 .arrival-step-head {margin-bottom:12px}
 .family-guide {align-items:flex-start;flex-direction:column;gap:18px;padding:24px}
 .family-guide>.button {align-self:flex-start;max-width:100%}
}
@media(max-width:480px){
 .week-card,.week-grid .worship-mini {padding:21px}
 .public-notice {padding:15px;gap:12px}
 .this-week .section-head {align-items:flex-start;gap:12px}
 .this-week .section-head>.text-link {font-size:calc(12px + var(--reading-step));gap:6px;flex-shrink:0}
 .arrival-guide {margin-top:39px}
}

/* v28 · one directory, balanced weekly cards and shared inner-page rhythm. */
:root {--page-card-padding:24px;--page-grid-gap:24px;--page-heading:calc(24px + var(--reading-step));--page-subheading:calc(21px + var(--reading-step))}
.week-grid {grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:1fr}
.week-card,.this-week .worship-mini {display:flex;flex-direction:column;min-width:0}
.week-card .public-notices {flex:1;grid-auto-rows:1fr}
.this-week .public-notice {min-height:90px;width:100%;font:inherit;color:inherit;border:0}
.this-week .worship-mini>h3 {font-size:calc(18px + var(--reading-step));font-weight:600;line-height:1.5;margin-bottom:18px}
.this-week .worship-mini .schedule-line {flex:1;display:flex;align-items:center;gap:12px}
.this-week .worship-mini>.text-link {margin-top:18px}
.this-week .public-notice strong {font-size:calc(18px + var(--reading-step))}
.word-section {scroll-margin-top:18px}
.community-placeholder {display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;width:100%;height:100%;min-width:0;background:var(--accent-soft);color:var(--green);overflow:hidden}
.community-placeholder .fresh-art {width:44%;height:auto;max-width:160px;flex:none}
.community-placeholder>span {font-size:calc(15px + var(--reading-step));font-weight:600;letter-spacing:-.025em}
.community-placeholder-moses {background:var(--warm-card);color:var(--brown)}
.community-detail>.community-placeholder {padding:24px;aspect-ratio:16/10;min-height:0;flex:none}
.community-directory {display:flex;flex-wrap:wrap;gap:9px;margin-top:18px}
.community-directory a[aria-current] {background:var(--green);color:var(--on-accent)}
.community-detail .community-facts {margin-top:auto;padding-top:18px}
.community-detail .community-actions {margin-top:6px}
.community-arrow[data-step="-1"] svg {transform:rotate(180deg)}
.page-section {font-size:calc(15px + var(--reading-step))}
.page-section :is(.prose-block>h2,.page-grid>aside>h2,.location-info>h2,.faq>h2,.word-detail-heading h2,.card-section-head h2) {font-size:var(--page-heading);line-height:1.4;font-weight:750}
.page-section :is(.value-card h3,.info-panel h3,.arrival-steps h3,.family-guide h3) {font-size:var(--page-subheading);line-height:1.5;font-weight:650}
.page-section :is(.value-grid,.staff-grid,.community-detail-grid,.archive-grid) {gap:var(--page-grid-gap)}
.page-section :is(.value-card,.staff-card,.info-panel,.notice-panel,.schedule-card,.archive-controls) {padding:var(--page-card-padding);min-width:0}
.page-section :is(.prose,.greeting-prose,.reading-prose) {max-width:760px}
.page-section :is(.prose p,.greeting-prose>p,.reading-prose p) {line-height:1.8}
.public-notice:focus-visible {outline-offset:-4px}
@media(max-width:1000px) and (min-width:701px){.community-detail>.community-placeholder {height:100%;aspect-ratio:auto;align-self:stretch}}
@media(max-width:800px){.week-grid {grid-template-columns:minmax(0,1fr)}}
@media(max-width:700px){
 :root {--page-card-padding:21px;--page-grid-gap:18px;--page-heading:calc(21px + var(--reading-step));--page-subheading:calc(18px + var(--reading-step))}
 .community-detail>div {padding:var(--page-card-padding)}
 .community-detail>.community-placeholder {aspect-ratio:16/10;height:auto;padding:24px}
 .community-directory {gap:9px}
 .this-week .public-notice {min-height:84px}
}
.home-community :is(.community-adults,.community-moses) .photo::after {background:none}
.home-community :is(.community-adults,.community-moses) .card-info h3 {color:var(--ink)}
.home-community :is(.community-adults,.community-moses) .card-info p {color:var(--muted)}
.home-community :is(.community-adults,.community-moses) .card-info>.action-icon {color:var(--green);background:var(--bg)}
.home-community .community-placeholder>span {display:none}

/* v29 · tactile sprout accents; intrinsic dimensions reserve stable layout. */
img.fresh-3d {object-fit:contain;object-position:center;aspect-ratio:1;filter:drop-shadow(0 3px 4px #264d2310)}
.hero .annual-motto .fresh-seed {width:56px;height:52px}
.welcome-eyebrow .fresh-seed {width:40px;height:38px}
.card-sprout .fresh-3d {filter:drop-shadow(0 3px 3px #264d231a)}
.community-placeholder .fresh-3d {width:48%;max-width:180px;height:auto}
html[data-theme=dark] img.fresh-3d {filter:drop-shadow(0 3px 5px #0003)}
@media(max-width:700px){
 .hero .annual-motto .fresh-seed {width:48px;height:44px}
 .welcome-eyebrow .fresh-seed {width:36px;height:34px}
}
.community-placeholder img.fresh-3d {min-height:0;aspect-ratio:1;object-fit:contain}
.home-community .community-card .photo .fresh-3d {position:static;inset:auto;width:48%;height:auto;max-width:180px;object-fit:contain;transform:none}
/* A detail-card cover is sized by its aspect ratio/grid, not its full parent. */
.community-detail>.community-placeholder {height:auto}

/* v30 · tactile book and clock accents, with space reserved before loading. */
.brand-3d {display:block;width:72px;height:72px;object-fit:contain;object-position:center;flex:0 0 auto;pointer-events:none;user-select:none;filter:drop-shadow(0 3px 4px #264d2310)}
.worship-mini-heading {display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:18px;min-width:0}
.worship-mini-heading h3 {margin:0;font-size:calc(18px + var(--reading-step));font-weight:600;line-height:1.5;min-width:0}
.worship-mini-heading .brand-3d {width:66px;height:66px}
.word-heading-end {display:flex;align-items:center;gap:24px;flex:0 0 auto}
.word-heading-end .brand-3d {width:96px;height:84px}
.word-heading-end .text-link {white-space:nowrap}
.page-heading-row {display:flex;align-items:center;justify-content:space-between;gap:30px}
.page-heading-row>div {min-width:0}
.page-heading-row .eyebrow {color:var(--brown)}
.page-heading-row .brand-3d {width:120px;height:120px;margin-right:12px}
html[data-theme=dark] .brand-3d {filter:drop-shadow(0 3px 5px #0003)}
@media(max-width:700px){
 .worship-mini-heading {gap:12px;margin-bottom:12px}
 .worship-mini-heading .brand-3d {width:54px;height:54px}
 .word-section .section-head {display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:18px}
 .word-heading-end {flex-direction:column;gap:6px;align-items:flex-end}
 .word-heading-end .brand-3d {width:66px;height:60px}
 .word-heading-end .text-link {font-size:calc(12px + var(--reading-step));gap:6px}
 .page-heading-row {gap:18px;align-items:flex-start}
 .page-heading-row .brand-3d {width:72px;height:72px;margin:6px 0 0}
}
@media(max-width:360px){
 .word-section .section-head {gap:12px}
 .word-heading-end .brand-3d {width:60px;height:54px}
 .page-heading-row {gap:12px}
 .page-heading-row .brand-3d {width:60px;height:60px}
}

/* v31 · a generous, single reading card for dawn summaries. */
.dawn-card {display:flex;flex-direction:column;min-height:360px;padding:24px;gap:24px}
.dawn-card-top {display:flex;align-items:center;justify-content:space-between;gap:18px;min-width:0}
.dawn-card-top>div {min-width:0}
.dawn-card-top .eyebrow {display:block;color:var(--brown);font-size:calc(12px + var(--reading-step));letter-spacing:.02em;margin:0 0 6px;font-weight:600}
.dawn-date {display:block;font-size:calc(12px + var(--reading-step));color:var(--muted);line-height:1.5}
.dawn-card-top .brand-3d {width:90px;height:90px}
.archive-grid .dawn-card .archive-info {padding:0;flex:1;min-width:0}
.dawn-scripture {display:block;font-size:calc(27px + var(--reading-step));font-weight:650;line-height:1.4;letter-spacing:-.03em;color:var(--green);overflow-wrap:anywhere}
.archive-grid .dawn-card .archive-info h3 {font-size:calc(18px + var(--reading-step));font-weight:600;line-height:1.5;margin:12px 0 0}
.dawn-card .archive-info p {margin-top:9px}
.dawn-card .archive-footer {padding:0;margin:0;font-size:calc(15px + var(--reading-step));font-weight:600;min-height:24px}
.dawn-card .archive-footer svg {width:21px;height:21px}
.word-section .daily-link {border:0;padding:24px 30px;background:var(--surface);border-radius:var(--radius-card);gap:24px}
.daily-link .brand-3d {width:96px;height:84px}
.daily-link>div {min-width:0}
.daily-link strong {font-size:calc(18px + var(--reading-step));line-height:1.5}
.daily-link small {margin-top:6px;line-height:1.6}
@media(max-width:700px){
 .dawn-card {min-height:330px;padding:24px;gap:18px}
 .dawn-card-top .brand-3d {width:84px;height:84px}
 .dawn-scripture {font-size:calc(24px + var(--reading-step))}
 .word-section .daily-link {padding:21px;gap:18px}
 .daily-link>div {gap:12px}
 .daily-link .brand-3d {width:72px;height:72px}
 .daily-link strong {font-size:calc(18px + var(--reading-step))}
}

/* v32 · one heading anatomy: copy left, graphic above the action at right. */
:root {--heading-art:96px;--heading-gap:24px}
:is(.this-week,.word-section,.home-community) .unified-heading {display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:var(--heading-gap);margin-bottom:24px;flex-wrap:nowrap}
.unified-heading .heading-copy {min-width:0}
.home-community .unified-heading .heading-copy {padding:0}
.unified-heading .heading-copy>.eyebrow {display:block;margin:0 0 12px;color:var(--brown);font-size:calc(12px + var(--reading-step));letter-spacing:.1em}
.unified-heading .heading-copy>h2 {margin:0;font-weight:600;line-height:1.35}
.unified-heading .heading-copy>.section-copy {margin:12px 0 0;font-size:calc(15px + var(--reading-step));line-height:1.6;color:var(--muted)}
.unified-heading .heading-side {display:flex;flex-direction:column;align-items:flex-end;gap:9px;min-width:0}
.unified-heading .heading-side>:is(.brand-3d,.fresh-art) {position:static;width:var(--heading-art);height:var(--heading-art);margin:0;object-fit:contain;transform:none}
.unified-heading .heading-side>.text-link {font-size:calc(15px + var(--reading-step));line-height:1.5;min-height:36px;gap:9px;white-space:nowrap;font-weight:600}
.unified-heading .text-link svg {width:18px;height:18px}
.word-section .daily-link {display:block}
.daily-link>.unified-heading {width:100%;margin:0}
.daily-link .heading-copy>h3 {font-size:calc(21px + var(--reading-step));font-weight:600;line-height:1.5;margin:0}
.daily-link .heading-copy>.section-copy {margin-top:9px}
.card-description {font-size:calc(12px + var(--reading-step));line-height:1.6;color:var(--muted);margin:6px 0 0}
.worship-mini-heading>div {min-width:0}
.worship-mini-heading :is(.brand-3d,.card-heading-icon) {width:66px;height:66px;flex:none}
.card-heading-icon {display:grid;place-items:center;color:var(--brown)}
.card-heading-icon .ui-icon {width:30px;height:30px}
.week-card .worship-mini-heading h3 {margin:0;font-size:calc(18px + var(--reading-step));line-height:1.5;font-weight:600}
.this-week .worship-mini>.text-link {align-self:flex-end;min-height:36px;font-size:calc(15px + var(--reading-step));font-weight:600}
.page-heading-row>.fresh-art {width:120px;height:120px;margin:0 12px 0 0;flex:none;object-fit:contain}
.page-heading-row>.brand-3d {margin-top:0}
.page-section .card-section-head {justify-content:space-between;gap:18px}
.page-section .card-section-head>.section-icon {order:2;flex:none;margin:0}
.page-section .card-section-head>h2 {margin:0;min-width:0}
@media(max-width:700px){
 :root {--heading-art:66px;--heading-gap:18px}
 :is(.this-week,.word-section,.home-community) .unified-heading {align-items:start;gap:18px;margin-bottom:21px}
 .unified-heading .heading-copy>.eyebrow {margin-bottom:9px}
 .unified-heading .heading-copy>.section-copy {font-size:calc(12px + var(--reading-step));margin-top:9px}
 .unified-heading .heading-side>.text-link {font-size:calc(12px + var(--reading-step));gap:6px}
 .unified-heading .heading-side {gap:6px}
 .daily-link>.unified-heading {margin-bottom:0}
 .daily-link .heading-copy>h3 {font-size:calc(18px + var(--reading-step))}
 .worship-mini-heading :is(.brand-3d,.card-heading-icon) {width:54px;height:54px}
 .page-heading-row>.fresh-art {width:72px;height:72px;margin:0}
 .page-heading-row>.brand-3d {margin-top:0}
}
@media(max-width:380px){
 :is(.this-week,.word-section,.home-community) .unified-heading {grid-template-columns:minmax(0,1fr) 72px;gap:12px}
 .unified-heading .heading-side>.text-link {white-space:normal;text-align:right;justify-content:flex-end}
 .page-heading-row>.fresh-art {width:60px;height:60px}
}
/* Reading order: title, description, action; the other column holds art only. */
.unified-heading .heading-copy>.heading-action {display:inline-flex;margin-top:12px;min-height:36px;font-size:calc(15px + var(--reading-step));line-height:1.5;font-weight:600;gap:9px}
.unified-heading .heading-side {align-self:center}
.this-week .worship-mini>.text-link {align-self:flex-start}
@media(max-width:700px){
 .unified-heading .heading-copy>.heading-action {font-size:calc(12px + var(--reading-step));margin-top:9px;gap:6px}
}

/* v33 · compact labels, a fourth reading size and a site-information card. */
html[data-font=small] {--reading-step:-3px;font-size:16px}
html[data-font=small] :is(.eyebrow,.meta,.tag,.source-note,.card-description,.dawn-date,.section-copy,small,.heading-action,.setting-group p) {font-size:12px}
.settings-drawer .font-options {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px}
.settings-drawer .font-options button {min-width:0;font-size:12px;padding:9px 3px}
.site-info-list {margin:12px 0 0;font-size:calc(15px + var(--reading-step));line-height:1.6}
.site-info-list>div {display:flex;align-items:baseline;justify-content:space-between;gap:18px;padding:9px 0}
.site-info-list dt {color:var(--muted)}
.site-info-list dd {margin:0;color:var(--ink);font-weight:600}
.site-info-list b {font-weight:600}

/* v34 · size previews and the hero use the same restrained visual hierarchy. */
.settings-drawer .font-options [data-font=small] {font-size:12px}
.settings-drawer .font-options [data-font=normal] {font-size:15px}
.settings-drawer .font-options [data-font=large] {font-size:18px}
.settings-drawer .font-options [data-font=larger] {font-size:21px}
.settings-drawer .font-options button {min-height:48px;line-height:1.25}
.back-to-top,html[data-theme=dark] .back-to-top {background:#fff;color:#357444;box-shadow:0 4px 18px #203b3226;border:0}
.back-to-top:hover {background:#f5f7f4;box-shadow:0 6px 22px #203b3233}
.hero .annual-motto {display:block;margin:0 0 18px;text-align:left}
.hero .annual-motto>span {font-size:calc(18px + var(--reading-step));font-weight:600;line-height:1.5;letter-spacing:.02em}
.hero-title-row {display:flex;align-items:center;justify-content:space-between;gap:18px;min-width:0}
.hero-title-row h1 {min-width:0;margin:0}
.hero-title-row>.fresh-art {position:static;width:96px;height:96px;margin:0;object-fit:contain;flex:none}
.hero-title-row .motto-life {white-space:nowrap}
@media(max-width:700px){
 .hero .annual-motto {margin-bottom:15px}
 .hero-title-row {gap:12px}
 .hero-title-row h1 {font-size:calc(36px + var(--reading-step));line-height:1.35}
 .hero-title-row>.fresh-art {width:60px;height:72px}
}
@media(max-width:380px){
 .hero-title-row h1 {font-size:calc(33px + var(--reading-step))}
 .hero-title-row>.fresh-art {width:48px;height:60px}
}
@media(max-width:340px){
 .hero-title-row h1 {font-size:calc(30px + var(--reading-step))}
 .hero-title-row>.fresh-art {width:42px;height:54px}
}

/* v35 · grow the sprout inward from the hero copy's right guide. */
.hero-title-row {width:100%}
.hero-title-row>.fresh-art {width:calc(156px - 3 * var(--reading-step));height:156px;object-position:right center;margin-left:auto}
.settings-drawer .font-options button {font-weight:600}
@media(max-width:700px){
 .hero-title-row>.fresh-art {width:calc(90px - 3 * var(--reading-step));height:114px}
}
@media(max-width:380px){
 .hero-title-row>.fresh-art {width:calc(78px - 3 * var(--reading-step));height:99px}
}
@media(max-width:340px){
 .hero-title-row>.fresh-art {width:calc(66px - 3 * var(--reading-step));height:87px}
}
@media(min-width:701px) and (max-width:1000px){
 .hero-grid {grid-template-columns:minmax(0,1fr)}
 .hero-image {max-height:420px}
}
@media(max-width:340px){
 html[data-font=larger] .hero-title-row>.fresh-art {width:30px}
}

/* v36 · one video card, latest at left and a compact history list at right. */
@media(min-width:701px){
 .video-series {display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:24px 28px;align-content:start;align-items:start}
 .video-series>.series-heading {grid-column:1/-1;margin:0}
 .video-series>.series-feature,.video-series>.series-history {min-width:0;margin:0;padding:0;background:transparent;border-radius:0}
 .series-feature>.video-card {display:flex;flex-direction:column;gap:0;align-items:stretch}
 .series-feature .video-info {padding:18px 0 0}
 .word-section .series-feature h3 {font-size:calc(24px + var(--reading-step));line-height:1.4;margin:9px 0}
 .series-feature .media-frame {width:100%;aspect-ratio:16/9}
 .series-history-head {margin:0 0 12px;min-height:24px}
 .series-history-head>span {display:none}
 .series-history .series-track {display:flex;flex-direction:column;gap:12px;overflow:visible;padding:0;scroll-snap-type:none}
 .series-track>.video-card {display:grid;grid-template-columns:minmax(90px,.8fr) minmax(0,1.2fr);align-items:center;flex:none;gap:12px;padding:9px;border-radius:18px;min-width:0}
 .series-track .media-frame {width:100%;aspect-ratio:16/9;align-self:start}
 .series-track .video-info {padding:3px 3px 3px 0;min-width:0}
 .series-track .meta {display:flex;flex-wrap:wrap;gap:3px 6px;font-size:calc(12px + var(--reading-step))}
 .series-track .meta>.tag {display:none}
 .series-track .video-info h3 {font-size:calc(15px + var(--reading-step));line-height:1.45;margin:6px 0;font-weight:600;overflow-wrap:anywhere}
 .series-track .video-info p {font-size:calc(12px + var(--reading-step));line-height:1.5;margin:0}
 .series-history .carousel-arrow {display:none}
 .series-track .media-play {width:30px;height:30px}
 .series-track .media-play .ui-icon {width:21px;height:21px}
}
@media(min-width:701px) and (max-width:900px){
 .video-series {gap:21px;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);padding:21px}
 .series-track>.video-card {grid-template-columns:90px minmax(0,1fr);gap:9px}
 .word-section .series-feature h3 {font-size:calc(21px + var(--reading-step))}
 .series-track .video-info p {display:none}
}

/* v38 · Pretendard restored; MaruBuri is reserved for quoted Scripture. */
.hero-scripture p,.verse-inner blockquote,.scripture-quote {font-family:MaruBuri,serif;font-weight:400;font-synthesis:none;letter-spacing:0}

/* Compact monthly Scripture. Header logo inherits the original green system. */
.hero-scripture p {line-height:1.2}

/* v40 · separate monthly Scripture from the two introductory actions. */
.hero .button-row {margin-top:42px}
@media(max-width:700px){.hero .button-row {margin-top:36px}}

/* v41 · fuller worship preview and two softly differentiated drawers. */
.footer-brand .church-logo {background:#342220}
html[data-theme=dark] .footer-brand .church-logo {background:var(--brown)}
.home-schedule {flex:1;display:flex;flex-direction:column}
.this-week .home-schedule .schedule-line {flex:1;min-height:54px;justify-content:space-between;padding-block:9px}
.home-schedule .schedule-line>span {min-width:0;font-weight:600}
.home-schedule .schedule-line small {display:block;font-size:calc(12px + var(--reading-step));font-weight:400;line-height:1.4;color:var(--muted);margin-top:2px}
.home-schedule .schedule-line strong {font-size:calc(15px + var(--reading-step));line-height:1.5;flex-shrink:0}
.settings-drawer {--green:var(--brown);--focus-color:var(--brown);--on-accent:#fff}
.menu-dialog .menu-head {color:var(--green)}
.settings-drawer .menu-head h2,.settings-drawer .setting-group h3,.settings-drawer .site-refresh {color:var(--brown)}
.settings-drawer .settings-install {background:transparent}
.settings-drawer .icon-button:hover {background:var(--brown-soft)}
.settings-drawer :is(.font-options,.theme-options) button[aria-pressed=true] {background:var(--brown);color:var(--on-accent)}
html:has(#mobile-menu[open]) .menu-trigger {color:var(--green)}
html:has(#reading-dialog[open]) .settings-trigger {color:var(--brown)}
html[data-theme=dark] .settings-drawer {--on-accent:#211710}
html[data-theme=dark] .settings-drawer :is(.font-options,.theme-options) button[aria-pressed=true] {color:var(--on-accent)}
@media(max-width:380px){.this-week .home-schedule .schedule-line {gap:9px}.home-schedule .schedule-line strong {font-size:calc(12px + var(--reading-step))}}

/* v42 · monthly Scripture is one typographic unit, including its reference. */
.hero-scripture,.verse-inner,#monthly-word .news-copy,#content-body:has(.scripture-quote),
.hero-scripture>*,.verse-inner .eyebrow,.verse-inner .verse-label,#monthly-word .news-copy>*,#content-body:has(.scripture-quote)>* {font-family:MaruBuri,serif;font-synthesis:none;letter-spacing:0}
.hero-scripture>span,.verse-inner .eyebrow,.verse-inner .verse-label,#monthly-word :is(.tag,h3),#content-body:has(.scripture-quote) h2 {font-weight:600}

/* v43 · neutral drawer surfaces, green header, warm footer information. */
.site-footer :is(.footer-top>p,.footer-top>a:last-child,.footer-bottom,.footer-bottom p,.footer-links a,.footer-links button,.footer-links small) {color:var(--brown)}

/* v45 · walnut and linen lead; living green is the deliberate accent. */
:root,html[data-theme=light] {
 --ink:#382f29;--text:#514840;--muted:#756b62;--line:#e8e1da;
 --paper:#f8f5f1;--surface:#f4f0eb;--surface-hover:#ebe3d9;
 --sage:#f0e9df;--cream:#f4efe7;--accent-soft:var(--brown-soft);
 --warm-plane:#f7f4ef;--warm-card:#f3eee7;--word-plane:#eee5d9;
 --on-brown:#fff;
}
html[data-theme=dark] {
 --ink:#f0eae3;--text:#ded5cc;--muted:#b5aaa0;--line:#393029;
 --paper:#151311;--surface:#211c18;--surface-hover:#30271f;
 --sage:#2a221c;--cream:#211c18;--accent-soft:var(--brown-soft);
 --on-brown:#241a12;
}
/* White/black grounds and the existing 3D artwork remain intact. */
.text-link,.hero-scripture>span,.quick-nav .quick-icon,.quick-nav .arrow,
.section-icon,.schedule-line strong,.series-latest,.video-action,.dawn-scripture,
.breadcrumb a,.welcome-eyebrow {color:var(--brown)}
.text-link:hover,.word-section .text-link:hover,.news-row:hover h3 {color:var(--brown-hover)}
.quick-nav .quick-icon {background:var(--bg)}
.quick-nav a,.quick-nav a:nth-child(n) {background:var(--surface)}
.quick-nav a:hover {background:var(--surface-hover)}
.tag,html[data-theme=dark] .tag,.word-section .video-info .tag,html[data-theme=dark] .word-section .video-info .tag {background:var(--brown-soft);color:var(--brown)}
.eyebrow,.series-history-head h4 {color:var(--brown)}
.video-category-toggle .category-indicator {background:var(--brown)}
.video-category-toggle:not(.has-indicator) button[aria-pressed=true],.chip[aria-pressed=true],
html[data-theme=dark] .video-category-toggle:not(.has-indicator) button[aria-pressed=true] {background:var(--brown);color:var(--on-brown)}
.video-category-toggle.has-indicator button[aria-pressed=true],html[data-theme=dark] .video-category-toggle.has-indicator button[aria-pressed=true] {color:var(--on-brown)}
.video-category-toggle.has-indicator button:hover:not([aria-pressed=true]) {color:var(--brown)}
/* Navigation stays neutral; green marks the current destination and main CTA. */
.menu-dialog,.settings-drawer {--bg:#fff;--surface:#f4f4f4;--surface-hover:#eceeec}
html[data-theme=dark] :is(.menu-dialog,.settings-drawer) {--bg:#000;--surface:#1b1b1b;--surface-hover:#242424}
.menu-dialog nav a[aria-current=page] {background:#ebf5e5}
html[data-theme=dark] .menu-dialog nav a[aria-current=page] {background:#202c1b}
html[data-theme=dark] .quick-nav a:nth-child(n) {background:var(--surface)}
html[data-theme=dark] .quick-nav a:hover {background:var(--surface-hover)}

/* v46 · brown identity and navigation, neutral drawer grounds. */
.site-header .church-logo,html[data-theme=dark] .site-header .church-logo {background:var(--brown)}
.menu-dialog {--green:var(--brown);--accent-soft:var(--brown-soft);--focus-color:var(--brown)}
.menu-dialog nav a[aria-current=page],html[data-theme=dark] .menu-dialog nav a[aria-current=page] {background:var(--brown-soft);color:var(--brown)}
html:has(#mobile-menu[open]) .menu-trigger,.menu-trigger:hover {color:var(--brown)}

/* v47 · a walnut welcome action beside the softer introduction action. */
.hero .button.primary,html[data-theme=dark] .hero .button.primary {background:var(--brown);color:var(--on-brown)}
.hero .button.primary:hover,html[data-theme=dark] .hero .button.primary:hover {background:var(--brown-hover)}

/* v53 · compact home quick links on phones, retaining flexible text height. */
@media(max-width:700px) {
 .home-intro .quick-nav {margin-top:18px}
 .home-intro .quick-nav a,.home-intro .quick-nav a:first-child,.home-intro .quick-nav a:last-child {min-height:64px;padding-block:10px}
 .home-intro {padding-bottom:24px}
}
