/*
Theme Name: ST Laundry Services
Theme URI: https://striviothemes.com/product/st-laundry-service-wordpress-theme
Author: KristynaBennett
Author URI: https://striviothemes.com/
Description: ST Laundry Services is a clean, modern, and responsive WordPress theme designed for laundry, dry cleaning, and garment care businesses. It features a professional layout that helps showcase services, pricing, and customer information with ease. The theme is lightweight, SEO-friendly, and compatible with popular plugins, making it easy to customize without coding knowledge. With mobile-friendly design, fast loading performance, and user-friendly customization options, ST Laundry Services helps businesses create a strong online presence. It is ideal for laundromats, dry cleaners, ironing services, and cleaning companies looking for a simple yet effective website solution.
Version: 9.9
Requires at least: 4.7
Requires PHP: 5.2
Tested up to: 6.9
License: GNU General Public License v3 or later.
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Text Domain: st-laundry-services
Tags: blog, one-column, custom-background, custom-colors, full-width-template, custom-menu, custom-logo, featured-images, sticky-post, theme-options, threaded-comments, translation-ready
*/

/* Based on Normalize.css v8.0.0, HTML5 Boilerplate v6.1.0, & Bootstrap Reboot v4.1.0 | Under MIT License */
html {
	line-height: 1.15;
	-webkit-text-size-adjust: 100%;
}

*,
*::before,
*::after {
	box-sizing: border-box;
}

body {
	margin: 0;
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
	font-size: 1rem;
	font-weight: 400;
	line-height: 1.5;
	color: #333333;
	background-color: #fff;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	margin-top: .5rem;
	margin-bottom: 1rem;
	font-family: inherit;
	font-weight: 500;
	line-height: 1.2;
	color: inherit;
}

h1 {
	font-size: 2.5rem;
}

h2 {
	font-size: 2rem;
}

h3 {
	font-size: 1.75rem;
}

h4 {
	font-size: 1.5rem;
}

h5 {
	font-size: 1.25rem;
}

h6 {
	font-size: 1rem;
}

p {
	margin-top: 0;
	margin-bottom: .9rem;
}

hr {
	box-sizing: content-box;
	height: 0;
	overflow: visible;
}

pre {
	font-family: monospace, monospace;
	font-size: 1em;
	white-space: pre-wrap;
}

.footer-copyright a {
	text-decoration: underline;
}

.st-laundry-services-single-wrap a {
	text-decoration: underline;
}
a {
	background-color: transparent;
	color: #0542C0;
	text-decoration: none;
}

a:hover,
a:active {
	color: #051128;
}

a:not([href]):not([tabindex]) {
	color: inherit;
	text-decoration: none;
}

a:not([href]):not([tabindex]):hover,
a:not([href]):not([tabindex]):focus {
	color: inherit;
	text-decoration: none;
}

a:not([href]):not([tabindex]):focus {
	outline: 0;
}

abbr[title] {
	border-bottom: none;
	text-decoration: underline dotted;

}

b,
strong {
	font-weight: bolder;
}

code,
kbd,
samp {
	font-family: monospace, monospace;
	font-size: 1em;

}

small {
	font-size: 80%;
}

sub,
sup {
	font-size: 75%;
	line-height: 0;
	position: relative;
	vertical-align: baseline;
}

sub {
	bottom: -0.25em;
}

sup {
	top: -0.5em;
}

img {
	border-style: none;
	height: auto;
	max-width: 100%;
}

details {
	display: block;
}

summary {
	display: list-item;
}

figcaption {
	font-size: 16px;
	color: #333333;
	line-height: 1.4;
	font-style: italic;
	font-weight: 400;
}

template {
	display: none;
}

[hidden] {
	display: none;
}

.sr-only {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.st-laundry-services-single-wrap a,.page-single a,.comment-content a,.woocommerce-product-details__short-description a, #tab-description a,.extra-home-content a {
	text-decoration: underline;
	color:#0542C0;
}

.st-laundry-services-single-wrap .form-submit input:hover{
	text-decoration: underline;
}

.st-laundry-services-single-wrap .form-submit input:focus{
	text-decoration: underline;
}

@media print {

	*,
	*:before,
	*:after {
		background: transparent !important;
		color: #000 !important;
		-webkit-box-shadow: none !important;
		box-shadow: none !important;
		text-shadow: none !important;
	}

	a,
	a:visited {
		text-decoration: underline;
	}

	a[href]:after {
		content: " (" attr(href) ")";
	}

	abbr[title]:after {
		content: " (" attr(title) ")";
	}

	a[href^="#"]:after,
	a[href^="javascript:"]:after {
		content: "";
	}

	pre {
		white-space: pre-wrap !important;
	}

	pre,
	blockquote {
		page-break-inside: avoid;
		border: 1px solid #cccccc;
	}

	thead {
		display: table-header-group;
	}

	tr,
	img {
		page-break-inside: avoid;
	}

	p,
	h2,
	h3 {
		orphans: 3;
		widows: 3;
	}

	h2,
	h3 {
		page-break-after: avoid;
	}
}

label {
	display: inline-block;
	line-height: 1;
	vertical-align: middle;
}

button,
input,
optgroup,
select,
textarea {
	font-family: inherit;
	font-size: 1rem;
	line-height: 1.5;
	margin: 0;

}

input[type="text"],
input[type="date"],
input[type="email"],
input[type="number"],
input[type="password"],
input[type="search"],
input[type="tel"],
input[type="url"],
select,
textarea {
	width: 100%;
	border: solid 1px #666666;
	border-radius: 3px;
	padding: 0.5rem 1rem;
	transition: all .3s;
}

input[type="text"]:focus,
input[type="date"]:focus,
input[type="email"]:focus,
input[type="number"]:focus,
input[type="password"]:focus,
input[type="search"]:focus,
input[type="tel"]:focus,
input[type="url"]:focus,
select:focus,
textarea:focus {
	border-color: #333333;
	outline: 1 solid;
}

button,
input {
	overflow: visible;
}

button,
select {
	text-transform: none;
}

button,
[type="button"],
[type="reset"],
[type="submit"] {
	width: auto;
	-webkit-appearance: button;
}

button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
	border-style: none;
	padding: 0;
}

button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
	outline: 1px dotted ButtonText;
}

button,
[type="submit"],
[type="button"] {
	display: inline-block;
	font-weight: 400;
	color: #161921;
	text-align: center;
	white-space: nowrap;
	user-select: none;
	background-color: transparent;
	border: 1px solid #161921;
	padding: 0.5rem 1rem;
	font-size: 1rem;
	border-radius: 3px;
	transition: all .3s;
}

button:focus,
[type="submit"]:focus,
[type="button"]:focus {
	outline: 5px auto -webkit-focus-ring-color;
}

button:hover,
button:focus,
[type="submit"]:hover,
[type="submit"]:focus,
[type="button"]:hover,
[type="button"]:focus {
	color: #ffffff;
	background-color: #161921;
	text-decoration: none;
}

button:not(:disabled),
[type="submit"]:not(:disabled),
[type="button"]:not(:disabled) {
	cursor: pointer;
}

fieldset {
	padding: 0.35em 0.75em 0.625em;
}

legend {
	box-sizing: border-box;
	color: inherit;
	display: table;
	max-width: 100%;
	padding: 0;
	white-space: normal;
}

progress {
	vertical-align: baseline;
}

textarea {
	overflow: auto;
	resize: vertical;
}

[type="checkbox"],
[type="radio"] {
	box-sizing: border-box;
	padding: 0;

}

[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
	height: auto;
}

[type="search"] {
	-webkit-appearance: textfield;
	outline-offset: -2px;

}

[type="search"]::-webkit-search-decoration {
	-webkit-appearance: none;
}

::-webkit-file-upload-button {
	-webkit-appearance: button;
	font: inherit;

}

select {
	display: block;
}

table {
	background-color: transparent;
	width: 100%;
	margin-bottom: 15px;
	font-size: 0.9em;
	border-spacing: 0;
	border-collapse: collapse;
}

table th,
table td {
	padding: 15px;
	line-height: 1.5;
	vertical-align: top;
	border: 1px solid #cccccc;
}

table th {
	font-weight: bold;
}

table thead th,
table tfoot th {
	font-size: 1em;
}

table caption+thead tr:first-child th,
table caption+thead tr:first-child td,
table caption+thead tr:first-child th,
table caption+thead tr:first-child td,
table colgroup+thead tr:first-child th,
table colgroup+thead tr:first-child td,
table colgroup+thead tr:first-child th,
table colgroup+thead tr:first-child td,
table thead:first-child tr:first-child th,
table thead:first-child tr:first-child td,
table thead:first-child tr:first-child th,
table thead:first-child tr:first-child td {
	border-top: 1px solid #cccccc;
}

table tbody>tr:nth-child(odd)>td,
table tbody>tr:nth-child(odd)>th {
	background-color: #f7f7f7;
}

table tbody tr:hover>td,
table tbody tr:hover>th {
	background-color: #e9e9e9;
}

table tbody+tbody {
	border-top: 2px solid #cccccc;
}

@media (max-width: 767px) {
	table table {
		font-size: 0.8em;
	}

	table table th,
	table table td {
		padding: 7px;
		line-height: 1.3;
	}

	table table th {
		font-weight: 400;
	}
}

dl,
dt,
dd,
ol,
ul,
li {
	margin-top: 0;
	margin-bottom: 0;
	border: 0;
	outline: 0;
	font-size: 100%;
	vertical-align: baseline;
	background: transparent;
}

/* WordPress Default Class */
.alignright {
	float: right;
	margin-left: 1rem;
}

.alignleft {
	float: left;
	margin-right: 1rem;
}

.aligncenter {
	clear: both;
	display: block;
	margin-left: auto;
	margin-right: auto;
}

.alignwide {
	margin-left: -80px;
	margin-right: -80px;
}

.alignfull {
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
	max-width: 100vw;
	width: 100vw;
}

.alignfull img {
	width: 100vw;
}

.wp-caption {
	margin-bottom: 1.25rem;
	max-width: 100%;
}

.wp-caption.alignleft {
	margin: 5px 20px 20px 0;
}

.wp-caption.alignright {
	margin: 5px 0 20px 20px;
}

.wp-caption img {
	display: block;
	margin-left: auto;
	margin-right: auto;
}

.wp-caption-text {
	margin: 0;
}

.gallery-caption {
	display: block;
	font-size: 0.8125rem;
	line-height: 1.5;
	margin: 0;
	padding: 0.75rem;
}

.pagination {
	margin: 20px auto;
}

.sticky {
	position: relative;
	display: block;
}

.bypostauthor {
	font-size: inherit;
}

.hide {
	display: none !important;
}

.screen-reader-text {
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: polygon(0 0, 0 0, 0 0, 0 0);
	position: absolute !important;
	white-space: nowrap;
	height: 1px;
	width: 1px;
	overflow: hidden;
}

.screen-reader-text:focus {
	clip: auto !important;
	display: block;
	height: auto;
	left: 5px;
	top: 5px;
	width: auto;
	z-index: 100000;
}

#skip-link-target[tabindex="-1"]:focus {
	outline: 0;
}

/* Theme Styles Start */

#page .st-home-page {
	overflow: hidden;
}
#page-wrap .main-container {
	max-width: 1044px;
	margin: 0 auto;
	margin-top: 30px !important;
	overflow: hidden;
}

.single-post #page .main-container {
	max-width: 1044px;
	margin: 0 auto;
	margin-top: 0px;
	margin-top: 80px;
	margin-bottom: 80px;
}

.site-logo h1,
.site-description {
	margin: 0;
}

.st-laundry-services-post {
	margin-bottom: 50px;
}

.st-laundry-services-post img {
	max-width: 100%;
}

.st-laundry-services-post .post-title {
	margin: 0;
}

.st-laundry-services-post .post-categories {
	margin-bottom: 20px;
}

.st-laundry-services-post .post-footer {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 20px 0;
	border-bottom: 1px solid #e8e8e8;
}

.st-laundry-services-post .read-more {
	display: inline-block;
	padding: 5px 15px;
	border: 1px solid #161921;
	text-transform: capitalize;
}

.st-laundry-services-post .post-tags a {
	display: inline-block;
	margin-right: 10px;
}

.commentslist {
	list-style-type: none;
	padding: 0;
}

.commentslist .children {
	list-style-type: none;
}

.commentslist li {
	padding: 20px;
	margin-top: 20px;
	margin-bottom: 20px;
	border: 1px solid #e8e8e8;
}

.comment-author img {
	margin-right: 10px;
}

.commentslist .reply {
	display: inline-block;
	padding: 5px 15px;
	border: 1px solid #161921;
}

.comment-form-comment input,
.comment-form-comment textarea {
	border-color: #e8e8e8;
}

nav.navigation {
	text-align: center;
}

