/* Approved key visual: one proportional frame keeps the artwork and real links aligned. */
.world-page .app-hero{
  display:grid;
  place-items:center;
  position:relative;
  padding:0;
  background:radial-gradient(ellipse at 20% 45%,#fffafb 0,#fce7ed 65%,#f8dce6 100%);
}
.app-hero-layout{width:100%;background:linear-gradient(155deg,#fff1f5,#fce5ed 65%,#fff8fa)}
.app-hero-art{
  position:relative;
  /* Fill the mobile rail; keep the artwork and its tap targets proportional. */
  width:100%;
  /* Frame ends below the cat's feet, before the old buttons baked into the image. */
  aspect-ratio:941/1380;
  overflow:hidden;
  isolation:isolate;
}
.app-hero-visual{
  position:absolute;
  inset:0 0 auto;
  width:100%;
  height:auto;
  aspect-ratio:941/1672;
  object-fit:contain;
}
.app-hero-screen-motion{position:absolute;inset:0 0 auto;width:100%;height:auto;aspect-ratio:941/1672;pointer-events:none;overflow:hidden}
.app-hero-headline-motion{display:none;position:absolute;inset:0 0 auto;width:100%;height:auto;aspect-ratio:941/1672;pointer-events:none;overflow:hidden;stroke:none}
.app-hero-art.media-is-entering>.app-hero-headline-motion{display:block}
/* Fade away three feathered veils to reveal the exact lettering in the artwork. */
.app-hero-headline-veil{animation-duration:1.2s;animation-timing-function:cubic-bezier(.25,.5,.3,1);animation-fill-mode:both;animation-iteration-count:1}
.app-hero-art.media-is-entering>.app-hero-headline-motion .app-hero-headline-veil{animation-name:heroHeadlineReveal}
.app-hero-headline-veil[data-headline-line="1"]{animation-delay:.2s}
.app-hero-headline-veil[data-headline-line="2"]{animation-delay:.55s}
.app-hero-headline-veil[data-headline-line="3"]{animation-delay:.9s}
@keyframes heroHeadlineReveal{from{opacity:1}to{opacity:0}}
.app-hero-chat-entry{animation:appHeroChatEnter .75s var(--chat-delay) cubic-bezier(.2,.7,.25,1) both}
.world-page .app-hero h1.sr-only{inset:0 auto auto 0;margin:0}
.app-hero-actions{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
  width:100%;
  max-width:none;
  margin:0;
  padding:8px 18px 0;
}
.world-page .app-hero .app-hero-store{
  display:flex;align-items:center;justify-content:center;gap:8px;min-width:0;min-height:78px;
  margin:0;padding:12px 10px;border:2px solid #b4ecdf;border-radius:18px;
  color:#fff;text-align:left;text-shadow:none;line-height:1.35;letter-spacing:0;
  box-shadow:inset 0 2px 0 #ffffff80,0 4px 0 #8fcab9,0 7px 18px #83566922;
  touch-action:manipulation;
}
.world-page .app-hero .app-hero-store--ios{background:linear-gradient(150deg,#ffeaf2,#f8cddd);color:#8f3158;border-color:#efbad0;box-shadow:inset 0 2px 0 #ffffffb3,0 4px 0 #d8a6bb,0 7px 18px #ac5d7c22}
.world-page .app-hero .app-hero-store--android{background:linear-gradient(150deg,#15866e,#05654f)}
.world-page .app-hero .app-hero-store svg{width:28px;height:32px;flex:0 0 28px}
.world-page .app-hero .app-hero-store--ios svg{height:28px;fill:currentColor;stroke:none}
.app-hero-store>span{min-width:0}
.app-hero-store strong{display:block;white-space:nowrap;font-size:clamp(16px,4.4vw,24px);font-weight:800}
.app-hero-store small{display:block;white-space:nowrap;font-size:clamp(12px,3.3vw,18px);font-weight:600;margin-top:3px}
.app-hero-store:focus-visible{outline:3px solid #145f51;outline-offset:3px}
.app-hero-trial{margin:14px 0 0;padding:0 14px 20px;text-align:center;font-size:clamp(14px,3.6vw,20px);line-height:1.5;font-weight:800;color:#93335a}
@media(hover:hover){.app-hero-store:hover{filter:brightness(1.1)}}
@media(max-width:360px){.world-page .app-hero .app-hero-store{gap:6px}.world-page .app-hero .app-hero-store svg{width:24px;flex-basis:24px}.world-page .app-hero .app-hero-store--ios svg{height:24px}}
@media(min-width:1000px){
  .world-page .app-hero{padding:16px 0}
  .app-hero-layout{width:min(620px,calc(max(568px,100svh - 32px) * .562799));border-radius:24px;overflow:hidden;box-shadow:0 12px 60px #8d466b1c}
  .app-hero-art{border-radius:24px 24px 0 0}
}
@keyframes appHeroChatEnter{from{opacity:0;transform:translateX(-32px)}to{opacity:1;transform:translateX(0)}}
@media(prefers-reduced-motion:reduce){.app-hero-art,.app-hero-headline-veil{animation:none!important}.app-hero-screen-motion,.app-hero-art.media-is-entering>.app-hero-headline-motion{display:none}}
@media print{.app-hero-art,.app-hero-headline-veil{animation:none!important}.app-hero-screen-motion,.app-hero-art.media-is-entering>.app-hero-headline-motion{display:none}}
