/**
 * SkyKreation Pro - front-end styles.
 *
 * Colours, fonts, spacing and radii all come from CSS custom properties that
 * are generated from SkyKreation Pro -> Theme Settings (see inc/dynamic-css.php),
 * so this file never needs editing to rebrand the site.
 *
 * 1.  Base & typography
 * 2.  Layout primitives
 * 3.  Buttons & small components
 * 4.  Header, navigation & mobile menu
 * 5.  Hero slider & news bar
 * 6.  Page hero & breadcrumbs
 * 7.  Cards, grids & feature blocks
 * 8.  Split sections & statistics
 * 9.  Tabs
 * 10. Accordion & FAQ
 * 11. Testimonials
 * 12. Single service blocks
 * 13. Forms
 * 14. Contact page
 * 15. Call to action
 * 16. Footer & floating actions
 * 17. Editorial content, blog & pagination
 * 18. Utilities, motion & print
 */

/* ========================================================================== */
/* 1. Base & typography                                                       */
/* ========================================================================== */

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

/*
 * Several components below set an explicit display value, which would beat the
 * browser's own [hidden] rule. Keep the attribute authoritative so anything the
 * script hides is genuinely gone - out of view, out of the tab order and out of
 * the accessibility tree.
 */
[hidden] { display: none !important; }

html {
	-webkit-text-size-adjust: 100%;
	scroll-behavior: smooth;
	scroll-padding-top: calc(var(--sk-header-height) + 24px);
}

body {
	margin: 0;
	background: var(--sk-bg);
	color: var(--sk-text);
	font-family: var(--sk-font-body);
	font-size: var(--sk-fs-base);
	line-height: 1.68;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	overflow-x: hidden;
}

h1, h2, h3, h4, h5, h6 {
	margin: 0 0 .6em;
	color: var(--sk-heading);
	font-family: var(--sk-font-heading);
	font-weight: var(--sk-heading-weight);
	line-height: 1.2;
	letter-spacing: -.015em;
}

h1 { font-size: var(--sk-fs-h1); }
h2 { font-size: var(--sk-fs-h2); }
h3 { font-size: var(--sk-fs-h3); }
h4 { font-size: var(--sk-fs-h4); }
h5 { font-size: var(--sk-fs-h5); }

p { margin: 0 0 1.15em; }
p:last-child { margin-bottom: 0; }

a {
	color: var(--sk-primary);
	text-decoration-thickness: 1px;
	text-underline-offset: .18em;
	transition: color .18s ease;
}

a:hover { color: var(--sk-primary-dark); }

img, svg, video, iframe {
	max-width: 100%;
	height: auto;
	vertical-align: middle;
}

ul, ol { margin: 0 0 1.15em; padding-left: 1.25em; }

figure { margin: 0; }

hr {
	border: 0;
	border-top: 1px solid var(--sk-border);
	margin: 2.5rem 0;
}

:focus-visible {
	outline: 3px solid var(--sk-accent);
	outline-offset: 3px;
	border-radius: 4px;
}

::selection {
	background: rgba(var(--sk-primary-rgb), .16);
	color: var(--sk-heading);
}

.sk-icon { flex: none; }

/* ========================================================================== */
/* 2. Layout primitives                                                       */
/* ========================================================================== */

.sk-site {
	display: flex;
	flex-direction: column;
	min-height: 100vh;
}

.sk-main { flex: 1 0 auto; }

.sk-container {
	width: 100%;
	max-width: var(--sk-container);
	margin-inline: auto;
	padding-inline: clamp(18px, 4vw, 36px);
}

.sk-container--wide { max-width: 1600px; }
.sk-container--narrow { max-width: 880px; }

.sk-section {
	position: relative;
	padding-block: var(--sk-section-pad);
}

.sk-section--flush { padding-block: 0; }
.sk-section--bg-default { background: var(--sk-bg); }
.sk-section--bg-surface { background: var(--sk-surface); }

.sk-section--bg-soft {
	background:
		radial-gradient(120% 100% at 100% 0%, rgba(var(--sk-secondary-rgb), .10), transparent 62%),
		radial-gradient(120% 120% at 0% 100%, rgba(var(--sk-primary-rgb), .09), transparent 60%),
		var(--sk-surface);
}

.sk-section--bg-dark {
	background: var(--sk-primary-darker);
	color: rgba(255, 255, 255, .78);
}

.sk-section--bg-dark h1,
.sk-section--bg-dark h2,
.sk-section--bg-dark h3,
.sk-section--bg-dark .sk-section-title { color: #fff; }

.sk-section__foot {
	margin-top: clamp(28px, 4vw, 44px);
	text-align: center;
}

.sk-section-head { margin-bottom: clamp(30px, 4vw, 52px); }
.sk-section-head--center { text-align: center; max-width: 760px; margin-inline: auto; }
.sk-section-head--left { text-align: left; max-width: 720px; }
.sk-section-head--right { text-align: right; margin-left: auto; max-width: 720px; }

.sk-eyebrow {
	display: inline-flex;
	align-items: center;
	gap: .55em;
	margin: 0 0 .85em;
	color: var(--sk-secondary);
	font-size: .8rem;
	font-weight: 700;
	letter-spacing: .14em;
	text-transform: uppercase;
}

.sk-eyebrow::before {
	content: "";
	width: 26px;
	height: 2px;
	background: currentColor;
	border-radius: 2px;
	opacity: .7;
}

.sk-section-head--center .sk-eyebrow::before { display: none; }

.sk-section-title { margin: 0 0 .5em; }
.sk-section-title span { color: var(--sk-secondary); }

.sk-section-sub {
	margin: 0;
	font-size: 1.05rem;
	color: var(--sk-muted);
}

.sk-grid {
	display: grid;
	gap: clamp(18px, 2.2vw, 28px);
	margin: 0;
	padding: 0;
	list-style: none;
	grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
}

.sk-grid--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.sk-grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.sk-grid--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }

.sk-layout-sidebar {
	display: grid;
	gap: clamp(28px, 4vw, 56px);
	grid-template-columns: minmax(0, 1fr) 330px;
	align-items: start;
}

.sk-layout-sidebar--none { grid-template-columns: minmax(0, 1fr); }
.sk-layout-sidebar__aside { position: sticky; top: calc(var(--sk-header-height) + 20px); }

.sk-empty {
	padding: 2.5rem;
	background: var(--sk-surface);
	border: 1px dashed var(--sk-border-strong);
	border-radius: var(--sk-radius);
	text-align: center;
	color: var(--sk-muted);
}

.sk-actions-row {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin-top: 26px;
}

.sk-actions-row--center { justify-content: center; }

/* ========================================================================== */
/* 3. Buttons & small components                                              */
/* ========================================================================== */

.sk-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: .55em;
	padding: 13px 26px;
	border: 1px solid transparent;
	border-radius: var(--sk-btn-radius);
	background: var(--sk-btn);
	color: var(--sk-btn-text);
	font-family: var(--sk-font-heading);
	font-size: var(--sk-btn-fs);
	font-weight: var(--sk-btn-weight);
	line-height: 1.3;
	text-decoration: none;
	cursor: pointer;
	transition: background-color .2s ease, border-color .2s ease, color .2s ease, transform .2s ease, box-shadow .2s ease;
}

.sk-btn:hover {
	background: var(--sk-btn-hover);
	color: var(--sk-btn-text);
	transform: translateY(-1px);
	box-shadow: 0 8px 20px rgba(var(--sk-primary-rgb), .22);
}

.sk-btn:active { transform: translateY(0); }
.sk-btn__icon { transition: transform .2s ease; }
.sk-btn:hover .sk-btn__icon { transform: translateX(3px); }

.sk-btn--secondary {
	background: transparent;
	border-color: var(--sk-border-strong);
	color: var(--sk-heading);
}

.sk-btn--secondary:hover {
	background: var(--sk-primary);
	border-color: var(--sk-primary);
	color: var(--sk-on-primary);
}

.sk-btn--accent {
	background: var(--sk-accent);
	color: var(--sk-on-accent);
}

.sk-btn--accent:hover { background: var(--sk-accent-dark); }

.sk-btn--ghost {
	background: transparent;
	color: var(--sk-primary);
	padding-inline: 6px;
}

.sk-btn--ghost:hover {
	background: transparent;
	color: var(--sk-primary-dark);
	box-shadow: none;
}

.sk-btn--light {
	background: #fff;
	color: var(--sk-primary);
}

.sk-btn--light:hover {
	background: #fff;
	color: var(--sk-primary-dark);
	box-shadow: 0 10px 26px rgba(0, 0, 0, .18);
}

.sk-btn--outline-light {
	background: rgba(255, 255, 255, .08);
	border-color: rgba(255, 255, 255, .48);
	color: #fff;
	backdrop-filter: blur(4px);
}

.sk-btn--outline-light:hover {
	background: rgba(255, 255, 255, .18);
	border-color: #fff;
	color: #fff;
	box-shadow: none;
}

.sk-btn--lg { padding: 16px 32px; font-size: calc(var(--sk-btn-fs) + 1px); }
.sk-btn--block { display: flex; width: 100%; }

.sk-icon-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 42px;
	height: 42px;
	padding: 0;
	border: 1px solid var(--sk-border);
	border-radius: 50%;
	background: transparent;
	color: inherit;
	cursor: pointer;
	transition: background-color .2s ease, border-color .2s ease, color .2s ease;
}

.sk-icon-btn:hover {
	background: var(--sk-primary);
	border-color: var(--sk-primary);
	color: var(--sk-on-primary);
}

.sk-chip {
	display: inline-flex;
	align-items: center;
	gap: .5em;
	padding: 9px 16px;
	border: 1px solid var(--sk-border);
	border-radius: 999px;
	background: var(--sk-bg);
	color: var(--sk-heading);
	font-size: .9rem;
	font-weight: 600;
	text-decoration: none;
	cursor: pointer;
	transition: background-color .2s ease, border-color .2s ease, color .2s ease;
}

.sk-chip span {
	padding: 1px 7px;
	border-radius: 999px;
	background: var(--sk-surface);
	font-size: .78rem;
	font-weight: 700;
}

.sk-chip:hover,
.sk-chip.is-active {
	background: var(--sk-primary);
	border-color: var(--sk-primary);
	color: var(--sk-on-primary);
}

.sk-chip:hover span,
.sk-chip.is-active span { background: rgba(255, 255, 255, .2); color: inherit; }

.sk-chiplist {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.sk-stars { display: inline-flex; gap: 2px; color: var(--sk-border-strong); }
.sk-stars__star.is-on { color: var(--sk-accent); }
.sk-stars__star.is-on .sk-icon { fill: currentColor; }

.sk-spinner {
	display: none;
	width: 16px;
	height: 16px;
	border: 2px solid rgba(255, 255, 255, .45);
	border-top-color: #fff;
	border-radius: 50%;
	animation: sk-spin .7s linear infinite;
}

.is-sending .sk-spinner { display: inline-block; }
.is-sending .sk-btn__icon { display: none; }

@keyframes sk-spin { to { transform: rotate(360deg); } }

/* ========================================================================== */
/* 4. Header, navigation & mobile menu                                        */
/* ========================================================================== */

.sk-header {
	position: relative;
	z-index: 60;
	background: var(--sk-header-bg);
}

.sk-header--shadow .sk-header__bar { box-shadow: 0 1px 0 rgba(var(--sk-primary-rgb), .07); }

.sk-header--sticky .sk-header__bar {
	position: sticky;
	top: 0;
	z-index: 60;
	background: var(--sk-header-bg);
	transition: box-shadow .25s ease, background-color .25s ease;
}

.sk-header--sticky.is-stuck .sk-header__bar { box-shadow: var(--sk-shadow); }

.sk-topbar {
	background: var(--sk-topbar-bg);
	color: var(--sk-topbar-text);
	font-size: .855rem;
}

.sk-topbar__inner {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 10px 24px;
	min-height: 44px;
	padding-block: 7px;
}

.sk-topbar__text {
	display: inline-flex;
	align-items: center;
	gap: .5em;
	margin: 0;
	opacity: .92;
}

.sk-topbar__meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px 20px;
	margin-left: auto;
}

.sk-topbar__link {
	display: inline-flex;
	align-items: center;
	gap: .45em;
	color: inherit;
	text-decoration: none;
	opacity: .92;
	transition: opacity .2s ease;
}

.sk-topbar__link:hover { color: inherit; opacity: 1; }

