/* =========================================================================
   Agentic PM, persona landing pages (/for/*).
   Only new styles live here. Tokens, .wrap, .mast, .btn, .eyebrow, .kicker,
   .lede, .head, .note, .pill and footer come from assets/style.css.
   Motion follows the app-motion rules: ease-out cubic-bezier(0.23,1,0.32,1),
   everything under 300 ms, transform and opacity only, reduced motion keeps a
   short fade and drops the movement.
   ========================================================================= */
:root{--lp-ease:cubic-bezier(0.23,1,0.32,1)}

.lp a,.lp summary,.lp .btn{touch-action:manipulation}
.lp [id]{scroll-margin-top:78px}
.lp h2{max-width:24ch}
.lp .lp-wide h2{max-width:30ch}

/* ---------- hero entrance (CSS only, never hides content for good) ---------- */
@keyframes lp-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@keyframes lp-fade{from{opacity:0}to{opacity:1}}
.lp-in{animation:lp-in 280ms var(--lp-ease) both;animation-delay:var(--d,0ms)}
@media (prefers-reduced-motion:reduce){
  .lp-in{animation-name:lp-fade;animation-duration:200ms!important;animation-delay:0ms}
}

/* ---------- hero ---------- */
.lp-hero{position:relative;padding:clamp(2.8rem,7vw,5.2rem) 0 clamp(2.6rem,6vw,4.4rem);overflow:hidden}
.lp-hero::after{content:"";position:absolute;top:-30%;right:-10%;width:min(90vw,860px);height:min(90vw,860px);pointer-events:none;
  background:radial-gradient(circle,color-mix(in srgb,var(--mint) 9%,transparent) 0%,color-mix(in srgb,var(--mint) 0%,transparent) 62%)}
.lp-hero .wrap{position:relative;z-index:2}
.lp-hero-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:clamp(2rem,5vw,4rem);align-items:center}
@media(max-width:960px){.lp-hero-grid{grid-template-columns:1fr}}
.lp-hero .kicker{margin-bottom:1.3rem}
.lp-hero h1{font-size:clamp(2.1rem,4.5vw,3.5rem);line-height:1.08;letter-spacing:-.022em;max-width:21ch}
.lp-hero .lede{margin-top:1.3rem;max-width:46ch}
.lp-cta{margin-top:2rem;display:flex;flex-wrap:wrap;gap:.8rem;align-items:center}
.lp-note{margin-top:1rem;max-width:50ch}

/* ---------- illustration card in the hero ---------- */
.lp-card{margin:0;border:1px solid var(--line-2);border-radius:12px;background:var(--bg);overflow:hidden;
  box-shadow:0 24px 60px -30px color-mix(in srgb,var(--shadow) 90%,transparent)}
.lp-card-h{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.8rem 1.1rem;
  border-bottom:1px solid var(--line);background:var(--bg-2);font-weight:600;font-size:1rem}
.lp-card figcaption{padding:.8rem 1.1rem;border-top:1px solid var(--line);background:var(--bg-2);
  font-size:.9rem;color:var(--fg-3);line-height:1.5}
.lp-grp{padding:1rem 1.1rem;border-bottom:1px solid var(--line)}
.lp-grp:last-of-type{border-bottom:0}
.lp-grp h3{font-size:.8rem;letter-spacing:.05em;text-transform:uppercase;color:var(--fg-3);margin-bottom:.55rem;font-weight:600}
.lp-item{font-size:1.02rem;line-height:1.45;color:var(--fg)}
.lp-meta{display:block;font-size:.88rem;color:var(--fg-3);margin-top:.15rem}
.lp-chips{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.6rem}
.lp-chip{display:inline-block;font-size:.82rem;font-weight:600;line-height:1.2;border:1px solid var(--line-2);border-radius:99px;
  padding:.24rem .65rem;color:var(--fg-2);background:var(--bg)}
