:root{
  --ng:#0D0B08;--ng2:#14110c;--or:#C9A84C;--orc:#E8C97A;--oro:#8B6914;--mv:#F5F0E8;--gr:#B8B0A0;--ln:#2A2620;--bl:#FDFAF5;
  --glass:rgba(255,248,232,.045);
  --glass-2:rgba(255,248,232,.075);
  --glass-b:rgba(232,201,122,.16);
  --glass-b2:rgba(232,201,122,.38);
  --blur:blur(18px) saturate(150%);
  --r:18px;--r-sm:12px;
  --ease:cubic-bezier(.22,1,.36,1);
  --shadow:0 20px 50px -20px rgba(0,0,0,.65),inset 0 1px 0 rgba(255,255,255,.06);
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;overflow-x:clip}
body{background:var(--ng);color:var(--mv);font-family:'Inter',sans-serif;font-weight:300;overflow-x:hidden;overflow-x:clip;-webkit-font-smoothing:antialiased}
body.loading{overflow:hidden}
img{max-width:100%}
::selection{background:var(--or);color:var(--ng)}

/* ===== FONDO AMBIENTAL (lo que el vidrio desenfoca) ===== */
.ambient{position:fixed;inset:0;z-index:-2;overflow:hidden;pointer-events:none;background:radial-gradient(120% 80% at 50% -10%,#1b160d 0%,var(--ng) 55%)}
.orb{position:absolute;border-radius:50%;filter:blur(90px);opacity:.55;will-change:transform}
.orb.o1{width:46vw;height:46vw;left:-12vw;top:-8vw;background:radial-gradient(circle,rgba(201,168,76,.42),transparent 65%);animation:drift1 26s ease-in-out infinite alternate}
.orb.o2{width:38vw;height:38vw;right:-10vw;top:28vh;background:radial-gradient(circle,rgba(139,105,20,.5),transparent 65%);animation:drift2 32s ease-in-out infinite alternate}
.orb.o3{width:34vw;height:34vw;left:30vw;bottom:-14vw;background:radial-gradient(circle,rgba(232,201,122,.22),transparent 65%);animation:drift3 38s ease-in-out infinite alternate}
@keyframes drift1{to{transform:translate(14vw,18vh) scale(1.15)}}
@keyframes drift2{to{transform:translate(-18vw,-12vh) scale(.9)}}
@keyframes drift3{to{transform:translate(-12vw,-20vh) scale(1.2)}}
.grain{position:fixed;inset:0;z-index:-1;pointer-events:none;opacity:.07;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}

/* ===== GLASS ===== */
.glass{background:linear-gradient(155deg,var(--glass-2),var(--glass) 55%);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);border:1px solid var(--glass-b);border-radius:var(--r);box-shadow:var(--shadow);position:relative}
.glass::after{content:'';position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:linear-gradient(120deg,rgba(255,255,255,.07),transparent 30%);mix-blend-mode:screen}
.glass-hover{transition:border-color .4s var(--ease),transform .5s var(--ease),box-shadow .5s var(--ease),background .4s}
.glass-hover:hover{border-color:var(--glass-b2);transform:translateY(-4px);box-shadow:0 30px 60px -24px rgba(0,0,0,.75),0 0 0 1px rgba(201,168,76,.08),inset 0 1px 0 rgba(255,255,255,.08)}

/* ===== PRELOADER ===== */
.pl{position:fixed;inset:0;z-index:999;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1.4rem;background:var(--ng);transition:opacity .8s var(--ease),visibility .8s}
.pl.out{opacity:0;visibility:hidden}
.pl img{width:120px;mix-blend-mode:screen;opacity:0;animation:plIn 1s var(--ease) .1s forwards}
.pl-bar{width:160px;height:1px;background:var(--ln);overflow:hidden;border-radius:2px}
.pl-bar i{display:block;height:100%;width:100%;background:linear-gradient(90deg,var(--oro),var(--orc));transform-origin:left;transform:scaleX(0);transition:transform .4s var(--ease)}
.pl-k{font-family:'Cormorant Garamond',serif;font-size:.7rem;letter-spacing:.4em;text-transform:uppercase;color:var(--or);opacity:0;animation:plIn 1s var(--ease) .3s forwards}
@keyframes plIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}

/* barra de progreso de lectura */
.progress{position:fixed;top:0;left:0;right:0;height:2px;z-index:200;transform-origin:left;transform:scaleX(0);background:linear-gradient(90deg,var(--oro),var(--orc))}