.sk-topbar__menu {
	display: flex;
	flex-wrap: wrap;
	gap: 6px 18px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.sk-topbar__menu a { color: inherit; text-decoration: none; opacity: .9; }
.sk-topbar__menu a:hover { color: inherit; opacity: 1; }

.sk-header__inner {
	display: flex;
	align-items: center;
	gap: clamp(16px, 3vw, 40px);
	min-height: var(--sk-header-height);
}

.sk-header--center .sk-nav { margin-inline: auto; }
.sk-header--right .sk-nav { margin-left: auto; }

.sk-logo {
	display: inline-flex;
	flex-direction: column;
	justify-content: center;
	text-decoration: none;
	line-height: 1.15;
}

.sk-logo__img {
	width: auto;
	max-width: var(--sk-logo-width);
	max-height: calc(var(--sk-header-height) - 26px);
	object-fit: contain;
}

.sk-logo__img--light,
.sk-logo__img--mobile { display: none; }

.sk-logo__title {
	color: var(--sk-heading);
	font-family: var(--sk-font-heading);
	font-size: 1.32rem;
	font-weight: 800;
	letter-spacing: -.02em;
}

.sk-logo__tagline {
	color: var(--sk-muted);
	font-size: .74rem;
	letter-spacing: .04em;
	text-transform: uppercase;
}

.sk-header__actions {
	display: flex;
	align-items: center;
	gap: 12px;
	margin-left: auto;
}

.sk-header--right .sk-header__actions,
.sk-header--center .sk-header__actions { margin-left: 0; }

.sk-header__phone {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	color: var(--sk-header-text);
	text-decoration: none;
}

.sk-header__phone-icon {
	display: grid;
	place-items: center;
	width: 42px;
	height: 42px;
	border-radius: 50%;
	background: rgba(var(--sk-primary-rgb), .09);
	color: var(--sk-primary);
}

.sk-header__phone-text { display: flex; flex-direction: column; line-height: 1.25; }
.sk-header__phone-text small { color: var(--sk-muted); font-size: .74rem; }
.sk-header__phone-text strong { font-size: .95rem; color: var(--sk-heading); }

/* --- Primary menu --------------------------------------------------------- */

.sk-menu {
	display: flex;
	align-items: center;
	gap: clamp(4px, 1.3vw, 18px);
	margin: 0;
	padding: 0;
	list-style: none;
}

.sk-menu__item { position: relative; }

.sk-menu__link {
	display: inline-flex;
	align-items: center;
	padding: 10px 4px;
	color: var(--sk-header-text);
	font-family: var(--sk-font-heading);
	font-size: var(--sk-menu-fs, 15px);
	font-weight: var(--sk-menu-weight, 500);
	text-decoration: none;
	white-space: nowrap;
}

.sk-header--uppercase .sk-menu > .sk-menu__item > .sk-menu__link {
	font-size: .85rem;
	letter-spacing: .06em;
	text-transform: uppercase;
}

.sk-menu > .sk-menu__item > .sk-menu__link { position: relative; }

.sk-header--indicator-underline .sk-menu > .sk-menu__item > .sk-menu__link::after {
	content: "";
	position: absolute;
	left: 4px;
	right: 4px;
	bottom: 2px;
	height: 2px;
	border-radius: 2px;
	background: var(--sk-header-hover);
	transform: scaleX(0);
	transform-origin: left;
	transition: transform .22s ease;
}

.sk-header--indicator-underline .sk-menu > .sk-menu__item:hover > .sk-menu__link::after,
.sk-header--indicator-underline .sk-menu > .sk-menu__item.is-current > .sk-menu__link::after { transform: scaleX(1); }

.sk-header--indicator-pill .sk-menu > .sk-menu__item > .sk-menu__link {
	padding-inline: 14px;
	border-radius: 999px;
	transition: background-color .2s ease, color .2s ease;
}

.sk-header--indicator-pill .sk-menu > .sk-menu__item:hover > .sk-menu__link,
.sk-header--indicator-pill .sk-menu > .sk-menu__item.is-current > .sk-menu__link {
	background: rgba(var(--sk-primary-rgb), .09);
	color: var(--sk-header-hover);
}

.sk-menu__item:hover > .sk-menu__link,
.sk-menu__item.is-current > .sk-menu__link { color: var(--sk-header-hover); }

.sk-menu__toggle {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 22px;
	height: 22px;
	padding: 0;
	border: 0;
	background: none;
	color: inherit;
	cursor: pointer;
}

.sk-menu__chevron { transform: rotate(90deg); transition: transform .2s ease; }
.sk-menu__item.is-open > .sk-menu__toggle .sk-menu__chevron { transform: rotate(-90deg); }

.sk-menu__sub {
	position: absolute;
	top: calc(100% + 6px);
	left: -14px;
	z-index: 40;
	min-width: var(--sk-dropdown-w, 250px);
	margin: 0;
	padding: 10px;
	list-style: none;
	background: var(--sk-dropdown-bg, #fff);
	border: 1px solid var(--sk-border);
	border-radius: var(--sk-radius);
	box-shadow: var(--sk-shadow-lg);
	opacity: 0;
	visibility: hidden;
	transform: translateY(8px);
	transition: opacity .2s ease, transform .2s ease, visibility .2s;
}

.sk-menu__item:hover > .sk-menu__sub,
.sk-menu__item:focus-within > .sk-menu__sub,
.sk-menu__item.is-open > .sk-menu__sub {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
}

.sk-menu__sub .sk-menu__item { display: block; }

.sk-menu__sub .sk-menu__link {
	display: block;
	padding: 9px 14px;
	border-radius: var(--sk-radius-sm);
	color: var(--sk-dropdown-color, var(--sk-text));
	font-size: .93rem;
	font-weight: 500;
	white-space: normal;
}

.sk-menu__sub .sk-menu__item:hover > .sk-menu__link,
.sk-menu__sub .sk-menu__item.is-current > .sk-menu__link {
	background: rgba(var(--sk-primary-rgb), .07);
	color: var(--sk-primary);
}

.sk-menu__sub .sk-menu__toggle {
	position: absolute;
	top: 10px;
	right: 10px;
}

.sk-menu__sub--deep { top: -10px; left: calc(100% + 6px); }

/* --- Transparent header --------------------------------------------------- */

.sk-header--transparent {
	position: absolute;
	inset: 0 0 auto;
	background: transparent;
}

.sk-header--transparent .sk-header__bar { background: transparent; box-shadow: none; }
.sk-header--transparent .sk-menu__link,
.sk-header--transparent .sk-header__phone,
.sk-header--transparent .sk-header__phone-text strong,
.sk-header--transparent .sk-icon-btn { color: #fff; }
.sk-header--transparent .sk-header__phone-text small { color: rgba(255, 255, 255, .72); }
.sk-header--transparent .sk-icon-btn { border-color: rgba(255, 255, 255, .35); }
.sk-header--transparent .sk-burger__line { background: #fff; }
.sk-header--transparent .sk-header__phone-icon { background: rgba(255, 255, 255, .16); color: #fff; }

.sk-header--transparent .sk-logo__img--light { display: block; }
.sk-header--transparent .sk-logo__img--main:not(:only-child) { display: none; }
.sk-header--transparent .sk-logo__title { color: #fff; }
.sk-header--transparent .sk-logo__tagline { color: rgba(255, 255, 255, .72); }

.sk-header--transparent.is-stuck {
	position: fixed;
	background: var(--sk-header-bg);
	box-shadow: var(--sk-shadow);
	animation: sk-drop .3s ease;
}

.sk-header--transparent.is-stuck .sk-menu__link,
.sk-header--transparent.is-stuck .sk-header__phone,
.sk-header--transparent.is-stuck .sk-icon-btn { color: var(--sk-header-text); }
.sk-header--transparent.is-stuck .sk-header__phone-text strong { color: var(--sk-heading); }
.sk-header--transparent.is-stuck .sk-header__phone-text small { color: var(--sk-muted); }
.sk-header--transparent.is-stuck .sk-icon-btn { border-color: var(--sk-border); }
.sk-header--transparent.is-stuck .sk-burger__line { background: var(--sk-heading); }
.sk-header--transparent.is-stuck .sk-logo__img--light { display: none; }
.sk-header--transparent.is-stuck .sk-logo__img--main { display: block; }
.sk-header--transparent.is-stuck .sk-logo__title { color: var(--sk-heading); }
.sk-header--transparent.is-stuck .sk-header__phone-icon { background: rgba(var(--sk-primary-rgb), .09); color: var(--sk-primary); }
.sk-header--transparent.is-stuck .sk-topbar { display: none; }

@keyframes sk-drop { from { transform: translateY(-100%); } to { transform: translateY(0); } }

/* --- Burger & mobile drawer ----------------------------------------------- */

.sk-burger {
	display: none;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	padding: 0;
	border: 1px solid var(--sk-border);
	border-radius: var(--sk-radius-sm);
	background: transparent;
	cursor: pointer;
}

.sk-burger__box { display: grid; gap: 5px; width: 20px; }

.sk-burger__line {
	display: block;
	height: 2px;
	border-radius: 2px;
	background: var(--sk-heading);
	transition: transform .25s ease, opacity .2s ease;
}

.sk-burger[aria-expanded="true"] .sk-burger__line:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.sk-burger[aria-expanded="true"] .sk-burger__line:nth-child(2) { opacity: 0; }
.sk-burger[aria-expanded="true"] .sk-burger__line:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

.sk-mobile-overlay {
	position: fixed;
	inset: 0;
	z-index: 90;
	background: rgba(11, 27, 43, .55);
	backdrop-filter: blur(2px);
	opacity: 0;
	transition: opacity .28s ease;
}

.sk-mobile-overlay.is-visible { opacity: 1; }

.sk-mobile {
	position: fixed;
	top: 0;
	z-index: 100;
	display: flex;
	flex-direction: column;
	width: min(400px, 88vw);
	height: 100%;
	background: var(--sk-bg);
	box-shadow: var(--sk-shadow-lg);
	transition: transform .3s cubic-bezier(.4, 0, .2, 1);
	overflow: hidden;
}

.sk-mobile--right { right: 0; transform: translateX(100%); }
.sk-mobile--left { left: 0; transform: translateX(-100%); }
.sk-mobile--right.is-open,
.sk-mobile--left.is-open { transform: translateX(0); }

.sk-mobile--full {
	left: 0;
	width: 100%;
	transform: translateY(-100%);
}

.sk-mobile--full.is-open { transform: translateY(0); }

.sk-mobile__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	padding: 18px clamp(18px, 5vw, 26px);
	border-bottom: 1px solid var(--sk-border);
}

.sk-mobile__head .sk-logo__img { max-height: 44px; }

.sk-mobile__body {
	flex: 1;
	overflow-y: auto;
	padding: 22px clamp(18px, 5vw, 26px) 48px;
	-webkit-overflow-scrolling: touch;
}


.sk-menu--mobile {
	flex-direction: column;
	align-items: stretch;
	gap: 0;
}

.sk-menu--mobile .sk-menu__item {
	border-bottom: 1px solid var(--sk-border);
	padding-right: 44px;
}

.sk-menu--mobile .sk-menu__link {
	display: block;
	padding: 14px 0;
	color: var(--sk-heading);
	font-size: 1.02rem;
	font-weight: 600;
	white-space: normal;
}

.sk-menu--mobile .sk-menu__toggle {
	position: absolute;
	top: 9px;
	right: 0;
	width: 34px;
	height: 34px;
	border: 1px solid var(--sk-border);
	border-radius: 50%;
	color: var(--sk-primary);
}

.sk-menu--mobile .sk-menu__sub {
	position: static;
	display: none;
	min-width: 0;
	margin: 0 0 10px;
	padding: 4px 0 4px 14px;
	border: 0;
	border-left: 2px solid var(--sk-border);
	border-radius: 0;
	background: transparent;
	box-shadow: none;
	opacity: 1;
	visibility: visible;
	transform: none;
}

.sk-menu--mobile .sk-menu__item.is-open > .sk-menu__sub { display: block; }
.sk-menu--mobile .sk-menu__sub .sk-menu__item { border-bottom: 0; padding-right: 40px; }
.sk-menu--mobile .sk-menu__sub .sk-menu__link { padding: 9px 0; font-size: .95rem; font-weight: 500; color: var(--sk-text); }

/*
 * The last link needs no rule of its own: whatever follows in the drawer
 * carries its own border, and two lines with a gap between them read as an
 * empty strip.
 */
.sk-menu--mobile > .sk-menu__item:last-child { border-bottom: 0; }

.sk-mobile__cta { margin-top: 26px; }

/*
 * The drawer reads as three separated blocks - menu, contact, social - each
 * given a rule above it and room to breathe, so nothing runs into what follows.
 */
.sk-mobile__contact {
	padding-top: 30px;
	border-top: 1px solid var(--sk-border);
	text-align: center;
}

.sk-mobile__title {
	margin: 0 0 20px;
	font-size: .8rem;
	font-weight: 700;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--sk-muted);
}

/* Contact rows sit centred, each icon beside its own line of text. */
.sk-mobile__contact .sk-contact-list { gap: 18px; }

.sk-mobile__contact .sk-contact-list li {
	align-items: center;
	justify-content: center;
	text-align: center;
	line-height: 1.45;
}

.sk-mobile__contact .sk-contact-list .sk-icon { margin-top: 0; }


.sk-contact-list {
	display: grid;
	gap: 12px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.sk-contact-list li {
	display: flex;
	align-items: flex-start;
	gap: 11px;
	font-size: .95rem;
}

.sk-contact-list .sk-icon { margin-top: 3px; color: var(--sk-primary); }
.sk-contact-list a { color: inherit; text-decoration: none; }
.sk-contact-list a:hover { color: var(--sk-primary); }

/* --- Social icons --------------------------------------------------------- */

.sk-social {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.sk-social__link {
	display: grid;
	place-items: center;
	width: 38px;
	height: 38px;
	border: 1px solid var(--sk-border);
	border-radius: 50%;
	color: var(--sk-heading);
	text-decoration: none;
	transition: background-color .2s ease, color .2s ease, border-color .2s ease, transform .2s ease;
}

.sk-social__link:hover {
	background: var(--sk-primary);
	border-color: var(--sk-primary);
	color: var(--sk-on-primary);
	transform: translateY(-2px);
}

.sk-social--topbar { gap: 4px; }

.sk-social--topbar .sk-social__link {
	width: 30px;
	height: 30px;
	border-color: transparent;
	color: inherit;
	opacity: .88;
}

.sk-social--topbar .sk-social__link:hover {
	background: rgba(255, 255, 255, .16);
	border-color: transparent;
	color: inherit;
	opacity: 1;
	transform: none;
}

.sk-social--footer { margin-top: 24px; }
.sk-footer__col--contact .sk-contact-list { gap: 14px; }

.sk-social--footer .sk-social__link {
	border-color: rgba(255, 255, 255, .18);
	color: var(--sk-footer-heading);
}

.sk-social--footer .sk-social__link:hover { background: var(--sk-accent); border-color: var(--sk-accent); color: var(--sk-on-accent); }

/*
 * Drawer modifier. This has to live after the base .sk-social rule: that rule
 * zeroes margin and padding, and with equal specificity the later one wins.
 */
.sk-social--mobile {
	justify-content: center;
	gap: 12px;
	margin-top: 32px;
	padding-top: 30px;
	border-top: 1px solid var(--sk-border);
}

.sk-social--mobile .sk-social__link { width: 42px; height: 42px; }

/* Legal links close the drawer, matching the contact and social blocks. */
.sk-mobile__legal {
	margin-top: 32px;
	padding-top: 30px;
	border-top: 1px solid var(--sk-border);
}

.sk-mobile__legal-list {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 10px 22px;
	margin: 0;
	padding: 0;
	list-style: none;
	text-align: center;
}

.sk-mobile__legal-list a {
	color: var(--sk-muted);
	font-size: .88rem;
	text-decoration: none;
	transition: color .2s ease;
}

.sk-mobile__legal-list a:hover { color: var(--sk-primary); }

.sk-social--stack { flex-direction: column; }

.sk-social--stack .sk-social__link {
	width: auto;
	height: auto;
	justify-content: flex-start;
	gap: 10px;
	padding: 9px 14px;
	border-radius: var(--sk-radius-sm);
}

/* ========================================================================== */
/* 5. Hero slider & news bar                                                  */
/* ========================================================================== */

.sk-slider {
	position: relative;
	overflow: hidden;
	background: var(--sk-primary-darker);
}

.sk-slider__track { position: relative; height: var(--sk-slide-h); }

.sk-slide {
	position: absolute;
	inset: 0;
	display: flex;
	align-items: center;
	z-index: 1;
	opacity: 0;
	visibility: hidden;
	transition: opacity .55s ease, visibility .55s;
}

.sk-slide.is-active { opacity: 1; visibility: visible; z-index: 3; }
.sk-slide.is-leaving { visibility: visible; z-index: 2; }

/*
 * "Slide" moves the panels horizontally rather than cross-fading them. Fading
 * one block of text through another is unreadable while the two overlap, so
 * slides stay fully opaque and simply travel out of the way.
 */
.sk-slider--slide .sk-slide {
	opacity: 1;
	transform: translateX(100%);
	transition: transform .7s cubic-bezier(.45, .05, .2, 1), visibility .7s;
}

.sk-slider--slide .sk-slide.is-active { transform: translateX(0); }
.sk-slider--slide .sk-slide.is-leaving { transform: translateX(-100%); }

/* Going backwards travels the other way. */
.sk-slider--slide.is-reverse .sk-slide { transform: translateX(-100%); }
.sk-slider--slide.is-reverse .sk-slide.is-active { transform: translateX(0); }
.sk-slider--slide.is-reverse .sk-slide.is-leaving { transform: translateX(100%); }

/* Fade and zoom keep the cross-fade, which reads well over photographs. */
.sk-slider--zoom .sk-slide.is-active .sk-slide__content { animation: sk-slide-rise .7s ease both; }

@keyframes sk-slide-rise {
	from { opacity: 0; transform: translateY(18px); }
	to { opacity: 1; transform: none; }
}

.sk-slide__media { position: absolute; inset: 0; }

.sk-slide__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.sk-slider--kenburns .sk-slide.is-active .sk-slide__media img {
	animation: sk-kenburns 16s ease-out forwards;
}

@keyframes sk-kenburns {
	from { transform: scale(1.02); }
	to { transform: scale(1.12); }
}

.sk-slide--noimage {
	background:
		radial-gradient(90% 130% at 12% 8%, rgba(var(--sk-secondary-rgb), .55), transparent 58%),
		linear-gradient(115deg, var(--sk-primary-darker), var(--sk-primary));
}

.sk-slide__overlay { position: absolute; inset: 0; }
.sk-slide--noimage .sk-slide__overlay { display: none; }

.sk-slide__inner { position: relative; z-index: 3; width: 100%; }

.sk-slide__content {
	max-width: 660px;
	color: #fff;
	padding-block: 40px;
}

.sk-slide--center .sk-slide__content { margin-inline: auto; text-align: center; }
.sk-slide--right .sk-slide__content { margin-left: auto; text-align: right; }

.sk-slide__eyebrow {
	display: inline-flex;
	margin: 0 0 18px;
	padding: 7px 15px;
	border: 1px solid rgba(255, 255, 255, .34);
	border-radius: 999px;
	background: rgba(255, 255, 255, .1);
	backdrop-filter: blur(6px);
	color: #fff;
	font-size: .78rem;
	font-weight: 700;
	letter-spacing: .12em;
	text-transform: uppercase;
}

.sk-slide__title {
	margin: 0 0 .45em;
	color: #fff;
	font-size: clamp(2rem, 1.1rem + 3.6vw, 3.5rem);
	line-height: 1.1;
}

.sk-slide__title span { color: var(--sk-accent); }

.sk-slide__desc {
	margin: 0 0 30px;
	max-width: 56ch;
	color: rgba(255, 255, 255, .9);
	font-size: clamp(1rem, .95rem + .28vw, 1.14rem);
}

.sk-slide--center .sk-slide__desc { margin-inline: auto; }
.sk-slide--right .sk-slide__desc { margin-left: auto; }

.sk-slide__actions { display: flex; flex-wrap: wrap; gap: 12px; }
.sk-slide--center .sk-slide__actions { justify-content: center; }
.sk-slide--right .sk-slide__actions { justify-content: flex-end; }

.sk-slider__arrow {
	position: absolute;
	top: 50%;
	z-index: 5;
	display: grid;
	place-items: center;
	width: 50px;
	height: 50px;
	transform: translateY(-50%);
	border: 1px solid rgba(255, 255, 255, .38);
	border-radius: 50%;
	background: rgba(255, 255, 255, .12);
	backdrop-filter: blur(6px);
	color: #fff;
	cursor: pointer;
	transition: background-color .2s ease, border-color .2s ease;
}

.sk-slider__arrow:hover { background: rgba(255, 255, 255, .24); border-color: #fff; }
.sk-slider__arrow--prev { left: clamp(10px, 2.4vw, 28px); }
.sk-slider__arrow--prev .sk-icon { transform: rotate(180deg); }
.sk-slider__arrow--next { right: clamp(10px, 2.4vw, 28px); }

.sk-slider__dots {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 22px;
	z-index: 5;
	display: flex;
	justify-content: center;
	gap: 9px;
}

.sk-slider__dot {
	width: 10px;
	height: 10px;
	padding: 0;
	border: 0;
	border-radius: 999px;
	background: rgba(255, 255, 255, .45);
	cursor: pointer;
	transition: width .25s ease, background-color .25s ease;
}

.sk-slider__dot.is-active { width: 30px; background: #fff; }

/* --- News bar ------------------------------------------------------------- */

.sk-newsbar {
	position: relative;
	z-index: 5;
	background: var(--sk-news-bg);
	color: var(--sk-news-text);
	overflow: hidden;
}

.sk-newsbar__inner { display: flex; align-items: stretch; }

.sk-newsbar__label {
	display: inline-flex;
	align-items: center;
	gap: .5em;
	flex: none;
	margin: 0;
	padding: 13px clamp(16px, 3vw, 26px);
	background: var(--sk-news-label-bg);
	color: var(--sk-news-label-text);
	font-size: .78rem;
	font-weight: 700;
	letter-spacing: .1em;
	text-transform: uppercase;
	white-space: nowrap;
}

.sk-newsbar__viewport { flex: 1; overflow: hidden; display: flex; align-items: center; }

.sk-newsbar__track {
	display: flex;
	width: max-content;
	animation: sk-marquee var(--sk-news-duration, 40s) linear infinite;
}

.sk-newsbar__track--right { animation-direction: reverse; }
.sk-newsbar--pause:hover .sk-newsbar__track,
.sk-newsbar__track:focus-within { animation-play-state: paused; }

.sk-newsbar__list {
	display: flex;
	align-items: center;
	gap: clamp(26px, 5vw, 56px);
	margin: 0;
	padding: 0 clamp(13px, 2.5vw, 28px);
	list-style: none;
}

.sk-newsbar__item {
	display: inline-flex;
	align-items: center;
	gap: .55em;
	padding-block: 13px;
	font-size: .92rem;
	white-space: nowrap;
}

.sk-newsbar__item .sk-icon { color: var(--sk-news-label-bg); }
.sk-newsbar__item a { color: inherit; text-decoration: none; border-bottom: 1px solid transparent; }
.sk-newsbar__item a:hover { color: inherit; border-bottom-color: currentColor; }

@keyframes sk-marquee {
	from { transform: translateX(0); }
	to { transform: translateX(-50%); }
}

/* --- Homepage logo strip -------------------------------------------------- */

.sk-logostrip { padding-block: 0; }

.sk-logostrip__inner {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 18px clamp(28px, 5vw, 64px);
	padding-block: clamp(25px, 3.2vw, 10px);
}

.sk-logostrip--divided .sk-logostrip__inner { border-bottom: 1px solid var(--sk-border); }
.sk-logostrip.sk-section--bg-dark .sk-logostrip__inner { border-bottom-color: rgba(255, 255, 255, .14); }

.sk-logostrip__title {
	flex: none;
	margin: 0;
	color: var(--sk-muted);
	font-size: .78rem;
	font-weight: 700;
	letter-spacing: .14em;
	text-transform: uppercase;
}

.sk-logostrip.sk-section--bg-dark .sk-logostrip__title { color: rgba(255, 255, 255, .72); }

.sk-logostrip__list {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: clamp(24px, 4vw, 56px);
	flex: 1;
	margin: 0;
	padding: 0;
	list-style: none;
}

.sk-logostrip__item img {
	display: block;
	width: auto;
	max-width: 200px;
	max-height: 70px;
	object-fit: contain;
}

/*
 * Logos render at full strength. The quiet grey treatment is opt-in, under
 * Homepage -> Logo Strip, for sites that would rather the strip sat back.
 */
.sk-logostrip--muted .sk-logostrip__item img {
	opacity: .55;
	filter: grayscale(1);
	transition: opacity .25s ease, filter .25s ease;
}

.sk-logostrip--muted .sk-logostrip__item:hover img,
.sk-logostrip--muted .sk-logostrip__item a:focus-visible img {
	opacity: 1;
	filter: none;
}

/* A dark band inverts the artwork so it stays legible - but not dimmed. */
.sk-logostrip.sk-section--bg-dark .sk-logostrip__item img {
	filter: brightness(0) invert(1);
	opacity: 1;
}

.sk-logostrip.sk-section--bg-dark.sk-logostrip--muted .sk-logostrip__item img { opacity: .6; }
.sk-logostrip.sk-section--bg-dark.sk-logostrip--muted .sk-logostrip__item:hover img { opacity: 1; }

/* ========================================================================== */
/* 6. Page hero & breadcrumbs                                                 */
/* ========================================================================== */

.sk-hero {
	position: relative;
	padding-block: clamp(48px, 7vw, 96px);
	background:
		radial-gradient(90% 140% at 10% 0%, rgba(var(--sk-secondary-rgb), .16), transparent 55%),
		linear-gradient(120deg, var(--sk-primary-darker), var(--sk-primary));
	color: #fff;
	overflow: hidden;
}

.has-transparent-header .sk-hero { padding-top: calc(var(--sk-header-height) + clamp(48px, 7vw, 96px)); }

.sk-hero__bg {
	position: absolute;
	inset: 0;
	background-size: cover;
	background-position: center;
}

.sk-hero__overlay { position: absolute; inset: 0; }
.sk-hero__inner { position: relative; z-index: 2; }
.sk-hero--center .sk-hero__inner { text-align: center; }
.sk-hero--center .sk-breadcrumbs__list { justify-content: center; }

.sk-hero__eyebrow {
	display: inline-flex;
	margin: 0 0 14px;
	padding: 6px 14px;
	border: 1px solid rgba(255, 255, 255, .3);
	border-radius: 999px;
	background: rgba(255, 255, 255, .1);
	font-size: .76rem;
	font-weight: 700;
	letter-spacing: .12em;
	text-transform: uppercase;
}

.sk-hero__title { margin: 0; color: #fff; max-width: 22ch; }
.sk-hero--center .sk-hero__title { margin-inline: auto; }

.sk-hero__sub {
	margin: 16px 0 0;
	max-width: 62ch;
	color: rgba(255, 255, 255, .86);
	font-size: 1.06rem;
}

.sk-hero--center .sk-hero__sub { margin-inline: auto; }

.sk-breadcrumbs { margin-bottom: 18px; font-size: .875rem; }

.sk-breadcrumbs__list {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 6px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.sk-breadcrumbs__item { display: inline-flex; align-items: center; gap: 6px; color: rgba(255, 255, 255, .7); }
.sk-breadcrumbs__item a { color: rgba(255, 255, 255, .78); text-decoration: none; }
.sk-breadcrumbs__item a:hover { color: #fff; text-decoration: underline; }
.sk-breadcrumbs__item [aria-current] { color: #fff; font-weight: 600; }
.sk-breadcrumbs__sep { display: inline-flex; opacity: .5; }

/* ========================================================================== */
/* 7. Cards, grids & feature blocks                                           */
/* ========================================================================== */

.sk-cards { align-items: stretch; }
.sk-card-item { display: flex; }

.sk-tile,
.sk-service-card,
.sk-feature {
	display: flex;
	flex-direction: column;
	width: 100%;
	background: var(--sk-bg);
	border: 1px solid var(--sk-border);
	border-radius: var(--sk-radius);
	transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}

.sk-tile { overflow: hidden; }
.sk-tile--linked:hover { transform: translateY(-4px); box-shadow: var(--sk-shadow); border-color: transparent; }

.sk-tile__media { aspect-ratio: 16 / 10; overflow: hidden; background: var(--sk-surface); }

.sk-tile__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform .5s ease;
}

.sk-tile--linked:hover .sk-tile__media img { transform: scale(1.05); }

.sk-tile__icon {
	display: grid;
	place-items: center;
	width: 58px;
	height: 58px;
	margin: 26px 26px 0;
	border-radius: var(--sk-radius-sm);
	background: linear-gradient(140deg, rgba(var(--sk-primary-rgb), .1), rgba(var(--sk-secondary-rgb), .12));
	color: var(--sk-primary);
	transition: background-color .25s ease, color .25s ease;
}

.sk-tile--linked:hover .sk-tile__icon { background: var(--sk-primary); color: var(--sk-on-primary); }

.sk-tile__body { padding: 22px 26px 26px; display: flex; flex-direction: column; flex: 1; }
.sk-tile__title { margin: 0 0 .3em; font-size: 1.15rem; }
.sk-tile__title a { color: inherit; text-decoration: none; }

.sk-tile__title a::after {
	content: "";
	position: absolute;
	inset: 0;
	border-radius: inherit;
}

.sk-tile { position: relative; }

.sk-tile__count {
	margin: 0 0 .5em;
	color: var(--sk-secondary);
	font-size: .82rem;
	font-weight: 600;
}

.sk-tile__text { margin: 0; color: var(--sk-muted); font-size: .95rem; }

.sk-tile__link {
	display: inline-flex;
	align-items: center;
	gap: .45em;
	margin-top: auto;
	padding-top: 18px;
	color: var(--sk-primary);
	font-weight: 600;
	font-size: .93rem;
}

.sk-tile__link .sk-icon { transition: transform .2s ease; }
.sk-tile--linked:hover .sk-tile__link .sk-icon { transform: translateX(4px); }

/* --- Service card --------------------------------------------------------- */

.sk-service-card { position: relative; overflow: hidden; }
.sk-service-card:hover { transform: translateY(-4px); box-shadow: var(--sk-shadow); border-color: transparent; }

.sk-service-card__media {
	position: relative;
	display: block;
	aspect-ratio: 16 / 10;
	overflow: hidden;
	background: var(--sk-surface);
}

.sk-service-card__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform .5s ease;
}

.sk-service-card:hover .sk-service-card__media img { transform: scale(1.05); }

.sk-service-card__badge {
	position: absolute;
	top: 14px;
	left: 14px;
	padding: 5px 12px;
	border-radius: 999px;
	background: var(--sk-accent);
	color: var(--sk-on-accent);
	font-size: .72rem;
	font-weight: 700;
	letter-spacing: .04em;
	text-transform: uppercase;
}

.sk-service-card__badge--inline {
	position: static;
	align-self: flex-start;
	margin-bottom: 10px;
}

.sk-service-card__body { display: flex; flex-direction: column; flex: 1; padding: 24px 26px 26px; }

.sk-service-card__icon {
	display: grid;
	place-items: center;
	width: 50px;
	height: 50px;
	margin-bottom: 16px;
	border-radius: var(--sk-radius-sm);
	background: rgba(var(--sk-primary-rgb), .08);
	color: var(--sk-primary);
	transition: background-color .25s ease, color .25s ease;
}

.sk-service-card:hover .sk-service-card__icon { background: var(--sk-primary); color: var(--sk-on-primary); }
.sk-service-card--noimage .sk-service-card__body { padding-top: 26px; }

.sk-service-card__title { margin: 0 0 .4em; font-size: 1.12rem; line-height: 1.35; }
.sk-service-card__title a { color: inherit; text-decoration: none; }
.sk-service-card__title a::after { content: ""; position: absolute; inset: 0; }
.sk-service-card:hover .sk-service-card__title a { color: var(--sk-primary); }

.sk-service-card__text { margin: 0 0 14px; color: var(--sk-muted); font-size: .94rem; }

.sk-service-card__meta {
	display: inline-flex;
	align-items: center;
	gap: .45em;
	margin: 0;
	color: var(--sk-secondary);
	font-size: .84rem;
	font-weight: 600;
}

.sk-service-card__link {
	display: inline-flex;
	align-items: center;
	gap: .45em;
	margin-top: auto;
	padding-top: 18px;
	color: var(--sk-primary);
	font-size: .92rem;
	font-weight: 600;
}

.sk-service-card__link .sk-icon { transition: transform .2s ease; }
.sk-service-card:hover .sk-service-card__link .sk-icon { transform: translateX(4px); }
.sk-service-card--compact .sk-service-card__body { padding: 20px 22px; }

/* --- Chip card (Amer compact tiles) --------------------------------------- */

.sk-chip-card {
	display: flex;
	align-items: center;
	gap: 14px;
	height: 100%;
	padding: 18px 20px;
	border: 1px solid var(--sk-border);
	border-radius: var(--sk-radius);
	background: var(--sk-bg);
	color: var(--sk-heading);
	text-decoration: none;
	transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}

.sk-chip-card:hover {
	transform: translateY(-3px);
	box-shadow: var(--sk-shadow);
	border-color: transparent;
	color: var(--sk-primary);
}

.sk-chip-card__icon {
	display: grid;
	place-items: center;
	flex: none;
	width: 44px;
	height: 44px;
	border-radius: var(--sk-radius-sm);
	background: rgba(var(--sk-primary-rgb), .08);
	color: var(--sk-primary);
	transition: background-color .25s ease, color .25s ease;
}

.sk-chip-card:hover .sk-chip-card__icon { background: var(--sk-primary); color: var(--sk-on-primary); }
.sk-chip-card__title { flex: 1; font-weight: 600; font-size: .98rem; line-height: 1.35; }
.sk-chip-card__arrow { color: var(--sk-muted); transition: transform .2s ease, color .2s ease; }
.sk-chip-card:hover .sk-chip-card__arrow { transform: translateX(3px); color: var(--sk-primary); }

/* --- Feature cards -------------------------------------------------------- */

.sk-feature { padding: 28px 26px; height: 100%; }
.sk-feature--plain { border-color: transparent; background: transparent; padding-inline: 0; }
.sk-feature--card { box-shadow: var(--sk-shadow-sm); border-color: transparent; }
.sk-feature--card:hover,
.sk-feature--bordered:hover { transform: translateY(-3px); box-shadow: var(--sk-shadow); border-color: transparent; }

.sk-feature__icon {
	display: grid;
	place-items: center;
	width: 56px;
	height: 56px;
	margin-bottom: 18px;
	border-radius: var(--sk-radius-sm);
	background: linear-gradient(140deg, rgba(var(--sk-primary-rgb), .1), rgba(var(--sk-secondary-rgb), .13));
	color: var(--sk-primary);
}

.sk-feature__title { margin: 0 0 .4em; font-size: 1.1rem; }
.sk-feature__text { margin: 0; color: var(--sk-muted); font-size: .95rem; }

/* --- Amer section --------------------------------------------------------- */

.sk-amer__head {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	justify-content: space-between;
	gap: 24px;
	margin-bottom: clamp(26px, 3.5vw, 44px);
}

.sk-amer__headings { flex: 1 1 420px; }
.sk-amer__headings .sk-section-head { margin-bottom: 0; }

.sk-amer__logo {
	flex: none;
	padding: 14px 20px;
	background: var(--sk-bg);
	border: 1px solid var(--sk-border);
	border-radius: var(--sk-radius);
}

.sk-amer__highlights {
	display: grid;
	gap: 16px;
	grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
	margin: clamp(28px, 4vw, 44px) 0 0;
	padding: 0;
	list-style: none;
}

.sk-amer__highlights li {
	display: flex;
	align-items: flex-start;
	gap: 13px;
	padding: 18px 20px;
	background: var(--sk-bg);
	border: 1px solid var(--sk-border);
	border-radius: var(--sk-radius);
}

.sk-amer__highlight-icon { color: var(--sk-secondary); margin-top: 2px; }
.sk-amer__highlights strong { display: block; color: var(--sk-heading); font-size: .98rem; }
.sk-amer__highlights em { display: block; margin-top: 4px; color: var(--sk-muted); font-size: .9rem; font-style: normal; }

.sk-amer__note {
	margin: 24px 0 0;
	color: var(--sk-muted);
	font-size: .85rem;
	text-align: center;
}

/* ========================================================================== */
/* 8. Split sections & statistics                                             */
/* ========================================================================== */

.sk-split {
	display: grid;
	gap: clamp(30px, 5vw, 68px);
	grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr);
	align-items: center;
}

.sk-split--right .sk-split__media { order: 2; }
.sk-split--noimage { grid-template-columns: minmax(0, 1fr); max-width: 800px; margin-inline: auto; }
.sk-split__content .sk-section-head { margin-bottom: 22px; }

.sk-about__frame { position: relative; }

.sk-about__img {
	width: 100%;
	border-radius: var(--sk-radius-lg);
	box-shadow: var(--sk-shadow);
	object-fit: cover;
}

.sk-about__img--second {
	position: absolute;
	right: -18px;
	bottom: -32px;
	width: 46%;
	border: 6px solid var(--sk-bg);
	box-shadow: var(--sk-shadow-lg);
}

.sk-about__badge {
	position: absolute;
	left: -18px;
	bottom: 34px;
	display: grid;
	gap: 2px;
	padding: 18px 22px;
	border-radius: var(--sk-radius);
	background: var(--sk-primary);
	color: #fff;
	box-shadow: var(--sk-shadow-lg);
	text-align: center;
}

.sk-about__badge-icon { color: var(--sk-accent); }
.sk-about__badge-num { font-family: var(--sk-font-heading); font-size: 1.85rem; font-weight: 800; line-height: 1; }
.sk-about__badge-label { font-size: .76rem; letter-spacing: .06em; text-transform: uppercase; opacity: .84; max-width: 12ch; }

.sk-about__text { margin-bottom: 24px; }

.sk-featurelist {
	display: grid;
	gap: 16px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.sk-featurelist--spaced { gap: 22px; }
.sk-featurelist__item { display: flex; align-items: flex-start; gap: 14px; }

.sk-featurelist__icon {
	display: grid;
	place-items: center;
	flex: none;
	width: 42px;
	height: 42px;
	border-radius: var(--sk-radius-sm);
	background: rgba(var(--sk-secondary-rgb), .11);
	color: var(--sk-secondary);
}

.sk-featurelist__body strong { display: block; color: var(--sk-heading); font-family: var(--sk-font-heading); font-size: 1.02rem; }
.sk-featurelist__body span { display: block; margin-top: 3px; color: var(--sk-muted); font-size: .94rem; }

.sk-stats-band {
	background: linear-gradient(120deg, var(--sk-primary-darker), var(--sk-primary));
	color: #fff;
}

.sk-stats-band__title { color: #fff; text-align: center; margin-bottom: 40px; }

.sk-stats-band__list {
	display: grid;
	gap: clamp(22px, 3vw, 36px);
	grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
	margin: 0;
	padding: 0;
	list-style: none;
	text-align: center;
}

.sk-stat-item { display: grid; gap: 6px; justify-items: center; }
.sk-stat-item__icon { color: var(--sk-accent); margin-bottom: 4px; }

.sk-stat-item__value {
	display: inline-flex;
	align-items: baseline;
	color: #fff;
	font-family: var(--sk-font-heading);
	font-size: clamp(2rem, 1.4rem + 2vw, 2.9rem);
	font-weight: 800;
	line-height: 1;
}

.sk-stat-item__suffix { color: var(--sk-accent); }
.sk-stat-item__label { color: rgba(255, 255, 255, .78); font-size: .93rem; }

/* ========================================================================== */
/* 9. Tabs                                                                    */
/* ========================================================================== */

.sk-tabs-scroll { position: relative; margin-bottom: clamp(28px, 4vw, 44px); }

/*
 * Tabs flow onto a second line rather than scrolling sideways. A horizontal
 * scrollbar hides categories behind an interaction most visitors never make;
 * wrapping keeps every category visible at a glance.
 */
.sk-tablist {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

.sk-tab {
	display: inline-flex;
	align-items: center;
	gap: .55em;
	flex: none;
	padding: 12px 20px;
	border: 1px solid var(--sk-border);
	border-radius: 999px;
	background: var(--sk-bg);
	color: var(--sk-heading);
	font-family: var(--sk-font-heading);
	font-size: .95rem;
	font-weight: 600;
	cursor: pointer;
	transition: background-color .2s ease, border-color .2s ease, color .2s ease, box-shadow .2s ease;
}

.sk-tab:hover { border-color: var(--sk-primary); color: var(--sk-primary); }

.sk-tab.is-active {
	background: var(--sk-primary);
	border-color: var(--sk-primary);
	color: var(--sk-on-primary);
	box-shadow: 0 6px 16px rgba(var(--sk-primary-rgb), .24);
}

.sk-tab__icon { color: var(--sk-secondary); }
.sk-tab.is-active .sk-tab__icon { color: inherit; }

.sk-tab__count {
	padding: 1px 8px;
	border-radius: 999px;
	background: var(--sk-surface);
	font-size: .76rem;
	font-weight: 700;
}

.sk-tab.is-active .sk-tab__count { background: rgba(255, 255, 255, .22); }

.sk-tabpanel:not(.is-active) { display: none; }
.sk-tabpanel { animation: sk-fade-in .35s ease; }
.sk-tabpanel:focus { outline: none; }

.sk-tabpanel__title {
	margin: 0 0 .4em;
	font-size: var(--sk-fs-h3);
}

.sk-tabs-wrap[data-mobile] .sk-tabpanel__title { display: none; }
.sk-tabpanel__desc { margin: 0 0 26px; color: var(--sk-muted); max-width: 70ch; }
.sk-tabs-wrap[data-mobile] .sk-tabpanel__desc { margin-top: -8px; }

.sk-tabs-select { position: relative; display: none; margin-bottom: 26px; }

.sk-tabs-select__field {
	width: 100%;
	padding: 14px 46px 14px 18px;
	border: 1px solid var(--sk-border-strong);
	border-radius: var(--sk-radius-sm);
	background: var(--sk-bg);
	color: var(--sk-heading);
	font-family: var(--sk-font-heading);
	font-size: 1rem;
	font-weight: 600;
	appearance: none;
}

.sk-tabs-select__icon {
	position: absolute;
	top: 50%;
	right: 16px;
	transform: translateY(-50%) rotate(90deg);
	color: var(--sk-primary);
	pointer-events: none;
}

@keyframes sk-fade-in {
	from { opacity: 0; transform: translateY(8px); }
	to { opacity: 1; transform: translateY(0); }
}

.sk-subcats { margin-top: clamp(34px, 4vw, 52px); }
.sk-subcats__title { font-size: 1.15rem; margin-bottom: 16px; }

/* ========================================================================== */
/* 10. Accordion & FAQ                                                        */
/* ========================================================================== */

.sk-accordion { display: grid; gap: 12px; }

.sk-accordion__item {
	border: 1px solid var(--sk-border);
	border-radius: var(--sk-radius);
	background: var(--sk-bg);
	overflow: hidden;
	transition: border-color .2s ease, box-shadow .2s ease;
}

.sk-accordion__item.is-open { border-color: rgba(var(--sk-primary-rgb), .35); box-shadow: var(--sk-shadow-sm); }
.sk-accordion__heading { margin: 0; font-size: inherit; }

.sk-accordion__button {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 18px;
	width: 100%;
	padding: 19px 22px;
	border: 0;
	background: transparent;
	color: var(--sk-heading);
	font-family: var(--sk-font-heading);
	font-size: 1.02rem;
	font-weight: 600;
	text-align: left;
	line-height: 1.45;
	cursor: pointer;
}

.sk-accordion__button:hover { color: var(--sk-primary); }

.sk-accordion__sign {
	position: relative;
	flex: none;
	width: 26px;
	height: 26px;
	border-radius: 50%;
	background: rgba(var(--sk-primary-rgb), .1);
	transition: background-color .2s ease, transform .25s ease;
}

.sk-accordion__sign::before,
.sk-accordion__sign::after {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	width: 11px;
	height: 2px;
	border-radius: 2px;
	background: var(--sk-primary);
	transform: translate(-50%, -50%);
	transition: transform .25s ease, opacity .2s ease;
}

.sk-accordion__sign::after { transform: translate(-50%, -50%) rotate(90deg); }
.sk-accordion__item.is-open .sk-accordion__sign { background: var(--sk-primary); }
.sk-accordion__item.is-open .sk-accordion__sign::before,
.sk-accordion__item.is-open .sk-accordion__sign::after { background: #fff; }
.sk-accordion__item.is-open .sk-accordion__sign::after { transform: translate(-50%, -50%) rotate(0); }

.sk-accordion__panel { overflow: hidden; }
.sk-accordion__inner { padding: 0 22px 21px; color: var(--sk-muted); }
.sk-accordion__inner > :last-child { margin-bottom: 0; }

.sk-faq__layout { display: grid; gap: clamp(26px, 4vw, 52px); }
.sk-faq__layout--split { grid-template-columns: minmax(0, 1fr) 340px; align-items: start; }

.sk-helpcard {
	position: sticky;
	top: calc(var(--sk-header-height) + 20px);
	padding: 32px 28px;
	border-radius: var(--sk-radius-lg);
	background: linear-gradient(150deg, var(--sk-primary), var(--sk-primary-darker));
	color: rgba(255, 255, 255, .84);
	box-shadow: var(--sk-shadow);
}

.sk-helpcard__icon {
	display: grid;
	place-items: center;
	width: 58px;
	height: 58px;
	margin-bottom: 18px;
	border-radius: var(--sk-radius-sm);
	background: rgba(255, 255, 255, .13);
	color: #fff;
}

.sk-helpcard__title { color: #fff; font-size: 1.28rem; margin-bottom: .5em; }
.sk-helpcard__text { margin-bottom: 24px; font-size: .96rem; }
.sk-helpcard .sk-btn { background: #fff; color: var(--sk-primary); }
.sk-helpcard .sk-btn:hover { background: var(--sk-accent); color: var(--sk-on-accent); }

.sk-faqtools {
	display: flex;
	flex-wrap: wrap;
	gap: 18px;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 30px;
}

.sk-faqsearch { position: relative; flex: 1 1 320px; }

.sk-faqsearch__icon {
	position: absolute;
	top: 50%;
	left: 16px;
	transform: translateY(-50%);
	color: var(--sk-muted);
	pointer-events: none;
}

.sk-faqsearch__input {
	width: 100%;
	padding: 14px 16px 14px 46px;
	border: 1px solid var(--sk-border-strong);
	border-radius: 999px;
	background: var(--sk-bg);
	color: var(--sk-heading);
	font-family: inherit;
	font-size: 1rem;
}

.sk-faqsearch__input:focus { border-color: var(--sk-primary); outline: none; box-shadow: 0 0 0 4px rgba(var(--sk-primary-rgb), .12); }

.sk-faqfilter { display: flex; flex-wrap: wrap; gap: 8px; }

.sk-faqempty {
	padding: 30px;
	border: 1px dashed var(--sk-border-strong);
	border-radius: var(--sk-radius);
	background: var(--sk-surface);
	text-align: center;
	color: var(--sk-muted);
}

.sk-faqgroup { margin-bottom: 40px; }
.sk-faqgroup__title { font-size: 1.3rem; margin-bottom: 16px; }

/* --- Legal documents (terms, privacy) ------------------------------------- */

.sk-legal__intro {
	margin-bottom: 30px;
	padding-bottom: 24px;
	border-bottom: 1px solid var(--sk-border);
}

.sk-legal__updated {
	display: inline-flex;
	align-items: center;
	gap: .5em;
	margin: 18px 0 0;
	padding: 7px 14px;
	border-radius: 999px;
	background: var(--sk-surface);
	color: var(--sk-muted);
	font-size: .86rem;
}

.sk-legal__updated .sk-icon { color: var(--sk-secondary); }

/* Legal text runs long, so give the panels a little more room to breathe. */
.sk-legal .sk-accordion__inner { padding-bottom: 24px; }
.sk-legal .sk-accordion__inner ul { padding-left: 1.3em; }
.sk-legal .sk-accordion__inner li { margin-bottom: .45em; }

.sk-legal__help {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 18px;
	margin-top: clamp(32px, 4vw, 46px);
	padding: 26px 28px;
	border: 1px solid var(--sk-border);
	border-radius: var(--sk-radius-lg);
	background: var(--sk-surface);
}

.sk-legal__help-icon {
	display: grid;
	place-items: center;
	flex: none;
	width: 54px;
	height: 54px;
	border-radius: var(--sk-radius-sm);
	background: rgba(var(--sk-primary-rgb), .09);
	color: var(--sk-primary);
}

.sk-legal__help-text { flex: 1 1 260px; }
.sk-legal__help-title { margin: 0 0 .3em; font-size: 1.1rem; }
.sk-legal__help-text p { margin: 0; color: var(--sk-muted); font-size: .95rem; }

/* ========================================================================== */
/* 11. Testimonials                                                           */
/* ========================================================================== */

.sk-quote {
	display: flex;
	flex-direction: column;
	width: 100%;
	height: 100%;
	margin: 0;
	padding: 30px 28px;
	border: 1px solid var(--sk-border);
	border-radius: var(--sk-radius-lg);
	background: var(--sk-bg);
	box-shadow: var(--sk-shadow-sm);
}

.sk-quote__mark { color: rgba(var(--sk-primary-rgb), .16); margin-bottom: 12px; }
.sk-quote .sk-stars { margin-bottom: 14px; }

.sk-quote__text {
	flex: 1;
	margin: 0 0 22px;
	color: var(--sk-text);
	font-size: 1rem;
	line-height: 1.72;
}

.sk-quote__text p { margin: 0; }

.sk-quote__author {
	display: flex;
	align-items: center;
	gap: 14px;
	padding-top: 18px;
	border-top: 1px solid var(--sk-border);
}

.sk-quote__avatar {
	display: grid;
	place-items: center;
	flex: none;
	width: 50px;
	height: 50px;
	border-radius: 50%;
	overflow: hidden;
	background: rgba(var(--sk-primary-rgb), .1);
	color: var(--sk-primary);
	font-family: var(--sk-font-heading);
	font-size: 1.15rem;
	font-weight: 700;
}

.sk-quote__avatar img { width: 100%; height: 100%; object-fit: cover; }
.sk-quote__who strong { display: block; color: var(--sk-heading); font-family: var(--sk-font-heading); }
.sk-quote__who span { display: block; color: var(--sk-muted); font-size: .88rem; }

.sk-tslider { position: relative; }
.sk-tslider__viewport { overflow: hidden; margin-inline: -8px; padding: 8px; }

.sk-tslider__track {
	display: flex;
	gap: clamp(18px, 2.2vw, 28px);
	margin: 0;
	padding: 0;
	list-style: none;
	transition: transform .45s cubic-bezier(.4, 0, .2, 1);
}

.sk-tslider__track > .sk-card-item { flex: 0 0 var(--sk-t-width, 33.3333%); }

.sk-tslider__nav { display: flex; justify-content: center; gap: 10px; margin-top: 30px; }
.sk-tslider__arrow .sk-icon { transform: rotate(180deg); }
.sk-tslider__arrow--next .sk-icon { transform: none; }

.sk-tslider__dots { display: flex; justify-content: center; gap: 8px; margin-top: 18px; }

.sk-tslider__dot {
	width: 9px;
	height: 9px;
	padding: 0;
	border: 0;
	border-radius: 999px;
	background: var(--sk-border-strong);
	cursor: pointer;
	transition: width .25s ease, background-color .25s ease;
}

.sk-tslider__dot.is-active { width: 26px; background: var(--sk-primary); }

/* ========================================================================== */
/* 12. Single service blocks                                                  */
/* ========================================================================== */

.sk-quickfacts {
	display: grid;
	gap: 14px;
	grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
	margin: 0 0 clamp(28px, 4vw, 42px);
	padding: 0;
	list-style: none;
}

.sk-quickfacts__item {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	padding: 16px 18px;
	border: 1px solid var(--sk-border);
	border-radius: var(--sk-radius);
	background: var(--sk-surface);
}

.sk-quickfacts__icon { color: var(--sk-secondary); margin-top: 2px; }
.sk-quickfacts__body strong { display: block; color: var(--sk-heading); font-size: .96rem; }
.sk-quickfacts__body span { display: block; margin-top: 2px; color: var(--sk-muted); font-size: .88rem; }

.sk-service__figure { margin: 0 0 32px; }
.sk-service__figure img { width: 100%; border-radius: var(--sk-radius-lg); }
.sk-service__content { margin-bottom: clamp(30px, 4vw, 44px); }

.sk-block { margin-bottom: clamp(30px, 4vw, 46px); scroll-margin-top: calc(var(--sk-header-height) + 20px); }

.sk-block__title {
	display: flex;
	align-items: center;
	gap: .55em;
	margin: 0 0 20px;
	font-size: var(--sk-fs-h4);
}

.sk-block__title .sk-icon { color: var(--sk-secondary); }

.sk-checklist-out {
	display: grid;
	gap: 12px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.sk-checklist-out li {
	display: flex;
	align-items: flex-start;
	gap: 13px;
	padding: 15px 18px;
	border: 1px solid var(--sk-border);
	border-radius: var(--sk-radius-sm);
	background: var(--sk-bg);
}

.sk-checklist-out__mark {
	display: grid;
	place-items: center;
	flex: none;
	width: 24px;
	height: 24px;
	margin-top: 1px;
	border-radius: 50%;
	background: rgba(var(--sk-secondary-rgb), .14);
	color: var(--sk-secondary);
}

.sk-checklist-out strong { color: var(--sk-heading); font-weight: 600; }
.sk-checklist-out em { display: block; margin-top: 3px; color: var(--sk-muted); font-size: .9rem; font-style: normal; }

.sk-steps { display: grid; gap: 4px; margin: 0; padding: 0; list-style: none; counter-reset: sk-step; }

.sk-steps__item {
	position: relative;
	display: flex;
	gap: 18px;
	padding-bottom: 26px;
}

.sk-steps__item:not(:last-child)::before {
	content: "";
	position: absolute;
	top: 42px;
	left: 19px;
	bottom: 0;
	width: 2px;
	background: linear-gradient(var(--sk-border-strong), transparent);
}

.sk-steps__num {
	display: grid;
	place-items: center;
	flex: none;
	width: 40px;
	height: 40px;
	border-radius: 50%;
	background: var(--sk-primary);
	color: var(--sk-on-primary);
	font-family: var(--sk-font-heading);
	font-weight: 700;
	font-size: .95rem;
}

.sk-steps__title { margin: 8px 0 .35em; font-size: 1.06rem; }
.sk-steps__body p { margin: 0; color: var(--sk-muted); }

.sk-notice {
	padding: 26px 28px;
	border: 1px solid rgba(var(--sk-accent-rgb), .4);
	border-left: 4px solid var(--sk-accent);
	border-radius: var(--sk-radius);
	background: rgba(var(--sk-accent-rgb), .06);
}

.sk-notice__title .sk-icon { color: var(--sk-accent-dark); }
.sk-notice .sk-prose { color: var(--sk-text); }

.sk-gallery-grid {
	display: grid;
	gap: 14px;
	grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
	margin: 0;
	padding: 0;
	list-style: none;
}

.sk-gallery-grid--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.sk-gallery-grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.sk-gallery-grid--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }

.sk-gallery-grid a {
	display: block;
	overflow: hidden;
	border-radius: var(--sk-radius);
	aspect-ratio: 4 / 3;
}

.sk-gallery-grid img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform .5s ease;
}

.sk-gallery-grid a:hover img { transform: scale(1.06); }

/* Intro paragraph above a gallery grid. */

.sk-gallery-intro {
	max-width: 70ch;
	margin: 0 auto 30px;
	color: var(--sk-muted);
	text-align: center;
}

.sk-gallery-intro p { margin: 0 0 12px; }
.sk-gallery-intro p:last-child { margin-bottom: 0; }

/* A thumbnail opens the viewer, so show it is interactive. */
.sk-gallery-grid__link { position: relative; cursor: zoom-in; }

/* --- Lightbox ------------------------------------------------------------- */

.sk-lightbox {
	position: fixed;
	inset: 0;
	z-index: 999;
	display: grid;
	place-items: center;
	opacity: 0;
	transition: opacity .22s ease;
}

.sk-lightbox.is-open { opacity: 1; }

.sk-lightbox__backdrop {
	position: absolute;
	inset: 0;
	background: rgba(8, 16, 26, .88);
	border: 0;
	cursor: zoom-out;
}

.sk-lightbox__dialog {
	position: relative;
	display: grid;
	justify-items: center;
	gap: 12px;
	width: min(1100px, 94vw);
	max-height: 92vh;
	padding: 0 clamp(12px, 6vw, 76px);
}

/*
 * The image is transformed, which gives it a stacking context of its own. With
 * everything left on z-index auto it would paint over the buttons that come
 * before it in the markup, so the layers are stated explicitly.
 */
.sk-lightbox__figure {
	position: relative;
	z-index: 1;
	margin: 0;
	display: grid;
	justify-items: center;
	gap: 10px;
	min-height: 0;
}

/* Shrinks to the picture, giving the close button something to sit inside. */
.sk-lightbox__frame {
	position: relative;
	display: inline-block;
	max-width: 100%;
	line-height: 0;
	transform: scale(.97);
	transition: transform .22s ease;
}

.sk-lightbox.is-open .sk-lightbox__frame { transform: scale(1); }

.sk-lightbox__image {
	display: block;
	max-width: 100%;
	max-height: 78vh;
	width: auto;
	height: auto;
	border-radius: var(--sk-radius);
	background: #0d1622;
}

/*
 * A large picture takes a moment to arrive. Dim it while it loads rather than
 * showing an empty frame, which reads as the viewer having failed.
 */
.sk-lightbox__image.is-loading { opacity: .25; }

.sk-lightbox__figure::after {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	width: 34px;
	height: 34px;
	margin: -17px 0 0 -17px;
	border: 2px solid rgba(255, 255, 255, .25);
	border-top-color: #fff;
	border-radius: 50%;
	opacity: 0;
	pointer-events: none;
	animation: sk-lightbox-spin .7s linear infinite;
}

.sk-lightbox__figure.is-loading::after { opacity: 1; }

@keyframes sk-lightbox-spin { to { transform: rotate(360deg); } }

.sk-lightbox__caption,
.sk-lightbox__count {
	margin: 0;
	color: rgba(255, 255, 255, .82);
	font-size: .9rem;
	text-align: center;
}

.sk-lightbox__count { position: relative; z-index: 1; color: rgba(255, 255, 255, .58); font-size: .82rem; }

.sk-lightbox__btn {
	position: absolute;
	z-index: 2;
	display: grid;
	place-items: center;
	width: 46px;
	height: 46px;
	padding: 0;
	/* Solid and dark, so the controls stay legible over pale artwork. */
	color: #fff;
	background: rgba(11, 19, 30, .82);
	border: 1px solid rgba(255, 255, 255, .38);
	border-radius: 50%;
	box-shadow: 0 2px 10px rgba(0, 0, 0, .35);
	cursor: pointer;
	transition: background .2s ease, border-color .2s ease;
}

.sk-lightbox__btn:hover {
	background: rgba(11, 19, 30, .95);
	border-color: rgba(255, 255, 255, .6);
}

.sk-lightbox__btn:focus-visible {
	outline: 2px solid #fff;
	outline-offset: 3px;
}

.sk-lightbox__btn--close {
	top: 14px;
	right: 14px;
	width: 40px;
	height: 40px;
}
.sk-lightbox__btn--prev { left: 0; top: 50%; transform: translateY(-50%); }
.sk-lightbox__btn--next { right: 0; top: 50%; transform: translateY(-50%); }

@media (max-width: 640px) {
	.sk-lightbox__dialog { padding: 0 10px; }
	.sk-lightbox__btn { width: 40px; height: 40px; }
	.sk-lightbox__btn--close { top: 10px; right: 10px; width: 34px; height: 34px; }
	.sk-lightbox__btn--prev { left: 2px; }
	.sk-lightbox__btn--next { right: 2px; }
	.sk-lightbox__image { max-height: 66vh; }
}

@media (prefers-reduced-motion: reduce) {
	.sk-lightbox,
	.sk-lightbox__frame { transition: none; }
	.sk-lightbox__frame { transform: none; }
}

.sk-sidecard {
	padding: 26px 24px;
	margin-bottom: 20px;
	border: 1px solid var(--sk-border);
	border-radius: var(--sk-radius-lg);
	background: var(--sk-bg);
	box-shadow: var(--sk-shadow-sm);
}

.sk-sidecard--contact {
	background: linear-gradient(155deg, var(--sk-primary), var(--sk-primary-darker));
	border-color: transparent;
	color: rgba(255, 255, 255, .84);
}

.sk-sidecard--contact .sk-sidecard__title { color: #fff; }
.sk-sidecard--contact a { color: #fff; }

.sk-sidecard__icon {
	display: grid;
	place-items: center;
	width: 54px;
	height: 54px;
	margin-bottom: 16px;
	border-radius: var(--sk-radius-sm);
	background: rgba(255, 255, 255, .14);
	color: #fff;
}

.sk-sidecard__icon--wa { background: rgba(var(--sk-secondary-rgb), .12); color: var(--sk-secondary); }

.sk-sidecard__title {
	display: flex;
	align-items: center;
	gap: .5em;
	margin: 0 0 .55em;
	font-size: 1.12rem;
}

.sk-sidecard__text { margin-bottom: 18px; font-size: .95rem; }

.sk-sidecard__meta {
	display: inline-flex;
	align-items: center;
	gap: .45em;
	margin-bottom: 16px;
	padding: 7px 13px;
	border-radius: 999px;
	background: rgba(255, 255, 255, .13);
	font-size: .85rem;
	font-weight: 600;
}

.sk-sidecard__links { display: grid; gap: 4px; margin: 0 0 20px; padding: 0; list-style: none; }

.sk-sidecard__links a {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 9px 0;
	font-size: .94rem;
	text-decoration: none;
}

.sk-sidecard__links a:hover { text-decoration: underline; }

.sk-sidelist { display: grid; gap: 2px; margin: 0; padding: 0; list-style: none; }

.sk-sidelist a {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	padding: 10px 14px;
	border-radius: var(--sk-radius-sm);
	color: var(--sk-text);
	font-size: .94rem;
	text-decoration: none;
	transition: background-color .2s ease, color .2s ease;
}

.sk-sidelist a:hover,
.sk-sidelist .is-current > a {
	background: rgba(var(--sk-primary-rgb), .08);
	color: var(--sk-primary);
	font-weight: 600;
}

.sk-sidelist .is-child a { padding-left: 26px; font-size: .9rem; }

.sk-sidelist__count {
	padding: 1px 8px;
	border-radius: 999px;
	background: var(--sk-surface);
	font-size: .76rem;
	font-weight: 700;
}

.sk-share {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 14px;
	margin-top: 34px;
	padding-top: 26px;
	border-top: 1px solid var(--sk-border);
}

.sk-share__label { color: var(--sk-muted); font-size: .88rem; font-weight: 600; }
.sk-share__list { display: flex; gap: 8px; margin: 0; padding: 0; list-style: none; }

.sk-share__link {
	display: grid;
	place-items: center;
	width: 38px;
	height: 38px;
	border: 1px solid var(--sk-border);
	border-radius: 50%;
	color: var(--sk-heading);
	transition: background-color .2s ease, color .2s ease, border-color .2s ease;
}

.sk-share__link:hover { background: var(--sk-primary); border-color: var(--sk-primary); color: var(--sk-on-primary); }

.sk-catintro { margin-bottom: clamp(30px, 4vw, 44px); }

.sk-catintro--logo {
	display: grid;
	gap: clamp(22px, 3vw, 40px);
	grid-template-columns: 240px minmax(0, 1fr);
	align-items: center;
}

.sk-catintro__logo {
	padding: 22px;
	border: 1px solid var(--sk-border);
	border-radius: var(--sk-radius);
	background: var(--sk-bg);
	text-align: center;
}

.sk-catintro__note { margin: 12px 0 0; color: var(--sk-muted); font-size: .82rem; }
.sk-cat-highlights { margin-top: clamp(28px, 4vw, 44px); }

/* ========================================================================== */
/* 13. Forms                                                                  */
/* ========================================================================== */

.sk-form-wrap {
	padding: clamp(26px, 3.5vw, 40px);
	border: 1px solid var(--sk-border);
	border-radius: var(--sk-radius-lg);
	background: var(--sk-bg);
	box-shadow: var(--sk-shadow-sm);
}

.sk-form__head { margin-bottom: 26px; }
.sk-form__title { margin: 0 0 .4em; font-size: var(--sk-fs-h3); }
.sk-form__intro { margin: 0; color: var(--sk-muted); }

.sk-form__grid {
	display: grid;
	gap: 18px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.sk-form__field { margin: 0; display: flex; flex-direction: column; gap: 7px; }
.sk-form__field--full { grid-column: 1 / -1; }

.sk-form__field label {
	color: var(--sk-heading);
	font-family: var(--sk-font-heading);
	font-size: .9rem;
	font-weight: 600;
}

.sk-req { color: #c0392b; }

.sk-form input[type="text"],
.sk-form input[type="email"],
.sk-form input[type="tel"],
.sk-form input[type="url"],
.sk-form input[type="file"],
.sk-form select,
.sk-form textarea,
.sk-newsletter__row input,
.sk-searchform__input {
	width: 100%;
	padding: 13px 16px;
	border: 1px solid var(--sk-border-strong);
	border-radius: var(--sk-radius-sm);
	background: var(--sk-bg);
	color: var(--sk-heading);
	font-family: inherit;
	font-size: .98rem;
	transition: border-color .2s ease, box-shadow .2s ease;
}

.sk-form textarea { resize: vertical; min-height: 130px; }

.sk-form input:focus,
.sk-form select:focus,
.sk-form textarea:focus,
.sk-newsletter__row input:focus {
	border-color: var(--sk-primary);
	outline: none;
	box-shadow: 0 0 0 4px rgba(var(--sk-primary-rgb), .12);
}

.sk-form .has-error input,
.sk-form .has-error select,
.sk-form .has-error textarea { border-color: #c0392b; }

.sk-form__error { display: none; color: #c0392b; font-size: .84rem; }
.sk-form .has-error .sk-form__error { display: block; }
.sk-form__hint { color: var(--sk-muted); font-size: .84rem; }

.sk-check { display: flex; align-items: flex-start; gap: 10px; font-weight: 500 !important; }
.sk-check input { margin-top: 4px; width: 17px; height: 17px; accent-color: var(--sk-primary); flex: none; }
.sk-check span { color: var(--sk-text); font-family: var(--sk-font-body); font-size: .92rem; font-weight: 400; }

.sk-form__submit { margin-top: 4px; }

.sk-form__note,
.sk-form__response:not(:empty) {
	grid-column: 1 / -1;
	padding: 15px 18px;
	border-radius: var(--sk-radius-sm);
	font-size: .95rem;
}

.sk-form__note--ok,
.sk-form__response.is-ok {
	background: rgba(var(--sk-secondary-rgb), .1);
	border: 1px solid rgba(var(--sk-secondary-rgb), .35);
	color: var(--sk-secondary-dark);
}

.sk-form__note--error,
.sk-form__response.is-error {
	background: rgba(192, 57, 43, .07);
	border: 1px solid rgba(192, 57, 43, .3);
	color: #a53125;
}

.sk-form__note { margin-bottom: 22px; }

.sk-hp {
	position: absolute !important;
	left: -9999px;
	width: 1px;
	height: 1px;
	overflow: hidden;
}

.sk-searchform__row { display: flex; gap: 8px; }

.sk-searchform__submit {
	display: grid;
	place-items: center;
	flex: none;
	width: 48px;
	border: 0;
	border-radius: var(--sk-radius-sm);
	background: var(--sk-primary);
	color: var(--sk-on-primary);
	cursor: pointer;
	transition: background-color .2s ease;
}

.sk-searchform__submit:hover { background: var(--sk-primary-dark); }

/* ========================================================================== */
/* 14. Contact page                                                           */
/* ========================================================================== */

.sk-contact-card {
	height: 100%;
	padding: 28px 26px;
	border: 1px solid var(--sk-border);
	border-radius: var(--sk-radius);
	background: var(--sk-bg);
	transition: transform .25s ease, box-shadow .25s ease;
}

.sk-contact-card:hover { transform: translateY(-3px); box-shadow: var(--sk-shadow); }

.sk-contact-card__icon {
	display: grid;
	place-items: center;
	width: 54px;
	height: 54px;
	margin-bottom: 16px;
	border-radius: var(--sk-radius-sm);
	background: linear-gradient(140deg, rgba(var(--sk-primary-rgb), .1), rgba(var(--sk-secondary-rgb), .13));
	color: var(--sk-primary);
}

.sk-contact-card__title { margin: 0 0 .5em; font-size: 1.08rem; }
.sk-contact-card__lines { margin: 0; padding: 0; list-style: none; display: grid; gap: 4px; }
.sk-contact-card__lines a { color: var(--sk-text); text-decoration: none; font-size: .95rem; }
.sk-contact-card__lines a:hover { color: var(--sk-primary); }
.sk-contact-card__lines span { font-size: .95rem; }

.sk-contact-layout {
	display: grid;
	gap: clamp(26px, 3.5vw, 44px);
	grid-template-columns: minmax(0, 1fr) 350px;
	align-items: start;
}

.sk-hours__list { margin: 0; padding: 0; list-style: none; display: grid; gap: 2px; }

.sk-hours__row {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 14px;
	padding: 9px 0;
	border-bottom: 1px dashed var(--sk-border);
	font-size: .93rem;
}

.sk-hours__row:last-child { border-bottom: 0; }
.sk-hours__day { color: var(--sk-text); }
.sk-hours__time { color: var(--sk-heading); font-weight: 600; text-align: right; }
.sk-hours__second { display: block; font-weight: 400; color: var(--sk-muted); font-size: .86rem; }
.sk-hours__row.is-closed .sk-hours__time { color: var(--sk-muted); font-weight: 500; }

.sk-hours__row.is-today {
	padding-inline: 10px;
	border-radius: var(--sk-radius-sm);
	background: rgba(var(--sk-secondary-rgb), .1);
	border-bottom-color: transparent;
}

.sk-hours__note { margin: 14px 0 0; color: var(--sk-muted); font-size: .86rem; }
.sk-hours--compact .sk-hours__row { border-bottom-color: rgba(255, 255, 255, .1); }
.sk-hours--compact .sk-hours__day { color: var(--sk-footer-text); }
.sk-hours--compact .sk-hours__time { color: var(--sk-footer-heading); }
.sk-hours--compact { margin-top: 24px; }

.sk-map { position: relative; line-height: 0; }
.sk-map__frame { display: block; width: 100%; border: 0; filter: grayscale(.15); }

.sk-map__action {
	position: absolute;
	left: 50%;
	bottom: 26px;
	transform: translateX(-50%);
	line-height: normal;
}

/* ========================================================================== */
/* 15. Call to action                                                         */
/* ========================================================================== */

.sk-cta {
	position: relative;
	overflow: hidden;
	padding-block: clamp(48px, 6vw, 84px);
	color: rgba(255, 255, 255, .88);
}

.sk-cta--gradient {
	background:
		radial-gradient(80% 130% at 90% 10%, rgba(var(--sk-secondary-rgb), .5), transparent 55%),
		linear-gradient(115deg, var(--sk-primary-darker), var(--sk-primary));
}

.sk-cta--solid { background: var(--sk-primary); }
.sk-cta--image { background: var(--sk-primary-darker); }

.sk-cta__bg { position: absolute; inset: 0; background-size: cover; background-position: center; }
.sk-cta__overlay { position: absolute; inset: 0; }

.sk-cta__inner {
	position: relative;
	z-index: 2;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 30px;
	text-align: center;
}

.sk-cta--split .sk-cta__inner {
	flex-direction: row;
	align-items: center;
	justify-content: space-between;
	text-align: left;
}

.sk-cta__text { max-width: 62ch; }
.sk-cta--split .sk-cta__text { max-width: 56ch; }

.sk-cta__icon {
	display: inline-grid;
	place-items: center;
	width: 62px;
	height: 62px;
	margin-bottom: 18px;
	border-radius: var(--sk-radius);
	background: rgba(255, 255, 255, .14);
	color: #fff;
}

.sk-cta__title { margin: 0 0 .45em; color: #fff; }
.sk-cta__title span { color: var(--sk-accent); }
.sk-cta__desc { margin: 0; font-size: 1.05rem; }
.sk-cta__actions { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; }

/* ========================================================================== */
/* 16. Footer & floating actions                                              */
/* ========================================================================== */

.sk-newsletter {
	position: relative;
	padding-block: clamp(32px, 4vw, 52px);
	background: var(--sk-accent);
	color: var(--sk-on-accent);
}

.sk-newsletter__inner {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 26px;
}

.sk-newsletter__text { flex: 1 1 360px; }
.sk-newsletter__title { margin: 0 0 .3em; color: inherit; font-size: var(--sk-fs-h3); }
.sk-newsletter__desc { margin: 0; opacity: .85; }
.sk-newsletter__form { flex: 1 1 380px; max-width: 520px; }
.sk-newsletter__row { display: flex; gap: 10px; }

.sk-newsletter__row input {
	flex: 1;
	border-color: transparent;
	background: rgba(255, 255, 255, .92);
}

.sk-newsletter__row .sk-btn { background: var(--sk-heading); color: #fff; flex: none; }
.sk-newsletter__row .sk-btn:hover { background: #000; }
.sk-newsletter__small { margin: 10px 0 0; font-size: .82rem; opacity: .8; }

.sk-newsletter__response:not(:empty) {
	margin-top: 12px;
	padding: 10px 14px;
	border-radius: var(--sk-radius-sm);
	background: rgba(255, 255, 255, .9);
	color: var(--sk-heading);
	font-size: .9rem;
}

.sk-footer {
	position: relative;
	background: var(--sk-footer-bg);
	color: var(--sk-footer-text);
	overflow: hidden;
}

.sk-footer__bg {
	position: absolute;
	inset: 0;
	background-size: cover;
	background-position: center;
	opacity: .07;
}

.sk-footer__inner {
	position: relative;
	z-index: 2;
	display: grid;
	gap: clamp(28px, 3.5vw, 52px);
	padding-block: clamp(44px, 5.5vw, 76px);
	/* About | links | links | contact - the outer two carry longer text. */
	grid-template-columns: 1.5fr 1fr 1fr 1.25fr;
}

.sk-footer__inner--cols-2 { grid-template-columns: 1.5fr 1fr; }
.sk-footer__inner--cols-3 { grid-template-columns: 1.5fr 1fr 1fr; }
.sk-footer__inner--cols-5 { grid-template-columns: 1.5fr repeat(4, 1fr); }

.sk-footer__title--about { margin-top: 4px; }

.sk-footer__logo { display: inline-block; margin-bottom: 20px; }

.sk-footer__brand {
	display: inline-block;
	margin-bottom: 18px;
	color: var(--sk-footer-heading);
	font-family: var(--sk-font-heading);
	font-size: 1.35rem;
	font-weight: 800;
	text-decoration: none;
}

.sk-footer__about { margin-bottom: 22px; font-size: .95rem; }

.sk-footer__title {
	display: flex;
	align-items: center;
	gap: .5em;
	margin: 0 0 20px;
	color: var(--sk-footer-heading);
	font-size: 1.02rem;
	font-weight: 700;
	letter-spacing: .01em;
}

.sk-footer__links { margin: 0; padding: 0; list-style: none; display: grid; gap: 11px; }

.sk-footer__links a {
	display: inline-flex;
	align-items: center;
	gap: .5em;
	color: var(--sk-footer-text);
	font-size: .95rem;
	text-decoration: none;
	transition: color .2s ease, transform .2s ease;
}

.sk-footer__links a::before {
	content: "";
	width: 5px;
	height: 5px;
	border-radius: 50%;
	background: var(--sk-accent);
	opacity: .55;
	transition: opacity .2s ease;
}

.sk-footer__links a:hover { color: var(--sk-footer-heading); transform: translateX(3px); }
.sk-footer__links a:hover::before { opacity: 1; }

.sk-contact-list--footer .sk-icon { color: var(--sk-accent); }
.sk-contact-list--footer a { color: var(--sk-footer-text); }
.sk-contact-list--footer a:hover { color: var(--sk-footer-heading); }

.sk-footer__col--widgets .widget { margin-bottom: 24px; }

.sk-footer__bottom {
	position: relative;
	z-index: 2;
	background: var(--sk-footer-bar);
}

.sk-footer__bottom-inner {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 12px 26px;
	padding-block: 20px;
	font-size: .88rem;
}

.sk-footer__legal p { margin: 0; }
.sk-footer__note { margin-top: 4px !important; opacity: .72; font-size: .82rem; }
.sk-footer__copy a { color: var(--sk-footer-heading); }

.sk-footer__bottom-menu {
	display: flex;
	flex-wrap: wrap;
	gap: 8px 22px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.sk-footer__bottom-menu a { color: var(--sk-footer-text); text-decoration: none; }
.sk-footer__bottom-menu a:hover { color: var(--sk-footer-heading); text-decoration: underline; }

.sk-float-wa {
	position: fixed;
	bottom: 26px;
	z-index: 80;
	display: inline-flex;
	align-items: center;
	gap: 10px;
	padding: 14px;
	border-radius: 999px;
	background: #25d366;
	color: #fff;
	text-decoration: none;
	box-shadow: 0 10px 26px rgba(37, 211, 102, .38);
	transition: transform .22s ease, box-shadow .22s ease;
}

.sk-float-wa:hover { color: #fff; transform: translateY(-3px); box-shadow: 0 14px 32px rgba(37, 211, 102, .48); }
.sk-float-wa--right { right: 26px; }
.sk-float-wa--left { left: 26px; }
.sk-float-wa__label { font-size: .92rem; font-weight: 600; padding-right: 6px; }

.sk-to-top {
	position: fixed;
	right: 26px;
	bottom: 96px;
	z-index: 80;
	display: grid;
	place-items: center;
	width: 44px;
	height: 44px;
	border: 0;
	border-radius: 50%;
	background: var(--sk-primary);
	color: var(--sk-on-primary);
	cursor: pointer;
	box-shadow: var(--sk-shadow);
	transition: transform .22s ease, opacity .22s ease;
}

.sk-to-top .sk-icon { transform: rotate(-90deg); }
.sk-to-top:hover { transform: translateY(-3px); }

.sk-stickybar {
	position: fixed;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 85;
	display: none;
	background: var(--sk-bg);
	border-top: 1px solid var(--sk-border);
	box-shadow: 0 -4px 18px rgba(11, 27, 43, .09);
	padding-bottom: env(safe-area-inset-bottom);
}

.sk-stickybar__item {
	flex: 1;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 3px;
	padding: 9px 6px;
	color: var(--sk-heading);
	font-size: .74rem;
	font-weight: 600;
	text-decoration: none;
}

.sk-stickybar__item .sk-icon { color: var(--sk-primary); }
.sk-stickybar__item:active { background: var(--sk-surface); }

/* ========================================================================== */
/* 17. Editorial content, blog & pagination                                   */
/* ========================================================================== */

.sk-prose { color: var(--sk-text); }
.sk-prose > :first-child { margin-top: 0; }
.sk-prose > :last-child { margin-bottom: 0; }
.sk-prose h2 { margin-top: 1.7em; font-size: var(--sk-fs-h3); }
.sk-prose h3 { margin-top: 1.5em; font-size: var(--sk-fs-h4); }
.sk-prose ul, .sk-prose ol { padding-left: 1.35em; }
.sk-prose li { margin-bottom: .5em; }
.sk-prose img { border-radius: var(--sk-radius); }
.sk-prose--centered { max-width: 780px; margin-inline: auto; }
.sk-page-intro { max-width: 800px; margin: 0 0 clamp(28px, 4vw, 44px); }

.sk-prose blockquote {
	margin: 1.6em 0;
	padding: 20px 26px;
	border-left: 4px solid var(--sk-accent);
	border-radius: var(--sk-radius-sm);
	background: var(--sk-surface);
	font-size: 1.06rem;
}

.sk-prose table {
	width: 100%;
	border-collapse: collapse;
	margin: 1.5em 0;
	font-size: .95rem;
}

.sk-prose th,
.sk-prose td {
	padding: 12px 14px;
	border: 1px solid var(--sk-border);
	text-align: left;
}

.sk-prose th { background: var(--sk-surface); color: var(--sk-heading); }

.sk-prose code {
	padding: 2px 6px;
	border-radius: 4px;
	background: var(--sk-surface);
	font-size: .9em;
}

.sk-prose pre {
	padding: 18px 20px;
	border-radius: var(--sk-radius-sm);
	background: var(--sk-heading);
	color: #e8eef5;
	overflow-x: auto;
}

.sk-postgrid {
	display: grid;
	gap: clamp(20px, 2.5vw, 30px);
	grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
}

.sk-post-card {
	display: flex;
	flex-direction: column;
	border: 1px solid var(--sk-border);
	border-radius: var(--sk-radius);
	background: var(--sk-bg);
	overflow: hidden;
	transition: transform .25s ease, box-shadow .25s ease;
}

.sk-post-card:hover { transform: translateY(-3px); box-shadow: var(--sk-shadow); }
.sk-post-card__media { display: block; aspect-ratio: 16 / 10; overflow: hidden; }
.sk-post-card__media img { width: 100%; height: 100%; object-fit: cover; }
.sk-post-card__body { display: flex; flex-direction: column; flex: 1; padding: 24px; }

.sk-post-card__meta {
	display: flex;
	flex-wrap: wrap;
	gap: 6px 14px;
	margin: 0 0 10px;
	color: var(--sk-muted);
	font-size: .84rem;
}

.sk-post-card__meta a { color: var(--sk-secondary); text-decoration: none; }
.sk-post-card__title { margin: 0 0 .5em; font-size: 1.16rem; }
.sk-post-card__title a { color: inherit; text-decoration: none; }
.sk-post-card__title a:hover { color: var(--sk-primary); }
.sk-post-card__text { margin: 0 0 16px; color: var(--sk-muted); font-size: .94rem; }

.sk-post-card__link {
	display: inline-flex;
	align-items: center;
	gap: .45em;
	margin-top: auto;
	color: var(--sk-primary);
	font-weight: 600;
	font-size: .92rem;
	text-decoration: none;
}

.sk-results { display: grid; gap: 16px; margin: 0; padding: 0; list-style: none; }

.sk-result {
	padding: 24px 26px;
	border: 1px solid var(--sk-border);
	border-radius: var(--sk-radius);
	background: var(--sk-bg);
	transition: border-color .2s ease, box-shadow .2s ease;
}

.sk-result:hover { border-color: rgba(var(--sk-primary-rgb), .4); box-shadow: var(--sk-shadow-sm); }

.sk-result__type {
	margin: 0 0 6px;
	color: var(--sk-secondary);
	font-size: .76rem;
	font-weight: 700;
	letter-spacing: .1em;
	text-transform: uppercase;
}

.sk-result__title { margin: 0 0 .4em; font-size: 1.16rem; }
.sk-result__title a { color: inherit; text-decoration: none; }
.sk-result__title a:hover { color: var(--sk-primary); }
.sk-result__text { margin: 0; color: var(--sk-muted); font-size: .95rem; }

.sk-taglist {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 30px 0 0;
	padding: 0;
	list-style: none;
}

.sk-taglist a {
	display: inline-block;
	padding: 5px 13px;
	border: 1px solid var(--sk-border);
	border-radius: 999px;
	color: var(--sk-muted);
	font-size: .84rem;
	text-decoration: none;
}

.sk-taglist a:hover { border-color: var(--sk-primary); color: var(--sk-primary); }

.pagination,
.navigation.pagination { margin-top: clamp(32px, 4vw, 48px); }

.nav-links {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 8px;
}

.page-numbers {
	display: inline-grid;
	place-items: center;
	min-width: 42px;
	height: 42px;
	padding-inline: 12px;
	border: 1px solid var(--sk-border);
	border-radius: var(--sk-radius-sm);
	color: var(--sk-heading);
	font-weight: 600;
	font-size: .93rem;
	text-decoration: none;
	transition: background-color .2s ease, border-color .2s ease, color .2s ease;
}

.page-numbers:hover,
.page-numbers.current {
	background: var(--sk-primary);
	border-color: var(--sk-primary);
	color: var(--sk-on-primary);
}

.page-numbers.dots { border-color: transparent; }

.sk-postnav { margin-top: 40px; }

.sk-postnav .nav-links {
	display: grid;
	gap: 14px;
	grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
	justify-content: stretch;
}

.sk-postnav a {
	display: block;
	padding: 20px 22px;
	border: 1px solid var(--sk-border);
	border-radius: var(--sk-radius);
	text-decoration: none;
	transition: border-color .2s ease, box-shadow .2s ease;
}

.sk-postnav a:hover { border-color: var(--sk-primary); box-shadow: var(--sk-shadow-sm); }
.sk-postnav__label { display: block; color: var(--sk-muted); font-size: .8rem; text-transform: uppercase; letter-spacing: .08em; }
.sk-postnav__title { display: block; margin-top: 5px; color: var(--sk-heading); font-family: var(--sk-font-heading); font-weight: 600; }
.sk-postnav .nav-next { text-align: right; }

.sk-404__inner { text-align: center; padding-block: clamp(20px, 4vw, 40px); }
.sk-404__icon { display: inline-grid; place-items: center; width: 92px; height: 92px; border-radius: 50%; background: rgba(var(--sk-primary-rgb), .08); color: var(--sk-primary); }
.sk-404__code { margin: 22px 0 0; font-family: var(--sk-font-heading); font-size: clamp(3.4rem, 2rem + 6vw, 6rem); font-weight: 800; line-height: 1; color: var(--sk-primary); letter-spacing: -.04em; }
.sk-404__title { margin: 8px 0 .4em; }
.sk-404__text { max-width: 52ch; margin-inline: auto; color: var(--sk-muted); }

.widget { margin-bottom: 30px; }
.widget:last-child { margin-bottom: 0; }
.widget__title { margin: 0 0 16px; font-size: 1.08rem; }
.widget ul { margin: 0; padding: 0; list-style: none; display: grid; gap: 9px; }
.widget ul a { color: var(--sk-text); text-decoration: none; font-size: .95rem; }
.widget ul a:hover { color: var(--sk-primary); }


/* ========================================================================== */
/* 18. Utilities, motion & print                                              */
/* ========================================================================== */

/* Only hide content for the reveal animation once we know scripting is on. */
.sk-js [data-sk-reveal] { opacity: 0; transform: translateY(24px); }

.sk-js [data-sk-reveal].is-revealed {
	opacity: 1;
	transform: none;
	transition: opacity .6s ease, transform .6s cubic-bezier(.22, .61, .36, 1);
}
body.sk-no-scroll { overflow: hidden; }

/* --- Responsive ----------------------------------------------------------- */

@media (max-width: 1180px) {
	.sk-header__phone { display: none; }
	.sk-footer__inner { grid-template-columns: 1.4fr 1fr 1fr; }
	.sk-footer__inner--cols-5 { grid-template-columns: repeat(3, 1fr); }
}

@media (max-width: 1024px) {
	.sk-nav { display: none; }
	.sk-burger { display: inline-flex; }
	.sk-header__cta { display: none; }

	/* The menu button sits hard against the right edge, whatever the logo does. */
	.sk-header__inner { justify-content: space-between; }
	.sk-header--right .sk-header__actions,
	.sk-header--center .sk-header__actions,
	.sk-header__actions { margin-left: auto; gap: 8px; }
	.sk-header__brand { min-width: 0; }
	.sk-logo__img { max-width: var(--sk-logo-width-mobile); }

	.sk-grid--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.sk-grid--3 { grid-template-columns: repeat(2, minmax(0, 1fr)); }

	.sk-layout-sidebar,
	.sk-faq__layout--split,
	.sk-contact-layout { grid-template-columns: minmax(0, 1fr); }

	.sk-layout-sidebar__aside,
	.sk-helpcard { position: static; }

	.sk-split { grid-template-columns: minmax(0, 1fr); }
	.sk-split--right .sk-split__media { order: 0; }
	.sk-about__img--second { width: 40%; right: 0; bottom: -22px; }
	.sk-catintro--logo { grid-template-columns: minmax(0, 1fr); }
	.sk-cta--split .sk-cta__inner { flex-direction: column; text-align: center; }
	.sk-cta--split .sk-cta__actions { justify-content: center; }
	.sk-tslider__track > .sk-card-item { flex-basis: var(--sk-t-width, 50%); }
	.sk-map__frame { height: 380px; }
}

@media (max-width: 860px) {
	.sk-topbar__inner { justify-content: center; }
	.sk-topbar__text { display: none; }
	.sk-topbar__meta { margin-inline: auto; }
	.sk-footer__inner,
	.sk-footer__inner--cols-2,
	.sk-footer__inner--cols-3,
	.sk-footer__inner--cols-5 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.sk-footer__col--about { grid-column: 1 / -1; }
	.sk-logostrip__inner { flex-direction: column; align-items: flex-start; gap: 20px; }
	.sk-logostrip__list { justify-content: flex-start; gap: 30px; }

	.sk-form__grid { grid-template-columns: minmax(0, 1fr); }
	.sk-amer__head { flex-direction: column; align-items: flex-start; }
}

@media (max-width: 640px) {
	.sk-grid--2,
	.sk-grid--3,
	.sk-grid--4,
	.sk-postgrid,
	.sk-gallery-grid,
	.sk-gallery-grid--2,
	.sk-gallery-grid--3,
	.sk-gallery-grid--4 { grid-template-columns: minmax(0, 1fr); }

	.sk-quickfacts { grid-template-columns: minmax(0, 1fr); }
	.sk-slider__arrow { display: none; }
	.sk-slide__content { padding-block: 30px; }
	.sk-slide--right .sk-slide__content { text-align: left; margin-left: 0; }
	.sk-slide--right .sk-slide__actions { justify-content: flex-start; }
	.sk-slide__actions .sk-btn { flex: 1 1 auto; justify-content: center; }

	.sk-logostrip__inner { align-items: center; text-align: center; }
	.sk-logostrip__list { justify-content: center; width: 100%; gap: 26px; }
	.sk-logostrip__item img { max-width: 132px; max-height: 38px; }

	.sk-newsbar__label { padding-inline: 14px; font-size: .72rem; }
	.sk-newsbar__label span { display: none; }

	/* "Swipeable row of tabs" is an explicit choice in Services Page settings. */
	.sk-tabs-wrap--scroll .sk-tablist {
		flex-wrap: nowrap;
		padding-bottom: 6px;
		overflow-x: auto;
		scrollbar-width: thin;
		scroll-snap-type: x proximity;
		-webkit-overflow-scrolling: touch;
	}

	.sk-tabs-wrap--scroll .sk-tab { flex: none; scroll-snap-align: start; }
	.sk-tabs-wrap--scroll .sk-tablist::-webkit-scrollbar { height: 4px; }
	.sk-tabs-wrap--scroll .sk-tablist::-webkit-scrollbar-thumb { background: var(--sk-border-strong); border-radius: 3px; }

	.sk-tabs-wrap--dropdown .sk-tabs-select { display: block; }
	.sk-tabs-wrap--dropdown .sk-tabs-scroll { display: none; }
	.sk-tabs-wrap--stack .sk-tabs-scroll { display: none; }
	.sk-tabs-wrap--stack .sk-tabpanel { display: block !important; margin-bottom: 40px; }
	.sk-tabs-wrap--stack .sk-tabpanel__title { display: block; }

	.sk-tslider__track > .sk-card-item { flex-basis: 100%; }
	.sk-footer__inner { grid-template-columns: minmax(0, 1fr); }
	.sk-footer__bottom-inner { flex-direction: column; text-align: center; }
	.sk-footer__bottom-menu { justify-content: center; }

	.sk-float-wa__label { display: none; }
	.sk-float-wa { bottom: 84px; }
	.sk-to-top { bottom: 148px; right: 20px; }
	.sk-stickybar { display: flex; }
	body { padding-bottom: 62px; }

	.sk-legal__help { flex-direction: column; align-items: flex-start; text-align: left; }
	.sk-legal__help .sk-btn { width: 100%; justify-content: center; }

	.sk-form-wrap { padding: 24px 20px; }
	.sk-sidecard { padding: 22px 20px; }
	.sk-block__title { font-size: 1.2rem; }
	.sk-map__frame { height: 320px; }
	.sk-map__action { bottom: 16px; }
	.sk-about__badge { left: 0; padding: 14px 16px; }
	.sk-about__badge-num { font-size: 1.5rem; }
}

@media (max-width: 380px) {
	.sk-container { padding-inline: 16px; }
	.sk-slide__title { font-size: 1.75rem; }
	.sk-stickybar__item span { font-size: .68rem; }
}

@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }

	*,
	*::before,
	*::after {
		animation-duration: .01ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: .01ms !important;
		scroll-behavior: auto !important;
	}

	.sk-js [data-sk-reveal] { opacity: 1; transform: none; }
	.sk-newsbar__track { animation: none; }
	.sk-slider--slide .sk-slide { transform: none; }
	.sk-slider--slide .sk-slide:not(.is-active) { visibility: hidden; }
	.sk-slider--kenburns .sk-slide.is-active .sk-slide__media img { animation: none; }
}

@media print {
	.sk-header,
	.sk-footer,
	.sk-newsbar,
	.sk-slider,
	.sk-float-wa,
	.sk-to-top,
	.sk-stickybar,
	.sk-share,
	.sk-cta,
	.sk-mobile,
	.sk-mobile-overlay { display: none !important; }

	body { color: #000; background: #fff; }
	.sk-section { padding-block: 12px; }
	.sk-accordion__panel[hidden] { display: block !important; }
}