.lp-chip.mint{color:var(--mint);border-color:color-mix(in srgb,var(--mint) 40%,transparent);background:var(--mint-soft)}
.lp-lines{list-style:none;display:grid;gap:.5rem}
.lp-lines li{display:grid;grid-template-columns:.65rem 1fr;gap:.7rem;font-size:1rem;line-height:1.45;color:var(--fg-2)}
.lp-lines li::before{content:"";width:.5rem;height:.5rem;border-radius:50%;margin-top:.5em;background:var(--mint)}
.lp-lines.out li::before{background:var(--gold)}
.lp-lines.held li::before{background:var(--fg-3)}
.lp-layer{position:relative;padding:1rem 1.1rem 1rem 3.2rem;border-bottom:1px solid var(--line)}
.lp-layer:last-of-type{border-bottom:0}
.lp-layer::before{content:attr(data-n);position:absolute;left:1.1rem;top:1rem;width:1.55rem;height:1.55rem;border-radius:50%;
  border:1px solid color-mix(in srgb,var(--mint) 40%,transparent);color:var(--mint);font-family:var(--mono);font-size:.8rem;
  display:grid;place-items:center;background:var(--mint-soft)}
.lp-layer b{display:block;font-size:1.04rem;font-weight:600}
.lp-layer span{display:block;font-size:.95rem;color:var(--fg-2);line-height:1.5;margin-top:.15rem}

/* ---------- pains ---------- */
.lp-pains{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);
  border-radius:var(--r);overflow:hidden}
@media(max-width:820px){.lp-pains{grid-template-columns:1fr}}
.lp-pain{background:var(--bg);padding:clamp(1.4rem,2.6vw,1.9rem)}
.lp-pain h3{font-family:var(--display);font-size:clamp(1.3rem,2.2vw,1.55rem);font-weight:600;line-height:1.25;letter-spacing:0;word-spacing:.04em;margin-bottom:.8rem}
.lp-pain p{color:var(--fg-2);font-size:1.05rem;line-height:1.6}

/* ---------- steps ---------- */
.lp-steps{list-style:none;counter-reset:lps;display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);
  border:1px solid var(--line);border-radius:var(--r);overflow:hidden}
@media(max-width:820px){.lp-steps{grid-template-columns:1fr}}
.lp-steps li{counter-increment:lps;background:var(--bg-2);padding:1.6rem 1.5rem 1.7rem}
.lp-steps li::before{content:counter(lps);display:grid;place-items:center;width:1.95rem;height:1.95rem;border-radius:50%;margin-bottom:1rem;
  border:1px solid color-mix(in srgb,var(--mint) 40%,transparent);color:var(--mint);font-family:var(--mono);font-size:.9rem;background:var(--bg)}
.lp-steps h3{margin-bottom:.55rem}
.lp-steps p{color:var(--fg-2);font-size:1.05rem;line-height:1.6}

/* ---------- capability rows ---------- */
.lp-rows{border-top:1px solid var(--line)}
.lp-row{display:grid;grid-template-columns:minmax(9rem,13.5rem) 1fr;gap:.4rem 2rem;padding:1.5rem 0;border-bottom:1px solid var(--line);align-items:start}
@media(max-width:720px){.lp-row{grid-template-columns:1fr}}
.lp-tag{font-family:var(--mono);font-size:.9rem;line-height:1.5;color:var(--mint);padding-top:.3rem;overflow-wrap:anywhere}
.lp-row h3{font-size:1.2rem;margin-bottom:.35rem}
.lp-row p{color:var(--fg-2);font-size:1.06rem;line-height:1.62;max-width:64ch}
.lp-row code,.lp-prose code,.lp-faq code{font-family:var(--mono);font-size:.88em;background:var(--bg-3);border:1px solid var(--line);
  border-radius:4px;padding:.08em .35em;color:var(--fg)}

/* ---------- privacy fine print ---------- */
.lp-fine{margin-top:2rem;border:1px solid color-mix(in srgb,var(--mint) 30%,transparent);background:color-mix(in srgb,var(--mint) 5%,transparent);
  border-radius:var(--r);padding:1.2rem 1.4rem}
.lp-fine h3{font-size:1.05rem;margin-bottom:.4rem;color:var(--mint)}
.lp-fine p{font-size:1.03rem;color:var(--fg-2);line-height:1.62;max-width:78ch}

