/* ==========================================================
   RUPTLINE_AEO_EDITORIAL_R15
   Lenguaje visual premium/abierto coherente con R13/R14.
   ========================================================== */

.rl-aeo-r15{
  --aeo-max:1180px;
  --aeo-line:rgba(255,255,255,.09);
  --aeo-soft:#8d93a0;
  --aeo-text:#f1f2f4;
  --aeo-accent:#8f73ff;
  padding-top:84px;
  overflow:hidden;
}

.rl-aeo-r15__wrap{
  width:min(calc(100% - 44px),var(--aeo-max));
  margin:0 auto;
}

.rl-aeo-r15__hero{
  padding:92px 0 104px;
}

.rl-aeo-r15__eyebrow,
.rl-aeo-r15__head > span,
.rl-aeo-r15__principle-inner > span{
  display:block;
  margin:0 0 16px;
  color:var(--aeo-accent);
  font-size:10px;
  line-height:1;
  font-weight:650;
  letter-spacing:.16em;
}

.rl-aeo-r15__hero h1{
  max-width:900px;
  margin:0;
  color:var(--aeo-text);
  font-size:clamp(38px,4.3vw,62px);
  line-height:1.02;
  font-weight:520;
  letter-spacing:-.045em;
  text-wrap:balance;
}

.rl-aeo-r15__lead{
  max-width:690px;
  margin:28px 0 0;
  color:var(--aeo-soft);
  font-size:clamp(15px,1.15vw,18px);
  line-height:1.72;
}

.rl-aeo-r15__services,
.rl-aeo-r15__principle{
  border-top:1px solid var(--aeo-line);
}

.rl-aeo-r15__services{
  padding:88px 0 104px;
}

.rl-aeo-r15__head{
  display:grid;
  grid-template-columns:180px minmax(0,1fr);
  gap:34px;
  align-items:start;
  margin-bottom:52px;
}

.rl-aeo-r15__head > span{
  margin-top:8px;
}

.rl-aeo-r15__head h2{
  max-width:670px;
  margin:0;
  color:var(--aeo-text);
  font-size:clamp(27px,2.55vw,38px);
  line-height:1.08;
  font-weight:500;
  letter-spacing:-.035em;
  text-wrap:balance;
}

.rl-aeo-r15__rows{
  border-top:1px solid var(--aeo-line);
}

.rl-aeo-r15__row{
  display:grid;
  grid-template-columns:46px minmax(220px,.82fr) minmax(0,1.18fr) 28px;
  gap:24px;
  align-items:center;
  min-height:124px;
  padding:24px 0;
  border-bottom:1px solid var(--aeo-line);
  color:inherit;
  text-decoration:none;
  transition:padding .18s ease,background .18s ease;
}

.rl-aeo-r15__row:hover{
  padding-left:10px;
  padding-right:10px;
  background:rgba(255,255,255,.018);
}

.rl-aeo-r15__index{
  color:#666d79;
  font-size:10px;
  letter-spacing:.12em;
}

.rl-aeo-r15__name small{
  display:block;
  margin-bottom:6px;
  color:#7d8491;
  font-size:9px;
  font-weight:600;
  letter-spacing:.11em;
}

.rl-aeo-r15__name strong{
  display:block;
  max-width:300px;
  color:var(--aeo-text);
  font-size:18px;
  line-height:1.15;
  font-weight:540;
}

.rl-aeo-r15__row p{
  max-width:560px;
  margin:0;
  color:var(--aeo-soft);
  font-size:13px;
  line-height:1.62;
}

.rl-aeo-r15__arrow{
  color:#696f7a;
  font-size:16px;
  text-align:right;
  transition:transform .18s ease,color .18s ease;
}

.rl-aeo-r15__row:hover .rl-aeo-r15__arrow{
  color:var(--aeo-text);
  transform:translateX(3px);
}

.rl-aeo-r15__principle{
  padding:72px 0 92px;
}

.rl-aeo-r15__principle-inner{
  display:grid;
  grid-template-columns:180px minmax(0,1fr) auto;
  gap:34px;
  align-items:start;
}

.rl-aeo-r15__principle-inner > span{
  margin-top:4px;
}

.rl-aeo-r15__principle p{
  max-width:650px;
  margin:0;
  color:var(--aeo-soft);
  font-size:13px;
  line-height:1.7;
}

.rl-aeo-r15__principle a{
  display:inline-flex;
  align-items:center;
  gap:9px;
  color:var(--aeo-text);
  font-size:12px;
  font-weight:540;
  text-decoration:none;
  white-space:nowrap;
}

.rl-aeo-r15__principle a span{
  transition:transform .18s ease;
}

.rl-aeo-r15__principle a:hover span{
  transform:translateX(3px);
}

html[data-theme="light"] .rl-aeo-r15,
html[data-ally-theme="light"] .rl-aeo-r15{
  --aeo-line:rgba(20,23,35,.10);
  --aeo-soft:#69717f;
  --aeo-text:#171920;
}

html[data-theme="light"] .rl-aeo-r15__row:hover,
html[data-ally-theme="light"] .rl-aeo-r15__row:hover{
  background:rgba(20,23,35,.025);
}

@media(max-width:900px){
  .rl-aeo-r15{
    padding-top:76px;
  }

  .rl-aeo-r15__hero{
    padding:72px 0 82px;
  }

  .rl-aeo-r15__head{
    grid-template-columns:1fr;
    gap:12px;
  }

  .rl-aeo-r15__head > span{
    margin-top:0;
  }

  .rl-aeo-r15__row{
    grid-template-columns:36px minmax(190px,.85fr) minmax(0,1.15fr) 22px;
    gap:18px;
  }

  .rl-aeo-r15__principle-inner{
    grid-template-columns:1fr;
    gap:18px;
  }
}

@media(max-width:640px){
  .rl-aeo-r15__wrap{
    width:min(calc(100% - 30px),var(--aeo-max));
  }

  .rl-aeo-r15{
    padding-top:68px;
  }

  .rl-aeo-r15__hero{
    padding:54px 0 66px;
  }

  .rl-aeo-r15__hero h1{
    font-size:clamp(33px,10vw,43px);
    line-height:1.04;
  }

  .rl-aeo-r15__lead{
    margin-top:20px;
    font-size:15px;
    line-height:1.66;
  }

  .rl-aeo-r15__services{
    padding:62px 0 72px;
  }

  .rl-aeo-r15__head{
    margin-bottom:34px;
  }

  .rl-aeo-r15__row{
    grid-template-columns:30px minmax(0,1fr) 20px;
    gap:14px;
    min-height:0;
    padding:20px 0;
  }

  .rl-aeo-r15__row p{
    grid-column:2 / -1;
    padding-right:26px;
    font-size:12px;
  }

  .rl-aeo-r15__arrow{
    grid-column:3;
    grid-row:1;
  }

  .rl-aeo-r15__principle{
    padding:58px 0 68px;
  }
}
