:root { color-scheme: light; font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; color: #18392f; background: #f3f6f2; }
* { box-sizing: border-box; }
body { margin: 0; min-height: 100svh; display: flex; flex-direction: column; background: radial-gradient(ellipse at 95% 0%, #e7e5d0 0, transparent 48%); }
.access-card-header { padding: 0; margin-bottom: 28px; }
.access-brand { display: inline-flex; align-items: center; gap: 12px; text-decoration: none; color: #15352b; font-size: 24px; font-weight: 800; letter-spacing: .08em; }
.access-brand small { display: block; font-size: 9px; letter-spacing: .13em; margin-top: 2px; }
.access-mark { display: flex; align-items: center; font: 700 15px Georgia, serif; color: #7b5b14; background: #ead7a0; padding: 10px 7px; border-radius: 50%; letter-spacing: 0; }
.access-mark span { color: #52625d; background: #dde3df; padding: 8px 5px; border-radius: 50%; margin: 3px -12px -5px -4px; }
.access-card { width: min(100% - 32px, 530px); margin: auto; padding: clamp(26px, 5vw, 46px); background: #fff; border: 1px solid #dfe5df; border-radius: 24px; box-shadow: 0 20px 70px #1433270a; }
.access-eyebrow { text-transform: uppercase; font-size: 11px; letter-spacing: .11em; font-weight: 750; color: #8c6e25; margin: 0 0 18px; }
h1 { font-size: clamp(28px, 5vw, 36px); letter-spacing: -.035em; line-height: 1.16; margin: 0 0 20px; }
p { line-height: 1.6; }
.access-intro { color: #597064; margin-bottom: 28px; }
label { display: block; font-size: 14px; font-weight: 650; margin-bottom: 8px; }
input[type=email] { width: 100%; font: inherit; font-size: 16px; padding: 15px; border: 1px solid #aebeb2; border-radius: 10px; background: #fcfdfb; color: #18392f; }
input:focus-visible, button:focus-visible, a:focus-visible { outline: 3px solid #bf9f50; outline-offset: 3px; }
.access-note, .access-footnote { font-size: 12px; color: #64746a; }
.access-note { margin: 12px 0 24px; }
.access-footnote { padding-top: 19px; margin: 22px 0 0; border-top: 1px solid #e5eae4; }
button, .access-button { width: 100%; display: flex; justify-content: center; align-items: center; gap: 12px; padding: 16px; border: 0; border-radius: 10px; color: #fff; background: #204d3d; font: 650 15px/1.35 inherit; font-family: inherit; cursor: pointer; text-decoration: none; text-align: center; }
button { font-size: 15px; font-weight: 650; }
button:hover, .access-button:hover { background: #153b2e; }
button:disabled { cursor: wait; opacity: .7; }
.access-status { margin: 18px 0 0; font-size: 14px; }
.access-status:empty { display: none; }
.access-status[data-kind=success] { padding: 14px; border-radius: 9px; background: #edf5ec; color: #245b3f; }
.access-status[data-kind=error] { color: #9a3b34; }
.access-email { font-weight: 700; overflow-wrap: anywhere; margin: -8px 0 28px; }
.access-back { font-size: 13px; color: #395d4d; }
footer { padding: 30px 20px; text-align: center; color: #79897e; font-size: 12px; }
@media (max-height: 650px) { .access-card { margin: 12px auto; } }

#access-form > button[type="submit"] {
  margin-top: 20px;
  justify-content: space-between;
  background: linear-gradient(180deg, #ffffff40, #ffffff00 55%, #ffffff18), linear-gradient(115deg, #ebce89 0%, #d7b36c 49.5%, #fff9e9 49.5%, #fff9e9 50.5%, #dfe5e9 50.5%, #b9c6d0 100%);
  color: #29362f;
  border: 1px solid #b9b49d;
  border-radius: 10px;
  font-weight: 700;
  box-shadow: inset 0 1px 0 #ffffffb3, 0 3px 8px #6655371f;
  transition: filter .15s, box-shadow .15s, transform .15s;
}
#access-form > button[type="submit"]:hover:not(:disabled) { filter: brightness(1.04); box-shadow: inset 0 1px 0 #ffffffcc, 0 4px 10px #6655372b; }
#access-form > button[type="submit"]:active:not(:disabled) { filter: brightness(.98); box-shadow: inset 0 1px 3px #66553726; }
#access-form > button[type="submit"] > span { display: grid; place-items: center; flex-shrink: 0; width: 24px; height: 24px; border-radius: 50%; background: #ffffff59; font-size: 18px; }
