/* --- tb-base --- */
:root{
  --ink:#0E2E31; --ink-2:#14403F; --ground:#F4F7F6; --surface:#FFFFFF;
  --line:#DCE5E3; --muted:#5C6E6C; --teal:#13716B; --teal-2:#0F5F5A;
  --coral:#FF5A3C; --coral-deep:#E23F22; --mint:#12B886; --gold:#C9A24B;
  --on-dark:#E8F1EF; --on-dark-muted:#9FB6B2; --btn-r:999px;
  --shadow:0 8px 24px -18px rgba(16,40,38,.16);
  --font:"Onest",system-ui,-apple-system,"Segoe UI",sans-serif;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0;overflow-x:clip}
body{background:var(--ground);color:var(--ink);font-family:var(--font);
  font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility}
h1,h2,h3{margin:0;text-wrap:balance}
a{color:var(--teal);text-decoration:none}
a:hover{color:var(--ink)}
button{font-family:var(--font);cursor:pointer}
img{max-width:100%}
::selection{background:rgba(19,113,107,.16)}

/* --- tb-blog --- */
.tbb-wrap{max-width:1160px;margin:0 auto;padding:0 clamp(16px,4vw,28px)}
.tbb-hero{padding:clamp(44px,6vw,80px) 0 clamp(20px,2.6vw,28px)}
.tbb-crumbs{font-size:13.5px;color:var(--muted);margin-bottom:16px}
.tbb-crumbs a{color:inherit}
.tbb-hero h1{font-size:clamp(30px,4.2vw,46px);font-weight:800;letter-spacing:-0.025em;line-height:1.08}
.tbb-hero p{margin:16px 0 0;font-size:clamp(16px,1.9vw,18.5px);color:var(--muted);max-width:70ch}
.tbb-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:26px 0 0}
.tbb-tab{display:inline-flex;align-items:center;gap:8px;padding:9px 16px;border-radius:999px;
  border:1px solid var(--line);background:var(--surface);font-size:14.5px;font-weight:600;
  color:var(--ink);transition:border-color .15s ease,color .15s ease}
.tbb-tab:hover{border-color:var(--teal);color:var(--teal)}
.tbb-tab[aria-current="page"]{background:var(--ink);border-color:var(--ink);color:#fff}
.tbb-tab span{font-size:12.5px;color:var(--muted);font-variant-numeric:tabular-nums}
.tbb-tab[aria-current="page"] span{color:var(--on-dark-muted)}
.tbb-grid{display:grid;gap:clamp(16px,2vw,22px);padding-bottom:clamp(44px,6vw,76px);
  grid-template-columns:repeat(auto-fit,minmax(min(320px,100%),1fr))}
.tbb-card{display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--line);
  border-radius:18px;overflow:hidden;box-shadow:var(--shadow);color:inherit;
  transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}
.tbb-card:hover{transform:translateY(-4px);border-color:rgba(19,113,107,.45);
  box-shadow:0 22px 46px -24px rgba(16,40,38,.3);color:inherit}
.tbb-card__img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;background:var(--ground)}
.tbb-card__body{padding:clamp(18px,2.2vw,24px);display:flex;flex-direction:column;gap:9px;flex:1}
.tbb-card__cat{align-self:flex-start;font-size:11.5px;font-weight:700;letter-spacing:.04em;
  text-transform:uppercase;color:var(--teal);background:rgba(19,113,107,.09);
  border-radius:999px;padding:5px 11px}
.tbb-card h2,.tbb-card h3{font-size:17.5px;font-weight:700;letter-spacing:-0.01em;line-height:1.28}
.tbb-card p{margin:0;font-size:14.5px;color:var(--muted);line-height:1.5}
.tbb-card__more{margin-top:auto;padding-top:6px;font-size:14px;font-weight:600;color:var(--teal)}
.tbb-cta{margin:0 0 clamp(44px,6vw,72px);padding:clamp(24px,3vw,34px);border-radius:20px;
  background:var(--ink);color:var(--on-dark);display:grid;gap:18px;align-items:center}
