@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600&display=swap');
:root{--bg:#0e1425;--panel:#151d30;--cream:#f4eee4;--muted:#ffffff;--gold:#dfc399;--line:rgba(235,225,210,.16);--serif:Georgia,'Times New Roman',serif;--sans:'DM Sans',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--bg);color:var(--cream);font-family:var(--sans);line-height:1.7}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea,summary{-webkit-tap-highlight-color:transparent}:focus-visible{outline:2px solid var(--gold);outline-offset:5px}img{max-width:100%;display:block}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:400;line-height:1.12}h1,h2{font-family:var(--serif);letter-spacing:-.045em}em{font-weight:400;color:var(--gold)}h1{font-size:clamp(3.2rem,5.7vw,6.2rem)}h2{font-size:clamp(2.4rem,4vw,4.4rem)}h3{font-size:1.4rem}p{color:var(--muted)}.section{max-width:1240px;margin:auto;padding:110px 50px}.eyebrow{font-size:0.82rem;font-weight:600;letter-spacing:.21em;color:var(--gold);margin-bottom:25px}.site-header{position:absolute;inset:0 0 auto;z-index:10;display:flex;align-items:center;justify-content:space-between;padding:27px max(5%,calc((100vw - 1140px)/2));gap:25px;border-bottom:1px solid var(--line)}.brand{display:flex;gap:12px;align-items:center;line-height:1.2;flex-shrink:0}.brand img{width:46px;height:46px;border-radius:50%;object-fit:cover}.brand b{font-family:var(--serif);font-style:italic;font-size:2rem;color:var(--gold)}.brand span span{display:block;font-size:0.84rem;letter-spacing:.08em}.site-header nav{display:flex;gap:32px;font-size:0.95rem}.site-header nav a{color:var(--muted);padding:8px 0}.site-header nav a:hover,.site-header nav a[aria-current]{color:var(--gold)}.language{border:1px solid var(--line);border-radius:30px;font-size:0.87rem;padding:8px 15px}.menu-button{display:none}.hero{min-height:800px;height:95vh;max-height:1050px;position:relative;isolation:isolate;overflow:hidden;display:flex;align-items:center;background:radial-gradient(ellipse at 76% 38%,#34415970,transparent 39%),linear-gradient(135deg,#111526,#101b2f 65%,#182b3c)}.hero-copy{width:min(1240px,100%);margin:auto;padding:150px 50px 120px;position:relative;z-index:2;pointer-events:none}.hero-copy>*{max-width:650px;pointer-events:auto}.hero-copy h1{max-width:720px}.hero-lead{max-width:500px;line-height:1.8;font-size:1.05rem;margin-top:30px}.hero-actions{display:flex;gap:28px;align-items:center;margin-top:38px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:24px;padding:15px 25px;border-radius:40px;font-size:0.96rem;font-weight:600;cursor:pointer;transition:transform .2s,background .2s;border:1px solid transparent}.button:hover{transform:translateY(-3px)}.primary{background:var(--gold);color:#171e2a}.outline{border-color:var(--line);color:var(--cream);background:transparent}.outline:hover{background:#ffffff0a}.text-link{font-size:0.92rem;border-bottom:1px solid var(--line);padding-bottom:4px}.hero-bottom{position:absolute;bottom:35px;left:50%;transform:translateX(-50%);width:min(1140px,90%);display:flex;justify-content:space-between;border-top:1px solid var(--line);padding-top:22px;font-size:0.82rem;letter-spacing:.07em;color:var(--muted);z-index:2}.sky{position:absolute;inset:0;z-index:0;pointer-events:none}.stars{position:absolute;inset:0;background-image:radial-gradient(1px 1px at 10% 21%,#f6e9d9 90%,transparent),radial-gradient(1px 1px at 25% 15%,#fff 90%,transparent),radial-gradient(2px 2px at 50% 19%,#f9e7c1 60%,transparent),radial-gradient(1px 1px at 70% 28%,#fff 90%,transparent),radial-gradient(1px 1px at 80% 12%,#fff 90%,transparent),radial-gradient(1.5px 1.5px at 93% 50%,#fff 90%,transparent),radial-gradient(1px 1px at 61% 61%,#fff 90%,transparent),radial-gradient(1px 1px at 33% 48%,#fff 90%,transparent);background-size:490px 390px;opacity:.5;animation:twinkle 7s ease-in-out infinite alternate}.moon{position:absolute;right:12%;top:25%;width:clamp(150px,19vw,290px);aspect-ratio:1;border-radius:50%;background:radial-gradient(circle at 35% 30%,#fff9e9,#e8dfca 50%,#c0bbae 90%);box-shadow:0 0 45px #e6d9b525,0 0 110px #ebdfc217,inset -20px -5px 25px #7e849530;overflow:hidden}.moon:before,.moon:after,.moon i{content:'';position:absolute;border-radius:50%;filter:blur(4px);background:#89897b27}.moon:before{width:38%;height:47%;left:18%;top:15%;transform:rotate(-23deg);box-shadow:45px 35px 12px #95958824,-10px 100px 10px #90908425}.moon:after{width:25%;height:25%;right:12%;bottom:18%;box-shadow:-25px -80px 12px #8e8d8527}.moon i{width:14%;height:14%;left:30%;bottom:15%}.horizon{position:absolute;left:-10%;right:-10%;height:250px;bottom:-130px;transform:rotate(-5deg);border-radius:50% 50% 0 0;background:linear-gradient(#273a4460,var(--bg));box-shadow:0 -1px 0 #a8b8b71b}.shooting{position:absolute;height:1px;width:120px;background:linear-gradient(90deg,transparent,#fff0cf);opacity:0;transform:rotate(-30deg)}.shooting-one{top:18%;left:65%;animation:shoot 15s 4s infinite}.shooting-two{top:29%;left:40%;animation:shoot 23s 11s infinite}@keyframes shoot{0%,89%{opacity:0;transform:translate(0,0) rotate(-30deg)}90%{opacity:.8}95%{opacity:0;transform:translate(-360px,210px) rotate(-30deg)}100%{opacity:0;transform:translate(-360px,210px) rotate(-30deg)}}@keyframes twinkle{to{opacity:.85}}.intro{text-align:center;padding-top:120px;padding-bottom:125px}.intro p:last-child{max-width:660px;margin:30px auto 0}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:70px;margin-bottom:45px}.section-heading>p{max-width:330px;font-size:1rem}.cards{display:grid;grid-template-columns:1fr 1fr;gap:25px}.therapy-card{padding:40px;border:1px solid var(--line);border-radius:20px;position:relative;overflow:hidden;transition:transform .25s,border-color .25s}.therapy-card:hover{transform:translateY(-6px);border-color:var(--gold)}.lilac{background:radial-gradient(ellipse at 100% 0,#4f3a6040,transparent 70%),#1a1d30}.sage{background:radial-gradient(ellipse at 100% 0,#446d5540,transparent 70%),#152729}.card-index{font-size:0.77rem;letter-spacing:.16em;color:var(--muted)}.card-symbol{display:block;font-size:4.3rem;color:var(--gold);line-height:1.3;margin:25px 0 10px}.therapy-card h3{font-family:var(--serif);font-size:2.6rem;margin-bottom:20px}.therapy-card>p{font-size:1rem;min-height:100px}.tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:25px}.tags span{font-size:0.76rem;border:1px solid var(--line);border-radius:30px;padding:5px 12px}.card-link{display:flex;justify-content:space-between;margin-top:45px;padding-top:20px;border-top:1px solid var(--line);font-size:0.92rem}.card-link b{font-size:1.3rem;font-weight:400}.experience{text-align:center}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:45px;margin-top:65px;text-align:left}.steps article{border-top:1px solid var(--line);padding-top:22px}.steps article>span{color:var(--gold);font-size:0.82rem}.steps h3{margin:18px 0 12px}.steps p{font-size:1rem}.music{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.music p:not(.eyebrow){margin:25px 0}.music small{display:block;color:var(--muted);font-size:0.84rem;margin-top:18px}.sound-art{height:330px;position:relative;display:grid;place-items:center;background:radial-gradient(circle,#70617b25,transparent 65%)}.sound-art>span{font-size:5rem;color:var(--gold);font-family:var(--serif);z-index:1}.sound-ring{width:220px;aspect-ratio:1;border:1px solid #dfc39940;position:absolute;border-radius:50%}.ring-two{width:310px;border-color:#dfc39917}.local{text-align:center}.local>p:not(.eyebrow){max-width:650px;margin:30px auto}.local-nav{display:flex;justify-content:center;gap:30px;font-size:0.92rem;color:var(--gold);flex-wrap:wrap}.faq{display:grid;grid-template-columns:1fr 1.3fr;gap:70px;border-top:1px solid var(--line)}.faq h2{font-size:3rem}details{border-bottom:1px solid var(--line)}summary{padding:24px 0;list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:15px;font-size:1rem}summary::-webkit-details-marker{display:none}summary span{color:var(--gold)}details[open] summary span{transform:rotate(45deg)}details p{padding:0 20px 25px 0;font-size:1rem}.contact{display:grid;grid-template-columns:1fr 1fr;gap:100px;background:radial-gradient(ellipse at 0 50%,#70617b1a,transparent 60%);border-top:1px solid var(--line)}.contact>div>p:not(.eyebrow){margin:25px 0}.contact-details{display:flex;flex-direction:column;gap:10px;margin-top:35px;font-size:0.97rem;color:var(--muted)}.contact-details a:hover{color:var(--gold)}form{padding:32px;background:var(--panel);border:1px solid var(--line);border-radius:18px}label{display:block;font-size:0.87rem;color:var(--muted);margin-bottom:17px}input,textarea,select{display:block;width:100%;padding:12px 14px;border:1px solid var(--line);border-radius:8px;background:#0e1425;color:var(--cream);margin-top:7px}textarea{resize:vertical}.consent{display:flex;gap:10px;align-items:flex-start;font-size:0.82rem}.consent input{width:16px;height:16px;margin:4px 0 0;flex-shrink:0;accent-color:var(--gold)}form small{display:block;font-size:0.8rem;color:var(--muted);margin-top:16px}form .button{width:100%}.form-status{font-size:0.92rem;margin-top:15px}.form-status:empty{display:none}footer{display:flex;align-items:center;justify-content:space-between;gap:25px;padding:40px max(5%,calc((100vw - 1140px)/2));border-top:1px solid var(--line);margin-bottom:30px}footer p{font-size:0.82rem}.whatsapp-float{position:fixed;bottom:20px;right:22px;z-index:15;padding:11px 18px;border:1px solid #a5bda43a;border-radius:30px;color:#d3e9d2;background:#20382ee6;backdrop-filter:blur(10px);font-size:0.87rem}.detail-hero{height:85vh;min-height:690px}.detail-hero h1{font-size:clamp(2.8rem,4.6vw,5rem);max-width:720px}.detail-content{display:grid;grid-template-columns:1.2fr 1fr;gap:100px;align-items:center}.detail-copy p:not(.eyebrow){margin-top:25px}.detail-copy .button{margin-top:30px}.poster{max-width:350px;justify-self:center;display:block;transition:transform .3s}.poster:hover{transform:translateY(-5px)}.poster img{height:auto;border-radius:15px}.poster span{display:block;color:var(--gold);font-size:0.87rem;margin-top:15px}.benefits{text-align:center;border-top:1px solid var(--line)}.benefit-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:25px;margin-top:55px}.benefit-grid article{padding:25px 15px}.benefit-grid article>span{font-size:2.4rem;color:var(--gold)}.benefit-grid h3{font-size:1.1rem;margin:20px 0 15px}.benefit-grid p{font-size:0.97rem}.care-note{font-size:0.87rem;max-width:750px;margin:35px auto 0}.detail-quote{text-align:center;background:radial-gradient(ellipse,#7762861a,transparent 65%)}.skip-link{position:fixed;top:-100px;left:20px;background:var(--gold);color:var(--bg);padding:12px;z-index:100}.skip-link:focus{top:15px}
@media(min-width:1600px){.hero-copy{padding-left:50px}.moon{right:17%}}
@media(max-width:1000px){.section{padding:80px 30px}.hero-copy{padding-left:35px;padding-right:35px}.hero-copy h1{max-width:590px}.moon{right:6%;top:26%;opacity:.65}.hero-lead{max-width:450px}.contact,.detail-content{gap:45px}.site-header{padding:25px 30px}.site-header nav{gap:22px}.faq{gap:40px}.benefit-grid{grid-template-columns:repeat(2,1fr)}.music{gap:35px}.therapy-card{padding:30px}.therapy-card>p{min-height:130px}}
@media(max-width:700px){.section{padding:65px 22px}.site-header{padding:18px 22px;gap:15px}.brand img{width:38px;height:38px}.brand b{font-size:1.8rem}.brand span span{font-size:0.72rem}.menu-button{display:block;margin-left:auto;border:1px solid var(--line);color:var(--cream);background:transparent;border-radius:50%;width:38px;height:38px;cursor:pointer;font-size:1rem}.site-header nav{display:none;position:absolute;top:85px;left:15px;right:15px;flex-direction:column;padding:20px 25px;background:#151d30fa;border:1px solid var(--line);border-radius:15px;box-shadow:0 20px 40px #0004;gap:5px}.site-header nav.is-open{display:flex}.language{padding:7px 12px;font-size:0.82rem}.hero{height:auto;min-height:870px;align-items:flex-start}.hero-copy{padding:355px 22px 125px}.hero-copy h1{font-size:3.6rem;max-width:100%}.hero-lead{font-size:1rem;margin-top:22px;max-width:100%}.hero-actions{flex-wrap:wrap;gap:20px;margin-top:25px}.moon{top:126px;right:calc(50% - 77px);width:154px;opacity:1}.hero-bottom{font-size:0.71rem;bottom:25px;gap:15px}.eyebrow{font-size:0.74rem;letter-spacing:.16em;margin-bottom:20px}.hero .eyebrow{font-size:0.7rem}h2{font-size:2.6rem}.intro p:last-child{font-size:1rem}.section-heading{display:block;margin-bottom:30px}.section-heading>p{margin-top:25px;max-width:100%}.cards{grid-template-columns:1fr}.therapy-card>p{min-height:0}.therapy-card h3{font-size:2.4rem}.card-symbol{margin-top:20px;font-size:3.5rem}.steps{grid-template-columns:1fr;gap:25px;margin-top:40px}.steps article{display:grid;grid-template-columns:30px 1fr;column-gap:15px}.steps h3{margin:0 0 10px}.steps p{grid-column:2}.music{grid-template-columns:1fr;gap:30px}.sound-art{height:230px}.sound-ring{width:155px}.ring-two{width:220px}.sound-art>span{font-size:3.5rem}.faq,.contact,.detail-content{grid-template-columns:1fr;gap:35px}.faq h2{font-size:2.6rem}form{padding:24px}.local-nav{gap:15px}.contact-details{font-size:0.92rem}footer{flex-direction:column;align-items:flex-start;padding:30px 22px 60px;gap:20px}.whatsapp-float{font-size:0.82rem;right:15px;bottom:15px}.detail-hero{min-height:880px}.detail-hero h1{font-size:3rem}.detail-content{gap:45px}.poster{max-width:270px}.benefit-grid{gap:12px;margin-top:30px}.benefit-grid article{padding:15px 5px}.benefit-grid h3{font-size:1rem}.benefit-grid p{font-size:0.9rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.shooting{display:none}}

.session-image{width:100%;height:460px;border-radius:180px 180px 24px 24px;background-size:240% auto;background-position:right 32%;box-shadow:0 0 80px #dfc3990a;border:1px solid var(--line)}@media(max-width:700px){.session-image{max-width:320px;height:420px;justify-self:center}}

.button:disabled{opacity:.5;cursor:not-allowed;transform:none}.button:disabled:hover{transform:none}

footer{flex-wrap:wrap}.footer-legal{display:flex;flex-wrap:wrap;gap:25px;width:100%;border-top:1px solid var(--line);padding-top:22px;font-size:0.87rem;color:var(--muted)}.footer-legal a:hover{color:var(--gold)}.legal-page .site-header{position:relative}.legal-content{max-width:940px;padding-top:70px}.legal-content h1{font-size:clamp(2.8rem,5vw,4.6rem)}.legal-intro{font-size:1.1rem;margin-top:25px}.legal-content>section{margin-top:42px}.legal-content h2{font-family:var(--sans);font-size:1.25rem;letter-spacing:0;line-height:1.5;margin-bottom:15px}.legal-content p{line-height:1.85}.legal-content p a{color:var(--gold);text-decoration:underline;text-underline-offset:3px}.legal-updated{margin:45px 0 25px;font-size:0.87rem}@media(max-width:700px){.legal-content{padding-top:45px}.footer-legal{gap:20px}.legal-content h1{font-size:2.8rem}}

/* Star field across the whole page, behind the content. */
body {
  background-color: var(--bg);
  background-image:
    radial-gradient(circle at 31px 43px, rgba(255, 247, 226, .55) 0 .8px, transparent 1.6px),
    radial-gradient(circle at 139px 117px, rgba(218, 229, 255, .4) 0 .7px, transparent 1.4px),
    radial-gradient(circle at 251px 209px, rgba(255, 255, 255, .45) 0 .9px, transparent 1.7px),
    radial-gradient(circle at 73px 281px, rgba(223, 195, 153, .38) 0 1px, transparent 2px),
    radial-gradient(circle at 347px 67px, rgba(255, 255, 255, .3) 0 .6px, transparent 1.4px),
    radial-gradient(circle at 193px 359px, rgba(218, 229, 255, .28) 0 .7px, transparent 1.5px),
    radial-gradient(circle at 419px 313px, rgba(255, 247, 226, .4) 0 1px, transparent 2px),
    radial-gradient(circle at 107px 173px, rgba(255, 255, 255, .22) 0 .6px, transparent 1.3px);
  background-size: 431px 397px, 563px 479px, 619px 541px, 487px 617px,
                   701px 443px, 577px 683px, 733px 593px, 389px 521px;
  background-repeat: repeat;
}

/* Each star layer completes one seamless, slow drift through its repeating tile. */
body {
  animation: body-star-drift 60s linear infinite;
}
@keyframes body-star-drift {
  from {
    background-position: 0 0, 0 0, 0 0, 0 0, 0 0, 0 0, 0 0, 0 0;
  }
  to {
    background-position: 431px 397px, -563px 479px, 619px 541px, -487px 617px,
                         701px 443px, -577px 683px, 733px 593px, -389px 521px;
  }
}
@media (prefers-reduced-motion: reduce) {
  body { animation: none; }
}

/* Decorative sound animation in the music section. */
.sound-bars {
  position: absolute;
  top: calc(50% + 48px);
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
  height: 30px;
  z-index: 1;
}
.sound-bars i {
  display: block;
  width: 4px;
  height: 28px;
  border-radius: 4px;
  background: var(--gold);
  opacity: .8;
  transform: scaleY(.35);
  animation: sound-level 1.4s ease-in-out infinite alternate;
}
.sound-bars i:nth-child(2n) { animation-duration: 1.1s; animation-delay: -.6s; }
.sound-bars i:nth-child(3n) { animation-duration: 1.7s; animation-delay: -.9s; }
.sound-bars i:nth-child(4n) { animation-duration: .95s; animation-delay: -.3s; }
.sound-bars i:nth-child(5) { animation-delay: -1.2s; }
.sound-art .sound-ring { animation: sound-ripple 3.2s ease-in-out infinite; }
.sound-art .ring-two { animation-delay: -1.6s; }
@keyframes sound-level {
  0% { transform: scaleY(.2); opacity: .45; }
  45% { transform: scaleY(.6); opacity: .75; }
  100% { transform: scaleY(1); opacity: 1; }
}
@keyframes sound-ripple {
  0%, 100% { transform: scale(.96); opacity: .45; }
  50% { transform: scale(1.06); opacity: 1; }
}
@media (prefers-reduced-motion: reduce) {
  .sound-bars i, .sound-art .sound-ring { animation: none; }
}

/* Justify longer explanatory copy when there is enough space. */
@media (min-width: 701px) {
  .intro > p:last-child,
  .section-heading > p,
  .therapy-card > p,
  .detail-copy > p:not(.eyebrow),
  .steps p,
  .music > div > p:not(.eyebrow),
  .local > p:not(.eyebrow),
  .faq details p,
  .contact > div > p:not(.eyebrow),
  .legal-content > section > p {
    text-align: justify;
    text-align-last: left;
    hyphens: auto;
    overflow-wrap: break-word;
  }
}

/* Night lake backdrop inspired by the supplied brand image. */
.hero {
  background: #071320;
}
.hero-landscape {
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background: #071320 url('hero-lago-nocturno.png') center / 100% 100% no-repeat;
}
.hero-landscape::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(5, 12, 24, .55), rgba(5, 12, 24, .18) 50%, transparent 78%),
              linear-gradient(0deg, var(--bg), transparent 12%);
}
.hero-water {
  position: absolute;
  inset: 64% 0 0;
  overflow: hidden;
  filter: url('#hero-water-distortion');
  mask-image: linear-gradient(to bottom, transparent, #000 15%, #000 90%, transparent);
  -webkit-mask-image: linear-gradient(to bottom, transparent, #000 15%, #000 90%, transparent);
}
.hero-water img {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 277.777778%;
  max-width: none;
  object-fit: fill;
}
.hero .sky { z-index: 1; }
.hero .stars {
  bottom: 36%;
  opacity: .5;
  animation: twinkle 7s ease-in-out infinite alternate,
             hero-star-drift 35s linear infinite;
}
.hero .horizon { display: none; }
.hero-water-filter { position: absolute; width: 0; height: 0; overflow: hidden; }
@keyframes hero-star-drift {
  from { background-position: 0 0; }
  to { background-position: 490px 390px; }
}
@media (max-width: 700px) {
  .hero-landscape { background-size: auto 100%; background-position: 76% center; }
  .hero-water img { object-fit: cover; object-position: 76% center; }
  .hero-landscape::after {
    background: linear-gradient(0deg, var(--bg), rgba(5, 12, 24, .6) 24%, rgba(5, 12, 24, .25) 62%, transparent 85%);
  }
}
@media (prefers-reduced-motion: reduce) {
  .hero .stars { animation: none; }
  .hero-water { filter: none; }
}

/* More noticeable star movement and occasional meteors with staggered paths. */
.hero .stars { opacity: .75; }
.hero .shooting {
  width: clamp(80px, 11vw, 155px);
  height: 2px;
  border-radius: 50%;
  box-shadow: 0 0 7px rgba(255, 240, 202, .25);
  transform: rotate(28deg);
}
.hero .shooting-one { top: 9%; left: 8%; animation: meteor-pass 13s -10s linear infinite; }
.hero .shooting-two { top: 19%; left: 45%; animation: meteor-pass 19s -12s linear infinite; }
.hero .shooting-three { top: 7%; left: 62%; animation: meteor-pass 23s -13s linear infinite; }
.hero .shooting-four { top: 31%; left: 12%; animation: meteor-pass 29s -17s linear infinite; }
.hero .shooting-five { top: 14%; left: 28%; animation: meteor-pass 31s -26s linear infinite; }
@keyframes meteor-pass {
  0% { opacity: 0; transform: translate(0, 0) rotate(28deg); }
  1% { opacity: .9; }
  6% { opacity: .75; }
  9%, 100% { opacity: 0; transform: translate(min(40vw, 460px), 220px) rotate(28deg); }
}
@media (prefers-reduced-motion: reduce) {
  .hero .shooting { display: none; }
}

/* Photorealistic lunar texture, with subtle motion and a breathing halo. */
.hero .moon {
  background: transparent url('moon-realista.png') center / contain no-repeat;
  box-shadow: none;
  overflow: visible;
  opacity: .96;
  filter: drop-shadow(0 0 18px rgba(238, 226, 195, .22))
          drop-shadow(0 0 48px rgba(225, 222, 205, .12));
  animation: moon-float 18s ease-in-out infinite,
             moon-halo 10s ease-in-out infinite alternate;
}
.hero .moon::before,
.hero .moon::after,
.hero .moon i {
  display: none;
}
@keyframes moon-float {
  0%, 100% { transform: translateY(0) rotate(-.6deg); }
  50% { transform: translateY(-10px) rotate(.6deg); }
}
@keyframes moon-halo {
  from {
    filter: drop-shadow(0 0 15px rgba(238, 226, 195, .18))
            drop-shadow(0 0 42px rgba(225, 222, 205, .1));
  }
  to {
    filter: drop-shadow(0 0 24px rgba(238, 226, 195, .3))
            drop-shadow(0 0 66px rgba(225, 222, 205, .18));
  }
}
@media (prefers-reduced-motion: reduce) {
  .hero .moon { animation: none; }
}

/* One lunar turn per hour; blend stars naturally into the horizon. */
.hero .moon {
  animation: moon-rotation 3600s linear infinite,
             moon-halo 10s ease-in-out infinite alternate;
}
@keyframes moon-rotation {
  from { transform: rotate(0deg); }
  to { transform: rotate(360deg); }
}
.hero .stars {
  bottom: 0;
  mask-image: linear-gradient(to bottom, #000 0%, #000 48%, rgba(0, 0, 0, .8) 56%, transparent 66%);
  -webkit-mask-image: linear-gradient(to bottom, #000 0%, #000 48%, rgba(0, 0, 0, .8) 56%, transparent 66%);
}
@media (prefers-reduced-motion: reduce) {
  .hero .moon, .hero .stars { animation: none; }
}
