:root {
  color-scheme: dark;
  font-family: Arial, Helvetica, sans-serif;
  color: #f4f3ef;
  background: #101010;
  font-synthesis: none;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

* { box-sizing: border-box; }
body { margin: 0; }
p { margin: 0; }
::selection { color: #101010; background: #f4f3ef; }

.page {
  min-height: 100vh;
  min-height: 100svh;
  max-width: 1680px;
  margin-inline: auto;
  padding: 36px clamp(24px, 5.6vw, 96px) 28px;
  display: flex;
  flex-direction: column;
}

.header, .footer {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 24px;
}
.brand { display: flex; align-items: center; gap: 13px; }
.brand-mark { width: 31px; height: 31px; flex-shrink: 0; }
.brand span { font-size: 19px; font-weight: 600; letter-spacing: -.7px; }
.status, .eyebrow, .domain {
  font-family: "Courier New", Courier, monospace;
  font-size: 11px;
  letter-spacing: 1.3px;
}
.status { display: flex; align-items: center; gap: 9px; color: #ababaa; }
.status-dot { width: 5px; height: 5px; background: #dededb; border-radius: 50%; }

.main {
  flex: 1;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(220px, .58fr);
  align-items: center;
  column-gap: 48px;
  padding-block: 88px 100px;
}
.eyebrow { text-transform: uppercase; color: #a8a8a5; margin-bottom: 32px; }
h1 {
  margin: 0 0 37px -7px;
  font-size: clamp(104px, 15.6vw, 224px);
  line-height: .88;
  letter-spacing: -.075em;
  font-weight: 500;
}
.period { color: #81817d; }
.intro { font-size: clamp(25px, 2.5vw, 36px); line-height: 1.2; letter-spacing: -.9px; }
.description { margin-top: 22px; color: #a8a8a5; font-size: 14px; line-height: 1.7; }
.room { width: 100%; height: auto; max-width: 340px; justify-self: end; margin-top: 30px; }
.room-back { stroke: #383838; stroke-width: 1; }
.room-front { stroke: #72726e; stroke-width: 1; }
.room-door { fill: #efeee9; stroke: #efeee9; stroke-width: 1; }
.room-handle { stroke: #101010; stroke-width: 2; }

.footer { border-top: 1px solid #323232; padding-top: 20px; color: #90908c; font-size: 12px; }
.domain { color: #b7b7b2; font-size: 10px; letter-spacing: .4px; white-space: nowrap; }
.domain span { padding-left: 12px; }

@media (min-width: 1600px) {
  .main { padding-block: 110px 130px; }
}
@media (max-width: 760px) {
  .page { padding-top: 26px; padding-bottom: 22px; }
  .header { gap: 12px; }
  .brand { gap: 9px; }
  .brand span { font-size: 17px; }
  .brand-mark { width: 27px; height: 27px; }
  .status { font-size: 9px; letter-spacing: .3px; gap: 7px; }
  .main { grid-template-columns: minmax(0, 1fr); align-content: center; row-gap: 28px; padding-block: 64px 60px; }
  .message { position: relative; z-index: 1; }
  .eyebrow { font-size: 10px; letter-spacing: 1.2px; margin-bottom: 30px; }
  h1 { font-size: clamp(96px, 23vw, 168px); margin-left: -4px; margin-bottom: 31px; }
  .intro { font-size: 27px; }
  .description { font-size: 13px; margin-top: 20px; }
  .room { width: 124px; opacity: .8; margin: 0; }
  .footer { align-items: flex-start; font-size: 11px; gap: 14px; }
  .footer > p:first-child { max-width: 160px; line-height: 1.5; }
  .domain { padding-top: 2px; font-size: 9px; }
  .domain span { padding-left: 3px; }
}
@media (max-width: 380px) {
  .status { font-size: 8px; }
  .brand span { font-size: 16px; }
  .room { width: 90px; }
  .description { max-width: 210px; }
}
@media (max-height: 680px) and (min-width: 761px) {
  .main { padding-block: 55px; }
  h1 { font-size: clamp(104px, 13vw, 164px); }
}