nav.navigation a,
nav.navigation span {
	padding: 5px 10px;
	border: 1px solid #e8e8e8;
}

.site-logo a,
.st-laundry-services-post .read-more a,
.st-laundry-services-post .post-title a {
	text-decoration: none;
}


/* Menu Styles Start */

.wp-block-button__link{
	color: #fff !important;
  background-color:#161921 ;
  margin-bottom: 5px;
}
.wp-block-button.is-style-outline .wp-block-button__link{
  border: 1px solid #161921;
  color: #121212 !important;
}
.wp-block-button.is-style-squared .wp-block-button__link{
  border-radius: 0px !important;
}

.post-title a, h1.post-title {
	word-wrap: break-word;
}

/* Loader Styles */
#st-laundry-services-loader-container {
    position: fixed;
    z-index: 999999;
    cursor: pointer;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 100%;
    background: #0542C0;
}

#st-laundry-services-custom-loader {
	width: 60px;
	aspect-ratio: 4;
	--_g: no-repeat radial-gradient(circle closest-side,#ffffff 90%,#0000);
	background: 
	  var(--_g) 0%   50%,
	  var(--_g) 50%  50%,
	  var(--_g) 100% 50%;
	background-size: calc(100%/3) 100%;
	animation: l7 1s infinite linear;
  }
  @keyframes l7 {
	  33%{background-size:calc(100%/3) 0%  ,calc(100%/3) 100%,calc(100%/3) 100%}
	  50%{background-size:calc(100%/3) 100%,calc(100%/3) 0%  ,calc(100%/3) 100%}
	  66%{background-size:calc(100%/3) 100%,calc(100%/3) 100%,calc(100%/3) 0%  }
  }

/* post card css start */
/* Define the animation */
@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(20px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Apply the animation to the card */

.st-laundry-services-post-card {
    opacity: 0; /* Initially hidden */
    transform: translateY(30px);
    transition: opacity 0.8s ease-out, transform 0.8s ease-out;
}

.st-laundry-services-post-card.visible {
    opacity: 1;
    transform: translateY(0);
}

.card-footer {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.card-footer .btn {
    margin-left: auto;
}

.st-read-more-btn{
	background: #F46744;
	border: none;
	-webkit-text-fill-color: #fff !important;
	-webkit-background-clip: inherit !important;
}

.st-read-more-btn:hover{
	background: #ee4920;
	transform: scale(1.05);
}

.st-tags-btn{
	border-color: #161921;
	color: #161921;
}
.st-laundry-services-cat-badge{
	color: #fff;
	background: #F46744;
}
/* post card css end */
/* loader end */

/* hero form start*/
.hero-form input::placeholder {
    color: #757575;
}

.hero-form-f2f {
    display: flex;
    gap: 20px;
}

.hero-form .wpcf7-select{
    background: #fff;
    border: solid 1px #CCCCCC;
    border-radius: 2px;
}

.hero-form input{
    border: solid 1px #CCCCCC;
    border-radius: 2px;
}

.hero-form label{
    margin-top: 15px;
}

.hero-form label {
    font-family: Montserrat;
    font-size: 16px;
    font-weight: 700;
    line-height: 20.8px;
    text-align: left;
}

.hero-form textarea {
    height: 120px
}

.hero-form [type="submit"]{
    top: 16px;
    left: 1262px;
    padding: 9px 35.27px 9px 35.59px;
    gap: 0px;
    border-radius: 4px 0px 0px 0px;
    opacity: 0px;
    background: #F46744;
    color: #fff;
    
    border-radius: 10px;
    font-family: Montserrat;
    font-size: 18px;
    font-weight: 700;
    line-height: 21.94px;
    text-align: center;
    text-underline-position: from-font;
    text-decoration-skip-ink: none;

}
/* hero form end*/

/* footer icon css */
.stfooter-details .elementor-icon-box-icon {
    align-self: center;
}

@media screen and (min-width : 320px) and (max-width : 767px) {

	.hero-form [type="submit"] {
        font-size: 15px;
        font-weight: 600;
    }
    
	.hero-form-f2f {
        flex-wrap: wrap;
        gap: 10px;
    }
    
	.hero-form-f2f span {
        width: 100%;
    }
    
	.hero-form label {
        font-size: 12px;
        font-weight: 600;
    }
    
	.hero-form input[type="text"] {
        padding: 10px;
        font-size: 12px;
    }
    
	.hero-form input[type="email"] {
        padding: 10px;
        font-size: 12px;
    }
    
	.hero-form input[type="tel"] {
        padding: 10px;
        font-size: 12px;
    }
    
	.hero-form select {
        padding: 10px;
        font-size: 12px;
    }
}

@media screen and (min-width : 768px) and (max-width : 1023px) {
	
	.hero-form label {
        font-size: 14px;
        font-weight: 600;
    }
    
	.hero-form input[type="text"] {
        padding: 7px;
        font-size: 12px;
    }
    
	.hero-form input[type="email"] {
        padding: 7px;
        font-size: 12px;
    }
    
	.hero-form input[type="tel"] {
        padding: 7px;
        font-size: 12px;
    }
    
	.hero-form select {
        padding: 7px;
        font-size: 12px;
    }
    
	.hero-form label {
        margin-top: 8px;
    }
}
 /* Navigation Start */

ul li a {
	text-decoration: none;
}
.main-navigation {
	display: block;
	width: 100%;
}

.main-navigation ul {
	display: none;
	list-style: none;
	margin: 0;
	padding-left: 0;
}

.main-navigation ul ul {
	box-shadow: 0 3px 3px rgba(0, 0, 0, 0.2);
	float: left;
	position: absolute;
	top: 100%;
	left: -999em;
	z-index: 99999;
}

.main-navigation ul ul ul {
	left: -999em;
	top: 0;
}

.main-navigation ul ul li:hover > ul,
.main-navigation ul ul li.focus > ul {
	display: block;
	left: auto;
}

.main-navigation ul ul a {
	width: 200px;
}

.main-navigation ul li:hover > ul,
.main-navigation ul li.focus > ul {
	left: auto;
}

.main-navigation li {
	position: relative;
}

.main-navigation a {
	display: block;
	text-decoration: none;
}

/* Small menu. */
.menu-toggle {
	display: block;
}

@media screen and (min-width: 37.5em) {

	.menu-toggle {
		display: none;
	}

	.main-navigation ul {
		display: flex;
	}
}

/* Menus Start */
#masthead {
    position: relative;
    width: 100%;
    z-index: 3000;
    background-color: #fff;
    padding: 15px 0;
    border-bottom: 2px solid rgb(34 34 34 / 10%);
    -webkit-transition: all 0.3s ease-in-out;
    -moz-transition: all 0.3s ease-in-out;
    -ms-transition: all 0.3s ease-in-out;
    -o-transition: all 0.3s ease-in-out;
    transition: all 0.3s ease-in-out;
}
.main-navigation {
    display: block;
    position: static;
}
.main-navigation ul ul {
    background-color: #fff;
    text-align: left;
    padding: 0;
}
.main-navigation ul ul li a {
    padding: 8px 15px;
    color: #111;
}
.main-navigation ul ul a:after {
    float: right;
}
.main-navigation ul {
    display: none;
    list-style: none;
    margin: 0;
    padding-left: 0;
}

.main-navigation li {
    position: relative;
}

.main-navigation ul.nav-menu > li > a {
    padding: 15px 18px;
}
.main-navigation ul.nav-menu > li:hover > a,
.main-navigation ul.nav-menu > li > a:hover,
.main-navigation ul.nav-menu > li > a:focus {
    color: #161921;
	text-decoration: underline;
}
.main-navigation form.search-form input {
    background-color: #111;
    border-color: #111;
    color: #111;
    font-weight: 400;
}
.main-navigation a {
    display: block;
    text-decoration: none;
    font-weight: bold;
    color: #111;
    font-size: 14px;
    font-weight: 400;
    -webkit-transition: all 0.1s ease-in-out;
    -moz-transition: all 0.1s ease-in-out;
    -ms-transition: all 0.1s ease-in-out;
    -o-transition: all 0.1s ease-in-out;
    transition: all 0.1s ease-in-out;
}
.main-navigation ul ul {
   float: left;
    position: absolute;
    top: 100%;
    left: -999em;
    z-index: 99999;
}
.main-navigation ul ul ul {
    left: -999em;
    top: 0;
}
.main-navigation ul ul a {
    width: 225px;
}
.main-navigation ul.nav-menu .current-menu-item > a {
    color: #161921;
}
.main-navigation form.search-form {
    min-width: 320px;
}
.menu-toggle {
    border-radius: 0;
    font-size: 14px;
    margin: auto;
    outline: none;
    display: block;
    height: 60px;
    position: absolute;
    background-color: transparent;
    min-width: 64px;
    border: none;
    display: block;
    float: right;
    top: 20px;
    right: 0;
}
.menu-toggle:hover, 
.menu-toggle:focus {
    outline: thin dotted #fff;
    /* background-color: #ffaf29; */
	background: #161921;
    color: #fff;
}
.menu-toggle:hover i, 
.menu-toggle:focus i {
    color: #fff;
}
.menu-toggle i {
    color: #666;
}
.menu-toggle span {
    width: 35px;
    height: 2px;
    display: block;
    background-color: #ffb5ad;
    margin: 9px 0;
}
.menu-label {
    float: right;
    color: #111;
    padding: 7px 0 0 10px;
    display: none;
}
button.dropdown-toggle {
    padding: 0;
    position: absolute;
    top: 0;
    right: 0;
    background-color: transparent;
    border: none;
    width: 45px;
    height: 55px;
    line-height: 56px;
    outline: none;
    border-radius: 0;
}
button.dropdown-toggle:focus {
	outline: thin dotted #000;
}
button.dropdown-toggle .fa {
    color: #000;
    font-size: 18px;
    padding-left: 5px;
}
button.dropdown-toggle.active .fa:before {
    content: "\f106";
}

.post-wrapper .featured-image {
    margin-bottom: 0;
}
.post-wrapper .entry-footer {
    padding-bottom: 5px;
    display: inline-block;
}
.post-wrapper .entry-content {
    margin: 0;
    color: #565859;
}
.cat-links a {
    font-weight: 500;
    letter-spacing: 0.5px;
    display: inline-block;
    float: left;
    font-size: 14px;
    position: relative;
    text-transform: uppercase;
    line-height: normal;
    color: #313131;
    margin-right: 10px;
    -webkit-transition: color .3s ease,background-color .3s ease,border-color .3s ease;
    -ms-transition: color .3s ease,background-color .3s ease,border-color .3s ease;
    -o-transition: color .3s ease,background-color .3s ease,border-color .3s ease;
    transition: color .3s ease,background-color .3s ease,border-color .3s ease;
}
.cat-links a:hover,
.cat-links a:focus,
.entry-meta a:hover,
.entry-meta a:focus {
    color: #161921;
}
span.cat-links a:not(:last-child):after {
    content: "/";
    margin: 0 5px;
}
.wp-block-latest-posts.wp-block-latest-posts__list {
    list-style: disc;
    padding-left: 1.5em;
}
#secondary .widget:not(:last-child) {
    margin-bottom: 25px;
}
#secondary ul {
    padding: 30px 50px;
    margin: 0;
    background-color: #e9ecef;
}
#secondary .widget_block.widget_search {
    margin-bottom: 40px;
}
#secondary .widget_block input[type="search"] {
    background-color: #e9ecef;
    border-radius: 5px;
}
.widget input {
    height: 53px;
    padding: 0 15px;
    border: none;
}
#secondary .widget_block button[type="submit"] {
    color: #666;
    background-color: #e9ecef;
    border-color: #e9ecef;
}
#secondary .widget_block button[type="submit"]:hover,
#secondary .widget_block button[type="submit"]:focus {
    color: #fff;
    background-color: #161921;
    border-color: #161921;
}
#wp-custom-header {
    text-align: center;
}
.dropdown-toggle::after{
	display: none;
}
/* Sidebar Css Start */
.widget-recent-posts li {
	gap: 20px;
}
.widget-recent-posts, .widget-tags, .widget-categories {
	box-shadow: 0px 0px 12px -1px rgb(0 0 0 / 12%);
	border-radius: 10px;
	padding: 15px;
}
@media screen and (min-width: 1024px) {
	.main-navigation {
	    display: block;
	    position: relative;
	    float: right;
	    width: 70%;
	}
    .main-navigation .menu-item-has-children > a:after {
        content: "\f107";
        font-family: "FontAwesome";
        padding-left: 8px;
    }
    .main-navigation ul ul .menu-item-has-children > a:after {
        content: "\f105";
    }
    .main-navigation ul.nav-menu {
        display: block !important;
        height: auto !important;
        text-align: right;
    }
    .main-navigation ul.nav-menu > li > a {
	    color: #121418;
	}
    .main-navigation ul li:hover > ul,
    .main-navigation ul li.focus > ul {
        left: 0;
        right: auto;
    }
    .main-navigation ul ul li:hover > ul,
    .main-navigation ul ul li.focus > ul {
        left: 100%;
        right: auto;
    }
    .main-navigation ul ul li:hover > a,
    .main-navigation ul ul li.focus > a {
        background-color: #161921;
        color: #fff !important;
		text-decoration: underline;
    }
    .main-navigation ul.sub-menu > li:last-child > a {
        border-bottom: none;
    }
    .main-navigation ul ul li {
        border-bottom: 1px solid #eee;
    }
    .main-navigation ul ul > li:last-child {
        border-bottom: none;
    }
    .main-navigation ul ul ul {
        top: 0;
    }
    .menu-toggle {
        height: 80px;
        position: absolute;
        top: 50%;
        right: 35px;
        -webkit-transform: translateY(-50%);
        -moz-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
        -o-transform: translateY(-50%);
        transform: translateY(-50%);
        display: none;
    }
    .main-navigation .search-active .icon-search {
        display: none;
    }
    .main-navigation .search-active .icon-close {
        display: inline-block;
    }
    button.dropdown-toggle {
        display: none;
    }
    .menu-toggle {
        display: none;
    }
    .main-navigation ul {
        display: block;
    }
    .main-navigation li {
        display: inline-block;
    }
    .main-navigation form.search-form {
        border: 20px solid #111;
    }
    .site-branding {
	    float: left;
	}
	.main-navigation {
	    position: relative;
	}
    #primary {
	    width: 75%;
	    float: left;
	    padding-right: 30px;
	    margin-bottom: 0;
	}

	#secondary {
	    width: 25%;
	    float: left;
	    position: sticky;
	    top: 30px;
	}

	.right-sidebar #primary {
		float: left;
	    padding-right: 40px;
	}

	.right-sidebar #secondary {
		float: right;
	}

	.left-sidebar #primary {
		float: right;
	    padding-right: 0;
	    padding-left: 40px;
	}

	.left-sidebar #secondary {
		float: left;
	}
}

