/* Shared vigil-to-resurrection palette for the local public and keeper views. */
.keeper-form,.record-panel{background:var(--ivory);border-color:rgba(24,34,56,.12)}
.local-status,.record-count{background:#dfe8df;color:#4f6f62}
.keeper-boundary{background:#e3e9e1}
.record-initial{background:#d4e1d6;color:#4f6f62}
.keeper-intro>p:not(.eyebrow),.record-meta,.empty-state{color:#536577}
.person-portrait{background:linear-gradient(145deg,#cdb2a3,#748899 53%,#455c73)}
.person-candle{background:#dfe8df}
.prayer-entry{border-left-color:#b7cdbb}
.person-story,.person-dates{color:#4d6072}

/* Soft ceremonial polish: a little warmth and depth without turning the house gothic. */
body{background-image:radial-gradient(circle at 12% 0%,rgba(199,155,78,.08),transparent 30rem),radial-gradient(circle at 92% 24%,rgba(98,123,112,.08),transparent 28rem)}
.site-header{box-shadow:0 8px 30px rgba(13,21,37,.05)}
.brand-mark{box-shadow:0 5px 14px rgba(13,21,37,.18)}
.button,.demo-badge,.status-chip,.event-date,.presence-symbol{border-radius:7px}
.button-primary,.button-gold{box-shadow:0 9px 22px rgba(13,21,37,.18)}
.memorial-card,.content-card,.support-panel,.feature-panel,.request-queue,.keeper-form,.record-panel,.writing-studio,.manager-card,.support-settings,.info-band,.presence-intro,.presence-card,.resource-article,.event-library,.calendar-invitation,.volunteer-form,.volunteer-aside{border-radius:10px}
.memorial-card,.content-card,.presence-card,.resource-article,.event-card,.published-writing-card{transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}
.memorial-card:hover,.content-card:hover,.presence-card:hover,.resource-article:hover,.event-card:hover,.published-writing-card:hover{border-color:rgba(199,155,78,.35);box-shadow:0 28px 72px rgba(13,21,37,.22);transform:translateY(-3px)}
.site-footer{border-top:1px solid rgba(229,199,125,.1)}
input:focus,textarea:focus,select:focus{border-color:var(--gold);box-shadow:0 0 0 3px rgba(199,155,78,.2)}
@media(prefers-reduced-motion:reduce){.memorial-card,.content-card,.presence-card,.resource-article,.event-card,.published-writing-card{transition:none}}

.mobile-nav-toggle{display:none}
@media(max-width:760px){
  body{overflow-x:hidden}
  .site-header{align-items:center;flex-wrap:wrap;gap:10px;min-height:70px}
  .site-header .brand{min-width:0}
  .site-header .brand small{font-size:.56rem;max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .mobile-nav-toggle{background:transparent;border:1px solid rgba(24,34,56,.18);border-radius:7px;color:var(--ink);display:inline-flex;font-size:.68rem;font-weight:600;gap:7px;padding:8px 11px}
  .mobile-nav-toggle span{color:var(--gold);font-size:1rem;line-height:.7}
  #primary-nav{display:none;flex-basis:100%;gap:0;grid-template-columns:1fr 1fr;padding:8px 0 2px}
  #primary-nav.mobile-open{display:grid}
  #primary-nav a{border-top:1px solid rgba(24,34,56,.1);font-size:.7rem;padding:11px 5px}
  .hero h1,.presence-hero h1,.resources-hero h1,.volunteer-hero h1,.calendar-hero h1,.info-hero h1{font-size:clamp(3.15rem,15vw,5rem);line-height:.98}
  .hero-lede,.presence-hero>p:not(.eyebrow),.resources-hero>p:not(.eyebrow),.volunteer-hero>p:not(.eyebrow),.calendar-hero>p:not(.eyebrow),.info-hero>p:not(.eyebrow){font-size:1rem;line-height:1.55}
  .hero-actions,.info-actions{align-items:stretch;flex-direction:column;gap:10px}
  .hero-actions .button,.info-actions .button{width:100%}
  .section-heading h2,.event-library h2{font-size:2.45rem}
  .memorial-content h3{font-size:2.35rem}
  .person-candle,.presence-intro,.volunteer-intro,.calendar-invitation,.info-band{border-radius:8px}
  .prayer-request-form,.volunteer-form{padding:25px 20px}
  .prayer-request-form h2,.volunteer-form h2{font-size:2.15rem}
  .prayer-aside{min-height:390px!important}
  .keeper-shell{padding-left:16px!important;padding-right:16px!important}
  .keeper-intro h1{font-size:3.25rem}
  .keeper-dashboard,.writing-studio,.request-queue,.support-settings{padding:22px 18px!important}
  .record-heading{gap:10px}
  .record-heading h2{font-size:2.15rem}
  .manager-grid{gap:18px}
  .manager-card{padding:23px 18px!important}
  .event-card{padding:20px}
  .resource-nav a{flex:1 1 100%}
}
