:root{
  /* LOCKED PALETTE */
  --obsidian: #0B0F14;   /* primary background */
  --void:     #141A22;   /* secondary depth */
  --steel:    #2A2F36;   /* muted text / lines */
  --cyan:     #2ce6e6;   /* accent */
  --white:    #FFFFFF;
}

a{
  color: rgba(255,255,255,0.78);
  text-decoration: none;
}

a:visited{
  color: rgba(255,255,255,0.78);
}

a:hover{
  color: var(--cyan);
}


*{ box-sizing: border-box; }
html, body{ height: 100%; }

/* =========================
   Top Navigation
========================= */

.topnav {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 70px;

  display: flex;
  align-items: center;
  justify-content: space-between;

  padding: 0 60px;
  box-sizing: border-box;

  z-index: 100;

  background: linear-gradient(
    to bottom,
    rgba(11,15,20,0.55),
    rgba(11,15,20,0.15),
    transparent
  );
  backdrop-filter: blur(6px);

}

.nav-logo {
  height: 28px;
  opacity: 0.8;
  transition: opacity 0.2s ease;
}

.nav-logo:hover {
  opacity: 1;
}

.nav-right {
  display: flex;
  gap: 40px;
}

.nav-link {
  font-size: 14px;
  letter-spacing: 1px;
  text-decoration: none;
  color: rgba(255,255,255,0.6);
  transition: color 0.2s ease;
}

.nav-link:hover {
  color: var(--cyan);
}

.nav-link.active {
  color: var(--cyan);
}



/* =========================
   Interior Pages
========================= */

.page {
  min-height: 100vh;
  padding-top: 140px;
  padding-bottom: 100px;
  padding-left: 24px;
  padding-right: 24px;
}

.page-inner {
  width: min(820px, 88vw);
  margin: 0 auto;
}

.page-title {
  margin: 0 0 18px;
  font-size: clamp(28px, 3vw, 36px);
  letter-spacing: 8px;
  font-weight: 600;
  color: rgba(255,255,255,0.92);
}

.page-sub {
  margin: 0 0 36px;
  font-size: 14px;
  letter-spacing: 3px;
  color: rgba(255,255,255,0.65);
}

.section {
  margin-bottom: 60px;
}

.section h2 {
  margin: 0 0 12px;
  font-size: 14px;
  letter-spacing: 4px;
  color: rgba(255,255,255,0.8);
}

.section p,
.section li {
  font-size: 14px;
  line-height: 1.8;
  letter-spacing: 0.5px;
  color: rgba(255,255,255,0.75);
}

.section ul {
  margin: 14px 0 0;
  padding-left: 20px;
}

.reach{
  display:flex;
  flex-direction:column;
  gap: 8px;
  margin-top: 14px;
  padding-left: 18px;
  border-left: 1px solid rgba(255,255,255,0.08);
}


body{
  margin: 0;
    font-family:
      ui-monospace,
      SFMono-Regular,
      Menlo,
      Monaco,
      Consolas,
      "Liberation Mono",
      "Courier New",
      monospace;
  color: var(--white);

  /* Simple, restrained background (still your vibe) */
  background:
    radial-gradient(900px 700px at 50% 55%, rgba(44,230,230,0.08), transparent 60%),
    radial-gradient(1100px 900px at 50% 40%, rgba(20,26,34,0.65), transparent 65%),
    var(--obsidian);
}

.center{
  min-height: 100vh;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  text-align:center;

  /* nav is fixed, so give breathing room */
  padding: 120px 24px 60px;
}



/* logo */
.sigil-wrap{
  display: flex;
  justify-content: center;
  align-items:center;
  margin-bottom: 26px;
}

.sigil{
  width: min(560px, 86vw);
  height: auto;
  display: block;

  /* very subtle glow, not flashy */
  filter:
    drop-shadow(0 0 60px rgba(44,230,230,0.18))
    drop-shadow(0 0 120px rgba(44,230,230,0.08));

  transition: transform 0.6s ease;
}

.brand{
  margin: 0;
  font-size: 42px;
  letter-spacing: 8px;
  font-weight: 700;
}

.tagline{
  margin: 8px 0 26px;
  font-size: 14px;          /* larger than contact */
  letter-spacing: 4px;
  text-transform: lowercase;

  color: rgba(255,255,255,0.72);
}

.hero-cta{
  display: inline-flex;
  gap: 18px;
  margin-top: 22px;
  flex-wrap: wrap;
}

.cta-separator{
  width: 16px;
  height: 16px;
  opacity: 0.45;
  filter: drop-shadow(0 0 8px rgba(44,230,230,0.25));
  pointer-events: none;
}

/* Primary Button */
.btn{
  padding: 12px 22px;
  font-size: 12px;
  letter-spacing: 2px;
  text-transform: uppercase;

  border: 1px solid rgba(255,255,255,0.18);
  border-radius: 8px;

  color: rgba(255,255,255,0.85);
  background: rgba(255,255,255,0.03);

  transition: all 180ms ease;
}

.btn:hover{
  border-color: var(--cyan);
  color: var(--cyan);
  background: rgba(44,230,230,0.06);
}

/* Optional secondary style */
.btn-secondary{
  border-color: rgba(255,255,255,0.12);
  opacity: 0.85;
}

.btn-secondary:hover{
  opacity: 1;
}

/* =========================
   Mobile Dropdown Nav (No Box)
========================= */

.nav-toggle{ display: none; }
.mobile-menu{ display: none; }

@media (max-width: 560px){
  .hero-cta{
    flex-direction: column;
    gap: 12px;
  }

  .cta-separator{
    display: none; /* hide the separator when stacked */
  }

  .btn{
    width: min(320px, 92vw);
  }

  .topnav{
    padding: 0 16px;   /* was 60px; now matches your menu right */
  }

  /* Hide desktop nav */
  .nav-right{ display: none; }

  /* Toggle (SVG icon, no box) */
  .nav-toggle{
    display: flex;
    align-items: center;
    justify-content: center;

    width: 34px;
    height: 34px;

    border: none;
    background: transparent;
    padding: 0;
    cursor: pointer;
  }

  .nav-icon{
    stroke: rgba(255,255,255,0.65);
    stroke-width: 1.6;
    stroke-linecap: round;
    fill: none;
    transition: stroke 160ms ease, transform 160ms ease;
  }

  .nav-toggle:hover .nav-icon{
    stroke: var(--cyan);
    transform: translateY(-1px);
  }

  .nav-toggle[aria-expanded="true"] .nav-icon{
    stroke: var(--cyan);
  }

  /* Dropdown container (no box, right aligned) */
  .mobile-menu{
  position: absolute;
  top: 62px;
  right: 16px;
  display: none;
  text-align: right;
}

  .mobile-menu.open{
    display: block;
  }

  /* Links: bigger tap area without a visible box */
  .mobile-menu .nav-link{
    display: block;
    padding: 10px 0;          /* tap target */
    font-size: 13px;
    letter-spacing: 2px;
    text-align: right;
    color: rgba(255,255,255,0.72);
  }

  .mobile-menu .nav-link:hover{
    color: var(--cyan);
  }
}
