:root {
  color-scheme: light;
  font-family: Inter, Arial, sans-serif;
  color: #242833;
  background: transparent;
  font-synthesis: none;
}

* { box-sizing: border-box; }
body { margin: 0; padding: 18px; background: transparent; }
.card { max-width: 760px; margin: 0 auto; padding: 34px; background: #fff; border: 1px solid #e8ebf0; border-radius: 18px; box-shadow: 0 16px 45px rgba(26, 37, 55, .08); }
.hero { margin-bottom: 32px; }
.eyebrow { margin: 0 0 8px; color: #e23d32; font-weight: 800; letter-spacing: .14em; }
h1 { margin: 0 0 8px; font-size: clamp(28px, 5vw, 42px); line-height: 1.08; }
.hero > p:last-child { margin: 0; color: #697180; }
section { padding: 24px 0; border-top: 1px solid #eceef2; }
h2 { margin: 0 0 18px; font-size: 19px; }
h2 span { color: #747c89; font-size: 14px; font-weight: 400; }
.field { display: grid; gap: 8px; margin: 0 0 17px; font-size: 14px; font-weight: 650; }
.field b, .check b { color: #e23d32; }
input, select { width: 100%; min-height: 48px; padding: 11px 13px; border: 1px solid #cfd5de; border-radius: 10px; background: #fff; color: #242833; font: inherit; }
input:focus, select:focus { outline: 3px solid rgba(226, 61, 50, .14); border-color: #e23d32; }
input[type=file] { padding: 9px; }
.field-note { margin: -8px 0 17px; color: #737b88; font-size: 13px; }
.check { display: flex; gap: 11px; align-items: flex-start; font-size: 14px; }
.check input { width: 20px; min-height: 20px; margin: 1px 0 0; }
details { margin: 14px 0 0 31px; color: #596170; font-size: 13px; }
summary { cursor: pointer; color: #b72b22; }
.agreement-copy { max-height: 230px; overflow: auto; padding: 8px 14px; border-left: 3px solid #e6e9ee; }
.submit { width: 100%; min-height: 52px; border: 0; border-radius: 11px; background: #e23d32; color: #fff; font: inherit; font-weight: 750; cursor: pointer; }
.submit:hover { background: #c83229; }
.notice { margin: 0 0 22px; padding: 14px 16px; border-radius: 10px; }
.notice ul { margin: 0; padding-left: 20px; }
.notice-error { background: #fff0ef; color: #9d251d; }
.success { text-align: center; padding-block: 64px; }
.success-mark { display: grid; place-items: center; width: 58px; height: 58px; margin: 0 auto 20px; border-radius: 50%; background: #eaf7ed; color: #16843c; font-size: 30px; }
.honeypot { position: absolute !important; left: -10000px !important; width: 1px; height: 1px; overflow: hidden; }

@media (max-width: 600px) {
  body { padding: 8px; }
  .card { padding: 22px 18px; border-radius: 13px; box-shadow: none; }
  section { padding: 20px 0; }
}