/* ===== NAV ===== */
nav{position:fixed;top:.9rem;left:50%;transform:translateX(-50%);width:min(1180px,calc(100% - 2rem));z-index:100;padding:.55rem .65rem .55rem 1.2rem;display:flex;justify-content:space-between;align-items:center;border-radius:999px;border:1px solid transparent;transition:background .5s var(--ease),border-color .5s,box-shadow .5s,padding .5s var(--ease)}
nav.s{background:rgba(20,17,12,.55);-webkit-backdrop-filter:blur(20px) saturate(160%);backdrop-filter:blur(20px) saturate(160%);border-color:var(--glass-b);box-shadow:0 14px 40px -18px rgba(0,0,0,.8),inset 0 1px 0 rgba(255,255,255,.06)}
.nlogo img{height:44px;display:block;border-radius:10px;opacity:.95}
.nlinks{display:flex;gap:.2rem;align-items:center}
.nl{font-size:.69rem;color:var(--gr);text-decoration:none;letter-spacing:.14em;text-transform:uppercase;padding:.55rem .85rem;border-radius:999px;transition:color .25s,background .25s}
.nl:hover{color:var(--bl);background:rgba(255,255,255,.05)}
.ncta{margin-left:.35rem;background:linear-gradient(135deg,var(--orc),var(--or));color:var(--ng);padding:.6rem 1.35rem;border-radius:999px;font-size:.69rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;text-decoration:none;transition:transform .3s var(--ease),box-shadow .3s;box-shadow:0 6px 16px -8px rgba(0,0,0,.6)}
.ncta:hover{transform:translateY(-1px);box-shadow:0 10px 22px -8px rgba(0,0,0,.7)}

/* ===== BOTONES ===== */
.bp,.bo{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.95rem 2rem;border-radius:999px;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;text-decoration:none;cursor:pointer;font-family:'Inter',sans-serif;position:relative;overflow:hidden;transition:transform .35s var(--ease),box-shadow .35s,border-color .3s,background .3s,color .3s}
.bp{background:linear-gradient(135deg,var(--orc),var(--or) 60%,#b8923a);color:var(--ng);font-weight:700;border:none;box-shadow:0 10px 24px -12px rgba(0,0,0,.8),inset 0 1px 0 rgba(255,255,255,.35)}
.bp::before{content:'';position:absolute;top:0;left:-120%;width:60%;height:100%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.55),transparent);transform:skewX(-20deg);transition:left .7s var(--ease)}
.bp:hover{transform:translateY(-2px);box-shadow:0 16px 30px -12px rgba(0,0,0,.85),inset 0 1px 0 rgba(255,255,255,.35)}
.bp:hover::before{left:140%}
.bo{background:rgba(255,248,232,.05);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);color:var(--mv);font-weight:500;border:1px solid var(--glass-b)}
.bo:hover{border-color:var(--glass-b2);background:rgba(255,248,232,.09);transform:translateY(-2px)}
.btn-sm{font-size:.69rem;padding:.75rem 1.5rem}

/* ===== HERO ===== */
.hero{min-height:100vh;min-height:100svh;display:grid;grid-template-columns:1.05fr 1fr;align-items:center;padding:8rem max(3rem,calc((100vw - 1240px)/2)) 4.5rem;gap:4.5rem;position:relative}
.hero-kicker{font-family:'Cormorant Garamond',serif;font-size:.78rem;letter-spacing:.4em;color:var(--or);text-transform:uppercase;margin-bottom:1.6rem;display:inline-flex;align-items:center;gap:.8rem;padding:.5rem 1.1rem .5rem .9rem;border-radius:999px;background:rgba(201,168,76,.07);border:1px solid var(--glass-b);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
.hero-kicker::before{content:'';width:6px;height:6px;border-radius:50%;background:var(--or);box-shadow:0 0 0 0 rgba(201,168,76,.6);animation:pulse 2.4s ease-out infinite}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(201,168,76,.55)}100%{box-shadow:0 0 0 10px rgba(201,168,76,0)}}
.hero-h1{font-family:'Playfair Display',serif;font-size:clamp(2.6rem,5vw,4.4rem);font-weight:900;line-height:1.04;letter-spacing:-.02em;color:var(--bl);margin-bottom:1.4rem}
.hero-h1 em{font-style:italic;color:var(--or)}
.w{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.08em;margin-bottom:-.08em}
.w>span{display:inline-block;transform:translateY(110%);transition:transform 1.1s var(--ease)}
.ready .w>span{transform:none}
.hero-sub{font-family:'Cormorant Garamond',serif;font-size:1.22rem;font-style:italic;color:var(--gr);margin-bottom:2.5rem;line-height:1.7;max-width:480px}
.hero-btns{display:flex;gap:.8rem;flex-wrap:wrap}
.hero-stats{display:inline-flex;gap:2.2rem;margin-top:3.2rem;padding:1.4rem 1.9rem;flex-wrap:nowrap}
.stat-n{font-family:'Playfair Display',serif;font-size:2.2rem;font-weight:900;color:var(--bl);line-height:1}
.stat-n em{color:var(--or);font-style:normal}
.stat-l{font-size:.69rem;color:var(--gr);letter-spacing:.14em;text-transform:uppercase;margin-top:.35rem}

