/* Content only. Theme chrome deliberately has no selectors in this stylesheet. */
.tel-content { --tel-color:#d01135; color:#1a1a1a; padding:24px 0; clear:both; font-family:Roboto,"Helvetica Neue",Arial,sans-serif; line-height:1.5; }
.tel-content *, .tel-content *::before, .tel-content *::after { box-sizing:border-box; }
.tel-content a { color:inherit; text-decoration:none; }
.tel-content a:hover { text-decoration:underline; }
.tel-content a:focus-visible { outline:3px solid #0060a8; outline-offset:4px; }
.tel-content h1, .tel-content h2, .tel-content h3 { font-family:Oswald,"Arial Narrow",Arial,sans-serif; font-weight:700; line-height:1.2; margin:0 0 12px; }
.tel-content h1 { font-size:46px; }
.tel-content h2 { font-size:24px; }
.tel-content h3 { font-size:19px; }
.tel-content p { margin:0 0 12px; }
.tel-content .tel-photo { aspect-ratio:16/9; overflow:hidden; background:#f6f4f1; }
.tel-content .tel-photo img { display:block; width:100%; height:100%; object-fit:cover; }
.tel-content .tel-ph-empty { display:flex; align-items:flex-end; width:100%; height:100%; padding:16px; color:#fff; font-weight:700; }
.tel-content .tel-card-copy { padding-top:10px; }
.tel-content .tel-kicker { display:block; font:700 12px/1.3 Arial,sans-serif; margin:0 0 6px; }
.tel-content .tel-excerpt { color:#555; font-size:14px; line-height:1.45; }
.tel-content time { font-size:12px; color:#666; }
.tel-content .tel-card-hero h3 { font-size:32px; }
.tel-content .tel-card-lead h3 { font-size:24px; }
.tel-content .tel-card-hero .tel-photo { aspect-ratio:3/2; }
.tel-content .tel-top { display:grid; grid-template-columns:2fr 1fr 1fr; gap:24px; padding-bottom:24px; border-bottom:1px solid #e5e5e5; }
.tel-content .tel-top > *, .tel-content .tel-columns > *, .tel-content .tel-two > * { min-width:0; }
.tel-content .tel-smalls { display:flex; flex-direction:column; gap:20px; }
.tel-content .tel-box { border-top:4px solid var(--tel-color); padding-top:12px; margin-bottom:28px; }
.tel-content .tel-box h2 { font-size:18px; }
.tel-content .tel-rank { counter-reset:tel-rank; list-style:none; padding:0; margin:0; }
.tel-content .tel-rank li { counter-increment:tel-rank; display:grid; grid-template-columns:30px 1fr; gap:8px; border-bottom:1px solid #e5e5e5; padding:12px 0; font-size:15px; line-height:1.35; font-weight:600; }
.tel-content .tel-rank li::before { content:counter(tel-rank); font:700 26px/1 Oswald,Arial,sans-serif; color:var(--tel-color); }
.tel-content .tel-guides { padding:24px 0; }
.tel-content .tel-guide-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:14px; }
.tel-content .tel-guide-grid a { border:1px solid #e5e5e5; border-left:5px solid var(--tel-color); padding:14px; font-size:15px; font-weight:600; line-height:1.35; }
.tel-content .tel-guide-grid span { display:block; color:var(--tel-color); margin-bottom:6px; font-size:12px; }
.tel-content .tel-essential-links { padding-left:20px; margin:16px 0 0; }
.tel-content .tel-section { border-top:1px solid #e5e5e5; padding:24px 0; }
.tel-content .tel-section-heading { display:flex; justify-content:space-between; align-items:baseline; gap:16px; border-bottom:3px solid var(--tel-color); margin-bottom:18px; }
.tel-content .tel-section-heading h2 { color:var(--tel-color); }
.tel-content .tel-section-heading a { font-size:13px; font-weight:700; }
.tel-content .tel-section-grid { display:grid; grid-template-columns:1fr 1fr; gap:24px; }
.tel-content .tel-card-small { display:grid; grid-template-columns:120px 1fr; gap:12px; }
.tel-content .tel-card-small .tel-card-copy { padding:0; }
.tel-content .tel-card-small h3 { font-size:16px; }
.tel-content .tel-two { display:grid; grid-template-columns:1fr 1fr; gap:32px; }
.tel-content .tel-two .tel-section-grid { grid-template-columns:1fr; }
.tel-content .tel-band { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px; padding:28px 20px; background:#f6f4f1; margin:12px 0; align-items:start; }
.tel-content .tel-band .tel-ticket-widget { margin-top:12px; }
.tel-content .tel-band h2 { color:var(--tel-color); }
.tel-content .tel-band img { max-width:100%; height:auto; }
.tel-content .tel-about { padding:32px 0; font-size:16px; line-height:1.7; }
.tel-content .tel-breadcrumb { font-size:13px; color:#666; margin-bottom:20px; overflow-wrap:anywhere; }
.tel-content .tel-description { color:#555; }
.tel-content .tel-chips { display:flex; gap:8px; flex-wrap:wrap; margin:16px 0 24px; }
.tel-content .tel-chips a { border:1px solid #ccc; border-radius:20px; padding:6px 14px; font-size:13px; }
.tel-content .tel-category-top { display:grid; grid-template-columns:2fr 1fr; gap:24px; border-bottom:1px solid #ddd; padding-bottom:24px; }
.tel-content .tel-columns { display:grid; grid-template-columns:minmax(0,1fr) 320px; gap:40px; padding:24px 0; }
.tel-content .tel-sidebar { position:sticky; top:24px; align-self:start; }
.tel-content .tel-sidebar #mvp-side-wrap { width:100%; }
.tel-content .tel-card-row { display:grid; grid-template-columns:240px 1fr; gap:20px; padding:18px 0; border-bottom:1px solid #eee; }
.tel-content .tel-card-row .tel-card-copy { padding:0; }
.tel-content .page-numbers { display:inline-block; border:1px solid #ccc; padding:8px 13px; margin:20px 4px 0 0; }
.tel-content .page-numbers.current { background:#d01135; color:#fff; }
.tel-art .tel-post { width:100%; max-width:720px; float:none; }
.tel-art .tel-post h1 { font-size:40px; line-height:1.12; }
.tel-art .tel-deck { font-size:20px; color:#444; }
.tel-art .tel-byline { font-size:13px; border-top:1px solid #eee; border-bottom:1px solid #eee; padding:10px 0; margin:18px 0; color:#555; }
.tel-art .tel-byline time { font-size:inherit; }
.tel-art .tel-share { display:flex; flex-wrap:wrap; gap:10px; margin:18px 0; }
.tel-art .tel-share a { padding:7px 12px; border:1px solid #ddd; font-size:14px; }
.tel-art .tel-featured { margin:20px 0; }
.tel-art .tel-featured figcaption { font-size:12px; color:#666; padding-top:6px; }
.tel-art .tel-prose { float:none; width:100%; font:17px/1.7 Georgia,serif; overflow-wrap:anywhere; }
.tel-art .tel-prose p { margin-bottom:20px; }
.tel-art .tel-prose h2 { font-size:28px; margin:34px 0 10px; scroll-margin-top:100px; }
.tel-art .tel-prose h3 { font-size:21px; margin:24px 0 8px; }
.tel-art .tel-prose ul, .tel-art .tel-prose ol { padding-left:24px; margin:12px 0 20px; }
.tel-art .tel-prose img, .tel-art .tel-prose iframe, .tel-art .tel-embed iframe { max-width:100%; }
.tel-art .tel-prose img { height:auto; }
.tel-art .tel-prose table { border-collapse:collapse; display:block; overflow-x:auto; max-width:100%; font:14px/1.5 Arial,sans-serif; }
.tel-art .tel-prose td, .tel-art .tel-prose th { border:1px solid #ddd; padding:8px; }
.tel-art .tel-toc, .tel-art .resumo-rapido, .tel-art .tel-resumo { background:#f6f4f1; border-left:4px solid #d01135; padding:16px 20px; margin:24px 0; }
.tel-art .tel-prose .tel-toc h2 { font-size:20px; margin:0; }
.tel-art .tel-toc ol { columns:2; font:14px/1.8 Arial,sans-serif; }
.tel-art .tel-also { border-top:3px solid #0060a8; border-bottom:1px solid #ddd; padding:12px 0; margin:24px 0; font:16px/1.5 Arial,sans-serif; }
.tel-art .tel-tags { margin:24px 0; font-size:13px; }
.tel-art .tel-tags a { display:inline-block; padding:4px 10px; margin:0 6px 6px 0; background:#eee; }
.tel-art .tel-three { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.tel-art .tel-three .tel-card-small { display:block; }
.tel-art .tel-three .tel-card-copy { padding-top:10px; }
.tel-art .tel-related { clear:both; padding:24px 0; }
@media (max-width:1000px) {
 .tel-content .tel-columns { grid-template-columns:minmax(0,1fr) 260px; gap:24px; }
 .tel-content .tel-card-row { grid-template-columns:160px 1fr; }
 .tel-content .tel-top { grid-template-columns:2fr 1fr; }
 .tel-content .tel-top > .tel-box { grid-column:1/-1; }
}
@media (max-width:700px) {
 .tel-content { padding:20px 0; }
 .tel-content .tel-top, .tel-content .tel-category-top, .tel-content .tel-section-grid, .tel-content .tel-two, .tel-content .tel-band, .tel-content .tel-columns, .tel-content .tel-guide-grid, .tel-art .tel-three { grid-template-columns:1fr; }
 .tel-content .tel-sidebar { position:static; }
 .tel-content h1 { font-size:34px; }
 .tel-content .tel-card-hero h3 { font-size:25px; }
 .tel-content .tel-card-row { grid-template-columns:120px minmax(0,1fr); gap:12px; }
 .tel-content .tel-card-row h3 { font-size:16px; }
 .tel-content .tel-card-row .tel-excerpt { display:none; }
 .tel-content .tel-section-heading { flex-wrap:wrap; gap:0; padding-bottom:8px; }
 .tel-art .tel-post h1 { font-size:28px; }
 .tel-art .tel-deck { font-size:17px; }
 .tel-art .tel-toc ol { columns:1; }
 .tel-art .tel-prose { font-size:16px; }
}
/* Retain the parent's content IDs for integrations, with local layout overrides. */
.tel-art #mvp-article-wrap { float:none; max-width:720px; }
.tel-art #mvp-content-main { line-height:1.7; }
.tel-art #mvp-content-main p { font-size:17px; line-height:1.7; }
.tel-art #mvp-content-main h2 { margin:34px 0 10px; font-size:28px; line-height:1.2; overflow:visible; }
.tel-art #mvp-content-main h3 { margin:24px 0 8px; font-size:21px; line-height:1.2; }
.tel-art #mvp-content-main li { margin-left:0; }
.tel-art #mvp-content-main .tel-toc h2 { margin:0; font-size:20px; }
.tel-art #mvp-content-main .tel-also h3 { margin:0 0 8px; }
.tel-art #comments { display:block; }
@media (max-width:700px) {
 .tel-art #mvp-content-main p { font-size:16px; }
}

/* Use the inline share block so the fixed mobile bar cannot cover the TOC. */
@media screen and (max-width: 1003px) {
 body.single #mvp-soc-mob-wrap { display:none !important; }
}
