/* División Real Estate & Legal · film dark alineado al hub */
.rel{
  min-height:100vh;
  color:var(--charcoal,#f2f3f4);
  background:#06080A;
}
[data-theme="light"] .rel{
  background:#eceae8;
  color:#1a1b1d;
}

/* Hero full-bleed · texto siempre blanco sobre film (como climb) */
.rel__hero{
  position:relative;
  isolation:isolate;
  min-height:min(100svh, 920px);
  display:flex;
  flex-direction:column;
  color:#fff;
  background:#06080A;
  overflow:hidden;
}
.rel__hero-media{
  position:absolute;inset:0;z-index:0;margin:0;
}
.rel__hero-media img{
  width:100%;height:100%;
  object-fit:cover;object-position:52% 42%;
  display:block;
  filter:contrast(1.06) brightness(.78) saturate(.55);
  transform:scale(1.04);
}
.rel__hero-scrim{
  position:absolute;inset:0;z-index:1;pointer-events:none;
  background:
    linear-gradient(90deg, rgba(6,8,10,.88) 0%, rgba(6,8,10,.55) 42%, rgba(6,8,10,.28) 68%, rgba(6,8,10,.45) 100%),
    linear-gradient(180deg, rgba(6,8,10,.55) 0%, transparent 28%, transparent 52%, rgba(6,8,10,.92) 100%);
}
.rel__hero-frame{
  position:absolute;inset:clamp(14px, 2vw, 22px);z-index:2;pointer-events:none;
}
.rel__hero-frame i{
  position:absolute;width:16px;height:16px;
  border:1px solid rgba(255,255,255,.38);
}
.rel__hero-frame i:nth-child(1){top:0;left:0;border-right:0;border-bottom:0}
.rel__hero-frame i:nth-child(2){top:0;right:0;border-left:0;border-bottom:0}
.rel__hero-frame i:nth-child(3){bottom:0;left:0;border-right:0;border-top:0}
.rel__hero-frame i:nth-child(4){bottom:0;right:0;border-left:0;border-top:0}

.rel__bar{
  position:relative;z-index:3;
  display:flex;align-items:center;justify-content:flex-end;
  width:min(1180px, 100% - 64px);
  margin:0 auto;
  padding:calc(22px + 52px) 0 18px;
}
.rel__back{
  display:inline-flex;align-items:center;min-height:40px;padding:0 14px;
  border:1px solid rgba(255,255,255,.28);
  color:#fff;text-decoration:none;
  font:650 11px/1 "Geist Sans",system-ui,sans-serif;
  letter-spacing:.1em;text-transform:uppercase;
  background:rgba(6,8,10,.28);
  backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);
  transition:border-color .25s ease, background .25s ease;
}
.rel__back:hover{
  border-color:rgba(255,255,255,.55);
  background:rgba(6,8,10,.45);
}

