:root {
  --ink: #f6f2e8;
  --night: #0b1020;
  --night-soft: #121a31;
  --muted: #aab5cc;
  --line: rgba(246, 242, 232, .16);
  --peach: #ffb28d;
  --lilac: #bdadff;
  --blue: #6cc0ff;
  --mint: #98e1c0;
  --sans: "Manrope", sans-serif;
  --serif: "Newsreader", serif;
  --mono: "DM Mono", monospace;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; overflow-x: clip; }
body { margin: 0; overflow-x: clip; background: var(--night); color: var(--ink); font-family: var(--sans); }
a { color: inherit; }
.section-shell { width: min(1180px, calc(100% - 64px)); margin-inline: auto; }
.starfield { position: fixed; inset: 0; pointer-events: none; z-index: -1; opacity: .7; background-image: radial-gradient(circle at 15% 22%, rgba(255,255,255,.7) 0 1px, transparent 1.5px), radial-gradient(circle at 86% 13%, rgba(255,255,255,.6) 0 1px, transparent 1.6px), radial-gradient(circle at 67% 77%, rgba(255,255,255,.35) 0 1px, transparent 1.4px), radial-gradient(circle at 20% 68%, rgba(255,255,255,.35) 0 1px, transparent 1.4px); background-size: 210px 210px, 330px 330px, 180px 180px, 260px 260px; }

.site-header { height: 78px; display: flex; align-items: center; justify-content: space-between; position: sticky; top: 12px; z-index: 10; padding: 0 18px; border: 1px solid rgba(255,255,255,.14); border-radius: 18px; background: rgba(11,16,32,.78); box-shadow: 0 12px 28px rgba(0,0,0,.18); backdrop-filter: blur(16px); }
.brand { display: inline-flex; align-items: center; gap: 10px; text-decoration: none; font-weight: 800; letter-spacing: -.05em; }
.brand-mark { width: 31px; height: 31px; display: grid; place-items: center; border: 1px solid rgba(255,255,255,.28); border-radius: 10px; background: linear-gradient(145deg, var(--peach), var(--lilac)); color: var(--night); font: 700 italic 17px var(--serif); }
.site-nav { display: flex; align-items: center; gap: 28px; }
.site-nav a { color: var(--muted); font-size: 13px; font-weight: 700; text-decoration: none; transition: color .2s ease; }
.site-nav a:hover { color: var(--ink); }
.site-nav .nav-download { padding: 11px 16px; border: 1px solid rgba(255,255,255,.22); border-radius: 999px; color: var(--ink); background: rgba(255,255,255,.07); }
.nav-download span { margin-left: 4px; font-size: 16px; }
.menu-button { display: none; }