/* collage libros */
.hero-libros{position:relative;z-index:2;display:grid;grid-template-columns:1fr 1fr;gap:1rem;align-items:center;perspective:1200px}
.hero-libros::before{content:'';position:absolute;inset:8% -4% 8% -4%;border-radius:32px;background:radial-gradient(60% 60% at 50% 50%,rgba(201,168,76,.22),transparent 70%);filter:blur(30px);z-index:-1}
.libro-col{display:flex;flex-direction:column;gap:1rem}
.libro-cover{aspect-ratio:2/3;border-radius:var(--r-sm);overflow:hidden;position:relative;cursor:pointer;border:1px solid var(--glass-b);box-shadow:0 30px 60px -25px rgba(0,0,0,.85);transition:transform .6s var(--ease),border-color .4s,box-shadow .6s;transform-style:preserve-3d}
.libro-cover:hover{border-color:var(--glass-b2);box-shadow:0 40px 70px -25px rgba(0,0,0,.9)}
.libro-cover img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .9s var(--ease)}
.libro-cover:hover img{transform:scale(1.05)}
.libro-cover-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(13,11,8,.75) 0%,transparent 45%);z-index:2}
.libro-cover-info{position:absolute;bottom:.6rem;left:.6rem;right:.6rem;padding:.75rem .85rem;z-index:3;border-radius:10px;background:rgba(20,17,12,.45);-webkit-backdrop-filter:blur(14px) saturate(160%);backdrop-filter:blur(14px) saturate(160%);border:1px solid rgba(255,255,255,.09)}
.libro-cover-titulo{font-family:'Playfair Display',serif;font-size:.8rem;font-weight:700;color:var(--bl);line-height:1.25;margin-bottom:.18rem}
.libro-cover-autor{font-size:.69rem;color:var(--orc);letter-spacing:.1em;text-transform:uppercase}
.libro-cover.grande{grid-row:span 2}
.float-a{animation:floatY 7s ease-in-out infinite}
.float-b{animation:floatY 8s ease-in-out -2s infinite}
.float-c{animation:floatY 9s ease-in-out -4s infinite}
@keyframes floatY{0%,100%{translate:0 0}50%{translate:0 -10px}}

.scroll-cue{position:absolute;left:50%;bottom:1.6rem;transform:translateX(-50%);width:22px;height:36px;border-radius:12px;border:1px solid var(--glass-b2);display:flex;justify-content:center;padding-top:7px;opacity:.7}
.scroll-cue i{width:2px;height:7px;border-radius:2px;background:var(--or);animation:cue 1.8s ease-in-out infinite}
@keyframes cue{0%{opacity:0;transform:translateY(-3px)}40%{opacity:1}100%{opacity:0;transform:translateY(10px)}}

/* ===== BANNER MEMBRESÍA ===== */
.banner-wrap{padding:1rem max(2.5rem,calc((100vw - 1240px)/2)) 2rem}
.banner-mem{padding:2.6rem 3rem;display:flex;align-items:center;justify-content:space-between;gap:2rem;flex-wrap:wrap;overflow:hidden;border-color:rgba(201,168,76,.32)}
.banner-mem::before{content:'';position:absolute;inset:-1px;border-radius:inherit;pointer-events:none;background:radial-gradient(500px 200px at 10% 0%,rgba(201,168,76,.16),transparent 70%),radial-gradient(400px 220px at 95% 100%,rgba(139,105,20,.2),transparent 70%)}
.bm-left{display:flex;align-items:center;gap:1.8rem;position:relative}
.bm-ico{width:60px;height:60px;border-radius:50%;background:rgba(201,168,76,.12);border:1px solid var(--glass-b2);display:flex;align-items:center;justify-content:center;font-size:1.5rem;flex-shrink:0;color:var(--orc);box-shadow:inset 0 1px 0 rgba(255,255,255,.12)}
.bm-label{font-size:.69rem;color:var(--or);letter-spacing:.3em;text-transform:uppercase;margin-bottom:.35rem}
.bm-titulo{font-family:'Playfair Display',serif;font-size:1.6rem;font-weight:700;color:var(--bl);line-height:1.2}
.bm-titulo em{font-style:italic;color:var(--or)}
.bm-desc{font-size:.86rem;color:var(--gr);margin-top:.5rem;line-height:1.7;max-width:520px}
.bm-right{display:flex;flex-direction:column;align-items:flex-end;gap:.6rem;flex-shrink:0;position:relative}
.bm-precio{font-family:'Playfair Display',serif;font-size:2rem;font-weight:900;color:var(--bl);line-height:1}
.bm-precio em{font-size:.9rem;color:var(--or);font-style:normal}
.bm-nota{font-size:.69rem;color:var(--gr);letter-spacing:.08em;text-align:right}

/* ===== SECCIONES ===== */
.div{height:1px;background:linear-gradient(to right,transparent,rgba(201,168,76,.22),transparent);margin:0 max(2.5rem,calc((100vw - 1240px)/2))}
section{padding:6rem max(2.5rem,calc((100vw - 1240px)/2))}
.ey{font-family:'Cormorant Garamond',serif;font-size:.72rem;letter-spacing:.35em;color:var(--or);text-transform:uppercase;margin-bottom:1rem;display:flex;align-items:center;gap:.7rem}
.ey::before{content:'';display:block;width:1.6rem;height:1px;background:linear-gradient(90deg,transparent,var(--or));flex-shrink:0}
.st{font-family:'Playfair Display',serif;font-size:clamp(1.9rem,3.8vw,2.9rem);font-weight:900;line-height:1.1;color:var(--bl);margin-bottom:1.2rem;letter-spacing:-.01em}
.st em{font-style:italic;color:var(--or)}
.sp{font-size:.95rem;line-height:1.85;color:var(--gr);max-width:620px}

