/* ============================================================
   NUEVO ESTILO (landing): cajas nude translúcidas sobre un único fondo
   ============================================================ */
:root {
  --nx-nude: rgba(203, 184, 167, 0.50);   /* #CBB8A7 con transparencia */
  --nx-nude-menu: rgba(203, 184, 167, 0.58);
  --nx-ink: #201e1c;
  --nx-ink-soft: #3d3935;
}

/* ---------- Páginas sin foto (legales): nude sobre blanco ---------- */
html { background: #ffffff; }
body {
  background-color: #ffffff !important;
  background-image: linear-gradient(var(--nx-nude), var(--nx-nude)) !important;
}

/* ---------- Un solo fondo para toda la landing ---------- */
body.nx-landing { background-color: transparent !important; background-image: none !important; }
body.nx-landing::before {
  content: "";
  position: fixed; inset: 0; z-index: -1;
  background: url('landing-fondo.jpg') center / cover no-repeat;
}
html:has(body.nx-landing) { background: #ece8e2; }

/* ---------- Menú y franja superior ---------- */
.top-notice-bar { background: rgba(203, 184, 167, 0.35) !important; }
.main-nav {
  background: var(--nx-nude-menu) !important;
  -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px);
  border-bottom: 1px solid rgba(255, 255, 255, 0.45) !important;
}

/* ---------- Caja translúcida ---------- */
.nx-box, .duo-card {
  background: var(--nx-nude) !important;
  -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px);
  border: 1px solid rgba(255, 255, 255, 0.55) !important;
  box-shadow: 0 18px 44px rgba(70, 58, 46, 0.16) !important;
  color: var(--nx-ink);
}
.nx-box { position: relative; }

/* ---------- Bloque principal (más pequeño) ---------- */
.duo-hero { background: none !important; box-shadow: none !important; overflow: visible; padding: 70px 24px 70px; z-index: auto; }
.duo-intro { margin-bottom: 70px; }
.duo-card { max-width: 1020px; padding: 84px 48px 46px; }
.duo-grid { gap: 84px; }
.duo-label { color: var(--nx-ink-soft); }
.duo-text { font-size: 1.32rem; padding: 0 8px; margin-bottom: 22px; }
.duo-photo { margin-bottom: 24px; }
.duo-logo { width: 132px; height: 132px; box-shadow: 0 10px 30px rgba(60, 48, 38, 0.25); }
.duo-grid::before { background: linear-gradient(to bottom, rgba(32, 30, 28, 0), rgba(32, 30, 28, 0.28) 12%, rgba(32, 30, 28, 0.28) 88%, rgba(32, 30, 28, 0)); }

/* ---------- Sin efecto cortina: todo fluye sobre el mismo fondo ---------- */
.reveal-spacer { display: none !important; }
@media (min-width: 993px) {
  .reveal { position: static; }
}

/* ---------- Sobre mí: texto · foto en arco con círculo · cita flotando ---------- */
.nx-about { padding: 130px 20px 100px; }
.nx-about-wrap { max-width: 1120px; margin: 0 auto; position: relative; }
.nx-about-box {
  display: grid;
  grid-template-columns: 1fr 280px;
  gap: 64px;
  align-items: center;
  padding: 44px 150px 48px 54px;
  width: calc(100% - 130px);
}
.nx-arch-wrap { position: relative; margin-top: -122px; }
.nx-arch { margin: 0; line-height: 0; filter: drop-shadow(0 14px 22px rgba(60, 48, 38, 0.22)); }
.nx-arch img { width: 100%; height: auto; display: block; }
.nx-arch-wrap .circle-badge { top: 14%; left: -80px; z-index: 4; }
.nx-about-text { color: var(--nx-ink); max-width: none; }
.nx-about-text .about-title { white-space: normal; color: var(--nx-ink); }
.nx-about-text .about-subtitle { margin-bottom: 18px; color: var(--nx-ink-soft); }
.nx-about-text .about-description { color: var(--nx-ink); margin-bottom: 26px; }
.nx-quote {
  position: absolute; right: 0; top: 50%;
  width: 300px; transform: translateY(-34%); z-index: 3;
  display: flex; flex-direction: column; align-items: flex-end;
}
.nx-quote .quote-box { width: 100%; }

/* ---------- Contacto y pie ---------- */
.contact-close { padding-bottom: 90px; }
.site-footer { background: rgba(203, 184, 167, 0.55) !important; }
.site-footer .footer-tagline,
.site-footer .footer-note,
.site-footer .footer-location,
.site-footer .footer-legal-links a,
.site-footer .footer-copyright { color: #4a4642 !important; }
.site-footer .footer-social-links a:hover,
.site-footer .footer-legal-links a:hover { color: #201e1c !important; text-decoration: underline; }

/* ---------- Móvil ---------- */
@media (max-width: 992px) {
  .duo-hero { padding: 44px 14px 50px; }
  .duo-card { padding: 70px 22px 36px; }
  .duo-grid { gap: 0; }
  .nx-about { padding: 120px 14px 60px; }
  .nx-about-box {
    width: 100%; grid-template-columns: 1fr; gap: 22px;
    padding: 26px 22px 30px; text-align: center; justify-items: center;
  }
  .nx-arch-wrap { order: -1; width: 250px; margin-top: -124px; }
  .nx-arch-wrap .circle-badge { left: -40px; width: 110px; height: 110px; }
  .nx-quote { position: relative; transform: none; width: 100%; max-width: 340px; margin: -24px auto 0; align-items: center; }
  .nx-about-text .about-description { text-align: left; }
}

/* ---------- Cuadro de la cita: más bajo y con la letra más compacta (4 líneas) ---------- */
.nx-quote .quote-box { padding: 46px 20px; }
.nx-quote .quote-text {
  font-size: 1.3rem;
  line-height: 1.34;
  letter-spacing: -0.2px;
  text-wrap: balance;
}
@media (max-width: 992px) {
  .nx-quote .quote-box { padding: 34px 24px; }
}

/* Logo redondo del centro: base crema para que se vea el círculo nude translúcido */
.duo-logo { background: #f3eee9; }

/* Aviso al pulsar un email sin programa de correo */
.nx-toast {
  position: fixed; left: 50%; bottom: 24px; transform: translateX(-50%); z-index: 3000;
  display: flex; align-items: center; gap: 16px; max-width: calc(100% - 28px);
  padding: 14px 18px; background: rgba(214, 198, 184, 0.96);
  -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px);
  border: 1px solid rgba(255, 255, 255, 0.6); box-shadow: 0 14px 36px rgba(60, 48, 38, 0.25);
  font-family: 'Montserrat', sans-serif; font-size: 13px; color: #201e1c; line-height: 1.4;
}
.nx-toast a { color: #201e1c; font-weight: 600; text-decoration: underline; white-space: nowrap; }
.nx-toast button { border: 0; background: none; font-size: 22px; line-height: 1; cursor: pointer; color: #201e1c; padding: 0 2px; }
@media (max-width: 600px) { .nx-toast { flex-wrap: wrap; justify-content: center; text-align: center; bottom: 14px; } }
