:root{--ground: #f9f6f0;--ink: #30271f;--rose: #bd3851;--rose-deep: #9a243a;--blush: #f3e4dc;--soft: #f2e3dd;--mist: #fffbf2;--muted: #716252;--line: color-mix(in srgb, var(--ink) 9%, transparent);--display: "Fraunces", "Iowan Old Style", "Palatino Linotype", serif;--body: "Manrope", "Source Sans 3", system-ui, sans-serif;--ease-out: cubic-bezier(.22, 1, .36, 1);--radius: 1.5rem}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-height:100vh;font-family:var(--body);font-size:1.05rem;line-height:1.55;color:var(--ink);background:var(--ground);overflow-x:hidden}#root{min-height:100vh}a{color:var(--rose);text-decoration-thickness:1px;text-underline-offset:.18em}a:hover{color:var(--ink)}img{max-width:100%;height:auto;display:block}.site{min-height:100vh;display:flex;flex-direction:column}.wrap{width:min(1120px,calc(100% - 2.5rem));margin:0 auto}.site-header{position:sticky;top:0;z-index:20;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:color-mix(in srgb,var(--ground) 78%,transparent);border-bottom:1px solid transparent}.header-inner{display:flex;align-items:center;justify-content:space-between;padding:1rem 0}.brand{display:inline-flex;align-items:center;gap:.6rem;color:inherit;text-decoration:none}.brand img{width:2.25rem;height:2.25rem;border-radius:.7rem}.brand span{font-family:var(--display);font-weight:550;font-size:1.35rem;letter-spacing:-.04em}.nav{display:flex;gap:1.25rem;font-size:.92rem;font-weight:500}.nav a{color:var(--muted);text-decoration:none}.nav a:hover{color:var(--rose)}main{flex:1}.hero{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(1.5rem,4vw,3.5rem);align-items:center;min-height:calc(100svh - 5.5rem);padding:3.5rem 0 3rem}.hero-copy{max-width:34rem;text-align:left}.brand-mark{margin:0;font-family:var(--display);font-weight:550;font-size:1.4rem;letter-spacing:-.045em;color:var(--ink)}.eyebrow{display:inline-flex;align-items:center;margin:0;font-size:.69rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--ink)}.eyebrow>span{font-size:1rem;margin-right:.45rem;color:var(--rose)}.hero h1{margin:1.25rem 0 .95rem;font-family:var(--display);font-weight:400;font-size:clamp(3rem,6vw,4.8rem);line-height:1.07;letter-spacing:-.045em}em{font-style:italic;font-weight:400;color:var(--rose)}.hero .lede{margin:0 0 1.75rem;color:var(--muted);font-size:1.08rem;line-height:1.8;max-width:26rem}.cta-row{display:flex;flex-wrap:wrap;gap:.85rem;align-items:center;justify-content:flex-start}.love-divider{display:flex;align-items:center;gap:1rem;color:var(--rose);margin:.5rem auto 0}.love-divider span{height:1px;flex:1;background:var(--line)}.button{display:inline-flex;align-items:center;justify-content:center;gap:.65rem;min-height:3.1rem;padding:.85rem 1.5rem;border-radius:999px;border:none;background:var(--rose);color:#fff8f5;font:inherit;font-weight:650;font-size:.95rem;text-decoration:none;transition:transform .25s var(--ease-out),background .2s ease}.button:hover{color:#fff8f5;background:var(--rose-deep);transform:translateY(-2px)}.button.ghost{background:transparent;color:var(--ink);box-shadow:inset 0 0 0 1.5px var(--line)}.button.ghost:hover{color:var(--rose);background:color-mix(in srgb,var(--soft) 60%,transparent)}.availability{margin:1rem 0 0;font-size:.75rem;color:var(--muted)}.showcase-strip{margin:2rem 0 1rem;overflow:hidden}.hero-marquee{position:relative;width:100%;padding:.5rem 0 1.5rem;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}.marquee-track{display:flex;width:max-content;gap:1.1rem;animation:marquee 42s linear infinite}.marquee-card{margin:0;flex:0 0 auto;width:min(260px,68vw);transform:rotate(-1.5deg)}.marquee-card:nth-child(2n){transform:rotate(1.8deg) translateY(12px)}.marquee-card:nth-child(3n){transform:rotate(-.6deg) translateY(-8px)}.marquee-card img{width:100%;aspect-ratio:5 / 4;object-fit:contain;border-radius:1.35rem;background:color-mix(in srgb,var(--soft) 70%,white);box-shadow:0 22px 48px color-mix(in srgb,var(--ink) 10%,transparent)}.marquee-card figcaption{margin-top:.85rem;font-size:.78rem;font-weight:600;letter-spacing:.02em;color:var(--muted);text-align:center}.hero-marquee:hover .marquee-track{animation-play-state:paused}.section{padding:5.5rem 0 2rem}.how-section{width:min(1120px,calc(100% - 2.5rem));margin:0 auto;scroll-margin-top:5rem;padding-top:4rem}.section-heading{text-align:center;max-width:34rem;margin:0 auto}.section-heading .eyebrow,.privacy-beat .eyebrow,.faq-section .eyebrow{color:var(--rose)}.section-heading h2,.closing-note h2{margin:.85rem 0 0;font-family:var(--display);font-weight:450;font-size:clamp(2.2rem,4.5vw,3.4rem);line-height:1.08;letter-spacing:-.04em}.section-heading p{margin:1rem auto 0;color:var(--muted);font-size:.98rem;line-height:1.7}.points{list-style:none;margin:3rem 0 0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid var(--line)}.point{padding:1.5rem 1.75rem .5rem}.point+.point{border-left:1px solid var(--line)}.step-number{display:block;font-size:.62rem;font-weight:700;letter-spacing:.14em;color:var(--muted)}.step-icon{display:grid;place-items:center;width:50px;height:50px;border-radius:50%;background:var(--soft);margin:1.5rem 0 1.2rem;font:1.8rem var(--display);color:var(--rose)}.point h3{margin:0 0 .75rem;font-family:var(--display);font-weight:400;font-size:1.5rem;letter-spacing:-.03em}.point p{margin:0;color:var(--muted);font-size:.94rem;line-height:1.75;max-width:18rem}.more-section{width:min(900px,calc(100% - 2.5rem));margin:0 auto;scroll-margin-top:5rem;padding-top:4.5rem;padding-bottom:1rem}.more-points{list-style:none;margin:2.75rem 0 0;padding:0;display:grid;grid-template-columns:repeat(2,1fr);gap:0;border-top:1px solid var(--line)}.more-point{padding:1.75rem 1.75rem .5rem}.more-point+.more-point{border-left:1px solid var(--line)}.more-point h3{margin:1.1rem 0 .75rem;font-family:var(--display);font-weight:400;font-size:1.55rem;letter-spacing:-.03em}.more-point p{margin:0;color:var(--muted);font-size:.94rem;line-height:1.75;max-width:22rem}.letter-scene{position:relative;width:100%;min-height:470px;border-radius:48% 48% 24px 24px;background:var(--soft);display:flex;flex-direction:column;align-items:center;justify-content:flex-end;padding:2rem 1rem 1.75rem;overflow:hidden}.scene-caption{position:absolute;top:2rem;font:italic 1.1rem var(--display);color:var(--muted);transform:rotate(-5deg)}.doodle{position:absolute;color:color-mix(in srgb,var(--rose) 45%,var(--muted));font:2rem var(--display);pointer-events:none}.doodle-one{top:36%;left:6%}.doodle-two{top:22%;right:8%;transform:rotate(15deg)}.letter-demo{position:relative;width:min(300px,87%);height:190px;margin:6.5rem 0 1.5rem;padding:0;border:0;background:transparent;cursor:pointer;perspective:900px;isolation:isolate}.envelope-back{position:absolute;top:0;right:0;bottom:0;left:0;background:#d58e98;border-radius:9px;box-shadow:0 18px 28px color-mix(in srgb,var(--ink) 10%,transparent)}.letter-paper{position:absolute;top:12px;right:16px;bottom:12px;left:16px;padding:22px 12px;background:var(--mist);border-radius:5px;display:flex;flex-direction:column;justify-content:space-between;text-align:center;transition:transform .8s cubic-bezier(.22,.61,.36,1),box-shadow .55s var(--ease-out);box-shadow:0 4px 12px color-mix(in srgb,var(--ink) 6%,transparent)}.letter-kicker{font-size:.5rem;font-weight:700;letter-spacing:.16em;color:var(--muted)}.letter-message{font:1.22rem / 1.4 var(--display);color:var(--ink)}.letter-signoff{font:italic .9rem var(--display);color:var(--rose)}.envelope-front{position:absolute;top:0;right:0;bottom:0;left:0;background:#edb5bb;clip-path:polygon(0 0,50% 52%,100% 0,100% 100%,0 100%);border-radius:0 0 9px 9px;z-index:3}.envelope-front:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:#f2c0c4;clip-path:polygon(0 100%,50% 44%,100% 100%)}.envelope-flap{position:absolute;inset:0 0 auto;height:108px;background:#e8a8b1;clip-path:polygon(0 0,100% 0,50% 100%);transform-origin:top;transition:transform .65s ease,opacity .25s ease .25s;z-index:4}.wax-seal{position:absolute;left:calc(50% - 23px);top:83px;width:46px;height:46px;border-radius:50%;background:var(--rose);color:#fff0e9;display:grid;place-items:center;font-size:22px;box-shadow:0 3px color-mix(in srgb,var(--rose-deep) 35%,transparent);z-index:5;transition:opacity .25s ease,transform .35s var(--ease-out)}.letter-demo:not(.is-open) .wax-seal{animation:seal-invite 2.6s ease-in-out infinite}.is-open .envelope-flap{transform:rotateX(180deg);opacity:0}.is-open .wax-seal{opacity:0;transform:scale(.8);animation:none}.is-open .letter-paper{transform:translateY(-112px);transition-delay:.25s}.is-open.is-kept .letter-paper{transform:translateY(-118px) scale(1.025);box-shadow:0 10px 22px color-mix(in srgb,var(--ink) 10%,transparent),0 0 0 1px color-mix(in srgb,var(--rose) 18%,transparent);transition-delay:0s}.letter-reaction{position:absolute;right:10px;bottom:10px;padding:.28rem .55rem;border-radius:999px;background:color-mix(in srgb,var(--soft) 70%,white);color:var(--rose-deep);font:.62rem / 1 var(--body);font-weight:650;letter-spacing:.02em;opacity:0;transform:translateY(8px) scale(.92);pointer-events:none;transition:opacity .45s var(--ease-out),transform .55s cubic-bezier(.22,.61,.36,1)}.is-kept .letter-reaction{opacity:1;transform:translateY(0) scale(1)}.demo-hint{font:italic 1rem var(--display);text-align:center;color:var(--ink);min-height:1.5em}.demo-label{font-size:.65rem;color:var(--muted);margin-top:.45rem}@media(hover:hover){.letter-demo:not(.is-open):hover .wax-seal{animation:none;transform:scale(1.07)}}.closing-note{width:min(1120px,calc(100% - 2.5rem));margin:2rem auto 5rem;padding:clamp(3rem,6vw,4.5rem) 1.5rem;text-align:center;border-radius:2rem;background:linear-gradient(160deg,color-mix(in srgb,var(--soft) 80%,white),var(--blush))}.closing-note .brand-mark{font-size:1.4rem}.closing-note h2{margin-top:.75rem}.closing-note p{margin:.9rem auto 1.6rem;color:var(--muted);max-width:28rem}.closing-cta{justify-content:center}.privacy-beat{width:min(720px,calc(100% - 2.5rem));margin:3rem auto 1rem;padding:clamp(3rem,6vw,4.25rem) 1.5rem;text-align:center;border-radius:2rem;background:linear-gradient(165deg,color-mix(in srgb,var(--mist) 70%,var(--soft)),var(--soft))}.privacy-beat h2{margin:.85rem 0 0;font-family:var(--display);font-weight:450;font-size:clamp(2.2rem,4.5vw,3.4rem);line-height:1.08;letter-spacing:-.04em}.privacy-beat>p:not(.eyebrow):not(.privacy-links){margin:1.1rem auto 0;color:var(--muted);max-width:28rem;line-height:1.7}.privacy-links{margin:1.35rem 0 0;font-size:.92rem;font-weight:500}.privacy-links a{text-decoration:none}.faq-section{width:min(720px,calc(100% - 2.5rem));margin:0 auto;padding:4.5rem 0 2rem;scroll-margin-top:5rem}.faq-list{margin-top:2.5rem;border-top:1px solid var(--line)}.faq-item{border-bottom:1px solid var(--line);padding:0}.faq-item summary{list-style:none;cursor:pointer;padding:1.25rem 1.75rem 1.25rem 0;font-family:var(--display);font-size:1.2rem;font-weight:500;letter-spacing:-.02em;position:relative}.faq-item summary::-webkit-details-marker{display:none}.faq-item summary:after{content:"+";position:absolute;right:0;top:50%;transform:translateY(-50%);font-family:var(--body);font-size:1.35rem;font-weight:500;color:var(--rose)}.faq-item[open] summary:after{content:"−"}.faq-item p{margin:0 0 1.35rem;padding-right:2rem;color:var(--muted);font-size:.98rem;line-height:1.7}.store-badge-link{display:inline-flex;text-decoration:none;color:inherit}.store-badge-link.is-disabled{cursor:default;opacity:.72}.store-badge{display:inline-flex;align-items:center;gap:.55rem;min-height:3.1rem;padding:.45rem .95rem .45rem .8rem;border-radius:.7rem;background:#1a1210;color:#fff8f5;box-shadow:inset 0 0 0 1px color-mix(in srgb,white 12%,transparent)}.store-badge-apple{flex-shrink:0}.store-badge-copy{display:flex;flex-direction:column;align-items:flex-start;line-height:1.05}.store-badge-kicker{font-size:.58rem;font-weight:500;letter-spacing:.04em;text-transform:uppercase;opacity:.85}.store-badge-title{font-size:1.15rem;font-weight:650;letter-spacing:-.02em}.store-badge-link.is-live:hover .store-badge{background:#000}.store-badge-link.is-disabled .store-badge{background:color-mix(in srgb,var(--ink) 78%,#5a4a44)}.site-footer{margin-top:auto;border-top:1px solid var(--line);color:var(--muted);font-size:.9rem}.footer-inner{display:flex;flex-wrap:wrap;gap:.75rem 1.5rem;justify-content:space-between;padding:1.75rem 0 2.5rem}.site-footer a{color:var(--muted);text-decoration:none}.site-footer a:hover{color:var(--rose)}.reveal{opacity:0;transform:translateY(18px);animation:rise .9s var(--ease-out) forwards}.reveal-delay{animation-delay:.12s}.reveal-delay-2{animation-delay:.24s}.scroll-reveal{opacity:0;transform:translateY(22px);transition:opacity .85s var(--ease-out),transform .85s var(--ease-out);will-change:opacity,transform}.scroll-reveal.is-in{opacity:1;transform:translateY(0)}@keyframes rise{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@keyframes marquee{0%{transform:translate(0)}to{transform:translate(-50%)}}@keyframes seal-invite{0%,to{transform:scale(1);box-shadow:0 3px color-mix(in srgb,var(--rose-deep) 35%,transparent)}50%{transform:scale(1.08);box-shadow:0 3px color-mix(in srgb,var(--rose-deep) 35%,transparent),0 0 0 7px color-mix(in srgb,var(--rose) 16%,transparent)}}:focus-visible{outline:3px solid var(--rose);outline-offset:4px}.skip-link{position:absolute;left:.75rem;top:-100px;padding:.75rem 1rem;background:var(--mist);z-index:40;border-radius:.5rem}.skip-link:focus{top:.75rem}.page{width:min(40rem,calc(100% - 2.5rem));margin:0 auto;padding:2.5rem 0 4rem}.page h1{font-family:var(--display);font-weight:450;font-size:clamp(2.2rem,5vw,3rem);letter-spacing:-.04em;margin:0 0 1rem}.page h2{font-family:var(--display);font-weight:500;font-size:1.45rem;margin:2rem 0 .55rem;letter-spacing:-.02em}.page p,.page li{color:var(--muted)}.page ul{padding-left:1.15rem}.join-page{text-align:center;margin:2rem auto}.join-logo{border-radius:24px;margin:0 auto 2rem}.join-page h1{margin-top:1rem;font-family:var(--display);font-weight:450;font-size:clamp(2rem,4vw,2.8rem);letter-spacing:-.04em}.join-page form{max-width:340px;margin:2rem auto}.join-page label{display:block;text-align:left;font-size:.85rem;margin-bottom:.5rem}.join-page input{width:100%;border:1px solid color-mix(in srgb,var(--ink) 16%,transparent);background:var(--mist);color:var(--ink);padding:1rem;border-radius:12px;font:1.4rem ui-monospace,SFMono-Regular,Menlo,monospace;text-align:center;letter-spacing:.15em}.join-page .button{width:100%;cursor:pointer;margin-top:.85rem}.copy-code{background:none;border:0;color:var(--rose);font:inherit;cursor:pointer;margin-top:.5rem}button:disabled{opacity:.45;cursor:not-allowed}.guides-index-hero{width:min(900px,calc(100% - 2.5rem));margin:0 auto;padding-top:4.5rem;text-align:center}.guides-grid-section{width:min(1120px,calc(100% - 2.5rem));margin:1rem auto 5rem}.guides-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.25rem;list-style:none;margin:0;padding:0}.guide-card a{display:block;height:100%;padding:1.75rem;border-radius:1.5rem;background:var(--mist);border:1px solid var(--line);text-decoration:none;color:inherit;transition:transform .2s var(--ease-out),box-shadow .2s var(--ease-out)}.guide-card a:hover{transform:translateY(-3px);box-shadow:0 22px 40px color-mix(in srgb,var(--ink) 10%,transparent)}.guide-card h2{margin:0 0 .6rem;font-family:var(--display);font-weight:500;font-size:1.25rem;letter-spacing:-.02em;color:var(--ink)}.guide-card p{margin:0;color:var(--muted);font-size:.92rem;line-height:1.65}.guide-card-cta{display:inline-block;margin-top:1rem;font-size:.82rem;font-weight:600;color:var(--rose)}.guide-article{width:min(720px,calc(100% - 2.5rem));margin:0 auto;padding-top:2rem}.guide-breadcrumb{font-size:.82rem;color:var(--muted);margin-bottom:2rem}.guide-breadcrumb a{color:var(--muted)}.guide-breadcrumb a:hover{color:var(--rose)}.guide-header{margin-bottom:2.5rem}.guide-header h1{font-family:var(--display);font-weight:500;font-size:clamp(2rem,4vw,2.75rem);letter-spacing:-.02em;line-height:1.1;margin:0 0 1rem}.guide-intro{color:var(--muted);font-size:1.08rem;line-height:1.75;margin:0}.guide-section{margin-bottom:2.75rem}.guide-section h2{font-family:var(--display);font-weight:500;font-size:1.5rem;letter-spacing:-.02em;margin:0 0 1rem}.guide-section p{color:var(--ink);line-height:1.75;margin:0 0 1rem}.guide-figure{margin:1.75rem 0 0;max-width:280px}.guide-figure img{width:100%;border-radius:1.5rem;border:1px solid var(--line);box-shadow:0 22px 44px color-mix(in srgb,var(--ink) 12%,transparent)}.guide-figure figcaption{margin-top:.75rem;font-size:.82rem;color:var(--muted);text-align:center}.guide-cta{margin-top:.5rem}.guide-related{padding-top:1.5rem;border-top:1px solid var(--line);margin-bottom:3rem}.guide-related h2{font-family:var(--display);font-weight:500;font-size:1.15rem;margin:0 0 .9rem}.guide-related ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.6rem}.guide-related a{color:var(--rose);font-weight:600}.guide-faq{width:auto;margin:0 0 3rem;padding-top:0}.guide-closing{margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);width:auto;border-radius:0}@media(max-width:820px){.hero{grid-template-columns:1fr;min-height:auto;padding:2.5rem 0 2rem;gap:2.5rem}.hero-copy{text-align:center;margin:0 auto;max-width:34rem}.hero .lede{margin-left:auto;margin-right:auto}.cta-row{justify-content:center;flex-direction:column}.letter-scene{max-width:440px;margin:0 auto;min-height:430px}.points{grid-template-columns:1fr;max-width:26rem;margin-left:auto;margin-right:auto}.point{padding:1.75rem .25rem}.point+.point{border-left:0;border-top:1px solid var(--line)}.more-points{grid-template-columns:1fr;max-width:26rem;margin-left:auto;margin-right:auto}.more-point{padding:1.75rem .25rem}.more-point+.more-point{border-left:0;border-top:1px solid var(--line)}.nav{gap:.85rem;font-size:.85rem}.hero h1{font-size:clamp(2.7rem,12vw,3.8rem)}}@media(max-width:380px){.wrap,.how-section,.more-section,.privacy-beat,.faq-section,.closing-note{width:calc(100% - 1.75rem)}.brand span{font-size:1.15rem}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal,.marquee-track,.letter-demo:not(.is-open) .wax-seal{animation:none!important}.reveal,.scroll-reveal,.scroll-reveal.is-in{opacity:1;transform:none;transition:none!important}.letter-paper,.envelope-flap,.wax-seal,.letter-reaction{transition:none!important}.is-open.is-kept .letter-paper{transform:translateY(-112px)}.is-kept .letter-reaction{opacity:1;transform:none}.marquee-track{flex-wrap:wrap;width:min(1120px,calc(100% - 2.5rem));margin:0 auto;justify-content:center}.button{transition:none}}