/* misión */
.mision-grid{display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:center}
.mision-quote{padding:2.6rem 2.4rem}
.mision-cita{font-family:'Cormorant Garamond',serif;font-size:clamp(1.35rem,2.3vw,1.9rem);font-style:italic;font-weight:300;line-height:1.6;color:var(--mv);position:relative;padding-left:2.2rem}
.mision-cita::before{content:'"';position:absolute;left:0;top:-.5rem;font-family:'Playfair Display',serif;font-size:4.4rem;color:var(--or);line-height:1;opacity:.55}
.mision-firma{font-size:.8rem;color:var(--gr);margin-top:1.3rem;padding-left:2.2rem;font-style:italic}
.pilares{display:flex;flex-direction:column;gap:1rem;margin-top:2rem}
.pilar{display:flex;align-items:flex-start;gap:1.1rem;padding:1.3rem 1.4rem;border-radius:var(--r-sm)}
.pilar-ico{width:38px;height:38px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1rem;color:var(--or);flex-shrink:0;background:rgba(201,168,76,.1);border:1px solid var(--glass-b);transition:transform .5s var(--ease),background .3s}
.pilar:hover .pilar-ico{transform:rotate(-12deg) scale(1.08);background:rgba(201,168,76,.18)}
.pilar-titulo{font-family:'Playfair Display',serif;font-size:.96rem;color:var(--bl);font-weight:700;margin-bottom:.25rem}
.pilar-desc{font-size:.82rem;color:var(--gr);line-height:1.7}

/* fundadores */
.fund-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1.2rem;margin-top:3rem}
.fund-card{overflow:hidden;padding:0}
.fund-foto{height:290px;overflow:hidden;position:relative;border-radius:var(--r) var(--r) 0 0}
.fund-foto img{width:100%;height:100%;object-fit:cover;object-position:center top;display:block;transition:transform 1s var(--ease),filter .6s;filter:saturate(.9)}
.fund-card:hover .fund-foto img{transform:scale(1.06);filter:saturate(1.05)}
.fund-foto-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(13,11,8,.7) 0%,transparent 55%);z-index:2}
.fund-num{position:absolute;top:.8rem;left:.8rem;font-family:'Cormorant Garamond',serif;font-size:.72rem;color:var(--orc);letter-spacing:.14em;z-index:3;padding:.25rem .65rem;border-radius:999px;background:rgba(20,17,12,.45);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.1)}
.fund-body{padding:1.3rem 1.3rem 1.4rem;display:grid;grid-template-columns:1fr auto;gap:.9rem;align-items:start;position:relative;z-index:2}
.fund-nombre{font-family:'Playfair Display',serif;font-size:1.04rem;font-weight:700;color:var(--bl);margin-bottom:.15rem;line-height:1.2}
.fund-sub{font-size:.69rem;color:var(--gr);margin-bottom:.75rem}
.fund-sep{width:1.6rem;height:1px;background:var(--or);margin-bottom:.7rem;transition:width .5s var(--ease)}
.fund-card:hover .fund-sep{width:3rem}
.fund-libro-label{font-size:.69rem;color:var(--gr);letter-spacing:.18em;text-transform:uppercase;margin-bottom:.28rem}
.fund-libro{font-family:'Playfair Display',serif;font-size:.9rem;font-style:italic;color:var(--mv);margin-bottom:.9rem;line-height:1.35}
.fund-comprar{display:inline-flex;align-items:center;gap:.35rem;font-size:.69rem;color:var(--or);letter-spacing:.12em;text-transform:uppercase;text-decoration:none;padding:.42rem .8rem;border-radius:999px;border:1px solid var(--glass-b);background:rgba(201,168,76,.06);transition:background .3s,color .3s,border-color .3s}
.fund-comprar:hover{background:var(--or);color:var(--ng);border-color:var(--or)}
.fund-portada{width:62px;flex-shrink:0;margin-top:-3rem;position:relative;z-index:4;transition:transform .6s var(--ease)}
.fund-card:hover .fund-portada{transform:translateY(-6px) rotate(-3deg)}
.fund-portada img{width:100%;display:block;border-radius:4px;border:1px solid rgba(255,255,255,.12);box-shadow:0 14px 30px -10px rgba(0,0,0,.9)}

