:root {
  color-scheme: light;
  --cream: #F8F5EE;
  --blue: #163A5F;
  --yellow: #F4C542;
  --coral: #D95C4F;
}
* { box-sizing: border-box; }
body {
  margin: 0;
  color: var(--blue);
  background: var(--cream);
  background-image: radial-gradient(ellipse at 50% 35%, #f4c5420c, transparent 65%);
  -webkit-font-smoothing: antialiased;
}
.landing {
  min-height: 100vh;
  min-height: 100svh;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: max(32px, env(safe-area-inset-top)) max(24px, env(safe-area-inset-right)) max(32px, env(safe-area-inset-bottom)) max(24px, env(safe-area-inset-left));
  gap: clamp(24px, 4vh, 40px);
}
.emblem { display: block; width: min(64vw, 360px); height: auto; flex-shrink: 0; }
.message {
  width: min(100%, 630px);
  position: relative;
  font-family: Georgia, 'Times New Roman', serif;
  font-size: clamp(20px, 2.5vw, 28px);
  line-height: 1.65;
  text-align: center;
  font-weight: 400;
}
.typed-message { margin: 0; min-height: 6.6em; transition: opacity 850ms ease; }
.typed-message.resetting { opacity: 0; }
.cursor { display: none; width: 2px; height: .85em; margin-left: 4px; background: var(--coral); vertical-align: -.03em; }
.is-typing .cursor { display: inline-block; animation: blink 1.15s step-end infinite; }
.accessible-message { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
@keyframes blink { 50% { opacity: 0; } }
@media (min-width: 640px) { .typed-message { min-height: 4.95em; } }
@media (max-height: 550px) and (min-width: 640px) {
  .landing { flex-direction: row; gap: 40px; }
  .emblem { width: min(32vw, 260px); }
  .message { max-width: 470px; }
}
@media (prefers-reduced-motion: reduce) {
  .cursor { display: none !important; }
  .typed-message { transition: none; }
}
