/* términos y condiciones — documento legal */
.main-box{background:#08211f;color:#e7f2f2;overflow-x:hidden}
.legal-box{max-width:1196.8px;margin:0 auto}

.legal-hero{padding:calc(68px + clamp(56px,6vw,88px)) 28.2px clamp(40px,4.4vw,60px);background-color:#07201e;background-image:linear-gradient(rgba(163,246,255,0.05) 1px,transparent 1px),linear-gradient(90deg,rgba(163,246,255,0.05) 1px,transparent 1px);background-size:88px 88px}
.legal-kicker{display:block;font-size:12.3px;font-weight:800;letter-spacing:0.22em;text-transform:uppercase;color:#A4F6FF;margin-bottom:16px}
.legal-title{font-family:'DM Sans';font-weight:800;font-size:clamp(32px,4.4vw,60px);line-height:1.02;letter-spacing:-0.035em;margin:0 0 18px;color:#ffffff;max-width:18ch;text-wrap:balance}
.legal-fecha{margin:0;font-size:15.4px;color:rgba(231,242,242,0.78)}

.legal-main{padding:clamp(48px,5vw,72px) 28.2px clamp(80px,8vw,112px);background-color:#e7f2f2;background-image:linear-gradient(rgba(6,17,15,0.028) 1px,transparent 1px),linear-gradient(90deg,rgba(6,17,15,0.028) 1px,transparent 1px);background-size:88px 88px;color:#06110f}
.legal-grid{display:grid;grid-template-columns:minmax(220px,0.3fr) minmax(0,1fr);gap:clamp(32px,4.4vw,72px);align-items:start}

.legal-toc{position:sticky;top:96px;max-height:calc(100vh - 120px);overflow-y:auto;padding-right:6px}
.legal-toc-label{display:block;font-size:12.3px;font-weight:800;letter-spacing:0.2em;text-transform:uppercase;color:#0e6361;margin-bottom:12px}
.legal-toc-list{display:flex;flex-direction:column}
.legal-toc-link{display:flex;gap:10px;align-items:baseline;padding:7px 0;font-size:14.6px;line-height:1.35;color:rgba(6,17,15,0.72);border-left:2px solid transparent;padding-left:10px}
.legal-toc-link:hover{color:#0e6361;border-left-color:#127c7a;padding-left:14px}
.legal-toc-num{flex:0 0 22px;font-weight:800;color:#0e6361;font-variant-numeric:tabular-nums}

.legal-doc{background:#ffffff;border-radius:20px;padding:clamp(28px,4vw,60px);box-shadow:0 0 0 1px rgba(6,17,15,0.06),0 18px 44px rgba(6,17,15,0.05);max-width:780px}
.legal-sec{scroll-margin-top:96px;padding-bottom:clamp(28px,3vw,40px);margin-bottom:clamp(28px,3vw,40px);border-bottom:1px solid rgba(6,17,15,0.1)}
.legal-sec:last-child{border-bottom:0;margin-bottom:0;padding-bottom:0}
.legal-h2{display:flex;gap:14px;align-items:baseline;font-family:'DM Sans';font-weight:800;font-size:clamp(20px,2vw,25px);line-height:1.2;letter-spacing:-0.02em;margin:0 0 16px;color:#06110f}
.legal-num{flex:0 0 auto;min-width:34px;height:34px;display:inline-flex;align-items:center;justify-content:center;border-radius:10px;background:#127c7a;color:#ffffff;font-size:15px;letter-spacing:0}
.legal-text{margin:0 0 14px;font-size:16.4px;line-height:1.68;color:rgba(6,17,15,0.78);text-wrap:pretty}
.legal-list{margin:0 0 16px;padding:0 0 0 20px;display:grid;gap:6px;font-size:16px;line-height:1.55;color:rgba(6,17,15,0.78)}
.legal-list li::marker{color:#127c7a}
.legal-list-2{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:28px}
.legal-datos{margin:0 0 16px;border-radius:14px;background:#f2f8f8;box-shadow:inset 0 0 0 1px rgba(18,124,122,0.18);padding:6px 20px}
.legal-dato{display:grid;grid-template-columns:minmax(140px,0.35fr) minmax(0,1fr);gap:14px;padding:12px 0;border-bottom:1px solid rgba(6,17,15,0.08)}
.legal-dato:last-child{border-bottom:0}
.legal-dato dt{font-size:13.2px;font-weight:800;letter-spacing:0.06em;text-transform:uppercase;color:#0e6361}
.legal-dato dd{margin:0;font-size:16px;line-height:1.5;color:#06110f}
.legal-link{color:#0e6361;font-weight:600;text-decoration-line:underline;text-decoration-color:rgba(18,124,122,0.35);text-underline-offset:3px}
.legal-link:hover{color:#127c7a;text-decoration-color:#127c7a}

@media (max-width: 960px) {
  .legal-grid { grid-template-columns: 1fr; }
  .legal-toc { position: static; max-height: none; background: #ffffff; border-radius: 16px; padding: 20px 22px; box-shadow: 0 0 0 1px rgba(6,17,15,0.06); }
  .legal-toc-list { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); column-gap: 18px; }
  .legal-doc { max-width: none; }
}
@media (max-width: 720px) {
  .legal-hero { padding-left: 18px; padding-right: 18px; }
  .legal-main { padding: 32px 14px 60px; }
  .legal-doc { padding: 24px 20px; border-radius: 16px; }
  .legal-toc-list { grid-template-columns: 1fr; }
  .legal-toc-link { min-height: 44px; align-items: center; padding-top: 4px; padding-bottom: 4px; }
  .legal-list-2 { grid-template-columns: 1fr; }
  .legal-dato { grid-template-columns: 1fr; gap: 4px; }
}
