/* ============================================
   WELLSPRING CHROME
   Shared across every page. Edit here to change site-wide.
   ============================================ */

/* ============================================
   TEXT SELECTION — cyan at 30%
   ============================================ */
::selection { background: rgba(0, 245, 255, 0.3); color: var(--text); }
::-moz-selection { background: rgba(0, 245, 255, 0.3); color: var(--text); }

/* ============================================
   CURSORS — global, opalite-filled Phosphor icons
   ============================================ */
body {
  cursor: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 256 256'><defs><linearGradient id='o' x1='0%25' y1='0%25' x2='100%25' y2='100%25'><stop offset='0%25' stop-color='%235ec8ff'/><stop offset='20%25' stop-color='%23f0c97a'/><stop offset='40%25' stop-color='%23fad0c4'/><stop offset='60%25' stop-color='%237de0d6'/><stop offset='80%25' stop-color='%2300F5FF'/><stop offset='100%25' stop-color='%23c4cfe8'/></linearGradient></defs><path fill='url(%23o)' stroke='%23ffffff' stroke-width='6' stroke-opacity='0.4' d='M168,132.69,214.08,115l.33-.13A16,16,0,0,0,213,85.07L52.92,32.8A15.95,15.95,0,0,0,32.8,52.92L85.07,213a15.82,15.82,0,0,0,14.41,11l.78,0a15.84,15.84,0,0,0,14.61-9.59l.13-.33L132.69,168,184,219.31a16,16,0,0,0,22.63,0l12.68-12.68a16,16,0,0,0,0-22.63ZM195.31,208,144,156.69a16,16,0,0,0-26,4.93c0,.11-.09.22-.13.32l-17.65,46L48,48l159.85,52.2-45.95,17.64-.32.13a16,16,0,0,0-4.93,26h0L208,195.31Z'/></svg>") 4 4, auto;
}
a, button, [role="button"], .cmd-pill, .price-cta, .cfg-btn, .modal-submit, .stub-cta, .error-cta {
  cursor: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 256 256'><defs><linearGradient id='o' x1='0%25' y1='0%25' x2='100%25' y2='100%25'><stop offset='0%25' stop-color='%235ec8ff'/><stop offset='20%25' stop-color='%23f0c97a'/><stop offset='40%25' stop-color='%23fad0c4'/><stop offset='60%25' stop-color='%237de0d6'/><stop offset='80%25' stop-color='%2300F5FF'/><stop offset='100%25' stop-color='%23c4cfe8'/></linearGradient></defs><path fill='url(%23o)' stroke='%23ffffff' stroke-width='6' stroke-opacity='0.4' d='M196,88a27.86,27.86,0,0,0-13.35,3.39A28,28,0,0,0,144,74.7V44a28,28,0,0,0-56,0v80l-3.82-6.13A28,28,0,0,0,35.73,146l4.67,8.23C74.81,214.89,89.05,240,136,240a88.1,88.1,0,0,0,88-88V116A28,28,0,0,0,196,88Zm12,64a72.08,72.08,0,0,1-72,72c-37.63,0-47.84-18-81.68-77.68l-4.69-8.27,0-.05A12,12,0,0,1,54,121.61a11.88,11.88,0,0,1,6-1.6,12,12,0,0,1,10.41,6,1.76,1.76,0,0,0,.14.23l18.67,30A8,8,0,0,0,104,152V44a12,12,0,0,1,24,0v68a8,8,0,0,0,16,0V100a12,12,0,0,1,24,0v20a8,8,0,0,0,16,0v-4a12,12,0,0,1,24,0Z'/></svg>") 10 2, pointer;
}
a:active, button:active, [role="button"]:active, .cmd-pill:active, .price-cta:active, .cfg-btn:active, .modal-submit:active, .stub-cta:active, .error-cta:active {
  cursor: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 256 256'><defs><linearGradient id='o' x1='0%25' y1='0%25' x2='100%25' y2='100%25'><stop offset='0%25' stop-color='%235ec8ff'/><stop offset='20%25' stop-color='%23f0c97a'/><stop offset='40%25' stop-color='%23fad0c4'/><stop offset='60%25' stop-color='%237de0d6'/><stop offset='80%25' stop-color='%2300F5FF'/><stop offset='100%25' stop-color='%23c4cfe8'/></linearGradient></defs><path fill='url(%23o)' stroke='%23ffffff' stroke-width='6' stroke-opacity='0.4' d='M56,76a60,60,0,0,1,120,0,8,8,0,0,1-16,0,44,44,0,0,0-88,0,8,8,0,1,1-16,0Zm140,44a27.9,27.9,0,0,0-13.36,3.39A28,28,0,0,0,144,106.7V76a28,28,0,0,0-56,0v80l-3.82-6.13a28,28,0,0,0-48.41,28.17l29.32,50A8,8,0,1,0,78.89,220L49.6,170a12,12,0,1,1,20.78-12l.14.23,18.68,30A8,8,0,0,0,104,184V76a12,12,0,0,1,24,0v68a8,8,0,1,0,16,0V132a12,12,0,0,1,24,0v20a8,8,0,0,0,16,0v-4a12,12,0,0,1,24,0v36c0,21.61-7.1,36.3-7.16,36.42a8,8,0,0,0,3.58,10.73A7.9,7.9,0,0,0,208,232a8,8,0,0,0,7.16-4.42c.37-.73,8.85-18,8.85-43.58V148A28,28,0,0,0,196,120Z'/></svg>") 10 2, pointer;
}
input[type="text"], input[type="email"], input[type="search"], input[type="url"], input[type="tel"], input[type="password"], input[type="number"], textarea, [contenteditable="true"] {
  cursor: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 256 256'><defs><linearGradient id='o' x1='0%25' y1='0%25' x2='100%25' y2='100%25'><stop offset='0%25' stop-color='%235ec8ff'/><stop offset='20%25' stop-color='%23f0c97a'/><stop offset='40%25' stop-color='%23fad0c4'/><stop offset='60%25' stop-color='%237de0d6'/><stop offset='80%25' stop-color='%2300F5FF'/><stop offset='100%25' stop-color='%23c4cfe8'/></linearGradient></defs><path fill='url(%23o)' stroke='%23ffffff' stroke-width='6' stroke-opacity='0.4' d='M184,208a8,8,0,0,1-8,8H160a40,40,0,0,1-32-16,40,40,0,0,1-32,16H80a8,8,0,0,1,0-16H96a24,24,0,0,0,24-24V136H104a8,8,0,0,1,0-16h16V80A24,24,0,0,0,96,56H80a8,8,0,0,1,0-16H96a40,40,0,0,1,32,16,40,40,0,0,1,32-16h16a8,8,0,0,1,0,16H160a24,24,0,0,0-24,24v40h16a8,8,0,0,1,0,16H136v40a24,24,0,0,0,24,24h16A8,8,0,0,1,184,208Z'/></svg>") 16 16, text;
}

