/* Homepage: Nuestro equipo / En familia todo es más bonito */
.family-story{
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at 2% 8%,rgba(132,119,91,.08),transparent 20%),
    radial-gradient(circle at 96% 92%,rgba(132,119,91,.07),transparent 23%),
    #f8f4ed;
  color:#24231f;
}
.family-story::before,
.family-story::after{
  content:"";
  position:absolute;
  width:280px;
  height:280px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(156,141,112,.06),rgba(156,141,112,0) 70%);
  pointer-events:none;
}
.family-story::before{left:-100px;top:70px}.family-story::after{right:-90px;bottom:-80px}
.family-story__upper{
  display:grid;
  grid-template-columns:minmax(410px,.82fr) minmax(0,1.55fr);
  min-height:580px;
}
.family-story__copy{
  padding:70px clamp(34px,5.5vw,86px) 58px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  background:rgba(250,247,241,.95);
  z-index:2;
}
.family-story__eyebrow{
  display:flex;
  align-items:center;
  gap:18px;
  margin-bottom:25px;
  color:#9a866c;
  font-size:.72rem;
  font-weight:700;
  letter-spacing:.34em;
  text-transform:uppercase;
}
.family-story__eyebrow i{display:block;width:92px;height:1px;background:#a99579}
.family-story__copy h2{
  margin:0 0 12px;
  font-family:var(--serif);
  font-size:clamp(3.5rem,5.7vw,6.2rem);
  font-weight:500;
  line-height:.83;
  letter-spacing:-.035em;
}
.family-story__copy h2 em{
  display:block;
  margin-top:12px;
  font-weight:500;
  font-style:italic;
  font-size:.88em;
}
.family-story__kicker{
  margin:12px 0 22px!important;
  color:#9a866c!important;
  font-size:.72rem!important;
  font-weight:700;
  letter-spacing:.34em;
  text-transform:uppercase;
}
.family-story__copy>p:not(.family-story__kicker){
  max-width:48ch;
  margin:0 0 15px;
  color:#393833;
  font-size:clamp(.98rem,1.15vw,1.12rem);
  line-height:1.48;
}
.family-story__button{
  width:max-content;
  margin-top:10px;
  padding:15px 17px 15px 28px;
  display:inline-flex;
  align-items:center;
  gap:22px;
  border-radius:999px;
  background:#424a31;
  color:#fff!important;
  text-decoration:none;
  font-size:.92rem;
  transition:transform .25s ease,background .25s ease;
}
.family-story__button:hover,.family-story__button:focus-visible{transform:translateY(-2px);background:#333b26}
.family-story__button span{
  width:38px;height:38px;
  display:grid;place-items:center;
  border:1px solid rgba(255,255,255,.55);
  border-radius:50%;
  font-size:1.2rem;
}
.family-story__visual{position:relative;min-width:0;overflow:hidden;background:#1d1c18}
.family-story__visual>img{width:100%;height:100%;min-height:580px;object-fit:cover;object-position:center 44%;display:block}
.family-story__badge{
  position:absolute;
  right:18px;
  bottom:20px;
  width:158px;
  aspect-ratio:1;
  border:1px solid rgba(255,255,255,.82);
  border-radius:50%;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  color:#fff;
  text-align:center;
  text-shadow:0 1px 7px rgba(0,0,0,.35);
  backdrop-filter:blur(1px);
  transform:rotate(-5deg);
}
.family-story__badge span{
  font-size:.72rem;
  font-weight:700;
  letter-spacing:.18em;
  text-transform:uppercase;
}
.family-story__badge em{font-family:var(--serif);font-size:1.45rem;line-height:1;font-style:italic}
.family-story__badge em+em{margin-top:2px}.family-story__badge span:last-child{margin-top:7px;font-size:.62rem}
.family-story__lower{
  display:grid;
  grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);
  gap:clamp(34px,5vw,72px);
  padding:26px clamp(34px,5.5vw,86px) 56px;
  align-items:center;
}
.family-story__portrait{margin:0;overflow:hidden;border-radius:12px;background:#d7cec1;box-shadow:0 12px 30px rgba(62,50,39,.08)}
.family-story__portrait img{display:block;width:100%;aspect-ratio:1.62/1;object-fit:cover;object-position:center}
.family-story__values{min-width:0}
.family-story__values-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:20px;
  text-align:center;
}
.family-story__values-grid article{min-width:0}
.family-story__icon{
  width:76px;height:76px;
  margin:0 auto 12px;
  display:grid;place-items:center;
  border-radius:50%;
  background:#f0ebe2;
}
.family-story__icon img{width:48px;height:48px;object-fit:contain}
.family-story__values h3{
  margin:0 0 8px;
  font-family:var(--sans);
  font-size:.84rem;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.family-story__values-grid p{margin:0 auto;color:#4d4b45;font-size:.92rem;line-height:1.38;max-width:17ch}
.family-story__quote{
  position:relative;
  margin-top:40px;
  min-height:112px;
  padding:25px 75px 14px 100px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
}
.family-story__quote>span{
  position:absolute;
  left:0;top:50%;
  width:94px;height:1px;
  background:#aa9475;
}
.family-story__quote>img:not(.family-story__quote-leaf){width:min(100%,550px);height:auto;display:block}
.family-story__quote-leaf{position:absolute;right:18px;top:27px;width:52px;height:52px;object-fit:contain}
.family-story__quote small{margin-top:4px;font-size:.64rem;letter-spacing:.36em;text-transform:uppercase;color:#666057}
.family-story__decor{position:absolute;z-index:0;opacity:.045;pointer-events:none;filter:blur(.2px)}
.family-story__decor--a{width:310px;left:-130px;bottom:130px;transform:rotate(15deg)}
.family-story__decor--b{width:340px;right:-140px;top:90px;transform:rotate(-25deg)}
@media(max-width:1100px){
  .family-story__upper{grid-template-columns:minmax(360px,.9fr) minmax(0,1.1fr)}
  .family-story__copy{padding-left:42px;padding-right:42px}
  .family-story__lower{padding-left:42px;padding-right:42px;gap:34px}
  .family-story__values-grid{grid-template-columns:repeat(2,1fr);row-gap:30px}
}
@media(max-width:820px){
  .family-story__upper{grid-template-columns:1fr}
  .family-story__copy{padding:58px 24px 42px}
  .family-story__copy h2{font-size:clamp(3.2rem,13vw,5.1rem)}
  .family-story__visual>img{min-height:0;aspect-ratio:1.15/1;object-position:center 40%}
  .family-story__badge{width:132px;right:12px;bottom:12px}
  .family-story__badge em{font-size:1.2rem}
  .family-story__lower{grid-template-columns:1fr;padding:28px 20px 52px}
  .family-story__portrait{order:1}
  .family-story__values{order:2}
  .family-story__quote{padding-left:74px;padding-right:60px}
  .family-story__quote>span{width:62px}
}
@media(max-width:520px){
  .family-story__copy h2{font-size:clamp(3rem,15vw,4.2rem)}
  .family-story__eyebrow{letter-spacing:.25em}.family-story__eyebrow i{width:54px}
  .family-story__copy>p:not(.family-story__kicker){font-size:.95rem}
  .family-story__button{width:100%;justify-content:space-between;padding-left:22px}
  .family-story__visual>img{aspect-ratio:.98/1}
  .family-story__badge{width:112px}.family-story__badge span{font-size:.55rem}.family-story__badge em{font-size:1rem}
  .family-story__portrait img{aspect-ratio:1.35/1}
  .family-story__values-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 12px}
  .family-story__icon{width:66px;height:66px}.family-story__icon img{width:42px;height:42px}
  .family-story__values-grid p{font-size:.84rem}
  .family-story__quote{margin-top:28px;padding:18px 42px 8px;min-height:90px}
  .family-story__quote>span{display:none}.family-story__quote-leaf{right:0;top:18px;width:38px;height:38px}
  .family-story__quote small{font-size:.55rem;letter-spacing:.28em}
}
