/* ═══════════════════════════════════════════════════════════════
   Kartera — hoja de estilos de las páginas legales
   (Términos y Condiciones · Política de Privacidad)
   Sitio estático: sin build, sin dependencias externas.
   ═══════════════════════════════════════════════════════════════ */

@font-face{font-family:'Inter';font-style:normal;font-weight:400 700;font-display:swap;src:url(fonts/inter-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Inter';font-style:normal;font-weight:400 700;font-display:swap;src:url(fonts/inter-latin.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

:root{
  --content-max:1280px;
  --page-gutter:max(clamp(20px,5vw,48px),calc((100vw - var(--content-max)) / 2));
  --ink:#16140F;
  --ink-2:#3C372F;
  --muted:#6B655E;
  --faint:#A39C93;
  --line:#E7E2DB;
  --line-soft:#F0EDE8;
  --surface:#FFFFFF;
  --surface-2:#FBFAF9;
  --cafe:#74563C;
  --cafe-dark:#4F3A28;
  --cafe-mid:#8B6A4C;
  --cafe-100:#EFE6DD;
  --cafe-50:#F8F4F0;
  --night:#241A11;
  --ease:cubic-bezier(0.2,0,0,1);
  --nav-h:64px;
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{
  margin:0;background:var(--surface);color:var(--ink);
  font-family:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',system-ui,sans-serif;
  font-size:15px;line-height:1.6;
  -webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;
}
h1,h2,h3,h4,p,figure,ul,ol,dl,dd{margin:0}
img{max-width:100%;display:block}
a{color:var(--cafe);text-decoration:none}
a:hover{color:var(--cafe-dark);text-decoration:underline;text-underline-offset:2px}
::selection{background:var(--cafe-100)}
:focus-visible{outline:2px solid var(--cafe);outline-offset:2px;border-radius:3px}

.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.skip-link{position:absolute;left:16px;top:-60px;z-index:200;background:#fff;color:var(--cafe-dark);
  padding:10px 16px;border-radius:6px;border:1px solid var(--line);font-size:13px;font-weight:600;
  transition:top 160ms var(--ease)}
.skip-link:focus{top:14px}

/* ── Barra de progreso de lectura ─────────────────────────────── */
.progress{position:fixed;top:0;left:0;right:0;height:2px;z-index:120;background:transparent;pointer-events:none}
.progress__bar{display:block;height:100%;width:0;transform-origin:0 50%;
  background:linear-gradient(90deg,var(--cafe-mid),var(--cafe-dark));transition:width 90ms linear}

/* ── Navbar ───────────────────────────────────────────────────── */
.nav{position:fixed;top:0;left:0;right:0;z-index:100;height:var(--nav-h);
  display:flex;align-items:center;justify-content:space-between;gap:16px;
  padding:0 var(--page-gutter);background:transparent;border-bottom:1px solid transparent;
  transition:background 240ms var(--ease),border-color 240ms var(--ease),backdrop-filter 240ms var(--ease)}
.nav.is-solid{background:rgba(255,255,255,0.86);border-bottom-color:var(--line);
  -webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
.nav__brand{position:relative;display:block;width:110px;height:22px;flex:none}
.nav__brand:hover{text-decoration:none}
.nav__brand img{position:absolute;left:0;top:0;height:22px;width:auto;opacity:0;
  transition:opacity 240ms var(--ease)}
.nav__brand .logo-light{opacity:1}
.nav.is-solid .nav__brand .logo-light{opacity:0}
.nav.is-solid .nav__brand .logo-dark{opacity:1}
.nav__links{display:flex;align-items:center;gap:22px;font-size:13.5px;font-weight:500}
.nav__links a{color:rgba(255,255,255,0.82);transition:color 200ms var(--ease)}
.nav__links a:hover{color:#fff}
.nav__links a.is-active{color:#fff}
.nav.is-solid .nav__links a{color:var(--muted)}
.nav.is-solid .nav__links a:hover{color:var(--cafe-dark)}
.nav.is-solid .nav__links a.is-active{color:var(--ink)}
.nav__cta{display:inline-flex;align-items:center;height:36px;padding:0 16px;border-radius:6px;
  background:#fff;color:var(--cafe-dark)!important;font-weight:600;
  transition:background 160ms var(--ease),transform 160ms var(--ease),color 160ms var(--ease)}
.nav__cta:hover{background:var(--cafe-100);transform:translateY(-1px);text-decoration:none}
.nav.is-solid .nav__cta{background:var(--cafe);color:#fff!important}
.nav.is-solid .nav__cta:hover{background:var(--cafe-dark)}

/* ── Hero editorial ───────────────────────────────────────────── */
.hero{position:relative;min-height:clamp(400px,58vh,520px);display:flex;align-items:flex-end;
  padding:calc(var(--nav-h) + 56px) var(--page-gutter) 56px;background:var(--night);overflow:hidden;isolation:isolate}
.hero__media{position:absolute;inset:0;z-index:-2}
/* Anclada al borde superior: el encuadre parte desde lo más alto del óleo
   (con el centrado por defecto se cortaban las cabezas). El origen del zoom
   también va arriba, para que el Ken Burns crezca hacia abajo y nunca
   recorte por el tope. */
.hero__media img{width:100%;height:100%;object-fit:cover;object-position:50% 0;
  transform:scale(1.06);transform-origin:50% 0;will-change:transform}
.hero::after{content:'';position:absolute;inset:0;z-index:-1;
  background:linear-gradient(180deg,rgba(12,8,4,0.62) 0%,rgba(12,8,4,0.48) 42%,rgba(12,8,4,0.88) 100%)}
.hero__inner{width:100%;max-width:var(--content-max);margin:0 auto;color:#fff}
.eyebrow{font-size:11px;font-weight:600;letter-spacing:0.14em;text-transform:uppercase;color:var(--cafe-100);
  display:flex;align-items:center;gap:10px}
.eyebrow::before{content:'';width:22px;height:1px;background:var(--cafe-mid);flex:none}
.hero h1{margin:16px 0 0;font-size:clamp(32px,5.2vw,52px);line-height:1.08;letter-spacing:-0.025em;font-weight:600;
  max-width:15ch;text-wrap:balance}
.hero__lede{margin:18px 0 0;max-width:60ch;font-size:clamp(15px,1.5vw,17px);line-height:1.6;color:rgba(255,255,255,0.78)}
.hero__meta{margin:28px 0 0;display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;
  font-size:12.5px;color:rgba(255,255,255,0.7)}
.chip{display:inline-flex;align-items:center;gap:7px;padding:5px 12px;border-radius:999px;
  border:1px solid rgba(255,255,255,0.22);background:rgba(255,255,255,0.08);color:rgba(255,255,255,0.92);
  -webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);white-space:nowrap}
.chip__dot{width:6px;height:6px;border-radius:999px;background:#8ED6AE;flex:none}

/* ── Selector entre documentos ────────────────────────────────── */
.docswitch{position:sticky;top:var(--nav-h);z-index:60;background:rgba(255,255,255,0.9);
  -webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.docswitch__inner{padding:0 var(--page-gutter);
  display:flex;align-items:center;gap:4px;overflow-x:auto;scrollbar-width:none}
.docswitch__inner::-webkit-scrollbar{display:none}
.docswitch a{position:relative;padding:15px 14px;font-size:13.5px;font-weight:500;color:var(--muted);white-space:nowrap;
  transition:color 180ms var(--ease)}
.docswitch a:hover{color:var(--ink);text-decoration:none}
.docswitch a::after{content:'';position:absolute;left:14px;right:14px;bottom:-1px;height:2px;background:var(--cafe);
  transform:scaleX(0);transform-origin:0 50%;transition:transform 220ms var(--ease)}
.docswitch a.is-current{color:var(--ink);font-weight:600}
.docswitch a.is-current::after{transform:scaleX(1)}

/* ── Layout documento + índice ────────────────────────────────── */
.layout{padding:0 var(--page-gutter);
  display:grid;grid-template-columns:264px minmax(0,1fr);gap:72px;align-items:start}

.toc{position:sticky;top:calc(var(--nav-h) + 68px);max-height:calc(100vh - var(--nav-h) - 100px);
  overflow-y:auto;padding:48px 0 40px;scrollbar-width:thin;scrollbar-color:var(--line) transparent}
.toc::-webkit-scrollbar{width:6px}
.toc::-webkit-scrollbar-thumb{background:var(--line);border-radius:999px}
.toc__title{font-size:11px;font-weight:600;letter-spacing:0.12em;text-transform:uppercase;color:var(--faint);
  margin-bottom:14px}
.toc ol{list-style:none;margin:0;padding:0;border-left:1px solid var(--line)}
.toc li{margin:0}
.toc a{display:flex;gap:10px;padding:7px 0 7px 16px;margin-left:-1px;border-left:2px solid transparent;
  font-size:13px;line-height:1.4;color:var(--muted);transition:color 180ms var(--ease),border-color 180ms var(--ease)}
.toc a:hover{color:var(--ink);text-decoration:none}
.toc a .toc__n{color:var(--faint);font-variant-numeric:tabular-nums;font-size:11.5px;padding-top:1px;flex:none;
  transition:color 180ms var(--ease)}
.toc a.is-active{color:var(--ink);font-weight:600;border-left-color:var(--cafe)}
.toc a.is-active .toc__n{color:var(--cafe)}

.toc-mobile{display:none;margin:0 var(--page-gutter);border:1px solid var(--line);border-radius:8px;
  background:var(--surface-2);overflow:hidden}
.toc-mobile summary{padding:14px 16px;font-size:13.5px;font-weight:600;cursor:pointer;list-style:none;
  display:flex;align-items:center;justify-content:space-between}
.toc-mobile summary::-webkit-details-marker{display:none}
.toc-mobile summary::after{content:'';width:7px;height:7px;border-right:1.5px solid var(--faint);
  border-bottom:1.5px solid var(--faint);transform:rotate(45deg) translateY(-2px);transition:transform 200ms var(--ease)}
.toc-mobile[open] summary::after{transform:rotate(-135deg) translateY(0)}
.toc-mobile ol{list-style:none;margin:0;padding:0 16px 14px;border-top:1px solid var(--line)}
.toc-mobile li a{display:flex;gap:10px;padding:8px 0;font-size:13.5px;color:var(--muted)}
.toc-mobile li a .toc__n{color:var(--faint);font-variant-numeric:tabular-nums;font-size:11.5px;padding-top:2px}

/* ── Documento ────────────────────────────────────────────────── */
.doc{padding:48px 0 24px;font-size:16px}
/* La medida de lectura se limita en el texto; tablas, destacados y tarjetas
   aprovechan todo el ancho de la columna. */
.doc > section > p,.doc > section > ul,.doc > section > ol,
.doc h2,.doc h3,.doc__intro{max-width:72ch}
.doc__intro{padding-bottom:32px;margin-bottom:8px;border-bottom:1px solid var(--line);
  font-size:17px;line-height:1.65;color:var(--ink-2)}
.doc section{scroll-margin-top:calc(var(--nav-h) + 84px);padding:36px 0}
.doc section + section{border-top:1px solid var(--line-soft)}
.doc h2{display:flex;align-items:baseline;gap:14px;font-size:clamp(20px,2.2vw,25px);line-height:1.25;
  letter-spacing:-0.018em;font-weight:600;margin-bottom:18px;text-wrap:balance}
.doc h2 .num{font-size:12px;font-weight:600;color:var(--cafe-mid);font-variant-numeric:tabular-nums;
  letter-spacing:0.06em;flex:none;transform:translateY(-2px)}
.doc h3{font-size:16px;font-weight:600;letter-spacing:-0.01em;margin:28px 0 10px;color:var(--ink)}
.doc p{margin:0 0 14px;color:var(--ink-2)}
.doc p:last-child{margin-bottom:0}
.doc strong{font-weight:600;color:var(--ink)}
.doc em{font-style:italic}
.doc ul,.doc ol{margin:0 0 16px;padding-left:0;list-style:none}
.doc li{position:relative;padding-left:22px;margin-bottom:9px;color:var(--ink-2)}
.doc li:last-child{margin-bottom:0}
.doc ul > li::before{content:'';position:absolute;left:4px;top:10px;width:5px;height:5px;border-radius:999px;
  background:var(--cafe-mid)}
.doc ol{counter-reset:kt}
.doc ol > li{counter-increment:kt;padding-left:26px}
.doc ol > li::before{content:counter(kt,lower-alpha) ".";position:absolute;left:0;top:0;
  font-size:12.5px;font-weight:600;color:var(--cafe-mid);font-variant-numeric:tabular-nums}
.doc ol[data-numeric] > li::before{content:counter(kt) "."}
.doc ol ol{margin:9px 0 0}
.doc a{text-decoration:underline;text-underline-offset:2px;text-decoration-color:var(--cafe-100);
  transition:text-decoration-color 180ms var(--ease)}
.doc a:hover{text-decoration-color:var(--cafe)}
.doc .break{word-break:break-word;overflow-wrap:anywhere}

.clause{display:block;font-size:12px;font-weight:600;color:var(--cafe-mid);font-variant-numeric:tabular-nums;
  letter-spacing:0.02em;margin-right:2px}

/* Definiciones */
.defs{display:grid;gap:0;border:1px solid var(--line);border-radius:8px;overflow:hidden;margin-bottom:4px}
.defs > div{display:grid;grid-template-columns:minmax(140px,0.36fr) 1fr;gap:0;border-bottom:1px solid var(--line-soft)}
.defs > div:last-child{border-bottom:0}
.defs > div:nth-child(odd){background:var(--surface-2)}
.defs dt{padding:14px 16px;font-weight:600;font-size:14px;color:var(--ink);border-right:1px solid var(--line-soft)}
.defs dd{padding:14px 16px;margin:0;font-size:14px;color:var(--ink-2)}

/* Tabla de bases de licitud */
.table-wrap{border:1px solid var(--line);border-radius:8px;overflow:hidden;margin-bottom:16px}
.table-scroll{overflow-x:auto}
table{width:100%;border-collapse:collapse;font-size:13.5px;min-width:560px}
thead th{text-align:left;padding:12px 16px;background:var(--cafe-50);color:var(--ink);font-weight:600;font-size:12px;
  letter-spacing:0.05em;text-transform:uppercase;border-bottom:1px solid var(--line);white-space:nowrap}
tbody td{padding:14px 16px;vertical-align:top;color:var(--ink-2);border-bottom:1px solid var(--line-soft);line-height:1.55}
tbody tr:last-child td{border-bottom:0}
tbody tr:nth-child(even){background:var(--surface-2)}
tbody td:first-child{font-weight:600;color:var(--ink)}

/* Destacados */
.callout{position:relative;border:1px solid var(--line);border-left:2px solid var(--cafe);border-radius:8px;
  background:var(--surface-2);padding:20px 22px;margin:0 0 16px}
.callout__label{font-size:11px;font-weight:600;letter-spacing:0.12em;text-transform:uppercase;color:var(--cafe-mid);
  margin-bottom:8px}
.callout p:last-child{margin-bottom:0}
.callout--en{background:var(--cafe-50);border-left-color:var(--cafe-mid)}
.callout--en p{font-style:italic;color:var(--ink-2)}
.callout--todo{border-left-color:#C99A2E;background:#FBF6EA}
.callout--todo .callout__label{color:#8A5A0A}

.note{display:flex;gap:12px;padding:16px 18px;border:1px dashed var(--line);border-radius:8px;
  background:var(--surface-2);font-size:13.5px;color:var(--muted);margin:0 0 16px}
.note strong{color:var(--ink)}

/* Tarjetas de contacto */
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin-top:4px}
.card{border:1px solid var(--line);border-radius:8px;padding:20px;background:var(--surface);
  transition:border-color 200ms var(--ease),transform 200ms var(--ease),box-shadow 200ms var(--ease)}
.card:hover{border-color:var(--cafe-mid);transform:translateY(-2px);box-shadow:0 10px 28px rgba(79,58,40,0.10)}
.card__label{font-size:11px;font-weight:600;letter-spacing:0.1em;text-transform:uppercase;color:var(--faint);
  margin-bottom:8px}
.card__value{font-size:15px;font-weight:600;color:var(--ink)}
.card__value a{color:var(--cafe);text-decoration:none}
.card__value a:hover{text-decoration:underline}
.card p{font-size:13px;color:var(--muted);margin:6px 0 0}

/* Pie del documento: navegación al otro documento */
.doc__next{margin:8px 0 0;padding:28px 0 0;border-top:1px solid var(--line)}
.doc__next a{display:flex;align-items:center;justify-content:space-between;gap:16px;
  border:1px solid var(--line);border-radius:8px;padding:20px 22px;background:var(--surface);
  text-decoration:none;transition:border-color 200ms var(--ease),transform 200ms var(--ease),box-shadow 200ms var(--ease)}
.doc__next a:hover{border-color:var(--cafe-mid);transform:translateY(-2px);box-shadow:0 12px 30px rgba(79,58,40,0.10);
  text-decoration:none}
.doc__next .lbl{font-size:11px;font-weight:600;letter-spacing:0.1em;text-transform:uppercase;color:var(--faint)}
.doc__next .ttl{font-size:16px;font-weight:600;color:var(--ink);margin-top:5px}
.doc__next .arrow{font-size:20px;color:var(--cafe-mid);flex:none;transition:transform 200ms var(--ease)}
.doc__next a:hover .arrow{transform:translateX(4px)}

/* ── Volver arriba ────────────────────────────────────────────── */
.totop{position:fixed;right:24px;bottom:24px;z-index:90;width:44px;height:44px;border-radius:999px;
  display:flex;align-items:center;justify-content:center;background:#fff;border:1px solid var(--line);
  color:var(--cafe-dark);box-shadow:0 6px 20px rgba(22,20,15,0.10);cursor:pointer;
  opacity:0;visibility:hidden;transform:translateY(10px);
  transition:opacity 240ms var(--ease),transform 240ms var(--ease),visibility 240ms,border-color 200ms}
.totop.is-visible{opacity:1;visibility:visible;transform:translateY(0)}
.totop:hover{border-color:var(--cafe-mid);text-decoration:none}
.totop svg{width:17px;height:17px}

/* ── Footer ───────────────────────────────────────────────────── */
.footer{border-top:1px solid var(--line);background:#fff;padding:44px var(--page-gutter) 40px;margin-top:32px}
.footer__inner{max-width:var(--content-max);margin:0 auto}
.footer__top{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:18px}
.footer__top img{height:18px;width:auto}
.footer__links{display:flex;flex-wrap:wrap;align-items:center;gap:8px 18px;font-size:13px}
.footer__links a{color:var(--muted)}
.footer__links a:hover{color:var(--cafe-dark)}
.footer__bottom{margin-top:22px;padding-top:20px;border-top:1px solid var(--line-soft);
  display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 16px;
  font-size:12.5px;color:var(--faint)}
.footer__bottom a{color:var(--faint)}
.footer__bottom a:hover{color:var(--cafe-dark)}
.sep{color:var(--line);user-select:none}

/* ── Aparición al hacer scroll ────────────────────────────────── */
[data-reveal]{opacity:0;transform:translateY(18px);
  transition:opacity 640ms var(--ease),transform 640ms var(--ease)}
[data-reveal].is-in{opacity:1;transform:none}

/* ── Responsive ───────────────────────────────────────────────── */
@media (max-width:1000px){
  .layout{grid-template-columns:minmax(0,1fr);gap:0}
  .toc{display:none}
  .toc-mobile{display:block;margin-top:28px}
  .doc{padding-top:32px}
}
@media (max-width:640px){
  .nav__links{gap:14px;font-size:12.5px}
  .nav__links .nav__hide-sm{display:none}
  .hero{min-height:auto;padding-top:calc(var(--nav-h) + 44px);padding-bottom:40px}
  .defs > div{grid-template-columns:1fr}
  .defs dt{border-right:0;padding-bottom:0}
  .defs dd{padding-top:6px}
  .doc section{padding:28px 0}
  .doc h2{gap:10px}
  .totop{right:16px;bottom:16px}
}

/* ── Accesibilidad / impresión ────────────────────────────────── */
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:0.001ms!important;animation-iteration-count:1!important;
    transition-duration:0.001ms!important;scroll-behavior:auto!important}
  [data-reveal]{opacity:1;transform:none}
  .hero__media img{transform:none}
}
@media print{
  .nav,.docswitch,.toc,.toc-mobile,.progress,.totop,.doc__next,.hero__media,.footer__links{display:none!important}
  .doc > section > p,.doc > section > ul,.doc > section > ol,.doc h2,.doc h3,.doc__intro{max-width:none}
  .hero{min-height:auto;padding:0 0 24px;background:#fff;color:#000;border-bottom:1px solid #000}
  .hero::after{display:none}
  .hero__inner{color:#000}
  .hero h1{color:#000}
  .hero__lede,.hero__meta{color:#333}
  .chip{border-color:#999;background:none;color:#333}
  .eyebrow{color:#666}
  body{font-size:11pt}
  .layout{display:block;padding:0}
  .doc{padding:0;max-width:none}
  .doc section{padding:14px 0;break-inside:avoid}
  [data-reveal]{opacity:1!important;transform:none!important}
  a{color:#000;text-decoration:none}
  .footer{border-top:1px solid #000;padding:16px 0}
}
