/*
 * Tobalt LT — site design (tobalt.lt look without Elementor).
 * Author: Tobalt — https://tobalt.lt
 * Values measured on prod (frisk + Elementor) 2026-11-02; breakpoints follow prod: 1500 / 1199 / 991 / 767 / 575 / 400.
 */

/* ---------- Fonts (self-hosted copies of the files prod loads from Google Fonts) ---------- */
@font-face { font-family: "Unbounded"; font-style: normal; font-weight: 400 700; font-display: swap; src: url(../fonts/unbounded-latin-ext.woff2) format("woff2"); unicode-range: U+0100-02AF, U+0304, U+0308, U+0329, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: "Unbounded"; font-style: normal; font-weight: 400 700; font-display: swap; src: url(../fonts/unbounded-latin.woff2) format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Poppins"; font-style: normal; font-weight: 300; font-display: swap; src: url(../fonts/poppins-300-latin-ext.woff2) format("woff2"); unicode-range: U+0100-02AF, U+0304, U+0308, U+0329, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: "Poppins"; font-style: normal; font-weight: 300; font-display: swap; src: url(../fonts/poppins-300-latin.woff2) format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Poppins"; font-style: normal; font-weight: 400; font-display: swap; src: url(../fonts/poppins-400-latin-ext.woff2) format("woff2"); unicode-range: U+0100-02AF, U+0304, U+0308, U+0329, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: "Poppins"; font-style: normal; font-weight: 400; font-display: swap; src: url(../fonts/poppins-400-latin.woff2) format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Poppins"; font-style: normal; font-weight: 500; font-display: swap; src: url(../fonts/poppins-500-latin-ext.woff2) format("woff2"); unicode-range: U+0100-02AF, U+0304, U+0308, U+0329, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: "Poppins"; font-style: normal; font-weight: 500; font-display: swap; src: url(../fonts/poppins-500-latin.woff2) format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Poppins"; font-style: normal; font-weight: 600; font-display: swap; src: url(../fonts/poppins-600-latin-ext.woff2) format("woff2"); unicode-range: U+0100-02AF, U+0304, U+0308, U+0329, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: "Poppins"; font-style: normal; font-weight: 600; font-display: swap; src: url(../fonts/poppins-600-latin.woff2) format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }

/* ---------- Tokens ---------- */
/* The sticky bar would otherwise cover every in-page anchor target; site.js measures it (fallback = 1440 px bar). */
html { scroll-padding-top: calc(var(--tlt-sticky-h, 103px) + 17px); }

:root {
	--tlt-theme: #E3FF04;
	--tlt-title: #0A0C00;
	--tlt-body: #0A0C00;
	--tlt-smoke: #F6F5F3;
	--tlt-border: #E3E3E3;
	--tlt-white: #fff;
	--tlt-font-title: "Unbounded", sans-serif;
	--tlt-font-body: "Poppins", sans-serif;
	--tlt-container: 1296px;
	--tlt-gutter: 12px;
	--tlt-section: 140px;
	--tlt-ease: cubic-bezier(0.785, 0.135, 0.15, 0.86);
}

/* ---------- Base ---------- */
/* Element base as on prod (Bootstrap reboot + browser defaults). Zero specificity, so any component rule wins; being
   unlayered it still beats the parent's layered button/link styles (hello-layer.css). */
