/* ============================================
   BASE GENERALE (DARK = Atom One Dark)
   ============================================ */

:root {
  --font-sans: "Space Grotesk", "Inter", system-ui, -apple-system, sans-serif;
  --font-mono: "Press Start 2P", "DM Mono", ui-monospace, SFMono-Regular, monospace;
  --accent: #eec16f;
  --accent-strong: #f4d38a;
  --text-primary: #d7dde8;
  --text-secondary: #9aa1ae;
}

html {
  scroll-behavior: smooth;
  scroll-padding-top: 96px;
}

body {
  overflow-x: hidden;
  line-height: 1.65;
  background-color: #1b1f27;
  color: var(--text-primary);
  font-family: var(--font-sans);
  font-size: 17px;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
}

h1,
h2,
h3,
h4 {
  font-family: var(--font-mono);
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
/* Hero title fluido */
.hero-title {
  font-size: clamp(32px, 4vw, 56px);
  line-height: 1.12;
  letter-spacing: -0.01em;
  text-transform: none;
  font-family: var(--font-sans);
  color: var(--text-primary);
}

/* Override dimensioni testuali Tailwind pixel-based (fluido) */
.text-\[13px\] {
  font-size: clamp(12px, 0.85vw, 15px);
}

.text-\[12px\] {
  font-size: clamp(11px, 0.8vw, 14px);
}

.text-\[11px\] {
  font-size: clamp(10px, 0.75vw, 13px);
}

.text-\[10px\] {
  font-size: clamp(9px, 0.7vw, 12px);
}


p,
li {
  font-size: 1rem;
  color: var(--text-primary);
}

.list-inside {
  padding-left: 0.25rem;
}

.section-heading {
  font-family: var(--font-mono);
  color: var(--accent);
  letter-spacing: 0.1em;
  text-transform: uppercase;
  font-size: clamp(22px, 2.6vw, 30px);
  line-height: 1.15;
  display: inline-block;
  padding-bottom: 6px;
  border-bottom: 3px solid rgba(238, 193, 111, 0.6);
}

.heading-8bit-sm {
  font-family: var(--font-mono);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  font-size: clamp(12px, 1vw, 14px);
  color: var(--accent);
}

.text-amber-400 {
  color: var(--accent) !important; /* giallo Atom */
}

/* Grid di sfondo */
.bg-grid {
  background-image:
    linear-gradient(to right, rgba(171, 178, 191, 0.06) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(171, 178, 191, 0.06) 1px, transparent 1px);
  background-size: 32px 32px;
}

/* Pannelli pixel */
.pixel-panel {
  /* background-color: #2c323c; */
  border: 3px solid #3e4451;
  /* box-shadow:
    0 0 0 3px #1c2128,
    4px 4px 0 #1c2128; */
}

.pixel-panel-soft {
  /* background-color: #262b33; */
  border: 2px solid #3e4451;
  /* box-shadow:
    0 0 0 2px #1c2128,
    3px 3px 0 #1c2128; */
}

/* Avatar 8-bit */
.avatar-8bit {
  /* image-rendering: pixelated; */
}

/* Effetto scanlines */
.scanlines::before {
  pointer-events: none;
  content: "";
  position: absolute;
  inset: 0;
  background-image: linear-gradient(
    to bottom,
    rgba(10, 10, 10, 0) 0%,
    rgba(10, 10, 10, 0.55) 50%,
    rgba(10, 10, 10, 0) 100%
  );
  background-size: 100% 4px;
  opacity: 0.25;
  mix-blend-mode: soft-light;
}

/* Bottoni 8-bit */
.btn-8bit {
  background-color: #21252b;
  border: 3px solid var(--accent); /* giallo Atom */
  box-shadow:
    0 0 0 3px #1c2128,
    4px 4px 0 #1c2128;
  color: #abb2bf;
  transition:
    transform 0.08s steps(2, end),
    box-shadow 0.08s steps(2, end),
    filter 0.12s ease-out;
}

.btn-8bit:hover {
  transform: translate(-3px, -3px);
  box-shadow:
    0 0 0 3px #1c2128,
    6px 6px 0 #1c2128;
  filter: brightness(1.08);
}

.btn-8bit:active {
  transform: translate(1px, 1px);
  box-shadow:
    0 0 0 3px #1c2128,
    2px 2px 0 #1c2128;
}

/* CTA gialle */
.btn-8bit.bg-amber-400 {
  background-color: var(--accent) !important;
  border-color: var(--accent) !important;
  color: #282c34 !important;
}

.btn-8bit.bg-amber-400:hover {
  filter: brightness(1.05);
}

/* Card pixel */
.pixel-card {
  transition:
    transform 0.1s steps(2, end),
    box-shadow 0.1s steps(2, end);
}

.pixel-card:hover {
  transform: translate(-3px, -3px);
  box-shadow:
    0 0 0 3px #1c2128,
    6px 6px 0 #1c2128;
}

/* Pixel dots animati */
@keyframes pixelBlink {
  0%,
  20%,
  100% {
    opacity: 0.25;
  }
  10% {
    opacity: 1;
  }
}

.pixel-dot {
  width: 8px;
  height: 8px;
  animation: pixelBlink 2.4s infinite steps(2, end);
}

.pixel-dot:nth-child(2) {
  animation-duration: 3s;
  animation-delay: 0.3s;
}

.pixel-dot:nth-child(3) {
  animation-duration: 3.4s;
  animation-delay: 0.6s;
}

.pixel-dot:nth-child(4) {
  animation-duration: 2.8s;
  animation-delay: 0.9s;
}

/* Animazione hero */
@keyframes pixelHeroIn {
  0% {
    opacity: 0;
    transform: translateY(12px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}

.animate-pixel-hero {
  animation: pixelHeroIn 0.5s ease-out 0.05s both;
}

/* Thumbs portfolio 8-bit style */
.project-thumb {
  border: 2px solid #3e4451;
  box-shadow:
    0 0 0 2px #1c2128,
    3px 3px 0 #1c2128;
  background: #000;
}

.project-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* Space Invaders game */
.space-bg {
  position: relative;
  padding: 16px 20px 20px;
  background: radial-gradient(circle at 50% 0%, #3e4451 0, #282c34 55%, #000 100%);
  overflow: hidden;
  border: 2px solid #3e4451;
  box-shadow:
    0 0 0 2px #1c2128,
    3px 3px 0 #1c2128;
}

.space-bg::before,
.space-bg::after {
  content: "";
  position: absolute;
  inset: -80%;
  background-image:
    radial-gradient(2px 2px at 10% 20%, rgba(248, 250, 252, 0.7), transparent),
    radial-gradient(2px 2px at 80% 10%, rgba(248, 250, 252, 0.5), transparent),
    radial-gradient(1px 1px at 30% 70%, rgba(248, 250, 252, 0.4), transparent),
    radial-gradient(1px 1px at 60% 40%, rgba(248, 250, 252, 0.35), transparent);
  opacity: 0.5;
  animation: starsMove 12s linear infinite;
  pointer-events: none;
}

.space-bg::after {
  opacity: 0.25;
  animation-duration: 20s;
  animation-direction: reverse;
}

@keyframes starsMove {
  0% {
    transform: translateY(0);
  }
  100% {
    transform: translateY(60px);
  }
}

.game-cell {
  width: 24px;
  height: 24px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 16px;
  background-color: transparent;
  border: none;
}

.game-cell-player {
  color: var(--accent);
  text-shadow: 0 0 4px rgba(229, 192, 123, 0.6);
}

.game-cell-invader {
  color: #98c379; /* green Atom */
  text-shadow: 0 0 4px rgba(152, 195, 121, 0.7);
}

.game-cell-bullet {
  color: #e5e7eb;
  text-shadow: 0 0 4px rgba(248, 250, 252, 0.7);
}

/* Tipografia dark */
body .text-neutral-50,
body .text-neutral-100,
body .text-neutral-200,
body .text-neutral-300 {
  color: var(--text-primary) !important;
}

body .text-neutral-400,
body .text-neutral-500 {
  color: var(--text-secondary) !important; /* testo secondario */
}

/* Badge / meta */
.availability-badge,
.status-bar,
.tech-tag,
.tag,
.badge {
  background-color: #21252b !important;
  border-color: #3e4451 !important;
  color: var(--text-primary) !important;
}

/* Header sticky */
header {
  background-color: rgba(40, 44, 52, 0.96);
  border-color: rgba(62, 68, 81, 0.9);
}

/* Mobile nav link */
.mobile-nav-link {
  padding: 0.4rem 0;
  color: var(--text-primary);
}

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

#mobile-menu {
  opacity: 0;
  transform: translateY(-6px);
  pointer-events: none;
  max-height: 0;
  overflow: hidden;
  transition:
    opacity 0.18s ease,
    transform 0.18s ease,
    max-height 0.22s ease;
}

#mobile-menu.is-open {
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
  max-height: 480px;
}

/* Nasconde il banner / barra preferenze Iubenda */
.iub__us-widget {
  display: none !important;
}

/* Link + strong in dark theme */
:root[data-theme="dark"] body a:not(.btn-8bit):not(.text-amber-400),
:root[data-theme="dark"] body a:not(.btn-8bit):not(.text-amber-400):visited {
  color: var(--accent);
  text-decoration-thickness: 1px;
  text-underline-offset: 2px;
}

:root[data-theme="dark"] body a:not(.btn-8bit):not(.text-amber-400):hover {
  color: var(--accent-strong);
}

:root[data-theme="dark"] body strong {
  color: var(--accent);
  font-weight: 600;
}

/* Filtro Work */
.filter-pill {
  border: 1px solid #3e4451;
  padding: 4px 10px;
  background: #21252b;
  color: var(--text-primary);
  text-transform: uppercase;
  letter-spacing: 0.18em;
  font-size: 10px;
  cursor: pointer;
}

.filter-pill.is-active {
  background-color: var(--accent);
  border-color: var(--accent);
  color: #282c34;
}

/* Switch lingua */
.lang-pill {
  border: 2px solid #3e4451;
  background: #21252b;
  color: var(--text-primary);
  padding: 6px 10px;
  letter-spacing: 0.16em;
  font-size: 10px;
  text-transform: uppercase;
  font-family: var(--font-mono);
  transition:
    transform 0.08s steps(2, end),
    box-shadow 0.08s steps(2, end),
    filter 0.12s ease-out;
}

.lang-pill.is-active {
  background: var(--accent);
  border-color: var(--accent);
  color: #1b1f27;
  box-shadow:
    0 0 0 2px #1c2128,
    4px 4px 0 #1c2128;
}

/* ============================================
   TEMA LIGHT (override)
   ============================================ */

:root[data-theme="light"] {
  --accent: #c78c2a;
  --accent-strong: #e6a94a;
  --text-primary: #111111;
  --text-secondary: #404040;
}

:root[data-theme="light"] body {
  background-color: #f4f4f5;
  color: var(--text-primary);
}

/* Grid più chiara */
:root[data-theme="light"] .bg-grid {
  background-image:
    linear-gradient(to right, rgba(212, 212, 216, 0.40) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(212, 212, 216, 0.40) 1px, transparent 1px);
}

/* Header */
:root[data-theme="light"] header {
  background-color: rgba(250, 250, 250, 0.96);
  border-color: rgba(212, 212, 216, 0.9);
}

:root[data-theme="light"] header nav a {
  color: #737373;
}

:root[data-theme="light"] header nav a:hover {
  color: #111111;
}

/* Superfici principali */
:root[data-theme="light"] body .bg-neutral-950,
:root[data-theme="light"] body .bg-neutral-900,
:root[data-theme="light"] body .bg-black {
  background-color: #f9fafb !important;
}

:root[data-theme="light"] body .bg-\[\#020617\] {
  background-color: #ffffff !important;
}

/* Pixel panels */
:root[data-theme="light"] .pixel-panel {
  background-color: #ffffff;
  border-color: #d4d4d8;
  box-shadow:
    0 0 0 3px #e4e4e7,
    4px 4px 0 #020617;
}

:root[data-theme="light"] .pixel-panel-soft {
  background-color: #f9fafb;
  border-color: #e4e4e7;
  box-shadow:
    0 0 0 2px #e4e4e7,
    3px 3px 0 #020617;
}

/* Tipografia */
:root[data-theme="light"] body .text-neutral-50,
:root[data-theme="light"] body .text-neutral-100,
:root[data-theme="light"] body .text-neutral-200 {
  color: #111111 !important;
}

:root[data-theme="light"] body .text-neutral-300,
:root[data-theme="light"] body .text-neutral-400,
:root[data-theme="light"] body .text-zinc-400,
:root[data-theme="light"] .link-8bit-muted {
  color: #404040 !important;
}

:root[data-theme="light"] .section-label,
:root[data-theme="light"] .eyebrow,
:root[data-theme="light"] .text-muted-8bit {
  color: #5e5e5e !important;
}

/* Card articoli / servizi / portfolio */
:root[data-theme="light"] .article-card,
:root[data-theme="light"] .service-card,
:root[data-theme="light"] .portfolio-card,
:root[data-theme="light"] .pixel-card,
:root[data-theme="light"] .bg-neutral-900,
:root[data-theme="light"] .bg-neutral-800 {
  background-color: #ffffff !important;
  color: #111111 !important;
}

:root[data-theme="light"] .article-card p,
:root[data-theme="light"] .service-card p {
  color: #404040 !important;
}

:root[data-theme="light"] .article-card .meta,
:root[data-theme="light"] .service-card .meta {
  color: #737373 !important;
}

:root[data-theme="light"] .article-card a,
:root[data-theme="light"] .service-card a {
  color: #111111 !important;
  text-decoration: underline;
}

:root[data-theme="light"] .article-card a:hover,
:root[data-theme="light"] .service-card a:hover {
  color: #000000 !important;
}

/* Tag / badge */
:root[data-theme="light"] .tech-tag,
:root[data-theme="light"] .tag,
:root[data-theme="light"] .badge,
:root[data-theme="light"] .bg-\[\#1E1E1E\],
:root[data-theme="light"] .bg-\[\#111111\] {
  background-color: #e5e7eb !important;
  color: #111111 !important;
}

:root[data-theme="light"] .tech-tag span,
:root[data-theme="light"] .tag span,
:root[data-theme="light"] .badge span {
  color: #111111 !important;


/* Badge HERO */
:root[data-theme="light"] .availability-badge {
  background-color: #e5e7eb !important;
  color: #111111 !important;
}

/* Status bar */
:root[data-theme="light"] .status-bar {
  background-color: #e5e7eb !important;
  color: #111111 !important;
  border-color: #cbd5e1 !important;
}

/* Toggle tema */
:root[data-theme="light"] #theme-toggle {
  background-color: #111111 !important;
  border-color: #111111 !important;
  color: #f9fafb !important;
}

/* CTA gialle in light (assicurate) */
:root[data-theme="light"] .btn-8bit.bg-amber-400 {
  background-color: var(--accent) !important;
  border-color: #020617 !important;
  color: #020617 !important;
}

/* Filtro Work in light */
:root[data-theme="light"] .filter-pill {
  background-color: #f3f4f6;
  border-color: #d4d4d8;
  color: #111827;
}

:root[data-theme="light"] .filter-pill.is-active {
  background-color: var(--accent);
  border-color: #020617;
  color: #020617;
}

/* Fix FAQ & card con bg-neutral-900/80 in tema light */
:root[data-theme="light"] .bg-neutral-900\/80 {
  background-color: #ffffff !important;
}

:root[data-theme="light"] .bg-neutral-950\/95,
:root[data-theme="light"] .bg-neutral-950\/98 {
  background-color: #ffffff !important;
}

:root[data-theme="light"] .work-modal-inner {
  background: radial-gradient(circle at 20% 20%, rgba(199, 140, 42, 0.08), transparent 25%),
    radial-gradient(circle at 80% 10%, rgba(125, 158, 255, 0.06), transparent 22%),
    linear-gradient(180deg, #ffffff 0%, #f7f7fb 100%);
  color: #111111;
  border-color: #e4e4e7;
  box-shadow:
    0 0 0 3px #e4e4e7,
    4px 4px 0 #020617;
}

/* Bordi meno scuri in light per i box FAQ */
:root[data-theme="light"] .border-neutral-700 {
  border-color: #e4e4e7 !important;
}

/* Chip nav mobile 8-bit */
.nav-chip {
  flex: 1 1 calc(50% - 0.5rem);
  min-width: 110px;
  text-align: center;
  padding: 6px 8px;
  border-radius: 0;
  border: 2px solid #3e4451;
  background-color: #21252b;
  box-shadow:
    0 0 0 2px #1c2128,
    3px 3px 0 #1c2128;
  color: var(--text-primary);
  text-decoration: none;
  letter-spacing: 0.18em;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  transition:
    transform 0.08s steps(2, end),
    box-shadow 0.08s steps(2, end),
    filter 0.12s ease-out;
}

.nav-chip:hover {
  transform: translate(-2px, -2px);
  box-shadow:
    0 0 0 2px #1c2128,
    5px 5px 0 #1c2128;
  filter: brightness(1.05);
}

.nav-chip:active {
  transform: translate(1px, 1px);
  box-shadow:
    0 0 0 2px #1c2128,
    2px 2px 0 #1c2128;
}

.nav-chip.is-active {
  background-color: var(--accent);
  border-color: var(--accent);
  color: #1b1f27;
  box-shadow:
    0 0 0 2px #1c2128,
    4px 4px 0 #1c2128;
}

:root[data-theme="light"] .nav-chip {
  border-color: #e4e4e7;
  background-color: #f9fafb;
  box-shadow:
    0 0 0 2px #e4e4e7,
    3px 3px 0 #020617;
  color: #111111;
}

:root[data-theme="light"] .nav-chip:hover {
  filter: brightness(1.02);
  color: #111111;
}


/* WORK / MANSORY GRID ------------------------------------------ */

.work-section {
  width: 100%;
  margin-inline: auto;
}

/* Grid responsive "masonry-like" */
.work-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 24px;
  align-items: start;
}

/* Card base */
.work-card {
  position: relative;
  display: flex;
  flex-direction: column;
  height: 100%;
  padding: 16px;
  background-color: rgba(15, 23, 42, 0.96);
  border: 1px solid #3f3f46;
  box-shadow:
    0 0 0 2px #020617,
    4px 4px 0 #020617;
}

.work-card-body {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.work-card-header {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  align-items: flex-start;
}

.work-card-meta {
  font-size: clamp(10px, 0.7vw, 12px);
  color: #9ca3af;
}

.work-card-title {
  font-size: clamp(14px, 1vw, 18px);
  font-weight: 600;
  color: #e5e7eb;
}

.work-card-text {
  font-size: clamp(12px, 0.85vw, 14px);
  color: #d1d5db;
}

/* Footer */
.work-card-footer {
  margin-top: 10px;
  display: flex;
  justify-content: space-between;
  gap: 8px;
  align-items: center;
  font-size: clamp(10px, 0.75vw, 12px);
  color: #9ca3af;
}

/* Badge type */
.work-badge {
  display: inline-flex;
  align-items: center;
  padding: 2px 8px;
  font-size: clamp(9px, 0.7vw, 11px);
  text-transform: uppercase;
  letter-spacing: 0.18em;
  white-space: nowrap;
}

/* Project card (portfolio) */
.work-card--project .work-badge {
  background-color: #fbbf24;
  color: #020617;
  border: 0;
}

.work-card--project .work-thumb {
  margin-bottom: 10px;
  overflow: hidden;
  border: 1px solid #4b5563;
  background-color: #020617;
}

.work-card--project .work-thumb img {
  display: block;
  width: 100%;
  height: auto;
}

/* Article card (no image) */
.work-card--article {
  background-color: rgba(15, 23, 42, 0.98);
}

.work-card--article .work-badge {
  background-color: #0b1120;
  color: #fbbf24;
  border: 1px solid #fbbf24;
}

/* Link */
.work-link {
  color: #fbbf24;
  text-decoration: none;
}

.work-link:hover {
  text-decoration: underline;
}

/* Placeholder */
.work-card--placeholder {
  opacity: 0.7;
}

/* Filtri 8-bit */
.work-filters {
  border-radius: 0;
}

.work-filter {
  padding: 6px 10px;
  border-radius: 0;
  border: 2px solid #3f3f46;
  background-color: #020617;
  color: #e5e7eb;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  cursor: pointer;
  box-shadow:
    0 0 0 2px #020617,
    3px 3px 0 #020617;
  transition:
    transform 0.08s steps(2, end),
    box-shadow 0.08s steps(2, end),
    background-color 0.1s ease-out,
    color 0.1s ease-out;
  font-size: clamp(10px, 0.75vw, 12px);
}

.work-filter:hover {
  transform: translate(-1px, -1px);
  box-shadow:
    0 0 0 2px #020617,
    4px 4px 0 #020617;
}

.work-filter.is-active {
  background-color: #fbbf24;
  color: #020617;
  border-color: #f59e0b;
}

/* Modale WORK (portfolio + articoli) */
#work-modal {
  /* già fixed + bg-black/80 da HTML */
  display: none;
  align-items: center;
  justify-content: center;
  padding: 32px 16px;
  background: rgba(0, 0, 0, 0.82);
  backdrop-filter: blur(4px);
}

#work-modal.is-visible {
  display: flex;
}

/* box interno */
.work-modal-inner {
  background: radial-gradient(circle at 20% 20%, rgba(238, 193, 111, 0.08), transparent 25%),
    radial-gradient(circle at 80% 10%, rgba(152, 195, 121, 0.07), transparent 22%),
    linear-gradient(180deg, #2a303c 0%, #1c2029 100%);
  color: var(--text-primary);
  border: 3px solid #3e4451;
  box-shadow:
    0 0 0 3px #1c2128,
    4px 4px 0 #1c2128,
    0 12px 45px rgba(0, 0, 0, 0.35);
  padding: 26px;
  display: flex;
  flex-direction: column;
  gap: 12px;
  position: relative;
  overflow: hidden;
}

/* header + meta */
.work-modal-inner h2 {
  font-size: 1.2rem;
  line-height: 1.35;
}

#work-modal-meta {
  padding: 4px 0 0;
  border-bottom: 1px solid #3e4451;
  padding-bottom: 8px;
}

/* corpo scrollabile */
.work-modal-content {
  margin-top: 10px;
  padding-right: 10px;
  font-size: 15px;
  line-height: 1.7;
}

/* contenuto WP formattato stile Atom One Dark */
.work-modal-content p {
  margin-bottom: 0.75rem;
  color: var(--text-primary);
}

.work-modal-content h1,
.work-modal-content h2,
.work-modal-content h3,
.work-modal-content h4 {
  margin-top: 1rem;
  margin-bottom: 0.5rem;
  font-weight: 600;
  color: var(--accent);
}

.work-modal-content ul,
.work-modal-content ol {
  margin: 0.5rem 0 0.75rem 1.25rem;
}

.work-modal-content li {
  margin-bottom: 0.25rem;
}

/* link dentro articolo */
.work-modal-content a {
  color: var(--accent);
  text-decoration: underline;
  text-underline-offset: 2px;
}

#work-modal .btn-8bit {
  font-size: 12px;
}

@media (max-width: 640px) {
  .work-modal-inner {
    padding: 20px;
    gap: 10px;
  }
  .work-modal-content {
    padding-right: 6px;
    font-size: 14px;
  }
}

/* footer modale */
.work-modal-inner .border-t {
  margin-top: 8px;
  padding-top: 8px;
}

/* responsive */
@media (min-width: 768px) {
  .work-modal-inner {
    padding: 24px;
  }

  .work-modal-content {
    font-size: 14px;
  }
}



/* varie/utility */
.spaceAround{
  justify-content: space-between;
}
.nav-link {
  position: relative;
  color: var(--text-primary);
  transition: color 0.15s ease, transform 0.12s steps(2, end);
}

.nav-link::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -6px;
  width: 100%;
  height: 2px;
  background: var(--accent);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.2s ease;
}

.nav-link:hover {
  color: var(--accent);
  transform: translateY(-1px);
}

.nav-link:hover::after {
  transform: scaleX(1);
}

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

.nav-link.is-active::after {
  transform: scaleX(1);
}
