
  :root { font: 100%/1.55 "Segoe UI", system-ui, sans-serif; color: #2d2519; background: #fbf5e8; }
  * { box-sizing: border-box; }
  body { margin: 0; padding: clamp(1rem, 5vw, 4rem) 1rem; }
  main { width: min(100%, 38rem); margin: auto; }
  header { font-weight: 700; padding: 0 .25rem .8rem; }
  section { background: #fffdf9; border: 1px solid #e6d8bc; border-top: .35rem solid #c27d18; border-radius: 1rem; padding: clamp(1.15rem, 5vw, 2.5rem); }
  h1 { font-size: clamp(1.65rem, 5vw, 2.4rem); line-height: 1.1; letter-spacing: -.035em; margin: 0 0 1rem; }
  p { margin: 0 0 1.25rem; }
  .preview { padding: .65rem .8rem; background: #fbf1da; border-radius: .4rem; font-size: .9rem; }
  label { display: block; font-weight: 650; }
  input { display: block; width: 100%; margin: .3rem 0 1.1rem; border: 1px solid #8d806c; border-radius: .4rem; padding: .65rem .75rem; font: inherit; color: inherit; background: #fff; }
  :focus-visible { outline: .2rem solid #79460e; outline-offset: .15rem; }
  button { width: 100%; border: 0; border-radius: .45rem; padding: .75rem 1rem; background: #f5c36e; color: #2d2519; font: inherit; font-weight: 700; cursor: pointer; }
  button:hover { background: #efb85b; }
  #status { margin: 1rem 0 0; font-weight: 600; }
  #status:empty { margin: 0; }

  .trap { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
  small { font-weight: 400; }
  #gln-hint { color: #574b3d; margin-top: -.7rem; font-size: .9rem; }
  footer { display: flex; gap: 1rem; margin: 1rem .25rem; font-size: .9rem; }
  a { color: #68400d; }
  .brand img { display: block; width: min(10rem, 100%); height: auto; }
  .form-heading { margin: 1.5rem 0 1rem; font-size: 1.25rem; }
  .privacy { color: #574b3d; font-size: .9rem; margin-bottom: 1rem; }
