:root{--font-display: "Space Grotesk", "Segoe UI", sans-serif;--font-body: "Manrope", "Segoe UI", sans-serif;--bg: #f5efe3;--bg-accent: #eadcc6;--ink: #1d1a17;--muted: #5d5245;--brand: #c34a36;--brand-dark: #9f3929;--panel: #fff9f2;--line: #dbc7ae;--shadow: 0 20px 60px rgba(83, 56, 37, .2)}*{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;font-family:var(--font-body);color:var(--ink);background:radial-gradient(circle at 15% 20%,#f7dfc5 0,transparent 35%),radial-gradient(circle at 80% 0%,#f0caa5 0,transparent 30%),linear-gradient(170deg,var(--bg) 0%,var(--bg-accent) 100%);overflow-x:hidden}.background-orb{position:fixed;border-radius:999px;pointer-events:none;z-index:0;filter:blur(2px)}.background-orb--one{width:380px;height:380px;background:#c34a362e;left:-140px;top:28vh;animation:drift 16s ease-in-out infinite alternate}.background-orb--two{width:280px;height:280px;background:#1d1a1724;right:-80px;top:12vh;animation:drift 20s ease-in-out infinite alternate-reverse}.navbar{position:relative;z-index:1;max-width:1100px;margin:0 auto;padding:20px clamp(18px,4vw,36px);display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:10px}.brand-mark{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;font-family:var(--font-display);font-weight:700;letter-spacing:.04em;color:#fffaf3;background:linear-gradient(145deg,var(--brand) 0%,#de6a52 100%);box-shadow:0 8px 20px #9f392959}.brand-name{font-family:var(--font-display);font-size:1.12rem;font-weight:700;letter-spacing:.02em}.auth-actions{display:flex;gap:10px}.btn{border:1px solid transparent;border-radius:999px;padding:10px 18px;font-family:var(--font-display);font-weight:700;font-size:.95rem;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,background-color .2s ease}.btn:hover{transform:translateY(-1px)}.btn-ghost{background:#fff9f2bf;border-color:var(--line);color:var(--ink)}.btn-ghost:hover{box-shadow:0 10px 24px #4d3c2e26}.btn-solid{background:var(--brand);color:#fff8f0;box-shadow:0 10px 22px #9f392959}.btn-solid:hover{background:var(--brand-dark)}.hero{position:relative;z-index:1;max-width:900px;margin:8vh auto 0;padding:0 clamp(18px,4vw,36px) 48px;animation:rise .7s ease}.hero-kicker{text-transform:uppercase;letter-spacing:.12em;font-size:.74rem;color:var(--muted);margin-bottom:14px}.hero h1{margin:0;font-family:var(--font-display);font-size:clamp(2rem,5.6vw,4rem);line-height:1.05;max-width:760px}.hero p{margin-top:18px;font-size:clamp(1rem,2.2vw,1.2rem);line-height:1.65;color:var(--muted);max-width:680px}.modal-backdrop{position:fixed;inset:0;z-index:30;display:grid;place-items:center;padding:18px;background:#120e0a73;backdrop-filter:blur(4px);animation:fadeIn .2s ease}.modal{width:min(460px,100%);background:var(--panel);border:1px solid var(--line);border-radius:24px;padding:22px;box-shadow:var(--shadow);position:relative}.modal-close{position:absolute;top:12px;right:12px;border:0;background:transparent;color:var(--muted);font-size:1.3rem;cursor:pointer}.modal-eyebrow{margin:0;text-transform:uppercase;letter-spacing:.12em;font-size:.72rem;color:var(--muted)}.modal h2{margin:8px 0 10px;font-family:var(--font-display);font-size:1.7rem}.modal-copy{margin:0 0 20px;color:var(--muted);line-height:1.5}.provider-buttons{display:grid;gap:10px}.provider{width:100%;border-radius:14px;border:1px solid var(--line);padding:12px 16px;font-family:var(--font-display);font-size:.95rem;font-weight:700;cursor:pointer;text-align:left;transition:transform .2s ease,box-shadow .2s ease}.provider:hover{transform:translateY(-1px);box-shadow:0 12px 24px #4c321f29}.provider-google{background:#fff;color:#202124}.provider-apple{background:#111;color:#f6f6f6}.modal-footnote{margin-top:14px;margin-bottom:0;color:var(--muted);font-size:.85rem}@media(max-width:640px){.navbar{padding-top:16px;flex-wrap:wrap;gap:12px}.brand-name{font-size:1rem}.auth-actions{margin-left:auto}.btn{padding:10px 14px;font-size:.9rem}.hero{margin-top:5vh}}@keyframes drift{0%{transform:translateY(0) scale(1)}to{transform:translateY(-20px) scale(1.06)}}@keyframes rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}
