/*
 * Tobalt LT — page sections (ACF flexible content) + the frisk/Bootstrap base rules that shortcode output still uses.
 * Author: Tobalt — https://tobalt.lt
 * Values measured on prod homepage (Elementor post 24530) 2026-11-02. Breakpoints follow prod: 1399 / 1024 / 991 / 767.
 */

:root {
	/* Header height above the hero; prod's header overlays the hero, ours is in flow (deviation D2). */
	--tlt-head-h: 103px;
}
@media (max-width: 991px) { :root { --tlt-head-h: 131px; } }
@media (max-width: 767px) { :root { --tlt-head-h: 105px; } }

.tlt-main { display: block; }
:where(.tlt-main) p { margin: 0; }
.tlt-s { position: relative; }
:where(.tlt-s) :where(h2, h3) { margin: 0; }

/* Shared section heading sizes (prod: 34px small / 60px large, 1.16, -1.8px) */
/* Title type scale (Tomas 2026-11-05 "Whole scale"): H1 85/70/34–40 · H2 60/45/28–34 · H3 large 28/24 · H3 card 24/22/20 (600) */
.tlt-process__heading, .tlt-showcase__heading, .tlt-tools__heading {
	font-family: var(--tlt-font-title); font-size: 60px; font-weight: 600; line-height: 1.16; letter-spacing: -1.8px; color: var(--tlt-title);
}
.tlt-accordion__heading, .tlt-testimonials__heading, .tlt-cards__heading, .tlt-posts__heading {
	font-family: var(--tlt-font-title); font-size: 60px; font-weight: 600; line-height: 1.16; letter-spacing: -1.8px; color: var(--tlt-title);
}
@media (max-width: 1024px) {
	.tlt-process__heading, .tlt-showcase__heading, .tlt-tools__heading,
	.tlt-accordion__heading, .tlt-testimonials__heading, .tlt-cards__heading, .tlt-posts__heading { font-size: 45px; }
}
@media (max-width: 767px) {
	.tlt-process__heading, .tlt-showcase__heading, .tlt-tools__heading,
	.tlt-accordion__heading, .tlt-cards__heading, .tlt-posts__heading, .tlt-testimonials__heading { font-size: clamp(28px, 8.7vw, 34px); letter-spacing: -1px; }
}

/* ---------- "Roll" label and arrow link (prod .link-effect / .link-btn) ---------- */
.tlt-roll, .link-effect { position: relative; display: block; height: 17px; overflow: hidden; line-height: normal; }
.tlt-roll > span, .link-effect .effect-1 { position: relative; top: 0; display: block; height: 100%; transition: top .3s; }
a:hover .tlt-roll > span, a:focus-visible .tlt-roll > span, a:hover .link-effect .effect-1, a:focus-visible .link-effect .effect-1 { top: -100%; }
.tlt-roll > span[data-roll]::after, .link-effect .effect-1[data-roll]::after { position: absolute; top: 100%; left: 0; width: 100%; content: attr(data-roll); content: attr(data-roll) / ""; }

.tlt-more { margin: 0; font-size: 18px; line-height: 1.66; }
.tlt-arrow-link, .link-btn {
	position: relative; display: inline-flex; gap: 10px; padding-bottom: 6px;
	font-family: var(--tlt-font-title); font-size: 14px; font-weight: 600; line-height: .8; text-transform: uppercase;
	color: var(--tlt-title); text-decoration: none;
}
.tlt-arrow-link::before, .tlt-arrow-link::after, .link-btn::before, .link-btn::after {
	content: ""; position: absolute; right: 0; bottom: 0; width: 100%; height: 2px; background: var(--tlt-title); transition: .4s;
}
.tlt-arrow-link::after, .link-btn::after { left: 0; width: 0; transition: .8s; }
.tlt-arrow-link:hover::before, .link-btn:hover::before { width: 0; }
.tlt-arrow-link:hover::after, .link-btn:hover::after { width: 100%; }
.tlt-arrow-link .tlt-icon { width: 13px; height: 13px; }
.tlt-btn .tlt-roll { height: 17px; }

/* ---------- Bootstrap/frisk base still used by shortcode output ---------- */
.row { --bs-gutter-x: 1.5rem; --bs-gutter-y: 0; display: flex; flex-wrap: wrap; margin-top: calc(var(--bs-gutter-y) * -1); margin-right: calc(var(--bs-gutter-x) / -2); margin-left: calc(var(--bs-gutter-x) / -2); }
.row > * { flex-shrink: 0; width: 100%; max-width: 100%; padding-right: calc(var(--bs-gutter-x) / 2); padding-left: calc(var(--bs-gutter-x) / 2); margin-top: var(--bs-gutter-y); }
.gy-4 { --bs-gutter-y: 1.5rem; }
.justify-content-center { justify-content: center; }
.feature-card { background: var(--tlt-smoke); padding: 40px 36px; }
.feature-card-title { margin: 0 0 15px; font-family: var(--tlt-font-title); font-size: 24px; font-weight: 600; line-height: 1.333; color: var(--tlt-title); }
.feature-card-title a { color: var(--tlt-title); text-decoration: none; }
.feature-card-text { margin: 0 0 24px; font-size: 16px; line-height: 1.66; }
@media (max-width: 1366px) { .feature-card { padding: 35px 30px; } }
@media (max-width: 991px) { .feature-card { padding: 30px 26px; } }

/* ---------- Hero ---------- */
.tlt-hero__inner { display: flex; flex-direction: column; max-width: 1320px; margin: 0 auto; padding: calc(185px - var(--tlt-head-h)) 12px 80px; }
.tlt-hero__title { margin: 0; font-family: var(--tlt-font-title); font-size: 85px; font-weight: 600; line-height: 1.167; letter-spacing: -3.6px; color: var(--tlt-title); }
.tlt-hero__line { display: block; }
.tlt-hero__line--end { text-align: end; }
.tlt-hero__body { display: flex; flex-direction: column; gap: 30px; align-self: flex-end; width: 55%; margin-top: 23px; }
.tlt-hero__lead { font-size: 18px; line-height: 1.66; }
.tlt-hero__actions { display: flex; flex-direction: row; justify-content: space-between; width: 60%; padding: 10px; }
.tlt-hero__actions .tlt-more { margin-top: 30px; }
.tlt-hero__actions .tlt-btn { align-self: center; }
@media (max-width: 575px) { .tlt-hero__actions { flex-direction: row; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 20px 24px; padding: 0; } .tlt-hero__actions .tlt-btn { padding-left: 18px; padding-right: 18px; } .tlt-hero__actions .tlt-more { margin-top: 0; } .tlt-hero__actions > * { flex: none; } .tlt-hero__actions .tlt-btn { align-self: center; } }
.tlt-hero__badge { display: flex; align-items: center; gap: 16px; width: 280px; }
/* Shrinks like prod's flex item when the text is long (tool pages: 29 px wide) */
.tlt-hero__badge-img { display: block; flex: 0 1 40px; min-width: 0; width: 40px; height: 40px; }
.tlt-hero__badge-text { font-family: var(--tlt-font-title); font-size: 14px; font-weight: 600; line-height: 1.5; }
/* trust strip: badge text + client logos directly under the CTAs (first screen) */
.tlt-hero__trust { display: flex; flex-wrap: wrap; align-items: center; gap: 20px 40px; margin-top: 48px; }
.tlt-hero__trust-text { flex: 0 0 auto; max-width: 230px; margin: 0; font-family: var(--tlt-font-title); font-size: 14px; font-weight: 600; line-height: 1.5; }
.tlt-hero__trust-names { flex: 1 0 100%; order: 3; margin: 0; font-size: 14px; line-height: 1.5; }
/* the hero strip fills the content width (no ragged right edge) and stays lower than the section strip */
.tlt-hero__trust .tlt-ticker { flex: 1 1 100%; width: 100%; max-width: none; padding: 0; }
@media (max-width: 575px) {
	.tlt-hero__trust { flex-direction: column; align-items: flex-start; gap: 8px; margin-top: 40px; }
	.tlt-hero__trust-text { max-width: none; }
	.tlt-hero__trust-names { order: 0; flex: none; }
}
@media (max-width: 1024px) {
	.tlt-hero__inner { max-width: 720px; }
	.tlt-hero__title { font-size: 70px; line-height: 1.3; letter-spacing: -1.2px; }
	.tlt-hero__line--end { text-align: start; }
	.tlt-hero__body { width: 100%; }
	.tlt-hero__badge { margin-top: 40px; }
}
@media (max-width: 767px) {
	.tlt-hero__inner { max-width: none; padding: calc(140px - var(--tlt-head-h)) 12px 80px; }
	.tlt-hero__title { font-size: clamp(34px, 10.3vw, 40px); letter-spacing: 0; }
	.tlt-hero__lead { font-size: 16px; }
	.tlt-hero__actions { width: 100%; }
	.tlt-hero__badge { width: auto; }
}

/* ---------- Three-column bands: counters, link columns ---------- */
.tlt-cols { padding: 140px 0; }
.tlt-cols__inner { display: flex; max-width: 1320px; margin: 0 auto; padding: 0; list-style: none; }
.tlt-cols__col { display: flex; flex-direction: column; gap: 15px; flex: 0 1 33.333%; }
.tlt-cols__col:nth-child(1) { padding: 0 50px 0 60px; border-right: 2px solid var(--tlt-title); }
.tlt-cols__col:nth-child(2) { flex-basis: 38%; padding: 0 0 0 80px; border-right: 2px solid var(--tlt-title); }
.tlt-cols__col:nth-child(3) { padding: 0 0 0 80px; }
.tlt-tool__facts .tlt-cols__col:nth-child(2):last-child { border-right: 0; flex-grow: 1; }
/* four counters (home): equal columns, a divider between each */
@media (min-width: 1025px) {
	.tlt-counters .tlt-cols__inner:has(> :nth-child(4)) > .tlt-cols__col { flex: 1 1 0; padding: 0 28px 0 40px; border-right: 2px solid var(--tlt-title); }
	.tlt-counters .tlt-cols__inner:has(> :nth-child(4)) > .tlt-cols__col:first-child { padding-left: 12px; }
	.tlt-counters .tlt-cols__inner:has(> :nth-child(4)) > .tlt-cols__col:last-child { border-right: 0; }
}
.tlt-counter__number span:last-child { flex-grow: 1; }
.tlt-counter__number { display: flex; margin: 0 0 3px !important; font-family: var(--tlt-font-title); font-size: 60px; font-weight: 600; line-height: 1.278; color: var(--tlt-title); }
.tlt-counter__label { font-family: var(--tlt-font-title); font-size: 24px; font-weight: 600; line-height: 1.333; color: var(--tlt-title); }
.tlt-counters__note { max-width: 1320px; margin: 48px auto 0; padding: 0 12px; font-size: 16px; line-height: 1.6; text-align: center; }
@media (max-width: 767px) { .tlt-counters__note { margin-top: 32px; padding: 0 16px; font-size: 15px; } }
.tlt-linkcol { font-size: 18px; line-height: 1.66; }
.tlt-linkcol .tlt-more { margin-top: 30px; }
.tlt-linkcol__list { display: inline-flex; flex-wrap: wrap; gap: 15px 40px; margin: 7px 0 0; padding: 0; list-style: none; vertical-align: baseline; }
.tlt-linkcol__list a {
	display: block; font-family: var(--tlt-font-title); font-size: 14px; font-weight: 600; line-height: 1.66; letter-spacing: -0.14px;
	text-transform: lowercase; color: var(--tlt-title); text-decoration: none;
}
@media (max-width: 1024px) {
	.tlt-cols { padding: 100px 0; }
	.tlt-cols__inner { flex-wrap: wrap; justify-content: center; row-gap: 50px; max-width: 720px; }
	.tlt-cols__col, .tlt-cols__col:nth-child(2), .tlt-cols__col:nth-child(3) { flex-basis: 50%; border: 0; padding: 0 12px; }
	.tlt-cols__col:nth-child(1) { padding: 0 12px 0 20px; border: 0; }
}
@media (max-width: 767px) {
	.tlt-cols__inner { row-gap: 40px; max-width: none; }
	.tlt-cols__col, .tlt-cols__col:nth-child(2), .tlt-cols__col:nth-child(3) { flex-basis: 100%; }
	.tlt-counter { text-align: center; }
	.tlt-counter__number { justify-content: center; font-size: 40px; margin-bottom: -4px !important; }
	.tlt-counter__number span:last-child { flex-grow: 0; }
	.tlt-linkcol__list { display: flex; flex-direction: column; gap: 10px; margin-top: 0; }
	.tlt-linkcol__list a { width: 100%; }
	.tlt-counter__label { font-size: 22px; }
}

/* ---------- Process + side column (lime band) ---------- */
.tlt-process { margin-top: 100px; padding: 140px 0; background: var(--tlt-theme); }
.tlt-process__inner { display: flex; align-items: flex-start; max-width: 1320px; margin: 0 auto; }
.tlt-process__main { display: flex; flex-direction: column; gap: 20px; flex: 0 1 100%; margin-right: 24px; padding-right: 12px; }
.tlt-process__side { flex: 0 1 100%; padding: 0 12px; }
.tlt-process__main > .tlt-process__heading { margin: 0 0 20px 60px; }
.tlt-process__main > .tp.tp { width: 100%; margin-top: 0; }
.tlt-process__side > .tlt-process__heading { margin: 0 0 20px; }
@media (max-width: 1024px) {
	.tlt-process { margin-top: 0; padding: 0 0 100px; }
	.tlt-process__inner { flex-direction: column; }
	.tlt-process__main { display: none; }
	.tlt-process__side { width: 100%; max-width: 720px; margin: 50px auto 0; }
}
@media (max-width: 767px) {
	.tlt-process__main, .tlt-process__side { max-width: none; }
}

/* ---------- Portfolio showcase ---------- */
.tlt-showcase { margin-top: 140px; background: url(/wp-content/uploads/2024/02/portfolio-bg.png) no-repeat; }
.tlt-showcase__row { display: flex; justify-content: space-between; max-width: 1320px; margin: 0 auto; padding-bottom: 140px; }
.tlt-showcase__text { display: flex; flex-direction: column; gap: 20px; width: 33.3333%; padding: 0 12px; }
.tlt-showcase__heading { margin-top: 20px !important; }
/* margin-bottom: prod's slider column ends with an empty container behind a 24px gap */
.tlt-showcase__slider { width: 58.333%; margin-bottom: 24px; padding: 0 12px; }
.tlt-showcase__slider .tbs { border-radius: 25px; box-shadow: 16px 10px 45px 0 rgba(0, 0, 0, .5); }

.tlt-showcase__row--flip .tlt-showcase__text { justify-content: space-between; }
.tlt-showcase__row--flip .tlt-showcase__heading { margin-bottom: 30px; }
.tlt-showcase__row--flip .tlt-more { align-self: flex-end; margin-top: 30px; }
@media (max-width: 1024px) {
	.tlt-showcase { margin-top: 0; padding: 100px 0; background-size: cover; }
	.tlt-showcase__row { flex-direction: column; gap: 48px; max-width: 720px; padding: 100px 0; }
	.tlt-showcase__text, .tlt-showcase__slider { width: 100%; }
	.tlt-showcase__text { align-items: stretch; }
	.tlt-showcase__heading { align-self: center; width: 600px; max-width: 100%; }
}

/* ---------- Tools carousel ---------- */
.tlt-tools__inner { display: flex; flex-direction: column; gap: 16px; max-width: 1396px; margin: 0 auto; padding: 140px 16px 0 60px; }
.tlt-tools__heading { margin-top: 20px !important; }
.tlt-tools .tlt-more { align-self: flex-end; margin-top: 30px; }
.tts-track { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; scroll-behavior: smooth; scrollbar-width: none; }
.tts-track::-webkit-scrollbar { display: none; }
.tts-track > .tts-slide { display: flex; flex: 0 0 33.3333%; scroll-snap-align: start; }
.tts-track > .tts-slide > .tts-card { flex: 1 1 auto; }
.tts-slider .slick-arrow.is-hidden { display: none !important; }
.tts-slider .slick-arrow:disabled { opacity: .4; cursor: default; }
.tts-slider .slick-dots { display: none; line-height: 0; }
.tts-slider .slick-dots li { line-height: 0; vertical-align: top; }
/* flex, not inline-block: whitespace between items made 11 dots wrap at 320 px and the second row overlapped the first (WCAG 2.5.8) */
@media (max-width: 767px) { .tts-slider .slick-dots { display: flex; flex-wrap: wrap; justify-content: center; row-gap: 8px; } .tts-slider .slick-dots li { height: 24px; } }
.tts-slider .slick-prev::before { content: "←"; }
.tts-slider .slick-next::before { content: "→"; }
.tts-card__icon i.fas { font-family: "Font Awesome 5 Free"; font-weight: 900; font-style: normal; display: inline-block; line-height: 1; -webkit-font-smoothing: antialiased; }
@font-face { font-family: "Font Awesome 5 Free"; font-style: normal; font-weight: 900; font-display: block; src: url(../fonts/fa-solid-subset.woff2) format("woff2"); }
.fa-calendar-alt::before { content: "\f073"; } .fa-chart-bar::before { content: "\f080"; } .fa-code::before { content: "\f121"; }
.fa-cube::before { content: "\f1b2"; } .fa-file-alt::before { content: "\f15c"; } .fa-globe::before { content: "\f0ac"; }
.fa-map-marked-alt::before { content: "\f5a0"; } .fa-microchip::before { content: "\f2db"; } .fa-share-alt::before { content: "\f1e0"; }
.fa-th-large::before { content: "\f009"; } .fa-tools::before { content: "\f7d9"; } .fa-video::before { content: "\f03d"; }
@media (max-width: 1024px) { .tts-track > .tts-slide { flex-basis: 50%; } }
@media (max-width: 767px) {
	.tlt-tools__inner { margin: 40px auto; }
	.tts-track > .tts-slide { flex-basis: 100%; }
}

