/* LYN Términos y condiciones — estilos aislados bajo .lyn-tyc */
.lyn-tyc{
  --tyc-blue:#003187; --tyc-blue-soft:#e8eef9; --tyc-orange:#ffa500;
  --tyc-ink:#1f2128; --tyc-text:#353740; --tyc-muted:#6b6e78; --tyc-line:#e3e5ea; --tyc-bg:#ffffff; --tyc-panel:#f6f7f9;
  box-sizing:border-box; color:var(--tyc-text); background:var(--tyc-bg);
  font-size:16px; line-height:1.7; max-width:1180px; margin:0 auto; padding:0 20px 64px;
  -webkit-font-smoothing:antialiased; text-align:left;
}
.lyn-tyc *,.lyn-tyc *::before,.lyn-tyc *::after{box-sizing:border-box}
.lyn-tyc a{color:var(--tyc-blue); text-decoration:underline; text-decoration-color:rgba(0,49,135,.3); text-underline-offset:3px; overflow-wrap:anywhere}
.lyn-tyc a:hover{text-decoration-color:var(--tyc-blue)}

/* Encabezado */
.lyn-tyc-hero{padding:56px 0 32px; border-bottom:1px solid var(--tyc-line); margin-bottom:40px}
.lyn-tyc-eyebrow{margin:0 0 12px; font-size:13px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:var(--tyc-blue)}
.lyn-tyc-eyebrow::before{content:""; display:inline-block; width:22px; height:3px; background:var(--tyc-orange); vertical-align:middle; margin-right:10px; border-radius:2px}
.lyn-tyc h1{margin:0 0 12px; font-size:clamp(28px,4.2vw,44px); line-height:1.15; font-weight:800; color:var(--tyc-ink); letter-spacing:-.01em; max-width:820px}
.lyn-tyc-company{margin:0 0 20px; color:var(--tyc-muted); font-size:15px}
.lyn-tyc-meta{display:flex; flex-wrap:wrap; align-items:center; gap:10px 16px; font-size:14px; color:var(--tyc-muted)}
.lyn-tyc-chip{background:var(--tyc-blue); color:#fff; font-weight:700; padding:4px 12px; border-radius:999px; font-size:13px}
.lyn-tyc-print{margin-left:auto; cursor:pointer; font:inherit; font-size:14px; font-weight:600; color:var(--tyc-blue); background:#fff; border:1.5px solid var(--tyc-blue); border-radius:8px; padding:8px 14px; transition:background .15s,color .15s}
.lyn-tyc-print:hover{background:var(--tyc-blue); color:#fff}

/* Distribución */
.lyn-tyc-layout{display:grid; grid-template-columns:270px minmax(0,1fr); gap:56px; align-items:start}

/* Índice */
.lyn-tyc-toc{position:sticky; top:110px; max-height:calc(100vh - 130px); overflow:auto; font-size:14px; line-height:1.4}
.lyn-tyc-toc summary{list-style:none; font-size:12px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--tyc-muted); margin-bottom:12px; cursor:default}
.lyn-tyc-toc summary::-webkit-details-marker{display:none}
.lyn-tyc-toc ol{list-style:none; margin:0; padding:0; border-left:2px solid var(--tyc-line)}
.lyn-tyc-toc li{margin:0}
.lyn-tyc-toc a{display:flex; gap:8px; padding:7px 12px; margin-left:-2px; border-left:2px solid transparent; color:var(--tyc-text); text-decoration:none}
.lyn-tyc-toc a span{color:var(--tyc-muted); min-width:22px; font-variant-numeric:tabular-nums}
.lyn-tyc-toc a:hover{color:var(--tyc-blue); background:var(--tyc-panel)}
.lyn-tyc-toc a.is-active{color:var(--tyc-blue); font-weight:700; border-left-color:var(--tyc-orange); background:var(--tyc-blue-soft)}
.lyn-tyc-toc a.is-active span{color:var(--tyc-blue)}

/* Cuerpo */
.lyn-tyc-body{max-width:760px; min-width:0}
.lyn-tyc-intro{font-size:17px; color:var(--tyc-ink); background:var(--tyc-panel); border-left:4px solid var(--tyc-blue); border-radius:0 10px 10px 0; padding:18px 22px; margin:0 0 40px}
.lyn-tyc-sec{padding-top:8px; margin-bottom:40px}
.lyn-tyc h2{font-size:24px; line-height:1.3; font-weight:800; color:var(--tyc-ink); margin:0 0 18px; padding-bottom:12px; border-bottom:1px solid var(--tyc-line)}
.lyn-tyc h3{font-size:17px; line-height:1.4; font-weight:700; color:var(--tyc-ink); margin:28px 0 10px}
.lyn-tyc-num{color:var(--tyc-blue); font-variant-numeric:tabular-nums}
.lyn-tyc h2,.lyn-tyc h3{scroll-margin-top:110px}
.lyn-tyc p{margin:0 0 14px}
.lyn-tyc strong{color:var(--tyc-ink)}
.lyn-tyc a.lyn-tyc-ref{font-weight:600; text-decoration:none; background:var(--tyc-blue-soft); padding:0 5px; border-radius:4px}
.lyn-tyc a.lyn-tyc-ref:hover{background:var(--tyc-blue); color:#fff}
.lyn-tyc :target{animation:lynTycFlash 1.6s ease-out}
@keyframes lynTycFlash{0%{background:rgba(255,165,0,.28)}100%{background:transparent}}
.lyn-tyc-end{margin-top:48px; padding:22px 24px; border:1px solid var(--tyc-line); border-radius:12px; font-size:15px}
.lyn-tyc-end p{margin:0}

.lyn-tyc-totop{position:fixed; right:20px; bottom:20px; width:44px; height:44px; display:grid; place-items:center; border-radius:50%; background:var(--tyc-blue); color:#fff!important; text-decoration:none!important; font-size:20px; box-shadow:0 6px 18px rgba(0,49,135,.25); opacity:0; pointer-events:none; transition:opacity .2s; z-index:50}
.lyn-tyc-totop.is-visible{opacity:1; pointer-events:auto}

/* Tablet y móvil */
@media (max-width:960px){
  .lyn-tyc{padding:0 16px 56px}
  .lyn-tyc-hero{padding:36px 0 24px; margin-bottom:24px}
  .lyn-tyc-layout{grid-template-columns:1fr; gap:24px}
  .lyn-tyc-toc{position:static; max-height:none; background:var(--tyc-panel); border-radius:12px; padding:14px 16px}
  .lyn-tyc-toc summary{cursor:pointer; margin:0; display:flex; justify-content:space-between; align-items:center; font-size:13px}
  .lyn-tyc-toc summary::after{content:"+"; font-size:18px; color:var(--tyc-blue)}
  .lyn-tyc-toc details[open] summary{margin-bottom:10px}
  .lyn-tyc-toc details[open] summary::after{content:"–"}
  .lyn-tyc-print{margin-left:0}
  .lyn-tyc h2{font-size:21px}
  .lyn-tyc-intro{font-size:16px; padding:16px 18px}
}

/* Impresión / PDF */
@media print{
  .lyn-tyc-toc,.lyn-tyc-print,.lyn-tyc-totop{display:none!important}
  .lyn-tyc{max-width:none; padding:0; font-size:11pt}
  .lyn-tyc-layout{display:block}
  .lyn-tyc a{color:inherit; text-decoration:none}
  .lyn-tyc a.lyn-tyc-ref{background:none; padding:0}
  .lyn-tyc h2,.lyn-tyc h3{break-after:avoid}
  .lyn-tyc p{orphans:3; widows:3}
}