/* ============================================
   NAV
   ============================================ */
nav {
  position: fixed; top: 0; left: 0; right: 0; z-index: 300;
  padding: 1.4rem 3.5rem;
  display: flex; align-items: center;
  background: rgba(6,15,16,0.6);
  backdrop-filter: blur(20px) saturate(1.4);
  border-bottom: 1px solid var(--border-soft);
}
.nav-logo {
  font-family: 'Playfair Display', serif;
  font-size: 1.18rem; font-weight: 400; letter-spacing: 0.1em;
  color: var(--text); display: flex; align-items: center; gap: 0.7rem;
  text-decoration: none;
  flex: 1;
}
.nav-links {
  display: flex; align-items: center; gap: 2.5rem; list-style: none;
  flex: 1; justify-content: center;
}
.nav-links a {
  color: var(--text-soft); text-decoration: none;
  font-size: .82rem; letter-spacing: .06em; text-transform: uppercase;
  transition: color .25s;
  line-height: 1;
}
.nav-links a:hover { color: var(--cyan); }
.nav-links a.active { color: var(--cyan); opacity: 1; }
.nav-links > li { position: relative; display: flex; align-items: center; }
.nav-drop-trigger {
  display: flex; align-items: center; gap: .3rem;
  font-family: 'DM Sans', sans-serif;
  color: var(--text-soft);
  font-size: .82rem; letter-spacing: .06em; text-transform: uppercase;
  transition: color .25s;
  line-height: 1;
}
.nav-drop-trigger::after { content: '▾'; font-size: .6rem; opacity: .5; transition: transform .2s; }
.nav-drop-trigger:hover::after { transform: rotate(180deg); }
.nav-drop-trigger:hover { color: var(--cyan); }
.nav-dropdown {
  display: none;
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
  padding-top: .8rem;
  z-index: 400;
}
.nav-dropdown-inner {
  background: rgba(6,15,16,0.92);
  backdrop-filter: blur(20px) saturate(1.4);
  border: 1px solid var(--border-soft);
  border-radius: 12px;
  padding: .6rem 0;
  min-width: 180px;
  box-shadow: 0 12px 40px rgba(0,0,0,0.4);
}
.nav-links > li:hover .nav-dropdown { display: block; }
.nav-dropdown a {
  display: block;
  padding: .5rem 1.4rem;
  font-size: .78rem;
  letter-spacing: .04em;
  text-transform: none;
  color: var(--text-mid);
  transition: color .2s, background .2s;
  white-space: nowrap;
}
.nav-dropdown a:hover {
  color: var(--cyan);
  background: rgba(0,245,255,0.04);
}
.nav-cta-wrap {
  flex: 1;
  display: flex;
  justify-content: flex-end;
  align-items: center;
}
.nav-cta {
  background: var(--cyan-faint);
  border: 1px solid var(--border-cyan);
  color: var(--cyan); padding: .48rem 1.4rem; border-radius: 100px;
  font-family: 'DM Sans', sans-serif; font-size: .82rem; font-weight: 400;
  letter-spacing: .06em;
  transition: background .25s, box-shadow .25s;
  text-decoration: none;
}
.nav-cta:hover {
  background: var(--cyan-dim);
  box-shadow: 0 0 20px rgba(0,245,255,0.15), inset 0 0 20px rgba(0,245,255,0.05);
}
.nav-hamburger {
  display: none;
  background: none;
  border: none;
  color: var(--text);
  font-size: 1.4rem;
  padding: .2rem .5rem;
  line-height: 1;
}
/* ============================================
   SHARED MOBILE NAV OVERLAY
   Used by pages that include <div class="nav-mobile">...</div>
   ============================================ */
