.hero--celestial{min-height:850px;background:#021923;align-items:center}
.hero-celestial__sky{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center bottom;z-index:-2;pointer-events:none}
.hero--celestial::before{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(90deg,rgba(0,20,29,.78),rgba(1,26,36,.42) 48%,rgba(2,28,40,.08)),linear-gradient(0deg,rgba(0,16,25,.28),transparent 30%)}
.hero--celestial .hero__inner{max-width:690px;padding-block:48px 72px}
.hero-celestial__logo{display:block;width:220px;height:auto;margin-bottom:26px}
.hero--celestial h1{font-size:clamp(42px,4.6vw,68px);line-height:1.08;letter-spacing:-.035em;margin:0 0 22px;font-weight:800;text-wrap:balance}
.hero--celestial h1 span{color:var(--c-gold-1)}
.hero-celestial__location{color:var(--c-gold-2);font-size:clamp(15px,1.6vw,20px);letter-spacing:.09em;text-transform:uppercase;font-weight:700;margin-bottom:18px}
.hero--celestial .hero__lead{font-size:clamp(17px,1.65vw,21px);line-height:1.65;color:#e0e9ed;max-width:52ch;margin-bottom:28px}
.hero-celestial__features{display:flex;list-style:none;gap:0;padding:0;margin:0 0 30px;align-items:center;color:#eaf3f7}
.hero-celestial__features li{display:flex;align-items:center;gap:12px;padding:0 21px;line-height:1.4;font-size:14px;border-left:1px solid #edc88e45}
.hero-celestial__features li:first-child{padding-left:0;border:0}
.hero-celestial__features svg{width:34px;height:34px;flex-shrink:0;color:#eac181}
.hero--celestial .btn--lg{font-size:14px;padding:18px 24px;min-height:56px}
.hero-celestial__process{display:inline-block;color:#d7e7ed;font-size:14px;margin-top:18px;text-decoration:underline;text-underline-offset:4px}
.hero--celestial .hero-hint{color:#e7c690;margin-top:24px;max-width:540px}
.hero--celestial .pet-star::before{background:#fff0ce;box-shadow:0 0 7px 2px #fff8,0 0 22px 6px #ffc57360}
.hero--celestial .pet-star::after{content:'';position:absolute;inset:12px;background:#ffdda3;clip-path:polygon(50% 0,60% 39%,100% 50%,60% 61%,50% 100%,40% 61%,0 50%,40% 39%);pointer-events:none;opacity:.85}
.hero--celestial .pet-star:hover::after,.hero--celestial .pet-star:focus-visible::after{filter:brightness(1.3)}
.hero--celestial .constel .cstar{opacity:.8;fill:#f5d4a0}
@media(max-width:991px){
 .hero--celestial{min-height:0}
 .hero--celestial .hero__inner{max-width:690px;padding-block:30px 44px}
 .hero-celestial__logo{width:180px;margin-bottom:24px}
 .hero--celestial h1{font-size:clamp(36px,6.4vw,60px)}
 .hero-celestial__sky{object-position:65% bottom}
 .hero--celestial::before{background:linear-gradient(90deg,#00141cba,#001b26a6),linear-gradient(0deg,#00182155,transparent)}
}
@media(max-width:600px){
 .hero-celestial__features li{padding:0 10px;gap:7px;font-size:11px}
 .hero-celestial__features svg{width:24px;height:24px}
 .hero--celestial .btn-row{flex-direction:column;align-items:stretch}
 .hero--celestial .btn{font-size:14px}
 .hero--celestial .hero__lead{font-size:17px;line-height:1.6}
 .hero-celestial__location{font-size:13px;letter-spacing:.06em}
}

.hero-celestial__logo{filter:brightness(0) invert(1);opacity:.95}
@media(min-width:992px){.hero--celestial .hero__inner{max-width:620px}}
/* Independent, slow twinkles. The hit area stays still and usable. */
.hero--celestial .pet-star::before{inset:calc(50% - 2px);animation:soft-pet-glow var(--star-duration,7s) ease-in-out var(--delay,0s) infinite;transition:filter .6s}
.hero--celestial .pet-star::after{inset:calc(50% - var(--star-size,14px)/2);animation:soft-pet-rays var(--star-duration,7s) ease-in-out var(--delay,0s) infinite;transition:filter .6s}
.hero--celestial .pet-star:hover::before,.hero--celestial .pet-star:focus-visible::before,.hero--celestial .pet-star:hover::after,.hero--celestial .pet-star:focus-visible::after{filter:brightness(1.45)}
@keyframes soft-pet-glow{0%,100%{opacity:.12;transform:scale(.65)}50%{opacity:.95;transform:scale(1.15)}}
@keyframes soft-pet-rays{0%,100%{opacity:.15;transform:scale(.72)}50%{opacity:.95;transform:scale(1)}}
.hero--celestial .constel .cstar{fill:#ffe0ac;filter:drop-shadow(0 0 3px #ffd08daa);animation:constellation-shimmer var(--spark-duration,7s) ease-in-out var(--spark-delay,0s) infinite;transform-box:fill-box;transform-origin:center;pointer-events:none}
@keyframes constellation-shimmer{0%,100%{opacity:.24;transform:scale(.8) rotate(-6deg)}50%{opacity:1;transform:scale(1.18) rotate(6deg)}}
@media(max-width:991px){.hero--celestial .pet-sky{grid-template-columns:repeat(auto-fit,minmax(46px,1fr));row-gap:16px;padding-top:8px}.hero--celestial .pet-star{translate:0 var(--star-offset,0px)}}
@media(prefers-reduced-motion:reduce){.hero--celestial .pet-star::before,.hero--celestial .pet-star::after,.hero--celestial .constel .cstar{animation:none;opacity:.85}}
/* Reserve the landscape below the sky; overlays never extend into the terrain. */
.hero--celestial{min-height:1000px}
.hero--celestial .hero-constellations{height:var(--sky-limit,80%);bottom:auto}
@media(max-width:991px){.hero--celestial{min-height:0;padding-bottom:var(--ground-space,330px)}.hero--celestial .hero-celestial__sky{object-position:65% bottom}}
@media(max-width:991px){
 .hero--celestial .constel-strip{max-width:470px;margin:22px auto 0}
 .hero--celestial .constel-strip__cap{font-size:11px;letter-spacing:.08em;margin:0 0 18px}
 .hero--celestial .pet-sky{display:block;max-width:620px;margin:0 auto;padding:0;flex-shrink:0}
 .hero--celestial .pet-star{position:absolute;left:var(--mobile-x) !important;top:var(--mobile-y) !important;translate:none;transform:translate(-50%,-50%)}
 .hero--celestial .pet-star-card{width:280px;padding:14px;box-shadow:0 12px 36px #00182066}
 .hero--celestial .pet-star-card strong{font-size:16px}
 .hero--celestial .pet-star-card span{font-size:12px}
}
/* Keep the mobile memorial sky above the photograph of the animals. */
@media(max-width:991px){
 .hero--celestial{background:linear-gradient(155deg,#2f6482 0%,#4d88a3 62%,#7aa7b6 100%)}
 .hero--celestial .hero-celestial__sky{top:auto;bottom:0;height:auto;aspect-ratio:1672/941;object-fit:contain;object-position:center bottom;mask-image:linear-gradient(transparent,#000 24%)}
 .hero--celestial::before{background:linear-gradient(90deg,rgba(12,48,68,.28),rgba(35,83,108,.12) 52%,rgba(68,110,126,.04)),linear-gradient(0deg,rgba(12,48,68,.16),transparent 34%)}
}

/* Service-first heading, with the brand message as a supporting line. */
.hero--celestial .hero-celestial__slogan{font-size:clamp(20px,2vw,28px);font-weight:600;line-height:1.35;margin:0 0 20px;color:#fff;text-wrap:balance}
.hero-celestial__slogan span{color:var(--c-gold-1)}
.hero--celestial h1.hero-celestial__service{font-size:clamp(36px,3.9vw,56px);line-height:1.1;color:var(--c-gold-2);margin:0 0 24px;letter-spacing:-.025em}
.hero--celestial .hero-celestial__question{font-size:clamp(19px,1.8vw,24px);font-weight:600;line-height:1.45;color:#fff;margin:0 0 12px}
.hero-celestial__question a{color:inherit;text-decoration:underline;text-underline-offset:4px}
.hero--celestial .hero-celestial__features{margin:26px 0 0}
@media(max-width:767px){
 .hero--celestial .hero-celestial__slogan{font-size:20px;margin-bottom:16px}
 .hero--celestial h1.hero-celestial__service{font-size:clamp(28px,7.5vw,32px);margin-bottom:20px}
 .hero--celestial .hero-celestial__question{font-size:19px}
 .hero--celestial .btn-row{display:flex;flex-direction:column;align-items:stretch;gap:12px}
 .hero--celestial .btn-row .hero-cremacao-cta{order:1}
 .hero--celestial .btn-row .btn:nth-child(1){order:2}
 .hero--celestial .btn-row .btn:nth-child(3){order:3}
 .hero--celestial .btn-row .btn{width:100%;grid-column:auto;min-height:52px}
 .hero--celestial .btn-row .btn--ghost{background:linear-gradient(110deg,#ffbc7d,#e9b04f);border:0;color:#49300f;box-shadow:0 8px 24px #b8812440}
}