/* ---------- Accordion ---------- */
.tlt-accordion__inner { display: flex; flex-direction: column; gap: 48px; max-width: 880px; margin: 0 auto; padding: 140px 0; }
.tlt-accordion__heading { width: min(660px, 100% - 24px); margin: -3.24px auto 0 !important; text-align: center; }
.tlt-accordion__list { padding: 0 12px; }
.tlt-acc { position: relative; display: flex; align-items: flex-start; padding: 30px 0; border-bottom: 2px solid var(--tlt-title); }
.tlt-acc:first-child { border-top: 2px solid var(--tlt-title); }
.tlt-acc__header { flex: 0 0 auto; margin: 0; font-size: 1.75rem; line-height: 1.278; }
@media (max-width: 767px) { .tlt-acc__header { font-size: 24px; } }
.tlt-acc__button {
	display: flex; align-items: flex-start; gap: 10px; width: 430px; padding: 0; border: 0; border-radius: 0; background: transparent;
	font-family: var(--tlt-font-title); font-size: 24px; font-weight: 600; line-height: 1; color: var(--tlt-title); text-align: left; white-space: normal; cursor: pointer;
}
.tlt-acc__button:is(:hover, :focus) { background: transparent; color: var(--tlt-title); }
.tlt-acc__button::after { content: ""; position: absolute; top: 23px; right: 0; width: 14px; height: 40px;
	background: linear-gradient(currentColor, currentColor) center / 14px 2px no-repeat, linear-gradient(currentColor, currentColor) center / 2px 14px no-repeat; }
.tlt-acc__button[aria-expanded="true"]::after { background: linear-gradient(currentColor, currentColor) center / 14px 2px no-repeat; }
.tlt-acc__num { margin-right: 40px; font-size: 14px; line-height: 1.66; }
.tlt-acc__body { max-width: 365px; margin: -0.5em 0 0 auto; padding: 2px 60px 0 0; }
/* Without JS every panel stays open and every quote/slide stays visible (content never locked behind a script). */
.tlt-js .tlt-acc__body:not(.is-open), .tlt-js .tlt-testi:not(.is-current) { display: none; }
html:not(.tlt-js) .tlt-testimonials__dots { display: none; }
html:not(.tlt-js) .tbs__slider { height: auto; }
html:not(.tlt-js) .tbs__slider .tbs__slide { position: relative; opacity: 1; visibility: visible; margin-bottom: 24px; }
html:not(.tlt-js) .tbs__header { display: none; }
.tlt-acc__body p { margin-bottom: -0.3em !important; font-size: 18px; line-height: 1.66; }
.tlt-acc__body p + p { margin-top: 1em; }
.tlt-acc__link { color: var(--tlt-title); text-decoration: underline; text-underline-offset: 3px; }
@media (max-width: 1024px) { .tlt-accordion__inner { padding: 100px 0; } }
@media (max-width: 991px) {
	.tlt-acc { display: block; }
	.tlt-acc__button { width: 100%; padding-right: 20px; gap: 15px; }
	.tlt-acc__num { margin-right: 0; font-size: inherit; line-height: inherit; }
	.tlt-acc__body { margin-top: 20px; max-width: none; }
}
@media (max-width: 767px) {
	.tlt-accordion__inner { gap: 40px; padding: 100px 0; }
	.tlt-acc__body { padding-right: 0; }
}
@media (max-width: 480px) {
	.tlt-acc__button { font-size: 16px !important; padding: 14px 12px !important; gap: 12px; }
	.tlt-acc__num { margin-right: 8px; flex-shrink: 0; }
	.tlt-acc__body { padding: 0 12px 14px; }
	.tlt-acc__button::after { top: 2px; right: 12px; }
	.tlt-acc--block .tlt-acc__button { font-size: 20px !important; line-height: 1.2; }
}
@media (max-width: 575px) {
	.tlt-acc__button { font-size: 18px; }
	.tlt-acc__body p { font-size: 16px; margin: 0 !important; }
}

/* ---------- Logo grid ---------- */
.tlt-logos { padding: 140px 0; }
.tlt-logos__heading { width: min(660px, 100% - 24px); margin: 0 auto 50px; font-family: var(--tlt-font-title); font-size: 34px; font-weight: 600; line-height: 1.16; letter-spacing: -1.8px; text-align: center; color: var(--tlt-title); }
@media (max-width: 767px) { .tlt-logos__heading { margin-bottom: 30px; font-size: 32px; letter-spacing: -1px; } }
.tlt-logos__grid { display: grid; grid-template-columns: repeat(4, 1fr); max-width: 1140px; margin: 2px auto 0; padding: 0 0 0 2px; list-style: none; }
.tlt-logos__item { margin: -2px 0 0 -2px; border: 2px solid var(--tlt-title); }
.tlt-logos__cell { display: flex; align-items: center; justify-content: center; height: 148px; padding: 20px; }
.tlt-logos__img { display: block; width: auto; max-width: 100%; height: 50px; object-fit: contain; }
@media (max-width: 1024px) { .tlt-logos__cell { height: 112px; } .tlt-logos__grid { max-width: 720px; } }
@media (max-width: 767px) {
	.tlt-logos__grid { grid-template-columns: repeat(2, 1fr); max-width: none; margin: 2px 12px 0; }
	.tlt-logos__cell { height: 85px; }
}

/* ---------- Testimonials ---------- */
.tlt-testimonials { margin-top: 100px; padding: 140px 0; background: var(--tlt-theme); }
.tlt-testimonials__inner { position: relative; }
.tlt-testimonials__text { max-width: 1320px; margin: 0 auto; padding: 0 12px; }
.tlt-testimonials__text > * { max-width: 636px; }
.tlt-testimonials__heading { margin: 0 0 48px !important; }
.tlt-testimonials__quote { display: block; }
.tlt-testimonials__slider { position: relative; }
.tlt-testi { margin: 0; }
.tlt-testi__text { margin: 28px 0 30px; padding: 0; border: 0; font-size: 24px; line-height: 38px; font-style: normal; }
.tlt-testi__profile { display: flex; flex-direction: column; }
.tlt-testi__name { margin: -0.35em 0 6px; font-family: var(--tlt-font-title); font-size: 24px; font-weight: 600; line-height: 1.333; color: var(--tlt-title); }
.tlt-testi__org { margin-bottom: -0.1em; font-size: 18px; line-height: 1.66; color: var(--tlt-body); }
/* 24 px hit areas (WCAG 2.5.8); the visible 10 px ring is ::before, so the dot row keeps its look. */
.tlt-testimonials__dots { position: absolute; right: -19px; bottom: -7px; display: flex; gap: 0; }
.tlt-dot { position: relative; width: 24px; height: 24px; padding: 0; border: 0; background: none; cursor: pointer; }
.tlt-dot::before { content: ""; position: absolute; top: 7px; left: 7px; width: 10px; height: 10px; box-sizing: border-box; border: 1px solid var(--tlt-title); border-radius: 9999px; background: transparent; }
.tlt-dot:is(:hover, :focus) { background: none; }
.tlt-dot[aria-current="true"]::before { background: var(--tlt-title); }
.tlt-testimonials__media { position: absolute; top: -240px; right: 0; bottom: 0; width: 44%; }
.tlt-testimonials__img { display: block; width: 100%; height: 100%; object-fit: cover; }
@media (max-width: 1399px) { .tlt-testi__text { font-size: 18px; line-height: 34px; } }
@media (max-width: 1299px) { .tlt-testi__text { font-size: 16px; line-height: 30px; } }
@media (max-width: 1024px) {
	.tlt-testimonials { margin-top: 0; padding: 0 0 100px; }
	.tlt-testimonials__inner { display: flex; flex-direction: column-reverse; }
	.tlt-testimonials__media { position: static; width: 100%; }
	.tlt-testimonials__img { height: 500px; object-position: center top; }
	.tlt-testimonials__text { width: 100%; max-width: 720px; margin: 50px auto 0; }
	.tlt-testimonials__text > * { max-width: none; }
	.tlt-testimonials__heading { margin-bottom: 30px !important; }
}
@media (max-width: 767px) {
	.tlt-testimonials__img { height: 350px; }
	.tlt-testimonials__dots { position: relative; right: auto; bottom: auto; left: -7px; padding: 0; margin: 32px 0 -7px; }
	.tlt-testi__name { font-size: 22px; }
}
/* Home: testimonials on white (Tomas), the band colour stays on other pages */
.home .tlt-testimonials { background: #fff; }
/* Home on phones: the quote is the proof, so it comes before the photo (the photo alone pushed it to the third screen). */
@media (max-width: 767px) {
	.home .tlt-testimonials { padding-top: 64px; }
	.home .tlt-testimonials__inner { flex-direction: column; }
	.home .tlt-testimonials__text { margin-top: 0; }
	.home .tlt-testimonials__media { margin-top: 48px; }
}

/* ---------- Cards ---------- */
.tlt-cards__inner { display: flex; justify-content: space-between; max-width: 1320px; margin: 0 auto; padding: 140px 0; }
.tlt-cards__intro { width: 41.666%; padding: 0 12px; }
.tlt-cards__heading { margin-top: -3.24px !important; }
.tlt-cards__grid { display: grid; grid-template-columns: 1fr 1fr; align-items: start; gap: 24px; width: 50%; margin: 0; padding: 0 12px; list-style: none; }
.tlt-card { padding: 40px 36px; background: rgb(255, 250, 206); }
.tlt-card__title { margin: 0 0 15px !important; font-family: var(--tlt-font-title); font-size: 24px; font-weight: 600; line-height: 1.333; }
.tlt-card__title a { color: var(--tlt-title); text-decoration: none; }
.tlt-card__title a::after { content: ""; position: absolute; inset: 0; }
.tlt-card { position: relative; }
.tlt-card__text { margin-bottom: -.5rem !important; font-size: 16px; line-height: 1.66; }
@media (max-width: 1366px) { .tlt-card { padding: 35px 30px; } }
@media (max-width: 1024px) {
	.tlt-cards__inner { flex-wrap: wrap; gap: 48px; max-width: 720px; padding: 0 0 100px; }
	.tlt-cards__intro, .tlt-cards__grid { width: 100%; }
	.tlt-cards__intro { text-align: center; }
}
@media (max-width: 991px) { .tlt-card { padding: 30px 26px; } }
@media (max-width: 767px) {
	.tlt-cards__inner { max-width: none; }
	.tlt-cards__heading { margin-top: 0 !important; }
	.tlt-cards__grid { grid-template-columns: 1fr; }
}

/* ---------- Posts ---------- */
.tlt-posts__inner { display: flex; flex-direction: column; gap: 48px; max-width: 1296px; margin: 0 auto; padding: 70px 0 140px; }
.tlt-posts__heading { width: min(660px, 100% - 24px); margin: -3.24px auto 0 !important; text-align: center; }
.tlt-posts__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; margin: 0; padding: 0; list-style: none; }
.tlt-post { position: relative; height: 460px; overflow: hidden; background: var(--tlt-title); }
.tlt-post__img { display: block; width: 100%; height: 100%; object-fit: cover; transform: scale(1.04); transition: transform .4s ease-in-out; }
.tlt-post:hover .tlt-post__img { transform: scale(1.04) translateX(6px); }
.tlt-post::after { content: ""; position: absolute; inset: 0; background: linear-gradient(rgba(255, 255, 255, 0) 0%, rgb(10, 12, 0) 100%); pointer-events: none; }
.tlt-post__content { position: absolute; right: 0; bottom: 0; left: 0; z-index: 1; padding: 40px 36px; color: var(--tlt-white); }
.tlt-post__meta { display: flex; flex-wrap: wrap; gap: 26px; margin: 0 0 12px !important; font-size: 18px; line-height: 1.66; }
.tlt-post__meta span { position: relative; }
.tlt-post__meta span::before { content: ""; position: absolute; top: 50%; left: -15px; width: 4px; height: 4px; border-radius: 50%; background: currentColor; }
.tlt-post__title { margin: 0 0 17px !important; font-family: var(--tlt-font-title); font-size: 24px; font-weight: 600; line-height: 1.333; letter-spacing: -0.48px; color: var(--tlt-white); }
.tlt-post__title a { display: block; color: inherit; text-decoration: none; }
.tlt-post__title a::after { content: ""; position: absolute; inset: 0; z-index: 2; }
@media (max-width: 1399px) { .tlt-post__content { padding: 30px 26px; } }
@media (max-width: 1199px) { .tlt-post__meta { font-size: 14px; } }
@media (max-width: 1024px) { .tlt-posts__inner { padding: 100px 12px; } }
@media (max-width: 991px) { .tlt-post { height: 360px; } }
@media (max-width: 767px) {
	.tlt-posts__inner { gap: 40px; padding: 100px 12px; }
	.tlt-posts__heading { margin-top: 0 !important; }
	.tlt-posts__grid { grid-template-columns: 1fr; gap: 30px; }
	.tlt-post__title { letter-spacing: 0; }
	.tlt-posts__heading { width: 100%; }
	.tlt-post__meta { font-size: 16px; }
}

