/* coming-soon.css - full-screen Coming Soon layout */

.cs-page {
  position: relative; min-height: 100svh; overflow: hidden;
  display: flex; flex-direction: column; color: #fff;
}
.cs-page .aurora { z-index: 0; }
.cs-page::after {
  content: ""; position: absolute; inset: 0; z-index: 1; pointer-events: none;
  background: radial-gradient(60% 55% at 50% 40%, rgba(58,15,22,0.12) 0%, transparent 60%),
              linear-gradient(180deg, rgba(30,6,6,0.16) 0%, transparent 22%, transparent 74%, rgba(30,6,6,0.28) 100%);
}

.cs-top {
  position: relative; z-index: 3; display: flex; justify-content: center;
  padding: clamp(28px, 4vw, 44px) var(--gut) 0;
}
.cs-logo { display: inline-block; line-height: 0; }
.cs-logo img { height: 22px; width: auto; display: block; }

.cs-main {
  position: relative; z-index: 3; flex: 1;
  display: flex; align-items: center; justify-content: center;
  padding: clamp(40px, 6vw, 60px) var(--gut);
}
.cs-content { max-width: 640px; text-align: center; display: flex; flex-direction: column; align-items: center; }
.cs-content .eyebrow { color: rgba(255,255,255,0.85); justify-content: center; }
.cs-content h1 {
  font-family: var(--serif); font-weight: 500; letter-spacing: -0.02em;
  font-size: clamp(38px, 6.4vw, 76px); line-height: 1.06; margin-top: 26px;
  text-shadow: 0 4px 32px rgba(20,4,4,0.35);
}
.cs-content .body-copy {
  margin-top: 24px; max-width: 52ch; font-size: clamp(15.5px, 1.4vw, 18px);
  line-height: 1.7; color: rgba(255,255,255,0.88);
}
.cs-content .closing {
  margin-top: 8px; font-size: clamp(15.5px, 1.4vw, 18px); color: rgba(255,255,255,0.7);
}

.cs-contact { margin-top: 44px; display: flex; flex-direction: column; align-items: center; gap: 10px; }
.cs-contact .cs-lead { font-family: var(--mono); font-size: 12px; letter-spacing: 0.1em; text-transform: uppercase; color: rgba(255,255,255,0.6); }
.cs-contact a {
  font-family: var(--serif); font-size: clamp(19px, 2vw, 24px); color: #fff;
  border-bottom: 1px solid rgba(255,255,255,0.5); padding-bottom: 6px;
  display: inline-flex; align-items: center; gap: 10px; transition: 0.4s var(--ease);
}
.cs-contact a:hover { gap: 16px; border-color: #fff; color: var(--au-peach); }

.cs-return { margin-top: 44px; }
.cs-return .btn-ghost:hover { background: rgba(255,207,166,0.14); border-color: var(--au-peach); color: var(--au-peach); }

.cs-foot {
  position: relative; z-index: 3; padding: 24px var(--gut) clamp(28px,4vw,40px);
  display: flex; justify-content: space-between; align-items: center; gap: 20px; flex-wrap: wrap;
  border-top: 1px solid rgba(255,255,255,0.18);
  font-family: var(--mono); font-size: 11.5px; letter-spacing: 0.06em; color: rgba(255,255,255,0.72);
}
.cs-foot .cs-links { display: flex; gap: 24px; }
.cs-foot a:hover { color: var(--au-peach); }
.cs-foot .cs-loc { display: flex; gap: 10px; align-items: center; }

@media (max-width: 640px) {
  .cs-foot { flex-direction: column; text-align: center; gap: 14px; }
}

/* focus states */
.cs-page a:focus-visible, .cs-page button:focus-visible, .cs-page input:focus-visible {
  outline: 2px solid var(--au-peach); outline-offset: 3px; border-radius: 4px;
}

/* fade-in */
.cs-fade { opacity: 0; transform: translateY(16px); animation: csFadeIn 1s var(--ease) forwards; }
@keyframes csFadeIn { to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: reduce) { .cs-fade { animation: none; opacity: 1; transform: none; } }