.rel__hero-copy{
  position:relative;z-index:3;
  width:min(1180px, 100% - 64px);
  margin:auto auto 0;
  padding:clamp(48px, 10vh, 96px) 0 clamp(40px, 7vh, 72px);
  display:grid;
  grid-template-columns:minmax(0, 1.4fr) minmax(200px, .7fr);
  gap:clamp(24px, 4vw, 48px);
  align-items:end;
}
.rel__kicker{
  margin:0 0 14px;
  font:650 12px/1 "Geist Sans",system-ui,sans-serif;
  letter-spacing:.22em;text-transform:uppercase;
  color:var(--orange,#FF6600);
}
.rel__kicker::before{
  content:"";display:block;width:48px;height:2px;
  background:var(--orange,#FF6600);margin-bottom:14px;
}
.rel__title{
  margin:0 0 16px;
  max-width:14em;
  font:650 clamp(36px, 5.6vw, 64px)/1.04 "Geist Sans",system-ui,sans-serif;
  letter-spacing:-.045em;
  color:#fff;
  text-wrap:balance;
}
.rel__lead{
  margin:0;
  max-width:46ch;
  font:400 clamp(15px, 1.35vw, 18px)/1.55 "Geist Sans",system-ui,sans-serif;
  color:rgba(255,255,255,.78);
}
.rel__hero-side{
  display:flex;flex-direction:column;align-items:flex-end;gap:16px;
  text-align:right;
  padding-bottom:6px;
}
.rel__badge{
  margin:0;
  font:650 12px/1 "Geist Sans",system-ui,sans-serif;
  letter-spacing:.18em;text-transform:uppercase;
  color:rgba(255,255,255,.55);
}
.rel__hero-cap{
  position:absolute;z-index:3;
  left:max(32px, calc((100% - min(1180px, 100% - 64px)) / 2));
  bottom:18px;
  margin:0;
  font:650 10px/1 "Geist Sans",system-ui,sans-serif;
  letter-spacing:.18em;text-transform:uppercase;
  color:rgba(255,255,255,.42);
}

.rel__in{
  width:min(1180px, 100% - 64px);
  margin:0 auto;
  padding:clamp(40px, 7vh, 72px) 0 clamp(72px, 10vh, 120px);
}

/* Placa visual expediente */
.rel__plate{
  position:relative;
  overflow:visible;
  display:grid;
  grid-template-columns:minmax(0, 1.15fr) minmax(0, .85fr);
  gap:clamp(24px, 4vw, 48px);
  align-items:stretch;
  margin-bottom:clamp(40px, 6vh, 72px);
  /* Aire para el watermark completo, sin que el filete del copy lo cruce */
  padding-top:clamp(76px, 9vh, 118px);
}
.rel__plate-mark{
  position:absolute;
  left:-1%;
  top:clamp(4px, .8vh, 10px);
  z-index:0;
  font-size:clamp(48px, 7.2vw, 92px);
  line-height:.86;
  color:rgba(242,243,244,.05);
}
[data-theme="light"] .rel__plate-mark{color:rgba(26,27,29,.06)}
.rel__plate-media{
  position:relative;z-index:1;margin:0;
  aspect-ratio:16 / 10;
  overflow:hidden;
  background:#0d1013;
}
.rel__plate-media img{
  width:100%;height:100%;object-fit:cover;display:block;
  filter:contrast(1.05) brightness(.92) saturate(.6);
}
.rel__plate-media::after{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(180deg, transparent 48%, rgba(6,8,10,.55) 100%);
}
.rel__plate-frame{
  position:absolute;inset:0;z-index:2;pointer-events:none;
}
.rel__plate-frame i{
  position:absolute;width:12px;height:12px;
  border:1px solid rgba(255,255,255,.4);
}
.rel__plate-frame i:nth-child(1){top:10px;left:10px;border-right:0;border-bottom:0}
.rel__plate-frame i:nth-child(2){top:10px;right:10px;border-left:0;border-bottom:0}
.rel__plate-frame i:nth-child(3){bottom:10px;left:10px;border-right:0;border-top:0}
.rel__plate-frame i:nth-child(4){bottom:10px;right:10px;border-left:0;border-top:0}
.rel__plate-copy{
  position:relative;z-index:1;
  overflow:visible;
  display:flex;flex-direction:column;justify-content:flex-end;
  gap:14px;
  padding:clamp(8px, 1.5vh, 16px) 0;
  border-top:1px solid rgba(255,255,255,.1);
}
[data-theme="light"] .rel__plate-copy{border-top-color:rgba(26,27,29,.1)}
.rel__plate-title,
.rel__firms-title,
.rel__aud-title{
  position:relative;z-index:1;
  margin:0;
  display:flex;flex-direction:column;align-items:flex-start;
  gap:clamp(10px, 1.4vh, 14px);
  font:650 clamp(24px, 3vw, 36px)/1.1em "Geist Sans",system-ui,sans-serif;
  letter-spacing:-.035em;
}
.rel__plate-title{max-width:min(100%, 14em);margin-bottom:0}
.rel__firms-title{max-width:min(100%, 18em);margin-bottom:clamp(10px, 1.4vh, 14px)}
.rel__plate-title::before,
.rel__firms-title::before,
.rel__aud-title::before{
  content:"";display:block;height:2px;background:var(--orange,#FF6600);
  width:0;
}
.rel__plate-title.is-shutter::before,
.rel__firms-title.is-shutter::before,
.rel__aud-title.is-shutter::before{
  animation:holdMarkDraw .55s cubic-bezier(.16,1,.3,1) forwards;
}
.rel__plate-title .hold__shutter-line,
.rel__firms-title .hold__shutter-line,
.rel__aud-title .hold__shutter-line{justify-content:flex-start;max-width:100%}
.rel__plate-title .hold__shutter-word,
.rel__firms-title .hold__shutter-word,
.rel__aud-title .hold__shutter-word{
  display:inline-flex;flex-wrap:nowrap;align-items:center;
}
.rel__plate-title .hold__shutter-line--lead,
.rel__firms-title .hold__shutter-line--lead,
.rel__aud-title .hold__shutter-line--lead{
  font:650 12px/1 "Geist Sans",system-ui,sans-serif;
  letter-spacing:.22em;text-transform:uppercase;
  color:var(--orange,#FF6600);
}
.rel__plate-title .hold__shutter-line--lead .hold__shutter-char,
.rel__firms-title .hold__shutter-line--lead .hold__shutter-char,
.rel__aud-title .hold__shutter-line--lead .hold__shutter-char{padding:.04em .045em .12em}
.rel__plate-title .hold__shutter-line--main,
.rel__firms-title .hold__shutter-line--main,
.rel__aud-title .hold__shutter-line--main{
  font:650 clamp(24px, 3vw, 40px)/1.1em "Geist Sans",system-ui,sans-serif;
  letter-spacing:-.035em;
  color:var(--charcoal,#f2f3f4);
  flex-wrap:wrap;max-width:100%;
  overflow:visible;row-gap:.08em;
}
.rel__plate-title .hold__shutter-line--main .hold__shutter-char,
.rel__firms-title .hold__shutter-line--main .hold__shutter-char,
.rel__aud-title .hold__shutter-line--main .hold__shutter-char{
  padding:.06em .012em .12em;
  line-height:1.1em;
}
.rel__plate-title.is-shutter .hold__shutter-base,
.rel__firms-title.is-shutter .hold__shutter-base,
.rel__aud-title.is-shutter .hold__shutter-base{
  opacity:0;filter:blur(10px);transform:translateY(16px);
  animation:holdShutterBase .55s cubic-bezier(.16,1,.3,1) forwards;
  animation-delay:calc(var(--i, 0) * 14ms + 40ms);
}
.rel__plate-title.is-shutter .hold__shutter-slice--top,
.rel__firms-title.is-shutter .hold__shutter-slice--top,
.rel__aud-title.is-shutter .hold__shutter-slice--top{
  animation:holdShutterSweepR .55s cubic-bezier(.4,0,.2,1) forwards;
  animation-delay:calc(var(--i, 0) * 14ms);
}
.rel__plate-title.is-shutter .hold__shutter-slice--mid,
.rel__firms-title.is-shutter .hold__shutter-slice--mid,
.rel__aud-title.is-shutter .hold__shutter-slice--mid{
  animation:holdShutterSweepL .55s cubic-bezier(.4,0,.2,1) forwards;
  animation-delay:calc(var(--i, 0) * 14ms + 40ms);
}
.rel__plate-title.is-shutter .hold__shutter-slice--bot,
.rel__firms-title.is-shutter .hold__shutter-slice--bot,
.rel__aud-title.is-shutter .hold__shutter-slice--bot{
  animation:holdShutterSweepR .55s cubic-bezier(.4,0,.2,1) forwards;
  animation-delay:calc(var(--i, 0) * 14ms + 80ms);
}
.rel__plate-text{
  position:relative;z-index:1;
  margin:0;max-width:36ch;
  font:400 15px/1.6 "Geist Sans",system-ui,sans-serif;
  color:rgba(242,243,244,.64);
  text-wrap:pretty;
}
[data-theme="light"] .rel__plate-text{color:rgba(26,27,29,.68)}

/* Storytelling 01/02/03 + still vertical */
.rel__story-wrap{
  display:grid;
  grid-template-columns:minmax(0, 1.55fr) minmax(180px, .45fr);
  gap:clamp(18px, 2.5vw, 28px);
  align-items:stretch;
  margin-bottom:clamp(40px, 6vh, 72px);
}
.rel__story{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:0;
  border-top:1px solid rgba(255,255,255,.1);
  border-bottom:1px solid rgba(255,255,255,.1);
  overflow:hidden;
}
[data-theme="light"] .rel__story{
  border-color:rgba(26,27,29,.1);
}
.rel__block{
  position:relative;
  display:flex;flex-direction:column;align-items:flex-start;gap:14px;
  min-width:0;
  padding:clamp(28px, 3.6vh, 40px) clamp(20px, 2.4vw, 32px) clamp(32px, 4vh, 44px);
  border-right:1px solid rgba(255,255,255,.1);
  isolation:isolate;
  transition:background .35s ease;
}
[data-theme="light"] .rel__block{border-right-color:rgba(26,27,29,.1)}
.rel__block:last-child{border-right:0}
.rel__block:hover{
  background:linear-gradient(180deg, rgba(255,102,0,.06), transparent 55%);
}
.rel__block-idx{
  position:absolute;
  top:clamp(10px, 1.4vh, 16px);
  right:clamp(8px, 1.2vw, 14px);
  z-index:0;margin:0;
  font:800 clamp(64px, 7vw, 96px)/.82 "Geist Sans",system-ui,sans-serif;
  letter-spacing:-.07em;
  color:rgba(255,255,255,.045);
  pointer-events:none;user-select:none;
}
[data-theme="light"] .rel__block-idx{color:rgba(26,27,29,.05)}
.rel__block-title{
  position:relative;z-index:1;margin:0;max-width:12ch;
  font:650 clamp(22px, 2.2vw, 30px)/1.12 "Geist Sans",system-ui,sans-serif;
  letter-spacing:-.035em;
}
.rel__block-title::after{
  content:"";display:block;width:36px;height:2px;
  margin-top:12px;background:var(--orange,#FF6600);
}
.rel__block-text{
  position:relative;z-index:1;margin:0;max-width:34ch;
  font:400 clamp(15px, 1.35vw, 17px)/1.62 "Geist Sans",system-ui,sans-serif;
  color:rgba(242,243,244,.64);
  text-wrap:pretty;
}
[data-theme="light"] .rel__block-text{color:rgba(26,27,29,.68)}

.rel__story-still{
  position:relative;margin:0;
  min-height:100%;
  overflow:hidden;
  background:#0d1013;
  border-top:1px solid rgba(255,255,255,.1);
  border-bottom:1px solid rgba(255,255,255,.1);
}
[data-theme="light"] .rel__story-still{border-color:rgba(26,27,29,.1)}
.rel__story-still img{
  width:100%;height:100%;object-fit:cover;display:block;
  filter:contrast(1.06) brightness(.9) saturate(.5);
}
.rel__story-still::after{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(180deg, rgba(6,8,10,.15), rgba(6,8,10,.55));
}

.rel__audience{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:clamp(28px, 4vw, 48px);
  margin-bottom:clamp(44px, 7vh, 80px);
}
.rel__aud{
  position:relative;
  container-type:inline-size;
  /* Contiene el mark: no sangra a la columna hermana */
  overflow:hidden;
  padding:clamp(44px, 5.5vh, 64px) 0 clamp(8px, 1.2vh, 16px);
  border-top:1px solid rgba(255,255,255,.1);
}
[data-theme="light"] .rel__aud{border-top-color:rgba(26,27,29,.1)}
.rel__aud .hub-mark{
  position:absolute;
  left:0;
  top:clamp(4px, .6vh, 8px);
  z-index:0;
  /* PARTICULAR cabe en ~1fr sin montarse con EMPRESA */
  font-size:clamp(36px, 12cqi, 68px);
  line-height:.86;
  max-width:100%;
  color:rgba(242,243,244,.045);
}
[data-theme="light"] .rel__aud .hub-mark{color:rgba(26,27,29,.055)}
.rel__aud-title{
  max-width:min(100%, 16em);
  margin-bottom:clamp(14px, 2vh, 20px);
}
.rel__aud-text{
  position:relative;z-index:1;
  margin:0;max-width:48ch;
  font:400 15px/1.6 "Geist Sans",system-ui,sans-serif;
  color:rgba(242,243,244,.68);
  text-wrap:pretty;
}
[data-theme="light"] .rel__aud-text{color:rgba(26,27,29,.68)}

.rel__firms{margin-bottom:clamp(28px, 4vh, 40px)}
.rel__firms-head{
  position:relative;
  overflow:visible;
  margin-bottom:clamp(20px, 3vh, 28px);
  padding-top:clamp(52px, 7vh, 84px);
}
.rel__firms-head .hub-mark{
  position:absolute;
  left:-2%;
  top:clamp(8px, 1.2vh, 16px);
  z-index:0;
  font-size:clamp(56px, 8vw, 104px);
  line-height:.84;
  color:rgba(242,243,244,.055);
}
[data-theme="light"] .rel__firms-head .hub-mark{color:rgba(26,27,29,.06)}
.rel__firms-head [data-rel-firms-lead]{
  position:relative;z-index:1;
  margin:0;max-width:48ch;
  font:400 15px/1.5 "Geist Sans",system-ui,sans-serif;
  color:rgba(242,243,244,.58);
}
[data-theme="light"] .rel__firms-head [data-rel-firms-lead]{color:rgba(26,27,29,.6)}
@media (prefers-reduced-motion: reduce){
  .rel__plate-title.is-shutter .hold__shutter-base,
  .rel__firms-title.is-shutter .hold__shutter-base,
  .rel__aud-title.is-shutter .hold__shutter-base,
  .rel__plate-title.is-shutter .hold__shutter-slice,
  .rel__firms-title.is-shutter .hold__shutter-slice,
  .rel__aud-title.is-shutter .hold__shutter-slice{
    animation:none!important;opacity:1!important;filter:none!important;transform:none!important;
  }
  .rel__plate-title.is-shutter .hold__shutter-slice,
  .rel__firms-title.is-shutter .hold__shutter-slice,
  .rel__aud-title.is-shutter .hold__shutter-slice{opacity:0!important}
  .rel__plate-title.is-shutter::before,
  .rel__firms-title.is-shutter::before,
  .rel__aud-title.is-shutter::before{width:48px}
}

.rel__proof{
  margin:0 0 clamp(28px, 4vh, 40px);
  max-width:42ch;
  padding-top:16px;
  border-top:1px solid rgba(255,102,0,.35);
  font:550 clamp(16px, 1.5vw, 19px)/1.45 "Geist Sans",system-ui,sans-serif;
  letter-spacing:-.015em;
}

.rel__cta-row{
  display:flex;flex-wrap:wrap;gap:14px 20px;align-items:center;
}
.rel__link{
  display:inline-flex;align-items:center;min-height:44px;
  color:inherit;text-decoration:none;
  font:650 11px/1 "Geist Sans",system-ui,sans-serif;
  letter-spacing:.12em;text-transform:uppercase;
  border-bottom:1px solid rgba(255,102,0,.55);
  padding-bottom:4px;
}
.rel__link:hover{border-bottom-color:var(--orange,#FF6600)}

@media (max-width:980px){
  .rel__bar,.rel__hero-copy,.rel__in{width:min(1180px, 100% - 40px)}
  .rel__hero{min-height:min(92svh, 860px)}
  .rel__hero-copy{grid-template-columns:1fr}
  .rel__hero-side{align-items:flex-start;text-align:left}
  .rel__hero-cap{left:20px}
  .rel__plate{grid-template-columns:1fr}
  .rel__story-wrap{grid-template-columns:1fr}
  .rel__story-still{aspect-ratio:16 / 10;min-height:0;border-top:0}
  .rel__story{grid-template-columns:1fr}
  .rel__block{
    border-right:0;
    border-bottom:1px solid rgba(255,255,255,.1);
    padding-left:0;padding-right:0;
  }
  .rel__block:last-child{border-bottom:0}
  [data-theme="light"] .rel__block{border-bottom-color:rgba(26,27,29,.1)}
  .rel__audience{grid-template-columns:1fr}
}
@media (max-width:560px){
  .rel__bar,.rel__hero-copy,.rel__in{width:min(1180px, 100% - 28px)}
  .rel__title{max-width:none;font-size:clamp(30px, 9vw, 40px)}
  .rel__hero-media img{object-position:60% 40%}
}
@media (prefers-reduced-motion: reduce){
  .rel__block{transition:none}
  .rel__hero-media img{transform:none}
}