/* ---------- Portfolio project (single-portfolio.php; prod template 25339) ---------- */
@media (max-width: 767px) { body:not(.home) { --tlt-head-h: 99px; } }
.tlt-pf__inner { max-width: 1320px; margin: 0 auto; padding: calc(220px - var(--tlt-head-h)) 12px 140px; }
.tlt-pf__row { display: flex; justify-content: space-between; }
.tlt-pf__main { display: flex; flex-direction: column; align-items: flex-start; width: 66.666%; padding-right: 12px; }
.tlt-pf__main > * { max-width: 100%; }
.tlt-pf__main > :not(.tlt-more) { align-self: stretch; }
.tlt-pf__meta { width: 25%; padding-left: 12px; }
.tlt-pf__title { margin: 0 0 30px; font-family: var(--tlt-font-title); font-size: 60px; font-weight: 600; line-height: 1.16; letter-spacing: -1.8px; color: var(--tlt-title); }
.tlt-gallery { position: relative; }
.tlt-gallery .tts-track > .tlt-gallery__slide { flex: 0 0 100%; scroll-snap-align: start; }
/* prod shows the 768×600 crops; slices without that size would otherwise scale up to the column width */
.tlt-gallery__img { display: block; width: auto; max-width: min(100%, 768px); height: auto; }
.tlt-gallery .slick-arrow {
	position: absolute; top: 50%; z-index: 2; display: flex; align-items: center; justify-content: center;
	width: 80px; height: 80px; padding: 0; border: 0; border-radius: 50%; background: var(--tlt-white); color: var(--tlt-title);
	font-size: 18px; transform: translateY(-50%); cursor: pointer;
}
.tlt-gallery .slick-prev { left: 46px; }
.tlt-gallery .slick-next { right: 46px; }
.tlt-gallery .slick-prev::before { content: "←"; }
.tlt-gallery .slick-next::before { content: "→"; }
.tlt-gallery .slick-arrow:disabled { cursor: default; }
.tlt-gallery .slick-dots, .tlt-gallery .slick-arrow.is-hidden { display: none !important; }
.tlt-pf__intro { margin-bottom: 30px !important; font-size: 18px; line-height: 1.66; }
.tlt-gallery + .tlt-pf__intro { margin-top: 0; }
.tlt-pf__h2 { margin: 0 0 30px; font-family: var(--tlt-font-title); font-size: 36px; font-weight: 600; line-height: 1.16; color: var(--tlt-title); }
.tlt-pf__cta { margin: 30px 0; }
.tlt-pf__text { color: #333; font-size: 18px; line-height: 1.66; }
.tlt-pf__text ul, .tlt-pf__text ol { margin: 0 0 1rem; padding-left: 2rem; }
/* As on prod: authored <p> keep frisk's 18px margin; plain-text fields are not wrapped. */
.tlt-pf__text p { margin: 0 0 18px; }
.tlt-pf__text a { color: inherit; text-decoration: underline; }
.tlt-pf__dl { display: flex; flex-direction: column; gap: 24px; margin: 0; }
.tlt-pf__item { display: flex; flex-direction: column; gap: 6px; }
.tlt-pf__item dt { font-size: 18px; font-weight: 400; line-height: 1.66; }
.tlt-pf__item dd { margin: 0; font-family: var(--tlt-font-title); font-size: 14px; font-weight: 600; line-height: 1.16; color: var(--tlt-title); }
.tlt-pf__item dd a { color: var(--tlt-title); }
/* Shortcode values: prod renders them inside an 18px / 1.66 block (Elementor shortcode widget) */
.tlt-pf__item--sc dd { font-family: var(--tlt-font-body); font-size: 18px; font-weight: 400; line-height: 1.66; }
.tlt-pf__nav { display: flex; justify-content: space-between; flex-wrap: wrap; margin-top: 100px; }
.tlt-pf__navlink { display: flex; align-items: center; gap: 10px; font-family: var(--tlt-font-title); font-size: 14px; font-weight: 600; text-transform: uppercase; color: var(--tlt-title); }
.tlt-pf__navlink--next { margin-left: auto; }
.tlt-pf__navlink .tlt-icon { width: 13px; height: 13px; }
.tlt-pf__related { margin-top: 70px; padding: 10px; }
@media (max-width: 1024px) {
	.tlt-pf__inner { max-width: 720px; padding: calc(150px - var(--tlt-head-h)) 12px 100px; }
	.tlt-pf__row { flex-wrap: wrap; }
	.tlt-pf__main { width: 100%; padding: 0; }
	.tlt-pf__meta { width: 100%; margin-top: 50px; padding: 0; }
	.tlt-pf__title { font-size: 38px; letter-spacing: -1px; }
	.tlt-pf__h2 { font-size: 30px; }
}
@media (max-width: 767px) {
	.tlt-pf__inner { max-width: none; padding-top: calc(140px - var(--tlt-head-h)); }
	.tlt-pf__title { margin-bottom: 25px; font-size: 30px; }
	.tlt-pf__intro { margin-bottom: 20px !important; font-size: 16px; }
	.tlt-pf__h2, .tlt-pf__cta { margin: 0 0 20px; font-size: 24px; }
	.tlt-gallery__img { width: 100%; height: 280px; object-fit: cover; }
	.tlt-pf__nav { margin-top: 60px; }
}

/* ---------- Tool page (single-irankis.php; prod template 25634) ---------- */
.tlt-hero--tool .tlt-hero__title--end { text-align: end; }
.tlt-hero--tool .tlt-hero__body { width: 49%; }
.tlt-tool__actions { display: flex; gap: 20px; padding: 10px; }
.tlt-tool__action { display: flex; flex: 1 1 50%; padding: 10px; }
.tlt-tool__action .tlt-more { margin-top: 30px; }
.tlt-tool__facts .tlt-cols__col.tlt-tool__price { justify-content: center; }
.tlt-tool__fact { font-family: var(--tlt-font-title); font-size: 38px; font-weight: 400; line-height: 1; color: var(--tlt-title); }
.tlt-tool__fact--price { font-size: 37px; font-weight: 600; }
.tlt-tool__fact--wide { font-size: 40px; }
/* Elementor container: default 10 px padding and 20 px gap between widgets */
.tlt-tool__block { display: flex; flex-direction: column; gap: 20px; max-width: 1160px; margin: 70px auto 0; padding: 10px; }
.tlt-tool__block--2 { margin-top: 0; }
.tlt-tool__h2 { margin: 35px 0 !important; padding: 0; font-family: var(--tlt-font-title); font-size: 40px; font-weight: 600; line-height: 1; color: var(--tlt-title); }
.tlt-tool__desc { color: #333; font-size: 18px; line-height: 1.66; }
.tlt-tool__desc p { margin: 0 0 18px; }
.tlt-tool__acc { margin: 35px 0 70px; padding: 0; }
.col-md-6 { flex: 0 0 auto; }
@media (min-width: 768px) { .row > .col-md-6 { width: 50%; } }
@media (max-width: 575px) { .tlt-tool__cards { --bs-gutter-x: 20px; } }
/* Bootstrap utilities used by mu-plugin markup ([tobalt_service_categories]) */
.gy-4 { --bs-gutter-y: 1.5rem; }
.justify-content-center { justify-content: center; }
@media (min-width: 1200px) { .row > .col-xl-3 { flex: 0 0 auto; width: 25%; } }
.feature-card-icon { display: flex; align-items: center; height: 43px; margin-bottom: 74px; font-size: 40px; line-height: 1; color: var(--tlt-title); }
.feature-card-icon .tlt-icon { width: 40px; height: 24px; }
.feature-card-text.mb-n2 { margin-bottom: -.6em !important; }
.award-wrap-area { margin: 0; padding: 0; list-style: none; }
.award-wrap-area .single-award-list { display: flex; padding: 26px 0 31px; border-bottom: 2px solid var(--tlt-title); }
.award-wrap-area .single-award-list:first-child { border-top: 2px solid var(--tlt-title); }
.award-wrap-area .award-year, .award-wrap-area .award-tag { font-family: var(--tlt-font-title); font-size: 14px; font-weight: 600; line-height: 1.66; letter-spacing: -0.14px; color: var(--tlt-title); transition: .4s; }
.award-wrap-area .award-details { position: relative; margin-left: 100px; transition: .4s; }
.award-wrap-area .award-details h3 { margin: 0 0 3px; font-family: var(--tlt-font-title); font-size: 24px; font-weight: 600; line-height: 1.333; color: var(--tlt-title); }
.award-wrap-area .award-details p { margin: 0 0 -0.3em; font-size: 18px; line-height: 1.66; }
.award-wrap-area .award-tag { margin-left: auto; text-transform: uppercase; }
.award-wrap-area .single-award-list:hover .award-details, .award-wrap-area .single-award-list:hover .award-year { transform: translateX(1.5rem); }
.award-wrap-area .single-award-list:hover .award-tag { transform: translateX(-1.5rem); }
.tlt-tool__linkswrap { font-size: 18px; line-height: 1.66; }
.tlt-tool__links { display: inline-flex; vertical-align: baseline; flex-wrap: wrap; gap: 15px 40px; margin: 0; padding: 0; list-style: none; }
.tlt-tool__links > li > a, .tlt-tool__links > li > span { display: block; font-family: var(--tlt-font-title); font-size: 14px; font-weight: 600; line-height: 1.66; letter-spacing: -0.14px; text-transform: uppercase; color: var(--tlt-title); }
.tlt-tool__faq { padding: 0; }
.tlt-acc--block { display: block; }
.tlt-acc--block .tlt-acc__button { width: auto; font-size: 20px; line-height: 1.2; }
.tlt-acc--block .tlt-acc__body { max-width: none; margin: 12px 0 16px; padding-right: 0; }
.tlt-tool__related { padding: 10px; }
.tlt-tool__related .tobalt-related { max-width: 1140px; }
.tlt-tool__related > .tobalt-irankiai { max-width: 1140px; } /* prod: inside a 1140px Elementor container */
@media (max-width: 1199px) { .award-wrap-area .award-details { margin-left: 50px; } }
@media (max-width: 1024px) {
	.tlt-hero--tool .tlt-hero__title--end { text-align: start; }
	.tlt-hero--tool .tlt-hero__body { width: 100%; }
}
@media (max-width: 991px) {
	.feature-card-icon { margin-bottom: 34px; }
	.award-wrap-area .award-details p { font-size: 16px; }
}
@media (max-width: 767px) {
	.tlt-hero--tool .tlt-hero__body { width: 100%; }
	.tlt-tool__actions { flex-direction: column; }
	.tlt-tool__links { display: flex; flex-direction: column; gap: 10px; width: 100%; }
	.award-wrap-area .single-award-list { display: block; }
	.award-wrap-area .award-details { margin: 10px 0 20px; }
	.award-wrap-area .award-tag { display: block; margin-bottom: -0.5em; }
	.award-wrap-area .single-award-list:hover .award-details, .award-wrap-area .single-award-list:hover .award-tag, .award-wrap-area .single-award-list:hover .award-year { transform: none; }
}
@media (max-width: 575px) {
	.award-wrap-area .award-details h3 { font-size: 22px; }
	.award-wrap-area .award-details p { font-size: 14px; }
}

/* ---------- Service page (single-services.php; prod template 26152) — tool page layout with these differences ---------- */
.tlt-hero--service .tlt-hero__badge { width: 500px; }
@media (min-width: 768px) { .tlt-hero--service .tlt-tool__action:first-child { flex-basis: 100%; } }
/* prod keeps the hidden offer button widget, whose 30 px top margin shows once actions stack */
@media (max-width: 767px) { .tlt-hero--service .tlt-hero__badge { width: auto; } .tlt-hero--service .tlt-tool__action:last-child, .tlt-idea .tlt-tool__action:last-child { padding-top: 40px; } }

/* ---------- Sector tools page (template-sector-tools.php; prod template 26282) ---------- */
.tlt-crumbs { margin-top: 4px; font-size: .85em; line-height: 1.66; text-align: end; }
.tlt-crumbs p { margin: 0; }
.tlt-crumbs a { color: var(--tlt-title); }
.tlt-hero--sector .tlt-hero__body--sector { width: 50%; }
.tlt-hero__body--sector .tlt-more { align-self: flex-end; }
.tlt-hero--sector .tlt-hero__badge { padding-left: 60px; }
.tlt-sector .tlt-tool__facts { padding: 140px 0 0; }
.tlt-sector .tlt-tool__fact { font-size: 28px; font-weight: 400; }
.tlt-sector__tools { margin: 70px auto; }
.tlt-sector .tlt-tool__block--2 > .tlt-tool__h2 { margin: 70px 0 35px !important; }
.tlt-sector .tlt-tool__faq { margin-bottom: 70px; }
@media (max-width: 1024px) {
	.tlt-hero--sector .tlt-hero__body--sector { width: 100%; }
	.tlt-hero--sector .tlt-hero__badge { padding-left: 0; }
	.tlt-crumbs { text-align: start; }
	.tlt-sector .tlt-tool__facts { padding: 100px 0; }
}

/* ---------- Service hub page (template-hub.php; prod template 26172) ---------- */
/* Flex column like prod's Elementor container: sibling margins add up instead of collapsing */
.tlt-hub__col { display: flex; flex-direction: column; max-width: 880px; margin: 0 auto; padding: 0 12px; }
.tlt-hub__top { padding-top: calc(185px - var(--tlt-head-h)); padding-bottom: 80px; }
.tlt-hub__title { margin: -3.24px 0 0; font-family: var(--tlt-font-title); font-size: 60px; font-weight: 600; line-height: 1.16; letter-spacing: -1.8px; color: var(--tlt-title); }
.tlt-crumbs--start { margin-top: 0; text-align: start; }
.tlt-hub__text { font-size: 18px; line-height: 1.66; color: var(--tlt-body); }
.tlt-hub__text p { margin: 0 0 18px; }
.tlt-hub__text ul, .tlt-hub__text ol { margin: 0 0 18px; padding-left: 2rem; }
.tlt-hub__text a { color: inherit; text-decoration: underline; }
.tlt-hub__text--m35 > :last-child { margin-bottom: 0; }
.tlt-hub__lead { margin-top: 30px; }
.tlt-hub__text--m35 { margin: 35px 0; }
.tlt-hub__text--m30 { margin-top: 30px; }
.tlt-hub__text--m35t { margin-top: 35px; }
.tlt-hub__intro { display: flex; align-items: center; margin-bottom: 70px; }
.tlt-hub__intro-btn { width: 41%; text-align: right; }
.tlt-hub__intro-btn > .tlt-circle { margin: 20px 80px 20px 20px; }
.tlt-hub__intro-text { width: 59%; font-size: 18px; line-height: 1.66; }
.tlt-circle {
	display: inline-flex; align-items: center; justify-content: center; width: 180px; height: 180px; padding: 20px; border-radius: 50%;
	font-family: var(--tlt-font-title); font-size: 14px; font-weight: 600; line-height: 24px; text-align: center; color: var(--tlt-title);
}
.tlt-circle--lime { background: var(--tlt-theme); }
.tlt-circle--white { background: var(--tlt-white); }
a.tlt-circle--lime:hover { background: var(--tlt-title); color: var(--tlt-white); }
.tlt-hub__h2 { margin: -3.24px 0 0; font-family: var(--tlt-font-title); font-size: 36px; font-weight: 600; line-height: 1.16; letter-spacing: -1px; color: var(--tlt-title); }
.tlt-hub__h2--intro { margin-top: 18px; }
.tlt-hub__h2--impl { margin: 36px 0; letter-spacing: -1.8px; color: #000; }
.tlt-hub__h2--value { margin: 36px 0 18px; }
.tlt-hub__media { position: relative; margin: 35px auto 80px; max-width: 1320px; padding: 0 12px; }
.tlt-hub__img { display: block; width: 100%; height: 700px; object-fit: cover; }
.tlt-hub__media-btn { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); }
.tlt-hub__steps { margin: 35px 0; }
.tlt-hub__steps:empty { margin-bottom: 0; } /* prod: an empty steps shortcode still leaves one 35px gap */
/* [tobalt_hub_steps] output: frisk .process-card + Bootstrap grid helpers */
.gx-0 { --bs-gutter-x: 0; }
.gy-40 { --bs-gutter-y: 40px; }
@media (min-width: 992px) { .row > .col-lg-4 { width: 33.3333%; } }
.process-card .process-card-number { position: relative; padding-bottom: 22px; border-bottom: 2px solid var(--tlt-smoke); font-family: var(--tlt-font-title); font-size: 14px; font-weight: 600; line-height: 1.66; text-transform: uppercase; color: var(--tlt-smoke); }
.process-card .process-card-number::after { content: ""; position: absolute; bottom: 0; left: -4px; width: 24px; height: 24px; border: 4px solid var(--tlt-title); border-radius: 50%; background: var(--tlt-smoke); transform: translate(0, 50%); }
.process-card .process-card-title { margin-top: 45px; font-family: var(--tlt-font-title); font-size: 24px; font-weight: 600; letter-spacing: -0.48px; color: var(--tlt-smoke); }
.process-card .process-card-text { max-width: 330px; margin-bottom: -0.3em; font-size: 18px; font-weight: 400; line-height: 30px; color: var(--tlt-smoke); }
@media (max-width: 1199px) { .process-card .process-card-text { font-size: 16px; } }
@media (max-width: 991px) { .process-card .process-card-text { max-width: none; font-size: 18px; } }
.tlt-hub__cta { display: flex; justify-content: space-between; padding: 70px 0; }
.tlt-hub__cta-title { width: 41.666%; padding: 0 12px; }
.tlt-hub__cta-body { display: flex; flex-direction: column; gap: 24px; width: 50%; padding: 0 12px; }
.tlt-hub__cta-text { margin-bottom: 32px; font-size: 18px; line-height: 1.66; }
.tlt-hub__cta-title .tlt-hub__h2 { letter-spacing: -1.8px; }
.tlt-hub__cta-text p { margin: 0; }
.tlt-hub__links { margin: 40px 0; }
.tlt-hub__logos { max-width: 1200px; margin: 0 auto 65px; padding: 0 12px 30px; }
.tlt-hub__logo-row { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; margin: 0; padding: 0; list-style: none; scrollbar-width: none; }
.tlt-hub__logo-row > li { flex: 0 0 calc(100% / 6); scroll-snap-align: start; display: flex; align-items: center; justify-content: center; }
.tlt-hub__logo-row:focus-visible { outline: 2px solid var(--tlt-title); outline-offset: 4px; }
a.tlt-circle--white:hover { background: var(--tlt-theme); }
.tlt-hub__logo { display: block; max-width: 100%; height: auto; border-radius: 200px; }
@media (max-width: 1024px) {
	.tlt-hub__title { font-size: 44px; }
	.tlt-hub__intro-btn { text-align: left; }
	.tlt-hub__intro-btn > .tlt-circle { margin: 20px; }
	.tlt-hub__media { margin: 40px auto; }
	.tlt-hub__img { height: 500px; object-fit: cover; }
	.tlt-hub__h2--impl { font-size: 45px; }
	.tlt-hub__cta { flex-wrap: wrap; gap: 48px; padding: 0 0 100px; }
	.tlt-hub__cta-title, .tlt-hub__cta-body { width: 100%; }
	.tlt-hub__cta-title { text-align: center; }
	.tlt-hub__logos { margin-bottom: 100px; }
	.tlt-hub__logo-row > li { flex-basis: calc(100% / 3); }
}
@media (max-width: 767px) {
	.tlt-hub__top { padding-top: calc(140px - var(--tlt-head-h)); }
	.tlt-hub__title { font-size: 30px; letter-spacing: 0; }
	.tlt-hub__lead { margin-top: 20px; }
	.tlt-hub__intro-text { font-size: 16px; }
	.tlt-circle { font-size: 13px; font-weight: 500; }
	.tlt-hub__h2 { font-size: 25px; letter-spacing: 0; }
	.tlt-hub__h2--impl { font-size: 32px; letter-spacing: -1px; }
	.tlt-hub__h2--lh12 { line-height: 1.2; }
	.tlt-hub__text--intro { margin: 15px 0 30px; }
	.tlt-hub__text--m30, .tlt-hub__text--m35t { margin-top: 20px; }
	.tlt-hub__text--value { margin-top: 15px; }
	.tlt-hub__cta-title .tlt-hub__h2 { margin: 0; font-size: 32px; letter-spacing: -1px; }
	.tlt-hub__links { margin: 25px 0; }
	.tlt-hub__logos { margin-bottom: 0; }
	.tlt-hub__logo-row > li { flex-basis: 50%; }
	.tlt-hub__logo { max-width: 170px; }
	.tlt-hub__body { padding: 0; }
	.tlt-hub__img { height: 330px; }
	.tlt-hub__intro { flex-direction: column; align-items: stretch; gap: 30px; }
	.tlt-hub__intro-btn { order: 2; width: auto; }
	.tlt-hub__intro-btn > .tlt-circle { margin: 0; }
	.tlt-hub__intro-text { width: auto; }
}
@media (max-width: 575px) { .tlt-circle { width: 140px; height: 140px; padding: 10px; } }

/* ---------- Content items (single-turinys.php): closing CTA of prod template 26164 ---------- */
.tlt-service__cta { align-items: center; margin-top: 0; }
.tlt-service__cta .tlt-tool__h2 { margin: 80px 0 30px !important; font-size: 32px; line-height: 1; text-align: center; }
.tlt-service__cta p { margin: 0; }

/* ---------- "Idėjos" items (template-parts/idea-body.php; prod template 26159) ---------- */
.tlt-idea__label { font-size: 14px; line-height: 1; color: #6b6b6b; }
.tlt-idea__facts .tlt-cols__col { gap: 15px; }
.tlt-idea__solution { margin: 70px 0 10px !important; }
.tlt-idea__summary { margin-bottom: 35px; }
.tlt-idea__outcome { margin: 15px 0 0 !important; font-size: 16px; line-height: 1; }
.tlt-idea__timeframe { margin: 25px 0 0 !important; font-size: 14px; line-height: 1; color: #6b6b6b; }
@media (max-width: 767px) { .tlt-idea__outcome, .tlt-idea__timeframe { line-height: 1.4; } }
.tlt-idea__cta { margin-top: 0; }
.tlt-idea__cta .tlt-tool__h2 { margin: 140px 0 20px !important; }
.tlt-idea__cta-btn { margin: 30px 0 0; }

/* ---------- Sector archive (taxonomy-services-cat.php; prod archive template 26207) ---------- */
.tlt-sa-hero { padding: calc(140px - var(--tlt-head-h)) 12px 130px; background-color: transparent; background-image: linear-gradient(var(--tlt-smoke), var(--tlt-smoke)); background-size: 100% calc(100% - 582px); background-repeat: no-repeat; }
.tlt-sa-hero__inner { display: flex; flex-direction: column; max-width: 1296px; margin: 0 auto; }
.tlt-sa-hero__media { margin: 38px 0 40px; }
.tlt-sa-hero__img { display: block; width: 100%; height: 500px; object-fit: cover; }
.tlt-sa-hero__title { margin: 0 0 15px; font-size: 50px; font-weight: 700; line-height: 1.133; }
.tlt-sa-hero__text { align-self: flex-end; width: 49%; margin: 22px 0 0; font-size: 18px; line-height: 1.66; }
.tlt-sa-counters { display: flex; padding: 140px max(0px, calc((100% - 1320px) / 2)); }
/* Prod's shortcode widget is a flex item: it shrinks to its content and starts at the left of the 1320px box. */
.tlt-sa-counters > .tobalt-sector-counters { flex: 0 1 auto; margin: 0; }
.tlt-sa-h2 { margin: 0; font-family: var(--tlt-font-title); font-size: 60px; font-weight: 600; line-height: 1.16; letter-spacing: -1.8px; color: var(--tlt-title); }
.tlt-sa-services { position: relative; margin-top: 100px; padding: 140px 0; background: var(--tlt-theme); }
.tlt-sa-services__inner { display: flex; max-width: 1320px; margin: 0 auto; }
.tlt-sa-services__col { flex: 0 0 50%; display: flex; flex-direction: column; padding: 0 12px; }
.tlt-sa-services__h2 { margin-bottom: 45px; }
.tlt-sa-services .tobalt-sector-show-all { width: fit-content; }
.tlt-sa-services__img { position: absolute; top: -100px; right: 0; bottom: 140px; width: 44%; height: auto; object-fit: cover; }
.tlt-sa-tools { display: flex; flex-direction: column; gap: 50px; max-width: 1100px; margin: 0 auto; padding: 140px 12px 0; }
.tlt-sa-tools__h2 { margin-top: -3.24px; text-align: center; } /* prod: -0.18em on the 18px widget wrapper */
.tlt-sa-tools .tobalt-sector-grid { width: 100%; }
.tlt-sa-tools__more { margin: 0; text-align: center; }
/* No tools: prod's empty shortcode widget still takes one 50px gap. */
.tlt-sa-tools__h2 + .tlt-sa-tools__more { margin-top: 50px; }
.tlt-sa-work { padding: 140px 12px; }
.tlt-sa-work__inner { display: flex; flex-direction: column; max-width: 660px; margin: 0 auto; }
.tlt-sa-work__h2 { margin-bottom: 36px; text-align: center; }
@media (max-width: 1024px) {
	.tlt-sa-hero { padding: calc(120px - var(--tlt-head-h)) 12px 120px; }
	.tlt-sa-hero__media { margin: 20px 0; }
	.tlt-sa-hero__text { width: 100%; }
	.tlt-sa-counters { justify-content: center; padding: 100px 0; }
	.tlt-sa-h2 { font-size: 45px; }
	.tlt-sa-services { margin-top: 0; padding: 0 0 100px; }
	.tlt-sa-services__inner { flex-direction: column; }
	.tlt-sa-services__col { margin-top: 100px; }
	.tlt-sa-services__h2 { margin-bottom: 30px; }
	.tlt-sa-services__img { position: static; order: -1; width: 100%; height: auto; }
	.tlt-sa-services { display: flex; flex-direction: column; }
	.tlt-sa-tools { padding-top: 100px; }
	.tlt-sa-work { padding: 100px 12px; }
}
@media (max-width: 991px) { .tlt-sa-hero { background-size: 100% 50%; } }
@media (max-width: 767px) {
	.tlt-sa-hero { padding: calc(120px - var(--tlt-head-h)) 12px 100px; }
	.tlt-sa-hero__img { height: 200px; }
	.tlt-sa-hero__title { font-size: 30px; line-height: 1.3; }
	.tlt-sa-h2 { font-size: 32px; letter-spacing: -1px; }
	.tlt-sa-services__h2 { font-size: 34px; }
	.tlt-sa-services__col { margin-top: 80px; }
}

/* ---------- "Darbų pavyzdžiai" pages (template-examples.php; prod Elementor pages 22394–22418) ---------- */
.tlt-ex__hero { position: relative; margin-bottom: 45px; padding-top: calc(300px - var(--tlt-head-h)); background-position: -600px 25%; background-repeat: no-repeat; background-size: auto; }
.tlt-ex__hero-inner { max-width: 1140px; margin: 0 auto; padding: 30px 0 0 8px; }
.tlt-ex__eyebrow { margin: 0 0 20px; font-family: var(--tlt-font-title); font-size: 70px; font-weight: 700; line-height: 1; color: var(--tlt-title); }
.tlt-ex__title { margin: 0; font-family: var(--tlt-font-body, Poppins, sans-serif); font-size: 70px; font-weight: 500; line-height: 1; color: var(--tlt-title); }
.tlt-ex__down { display: none; }
.tlt-ex__gallery { display: flex; flex-direction: column; gap: 35px; max-width: 1150px; margin: 0 auto; padding: 0 10px 150px; }
.tlt-ex__row { display: flex; gap: 30px; margin: 0; padding: 30px; border: 1px solid var(--tlt-title); border-radius: 20px; }
.tlt-ex__cell { height: 342px; overflow: hidden; border-radius: 15px; }
.tlt-ex__cell--desktop { flex: 0 0 62%; box-shadow: 0 0 10px rgba(0, 0, 0, .5); }
.tlt-ex__cell--phone { flex: 0 0 35%; }
.tlt-ex__row--phone-left .tlt-ex__cell--phone { order: -1; }
.tlt-ex__row--single .tlt-ex__cell--desktop { flex: 1 1 auto; }
.tlt-ex__img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: top center; }
.tlt-ex__contact { display: flex; align-items: center; gap: 60px; max-width: 1172px; margin: 0 auto; padding: 130px 16px 75px; }
.tlt-ex__contact-form, .tlt-ex__contact-proof { flex: 1 1 50%; min-width: 0; }
.tlt-ex__contact-form { display: flex; flex-direction: column; gap: 30px; }
/* The parent theme's label { line-height: 1 } would shrink the mu-plugin form's labels; prod renders them at 1.5. */
.tlt-ex__contact .tobalt-cf__label { line-height: 1.5; }
.tlt-ex__contact .tobalt-cf { padding: 0 10px; }
.tlt-ex__contact .tobalt-cf__legend { width: 100%; }
.tlt-ex__contact .tobalt-cf a { color: inherit; text-decoration: underline; } /* prod: no underline, same colour as the text (WCAG 1.4.1) */
/* Prod's frisk base styles that the mu-plugin form relies on. */
:where(.tlt-ex__contact .tobalt-cf, .tlt-classic__content, .tlt-lp__widget, .tlt-embed__inner, .tlt-sb__form) label { display: block; margin-top: -.3em; margin-bottom: .5em; font-size: 16px; color: var(--tlt-title); } /* element-level like prod, so the plugin's own label margins win */
.tlt-ex__contact input.tobalt-cf__input { height: 55px; }
.tlt-ex__contact textarea.tobalt-cf__input { height: 90px; }
.tlt-ex__contact-proof { display: flex; flex-direction: column; gap: 24px; padding: 50px; }
.tlt-ex__cta { margin: 0; font-family: var(--tlt-font-title); font-size: 50px; font-weight: 700; line-height: 1; color: var(--tlt-title); }
.tlt-ex__quote { max-width: 600px; margin: 0; font-family: var(--tlt-font-title); font-size: 24px; font-weight: 700; line-height: 1; color: var(--tlt-title); }
.tlt-ex__rating { display: flex; align-items: flex-start; }
.tlt-ex__score { flex: 0 0 130px; margin: 0; font-size: 69px; font-weight: 600; line-height: 1; color: var(--tlt-title); }
.tlt-ex__stars { display: flex; gap: 10px; padding-top: 10px; color: var(--tlt-title); }
.tlt-ex__source { margin: 20px 0 18px; font-size: 18px; color: var(--tlt-title); }
@media (max-width: 1024px) {
	.tlt-ex__hero { margin-bottom: 100px; background-position: center center; background-size: cover; }
	.tlt-ex__gallery { padding: 80px 10px; }
	.tlt-ex__contact { flex-direction: column; align-items: stretch; margin-bottom: 100px; padding: 100px 16px; }
	.tlt-ex__cell--desktop, .tlt-ex__cell--phone { flex: 1 1 0; }
}
@media (max-width: 767px) {
	/* Prod: 70px section padding + 32px inner padding under an overlaid header; ours is in flow, so the sum moves to a margin. */
	.tlt-ex__hero { margin-bottom: 0; padding-top: 0; background-position: -582px 0; }
	.tlt-ex__hero-inner { width: 90%; margin: calc(102px - var(--tlt-head-h)) 0 0; padding: 0 16px; }
	.tlt-ex__eyebrow, .tlt-ex__title { font-size: 34px; }
	.tlt-ex__down { display: block; width: 30px; margin: -30px auto 0; color: #6ec1e4; }
	.tlt-ex__gallery { gap: 30px; padding: 50px 20px; }
	.tlt-ex__row { flex-direction: column; }
	.tlt-ex__row--phone-left .tlt-ex__cell--phone { order: 0; }
	.tlt-ex__cell--desktop, .tlt-ex__cell--phone { flex: 0 0 auto; width: 100%; }
	.tlt-ex__cell--phone { height: 260px; }
	.tlt-ex__cta { font-size: 30px; }
	.tlt-ex__contact { gap: 0; margin-bottom: 80px; padding: 80px 16px; }
	.tlt-ex__contact-proof { gap: 0; padding: 40px 0 0; }
	.tlt-ex__quote { display: none; }
	.tlt-ex__rating { flex-direction: column; }
	.tlt-ex__score { flex: 0 0 auto; }
	.tlt-ex__stars { padding-top: 20px; }
}

/* ---------- Classic content pages (page.php without sections; prod frisk page.php .tg-page-area) ---------- */
.tlt-classic { padding: calc(140px - var(--tlt-head-h)) 0 140px; }
.tlt-classic__inner { max-width: 1320px; margin: 0 auto; padding: 0 12px; }
:where(.tlt-classic__content) h1 { margin: 0 0 15px; font-size: 70px; font-weight: 700; line-height: 1.167; color: var(--tlt-title); }
:where(.tlt-classic__content) h2 { margin: 0 0 15px; font-size: 50px; font-weight: 700; line-height: 1.133; color: var(--tlt-title); }
:where(.tlt-classic__content) h3 { margin: 0 0 15px; font-size: 36px; font-weight: 700; line-height: 1.278; color: var(--tlt-title); }
:where(.tlt-classic__content, .tlt-lp__widget) p { margin: 0 0 18px; }
:where(.tlt-classic__content, .tlt-lp__widget) :is(ul, ol) { margin: 0 0 1rem; padding-left: 2rem; }
/* frisk rules are element-level: component classes inside the content keep their own styles. */
:where(.tlt-classic__content) table { margin-bottom: 27px; font-size: inherit; }
:where(.tlt-embed__inner) table { font-size: inherit; }
/* prod (frisk) cells: no zebra striping, light border, middle aligned, header cells left aligned */
:where(.tlt-classic__content) :is(td, th) { padding: 9px 12px; border: 1px solid #e3e3e3; vertical-align: middle; background: none; text-align: left; }
:where(.tlt-classic__content, .tlt-lp__widget, .tlt-embed__inner, .tlt-sb__form) :is(td, th, label) { line-height: inherit; }
/* frisk: textarea, input { height: 55px }; CF7 bundle: p:empty { display: none }. Zero specificity so plugin rules still win. */
:where(:is(.tlt-classic__content, .tlt-lp__widget, .tlt-embed__inner, .tlt-sb__form) :is(input:not([type="checkbox"]):not([type="radio"]), textarea, select:not([multiple]):not([size]))) { height: 55px; }
:where(:is(.tlt-classic__content, .tlt-lp__widget, .tlt-embed__inner, .tlt-sb__form) textarea) { min-height: 100px; }
:where(:is(.tlt-classic__content, .tlt-lp__widget, .tlt-embed__inner) p:empty) { display: none; }
/* Prod renders in-text links in the theme yellow on white (≈1.1:1); keep them readable (deviation D22). */
:where(.tlt-classic__content, .tlt-lp__widget) a { color: var(--tlt-title); text-decoration: underline; }
@media (max-width: 1199px) {
	:where(.tlt-classic__content) h1 { font-size: 44px; line-height: 1.3; }
	:where(.tlt-classic__content) h2 { font-size: 40px; line-height: 1.25; }
	:where(.tlt-classic__content) h3 { font-size: 30px; }
}
@media (max-width: 767px) {
	:where(.tlt-classic__content) h1 { font-size: 40px; }
	.tlt-classic { padding: max(0px, calc(80px - var(--tlt-head-h))) 0 80px; }
	:where(.tlt-classic__content) h2 { font-size: 34px; line-height: 1.3; }
	:where(.tlt-classic__content) h3 { font-size: 26px; }
}
@media (max-width: 575px) { :where(.tlt-classic__content) h1 { font-size: 34px; line-height: 1.35; } :where(.tlt-classic__content) h2 { font-size: 30px; } }

/* ---------- Tool landing pages (template-landing.php; prod Elementor pages inside frisk page.php) ---------- */
.tlt-lp { max-width: 1320px; margin: 0 auto; padding: calc(140px - var(--tlt-head-h)) 12px 140px; }
.tlt-lp__hero { display: flex; flex-direction: column; padding: 70px 12px 60px; }
.tlt-lp__title { margin: 0; font-family: var(--tlt-font-title); font-size: 85px; font-weight: 600; line-height: 1.167; letter-spacing: -3.6px; text-align: end; color: var(--tlt-title); }
.tlt-lp__body { display: flex; flex-direction: column; gap: 50px; align-self: flex-end; width: 49%; margin-top: 23px; }
.tlt-lp__lead { margin: 0; font-size: 18px; line-height: 1.66; }
.tlt-lp__action { margin: 0 0 0 20px; }
.tlt-btn--circle { display: inline-flex; align-items: center; justify-content: center; width: 180px; height: 180px; padding: 0 20px; border-radius: 50%; background: var(--tlt-theme); color: var(--tlt-title) !important; line-height: 24px; text-align: center; }
.tlt-btn--circle .tlt-roll { width: 140px; height: 48px; line-height: 24px; }
.tlt-btn--circle .tlt-roll > span { white-space: normal; }
.tlt-btn--circle:hover, .tlt-btn--circle:focus-visible { background: var(--tlt-title); color: var(--tlt-white) !important; }
.tlt-lp__tool { display: flex; flex-direction: column; max-width: 1160px; margin: 0 auto; padding: 45px 10px 10px; } /* flex like prod's Elementor container: inner margins never collapse */
.tlt-lp__h2 { margin: 0 0 55px; font-family: var(--tlt-font-title); font-size: 40px; font-weight: 600; line-height: 1; color: var(--tlt-title); }
.tlt-lp__intro p { margin: 0 0 18px; }
.tlt-lp__tool:not(.tlt-lp__tool--split) .tlt-lp__intro { color: #333; }
.tlt-lp__tool:not(.tlt-lp__tool--split) .tlt-lp__widget { padding-top: 20px; } /* prod: 18px paragraph margin + 20px widget gap, not collapsed */
.tlt-lp__tool--split { display: flex; flex-direction: row; gap: 0; max-width: none; padding: 137px 12px 140px; }
.tlt-lp__tool--split .tlt-lp__text { flex: 0 0 40.57%; margin-right: 10.37%; }
.tlt-lp__tool--split .tlt-lp__widget { flex: 1 1 auto; margin-top: -1px; }
.tlt-lp__tool--split .tlt-lp__h2 { margin: 0 0 20px; font-size: 50px; line-height: 1.16; letter-spacing: -1.8px; }
.tlt-lp__tool--split .tlt-lp__intro, .tlt-lp__tool--split .tlt-lp__intro p { font-size: 16px; line-height: 1.66; }
@media (max-width: 1024px) {
	.tlt-lp__title { text-align: start; }
	.tlt-lp__body { width: 100%; }
	.tlt-lp__tool--split { flex-direction: column; }
	.tlt-lp__tool--split .tlt-lp__text { margin-right: 0; }
}
@media (max-width: 767px) {
	.tlt-lp { padding: max(0px, calc(80px - var(--tlt-head-h))) 12px 80px; }
	.tlt-lp__hero { padding: 140px 12px 140px; }
	.tlt-lp__title { font-size: 34px; line-height: 1.3; letter-spacing: 0; }
	.tlt-lp__lead { font-size: 16px; }
	.tlt-btn--circle { width: 140px; height: 140px; }
	.tlt-btn--circle .tlt-roll { width: 120px; }
	.tlt-lp__tool { padding: 45px 10px 10px; }
	.tlt-lp__tool--split { padding: 0 12px 100px; }
	.tlt-lp__tool--split .tlt-lp__h2 { font-size: 32px; line-height: 1.16; letter-spacing: -1px; text-align: center; }
	.tlt-lp__tool--split .tlt-lp__text { margin-bottom: 63px; }
}
/* Template "Turinys siauresniu stulpeliu": prod's Elementor boxed container (1140px centred in the 1296px column). */
.tlt-boxed-page .tlt-classic__content { max-width: 1160px; margin: 0 auto; padding: 10px 10px 0; }
/* prod appends the related block after the Elementor container (10px bottom padding + the block's own 60px margin) */
.tlt-boxed-page .tlt-classic__content > .tobalt-related { margin-top: 70px; }

/* ---------- Section: page hero (template-parts/sections/page_hero.php; prod frisk hero-3-bg) ---------- */
.tlt-ph { padding: calc(140px - var(--tlt-head-h)) 12px 130px; background-image: linear-gradient(var(--tlt-smoke), var(--tlt-smoke)); background-size: 100% calc(100% - 582px); background-repeat: no-repeat; }
.tlt-ph__inner { display: flex; flex-direction: column; max-width: 1296px; margin: 0 auto; }
.tlt-ph__title, .tlt-ph__title-2 { margin: 0; font-family: var(--tlt-font-title); font-size: 100px; font-weight: 600; line-height: 1.167; letter-spacing: -3.6px; color: var(--tlt-title); }
.tlt-ph__title-2 { margin-top: 40px; text-align: end; }
.tlt-ph__media { margin: 38px 0 0; }
.tlt-ph__img { display: block; width: 100%; height: 405px; object-fit: cover; }
.tlt-ph__body { display: flex; flex-direction: column; gap: 32px; align-self: flex-end; width: 49%; margin-top: 21px; }
.tlt-ph__lead { margin: 0; font-size: 18px; line-height: 1.66; }
.tlt-ph .tlt-crumbs { font-size: 15.3px; }
@media (max-width: 1200px) { .tlt-ph__title, .tlt-ph__title-2 { font-size: 80px; } }
@media (max-width: 991px) { .tlt-ph { background-size: 100% 50%; } .tlt-ph__title, .tlt-ph__title-2 { font-size: 65px; line-height: 1.3; letter-spacing: -1.2px; } .tlt-ph__body { width: 100%; } }
@media (max-width: 767px) {
	.tlt-ph { padding: max(0px, calc(120px - var(--tlt-head-h))) 12px 100px; }
	.tlt-ph__title, .tlt-ph__title-2 { font-size: 34px; line-height: 1.3; letter-spacing: 0; text-align: center; }
	.tlt-ph__media { margin-top: 20px; }
	.tlt-ph__img { height: 200px; }
	.tlt-ph__title-2 { margin-top: 20px; }
	.tlt-ph__lead { font-size: 16px; text-align: center; }
}

/* ---------- Section: yellow split block (split_block.php; same design as the sector "Paslaugos" block) ---------- */
.tlt-sb { position: relative; margin-top: 100px; padding: 140px 0; background: var(--tlt-theme); }
.tlt-sb__inner { display: flex; max-width: 1320px; margin: 0 auto; }
.tlt-sb__col { display: flex; flex: 0 0 50%; flex-direction: column; padding: 0 12px; }
.tlt-sb--media-left .tlt-sb__col { margin-left: 50%; }
.tlt-sb__h2 { margin: 0 0 45px; font-family: var(--tlt-font-title); font-size: 60px; font-weight: 600; line-height: 1.16; letter-spacing: -1.8px; color: var(--tlt-title); }
.tlt-sb__text { margin: -30px 0 0; font-size: 18px; line-height: 1.66; }
.tlt-sb__item + .tlt-sb__item { margin-top: 34px; }
.tlt-sb__item-title { margin: 0 0 15px; font-family: var(--tlt-font-title); font-size: 24px; font-weight: 600; line-height: 1.333; color: var(--tlt-title); }
.tlt-sb__item-text { margin: 0; font-size: 18px; line-height: 1.66; }
.tlt-sb__form { padding: 20px; border-radius: 15px; background: var(--tlt-white); box-shadow: 0 0 10px rgba(0, 0, 0, .5); }
.tlt-sb__form .tobalt-cf__legend { width: 100%; }
.tlt-sb__media { position: absolute; top: -100px; right: 0; bottom: 140px; width: 44%; height: calc(100% - 40px); border: 0; object-fit: cover; }
.tlt-sb--media-left .tlt-sb__media { right: auto; left: 0; }
.tlt-map { display: flex; align-items: center; justify-content: center; background: var(--tlt-smoke); }
.tlt-map__consent { max-width: 400px; padding: 30px 24px; text-align: center; }
.tlt-map__address { margin: 0 0 10px; font-family: var(--tlt-font-title); font-size: 20px; font-weight: 600; color: var(--tlt-title); }
.tlt-map__note { margin: 0 0 24px; font-size: 15px; line-height: 1.5; color: var(--tlt-body); }
.tlt-map__link { color: var(--tlt-title); text-decoration: underline; font-size: 15px; }
.tlt-map iframe { display: block; width: 100%; height: 100%; border: 0; }
@media (max-width: 1024px) {
	.tlt-sb { display: flex; flex-direction: column; margin-top: 0; padding: 0 0 100px; }
	.tlt-sb__inner { flex-direction: column; }
	.tlt-sb__col { margin-top: 100px; }
	.tlt-sb--media-left .tlt-sb__col { margin-left: 0; }
	.tlt-sb__h2 { margin-bottom: 30px; font-size: 45px; }
	.tlt-sb__text { margin-top: -4px; }
	.tlt-sb__media { position: static; order: -1; width: 100%; height: 260px; }
	.tlt-sb__map { height: 400px; }
}
@media (max-width: 767px) {
	.tlt-sb__col { margin-top: 80px; }
	.tlt-sb__h2 { font-size: 34px; letter-spacing: -1px; }
	.tlt-sb--media-left .tlt-sb__h2 { font-size: 32px; } /* prod's contact block heading is 2px smaller than the about block's */
	.tlt-sb__item-title { font-size: 22px; }
	.tlt-sb__item-text, .tlt-sb__text { font-size: 16px; }
}

/* ---------- Section: work list (work_list.php; prod frisk "award list") ---------- */
.tlt-wl { padding: 140px 12px 0; }
.tlt-wl__inner { display: flex; flex-direction: column; gap: 50px; max-width: 1076px; margin: 0 auto; }
.tlt-wl__h2 { margin: -4px 0 0; font-family: var(--tlt-font-title); font-size: 60px; font-weight: 600; line-height: 1.16; letter-spacing: -1.8px; text-align: center; color: var(--tlt-title); }
.tlt-wl__list { margin: 0; padding: 0; list-style: none; border-bottom: 2px solid var(--tlt-title); }
.tlt-wl__item { display: flex; gap: 100px; padding: 26px 0 31px; border-top: 2px solid var(--tlt-title); }
.tlt-wl__year { flex: 0 0 47px; padding-top: 3px; font-family: var(--tlt-font-title); font-size: 14px; font-weight: 600; letter-spacing: -.14px; }
.tlt-wl__body { display: block; }
.tlt-wl__title { display: block; margin: -0.1em 0 8px; font-family: var(--tlt-font-title); font-size: 36px; font-weight: 600; line-height: 1.333; color: var(--tlt-title); }
.tlt-wl__cat { font-size: 18px; color: var(--tlt-title); } /* inline in a 29.88px line, like prod */
.tlt-wl__title:hover, .tlt-wl__cat:hover { text-decoration: underline; }
.tlt-wl__more { margin: 0; text-align: center; }
@media (max-width: 1024px) { .tlt-wl { padding: 100px 12px 0; } .tlt-wl__h2 { font-size: 45px; } .tlt-wl__more { margin-bottom: 0; } }
@media (max-width: 767px) {
	.tlt-wl__h2 { font-size: 32px; letter-spacing: -1px; }
	.tlt-wl__item { flex-direction: column; gap: 10px; padding: 26px 0 44px; }
	.tlt-wl__year { flex: none; align-self: flex-start; padding-top: 0; line-height: 29.88px; } /* prod: inline 14px year inside an 18px/1.66 line */
	.tlt-wl__title { font-size: 24px; }
}

/* posts layout "list" (prod frisk blog layout-3): heading + button left, rows of image + text right */
.tlt-posts--list .tlt-posts__inner { flex-direction: row; gap: 0; padding: 140px 12px; max-width: 1320px; }
.tlt-posts--list .tlt-posts__head { flex: 0 0 32.1%; display: flex; flex-direction: column; gap: 40px; align-items: flex-start; padding-top: 0; }
.tlt-posts--list .tlt-posts__heading { width: auto; margin: -3px 0 0 !important; text-align: start; }
.tlt-posts__more { margin: 0; }
.tlt-posts--list .tlt-posts__grid { display: flex; flex: 1 1 auto; flex-direction: column; gap: 24px; margin-left: 10.34%; } /* prod: heading column 416px, rows from x615 */
.tlt-posts--list .tlt-post { display: flex; gap: 40px; height: auto; overflow: visible; background: none; }
.tlt-posts--list .tlt-post__img { flex: 0 0 302px; width: 302px; height: 290px; transform: none; }
.tlt-posts--list .tlt-post:hover .tlt-post__img { transform: none; }
.tlt-posts--list .tlt-post__content { position: static; display: flex; flex-direction: column; justify-content: flex-start; padding: 41px 0 0; color: var(--tlt-title); }
.tlt-posts--list .tlt-post__title { margin: 0 0 74px !important; font-size: 22px; line-height: 32px; letter-spacing: normal; }
.tlt-posts--list .tlt-post__title a { display: inline; color: var(--tlt-title); }
.tlt-posts--list .tlt-post__title a::after { content: none; }
.tlt-post__read { align-self: flex-start; font-family: var(--tlt-font-title); font-size: 14px; font-weight: 600; text-transform: uppercase; color: var(--tlt-title); }
@media (max-width: 1024px) {
	.tlt-posts--list .tlt-posts__inner { flex-direction: column; gap: 60px; padding: 100px 12px; }
	.tlt-posts--list .tlt-posts__head { align-items: center; }
	.tlt-posts--list .tlt-posts__heading { text-align: center; }
	.tlt-posts--list .tlt-posts__grid { margin-left: 0; }
}
@media (max-width: 767px) {
	.tlt-posts--list .tlt-post { flex-direction: column; gap: 0; background: var(--tlt-smoke); }
	.tlt-posts--list .tlt-post__img { flex: none; width: 100%; height: 209px; }
	.tlt-posts--list .tlt-post__content { padding: 26px 30px 30px; }
	.tlt-posts--list .tlt-post__title { margin-bottom: 31px !important; font-size: 20px; line-height: 1.5; }
	.tlt-posts--list .tlt-posts__inner { padding-bottom: 118px; }
	.tlt-posts--list .tlt-posts__head { gap: 30px; }
}

/* tools layout "centred" style (prod "Kam gali būti naudingi?") and counters right after a page hero */
.tlt-tools--center .tlt-tools__inner { max-width: 1320px; padding: 140px 12px 140px; gap: 50px; }
.tlt-tools--center .tlt-tools__heading { width: min(660px, 100%); margin: -3px auto 0 !important; font-size: 60px; line-height: 1.16; letter-spacing: -1.8px; text-align: center; }
@media (max-width: 1024px) { .tlt-tools--center .tlt-tools__inner { padding-top: 100px; padding-bottom: 100px; } .tlt-tools--center .tlt-tools__heading { font-size: 45px; } }
@media (max-width: 767px) { .tlt-tools--center .tlt-tools__inner { margin: 0 auto; } .tlt-tools--center .tlt-tools__heading { font-size: clamp(28px, 8.7vw, 34px); letter-spacing: -1px; } }
@media (min-width: 1025px) { .tlt-ph + .tlt-counters { padding-top: 70px; } }

/* ---------- Section: title hero (title_hero.php; prod "Kontaktai" / "Paslaugos" pages) ---------- */
.tlt-th { padding: calc(185px - var(--tlt-head-h)) 12px 80px; }
.tlt-th__inner { display: flex; flex-direction: column; max-width: 1296px; margin: 0 auto; }
.tlt-th__title { margin: 0 0 2px; font-family: var(--tlt-font-title); font-size: 85px; font-weight: 600; line-height: 1.167; letter-spacing: -3.6px; color: var(--tlt-title); }
.tlt-th .tlt-crumbs { font-size: 15.3px; }
.tlt-th__lead { align-self: flex-end; width: 55%; margin: 20px 0 0; font-size: 18px; line-height: 1.66; }
.tlt-th__badge { align-self: flex-start; width: auto; }
@media (max-width: 1024px) { .tlt-th__lead { width: 100%; } }
@media (max-width: 767px) {
	.tlt-th { padding: max(0px, calc(140px - var(--tlt-head-h))) 12px 80px; }
	.tlt-th__title { font-size: 34px; line-height: 1.3; letter-spacing: 0; }
	.tlt-th__lead { margin-top: 21px; font-size: 16px; }
	.tlt-th__badge { margin-top: 40px; }
}
/* ---------- Section: embed ---------- */
.tlt-embed { padding: 0 12px; }
.tlt-embed__inner { max-width: 1296px; margin: 0 auto; }
.tlt-embed--boxed { padding: 10px; }
.tlt-embed--boxed .tlt-embed__inner { max-width: 1140px; }

/* ---------- Section: circle CTA (circle_cta.php; prod "Pasirinkti įstaigos tipą") ---------- */
.tlt-cc__inner { display: flex; align-items: center; }
.tlt-cc__btn { flex: 0 0 33%; padding: 20px 80px 20px 0; text-align: right; }
.tlt-cc__btn .tlt-circle { margin: 0; }
.tlt-cc__text { flex: 0 1 59%; margin: 0; font-size: 18px; line-height: 1.66; }
@media (max-width: 767px) {
	.tlt-cc__inner { flex-direction: column-reverse; align-items: flex-start; gap: 30px; }
	.tlt-cc__btn { flex: none; padding: 0; text-align: left; }
	.tlt-cc__text { font-size: 16px; }
}
/* ---------- Section: standalone heading (heading.php; prod 24px h4 above link columns / tools) ---------- */
.tlt-heading { padding: 60px 16px 0 60px; }
.tlt-heading__h2 { max-width: 1320px; margin: 0 auto; font-family: var(--tlt-font-title); font-size: 24px; font-weight: 700; line-height: 1; color: var(--tlt-title); }
@media (max-width: 767px) { .tlt-heading__h2 { font-size: 22px; } }
/* contact_proof extras: eyebrow + intro text above the heading/form, optional white form card */
.tlt-ex__eyebrow-sm { margin: 0 0 8px; font-size: 18px; line-height: 1.66; }
.tlt-ex__cta-text { max-width: 400px; margin: 0; font-size: 18px; line-height: 1.66; color: #333; }
@media (min-width: 768px) { .tlt-ex__contact--card .tlt-ex__contact-form { padding: 10px; } }
.tlt-ex__contact--card .tobalt-cf { margin-top: 24px; padding: 25px; border-radius: 15px; background: var(--tlt-white); box-shadow: 0 0 10px rgba(0, 0, 0, .5); }
.tlt-ex__contact--card .tlt-ex__contact-form { gap: 20px; }

/* ---------- Per-section spacing overrides (fields "Tarpai"; classes added by tobalt_lt_render_sections) ---------- */
@media (min-width: 768px) {
	.tlt-sp-t { padding-top: var(--tlt-pt) !important; }
	.tlt-sp-b { padding-bottom: var(--tlt-pb) !important; }
	.tlt-sp-t > [class$="__inner"], .tlt-sp-t > [class*="__inner "] { padding-top: 0 !important; }
	.tlt-sp-b > [class$="__inner"], .tlt-sp-b > [class*="__inner "] { padding-bottom: 0 !important; }
}
@media (max-width: 767px) {
	.tlt-sp-tm { padding-top: var(--tlt-ptm) !important; }
	.tlt-sp-bm { padding-bottom: var(--tlt-pbm) !important; }
	.tlt-sp-tm > [class$="__inner"], .tlt-sp-tm > [class*="__inner "] { padding-top: 0 !important; }
	.tlt-sp-bm > [class$="__inner"], .tlt-sp-bm > [class*="__inner "] { padding-bottom: 0 !important; }
	.tlt-sp-sm { padding-right: var(--tlt-psm) !important; padding-left: var(--tlt-psm) !important; }
}

/* tools "compact" (prod "Mūsų įrankiai" on the services page): small left heading, no section padding */
.tlt-tools--compact .tlt-tools__inner { max-width: none; padding: 0 16px 0 60px; }
.tlt-tools--compact .tlt-tools__heading { max-width: 1320px; margin: 0 auto !important; font-size: 24px; font-weight: 700; line-height: 1; letter-spacing: 0; }
@media (max-width: 767px) { .tlt-tools--compact .tlt-tools__inner { margin: 0; } .tlt-tools--compact .tlt-tools__heading { font-size: 22px; } }
/* logos "row" (prod Elementor image carousel): one full-width scrollable strip */
.tlt-logos--row .tlt-logos__grid { display: flex; gap: 50px; max-width: none; margin: 0; padding: 0 0 30px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; }
.tlt-logos--row .tlt-logos__grid:focus-visible { outline: 2px solid var(--tlt-title); outline-offset: 4px; }
.tlt-logos--row .tlt-logos__item { flex: 0 0 196px; scroll-snap-align: start; border: 0; }
.tlt-logos--row .tlt-logos__cell { height: 196px; padding: 0; border: 0; }
.tlt-logos--row .tlt-logos__img { width: 100%; height: 100%; }
@media (max-width: 767px) { .tlt-logos--row .tlt-logos__item { flex-basis: 170px; } .tlt-logos--row .tlt-logos__cell { height: 170px; } }
@media (max-width: 767px) {
	.tlt-ex__contact--card .tobalt-cf { padding: 31px; }
	.tlt-ex__contact--quote-m .tlt-ex__quote { display: block; margin-top: -10px; font-size: 22px; }
	.tlt-ex__contact--quote-m .tlt-ex__contact-proof { gap: 24px; }
}

/* ---------- Section: yellow image hero (image_hero.php; prod "Darbai" clients page) ---------- */
.tlt-ih { position: relative; display: flex; padding: calc(180px - var(--tlt-head-h)) 0 100px; background: var(--tlt-theme); }
.tlt-ih__media { flex: 0 0 42%; margin-bottom: -100px; }
.tlt-ih__img { display: block; width: 100%; height: 693px; object-fit: cover; }
.tlt-ih__body { display: flex; flex-direction: column; flex: 0 1 636px; margin-left: 8.8%; }
.tlt-ih__title { margin: 0 0 6px; font-family: var(--tlt-font-title); font-size: 100px; font-weight: 600; line-height: 1.1; letter-spacing: -3px; color: var(--tlt-title); }
.tlt-ih .tlt-crumbs { font-size: 15.3px; }
.tlt-ih__lead { margin: 17px 0 0; font-size: 18px; line-height: 1.66; }
.tlt-ih__action { margin: 36px 0 0; }
.tlt-ih__stat { display: flex; align-items: center; align-self: flex-end; gap: 19px; margin: 43px 0 0; }
.tlt-ih__stat-num { display: flex; flex: 0 0 54px; width: 54px; align-items: center; justify-content: center; height: 54px; border-radius: 50%; background: var(--tlt-title); font-family: var(--tlt-font-title); font-size: 14px; color: var(--tlt-theme); }
.tlt-ih__stat-text { width: 227px; font-family: var(--tlt-font-title); font-size: 14px; font-weight: 600; line-height: 24px; letter-spacing: -.14px; text-transform: uppercase; }
.tlt-ih__links { display: flex; flex-wrap: wrap; gap: 15px 40px; margin: 50px 0 0; padding: 0; list-style: none; }
.tlt-ih__links a { font-family: var(--tlt-font-title); font-size: 14px; font-weight: 600; letter-spacing: -.14px; text-transform: capitalize; color: var(--tlt-title); }
@media (max-width: 1024px) {
	.tlt-ih { flex-direction: column; padding: max(0px, calc(85px - var(--tlt-head-h))) 0 100px; }
	.tlt-ih__media { margin-bottom: 0; }
	.tlt-ih__img { height: 300px; }
	.tlt-ih__body { flex: none; margin: 50px 12px 0; }
	.tlt-ih__title { font-size: 45px; letter-spacing: -2px; }
	.tlt-ih__stat { flex-direction: column; align-items: flex-start; align-self: flex-start; gap: 13px; margin-left: 3px; }
	.tlt-ih__links { flex-direction: column; gap: 10px; margin-top: 0; }
	.tlt-ih__stat { align-self: stretch; }
	.tlt-ih__stat-text { width: 100%; }
}
@media (max-width: 767px) { .tlt-ih__lead { font-size: 16px; } }

/* showcase "page" style (prod clients page): 60px heading, rows padded 140px top and bottom, no decorative background */
.tlt-showcase--page { margin-top: 0; background: none; }
.tlt-showcase--page .tlt-showcase__row { padding: 140px 0; }
.tlt-showcase--page .tlt-showcase__heading { margin-top: -3px !important; font-size: 60px; line-height: 1.16; letter-spacing: -1.8px; }
@media (max-width: 1024px) { .tlt-showcase--page { padding: 0; } .tlt-showcase--page .tlt-showcase__row { padding: 100px 0; } .tlt-showcase--page .tlt-showcase__heading { font-size: 45px; } }
@media (max-width: 767px) { .tlt-showcase--page .tlt-showcase__heading { margin-top: 0 !important; font-size: 32px; letter-spacing: -1px; text-align: center; } .tlt-showcase--page .tlt-showcase__row--flip { padding-bottom: 70px; } }

/* ---------- Section: dark hero (dark_hero.php; prod "Įrankiai įstaigoms"). On prod the image starts at y0 under the
   black header bar; the section slides up under our in-flow header to keep the same visible crop. ---------- */
:root { --tlt-dark-head-h: 148px; }
@media (max-width: 767px) { :root { --tlt-dark-head-h: 178px; } }
.tlt-dh { position: relative; z-index: 0; margin-top: calc(-1 * var(--tlt-dark-head-h)); padding: 208px 12px 72px; overflow: hidden; background: var(--tlt-title); color: var(--tlt-white); }
.tlt-dh__img { position: absolute; top: 0; right: 0; z-index: -1; width: 76%; height: 728px; object-fit: fill; }
.tlt-dh__inner { position: relative; max-width: 1296px; margin: 0 auto; }
.tlt-dh__title { display: flex; flex-direction: column; margin: 0; font-family: var(--tlt-font-title); font-size: 100px; font-weight: 600; line-height: 1.1; letter-spacing: -3px; color: var(--tlt-white); }
.tlt-dh__line--3 { margin-left: 220px; }
.tlt-dh__lead { max-width: 432px; margin: 30px 0 0; font-size: 18px; line-height: 1.66; color: var(--tlt-white); }
.tlt-dh__action { margin: 40px 0 0; }
.tlt-btn--lime { background: var(--tlt-theme); color: var(--tlt-title) !important; }
.tlt-btn--lime:hover, .tlt-btn--lime:focus-visible { background: var(--tlt-white); }
.tlt-dh__note { margin: 80px 0 0 auto; width: 324px; font-family: var(--tlt-font-title); font-size: 14px; font-weight: 600; line-height: 1.71; color: var(--tlt-white); }
@media (max-width: 767px) {
	.tlt-dh { padding: 140px 12px 70px; }
	.tlt-dh__img { width: 100%; height: 450px; object-fit: cover; }
	.tlt-dh__title { font-size: 40px; letter-spacing: -1px; }
	.tlt-dh__line--3 { margin-left: 0; }
	.tlt-dh__note { margin: 80px 0 0; width: auto; }
}
/* ---------- Section: statements (statements.php) ---------- */
.tlt-stm { padding: 140px 12px; }
.tlt-stm__list { display: flex; justify-content: space-between; gap: 40px; max-width: 1320px; margin: 0 auto; padding: 0 36px; list-style: none; }
.tlt-stm__item { font-family: var(--tlt-font-title); font-size: 40px; font-weight: 600; line-height: 1; color: var(--tlt-title); }
@media (max-width: 767px) { .tlt-stm { padding: 100px 12px; } .tlt-stm__list { flex-direction: column; padding: 0; } }
/* heading "large": centred 60px section heading (prod "Pasirinkite įrankį") */
.tlt-heading--large { padding: 61px 12px 0; }
.tlt-heading--large .tlt-heading__h2 { max-width: 660px; font-size: 60px; font-weight: 600; line-height: 1.16; letter-spacing: -1.8px; text-align: center; }
@media (max-width: 767px) { .tlt-heading--large { padding: 97px 12px 100px; } .tlt-heading--large .tlt-heading__h2 { font-size: 32px; letter-spacing: -1px; } }

/* heading "note": small right-aligned line (prod "Kainos pateiktos su PVM") */
.tlt-heading--note { padding: 0 0 65px; }
.tlt-heading__note { max-width: 1425px; margin: 0 auto; font-size: 15px; line-height: 1; text-align: right; }
@media (max-width: 767px) { .tlt-heading--note { padding: 0 12px 60px; } }
/* contact_proof "small" heading (prod pricing page: 24px h4) — no extra column padding */
.tlt-ex__contact--small .tlt-ex__cta { font-size: 24px; font-weight: 600; line-height: 1; }
@media (min-width: 768px) { .tlt-ex__contact--small.tlt-ex__contact--card .tlt-ex__contact-form { padding: 0; } }
.tlt-ex__contact--small.tlt-ex__contact--card .tobalt-cf { margin-top: 0; }
@media (max-width: 767px) { .tlt-ex__contact--small .tlt-ex__cta { font-size: 22px; } }
/* accordion "toggle" (prod Elementor toggle, whose icons render 967px tall on prod — D34): plain question rows */
.tlt-accordion--toggle .tlt-accordion__inner { max-width: 878px; gap: 40px; padding: 10px 16px 100px; }
.tlt-accordion--toggle .tlt-accordion__heading { width: 100%; max-width: none; margin: 0 !important; font-size: 50px; font-weight: 700; line-height: 1; letter-spacing: 0; text-align: center; }
.tlt-accordion--toggle .tlt-accordion__list { padding: 0; border-top: 1px solid var(--tlt-border); }
.tlt-accordion--toggle .tlt-acc { border-bottom: 1px solid var(--tlt-border); }
.tlt-accordion--toggle .tlt-acc__button { position: relative; width: 100%; padding: 20px 40px 20px 0; font-family: var(--tlt-font-body); font-size: 18px; font-weight: 400; line-height: 1.66; color: #333; }
.tlt-accordion--toggle .tlt-acc__button::after { top: 50%; height: 14px; transform: translateY(-50%); }
.tlt-accordion--toggle .tlt-acc__body p { margin: 0 0 20px; color: #333; }
@media (max-width: 767px) { .tlt-accordion--toggle .tlt-accordion__inner { padding: 90px 8px 80px; } .tlt-accordion--toggle .tlt-accordion__heading { font-size: 30px; text-align: start; } }
/* ---------- Section: text rows (text_rows.php; prod pricing page) ---------- */
.tlt-tr { padding: 40px 16px 40px; }
.tlt-tr__inner { display: flex; flex-direction: column; gap: 100px; max-width: 1140px; margin: 0 auto; }
.tlt-tr__row { display: flex; align-items: center; gap: 190px; }
.tlt-tr__title { flex: 0 0 400px; min-width: min-content; margin: 0; font-family: var(--tlt-font-title); font-size: 36px; font-weight: 700; line-height: 1; overflow-wrap: normal; color: var(--tlt-title); } /* prod breaks long words mid-word (D35) */
.tlt-tr__text { flex: 1 1 550px; color: #333; }
.tlt-tr__text p { margin: 0 0 18px; }
@media (max-width: 1024px) { .tlt-tr__row { flex-direction: column; align-items: stretch; gap: 0; } .tlt-tr__title, .tlt-tr__text { flex: none; } }
@media (max-width: 767px) { .tlt-tr__title { font-size: min(26px, 7vw); } .tlt-tr__inner { gap: 112px; } }

/* ---------- Legacy-design pages (prod "Svetainės saugumas ir sparta" etc.) — structure kept, prod defects fixed (D38):
   hero below the header (prod: under it), site fonts (prod: unloaded Roboto), unbroken step numbers, readable link colour. ---------- */
.tlt-sh { padding: 20px 10px 54px; margin-bottom: 130px; }
.tlt-sh__inner { display: flex; gap: 20px; max-width: 1120px; margin: 0 auto; }
.tlt-sh__text { flex: 0 0 436px; }
.tlt-sh__title { margin: 0 0 20px; font-family: var(--tlt-font-title); font-size: 56px; font-weight: 600; line-height: 1; color: var(--tlt-title); }
.tlt-sh__body { color: #333; }
.tlt-sh__body p { margin: 0 0 18px; }
.tlt-sh__more { margin: 66px 0 0; line-height: 1; }
.tlt-sh__link { font-size: 15px; color: var(--tlt-title); text-decoration: underline; }
.tlt-sh__media { flex: 0 1 550px; padding-top: 16px; }
.tlt-sh__img { display: block; width: 100%; height: 400px; object-fit: cover; }
.tlt-sh__stats { display: flex; gap: 24px; margin: 20px 0 0; padding: 0; list-style: none; }
.tlt-sh__stat { flex: 0 1 263px; }
.tlt-sh__num { margin: 0; padding-left: 12px; font-size: 69px; font-weight: 600; line-height: 1; color: var(--tlt-title); }
.tlt-sh__unit { margin-left: 1px; font-size: 18px; font-weight: 400; }
.tlt-sh__label { margin: 0; font-size: 18px; line-height: 1.66; color: #333; }
.tlt-steps { padding: 10px 10px 28px; }
.tlt-steps__inner { display: flex; gap: 60px; max-width: 1120px; margin: 0 auto; }
.tlt-steps__media { flex: 0 0 550px; margin: 0; }
.tlt-steps__img { display: block; width: 100%; height: 700px; object-fit: contain; }
.tlt-steps__caption { margin-top: 18px; font-size: 14px; font-style: italic; line-height: 1.66; text-align: center; color: var(--tlt-title); }
.tlt-steps__body { flex: 1; min-width: 0; }
.tlt-steps__badges { display: flex; justify-content: flex-end; gap: 24px; margin: 40px 0 0; }
.tlt-steps__badge { width: 60px; height: 60px; object-fit: contain; }
.tlt-steps__list { display: flex; flex-direction: column; gap: 78px; margin: 0; padding: 0; list-style: none; }
.tlt-steps__item { display: grid; grid-template-columns: auto 1fr; column-gap: 15px; }
.tlt-steps__item:nth-child(2) { margin-left: 55px; }
.tlt-steps__item:nth-child(3) { margin-left: 110px; }
.tlt-steps__num { grid-row: span 2; margin: 0; font-family: var(--tlt-font-title); font-size: 70px; font-weight: 700; line-height: 1; white-space: nowrap; color: var(--tlt-title); }
.tlt-steps__title { margin: 34px 0 54px; font-family: var(--tlt-font-title); font-size: 36px; font-weight: 700; line-height: 1; color: var(--tlt-title); }
.tlt-steps__text { max-width: 370px; margin: 0 0 0 52px; color: #333; }
/* Prod lets the step column overlap the illustration's empty right edge. */
@media (min-width: 1200px) { .tlt-steps__body { margin-left: -150px; } }
.tlt-tb { padding: 65px 10px 80px; }
.tlt-tb__inner { display: flex; justify-content: space-between; gap: 40px; max-width: 1120px; margin: 0 auto; }
.tlt-tb__text { max-width: 550px; }
.tlt-tb__h2 { margin: 0 0 20px; font-family: var(--tlt-font-title); font-size: 50px; font-weight: 700; line-height: 1; color: var(--tlt-title); }
.tlt-tb__sub { margin: 0 0 18px; font-size: 18px; font-weight: 600; line-height: 1; color: var(--tlt-title); }
.tlt-tb__body { max-width: 500px; color: #333; }
.tlt-tb__text > :last-child, .tlt-tb__body > :last-child { margin-bottom: 0; }
.tlt-tb__img { flex: 0 0 160px; width: 160px; height: 160px; margin-top: -50px; object-fit: contain; }
.tlt-ex__cta-sub { margin: -10px 0 -10px; font-size: 18px; font-weight: 600; line-height: 1; color: var(--tlt-title); }
.tlt-ex__cta-sub + .tlt-ex__cta-text { margin-bottom: 24px; }
.tlt-tr--faq .tlt-tr__inner { gap: 0; max-width: 1140px; }
.tlt-tr__label { margin: 0 0 34px; font-size: 18px; font-weight: 600; line-height: 1; text-align: center; }
.tlt-tr--faq .tlt-tr__row { padding: 40px 0; border-top: 1px solid var(--tlt-title); }
.tlt-tr--faq .tlt-tr__row:last-child { border-bottom: 1px solid var(--tlt-title); }
.tlt-tr--faq .tlt-tr__title { font-size: 24px; }
@media (max-width: 1024px) {
	.tlt-sh__inner, .tlt-steps__inner, .tlt-tb__inner { flex-direction: column; }
	.tlt-sh__text, .tlt-sh__media { flex: none; }
	.tlt-steps__inner { flex-direction: column-reverse; }
	.tlt-steps__media { flex: none; }
	.tlt-steps__img { height: 360px; }
	.tlt-steps__item:nth-child(n) { margin-left: 0; }
	.tlt-tb__img { margin-top: 0; }
}
@media (max-width: 767px) {
	.tlt-sh { margin-bottom: 0; padding: 20px 20px 38px; }
	.tlt-sh__title { font-size: 34px; }
	.tlt-sh__more { margin-top: 50px; }
	.tlt-sh__media { padding-top: 41px; }
	.tlt-sh__img { height: 525px; }
	.tlt-sh__stats { flex-direction: column; gap: 48px; margin-top: 30px; }
	.tlt-sh__stat { flex: none; max-width: 300px; }
	.tlt-sh__num { padding-left: 0; }
	.tlt-steps { padding: 10px 18px; }
	.tlt-steps__inner { gap: 70px; }
	.tlt-steps__list { gap: 18px; }
	.tlt-steps__item { display: block; }
	.tlt-steps__num { margin-bottom: 20px; font-size: 34px; }
	.tlt-steps__title { margin: 0 0 20px; font-size: 26px; }
	.tlt-steps__text { margin-left: 0; max-width: none; }
	.tlt-tb:not(.tlt-tb--large) .tlt-tb__img { display: none; }
	.tlt-testimonials--compact { padding-right: 18px; padding-left: 18px; }
	.tlt-tb__h2 { font-size: 30px; }
	.tlt-tr--faq .tlt-tr__title { font-size: 22px; }
	.tlt-tr__label { margin-bottom: 24px; text-align: start; }
}
/* Compact testimonials (prod legacy pages): small photo left, heading + plain quote right, no slider chrome. */
.tlt-testimonials--compact { margin-top: 0; padding: 10px 10px 50px; background: none; }
.tlt-testimonials--compact .tlt-testimonials__inner { display: flex; gap: 49px; max-width: 1120px; margin: 0 auto; }
.tlt-testimonials--compact .tlt-testimonials__media { position: static; order: -1; flex: 0 0 201px; width: 201px; padding-top: 10px; }
.tlt-testimonials--compact .tlt-testimonials__img { height: 140px; }
.tlt-testimonials--compact .tlt-testimonials__text { flex: 1; max-width: none; margin: 0; padding: 0; }
.tlt-testimonials--compact .tlt-testimonials__text > * { max-width: none; }
.tlt-testimonials--compact .tlt-testimonials__heading { margin: 0 0 20px !important; font-size: 50px; font-weight: 700; line-height: 1; letter-spacing: 0; }
.tlt-testimonials--compact .tlt-testimonials__quote { display: none; }
.tlt-testimonials--compact .tlt-testi__text { margin: 0 0 24px; font-size: 24px; line-height: 1.45; font-style: italic; }
.tlt-testimonials--compact .tlt-testi__profile { font-style: normal; }
.tlt-testimonials--compact .tlt-testi__name { margin: 0; font-family: inherit; font-size: 14px; font-weight: 700; line-height: 1.5; }
.tlt-testimonials--compact .tlt-testi__org { margin: 0; font-size: 14px; line-height: 1.5; }
@media (max-width: 1024px) { .tlt-testimonials--compact .tlt-testimonials__media { display: none; } }
@media (max-width: 767px) {
	.tlt-testimonials--compact .tlt-testimonials__heading { font-size: 30px; }
	.tlt-testimonials--compact .tlt-testi__text { font-size: 23px; line-height: 35px; }
}

/* text_block extras: phone link, large image with lead text (prod "Registracijos sistema renginiams"). */
.tlt-tb__phone { margin: 38px 0 0; }
.tlt-tb__tel { display: inline-flex; align-items: center; gap: 8px; font-size: 18px; color: var(--tlt-title); text-decoration: underline; }
.tlt-tb__tel-icon { display: inline-flex; flex: none; align-items: center; justify-content: center; width: 40px; height: 40px; border-radius: 50%; background: var(--tlt-title); color: var(--tlt-theme); }
.tlt-tb__tel-icon .tlt-icon { width: 16px; height: 16px; }
.tlt-tb--large .tlt-tb__inner { align-items: center; gap: 80px; }
.tlt-tb--large .tlt-tb__text { flex: 0 1 520px; max-width: 520px; }
.tlt-tb--large .tlt-tb__body { max-width: none; color: var(--tlt-title); }
.tlt-tb--large .tlt-tb__body p { margin: 0 0 40px; line-height: 1; }
.tlt-tb--large .tlt-tb__img { flex: 0 1 520px; width: 520px; height: 600px; margin-top: 0; object-fit: cover; }
.tlt-tr--faq.tlt-tr--big .tlt-tr__title { font-size: 36px; }
/* cover_hero: H1 over a full-width photo; the white fade keeps the dark title readable on any photo (prod: none). */
.tlt-ch { position: relative; display: flex; align-items: flex-end; min-height: calc(490px - var(--tlt-head-h, 0px)); padding: 0 10px; overflow: hidden; }
.tlt-ch__img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.tlt-ch--image::after { content: ""; position: absolute; inset: 0; background: linear-gradient(to top, rgb(255 255 255 / .85), rgb(255 255 255 / 0) 60%); }
.tlt-ch__inner { position: relative; z-index: 1; width: 100%; max-width: 1120px; margin: 0 auto; }
.tlt-ch__title { margin: 0; font-family: var(--tlt-font-title); font-size: 70px; font-weight: 600; line-height: 1; color: var(--tlt-title); }
/* features: intro column + three benefits. Prod's 50px titles broke words mid-word in 263px columns; 30px keeps words whole (D38). */
.tlt-feat { padding: 0 10px; }
.tlt-feat__inner { display: grid; grid-template-columns: 231px 1fr; gap: 40px; max-width: 1140px; margin: 0 auto; }
.tlt-feat__intro { margin: 0; color: #333; }
.tlt-feat__list { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 40px; margin: 0; padding: 0; list-style: none; }
.tlt-feat__icon { display: block; width: 63px; height: 63px; margin-bottom: 19px; object-fit: contain; }
.tlt-feat__title { margin: 0 0 4px; font-family: var(--tlt-font-title); font-size: 30px; font-weight: 700; line-height: 1.3; overflow-wrap: normal; color: var(--tlt-title); }
.tlt-feat__text { margin: 0; color: var(--tlt-title); }
@media (max-width: 1024px) {
	.tlt-tb--large .tlt-tb__inner { flex-direction: column-reverse; align-items: stretch; gap: 50px; }
	.tlt-tb--large .tlt-tb__text, .tlt-tb--large .tlt-tb__img { flex: none; width: 100%; max-width: none; }
	.tlt-tb--large .tlt-tb__img { height: 360px; }
	.tlt-feat__inner { grid-template-columns: 1fr; gap: 50px; }
}
@media (max-width: 767px) {
	.tlt-tr--faq.tlt-tr--big .tlt-tr__title { font-size: 26px; }
	.tlt-ch { min-height: calc(260px - var(--tlt-head-h, 0px)); padding: 0 16px; }
	.tlt-ch__title { font-size: 34px; }
	.tlt-feat { padding: 0 16px; }
	.tlt-feat__list { gap: 32px; }
	.tlt-feat__icon { width: 57px; height: 57px; }
}
/* Logo-shaped image mask (prod Elementor "custom mask" Mask-logo-1.png). */
.tlt-mask { -webkit-mask: url(../img/mask-logo.png) center / contain no-repeat; mask: url(../img/mask-logo.png) center / contain no-repeat; }
.tlt-sh__img.tlt-mask { -webkit-mask-position: top center; mask-position: top center; }
@media (max-width: 767px) {
	.tlt-sh__img.tlt-mask { -webkit-mask-size: cover; mask-size: cover; -webkit-mask-position: top right; mask-position: top right; }
	.tlt-tb__img.tlt-mask { -webkit-mask-size: cover; mask-size: cover; -webkit-mask-position: top left; mask-position: top left; }
}
/* cover_hero lead; rich_text (classic typography; "compact" = prod glossary sizes, terms as real headings instead of prod's h6→p). */
.tlt-ch__lead { margin: 20px 0; max-width: 870px; font-size: 18px; line-height: 1.66; color: var(--tlt-title); }
.tlt-rt { padding: 10px 10px 140px; }
.tlt-rt__inner { max-width: 1140px; margin: 0 auto; }
.tlt-rt a { color: var(--tlt-title); text-decoration: underline; }
.tlt-rt--compact .tlt-rt__inner { font-size: 16px; line-height: 1.5; color: #333; }
.tlt-rt--compact .tlt-rt__inner h2 { margin: 40px 0 15px; font-family: var(--tlt-font-title); font-size: 20px; font-weight: 700; line-height: 1.4; }
.tlt-rt--compact .tlt-rt__inner > h2:first-child { margin-top: 0; }
.tlt-rt--compact .tlt-rt__inner h3 { margin: 24px 0 8px; font-family: var(--tlt-font-body, inherit); font-size: 16px; font-weight: 600; line-height: 1.5; }
.tlt-rt--compact .tlt-rt__inner :is(ul, ol) { margin: 0 0 8px; }
@media (max-width: 767px) { .tlt-rt { padding: 10px 16px 80px; } .tlt-rt--compact .tlt-rt__inner h2 { font-size: 18px; } }

/* Campaign landing (template-canvas.php): logo bar only. */
.tlt-cv__bar { max-width: 1120px; margin: 0 auto; padding: 10px 10px 0; }
.tlt-cv__logo { display: inline-block; }
.tlt-cv__logo-img { display: block; width: 150px; height: auto; }
/* stats_hero with an icon or drawing instead of a photo */
.tlt-sh--icon .tlt-sh__media { display: flex; flex-direction: column; justify-content: center; align-items: center; }
.tlt-sh--icon .tlt-sh__img { width: auto; max-width: 100%; height: auto; max-height: 350px; object-fit: contain; }
/* form_embed */
.tlt-fe { padding: 70px 10px 140px; }
.tlt-fe__inner { display: flex; align-items: center; gap: 70px; max-width: 1120px; margin: 0 auto; }
.tlt-fe__main { flex: 0 1 548px; min-width: 0; }
.tlt-fe__heading { margin: 0 0 20px; font-family: var(--tlt-font-title); font-size: 50px; font-weight: 700; line-height: 1; color: var(--tlt-title); }
.tlt-fe__text { margin: 0 0 40px; color: #333; }
.tlt-fe__form { padding: 20px; background: var(--tlt-smoke); }
.tlt-fe__dev { margin: 0; padding: 40px 24px; border: 2px dashed var(--tlt-border); font-size: 16px; line-height: 1.5; text-align: center; color: var(--tlt-title); }
.tlt-fe__proof { flex: 1; margin: 0; }
.tlt-fe__stars { margin: 0 0 24px; font-size: 22px; letter-spacing: 8px; color: var(--tlt-title); }
.tlt-fe__quote { margin: 0 0 24px; padding: 0; border: 0; font-size: 24px; font-style: italic; line-height: 1.45; color: var(--tlt-title); }
.tlt-fe__quote p { margin: 0; }
.tlt-fe__by { display: flex; flex-direction: column; font-size: 14px; line-height: 1.5; color: var(--tlt-title); }
.tlt-fe__name { font-weight: 700; }
@media (max-width: 1024px) { .tlt-fe__inner { flex-direction: column; align-items: stretch; } .tlt-fe__main { flex: none; } }
@media (max-width: 767px) { .tlt-fe { padding: 60px 16px 80px; } .tlt-fe__heading { font-size: 30px; } .tlt-fe__quote { font-size: 20px; } .tlt-cv__bar { padding: 10px 16px 0; } }
/* link_cards (prod "Panašūs pasiūlymai"; prod colours #6EC1E4 / #61CE70 on white fail contrast → title colour, D38) */
.tlt-lc { padding: 10px 10px 80px; }
.tlt-lc__inner { max-width: 1140px; margin: 0 auto; }
.tlt-lc__heading { margin: 0 0 50px; font-family: var(--tlt-font-title); font-size: 50px; font-weight: 700; line-height: 1; color: var(--tlt-title); }
.tlt-lc__list { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 40px; margin: 0; padding: 0; list-style: none; }
.tlt-lc__title { margin: 0 0 28px; font-family: var(--tlt-font-title); font-size: 20px; font-weight: 700; line-height: 1; color: var(--tlt-title); }
.tlt-lc__more { margin: 0; }
.tlt-lc__link { font-size: 16px; color: var(--tlt-title); text-decoration: underline; }
/* stats_hero icon variant: wider text column, smaller title (h1 restored on campaign pages), icon hidden on phones like prod */
@media (min-width: 1025px) { .tlt-sh--icon .tlt-sh__text { flex: 0 1 620px; } }
.tlt-sh--icon .tlt-sh__title { font-size: 50px; }
.tlt-sh--icon .tlt-sh__img { max-height: 220px; }
@media (max-width: 767px) { .tlt-lc__heading { font-size: 30px; } .tlt-sh--icon .tlt-sh__title { font-size: 30px; } .tlt-sh--icon .tlt-sh__img { display: none; } .tlt-sh--icon .tlt-sh__media { padding-top: 0; } }
/* steps with small numbers (prod campaign landings): 15px number left of a 36px title, text indented under it */
.tlt-steps--small .tlt-steps__item { column-gap: 20px; }
.tlt-steps--small .tlt-steps__num { grid-row: auto; padding-top: 8px; font-family: var(--tlt-font-body); font-size: 15px; font-weight: 400; }
.tlt-steps--small .tlt-steps__title { margin: 0 0 20px; }
.tlt-steps--small .tlt-steps__text { grid-column: 2; margin-left: 110px; font-size: 15px; line-height: 1.66; }
@media (max-width: 767px) { .tlt-steps--small .tlt-steps__num { padding-top: 0; margin-bottom: 10px; } .tlt-steps--small .tlt-steps__text { margin-left: 0; font-size: 16px; } }
.tlt-logos--strip .tlt-logos__grid { gap: 8px; padding-bottom: 0; }
.tlt-logos--strip .tlt-logos__item, .tlt-logos--strip .tlt-logos__item:nth-child(n) { flex: 0 0 238px; }
.tlt-logos--strip .tlt-logos__cell { height: 60px; }
.tlt-logos--strip .tlt-logos__img { object-fit: contain; }
@media (max-width: 767px) { .tlt-logos--strip .tlt-logos__item, .tlt-logos--strip .tlt-logos__item:nth-child(n) { flex-basis: 180px; } .tlt-logos--strip .tlt-logos__cell { height: 60px; } }
.tlt-steps--small .tlt-steps__inner { gap: 120px; }
.tlt-steps--small .tlt-steps__media { flex-basis: 342px; }
.tlt-steps--small .tlt-steps__img { height: auto; max-height: 700px; }
@media (min-width: 1200px) { .tlt-steps--small .tlt-steps__body { margin-left: 0; } }
@media (max-width: 1024px) { .tlt-steps--small .tlt-steps__inner { gap: 60px; } .tlt-steps--small .tlt-steps__media { flex-basis: auto; } }
.tlt-fe__by { font-style: normal; }
.tlt-hub__faq-intro { margin: -24px 0 8px; }
.tlt-hub__faq-intro p { margin: 0; }
/* phones: breadcrumbs are secondary navigation, smaller than body text */
@media (max-width: 575px) { .tlt-crumbs, .tlt-ph .tlt-crumbs, .tlt-th .tlt-crumbs, .tlt-ih .tlt-crumbs { font-size: 13px; } }
/* logos strip (hero + logos section "ticker" style): right to left; stops on hover, focus and tap (focusable viewport) */
.tlt-logos--ticker { padding: 100px 0; }
.tlt-ticker { display: flex; align-items: center; gap: 16px; max-width: 1320px; margin: 0 auto; padding: 0 12px; }
.tlt-ticker__viewport { flex: 1 1 auto; min-width: 0; overflow-x: auto; -webkit-mask-image: linear-gradient(90deg, transparent, #000 5%, #000 95%, transparent); mask-image: linear-gradient(90deg, transparent, #000 5%, #000 95%, transparent); }
.tlt-ticker__viewport:focus-visible { outline: 2px solid var(--tlt-title); outline-offset: 4px; }
/* without JS there is no pause button, so the strip only moves when JS runs (WCAG 2.2.2); otherwise it is a row scrolled by hand */
.tlt-ticker__lane { display: flex; width: max-content; }
.tlt-ticker__track[aria-hidden="true"] { display: none; }
.tlt-js .tlt-ticker__viewport { overflow: hidden; }
.tlt-js .tlt-ticker__lane { animation: tlt-ticker var(--tlt-ticker-dur, 60s) linear infinite; }
.tlt-js .tlt-ticker__track[aria-hidden="true"] { display: flex; }
.tlt-ticker__track { display: flex; align-items: center; gap: 112px; margin: 0; padding: 8px 112px 8px 0; list-style: none; }
.tlt-ticker__track li { flex: none; }
.tlt-ticker__track a { display: block; }
.tlt-ticker__img { display: block; width: auto; max-width: 240px; height: calc(var(--tlt-logo-h, 64px) * var(--k, 1)); object-fit: contain; filter: grayscale(1); opacity: .8; transition: filter .3s, opacity .3s; }
/* the logo under the pointer shows its own colours (the strip is paused while hovered) */
.tlt-ticker__img:hover, .tlt-ticker__track a:is(:hover, :focus-visible) .tlt-ticker__img { filter: none; opacity: 1; }
@keyframes tlt-ticker { to { transform: translateX(-50%); } }
/* only the logo area pauses on hover/focus: the play/pause button itself must take effect at once */
.tlt-ticker__viewport:hover .tlt-ticker__lane, .tlt-ticker__viewport:focus-within .tlt-ticker__lane { animation-play-state: paused; }
.tlt-js .tlt-ticker.is-paused .tlt-ticker__lane { animation: none; }
.tlt-js .tlt-ticker.is-paused .tlt-ticker__viewport { overflow-x: auto; }
.tlt-js .tlt-ticker.is-paused .tlt-ticker__track[aria-hidden="true"] { display: none; }
@media (prefers-reduced-motion: reduce) {
	.tlt-js .tlt-ticker__lane { animation: none; }
	.tlt-js .tlt-ticker__track[aria-hidden="true"] { display: none; }
	.tlt-js .tlt-ticker__viewport { overflow-x: auto; }
}
@media (max-width: 767px) {
	.tlt-logos--ticker { padding: 64px 0; }
	.tlt-ticker { padding: 0 16px; gap: 10px; }
	.tlt-ticker { --tlt-logo-h: 48px; }
	.tlt-ticker__track { gap: 64px; padding-right: 64px; }
	.tlt-ticker__img { max-width: 170px; }
}
@media (max-width: 767px) { .tlt-hero__trust .tlt-ticker { padding: 0; } }
/* Phones: type hierarchy H1 (34) > counter numbers (26–32) > labels (15); the four facts read as one 2×2 group instead of a full screen.
   "Pasirinkite įstaigos tipą" scales with the viewport so it stays on one line (13.9 em wide: fits ≤ 25 px @390, 23 @360, 20 @320). */
@media (max-width: 767px) {
	.tlt-counters .tlt-cols__inner { display: grid; grid-template-columns: 1fr 1fr; gap: 28px 16px; padding: 0 16px; }
	.tlt-counters .tlt-cols__col { padding: 0; }
	.tlt-counters .tlt-counter__number { font-size: clamp(26px, 8.2vw, 34px); line-height: 1.1; margin: 0 0 6px !important; }
	.tlt-counters .tlt-counter__label { font-size: 15px; line-height: 1.35; }
	.tlt-process__side > .tlt-process__heading { font-size: clamp(28px, 8.7vw, 34px); letter-spacing: -1px; }
}
/* ---------- Portfolio, "projects" layout (showcase style "projects") ---------- */
/* Spacing of every portfolio grid = the home page's (sections 150 px / 104 px on phones, Tomas 2026-11-05) */
.tlt-projects { padding: 150px 0 60px; }
.tlt-projects__inner { max-width: 1320px; margin: 0 auto; padding: 0 12px; }
.tlt-projects__head { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; margin-bottom: 60px; }
.tlt-projects__heading { margin: 0; font-family: var(--tlt-font-title); font-size: 60px; font-weight: 600; line-height: 1.16; letter-spacing: -1.8px; color: var(--tlt-title); }
.tlt-projects__more { margin: 0 0 10px; flex: none; }
.tlt-projects__grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); align-items: start; column-gap: 24px; margin: 0; padding: 0; list-style: none; }
.tlt-project { position: relative; margin-bottom: 60px; }
.tlt-project:nth-child(4n+1) { grid-column: 1 / 7; }
.tlt-project:nth-child(4n+2) { grid-column: 8 / 13; }
.tlt-project:nth-child(4n+3) { grid-column: 1 / 6; }
.tlt-project:nth-child(4n+4) { grid-column: 7 / 13; }
.tlt-project[hidden] { display: none; }
.tlt-projects__reveal { margin: 0; text-align: center; }
.tlt-projects__reveal [hidden] { display: none; } /* .tlt-btn sets display: inline-block, which would beat the attribute */
.tlt-project__media { position: relative; overflow: hidden; border-radius: 8px; aspect-ratio: 1.3; background: #f2f2f2; box-shadow: 0 0 0 1px rgba(10, 12, 0, .1); }
/* many screenshots are white sites: the hairline keeps the card edge visible on the white page */
.tlt-project--narrow .tlt-project__media { aspect-ratio: 1.01; }
/* screenshots are full-page captures: show the top of the client's site */
.tlt-project__img { position: absolute; inset: 0; display: block; width: 100%; height: 100%; object-fit: cover; object-position: top center; transition: transform .5s, opacity .5s, filter .5s; }
.tlt-project__img--in { z-index: 1; transform: translateX(50%) scaleX(2); opacity: 0; filter: blur(10px); }
.tlt-project:is(:hover, :focus-within) .tlt-project__img--in { transform: none; opacity: 1; filter: none; }
.tlt-project:is(:hover, :focus-within) .tlt-project__img--out { transform: translateX(-50%) scaleX(2); opacity: 0; filter: blur(10px); }
.tlt-project__cat { margin: 0 0 6px; font-size: 14px; font-weight: 500; letter-spacing: .04em; line-height: 1.5; text-transform: uppercase; }
.tlt-project__title { margin: 0; font-family: var(--tlt-font-title); font-size: 24px; font-weight: 600; line-height: 1.3; }
.tlt-project__link { color: inherit; text-decoration: none; }
/* the title link covers the whole card (one link per project) */
.tlt-project__link::after { content: ""; position: absolute; inset: 0; z-index: 2; }
/* focus ring drawn around the screenshot where :has() exists; elsewhere the link keeps its own outline */
@supports selector(:has(*)) {
	.tlt-project__link:focus-visible { outline: none; }
	.tlt-project:has(.tlt-project__link:focus-visible) .tlt-project__media { outline: 3px solid var(--tlt-title); outline-offset: 4px; }
}
/* Caption over the screenshot on a dark overlay: with a mouse it appears on hover/focus only; on touch screens (no hover)
   it stays visible, otherwise the project name would never show there. */
.tlt-project__media::after { content: ""; position: absolute; inset: 0; z-index: 2; background: linear-gradient(180deg, rgba(10, 12, 0, .5) 0%, rgba(10, 12, 0, .65) 50%, rgba(10, 12, 0, .9) 100%); transition: opacity .4s; }
.tlt-project__body { position: absolute; left: 0; right: 0; bottom: 0; z-index: 3; padding: 32px; pointer-events: none; transition: opacity .4s, transform .4s; }
.tlt-project__link { pointer-events: auto; }
.tlt-project__cat { color: rgba(255, 255, 255, .82); }
.tlt-project__title { color: #fff; }
.tlt-project__link span { background: linear-gradient(var(--tlt-theme), var(--tlt-theme)) 0 100% / 0 3px no-repeat; padding-bottom: 2px; transition: background-size .4s; }
.tlt-project:is(:hover, :focus-within) .tlt-project__link span { background-size: 100% 3px; }
@media (hover: hover) and (pointer: fine) {
	.tlt-project__media::after { opacity: 0; }
	.tlt-project__body { opacity: 0; transform: translateY(12px); }
	.tlt-project:is(:hover, :focus-within) .tlt-project__media::after { opacity: 1; }
	.tlt-project:is(:hover, :focus-within) .tlt-project__body { opacity: 1; transform: none; }
}
@media (hover: none), (pointer: coarse) {
	/* touch: the shade sits behind the caption itself, so it always covers the text however many lines the title takes */
	.tlt-project__media::after { content: none; }
	.tlt-projects .tlt-project__body { padding-top: 56px; background: linear-gradient(180deg, rgba(10, 12, 0, 0) 0, rgba(10, 12, 0, .88) 48px, rgba(10, 12, 0, .92) 100%); border-radius: 0 0 8px 8px; }
}
@media (prefers-reduced-motion: reduce) {
	.tlt-project__img, .tlt-project__link span, .tlt-project__body, .tlt-project__media::after { transition: none; }
	.tlt-project__body { transform: none !important; }
	.tlt-project__img--in, .tlt-project:is(:hover, :focus-within) .tlt-project__img--out { transform: none; filter: none; }
}
@media (max-width: 1199px) {
	.tlt-project:nth-child(n) { grid-column: span 6; }
	.tlt-project--narrow .tlt-project__media { aspect-ratio: 1.3; }
}
@media (max-width: 1024px) { .tlt-projects__heading { font-size: 45px; } }
@media (max-width: 767px) {
	.tlt-projects { padding: 104px 0 24px; }
	.tlt-projects__inner { padding: 0 12px; }
	.tlt-projects__head { flex-direction: column; align-items: flex-start; gap: 12px; margin-bottom: 32px; }
	.tlt-projects__heading { font-size: clamp(28px, 8.7vw, 34px); letter-spacing: -1px; }
	.tlt-projects__grid { display: block; }
	.tlt-project { margin-bottom: 40px; }
	.tlt-project__body { padding: 20px; }
}
/* ---------- Process section: pinned left column, sector cards stacking like a deck ---------- */
/* Each card sticks a little lower than the previous one, so the stack shows every card's edge; later cards cover earlier ones. */
/* the [tobalt_service_categories] row prints an inline overflow:hidden, which disables sticky children (its side margins are 0 inline, so nothing needs clipping).
   Only on screens tall enough for a whole card under the header: a pinned card taller than the space left would hide its own link. */
@media (min-height: 600px) {
	.tlt-process__side .row:has(> [class*="col-"] > .feature-card) { overflow: visible !important; }
	.tlt-process__side .row > [class*="col-"]:has(> .feature-card) { position: sticky; top: calc(var(--tlt-sticky-h, 0px) + 24px + var(--tlt-stack-i, 0) * 14px); }
	.tlt-process__side .row > [class*="col-"]:has(> .feature-card):focus-within { z-index: 5; }
}
.tlt-process__side .row > [class*="col-"]:nth-child(2) { --tlt-stack-i: 1; }
.tlt-process__side .row > [class*="col-"]:nth-child(3) { --tlt-stack-i: 2; }
.tlt-process__side .row > [class*="col-"]:nth-child(4) { --tlt-stack-i: 3; }
.tlt-process__side .row > [class*="col-"]:nth-child(5) { --tlt-stack-i: 4; }
.tlt-process__side .row > [class*="col-"]:nth-child(6) { --tlt-stack-i: 5; }
.tlt-process__side .row > [class*="col-"]:nth-child(7) { --tlt-stack-i: 6; }
.tlt-process__side .row > [class*="col-"]:nth-child(8) { --tlt-stack-i: 7; }
.tlt-process__side .row > [class*="col-"]:nth-child(9) { --tlt-stack-i: 8; }
.tlt-process__side .row > [class*="col-"]:nth-child(10) { --tlt-stack-i: 9; }
.tlt-process__side .row > [class*="col-"]:nth-child(11) { --tlt-stack-i: 10; }
.tlt-process__side .row > [class*="col-"]:nth-child(n+12) { --tlt-stack-i: 11; }
.tlt-process__side .feature-card { box-shadow: 0 -10px 24px -14px rgba(10, 12, 0, .35); }
/* left column ("Darbo eiga", 767 px) stays in place while the cards scroll — only where it fits between the sticky header and the
   bottom "Pasirinkti įstaigą" bar (103 + 24 + 767 + 48 ≈ 942 px); a pinned element cannot be scrolled, so on shorter screens it would hide its last step. */
@media (min-width: 1025px) and (min-height: 950px) {
	.tlt-process__main { position: sticky; top: calc(var(--tlt-sticky-h, 0px) + 24px); align-self: flex-start; }
}
@media (max-width: 767px) and (min-height: 600px) {
	.tlt-process__side .row > [class*="col-"]:has(> .feature-card) { top: calc(var(--tlt-sticky-h, 0px) + 12px + var(--tlt-stack-i, 0) * 10px); }
}
/* ---------- Testimonials, "bento" layout: quote slider with photo (7/12) + technologies card (5/12) ---------- */
.tlt-bento { padding: 0; background: #fff; }
.tlt-bento__inner { max-width: 1320px; margin: 0 auto; padding: 0 12px; }
.tlt-bento__heading { margin: 0 0 56px; font-family: var(--tlt-font-title); font-size: 60px; font-weight: 600; line-height: 1.16; letter-spacing: -1.8px; text-align: center; color: var(--tlt-title); }
.tlt-bento__grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 48px; }
.tlt-bento__card { position: relative; margin: 0; padding: 56px 48px; border-radius: 48px; overflow: hidden; display: flex; flex-direction: column; justify-content: center; min-height: 520px; }
.tlt-bento__card--slider { grid-column: span 7; }
.tlt-bento__card--dark { grid-column: span 5; background: var(--tlt-title); color: #fff; justify-content: flex-start; }
.tlt-bento__grid > .tlt-bento__card:only-child { grid-column: 1 / -1; }
.tlt-bento__card--lime { background: var(--tlt-theme); color: var(--tlt-title); }
.tlt-bento__mark { display: inline-grid; place-items: center; width: 64px; height: 64px; margin-bottom: 28px; border-radius: 50%; background: var(--tlt-title); color: var(--tlt-theme); }
/* every quote sits in the same cell: the card keeps the tallest quote's height, so switching does not move the page */
.tlt-bento__slides { display: grid; }
.tlt-bento__slide { margin: 0; }
.tlt-js .tlt-bento__slide { grid-area: 1 / 1; }
html:not(.tlt-js) .tlt-bento__slide + .tlt-bento__slide { margin-top: 32px; }
.tlt-js .tlt-bento .tlt-testi:not(.is-current) { display: block; visibility: hidden; }
.tlt-bento__quote { margin: 0; padding: 0; border: 0; }
.tlt-bento__quote p { margin: 0; font-family: var(--tlt-font-title); font-size: 26px; font-weight: 500; line-height: 1.4; overflow-wrap: normal; word-break: normal; hyphens: auto; }
.tlt-bento__by { margin-top: 28px; font-size: 16px; line-height: 1.5; }
.tlt-bento__name { font-weight: 600; }
.tlt-bento__org { opacity: .8; }
.tlt-bento__dots { position: static; display: flex; gap: 0; margin: 28px 0 0 -7px; }
.tlt-bento__tech-heading { margin: 0 0 32px; font-family: var(--tlt-font-title); font-size: 40px; font-weight: 500; line-height: 1.2; color: #fff; }
.tlt-bento__tech { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 14px; margin: auto 0; padding: 0; list-style: none; }
.tlt-bento__chip { display: grid; place-items: center; border-radius: 50%; background: #fff; }
.tlt-bento__chip--0 { width: 96px; height: 96px; }
.tlt-bento__chip--1 { width: 78px; height: 78px; }
.tlt-bento__chip--2 { width: 86px; height: 86px; }
.tlt-bento__chip img { display: block; width: 60%; height: 44%; object-fit: contain; }
/* thin wide wordmark: needs the circle's width to read */
.tlt-bento__chip img[src$="/woocommerce.svg"] { width: 80%; height: 80%; }
.tlt-bento__chip-text { font-family: var(--tlt-font-title); font-size: 20px; font-weight: 700; letter-spacing: .02em; color: var(--tlt-title); }
.tlt-bento__chip-text abbr { text-decoration: none; }
.tlt-bento__card--photo { flex-direction: row; align-items: stretch; gap: 40px; padding: 0 48px 0 0; }
.tlt-bento__photo { flex: 0 0 40%; position: relative; }
.tlt-bento__photo img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.tlt-bento__text { display: flex; flex-direction: column; justify-content: center; flex: 1 1 auto; min-width: 0; margin: 0; padding: 56px 0; }
.tlt-bento__card--slider:not(.tlt-bento__card--photo) .tlt-bento__text { padding: 0; }
@media (max-width: 1199px) {
	.tlt-bento__grid { gap: 24px; }
	.tlt-bento__card--slider, .tlt-bento__card--dark { grid-column: 1 / -1; min-height: 0; }
	.tlt-bento__card { padding: 44px 40px; border-radius: 36px; }
	.tlt-bento__card--photo { padding: 0 40px 0 0; }
	.tlt-bento__tech { margin: 0; justify-content: flex-start; }
}
@media (max-width: 1024px) { .tlt-bento__heading { font-size: 45px; } .tlt-bento__tech-heading { font-size: 28px; } }
@media (max-width: 767px) {
	/* 12 px + the 4 px transparent section border on phones (site.css D7) = 16 px gutter */
	.tlt-bento__inner { padding: 0 12px; }
	.tlt-bento__heading { margin-bottom: 32px; font-size: clamp(28px, 8.7vw, 34px); letter-spacing: -1px; }
	.tlt-bento__grid { gap: 16px; }
	.tlt-bento__card { padding: 32px 24px; border-radius: 28px; }
	.tlt-bento__card--photo { flex-direction: column; padding: 0; gap: 0; }
	.tlt-bento__photo { flex: none; aspect-ratio: 16 / 10; }
	.tlt-bento__text { padding: 28px 24px 32px; }
	.tlt-bento__quote p { font-size: 20px; }
	.tlt-bento__tech-heading { font-size: 24px; margin-bottom: 24px; }
	.tlt-bento__tech { gap: 12px; justify-content: center; }
	.tlt-bento__chip--0 { width: 84px; height: 84px; }
	.tlt-bento__chip--1 { width: 68px; height: 68px; }
	.tlt-bento__chip--2 { width: 76px; height: 76px; }
	.tlt-bento__mark { width: 52px; height: 52px; margin-bottom: 20px; }
}
/* ---------- Tools, "split" layout: intro on the left, card rail running to the screen edge on the right ---------- */
.tlt-tools--split { overflow: hidden; }
.tlt-tools--split .tlt-tools__inner { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); align-items: center; gap: 48px; max-width: 1320px; margin: 0 auto; padding: 0 12px; }
.tlt-tools--split .tlt-tools__heading { margin: 0 !important; font-size: 60px; line-height: 1.16; letter-spacing: -1.8px; }
.tlt-tools--split .tlt-tools__lead { margin: 28px 0 40px; font-size: 20px; line-height: 1.6; color: var(--tlt-title); }
.tlt-tools--split .tlt-tools__btn { align-self: flex-start; }
.tlt-tools--split .tlt-tools__intro { display: flex; flex-direction: column; }
/* the rail ends at the page edge, not the content edge: --tlt-cw is the page width without the scrollbar (site.js) */
.tlt-tools--split .tlt-tools__rail { min-width: 0; margin-right: calc(-1 * max(12px, (var(--tlt-cw, 100vw) - 1320px) / 2 + 12px)); }
.tlt-tools--split .tts-slider { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; margin: 0; }
.tlt-tools--split .tts-track { flex: 1 0 100%; padding: 4px 0; }
.tlt-tools--split .tts-track > .tts-slide { flex: 0 0 385px; padding: 0 30px 0 0; }
.tlt-tools--split .tts-slider .slick-arrow { position: static; order: 1; }
.tlt-tools--split .tts-slider .slick-dots { display: flex; order: 3; margin: 0 0 0 12px; }
/* cards: icon circle on the left, text on the right; lime on hover. Plain flow + an absolutely placed icon (no display:contents inside the link). */
.tlt-tools--split .tts-card { display: flex !important; flex-direction: column; justify-content: flex-start; min-height: 320px; padding: 30px 30px 40px 125px; border: 1px solid rgba(10, 12, 0, .12) !important; border-radius: 15px; background: #fff; box-shadow: none; transition: background-color .3s, border-color .3s; }
.tlt-tools--split .tts-card:hover, .tlt-tools--split .tts-card:focus-visible { transform: none; box-shadow: none; background: var(--tlt-theme); border-color: var(--tlt-theme) !important; }
.tlt-tools--split .tts-card__header { display: block; margin: 0 0 14px; }
.tlt-tools--split .tts-card__icon { position: absolute; top: 30px; left: 30px; display: grid; place-items: center; width: 70px; height: 70px; border-radius: 50%; background: var(--tlt-smoke); font-size: 26px; transition: background-color .3s; }
.tlt-tools--split .tts-card:hover .tts-card__icon, .tlt-tools--split .tts-card:focus-visible .tts-card__icon { background: #fff; }
.tlt-tools--split .tts-card__badge { display: inline-block; }
.tlt-tools--split .tts-card__body { flex: 1 1 auto; }
/* full names, no 2-line clamp (the base card clamps; at this width names need up to 3 lines) */
.tlt-tools--split .tts-card__title { display: block; -webkit-line-clamp: unset; overflow: visible; margin: 0 0 14px; font-size: 24px; font-weight: 600; line-height: 1.3; hyphens: auto; }
.tlt-tools--split .tts-card__tagline { display: block; -webkit-line-clamp: unset; overflow: visible; margin: 0 0 24px; font-size: 17px; line-height: 1.6; color: rgba(10, 12, 0, .72); hyphens: auto; }
.tlt-tools--split .tts-card__footer { border: 0; padding: 0; margin: 0; }
.tlt-tools--split .tts-card__link-text { font-size: 16px; font-weight: 700; color: var(--tlt-title); }
@media (max-width: 1199px) {
	.tlt-tools--split .tlt-tools__inner { grid-template-columns: minmax(0, 1fr); gap: 40px; }
	.tlt-tools--split .tlt-tools__lead { margin: 20px 0 28px; }
}
@media (max-width: 1024px) { .tlt-tools--split .tlt-tools__heading { font-size: 45px; } }
@media (max-width: 767px) {
	/* 12 px + the 4 px transparent section border on phones (site.css D7) = 16 px gutter */
	.tlt-tools--split .tlt-tools__inner { margin: 0 auto; padding: 0 12px; }
	.tlt-tools--split .tlt-tools__rail { margin-right: -16px; }
	.tlt-tools--split .tlt-tools__heading { font-size: clamp(28px, 8.7vw, 34px); letter-spacing: -1px; }
	.tlt-tools--split .tlt-tools__lead { font-size: 17px; }
	.tlt-tools--split .tts-track > .tts-slide { flex: 0 0 86%; padding-right: 16px; }
	/* phones: icon above the text, so long Lithuanian words get the card's full width */
	.tlt-tools--split .tts-card { min-height: 0; padding: 98px 22px 28px; }
	.tlt-tools--split .tts-card__icon { top: 24px; left: 22px; width: 56px; height: 56px; font-size: 22px; }
}

/* H3 card titles, tablet / phone (type scale above): last in the file so the base rules of each component cannot override them */
@media (max-width: 1199px) { .feature-card-title, .tlt-card__title, .tlt-project__title, .tlt-post__title, .tlt-tools--split .tts-card__title { font-size: 22px; } }
@media (max-width: 767px) { .feature-card-title, .tlt-card__title, .tlt-project__title, .tlt-post__title, .tlt-tools--split .tts-card__title { font-size: 20px; } }
