/* ===========================================================================
   Nurtured By Nature — "coming soon" holding page (front-page.php)
   Professional, co-branded (Nurtured By Nature + RevX Growth Technologies).
   Scoped under .nbn-holding so nothing leaks into the rest of the site.
   =========================================================================== */

.nbn-holding {
  --teal:      var(--nbn-teal, #28afcf);
  --teal-deep: var(--nbn-teal-deep, #007893);
  --teal-ink:  var(--nbn-teal-ink, #0a3d49);
  --font-display: var(--nbn-font-display, 'Fredoka', 'Trebuchet MS', sans-serif);
  --font-body:    var(--nbn-font-body, 'Nunito Sans', system-ui, sans-serif);

  margin: 0;
  font-family: var(--font-body);
  color: #eaf7fa;
  -webkit-font-smoothing: antialiased;
}
.nbn-holding * { box-sizing: border-box; }
.nbn-holding img { max-width: 100%; display: block; }

/* full-screen stage */
.nbn-holding .stage {
  position: relative;
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 64px 24px 28px;
  overflow: hidden;
  background:
    linear-gradient(180deg, rgba(8,34,42,.86) 0%, rgba(8,34,42,.72) 45%, rgba(8,34,42,.92) 100%),
    radial-gradient(1200px 700px at 50% -10%, rgba(40,175,207,.30), transparent 60%),
    url("../images/demo/hero.jpg") center 35% / cover no-repeat,
    #0a3d49;
}

/* soft animated wave accent at the bottom */
.nbn-holding .stage::after {
  content: "";
  position: absolute; left: 0; right: 0; bottom: 0; height: 90px;
  background:
    radial-gradient(60% 90px at 50% 100%, rgba(40,175,207,.35), transparent 70%);
  pointer-events: none;
}

.nbn-holding .inner { position: relative; z-index: 2; max-width: 720px; width: 100%; }

/* brand lockup */
.nbn-holding .logo { width: 200px; margin: 0 auto 18px; filter: drop-shadow(0 14px 30px rgba(0,0,0,.4)); }
.nbn-holding .tagline {
  font-family: var(--font-display); font-weight: 500;
  letter-spacing: .28em; text-transform: uppercase; font-size: .92rem;
  color: #9fdcec; margin-bottom: 34px;
}

.nbn-holding h1 {
  font-family: var(--font-display); font-weight: 600;
  font-size: clamp(2.1rem, 5vw, 3.4rem); line-height: 1.08;
  color: #fff; margin: 0 0 .5em; letter-spacing: -.01em;
  text-shadow: 0 4px 30px rgba(0,0,0,.35);
}
.nbn-holding .lede {
  font-size: clamp(1.05rem, 2vw, 1.25rem); line-height: 1.6;
  color: #d6eef3; max-width: 36em; margin: 0 auto 2rem;
}

/* actions */
.nbn-holding .actions { display: flex; flex-wrap: wrap; gap: .8rem; justify-content: center; margin-bottom: 2.4rem; }
.nbn-holding .btn {
  display: inline-flex; align-items: center; gap: .5rem;
  font-family: var(--font-display); font-weight: 600; font-size: 1rem;
  padding: .85rem 1.7rem; border-radius: 999px; border: 2px solid transparent;
  text-decoration: none; transition: transform .15s ease, background .15s ease, box-shadow .15s ease;
}
.nbn-holding .btn:hover { transform: translateY(-2px); }
.nbn-holding .btn-solid { background: var(--teal); color: #073039; box-shadow: 0 12px 28px -12px rgba(40,175,207,.8); }
.nbn-holding .btn-solid:hover { background: #4cc3df; }
.nbn-holding .btn-ghost { background: rgba(255,255,255,.06); color: #fff; border-color: rgba(255,255,255,.55); }
.nbn-holding .btn-ghost:hover { background: rgba(255,255,255,.16); }

/* contact line */
.nbn-holding .contact {
  display: flex; flex-wrap: wrap; gap: .4rem 1.6rem; justify-content: center; align-items: center;
  font-size: .95rem; color: #bfe1e9; border-top: 1px solid rgba(255,255,255,.14);
  padding-top: 1.6rem; max-width: 560px; margin: 0 auto;
}
.nbn-holding .contact a { color: #eaf7fa; text-decoration: none; }
.nbn-holding .contact a:hover { color: #fff; text-decoration: underline; }
.nbn-holding .contact .sep { opacity: .4; }

/* footer credit — RevX */
.nbn-holding .credit {
  position: relative; z-index: 2;
  display: flex; align-items: center; gap: 12px; justify-content: center;
  margin-top: 30px; padding-top: 22px;
  font-size: .82rem; letter-spacing: .02em; color: #84b4c1;
}
.nbn-holding .credit .revx { display: inline-flex; align-items: center; gap: 9px; }
.nbn-holding .credit .revx-mark {
  width: 30px; height: 30px; border-radius: 9px; flex: none;
  background: linear-gradient(145deg, #28afcf, #0a3d49);
  display: grid; place-items: center; box-shadow: 0 6px 16px -6px rgba(40,175,207,.7);
}
.nbn-holding .credit .revx-mark svg { width: 17px; height: 17px; }
.nbn-holding .credit .revx-word { font-family: var(--font-display); font-weight: 600; color: #cfe9ef; font-size: .95rem; letter-spacing: .01em; }
.nbn-holding .credit .revx-word span { color: var(--teal); }

@media (max-width: 540px) {
  .nbn-holding .logo { width: 156px; }
  .nbn-holding .credit { flex-direction: column; gap: 8px; }
}
