.rainbow-hero{overflow:hidden;background:radial-gradient(circle at 78% 12%,#fff8ec 0,#f3eee4 48%,#e9f0e8 100%);border-bottom:1px solid var(--line)}
.rainbow-hero-inner{position:relative;min-height:520px;padding-top:105px;padding-bottom:105px}
.rainbow-hero h1{max-width:780px;margin:16px 0 22px}
.rainbow-hero p{max-width:570px;color:#5d7062;font-size:1.12rem;line-height:1.85}
.rainbow-hero .button{margin-top:18px;background:#fffcf5}
.rainbow-arch{position:absolute;right:-130px;bottom:-210px;width:550px;height:550px;border-radius:50%;background:radial-gradient(circle,transparent 54%,#c2d9cb 55%,#c2d9cb 58%,#f5d1ba 59%,#f5d1ba 62%,#f1dfb1 63%,#f1dfb1 66%,#cfdecd 67%,#cfdecd 70%,transparent 71%);opacity:.72;pointer-events:none}
.rainbow-arch span{position:absolute;left:40%;top:24%;font-family:Georgia,serif;font-size:4.5rem;color:#c8a68a}
.rainbow-intro{text-align:center;max-width:780px;padding:105px 0}
.rainbow-intro h2{margin:18px 0 24px}
.rainbow-intro p{color:var(--muted);font-size:1.06rem}
.rainbow-stories{background:#eaf0e7;padding:95px 0 115px}
.rainbow-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.rainbow-card{display:block;background:var(--paper);border:1px solid var(--line);border-radius:15px;overflow:hidden;transition:transform .2s,box-shadow .2s}
.rainbow-card:hover{transform:translateY(-4px);box-shadow:0 18px 38px #23453219}
.rainbow-card-image{height:225px;position:relative;background:#d9e7dc;display:grid;place-items:center;color:#8da78d;font-size:4rem;overflow:hidden}
.rainbow-card-image img{width:100%;height:100%}
.rainbow-card-backdrop{position:absolute;inset:0;object-fit:cover;filter:blur(18px) brightness(.78);transform:scale(1.12)}
.rainbow-card-photo{position:relative;object-fit:contain}
.rainbow-card-copy{padding:25px 27px 30px}
.rainbow-card-copy h3{margin:9px 0 11px}
.rainbow-card-copy p{min-height:72px;color:var(--muted);font-size:.91rem}
.rainbow-card-copy .text-link{font-size:.83rem}
.rainbow-empty{text-align:center;color:var(--muted)}
.rainbow-cta{text-align:center;padding:110px 0}
.rainbow-cta>span{font-size:2.3rem;color:#cda890}
.rainbow-cta h2{margin:12px 0}
.rainbow-cta p{color:var(--muted);margin-bottom:27px}
.rainbow-home-links{display:flex;gap:22px;flex-wrap:wrap}
.memorial-rainbow{padding:90px 0;text-align:center;background:radial-gradient(circle at 70% 0,#fff9ed,#eaf1e9)}
.memorial-rainbow h2{margin:14px 0 20px}
.memorial-rainbow p{max-width:570px;margin:0 auto 22px;color:var(--muted)}
@media(max-width:980px){.nav nav{display:none;position:absolute;left:0;right:0;top:78px;background:var(--cream);padding:20px 24px;border-bottom:1px solid var(--line);flex-direction:column;gap:15px}.nav nav.open{display:flex}.nav-actions .button{display:none}.menu{display:block}.rainbow-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.nav nav{top:68px}.rainbow-hero-inner{min-height:510px;padding-top:70px;padding-bottom:180px}.rainbow-hero h1{font-size:clamp(2.65rem,10vw,4.5rem)}.rainbow-hero p{font-size:1rem}.rainbow-arch{width:340px;height:340px;right:-95px;bottom:-160px}.rainbow-arch span{font-size:3rem}.rainbow-intro{padding:75px 0}.rainbow-stories{padding:75px 0}.rainbow-grid{grid-template-columns:1fr}.rainbow-cta{padding:75px 0}.rainbow-home-links{gap:10px}}
