:root{--web-display:clamp(2.75rem,5.8vw,5.7rem);--web-heading:clamp(2.2rem,4.4vw,4rem);--web-body:1.06rem;--page-width:1200px;--section-space:clamp(72px,9vw,116px);--ease:cubic-bezier(.2,.7,.2,1);color-scheme:dark}

*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:105px}
body{margin:0;background:var(--background);color:var(--on-primary);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:var(--web-body);line-height:1.65;-webkit-font-smoothing:antialiased}
button,a{-webkit-tap-highlight-color:transparent}
button{font-family:inherit}
img{display:block;max-width:100%;height:auto}
a{color:var(--link);font-size:var(--link-size);text-underline-offset:4px;text-decoration-thickness:1px}
a:hover{color:white}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--cyan);outline-offset:6px}
button{cursor:pointer}
[hidden]{display:none!important}
.container{width:min(var(--page-width),calc(100% - var(--page-padding)*2));margin-inline:auto}
.eyebrow{font-size:11px;line-height:1.4;letter-spacing:.16em;text-transform:uppercase;font-weight:700;color:var(--secondary);margin:0 0 22px}
.secondary{color:var(--secondary)}
.skip{position:fixed;z-index:10;top:8px;left:8px;padding:12px;background:var(--panel);transform:translateY(-160%)}
.skip:focus{transform:translateY(0)}
.header{position:sticky;top:0;z-index:5;background:color-mix(in srgb,var(--background) 92%,transparent);backdrop-filter:blur(18px);border-bottom:1px solid var(--divider)}
.header-inner{display:flex;align-items:center;justify-content:space-between;min-height:92px;gap:20px}
.brand{display:inline-block;flex-shrink:0}
.wordmark{width:180px;height:auto}
.header nav,.footer nav{display:flex;align-items:center;gap:30px}
.header nav a{text-decoration:none;display:flex;gap:8px;align-items:center;min-height:44px}
.header svg,.closing-actions svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.5}
.hero{display:grid;grid-template-columns:1.1fr 1fr;align-items:center;gap:54px;padding-top:64px;padding-bottom:70px}
.hero h1{font-size:var(--web-display);font-weight:800;line-height:1.02;letter-spacing:-.055em;margin:0 0 28px}
.hero h1 span,.closing h2 span{color:var(--pink)}
.hero-description{color:var(--secondary);max-width:420px;margin:0 0 32px;line-height:1.65}
.hero-actions{display:flex;align-items:flex-start;gap:22px;flex-direction:column}
.button{display:inline-flex;align-items:center;justify-content:center;gap:22px;background:var(--pink);color:var(--on-primary);text-decoration:none;font-size:20px;font-weight:700;line-height:1.3;padding:18px 24px;border-radius:var(--panel-radius);min-height:60px;transition:transform .2s var(--ease),filter .2s}
.button:hover{color:white;filter:brightness(1.07);transform:translateY(-2px)}
.button svg{height:22px;width:22px;fill:none;stroke:currentColor;stroke-width:1.5}
.release-label{display:inline-flex;align-items:center;gap:8px;font-size:12px;font-weight:500;color:var(--secondary)}
.status-dot{height:6px;width:6px;border-radius:50%;background:var(--cyan);display:inline-block;flex-shrink:0}
.hero-note{font-size:12px;color:var(--caption);margin:30px 0 0}
.hero-art{margin:0;position:relative}
.hero-art::before{content:"";position:absolute;inset:-35px;border-radius:50%;background:radial-gradient(ellipse,var(--ambient-pink),transparent 65%);z-index:-1;filter:blur(20px)}
.scene{aspect-ratio:4/5;position:relative;isolation:isolate;border-radius:32px 32px 120px 32px;overflow:hidden;background:var(--panel)}
.scene-photo{position:absolute;width:100%;height:100%;object-fit:cover}
.scene::after{content:"";position:absolute;inset:55% 0 0;background:linear-gradient(transparent,rgba(8,8,13,.8));pointer-events:none;z-index:-1}
.scene-label{position:absolute;top:24px;left:24px;display:flex;align-items:center;gap:8px;font-size:11px;font-weight:600;letter-spacing:.02em;color:white;background:var(--panel);border:1px solid var(--outline);padding:8px 13px;border-radius:100px}
.scene-character{position:absolute;width:45%;left:25%;bottom:39%;filter:drop-shadow(0 16px 14px #0003);animation:moji-float 7s ease-in-out infinite}
.scene-character img{width:100%;height:auto}
.scene-shadow{position:absolute;left:38%;bottom:39%;width:22%;height:3%;border-radius:50%;background:#0004;filter:blur(8px)}
.scene-message{position:absolute;left:24px;right:24px;bottom:28px;background:var(--panel);border:1px solid var(--outline);border-radius:var(--panel-radius);padding:20px 24px;box-shadow:0 12px 32px #0002}
.scene-message .eyebrow{font-size:9px;margin:0 0 12px}
.scene-message p{margin:0;font-size:26px;font-weight:700;letter-spacing:-.025em;line-height:1.25}
.tiny-sparkle{position:absolute;right:26px;bottom:28px;font-size:32px;color:var(--pink)}
.swap-moji{position:absolute;right:18px;top:24px;border:0;background:var(--panel);border-radius:100px;color:var(--link);padding:10px 13px;font-size:11px;min-height:36px;display:flex;align-items:center;gap:8px}
.swap-moji:hover{color:white}
.swap-moji span{font-size:16px;line-height:1}
.hero-art figcaption{font-size:10px;color:var(--caption);margin-top:12px;text-align:right;padding-right:15px}
.moji-parade{border-block:1px solid var(--divider);background:color-mix(in srgb,var(--panel) 35%,var(--background))}
.parade-inner{display:flex;align-items:center;gap:44px;min-height:150px}
.parade-inner>p{min-width:170px;font-size:13px;line-height:1.6;color:var(--secondary)}
.parade-inner strong{color:white;font-weight:600}
.moji-line{display:flex;justify-content:space-between;align-items:center;width:100%;gap:12px}
.moji-line img{width:75px;min-width:0;aspect-ratio:1;object-fit:contain;transition:transform .25s var(--ease)}
.moji-line img:hover{transform:translateY(-7px) rotate(-5deg)}
.how-section{padding-block:var(--section-space)}
.section-heading{display:grid;grid-template-columns:1fr 1fr;column-gap:65px;align-items:end;margin-bottom:46px}
.section-heading>.eyebrow{grid-column:1/-1}
.section-heading h2{margin:0}
.section-heading>p:last-child:not(.eyebrow){margin:0;max-width:410px;color:var(--secondary)}
h2{font-size:var(--web-heading);line-height:1.08;letter-spacing:-.045em;font-weight:700;margin:0 0 24px}
h3{font-size:21px;line-height:1.3;letter-spacing:-.025em;margin:0 0 12px}
.step{display:grid;grid-template-columns:65px 1fr 220px;gap:34px;align-items:center;padding:38px 0;border-top:1px solid var(--divider)}
.step:last-child{border-bottom:1px solid var(--divider)}
.step-number{font-size:13px;color:var(--pink);align-self:start;padding-top:5px}
.step p{max-width:550px;color:var(--secondary);margin:0;font-size:15px;line-height:1.7}
.step-word{justify-self:end;font-size:clamp(36px,5vw,65px);font-weight:700;letter-spacing:-.04em;color:var(--outline)}
.message-section{position:relative;overflow:hidden;background:linear-gradient(115deg,var(--ambient-pink),var(--background) 65%);padding-block:var(--section-space);border-block:1px solid var(--divider)}
.message-grid{display:grid;grid-template-columns:1fr 1fr;gap:95px;align-items:center}
.message-copy>p:not(.eyebrow){max-width:430px;color:var(--secondary);font-size:15px}
.message-demo{position:relative;min-height:360px;display:flex;align-items:center;flex-direction:column;justify-content:flex-end}
.message-moji{width:200px;margin-bottom:-16px;z-index:1;transform:rotate(8deg)}
.message-orbit{position:absolute;border:1px solid var(--divider);height:320px;width:320px;border-radius:50%;top:5px;transform:rotate(-16deg);opacity:.7}
.message-orbit::after{content:"✦";position:absolute;right:5px;top:55px;color:var(--cyan);font-size:24px}
.secret-card{position:relative;width:100%;max-width:400px;min-height:154px;border:1px solid var(--outline);border-radius:var(--panel-radius);background:var(--panel);padding:26px 30px;z-index:2}
.secret-card .eyebrow{font-size:9px;margin-bottom:18px}
.reveal-button{border:0;background:transparent;padding:0;display:flex;justify-content:space-between;align-items:center;gap:24px;color:white;width:100%;font-size:18px;font-weight:600;text-align:left;min-height:44px}
.reveal-button span{color:var(--pink);font-size:24px}
.example-message{margin:0;font-size:21px;font-weight:600;line-height:1.4}
.example-result{display:block;color:var(--cyan);font-size:11px;margin-top:16px}
.extras-section{padding-block:var(--section-space)}
.extras{display:grid;grid-template-columns:repeat(3,1fr);gap:50px;padding-top:8px}
.extras article{padding-top:28px;border-top:1px solid var(--divider)}
.extras h3{font-size:19px;max-width:245px;margin-top:24px}
.extras p{color:var(--secondary);font-size:14px;line-height:1.7;margin:0}
.extra-symbol{font-size:36px;line-height:1;color:var(--pink)}
.extra-symbol.trophy{color:var(--trophies)}
.faq-section{display:grid;grid-template-columns:.85fr 1.15fr;gap:90px;padding-block:10px var(--section-space)}
.faq-section .section-heading{display:block}
.faq-section .section-heading .eyebrow{margin-bottom:22px}
.faq-list details{border-top:1px solid var(--divider)}
.faq-list details:last-child{border-bottom:1px solid var(--divider)}
summary{list-style:none;position:relative;font-size:15px;font-weight:600;padding:24px 28px 24px 0;cursor:pointer}
summary::-webkit-details-marker{display:none}
summary::after{content:"+";position:absolute;right:2px;color:var(--secondary);font-size:20px;top:18px}
details[open] summary::after{content:"−"}
.faq-list details>p{font-size:14px;line-height:1.8;color:var(--secondary);padding-right:24px;margin:0 0 24px}
.closing{padding-block:0 var(--section-space);text-align:center}
.closing>div{border:1px solid var(--divider);background:radial-gradient(ellipse at 50% 100%,var(--ambient-pink),transparent 60%),var(--panel);border-radius:32px;padding:55px 24px 65px}
.closing-moji{width:96px;margin:0 auto 12px}
.closing h2{font-size:clamp(48px,6vw,74px);line-height:1.03;margin-bottom:34px}
.closing-actions{display:flex;gap:28px;align-items:center;justify-content:center}
.closing-actions>a:not(.button){display:flex;align-items:center;gap:8px}
.footer{border-top:1px solid var(--divider);padding:46px 0 24px}
.footer-top{display:flex;align-items:center;justify-content:space-between;gap:25px;margin-bottom:36px}
.footer-top .wordmark{width:158px}
.footer-top p{font-size:13px;color:var(--secondary);margin:0}
.footer-bottom{border-top:1px solid var(--divider);padding-top:24px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.footer-bottom p{font-size:12px;color:var(--caption);margin:0}
.footer-bottom nav{gap:24px}
.footer-bottom a{font-size:var(--link-size)}
.legal-layout{display:grid;grid-template-columns:220px 1fr;gap:90px;padding-block:70px var(--section-space);align-items:start}
.legal-nav{position:sticky;top:130px}
.legal-nav .eyebrow{margin-bottom:20px}
.legal-nav nav{display:flex;flex-direction:column;align-items:flex-start;gap:14px}
.legal-nav a{line-height:1.5;text-decoration:none;font-size:var(--link-size)}
.legal-content{max-width:750px;min-width:0}
.legal-heading h1{font-size:clamp(38px,4.2vw,57px);line-height:1.1;letter-spacing:-.04em;margin:0 0 24px}
.legal-intro{font-size:19px;line-height:1.65;color:var(--secondary);margin:0 0 26px}
.updated{font-size:12px;color:var(--caption);margin-bottom:36px}
.legal-summary{padding:28px 32px;border:1px solid var(--outline);border-radius:var(--panel-radius);background:var(--panel);margin-bottom:56px}
.legal-summary h2{font-size:20px;line-height:1.4;letter-spacing:-.02em;margin-bottom:15px}
.legal-summary li{margin:12px 0;font-size:14px;line-height:1.7;color:var(--secondary)}
.legal-summary>p{font-size:12px;color:var(--caption);margin:20px 0 0}
.legal-content section{margin-bottom:48px}
.legal-content section h2{font-size:26px;line-height:1.3;letter-spacing:-.025em;margin-bottom:22px}
.legal-content h3{font-size:18px;margin:26px 0 12px;line-height:1.4}
.legal-content section p,.legal-content section li{font-size:16px;line-height:1.85;color:var(--secondary)}
.legal-content section p{margin:0 0 18px}
.legal-content a{overflow-wrap:anywhere}
.legal-content ul{padding-left:22px}
.legal-content li{padding-left:4px;margin-block:10px}
.legal-content strong{color:white;font-weight:600}
.not-found{min-height:60vh;padding-block:100px}
.not-found h1{font-size:var(--web-heading);letter-spacing:-.04em;line-height:1.1;max-width:600px}
.not-found p{color:var(--secondary);max-width:500px;margin-bottom:32px}
@keyframes moji-float{0%,100%{transform:translateY(0) rotate(-3deg)}
50%{transform:translateY(-12px) rotate(2deg)}
}

@media(min-width:1500px){.hero{gap:75px;padding-block:80px}
.header-inner{min-height:98px}
}

@media(max-width:1000px){.hero{gap:28px}
.hero h1{font-size:clamp(40px,6.5vw,70px)}
.hero-description{font-size:15px}
.scene-label{left:16px;top:18px;padding:7px 11px}
.swap-moji{right:12px;top:18px;font-size:10px;padding:8px 10px}
.scene-message{left:16px;right:16px;bottom:23px;padding:18px}
.scene-message p{font-size:23px}
.parade-inner{gap:20px}
.moji-line img{width:65px}
.message-grid{gap:35px}
.step{grid-template-columns:35px 1fr 170px;gap:25px}
.extras{gap:28px}
.faq-section{gap:44px}
.legal-layout{grid-template-columns:180px 1fr;gap:45px}
}

@media(max-width:740px){:root{--page-padding:24px;--section-space:72px}
.header-inner{min-height:76px}
.wordmark{width:145px}
.header nav{gap:18px}
.marketing-page .header nav a:last-child{display:none}
.header nav a{font-size:var(--link-size)}
.hero{grid-template-columns:1fr;gap:40px;padding-top:46px;padding-bottom:38px}
.hero-copy{max-width:520px}
.hero h1{font-size:clamp(48px,10vw,72px);letter-spacing:-.05em;line-height:1.03}
.hero-description{max-width:425px;font-size:16px}
.hero-actions{flex-direction:row;gap:20px;align-items:center;flex-wrap:wrap}
.button{font-size:19px;min-height:57px;padding:16px 21px;gap:16px}
.hero-note{margin-top:20px}
.hero-art{max-width:480px;width:100%;margin:auto}
.scene{border-radius:28px 28px 100px 28px}
.scene-label{left:22px;top:22px;font-size:10px}
.swap-moji{right:18px;top:22px;font-size:10px;padding:8px 11px}
.scene-message{left:22px;right:22px;bottom:25px;padding:20px}
.scene-message p{font-size:26px}
.hero-art figcaption{font-size:9px}
.parade-inner{flex-direction:column;align-items:flex-start;gap:0;padding-block:26px}
.parade-inner>p{margin:0 0 18px;font-size:12px}
.parade-inner>p br{display:none}
.parade-inner strong::before{content:" "}
.moji-line{gap:5px}
.moji-line img{width:13%;min-width:0}
.section-heading{display:block;margin-bottom:36px}
.section-heading>p:last-child:not(.eyebrow){margin-top:24px;font-size:15px}
.step{grid-template-columns:25px 1fr;gap:18px;padding-block:28px}
.step-word{display:none}
.step h3{font-size:20px}
.step p{font-size:14px}
.message-grid{grid-template-columns:1fr;gap:24px}
.message-demo{min-height:330px}
.message-copy p{max-width:none}
.message-orbit{width:285px;height:285px}
.message-moji{width:185px}
.secret-card{max-width:400px}
.extras{grid-template-columns:1fr;gap:24px}
.extras article{display:grid;grid-template-columns:40px 1fr;gap:0 20px;padding-top:25px}
.extras h3{max-width:none;font-size:19px;margin:0 0 12px}
.extras p{grid-column:2}
.extra-symbol{grid-row:1/3;font-size:30px;padding-top:2px}
.faq-section{display:block;padding-top:0}
.faq-section .section-heading{margin-bottom:28px}
.closing>div{border-radius:var(--panel-radius);padding:35px 20px 44px}
.closing h2{font-size:52px}
.closing-actions{gap:20px;flex-wrap:wrap}
.footer{padding-top:32px}
.footer-top,.footer-bottom{align-items:flex-start;flex-direction:column;gap:22px}
.footer-top{margin-bottom:26px}
.footer-bottom nav{flex-wrap:wrap;gap:24px}
.legal-layout{display:block;padding-top:42px}
.legal-nav{position:static;margin-bottom:34px;padding-bottom:26px;border-bottom:1px solid var(--divider)}
.legal-nav .eyebrow{margin-bottom:14px}
.legal-nav nav{flex-direction:row;flex-wrap:wrap;gap:10px 20px}
.legal-nav a{font-size:var(--link-size)}
.legal-content{max-width:none}
.legal-heading h1{font-size:42px}
.legal-intro{font-size:18px}
.legal-summary{padding:22px;margin-bottom:42px}
.legal-content section h2{font-size:24px}
.legal-content section p,.legal-content section li{font-size:15px}
.legal-content section{margin-bottom:38px}
}

@media(max-width:370px){:root{--page-padding:18px}
.header nav{gap:12px}
.wordmark{width:130px}
.hero h1{font-size:46px}
.hero-actions{gap:14px}
.release-label{font-size:11px}
.scene-label{left:14px;font-size:9px}
.swap-moji{right:12px;font-size:9px}
.scene-message{left:15px;right:15px;padding:18px}
.scene-message p{font-size:23px}
.legal-heading h1{font-size:36px}
.hero-art figcaption{text-align:left}
}

@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}
*,*::before,*::after{animation:none!important;transition:none!important}
}


.legal-toc-mobile{display:none}
@media(max-width:740px){.legal-nav{display:none}.legal-toc-mobile{display:block;border-top:1px solid var(--divider);border-bottom:1px solid var(--divider);margin:-6px 0 32px}.legal-toc-mobile nav{display:flex;flex-direction:column;gap:14px;padding:0 0 24px}.legal-toc-mobile nav a{font-size:var(--link-size);line-height:1.6;text-decoration:none}}

.footer-credit{font-size:11px;color:var(--caption);padding-top:22px;margin-bottom:0}.footer-credit a{font-size:var(--link-size)}
