/* Public platform refinement. Church sites retain their selected typography and colors. */
:root {
  --font-head: 'Inter', system-ui, -apple-system, 'Segoe UI', sans-serif;
  --radius: 14px;
  --shadow: 0 2px 12px rgba(29, 26, 64, .05);
  --shadow-lift: 0 6px 20px rgba(29, 26, 64, .09);
  --grad-badge: #5B3CC4;
}
h1, h2, h3, h4 { font-weight: 600; letter-spacing: -.035em; line-height: 1.18; }
h1, .page-hero h1 { font-size: clamp(2.2rem, 4.5vw, 3.5rem); line-height: 1.12; }
h2 { font-size: clamp(1.65rem, 3vw, 2.5rem); }
h3 { font-size: 1.3rem; letter-spacing: -.02em; }
.hero-dawn h1 { font-size: clamp(2.6rem, 6vw, 4.5rem); font-weight: 600; line-height: 1.1; word-spacing: normal; font-variation-settings: normal; }
.hero, .hero-dawn, .page-hero { background: var(--paper); }
.hero-glow, .hero-dawn::after, .page-hero::before, .page-hero::after { display: none; }
.section-sky, .section-spotlight > .container { background: #F1EEF7; }
.section-dawn, .support-card { background: #F6F0E7; }
.site-footer { background: #F0ECE5; }
.site-header, .site-header.is-scrolled { background: var(--paper); backdrop-filter: none; -webkit-backdrop-filter: none; box-shadow: none; }
.btn, .primary-nav a, .header-support { border-radius: 8px; }
.btn-primary, .home-entry:first-child, .walk-streak, .freedom-big { background: var(--violet); box-shadow: none; }
.btn-primary:hover, .home-entry:first-child:hover { background: var(--iris-deep); box-shadow: none; }
.btn-primary::after { display: none; }
.btn-support, .primary-nav .nav-support a, .header-support { background: #F3C66D; box-shadow: none; }
.btn-support:hover, .primary-nav .nav-support a:hover, .header-support:hover { background: #EAB851; }
.btn-support .icon, .nav-support .icon, .header-support .icon, .support-heart .icon { animation: none; }
.home-entry, .card, .hero-media, .support-card, .section-spotlight > .container { border-radius: 14px; box-shadow: none; }
.hero-media { border: 1px solid var(--line); }
.card .icon-badge { background: var(--sky); border-radius: 12px; box-shadow: none; }
.pillar::before, .verse-of-day .scripture::before { background: #BF9143; }
.step-no { background: none; color: var(--violet); -webkit-text-fill-color: currentColor; }
.progress > span, progress.meter::-webkit-progress-value { background: var(--violet); }
progress.meter::-moz-progress-bar { background: var(--violet); }
.support-heart { background: #FFF8E8; box-shadow: none; }
.footer-tag { font-family: var(--font-body); font-size: 1rem; }
.primary-nav a { padding-inline: 9px; font-size: .875rem; }
.prepare-hero { padding-block: clamp(44px, 7vw, 88px); border-bottom: 1px solid var(--line); }
.prepare-intro { display: grid; gap: 32px; align-items: center; }
.prepare-intro h1 { max-width: 17ch; }
.prepare-belief { border-left: 3px solid #BF9143; padding: 20px 26px; background: #F6F0E7; }
.prepare-belief p:last-child { margin-bottom: 0; }
.prepare-topic { display: flex; flex-direction: column; gap: 12px; }
.prepare-topic .topic-number { font-size: .875rem; font-weight: 600; color: var(--violet); }
.prepare-topic h3, .prepare-topic p { margin: 0; }
.prepare-topic .btn { align-self: flex-start; margin-top: auto; }
.prepare-practice { border-top: 1px solid var(--line); padding-top: 18px; }
.prepare-guidelines { padding: 24px; border: 1px solid var(--line); border-radius: 14px; }
.prepare-post { padding: 24px 0; border-bottom: 1px solid var(--line); overflow-wrap: anywhere; }
.prepare-message { white-space: pre-wrap; }
.prepare-post form { margin-top: 12px; }
.prepare-form { margin-top: 36px; }
.prepare-page-nav { margin-block: 28px; }
.prepare-pagination { margin-block: 24px; }
@media (min-width: 800px) { .prepare-intro { grid-template-columns: 1.5fr 1fr; gap: 64px; } }
@media (max-width: 479px) { .prepare-belief { padding: 18px; } }

/* Three joyful invitations: harvest gold, generous rose, and hopeful violet. */
.btn { border-radius: 999px; }
.home-entry, .card, .support-card, .section-spotlight > .container { border-radius: 22px; }
.hero-dawn { background: #FBF5E9; }
.hero-dawn .pill { background: #FFFDF8; border-color: #DFCFAB; }
.section-dawn { background: #FBEFE8; }
.faith-gather { --faith-bg: #FBF2D9; --faith-soft: #F3E0AC; --faith-color: #74521D; --faith-line: #DAC38E; }
.faith-celebrate { --faith-bg: #FBECE7; --faith-soft: #F3CBBB; --faith-color: #943F40; --faith-line: #E4B9AB; }
.faith-prepare { --faith-bg: #F0EBFA; --faith-soft: #DCD1F1; --faith-color: #5938A1; --faith-line: #CABCE4; }
.faith-pillars { gap: 24px; }
.faith-pillar { display: flex; flex-direction: column; overflow: hidden; border: 1px solid var(--faith-line); border-radius: 100px 100px 24px 24px; background: var(--faith-bg); text-decoration: none; color: var(--ink); transition: transform .2s, box-shadow .2s; }
.faith-pillar:hover { color: var(--ink); transform: translateY(-5px); box-shadow: var(--shadow-lift); }
.faith-art { display: block; width: 100%; height: auto; flex: none; }
.art-arch { fill: var(--faith-soft); }
.art-sun { fill: #FFF8DD; }
.art-ground { fill: var(--faith-soft); opacity: .7; }
.art-ink { stroke: var(--faith-color); }
.art-gift { fill: var(--faith-bg); }
.art-stars { stroke: var(--faith-color); opacity: .65; }
.faith-pillar-copy { display: flex; flex: 1; flex-direction: column; gap: 16px; padding: 24px 28px 30px; }
.faith-pillar .pillar-word { font-size: clamp(1.8rem, 3vw, 2.4rem); font-weight: 600; color: var(--faith-color); line-height: 1.15; }
.faith-pillar-label { font-weight: 600; }
.faith-pillar-link { display: flex; gap: 8px; align-items: center; padding-top: 8px; margin-top: auto; color: var(--faith-color); font-weight: 600; }
.faith-hero { background: var(--faith-bg); padding-block: 24px 64px; border-bottom: 1px solid var(--faith-line); }
.faith-hero h1 { max-width: 18ch; }
.faith-tabs { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 40px; }
.faith-tabs a { padding: 9px 20px; border: 1px solid transparent; border-radius: 999px; color: var(--ink); text-decoration: none; font-weight: 600; }
.faith-tabs a:hover, .faith-tabs a[aria-current] { border-color: var(--faith-line); background: #FFFDF8; }
.faith-invitation { overflow: hidden; border-radius: 140px 140px 22px 22px; border: 1px solid var(--faith-line); background: #FFFDF8; }
.faith-invitation > div { padding: 24px 30px 30px; }
.faith-invitation h2 { font-size: 1.35rem; letter-spacing: -.02em; color: var(--faith-color); }
.faith-practices, .faith-section .prepare-hero { background: var(--faith-bg); }
.faith-section .prepare-belief { border-left-color: var(--faith-color); background: #FFFDF8; border-radius: 0 18px 18px 0; }
.faith-section .topic-number, .faith-section .eyebrow { color: var(--faith-color); }
.faith-section .prepare-practice { border-top-color: var(--faith-line); }
.faith-section .prepare-topic { border-top: 4px solid var(--faith-line); }
@media (min-width: 800px) { .faith-hero .prepare-intro { grid-template-columns: 1.4fr 1fr; } }
@media (max-width: 599px) { .faith-pillar { border-radius: 70px 70px 22px 22px; } .faith-art { max-height: 180px; } .faith-invitation { border-radius: 90px 90px 22px 22px; } .faith-pillar-copy { padding: 20px 24px 26px; } }
@media (min-width: 1100px) and (max-width: 1399px) {
 .header-inner { flex-wrap: wrap; }
 .js .nav-toggle { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; padding: 8px 16px; border: 2px solid var(--ink); border-radius: 999px; background: none; font: 600 .95rem var(--font-body); color: var(--ink); cursor: pointer; }
 .primary-nav { width: 100%; }
 .js .primary-nav:not(.open) { display: none; }
 .primary-nav ul { flex-direction: column; align-items: stretch; padding-bottom: 12px; }
 .primary-nav a { width: 100%; }
 .header-support { display: inline-flex; align-items: center; gap: 8px; padding: 8px 16px; min-height: 44px; text-decoration: none; color: #2D1B00; margin-left: auto; }
 .primary-nav .nav-support { display: none; }
}
.site-header .container { max-width: 1440px; }
