/* ==========================================================
   RUPTLINE_PUBLIC_CORE_R17
   Lenguaje editorial para nuevas páginas CORE públicas.
   ========================================================== */

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

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

.rl-core-r17__hero{
  padding:92px 0 106px;
}

.rl-core-r17__eyebrow{
  display:block;
  margin:0 0 16px;
  color:var(--r17-accent);
  font-size:10px;
  line-height:1;
  font-weight:650;
  letter-spacing:.16em;
}

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

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

.rl-core-r17__index{
  display:flex;
  flex-wrap:wrap;
  gap:22px;
  margin-top:36px;
}

.rl-core-r17__index a{
  color:#c9cbd2;
  font-size:12px;
  font-weight:520;
  text-decoration:none;
}

.rl-core-r17__index a:hover{
  color:#fff;
}

/* Capacidades */
.rl-cap-r17__section{
  padding:84px 0 94px;
  border-top:1px solid var(--r17-line);
  scroll-margin-top:100px;
}

.rl-cap-r17__grid{
  display:grid;
  grid-template-columns:180px minmax(0,1fr);
  gap:56px;
  align-items:start;
}

.rl-cap-r17__meta{
  display:grid;
  gap:8px;
  padding-top:5px;
}

.rl-cap-r17__meta span{
  color:var(--r17-muted);
  font-size:10px;
  letter-spacing:.12em;
}

.rl-cap-r17__meta strong{
  color:var(--r17-text);
  font-size:13px;
  font-weight:560;
}

.rl-cap-r17__content{
  max-width:780px;
}

.rl-cap-r17__content h2,
.rl-cap-r17__ai h2,
.rl-core-r17__cta h2,
.rl-business-r17__head h2,
.rl-business-r17__principle h2{
  margin:0;
  color:var(--r17-text);
  font-size:clamp(27px,2.55vw,38px);
  line-height:1.08;
  font-weight:500;
  letter-spacing:-.035em;
  text-wrap:balance;
}

.rl-cap-r17__content > p{
  max-width:680px;
  margin:22px 0 0;
  color:var(--r17-soft);
  font-size:14px;
  line-height:1.75;
}

.rl-cap-r17__tokens{
  display:flex;
  flex-wrap:wrap;
  gap:0;
  margin-top:28px;
  border-top:1px solid var(--r17-line);
  border-bottom:1px solid var(--r17-line);
}

.rl-cap-r17__tokens span{
  padding:10px 18px 10px 0;
  margin-right:18px;
  color:#aeb3bd;
  font-size:10px;
  font-weight:520;
  letter-spacing:.02em;
}

.rl-cap-r17__example{
  display:grid;
  grid-template-columns:90px minmax(0,1fr);
  gap:16px;
  align-items:start;
  margin-top:30px;
}

.rl-cap-r17__example small{
  padding-top:4px;
  color:var(--r17-accent);
  font-size:9px;
  font-weight:650;
  letter-spacing:.13em;
}

.rl-cap-r17__example p{
  margin:0;
  color:var(--r17-text);
  font-size:15px;
  line-height:1.5;
}

.rl-cap-r17__text-link{
  display:inline-flex;
  gap:8px;
  margin-top:26px;
  color:var(--r17-text);
  font-size:11px;
  font-weight:540;
  text-decoration:none;
}

.rl-cap-r17__ai{
  padding:98px 0 108px;
  border-top:1px solid var(--r17-line);
}

.rl-cap-r17__ai-grid{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,.9fr);
  gap:90px;
  align-items:start;
}

.rl-cap-r17__ai-grid > div > p{
  max-width:560px;
  margin:0;
  color:var(--r17-soft);
  font-size:14px;
  line-height:1.75;
}

.rl-cap-r17__ai-flow{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:12px;
  margin-top:30px;
  padding-top:22px;
  border-top:1px solid var(--r17-line);
}

.rl-cap-r17__ai-flow span{
  color:var(--r17-text);
  font-size:12px;
  font-weight:540;
}

.rl-cap-r17__ai-flow i{
  color:var(--r17-muted);
  font-style:normal;
}

/* Para negocios */
.rl-business-r17__audiences{
  padding:88px 0 104px;
  border-top:1px solid var(--r17-line);
}

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

.rl-business-r17__head > span{
  margin-top:8px;
  color:var(--r17-accent);
  font-size:10px;
  font-weight:650;
  letter-spacing:.16em;
}

.rl-business-r17__head h2{
  max-width:620px;
}

