

/* ==========================
   FND components used on index
   Migrated from fnd_home.css
   ========================== */
/* Variables moved to css/fnd_theme.css */

/* Sections and layout */
.fnd-section{ padding: 48px 16px; background: var(--fnd-soft); }
.fnd-section--alt{ background: var(--fnd-white); }
.fnd-container{ max-width: var(--fnd-max); margin: 0 auto; padding: 0 8px; }
.fnd-grid{ display: grid; gap: 18px; }
.fnd-grid-2{ grid-template-columns: repeat(1,1fr); }
.fnd-grid-3{ grid-template-columns: repeat(1,1fr); }
@media (min-width: 768px){
  .fnd-grid--50{ grid-template-columns: 1fr 1fr; }
  .fnd-grid-2{ grid-template-columns: 1.2fr .8fr; }
  .fnd-grid-3{ grid-template-columns: repeat(3,1fr); }
}
.fnd-grid--center{ align-items: center; }

/* Headings */
.fnd-eyebrow{ font-size: 1.05rem; color: var(--fnd-blue); margin: 0 0 20px 0; font-weight: 700; letter-spacing: .2px; align-items: center; }
.fnd-title{ font-size: clamp(1.5rem, 2.2vw, 2rem); color: var(--fnd-ink); margin: 0 0 14px 0; position: relative; }
.fnd-title::after{ content: ""; display: block; height: 4px; width: 84px; margin-top: 8px; background: linear-gradient(90deg,#0b61a4 0%, #ffffff 50%, #c62828 100%); border-radius: 4px; }
.fnd-title--light{ color: var(--fnd-white); }
.fnd-title--light::after{ background: rgba(255,255,255,0.75); }

/* Lead text */
.fnd-lead{ color: var(--fnd-ink); opacity: .9; line-height: 1.6; margin-bottom: 14px; }
.fnd-lead--narrow{ max-width: 560px; }
@media (max-width: 767px){ .fnd-lead--narrow{ max-width: 100%; } }

/* Buttons */
.fnd-actions{ display:flex; gap: .75rem; flex-wrap: wrap; align-items:center; }
.fnd-btn{ display:inline-block; border-radius: 999px; padding: 10px 16px; text-decoration: none; font-weight: 600; transition: transform .15s ease, box-shadow .15s ease, background .15s ease, color .15s ease; }
.fnd-btn:hover{ transform: translateY(-2px); }
.fnd-btn--light{ background: #fff; color: var(--fnd-ink); box-shadow: var(--fnd-shadow); }
.fnd-btn--blue{ background: linear-gradient(135deg,#0b87e6,#0b61a4); color:#fff; box-shadow: 0 10px 22px rgba(11,97,164,0.28); }

/* Impact stats */
.fnd-impact{ background: linear-gradient(180deg, #f9fbff 0%, #f7f9fc 100%); }
.fnd-stat{ background: #fff; border-radius: 14px; padding: 20px; text-align: center; box-shadow: var(--fnd-shadow); }
.fnd-stat-number{ font-size: clamp(1.4rem, 3vw, 2rem); color: var(--fnd-blue); font-weight: 800; }
.fnd-stat-label{ color: var(--fnd-muted); margin-top: 6px; }

/* Essence */
.fnd-card{ background: var(--fnd-white); border-radius: var(--fnd-radius); box-shadow: var(--fnd-shadow); padding: 16px; }
.fnd-value-card{ display:flex; align-items:flex-start; gap: 12px; }
.fnd-card-title{ margin: 4px 0 6px 0; font-size: 1.05rem; color: var(--fnd-ink); }
.fnd-card-text{ margin: 0; color: var(--fnd-muted); line-height: 1.5; }
/* Avoid big gaps from global text justification inside narrow cards on home */
.fnd-values .fnd-card-text{ text-align: left; text-justify: auto; }
.fnd-essence .fnd-essence-card{ display:flex; gap:14px; align-items:flex-start; padding:16px; }
.fnd-essence-icon{ width:56px; height:56px; border-radius:999px; display:grid; place-items:center; flex: 0 0 56px; font-size:28px; line-height:1; background:#fff; border:3px solid #e0e6ef; box-shadow: 0 8px 20px rgba(0,0,0,0.08); font-family: "Segoe UI Emoji","Apple Color Emoji","Noto Color Emoji","Twemoji Mozilla","EmojiOne Color", sans-serif; overflow:hidden; position:relative; }
.fnd-essence-icon .fnd-emoji-img{ display:block; width:60%; height:auto; border-radius:4px; }
.fnd-essence-icon::before{ content: none !important; }
.fnd-essence-icon--care{ border-color:#ffc83b; }
.fnd-essence-icon--transparency{ border-color:#714c85; }
.fnd-essence-icon--cr{ border-color:#0153b4; }

/* Programs */
.fnd-programs{ background:#f7f9fc; }
.fnd-program-card{ background:#fff; border-radius: 14px; overflow:hidden; box-shadow: var(--fnd-shadow); display:flex; flex-direction:column; }
.fnd-program-media{ aspect-ratio: 4 / 3; background:#e9eef6; }
.fnd-program-media img{ width:100%; height:100%; object-fit:cover; display:block; }
.fnd-program-body{ padding: 14px 16px 18px; }
.fnd-program-title{ margin: 0 0 6px 0; color: var(--fnd-ink); font-size: 1.05rem; }
.fnd-program-text{ margin:0 0 10px 0; color: var(--fnd-muted); line-height:1.5; }
.fnd-link{ color: var(--fnd-blue); text-decoration: none; font-weight: 600; }
.fnd-link:hover{ text-decoration: underline; }

/* Values icons */
.fnd-icon{ width: 42px; height: 42px; border-radius: 50%; flex: 0 0 42px; display:inline-flex; align-items:center; justify-content:center; color:#fff; box-shadow: 0 6px 16px rgba(0,0,0,0.1) }
.fnd-icon--heart{ background: linear-gradient(135deg,#ff5aab,#ff7a59); }
.fnd-icon--flag{ background: linear-gradient(135deg,#0b61a4,#0b87e6); }
.fnd-icon--shield{ background: linear-gradient(135deg,#2e7d32,#66bb6a); }
.fnd-icon::before{ content:""; width:20px; height:20px; display:block; background: currentColor; mask-size: cover; -webkit-mask-size: cover; }
.fnd-icon--heart::before{ mask: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path fill="%23fff" d="M12 21s-7-4.35-9-7.1C-0.4 9.9 3.1 4 8.1 6.1 9.9 7 12 9 12 9s2.1-2 3.9-2.9C20.9 4 24.4 9.9 21 13.9 19 16.65 12 21 12 21z"/></svg>') center/contain no-repeat; -webkit-mask: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path fill="%23fff" d="M12 21s-7-4.35-9-7.1C-0.4 9.9 3.1 4 8.1 6.1 9.9 7 12 9 12 9s2.1-2 3.9-2.9C20.9 4 24.4 9.9 21 13.9 19 16.65 12 21 12 21z"/></svg>') center/contain no-repeat; }
.fnd-icon--flag::before{ mask: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path fill="%23fff" d="M4 4h13l-1.5 3L20 10H7l-1.5 3H4z"/></svg>') center/contain no-repeat; -webkit-mask: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path fill="%23fff" d="M4 4h13l-1.5 3L20 10H7l-1.5 3H4z"/></svg>') center/contain no-repeat; }
.fnd-icon--shield::before{ mask: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path fill="%23fff" d="M12 2l7 3v6c0 5-3.5 9.74-7 11-3.5-1.26-7-6-7-11V5l7-3z"/></svg>') center/contain no-repeat; -webkit-mask: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path fill="%23fff" d="M12 2l7 3v6c0 5-3.5 9.74-7 11-3.5-1.26-7-6-7-11V5l7-3z"/></svg>') center/contain no-repeat; }

/* Trust */
.fnd-trust{ background: radial-gradient(1200px 300px at 70% 20%, rgba(255,0,90,0.06), transparent 60%), radial-gradient(900px 260px at 68% 60%, rgba(255,0,90,0.05), transparent 70%), var(--fnd-white); }
.fnd-pill-box{ display:grid; gap:12px; }
.fnd-pill{ background: rgba(255, 107, 129, 0.05); color: var(--fnd-red); border: 2px dotted rgba(198, 40, 40, 0.35); border-radius: 999px; padding: 12px 16px; text-align: center; font-weight: 700; box-shadow: 0 6px 16px rgba(0,0,0,0.04) inset; }

/* Hero principal */
.hero{display:grid;grid-template-columns:1fr;gap:40px;padding:72px 20px 56px;background:linear-gradient(180deg,#f9fbff 0%,#ffffff 100%);}
@media(min-width:900px){.hero{grid-template-columns:1.05fr .95fr;align-items:center;}}
.hero__media video,.hero__media img{inline-size:100%;border-radius:22px;box-shadow:var(--fnd-shadow);object-fit:cover;aspect-ratio:16/9;}
.hero__content h1{font-size:clamp(2.1rem,4.5vw,3.2rem);margin:0 0 18px;color:var(--fnd-ink);line-height:1.15;}
.hero__lead{font-size:1.15rem;max-inline-size:620px;line-height:1.55;margin:0 0 20px;color:var(--fnd-muted);}
.hero .fnd-actions .fnd-btn--blue{box-shadow:0 12px 30px rgba(11,97,164,.33);}
.hero .fnd-actions .fnd-btn--light{background:#fff;}

/* Ajuste pills contraste mejorando accesibilidad */
.fnd-pill{background:rgba(255,107,129,0.15);color:#a22032;border:2px solid rgba(162,32,50,0.35);}

/* Micro-interacciones tarjetas programas */
.fnd-program-card{transition:transform .18s ease, box-shadow .18s ease;}
.fnd-program-card:hover{transform:translateY(-6px);box-shadow:0 14px 32px rgba(0,0,0,0.12);}

/* Focus visible accesible */
:where(a,button,.fnd-btn,.nav-link):focus-visible{outline:3px solid #0b87e6;outline-offset:3px;border-radius:10px;}

/* Prefiere reducir movimiento */
@media (prefers-reduced-motion: reduce){
  .fnd-btn,.fnd-program-card,.navbar-nav .nav-link,.footer-social-list a,.hero__media video{transition:none !important;animation:none !important;transform:none !important;}
  .hero__media video{filter:none;}
}
