/* ============================================================
   LifeFolder — Öffentliche Landing (M9, Handoff „LifeFolder Landing")
   Grün-Verlauf & Bernstein-Band = Marketing-Markenflächen (Handoff-Entscheid).
   ============================================================ */
.landing-body { margin: 0; background: var(--color-bg); color: var(--color-ink); font-family: var(--font-ui); -webkit-font-smoothing: antialiased; animation: pageEnter .55s cubic-bezier(.22,.61,.36,1); }
@keyframes pageEnter { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }
@keyframes barberpole { from { background-position: 0 0; } to { background-position: 36px 0; } }

/* Under-construction-Band */
.landing-ribbon { display: flex; align-items: center; justify-content: center; gap: 11px; background: var(--status-review-bg); color: var(--status-review-fg); padding: 10px 18px; font-size: 13.5px; font-weight: 600; text-align: center; border-bottom: 1px solid var(--landing-ribbon-border); }
.landing-ribbon__pole { width: 22px; height: 8px; border-radius: 3px; flex: none; background-image: repeating-linear-gradient(115deg, var(--status-review-fg) 0 9px, var(--landing-stripe) 9px 18px); background-size: 36px 8px; animation: barberpole 1.1s linear infinite; }
.landing-ribbon__link { color: inherit; font-weight: 700; text-decoration: underline; text-underline-offset: 2px; }

/* Zwei-Panel-Shell */
.landing { display: flex; min-height: calc(100vh - 41px); }
.landing__brand { position: relative; width: 42%; background: linear-gradient(165deg, var(--brand-green-night) 0%, var(--brand-green) 55%, var(--brand-green-deep) 100%); color: #fff; padding: 48px 46px; display: flex; flex-direction: column; overflow: hidden; }
.landing__circle { position: absolute; border-radius: 50%; background: rgba(255, 255, 255, .06); }
.landing__circle--tr { right: -90px; top: -60px; width: 320px; height: 320px; }
.landing__circle--bl { left: -70px; bottom: -90px; width: 260px; height: 260px; background: rgba(255, 255, 255, .05); }

.landing__logo { display: flex; align-items: center; gap: 9px; position: relative; }
.landing__word { font-size: 22px; font-weight: 700; font-family: var(--font-head); letter-spacing: -.01em; color: #fff; }
.landing__word-b { opacity: .78; }
.landing__beta { display: inline-flex; align-items: center; height: 20px; padding: 0 8px; border-radius: 5px; background: rgba(255, 255, 255, .18); color: rgba(255, 255, 255, .9); font-size: 10.5px; font-weight: 700; letter-spacing: .02em; margin-left: 6px; }

.landing__bottom { position: relative; margin-top: auto; padding-bottom: 46px; }
.landing__headline { margin: 0; font-size: 44px; line-height: 1.08; font-weight: 700; letter-spacing: -.02em; max-width: 380px; font-family: var(--font-head); }
.landing__legal { margin-top: 30px; display: flex; align-items: center; gap: 14px; flex-wrap: wrap; }
.landing__legal a { font-size: 12.5px; font-weight: 600; color: rgba(255, 255, 255, .72); text-decoration: none; }
.landing__legal a:hover { color: #fff; }
.landing__legal span { color: rgba(255, 255, 255, .34); }

/* Rechte Bühne */
.landing__stage { flex: 1; display: flex; align-items: center; justify-content: center; padding: 48px 40px; }
.landing__actions { width: 100%; max-width: 380px; display: flex; flex-direction: column; align-items: center; text-align: center; gap: 16px; }
.landing__cta { display: inline-flex; align-items: center; justify-content: center; gap: 9px; width: 100%; height: 54px; border-radius: 13px; background: var(--brand-green); color: #fff; font-size: 15.5px; font-weight: 700; text-decoration: none; }
.landing__cta:hover { background: var(--brand-green-deep); }
.landing__login { font-size: 14px; font-weight: 600; color: var(--color-muted); text-decoration: none; }
.landing__login:hover { color: var(--brand-green); }

@media (max-width: 800px) {
  .landing { flex-direction: column; }
  .landing__brand { width: 100%; min-height: 0; padding: 32px 28px; }
  .landing__bottom { margin-top: 26px; }
  .landing__headline { font-size: 32px; }
  .landing__stage { padding: 36px 24px; }
}
