/* ASOBI — golden white, and joy. Her drop of water is the whole visual language: it opens the world, it rises behind her words, it is what a family keeps. Nothing drawn, nothing black, nothing beige. */
html{overflow-x:hidden}
body{background:#fff;color:var(--ink);font-family:var(--body)}
.gk-bar{background:rgba(255,255,255,.92);backdrop-filter:blur(8px)}
.gk-bar__nav{display:flex!important}
.gk-bar__nav li{list-style:none;margin:0;padding:0}
.gk-bar__nav a::before,.gk-bar__nav a::after{content:none!important;display:none!important}
.gk-bar__nav a{font:700 .7rem/1 var(--body);letter-spacing:.26em;text-transform:uppercase;color:var(--signal-deep);text-decoration:none;border-bottom:1px solid var(--signal);padding-bottom:.3rem}
.as-eyebrow{font-family:var(--body);font-weight:700;font-size:.72rem;letter-spacing:.3em;text-transform:uppercase;color:var(--signal-deep);margin:0 0 .6rem}
.as-h2{font-family:var(--head);font-weight:500;font-variation-settings:"opsz" 144,"WONK" 1;font-size:clamp(1.8rem,3.8vw,3.2rem);line-height:1.06;margin:0 0 1rem;letter-spacing:-.01em}
.as-go{display:inline-block;background:linear-gradient(135deg,var(--signal),var(--signal-deep));color:#fff;text-decoration:none;font:700 1.05rem/1 var(--body);letter-spacing:.06em;padding:1rem 1.8rem;border-radius:999px;box-shadow:0 12px 30px rgba(178,135,31,.32);transition:transform .2s ease,box-shadow .2s ease;border:0;cursor:pointer}
.as-go:hover{transform:translateY(-2px);box-shadow:0 16px 36px rgba(178,135,31,.4)}
@keyframes as-in{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}

/* THE OPENING — one screen: her animation, then her lines in its place, her drops rising behind */
.as-tree{position:relative;min-height:100svh;background:#fff;overflow:hidden}
.as-sky{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;opacity:0;transition:opacity 2.4s ease}
.as-tree.as-tree--told .as-sky{opacity:1}
.as-tree__first{position:relative;min-height:100svh;padding:56px 6vw 4vh;display:grid;grid-template-rows:auto auto;align-content:start;justify-items:center;text-align:center;transition:opacity 1.6s ease,transform 1.6s ease}
.as-tree.as-tree--told .as-tree__first{opacity:0;transform:scale(.985);pointer-events:none}
.as-tree__drop{width:min(92vw,720px)}
.as-tree__film{display:block;width:100%;height:auto;max-height:66svh;object-fit:contain}
.as-tree__words{max-width:min(40rem,100%);width:100%}
.as-tree__name{font-family:var(--name);font-weight:600;font-variation-settings:"opsz" 144;font-size:clamp(2.6rem,8vw,6.4rem);letter-spacing:.16em;padding-left:.16em;margin:0;line-height:1;color:var(--signal-deep)}
.as-tree__line{font-family:var(--head);font-style:italic;font-size:clamp(1.4rem,3.2vw,2.7rem);margin:.6rem 0 0;line-height:1.15}
.as-told{position:absolute;inset:0;display:grid;place-items:center;padding:0;text-align:center;pointer-events:none}
.as-told__plate{grid-area:1/1;width:100vw;justify-self:center;min-height:min(30svh,19rem);background:linear-gradient(90deg,#F4E0A6,#E7C45F 50%,#F4E0A6);box-shadow:0 24px 70px rgba(178,135,31,.22),inset 0 1px 0 rgba(255,255,255,.7),inset 0 -1px 0 rgba(178,135,31,.35);opacity:0;transform:scaleY(.94);transition:opacity 1.6s ease .4s,transform 1.6s ease .4s}
.as-tree.as-tree--told .as-told__plate{opacity:1;transform:none}
.as-told__say{grid-area:1/1;margin:0;width:min(92vw,48rem);font-family:var(--head);font-weight:500;font-variation-settings:"opsz" 144;font-size:clamp(2rem,5vw,4rem);line-height:1.3;color:#5E4508;padding:0 5vw;opacity:0;transform:translateY(8px);transition:opacity 1.5s ease,transform 1.5s ease}
.as-told__say.on{opacity:1;transform:none}
.as-told__say.off{opacity:0;transform:translateY(-6px)}
.as-told__say:last-child{font-style:italic}

/* THE SOLUTION — the family from inside the drop, and one quiet press */
.as-solution{min-height:92svh;padding:10vh 6vw 12vh;display:grid;grid-template-columns:1fr 1.1fr;gap:5vw;align-items:center;background:#fff}
.as-solution__family{justify-self:center;width:min(70vw,440px);aspect-ratio:1;border-radius:50%;overflow:hidden;box-shadow:0 40px 100px rgba(178,135,31,.22),0 0 0 1px rgba(212,163,44,.25)}
.as-solution__family img{width:100%;height:100%;object-fit:cover;object-position:50% 62%;transform:scale(1.12)}
.as-solution__head{font-family:var(--head);font-weight:500;font-variation-settings:"opsz" 144,"WONK" 1;font-size:clamp(2rem,4.6vw,4rem);line-height:1.08;margin:0 0 2vh;color:var(--signal-deep)}
.as-solution__sub{font-family:var(--head);font-style:italic;font-size:clamp(1.4rem,2.8vw,2.4rem);margin:0 0 4vh;line-height:1.2}
.as-more{display:inline-block;font:700 .82rem/1 var(--body);letter-spacing:.3em;text-transform:uppercase;color:var(--signal-deep);text-decoration:none;border-bottom:2px solid var(--signal);padding-bottom:.5rem}
.as-know{padding-top:56px}

/* WHAT ARRIVES — the Sunday note, on a phone */
.as-note{padding:10vh 6vw 9vh;display:grid;grid-template-columns:1.05fr 1fr;gap:5vw;align-items:center;background:#fff}
.as-note__three{display:grid;gap:.6rem;margin:2vh 0 3vh}
.as-note__three p{margin:0;display:grid;grid-template-columns:9.5rem 1fr;gap:1rem;align-items:baseline;line-height:1.45}
.as-note__three strong{font-family:var(--head);font-weight:600;font-size:1.15rem;color:var(--signal-deep)}
.as-note__ages{font-weight:700;font-size:.72rem;letter-spacing:.26em;text-transform:uppercase;color:var(--signal-deep);margin:0 0 .9rem}
.as-coins{display:flex;flex-wrap:wrap;gap:.6rem}
.as-coin{width:52px;height:52px;border-radius:50%;border:2px solid var(--signal);background:transparent;font:600 1.4rem/1 var(--name);color:var(--signal-deep);cursor:pointer;transition:transform .2s ease,background .2s ease,color .2s ease}
.as-coin.on{background:var(--signal);color:#fff;transform:scale(1.08);box-shadow:0 8px 20px rgba(212,163,44,.35)}
.as-note__yours{font-family:var(--head);font-style:italic;font-size:clamp(1.05rem,1.7vw,1.35rem);line-height:1.4;margin:3vh 0 0;max-width:36ch}
.as-phone{justify-self:center;width:min(88vw,380px);background:#fff;border-radius:38px;padding:1.6rem 1.4rem 1.8rem;box-shadow:0 40px 90px rgba(178,135,31,.2),0 0 0 1px rgba(212,163,44,.3),inset 0 0 0 8px #fff,inset 0 0 0 9px rgba(212,163,44,.25)}
.as-phone__top{display:flex;align-items:center;gap:.7rem;margin:0 0 .9rem}
.as-phone__top img{width:34px;height:auto}
.as-phone__top span{font:700 .66rem/1 var(--body);letter-spacing:.2em;text-transform:uppercase;color:var(--leaf);opacity:.85}
.as-phone__subject{margin:0 0 1rem;font-family:var(--head);font-weight:600;font-size:1.25rem;color:var(--signal-deep)}
.as-phone__plays{display:grid;gap:.8rem}
.as-play{display:grid;grid-template-columns:auto 1fr;gap:.8rem;align-items:start;padding:.9rem 1rem;border-radius:16px;box-shadow:0 10px 30px rgba(212,163,44,.14);animation:as-in .5s ease both}
.as-play__age{font:600 1.9rem/1 var(--name);color:var(--signal-deep);min-width:1.3ch}
.as-play p{margin:.1rem 0 0;line-height:1.45;font-size:.94rem}
.as-play--empty{display:block;font-family:var(--head);font-style:italic;opacity:.7;box-shadow:none;padding:.4rem 0}

/* THE TREASURE — the real screen a family holds, with her drops rising behind it */
.as-treasure{position:relative;padding:10vh 6vw 10vh;display:grid;grid-template-columns:1fr 1.25fr;gap:5vw;align-items:center;background:#fff;overflow:hidden}
.as-treasure > *{position:relative}
.as-sky--treasure{position:absolute!important;inset:0;width:100%;height:100%;pointer-events:none}
.as-treasure__body{font-size:clamp(1.05rem,1.5vw,1.25rem);line-height:1.5;margin:0 0 2vh;max-width:44ch}
.as-treasure__line{font-family:var(--head);font-style:italic;font-size:clamp(1.2rem,2.2vw,1.8rem);margin:0;color:var(--signal-deep)}
.as-vault{background:#fff;border-radius:28px;padding:1.6rem 1.6rem 1.4rem;box-shadow:0 30px 80px rgba(178,135,31,.18),0 0 0 1px rgba(212,163,44,.25)}
.as-vault__top{display:flex;align-items:center;gap:.9rem;margin-bottom:1.2rem}
.as-vault__emblem{width:44px;height:auto}
.as-vault__name{font-family:var(--head);font-weight:600;font-size:1.3rem;color:var(--signal-deep)}
.as-vault__count{margin-left:auto;font:700 .68rem/1 var(--body);letter-spacing:.24em;text-transform:uppercase;color:var(--leaf);opacity:.8}
.as-vault__weeks{display:grid;gap:.8rem}
.as-vault__week{display:grid;grid-template-columns:96px 1fr;gap:1rem;align-items:center;padding:.8rem;border-radius:18px;background:#fff;box-shadow:0 10px 30px rgba(212,163,44,.12);opacity:0;transform:translateY(10px);transition:opacity .9s ease calc(.3s + var(--i) * .25s),transform .9s ease calc(.3s + var(--i) * .25s)}
.as-treasure.on .as-vault__week{opacity:1;transform:none}
.as-vault__frame{aspect-ratio:4/3;border-radius:12px;background:linear-gradient(135deg,#FBF3DF,#F3E3B5);box-shadow:inset 0 0 0 2px #D4A32C;display:grid;place-items:center;text-align:center;padding:.4rem}
.as-vault__frame span{font:600 .62rem/1.3 var(--body);letter-spacing:.14em;text-transform:uppercase;color:var(--signal-deep);opacity:.8}
.as-vault__meta{margin:0 0 .25rem;font:700 .66rem/1 var(--body);letter-spacing:.22em;text-transform:uppercase;color:var(--signal-deep)}
.as-vault__said{margin:0;font-family:var(--head);font-style:italic;font-size:1.05rem;line-height:1.35}
.as-vault__hand{margin:1.2rem 0 0;font-size:.95rem;line-height:1.45;text-align:center;opacity:.85}

/* THE WAY IN */
.as-join{background:#fff;padding:10vh 6vw 12vh;display:grid;grid-template-columns:1.3fr 1fr;gap:4vw;align-items:center}
.as-join__body{font-family:var(--head);font-style:italic;font-size:clamp(1.1rem,2vw,1.5rem);margin:0 0 3vh;max-width:36ch}
.as-join__price{font:600 clamp(2rem,4vw,3.2rem)/1 var(--name);color:var(--signal-deep);margin:0 0 2vh}
.as-join__soon{font-size:1.1rem;line-height:1.5;max-width:40ch;margin:0;padding:1rem 1.3rem;background:#fff;border-radius:18px 18px 18px 4px;display:inline-block;box-shadow:0 10px 30px rgba(212,163,44,.12)}
.as-join__emblem{width:min(60vw,320px);justify-self:center;filter:drop-shadow(0 20px 40px rgba(212,163,44,.25))}

/* ON A PHONE */
@media(max-width:760px){
.as-solution{grid-template-columns:1fr;gap:5vh;padding:8vh 7vw 12vh;text-align:center}.as-solution__family{width:min(72vw,320px)}
.as-tree__first{padding:56px 6vw 4vh}
.as-tree__drop{width:100vw;margin:0 -6vw;overflow:hidden;display:flex;justify-content:center}
.as-tree__film{width:230vw;max-width:none;height:auto;max-height:none;object-fit:contain}
.as-note{grid-template-columns:1fr;gap:5vh}
.as-note__three p{grid-template-columns:1fr;gap:.1rem}
.as-treasure{grid-template-columns:1fr}.as-vault__week{grid-template-columns:72px 1fr}
.as-join{grid-template-columns:1fr}.as-join__emblem{order:-1;width:44vw}
}
@media(prefers-reduced-motion:reduce){.as-told__say,.as-vault__week,.as-tree__first,.as-sky{transition:none!important}.as-play{animation:none}}

/* THE QUEST — one thing on the screen at a time; a cheeky child leads */
.as-quest{position:relative;min-height:100svh;padding-top:56px;background:#fff;overflow:hidden}
.as-sky--quest{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;opacity:1}
.as-q{position:relative;display:none;min-height:calc(100svh - 56px);padding:8vh 6vw 10vh;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:4vh}
.as-q.on{display:flex;animation:as-in .9s ease both}
.as-q--open{gap:5vh;justify-content:flex-start;padding-top:8vh}
.as-q__hover{width:min(44vw,220px);height:auto;filter:drop-shadow(0 30px 60px rgba(178,135,31,.28));animation:as-hover 6s ease-in-out infinite;margin-bottom:1vh}
@keyframes as-hover{0%,100%{transform:translateY(0) rotate(-1deg)}50%{transform:translateY(-16px) rotate(1.5deg)}}
.as-q--open .as-q__child--late{margin-top:2vh}
.as-burst{display:grid;justify-items:center;gap:2vh;padding:3vh 0}
.as-burst__word{margin:0;font-family:var(--head);font-weight:400;font-variation-settings:"opsz" 144;font-size:clamp(1.6rem,3.8vw,3rem);line-height:1.15;color:var(--signal-deep);opacity:0;transform:translateY(18px) scale(.94);animation:as-pop .9s cubic-bezier(.2,.8,.2,1) calc(.3s + var(--i) * .75s) forwards}
.as-burst__word:nth-child(even){color:var(--ink);font-style:italic}
@keyframes as-pop{to{opacity:1;transform:none}}
.as-glitter{font-style:normal;background:linear-gradient(100deg,#B2871F 0%,#F3DE9A 30%,#D4A32C 50%,#FFF2C2 70%,#B2871F 100%);background-size:250% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:as-shimmer 3.2s linear infinite;transition:opacity 1.4s ease .6s,filter 1.4s ease}
.as-glitter.gone{background:none;-webkit-background-clip:initial;background-clip:initial;color:transparent;-webkit-text-stroke:1px rgba(212,163,44,.75);animation:none;opacity:.7;filter:blur(.2px)}
@keyframes as-shimmer{from{background-position:120% 0}to{background-position:-120% 0}}
.as-sparkle{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:5}
.as-q__open{font-family:var(--head);font-weight:500;font-variation-settings:"opsz" 144,"WONK" 1;font-size:clamp(2rem,5vw,4.4rem);line-height:1.1;margin:0;max-width:22ch;color:var(--signal-deep)}
.as-q__open span{display:block;font-style:italic;font-weight:400;color:var(--ink);margin-top:.3em}
.as-q__child{font-family:var(--head);font-style:italic;font-weight:400;font-size:clamp(1.15rem,2.2vw,1.75rem);line-height:1.35;margin:0;max-width:30ch;color:var(--ink)}
.as-q__child--after{color:var(--signal-deep)}
.as-q__child--late,.as-q__go--late{opacity:0;animation:as-in 1.2s ease 2.2s forwards}
.as-q__go--late{animation-delay:3.2s}
.as-q__go{background:none;border:0;cursor:pointer;font:700 .8rem/1 var(--body);letter-spacing:.3em;text-transform:uppercase;color:var(--signal-deep);border-bottom:2px solid var(--signal);padding:.6rem 0;margin-top:1vh}
.as-q__ask{font:700 .72rem/1 var(--body);letter-spacing:.26em;text-transform:uppercase;color:var(--signal-deep);margin:1vh 0 0}
.as-q__drop{background:none;border:0;cursor:pointer;width:min(62vw,300px);padding:0;transition:transform .5s cubic-bezier(.2,.8,.2,1),opacity .6s ease}
.as-q__drop img{width:100%;height:auto;display:block;filter:drop-shadow(0 30px 60px rgba(178,135,31,.25))}
.as-q__drop:hover{transform:scale(1.04) rotate(-2deg)}
.as-q.found .as-q__drop{transform:scale(1.9);opacity:.16;pointer-events:none;position:absolute;top:50%;margin-top:-20vh;filter:none}
.as-q__found{display:none;flex-direction:column;align-items:center;gap:2vh;max-width:100%}
.as-q.found .as-q__found{display:flex;animation:as-in .9s ease .3s both}
.as-q__note{background:#fff;border:0;cursor:pointer;border-radius:22px 22px 22px 6px;padding:1.4rem 1.8rem;box-shadow:0 20px 50px rgba(212,163,44,.18),0 0 0 1px rgba(212,163,44,.3);display:grid;gap:.5rem;text-align:left;transition:transform .4s ease}
.as-q__note:hover{transform:translateY(-4px) rotate(-1deg)}
.as-q__note-from{font:700 .66rem/1 var(--body);letter-spacing:.22em;text-transform:uppercase;color:var(--leaf);opacity:.85}
.as-q__note-q{font-family:var(--head);font-weight:500;font-size:clamp(1.3rem,2.6vw,2rem);color:var(--signal-deep)}
.as-q.found .as-q__note{transform:scale(1.06)}
.as-whens{display:flex;flex-wrap:wrap;justify-content:center;gap:.8rem;max-width:36rem}
.as-when{background:#fff;border:2px solid var(--signal);border-radius:999px;padding:.9rem 1.3rem;font:600 1rem/1 var(--head);color:var(--signal-deep);cursor:pointer;transition:transform .2s ease,background .2s ease,color .2s ease}
.as-when:hover{transform:translateY(-3px) rotate(-1.5deg)}
.as-when.on{background:var(--signal);color:#fff;transform:scale(1.06);box-shadow:0 10px 24px rgba(212,163,44,.35)}
.as-q .as-vault{width:min(86vw,420px);text-align:left;padding:1.2rem 1.2rem 1rem}
.as-q .as-vault__week{opacity:1;transform:none}
.as-q__line{font-family:var(--head);font-size:clamp(1.5rem,3.2vw,2.8rem);line-height:1.2;margin:0;max-width:24ch;color:var(--signal-deep)}
.as-q__line em{display:block;font-style:italic;color:var(--ink)}
.as-q .as-phone{width:min(88vw,380px)}
@media(max-width:760px){.as-q{padding:6vh 6vw 8vh}}