/* ferias */
.filbo-photo{margin:2.8rem 0;overflow:hidden;border-radius:var(--r);border:1px solid rgba(201,168,76,.32);position:relative;box-shadow:var(--shadow)}
.filbo-photo img{width:100%;display:block;max-height:500px;object-fit:cover;object-position:center top;transform:scale(1.08);transition:transform 1.8s var(--ease)}
.filbo-photo.in img{transform:scale(1)}
.filbo-cap{position:absolute;bottom:1rem;left:1rem;right:1rem;padding:1.1rem 1.4rem;border-radius:var(--r-sm);background:rgba(20,17,12,.5);-webkit-backdrop-filter:blur(16px) saturate(160%);backdrop-filter:blur(16px) saturate(160%);border:1px solid rgba(255,255,255,.1)}
.filbo-cap-k{font-size:.69rem;color:var(--or);letter-spacing:.25em;text-transform:uppercase;margin-bottom:.3rem}
.filbo-cap-t{font-family:'Playfair Display',serif;font-size:1.1rem;color:var(--bl);font-weight:700}
.ferias-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:2rem;align-items:start}
.feria-principal{padding:2.4rem;border-color:rgba(201,168,76,.32)}
.badge{position:absolute;top:-.75rem;left:1.4rem;font-size:.69rem;color:var(--ng);background:linear-gradient(135deg,var(--orc),var(--or));padding:.3rem .8rem;border-radius:999px;letter-spacing:.18em;text-transform:uppercase;font-weight:700;z-index:3;box-shadow:0 6px 14px -8px rgba(0,0,0,.7)}
.feria-año{font-family:'Playfair Display',serif;font-size:3.8rem;font-weight:900;line-height:1;margin-bottom:.5rem;color:rgba(201,168,76,.32)}
.feria-nombre{font-family:'Playfair Display',serif;font-size:1.4rem;font-weight:700;color:var(--bl);margin-bottom:.35rem}
.feria-lugar{font-size:.72rem;color:var(--or);letter-spacing:.1em;text-transform:uppercase;margin-bottom:1rem}
.feria-desc{font-size:.88rem;color:var(--gr);line-height:1.8;margin-bottom:1.4rem}
.feria-cifras{display:flex;gap:1.8rem;padding-top:1.3rem;border-top:1px solid rgba(201,168,76,.15);flex-wrap:wrap}
.fc-n{font-family:'Playfair Display',serif;font-size:1.5rem;font-weight:700;color:var(--bl)}
.fc-lb{font-size:.69rem;color:var(--gr);letter-spacing:.12em;text-transform:uppercase;margin-top:.15rem}
.tambien{margin-top:1.8rem;padding-top:1.5rem;border-top:1px solid rgba(201,168,76,.15)}
.mini-k{font-size:.69rem;color:var(--gr);letter-spacing:.22em;text-transform:uppercase;margin-bottom:1rem}
.chips{display:flex;gap:.6rem;flex-wrap:wrap;align-items:center}
.chip{padding:.5rem 1.1rem;border-radius:999px;font-family:'Cormorant Garamond',serif;font-size:.98rem;color:var(--mv);letter-spacing:.06em;background:rgba(255,248,232,.05);border:1px solid var(--glass-b);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:border-color .3s,background .3s}
.chip:hover{border-color:var(--glass-b2);background:rgba(201,168,76,.1)}
.chip.add{border-style:dashed;font-family:'Inter',sans-serif;font-size:.69rem;color:var(--gr);letter-spacing:.12em;text-transform:uppercase;background:transparent}
.ferias-lista{display:flex;flex-direction:column;gap:1rem}
.feria-item{padding:1.4rem 1.5rem;border-radius:var(--r-sm)}
.fi-año{font-family:'Playfair Display',serif;font-size:1.6rem;font-weight:900;line-height:1;margin-bottom:.35rem;color:rgba(201,168,76,.4)}
.fi-nombre{font-family:'Playfair Display',serif;font-size:.98rem;font-weight:700;color:var(--bl);margin-bottom:.15rem}
.fi-lugar{font-size:.69rem;color:var(--or);letter-spacing:.08em;text-transform:uppercase}
.proximas-wrap{margin-top:2rem;padding-top:1.8rem;border-top:1px solid rgba(201,168,76,.15)}
.proximas-label{font-size:.69rem;color:var(--gr);letter-spacing:.25em;text-transform:uppercase;margin-bottom:.9rem}
.proximas-list{display:flex;gap:.8rem;flex-wrap:wrap}
.proxima{padding:.7rem 1.1rem;display:flex;align-items:center;gap:.7rem;border-radius:var(--r-sm)}
.px-dot{width:7px;height:7px;border-radius:50%;background:var(--or);flex-shrink:0;animation:pulse 2.4s ease-out infinite}
.px-txt{font-size:.78rem;color:var(--mv)}
.px-fecha{font-size:.69rem;color:var(--gr);margin-top:.08rem}

/* medios */
.medios{margin-top:4.5rem;padding-top:3.2rem;border-top:1px solid rgba(201,168,76,.15)}
.medios-t{font-family:'Playfair Display',serif;font-size:clamp(1.5rem,2.6vw,2.1rem);font-weight:700;color:var(--bl);margin-bottom:.7rem;line-height:1.2}
.medios-t em{font-style:italic;color:var(--or)}
.medios-p{font-size:.9rem;color:var(--gr);line-height:1.8;max-width:560px;margin-bottom:2.5rem}
.pr-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1.2rem}
.pr-card{overflow:hidden;cursor:pointer}
.pr-media{aspect-ratio:16/9;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.6rem;border-bottom:1px solid var(--glass-b);background:radial-gradient(80% 90% at 50% 0%,rgba(201,168,76,.12),transparent 70%),rgba(0,0,0,.2);border-radius:var(--r) var(--r) 0 0}
.pr-ico{font-size:1.9rem;opacity:.75;transition:transform .6s var(--ease)}
.pr-card:hover .pr-ico{transform:scale(1.15) translateY(-3px)}
.pr-add{font-size:.69rem;color:var(--gr);letter-spacing:.18em;text-transform:uppercase;opacity:.6}
.pr-body{padding:1.1rem 1.2rem 1.3rem}
.pr-medio{font-size:.69rem;color:var(--or);letter-spacing:.2em;text-transform:uppercase;margin-bottom:.35rem}
.pr-tit{font-family:'Playfair Display',serif;font-size:.93rem;font-weight:700;color:var(--bl);line-height:1.4;margin-bottom:.35rem}
.pr-fecha{font-size:.69rem;color:var(--gr)}
.logos-medios{margin-top:2.5rem;padding-top:2rem;border-top:1px solid rgba(201,168,76,.15)}
.chip.sans{font-family:'Inter',sans-serif;font-size:.78rem;color:var(--gr)}

