:root {
  --navy: #10233b;
  --green: #1d7a4f;
  --white: #fff;
  --soft-white: rgba(255,255,255,.86);
}
* { box-sizing: border-box; }
html, body { width: 100%; min-height: 100%; margin: 0; }
body { font-family: Inter, "Segoe UI", Arial, sans-serif; background: var(--navy); color: var(--white); }
a { color: inherit; text-decoration: none; }
.coming-soon { position: relative; isolation: isolate; display: grid; place-items: center; min-height: 100svh; overflow: hidden; padding: 36px 22px; }
.backdrop { position: absolute; z-index: -3; inset: 0; background: url("building.jpeg") center 48% / cover no-repeat; transform: scale(1.025); animation: settle 1.2s ease-out both; }
.shade { position: absolute; z-index: -2; inset: 0; background: linear-gradient(110deg, rgba(8,20,36,.92) 0%, rgba(10,29,49,.82) 48%, rgba(12,32,48,.62) 100%); }
.content { width: min(100%, 920px); text-align: center; padding: clamp(28px, 5vw, 54px); animation: rise .8s ease-out both; }
.logo { display: block; width: clamp(105px, 15vw, 155px); height: clamp(105px, 15vw, 155px); object-fit: contain; margin: 0 auto 25px; border-radius: 50%; background: #fff; padding: 7px; box-shadow: 0 10px 34px rgba(0,0,0,.24); }
.eyebrow { margin: 0 0 16px; color: #c5e8d2; font-size: .78rem; font-weight: 700; letter-spacing: .22em; line-height: 1.6; text-transform: uppercase; }
h1 { margin: 0; font-size: clamp(2.65rem, 7vw, 5.8rem); font-weight: 800; line-height: 1.02; letter-spacing: -.045em; text-shadow: 0 3px 24px rgba(0,0,0,.22); }
h1 span { color: #b8e3c8; }
.accent-line { width: 76px; height: 4px; margin: 25px auto 22px; border-radius: 10px; background: #64b889; }
.message { margin: 0 auto; max-width: 610px; color: var(--soft-white); font-size: clamp(1rem, 2vw, 1.16rem); line-height: 1.8; }
.contact { display: flex; flex-direction: column; align-items: center; gap: 13px; margin: 29px auto 0; }
.contact-link { display: inline-flex; align-items: flex-start; justify-content: center; gap: 10px; color: #fff; font-size: .98rem; line-height: 1.6; transition: color .2s ease; }
.contact-link:hover { color: #c5e8d2; }
.contact-icon { display: inline-grid; place-items: center; flex: 0 0 25px; width: 25px; height: 25px; border: 1px solid rgba(255,255,255,.55); border-radius: 50%; font-size: .85rem; }
.address { max-width: 700px; }
.footer-note { margin: 39px 0 0; color: rgba(255,255,255,.65); font-size: .67rem; font-weight: 700; letter-spacing: .16em; line-height: 1.8; }
.footer-note span { padding: 0 7px; color: #b8e3c8; }
@keyframes rise { from { opacity: 0; transform: translateY(18px); } to { opacity: 1; transform: translateY(0); } }
@keyframes settle { from { transform: scale(1.07); } to { transform: scale(1.025); } }
@media (max-width: 600px) {
  .coming-soon { padding: 20px 14px; }
  .content { padding: 22px 8px; }
  .logo { margin-bottom: 22px; }
  .eyebrow { font-size: .66rem; letter-spacing: .15em; }
  h1 { font-size: clamp(2.45rem, 12vw, 4rem); }
  .message { line-height: 1.65; }
  .desktop-break { display: none; }
  .contact { margin-top: 25px; }
  .contact-link { font-size: .88rem; }
  .footer-note { margin-top: 30px; font-size: .58rem; letter-spacing: .1em; }
  .shade { background: linear-gradient(180deg, rgba(8,20,36,.84), rgba(8,20,36,.88)); }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; scroll-behavior: auto !important; transition-duration: .01ms !important; }
}
