/* teleobjetivo.com — hoja de estilos única. Sin webfonts, sin dependencias. */
:root{
  --ink:#1a1d20;
  --muted:#5c6167;
  --paper:#fcfcfa;
  --surface:#f2f1ec;
  --line:#dedcd3;
  --accent:#b3262e;      /* anillo rojo */
  --accent-dark:#8e1e24;
  --scale:#8a6a2f;       /* grabado ámbar de la escala de distancias */
  --serif:Georgia,"Times New Roman",serif;
  --sans:system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  --mono:ui-monospace,"SF Mono",Menlo,Consolas,monospace;
  --w:72rem;
  --w-text:44rem;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{margin:0;font-family:var(--sans);font-size:1.0625rem;line-height:1.65;color:var(--ink);background:var(--paper)}
img,svg{max-width:100%;height:auto;display:block}
a{color:var(--accent-dark);text-underline-offset:2px}
a:hover{color:var(--accent)}
:focus-visible{outline:3px solid var(--accent);outline-offset:2px;border-radius:2px}
.skip{position:absolute;left:-999px;top:0;background:var(--ink);color:#fff;padding:.5rem 1rem;z-index:99}
.skip:focus{left:.5rem;top:.5rem}
.wrap{max-width:var(--w);margin:0 auto;padding:0 1.25rem}

/* ---------- Cabecera ---------- */
.site-header{border-bottom:1px solid var(--line);background:var(--paper)}
.bar{display:flex;align-items:center;gap:1rem;min-height:4rem;flex-wrap:wrap;padding:.5rem 0}
.logo{display:flex;align-items:center;gap:.55rem;text-decoration:none;color:var(--ink);font-family:var(--serif);font-size:1.35rem;letter-spacing:-.01em}
.logo svg{width:1.7rem;height:1.7rem;flex:none}
.logo .tld{color:var(--muted);font-family:var(--mono);font-size:.8em}
.nav-toggle{display:none}
.nav-btn{display:none;margin-left:auto;border:1px solid var(--line);border-radius:4px;padding:.4rem .7rem;font:inherit;cursor:pointer;background:var(--surface)}
.site-nav{margin-left:auto}
.site-nav ul{display:flex;gap:.25rem;list-style:none;margin:0;padding:0;flex-wrap:wrap}
.site-nav a{display:block;padding:.45rem .7rem;text-decoration:none;color:var(--ink);border-radius:4px;font-size:.95rem}
.site-nav a:hover{background:var(--surface);color:var(--accent-dark)}
@media(max-width:47rem){
  .nav-btn{display:block}
  .site-nav{display:none;width:100%;margin:0}
  .nav-toggle:checked ~ .site-nav{display:block}
  .site-nav ul{flex-direction:column;padding:.25rem 0 .75rem}
}

/* ---------- Migas ---------- */
.crumbs{font-size:.85rem;color:var(--muted);padding:.8rem 0 0}
.crumbs ol{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.35rem}
.crumbs li+li::before{content:"›";margin-right:.35rem;color:var(--line)}
.crumbs a{color:var(--muted)}

/* ---------- Portada / héroe ---------- */
.hero{padding:2.75rem 0 2.25rem;border-bottom:1px solid var(--line);background:linear-gradient(var(--paper),var(--surface))}
.hero h1{font-family:var(--serif);font-size:clamp(2rem,5vw,3.1rem);line-height:1.12;margin:0 0 .8rem;letter-spacing:-.015em;max-width:36ch}
.hero p{max-width:60ch;font-size:1.125rem;color:var(--muted);margin:0 0 1.5rem}
.kicker{font-family:var(--mono);font-size:.8rem;letter-spacing:.14em;text-transform:uppercase;color:var(--accent-dark);margin:0 0 .9rem}

/* Escala focal: la firma del sitio */
.focal{margin:2rem 0 .5rem;font-family:var(--mono);font-size:.75rem;color:var(--scale)}
.focal-bar{position:relative;height:.55rem;border-radius:99px;background:linear-gradient(90deg,var(--line) 0 26%,var(--accent) 26% 100%)}
.focal-bar::after{content:"";position:absolute;left:26%;top:-.3rem;bottom:-.3rem;width:2px;background:var(--ink)}
.focal-ticks{display:flex;justify-content:space-between;margin-top:.45rem}
.focal-note{color:var(--muted);margin-top:.35rem}
.focal-note b{color:var(--accent-dark)}

/* ---------- Tarjetas ---------- */
.grid{display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(15.5rem,1fr));margin:1.5rem 0}
.card{position:relative;border:1px solid var(--line);border-radius:8px;background:#fff;padding:1.1rem 1.1rem 1.2rem;transition:border-color .15s}
.card:hover{border-color:var(--accent)}
.card h3{margin:.5rem 0 .35rem;font-size:1.06rem;line-height:1.35}
.card h3 a{text-decoration:none;color:var(--ink)}
.card h3 a::after{content:"";position:absolute;inset:0}
.card p{margin:0;font-size:.92rem;color:var(--muted)}
.badge{display:inline-block;font-family:var(--mono);font-size:.72rem;letter-spacing:.06em;border:1px solid var(--line);border-radius:4px;padding:.15rem .45rem;color:var(--scale);background:var(--surface)}

/* ---------- Contenido ---------- */
main{padding-bottom:3rem}
.article{max-width:var(--w-text)}
.article h1{font-family:var(--serif);font-size:clamp(1.8rem,4.5vw,2.6rem);line-height:1.15;letter-spacing:-.015em;margin:1.2rem 0 .6rem}
.article .lead{font-size:1.15rem;color:var(--muted);margin:0 0 1.5rem}
.article h2{font-family:var(--serif);font-size:1.55rem;line-height:1.25;margin:2.2rem 0 .6rem;padding-top:1.2rem;border-top:1px solid var(--line)}
.article h3{font-size:1.15rem;margin:1.6rem 0 .4rem}
.article ul,.article ol{padding-left:1.3rem}
.article li{margin:.3rem 0}
.article table{border-collapse:collapse;width:100%;font-size:.95rem;margin:1rem 0}
.article th,.article td{border:1px solid var(--line);padding:.5rem .65rem;text-align:left;vertical-align:top}
.article th{background:var(--surface);font-family:var(--mono);font-size:.8rem;letter-spacing:.05em}
.article tbody tr:nth-child(even){background:#fff}

/* Caja destacada y CTA de afiliado (rellenar enlaces más adelante) */
.note{border-left:4px solid var(--scale);background:var(--surface);padding:.9rem 1.1rem;border-radius:0 6px 6px 0;margin:1.3rem 0;font-size:.97rem}
.cta{border:1px solid var(--line);border-top:4px solid var(--accent);border-radius:8px;background:#fff;padding:1.1rem 1.2rem;margin:1.6rem 0}
.cta h3{margin:0 0 .3rem}
.cta p{margin:0 0 .8rem;color:var(--muted);font-size:.95rem}
.cta .btn{display:inline-block;background:var(--accent);color:#fff;text-decoration:none;font-weight:600;padding:.55rem 1.1rem;border-radius:6px}
.cta .btn:hover{background:var(--accent-dark)}

/* FAQ */
.faq details{border:1px solid var(--line);border-radius:6px;background:#fff;margin:.5rem 0;padding:0 1rem}
.faq summary{cursor:pointer;font-weight:600;padding:.75rem 0;list-style-position:inside}
.faq details[open] summary{border-bottom:1px solid var(--line)}
.faq details p{color:var(--muted)}

/* Secciones de hub */
.section{margin:2.5rem 0}
.section>h2{font-family:var(--serif);font-size:1.7rem;margin:0 0 .25rem}
.section>p{color:var(--muted);margin:.2rem 0 0;max-width:65ch}

/* ---------- Pie ---------- */
.site-footer{border-top:1px solid var(--line);background:var(--surface);margin-top:2rem;font-size:.92rem}
.foot-grid{display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(11rem,1fr));padding:2.2rem 0 1rem}
.foot-grid h2{font-family:var(--mono);font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin:0 0 .6rem}
.foot-grid ul{list-style:none;margin:0;padding:0}
.foot-grid li{margin:.3rem 0}
.foot-grid a{color:var(--ink);text-decoration:none}
.foot-grid a:hover{color:var(--accent-dark);text-decoration:underline}
.foot-legal{border-top:1px solid var(--line);padding:1rem 0 1.4rem;color:var(--muted);display:flex;flex-wrap:wrap;gap:.4rem 1.4rem;align-items:center}
.foot-legal a{color:var(--muted)}
