/* Public landing page */
body:has(.lp){display:block;min-height:100vh;position:relative;overflow-x:hidden;color:#fff;
  background:radial-gradient(90% 55% at 50% 0%,var(--side-glow),transparent 70%),linear-gradient(180deg,var(--side-1),var(--side-3))}
.lp{position:relative;z-index:1;max-width:1120px;margin:0 auto;padding:18px 22px 40px}
.lp a{color:inherit}
.lp-top{display:flex;align-items:center;justify-content:space-between;padding:14px 0 6px}
.lp-brand{display:flex;align-items:center;gap:10px;text-decoration:none;font-family:'Fraunces',serif;font-weight:800;font-size:22px}
.lp-brand .tree{width:30px;height:42px}
.lp-logo{display:block;text-decoration:none}
.lp-logo img{display:block;height:116px;width:auto;max-width:62vw}
.lp-logo.pill{background:#fff;border-radius:16px;padding:8px 14px;box-shadow:0 4px 14px rgba(0,0,0,.25)}
.lp-logo.pill img{height:96px}
.lp-signin{display:none;text-decoration:none;font-weight:700;padding:10px 18px;border-radius:99px;border:1.5px solid rgba(255,255,255,.55);min-height:44px;align-items:center}
.lp-main{display:grid;grid-template-columns:1.15fr .85fr;gap:44px;align-items:center;padding:42px 0 30px}
.lp-kicker{font-weight:700;letter-spacing:.04em;opacity:.85;margin:0 0 10px}
.lp-hero h1{font-family:'Fraunces',serif;font-weight:800;font-size:clamp(34px,5.2vw,56px);line-height:1.08;margin:0 0 16px}
.lp-hero h1 em{font-style:normal;color:var(--gold,#ffd98a)}
.lp-lead{font-size:18px;line-height:1.55;opacity:.92;max-width:34em;margin:0 0 22px}
.lp-points{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:10px}
.lp-points li{display:inline-flex;align-items:center;gap:8px;padding:9px 15px;border-radius:99px;background:rgba(255,255,255,.14);font-weight:600;font-size:15px}
.lp-points .ic{width:18px;height:18px}
.lp-card{background:var(--cream);color:var(--ink);border-radius:26px;padding:30px;display:flex;flex-direction:column;gap:12px;box-shadow:0 24px 60px rgba(0,0,0,.4)}
html[data-dark="1"] .lp-card{background:var(--paper)}
.lp-card h2{font-family:'Fraunces',serif;font-weight:800;font-size:28px;margin:0}
.lp-sub{margin:0 0 4px;color:var(--muted)}
.lp-card label{display:flex;flex-direction:column;gap:6px;font-weight:700;font-size:14px;text-align:left}
.lp-card input{font-size:16px;min-height:48px}
.lp-card .btn{justify-content:center;min-height:50px;margin-top:4px}
.lp-fine{font-size:13px;color:var(--muted);margin:2px 0 0;line-height:1.5}
.lp-fine a{color:var(--red)}
.lp-feats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;padding:14px 0 10px}
.lp-feat{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.18);border-radius:20px;padding:20px}
.lp-feat h3{font-size:18px;margin:12px 0 6px}
.lp-feat p{margin:0;font-size:14.5px;line-height:1.5;opacity:.9}
.lp-ic{width:42px;height:42px;border-radius:14px;background:rgba(255,255,255,.18);display:grid;place-items:center}
.lp-ic .ic{width:22px;height:22px}
.lp-foot{text-align:center;opacity:.75;font-size:14px;padding:26px 0 6px}
@media (max-width:860px){
  .lp-main{grid-template-columns:1fr;gap:26px;padding-top:18px}
  .lp-signin{display:inline-flex}
  .lp-feats{grid-template-columns:1fr 1fr}
  .lp-card{padding:24px}
}
@media (max-width:520px){ .lp-logo img{height:84px} .lp-logo.pill img{height:68px} .lp-feats{grid-template-columns:1fr} .lp-lead{font-size:16.5px} }

.lp-foot a{text-decoration:underline}
.lp-back{display:inline-flex}
.lp-doc{background:var(--cream);color:var(--ink);border-radius:26px;padding:34px 38px;margin:26px auto 10px;max-width:820px;box-shadow:0 24px 60px rgba(0,0,0,.35);line-height:1.65}
html[data-dark="1"] .lp-doc{background:var(--paper)}
.lp-doc h1{font-family:'Fraunces',serif;font-weight:800;font-size:clamp(30px,4.5vw,42px);margin:0 0 4px}
.lp-doc h2{font-family:'Fraunces',serif;font-weight:800;font-size:21px;margin:26px 0 8px}
.lp-doc p,.lp-doc li{font-size:16px}
.lp-doc ul{padding-left:22px;margin:8px 0}
.lp-doc li{margin:6px 0}
.lp-updated{color:var(--muted);margin:0 0 18px}
@media (max-width:520px){ .lp-doc{padding:24px 20px} }

.lp-invite{display:flex;gap:10px;align-items:flex-start;margin:6px 0 0;padding:12px 14px;border-radius:14px;background:var(--soft-1);color:var(--ink);font-size:14px;line-height:1.45;text-align:left}
.lp-invite .ic{width:18px;height:18px;flex:none;margin-top:2px}
