/* ============================================================
   SIBB - Hoja de estilos compartida (fuente unica de verdad)
   Generada del nucleo comun de todas las paginas del sitio.
   Editar aqui cambia el diseno en TODAS las paginas.
   ============================================================ */

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
:root{--green:#2ab500;--green-dark:#1a7a00;--green-mid:#52c435;--green-soft:#c8edc0;--green-pale:#eef8eb;--green-sage:#7db87a;--slate:#243b22;--slate2:#3a5437;--slate3:#5c7a59;--cream:#f8f6f1;--white:#ffffff;--stone:#e8e4dc;--text:#1e2d1c;--text2:#4a6347;--text3:#7a9a77;--f-display:'Playfair Display',serif;--f-serif:'Source Serif 4',serif;--f-sans:'DM Sans',sans-serif;}
html{scroll-behavior:smooth;}
body{background:var(--cream);color:var(--text);font-family:var(--f-sans);font-size:16px;line-height:1.6;overflow-x:hidden;}
nav{position:fixed;top:0;left:0;right:0;z-index:100;display:flex;align-items:center;justify-content:space-between;padding:1rem 4rem;background:rgba(248,246,241,.96);backdrop-filter:blur(12px);border-bottom:1px solid var(--stone);box-shadow:0 1px 20px rgba(36,59,34,.06);gap:1rem;}
.nav-logo{display:flex;align-items:center;gap:.9rem;text-decoration:none;flex-shrink:0;}
.nav-logo-img{width:60px; height:60px;object-fit:contain;}
footer .nav-logo-img{width:40px;height:40px;}
.nav-logo-text{font-family:var(--f-display);font-size:1.2rem;font-weight:600;color:var(--slate);letter-spacing:.02em;}
.nav-logo-sub{font-size:.6rem;font-weight:300;color:var(--text3);letter-spacing:.12em;text-transform:uppercase;display:block;}
nav ul{list-style:none;display:flex;gap:1.5rem;}
nav ul li{position:relative;}
nav ul li.has-dropdown:hover .nav-dropdown{opacity:1;visibility:visible;transform:translateY(0);}
.nav-dropdown{position:absolute;top:100%;left:0;padding-top:.9rem;margin-top:-.1rem;opacity:0;visibility:hidden;transform:translateY(6px);transition:opacity .18s ease,transform .18s ease,visibility .18s;z-index:200;}
.nav-dropdown::before{content:"";position:absolute;inset:0 0 auto 0;height:.9rem;}
.nav-dropdown-inner{background:var(--white);border:1px solid var(--stone);box-shadow:0 14px 32px rgba(36,59,34,.14);min-width:220px;padding:.5rem 0;}
.nav-dropdown a{display:block;padding:.65rem 1.3rem;font-size:.78rem;letter-spacing:.02em;text-transform:none;color:var(--text2);text-decoration:none;white-space:nowrap;}
.nav-dropdown a:hover{background:var(--green-pale);color:var(--green-dark);}
nav ul a{text-decoration:none;color:var(--text2);font-size:.76rem;letter-spacing:.08em;text-transform:uppercase;transition:color .2s;white-space:nowrap;}
.nav-right{display:flex;align-items:center;gap:1rem;flex-shrink:0;}
.nav-cta{background:var(--green);color:#fff;padding:.5rem 1.2rem;font-size:.74rem;font-weight:500;letter-spacing:.08em;text-transform:uppercase;text-decoration:none;transition:background .2s;white-space:nowrap;}
.nav-cta:hover{background:var(--green-dark);}
.nav-toggle{display:none;background:none;border:none;font-size:1.5rem;line-height:1;color:var(--slate);cursor:pointer;padding:.2rem .3rem;}
@media(max-width:1100px){
  .nav-toggle{display:block;}
  nav ul.nav-open{display:flex !important;position:absolute;top:100%;left:0;right:0;flex-direction:column;gap:0;background:var(--cream);padding:.5rem 1.5rem 1.2rem;border-bottom:1px solid var(--stone);box-shadow:0 16px 28px rgba(36,59,34,.12);}
  nav ul.nav-open li{width:100%;}
  nav ul.nav-open a{display:block;padding:.9rem 0;font-size:.85rem;border-bottom:1px solid var(--stone);}
  nav ul.nav-open li:last-child a{border-bottom:none;}
  nav ul.nav-open .nav-dropdown{display:none;}
}
.lang-btn{background:none;border:none;border-right:1px solid var(--stone);padding:.35rem .65rem;font-size:.68rem;font-weight:500;letter-spacing:.08em;cursor:pointer;color:var(--text3);font-family:var(--f-sans);transition:all .2s;}
.lang-btn:last-child{border-right:none;}
.lang-btn:hover{background:var(--green-pale);color:var(--green-dark);}
.lang-btn.active{background:var(--green);color:#fff;}
.page-hero{padding:9rem 6rem 5rem;position:relative;overflow:hidden;border-bottom:1px solid var(--stone);background:var(--white);}
.page-hero.page-hero-img{background-size:cover;background-position:center 35%;border-bottom:none;}
.page-hero.page-hero-img::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(14,28,20,.32) 0%,rgba(9,18,13,.9) 100%);z-index:0;}
.page-hero.page-hero-img>*{position:relative;z-index:1;}
.page-hero.page-hero-img .breadcrumb{color:rgba(255,255,255,.72);}
.page-hero.page-hero-img .breadcrumb a{color:rgba(255,255,255,.92);}
.page-hero.page-hero-img .page-label{color:var(--green-soft);}
.page-hero.page-hero-img h1{color:#fff;}
.page-hero.page-hero-img h1 em{color:var(--green-soft);font-style:italic;}
.page-hero.page-hero-img .page-hero-lead{color:rgba(255,255,255,.86);}
.page-hero.page-hero-img .page-hero-stats{border-top-color:rgba(255,255,255,.2);}
.page-hero.page-hero-img .stat-val{color:var(--green-soft);}
.page-hero.page-hero-img .stat-label{color:rgba(255,255,255,.65);}
.breadcrumb{display:flex;align-items:center;gap:.6rem;font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:var(--text3);margin-bottom:2rem;}
.breadcrumb a{color:var(--text3);text-decoration:none;transition:color .2s;}
.breadcrumb a:hover{color:var(--green-dark);}
.breadcrumb span{color:var(--green-dark);}
.page-label{font-size:.68rem;letter-spacing:.2em;text-transform:uppercase;color:var(--green-dark);margin-bottom:.8rem;display:flex;align-items:center;gap:.8rem;}
.page-label::after{content:'';width:50px;height:1px;background:var(--green);opacity:.5;}
.page-hero h1{font-family:var(--f-display);font-size:clamp(2.5rem,4.5vw,5rem);font-weight:400;line-height:1.05;color:var(--slate);margin-bottom:1.5rem;max-width:680px;}
.page-hero h1 em{font-style:italic;color:var(--green-dark);}
.section-alt{background:var(--white);}
.section+.section{border-top:1px solid var(--stone);}
.section-label{font-size:.68rem;letter-spacing:.2em;text-transform:uppercase;color:var(--green-dark);margin-bottom:.8rem;display:flex;align-items:center;gap:.8rem;}
.section-label::after{content:'';width:50px;height:1px;background:var(--green);opacity:.4;}
h2 em{font-style:italic;color:var(--green-dark);}
p:last-child{margin-bottom:0;}
footer{background:var(--slate);padding:4rem 6rem 2rem;border-top:3px solid var(--green);}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:4rem;margin-bottom:4rem;}
.footer-brand p{font-family:var(--f-serif);font-size:.83rem;font-weight:300;color:var(--green-sage);line-height:1.7;max-width:280px;margin-top:1rem;}
.footer-col h4{font-size:.68rem;letter-spacing:.15em;text-transform:uppercase;color:var(--green-soft);margin-bottom:1.2rem;}
.footer-col ul{list-style:none;display:flex;flex-direction:column;gap:.6rem;}
.footer-col ul a{font-size:.83rem;color:var(--green-sage);text-decoration:none;transition:color .2s;}
.footer-col ul a:hover{color:var(--white);}
.footer-bottom{padding-top:2rem;border-top:1px solid rgba(255,255,255,.08);display:flex;justify-content:space-between;align-items:center;font-size:.74rem;color:var(--slate3);}
.footer-bottom a{color:var(--slate3);text-decoration:none;}
.footer-bottom a:hover{color:var(--green-soft);}

/* Banner tematico a todo el ancho, bajo la cabecera */
.page-banner{width:100%;height:clamp(90px,10vw,160px);overflow:hidden;position:relative;border-bottom:1px solid var(--stone);background:var(--green-pale);}
.page-banner img{width:100%;height:100%;object-fit:cover;display:block;}
.page-banner::after{content:'';position:absolute;left:0;right:0;bottom:0;height:45%;background:linear-gradient(180deg,rgba(36,59,34,0),rgba(36,59,34,.28));pointer-events:none;}