/* testimonios */
.test-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.2rem;margin-top:2.8rem}
.test-card{padding:2rem 1.9rem}
.test-card::before{content:'"';position:absolute;top:.4rem;right:1.2rem;font-family:'Playfair Display',serif;font-size:5rem;line-height:1;color:var(--or);opacity:.14}
.test-txt{font-family:'Cormorant Garamond',serif;font-size:1.1rem;font-style:italic;line-height:1.7;color:var(--mv);margin-bottom:1.5rem;position:relative}
.test-autor{display:flex;align-items:center;gap:.8rem}
.test-av{width:42px;height:42px;border-radius:50%;background:radial-gradient(circle at 30% 30%,rgba(232,201,122,.35),rgba(42,38,32,.9));border:1px solid var(--glass-b2);display:flex;align-items:center;justify-content:center;font-family:'Playfair Display',serif;color:var(--orc);font-size:.95rem;flex-shrink:0}
.test-n{font-size:.78rem;color:var(--bl);font-weight:500}
.test-r{font-size:.69rem;color:var(--gr);margin-top:.1rem}

/* sumarte */
.sumarte{text-align:center;position:relative}
.planes{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.3rem;margin:3rem auto;max-width:960px;align-items:stretch}
.plan{padding:2.2rem 2rem;text-align:left;display:flex;flex-direction:column}
.plan .bp,.plan .bo{margin-top:auto;align-self:flex-start}
.plan.dest{border-color:rgba(201,168,76,.5);background:linear-gradient(160deg,rgba(201,168,76,.14),rgba(255,248,232,.04) 60%);box-shadow:0 30px 70px -25px rgba(0,0,0,.8),inset 0 1px 0 rgba(255,255,255,.1)}
@media(min-width:861px){.plan.dest{transform:translateY(-12px)}.plan.dest.glass-hover:hover{transform:translateY(-16px)}}
.plan-n{font-family:'Playfair Display',serif;font-size:1.15rem;font-weight:700;color:var(--bl);margin-bottom:.55rem}
.plan-p{font-family:'Playfair Display',serif;font-size:2rem;font-weight:900;color:var(--bl);margin-bottom:.2rem;line-height:1}
.plan-p em{font-size:.9rem;color:var(--or);font-style:normal}
.plan-nota{font-size:.69rem;color:var(--gr);margin-bottom:1.5rem;letter-spacing:.04em}
.plan-items{display:flex;flex-direction:column;gap:.6rem;margin-bottom:1.8rem}
.plan-item{display:flex;align-items:flex-start;gap:.65rem;font-size:.82rem;color:var(--gr);line-height:1.5}
.plan-item::before{content:'✦';color:var(--or);font-size:.69rem;flex-shrink:0;margin-top:.25rem}
.news{max-width:560px;margin:0 auto;padding:2rem 2rem 1.6rem}
.news-k{font-size:.74rem;color:var(--gr);margin-bottom:1rem;letter-spacing:.1em;text-transform:uppercase}
.lista-form{display:flex;gap:.4rem;padding:.35rem;border-radius:999px;background:rgba(0,0,0,.25);border:1px solid var(--glass-b);transition:border-color .3s,box-shadow .3s}
.lista-form:focus-within{border-color:var(--glass-b2);box-shadow:0 0 0 4px rgba(201,168,76,.1)}
.lf-i{flex:1;min-width:0;background:transparent;border:none;color:var(--bl);padding:.75rem 1.1rem;font-size:.86rem;font-family:'Inter',sans-serif;outline:none}
.lf-i::placeholder{color:var(--gr);opacity:.7}
.lf-b{border-radius:999px;padding:.8rem 1.3rem;font-size:.69rem;white-space:nowrap}
.lf-nota{font-size:.69rem;color:var(--oro);margin-top:.75rem}
.form-msg{font-size:.78rem;margin-top:.7rem;min-height:1.1em;transition:opacity .3s}
.form-msg.ok{color:var(--orc)}
.form-msg.err{color:#e59a8a}
.hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;opacity:0}

