:root{
    --ink:#17262B; --ink-line:#33474D; --paper:#F1ECE0; --paper-dim:#E4DDC9;
    --marigold:#E8A33D; --coral:#D8654F; --white:#FFFDF8;
  }
  *{box-sizing:border-box;}
  body{
    margin:0; min-height:100vh; background:var(--ink); color:var(--paper);
    font-family:'IBM Plex Sans', sans-serif; display:flex; align-items:center; justify-content:center; padding:24px;
  }
  h1,h2{font-family:'Space Grotesk', sans-serif; margin:0;}
  .wrap{max-width:520px; width:100%;}
  .eyebrow{font-family:'IBM Plex Mono', monospace; font-size:12px; letter-spacing:.14em; text-transform:uppercase; color:var(--marigold);}
  h1{font-size:26px; margin-top:6px;}
  .lede{color:var(--paper-dim); font-size:14px; margin-top:8px; line-height:1.55;}
  .card{background:var(--paper); color:var(--ink); border-radius:14px; padding:26px; margin-top:22px; box-shadow:0 18px 40px rgba(0,0,0,0.35);}
  label{display:block; font-family:'IBM Plex Mono', monospace; font-size:11.5px; text-transform:uppercase; letter-spacing:.06em; color:#5b6a63; margin-bottom:6px; margin-top:16px;}
  label:first-of-type{margin-top:0;}
  input[type=text], input[type=email], select, textarea{
    width:100%; padding:11px 13px; border-radius:8px; border:1.5px solid #cfc7ae; background:var(--white);
    font-family:'IBM Plex Sans', sans-serif; font-size:14.5px; color:var(--ink); outline:none;
  }
  input:focus, select:focus, textarea:focus{border-color:var(--coral); box-shadow:0 0 0 3px rgba(216,101,79,0.15);}
  textarea{resize:vertical; min-height:110px;}
  .hp-field{position:absolute; left:-9999px; top:-9999px;}
  button{
    margin-top:20px; width:100%; padding:13px; border:none; border-radius:9px; cursor:pointer;
    background:var(--coral); color:var(--white); font-family:'Space Grotesk',sans-serif; font-weight:600; font-size:15px;
  }
  button:hover{background:#c1543f;}
  .err{color:#a5312a; font-size:12.5px; margin-top:12px; font-family:'IBM Plex Mono',monospace;}
  .success{text-align:center; padding:20px 6px;}
  .success .vinyl{width:64px; height:64px; margin:0 auto 16px; border-radius:50%; background:radial-gradient(circle at center, var(--ink) 0 12%, var(--marigold) 13% 15%, var(--ink) 16% 100%);}
  .success h2{font-size:20px;}
  .success p{color:#5b6a63; font-size:13.5px; margin-top:8px;}
  .back{display:inline-block; margin-top:18px; font-family:'IBM Plex Mono',monospace; font-size:12px; color:var(--marigold); text-decoration:none;}
