/* AZEA visual refinement layer: calmer hierarchy, lighter chrome, sharper geometry. */
:root {
  --ref-ui: -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
  --ref-line: rgba(255, 255, 255, 0.11);
  --ref-line-soft: rgba(255, 255, 255, 0.075);
  --ref-gold: #c9aa6a;
}

body { letter-spacing: 0; }

.site-header,
.dock-nav,
.nh-chip,
.nh-btn,
.nh-stat,
.nh-camp p,
.nh-camp-foot,
.nh-tile-badge,
.nh-tile-info,
.nh-tile-link,
.nh-testi,
.neo-chip,
.neo-btn,
.neo-mini-panel,
.neo-search-wrap,
.neo-pill,
.neo-card-badge,
.neo-card-status,
.neo-card-info,
.neo-card-link {
  font-family: var(--ref-ui) !important;
}

.nh-hero,
.neo-hero {
  border-radius: 8px !important;
  border-color: rgba(255, 255, 255, 0.14) !important;
  box-shadow: 0 14px 34px rgba(0, 0, 0, 0.28) !important;
}

.nh-hero::before,
.nh-hero-shine,
.neo-hero-shine { display: none !important; }

.nh-hero::after,
.neo-hero::after {
  background: linear-gradient(180deg, rgba(5, 5, 7, 0.12), rgba(5, 5, 7, 0.42) 55%, rgba(5, 5, 7, 0.84)) !important;
}

.nh-hero h1,
.neo-hero h1,
.nh-camp h3,
.nh-tile h3,
.neo-card-meta h3 { letter-spacing: 0 !important; }

.nh-chip,
.neo-chip {
  padding: 7px 11px !important;
  border-color: rgba(255, 255, 255, 0.2) !important;
  background: rgba(8, 8, 10, 0.46) !important;
  box-shadow: none !important;
  letter-spacing: 0.06em !important;
}

.nh-btn,
.neo-btn {
  border-radius: 6px !important;
  box-shadow: none !important;
  letter-spacing: 0.02em !important;
}

.nh-btn--primary,
.neo-btn--primary {
  background: #d4b574 !important;
  border-color: #d4b574 !important;
  color: #111 !important;
}

.nh-btn--ghost,
.neo-btn--ghost {
  background: rgba(8, 8, 10, 0.38) !important;
  border-color: rgba(255, 255, 255, 0.22) !important;
}

.nh-stat,
.neo-mini-panel,
.nh-camp,
.nh-tile,
.nh-testi,
.neo-card,
.neo-search-wrap form,
.neo-empty {
  border-radius: 8px !important;
  border-color: var(--ref-line) !important;
  box-shadow: 0 8px 22px rgba(0, 0, 0, 0.2) !important;
}

.nh-stat,
.neo-mini-panel { background: rgba(18, 18, 20, 0.72) !important; }

.neo-mini-panel strong {
  color: #ece9e2 !important;
  letter-spacing: 0 !important;
}

.neo-mini-panel span {
  color: #aaa59c !important;
  font-family: var(--ref-ui) !important;
  font-weight: 500 !important;
  letter-spacing: 0.02em !important;
}

.nh-camp:hover,
.nh-tile:hover,
.nh-testi:hover,
.neo-card:hover { transform: translateY(-2px) !important; }

.nh-camp:hover .nh-camp-bg,
.nh-tile:hover .nh-tile-bg,
.neo-card:hover .neo-card-img { transform: scale(1.025) !important; }

.nh-camp::after,
.nh-tile::after,
.neo-card::after {
  background: linear-gradient(180deg, transparent 32%, rgba(5, 5, 7, 0.9) 100%) !important;
}

.nh-camp-ico,
.nh-tile-badge,
.neo-card-badge,
.neo-card-status,
.neo-card-concept-badge {
  border-color: rgba(255, 255, 255, 0.16) !important;
  background: rgba(8, 8, 10, 0.58) !important;
  box-shadow: none !important;
}

.neo-pill {
  border-color: rgba(255, 255, 255, 0.13) !important;
  background: rgba(255, 255, 255, 0.035) !important;
  box-shadow: none !important;
  letter-spacing: 0.01em !important;
}

.neo-pill.is-on {
  border-color: rgba(201, 170, 106, 0.7) !important;
  background: rgba(201, 170, 106, 0.12) !important;
}

/* Portfolio cards: let the image lead, retain only essential metadata. */
.neo-card-status,
.neo-card-link { display: none !important; }

.neo-card { min-height: 190px !important; }
.neo-card--tall { min-height: 390px !important; }

.neo-card-badge {
  top: 9px !important;
  left: 9px !important;
  padding: 5px 7px !important;
  font-size: 7.5px !important;
  letter-spacing: 0.07em !important;
}

.neo-card-meta {
  left: 10px !important;
  right: 10px !important;
  bottom: 10px !important;
}

