@import url('language-selector.css?v=1');
:root{color-scheme:light;--paper:#fbf7ee;--ink:#393c30;--muted:#696b5e;--coral:#b8503e;--pink:#efd3d3;--blue:#b9d0ed;--green:#e8ecd9;--line:#deddd0;--serif:Fraunces,Georgia,serif;--sans:'DM Sans',sans-serif}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:30px}
body{margin:0;background:var(--paper);color:var(--ink);font:400 16px/1.6 var(--sans);-webkit-font-smoothing:antialiased}
button,input{font:inherit;color:inherit}
button,a{-webkit-tap-highlight-color:transparent;touch-action:manipulation}
button{cursor:pointer}
a{color:inherit;text-underline-offset:5px}
button:disabled{cursor:wait}
:focus-visible{outline:3px solid #547447;outline-offset:5px}
[hidden]{display:none!important}
h1,h2,h3,p{margin:0}
h1,h2,h3{font-family:var(--serif);font-weight:700;line-height:1.1;letter-spacing:-.045em}
h2{font-size:clamp(2.5rem,4.3vw,3.75rem)}
em{font-family:var(--serif);font-weight:600;color:var(--coral)}
svg{display:block;max-width:100%}
.svg-library{position:absolute;width:0;height:0;overflow:hidden}
.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip-link{position:fixed;left:12px;top:12px;clip-path:inset(50%);padding:12px 20px;background:var(--ink);color:white;z-index:30}
.skip-link:focus{clip-path:none}
.wrap{width:min(1200px,calc(100% - 112px));margin-inline:auto}
.eyebrow{font-size:11px;line-height:1.5;font-weight:700;letter-spacing:.14em;text-transform:uppercase}
.brand{display:inline-flex;align-items:center;flex-shrink:0;text-decoration:none}
.brand img{display:block;width:200px;max-width:100%;height:auto}
@media(max-width:620px){.site-header .brand img{width:150px}}
.site-header{min-height:103px;display:flex;align-items:center;justify-content:space-between;gap:24px;border-bottom:1px solid var(--line)}
.site-header nav{display:flex;align-items:center;gap:32px}
.site-header nav a{font-size:13px;text-decoration:none;padding-block:12px}
.site-header nav a:hover{color:var(--coral)}

/* A paper invitation, little notes, and balloons form the first screen. */
.hero{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:38px;padding-top:73px;padding-bottom:86px;min-height:720px}
.hero-copy{position:relative;z-index:2}
.hero .eyebrow{display:flex;align-items:center;gap:9px;font-size:10px}
.little-star{color:var(--coral);font-size:23px;line-height:1}
h1{font-size:clamp(4rem,6.7vw,6rem);line-height:1.02;letter-spacing:-.065em;margin:23px 0}
h1 em{letter-spacing:-.065em}
.coral{color:var(--coral)}
.hero-description{max-width:430px;color:var(--muted);font-size:16px;line-height:1.8}
.hero-actions{display:flex;align-items:center;gap:25px;margin-top:28px;flex-wrap:wrap}
.play-icon{font-size:22px;line-height:1;text-decoration:none}
.little-note{font-size:11px;margin-top:17px;color:var(--muted)}
.joy-strip{display:flex;align-items:center;justify-content:center;gap:43px;padding:18px 30px;background:#eed6d1;border-block:1px solid #d4b9ac;white-space:nowrap;overflow:hidden;font:700 24px/1.4 var(--serif);letter-spacing:-.7px}
.joy-strip>span:nth-child(even){color:var(--coral);font:400 25px var(--sans)}

.how-section{padding-block:98px 92px}
.section-heading{text-align:center}
.section-heading h2{margin:16px 0 20px}
.section-heading>p:last-child{color:var(--muted);font-size:14px;line-height:1.8}
.how-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:75px;margin-top:49px}
.how-grid article{text-align:center}
.how-grid h3{font-size:25px;margin:19px 0 12px}
.how-grid article>p{font-size:13px;color:var(--muted);line-height:1.8;max-width:265px;margin:auto}
.step-art{height:148px;position:relative;width:240px;max-width:100%;margin:auto}
.step-number{position:absolute;bottom:0;left:12px;width:30px;height:30px;border:1px solid #b9b5a7;border-radius:50%;background:var(--paper);font-size:11px;font-weight:600;display:grid;place-items:center;z-index:3}
.mini-envelope{position:absolute;inset:29px 33px 12px;background:#d6dfc7;border:1px solid #a6b397;border-radius:5px;transform:rotate(-8deg);box-shadow:3px 5px 0 #9d947319}
.mini-envelope::after{content:'';position:absolute;inset:27px 0 0;background:#dde5d1;clip-path:polygon(0 0,50% 60%,100% 0,100% 100%,0 100%);border-radius:0 0 5px 5px}
.mini-envelope>span{position:absolute;left:12px;right:12px;top:-23px;padding:8px 15px 15px;background:#fffdfa;border:1px solid #c8c0a9;text-align:center;font:700 21px/1 var(--serif);transform:rotate(3deg)}
.tiny-vote{display:flex;align-items:center;justify-content:space-between;gap:20px;position:absolute;font:700 31px/1 var(--serif);border:1px solid #bf95a1;border-radius:7px;padding:19px 23px;background:#f0c7cd;left:18px;top:15px;transform:rotate(-12deg);min-width:146px}
.tiny-vote span{font-size:29px;font-weight:400}
.blue-vote{background:#bfd2e9;border-color:#8eabc9;left:88px;top:60px;transform:rotate(10deg);font-size:30px}
.reveal-mini>svg{width:142px;height:142px;color:#e0b4a3;position:absolute;left:49px;top:0;transform:rotate(15deg)}
.pop-word{position:absolute;left:85px;top:41px;font:italic 600 43px var(--serif);transform:rotate(-15deg);color:#a04d3c}
.confetti-mark{position:absolute;color:#849275;font-size:42px}.c-one{left:20px;top:19px;transform:rotate(-20deg)}.c-two{right:7px;bottom:5px}

/* The demo's real controls live inside a small browser, not a video. */
.play-section{background:var(--green);border-block:1px solid #d7ddc9;padding:73px 0 68px;background-image:radial-gradient(#abb69d55 .8px,transparent .8px);background-size:22px 22px}
.demo-top{display:flex;align-items:flex-end;justify-content:space-between;gap:32px}
.demo-top h2{margin-top:15px;font-size:clamp(2.3rem,4vw,3.45rem)}
.demo-top>p{font-size:13px;color:#606853;line-height:1.8;padding-bottom:4px}
.demo-layout{display:grid;grid-template-columns:1fr 1.15fr;gap:85px;align-items:center;margin-top:47px}
.demo-tabs{display:flex;flex-direction:column;gap:6px}
.demo-tabs button{display:flex;text-align:left;align-items:center;gap:17px;padding:23px 17px;width:100%;border:1px solid transparent;border-bottom-color:#cbd2bc;background:transparent;border-radius:7px;transition:background .2s,box-shadow .2s}
.demo-tabs button[aria-selected=true]{background:var(--paper);border-color:#b6bda4;box-shadow:4px 4px 0 #cbd2bc}
.demo-tabs button:hover{background:#fbf7ee99}
.tab-number{font-size:12px;border:1px solid #b6bda4;border-radius:50%;min-width:29px;height:29px;display:grid;place-items:center}
[aria-selected=true]>.tab-number{color:#fffaf3;background:var(--coral);border-color:var(--coral)}
.demo-tabs strong{display:block;font:700 22px/1.25 var(--serif);letter-spacing:-.6px}
.demo-tabs button>span>span{display:block;font-size:11px;color:#646c56;margin-top:8px}
.tab-arrow{margin-left:auto;font-size:21px;opacity:0}.demo-tabs [aria-selected=true]>.tab-arrow{opacity:1}
.demo-footnote{display:flex;align-items:center;gap:18px;padding:22px 20px 0;color:#606853}
.demo-footnote>span{font:400 45px var(--serif);transform:rotate(12deg)}
.demo-footnote p{font-size:11px}
.reset-button{margin:15px 0 0 65px;padding:10px 0;border:0;border-bottom:1px solid #a6ad99;background:none;font-size:11px;color:#606853;min-height:44px}
.reset-button:hover{color:var(--coral)}
.demo-stage{position:relative;min-width:0}
.demo-browser{max-width:470px;margin-inline:auto;border:1px solid #8c947d;border-radius:11px;background:#fffcf6;box-shadow:8px 9px 0 #cbd2bc;overflow:hidden}
.demo-browser>.window-bar{background:#f8f5ed;border-color:#dddcd2;font-size:11px;padding:12px 17px}
.demo-label{font-size:7px;letter-spacing:.13em;border:1px solid #cbd2bc;padding:2px 6px;border-radius:3px}
.demo-sticker{position:absolute;right:-28px;top:49px;z-index:2;font:700 12px/1.5 var(--sans);text-align:center;transform:rotate(14deg);background:#f3d69b;border:1px solid #c9af7d;padding:13px 17px;box-shadow:2px 3px 0 #8c947d22}
.demo-sticker em{font-size:19px;color:var(--ink)}
.stage-caption{text-align:center;font-size:10px;color:#626b55;margin-top:23px}.stage-caption span{font-size:15px;padding-left:5px}
.noscript-note{margin-top:24px;background:var(--paper);border:1px solid var(--line);padding:18px;font-size:13px}

.together-section{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:100px;padding-block:114px}
.together-copy h2{margin:16px 0 23px}
.together-copy>p:not(.eyebrow){font-size:14px;color:var(--muted);line-height:1.8;max-width:425px;margin-top:15px}
.feature-notes{display:flex;flex-direction:column;gap:9px;margin-top:25px;font-size:12px}
.together-art{height:418px;position:relative}
.connection-ring{position:absolute;inset:20px 27px 20px 25px;border:1px dashed #b7b8a1;border-radius:50%}
.connection-center{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%) rotate(-8deg);width:205px;height:205px;border-radius:50%;background:#ece8da;display:flex;flex-direction:column;align-items:center;justify-content:center;font:700 39px/1 var(--serif);letter-spacing:-2px}
.connection-center>span{font-size:42px;font-family:var(--sans);color:var(--coral);margin-top:12px}
.person{position:absolute;padding:14px 16px 14px 64px;min-width:187px;background:#fcfaf3;border:1px solid #c9c4b6;border-radius:6px;box-shadow:3px 4px 0 #e5dfd1;font-size:11px}
.person>span{position:absolute;left:12px;top:14px;display:grid;place-items:center;width:39px;height:39px;border-radius:50%;background:#e7b6a7;font-size:29px;font-family:var(--serif)}
.person strong,.person small{display:block}.person small{font-size:9px;color:var(--muted);margin-top:4px}
.person-one{top:10px;left:0;transform:rotate(-8deg)}
.person-two{top:148px;right:-32px;transform:rotate(9deg)}.person-two>span{background:#bdc9df}
.person-three{bottom:0;left:9px;transform:rotate(-3deg)}.person-three>span{background:#d6dfba}
.connection-star{width:45px;height:45px;position:absolute;bottom:4px;right:53px;color:#d5a970}
.faq-section{display:grid;grid-template-columns:.85fr 1.15fr;gap:90px;padding-block:20px 106px}
.faq-section h2{font-size:43px;margin-top:16px}
.faq-doodle{display:inline-block;transform:rotate(-10deg);font:italic 600 28px var(--serif);color:#999d81;margin:30px 0 0 110px}
.faqs{border-top:1px solid var(--line)}
.faqs details{border-bottom:1px solid var(--line)}
.faqs summary{display:flex;align-items:center;justify-content:space-between;gap:22px;cursor:pointer;font-size:13px;font-weight:600;padding-block:20px;list-style:none}
.faqs summary::-webkit-details-marker{display:none}
.faqs summary>span{font-size:22px;font-weight:400;color:var(--coral);line-height:1;transition:transform .2s}
.faqs details[open] summary>span{transform:rotate(45deg)}
.faqs details p{font-size:13px;line-height:1.85;color:var(--muted);padding:0 30px 23px 0}
.final-cta{position:relative;text-align:center;background:#eed6d1;padding-block:75px 82px;border-block:1px solid #d9bfb5;overflow:hidden}
.final-cta>.wrap{position:relative}
.final-cta h2{font-size:clamp(2.6rem,4.6vw,4.1rem);margin:20px 0}
.final-cta p:not(.eyebrow){font-size:14px;color:#6b6258}
.final-cta .button{margin-top:28px}
.cta-star{position:absolute;width:80px;height:80px;color:#b78368}
.star-left{top:52px;left:37px;transform:rotate(7deg)}.star-right{bottom:40px;right:90px;width:53px;height:53px;color:#8b9277}
.cta-heart{position:absolute;top:40px;right:24px;transform:rotate(15deg);font:400 83px var(--serif);color:#ad6c68}
.site-footer{display:flex;align-items:flex-start;justify-content:space-between;gap:30px;padding-block:28px 24px}
.footer-brand{flex:0 0 180px}
.footer-navigation{flex:1;min-width:0;display:grid;gap:8px}
.site-footer .brand img{width:180px}
.footer-brand>p{font-size:11px;color:var(--muted);margin-top:10px}
.site-footer nav{display:flex;flex-wrap:wrap;gap:4px 24px;font-size:11px}.site-footer nav a{text-decoration:none;display:inline-flex;align-items:center;min-height:44px}
.prototype-note{font-size:9px;text-align:right;color:var(--muted);line-height:1.9}




.sticky-cta-bar{position:fixed;bottom:0;left:0;right:0;background:#fdfbf5f5;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-top:1px solid var(--line);padding:10px 16px;padding-bottom:calc(10px + env(safe-area-inset-bottom,0px));z-index:40;transform:translateY(100%);transition:transform .25s ease-out;box-shadow:0 -4px 16px #453b3012;display:none}
/* Native wrappers already inset the WebView above the system navigation bar. */
.native-app .sticky-cta-bar{padding-bottom:10px}
@media(max-width:850px){body.has-sticky-cta{padding-bottom:var(--sticky-cta-height,0px)}}
.sticky-cta-bar.is-visible{transform:translateY(0)}
.sticky-cta-wrap{display:flex;align-items:center;justify-content:space-between;max-width:1200px;margin:auto;gap:12px}
.sticky-cta-text{font:700 13px/1.2 var(--serif);color:var(--ink);letter-spacing:-.3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sticky-cta-bar .button{font-size:11px;min-height:38px;padding:8px 14px;white-space:nowrap}

@media(min-width:1450px){.hero{gap:70px}.hero-scene{transform:translateX(0)}.hero-window{width:380px}.hero-balloons{height:218px}.name-ticket{right:-5px}.happy-sticker{right:0}}
@media(max-width:1150px){.wrap{width:calc(100% - 72px)}.site-header nav{gap:20px}.hero{gap:18px;padding-top:60px;min-height:660px;padding-bottom:60px}.hero-scene{height:500px}.hero-window{width:320px;top:33px}.hero-balloons{height:182px}.invitation-art h2{font-size:33px}.guess-ticket{top:330px;left:-7px;width:237px;padding:13px}.name-ticket{right:-5px;top:243px;font-size:10px;padding:10px 13px}.happy-sticker{width:110px;height:110px;right:-12px}.scene-caption{left:80px;bottom:0;font-size:17px}.hero-actions{gap:18px}.hero-actions .button{font-size:12px;padding-inline:18px;gap:15px}.hero-actions .text-link{font-size:12px}.joy-strip{gap:28px;font-size:22px}.how-grid{gap:30px}.demo-layout{gap:42px}.demo-tabs strong{font-size:20px}.demo-tabs button{padding:22px 12px;gap:12px}.demo-sticker{right:-15px;font-size:10px}.demo-sticker em{font-size:17px}.together-section{gap:70px}.together-copy h2{font-size:49px}.person-two{right:-22px}.faq-section{gap:50px}.faq-section h2{font-size:39px}}
@media(max-width:850px){.sticky-cta-bar{display:block}.wrap{width:calc(100% - 48px)}.site-header{min-height:85px}.site-header nav{gap:18px}.site-header nav a{font-size:11px}.site-header .button{display:none}.hero{grid-template-columns:1fr 1fr;padding-top:47px;min-height:570px;gap:12px;padding-bottom:50px}h1{font-size:60px}.hero .eyebrow{font-size:8px;gap:5px}.hero-description{font-size:13px;line-height:1.8}.hero-actions{gap:15px}.hero-actions .text-link{font-size:11px;min-height:35px}.little-note{font-size:9px;margin-top:10px}.hero-scene{height:442px}.hero-window{width:270px;top:36px}.window-bar{padding:10px;font-size:8px}.invitation-art{padding:22px 20px 17px}.invitation-art h2{font-size:29px}.hero-balloons{height:162px;margin-bottom:-25px}.invitation-signature{font-size:9px}.invitation-signature span{font-size:15px}.invite-button{font-size:9px}.happy-sticker{width:96px;height:96px;top:13px;right:-7px}.happy-sticker strong{font-size:19px}.happy-sticker>span{font-size:8px}.guess-ticket{width:213px;top:310px;left:-4px;padding:11px;gap:9px}.guess-ticket strong{font-size:10px}.guess-ticket div>span{font-size:8px}.ticket-heart{width:34px;height:34px;line-height:34px;font-size:24px}.guess-ticket svg{width:20px}.name-ticket{top:229px;right:-9px;padding:8px 10px;font-size:9px}.name-ticket>span{font-size:17px}.scene-caption{font-size:15px;left:60px;bottom:0}.scene-caption svg{left:128px;width:63px}.scene-orbit{inset:47px 0 30px}.joy-strip{gap:23px;font-size:19px;padding-block:14px}.how-section{padding-block:74px}.how-grid{gap:20px}.how-grid h3{font-size:22px}.how-grid article>p{font-size:12px}.step-art{transform:scale(.86);transform-origin:center bottom;width:220px;max-width:110%;margin-left:-5%}.how-grid{margin-top:28px}.play-section{padding-block:60px}.demo-top{gap:20px}.demo-top>p{font-size:11px}.demo-layout{gap:25px;grid-template-columns:.95fr 1.1fr}.demo-tabs strong{font-size:18px}.demo-tabs button{gap:9px;padding:20px 10px}.demo-tabs button>span>span{font-size:10px;line-height:1.6}.tab-number{min-width:25px;height:25px;font-size:10px}.tab-arrow{display:none}.demo-sticker{display:none}.demo-footnote{padding-inline:10px;gap:12px}.demo-footnote p{font-size:10px}.reset-button{margin-left:51px}.stage-caption{font-size:9px}.together-section{gap:45px;padding-block:90px}.together-art{height:355px}.connection-center{width:160px;height:160px;font-size:31px}.person{min-width:163px;padding:11px 10px 11px 55px;font-size:10px}.person>span{left:9px;top:11px;width:34px;height:34px;font-size:27px}.person small{font-size:8px}.person-two{top:129px;right:-12px}.person-three{bottom:9px}.together-copy h2{font-size:42px}.together-copy>p:not(.eyebrow){font-size:12px}.feature-notes{font-size:10px}.together-copy .eyebrow{font-size:9px}.faq-section{gap:40px;padding-bottom:75px}.faq-section h2{font-size:33px}.faqs summary{font-size:12px}.faqs details p{font-size:12px}.faq-doodle{margin-left:65px}.star-left{left:0;width:57px;height:57px}.star-right{right:30px;width:40px;height:40px}.cta-heart{right:2px;font-size:60px}.site-footer{gap:22px}.site-footer nav{column-gap:20px;font-size:10px}}
@media(max-width:620px){html{scroll-padding-top:20px}.wrap{width:calc(100% - 40px)}.site-header{min-height:78px;gap:16px}.brand{font-size:24px}.site-header nav{gap:0}.site-header nav a{display:none}.site-header nav a[href='#play']{display:block;font-size:11px;text-decoration:underline}.hero{grid-template-columns:1fr;gap:7px;padding-top:36px;padding-bottom:31px;text-align:center}.hero .eyebrow{justify-content:center;font-size:8px;letter-spacing:.12em}.little-star{font-size:18px}h1{font-size:clamp(57px,13.5vw,80px);margin:18px 0 22px;line-height:1.03}.hero-description{font-size:13px;max-width:355px;margin-inline:auto}.hero-actions{justify-content:center;gap:20px;margin-top:22px}.hero-trust-badges{justify-content:center;gap:8px}.trust-pill{font-size:10px;padding:3px 8px}.hero-actions .button{font-size:12px;min-height:49px;padding-inline:18px}.hero-actions .text-link{font-size:11px;gap:6px}.little-note{font-size:10px;margin-top:14px}.hero-scene{width:min(360px,100%);margin:12px auto 0;height:427px}.hero-window{width:269px;top:20px}.happy-sticker{top:1px;right:0;width:99px;height:99px}.scene-orbit{inset:25px 7px 31px;transform:none}.guess-ticket{left:-6px;top:288px;width:220px;padding:13px}.name-ticket{right:-6px;top:220px;padding:10px 12px;font-size:9px}.scene-caption{bottom:0;left:75px;font-size:16px;text-align:left}.scene-caption svg{left:135px;bottom:0}.joy-strip{gap:22px;font-size:18px;justify-content:flex-start;padding-inline:20px}.how-section{padding-block:61px}.section-heading h2{font-size:35px;margin-top:13px}.section-heading .eyebrow{font-size:9px}.section-heading>p:last-child{font-size:12px}.how-grid{grid-template-columns:1fr;gap:33px;margin-top:34px}.how-grid article{display:grid;grid-template-columns:120px 1fr;gap:0 20px;text-align:left;align-items:center}.step-art{grid-row:1/3;height:124px;width:205px;max-width:none;transform:scale(.61);transform-origin:left center;margin:0}.how-grid h3{font-size:24px;margin:0 0 8px;align-self:end}.how-grid article>p{font-size:12px;max-width:none;margin:0;align-self:start}.step-number{font-size:14px;width:36px;height:36px;left:8px;bottom:-8px}.demo-top{display:block;text-align:center}.demo-top h2{font-size:35px;margin-top:12px}.demo-top .eyebrow{font-size:9px}.demo-top>p{margin-top:17px;font-size:12px}.demo-top>p br{display:none}.play-section{padding-block:53px 42px}.demo-layout{display:flex;flex-direction:column;gap:24px;margin-top:28px}.demo-guide{width:100%}.demo-tabs{display:grid;grid-template-columns:repeat(4,1fr);gap:7px}.demo-tabs button{display:flex;flex-direction:column;gap:7px;padding:12px 4px;justify-content:flex-start;text-align:center;border:1px solid #b6bda4;background:#e8ecd9;border-radius:6px}.demo-tabs button[aria-selected=true]{box-shadow:2px 3px 0 #cbd2bc}.tab-number{width:25px;height:25px;font-size:10px}.demo-tabs strong{font-family:var(--sans);font-size:9px;line-height:1.4;letter-spacing:0}.demo-tabs button>span>span{display:none}.demo-footnote{display:none}.reset-button{display:block;margin:13px auto -8px;padding:4px 8px;min-height:32px;font-size:10px}.demo-stage{width:100%}.demo-browser{width:100%;max-width:390px;box-shadow:5px 6px 0 #cbd2bc}.stage-caption{margin-top:20px;font-size:9px}.together-section{grid-template-columns:1fr;gap:30px;padding-block:55px 60px}.together-art{width:min(320px,100%);height:324px;margin:auto;grid-row:2}.together-copy{text-align:center}.together-copy h2{font-size:41px;margin:14px 0 20px}.together-copy h2 br:nth-of-type(2){display:none}.together-copy>p:not(.eyebrow){font-size:13px;max-width:360px;margin:14px auto 0}.feature-notes{align-items:center;font-size:11px;margin-top:22px}.person-one{left:8px;top:7px}.person-two{right:0;top:133px}.person-three{left:5px;bottom:3px}.connection-center{width:166px;height:166px}.connection-ring{inset:15px 30px;transform:none}.connection-star{right:28px;width:36px}.faq-section{grid-template-columns:1fr;gap:26px;padding-block:20px 58px}.faq-section>div:first-child{text-align:center}.faq-section h2{font-size:35px;margin-top:13px}.faq-section h2 br{display:none}.faq-section .eyebrow{font-size:9px}.faq-doodle{display:none}.faqs summary{font-size:12px;padding-block:19px;gap:14px}.faqs details p{font-size:12px;padding-right:12px}.final-cta{padding-block:57px 61px}.final-cta .eyebrow{font-size:8px}.final-cta h2{font-size:38px;margin:19px 0}.final-cta p:not(.eyebrow){font-size:12px;max-width:230px;margin:auto}.final-cta .button{font-size:12px;min-height:49px}.cta-star.star-left{width:32px;height:32px;left:-12px;top:119px}.cta-star.star-right{width:28px;height:28px;right:-6px;bottom:0}.cta-heart{font-size:39px;top:-28px;right:0}.site-footer{padding-block:33px;flex-wrap:wrap;gap:20px}.site-footer>div{width:100%;text-align:center}.footer-brand{flex-basis:100%}.site-footer .brand{font-size:24px}.site-footer nav{font-size:10px}.prototype-note{font-size:8px}.footer-brand>p{font-size:10px}.names-example{gap:6px}.names-example>span{min-width:60px;min-height:75px;padding:8px 6px;font-size:16px}.name-example-step{font-size:16px;padding:8px 14px}}
@media(max-width:360px){.sticky-cta-text{font-size:11px}.wrap{width:calc(100% - 32px)}.hero-actions{gap:13px;flex-direction:column}.hero-actions .text-link{min-height:30px}.hero-scene{height:420px;transform:scale(.94);transform-origin:center center}.hero-window{width:259px}.happy-sticker{right:-7px}.name-ticket{right:-9px}.guess-ticket{left:-10px;width:207px}.how-grid article{grid-template-columns:102px 1fr;gap:0 16px}.step-art{transform:scale(.53)}.how-grid h3{font-size:21px}.how-grid article>p{font-size:11px}.demo-top h2{font-size:31px}.demo-tabs strong{font-size:8px}.final-cta h2{font-size:33px}.site-footer{justify-content:center}.prototype-note{text-align:center}.names-example{gap:4px}.names-example>span{min-width:52px;min-height:68px;padding:6px 4px;font-size:14px}.name-example-step{font-size:14px;padding:6px 10px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}

/* Shared language preference; keep the form usable without JavaScript. */
.site-header{flex-wrap:wrap}
@media(max-width:620px){.site-header nav{display:none}}
@media(max-width:900px){.site-header nav{order:3;flex-basis:100%;justify-content:center;flex-wrap:wrap}}
@media(max-width:620px){.site-header{gap:12px;padding-block:18px}.site-header .brand{font-size:20px}.site-header>.button{order:3;flex-basis:100%;margin:0}.site-header #language-form{margin-left:auto}.demo-tabs strong{overflow-wrap:anywhere}.hero-title,h1,h2{overflow-wrap:normal}.hero-actions{flex-wrap:wrap}.how-grid article>div,.together-copy,.faqs{min-width:0}}
/* Grid children must shrink when translated headings are longer than English. */
.hero-copy,.hero-scene{min-width:0}
@media(max-width:620px){.hero h1{font-size:clamp(2rem,10vw,3rem)}}

.joy-strip-track{display:flex;justify-content:center;width:100%}
.joy-strip-content{display:flex;align-items:center;gap:43px}
.joy-strip-content[aria-hidden="true"]{display:none}
.joy-strip-content>span:nth-child(even){color:var(--coral);font:400 25px var(--sans)}
@keyframes joy-strip-scroll{to{transform:translateX(-50%)}}
@media(max-width:620px){
  #main br{display:inline}
  .hero-scene{height:490px}
  .scene-caption{left:50%;bottom:10px;transform:translateX(-50%) rotate(-5deg);width:max-content;max-width:calc(100% - 20px);padding:4px 8px;border-radius:8px;background:#fbf7eeeb;color:#514a3a;text-align:center;line-height:1.15}
  .scene-caption svg{display:none}
  .joy-strip-track{justify-content:flex-start;width:max-content;animation:joy-strip-scroll 36s linear infinite}
  .joy-strip-content{flex:none;gap:22px;padding-right:22px}
  .joy-strip-content[aria-hidden="true"]{display:flex}
  .site-footer nav{flex-wrap:wrap;justify-content:center;max-width:100%;gap:4px 18px}
}
@media(prefers-reduced-motion:reduce){.joy-strip{overflow-x:auto}.joy-strip-track{animation:none}}
@media(max-width:620px){
  .how-grid .guess-mini{transform:translateX(-22px) scale(.53)}
  .guess-mini .tiny-vote{font-size:26px;gap:9px;padding:16px 15px;min-width:130px}
  .guess-mini .blue-vote{left:75px;top:58px;font-size:25px}
}
@media(max-width:360px){.how-grid .guess-mini{transform:translateX(-20px) scale(.48)}}

/* Explicit language links also work without the preference form or JavaScript. */
.site-footer .language-links{justify-content:flex-start;font-size:13px}
.site-footer .language-links a{text-decoration:underline}
@media(max-width:620px){.site-footer .language-links{justify-content:center}}
.language-links a[aria-current=page]{font-weight:700;text-decoration:underline;text-underline-offset:4px}

/* Contextual topic cluster links and scannable feature/control section. */
.context-links{display:flex;justify-content:center;flex-wrap:wrap;gap:12px 24px;margin-top:42px;padding-top:24px;border-top:1px dashed var(--line);font-size:13px;color:var(--muted)}
.context-links a{font-weight:600;color:var(--ink);text-decoration:underline;text-underline-offset:4px}
.context-links a:hover{color:var(--coral)}
.story-section{padding-block:20px 96px}
.story-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:56px;align-items:start;margin-top:44px}
.story-cards{display:grid;gap:24px}
.story-card{background:#fdfbf5;border:1px solid #d8d1be;border-radius:10px;padding:26px 28px;box-shadow:5px 6px 0 #ebe4d4}
.story-card h3{font-size:24px;margin:8px 0 10px}
.story-card>p:not(.eyebrow){font-size:13px;color:var(--muted);line-height:1.75}
.story-list{list-style:none;padding:0;margin:16px 0 0;display:grid;grid-template-columns:1fr 1fr;gap:10px 18px;font-size:12px;font-weight:600;color:var(--ink)}
.story-list li{display:flex;align-items:baseline;gap:8px}
.story-list li::before{content:'✓';color:var(--coral);font-weight:700}
.value-card{background:#f5efe2;border:1px solid #cfc5ae;border-radius:11px;padding:28px 28px 24px;box-shadow:7px 8px 0 #e2d8c5}
.value-card h3{font-size:26px;margin:8px 0 6px}
.value-card>p:not(.eyebrow){font-size:12px;color:var(--muted);margin-bottom:16px}
.value-table{width:100%;border-collapse:collapse;font-size:12px}
.value-table tr{border-top:1px solid #ded5c1}
.value-table th,.value-table td{padding:10px 4px;text-align:left;vertical-align:top}
.value-table th{font-weight:600;color:var(--muted);padding-right:12px}
.value-table td{font-weight:700;color:var(--ink);text-align:right}
.value-table td .check{color:var(--coral);margin-right:4px}
.share-channels{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}
.share-pill{font-size:11px;font-weight:600;padding:4px 11px;border-radius:18px;background:#f5efe2;border:1px solid #dfd5c2;color:#554e42}
@media(max-width:900px){.story-grid{grid-template-columns:1fr;gap:32px}}
@media(max-width:620px){.story-section{padding-block:10px 64px}.story-card,.value-card{padding:20px}.story-list{grid-template-columns:1fr}.context-links{text-align:center;gap:10px 16px}.share-channels{justify-content:center}}

/* The demo uses the actual journey document, isolated from marketing styles. */
#demo-frame { display: block; width: 100%; height: 780px; border: 0; background: #fbf7ee; }

/* Keep the lazy demo stage useful while its shared document loads. */
#demo-panel { position: relative; min-height: 400px; }
#demo-loading { position:absolute; inset:0; z-index:2; display:flex; align-items:center; justify-content:center; gap:12px; background:var(--paper,#fffaf5); }
#demo-loading[hidden], #demo-load-error[hidden], .demo-tabs [hidden] { display:none; }
.demo-spinner { width:24px; height:24px; border:3px solid #e5d9e9; border-top-color:#866190; border-radius:50%; animation:demo-spin 1s linear infinite; }
#demo-load-error { position:absolute; inset:20px; z-index:3; padding:24px; background:#fffaf5; }
.happy-sticker>span{width:80%;min-width:0}
.happy-sticker strong{font-size:clamp(12px,1.5vw,18px);line-height:1.15;letter-spacing:-.4px;overflow-wrap:anywhere;hyphens:auto}
.site-footer nav{min-width:0;flex-wrap:wrap}
@keyframes demo-spin { to {transform:rotate(360deg);} }
@media(prefers-reduced-motion:reduce) { .demo-spinner {animation:none;} }

.footer-contact a { display: inline-block; padding-block: 8px; font-size: 14px; text-decoration: underline; text-underline-offset: 3px; }
