*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body.lp{background:var(--color-paper);color:var(--color-ink);font-family:var(--font-sans);font-size:16px;line-height:1.55;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
a{color:var(--color-primary);text-decoration:none}
a:hover{color:oklch(0.5 0.13 38);text-decoration:underline}
:focus-visible{outline:none;box-shadow:var(--ring-focus)}
.lp-wrap{max-width:1180px;margin:0 auto;padding:0 32px}
.lp-nav{display:flex;align-items:center;gap:24px;padding-block:22px}
.lp-brand{display:flex;align-items:center;gap:10px;font-weight:600;font-size:18px;letter-spacing:-.01em;color:var(--color-ink)}
.lp-brand:hover{color:var(--color-ink);text-decoration:none}
.lp-brand svg{width:36px;height:24px;flex:none}
.lp-nav .sp{flex:1}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:44px;padding:0 20px;border-radius:var(--radius-md);border:0;background:var(--color-primary);color:var(--color-primary-fg);font:600 15px/1 var(--font-sans);cursor:pointer;box-shadow:var(--shadow-sm);transition:background var(--duration-fast) var(--easing-out);white-space:nowrap}
.btn:hover{background:oklch(0.54 0.135 38);color:var(--color-primary-fg);text-decoration:none}
.btn.sm{height:38px;padding:0 16px;font-size:14px}
.eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:12px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--color-primary)}
.eyebrow::before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor}
/* hero */
.hero{position:relative;overflow:hidden;padding:48px 0 72px}
.hero-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:40px;align-items:center}
.hero-copy{position:relative;z-index:2}
.hero h1{font-size:clamp(40px,5.6vw,66px);line-height:1.02;letter-spacing:-.035em;font-weight:600;margin:18px 0 20px;text-wrap:balance}
.hero .lede{font-size:clamp(17px,1.5vw,19px);line-height:1.55;color:var(--color-ink-muted);max-width:44ch;text-wrap:pretty}
.hero-phones{position:relative;height:620px}
.hero-phones .phone{position:absolute}
.hero-phones .p1{left:4%;top:44px;transform:rotate(-5deg)}
.hero-phones .p2{right:2%;top:0;transform:rotate(4deg)}
/* "sign-ups open soon": sits where the design's waitlist forms were */
.soon{display:flex;align-items:center;flex-wrap:wrap;gap:12px 20px;margin-top:32px;max-width:470px}
.soon p{font-size:17px;font-weight:600;color:var(--color-ink)}
.soon.on-dark p{color:var(--color-paper)}
/* phone */
.phone{width:280px;height:590px;border-radius:46px;background:var(--color-ink);padding:9px;box-shadow:var(--shadow-lg);flex:none}
.scr{height:100%;border-radius:37px;background:var(--color-paper);overflow:hidden;display:flex;flex-direction:column;position:relative;text-align:left}
.scr .sbar{height:42px;flex:none;display:flex;align-items:center;justify-content:space-between;padding:4px 26px 0;font-size:12px;font-weight:600}
.scr .sbar::after{content:"";position:absolute;left:50%;top:10px;width:78px;height:22px;margin-left:-39px;border-radius:12px;background:var(--color-ink)}
.scr .sbar i{width:22px;height:10px;border-radius:3px;border:1.5px solid var(--color-ink)}
.scr .hd{display:flex;align-items:center;gap:8px;padding:8px 18px 12px}
.scr .hd h3{font-size:22px;font-weight:600;letter-spacing:-.02em;flex:1}
.scr .hd svg{width:26px;height:17px}
.scr .chips{display:flex;gap:5px;padding:0 18px 10px}
.scr .chip{height:25px;padding:0 10px;border-radius:999px;border:1px solid var(--color-line);font-size:11px;font-weight:500;color:var(--color-ink-muted);display:flex;align-items:center}
.scr .chip.on{background:var(--color-ink);border-color:var(--color-ink);color:var(--color-paper)}
.scr .lbl{padding:8px 18px 4px;font-size:10px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--color-ink-subtle)}
.scr .rows{display:flex;flex-direction:column;padding:0 10px}
.scr .row{display:flex;align-items:center;gap:10px;padding:9px 8px;border-bottom:1px solid var(--color-line)}
.scr .row .tx{flex:1;min-width:0}
.scr .row .t{font-size:13px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.scr .row .m{font-size:11px;color:var(--color-ink-subtle);display:flex;align-items:center;gap:5px;margin-top:1px}
.scr .row.past .t{font-weight:500;color:var(--color-ink-muted)}
.scr .tabs{margin-top:auto;display:flex;justify-content:space-around;padding:9px 0 20px;border-top:1px solid var(--color-line);background:var(--color-paper-alt)}
.scr .tab{display:flex;flex-direction:column;align-items:center;gap:2px;font-size:10px;font-weight:500;color:var(--color-ink-subtle)}
.scr .tab svg{width:20px;height:20px}
.scr .tab.on{color:var(--color-primary);font-weight:600}
.scr .fab{position:absolute;right:16px;bottom:80px;width:46px;height:46px;border-radius:50%;background:var(--color-primary);color:var(--color-primary-fg);display:grid;place-items:center;box-shadow:var(--shadow-lg)}
.scr .fab svg{width:20px;height:20px}
.kt{width:34px;height:34px;border-radius:9px;display:grid;place-items:center;flex:none}
.kt svg{width:18px;height:18px}
.kt.meal{background:var(--stage-save-bg);color:var(--stage-save-fg)}
.kt.movie{background:var(--stage-prepare-bg);color:var(--stage-prepare-fg)}
.kt.place{background:var(--stage-budget-bg);color:var(--stage-budget-fg)}
.kt.other{background:var(--stage-capture-bg);color:var(--stage-capture-fg)}
.dt{width:34px;height:38px;border-radius:9px;display:flex;flex-direction:column;align-items:center;justify-content:center;flex:none;line-height:1}
.dt .mo{font-size:8px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.dt .d{font-size:15px;font-weight:700;margin-top:2px}
.dt.meal{background:var(--stage-save-bg);color:var(--stage-save-fg)}
.dt.movie{background:var(--stage-prepare-bg);color:var(--stage-prepare-fg)}
.dt.place{background:var(--stage-budget-bg);color:var(--stage-budget-fg)}
.dt.past{background:var(--color-paper-alt);color:var(--color-ink-muted)}
.av{width:15px;height:15px;border-radius:50%;display:inline-grid;place-items:center;font-size:8px;font-weight:700;flex:none}
.av.mira{background:var(--color-primary);color:#fff}
.av.jules{background:var(--color-accent);color:oklch(0.30 0.05 50)}
/* sections */
.sec{padding:112px 0}
.sec-alt{background:var(--color-paper-alt)}
.sec h2{font-size:clamp(30px,3.6vw,44px);line-height:1.08;letter-spacing:-.028em;font-weight:600;max-width:20ch;text-wrap:balance}
.sec .sub{margin-top:14px;font-size:17px;color:var(--color-ink-muted);max-width:52ch;text-wrap:pretty}
.steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:56px}
.step{background:var(--color-paper);border:1px solid var(--color-line);border-radius:var(--radius-xl);padding:14px 14px 26px;display:flex;flex-direction:column;gap:22px}
.step .fig{height:220px;border-radius:var(--radius-lg);background:var(--color-paper-alt);display:flex;flex-direction:column;justify-content:center;gap:10px;padding:20px}
.step .n{font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--color-primary);padding:0 12px}
.step h3{font-size:20px;line-height:1.25;letter-spacing:-.015em;font-weight:600;padding:0 12px;margin-top:-14px}
.step p{font-size:15px;color:var(--color-ink-muted);padding:0 12px;margin-top:-12px;text-wrap:pretty}
.frag{background:var(--color-paper);border:1px solid var(--color-line);border-radius:var(--radius-md);box-shadow:var(--shadow-sm)}
.frag-input{padding:12px 14px;font-size:14px;color:var(--color-ink);display:flex;align-items:center;gap:2px}
.frag-input::after{content:"";width:1.5px;height:17px;background:var(--color-primary)}
.kinds{display:flex;gap:6px;flex-wrap:wrap}
.kinds span{height:30px;padding:0 11px;border-radius:999px;background:var(--color-paper);border:1px solid var(--color-line);font-size:12.5px;font-weight:500;color:var(--color-ink-muted);display:flex;align-items:center;gap:6px}
.kinds span svg{width:14px;height:14px}
.kinds span.on{background:var(--stage-budget-bg);border-color:transparent;color:var(--stage-budget-fg);font-weight:600}
.days{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}
.days span{height:58px;border-radius:var(--radius-md);background:var(--color-paper);border:1px solid var(--color-line);display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:11px;color:var(--color-ink-subtle);font-weight:500}
.days span b{font-size:18px;color:var(--color-ink);font-weight:600;line-height:1.2}
.days span.on{background:var(--color-primary);border-color:var(--color-primary);color:oklch(0.9 0.03 50)}
.days span.on b{color:var(--color-primary-fg)}
.times{display:flex;gap:6px}
.times span{flex:1;height:34px;border-radius:var(--radius-md);background:var(--color-paper);border:1px solid var(--color-line);display:grid;place-items:center;font-size:13px;font-weight:500;color:var(--color-ink-muted)}
.times span.on{border-color:var(--color-ink);color:var(--color-ink);font-weight:600}
.notif{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:var(--radius-lg);background:oklch(0.99 0.005 70 / .9);border:1px solid var(--color-line);box-shadow:var(--shadow-md);font-size:12.5px;line-height:1.35}
.notif svg{width:26px;height:18px;flex:none}
.notif b{display:block;font-weight:600}
.notif span{color:var(--color-ink-muted)}
.cal-row{display:flex;align-items:center;gap:12px;padding:12px 14px}
.cal-row .t{font-size:14px;font-weight:600}
.cal-row .m{font-size:12px;color:var(--color-ink-subtle);display:flex;gap:5px;align-items:center}
/* product */
.product{position:relative;margin-top:56px;padding-right:120px}
.browser{border:1px solid var(--color-line);border-radius:var(--radius-lg);background:var(--color-paper);box-shadow:var(--shadow-lg);overflow:hidden}
.browser .bar{height:34px;display:flex;align-items:center;gap:6px;padding:0 14px;background:var(--color-paper-alt);border-bottom:1px solid var(--color-line)}
.browser .bar i{width:10px;height:10px;border-radius:50%;background:var(--color-line)}
.browser img{display:block;width:100%;height:auto}
.product .phone{position:absolute;right:0;bottom:-48px;transform:scale(.82);transform-origin:bottom right}
.product-notes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px;margin-top:88px;max-width:760px}
.product-notes h3{font-size:16px;font-weight:600}
.product-notes p{font-size:15px;color:var(--color-ink-muted);margin-top:4px}
/* privacy */
.privacy{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:64px;align-items:start}
.privacy .big-mark{width:132px;height:88px;margin-bottom:28px}
.facts{list-style:none;border-top:1px solid var(--color-line)}
.facts li{padding:20px 0;border-bottom:1px solid var(--color-line);display:grid;grid-template-columns:28px minmax(0,1fr);gap:12px;font-size:16px;color:var(--color-ink-muted)}
.facts li b{display:block;color:var(--color-ink);font-weight:600;margin-bottom:2px}
.facts li svg{width:20px;height:20px;color:var(--color-primary);margin-top:3px}
/* faq */
.faq{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:64px}
.faq details{border-bottom:1px solid var(--color-line)}
.faq details:first-child{border-top:1px solid var(--color-line)}
.faq summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:16px;padding:20px 0;font-size:17px;font-weight:600}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"";margin-left:auto;width:10px;height:10px;border-right:1.8px solid var(--color-ink-subtle);border-bottom:1.8px solid var(--color-ink-subtle);transform:rotate(45deg) translate(-3px,-3px);transition:transform var(--duration-base) var(--easing-out);flex:none}
.faq details[open] summary::after{transform:rotate(-135deg) translate(-3px,-3px)}
.faq details p{padding:0 40px 22px 0;color:var(--color-ink-muted);font-size:16px;max-width:60ch;text-wrap:pretty}
/* final cta + footer */
.cta{background:var(--color-ink);color:var(--color-paper);padding:120px 0 104px;text-align:center}
.cta h2{margin:0 auto;color:var(--color-paper);max-width:18ch}
.cta .sub{margin:16px auto 0;color:oklch(0.82 0.02 60)}
.cta .soon{margin:36px auto 0;justify-content:center}
.cta svg.cta-mark{width:72px;height:48px;margin-bottom:28px}
.lp-foot{background:var(--color-ink);color:oklch(0.78 0.02 60);font-size:13px;border-top:1px solid oklch(1 0 0 / .1)}
.lp-foot .lp-wrap{display:flex;align-items:center;gap:20px;padding-top:24px;padding-bottom:28px}
.lp-foot .lp-brand{color:var(--color-paper);font-size:15px}
.lp-foot .lp-brand svg{width:30px;height:20px}
.lp-foot .sp{flex:1}
.lp-foot a{color:oklch(0.88 0.02 70)}
@media (max-width:960px){
.hero-grid{grid-template-columns:1fr}
.hero-phones{height:540px;max-width:560px;width:100%;margin:0 auto}
.steps{grid-template-columns:1fr;max-width:520px}
.privacy,.faq{grid-template-columns:1fr;gap:40px}
.product{padding-right:0}
.product .phone{display:none}
.product-notes{margin-top:40px}
}
@media (max-width:560px){
.lp-wrap{padding:0 20px}
.hero-phones .phone,.product .phone{transform:scale(.8)!important}
.hero-phones .p1{left:-10%}
.hero-phones .p2{right:-8%}
.sec{padding:80px 0}
.product-notes{grid-template-columns:1fr}
}
