/* KIN ambient visual layer */
.kin-atmosphere{position:absolute;inset:0;z-index:3;overflow:hidden;pointer-events:none}
.kin-bird-flock{position:absolute;left:-14%;top:var(--flock-y,20%);width:18rem;height:7rem;opacity:.58;animation:kin-flock-cross var(--flock-duration,10s) linear forwards}
.kin-bird-flock.from-right{left:auto;right:-14%;animation-name:kin-flock-cross-reverse}
.kin-bird{position:absolute;left:0;top:calc(50% + var(--bird-offset,0px));width:22px;height:8px;opacity:0;transform:scale(var(--bird-scale,1));animation:kin-bird-follow var(--flock-duration,10s) linear var(--bird-delay,0s) forwards}
.kin-bird::before,.kin-bird::after{content:"";position:absolute;top:3px;width:12px;height:5px;border-top:1.6px solid rgba(18,48,58,.78);border-radius:80% 80% 0 0;transform-origin:100% 50%;animation:kin-wing 1.05s ease-in-out infinite}
.kin-bird::before{right:50%;transform:rotate(16deg)}.kin-bird::after{left:50%;transform:scaleX(-1) rotate(16deg)}
.kin-rain{position:absolute;inset:-6% 0 0;opacity:.54;background:linear-gradient(180deg,rgba(205,226,230,.12),rgba(177,211,219,.03) 70%);transition:opacity 1.7s ease}
.kin-rain.is-leaving{opacity:0}.kin-rain i{position:absolute;left:var(--rain-x);top:-8%;width:1px;height:var(--rain-size);border-radius:99px;background:linear-gradient(transparent,rgba(208,231,236,.72));transform:rotate(9deg);opacity:.5;animation:kin-rain-fall var(--rain-duration) linear var(--rain-delay) infinite}
.kin-ripple{position:absolute;left:var(--ripple-x);top:var(--ripple-y);width:18px;height:7px;border:1px solid rgba(217,238,235,.62);border-radius:50%;opacity:0;transform:translate(-50%,-50%) scale(.15);animation:kin-ripple 2.8s ease-out var(--ripple-delay,0s) forwards}
.kin-mote{position:absolute;left:var(--mote-x);top:var(--mote-y);width:5px;height:5px;border-radius:50%;opacity:0;background:rgba(255,236,163,.74);box-shadow:0 0 10px rgba(255,231,134,.52);animation:kin-mote-drift var(--mote-duration) ease-in-out var(--mote-delay) forwards}
.kin-mote--seed{width:8px;height:3px;border-radius:80% 20% 80% 20%;background:rgba(170,196,144,.76);box-shadow:none}
.kin-mist{position:absolute;left:-30%;top:var(--mist-y);width:55%;height:14%;border-radius:50%;opacity:0;background:radial-gradient(ellipse at center,rgba(237,244,238,.42),rgba(237,244,238,0) 70%);filter:blur(18px);animation:kin-mist-cross var(--mist-duration) ease-in-out forwards}
.kin-light-sweep{position:absolute;left:-38%;top:var(--light-y);width:42%;height:28%;border-radius:50%;opacity:0;background:radial-gradient(ellipse,rgba(255,240,181,.38),rgba(255,240,181,0) 70%);filter:blur(12px);mix-blend-mode:screen;animation:kin-light-cross 3.8s ease-in-out forwards}
.kin-wind-active .living-plant,.kin-wind-active .background-growth .living-plant{animation:kin-wind-sway 2.7s ease-in-out both}
.discovery-line{position:relative;display:inline-block;overflow:hidden}.discovery-line::after{content:"";position:absolute;inset:-35% auto -35% -45%;width:30%;opacity:0;background:linear-gradient(100deg,transparent,rgba(255,241,169,.72),transparent);transform:skewX(-16deg);pointer-events:none}.discovery-line.is-illuminated{animation:kin-copy-glow 1.75s ease both}.discovery-line.is-illuminated::after{animation:kin-copy-sweep 1.45s ease-out both}
@keyframes kin-flock-cross{0%{transform:translateX(0);opacity:0}8%{opacity:.58}92%{opacity:.52}100%{transform:translateX(128vw);opacity:0}}
@keyframes kin-flock-cross-reverse{0%{transform:scaleX(-1) translateX(0);opacity:0}8%{opacity:.58}92%{opacity:.52}100%{transform:scaleX(-1) translateX(128vw);opacity:0}}
@keyframes kin-bird-follow{0%{transform:translateX(0) scale(var(--bird-scale,1));opacity:0}9%{opacity:.9}100%{transform:translateX(16rem) scale(var(--bird-scale,1));opacity:.76}}
@keyframes kin-wing{0%,100%{rotate:-7deg}50%{rotate:14deg}}
@keyframes kin-rain-fall{to{transform:translate(28px,115vh) rotate(9deg)}}
@keyframes kin-ripple{0%{opacity:0;transform:translate(-50%,-50%) scale(.15)}18%{opacity:.62}100%{opacity:0;transform:translate(-50%,-50%) scale(4.8,2.3)}}
@keyframes kin-mote-drift{0%{opacity:0;transform:translate(0,10px) rotate(0)}18%{opacity:.72}70%{opacity:.55}100%{opacity:0;transform:translate(var(--mote-drift),-68px) rotate(160deg)}}
@keyframes kin-mist-cross{0%{opacity:0;transform:translateX(0) scale(.92)}20%{opacity:.42}70%{opacity:.28}100%{opacity:0;transform:translateX(155vw) scale(1.12)}}
@keyframes kin-light-cross{0%{opacity:0;transform:translateX(0) scale(.7)}30%{opacity:.48}70%{opacity:.3}100%{opacity:0;transform:translateX(170vw) scale(1.4)}}
@keyframes kin-wind-sway{0%,100%{transform:translateX(-50%) rotate(var(--plant-lean))}32%{transform:translateX(-50%) rotate(calc(var(--plant-lean) + 8deg))}68%{transform:translateX(-50%) rotate(calc(var(--plant-lean) - 4deg))}}
@keyframes kin-copy-glow{0%,100%{text-shadow:0 1px 0 rgba(255,255,255,.9),0 0 12px rgba(255,253,245,.85)}48%{text-shadow:0 1px 0 rgba(255,255,255,.95),0 0 18px rgba(255,233,142,.95),0 0 34px rgba(255,239,176,.58)}}
@keyframes kin-copy-sweep{0%{left:-45%;opacity:0}18%{opacity:.82}100%{left:118%;opacity:0}}
@media(max-width:680px){.kin-bird-flock{opacity:.46}.kin-rain i:nth-child(n+20){display:none}.kin-light-sweep{width:58%}.discovery-line{max-width:95%}}
@media(prefers-reduced-motion:reduce){.kin-bird-flock,.kin-rain,.kin-ripple,.kin-mote,.kin-mist,.kin-light-sweep,.discovery-line::after{display:none!important}.kin-wind-active .living-plant,.kin-wind-active .background-growth .living-plant,.discovery-line.is-illuminated{animation:none!important}}

