/* Public pages: landing and sign-up. Uses the same tokens as the app. */
.lp{min-height:100vh;background:var(--bg,#fff);color:var(--ink-900)}
.lp a:not(.btn){color:inherit}
.lp-nav{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:var(--s-4);padding:12px clamp(16px,5vw,64px);background:rgba(255,255,255,.92);backdrop-filter:blur(8px);border-bottom:1px solid var(--ink-100)}
.lp-nav .brandrow{display:flex;align-items:center;gap:10px;font-weight:700;font-size:1.05rem;margin-right:auto;text-decoration:none}
.lp-nav .links{display:flex;gap:var(--s-5)}
.lp-nav .links a{text-decoration:none;font-weight:600;color:var(--ink-600);font-size:.92rem}
.lp-nav .links a:hover{color:var(--blue-700)}
.lp-hero{background:linear-gradient(160deg,var(--navy-900),var(--blue-700));color:#fff;padding:clamp(48px,9vw,112px) clamp(16px,5vw,64px)}
.lp-hero .in{max-width:1080px;margin:0 auto;display:grid;gap:var(--s-6)}
.lp-hero h1{font-size:clamp(2rem,1.2rem + 3.4vw,3.6rem);line-height:1.08;max-width:18ch;color:#fff;margin:0;letter-spacing:-.02em}
.lp-hero p{font-size:clamp(1rem,.95rem + .35vw,1.2rem);color:#D3E0FA;max-width:56ch;margin:0}
.lp-cta{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.lp-cta .btn.light{background:#fff;color:var(--navy-800)}
.lp-cta .btn.outline{background:transparent;color:#fff;border:1.5px solid rgba(255,255,255,.55)}
.lp-cta small{color:#B9CBEE;flex-basis:100%}
.lp-sec{padding:clamp(40px,7vw,88px) clamp(16px,5vw,64px)}
.lp-sec.alt{background:var(--ink-50)}
.lp-sec .in{max-width:1080px;margin:0 auto}
.lp-sec h2{font-size:var(--t-h1);margin:0 0 8px;letter-spacing:-.01em}
.lp-sec .lead{color:var(--ink-600);max-width:60ch;margin:0 0 var(--s-6)}
.lp-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:var(--s-4)}
.lp-card{background:#fff;border:1px solid var(--ink-200);border-radius:var(--r-lg);padding:var(--s-5);display:flex;flex-direction:column;gap:8px;transition:transform var(--dur) var(--ease),box-shadow var(--dur) var(--ease)}
.lp-card:hover{transform:translateY(-2px);box-shadow:0 10px 28px rgba(13,27,62,.09)}
.lp-card h3{margin:0;font-size:1.05rem}.lp-card p{margin:0;color:var(--ink-600);font-size:.92rem}
.lp-card .tag{width:36px;height:6px;border-radius:3px}
.lp-steps{counter-reset:s;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:var(--s-5);list-style:none;margin:0;padding:0}
.lp-steps li{counter-increment:s;display:grid;gap:6px}
.lp-steps li:before{content:counter(s);width:34px;height:34px;border-radius:50%;background:var(--blue-50);color:var(--blue-700);display:grid;place-items:center;font-weight:700}
.lp-steps b{font-size:1.02rem}.lp-steps span{color:var(--ink-600);font-size:.92rem}
.lp-plan{position:relative}
.lp-plan .price{font-size:1.8rem;font-weight:800;letter-spacing:-.02em}
.lp-plan .price small{font-size:.85rem;font-weight:500;color:var(--ink-600)}
.lp-plan.feat{border-color:var(--blue-600);box-shadow:0 0 0 2px var(--blue-100)}
.lp-foot{padding:var(--s-6) clamp(16px,5vw,64px);border-top:1px solid var(--ink-100);display:flex;flex-wrap:wrap;gap:var(--s-4);justify-content:space-between;color:var(--ink-600);font-size:.88rem}
.lp-reveal{opacity:0;transform:translateY(14px);transition:opacity .5s var(--ease),transform .5s var(--ease)}
.lp-reveal.on{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.lp-reveal{opacity:1;transform:none;transition:none}.lp-card{transition:none}}
@media (max-width:640px){.lp-nav .links{display:none}}
/* sign-up */
.su{min-height:100vh;display:grid;place-items:start center;background:var(--ink-50);padding:clamp(16px,4vw,48px) 16px}
.su .wrap{width:min(920px,100%);display:grid;gap:var(--s-5)}
.su .top{display:flex;align-items:center;gap:12px;justify-content:space-between;flex-wrap:wrap}
.su .top a{text-decoration:none;font-weight:600}
.su .card{background:#fff;border:1px solid var(--ink-200);border-radius:var(--r-lg);padding:clamp(16px,3vw,32px);display:grid;gap:var(--s-4)}
.su .steps{display:flex;gap:8px;list-style:none;margin:0;padding:0;flex-wrap:wrap}
.su2 .steps{display:flex;gap:8px;list-style:none;margin:0;padding:0;flex-wrap:wrap}
.su .steps li{padding:6px 12px;border-radius:999px;background:var(--ink-100);font-size:.85rem;font-weight:600;color:var(--ink-600)}
.su2 .steps li{padding:6px 12px;border-radius:999px;background:var(--ink-100);font-size:.85rem;font-weight:600;color:var(--ink-600)}
.su .steps li[aria-current=step]{background:var(--blue-700);color:#fff}
.su2 .steps li[aria-current=step]{background:var(--blue-700);color:#fff}
.su .row2{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:var(--s-4)}
.su2 .row2{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:var(--s-4)}
.su .plans{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--s-3)}
.su2 .plans{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--s-3)}
.su .plan{border:1.5px solid var(--ink-200);border-radius:var(--r-md);padding:var(--s-4);display:grid;gap:4px;cursor:pointer;background:#fff;text-align:left;font:inherit;color:inherit}
.su2 .plan{border:1.5px solid var(--ink-200);border-radius:var(--r-md);padding:var(--s-4);display:grid;gap:4px;cursor:pointer;background:#fff;text-align:left;font:inherit;color:inherit}
.su .plan[aria-pressed=true]{border-color:var(--blue-600);background:var(--blue-50);box-shadow:0 0 0 2px var(--blue-100)}
.su2 .plan[aria-pressed=true]{border-color:var(--blue-600);background:var(--blue-50);box-shadow:0 0 0 2px var(--blue-100)}
.su .plan b{font-size:1.02rem}.su .plan .p{font-size:1.3rem;font-weight:800}.su .plan small{color:var(--ink-600)}
.su2 .plan b{font-size:1.02rem}.su2 .plan .p{font-size:1.3rem;font-weight:800}.su2 .plan small{color:var(--ink-600)}
.su .suites{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:var(--s-2)}
.su2 .suites{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:var(--s-2)}
.su .suites label{display:flex;gap:10px;align-items:flex-start;border:1px solid var(--ink-200);border-radius:var(--r-md);padding:10px 12px;cursor:pointer}
.su2 .suites label{display:flex;gap:10px;align-items:flex-start;border:1px solid var(--ink-200);border-radius:var(--r-md);padding:10px 12px;cursor:pointer}
.su .quote{background:var(--ink-50);border-radius:var(--r-md);padding:var(--s-4);display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;font-weight:600}
.su2 .quote{background:var(--ink-50);border-radius:var(--r-md);padding:var(--s-4);display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;font-weight:600}
.su .actions{display:flex;gap:12px;justify-content:space-between;flex-wrap:wrap}
.su2 .actions{display:flex;gap:12px;justify-content:space-between;flex-wrap:wrap}
.su .done{text-align:center;display:grid;gap:12px;justify-items:center;padding:var(--s-5) 0}
.su2 .done{text-align:center;display:grid;gap:12px;justify-items:center;padding:var(--s-5) 0}
