:root {
  --ink: #2b211c;
  --paper: #fffaf7;
  --peach: #e8a07a;
  --font-display: "Fraunces", Georgia, "Times New Roman", serif;
  --font-body: "Manrope", "Segoe UI", sans-serif;
}
*, *::before, *::after { box-sizing: border-box; }
body {
  margin: 0; min-height: 100vh; min-height: 100dvh;
  font-family: var(--font-body); color: var(--paper); background: var(--ink);
  -webkit-font-smoothing: antialiased;
}
a { color: inherit; text-decoration: none; }
.skip-link {
  position: absolute; left: 1rem; top: -3rem; z-index: 30;
  padding: 0.6rem 0.9rem; background: var(--paper); color: var(--ink);
  font-size: 0.875rem; font-weight: 600;
}
.skip-link:focus { top: 1rem; outline: 2px solid var(--peach); outline-offset: 3px; }
.shell {
  position: relative; isolation: isolate; min-height: 100vh; min-height: 100dvh;
  display: flex; align-items: center;
  padding: max(1.15rem, env(safe-area-inset-top)) max(1.25rem, env(safe-area-inset-right)) max(1.25rem, env(safe-area-inset-bottom)) max(1.25rem, env(safe-area-inset-left));
  background:
    radial-gradient(ellipse 80% 55% at 90% 10%, rgba(224,138,98,0.18), transparent 55%),
    radial-gradient(ellipse 70% 50% at 10% 90%, rgba(247,235,228,0.08), transparent 50%),
    var(--ink);
}
.glow { display: none; }
.top, .hero-copy, .foot { position: relative; z-index: 1; }
.top { display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.brand { display: inline-flex; align-items: center; gap: 0.7rem; min-width: 0; }
.mark { width: 2.4rem; height: 2.4rem; flex: 0 0 auto; }
.wordmark {
  font-family: var(--font-display); font-size: clamp(1.45rem, 4.2vw, 1.9rem);
  font-weight: 600; letter-spacing: -0.02em; line-height: 1; white-space: nowrap;
}
.status {
  margin: 0; color: rgba(255,250,247,0.78); font-size: 0.8rem; font-weight: 600;
  letter-spacing: 0.14em; text-transform: uppercase;
}
.hero-copy {
  display: flex; flex-direction: column; justify-content: center; gap: 0.9rem;
  max-width: 36rem; text-align: left;
}
.place {
  margin: 0; font-size: 0.8rem; font-weight: 600; letter-spacing: 0.14em;
  text-transform: uppercase; color: rgba(255,250,247,0.78);
}
.hero-copy h1 {
  margin: 0; max-width: 11ch; font-family: var(--font-display);
  font-size: clamp(2.7rem, 10vw, 5rem); font-weight: 500; letter-spacing: -0.035em;
  line-height: 0.96; text-wrap: balance;
}
.lede {
  margin: 0; max-width: 34rem; font-size: clamp(1.02rem, 2.5vw, 1.15rem);
  line-height: 1.65; color: rgba(255,250,247,0.9);
}
.foot { margin-top: 1.35rem; }
.foot p { margin: 0; display: inline-flex; flex-wrap: wrap; gap: 0.45rem; color: rgba(255,250,247,0.68); font-size: 0.9rem; }
.foot-brand { font-family: var(--font-display); font-weight: 600; color: rgba(255,250,247,0.92); }
.sep { opacity: 0.5; }
@media (min-width: 860px) {
  .shell { padding: max(1.75rem, env(safe-area-inset-top)) max(3rem, env(safe-area-inset-right)) max(1.75rem, env(safe-area-inset-bottom)) max(3rem, env(safe-area-inset-left)); }
  .hero-copy { max-width: 40rem; }
  .wordmark { font-size: 2rem; }
}