@media screen and (max-width: 1023px) {
	.main-navigation ul.nav-menu {
	    margin-right: 0;
	    border-top: 1px solid #666;
	    background-color: #f1f1f1;
	    margin-top: 0;
	    position: absolute;
	    top: 100%;
	    left: auto;
	    right: 0;
	    width: 100%;
	}
	.main-navigation ul.nav-menu li {
	    border-bottom: 1px solid #666;
	    display: block;
	    width: 100%;
	    padding: 0;
	}
	.main-navigation a {
	    color: #161921;
	}
	.main-navigation ul ul, 
	.main-navigation ul ul ul {
	    box-shadow: none;
	    float: none;
	    position: relative;
	    top: 0;
	    left: 0;
	    margin-bottom: 0;
	    display: none;
	    background-color: #f1f1f1;
	}
	.main-navigation ul ul {
	    border-top: 1px solid #666;
	}
	.main-navigation ul.nav-menu li {
	    border-bottom: 1px solid #666;
	    display: block;
	    width: 100%;
	}
	.main-navigation ul.sub-menu li a {
	    border-left: none;
	}
	.main-navigation ul ul li a {
	    padding-left: 35px;
	    color: #161921;
	}
	.main-navigation ul ul a {
	    width: 100%;
	}
}

/* =============================================================================
   ST Laundry Services – Footer Styles
   ============================================================================= */

/* ---- Footer outer wrapper ---- */
.footer-side {
	margin-top: 70px;
	background-color: #05173D;
	color: #cccccc;
	/* font-size: 0.9rem; */
	line-height: 1.7;
}

/* ---- Footer widget section ---- */
.footer-widget {
	padding: 60px 0 40px;
	border-bottom: 1px solid rgba( 255, 255, 255, 0.08 );
}

/* ---- Individual footer column ---- */
.footer-area {
	margin-bottom: 30px;
}

/* ---- Widget title ---- */
.footer-area .widget-title,
.footer-area .title {
	color: #ffffff;
	font-weight: 600;
	text-transform: uppercase;
	margin-bottom: 20px;
	padding-bottom: 15px;
	position: relative;
}

.footer-area .widget-title::after,
.footer-area .title::after {
	content: '';
	display: block;
	width: 40px;
	height: 2px;
	background-color: #F46744;
	position: absolute;
	bottom: 0;
	left: 0;
}

/* ---- Widget links ---- */
.footer-area a {
	color: #cccccc;
	text-decoration: none;
	transition: color 0.25s ease;
}

.footer-area a:hover,
.footer-area a:focus {
	color: #F46744;
	text-decoration: underline;
}

/* ---- Widget list items ---- */
.footer-area ul {
	list-style: none;
	padding: 0;
	margin: 0;
}

.footer-area ul li {
	padding: 4px 0;
	border-bottom: 1px solid rgba( 255, 255, 255, 0.06 );
}

.footer-area ul li:last-child {
	border-bottom: none;
}

.footer-area ul li a::before {
	content: '\203A';
	margin-right: 6px;
	color: #F46744;
}

/* ---- Search widget inside footer ---- */
.footer-side .footer-widget form div {
	display: flex;
	gap: 6px;
}

.footer-area #searchform input[type="text"] {
	flex: 1;
	padding: 8px 12px;
	border: 1px solid rgba( 255, 255, 255, 0.15 );
	background-color: rgba( 255, 255, 255, 0.07 );
	color: #ffffff;
	border-radius: 4px;
	font-size: 0.875rem;
}

.footer-area #searchform .search-field::placeholder {
	color: #aaaaaa;
}

.footer-area #searchform input[type="submit"] {
	padding: 8px 16px;
	background-color: #F46744;
	color: #ffffff;
	border: none;
	border-radius: 4px;
	cursor: pointer;
	font-size: 0.875rem;
	transition: background-color 0.25s ease;
}

.footer-area #searchform input[type="submit"]:hover,
.footer-area #searchform input[type="submit"]:focus {
	background-color: #ffffff;
	color: #F46744;
}

/* ---- Text / paragraph widgets ---- */
.footer-area p {
	color: #bbbbbb;
	margin-bottom: 12px;
}

/* ---- Footer copyright bar ---- */
.footer-copyright {
	background-color: #F46744;
	padding: 14px 0;
}

.footer-copyright p {
	color: #ffffff;
	margin: 0;
}

.footer-copyright a {
	color: #ffffff;
	text-decoration: none;
	transition: color 0.25s ease;
}

.footer-copyright a:hover,
.footer-copyright a:focus {
	color: #ffffff;
	text-decoration: underline;
}

/* ---- Sticky copyright ---- */
.footer-copyright.sticky-copyright {
	position: fixed;
	bottom: 0;
	left: 0;
	right: 0;
	z-index: 999;
}

.footer-copyright.close-sticky {
	position: relative;
}

/* ---- Footer social icons ---- */
.footer-links {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	justify-content: center;
}

.footer-links a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	border-radius: 50%;
	background-color: rgba( 255, 255, 255, 0.08 );
	color: #cccccc;
	font-size: 0.95rem;
	text-decoration: none;
	transition: background-color 0.25s ease, color 0.25s ease;
}

.footer-links a:hover,
.footer-links a:focus {
	background-color: #F46744;
	color: #ffffff;
}

/* ---- Progress bar ---- */
.theme-progress-bar {
	position: fixed;
	left: 0;
	width: 0%;
	height: 3px;
	background-color: #F46744;
	z-index: 9999;
	transition: width 0.1s linear;
}

.theme-progress-bar.top {
	top: 0;
}

.theme-progress-bar.bottom {
	bottom: 0;
}

/* ---- Custom cursor ---- */
.cursor-point-outline {
	width: 36px;
	height: 36px;
	border: 2px solid #F46744;
	border-radius: 50%;
	position: fixed;
	pointer-events: none;
	z-index: 99999;
	transform: translate( -50%, -50% );
	transition: transform 0.15s ease, opacity 0.15s ease;
}

.cursor-point {
	width: 8px;
	height: 8px;
	background-color: #F46744;
	border-radius: 50%;
	position: fixed;
	pointer-events: none;
	z-index: 99999;
	transform: translate( -50%, -50% );
}

/* ---- Responsive: footer columns stack on small screens ---- */
@media ( max-width: 767px ) {
	.footer-widget {
		padding: 40px 0 20px;
	}

	.footer-area {
		margin-bottom: 24px;
	}

	.footer-copyright .col-lg-6 {
		text-align: center !important;
	}

	.footer-copyright .text-md-end {
		text-align: center !important;
		margin-top: 6px;
	}
}


/* =============================================================================
   ST Laundry Services – Modern Header Override
   ============================================================================= */
#masthead.st-modern-header {
    padding: 0 !important;
    background: #ffffff;
    border-bottom: 0;
    box-shadow: 0 10px 30px rgba(17, 37, 77, 0.08);
}
#masthead.st-modern-header.nav-shrink {
    box-shadow: 0 12px 30px rgba(17, 37, 77, 0.12);
}
#masthead.st-modern-header .container {
    max-width: 1320px;
}
#masthead.st-modern-header .st-topbar {
    background: #1557d6;
    color: #ffffff;
    font-size: 13px;
    line-height: 1.4;
}
#masthead.st-modern-header .st-topbar-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    min-height: 44px;
}
#masthead.st-modern-header .st-topbar-left,
#masthead.st-modern-header .st-topbar-right {
    display: flex;
    align-items: center;
    gap: 18px;
    flex-wrap: wrap;
}
#masthead.st-modern-header .st-topbar a,
#masthead.st-modern-header .st-topbar span {
    color: #ffffff;
    font-weight: 500;
}
#masthead.st-modern-header .st-topbar a:hover,
#masthead.st-modern-header .st-topbar a:focus {
    color: #ffffff;
    opacity: 0.88;
}
#masthead.st-modern-header .st-topbar i {
    margin-right: 8px;
    font-size: 12px;
}
#masthead.st-modern-header .follow-label {
    letter-spacing: 0.06em;
    font-size: 12px;
}
#masthead.st-modern-header .st-main-header {
    background: #ffffff;
}
#masthead.st-modern-header .st-main-header-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 28px;
    min-height: 92px;
}
#masthead.st-modern-header .site-logo {
    flex: 0 0 auto;
    max-width: 240px;
    text-align: left !important;
}
#masthead.st-modern-header .custom-logo-link,
#masthead.st-modern-header .site-title a {
    display: inline-flex;
    align-items: center;
}
#masthead.st-modern-header .custom-logo {
    max-height: 58px;
    width: auto;
}
#masthead.st-modern-header .site-title {
    margin: 0;
    font-size: 30px;
    line-height: 1;
}
#masthead.st-modern-header .main-navigation {
    flex: 1 1 auto;
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    width: auto;
}
#masthead.st-modern-header .main-navigation ul.nav-menu {
    display: flex !important;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 4px 10px;
    margin: 0;
    padding: 0;
}
#masthead.st-modern-header .main-navigation li {
    display: inline-flex;
    align-items: center;
    position: relative;
}
#masthead.st-modern-header .main-navigation ul.nav-menu > li > a {
    padding: 14px 12px;
    color: #173058;
    font-size: 14px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.02em;
    position: relative;
}
#masthead.st-modern-header .main-navigation ul.nav-menu > li > a:hover,
#masthead.st-modern-header .main-navigation ul.nav-menu > li > a:focus,
#masthead.st-modern-header .main-navigation ul.nav-menu > li.current-menu-item > a,
#masthead.st-modern-header .main-navigation ul.nav-menu > li.current-menu-ancestor > a {
    color: #1557d6;
    text-decoration: none;
}
#masthead.st-modern-header .main-navigation ul.nav-menu > li > a::after {
    content: '';
    position: absolute;
    left: 12px;
    right: 12px;
    bottom: 8px;
    height: 2px;
    background: #1557d6;
    transform: scaleX(0);
    transform-origin: center;
    transition: transform 0.25s ease;
}
#masthead.st-modern-header .main-navigation .st-mobile-only-menu-cta {
    display: none;
}
#masthead.st-modern-header .main-navigation .st-mobile-menu-cta-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
}
#masthead.st-modern-header .main-navigation ul.nav-menu > li:hover > a::after,
#masthead.st-modern-header .main-navigation ul.nav-menu > li.current-menu-item > a::after,
#masthead.st-modern-header .main-navigation ul.nav-menu > li.current-menu-ancestor > a::after {
    transform: scaleX(1);
}
#masthead.st-modern-header .main-navigation .menu-item-has-children > a:after {
    content: "\f107";
    font-family: "FontAwesome";
    display: inline-block;
    margin-left: 8px;
    font-size: 12px;
}
#masthead.st-modern-header .main-navigation ul ul {
    top: calc(100% + 8px);
    left: 0;
    min-width: 240px;
    padding: 10px 0;
    background: #ffffff;
    border: 1px solid #e7edf7;
    border-radius: 16px;
    box-shadow: 0 16px 40px rgba(17, 37, 77, 0.14);
}
#masthead.st-modern-header .main-navigation ul ul li {
    display: block;
    width: 100%;
}
#masthead.st-modern-header .main-navigation ul ul a {
    width: 100%;
    padding: 10px 18px;
    color: #173058;
    font-size: 14px;
    font-weight: 600;
}
#masthead.st-modern-header .main-navigation ul ul li:hover > a,
#masthead.st-modern-header .main-navigation ul ul li.focus > a {
    background: #f4f8ff;
    color: #1557d6 !important;
    text-decoration: none;
}
#masthead.st-modern-header .main-navigation ul ul ul {
    top: -10px;
    left: calc(100% + 8px);
}
#masthead.st-modern-header .st-header-actions {
    display: flex;
    align-items: center;
    gap: 12px;
    flex: 0 0 auto;
}
#masthead.st-modern-header .st-header-cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 48px;
    padding: 0 22px;
    border-radius: 14px;
    background: linear-gradient(135deg, #ff9258 0%, #ff6c4a 100%);
    color: #ffffff;
    font-size: 13px;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    box-shadow: 0 14px 24px rgba(255, 108, 74, 0.26);
}
#masthead.st-modern-header .st-header-cta:hover,
#masthead.st-modern-header .st-header-cta:focus {
    color: #ffffff;
    text-decoration: none;
    transform: translateY(-1px);
}
#masthead.st-modern-header .menu-toggle {
    position: static;
    top: auto;
    right: auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 48px;
    width: 48px;
    height: 48px;
    margin: 0;
    padding: 0;
    border: 1px solid #dbe4f1;
    border-radius: 14px;
    background: #ffffff;
    box-shadow: none;
}
#masthead.st-modern-header .menu-toggle i {
    color: #173058;
    font-size: 18px;
}
#masthead.st-modern-header .menu-toggle:hover,
#masthead.st-modern-header .menu-toggle:focus {
    background: #173058;
    border-color: #173058;
    outline: none;
}
#masthead.st-modern-header .menu-toggle:hover i,
#masthead.st-modern-header .menu-toggle:focus i {
    color: #ffffff;
}
#masthead.st-modern-header button.dropdown-toggle {
    display: none;
}

