@font-face{font-family:DittoDisplay;src:url('assets/display.woff2') format('woff2');font-weight:100 900;font-display:swap}
@font-face{font-family:DittoText;src:url('assets/text.woff2') format('woff2');font-weight:100 900;font-display:swap}
.landing{--paper:#faf9ff;--ink:#2a1846;--ink-2:#706582;--hair:#e4deed;--display:DittoDisplay,ui-rounded,system-ui,sans-serif;background:var(--paper);color:var(--ink);font-family:DittoText,system-ui,sans-serif;color-scheme:light;-webkit-font-smoothing:antialiased}
.landing-wrap{width:min(1120px,calc(100% - 48px));margin-inline:auto}
.landing a,.landing button,.landing summary{touch-action:manipulation;-webkit-tap-highlight-color:transparent}
.landing :is(a,button,summary,[tabindex]):focus-visible{outline:3px solid #7650c2;outline-offset:5px}
.skip-link{position:absolute;top:-100px;left:16px;padding:12px;background:white;z-index:30}.skip-link:focus{top:10px}
.arrival-header{display:flex;justify-content:space-between;align-items:center;min-height:86px}
.arrival-brand{display:inline-flex;align-items:center;gap:7px;text-decoration:none}.arrival-brand img{border-radius:9px;display:block}.arrival-brand span{font:800 31px/1 var(--display);letter-spacing:-1.4px}
.arrival-header nav{display:flex;gap:30px}.arrival-header nav a{padding-block:12px;font-size:14px;font-weight:650;text-decoration:none}.arrival-header nav span{margin-left:8px}
.arrival{display:grid;grid-template-columns:1.1fr 1fr;grid-template-rows:auto auto;column-gap:48px;align-content:center;padding-block:38px 74px;min-height:660px}
.arrival-copy{grid-column:1;align-self:end}.arrival-eyebrow,.eyebrow{font-size:12px;font-weight:650;letter-spacing:.02em;margin:0 0 20px}.arrival-eyebrow{display:flex;align-items:center;gap:7px}
.message-dot{display:inline-block;width:12px;height:10px;background:#9ceac7;border-radius:4px;box-shadow:inset 0 0 0 1px #67b995}.message-dot:after{content:'';display:block;width:4px;height:4px;background:#9ceac7;transform:translate(2px,8px) skewY(-35deg)}
.arrival h1{margin:0;font:800 clamp(56px,6.7vw,86px)/.98 var(--display);letter-spacing:-.065em}.arrival h1>span{color:#8860cf}.arrival-description{margin:22px 0 0;font-size:20px;line-height:1.5;letter-spacing:-.4px}
.download-dock{grid-column:1;align-self:start;padding-top:28px}.download-inner{width:min(100%,330px)}
.download-button{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:58px;padding:14px 22px;color:white;background:#2a1846;border-radius:18px;font-size:16px;font-weight:750;text-decoration:none;box-shadow:0 4px 0 #b6a1df;transition:background .16s,transform .16s}.download-button:hover{background:#513278}.download-button:active{transform:translateY(2px)}.download-button>span:last-child{font-size:24px;line-height:1}.download-inner>p{margin:12px 0 0;font-size:11px;text-align:center;color:var(--ink-2)}
.reveal-demo{--card-width:318px;grid-column:2;grid-row:1/3;justify-self:center;display:flex;flex-direction:column;align-items:center;min-width:0}
.demo-status{display:flex;align-items:center;gap:13px;width:var(--card-width);margin-bottom:13px;font-size:12px;white-space:nowrap}.friend-state{display:inline-flex;align-items:center;gap:6px}.friend-state i{font:700 10px/16px DittoText,system-ui,sans-serif;font-style:normal;background:#e5dcf7;border-radius:50%;width:16px;text-align:center}.friend-state:first-child i,.is-revealed .friend-state i{background:#b9efd3}.status-line{height:1px;background:#d9cde9;flex:1}
.reveal-card{display:block;position:relative;width:var(--card-width);aspect-ratio:4/5;padding:0;border:0;border-radius:25px;background:#d5c2f4;text-align:left;color:var(--ink);cursor:pointer;box-shadow:0 24px 40px -24px #75559988;isolation:isolate;font:inherit}.reveal-card:disabled{cursor:default}
.reveal-pair{position:absolute;inset:0;overflow:hidden;border-radius:inherit;background:#e2d9ef}.reveal-pair>img{display:block;width:100%;height:100%;object-fit:cover}.photo-labels{position:absolute;top:12px;left:12px;right:12px;display:flex;justify-content:space-between}.photo-labels span{background:#fff;color:#2a1846;padding:4px 9px;border-radius:20px;font-size:10px;font-weight:700}.revealed-caption{position:absolute;inset:auto 0 0;padding:35px 10px 14px;color:white;background:linear-gradient(transparent,#261934c9);font:700 13px/1.3 var(--display);text-align:center}
.foil-cover{position:absolute;inset:0;border-radius:inherit;overflow:hidden;display:flex;flex-direction:column;padding:22px;background:radial-gradient(ellipse at 20% 10%,#fff9,transparent 55%),linear-gradient(137deg,#b9a0ff 0%,#84d7ff 22%,#95edcf 42%,#fff08a 61%,#ffc399 79%,#f38cd3);transform-origin:100% 0;transition:transform .72s cubic-bezier(.22,.75,.2,1),opacity .48s}.foil-cover:before{content:'';position:absolute;inset:0;background:repeating-linear-gradient(125deg,transparent 0 6px,#ffffff37 6.5px 7px,transparent 7.5px 14px);pointer-events:none}.foil-prompt{position:relative;font:800 calc(var(--card-width) * .145)/.97 var(--display);letter-spacing:-.04em}
.foil-lock{display:flex;align-items:center;gap:5px;margin-top:14px;font-size:calc(var(--card-width) * .038);font-weight:650}.foil-lock svg{width:12px;height:12px;fill:none;stroke:currentColor;stroke-width:1.8}
.foil-footer{position:relative;display:flex;align-items:flex-end;justify-content:space-between;margin-top:auto}.foil-wordmark{font:800 calc(var(--card-width) * .075)/1 var(--display);letter-spacing:-.05em}.foil-footer img{width:45%;height:auto;margin-right:-2%;transform:rotate(-7deg)}.foil-corner{position:absolute;right:0;top:0;width:38px;height:38px;display:grid;place-items:center;background:#ffffff50;border-radius:0 0 0 16px;font-size:18px}.is-revealed .foil-cover{transform:translate(15%,-10%) rotate(12deg) scale(.91);opacity:0;pointer-events:none}
.reveal-hint{margin:18px 0 0;font-size:13px;line-height:1.35;font-weight:700;text-align:center}.demo-label{margin-top:5px;font-size:10px;line-height:1.4;color:var(--ink-2)}
.section-intro h2,.prompt-heading h2,.friend-section h2,.landing-faq h2{font:750 40px/1.05 var(--display);letter-spacing:-.04em;margin:0}.how-section{border-top:1px solid var(--hair);padding-block:56px 64px;scroll-margin-top:24px}.section-intro .eyebrow{margin-bottom:10px;color:var(--ink-2)}
.how-list{display:grid;grid-template-columns:repeat(3,1fr);padding:0;margin:36px 0;gap:38px;list-style:none}.how-list li{display:flex;gap:14px}.step-number{flex:none;font-size:12px;padding-top:6px;color:#8860cf;font-weight:700}.how-list h3{font:750 24px/1.1 var(--display);margin:0 0 10px;letter-spacing:-.5px}.how-list p{margin:0;font-size:14px;line-height:1.6;color:var(--ink-2)}.open-guide{margin:0;padding:16px 18px;background:#eeebf4;border-radius:14px;font-size:13px;line-height:1.6}.open-guide>span{color:#8860cf;margin-right:8px}
.prompt-section{background:#efeaf6;padding-block:48px}.prompt-heading{display:flex;align-items:baseline;justify-content:space-between;gap:20px}.prompt-heading h2{font-size:32px}.prompt-heading>span{font-size:12px;color:var(--ink-2)}.prompt-heading em{font-style:normal;color:#8860cf}
.prompt-rail{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:28px;padding:6px 2px 14px}.prompt-ticket{min-height:215px;padding:19px;border-radius:18px;display:flex;flex-direction:column;background:#d5c3fb;color:#2a1846}.prompt-ticket:nth-child(2){background:#fbd4ba}.prompt-ticket:nth-child(3){background:#c0e7f8}.prompt-ticket:nth-child(4){background:#f6e9b1}.prompt-ticket>span{font-size:10px}.prompt-ticket p{font:700 25px/1.12 var(--display);letter-spacing:-.7px;margin:21px 0}.prompt-ticket img{margin-top:auto;align-self:flex-end}
.friend-section{display:flex;justify-content:center;align-items:center;gap:80px;padding-block:70px}.friend-mascots{width:280px;height:auto;transform:rotate(-7deg)}.friend-section .eyebrow{margin-bottom:14px;color:var(--ink-2)}.friend-section h2{font-size:52px}.friend-section p:not(.eyebrow){font-size:15px;line-height:1.7}.friend-section .quiet-note{color:var(--ink-2);font-size:12px!important;margin-bottom:0}
.landing-faq{display:grid;grid-template-columns:1fr 1.4fr;gap:48px;padding-block:45px 70px;border-top:1px solid var(--hair)}.landing-faq h2{font-size:32px}.landing-faq details{border-bottom:1px solid var(--hair)}.landing-faq summary{display:flex;justify-content:space-between;gap:16px;padding-block:18px;list-style:none;cursor:pointer;font-size:15px;font-weight:650}.landing-faq details:first-child summary{padding-top:0}.landing-faq summary::-webkit-details-marker{display:none}.landing-faq summary>span{color:#8860cf}.landing-faq details[open] summary>span{transform:rotate(45deg)}.landing-faq details p{font-size:14px;color:var(--ink-2);line-height:1.7;margin:0 0 18px}#download-help{scroll-margin-block:24px}
.arrival-footer{display:flex;align-items:center;flex-wrap:wrap;justify-content:space-between;gap:24px;border-top:1px solid var(--hair);padding-block:28px}.arrival-footer .arrival-brand span{font-size:26px}.arrival-footer>div{display:flex;flex-wrap:wrap;gap:22px}.arrival-footer>div a{font-size:12px;text-decoration:none;min-height:44px;display:inline-flex;align-items:center}.arrival-footer>p{font-size:10px;color:var(--ink-2);margin:0}
@media(max-width:760px){
.landing{padding-bottom:calc(100px + env(safe-area-inset-bottom))}.landing-wrap{width:calc(100% - 40px)}.arrival-header{min-height:58px;padding-top:env(safe-area-inset-top)}.arrival-brand img{width:30px;height:30px}.arrival-brand span{font-size:27px}.arrival-header nav a{font-size:12px}.arrival-header .desktop-link{display:none}
.arrival{display:flex;flex-direction:column;align-items:center;min-height:0;padding-block:12px 30px;gap:22px}.arrival-copy{align-self:auto;text-align:center;width:100%}.arrival-eyebrow{justify-content:center;font-size:11px;margin-bottom:12px}.arrival h1{font-size:clamp(40px,11vw,58px);line-height:1.01;letter-spacing:-.055em}.arrival-description{font-size:14px;line-height:1.5;margin-top:12px;letter-spacing:-.2px}
.reveal-demo{--card-width:clamp(132px,min(51vw,calc((100svh - 385px) * .8)),250px)}.demo-status{font-size:10px;gap:7px;margin-bottom:9px}.friend-state{gap:4px}.friend-state i{width:13px;font-size:9px;line-height:13px}.reveal-card{border-radius:18px}.foil-cover{padding:calc(var(--card-width) * .07)}.foil-lock{margin-top:10px;font-size:max(8px,calc(var(--card-width) * .039));gap:4px}.foil-lock svg{width:10px;height:10px}.foil-corner{width:28px;height:28px;font-size:14px;border-bottom-left-radius:12px}.photo-labels{top:8px;left:7px;right:7px}.photo-labels span{font-size:8px;padding:3px 6px}.revealed-caption{font-size:10px;padding-bottom:10px}.reveal-hint{margin-top:11px;font-size:12px}.demo-label{font-size:9px;margin-top:4px}
.download-dock{position:fixed;z-index:20;bottom:0;left:0;right:0;padding:10px max(20px,env(safe-area-inset-right)) max(8px,env(safe-area-inset-bottom)) max(20px,env(safe-area-inset-left));background:#faf9fff5;border-top:1px solid #e4deed99;backdrop-filter:blur(14px)}.download-inner{width:min(100%,440px);margin-inline:auto}.download-button{min-height:50px;border-radius:15px;padding:11px 20px;font-size:15px;box-shadow:0 3px 0 #b6a1df}.download-inner>p{font-size:10px;margin-top:9px;line-height:1.4}
.how-section{padding-block:34px 38px}.section-intro h2{font-size:30px}.section-intro .eyebrow{font-size:10px}.how-list{grid-template-columns:1fr;margin-block:25px;gap:23px}.how-list h3{font-size:23px;margin-bottom:6px}.how-list p{font-size:13px}.how-list li{gap:15px}.open-guide{font-size:12px;padding:14px}
.prompt-section{padding-block:32px}.prompt-heading{display:block}.prompt-heading h2{font-size:28px;max-width:12ch;margin-bottom:10px}.prompt-heading>span{font-size:11px}.prompt-rail{display:flex;overflow-x:auto;scroll-snap-type:x proximity;scroll-padding-inline:2px;gap:12px;margin-top:18px}.prompt-ticket{flex:0 0 216px;min-height:215px;scroll-snap-align:start}
.friend-section{gap:15px;flex-direction:column;padding-block:36px 40px;text-align:center}.friend-mascots{width:172px}.friend-section h2{font-size:38px}.friend-section .eyebrow{font-size:10px;margin-bottom:12px}.friend-section p:not(.eyebrow){font-size:13px}.friend-section .quiet-note{font-size:11px!important}
.landing-faq{grid-template-columns:1fr;gap:26px;padding-block:34px 38px}.landing-faq h2{font-size:29px}.landing-faq summary{font-size:13px;min-height:48px;align-items:center}.landing-faq details p{font-size:13px}.arrival-footer{gap:14px;padding-block:22px 16px}.arrival-footer>div{width:100%;gap:0;justify-content:space-between}.arrival-footer>div a{font-size:11px}
}
@media(max-width:760px) and (max-height:620px){.arrival{gap:15px;padding-top:6px}.arrival-eyebrow{margin-bottom:8px}.arrival h1{font-size:clamp(38px,10.5vw,48px)}.arrival-description{margin-top:9px}.reveal-demo{--card-width:clamp(128px,min(46vw,calc((100svh - 355px) * .8)),210px)}}
@media(min-width:761px) and (max-width:1000px){.arrival{column-gap:28px;min-height:580px}.arrival h1{font-size:60px}.arrival-description{font-size:17px}.reveal-demo{--card-width:270px}.prompt-ticket{padding:15px}.prompt-ticket p{font-size:21px}}
@media(prefers-reduced-motion:reduce){.landing *,.landing *:before,.landing *:after{transition:none!important;animation:none!important;scroll-behavior:auto!important}.is-revealed .foil-cover{transform:none}}
/* Reserve the browser's short viewport for the demo caption and download bar. */
@media(max-width:760px){.reveal-demo{--card-width:clamp(128px,min(48vw,calc((100svh - 445px) * .8)),250px)}}
@media(max-width:760px) and (max-height:620px){
  .arrival-header{min-height:50px}.arrival{gap:12px;padding-top:6px}
  .arrival-eyebrow{margin-bottom:6px}.arrival h1{font-size:clamp(36px,10vw,44px)}
  .arrival-description{font-size:13px;line-height:1.45;margin-top:8px}
  .reveal-demo{--card-width:clamp(118px,min(44vw,calc((100svh - 385px) * .8)),190px)}
}
@media(max-width:760px) and (max-height:520px){
  .arrival{gap:17px}.arrival h1{font-size:34px}.arrival-eyebrow{font-size:10px}
  .reveal-demo{--card-width:110px;display:grid;grid-template-columns:110px minmax(0,1fr);grid-template-rows:auto auto auto;column-gap:20px;width:min(100%,340px);align-items:center}
  .reveal-card{grid-column:1;grid-row:1/4}.demo-status{grid-column:2;grid-row:1;width:100%;margin:0;align-self:end}
  .reveal-hint{grid-column:2;grid-row:2;margin:0;text-align:left;font-size:11px}.demo-label{grid-column:2;grid-row:3;margin:0;text-align:left;align-self:start}
  .foil-lock{font-size:7px;gap:2px}.foil-lock svg{width:8px}.foil-corner{width:22px;height:22px;font-size:12px}
  .revealed-caption{font-size:8px}.photo-labels span{font-size:7px;padding:2px 4px}
}
