/* =========================================================
   AVIORNIS INTERNACIONAL IBÉRICA
   Estructura inspirada en zoo-koki.com. Paleta tomada del
   logo (verde salvia, corteza) y del ERP de socios (verde
   #457F04 / #2C5300, crema #F7F9F0, Raleway) para que el
   paso a intranet, anillas y anuncios no se note.
   ========================================================= */

:root{
  --forest-950:#12220d;
  --forest-900:#1a3013;
  --forest-800:#233f18;
  --green-700:#2c5300;   /* ERP .title-bar */
  --green-600:#457f04;   /* ERP nav / botones / h1 */
  --green-500:#589514;   /* ERP hover */
  --green-100:#e9f3dc;
  --lime-100:#e9ffd0;    /* ERP campos obligatorios */
  --sage:#5b986c;        /* aro del logo */
  --sage-100:#e3ede5;
  --cream:#f7f9f0;       /* ERP panel login */
  --cream-2:#eef2e2;
  --sand:#dfe6cd;
  --bark:#4f3419;        /* ramas del logo */
  --ochre:#bb841a;       /* ERP acento */
  --ochre-400:#d49a2c;
  --ink:#1c2218;
  --ink-soft:#4d5646;
  --line:#dde3d2;
  --white:#ffffff;

  --radius-lg:28px;
  --radius-md:18px;
  --radius-sm:12px;

  --shadow-soft:0 20px 45px -20px rgba(18,34,13,.35);
  --shadow-tight:0 8px 20px -8px rgba(18,34,13,.28);

  --font-display:"Raleway","Helvetica Neue",Helvetica,Arial,sans-serif;
  --font-body:"Plus Jakarta Sans","Segoe UI",Helvetica,Arial,sans-serif;

  --container:1240px;
  --header-h:84px;
}

*,*::before,*::after{box-sizing:border-box;}
html{scroll-behavior:smooth;scroll-padding-top:calc(var(--header-h) + 20px);}
@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto;}
  *{animation-duration:.001ms !important;animation-iteration-count:1 !important;}
  *{transition-property:color,background-color,border-color,box-shadow,opacity !important;transition-duration:.15s !important;}
}

