/* Public landing page. Uses shared tokens from style.css only. */
.landing{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;background:var(--bg);color:var(--ink)}
.landing-nav{
  width:100%;max-width:1280px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:16px;
  padding:max(20px,env(safe-area-inset-top)) var(--gutter-r) 20px var(--gutter);
}
.landing-brand{display:inline-flex;align-items:center;min-height:44px;color:var(--ink);text-decoration:none !important}
.landing-brand .wordmark{font-size:var(--fs-20)}
.landing-main{
  width:100%;max-width:1280px;margin:0 auto;flex:1;display:flex;flex-direction:column;justify-content:center;
  padding:16px var(--gutter-r) 48px var(--gutter);
}
.landing-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);align-items:center;gap:56px;padding-bottom:56px}
.landing-copy{max-width:520px}
.landing-eyebrow{
  display:inline-flex;align-items:center;gap:8px;margin:0 0 24px;
  font-size:var(--fs-14);font-weight:500;color:var(--brand);
}
.landing-eyebrow::before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}
.landing-copy h1{font-size:var(--fs-display);line-height:1.15;font-weight:600;letter-spacing:-.02em;color:var(--ink)}
.landing-copy h1>span{color:var(--brand)}
.landing-copy .tagline{font-size:var(--fs-17);line-height:1.7;margin:28px 0 8px;color:var(--ink)}
.landing-description{font-size:var(--fs-15);line-height:1.7;color:var(--ink-2);margin:0 0 32px}
.landing-cta{height:48px;min-height:48px;padding:0 28px;border-radius:var(--r-pill);font-size:var(--fs-15)}
.landing-note{margin:14px 0 0;font-size:var(--fs-12);color:var(--ink-3)}
.landing-art{
  position:relative;min-width:0;aspect-ratio:1/1;border-radius:var(--r-4);overflow:hidden;
  background:var(--art-placeholder);box-shadow:var(--sh-2);
}
.landing-art img{width:100%;height:100%;object-fit:cover;object-position:75% center}
.landing-features{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.landing-features article{padding:24px;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-3);box-shadow:var(--sh-1)}
.feature-icon{
  display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;
  border-radius:var(--r-2);background:var(--brand-soft);color:var(--brand);
}
.landing-features h2{font-size:var(--fs-17);font-weight:600;margin-top:16px;color:var(--ink)}
.landing-features p{font-size:var(--fs-14);line-height:1.7;color:var(--ink-2);margin:6px 0 0}
.landing-footer{
  border-top:1px solid var(--border);
  padding:20px var(--gutter-r) max(24px,env(safe-area-inset-bottom)) var(--gutter);
}
@media (max-width:959px){
  .landing-hero{gap:32px;padding-bottom:40px}
  .landing-features{gap:16px}
  .landing-features article{padding:20px}
}
@media (max-width:720px){
  .landing-nav{padding-top:max(12px,env(safe-area-inset-top));padding-bottom:12px}
  .landing-brand .wordmark{font-size:var(--fs-17)}
  .landing-nav .btn.sm{height:44px;min-height:44px;padding:0 18px}
  .landing-main{padding-top:8px;padding-bottom:32px}
  .landing-hero{grid-template-columns:1fr;gap:28px;padding-bottom:32px}
  .landing-eyebrow{margin-bottom:16px}
  .landing-copy h1{font-size:44px}
  .landing-copy .tagline{margin-top:20px;font-size:var(--fs-15)}
  .landing-description{margin-bottom:24px}
  .landing-cta{width:100%}
  .landing-note{text-align:center}
  .landing-art{aspect-ratio:4/3;border-radius:var(--r-3)}
  .landing-features{grid-template-columns:1fr;gap:12px}
  .landing-features article{display:grid;grid-template-columns:36px minmax(0,1fr);column-gap:14px;padding:16px}
  .feature-icon{grid-row:1/3}
  .landing-features h2{margin-top:0;font-size:var(--fs-15)}
  .landing-features p{margin-top:2px}
  .landing-footer{padding-top:8px}
}