:where(button, input, optgroup, select, textarea) { margin: 0; font-family: inherit; font-size: inherit; line-height: inherit; }
:where(button, [type="button"], [type="submit"], [type="reset"]) {
	display: revert; padding: revert; border: revert; border-radius: 0; background-color: revert; color: revert;
	font-weight: revert; text-align: revert; white-space: revert; user-select: revert; transition: revert; text-transform: none;
}
:where(button, [type="button"], [type="submit"], [type="reset"]):where(:hover, :focus) { background-color: revert; color: revert; text-decoration: none; }
:where(button:not(:disabled)) { cursor: pointer; }
:where(a) { color: var(--tlt-theme); text-decoration: none; }
/* Heading scale as on prod (frisk), zero specificity: shortcode/plugin output relies on it. */
:where(h1, h2, h3, h4, h5, h6) { margin: 0 0 15px; line-height: 1.4; text-transform: none; }
:where(h1) { line-height: 1.167; } :where(h2) { line-height: 1.133; } :where(h3) { line-height: 1.278; }
:where(h4) { line-height: 1.333; } :where(h5) { line-height: 1.417; } :where(h6) { line-height: 1.5; }
:where(a):hover { color: var(--tlt-title); }
/* Links in form consent text and the privacy page sit on white — the theme yellow there is 1.1:1. */
.tobalt-cf__check-label a, .tobalt-af__check-label a, .pp__cta-box a:not([class]) { color: var(--tlt-title); text-decoration: underline; }
/* D8: the audit form's consent row was a 37 px target (checklist: 44 px for primary inputs, as the contact form's). */
.tobalt-af__check-label { min-height: 44px; align-items: center; }
.tlt-field-error { display: block; margin-top: 4px; font-size: 14px; line-height: 1.4; color: #b00020; }
.tlt-field-error:empty { display: none; }
.tlt-req-note { margin: 0 0 12px; font-size: 14px; color: var(--tlt-body); }

body {
	font-family: var(--tlt-font-body);
	font-size: 18px;
	font-weight: 400;
	line-height: 1.66;
	color: var(--tlt-body);
	background: var(--tlt-white);
	overflow-x: hidden;
	overflow-wrap: break-word; /* as prod: a word wider than its box breaks instead of overflowing */
}
h1, h2, h3, h4, h5, h6 { font-family: var(--tlt-font-title); font-weight: 600; color: var(--tlt-title); }
/* Heading levels corrected for WCAG 1.3.1 (h4/h5 → h3, h3 → h2); keep the metrics each one had at its old level. */
.tbc__card-title, .tobalt-pc__title, .tobalt-related__heading { line-height: 1.278; }
.process-card-title { line-height: 1.333; margin-bottom: 15px; }
.tobalt-roi__compare-heading { line-height: 1.417; }
.tlt-kicker { margin: 0 0 15px; font-family: var(--tlt-font-title); font-size: 20px; font-weight: 600; line-height: 1.417; color: var(--tlt-title); }
body.tlt-locked { overflow: hidden; }

.tlt-topbar a, .tlt-header a, .tlt-mobile a, .tlt-footer a { color: inherit; text-decoration: none; }
.tlt-topbar ul, .tlt-header ul, .tlt-mobile ul, .tlt-footer ul { list-style: none; margin: 0; padding: 0; }
.tlt-icon { display: block; width: 1em; height: 1em; flex: none; }
:where(.tlt-topbar, .tlt-header, .tlt-mobile, .tlt-search, .tlt-footer) :focus-visible { outline: 2px solid currentColor; outline-offset: 3px; }

.tlt-btn {
	display: inline-block;
	background: var(--tlt-title);
	color: var(--tlt-white) !important;
	font-family: var(--tlt-font-title);
	font-size: 14px;
	font-weight: 600;
	line-height: 17px;
	padding: 21.5px 40px;
	border: 0;
	border-radius: 0;
	transition: background-color .3s, color .3s;
}
.tlt-btn span { display: block; }
.tlt-btn:hover, .tlt-btn:focus-visible { background: var(--tlt-theme); color: var(--tlt-title) !important; }

/* ---------- Top bar ---------- */
/* Front page: frisk header 24524 (bar flush right). Other pages: Elementor Pro header 25347 (bar in a 1160 px box, 10 px padding). */
.tlt-topbar { height: 40px; display: flex; align-items: center; justify-content: flex-end; max-width: 1160px; margin: 0 auto; padding: 0 10px; }
.home .tlt-topbar { max-width: none; padding: 0 30px 0 0; }
.tlt-topbar__list { display: flex; gap: 10px; }
.tlt-topbar__list a { display: flex; align-items: center; font-size: 12px; line-height: 20px; color: #333; }
.tlt-topbar__list span { padding-left: 5px; }
.tlt-topbar__list .tlt-icon { width: 12px; height: 12px; margin-right: 3px; color: var(--tlt-title); stroke-width: 1.5; }

/* ---------- Header ---------- */
.tlt-header { position: relative; z-index: 41; }
.tlt-header__bar { padding: 0 36px; transition: .4s ease-in-out; }
.tlt-header__bar.is-sticky {
	position: fixed; top: 0; left: 0; right: 0;
	background: var(--tlt-white);
	box-shadow: 0 0 10px 0 rgba(0, 0, 0, .07);
	animation: tlt-sticky .6s ease-in-out;
}
.admin-bar .tlt-header__bar.is-sticky { top: 32px; }
@media (max-width: 782px) { .admin-bar .tlt-header__bar.is-sticky { top: 46px; } }
@keyframes tlt-sticky {
	0% { transform: translate3d(0, -40px, 0) scaleY(.8); opacity: .7; }
	100% { transform: translate3d(0, 0, 0) scaleY(1); opacity: 1; }
}
.tlt-header__inner { display: flex; align-items: center; padding: 0 var(--tlt-gutter); }
.tlt-header__logo { display: block; line-height: 1; padding-top: 8px; }
.tlt-header__logo-img { display: block; width: 350px; max-width: 100%; height: auto; }
.tlt-header__logo picture { display: block; }

.tlt-nav { margin-left: auto; padding-right: var(--tlt-gutter); }
.tlt-nav__list { display: flex; align-items: center; margin: 0 -20px !important; }
.tlt-nav__list > li { position: relative; }
.tlt-nav__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: uppercase;
	color: var(--tlt-title);
}
.tlt-nav__list > li > a { padding: 46.5px 20px; white-space: nowrap; } /* D5: menu labels never break across lines */

.tlt-nav .sub-menu {
	position: absolute; top: 100%; left: 0; z-index: 9;
	min-width: 280px; width: max-content;
	padding: 18px 20px 19px 18px;
	background: var(--tlt-title);
	box-shadow: 0 4px 15px rgba(1, 15, 28, .06);
	visibility: hidden; opacity: 0;
	transform: scaleY(0); transform-origin: center top;
	transition: .4s;
}
.tlt-nav li:hover > .sub-menu, .tlt-nav li:focus-within > .sub-menu { visibility: visible; opacity: 1; transform: scaleY(1); }
.tlt-nav li.is-dismissed > .sub-menu { visibility: hidden; opacity: 0; transform: scaleY(0); }
.tlt-nav .sub-menu li { display: block; padding: 0 9px; }
.tlt-nav .sub-menu a {
	font-family: var(--tlt-font-body);
	font-size: 16px; font-weight: 400; line-height: 41px;
	letter-spacing: normal; text-transform: none;
	color: var(--tlt-white);
	transition: transform .4s;
}
.tlt-nav .sub-menu a:hover, .tlt-nav .sub-menu a:focus-visible { transform: translateX(5px); }
.tlt-nav .sub-menu .current-menu-item > a { color: var(--tlt-theme); font-weight: 600; }

.tlt-header__actions { display: flex; align-items: center; gap: 24px; margin-left: calc(50px + var(--tlt-gutter)); }
.tlt-search-btn {
	display: flex; align-items: center; padding: 0 8px 0 0; border: 0; border-radius: 0; background: transparent; cursor: pointer;
	color: var(--tlt-title); font-family: var(--tlt-font-title); font-size: 14px; font-weight: 600; text-transform: uppercase;
}
.tlt-search-btn .tlt-icon, .tlt-close .tlt-icon, .tlt-search__form button .tlt-icon { width: 24px; height: 24px; }

.tlt-burger {
	display: flex; flex-direction: column; justify-content: center; align-items: center; gap: 4px;
	width: 60px; height: 60px; padding: 0;
	border: 2px solid var(--tlt-title); border-radius: 50%;
	background: transparent; cursor: pointer; color: #000; font-size: 18px; white-space: normal;
}
.tlt-burger span { display: block; width: 18px; height: 2px; background: var(--tlt-title); transition: .4s; }
.tlt-burger:hover span:nth-child(2) { width: 10px; }
.tlt-burger--mobile { display: none; }
.tlt-header .tlt-burger { color: #000; }

/* Language switcher (globe + dropdown) and the single header call to action */
.tlt-lang { position: relative; display: flex; }
.tlt-lang__btn {
	display: flex; align-items: center; justify-content: center; width: 44px; height: 44px; padding: 0;
	border: 0; border-radius: 50%; background: transparent; color: var(--tlt-title); cursor: pointer; transition: background-color .3s;
}
.tlt-lang__btn .tlt-icon { width: 24px; height: 24px; stroke-width: 1.6; }
.tlt-lang__btn:hover, .tlt-lang__btn[aria-expanded="true"] { background: var(--tlt-theme); color: var(--tlt-title); }
.tlt-lang__list {
	position: absolute; top: calc(100% + 10px); right: 50%; z-index: 20; transform: translateX(50%);
	display: grid; grid-template-columns: repeat(3, max-content); gap: 4px; width: max-content; padding: 10px;
	background: var(--tlt-white); box-shadow: 0 8px 30px rgba(10, 12, 0, .14);
}
.tlt-lang__list[hidden] { display: none; }
.tlt-header .tlt-lang__list a, .tlt-mobile .tlt-lang__list a {
	display: flex; align-items: center; gap: 8px; min-height: 44px; padding: 0 12px;
	font-family: var(--tlt-font-title); font-size: 14px; font-weight: 600; color: var(--tlt-title);
}
.tlt-lang__list a:hover, .tlt-lang__list a:focus-visible { background: var(--tlt-smoke); }
.tlt-lang__list a[aria-current="true"] { background: var(--tlt-title); color: var(--tlt-white); }
.tlt-lang__flag { font-size: 18px; line-height: 1; }
.tlt-header__cta { flex: none; padding: 15px 22px; white-space: nowrap; }
.tlt-header__logo { flex: none; }
.tlt-header__mobile { display: none; }
.tlt-mobile__cta { display: block; margin: 0 0 32px; text-align: center; }
.tlt-header--dark .tlt-lang__btn { color: var(--tlt-white); }
.tlt-header--dark .tlt-lang__btn:is(:hover, [aria-expanded="true"]) { color: var(--tlt-title); }
.tlt-header--dark .tlt-header__cta { background: var(--tlt-theme); color: var(--tlt-title) !important; }
.tlt-header--dark .tlt-header__cta:is(:hover, :focus-visible) { background: var(--tlt-white); }

/* Desktop header tiers, measured with the web fonts loaded (2026-11-05): menu text 554 px at 14 px, CTA text 211 px.
   Below 1200 px the five uppercase menu items, globe, search and CTA cannot share one row: the compact header takes over. */
@media (max-width: 1799.98px) { .tlt-header__logo-img { width: 320px; } }
@media (min-width: 1440px) and (max-width: 1599.98px) {
	.tlt-header__logo-img { width: 240px; }
	.tlt-nav__list > li > a { padding: 40px 16px; }
	.tlt-nav__list { margin: 0 -16px !important; }
	.tlt-header__actions { gap: 16px; margin-left: 24px; }
	.tlt-header__cta { padding: 15px 18px; }
}
@media (min-width: 1366px) and (max-width: 1439.98px) {
	.tlt-header__logo-img { width: clamp(190px, calc(100vw - 1170px), 230px); }
	.tlt-nav__list > li > a { padding: 40px 12px; }
	.tlt-nav__list { margin: 0 -12px !important; }
	.tlt-header__actions { gap: 12px; margin-left: 16px; }
	.tlt-header__cta { padding: 15px 18px; }
}
@media (min-width: 1200px) and (max-width: 1365.98px) {
	.tlt-header__logo-img { width: 160px; }
	.tlt-nav { padding-right: 0; }
	.tlt-nav__list > li > a { padding: 40px 8px; font-size: 13px; }
	.tlt-nav__list { margin: 0 -8px !important; }
	.tlt-header__actions { gap: 10px; margin-left: 16px; }
	.tlt-header__cta { padding: 13px 14px; font-size: 13px; }
}
@media (max-width: 1199.98px) {
	.tlt-header__bar { padding: 15px 0; }
	.tlt-header__inner { max-width: 960px; margin: 0 auto; justify-content: space-between; }
	.tlt-nav, .tlt-header__actions { display: none; }
	.tlt-burger--mobile { display: flex; }
	.tlt-header__mobile { display: flex; align-items: center; gap: 12px; }
	.tlt-lang__list { right: 0; transform: none; }
}
@media (max-width: 991px) {
	.tlt-header__inner { max-width: 720px; }
}
@media (max-width: 767px) {
	.tlt-header__logo-img { width: 230px; }
	.home .tlt-header__logo-img { width: 250px; }
}
@media (max-width: 575px) {
	.tlt-burger { width: 50px; height: 50px; }
	/* globe + menu button need ~110 px: the logo takes what is left (320 px phones: 178 px) */
	.tlt-header__logo-img, .home .tlt-header__logo-img { width: min(230px, calc(100vw - 142px)); }
	.home .tlt-header__logo-img { width: min(250px, calc(100vw - 142px)); }
}

/* Dark variant (prod header 26200, chosen per page in ACF): black bar, no top bar, square white logo */
.tlt-header--dark .tlt-header__bar, .tlt-header--dark .tlt-header__bar.is-sticky { background: #000; }
.tlt-header--dark .tlt-header__logo-img { width: 140px; }
.tlt-header--dark .tlt-nav__list > li > a, .tlt-header--dark .tlt-search-btn,
.tlt-header--dark .tlt-search-btn:is(:hover, :focus) { color: var(--tlt-white); }
.tlt-header--dark .tlt-nav__list > .current-menu-item > a { color: #F4F526; }
.tlt-header--dark .tlt-burger { border-color: var(--tlt-white); }
.tlt-header--dark .tlt-burger span { background: var(--tlt-white); }
@media (max-width: 767px) {
	.tlt-header--dark .tlt-header__logo-img, .home .tlt-header--dark .tlt-header__logo-img { width: 140px; }
}

/* ---------- Shared overlay panels ---------- */
.tlt-close {
	display: flex; align-items: center; justify-content: center;
	position: absolute; border-radius: 50%; background: transparent; cursor: pointer; padding: 0;
	font-size: 22px; transition: transform .4s, background-color .4s;
}
.tlt-close:hover { transform: rotate(90deg); }
:is(.tlt-search-btn, .tlt-burger, .tlt-subtoggle):is(:hover, :focus) { background-color: transparent; color: var(--tlt-title); }
.tlt-burger:is(:hover, :focus) { color: #000; }
:is(.tlt-search__close):is(:hover, :focus) { background-color: #2e2e2d; border-color: transparent; color: var(--tlt-white); }
.tlt-search__form button:is(:hover, :focus) { background-color: transparent; color: var(--tlt-white); }

/* Mobile menu (opens with JS; :target keeps it usable without JS) */
.tlt-mobile {
	position: fixed; inset: 0; z-index: 999999;
	background: rgba(0, 0, 0, .6);
	opacity: 0; visibility: hidden;
	transition: .4s var(--tlt-ease);
}
.tlt-mobile__panel {
	position: relative; width: 100%; max-width: 310px; height: 100%;
	padding: 0 20px; background: var(--tlt-white);
	transform: translateX(-100%); transition: .4s var(--tlt-ease);
	overflow-y: auto;
}
html:not(.tlt-js) .tlt-mobile:target, .tlt-mobile.is-open { opacity: 1; visibility: visible; transition: .4s var(--tlt-ease), visibility 0s; }
html:not(.tlt-js) .tlt-mobile:target .tlt-mobile__panel, .tlt-mobile.is-open .tlt-mobile__panel { transform: translateX(0); }
.tlt-mobile__close { top: 23px; right: 20px; width: 50px; height: 50px; border: 2px solid var(--tlt-title); color: var(--tlt-title) !important; font-size: 20px; }
.tlt-mobile__logo { display: block; padding: 35px 0 50px; }
.tlt-mobile__logo-img { display: block; width: 86px; height: auto; }
.tlt-mobile__nav { padding-bottom: 25px; margin-bottom: 40px; border-bottom: 2px solid var(--tlt-title); }
.tlt-mobile__list { padding: 5px 0 !important; }
.tlt-mobile__list li { position: relative; }
.tlt-mobile__list a {
	display: block; padding: 8px 0; line-height: 1.4;
	font-family: var(--tlt-font-title); font-size: 20px; font-weight: 600; color: var(--tlt-title);
}
.tlt-mobile__list .sub-menu li { padding-left: 20px; }
.tlt-mobile__list .sub-menu a { font-family: var(--tlt-font-body); font-size: 16px; font-weight: 400; padding: 6px 0; }
.tlt-subtoggle {
	position: absolute; top: 0; right: 0; width: 44px; height: 44px;
	display: flex; align-items: center; justify-content: center;
	border: 0; background: transparent; color: var(--tlt-title); font-size: 20px; cursor: pointer; padding: 0;
}
.tlt-mobile__list .menu-item-has-children > a { padding-right: 48px; }
.tlt-drill__head { display: none; }
/* drill-down (JS): a parent's view replaces the top list */
.tlt-js .tlt-mobile__list .sub-menu { display: none; }
.tlt-js .tlt-mobile__list.is-deep > li:not(.is-open), .tlt-js .tlt-mobile__list.is-deep > li.is-open > a, .tlt-js .tlt-mobile__list.is-deep > li.is-open > .tlt-subtoggle { display: none; }
.tlt-js .tlt-mobile__list > li.is-open > .sub-menu { display: block; animation: tlt-drill .3s var(--tlt-ease); }
.tlt-js .tlt-mobile__list > li.is-open > .sub-menu li { padding-left: 0; }
.tlt-js .tlt-mobile__list > li.is-open > .sub-menu a { font-size: 17px; padding: 9px 0; }
.tlt-js .tlt-mobile__list > li.is-open .tlt-drill__head { display: block; margin-bottom: 8px; }
.tlt-drill__back {
	display: inline-flex; align-items: center; gap: 6px; min-height: 44px; margin: 0 0 4px -8px; padding: 0 8px;
	border: 0; background: transparent; cursor: pointer; color: var(--tlt-title);
	font-family: var(--tlt-font-title); font-size: 13px; font-weight: 600; letter-spacing: .04em; text-transform: uppercase;
}
.tlt-drill__back .tlt-icon { width: 18px; height: 18px; }
.tlt-js .tlt-mobile__list > li.is-open .tlt-drill__head a.tlt-drill__parent { font-family: var(--tlt-font-title); font-size: 22px; font-weight: 600; padding: 4px 0 10px; border-bottom: 2px solid var(--tlt-title); }
@keyframes tlt-drill { from { opacity: 0; transform: translateX(32px); } }
@media (prefers-reduced-motion: reduce) { .tlt-js .tlt-mobile__list > li.is-open > .sub-menu { animation: none; } }

/* "Pasirinkti įstaigą": lime bar along the bottom (all widths) opening a bottom sheet with the sector pages */
:root { --tlt-sectors-bar: 48px; }
body:has(.tlt-sectors-tab) { padding-bottom: calc(var(--tlt-sectors-bar) + env(safe-area-inset-bottom, 0px)); }
/* focus scrolling keeps the focused element above the bar (WCAG 2.4.11) */
html:has(.tlt-sectors-tab) { scroll-padding-bottom: calc(var(--tlt-sectors-bar) + env(safe-area-inset-bottom, 0px) + 16px); }
.tlt-sectors-tab {
	position: fixed; left: 0; right: 0; bottom: 0; z-index: 9989;
	display: flex; align-items: center; justify-content: center; gap: 10px;
	min-height: var(--tlt-sectors-bar); padding: 0 16px env(safe-area-inset-bottom, 0px);
	background: var(--tlt-theme); color: var(--tlt-title) !important; text-decoration: none !important;
	font-family: var(--tlt-font-title); font-size: 14px; font-weight: 600; letter-spacing: .06em; line-height: 1; text-transform: uppercase;
	box-shadow: 0 -2px 12px rgba(0, 0, 0, .12);
}
.tlt-sectors-tab .tlt-icon { width: 18px; height: 18px; transform: rotate(180deg); transition: transform .25s var(--tlt-ease); }
.tlt-sectors-tab:hover .tlt-icon, .tlt-sectors-tab:focus-visible .tlt-icon { transform: rotate(180deg) translateY(3px); }
.tlt-sectors-tab:focus-visible { outline: 2px solid var(--tlt-title); outline-offset: -4px; }
/* the cookie plugin's reopen pill also sits at bottom: 0 — keep it above the bar */
body:has(.tlt-sectors-tab) .tobalt-sausainiai-reopen { bottom: calc(var(--tlt-sectors-bar) + env(safe-area-inset-bottom, 0px)) !important; }
.tlt-sectors {
	position: fixed; inset: 0; z-index: 999999;
	background: rgba(0, 0, 0, .6);
	opacity: 0; visibility: hidden; transition: .4s var(--tlt-ease);
}
.tlt-sectors__panel {
	position: absolute; left: 50%; bottom: 0; width: min(100%, 720px); max-height: 85vh; overflow-y: auto;
	padding: 32px 28px calc(28px + env(safe-area-inset-bottom, 0px)); border-radius: 16px 16px 0 0;
	background: var(--tlt-theme); color: var(--tlt-title);
	transform: translate(-50%, 100%); transition: .4s var(--tlt-ease);
}
html:not(.tlt-js) .tlt-sectors:target, .tlt-sectors.is-open { opacity: 1; visibility: visible; transition: .4s var(--tlt-ease), visibility 0s; }
html:not(.tlt-js) .tlt-sectors:target .tlt-sectors__panel, .tlt-sectors.is-open .tlt-sectors__panel { transform: translate(-50%, 0); }
.tlt-sectors__close { top: 20px; right: 20px; width: 50px; height: 50px; border: 2px solid var(--tlt-title); color: var(--tlt-title) !important; }
.tlt-sectors__title { margin: 0 64px 20px 0; font-family: var(--tlt-font-title); font-size: 28px; font-weight: 600; line-height: 1.2; }
.tlt-sectors__list { list-style: none; margin: 0; padding: 0; }
@media (min-width: 768px) { .tlt-sectors__list { display: grid; grid-template-columns: 1fr 1fr; column-gap: 32px; } }
.tlt-sectors__list a {
	display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 48px; padding: 10px 0;
	border-bottom: 1px solid rgba(10, 12, 0, .25); color: var(--tlt-title); text-decoration: none;
	font-family: var(--tlt-font-title); font-size: 18px; font-weight: 600;
}
.tlt-sectors__list a:hover, .tlt-sectors__list a:focus-visible { text-decoration: underline; }
.tlt-sectors__list .tlt-icon { flex: none; }
.tlt-sectors :focus-visible { outline: 2px solid var(--tlt-title); outline-offset: 3px; }
@media (max-width: 575px) {
	.tlt-sectors__panel { padding: 24px 20px calc(24px + env(safe-area-inset-bottom, 0px)); }
	.tlt-sectors__close { top: 14px; right: 14px; }
	.tlt-sectors__title { font-size: 24px; }
}
@media (prefers-reduced-motion: reduce) { .tlt-sectors, .tlt-sectors__panel, .tlt-sectors-tab .tlt-icon { transition: none; } }

.tlt-contact p { margin: 0 0 18px; font-size: 18px; line-height: 1.66; }
.tlt-contact p:first-child, .tlt-contact p:last-child { margin-bottom: 23px; }
.tlt-social { display: flex; align-items: center; }
.tlt-social a { display: block; }
.tlt-social--plain { gap: 20px; }
.tlt-social--plain .tlt-icon { width: 16px; height: 25px; color: var(--tlt-title); }

@media (max-width: 767px) {
	.tlt-mobile__logo-img { width: 100px; }
}
@media (max-width: 400px) {
	.tlt-mobile__panel { max-width: 290px; }
}

/* Search popup */
.tlt-search {
	position: fixed; top: 0; left: 0; right: 0; z-index: 99999;
	height: 0; overflow: hidden;
	background: var(--tlt-title);
	opacity: 0; visibility: hidden;
	transition: .4s;
}
.tlt-search.is-open { height: 350px; opacity: 1; visibility: visible; transition: .4s, visibility 0s; }
.tlt-search__close { top: 40px; right: 40px; width: 60px; height: 60px; border: 2px solid var(--tlt-smoke); color: var(--tlt-white); }
.tlt-search__form { position: absolute; top: 50%; left: 50%; width: 100%; max-width: 900px; transform: translate(-50%, -50%); }
.tlt-search__form input {
	width: 100%; height: 70px; padding: 0 80px 0 0;
	font-family: var(--tlt-font-body); font-size: 24px; font-weight: 400; color: var(--tlt-smoke);
	background: transparent; border: 0; border-bottom: 2px solid var(--tlt-smoke); border-radius: 0; outline-offset: 4px;
}
.tlt-search__form input::placeholder { color: rgba(246, 245, 243, .5); }
.tlt-search__form button { position: absolute; top: 0; right: 0; height: 70px; padding: 0 6px; border: 0; background: transparent; color: var(--tlt-white); font-size: 24px; cursor: pointer; }
@media (max-width: 1199px) { .tlt-search__form { max-width: 600px; } }
@media (max-width: 767px) {
	.tlt-search__form { width: 80%; }
	.tlt-search__form input, .tlt-search__form button { height: 60px; }
}


/* ---------- Footer ---------- */
.tlt-footer { background: var(--tlt-smoke); }
.tlt-footer__cta {
	display: flex; justify-content: space-between; align-items: center;
	max-width: 1320px; margin: 0 auto; padding: var(--tlt-section) 0;
}
.tlt-footer__cta-title { width: 50%; padding: 0 var(--tlt-gutter); }
.tlt-footer__cta-body { width: 41.666%; padding: 0 var(--tlt-gutter); display: flex; flex-direction: column; gap: 30px; }
.tlt-footer__cta-body p { margin: 0; }
.tlt-footer__title { margin: 0; font-family: var(--tlt-font-title); font-size: 80px; font-weight: 600; line-height: 1.12; letter-spacing: -0.03em; color: var(--tlt-title); }
.tlt-footer__text { font-size: 18px; line-height: 1.66; }

.tlt-footer__bottom { max-width: var(--tlt-container); margin: 0 auto; }
.tlt-footer__nav { font-size: 18px; line-height: 1.66; padding: 21px 0; border-top: 2px solid var(--tlt-title); border-bottom: 2px solid var(--tlt-title); }
.tlt-footer__links { display: inline-flex; flex-wrap: wrap; gap: 10px 40px; vertical-align: baseline; }
.tlt-footer__links a, .tlt-footer__privacy {
	display: block; font-family: var(--tlt-font-title); font-size: 14px; font-weight: 600; line-height: 17px;
	letter-spacing: -0.14px; text-transform: uppercase; color: var(--tlt-title);
}
.tlt-footer__privacy { display: inline-block; }
.tlt-footer__links a:hover, .tlt-footer__privacy:hover { text-decoration: underline; text-underline-offset: 4px; }
.tlt-footer__meta { display: flex; align-items: center; justify-content: space-between; padding: 21px 0; font-size: 18px; line-height: 1.66; }
.tlt-footer__meta > * { flex: 1 1 50%; }
.tlt-footer__privacy-wrap { text-align: right; }
.tlt-social--footer { gap: 20px; }
.tlt-social--footer a { display: flex; justify-content: center; width: 20px; height: 20px; font-size: 20px; color: rgb(105, 114, 125); }
.tlt-social--footer .tlt-icon { width: 16px; height: 20px; color: var(--tlt-title); }
.tlt-social--footer a:focus-visible { outline-color: var(--tlt-title); }

@media (max-width: 1024px) {
	.tlt-footer__cta { flex-wrap: wrap; max-width: 720px; padding: 100px 0; text-align: center; }
	.tlt-footer__cta-title, .tlt-footer__cta-body { width: 100%; }
	.tlt-footer__title { margin-bottom: 20px; }
	.tlt-footer__cta-body { align-items: center; }
	.tlt-footer__bottom { max-width: 696px; padding: 0 var(--tlt-gutter); }
	.tlt-footer__links { flex-direction: column; align-items: stretch; text-align: center; }
	.tlt-footer__meta { flex-direction: column; gap: 10px; }
	.tlt-footer__meta > * { flex: none; width: 100%; }
	.tlt-footer__links { display: flex; }
	.tlt-footer__privacy-wrap { text-align: center; }
	.tlt-footer__privacy { display: block; }
	.tlt-social--footer { justify-content: center; }
}
@media (max-width: 767px) {
	.tlt-footer__cta { max-width: none; }
	.tlt-footer__bottom { max-width: none; }
	.tlt-footer__title { font-size: 45px; }
	.tlt-footer__text { font-size: 16px; }
	.tlt-btn { font-size: 13px; font-weight: 500; line-height: 17px; padding: 18px 25px; }
}

@media (prefers-reduced-motion: reduce) {
	.tlt-header__bar.is-sticky { animation: none; }
}

/* D7: on phones text kept the 12 px Bootstrap gutter (checklist: ≥ 16 px). A transparent 4 px inline border adds to whatever padding
   each page-level box already has, and the section background still paints under it (background-clip: border-box). */
@media (max-width: 575px) {
	:root { --tlt-gutter: 16px; }
	#content .tlt-s, .tlt-blog, .tobalt-irankiai-archive, .tlt-classic__inner, .tlt-lp, .tlt-pf__inner { border-left: 4px solid transparent; border-right: 4px solid transparent; }
	/* Boxes whose own padding was below 12 px (prod Elementor container values). */
	#content .tlt-tool__block { padding-left: 12px; padding-right: 12px; }
	#content .tlt-accordion--toggle .tlt-accordion__inner { padding-left: 12px; padding-right: 12px; }
	#content .tlt-cc__inner { padding-left: 12px; padding-right: 12px; }
	.error404 .site-main { padding-left: 16px; padding-right: 16px; }
	/* Long Lithuanian words at 32 px are wider than a 320 px screen's text column: scale only below 356 px. */
	#content .tlt-service__cta .tlt-tool__h2 { font-size: min(32px, 9vw); }
}
