*,:after,:before{box-sizing:border-box;margin:0;padding:0}:root{--color-bg:#fff;--color-text:#1a1a1a;--color-muted:#555;--color-border:#d1d1d1;--color-accent:#111;--color-accent-hover:#333;--color-surface:#f5f5f5;--color-error:#c0392b;--color-success:#27ae60;--font-sans:system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;--font-serif:Georgia,"Times New Roman",serif;--max-width:720px;--max-width-wide:1100px;--spacing:1rem;--radius:4px}html{font-size:16px;scroll-behavior:smooth}body{background:var(--color-bg);color:var(--color-text);font-family:var(--font-sans);line-height:1.6;min-height:100vh}a{color:inherit;text-decoration:underline}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--color-accent);outline-offset:3px}.container{margin:0 auto;max-width:var(--max-width-wide);padding:0 1.25rem;width:100%}.container--narrow{max-width:var(--max-width)}.btn{border:2px solid transparent;border-radius:var(--radius);cursor:pointer;display:inline-block;font-size:1rem;font-weight:600;line-height:1.2;padding:.75rem 1.75rem;text-align:center;text-decoration:none;transition:background .15s,color .15s,border-color .15s}.btn--primary{background:var(--color-accent);border-color:var(--color-accent);color:#fff}.btn--primary:focus-visible,.btn--primary:hover{background:var(--color-accent-hover);border-color:var(--color-accent-hover)}.btn--outline{background:transparent;border-color:var(--color-accent);color:var(--color-accent)}.btn--outline:focus-visible,.btn--outline:hover{background:var(--color-accent);color:#fff}.btn--large{font-size:1.125rem;padding:1rem 2.5rem}.site-header{border-bottom:1px solid var(--color-border);padding:1rem 0}.site-header__inner{align-items:center;display:flex;gap:1rem;justify-content:space-between}.site-header__logo{font-size:.875rem;font-weight:700;letter-spacing:.05em;text-decoration:none;text-transform:uppercase}.site-header__nav{display:flex;gap:1.5rem;list-style:none}.site-header__nav a{font-size:.875rem;font-weight:500;text-decoration:none}.site-header__nav a:hover{text-decoration:underline}.site-footer{border-top:1px solid var(--color-border);color:var(--color-muted);font-size:.875rem;margin-top:4rem;padding:2rem 0}.prose{color:var(--color-text);font-family:var(--font-serif);font-size:1.1rem;line-height:1.8}.prose h1,.prose h2,.prose h3,.prose h4{font-family:var(--font-sans);line-height:1.3;margin-bottom:.75rem;margin-top:2rem}.prose h1{font-size:2rem}.prose h2{font-size:1.5rem}.prose h3{font-size:1.25rem}.prose p{margin-bottom:1.25rem}.prose ol,.prose ul{margin:1rem 0 1.25rem 1.5rem}.prose li{margin-bottom:.4rem}.prose blockquote{border-left:4px solid var(--color-border);color:var(--color-muted);font-style:italic;margin:1.5rem 0;padding-left:1rem}.prose a{color:var(--color-text)}.form-group{display:flex;flex-direction:column;gap:.4rem;margin-bottom:1.25rem}.form-label{font-size:.9rem;font-weight:600}.form-label--optional{color:var(--color-muted);font-size:.8rem;font-weight:400;margin-left:.3rem}.form-input,.form-select,.form-textarea{background:var(--color-bg);border:1.5px solid var(--color-border);border-radius:var(--radius);color:var(--color-text);font-family:var(--font-sans);font-size:1rem;padding:.65rem .85rem;transition:border-color .15s;width:100%}.form-input:focus,.form-textarea:focus{border-color:var(--color-accent);outline:none}.form-textarea{min-height:160px;resize:vertical}.form-error{color:var(--color-error);font-size:.85rem}.disclaimer{background:var(--color-surface);border-left:4px solid var(--color-border);border-radius:0 var(--radius) var(--radius) 0;color:var(--color-muted);font-size:.875rem;margin-bottom:2rem;padding:.85rem 1rem}.alert{border-radius:var(--radius);font-size:.95rem;margin-bottom:1.5rem;padding:1rem 1.25rem}.alert--success{background:#eafaf1;border:1px solid #a9dfbf;color:#1e8449}.alert--error{background:#fdf2f2;border:1px solid #f5b7b1;color:var(--color-error)}.visually-hidden{height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;clip:rect(0,0,0,0);border:0;white-space:nowrap}@media(max-width:600px){.btn--large{padding:.9rem 1.5rem;width:100%}}
