/* 
Theme Name: Hello Elementor Child
Theme URI: https://github.com/elementor/hello-theme-child/
Description: Hello Elementor Child is a child theme of Hello Elementor, created by Elementor team
Author: Elementor Team
Author URI: https://elementor.com/
Template: hello-elementor
Version: 2.0.0
Text Domain: hello-elementor-child
License: GNU General Public License v3 or later.
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Tags: flexible-header, custom-colors, custom-menu, custom-logo, editor-style, featured-images, rtl-language-support, threaded-comments, translation-ready
*/

/* Add your custom styles here */


.elementor-widget-text-editor > ul,
.elementor-widget-text-editor > ol{
  margin: 0 0 .9rem 0;
    padding: 10px 0 10px 25px;
}

.elementor-widget-text-editor > ul li > ul,
.elementor-widget-text-editor > ul li > ol,
.elementor-widget-text-editor > ol li > ul,
.elementor-widget-text-editor > ol li > ol{
   margin: 0;
    padding: 10px 0 15px 25px;
}
.elementor-widget-text-editor > ul > li,
.elementor-widget-text-editor > ol > li{
    margin-bottom: 10px;
}
.elementor-widget-text-editor > ul li > ul li,
.elementor-widget-text-editor > ul li > ol li,
.elementor-widget-text-editor > ol li > ul li,
.elementor-widget-text-editor > ol li > ol li{
   margin-bottom: 6px;
}
.elementor-widget-text-editor > p:last-child,
.elementor-widget-text-editor > ul:last-child,
.elementor-widget-text-editor > ol:last-child,
.elementor-widget-text-editor > ul > li:last-child,
.elementor-widget-text-editor > ol > li:last-child,
.elementor-widget-text-editor > ul li > ul li:last-child,
.elementor-widget-text-editor > ul li > ol li:last-child,
.elementor-widget-text-editor > ol li > ul li:last-child,
.elementor-widget-text-editor > ol li > ol li:last-child{
    margin-bottom: 0;
    padding-bottom: 0;
}
.e-n-accordion-item .elementor-widget-text-editor > p:last-child{
	padding-bottom:15px;
}

.elementor embed, .elementor iframe, .elementor object, .elementor video{
	display:block;
}
h2 {
	font-size: 1.75rem;
}
h3 {
	font-size: 1.5rem;
}
h4 {
	font-size: 1.25rem;
}
h5 {
	font-size: 1rem;
}


@media (max-width:767px){
	h2 {
		font-size: 1.5rem;
	}
	h3 {
		font-size: 1.25rem;
	}
	h4,
	h5 {
		font-size: 1rem;
	}
}