/* More living detail at the edges */
.kin-edge-animal{
  position:absolute;
  left:-8.5rem;
  bottom:var(--animal-y,9%);
  width:7.6rem;
  height:4.6rem;
  opacity:0;
  filter:drop-shadow(0 7px 8px rgba(22,49,44,.15));
  animation:kin-animal-visit 8.8s ease-in-out forwards;
}
.kin-edge-animal.from-right{
  left:auto;
  right:-8.5rem;
  transform:scaleX(-1);
  animation-name:kin-animal-visit-right;
}
.kin-edge-animal__body,
.kin-edge-animal__head{
  position:absolute;
  display:block;
  background:rgba(48,70,58,.68);
}
.kin-edge-animal__body{
  left:1.4rem;
  bottom:.7rem;
  width:4.6rem;
  height:1.7rem;
  border-radius:55% 50% 42% 48%;
}
.kin-edge-animal__head{
  left:5.3rem;
  bottom:1.85rem;
  width:1.35rem;
  height:1.35rem;
  border-radius:55% 45% 50% 42%;
  transform:rotate(-12deg);
}
.kin-edge-animal__body::before,
.kin-edge-animal__body::after{
  content:"";
  position:absolute;
  bottom:-1.1rem;
  width:.18rem;
  height:1.4rem;
  border-radius:99px;
  background:rgba(48,70,58,.65);
}
.kin-edge-animal__body::before{left:1rem}
.kin-edge-animal__body::after{right:1rem}
.kin-edge-animal__head::before,
.kin-edge-animal__head::after{
  content:"";
  position:absolute;
  top:-.55rem;
  width:.38rem;
  height:.8rem;
  border-radius:90% 10% 90% 10%;
  background:inherit;
}
.kin-edge-animal__head::before{left:.08rem;transform:rotate(-18deg)}
.kin-edge-animal__head::after{right:.08rem;transform:scaleX(-1) rotate(-18deg)}