.nav-mobile {
  display: none;
  position: fixed;
  top: 0; left: 0; right: 0; bottom: 0;
  z-index: 299;
  background: rgba(6,15,16,0.95);
  backdrop-filter: blur(20px);
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 2.5rem;
}
.nav-mobile.open { display: flex; }
.nav-mobile a {
  color: var(--text);
  text-decoration: none;
  font-family: 'Playfair Display', serif;
  font-size: 1.4rem;
  letter-spacing: .06em;
  transition: color .2s;
}
.nav-mobile a:hover { color: var(--cyan); }
.nav-mobile-close {
  position: absolute;
  top: 1.4rem;
  right: 2rem;
  background: none;
  border: none;
  color: var(--text-soft);
  font-size: 1.6rem;
  line-height: 1;
  min-width: 44px;
  min-height: 44px;
}
/* ============================================
   FOOTER
   ============================================ */
footer {
  position: relative; z-index: 5;
  background: rgba(6,15,16,0.7);
  backdrop-filter: blur(20px);
  border-top: 1px solid var(--border-soft);
  padding: 1.4rem 3.5rem;
  display: flex; align-items: center;
  line-height: 1;
}
.foot-logo {
  font-family: 'Playfair Display', serif;
  font-size: .98rem; letter-spacing: .08em;
  display: flex; align-items: center; gap: .6rem;
  text-decoration: none;
  color: var(--text);
  flex: 1;
  line-height: 1;
}
.foot-links {
  display: flex; gap: 2rem; list-style: none;
  flex: 1; justify-content: center;
  line-height: 1;
}
.foot-links a {
  color: var(--text-soft); text-decoration: none;
  font-size: .75rem; letter-spacing: .04em;
  transition: color .2s;
  line-height: 1;
}
.foot-links a:hover { color: var(--text-mid); }
.foot-copy {
  color: var(--text-soft);
  font-family: 'DM Mono', monospace;
  font-size: .7rem; letter-spacing: .04em;
  flex: 1; text-align: right;
  line-height: 1;
}

/* ============================================
   OPALITE ORB — shared logo mark
   ============================================ */
@keyframes opalite-shift {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}
.opalite-orb {
  width: 14px; height: 14px; border-radius: 50%;
  background:
    radial-gradient(circle at 35% 30%, rgba(255,255,255,0.8) 0%, transparent 30%),
    conic-gradient(from 45deg,
      #5ec8ff 0%, #f0c97a 20%, #fad0c4 38%, #7de0d6 58%, #00F5FF 78%, #c4cfe8 92%, #5ec8ff 100%);
  box-shadow: 0 0 12px rgba(94,200,255,0.6), 0 0 24px rgba(240,201,122,0.3), inset 0 0 6px rgba(255,255,255,0.4);
  animation: opalite-shift 18s linear infinite;
}

/* ============================================
   MOBILE CHROME OVERRIDES
   ============================================ */
@media (max-width: 960px) {
  nav { padding: 1.2rem 1.2rem; }
  .nav-links { display: none; }
  .nav-cta-wrap { flex: 0 0 auto; gap: 0.5rem; }
  .nav-cta {
    padding: .4rem .9rem;
    font-size: .72rem;
    letter-spacing: .04em;
  }
  .nav-cta .nav-cta-full { display: none; }
  .nav-cta .nav-cta-short { display: inline; }
  .nav-hamburger { display: inline-flex; }
  footer { padding: 1.2rem 2rem; }
}
.nav-cta-short { display: none; }
}
@media (max-width: 720px) {
  footer { flex-direction: column; text-align: center; gap: 0.8rem; }
  .foot-logo, .foot-links, .foot-copy { flex: none; justify-content: center; text-align: center; }
}
@media (hover: none), (max-width: 720px) {
  body, a, button, [role="button"], .cmd-pill, .price-cta, .cfg-btn, .modal-submit, .stub-cta, .error-cta,
  input, textarea, [contenteditable="true"] {
    cursor: auto;
  }
}
