@font-face{font-family:"Bricolage Grotesque";font-style:normal;font-weight:500 800;font-display:swap;src:url(fonts/bricolage-latin.woff2) format("woff2")}@font-face{font-family:"Figtree";font-style:normal;font-weight:400 700;font-display:swap;src:url(fonts/figtree-latin.woff2) format("woff2")}:root{--rose:#f7867f;--rose-deep:#e8606c;--peach:#fcad95;--blush:#ffe8e0;--cream:#fff6f0;--paper:#fff;--plum:#2a0f33;--plum-2:#5b4463;--ink-rose:#4a1f3f;--ink-tag:#a3354a;--err:#b0233a;--line:rgba(42,15,51,.12);--f-display:"Bricolage Grotesque",ui-rounded,system-ui,sans-serif;--f-body:"Figtree",system-ui,-apple-system,"Segoe UI",sans-serif;--sh-2:0 4px 8px rgba(20,10,24,.07),0 24px 48px -16px rgba(20,10,24,.24);--ease:cubic-bezier(.2,.7,.2,1)}/* @shared:start (generated from build/shared.css, do not edit here) */
:root{--wrap:1200px;--gut:24px;--s-1:8px;--s-2:16px;--r-pill:999px}
@media(min-width:768px){:root{--gut:40px}}
.wrap{width:100%;max-width:calc(var(--wrap) + 2*var(--gut));margin-inline:auto;padding-inline:var(--gut)}
.nav{position:sticky;top:0;z-index:50;padding-top:var(--s-2)}
.nav .bar{display:flex;align-items:center;justify-content:space-between;gap:var(--s-2);height:64px;padding:0 var(--s-1) 0 var(--s-2);background:rgba(255,255,255,.94);border-radius:var(--r-pill);box-shadow:0 1px 0 rgba(42,15,51,.04),0 8px 24px -12px rgba(42,15,51,.25);transition:box-shadow .3s}
@supports(backdrop-filter:blur(1px)){.nav .bar{background:rgba(255,255,255,.82);backdrop-filter:saturate(1.4) blur(16px)}}
.wm{display:inline-flex;align-items:center;gap:10px;min-height:44px;font-family:var(--f-display);font-weight:800;font-size:22px;letter-spacing:-.04em;font-variation-settings:"opsz" 32;text-decoration:none}
.wm img{width:36px;height:36px;border-radius:10px}.wm img[src$="logo.svg"]{border-radius:0;object-fit:contain;overflow:visible}
/* @shared:end */
/* header: layout from the shared block; on these pages the nav scrolls away so it never sits under the sticky preview banner */
.nav{position:relative;z-index:1}
.wm{color:var(--plum)}
.soon{display:inline-flex;align-items:center;min-height:44px;padding:0 16px;font-size:.9375rem;font-weight:700;color:var(--ink-tag);background:var(--blush);border-radius:999px}
*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;min-height:100vh;display:flex;flex-direction:column;background:var(--rose);color:var(--plum);font:400 1.0625rem/1.55 var(--f-body);-webkit-font-smoothing:antialiased}h1,h2,h3,p,ul{margin:0}a{color:inherit;text-underline-offset:.18em}a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid var(--plum);outline-offset:3px}.ic{width:1.1em;height:1.1em;flex:none;fill:currentColor;stroke:none}.demo{position:sticky;top:0;z-index:50;background:var(--plum);color:#fff;font-size:.875rem;text-align:center;padding:10px 16px}.demo code{background:rgba(255,255,255,.12);padding:1px 6px;border-radius:6px}.grid{flex:1;display:grid;gap:0;padding-block:20px 40px;grid-template-areas:"copy" "card" "prom";align-content:start}.copy{grid-area:copy}.card{grid-area:card}.prom{grid-area:prom}h1{font:800 clamp(2.5rem,1.9rem + 2.6vw,4.25rem)/.98 var(--f-display);letter-spacing:-.045em;max-width:11em;text-wrap:balance}.lead{margin-top:12px;font-size:clamp(1.125rem,1.05rem + .3vw,1.25rem);color:var(--ink-rose);max-width:32em}.prom{list-style:none;padding:0;margin:32px 0 0;display:grid;gap:12px}.prom li{display:flex;align-items:center;gap:12px}.prom img{width:44px;height:44px;flex:none;background:rgba(255,255,255,.6);border-radius:14px;padding:4px}.prom b{display:block;font:700 1rem/1.2 var(--f-display)}.prom span{font-size:.9375rem;color:var(--ink-rose);line-height:1.35}.card{position:relative;background:var(--paper);border-radius:28px;box-shadow:var(--sh-2);padding:48px 20px 24px;margin-top:64px;width:100%;max-width:520px;justify-self:center}.mascot{position:absolute;left:50%;top:0;width:120px;transform:translate(-50%,-62%);pointer-events:none}.mascot img{display:block;width:100%;height:auto;transform-origin:50% 100%}.mascot:after{content:"";position:absolute;left:14%;right:14%;bottom:-3%;height:10%;border-radius:50%;background:radial-gradient(closest-side,rgba(74,31,63,.22),transparent);z-index:-1}.step{outline:none}.card h2,.h2{font:800 clamp(1.625rem,1.4rem + 1vw,2rem)/1.08 var(--f-display);letter-spacing:-.03em;text-align:center;text-wrap:balance}.card h3{font:800 1.25rem/1.15 var(--f-display);letter-spacing:-.02em;text-align:center}.sub{margin-top:8px;color:var(--plum-2);text-align:center;font-size:1rem}.sub b{color:var(--plum)}form{margin-top:24px;display:grid;gap:16px}.field label{display:block;font-weight:700;font-size:.9375rem;margin-bottom:6px}input[type=email]{width:100%;height:56px;padding:0 16px;border:1.5px solid rgba(42,15,51,.22);border-radius:16px;font:inherit;font-size:1.0625rem;color:var(--plum);background:#fff;transition:border-color .15s}input[type=email]::placeholder{color:#8a7a8f}input[type=email]:hover{border-color:rgba(42,15,51,.4)}input[type=email]:focus{border-color:var(--plum);outline:none;box-shadow:0 0 0 4px rgba(42,15,51,.12)}input[aria-invalid=true]{border-color:var(--err)!important}.check{display:grid;grid-template-columns:24px 1fr;gap:4px 12px;align-items:start}.check input{width:24px;height:24px;margin:1px 0 0;accent-color:var(--plum);cursor:pointer}.check label{font-weight:400;font-size:.9375rem;line-height:1.45;color:var(--plum-2);margin:0;cursor:pointer}.check label a{color:var(--plum);font-weight:700}.check .err{grid-column:2}.err{color:var(--err);font-size:.875rem;font-weight:700;margin-top:6px}.form-err{text-align:center}.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.hp{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;width:100%;min-height:56px;padding:0 24px;border:0;border-radius:999px;background:var(--plum);color:#fff;font:700 1.0625rem/1 var(--f-body);cursor:pointer;transition:background-color .15s,transform .15s var(--ease)}.btn:hover{background:#45204f}.btn:active{transform:scale(.98)}.btn[aria-busy=true]{opacity:.7;cursor:progress}.btn.ghost{background:var(--blush);color:var(--plum)}.btn.ghost:hover{background:#ffd9cc}.fine{margin-top:4px;font-size:.8125rem;color:var(--plum-2);text-align:center;text-wrap:balance}.fine .ic{color:var(--ink-tag);vertical-align:-.15em;margin-right:4px}.ok{display:flex;justify-content:center;align-items:center;gap:6px;font-weight:700;color:#1d7a4e;font-size:.9375rem;margin-bottom:8px}.ok .ic{width:20px;height:20px;padding:3px;border-radius:50%;background:#1d7a4e;color:#fff}hr{border:0;border-top:1px solid var(--line);margin:24px 0}.plans{display:grid;gap:12px;margin-top:20px}.plan{position:relative;border:1.5px solid var(--line);border-radius:20px;padding:16px;display:grid;grid-template-columns:1fr auto;gap:2px 12px;align-items:center}.plan>b{font:800 1.0625rem/1.2 var(--f-display)}.plan p{grid-column:1;font-size:.9375rem;color:var(--plum-2)}.plan p strong{font:800 1.25rem/1 var(--f-display);color:var(--plum)}.plan p small{display:block;font-size:.8125rem}.plan .btn{grid-column:2;grid-row:1/3;width:auto;min-width:120px;min-height:48px;padding:0 18px;font-size:.9375rem;white-space:nowrap}.plan.best{border-color:var(--plum);background:var(--cream)}.tag{position:absolute;top:-11px;left:14px;background:var(--plum);color:#fff;font-size:.75rem;font-weight:700;padding:3px 10px;border-radius:999px}.link{display:block;margin:16px auto 0;background:none;border:0;padding:8px;font:700 .9375rem var(--f-body);color:var(--plum);text-decoration:underline;text-underline-offset:.2em;cursor:pointer}.foot{padding-block:24px;font-size:.8125rem;color:var(--ink-rose)}.foot .wrap{display:flex;flex-wrap:wrap;gap:8px 24px;justify-content:space-between}.foot a{font-weight:700}.doc{background:var(--cream)}.prose{max-width:760px;padding-block:16px 64px}.prose h1{font-size:clamp(2rem,1.6rem + 1.8vw,3rem);margin-top:16px}.prose h2{font:800 1.25rem/1.2 var(--f-display);margin-top:32px}.prose p,.prose ul{margin-top:10px;color:var(--plum-2)}.prose li+li{margin-top:6px}.prose code{font-size:.875em;background:var(--blush);padding:1px 5px;border-radius:5px}.meta{font-size:.875rem}.draft{background:#fff3c4;border:1.5px solid #e5c55a;color:#5a4300!important;border-radius:14px;padding:12px 16px}.back{display:inline-block;margin-top:24px;font-weight:700;color:var(--plum)}.center{flex:1;display:grid;place-items:center;padding-block:72px 48px}.center .card{margin-top:0}.doc .card{text-align:center}@media(min-width:768px){.prom{grid-template-columns:repeat(3,1fr);max-width:none}.card{padding:64px 40px 32px}.mascot{width:136px}.plan{padding:18px 20px}}@media(min-width:1024px){.prom{grid-template-columns:1fr}.grid{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);grid-template-areas:"copy card" "prom card";column-gap:64px;padding-block:24px 72px;align-content:center}.copy{align-self:end}.prom{align-self:start}.card{margin-top:40px;justify-self:end}.prom{gap:16px}}@media(prefers-reduced-motion:no-preference){.step:not([hidden]){animation:in .45s var(--ease) both}.mascot img{animation:idle 5.5s ease-in-out infinite}.ok .ic{animation:pop .5s cubic-bezier(.34,1.56,.64,1) .1s both}}@keyframes in{from{opacity:0;transform:translateY(8px)}}@keyframes idle{50%{transform:translateY(-4px) scale(1.012,.988)}}@keyframes pop{from{transform:scale(0)}}/* Phones (TikTok in-app browser is ~660px tall): keep the signup button above the fold. */
@media(max-width:767px){/* TikTok in-app fold: compact header height on the signup page only; horizontal edges stay identical to the homepage */.nav.compact{padding-top:8px}.nav.compact .bar{height:56px}.grid{padding-top:8px}h1{font-size:2.25rem}.lead{margin-top:8px;font-size:1.0625rem;line-height:1.45}.card{margin-top:40px;padding-top:30px}.card .sub{font-size:.9375rem}form{margin-top:16px;gap:12px}.check label{font-size:.875rem;line-height:1.4}.center .card{padding-top:72px}}
a
