
/* ==========================================================
   AMPLIACIÓN — migración a sitio multipágina
   (mantiene los tokens y clases del sistema original)
   ========================================================== */

/* Accesibilidad: foco visible en todos los elementos interactivos */
a:focus-visible,
button:focus-visible,
input:focus-visible,
textarea:focus-visible,
select:focus-visible{
  outline:2px solid var(--olive);
  outline-offset:3px;
  border-radius:2px;
}

/* Skip link para navegación por teclado */
.skip-link{
  position:absolute;left:-999px;top:auto;
  background:var(--ink);color:var(--paper);
  padding:0.7rem 1.2rem;z-index:1000;
  font-size:0.75rem;letter-spacing:0.06em;text-transform:uppercase;
}
.skip-link:focus{left:1rem;top:1rem;}

/* Estado activo de navegación (página actual) */
nav.links a[aria-current="page"]{color:var(--ink);}
nav.links a[aria-current="page"]::after{width:100%;}

/* ---------- Menú móvil (hamburguesa) ---------- */
.nav-toggle{
  display:none;
  background:none;border:none;cursor:pointer;
  width:34px;height:34px;position:relative;
}
.nav-toggle span, .nav-toggle span::before, .nav-toggle span::after{
  content:"";position:absolute;left:6px;right:6px;height:1px;background:var(--ink);
  transition:transform 0.25s ease, opacity 0.25s ease;
}
.nav-toggle span{top:16px;}
.nav-toggle span::before{top:-8px;}
.nav-toggle span::after{top:8px;}
.nav-toggle[aria-expanded="true"] span{background:transparent;}
.nav-toggle[aria-expanded="true"] span::before{transform:translateY(8px) rotate(45deg);}
.nav-toggle[aria-expanded="true"] span::after{transform:translateY(-8px) rotate(-45deg);}

@media (max-width:980px){
  .nav-toggle{display:block;}
  nav.links{
    display:flex;flex-direction:column;gap:0;
    position:fixed;top:0;right:0;height:100vh;width:min(78vw,320px);
    background:var(--paper);padding:6.5rem 2rem 2rem;
    transform:translateX(100%);transition:transform 0.3s ease;
    box-shadow:-8px 0 30px rgba(0,0,0,0.18);
    z-index:490;
  }
  nav.links.open{transform:translateX(0);}
  nav.links a{
    padding:0.9rem 0;border-bottom:1px solid var(--line);
    font-size:0.78rem;
  }
  body.nav-open{overflow:hidden;}
}

/* ---------- Migas de pan / encabezado de sección interior ---------- */
.page-hero{
  padding:9rem 6vw 3rem;background:var(--ink);color:var(--paper);
}
.page-hero .breadcrumb{
  font-size:0.68rem;letter-spacing:0.08em;text-transform:uppercase;
  color:var(--brass-light);margin-bottom:1rem;display:flex;gap:0.5rem;flex-wrap:wrap;
}
.page-hero .breadcrumb a{color:var(--brass-light);border-bottom:1px solid transparent;}
.page-hero .breadcrumb a:hover{border-color:var(--brass-light);}
.page-hero h1{color:var(--paper);font-size:clamp(2.1rem,4.5vw,3.2rem);font-style:italic;margin-bottom:0.8rem;}
.page-hero p{color:rgba(248,244,236,0.75);max-width:640px;font-size:1rem;}

/* ---------- Botones de navegación grandes (home) ---------- */
.nav-grid{
  display:grid;grid-template-columns:repeat(3,1fr);gap:1.6rem;
  margin-top:3.5rem;
}
.nav-card{
  border:1px solid var(--line);padding:2rem 1.6rem;text-align:left;
  transition:border-color 0.25s ease, transform 0.25s ease;
  display:flex;flex-direction:column;gap:0.6rem;
}
.nav-card:hover{border-color:var(--olive);transform:translateY(-3px);}
.nav-card .num{font-family:'Cormorant Garamond',serif;font-style:italic;color:var(--stone);font-size:1rem;}
.nav-card h3{font-size:1.3rem;font-style:italic;}
.nav-card p{font-size:0.88rem;color:var(--ink-soft);margin:0;}
.nav-card .go{font-size:0.66rem;letter-spacing:0.1em;text-transform:uppercase;color:var(--olive);margin-top:auto;}
@media (max-width:980px){ .nav-grid{grid-template-columns:1fr 1fr;} }
@media (max-width:640px){ .nav-grid{grid-template-columns:1fr;} }