/* ===== MODAL FORM ===== */
.modal{position:fixed;inset:0;z-index:300;display:flex;align-items:center;justify-content:center;padding:1rem;visibility:hidden;pointer-events:none}
.modal.open{visibility:visible;pointer-events:auto}
.modal-bg{position:absolute;inset:0;background:rgba(8,6,4,.55);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);opacity:0;transition:opacity .45s var(--ease)}
.modal.open .modal-bg{opacity:1}
.modal-box{width:min(480px,100%);max-height:calc(100vh - 2rem);overflow:auto;padding:2.2rem 2rem 2rem;background:linear-gradient(160deg,rgba(40,33,22,.78),rgba(18,15,11,.82));opacity:0;transform:translateY(24px) scale(.97);transition:opacity .45s var(--ease),transform .55s var(--ease);text-align:left}
.modal.open .modal-box{opacity:1;transform:none}
.modal-x{position:absolute;top:.9rem;right:.9rem;width:36px;height:36px;border-radius:50%;border:1px solid var(--glass-b);background:rgba(255,255,255,.04);color:var(--mv);font-size:1.1rem;cursor:pointer;transition:background .3s,transform .4s var(--ease);z-index:2}
.modal-x:hover{background:rgba(201,168,76,.18);transform:rotate(90deg)}
.modal-plan{display:inline-block;margin-bottom:1.3rem;padding:.35rem .85rem;border-radius:999px;font-size:.69rem;letter-spacing:.14em;text-transform:uppercase;color:var(--orc);background:rgba(201,168,76,.1);border:1px solid var(--glass-b)}
.field{display:flex;flex-direction:column;gap:.4rem;margin-bottom:.95rem}
.field label{font-size:.69rem;letter-spacing:.18em;text-transform:uppercase;color:var(--gr)}
.field input,.field textarea{width:100%;background:rgba(0,0,0,.28);border:1px solid var(--glass-b);border-radius:var(--r-sm);color:var(--bl);padding:.85rem 1rem;font-size:.9rem;font-family:'Inter',sans-serif;outline:none;transition:border-color .3s,box-shadow .3s}
.field textarea{min-height:90px;resize:vertical}
.field input:focus,.field textarea:focus{border-color:var(--glass-b2);box-shadow:0 0 0 4px rgba(201,168,76,.1)}
.modal-box .bp{width:100%;margin-top:.4rem}
.bp[disabled]{opacity:.7;pointer-events:none}

/* ===== FOOTER ===== */
footer{padding:3.5rem max(2.5rem,calc((100vw - 1240px)/2)) 2rem;position:relative;background:linear-gradient(to bottom,transparent,rgba(0,0,0,.35));border-top:1px solid rgba(201,168,76,.15)}
.ft{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:3rem;margin-bottom:2.5rem}
.fb img{height:64px;mix-blend-mode:screen;opacity:.9;margin-bottom:.9rem}
.fd{font-size:.84rem;color:var(--gr);line-height:1.75;max-width:300px}
.fc-t{font-size:.69rem;color:var(--or);letter-spacing:.2em;text-transform:uppercase;margin-bottom:1rem}
.fc-l{display:flex;flex-direction:column;gap:.55rem}
.fc-l a{font-size:.82rem;color:var(--gr);text-decoration:none;transition:color .25s,transform .3s var(--ease);display:inline-block;width:fit-content}
.fc-l a:hover{color:var(--orc);transform:translateX(4px)}
.fb-{display:flex;justify-content:space-between;align-items:center;padding-top:1.5rem;border-top:1px solid rgba(201,168,76,.12);flex-wrap:wrap;gap:1rem}
.copy{font-size:.69rem;color:#6f675a}
.redes{display:flex;gap:.5rem}
.redes a{font-size:.69rem;color:var(--gr);text-decoration:none;letter-spacing:.1em;text-transform:uppercase;padding:.45rem .9rem;border-radius:999px;border:1px solid var(--glass-b);transition:color .25s,border-color .25s,background .25s}
.redes a:hover{color:var(--ng);background:var(--or);border-color:var(--or)}

/* ===== ANIMACIONES DE ENTRADA ===== */
.au{opacity:0;transform:translateY(22px);filter:blur(6px);transition:opacity 1s var(--ease),transform 1s var(--ease),filter 1s var(--ease);transition-delay:var(--d,0s)}
.ready .au{opacity:1;transform:none;filter:none}
.hero-libros .libro-cover{opacity:0;transform:translateY(40px) rotateX(10deg) scale(.96);transition:opacity 1.2s var(--ease),transform 1.2s var(--ease),border-color .4s,box-shadow .6s;transition-delay:var(--d,0s)}
.ready .hero-libros .libro-cover{opacity:1;transform:none}
[data-r]{opacity:0;transition:opacity .9s var(--ease),transform .9s var(--ease),filter .9s var(--ease);transition-delay:var(--d,0s);will-change:opacity,transform}
[data-r="up"]{transform:translateY(36px)}
[data-r="left"]{transform:translateX(-40px)}
[data-r="right"]{transform:translateX(40px)}
[data-r="scale"]{transform:scale(.94);filter:blur(4px)}
[data-r="fade"]{filter:blur(6px)}
[data-r].in{opacity:1;transform:none;filter:none}
/* tras entrar, liberar el delay para que el hover responda al instante */
[data-r].done{transition-delay:0s}

/* ===== EN ESCENA ===== */
.escena-grid{display:grid;grid-template-columns:repeat(12,1fr);grid-auto-rows:clamp(150px,17vw,230px);gap:1rem;margin-top:2.6rem}
.esc{position:relative;overflow:hidden;border-radius:var(--r);border:1px solid var(--glass-b);box-shadow:var(--shadow);cursor:zoom-in;margin:0;background:var(--ng2)}
.esc img{width:100%;height:100%;object-fit:cover;display:block;transition:transform 1.1s var(--ease),filter .6s}
.esc:hover img,.esc:focus-visible img{transform:scale(1.05)}
.esc:focus-visible{outline:2px solid var(--or);outline-offset:3px}
.esc figcaption{position:absolute;left:.8rem;right:.8rem;bottom:.8rem;padding:.75rem 1rem;border-radius:var(--r-sm);background:rgba(20,17,12,.5);-webkit-backdrop-filter:blur(16px) saturate(160%);backdrop-filter:blur(16px) saturate(160%);border:1px solid rgba(255,255,255,.1);font-size:.78rem;color:var(--mv);line-height:1.4;transform:translateY(6px);opacity:.92;transition:transform .5s var(--ease),opacity .4s}
.esc:hover figcaption{transform:none;opacity:1}
.esc figcaption span{display:block;font-family:'Playfair Display',serif;font-size:.98rem;font-weight:700;color:var(--bl);margin-bottom:.1rem}
.esc-a{grid-column:1/9;grid-row:span 2}
.esc-a img{object-position:center 40%}
.esc-b{grid-column:9/13;grid-row:span 3}
.esc-c{grid-column:1/5;grid-row:span 1}
.esc-c img{object-position:center 35%}
.esc-d{grid-column:5/9;grid-row:span 1}
.esc-d img{object-position:center 60%}
.esc-e{grid-column:1/13;grid-row:span 2}
.esc-e img{object-position:center 62%}

.lightbox{position:fixed;inset:0;z-index:320;display:flex;align-items:center;justify-content:center;gap:1rem;padding:1.5rem;background:rgba(8,6,4,.72);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);opacity:0;visibility:hidden;transition:opacity .4s var(--ease),visibility .4s}
.lightbox.open{opacity:1;visibility:visible}
.lb-fig{margin:0;max-width:min(1200px,100%);display:flex;flex-direction:column;align-items:center;gap:.9rem;transform:scale(.96);transition:transform .5s var(--ease)}
.lightbox.open .lb-fig{transform:none}
.lb-fig img{max-width:100%;max-height:calc(100vh - 8rem);border-radius:var(--r-sm);border:1px solid var(--glass-b);box-shadow:0 30px 80px -20px rgba(0,0,0,.9)}
.lb-fig figcaption{font-size:.82rem;color:var(--gr);text-align:center}
.lb-fig figcaption span{color:var(--bl);font-family:'Playfair Display',serif;font-weight:700;margin-right:.5rem}
.lightbox .modal-x{position:absolute;top:1rem;right:1rem}
.lb-nav{flex-shrink:0;width:46px;height:46px;border-radius:50%;border:1px solid var(--glass-b);background:rgba(255,248,232,.06);color:var(--mv);font-size:1.6rem;line-height:1;cursor:pointer;transition:background .3s,border-color .3s}
.lb-nav:hover{background:rgba(201,168,76,.18);border-color:var(--glass-b2)}

