/* Homepage palette: bright ivory, walnut type and light champagne accents.
   Kept separate so the previous cool palette remains available for comparison. */
body.intro-theme-warm {
  --intro-paper: #fffdf8;
  --intro-ink: #66594e;
  --intro-muted: #7a6a5e;
  --intro-bronze: #cfa76e;
  --intro-footer-scale: 1.5;
  background: var(--intro-paper);
  color: var(--intro-ink);
}
.intro-theme-warm ::selection { background: #ead9bd; color: #3e322b; }
.intro-theme-warm .intro--photo { background: var(--intro-paper); }
.intro-theme-warm .title { color: #5d4e46; }
.intro-theme-warm .kicker { color: #6b5d56; }
.intro-theme-warm .subtitle { color: #7a6a5e; }
.intro-theme-warm .verse-group::before { background: linear-gradient(#cfa76e,rgba(207,167,110,.12)); }
.intro-theme-warm .intro--photo .intro-haze {
  background: linear-gradient(90deg,#fffdf8 28%,rgba(255,253,248,.97) 35%,rgba(255,253,248,.72) 43%,rgba(255,253,248,.12) 60%,transparent 74%),linear-gradient(0deg,rgba(255,253,248,.94),transparent 25%);
}
.intro-theme-warm .intro-light {
  background: radial-gradient(ellipse at 85% 12%,rgba(255,250,235,.3),transparent 53%);
}
.intro-theme-warm .intro-atmosphere {
  background: linear-gradient(110deg,rgba(255,253,248,.04) 35%,rgba(255,253,248,.16));
}

.intro-theme-warm .enter {
  border-color: #c7aa7d;
  border-radius: 12px;
  background: linear-gradient(115deg,#f7ead3,#ecd8b7 78%);
  color: #5d4e46;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.85),0 12px 28px -19px rgba(111,84,47,.3);
}
.intro-theme-warm .enter::before { border-color: rgba(255,255,255,.6); border-radius: 8px; }
.intro-theme-warm .enter::after { background: #b18b51; }
.intro-theme-warm .enter-highlight {
  background: linear-gradient(115deg,transparent 35%,rgba(255,255,255,.35) 48%,rgba(255,250,242,.12) 54%,transparent 64%);
}
.intro-theme-warm .enter-sub { color: #6b5845; }
.intro-theme-warm .enter-arrow { border-left-color: rgba(131,100,62,.26); }
.intro-theme-warm .enter-arrow svg { stroke: #806244; }
.intro-theme-warm .enter:hover,
.intro-theme-warm .enter:focus-visible {
  border-color: #ad8853;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.95),0 16px 32px -19px rgba(111,84,47,.38);
}
.intro-theme-warm .enter:hover::before,
.intro-theme-warm .enter:focus-visible::before { border-color: rgba(255,255,255,.85); }
.intro-theme-warm .enter:active { box-shadow: inset 0 2px 10px rgba(111,84,47,.08),0 5px 15px -10px rgba(111,84,47,.18); }
.intro-theme-warm .entry-hint { color: #7a6a5e; }
.intro-theme-warm .hint-line { background: #cfa76e; }
.intro-theme-warm .footer { align-items: center; gap: 32px; }
.intro-theme-warm .address {
  font-size: calc(12px * var(--intro-footer-scale));
  gap: 15px 28px;
  max-width: none;
  letter-spacing: .065em;
  line-height: 1.7;
}
.intro-theme-warm .label { font-size: calc(11px * var(--intro-footer-scale)); letter-spacing: .25em; }
.intro-theme-warm .address-text,
.intro-theme-warm .phone { border-left: 1px solid rgba(93,78,70,.24); padding-left: 28px; }
.intro-theme-warm .social { gap: 8px; }
.intro-theme-warm .social a { width: 56px; height: 56px; font-size: calc(20px * var(--intro-footer-scale)); color: #75614f; }
.intro-theme-warm .social a:hover { background: rgba(207,167,110,.12); }

@media (min-width:681px) and (max-width:1100px) {
  .intro-theme-warm .address { flex-direction: column; align-items: flex-start; gap: 5px; }
  .intro-theme-warm .address-text,
  .intro-theme-warm .phone { border: 0; padding-left: 0; }
  .intro-theme-warm .intro--photo .intro-haze {
    background: linear-gradient(90deg,#fffdf8 8%,rgba(255,253,248,.9) 30%,rgba(255,253,248,.72) 46%,rgba(255,253,248,.15) 72%,transparent),linear-gradient(0deg,rgba(255,253,248,.95),transparent 25%);
  }
}
@media (max-width:680px) {
  .intro-theme-warm .intro--photo .intro-haze {
    background: linear-gradient(180deg,rgba(255,253,248,.03),rgba(255,253,248,.08) 20%,rgba(255,253,248,.85) 43%,#fffdf8 84%);
  }
  .intro-theme-warm .footer { border-top-color: rgba(93,78,70,.15); flex-direction: row; flex-wrap: wrap; gap: 18px; padding-top: 22px; }
  .intro-theme-warm .address { flex: 1 1 300px; min-width: 0; font-size: calc(10px * var(--intro-footer-scale)); letter-spacing: .015em; gap: 6px; }
  .intro-theme-warm .label { font-size: calc(9px * var(--intro-footer-scale)); margin-bottom: 3px; }
  .intro-theme-warm .address-text,
  .intro-theme-warm .phone { border: 0; padding-left: 0; }
  .intro-theme-warm .social { gap: 4px; margin-left: auto; }
  .intro-theme-warm .social a { width: 48px; height: 48px; font-size: calc(17px * var(--intro-footer-scale)); }
}
