.landing{z-index:1;min-height:calc(100dvh - var(--site-foot-h));flex-direction:column;padding:0 clamp(24px,5vw,72px) 28px;display:flex;position:relative;overflow-x:clip}html:has(.landing){scrollbar-gutter:stable}.landing-orbs{z-index:0;pointer-events:none;position:fixed;inset:0;overflow:hidden}.landing-orbs .orb{filter:blur(70px);opacity:.55;will-change:transform;border-radius:50%;width:46vw;min-width:380px;height:46vw;min-height:380px;animation:34s ease-in-out infinite alternate orb-drift;position:absolute}.landing-orbs .orb.a{background:radial-gradient(circle at 40% 40%,#dcc9ff 0%,#0000 70%);top:-18%;left:-10%}.landing-orbs .orb.b{background:radial-gradient(circle,#ffd6e6 0%,#0000 70%);animation-duration:42s;animation-delay:-12s;top:30%;right:-16%}.landing-orbs .orb.c{background:radial-gradient(circle,#cfe9f8 0%,#0000 70%);animation-duration:38s;animation-delay:-25s;bottom:-22%;left:28%}@keyframes orb-drift{0%{transform:translate(0,0)scale(1)}to{transform:translate(6vw,-4vh)scale(1.12)}}.landing-glow{z-index:0;pointer-events:none;opacity:0;background:radial-gradient(circle 260px at var(--x,-400px) var(--y,-400px), #9a78f029, transparent 70%);transition:opacity .5s ease-out;position:fixed;inset:0}.landing-ripple{z-index:5;pointer-events:none;border:1px solid #7a55d88c;border-radius:50%;width:14px;height:14px;animation:.85s ease-out forwards landing-ripple;position:fixed;transform:translate(-50%,-50%)}@keyframes landing-ripple{0%{opacity:.6;transform:translate(-50%,-50%)scale(.4)}to{opacity:0;transform:translate(-50%,-50%)scale(6)}}.word-in{opacity:0;animation:1.1s cubic-bezier(.2,.7,.2,1) forwards landing-rise;display:inline-block}.landing-hero-main.pending .word-in{animation-play-state:paused}.landing-tagline .word-in{margin:0 .18em}@keyframes landing-rise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes landing-fade-in{0%{opacity:0}to{opacity:1}}.landing-topbar{z-index:2;animation:landing-fade-in .7s var(--ease) both;justify-content:space-between;align-items:center;gap:14px;padding:26px 0 10px;display:flex;position:relative}.landing-wordmark{font-family:var(--font-fraunces), serif;letter-spacing:-.025em;color:var(--ink);font-variation-settings:"opsz" 96;font-size:28px;font-weight:300;line-height:1}.landing-topbar-actions{gap:10px;display:flex}.landing-hero{z-index:1;text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:calc(100dvh - 100px);padding:clamp(28px,6vh,64px) 0 clamp(28px,6vh,56px);display:flex;position:relative}.landing-hero-main{max-width:52rem}.landing-hero .eyebrow{margin-bottom:18px}.landing-headline{font-family:var(--font-fraunces), serif;letter-spacing:-.025em;color:var(--ink);font-variation-settings:"opsz" 144;margin:0;font-size:clamp(56px,7.5vw,104px);font-weight:300;line-height:1}.landing-headline .accent{color:var(--lav-500);font-style:italic}.landing-sub{max-width:40rem;color:var(--ink-2);margin:clamp(22px,3.2vh,34px) auto 0;font-size:clamp(17px,.9rem + .9vw,22px);font-weight:300;line-height:1.55}.landing-tagline{letter-spacing:.28em;text-transform:uppercase;color:var(--lav-500);margin:clamp(34px,6vh,56px) 0 0;font-size:13px;font-weight:500}.landing-fineprint{color:var(--ink-3);margin:18px 0 0;font-size:12px;display:block}.landing-showcase{z-index:1;grid-template-columns:minmax(0,5fr) minmax(0,6fr);align-items:center;gap:clamp(24px,4.5vw,64px);width:min(1060px,100%);margin:0 auto clamp(76px,15vh,150px);display:grid;position:relative}.landing-showcase.mirrored{grid-template-columns:minmax(0,6fr) minmax(0,5fr)}.landing-showcase.mirrored .landing-showcase-copy{order:2}.landing-kicker{letter-spacing:.22em;text-transform:uppercase;color:var(--lav-500);font-size:11px;font-weight:500;display:block}.landing-showcase-copy h2{font-family:var(--font-fraunces), serif;letter-spacing:-.015em;color:var(--ink);font-variation-settings:"opsz" 96;margin:12px 0 0;font-size:clamp(28px,1.4rem + 1.6vw,40px);font-weight:300;line-height:1.12}.landing-showcase-copy p{max-width:44ch;color:var(--ink-2);margin:16px 0 0;font-size:15px;line-height:1.6}.landing-card{border:1px solid var(--line);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffffb8;border-radius:20px;padding:22px 24px;box-shadow:0 18px 50px #3c23781a}.landing-card-head{border-bottom:1px solid var(--line);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);justify-content:space-between;align-items:center;margin-bottom:14px;padding-bottom:10px;font-size:11px;display:flex}.landing-view-toggle{border:1px solid var(--line);letter-spacing:0;text-transform:none;background:#fff9;border-radius:999px;gap:2px;padding:2px;font-size:10px;display:inline-flex}.landing-view-toggle button{font-family:inherit;font-size:inherit;color:var(--ink-2);cursor:pointer;transition:background .35s var(--ease), color .35s var(--ease);background:0 0;border:none;border-radius:999px;padding:3px 9px;font-weight:500}.landing-view-toggle button:hover{color:var(--ink)}.landing-view-toggle button.active{background:var(--lav-500);color:#fff}.landing-view-toggle button.active:hover{color:#fff}.landing-tl{--row-h:54px;--bar-h:22px}.landing-tl-track{margin:6px 0 2px;position:relative}.landing-tl-rail{background:linear-gradient(to right, color-mix(in srgb, var(--lav-200) 45%, transparent) 0%, color-mix(in srgb, var(--lav-300) 45%, transparent) 50%, color-mix(in srgb, var(--lav-200) 45%, transparent) 100%);border-radius:999px;height:4px;margin-top:-2px;position:absolute;left:0;right:0;box-shadow:0 1px 4px #7a55d82e}.landing-tl-bar{height:var(--bar-h);margin-top:calc(var(--bar-h) / -2);letter-spacing:.01em;color:var(--ink);white-space:nowrap;isolation:isolate;border-radius:999px;align-items:center;padding:0 10px;font-size:11px;font-weight:500;display:flex;position:absolute;overflow:hidden;box-shadow:0 2px 8px #7a55d82e}.landing-tl-bar:before,.landing-tl-bar:after{content:"";z-index:-1;transition:opacity .6s var(--ease);position:absolute;inset:0}.landing-tl-bar:before{background:linear-gradient(to right, var(--from), var(--to))}.landing-tl-bar:after{background:linear-gradient(to right, var(--pro-from), var(--pro-to));opacity:0}.landing-tl.pro .landing-tl-bar:before{opacity:0}.landing-tl.pro .landing-tl-bar:after{opacity:1}.landing-tl-bar-label{text-overflow:ellipsis;overflow:hidden}.landing-tl-bar.present{border-top-right-radius:4px;border-bottom-right-radius:4px;-webkit-mask-image:linear-gradient(90deg,#000 82%,#0000 100%);mask-image:linear-gradient(90deg,#000 82%,#0000 100%)}.landing-tl-dot{z-index:2;width:var(--bar-h);height:var(--bar-h);margin:calc(var(--bar-h) / -2) 0 0 calc(var(--bar-h) / -2);background:linear-gradient(to right, color-mix(in srgb, var(--silver-from) var(--silver-alpha), transparent), color-mix(in srgb, var(--silver-to) var(--silver-alpha), transparent));border-radius:50%;position:absolute;box-shadow:inset 0 0 0 1px #ffffff8c,0 2px 6px #7a55d824}.landing-tl-dot-label{color:var(--ink-3);white-space:nowrap;font-size:10px;position:absolute;top:calc(100% + 4px);left:50%;transform:translate(-50%)}.landing-tl-axis{border-top:1px solid var(--line);height:18px;color:var(--ink-3);margin-top:8px;font-size:10px;position:relative}.landing-tl-axis span{position:absolute;top:4px;transform:translate(-50%)}.landing-tl-axis span:first-child{transform:none}.landing-tl-axis span:last-child{transform:translate(-100%)}.landing-diary p{font-family:var(--font-fraunces), serif;color:var(--ink);font-variation-settings:"opsz" 24;margin:0 0 10px;font-size:15px;font-weight:300;line-height:1.6}.landing-diary-entities{border-top:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:6px;margin-top:14px;padding-top:12px;display:flex}.landing-diary-entities-label{letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);margin-right:4px;font-size:11px}.landing-chip{cursor:pointer;transition:transform .25s var(--ease), box-shadow .25s var(--ease), background .25s var(--ease);border:1px solid #0000;border-radius:999px;padding:3px 10px;font-family:inherit;font-size:12px;font-weight:500;line-height:1.4}.landing-chip:hover,.landing-chip.on{transform:translateY(-1px);box-shadow:0 3px 10px #7a55d829}.landing-chip.person{color:var(--lav-600);background:var(--lav-100);border-color:var(--lav-200)}.landing-chip.place{color:#2f7a5f;background:#e6f6ee;border-color:#b9e3cf}.landing-chip.topic{color:#a34d7a;background:#fdeef5;border-color:#f4c6dc}.landing-chip.person.on{background:var(--lav-200)}.landing-chip.place.on{background:#cdeedd}.landing-chip.topic.on{background:#fadbe9}.landing-mark{color:inherit;-webkit-box-decoration-break:clone;box-decoration-break:clone;transition:background .35s var(--ease), color .35s var(--ease);background:0 0;border-radius:4px;margin:0 -2px;padding:0 2px}.landing-mark.on.person{background:var(--lav-150);color:var(--lav-700)}.landing-mark.on.place{color:#24634c;background:#d9f3e6}.landing-mark.on.topic{color:#8f3f69;background:#fbe3ee}.landing-graph-canvas{width:100%;height:auto;margin:2px 0 4px;display:block;overflow:visible}.landing-graph-canvas .link{stroke:var(--lav-200);stroke-width:1px;opacity:.4;stroke-linecap:round}.landing-graph-canvas .link.lit{stroke:var(--lav-300);stroke-width:1.3px;opacity:.95}.landing-graph-canvas .bead{cursor:pointer}.landing-graph-canvas .bead circle{filter:drop-shadow(0 1px 2px #7a55d838);transition:filter .3s var(--ease)}.landing-graph-canvas .bead.focus circle{stroke:#ffffffd9;stroke-width:1.5px;filter:drop-shadow(0 3px 8px #7a55d84d)}.landing-graph-canvas .bead.memory circle{fill:color-mix(in srgb, var(--silver-to) var(--silver-alpha), transparent);stroke:#fff9;stroke-width:.8px;filter:none}.landing-graph-canvas .bead circle.hit{fill:#0000;stroke:none;filter:none}.landing-graph-canvas .bead text{font-family:var(--font-dm-sans), system-ui, sans-serif;fill:var(--ink-2);paint-order:stroke;stroke:#ffffffd9;stroke-width:3px;stroke-linejoin:round;pointer-events:none;-webkit-user-select:none;user-select:none;font-size:11px;font-weight:500}.landing-graph-canvas .bead.focus text{fill:var(--ink);font-size:12px}.landing-graph-foot{border-top:1px solid var(--line);color:var(--ink-3);text-align:center;min-height:30px;margin-top:6px;padding-top:10px;font-size:12px}.landing-graph-foot span{display:block}.landing-route{width:100%;height:auto;margin-bottom:6px;display:block}.landing-route .route{fill:none;stroke:var(--lav-300);stroke-width:1.2px;stroke-dasharray:4 5;stroke-linecap:round}.landing-route .halo{opacity:.32}.landing-pin .halo,.landing-pin .pin{transform-box:fill-box;transform-origin:50%;transition:transform .45s var(--ease), opacity .45s var(--ease)}.landing-pin.on .halo{opacity:.4;transform:scale(1.7)}.landing-pin.on .pin{transform:scale(1.3)}.landing-pin.off .halo,.landing-pin.off .pin{opacity:.35}.landing-place-row{text-align:left;cursor:pointer;width:100%;transition:background .3s var(--ease);background:0 0;border:none;border-radius:10px;grid-template-columns:14px minmax(0,1fr) auto;align-items:center;gap:10px;padding:7px 8px;font-family:inherit;font-size:13px;display:grid}.landing-place-row:hover,.landing-place-row.on{background:var(--lav-100)}.landing-place-row .name{color:var(--ink);font-weight:500}.landing-place-row .years{color:var(--ink-3);font-size:12px}.landing-place-dot{background:linear-gradient(to right, var(--from), var(--to));border-radius:50%;width:12px;height:12px;box-shadow:0 1px 4px #7a55d833}.landing-friends{border-top:1px solid var(--line);gap:2px;margin-top:10px;padding-top:10px;display:grid}.landing-friend-row{border-radius:10px;grid-template-columns:26px minmax(0,1fr) auto;align-items:center;gap:10px;padding:6px 8px;font-size:13px;display:grid}.landing-friend-row .handle{color:var(--ink);font-weight:500}.landing-friend-row .shared{color:var(--ink-3);font-size:12px}.landing-avatar{background:var(--lav-100);width:26px;height:26px;color:var(--lav-600);border-radius:50%;place-items:center;font-size:12px;font-weight:600;display:grid}.landing-features{z-index:1;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;width:min(1060px,100%);margin:0 auto clamp(40px,8vh,80px);display:grid;position:relative}.landing-feature{flex-direction:column;align-items:flex-start;gap:10px;display:flex}.landing-feature-icon{background:var(--lav-100);width:38px;height:38px;color:var(--lav-600);border:1px solid var(--lav-200);border-radius:12px;place-items:center;display:grid}.landing-feature-icon svg{width:20px;height:20px}.landing-feature h2{font-family:var(--font-fraunces), serif;letter-spacing:-.01em;color:var(--ink);margin:4px 0 0;font-size:20px;font-weight:400}.landing-feature p{color:var(--ink-2);margin:0;font-size:14px;line-height:1.55}.landing-auth-modal{max-width:440px;position:relative}.landing-auth-close{width:32px;height:32px;color:var(--ink-3);cursor:pointer;transition:color .2s var(--ease);background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;padding:0;display:inline-flex;position:absolute;top:16px;right:16px}.landing-auth-close:hover{color:var(--ink)}.landing-auth-close:focus-visible{outline:2px solid var(--lav-400);outline-offset:2px}.auth-switch{font:inherit;color:var(--lav-500);cursor:pointer;background:0 0;border:none;padding:0}.auth-switch:hover{text-underline-offset:2px;text-decoration:underline}@media (max-width:900px){.landing-showcase,.landing-showcase.mirrored{grid-template-columns:minmax(0,1fr);gap:22px;max-width:540px}.landing-showcase.mirrored .landing-showcase-copy{order:0}.landing-features{grid-template-columns:minmax(0,1fr);max-width:540px}}@media (max-width:560px){.landing{padding:0 20px 24px}.landing-topbar .btn{padding:9px 14px;font-size:13px}.landing-tl-dot-label,.landing-sub br{display:none}}@media (prefers-reduced-motion:reduce){.landing-topbar,.landing-orbs .orb{animation:none}.word-in{opacity:1;animation:none;transform:none}.landing-ripple,.landing-glow{display:none}.landing-tl-bar:before,.landing-tl-bar:after,.landing-chip,.landing-mark,.landing-pin .halo,.landing-pin .pin,.landing-view-toggle button{transition:none}}
