/* Blog: listing of the texts. Appended to home.css only for the Blog page. Tokens come from home.css (:root of #puntel-home). */
#puntel-home .pt-bl-feat, #puntel-home .pt-bl-card { background: var(--branco); border: 1px solid var(--fio); border-radius: 20px; overflow: hidden; box-shadow: 0 12px 32px rgba(11, 26, 61, .07); margin: 0; }
#puntel-home .pt-bl-feat { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); margin-top: 48px; }
#puntel-home .pt-bl-feat img, #puntel-home .pt-bl-card img { display: block; width: 100%; height: auto; aspect-ratio: 1200 / 628; object-fit: cover; }
#puntel-home .pt-bl-body { display: grid; gap: 16px; align-content: start; padding: clamp(24px, 4vw, 48px); }
#puntel-home .pt-bl-feat h3 { font-size: clamp(1.5rem, 2.6vw, 2.1rem); line-height: 1.18; color: var(--tinta); }
#puntel-home .pt-bl-card h3 { font-size: 1.3rem; line-height: 1.2; color: var(--tinta); }
#puntel-home .pt-bl-feat p, #puntel-home .pt-bl-card p { color: var(--texto); margin: 0; }
#puntel-home .pt-bl-meta { display: flex; flex-wrap: wrap; gap: 4px 14px; margin: 0; font-size: 14px; color: var(--suave); }
#puntel-home .pt-bl-cat { font-weight: 700; color: var(--azul); }
#puntel-home .pt-bl-more { margin: 8px 0 0; }
#puntel-home .pt-bl-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr)); gap: 24px; margin-top: 48px; align-items: stretch; }
#puntel-home .pt-bl-card { display: flex; flex-direction: column; }
#puntel-home .pt-bl-card .pt-bl-body { flex: 1; }

/* hero: the texts as a horizontal carousel (native scroll, snap, keyboard focusable; no fake arrows) */
#puntel-home .pt-bl-hcar { display: flex; gap: 20px; margin: 56px 0 0; padding: 4px 0 16px; list-style: none; overflow-x: auto; scroll-snap-type: x mandatory; scroll-padding-inline: var(--gutter); -webkit-overflow-scrolling: touch; }
#puntel-home .pt-bl-hcar:focus-visible { outline: 3px solid var(--ambar); outline-offset: 4px; border-radius: 12px; }
#puntel-home .pt-bl-hcar > li { flex: 0 0 min(400px, 82%); scroll-snap-align: start; }
#puntel-home .pt-bl-hc { display: flex; flex-direction: column; height: 100%; color: var(--branco); text-decoration: none; background: rgba(255, 255, 255, .06); border: 1px solid rgba(255, 255, 255, .14); border-radius: 20px; overflow: hidden; transition: background-color .2s ease-out; }
#puntel-home .pt-bl-hc:hover { background: rgba(255, 255, 255, .1); }
#puntel-home .pt-bl-hc img { display: block; width: 100%; height: auto; aspect-ratio: 1200 / 628; object-fit: cover; }
#puntel-home .pt-bl-hb { display: flex; flex-direction: column; gap: 12px; padding: 20px 22px 24px; }
#puntel-home .pt-bl-hm { display: flex; flex-wrap: wrap; gap: 4px 12px; font-size: 14px; color: var(--suave-dk); }
#puntel-home .pt-bl-hm .pt-bl-cat { color: var(--ambar); }
#puntel-home .pt-bl-ht { font-size: 1.15rem; font-weight: 700; line-height: 1.25; }
#puntel-home .pt-bl-hc:focus-visible { outline: 3px solid var(--ambar); outline-offset: 2px; }

/* subjects: the five services, one row each */
#puntel-home .pt-bl-subj { margin: 48px 0 0; padding: 0; list-style: none; background: var(--branco); border: 1px solid var(--fio); border-radius: 20px; overflow: hidden; }
#puntel-home .pt-bl-subj li { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.25fr) 260px; gap: 8px 32px; align-items: start; padding: 28px 32px; border-top: 1px solid var(--fio); }
#puntel-home .pt-bl-subj li > * { margin: 0; align-self: start; }
#puntel-home .pt-bl-subj p { line-height: 1.5; padding-top: 2px; }
#puntel-home .pt-bl-subj li:first-child { border-top: 0; }
#puntel-home .pt-bl-subj h3 { font-size: 1.25rem; color: var(--tinta); }
#puntel-home .pt-bl-subj p { margin: 0; color: var(--texto); }

/* next topics: plain list, nothing clickable */
#puntel-home .pt-bl-next-wrap { padding: clamp(24px, 4vw, 40px); background: var(--nevoa); border-radius: 20px; }
#puntel-home .pt-bl-h { font-size: 1.1rem; font-weight: 700; color: var(--tinta); }
#puntel-home .pt-bl-next { display: grid; gap: 16px; margin: 24px 0 0; padding: 0; list-style: none; }
#puntel-home .pt-bl-next li { display: flex; align-items: center; gap: 12px; font-size: 17px; color: var(--tinta); }

/* newsletter */
#puntel-home .pt-bl-news { max-width: 760px; }
#puntel-home .pt-bl-lede { margin: 24px 0 0; font-size: 17px; color: var(--texto); }
#puntel-home .pt-bl-form { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 32px; }
#puntel-home .pt-bl-form input { flex: 1 1 260px; min-height: 52px; padding: 0 20px; border: 2px solid var(--azul); border-radius: 999px; background: var(--branco); color: var(--tinta); font: inherit; font-size: 16px; }
#puntel-home .pt-bl-form .pt-btn { flex: 0 0 auto; }
#puntel-home .pt-bl-news .pt-note { margin-top: 16px; }

/* author */
#puntel-home .pt-bl-who { display: grid; grid-template-columns: 96px minmax(0, 1fr); gap: 32px; align-items: center; margin-top: 48px; max-width: 760px; }
#puntel-home .pt-bl-who p { margin: 0; font-size: 17px; color: var(--texto); }
#puntel-home .pt-bl-who p + p { margin-top: 16px; }
#puntel-home .pt-bl-av { display: grid; place-items: center; width: 96px; height: 96px; border-radius: 50%; background: var(--noite); }
#puntel-home .pt-bl-av svg { width: 40px; height: 60px; fill: var(--ambar); }

@media (max-width: 760px) {
  #puntel-home .pt-bl-feat { grid-template-columns: minmax(0, 1fr); }
  #puntel-home .pt-bl-grid { grid-template-columns: minmax(0, 1fr); }
  #puntel-home .pt-bl-subj li { grid-template-columns: minmax(0, 1fr); gap: 12px; padding: 24px; }
  #puntel-home .pt-bl-who { grid-template-columns: minmax(0, 1fr); gap: 20px; }
}
