:root{
  --ink:#0d1820;
  --ink2:#142732;
  --warm:#f6f1e9;
  --paper:#fdfbf7;
  --sand:#ded2c3;
  --gold:#b78646;
  --gold2:#c99b5e;
  --text:#172128;
  --muted:#667078;
  --line:rgba(13,24,32,.13);
  --shell:min(1210px,calc(100% - 44px));
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;background:var(--paper);color:var(--text);
  font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;
  line-height:1.55;-webkit-font-smoothing:antialiased;
}
img{display:block;max-width:100%}
a{color:inherit}
.shell{width:var(--shell);margin-inline:auto}

.site-header{
  position:sticky;top:0;z-index:30;
  background:rgba(253,251,247,.94);
  backdrop-filter:blur(16px);
  border-bottom:1px solid var(--line);
}
.header-inner{height:94px;display:flex;align-items:center;justify-content:space-between;gap:36px}
.brand{display:flex;align-items:center;width:330px;max-width:44vw;text-decoration:none}
.brand img{display:block;width:100%;height:auto;max-height:66px;object-fit:contain;object-position:left center}
.nav{display:flex;align-items:center;gap:26px}
.nav a{text-decoration:none;font-size:.90rem;font-weight:650;letter-spacing:-.01em}
.nav-cta{background:var(--ink);color:#fff;padding:12px 20px;border-radius:8px;box-shadow:0 8px 20px rgba(13,24,32,.10)}
.menu-button{display:none;border:1px solid var(--line);background:#fff;padding:9px 12px;border-radius:8px}

.hero{
  overflow:hidden;
  background:
    radial-gradient(circle at 84% 18%,rgba(183,134,70,.12),transparent 25%),
    linear-gradient(105deg,#fbfaf7 0%,#f6f1e9 62%,#eee6dc 100%);
  border-bottom:1px solid var(--line);
}
.hero-grid{
  min-height:620px;display:grid;grid-template-columns:1.08fr .92fr;gap:62px;align-items:center;
  padding-block:52px;
}
.kicker{
  display:flex;align-items:center;gap:11px;margin:0 0 22px;
  font-size:.72rem;font-weight:850;letter-spacing:.28em;color:#536069
}
.kicker i{width:6px;height:6px;border-radius:50%;background:var(--gold);display:inline-block}
.kicker.light{color:rgba(255,255,255,.66);justify-content:center}
.hero h1{
  margin:0;color:var(--ink);font-size:clamp(3.25rem,4.75vw,5.05rem);
  line-height:.99;letter-spacing:-.055em;font-weight:390;max-width:760px
}
.hero h1 strong{font-weight:860}
.lead{
  font-size:1.08rem;color:#475159;max-width:620px;margin:27px 0 0;
  line-height:1.65
}
.hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:31px}
.button{
  min-height:52px;display:inline-flex;align-items:center;justify-content:center;gap:13px;
  padding:14px 22px;border-radius:8px;text-decoration:none;font-weight:800
}
.button.dark{background:var(--ink);color:#fff}
.button.ghost{border:1px solid rgba(13,24,32,.34);background:rgba(255,255,255,.36)}
.micro{margin:25px 0 0;color:#7b7e7c;font-family:Georgia,serif;font-style:italic;font-size:1rem}

.portrait-wrap{
  position:relative;min-height:535px;isolation:isolate;
  border-radius:2px 32px 2px 32px;overflow:hidden;background:#ddd0c0;
  box-shadow:0 28px 70px rgba(13,24,32,.15)
}
.portrait{
  position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 18%;
  z-index:1
}
.portrait-wrap::after{
  content:"";position:absolute;inset:0;z-index:2;
  background:linear-gradient(180deg,transparent 54%,rgba(13,24,32,.70) 100%)
}
.gold-rule{position:absolute;right:26px;top:0;width:2px;height:118px;background:var(--gold2);z-index:4}
.je-watermark{
  position:absolute;right:28px;top:24px;z-index:3;color:rgba(255,255,255,.12);
  font:400 7.2rem/1 Georgia,serif;letter-spacing:-.12em
}
.portrait-caption{
  position:absolute;left:26px;bottom:22px;z-index:4;color:#fff;
  display:flex;flex-direction:column;gap:3px
}
.portrait-caption span{font-weight:900;letter-spacing:.06em;font-size:1.1rem}
.portrait-caption small{color:rgba(255,255,255,.72);letter-spacing:.08em}

.pillars{background:#fff;border-bottom:1px solid var(--line)}
.pillars-grid{display:grid;grid-template-columns:repeat(3,1fr)}
.pillars article{
  display:grid;grid-template-columns:auto 1fr;gap:20px;padding:36px 35px;border-right:1px solid var(--line)
}
.pillars article:first-child{padding-left:0}
.pillars article:last-child{padding-right:0;border-right:0}
.n{
  width:45px;height:45px;display:grid;place-items:center;border-radius:50%;
  border:1px solid rgba(183,134,70,.45);font-weight:900;color:var(--gold)
}
.pillars h2{font-size:.8rem;letter-spacing:.16em;margin:0 0 7px;color:var(--ink)}
.pillars strong{display:block;font-size:1.02rem;margin-bottom:5px}
.pillars p{margin:0;color:#677079;font-size:.88rem;line-height:1.55}

.manifesto{
  color:#fff;text-align:center;
  background:
    radial-gradient(circle at 82% 55%,rgba(183,134,70,.17),transparent 25%),
    linear-gradient(120deg,#0a141b,#122530);
}
.manifesto-inner{padding:96px 0}
.manifesto blockquote{
  margin:0 auto;max-width:1000px;
  font-size:clamp(2.8rem,5.1vw,5rem);
  line-height:1.05;letter-spacing:-.045em;font-weight:780
}
.signature-line{
  display:inline-block;margin-top:28px;color:var(--gold2);
  font-family:Georgia,serif;font-style:italic;font-size:1.45rem
}

.about{padding:110px 0;background:var(--paper)}
.about-grid{display:grid;grid-template-columns:.86fr 1.14fr;gap:88px;align-items:center}
.about-title{
  padding-right:72px;border-right:1px solid var(--line);
  display:flex;flex-direction:column;color:var(--ink);
  font-family:Georgia,serif;font-size:clamp(3rem,4.6vw,5.2rem);line-height:1
}
.about-title em{color:var(--gold);font-weight:400}
.about-copy h2{
  margin:0 0 22px;font-size:clamp(2.4rem,4vw,4.2rem);
  line-height:1.05;letter-spacing:-.045em;color:var(--ink)
}
.about-copy p{font-size:1.07rem;color:#48535a}
.about-copy p strong{color:var(--ink)}
.text-link{display:inline-block;margin-top:16px;color:var(--ink);font-weight:850;text-decoration:none;border-bottom:1px solid var(--gold);padding-bottom:3px}

.authority{padding:70px 0;background:#efe8de;border-block:1px solid var(--line)}
.authority-grid{display:grid;grid-template-columns:1.3fr .65fr 1fr;gap:42px;align-items:end}
.authority-intro h2{font-size:2.35rem;line-height:1.05;letter-spacing:-.035em;margin:0;color:var(--ink)}
.fact{border-left:1px solid rgba(13,24,32,.16);padding-left:30px}
.fact strong{display:block;font-size:3.4rem;line-height:1;color:var(--ink);letter-spacing:-.05em}
.fact span{display:block;margin-top:10px;color:#59636a;font-size:.92rem}

.social{padding:100px 0;background:#fff}
.social-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:90px;align-items:start}
.social h2{
  margin:0;font-size:clamp(2.7rem,4.3vw,4.6rem);line-height:1.03;letter-spacing:-.05em;color:var(--ink)
}
.social-copy{font-size:1.05rem;color:#5e686f;max-width:520px;margin-top:24px}
.social-links{border-top:1px solid var(--line)}
.social-links a,.social-links .soon{
  min-height:82px;padding:18px 8px;
  display:grid;grid-template-columns:110px 1fr auto;align-items:center;gap:20px;
  border-bottom:1px solid var(--line);text-decoration:none
}
.social-links span{font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:#778088}
.social-links strong{color:var(--ink)}
.social-links b{font-size:1.3rem;color:var(--gold)}
.soon{opacity:.66}

footer{background:var(--ink);color:#fff;padding:38px 0}
.footer-grid{display:grid;grid-template-columns:1fr 1fr auto;gap:45px;align-items:center}
.footer-brand{display:flex;align-items:center;gap:18px}
.footer-je{font-family:Georgia,serif;font-size:3rem;line-height:1;color:var(--gold2);letter-spacing:-.11em}
.footer-brand div{display:flex;flex-direction:column}
.footer-brand strong{letter-spacing:.05em}
.footer-brand small{margin-top:4px;color:rgba(255,255,255,.5);font-size:.58rem;letter-spacing:.20em}
.footer-message{color:rgba(255,255,255,.68);font-family:Georgia,serif;font-style:italic}
.footer-meta{display:flex;flex-direction:column;text-align:right;font-size:.8rem;color:rgba(255,255,255,.55)}

@media(max-width:960px){
  .brand{width:285px}
  .menu-button{display:block}
  .nav{
    position:absolute;top:94px;left:20px;right:20px;padding:16px;
    flex-direction:column;align-items:stretch;gap:0;background:#fff;
    border:1px solid var(--line);box-shadow:0 18px 45px rgba(13,24,32,.12);
    opacity:0;pointer-events:none;transform:translateY(-8px);transition:.2s
  }
  .nav.open{opacity:1;pointer-events:auto;transform:none}
  .nav a{padding:12px}
  .nav-cta{text-align:center;margin-top:5px}
  .hero-grid{grid-template-columns:1fr;min-height:auto;gap:45px}
  .portrait-wrap{min-height:600px}
  .pillars-grid{grid-template-columns:1fr}
  .pillars article,.pillars article:first-child,.pillars article:last-child{padding:28px 0;border-right:0;border-bottom:1px solid var(--line)}
  .pillars article:last-child{border-bottom:0}
  .about-grid,.social-grid{grid-template-columns:1fr;gap:46px}
  .about-title{padding:0 0 38px;border-right:0;border-bottom:1px solid var(--line)}
  .authority-grid{grid-template-columns:1fr 1fr}
  .authority-intro{grid-column:1/-1}
  .footer-grid{grid-template-columns:1fr;text-align:center}
  .footer-brand{justify-content:center}
  .footer-meta{text-align:center}
}
@media(max-width:620px){
  :root{--shell:min(100% - 28px,1210px)}
  .header-inner{height:76px}
  .brand{width:245px;max-width:72vw}
  .brand img{height:auto;max-height:54px}
  .nav{top:76px}
  .hero-grid{padding-block:48px}
  .hero h1{font-size:clamp(3.1rem,14vw,4.45rem)}
  .lead{font-size:1rem}
  .hero-actions{display:grid}
  .portrait-wrap{min-height:455px;border-radius:2px 26px 2px 26px}
  .je-watermark{font-size:5.8rem}
  .kicker{font-size:.58rem;letter-spacing:.18em;gap:7px}
  .about{padding:78px 0}
  .authority-grid{grid-template-columns:1fr}
  .authority-intro{grid-column:auto}
  .fact{border-left:0;border-top:1px solid rgba(13,24,32,.16);padding:22px 0 0}
  .social{padding:78px 0}
  .social-links a,.social-links .soon{grid-template-columns:88px 1fr auto;gap:12px}
}

/* V2.1 — HEADER / LOGO CLEANUP */
.site-header .brand,
.site-header .brand img{
  background:transparent!important;
  border:0!important;
  outline:0!important;
  box-shadow:none!important;
}
.site-header .brand{
  overflow:visible;
  flex:0 0 auto;
}
@media (min-width:1200px){
  .site-header .brand{width:350px}
}

/* V2.3 — HERO REFINEMENT */
.hero h1 span{
  display:block;
}
.hero h1 strong{
  display:block;
  margin-bottom:.04em;
}
.hero-copy{
  padding-right:6px;
}
.portrait-caption small{
  font-size:.78rem;
}
@media (min-width:1200px){
  .hero h1{max-width:780px}
}
@media (max-width:960px){
  .hero-grid{padding-block:46px}
  .portrait-wrap{min-height:560px}
}
@media (max-width:620px){
  .hero h1{font-size:clamp(2.85rem,12.4vw,4rem)}
  .portrait-wrap{min-height:440px}
  .portrait-caption{left:20px;bottom:18px}
  .je-watermark{font-size:5.3rem;right:18px}
}


/* V2.4 — CIERRE VISUAL + REDES OFICIALES */
@media (min-width:961px){
  .hero h1 span{
    font-size:.71em;
    line-height:1.12;
    letter-spacing:-.045em;
    white-space:nowrap;
  }
  .hero h1 strong{
    margin-bottom:.08em;
  }
}
.fact-word strong{
  font-size:1.75rem;
  line-height:1.05;
  letter-spacing:-.035em;
  text-transform:none;
}
.social-links a{
  transition:background .18s ease, padding-left .18s ease;
}
.social-links a:hover{
  background:rgba(183,134,70,.055);
  padding-left:14px;
}
@media (max-width:620px){
  .social-links a{
    grid-template-columns:78px 1fr auto;
  }
  .social-links strong{
    font-size:.88rem;
    overflow-wrap:anywhere;
  }
}


/* =========================================================
   V2.5 — MOBILE-FIRST EXPERIENCE
   Prioridad: lectura, navegación, tacto y conversión móvil.
   Desktop V2.4 se conserva prácticamente intacto.
   ========================================================= */

section[id]{scroll-margin-top:92px}
.hero h1,.manifesto blockquote,.about-title,.about-copy h2,.social h2,.authority-intro h2{
  text-wrap:balance;
}
.button,.nav a,.social-links a,.menu-button{
  -webkit-tap-highlight-color:transparent;
}
.button:focus-visible,.nav a:focus-visible,.social-links a:focus-visible,.menu-button:focus-visible{
  outline:3px solid rgba(183,134,70,.45);
  outline-offset:3px;
}

/* El botón móvil ahora comunica claramente su función */
.menu-button{
  align-items:center;
  gap:8px;
  font:inherit;
  font-size:.82rem;
  font-weight:800;
  color:var(--ink);
}
.menu-button b{
  font-size:1rem;
  line-height:1;
  font-weight:700;
}

@media (max-width:760px){
  :root{
    --shell:min(100% - 32px,1210px);
  }

  /* HEADER */
  .site-header{
    backdrop-filter:blur(20px);
  }
  .header-inner{
    height:70px;
    gap:12px;
  }
  .brand{
    width:218px;
    max-width:68vw;
  }
  .brand img{
    max-height:48px;
  }
  .menu-button{
    display:flex;
    min-height:42px;
    padding:9px 12px;
    border-radius:12px;
    background:rgba(255,255,255,.72);
  }
  .nav{
    position:fixed;
    top:78px;
    left:16px;
    right:16px;
    width:auto;
    padding:10px;
    gap:2px;
    border-radius:16px;
    background:rgba(253,251,247,.98);
    box-shadow:0 20px 60px rgba(13,24,32,.18);
  }
  .nav a{
    min-height:48px;
    display:flex;
    align-items:center;
    padding:12px 14px;
    border-radius:10px;
    font-size:.98rem;
  }
  .nav-cta{
    justify-content:center;
    margin-top:5px;
  }

  /* HERO */
  .hero{
    background:
      radial-gradient(circle at 90% 7%,rgba(183,134,70,.11),transparent 28%),
      linear-gradient(165deg,#fbfaf7 0%,#f7f2eb 58%,#eee6dc 100%);
  }
  .hero-grid{
    grid-template-columns:1fr;
    gap:28px;
    padding-block:34px 38px;
  }
  .hero-copy{
    padding-right:0;
  }
  .kicker{
    margin-bottom:15px;
    font-size:.60rem;
    letter-spacing:.16em;
    gap:6px;
    flex-wrap:wrap;
  }
  .kicker i{
    width:4px;
    height:4px;
  }
  .hero h1{
    max-width:100%;
    font-size:clamp(2.85rem,12vw,4rem);
    line-height:.98;
    letter-spacing:-.052em;
  }
  .hero h1 strong{
    margin-bottom:.10em;
  }
  .hero h1 span{
    display:block;
    font-size:.76em;
    line-height:1.10;
    letter-spacing:-.042em;
  }
  .lead{
    margin-top:20px;
    max-width:100%;
    font-size:.98rem;
    line-height:1.58;
  }
  .hero-actions{
    display:grid;
    grid-template-columns:1fr;
    gap:10px;
    margin-top:24px;
  }
  .button{
    width:100%;
    min-height:50px;
    padding:12px 18px;
    border-radius:12px;
    font-size:.96rem;
  }

  /* La imagen sigue siendo protagonista, pero ya no obliga
     a un scroll excesivo antes de llegar al contenido. */
  .portrait-wrap{
    min-height:390px;
    border-radius:4px 24px 4px 24px;
    box-shadow:0 18px 44px rgba(13,24,32,.14);
  }
  .portrait{
    object-position:center 16%;
  }
  .gold-rule{
    right:18px;
    height:88px;
  }
  .je-watermark{
    top:18px;
    right:20px;
    font-size:4.8rem;
  }
  .portrait-caption{
    left:20px;
    bottom:18px;
  }
  .portrait-caption span{
    font-size:.98rem;
  }
  .portrait-caption small{
    font-size:.68rem;
  }

  /* PILARES: de tabla corporativa a tarjetas táctiles */
  .pillars{
    padding:16px 0 22px;
    background:#f7f3ed;
  }
  .pillars-grid{
    display:grid;
    grid-template-columns:1fr;
    gap:12px;
  }
  .pillars article,
  .pillars article:first-child,
  .pillars article:last-child{
    grid-template-columns:42px 1fr;
    gap:15px;
    padding:20px;
    border:1px solid rgba(13,24,32,.10);
    border-radius:16px;
    background:rgba(255,255,255,.82);
  }
  .n{
    width:40px;
    height:40px;
    font-size:.88rem;
  }
  .pillars strong{
    font-size:1rem;
  }
  .pillars p{
    font-size:.86rem;
  }

  /* MANIFIESTO */
  .manifesto-inner{
    padding:64px 0 66px;
  }
  .manifesto .kicker{
    justify-content:center;
    margin-bottom:20px;
  }
  .manifesto blockquote{
    max-width:94%;
    font-size:clamp(2.05rem,9vw,3.2rem);
    line-height:1.06;
    letter-spacing:-.04em;
  }
  .signature-line{
    margin-top:22px;
    font-size:1.25rem;
  }

  /* HISTORIA */
  .about{
    padding:64px 0 68px;
  }
  .about-grid{
    gap:34px;
  }
  .about-title{
    padding:0 0 28px;
    font-size:clamp(2.85rem,12vw,4.15rem);
  }
  .about-copy .kicker{
    margin-bottom:12px;
  }
  .about-copy h2{
    margin-bottom:18px;
    font-size:clamp(2.15rem,9vw,3rem);
  }
  .about-copy p{
    font-size:.98rem;
    line-height:1.65;
  }
  .text-link{
    min-height:44px;
    display:inline-flex;
    align-items:center;
  }

  /* AUTORIDAD */
  .authority{
    padding:56px 0;
  }
  .authority-grid{
    grid-template-columns:1fr;
    gap:16px;
    align-items:stretch;
  }
  .authority-intro{
    margin-bottom:6px;
  }
  .authority-intro h2{
    font-size:2.2rem;
  }
  .fact,
  .fact-word{
    border:1px solid rgba(13,24,32,.10);
    border-radius:14px;
    padding:20px;
    background:rgba(255,255,255,.32);
  }
  .fact strong{
    font-size:3rem;
  }
  .fact-word strong{
    font-size:1.65rem;
  }
  .fact span{
    margin-top:7px;
    line-height:1.5;
  }

  /* REDES: mejores targets táctiles */
  .social{
    padding:66px 0 70px;
  }
  .social-grid{
    gap:34px;
  }
  .social h2{
    font-size:clamp(2.7rem,11vw,3.65rem);
  }
  .social-copy{
    margin-top:18px;
    font-size:.98rem;
  }
  .social-links a{
    min-height:72px;
    grid-template-columns:74px minmax(0,1fr) auto;
    gap:10px;
    padding:14px 2px;
  }
  .social-links span{
    font-size:.66rem;
    letter-spacing:.11em;
  }
  .social-links strong{
    font-size:.87rem;
    overflow-wrap:anywhere;
  }
  .social-links b{
    font-size:1.15rem;
  }
  .social-links a:hover{
    padding-left:2px;
  }

  /* FOOTER */
  footer{
    padding:30px 0;
  }
  .footer-grid{
    gap:22px;
  }
  .footer-je{
    font-size:2.55rem;
  }
  .footer-message{
    max-width:320px;
    margin-inline:auto;
    font-size:.92rem;
  }
  .footer-meta{
    font-size:.74rem;
  }
}

@media (max-width:390px){
  :root{
    --shell:min(100% - 24px,1210px);
  }
  .brand{
    width:194px;
  }
  .menu-button span{
    display:none;
  }
  .menu-button{
    width:42px;
    justify-content:center;
    padding:8px;
  }
  .hero-grid{
    padding-top:28px;
  }
  .hero h1{
    font-size:2.72rem;
  }
  .portrait-wrap{
    min-height:350px;
  }
  .pillars article,
  .pillars article:first-child,
  .pillars article:last-child{
    padding:17px;
  }
  .social-links a{
    grid-template-columns:65px minmax(0,1fr) auto;
  }
}


/* =========================================================
   V2.6 — NARRATIVA DE MARCA + MI HISTORIA
   ========================================================= */

/* Home: introducción de pilares */
.pillars{
  padding:78px 0 0;
}
.pillars-head{
  max-width:790px;
  margin-bottom:48px;
}
.pillars-head h2{
  margin:0;
  color:var(--ink);
  font-size:clamp(2.35rem,3.8vw,4rem);
  line-height:1.05;
  letter-spacing:-.045em;
}
.pillars-head > p:last-child{
  max-width:680px;
  margin:18px 0 0;
  color:#667078;
  font-size:1.02rem;
}
.pillars h3{
  font-size:.8rem;
  letter-spacing:.16em;
  margin:0 0 7px;
  color:var(--ink);
}
.pillars article small{
  display:block;
  margin-top:12px;
  color:#8a795f;
  font-size:.72rem;
  line-height:1.5;
}
.pillars-grid{
  border-top:1px solid var(--line);
}

/* Home: historia con lectura editorial más cómoda */
.about-copy p{
  line-height:1.72;
}
.about-copy p + p{
  margin-top:15px;
}

/* Home: autoridad */
.authority{
  padding:82px 0;
}
.authority-intro-wide{
  max-width:830px;
  margin-bottom:42px;
}
.authority-intro-wide h2{
  max-width:800px;
  font-size:clamp(2.4rem,4vw,4.15rem);
  line-height:1.03;
}
.authority-intro-wide > p:last-child{
  max-width:760px;
  margin:20px 0 0;
  color:#5a646a;
  font-size:1.02rem;
  line-height:1.65;
}
.authority-cards{
  display:grid;
  grid-template-columns:.78fr 1.12fr 1.1fr;
  border-top:1px solid rgba(13,24,32,.16);
}
.authority-cards .fact{
  min-width:0;
  padding:30px 30px 6px;
  border-left:1px solid rgba(13,24,32,.16);
}
.authority-cards .fact:first-child{
  border-left:0;
  padding-left:0;
}
.authority-cards .fact strong{
  font-size:1.1rem;
  line-height:1.25;
  letter-spacing:.02em;
  color:var(--gold);
}
.authority-cards .fact:first-child strong{
  font-size:2.9rem;
  letter-spacing:-.045em;
  color:var(--ink);
}
.authority-cards .fact h3{
  margin:13px 0 10px;
  color:var(--ink);
  font-size:1.02rem;
  line-height:1.35;
}
.authority-cards .fact span{
  margin:0;
  line-height:1.55;
}

/* Home: Conectemos */
.contact{
  position:relative;
  overflow:hidden;
  color:#fff;
  text-align:center;
  background:
    radial-gradient(circle at 80% 25%,rgba(183,134,70,.22),transparent 26%),
    linear-gradient(120deg,#0a141b,#122530);
}
.contact-inner{
  max-width:980px;
  padding:92px 0 94px;
}
.contact .kicker{
  justify-content:center;
}
.contact h2{
  max-width:900px;
  margin:0 auto;
  font-size:clamp(2.7rem,5vw,5rem);
  line-height:1.03;
  letter-spacing:-.05em;
}
.contact p{
  max-width:720px;
  margin:24px auto 0;
  color:rgba(255,255,255,.68);
  font-size:1.05rem;
}
.contact-email{
  display:inline-flex;
  align-items:center;
  gap:12px;
  margin-top:34px;
  padding-bottom:5px;
  border-bottom:1px solid var(--gold2);
  color:#fff;
  font-size:clamp(1.15rem,2.3vw,1.6rem);
  font-weight:800;
  text-decoration:none;
}
.contact-email span{color:var(--gold2)}
.contact small{
  display:block;
  margin-top:20px;
  color:rgba(255,255,255,.46);
}
.footer-meta a{
  color:inherit;
  text-decoration:none;
}

/* =========================================================
   MI HISTORIA — página editorial
   ========================================================= */
.story-page{
  background:#fdfbf7;
}
.story-hero{
  border-bottom:1px solid var(--line);
  background:
    radial-gradient(circle at 84% 15%,rgba(183,134,70,.13),transparent 24%),
    linear-gradient(115deg,#fbfaf7 0%,#f3ece2 100%);
}
.story-hero-grid{
  min-height:620px;
  display:grid;
  grid-template-columns:1.1fr .9fr;
  gap:72px;
  align-items:center;
  padding-block:62px;
}
.story-hero h1{
  max-width:720px;
  margin:0;
  color:var(--ink);
  font-family:Georgia,serif;
  font-size:clamp(3.7rem,6.1vw,6.5rem);
  font-weight:400;
  line-height:.94;
  letter-spacing:-.055em;
}
.story-hero h1 em{
  color:var(--gold);
  font-weight:400;
}
.story-deck{
  max-width:650px;
  margin:30px 0 0;
  color:#4f5b62;
  font-size:1.24rem;
  line-height:1.55;
}
.story-portrait{
  position:relative;
  min-height:480px;
  overflow:hidden;
  border-radius:2px 34px 2px 34px;
  box-shadow:0 28px 65px rgba(13,24,32,.15);
}
.story-portrait img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center 16%;
}
.story-portrait::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,transparent 58%,rgba(13,24,32,.72));
}
.story-portrait div{
  position:absolute;
  z-index:2;
  left:26px;
  bottom:24px;
  display:flex;
  flex-direction:column;
  color:#fff;
}
.story-portrait strong{letter-spacing:.06em}
.story-portrait span{
  margin-top:3px;
  color:rgba(255,255,255,.68);
  font-size:.75rem;
  letter-spacing:.08em;
}

.story-body{
  padding:112px 0;
}
.story-shell{
  width:min(820px,calc(100% - 44px));
  margin-inline:auto;
}
.story-chapter{
  position:relative;
  padding:0 0 92px;
}
.story-chapter + .story-chapter{
  padding-top:92px;
  border-top:1px solid var(--line);
}
.chapter-no{
  display:block;
  margin-bottom:18px;
  color:var(--gold);
  font-size:.75rem;
  font-weight:900;
  letter-spacing:.18em;
}
.story-chapter h2{
  margin:0 0 28px;
  color:var(--ink);
  font-size:clamp(2.5rem,5vw,4.5rem);
  line-height:1.02;
  letter-spacing:-.047em;
}
.story-chapter p{
  margin:0 0 20px;
  color:#465159;
  font-family:Georgia,serif;
  font-size:1.18rem;
  line-height:1.82;
}
.story-chapter p strong{
  color:var(--ink);
}
.story-lead{
  color:var(--ink)!important;
  font-size:1.45rem!important;
}
.story-lines,.story-beliefs{
  display:grid;
  gap:8px;
  margin:28px 0 30px;
  padding:24px 0 24px 26px;
  border-left:2px solid var(--gold);
  color:var(--ink);
  font-family:Georgia,serif;
  font-size:1.15rem;
}
.story-quote{
  margin:0 0 96px;
  padding:56px 60px;
  color:#fff;
  text-align:center;
  background:var(--ink);
  border-radius:2px 28px 2px 28px;
}
.story-quote p{
  margin:0;
  font-family:Georgia,serif;
  font-size:clamp(2rem,4vw,3.4rem);
  line-height:1.08;
}
.story-question{
  margin:0 0 96px;
  padding:54px 52px;
  background:#efe8de;
  border:1px solid rgba(13,24,32,.10);
}
.story-question small{
  display:block;
  margin-bottom:22px;
  color:#7d705e;
  font-size:.72rem;
  font-weight:900;
  letter-spacing:.16em;
  text-transform:uppercase;
}
.story-question span,.story-question strong{
  display:block;
  font-family:Georgia,serif;
  font-size:clamp(1.9rem,4vw,3.3rem);
  line-height:1.12;
}
.story-question span{
  color:#7a8083;
  text-decoration:line-through;
  text-decoration-thickness:1px;
}
.story-question strong{
  margin-top:14px;
  color:var(--ink);
}
.story-three{
  display:flex;
  flex-wrap:wrap;
  gap:12px 26px;
  margin:26px 0;
  color:var(--ink);
  font-size:1.4rem;
}
.story-final{
  padding-bottom:0;
}
.story-close{
  padding:98px 0 104px;
  color:#fff;
  text-align:center;
  background:
    radial-gradient(circle at 82% 55%,rgba(183,134,70,.18),transparent 26%),
    linear-gradient(120deg,#0a141b,#122530);
}
.story-close > .shell{
  max-width:1000px;
}
.story-close p{
  max-width:900px;
  margin:0 auto;
  font-size:clamp(2.8rem,5.3vw,5.2rem);
  font-weight:800;
  line-height:1.04;
  letter-spacing:-.05em;
}
.story-close small{
  display:block;
  margin:26px auto 0;
  color:rgba(255,255,255,.62);
  font-size:1rem;
}
.story-close > .shell > div{
  display:flex;
  justify-content:center;
  flex-wrap:wrap;
  gap:10px 26px;
  margin-top:28px;
  color:#fff;
  font-size:1.2rem;
}
.light-button{
  display:flex;
  width:max-content;
  margin:34px auto 0;
  background:#fff;
  color:var(--ink);
}

@media (max-width:960px){
  .authority-cards{
    grid-template-columns:1fr;
    border-top:0;
    gap:12px;
  }
  .authority-cards .fact,
  .authority-cards .fact:first-child{
    padding:24px;
    border:1px solid rgba(13,24,32,.11);
    border-radius:14px;
    background:rgba(255,255,255,.34);
  }
  .story-hero-grid{
    grid-template-columns:1fr;
    min-height:auto;
    gap:38px;
  }
  .story-portrait{
    min-height:520px;
  }
}

@media (max-width:760px){
  .pillars{
    padding:58px 0 22px;
  }
  .pillars-head{
    margin-bottom:28px;
  }
  .pillars-head h2{
    font-size:2.35rem;
  }
  .pillars-head > p:last-child{
    margin-top:14px;
    font-size:.94rem;
  }
  .pillars-grid{
    border-top:0;
  }
  .pillars article small{
    font-size:.68rem;
  }

  .about-copy p{
    line-height:1.62;
  }

  .authority{
    padding:60px 0;
  }
  .authority-intro-wide{
    margin-bottom:26px;
  }
  .authority-intro-wide h2{
    font-size:2.3rem;
  }
  .authority-intro-wide > p:last-child{
    font-size:.94rem;
    line-height:1.58;
  }
  .authority-cards .fact,
  .authority-cards .fact:first-child{
    padding:19px;
  }
  .authority-cards .fact:first-child strong{
    font-size:2.35rem;
  }

  .contact-inner{
    padding:68px 0 72px;
  }
  .contact h2{
    font-size:2.6rem;
  }
  .contact p{
    font-size:.96rem;
    line-height:1.62;
  }
  .contact-email{
    margin-top:28px;
    font-size:1.02rem;
  }
  .contact small{
    max-width:290px;
    margin-inline:auto;
    line-height:1.5;
  }

  .story-hero-grid{
    padding-block:38px 42px;
    gap:28px;
  }
  .story-hero h1{
    font-size:clamp(3.1rem,14vw,4.35rem);
  }
  .story-deck{
    margin-top:20px;
    font-size:1.05rem;
  }
  .story-portrait{
    min-height:390px;
    border-radius:4px 24px 4px 24px;
  }
  .story-body{
    padding:68px 0 72px;
  }
  .story-shell{
    width:min(100% - 32px,820px);
  }
  .story-chapter{
    padding-bottom:58px;
  }
  .story-chapter + .story-chapter{
    padding-top:58px;
  }
  .story-chapter h2{
    margin-bottom:22px;
    font-size:2.55rem;
  }
  .story-chapter p{
    margin-bottom:17px;
    font-size:1.03rem;
    line-height:1.68;
  }
  .story-lead{
    font-size:1.2rem!important;
  }
  .story-lines,.story-beliefs{
    margin:24px 0 26px;
    padding:20px 0 20px 20px;
    font-size:1rem;
  }
  .story-quote{
    margin-bottom:62px;
    padding:42px 24px;
    border-radius:2px 20px 2px 20px;
  }
  .story-quote p{
    font-size:2rem;
  }
  .story-question{
    margin-bottom:62px;
    padding:36px 24px;
  }
  .story-question span,.story-question strong{
    font-size:2rem;
  }
  .story-close{
    padding:70px 0 74px;
  }
  .story-close p{
    font-size:2.5rem;
  }
  .story-close > .shell > div{
    display:grid;
    gap:5px;
    font-size:1rem;
  }
}

@media (max-width:390px){
  .story-hero h1{
    font-size:2.95rem;
  }
  .story-portrait{
    min-height:350px;
  }
  .story-chapter h2{
    font-size:2.3rem;
  }
}
\n\n/* V2.6.1 — PULIDO VISUAL FINAL */\n@media (max-width:760px){\n  .manifesto-inner{padding:54px 0 56px;}\n  .manifesto blockquote{max-width:92%;font-size:clamp(1.95rem,8.5vw,2.9rem);}\n  .about{padding:58px 0 60px;}\n  .about-grid{gap:26px;}\n  .about-title{padding-bottom:22px;font-size:clamp(2.7rem,11vw,3.85rem);}\n  .about-copy h2{margin-bottom:16px;font-size:clamp(2.05rem,8.5vw,2.8rem);}\n  .about-copy p{font-size:.97rem;line-height:1.58;}\n  .pillars article p{margin-top:8px;line-height:1.52;}\n  .pillars article small{margin-top:10px;line-height:1.45;}\n  .authority{padding:54px 0;}\n  .authority-intro-wide{margin-bottom:22px;}\n  .authority-intro-wide > p:last-child{margin-top:14px;}\n  .authority-cards{gap:10px;}\n  .authority-cards .fact,.authority-cards .fact:first-child{padding:17px 18px;}\n  .authority-cards .fact h3{margin:9px 0 7px;}\n  .story-hero-grid{padding-block:34px 36px;gap:22px;}\n  .story-portrait{min-height:335px;}\n  .story-body{padding:60px 0 64px;}\n  .story-chapter{padding-bottom:50px;}\n  .story-chapter + .story-chapter{padding-top:50px;}\n  .story-chapter p{color:#3f4a51;font-size:1.04rem;line-height:1.64;}\n  .story-quote{margin-bottom:54px;padding:38px 22px;}\n  .story-question{margin-bottom:54px;padding:32px 22px;}\n  .story-lines,.story-beliefs{margin:21px 0 23px;}\n}\n@media (max-width:390px){.story-portrait{min-height:315px;}}\n

/* =========================================================
   V2.6.3 — CIERRE VISUAL
   Navegación consistente + menú móvil modal.
   ========================================================= */

.nav a.active{
  color:var(--ink);
  position:relative;
}
.nav a.active::after{
  content:"";
  position:absolute;
  left:12px;
  right:12px;
  bottom:5px;
  height:1px;
  background:var(--gold);
}

.menu-backdrop{
  display:none;
}

@media (max-width:960px){
  body.menu-open{
    overflow:hidden;
    overscroll-behavior:none;
  }

  .menu-backdrop{
    display:block;
    position:fixed;
    inset:0;
    z-index:24;
    background:rgba(7,17,23,.42);
    backdrop-filter:blur(2px);
    -webkit-backdrop-filter:blur(2px);
    opacity:0;
    pointer-events:none;
    transition:opacity .20s ease;
  }

  .menu-backdrop.open{
    opacity:1;
    pointer-events:auto;
  }

  .site-header{
    z-index:30;
  }

  .nav{
    z-index:32;
  }

  .menu-button{
    position:relative;
    z-index:33;
  }

  .nav a.active{
    background:rgba(183,134,70,.08);
  }

  .nav a.active::after{
    left:14px;
    right:auto;
    width:34px;
    bottom:8px;
  }
}
