/* ============================================================================
   Innprontum · componentes y decorativos (CSS plano).
   Las utilidades (grid, spacing, colores navy/brand, etc.) las aporta Tailwind
   (CDN en dev; compilado en producción — ver /build).
   ============================================================================ */
:root{ --navy-950:#0A1424; --navy-900:#0F1E33; --navy:#1B2E4B; --green:#16A34A; --green-d:#12833C; --green-l:#7CE0A3; --line:#E4EAF1; }

html,body{ -webkit-font-smoothing:antialiased; }
body{ font-family:'Inter',ui-sans-serif,system-ui,sans-serif; }
h1,h2,h3,h4,.font-display{ font-family:'Sora',ui-sans-serif,system-ui,sans-serif; letter-spacing:-.02em; }
::selection{ background:#7CE0A3; color:#0A1424; }

/* Eyebrow */
.eyebrow{ font-weight:700; font-size:12.5px; letter-spacing:.18em; text-transform:uppercase; color:var(--green-d); }
.eyebrow-dark{ color:var(--green-l); }

/* Botones */
.btn{ display:inline-flex; align-items:center; gap:.55rem; font-weight:600; border-radius:9999px; padding:.9rem 1.6rem; transition:.2s; cursor:pointer; line-height:1; text-decoration:none; }
.btn-primary{ background:var(--green-d); color:#fff; box-shadow:0 10px 24px rgba(18,131,60,.32); }
.btn-primary:hover{ background:#0C6E30; transform:translateY(-2px); color:#fff; }
.btn-light{ background:#fff; color:var(--navy-900); }
.btn-light:hover{ transform:translateY(-2px); box-shadow:0 16px 34px rgba(10,20,36,.18); }
.btn-outline{ border:1.5px solid rgba(255,255,255,.35); color:#fff; }
.btn-outline:hover{ border-color:var(--green-l); color:var(--green-l); }
.btn-outline-dark{ border:1.5px solid var(--line); color:var(--navy-900); }
.btn-outline-dark:hover{ border-color:var(--navy); }

.link-arrow{ display:inline-flex; align-items:center; gap:.4rem; font-weight:600; color:var(--green-d); text-decoration:none; }
.link-arrow svg{ transition:transform .2s; }
.link-arrow:hover svg{ transform:translateX(4px); }

.chip{ display:inline-flex; align-items:center; gap:.4rem; font-size:12px; font-weight:600; padding:.35rem .8rem; border-radius:9999px; border:1px solid rgba(255,255,255,.16); color:#cdd8e6; }
.grad-text{ background:linear-gradient(90deg,#16A34A,#7CE0A3); -webkit-background-clip:text; background-clip:text; color:transparent; }

/* Tarjetas */
.card{ border-radius:1rem; background:#fff; border:1px solid var(--line); box-shadow:0 1px 2px rgba(10,20,36,.04),0 16px 40px rgba(10,20,36,.10); }

/* Chips de filtro */
.chipf{ font-size:13px; font-weight:600; padding:.5rem 1rem; border-radius:9999px; border:1.5px solid var(--line); background:#fff; color:#465A70; cursor:pointer; transition:.15s; white-space:nowrap; }
.chipf:hover{ border-color:#2B5C93; color:#2B5C93; }
.chipf.on{ background:var(--navy-950); border-color:var(--navy-950); color:#fff; }

/* Decorativos */
.hero-glow{ position:absolute; inset:0; overflow:hidden; z-index:0; pointer-events:none; }
.hero-glow::before{ content:''; position:absolute; width:760px; height:760px; right:-240px; top:-300px; border-radius:50%; background:radial-gradient(circle, rgba(22,163,74,.20) 0%, rgba(22,163,74,0) 62%); }
.hero-glow::after{ content:''; position:absolute; width:620px; height:620px; left:-220px; bottom:-300px; border-radius:50%; background:radial-gradient(circle, rgba(43,92,147,.42) 0%, rgba(43,92,147,0) 64%); }
.grid-lines{ background-image:linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px); background-size:56px 56px; }

/* Menús (wp_nav_menu) */
#primary-menu{ display:flex; align-items:center; gap:1.75rem; list-style:none; margin:0; padding:0; }
#primary-menu a{ color:rgba(255,255,255,.85); font-weight:500; font-size:15px; transition:color .2s; text-decoration:none; }
#primary-menu a:hover,#primary-menu .current-menu-item>a,#primary-menu .current_page_item>a{ color:#fff; }
#mobile-list{ display:flex; flex-direction:column; list-style:none; margin:0; padding:0; }
#mobile-list a{ display:block; padding:.65rem 0; border-bottom:1px solid rgba(255,255,255,.1); color:rgba(255,255,255,.9); text-decoration:none; }
footer .menu{ list-style:none; padding:0; margin:0; }
footer .menu a{ color:rgba(255,255,255,.7); text-decoration:none; }
footer .menu a:hover{ color:var(--green-l); }

/* Reveal */
.js .reveal{ opacity:0; transform:translateY(26px); transition:opacity .6s cubic-bezier(.16,1,.3,1), transform .6s cubic-bezier(.16,1,.3,1); }
.js .reveal.in{ opacity:1; transform:none; }
.js .reveal[data-d="1"]{ transition-delay:.06s } .js .reveal[data-d="2"]{ transition-delay:.12s } .js .reveal[data-d="3"]{ transition-delay:.18s }

a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{ outline:3px solid var(--green-l); outline-offset:2px; }

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