/* TCC Web v1.19.0 · Blog System & Legacy Cleanup */

.tcc-blog-hero,
.tcc-hub-hero,
.tcc-gone {
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(circle at 82% 22%, rgba(229,37,33,.07), transparent 28%),
    linear-gradient(180deg,#fff 0%,#fafafa 100%);
  border-bottom: 1px solid var(--tcc-border);
}
.tcc-blog-hero-grid,
.tcc-hub-hero-grid {
  min-height: 520px;
  display: grid;
  grid-template-columns: minmax(0,1.35fr) minmax(320px,.65fr);
  gap: 64px;
  align-items: center;
  padding-block: 84px;
}
.tcc-blog-hero h1,
.tcc-hub-hero h1,
.tcc-gone h1 {
  max-width: 820px;
  margin: 16px 0 24px;
  font-size: clamp(48px,5vw,72px);
  line-height: .98;
  letter-spacing: -.055em;
}
.tcc-blog-hero p,
.tcc-hub-hero p,
.tcc-gone p {
  max-width: 760px;
  margin: 0;
  color: #565656;
  font-size: 19px;
  line-height: 1.65;
}
.tcc-blog-hero-panel,
.tcc-hub-hero aside {
  position: relative;
  border: 1px solid #e5e5e5;
  border-radius: 20px;
  background: rgba(255,255,255,.92);
  box-shadow: var(--tcc-shadow);
  padding: 32px;
}
.tcc-blog-hero-panel::before,
.tcc-hub-hero aside::before {
  content:"";
  position:absolute;
  top:-1px;
  left:28px;
  width:52px;
  height:4px;
  border-radius:0 0 4px 4px;
  background:var(--tcc-red);
}
.tcc-blog-hero-panel span,
.tcc-hub-hero aside span {
  display:block;
  margin-bottom:16px;
  color:var(--tcc-red);
  font-size:11px;
  font-weight:850;
  letter-spacing:.12em;
}
.tcc-blog-hero-panel strong,
.tcc-hub-hero aside strong {
  display:block;
  margin-bottom:12px;
  font-size:26px;
  line-height:1.15;
  letter-spacing:-.03em;
}
.tcc-blog-hero-panel p,
.tcc-hub-hero aside p {font-size:15px;line-height:1.65;color:#656565}

.tcc-blog-index {padding:88px 0 110px;background:#fff}
.tcc-blog-index--archive {padding-top:54px}
.tcc-blog-index-head {
  display:flex;
  justify-content:space-between;
  gap:32px;
  align-items:flex-end;
  margin-bottom:38px;
}
.tcc-blog-index-head h2,
.tcc-hub-section-head h2,
.tcc-article-related h2 {
  margin:8px 0 0;
  font-size:clamp(34px,4vw,48px);
  line-height:1.03;
  letter-spacing:-.045em;
}
.tcc-blog-categories {display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.tcc-blog-categories a {
  padding:10px 14px;
  border:1px solid #ddd;
  border-radius:999px;
  background:#fff;
  color:#555;
  font-size:13px;
  font-weight:700;
}
.tcc-blog-categories a:hover,
.tcc-blog-categories a.is-active {border-color:var(--tcc-red);color:var(--tcc-red)}

.tcc-blog-grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:24px;
}
.tcc-blog-card {
  overflow:hidden;
  border:1px solid #e7e7e7;
  border-radius:18px;
  background:#fff;
  transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.tcc-blog-card:hover {transform:translateY(-3px);box-shadow:0 18px 40px rgba(17,17,17,.08);border-color:#d8d8d8}
.tcc-blog-card-media {display:block;aspect-ratio:16/10;overflow:hidden;background:#f2f2f2}
.tcc-blog-card-media img {width:100%;height:100%;object-fit:cover;transition:transform .35s ease}
.tcc-blog-card:hover .tcc-blog-card-media img {transform:scale(1.025)}
.tcc-blog-card-placeholder {
  width:100%;height:100%;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-end;
  padding:28px;background:linear-gradient(135deg,#131313 0%,#1b1b1b 62%,#321615 100%);color:#fff
}
.tcc-blog-card-placeholder i {font-style:normal;color:var(--tcc-red);font-size:14px;font-weight:900;letter-spacing:.12em}
.tcc-blog-card-placeholder b {margin-top:7px;font-size:24px;line-height:1.1}
.tcc-blog-card-body {padding:24px}
.tcc-blog-card-meta {display:flex;gap:10px;flex-wrap:wrap;margin-bottom:13px;color:#8a8a8a;font-size:11px;font-weight:750;text-transform:uppercase;letter-spacing:.04em}
.tcc-blog-card-meta span:first-child {color:var(--tcc-red)}
.tcc-blog-card h2 {margin:0 0 12px;font-size:25px;line-height:1.12;letter-spacing:-.03em}
.tcc-blog-card h2 a:hover {color:var(--tcc-red)}
.tcc-blog-card-excerpt {color:#626262;font-size:15px;line-height:1.65}
.tcc-blog-card-excerpt p {margin:0}
.tcc-blog-card-link {display:inline-flex;gap:8px;margin-top:18px;color:var(--tcc-red);font-size:14px;font-weight:800}
.tcc-blog-pagination {margin-top:46px}
.tcc-blog-pagination .nav-links {display:flex;gap:8px;justify-content:center;align-items:center;flex-wrap:wrap}
.tcc-blog-pagination .page-numbers {padding:9px 12px;border:1px solid #ddd;border-radius:9px;font-weight:700}
.tcc-blog-pagination .current {background:var(--tcc-black);border-color:var(--tcc-black);color:#fff}

.tcc-blog-empty {
  max-width:860px;
  margin:0 auto;
  padding:58px;
  border:1px solid #e5e5e5;
  border-radius:22px;
  background:linear-gradient(180deg,#fff,#fbfbfb);
  text-align:center;
}
.tcc-blog-empty h2 {margin:10px 0 16px;font-size:clamp(34px,4vw,48px);line-height:1.04;letter-spacing:-.04em}
.tcc-blog-empty p {max-width:660px;margin:0 auto;color:#666;font-size:17px;line-height:1.65}
.tcc-blog-empty-actions {display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin-top:28px}

.tcc-blog-archive-head {padding:84px 0 46px;background:#fafafa;border-bottom:1px solid #eee}
.tcc-blog-archive-head h1 {margin:10px 0 14px;font-size:clamp(42px,5vw,64px);line-height:1;letter-spacing:-.05em}
.tcc-blog-archive-description {max-width:700px;color:#666;font-size:17px}
.tcc-blog-back {display:inline-block;margin-top:22px;color:var(--tcc-red);font-weight:800}

.tcc-article-hero {padding:72px 0 54px;background:linear-gradient(180deg,#fff 0%,#fafafa 100%);border-bottom:1px solid #eee}
.tcc-article-hero-inner {max-width:980px}
.tcc-article-breadcrumb {display:flex;gap:8px;flex-wrap:wrap;margin-bottom:30px;color:#7b7b7b;font-size:13px;font-weight:650}
.tcc-article-breadcrumb a:hover {color:var(--tcc-red)}
.tcc-article-hero h1 {max-width:980px;margin:14px 0 22px;font-size:clamp(48px,6vw,78px);line-height:.98;letter-spacing:-.055em}
.tcc-article-deck {max-width:820px;margin:0;color:#555;font-size:21px;line-height:1.55}
.tcc-article-meta {display:flex;gap:16px;flex-wrap:wrap;margin-top:26px;color:#777;font-size:13px;font-weight:650}
.tcc-article-featured {max-width:1180px;margin-top:48px}
.tcc-article-featured img {width:100%;max-height:690px;object-fit:cover;border-radius:20px}
.tcc-article-layout {display:grid;grid-template-columns:minmax(0,760px) minmax(260px,340px);gap:72px;align-items:start;padding-block:76px 100px}
.tcc-article-content {font-size:18px;line-height:1.78;color:#2f2f2f}
.tcc-article-content > *:first-child {margin-top:0}
.tcc-article-content h2 {margin:52px 0 18px;font-size:38px;line-height:1.08;letter-spacing:-.04em;color:#111}
.tcc-article-content h3 {margin:38px 0 14px;font-size:28px;line-height:1.15;color:#111}
.tcc-article-content a {color:var(--tcc-red);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
.tcc-article-content img {border-radius:16px;margin-block:28px}
.tcc-article-content blockquote {margin:36px 0;padding:22px 26px;border-left:4px solid var(--tcc-red);background:#fafafa;font-size:20px}
.tcc-article-side {position:sticky;top:112px}
.tcc-article-side-card {padding:26px;border-radius:18px;background:#111;color:#fff}
.tcc-article-side-card > span {display:block;margin-bottom:14px;color:#ff6c61;font-size:11px;font-weight:850;letter-spacing:.12em}
.tcc-article-side-card strong {display:block;font-size:24px;line-height:1.15}
.tcc-article-side-card p {color:#bcbcbc;font-size:14px;line-height:1.6}
.tcc-article-side-card .tcc-button {width:100%;margin-top:8px}
.tcc-article-related {padding:78px 0 108px;background:#fafafa;border-top:1px solid #eee}
.tcc-article-related h2 {margin-bottom:30px}

.tcc-hub-actions {display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}
.tcc-hub-services,
.tcc-importer-path {padding:88px 0 110px}
.tcc-hub-section-head {margin-bottom:34px}
.tcc-hub-card-grid,
.tcc-importer-grid {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.tcc-hub-card,
.tcc-importer-grid > a {display:flex;min-height:290px;flex-direction:column;padding:26px;border:1px solid #e5e5e5;border-radius:18px;background:#fff;transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}
.tcc-hub-card:hover,
.tcc-importer-grid > a:hover {transform:translateY(-3px);border-color:#d3d3d3;box-shadow:0 16px 35px rgba(17,17,17,.07)}
.tcc-hub-card > span,
.tcc-importer-grid > a > span {color:var(--tcc-red);font-size:12px;font-weight:900;letter-spacing:.08em}
.tcc-hub-card h3,
.tcc-importer-grid strong {margin:24px 0 12px;font-size:25px;line-height:1.1;letter-spacing:-.03em}
.tcc-hub-card p,
.tcc-importer-grid p {margin:0;color:#666;font-size:15px;line-height:1.6}
.tcc-hub-card > a {margin-top:auto;padding-top:24px;color:var(--tcc-red);font-size:14px;font-weight:850}
.tcc-importer-grid > a p {margin-bottom:auto}
.tcc-hub-hero--importer {background:radial-gradient(circle at 78% 25%,rgba(229,37,33,.07),transparent 30%),linear-gradient(180deg,#fff,#fcfaf9)}

.tcc-gone {min-height:calc(100vh - 78px);display:flex;align-items:center}
.tcc-gone-inner {padding-block:110px;text-align:left}
.tcc-gone p {max-width:820px}
.tcc-gone-actions {display:flex;gap:12px;flex-wrap:wrap;margin-top:32px}

@media (max-width: 980px) {
  .tcc-blog-hero-grid,.tcc-hub-hero-grid {grid-template-columns:1fr;gap:28px;min-height:auto;padding-block:72px}
  .tcc-blog-grid {grid-template-columns:repeat(2,minmax(0,1fr))}
  .tcc-hub-card-grid,.tcc-importer-grid {grid-template-columns:repeat(2,minmax(0,1fr))}
  .tcc-article-layout {grid-template-columns:1fr;gap:40px}
  .tcc-article-side {position:static}
  .tcc-article-side-card {max-width:620px}
}

@media (max-width: 700px) {
  .tcc-blog-hero-grid,.tcc-hub-hero-grid {padding-block:54px}
  .tcc-blog-hero h1,.tcc-hub-hero h1,.tcc-gone h1 {font-size:42px;line-height:1.01}
  .tcc-blog-hero p,.tcc-hub-hero p,.tcc-gone p {font-size:17px}
  .tcc-blog-hero-panel,.tcc-hub-hero aside {padding:24px}
  .tcc-blog-index {padding:64px 0 78px}
  .tcc-blog-index-head {display:block;margin-bottom:28px}
  .tcc-blog-categories {justify-content:flex-start;margin-top:20px;overflow:auto;flex-wrap:nowrap;padding-bottom:5px}
  .tcc-blog-categories a {white-space:nowrap}
  .tcc-blog-grid {grid-template-columns:1fr}
  .tcc-blog-card-body {padding:21px}
  .tcc-blog-card h2 {font-size:24px}
  .tcc-blog-empty {padding:36px 22px;text-align:left}
  .tcc-blog-empty-actions {justify-content:flex-start}
  .tcc-blog-empty-actions .tcc-button {width:100%}
  .tcc-blog-archive-head {padding:56px 0 34px}
  .tcc-article-hero {padding:48px 0 38px}
  .tcc-article-breadcrumb {margin-bottom:22px}
  .tcc-article-hero h1 {font-size:44px}
  .tcc-article-deck {font-size:18px}
  .tcc-article-layout {padding-block:48px 70px}
  .tcc-article-content {font-size:17px}
  .tcc-article-content h2 {font-size:31px}
  .tcc-article-content h3 {font-size:25px}
  .tcc-article-related {padding:58px 0 76px}
  .tcc-hub-services,.tcc-importer-path {padding:64px 0 80px}
  .tcc-hub-card-grid,.tcc-importer-grid {grid-template-columns:1fr}
  .tcc-hub-card,.tcc-importer-grid > a {min-height:0}
  .tcc-hub-actions .tcc-button,.tcc-gone-actions .tcc-button {width:100%}
  .tcc-gone {min-height:auto}
  .tcc-gone-inner {padding-block:76px}
}
