:root {
  --bt-green: #063b2e;
  --bt-deep: #042b23;
  --bt-cream: #faf6e8;
  --bt-paper: #fffef8;
  --bt-lime: #bed65b;
  --bt-ink: #183d32;
  --bt-muted: #5c6d63;
  --bt-rule: #d9dfcf;
  --bt-soft: #edf1e4;
  --bt-error: #983d35;
  color-scheme: light;
  color: var(--bt-ink);
  font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  background: var(--bt-cream);
}

* { box-sizing: border-box; }
[hidden] { display: none !important; }
body { margin: 0; min-width: 320px; }
h1, h2, h3, p { margin: 0; }
button, input, textarea, select { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
button { color: inherit; cursor: pointer; }
button:disabled { cursor: default; }
a { color: inherit; text-underline-offset: 4px; }
:focus-visible { outline: 3px solid #57801d; outline-offset: 4px; }
.bt-intro :focus-visible { outline-color: var(--bt-lime); }
.bt-page { max-width: 1120px; margin: 0 auto; background: var(--bt-cream); }
.bt-skip-link {
  position: absolute; top: 10px; left: 10px; z-index: 10;
  padding: 12px 16px; transform: translateY(-150%); background: var(--bt-lime); color: var(--bt-deep);
}
.bt-skip-link:focus { transform: translateY(0); }
.bt-header {
  display: flex; justify-content: space-between; align-items: center; gap: 20px;
  min-height: 90px; padding: 20px 38px; border-bottom: 1px solid var(--bt-rule);
}
.bt-logo-link { display: block; width: 165px; max-width: 42%; flex-shrink: 0; }
.bt-logo { display: block; width: 100%; height: auto; aspect-ratio: 900 / 312; }
.bt-nav { display: flex; align-items: center; gap: 25px; font-size: 12px; line-height: 1.5; color: var(--bt-muted); }
.bt-nav a { padding: 12px 0; text-decoration: none; }
.bt-nav a:hover { color: var(--bt-green); }
.bt-nav .bt-nav-current { color: var(--bt-green); font-weight: 650; border-bottom: 2px solid var(--bt-green); }
.bt-main { display: grid; grid-template-columns: minmax(250px, .82fr) minmax(0, 1.4fr); }
.bt-intro { display: flex; flex-direction: column; min-width: 0; padding: 42px 34px 34px; background: var(--bt-green); color: var(--bt-cream); }
.bt-eyebrow { font-size: 11px; line-height: 1.5; font-weight: 650; letter-spacing: .14em; text-transform: uppercase; }
.bt-intro .bt-eyebrow { color: var(--bt-lime); }
.bt-intro h1 {
  margin: 22px 0 20px; font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(36px, 4.5vw, 49px); font-weight: 400; line-height: 1.06; letter-spacing: -.05em; text-wrap: balance;
}
.bt-intro h1 em { display: block; color: var(--bt-lime); font-weight: 400; }
.bt-intro-copy { max-width: 300px; color: #e3e9d9; font-size: 14px; line-height: 1.85; }
.bt-no-account { margin-top: 23px; padding-left: 12px; border-left: 2px solid var(--bt-lime); color: #e3e9d9; font-size: 12px; line-height: 1.6; }
.bt-next { margin-top: auto; padding-top: 44px; }
.bt-next h2, .bt-direct h2 { margin-bottom: 20px; font-family: Georgia, "Times New Roman", serif; font-weight: 400; font-size: 23px; line-height: 1.3; letter-spacing: -.025em; }
.bt-next-list { list-style: none; margin: 0; padding: 0; counter-reset: next; }
.bt-next-list li { position: relative; padding: 15px 0 15px 29px; border-top: 1px solid #366455; counter-increment: next; }
.bt-next-list li::before { position: absolute; top: 16px; left: 0; content: counter(next, decimal-leading-zero); color: var(--bt-lime); font-size: 10px; line-height: 1.8; }
.bt-next-list strong { display: block; margin-bottom: 4px; font-size: 12px; line-height: 1.6; font-weight: 650; }
.bt-next-list span { display: block; color: #dbe4d3; font-size: 12px; line-height: 1.7; }
.bt-direct { padding-top: 26px; }
.bt-email-option { padding: 15px 0; border-top: 1px solid #366455; }
.bt-email-type { display: block; margin-bottom: 5px; color: #dbe4d3; font-size: 12px; line-height: 1.5; }
.bt-email-address { display: inline-block; max-width: 100%; padding: 5px 0; color: var(--bt-cream); font-weight: 500; font-size: 15px; line-height: 1.7; overflow-wrap: anywhere; }
.bt-form-zone { min-width: 0; padding: 36px 36px 30px; }
.bt-choice-group { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; min-width: 0; margin: 0 0 27px; padding: 0; border: 0; }
.bt-choice-group legend { margin: 0 0 12px; padding: 0; color: var(--bt-muted); font-size: 12px; font-weight: 650; }
.bt-choice { display: flex; align-items: flex-start; gap: 11px; min-width: 0; padding: 16px 13px; border: 1px solid var(--bt-rule); border-radius: 10px; background: var(--bt-paper); transition: background-color .18s, border-color .18s; cursor: pointer; }
.bt-choice:has(input:checked) { background: var(--bt-soft); border-color: var(--bt-green); }
.bt-choice:has(input:disabled) { cursor: default; }
.bt-choice input { flex: 0 0 17px; width: 17px; height: 17px; margin: 2px 0 0; accent-color: var(--bt-green); }
.bt-choice-title { display: block; font-weight: 650; font-size: 13px; line-height: 1.5; }
.bt-choice-caption { display: block; margin-top: 4px; color: var(--bt-muted); font-size: 11px; line-height: 1.6; }
.bt-form-head { margin-bottom: 22px; }
.bt-form-head h2 { margin-bottom: 9px; font-family: Georgia, "Times New Roman", serif; font-size: 27px; font-weight: 400; line-height: 1.2; letter-spacing: -.03em; }
.bt-form-head p { color: var(--bt-muted); font-size: 12px; line-height: 1.7; }
.bt-fields { display: grid; grid-template-columns: 1fr 1fr; gap: 18px 15px; }
.bt-field { display: flex; flex-direction: column; gap: 7px; min-width: 0; }
.bt-field-wide { grid-column: 1 / -1; }
.bt-field label { font-size: 12px; line-height: 1.5; font-weight: 650; }
.bt-required { margin-left: 3px; color: var(--bt-muted); }
.bt-optional { color: var(--bt-muted); font-weight: 400; }
.bt-field input, .bt-field select, .bt-field textarea {
  width: 100%; min-height: 46px; padding: 11px 12px;
  border: 1px solid #c7d1c3; border-radius: 7px; background: var(--bt-paper);
  color: var(--bt-ink); font-size: 16px; line-height: 1.5;
}
.bt-field input::placeholder, .bt-field textarea::placeholder { color: #788579; opacity: 1; }
.bt-field input:disabled, .bt-field select:disabled, .bt-field textarea:disabled { opacity: .75; }
.bt-field select { padding-right: 25px; }
.bt-field textarea { min-height: 125px; resize: vertical; }
.bt-field-hint { color: var(--bt-muted); font-size: 11px; line-height: 1.7; }
.bt-service-notice { margin-top: 20px; padding: 13px 15px; border: 1px solid var(--bt-rule); border-radius: 7px; background: var(--bt-soft); color: var(--bt-green); font-size: 12px; line-height: 1.75; }
.bt-verification { margin-top: 19px; }
.bt-verification-status { margin-top: 7px; }
.bt-secondary { display: inline-block; min-height: 44px; margin-top: 8px; padding: 9px 13px; border: 1px solid var(--bt-green); border-radius: 7px; background: transparent; color: var(--bt-green); font-weight: 600; font-size: 12px; line-height: 1.5; }
.bt-secondary:hover:not(:disabled) { background: #e2e9d8; }
.bt-secondary:disabled { opacity: .6; }
.bt-form-actions { margin-top: 23px; }
.bt-primary {
  display: inline-flex; align-items: center; justify-content: space-between; gap: 15px;
  width: 100%; min-height: 49px; padding: 13px 17px; border: 0; border-radius: 7px;
  background: var(--bt-lime); color: var(--bt-deep); font-weight: 650; font-size: 14px; line-height: 1.5;
  transition: background-color .18s, transform .18s;
}
.bt-primary:hover:not(:disabled) { background: #cbe17a; }
.bt-primary:active:not(:disabled) { transform: translateY(1px); }
.bt-primary:disabled { background: #dce6b9; color: #586348; }
.bt-form-note { margin-top: 12px; color: var(--bt-muted); font-size: 11px; line-height: 1.7; }
.bt-error { color: var(--bt-error); font-size: 12px; line-height: 1.7; }
.bt-form-actions > .bt-error, .bt-retry-notice { margin-bottom: 14px; }
.bt-verification .bt-error { margin-top: 8px; }
.bt-confirmation { padding: 13px 0 12px; }
.bt-confirm-icon { display: grid; place-items: center; width: 58px; height: 58px; margin-bottom: 23px; border-radius: 50%; background: var(--bt-lime); color: var(--bt-green); font-size: 30px; }
.bt-confirmation .bt-eyebrow { margin-bottom: 12px; color: var(--bt-muted); }
.bt-confirmation h2 { margin-bottom: 17px; font-family: Georgia, "Times New Roman", serif; font-weight: 400; font-size: 37px; line-height: 1.13; letter-spacing: -.04em; }
.bt-confirm-copy { color: var(--bt-muted); font-size: 14px; line-height: 1.85; }
.bt-confirm-email { color: var(--bt-green); font-weight: 650; overflow-wrap: anywhere; }
.bt-summary { margin: 25px 0; padding: 20px 0; border-top: 1px solid var(--bt-rule); border-bottom: 1px solid var(--bt-rule); font-size: 13px; line-height: 1.7; }
.bt-summary dl { display: grid; grid-template-columns: 80px minmax(0, 1fr); gap: 10px 15px; margin: 0; }
.bt-summary dt { color: var(--bt-muted); }
.bt-summary dd { margin: 0; overflow-wrap: anywhere; }
.bt-message-summary { margin-top: 18px; white-space: pre-wrap; overflow-wrap: anywhere; color: var(--bt-muted); font-size: 12px; line-height: 1.8; }
.bt-confirm-note { margin-bottom: 22px; padding: 12px 15px; border-radius: 7px; background: var(--bt-soft); color: var(--bt-green); font-size: 12px; line-height: 1.75; }
.bt-home-link { display: inline-block; margin-top: 15px; padding: 10px 0; color: var(--bt-muted); font-size: 12px; }
.bt-footer { display: flex; align-items: center; justify-content: space-between; gap: 14px; flex-wrap: wrap; padding: 18px 35px; border-top: 1px solid var(--bt-rule); color: var(--bt-muted); font-size: 11px; line-height: 1.7; }
.bt-footer strong { color: var(--bt-green); font-weight: 500; }
.bt-live-status { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }

@media (max-width: 760px) {
  .bt-header { padding: 15px 24px; gap: 15px; }
  .bt-logo-link { width: 143px; }
  .bt-nav { gap: 15px; font-size: 11px; }
  .bt-main { grid-template-columns: minmax(210px, .82fr) minmax(0, 1.3fr); }
  .bt-intro { padding: 32px 25px 26px; }
  .bt-intro h1 { font-size: 39px; }
  .bt-form-zone { padding: 29px 23px; }
  .bt-choice-group { gap: 8px; }
  .bt-choice { padding: 13px 10px; gap: 8px; }
  .bt-choice-title { font-size: 12px; }
  .bt-fields { grid-template-columns: 1fr; gap: 16px; }
}

@media (max-width: 600px) {
  .bt-header { padding: 14px 21px; min-height: 76px; }
  .bt-logo-link { width: 138px; }
  .bt-nav-secondary { display: none; }
  .bt-nav-current { font-size: 12px; }
  .bt-main { display: flex; flex-direction: column; }
  .bt-intro { display: block; padding: 28px 24px 27px; }
  .bt-intro h1 { margin: 15px 0; font-size: 39px; line-height: 1.07; }
  .bt-intro h1 em { display: inline; }
  .bt-intro-copy { max-width: 440px; font-size: 13px; line-height: 1.8; }
  .bt-no-account { margin-top: 15px; }
  .bt-next { margin-top: 24px; padding-top: 23px; border-top: 1px solid #366455; }
  .bt-next h2 { font-size: 20px; margin-bottom: 12px; }
  .bt-next-list { display: grid; grid-template-columns: 1fr; gap: 12px; }
  .bt-next-list li { border: 0; padding: 0 0 0 27px; }
  .bt-next-list li::before { top: 0; }
  .bt-next-list strong, .bt-next-list span { font-size: 11px; }
  .bt-next-list strong { margin-bottom: 2px; }
  .bt-direct { display: grid; grid-template-columns: 1fr 1fr; gap: 14px 18px; margin-top: 23px; padding-top: 23px; border-top: 1px solid #366455; }
  .bt-direct h2 { grid-column: 1 / -1; margin: 0; font-size: 20px; }
  .bt-email-option { border: 0; padding: 0; }
  .bt-email-address { font-size: 12px; }
  .bt-email-type { font-size: 11px; }
  .bt-form-zone { padding: 27px 24px 29px; }
  .bt-choice-group { margin-bottom: 25px; }
  .bt-choice { padding: 14px 12px; min-height: 84px; }
  .bt-choice-title { font-size: 13px; }
  .bt-form-head h2 { font-size: 28px; }
  .bt-footer { padding: 17px 24px; }
  .bt-confirmation h2 { font-size: 34px; }
}

@media (max-width: 380px) {
  .bt-header { padding-inline: 18px; }
  .bt-intro, .bt-form-zone { padding-inline: 20px; }
  .bt-intro h1 { font-size: 36px; }
  .bt-choice { padding: 13px 10px; gap: 7px; }
  .bt-choice-title { font-size: 12px; }
  .bt-direct { grid-template-columns: 1fr; }
  .bt-email-address { font-size: 14px; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { transition: none !important; animation: none !important; scroll-behavior: auto !important; }
}
