/* Teddy Games: game detail pages (Nov 14). Loaded by index.html, used by /gp/gp.js. */
.gp{--c:#FF8000;--c2:#FFC53D;--c3:#8A2BEF;position:relative;overflow:hidden}
.gp h2.big{font:800 clamp(40px,7.4vw,104px)/.92 Sora,Inter,sans-serif;letter-spacing:-.045em;text-transform:uppercase}
.gp h2.big em,.gp h2 em{font-style:normal;color:var(--c)}
.gp .btn-play{background:var(--c);color:#fff;box-shadow:0 12px 40px -8px color-mix(in srgb,var(--c) 75%,transparent)}
.gp .btn-play:hover{background:color-mix(in srgb,var(--c) 85%,#fff);box-shadow:0 14px 50px -6px var(--c)}
.gp .sub{color:var(--muted);font-size:clamp(16px,1.6vw,19px);max-width:46ch;margin-top:18px}
.gp section{position:relative;padding:clamp(70px,10vw,130px) 0}
.gp .kick{font:700 12px/1 Inter,sans-serif;letter-spacing:.22em;text-transform:uppercase;color:var(--c);display:inline-flex;align-items:center;gap:10px;margin-bottom:18px}
.gp .kick::before{content:"";width:22px;height:2px;background:currentColor;border-radius:2px}

/* word-by-word reveal */
.gp [data-split] .gw{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.06em}
.gp [data-split] .gw>span{display:inline-block;transform:translateY(105%);transition:transform .8s cubic-bezier(.2,.8,.2,1)}
.gp [data-split].in .gw>span{transform:none}
.gp [data-r]{opacity:0;transform:translateY(26px);transition:opacity .8s ease,transform .8s cubic-bezier(.2,.8,.2,1)}
.gp [data-r].in{opacity:1;transform:none}

/* ---------- devices ---------- */
.dev{position:relative;background:linear-gradient(145deg,#2b2b31,#0d0d10 40%,#1c1c21);border-radius:clamp(18px,3.2vw,34px);padding:clamp(6px,.9vw,11px);box-shadow:0 0 0 1px rgba(255,255,255,.09),inset 0 0 0 1.5px rgba(255,255,255,.07),0 40px 90px -30px rgba(0,0,0,.9),0 0 120px -40px var(--c)}
.dev.land{aspect-ratio:20/9.4}
.dev.port{aspect-ratio:9.4/20}
.dev.tab{aspect-ratio:4/3;border-radius:clamp(16px,2.4vw,28px)}
.dev .scr{position:relative;width:100%;height:100%;border-radius:clamp(12px,2.4vw,24px);overflow:hidden;background:#000}
.dev.tab .scr{border-radius:clamp(10px,1.6vw,18px)}
.dev .scr img,.dev .scr video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.dev .scr img.kb{animation:kb 14s ease-in-out infinite alternate}
@keyframes kb{from{transform:scale(1.02) translate(0,0)}to{transform:scale(1.12) translate(-2%,-1.5%)}}
.dev .scr::after{content:"";position:absolute;inset:0;background:linear-gradient(115deg,rgba(255,255,255,.16) 0%,rgba(255,255,255,0) 28%,rgba(255,255,255,0) 70%,rgba(255,255,255,.05) 100%);pointer-events:none}
.dev.land .notch{position:absolute;left:clamp(10px,1.4vw,16px);top:50%;width:5px;height:16%;border-radius:4px;background:#000;transform:translateY(-50%);z-index:2;opacity:.85}
.dev.port .notch{position:absolute;top:clamp(10px,1.4vw,16px);left:50%;height:5px;width:22%;border-radius:4px;background:#000;transform:translateX(-50%);z-index:2;opacity:.85}
.dev .live{position:absolute;right:12px;top:12px;z-index:3;font:700 10px/1 Inter,sans-serif;letter-spacing:.14em;padding:6px 8px;border-radius:6px;background:rgba(0,0,0,.55);color:#fff;display:flex;gap:6px;align-items:center;backdrop-filter:blur(6px)}
.dev .live i{width:6px;height:6px;border-radius:50%;background:#ff3b3b;box-shadow:0 0 8px #ff3b3b;animation:blink 1.2s infinite}
@keyframes blink{50%{opacity:.25}}

/* ---------- hero ---------- */
.gp-hero{min-height:min(100vh,940px);display:flex;align-items:center;padding:120px 0 60px!important}
.gp-hero .bgart{position:absolute;inset:0;background-size:cover;background-position:center;opacity:.18;filter:blur(2px) saturate(1.2);transform:scale(1.08)}
.gp-hero::before{content:"";position:absolute;inset:0;background:radial-gradient(60% 70% at 72% 45%,color-mix(in srgb,var(--c) 34%,transparent) 0%,transparent 70%),radial-gradient(50% 60% at 10% 90%,color-mix(in srgb,var(--c3) 22%,transparent) 0%,transparent 70%),linear-gradient(0deg,var(--bg) 0%,transparent 30%,transparent 80%,rgba(10,6,4,.6) 100%)}
.gp-hero .wrap{position:relative;z-index:2;display:grid;gap:40px;align-items:center;width:100%}
@media(min-width:1000px){.gp-hero .wrap{grid-template-columns:.9fr 1.1fr}}
.gp-hero .back{margin-bottom:22px}
.gp-hero .glogo{height:clamp(110px,14vw,190px);width:auto;max-width:100%;object-fit:contain;filter:drop-shadow(0 12px 30px rgba(0,0,0,.6));display:block}
.gp-hero h1{font:800 clamp(48px,7vw,98px)/.92 Sora,sans-serif;letter-spacing:-.045em;text-transform:uppercase;max-width:11ch}
.gp-hero .tagline{font-size:clamp(17px,1.7vw,21px);color:#F0E6DD;max-width:42ch;margin:20px 0 26px}
.gp-hero .badge{margin-bottom:20px}
.gp-hero .btn-play{background:var(--c);color:#fff;box-shadow:0 12px 40px -6px color-mix(in srgb,var(--c) 70%,transparent)}
.gp-hero .btn-play:hover{background:color-mix(in srgb,var(--c) 85%,#fff);box-shadow:0 14px 50px -6px var(--c)}
.gp .btn-play.dark{color:#1A0A00}

.stage{position:relative;aspect-ratio:1.18/1;width:100%;max-width:760px;justify-self:center}
.stage .lay{position:absolute;transition:transform .5s cubic-bezier(.2,.8,.2,1);will-change:transform}
.stage .main{left:4%;top:20%;width:86%;transform-style:preserve-3d}
.stage .main .dev{transform:perspective(1600px) rotateY(-14deg) rotateX(7deg) rotateZ(-5deg);animation:bob 6s ease-in-out infinite}
.stage.port .main{left:30%;top:2%;width:40%}
.stage.port .main .dev{transform:perspective(1600px) rotateY(-12deg) rotateX(6deg) rotateZ(5deg)}
.stage .side{right:-2%;top:2%;width:42%;z-index:-1}
.stage .side .dev{transform:perspective(1400px) rotateY(16deg) rotateZ(6deg);opacity:.92;animation:bob 7s -2s ease-in-out infinite}
.stage.port .side{right:auto;left:-2%;top:30%;width:44%}
.stage.port .side .dev{transform:perspective(1400px) rotateY(18deg) rotateZ(-7deg)}
.stage .third{right:2%;top:48%;width:30%;z-index:1}
.stage .third .dev{transform:perspective(1400px) rotateY(-20deg) rotateZ(8deg);animation:bob 8s -4s ease-in-out infinite}
@keyframes bob{50%{translate:0 -12px}}
.stage .icon{left:0;bottom:4%;width:clamp(86px,13vw,132px);aspect-ratio:1;border-radius:26%;overflow:hidden;z-index:3;box-shadow:0 20px 50px -10px rgba(0,0,0,.8),0 0 0 3px rgba(255,255,255,.9);transform:rotate(-9deg);animation:bob 5s -1s ease-in-out infinite;background:#000}
.stage .icon img{width:100%;height:100%;object-fit:cover}
.stage.port .icon{left:auto;right:6%;bottom:8%;transform:rotate(9deg)}
.stage .tag{z-index:4;font:800 clamp(12px,1.2vw,15px)/1 Sora,sans-serif;letter-spacing:.02em;text-transform:uppercase;padding:10px 14px;border-radius:12px;background:#fff;color:#111;box-shadow:0 14px 30px -8px rgba(0,0,0,.6);white-space:nowrap}
.stage .tag b{color:var(--c)}
.stage .tag.t1{right:4%;bottom:14%;transform:rotate(5deg)}
.stage.port .tag.t1{right:auto;left:4%;bottom:6%}
.stage .tag.t2{left:10%;top:6%;transform:rotate(-6deg);background:var(--c);color:#fff}
.stage .tag.t2 b{color:#fff}
@media(max-width:999px){.stage{max-width:620px;margin-top:10px}}

/* splats */
.splats{position:absolute;inset:0;pointer-events:none;z-index:0}
.splat{position:absolute;opacity:var(--o,.9);animation:float 9s ease-in-out infinite;transform-origin:center}
.splat svg{width:100%;height:100%;display:block;overflow:visible}
@keyframes float{50%{translate:var(--fx,6px) var(--fy,-14px);rotate:var(--fr,8deg)}}

/* ---------- marquee ---------- */
.mq{padding:26px 0!important;border-block:1px solid var(--line);background:linear-gradient(90deg,color-mix(in srgb,var(--c) 10%,var(--bg)),var(--bg),color-mix(in srgb,var(--c3) 10%,var(--bg)));overflow:hidden}
.mq .row{display:flex;width:max-content;animation:mq 38s linear infinite}
.mq .row.r2{animation-direction:reverse;animation-duration:46s;margin-top:10px}
.mq span{font:800 clamp(28px,4.6vw,58px)/1 Sora,sans-serif;letter-spacing:-.03em;text-transform:uppercase;padding:0 .45em;white-space:nowrap;display:flex;align-items:center;gap:.9em}
.mq span::after{content:"";width:.34em;height:.34em;border-radius:30%;background:var(--c);rotate:45deg;flex:none}
.mq .r1 span:nth-child(odd){color:transparent;-webkit-text-stroke:1.5px color-mix(in srgb,var(--text) 55%,transparent)}
.mq .r2 span{color:color-mix(in srgb,var(--c) 85%,#fff)}
.mq .r2 span:nth-child(even){color:transparent;-webkit-text-stroke:1.5px color-mix(in srgb,var(--c) 70%,transparent)}
@keyframes mq{to{transform:translateX(-50%)}}

/* ---------- watch it move ---------- */
.watch .grid{display:grid;gap:clamp(18px,3vw,34px);margin-top:50px}
@media(min-width:760px){.watch .grid{grid-template-columns:1fr 1fr}}
.watch .grid.port{grid-template-columns:repeat(3,1fr);max-width:860px;margin-left:auto;margin-right:auto;gap:clamp(12px,2.4vw,30px)}
.watch .grid.port figcaption{font-size:clamp(12px,1.5vw,18px);flex-direction:column;gap:6px}
@media(min-width:760px){.watch .grid.land.odd figure:first-child{grid-column:1/-1}}
.watch figure{margin:0}
.watch figure:nth-child(4n+1) .dev{rotate:-1.2deg}.watch figure:nth-child(4n+2) .dev{rotate:1.4deg}.watch figure:nth-child(4n+3) .dev{rotate:.8deg}.watch figure:nth-child(4n) .dev{rotate:-1deg}
.watch figure .dev{transition:rotate .5s,transform .5s,box-shadow .5s}
.watch figure:hover .dev{rotate:0deg;transform:translateY(-6px);box-shadow:0 0 0 1px rgba(255,255,255,.12),0 40px 90px -30px rgba(0,0,0,.9),0 0 90px -20px var(--c)}
.watch figcaption{display:flex;align-items:baseline;gap:12px;margin-top:16px;font:800 clamp(16px,1.7vw,21px)/1.1 Sora,sans-serif;text-transform:uppercase;letter-spacing:-.01em}
.watch figcaption small{font:700 11px/1 Inter,sans-serif;letter-spacing:.16em;color:var(--c)}

/* ---------- verbs ---------- */
.verbs .grid{display:grid;gap:16px;margin-top:50px}
@media(min-width:860px){.verbs .grid{grid-template-columns:repeat(3,1fr)}}
.verb{position:relative;padding:clamp(26px,3vw,38px);border-radius:26px;background:linear-gradient(160deg,color-mix(in srgb,var(--k) 16%,var(--bg2)),var(--bg2) 60%);border:1px solid color-mix(in srgb,var(--k) 30%,var(--line));overflow:hidden;transition:transform .35s,border-color .35s}
.verb:hover{transform:translateY(-6px);border-color:var(--k)}
.verb .ic{width:64px;height:64px;color:#fff;margin-bottom:40px;transition:transform .5s cubic-bezier(.2,1.6,.4,1)}
.verb:hover .ic{transform:scale(1.15) rotate(-8deg)}
.verb h3{font:800 clamp(34px,4vw,52px)/1 Sora,sans-serif;letter-spacing:-.04em;text-transform:uppercase;color:var(--k);margin-bottom:12px}
.verb p{color:#DCCFC4;font-size:16px;line-height:1.55;max-width:34ch}
.verb .n{position:absolute;right:22px;top:18px;font:800 64px/1 Sora,sans-serif;color:color-mix(in srgb,var(--k) 18%,transparent);letter-spacing:-.05em}

/* ---------- tabs (roster / fruit / modes) ---------- */
.tabs .pills{display:flex;gap:8px;margin:40px 0 22px;overflow-x:auto;padding-bottom:6px;scrollbar-width:none;-webkit-mask:linear-gradient(90deg,#000 92%,transparent)}
.tabs .pills::-webkit-scrollbar{display:none}
.tabs .pill{flex:none;display:flex;align-items:center;gap:10px;padding:8px 16px 8px 8px;border-radius:999px;border:1.5px solid var(--line2);font:700 14px/1 Inter,sans-serif;color:#E9DED4;transition:background .2s,border-color .2s,color .2s}
.tabs .pill.noimg{padding:12px 18px}
.tabs .pill img{width:32px;height:32px;border-radius:50%;object-fit:cover;object-position:50% 12%;background:#000}
.tabs .pill:hover{border-color:var(--muted)}
.tabs .pill[aria-selected=true]{background:#fff;color:#111;border-color:#fff}
.tabs .panel{display:grid;gap:30px;border-radius:30px;background:var(--bg2);border:1px solid var(--line);padding:clamp(22px,3.6vw,44px);position:relative;overflow:hidden;min-height:420px}
.tabs .panel::before{content:"";position:absolute;inset:auto -10% -40% auto;width:60%;aspect-ratio:1;border-radius:50%;background:radial-gradient(closest-side,color-mix(in srgb,var(--k,var(--c)) 30%,transparent),transparent);pointer-events:none}
@media(min-width:860px){.tabs .panel{grid-template-columns:.85fr 1.15fr;align-items:center}.tabs .panel.noimg{grid-template-columns:auto 1fr}}
.tabs .art{position:relative;display:grid;place-items:center;min-height:300px}
.tabs .art img{max-height:min(560px,62vh);width:auto;max-width:100%;border-radius:22px;-webkit-mask-image:linear-gradient(180deg,#000 72%,transparent);mask-image:linear-gradient(180deg,#000 72%,transparent);animation:artin .6s cubic-bezier(.2,.8,.2,1)}
.tabs .art .glyph{width:clamp(140px,18vw,220px);height:auto;color:var(--k,var(--c));animation:artin .6s cubic-bezier(.2,.8,.2,1)}
.tabs .art .big{font:800 clamp(80px,12vw,150px)/1 Sora,sans-serif;letter-spacing:-.06em;color:var(--k,var(--c));animation:artin .6s cubic-bezier(.2,.8,.2,1)}
@keyframes artin{from{opacity:0;transform:translateY(20px) scale(.96)}}
.tabs .info{position:relative;animation:artin .5s .05s cubic-bezier(.2,.8,.2,1) both}
.tabs .info .k{font:700 12px/1 Inter,sans-serif;letter-spacing:.2em;text-transform:uppercase;color:var(--k,var(--c))}
.tabs .info h3{font:800 clamp(40px,5.6vw,76px)/.95 Sora,sans-serif;letter-spacing:-.045em;text-transform:uppercase;margin:12px 0 14px}
.tabs .info p{color:#DCCFC4;font-size:17px;max-width:46ch}
.tabs .meta{display:grid;gap:12px;margin-top:26px}
@media(min-width:560px){.tabs .meta{grid-template-columns:1fr 1fr}}
.tabs .meta div{padding:16px 18px;border-radius:16px;background:rgba(255,255,255,.04);border:1px solid var(--line)}
.tabs .meta dt{font:700 11px/1 Inter,sans-serif;letter-spacing:.16em;text-transform:uppercase;color:var(--dim);margin-bottom:8px}
.tabs .meta dd{font:700 17px/1.3 Sora,sans-serif;letter-spacing:-.01em}
.bars{display:grid;gap:14px;margin-top:24px}
.bar2 .l{display:flex;justify-content:space-between;font:600 13px/1 Inter,sans-serif;color:var(--muted);margin-bottom:8px}
.bar2 .l b{color:var(--text)}
.bar2 .t{height:8px;border-radius:8px;background:rgba(255,255,255,.08);overflow:hidden}
.bar2 .t i{display:block;height:100%;width:0;border-radius:8px;background:linear-gradient(90deg,var(--k,var(--c)),color-mix(in srgb,var(--k,var(--c)) 60%,#fff));transition:width 1s cubic-bezier(.2,.8,.2,1)}

/* ---------- places ---------- */
.places .list{margin-top:44px;border-top:1px solid var(--line)}
.place{position:relative;display:grid;grid-template-columns:52px 1fr;gap:6px 18px;padding:22px 0;border-bottom:1px solid var(--line);align-items:baseline;transition:padding .35s}
@media(min-width:900px){.place{grid-template-columns:70px minmax(260px,1fr) 1.2fr;gap:30px}}
.place .no{font:700 14px/1 Inter,sans-serif;color:var(--dim);letter-spacing:.06em}
.place h3{font:800 clamp(24px,3.6vw,46px)/1 Sora,sans-serif;letter-spacing:-.04em;text-transform:uppercase;color:color-mix(in srgb,var(--text) 42%,transparent);transition:color .3s,transform .35s}
.place p{color:var(--muted);font-size:15px;grid-column:2;max-width:56ch}
@media(min-width:900px){.place p{grid-column:auto}}
.place:hover h3,.place.on h3{color:var(--text);transform:translateX(8px)}
.place:hover .no{color:var(--c)}
.place .th{display:none}
@media(max-width:899px){
 .place{grid-template-columns:72px 1fr;gap:4px 16px;padding:16px 0;align-items:center}
 .place .th{display:block;grid-column:1;grid-row:1/span 3;width:72px;height:72px;border-radius:14px;overflow:hidden;order:-1}
 .place .th img{width:100%;height:100%;object-fit:cover}
 .place .no{grid-column:2;font-size:11px}
 .place h3{grid-column:2;font-size:20px;color:var(--text)}
 .place p{grid-column:2;font-size:13px;line-height:1.45;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
}
@media(max-width:999px){.gp-hero .splat{scale:.6;--o:.45!important}.gp-hero .splats{top:auto;height:62%}}
.peek{position:fixed;z-index:30;width:320px;aspect-ratio:16/9;border-radius:18px;overflow:hidden;pointer-events:none;opacity:0;scale:.8;rotate:-4deg;transition:opacity .25s,scale .3s cubic-bezier(.2,1.4,.4,1);box-shadow:0 30px 70px -20px rgba(0,0,0,.9),0 0 0 3px #fff}
.peek.on{opacity:1;scale:1}
.peek img{width:100%;height:100%;object-fit:cover}
@media(max-width:899px){.peek{display:none}}
.places .more-n{margin-top:26px;color:var(--muted);font-size:15px}
.chipgrid{display:flex;flex-wrap:wrap;gap:10px;margin-top:40px}
.chipgrid span{display:inline-flex;align-items:center;gap:10px;padding:12px 16px;border-radius:14px;background:var(--bg2);border:1px solid var(--line);font:700 15px/1 Sora,sans-serif;letter-spacing:-.01em;transition:border-color .25s,transform .25s}
.chipgrid span:hover{border-color:var(--c);transform:translateY(-3px)}
.chipgrid span i{font:700 11px/1 Inter,sans-serif;font-style:normal;color:var(--c);letter-spacing:.06em}
.chipgrid span.bonus{border-color:color-mix(in srgb,var(--c2) 50%,var(--line))}
.chipgrid span.bonus i{color:var(--c2)}

/* ---------- modes / difficulty ---------- */
.modes .grid{display:grid;gap:14px;margin-top:44px}
@media(min-width:700px){.modes .grid{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1100px){.modes .grid.n4{grid-template-columns:repeat(4,1fr)}.modes .grid.n3{grid-template-columns:repeat(3,1fr)}}
.mode{padding:28px;border-radius:24px;background:var(--bg2);border:1px solid var(--line);transition:border-color .3s,transform .3s,background .3s}
.mode:hover{border-color:var(--c);transform:translateY(-4px)}
.mode .dots{display:flex;gap:6px;margin-bottom:22px}
.mode .dots i{width:12px;height:12px;border-radius:50%;border:2px solid var(--c)}
.mode .dots i.f{background:var(--c)}
.mode h3{font:800 clamp(24px,2.4vw,30px)/1 Sora,sans-serif;letter-spacing:-.03em;text-transform:uppercase;margin-bottom:10px}
.mode p{color:var(--muted);font-size:15px;line-height:1.55}
.mode.hot{background:linear-gradient(160deg,color-mix(in srgb,var(--c) 22%,var(--bg2)),var(--bg2));border-color:color-mix(in srgb,var(--c) 50%,var(--line))}

/* ---------- facts strip ---------- */
.facts2{display:flex;flex-wrap:wrap;gap:10px 30px;padding:26px 0;border-block:1px solid var(--line)}
.facts2 div{display:flex;flex-direction:column;gap:6px}
.facts2 dt{font:700 11px/1 Inter,sans-serif;letter-spacing:.16em;text-transform:uppercase;color:var(--dim)}
.facts2 dd{font:700 16px/1.2 Sora,sans-serif}

/* ---------- big cta ---------- */
.bigcta{text-align:center;padding:clamp(90px,14vw,180px) 0!important;overflow:hidden}
.bigcta::before{content:"";position:absolute;inset:0;background:radial-gradient(50% 60% at 50% 50%,color-mix(in srgb,var(--c) 30%,transparent),transparent 70%)}
.bigcta .wrap{position:relative;z-index:2}
.bigcta h2{font:800 clamp(52px,11vw,170px)/.88 Sora,sans-serif;letter-spacing:-.055em;text-transform:uppercase}
.bigcta p{color:#EADFD6;font-size:clamp(17px,1.8vw,21px);margin:24px auto 34px;max-width:40ch}
.bigcta .btn{font-size:17px;padding:20px 34px}

/* ---------- closing section line art (Nov 14) ---------- */
.bigcta.has-deco::before{animation:glow 6s ease-in-out infinite}
@keyframes glow{50%{opacity:.6;transform:scale(1.08)}}
.deco{position:absolute;z-index:1;top:50%;height:min(66%,400px);width:auto;translate:0 -50%;fill:none;stroke:color-mix(in srgb,var(--c) 70%,transparent);stroke-width:3;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 0 8px color-mix(in srgb,var(--c) 70%,transparent));opacity:.7;pointer-events:none}
.deco.l{left:-1%}.deco.r{right:-1%}
.deco.pad{height:min(48%,300px)}.deco.pad.l{left:-3%}.deco.pad.r{right:-4%}
.deco path,.deco circle{stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset 2.4s cubic-bezier(.6,0,.2,1)}
.bigcta.in .deco path,.bigcta.in .deco circle{stroke-dashoffset:0}
.deco .dk-fill{fill:color-mix(in srgb,var(--c) 0%,transparent);transition:stroke-dashoffset 2.4s cubic-bezier(.6,0,.2,1),fill 1s 2s}
.bigcta.in .deco .dk-fill{fill:color-mix(in srgb,var(--c) 45%,transparent)}
.deco .dk-trail{stroke-width:5;opacity:.6}
.deco .dk-seed{stroke-width:2.4}
.deco .dk-blades{opacity:.55}
.deco g{transform-box:fill-box}
.dk-float{animation:dkf 7s ease-in-out infinite;transform-origin:center}.dk-float.d2{animation-duration:8s;animation-delay:-3s}
@keyframes dkf{50%{transform:translateY(-12px) rotate(-1.5deg)}}
.dk-spin{transform-origin:center;animation:spin 40s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.dk-melon{transform-origin:50% 90%;animation:melon 6s ease-in-out infinite}
@keyframes melon{50%{transform:rotate(-4deg)}}
.dk-sway{transform-origin:20% 100%;animation:sway 5s ease-in-out infinite}
@keyframes sway{50%{transform:rotate(3deg)}}
.dk-btn{animation:btn 4s ease-in-out infinite}
.dk-btn.b2{animation-delay:1s}.dk-btn.b3{animation-delay:2s}.dk-btn.b4{animation-delay:3s}
@keyframes btn{0%,20%,100%{fill:transparent}8%{fill:color-mix(in srgb,var(--c) 35%,transparent)}}
.dk-arrows{animation:blink2 3s ease-in-out infinite}
@keyframes blink2{50%{opacity:.5}}
.bigcta.has-deco .btn-play{animation:ring 2.6s ease-out infinite}
@keyframes ring{0%{box-shadow:0 12px 40px -8px color-mix(in srgb,var(--c) 75%,transparent),0 0 0 0 color-mix(in srgb,var(--c) 55%,transparent)}70%,100%{box-shadow:0 12px 40px -8px color-mix(in srgb,var(--c) 75%,transparent),0 0 0 18px transparent}}
@media(max-width:899px){.deco{height:46%;opacity:.4}.deco.l{left:-14%}.deco.r{right:-14%}}
.gp .morewrap .head{border-top:1px solid color-mix(in srgb,var(--c) 45%,var(--line));padding-top:28px}
.gp .morewrap .eyebrow::before{background:var(--c)}

/* ---------- more ---------- */
.gp .morewrap{padding-top:20px!important}

@media(prefers-reduced-motion:reduce){.gp *{animation:none!important;transition:none!important}.gp [data-r],.gp [data-split] .gw>span{opacity:1;transform:none}.splat{opacity:var(--o,.9)}}

/* footer illustrations (Nov 14): drawn line art, black drops out on the dark page */
img.deco.art{fill:initial;stroke:initial;filter:none;mix-blend-mode:screen;opacity:0;clip-path:inset(100% 0 0 0);transition:opacity 1.2s ease,clip-path 2.2s cubic-bezier(.6,0,.2,1)}
.bigcta.in img.deco.art{opacity:.9;clip-path:inset(0 0 0 0);animation:artFloat 7s ease-in-out 2.2s infinite}
.bigcta.in img.deco.art.sway{transform-origin:50% 100%;animation:artSway 6s ease-in-out 2.2s infinite}
img.deco.art.savanna{height:min(64%,380px)}img.deco.art.savanna.l{height:min(72%,430px)}
img.deco.art.savanna.l{left:2%}img.deco.art.savanna.r{right:1%}
img.deco.art.cat.r{height:min(30%,190px);right:2%}
@keyframes artFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-12px)}}
@keyframes artSway{0%,100%{transform:rotate(-1.5deg)}50%{transform:rotate(2deg)}}
@media(max-width:899px){.bigcta.in img.deco.art{opacity:.45}img.deco.art.savanna{height:52%}img.deco.art.savanna.l{left:-10%}img.deco.art.savanna.r{right:-16%}img.deco.art.cat.r{height:18%;right:-14%}}
@media(prefers-reduced-motion:reduce){.bigcta.in img.deco.art{animation:none}}
img.deco.art.spirit.l{height:min(66%,400px);left:2%}img.deco.art.spirit.r{height:auto;width:min(24%,340px);right:2%}
@media(min-width:1100px){.modes .grid.n6{grid-template-columns:repeat(3,1fr)}}
@media(max-width:899px){img.deco.art.spirit.l{height:50%;left:-14%}img.deco.art.spirit.r{width:46%;right:-14%}}