html .swiper {
    margin-left: auto;
    margin-right: auto;
    position: relative;
    overflow: hidden;
    list-style: none;
    padding: 0;
}
html .elementor-element .elementor-main-swiper, 
html .elementor-lightbox .elementor-main-swiper {
    position: static;
}
html .swiper-pointer-events {
    touch-action: pan-y;
}
.swiper-backface-hidden .swiper-slide {
    transform: translateZ(0);
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
}
.swiper-slide {
    flex-shrink: 0;
    width: 100%;
    height: 100%;
    position: relative;
    transition-property: transform;
}
html .swiper-wrapper{
	position: relative;
    width: 100%;
    height: 100%;
    z-index: 1;
    display: flex;
    transition-property: transform;
    box-sizing: content-box;
}
.swiper-pagination {
    position: absolute;
    text-align: center;
    transition: .3s opacity;
    transform: translate3d(0, 0, 0);
    z-index: 10;
	left: 0;
    width: 100%;
}
.swiper-pagination-bullet {
    width: var(--swiper-pagination-bullet-width, var(--swiper-pagination-bullet-size, 8px));
    height: var(--swiper-pagination-bullet-height, var(--swiper-pagination-bullet-size, 8px));
    display: inline-block;
    border-radius: 50%;
    background: var(--swiper-pagination-bullet-inactive-color, #000);
    opacity: var(--swiper-pagination-bullet-inactive-opacity, .2);
	cursor: pointer;
	margin: 0 var(--swiper-pagination-bullet-horizontal-gap, 4px);
}
.swiper-pagination-bullet-active {
    opacity: var(--swiper-pagination-bullet-opacity, 1);
    background: var(--swiper-pagination-color, var(--swiper-theme-color));
}
.swiper-pagination-bullet.swiper-pagination-bullet-active{
	    background-color: #000000;
}
html .swiper-pagination-bullet{
	border:1px solid #000000;
	transition: all 0.3s;
}
html .swiper-pagination-bullet-active, 
html .swiper-pagination-progressbar-fill {
    width: 60px !important;
    border-radius: 50px;
}
.elementor-element .swiper .elementor-swiper-button, .elementor-element .swiper~.elementor-swiper-button, .elementor-lightbox .swiper .elementor-swiper-button, .elementor-lightbox .swiper~.elementor-swiper-button {
    color: hsla(0, 0%, 93%, .9);
    cursor: pointer;
    display: inline-flex;
    font-size: 25px;
    position: absolute;
    top: calc(50% - 40px / 2);
    transform: translateY(-50%);
    z-index: 1;
}
.elementor-element .swiper .elementor-swiper-button svg, .elementor-element .swiper~.elementor-swiper-button svg, .elementor-lightbox .swiper .elementor-swiper-button svg, .elementor-lightbox .swiper~.elementor-swiper-button svg {
    fill: hsla(0, 0%, 93%, .9);
    height: 1em;
    width: 1em;
}


@media (max-width:767px){
	html .swiper-pagination-bullet-active, 
	html .swiper-pagination-progressbar-fill {
		width: 40px !important;
	}
}


/* ==========================================================================
   TSS service-page components (cards, grids, bands)
   Classes are added to Elementor containers: tss-band, tss-grid-4, tss-grid-5,
   tss-card, tss-panel. Used on temporary-security, keyholding, home.
   ========================================================================== */
.tss-band { padding-top: 0 !important; padding-bottom: 0 !important; margin-top: 0 !important; margin-bottom: 0 !important; }
.tss-band > .e-con-inner { padding-top: 64px !important; padding-bottom: 64px !important; }
.tss-tight { margin-top: 0 !important; margin-bottom: 0 !important; }
.tss-tight > .e-con-inner { padding-top: 28px !important; padding-bottom: 28px !important; }
@media (max-width: 1024px) { .tss-band > .e-con-inner { padding-top: 48px !important; padding-bottom: 48px !important; } .tss-tight > .e-con-inner { padding-top: 20px !important; padding-bottom: 20px !important; } }
@media (max-width: 767px)  { .tss-band > .e-con-inner { padding-top: 36px !important; padding-bottom: 36px !important; } .tss-tight > .e-con-inner { padding-top: 14px !important; padding-bottom: 14px !important; } }
.tss-band--grey { background-color: #F5F6F6 !important; }
.tss-band--white { background-color: #fff !important; }
@media (max-width: 1024px) { .tss-band { padding-top: 48px !important; padding-bottom: 48px !important; } }
@media (max-width: 767px)  { .tss-band { padding-top: 36px !important; padding-bottom: 36px !important; } }

.tss-grid { display: grid !important; gap: 22px !important; background: transparent !important; }
.tss-grid-4 { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; }
.tss-grid-3 { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
.tss-grid-5 { grid-template-columns: repeat(6, minmax(0, 1fr)) !important; }
.tss-grid-5 > .tss-card { grid-column: span 2; }
.tss-grid-5 > .tss-card:nth-child(n+4) { grid-column: span 3; }
@media (max-width: 900px) {
	.tss-grid-4, .tss-grid-3, .tss-grid-5 { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
	.tss-grid-5 > .tss-card, .tss-grid-5 > .tss-card:nth-child(n+4) { grid-column: span 1; }
	.tss-grid-5 > .tss-card:last-child { grid-column: 1 / -1; }
}
@media (max-width: 600px) {
	.tss-grid-4, .tss-grid-3, .tss-grid-5 { grid-template-columns: minmax(0, 1fr) !important; }
	.tss-grid-5 > .tss-card:last-child { grid-column: auto; }
	.tss-grid { gap: 14px !important; }
}

.tss-card {
	position: relative; overflow: hidden;
	background: #fff !important;
	border: 1px solid #E3E6E9 !important;
	border-radius: 16px !important;
	padding: 26px 26px 24px !important;
	align-items: flex-start !important; justify-content: flex-start !important;
	text-align: left; gap: 14px !important;
	transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.tss-band--white .tss-card { background: #F7F8FA !important; }
.tss-card::before {
	content: ""; position: absolute; left: 0; top: 0; width: 100%; height: 3px;
	background: #FF7505; transform: scaleX(0); transform-origin: left; transition: transform .25s ease;
}
.tss-card:hover { transform: translateY(-3px); box-shadow: 0 14px 30px rgba(16, 24, 40, .10); border-color: #FFCFA3 !important; }
.tss-card:hover::before { transform: scaleX(1); }
@media (prefers-reduced-motion: reduce) { .tss-card, .tss-card::before { transition: none; } .tss-card:hover { transform: none; } }

.tss-card .elementor-widget-icon { width: auto !important; }
.tss-card .elementor-icon {
	display: flex !important; align-items: center; justify-content: center;
	width: 52px; height: 52px; border-radius: 14px;
	background: #FFF1E3; color: #E86500 !important; font-size: 22px !important;
}
.tss-card .elementor-icon i { color: #E86500 !important; font-size: 22px !important; }
.tss-card .elementor-icon svg { width: 22px !important; height: 22px !important; fill: #E86500 !important; }

.tss-card .elementor-widget-text-editor { width: 100% !important; max-width: none !important; margin: 0 !important; text-align: left !important; }
.tss-card .elementor-widget-text-editor p { margin: 0 0 6px; color: #4B5560; font-size: 15px !important; line-height: 1.6; text-align: left !important; }
.tss-card .elementor-widget-text-editor p:first-child { margin-bottom: 4px; }
.tss-card .elementor-widget-text-editor p:first-child, .tss-card .elementor-widget-text-editor p:first-child strong { color: #111; font-size: 18px !important; font-weight: 700; line-height: 1.3; }
@media (max-width: 767px) {
	.tss-card { padding: 20px 20px 18px !important; gap: 12px !important; }
	.tss-card .elementor-widget-text-editor p:first-child, .tss-card .elementor-widget-text-editor p:first-child strong { font-size: 17px !important; }
}

/* dark call-out panel (replaces stock photos where no suitable image exists) */
.tss-panel { background: #1f2937 !important; background-image: linear-gradient(145deg, #1f2937 0%, #111827 100%) !important; border-radius: 20px !important; padding: 40px !important; color: #fff; display: flex; flex-direction: column; justify-content: center; min-height: 320px; gap: 18px !important; }
.tss-panel * { color: inherit; }
.tss-panel .tss-panel__eyebrow { color: #FFB066; font-size: 13px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; margin: 0; }
.tss-panel .tss-panel__phone { display: inline-flex; align-items: center; gap: 12px; color: #fff !important; font-size: 34px; font-weight: 800; line-height: 1.1; text-decoration: none; }
.tss-panel .tss-panel__phone svg { color: #FF7505; width: 28px; height: 28px; flex: none; }
.tss-panel ul { list-style: none; margin: 6px 0 0; padding: 0; display: grid; gap: 12px; }
.tss-panel li { display: flex; gap: 12px; align-items: flex-start; font-size: 16px; line-height: 1.45; color: #E5E7EB; }
.tss-panel li svg { color: #FF7505; width: 20px; height: 20px; flex: none; margin-top: 2px; }
@media (max-width: 767px) { .tss-panel { padding: 26px !important; } .tss-panel .tss-panel__phone { font-size: 26px; } }

/* compact horizontal cards on phones: icon left, text right */
@media (max-width: 600px) {
	.tss-card { flex-direction: row !important; align-items: flex-start !important; gap: 14px !important; }
	.tss-card .elementor-widget-icon { flex: none; }
	.tss-card .elementor-icon { width: 44px; height: 44px; border-radius: 12px; }
	.tss-card .elementor-widget-text-editor { flex: 1 1 0; min-width: 0; }
}

/* photo cards (product shots on a light plate) */
.tss-card--img { align-items: stretch !important; }
.tss-card--img .elementor-widget-image { width: 100% !important; margin: 0 0 4px !important; background: #F3F5F7; border-radius: 12px; padding: 14px; }
.tss-card--img .elementor-widget-image img { display: block; width: 100% !important; height: 150px !important; max-width: none !important; object-fit: contain !important; }
@media (max-width: 600px) { .tss-card--img { flex-direction: column !important; } .tss-card--img .elementor-widget-image img { height: 130px !important; } }


/* ==========================================================================
   TSS lower-page layouts (temporary-security first; reusable on other service pages)
   .tss-sec (section) .tss-split .tss-rows .tss-strip .tss-bento .tss-steps
   .tss-contact (why-us + form) .tss-faq
   ========================================================================== */
:root { --tss-orange: #FF7505; --tss-orange-text: #B85400; --tss-ink: #111827; --tss-muted: #4B5560; --tss-line: #E3E6E9; --tss-dark: #1f2937; --tss-surface: #F5F6F6; }

.tss-sec { padding-left: 0 !important; padding-right: 0 !important; margin: 0 !important; }
.tss-sec > .e-con-inner { padding: 72px 50px !important; }
.tss-sec--grey { background: var(--tss-surface) !important; }
.tss-sec--white { background: #fff !important; }
.tss-sec--dark { background: var(--tss-dark) !important; background-image: linear-gradient(160deg, #1f2937 0%, #111827 100%) !important; }
@media (max-width: 1024px) { .tss-sec > .e-con-inner { padding: 56px 40px !important; } }
@media (max-width: 767px)  { .tss-sec > .e-con-inner { padding: 40px 20px !important; } }

/* headings */
.tss-eyebrow .elementor-heading-title { margin: 0 !important; color: var(--tss-orange-text) !important; font-family: Inter, sans-serif; font-size: 13px !important; font-weight: 700 !important; letter-spacing: .1em; text-transform: uppercase; line-height: 1.2; }
.tss-h2 .elementor-heading-title { margin: 0 !important; color: var(--tss-ink) !important; font-family: Inter, sans-serif; font-size: clamp(26px, 3.1vw, 38px) !important; font-weight: 800 !important; line-height: 1.15 !important; text-transform: none !important; }
.tss-h3 .elementor-heading-title { margin: 0 !important; color: var(--tss-ink) !important; font-family: Inter, sans-serif; font-size: 18px !important; font-weight: 700 !important; line-height: 1.3 !important; text-transform: none !important; }
.tss-text, .tss-text p { color: var(--tss-muted); font-size: 15px; line-height: 1.65; margin: 0; }
.tss-text.tss-lead, .tss-lead p { font-size: 17px; line-height: 1.6; }
.tss-text { width: 100% !important; max-width: none !important; text-align: left !important; }
.tss-text p { text-align: left !important; font-size: inherit !important; color: inherit !important; margin: 0 0 8px !important; }
.tss-center { text-align: center; align-items: center !important; }
.tss-center .elementor-widget { text-align: center !important; width: auto; }
.tss-head { gap: 10px !important; margin-bottom: 36px !important; max-width: 720px; }
.tss-head.tss-center { margin-left: auto !important; margin-right: auto !important; }
.tss-head .elementor-widget { width: 100% !important; max-width: none !important; margin: 0 !important; }

/* shared icon tile */
.tss-row .elementor-icon, .tss-tile .elementor-icon, .tss-strip__item .elementor-icon {
	display: flex !important; align-items: center; justify-content: center; width: 52px; height: 52px; border-radius: 14px;
	background: #FFF1E3; color: #E86500 !important; font-size: 22px !important;
}
.tss-row .elementor-icon svg, .tss-tile .elementor-icon svg, .tss-strip__item .elementor-icon svg { width: 22px !important; height: 22px !important; fill: #E86500 !important; }
.tss-row .elementor-widget-icon, .tss-tile .elementor-widget-icon, .tss-strip__item .elementor-widget-icon { width: auto !important; flex: none; }

/* split: sticky intro left, row list right */
.tss-split { display: grid !important; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr) !important; gap: 64px !important; align-items: start !important; }
.tss-split__intro { position: sticky; top: 170px; gap: 14px !important; align-items: flex-start !important; }
.tss-split__intro .elementor-widget { width: 100% !important; max-width: none !important; margin: 0 !important; }
.tss-split__intro .elementor-widget-button { width: auto !important; margin-top: 10px !important; }
.tss-rows { display: grid !important; gap: 0 !important; }
.tss-row { display: grid !important; grid-template-columns: 52px minmax(0, 1fr) !important; column-gap: 20px !important; padding: 24px 0 !important; border-bottom: 1px solid var(--tss-line) !important; align-items: start !important; }
.tss-row:first-child { border-top: 1px solid var(--tss-line) !important; }
.tss-row__body { gap: 4px !important; }
.tss-row__body .elementor-widget { width: 100% !important; margin: 0 !important; max-width: none !important; }
@media (max-width: 1024px) { .tss-split { grid-template-columns: minmax(0, 1fr) !important; gap: 32px !important; } .tss-split__intro { position: static; } }

/* dark feature strip */
.tss-dark .tss-eyebrow .elementor-heading-title { color: #FFB066 !important; }
.tss-dark .tss-h2 .elementor-heading-title, .tss-dark .tss-h3 .elementor-heading-title { color: #fff !important; }
.tss-dark .tss-text, .tss-dark .tss-text p { color: #B8C0CC; }
.tss-strip { display: grid !important; grid-template-columns: repeat(5, minmax(0, 1fr)) !important; gap: 0 !important; }
.tss-strip__item { padding: 4px 26px !important; border-left: 1px solid rgba(255,255,255,.14) !important; gap: 14px !important; align-items: flex-start !important; }
.tss-strip__item:first-child { border-left: 0 !important; padding-left: 0 !important; }
.tss-strip__item:last-child { padding-right: 0 !important; }
.tss-strip__item .elementor-icon { background: rgba(255,117,5,.16); }
.tss-strip__item .elementor-icon svg { fill: #FFA24D !important; }
.tss-strip__item .elementor-widget:not(.elementor-widget-icon) { width: 100% !important; margin: 0 !important; max-width: none !important; }
@media (max-width: 1024px) {
	.tss-strip { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 28px 0 !important; }
	.tss-strip__item, .tss-strip__item:first-child, .tss-strip__item:last-child { padding: 0 24px 0 0 !important; border-left: 0 !important; }
	.tss-strip__item:nth-child(even) { padding-left: 24px !important; border-left: 1px solid rgba(255,255,255,.14) !important; }
	.tss-strip__item:last-child { grid-column: 1 / -1; border-left: 0 !important; padding-left: 0 !important; }
}
@media (max-width: 600px) {
	.tss-strip { grid-template-columns: minmax(0, 1fr) !important; gap: 22px !important; }
	.tss-strip .tss-strip__item, .tss-strip .tss-strip__item:first-child, .tss-strip .tss-strip__item:nth-child(even), .tss-strip .tss-strip__item:last-child { padding: 0 0 22px !important; border-left: 0 !important; border-bottom: 1px solid rgba(255,255,255,.14) !important; flex-direction: row !important; gap: 16px !important; }
	.tss-strip .tss-strip__item:last-child { border-bottom: 0 !important; padding-bottom: 0 !important; }
	.tss-strip__body { gap: 4px !important; flex: 1 1 0 !important; min-width: 0; width: auto !important; }
}

/* bento tiles */
.tss-bento { display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)) !important; gap: 18px !important; }
.tss-tile { background: #fff !important; border-radius: 20px !important; padding: 28px !important; gap: 14px !important; align-items: flex-start !important; justify-content: flex-start !important; transition: transform .2s ease, box-shadow .2s ease; }
.tss-tile:hover { transform: translateY(-3px); box-shadow: 0 14px 30px rgba(16,24,40,.09); }
.tss-tile .elementor-widget:not(.elementor-widget-icon) { width: 100% !important; margin: 0 !important; max-width: none !important; }
.tss-tile--cta { background: linear-gradient(145deg, #FF7505 0%, #FF9A3D 100%) !important; justify-content: space-between !important; }
.tss-tile--cta .tss-h3 .elementor-heading-title { color: #1a1a1a !important; font-size: 22px !important; }
.tss-tile--cta .tss-text, .tss-tile--cta .tss-text p { color: #2b1a08; }
.tss-tile--cta .elementor-button { background: #1a1a1a !important; color: #fff !important; border-radius: 12px !important; font-weight: 700; padding: 14px 24px; }
.tss-tile--cta .elementor-widget-button { width: auto !important; }
@media (max-width: 900px) { .tss-bento { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; } }
@media (max-width: 600px) {
	.tss-bento { grid-template-columns: minmax(0, 1fr) !important; gap: 12px !important; }
	.tss-tile { flex-direction: row !important; padding: 20px !important; gap: 14px !important; }
	.tss-tile .elementor-icon { width: 44px; height: 44px; border-radius: 12px; }
	.tss-tile__body { gap: 4px !important; flex: 1 1 0 !important; min-width: 0; width: auto !important; }
	.tss-tile--cta { flex-direction: column !important; }
}
@media (prefers-reduced-motion: reduce) { .tss-tile { transition: none; } .tss-tile:hover { transform: none; } }

/* steps (timeline) */
.tss-steps { display: grid !important; grid-template-columns: repeat(5, minmax(0, 1fr)) !important; gap: 24px !important; }
.tss-step { position: relative; gap: 14px !important; align-items: flex-start !important; }
.tss-step__num { width: auto !important; flex: none; }
.tss-step__num .elementor-heading-title { width: 44px; height: 44px; border-radius: 50%; background: var(--tss-orange); color: #1a1a1a !important; display: grid; place-items: center; font-size: 18px !important; font-weight: 800 !important; line-height: 1 !important; margin: 0 !important; }
.tss-step:not(:last-child)::after { content: ""; position: absolute; top: 21px; left: 56px; width: calc(100% - 44px); border-top: 2px dashed #D6DADF; }
.tss-step__body { gap: 6px !important; }
.tss-step__body .elementor-widget { width: 100% !important; margin: 0 !important; max-width: none !important; }
@media (max-width: 900px) {
	.tss-steps { grid-template-columns: minmax(0, 1fr) !important; gap: 0 !important; }
	.tss-step { display: grid !important; grid-template-columns: 44px minmax(0, 1fr) !important; column-gap: 18px !important; padding-bottom: 28px !important; }
	.tss-step:last-child { padding-bottom: 0 !important; }
	.tss-step:not(:last-child)::after { left: 21px; top: 52px; width: 0; height: calc(100% - 60px); border-top: 0; border-left: 2px dashed #D6DADF; }
}

/* why us + form */
.tss-contact { display: grid !important; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr) !important; gap: 28px !important; align-items: stretch !important; }
.tss-whyus { background: var(--tss-dark) !important; background-image: linear-gradient(160deg, #1f2937 0%, #111827 100%) !important; border-radius: 22px !important; padding: 40px !important; gap: 16px !important; align-items: flex-start !important; }
.tss-whyus .elementor-widget { width: 100% !important; max-width: none !important; margin: 0 !important; }
.tss-whyus .tss-eyebrow .elementor-heading-title { color: #FFB066 !important; }
.tss-whyus .tss-h2 .elementor-heading-title, .tss-whyus .tss-h3 .elementor-heading-title { color: #fff !important; }
.tss-whyus .tss-h3 .elementor-heading-title { font-size: 16px !important; }
.tss-whyus .tss-text, .tss-whyus .tss-text p { color: #B8C0CC; font-size: 14.5px; }
.tss-check { display: grid !important; grid-template-columns: 28px minmax(0, 1fr) !important; column-gap: 14px !important; padding-top: 16px !important; border-top: 1px solid rgba(255,255,255,.12) !important; align-items: start !important; }
.tss-check .elementor-icon { display: flex !important; align-items: center; justify-content: center; width: 28px; height: 28px; border-radius: 50%; background: rgba(255,117,5,.2); }
.tss-check .elementor-icon svg { width: 13px !important; height: 13px !important; fill: #FFA24D !important; }
.tss-check .elementor-widget-icon { width: auto !important; }
.tss-check__body { gap: 4px !important; }
.tss-formcard { background: #fff !important; border-radius: 22px !important; padding: 40px !important; box-shadow: 0 18px 46px rgba(16,24,40,.12); gap: 12px !important; align-items: flex-start !important; }
.tss-formcard > .elementor-widget { width: 100% !important; max-width: none !important; margin: 0 !important; }
.tss-formcard .tss-h2 .elementor-heading-title { font-size: clamp(22px, 2.4vw, 28px) !important; }
.tss-formcard .elementor-form-fields-wrapper { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px !important; margin: 6px 0 0 !important; }
.tss-formcard .elementor-field-group { width: auto !important; max-width: none !important; margin: 0 !important; padding: 0 !important; flex: none !important; }
.tss-formcard .elementor-field-type-textarea, .tss-formcard .elementor-field-type-submit, .tss-formcard .elementor-field-type-recaptcha_v3, .tss-formcard .elementor-field-type-honeypot { grid-column: 1 / -1; }
.tss-formcard .elementor-field-textual { width: 100% !important; min-height: 50px; padding: 12px 16px !important; font-family: Inter, sans-serif !important; font-size: 16px !important; color: var(--tss-ink) !important; background: #F8F9FB !important; border: 1px solid #CBD2D9 !important; border-radius: 12px !important; box-shadow: none !important; transition: border-color .15s, box-shadow .15s, background .15s; }
.tss-formcard textarea.elementor-field-textual { min-height: 120px; }
.tss-formcard .elementor-field-textual:focus { background: #fff !important; border-color: var(--tss-orange) !important; box-shadow: 0 0 0 3px rgba(255,117,5,.22) !important; outline: 0; }
.tss-formcard .elementor-select-wrapper select { padding-right: 36px !important; }
.tss-formcard .elementor-field-type-submit .elementor-button { width: 100% !important; background: var(--tss-orange) !important; color: #1a1a1a !important; border-radius: 12px !important; padding: 16px 24px !important; font-size: 17px !important; font-weight: 700 !important; }
.tss-formcard .elementor-field-type-submit .elementor-button:hover { background: #1a1a1a !important; color: #fff !important; }
@media (max-width: 1024px) { .tss-contact { grid-template-columns: minmax(0, 1fr) !important; } }
@media (max-width: 767px) { .tss-whyus, .tss-formcard { padding: 26px 22px !important; border-radius: 18px !important; } .tss-formcard .elementor-form-fields-wrapper { grid-template-columns: minmax(0, 1fr); } }

/* FAQ */
.tss-faq { display: grid !important; grid-template-columns: minmax(0, 4fr) minmax(0, 8fr) !important; gap: 56px !important; align-items: start !important; }
.tss-faq__intro { position: sticky; top: 170px; gap: 14px !important; align-items: flex-start !important; }
.tss-faq__intro .elementor-widget { width: 100% !important; max-width: none !important; margin: 0 !important; }
.tss-faq .tss-panel { margin-top: 10px; min-height: 0; padding: 28px !important; }
.tss-faq .tss-panel__phone { font-size: 26px; }
.tss-faq .e-n-accordion-item { background: #fff !important; border: 1px solid var(--tss-line) !important; border-radius: 14px !important; margin: 0 0 12px !important; padding: 0 22px !important; overflow: hidden; transition: border-color .2s, box-shadow .2s; }
.tss-faq .e-n-accordion-item[open] { border-color: #FFCFA3 !important; box-shadow: 0 10px 26px rgba(16,24,40,.07); }
.tss-faq .e-n-accordion-item-title { padding: 20px 0 !important; border: 0 !important; font-family: Inter, sans-serif; font-size: 17px; font-weight: 600; color: var(--tss-ink); gap: 16px; }
.tss-faq .e-n-accordion-item-title-text { text-align: left; }
.tss-faq .e-n-accordion-item > .e-con, .tss-faq .e-n-accordion-item .e-con { padding: 0 0 20px !important; border: 0 !important; margin: 0 !important; min-height: 0; }
.tss-faq .e-n-accordion-item .elementor-widget-text-editor, .tss-faq .e-n-accordion-item .elementor-widget-text-editor p { color: var(--tss-muted); font-size: 15.5px; line-height: 1.7; margin: 0 0 8px; }
.tss-faq .e-n-accordion-item-title-icon { color: #E86500; }
@media (max-width: 1024px) { .tss-faq { grid-template-columns: minmax(0, 1fr) !important; gap: 28px !important; } .tss-faq__intro { position: static; } }
@media (max-width: 600px) { .tss-faq .e-n-accordion-item { padding: 0 16px !important; } .tss-faq .e-n-accordion-item-title { font-size: 16px; } }

/* accreditations strip: smaller */
.tss-accred > .e-con-inner, .tss-accred > .elementor-element { padding-top: 0 !important; padding-bottom: 0 !important; }
.tss-accred .e-con { padding-top: 20px !important; padding-bottom: 20px !important; margin: 0 !important; gap: 14px !important; }
.tss-accred .elementor-heading-title { font-size: 13px !important; font-weight: 700 !important; letter-spacing: .09em; text-transform: uppercase !important; color: #5B6670 !important; margin: 0 !important; }
.tss-accred .swiper-slide { display: flex; align-items: center; justify-content: center; height: 70px !important; }
.tss-accred .swiper-slide img, .tss-accred .elementor-image-carousel img { max-height: 56px !important; width: auto !important; max-width: 100% !important; object-fit: contain; }

/* refinements */
.tss-accred .e-con-inner { padding: 0 !important; }
.tss-faq .e-n-accordion-item .e-con .e-con, .tss-faq .e-n-accordion-item .e-con-inner { padding: 0 !important; margin: 0 !important; min-height: 0 !important; }
@media (min-width: 1025px) { .tss-formcard { position: sticky; top: 160px; align-self: start; } }
@media (max-width: 600px) { .tss-strip .tss-strip__item, .tss-tile:not(.tss-tile--cta), .tss-card { flex-wrap: nowrap !important; } }

/* service-page path cards (home / business) and vertical timeline */
.tss-grid-2 { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
@media (max-width: 767px) { .tss-grid-2 { grid-template-columns: minmax(0, 1fr) !important; } }
.tss-card .elementor-widget-heading .elementor-heading-title { margin: 0 !important; color: #111 !important; font-family: Inter, sans-serif; font-size: 22px !important; font-weight: 800 !important; line-height: 1.2 !important; text-transform: none !important; text-align: left !important; }
.tss-card .elementor-widget-heading { width: 100% !important; margin: 0 !important; }
.tss-path .elementor-widget-image img { height: 220px !important; }
.tss-path .elementor-widget-button { width: auto !important; margin-top: 6px !important; }
.tss-path .elementor-button { background: #FF7505 !important; color: #1a1a1a !important; border-radius: 12px !important; font-weight: 700 !important; padding: 14px 24px !important; }
.tss-path .elementor-button:hover { background: #1a1a1a !important; color: #fff !important; }
.tss-split__media .elementor-widget-image { width: 100% !important; margin: 14px 0 0 !important; }
.tss-split__media .elementor-widget-image img { width: 100% !important; height: 260px !important; object-fit: cover; border-radius: 20px; display: block; }
.tss-steps--v { grid-template-columns: minmax(0, 1fr) !important; gap: 0 !important; }
.tss-steps--v .tss-step { display: grid !important; grid-template-columns: 44px minmax(0, 1fr) !important; column-gap: 18px !important; padding-bottom: 30px !important; }
.tss-steps--v .tss-step:last-child { padding-bottom: 0 !important; }
.tss-steps--v .tss-step:not(:last-child)::after { left: 21px; top: 52px; width: 0; height: calc(100% - 60px); border-top: 0; border-left: 2px dashed #D6DADF; }


/* ==========================================================================
   Footer (Elementor footer template)
   ========================================================================== */
.tss-footer { background: #0f1720 !important; background-image: linear-gradient(180deg, #111827 0%, #0b1118 100%) !important; border-top: 3px solid var(--tss-orange); padding: 0 !important; margin: 0 !important; }
.tss-footer > .e-con-inner { padding: 64px 50px 40px !important; }
.tss-footer__grid { display: grid !important; grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1.3fr) !important; gap: 48px !important; align-items: start !important; }
.tss-footer__col { gap: 16px !important; align-items: flex-start !important; }
.tss-footer__col .elementor-widget { width: 100% !important; max-width: none !important; margin: 0 !important; }
.tss-fhead .elementor-heading-title { margin: 0 !important; color: #FFB066 !important; font-family: Inter, sans-serif; font-size: 13px !important; font-weight: 700 !important; letter-spacing: .1em; text-transform: uppercase; line-height: 1.2; }
.tss-ftag .elementor-heading-title { margin: 0 !important; color: #fff !important; font-family: Inter, sans-serif; font-size: 20px !important; font-weight: 700 !important; line-height: 1.3 !important; }
.tss-footer .elementor-widget-image img { width: 190px !important; max-width: 100%; height: auto; }
.tss-flinks .elementor-icon-list-items { display: grid; gap: 10px; }
.tss-flinks .elementor-icon-list-item { margin: 0 !important; padding: 0 !important; }
.tss-flinks .elementor-icon-list-text { color: #C7CED8 !important; font-family: Inter, sans-serif; font-size: 15px !important; padding: 0 !important; transition: color .15s; }
.tss-flinks a:hover .elementor-icon-list-text { color: var(--tss-orange) !important; }
.tss-flinks .elementor-icon-list-icon { display: none !important; }
.tss-fcontact .elementor-icon-list-items { display: grid; gap: 14px; }
.tss-fcontact .elementor-icon-list-item { margin: 0 !important; }
.tss-fcontact .elementor-icon-list-text { color: #E5E7EB !important; font-family: Inter, sans-serif; font-size: 15px !important; padding-left: 12px !important; }
.tss-fcontact .elementor-icon-list-item a:hover .elementor-icon-list-text { color: var(--tss-orange) !important; }
.tss-fcontact .elementor-icon-list-icon svg { fill: var(--tss-orange) !important; width: 18px !important; height: 18px !important; }
.tss-fcontact .elementor-icon-list-icon i { color: var(--tss-orange) !important; }
.tss-fsocial .elementor-social-icons-wrapper { display: flex; gap: 10px; flex-wrap: wrap; }
.tss-fsocial .elementor-grid-item { margin: 0 !important; }
.tss-fsocial .elementor-social-icon { width: 42px !important; height: 42px !important; border-radius: 12px !important; background: rgba(255,255,255,.07) !important; border: 1px solid rgba(255,255,255,.16) !important; display: inline-flex !important; align-items: center; justify-content: center; transition: background .15s, border-color .15s; }
.tss-fsocial .elementor-social-icon:hover { background: var(--tss-orange) !important; border-color: var(--tss-orange) !important; }
.tss-fsocial .elementor-social-icon svg, .tss-fsocial .elementor-social-icon img { width: 20px !important; height: 20px !important; fill: #fff !important; }
.tss-footer .elementor-button { background: var(--tss-orange) !important; color: #1a1a1a !important; border-radius: 12px !important; font-family: Inter, sans-serif; font-weight: 700 !important; font-size: 16px !important; padding: 14px 26px !important; }
.tss-footer .elementor-button:hover { background: #fff !important; color: #1a1a1a !important; }
.tss-footer .elementor-widget-button { width: auto !important; }
.tss-fbar { background: #0b1118 !important; border-top: 1px solid rgba(255,255,255,.08); padding: 0 !important; margin: 0 !important; }
.tss-fbar > .e-con-inner { padding: 18px 50px !important; }
.tss-fbar__row { display: flex !important; flex-direction: row !important; flex-wrap: wrap; align-items: center !important; justify-content: space-between !important; gap: 10px 24px !important; }
.tss-fbar .elementor-widget { width: auto !important; margin: 0 !important; max-width: none !important; }
.tss-fbar .elementor-widget-text-editor, .tss-fbar .elementor-widget-text-editor p { color: #8A94A3 !important; font-family: Inter, sans-serif; font-size: 14px !important; margin: 0; text-align: left !important; }
.tss-fbar .tss-flinks .elementor-icon-list-items { display: flex; gap: 22px; flex-wrap: wrap; }
.tss-fbar .tss-flinks .elementor-icon-list-text { color: #8A94A3 !important; font-size: 14px !important; }
@media (max-width: 1024px) { .tss-footer__grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 36px 32px !important; } .tss-footer > .e-con-inner { padding: 48px 40px 32px !important; } .tss-fbar > .e-con-inner { padding: 18px 40px !important; } }
@media (max-width: 767px) {
	.tss-footer > .e-con-inner { padding: 40px 20px 28px !important; } .tss-fbar > .e-con-inner { padding: 16px 20px !important; }
	.tss-footer__grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 32px 20px !important; }
	.tss-footer__grid > .tss-footer__col:first-child, .tss-footer__grid > .tss-footer__col:last-child { grid-column: 1 / -1; }
	.tss-fbar__row { flex-direction: column !important; align-items: flex-start !important; }
}
.tss-footer .elementor-widget-image { text-align: left !important; }
.tss-fsocial .elementor-social-icons-wrapper { justify-content: flex-start !important; }
.tss-footer .tss-ftext, .tss-footer .tss-ftext p { color: #9AA4B2 !important; font-size: 14.5px !important; line-height: 1.6; }
.tss-fsocial .elementor-social-icon svg, .tss-fsocial .elementor-social-icon i { fill: #fff !important; color: #fff !important; }

/* local (Liverpool) page variants */
.tss-split--rev { grid-template-columns: minmax(0, 7fr) minmax(0, 5fr) !important; }
.tss-split--rev > .tss-split__intro { order: 2; }
@media (max-width: 1024px) { .tss-split--rev { grid-template-columns: minmax(0, 1fr) !important; } .tss-split--rev > .tss-split__intro { order: 0; } }
.tss-bento--2 { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
@media (max-width: 600px) { .tss-bento--2 { grid-template-columns: minmax(0, 1fr) !important; } }
.tss-row--tick .tss-h3 .elementor-heading-title { font-size: 17px !important; font-weight: 600 !important; padding-top: 12px; }
.tss-row--tick { align-items: center !important; padding: 16px 0 !important; }
.tss-stat { text-align: center; align-items: center !important; gap: 14px !important; max-width: 860px; margin: 0 auto; }
.tss-stat .tss-h2 .elementor-heading-title { color: #fff !important; font-size: clamp(24px, 3.2vw, 38px) !important; line-height: 1.25 !important; }
.tss-stat .elementor-widget { width: 100% !important; max-width: none !important; margin: 0 !important; text-align: center !important; }
.tss-btnrow { display: flex !important; flex-direction: row !important; flex-wrap: wrap; gap: 12px !important; align-items: center !important; }
.tss-btnrow .elementor-widget-button { width: auto !important; margin: 0 !important; }
.tss-btn--ghost .elementor-button { background: transparent !important; color: #111 !important; border: 2px solid #CBD2D9 !important; }
.tss-btn--ghost .elementor-button:hover { background: #1a1a1a !important; color: #fff !important; border-color: #1a1a1a !important; }


/* ==========================================================================
   Header: one slim sticky row (logo | nav with dropdowns | phone + quote)
   ========================================================================== */
.tss-hdr-sticky { box-shadow: 0 1px 0 rgba(17,24,39,.06), 0 6px 18px rgba(17,24,39,.07) !important; }
@media (min-width: 1025px) {
	.tss-hdr-row { flex-wrap: nowrap !important; padding-top: 0 !important; padding-bottom: 0 !important; }
	.tss-hdr-row > .e-con-inner { padding-top: 8px !important; padding-bottom: 8px !important; transition: padding .2s ease; }
	.tss-hdr-logo { width: auto !important; flex: none !important; }
	.tss-hdr-logo img { width: 156px !important; transition: width .2s ease; }
	.tss-hdr-right { width: auto !important; flex: none !important; gap: 18px !important; }
	.tss-hdr-nav { flex: 1 1 auto !important; min-width: 0; width: auto !important; }
	.tss-hdr-nav .elementor-nav-menu--main > .elementor-nav-menu { display: flex; justify-content: center; flex-wrap: nowrap; }
	.tss-hdr-nav .elementor-nav-menu--main .elementor-item { white-space: nowrap; letter-spacing: .01em; }
	.tss-hdr-nav li.tss-menu-contact { display: none !important; }
	.tss-scrolled .tss-hdr-row > .e-con-inner { padding-top: 4px !important; padding-bottom: 4px !important; }
	.tss-scrolled .tss-hdr-logo img { width: 136px !important; }
}
/* dropdown panels */
.tss-hdr-nav .elementor-nav-menu--main .sub-menu { min-width: 250px; padding: 8px !important; margin-top: 8px !important; background: #fff !important; border: 1px solid #E3E6E9 !important; border-radius: 14px !important; box-shadow: 0 18px 40px rgba(16,24,40,.16) !important; }
.tss-hdr-nav .elementor-nav-menu--main .sub-menu::before { content: ""; position: absolute; left: 0; right: 0; top: -10px; height: 10px; }
.tss-hdr-nav .elementor-nav-menu--main .sub-menu li { margin: 0; }
.tss-hdr-nav .elementor-nav-menu--main .sub-menu .elementor-sub-item { display: block; padding: 11px 14px !important; border-radius: 10px; font-size: 14px !important; font-weight: 500 !important; text-transform: none !important; color: #1F2937 !important; white-space: nowrap; }
.tss-hdr-nav .elementor-nav-menu--main .sub-menu .elementor-sub-item:hover, .tss-hdr-nav .elementor-nav-menu--main .sub-menu .elementor-sub-item:focus { background: #FFF1E3 !important; color: #B85400 !important; }
.tss-hdr-nav .sub-arrow { margin-left: 4px; font-size: 10px; }
@media (prefers-reduced-motion: reduce) { .tss-hdr-row > .e-con-inner, .tss-hdr-logo img { transition: none !important; } }

/* below 1350px the full nav no longer fits: use the hamburger (same as tablet) */
@media (min-width: 1025px) and (max-width: 1349px) {
	.tss-hdr-nav { display: none !important; }
	.elementor-element.tss-hdr-toggle.elementor-hidden-desktop { display: block !important; }
	.tss-hdr-right { margin-left: auto; }
}


/* ==========================================================================
   Homepage hero + support strip
   ========================================================================== */
.tss-hero { background: var(--tss-surface) !important; background-image: radial-gradient(900px 420px at 88% 12%, rgba(255,117,5,.13), transparent 60%), radial-gradient(700px 380px at 0% 100%, rgba(43,102,162,.10), transparent 60%) !important; padding: 0 !important; margin: 0 !important; }
.tss-hero > .e-con-inner { padding: 56px 50px 64px !important; }
.tss-hero__grid { display: grid !important; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr) !important; gap: 56px !important; align-items: center !important; }
.tss-hero__copy { gap: 20px !important; align-items: flex-start !important; }
.tss-hero__copy .elementor-widget { width: 100% !important; max-width: none !important; margin: 0 !important; }
.tss-h1 .elementor-heading-title { margin: 0 !important; color: var(--tss-ink) !important; font-family: Inter, sans-serif; font-size: clamp(32px, 4.3vw, 56px) !important; font-weight: 800 !important; line-height: 1.08 !important; text-transform: none !important; letter-spacing: -.01em; }
.tss-h1 .elementor-heading-title em { font-style: normal; color: var(--tss-orange-text); }
.tss-hero .tss-lead, .tss-hero .tss-lead p { max-width: 640px; font-size: 18px !important; }
.tss-chips { list-style: none; margin: 4px 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: 10px 22px; }
.tss-chips li { display: inline-flex; align-items: center; gap: 8px; font-family: Inter, sans-serif; font-size: 15px; font-weight: 600; color: #1f2937; }
.tss-chips svg { width: 20px; height: 20px; color: #E86500; flex: none; }
.tss-quick { background: var(--tss-dark) !important; background-image: linear-gradient(160deg, #1f2937 0%, #111827 100%) !important; border-radius: 24px !important; padding: 30px !important; gap: 8px !important; align-items: flex-start !important; box-shadow: 0 24px 60px rgba(16,24,40,.28); }
.tss-quick .elementor-widget { width: 100% !important; max-width: none !important; margin: 0 !important; }
.tss-quick .tss-eyebrow .elementor-heading-title { color: #FFB066 !important; }
.tss-quick .tss-h3 .elementor-heading-title { color: #fff !important; font-size: 22px !important; margin-bottom: 8px !important; }
.tss-quick .elementor-icon-list-items { display: grid; gap: 8px; margin-top: 8px; }
.tss-quick .elementor-icon-list-item { margin: 0 !important; }
.tss-quick .elementor-icon-list-item > a { display: flex; align-items: center; gap: 14px; padding: 12px 14px; border-radius: 14px; background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.10); transition: background .15s, border-color .15s, transform .15s; }
.tss-quick .elementor-icon-list-item > a:hover { background: rgba(255,117,5,.18); border-color: rgba(255,117,5,.5); transform: translateX(3px); }
.tss-quick .elementor-icon-list-icon { display: flex !important; align-items: center; justify-content: center; width: 38px; height: 38px; border-radius: 10px; background: rgba(255,117,5,.18); flex: none; padding: 0 !important; }
.tss-quick .elementor-icon-list-icon svg { width: 18px !important; height: 18px !important; fill: #FFA24D !important; }
.tss-quick .elementor-icon-list-text { color: #fff !important; font-family: Inter, sans-serif; font-size: 16px !important; font-weight: 600; padding: 0 !important; flex: 1; }
.tss-quick .elementor-icon-list-item > a::after { content: "\2192"; color: #FFA24D; font-size: 18px; }
.tss-strip--4 { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; }
@media (max-width: 1024px) {
	.tss-hero > .e-con-inner { padding: 40px 40px 48px !important; }
	.tss-hero__grid { grid-template-columns: minmax(0, 1fr) !important; gap: 36px !important; }
	.tss-strip--4 { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
	.tss-strip--4 .tss-strip__item:nth-child(odd) { padding-left: 0 !important; border-left: 0 !important; }
	.tss-strip--4 .tss-strip__item:nth-child(even) { padding-left: 24px !important; border-left: 1px solid rgba(255,255,255,.14) !important; }
	.tss-strip--4 .tss-strip__item:last-child { grid-column: auto; }
}
@media (max-width: 767px) { .tss-hero > .e-con-inner { padding: 28px 20px 36px !important; } .tss-quick { padding: 22px 18px !important; border-radius: 20px !important; } .tss-hero .tss-lead, .tss-hero .tss-lead p { font-size: 16px !important; } }
@media (max-width: 600px) { .tss-strip--4 { grid-template-columns: minmax(0, 1fr) !important; } .tss-strip--4 .tss-strip__item, .tss-strip--4 .tss-strip__item:nth-child(even), .tss-strip--4 .tss-strip__item:nth-child(odd) { padding: 0 0 22px !important; border-left: 0 !important; } .tss-hero .tss-btnrow .elementor-widget-button { flex: 1 1 100%; } .tss-hero .tss-btnrow .elementor-button { width: 100%; text-align: center; } }
.tss-hero__copy .elementor-widget-button, .tss-hero__copy .tss-btnrow .elementor-widget-button { width: auto !important; }


/* ==========================================================================
   Logo strips (accreditations / partners): static, compact, centred.
   The Elementor image carousel rotates 5 of 8 logos in very wide slots; show them all in one tidy row.
   ========================================================================== */
.tss-accred .e-con { padding-top: 18px !important; padding-bottom: 18px !important; gap: 14px !important; }
.tss-accred .elementor-widget-image-carousel { width: 100% !important; max-width: 1100px; margin: 0 auto !important; }
.tss-accred .elementor-image-carousel-wrapper.swiper { overflow: visible !important; }
.tss-accred .swiper-wrapper { display: flex !important; flex-wrap: wrap !important; justify-content: center !important; align-items: center !important; gap: 16px 44px !important; width: 100% !important; transform: none !important; transition: none !important; height: auto !important; }
.tss-accred .swiper-slide { width: auto !important; height: auto !important; margin: 0 !important; flex: 0 0 auto !important; display: flex; align-items: center; justify-content: center; }
.tss-accred .swiper-slide-duplicate { display: none !important; }
.tss-accred .swiper-slide img, .tss-accred .elementor-image-carousel img { height: 52px !important; width: auto !important; max-width: 150px !important; max-height: none !important; object-fit: contain; }
.tss-accred .swiper-slide figure { margin: 0; }
.tss-accred .elementor-swiper-button, .tss-accred .swiper-pagination { display: none !important; }
.tss-partners .swiper-slide img, .tss-partners .elementor-image-carousel img { height: 40px !important; max-width: 130px !important; filter: grayscale(1); opacity: .78; transition: filter .2s, opacity .2s; }
.tss-partners .swiper-slide:hover img { filter: none; opacity: 1; }
@media (max-width: 767px) {
	.tss-accred .swiper-wrapper { gap: 12px 20px !important; }
	.tss-accred .swiper-slide img, .tss-accred .elementor-image-carousel img { height: 32px !important; max-width: 90px !important; }
	.tss-partners .swiper-slide img, .tss-partners .elementor-image-carousel img { height: 30px !important; max-width: 96px !important; }
}
.tss-partners .e-con { padding-top: 30px !important; padding-bottom: 30px !important; }
.tss-partners > .e-con-inner { padding-top: 0 !important; padding-bottom: 0 !important; }

/* ---- Fire alarm section additions ---- */
.tss-strip--3 { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
@media (max-width: 900px) {
	.tss-strip--3 { grid-template-columns: minmax(0, 1fr) !important; gap: 22px !important; }
	.tss-strip--3 .tss-strip__item, .tss-strip--3 .tss-strip__item:first-child, .tss-strip--3 .tss-strip__item:last-child { padding: 0 0 22px !important; border-left: 0 !important; border-bottom: 1px solid rgba(255,255,255,.14) !important; }
	.tss-strip--3 .tss-strip__item:last-child { border-bottom: 0 !important; padding-bottom: 0 !important; }
}
/* seven service cards: 4 + 3 */
.tss-grid-7 { grid-template-columns: repeat(12, minmax(0, 1fr)) !important; }
.tss-grid-7 > .tss-card { grid-column: span 4; }
.tss-grid-7 > .tss-card:nth-child(-n+4) { grid-column: span 3; }
@media (max-width: 1100px) {
	.tss-grid-7 { grid-template-columns: repeat(6, minmax(0, 1fr)) !important; }
	.tss-grid-7 > .tss-card, .tss-grid-7 > .tss-card:nth-child(-n+4) { grid-column: span 2; }
	.tss-grid-7 > .tss-card:nth-child(-n+3) { grid-column: span 2; }
}
@media (max-width: 900px) {
	.tss-grid-7 { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
	.tss-grid-7 > .tss-card, .tss-grid-7 > .tss-card:nth-child(-n+4) { grid-column: span 1; }
	.tss-grid-7 > .tss-card:last-child { grid-column: 1 / -1; }
}
@media (max-width: 600px) {
	.tss-grid-7 { grid-template-columns: minmax(0, 1fr) !important; }
	.tss-grid-7 > .tss-card:last-child { grid-column: auto; }
}
/* text link inside tiles and cards */
.tss-more, .tss-text a.tss-more { color: #B85400 !important; font-weight: 700; text-decoration: none !important; display: inline-block; }
.tss-more:hover { text-decoration: underline !important; }
/* cross-sell line on other service pages */
.tss-xlink { display: flex; align-items: center; gap: 18px; background: #fff; border: 1px solid #E5E7EB; border-left: 4px solid #FF7505; border-radius: 16px; padding: 20px 24px; }
.tss-xlink svg { width: 28px; height: 28px; color: #E86500; flex: none; }
.tss-xlink p { margin: 0; font-family: Inter, sans-serif; font-size: 16px; line-height: 1.5; color: #1f2937; }
.tss-xlink a { color: #B85400; font-weight: 700; text-decoration: none; white-space: nowrap; }
.tss-xlink a:hover { text-decoration: underline; }
@media (max-width: 600px) { .tss-xlink { padding: 16px 18px; gap: 14px; } .tss-xlink a { white-space: normal; } }

/* ---- Accreditation logo links + accreditation pages ---- */
.tss-logos { list-style: none; margin: 0 auto; padding: 0; max-width: 1200px; display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 16px 36px; }
.tss-logos li { margin: 0; padding: 0; }
.tss-logos a { display: flex; align-items: center; justify-content: center; border-radius: 8px; transition: transform .15s ease, opacity .15s ease; }
.tss-logos a:hover { transform: translateY(-2px); opacity: .85; }
.tss-logos img { height: 52px; width: auto; max-width: 150px; object-fit: contain; display: block; }
@media (max-width: 767px) { .tss-logos { gap: 12px 20px; } .tss-logos img { height: 32px; max-width: 90px; } }
.tss-logocard { background: #fff; border-radius: 24px; box-shadow: 0 24px 60px rgba(16,24,40,.14); border: 1px solid #E5E7EB; min-height: 240px; display: flex; align-items: center; justify-content: center; padding: 40px; }
.tss-logocard img { max-height: 130px; max-width: 100%; width: auto; object-fit: contain; display: block; }
@media (max-width: 767px) { .tss-logocard { min-height: 160px; padding: 28px; border-radius: 20px; } .tss-logocard img { max-height: 90px; } }
.tss-logogrid { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; justify-content: center; gap: 20px; }
.tss-logogrid li { flex: 0 1 calc(25% - 15px); min-width: 230px; margin: 0; }
.tss-logogrid a { display: flex; flex-direction: column; gap: 10px; height: 100%; background: #fff; border: 1px solid #E5E7EB; border-radius: 20px; padding: 24px; text-decoration: none !important; color: #1f2937; transition: transform .2s ease, box-shadow .2s ease; }
.tss-logogrid a:hover { transform: translateY(-3px); box-shadow: 0 14px 30px rgba(16,24,40,.09); }
.tss-logogrid .tss-lg__img { height: 64px; display: flex; align-items: center; }
.tss-logogrid img { max-height: 56px; max-width: 150px; width: auto; object-fit: contain; }
.tss-logogrid strong { font-family: Inter, sans-serif; font-size: 18px; font-weight: 700; color: #111827; }
.tss-logogrid span.tss-lg__t { font-family: Inter, sans-serif; font-size: 15px; line-height: 1.5; color: #4B5563; }
.tss-logogrid span.tss-lg__m { font-family: Inter, sans-serif; font-size: 15px; font-weight: 700; color: #B85400; margin-top: auto; }
@media (max-width: 600px) { .tss-logogrid li { flex-basis: 100%; } }
