:root {
  --background: #f7f7f2;
  --paper: #fffefa;
  --beige: #e8e3d8;
  --sage: #899681;
  --sage-dark: #586652;
  --ink: #283027;
  --muted: #747b70;
  --line: #dfe2d8;
  --serif: "Playfair Display", Georgia, serif;
  --sans: "DM Sans", Arial, sans-serif;
}
* { box-sizing: border-box; }
html, body { min-height: 100%; }
body { margin: 0; background: var(--background); color: var(--ink); font-family: var(--sans); }
.page { min-height: 100vh; display: flex; flex-direction: column; padding: 0 7.2%; }
.topbar { min-height: 94px; display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid var(--line); }
.brand { display: inline-flex; align-items: center; gap: 12px; color: var(--ink); text-decoration: none; }
.monogram { width: 42px; height: 42px; display: grid; place-items: center; border: 1px solid var(--sage); color: var(--sage-dark); font: 17px var(--serif); letter-spacing: -.08em; }
.brand-type { font-size: 12px; font-weight: 700; letter-spacing: .17em; line-height: 1.35; }
.brand-type small { display: block; color: var(--sage-dark); font-size: 8px; font-weight: 500; letter-spacing: .37em; }
.top-note { color: var(--muted); font-size: 9px; letter-spacing: .17em; }
.coming-soon { width: min(720px, 100%); margin: auto; padding: 90px 0 105px; text-align: center; }
.ornament { display: flex; align-items: center; justify-content: center; gap: 17px; margin-bottom: 30px; color: var(--sage-dark); }
.ornament span:not(.ornament-key) { width: 48px; height: 1px; background: #b9c1b2; }
.ornament-key { font: 26px var(--serif); transform: rotate(45deg); }
.eyebrow { margin: 0 0 24px; color: var(--sage-dark); font-size: 9px; font-weight: 700; letter-spacing: .22em; }
h1 { margin: 0; font: 400 clamp(44px, 7vw, 76px)/1.13 var(--serif); letter-spacing: -.045em; }
h1 em { color: var(--sage-dark); font-weight: 400; }
.intro { max-width: 525px; margin: 28px auto 0; color: var(--muted); font-size: 13px; line-height: 2; }
.coming-label { width: fit-content; margin: 38px auto 0; padding: 13px 19px; border: 1px solid #c9d0c3; color: var(--sage-dark); font-size: 9px; font-weight: 700; letter-spacing: .17em; }
.dot { display: inline-block; width: 6px; height: 6px; margin: 0 9px 1px 0; border-radius: 50%; background: var(--sage); }
.signoff { margin: 45px 0 0; color: #727b6d; font: italic 18px var(--serif); }
.footer { min-height: 66px; display: flex; align-items: center; justify-content: space-between; gap: 18px; border-top: 1px solid var(--line); color: #858b80; font-size: 8px; letter-spacing: .14em; }
@media (max-width: 600px) {
  .page { padding: 0 6%; }
  .topbar { min-height: 78px; }
  .top-note { font-size: 7px; letter-spacing: .1em; }
  .coming-soon { padding: 75px 0 85px; }
  .intro { font-size: 12px; }
  .footer { padding: 17px 0; flex-direction: column; justify-content: center; text-align: center; }
}
