/* Memoria familiar: una pausa editorial entre El origen y La evolución. */
.js-family-story { box-sizing:border-box; width:100%; min-width:0; padding:5rem clamp(1.25rem,5vw,6rem); background:#f5f2eb; color:#11110f; font-family:Manrope,Arial,sans-serif; line-height:1.75; border-top:1px solid #cec9be; border-bottom:1px solid #cec9be; scroll-margin-top:90px; }
.js-family-story * { box-sizing:border-box; }
.js-family-layout { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:clamp(2.5rem,7vw,7rem); align-items:center; max-width:1200px; margin:0 auto; }
.js-family-figure { width:min(100%,335px); margin:0 auto; }
.js-family-figure img { display:block; width:100%; height:auto; aspect-ratio:1320/2342; object-fit:contain; }
.js-family-figure figcaption { margin-top:.85rem; font-size:.7rem; line-height:1.7; color:#555149; }
.js-family-copy { min-width:0; max-width:65ch; }
.js-family-copy .js-family-eyebrow { font-size:.67rem; font-weight:750; letter-spacing:.15em; text-transform:uppercase; color:#176e64; margin:0 0 1.6rem; }
.js-family-copy h2 { margin:0 0 1.8rem; font-family:'Bodoni Moda',Georgia,serif; font-size:clamp(2.6rem,4.8vw,4.8rem); font-weight:500; letter-spacing:-.045em; line-height:1.06; text-wrap:balance; }
.js-family-copy p { margin:0 0 1.25rem; color:#49463f; font-size:.96rem; line-height:1.8; }
.js-family-copy a { color:#176e64; text-decoration:underline; text-underline-offset:4px; }
.js-family-copy .js-family-link { display:inline-block; min-height:44px; padding:.65rem 0; font-size:.85rem; font-weight:700; }
.js-family-copy .js-family-next { display:block; width:fit-content; margin-top:.35rem; font-size:.78rem; font-weight:500; }
.js-family-story a:focus-visible { outline:3px solid #176e64; outline-offset:5px; }
.js-family-story:focus { outline:none; }
.js-family-story--about { margin:0; padding:5rem 0; background:transparent; border-bottom:0; }
.js-family-story--about .js-family-figure { width:min(100%,355px); }
.js-family-story--about h2 { font-size:clamp(2.4rem,4vw,4.1rem); }
.js-family-specialties { display:flex; flex-wrap:wrap; gap:.2rem 1.4rem; margin-top:.65rem; }
.js-mobile-menu nav .js-family-menu-link { padding-left:1.7rem; font-size:.78rem; color:#176e64; }
@media (max-width:760px) {
  .js-family-story { padding:3.5rem 1.25rem; scroll-margin-top:78px; }
  .js-family-layout { grid-template-columns:minmax(0,1fr); gap:2rem; }
  .js-family-figure,.js-family-story--about .js-family-figure { width:min(100%,230px); }
  .js-family-copy h2 { font-size:clamp(2.5rem,10.5vw,3.8rem); }
  .js-family-copy p { font-size:.92rem; }
  .js-family-story--about { padding:3.5rem 0; }
}