.kin-edge-animal--fox .kin-edge-animal__body,
.kin-edge-animal--fox .kin-edge-animal__head{background:rgba(128,82,49,.72)}
.kin-edge-animal--fox .kin-edge-animal__body::after{
  width:2.8rem;height:.8rem;right:-2.2rem;bottom:.2rem;border-radius:80% 20% 80% 20%;transform:rotate(-15deg);background:rgba(128,82,49,.68)
}
.kin-edge-animal--deer{width:8.5rem;height:5.4rem}
.kin-edge-animal--deer .kin-edge-animal__head{bottom:2.6rem}
.kin-edge-animal--deer .kin-edge-animal__head::before,
.kin-edge-animal--deer .kin-edge-animal__head::after{
  top:-1rem;width:.12rem;height:1.1rem;border-radius:99px;background:rgba(48,70,58,.66)
}
.kin-edge-animal--hare{width:5.2rem;height:4rem}
.kin-edge-animal--hare .kin-edge-animal__body{width:3rem;height:1.5rem}
.kin-edge-animal--hare .kin-edge-animal__head{left:3.8rem;bottom:1.8rem;width:1rem;height:1rem}
.kin-edge-animal--hare .kin-edge-animal__head::before,
.kin-edge-animal--hare .kin-edge-animal__head::after{top:-1.25rem;width:.26rem;height:1.4rem;border-radius:99px}

.kin-butterfly{
  position:absolute;
  left:var(--butterfly-x);
  top:var(--butterfly-y);
  width:12px;
  height:9px;
  opacity:0;
  animation:kin-butterfly-flight var(--butterfly-duration) ease-in-out var(--butterfly-delay) forwards;
}
.kin-butterfly::before,
.kin-butterfly::after{
  content:"";
  position:absolute;
  top:1px;
  width:7px;
  height:8px;
  border-radius:70% 30% 70% 30%;
  background:rgba(231,198,116,.74);
  transform-origin:100% 50%;
  animation:kin-butterfly-wing .44s ease-in-out infinite alternate;
}
.kin-butterfly::before{right:50%}
.kin-butterfly::after{left:50%;transform:scaleX(-1);transform-origin:0 50%}

.kin-sunbreak{
  position:absolute;
  right:7%;
  top:-7rem;
  width:16rem;
  height:16rem;
  border-radius:50%;
  opacity:0;
  background:radial-gradient(circle,rgba(255,249,216,.95) 0 12%,rgba(255,237,168,.44) 28%,rgba(255,230,150,.12) 48%,transparent 72%);
  filter:blur(1px);
  mix-blend-mode:screen;
  animation:kin-sunbreak 6.6s ease-in-out forwards;
}

/* White vertical shimmer over the discovery sentence */
.discovery-line::after{
  inset:-55% -8% auto -8% !important;
  width:116% !important;
  height:38% !important;
  opacity:0;
  background:linear-gradient(180deg,transparent 0%,rgba(255,255,255,.35) 16%,rgba(255,255,255,1) 50%,rgba(255,255,255,.55) 78%,transparent 100%) !important;
  transform:none !important;
  filter:blur(1.5px);
  mix-blend-mode:screen;
}
.discovery-line.is-illuminated{
  animation:kin-copy-glow-white 1.9s ease both !important;
}
.discovery-line.is-illuminated::after{
  animation:kin-copy-sweep-down 1.55s ease-in-out both !important;
}

