/* Living tranquility window: an interactive sanctuary layer over the existing hero artwork. */
.hero-sanctuary{
  position:relative!important;
  min-height:clamp(430px,55vw,680px)!important;
  overflow:hidden!important;
  isolation:isolate;
  cursor:pointer;
  background-image:
    linear-gradient(180deg, rgba(6,22,17,.18), rgba(255,251,236,.10) 38%, rgba(8,32,24,.22)),
    url('assets/fairy-wellness-tree-world-v3.png')!important;
  background-size:cover!important;
  background-position:center!important;
}
.hero-sanctuary::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
  background:
    radial-gradient(circle at var(--glow-x, 68%) var(--glow-y, 24%), rgba(255,226,145,.34), transparent 11rem),
    radial-gradient(circle at 18% 82%, rgba(159,209,186,.22), transparent 12rem),
    linear-gradient(180deg, rgba(17,31,30,.10), rgba(255,252,241,.18) 45%, rgba(15,45,35,.12));
  mix-blend-mode:soft-light;
  animation:mrc-window-breathe 11s ease-in-out infinite;
}
.hero-sanctuary::after{
  content:"";
  position:absolute;
  inset:-8%;
  z-index:2;
  pointer-events:none;
  background:
    radial-gradient(circle at 28% 24%, rgba(255,255,255,.55) 0 1px, transparent 2px),
    radial-gradient(circle at 72% 16%, rgba(255,255,255,.46) 0 1px, transparent 2px),
    radial-gradient(circle at 82% 42%, rgba(255,245,189,.32) 0 1px, transparent 2px),
    radial-gradient(circle at 15% 63%, rgba(232,255,222,.30) 0 1px, transparent 2px);
  background-size:170px 160px, 220px 210px, 190px 180px, 260px 240px;
  opacity:.55;
  animation:mrc-star-drift 38s linear infinite;
}
.living-sky-orb{
  position:absolute;
  z-index:3;
  width:clamp(46px,6.5vw,88px);
  aspect-ratio:1;
  border-radius:50%;
  left:12%;
  top:12%;
  pointer-events:none;
  background:radial-gradient(circle at 35% 35%, rgba(255,251,220,.92), rgba(242,186,72,.62) 48%, rgba(242,186,72,0) 72%);
  box-shadow:0 0 58px rgba(255,217,126,.38), 0 0 120px rgba(255,217,126,.16);
  filter:blur(.15px) saturate(.96);
  mix-blend-mode:screen;
  opacity:.88;
  animation:mrc-sun-moon-cycle 46s ease-in-out infinite;
}
.living-sky-orb::after{
  content:"";
  position:absolute;
  inset:8%;
  border-radius:50%;
  background:radial-gradient(circle at 60% 38%, rgba(255,255,255,.95), #dce8ef 62%, rgba(220,232,239,0) 68%);
  opacity:0;
  filter:blur(.7px);
  animation:mrc-moon-face 46s ease-in-out infinite;
}
.living-window-ripple{
  position:absolute;
  z-index:4;
  width:18rem;
  aspect-ratio:1;
  left:50%;
  bottom:3%;
  translate:-50% 0;
  border-radius:50%;
  border:1px solid rgba(255,255,255,.28);
  box-shadow:0 0 0 1rem rgba(255,255,255,.04), 0 0 0 2.2rem rgba(176,214,179,.05);
  opacity:.8;
  pointer-events:none;
  transform:scaleX(1.8) scaleY(.32);
  animation:mrc-ripple 7s ease-in-out infinite;
}
.living-firefly{
  position:absolute;
  z-index:5;
  width:.55rem;
  height:.55rem;
  border-radius:50%;
  background:#fff0a3;
  box-shadow:0 0 14px 5px rgba(255,226,132,.50);
  pointer-events:none;
  opacity:.8;
  animation:mrc-firefly 13s ease-in-out infinite;
}
.living-firefly.f2{left:74%;top:30%;animation-delay:-4s;animation-duration:16s}
.living-firefly.f3{left:30%;top:62%;animation-delay:-8s;animation-duration:18s}
.living-firefly.f4{left:56%;top:18%;animation-delay:-10s;animation-duration:15s}
.living-window-prompt{
  position:absolute;
  z-index:6;
  left:1rem;
  right:1rem;
  bottom:1rem;
  max-width:30rem;
  background:rgba(255,252,241,.88);
  border:1px solid rgba(255,255,255,.55);
  border-radius:1.25rem;
  padding:.95rem 1rem;
  box-shadow:0 18px 55px rgba(16,38,26,.22);
  backdrop-filter:blur(10px);
}
.living-window-prompt small{
  display:block;
  text-transform:uppercase;
  letter-spacing:.18em;
  font-weight:900;
  color:#6f5d2c!important;
  margin-bottom:.25rem;
}
.living-window-prompt strong{
  display:block;
  color:#132319!important;
  font-size:1.08rem;
}
.living-window-prompt span{
  display:block;
  color:#263d2d!important;
  margin-top:.25rem;
}
.living-window-actions{
  display:flex;
  flex-wrap:wrap;
  gap:.45rem;
  margin-top:.65rem;
}
.living-window-actions button{
  border:1px solid rgba(63,103,77,.28);
  background:#fffaf0;
  border-radius:999px;
  padding:.45rem .7rem;
  font-weight:900;
  color:#17231d;
}
@keyframes mrc-window-breathe{
  0%,100%{opacity:.76;filter:saturate(1)}
  50%{opacity:1;filter:saturate(1.14)}
}
@keyframes mrc-star-drift{
  to{transform:translate3d(-80px,45px,0)}
}
@keyframes mrc-sun-moon-cycle{
  0%{left:9%;top:16%;background:radial-gradient(circle at 35% 35%, rgba(255,251,220,.95), rgba(242,186,72,.58) 50%, rgba(242,186,72,0) 72%);box-shadow:0 0 58px rgba(255,217,126,.38), 0 0 120px rgba(255,217,126,.16)}
  45%{left:74%;top:12%;background:radial-gradient(circle at 35% 35%, rgba(255,251,220,.95), rgba(242,186,72,.58) 50%, rgba(242,186,72,0) 72%);box-shadow:0 0 62px rgba(255,217,126,.42), 0 0 140px rgba(255,217,126,.18)}
  55%{left:76%;top:14%;background:radial-gradient(circle at 40% 40%, rgba(248,251,255,.90), rgba(204,220,232,.54) 56%, rgba(204,220,232,0) 74%);box-shadow:0 0 50px rgba(213,232,255,.34), 0 0 110px rgba(213,232,255,.13)}
  100%{left:9%;top:16%;background:radial-gradient(circle at 40% 40%, rgba(248,251,255,.90), rgba(204,220,232,.54) 56%, rgba(204,220,232,0) 74%);box-shadow:0 0 50px rgba(213,232,255,.32), 0 0 110px rgba(213,232,255,.12)}
}
@keyframes mrc-moon-face{
  0%,45%{opacity:0}
  55%,100%{opacity:.72}
}
@keyframes mrc-ripple{
  0%,100%{opacity:.28;transform:scaleX(1.45) scaleY(.22)}
  50%{opacity:.86;transform:scaleX(1.95) scaleY(.36)}
}
@keyframes mrc-firefly{
  0%,100%{transform:translate3d(0,0,0) scale(.7);opacity:.25}
  25%{transform:translate3d(4rem,-2rem,0) scale(1);opacity:.9}
  50%{transform:translate3d(7rem,2.5rem,0) scale(.8);opacity:.35}
  75%{transform:translate3d(2rem,4rem,0) scale(1.1);opacity:.85}
}
.crow-companion .crow-message{
  width:min(92vw,380px)!important;
}
.crow-companion{
  touch-action:none;
}
.crow-companion.crow-dragging{
  cursor:grabbing;
}
.crow-bird{
  transform-origin:center;
}
.crow-companion .crow-bird{background:#171b1c!important}
.crow-companion .crow-bird::before,.crow-companion .crow-wing{background:#252b2d!important}
.crow-bird:hover,
.crow-bird:focus-visible{
  transform:translateY(-8px) rotate(-5deg) scale(1.08)!important;
  filter:drop-shadow(0 16px 14px rgba(17,37,29,.34)) saturate(1.15)!important;
}
.crow-bird::after{
  content:"";
  position:absolute;
  left:4px;
  bottom:-9px;
  width:56px;
  height:14px;
  border-radius:50%;
  background:rgba(16,38,30,.20);
  filter:blur(5px);
}
.crow-affirmation-actions{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:.45rem;
  margin:.6rem 0;
}
.crow-affirmation-actions button{
  margin:0!important;
}
.crow-tool-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:.45rem;
  margin:.75rem 0;
}
.crow-tool-grid button{
  border:1px solid rgba(63,103,77,.30);
  border-radius:1rem;
  background:#fffaf0;
  color:#17231d;
  padding:.6rem;
  font-weight:900;
  text-align:left;
}
.crow-reflection-card{
  background:rgba(236,246,229,.82);
  border-radius:1rem;
  padding:.7rem;
  margin-top:.55rem;
  font-size:.94rem;
}
body.mrc-reduce-motion .hero-sanctuary::before,
body.mrc-reduce-motion .hero-sanctuary::after,
body.mrc-reduce-motion .living-sky-orb,
body.mrc-reduce-motion .living-sky-orb::after,
body.mrc-reduce-motion .living-window-ripple,
body.mrc-reduce-motion .living-firefly{
  animation:none!important;
}
.path-art-growing{
  background:
    linear-gradient(180deg, rgba(7,28,19,.08), rgba(7,28,19,.68)),
    radial-gradient(circle at 60% 14%, rgba(255,227,153,.23), transparent 14rem),
    url('assets/olive-wildflower-path.png') center/cover!important;
}
.path-art-growing::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  background:
    radial-gradient(circle at 22% 80%, rgba(166,217,155,.38), transparent 12rem),
    radial-gradient(circle at 82% 38%, rgba(225,195,98,.18), transparent 10rem);
  animation:mrc-path-bloom 12s ease-in-out infinite;
  pointer-events:none;
}
.path-art-growing em{
  z-index:4!important;
}
.growth-sprout{
  position:absolute;
  z-index:3;
  bottom:14%;
  width:5px;
  height:84px;
  border-radius:999px;
  background:linear-gradient(#9fd78b,#315c40);
  transform-origin:bottom;
  animation:mrc-sprout-sway 7s ease-in-out infinite;
}
.growth-sprout::before,
.growth-sprout::after{
  content:"";
  position:absolute;
  width:48px;
  height:24px;
  border-radius:70% 20% 70% 20%;
  background:rgba(178,221,151,.72);
  border:1px solid rgba(255,255,255,.28);
  top:20px;
}
.growth-sprout::before{right:4px;transform:rotate(-24deg)}
.growth-sprout::after{left:4px;transform:scaleX(-1) rotate(-24deg);top:42px}
.sprout-one{left:18%;animation-delay:-2s}
.sprout-two{right:18%;height:116px;animation-delay:-5s}
.living-dragonfly{
  z-index:5!important;
  animation:mrc-dragonfly-flight 13s ease-in-out infinite!important;
  filter:drop-shadow(0 8px 10px rgba(0,0,0,.28));
}
.living-dragonfly::before,
.living-dragonfly::after{
  background:linear-gradient(135deg, rgba(234,255,238,.42), rgba(141,203,181,.18))!important;
  border-color:rgba(35,73,57,.82)!important;
}
.nature-card::after{
  background:linear-gradient(180deg, rgba(3,14,10,.08) 0%, rgba(3,14,10,.50) 35%, rgba(3,14,10,.88) 100%)!important;
}
.nature-card div{
  background:rgba(7,30,22,.88)!important;
  border:1px solid rgba(255,245,199,.52)!important;
  box-shadow:0 18px 46px rgba(0,0,0,.30)!important;
}
.nature-card h3,
.nature-card p,
.nature-card span{
  color:#fffdf2!important;
  text-shadow:0 2px 8px rgba(0,0,0,.75)!important;
}
.nature-card span{
  color:#ffe7a8!important;
}
.nature-card p{
  margin:.45rem 0 0;
  font-size:.92rem;
  line-height:1.45;
}
.rooting-copy{
  background:rgba(255,253,245,.94)!important;
  color:#10291f!important;
  border:1px solid rgba(91,119,78,.34);
  border-radius:1.35rem;
  box-shadow:0 24px 70px rgba(0,0,0,.24);
  padding:clamp(1.25rem,4vw,3rem)!important;
  text-shadow:none!important;
}
.rooting-copy h2,
.rooting-copy p,
.rooting-copy strong,
.rooting-copy em,
.rooting-copy .eyebrow{
  color:#10291f!important;
  text-shadow:none!important;
}
.rooting-copy .eyebrow{
  color:#7d3f2f!important;
}
.rooting-copy p{
  font-size:1.02rem;
  line-height:1.72;
}
.root-steps span{
  background:#f4efd9!important;
  color:#10291f!important;
  border-color:rgba(91,119,78,.34)!important;
  backdrop-filter:none;
  text-shadow:none!important;
}
.root-steps span,
.root-steps span *{
  color:#10291f!important;
}
.root-steps b{
  background:#29463a!important;
  color:#fffdf2!important;
}
.upgraded-story{
  align-items:stretch;
}
.mantra-mini{
  margin-top:1.25rem;
  padding:clamp(1rem,3vw,1.35rem);
  border:1px solid rgba(91,119,78,.24);
  border-radius:1.35rem;
  background:linear-gradient(135deg,rgba(255,253,245,.96),rgba(236,246,229,.88));
  color:#173f34;
}
.mantra-mini h3{
  margin:.2rem 0 .45rem;
}
.mantra-needs{
  border:1px solid rgba(91,119,78,.28);
  border-radius:1rem;
  padding:1rem;
  margin:1rem 0;
  background:#f7f2e4;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:.55rem;
}
.mantra-needs legend{
  font-weight:900;
  color:#17352b;
  padding:0 .35rem;
}
.mantra-needs small{
  display:block;
  font-weight:600;
  color:#456056;
}
.mantra-needs label{
  display:flex;
  align-items:center;
  gap:.45rem;
  padding:.45rem .55rem;
  border-radius:.7rem;
  background:#fffdf5;
  color:#17352b;
  font-weight:800;
}
.story-fields small{
  display:block;
  color:#5b6f63;
  font-weight:600;
  margin:.15rem 0 .25rem;
}
.mantra-custom{
  display:grid;
  gap:.35rem;
  margin:.85rem 0;
  font-weight:900;
}
.mantra-custom input{
  width:100%;
  border:1px solid rgba(80,126,104,.35);
  border-radius:.85rem;
  padding:.75rem;
  background:#fffdf7;
  color:#173f34;
}
.story-prompts{
  margin:1rem 0;
  padding:1rem;
  border-left:4px solid #8fb3bb;
  border-radius:.7rem;
  background:#d8ebef;
  color:#173942;
}
.story-prompts ul{
  margin:.4rem 0 0;
  padding-left:1.2rem;
}
.story-result-actions{
  display:flex;
  flex-wrap:wrap;
  gap:.55rem;
  margin-top:1rem;
}
@media(max-width:700px){
  .mantra-needs{grid-template-columns:1fr}
}
@keyframes mrc-path-bloom{
  0%,100%{opacity:.62;filter:saturate(.95)}
  50%{opacity:1;filter:saturate(1.18)}
}
@keyframes mrc-sprout-sway{
  0%,100%{transform:rotate(-3deg) scaleY(.94)}
  50%{transform:rotate(4deg) scaleY(1.03)}
}
@keyframes mrc-dragonfly-flight{
  0%{right:-24%;top:24%;transform:rotate(24deg) scale(.72);opacity:0}
  12%{opacity:.92}
  35%{right:38%;top:16%;transform:rotate(12deg) scale(1.03)}
  58%{right:20%;top:42%;transform:rotate(34deg) scale(.95)}
  82%{opacity:.95}
  100%{right:104%;top:30%;transform:rotate(18deg) scale(.76);opacity:0}
}