.rl-business-r17__rows{
  border-top:1px solid var(--r17-line);
}

.rl-business-r17__row{
  display:grid;
  grid-template-columns:46px minmax(250px,.88fr) minmax(0,1.12fr);
  gap:24px;
  align-items:start;
  padding:30px 0;
  border-bottom:1px solid var(--r17-line);
}

.rl-business-r17__index{
  color:var(--r17-muted);
  font-size:10px;
  letter-spacing:.12em;
}

.rl-business-r17__name small{
  display:block;
  margin-bottom:8px;
  color:var(--r17-accent);
  font-size:9px;
  font-weight:650;
  letter-spacing:.12em;
}

.rl-business-r17__name h3{
  max-width:420px;
  margin:0;
  color:var(--r17-text);
  font-size:17px;
  line-height:1.25;
  font-weight:540;
}

.rl-business-r17__row > p{
  max-width:560px;
  margin:0;
  color:var(--r17-soft);
  font-size:13px;
  line-height:1.7;
}

.rl-business-r17__principle{
  padding:86px 0 96px;
  border-top:1px solid var(--r17-line);
}

.rl-business-r17__principle-grid{
  display:grid;
  grid-template-columns:180px minmax(0,.9fr) minmax(0,1.1fr);
  gap:34px;
  align-items:start;
}

.rl-business-r17__principle-grid > .rl-core-r17__eyebrow{
  margin-top:7px;
}

.rl-business-r17__principle p{
  max-width:560px;
  margin:0;
  color:var(--r17-soft);
  font-size:13px;
  line-height:1.72;
}

/* CTA compartido */
.rl-core-r17__cta{
  padding:80px 0 96px;
  border-top:1px solid var(--r17-line);
}

.rl-core-r17__cta-inner{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:50px;
  align-items:end;
}

.rl-core-r17__cta h2{
  max-width:760px;
}

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

.rl-business-r17__actions{
  display:flex;
  flex-wrap:wrap;
  justify-content:flex-end;
  gap:20px;
}

/* Light */
html[data-theme="light"] .rl-core-r17,
html[data-ally-theme="light"] .rl-core-r17{
  --r17-line:rgba(20,23,35,.10);
  --r17-soft:#69717f;
  --r17-text:#171920;
  --r17-muted:#8a909b;
}

html[data-theme="light"] .rl-core-r17__index a,
html[data-ally-theme="light"] .rl-core-r17__index a{
  color:#4f5663;
}

html[data-theme="light"] .rl-cap-r17__tokens span,
html[data-ally-theme="light"] .rl-cap-r17__tokens span{
  color:#656d79;
}

/* Responsive */
@media(max-width:900px){
  .rl-core-r17{
    padding-top:76px;
  }

  .rl-core-r17__hero{
    padding:72px 0 82px;
  }

  .rl-cap-r17__grid,
  .rl-cap-r17__ai-grid,
  .rl-business-r17__head,
  .rl-business-r17__principle-grid{
    grid-template-columns:1fr;
    gap:28px;
  }

  .rl-business-r17__row{
    grid-template-columns:36px minmax(210px,.9fr) minmax(0,1.1fr);
  }
}

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

  .rl-core-r17{
    padding-top:68px;
  }

  .rl-core-r17__hero{
    padding:54px 0 66px;
  }

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

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

  .rl-core-r17__index{
    gap:15px 18px;
    margin-top:28px;
  }

  .rl-cap-r17__section,
  .rl-cap-r17__ai,
  .rl-business-r17__audiences,
  .rl-business-r17__principle,
  .rl-core-r17__cta{
    padding-top:62px;
    padding-bottom:72px;
  }

  .rl-cap-r17__grid{
    gap:20px;
  }

  .rl-cap-r17__meta{
    display:flex;
    gap:14px;
    align-items:center;
  }

  .rl-cap-r17__content > p{
    font-size:13px;
  }

  .rl-cap-r17__example{
    grid-template-columns:1fr;
    gap:8px;
  }

  .rl-business-r17__head{
    margin-bottom:34px;
  }

  .rl-business-r17__row{
    grid-template-columns:30px minmax(0,1fr);
    gap:12px 14px;
    padding:24px 0;
  }

  .rl-business-r17__row > p{
    grid-column:2;
    font-size:12px;
  }

  .rl-business-r17__principle-grid{
    gap:20px;
  }

  .rl-core-r17__cta-inner{
    grid-template-columns:1fr;
    gap:28px;
  }

  .rl-business-r17__actions{
    justify-content:flex-start;
  }
}
