:root{--paper: #fdfbf7;--paper-2: #f6efe7;--ink: #2b2126;--ink-soft: #5f5258;--accent: #8a3b5c;--accent-ink: #fff;--accent-soft: #f5e3ea;--line: #e8ddd2}*{box-sizing:border-box}body{margin:0}.page{max-width:60rem;margin:0 auto;padding:clamp(1.5rem,4vw,3rem) clamp(1rem,4vw,2.5rem)}.page--narrow{max-width:30rem}.kicker{text-transform:uppercase;letter-spacing:.14em;font-size:.75rem;font-weight:700;color:var(--accent);margin:0 0 .5rem}h1.title{font-family:Palatino Linotype,Georgia,serif;font-size:clamp(1.8rem,4vw,2.6rem);margin:0 0 .5rem}.sub{color:var(--ink-soft);margin:0 0 1.5rem}.card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:1.5rem;box-shadow:0 12px 32px -18px #2b212640}.grid{display:grid;gap:1rem}.grid--2{grid-template-columns:repeat(auto-fit,minmax(15rem,1fr))}.field{display:grid;gap:.35rem;margin-bottom:1rem}.field label{font-weight:600;font-size:.9rem}.field input,.field select,.field textarea{min-height:2.9rem;padding:.6rem .85rem;border:1.5px solid var(--line);border-radius:10px;background:#fff;color:var(--ink);font:inherit;width:100%}.field textarea{min-height:6rem;resize:vertical}.field input:focus-visible,.field select:focus-visible,.field textarea:focus-visible{outline:3px solid var(--accent);outline-offset:1px;border-color:var(--accent)}.btn{background:var(--accent);color:var(--accent-ink);padding:.7rem 1.4rem;border-radius:999px;border:0;cursor:pointer;font-weight:700;font:inherit;text-decoration:none;display:inline-flex;align-items:center;gap:.4rem;min-height:2.9rem;justify-content:center}.btn:hover{filter:brightness(1.05)}.btn:disabled{opacity:.6;cursor:not-allowed}.btn--ghost{background:transparent;color:var(--ink);border:1.5px solid var(--line)}.btn--block{width:100%}.alert{padding:.8rem 1rem;border-radius:10px;font-size:.9rem;margin-bottom:1rem}.alert--error{background:#fbeaea;color:#9a1c1c}.alert--ok{background:var(--accent-soft);color:var(--ink)}.badge{display:inline-block;padding:.2rem .6rem;border-radius:999px;font-size:.75rem;font-weight:700;background:var(--accent-soft);color:var(--accent)}.muted{color:var(--ink-soft)}.row{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}a{color:var(--accent)}
