:root{
  --marfil:#f7f3ea;
  --papel:#fffdf8;
  --tinta:#1d2421;
  --texto:#59635e;
  --turquesa:#1f7774;
  --turquesa-oscuro:#155b59;
  --oro:#c8a767;
  --linea:#d9d8cf;
  --sombra:0 22px 60px rgba(29,36,33,.08);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--marfil);color:var(--tinta);font-family:Inter,Arial,sans-serif}
a{color:inherit;text-decoration:none}
button,input{font:inherit}

nav{position:sticky;top:0;z-index:20;min-height:84px;padding:12px clamp(24px,6vw,96px);display:flex;align-items:center;justify-content:space-between;gap:32px;background:rgba(247,243,234,.94);border-bottom:1px solid rgba(29,36,33,.1);backdrop-filter:blur(12px)}
.marca{display:inline-flex;align-items:center;gap:12px;line-height:1}
.marca-texto{display:flex;flex-direction:column}
.logo-recorte{position:relative;width:48px;height:48px;overflow:hidden;flex:0 0 48px;border-radius:50%;background:#fff}
.logo-recorte img{position:absolute;width:100px;max-width:none;left:-25px;top:-18px}
.nombre{font-family:Georgia,serif;font-size:21px;font-weight:700}
.lema{margin-top:7px;color:var(--turquesa);font-size:8px;font-weight:800;letter-spacing:.21em;text-transform:uppercase}
.enlaces{display:flex;align-items:center;gap:clamp(16px,2.4vw,34px);font-size:13px;font-weight:700}
.enlaces>a:hover,.submenu summary:hover{color:var(--turquesa)}
.enlaces .boton-nav{padding:11px 20px;color:#fff;background:var(--turquesa);border-radius:999px}
.enlaces .boton-nav:hover{color:#fff;background:var(--turquesa-oscuro)}
.submenu{position:relative}
.submenu summary{cursor:pointer;list-style:none}
.submenu summary::-webkit-details-marker{display:none}
.submenu summary::after{content:" +";color:var(--turquesa)}
.submenu[open] summary::after{content:" −"}
.menu-desplegable{position:absolute;top:32px;right:0;min-width:230px;padding:9px;background:var(--papel);border:1px solid var(--linea);border-radius:15px;box-shadow:var(--sombra)}
.menu-desplegable a{display:block;padding:12px 14px;border-radius:9px;font-weight:700}
.menu-desplegable a:hover{background:var(--marfil);color:var(--turquesa)}

.hero{min-height:calc(100vh - 84px);padding:clamp(70px,10vw,140px) clamp(24px,7vw,112px);display:grid;grid-template-columns:minmax(0,1.1fr) minmax(320px,.9fr);align-items:center;gap:clamp(48px,8vw,120px);overflow:hidden}
.etiqueta{margin:0 0 22px;color:var(--turquesa);font-size:11px;font-weight:900;letter-spacing:.18em;text-transform:uppercase}
.hero h1{margin:0;max-width:850px;font-family:Georgia,serif;font-size:clamp(60px,8.3vw,126px);font-weight:400;letter-spacing:-.055em;line-height:.88}
.hero h1 span{display:block;color:var(--turquesa);font-style:italic}
.intro-hero{max-width:650px;margin:34px 0 0;color:var(--texto);font-size:clamp(18px,1.8vw,24px);line-height:1.55}
.acciones{display:flex;flex-wrap:wrap;gap:14px;margin-top:38px}
.boton{display:inline-flex;align-items:center;justify-content:center;padding:15px 24px;border:1px solid transparent;border-radius:999px;font-size:13px;font-weight:800;transition:.2s}
.boton:hover{transform:translateY(-2px)}
.primario{color:#fff;background:var(--turquesa)}
.primario:hover{background:var(--turquesa-oscuro)}
.secundario{border-color:var(--linea);background:rgba(255,255,255,.5)}
.arte{position:relative;aspect-ratio:1;max-width:560px;display:grid;place-items:center}
.arte:before{content:"";position:absolute;inset:15%;border-radius:50%;background:#e9e0cd}
.arte p{position:relative;z-index:3;max-width:250px;margin:0;text-align:center;font-family:Georgia,serif;font-size:clamp(20px,2.2vw,30px);font-style:italic;line-height:1.38}
.orbita{position:absolute;z-index:2;border:1px solid var(--turquesa);border-radius:50%}
.o1{inset:4% 22%;transform:rotate(28deg)}
.o2{inset:22% 4%;transform:rotate(-33deg);border-color:var(--oro)}
.semilla{position:absolute;z-index:4;width:16px;height:16px;background:var(--turquesa);border-radius:55% 45%}
.s1{top:19%;right:17%;transform:rotate(32deg)}
.s2{bottom:17%;left:22%;background:var(--oro);transform:rotate(-28deg)}

.seccion{padding:clamp(76px,10vw,150px) clamp(24px,7vw,112px)}
.nosotros{display:grid;grid-template-columns:1fr 1fr;gap:clamp(48px,9vw,150px);border-top:1px solid var(--linea);background:var(--papel)}
h2{margin:0;font-family:Georgia,serif;font-size:clamp(38px,4.8vw,70px);font-weight:400;letter-spacing:-.035em;line-height:1.04}
.texto-nosotros{color:var(--texto);font-size:clamp(17px,1.7vw,22px);line-height:1.75}
.texto-nosotros p:first-child{margin-top:0}
.enlace-texto{display:inline-flex;align-items:center;gap:8px;margin-top:16px;color:var(--turquesa);font-size:13px;font-weight:900}
.enlace-texto::after{content:"→";transition:transform .2s}
.enlace-texto:hover::after{transform:translateX(4px)}
.servicios{background:#ebe5d9}
.encabezado{max-width:920px;margin-bottom:60px}
.rejilla{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid rgba(29,36,33,.2)}
.tarjeta{min-height:320px;padding:30px 28px;border-right:1px solid rgba(29,36,33,.2)}
.tarjeta:last-child{border-right:0}
.numero{color:var(--turquesa);font-size:11px;font-weight:900;letter-spacing:.15em}
.tarjeta h3{margin:72px 0 18px;font-family:Georgia,serif;font-size:29px;font-weight:400}
.tarjeta p{margin:0;color:var(--texto);font-size:15px;line-height:1.7}
.enfoque{display:grid;grid-template-columns:1.15fr .85fr;padding:0;background:var(--papel)}
.panel{padding:clamp(76px,10vw,150px) clamp(24px,7vw,112px);color:#fff;background:var(--turquesa-oscuro)}
.panel .etiqueta{color:#cae2d6}
.panel>p:not(.etiqueta){max-width:720px;margin:34px 0 0;color:#d7e8df;font-size:18px;line-height:1.75}
.panel .enlace-texto{color:#fff}
.principios{padding:clamp(50px,8vw,120px) clamp(24px,6vw,90px);display:flex;flex-direction:column;justify-content:center}
.principio{padding:26px 0;display:grid;grid-template-columns:48px 1fr;align-items:center;gap:18px;border-bottom:1px solid var(--linea)}
.principio span{color:var(--oro);font-size:12px;font-weight:900}
.principio p{margin:0;font-family:Georgia,serif;font-size:clamp(21px,2.1vw,30px)}
.manifiesto{text-align:center}
.manifiesto blockquote{max-width:1120px;margin:0 auto;font-family:Georgia,serif;font-size:clamp(36px,5.2vw,76px);line-height:1.14;letter-spacing:-.035em}
.contacto{display:grid;grid-template-columns:1.1fr .9fr;align-items:center;gap:clamp(48px,8vw,120px);background:var(--papel);border-top:1px solid var(--linea)}
.contacto>div:first-child>p:last-child{max-width:700px;margin-top:28px;color:var(--texto);font-size:17px;line-height:1.7}
.datos{padding:clamp(28px,4vw,52px);border:1px solid var(--linea);border-radius:4px 48px 4px 48px;background:var(--marfil)}
.datos p{margin:13px 0}
.aviso-edicion{margin-bottom:24px!important;color:#8a5d29;font-size:11px;font-weight:900;letter-spacing:.12em;text-transform:uppercase}
.botones-contacto{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.boton-contacto{padding:13px 16px;border:1px solid var(--linea);border-radius:999px;background:var(--papel);font-size:12px;font-weight:900;text-align:center}
.boton-contacto:hover{border-color:var(--turquesa);color:var(--turquesa)}
.boton-contacto.destacado{color:#fff;background:var(--turquesa);border-color:var(--turquesa)}
.boton-contacto[aria-disabled="true"]{cursor:default;opacity:.55}

.encabezado-pagina{padding:clamp(86px,11vw,160px) clamp(24px,7vw,112px) clamp(60px,7vw,100px);background:var(--papel);border-bottom:1px solid var(--linea)}
.encabezado-pagina h1{max-width:920px;margin:0;font-family:Georgia,serif;font-size:clamp(52px,7vw,96px);font-weight:400;letter-spacing:-.045em;line-height:.98}
.encabezado-pagina .bajada{max-width:760px;margin:28px 0 0;color:var(--texto);font-size:clamp(18px,1.8vw,23px);line-height:1.6}
.miga{display:inline-block;margin-bottom:34px;color:var(--turquesa);font-size:11px;font-weight:900;letter-spacing:.12em;text-transform:uppercase}
.contenedor{width:min(1180px,calc(100% - 48px));margin:0 auto;padding:80px 0 120px}
.bloque-editorial{display:grid;grid-template-columns:.75fr 1.25fr;gap:clamp(42px,8vw,120px);margin-bottom:90px}
.bloque-editorial h2{font-size:clamp(36px,4vw,58px)}
.prosa{color:var(--texto);font-size:18px;line-height:1.85}
.prosa p:first-child{margin-top:0}
.equipo-grid,.entradas-grid,.modulos-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.perfil,.entrada,.modulo{overflow:hidden;background:var(--papel);border:1px solid var(--linea);border-radius:4px 30px 4px 30px}
.perfil img{width:100%;aspect-ratio:4/3;object-fit:cover;background:#e9e0cd}
.perfil-cuerpo,.entrada,.modulo{padding:26px}
.perfil h3,.entrada h2,.modulo h2{margin:0 0 12px;font-family:Georgia,serif;font-size:28px;font-weight:400}
.perfil .rol,.entrada .meta,.modulo .meta{color:var(--turquesa);font-size:11px;font-weight:900;letter-spacing:.12em;text-transform:uppercase}
.perfil p,.entrada p,.modulo p{color:var(--texto);line-height:1.7}
.estado-vacio{padding:34px;border:1px dashed var(--linea);color:var(--texto);background:rgba(255,255,255,.35)}

.articulo{width:min(780px,calc(100% - 48px));margin:0 auto;padding:80px 0 130px}
.articulo .entradilla{font-family:Georgia,serif;font-size:clamp(24px,3vw,34px);line-height:1.45;color:var(--tinta)}
.articulo h2{margin:58px 0 18px;font-size:clamp(32px,4vw,48px)}
.articulo h3{margin:36px 0 12px;font-family:Georgia,serif;font-size:26px;font-weight:400}
.articulo p,.articulo li{color:var(--texto);font-size:18px;line-height:1.85}
.articulo li{margin-bottom:8px}
.nota{margin:42px 0;padding:28px;border-left:4px solid var(--oro);background:#eee7da;color:var(--texto);line-height:1.75}
.referencias{margin-top:60px;padding-top:30px;border-top:1px solid var(--linea)}
.referencias li{font-size:14px}

.mapa-intro{display:grid;grid-template-columns:1fr .7fr;gap:40px;align-items:end;margin-bottom:44px}
.mapa-intro p{margin:0;color:var(--texto);font-size:18px;line-height:1.75}
.mapa-lista{display:grid;gap:12px}
.mapa-item{background:var(--papel);border:1px solid var(--linea);border-radius:4px 24px 4px 24px;overflow:hidden}
.mapa-item summary{display:grid;grid-template-columns:50px 1fr auto;gap:16px;align-items:center;padding:22px 26px;cursor:pointer;list-style:none}
.mapa-item summary::-webkit-details-marker{display:none}
.mapa-item summary .indice{color:var(--oro);font-size:12px;font-weight:900}
.mapa-item summary h2{font-size:clamp(23px,2.5vw,34px)}
.mapa-item summary::after{content:"+";color:var(--turquesa);font-size:28px;font-weight:300}
.mapa-item[open] summary::after{content:"−"}
.mapa-contenido{padding:0 26px 28px 92px;border-top:1px solid var(--linea)}
.mapa-contenido>p{color:var(--texto);font-size:17px;line-height:1.75}
.mapa-contenido ul{padding-left:20px;color:var(--texto);line-height:1.7}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}
.chip{padding:8px 11px;border-radius:999px;background:#e7efeb;color:var(--turquesa-oscuro);font-size:12px;font-weight:800}

.buscador{width:100%;margin:0 0 28px;padding:16px 18px;border:1px solid var(--linea);border-radius:999px;background:var(--papel);color:var(--tinta)}
.modulo details{margin-top:18px}
.modulo summary{cursor:pointer;color:var(--turquesa);font-size:13px;font-weight:900}
.recursos{padding-left:18px;color:var(--texto);line-height:1.65}

.guia{width:min(900px,calc(100% - 48px));margin:0 auto;padding:70px 0 120px}
.guia code{padding:2px 6px;background:#e8e1d5;border-radius:5px}
.guia pre{overflow:auto;padding:20px;background:var(--tinta);color:#f6f1e7;border-radius:12px;line-height:1.6}

footer{min-height:160px;padding:42px clamp(24px,7vw,112px);display:flex;align-items:center;justify-content:space-between;gap:30px;color:#fff;background:var(--tinta)}
footer .lema{color:#9fd0ca}
footer p{margin:0;color:#adb4b0;font-size:12px}
.carga-error{width:min(900px,calc(100% - 48px));margin:24px auto;padding:16px;border:1px solid #c57d62;background:#fff5f0;color:#713b2c}

@media(max-width:980px){
  .hero,.nosotros,.enfoque,.contacto,.bloque-editorial,.mapa-intro{grid-template-columns:1fr}
  .hero{padding-top:90px}.arte{max-width:520px;width:100%;margin:auto}
  .rejilla{grid-template-columns:1fr 1fr}.tarjeta:nth-child(2){border-right:0}.tarjeta:nth-child(-n+2){border-bottom:1px solid rgba(29,36,33,.2)}
  .equipo-grid,.entradas-grid,.modulos-grid{grid-template-columns:1fr 1fr}
}

@media(max-width:760px){
  nav{position:relative;align-items:flex-start}.logo-recorte{width:44px;height:44px;flex-basis:44px}.logo-recorte img{width:92px;left:-23px;top:-16px}
  .enlaces{max-width:190px;justify-content:flex-end;flex-wrap:wrap;gap:10px 14px}.enlaces a,.submenu summary{font-size:11px}.enlaces .boton-nav{padding:7px 13px}
  .menu-desplegable{position:fixed;top:78px;right:18px;left:18px}
  .hero{min-height:auto}.hero h1{font-size:clamp(56px,17vw,84px)}
  .rejilla,.equipo-grid,.entradas-grid,.modulos-grid{grid-template-columns:1fr}
  .tarjeta,.tarjeta:nth-child(2){min-height:auto;border-right:0;border-bottom:1px solid rgba(29,36,33,.2)}.tarjeta h3{margin-top:38px}
  .botones-contacto{grid-template-columns:1fr}
  .mapa-item summary{grid-template-columns:34px 1fr auto;padding:18px}.mapa-contenido{padding:0 18px 22px}
  footer{align-items:flex-start;flex-direction:column}
}

@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
