:root {
  color-scheme: light;
  font-family: "Segoe UI", system-ui, -apple-system, BlinkMacSystemFont, sans-serif;
  color: #1d2a26;
  background: #10362d;
}

* {
  box-sizing: border-box;
}

body {
  min-width: 320px;
  min-height: 100vh;
  margin: 0;
  background:
    radial-gradient(circle at 16% 14%, rgba(238, 116, 40, 0.22), transparent 30rem),
    radial-gradient(circle at 88% 82%, rgba(248, 241, 223, 0.13), transparent 26rem),
    #10362d;
}

.access-layout {
  min-height: 100vh;
  display: grid;
  place-items: center;
  padding: clamp(1rem, 4vw, 3rem);
}

.access-card {
  width: min(100%, 34rem);
  padding: clamp(1.6rem, 5vw, 3rem);
  border: 1px solid rgba(255, 255, 255, 0.45);
  border-radius: 1.75rem;
  background: #fffcf4;
  box-shadow: 0 1.75rem 5rem rgba(4, 25, 20, 0.34);
}

.access-brand {
  width: 4.25rem;
  height: 4.25rem;
  display: grid;
  place-items: center;
  margin-bottom: 1.35rem;
  border-radius: 1.25rem;
  color: #fffcf4;
  background: #d45b1d;
  box-shadow: 0 0.7rem 1.6rem rgba(184, 73, 23, 0.24);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 1.45rem;
  font-weight: 700;
  letter-spacing: 0.04em;
}

.access-eyebrow {
  margin: 0 0 0.55rem;
  color: #b84917;
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.09em;
  text-transform: uppercase;
}

h1 {
  margin: 0;
  color: #09251f;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(2rem, 7vw, 3.15rem);
  line-height: 1.04;
  letter-spacing: -0.035em;
}

.access-intro {
  margin: 1rem 0 1.5rem;
  color: #56645e;
  line-height: 1.6;
}

.access-error {
  margin: 0 0 1.25rem;
  padding: 0.85rem 1rem;
  border: 1px solid #e3b7b0;
  border-radius: 0.75rem;
  color: #8b2828;
  background: #fff0ed;
  font-weight: 650;
}

.access-form {
  display: grid;
  gap: 0.65rem;
}

.access-form label {
  color: #16483b;
  font-weight: 750;
}

.access-form input {
  width: 100%;
  min-height: 3.25rem;
  padding: 0.7rem 0.9rem;
  border: 2px solid #d6d4c8;
  border-radius: 0.8rem;
  color: #1d2a26;
  background: #ffffff;
  font: inherit;
}

.access-form input:focus {
  border-color: #ee7428;
  outline: 3px solid rgba(238, 116, 40, 0.2);
  outline-offset: 1px;
}

.access-form button {
  min-height: 3.25rem;
  margin-top: 0.35rem;
  border: 0;
  border-radius: 0.8rem;
  color: #ffffff;
  background: #d45b1d;
  font: inherit;
  font-weight: 800;
  cursor: pointer;
}

.access-form button:hover {
  background: #b84917;
}

.access-form button:focus-visible,
.access-back:focus-visible {
  outline: 3px solid rgba(238, 116, 40, 0.5);
  outline-offset: 3px;
}

.access-note {
  margin: 1.2rem 0 0;
  color: #6d766f;
  font-size: 0.86rem;
  line-height: 1.5;
}

.access-back {
  display: inline-block;
  margin-top: 1.1rem;
  color: #205d4c;
  font-weight: 750;
}

@media (max-width: 520px) {
  .access-layout {
    align-items: start;
    padding: 0;
  }

  .access-card {
    min-height: 100vh;
    border: 0;
    border-radius: 0;
    box-shadow: none;
  }
}