@media(min-width:761px){.tbb-cta{grid-template-columns:minmax(0,1fr) auto;gap:28px}}
.tbb-cta h2{font-size:clamp(20px,2.4vw,25px);font-weight:750;color:#fff;letter-spacing:-0.015em}
.tbb-cta p{margin:9px 0 0;font-size:15.5px;color:var(--on-dark-muted);max-width:62ch}
.tbb-btn{display:inline-flex;align-items:center;justify-content:center;background:var(--coral);
  color:#fff;border:0;border-radius:999px;padding:15px 28px;font-size:16px;font-weight:600;
  line-height:1;white-space:nowrap;box-shadow:0 10px 24px -14px rgba(255,90,60,.75);
  transition:transform .15s ease,background .15s ease}
.tbb-btn:hover{background:var(--coral-deep);transform:translateY(-2px)}
@media(max-width:560px){.tbb-btn{width:100%}}

/* --- ссылка на услугу по теме рубрики --- */
/* Светлый блок перед тёмным призывом: два тёмных пятна подряд читались бы
   как один баннер, и ссылку на услугу переставали замечать. */
.tbb-service{margin:0 0 clamp(20px,3vw,28px);padding:clamp(22px,3vw,30px);border-radius:20px;
  background:var(--ground);border:1px solid var(--line);display:grid;gap:16px;align-items:center}
@media(min-width:761px){.tbb-service{grid-template-columns:minmax(0,1fr) auto;gap:28px}}
.tbb-service__label{margin:0 0 6px;font-size:13px;font-weight:650;letter-spacing:.02em;
  text-transform:uppercase;color:var(--teal)}
.tbb-service h2{margin:0;font-size:clamp(19px,2.2vw,23px);font-weight:750;letter-spacing:-0.015em}
.tbb-service h2 a{color:inherit;text-decoration:none}
.tbb-service h2 a:hover{color:var(--teal)}
.tbb-service p{margin:8px 0 0;font-size:15.5px;color:var(--muted);max-width:62ch}
.tbb-btn--ghost{background:transparent;color:var(--ink);border:1px solid var(--ink);
  box-shadow:none;text-decoration:none}
.tbb-btn--ghost:hover{background:var(--ink);color:#fff}

/* --- страница автора --- */
.tba-top{display:grid;gap:clamp(20px,3vw,34px);align-items:start;padding:clamp(36px,5vw,60px) 0 clamp(18px,2.4vw,26px)}
@media(min-width:721px){.tba-top{grid-template-columns:auto minmax(0,1fr)}}
.tba-photo{width:clamp(104px,14vw,148px);height:clamp(104px,14vw,148px);border-radius:999px;
  object-fit:cover;border:1px solid var(--line);box-shadow:var(--shadow);background:var(--ground)}
.tba-role{font-size:14.5px;font-weight:650;color:var(--teal);margin:0 0 8px}
.tba-top h1{font-size:clamp(28px,3.8vw,42px);font-weight:800;letter-spacing:-0.025em;line-height:1.1}
.tba-bio{margin:16px 0 0;font-size:clamp(15.5px,1.8vw,17.5px);color:var(--muted);max-width:68ch;line-height:1.55}
.tba-facts{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}
.tba-fact{font-size:13.5px;font-weight:600;color:var(--ink);background:var(--surface);
  border:1px solid var(--line);border-radius:999px;padding:7px 14px}
.tba-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.tba-chip{font-size:12.5px;font-weight:600;color:var(--teal);background:rgba(19,113,107,.09);
  border-radius:999px;padding:6px 12px}
.tba-people{display:grid;gap:clamp(14px,2vw,20px);padding-bottom:clamp(40px,6vw,72px);
  grid-template-columns:repeat(auto-fit,minmax(min(280px,100%),1fr))}
.tba-person{display:flex;gap:16px;align-items:flex-start;background:var(--surface);
  border:1px solid var(--line);border-radius:18px;padding:20px;color:inherit;
  transition:transform .18s ease,border-color .18s ease}
.tba-person:hover{transform:translateY(-3px);border-color:rgba(19,113,107,.45);color:inherit}
.tba-person img{width:64px;height:64px;border-radius:999px;object-fit:cover;flex:none;
  border:1px solid var(--line)}
.tba-person b{display:block;font-size:16.5px;letter-spacing:-0.01em}
.tba-person span{display:block;font-size:13px;color:var(--teal);font-weight:600;margin-top:2px}
.tba-person p{margin:8px 0 0;font-size:13.5px;color:var(--muted);line-height:1.45}