:root{
    --paper:#FCFAF4; --card:#FFFFFF; --ink:#1F2A24; --spruce:#1E3A30;
    --rule:#E4E0D4; --sun:#F5A623; --sun-d:#D4891A; --muted:#5C6B62; --credit:#2E9E5B;
    --d:'Literata',Georgia,serif; --b:'Public Sans',system-ui,sans-serif; --m:'IBM Plex Mono',ui-monospace,monospace;
  }
  *{box-sizing:border-box}
  html{-webkit-text-size-adjust:100%}
  body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--b);font-size:17px;line-height:1.7;}
  a{color:var(--spruce);text-decoration:underline;text-underline-offset:2px;text-decoration-thickness:1px;}
  a:hover{color:var(--sun-d)}
  a:focus-visible{outline:2px solid var(--sun-d);outline-offset:2px;border-radius:2px}

  .topbar{border-bottom:1px solid var(--rule);background:var(--card);}
  .topbar-in{max-width:1080px;margin:0 auto;padding:16px 24px;display:flex;align-items:center;gap:10px;}
  .wordmark{font-family:var(--b);font-weight:800;font-size:17px;letter-spacing:-.4px;color:var(--spruce);text-decoration:none;display:flex;align-items:center;gap:9px;}
  .wordmark span{color:var(--sun-d)}
  .back{margin-left:auto;font-family:var(--m);font-size:12px;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);text-decoration:none;}
  .back:hover{color:var(--spruce)}

  .wrap{max-width:660px;margin:0 auto;padding:0 24px 96px;}
  header.doc{padding:56px 0 28px;}
  .eyebrow{font-family:var(--m);font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--sun-d);margin:0 0 14px;}
  h1{font-family:var(--d);font-weight:700;font-size:clamp(30px,5vw,40px);line-height:1.14;letter-spacing:-.02em;margin:0 0 16px;color:var(--spruce);text-wrap:balance;}
  .lede{font-size:18px;color:var(--muted);margin:0;}

  form{background:var(--card);border:1px solid var(--rule);border-radius:6px;padding:28px 26px 26px;box-shadow:0 1px 2px rgba(31,42,36,.04),0 8px 24px -18px rgba(31,42,36,.28);}
  .grid{display:grid;grid-template-columns:minmax(0,1fr);gap:16px;}
  @media(min-width:560px){.grid.two{grid-template-columns:1fr 1fr}}
  label.f{display:block;font-weight:600;font-size:14px;margin:0 0 6px;color:var(--spruce);}
  input[type=text],input[type=email],input[type=tel]{width:100%;padding:11px 13px;font-family:var(--b);font-size:16px;color:var(--ink);background:var(--paper);border:1px solid var(--rule);border-radius:5px;}
  input:focus{outline:none;border-color:var(--sun);box-shadow:0 0 0 3px rgba(245,166,35,.18)}
  .hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}

  fieldset{border:0;margin:22px 0 0;padding:0}
  legend{font-family:var(--m);font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);padding:0;margin:0 0 12px;}
  .check{display:flex;gap:12px;align-items:flex-start;font-size:14.5px;line-height:1.6;color:var(--ink);padding:14px 0;border-top:1px solid var(--rule);cursor:pointer;}
  .check input{margin-top:3px;width:19px;height:19px;accent-color:var(--sun);flex:none;cursor:pointer}
  .optlabel{font-family:var(--m);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:16px 0 0;padding-top:14px;border-top:1px solid var(--rule)}
  .check{border-top:0 !important;padding-top:8px}

  .fine{font-size:13.5px;line-height:1.65;color:var(--muted);margin:18px 0 0;padding-top:16px;border-top:1px solid var(--rule);}
  button{margin-top:22px;width:100%;padding:14px 20px;font-family:var(--b);font-weight:700;font-size:16px;color:#3B2A10;background:linear-gradient(180deg,var(--sun),var(--sun-d));border:0;border-radius:6px;cursor:pointer;transition:transform .12s cubic-bezier(.2,.9,.3,1.4),box-shadow .12s ease;box-shadow:0 2px 0 rgba(140,90,10,.35),0 10px 22px -14px rgba(212,137,26,.9);}
  button:hover{transform:translateY(-1px)}
  button:active{transform:translateY(1px);box-shadow:0 1px 0 rgba(140,90,10,.35)}
  button:focus-visible{outline:2px solid var(--spruce);outline-offset:3px}
  button[disabled]{opacity:.6;cursor:not-allowed;transform:none}

  .msg{margin-top:16px;font-size:14.5px;padding:12px 14px;border-radius:5px;display:none}
  .msg.bad{display:block;background:#FDF1EE;border:1px solid #E8C4B8;color:#8A3417}
  .done{display:none;background:var(--card);border:1px solid var(--rule);border-left:3px solid var(--credit);border-radius:6px;padding:26px;}
  .done h2{font-family:var(--d);font-weight:600;font-size:22px;margin:0 0 10px;color:var(--spruce)}
  .done p{margin:0 0 10px}
  .done p:last-child{margin:0}

  .who{margin:34px 0 0;font-size:13.5px;color:var(--muted);line-height:1.65;}
  .who dl{margin:12px 0 0;border-top:1px solid var(--rule)}
  .who dl div{display:grid;grid-template-columns:minmax(0,1fr);gap:2px;padding:10px 0;border-bottom:1px solid var(--rule)}
  @media(min-width:520px){.who dl div{grid-template-columns:110px minmax(0,1fr);gap:16px}}
  .who dt{font-family:var(--m);font-size:11.5px;letter-spacing:.02em;text-transform:uppercase;padding-top:2px}
  .who dd{margin:0}

  footer.site{border-top:1px solid var(--rule);background:var(--card);}
  footer.site .in{max-width:1080px;margin:0 auto;padding:34px 24px 46px;font-size:13.5px;color:var(--muted);line-height:1.65;}
  footer.site .flinks{margin-top:14px;display:flex;gap:20px;flex-wrap:wrap;font-family:var(--m);font-size:12px;letter-spacing:.03em;text-transform:uppercase;}

.fromline{margin:0 0 4px;font-size:13.5px;color:var(--muted);line-height:1.6}
.optlabel{font-family:var(--m);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:16px 0 0;padding-top:14px;border-top:1px solid var(--rule)}
.polinks{margin:14px 0 0;text-align:center;font-size:13.5px;color:var(--muted)}
.polinks a{color:var(--spruce)}
