:root {
  color-scheme: light;
  --bg: #faf9f6; --surface: #fff; --surface-2: #f0eee8; --line: #d9d7d0;
  --text: #202821; --muted: #5d655f; --red: #bd1725; --paper: #faf9f6; --ink: #202821; --shell: 1280px;
  --font-site: Arial, Helvetica, sans-serif;
  font-family: var(--font-site); font-size: 16px;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 0; }
body { margin: 0; background: var(--bg); color: var(--text); line-height: 1.65; }
body, button, input, select, textarea, code, pre, kbd, samp { font-family: var(--font-site); }
button, a { -webkit-tap-highlight-color: transparent; }
button { color: inherit; cursor: pointer; }
a { color: inherit; text-decoration: none; }
img { display: block; max-width: 100%; }
h1, h2, h3, p { margin-top: 0; }
h1, h2, h3 { line-height: 1.07; letter-spacing: -.045em; text-wrap: balance; }
h2 { font-size: clamp(2.5rem, 4.5vw, 4.5rem); font-weight: 500; }
h3 { font-size: 1.55rem; font-weight: 500; }
p { color: var(--muted); }
:focus-visible { outline: 3px solid var(--red); outline-offset: 5px; }
::selection { background: #edd2ce; color: var(--ink); }
.shell { width: min(calc(100% - 80px), var(--shell)); margin-inline: auto; }
.section { padding-block: 100px; scroll-margin-top: 96px; }
.eyebrow, .card-index { font-size: .8rem; font-weight: 700; letter-spacing: .09em; color: #59625b; text-transform: uppercase; }
.eyebrow { margin-bottom: 22px; }
.skip-link { position: fixed; z-index: 250; top: -120px; left: 24px; padding: 12px 18px; background: #fff; color: #202821; box-shadow: 0 3px 14px #0002; }
.skip-link:focus { top: 16px; }
.site-header { position: sticky; top: 0; z-index: 50; background: #faf9f6f2; border-bottom: 1px solid var(--line); backdrop-filter: blur(16px); }
.header-inner { height: 94px; display: flex; align-items: center; gap: 28px; }
.brand { display: block; width: 186px; padding: 0; border-radius: 0; background: transparent; flex-shrink: 0; }
.brand img { width: 100%; height: auto; }
.desktop-nav { display: flex; gap: 26px; margin-left: auto; align-items: center; }
.desktop-nav a { font-size: .82rem; color: #424d45; }
.desktop-nav a:hover { color: #202821; text-decoration: underline; text-underline-offset: 6px; }
.header-cta { display: inline-flex; gap: 18px; padding: 12px 19px; min-height: 46px; background: var(--red); color: #fff; border-radius: 6px; font-size: .82rem; font-weight: 700; }
.header-cta:hover, .button-red:hover { background: #981320; }
.menu-toggle, .mobile-menu { display: none; }
.button { display: inline-flex; justify-content: space-between; align-items: center; gap: 24px; min-height: 52px; padding: 13px 23px; border-radius: 6px; font-size: .89rem; font-weight: 700; transition: background .2s; }
.button-red { background: var(--red); color: #fff; }
.text-link { display: inline-flex; align-items: center; gap: 8px; padding-block: 10px; font-size: .85rem; font-weight: 700; text-decoration: underline; text-underline-offset: 6px; text-decoration-color: #9ca39c; }
.text-link:hover { text-decoration-color: currentColor; }

/* The artwork stays complete; its live caption remains readable on small screens. */
.feature-banner { padding: 32px 0 0; }
.feature-stage { width: min(calc(100% - 80px), var(--shell)); margin-inline: auto; }
.feature-slide[hidden] { display: none; }
.feature-slide { position: relative; }
.feature-split { display: grid; grid-template-columns: 2fr 3fr; align-items: center; background: #142e32; color: #fff9ed; border-radius: 18px; overflow: hidden; }
.feature-split .feature-media { grid-column: 2; grid-row: 1; height: auto; aspect-ratio: 16/9; border-radius: 0; background: #142e32; }
.feature-split .feature-media img { object-fit: contain; }
.feature-split .feature-content.shell { grid-column: 1; grid-row: 1; padding: 30px; min-width: 0; }
.feature-split .feature-copy { display: block; }
.feature-split .feature-copy h2 { font-size: clamp(1.45rem, 2.5vw, 2.35rem); line-height: 1.18; color: #fff9ed; }
.feature-split .feature-eyebrow, .feature-split .feature-author { color: #d4e4dc; }
.feature-split .feature-summary { display: none; }
.feature-split .feature-cta { display: inline-flex; margin-top: 22px; color: #142e32; }
@media(max-width: 760px) {
  .feature-split { grid-template-columns: 1fr; border-radius: 12px; }
  .feature-split .feature-content.shell { grid-column: 1; grid-row: 1; padding: 25px; }
  .feature-split .feature-copy h2 { font-size: 1.8rem; }
  .feature-split .feature-media { grid-column: 1; grid-row: 2; height: auto; }
  .feature-tabs { flex-wrap: wrap; }
}
.feature-media { position: relative; display: block; height: 430px; border-radius: 18px; overflow: hidden; background: #15222c; }
.artwork-caption { position: absolute; left: 12.9%; bottom: 9%; font: italic clamp(1rem, 2.4vw, 2.1rem)/1 var(--font-site); color: #f6efdc; pointer-events: none; }
.feature-media img { width: 100%; height: 100%; object-fit: cover; }
.feature-media picture { display: block; width: 100%; height: 100%; }
.feature-copy-art .feature-media { height: auto; aspect-ratio: 2.94; }
.feature-copy-art .feature-media img { object-fit: contain; }
.feature-cells .feature-media { background: #e9ede1; }
.feature-cells .feature-media img { object-fit: contain; padding: 50px; }
.feature-content.shell { width: 100%; padding: 28px 0 24px; }
.feature-copy { display: grid; grid-template-columns: 1fr auto; column-gap: 60px; align-items: center; }
.feature-eyebrow { grid-column: 1; font-size: .65rem; letter-spacing: .11em; font-weight: 700; margin: 0 0 9px; color: #626b64; }
.feature-copy h2 { grid-column: 1; font-size: clamp(1.65rem, 2.5vw, 2.55rem); max-width: 900px; margin: 0; }
.feature-author { grid-column: 1; margin: 10px 0 0; font-size: .82rem; color: #55634f; }
.feature-summary { grid-column: 1; max-width: 650px; font-size: .91rem; margin: 12px 0 0; }
.feature-editorial .feature-summary { display: none; }
.feature-cta { grid-column: 2; grid-row: 1 / 5; padding: 15px 21px; background: #fff; border: 1px solid var(--line); border-radius: 7px; font-size: .82rem; font-weight: 700; display: flex; align-items: center; gap: 25px; min-height: 50px; }
.feature-cta:hover { border-color: #58665a; background: #f0eee8; }
.feature-cta>span { order: 2; }
.feature-shade, .feature-caption, .feature-ordinal, .feature-controls-label { display: none; }
.feature-controls { display: flex; justify-content: space-between; gap: 20px; align-items: center; border-bottom: 1px solid var(--line); padding: 15px 0 25px; }
.feature-tabs { display: flex; gap: 24px; min-width: 0; }
.feature-tab { background: transparent; border: 0; min-height: 44px; padding: 8px 0; font-size: .83rem; color: #646c66; border-bottom: 2px solid transparent; }
.feature-tab span { font-size: .75rem; margin-right: 8px; color: #667068; }
.feature-tab[aria-current=true] { color: #202821; border-bottom-color: #202821; font-weight: 700; }
.feature-arrows { display: flex; gap: 9px; }
.feature-arrows button { width: 44px; height: 44px; border: 1px solid var(--line); border-radius: 50%; background: transparent; font-size: 1.12rem; }
.feature-arrows button:hover { background: #eae8df; }

.hero { background: var(--bg); padding-block: 80px 35px; }
.hero-content { display: grid; grid-template-columns: 1fr 1fr; gap: 7%; align-items: center; }
.hero h1 { font-family: var(--font-site); font-size: clamp(3.25rem, 6.5vw, 6.5rem); font-weight: 500; letter-spacing: -.045em; line-height: 1.07; margin-bottom: 26px; }
.hero-reference { display: block; margin-top: 19px; font: .85rem/1.4 var(--font-site); letter-spacing: 0; color: #5d655f; }
.hero-caption { max-width: 510px; font-size: 1.1rem; line-height: 1.8; }
.hero-actions { display: flex; flex-wrap: wrap; gap: 24px; align-items: center; margin-top: 28px; }
.visit-inline { display: inline-flex; gap: 20px; font-size: .78rem; margin-top: 25px; padding: 5px 0; color: #525e55; }
.visit-inline:hover { text-decoration: underline; text-underline-offset: 5px; }
.hero-art { position: relative; border-radius: 18px; overflow: hidden; background: #04080d; aspect-ratio: 16 / 10; isolation: isolate; }
.hero-identity { display: block; width: 100%; height: 100%; }
.hero-identity img { width: 100%; height: 100%; object-fit: cover; }
#motion-toggle { position: absolute; bottom: 15px; right: 16px; z-index: 15; border: 1px solid #ffffff66; background: #080d13b8; color: #fff; border-radius: 5px; display: inline-flex; align-items: center; gap: 8px; min-height: 36px; padding: 8px 12px; font-size: .62rem; }
.hero-bottom { display: flex; justify-content: space-between; align-items: center; gap: 20px; padding-top: 28px; margin-top: 40px; border-top: 1px solid var(--line); font-size: .8rem; }
.hero-bottom p { margin: 0; }.hero-bottom a { color: #58625b; }
.status-dot { display: inline-block; width: 7px; height: 7px; border-radius: 50%; background: #567258; margin-right: 10px; }
.quick-launch { display: flex; justify-content: center; gap: 0; padding: 18px 0; background: #eeede7; border-radius: 8px; position: static; transform: none; box-shadow: none; }
.quick-launch a { font-size: .78rem; color: #434e46; padding: 7px 35px; border-right: 1px solid #cccfc5; min-height: 44px; display: flex; align-items: center; }
.quick-launch a:last-child { border: 0; }.quick-launch a:hover { text-decoration: underline; text-underline-offset: 5px; }
.mission-layout { display: grid; grid-template-columns: 1fr 1fr; gap: 8%; align-items: center; }
.mission-photo { margin: 0; }.mission-photo img { width: 100%; height: auto; aspect-ratio: 4/5; object-fit: cover; border-radius: 160px 160px 12px 12px; }
.mission-photo figcaption { margin-top: 15px; font-size: .73rem; color: #646e65; }
.mission-copy h2 { font-size: clamp(2.9rem, 4.4vw, 4.6rem); margin-bottom: 30px; }
.mission-copy>p:not(.eyebrow) { font-size: 1rem; line-height: 1.9; }
.cells { background: #f0eee7; }
.cells-layout { display: grid; grid-template-columns: 1.1fr .9fr; gap: 10%; align-items: center; }
.cells-copy h2 { margin-bottom: 25px; }.cells-copy>p:not(.eyebrow) { max-width: 600px; line-height: 1.85; }
.cells-copy .button { margin-top: 18px; }
.cells-community { background: #fffdf9; border: 1px solid #d8d8ce; border-radius: 16px; overflow: hidden; }
.cells-community-logo { min-height: 225px; padding: 30px 50px; display: grid; place-items: center; }
.cells-community-logo img { width: 100%; height: auto; max-height: 170px; object-fit: contain; }
.cells-meeting { padding: 25px 30px; border-top: 1px solid var(--line); }
.cells-meeting>span { font-size: .62rem; font-weight: 700; letter-spacing: .1em; color: #687268; }
.cells-meeting strong { display: flex; justify-content: space-between; font-size: 1.5rem; font-weight: 500; margin-top: 13px; letter-spacing: -.035em; }
.cells-meeting em { font-family: var(--font-site); font-size: 1.85rem; font-weight: 400; }
.cells-meeting p { margin: 8px 0 0; font-size: .78rem; }
.cells-directory { margin-top: 45px; padding-top: 35px; border-top: 1px solid #cecec2; display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.cell-card { padding: 22px 26px; background: #fffdf9; border: 1px solid #d7d8ce; border-radius: 12px; display: flex; flex-direction: column; transition: border-color .2s; }
.cell-card:hover { border-color: #647464; }
.cell-family-logo, .cell-specific-logo { width: 130px; height: 75px; object-fit: contain; margin-bottom: 15px; }
.cell-card-name { font-size: 1.45rem; letter-spacing: -.035em; margin-bottom: 8px; }
.cell-card-description { font-size: .8rem; color: #657064; }.cell-card-action { display: flex; justify-content: space-between; border-top: 1px solid var(--line); margin-top: 22px; padding-top: 14px; font-size: .8rem; font-weight: 700; }
.care { background: #e6ece2; position: relative; overflow: hidden; }
.care:after { content: ''; position: absolute; width: 550px; height: 550px; border: 1px solid #c7d2c0; border-radius: 50%; right: -250px; bottom: -330px; pointer-events: none; }
.care-layout { display: grid; grid-template-columns: 1.25fr .75fr; gap: 8%; align-items: center; position: relative; z-index: 1; }
.care h2 { font-family: var(--font-site); font-weight: 400; font-size: clamp(3rem, 5.2vw, 5.4rem); margin-bottom: 0; }
.care-action>p { font-size: 1.05rem; max-width: 300px; }
.section-lead { margin-bottom: 45px; }.section-lead h2 { margin-bottom: 0; }
.section-lead.horizontal { display: flex; justify-content: space-between; gap: 40px; align-items: end; }
.section-lead.horizontal>p, .section-lead.horizontal>a { max-width: 310px; margin-bottom: 6px; }
.growth { border-top: 1px solid var(--line); }
.growth-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }.growth-grid.two-columns { grid-template-columns: 1fr 1fr; }
.growth-card { background: #fff; border: 1px solid var(--line); border-radius: 12px; padding: 35px; min-height: 285px; }
.growth-card.devotional { background: #f0eee7; }.card-index { display: block; margin-bottom: 35px; font-size: .64rem; }
.growth-card h3 { font-family: var(--font-site); font-size: 2.1rem; font-weight: 400; }.growth-card p { font-size: .94rem; }.scripture { font-weight: 700; color: #344537; }
.reader { background: #fff; border: 1px solid var(--line); border-radius: 12px; margin-top: 25px; padding: 30px 35px; }
.reader-head { display: flex; justify-content: space-between; align-items: center; gap: 20px; padding-bottom: 22px; border-bottom: 1px solid var(--line); }
.reader-head .eyebrow { margin-bottom: 10px; }.reader-head h3 { font-family: var(--font-site); font-size: 2rem; margin-bottom: 12px; }.reader-head p:last-child { margin-bottom: 0; font-size: .8rem; }
.reader-controls { display: flex; gap: 12px; align-items: center; flex-shrink: 0; }.reader-controls button { width: 44px; height: 44px; border: 1px solid var(--line); background: #f5f4f0; border-radius: 50%; font-size: 1.1rem; }.reader-controls button:disabled { opacity: .4; cursor: default; }.reader-chapter { font-size: .85rem; }
.reader-body { height: 330px; max-height: 330px; overflow: auto; padding-top: 25px; scrollbar-color: #9da99b #f7f7f2; }.reader-body p { font: 1.16rem/1.9 var(--font-site); color: #354238; max-width: 900px; }.reader-body sup { font: .65rem var(--font-site); margin-right: 4px; }.reader-foot { border-top: 1px solid var(--line); padding-top: 16px; display: flex; justify-content: space-between; font-size: .72rem; color: #5d655f; }
.word-layout { display: grid; grid-template-columns: 1fr 1fr; gap: 10%; }.word-card { border-left: 2px solid var(--red); padding: 25px; background: #fff; }.word-card audio { width: 100%; }
.gallery-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 20px; }.gallery-grid figure { margin: 0; }.gallery-grid img { width: 100%; aspect-ratio: 4/3; object-fit: cover; border-radius: 12px; }.gallery-grid figcaption { padding: 12px 0; font-size: .85rem; }
.resource { display: flex; justify-content: space-between; gap: 25px; padding: 25px 0; border-bottom: 1px solid var(--line); }
.social { background: #f0eee7; }.social-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 50px; }.social-photo { position: relative; min-height: 420px; overflow: hidden; border-radius: 12px; }.social-photo img { width: 100%; height: 100%; object-fit: cover; position: absolute; inset: 0; }.social-photo:after { content: ''; position: absolute; inset: 50% 0 0; background: linear-gradient(transparent, #0009); }.social-photo span { position: absolute; bottom: 25px; left: 25px; right: 25px; color: #fff; font-size: .7rem; letter-spacing: .1em; z-index: 12; }.updates { display: grid; }.update-card { padding: 25px 0; border-top: 1px solid #c7ccc1; }.update-card:last-child { border-bottom: 1px solid #c7ccc1; }.update-date { font-size: .65rem; color: #65715f; letter-spacing: .08em; margin-bottom: 16px; }.update-card p { font-size: .94rem; }
.footer { background: #e8e7de; padding-top: 65px; border-top: 1px solid #d1d4c7; }.footer-main { display: grid; grid-template-columns: 1.1fr 1fr 1fr; gap: 10%; padding-bottom: 50px; }.footer-logo { width: 210px; height: auto; margin-bottom: 25px; }.endorsement { max-width: 300px; }.footer h2 { font-size: .85rem; font-weight: 700; letter-spacing: 0; margin-bottom: 24px; }.footer p, .footer a { font-size: .84rem; color: #4d594f; }.footer a { display: block; padding: 5px 0; }.footer a:hover { text-decoration: underline; text-underline-offset: 5px; }.footer-history { display: grid; grid-template-columns: 1fr 2fr; gap: 5%; border-top: 1px solid #c4cabe; padding: 28px 0; }.footer-history>span { font-size: .63rem; letter-spacing: .1em; color: #5b685a; }.footer-history p { margin: 0; }.footer-bottom { display: flex; justify-content: space-between; gap: 20px; border-top: 1px solid #c4cabe; padding: 18px 0; font-size: .7rem; color: #5b685a; }.footer-bottom a { margin: 0; padding: 0; font-size: .7rem; }

/* Override the shared animation scaffolding without imposing a dark reading surface. */
.visit-page { background: var(--bg); }.visit-page-content, .visit-page-content details { border-color: var(--line); }.visit-guide-photo { border-radius: 14px; }
#experience-loader { background: #faf9f6; color: #202821; }.loader-track { background: #d6d9ce; }.loader-track span { background: var(--red); }#experience-loader button { color: #424d45; }#page-transition { background: #242b25; }
.hero h1 .hero-reference .reveal-word, .hero h1 .hero-reference .reveal-word>span { font: inherit; letter-spacing: inherit; }
html[data-experience=full] .hero { overflow: visible; }.reveal-word { vertical-align: baseline; }
@media (max-width: 1100px) {
  .desktop-nav { gap: 16px; }.header-inner { gap: 20px; }.header-cta { padding-inline: 13px; }.brand { width: 145px; }.hero-content { gap: 5%; }.hero h1 { font-size: 6.3rem; }
}
@media (max-width: 900px) {
  .shell, .feature-stage { width: calc(100% - 40px); }.desktop-nav, .header-cta { display: none; }.header-inner { height: 78px; }.brand { width: 148px; padding: 0; }.menu-toggle { display: flex; margin-left: auto; flex-direction: column; align-items: center; justify-content: center; gap: 6px; background: transparent; border: 1px solid #c7cec0; border-radius: 6px; width: 44px; height: 44px; }.menu-toggle span { width: 20px; height: 1px; background: #273429; }.mobile-menu:not([hidden]) { display: flex; flex-direction: column; padding: 5px 20px 20px; border-top: 1px solid var(--line); background: var(--bg); }.mobile-menu a { padding: 12px 5px; border-bottom: 1px solid var(--line); font-size: .9rem; }.section { padding-block: 75px; }.hero h1 { font-size: clamp(3.25rem, 6.5vw, 5.2rem); }.hero-caption { font-size: 1rem; }.hero-actions { gap: 14px; }.mission-layout { gap: 6%; }.mission-copy h2 { font-size: 3rem; }.cells-layout { gap: 5%; }.cells-community-logo { padding-inline: 25px; }.cells-directory { grid-template-columns: repeat(2, 1fr); }.care-layout { grid-template-columns: 1.1fr .9fr; }.quick-launch a { padding-inline: 22px; }.footer-main { gap: 6%; }
}
@media (max-width: 640px) {
  html { scroll-padding-top: 88px; }.section { padding-block: 60px; }.eyebrow { font-size: .62rem; }.feature-banner { padding-top: 20px; }.feature-media { height: 260px; border-radius: 12px; }.feature-copy-art .feature-media { aspect-ratio: 2.94; height: auto; }.feature-content.shell { padding: 22px 0 18px; }.feature-copy { display: block; }.feature-copy h2 { font-size: 1.9rem; line-height: 1.13; }.feature-eyebrow { font-size: .6rem; }.feature-summary { font-size: .86rem; }.feature-cta { display: inline-flex; padding: 11px 16px; margin-top: 20px; min-height: 44px; }.feature-controls { gap: 8px; padding-top: 0; padding-bottom: 18px; }.feature-tabs { gap: 17px; }.feature-tab { font-size: .7rem; }.feature-tab span { font-size: .55rem; margin-right: 5px; }.feature-arrows { gap: 5px; }.feature-arrows button { width: 36px; height: 36px; font-size: .95rem; }.hero { padding-top: 50px; padding-bottom: 30px; }.hero-content { grid-template-columns: 1fr; gap: 35px; }.hero h1 { font-size: clamp(3.25rem, 13vw, 5rem); }.hero-caption { font-size: 1rem; max-width: 500px; }.hero-art { aspect-ratio: 16/9; border-radius: 12px; }.hero-bottom { display: grid; gap: 10px; font-size: .75rem; margin-top: 25px; padding-top: 20px; }.hero-bottom a { padding: 4px 0; }.quick-launch { display: grid; grid-template-columns: 1fr 1fr; border-radius: 7px; padding: 9px; }.quick-launch a { padding: 10px 12px; min-height: 44px; border: 0; font-size: .73rem; justify-content: center; }.quick-launch a:nth-child(odd) { border-right: 1px solid #cbd0c3; }.mission-layout, .cells-layout, .care-layout, .social-grid, .word-layout { grid-template-columns: 1fr; gap: 35px; }.mission-photo img { aspect-ratio: 1; border-radius: 120px 120px 12px 12px; }.mission-copy h2 { font-size: 2.8rem; }.mission-copy>p:not(.eyebrow) { font-size: .93rem; }.cells-copy h2 { font-size: 2.7rem; }.cells-copy>p:not(.eyebrow) { font-size: .95rem; }.cells-community { max-width: 460px; }.cells-directory { grid-template-columns: 1fr; margin-top: 30px; padding-top: 25px; }.cell-card { max-width: 460px; }.care h2 { font-size: clamp(2.7rem, 10vw, 4.2rem); }.care-action>p { font-size: .98rem; }.section-lead.horizontal { display: block; }.section-lead.horizontal>p, .section-lead.horizontal>a { margin-top: 25px; max-width: none; }.growth-grid, .growth-grid.two-columns { grid-template-columns: 1fr; }.growth-card { padding: 28px; min-height: 240px; }.reader { padding: 25px; }.reader-head { display: block; }.reader-controls { margin-top: 22px; }.reader-foot { display: block; }.reader-foot a { display: block; margin-top: 8px; }.gallery-grid { grid-template-columns: 1fr; }.social-photo { min-height: 320px; }.footer-main { grid-template-columns: 1fr; gap: 30px; padding-bottom: 30px; }.footer-history { grid-template-columns: 1fr; gap: 15px; }.footer-bottom { display: block; }.footer-bottom a { margin-top: 12px; }.visit-page-hero h1 { font-size: 3.05rem; }
}
@media (max-width: 370px) { .feature-tabs { gap: 10px; }.feature-tab { font-size: .63rem; }.feature-arrows button { width: 32px; height: 36px; }.shell, .feature-stage { width: calc(100% - 32px); }.hero-actions { align-items: start; flex-direction: column; } }
@media (max-width: 640px) { html { scroll-padding-top: 0; }.section { scroll-margin-top: 78px; }.feature-cells .feature-media img { padding: 25px; } }

/* Full-screen, push-style highlights: manual navigation keeps motion predictable. */
.feature-banner { height: calc(100svh - 94px); min-height: min(560px, calc(100svh - 94px)); padding: 0; display: grid; grid-template-rows: minmax(0, 1fr) 78px; background: #202821; color: #fff; overflow: hidden; }
.feature-stage { position: relative; width: 100%; height: auto; min-height: 0; margin: 0; overflow: hidden; }
.feature-track { display: flex; width: 100%; height: 100%; transform: translate3d(0,0,0); transition: transform .68s cubic-bezier(.22,.72,.2,1); will-change: transform; }
.feature-slide, .feature-slide[hidden] { display: block; position: relative; inset: auto; flex: 0 0 100%; width: 100%; height: 100%; min-width: 0; overflow: hidden; background: #202821; color: #fff; }
.feature-media { position: absolute; inset: 0; width: 100%; height: 100%; border-radius: 0; background: #202821; }
.feature-media img { object-fit: cover; object-position: center; }
.feature-shade { display: block; position: absolute; inset: 0; z-index: 0; background: linear-gradient(90deg,#141b18eb 0%,#141b18bd 34%,#141b1840 70%,#141b1810 100%),linear-gradient(0deg,#141b1878,transparent 44%); }
.feature-content.shell { position: relative; z-index: 1; display: flex; align-items: center; width: min(calc(100% - 80px),var(--shell)); height: 100%; margin-inline: auto; padding: 44px 0; }
.feature-copy { display: block; width: min(100%,730px); }
.feature-eyebrow { display: block; margin: 0 0 20px; color: #f3eee3; font-size: .7rem; letter-spacing: .14em; }
.feature-eyebrow:before { content: none; }
.feature-copy h2 { max-width: 760px; margin: 0 0 20px; color: #fff; font-size: clamp(3.2rem,6.2vw,6.5rem); line-height: .98; letter-spacing: -.06em; }
.feature-summary { max-width: 550px; margin: 0 0 14px; color: #f0f0eb; font-size: clamp(1rem,1.3vw,1.2rem); line-height: 1.55; }
.feature-author { margin: 0 0 24px; color: #f0f0eb; font-size: .86rem; }
.feature-cta { display: inline-flex; grid-column: auto; grid-row: auto; min-height: 54px; margin-top: 12px; padding: 8px 20px 8px 9px; border: 0; border-radius: 5px; background: var(--red); color: #fff; font-size: .84rem; }
.feature-cta:hover { border: 0; background: #981320; }
.feature-cta>span { order: 0; display: grid; place-items: center; width: 36px; height: 36px; border-radius: 3px; background: #fff; color: #202821; }
.feature-caption,.feature-ordinal { display: block; }
.feature-caption { position: absolute; right: 0; bottom: 12px; margin: 0; color: #eee; font-size: .6rem; letter-spacing: .14em; }
.feature-ordinal { right: max(40px,calc((100vw - var(--shell))/2)); bottom: 18px; color: #fff; }
.feature-controls { width: min(calc(100% - 80px),var(--shell)); min-height: 78px; margin-inline: auto; padding: 0; border: 0; display: flex; align-items: center; gap: 22px; }
.feature-controls-label { display: block; flex: 0 0 auto; margin: 0; color: #d8ddd4; font-size: .62rem; letter-spacing: .12em; }
.feature-controls-label span { color: #f0c5c8; }
.feature-tabs { flex: 1; justify-content: center; gap: 0; overflow-x: auto; }
.feature-tab { position: relative; flex: 0 0 auto; min-height: 54px; margin: 0; padding: 12px 18px; border: 0; color: #d8ddd4; font-size: .75rem; white-space: nowrap; }
.feature-tab:after { content: ""; position: absolute; left: 18px; right: 18px; bottom: 0; height: 2px; background: transparent; }
.feature-tab[aria-current="true"] { color: #fff; border: 0; }
.feature-tab[aria-current="true"]:after { background: #e16b73; }
.feature-tab span { color: #c3c8be; }
.feature-arrows button { width: 42px; height: 42px; border-color: #7f887e; border-radius: 4px; color: #fff; }
.feature-banner :focus-visible { outline-color: #fff; }
.feature-copy-art { display: flex; flex-direction: column; justify-content: center; background: #101e2d; }
.feature-copy-art .feature-media { position: relative; inset: auto; flex: 0 1 auto; width: 100%; height: min(45vh,calc(100% - 205px)); background: #101e2d; }
.feature-copy-art .feature-media img { object-fit: contain; object-position: center; }
.feature-copy-art .feature-content.shell { display: flex; flex: 0 0 auto; width: min(calc(100% - 80px),var(--shell)); height: auto; padding: 15px 0 34px; }
.feature-copy-art .feature-copy { display: block; width: min(100%,900px); }
.feature-copy-art .feature-eyebrow { margin: 0 0 8px; color: #f0eede; font-size: .63rem; }
.feature-copy-art .feature-copy h2 { max-width: 900px; margin: 0 0 8px; font-size: clamp(1.8rem,3vw,3.1rem); line-height: 1.1; letter-spacing: -.045em; }
.feature-copy-art .feature-summary { display: block; max-width: 790px; margin: 8px 0; color: #e9e8e0; font-size: clamp(.83rem,1vw,.98rem); }
.feature-copy-art .feature-author { margin: 8px 0 10px; font-size: .76rem; }
.feature-copy-art .feature-cta { margin-top: 2px; }
.feature-copy-art .feature-shade,.feature-copy-art .feature-caption,.feature-copy-art .feature-ordinal { display: none; }
.feature-news .feature-media img,.feature-agenda .feature-media img,.feature-prayer .feature-media img { object-position: center 42%; }
.feature-cells .feature-media { background: #18221d; }
.feature-cells .feature-media img { object-fit: contain; padding: clamp(35px,8vw,120px); }
.weekly-agenda { background: #f0eee8; }
.agenda-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 16px; margin-top: 44px; }
.agenda-card { min-height: 295px; padding: 27px; border: 1px solid var(--line); border-radius: 9px; background: #fff; display: flex; flex-direction: column; align-items: flex-start; }
.agenda-day { margin-bottom: 20px; color: var(--red); font-size: .7rem; font-weight: 700; letter-spacing: .1em; }
.agenda-card h3 { margin-bottom: 12px; font-size: clamp(1.35rem,2.1vw,1.9rem); }
.agenda-card p { margin-bottom: 20px; font-size: .91rem; }
.agenda-access { margin-top: auto; color: #586158; font-size: .78rem; }
.agenda-link,.agenda-links a { min-height: 44px; display: inline-flex; align-items: center; gap: 8px; color: var(--ink); font-size: .8rem; font-weight: 700; text-decoration: underline; text-underline-offset: 4px; }
.agenda-links { display: flex; gap: 18px; }
@media(max-width:900px) { .feature-banner { height: calc(100svh - 78px); min-height: min(560px,calc(100svh - 78px)); grid-template-rows: minmax(0,1fr) 74px; }.feature-controls { width: calc(100% - 40px); gap: 8px; }.feature-controls-label { display:none; }.feature-content.shell,.feature-copy-art .feature-content.shell { width: calc(100% - 48px); }.feature-copy-art .feature-media { height: min(44vh,calc(100% - 185px)); }.feature-copy-art .feature-content.shell { padding: 12px 0 20px; }.feature-copy-art .feature-copy h2 { font-size: clamp(1.6rem,4vw,2.4rem); }.feature-copy-art .feature-summary { font-size: .85rem; }.feature-copy-art .feature-author { margin: 6px 0; }.feature-tabs { justify-content: flex-start; }.feature-tab { padding-inline: 12px; font-size: .7rem; }.feature-tab:after { left: 12px; right: 12px; }.feature-tab span { margin-right: 4px; }.feature-arrows { gap: 4px; }.feature-arrows button { width: 38px; height: 40px; }.feature-ordinal { right: 24px; }.agenda-grid { grid-template-columns: 1fr; gap: 12px; }.agenda-card { min-height: 230px; } }
@media(max-width:430px) { .feature-banner { grid-template-rows: minmax(0,1fr) 70px; }.feature-content.shell,.feature-copy-art .feature-content.shell { width: calc(100% - 36px); }.feature-copy-art .feature-media { height: min(36vh,calc(100% - 205px)); }.feature-copy-art .feature-copy h2 { font-size: clamp(1.45rem,5.8vw,2rem); }.feature-copy-art .feature-summary { font-size: .78rem; line-height: 1.4; }.feature-copy-art .feature-author { font-size: .68rem; }.feature-copy-art .feature-cta { min-height: 44px; font-size: .71rem; }.feature-copy-art .feature-cta>span { width: 29px; height: 29px; }.feature-controls { width: calc(100% - 24px); gap: 3px; }.feature-tab { min-height: 46px; padding-inline: 7px; font-size: .63rem; }.feature-tab:after { left: 7px; right: 7px; }.feature-tab span { font-size: .57rem; }.feature-arrows button { width: 34px; height: 36px; }.feature-copy:not(.feature-copy-art .feature-copy) { width: 100%; }.feature-news .feature-copy h2,.feature-agenda .feature-copy h2,.feature-cells .feature-copy h2,.feature-prayer .feature-copy h2 { font-size: clamp(2.4rem,11vw,3.65rem); }.feature-summary { font-size: .9rem; }.feature-ordinal { right: 18px; bottom: 10px; }.agenda-card { padding: 22px; } }
@media(prefers-reduced-motion:reduce) { .feature-track { transition: none; } }

/* Image-led weekly cards, with native horizontal navigation on small screens. */
.weekly-agenda { background: #f0eee8; }
.agenda-heading { display: flex; justify-content: space-between; align-items: flex-end; gap: 40px; }
.agenda-heading h2 { margin: 0; font-size: clamp(2.3rem,4.5vw,4.1rem); letter-spacing: -.05em; }
.agenda-heading .eyebrow { margin-bottom: 16px; }
.agenda-heading>p { max-width: 270px; margin: 0 0 4px; font-size: .94rem; }
.agenda-grid { position: relative; display: grid; grid-template-columns: none; grid-auto-flow: column; grid-auto-columns: calc((100% - 40px)/3); gap: 20px; margin-top: 38px; padding: 4px 0 16px; overflow-x: auto; overscroll-behavior-x: contain; scroll-snap-type: x mandatory; scrollbar-width: thin; scrollbar-color: #a6aaa2 transparent; }
.agenda-card { min-height: 0; padding: 0; border-radius: 10px; overflow: hidden; display: flex; align-items: stretch; scroll-snap-align: start; background: #fff; border: 1px solid #dcded6; transition: border-color .2s,box-shadow .2s; }
.agenda-card:hover,.agenda-card:focus-within { border-color: #b3b7ac; box-shadow: 0 8px 22px #2028210b; }
.agenda-visual { position: relative; flex: 0 0 auto; aspect-ratio: 16/10; overflow: hidden; background: #dedfd8; }
.agenda-visual img { width: 100%; height: 100%; display: block; object-fit: cover; }
.agenda-visual-brand { background: #e2e7db; }
.agenda-visual-brand img { object-fit: contain; padding: 20px 24px 100px; }
.agenda-badge { position: absolute; bottom: 16px; left: 18px; display: flex; flex-direction: column; justify-content: center; gap: 3px; min-width: 94px; max-width: calc(100% - 36px); padding: 11px 16px; background: #faf9f6; color: var(--ink); border-left: 3px solid var(--red); box-shadow: 0 3px 16px #0001; }
.agenda-badge span { font-size: .65rem; font-weight: 700; letter-spacing: .08em; }
.agenda-badge strong { font-size: 1.5rem; line-height: 1; letter-spacing: -.04em; }
.agenda-body { flex: 1; display: flex; flex-direction: column; padding: 26px; }
.agenda-frequency { margin-bottom: 12px; color: #677062; font-size: .68rem; font-weight: 700; letter-spacing: .07em; text-transform: uppercase; }
.agenda-body h3 { margin: 0 0 14px; font-size: clamp(1.5rem,2.3vw,2.05rem); line-height: 1.08; }
.agenda-card .agenda-description { margin: 0 0 26px; font-size: .9rem; line-height: 1.6; }
.agenda-footer { margin-top: auto; padding-top: 18px; border-top: 1px solid #e8e9e3; }
.agenda-card .agenda-access { margin: 0 0 8px; color: #687063; font-size: .76rem; line-height: 1.5; }
.agenda-links { display: flex; flex-wrap: wrap; gap: 4px 18px; }
.agenda-navigation[hidden] { display: none; }
.agenda-navigation { display: flex; justify-content: space-between; align-items: center; gap: 16px; margin-top: 6px; }
.agenda-navigation>p { margin: 0; font-size: .75rem; }
.agenda-navigation>div { display: flex; align-items: center; gap: 8px; }
.agenda-navigation [data-agenda-position] { font-size: .75rem; color: var(--muted); margin-right: 8px; }
.agenda-navigation button { width: 44px; height: 44px; border: 1px solid #b8beb2; border-radius: 4px; background: transparent; font-size: 1.2rem; }
.agenda-navigation button:disabled { opacity: .35; cursor: default; }
.agenda-navigation button:not(:disabled):hover { background: #fff; }
@media(max-width:1000px) { .agenda-grid { grid-auto-columns: calc((100% - 20px)/2); }.agenda-heading { display: block; }.agenda-heading>p { max-width: 500px; margin-top: 20px; } }
@media(max-width:640px) { .agenda-grid { grid-auto-columns: 88%; gap: 14px; margin-top: 26px; }.agenda-body { padding: 22px; }.agenda-body h3 { font-size: 1.8rem; }.agenda-visual-brand img { padding: 16px 20px 90px; }.agenda-badge { bottom: 14px; left: 16px; }.weekly-agenda { padding-block: 60px; } }
@media(prefers-reduced-motion:reduce) { .agenda-card { transition: none; } }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; }.button, .cell-card { transition: none; } }
/* Espaço de leitura: não truncar palavras, acentos ou botões. */
h1, h2, h3 { min-width: 0; word-break: normal; hyphens: none; }
.feature-copy, .pv-area-info, .pv-prose { min-width: 0; }

/* Visita visível desde o início, recuperação de navegação e controles de leitura. */
.service-strip { background: #f0eee8; border-bottom: 1px solid var(--line); }
.service-strip>.shell { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding-block: 10px; }
.service-strip p { display: flex; align-items: center; flex-wrap: wrap; gap: 18px; margin: 0; font-size: .9rem; }
.service-strip strong { color: var(--ink); }
.service-strip>div>div { display: flex; gap: 22px; }
.service-strip a { display: inline-flex; align-items: center; min-height: 44px; font-size: .85rem; font-weight: 700; }
.desktop-nav a[aria-current], .mobile-menu a[aria-current] { color: var(--red); text-decoration: underline; text-underline-offset: 6px; }
.route-error[hidden] { display: none; }
.route-error { position: fixed; z-index: 180; top: 106px; left: 50%; transform: translateX(-50%); width: min(540px, calc(100% - 32px)); padding: 22px; border: 1px solid #bd1725; border-radius: 10px; background: #fffdf9; box-shadow: 0 8px 30px #0002; }
.route-error p { color: var(--ink); margin-bottom: 14px; }
.route-error>div { display: flex; gap: 18px; flex-wrap: wrap; align-items: center; }
.route-error button, .route-error a, .reader-retry, .reader-expand { min-height: 44px; padding: 10px 14px; font: 600 .9rem/1.5 var(--font-site); border: 1px solid var(--line); border-radius: 6px; background: #fff; }
.reader-expand { display: block; margin: 16px 0; }
.reader.is-expanded .reader-body { height: auto; max-height: none; overflow: visible; }
.reader-foot, .reader-head p:last-child { font-size: .85rem; }
.reader-body[aria-busy=true] { cursor: progress; }
.visit-page-hero .visit-intro { font: 1rem/1.75 var(--font-site); max-width: 650px; }
.school-contact { display: flex; flex-wrap: wrap; gap: 18px; }
.feature-eyebrow { font-size: .8rem; }
#motion-toggle { min-height: 44px; font-size: .75rem; }
@media (max-width: 760px) {
  .feature-controls { display: flex; align-items: center; gap: 8px; min-height: 0; height: 100%; }
  .feature-tabs { display: flex; flex: 1; flex-wrap: nowrap; min-width: 0; overflow-x: auto; gap: 12px; scrollbar-width: none; }
  .feature-tab { flex: 0 0 auto; font-size: .8rem; text-align: left; padding: 10px 0; min-height: 44px; }
  .feature-tab span { font-size: .75rem; margin-right: 5px; }
  .feature-arrows { gap: 8px; flex-shrink: 0; }
  .feature-arrows button { width: 44px; height: 44px; flex-shrink: 0; font-size: 1rem; }
  .service-strip>.shell { display: block; padding-block: 12px; }
  .service-strip p { gap: 5px 14px; font-size: .8rem; }
  .service-strip>div>div { gap: 22px; }
  .service-strip a { font-size: .8rem; }
  .eyebrow, .feature-eyebrow { font-size: .75rem; }
  .route-error { top: 90px; }
}
