/* ==========================================================
   TechCriterion News — базовые стили
   Только классы, без inline style. CSS-переменные для тем.
   ========================================================== */

:root{
	--tc-bg:#ffffff;
	--tc-surface:#f7f7f5;
	--tc-border:#e2e2e0;
	--tc-border-strong:#111111;
	--tc-text:#111111;
	--tc-text-secondary:#4a4a4a;
	--tc-text-muted:#8a8a8a;

	--tc-c-news:#791f1f;
	--tc-c-ukraine:#0c447c;
	--tc-c-tech:#04342c;
	--tc-c-science:#26215c;
	--tc-c-startups:#4a1b0c;
	--tc-c-guides:#633806;
	--tc-c-guides-bg:#faeeda;

	--tc-font-mast:"Playfair Display", Georgia, serif;
	--tc-font-headline:"Playfair Display", Georgia, serif;
	--tc-font-body:Georgia, "Times New Roman", serif;
	--tc-font-ui:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;

	--tc-radius:0px;
	--tc-container:1180px;
}

*{box-sizing:border-box;}

body.tc-body{
	margin:0;
	font-family:var(--tc-font-ui);
	color:var(--tc-text);
	background:var(--tc-bg);
	font-display:swap;
}

img{max-width:100%;height:auto;display:block;}

.tc-container{max-width:var(--tc-container);margin:0 auto;padding:0 20px;}

/* ---------- Header / masthead ---------- */
.tc-utility-bar{
	display:flex;justify-content:space-between;align-items:center;
	padding:6px 20px;font-size:11px;color:var(--tc-text-muted);
	border-bottom:0.5px solid var(--tc-border);
}
.tc-masthead{text-align:center;padding:20px 0 8px;}
.tc-masthead__row{display:flex;align-items:baseline;justify-content:center;gap:10px;}
.tc-masthead__name{
	font-family:var(--tc-font-mast);font-weight:900;font-size:42px;line-height:1;
	color:var(--tc-text);text-decoration:none;letter-spacing:-0.5px;
}
.tc-masthead__suffix{font-family:var(--tc-font-ui);font-size:14px;letter-spacing:4px;color:var(--tc-text);}
.tc-masthead__tagline{font-size:11px;color:var(--tc-text-secondary);letter-spacing:1.5px;margin-top:6px;}

.tc-rule{border:0;border-top:2px solid var(--tc-border-strong);border-bottom:1px solid var(--tc-border-strong);height:3px;margin:0;}

.tc-nav{border-bottom:0.5px solid var(--tc-border-strong);}
.tc-nav__list{
	list-style:none;margin:0;padding:9px 0;
	display:flex;justify-content:center;gap:0;flex-wrap:wrap;
}
.tc-nav__item{padding:0 14px;border-right:0.5px solid var(--tc-border);font-size:12px;}
.tc-nav__item:last-child{border-right:0;}
.tc-nav__link{color:var(--tc-text);text-decoration:none;}
.tc-nav__item.is-current .tc-nav__link{font-weight:700;}

/* ---------- Kicker (category label) ---------- */
.tc-kicker{
	display:inline-block;font-size:11px;font-weight:600;letter-spacing:0.5px;
	text-decoration:none;
}
.tc-kicker--news{color:var(--tc-c-news);}
.tc-kicker--ukraine{color:var(--tc-c-ukraine);}
.tc-kicker--tech{color:var(--tc-c-tech);}
.tc-kicker--science{color:var(--tc-c-science);}
.tc-kicker--startups{color:var(--tc-c-startups);}
.tc-kicker--guides{color:var(--tc-c-guides);}

/* ---------- Homepage hero ---------- */
.tc-hero{
	display:grid;grid-template-columns:1.7fr 1fr;gap:28px;
	padding:24px 0;border-top:0.5px solid var(--tc-border);
}
.tc-hero__figure{margin:0;background:var(--tc-surface);aspect-ratio:16/9;}
.tc-hero__title{font-family:var(--tc-font-headline);font-weight:700;font-size:30px;line-height:1.15;margin:12px 0 0;}
.tc-hero__dek{font-family:var(--tc-font-headline);font-style:italic;font-size:15px;color:var(--tc-text-secondary);margin-top:10px;}
.tc-byline{font-size:11px;color:var(--tc-text-muted);letter-spacing:0.3px;margin-top:10px;}

.tc-side-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:16px;}
.tc-side-list li{border-top:0.5px solid var(--tc-border);padding-top:14px;}
.tc-side-list li:first-child{border-top:0;padding-top:0;}
.tc-side-title{font-family:var(--tc-font-headline);font-weight:500;font-size:16px;line-height:1.3;margin-top:4px;}

