:root { color-scheme: light; font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; background:#f7f7f5; color:#171717; }
* { box-sizing:border-box; }
body { margin:0; min-height:100vh; }
.topbar, main, footer { width:min(1100px, calc(100% - 40px)); margin:auto; }
.topbar { height:74px; display:flex; align-items:center; justify-content:space-between; }
.brand { color:inherit; text-decoration:none; font-weight:750; letter-spacing:-.03em; font-size:1.2rem; }
button { font:inherit; border:1px solid #cfcfca; background:#fff; color:#171717; border-radius:9px; padding:.65rem .95rem; cursor:pointer; }
button:disabled { cursor:not-allowed; opacity:.55; }
.hero { padding:11vh 0 9vh; max-width:820px; }
.eyebrow { font-size:.72rem; font-weight:800; letter-spacing:.14em; color:#666; }
h1 { font-size:clamp(3rem, 9vw, 6.8rem); line-height:.9; letter-spacing:-.065em; margin:.25em 0 .3em; }
.lede { max-width:650px; font-size:clamp(1.1rem, 2.2vw, 1.45rem); line-height:1.5; color:#4d4d4d; }
.tools { margin:2.5rem 0; }
.empty { padding:1.25rem; background:#fff; border:1px solid #deded8; border-radius:14px; }
.warning { border-style:dashed; }
.privacy { border-left:3px solid #171717; padding-left:1rem; color:#555; font-size:.95rem; max-width:680px; }
.business { border-top:1px solid #d8d8d2; border-bottom:1px solid #d8d8d2; padding:3rem 0; display:grid; grid-template-columns:1fr auto; gap:2rem; align-items:center; }
.business h2 { margin:.2rem 0; font-size:clamp(1.5rem, 3vw, 2.4rem); letter-spacing:-.04em; }
.business p { color:#555; max-width:650px; }
footer { display:flex; justify-content:space-between; gap:2rem; padding:2rem 0 3rem; font-size:.85rem; color:#777; }
@media(max-width:700px){ .business{grid-template-columns:1fr}.business button{width:100%} }

dialog { width:min(620px, calc(100% - 32px)); border:1px solid #d4d4ce; border-radius:16px; padding:0; box-shadow:0 24px 80px rgba(0,0,0,.18); }
dialog::backdrop { background:rgba(0,0,0,.35); }
dialog form { padding:2rem; display:grid; gap:1rem; position:relative; }
dialog h2 { margin:0 0 .5rem; }
dialog label { display:grid; gap:.4rem; font-size:.9rem; font-weight:650; }
dialog input, dialog textarea { width:100%; border:1px solid #cfcfca; border-radius:8px; padding:.75rem; font:inherit; background:#fff; }
dialog textarea { resize:vertical; }
.close { position:absolute; right:1rem; top:1rem; border:0; background:transparent; font-size:1.7rem; padding:.2rem .5rem; }
.primary { background:#171717; color:#fff; border-color:#171717; }
#formStatus { min-height:1.2em; margin:0; font-size:.9rem; color:#555; }
