:root {
  --background: #f1f6fb;
  --foreground: #142b49;
  --muted: #56708f;
  --border: #c7d7e8;
  --accent: #2e6fb3;
}

* { box-sizing: border-box; }

html { min-width: 320px; }

body {
  min-width: 320px;
  margin: 0;
  background: var(--background);
  color: var(--foreground);
  font-family: Arial, Helvetica, sans-serif;
}

.coming-soon-page { position: relative; min-height: 100vh; overflow: hidden; }
.coming-soon-inner {
  position: relative;
  z-index: 1;
  display: flex;
  min-height: 100vh;
  flex-direction: column;
  padding: 2.25rem clamp(1.5rem, 5vw, 5.5rem) 2rem;
}
.site-header, .site-footer { display: flex; align-items: center; justify-content: space-between; }
.site-header { border-bottom: 1px solid var(--border); padding-bottom: 1.35rem; }
.brand { display: inline-flex; align-items: center; gap: .7rem; color: var(--foreground); font-size: 1.05rem; font-weight: 700; letter-spacing: .02em; text-decoration: none; }
.brand-mark { position: relative; display: inline-block; width: 1.55rem; height: 1.6rem; }
.brand-mark span { position: absolute; bottom: 0; display: block; width: .65rem; background: var(--accent); }
.brand-mark span:first-child { left: 0; height: 1.1rem; }
.brand-mark span:last-child { right: 0; height: 1.6rem; }
.header-label, .footer-year, .footer-status, .detail-number, .eyebrow { font-size: .68rem; letter-spacing: .14em; text-transform: uppercase; }
.header-label { color: var(--muted); }
.hero-section { display: grid; flex: 1; grid-template-columns: minmax(0, 1fr) minmax(8rem, 14rem); align-items: center; gap: 3rem; width: min(100%, 78rem); margin: 0 auto; padding: clamp(4rem, 12vh, 9rem) 0 clamp(4rem, 10vh, 8rem); }
.eyebrow { display: flex; align-items: center; gap: .75rem; margin: 0 0 1.5rem; color: var(--accent); font-weight: 700; }
.eyebrow-rule { display: inline-block; width: 2.5rem; height: 1px; background: var(--accent); }
h1 { max-width: 12ch; margin: 0; color: var(--foreground); font-size: clamp(3.4rem, 8vw, 7.5rem); font-weight: 400; letter-spacing: -.035em; line-height: .98; }
h1 em { color: var(--accent); font-family: Georgia, "Times New Roman", serif; font-style: italic; font-weight: 400; }
.hero-text { max-width: 31rem; margin: 2.25rem 0 0; color: var(--muted); font-size: 1rem; line-height: 1.7; }
.hero-detail { align-self: end; padding: 0 0 .8rem 1.5rem; border-left: 1px solid var(--border); }
.detail-number { color: var(--accent); font-weight: 700; }
.detail-divider { width: 3rem; height: 1px; margin: 1.5rem 0; background: var(--border); }
.hero-detail p { margin: 0; color: var(--muted); font-size: .82rem; line-height: 1.55; }
.site-footer { border-top: 1px solid var(--border); padding-top: 1.35rem; color: var(--muted); }
.footer-status { display: inline-flex; align-items: center; gap: .55rem; }
.status-dot { display: inline-block; width: .4rem; height: .4rem; border-radius: 50%; background: var(--accent); }
.architecture-lines { position: absolute; inset: 0; pointer-events: none; }
.architecture-line { position: absolute; display: block; background: var(--border); opacity: .65; }
.architecture-line-one, .architecture-line-three, .architecture-line-five { top: 0; bottom: 0; width: 1px; }
.architecture-line-one { left: 22%; }
.architecture-line-three { left: 50%; }
.architecture-line-five { right: 16%; }
.architecture-line-two, .architecture-line-four { left: 0; right: 0; height: 1px; }
.architecture-line-two { top: 24%; }
.architecture-line-four { bottom: 18%; }

@media (max-width: 700px) {
  .coming-soon-inner { padding: 1.5rem 1.35rem 1.35rem; }
  .header-label { display: none; }
  .hero-section { display: flex; flex-direction: column; align-items: flex-start; gap: 3.5rem; padding: 5.5rem 0 5rem; }
  h1 { font-size: clamp(3rem, 15vw, 5.2rem); }
  .hero-text { max-width: 25rem; margin-top: 1.8rem; font-size: .95rem; }
  .hero-detail { align-self: flex-start; padding-left: 1rem; }
  .footer-year { display: none; }
  .architecture-line-one { left: 20%; }
  .architecture-line-three { left: 78%; }
  .architecture-line-five { display: none; }
}
