*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:#faf9f6;color:#111;font-family:'Instrument Sans',system-ui,sans-serif;-webkit-font-smoothing:antialiased}
a{color:#111;text-decoration:none}
a:hover{color:#e34234}
img{max-width:100%}
.page{overflow-x:clip}
.mono{font-family:'JetBrains Mono',ui-monospace,monospace}
.m0{margin:0!important}
section[id],header[id]{scroll-margin-top:72px}

@keyframes bobA{0%,100%{transform:translateY(0) rotate(var(--r,0deg))}50%{transform:translateY(-12px) rotate(var(--r,0deg))}}
@keyframes bobB{0%,100%{transform:translateY(0) rotate(var(--r,0deg))}50%{transform:translateY(10px) rotate(var(--r,0deg))}}
@keyframes blink{0%,100%{opacity:1}50%{opacity:.25}}
@keyframes pop{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@keyframes fill{from{width:0}to{width:100%}}
@keyframes dots{0%,80%,100%{opacity:.25}40%{opacity:1}}

/* shared */
.h2{font-size:clamp(40px,5vw,64px);line-height:1;letter-spacing:-0.04em;font-weight:700;margin:14px 0 0;text-wrap:balance}
.section-pad{padding:0 24px clamp(72px,10vw,120px)}
.container{max-width:1152px;margin:0 auto}
.two-col{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(32px,5vw,64px);align-items:center}
.live-dot{width:7px;height:7px;border-radius:50%;background:#7ac943;display:block;animation:blink 1.4s infinite}
.live-dot.sm{width:6px;height:6px}

.btn{background:#111;color:#fff;border-radius:999px;font-weight:600;display:inline-flex;align-items:center;gap:10px;transition:background .15s,color .15s}
.btn:hover{background:#d4ff3f;color:#111}
.btn-sm{padding:10px 18px}
.btn-lg{font-size:17px;padding:16px 30px}

/* nav */
.nav{position:sticky;top:0;z-index:30;background:rgba(250,249,246,.9);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
.nav-inner{max-width:1200px;margin:0 auto;padding:18px 24px;display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:15px}
.wordmark{font-weight:700;font-size:22px;letter-spacing:-0.03em;display:flex;align-items:center;gap:6px}
.wordmark.sm{font-size:18px;color:#111;gap:5px}
.nav-right{display:flex;align-items:center;gap:22px}
.nav-links{display:flex;gap:26px}
.nav-links a{color:#555}

/* hero */
.hero{max-width:1200px;margin:0 auto;padding:clamp(56px,8vw,88px) 20px clamp(72px,10vw,112px);display:flex;flex-direction:column;align-items:center;text-align:center}
.badge{display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:500;color:#555;background:#fff;border:1px solid #e6e2d9;padding:6px 14px;border-radius:999px;white-space:nowrap}
.hero h1{font-size:clamp(48px,6.8vw,92px);line-height:.98;letter-spacing:-0.045em;font-weight:700;margin:24px 0 0;max-width:820px;text-wrap:balance}
.hero .lead{font-size:clamp(17px,1.8vw,20px);line-height:1.5;color:#555;margin:22px 0 0;max-width:500px;text-wrap:pretty}
.hero .btn{margin-top:32px}
.hero-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(14px,2vw,24px);width:100%;max-width:1040px;margin-top:clamp(44px,7vw,72px)}
.hero-card{background:#fff;border-radius:18px;padding:8px;transform:rotate(var(--r));box-shadow:0 24px 44px -26px rgba(40,20,80,.45)}
.hero-card img{width:100%;height:auto;display:block;border-radius:12px}

/* meet */
.meet{max-width:1152px;margin:0 auto;background:#c8b3e8;border-radius:36px;padding:clamp(32px,6vw,72px)}
.eyebrow{font-family:'JetBrains Mono',ui-monospace,monospace;font-size:12px;letter-spacing:.08em;color:#3d2a66}
.meet-copy{font-size:19px;line-height:1.5;color:#2a1f40;margin:20px 0 0;max-width:440px;text-wrap:pretty}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:28px}
.chip{background:#fff;padding:8px 14px;border-radius:999px;font-size:14px;font-weight:500}
.feed-card{background:#fff;border-radius:28px;padding:20px;width:100%;max-width:440px;justify-self:center;box-shadow:0 40px 80px -40px rgba(40,20,80,.6)}
.feed-head{display:flex;align-items:center;justify-content:space-between;padding:2px 4px 16px}
.feed-who{display:flex;align-items:center;gap:10px}
.avatar{width:36px;height:36px;border-radius:50%;background:#111;color:#d4ff3f;display:flex;align-items:center;justify-content:center;font-weight:700}
.feed-name{font-size:15px;font-weight:600}
.feed-status{font-size:12px;color:#5a9a2e;display:flex;align-items:center;gap:5px}
.feed-today{font-size:11px;color:#999}
.feed{display:flex;flex-direction:column;gap:8px}
.feed-row{display:flex;align-items:center;gap:14px;padding:10px;border-radius:16px}
.feed-row img{width:54px;height:54px;border-radius:12px;object-fit:cover;background:#fff;flex:none}
.feed-text{flex:1;min-width:0}
.feed-title{font-size:15px;font-weight:600}
.feed-sub{font-size:13px;color:#666;margin-top:2px}
.feed-when{font-size:12px;color:#888;flex:none}

/* anything on your list */
.list-wrap{max-width:1152px;margin:0 auto}
.chat-panel{position:relative;border-radius:32px;overflow:hidden;background:var(--bg,#eef7cf);aspect-ratio:4/5;min-height:440px;transition:background .6s}
.blob{position:absolute;border-radius:50%;aspect-ratio:1;transition:background .6s}
.b1{width:62%;left:-14%;top:-10%;background:var(--b1);filter:blur(50px);opacity:.9}
.b2{width:56%;right:-16%;top:28%;background:var(--b2);filter:blur(56px);opacity:.85}
.b3{width:60%;left:10%;bottom:-18%;background:var(--b3);filter:blur(60px);opacity:.8}
.chat-stage{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:clamp(24px,5vw,48px)}
.chat{width:100%;max-width:400px;display:flex;flex-direction:column;gap:10px}
.msg{position:relative;max-width:86%}
.msg.me{align-self:flex-end}
.msg.nudge{align-self:flex-start}
.bubble{padding:13px 17px;border:1px solid;-webkit-backdrop-filter:blur(18px) saturate(160%);backdrop-filter:blur(18px) saturate(160%);box-shadow:0 12px 32px -14px rgba(40,20,80,.35);font-size:clamp(15px,1.5vw,17px);line-height:1.42;text-wrap:pretty;opacity:0;transform:translateY(10px) scale(.92);transition:opacity .35s ease,transform .5s cubic-bezier(.2,.9,.3,1.25)}
.me .bubble{background:rgba(17,17,17,.78);color:#fff;border-color:rgba(255,255,255,.14);border-radius:20px 20px 6px 20px;transform-origin:right bottom}
.nudge .bubble{background:rgba(255,255,255,.58);color:#111;border-color:rgba(255,255,255,.8);border-radius:20px 20px 20px 6px;transform-origin:left bottom}
.msg.on .bubble{opacity:1;transform:none}
.typing{position:absolute;left:0;top:0;padding:16px 18px;border-radius:20px 20px 20px 6px;background:rgba(255,255,255,.55);border:1px solid rgba(255,255,255,.75);-webkit-backdrop-filter:blur(18px) saturate(160%);backdrop-filter:blur(18px) saturate(160%);box-shadow:0 12px 32px -14px rgba(40,20,80,.35);display:flex;gap:5px;animation:pop .3s ease-out both}
.typing span{width:7px;height:7px;border-radius:50%;background:#111;display:block;animation:dots 1s infinite}
.typing span:nth-child(2){animation-delay:.15s}
.typing span:nth-child(3){animation-delay:.3s}

.list-lead{font-size:19px;line-height:1.5;color:#555;margin:16px 0 40px;max-width:420px}
.list{border-bottom:1px solid #e3dfd6}
.list-item{all:unset;cursor:pointer;position:relative;display:grid;grid-template-columns:36px 1fr;gap:12px;width:100%;padding:22px 0;border-top:1px solid #e3dfd6;box-sizing:border-box}
.list-item:focus-visible{outline:2px solid #111;outline-offset:4px;border-radius:4px}
.list-num{font-family:'JetBrains Mono',ui-monospace,monospace;font-size:12px;color:#999;padding-top:4px}
.list-body{display:flex;flex-direction:column;gap:6px}
.list-area{font-family:'JetBrains Mono',ui-monospace,monospace;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:#888}
.list-say{font-size:20px;font-weight:600;letter-spacing:-0.01em;line-height:1.3;color:#aaa;transition:color .2s}
.list-item.active .list-say{color:#111}
.list-bar{position:absolute;left:0;bottom:-1px;height:2px;background:#111;display:block;width:0}

/* how it works */
.how{padding:clamp(72px,10vw,120px) 24px;background:#111;color:#faf9f6}
.how-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:56px}
.how-head .h2{max-width:620px}
.how-head p{font-size:18px;color:#aaa;margin:0;max-width:340px}
.how-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.how-card{background:#1c1c1c;border-radius:28px;overflow:hidden;display:flex;flex-direction:column}
.how-top{height:260px;padding:28px;display:flex;flex-direction:column;gap:10px;color:#111}
.how-top.lav{background:#c8b3e8;justify-content:flex-end}
.how-top.lime{background:#d4ff3f;justify-content:center}
.how-top.blush{background:#f9d3cd;align-items:center;justify-content:center}
.mini-in{align-self:flex-start;background:#fff;color:#111;padding:10px 14px;border-radius:16px 16px 16px 4px;font-size:14px}
.mini-out{align-self:flex-end;background:#111;color:#fff;padding:10px 14px;border-radius:16px 16px 4px 16px;font-size:14px;display:flex;align-items:center;gap:2px}
.caret{width:2px;height:15px;background:#d4ff3f;display:inline-block;animation:blink 1s step-end infinite}
.task{background:#fff;border-radius:14px;padding:11px 14px;font-size:14px;display:flex;align-items:center;gap:10px}
.task.pending{background:rgba(255,255,255,.55);color:#555}
.tick{color:#5a9a2e;font-weight:700}
.rec{width:8px;height:8px;border-radius:50%;background:#e34234;display:block;animation:blink 1s infinite;margin:0 2px;flex:none}
.circ{margin:0 2px}
.event{background:#fff;border-radius:20px;padding:18px;width:100%;max-width:260px;box-shadow:0 20px 40px -24px rgba(0,0,0,.35)}
.event-row{display:flex;gap:14px;align-items:center}
.cal{border-radius:12px;width:54px;text-align:center;padding:6px 0;background:#faf9f6;border:1px solid #eee;flex:none}
.cal-day{font-size:10px;color:#e34234;letter-spacing:.08em}
.cal-date{font-size:22px;font-weight:700;line-height:1.1}
.event-title{font-size:15px;font-weight:600}
.event-time{font-size:13px;color:#666}
.booked{margin-top:14px;font-size:13px;color:#111;background:#d4ff3f;display:inline-block;padding:5px 10px;border-radius:999px;font-weight:500}
.how-body{padding:28px}
.how-body .num{font-size:12px}
.how-title{font-size:24px;font-weight:600;margin-top:10px;letter-spacing:-0.02em}
.how-body p{font-size:16px;line-height:1.55;color:#aaa;margin:8px 0 0;text-wrap:pretty}

/* faq */
.faq-section{padding:clamp(72px,10vw,120px) 24px}
.faq-wrap{max-width:1152px;margin:0 auto;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:clamp(24px,5vw,64px)}
.faq{min-width:0;border-bottom:1px solid #e3dfd6}
.faq-item{border-top:1px solid #e3dfd6}
.faq-q{all:unset;cursor:pointer;width:100%;display:grid;grid-template-columns:36px 1fr 24px;align-items:baseline;gap:12px;padding:22px 0;font-size:19px;font-weight:600;box-sizing:border-box}
.faq-q:focus-visible{outline:2px solid #111;outline-offset:4px;border-radius:4px}
.faq-num{font-family:'JetBrains Mono',ui-monospace,monospace;font-size:12px;color:#999;font-weight:400}
.faq-sign{font-size:22px;font-weight:400;color:#999;text-align:right}
.faq-a{margin:0;padding:0 36px 24px 48px;font-size:16px;line-height:1.6;color:#555}

/* final cta */
.cta-section{padding:0 24px 24px}
.cta{position:relative;overflow:hidden;max-width:1152px;margin:0 auto;background:#d4ff3f;border-radius:36px;padding:clamp(72px,10vw,130px) 32px;text-align:center}
.stickers{position:absolute;inset:0;pointer-events:none}
.sticker{position:absolute;transform:rotate(var(--r,0deg))}
.bob-a{animation:bobA 6s ease-in-out infinite}
.bob-b{animation:bobB 7s ease-in-out infinite}
.sticker-frame{background:#fff;border-radius:14px;padding:6px}
.sticker-frame img{width:100%;display:block;border-radius:10px}
.say-done{background:#111;color:#fff;padding:10px 15px;border-radius:18px 18px 18px 4px;font-size:14px}
.say-onit{background:#c8b3e8;padding:10px 15px;border-radius:18px 18px 4px 18px;font-size:14px;font-weight:500}
.cta-h2{position:relative;font-size:clamp(48px,7.4vw,104px);line-height:.95;letter-spacing:-0.05em;font-weight:700;margin:0;text-wrap:balance}
.cta-copy{position:relative;font-size:19px;color:#2a2a2a;margin:20px auto 0;max-width:420px}
.btn-cta{position:relative;margin-top:34px}
.btn-cta:hover{background:#fff;color:#111}

/* footer */
.footer{max-width:1200px;margin:0 auto;padding:36px 24px 44px;display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;font-size:14px;color:#888}
.footer-links{display:flex;gap:22px}
.footer-links a{color:#888}

/* responsive */
@media (max-width:959px){
  .nav-links,.stickers{display:none}
}
@media (max-width:819px){
  .two-col,.how-grid,.faq-wrap{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:699px){
  .hero-cards{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .bob-a,.bob-b{animation:none}
}