/* ---------- Sección destacada (Orbis en Home) ---------- */
.featured-tag{
  display:inline-block;font-size:0.66rem;letter-spacing:0.1em;text-transform:uppercase;
  color:var(--olive-light);border:1px solid var(--olive-light);
  padding:0.3rem 0.7rem;border-radius:20px;margin-bottom:1rem;
}
.featured-cta{
  text-align:center;margin-top:2.4rem;display:flex;gap:1rem;justify-content:center;flex-wrap:wrap;
}
.featured-cta .btn-consult.ghost{
  background:transparent;border-color:var(--olive-light);color:var(--olive-light);
}
.on-dark .featured-cta .btn-consult.ghost:hover{background:var(--olive-light);color:var(--ink);}

/* ---------- Formulario de contacto ---------- */
.contact-grid{
  display:grid;grid-template-columns:0.85fr 1.15fr;gap:4rem;align-items:start;
}
@media (max-width:900px){ .contact-grid{grid-template-columns:1fr;gap:3rem;} }

.contact-info h3{font-size:1.5rem;font-style:italic;margin-bottom:1rem;}
.contact-info ul{list-style:none;margin-top:1.6rem;display:flex;flex-direction:column;gap:1rem;}
.contact-info li{font-size:0.92rem;color:var(--ink-soft);}
.contact-info li a{color:var(--ink);border-bottom:1px solid var(--line-dark);}
.contact-info li a:hover{color:var(--olive);border-color:var(--olive);}
.contact-info .label{
  display:block;font-size:0.66rem;letter-spacing:0.1em;text-transform:uppercase;
  color:var(--stone);margin-bottom:0.2rem;
}

.contact-form{display:flex;flex-direction:column;gap:1.2rem;}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem;}
@media (max-width:640px){ .form-row{grid-template-columns:1fr;} }
.field{display:flex;flex-direction:column;gap:0.4rem;}
.field label{
  font-size:0.68rem;letter-spacing:0.08em;text-transform:uppercase;color:var(--ink-soft);
}
.field input,.field select,.field textarea{
  font-family:'Jost',sans-serif;font-size:0.95rem;color:var(--ink);
  background:var(--paper);border:1px solid var(--line-dark);
  padding:0.85rem 1rem;border-radius:2px;width:100%;
}
.field textarea{min-height:140px;resize:vertical;}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--olive);}
.form-submit{
  font-family:'Jost',sans-serif;font-size:0.72rem;letter-spacing:0.1em;text-transform:uppercase;
  background:var(--ink);color:var(--paper);border:1px solid var(--ink);
  padding:1rem 2rem;cursor:pointer;align-self:flex-start;transition:opacity 0.2s ease;
}
.form-submit:hover{opacity:0.85;}
.form-note{font-size:0.78rem;color:var(--stone);}
.hp-field{position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden;}

/* ---------- Página de agradecimiento ---------- */
.thanks{
  min-height:70vh;display:flex;flex-direction:column;align-items:center;justify-content:center;
  text-align:center;padding:9rem 6vw 4rem;
}
.thanks h1{font-size:clamp(2rem,4vw,3rem);font-style:italic;margin-bottom:1rem;}
.thanks p{max-width:520px;color:var(--ink-soft);margin-bottom:2rem;}

/* ---------- Sitemap HTML simple (pie de página, accesibilidad) ---------- */
.footer-col a{display:block;}
