body.landing-page{padding-top:0}.scroll-story{height:100dvh}.landing-stage{position:sticky;top:0;height:100dvh;overflow:hidden;background:var(--white)}
.landing-main{height:100%;padding:0 4.45vw;display:grid;grid-template-columns:minmax(0,1fr) 420px;gap:30px;align-items:center;position:relative;isolation:isolate}
.pitch{align-self:center;transform:translateY(-12px)}.pitch::before,.pitch::after{content:'';position:absolute;z-index:-1;border-radius:50%;filter:blur(80px);pointer-events:none;animation:landing-drift 11s ease-in-out infinite}
.pitch::before{width:480px;height:480px;background:var(--bubblegum);opacity:.35;left:-120px;top:-100px}.pitch::after{width:420px;height:420px;background:var(--butter);opacity:.3;left:280px;top:180px}
.pitch h1{font-size:clamp(64px,7.23vw,104px);line-height:1.1;letter-spacing:-.04em;margin:0}.headline-line{white-space:nowrap;display:block}.pitch h1 .logo{font-size:inherit;vertical-align:-.27em}
.task-ticker{display:block;height:1.7em;margin:-.3em 0;overflow:hidden;width:max-content;max-width:100%;mask-image:linear-gradient(transparent,#000 .3em,#000 calc(100% - .3em),transparent)}.ticker-track{display:block}.demo-ready .ticker-track{animation:task-ticker 14.4s cubic-bezier(.7,0,.2,1) infinite}.ticker-track>span{display:block;height:1.7em;padding:.3em 0;white-space:nowrap}
.landing-intro{font-size:20px;line-height:1.5;max-width:520px;margin:28px 0 32px}.mobile-copy{display:none}.landing-actions{display:flex;gap:12px}.phone-demo{width:420px;height:min(758px,calc(100dvh - 80px));justify-self:end;margin-right:46px;min-height:0}.phone{height:100%;width:100%;container-type:size}.phone-screen{height:100%;display:flex;flex-direction:column;font-family:var(--font-ios);background:transparent;mask-image:linear-gradient(transparent,#000 18%)}.demo-chat{padding:42.216cqh 12px 28px 2px;overflow-y:auto;scrollbar-width:none;flex:1;min-height:0;display:flex;flex-direction:column;gap:8px}.chat-date{text-align:center;color:#6e6e73;font:11px/1.4 var(--font-ios);margin:0 0 12px}.demo-ready .demo-chat{overflow-y:hidden}
.demo-bubble{width:fit-content;max-width:78%;min-width:0;padding:1.78cqw 3.3cqw;border-radius:4.7cqw;font:400 4.33cqw/5.6cqw var(--font-ios);white-space:pre-wrap;overflow-wrap:anywhere;word-break:normal;text-align:start;position:relative;flex:none;isolation:isolate}
.sent{align-self:flex-end;background:var(--aqua);color:#fff}.received{align-self:flex-start;background:#e9e9eb;color:#000}
/* A masked tail leaves the page glow visible instead of painting a white cutout. */
.demo-bubble.group-end::before{content:'';position:absolute;bottom:0;width:20px;height:20px;z-index:-1;background:inherit;mask:url("/brand/chat-tail.svg") center/contain no-repeat}
.demo-bubble.sent.group-end::before{right:-7px}.demo-bubble.received.group-end::before{left:-7px;transform:scaleX(-1)}
.demo-photo{background:var(--fog);color:#6e6e73;position:relative;width:54cqw;flex:none;border-radius:4.7cqw;overflow:hidden}.demo-photo img{display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;object-position:center 65%}.demo-photo>span{display:block;padding:0 3cqw 2cqw;font-size:2.7cqw}
.demo-delivered{text-align:center;font-size:2.9cqw;color:#8e8e93;margin:1cqw 0 0}
.demo-bubble.typing{display:flex;align-items:center;justify-content:center;gap:4px;width:62px;height:34px;padding:0;border-radius:18px}.typing>span:not(.message-avatar){flex:none;width:8px;height:8px;background:#939397;border-radius:50%;animation:demo-type 1.1s infinite alternate}.typing>span:nth-child(2){animation-delay:.2s}.typing>span:nth-child(3){animation-delay:.4s}
@keyframes demo-type{to{opacity:.4;transform:translateY(-3px)}}
.demo-enter{animation:demo-enter .45s var(--ease-out-expo) both;transform-origin:bottom left}.demo-enter.sent{transform-origin:bottom right}
@keyframes demo-enter{from{opacity:0;transform:translateY(14px) scale(.92)}to{opacity:1;transform:none}}
.typing-enter{animation:typing-enter .35s ease-out both}
@keyframes typing-enter{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}

.demo-bubble{font-size:17px;line-height:22px;padding:7px 13px;border-radius:18px;max-width:76%}.demo-bubble.received{margin-left:38px}.demo-bubble .message-avatar{display:none;position:absolute;left:-38px;bottom:0;width:28px;height:28px;border-radius:50%;overflow:hidden}.demo-bubble.received.group-end .message-avatar,.typing .message-avatar{display:block}.message-avatar .orb{--s:36px;position:absolute;left:-4px;top:-4px}.demo-photo{width:200px}.demo-photo img{aspect-ratio:200/170}.demo-photo>span{display:none}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.no-script{margin:20px var(--page-gutter)}
@keyframes landing-drift{50%{transform:translate(40px,30px) scale(1.1)}}
@keyframes task-ticker{0%,13%{transform:translateY(0)}16.667%,29.667%{transform:translateY(-14.2857%)}33.333%,46.333%{transform:translateY(-28.5714%)}50%,63%{transform:translateY(-42.8571%)}66.667%,79.667%{transform:translateY(-57.1429%)}83.333%,96.333%{transform:translateY(-71.4286%)}100%{transform:translateY(-85.7143%)}}
@media(max-width:1250px){.landing-main{grid-template-columns:minmax(0,1fr) 350px}.phone-demo{width:350px;margin-right:0}.pitch h1{font-size:7vw}}
@media(max-width:1099px){.landing-main{display:flex;flex-direction:column;gap:24px;padding:32px var(--page-gutter) 90px;align-items:stretch}.pitch{transform:none}.pitch h1{font-size:64px}.landing-intro{font-size:18px;margin:18px 0;max-width:600px}.phone-demo{flex:1;min-height:0;width:min(100%,420px);align-self:center}.landing-actions{position:absolute;bottom:24px;left:var(--page-gutter);right:var(--page-gutter);justify-content:center}.pitch{position:static}.pitch::before{left:-180px;top:-100px}.pitch::after{left:10%;top:60px;width:250px;height:250px}}
@media(max-width:699px){.landing-main{padding:34px 24px 90px;gap:10px}.pitch h1{font-size:44px}.landing-intro{font-size:16px;line-height:1.5;margin:20px 0 8px}.desktop-copy{display:none}.mobile-copy{display:inline}.landing-actions{bottom:max(22px,env(safe-area-inset-bottom));gap:10px}.landing-actions .btn{font-size:14px;padding-inline:22px}.demo-bubble{font-size:16px;line-height:21px}.phone-demo{width:100%}.pitch::before{opacity:.18}.pitch::after{opacity:.16}.demo-photo{width:180px}}
@media(max-width:359px){.landing-main{padding-inline:18px}.pitch h1{font-size:38px}.landing-actions .btn{padding-inline:16px}}
@media(prefers-reduced-motion:reduce){.scroll-story{height:100dvh}.demo-ready .demo-chat{overflow-y:auto}.ticker-track,.pitch::before,.pitch::after{animation:none}}

.demo-ready .pitch h1{animation:rise 1.2s .1s var(--ease-out-expo) both}.demo-paused *,.demo-paused *::before,.demo-paused *::after{animation-play-state:paused!important}
@media(max-width:699px){.demo-chat{padding-top:35cqh}.demo-chat::before{content:'';margin-top:auto}}
@media(prefers-reduced-motion:reduce){.demo-ready .ticker-track,.demo-ready .pitch h1{animation:none}.demo-chat{padding-top:16px}}
@media print{.scroll-story{height:auto}.landing-stage{height:auto;position:static;overflow:visible}.phone-demo,.phone,.phone-screen{height:auto;mask-image:none}.demo-chat{overflow:visible;padding-top:16px}.demo-chat [data-at][hidden]{display:block!important;opacity:1!important;transform:none!important}.demo-chat [data-at]{opacity:1!important;transform:none!important}.demo-chat #demo-typing{display:none!important}.ticker-track{animation:none!important}}

/* Satisfy x HOKA demo: tapback, link previews and replay. */
.demo-photo{overflow:visible;margin-top:14px}.demo-photo img{border-radius:inherit;aspect-ratio:1;object-position:center 58%}
.demo-photo>.demo-tapback{display:grid}.demo-tapback{position:absolute;top:-12px;left:-12px;width:30px;height:30px;border-radius:50%;background:#e9e9eb;box-shadow:0 0 0 2.5px var(--white),0 1px 3px rgba(0,0,0,.12);place-items:center;z-index:1}.demo-tapback svg{width:16px;height:16px;fill:#ff375f;margin-top:1px}
.demo-link{display:flex;flex-direction:column;width:66%;margin-left:38px;border-radius:18px;background:#e9e9eb;color:#000;font-family:var(--font-ios);position:relative;flex:none}.demo-link>img{display:block;width:100%;height:auto;aspect-ratio:8/5;object-fit:cover;border-radius:18px 18px 0 0;background:var(--white)}
.demo-link .message-avatar{display:none;position:absolute;left:-38px;bottom:0;width:28px;height:28px;border-radius:50%;overflow:hidden}.demo-link.group-end .message-avatar{display:block}

.demo-link-text{min-width:0;display:flex;flex-direction:column;gap:2px;padding:8px 12px 10px}.demo-link-text b{font-size:14px;line-height:18px;font-weight:600;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.demo-link-text span{font-size:13px;line-height:16px;color:#6e6e73}
.phone{position:relative}.demo-chat.demo-complete{padding-bottom:64px}
@keyframes replay-in{from{opacity:0;transform:translate(-50%,6px)}to{opacity:1;transform:translateX(-50%)}}
@media(max-width:699px){.demo-link{width:72%}}

/* Multiple conversations: one scene plays at a time; the end shows Replay and Shuffle. */
.demo-scene:not([hidden]){display:contents}
.demo-controls{position:absolute;left:50%;bottom:8px;transform:translateX(-50%);display:flex;gap:8px;white-space:nowrap}.demo-controls .btn{font-size:14px;padding:8px 18px}.demo-controls[hidden],.demo-controls .btn[hidden]{display:none}.demo-controls:not([hidden]){animation:replay-in .4s ease-out both}
@media print{.demo-controls{display:none!important}}

/* Tapback: a centered heart in a round grey badge (iMessage reactions have no tail). */
.demo-photo>.demo-tapback{padding:0;top:-16px;left:-20px;width:34px;height:34px;display:grid;place-items:center;box-shadow:0 0 0 2.5px var(--white)}
.demo-tapback svg{width:17px;height:17px;margin:1px 0 0}
