/* TecnoPunta · tipografía profesional (Inter, alojada en el propio tema: sin Google Fonts, sin cookies, carga rápida) */
@font-face{font-family:"Inter";font-style:normal;font-weight:400;font-display:swap;src:url("../fonts/inter-400.woff") format("woff")}
@font-face{font-family:"Inter";font-style:normal;font-weight:500;font-display:swap;src:url("../fonts/inter-500.woff") format("woff")}
@font-face{font-family:"Inter";font-style:normal;font-weight:600;font-display:swap;src:url("../fonts/inter-600.woff") format("woff")}
@font-face{font-family:"Inter";font-style:normal;font-weight:700;font-display:swap;src:url("../fonts/inter-700.woff") format("woff")}
@font-face{font-family:"Inter Display";font-style:normal;font-weight:600;font-display:swap;src:url("../fonts/inter-display-600.woff") format("woff")}
@font-face{font-family:"Inter Display";font-style:normal;font-weight:700;font-display:swap;src:url("../fonts/inter-display-700.woff") format("woff")}

:root{--tp-font:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;--tp-font-display:"Inter Display","Inter",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif}
html{-webkit-text-size-adjust:100%;text-rendering:optimizeLegibility}
body,button,input,select,textarea{font-family:var(--tp-font)}
body{font-size:16px;line-height:1.65;font-weight:400;letter-spacing:-.006em;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-feature-settings:"cv11","calt","kern"}

/* Títulos: Inter Display, más nítidos y con tracking ajustado */
h1,h2,h3,h4,.hero h1,.home-hero h1,.hero-copy h1,.section-head h2,.logo-word,.tools-feature-copy h2,.cta-inner h2,.category-card h3,.solution-card h3,.tp-card h3,.card h3{font-family:var(--tp-font-display);font-weight:700;letter-spacing:-.03em;line-height:1.12}
h1{letter-spacing:-.04em;line-height:1.05}
.hero-copy h1,.home-hero h1{font-size:clamp(2.7rem,6.4vw,5rem);line-height:1.02;letter-spacing:-.045em}
.tp-hub .tp-hero h1{letter-spacing:-.04em}
h3,h4{font-weight:600;letter-spacing:-.02em;line-height:1.25}

/* Texto corriente: ligero y legible */
p,li{font-weight:400}
.hero-copy p,.tp-hero p,.section-head p{font-weight:400;line-height:1.7;letter-spacing:-.01em}
strong,b{font-weight:600}

/* Interfaz: pesos medios, no negrita pesada */
.nav-list a,.nav-contact{font-weight:500;letter-spacing:-.005em}
.button,.tpu-btn,button.button{font-weight:600;letter-spacing:-.005em}
.eyebrow,.hero-badge,.card-kicker{font-weight:600;letter-spacing:.12em;text-transform:uppercase}
.hero-badge{letter-spacing:.06em}
label,.field label,.tpu-field>label,.tpu-label{font-weight:600}
.logo-word{font-weight:700;letter-spacing:-.03em}
.logo-word small{font-weight:600;letter-spacing:.14em}
.metric strong,.stat strong{font-family:var(--tp-font-display);font-weight:700;letter-spacing:-.03em}
.tp-group-title,.tp-card h3,.card h3,.category-card h3,.solution-card h3{font-weight:600;letter-spacing:-.02em}
.text-link,.card-link,.resource-link,.category-link{font-weight:600}
.breadcrumbs,.breadcrumbs a{font-weight:500}
.footer-col h3{font-weight:600;letter-spacing:.06em}

/* Herramientas */
.tp-tool{font-family:var(--tp-font)}
.tp-tool h1,.tp-tool h2,.tp-tool h3{font-family:var(--tp-font-display);font-weight:700;letter-spacing:-.025em}
.tp-tool label,.tp-tool .tpu-field>label{font-weight:600}
.tp-tool button,.tp-tool .btn,.tp-tool .tpu-btn{font-weight:600}
.tp-tool th{font-weight:600}
.tp-tool strong,.tp-tool b{font-weight:600}
.tp-content{font-size:1.04rem;line-height:1.75;letter-spacing:-.008em}
.tp-content h2{font-weight:700;letter-spacing:-.03em}
.tp-content h3{font-weight:600}
.tpu-big,.tpu-stat b{font-family:var(--tp-font-display);font-weight:700;font-variant-numeric:tabular-nums}
.tpu-tabs button{font-weight:600}
input,select,textarea{font-weight:400}
table td,table th{font-variant-numeric:tabular-nums}

/* Revisión portada: titulares menos apretados */
.hero-copy h1,.home-hero h1{letter-spacing:-.03em}
h1{letter-spacing:-.028em}
.section-head h2,.tools-feature-copy h2,.cta-inner h2,.faq-intro h2{letter-spacing:-.025em}
.process-no{color:var(--tp-link)!important}

/* Noticias: lectura cómoda y profesional */
.tp-post{max-width:760px}
.tp-post h1{font-size:clamp(2rem,4.6vw,3.2rem);line-height:1.1;margin:10px 0 14px}
.tp-byline{display:flex;flex-wrap:wrap;gap:8px;color:var(--muted2,#8794a5);font-size:.82rem;font-weight:500;margin-bottom:22px}
.tp-post .post-thumbnail img{width:100%;height:auto;border-radius:18px;margin-bottom:26px}
.tp-post .entry-content{font-size:1.08rem;line-height:1.8;letter-spacing:-.003em}
.tp-post .entry-content p{margin:0 0 1.15em}
.tp-post .entry-content h2{font-size:1.65rem;margin:1.8em 0 .55em}
.tp-post .entry-content h3{font-size:1.3rem;margin:1.5em 0 .5em}
.tp-post .entry-content img{max-width:100%;height:auto;border-radius:12px}
.tp-post .entry-content a{color:var(--tp-link,#0a7a43);text-decoration:underline;text-underline-offset:3px}
.tp-post .entry-content blockquote{margin:1.6em 0;padding:.4em 0 .4em 1.2em;border-left:3px solid var(--tp-accent,#31e981);color:var(--muted)}
.tp-cta-box{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;margin:36px 0;padding:22px 24px;border:1px solid var(--line);border-radius:18px;background:var(--cloud,#0b1b2e)}
.tp-cta-box p{margin:4px 0 0;color:var(--muted);font-size:.9rem}
.tp-cta-links{display:flex;gap:10px;flex-wrap:wrap}
.tp-related{margin-top:50px}.tp-related h2{font-size:1.5rem;margin-bottom:18px}
.tp-related .post-list{grid-template-columns:repeat(3,1fr)}
.post-card{transition:transform .2s,border-color .2s}.post-card:hover{transform:translateY(-3px);border-color:var(--tp-accent,#31e981)}
.post-card .post-thumbnail img{aspect-ratio:3/2;object-fit:cover}
.pagination .page-numbers{display:inline-block;padding:8px 13px;border:1px solid var(--line);border-radius:9px;color:var(--ink)}
.pagination .page-numbers.current{background:var(--tp-accent,#31e981);color:#04111e;border-color:transparent;font-weight:600}
.tp-404-links{display:flex;gap:10px;flex-wrap:wrap;margin-top:22px}.error-404{padding:70px 0 90px}.error-404 .search-form{margin-top:18px;max-width:480px}
@media(max-width:760px){.tp-related .post-list{grid-template-columns:1fr}.tp-post .entry-content{font-size:1.02rem}}
