/*
 * Direção noturna: profundidade, vidro fosco e luz fria.
 * A geometria, o violeta e os SVGs continuam pertencendo à Enzzitos.
 */
:root {
  color-scheme: dark;
  --night: #080a12;
  --night-raised: #11141e;
  --night-deep: #06070d;
  --frost: #d6e1f4;
  --ink-muted: #b7c1d1;
  --soft-gray: #aeb9ca;
  --line-light: rgba(199, 219, 251, .16);
  --line-dark: rgba(199, 219, 251, .15);
  --violet-ink: #baaaff;
}

body {
  background: var(--night);
  color: var(--mineral);
}
::selection { background: var(--violet); color: white; }
:focus-visible { outline-color: #b7a4ff; }
.skip-link { background: var(--mineral); color: var(--night); }

/* A identidade original fica intacta; o vidro pertence à interface. */
.site-header {
  position: sticky;
  top: 0;
  border-bottom-color: var(--line-light);
  background: rgba(8, 10, 18, .82);
  -webkit-backdrop-filter: blur(20px);
  backdrop-filter: blur(20px);
  box-shadow: inset 0 1px rgba(255, 255, 255, .035);
}
.site-header nav a,
.header-contact { color: #e4e9f4; }
.site-header nav a:hover,
.header-contact:hover { color: var(--violet-ink); }

.hero {
  background: var(--night);
}
.hero::before {
  content: "";
  position: absolute;
  z-index: -1;
  top: -29rem;
  left: 50%;
  width: min(95vw, 90rem);
  height: 55rem;
  transform: translateX(-50%);
  background: radial-gradient(ellipse at 50% 55%, rgba(108, 123, 175, .22), rgba(78, 93, 153, .08) 38%, transparent 72%);
  pointer-events: none;
}
.hero-grid {
  background-image:
    linear-gradient(to right, rgba(186, 215, 247, .065) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(186, 215, 247, .065) 1px, transparent 1px);
  background-size: clamp(5rem, 8vw, 7rem) clamp(5rem, 8vw, 7rem);
  mask-image: radial-gradient(ellipse at 65% 40%, black 32%, transparent 85%);
}
.eyebrow { color: var(--frost); }
.hero h1 { color: var(--mineral); }
.hero h1 em,
.contact h2 em {
  color: #c1b3ff;
}
.hero-description,
.hero-foot { color: var(--ink-muted); }
.hero-foot { border-top: 1px solid var(--line-light); }
.hero-foot a:hover,
.text-link:hover { color: #d5caff; }
.violet-square { box-shadow: 0 0 0 4px rgba(118, 87, 255, .12); }

.button {
  border-radius: 999px;
  font-weight: 500;
  box-shadow: inset 0 1px rgba(232, 243, 255, .16);
}
.button-primary,
.button-contact {
  background: var(--violet);
  color: white;
}
.button-primary:hover,
.button-contact:hover {
  background: #6344df;
  color: white;
}
.text-link { color: var(--mineral); }
.text-link span,
.button span { transition: transform .3s var(--ease); }
.text-link:hover span,
.button:hover span { transform: translate(2px, -2px); }

/* A composição existente ganha planos translúcidos e luz de profundidade. */
.visual-glow {
  display: block;
  top: 12%;
  left: 13%;
  width: 78%;
  height: 74%;
  opacity: .5;
  background: radial-gradient(circle, rgba(118, 87, 255, .28), rgba(76, 96, 155, .12) 37%, transparent 70%);
  filter: blur(35px);
}
.circuit path {
  stroke: rgba(179, 194, 255, .36);
  stroke-width: 1;
  stroke-dasharray: 3 11;
}
.circuit circle { fill: #a791ff; }
.visual-plane {
  border: 1px solid rgba(205, 225, 255, .1);
  border-radius: 16px;
  background: rgba(185, 210, 255, .045);
  -webkit-backdrop-filter: blur(20px);
  backdrop-filter: blur(20px);
  box-shadow:
    inset 0 1px rgba(231, 244, 255, .16),
    inset 0 2rem 4rem rgba(179, 200, 255, .025),
    0 1.5rem 3.5rem rgba(0, 0, 0, .25);
}
.plane-back { background: rgba(90, 107, 171, .075); }
.visual-card {
  border: 1px solid rgba(212, 228, 255, .14);
  border-radius: 16px;
  background: rgba(11, 14, 26, .82);
  -webkit-backdrop-filter: blur(26px);
  backdrop-filter: blur(26px);
  box-shadow:
    inset 0 1px rgba(232, 244, 255, .2),
    inset 0 2.5rem 5rem rgba(170, 195, 255, .035),
    0 2.4rem 4.5rem rgba(0, 0, 0, .38);
}
.visual-card::before {
  background-image:
    linear-gradient(to right, rgba(191, 213, 251, .055) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(191, 213, 251, .055) 1px, transparent 1px);
}
.visual-card-top { color: #dce5f6; }
.visual-card-bottom {
  border-top-color: rgba(213, 230, 255, .11);
  color: #b0bcd0;
}
.visual-card-bottom span + span { border-left-color: rgba(213, 230, 255, .11); }
.orbit { border-color: rgba(164, 149, 255, .38); }
.orbit-three { border-color: rgba(174, 194, 255, .18); }
.orbit-point { background: #a994ff; }
.floating-note {
  border: 1px solid rgba(219, 234, 255, .13);
  border-radius: 6px;
  background: rgba(22, 26, 43, .72);
  color: #e2e9f5;
  -webkit-backdrop-filter: blur(18px);
  backdrop-filter: blur(18px);
  box-shadow: inset 0 1px rgba(243, 250, 255, .15), 0 1rem 2rem rgba(0, 0, 0, .18);
}
.note-led { background: #ad9bff; }

/* Ritmo editorial da página preservado em uma sequência de superfícies noturnas. */
.section-index { color: #b5c0d4; }
.intro {
  background: #0d1019;
  border-top: 1px solid var(--line-light);
}
.intro h2,
.about h2,
.contact h2 { color: var(--mineral); }
.intro p,
.about-lead,
.bio-columns p,
.contact-description { color: var(--ink-muted); }
.underline { text-decoration-color: #9e8aff; }
.intro-side { color: #b7c1d1; }
.side-mark { color: #b7a7ff; }

.projects {
  background: var(--night);
  color: var(--mineral);
  border-top: 1px solid var(--line-light);
}
.projects h2 em { color: #b4a4ff; }
.section-head p,
.project-info p,
.project-disclaimer { color: #b7c1d1; }
.section-head-light .section-index,
.project-meta { color: #b9c5d8; }
.project-list { gap: 1.5rem; }
.project-card,
.project-card-featured,
.project-card:not(.project-card-featured) {
  border: 1px solid rgba(205, 223, 255, .13);
  border-radius: 16px;
  padding: 1.25rem;
  background: rgba(194, 214, 249, .035);
  box-shadow:
    inset 0 1px rgba(235, 244, 255, .09),
    inset 0 2rem 3rem rgba(192, 212, 255, .014);
}
.project-card { transition: border-color .35s ease, background .35s ease, transform .7s var(--ease), opacity .7s ease; }
.project-card:hover {
  border-color: rgba(188, 177, 255, .3);
  background: rgba(194, 214, 249, .055);
}
.project-art {
  border: 1px solid rgba(228, 237, 255, .12);
  border-radius: 11px;
  box-shadow: 0 1rem 2rem rgba(0, 0, 0, .15);
}
.project-meta span:last-child { color: #b9aaff; }
.project-tags span {
  border-color: rgba(207, 222, 251, .18);
  border-radius: 999px;
  background: rgba(201, 216, 251, .04);
  color: #d1dbeb;
}
.art-platform { background: #212737; }
.art-platform-main { box-shadow: 1.5rem 2rem 2rem rgba(0, 0, 0, .2); }
.art-finder { border-color: rgba(242, 240, 234, .2); }

.about {
  background: var(--night-raised);
  border-top: 1px solid var(--line-light);
  border-bottom-color: var(--line-light);
}
.about-kicker,
.contact-kicker { color: #c3b7ff; }
.bio-columns { border-top-color: var(--line-light); }
.about-symbol span { color: #b9c5d8; }
.about-symbol-line { background: var(--line-light); }

.contact {
  background: var(--night);
}
.contact::before {
  border-color: rgba(174, 159, 255, .15);
  box-shadow:
    0 0 0 4rem rgba(118, 87, 255, .018),
    0 0 0 8rem rgba(118, 87, 255, .014);
}
.button-contact-outline {
  border-color: rgba(221, 234, 255, .25);
  background: rgba(198, 217, 255, .055);
  color: var(--mineral);
}
.button-contact-outline:hover {
  border-color: rgba(221, 234, 255, .5);
  background: rgba(198, 217, 255, .1);
  color: white;
}
.contact-placeholder {
  border-color: rgba(206, 225, 255, .15);
  border-radius: 8px;
  background: rgba(191, 211, 250, .045);
  box-shadow: inset 0 1px rgba(237, 247, 255, .09);
  color: #b4bfd1;
}
.contact-placeholder span { color: var(--mineral); }

.site-footer {
  border-top: 1px solid var(--line-light);
  background: var(--night-deep);
  color: var(--mineral);
}
.footer-inner p { color: #aeb8ca; }
.footer-inner a:last-child:hover { color: #c1b4ff; }
.motion-toggle {
  border-color: rgba(207, 225, 255, .19);
  border-radius: 999px;
  background: rgba(23, 27, 42, .88);
  color: var(--mineral);
  -webkit-backdrop-filter: blur(18px);
  backdrop-filter: blur(18px);
  box-shadow: inset 0 1px rgba(241, 248, 255, .14), 0 .6rem 1.4rem rgba(0, 0, 0, .28);
}
.motion-toggle:hover { background: #2b3045; }

@media (prefers-reduced-motion: no-preference) {
  .hero::before { animation: night-breathe 18s ease-in-out infinite alternate; }
  .plane-back { animation: night-float 11s ease-in-out infinite; }
  .plane-mid { animation: night-float 13s ease-in-out -5s infinite reverse; }
  .visual-card { animation: night-float 10s ease-in-out -2s infinite; }
  .floating-note-top { animation: night-float 12s ease-in-out -3s infinite; }
  .floating-note-bottom { animation: night-float 14s ease-in-out -7s infinite reverse; }
  .reveal-pending {
    opacity: 0;
    translate: 0 28px;
    transition: opacity .75s ease, translate .75s var(--ease);
  }
  .reveal-pending.is-visible {
    opacity: 1;
    translate: 0 0;
  }
  @keyframes night-breathe {
    to { opacity: .62; scale: 1.05; }
  }
  @keyframes night-float {
    50% { translate: 0 -8px; }
  }
}
body.motion-paused .reveal-pending {
  opacity: 1;
  translate: 0 0;
  transition: none;
}

@media (max-width: 800px) {
  .hero::before { top: -20rem; width: 140vw; }
  .project-card,
  .project-card-featured,
  .project-card:not(.project-card-featured) { padding: 1rem; }
}
@media (max-width: 620px) {
  .site-header { background: rgba(8, 10, 18, .93); }
  .site-header nav { border-top-color: var(--line-light); }
  .hero::before { top: -17rem; left: 60%; width: 160vw; }
  .visual-glow { filter: blur(24px); opacity: .35; }
  .project-art { border-radius: 8px; }
}
@media (prefers-reduced-motion: reduce) {
  .reveal-pending { opacity: 1; translate: none; }
}