/* ---------- proof ---------- */
.lp-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--r);overflow:hidden}
@media(max-width:640px){.lp-stats{grid-template-columns:1fr}}
.lp-stat{background:var(--bg);padding:clamp(1.3rem,2.4vw,1.8rem)}
.lp-stat b{display:block;font-family:var(--display);font-size:clamp(2.6rem,5vw,3.8rem);line-height:1;color:var(--mint);letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.lp-stat span{display:block;margin-top:.55rem;color:var(--fg-2);font-size:1.05rem}
.lp-prose{margin-top:1.6rem;max-width:66ch}
.lp-prose p{color:var(--fg-2);font-size:1.1rem;line-height:1.65;margin-bottom:1rem}
.lp-prose p b{color:var(--fg);font-weight:600}
.lp-prose a{color:var(--mint)}
.lp-founder{display:flex;gap:1.3rem;align-items:flex-start;max-width:68ch;border:1px solid var(--line-2);border-radius:var(--r);background:var(--bg-2);padding:clamp(1.3rem,2.6vw,1.9rem)}
.lp-av{flex:0 0 auto;width:3rem;height:3rem;border-radius:var(--r);border:1px solid var(--line-2);background:var(--bg);display:grid;place-items:center;
  font-family:var(--mono);font-weight:600;color:var(--mint)}
.lp-founder p{color:var(--fg-2);font-size:1.1rem;line-height:1.65;margin-bottom:.9rem}
.lp-founder p:last-child{margin-bottom:0}
.lp-founder b{color:var(--fg);font-weight:600}
.lp-founder a{color:var(--mint)}

.lp-cmds{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);
  border:1px solid var(--line);border-radius:var(--r);overflow:hidden}
@media(max-width:980px){.lp-cmds{grid-template-columns:repeat(2,1fr)}.lp-cmds li.fill{display:none}}
@media(max-width:560px){.lp-cmds{grid-template-columns:1fr}}
.lp-cmds li{background:var(--bg);padding:.9rem 1.1rem}
.lp-cmds code{display:block;font-family:var(--mono);font-size:.95rem;font-weight:600;color:var(--mint);margin-bottom:.2rem}
.lp-cmds span{display:block;font-size:.95rem;line-height:1.45;color:var(--fg-2)}

/* data map table (privacy page) */
.lp-map{width:100%;border-collapse:collapse;border:1px solid var(--line);border-radius:var(--r);overflow:hidden;font-size:1rem}
.lp-map th,.lp-map td{padding:.85rem 1rem;text-align:left;vertical-align:top;border-bottom:1px solid var(--line);line-height:1.5}
.lp-map thead th{background:var(--bg-2);font-size:.88rem;font-weight:600;color:var(--fg-3)}
.lp-map tbody th{font-weight:600;color:var(--fg);width:30%}
.lp-map td{color:var(--fg-2)}
.lp-map tr:last-child th,.lp-map tr:last-child td{border-bottom:0}
@media(max-width:720px){
  .lp-map thead{display:none}
  .lp-map,.lp-map tbody,.lp-map tr,.lp-map th,.lp-map td{display:block;width:100%}
  .lp-map tbody th{width:100%;padding-bottom:.2rem;border-bottom:0}
  .lp-map td{padding-top:.2rem;border-bottom:0}
  .lp-map td::before{content:attr(data-l);display:block;font-size:.8rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--fg-3);margin-top:.5rem}
  .lp-map tr{border-bottom:1px solid var(--line);padding:.7rem 0}
  .lp-map tr:last-child{border-bottom:0}
}

/* ---------- pricing snippet ---------- */
.lp-price{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(1.6rem,4vw,3rem);align-items:start;
  border:1px solid color-mix(in srgb,var(--mint) 28%,transparent);background:color-mix(in srgb,var(--mint) 4%,transparent);
  border-radius:var(--r);padding:clamp(1.6rem,3.2vw,2.6rem)}
@media(max-width:900px){.lp-price{grid-template-columns:1fr}}
.lp-price h2{margin:1rem 0 1rem}
.lp-price p{color:var(--fg-2)}
.lp-perks{list-style:none;margin-top:1.3rem;display:grid;gap:.65rem}
.lp-perks li{position:relative;padding-left:1.5rem;font-size:1.08rem;color:var(--fg-2);line-height:1.55}
.lp-perks li::before{content:"+";position:absolute;left:0;top:0;color:var(--mint);font-family:var(--mono);font-weight:600}
.lp-perks b{color:var(--mint);font-weight:600}
.lp-plan{border:1px solid var(--line-2);border-radius:var(--r);background:var(--bg);padding:1.2rem 1.3rem;margin-bottom:.8rem}
.lp-plan.best{border-color:var(--mint)}
.lp-plan .nm{font-size:1.02rem;color:var(--fg-2);margin-bottom:.35rem}
.lp-plan .pr{font-family:var(--display);font-size:2.3rem;line-height:1;letter-spacing:-.03em}
.lp-plan .pr span{font-family:var(--mono);font-size:.95rem;color:var(--fg-3);letter-spacing:0}
.lp-plan .vs{font-size:.92rem;color:var(--fg-3);margin-top:.4rem}
.lp-price .btn{width:100%;margin-top:.4rem}

