  :root{--ink:#0A0A0B;--ink-2:#26262B;--muted:#6B6B72;--line:#E7E4DF;--paper:#FBFAF8;
    --serif:'Libre Bodoni',Georgia,serif;--sans:'Public Sans',system-ui,sans-serif;--ease:cubic-bezier(.22,.61,.36,1)}
  *{box-sizing:border-box}
  body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased}
  .wrap{max-width:640px;margin:0 auto;padding:56px 22px 80px}
  .brand{display:inline-flex;align-items:center;gap:11px;text-decoration:none;color:var(--ink);font-family:var(--serif);font-weight:500;font-size:20px;margin:0 0 40px}
  .brand__dot{width:30px;height:30px;border-radius:50%;background:var(--ink);color:#fff;display:grid;place-items:center;font-family:var(--serif);font-size:17px}
  .eyebrow{font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);margin:0 0 12px}
  .title{font-family:var(--serif);font-weight:500;font-size:clamp(30px,4.4vw,42px);line-height:1.03;letter-spacing:-.015em;margin:0 0 12px}
  .lede{font-size:15px;color:var(--muted);margin:0 0 34px;line-height:1.55}
  form > div{margin:0 0 30px;padding:0 0 26px;border-bottom:1px solid var(--line)}
  label{font-weight:500}
  legend{font-family:var(--serif);font-size:19px;font-weight:500;margin:0 0 6px;padding:0}
  .form-help,small{color:var(--muted);font-size:13.5px}
  input[type=text],input[type=email],input[type=tel],input[type=number],input[type=date]{width:100%;min-height:52px;margin-top:10px;padding:14px 16px;border:1px solid var(--line);border-radius:12px;background:#fff;font:inherit;font-size:15px}
  select{width:100%;min-height:52px;margin-top:10px;padding:14px 40px 14px 16px;border:1px solid var(--line);border-radius:12px;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%230A0A0B' stroke-width='1.5' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat right 16px center;-webkit-appearance:none;-moz-appearance:none;appearance:none;font:inherit;font-size:15px;color:var(--ink);cursor:pointer}
  select:focus{outline:none;border-color:#111;box-shadow:0 0 0 3px rgba(10,10,11,.07)}
  textarea{width:100%;min-height:120px;margin-top:10px;padding:14px 16px;border:1px solid var(--line);border-radius:12px;background:#fff;font:inherit;font-size:15px}
  textarea:focus,input:focus{outline:none;border-color:#111;box-shadow:0 0 0 3px rgba(10,10,11,.07)}
  .q-choices{display:flex;flex-direction:column;gap:10px;margin-top:12px}
  .q-opt{display:flex;align-items:center;gap:12px;border:1px solid var(--line);border-radius:12px;padding:14px 16px;cursor:pointer;font-weight:400;background:#fff;transition:border-color .2s var(--ease),background .2s var(--ease),box-shadow .2s var(--ease)}
  .q-opt:hover{background:#F5F3F0;border-color:#D9D5CE}
  .q-opt input{width:18px;height:18px;accent-color:var(--ink);flex:none}
  .q-opt:has(input:checked){border-color:var(--ink);box-shadow:0 0 0 1px var(--ink) inset}
  .q-opt__label{font-size:15px}
  .submit{width:100%;height:54px;border:0;border-radius:999px;background:var(--ink);color:#fff;cursor:pointer;font:inherit;font-size:15px;font-weight:500;display:inline-flex;align-items:center;justify-content:center;gap:10px;transition:background .2s var(--ease)}
  .submit:hover{background:var(--ink-2)}
  .submit svg{width:17px;height:17px}
  .alert{border:1px solid #E7C7C7;background:#FBF1F1;color:#8A2B2B;border-radius:12px;padding:12px 14px;font-size:13.5px;margin:0 0 24px}
  .empty{border:1px dashed var(--line);border-radius:14px;padding:28px;text-align:center;color:var(--muted)}
  :where(a,button,input,textarea):focus-visible{outline:2px solid var(--ink);outline-offset:2px}
  fieldset{border:0;padding:0;margin:0 0 12px}
  fieldset > legend{font-family:var(--serif);font-size:22px;margin:26px 0 14px}
  label.required:after,legend.required:after{content:" *";color:#8A2B2B}
