:root{--tb-red:#df272c;--tb-navy:#102f52;--tb-blue:#0f4d7c}
@font-face{
	font-family:Inter;
	font-style:normal;
	font-weight:100 900;
	font-display:swap;
	src:url("../fonts/inter-latin-ext.woff2") format("woff2");
	unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}
@font-face{
	font-family:Inter;
	font-style:normal;
	font-weight:100 900;
	font-display:swap;
	src:url("../fonts/inter-latin.woff2") format("woff2");
	unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
@font-face{
	font-family:"TB Flaticon UIcons";
	src:url("../fonts/uicons-regular-rounded-subset.woff2") format("woff2");
	font-display:swap;
	font-style:normal;
	font-weight:400;
}
.tb-fi{display:inline-flex;align-items:center;justify-content:center;line-height:1}
.tb-fi:before{font-family:"TB Flaticon UIcons"!important;font-style:normal;font-weight:400!important;font-variant:normal;text-transform:none;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
.fi-rr-paint-roller:before{content:"\f9eb"}.fi-rr-trees-alt:before{content:"\fe1f"}.fi-rr-seedling:before{content:"\fbc2"}.fi-rr-flower-tulip:before{content:"\f6aa"}
.fi-rr-sofa:before{content:"\fc5f"}.fi-rr-tools:before{content:"\fdcb"}.fi-rr-hat-chef:before{content:"\f77f"}.fi-rr-bed:before{content:"\f22e"}
.fi-rr-lightbulb-on:before{content:"\f8ac"}.fi-rr-broom:before{content:"\f2f3"}.fi-rr-washer:before{content:"\fedf"}.fi-rr-customer-service:before{content:"\f514"}
.fi-rr-user-helmet-safety:before{content:"\fe85"}.fi-rr-oven:before{content:"\f9e1"}.fi-rr-building:before{content:"\f303"}.fi-rr-window-frame:before{content:"\ff0e"}
.fi-rr-wrench-simple:before{content:"\ff25"}.fi-rr-search:before{content:"\fbba"}.fi-rr-envelope:before{content:"\f5de"}.fi-rr-map-marker:before{content:"\f8f8"}
.fi-rr-badge-check:before{content:"\f1eb"}.fi-rr-star:before{content:"\fce9"}.fi-rr-scale:before{content:"\fb97"}.fi-rr-newspaper:before{content:"\f9a5"}
.fi-rr-phone-call:before{content:"\fa61"}.fi-rr-clock:before{content:"\f45a"}.fi-rr-target-audience:before{content:"\fd5e"}.fi-rr-eye:before{content:"\f5f8"}
.fi-rr-chart-line-up:before{content:"\f3a5"}.fi-rr-grid:before{content:"\f71c"}.fi-rr-list:before{content:"\f8c4"}.fi-rr-calendar:before{content:"\f339"}
.fi-rr-arrow-up-right:before{content:"\f1b4"}.fi-rr-filters:before{content:"\f67f"}.fi-rr-globe:before{content:"\f705"}.fi-rr-check:before{content:"\f3c8"}
.fi-rr-megaphone:before{content:"\f917"}.fi-rr-screen:before{content:"\fba4"}.fi-rr-ad:before{content:"\f116"}.fi-rr-users:before{content:"\fea6"}
.fi-rr-arrow-left:before{content:"\f197"}.fi-rr-arrow-right:before{content:"\f19b"}.fi-rr-check-circle:before{content:"\f3c4"}
.fi-rr-exclamation:before{content:"\f5eb"}.fi-rr-pencil:before{content:"\fa29"}.fi-rr-shield-check:before{content:"\fbdb"}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body.tb-theme{font-family:Inter,Arial,sans-serif;max-width:100%;overflow-x:hidden}
.tb-brand{display:inline-flex!important;align-items:center;line-height:1;text-decoration:none!important;white-space:nowrap;font-size:18px}
.tb-brand .tb-brand-logo{display:block;width:168px;max-width:100%;height:auto;object-fit:contain}
.tb-brand span{font-size:.72em;letter-spacing:.18em;font-weight:700;color:inherit}
.tb-brand strong{font-size:1.35em;letter-spacing:-.04em;color:var(--tb-red)}
.site-header .tb-brand,.topbar .tb-brand{color:var(--tb-navy)}
.site-footer .tb-brand,footer .footerbrand{color:#fff}
.menu-toggle b{font:inherit}.menu-toggle span{display:block}.menu-toggle b{display:none}
.main-nav a,.menu a{white-space:nowrap}
.tb-empty{padding:48px 24px;text-align:center;background:#fff;border-radius:8px}
.screen-reader-text,.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.pagination .page-numbers{display:inline-flex;align-items:center;justify-content:center;min-width:38px;height:38px;padding:0 10px;text-decoration:none}
.pagination .current{background:var(--tb-red);color:#fff}
.wpcf7 form p{margin:0}.wpcf7 label{display:block}.wpcf7 input:not([type=submit]),.wpcf7 textarea,.wpcf7 select{width:100%}.wpcf7 .wpcf7-submit{cursor:pointer}
.logo-fallback{display:flex;align-items:center;justify-content:center;width:100%;height:100%;min-height:72px;background:#edf2f7;color:var(--tb-navy);font-size:30px;font-weight:800;text-transform:uppercase}
.wpcf7 .field-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.wpcf7 label{font-weight:600;color:#24364a}.wpcf7 input:not([type=submit]),.wpcf7 textarea{margin-top:7px;border:1px solid #d7dee6;border-radius:4px;padding:12px 14px;font:inherit;background:#fff}.wpcf7 textarea{min-height:130px;resize:vertical}.wpcf7 .consent{display:flex;gap:8px;align-items:flex-start;font-weight:400}.wpcf7 .consent input{width:auto;margin:3px 0 0}.wpcf7-submit{border:0;background:var(--tb-red);color:#fff;padding:13px 24px;border-radius:4px;font-weight:700}
.site-footer a,footer a{text-decoration:none}
.site-footer .footer-grid h4{display:none}.footgrid h3{display:none}
.tb-category .site-footer>.container{width:min(1200px,calc(100% - 48px));margin-inline:auto}.tb-category .site-footer{background:#102f52;color:#fff;padding:48px 0 22px}.tb-category .footer-grid{display:grid;grid-template-columns:1.5fr repeat(4,1fr);gap:32px}.tb-category .footer-grid a{display:block;margin:8px 0;color:inherit}.tb-category .copyright{display:flex;justify-content:space-between;margin-top:28px;padding-top:18px;border-top:1px solid rgba(255,255,255,.18)}
@media(max-width:900px){.site-header .main-nav{display:none}.site-header .main-nav.is-open{display:flex}.site-header .header-actions{display:none}.menu-toggle,.mobile-menu,.menu-btn{display:inline-flex}.menu-toggle b{display:block}.menu-toggle span{display:none}}
@media(max-width:900px){.tb-category .footer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.tb-category .footer-grid>div:first-child{grid-column:1/-1}}
@media(max-width:600px){.wpcf7 .field-row{grid-template-columns:1fr}}
@media(max-width:600px){.tb-category .footer-grid{grid-template-columns:1fr}.tb-category .footer-grid>div:first-child{grid-column:auto}.tb-category .copyright{flex-direction:column;gap:10px}}

/* Unified wide layout and type system. */
:root{
  --tb-page-max:1440px;
  --tb-page-gutter:clamp(18px,2.5vw,40px);
  --tb-content-wide:1120px;
  --tb-font:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;
  --tb-ink:#17191d;
  --tb-muted:#626a75;
  --tb-line:#e2e6eb;
  --tb-surface:#fff;
  --tb-soft:#f6f8fa;
  --tb-radius:10px;
  --tb-shadow:0 10px 30px rgba(16,24,40,.055);
  --tb-h1:clamp(38px,3.6vw,52px);
  --tb-h2:clamp(27px,2.25vw,34px);
  --tb-h3:clamp(18px,1.35vw,21px);
}

body.tb-theme{
  color:var(--tb-ink);
  font-family:var(--tb-font)!important;
  font-size:16px;
  line-height:1.6;
  text-rendering:optimizeLegibility;
  -webkit-font-smoothing:antialiased;
}
body.tb-theme button,
body.tb-theme input,
body.tb-theme select,
body.tb-theme textarea{font-family:inherit;font-size:15px}
body.tb-theme main{min-width:0}
body.tb-theme img{max-width:100%}
body.tb-theme h1,
body.tb-theme h2,
body.tb-theme h3,
body.tb-theme h4{font-family:var(--tb-font);font-weight:800;color:var(--tb-ink)}
body.tb-theme h1{font-size:var(--tb-h1);line-height:1.08;letter-spacing:-.04em}
body.tb-theme .hero h1,
body.tb-directory .titleline h1,
body.tb-company .company-heading h1,
body.tb-article .article h1,
body.tb-author .author-copy h1{font-size:var(--tb-h1);line-height:1.08;letter-spacing:-.04em}
body.tb-theme .section-head h2,
body.tb-theme .content-section>h2,
body.tb-theme .contact-section>.container>h2,
body.tb-theme .mission h2,
body.tb-theme .values>h2,
body.tb-theme .team-section>h2{font-size:var(--tb-h2);line-height:1.2;letter-spacing:-.025em}
body.tb-theme .main-nav a,
body.tb-theme nav.menu a{font-size:14px;line-height:1.2}
body.tb-theme .btn,
body.tb-theme .button,
body.tb-theme .outline,
body.tb-theme .login,
body.tb-theme .details,
body.tb-theme .more,
body.tb-theme button[type=submit],
body.tb-theme input[type=submit]{min-height:42px;font-size:14px;border-radius:7px}

/* One page grid on every template. */
body.tb-home .container,
body.tb-about .container,
body.tb-contact .container,
body.tb-advertising .container,
body.tb-company .container,
body.tb-directory .wrap,
body.tb-author .page-shell,
body.tb-article .page-shell,
body.tb-category .hero-inner,
body.tb-category .catalog-shell{
  width:min(var(--tb-page-max),calc(100% - (2 * var(--tb-page-gutter))));
  max-width:none;
  margin-left:auto;
  margin-right:auto;
}
body.tb-home .header-inner,
body.tb-about .header-inner,
body.tb-contact .header-inner,
body.tb-advertising .nav-wrap,
body.tb-author .header-inner,
body.tb-article .header-inner{
  width:min(var(--tb-page-max),calc(100% - (2 * var(--tb-page-gutter))));
  max-width:none;
  margin-left:auto;
  margin-right:auto;
  padding-left:0;
  padding-right:0;
}
body.tb-theme .site-header:not(.tb-company .site-header){height:72px;min-height:72px}
body.tb-theme .site-header .tb-brand{font-size:19px;min-width:150px}
body.tb-theme .site-header .header-inner{gap:clamp(20px,2.4vw,40px)}
body.tb-theme .site-header .main-nav{gap:clamp(18px,2.25vw,36px)}
body.tb-theme .site-header .header-actions{gap:10px}

/* Homepage. */
body.tb-home .hero{height:auto;min-height:460px}
body.tb-home .hero-content{padding-top:72px;padding-bottom:64px}
body.tb-home .hero h1{max-width:820px;margin-bottom:18px}
body.tb-home .hero h1{color:#fff}
body.tb-home .hero p{max-width:720px;font-size:18px;line-height:1.65}
body.tb-home .hero-search{width:min(760px,100%);height:52px;grid-template-columns:210px 1fr 116px}
body.tb-home .benefit-grid{min-height:82px;height:auto;gap:32px}
body.tb-home .benefit-grid strong{font-size:15px}
body.tb-home .benefit-grid span{font-size:13px}
body.tb-home .section-head h2{font-size:var(--tb-h2)}
body.tb-home .category-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:16px}
body.tb-home .article-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
body.tb-home #articles .container{width:min(1200px,calc(100% - (2 * var(--tb-page-gutter))))}
body.tb-home .company-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:16px}
body.tb-home .directory-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:16px}
body.tb-home .category-card,
body.tb-home .article-card,
body.tb-home .company-card,
body.tb-home .directory-card{border-radius:var(--tb-radius);box-shadow:var(--tb-shadow)}
body.tb-home .category-card h3,
body.tb-home .article-card h3,
body.tb-home .company-card h3,
body.tb-home .directory-card h3{font-size:18px;line-height:1.35}
body.tb-home .category-card p,
body.tb-home .article-card p{font-size:14px;line-height:1.55}
body.tb-home .article-card{display:flex;min-height:0;flex-direction:column}
body.tb-home .article-card>a:first-child{display:block;height:clamp(160px,13vw,185px);overflow:hidden;background:var(--tb-soft)}
body.tb-home .article-card>a:first-child>img{width:100%;height:100%;object-fit:cover;object-position:center}
body.tb-home .article-body{min-height:190px;flex:1;padding:16px 16px 14px}
body.tb-home .article-card h3{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:3;margin-bottom:9px}
body.tb-home .article-card p{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:3;margin-bottom:14px}
body.tb-home .article-meta{margin-top:auto;font-size:12px;gap:12px}
body.tb-home .newsletter-inner{min-height:104px;height:auto;grid-template-columns:64px 1fr minmax(360px,520px);padding:22px 28px}
body.tb-home .newsletter-copy h2{font-size:22px}

/* Company directory. */
body.tb-directory{font-size:16px}
body.tb-directory .navrow{height:68px;gap:18px}
body.tb-directory .menu{height:44px;gap:36px;font-size:14px}
body.tb-directory .search{width:min(420px,35vw);height:42px}
body.tb-directory .search input{font-size:14px}
body.tb-directory .crumbs{font-size:12px;margin-top:30px}
body.tb-directory .titleline h1{margin:20px 0 8px}
body.tb-directory .titleline p{font-size:16px;margin-bottom:24px}
body.tb-directory .count{font-size:14px;padding:10px 17px}
body.tb-directory .layout{grid-template-columns:minmax(0,1fr) 280px;gap:30px}
body.tb-directory .catalog{grid-template-columns:220px minmax(0,1fr);gap:20px}
body.tb-directory .filter-grid{grid-template-columns:1.4fr repeat(4,1fr);gap:15px}
body.tb-directory .filters{padding:20px;border-radius:var(--tb-radius)}
body.tb-directory .filters label,
body.tb-directory .active{font-size:13px}
body.tb-directory .input,
body.tb-directory select,
body.tb-directory .side input,
body.tb-directory .widget input{height:42px;font-size:14px}
body.tb-directory .sidebox{border-radius:var(--tb-radius)}
body.tb-directory .sidebox h3{font-size:13px;padding:15px}
body.tb-directory .sidebox a,
body.tb-directory .sidebox label{font-size:13px;padding:11px 14px}
body.tb-directory .companies{gap:10px}
body.tb-directory .company{min-height:104px;height:auto;grid-template-columns:110px minmax(0,1fr) 190px 88px;padding:13px;border-radius:var(--tb-radius)}
body.tb-directory .company img{width:92px;height:68px}
body.tb-directory .company h3{font-size:18px}
body.tb-directory .company .meta,
body.tb-directory .company .contact{font-size:12px}
body.tb-directory .company .tags span{font-size:11px;padding:4px 7px}
body.tb-directory .ad{width:100%}
body.tb-directory .directory-ad-link{
	display:block;
	overflow:hidden;
	margin-top:8px;
	border-radius:12px;
	box-shadow:var(--tb-shadow);
}
body.tb-directory .directory-ad-link .ad{
	display:block;
	width:100%;
	height:auto;
	margin:0;
	transition:transform .25s ease;
}
body.tb-directory .directory-ad-link:hover .ad{transform:scale(1.015)}
body.tb-directory .widget h3{font-size:16px}
body.tb-directory .widget,
body.tb-directory .widget p{font-size:13px}
body.tb-directory .benefitgrid{min-height:86px;height:auto}
body.tb-directory .benefitgrid b{font-size:14px}
body.tb-directory .benefitgrid small{font-size:12px}
body.tb-directory .city-filter{
	overflow:hidden;
	margin:0 0 24px;
	border:1px solid var(--tb-line);
	border-radius:14px;
	background:#fff;
	box-shadow:var(--tb-shadow);
}
body.tb-directory .city-filter-head{
	display:flex;
	min-height:62px;
	align-items:center;
	justify-content:space-between;
	gap:18px;
	padding:12px 16px;
	border-bottom:1px solid var(--tb-line);
}
body.tb-directory .city-filter-head>div:first-child{display:grid;grid-template-columns:30px auto;align-items:center;gap:0 9px;min-width:0}
body.tb-directory .city-filter-pin{display:grid;grid-row:1/3;width:30px;height:30px;place-items:center;border-radius:8px;background:#eef4f8;color:var(--tb-blue);font-size:18px;font-weight:800}
body.tb-directory .city-filter-head strong{font-size:15px;line-height:1.25}
body.tb-directory .city-filter-head small{grid-column:2;color:var(--tb-muted);font-size:11px;line-height:1.35}
body.tb-directory .city-filter-controls{display:flex;flex:0 0 auto;gap:7px}
body.tb-directory .city-filter-controls button{
	display:grid;
	width:38px;
	height:38px;
	min-height:38px;
	place-items:center;
	padding:0;
	border:1px solid var(--tb-line);
	border-radius:8px;
	background:#fff;
	color:var(--tb-ink);
	font-size:22px;
	cursor:pointer;
}
body.tb-directory .city-filter-controls button:hover:not(:disabled){border-color:#c5ced8;background:#f7f9fb}
body.tb-directory .city-filter-controls button:disabled{opacity:.36;cursor:default}
body.tb-directory .city-filter-track{
	display:flex;
	gap:9px;
	overflow-x:auto;
	padding:14px 16px 16px;
	scroll-behavior:smooth;
	scroll-snap-type:x proximity;
	scrollbar-color:#cbd3dc transparent;
	scrollbar-width:thin;
}
body.tb-directory .city-filter-track::-webkit-scrollbar{height:6px}
body.tb-directory .city-filter-track::-webkit-scrollbar-thumb{border-radius:999px;background:#cbd3dc}
body.tb-directory .city-filter-chip{
	display:inline-flex;
	min-width:max-content;
	height:46px;
	align-items:center;
	gap:12px;
	padding:0 13px 0 15px;
	border:1px solid #dfe4e9;
	border-radius:9px;
	background:#fff;
	color:#34404c;
	font-size:13px;
	font-weight:800;
	text-decoration:none;
	scroll-snap-align:start;
	transition:border-color .2s ease,background-color .2s ease,color .2s ease,transform .2s ease;
}
body.tb-directory .city-filter-chip:hover{transform:translateY(-1px);border-color:#bec9d4;background:#f8fafb}
body.tb-directory .city-filter-chip b{display:grid;min-width:25px;height:25px;place-items:center;padding:0 7px;border-radius:999px;background:#eff3f6;color:#66717d;font-size:10px}
body.tb-directory .city-filter-chip.is-active{border-color:var(--tb-red);background:var(--tb-red);color:#fff;box-shadow:0 5px 14px rgba(223,39,44,.2)}
body.tb-directory .city-filter-chip.is-active b{background:rgba(255,255,255,.2);color:#fff}
body.tb-directory .filter-grid{grid-template-columns:minmax(230px,1.5fr) repeat(3,minmax(150px,1fr))}
body.tb-directory .filters .active{display:flex;flex-wrap:wrap;align-items:center;gap:8px 10px}
body.tb-directory .filters .active>strong{margin-right:2px;font-size:12px}
body.tb-directory .filters .active .filter-pill{display:inline-flex;min-height:32px;align-items:center;gap:8px;margin:0;padding:5px 10px 5px 12px;border:1px solid #dce2e8;border-radius:999px;background:#f4f6f8;color:#4f5965;font-size:12px;font-weight:700;text-decoration:none}
body.tb-directory .filters .active .filter-pill:hover{border-color:#c4ced8;background:#fff}
body.tb-directory .filters .active .filter-pill>span{display:grid;width:18px;height:18px;min-height:0;place-items:center;margin:0;padding:0;border-radius:50%;background:#e1e6eb;color:#64707c;font-size:13px;line-height:1}
body.tb-directory .filters .active .clear-all{margin-left:auto;color:var(--tb-red);font-size:12px;font-weight:800;text-decoration:none}
body.tb-directory .filters .more{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:0 18px;border-color:var(--tb-navy);background:var(--tb-navy);color:#fff;font-weight:800;cursor:pointer}
body.tb-directory .filters .more:hover{background:var(--tb-blue)}
body.tb-directory .filters hr{margin-bottom:13px}

@media(max-width:900px){
	body.tb-directory .filter-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:620px){
	body.tb-directory .city-filter{margin-bottom:18px}
	body.tb-directory .city-filter-head{min-height:58px;padding:10px 12px}
	body.tb-directory .city-filter-head small{display:none}
	body.tb-directory .city-filter-track{padding:11px 12px 13px}
	body.tb-directory .city-filter-chip{height:42px;padding:0 11px 0 13px}
	body.tb-directory .filter-grid{grid-template-columns:1fr}
	body.tb-directory .filters .active .clear-all{width:100%;margin-left:0}
}

/* Company profile. */
body.tb-company{font-size:16px}
body.tb-company .topbar{min-height:68px;height:auto}
body.tb-company .main-nav{height:44px}
body.tb-company .main-nav a{font-size:14px}
body.tb-company .page-grid{grid-template-columns:minmax(0,1fr) 320px;gap:28px;padding-bottom:36px}
body.tb-company .main-column,
body.tb-company .sidebar,
body.tb-company .company-heading{min-width:0}
body.tb-company .breadcrumbs{height:54px;font-size:13px}
body.tb-company .company-card{height:auto;padding:22px}
body.tb-company .company-top{height:auto;min-height:132px;grid-template-columns:170px minmax(0,1fr) auto;gap:24px}
body.tb-company .company-logo img{width:168px;height:106px}
body.tb-company .company-heading p{font-size:16px}
body.tb-company .rating-row,
body.tb-company .badges{font-size:13px}
body.tb-company .contact-actions{height:auto;min-height:70px;gap:14px}
body.tb-company .contact-action b{font-size:15px}
body.tb-company .contact-action small{font-size:13px}
body.tb-company button.contact-action{font:inherit;text-align:left;background:#fff;color:inherit;cursor:pointer;width:100%}
body.tb-company button.contact-action:hover,body.tb-company button.contact-action:focus-visible{border-color:#1565c0;box-shadow:0 0 0 3px rgba(21,101,192,.12);outline:0}
body.tb-company .email-inline-reveal{border:0;background:transparent;padding:0;color:#0b63ce;font:inherit;font-weight:700;cursor:pointer;text-decoration:underline;text-underline-offset:2px}
body.tb-company .company-email-visible{overflow-wrap:anywhere}
body.tb-company .company-data-note{margin:16px 0 0;padding-top:12px;border-top:1px solid #e5e8ec;color:#69717b;font-size:12px;line-height:1.5}
body.tb-company .content-card{padding:24px}
body.tb-company .content-card h2{font-size:26px}
body.tb-company .content-card p,
body.tb-company .entry-content{font-size:16px;line-height:1.7}
body.tb-company .contacts-card h2{margin-bottom:17px}
body.tb-company .contacts-card .details-grid{gap:28px}
body.tb-company .contacts-card .details-grid dl{padding-right:0}
body.tb-company .contacts-card .details-grid dl+dl{padding-left:28px}
body.tb-company .contacts-card .details-grid dl>div{
	grid-template-columns:minmax(130px,.82fr) minmax(0,1.18fr);
	min-height:45px;
	align-items:start;
	gap:14px;
	padding:10px 0;
	border-bottom:1px solid #edf0f2;
}
body.tb-company .contacts-card .details-grid dl>div:last-child{border-bottom:0}
body.tb-company .contacts-card .details-grid dt{align-items:center;color:#586775;font-size:13px;font-weight:700;line-height:1.45}
body.tb-company .contacts-card .details-grid dd{min-width:0;color:#263746;font-size:14px;font-weight:650;line-height:1.5;overflow-wrap:anywhere}
body.tb-company .contacts-card .details-grid dd a{color:#164f80;text-decoration:underline;text-decoration-color:#b7c8d8;text-underline-offset:3px}
body.tb-company .contacts-card .email-inline-reveal{font-size:14px}
body.tb-company .contacts-card .company-data-note{font-size:13px}
body.tb-company .products{grid-template-columns:repeat(5,minmax(0,1fr));gap:16px}
body.tb-company .gallery img{height:110px}
body.tb-company .company-gallery{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:17px}
body.tb-company .company-gallery-item{display:block;overflow:hidden;border:1px solid #e1e6ea;border-radius:10px;background:#f5f7f9;box-shadow:0 5px 14px rgba(21,42,64,.055)}
body.tb-company .company-gallery-item img{display:block;width:100%;height:160px;object-fit:cover;transition:transform .25s ease}
body.tb-company .company-gallery-item:hover img{transform:scale(1.025)}
body.tb-company .company-gallery-count{color:#6c7883;font-size:12px;font-weight:700}
body.tb-company .company-gallery-empty{
	display:flex;
	min-height:150px;
	align-items:center;
	justify-content:center;
	gap:17px;
	margin-top:14px;
	padding:28px;
	border:1px dashed #d3dce3;
	border-radius:11px;
	background:#f8fafb;
	color:#697681;
	text-align:left;
}
body.tb-company .company-gallery-empty>span{display:grid;width:52px;height:52px;flex:0 0 52px;place-items:center;border-radius:13px;background:#fff0f1;color:var(--tb-red);font-size:23px}
body.tb-company .company-gallery-empty strong{display:block;margin-bottom:5px;color:#2a3947;font-size:15px}
body.tb-company .company-gallery-empty p{margin:0;color:#77838d;font-size:12px}
body.tb-company .sidebar{gap:18px}

/* Articles and author pages. */
body.tb-article .page-shell{grid-template-columns:minmax(0,1fr) 320px;gap:54px;padding-top:42px}
body.tb-article .article h1{max-width:850px}
body.tb-article .lead{font-size:17px;max-width:820px}
body.tb-article .meta-row{font-size:13px}
body.tb-article .hero{height:clamp(360px,34vw,520px)}
body.tb-article .intro,
body.tb-article .content-section>p{font-size:16px;line-height:1.75}
body.tb-article .content-section h2{font-size:var(--tb-h2);margin-top:28px}
body.tb-article .content-section h3{font-size:21px}
body.tb-article .check-list{font-size:15px}
body.tb-article .note{width:min(760px,100%);font-size:14px}
body.tb-article .newsletter,
body.tb-article .footer-grid,
body.tb-article .copyright{width:min(var(--tb-page-max),calc(100% - (2 * var(--tb-page-gutter))));max-width:none}
body.tb-author .page-shell{max-width:none}
body.tb-author .hero-grid{grid-template-columns:280px minmax(0,1fr) 340px;gap:28px}
body.tb-author .author-photo{width:280px;height:380px}
body.tb-author .author-copy h1{font-size:var(--tb-h1)}
body.tb-author .bio{font-size:16px;max-width:680px}
body.tb-author .content-grid{grid-template-columns:minmax(0,1fr) 320px;gap:32px}

/* Category archive. */
body.tb-category .hero-inner,
body.tb-category .catalog-shell{max-width:none}
body.tb-category .catalog-shell{grid-template-columns:250px minmax(0,1fr) 280px;gap:28px}
body.tb-category .hero p{font-size:17px}
body.tb-category .article-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
body.tb-category .article-card{border-radius:var(--tb-radius);box-shadow:var(--tb-shadow)}
body.tb-category .article-card h2{font-size:19px;line-height:1.35}
body.tb-category .article-card p{font-size:14px;line-height:1.55}
body.tb-category .site-footer>.container{width:min(var(--tb-page-max),calc(100% - (2 * var(--tb-page-gutter))))}
body.tb-category .hero{height:auto;min-height:250px;overflow:hidden}
body.tb-category .hero-inner{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(420px,600px);
  align-items:center;
  gap:clamp(28px,4vw,60px);
  min-height:250px;
  height:auto;
  padding:28px 0;
}
body.tb-category .hero-copy{min-width:0;max-width:720px;padding:0;position:relative;z-index:2}
body.tb-category .hero-description{max-width:65ch;margin-bottom:16px;color:#62666e;font-size:17px;line-height:1.55}
body.tb-category .hero-description p{margin:0}
body.tb-category .hero-art{
  position:static;
  width:100%;
  height:220px;
  object-fit:contain;
  object-position:right center;
  align-self:center;
}
body.tb-category .toolbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  min-height:52px;
  height:auto;
  margin-bottom:18px;
}
body.tb-category .archive-sort{
  display:inline-flex;
  align-items:center;
  gap:4px;
  min-width:0;
  padding:4px;
  border:1px solid var(--tb-line);
  border-radius:10px;
  background:var(--tb-soft);
}
body.tb-category .archive-sort .tab{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:40px;
  height:40px;
  padding:0 14px;
  border-radius:7px;
  background:transparent;
  color:#4d5662;
  font-size:13px;
  font-weight:700;
  white-space:nowrap;
}
body.tb-category .archive-sort .tab.active{
  background:var(--tb-red);
  color:#fff;
  box-shadow:0 4px 12px rgba(223,39,44,.18);
}
body.tb-category .archive-sort .tab:after{display:none}
body.tb-category .view-tools{display:flex;align-items:center;gap:8px;flex:0 0 auto}
body.tb-category .view-toggle{width:44px;height:44px;min-height:44px;border-radius:8px}
body.tb-category .article-card{display:flex;flex-direction:column;min-height:390px}
body.tb-category .article-image{flex:0 0 190px;height:190px}
body.tb-category .article-body{display:flex;flex:1;flex-direction:column;height:auto;min-height:198px;padding:16px}
body.tb-category .article-body h3{
  display:-webkit-box;
  overflow:hidden;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:3;
  margin-bottom:9px;
  font-size:18px;
  line-height:1.35;
}
body.tb-category .article-body p{-webkit-line-clamp:2;margin-bottom:12px}
body.tb-category .article-body .meta{display:flex;flex-wrap:wrap;gap:6px 12px;margin-top:auto}
body.tb-category .article-grid.list-view .article-card{min-height:190px;display:grid;grid-template-columns:260px minmax(0,1fr)}
body.tb-category .article-grid.list-view .article-image{height:100%;min-height:190px}
body.tb-category .article-grid.list-view .article-body{min-height:190px;height:auto}

@media(max-width:1400px){
  body.tb-category .article-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:900px){
  body.tb-category .hero-inner{grid-template-columns:1fr;min-height:0;padding:30px 0}
  body.tb-category .hero-copy{max-width:none}
  body.tb-category .hero-art{display:none}
  body.tb-category .toolbar{align-items:stretch;flex-direction:column}
  body.tb-category .archive-sort{width:100%;overflow-x:auto}
  body.tb-category .view-tools{align-self:flex-end}
}
@media(max-width:620px){
  body.tb-category .archive-sort .tab{flex:1 0 auto;padding:0 12px}
  body.tb-category .article-grid{grid-template-columns:1fr}
  body.tb-category .article-grid.list-view .article-card{display:flex;min-height:0}
  body.tb-category .article-grid.list-view .article-image{height:210px;min-height:0}
}

/* Informational pages. */
body.tb-about .hero,
body.tb-contact .hero{min-height:380px;height:auto}
body.tb-about .hero-content,
body.tb-contact .hero-copy{padding-top:54px;padding-bottom:54px}
body.tb-about .hero p,
body.tb-contact .hero-lead,
body.tb-advertising .lead{font-size:17px;max-width:700px}
body.tb-about .stats{height:auto;min-height:154px}
body.tb-about .stat strong{font-size:28px}
body.tb-about .stat small{font-size:14px}
body.tb-about .mission{grid-template-columns:minmax(360px,.8fr) 1.2fr;gap:56px;margin-top:42px}
body.tb-about .mission-image img{height:380px}
body.tb-about .mission-copy>p{font-size:16px;max-width:760px}
body.tb-about .value-grid{gap:22px}
body.tb-about .value-grid article{height:auto;min-height:140px;padding:24px}
body.tb-about .value-grid h3{font-size:18px}
body.tb-about .value-grid p{font-size:14px}
body.tb-about .team-grid{gap:22px}
body.tb-about .person img{height:210px}
body.tb-about .person h3{font-size:16px}
body.tb-about .person p{font-size:13px}
body.tb-contact .contact-section>.container>h2{font-size:var(--tb-h2)}
body.tb-contact .contact-card{padding:24px;border-radius:var(--tb-radius)}
body.tb-contact .contact-card h3{font-size:18px}
body.tb-contact .contact-card p{font-size:14px}
body.tb-contact .contact-grid{gap:28px}
body.tb-contact .form-panel{padding:30px}
body.tb-contact .form-panel h2{font-size:28px}
body.tb-contact .form-panel>p{font-size:15px}
body.tb-contact .map{min-height:520px}
body.tb-advertising .nav-wrap{height:72px}
body.tb-advertising .site-header{height:72px}
body.tb-advertising .hero{height:auto;min-height:360px}
body.tb-advertising .hero-grid{grid-template-columns:1.1fr .9fr;gap:72px;padding-top:40px;padding-bottom:40px}
body.tb-advertising .popular-grid{gap:22px}
body.tb-advertising .section-title{font-size:var(--tb-h2);line-height:1.2;letter-spacing:-.025em;margin:0 0 20px}
body.tb-advertising .price-card{height:auto;min-height:260px;padding:22px}
body.tb-advertising .card-title h3{font-size:18px}
body.tb-advertising .from{font-size:13px}
body.tb-advertising .price{font-size:30px}
body.tb-advertising .price-card ul{font-size:13px}
body.tb-advertising .content-grid{grid-template-columns:minmax(0,1fr) 340px;gap:24px}
body.tb-advertising .option-row{grid-template-columns:44px minmax(230px,1.4fr) 120px 150px minmax(180px,1fr);min-height:72px;padding:12px 16px}
body.tb-advertising .option-name b{font-size:14px}
body.tb-advertising .option-name small,
body.tb-advertising .option-price,
body.tb-advertising .option-place,
body.tb-advertising .option-benefits{font-size:12px}
body.tb-advertising .side-box{padding:20px}
body.tb-advertising .side-box h2{font-size:20px}
body.tb-advertising .newsletter-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;min-width:0}
body.tb-advertising .newsletter-form label{min-width:0}
body.tb-advertising .newsletter-form small{grid-column:1/-1;white-space:normal}

/* Shared footer rhythm. */
body.tb-theme footer,
body.tb-theme .site-footer{margin-top:0}
body.tb-theme .footer-grid,
body.tb-theme .footgrid{font-size:14px}
body.tb-theme .footer-grid h3,
body.tb-theme .footgrid h3,
body.tb-theme .footgrid h4,
body.tb-theme .tb-footer-label{font-size:14px}
body.tb-theme .footer-grid a,
body.tb-theme .footer-grid p,
body.tb-theme .footgrid a,
body.tb-theme .footgrid p{font-size:13px;line-height:1.55}

@media(max-width:1180px){
  body.tb-home .category-grid,
  body.tb-home .company-grid,
  body.tb-home .directory-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  body.tb-home .article-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  body.tb-home .article-card>a:first-child{height:220px}
  body.tb-directory .layout{grid-template-columns:1fr}
  body.tb-directory .right{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
  body.tb-directory .right>small{grid-column:1/-1}
  body.tb-directory .ad{margin:0}
  body.tb-company .page-grid{grid-template-columns:minmax(0,1fr) 280px}
  body.tb-category .catalog-shell{grid-template-columns:230px minmax(0,1fr)}
  body.tb-category .right-rail{display:none}
  body.tb-category .article-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  body.tb-advertising .content-grid{grid-template-columns:1fr}
  body.tb-advertising .sidebar{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
}

@media(max-width:900px){
  :root{--tb-page-gutter:18px;--tb-h1:clamp(34px,8vw,44px);--tb-h2:clamp(25px,6vw,32px)}
  body.tb-theme{font-size:15px}
  body.tb-theme .site-header:not(.tb-company .site-header){height:auto;min-height:64px}
  body.tb-home .hero{min-height:400px}
  body.tb-home .hero-content{padding-top:48px;padding-bottom:48px}
  body.tb-home .newsletter-inner{grid-template-columns:54px 1fr}
  body.tb-home .newsletter-form{grid-column:1/-1;width:100%}
  body.tb-directory .catalog{grid-template-columns:1fr}
  body.tb-directory .side{display:none}
  body.tb-directory .filter-grid{grid-template-columns:1fr 1fr}
  body.tb-directory .right{grid-template-columns:1fr 1fr}
  body.tb-company .page-grid,
  body.tb-article .page-shell,
  body.tb-author .content-grid{grid-template-columns:1fr}
  body.tb-company .sidebar{display:grid;grid-template-columns:1fr 1fr}
  body.tb-article .sidebar{padding-top:0}
  body.tb-author .hero-grid{grid-template-columns:220px 1fr}
  body.tb-author .author-photo{width:220px;height:310px}
  body.tb-author .latest-card{grid-column:1/-1}
  body.tb-about .mission{grid-template-columns:1fr}
  body.tb-contact .contact-grid{grid-template-columns:1fr}
  body.tb-advertising .hero-grid{grid-template-columns:1fr}
}

@media(max-width:620px){
  :root{--tb-page-gutter:14px;--tb-h1:clamp(32px,10vw,40px)}
  body.tb-theme .main-nav a,
  body.tb-theme nav.menu a{font-size:13px}
  body.tb-home .category-grid,
  body.tb-home .article-grid,
  body.tb-home .company-grid,
  body.tb-home .directory-grid{grid-template-columns:1fr}
  body.tb-home .article-card>a:first-child{height:min(56vw,250px)}
  body.tb-home .article-body{min-height:0;padding:15px}
  body.tb-home .hero p{font-size:16px}
  body.tb-home .hero-search{grid-template-columns:1fr;height:auto;gap:8px;background:transparent;box-shadow:none}
  body.tb-home .hero-search>*{min-height:46px;border-radius:7px!important}
  body.tb-directory .titleline{align-items:flex-start;gap:16px;flex-direction:column}
  body.tb-directory .filter-grid,
  body.tb-directory .right{grid-template-columns:1fr}
  body.tb-directory .company{grid-template-columns:82px minmax(0,1fr);gap:12px}
  body.tb-directory .company .contact{display:none}
  body.tb-directory .company .details{grid-column:1/-1;width:100%}
  body.tb-company .company-top{grid-template-columns:1fr}
  body.tb-company .breadcrumbs strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  body.tb-company .contact-actions,
  body.tb-company .products,
  body.tb-company .sidebar{grid-template-columns:1fr}
  body.tb-company .gallery{grid-template-columns:repeat(2,1fr)}
  body.tb-company .company-gallery-empty{min-height:170px;flex-direction:column;padding:24px 18px;text-align:center}
  body.tb-article .page-shell{padding-top:24px}
  body.tb-article .hero{height:250px}
  body.tb-author .hero-grid{grid-template-columns:1fr}
  body.tb-author .author-photo{width:100%;height:360px}
  body.tb-category .catalog-shell{display:block}
  body.tb-category .left-rail{display:none}
  body.tb-category .article-grid{grid-template-columns:1fr}
  body.tb-about .value-grid,
  body.tb-about .team-grid,
  body.tb-contact .contact-cards{grid-template-columns:1fr}
  body.tb-about .person img{height:260px}
  body.tb-contact .form-panel{padding:22px}
  body.tb-advertising .popular-grid,
  body.tb-advertising .sidebar{grid-template-columns:1fr}
  body.tb-advertising .option-row{grid-template-columns:36px 1fr}
  body.tb-advertising .option-price,
  body.tb-advertising .option-place,
  body.tb-advertising .option-benefits{grid-column:2}
}

/* One shared landing-page header and footer on every template. */
body.tb-theme .site-header{
  position:relative;
  z-index:50;
  height:72px;
  min-height:72px;
  padding:0;
  border-bottom:1px solid #eef0f3;
  background:#fff;
  color:var(--tb-ink);
  box-shadow:none;
}
body.tb-theme.admin-bar .site-header{top:auto}
body.tb-theme .site-header .header-inner{
  width:min(var(--tb-page-max),calc(100% - (2 * var(--tb-page-gutter))));
  max-width:none;
  height:100%;
  margin:0 auto;
  padding:0;
  display:flex;
  align-items:center;
  gap:clamp(20px,2.4vw,40px);
}
body.tb-theme .site-header .tb-brand{
  flex:0 0 auto;
  min-width:150px;
  width:auto;
  color:var(--tb-navy);
  font-family:var(--tb-font);
  font-size:19px;
}
body.tb-theme .site-header .tb-brand-logo{width:168px}
body.tb-theme .site-header .menu-toggle{display:none}
body.tb-theme .site-header .main-nav{
  display:flex;
  flex:1 1 auto;
  align-self:stretch;
  align-items:center;
  justify-content:center;
  gap:clamp(18px,2.25vw,36px);
  height:auto;
  margin:0;
  padding:0;
  background:transparent;
  border:0;
}
body.tb-theme .site-header .main-nav a{
  display:flex;
  align-items:center;
  position:relative;
  height:100%;
  padding:0;
  color:var(--tb-ink);
  font-size:14px;
  font-weight:700;
  text-decoration:none;
}
body.tb-theme .site-header .main-nav a:hover,
body.tb-theme .site-header .main-nav a[aria-current="page"]{color:var(--tb-red)}
body.tb-theme .site-header .main-nav a[aria-current="page"]:after{
  content:"";
  position:absolute;
  right:0;
  bottom:0;
  left:0;
  height:2px;
  background:var(--tb-red);
}
body.tb-theme .site-header .header-actions{
  display:flex;
  flex:0 0 auto;
  align-items:center;
  gap:10px;
  margin-left:auto;
}
body.tb-theme .site-header .icon-btn{
  display:grid;
  flex:0 0 42px;
  place-items:center;
  width:42px;
  height:42px;
  min-height:42px;
  padding:0;
  border:1px solid var(--tb-line);
  border-radius:50%;
  background:#fff;
  color:var(--tb-ink);
  font-size:16px;
  line-height:1;
}
body.tb-theme .site-header .icon-btn .tb-fi{font-size:18px;line-height:1}
body.tb-theme .site-header .header-actions .btn{
  display:inline-flex;
  flex:0 0 auto;
  width:auto;
  max-width:none;
  align-items:center;
  justify-content:center;
  min-height:42px;
  height:42px;
  padding:0 18px;
  border-radius:7px;
  font-size:14px;
  font-weight:700;
  line-height:1;
  text-align:center;
  white-space:nowrap;
}
body.tb-theme .site-header .header-actions .btn-outline{
  border:1px solid #e68c91;
  background:#fff;
  color:var(--tb-ink);
}
body.tb-theme .site-header .header-actions .btn-primary{
  border:1px solid var(--tb-red);
  background:var(--tb-red);
  color:#fff;
  box-shadow:0 3px 10px rgba(223,39,44,.16);
}

body.tb-theme .site-footer{
  margin-top:0;
  padding:40px 0 22px;
  background:#fff;
  color:var(--tb-ink);
  border-top:1px solid #eef0f3;
}
body.tb-theme .site-footer>.container{
  width:min(var(--tb-page-max),calc(100% - (2 * var(--tb-page-gutter))));
  max-width:none;
  height:auto;
  margin:0 auto;
}
body.tb-theme .site-footer .footer-grid{
  display:grid;
  grid-template-columns:1.55fr repeat(4,minmax(0,1fr));
  gap:clamp(28px,3.5vw,52px);
  padding:0 0 30px;
  border-bottom:1px solid #e7e9ed;
}
body.tb-theme .site-footer .tb-brand{color:var(--tb-navy)}
body.tb-theme .site-footer .tb-brand-logo{width:150px}
body.tb-theme .site-footer .tb-brand strong{color:var(--tb-red)}
body.tb-theme .site-footer .footer-grid h3,
body.tb-theme .site-footer .footer-grid .tb-footer-label{
  display:block;
  margin:2px 0 13px;
  color:var(--tb-ink);
  font-size:14px;
	font-weight:700;
  line-height:1.25;
}
body.tb-theme .site-footer .footer-grid h4{display:none}
body.tb-theme .site-footer .footer-grid p,
body.tb-theme .site-footer .footer-grid a{
  display:block;
  margin:0 0 8px;
  color:#5d6672;
  font-size:13px;
  line-height:1.55;
  text-decoration:none;
}
body.tb-theme .site-footer .footer-grid a:hover{color:var(--tb-red)}
body.tb-theme .site-footer .footer-bottom{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  min-height:0;
  margin:0 auto;
  padding:17px 0 0;
  border:0;
  color:#777f89;
  font-size:12px;
}
body.tb-theme .site-footer .footer-bottom a{color:inherit;text-decoration:none}
body.tb-theme .site-footer .footer-bottom a[href*="flaticon.com"]{text-decoration:underline;text-underline-offset:2px}
body.tb-theme .site-footer .footer-grid a .tb-fi{width:18px;margin-right:3px;color:var(--tb-red);font-size:14px}

@media(max-width:1100px){
  body.tb-theme .site-header .main-nav{gap:16px}
  body.tb-theme .site-header .main-nav a{font-size:13px}
  body.tb-theme .site-header .header-actions .btn-outline{display:none}
}
@media(max-width:900px){
  body.tb-theme .site-header{height:auto;min-height:64px}
  body.tb-theme .site-header .header-inner{min-height:64px;height:auto;flex-wrap:wrap;padding:8px 0}
  body.tb-theme .site-header .menu-toggle{display:inline-flex;margin-left:auto}
  body.tb-theme .site-header .header-actions{display:none}
  body.tb-theme .site-header .main-nav{display:none}
  body.tb-theme .site-header .main-nav.is-open{display:flex;order:20;width:100%;flex:0 0 100%;align-self:auto;flex-direction:column;align-items:stretch;gap:0;padding:8px 0 10px}
  body.tb-theme .site-header .main-nav.is-open a{min-height:46px;height:auto;justify-content:flex-start;border-top:1px solid var(--tb-line)}
  body.tb-theme .site-footer .footer-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px}
  body.tb-theme .site-footer .footer-grid>div:first-child{grid-column:1/-1}
}
@media(max-width:560px){
  body.tb-theme .site-header .tb-brand{min-width:0;font-size:17px}
  body.tb-theme .site-header .tb-brand-logo{width:132px}
  body.tb-theme .site-footer{padding-top:32px}
  body.tb-theme .site-footer .footer-grid{grid-template-columns:1fr;gap:24px}
  body.tb-theme .site-footer .footer-grid>div:first-child{grid-column:auto}
  body.tb-theme .site-footer .footer-bottom{align-items:flex-start;flex-direction:column;gap:8px}
}

/* UX and accessibility refinements. */
.tb-skip-link{position:fixed;left:16px;top:12px;z-index:100000;transform:translateY(-160%);padding:12px 18px;border-radius:7px;background:#fff;color:#111;box-shadow:0 8px 30px rgba(0,0,0,.22);font-weight:800;text-decoration:none;transition:transform .18s ease}
.tb-skip-link:focus{transform:translateY(0)}
body.tb-theme :where(a,button,input,select,textarea,[tabindex]):focus-visible{outline:3px solid #1d4ed8!important;outline-offset:3px!important;box-shadow:none}
body.tb-theme main[tabindex="-1"]:focus{outline:0}
body.tb-theme .main-nav a[aria-current="page"],
body.tb-theme nav.menu a[aria-current="page"]{color:var(--tb-red);position:relative}
body.tb-theme .main-nav a[aria-current="page"]:after,
body.tb-theme nav.menu a[aria-current="page"]:after{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;background:var(--tb-red)}
body.tb-theme .section-head>a{display:inline-flex;align-items:center;min-height:44px;padding:8px 0}
body.tb-theme .entry-content a,
body.tb-theme .content-section>p a{color:var(--tb-blue);text-decoration:underline;text-underline-offset:3px}
body.tb-theme .breadcrumbs,
body.tb-theme .crumbs{color:#5b6470;font-size:13px}
body.tb-home .benefit-grid small,
body.tb-home .category-card>a>span,
body.tb-home .article-meta,
body.tb-home .company-card>small,
body.tb-home .newsletter-status{color:#4f5966;font-size:13px;line-height:1.45}
body.tb-category .category-row{grid-template-columns:24px minmax(0,1fr) auto;min-height:44px;height:auto;column-gap:8px}
body.tb-category .category-row .cat-icon{width:24px;color:#67717d;font-size:18px}
body.tb-category .category-row.active .cat-icon{color:var(--tb-red)}
body.tb-category .tab,
body.tb-category .view-toggle{min-height:44px}
body.tb-directory .company h2{font-size:18px;line-height:1.3;margin:0 0 4px}
body.tb-directory .company h2 a:hover{text-decoration:underline;text-underline-offset:3px}
body.tb-advertising .menu-toggle,
body.tb-author .menu-toggle{display:none}
body.tb-modal-open{overflow:hidden!important}
body.tb-advertising .modal{padding:20px}
body.tb-advertising .modal-card{width:min(560px,100%);max-height:calc(100vh - 40px);overflow:auto}
body.tb-advertising .modal-close,
body.tb-company .dialog-close{width:44px;height:44px;display:grid;place-items:center;padding:0}
body.tb-company dialog{max-width:calc(100% - 28px);max-height:calc(100vh - 28px)}
body.tb-company .dialog-card{width:min(520px,calc(100vw - 52px));max-height:calc(100vh - 28px);overflow:auto}
.newsletter-status{display:block;line-height:1.45}
.newsletter-status a{text-decoration:underline;text-underline-offset:2px}
.newsletter-status.is-error{color:#b42318;font-weight:700}
.newsletter-status.is-success{font-weight:700}
body.tb-home .newsletter-status.is-success,
body.tb-category .newsletter-status.is-success,
body.tb-directory .newsletter-status.is-success,
body.tb-advertising .newsletter-status.is-success{color:#167542}
body.tb-article .newsletter-status.is-success,
body.tb-author .newsletter-status.is-success{color:#bdeecf}
.tb-newsletter-hp{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important;pointer-events:none!important}
.tb-404-search{width:min(620px,100%);margin:28px auto 20px;text-align:left}
.tb-404-search label{display:block;margin-bottom:8px;font-weight:700}
.tb-404-search>div{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px}
.tb-404-search input{min-height:48px;border:1px solid var(--tb-line);border-radius:8px;padding:0 14px;background:#fff}
.tb-back-home{display:inline-flex;align-items:center;min-height:44px;color:var(--tb-blue);font-weight:700;text-decoration:underline;text-underline-offset:3px}

@media(max-width:900px){
  body.tb-advertising .menu-toggle,
  body.tb-author .menu-toggle{display:inline-flex;width:44px;height:44px;align-items:center;justify-content:center;margin-left:auto}
  body.tb-theme .site-header .header-inner{flex-wrap:wrap}
  body.tb-theme .site-header .main-nav.is-open{display:flex;order:20;width:100%;flex:0 0 100%;flex-direction:column;align-items:stretch;gap:0;padding:8px 0 14px;background:#fff}
  body.tb-theme .site-header .main-nav.is-open a{min-height:46px;height:auto;justify-content:flex-start;border-top:1px solid var(--tb-line)}
  body.tb-theme .site-header .main-nav.is-open a:after{bottom:0}
}

@media(max-width:620px){
  .tb-404-search>div{grid-template-columns:1fr}
  .tb-404-search button{width:100%}
}

@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
}
.taxonomy-seo {
	margin-top: 32px;
	padding: clamp(24px, 4vw, 40px);
	border: 1px solid #e2e8f0;
	border-radius: 18px;
	background: linear-gradient(135deg, #fff 0%, #f8fbff 100%);
	color: #334155;
}

.taxonomy-seo h2 {
	margin: 0 0 14px;
	color: #0f172a;
	font-size: clamp(1.35rem, 2vw, 1.75rem);
	line-height: 1.25;
}

.taxonomy-seo p {
	max-width: 80ch;
	margin: 0;
	font-size: 1rem;
	line-height: 1.75;
}

/* Advertising page: current ACF package markup and full-width UX. */
body.tb-advertising .page-body{
	padding-top:36px;
	padding-bottom:44px;
}
body.tb-advertising .section-title{
	margin:0 0 18px;
	font-size:clamp(24px,2vw,30px);
	line-height:1.2;
}
body.tb-advertising .popular-grid{margin-bottom:36px}
body.tb-advertising .price-card{
	display:flex;
	flex-direction:column;
	min-height:282px;
	padding:22px 22px 74px;
	border-radius:12px;
	box-shadow:var(--tb-shadow);
}
body.tb-advertising .round-icon{width:36px;height:36px;flex:0 0 36px}
body.tb-advertising .popular-tag{top:14px;right:14px;padding:5px 8px;font-size:10px}
body.tb-advertising .price-card .from{margin-top:18px;font-size:13px}
body.tb-advertising .price-card .price{font-size:30px;line-height:1.2}
body.tb-advertising .price-card ul{font-size:13px;line-height:1.65}
body.tb-advertising .price-card .btn{
	left:22px;
	right:22px;
	bottom:18px;
	width:calc(100% - 44px);
	height:44px;
}
body.tb-advertising .content-grid{align-items:start;margin-top:0}
body.tb-advertising .options-list{
	display:grid;
	gap:12px;
	overflow:visible;
	border:0;
	background:transparent;
}
body.tb-advertising .options-list>article{
	display:grid;
	grid-template-columns:minmax(0,1fr) auto auto;
	align-items:center;
	gap:24px;
	min-height:118px;
	padding:20px 22px;
	border:1px solid var(--tb-line);
	border-radius:12px;
	background:#fff;
	box-shadow:var(--tb-shadow);
}
body.tb-advertising .options-list h3{
	margin:0 0 7px;
	font-size:18px;
	line-height:1.3;
}
body.tb-advertising .options-list p{
	margin:0;
	color:var(--tb-muted);
	font-size:14px;
	line-height:1.55;
}
body.tb-advertising .options-list strong{
	color:var(--tb-ink);
	font-size:19px;
	line-height:1.25;
	white-space:nowrap;
}
body.tb-advertising .options-list .btn{min-width:120px;height:44px}
body.tb-advertising .package-columns{gap:22px;margin-top:30px}
body.tb-advertising .package-box{
	padding:20px;
	border-radius:12px;
	background:#fff;
	box-shadow:var(--tb-shadow);
}
body.tb-advertising .package-box .section-title{margin-bottom:16px;font-size:20px}
body.tb-advertising .mini-packages{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
body.tb-advertising .mini-packages>button{
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:12px;
	min-height:74px;
	padding:14px 15px;
	border:1px solid var(--tb-line);
	border-radius:9px;
	background:var(--tb-soft);
	color:var(--tb-ink);
	text-align:left;
	cursor:pointer;
	transition:border-color .2s ease,background-color .2s ease,transform .2s ease;
}
body.tb-advertising .mini-packages>button:hover{
	transform:translateY(-1px);
	border-color:var(--tb-red);
	background:#fff7f7;
}
body.tb-advertising .mini-packages>button b{font-size:14px;line-height:1.35}
body.tb-advertising .mini-packages>button span{
	color:var(--tb-red);
	font-size:15px;
	font-weight:800;
	white-space:nowrap;
}
body.tb-advertising .sidebar{align-self:start}
body.tb-advertising .side-box{
	margin-bottom:18px;
	padding:20px;
	border-radius:12px;
	box-shadow:var(--tb-shadow);
}
body.tb-advertising .side-box h2{margin-bottom:14px;font-size:18px;line-height:1.3}
body.tb-advertising .side-box table{font-size:12px;line-height:1.4}
body.tb-advertising .side-box th,
body.tb-advertising .side-box td{padding:10px 6px;vertical-align:top}
body.tb-advertising .side-box th:first-child,
body.tb-advertising .side-box td:first-child{padding-left:0}
body.tb-advertising .side-box th:last-child,
body.tb-advertising .side-box td:last-child{padding-right:0;text-align:right}
body.tb-advertising .consult p{font-size:14px;line-height:1.55}
body.tb-advertising .consult>a{font-size:13px;line-height:1.4}
body.tb-advertising .person img{width:56px;height:56px}
body.tb-advertising .person strong{font-size:15px}
body.tb-advertising .person span{font-size:12px}
body.tb-advertising .consult .btn{height:44px}
body.tb-advertising .order-steps li{margin:15px 0}
body.tb-advertising .order-steps li>span{width:30px;height:30px;flex-basis:30px}
body.tb-advertising .order-steps b{font-size:13px}
body.tb-advertising .order-steps small{font-size:12px;line-height:1.45}
body.tb-advertising .newsletter{
	grid-template-columns:44px minmax(0,1fr) minmax(320px,480px);
	gap:16px;
	min-height:104px;
	margin:34px 0 0;
	padding:20px 22px;
	border-radius:12px;
}
body.tb-advertising .newsletter h2{font-size:18px;line-height:1.3}
body.tb-advertising .newsletter p{font-size:13px;line-height:1.5}
body.tb-advertising .newsletter input,
body.tb-advertising .newsletter .btn{min-height:44px}

@media(max-width:1180px){
	body.tb-advertising .sidebar{grid-template-columns:repeat(3,minmax(0,1fr))}
	body.tb-advertising .side-box{margin-bottom:0}
}

@media(max-width:900px){
	body.tb-advertising .hero-grid{gap:28px}
	body.tb-advertising .options-list>article{grid-template-columns:minmax(0,1fr) auto}
	body.tb-advertising .options-list .btn{grid-column:1/-1;width:100%}
	body.tb-advertising .sidebar{grid-template-columns:repeat(2,minmax(0,1fr))}
	body.tb-advertising .sidebar .order-steps{grid-column:1/-1}
	body.tb-advertising .newsletter{grid-template-columns:44px minmax(0,1fr)}
	body.tb-advertising .newsletter form{grid-column:1/-1;width:100%;margin-top:0}
}

@media(max-width:620px){
	body.tb-advertising .page-body{padding-top:28px;padding-bottom:34px}
	body.tb-advertising .popular-grid{gap:14px}
	body.tb-advertising .options-list>article{grid-template-columns:1fr;gap:14px;padding:18px}
	body.tb-advertising .options-list .btn{grid-column:auto}
	body.tb-advertising .package-columns{display:grid;grid-template-columns:1fr}
	body.tb-advertising .mini-packages{grid-template-columns:1fr}
	body.tb-advertising .sidebar{grid-template-columns:1fr}
	body.tb-advertising .sidebar .order-steps{grid-column:auto}
	body.tb-advertising .newsletter{grid-template-columns:1fr;padding:18px}
	body.tb-advertising .newsletter>div:first-child{display:none}
	body.tb-advertising .newsletter form{grid-column:auto}
}

/* Company directory: keep results readable beside the single useful ad rail. */
body.tb-directory .catalog{grid-template-columns:1fr}
body.tb-directory .catalog>.side{display:none}
body.tb-directory .companies{gap:14px}
body.tb-directory .company{
	display:grid;
	grid-template-columns:100px minmax(0,1fr) 200px 112px;
	align-items:center;
	gap:18px;
	min-height:128px;
	padding:16px 18px;
	border-radius:12px;
	box-shadow:var(--tb-shadow);
}
body.tb-directory .company-logo{
	display:flex;
	align-items:center;
	justify-content:center;
	width:100px;
	height:78px;
	overflow:hidden;
	border-radius:8px;
	background:#f1f6fa;
	text-decoration:none;
}
body.tb-directory .company-logo img{width:88px;height:66px}
body.tb-directory .company-logo .logo-fallback{
	min-height:0;
	background:transparent;
	color:var(--tb-navy);
	font-size:24px;
	text-decoration:none;
}
body.tb-directory .company h2{margin:0 0 7px;font-size:19px;line-height:1.3}
body.tb-directory .company h2 a{
	color:var(--tb-ink);
	text-decoration:none;
}
body.tb-directory .company h2 a:hover{color:var(--tb-red)}
body.tb-directory .company .meta{display:flex;align-items:center;flex-wrap:wrap;gap:7px 12px;font-size:13px;line-height:1.45}
body.tb-directory .company-rating,
body.tb-directory .company-meta-item{display:inline-flex;align-items:center;gap:6px;min-width:0}
body.tb-directory .company-rating .stars{line-height:1}
body.tb-directory .company-meta-item{color:#556575;font-weight:700}
body.tb-directory .company-meta-item .tb-fi{width:16px;flex:0 0 16px;color:var(--tb-red);font-size:15px;text-align:center}
body.tb-directory .company .tags{
	display:flex;
	flex-wrap:wrap;
	gap:6px;
	margin-top:9px;
}
body.tb-directory .company .tags span{margin:0;font-size:11px;line-height:1.25}
body.tb-directory .company .contact{
	display:flex;
	flex-direction:column;
	gap:7px;
	min-width:0;
	color:#5f6874;
	font-size:13px;
	line-height:1.35;
	overflow-wrap:anywhere;
}
body.tb-directory .company-contact-line{display:flex;align-items:center;gap:8px;min-width:0}
body.tb-directory .company-contact-line .tb-fi{width:17px;flex:0 0 17px;color:var(--tb-red);font-size:15px;text-align:center}
body.tb-directory .company-contact-line a{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
body.tb-directory .company-phone a{color:#334454;font-weight:800}
body.tb-directory .company .contact a{color:var(--tb-blue);text-underline-offset:2px}
body.tb-directory .company .contact .company-phone a{color:#334454}
body.tb-directory .company .details{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	width:112px;
	min-height:44px;
	padding:0 15px;
	border:1px solid var(--tb-red);
	border-radius:7px;
	background:#fff;
	color:var(--tb-red);
	font-size:12px;
	font-weight:800;
	line-height:1;
	text-decoration:none;
	transition:background-color .2s ease,color .2s ease,transform .2s ease;
}
body.tb-directory .company .details:hover{
	transform:translateY(-1px);
	background:var(--tb-red);
	color:#fff;
}

@media(max-width:900px){
	body.tb-directory .company{grid-template-columns:86px minmax(0,1fr) 112px;gap:14px}
	body.tb-directory .company-logo{width:86px;height:70px}
	body.tb-directory .company-logo img{width:76px;height:58px}
	body.tb-directory .company .contact{grid-column:2;display:flex}
	body.tb-directory .company .details{grid-column:3;grid-row:1/3;align-self:center}
}

@media(max-width:620px){
	body.tb-directory .company{grid-template-columns:70px minmax(0,1fr);gap:12px;padding:15px}
	body.tb-directory .company-logo{width:70px;height:64px}
	body.tb-directory .company-logo img{width:62px;height:52px}
	body.tb-directory .company h2{font-size:17px}
	body.tb-directory .company .contact{grid-column:1/-1;display:flex}
	body.tb-directory .company .details{grid-column:1/-1;grid-row:auto;width:100%}
}

/* Homepage cards: one consistent six-column rhythm without oversized articles. */
body.tb-home #articles .container{
	width:min(var(--tb-page-max),calc(100% - (2 * var(--tb-page-gutter))));
}
body.tb-home .articles-section,
body.tb-home .companies-section,
body.tb-home .directory-section{padding-top:44px}
body.tb-home .article-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:16px}
body.tb-home .article-card{
	min-height:278px;
	border-color:var(--tb-line);
	background:#fff;
}
body.tb-home .article-card>a:first-child{height:132px}
body.tb-home .article-body{
	min-height:146px;
	padding:14px 14px 13px;
}
body.tb-home .article-category{
	display:block;
	overflow:hidden;
	margin-bottom:7px;
	color:var(--tb-red);
	font-size:11px;
	font-weight:800;
	line-height:1.25;
	text-overflow:ellipsis;
	text-transform:uppercase;
	white-space:nowrap;
}
body.tb-home .article-card h3{
	display:-webkit-box;
	overflow:hidden;
	margin:0;
	font-size:16px;
	line-height:1.4;
	-webkit-box-orient:vertical;
	-webkit-line-clamp:3;
}
body.tb-home .article-card h3 a:hover{color:var(--tb-red)}
body.tb-home .article-meta{
	margin-top:auto;
	padding-top:10px;
	border-top:1px solid var(--tb-line);
	font-size:11px;
	line-height:1.3;
}
body.tb-home .articles-section .center-action{display:none}
body.tb-home .company-card{
	display:flex;
	flex-direction:column;
	height:auto;
	min-height:180px;
	padding:15px 12px 13px;
}
body.tb-home .company-card>a{
	display:flex;
	flex-direction:column;
	align-items:center;
	min-height:100px;
}
body.tb-home .company-card>a>img,
body.tb-home .company-logo-fallback{
	display:grid;
	place-items:center;
	width:100%;
	height:46px;
	margin-bottom:8px;
	object-fit:contain;
}
body.tb-home .company-logo-fallback{
	color:var(--tb-navy);
	font-size:20px;
	font-weight:800;
}
body.tb-home .company-card h3{
	display:-webkit-box;
	overflow:hidden;
	margin:0;
	font-size:16px;
	line-height:1.35;
	-webkit-box-orient:vertical;
	-webkit-line-clamp:2;
}
body.tb-home .company-card .rating{margin:5px 0;font-size:12px;line-height:1.35}
body.tb-home .company-card small{
	display:-webkit-box;
	overflow:hidden;
	margin-top:auto;
	font-size:12px;
	line-height:1.35;
	-webkit-box-orient:vertical;
	-webkit-line-clamp:1;
}
body.tb-home :is(.category-card,.article-card,.company-card,.directory-card){
	transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease;
}
body.tb-home :is(.category-card,.article-card,.company-card,.directory-card):hover{
	transform:translateY(-2px);
	border-color:#d7dce2;
	box-shadow:0 14px 32px rgba(16,24,40,.09);
}
body.tb-home .category-icon{display:flex;width:40px;height:40px;align-items:center;justify-content:center;margin:0 auto 10px;border-radius:12px;background:#fff0f0;color:var(--tb-red);font-size:24px;filter:none}
body.tb-home .directory-title .directory-category-icon{width:32px;height:32px;flex:0 0 32px;border-radius:9px;background:#fff0f0;color:var(--tb-red);font-size:18px}
body.tb-directory .company-category-list a{display:grid;grid-template-columns:24px minmax(0,1fr) auto;align-items:center;gap:7px}
body.tb-directory .company-category-list .directory-filter-icon{width:24px;color:#69737e;font-size:16px}
body.tb-directory .company-category-list a.selected .directory-filter-icon{color:var(--tb-red)}
body.tb-company .benefit-icon .tb-fi{font-size:18px}
body.tb-theme .tb-inline-icon{margin-right:6px;color:currentColor;font-size:.95em;vertical-align:-.08em}
body.tb-contact .contact-cards>*>span .tb-fi{font-size:24px}
body.tb-advertising .benefits article>span .tb-fi{font-size:28px}
body.tb-advertising .newsletter>div:first-child .tb-fi{font-size:25px}

@media(max-width:1180px){
	body.tb-home .article-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
	body.tb-home .article-card>a:first-child{height:170px}
}

@media(max-width:900px){
	body.tb-home .article-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media(max-width:620px){
	body.tb-home .articles-section,
	body.tb-home .companies-section,
	body.tb-home .directory-section{padding-top:36px}
	body.tb-home .article-grid{grid-template-columns:1fr}
	body.tb-home .article-card>a:first-child{height:min(56vw,240px)}
}

/* Homepage company discovery: prominent categories, readable services and live companies. */
body.tb-home .directory-section{
	padding:48px 0 10px;
	background:linear-gradient(180deg,#f8fafc 0,#fff 100%);
}
body.tb-home .directory-section .section-head{margin-bottom:22px}
body.tb-home .directory-section .section-head h2{font-size:var(--tb-h2);letter-spacing:-.035em}
body.tb-home .directory-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
body.tb-home .directory-card{
	height:auto;
	min-height:228px;
	padding:19px 20px 17px;
	border-color:#dfe5ea;
}
body.tb-home .directory-title{gap:11px;margin-bottom:13px}
body.tb-home .directory-title .directory-category-icon{width:38px;height:38px;flex-basis:38px;font-size:20px}
body.tb-home .directory-title h3{color:var(--tb-navy);font-size:18px;font-weight:800;line-height:1.3}
body.tb-home .directory-card>a:not(.view-all){
	display:flex;
	min-height:31px;
	align-items:center;
	gap:9px;
	color:#4f5d6a;
	font-size:13px;
	font-weight:600;
	line-height:1.4;
}
body.tb-home .directory-card>a:not(.view-all):before{
	content:"";
	width:5px;
	height:5px;
	flex:0 0 5px;
	border-radius:50%;
	background:#e7a3a6;
}
body.tb-home .directory-card>a:not(.view-all):hover{color:var(--tb-red)}
body.tb-home .directory-card .view-all{
	display:inline-flex;
	align-items:center;
	min-height:32px;
	margin-top:auto;
	padding-top:7px;
	color:var(--tb-red);
	font-size:12px;
	font-weight:800;
	line-height:1.35;
}
body.tb-home .companies-section{padding-top:36px}
body.tb-home #categories{padding-top:48px}

@media(max-width:900px){
	body.tb-home .directory-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:620px){
	body.tb-home .directory-section{padding-top:36px}
	body.tb-home .directory-grid{grid-template-columns:1fr}
	body.tb-home .directory-card{min-height:0;padding:17px}
	body.tb-home .directory-card>a:not(.view-all){font-size:14px}
}

/* About page: editorial UX and live WordPress authors. */
body.tb-about .about-hero{
	position:relative;
	height:auto;
	min-height:440px;
	overflow:hidden;
	background:#132b43;
}
body.tb-about .about-hero-image{
	position:absolute;
	inset:0;
	width:100%;
	height:100%;
	object-fit:cover;
	object-position:center 48%;
}
body.tb-about .about-hero-shade{
	position:absolute;
	inset:0;
	background:linear-gradient(90deg,rgba(7,20,34,.9) 0%,rgba(7,20,34,.76) 44%,rgba(7,20,34,.24) 78%,rgba(7,20,34,.12) 100%);
}
body.tb-about .about-hero-content{
	position:relative;
	z-index:2;
	padding-top:42px;
	padding-bottom:82px;
}
body.tb-about .about-hero .breadcrumbs{margin:0 0 48px;color:rgba(255,255,255,.76)}
body.tb-about .about-hero .breadcrumbs a{color:#fff;text-decoration:none}
body.tb-about .about-hero .breadcrumbs span{color:rgba(255,255,255,.68)}
body.tb-about .about-hero h1{max-width:760px;margin:0 0 18px;color:#fff}
body.tb-about .about-hero p{
	max-width:690px;
	margin:0;
	color:rgba(255,255,255,.9);
	font-size:18px;
	line-height:1.65;
}
body.tb-about .about-hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}
body.tb-about .about-hero-actions .btn,
body.tb-about .about-join-actions .btn{min-height:48px;padding:0 22px;text-decoration:none}
body.tb-about .about-btn-light{border-color:#fff;background:#fff;color:var(--tb-navy)}
body.tb-about .about-btn-light:hover{border-color:#eef2f6;background:#eef2f6}
body.tb-about .about-stats-shell{position:relative;z-index:4;margin-top:-48px}
body.tb-about .about-stats{
	display:grid;
	grid-template-columns:repeat(3,minmax(0,1fr));
	min-height:132px;
	overflow:hidden;
	border:1px solid var(--tb-line);
	border-radius:14px;
	background:#fff;
	box-shadow:0 18px 45px rgba(16,24,40,.12);
}
body.tb-about .about-stat{
	display:flex;
	flex-direction:column;
	justify-content:center;
	align-items:center;
	min-width:0;
	padding:24px;
	text-align:center;
}
body.tb-about .about-stat+.about-stat{border-left:1px solid var(--tb-line)}
body.tb-about .about-stat strong{color:var(--tb-navy);font-size:32px;line-height:1.1}
body.tb-about .about-stat span{margin-top:7px;color:var(--tb-muted);font-size:14px;line-height:1.4}
body.tb-about .about-mission{
	display:grid;
	grid-template-columns:minmax(360px,.9fr) minmax(0,1.1fr);
	align-items:center;
	gap:clamp(42px,5vw,72px);
	padding-top:78px;
	padding-bottom:78px;
}
body.tb-about .about-mission-image{position:relative}
body.tb-about .about-mission-image:after{
	content:"";
	position:absolute;
	right:-16px;
	bottom:-16px;
	z-index:-1;
	width:62%;
	height:62%;
	border-radius:14px;
	background:#eaf2f8;
}
body.tb-about .about-mission-image img{
	display:block;
	width:100%;
	height:440px;
	object-fit:cover;
	border-radius:14px;
}
body.tb-about .eyebrow{
	display:block;
	color:var(--tb-red);
	font-size:12px;
	font-weight:800;
	letter-spacing:.1em;
	line-height:1.3;
	text-transform:uppercase;
}
body.tb-about .about-mission-copy h2,
body.tb-about .about-section-head h2,
body.tb-about .about-join h2{
	margin:9px 0 16px;
	font-size:var(--tb-h2);
	line-height:1.2;
	letter-spacing:-.025em;
}
body.tb-about .about-richtext{color:var(--tb-muted);font-size:16px;line-height:1.75}
body.tb-about .about-richtext p:first-child{margin-top:0}
body.tb-about .about-richtext p:last-child{margin-bottom:0}
body.tb-about .about-mission-actions{display:flex;flex-wrap:wrap;gap:18px 28px;margin-top:26px}
body.tb-about .about-mission-actions a{color:var(--tb-blue);font-size:14px;font-weight:800;text-decoration:none}
body.tb-about .about-mission-actions a:hover{text-decoration:underline;text-underline-offset:3px}
body.tb-about .about-values{padding:72px 0;background:#f5f8fb}
body.tb-about .about-section-head{max-width:720px;margin:0 auto 34px;text-align:center}
body.tb-about .about-section-head h2{margin-bottom:12px}
body.tb-about .about-section-head>p{margin:0;color:var(--tb-muted);font-size:16px;line-height:1.65}
body.tb-about .about-values-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
body.tb-about .about-value-card{
	min-height:220px;
	padding:28px;
	border:1px solid var(--tb-line);
	border-radius:14px;
	background:#fff;
	box-shadow:var(--tb-shadow);
}
body.tb-about .about-value-icon{
	display:grid;
	place-items:center;
	width:58px;
	height:58px;
	margin-bottom:22px;
	border-radius:14px;
	background:#fff0f1;
}
body.tb-about .about-value-icon img{
	width:30px;
	height:30px;
	object-fit:contain;
	filter:invert(22%) sepia(85%) saturate(2846%) hue-rotate(341deg) brightness(91%) contrast(92%);
}
body.tb-about .about-value-card h3{margin:0 0 10px;font-size:20px;line-height:1.3}
body.tb-about .about-value-card p{margin:0;color:var(--tb-muted);font-size:14px;line-height:1.65}
body.tb-about .icon-attribution{margin:20px 0 0;color:#8a929d;font-size:11px;text-align:center}
body.tb-about .icon-attribution a{color:inherit;text-decoration:underline;text-underline-offset:2px}
body.tb-about .about-team{padding-top:76px;padding-bottom:76px}
body.tb-about .authors-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:22px}
body.tb-about .author-card{
	display:flex;
	min-width:0;
	min-height:430px;
	flex-direction:column;
	overflow:hidden;
	border:1px solid var(--tb-line);
	border-radius:14px;
	background:#fff;
	box-shadow:var(--tb-shadow);
	transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease;
}
body.tb-about .author-card:hover{transform:translateY(-2px);border-color:#d1d8e0;box-shadow:0 16px 38px rgba(16,24,40,.1)}
body.tb-about .author-card-photo{display:block;height:210px;overflow:hidden;background:#eef3f7}
body.tb-about .author-card-photo img{width:100%;height:100%;object-fit:cover;object-position:center top}
body.tb-about .author-card-body{display:flex;min-height:220px;flex:1;flex-direction:column;padding:18px}
body.tb-about .author-role{color:var(--tb-red);font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}
body.tb-about .author-card h3{margin:7px 0 10px;font-size:20px;line-height:1.3}
body.tb-about .author-card h3 a{color:var(--tb-ink);text-decoration:none}
body.tb-about .author-card h3 a:hover{color:var(--tb-red)}
body.tb-about .author-card-body>p{
	display:-webkit-box;
	overflow:hidden;
	margin:0 0 18px;
	color:var(--tb-muted);
	font-size:14px;
	line-height:1.6;
	-webkit-box-orient:vertical;
	-webkit-line-clamp:3;
}
body.tb-about .author-card-footer{
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:12px;
	margin-top:auto;
	padding-top:14px;
	border-top:1px solid var(--tb-line);
	font-size:12px;
}
body.tb-about .author-card-footer>span{color:var(--tb-muted)}
body.tb-about .author-card-footer a{color:var(--tb-blue);font-weight:800;text-decoration:none}
body.tb-about .about-join{
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:32px;
	min-height:190px;
	margin-bottom:72px;
	padding:38px 44px;
	border:0;
	border-radius:16px;
	background:linear-gradient(120deg,#102f52 0%,#164b75 100%);
	color:#fff;
}
body.tb-about .about-join .eyebrow{color:#ffb7bb}
body.tb-about .about-join h2{margin-bottom:9px;color:#fff}
body.tb-about .about-join p{max-width:720px;margin:0;color:rgba(255,255,255,.8);font-size:15px;line-height:1.6}
body.tb-about .about-join-actions{display:flex;flex:0 0 auto;gap:12px}

/* Article author, sharing and newsletter UX. */
body.tb-article .article-tools{gap:8px;margin-top:4px}
body.tb-article .article-tools button{
	display:inline-flex;
	width:auto;
	min-height:40px;
	align-items:center;
	justify-content:center;
	padding:0 14px;
	border:1px solid var(--tb-line);
	border-radius:999px;
	background:#fff;
	color:var(--tb-ink);
	font-size:12px;
	font-weight:700;
	transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease;
}
body.tb-article .article-tools button:hover{transform:translateY(-1px);border-color:#c8d0d9;box-shadow:0 8px 20px rgba(16,24,40,.08)}
body.tb-article .meta-row{align-items:center;gap:18px;margin:18px 0 22px}
body.tb-article .article-author{
	display:inline-flex;
	min-width:0;
	align-items:center;
	gap:10px;
	color:var(--tb-ink);
	text-decoration:none;
}
body.tb-article .article-author img{width:44px;height:44px;flex:0 0 44px;border:2px solid #fff;border-radius:50%;object-fit:cover;box-shadow:0 0 0 1px #d9e0e7}
body.tb-article .article-author>span:not(.author-link-arrow){display:flex;min-width:0;flex-direction:column;line-height:1.25}
body.tb-article .article-author b{font-size:13px}
body.tb-article .article-author small{margin-top:3px;color:var(--tb-muted);font-size:10px}
body.tb-article .author-link-arrow{display:inline-flex;width:24px;height:24px;align-items:center;justify-content:center;border-radius:50%;background:#f1f5f8;color:var(--tb-blue);font-weight:800;transition:transform .2s ease,background .2s ease}
body.tb-article .article-author:hover .author-link-arrow{transform:translateX(2px);background:#e5edf4}
body.tb-article .article-meta-items{display:flex;min-width:0;flex-wrap:wrap;align-items:center;gap:8px 14px;color:var(--tb-muted)}
body.tb-article .article-meta-items span{display:inline-flex;align-items:center;gap:5px;white-space:nowrap}
body.tb-article .article-author-card{
	display:grid;
	grid-template-columns:72px minmax(0,1fr) auto;
	gap:18px;
	align-items:center;
	margin:34px 0 0;
	padding:22px;
	border:1px solid #dfe6ed;
	border-radius:16px;
	background:linear-gradient(135deg,#f8fafc,#fff);
	box-shadow:0 10px 30px rgba(16,24,40,.045);
}
body.tb-article .article-author-card-photo{display:block;width:72px;height:72px}
body.tb-article .article-author-card-photo img{width:100%;height:100%;border-radius:50%;object-fit:cover;box-shadow:0 0 0 4px #fff,0 0 0 5px #dfe6ed}
body.tb-article .author-card-eyebrow{color:var(--tb-red);font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
body.tb-article .article-author-card h2{margin:3px 0 5px;font-size:19px;line-height:1.25}
body.tb-article .article-author-card h2 a{color:var(--tb-ink);text-decoration:none}
body.tb-article .article-author-card p{display:-webkit-box;overflow:hidden;margin:0;color:var(--tb-muted);font-size:12px;line-height:1.55;-webkit-box-orient:vertical;-webkit-line-clamp:2}
body.tb-article .author-posts-link{display:inline-flex;align-items:center;gap:8px;padding:11px 14px;border:1px solid #d6dee7;border-radius:999px;background:#fff;color:var(--tb-blue);font-size:11px;font-weight:800;text-decoration:none;white-space:nowrap}
body.tb-article .author-posts-link:hover{border-color:#b8c7d6;background:#f4f8fb}
body.tb-article .article-share{
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:20px;
	margin:18px 0 0;
	padding:20px 22px;
	border:1px solid #dfe5eb;
	border-radius:16px;
	background:#fff;
}
body.tb-article .share-copy{display:flex;min-width:130px;flex-direction:column}
body.tb-article .share-copy>span{color:var(--tb-red);font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
body.tb-article .share-copy>strong{margin-top:2px;font-size:17px}
body.tb-article .share-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}
body.tb-article .share-button{
	display:inline-flex;
	min-height:40px;
	align-items:center;
	justify-content:center;
	gap:8px;
	padding:0 13px;
	border:1px solid #dce2e8;
	border-radius:999px;
	background:#fff;
	color:#26313d;
	font:700 11px/1 var(--tb-font);
	text-decoration:none;
	cursor:pointer;
	transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease;
}
body.tb-article .share-button:hover{transform:translateY(-1px);border-color:#bfc9d4;box-shadow:0 7px 18px rgba(16,24,40,.08)}
body.tb-article .share-button b{display:inline-flex;width:22px;height:22px;align-items:center;justify-content:center;border-radius:50%;background:#eef3f7;color:var(--tb-blue);font-size:11px}
body.tb-article .share-button.facebook b{background:#eaf1ff;color:#1877f2}
body.tb-article .share-button.linkedin b{background:#e8f3f9;color:#0a66c2;font-size:9px}
body.tb-article .share-button.email b{background:#fff0ef;color:var(--tb-red)}
body.tb-article .article-newsletter{
	display:grid;
	width:min(var(--tb-page-max),calc(100% - (2 * var(--tb-page-gutter))));
	min-height:160px;
	grid-template-columns:64px minmax(260px,1fr) minmax(420px,560px);
	align-items:center;
	gap:24px;
	margin:10px auto 28px;
	padding:30px 34px;
	border-radius:18px;
	background:linear-gradient(130deg,var(--tb-navy),var(--tb-blue));
	color:#fff;
	box-shadow:0 18px 42px rgba(16,47,82,.18);
}
body.tb-article .article-newsletter-icon{display:flex;width:60px;height:60px;align-items:center;justify-content:center;border:1px solid rgba(255,255,255,.18);border-radius:16px;background:rgba(255,255,255,.1)}
body.tb-article .article-newsletter-icon img{width:29px;height:29px;filter:brightness(0) invert(1)}
body.tb-article .article-newsletter-copy>span{color:#b9d8ef;font-size:10px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}
body.tb-article .article-newsletter h2{margin:4px 0 7px;color:#fff;font-size:23px;line-height:1.2}
body.tb-article .article-newsletter p{margin:0;color:rgba(255,255,255,.76);font-size:13px;line-height:1.5}
body.tb-article .article-newsletter .newsletter-form{display:grid;min-width:0;grid-template-columns:minmax(0,1fr) 142px;gap:9px}
body.tb-article .article-newsletter .newsletter-form label{min-width:0}
body.tb-article .article-newsletter .newsletter-form input{width:100%;height:48px;margin:0;border:1px solid rgba(255,255,255,.16);border-radius:10px;background:#fff;padding:0 16px;color:var(--tb-ink);font:500 13px var(--tb-font);outline:none}
body.tb-article .article-newsletter .newsletter-form input:focus{border-color:#fff;box-shadow:0 0 0 3px rgba(255,255,255,.16)}
body.tb-article .article-newsletter .newsletter-form .btn{height:48px;border:0;border-radius:10px;background:var(--tb-red);color:#fff;font:800 12px var(--tb-font);cursor:pointer}
body.tb-article .article-newsletter .newsletter-status{grid-column:1/-1;margin:0;color:rgba(255,255,255,.68);font-size:10px;line-height:1.4}
body.tb-article .article-newsletter .newsletter-status a{color:#fff}

@media(max-width:1050px){
	body.tb-article .article-newsletter{grid-template-columns:56px 1fr;padding:26px}
	body.tb-article .article-newsletter .newsletter-form{grid-column:1/-1}
}

@media(max-width:760px){
	body.tb-article .meta-row{align-items:flex-start;flex-direction:column;gap:12px}
	body.tb-article .article-author-card{grid-template-columns:60px minmax(0,1fr)}
	body.tb-article .article-author-card-photo{width:60px;height:60px}
	body.tb-article .author-posts-link{grid-column:1/-1;justify-content:center}
	body.tb-article .article-share{align-items:flex-start;flex-direction:column}
	body.tb-article .share-actions{width:100%;justify-content:flex-start}
}

@media(max-width:560px){
	body.tb-article .article-tools button{min-height:38px;padding:0 12px}
	body.tb-article .article-meta-items{font-size:11px}
	body.tb-article .article-author-card{padding:18px}
	body.tb-article .article-share{padding:18px}
	body.tb-article .share-actions{display:grid;grid-template-columns:1fr 1fr}
	body.tb-article .share-button{padding:0 10px}
	body.tb-article .article-newsletter{width:calc(100% - 32px);grid-template-columns:1fr;gap:16px;padding:24px 20px}
	body.tb-article .article-newsletter-icon{width:52px;height:52px}
	body.tb-article .article-newsletter h2{font-size:21px}
	body.tb-article .article-newsletter .newsletter-form{grid-column:auto;grid-template-columns:1fr}
	body.tb-article .article-newsletter .newsletter-form .btn{width:100%}
}

@media(max-width:1100px){
	body.tb-about .authors-grid{grid-template-columns:repeat(auto-fill,minmax(210px,1fr))}
}

@media(max-width:900px){
	body.tb-about .about-hero{min-height:420px}
	body.tb-about .about-mission{grid-template-columns:1fr;padding-top:64px;padding-bottom:64px}
	body.tb-about .about-mission-image img{height:min(58vw,440px)}
	body.tb-about .about-values-grid{grid-template-columns:1fr}
	body.tb-about .about-value-card{min-height:0}
	body.tb-about .authors-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
	body.tb-about .about-join{align-items:flex-start;flex-direction:column}
}

@media(max-width:620px){
	body.tb-about .about-hero-content{padding-top:28px;padding-bottom:76px}
	body.tb-about .about-hero .breadcrumbs{margin-bottom:42px}
	body.tb-about .about-hero p{font-size:16px}
	body.tb-about .about-stats{grid-template-columns:1fr}
	body.tb-about .about-stat{padding:20px}
	body.tb-about .about-stat+.about-stat{border-top:1px solid var(--tb-line);border-left:0}
	body.tb-about .about-mission{padding-top:54px;padding-bottom:54px}
	body.tb-about .about-mission-image img{height:280px}
	body.tb-about .about-values,
	body.tb-about .about-team{padding-top:54px;padding-bottom:54px}
	body.tb-about .authors-grid{grid-template-columns:1fr}
	body.tb-about .author-card{min-height:0}
	body.tb-about .author-card-photo{height:min(105vw,420px)}
	body.tb-about .about-join{margin-bottom:50px;padding:28px 24px}
	body.tb-about .about-join-actions{width:100%;flex-direction:column}
	body.tb-about .about-join-actions .btn{width:100%}
}

/* Unified navigation, interaction and content surfaces. */
body.tb-theme .tb-breadcrumbs{
	display:block;
	min-width:0;
	margin:0 0 22px;
	color:#5f6b78;
	font-size:13px;
	line-height:1.35;
}
body.tb-theme .tb-breadcrumbs.container{margin-right:auto;margin-left:auto}
body.tb-theme .tb-breadcrumbs ol{
	display:flex;
	min-width:0;
	align-items:center;
	overflow:hidden;
	margin:0;
	padding:0;
	list-style:none;
}
body.tb-theme .tb-breadcrumbs li{display:flex;min-width:0;align-items:center}
body.tb-theme .tb-breadcrumbs li+li:before{
	content:"\203A";
	flex:0 0 auto;
	margin:0 9px;
	color:#a2aab4;
	font-weight:700;
}
body.tb-theme .tb-breadcrumbs a{
	display:inline-flex;
	align-items:center;
	gap:7px;
	color:#405166;
	font-weight:700;
	text-decoration:none;
	transition:color .2s ease;
}
body.tb-theme .tb-breadcrumbs a:hover{color:var(--tb-red)}
body.tb-theme .tb-breadcrumb-home{
	display:block;
	width:16px;
	height:16px;
	flex:0 0 16px;
	fill:none;
	stroke:currentColor;
	stroke-width:1.9;
	stroke-linecap:round;
	stroke-linejoin:round;
}
body.tb-theme .tb-breadcrumbs [aria-current="page"]{
	display:block;
	overflow:hidden;
	max-width:min(42vw,440px);
	color:#172b43;
	font-weight:700;
	text-overflow:ellipsis;
	white-space:nowrap;
}
body.tb-theme .tb-breadcrumbs--inverse,
body.tb-theme .tb-breadcrumbs--inverse a{color:rgba(255,255,255,.82)}
body.tb-theme .tb-breadcrumbs--inverse li+li:before,
body.tb-theme .tb-breadcrumbs--inverse [aria-current="page"]{color:rgba(255,255,255,.62)}

body.tb-directory main>.tb-breadcrumbs,
body.tb-company main>.tb-breadcrumbs{
	display:flex;
	min-height:48px;
	align-items:center;
	margin-top:18px;
	margin-bottom:18px;
	padding:0 16px;
	border:1px solid #e2e7ed;
	border-radius:10px;
	background:#f7f9fb;
	box-shadow:0 1px 2px rgba(16,47,82,.035);
}
body.tb-company main>.tb-breadcrumbs ol{width:100%}
body.tb-about .about-hero .tb-breadcrumbs{margin:0 0 48px}
body.tb-author .author-profile-hero .tb-breadcrumbs{margin-bottom:26px}
body.tb-article .article>.tb-breadcrumbs{margin-bottom:21px}
body.tb-contact .hero .tb-breadcrumbs,
body.tb-advertising .hero .tb-breadcrumbs{margin-bottom:24px}
body.tb-category .hero .tb-breadcrumbs{margin-bottom:16px}

body.tb-theme :where(a,button,input,select,textarea,summary):focus-visible{
	outline:3px solid rgba(15,77,124,.28);
	outline-offset:3px;
}
body.tb-theme :where(input:not([type="checkbox"]):not([type="radio"]),select,textarea){
	border-color:var(--tb-line);
	border-radius:8px;
	transition:border-color .2s ease,box-shadow .2s ease;
}
body.tb-theme :where(input:not([type="checkbox"]):not([type="radio"]),select,textarea):focus{
	border-color:#8aacc7;
	box-shadow:0 0 0 3px rgba(15,77,124,.1);
	outline:0;
}
body.tb-theme :is(.panel,.filters,.widget,.side-card,.content-card,.company-card,.article-card,.author-side-card,.price-card,.side-box,.form-panel,.map-panel){
	border-color:var(--tb-line);
	border-radius:12px;
}
body.tb-theme :where(.btn,.button,.details,.more,button[type="submit"]){
	transition:background-color .2s ease,border-color .2s ease,color .2s ease,box-shadow .2s ease,transform .2s ease;
}

body.tb-theme .generic-page{
	width:min(var(--tb-content-wide),calc(100% - (2 * var(--tb-page-gutter))));
	max-width:none;
	margin:0 auto;
	padding:32px 0 72px;
}
body.tb-theme .tb-generic-header{
	margin:0 0 30px;
	padding:28px 0;
	border-bottom:1px solid var(--tb-line);
}
body.tb-theme .tb-generic-header>span{
	color:var(--tb-red);
	font-size:11px;
	font-weight:800;
	letter-spacing:.09em;
	text-transform:uppercase;
}
body.tb-theme .tb-generic-header h1{margin:6px 0 0}
body.tb-theme .generic-page .entry-content{font-size:16px;line-height:1.75}
body.tb-theme .generic-page .entry-content h2{margin-top:36px;font-size:var(--tb-h2)}
body.tb-theme .generic-page .entry-content h3{margin-top:28px;font-size:var(--tb-h3)}

body.tb-theme .tb-404-page{min-height:calc(100vh - 332px)}
body.tb-theme .tb-404-panel{
	max-width:720px;
	margin:36px auto 0;
	padding:48px;
	border:1px solid var(--tb-line);
	border-radius:18px;
	background:linear-gradient(135deg,#fff,#f6f9fb);
	box-shadow:var(--tb-shadow);
	text-align:center;
}
body.tb-theme .tb-404-code{
	display:block;
	color:var(--tb-red);
	font-size:14px;
	font-weight:800;
	letter-spacing:.16em;
}
body.tb-theme .tb-404-panel h1{margin:8px 0 12px}
body.tb-theme .tb-404-panel>p{max-width:570px;margin:0 auto;color:var(--tb-muted);line-height:1.7}
body.tb-theme .tb-404-search{max-width:520px;margin:24px auto;text-align:left}
body.tb-theme .tb-404-search label{font-size:12px;font-weight:800}
body.tb-theme .tb-404-search>div{display:grid;grid-template-columns:1fr auto;gap:8px;margin-top:7px}
body.tb-theme .tb-404-search input{min-height:46px;padding:0 14px}
body.tb-theme .tb-404-search button{min-width:110px}
body.tb-theme .tb-back-home{display:inline-flex;min-height:44px;align-items:center;justify-content:center;padding:0 20px;border-radius:8px;background:var(--tb-navy);color:#fff;font-weight:800;text-decoration:none}

@media(max-width:620px){
	body.tb-theme .tb-breadcrumbs{margin-bottom:17px;font-size:12px}
	body.tb-theme .tb-breadcrumbs li+li:before{margin:0 7px}
	body.tb-theme .tb-breadcrumbs [aria-current="page"]{max-width:52vw}
	body.tb-theme .tb-breadcrumbs li:first-child .tb-breadcrumb-label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
	body.tb-directory main>.tb-breadcrumbs,
	body.tb-company main>.tb-breadcrumbs{min-height:44px;margin-top:12px;margin-bottom:14px;padding:0 12px;border-radius:8px}
	body.tb-about .about-hero .tb-breadcrumbs{margin-bottom:34px}
	body.tb-theme .generic-page{padding-top:22px;padding-bottom:54px}
	body.tb-theme .tb-404-panel{margin-top:24px;padding:34px 22px}
	body.tb-theme .tb-404-search>div{grid-template-columns:1fr}
	body.tb-theme .tb-404-search button{min-height:44px}
}

/* Directory filters: one cohesive toolbar with a clear action hierarchy. */
body.tb-directory .filters{
	margin-bottom:18px;
	padding:18px;
	border:1px solid #dde3e8;
	border-radius:12px;
	background:#fff;
	box-shadow:0 8px 24px rgba(21,42,64,.055);
}
body.tb-directory .filters .filter-grid{
	display:grid;
	grid-template-columns:minmax(180px,1.25fr) minmax(120px,.85fr) minmax(170px,1.15fr) minmax(125px,.9fr) minmax(150px,.9fr);
	align-items:end;
	gap:12px;
}
body.tb-directory .filters label{
	dis:block;
	min-width:0;
	color:#2d3b49;
	font-size:12px;
	font-weight:800;
	letter-spacing:.01em;
}
body.tb-directory .filters .input,
body.tb-directory .filters select,
body.tb-directory .filters .more{
	height:46px;
	min-height:46px;
	margin-top:8px;
	border-radius:9px;
	font-size:13px;
}
body.tb-directory .filters .input,
body.tb-directory .filters select{
	border:1px solid #d5dde4;
	background:#fbfcfd;
	color:#303d4a;
	transition:border-color .2s ease,background-color .2s ease,box-shadow .2s ease;
}
body.tb-directory .filters .input{padding:0 12px}
body.tb-directory .filters .input input{
	min-width:0;
	border:0;
	outline:0;
	background:transparent;
	color:inherit;
	font:inherit;
}
body.tb-directory .filters .input input::placeholder{color:#7c8792;opacity:1}
body.tb-directory .filters .input:focus-within,
body.tb-directory .filters select:focus{
	border-color:var(--tb-red);
	background:#fff;
	box-shadow:0 0 0 3px rgba(223,39,44,.11);
	outline:0;
}
body.tb-directory .filters .filter-submit-wrap{display:flex;align-items:flex-end;min-width:0}
body.tb-directory .filters .more{
	width:100%;
	gap:8px;
	padding:0 17px;
	border:1px solid var(--tb-red);
	background:var(--tb-red);
	box-shadow:0 7px 16px rgba(223,39,44,.18);
	color:#fff;
	font-weight:800;
	white-space:nowrap;
	transition:background-color .2s ease,border-color .2s ease,box-shadow .2s ease,transform .2s ease;
}
body.tb-directory .filters .more:hover{
	border-color:#c91f25;
	background:#c91f25;
	box-shadow:0 9px 18px rgba(201,31,37,.22);
	transform:translateY(-1px);
}
body.tb-directory .filters .more:focus-visible{outline:3px solid rgba(223,39,44,.22);outline-offset:2px}
body.tb-directory .filters hr{margin:18px 0 14px;border-top-color:#e7ebef}
body.tb-directory .filters .active{gap:8px;color:#65717d;font-size:12px}
body.tb-directory .filters .active>strong{color:#4f5c68;font-size:12px}
body.tb-directory .filters .active .filter-pill{
	min-height:32px;
	border-color:#efcfd1;
	background:#fff6f6;
	color:#8d3438;
}
body.tb-directory .filters .active .filter-pill:hover{border-color:#e8b7ba;background:#fff}
body.tb-directory .filters .active .filter-pill>span{background:#f7dfe0;color:#9b3b40}
body.tb-directory .filters .active .clear-all{
	dis:inline-flex;
	min-height:32px;
	align-items:center;
	gap:6px;
	margin-left:auto;
	padding:0 10px;
	border-radius:7px;
	color:#596672;
	font-size:12px;
	font-weight:800;
	text-decoration:none;
}
body.tb-directory .filters .active .clear-all:hover{background:#f2f5f7;color:#172b43}

@media(max-width:1180px){
	body.tb-directory .filters .filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
	body.tb-directory .filters .filter-submit-wrap{grid-column:1/-1}
	body.tb-directory .filters .more{width:auto;min-width:190px}
}
@media(max-width:620px){
	body.tb-directory .filters{padding:14px}
	body.tb-directory .filters .filter-grid{grid-template-columns:1fr;gap:13px}
	body.tb-directory .filters .filter-submit-wrap{grid-column:auto}
	body.tb-directory .filters .more{width:100%;min-width:0}
	body.tb-directory .filters .active .clear-all{width:auto;margin-left:0;padding-left:0}
}

/* Company profile polish: uncropped logo, icon-led contacts and useful sidebar cards. */
body.tb-company .company-logo{
	height:132px;
	padding:16px;
	border-color:#dfe5ea;
	border-radius:12px;
	background:#fff;
	overflow:hidden;
}
body.tb-company .company-logo img{
	display:block;
	width:100%;
	height:100%;
	max-width:100%;
	max-height:100%;
	object-fit:contain;
	object-position:center;
}
body.tb-company .contact-actions{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
body.tb-company .contact-action{
	min-width:0;
	height:64px;
	justify-content:flex-start;
	gap:12px;
	padding:0 15px;
	border-color:#dce2e7;
	border-radius:10px;
	background:#fff;
	transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease;
}
body.tb-company .contact-action.phone{
	border-color:transparent;
	background:linear-gradient(120deg,#df272c,#c91f25);
	color:#fff;
	box-shadow:0 8px 18px rgba(201,31,37,.18);
}
body.tb-company .contact-action.phone:hover,
body.tb-company .contact-action.phone:focus-visible{
	background:linear-gradient(120deg,#cf2026,#b91920);
	box-shadow:0 10px 22px rgba(185,25,32,.25);
	transform:translateY(-1px);
	outline:0;
}
body.tb-company .contact-action:not(.phone):hover{border-color:#b9c6d2;box-shadow:0 7px 18px rgba(22,43,65,.08);transform:translateY(-1px)}
body.tb-company .contact-action-icon{
	display:grid;
	width:38px;
	height:38px;
	flex:0 0 38px;
	place-items:center;
	border-radius:9px;
	background:#fff2f2;
	color:var(--tb-red);
	font-size:19px;
}
body.tb-company .contact-action.phone .contact-action-icon{background:rgba(255,255,255,.18);color:#fff}
body.tb-company .contact-action-value{
	min-width:0;
	overflow:hidden;
	color:#243342;
	font-size:13px;
	font-weight:800;
	line-height:1.25;
	text-overflow:ellipsis;
	white-space:nowrap;
}
body.tb-company .contact-action.phone .contact-action-value{color:#fff}
body.tb-company button.contact-action{padding:0 15px}
body.tb-company .rating-row .location{display:inline-flex;align-items:center;gap:6px;min-width:0}
body.tb-company .rating-row .location .tb-fi{width:16px;flex:0 0 16px;color:var(--tb-red);font-size:15px;text-align:center}
body.tb-company .details-grid dt .tb-fi{width:16px;flex:0 0 16px;color:var(--tb-red);font-size:14px;text-align:center}
body.tb-company .facts-card li span .tb-fi{width:18px;flex:0 0 18px;color:var(--tb-red);font-size:16px;text-align:center}
body.tb-company .company-sidebar-ad{
	width:100%;
	height:auto;
	aspect-ratio:1180/1322;
	border:1px solid #dfe4e8;
	border-radius:14px;
	box-shadow:0 9px 24px rgba(21,42,64,.08);
}
body.tb-company .company-sidebar-ad img{width:100%;height:100%;object-fit:cover}
body.tb-company .company-update-card{height:auto;min-height:216px;padding:20px;text-align:left}
body.tb-company .company-update-icon{
	dis:grid;
	width:42px;
	height:42px;
	place-items:center;
	margin-bottom:13px;
	border-radius:11px;
	background:#fff1f1;
	color:var(--tb-red);
	font-size:20px;
}
body.tb-company .company-update-card h2{font-size:18px}
body.tb-company .company-update-card p{font-size:13px;line-height:1.55}
body.tb-company .company-update-card .btn{display:flex;min-height:43px;align-items:center;justify-content:center;border-radius:8px;font-size:13px;text-decoration:none}
body.tb-company .company-update-card small{align-items:flex-start;justify-content:flex-start;margin-top:12px;font-size:10px;line-height:1.4}
body.tb-company .company-update-card small .tb-fi{margin-top:1px;color:#20854b;font-size:12px}
body.tb-company .similar-card{height:auto;padding:20px}
body.tb-company .similar-card .section-title-row{align-items:baseline;gap:10px}
body.tb-company .similar-card .section-title-row h2{font-size:18px}
body.tb-company .similar-card .section-title-row a{white-space:nowrap;font-size:11px}
body.tb-company .similar-list{gap:8px;margin-top:14px}
body.tb-company .similar-list>a{
	dis:grid;
	grid-template-columns:58px minmax(0,1fr) 22px;
	height:auto;
	min-height:68px;
	align-items:center;
	gap:11px;
	padding:8px;
	border:1px solid #e2e7eb;
	border-radius:10px;
	background:#fff;
	transition:border-color .2s ease,background-color .2s ease,transform .2s ease;
}
body.tb-company .similar-list>a:hover{border-color:#c8d1d9;background:#f9fbfc;transform:translateY(-1px)}
body.tb-company .similar-logo{
	dis:grid;
	width:58px;
	height:48px;
	place-items:center;
	padding:6px;
	border:1px solid #e7ebee;
	border-radius:8px;
	background:#fff;
}
body.tb-company .similar-logo img{display:block;width:100%;height:100%;object-fit:contain}
body.tb-company .similar-logo>b{color:#52616f;font-size:15px}
body.tb-company .similar-copy{gap:4px;overflow:hidden}
body.tb-company .similar-copy>strong{overflow:hidden;color:#263442;font-size:12px;line-height:1.3;text-overflow:ellipsis;white-space:nowrap}
body.tb-company .similar-copy>small{overflow:hidden;color:#74808b;font-size:10px;text-overflow:ellipsis;white-space:nowrap}
body.tb-company .similar-arrow{color:#88939d;font-size:17px;transition:color .2s ease,transform .2s ease}
body.tb-company .similar-list>a:hover .similar-arrow{color:var(--tb-red);transform:translateX(2px)}

/* Company data update utility page. */
body.tb-company .company-update-page{padding-bottom:64px;background:linear-gradient(180deg,#fff 0,#f7f9fb 360px,#f7f9fb 100%)}
body.tb-company .company-update-shell{width:min(980px,calc(100% - (2 * var(--tb-page-gutter))));padding-top:8px}
body.tb-company .company-update-back{display:inline-flex;align-items:center;gap:8px;margin:4px 0 24px;color:#4d5b68;font-size:13px;font-weight:700}
body.tb-company .company-update-back:hover{color:var(--tb-red)}
body.tb-company .company-update-back .tb-fi{font-size:15px}
body.tb-company .company-update-hero{display:grid;grid-template-columns:minmax(0,1fr) 300px;align-items:end;gap:44px;margin-bottom:24px}
body.tb-company .company-update-kicker{display:block;margin-bottom:8px;color:var(--tb-red);font-size:12px;font-weight:900;letter-spacing:.13em}
body.tb-company .company-update-hero h1{margin:0 0 12px;font-size:clamp(34px,4.2vw,50px);letter-spacing:-.04em}
body.tb-company .company-update-hero>div>p{max-width:650px;margin:0;color:#64717d;font-size:16px;line-height:1.65}
body.tb-company .company-update-hero aside{display:grid;grid-template-columns:48px 1fr;gap:2px 12px;padding:18px;border:1px solid #dce3e8;border-radius:13px;background:#fff;box-shadow:0 10px 28px rgba(21,42,64,.07)}
body.tb-company .company-update-hero aside>span{display:grid;grid-row:1/4;width:48px;height:48px;place-items:center;border-radius:11px;background:#fff1f1;color:var(--tb-red);font-size:21px}
body.tb-company .company-update-hero aside small{color:#75818c;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.07em}
body.tb-company .company-update-hero aside strong{overflow:hidden;font-size:14px;text-overflow:ellipsis;white-space:nowrap}
body.tb-company .company-update-hero aside em{overflow:hidden;color:#6d7882;font-size:11px;font-style:normal;text-overflow:ellipsis;white-space:nowrap}
body.tb-company .company-update-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin:0 0 22px;padding:0;list-style:none;border:1px solid #dfe5e9;border-radius:13px;background:#fff;overflow:hidden}
body.tb-company .company-update-steps li{display:flex;min-height:82px;align-items:center;gap:12px;padding:16px 20px}
body.tb-company .company-update-steps li+li{border-left:1px solid #e3e8eb}
body.tb-company .company-update-steps li>b{display:grid;width:32px;height:32px;flex:0 0 32px;place-items:center;border-radius:50%;background:#fff1f1;color:var(--tb-red);font-size:13px}
body.tb-company .company-update-steps span{display:flex;min-width:0;flex-direction:column;gap:2px}
body.tb-company .company-update-steps strong{font-size:13px}
body.tb-company .company-update-steps small{color:#75808a;font-size:10px;line-height:1.35}
body.tb-company .company-update-alert{display:flex;align-items:flex-start;gap:13px;margin-bottom:20px;padding:16px 18px;border:1px solid;border-radius:11px;background:#fff}
body.tb-company .company-update-alert>.tb-fi{margin-top:2px;font-size:19px}
body.tb-company .company-update-alert strong{font-size:14px}
body.tb-company .company-update-alert p{margin:3px 0 0;font-size:12px}
body.tb-company .company-update-alert.is-success{border-color:#bce0c8;color:#236f40;background:#f3fbf5}
body.tb-company .company-update-alert.is-error{border-color:#efc7c9;color:#9a3035;background:#fff6f6}
body.tb-company .company-update-form{display:flex;flex-direction:column;gap:18px}
body.tb-company .company-update-section{border:1px solid #dfe5e9;border-radius:14px;background:#fff;box-shadow:0 8px 24px rgba(21,42,64,.045);overflow:hidden}
body.tb-company .company-update-section>header{display:flex;align-items:flex-start;gap:13px;padding:20px 24px;border-bottom:1px solid #e7ebee;background:#fbfcfd}
body.tb-company .company-update-section>header>span{display:grid;width:34px;height:34px;flex:0 0 34px;place-items:center;border-radius:9px;background:var(--tb-red);color:#fff;font-size:13px;font-weight:900}
body.tb-company .company-update-section h2{margin:0 0 4px;font-size:20px}
body.tb-company .company-update-section header p{margin:0;color:#6e7983;font-size:12px;line-height:1.5}
body.tb-company .company-update-fields{display:grid;grid-template-columns:1fr 1fr;gap:18px 20px;padding:24px}
body.tb-company .company-update-fields>label{display:flex;min-width:0;flex-direction:column;gap:7px;color:#344250;font-size:12px;font-weight:800}
body.tb-company .company-update-fields>label b{display:inline;color:var(--tb-red)}
body.tb-company .company-update-fields .field-full{grid-column:1/-1}
body.tb-company .company-update-fields input:not([type=checkbox]),
body.tb-company .company-update-fields select,
body.tb-company .company-update-fields textarea{width:100%;min-height:46px;padding:10px 13px;border:1px solid #d5dde3;border-radius:8px;background:#fff;color:#263442;font:inherit;font-weight:500;outline:0;transition:border-color .2s ease,box-shadow .2s ease}
body.tb-company .company-update-fields textarea{line-height:1.55;resize:vertical}
body.tb-company .company-update-fields input:focus,
body.tb-company .company-update-fields select:focus,
body.tb-company .company-update-fields textarea:focus{border-color:var(--tb-red);box-shadow:0 0 0 3px rgba(223,39,44,.1)}
body.tb-company .company-readonly-input{display:flex;align-items:center;border:1px solid #dce2e7;border-radius:8px;background:#f5f7f9;overflow:hidden}
body.tb-company .company-readonly-input>.tb-fi{width:44px;flex:0 0 44px;color:#697682;text-align:center;font-size:17px}
body.tb-company .company-readonly-input input{border:0!important;background:transparent!important;box-shadow:none!important}
body.tb-company .company-update-fields input:disabled{color:#5e6b77;opacity:1;cursor:not-allowed}
body.tb-company .company-update-media-fields{align-items:start}
body.tb-company .company-upload-field{gap:10px!important}
body.tb-company .company-upload-box{
	display:grid;
	min-height:190px;
	place-items:center;
	align-content:center;
	gap:7px;
	padding:22px;
	border:1.5px dashed #cbd5dd;
	border-radius:12px;
	background:#f8fafb;
	color:#334454;
	text-align:center;
	transition:border-color .2s ease,background-color .2s ease,box-shadow .2s ease;
}
body.tb-company .company-upload-box:hover{border-color:var(--tb-red);background:#fffafa;box-shadow:0 0 0 3px rgba(223,39,44,.055)}
body.tb-company .company-upload-box>.tb-fi{display:grid;width:46px;height:46px;place-items:center;border-radius:11px;background:#fff0f1;color:var(--tb-red);font-size:21px}
body.tb-company .company-upload-box>strong{font-size:14px}
body.tb-company .company-upload-box>small{color:#74808b;font-size:11px;font-weight:500}
body.tb-company .company-upload-box input[type=file]{
	width:min(100%,320px);
	min-height:42px;
	margin-top:5px;
	padding:5px;
	border:1px solid #d6dee4;
	border-radius:8px;
	background:#fff;
	color:#53616e;
	font-size:11px;
	font-weight:600;
}
body.tb-company .company-upload-box input[type=file]::file-selector-button{height:30px;margin-right:9px;padding:0 11px;border:0;border-radius:6px;background:#243f5b;color:#fff;font:inherit;font-weight:800;cursor:pointer}
body.tb-company .company-current-image{display:flex;align-items:center;gap:11px;padding:9px;border:1px solid #e1e6ea;border-radius:9px;background:#fff}
body.tb-company .company-current-image img{width:78px;height:52px;object-fit:contain;border-radius:6px;background:#f4f6f8}
body.tb-company .company-current-image small,
body.tb-company .company-upload-help{color:#74808b;font-size:11px;font-weight:500;line-height:1.45}
body.tb-company .company-update-consent{display:grid!important;grid-template-columns:20px 1fr;align-items:start;gap:10px!important;font-weight:500!important;line-height:1.55}
body.tb-company .company-update-consent input{width:18px;height:18px;margin:2px 0 0;accent-color:var(--tb-red)}
body.tb-company .company-update-consent a{color:var(--tb-red);font-weight:800;text-decoration:underline;text-underline-offset:2px}
body.tb-company .company-update-submit{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 22px;border:1px solid #dfe5e9;border-radius:13px;background:#fff}
body.tb-company .company-update-submit p{display:flex;align-items:center;gap:9px;margin:0;color:#65717c;font-size:11px;line-height:1.45}
body.tb-company .company-update-submit p .tb-fi{color:#23844c;font-size:17px}
body.tb-company .company-update-submit .btn{display:inline-flex;width:auto;min-width:210px;min-height:46px;align-items:center;justify-content:center;gap:9px;border-radius:8px;font-size:13px}
body.tb-company .company-update-honeypot{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important}

@media(max-width:900px){
	body.tb-company .company-logo{height:120px}
	body.tb-company .company-update-hero{grid-template-columns:1fr}
	body.tb-company .company-update-hero aside{max-width:440px}
	body.tb-company .company-update-steps{grid-template-columns:1fr}
	body.tb-company .company-update-steps li+li{border-top:1px solid #e3e8eb;border-left:0}
}
@media(max-width:620px){
	body.tb-company .company-logo{width:100%;height:150px}
	body.tb-company .contact-actions{grid-template-columns:1fr}
	body.tb-company .contact-action{height:58px}
	body.tb-company .company-sidebar-ad{max-width:360px;margin-inline:auto}
	body.tb-company .company-update-hero{gap:22px}
	body.tb-company .company-update-hero h1{font-size:34px}
	body.tb-company .company-update-hero>div>p{font-size:14px}
	body.tb-company .company-update-fields{grid-template-columns:1fr;padding:18px}
	body.tb-company .company-update-fields .field-full{grid-column:auto}
	body.tb-company .company-update-section>header{padding:18px}
	body.tb-company .company-update-submit{align-items:stretch;flex-direction:column}
	body.tb-company .company-update-submit .btn{width:100%;min-width:0}
	body.tb-company .contacts-card .details-grid{gap:16px}
	body.tb-company .contacts-card .details-grid dl+dl{padding-left:0}
	body.tb-company .contacts-card .details-grid dl>div{grid-template-columns:minmax(105px,.72fr) minmax(0,1.28fr);gap:10px}
	body.tb-company .company-gallery{grid-template-columns:1fr 1fr}
	body.tb-company .company-gallery-item img{height:130px}
}

/* Editorial sidebar advertising. */
body.tb-article .article,
body.tb-article .sidebar{min-width:0}
body.tb-article .article-sidebar-ad{
	display:block;
	width:100%;
	height:auto;
	aspect-ratio:1182/1330;
	margin:0 0 18px;
	border:1px solid #dfe4e8;
	border-radius:14px;
	background:#eef4f8;
	box-shadow:0 9px 24px rgba(21,42,64,.08);
	overflow:hidden;
	transition:box-shadow .2s ease,transform .2s ease;
}
body.tb-article .article-sidebar-ad:hover{box-shadow:0 13px 30px rgba(21,42,64,.13);transform:translateY(-2px)}
body.tb-article .article-sidebar-ad img{display:block;width:100%;height:auto;aspect-ratio:1182/1330;object-fit:contain}
body.tb-article .article-sidebar-ad:focus-visible{outline:3px solid rgba(223,39,44,.25);outline-offset:3px}

@media(max-width:900px){
	body.tb-article .sidebar{align-items:start}
	body.tb-article .article-sidebar-ad{max-width:360px;margin:0;align-self:start}
}
@media(max-width:600px){
	body.tb-article .article-sidebar-ad{width:min(100%,360px);margin-inline:auto}
}

/* Contact page: clearer contact cards and a topic-led Contact Form 7 layout. */
body.tb-contact .contact-cards>*{
	display:flex;
	min-width:0;
	min-height:112px;
	align-items:center;
	gap:15px;
	padding:20px;
	border:1px solid #dfe5e9;
	border-radius:12px;
	background:#fff;
	box-shadow:0 7px 20px rgba(21,42,64,.045);
}
body.tb-contact .contact-cards>a{transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease}
body.tb-contact .contact-cards>a:hover{border-color:#c7d1d9;box-shadow:0 10px 24px rgba(21,42,64,.08);transform:translateY(-1px)}
body.tb-contact .contact-cards>*>span{
	display:grid;
	width:48px;
	height:48px;
	flex:0 0 48px;
	place-items:center;
	border-radius:11px;
	background:#fff1f1;
	color:var(--tb-red);
}
body.tb-contact .contact-cards>*>div{min-width:0}
body.tb-contact .contact-cards strong{display:block;margin-bottom:4px;color:#283746;font-size:13px}
body.tb-contact .contact-cards p{margin:0;overflow-wrap:anywhere;color:#68747f;font-size:12px;line-height:1.45}
body.tb-contact .contact-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:24px}
body.tb-contact .form-panel,
body.tb-contact .map-panel{min-height:580px;border-color:#dfe5e9;border-radius:14px;box-shadow:0 10px 30px rgba(21,42,64,.065)}
body.tb-contact .form-panel{padding:30px 32px}
body.tb-contact .form-panel h2{margin-bottom:6px;font-size:28px}
body.tb-contact .form-panel>p{margin-bottom:22px;color:#6e7a85;font-size:13px}
body.tb-contact .map-panel>iframe{min-height:580px}
body.tb-contact .wpcf7 .contact-form-grid{display:block}
body.tb-contact .wpcf7 .contact-form-grid>p:first-child{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:0}
body.tb-contact .wpcf7 .contact-form-grid>p:first-child>label{display:flex;min-width:0;flex-direction:column;gap:7px;margin:0;color:#334352;font-size:12px;font-weight:800}
body.tb-contact .wpcf7 .contact-form-grid>p:first-child>label.field-full{grid-column:1/-1}
body.tb-contact .wpcf7 .contact-form-grid>p:first-child>label>span:first-child:not(.wpcf7-form-control-wrap){display:block}
body.tb-contact .wpcf7 .contact-form-grid>.field-full{margin-top:16px}
body.tb-contact .wpcf7 .contact-form-grid>.field-full>p{margin:0}
body.tb-contact .wpcf7 .wpcf7-form-control-wrap{display:block;width:100%}
body.tb-contact .wpcf7 input:not([type=submit]):not([type=checkbox]),
body.tb-contact .wpcf7 select,
body.tb-contact .wpcf7 textarea{
	width:100%;
	margin:0;
	border:1px solid #d5dde4;
	border-radius:9px;
	background:#fbfcfd;
	color:#283746;
	font-size:13px;
	font-weight:500;
	transition:border-color .2s ease,background-color .2s ease,box-shadow .2s ease;
}
body.tb-contact .wpcf7 input:not([type=submit]):not([type=checkbox]),
body.tb-contact .wpcf7 select{height:48px;padding:0 13px}
body.tb-contact .wpcf7 textarea{height:144px;min-height:144px;padding:13px;line-height:1.55;resize:vertical}
body.tb-contact .wpcf7 input::placeholder,
body.tb-contact .wpcf7 textarea::placeholder{color:#87919a;opacity:1}
body.tb-contact .wpcf7 input:focus,
body.tb-contact .wpcf7 select:focus,
body.tb-contact .wpcf7 textarea:focus{border-color:var(--tb-red);background:#fff;box-shadow:0 0 0 3px rgba(201,35,43,.1);outline:0}
body.tb-contact .wpcf7 .consent{display:block!important;color:#606c77;font-size:11px;font-weight:500;line-height:1.5}
body.tb-contact .wpcf7 .consent .wpcf7-list-item{margin:0}
body.tb-contact .wpcf7 .consent label{display:flex;align-items:flex-start;gap:9px}
body.tb-contact .wpcf7 .consent input{width:17px;height:17px;flex:0 0 17px;margin:2px 0 0;accent-color:var(--tb-red)}
body.tb-contact .wpcf7 .contact-submit{
	display:flex;
	width:100%;
	height:48px;
	align-items:center;
	justify-content:center;
	border:1px solid var(--tb-red);
	border-radius:9px;
	background:var(--tb-red);
	box-shadow:0 8px 18px rgba(201,35,43,.18);
	color:#fff;
	font-size:13px;
	font-weight:800;
	cursor:pointer;
	transition:background-color .2s ease,box-shadow .2s ease,transform .2s ease;
}
body.tb-contact .wpcf7 .contact-submit:hover{background:#b91d24;box-shadow:0 10px 22px rgba(185,29,36,.22);transform:translateY(-1px)}
body.tb-contact .wpcf7 .wpcf7-spinner{display:block;margin:10px auto 0}
body.tb-contact .wpcf7 .wpcf7-response-output{margin:14px 0 0;padding:11px 13px;border-width:1px;border-radius:8px;font-size:12px}

@media(max-width:900px){
	body.tb-contact .contact-grid{grid-template-columns:1fr}
	body.tb-contact .form-panel,
	body.tb-contact .map-panel{min-height:0}
	body.tb-contact .map-panel>iframe{min-height:440px}
}
@media(max-width:620px){
	body.tb-contact .contact-cards>*{min-height:96px;padding:16px}
	body.tb-contact .form-panel{padding:22px 18px}
	body.tb-contact .wpcf7 .contact-form-grid>p:first-child{grid-template-columns:1fr}
	body.tb-contact .wpcf7 .contact-form-grid>p:first-child>label.field-full{grid-column:auto}
}

/* Analytics advertising placements migrated from the former theme. */
body.tb-theme .tb-ad-top-wrap,
body.tb-theme .tb-ad-article-bottom,
body.tb-theme .tb-ad-sidebar-wrap,
body.tb-theme .tb-ad-inarticle-grid{min-width:0;width:100%}
body.tb-theme .tb-ad-zone{display:block;max-width:100%;min-width:0;margin-inline:auto;text-align:center;overflow:hidden}
body.tb-theme .tb-ad-zone iframe{max-width:100%}
body.tb-theme .tb-ad-top-wrap{max-width:1180px;margin:12px auto 26px;padding-inline:24px;text-align:center}
body.tb-theme .tb-ad-top{margin-inline:auto}
body.tb-theme .tb-ad-inarticle-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:28px 0}
body.tb-theme .tb-ad-inarticle{margin:26px auto}
body.tb-theme .tb-ad-inarticle-grid .tb-ad-inarticle{margin:0}
body.tb-theme .tb-ad-article-bottom{margin:34px 0}
body.tb-theme .tb-ad-bottom{margin-inline:auto}
body.tb-theme .tb-ad-sidebar-wrap{margin:0 0 20px;overflow:hidden}
body.tb-theme .tb-ad-sidebar{margin-inline:auto}
body.tb-theme .tb-ad-sticky-wrap{position:fixed;z-index:90;left:50%;bottom:0;transform:translateX(-50%);max-width:100%;text-align:center;pointer-events:none}
body.tb-theme .tb-ad-sticky-wrap iframe{pointer-events:auto}
body.tb-theme .tb-ad-mobile{display:none}
@media(max-width:1000px){
	body.tb-theme .tb-ad-desktop{display:none}
	body.tb-theme .tb-ad-mobile{display:block}
	body.tb-theme .tb-ad-top-wrap{margin:10px auto 20px;padding-inline:12px}
	body.tb-theme .tb-ad-inarticle-grid{grid-template-columns:1fr}
}

/* Skip below-the-fold layout and paint work until sections approach view. */
@supports(content-visibility:auto){
	body.tb-home .directory-section,
	body.tb-home .companies-section,
	body.tb-home #categories,
	body.tb-home .articles-section,
	body.tb-home .newsletter,
	body.tb-category .archive-body,
	body.tb-directory .directory-layout,
	body.tb-company .company-main,
	body.tb-author .author-content,
	body.tb-theme .site-footer{content-visibility:auto;contain-intrinsic-size:auto 720px}
}

/* Shared company list card: used for related and newest companies. */
.tb-company-list-card{height:auto}
.tb-company-list-card .section-title-row{display:flex;align-items:baseline;justify-content:space-between;gap:10px}
.tb-company-list-card .section-title-row h2,
.tb-company-list-card .section-title-row h3{margin:0;font-size:18px;line-height:1.25}
.tb-company-list-card .company-list-all{flex:0 0 auto;margin:0;color:var(--tb-red,#df272c);font-size:11px;font-weight:800;line-height:1.3;text-decoration:none;white-space:nowrap}
.tb-company-list-card .company-list-all:hover{text-decoration:underline}
.tb-company-list-card .similar-list{display:flex;flex-direction:column;gap:8px;margin-top:14px}
.tb-company-list-card .similar-list>a{display:grid;grid-template-columns:48px minmax(0,1fr) 18px;align-items:center;gap:10px;min-height:58px;padding:8px;border:1px solid #e4e8ec;border-radius:10px;background:#fff;color:#0d1b2a;text-decoration:none;transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease}
.tb-company-list-card .similar-list>a:hover{border-color:#cbd8e5;box-shadow:0 8px 20px rgba(12,35,61,.08);transform:translateY(-1px)}
.tb-company-list-card .similar-logo{display:grid;width:48px;height:40px;place-items:center;overflow:hidden;border:1px solid #edf0f3;border-radius:8px;background:#f7f9fb;color:#1b62b1;font-size:13px;font-weight:900;letter-spacing:.02em}
.tb-company-list-card .similar-logo img{display:block;width:100%;height:100%;object-fit:contain;padding:3px}
.tb-company-list-card .similar-copy{display:block;min-width:0}
.tb-company-list-card .similar-copy strong{display:-webkit-box;overflow:hidden;color:#10243c;font-size:12px;font-weight:800;line-height:1.3;-webkit-box-orient:vertical;-webkit-line-clamp:2}
.tb-company-list-card .similar-copy small{display:flex;align-items:center;gap:5px;overflow:hidden;margin-top:3px;color:#68778a;font-size:10px;line-height:1.3;white-space:nowrap}
.tb-company-list-card .similar-copy small .tb-fi{width:12px;flex:0 0 12px;color:var(--tb-red,#df272c);font-size:11px;text-align:center}
.tb-company-list-card .similar-copy small>span{min-width:0;overflow:hidden;text-overflow:ellipsis}
.tb-company-list-card .similar-arrow{color:#a3afbd;font-size:17px;font-weight:700;text-align:center;transition:color .2s ease,transform .2s ease}
.tb-company-list-card .similar-list>a:hover .similar-arrow{color:var(--tb-red,#df272c);transform:translateX(2px)}

body.tb-directory .right .tb-company-list-card .section-title-row{align-items:flex-start;flex-direction:column;gap:5px}
body.tb-directory .right .tb-company-list-card .section-title-row h3{font-size:15px}
body.tb-directory .right .tb-company-list-card .company-list-all{font-size:10px}
body.tb-directory .right .tb-company-list-card .similar-list>a{grid-template-columns:40px minmax(0,1fr) 14px;gap:7px;padding:7px}
body.tb-directory .right .tb-company-list-card .similar-logo{width:40px;height:36px}

@media(max-width:720px){
	.tb-company-list-card .section-title-row{align-items:flex-start;flex-direction:column;gap:5px}
}

/* Company directory taxonomy navigation: category links own the filtering URL. */
body.tb-directory .directory-search-form .filter-grid{
	grid-template-columns:minmax(260px,1fr) minmax(170px,220px) minmax(140px,170px);
}
body.tb-directory .catalog{
	display:grid;
	grid-template-columns:minmax(230px,260px) minmax(0,1fr);
	align-items:start;
	gap:22px;
}
body.tb-directory .catalog>.company-directory-side{display:block;min-width:0}
body.tb-directory .directory-taxonomy-filter{display:block}
body.tb-directory .directory-taxonomy-filter>summary{display:none}
body.tb-directory .company-directory-side .sidebox{
	overflow:hidden;
	margin:0 0 14px;
	border:1px solid #dde3e8;
	border-radius:12px;
	background:#fff;
	box-shadow:0 7px 22px rgba(21,42,64,.05);
}
body.tb-directory .company-directory-side .sidebox h3{
	margin:0;
	padding:16px;
	border-bottom:1px solid #e8ecef;
	background:#f8fafb;
	color:#25384b;
	font-size:12px;
	font-weight:900;
	letter-spacing:.055em;
}
body.tb-directory .company-directory-side .sidebox a{
	display:grid;
	grid-template-columns:25px minmax(0,1fr) auto;
	align-items:center;
	gap:9px;
	min-height:46px;
	padding:9px 12px;
	border-bottom:1px solid #edf0f2;
	color:#354454;
	font-size:13px;
	font-weight:700;
	line-height:1.32;
	text-decoration:none;
	transition:background-color .18s ease,color .18s ease;
}
body.tb-directory .company-directory-side .sidebox a:last-child{border-bottom:0}
body.tb-directory .company-directory-side .sidebox a:hover{background:#f7f9fb;color:#102c49}
body.tb-directory .company-directory-side .sidebox a.selected{
	background:#fff2f2;
	color:#a92026;
	box-shadow:inset 3px 0 0 var(--tb-red);
}
body.tb-directory .company-directory-side .directory-filter-icon{
	dis:grid;
	width:25px;
	height:25px;
	place-items:center;
	color:#6b7885;
	font-size:16px;
}
body.tb-directory .company-directory-side a.selected .directory-filter-icon{color:var(--tb-red)}
body.tb-directory .company-directory-side .directory-all-icon{font-size:15px}
body.tb-directory .company-directory-side .sidebox em{
	dis:grid;
	min-width:28px;
	height:23px;
	place-items:center;
	padding:0 6px;
	border-radius:999px;
	background:#eef2f5;
	color:#657382;
	font-size:10px;
	font-style:normal;
	font-weight:800;
}
body.tb-directory .company-directory-side .sidebox a.selected em{background:#f5dfe0;color:#9c3035}
body.tb-directory .company-subcategory-list{max-height:520px;overflow-y:auto!important;scrollbar-width:thin;scrollbar-color:#cbd4dc transparent}
body.tb-directory .company-subcategory-list a{grid-template-columns:18px minmax(0,1fr) auto;padding-left:16px;font-size:12px;font-weight:650}
body.tb-directory .company-subcategory-list .subcategory-branch{color:#a8b2bc;font-size:14px}
body.tb-directory .company-subcategory-list a.selected .subcategory-branch{color:var(--tb-red)}
body.tb-directory .company-directory-side .clear{
	display:flex;
	width:100%;
	min-height:42px;
	align-items:center;
	justify-content:center;
	border:1px solid #d8dfe5;
	border-radius:9px;
	background:#fff;
	color:#4b5967;
	font-size:11px;
	font-weight:900;
	text-decoration:none;
}
body.tb-directory .company-directory-side .clear:hover{border-color:#c7d0d8;background:#f7f9fb;color:#192f47}

@media(max-width:1180px){
	body.tb-directory .catalog{grid-template-columns:230px minmax(0,1fr)}
	body.tb-directory .directory-search-form .filter-grid{grid-template-columns:minmax(240px,1fr) minmax(160px,210px) minmax(130px,160px)}
	body.tb-directory .directory-search-form .filter-submit-wrap{grid-column:auto}
	body.tb-directory .directory-search-form .more{width:100%;min-width:0}
}
@media(max-width:900px){
	body.tb-directory .directory-search-form .filter-grid{grid-template-columns:minmax(0,1fr) minmax(160px,210px) minmax(130px,160px)}
	body.tb-directory .catalog{grid-template-columns:1fr;gap:16px}
	body.tb-directory .catalog>.company-directory-side{display:block}
	body.tb-directory .directory-taxonomy-filter{
		overflow:hidden;
		border:1px solid #dde3e8;
		border-radius:12px;
		background:#fff;
		box-shadow:0 7px 22px rgba(21,42,64,.05);
	}
	body.tb-directory .directory-taxonomy-filter>summary{
		display:flex;
		min-height:50px;
		align-items:center;
		justify-content:space-between;
		gap:12px;
		padding:0 15px;
		color:#21364c;
		font-size:13px;
		font-weight:850;
		cursor:pointer;
		list-style:none;
	}
	body.tb-directory .directory-taxonomy-filter>summary::-webkit-details-marker{display:none}
	body.tb-directory .directory-taxonomy-filter>summary small{color:var(--tb-red);font-size:11px;font-weight:850}
	body.tb-directory .directory-taxonomy-filter[open]>summary{border-bottom:1px solid #e7ebee}
	body.tb-directory .directory-taxonomy-filter[open]>summary small:before{content:'Slėpti'}
	body.tb-directory .directory-taxonomy-filter[open]>summary small{font-size:0}
	body.tb-directory .directory-taxonomy-filter[open]>summary small:before{font-size:11px}
	body.tb-directory .company-directory-side .sidebox{margin:12px;border-radius:9px;box-shadow:none}
	body.tb-directory .company-directory-side .clear{width:calc(100% - 24px);margin:0 12px 12px}
}
@media(max-width:620px){
	body.tb-directory .directory-search-form .filter-grid{grid-template-columns:1fr}
	body.tb-directory .company-directory-side .sidebox a{min-height:44px}
	body.tb-directory .company-subcategory-list{max-height:420px}
}

/* Dynamic Companies mega submenu shared by the unified header. */
body.tb-theme .site-header{z-index:100}
body.tb-theme .site-header .main-nav>.tb-nav-item{
	display:flex;
	height:100%;
	align-items:stretch;
}
body.tb-theme .site-header .tb-nav-company-trigger{display:flex;height:100%;align-items:center}
body.tb-theme .site-header .tb-nav-company-link{height:100%}
body.tb-theme .site-header .tb-submenu-toggle{
	display:grid;
	width:25px;
	height:100%;
	min-height:0;
	place-items:center;
	margin:0 -8px 0 3px;
	padding:0;
	border:0;
	background:transparent;
	color:#647180;
	cursor:pointer;
}
body.tb-theme .site-header .tb-submenu-toggle span{
	display:block;
	width:7px;
	height:7px;
	margin-top:-4px;
	border-right:1.5px solid currentColor;
	border-bottom:1.5px solid currentColor;
	transform:rotate(45deg);
	transition:transform .18s ease,margin .18s ease;
}
body.tb-theme .site-header .tb-nav-companies:is(:hover,:focus-within,.is-open) .tb-submenu-toggle{color:var(--tb-red)}
body.tb-theme .site-header .tb-nav-companies.is-open .tb-submenu-toggle span{margin-top:3px;transform:rotate(225deg)}
body.tb-theme .site-header .tb-company-submenu{
	position:absolute;
	z-index:120;
	top:100%;
	left:50%;
	width:min(1080px,calc(100vw - (2 * var(--tb-page-gutter))));
	padding-top:10px;
	opacity:0;
	visibility:hidden;
	pointer-events:none;
	transform:translate(-50%,-8px);
	transition:opacity .18s ease,visibility .18s ease,transform .18s ease;
}
body.tb-theme .site-header .tb-nav-companies.is-open>.tb-company-submenu{
	opacity:1;
	visibility:visible;
	pointer-events:auto;
	transform:translate(-50%,0);
}
body.tb-theme .site-header .tb-company-submenu:before{
	content:"";
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:12px;
}
body.tb-theme .site-header .tb-company-submenu-inner{
	display:grid;
	grid-template-columns:1.05fr 1.55fr .9fr;
	gap:0;
	overflow:hidden;
	border:1px solid #dfe5ea;
	border-radius:15px;
	background:#fff;
	box-shadow:0 22px 55px rgba(13,31,50,.16);
}
body.tb-theme .site-header .tb-company-menu-section{min-width:0;padding:22px}
body.tb-theme .site-header .tb-company-menu-section+.tb-company-menu-section{border-left:1px solid #e8ecef}
body.tb-theme .site-header .tb-company-menu-services{background:#fbfcfd}
body.tb-theme .site-header .tb-company-menu-explore{background:#f7f9fb}
body.tb-theme .site-header .tb-company-menu-section .tb-mega-section-label{
	display:block;
	margin:0 0 13px;
	color:#657382;
	font-size:11px;
	font-weight:900;
	letter-spacing:.075em;
	line-height:1.25;
	text-transform:uppercase;
}
body.tb-theme .site-header .tb-company-submenu a{
	position:relative;
	height:auto;
	min-height:0;
	padding:0;
	border:0;
	color:#203448;
	font-size:12px;
	line-height:1.3;
	text-decoration:none;
	white-space:normal;
}
body.tb-theme .site-header .tb-company-submenu a:after{display:none!important}
body.tb-theme .site-header .tb-company-menu-list{display:flex;flex-direction:column;gap:5px}
body.tb-theme .site-header .tb-company-menu-list>a{
	display:grid;
	grid-template-columns:34px minmax(0,1fr) 14px;
	align-items:center;
	gap:10px;
	min-height:48px;
	padding:6px 8px;
	border-radius:9px;
}
body.tb-theme .site-header .tb-company-menu-list>a:hover,
body.tb-theme .site-header .tb-company-menu-list>a[aria-current="page"]{background:#fff1f1;color:#a92026}
body.tb-theme .site-header .tb-company-menu-icon{
	display:grid;
	width:34px;
	height:34px;
	place-items:center;
	border-radius:9px;
	background:#eef3f7;
	color:#52677c;
	font-size:17px;
}
body.tb-theme .site-header .tb-company-menu-list>a:hover .tb-company-menu-icon,
body.tb-theme .site-header .tb-company-menu-list>a[aria-current="page"] .tb-company-menu-icon{background:#f8dfe0;color:var(--tb-red)}
body.tb-theme .site-header .tb-company-menu-list span{display:block;min-width:0}
body.tb-theme .site-header .tb-company-menu-list strong{display:block;font-size:12px;font-weight:800}
body.tb-theme .site-header .tb-company-menu-list small{display:block;margin-top:2px;color:#7b8793;font-size:9px;font-weight:650}
body.tb-theme .site-header .tb-company-menu-list>a>b{color:#a5b0ba;font-size:17px}
body.tb-theme .site-header .tb-company-service-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
body.tb-theme .site-header .tb-company-service-grid>a{
	display:flex;
	min-height:42px;
	align-items:center;
	justify-content:space-between;
	gap:8px;
	padding:8px 10px;
	border:1px solid #e6eaee;
	border-radius:8px;
	background:#fff;
	font-weight:750;
}
body.tb-theme .site-header .tb-company-service-grid>a:hover,
body.tb-theme .site-header .tb-company-service-grid>a[aria-current="page"]{border-color:#edc5c7;background:#fff5f5;color:#9d252a}
body.tb-theme .site-header .tb-company-service-grid small,
body.tb-theme .site-header .tb-company-city-list small{
	display:grid;
	min-width:24px;
	height:22px;
	place-items:center;
	padding:0 6px;
	border-radius:999px;
	background:#edf1f4;
	color:#697785;
	font-size:9px;
	font-weight:800;
}
body.tb-theme .site-header .tb-company-city-list{display:flex;flex-direction:column;gap:4px}
body.tb-theme .site-header .tb-company-city-list>a{
	display:grid;
	grid-template-columns:18px minmax(0,1fr) auto;
	align-items:center;
	gap:7px;
	min-height:34px;
	padding:5px 7px;
	border-radius:7px;
	font-weight:750;
}
body.tb-theme .site-header .tb-company-city-list>a:hover,
body.tb-theme .site-header .tb-company-city-list>a[aria-current="page"]{background:#eaf1f7;color:#174e7c}
body.tb-theme .site-header .tb-company-city-list .tb-fi{color:var(--tb-red);font-size:13px}
body.tb-theme .site-header .tb-company-submenu a.tb-company-menu-cta{
	display:flex;
	min-height:78px;
	align-items:center;
	justify-content:space-between;
	gap:12px;
	margin-top:13px;
	padding:13px 14px;
	border-radius:10px;
	background:linear-gradient(135deg,#102d4d,#174e7c);
	color:#fff;
}
body.tb-theme .site-header .tb-company-submenu a.tb-company-menu-cta:hover{background:linear-gradient(135deg,#0d263f,#123e63);color:#fff}
body.tb-theme .site-header .tb-company-menu-cta strong{display:block;font-size:13px;font-weight:850}
body.tb-theme .site-header .tb-company-menu-cta small{display:block;margin-top:4px;color:#d8e5ef;font-size:9px;line-height:1.4}
body.tb-theme .site-header .tb-company-menu-cta>b{font-size:20px}

@media(max-width:900px){
	body.tb-theme .site-header .main-nav.is-open{max-height:calc(100vh - 76px);justify-content:flex-start;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain}
	body.tb-theme .site-header .main-nav>.tb-nav-item{display:flex;width:100%;height:auto;flex-direction:column;align-items:stretch}
	body.tb-theme .site-header .tb-nav-company-trigger{width:100%;height:46px;border-top:1px solid var(--tb-line)}
	body.tb-theme .site-header .main-nav.is-open .tb-nav-company-link{min-height:45px;flex:1 1 auto;border-top:0}
	body.tb-theme .site-header .tb-submenu-toggle{width:48px;height:45px;flex:0 0 48px;margin:0;border-left:1px solid var(--tb-line)}
	body.tb-theme .site-header .tb-company-submenu{
		display:none;
		position:static;
		width:100%;
		padding:0;
		opacity:1;
		visibility:visible;
		pointer-events:auto;
		transform:none;
	}
	body.tb-theme .site-header .tb-nav-companies.is-open>.tb-company-submenu{
		display:block;
		position:static;
		top:auto;
		left:auto;
		width:100%;
		padding:0;
		opacity:1;
		visibility:visible;
		pointer-events:auto;
		transform:none;
	}
	body.tb-theme .site-header .tb-company-submenu:before{display:none}
	body.tb-theme .site-header .tb-company-submenu-inner{grid-template-columns:1fr;border:0;border-radius:0;box-shadow:none}
	body.tb-theme .site-header .tb-company-menu-section{padding:18px 12px}
	body.tb-theme .site-header .tb-company-menu-section+.tb-company-menu-section{border-top:1px solid #e8ecef;border-left:0}
	body.tb-theme .site-header .tb-company-menu-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
	body.tb-theme .site-header .tb-company-service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:560px){
	body.tb-theme .site-header .tb-company-menu-list,
	body.tb-theme .site-header .tb-company-service-grid{grid-template-columns:1fr}
	body.tb-theme .site-header .tb-company-menu-section{padding:16px 8px}
}

/* Dynamic editorial mega submenu shared by the unified header. */
body.tb-theme .site-header .tb-nav-article-trigger{display:flex;height:100%;align-items:center}
body.tb-theme .site-header .tb-nav-article-link{height:100%}
body.tb-theme .site-header .tb-article-submenu{
	position:absolute;
	z-index:120;
	top:100%;
	left:50%;
	width:min(1080px,calc(100vw - (2 * var(--tb-page-gutter))));
	padding-top:10px;
	opacity:0;
	visibility:hidden;
	pointer-events:none;
	transform:translate(-50%,-8px);
	transition:opacity .18s ease,visibility .18s ease,transform .18s ease;
}
body.tb-theme .site-header .tb-nav-articles.is-open>.tb-article-submenu{
	opacity:1;
	visibility:visible;
	pointer-events:auto;
	transform:translate(-50%,0);
}
body.tb-theme .site-header .tb-article-submenu:before{
	content:"";
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:12px;
}
body.tb-theme .site-header .tb-article-submenu-inner{
	display:grid;
	grid-template-columns:1.05fr 1.5fr .95fr;
	overflow:hidden;
	border:1px solid #dfe5ea;
	border-radius:15px;
	background:#fff;
	box-shadow:0 22px 55px rgba(13,31,50,.16);
}
body.tb-theme .site-header .tb-article-menu-section{min-width:0;padding:22px}
body.tb-theme .site-header .tb-article-menu-section+.tb-article-menu-section{border-left:1px solid #e8ecef}
body.tb-theme .site-header .tb-article-menu-latest{background:#fbfcfd}
body.tb-theme .site-header .tb-article-menu-explore{background:#f7f9fb}
body.tb-theme .site-header .tb-article-menu-section .tb-mega-section-label{
	display:block;
	margin:0 0 13px;
	color:#657382;
	font-size:11px;
	font-weight:900;
	letter-spacing:.075em;
	line-height:1.25;
	text-transform:uppercase;
}
body.tb-theme .site-header .tb-article-submenu a{
	position:relative;
	height:auto;
	min-height:0;
	padding:0;
	border:0;
	color:#203448;
	font-size:12px;
	line-height:1.3;
	text-decoration:none;
	white-space:normal;
}
body.tb-theme .site-header .tb-article-submenu a:after{display:none!important}
body.tb-theme .site-header .tb-article-category-list{display:flex;flex-direction:column;gap:5px}
body.tb-theme .site-header .tb-article-category-list>a{
	display:grid;
	grid-template-columns:34px minmax(0,1fr) 14px;
	align-items:center;
	gap:10px;
	min-height:48px;
	padding:6px 8px;
	border-radius:9px;
}
body.tb-theme .site-header .tb-article-category-list>a:hover,
body.tb-theme .site-header .tb-article-category-list>a[aria-current="page"]{background:#fff1f1;color:#a92026}
body.tb-theme .site-header .tb-article-menu-icon{
	display:grid;
	width:34px;
	height:34px;
	place-items:center;
	border-radius:9px;
	background:#eef3f7;
	color:#52677c;
	font-size:17px;
}
body.tb-theme .site-header .tb-article-category-list>a:hover .tb-article-menu-icon,
body.tb-theme .site-header .tb-article-category-list>a[aria-current="page"] .tb-article-menu-icon{background:#f8dfe0;color:var(--tb-red)}
body.tb-theme .site-header .tb-article-category-list span{display:block;min-width:0}
body.tb-theme .site-header .tb-article-category-list strong{display:block;font-size:12px;font-weight:800}
body.tb-theme .site-header .tb-article-category-list small{display:block;margin-top:2px;color:#7b8793;font-size:9px;font-weight:650}
body.tb-theme .site-header .tb-article-category-list>a>b{color:#a5b0ba;font-size:17px}
body.tb-theme .site-header .tb-article-latest-list{display:flex;flex-direction:column;gap:8px}
body.tb-theme .site-header .tb-article-latest-list>a{
	display:grid;
	grid-template-columns:72px minmax(0,1fr) 14px;
	align-items:center;
	gap:11px;
	min-height:72px;
	padding:7px;
	border:1px solid #e6eaee;
	border-radius:9px;
	background:#fff;
}
body.tb-theme .site-header .tb-article-latest-list>a:hover,
body.tb-theme .site-header .tb-article-latest-list>a[aria-current="page"]{border-color:#edc5c7;background:#fff5f5;color:#9d252a}
body.tb-theme .site-header .tb-article-menu-thumb,
body.tb-theme .site-header .tb-article-menu-thumb-fallback{
	display:grid;
	width:72px;
	height:56px;
	place-items:center;
	overflow:hidden;
	border-radius:7px;
	background:#eef3f7;
	color:#52677c;
	font-size:20px;
}
body.tb-theme .site-header .tb-article-menu-thumb img{display:block;width:100%;height:100%;object-fit:cover}
body.tb-theme .site-header .tb-article-latest-list>a>span:nth-child(2){display:block;min-width:0}
body.tb-theme .site-header .tb-article-latest-list strong{
	display:-webkit-box;
	overflow:hidden;
	font-size:12px;
	font-weight:800;
	line-height:1.35;
	-webkit-box-orient:vertical;
	-webkit-line-clamp:2;
}
body.tb-theme .site-header .tb-article-latest-list small{display:block;margin-top:5px;color:#7b8793;font-size:9px;font-weight:650}
body.tb-theme .site-header .tb-article-latest-list>a>b{color:#a5b0ba;font-size:17px}
body.tb-theme .site-header .tb-article-sort-list{display:flex;flex-direction:column;gap:7px}
body.tb-theme .site-header .tb-article-sort-list>a{
	display:grid;
	grid-template-columns:34px minmax(0,1fr);
	align-items:center;
	gap:9px;
	min-height:54px;
	padding:8px;
	border-radius:9px;
}
body.tb-theme .site-header .tb-article-sort-list>a:hover,
body.tb-theme .site-header .tb-article-sort-list>a[aria-current="page"]{background:#eaf1f7;color:#174e7c}
body.tb-theme .site-header .tb-article-sort-list .tb-fi{width:34px;height:34px;border-radius:9px;background:#e7eef4;color:#174e7c;font-size:15px}
body.tb-theme .site-header .tb-article-sort-list strong{display:block;font-size:12px;font-weight:800}
body.tb-theme .site-header .tb-article-sort-list small{display:block;margin-top:2px;color:#7b8793;font-size:9px;font-weight:650}
body.tb-theme .site-header .tb-article-submenu a.tb-article-menu-cta{
	display:flex;
	min-height:78px;
	align-items:center;
	justify-content:space-between;
	gap:12px;
	margin-top:13px;
	padding:13px 14px;
	border-radius:10px;
	background:linear-gradient(135deg,#9f2025,#df272c);
	color:#fff;
}
body.tb-theme .site-header .tb-article-submenu a.tb-article-menu-cta:hover{background:linear-gradient(135deg,#861b20,#bf1f24);color:#fff}
body.tb-theme .site-header .tb-article-menu-cta strong{display:block;font-size:13px;font-weight:850}
body.tb-theme .site-header .tb-article-menu-cta small{display:block;margin-top:4px;color:#fff1f1;font-size:9px;line-height:1.4}
body.tb-theme .site-header .tb-article-menu-cta>b{font-size:20px}

@media(max-width:900px){
	body.tb-theme .site-header .tb-nav-article-trigger{width:100%;height:46px;border-top:1px solid var(--tb-line)}
	body.tb-theme .site-header .main-nav.is-open .tb-nav-article-link{min-height:45px;flex:1 1 auto;border-top:0}
	body.tb-theme .site-header .tb-article-submenu{
		display:none;
		position:static;
		width:100%;
		padding:0;
		opacity:1;
		visibility:visible;
		pointer-events:auto;
		transform:none;
	}
	body.tb-theme .site-header .tb-nav-articles.is-open>.tb-article-submenu{
		display:block;
		position:static;
		top:auto;
		left:auto;
		width:100%;
		padding:0;
		opacity:1;
		visibility:visible;
		pointer-events:auto;
		transform:none;
	}
	body.tb-theme .site-header .tb-article-submenu:before{display:none}
	body.tb-theme .site-header .tb-article-submenu-inner{grid-template-columns:1fr;border:0;border-radius:0;box-shadow:none}
	body.tb-theme .site-header .tb-article-menu-section{padding:18px 12px}
	body.tb-theme .site-header .tb-article-menu-section+.tb-article-menu-section{border-top:1px solid #e8ecef;border-left:0}
	body.tb-theme .site-header .tb-article-category-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:560px){
	body.tb-theme .site-header .tb-article-category-list{grid-template-columns:1fr}
	body.tb-theme .site-header .tb-article-menu-section{padding:16px 8px}
	body.tb-theme .site-header .tb-article-latest-list>a{grid-template-columns:64px minmax(0,1fr) 14px}
body.tb-theme .site-header .tb-article-menu-thumb,
body.tb-theme .site-header .tb-article-menu-thumb-fallback{width:64px;height:52px}
}

/* Accessible header search popover shared by every template. */
body.tb-theme .site-header .tb-header-search{position:relative}
body.tb-theme .site-header .tb-header-search-toggle{
	cursor:pointer;
	transition:border-color .18s ease,background-color .18s ease,color .18s ease;
}
body.tb-theme .site-header .tb-header-search-toggle:hover,
body.tb-theme .site-header .tb-header-search-toggle:focus-visible,
body.tb-theme .site-header .tb-header-search.is-open .tb-header-search-toggle{
	border-color:#e6a3a6;
	background:#fff5f5;
	color:var(--tb-red);
}
body.tb-theme .site-header .tb-header-search-panel{
	position:absolute;
	z-index:120;
	top:calc(100% + 12px);
	right:0;
	width:min(420px,calc(100vw - 32px));
	padding:14px;
	border:1px solid #e2e7eb;
	border-radius:12px;
	background:#fff;
	box-shadow:0 18px 46px rgba(13,38,63,.17);
}
body.tb-theme .site-header .tb-header-search-panel[hidden]{display:none}
body.tb-theme .site-header .tb-header-search-panel:before{
	content:"";
	position:absolute;
	top:-7px;
	right:15px;
	width:12px;
	height:12px;
	border-top:1px solid #e2e7eb;
	border-left:1px solid #e2e7eb;
	background:#fff;
	transform:rotate(45deg);
}
body.tb-theme .site-header .tb-header-search-form{
	display:grid;
	grid-template-columns:minmax(0,1fr) auto;
	gap:9px;
	margin:0;
}
body.tb-theme .site-header .tb-header-search-form input{
	width:100%;
	min-width:0;
	height:46px;
	padding:0 14px;
	border:1px solid #cfd7de;
	border-radius:8px;
	background:#fff;
	color:var(--tb-ink);
	font:inherit;
	font-size:14px;
	outline:0;
}
body.tb-theme .site-header .tb-header-search-form input:focus{
	border-color:var(--tb-red);
	box-shadow:0 0 0 3px rgba(191,31,36,.1);
}
body.tb-theme .site-header .tb-header-search-form input[aria-invalid="true"]{border-color:#b4232b}
body.tb-theme .site-header .tb-header-search-form button{
	min-width:92px;
	height:46px;
	padding:0 18px;
	border:1px solid var(--tb-red);
	border-radius:8px;
	background:var(--tb-red);
	color:#fff;
	font:inherit;
	font-size:14px;
	font-weight:800;
	cursor:pointer;
}
body.tb-theme .site-header .tb-header-search-error{
	grid-column:1/-1;
	min-height:0;
	margin:0;
	color:#b4232b;
	font-size:12px;
	font-weight:700;
	line-height:1.35;
}
body.tb-theme .site-header .tb-header-search-error:empty{display:none}
@media(max-width:900px){
	body.tb-theme .site-header .header-actions{display:flex;margin-left:0}
	body.tb-theme .site-header .header-actions>.btn{display:none}
	body.tb-theme .site-header .menu-toggle{margin-left:auto}
	body.tb-theme .site-header .tb-header-search-panel{right:0}
}
@media(max-width:480px){
	body.tb-theme .site-header .tb-header-search-form{grid-template-columns:1fr}
	body.tb-theme .site-header .tb-header-search-form button{width:100%}
}

/* Unified no-logo artwork for company cards, profiles and search results. */
.tb-company-logo-placeholder{
	display:grid;
	width:100%;
	height:100%;
	min-height:0;
	place-items:center;
	overflow:hidden;
	border-radius:inherit;
	background:linear-gradient(145deg,#fff 0%,#edf4f8 100%);
	color:#123e63;
}
.tb-company-logo-placeholder svg{
	display:block;
	width:52px;
	height:52px;
	max-width:70%;
	max-height:70%;
	overflow:visible;
	fill:none;
	stroke:currentColor;
	stroke-width:3;
	stroke-linecap:round;
	stroke-linejoin:round;
}
.tb-company-logo-placeholder .tb-company-placeholder-accent{stroke:var(--tb-red,#df272c);stroke-width:4}
body.tb-directory .company-logo .tb-company-logo-placeholder{border:1px solid #e1e9ef}
body.tb-home .company-logo-fallback{
	margin-bottom:8px;
	border:1px solid #e1e9ef;
	border-radius:9px;
}
body.tb-home .company-logo-fallback svg{width:34px;height:34px}
body.tb-company .company-logo .tb-company-logo-placeholder{border:1px solid #e1e9ef}
body.tb-company .similar-logo{display:grid}
body.tb-company .similar-logo .tb-company-logo-placeholder,
.tb-company-list-card .similar-logo .tb-company-logo-placeholder{border:0}
body.tb-company .similar-logo .tb-company-logo-placeholder svg,
.tb-company-list-card .similar-logo .tb-company-logo-placeholder svg{width:28px;height:28px}
.company-result .article-image>a{display:block;height:100%}
.company-result .article-image .company-search-logo-placeholder{min-height:160px;border:1px solid #e1e9ef}

/* Keep directory result titles visually unchanged after correcting heading hierarchy. */
body.tb-directory .company h3{margin:0 0 7px;font-size:19px;line-height:1.3}
body.tb-directory .company h3 a{color:var(--tb-ink);text-decoration:none}
body.tb-directory .company h3 a:hover{color:var(--tb-red);text-decoration:underline;text-underline-offset:3px}
@media(max-width:620px){body.tb-directory .company h3{font-size:17px}}

/* Let article titles use the full content-column width beside the sidebar. */
body.tb-article .article-head h1{
	max-width:100%;
	padding-bottom:.08em;
	font-size:clamp(36px,3.2vw,48px);
	line-height:1.13;
	letter-spacing:-.035em;
	overflow-wrap:break-word;
	text-wrap:wrap;
}
@media(max-width:900px){
	body.tb-article .article-head h1{font-size:clamp(32px,8vw,42px);line-height:1.14}
}
@media(max-width:620px){
	body.tb-article .article-head h1{font-size:clamp(30px,9vw,38px);line-height:1.16;letter-spacing:-.025em}
}

/* Moderated company reviews. */
body.tb-company .rating-row>a{color:inherit;text-decoration:none}
body.tb-company .rating-row>a:hover{color:var(--tb-red);text-decoration:underline;text-underline-offset:3px}
body.tb-company .rating-row .rating-empty{display:inline-flex;align-items:center;gap:6px;color:#667482;font-weight:750}
body.tb-company .rating-row .rating-empty .tb-fi{color:#d89500}
body.tb-company .tb-review-stars{display:inline-flex;color:#d89500;font-size:15px;line-height:1;letter-spacing:1px}
body.tb-company .company-reviews-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(320px,.85fr);align-items:start;gap:18px}
body.tb-company .company-reviews-grid>.card{margin:0}
body.tb-company .company-reviews-card .section-title-row h2 span{color:#7b8791;font-size:.72em;font-weight:700}
body.tb-company .company-review-overview{display:grid;grid-template-columns:145px minmax(0,1fr);gap:20px;margin-top:16px}
body.tb-company .company-review-score{display:flex;min-height:180px;flex-direction:column;align-items:flex-start;justify-content:center;padding:18px;border-right:1px solid #e2e7eb}
body.tb-company .company-review-score>strong{color:var(--tb-ink);font-size:46px;line-height:1}
body.tb-company .company-review-score .tb-review-stars{margin:12px 0;font-size:20px}
body.tb-company .company-review-score>small{color:#6f7c87;font-size:11px;line-height:1.5}
body.tb-company .company-review-score.is-empty>strong{color:#9aa5af}
body.tb-company .company-review-list{display:grid;gap:14px}
body.tb-company .company-review{padding-bottom:14px;border-bottom:1px solid #e7ebee}
body.tb-company .company-review:last-child{padding-bottom:0;border-bottom:0}
body.tb-company .company-review header{display:flex;align-items:center;gap:10px}
body.tb-company .company-review-avatar{display:grid;width:36px;height:36px;flex:0 0 36px;place-items:center;border-radius:50%;background:#edf2f6;color:#31465a;font-size:11px;font-weight:900}
body.tb-company .company-review header strong{display:block;font-size:13px}
body.tb-company .company-review header div>div{display:flex;align-items:center;gap:8px;margin-top:3px}
body.tb-company .company-review time{color:#84909a;font-size:10px}
body.tb-company .company-review p{margin:10px 0 0;color:#4c5b68;font-size:12px;line-height:1.6}
body.tb-company .company-review-list .company-review-empty{align-self:center;margin:0;color:#72808b;font-size:13px;line-height:1.6}
body.tb-company .company-review-notice{display:flex;align-items:flex-start;gap:10px;margin:14px 0 0;padding:12px 14px;border:1px solid #bfe1cd;border-radius:9px;background:#f1fbf5;color:#17643b;font-size:12px;line-height:1.5}
body.tb-company .company-review-notice .tb-fi{margin-top:2px;font-size:16px}
body.tb-company .company-review-notice strong{display:block}
body.tb-company .company-review-form-card>h2{margin-bottom:5px}
body.tb-company .company-review-form-card>p{margin:0 0 16px;color:#71808c;font-size:12px}
body.tb-company .tb-company-review-form{display:grid;gap:9px}
body.tb-company .tb-company-review-form fieldset{min-width:0;margin:0 0 2px;padding:0;border:0}
body.tb-company .tb-company-review-form legend,
body.tb-company .tb-company-review-form label{display:block;margin:0;color:#293a49;font-size:11px;font-weight:800}
body.tb-company .tb-company-review-form :is(legend,label)>span{color:var(--tb-red)}
body.tb-company .company-rating-input{display:flex;margin-top:5px}
body.tb-company .company-rating-input button{width:34px;height:35px;padding:0;border:0;background:transparent;color:#a7b0b8;font-size:29px;line-height:1;cursor:pointer;transition:color .15s ease,transform .15s ease}
body.tb-company .company-rating-input button:hover,
body.tb-company .company-rating-input button:focus-visible,
body.tb-company .company-rating-input button.is-active{color:#d89500}
body.tb-company .company-rating-input button:hover{transform:translateY(-1px)}
body.tb-company .company-rating-input button:focus-visible{border-radius:5px;outline:2px solid #1e63a7;outline-offset:2px}
body.tb-company .tb-company-review-form :is(input[type="text"],input[type="email"],textarea){width:100%;border:1px solid #d8dfe5;border-radius:8px;background:#fff;color:#243544;font:inherit;font-size:12px;outline:none}
body.tb-company .tb-company-review-form :is(input[type="text"],input[type="email"]){height:42px;padding:0 12px}
body.tb-company .tb-company-review-form textarea{min-height:105px;padding:11px 12px;line-height:1.55;resize:vertical}
body.tb-company .tb-company-review-form :is(input,textarea):focus{border-color:#1e63a7;box-shadow:0 0 0 3px rgba(30,99,167,.1)}
body.tb-company .company-review-form-card .company-review-length{display:flex;justify-content:space-between;gap:12px;margin:-3px 0 2px;color:#75828d;font-size:10px;line-height:1.4}
body.tb-company .company-review-length [data-review-counter]{font-variant-numeric:tabular-nums;white-space:nowrap}
body.tb-company .company-review-length [data-review-counter].is-near-limit{color:#a82b31;font-weight:800}
body.tb-company .company-review-form-card .company-review-privacy{display:flex;align-items:flex-start;gap:7px;margin:3px 0;color:#75828d;font-size:10px;line-height:1.5}
body.tb-company .company-review-privacy .tb-fi{margin-top:2px;color:#23844c}
body.tb-company .company-review-form-card .company-review-form-message{min-height:18px;margin:0;color:#a82b31;font-size:11px;font-weight:700;line-height:1.5}
body.tb-company .tb-company-review-form .btn{display:inline-flex;width:100%;min-height:44px;align-items:center;justify-content:center;gap:8px}
body.tb-company .tb-review-honeypot{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important;opacity:0!important;pointer-events:none!important}
@media(max-width:1050px){
	body.tb-company .company-reviews-grid{grid-template-columns:1fr}
	body.tb-company .company-review-form-card{max-width:none}
}
@media(max-width:620px){
	body.tb-company .company-review-overview{grid-template-columns:1fr}
	body.tb-company .company-review-score{min-height:0;border-right:0;border-bottom:1px solid #e2e7eb}
	body.tb-company .company-review-score>strong{font-size:40px}
}

/* Header mega menus: the list's `span{display:block}` rule also hit the icon spans, so the glyph sat in the box's top-left corner. */
body.tb-theme .site-header :is(.tb-company-menu-list,.tb-article-category-list) span.tb-fi{display:grid;place-items:center;flex:0 0 34px}
