:root {
    --ink: #0d062d;
    --ink-soft: #3c3560;
    --muted: #6b6688;
    --accent: #6049e7;
    --accent-hover: #4e38d4;
    --accent-soft: #ece8ff;
    --bg: #ffffff;
    --bg-soft: #f4f2ff;
    --card: #ffffff;
    --border: #e7e4f4;
    --success: #16a34a;
    --warning: #d97706;
    --danger: #dc2626;
    --radius: 22px;
    --radius-sm: 14px;
    --pill: 170px;
    --shadow: 0 18px 50px rgba(13, 6, 45, .08);
    --font: "Inter Tight", Inter, system-ui, sans-serif;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
    margin: 0;
    font-family: var(--font);
    color: var(--ink);
    background: var(--bg);
    line-height: 1.6;
}
a { color: inherit; }
img { max-width: 100%; }
.lp-wrap { width: min(1180px, calc(100% - 40px)); margin: 0 auto; }
.lp-nav {
    position: sticky; top: 0; z-index: 40;
    background: rgba(255,255,255,.9);
    backdrop-filter: blur(12px);
    border-bottom: 1px solid transparent;
}
.lp-nav.is-scrolled { border-bottom-color: var(--border); }
.lp-nav__inner { display: flex; align-items: center; justify-content: space-between; min-height: 84px; gap: 1rem; }
.lp-brand { display: inline-flex; align-items: center; gap: .7rem; text-decoration: none; font-weight: 700; font-size: 1.25rem; }
.lp-brand__mark {
    width: 38px; height: 38px; border-radius: 12px;
    display: grid; place-items: center; color: #fff;
    background: linear-gradient(135deg, var(--accent), #8b7cff);
}
.lp-nav__links { display: flex; gap: 1.6rem; }
.lp-nav__links a { text-decoration: none; font-weight: 500; color: var(--ink-soft); }
.lp-nav__links a.is-active, .lp-nav__links a:hover { color: var(--ink); }
.lp-nav__actions { display: flex; align-items: center; gap: 1rem; }
.lp-nav__login { text-decoration: none; font-weight: 600; color: var(--ink); }
.lp-nav__burger { display: none; background: none; border: 0; width: 42px; height: 42px; }
.lp-nav__burger span, .lp-nav__burger span:before, .lp-nav__burger span:after {
    display: block; width: 18px; height: 2px; background: var(--ink); position: relative;
}
.lp-nav__burger span:before, .lp-nav__burger span:after { content: ""; position: absolute; left: 0; }
.lp-nav__burger span:before { top: -6px; }
.lp-nav__burger span:after { top: 6px; }
.lp-nav__mobile { display: none; padding: 0 20px 16px; }
.lp-nav__mobile a { display: block; padding: .6rem 0; text-decoration: none; font-weight: 600; }

.lp-btn {
    display: inline-flex; align-items: center; justify-content: center; gap: .4rem;
    text-decoration: none; border: 1px solid transparent; cursor: pointer;
    font-family: inherit; font-weight: 600; font-size: 1rem;
    padding: 13px 33px; border-radius: var(--pill); transition: .18s ease;
}
.lp-btn--primary { background: var(--accent); color: #fff; }
.lp-btn--primary:hover { background: var(--accent-hover); }
.lp-btn--dark { background: var(--ink); color: #fff; }
.lp-btn--ghost { background: transparent; color: var(--ink); border-color: var(--ink); }
.lp-btn--lg {padding: 10px 40px;border-radius: 60px;}
.lp-btn--block { width: 100%; }
.lp-eyebrow { text-transform: uppercase; letter-spacing: .12em; font-size: .78rem; font-weight: 700; color: var(--accent); margin: 0 0 .6rem; }
.lp-form { display: grid; gap: 1rem; }
.lp-field { display: grid; gap: .4rem; font-weight: 600; font-size: .92rem; }
.lp-field input, .lp-field select, .lp-field textarea {
    font: inherit; font-weight: 500; padding: .85rem 1rem; border-radius: 14px;
    border: 1px solid var(--border); background: #fff; color: var(--ink);
}
.lp-field textarea { min-height: 110px; resize: vertical; }

.flash { border-radius: 14px; padding: .85rem 1rem; font-weight: 600; margin-bottom: 1rem; }
.flash-error, .flash-danger { background: #fef2f2; color: #991b1b; }
.flash-success { background: #ecfdf5; color: #065f46; }
.flash-warning { background: #fffbeb; color: #92400e; }
.flash-info { background: #eff6ff; color: #1e3a8a; }

.auth-page { padding: 3.5rem 0 5rem; background: linear-gradient(180deg, #f6f4ff 0%, #fff 50%); }
.auth-page__grid { display: grid; grid-template-columns: 1fr .95fr; gap: 3rem; align-items: center; }
.auth-copy h1 { font-size: clamp(2rem, 4vw, 3.1rem); line-height: 1.15; letter-spacing: -.04em; margin: 0 0 1rem; }
.auth-copy__list { padding-left: 1.1rem; color: var(--muted); }
.auth-card { background: #fff; border: 1px solid var(--border); border-radius: 28px; padding: 2rem; box-shadow: var(--shadow); }
.auth-card h2 { margin: 0 0 .3rem; }
.auth-card__sub { color: var(--muted); margin: 0 0 1.2rem; }
.auth-card__alt { text-align: center; margin: 1.2rem 0 0; color: var(--muted); }
.auth-card__alt a { color: var(--accent); font-weight: 700; text-decoration: none; }
.auth-plan-chip { display: inline-block; margin-top: 1rem; background: var(--accent-soft); color: var(--ink); padding: .55rem 1rem; border-radius: 999px; font-size: .92rem; }

.lp-footer { background: #0d062d; color: #d8d4ea; padding: 4rem 0 0; }
.lp-footer a { color: #fff; text-decoration: none; display: block; margin: .4rem 0; font-weight: 500; transition: color .15s ease; }
.lp-footer a:hover { color: #cfc8ff; }
.lp-footer .lp-brand { color: #fff; margin-bottom: 1rem; }
.lp-footer__grid { display: grid; grid-template-columns: 1.5fr 1fr 1fr 1.15fr; gap: 2.4rem; padding-bottom: 3rem; }
.lp-footer h4 { color: #fff; margin: 0 0 1rem; font-size: .82rem; letter-spacing: .08em; text-transform: uppercase; font-weight: 700; }
.lp-footer__about { color: #b7b1d2; max-width: 340px; line-height: 1.7; margin: 0; }
.lp-footer__bottom {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 1rem;
    flex-wrap: wrap;
    padding: 1.15rem 0;
    border-top: 1px solid rgba(255,255,255,.1);
    font-size: .88rem;
    color: #9d96c2;
}
.lp-footer__mail { display: inline !important; margin: 0 !important; color: #d8d4ea !important; font-weight: 600 !important; }
.lp-footer__mail:hover { color: #fff !important; }

@media (max-width: 900px) {
    .lp-nav__links { display: none; }
    .lp-nav__burger { display: grid; place-items: center; }
    .lp-nav__mobile:not([hidden]) { display: block; }
    .auth-page__grid, .lp-footer__grid { grid-template-columns: 1fr; }
}
