/* Fonts are served from this site (SIL Open Font License 1.1), no outside requests. */
@font-face {
  font-family: 'Bricolage Grotesque';
  font-style: normal;
  font-display: swap;
  font-weight: 200 800;
  src: url(fonts/bricolage-grotesque-latin-ext-opsz-normal.woff2) format('woff2');
  unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}
@font-face {
  font-family: 'Bricolage Grotesque';
  font-style: normal;
  font-display: swap;
  font-weight: 200 800;
  src: url(fonts/bricolage-grotesque-latin-opsz-normal.woff2) format('woff2');
  unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
@font-face {
  font-family: 'Figtree';
  font-style: normal;
  font-display: swap;
  font-weight: 300 900;
  src: url(fonts/figtree-latin-wght-normal.woff2) format('woff2');
  unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}

*, *::before, *::after { box-sizing: border-box; }
html, body { margin: 0; }
body {
  background: #12211D;
  color: #E8EDE6;
  font-family: 'Figtree', system-ui, -apple-system, 'Segoe UI', sans-serif;
  -webkit-font-smoothing: antialiased;
}
.page {
  position: relative;
  min-height: 100vh;
  min-height: 100dvh;
  padding: 64px 20px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 28px;
  text-align: center;
}
.display { font-family: 'Bricolage Grotesque', system-ui, -apple-system, 'Segoe UI', sans-serif; font-weight: 700; }
.logo {
  font-size: clamp(48px, 9vw, 84px);
  line-height: 1;
  letter-spacing: -0.02em;
  color: #F2B63C;
}
main { display: flex; flex-direction: column; align-items: center; gap: 28px; width: 100%; }
.door { display: block; width: 100%; max-width: 395px; height: auto; margin: -10px 0 -15px; }
.message { display: flex; flex-direction: column; align-items: center; gap: 10px; }
.message p, .message h1 { margin: 0; }
.line-1 { font-size: clamp(21px, calc(2.6vw + 2px), 26px); line-height: 1.4; color: #C9D3CD; }
.line-2 { font-size: clamp(25px, calc(3.4vw + 2px), 34px); line-height: 1.3; font-weight: 700; color: #E8EDE6; }
.message .line-3 { margin-top: 4px; font-size: clamp(34px, calc(5.6vw + 2px), 56px); line-height: 1.1; letter-spacing: -0.015em; color: #F2B63C; }
.message .line-4 { margin-top: 6px; font-size: clamp(36px, 6.4vw, 64px); line-height: 1.05; letter-spacing: -0.02em; color: #FFFFFF; }
footer { position: absolute; left: 0; right: 0; bottom: 20px; font-size: 15px; color: #B5C2BB; }