.kicker { margin: 0 0 20px; color: var(--mint); font: 500 10px/1.4 var(--mono); letter-spacing: .13em; text-transform: uppercase; }
.kicker span { display: inline-block; width: 25px; height: 1px; margin: 0 9px 3px 0; background: currentColor; vertical-align: middle; }
h1, h2, h3, p { margin-top: 0; }
.hero { min-height: calc(100vh - 92px); display: grid; grid-template-columns: .93fr 1.07fr; align-items: center; gap: 60px; padding: 50px 0 78px; }
.hero h1 { margin-bottom: 26px; font: 600 clamp(58px, 6.5vw, 92px)/.89 var(--serif); letter-spacing: -.07em; }
em { color: var(--peach); font-style: italic; }
.hero-copy > p:not(.kicker) { max-width: 470px; color: var(--muted); font-size: 17px; line-height: 1.65; }
.hero-actions { display: flex; align-items: center; gap: 18px; margin-top: 31px; }
.button { min-height: 51px; display: inline-flex; align-items: center; justify-content: center; gap: 12px; padding: 0 20px; border-radius: 999px; font-size: 13px; font-weight: 800; text-decoration: none; }
.button-primary { background: var(--ink); color: var(--night); }
.button-primary span, .button-light span { font-size: 17px; }
.text-link { color: var(--ink); font-size: 13px; font-weight: 800; text-decoration: none; border-bottom: 1px solid rgba(255,255,255,.65); padding: 6px 0; }
.text-link span { margin-left: 7px; }
.qr-download { width: 152px; display: grid; gap: 8px; justify-items: center; padding: 9px; border: 1px solid rgba(255,255,255,.18); border-radius: 16px; background: rgba(255,255,255,.08); color: var(--ink); text-decoration: none; transition: transform .2s ease, background .2s ease; }
.qr-download:hover { transform: translateY(-3px); background: rgba(255,255,255,.14); }
.qr-download img { width: 134px; height: 134px; display: block; padding: 6px; border-radius: 10px; background: white; }
.qr-download span { color: var(--mint); font: 500 8px var(--mono); letter-spacing: .08em; text-transform: uppercase; white-space: nowrap; }
.trust-list { display: flex; gap: 18px; padding: 0; margin: 38px 0 0; list-style: none; color: #95a5c4; font: 500 9px var(--mono); letter-spacing: .09em; text-transform: uppercase; }
.trust-list li + li:before { content: "✦"; color: var(--lilac); margin-right: 18px; }

.hero-stage { height: 610px; position: relative; display: grid; place-items: center; isolation: isolate; }
.orbit { position: absolute; border: 1px solid rgba(189,173,255,.23); border-radius: 50%; z-index: -1; }
.orbit-a { width: 520px; height: 520px; }
.orbit-b { width: 380px; height: 380px; border-style: dashed; animation: spin 35s linear infinite; }
.glow { position: absolute; border-radius: 50%; filter: blur(25px); z-index: -2; }
.glow-one { width: 270px; height: 270px; background: rgba(109,192,255,.22); top: 55px; right: 35px; }
.glow-two { width: 200px; height: 200px; background: rgba(255,178,141,.17); bottom: 35px; left: 62px; }
.app-phone { position: relative; z-index: 2; width: 284px; height: 570px; padding: 7px; border: 7px solid #080c16; border-radius: 39px; overflow: hidden; background: #f5f0e7; box-shadow: 0 35px 70px rgba(0,0,0,.46); transform: rotate(5deg); }
.phone-status { height: 20px; display: flex; justify-content: space-between; padding: 2px 10px 0; color: #263347; font: 500 8px var(--mono); }
.phone-screen { min-height: 100%; padding: 7px 11px; color: #162338; background: #f5f0e7; }
.phone-heading { display: flex; align-items: center; gap: 7px; margin-bottom: 12px; }
.mini-mark { width: 22px; height: 22px; display: grid; place-items: center; border-radius: 7px; color: #f6f2e8; background: #14233a; font: italic 13px var(--serif); }
.phone-heading div { display: grid; gap: 1px; flex: 1; }
.phone-heading small { color: #728094; font: 500 6px var(--mono); letter-spacing: .08em; }
.phone-heading b { font-size: 9px; }
.profile-orb { width: 20px; height: 20px; border-radius: 50%; background: linear-gradient(135deg, var(--peach), var(--lilac)); }
.featured-memory { height: 197px; position: relative; display: flex; flex-direction: column; justify-content: flex-end; padding: 13px; overflow: hidden; border-radius: 17px; color: white; background: linear-gradient(145deg, rgba(10,29,43,.12), rgba(9,18,32,.75)), linear-gradient(135deg, #e88870 0 27%, #f6c576 28% 47%, #5789a7 48% 70%, #182c4a 71%); }
.featured-memory:before { content: ""; position: absolute; inset: 17% -12% auto; height: 48%; border-radius: 50%; background: rgba(255,238,187,.28); transform: rotate(-20deg); filter: blur(9px); }
.featured-memory > * { position: relative; }
.featured-memory > span { align-self: flex-start; padding: 5px 7px; border-radius: 999px; background: rgba(255,255,255,.86); color: #1c2b43; font: 500 6px var(--mono); }
.featured-memory div { margin-top: auto; }
.featured-memory small { font: 500 6px var(--mono); letter-spacing: .1em; }
.featured-memory h2 { margin: 5px 0 2px; font: 600 21px/.92 var(--serif); letter-spacing: -.06em; }
.featured-memory p { margin: 0; font-size: 7px; }
.capture-row { display: flex; align-items: center; gap: 8px; padding: 9px; margin-top: 10px; border-radius: 11px; background: #dae8d5; }
.capture-row span { width: 19px; height: 19px; display: grid; place-items: center; border-radius: 50%; color: white; background: #203e45; font-size: 15px; }
.capture-row b { flex: 1; font-size: 8px; }.capture-row i { font-style: normal; }
.phone-section-title { display: flex; align-items: center; gap: 5px; margin: 15px 0 7px; color: #8290a0; font: 500 6px var(--mono); letter-spacing: .1em; }.phone-section-title i { height: 1px; flex: 1; background: #d8d8d1; }
.phone-row { display: flex; align-items: center; gap: 7px; margin: 9px 0; }.row-icon { width: 26px; height: 26px; display: grid; place-items: center; border-radius: 8px; font-size: 11px; }.amber { background: #f6d3a1; }.lilac { background: #dad0ef; }.phone-row div { display: grid; gap: 2px; flex: 1; }.phone-row b { font-size: 8px; }.phone-row small { color: #8090a0; font-size: 7px; }.phone-row em { color: #7d8c9d; font-size: 8px; }.home-indicator { position: absolute; bottom: 5px; left: calc(50% - 43px); width: 86px; height: 3px; border-radius: 9px; background: white; }
.moment-card { position: absolute; z-index: 3; box-shadow: 0 20px 30px rgba(0,0,0,.24); }.card-sun { top: 48px; left: 19px; width: 175px; padding: 15px; overflow: hidden; border-radius: 16px; background: linear-gradient(145deg, #e37d73, #f7b36f 48%, #6866a8); transform: rotate(-9deg); }.card-sun:after { content: ""; position: absolute; top: -42px; right: -20px; width: 130px; height: 130px; border-radius: 50%; background: rgba(255,242,183,.48); }.card-sun > * { position: relative; z-index: 1; }.card-dot { display: inline-block; width: 8px; height: 8px; margin-bottom: 30px; border-radius: 50%; background: white; }.moment-card small { display: block; font: 500 8px var(--mono); letter-spacing: .1em; }.card-sun strong { display: block; margin: 7px 0 15px; font: 600 22px/.93 var(--serif); letter-spacing: -.05em; }.card-sun em { color: rgba(255,255,255,.84); font: 500 8px var(--mono); }.card-voice { right: -5px; bottom: 78px; width: 210px; display: flex; align-items: center; gap: 10px; padding: 13px; border: 1px solid rgba(255,255,255,.18); border-radius: 15px; background: rgba(27,38,70,.88); backdrop-filter: blur(12px); transform: rotate(7deg); }.wave { width: 29px; height: 29px; display: grid; place-items: center; border-radius: 50%; background: var(--lilac); color: var(--night); }.card-voice div { display: grid; gap: 3px; flex: 1; }.card-voice small { color: var(--mint); font-size: 7px; }.card-voice strong { font-size: 10px; }.card-voice button { width: 24px; height: 24px; border: 0; border-radius: 50%; background: var(--peach); color: var(--night); font-size: 8px; }.floating-note { position: absolute; right: 4px; top: 108px; z-index: 3; padding: 12px; color: #19223e; background: #f5e9b0; box-shadow: 0 15px 24px rgba(0,0,0,.18); font: 500 10px/1.25 var(--mono); transform: rotate(11deg); }.floating-note b { font: 600 15px var(--serif); }

.proof-strip { padding: 18px 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); color: #c6baff; }.proof-strip div { display: flex; justify-content: space-between; align-items: center; gap: 20px; font: 500 10px var(--mono); letter-spacing: .12em; }.proof-strip b { color: var(--peach); }
.moments-section { padding: 150px 0; }.section-intro h2, .return-copy h2, .privacy-heading h2, .support-copy h2, .download-section h2 { margin: 0; font: 600 clamp(48px, 5.6vw, 78px)/.93 var(--serif); letter-spacing: -.07em; }.feature-grid { display: grid; grid-template-columns: 1.1fr .75fr .9fr; align-items: end; gap: 18px; margin-top: 70px; }.feature-card { min-height: 480px; padding: 20px; border: 1px solid var(--line); border-radius: 20px; background: rgba(255,255,255,.035); }.feature-card.tall { min-height: 540px; }.feature-number { color: var(--lilac); font: 500 10px var(--mono); }.feature-card h3 { margin: 25px 0 8px; font: 600 28px/.97 var(--serif); letter-spacing: -.04em; }.feature-card > p:last-child { margin-bottom: 0; color: var(--muted); font-size: 13px; line-height: 1.55; }.memory-surface, .voice-surface, .place-surface { position: relative; overflow: hidden; border-radius: 15px; }.memory-surface { height: 275px; display: flex; flex-direction: column; justify-content: flex-end; padding: 17px; color: white; }.beach { background: linear-gradient(135deg, rgba(15,26,51,.15), rgba(15,26,51,.72)), linear-gradient(130deg, #9dd4d6 0 18%, #f6c879 19% 46%, #db8b65 47% 67%, #406b7b 68%); }.beach:after { content: ""; position: absolute; top: 24px; right: -40px; width: 170px; height: 170px; border-radius: 50%; background: rgba(254,241,199,.42); filter: blur(13px); }.memory-surface > * { position: relative; z-index: 1; }.memory-surface span { font: 500 8px var(--mono); letter-spacing: .1em; }.memory-surface b { margin-top: auto; font: 600 35px/.9 var(--serif); letter-spacing: -.06em; }.memory-surface small { margin-top: 9px; font-size: 9px; }.voice-surface { height: 323px; display: flex; flex-direction: column; justify-content: center; align-items: center; gap: 25px; background: linear-gradient(145deg, #afa0ff, #6861a9); }.sound-ring { width: 92px; height: 92px; display: grid; place-items: center; border: 1px solid rgba(255,255,255,.45); border-radius: 50%; font-size: 35px; }.bars { height: 40px; display: flex; align-items: center; gap: 5px; }.bars i { width: 4px; border-radius: 4px; background: white; }.bars i:nth-child(1) { height: 22%; }.bars i:nth-child(2) { height: 68%; }.bars i:nth-child(3) { height: 40%; }.bars i:nth-child(4) { height: 90%; }.bars i:nth-child(5) { height: 58%; }.bars i:nth-child(6) { height: 100%; }.bars i:nth-child(7) { height: 35%; }.bars i:nth-child(8) { height: 65%; }.voice-surface small { font: 500 9px var(--mono); }.place-surface { height: 210px; padding: 18px; background: #92d5c7; color: #122239; }.place-surface:before, .place-surface:after { content: ""; position: absolute; border: 16px solid rgba(255,255,255,.27); border-radius: 45% 55% 45% 55%; }.place-surface:before { width: 180px; height: 140px; top: -20px; left: -39px; transform: rotate(23deg); }.place-surface:after { width: 190px; height: 120px; right: -75px; bottom: -51px; transform: rotate(-17deg); }.pin { position: relative; z-index: 2; display: grid; place-items: center; width: 28px; height: 28px; border-radius: 50% 50% 50% 0; background: var(--peach); transform: rotate(-45deg); }.pin:after { content: ""; width: 7px; height: 7px; border-radius: 50%; background: var(--night); }.route { position: absolute; z-index: 1; height: 1px; background: #2f6162; transform-origin: left; }.route-one { top: 100px; left: 30px; width: 180px; transform: rotate(23deg); }.route-two { top: 146px; left: 128px; width: 100px; transform: rotate(-42deg); }.place-surface strong { position: absolute; z-index: 3; right: 15px; bottom: 15px; font: 600 25px/.9 var(--serif); letter-spacing: -.05em; text-align: right; }

.return-section { padding: 115px 0; background: #d8cdfb; color: #111b32; }.return-layout { display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: 100px; }.return-copy .kicker { color: #52726e; }.return-copy p:not(.kicker) { max-width: 430px; margin: 27px 0; color: #4c5970; font-size: 15px; line-height: 1.65; }.return-copy em { color: #5556a3; }.button-light { border: 1px solid #17233a; color: #17233a; }.search-window { max-width: 402px; padding: 19px; border: 7px solid #111b2d; border-radius: 25px; background: #f8f4ed; box-shadow: 21px 23px 0 rgba(34,42,88,.22); transform: rotate(3deg); }.search-head { display: flex; align-items: center; gap: 8px; }.search-head span { font-size: 20px; }.search-head b { flex: 1; font: 600 22px var(--serif); }.search-head i { font-style: normal; }.search-input { padding: 11px; margin: 16px 0 10px; border: 1px solid #cfd5d8; border-radius: 10px; color: #7a8390; font-size: 11px; }.search-tags { display: flex; gap: 6px; }.search-tags span { padding: 6px 8px; border-radius: 999px; background: #ded6f7; color: #3a4370; font-size: 9px; }.search-window > p { margin: 20px 0 9px; color: #738090; font: 500 8px var(--mono); letter-spacing: .1em; }.result { display: flex; align-items: center; gap: 10px; padding: 9px 0; border-top: 1px solid #e3e2df; }.result-image { width: 43px; height: 43px; border-radius: 9px; }.image-one { background: linear-gradient(135deg, #3b6885, #91c2c4, #edcf95); }.image-two { background: linear-gradient(135deg, #a8adba, #7c8aa5, #e5a37e); }.image-three { background: linear-gradient(135deg, #d4bdd9, #e8c596); }.result div { display: grid; gap: 3px; flex: 1; }.result b { font-size: 10px; }.result small { color: #788391; font-size: 9px; }.result em { color: #c46b68; font-style: normal; }

.privacy-section { padding: 145px 0; }.privacy-heading { max-width: 700px; }.privacy-copy { max-width: 820px; margin: 70px 0 54px auto; }.privacy-copy p { margin-bottom: 20px; color: #c5cde0; font-size: 17px; line-height: 1.75; }.privacy-points { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--line); }.privacy-points article { padding: 25px 28px 0 0; }.privacy-points article + article { padding-left: 28px; border-left: 1px solid var(--line); }.privacy-points span { display: block; margin-bottom: 30px; color: var(--peach); font: 500 10px var(--mono); }.privacy-points b { font: 600 23px var(--serif); letter-spacing: -.04em; }.privacy-points p { margin: 8px 0 0; color: var(--muted); font-size: 13px; line-height: 1.55; }
.support-section { padding: 125px 0; background: #121a31; }.support-layout { display: grid; grid-template-columns: .9fr 1.1fr; gap: 115px; align-items: center; }.support-copy > p:not(.kicker) { max-width: 450px; margin: 25px 0 27px; color: var(--muted); font-size: 15px; line-height: 1.7; }.support-copy > small { display: block; margin-top: 14px; color: #93a4c3; font: 500 10px var(--mono); }.support-faq { border-top: 1px solid var(--line); }.support-faq details { border-bottom: 1px solid var(--line); }.support-faq summary { display: flex; justify-content: space-between; gap: 20px; padding: 20px 0; cursor: pointer; font-size: 14px; font-weight: 800; list-style: none; }.support-faq summary::-webkit-details-marker { display: none; }.support-faq summary span { color: var(--peach); font-size: 19px; transition: transform .2s ease; }.support-faq details[open] summary span { transform: rotate(45deg); }.support-faq p { max-width: 520px; margin: 0 0 20px; color: var(--muted); font-size: 13px; line-height: 1.6; }
.download-section { display: grid; grid-template-columns: 1.3fr .7fr; gap: 80px; align-items: end; padding: 110px 70px; margin-top: 100px; overflow: hidden; border: 1px solid rgba(255,255,255,.18); border-radius: 25px; background: linear-gradient(130deg, #f39b7f, #f0b679 48%, #9a8ee7); color: #111b2e; }.download-section:before { content: ""; position: absolute; width: 430px; height: 430px; border: 1px solid rgba(255,255,255,.46); border-radius: 50%; transform: translate(650px,-250px); }.download-section { position: relative; }.download-section > * { position: relative; z-index: 1; }.download-section .kicker { color: #405773; }.download-section em { color: #273759; }.download-side p { max-width: 310px; font-size: 15px; line-height: 1.6; }.store-link { display: inline-flex; align-items: center; gap: 9px; padding: 8px 14px; border-radius: 10px; background: #0e1729; color: white; text-decoration: none; }.store-link > span { font-size: 20px; }.store-link div { display: grid; }.store-link small { font-size: 8px; }.store-link b { font-size: 16px; }.download-side > small { display: block; margin-top: 13px; font: 500 9px var(--mono); letter-spacing: .08em; }.site-footer { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 33px 0 42px; }.site-footer p { margin: 0; color: #99a7c2; font-size: 12px; }.site-footer div { display: flex; align-items: center; gap: 17px; }.site-footer div a, .site-footer div span { color: #9aa6c0; font-size: 11px; text-decoration: none; }.reveal { opacity: 0; transform: translateY(18px); transition: opacity .65s ease, transform .65s ease; }.reveal.visible { opacity: 1; transform: none; }.sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; }
@keyframes spin { to { transform: rotate(360deg); } }

@media (max-width: 900px) {
  .hero { gap: 18px; }.hero-stage { transform: scale(.86); transform-origin: center right; }.feature-grid { grid-template-columns: 1fr 1fr; }.feature-card.place { grid-column: span 2; min-height: auto; }.place-surface { height: 180px; }.return-layout, .support-layout { gap: 52px; }.download-section { padding: 85px 48px; }
}
@media (max-width: 700px) {
  .section-shell { width: min(100% - 40px, 560px); }.site-header { height: 64px; top: 8px; padding: 0 13px; border-radius: 15px; }.menu-button { width: 42px; height: 42px; display: flex; align-items: center; justify-content: center; flex-direction: column; gap: 5px; border: 0; background: transparent; }.menu-button i { width: 20px; height: 1.5px; background: var(--ink); }.site-nav { position: absolute; top: 55px; left: 0; right: 0; display: none; align-items: stretch; gap: 13px; padding: 17px; border: 1px solid var(--line); border-radius: 15px; background: #17203a; box-shadow: 0 18px 30px rgba(0,0,0,.25); }.site-nav.open { display: flex; }.site-nav a { padding: 5px; }.site-nav .nav-download { text-align: center; }.hero { min-height: auto; display: flex; flex-direction: column; gap: 0; padding: 67px 0 35px; }.hero-copy { width: 100%; }.hero h1 { font-size: clamp(57px, 17vw, 75px); }.hero-copy > p:not(.kicker) { font-size: 15px; }.hero-actions { align-items: flex-start; flex-wrap: wrap; gap: 16px; }.qr-download { width: 128px; }.qr-download img { width: 111px; height: 111px; }.trust-list { gap: 11px; font-size: 8px; }.trust-list li + li:before { margin-right: 11px; }.hero-stage { width: 100%; height: 500px; margin-bottom: -28px; transform: scale(.74); transform-origin: top center; }.proof-strip div { justify-content: center; flex-wrap: wrap; row-gap: 8px; font-size: 8px; }.moments-section, .privacy-section { padding: 95px 0; }.feature-grid { display: flex; flex-direction: column; margin-top: 40px; }.feature-card, .feature-card.tall, .feature-card.place { width: 100%; min-height: auto; }.voice-surface { height: 230px; }.return-section, .support-section { padding: 85px 0; }.return-layout, .support-layout { display: flex; flex-direction: column; gap: 55px; }.return-copy, .support-copy { width: 100%; }.search-window { width: calc(100% - 16px); transform: rotate(2deg); }.privacy-copy { margin: 40px 0; }.privacy-copy p { font-size: 15px; }.privacy-points { grid-template-columns: 1fr; }.privacy-points article { padding: 20px 0; }.privacy-points article + article { padding-left: 0; border-left: 0; border-top: 1px solid var(--line); }.privacy-points span { margin-bottom: 12px; }.download-section { display: flex; flex-direction: column; gap: 34px; align-items: flex-start; margin-top: 55px; padding: 62px 28px; }.download-section:before { transform: translate(140px,-290px); }.site-footer { align-items: flex-start; flex-direction: column; }.site-footer div { flex-wrap: wrap; }
}
@media (max-width: 380px) {
  .hero-actions { flex-direction: column; }.hero-stage { transform: scale(.65); margin-bottom: -85px; }.proof-strip b { display: none; }.proof-strip div { gap: 8px; }
}