/* ---------- faq ---------- */
.lp-faq{border-top:1px solid var(--line);max-width:56rem}
.lp-faq .q{border-bottom:1px solid var(--line);padding:1.3rem 0}
.lp-faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:1.5rem;align-items:baseline;font-size:1.14rem;font-weight:500;
  transition:color 150ms ease}
.lp-faq summary::-webkit-details-marker{display:none}
.lp-faq summary::after{content:"+";font-family:var(--mono);color:var(--mint);font-size:1.26rem;flex:0 0 auto}
.lp-faq .q[open] summary::after{content:"\2212"}
.lp-faq summary:focus-visible,.lp .btn:focus-visible,.lp a:focus-visible{outline:2px solid var(--mint);outline-offset:3px;border-radius:4px}
@media (hover:hover) and (pointer:fine){.lp-faq summary:hover{color:var(--mint)}}
.lp-faq .q p{margin-top:.85rem;color:var(--fg-2);font-size:1.1rem;line-height:1.65;max-width:66ch}
.lp-faq .q p+p{margin-top:.7rem}
.lp-faq .q a{color:var(--mint)}

/* ---------- final cta ---------- */
.lp-final{background:var(--bg-2);border-top:1px solid var(--line)}
.lp-final .wrap{padding-top:clamp(3.4rem,7vw,5.5rem);padding-bottom:clamp(3.4rem,7vw,5.5rem)}
.lp-final h2{max-width:22ch}
.lp-final p{margin-top:1rem;color:var(--fg-2);max-width:52ch}
.lp-final .lp-cta{margin-top:1.6rem}

/* ---------- sticky mobile cta ---------- */
.lp-mcta{display:none}
@media(max-width:720px){
  .lp-mcta{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:50;gap:.7rem;align-items:center;
    padding:.7rem .9rem calc(.7rem + env(safe-area-inset-bottom));background:color-mix(in srgb,var(--bg) 94%,transparent);
    border-top:1px solid var(--line-2);backdrop-filter:blur(8px)}
  .lp-mcta span{flex:1;font-size:.95rem;color:var(--fg-2);line-height:1.35}
  .lp-mcta .btn{padding:.6rem 1rem;font-size:1rem;white-space:nowrap}
  .lp{padding-bottom:4.8rem}
}

/* founding list form on /for pages (copy of the homepage waitlist styles) */
.lp-final .wl{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(2rem,5vw,4rem);align-items:start}
@media(max-width:900px){.lp-final .wl{grid-template-columns:1fr}}
.lp-final .wl-copy p{color:var(--fg-2);max-width:46ch}
.wl-perks{list-style:none;margin-top:1.5rem;display:grid;gap:.65rem}
.wl-perks li{font-size:1.089rem;color:var(--fg-2);position:relative;padding-left:1.3rem}
.wl-perks li::before{content:"+";position:absolute;left:0;color:var(--mint);font-family:var(--mono);font-weight:600}
.wl-perks b{color:var(--mint);font-weight:600}
.wl-perks a{color:var(--fg);text-decoration:underline;text-underline-offset:3px}
.wl-form{border:1px solid var(--line-2);background:var(--bg);border-radius:var(--r);padding:clamp(1.5rem,3vw,2.1rem)}
.wl-form .fld{margin-bottom:1rem}
.wl-form label{display:block;font-family:var(--label);font-size:.883rem;letter-spacing:var(--label-track);text-transform:var(--label-case);color:var(--fg-3);margin-bottom:.45rem;font-weight:600}
.wl-form input,.wl-form select{width:100%;background:var(--bg-3);border:1px solid var(--line-2);border-radius:var(--r);color:var(--fg);
  font-family:var(--sans);font-size:1.096rem;padding:.78rem .9rem;outline:none;transition:border-color .2s cubic-bezier(.23,1,.32,1)}
.wl-form input:focus,.wl-form select:focus{border-color:var(--mint)}
.wl-form input::placeholder{color:var(--fg-3)}
.wl-err{color:var(--burn);font-family:var(--mono);font-size:.969rem;min-height:1.2em;margin-bottom:.4rem}
.wl-done .tick{font-size:1.5rem;font-weight:600;color:var(--mint);margin-bottom:.7rem}
.wl-done p{color:var(--fg-2);font-size:1.096rem;margin-bottom:1.2rem}
