/* Incremento visual 10% — refinamiento editorial inspirado en Apple.
   Capa aislada: no altera estructura ni interacciones existentes. */
:root {
  --polish-blue: #2997ff;
  --polish-surface: rgba(22, 22, 24, .72);
  --polish-border: rgba(255, 255, 255, .14);
  --polish-soft-border: rgba(255, 255, 255, .08);
}

::selection { background: rgba(41, 151, 255, .34); color: #fff; }

body { background: #000; }

.nav {
  background: rgba(0, 0, 0, .72);
  border-bottom-color: transparent;
  box-shadow: 0 1px 0 rgba(255,255,255,.04);
  transition: background .35s ease, border-color .35s ease, box-shadow .35s ease;
}
.nav.scrolled {
  background: rgba(14, 14, 16, .82);
  border-bottom-color: var(--polish-soft-border);
  box-shadow: 0 8px 30px rgba(0,0,0,.18);
}
.brand { letter-spacing: -.02em; text-transform: none; font-size: 13px; }
.navlinks a { transition: color .25s ease, opacity .25s ease; }
.navlinks a:not(.nav-cta):hover { color: var(--polish-blue); }
.nav-cta { box-shadow: 0 0 0 1px rgba(255,255,255,.08) inset; transition: transform .25s ease, background .25s ease, box-shadow .25s ease; }
.nav-cta:hover { transform: translateY(-1px); box-shadow: 0 5px 18px rgba(0,113,227,.24); }

.chapter h1, .chapter h2, .intro h2, .details h2, .contact h2 {
  text-wrap: balance;
}
.chapter h1, .chapter h2 { letter-spacing: -1.6px; }
.chapter p, .intro p, .detail-copy, .contact-lead { text-wrap: pretty; }

.intro, .details, .contact {
  position: relative;
  overflow: hidden;
}
.intro::after, .details::after, .contact::after {
  content: "";
  position: absolute;
  width: 420px;
  height: 420px;
  right: -240px;
  top: 20%;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(41,151,255,.10), transparent 68%);
  pointer-events: none;
}

.gallery-card, .gallery-row .photo-more {
  border-color: var(--polish-border);
  transition: transform .45s cubic-bezier(.22,1,.36,1), border-color .3s ease, background .3s ease;
}
.gallery-card:hover, .gallery-row .photo-more:hover { transform: translateY(-6px); border-color: rgba(255,255,255,.32); }
.gallery-card img { transition: transform .7s cubic-bezier(.22,1,.36,1), filter .45s ease; }
.gallery-card:hover img { transform: scale(1.035); }
.gallery-card figcaption { background: rgba(14,14,16,.92); }

.contact-panel {
  background: linear-gradient(145deg, rgba(30,30,32,.82), rgba(10,10,11,.72));
  border-color: var(--polish-border);
  box-shadow: 0 18px 60px rgba(0,0,0,.2);
}
.contact-primary { transition: transform .25s ease, background .25s ease, box-shadow .25s ease; }
.contact-primary:hover { transform: translateY(-2px); box-shadow: 0 10px 28px rgba(0,113,227,.2); }
.contact-secondary { transition: background .25s ease, border-color .25s ease, transform .25s ease; }
.contact-secondary:hover { transform: translateY(-1px); }

.footer { background: #000; }
.footer a { transition: color .2s ease; }

@media (max-width: 700px) {
  .brand { font-size: 12px; }
  .navlinks { gap: 10px; }
  .nav-cta { padding-inline: 13px; }
  .gallery-card:hover, .gallery-row .photo-more:hover { transform: none; }
}

@media (prefers-reduced-motion: reduce) {
  .nav, .nav-cta, .gallery-card, .gallery-card img, .gallery-row .photo-more, .contact-primary, .contact-secondary { transition: none; }
}
