@font-face {
  font-family: Montserrat;
  src: url("/fonts/montserrat.ttf") format("truetype");
  font-weight: 100 900;
  font-display: swap;
}
@font-face {
  font-family: "Source Serif 4";
  src: url("/fonts/source-serif-4.ttf") format("truetype");
  font-weight: 200 900;
  font-display: swap;
}
* {
  box-sizing: border-box;
}
body {
  margin: 0;
  background: #0d2744 url("/brand/mountain-sunrise.webp") center/cover fixed no-repeat;
  color: #0d2744;
  font:
    1rem/1.65 Montserrat,
    system-ui,
    sans-serif;
}
main {
  max-width: 38rem;
  margin: 6vh auto;
  padding: clamp(24px, 5vw, 48px);
  background: #f4e9d6;
  border-top: 5px solid #d9a441;
  box-shadow: 0 18px 60px #06172988;
}
h1 {
  font:
    800 clamp(1.8rem, 6vw, 2.7rem)/1.15 Montserrat,
    system-ui,
    sans-serif;
  letter-spacing: -0.04em;
}
.crest {
  float: right;
  margin: 0 0 16px 12px;
}
.brand-mat {
  color: #986914;
}
label,
input,
button {
  display: block;
  font: inherit;
}
input {
  width: 100%;
  padding: 12px;
  margin: 6px 0 18px;
  border: 1px solid #5e7ea3;
  border-radius: 4px;
  background: #fffdf7;
  color: #0d2744;
}
button {
  background: #c62828;
  color: #fff;
  padding: 12px 18px;
  border: 1px solid #c62828;
  border-radius: 4px;
  min-height: 44px;
  cursor: pointer;
}
details {
  margin-top: 28px;
  border-top: 1px solid #b7a98f;
  padding-top: 20px;
}
summary {
  cursor: pointer;
  font-weight: 650;
  min-height: 44px;
}
:focus-visible {
  outline: 3px solid #c62828;
  outline-offset: 4px;
}
@media (max-width: 640px) {
  main {
    margin: 20px 4%;
  }
  .crest {
    width: 64px;
    height: 66px;
  }
}
@media (prefers-reduced-motion: reduce) {
  body {
    background-attachment: scroll;
  }
}

.entry-logo {
  display: block;
  width: 100%;
  max-width: 360px;
  height: auto;
  margin: 0 auto 24px;
  background: #061927;
  padding: 16px;
  border-radius: 8px;
}
.entry-title {
  font-size: 1.6rem;
  letter-spacing: 0;
}

.entry-action {
  display: inline-block;
  background: #c62828;
  color: #fff;
  padding: 12px 18px;
  border-radius: 4px;
  min-height: 44px;
  text-decoration: none;
}