body{
  margin:0;
  background:var(--cream);
  color:var(--ink);
  font-family:var(--font-body);
  font-size:16px;
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block;height:auto;}
a{color:inherit;text-decoration:none;}
button{font:inherit;}
.container{width:100%;max-width:var(--container);margin:0 auto;padding:0 24px;}
.visually-hidden{position:absolute !important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;}
.skip-link{position:absolute;left:16px;top:-60px;z-index:200;background:var(--green-600);color:#fff;padding:10px 16px;border-radius:10px;font-weight:700;}
.skip-link:focus{top:12px;}
:focus-visible{outline:3px solid var(--ochre-400);outline-offset:3px;border-radius:6px;}

h1,h2,h3,h4{font-family:var(--font-display);font-feature-settings:"lnum" 1;color:var(--forest-900);line-height:1.12;margin:0 0 .5em;letter-spacing:-.01em;}
h1{font-size:clamp(2.3rem,4.6vw,3.9rem);font-weight:800;}
h2{font-size:clamp(1.8rem,3.2vw,2.7rem);font-weight:800;}
h3{font-size:1.3rem;font-weight:700;}
h4{font-size:1.05rem;font-weight:700;}
p{margin:0 0 1em;}
.lead{font-size:1.14rem;color:var(--ink-soft);max-width:62ch;}
.thin{font-weight:300;}
.accent{color:var(--green-600);}

/* Etiqueta pequeña sobre los títulos */
.eyebrow{
  display:inline-flex;align-items:center;gap:10px;
  font-family:var(--font-display);font-weight:700;font-size:.78rem;
  letter-spacing:.16em;text-transform:uppercase;color:var(--green-600);
  margin-bottom:14px;
}
.eyebrow::before{content:"";width:26px;height:2px;background:currentColor;border-radius:2px;}
.on-dark .eyebrow,.eyebrow.light{color:#b9dd8a;}

/* ---------- Botones (mismo verde que el ERP) ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:9px;
  padding:13px 24px;border-radius:999px;border:2px solid transparent;
  font-family:var(--font-display);font-weight:700;font-size:.95rem;line-height:1;
  cursor:pointer;white-space:nowrap;
  transition:background-color .2s ease,color .2s ease,border-color .2s ease,transform .2s ease,box-shadow .2s ease;
}
.btn svg{width:18px;height:18px;flex:none;}
.btn:hover{transform:translateY(-2px);}
.btn:active{transform:translateY(0) scale(.98);}
.btn-primary{background:var(--green-600);color:#fff;box-shadow:var(--shadow-tight);}
.btn-primary:hover{background:var(--green-500);}
.btn-accent{background:var(--ochre);color:#fff;box-shadow:var(--shadow-tight);}
.btn-accent:hover{background:var(--ochre-400);}
.btn-ghost{background:transparent;color:var(--green-700);border-color:var(--green-600);}
.btn-ghost:hover{background:var(--green-600);color:#fff;}
.btn-light{background:#fff;color:var(--green-700);}
.btn-light:hover{background:var(--lime-100);}
.btn-outline-light{color:#fff;border-color:rgba(255,255,255,.55);}
.btn-outline-light:hover{background:#fff;color:var(--green-700);border-color:#fff;}
.btn-sm{padding:10px 18px;font-size:.88rem;}
.btn-row{display:flex;flex-wrap:wrap;gap:12px;}

.link-arrow{display:inline-flex;align-items:center;gap:8px;font-family:var(--font-display);font-weight:700;color:var(--green-600);}
.link-arrow svg{width:17px;height:17px;transition:transform .2s ease;}
.link-arrow:hover svg{transform:translateX(4px);}

/* ---------- Barra superior (eco de la barra verde del ERP) ---------- */
.topbar{background:var(--green-700);color:#e1e1e1;font-size:.84rem;}
.topbar .container{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:40px;}
.topbar a:hover{color:#fff;}
.topbar-info{display:flex;flex-wrap:wrap;gap:6px 22px;align-items:center;}
.topbar-info span,.topbar-info a{display:inline-flex;align-items:center;gap:7px;}
.topbar svg{width:15px;height:15px;opacity:.85;}
.topbar-social{display:flex;gap:6px;}
.topbar-social a{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;}
.topbar-social a:hover{background:rgba(255,255,255,.12);}

/* ---------- Cabecera ---------- */
.site-header{position:sticky;top:0;z-index:100;background:rgba(255,255,255,.96);backdrop-filter:saturate(1.4) blur(10px);-webkit-backdrop-filter:saturate(1.4) blur(10px);border-bottom:1px solid transparent;transition:box-shadow .25s ease,border-color .25s ease;}
.site-header.scrolled{box-shadow:0 10px 30px -18px rgba(18,34,13,.45);border-color:var(--line);}
.header-inner{display:flex;align-items:center;gap:18px;height:var(--header-h);}
.brand{display:flex;align-items:center;gap:12px;flex:none;}
.brand img{width:58px;height:auto;}
.brand-text{display:flex;flex-direction:column;line-height:1.05;}
.brand-text strong{font-family:var(--font-display);font-weight:800;font-size:1.28rem;letter-spacing:.06em;color:var(--forest-900);}
.brand-text small{font-family:var(--font-display);font-weight:600;font-size:.66rem;letter-spacing:.1em;text-transform:uppercase;color:var(--green-600);}

.main-nav{margin-left:auto;}
.nav-list{list-style:none;margin:0;padding:0;display:flex;align-items:center;gap:2px;}
.nav-item{position:relative;}
.nav-link{
  display:inline-flex;align-items:center;gap:5px;
  padding:10px 11px;border-radius:10px;border:0;background:none;cursor:pointer;
  font-family:var(--font-display);font-weight:600;font-size:.95rem;color:var(--ink);white-space:nowrap;
  transition:color .2s ease,background-color .2s ease;
}
.nav-link svg{width:13px;height:13px;transition:transform .2s ease;}
.nav-link:hover,.nav-item.open>.nav-link{color:var(--green-600);background:var(--green-100);}
.nav-link[aria-current="page"],.nav-item.current>.nav-link{color:var(--green-600);}
.nav-item.current>.nav-link::after,.nav-link[aria-current="page"]::after{content:"";position:absolute;left:12px;right:12px;bottom:3px;height:2px;border-radius:2px;background:var(--green-600);}

.dropdown{
  position:absolute;top:calc(100% + 10px);left:-8px;min-width:270px;
  list-style:none;margin:0;padding:10px;background:#fff;border-radius:var(--radius-md);
  box-shadow:var(--shadow-soft);border:1px solid var(--line);
  opacity:0;visibility:hidden;transform:translateY(8px);
  transition:opacity .2s ease,transform .2s ease,visibility 0s linear .2s;
}
.dropdown::before{content:"";position:absolute;left:0;right:0;top:-12px;height:12px;}
.nav-item.open>.dropdown{opacity:1;visibility:visible;transform:translateY(0);transition:opacity .2s ease,transform .2s ease;}
.dropdown a{display:flex;align-items:flex-start;gap:12px;padding:10px 12px;border-radius:10px;font-size:.93rem;color:var(--ink);}
.dropdown a:hover{background:var(--cream);color:var(--green-700);}
.dropdown a .dd-ico{flex:none;display:grid;place-items:center;width:32px;height:32px;border-radius:9px;background:var(--green-100);color:var(--green-600);}
.dropdown a .dd-ico svg{width:17px;height:17px;}
.dropdown a strong{display:block;font-family:var(--font-display);font-weight:700;font-size:.93rem;line-height:1.25;}
.dropdown a small{display:block;color:var(--ink-soft);font-size:.8rem;line-height:1.35;margin-top:2px;}
.dropdown .dd-sep{height:1px;background:var(--line);margin:6px 10px;}
.dropdown .dd-label{padding:8px 12px 4px;font-family:var(--font-display);font-size:.7rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--sage);}

.header-cta{display:flex;gap:10px;flex:none;}
.nav-toggle{display:none;margin-left:auto;width:46px;height:46px;border-radius:12px;border:1px solid var(--line);background:#fff;cursor:pointer;place-items:center;color:var(--forest-900);}
.nav-toggle svg{width:24px;height:24px;}

/* ---------- Hero portada ---------- */
.hero{position:relative;background:var(--forest-900);color:#fff;overflow:hidden;isolation:isolate;}
.hero::before{content:"";position:absolute;inset:0;z-index:-1;
  background:radial-gradient(900px 500px at 85% 20%,rgba(88,149,20,.35),transparent 60%),
             radial-gradient(700px 480px at 0% 100%,rgba(91,152,108,.28),transparent 60%);}
.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:56px;align-items:center;padding:84px 0 150px;}
.hero h1{color:#fff;margin-bottom:22px;}
.hero h1 .thin{font-weight:300;display:block;color:#cfe8ae;}
.hero .lead{color:rgba(255,255,255,.82);margin-bottom:32px;}
.hero-meta{display:flex;flex-wrap:wrap;gap:10px 26px;margin-top:34px;color:rgba(255,255,255,.75);font-size:.9rem;}
.hero-meta span{display:inline-flex;align-items:center;gap:8px;}
.hero-meta svg{width:18px;height:18px;color:#b9dd8a;}

.hero-collage{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:22px;align-items:start;padding-bottom:30px;}
.hero-collage figure{margin:0;border-radius:var(--radius-md);overflow:hidden;box-shadow:0 30px 60px -25px rgba(0,0,0,.6);}
.hero-collage figure img{width:100%;height:auto;}
.hero-collage .c2{margin-top:90px;}
.hero-badge{position:absolute;left:50%;top:44%;margin-left:-64px;z-index:2;width:128px;height:128px;border-radius:50%;background:#fff;display:grid;place-items:center;box-shadow:0 18px 40px -14px rgba(0,0,0,.55);}
.hero-badge img{width:104px;}

/* Accesos rápidos (servicios del ERP) */
.quick{position:relative;z-index:5;margin-top:-86px;}
.quick-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;}
.quick-card{
  display:flex;flex-direction:column;gap:10px;padding:24px;border-radius:var(--radius-md);
  background:#fff;box-shadow:var(--shadow-soft);border:1px solid var(--line);
  transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease;
}
.quick-card:hover{transform:translateY(-4px);border-color:var(--green-500);}
.quick-ico{display:grid;place-items:center;width:48px;height:48px;border-radius:14px;background:var(--green-600);color:#fff;}
.quick-ico svg{width:24px;height:24px;}
.quick-card h3{font-size:1.1rem;margin:6px 0 0;}
.quick-card p{margin:0;color:var(--ink-soft);font-size:.9rem;line-height:1.5;}
.quick-card .link-arrow{margin-top:auto;font-size:.88rem;}

/* ---------- Secciones ---------- */
.section{padding:100px 0;}
.section-sm{padding:64px 0;}
.section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:32px;margin-bottom:44px;}
.section-head .lead{margin:0;}
.section-head.center{flex-direction:column;align-items:center;text-align:center;}
.bg-white{background:#fff;}
.bg-cream2{background:var(--cream-2);}

.split{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center;}
.split.wide-left{grid-template-columns:1.15fr .85fr;}

/* Cifras */
.stats{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-top:30px;}
.stat{padding:22px;border-radius:var(--radius-md);background:#fff;border:1px solid var(--line);}
.stat strong{display:block;font-family:var(--font-display);font-feature-settings:"lnum" 1;font-weight:800;font-size:2.1rem;line-height:1;color:var(--green-600);margin-bottom:6px;}
.stat span{font-size:.9rem;color:var(--ink-soft);}

.about-visual{position:relative;}
.about-visual .photo{border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-soft);}
.about-visual .photo img{width:100%;height:auto;}
.about-visual .float-card{position:absolute;left:-28px;bottom:36px;max-width:260px;padding:20px 22px;border-radius:var(--radius-md);background:var(--forest-900);color:#fff;box-shadow:var(--shadow-soft);}
.about-visual .float-card strong{display:block;font-family:var(--font-display);font-size:1.05rem;margin-bottom:4px;}
.about-visual .float-card span{font-size:.86rem;color:rgba(255,255,255,.78);}

/* Tarjetas con imagen y etiqueta flotante (estilo "mundos" de Zoo Koki) */
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;align-items:start;}
.card{position:relative;display:flex;flex-direction:column;border-radius:var(--radius-lg);background:#fff;overflow:hidden;box-shadow:var(--shadow-tight);border:1px solid var(--line);transition:transform .3s ease,box-shadow .3s ease;}
.card:hover{transform:translateY(-6px);box-shadow:var(--shadow-soft);}
.card-media{overflow:hidden;background:var(--sage-100);}
.card-media img{width:100%;height:auto;transition:transform .6s ease;}
.card:hover .card-media img{transform:scale(1.03);}
.card-media.contain img{padding:18px;}
.card-body{position:relative;display:flex;flex-direction:column;gap:8px;flex:1;margin:-34px 14px 14px;padding:22px 20px 20px;background:#fff;border-radius:var(--radius-md);}
.card-tag{align-self:flex-start;padding:5px 11px;border-radius:999px;background:var(--green-100);color:var(--green-700);font-family:var(--font-display);font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;}
.card-body h3{margin:4px 0 0;}
.card-body p{margin:0;color:var(--ink-soft);font-size:.94rem;}
.card-body .link-arrow{margin-top:auto;padding-top:10px;font-size:.9rem;}

/* Panel redondeado */
.panel{border-radius:var(--radius-lg);padding:56px;background:#fff;border:1px solid var(--line);}
.panel-dark{background:var(--forest-900);color:#fff;border:0;position:relative;overflow:hidden;isolation:isolate;}
.panel-dark::before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(600px 380px at 100% 0%,rgba(88,149,20,.35),transparent 65%);}
.panel-dark h2,.panel-dark h3{color:#fff;}
.panel-dark p,.panel-dark li{color:rgba(255,255,255,.82);}
.panel-green{background:var(--green-600);color:#fff;border:0;}
.panel-green h2{color:#fff;}

/* Revista */
.mag{display:grid;grid-template-columns:.9fr 1.1fr;gap:56px;align-items:center;}
.mag-covers{position:relative;height:520px;}
.mag-covers img{position:absolute;width:56%;border-radius:10px;box-shadow:0 26px 50px -22px rgba(18,34,13,.6);transition:transform .35s ease;}
.mag-covers .m1{left:22%;top:0;z-index:3;}
.mag-covers .m2{left:0;top:60px;z-index:2;transform:rotate(-7deg);}
.mag-covers .m3{right:0;top:60px;z-index:1;transform:rotate(7deg);}
.mag-covers:hover .m2{transform:rotate(-10deg) translateX(-10px);}
.mag-covers:hover .m3{transform:rotate(10deg) translateX(10px);}
.check-list{list-style:none;padding:0;margin:0 0 28px;display:grid;gap:12px;}
.check-list li{position:relative;padding-left:34px;}
.check-list li::before{content:"";position:absolute;left:0;top:2px;width:22px;height:22px;border-radius:50%;background:var(--green-100) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23457f04' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12l5 5 9-10'/%3E%3C/svg%3E") center/13px no-repeat;}
.panel-dark .check-list li::before{background-color:rgba(255,255,255,.12);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23b9dd8a' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12l5 5 9-10'/%3E%3C/svg%3E");}

/* Convocatoria */
.callout{display:grid;grid-template-columns:1.1fr .9fr;gap:48px;align-items:center;}
.callout-media img{border-radius:var(--radius-md);box-shadow:0 30px 60px -25px rgba(0,0,0,.6);max-height:520px;margin-left:auto;}
.deadline{display:inline-flex;align-items:center;gap:10px;padding:9px 16px;border-radius:999px;background:rgba(212,154,44,.18);color:#f3cf85;font-family:var(--font-display);font-weight:700;font-size:.88rem;margin-bottom:18px;}
.deadline svg{width:17px;height:17px;}
.perks{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:26px 0 30px;}
.perk{padding:18px;border-radius:var(--radius-sm);background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.12);}
.perk strong{display:block;font-family:var(--font-display);font-size:1.25rem;color:#cfe8ae;}
.perk span{font-size:.86rem;color:rgba(255,255,255,.75);}

/* Actualidad */
.news-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.news{display:flex;flex-direction:column;gap:12px;padding:28px;border-radius:var(--radius-md);background:#fff;border:1px solid var(--line);transition:border-color .2s ease,transform .25s ease;}
.news:hover{border-color:var(--green-500);transform:translateY(-4px);}
.news time{font-family:var(--font-display);font-weight:700;font-size:.8rem;letter-spacing:.1em;text-transform:uppercase;color:var(--sage);}
.news h3{margin:0;font-size:1.18rem;}
.news p{margin:0;color:var(--ink-soft);font-size:.93rem;}
.news .link-arrow{margin-top:auto;font-size:.9rem;}

/* Cuotas */
.join{display:grid;grid-template-columns:1.2fr .8fr;gap:40px;align-items:center;}
.prices{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.price{padding:26px 22px;border-radius:var(--radius-md);background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.22);text-align:center;}
.price strong{display:block;font-family:var(--font-display);font-feature-settings:"lnum" 1;font-weight:800;font-size:2.8rem;line-height:1;color:#fff;}
.price span{display:block;margin-top:8px;font-size:.88rem;color:rgba(255,255,255,.85);}
.price small{display:block;font-size:.76rem;color:rgba(255,255,255,.65);}

/* ---------- Cabecera de páginas interiores ---------- */
.page-hero{position:relative;background:var(--forest-900);color:#fff;padding:64px 0 74px;overflow:hidden;isolation:isolate;}
.page-hero::before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(700px 360px at 90% 0%,rgba(88,149,20,.38),transparent 62%),radial-gradient(500px 300px at 0% 120%,rgba(91,152,108,.3),transparent 60%);}
.page-hero::after{content:"";position:absolute;right:-60px;bottom:-80px;z-index:-1;width:340px;height:340px;background:url("../img/logo-aviornis.png") center/contain no-repeat;opacity:.07;}
.page-hero h1{color:#fff;font-size:clamp(2.1rem,4vw,3.3rem);margin-bottom:14px;}
.page-hero .lead{color:rgba(255,255,255,.82);margin:0;}
.breadcrumb{display:flex;flex-wrap:wrap;gap:8px;list-style:none;margin:0 0 20px;padding:0;font-size:.85rem;color:rgba(255,255,255,.65);}
.breadcrumb li+li::before{content:"/";margin-right:8px;opacity:.5;}
.breadcrumb a:hover{color:#fff;}

/* ---------- Contenido interior ---------- */
.page-body{padding:72px 0 100px;}
.layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:48px;align-items:start;}
.prose{max-width:760px;}
.prose h2{font-size:1.75rem;margin-top:1.8em;}
.prose h2:first-child,.prose h3:first-child{margin-top:0;}
.prose h3{margin-top:1.6em;}
.prose ul,.prose ol{padding-left:1.25em;margin:0 0 1.2em;}
.prose li{margin-bottom:.45em;}
.prose li::marker{color:var(--green-600);}
.prose a:not(.btn){color:var(--green-600);font-weight:600;text-decoration:underline;text-decoration-color:rgba(69,127,4,.35);text-underline-offset:3px;}
.prose a:not(.btn):hover{text-decoration-color:currentColor;}
.prose figure{margin:28px 0;}
.prose figure img{border-radius:var(--radius-md);}
.prose figcaption{font-size:.85rem;color:var(--ink-soft);margin-top:8px;}
.prose blockquote{margin:24px 0;padding:18px 22px;border-left:4px solid var(--green-600);background:#fff;border-radius:0 var(--radius-sm) var(--radius-sm) 0;}

.box{padding:28px;border-radius:var(--radius-md);background:#fff;border:1px solid var(--line);}
.box+.box{margin-top:20px;}
.box h3{font-size:1.1rem;}
.box-green{background:var(--green-600);color:#fff;border:0;}
.box-green h3{color:#fff;}
.box-green p{color:rgba(255,255,255,.88);}
.box-note{background:var(--lime-100);border-color:#cfe8ae;}
.sidebar{position:sticky;top:calc(var(--header-h) + 24px);}
.side-links{list-style:none;margin:0;padding:0;}
.side-links li+li{border-top:1px solid var(--line);}
.side-links a{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:11px 0;font-weight:600;font-size:.94rem;}
.side-links a:hover{color:var(--green-600);}
.side-links svg{width:16px;height:16px;color:var(--green-600);flex:none;}

/* Rejillas genéricas */
.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;}

/* Lista de documentos descargables */
.doc-list{display:grid;gap:12px;}
.doc{display:flex;align-items:center;gap:16px;padding:18px 20px;border-radius:var(--radius-sm);background:#fff;border:1px solid var(--line);transition:border-color .2s ease,transform .2s ease,box-shadow .2s ease;}
.doc:hover{border-color:var(--green-500);transform:translateX(4px);box-shadow:var(--shadow-tight);}
.doc-ico{flex:none;display:grid;place-items:center;width:46px;height:46px;border-radius:12px;background:var(--green-100);color:var(--green-600);font-family:var(--font-display);font-weight:800;font-size:.68rem;letter-spacing:.04em;}
.doc-ico.pdf{background:#f6e3e0;color:#b23a2b;}
.doc-ico.xls,.doc-ico.csv{background:#e1f0e3;color:#1f7a3a;}
.doc-ico.doc{background:#e2ebf7;color:#2a5ea8;}
.doc-ico.ext{background:var(--cream-2);color:var(--bark);}
.doc-text{flex:1;min-width:0;}
.doc-text strong{display:block;font-family:var(--font-display);font-weight:700;line-height:1.3;}
.doc-text small{display:block;color:var(--ink-soft);font-size:.85rem;line-height:1.4;margin-top:3px;}
.doc>svg{width:20px;height:20px;color:var(--green-600);flex:none;}
.pill{display:inline-block;padding:3px 9px;margin-left:6px;border-radius:999px;background:var(--cream-2);color:var(--bark);font-family:var(--font-display);font-size:.68rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;vertical-align:middle;}
.pill.new{background:var(--ochre);color:#fff;}

/* Personas (directiva) */
.people{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;}
.person{padding:22px;border-radius:var(--radius-md);background:#fff;border:1px solid var(--line);}
.person small{display:block;font-family:var(--font-display);font-weight:700;font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--green-600);margin-bottom:6px;}
.person strong{display:block;font-family:var(--font-display);font-size:1.08rem;color:var(--forest-900);}
.person span{display:block;font-size:.88rem;color:var(--ink-soft);}

/* Línea de congresos */
.timeline{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,1fr);gap:12px 24px;}
.timeline li{display:flex;align-items:center;gap:16px;padding:14px 18px;border-radius:var(--radius-sm);background:#fff;border:1px solid var(--line);}
.timeline .num{flex:none;display:grid;place-items:center;min-width:52px;height:40px;padding:0 8px;border-radius:10px;background:var(--green-600);color:#fff;font-family:var(--font-display);font-weight:800;font-size:.9rem;}
.timeline strong{font-family:var(--font-display);}
.timeline span{margin-left:auto;font-family:var(--font-display);font-feature-settings:"lnum" 1;font-weight:700;color:var(--sage);}

/* Tablas (menú, tarifas) */
.table-wrap{overflow-x:auto;border-radius:var(--radius-md);border:1px solid var(--line);background:#fff;}
table{width:100%;border-collapse:collapse;font-size:.94rem;}
th,td{text-align:left;padding:14px 18px;border-bottom:1px solid var(--line);vertical-align:top;}
th{font-family:var(--font-display);font-weight:700;color:var(--green-700);background:var(--cream);}
tr:last-child td{border-bottom:0;}

/* Vídeos (se cargan al pulsar) */
.videos{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
.video{display:flex;flex-direction:column;gap:12px;}
.video-frame{position:relative;aspect-ratio:16/9;border-radius:var(--radius-sm);overflow:hidden;background:var(--forest-900);}
.video-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0;}
.video-play{position:absolute;inset:0;width:100%;height:100%;border:0;padding:0;cursor:pointer;background:var(--forest-900);}
.video-play img{width:100%;height:100%;object-fit:cover;opacity:.8;transition:opacity .2s ease,transform .4s ease;}
.video-play:hover img{opacity:1;transform:scale(1.04);}
.video-play span{position:absolute;left:50%;top:50%;width:62px;height:62px;margin:-31px 0 0 -31px;border-radius:50%;background:var(--green-600);display:grid;place-items:center;box-shadow:0 10px 25px -8px rgba(0,0,0,.6);transition:transform .2s ease,background-color .2s ease;}
.video-play:hover span{transform:scale(1.08);background:var(--green-500);}
.video-play span svg{width:24px;height:24px;color:#fff;margin-left:3px;}
.video h3{font-size:1.02rem;margin:0;}
.video p{margin:0;font-size:.88rem;color:var(--ink-soft);}
.video .n{color:var(--green-600);}

/* Galería */
.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;align-items:start;}
.gallery figure{margin:0;}
.gallery img{width:100%;height:auto;border-radius:var(--radius-sm);border:1px solid var(--line);}
.gallery figcaption{font-size:.86rem;color:var(--ink-soft);margin-top:8px;}

/* Pestañas de ancla dentro de página */
.subnav{position:sticky;top:var(--header-h);z-index:50;background:rgba(247,249,240,.95);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-bottom:1px solid var(--line);}
.subnav .container{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;}
.subnav .container::-webkit-scrollbar{display:none;}
.subnav a{flex:none;padding:15px 14px;font-family:var(--font-display);font-weight:700;font-size:.9rem;color:var(--ink-soft);border-bottom:2px solid transparent;}
.subnav a:hover,.subnav a.active{color:var(--green-600);border-color:var(--green-600);}

/* ---------- Formulario (mismos campos que el ERP) ---------- */
.form{display:grid;gap:18px;}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:18px;}
.field label{display:block;font-weight:600;font-size:.92rem;margin-bottom:6px;}
.field input,.field textarea{
  width:100%;height:46px;padding:10px 14px;border:1px solid #d1d1d1;border-radius:10px;background:#fff;
  font:inherit;color:var(--ink);transition:border-color .2s ease,box-shadow .2s ease;
}
.field textarea{height:auto;min-height:150px;resize:vertical;}
.field input:focus,.field textarea:focus{outline:0;border-color:var(--green-600);box-shadow:0 0 0 4px rgba(69,127,4,.14);}
.field.req input,.field.req textarea{background:var(--lime-100);}
.check{display:flex;gap:10px;align-items:flex-start;font-size:.88rem;color:var(--ink-soft);}
.check input{margin-top:4px;accent-color:var(--green-600);width:17px;height:17px;flex:none;}
.form-note{font-size:.85rem;color:var(--ink-soft);}

.contact-cards{display:grid;gap:14px;}
.contact-card{display:flex;gap:16px;align-items:center;padding:20px;border-radius:var(--radius-md);background:#fff;border:1px solid var(--line);}
.contact-card .quick-ico{flex:none;}
.contact-card small{display:block;color:var(--ink-soft);font-size:.82rem;}
.contact-card strong{font-family:var(--font-display);font-size:1.05rem;}

/* ---------- Pie ---------- */
.site-footer{background:var(--forest-950);color:rgba(255,255,255,.72);font-size:.93rem;}
.footer-top{display:grid;grid-template-columns:1.3fr 1fr 1fr 1.1fr;gap:40px;padding:72px 0 52px;}
.footer-brand img{width:88px;background:#fff;border-radius:50%;padding:6px;margin-bottom:18px;}
.footer-brand p{max-width:34ch;}
.site-footer h4{color:#fff;font-size:.8rem;letter-spacing:.14em;text-transform:uppercase;margin-bottom:18px;}
.footer-links{list-style:none;margin:0;padding:0;display:grid;gap:10px;}
.footer-links a:hover,.footer-contact a:hover{color:#fff;}
.footer-contact{list-style:none;margin:0;padding:0;display:grid;gap:12px;}
.footer-contact li{display:flex;gap:10px;align-items:flex-start;}
.footer-contact svg{width:18px;height:18px;color:#b9dd8a;flex:none;margin-top:3px;}
.social{display:flex;gap:10px;margin-top:20px;}
.social a{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:rgba(255,255,255,.08);color:#fff;transition:background-color .2s ease;}
.social a:hover{background:var(--green-600);}
.social svg{width:18px;height:18px;}
.footer-world{border-top:1px solid rgba(255,255,255,.1);padding:22px 0;display:flex;flex-wrap:wrap;gap:8px 20px;align-items:center;font-size:.86rem;}
.footer-world strong{color:#fff;font-family:var(--font-display);}
.footer-world a:hover{color:#fff;}
.footer-bottom{border-top:1px solid rgba(255,255,255,.1);padding:20px 0;display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px;font-size:.84rem;color:rgba(255,255,255,.5);}

/* ---------- Aparición al hacer scroll ---------- */
.reveal{opacity:0;transform:translateY(22px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.7,.2,1);}
.reveal.visible{opacity:1;transform:none;}
.no-js .reveal{opacity:1;transform:none;}

/* ---------- Responsive ---------- */
@media (max-width:1420px){
  .nav-link{padding:10px 9px;font-size:.92rem;}
  .header-cta .btn-ghost{display:none;}
}
@media (max-width:1024px){
  :root{--header-h:72px;}
  .brand img{width:48px;}
  .nav-toggle{display:grid;}
  .site-header{backdrop-filter:none;-webkit-backdrop-filter:none;background:#fff;}
  .header-cta{display:none;}
  .main-nav{position:fixed;inset:var(--nav-top,var(--header-h)) 0 0 0;margin:0;background:#fff;overflow-y:auto;padding:12px 20px 40px;
    opacity:0;visibility:hidden;transform:translateY(-8px);transition:opacity .2s ease,transform .2s ease,visibility 0s linear .2s;}
  .nav-open .main-nav{opacity:1;visibility:visible;transform:none;transition:opacity .2s ease,transform .2s ease;}
  .nav-open{overflow:hidden;}
  .nav-list{flex-direction:column;align-items:stretch;gap:0;}
  .nav-item{border-bottom:1px solid var(--line);}
  .nav-link{width:100%;justify-content:space-between;padding:16px 6px;font-size:1.05rem;border-radius:0;}
  .nav-link:hover,.nav-item.open>.nav-link{background:none;}
  .nav-item.current>.nav-link::after,.nav-link[aria-current="page"]::after{display:none;}
  .nav-item.open>.nav-link svg{transform:rotate(180deg);}
  .dropdown{position:static;min-width:0;box-shadow:none;border:0;padding:0 0 12px;display:none;opacity:1;visibility:visible;transform:none;transition:none;}
  .nav-item.open>.dropdown{display:block;}
  .mobile-cta{display:grid !important;gap:10px;margin-top:22px;}
  .hero-grid{grid-template-columns:1fr;padding:60px 0 150px;gap:40px;}
  .quick{margin-top:-96px;}
  .hero-collage{max-width:560px;}
  .mag-covers{width:86%;max-width:480px;margin:0 auto;}
  .quick-grid{grid-template-columns:repeat(2,1fr);}
  .split,.split.wide-left,.mag,.callout,.join,.layout{grid-template-columns:1fr;gap:44px;}
  .cards,.news-grid,.grid-3,.videos,.gallery{grid-template-columns:repeat(2,1fr);}
  .grid-4{grid-template-columns:repeat(2,1fr);}
  .people{grid-template-columns:repeat(2,1fr);}
  .footer-top{grid-template-columns:1fr 1fr;}
  .sidebar{position:static;}
  .about-visual{max-width:520px;}
  .about-visual .float-card{left:16px;}
  .callout-media img{margin:0;}
  .section-head{flex-direction:column;align-items:flex-start;}
}
.mobile-cta{display:none;}
@media (max-width:640px){
  .container{padding:0 16px;}
  .topbar-info .hide-sm{display:none;}
  .section{padding:72px 0;}
  .panel{padding:32px 22px;}
  .brand-text small{display:none;}
  .hero-collage{gap:12px;padding-bottom:0;}
  .hero-collage .c2{margin-top:48px;}
  .hero-badge{display:none;}
  .hero-badge img{width:78px;}
  .quick-grid,.cards,.news-grid,.grid-2,.grid-3,.grid-4,.videos,.gallery,.people,.timeline,.stats,.perks,.form-row{grid-template-columns:1fr;}
  .stats{grid-template-columns:1fr 1fr;}
  .mag-covers{height:400px;}
  .footer-top{grid-template-columns:1fr;gap:32px;}
  .page-hero{padding:48px 0 56px;}
  .page-body{padding:48px 0 72px;}
  .btn-row .btn{flex:1 1 auto;}
}

/* Evita que el contenido ancho (tablas, imágenes) ensanche las columnas */
.split>*,.layout>*,.mag>*,.callout>*,.join>*,.hero-grid>*{min-width:0;}

/* ---------- Revista: último número con índice ---------- */
.issue-latest{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:56px;align-items:start;}
.issue-cover{position:relative;display:block;width:100%;max-width:420px;padding:0;border:0;background:none;cursor:zoom-in;border-radius:10px;box-shadow:0 30px 60px -28px rgba(18,34,13,.6);transition:transform .3s ease;}
.issue-cover:hover{transform:translateY(-4px) rotate(-.6deg);}
.issue-cover img{width:100%;height:auto;border-radius:10px;}
.issue-badge{position:absolute;top:12px;right:12px;padding:6px 12px;border-radius:999px;background:var(--ochre);color:#fff;font-family:var(--font-display);font-weight:700;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;box-shadow:var(--shadow-tight);}
.toc{list-style:none;counter-reset:toc;margin:8px 0 0;padding:0;display:grid;gap:0;border-top:1px solid var(--line);}
.toc li{counter-increment:toc;display:flex;gap:16px;align-items:baseline;padding:12px 4px;border-bottom:1px solid var(--line);font-size:1rem;line-height:1.4;}
.toc li::before{content:counter(toc,decimal-leading-zero);flex:none;min-width:26px;font-family:var(--font-display);font-feature-settings:"lnum" 1;font-weight:800;font-size:.85rem;color:var(--green-600);}

/* ---------- Carrusel de portadas ---------- */
.carousel-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px;}
.carousel-count{margin:0;color:var(--ink-soft);font-size:.92rem;}
.carousel-nav{display:flex;gap:10px;}
.carousel-btn{display:grid;place-items:center;width:48px;height:48px;border-radius:50%;border:2px solid var(--green-600);background:#fff;color:var(--green-600);cursor:pointer;transition:background-color .2s ease,color .2s ease,opacity .2s ease,transform .15s ease;}
.carousel-btn:hover{background:var(--green-600);color:#fff;}
.carousel-btn:active{transform:scale(.94);}
.carousel-btn:disabled{opacity:.35;cursor:default;background:#fff;color:var(--green-600);}
.carousel-btn svg{width:20px;height:20px;}
.carousel-btn svg.flip{transform:scaleX(-1);}
.carousel-track{list-style:none;margin:0;padding:6px 4px 26px;display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 5*20px)/6);gap:20px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-inline:4px;scroll-behavior:smooth;scrollbar-width:thin;scrollbar-color:var(--sand) transparent;overscroll-behavior-x:contain;}
.carousel-track:focus-visible{outline:3px solid var(--ochre-400);outline-offset:4px;}
.carousel-item{scroll-snap-align:start;}
.issue{display:flex;flex-direction:column;gap:4px;width:100%;padding:0;border:0;background:none;text-align:left;cursor:zoom-in;font:inherit;color:inherit;}
.issue-img{position:relative;display:block;margin-bottom:10px;border-radius:8px;overflow:hidden;box-shadow:0 14px 28px -16px rgba(18,34,13,.55);transition:transform .3s ease,box-shadow .3s ease;}
.issue-img img{width:100%;height:auto;}
.issue:hover .issue-img{transform:translateY(-5px);box-shadow:0 22px 34px -18px rgba(18,34,13,.6);}
.issue .issue-badge{top:8px;right:8px;padding:4px 9px;font-size:.64rem;}
.issue strong{font-family:var(--font-display);font-feature-settings:"lnum" 1;font-weight:800;color:var(--forest-900);}
.issue small{color:var(--ink-soft);font-size:.86rem;}

/* ---------- Visor ampliado ---------- */
.lightbox{max-width:min(92vw,620px);max-height:94vh;padding:0;border:0;border-radius:var(--radius-md);background:var(--forest-950);color:#fff;overflow:visible;}
.lightbox::backdrop{background:rgba(10,20,8,.8);backdrop-filter:blur(3px);}
.lightbox img{display:block;width:100%;height:auto;max-height:84vh;object-fit:contain;border-radius:var(--radius-md) var(--radius-md) 0 0;}
.lightbox-caption{margin:0;padding:12px 18px;font-family:var(--font-display);font-weight:700;}
.lightbox-close{position:absolute;top:-16px;right:-16px;width:40px;height:40px;border-radius:50%;border:0;background:#fff;color:var(--forest-900);font-size:1rem;cursor:pointer;box-shadow:var(--shadow-tight);}

@media (max-width:1024px){
  .issue-latest{grid-template-columns:1fr;gap:36px;}
  .issue-cover{max-width:340px;margin:0 auto;}
  .carousel-track{grid-auto-columns:calc((100% - 3*18px)/4);gap:18px;}
}
@media (max-width:640px){
  .carousel-track{grid-auto-columns:44%;gap:14px;}
  .lightbox-close{top:8px;right:8px;}
}

/* ---------- Páginas del ERP dentro de un marco ---------- */
.page-hero.compact{padding:44px 0 50px;}
.page-hero.compact h1{font-size:clamp(1.9rem,3.4vw,2.6rem);}
.erp-section{padding:40px 0 90px;}
.erp-shell{position:relative;background:#fff;border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-tight);padding:18px;min-height:420px;}
.erp-shell iframe{display:block;width:100%;height:720px;border:0;border-radius:var(--radius-md);background:#fff;transition:height .2s ease;}
.erp-loading{position:absolute;inset:18px;display:grid;place-items:center;border-radius:var(--radius-md);background:#fff;color:var(--ink-soft);font-size:.95rem;pointer-events:none;transition:opacity .3s ease;}
.erp-loading::before{content:"";width:34px;height:34px;margin-bottom:10px;border-radius:50%;border:3px solid var(--green-100);border-top-color:var(--green-600);animation:erp-spin .8s linear infinite;}
.erp-loading span{display:block;}
.erp-shell.loaded .erp-loading{opacity:0;}
@keyframes erp-spin{to{transform:rotate(360deg);}}
.erp-foot{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px 20px;margin-top:16px;font-size:.88rem;color:var(--ink-soft);}
.erp-foot a{color:var(--green-600);font-weight:600;}
.erp-tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:18px;}
.erp-tabs a{padding:9px 16px;border-radius:999px;background:#fff;border:1px solid var(--line);font-family:var(--font-display);font-weight:700;font-size:.88rem;color:var(--ink-soft);}
.erp-tabs a:hover{border-color:var(--green-500);color:var(--green-700);}
.erp-tabs a[aria-current="page"]{background:var(--green-600);border-color:var(--green-600);color:#fff;}
@media (max-width:640px){
  .erp-shell{padding:8px;border-radius:var(--radius-md);}
  .erp-loading{inset:8px;}
  .erp-section{padding:24px 0 64px;}
}
.footer-bottom .legal-links a{color:rgba(255,255,255,.7);}
.footer-bottom .legal-links a:hover{color:#fff;}

/* ---------- Buscador de anillas ---------- */
.rb-top{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px;margin-bottom:18px;}
.rb-tabs{display:inline-flex;padding:5px;border-radius:999px;background:#fff;border:1px solid var(--line);}
.rb-tabs button{display:inline-flex;align-items:center;gap:8px;padding:10px 18px;border:0;border-radius:999px;background:none;cursor:pointer;font-family:var(--font-display);font-weight:700;font-size:.92rem;color:var(--ink-soft);transition:background-color .2s ease,color .2s ease;}
.rb-tabs button svg{width:17px;height:17px;}
.rb-tabs button.active{background:var(--green-600);color:#fff;}
.rb-langbox{display:flex;align-items:center;gap:10px;font-size:.85rem;color:var(--ink-soft);}
.rb-lang{display:inline-flex;gap:4px;}
.rb-lang button{min-width:40px;padding:7px 9px;border-radius:9px;border:1px solid var(--line);background:#fff;cursor:pointer;font-family:var(--font-display);font-weight:700;font-size:.78rem;color:var(--ink-soft);}
.rb-lang button:hover{border-color:var(--green-500);}
.rb-lang button.active{background:var(--forest-900);border-color:var(--forest-900);color:#fff;}
.rb-note{margin:-6px 0 14px;font-size:.85rem;color:var(--ink-soft);}

.rb-toolbar{position:sticky;top:calc(var(--header-h) + 8px);z-index:20;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,280px) auto;gap:10px;padding:12px;border-radius:var(--radius-md);background:#fff;border:1px solid var(--line);box-shadow:var(--shadow-tight);}
.rb-search{position:relative;display:flex;align-items:center;}
.rb-search>svg{position:absolute;left:16px;width:20px;height:20px;color:var(--green-600);pointer-events:none;}
.rb-search input{width:100%;height:52px;padding:0 46px 0 48px;border:1px solid #d1d1d1;border-radius:12px;background:var(--cream);font:inherit;font-size:1.05rem;color:var(--ink);}
.rb-search input:focus{outline:0;border-color:var(--green-600);background:#fff;box-shadow:0 0 0 4px rgba(69,127,4,.14);}
.rb-search input::-webkit-search-cancel-button{display:none;}
.rb-x{display:grid;place-items:center;width:32px;height:32px;border:0;border-radius:50%;background:var(--cream-2);color:var(--ink-soft);cursor:pointer;font-size:.85rem;}
.rb-x:hover{background:var(--sand);color:var(--ink);}
.rb-search .rb-x{position:absolute;right:10px;}
.rb-select{height:52px;padding:0 14px;border:1px solid #d1d1d1;border-radius:12px;background:#fff;font:inherit;color:var(--ink);min-width:0;}
.rb-select:focus{outline:0;border-color:var(--green-600);}
.rb-compare-btn{height:52px;padding:0 18px;border:2px solid var(--green-600);border-radius:12px;background:#fff;color:var(--green-700);cursor:pointer;font-family:var(--font-display);font-weight:700;white-space:nowrap;transition:background-color .2s ease,color .2s ease;}
.rb-compare-btn:hover,.rb-compare-btn.active{background:var(--green-600);color:#fff;}

.rb-chips{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0;}
.rb-chip{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border-radius:999px;border:1px solid var(--line);background:#fff;cursor:pointer;font:inherit;font-size:.88rem;font-weight:600;color:var(--ink);transition:border-color .2s ease,background-color .2s ease,color .2s ease;}
.rb-chip span{font-size:.75rem;font-weight:700;color:var(--ink-soft);}
.rb-chip:hover{border-color:var(--green-500);}
.rb-chip.active{background:var(--green-600);border-color:var(--green-600);color:#fff;}
.rb-chip.active span{color:rgba(255,255,255,.8);}

.rb-low{display:flex;width:100%;justify-content:space-between;margin-bottom:14px;padding:14px 18px;border:0;border-radius:var(--radius-sm);background:#fdf1dc;color:#7a4f0e;cursor:pointer;font:inherit;font-weight:700;text-align:left;}
.rb-low:hover{background:#fbe6c2;}
.rb-compare-hint{margin-bottom:14px;padding:14px 18px;border-radius:var(--radius-sm);background:var(--lime-100);color:var(--green-700);font-weight:600;}
.rb-compare-box{margin-bottom:18px;padding:18px;border-radius:var(--radius-md);background:#fff;border:2px solid var(--green-600);}
.rb-compare-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;font-family:var(--font-display);}
.rb-compare-box th small{display:block;font-family:var(--font-body);font-style:italic;font-weight:400;color:var(--ink-soft);font-size:.8rem;}
.rb-compare-box tr.diff td{background:#fdf6e6;font-weight:700;}

.rb-count{display:flex;justify-content:space-between;gap:12px;margin:4px 2px 12px;font-size:.9rem;color:var(--ink-soft);}
.rb-count b{color:var(--forest-900);font-family:var(--font-display);}
.rb-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;align-items:start;}
.rb-empty{grid-column:1/-1;display:flex;flex-direction:column;align-items:center;gap:6px;padding:56px 20px;border-radius:var(--radius-lg);background:#fff;border:1px dashed var(--sand);text-align:center;color:var(--ink-soft);}
.rb-empty svg{width:54px;height:54px;color:var(--sage);margin-bottom:6px;}
.rb-empty strong{font-family:var(--font-display);font-size:1.15rem;color:var(--forest-900);}
.rb-empty p{margin:0;max-width:44ch;}
.rb-more{grid-column:1/-1;justify-self:center;margin-top:8px;}

.rb-card{border-radius:var(--radius-md);background:#fff;border:1px solid var(--line);transition:border-color .2s ease,box-shadow .2s ease;}
.rb-card:hover{border-color:var(--green-500);}
.rb-card.open{grid-column:1/-1;border-color:var(--green-600);box-shadow:var(--shadow-soft);}
.rb-card.low{border-left:4px solid var(--ochre);}
.rb-card.selected{border-color:var(--green-600);background:var(--lime-100);}
.rb-head{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"names actions" "diam diam";gap:10px 12px;padding:16px 18px;cursor:pointer;border-radius:var(--radius-md);}
.rb-head:focus-visible{outline:3px solid var(--ochre-400);outline-offset:-3px;}
.rb-names{grid-area:names;min-width:0;}
.rb-names h3{margin:0;font-size:1.05rem;line-height:1.25;}
.rb-names em{display:block;margin-top:2px;font-size:.86rem;color:var(--ink-soft);}
.rb-diam{grid-area:diam;display:flex;align-items:center;gap:16px;padding-top:10px;border-top:1px dashed var(--line);}
.rb-diam strong{display:block;font-family:var(--font-display);font-feature-settings:"lnum" 1,"tnum" 1;font-weight:800;font-size:1.35rem;line-height:1.1;color:var(--green-700);}
.rb-diam small{display:block;font-size:.76rem;color:var(--ink-soft);}
.rb-ring{flex:none;color:var(--ochre);}
.rb-ring-empty{display:block;width:44px;height:44px;}
.rb-actions{grid-area:actions;display:flex;align-items:flex-start;gap:6px;}
.rb-star{display:grid;place-items:center;width:36px;height:36px;border:0;border-radius:50%;background:none;cursor:pointer;}
.rb-star svg{width:21px;height:21px;fill:none;stroke:var(--ink-soft);transition:fill .2s ease,stroke .2s ease;}
.rb-star:hover{background:var(--cream-2);}
.rb-star.on svg{fill:var(--ochre-400);stroke:var(--ochre);}
.rb-check{display:grid;place-items:center;width:28px;height:28px;margin:4px;border-radius:8px;border:2px solid var(--green-600);color:#fff;font-weight:800;}
.rb-check.on{background:var(--green-600);}
.rb-chev{width:20px;height:20px;margin-top:8px;color:var(--ink-soft);transition:transform .25s ease;}
.rb-card.open .rb-chev{transform:rotate(180deg);}
.rb-card.comparing .rb-chev{display:none;}

.rb-card.open .rb-head{grid-template-columns:minmax(0,1fr) auto auto;grid-template-areas:"names diam actions";align-items:center;}
.rb-card.open .rb-diam{padding-top:0;border-top:0;}
.rb-detail{display:grid;grid-template-columns:minmax(0,300px) minmax(0,1fr);gap:24px;padding:4px 18px 20px;}
.rb-photo{position:relative;min-height:200px;border-radius:var(--radius-sm);overflow:hidden;background:var(--cream-2);}
.rb-photo img{width:100%;height:auto;display:block;}
.rb-photo-empty{display:grid;place-items:center;height:100%;min-height:200px;padding:20px;color:var(--ink-soft);font-size:.9rem;text-align:center;}
.rb-credit{position:absolute;right:8px;bottom:8px;padding:3px 9px;border-radius:999px;background:rgba(18,34,13,.72);color:#fff;font-size:.72rem;}
.rb-info p{margin:0 0 12px;}
.rb-noinfo{color:var(--ink-soft);font-style:italic;}
.rb-pills{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px;}
.rb-pill{padding:6px 12px;border-radius:999px;background:var(--cream);border:1px solid var(--line);font-size:.86rem;}
.rb-pill.tax{background:var(--green-100);border-color:transparent;color:var(--green-700);}
.rb-stock{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;margin-top:6px;padding:12px 14px;border-radius:var(--radius-sm);background:var(--cream);}
.rb-stock>span{font-weight:600;font-size:.9rem;}
.rb-stock-ctl{display:flex;align-items:center;gap:8px;}
.rb-stock-ctl button{width:34px;height:34px;border-radius:9px;border:1px solid var(--line);background:#fff;cursor:pointer;font-size:1.1rem;font-weight:700;color:var(--green-700);}
.rb-stock-ctl button:hover{border-color:var(--green-600);}
.rb-stock-ctl output{min-width:28px;text-align:center;font-family:var(--font-display);font-weight:800;font-size:1.1rem;}
.rb-stock-ctl label{display:flex;align-items:center;gap:6px;margin-left:8px;font-size:.82rem;color:var(--ink-soft);}
.rb-stock-ctl input{width:58px;height:34px;padding:0 8px;border:1px solid #d1d1d1;border-radius:9px;font:inherit;}
.rb-warn{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px;margin-top:10px;padding:12px 14px;border-radius:var(--radius-sm);background:#fdf1dc;color:#7a4f0e;font-weight:600;font-size:.9rem;}
.rb-warn a{color:var(--green-700);font-weight:800;}

.rb-cat-note{margin-bottom:16px;}
.rb-cat-table td{vertical-align:middle;}
.rb-cat-table .num{text-align:right;white-space:nowrap;font-family:var(--font-display);font-feature-settings:"lnum" 1,"tnum" 1;font-weight:700;}
.rb-cat-table small{color:var(--ink-soft);}
.rb-cat-table code{padding:3px 8px;border-radius:6px;background:var(--cream-2);font-family:ui-monospace,Menlo,monospace;font-weight:700;color:var(--forest-900);}
.rb-cat-ring{display:inline-block;vertical-align:middle;margin-right:8px;}
.rb-cat-ring .rb-ring{width:30px;height:30px;}
.rb-cta{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px;margin-top:36px;padding:24px 28px;border-radius:var(--radius-md);background:var(--forest-900);color:#fff;}
.rb-cta strong{display:block;font-family:var(--font-display);font-size:1.15rem;}
.rb-cta span{color:rgba(255,255,255,.78);font-size:.94rem;}
.rb-cta .btn-ghost{color:#fff;border-color:rgba(255,255,255,.5);}
.rb-cta .btn-ghost:hover{background:#fff;color:var(--green-700);}

@media (max-width:1024px){
  .rb-list{grid-template-columns:repeat(2,minmax(0,1fr));}
  .rb-toolbar{grid-template-columns:minmax(0,1fr) auto;}
  .rb-select{grid-column:1/-1;grid-row:2;}
}
@media (max-width:640px){
  .rb-list{grid-template-columns:minmax(0,1fr);}
  .rb-toolbar{top:calc(var(--header-h) + 4px);padding:8px;}
  .rb-search input,.rb-select,.rb-compare-btn{height:46px;}
  .rb-compare-btn{padding:0 12px;}
  .rb-chips{flex-wrap:nowrap;overflow-x:auto;margin:12px -16px;padding:0 16px 4px;scrollbar-width:none;}
  .rb-chips::-webkit-scrollbar{display:none;}
  .rb-chip{flex:none;}
  .rb-card.open .rb-head{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"names actions" "diam diam";}
  .rb-card.open .rb-diam{padding-top:10px;border-top:1px dashed var(--line);}
  .rb-detail{grid-template-columns:minmax(0,1fr);gap:16px;}
  .rb-langbox>span{display:none;}
  .rb-tabs button{padding:9px 13px;font-size:.86rem;}
  .rb-cta{padding:20px;}
}

/* ---------- Selector de idioma ---------- */
.topbar-right{display:flex;align-items:center;gap:14px;}
.lang-switch{display:inline-flex;align-items:center;padding:2px;border-radius:999px;border:1px solid rgba(255,255,255,.28);font-family:var(--font-display);font-weight:700;font-size:.74rem;letter-spacing:.06em;}
.lang-switch a,.lang-switch span{display:inline-block;padding:4px 10px;border-radius:999px;line-height:1.2;}
.lang-switch a{color:#e1e1e1;}
.lang-switch a:hover{color:#fff;background:rgba(255,255,255,.12);}
.lang-switch .lang-current{background:#fff;color:var(--green-700);}
.lang-switch.lang-mobile{justify-self:center;margin-top:6px;border-color:var(--line);font-size:.85rem;}
.lang-switch.lang-mobile a{color:var(--ink-soft);}
.lang-switch.lang-mobile a:hover{background:var(--cream);color:var(--green-700);}
.lang-switch.lang-mobile .lang-current{background:var(--green-600);color:#fff;}
.lang-switch.lang-mobile a,.lang-switch.lang-mobile span{padding:8px 18px;}
.lang-hint{position:fixed;left:16px;bottom:16px;z-index:150;display:flex;align-items:center;gap:12px;max-width:calc(100% - 32px);padding:12px 12px 12px 18px;border-radius:var(--radius-md);background:var(--forest-900);color:#fff;box-shadow:var(--shadow-soft);font-size:.92rem;animation:lang-in .35s ease both;}
.lang-hint a{padding:8px 14px;border-radius:999px;background:#fff;color:var(--green-700);font-family:var(--font-display);font-weight:700;white-space:nowrap;}
.lang-hint button{display:grid;place-items:center;width:30px;height:30px;border:0;border-radius:50%;background:rgba(255,255,255,.12);color:#fff;cursor:pointer;flex:none;}
@keyframes lang-in{from{opacity:0;transform:translateY(12px);}}
@media (max-width:640px){ .topbar-right .topbar-social{display:none;} }

/* ---------- Próximo congreso: fecha destacada ---------- */
.next-date{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;justify-self:center;width:100%;max-width:320px;aspect-ratio:1;border-radius:var(--radius-lg);background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);text-align:center;}
.nd-month{font-family:var(--font-display);font-weight:700;font-size:.85rem;letter-spacing:.16em;text-transform:uppercase;color:#cfe8ae;}
.nd-days{font-family:var(--font-display);font-feature-settings:"lnum" 1;font-weight:800;font-size:clamp(4rem,9vw,6.2rem);line-height:1;color:#fff;}
.nd-days small{display:inline-block;font-size:.55em;font-weight:300;margin:0 .1em;vertical-align:.32em;color:rgba(255,255,255,.6);}
.nd-place{display:inline-flex;align-items:center;gap:6px;font-weight:600;color:rgba(255,255,255,.85);}
.nd-place svg{width:18px;height:18px;color:var(--ochre-400);}
@media (max-width:1024px){ .next-date{max-width:260px;aspect-ratio:auto;padding:28px 20px;} }
.event-strip{display:flex;align-items:center;gap:20px;margin-top:16px;padding:14px 22px 14px 14px;border-radius:var(--radius-md);background:var(--forest-900);color:#fff;box-shadow:var(--shadow-tight);transition:transform .25s ease,background-color .25s ease;}
.event-strip:hover{transform:translateY(-3px);background:var(--forest-800);}
.es-date{flex:none;display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:86px;padding:8px 10px;border-radius:12px;background:var(--ochre);font-family:var(--font-display);font-weight:700;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;line-height:1.1;}
.es-date b{font-feature-settings:"lnum" 1;font-size:1.45rem;letter-spacing:0;}
.es-text{flex:1;min-width:0;}
.es-text small{display:block;font-size:.8rem;color:#cfe8ae;letter-spacing:.04em;}
.es-text strong{font-family:var(--font-display);font-size:1.15rem;}
.event-strip .link-arrow{color:#fff;font-size:.9rem;white-space:nowrap;}
@media (max-width:640px){ .event-strip .link-arrow{display:none;} .event-strip{gap:14px;} }

/* ---------- Fichas de especie ---------- */
.sp-header .header-inner{height:72px;}
.sp-links{display:flex;gap:4px;margin-left:auto;}
.sp-links a{display:inline-flex;align-items:center;gap:7px;padding:9px 12px;border-radius:10px;font-family:var(--font-display);font-weight:600;font-size:.92rem;color:var(--ink);}
.sp-links a:hover{background:var(--green-100);color:var(--green-700);}
.sp-links svg{width:17px;height:17px;color:var(--green-600);}
.lang-switch.lang-sp{border-color:var(--line);}
.lang-switch.lang-sp a{color:var(--ink-soft);}
.lang-switch.lang-sp a:hover{background:var(--cream);color:var(--green-700);}
.lang-switch.lang-sp .lang-current{background:var(--green-600);color:#fff;}
.sp-ring{display:flex;align-items:center;gap:20px;margin-bottom:26px;padding:22px 24px;border-radius:var(--radius-md);background:#fff;border:1px solid var(--line);box-shadow:var(--shadow-tight);}
.sp-ring .rb-ring{flex:none;color:var(--ochre);}
.sp-label{display:block;font-family:var(--font-display);font-weight:700;font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:var(--green-600);margin-bottom:4px;}
.sp-ds{display:flex;flex-wrap:wrap;gap:28px;}
.sp-d strong{display:block;font-family:var(--font-display);font-feature-settings:"lnum" 1;font-weight:800;font-size:2.4rem;line-height:1.05;color:var(--green-700);}
.sp-d small{color:var(--ink-soft);font-size:.9rem;}
.sp-multi{margin:0 0 24px;}
.sp-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;margin:18px 0 8px;}
.sp-facts div{padding:14px 16px;border-radius:var(--radius-sm);background:#fff;border:1px solid var(--line);}
.sp-facts dt{font-family:var(--font-display);font-weight:700;font-size:.74rem;letter-spacing:.1em;text-transform:uppercase;color:var(--sage);}
.sp-facts dd{margin:4px 0 0;font-weight:600;}
.prose .sp-related,.sp-related{list-style:none;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px;}
.prose .sp-related li{margin:0;}
.sp-related a,.sp-index a{display:flex;flex-direction:column;padding:12px 14px;border-radius:var(--radius-sm);background:#fff;border:1px solid var(--line);text-decoration:none !important;color:var(--ink) !important;font-weight:400 !important;transition:border-color .2s ease;}
.sp-related a:hover,.sp-index a:hover{border-color:var(--green-500);}
.sp-related strong{font-family:var(--font-display);}
.sp-related em,.sp-index em{font-size:.85rem;color:var(--ink-soft);}
.sp-related span{margin-top:4px;font-family:var(--font-display);font-weight:800;color:var(--green-700);}
.sp-disclaimer{margin-top:32px;font-size:.88rem;color:var(--ink-soft);}
.sp-letters{position:sticky;top:0;z-index:20;display:flex;flex-wrap:wrap;gap:6px;margin-bottom:24px;padding:12px 0;background:var(--cream);}
.sp-letters a{display:grid;place-items:center;min-width:36px;height:36px;border-radius:9px;background:#fff;border:1px solid var(--line);font-family:var(--font-display);font-weight:700;color:var(--green-700);}
.sp-letters a:hover{background:var(--green-600);color:#fff;}
.sp-index{list-style:none;margin:0 0 28px;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:8px;}
.sp-index a{flex-direction:row;flex-wrap:wrap;align-items:baseline;gap:6px;}
.sp-index span{margin-left:auto;font-family:var(--font-display);font-weight:800;color:var(--green-700);}
.sp-page h2[id^="l-"]{scroll-margin-top:70px;}
.sp-footer .footer-bottom{border-top:0;}
@media (max-width:760px){
  .sp-links span{display:none;}
  .sp-join{display:none;}
  .sp-ring{flex-direction:column;align-items:flex-start;}
  .sp-d strong{font-size:2rem;}
}
.rb-sheet{display:inline-block;margin-top:14px;font-family:var(--font-display);font-weight:700;color:var(--green-600);}
.rb-sheet:hover{text-decoration:underline;}
.rb-app{display:flex;align-items:center;gap:16px;margin-top:28px;padding:18px 20px;border-radius:var(--radius-md);background:var(--lime-100);border:1px solid #cfe8ae;}
.rb-app-ico{flex:none;display:grid;place-items:center;width:46px;height:46px;border-radius:12px;background:var(--green-600);color:#fff;}
.rb-app-ico svg{width:22px;height:22px;}
.rb-app-text{flex:1;min-width:0;}
.rb-app-text strong{display:block;font-family:var(--font-display);color:var(--forest-900);}
.rb-app-text span{font-size:.92rem;color:var(--ink-soft);}
@media (max-width:640px){ .rb-app{flex-wrap:wrap;} .rb-app .btn{width:100%;} }
.hp{position:absolute !important;left:-10000px;width:1px;height:1px;overflow:hidden;}
.form-status{margin:0;padding:14px 16px;border-radius:var(--radius-sm);font-size:.92rem;font-weight:600;}
.form-sent{background:var(--lime-100);color:var(--green-700);}
.form-ok{background:#fdf1dc;color:#7a4f0e;}
@media (max-width:480px){
  .sp-header .brand-text{display:none;}
  .sp-header .header-inner{gap:10px;}
  .sp-links a{padding:9px 9px;}
}
.rb-vat{margin:10px 2px 0;font-size:.86rem;color:var(--ink-soft);}
.dl-box{display:flex;align-items:center;gap:16px;margin-top:22px;padding:18px 20px;border-radius:var(--radius-md);background:#fff;border:1px solid var(--line);box-shadow:var(--shadow-tight);}
.dl-ico{flex:none;display:grid;place-items:center;width:46px;height:46px;border-radius:12px;background:var(--green-100);color:var(--green-600);}
.dl-ico svg{width:22px;height:22px;}
.dl-text{flex:1;min-width:0;}
.dl-text strong{display:block;font-family:var(--font-display);color:var(--forest-900);}
.dl-text small{display:block;font-size:.86rem;color:var(--ink-soft);line-height:1.45;}
.dl-text code{font-size:.82rem;background:var(--cream-2);padding:1px 6px;border-radius:5px;}
@media (max-width:640px){ .dl-box{flex-wrap:wrap;} .dl-box .btn{width:100%;} }