@keyframes kin-animal-visit{
  0%{opacity:0;transform:translateX(0) translateY(4px)}
  18%{opacity:.72;transform:translateX(7rem) translateY(0)}
  68%{opacity:.7;transform:translateX(8.5rem) translateY(-2px)}
  100%{opacity:0;transform:translateX(11rem) translateY(3px)}
}
@keyframes kin-animal-visit-right{
  0%{opacity:0;transform:scaleX(-1) translateX(0) translateY(4px)}
  18%{opacity:.72;transform:scaleX(-1) translateX(7rem) translateY(0)}
  68%{opacity:.7;transform:scaleX(-1) translateX(8.5rem) translateY(-2px)}
  100%{opacity:0;transform:scaleX(-1) translateX(11rem) translateY(3px)}
}
@keyframes kin-butterfly-flight{
  0%{opacity:0;transform:translate(0,10px) rotate(-5deg)}
  15%{opacity:.8}
  40%{transform:translate(28px,-22px) rotate(8deg)}
  72%{transform:translate(-16px,-44px) rotate(-4deg);opacity:.68}
  100%{opacity:0;transform:translate(38px,-72px) rotate(10deg)}
}
@keyframes kin-butterfly-wing{
  from{scale:.45 1}
  to{scale:1 1}
}
@keyframes kin-sunbreak{
  0%{opacity:0;transform:translateY(-1rem) scale(.86)}
  24%{opacity:.75}
  58%{opacity:.52;transform:translateY(2.5rem) scale(1.05)}
  100%{opacity:0;transform:translateY(4rem) scale(1.12)}
}
@keyframes kin-copy-glow-white{
  0%,100%{text-shadow:0 1px 0 rgba(255,255,255,.9),0 0 12px rgba(255,253,245,.85)}
  45%,60%{text-shadow:0 1px 0 #fff,0 0 18px rgba(255,255,255,1),0 0 34px rgba(255,255,255,.9)}
}
@keyframes kin-copy-sweep-down{
  0%{top:-58%;opacity:0}
  16%{opacity:1}
  58%{opacity:.98}
  100%{top:120%;opacity:0}
}

@media(max-width:680px){
  .kin-edge-animal{opacity:.86}
  .kin-sunbreak{right:-2rem;width:12rem;height:12rem}
}
@media(prefers-reduced-motion:reduce){
  .kin-edge-animal,.kin-butterfly,.kin-sunbreak{display:none!important}
}


/* Atmosphere v3: whole-scene weather, stronger light and recognisable wildlife */
.world__painting,
.world__wash {
  transition: filter 1.15s ease, opacity 1.15s ease, background 1.15s ease;
}

.discovery,
.topbar {
  position: relative;
  z-index: 5;
}

.kin-global-atmosphere {
  position: absolute;
  inset: 0;
  z-index: 2;
  overflow: hidden;
  pointer-events: none;
}

.world.kin-weather-sunny .world__painting {
  filter: brightness(1.22) saturate(1.18) contrast(1.03);
}
.world.kin-weather-sunny .world__wash {
  background:
    radial-gradient(circle at 78% 13%, rgba(255,250,211,.62) 0 8%, rgba(255,229,135,.24) 19%, transparent 43%),
    linear-gradient(180deg, rgba(255,248,210,.15), rgba(255,221,132,.08));
}

.world.kin-weather-rain .world__painting {
  filter: brightness(.82) saturate(.88) contrast(1.04);
}
.world.kin-weather-rain .world__wash {
  background: linear-gradient(180deg, rgba(87,117,128,.18), rgba(20,55,68,.18));
}

.world.kin-weather-fog .world__painting {
  filter: brightness(.96) saturate(.72) contrast(.88);
}
.world.kin-weather-fog .world__wash {
  background: linear-gradient(180deg, rgba(237,245,241,.34), rgba(214,229,224,.27));
}

.world.kin-weather-storm .world__painting {
  filter: brightness(.52) saturate(.66) contrast(1.14);
}
.world.kin-weather-storm .world__wash {
  background:
    radial-gradient(circle at 42% 15%, rgba(93,116,131,.22), transparent 42%),
    linear-gradient(180deg, rgba(12,31,43,.38), rgba(20,43,55,.29));
}

.kin-global-rain {
  position: absolute;
  inset: -10% -4% 0;
  opacity: .78;
  background: linear-gradient(180deg, rgba(157,189,199,.10), rgba(90,132,148,.08));
  transition: opacity 1.2s ease;
}
.kin-global-rain--storm {
  opacity: .96;
  background: linear-gradient(180deg, rgba(90,117,131,.20), rgba(26,61,76,.16));
}
.kin-global-rain.is-leaving { opacity: 0; }
.kin-global-rain i {
  position: absolute;
  left: var(--x);
  top: -12%;
  width: 1.5px;
  height: var(--len);
  border-radius: 99px;
  background: linear-gradient(transparent, rgba(231,246,250,.96));
  box-shadow: 0 0 3px rgba(221,242,247,.42);
  transform: rotate(10deg);
  animation: kin-global-rain-fall var(--duration) linear var(--delay) infinite;
}

.kin-global-fog {
  position: absolute;
  left: -45%;
  top: var(--fog-top);
  width: 85%;
  height: 25%;
  border-radius: 50%;
  opacity: 0;
  background: radial-gradient(ellipse at center, rgba(248,252,250,.74), rgba(230,240,237,.44) 38%, rgba(230,240,237,0) 72%);
  filter: blur(24px);
  animation: kin-global-fog-pass var(--fog-duration) ease-in-out var(--fog-delay) forwards;
}

.kin-global-sun {
  position: absolute;
  right: 6%;
  top: -11rem;
  width: 27rem;
  height: 27rem;
  border-radius: 50%;
  opacity: 0;
  background: radial-gradient(circle, rgba(255,255,241,1) 0 8%, rgba(255,239,170,.78) 18%, rgba(255,218,113,.32) 38%, transparent 69%);
  filter: blur(1px);
  mix-blend-mode: screen;
  animation: kin-global-sunrise 7.4s ease-in-out forwards;
}
.kin-sun-rays {
  position: absolute;
  right: -6%;
  top: -12%;
  width: 60%;
  height: 95%;
  opacity: 0;
  transform: rotate(-13deg);
  background:
    linear-gradient(108deg, transparent 0 28%, rgba(255,251,223,.38) 36%, transparent 43%),
    linear-gradient(111deg, transparent 0 45%, rgba(255,237,171,.30) 53%, transparent 61%),
    linear-gradient(114deg, transparent 0 61%, rgba(255,250,221,.25) 68%, transparent 75%);
  filter: blur(4px);
  mix-blend-mode: screen;
  animation: kin-sun-rays 7.2s ease-in-out forwards;
}

.kin-lightning-flash {
  position: absolute;
  inset: 0;
  opacity: 0;
  background:
    radial-gradient(circle at 54% 9%, rgba(255,255,255,.98), rgba(221,238,255,.50) 24%, transparent 52%),
    linear-gradient(180deg, rgba(240,248,255,.82), transparent 72%);
  mix-blend-mode: screen;
  animation: kin-lightning 1s steps(1,end) forwards;
  transform: scale(var(--flash-strength,1));
}

/* A larger, more recognisable crane crossing the whole landscape */
.kin-crane {
  position: absolute;
  left: -12rem;
  top: 17%;
  width: 10rem;
  height: 6rem;
  opacity: 0;
  animation: kin-crane-cross 11.5s linear forwards;
}
.kin-crane.from-right {
  left: auto;
  right: -12rem;
  transform: scaleX(-1);
  animation-name: kin-crane-cross-right;
}
.kin-crane::before {
  content: "";
  position: absolute;
  left: 3.4rem;
  top: 2.25rem;
  width: 3.2rem;
  height: 1.05rem;
  border-radius: 55% 60% 48% 52%;
  background: rgba(30,52,56,.78);
  box-shadow:
    2.7rem -.45rem 0 -.33rem rgba(30,52,56,.78),
    -2.4rem .2rem 0 -.46rem rgba(30,52,56,.68);
}
.kin-crane::after {
  content: "";
  position: absolute;
  left: 4rem;
  top: .45rem;
  width: 5.1rem;
  height: 4.2rem;
  border-top: .32rem solid rgba(30,52,56,.74);
  border-radius: 52% 100% 0 0;
  transform: rotate(-7deg);
  box-shadow: -2.1rem 1.35rem 0 -1.75rem rgba(30,52,56,.66);
}

/* Water birds glide across the lower landscape */
.kin-water-birds {
  position: absolute;
  left: -9rem;
  top: 72%;
  display: flex;
  gap: 1.4rem;
  opacity: .75;
  animation: kin-ducks-cross 10.5s linear forwards;
}
.kin-water-birds.from-right {
  left: auto;
  right: -9rem;
  transform: scaleX(-1);
  animation-name: kin-ducks-cross-right;
}
.kin-water-bird {
  position: relative;
  width: 2.5rem;
  height: 1.05rem;
  border-radius: 60% 48% 52% 58%;
  background: rgba(43,68,64,.72);
  animation: kin-duck-bob 1.9s ease-in-out var(--duck-delay) infinite;
}
.kin-water-bird::before {
  content: "";
  position: absolute;
  right: -.42rem;
  top: -.48rem;
  width: .72rem;
  height: .72rem;
  border-radius: 50%;
  background: inherit;
}
.kin-water-bird::after {
  content: "";
  position: absolute;
  left: -.35rem;
  top: .1rem;
  border-right: .72rem solid rgba(43,68,64,.72);
  border-top: .28rem solid transparent;
  border-bottom: .28rem solid transparent;
}

/* Wildlife is larger and more visible when it enters at the far edges */
.kin-edge-animal {
  z-index: 2;
  transform-origin: 50% 100%;
  filter: drop-shadow(0 8px 10px rgba(18,43,39,.25));
}
.kin-edge-animal__body,
.kin-edge-animal__head {
  opacity: .92;
}
.kin-edge-animal--deer .kin-edge-animal__body {
  width: 5.2rem;
  height: 1.9rem;
}
.kin-edge-animal--deer .kin-edge-animal__head {
  width: 1.25rem;
  height: 1.55rem;
}
.kin-edge-animal--fox .kin-edge-animal__head {
  border-radius: 70% 30% 55% 40%;
}
.kin-edge-animal--hare .kin-edge-animal__body {
  border-radius: 60% 55% 50% 62%;
}

/* Much stronger white light, moving vertically over the discovery sentence */
.discovery-line {
  position: relative;
  display: inline-block;
  overflow: hidden;
  isolation: isolate;
}
.discovery-line::after {
  content: "";
  position: absolute !important;
  z-index: 3;
  left: -14% !important;
  right: auto !important;
  top: -78%;
  width: 128% !important;
  height: 62% !important;
  opacity: 0;
  background:
    linear-gradient(180deg,
      rgba(255,255,255,0) 0%,
      rgba(255,255,255,.62) 17%,
      rgba(255,255,255,1) 43%,
      rgba(255,255,255,1) 58%,
      rgba(255,255,255,.58) 79%,
      rgba(255,255,255,0) 100%) !important;
  box-shadow:
    0 0 18px 8px rgba(255,255,255,.90),
    0 0 42px 14px rgba(255,255,255,.60);
  filter: blur(.2px);
  mix-blend-mode: screen;
  transform: none !important;
  pointer-events: none;
}
.discovery-line.is-illuminated {
  animation: kin-copy-glow-v3 1.65s ease both !important;
}
.discovery-line.is-illuminated::after {
  animation: kin-copy-sweep-v3 1.45s cubic-bezier(.32,.02,.28,1) both !important;
}

@keyframes kin-global-rain-fall {
  to { transform: translate(3.2rem, 118vh) rotate(10deg); }
}
@keyframes kin-global-fog-pass {
  0% { opacity: 0; transform: translateX(0) scale(.9); }
  18% { opacity: .78; }
  68% { opacity: .64; }
  100% { opacity: 0; transform: translateX(172vw) scale(1.16); }
}
@keyframes kin-global-sunrise {
  0% { opacity: 0; transform: translateY(-2rem) scale(.78); }
  20% { opacity: .82; }
  48% { opacity: 1; transform: translateY(5rem) scale(1.04); }
  78% { opacity: .72; }
  100% { opacity: 0; transform: translateY(8rem) scale(1.12); }
}
@keyframes kin-sun-rays {
  0% { opacity: 0; transform: rotate(-13deg) translateY(-3rem); }
  27% { opacity: .62; }
  64% { opacity: .48; }
  100% { opacity: 0; transform: rotate(-9deg) translateY(4rem); }
}
@keyframes kin-lightning {
  0%, 100% { opacity: 0; }
  12% { opacity: 1; }
  20% { opacity: .08; }
  31% { opacity: .92; }
  42% { opacity: 0; }
}
@keyframes kin-crane-cross {
  0% { opacity: 0; transform: translateX(0) translateY(0) rotate(-2deg); }
  10% { opacity: .88; }
  48% { transform: translateX(58vw) translateY(-2.2rem) rotate(2deg); }
  90% { opacity: .84; }
  100% { opacity: 0; transform: translateX(126vw) translateY(1rem) rotate(-1deg); }
}
@keyframes kin-crane-cross-right {
  0% { opacity: 0; transform: scaleX(-1) translateX(0) translateY(0); }
  10% { opacity: .88; }
  48% { transform: scaleX(-1) translateX(58vw) translateY(-2.2rem); }
  90% { opacity: .84; }
  100% { opacity: 0; transform: scaleX(-1) translateX(126vw) translateY(1rem); }
}
@keyframes kin-ducks-cross {
  0% { opacity: 0; transform: translateX(0); }
  12% { opacity: .78; }
  90% { opacity: .72; }
  100% { opacity: 0; transform: translateX(124vw); }
}
@keyframes kin-ducks-cross-right {
  0% { opacity: 0; transform: scaleX(-1) translateX(0); }
  12% { opacity: .78; }
  90% { opacity: .72; }
  100% { opacity: 0; transform: scaleX(-1) translateX(124vw); }
}
@keyframes kin-duck-bob {
  0%,100% { translate: 0 0; }
  50% { translate: 0 -3px; }
}
@keyframes kin-copy-glow-v3 {
  0%,100% {
    color: var(--ink);
    text-shadow: 0 1px 0 rgba(255,255,255,.9), 0 0 12px rgba(255,253,245,.85);
    filter: brightness(1);
  }
  42%,61% {
    color: #153642;
    text-shadow:
      0 0 4px #fff,
      0 0 14px #fff,
      0 0 32px rgba(255,255,255,1),
      0 0 62px rgba(255,255,255,.86);
    filter: brightness(1.7);
  }
}
@keyframes kin-copy-sweep-v3 {
  0% { top: -82%; opacity: 0; }
  12% { opacity: 1; }
  48% { opacity: 1; }
  100% { top: 128%; opacity: 0; }
}

@media (max-width: 680px) {
  .kin-global-sun { right: -7rem; width: 21rem; height: 21rem; }
  .kin-crane { transform: scale(.82); }
  .kin-global-rain i:nth-child(n+58) { display:none; }
  .kin-edge-animal { scale: .82; }
}

@media (prefers-reduced-motion: reduce) {
  .kin-global-atmosphere,
  .kin-global-rain,
  .kin-global-fog,
  .kin-global-sun,
  .kin-sun-rays,
  .kin-lightning-flash,
  .kin-crane,
  .kin-water-birds { display:none !important; }
}


/* Atmosphere v3.1: unmistakable text scan + full-page lightning flash */
.discovery-line::after {
  top: -34px !important;
  left: -8% !important;
  width: 116% !important;
  height: 22px !important;
  opacity: 0;
  border-radius: 999px;
  background: rgba(255,255,255,.98) !important;
  box-shadow:
    0 0 10px 5px rgba(255,255,255,1),
    0 0 28px 13px rgba(255,255,255,.98),
    0 0 58px 24px rgba(255,255,255,.72);
  filter: blur(1px);
  mix-blend-mode: screen;
}
.discovery-line.is-illuminated::after {
  animation: kin-copy-scan-v31 1.55s cubic-bezier(.28,.02,.32,1) both !important;
}
.discovery-line.is-illuminated {
  animation: kin-copy-glow-v31 1.75s ease both !important;
}

.world.kin-lightning-active::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 40;
  pointer-events: none;
  background: rgba(255,255,255,.96);
  mix-blend-mode: screen;
  animation: kin-page-lightning 1.18s steps(1,end) both;
}

