:root {
  --green: #0f9a4c;
  --green-deep: #08783a;
  --gold: #c3a734;
  --muted: #607768;
  --sans: "DM Sans", Arial, sans-serif;
}
* { box-sizing: border-box; }
html, body { min-height: 100%; margin: 0; }
html { scroll-behavior: smooth; }
body { font-family: var(--sans); color: var(--green-deep); -webkit-font-smoothing: antialiased; }
.site-header {
  height: 76px; padding: 0 7.5%; display: flex; align-items: center;
  justify-content: space-between; background: rgba(255,255,255,.9);
  border-bottom: 1px solid rgba(15,154,76,.1);
  position: absolute; z-index: 4; inset: 0 0 auto;
}
.header-brand {
  display: flex; align-items: center; justify-content: center; overflow: hidden;
  width: 250px; height: 64px; flex: 0 0 auto; text-decoration: none;
}
/* The supplied logo has white margins; crop them while keeping the mark centered. */
.header-brand img { display: block; width: 126%; height: auto; max-width: none; flex: 0 0 126%; transform: translate(2px, 2px); }
.header-nav { display: flex; align-items: center; gap: 30px; }
.header-nav a { font-size: 12px; font-weight: 600; color: var(--muted); text-decoration: none; transition: color .2s; }
.header-nav a:hover, .header-nav a.active { color: var(--green-deep); }
.header-nav a.active { position: relative; }
.header-nav a.active::after { content: ""; position: absolute; left: 0; right: 0; bottom: -9px; height: 2px; background: var(--gold); }
.header-status { font-size: 9px; font-weight: 700; letter-spacing: 1.7px; color: var(--muted); display: flex; align-items: center; gap: 10px; }
.header-status i, .eyebrow i { width: 7px; height: 7px; flex: 0 0 7px; border-radius: 50%; background: var(--gold); box-shadow: 0 0 0 4px rgba(195,167,52,.15); }
.coming-soon {
  min-height: 100vh; min-height: 100svh; position: relative; overflow: hidden;
  display: grid; place-items: center; padding: 120px 24px 50px;
  background: linear-gradient(125deg,#f5faf6 0%,#fff 52%,#f5faf7 100%);
}
.content { position: relative; z-index: 1; width: min(100%,690px); display: flex; align-items: center; flex-direction: column; text-align: center; }
.opening-cue { display: flex; align-items: center; justify-content: center; gap: 12px; color: var(--gold); margin: 18px 0 24px; }
.opening-cue svg { width: 19px; height: 19px; flex: 0 0 19px; transform: rotate(-16deg); }
.cut-line { width: 34px; border-top: 1px dashed rgba(195,167,52,.7); }
.opening-label { font-size: 9px; font-weight: 800; letter-spacing: 2px; white-space: nowrap; }
.eyebrow { font-size: 10px; letter-spacing: 2.6px; font-weight: 700; color: var(--muted); margin: 0 0 19px; display: flex; align-items: center; gap: 10px; }
h1 { font-size: clamp(76px,13vw,132px); letter-spacing: -.085em; line-height: .81; margin: 0; color: var(--green-deep); font-weight: 700; }
h1 span { color: var(--green); }
.message { font-size: 14px; line-height: 1.8; color: var(--muted); margin: 28px 0 0; }
.bottom-mark { display: flex; align-items: center; gap: 9px; margin-top: 54px; color: var(--green-deep); font-size: 9px; font-weight: 700; letter-spacing: 2px; }
.bottom-dot { width: 8px; height: 8px; border-radius: 50%; background: var(--gold); }
.side-note { position: absolute; right: 35px; bottom: 34px; color: #85998b; font-size: 9px; letter-spacing: 2px; font-weight: 700; writing-mode: vertical-rl; }
.side-note b { color: var(--gold); padding: 9px 0; }
.ambient { position: absolute; border-radius: 50%; pointer-events: none; }
.ambient-one { width: 460px; height: 460px; right: -250px; top: -210px; border: 1px solid rgba(15,154,76,.1); box-shadow: 0 0 0 36px rgba(15,154,76,.025),0 0 0 72px rgba(15,154,76,.018); }
.ambient-two { width: 320px; height: 320px; left: -230px; bottom: -180px; background: rgba(15,154,76,.035); }
@media(max-width:600px) {
  .site-header { height: 64px; padding: 0 6%; }
  .header-brand { width: 168px; height: 48px; }
  .header-status { display: none; }
  .header-nav { gap: 17px; }
  .header-nav a { font-size: 11px; }
  .coming-soon { padding: 82px 22px 35px; }
  .opening-cue { gap: 8px; margin: 10px 0 22px; }
  .opening-cue svg { width: 17px; height: 17px; flex-basis: 17px; }
  .cut-line { width: 20px; }
  .opening-label { font-size: 8px; letter-spacing: 1.5px; }
  .eyebrow { font-size: 8px; letter-spacing: 1.7px; }
  .bottom-mark { margin-top: 42px; font-size: 8px; letter-spacing: 1.5px; }
  .side-note { right: 13px; bottom: 17px; font-size: 7px; }
}
@media(prefers-reduced-motion:reduce) { * { scroll-behavior: auto !important; } }
