/* ==========================================================================
   Demo: Sanctuary — Church
   Identity: warm + reverent. Deep teal-navy, gold, cream. Humanist serif.
   ========================================================================== */

.lumina-demo-church {
	--lum-bg:        #fbf7ef;
	--lum-surface:   #f1ead9;
	--lum-ink:       #15333a;
	--lum-ink-soft:  #44595e;
	--lum-line:      #e2d8c4;
	--lum-accent:    #c0913f;
	--lum-accent-ink:#1c1206;
	--lum-muted:     #8a8473;

	--sanct-deep: #15333a;
	--sanct-gold: #c0913f;
	--sanct-rose: #c4756a;
}
.lumina-demo-church { --lum-font-display: "Fraunces", Georgia, serif; }

/* Hero ------------------------------------------------------------------ */
.sanct-hero {
	position: relative;
	background:
		radial-gradient(120% 90% at 100% 0%, color-mix(in srgb, var(--sanct-gold) 16%, var(--lum-bg)), var(--lum-bg) 60%);
	padding-block: clamp(3.5rem, 2rem + 7vw, 8rem);
	overflow: hidden;
}
.sanct-hero__inner { position: relative; z-index: 2; max-width: 760px; }
.sanct-hero__title { font-size: var(--lum-step-4); margin: 1.5rem 0; max-width: 16ch; }
.sanct-hero__lead { font-size: var(--lum-step-1); color: var(--lum-ink-soft); max-width: 52ch; }
.sanct-hero__actions { display: flex; flex-wrap: wrap; gap: 1rem; margin-top: 2.2rem; }

.sanct-glass {
	position: absolute;
	top: -4%;
	right: clamp(-6rem, -4vw, 2rem);
	width: clamp(220px, 34vw, 460px);
	opacity: 0.92;
	z-index: 1;
	filter: drop-shadow(0 30px 50px rgba(21, 51, 58, 0.18));
}
@media (max-width: 720px) { .sanct-glass { opacity: 0.18; right: -20%; } }

/* Times bar ------------------------------------------------------------- */
.sanct-times { margin-top: -2px; }
.sanct-times__grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 1px;
	background: var(--lum-line);
	border: 1px solid var(--lum-line);
	border-radius: var(--lum-radius-lg);
	overflow: hidden;
}
.sanct-times__card { background: var(--lum-bg); padding: clamp(1.6rem, 1rem + 2vw, 2.4rem); }
.sanct-times__label { font-family: var(--lum-font-mono); font-size: 0.72rem; letter-spacing: 0.16em; text-transform: uppercase; color: var(--lum-accent); }
.sanct-times__card strong { display: block; font-family: var(--lum-font-display); font-size: var(--lum-step-1); margin: 0.5rem 0 0.4rem; font-weight: 600; }
.sanct-times__card p { color: var(--lum-ink-soft); font-size: 0.95rem; }
@media (max-width: 720px) { .sanct-times__grid { grid-template-columns: 1fr; } }

/* Belief ---------------------------------------------------------------- */
.sanct-belief__grid { display: grid; grid-template-columns: 0.9fr 1.4fr; gap: clamp(2rem, 4vw, 5rem); align-items: start; }
.sanct-belief__title { font-size: var(--lum-step-3); margin-top: 0.8rem; }
.sanct-belief__cols { display: grid; grid-template-columns: 1fr 1fr; gap: 2rem 3rem; }
.sanct-belief__cols h3 { font-family: var(--lum-font-display); font-size: var(--lum-step-1); margin-bottom: 0.5rem; color: var(--sanct-deep); }
.sanct-belief__cols p { color: var(--lum-ink-soft); }
@media (max-width: 820px) { .sanct-belief__grid, .sanct-belief__cols { grid-template-columns: 1fr; } }

/* Events ---------------------------------------------------------------- */
.sanct-events { background: var(--sanct-deep); color: var(--lum-bg); }
.sanct-events .lum-eyebrow { color: var(--sanct-gold); }
.sanct-events__head { margin-bottom: 2.5rem; }
.sanct-events__head h2 { font-size: var(--lum-step-3); margin-top: 0.5rem; }
.sanct-events__list { display: grid; gap: 1px; background: color-mix(in srgb, var(--lum-bg) 14%, transparent); border-radius: var(--lum-radius-lg); overflow: hidden; }
.sanct-event {
	display: grid;
	grid-template-columns: auto 1fr auto;
	align-items: center;
	gap: 1.5rem;
	padding: 1.5rem clamp(1rem, 2vw, 2rem);
	background: var(--sanct-deep);
	text-decoration: none;
	color: inherit;
	transition: background 0.35s var(--lum-ease);
}
.sanct-event:hover { background: color-mix(in srgb, var(--sanct-gold) 16%, var(--sanct-deep)); }
.sanct-event__date {
	display: grid; place-items: center; width: 64px; height: 64px;
	border: 1px solid color-mix(in srgb, var(--lum-bg) 24%, transparent);
	border-radius: 14px;
}
.sanct-event__day { font-family: var(--lum-font-display); font-size: 1.5rem; line-height: 1; font-weight: 600; color: var(--sanct-gold); }
.sanct-event__mon { font-family: var(--lum-font-mono); font-size: 0.62rem; letter-spacing: 0.14em; text-transform: uppercase; }
.sanct-event__title { display: block; font-family: var(--lum-font-display); font-size: var(--lum-step-1); font-weight: 600; }
.sanct-event__meta { display: block; font-size: 0.88rem; color: color-mix(in srgb, var(--lum-bg) 66%, var(--sanct-deep)); margin-top: 0.15rem; }
.sanct-event .lum-btn__arrow { color: var(--sanct-gold); }

/* Verse ----------------------------------------------------------------- */
.sanct-verse { background: var(--sanct-gold); color: var(--sanct-deep); padding-block: clamp(3rem, 2rem + 4vw, 6rem); }
.sanct-verse__quote { font-family: var(--lum-font-display); font-size: var(--lum-step-3); line-height: 1.18; font-style: italic; max-width: 22ch; margin-inline: auto; border: 0; padding: 0; }
.sanct-verse__cite { display: block; margin-top: 1.5rem; font-family: var(--lum-font-mono); font-size: 0.8rem; letter-spacing: 0.18em; text-transform: uppercase; font-style: normal; }

/* Visit ----------------------------------------------------------------- */
.sanct-visit__title { font-size: var(--lum-step-4); margin: 0.6rem auto 1.2rem; max-width: 18ch; }