/* ---------- Card grid (archive / category rows) ---------- */
.tc-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-top:2px solid var(--tc-border-strong);padding-top:16px;}
.tc-grid__col{padding:0 16px;border-right:0.5px solid var(--tc-border);}
.tc-grid__col:first-child{padding-left:0;}
.tc-grid__col:last-child{border-right:0;padding-right:0;}
.tc-grid__heading{font-size:12px;font-weight:600;letter-spacing:0.4px;margin:0 0 10px;}
.tc-card-mini{border-bottom:0.5px solid var(--tc-border);padding-bottom:10px;margin-bottom:10px;font-size:13px;line-height:1.4;}
.tc-card-mini:last-child{border-bottom:0;margin-bottom:0;padding-bottom:0;}
.tc-card-mini a{color:var(--tc-text);text-decoration:none;}

.tc-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;padding:24px 0;}
.tc-card{margin:0;}
.tc-card__figure{margin:0;background:var(--tc-surface);aspect-ratio:16/9;}
.tc-card__title{font-family:var(--tc-font-headline);font-size:17px;line-height:1.3;margin:10px 0 0;}
.tc-card__title a{color:var(--tc-text);text-decoration:none;}

/* ---------- Guides promo strip ---------- */
.tc-guides-strip{
	display:flex;align-items:center;justify-content:space-between;
	background:var(--tc-c-guides-bg);padding:14px 16px;margin:20px 0;text-decoration:none;
}
.tc-guides-strip__kicker{font-size:11px;color:var(--tc-c-guides);font-weight:600;letter-spacing:0.5px;}
.tc-guides-strip__title{font-family:var(--tc-font-headline);font-size:15px;color:#412402;margin-top:4px;}

/* ---------- Single article ---------- */
.tc-article{max-width:760px;margin:0 auto;padding:30px 20px 60px;}
.tc-article__title{font-family:var(--tc-font-headline);font-size:34px;line-height:1.15;margin:12px 0;}
.tc-article__dek{font-family:var(--tc-font-headline);font-style:italic;font-size:18px;color:var(--tc-text-secondary);margin-bottom:16px;}
.tc-article__meta{font-size:12px;color:var(--tc-text-muted);border-top:0.5px solid var(--tc-border);border-bottom:0.5px solid var(--tc-border);padding:10px 0;margin-bottom:20px;}
.tc-article__figure{margin:0 0 24px;aspect-ratio:16/9;background:var(--tc-surface);}
.tc-article__figure figcaption{font-size:12px;color:var(--tc-text-muted);margin-top:6px;}
.tc-article__body{font-family:var(--tc-font-body);font-size:18px;line-height:1.7;}
.tc-article__body p{margin:0 0 20px;}
.tc-article__tags{list-style:none;display:flex;flex-wrap:wrap;gap:8px;padding:0;margin:30px 0 0;}
.tc-article__tags a{font-size:12px;border:0.5px solid var(--tc-border-strong);padding:4px 10px;text-decoration:none;color:var(--tc-text);}

/* ---------- Footer ---------- */
.tc-footer{border-top:2px solid var(--tc-border-strong);margin-top:40px;padding:24px 0;font-size:12px;color:var(--tc-text-muted);}

/* ---------- Layout min-height to reduce CLS on dynamic blocks ---------- */
.tc-cards, .tc-grid{min-height:200px;}

@media (max-width:820px){
	.tc-hero{grid-template-columns:1fr;}
	.tc-grid{grid-template-columns:1fr 1fr;}
	.tc-cards{grid-template-columns:1fr;}
	.tc-nav__list{gap:0;font-size:11px;}
}

/* ---------- Author page ---------- */
.tc-author__header{text-align:center;padding:30px 0;border-bottom:0.5px solid var(--tc-border);margin-bottom:20px;}
.tc-author__header img{border-radius:50%;margin:0 auto 12px;}
.tc-author__role{font-size:13px;color:var(--tc-text-secondary);}
.tc-author__bio{max-width:560px;margin:12px auto 0;font-size:14px;color:var(--tc-text-secondary);line-height:1.6;}
.tc-author__links{list-style:none;display:flex;gap:14px;justify-content:center;padding:0;margin:14px 0 0;font-size:12px;}
.tc-author__portfolio-title{font-size:14px;font-weight:600;margin:20px 0 0;}

/* ---------- Editorial team ---------- */
.tc-team{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:20px;padding:0;margin:20px 0;}
.tc-team__item{text-align:center;font-size:13px;}
.tc-team__item img{border-radius:50%;margin:0 auto 8px;}
.tc-team__role{display:block;color:var(--tc-text-muted);font-size:12px;}

/* ---------- Author box under article ---------- */
.tc-author-box{display:flex;gap:12px;align-items:flex-start;border-top:0.5px solid var(--tc-border);padding-top:20px;margin-top:30px;}
.tc-author-box img{border-radius:50%;flex-shrink:0;}
.tc-author-box__name{font-weight:600;font-size:14px;color:var(--tc-text);text-decoration:none;}
.tc-author-box__bio{font-size:13px;color:var(--tc-text-secondary);margin:4px 0 0;line-height:1.5;}