@media screen and (min-width: 1024px) {
    #masthead.st-modern-header .main-navigation {
        order: 2;
    }
    #masthead.st-modern-header .site-logo {
        order: 1;
    }
    #masthead.st-modern-header .st-header-actions {
        order: 3;
    }
    #masthead.st-modern-header .main-navigation ul.nav-menu {
        display: flex !important;
    }
    #masthead.st-modern-header .menu-toggle {
        display: none;
    }
}

@media screen and (max-width: 1023px) {
    #masthead.st-modern-header .st-topbar {
        display: none;
    }
    #masthead.st-modern-header .st-main-header .container {
        position: relative;
        padding-left: 18px;
        padding-right: 18px;
    }
    #masthead.st-modern-header .st-main-header-inner {
        position: relative;
        min-height: 82px;
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 12px;
    }
    #masthead.st-modern-header .site-logo {
        max-width: 150px;
        margin-right: auto;
        display: flex;
        align-items: center;
    }
    #masthead.st-modern-header .custom-logo-link {
        display: inline-flex;
        align-items: center;
        line-height: 1;
    }
    #masthead.st-modern-header .custom-logo {
        max-height: 48px;
        width: auto;
    }
    #masthead.st-modern-header .st-header-actions {
        justify-content: flex-end;
        align-items: center;
        margin-left: 0;
        gap: 0;
        flex: 0 0 auto;
    }
    #masthead.st-modern-header .st-header-cta {
        display: none;
    }
    #masthead.st-modern-header .main-navigation {
        position: static;
        flex: 0 0 auto;
        width: 0;
        min-width: 0;
    }
    #masthead.st-modern-header .main-navigation ul.nav-menu {
        display: block !important;
        position: absolute;
        top: calc(100% + 8px);
        left: 50%;
        transform: translate(-50%, 12px);
        width: calc(100vw - 24px);
        max-width: calc(100vw - 24px);
        margin: 0;
        padding: 0;
        background: #ffffff;
        border-radius: 18px;
        border: 1px solid #e6edf7;
        box-shadow: 0 20px 40px rgba(17, 37, 77, 0.15);
        overflow: hidden;
        z-index: 9999;
        opacity: 0;
        visibility: hidden;
        pointer-events: none;
        transition: opacity 0.22s ease, transform 0.22s ease, visibility 0.22s ease;
    }
    #masthead.st-modern-header .main-navigation.is-open ul.nav-menu {
        opacity: 1;
        visibility: visible;
        pointer-events: auto;
        transform: translate(-50%, 0);
    }
    #masthead.st-modern-header .main-navigation ul.nav-menu > li {
        display: block;
        width: 100%;
        border-bottom: 1px solid #edf1f7;
        position: relative;
    }
    #masthead.st-modern-header .main-navigation ul.nav-menu > li:last-child {
        border-bottom: 0;
    }
    #masthead.st-modern-header .main-navigation ul.nav-menu > li.st-mobile-only-menu-cta {
        display: block;
        padding: 18px 20px 20px;
        border-bottom: 0;
        background: #ffffff;
    }
    #masthead.st-modern-header .main-navigation ul.nav-menu > li.st-mobile-only-menu-cta > a,
    #masthead.st-modern-header .main-navigation ul.nav-menu > li.st-mobile-only-menu-cta > a:hover,
    #masthead.st-modern-header .main-navigation ul.nav-menu > li.st-mobile-only-menu-cta > a:focus {
        display: inline-flex;
        width: 100%;
        min-height: 52px;
        padding: 14px 20px;
        border-radius: 14px;
        background: linear-gradient(135deg, #ff9258 0%, #ff6c4a 100%);
        color: #ffffff !important;
        font-size: 14px;
        font-weight: 800;
        letter-spacing: 0.04em;
        text-transform: uppercase;
        justify-content: center;
        text-align: center;
        box-shadow: 0 14px 24px rgba(255, 108, 74, 0.22);
    }
    #masthead.st-modern-header .main-navigation ul.nav-menu > li > a {
        display: block;
        width: 100%;
        padding: 18px 68px 18px 20px;
        text-align: left;
        font-size: 15px;
        line-height: 1.35;
        white-space: normal;
    }
    #masthead.st-modern-header .main-navigation ul.nav-menu > li > a::after {
        display: none;
    }
    #masthead.st-modern-header button.dropdown-toggle {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        position: absolute;
        top: 50%;
        right: 14px;
        transform: translateY(-50%);
        width: 42px;
        height: 42px;
        line-height: 42px;
        border-radius: 10px;
        background: #f4f8ff;
        border: 0;
        transition: background-color 0.25s ease, transform 0.25s ease;
    }
    #masthead.st-modern-header button.dropdown-toggle .fa {
        color: #173058;
        font-size: 16px;
        padding-left: 0;
        transition: transform 0.25s ease, color 0.25s ease;
    }
    #masthead.st-modern-header button.dropdown-toggle.active {
        background: #173058;
    }
    #masthead.st-modern-header button.dropdown-toggle.active .fa {
        color: #ffffff;
        transform: rotate(180deg);
    }
    #masthead.st-modern-header .main-navigation ul ul,
    #masthead.st-modern-header .main-navigation ul ul ul {
        display: block !important;
        position: static;
        left: auto;
        top: auto;
        min-width: 100%;
        margin: 0;
        border: 0;
        border-top: 1px solid #edf1f7;
        border-radius: 0;
        box-shadow: none;
        padding: 0;
        background: #ffffff;
        transform: none;
        max-height: 0;
        overflow: hidden;
        opacity: 0;
        visibility: hidden;
        pointer-events: none;
        transition: max-height 0.28s ease, opacity 0.22s ease;
    }
    #masthead.st-modern-header .main-navigation li.submenu-open > .sub-menu {
        max-height: 420px;
        opacity: 1;
        visibility: visible;
        pointer-events: auto;
    }
    #masthead.st-modern-header .main-navigation ul ul li {
        border-bottom: 1px solid #edf1f7;
    }
    #masthead.st-modern-header .main-navigation ul ul li:last-child {
        border-bottom: 0;
    }
    #masthead.st-modern-header .main-navigation ul ul a {
        display: block;
        padding: 14px 18px 14px 38px;
        font-size: 14px;
        line-height: 1.45;
        background: #f9fbff;
        white-space: normal;
    }
    #masthead.st-modern-header .main-navigation .menu-item-has-children > a:after {
        display: none;
    }
    #masthead.st-modern-header .menu-toggle {
        width: 52px;
        height: 52px;
        min-width: 52px;
        border-radius: 16px;
    }
    #masthead.st-modern-header .menu-toggle.active {
        background: #173058;
        border-color: #173058;
    }
    #masthead.st-modern-header .menu-toggle.active i {
        color: #ffffff;
    }
}

@media screen and (max-width: 767px) {
    #masthead.st-modern-header .st-main-header .container {
        padding-left: 14px;
        padding-right: 14px;
    }
    #masthead.st-modern-header .st-main-header-inner {
        min-height: 74px;
        gap: 10px;
    }
    #masthead.st-modern-header .site-logo {
        max-width: 136px;
    }
    #masthead.st-modern-header .custom-logo {
        max-height: 42px;
    }
    #masthead.st-modern-header .main-navigation ul.nav-menu {
        width: calc(100vw - 18px);
        max-width: calc(100vw - 18px);
        top: calc(100% + 6px);
    }
    #masthead.st-modern-header .menu-toggle {
        width: 50px;
        height: 50px;
        min-width: 50px;
    }
}

