/* PsicoXibina — estilos compartidos entre todas las páginas del sitio */

html { scroll-behavior: smooth; scroll-padding-top: 96px; }
body {
  font-family:'Inter',sans-serif;
  background-color:#FAF8F4;
  background-image:url('../img/textura-papel-artesanal.webp');
  background-repeat:repeat;
  background-size:900px 900px;
}
h1,h2,h3,.font-display { font-family:'Fraunces',serif; letter-spacing:-.015em; }
::selection { background:#16302A; color:#FAF8F4; }

/* ---- Header: transparente sobre el hero, sólido al hacer scroll ---- */
#navbar { transition: background-color .35s ease, box-shadow .35s ease, border-color .35s ease; }
#navbar .nav-link,
#navbar .brand-name { color:#FAF8F4; }
#navbar .brand-sub   { color:rgba(250,248,244,.65); }
#navbar .lang-group  { border-color:rgba(250,248,244,.35); }
#navbar .lang-btn    { color:rgba(250,248,244,.8); }
#navbar .lang-btn + .lang-btn { border-color:rgba(250,248,244,.25); }
#navbar .lang-btn.active { background:#FAF8F4; color:#16302A; }
#navbar .nav-cta     { background:#FAF8F4; color:#16302A; }
#navbar .nav-cta:hover { background:#F4EEE3; }
#navbar .burger      { color:#FAF8F4; }

#navbar.is-solid { background:rgba(250,248,244,.92); backdrop-filter:blur(14px); -webkit-backdrop-filter:blur(14px);
                   border-bottom:1px solid rgba(234,224,204,.9); box-shadow:0 1px 24px rgba(13,31,26,.06); }
#navbar.is-solid .nav-link   { color:#274F3E; }
#navbar.is-solid .brand-name { color:#16302A; }
#navbar.is-solid .brand-sub  { color:#3D6E56; }
#navbar.is-solid .lang-group { border-color:#EAE0CC; }
#navbar.is-solid .lang-btn   { color:#274F3E; }
#navbar.is-solid .lang-btn + .lang-btn { border-color:#EAE0CC; }
#navbar.is-solid .lang-btn.active { background:#16302A; color:#FAF8F4; }
#navbar.is-solid .nav-cta    { background:#16302A; color:#FAF8F4; }
#navbar.is-solid .nav-cta:hover { background:#1E3F31; }
#navbar.is-solid .burger     { color:#16302A; }

/* Header de página interior (no-hero): siempre sólido, nunca transparente */
#navbar.static-solid { background:rgba(250,248,244,.98); backdrop-filter:blur(14px); -webkit-backdrop-filter:blur(14px);
                        border-bottom:1px solid #EAE0CC; box-shadow:0 1px 24px rgba(13,31,26,.05); }
#navbar.static-solid .nav-link   { color:#274F3E; }
#navbar.static-solid .brand-name { color:#16302A; }
#navbar.static-solid .brand-sub  { color:#3D6E56; }
#navbar.static-solid .lang-group { border-color:#EAE0CC; }
#navbar.static-solid .lang-btn   { color:#274F3E; }
#navbar.static-solid .lang-btn + .lang-btn { border-color:#EAE0CC; }
#navbar.static-solid .lang-btn.active { background:#16302A; color:#FAF8F4; }
#navbar.static-solid .nav-cta    { background:#16302A; color:#FAF8F4; }
#navbar.static-solid .nav-cta:hover { background:#1E3F31; }
#navbar.static-solid .burger     { color:#16302A; }

/* Subrayado animado + estado activo de nav */
.nav-link { position:relative; padding-bottom:4px; }
.nav-link::after {
  content:''; position:absolute; left:0; bottom:0; height:2px; width:100%;
  background:currentColor; transform:scaleX(0); transform-origin:right;
  transition:transform .3s ease; border-radius:2px;
}
.nav-link:hover::after, .nav-link.active::after { transform:scaleX(1); transform-origin:left; }

/* Barra superior que se oculta al bajar */
#topbar { transition:max-height .35s ease, opacity .25s ease; max-height:44px; overflow:hidden; }
#topbar.hide { max-height:0; opacity:0; }

/* Reveal al hacer scroll */
.reveal { opacity:0; transform:translateY(26px); transition:opacity .8s cubic-bezier(.22,1,.36,1), transform .8s cubic-bezier(.22,1,.36,1); }
.reveal.visible { opacity:1; transform:none; }

.hero-overlay { background:linear-gradient(180deg, rgba(13,31,26,.38) 0%, rgba(13,31,26,.28) 40%, rgba(13,31,26,.78) 100%); }
.grain { background-image:radial-gradient(rgba(255,255,255,.05) 1px, transparent 1px); background-size:3px 3px; }

/* Tarjetas / bloques con hover levantado */
.pillar, .lift-card { transition:transform .45s cubic-bezier(.22,1,.36,1), box-shadow .45s ease, border-color .45s ease; }
.pillar:hover, .lift-card:hover { transform:translateY(-8px); border-color:#AFC8BC; }
.pillar:hover .pillar-art, .lift-card:hover .pillar-art { transform:scale(1.05); }
.pillar-art { transition:transform .7s cubic-bezier(.22,1,.36,1); transform-origin:center bottom; }

/* Marquee de credenciales / galería */
@keyframes drift { from{transform:translateX(0)} to{transform:translateX(-50%)} }
.marquee-track { animation:drift 34s linear infinite; }
.marquee:hover .marquee-track { animation-play-state:paused; }
.marquee .marquee-track img { pointer-events:none; }
section .marquee .marquee-track:has(img) { animation-duration: 52s; }

/* Banner "página informativa, no destino de campañas" (uso interno de contenido sensible) */
.organic-page { }

/* Filtros de la galería */
.gallery-filter {
  display: inline-flex; align-items: center; gap: 8px;
  padding: 10px 18px; border-radius: 999px; font-size: 13px; font-weight: 600;
  background: #FFFFFF; border: 1px solid #EAE0CC; color: #274F3E;
  transition: background-color .25s ease, color .25s ease, border-color .25s ease;
}
.gallery-filter:hover { border-color: #AFC8BC; }
.gallery-filter.active { background: #16302A; border-color: #16302A; color: #FAF8F4; }
.gallery-item { cursor: pointer; border: none; padding: 0; }

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior:auto; }
  .reveal { opacity:1; transform:none; transition:none; }
  .marquee-track { animation:none; }
}
