@font-face {
  font-family:Chewy;
  src:url('/assets/Chewy-Regular.ttf') format('truetype');
  font-display:swap;
}
@font-face {
  font-family:Nunito;
  src:url('/assets/Nunito-Regular.ttf') format('truetype');
  font-weight:400;
  font-display:swap;
}
@font-face {
  font-family:Nunito;
  src:url('/assets/Nunito-SemiBold.ttf') format('truetype');
  font-weight:600;
  font-display:swap;
}
@font-face {
  font-family:Nunito;
  src:url('/assets/Nunito-Bold.ttf') format('truetype');
  font-weight:700 900;
  font-display:swap;
}
:root {
  --cream:#fff9ef;
  --ink:#43250f;
  --muted:#765d48;
  --orange:#f58a35;
  --yellow:#ffe6a0;
  --purple:#b1aad5;
  --ease:cubic-bezier(.2,.7,.2,1);
  color-scheme:light;
}
* {
  box-sizing:border-box;
}
html {
  scroll-behavior:smooth;
  scroll-padding-top:30px;
}
body {
  margin:0;
  background:var(--cream);
  color:var(--ink);
  font:400 18px/1.65 Nunito,system-ui,sans-serif;
  -webkit-font-smoothing:antialiased;
}
button,select {
  font:inherit;
}
a {
  color:inherit;
  text-decoration:none;
}
button,a,summary {
  -webkit-tap-highlight-color:transparent;
}
button {
  color:inherit;
}
img {
  max-width:100%;
  height:auto;
  display:block;
}
h1,h2,h3,p {
  margin:0;
}
h1,h2,h3 {
  font-family:Chewy,system-ui,sans-serif;
  font-weight:400;
  line-height:1.1;
  text-wrap:balance;
}
p {
  text-wrap:pretty;
}
h2 {
  font-size:clamp(42px,4.6vw,68px);
  letter-spacing:-.025em;
}
h3 {
  font-size:clamp(32px,3.4vw,48px);
  letter-spacing:-.02em;
}
a,button,summary {
  touch-action:manipulation;
}
a:focus-visible,button:focus-visible,summary:focus-visible,[tabindex]:focus-visible {
  outline:3px solid #97531e;
  outline-offset:6px;
}
button:active,.store-link:active {
  transform:scale(.96);
}
.skip-link {
  position:fixed;
  z-index:20;
  left:20px;
  top:-100px;
  padding:12px 20px;
  background:white;
  border-radius:12px;
}
.skip-link:focus {
  top:16px;
}
.site-header {
  height:110px;
  max-width:1440px;
  margin:auto;
  padding:0 64px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:28px;
  position:relative;
  z-index:10;
}
.brand {
  display:flex;
  align-items:center;
  gap:5px;
  flex-shrink:0;
}
.brand span {
  font:400 34px/1 Chewy,system-ui,sans-serif;
  letter-spacing:-1.2px;
}
.brand img {
  object-fit:contain;
}
.main-nav {
  display:flex;
  gap:32px;
  font-size:15px;
  font-weight:700;
}
.main-nav a {
  padding:12px 0;
  transition:color .2s;
}
.main-nav a:hover,.site-footer a:hover {
  color:#b5541f;
}
.header-actions {
  display:flex;
  align-items:center;
  gap:24px;
}
.store-link {
  display:inline-block;
  flex-shrink:0;
  transition:transform .25s var(--ease);
}
.store-link:hover {
  transform:translateY(-3px);
}
.store-link img {
  height:58px;
  width:auto;
  max-width:none;
}
.header-store img {
  height:42px;
}
.language-picker {
  position:relative;
  font-size:14px;
  font-weight:700;
}
.language-picker summary {
  cursor:pointer;
  display:flex;
  align-items:center;
  gap:10px;
  min-height:44px;
  list-style:none;
}
.language-picker summary::-webkit-details-marker {
  display:none;
}
.language-picker nav {
  position:absolute;
  right:0;
  top:52px;
  min-width:150px;
  padding:8px;
  background:#fffcf7;
  box-shadow:0 5px 12px #43250f0a,0 18px 50px #43250f1c;
  border-radius:16px;
}
.language-picker nav a {
  display:block;
  padding:9px 12px;
  border-radius:9px;
}
.language-picker nav a:hover,.language-picker nav a[aria-current] {
  background:#ffeccf;
}
.section-shell {
  max-width:1280px;
  margin:auto;
  padding-left:64px;
  padding-right:64px;
}
/* A single scene stays with the scroll while the two editorial beats pass it. */
.hero-journey {
  position:relative;
  overflow:clip;
  background:radial-gradient(ellipse at 85% 26%,#ffe0a8 0,transparent 44%),linear-gradient(180deg,#fff9ef 0%,#fff3de 52%,#fff9ef 100%);
  view-timeline-name:--opening;
  view-timeline-axis:block;
}
.site-header {
  position:absolute;
  inset:0 0 auto;
  width:100%;
  height:96px;
  z-index:10;
}
.hero {
  max-width:1440px;
  margin:auto;
  padding:0 64px;
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);
  gap:30px;
  position:relative;
}
.hero-content { min-width:0; }
.hero-copy {
  position:relative;
  z-index:3;
  min-height:max(740px,100svh);
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:flex-start;
  padding:128px 0 120px;
}
.hero h1 {
  font-size:clamp(88px,10.2vw,148px);
  line-height:1.04;
  letter-spacing:-.045em;
}
.hero h1 span { display:block; }
.outlined {
  color:#bd5821;
  -webkit-text-stroke:12px #fff;
  paint-order:stroke fill;
  filter:drop-shadow(0 6px 0 #8a4b2b);
  letter-spacing:-.025em;
}
.hero h1 .outlined {
  transform:rotate(-4deg);
  transform-origin:10% 50%;
  margin-top:12px;
  width:max-content;
  max-width:100%;
}
.hero-description {
  max-width:415px;
  font-size:18px;
  line-height:1.65;
  margin-top:34px;
  color:var(--muted);
}
.download-row {
  display:flex;
  align-items:center;
  gap:25px;
  margin-top:28px;
}
.android-note {
  font-size:13px;
  font-weight:700;
  max-width:120px;
  line-height:1.5;
  color:var(--muted);
}
.subscription-note {
  font-size:11px;
  margin-top:17px;
  color:var(--muted);
  max-width:410px;
}
.hero-intro {
  min-height:65svh;
  padding:80px 0 120px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  position:relative;
  z-index:3;
  scroll-margin-top:30px;
}
.hero-intro h2 { font-size:clamp(42px,4.6vw,66px); max-width:550px; }
.hero-intro>p:last-child {
  max-width:440px;
  margin-top:26px;
  color:var(--muted);
  font-size:18px;
}
.hero-scene {
  position:sticky;
  align-self:start;
  top:0;
  height:max(740px,100svh);
  min-width:0;
  pointer-events:none;
}
.scene-canvas { position:relative; width:100%; height:100%; }
.hero-halo,.hero-halo-cool {
  position:absolute;
  width:125%;
  aspect-ratio:1;
  top:15%;
  left:-12%;
  border-radius:50%;
  background:radial-gradient(circle,#ffd875 0,#ffe6a0 52%,#ffe6a000 72%);
}
.hero-halo-cool {
  width:110%;
  left:-5%;
  top:8%;
  background:radial-gradient(circle,#d8ccef 0,#e6ddf080 52%,#e6ddf000 72%);
  opacity:0;
}
.hero-actor {
  position:absolute;
  left:-8%;
  top:18%;
  width:114%;
  height:70%;
  z-index:2;
  transform:translate3d(0,0,0) rotate(-9deg);
}
.hero-litty { width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 28px 18px #bf6b1414); }
.hero-satellite { position:absolute;z-index:3;filter:drop-shadow(0 16px 12px #43250f0d); }
.hero-satellite img { width:100%;height:auto; }
.satellite-alarm { width:27%;right:-5%;top:15%;transform:rotate(14deg); }
.satellite-light { width:25%;left:-10%;bottom:13%;transform:rotate(-16deg); }
.satellite-puzzle { width:25%;right:-5%;bottom:4%;transform:rotate(14deg); }
.hero-ground {
  position:absolute;
  bottom:10%;
  left:15%;
  width:70%;
  height:7%;
  background:radial-gradient(ellipse,#b7681924,transparent 70%);
  transform:scale(.8);
}
.scroll-link { position:absolute;bottom:42px;left:0;display:flex;align-items:center;gap:14px;font-size:12px;font-weight:700;min-height:44px; }
.scroll-line { height:1px;width:46px;background:var(--ink);opacity:.5;transform-origin:left; }
.floating { animation:float 6s ease-in-out infinite;animation-play-state:paused; }
.motion-scene.is-visible .floating { animation-play-state:running; }
.page-hidden .floating,.page-hidden [data-scroll-layer] { animation-play-state:paused!important; }
@keyframes float { 0%,100% {transform:translateY(0) rotate(-2deg)} 50% {transform:translateY(-14px) rotate(1deg)} }
@keyframes litty-journey {
  0% {transform:translate3d(0,0,0) rotate(-9deg) scale(1)}
  45% {transform:translate3d(-7%,4%,0) rotate(7deg) scale(.91)}
  100% {transform:translate3d(-9%,8%,0) rotate(-4deg) scale(.77)}
}
@keyframes halo-journey { to {transform:translate3d(-6%,10%,0) scale(.76);opacity:.1} }
@keyframes cool-journey { to {transform:translate3d(-6%,10%,0) scale(.9);opacity:1} }
@keyframes alarm-journey { to {transform:translate3d(-35%,-100%,0) rotate(40deg) scale(.65);opacity:0} }
@keyframes light-journey { to {transform:translate3d(12%,-120%,0) rotate(16deg) scale(.85)} }
@keyframes puzzle-journey { to {transform:translate3d(-10%,-80%,0) rotate(-22deg) scale(1.12)} }
@keyframes ground-journey { to {transform:translate3d(-10%,0,0) scale(.6);opacity:.4} }
@supports (animation-timeline:view()) {
  @media(prefers-reduced-motion:no-preference) and (min-width:901px) and (min-height:700px) {
    [data-scroll-layer] { animation:linear both;animation-timeline:--opening;animation-range:contain 0% contain 100%; }
    [data-scroll-layer="litty"] {animation-name:litty-journey}
    [data-scroll-layer="halo"] {animation-name:halo-journey}
    [data-scroll-layer="cool"] {animation-name:cool-journey}
    [data-scroll-layer="alarm"] {animation-name:alarm-journey}
    [data-scroll-layer="light"] {animation-name:light-journey}
    [data-scroll-layer="puzzle"] {animation-name:puzzle-journey}
    [data-scroll-layer="ground"] {animation-name:ground-journey}
  }
}
.eyebrow {font-size:12px;font-weight:800;letter-spacing:.13em;text-transform:uppercase;margin-bottom:18px;color:#98612f}
.challenge-showcase {padding:24px 0 110px;overflow:clip}
.challenge-gallery {
  display:flex;
  align-items:flex-start;
  gap:28px;
  max-width:1560px;
  margin:0 auto;
  padding:24px 64px 36px;
  overflow-x:auto;
  overscroll-behavior-x:contain;
  scroll-snap-type:x mandatory;
  scroll-padding-inline:64px;
  scrollbar-width:none;
}
.challenge-gallery::-webkit-scrollbar {display:none}
.challenge-gallery:focus-visible {outline-offset:-6px;border-radius:12px}
.challenge-card {flex:0 0 calc((100% - 112px)/5);min-width:0;scroll-snap-align:start}
.challenge-card:nth-child(even) {padding-top:42px}
.challenge-screen {
  border-radius:28px;
  overflow:hidden;
  background:#e2d9e8;
  box-shadow:0 3px 6px #43250f0b,0 16px 28px -10px #43250f2b;
  outline:1px solid #0000000d;
  transition:transform .4s var(--ease),box-shadow .4s var(--ease);
}
.challenge-screen img {width:100%;height:auto;aspect-ratio:6/13;object-fit:contain}
.challenge-caption {display:grid;grid-template-columns:20px minmax(0,1fr);gap:12px 8px;padding:28px 0 0}
.challenge-index {font:400 14px/1.7 Chewy,system-ui,sans-serif;color:#a38465}
.challenge-caption h3 {font-size:clamp(22px,1.85vw,28px);line-height:1.12;letter-spacing:-.015em;text-wrap:balance}
.challenge-caption p {grid-column:2;font-size:14px;line-height:1.65;color:var(--muted)}
.gallery-toolbar {display:flex;align-items:center;justify-content:space-between;gap:20px;max-width:1280px;margin:0 auto;padding:0 40px;font-size:12px;color:var(--muted)}
.gallery-toolbar[hidden] {display:none}
.gallery-toolbar>div {display:flex;gap:24px}
.gallery-toolbar button {font-size:13px;font-weight:700;min-height:44px;min-width:44px;border:0;border-bottom:1px solid #43250f40;padding:8px 0;background:none;cursor:pointer;transition:opacity .2s}
.gallery-toolbar button:disabled {opacity:.3;cursor:default;border-bottom-color:transparent}
.more-challenges {padding-top:76px}
.more-challenges>h3 {font-size:34px;text-align:center;margin-bottom:36px}
.more-challenge-list {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:36px}
.more-challenge {display:flex;align-items:flex-start;gap:18px;min-width:0}
.more-challenge-art {width:88px;flex:0 0 88px;margin-top:-6px}
.more-challenge-art img {width:100%;height:auto}
.more-challenge h4 {font:400 25px/1.2 Chewy,system-ui,sans-serif;margin:0 0 10px;letter-spacing:-.02em}
.more-challenge p {font-size:14px;line-height:1.65;color:var(--muted);margin:0}
html:lang(ko) .challenge-caption h3,html:lang(ja) .challenge-caption h3 {font-size:21px;line-height:1.4;letter-spacing:-.04em}
html:lang(ko) .more-challenge h4,html:lang(ja) .more-challenge h4 {font-size:21px;font-weight:800;line-height:1.4}
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference) {
  .challenge-card:hover .challenge-screen {transform:translateY(-8px);box-shadow:0 5px 8px #43250f08,0 24px 36px -12px #43250f30}
}
@media(max-width:1199px) {
  .challenge-gallery {gap:28px;padding-left:40px;padding-right:40px;scroll-padding-inline:40px}
  .challenge-card {flex-basis:250px}
  .challenge-caption h3 {font-size:27px}
  .more-challenge-list {gap:24px}
  .more-challenge {flex-direction:column;gap:14px}
  .more-challenge-art {width:96px;flex-basis:auto;align-self:center}
}
@media(max-width:760px) {
  .challenge-showcase {padding-top:4px;padding-bottom:80px}
  .challenge-gallery {padding:20px 24px 32px;gap:24px;scroll-padding-inline:24px}
  .challenge-card {flex-basis:min(74vw,280px)}
  .challenge-card:nth-child(even) {padding-top:0}
  .challenge-screen {border-radius:28px}
  .challenge-caption {padding-top:24px}
  .challenge-caption h3 {font-size:28px}
  .challenge-caption p {font-size:14px}
  .gallery-toolbar {padding:0 24px}
  .gallery-toolbar>div {gap:20px}
  .more-challenges {padding-top:60px}
  .more-challenges>h3 {font-size:32px;margin-bottom:32px;text-align:left}
  .more-challenge-list {grid-template-columns:1fr;gap:30px}
  .more-challenge {flex-direction:row;gap:22px;max-width:440px}
  .more-challenge-art {width:86px;flex:0 0 86px;align-self:flex-start}
  .more-challenge h4 {font-size:26px}
  .more-challenge p {font-size:14px}
}
.morning-section,.litty-section {
  display:grid;
  grid-template-columns:1fr 1fr;
  align-items:center;
  gap:90px;
  padding-top:10px;
  padding-bottom:130px;
}
.section-copy>p:not(.eyebrow) {
  font-size:18px;
  line-height:1.75;
  color:var(--muted);
  margin-top:28px;
  max-width:430px;
}
.section-copy .small-note {
  font-size:12px!important;
  margin-top:25px!important;
}
.morning-art {
  aspect-ratio:1;
  position:relative;
  display:grid;
  place-items:center;
}
.morning-disc {
  position:absolute;
  inset:4%;
  border-radius:42% 58% 60% 40% / 50% 40% 60% 50%;
  background:#e2dfed;
  transform:rotate(-12deg);
}
.morning-art img {
  position:relative;
  width:110%;
  max-width:110%;
  filter:drop-shadow(0 14px 18px #4b386e0c);
}
.morning-word {
  position:absolute;
  bottom:3%;
  right:0;
  transform:rotate(-9deg);
  font:400 58px Chewy;
  color:#8273b2;
  -webkit-text-stroke-width:9px;
  filter:drop-shadow(0 4px 0 #5a4b7a);
}
.night-section {
  position:relative;
  background:#24243e;
  color:#fff4d9;
  overflow:hidden;
}
.night-section::before {
  content:"";
  position:absolute;
  inset:0;
  background:radial-gradient(ellipse at 70% 60%,#57507040,transparent 60%);
}
.night-inner {
  display:grid;
  grid-template-columns:1fr 1.1fr;
  gap:50px;
  align-items:center;
  min-height:640px;
  padding-top:65px;
  padding-bottom:65px;
  position:relative;
}
.night-section .eyebrow {
  color:#bcb3de;
}
.night-section .section-copy>p:not(.eyebrow) {
  color:#cdc7d9;
}
.night-section h2 {
  max-width:440px;
}
.night-art {
  aspect-ratio:1;
  position:relative;
}
.moon-disc {
  position:absolute;
  inset:15%;
  border-radius:50%;
  background:#47415c;
}
.night-orbit {
  position:absolute;
  inset:5%;
  border-radius:50%;
  border:1px solid #7c72873d;
}
.night-phone {
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:contain;
}
.night-dot {
  position:absolute;
  width:5px;
  height:5px;
  border-radius:50%;
  background:#f4dc99;
}
.nd-one {
  top:13%;
  left:28%;
}
.nd-two {
  top:30%;
  right:8%;
  width:9px;
  height:9px;
}
.nd-three {
  bottom:18%;
  left:7%;
  background:#b1aad5;
  width:9px;
  height:9px;
}
.nd-four {
  bottom:7%;
  right:24%;
}
.litty-section {
  padding-top:115px;
  padding-bottom:115px;
  gap:100px;
}
.litty-art {
  aspect-ratio:1;
  position:relative;
}
.litty-disc {
  position:absolute;
  inset:9%;
  border-radius:50%;
  background:#fce8c3;
}
.wardrobe-art {
  position:absolute;
  width:88%;
  height:88%;
  left:-4%;
  top:4%;
  object-fit:contain;
}
.litty-peek {
  position:absolute;
  width:53%;
  height:53%;
  object-fit:contain;
  right:-8%;
  bottom:1%;
  transform:rotate(10deg);
  filter:drop-shadow(0 10px 9px #96591e14);
}
.closing-section {
  text-align:center;
  position:relative;
  overflow:hidden;
  padding:100px 30px 110px;
  background:#ffedc2;
  isolation:isolate;
}
.closing-sun {
  position:absolute;
  z-index:-1;
  width:740px;
  height:740px;
  background:#ffe6a0;
  border-radius:50%;
  left:50%;
  transform:translateX(-50%);
  top:50px;
  box-shadow:0 0 0 80px #ffe6a040,0 0 0 160px #ffe6a020;
}
.closing-section h2 {
  font-size:clamp(48px,6vw,80px);
  line-height:1.25;
}
.closing-section .outlined {
  -webkit-text-stroke-width:10px;
  filter:drop-shadow(0 4px 0 #8a4b2b);
}
.closing-section .closing-content>p {
  color:var(--muted);
  margin-top:25px;
}
.closing-section .download-row {
  justify-content:center;
  margin-top:28px;
}
.closing-section .subscription-note {
  margin:18px auto 0!important;
  font-size:11px;
}
.closing-section .android-note {
  text-align:left;
}
.site-footer {
  max-width:1440px;
  margin:auto;
  padding:46px 64px 24px;
  font-size:13px;
}
.footer-top,.footer-bottom {
  display:flex;
  align-items:center;
  gap:35px;
}
.footer-top>p {
  color:var(--muted);
  font-size:14px;
}
.site-footer nav {
  display:flex;
  align-items:center;
  gap:24px;
  flex-wrap:wrap;
}
.footer-top nav {
  margin-left:auto;
}
.site-footer a:not(.brand) {
  min-height:44px;
  display:flex;
  align-items:center;
  transition:color .2s;
}
.footer-bottom {
  border-top:1px solid #e9ddca;
  margin-top:30px;
  padding-top:16px;
  justify-content:space-between;
  color:var(--muted);
  font-size:11px;
}
.footer-bottom nav {
  gap:20px;
}
.footer-bottom [aria-current] {
  text-decoration:underline;
  text-underline-offset:5px;
}
.reveal {
  opacity:1;
}
.reveal.is-pending {
  opacity:0;
  transform:translateY(24px);
}
.reveal.is-revealed {
  opacity:1;
  transform:translateY(0);
  transition:opacity .7s var(--ease),transform .7s var(--ease);
}
html:lang(ko) h1,html:lang(ja) h1 {font-size:clamp(42px,6vw,88px);font-weight:900;line-height:1.35;letter-spacing:-.06em}
html:lang(ko) h2,html:lang(ja) h2 {font-size:clamp(35px,3.7vw,52px);line-height:1.35;font-weight:900}
html:lang(ko) h3,html:lang(ja) h3 {font-size:34px;line-height:1.35;font-weight:900}
html:lang(fr) .hero h1,html:lang(es) .hero h1 {font-size:clamp(76px,8.2vw,118px)}
@media(max-width:1100px) {
  .site-header {padding:0 36px;gap:20px}
  .main-nav {gap:20px;font-size:14px}
  .header-actions {gap:18px}
  .header-store {display:none}
  .section-shell {padding-left:40px;padding-right:40px}
  .hero {padding:0 40px;gap:20px}
  .hero h1 {font-size:clamp(76px,10vw,118px)}
  .hero-description {font-size:17px;max-width:100%}
  .download-row {gap:18px}
  .store-link img {height:52px}
  .android-note {font-size:12px}
  .hero-intro>p:last-child {font-size:17px}
  .morning-section,.litty-section {gap:50px}
  .night-inner {min-height:550px}
  .footer-top {gap:20px}
  .footer-top>p {display:none}
  .site-footer {padding-left:40px;padding-right:40px}
}
@media(max-height:699px) and (min-width:901px) {
  .hero-content {display:contents}
  .hero-copy {min-height:700px;grid-column:1;padding-top:130px;padding-bottom:100px}
  .hero-scene {position:relative;height:700px;grid-column:2;grid-row:1}
  .hero-intro {grid-column:1/-1;min-height:0;max-width:650px;text-align:center;margin:auto;padding:60px 0}
  .hero-intro>p:last-child {margin-left:auto;margin-right:auto}
}
@media(max-width:900px) {
  .site-header {height:88px;padding:0 24px}
  .brand span {font-size:31px}
  .brand img {width:40px;height:40px}
  .main-nav {display:none}
  .header-actions {gap:0}
  .language-picker {font-size:12px}
  .hero {display:flex;flex-direction:column;gap:0;padding:0 24px}
  .hero-content {display:contents}
  .hero-copy {order:0;min-height:0;align-items:center;text-align:center;padding:108px 0 0;width:100%}
  .hero h1 {font-size:clamp(80px,16vw,120px);line-height:1.05}
  .hero h1 .outlined {transform-origin:center;margin:8px auto 0;-webkit-text-stroke-width:10px;filter:drop-shadow(0 5px 0 #8a4b2b)}
  .hero-description {font-size:16px;max-width:420px;margin:28px auto 0}
  .download-row {justify-content:center;gap:18px;margin-top:24px;text-align:left}
  .store-link img {height:50px}
  .android-note {font-size:12px;max-width:100px}
  .subscription-note {font-size:11px;max-width:350px;margin:14px auto 0;line-height:1.5}
  .scroll-link {display:none}
  .scroll-line {width:30px}
  .hero-scene {order:1;position:relative;height:clamp(320px,90vw,550px);width:min(100%,580px);margin:0 auto;view-timeline-name:--mobile-scene;view-timeline-axis:block}
  .hero-actor {width:95%;height:94%;top:0;left:2.5%}
  .hero-halo,.hero-halo-cool {width:110%;left:-5%;top:2%}
  .hero-satellite {width:23%}
  .satellite-alarm {top:0;right:-3%}
  .satellite-light {bottom:18%;left:-5%}
  .satellite-puzzle {bottom:3%;right:-2%}
  .hero-ground {bottom:9%}
  .hero-intro {order:2;min-height:0;text-align:center;max-width:620px;margin:auto;padding:80px 0 32px}
  .hero-intro h2 {font-size:clamp(38px,7.5vw,54px)}
  .hero-intro>p:last-child {font-size:16px;margin:20px auto 0}
  .eyebrow {font-size:10px;letter-spacing:.12em;margin-bottom:15px}
  html:lang(fr) .hero h1,html:lang(es) .hero h1 {font-size:clamp(62px,13.5vw,104px)}
  html:lang(ko) .hero h1,html:lang(ja) .hero h1 {font-size:clamp(36px,11vw,72px);line-height:1.4}
}
@media(max-width:760px) {
  body {font-size:16px}
  .section-shell {padding-left:24px;padding-right:24px}
  h2 {font-size:42px;line-height:1.13}
  .morning-section,.litty-section {grid-template-columns:1fr;gap:32px;padding-top:0;padding-bottom:75px}
  .morning-art,.litty-art {width:min(90%,380px);margin:auto;grid-row:2}
  .section-copy {max-width:480px;margin:auto;width:100%;text-align:center}
  .section-copy>p:not(.eyebrow) {font-size:16px;line-height:1.75;margin:20px auto 0}
  .section-copy .small-note {font-size:11px!important;margin-top:18px!important}
  .morning-word {font-size:48px;bottom:0}
  .night-inner {grid-template-columns:1fr;gap:28px;padding-top:65px;padding-bottom:48px}
  .night-section h2 {max-width:430px;margin:auto}
  .night-art {width:min(100%,400px);margin:auto}
  .litty-section {padding-top:70px;padding-bottom:70px;gap:35px}
  .litty-peek {right:-3%;bottom:0}
  .wardrobe-art {left:-1%}
  .closing-section {padding:64px 24px 70px}
  .closing-section h2 {font-size:clamp(39px,8.8vw,62px)}
  .closing-section .outlined {-webkit-text-stroke-width:7px;filter:drop-shadow(0 4px 0 #8a4b2b)}
  .closing-section .closing-content>p {font-size:15px;margin-top:20px}
  .closing-section .subscription-note {font-size:11px}
  .closing-sun {width:520px;height:520px;top:50px}
  .site-footer {padding:30px 24px 18px}
  .footer-top {flex-wrap:wrap;justify-content:center;gap:16px}
  .footer-top nav {margin-left:0;gap:24px;font-size:12px}
  .footer-top .brand {width:100%;justify-content:center}
  .footer-bottom {margin-top:20px;flex-direction:column-reverse;gap:6px;padding-top:12px}
  .footer-bottom nav {gap:18px}
  .footer-bottom>span {font-size:10px}
  html:lang(ko) h2,html:lang(ja) h2 {font-size:35px}
  html:lang(ko) h3,html:lang(ja) h3 {font-size:29px}
}
@media(max-width:360px) {
  .hero {padding-left:20px;padding-right:20px}
  .hero h1 {font-size:76px}
  .section-shell {padding-left:18px;padding-right:18px}
  .site-header {padding:0 20px}
  h2 {font-size:38px}
  .store-link img {height:46px}
  .download-row {gap:12px}
  .footer-bottom nav {gap:14px}
}
@keyframes litty-mobile {from{transform:translate3d(0,22px,0) rotate(-9deg)}to{transform:translate3d(0,-35px,0) rotate(8deg)}}
@keyframes satellite-mobile {from{transform:translate3d(0,15px,0) rotate(-12deg)}to{transform:translate3d(0,-55px,0) rotate(12deg)}}
@supports(animation-timeline:view()) {
  @media(max-width:900px) and (prefers-reduced-motion:no-preference) {
    .hero-actor {animation:litty-mobile linear both;animation-timeline:--mobile-scene;animation-range:entry 0% exit 100%}
    .hero-satellite {animation:satellite-mobile linear both;animation-timeline:--mobile-scene;animation-range:entry 0% exit 100%}
  }
}
@media(prefers-reduced-motion:reduce) {
  html {scroll-behavior:auto}
  *,*::before,*::after {animation:none!important;transition:none!important}
  .reveal.is-pending {opacity:1;transform:none}
  .store-link:hover {transform:none}
  .hero-content {display:contents}
  .hero-scene {position:relative;grid-column:2;grid-row:1}
  .hero-copy {grid-column:1}
  .hero-intro {grid-column:1/-1;min-height:0;max-width:650px;text-align:center;margin:auto;padding:60px 0}
  .hero-intro>p:last-child {margin-left:auto;margin-right:auto}
}