/* =========================================================
   HOMEPAGE SERVICES SHOWCASE
   Customizer-managed services mosaic section
========================================================= */
.st-services-showcase {
	background: var(--st-services-bg, #f4f5fb);
	padding: 90px 0;
	overflow: hidden;
}

.st-services-showcase .container {
	max-width: 1320px;
}

.st-services-showcase__intro {
	max-width: 760px;
	margin: 0 auto 42px;
	text-align: center;
}

.st-services-showcase__eyebrow {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 9px 18px;
	border-radius: 999px;
	background: rgba(120, 150, 235, 0.18);
	color: var(--st-services-heading, #051b57);
	font-size: 14px;
	font-weight: 700;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	margin-bottom: 14px;
}

.st-services-showcase__title {
	margin: 0 0 12px;
	color: var(--st-services-heading, #051b57);
	font-size: clamp(2rem, 2.8vw, 3.3rem);
	line-height: 1.08;
	font-weight: 800;
}

.st-services-showcase__description {
	margin: 0;
	color: var(--st-services-text, #41516f);
	font-size: 1.05rem;
	line-height: 1.7;
}

.st-services-showcase__grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	grid-auto-rows: minmax(250px, 1fr);
	gap: var(--st-services-gap, 20px);
}

.st-services-card {
	position: relative;
	min-height: 250px;
	background-position: center;
	background-size: cover;
	background-repeat: no-repeat;
	border-radius: var(--st-services-radius, 24px);
	overflow: hidden;
	isolation: isolate;
	box-shadow: 0 22px 45px rgba(5, 27, 87, 0.12);
	transform: translateY(0);
	transition: transform 0.35s ease, box-shadow 0.35s ease;
}

.st-services-card::before {
	content: '';
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgba(5, 17, 40, 0.04) 0%, rgba(5, 17, 40, 0.18) 100%);
	z-index: 0;
}

.st-services-card:hover,
.st-services-card:focus-within {
	transform: translateY(-6px);
	box-shadow: 0 28px 60px rgba(5, 27, 87, 0.2);
}

.st-services-card__overlay {
	position: absolute;
	inset: 0;
	background: var(--st-services-overlay, rgba(5, 17, 40, 0.58));
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);
	opacity: 0;
	transition: opacity 0.35s ease;
	z-index: 1;
}

.st-services-card:hover .st-services-card__overlay,
.st-services-card:focus-within .st-services-card__overlay {
	opacity: 1;
}

.st-services-card__content {
	position: absolute;
	inset: auto 0 0 0;
	padding: clamp(18px, 2vw, 30px);
	z-index: 2;
	color: #ffffff;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 0;
	opacity: 0;
	transform: translateY(18px);
	transition: opacity 0.35s ease, transform 0.35s ease;
}

.st-services-card:hover .st-services-card__content,
.st-services-card:focus-within .st-services-card__content {
	opacity: 1;
	transform: translateY(0);
}

.st-services-card__title {
	margin: 0 0 10px;
	color: #ffffff;
	font-size: clamp(1.2rem, 1.5vw, 1.7rem);
	font-weight: 800;
	line-height: 1.18;
	text-wrap: balance;
}

.st-services-card__description {
	margin: 0 0 18px;
	color: rgba(255, 255, 255, 0.92);
	font-size: 0.98rem;
	line-height: 1.65;
	max-width: 100%;
	display: -webkit-box;
	-webkit-line-clamp: 4;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.st-services-card__button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	align-self: flex-start;
	margin-top: auto;
	padding: 12px 20px;
	border-radius: 999px;
	background: var(--st-services-button-bg, #f36b3f);
	color: var(--st-services-button-text, #ffffff);
	font-weight: 700;
	font-size: 0.95rem;
	text-decoration: none;
	transition: background-color 0.25s ease, color 0.25s ease, transform 0.25s ease;
}

.st-services-card__button:hover,
.st-services-card__button:focus {
	background: var(--st-services-button-hover-bg, #051b57);
	color: var(--st-services-button-hover-text, #ffffff);
	transform: translateY(-2px);
}

.st-services-card--2 .st-services-card__content,
.st-services-card--3 .st-services-card__content,
.st-services-card--4 .st-services-card__content,
.st-services-card--5 .st-services-card__content {
	padding: 18px;
}

.st-services-card--2 .st-services-card__title,
.st-services-card--3 .st-services-card__title,
.st-services-card--4 .st-services-card__title,
.st-services-card--5 .st-services-card__title {
	font-size: clamp(1.05rem, 1.15vw, 1.35rem);
	line-height: 1.14;
	margin-bottom: 8px;
}

.st-services-card--2 .st-services-card__description,
.st-services-card--3 .st-services-card__description,
.st-services-card--4 .st-services-card__description,
.st-services-card--5 .st-services-card__description {
	font-size: 0.92rem;
	line-height: 1.45;
	margin-bottom: 14px;
	-webkit-line-clamp: 3;
}

.st-services-card--2 .st-services-card__button,
.st-services-card--3 .st-services-card__button,
.st-services-card--4 .st-services-card__button,
.st-services-card--5 .st-services-card__button {
	padding: 10px 16px;
	font-size: 0.88rem;
}

.st-services-card--1 {
	grid-column: 1 / span 2;
	grid-row: 1 / span 3;
	min-height: 790px;
}

.st-services-card--2 {
	grid-column: 3;
	grid-row: 1;
}

.st-services-card--3 {
	grid-column: 4;
	grid-row: 1;
}

.st-services-card--4 {
	grid-column: 3;
	grid-row: 2;
}

.st-services-card--5 {
	grid-column: 4;
	grid-row: 2;
}

.st-services-card--6 {
	grid-column: 3 / span 2;
	grid-row: 3;
}

/* Scroll-in animation states */
.st-services-showcase__anim {
	opacity: 0;
	will-change: opacity, transform;
	transition: opacity 0.7s ease, transform 0.7s ease;
}

.st-services-showcase__anim--fade-up {
	transform: translateY(34px);
}

.st-services-showcase__anim--zoom-in {
	transform: translateY(22px) scale(0.94);
}

.st-services-showcase__anim--slide-up {
	transform: translateY(50px);
}

.st-services-showcase__anim.is-visible {
	opacity: 1;
	transform: none;
}

@media (max-width: 1199px) {
	.st-services-showcase {
		padding: 80px 0;
	}

	.st-services-showcase__grid {
		grid-auto-rows: minmax(230px, 1fr);
	}

	.st-services-card--1 {
		min-height: 620px;
	}
}

@media (max-width: 991px) {
	.st-services-showcase {
		padding: 70px 0;
	}

	.st-services-showcase__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		grid-auto-rows: minmax(260px, 1fr);
	}

	.st-services-card--1,
	.st-services-card--6 {
		grid-column: 1 / span 2;
	}

	.st-services-card--1 {
		grid-row: auto;
		min-height: 460px;
	}

	.st-services-card--2,
	.st-services-card--3,
	.st-services-card--4,
	.st-services-card--5 {
		grid-column: auto;
		grid-row: auto;
	}

	.st-services-card--2 .st-services-card__title,
	.st-services-card--3 .st-services-card__title,
	.st-services-card--4 .st-services-card__title,
	.st-services-card--5 .st-services-card__title {
		font-size: 1.32rem;
	}

	.st-services-card--2 .st-services-card__description,
	.st-services-card--3 .st-services-card__description,
	.st-services-card--4 .st-services-card__description,
	.st-services-card--5 .st-services-card__description {
		font-size: 0.95rem;
		-webkit-line-clamp: 4;
	}

	.st-services-card--6 {
		grid-column: 1 / span 2;
		grid-row: auto;
		min-height: 320px;
	}
}

@media (max-width: 767px) {
	.st-services-showcase {
		padding: 56px 0;
	}

	.st-services-showcase .container {
		padding-left: 15px;
		padding-right: 15px;
	}

	.st-services-showcase__intro {
		margin-bottom: 28px;
		text-align: left;
	}

	.st-services-showcase__title {
		font-size: clamp(2rem, 8vw, 2.6rem);
		line-height: 1.08;
	}

	.st-services-showcase__description {
		font-size: 1rem;
		line-height: 1.65;
	}

	.st-services-showcase__grid {
		grid-template-columns: 1fr;
		grid-auto-rows: auto;
	}

	.st-services-card,
	.st-services-card--1,
	.st-services-card--2,
	.st-services-card--3,
	.st-services-card--4,
	.st-services-card--5,
	.st-services-card--6 {
		grid-column: auto;
		grid-row: auto;
		min-height: 260px;
	}

	.st-services-card::before {
		background: linear-gradient(180deg, rgba(5, 17, 40, 0.1) 0%, rgba(5, 17, 40, 0.72) 100%);
	}

	.st-services-card__overlay {
		opacity: 1;
		background: linear-gradient(180deg, rgba(5, 17, 40, 0.04) 0%, rgba(5, 17, 40, 0.75) 100%);
		backdrop-filter: blur(5px);
		-webkit-backdrop-filter: blur(5px);
	}

	.st-services-card__content {
		opacity: 1;
		transform: none;
		padding: 18px 18px 20px;
	}

	.st-services-card__title,
	.st-services-card--2 .st-services-card__title,
	.st-services-card--3 .st-services-card__title,
	.st-services-card--4 .st-services-card__title,
	.st-services-card--5 .st-services-card__title {
		color: #ffffff;
		font-size: 1.5rem;
		margin-bottom: 10px;
	}

	.st-services-card__description,
	.st-services-card--2 .st-services-card__description,
	.st-services-card--3 .st-services-card__description,
	.st-services-card--4 .st-services-card__description,
	.st-services-card--5 .st-services-card__description {
		color: rgba(255, 255, 255, 0.94);
		font-size: 0.98rem;
		line-height: 1.55;
		margin-bottom: 16px;
		-webkit-line-clamp: 3;
	}

	.st-services-card__button,
	.st-services-card__button:hover,
	.st-services-card__button:focus {
		background: var(--st-services-button-bg, #f36b3f);
		color: var(--st-services-button-text, #ffffff);
		padding: 11px 18px;
		font-size: 0.92rem;
	}
}


.st-services-card__title,
.st-services-card__description,
.st-services-card__button {
	position: relative;
}

#masthead.st-modern-header .main-navigation ul.nav-menu > li.menu-item-has-children {
	position: relative;
}

@media (prefers-reduced-motion: reduce) {
	.st-services-card,
	.st-services-card__overlay,
	.st-services-card__content,
	.st-services-card__button,
	.st-services-showcase__anim {
		transition: none !important;
	}
}

/* =============================================================================
   ST Laundry Services – Customizer Footer Override
   ============================================================================= */
.st-custom-footer {
    margin-top: 70px;
    background: #06163a;
    color: #d8def0;
}

.st-custom-footer .footer-widget {
    padding: 64px 0 38px;
    border-bottom: 1px solid rgba(255,255,255,0.08);
}

.st-custom-footer .footer-area {
    margin-bottom: 20px;
}

.st-custom-footer .title {
    color: #ffffff;
    font-size: 1.15rem;
    font-weight: 700;
    text-transform: none;
    letter-spacing: 0;
    margin-bottom: 22px;
    padding-bottom: 14px;
    position: relative;
}

.st-custom-footer .title::after {
    content: '';
    position: absolute;
    left: 0;
    bottom: 0;
    width: 44px;
    height: 3px;
    border-radius: 99px;
    background: #f46744;
}

.st-footer-logo-wrap {
    margin-bottom: 18px;
}

.st-footer-logo-wrap .custom-logo {
    max-height: 80px;
    width: auto;
}

.st-footer-site-title {
    display: inline-block;
    color: #ffffff;
    font-size: 1.6rem;
    font-weight: 700;
    text-decoration: none;
}

.st-footer-site-title:hover,
.st-footer-site-title:focus {
    color: #f46744;
}

.st-footer-about-text {
    margin: 0;
    max-width: 360px;
    color: #d8def0;
    font-size: 1rem;
    line-height: 1.8;
}

.st-footer-links-list {
    list-style: none;
    margin: 0;
    padding: 0;
}

.st-custom-footer .st-footer-links-list li {
    margin: 0;
    padding: 0;
    border: 0;
}

.st-footer-links-list li + li {
    margin-top: 12px;
}

.st-footer-links-list a,
.st-footer-links-list span {
    color: #d8def0;
    text-decoration: none;
    line-height: 1.7;
    display: inline-block;
    transition: color 0.25s ease, transform 0.25s ease;
}

.st-custom-footer .st-footer-links-list a::before,
.st-custom-footer .st-footer-links-list span::before {
    content: '';
}

.st-footer-links-list a:hover,
.st-footer-links-list a:focus {
    color: #f46744;
    transform: translateX(3px);
}

.st-footer-contact-list a,
.st-footer-contact-list span {
    word-break: break-word;
}

.st-custom-copyright {
    background: #f46744;
    padding: 0;
}

.st-custom-copyright p,
.st-custom-copyright a,
.st-custom-copyright span {
    color: #ffffff;
    text-decoration: none;
}

.st-custom-copyright a:hover,
.st-custom-copyright a:focus {
    text-decoration: underline;
}

@media (max-width: 991px) {
    .st-custom-footer .footer-widget {
        padding: 48px 0 26px;
    }

    .st-footer-about-text {
        max-width: none;
    }
}

@media (max-width: 767px) {
    .st-custom-footer .footer-widget {
        padding: 40px 0 18px;
    }

    .st-custom-footer .footer-area {
        margin-bottom: 28px;
    }

    .st-footer-logo-wrap .custom-logo {
        max-height: 64px;
    }

    .st-custom-copyright .text-md-end {
        margin-top: 0;
        text-align: left !important;
    }

    .st-custom-copyright .col-lg-6 + .col-lg-6 {
        margin-top: -8px;
        padding-bottom: 18px;
    }
}

/* =============================================================================
   ST Footer alignment tweak v6
   ============================================================================= */
.st-custom-footer .footer-area,
.st-custom-footer .st-footer-branding,
.st-custom-footer .st-footer-about-col,
.st-custom-footer .st-footer-menu-col,
.st-custom-footer .st-footer-contact-col {
    text-align: center;
}

.st-custom-footer .title::after {
    left: 50%;
    transform: translateX(-50%);
}

.st-footer-logo-wrap {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-bottom: 14px;
}

.st-footer-logo-wrap .custom-logo {
    max-height: 58px;
    width: auto;
}

.st-footer-about-text {
    max-width: 520px;
    margin: 0 auto;
}

.st-footer-links-list a,
.st-footer-links-list span,
.st-footer-site-title {
    text-align: center;
}

.st-custom-copyright .row {
    justify-content: center;
    text-align: center;
}

.st-custom-copyright .col-lg-6,
.st-custom-copyright .text-md-end,
.st-custom-copyright .text-start {
    text-align: center !important;
}

@media (max-width: 767px) {
    .st-footer-logo-wrap .custom-logo {
        max-height: 50px;
    }

    .st-custom-copyright .col-lg-6 + .col-lg-6 {
        margin-top: 0;
        padding-bottom: 18px;
    }
}


/* =============================================================================
   TEVÉKENYSÉGEK GYŰJTŐOLDAL + ALOLDAL SABLONOK
   ============================================================================= */
.st-page-hero {
    padding: 72px 0 32px;
    background: linear-gradient(180deg, #f7faff 0%, #ffffff 100%);
}

.st-page-hero .container,
.st-page-copy .container,
.st-services-archive .container,
.st-service-detail .container {
    max-width: 1320px;
}

.st-breadcrumb {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    margin-bottom: 20px;
    color: #6d7e9a;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 0.02em;
}

.st-breadcrumb a {
    color: #1557d6;
}

.st-breadcrumb a:hover,
.st-breadcrumb a:focus {
    color: #173058;
}

.st-breadcrumb__current {
    color: #173058;
}

.st-page-hero__inner {
    max-width: 880px;
}

.st-page-hero__inner--detail {
    max-width: 980px;
}

.st-page-hero__eyebrow {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 36px;
    padding: 8px 16px;
    margin-bottom: 18px;
    border-radius: 999px;
    background: rgba(21, 87, 214, 0.1);
    color: #1557d6;
    font-size: 13px;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.st-page-hero__title {
    margin: 0 0 18px;
    color: #173058;
    font-size: clamp(2.2rem, 4vw, 3.35rem);
    line-height: 1.08;
    font-weight: 800;
    letter-spacing: -0.02em;
}

.st-page-hero__description {
    margin: 0;
    color: #5c6c87;
    font-size: 1.08rem;
    line-height: 1.75;
    max-width: 760px;
}

.st-page-copy {
    padding: 8px 0 10px;
}

.st-page-copy__card {
    padding: 30px 34px;
    border: 1px solid #e8eef8;
    border-radius: 26px;
    background: #ffffff;
    box-shadow: 0 18px 44px rgba(17, 37, 77, 0.06);
    color: #5c6c87;
    font-size: 1rem;
    line-height: 1.8;
}

.st-page-copy__card > *:last-child {
    margin-bottom: 0;
}

.st-services-archive {
    padding: 28px 0 96px;
}

.st-services-archive__grid {
    display: grid;
    grid-template-columns: minmax(0, 1.38fr) minmax(0, 0.92fr) minmax(0, 1.08fr);
    grid-template-rows: repeat(3, clamp(220px, 19vw, 300px));
    grid-template-areas:
        "one two three"
        "one four five"
        "one six six";
    gap: 24px;
    align-items: stretch;
}

.st-services-archive-card {
    position: relative;
    min-height: 100%;
    border-radius: 28px;
    overflow: hidden;
    background: linear-gradient(135deg, #dae6ff 0%, #eef4ff 100%);
    box-shadow: 0 22px 45px rgba(5, 27, 87, 0.12);
}

.st-services-archive-card--layout-1 {
    grid-area: one;
}

.st-services-archive-card--layout-2 {
    grid-area: two;
}

.st-services-archive-card--layout-3 {
    grid-area: three;
}

.st-services-archive-card--layout-4 {
    grid-area: four;
}

.st-services-archive-card--layout-5 {
    grid-area: five;
}

.st-services-archive-card--layout-6 {
    grid-area: six;
}

.st-services-archive-card__media,
.st-services-archive-card__fallback {
    position: absolute;
    inset: 0;
    display: block;
}

.st-services-archive-card__image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.65s ease;
}

.st-services-archive-card__fallback {
    background: linear-gradient(135deg, #1557d6 0%, #6c8ff5 100%);
}

.st-services-archive-card__overlay {
    position: absolute;
    inset: 0;
    z-index: 2;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    padding: 28px;
    background: linear-gradient(180deg, rgba(7, 19, 41, 0.08) 8%, rgba(7, 19, 41, 0.78) 100%);
}

.st-services-archive-card__overlay::before {
    content: '';
    position: absolute;
    inset: 0;
    z-index: -1;
    background: rgba(7, 19, 41, 0.18);
    backdrop-filter: blur(0px);
    transition: backdrop-filter 0.45s ease, background-color 0.45s ease;
}

.st-services-archive-card__index {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 46px;
    height: 46px;
    margin-bottom: auto;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.16);
    color: #ffffff;
    font-size: 0.92rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    backdrop-filter: blur(8px);
}

.st-services-archive-card__title {
    margin: 0;
    color: #ffffff;
    font-size: 1.5rem;
    line-height: 1.15;
    font-weight: 800;
}

.st-services-archive-card__title a,
.st-services-archive-card__title a:hover,
.st-services-archive-card__title a:focus {
    color: #ffffff;
}

.st-services-archive-card__summary {
    margin: 16px 0 0;
    color: rgba(255, 255, 255, 0.94);
    font-size: 0.98rem;
    line-height: 1.7;
    opacity: 0;
    transform: translateY(16px);
    max-height: 0;
    overflow: hidden;
    transition: opacity 0.35s ease, transform 0.35s ease, max-height 0.35s ease;
}

.st-services-archive-card__button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    align-self: flex-start;
    min-height: 48px;
    margin-top: 0;
    padding: 0 22px;
    border-radius: 14px;
    background: linear-gradient(135deg, #ff9258 0%, #ff6c4a 100%);
    color: #ffffff;
    font-size: 13px;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    opacity: 0;
    transform: translateY(16px);
    max-height: 0;
    overflow: hidden;
    box-shadow: 0 14px 24px rgba(255, 108, 74, 0.26);
    transition: opacity 0.35s ease, transform 0.35s ease, max-height 0.35s ease, margin-top 0.35s ease;
}

.st-services-archive-card__button:hover,
.st-services-archive-card__button:focus {
    color: #ffffff;
    text-decoration: none;
}

.st-services-archive-card--layout-2 .st-services-archive-card__overlay,
.st-services-archive-card--layout-3 .st-services-archive-card__overlay,
.st-services-archive-card--layout-4 .st-services-archive-card__overlay,
.st-services-archive-card--layout-5 .st-services-archive-card__overlay {
    padding: 22px;
}

.st-services-archive-card--layout-2 .st-services-archive-card__index,
.st-services-archive-card--layout-3 .st-services-archive-card__index,
.st-services-archive-card--layout-4 .st-services-archive-card__index,
.st-services-archive-card--layout-5 .st-services-archive-card__index {
    width: 40px;
    height: 40px;
    font-size: 0.84rem;
}

.st-services-archive-card--layout-2 .st-services-archive-card__title,
.st-services-archive-card--layout-3 .st-services-archive-card__title,
.st-services-archive-card--layout-4 .st-services-archive-card__title,
.st-services-archive-card--layout-5 .st-services-archive-card__title {
    font-size: 1.22rem;
}

.st-services-archive-card--layout-2 .st-services-archive-card__summary,
.st-services-archive-card--layout-3 .st-services-archive-card__summary,
.st-services-archive-card--layout-4 .st-services-archive-card__summary,
.st-services-archive-card--layout-5 .st-services-archive-card__summary {
    font-size: 0.92rem;
    line-height: 1.55;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
}

.st-services-archive-card--layout-2 .st-services-archive-card__button,
.st-services-archive-card--layout-3 .st-services-archive-card__button,
.st-services-archive-card--layout-4 .st-services-archive-card__button,
.st-services-archive-card--layout-5 .st-services-archive-card__button {
    min-height: 44px;
    padding: 0 18px;
    font-size: 12px;
}

.st-services-archive-card:hover .st-services-archive-card__image,
.st-services-archive-card:focus-within .st-services-archive-card__image {
    transform: scale(1.08);
}

.st-services-archive-card:hover .st-services-archive-card__overlay::before,
.st-services-archive-card:focus-within .st-services-archive-card__overlay::before {
    background: rgba(7, 19, 41, 0.32);
    backdrop-filter: blur(10px);
}

.st-services-archive-card:hover .st-services-archive-card__summary,
.st-services-archive-card:focus-within .st-services-archive-card__summary,
.st-services-archive-card:hover .st-services-archive-card__button,
.st-services-archive-card:focus-within .st-services-archive-card__button {
    opacity: 1;
    transform: translateY(0);
    max-height: 220px;
}

.st-services-archive-card:hover .st-services-archive-card__button,
.st-services-archive-card:focus-within .st-services-archive-card__button {
    margin-top: 18px;
}

.st-empty-state {
    padding: 44px 34px;
    border: 1px solid #e8eef8;
    border-radius: 26px;
    background: #ffffff;
    box-shadow: 0 18px 44px rgba(17, 37, 77, 0.06);
    text-align: center;
}

.st-empty-state h2 {
    margin: 0 0 14px;
    color: #173058;
    font-size: 1.7rem;
    font-weight: 800;
}

.st-empty-state p {
    margin: 0;
    color: #5c6c87;
}

.st-service-detail {
    padding: 14px 0 96px;
}

.st-service-detail__article {
    padding: 38px 42px;
    border: 1px solid #e8eef8;
    border-radius: 30px;
    background: #ffffff;
    box-shadow: 0 18px 44px rgba(17, 37, 77, 0.06);
}

.st-service-detail__content {
    color: #5c6c87;
    font-size: 1.02rem;
    line-height: 1.9;
}

.st-service-detail__content::after,
.st-clear {
    content: '';
    display: table;
    clear: both;
}

.st-service-detail__figure {
    float: right;
    width: min(44%, 500px);
    margin: 0 0 28px 34px;
    border-radius: 28px;
    overflow: hidden;
    box-shadow: 0 24px 50px rgba(17, 37, 77, 0.16);
}

.st-service-detail__image {
    display: block;
    width: 100%;
    height: auto;
}

.st-service-detail__content > p:first-of-type {
    color: #173058;
    font-size: 1.15rem;
    line-height: 1.85;
    font-weight: 600;
}

.st-service-detail__content h2,
.st-service-detail__content h3,
.st-service-detail__content h4 {
    color: #173058;
    font-weight: 800;
    line-height: 1.25;
}

.st-service-detail__content ul,
.st-service-detail__content ol {
    padding-left: 22px;
}

.st-reveal {
    opacity: 0;
    transform: translateY(30px);
    transition: opacity 0.7s ease, transform 0.7s ease;
    will-change: opacity, transform;
}

.st-reveal--scale {
    transform: scale(0.94) translateY(18px);
}

.st-reveal.is-visible {
    opacity: 1;
    transform: none;
}

@media screen and (max-width: 1199px) {
    .st-services-archive__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        grid-template-rows: none;
        grid-template-areas: none;
        grid-auto-rows: 160px;
    }

    .st-services-archive-card--layout-1,
    .st-services-archive-card--layout-6 {
        grid-column: span 2;
        grid-row: span 2;
    }

    .st-services-archive-card--layout-2,
    .st-services-archive-card--layout-3,
    .st-services-archive-card--layout-4,
    .st-services-archive-card--layout-5 {
        grid-column: span 1;
        grid-row: span 1;
    }

    .st-service-detail__figure {
        width: min(46%, 420px);
        margin-left: 28px;
    }
}

@media screen and (max-width: 991px) {
    .st-page-hero {
        padding-top: 54px;
    }

    .st-page-copy__card,
    .st-service-detail__article {
        padding: 28px 24px;
        border-radius: 24px;
    }

    .st-services-archive {
        padding-bottom: 78px;
    }

    .st-services-archive__grid {
        grid-template-rows: none;
        grid-template-areas: none;
        grid-auto-rows: 150px;
        gap: 22px;
    }

    .st-services-archive-card__overlay::before {
        background: rgba(7, 19, 41, 0.28);
        backdrop-filter: blur(8px);
    }

    .st-services-archive-card__summary,
    .st-services-archive-card__button {
        opacity: 1;
        transform: none;
        max-height: 220px;
    }

    .st-services-archive-card__button {
        margin-top: 18px;
    }

    .st-service-detail__figure {
        float: none;
        width: 100%;
        max-width: none;
        margin: 0 0 24px;
    }
}

@media screen and (max-width: 767px) {
    .st-page-hero {
        padding: 46px 0 22px;
    }

    .st-page-hero__eyebrow {
        min-height: 32px;
        padding: 7px 14px;
        margin-bottom: 14px;
        font-size: 12px;
    }

    .st-page-hero__description {
        font-size: 1rem;
        line-height: 1.7;
    }

    .st-page-copy__card,
    .st-service-detail__article,
    .st-empty-state {
        padding: 24px 18px;
        border-radius: 20px;
    }

    .st-services-archive__grid {
        grid-template-columns: 1fr;
        grid-auto-rows: auto;
        gap: 20px;
    }

    .st-services-archive-card,
    .st-services-archive-card--layout-1,
    .st-services-archive-card--layout-2,
    .st-services-archive-card--layout-3,
    .st-services-archive-card--layout-4,
    .st-services-archive-card--layout-5,
    .st-services-archive-card--layout-6 {
        grid-column: auto;
        grid-row: auto;
        min-height: 360px;
        border-radius: 22px;
    }

    .st-services-archive-card__overlay {
        padding: 22px 20px;
    }

    .st-services-archive-card__title {
        font-size: 1.35rem;
    }

    .st-services-archive-card__summary {
        font-size: 0.95rem;
        line-height: 1.65;
    }

    .st-services-archive-card__button {
        width: 100%;
    }

    .st-service-detail {
        padding-bottom: 74px;
    }

    .st-service-detail__content {
        font-size: 0.98rem;
        line-height: 1.8;
    }

    .st-service-detail__content > p:first-of-type {
        font-size: 1.06rem;
        line-height: 1.75;
    }
}

/* =========================================================
   Contact page template
========================================================= */
.st-contact-page {
    background: #f5f7fc;
}

.st-page-hero--contact {
    padding-bottom: 92px;
}

.st-contact-layout {
    display: grid;
    grid-template-columns: minmax(0, 0.94fr) minmax(340px, 0.82fr);
    grid-template-areas:
        "intro details"
        "map details";
    gap: 34px;
    align-items: start;
}

.st-contact-layout__intro {
    grid-area: intro;
    max-width: 680px;
    padding-top: 6px;
}

.st-contact-layout__content {
    margin-top: 14px;
    color: #5c6c87;
    font-size: 1rem;
    line-height: 1.9;
}

.st-contact-layout__content h2,
.st-contact-layout__content h3,
.st-contact-layout__content h4 {
    color: #173058;
    font-weight: 800;
}

.st-contact-details {
    grid-area: details;
}

.st-contact-details__card,
.st-contact-map__card {
    padding: 34px 34px 36px;
    border: 1px solid #e8eef8;
    border-radius: 30px;
    background: #ffffff;
    box-shadow: 0 18px 44px rgba(17, 37, 77, 0.06);
}

.st-contact-details__title,
.st-contact-map__title {
    margin: 0 0 20px;
    color: #173058;
    font-size: 1.8rem;
    line-height: 1.2;
    font-weight: 800;
}

.st-contact-details__list {
    display: grid;
    gap: 16px;
}

.st-contact-item {
    display: grid;
    grid-template-columns: 58px minmax(0, 1fr);
    gap: 16px;
    align-items: start;
    padding: 18px;
    border-radius: 22px;
    background: linear-gradient(180deg, rgba(235, 242, 255, 0.65) 0%, rgba(255, 255, 255, 1) 100%);
    border: 1px solid #e7eefb;
}

.st-contact-item__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 58px;
    height: 58px;
    border-radius: 18px;
    background: linear-gradient(135deg, #2b5fcd 0%, #173058 100%);
    color: #ffffff;
    font-size: 1.16rem;
    box-shadow: 0 16px 24px rgba(23, 48, 88, 0.16);
}

.st-contact-item__body {
    min-width: 0;
}

.st-contact-item__label {
    display: block;
    margin-bottom: 6px;
    color: #173058;
    font-size: 0.84rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.st-contact-item__value {
    display: inline-block;
    color: #5c6c87;
    font-size: 1rem;
    line-height: 1.75;
    word-break: break-word;
}

.st-contact-item__value:hover,
.st-contact-item__value:focus {
    color: #0542C0;
}

.st-contact-details__empty {
    margin: 0;
    color: #5c6c87;
    line-height: 1.8;
}

.st-contact-map {
    grid-area: map;
}

.st-contact-map__card {
    padding-bottom: 26px;
}

.st-contact-map__embed {
    overflow: hidden;
    border-radius: 24px;
    border: 1px solid #e7eefb;
    background: #edf3ff;
    min-height: 420px;
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.45);
}

.st-contact-map__embed iframe,
.st-contact-map__embed > div,
.st-contact-map__embed > * {
    display: block;
    width: 100%;
    min-height: 420px;
    border: 0;
}

@media screen and (max-width: 1199px) {
    .st-contact-layout {
        grid-template-columns: minmax(0, 1fr) minmax(320px, 0.9fr);
        gap: 28px;
    }
}

@media screen and (max-width: 991px) {
    .st-page-hero--contact {
        padding-bottom: 78px;
    }

    .st-contact-layout {
        grid-template-columns: 1fr;
        grid-template-areas:
            "intro"
            "details"
            "map";
    }

    .st-contact-details__card,
    .st-contact-map__card {
        padding: 28px 24px;
        border-radius: 24px;
    }

    .st-contact-map__embed,
    .st-contact-map__embed iframe,
    .st-contact-map__embed > div,
    .st-contact-map__embed > * {
        min-height: 340px;
    }
}

@media screen and (max-width: 767px) {
    .st-page-hero--contact {
        padding-bottom: 62px;
    }

    .st-contact-layout {
        gap: 22px;
    }

    .st-contact-details__card,
    .st-contact-map__card {
        padding: 24px 18px;
        border-radius: 20px;
    }

    .st-contact-details__title,
    .st-contact-map__title {
        font-size: 1.55rem;
    }

    .st-contact-item {
        grid-template-columns: 50px minmax(0, 1fr);
        gap: 14px;
        padding: 16px;
        border-radius: 18px;
    }

    .st-contact-item__icon {
        width: 50px;
        height: 50px;
        border-radius: 15px;
    }

    .st-contact-map__embed,
    .st-contact-map__embed iframe,
    .st-contact-map__embed > div,
    .st-contact-map__embed > * {
        min-height: 280px;
    }
}

/* =============================================================================
   Homepage animated counters section
   ============================================================================= */
.st-home-counters {
    position: relative;
    padding: 42px 0 36px;
    background: var(--st-counter-bg, #f4f5fb);
}

.st-home-counters .container {
    max-width: 1320px;
    padding-left: 28px;
    padding-right: 28px;
}

.st-home-counters__grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: var(--st-counter-gap, 24px);
    align-items: stretch;
}

.st-home-counter {
    display: flex;
    align-items: center;
    gap: 28px;
    min-width: 0;
    padding: 10px 6px;
}


.st-home-counter {
    position: relative;
}

.st-home-counter__icon-diamond {
    transition: transform 0.38s cubic-bezier(0.22, 1, 0.36, 1), box-shadow 0.38s ease, border-color 0.38s ease, filter 0.38s ease;
    transform-origin: center center;
}

.st-home-counter__icon-wrap {
    transition: transform 0.38s cubic-bezier(0.22, 1, 0.36, 1), box-shadow 0.38s ease, background-color 0.38s ease, filter 0.38s ease;
    transform-origin: center center;
}

.st-home-counter__text,
.st-home-counter__title,
.st-home-counter__number-line {
    transition: transform 0.38s cubic-bezier(0.22, 1, 0.36, 1), color 0.38s ease, filter 0.38s ease;
    transform-origin: left center;
}

@media (hover: hover) and (pointer: fine) {
    .st-home-counter:hover .st-home-counter__icon-diamond {
        transform: rotate(41deg) scale(1.08);
        box-shadow: 0 0 0 1px rgba(10, 47, 125, 0.05), 0 0 26px rgba(42, 86, 190, 0.18);
        filter: drop-shadow(0 10px 20px rgba(10, 26, 63, 0.10));
    }

    .st-home-counter:hover .st-home-counter__icon-wrap {
        transform: rotate(-41deg) scale(1.1);
        box-shadow: 0 22px 42px rgba(10, 26, 63, 0.16), 0 0 24px rgba(255, 165, 0, 0.14);
        filter: saturate(1.05);
    }

    .st-home-counter:hover .st-home-counter__text {
        transform: translateX(6px) scale(1.03);
        filter: drop-shadow(0 6px 16px rgba(10, 26, 63, 0.08));
    }

    .st-home-counter:hover .st-home-counter__title {
        transform: translateX(2px) rotate(-1deg);
    }

    .st-home-counter:hover .st-home-counter__number-line {
        transform: translateX(3px) scale(1.04) rotate(-1deg);
        filter: drop-shadow(0 6px 16px rgba(255, 165, 0, 0.12));
    }
}

@media (prefers-reduced-motion: reduce) {
    .st-home-counter__icon-diamond,
    .st-home-counter__icon-wrap,
    .st-home-counter__text,
    .st-home-counter__title,
    .st-home-counter__number-line {
        transition: none !important;
    }

    .st-home-counter:hover .st-home-counter__icon-diamond,
    .st-home-counter:hover .st-home-counter__icon-wrap,
    .st-home-counter:hover .st-home-counter__text,
    .st-home-counter:hover .st-home-counter__title,
    .st-home-counter:hover .st-home-counter__number-line {
        transform: none !important;
        box-shadow: none !important;
        filter: none !important;
    }
}

.st-home-counter__icon-diamond {
    flex: 0 0 112px;
    width: 112px;
    height: 112px;
    display: grid;
    place-items: center;
    border: 4px solid var(--st-counter-icon-border, #0a2f7d);
    border-radius: 14px;
    background: transparent;
    transform: rotate(45deg);
}

.st-home-counter__icon-wrap {
    width: 70px;
    height: 70px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: var(--st-counter-icon-bg, #ffffff);
    border-radius: 20px;
    box-shadow: 0 20px 36px rgba(10, 26, 63, 0.12);
    transform: rotate(-45deg);
}

.st-home-counter__icon-wrap i {
    font-size: 30px;
    color: var(--st-counter-icon-color, #0a2f7d);
}

.st-home-counter__text {
    min-width: 0;
}

.st-home-counter__title {
    margin: 0 0 8px;
    color: var(--st-counter-title, #051b57);
    font-size: clamp(1.15rem, 1.1vw, 1.75rem);
    line-height: 1.15;
    font-weight: 800;
    letter-spacing: 0;
    text-transform: uppercase;
}

.st-home-counter__number-line {
    display: inline-flex;
    align-items: baseline;
    gap: 4px;
    color: var(--st-counter-number, #051b57);
    white-space: nowrap;
}

.st-home-counter__number,
.st-home-counter__affix {
    color: inherit;
    line-height: 1;
    font-weight: 900;
}

.st-home-counter__number {
    font-size: clamp(2rem, 2.2vw, 3rem);
    letter-spacing: -0.04em;
}

.st-home-counter__affix {
    font-size: clamp(1.5rem, 1.4vw, 2.25rem);
}

@media screen and (max-width: 1399px) {
    .st-home-counters__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        row-gap: 30px;
    }
}

@media screen and (max-width: 991px) {
    .st-home-counters {
        padding: 28px 0 22px;
    }

    .st-home-counters .container {
        padding-left: 22px;
        padding-right: 22px;
    }

    .st-home-counters__grid {
        grid-template-columns: 1fr;
        gap: 24px;
    }

    .st-home-counter {
        gap: 20px;
        justify-content: center;
        max-width: 420px;
        margin-left: auto;
        margin-right: auto;
    }

    .st-home-counter__icon-diamond {
        flex-basis: 94px;
        width: 94px;
        height: 94px;
    }

    .st-home-counter__icon-wrap {
        width: 58px;
        height: 58px;
    }

    .st-home-counter__icon-wrap i {
        font-size: 24px;
    }
}

@media screen and (max-width: 575px) {
    .st-home-counters {
        padding: 20px 0 16px;
    }

    .st-home-counters .container {
        padding-left: 18px;
        padding-right: 18px;
    }

    .st-home-counter {
        gap: 16px;
        align-items: center;
        justify-content: center;
        max-width: 340px;
        margin-left: auto;
        margin-right: auto;
    }

    .st-home-counter__icon-diamond {
        flex-basis: 78px;
        width: 78px;
        height: 78px;
        border-width: 3px;
        border-radius: 12px;
    }

    .st-home-counter__icon-wrap {
        width: 48px;
        height: 48px;
        border-radius: 14px;
    }

    .st-home-counter__icon-wrap i {
        font-size: 20px;
    }

    .st-home-counter__title {
        margin-bottom: 6px;
        font-size: 1.05rem;
    }

    .st-home-counter__number {
        font-size: 1.8rem;
    }

    .st-home-counter__affix {
        font-size: 1.35rem;
    }
}

/* =============================================================================
   References page template
   ============================================================================= */
.st-references-page {
    position: relative;
}

.st-page-hero--references {
    padding-bottom: 38px;
}

.st-page-hero__inner--references {
    max-width: 900px;
}

.st-references-grid-section {
    padding: 10px 0 96px;
}

.st-references-grid-section .container {
    max-width: 1320px;
}

.st-references-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 24px;
    align-items: start;
}

.st-reference-card {
    position: relative;
    display: flex;
    flex-direction: column;
    min-height: 0;
    height: auto;
    align-self: start;
    padding: 24px;
    border: 1px solid #e8eef8;
    border-radius: 28px;
    background: linear-gradient(180deg, #ffffff 0%, #f9fbff 100%);
    box-shadow: 0 18px 44px rgba(17, 37, 77, 0.06);
    transition: transform 0.35s ease, box-shadow 0.35s ease, border-color 0.35s ease;
}

.st-reference-card::before {
    content: '';
    position: absolute;
    left: 24px;
    right: 24px;
    top: 0;
    height: 4px;
    border-radius: 999px;
    background: linear-gradient(90deg, #1557d6 0%, #ff8c58 100%);
    opacity: 0.92;
}

.st-reference-card__logo-slot {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 88px;
    padding: 16px 18px;
    margin-bottom: 22px;
    border: 1px dashed #d8e3f7;
    border-radius: 20px;
    background: linear-gradient(180deg, rgba(239, 245, 255, 0.72) 0%, rgba(255, 255, 255, 0.9) 100%);
    transition: border-color 0.35s ease, background-color 0.35s ease, transform 0.35s ease;
}

.st-reference-card__logo-slot.has-logo {
    border-style: solid;
    border-color: #e1eaf9;
    background: #ffffff;
}

.st-reference-card__logo-wrap {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    max-width: 100%;
}

.st-reference-card__logo {
    display: block;
    width: auto;
    max-width: 100%;
    max-height: 52px;
    object-fit: contain;
}


.st-reference-card__content {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 12px;
    min-width: 0;
    text-align: center;
}

.st-reference-card.no-logo {
    align-self: end;
}

.st-reference-card.no-logo .st-reference-card__content {
    padding-top: 10px;
}

.st-reference-card__title {
    margin: 0;
    color: #173058;
    font-size: 1.32rem;
    line-height: 1.28;
    font-weight: 800;
    text-align: center;
    width: 100%;
}

.st-reference-card__title a {
    color: inherit;
    text-decoration: none;
    transition: color 0.25s ease;
}

.st-reference-card__title a:hover,
.st-reference-card__title a:focus {
    color: #1557d6;
    text-decoration: none;
}

.st-reference-card__subtitle {
    margin: 0;
    color: #5c6c87;
    font-size: 0.98rem;
    line-height: 1.75;
    text-align: center;
}

.st-reference-card:hover,
.st-reference-card:focus-within {
    transform: translateY(-8px);
    border-color: #dce7fb;
    box-shadow: 0 26px 50px rgba(17, 37, 77, 0.1);
}

.st-reference-card:hover .st-reference-card__logo-slot,
.st-reference-card:focus-within .st-reference-card__logo-slot {
    border-color: rgba(21, 87, 214, 0.28);
    transform: translateY(-2px);
}

.st-reference-card:hover .st-reference-card__title,
.st-reference-card:focus-within .st-reference-card__title {
    color: #1557d6;
}

@media screen and (max-width: 1199px) {
    .st-references-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media screen and (max-width: 767px) {
    .st-page-hero--references {
        padding-bottom: 28px;
    }

    .st-references-grid-section {
        padding-bottom: 74px;
    }

    .st-references-grid {
        grid-template-columns: 1fr;
        gap: 18px;
    }

    .st-reference-card {
        padding: 20px 18px;
        border-radius: 22px;
    }

    .st-reference-card::before {
        left: 18px;
        right: 18px;
    }

    .st-reference-card__logo-slot {
        min-height: 76px;
        padding: 14px 16px;
        margin-bottom: 18px;
        border-radius: 18px;
    }

    .st-reference-card__logo {
        max-height: 44px;
    }

    .st-reference-card__title {
        font-size: 1.14rem;
    }
}


/* =============================================================================
   ST Footer CTA v24
   ============================================================================= */
.st-footer-cta-wrap {
    margin-top: 26px;
    display: flex;
    justify-content: center;
}

.st-footer-cta,
.st-footer-cta:link,
.st-footer-cta:visited {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 48px;
    padding: 0 22px;
    border-radius: 14px;
    background: linear-gradient(135deg, #ff9258 0%, #ff6c4a 100%);
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    font-size: 13px;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    text-decoration: none;
    opacity: 1 !important;
    box-shadow: 0 14px 24px rgba(255, 108, 74, 0.26);
    transition: transform 0.25s ease, box-shadow 0.25s ease, background 0.25s ease, color 0.25s ease;
}

.st-footer-cta:hover,
.st-footer-cta:focus,
.st-footer-cta:active {
    background: linear-gradient(135deg, #1557d6 0%, #173058 100%);
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    text-decoration: none;
    opacity: 1 !important;
    transform: translateY(-1px);
    box-shadow: 0 18px 30px rgba(21, 87, 214, 0.30);
}

.st-footer-cta *,
.st-footer-cta:hover *,
.st-footer-cta:focus *,
.st-footer-cta:active * {
    color: inherit !important;
    -webkit-text-fill-color: inherit !important;
    opacity: 1 !important;
}

@media (max-width: 767px) {
    .st-footer-cta-wrap {
        margin-top: 22px;
    }
}

/* =============================================================================
   Dynamic mosaic balancing for homepage services + services hub
   ============================================================================= */
@media screen and (min-width: 1200px) {
    .st-services-showcase__grid[data-count],
    .st-services-archive__grid[data-count] {
        grid-auto-flow: dense;
    }

    /* -----------------------------
       Homepage services showcase
    ------------------------------ */
    .st-services-showcase__grid[data-count="1"] {
        grid-template-columns: 1fr;
        grid-auto-rows: minmax(420px, 1fr);
    }
    .st-services-showcase__grid[data-count="1"] .st-services-card--pos-1 {
        grid-column: 1;
        grid-row: 1;
        min-height: 420px;
    }

    .st-services-showcase__grid[data-count="2"] {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        grid-auto-rows: minmax(320px, 1fr);
    }

    .st-services-showcase__grid[data-count="3"] {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        grid-auto-rows: minmax(250px, 1fr);
    }
    .st-services-showcase__grid[data-count="3"] .st-services-card--pos-1 {
        grid-column: 1 / span 2;
        grid-row: 1 / span 2;
        min-height: 520px;
    }
    .st-services-showcase__grid[data-count="3"] .st-services-card--pos-2 {
        grid-column: 3;
        grid-row: 1;
    }
    .st-services-showcase__grid[data-count="3"] .st-services-card--pos-3 {
        grid-column: 3;
        grid-row: 2;
    }

    .st-services-showcase__grid[data-count="4"] {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        grid-auto-rows: minmax(250px, 1fr);
    }
    .st-services-showcase__grid[data-count="4"] .st-services-card--pos-1 {
        grid-column: 1 / span 2;
        grid-row: 1;
    }
    .st-services-showcase__grid[data-count="4"] .st-services-card--pos-2 {
        grid-column: 3;
        grid-row: 1;
    }
    .st-services-showcase__grid[data-count="4"] .st-services-card--pos-3 {
        grid-column: 1;
        grid-row: 2;
    }
    .st-services-showcase__grid[data-count="4"] .st-services-card--pos-4 {
        grid-column: 2 / span 2;
        grid-row: 2;
    }

    .st-services-showcase__grid[data-count="5"] {
        grid-template-columns: minmax(0, 0.95fr) minmax(0, 1fr) minmax(0, 1fr);
        grid-auto-rows: minmax(320px, 1fr);
    }
    .st-services-showcase__grid[data-count="5"] .st-services-card--pos-1 {
        grid-column: 1;
        grid-row: 1 / span 2;
        min-height: 660px;
    }
    .st-services-showcase__grid[data-count="5"] .st-services-card--pos-2 {
        grid-column: 2;
        grid-row: 1;
    }
    .st-services-showcase__grid[data-count="5"] .st-services-card--pos-3 {
        grid-column: 3;
        grid-row: 1;
    }
    .st-services-showcase__grid[data-count="5"] .st-services-card--pos-4 {
        grid-column: 2;
        grid-row: 2;
    }
    .st-services-showcase__grid[data-count="5"] .st-services-card--pos-5 {
        grid-column: 3;
        grid-row: 2;
    }

    .st-services-showcase__grid[data-count="6"] {
        grid-template-columns: minmax(0, 0.95fr) minmax(0, 1fr) minmax(0, 1fr);
        grid-auto-rows: minmax(300px, 1fr);
    }
    .st-services-showcase__grid[data-count="6"] .st-services-card--pos-1 {
        grid-column: 1;
        grid-row: 1 / span 3;
        min-height: 940px;
    }
    .st-services-showcase__grid[data-count="6"] .st-services-card--pos-2 {
        grid-column: 2;
        grid-row: 1;
    }
    .st-services-showcase__grid[data-count="6"] .st-services-card--pos-3 {
        grid-column: 3;
        grid-row: 1;
    }
    .st-services-showcase__grid[data-count="6"] .st-services-card--pos-4 {
        grid-column: 2;
        grid-row: 2;
    }
    .st-services-showcase__grid[data-count="6"] .st-services-card--pos-5 {
        grid-column: 3;
        grid-row: 2;
    }
    .st-services-showcase__grid[data-count="6"] .st-services-card--pos-6 {
        grid-column: 2 / span 2;
        grid-row: 3;
    }

    /* -----------------------------
       Services hub archive mosaic
    ------------------------------ */
    .st-services-archive__grid[data-count="1"] {
        grid-template-columns: 1fr;
        grid-template-areas: "one";
        grid-template-rows: minmax(320px, auto);
        grid-auto-rows: minmax(320px, auto);
    }
    .st-services-archive__grid[data-count="1"] .st-services-archive-card--pos-1 {
        grid-column: 1;
        grid-row: 1;
        min-height: 320px;
    }

    .st-services-archive__grid[data-count="2"] {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        grid-template-areas: "one two";
        grid-template-rows: minmax(230px, auto);
        grid-auto-rows: minmax(230px, auto);
    }

    .st-services-archive__grid[data-count="3"] {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        grid-template-areas: "one two three";
        grid-template-rows: minmax(250px, auto);
        grid-auto-rows: minmax(250px, auto);
    }

    .st-services-archive__grid[data-count="4"] {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        grid-template-areas:
            "one two"
            "three four";
        grid-template-rows: repeat(2, minmax(250px, auto));
        grid-auto-rows: minmax(250px, auto);
    }

    .st-services-archive__grid[data-count="5"] {
        grid-template-columns: minmax(0, 0.95fr) minmax(0, 1fr) minmax(0, 1fr);
        grid-template-areas:
            "one two three"
            "one four five";
        grid-template-rows: repeat(2, minmax(300px, auto));
        grid-auto-rows: minmax(300px, auto);
    }
    .st-services-archive__grid[data-count="5"] .st-services-archive-card--pos-1 {
        grid-column: 1;
        grid-row: 1 / span 2;
        min-height: 620px;
    }
    .st-services-archive__grid[data-count="5"] .st-services-archive-card--pos-2 {
        grid-column: 2;
        grid-row: 1;
    }
    .st-services-archive__grid[data-count="5"] .st-services-archive-card--pos-3 {
        grid-column: 3;
        grid-row: 1;
    }
    .st-services-archive__grid[data-count="5"] .st-services-archive-card--pos-4 {
        grid-column: 2;
        grid-row: 2;
    }
    .st-services-archive__grid[data-count="5"] .st-services-archive-card--pos-5 {
        grid-column: 3;
        grid-row: 2;
    }

    .st-services-archive__grid[data-count="6"] {
        grid-template-columns: minmax(0, 0.95fr) minmax(0, 1fr) minmax(0, 1fr);
        grid-template-areas:
            "one two three"
            "one four five"
            "one six six";
        grid-template-rows: repeat(3, clamp(260px, 22vw, 360px));
    }
    .st-services-archive__grid[data-count="6"] .st-services-archive-card--pos-1 {
        grid-column: 1;
        grid-row: 1 / span 3;
        min-height: 900px;
    }
    .st-services-archive__grid[data-count="6"] .st-services-archive-card--pos-2 {
        grid-column: 2;
        grid-row: 1;
    }
    .st-services-archive__grid[data-count="6"] .st-services-archive-card--pos-3 {
        grid-column: 3;
        grid-row: 1;
    }
    .st-services-archive__grid[data-count="6"] .st-services-archive-card--pos-4 {
        grid-column: 2;
        grid-row: 2;
    }
    .st-services-archive__grid[data-count="6"] .st-services-archive-card--pos-5 {
        grid-column: 3;
        grid-row: 2;
    }
    .st-services-archive__grid[data-count="6"] .st-services-archive-card--pos-6 {
        grid-column: 2 / span 2;
        grid-row: 3;
    }
}

@media screen and (max-width: 1199px) {
    .st-services-showcase__grid .st-services-card[class*="st-services-card--pos-"],
    .st-services-archive__grid .st-services-archive-card[class*="st-services-archive-card--pos-"] {
        grid-column: auto !important;
        grid-row: auto !important;
        min-height: unset;
    }
}

@media screen and (max-width: 991px) {
    .st-services-showcase__grid .st-services-card[class*="st-services-card--pos-"] {
        min-height: 260px;
    }

    .st-services-archive__grid .st-services-archive-card[class*="st-services-archive-card--pos-"] {
        min-height: 220px;
    }
}

@media screen and (max-width: 767px) {
    .st-services-showcase__grid .st-services-card[class*="st-services-card--pos-"] {
        min-height: 260px;
    }

    .st-services-archive__grid .st-services-archive-card[class*="st-services-archive-card--pos-"] {
        min-height: 340px;
    }
}
@media screen and (max-width: 991px) {
    .st-home-counter {
        flex-direction: column !important;
        justify-content: center !important;
        align-items: center !important;
        text-align: center !important;
        gap: 14px !important;
    }

    .st-home-counter__text {
        text-align: center !important;
    }

    .st-home-counter__title,
    .st-home-counter__number-line {
        justify-content: center !important;
        text-align: center !important;
    }
}