@keyframes kin-copy-scan-v31 {
  0% { top: -34px; opacity: 0; }
  10% { opacity: 1; }
  42% { opacity: 1; }
  100% { top: calc(100% + 34px); opacity: 0; }
}
@keyframes kin-copy-glow-v31 {
  0%,100% {
    color: var(--ink);
    text-shadow: 0 1px 0 rgba(255,255,255,.9), 0 0 12px rgba(255,253,245,.85);
    filter: brightness(1);
  }
  36%,62% {
    color: #0d2b35;
    text-shadow:
      0 0 3px #fff,
      0 0 12px #fff,
      0 0 30px #fff,
      0 0 65px rgba(255,255,255,1);
    filter: brightness(2.05);
  }
}
@keyframes kin-page-lightning {
  0%, 100% { opacity: 0; }
  8% { opacity: .96; }
  16% { opacity: .10; }
  29% { opacity: .78; }
  39% { opacity: .04; }
  53% { opacity: .92; }
  67% { opacity: 0; }
}


/* v3.2 — quick single top-to-bottom shimmer, matching the card shine rhythm */
.discovery-line.is-illuminated {
  animation: none !important;
}
.discovery-line.is-illuminated::after {
  animation: kin-copy-scan-v32 .72s cubic-bezier(.22,.61,.36,1) 1 both !important;
}
@keyframes kin-copy-scan-v32 {
  0%   { top: -30px; opacity: 0; }
  12%  { opacity: 1; }
  52%  { opacity: 1; }
  100% { top: calc(100% + 30px); opacity: 0; }
}