.neo-card-meta h3 {
  margin-bottom: 5px !important;
  display: -webkit-box !important;
  overflow: hidden !important;
  -webkit-box-orient: vertical !important;
  -webkit-line-clamp: 2 !important;
  font-size: 15px !important;
  line-height: 1.08 !important;
  font-weight: 500 !important;
}

.neo-card--tall .neo-card-meta h3 { font-size: 18px !important; }

.neo-card-info,
.neo-card--tall .neo-card-info {
  margin: 0 !important;
  gap: 5px !important;
  font-size: 8.5px !important;
  line-height: 1.2 !important;
  color: rgba(255, 255, 255, 0.72) !important;
}

.neo-card-info span + span::before { margin-right: 5px !important; }

/* Homepage portfolio preview follows the same compact hierarchy. */
.nh-tile-link { display: none !important; }

.nh-sect-title h2 {
  font-size: 24px !important;
  line-height: 1 !important;
  letter-spacing: 0 !important;
}

.nh-sect-title p {
  font-family: var(--ref-ui) !important;
  font-size: 11px !important;
}

.nh-sect-title a {
  font-family: var(--ref-ui) !important;
  font-size: 9px !important;
  letter-spacing: 0.08em !important;
}

.nh-tile { min-height: 188px !important; }

.nh-tile-badge {
  top: 9px !important;
  left: 9px !important;
  padding: 5px 7px !important;
  font-size: 7.5px !important;
  letter-spacing: 0.07em !important;
}

.nh-tile-bottom {
  left: 10px !important;
  right: 10px !important;
  bottom: 10px !important;
}

.nh-tile h3 {
  display: -webkit-box !important;
  overflow: hidden !important;
  -webkit-box-orient: vertical !important;
  -webkit-line-clamp: 2 !important;
  margin-bottom: 5px !important;
  font-size: 15px !important;
  line-height: 1.06 !important;
  font-weight: 500 !important;
}

.nh-tile-info {
  margin: 0 !important;
  font-family: var(--ref-ui) !important;
  font-size: 8.5px !important;
  line-height: 1.25 !important;
  color: rgba(255, 255, 255, 0.72) !important;
}

.dock-nav {
  padding-top: 6px !important;
  background: rgba(8, 8, 10, 0.96) !important;
  border-top-color: rgba(255, 255, 255, 0.1) !important;
  box-shadow: 0 -5px 18px rgba(0, 0, 0, 0.34) !important;
  backdrop-filter: blur(18px) !important;
  -webkit-backdrop-filter: blur(18px) !important;
}

.dock-nav::before { display: none !important; }

.dock-item {
  min-height: 48px !important;
  border-radius: 6px !important;
  letter-spacing: 0 !important;
}

.dock-item .dock-label,
.dock-cta-label { letter-spacing: 0 !important; }

.dock-item.active {
  background: rgba(201, 170, 106, 0.08) !important;
}

.dock-item.active .dock-icon svg { filter: none !important; }

.dock-cta-smeta .dock-cta-bubble,
.dock-cta-smeta.active .dock-cta-bubble {
  width: 38px !important;
  height: 38px !important;
  border-color: rgba(201, 170, 106, 0.52) !important;
  box-shadow: none !important;
}

@media (max-width: 720px) {
  .dock-nav {
    padding-top: 7px !important;
    padding-bottom: max(7px, env(safe-area-inset-bottom)) !important;
  }

  .dock-item {
    min-height: 44px !important;
    padding: 5px 3px !important;
  }

  .dock-item .dock-label,
  .dock-cta-label { display: none !important; }

  .dock-item::before { top: 1px !important; }

  .dock-item.active .dock-icon { transform: none !important; }

  .dock-cta-wrap {
    min-height: 44px !important;
    padding: 3px 0 !important;
  }

  .nh-hero,
  .neo-hero { min-height: min(680px, calc(100svh - 86px)) !important; }

  .nh-hero h1,
  .neo-hero h1 {
    font-size: clamp(34px, 10vw, 44px) !important;
    line-height: 1.02 !important;
  }

  .nh-hero-lead,
  .neo-hero-lead {
    font-family: var(--ref-ui) !important;
    font-size: 15px !important;
    line-height: 1.55 !important;
  }

  .nh-stat strong,
  .neo-mini-panel strong { font-size: 25px !important; }

  .nh-camp,
  .nh-tile,
  .neo-card { border-radius: 6px !important; }

  .nh-tile { min-height: 178px !important; }
  .nh-tile h3 { font-size: 14px !important; }

  .neo-card { min-height: 182px !important; }
  .neo-card--tall { min-height: 372px !important; }

  .neo-card-meta h3 { font-size: 14px !important; }
  .neo-card--tall .neo-card-meta h3 { font-size: 17px !important; }
}

@media (prefers-reduced-motion: reduce) {
  .nh-camp-bg,
  .nh-tile-bg,
  .neo-card-img { transition: none !important; }
}