@media(max-width:860px){
  .escena-grid{grid-template-columns:1fr 1fr;grid-auto-rows:auto}
  .esc{grid-column:auto!important;grid-row:auto!important;aspect-ratio:4/3}
  .esc-a,.esc-e{grid-column:1/-1!important;aspect-ratio:16/10}
  .esc-b{aspect-ratio:auto;grid-row:span 2!important}
}
@media(max-width:560px){
  .escena-grid{grid-template-columns:1fr}
  .esc,.esc-a,.esc-e{grid-column:1/-1!important;aspect-ratio:4/3}
  .esc-b{aspect-ratio:3/4;grid-row:auto!important}
  .esc figcaption{font-size:.72rem;padding:.6rem .8rem}
  .lb-nav{position:absolute;bottom:1.2rem}
  .lb-prev{left:calc(50% - 56px)}.lb-next{right:calc(50% - 56px)}
}

@media(max-width:960px){
  .hero{grid-template-columns:1fr;padding:7rem 1.5rem 4rem;gap:3rem}
  .mision-grid,.ferias-grid{grid-template-columns:1fr;gap:2.5rem}
  .ft{grid-template-columns:1fr;gap:2rem}
  section{padding:4rem 1.5rem}
  .div{margin:0 1.5rem}
  .banner-wrap{padding:1rem 1.5rem 1.5rem}
  footer{padding:3rem 1.5rem 2rem}
  nav{top:.6rem;width:calc(100% - 1.2rem);padding:.45rem .5rem .45rem 1rem}
  .nl{display:none}
  .banner-mem{flex-direction:column;align-items:flex-start;padding:2rem 1.6rem}
  .bm-left{flex-direction:column;align-items:flex-start;gap:1.2rem}
  .bm-right{align-items:flex-start}
  .bm-nota{text-align:left}
  .scroll-cue{display:none}
  .mision-quote{padding:2rem 1.5rem}
}
@media(max-width:600px){
  .fund-grid{grid-template-columns:1fr}
  .planes{grid-template-columns:1fr}
  .hero-libros{grid-template-columns:1fr 1fr;gap:.7rem}
  .libro-col{gap:.7rem}
  .hero-stats{gap:1.2rem;padding:1.1rem 1.2rem;display:flex;justify-content:space-between}
  .stat-n{font-size:1.8rem}
  .stat-l{font-size:.69rem;letter-spacing:.1em}
  .lista-form{flex-direction:column;border-radius:var(--r);padding:.5rem}
  .lf-b{width:100%}
  .filbo-cap{position:static;margin:0;border-radius:0;border:none;border-top:1px solid var(--glass-b)}
  .filbo-cap-t{font-size:.95rem}
  .libro-cover-info{padding:.5rem .6rem}
  .feria-principal{padding:2rem 1.4rem}
  .news{padding:1.6rem 1.2rem 1.4rem}
}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;transition-delay:0s!important}
  html{scroll-behavior:auto}
}
